{"version":3,"sources":["webpack:///./node_modules/_web-pdf-viewer@2.0.1@web-pdf-viewer/build/viewer.js","webpack:///./src/views/PdfDetailPage.vue?ab7a","webpack:///./src/views/PdfDetailPage.vue","webpack:///./src/components/pdf-detail/Pdf.vue","webpack:///src/components/pdf-detail/Pdf.vue","webpack:///./src/components/pdf-detail/Pdf.vue?24d0","webpack:///./src/components/pdf-detail/Pdf.vue?3ef4","webpack:///./src/components/pdf-detail/DetailSearchItem.vue","webpack:///src/components/pdf-detail/DetailSearchItem.vue","webpack:///./src/components/pdf-detail/DetailSearchItem.vue?0086","webpack:///./src/components/pdf-detail/DetailSearchItem.vue?60c1","webpack:///./src/components/common/MembersExpireDialog.vue","webpack:///src/components/common/MembersExpireDialog.vue","webpack:///./src/components/common/MembersExpireDialog.vue?e07e","webpack:///./src/components/common/MembersExpireDialog.vue?ce8f","webpack:///./src/components/common/PdfFooter.vue","webpack:///src/components/common/PdfFooter.vue","webpack:///./src/components/common/PdfFooter.vue?84ee","webpack:///./src/components/common/PdfFooter.vue?1bc9","webpack:///src/views/PdfDetailPage.vue","webpack:///./src/views/PdfDetailPage.vue?71bf","webpack:///./src/views/PdfDetailPage.vue?09a4","webpack:///./src/components/common/MembersExpireDialog.vue?ad10","webpack:///./node_modules/_web-pdf-viewer@2.0.1@web-pdf-viewer/index.js","webpack:///./src/components/common/PdfFooter.vue?84a9","webpack:///./node_modules/_pdfjs-dist@2.2.228@pdfjs-dist/build/pdf.worker.js","webpack:///./src/components/pdf-detail/Pdf.vue?bd7c","webpack:///./src/components/pdf-detail/DetailSearchItem.vue?b258"],"names":["root","factory","module","exports","window","modules","webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","parentJsonpFunction","shift","installedModules","jsonpScriptSrc","__webpack_require__","p","l","e","promises","installedChunkData","promise","Promise","resolve","reject","onScriptComplete","script","document","createElement","charset","timeout","nc","setAttribute","src","error","Error","event","onerror","onload","clearTimeout","chunk","errorType","type","realSrc","target","message","name","request","undefined","setTimeout","head","appendChild","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","err","console","jsonpArray","oldJsonpFunction","slice","s","byteLength","toByteArray","fromByteArray","lookup","revLookup","Arr","Uint8Array","Array","code","len","charCodeAt","getLens","b64","validLen","indexOf","placeHoldersLen","lens","_byteLength","tmp","arr","curByte","tripletToBase64","num","encodeChunk","uint8","start","end","output","join","extraBytes","parts","maxChunkLength","len2","global","base64","ieee754","isArray","typedArraySupport","__proto__","foo","subarray","kMaxLength","Buffer","TYPED_ARRAY_SUPPORT","createBuffer","that","RangeError","arg","encodingOrOffset","this","allocUnsafe","from","TypeError","ArrayBuffer","fromArrayBuffer","fromString","fromObject","assertSize","size","alloc","fill","encoding","checked","string","isEncoding","actual","write","fromArrayLike","array","byteOffset","obj","isBuffer","copy","buffer","isnan","toString","SlowBuffer","isView","loweredCase","utf8ToBytes","base64ToBytes","toLowerCase","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","b","bidirectionalIndexOf","val","dir","isNaN","arrayIndexOf","lastIndexOf","indexSize","arrLength","valLength","String","read","buf","readUInt16BE","foundIndex","found","j","hexWrite","offset","Number","remaining","strLen","parsed","parseInt","substr","utf8Write","blitBuffer","asciiWrite","asciiToBytes","latin1Write","base64Write","ucs2Write","utf16leToBytes","Math","min","res","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","codePoint","bytesPerSequence","decodeCodePointsArray","INSPECT_MAX_BYTES","poolSize","_augment","species","configurable","allocUnsafeSlow","_isBuffer","compare","a","x","y","concat","list","pos","swap16","swap32","swap64","arguments","apply","equals","inspect","str","max","match","thisStart","thisEnd","thisCopy","targetCopy","includes","isFinite","toJSON","_arr","MAX_ARGUMENTS_LENGTH","codePoints","fromCharCode","ret","out","toHex","bytes","checkOffset","ext","checkInt","objectWriteUInt16","littleEndian","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","writeDouble","newBuf","sliceLen","readUIntLE","mul","readUIntBE","readUInt8","readUInt16LE","readUInt32LE","readUInt32BE","readIntLE","pow","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","maxBytes","writeUIntBE","writeUInt8","floor","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","limit","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","set","INVALID_BASE64_RE","base64clean","stringtrim","replace","trim","units","Infinity","leadSurrogate","byteArray","hi","lo","dst","cssWithMappingToString","item","useSourceMap","content","cssMapping","btoa","sourceMapping","toComment","sourceURLs","sources","map","source","sourceRoot","sourceMap","unescape","encodeURIComponent","JSON","stringify","mediaQuery","alreadyImportedModules","id","_i","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","NaN","rt","abs","log","LN2","__WEBPACK_AMD_DEFINE_RESULT__","nodeType","freeGlobal","self","punycode","maxInt","base","tMin","tMax","skew","damp","initialBias","initialN","delimiter","regexPunycode","regexNonASCII","regexSeparators","errors","baseMinusTMin","stringFromCharCode","fn","result","mapDomain","split","labels","encoded","ucs2decode","extra","counter","ucs2encode","basicToDigit","digitToBasic","digit","flag","adapt","delta","numPoints","firstTime","k","decode","input","basic","index","oldi","w","baseMinusT","inputLength","bias","splice","encode","handledCPCount","basicLength","q","currentValue","handledCPCountPlusOne","qMinusT","toUnicode","test","toASCII","process","__w_pdfjs_require__","pdfjsSharedUtil","pdfjsDisplayAPI","pdfjsDisplayTextLayer","pdfjsDisplayAnnotationLayer","pdfjsDisplayDisplayUtils","pdfjsDisplaySVG","pdfjsDisplayWorkerOptions","pdfjsDisplayAPICompatibility","isNodeJS","PDFNodeStream","setPDFNetworkStreamFactory","params","PDFFetchStream","PDFNetworkStream","isFetchSupported","isValidFetchUrl","url","build","version","getDocument","LoopbackPort","PDFDataRangeTransport","PDFWorker","renderTextLayer","AnnotationLayer","createPromiseCapability","PasswordResponses","InvalidPDFException","MissingPDFException","SVGGraphics","NativeImageDecoding","CMapCompressionType","PermissionFlag","UnexpectedResponseException","OPS","VerbosityLevel","UNSUPPORTED_FEATURES","createValidAbsoluteUrl","createObjectURL","removeNullCharacters","shadow","Util","ReadableStream","URL","RenderingCancelledException","getFilenameFromUrl","LinkTarget","addLinkAttributes","loadScript","PDFDateString","GlobalWorkerOptions","apiCompatibilityParams","arrayByteLength","arraysToBytes","assert","bytesToString","getVerbosityLevel","info","isArrayBuffer","isArrayEqual","isBool","isEmptyObj","isNum","isString","isSpace","isSameOrigin","isLittleEndian","isEvalSupported","log2","readUint16","readUint32","setVerbosityLevel","string32","stringToBytes","stringToPDFString","stringToUTF8String","utf8StringToString","warn","unreachable","_streams_polyfill","_url_polyfill","FormatError","UnknownErrorException","TextRenderingMode","StreamType","PasswordException","AbortException","ImageKind","FontType","AnnotationType","AnnotationFlag","AnnotationFieldFlag","AnnotationBorderStyleType","IDENTITY_MATRIX","FONT_IDENTITY_MATRIX","_typeof","iterator","constructor","NONE","DECODE","DISPLAY","PRINT","MODIFY_CONTENTS","COPY","MODIFY_ANNOTATIONS","FILL_INTERACTIVE_FORMS","COPY_FOR_ACCESSIBILITY","ASSEMBLE","PRINT_HIGH_QUALITY","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","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","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","unknown","forms","javaScript","smask","shadingPattern","font","NEED_PASSWORD","INCORRECT_PASSWORD","verbosity","level","isInteger","msg","cond","baseUrl","otherUrl","origin","other","_isValidProtocol","protocol","absoluteUrl","ex","prop","writable","details","status","NullCharactersRegExp","MAX_ARGUMENT_COUNT","strBuf","chunkEnd","itemLength","resultLength","ii","ceil","buffer8","view32","Uint32Array","Function","rgbBuf","makeCssRgb","g","m1","m2","applyTransform","xt","yt","applyInverseTransform","getAxialAlignedBoundingBox","p1","p2","p3","p4","inverseTransform","apply3dTransform","v","singularValueDecompose2dScale","transpose","first","second","sqrt","sx","sy","normalizeRect","rect","intersect","rect1","rect2","orderedX","sort","orderedY","PDFStringTranslateTable","charAt","decodeURIComponent","escape","arr1","arr2","every","element","ch","capability","isSettled","reason","digits","contentType","forceDataSchema","blob","Blob","b1","b2","b3","d1","d2","d3","d4","globalScope","_pdfjsCompatibilityChecked","hasDOM","chars","atob","Element","remove","parentNode","removeChild","div","classList","add","contains","OriginalDOMTokenListAdd","DOMTokenList","OriginalDOMTokenListRemove","_len","tokens","_key","_tokens","token","_len2","_key2","_i2","_tokens2","toggle","force","startsWith","endsWith","assign","WeakMap","WeakSet","codePointAt","fromCodePoint","padStart","padEnd","values","versions","$export","toLength","context","STARTS_WITH","$startsWith","P","F","searchString","search","core","hide","redefine","ctx","PROTOTYPE","own","exp","IS_FORCED","IS_GLOBAL","G","IS_STATIC","S","IS_PROTO","IS_BIND","B","expProto","U","W","R","__g","__e","dP","createDesc","f","anObject","IE8_DOM_DEFINE","toPrimitive","O","Attributes","isObject","it","exec","is","valueOf","bitmap","has","SRC","$toString","TO_STRING","TPL","inspectSource","safe","isFunction","px","random","SHARED","store","copyright","aFunction","toInteger","isRegExp","defined","NAME","cof","MATCH","uid","_Symbol","USE_SYMBOL","$exports","KEY","re","ENDS_WITH","$endsWith","endPosition","INCLUDES","$includes","el","toIObject","toAbsoluteIndex","IS_INCLUDES","$this","fromIndex","IObject","propertyIsEnumerable","UNSCOPABLES","ArrayProto","$at","iterated","_t","point","done","LIBRARY","Iterators","$iterCreate","setToStringTag","getPrototypeOf","ITERATOR","BUGGY","keys","FF_ITERATOR","KEYS","VALUES","returnThis","Base","Constructor","next","DEFAULT","IS_SET","FORCED","methods","IteratorPrototype","getMethod","kind","proto","TAG","DEF_VALUES","VALUES_BUG","$native","$default","$entries","$anyNative","entries","descriptor","dPs","enumBugKeys","IE_PROTO","Empty","_createDict","iframeDocument","iframe","lt","gt","style","display","contentWindow","open","close","Properties","getKeys","defineProperties","$keys","names","shared","documentElement","def","tag","stat","toObject","ObjectProto","isArrayIter","createProperty","getIterFn","iter","arrayLike","step","C","aLen","mapfn","mapping","iterFn","$defineProperty","classof","getIteratorMethod","ARG","tryGet","T","callee","SAFE_CLOSING","riter","skipClosing","DESCRIPTORS","gOPS","pIE","$assign","A","K","forEach","getSymbols","isEnum","getOwnPropertySymbols","number","$iterators","wks","TO_STRING_TAG","ArrayValues","DOMIterables","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","collections","explicit","Collection","addToUnscopables","_k","Arguments","Internal","newGenericPromiseCapability","OwnPromiseCapability","Wrapper","anInstance","forOf","speciesConstructor","task","microtask","newPromiseCapabilityModule","perform","userAgent","promiseResolve","PROMISE","v8","$Promise","isNode","empty","newPromiseCapability","USE_NATIVE","FakePromise","PromiseRejectionEvent","then","isThenable","notify","isReject","_n","chain","_c","_v","ok","_s","run","reaction","exited","handler","fail","domain","_h","onHandleUnhandled","enter","exit","onUnhandled","unhandled","isUnhandled","emit","onunhandledrejection","_a","onrejectionhandled","$reject","_d","_w","$resolve","wrapper","executor","onFulfilled","onRejected","$$reject","iterable","$index","alreadyCalled","race","forbiddenField","BREAK","RETURN","_exports","SPECIES","D","defer","channel","port","invoke","html","cel","setTask","setImmediate","clearTask","clearImmediate","MessageChannel","Dispatch","queue","ONREADYSTATECHANGE","listener","args","nextTick","now","port2","port1","onmessage","postMessage","addEventListener","importScripts","clear","un","macrotask","Observer","MutationObserver","WebKitMutationObserver","last","flush","parent","navigator","standalone","node","createTextNode","observe","characterData","PromiseCapability","$$resolve","promiseCapability","onFinally","callbackfn","InternalMap","each","meta","weak","validate","NATIVE_WEAK_MAP","IS_IE11","ActiveXObject","WEAK_MAP","getWeak","isExtensible","uncaughtFrozenStore","ufstore","$WeakMap","getConstructor","NEED","method","_f","asc","TYPE","$create","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","original","META","setDesc","FREEZE","preventExtensions","setMeta","fastKey","onFreeze","redefineAll","createArrayMethod","$has","arrayFind","arrayFindIndex","_l","UncaughtFrozenStore","findUncaughtFrozen","entry","ADDER","fails","$iterDetect","inheritIfRequired","common","IS_WEAK","fixMethod","instance","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","$instance","setStrong","setPrototypeOf","check","buggy","gOPD","getOwnPropertyDescriptor","COLLECTION","of","cb","mapFn","nextItem","WEAK_SET","$fromCodePoint","$fails","wksExt","wksDefine","enumKeys","_create","gOPNExt","$GOPD","$GOPS","$DP","gOPN","$Symbol","$JSON","_stringify","TO_PRIMITIVE","SymbolRegistry","AllSymbols","OPSymbols","QObject","setter","findChild","setSymbolDesc","protoDesc","wrap","sym","isSymbol","$defineProperties","$propertyIsEnumerable","E","$getOwnPropertyDescriptor","$getOwnPropertyNames","$getOwnPropertySymbols","IS_OP","$set","es6Symbols","wellKnownSymbols","keyFor","useSetter","useSimple","getOwnPropertyNames","FAILS_ON_PRIMITIVES","replacer","$replacer","symbols","windowNames","getWindowNames","hiddenKeys","$pad","WEBKIT_BUG","maxLength","repeat","fillString","left","stringLength","fillStr","intMaxLength","fillLen","stringFiller","count","$values","isEntries","isReadableStreamSupported","controller","_typeof2","_require","IsPropertyKey","argument","Call","V","typeIsObject","createDataProperty","createArrayFromList","elements","ArrayBufferCopy","dest","destOffset","srcOffset","CreateIterResultObject","IsFiniteNonNegativeNumber","InvokeOrNoop","PromiseInvokeOrNoop","returnValueE","PromiseInvokeOrPerformFallback","argsF","methodE","TransferArrayBuffer","ValidateAndNormalizeHighWaterMark","highWaterMark","ValidateAndNormalizeQueuingStrategy","rethrowAssertionErrorRejection","AssertionError","stack","_createClass","props","protoProps","staticProps","_classCallCheck","_require2","_require3","DequeueValue","EnqueueValueWithSize","PeekQueueValue","ResetQueue","WritableStream","underlyingSink","_ref","_ref$highWaterMark","_state","_storedError","_writer","_writableStreamController","_writeRequests","_inFlightWriteRequest","_closeRequest","_inFlightCloseRequest","_pendingAbortRequest","_backpressure","WritableStreamDefaultController","__startSteps","IsWritableStream","streamBrandCheckException","IsWritableStreamLocked","WritableStreamAbort","AcquireWritableStreamDefaultWriter","stream","WritableStreamDefaultWriter","state","wasAlreadyErroring","_resolve","_reject","_reason","_wasAlreadyErroring","WritableStreamStartErroring","WritableStreamAddWriteRequest","writeRequest","WritableStreamDealWithRejection","WritableStreamFinishErroring","writer","WritableStreamDefaultWriterEnsureReadyPromiseRejected","WritableStreamHasOperationMarkedInFlight","_started","__errorSteps","storedError","abortRequest","WritableStreamRejectCloseAndClosedPromiseIfNeeded","__abortSteps","WritableStreamFinishInFlightWrite","WritableStreamFinishInFlightWriteWithError","WritableStreamFinishInFlightClose","defaultWriterClosedPromiseResolve","WritableStreamFinishInFlightCloseWithError","WritableStreamCloseQueuedOrInFlight","WritableStreamMarkCloseRequestInFlight","WritableStreamMarkFirstWriteRequestInFlight","defaultWriterClosedPromiseReject","_closedPromise","WritableStreamUpdateBackpressure","backpressure","defaultWriterReadyPromiseReset","defaultWriterReadyPromiseResolve","WritableStreamDefaultControllerError","WritableStreamDefaultWriterCloseWithErrorPropagation","WritableStreamDefaultWriterRelease","WritableStreamDefaultWriterWrite","_ownerWritableStream","defaultWriterReadyPromiseInitialize","defaultWriterReadyPromiseInitializeAsResolved","defaultWriterClosedPromiseInitialize","defaultWriterReadyPromiseInitializeAsRejected","_readyPromise","defaultWriterClosedPromiseInitializeAsResolved","defaultWriterClosedPromiseInitializeAsRejected","IsWritableStreamDefaultWriter","defaultWriterBrandCheckException","defaultWriterLockException","WritableStreamDefaultWriterAbort","WritableStreamDefaultWriterClose","WritableStreamDefaultWriterGetDesiredSize","closeRequest","WritableStreamDefaultControllerClose","WritableStreamDefaultWriterEnsureClosedPromiseRejected","_closedPromiseState","defaultWriterClosedPromiseResetToRejected","_readyPromiseState","defaultWriterReadyPromiseReject","defaultWriterReadyPromiseResetToRejected","WritableStreamDefaultControllerGetDesiredSize","releasedError","chunkSize","WritableStreamDefaultControllerGetChunkSize","WritableStreamDefaultControllerWrite","_controlledWritableStream","_underlyingSink","_queue","_queueTotalSize","normalizedStrategy","_strategySize","_strategyHWM","WritableStreamDefaultControllerGetBackpressure","IsWritableStreamDefaultController","_this","startResult","WritableStreamDefaultControllerAdvanceQueueIfNeeded","strategySize","chunkSizeE","WritableStreamDefaultControllerErrorIfNeeded","writeRecord","enqueueE","WritableStreamDefaultControllerProcessClose","WritableStreamDefaultControllerProcessWrite","sinkClosePromise","sinkWritePromise","desiredSize","_closedPromise_resolve","_closedPromise_reject","_readyPromise_resolve","_readyPromise_reject","container","pair","_require4","_require5","underlyingSource","_reader","_disturbed","_readableStreamController","typeString","ReadableByteStreamController","ReadableStreamDefaultController","IsReadableStream","IsReadableStreamLocked","ReadableStreamCancel","_ref2","AcquireReadableStreamDefaultReader","AcquireReadableStreamBYOBReader","_ref3","options","readable","pipeTo","ifIsObjectAndHasAPromiseIsHandledInternalSlotSetPromiseIsHandledToTrue","_ref4","preventClose","preventAbort","preventCancel","Boolean","reader","shuttingDown","currentWrite","pipeLoop","ReadableStreamDefaultReaderRead","_ref5","isOrBecomesErrored","shutdownWithAction","shutdown","isOrBecomesClosed","destClosed","waitForWritesToFinish","oldCurrentWrite","action","originalIsError","originalError","doTheRest","finalize","newError","isError","ReadableStreamReaderGenericRelease","branches","ReadableStreamTee","ReadableStreamBYOBReader","ReadableStreamDefaultReader","IsReadableStreamDisturbed","cloneForBranch2","teeState","closedOrErrored","canceled1","canceled2","reason1","reason2","pull","create_ReadableStreamTeePullFunction","_teeState","_cloneForBranch2","cancel1","create_ReadableStreamTeeBranch1CancelFunction","_stream","cancel2","create_ReadableStreamTeeBranch2CancelFunction","underlyingSource1","branch1Stream","underlyingSource2","branch2Stream","_branch1","_branch2","ReadableStreamDefaultControllerError","branch1","branch2","ReadableStreamDefaultControllerClose","value1","value2","ReadableStreamDefaultControllerEnqueue","compositeReason","cancelResult","ReadableStreamAddReadIntoRequest","IsReadableStreamBYOBReader","readIntoRequest","_readIntoRequests","ReadableStreamAddReadRequest","IsReadableStreamDefaultReader","readRequest","_readRequests","ReadableStreamClose","sourceCancelPromise","__cancelSteps","defaultReaderClosedPromiseResolve","ReadableStreamError","defaultReaderClosedPromiseReject","ReadableStreamFulfillReadIntoRequest","ReadableStreamFulfillReadRequest","ReadableStreamGetNumReadIntoRequests","ReadableStreamGetNumReadRequests","ReadableStreamHasBYOBReader","ReadableStreamHasDefaultReader","ReadableStreamDefaultControllerGetDesiredSize","ReadableStreamReaderGenericInitialize","defaultReaderBrandCheckException","_ownerReadableStream","readerLockException","ReadableStreamReaderGenericCancel","IsReadableByteStreamController","byobReaderBrandCheckException","view","ReadableStreamBYOBReaderRead","defaultReaderClosedPromiseInitialize","defaultReaderClosedPromiseInitializeAsResolved","defaultReaderClosedPromiseInitializeAsRejected","defaultReaderClosedPromiseResetToRejected","ReadableByteStreamControllerPullInto","__pullSteps","_controlledReadableStream","_underlyingSource","_closeRequested","_pullAgain","_pulling","ReadableStreamDefaultControllerCallPullIfNeeded","ReadableStreamDefaultControllerErrorIfNeeded","IsReadableStreamDefaultController","defaultControllerBrandCheckException","pendingPromise","shouldPull","ReadableStreamDefaultControllerShouldCallPull","pullPromise","ReadableStreamBYOBRequest","_associatedReadableByteStreamController","_view","bytesWritten","IsReadableStreamBYOBRequest","byobRequestBrandCheckException","ReadableByteStreamControllerRespond","ReadableByteStreamControllerRespondWithNewView","underlyingByteSource","_underlyingByteSource","ReadableByteStreamControllerClearPendingPullIntos","autoAllocateChunkSize","_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","ready","headOfQueue","bytesToCopy","destStart","ReadableByteStreamControllerFillHeadPullIntoDescriptor","ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue","ReadableByteStreamControllerShiftPendingPullInto","DataView","BYTES_PER_ELEMENT","emptyView","ReadableByteStreamControllerRespondInClosedState","ReadableByteStreamControllerRespondInReadableState","remainderSize","remainder","ReadableByteStreamControllerRespondInternal","firstPendingPullInto","transferredBuffer","transferredView","transformStream","readableStream","writableStream","TransformStream","TransformStreamCloseReadable","_errored","_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","sink","_writable","isURLSupported","u","pathname","href","PolyfillURL","OriginalURL","revokeObjectURL","relative","relativePathDotMapping","isRelativeScheme","scheme","invalid","_isInvalid","IDNAToASCII","h","percentEscape","unicode","percentEscapeQuery","EOF","ALPHA","ALPHANUMERIC","parse","stateOverride","cursor","seenAt","seenBracket","loop","_scheme","_isRelative","_query","_fragment","_schemeData","_host","_port","_path","_username","_password","nextC","nextNextC","pop","cp","tempC","temp","JURL","_url","authority","host","_","PDFPageProxy","PDFDocumentProxy","_regenerator","_interopRequireDefault","_util","_display_utils","_font_loader","_api_compatibility","_canvas","_global_scope","_worker_options","_message_handler","_metadata","_transport_stream","_webgl","default","asyncGeneratorStep","gen","_next","_throw","_asyncToGenerator","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","_e","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","_defineProperties","fallbackWorkerSrc","DEFAULT_RANGE_CHUNK_SIZE","isWorkerDisabled","fakeWorkerFilesLoader","useRequireEnsure","requirejs","toUrl","createPDFNetworkStream","dynamicLoaderSupported","load","worker","WorkerMessageHandler","catch","pdfjsFilePath","currentScript","pdfNetworkStreamFactory","PDFDocumentLoadingTask","range","rangeTransport","pdfBytes","location","rangeChunkSize","CMapReaderFactory","DOMCMapReaderFactory","ignoreErrors","stopAtErrors","pdfBug","NativeImageDecoderValues","nativeImageDecoderSupport","maxImageSize","disableFontFace","disableRange","disableStream","disableAutoFetch","disableCreateObjectURL","workerParams","postMessageTransfers","workerPort","fromPort","_worker","docId","destroyed","_fetchDocument","workerId","networkStream","PDFDataTransportStream","initialData","progressiveDone","httpHeaders","withCredentials","messageHandler","MessageHandler","transport","WorkerTransport","_transport","send","_capability","pdfDataRangeTransport","sendWithPromise","apiVersion","password","docBaseUrl","nextDocumentId","onPassword","onProgress","onUnsupportedFeature","transportDestroyed","destroy","deprecated","_rangeListeners","_progressListeners","_progressiveReadListeners","_progressiveDoneListeners","_readyCapability","begin","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","loaded","total","_this2","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_step2","_iterator2","_this3","_iteratorNormalCompletion3","_didIteratorError3","_iteratorError3","_step3","_iterator3","_this4","_iteratorNormalCompletion4","_didIteratorError4","_iteratorError4","_step4","_iterator4","pdfInfo","_pdfInfo","pageNumber","getPage","ref","getPageIndex","getDestinations","getDestination","getPageLabels","getPageLayout","getPageMode","getViewerPreferences","getOpenActionDestination","getAttachments","getJavaScript","getOutline","getPermissions","getMetadata","getData","downloadInfoCapability","getStats","startCleanup","loadingTask","numPages","fingerprint","loadingParams","pageIndex","pageInfo","_pageInfo","_stats","StatTimer","DummyStatTimer","_pdfBug","commonObjs","objs","PDFObjects","cleanupAfterRender","pendingCleanup","intentStates","scale","_ref$rotation","rotation","rotate","_ref$dontFlip","dontFlip","PageViewport","viewBox","_ref2$intent","intent","annotationsPromise","annotationsIntent","getAnnotations","_this5","canvasContext","viewport","_ref3$intent","_ref3$enableWebGL","enableWebGL","_ref3$renderInteracti","renderInteractiveForms","_ref3$transform","_ref3$imageLayer","imageLayer","_ref3$canvasFactory","canvasFactory","_ref3$background","background","stats","time","renderingIntent","canvasFactoryInstance","DOMCanvasFactory","webGLContext","WebGLContext","enable","intentState","displayReadyCapability","receivingOperatorList","operatorList","fnArray","argsArray","lastChunk","complete","renderTasks","internalRenderTask","_tryCleanup","timeEnd","InternalRenderTask","callback","useRequestAnimationFrame","renderTask","transparency","initializeGraphics","operatorListChanged","opListReadCapability","opListTask","_ref4$normalizeWhites","normalizeWhitespace","_ref4$disableCombineT","disableCombineTextItems","TEXT_CONTENT_CHUNK_SIZE","sendWithStream","combineTextItems","textContent","items","streamTextContent","pump","_textContent$items","styles","getReader","pageCache","waitOn","renderCompleted","cancel","resetStats","some","operatorListChunk","userUnit","_listeners","_defer","_deferred","transfers","_this6","cloneValue","cloned","transferable","desc","fakeWorkerFilesLoadedCapability","pdfWorkerPorts","nextFakeWorkerId","_getWorkerSrc","workerSrc","getMainThreadWorkerMessageHandler","pdfjsWorker","setupFakeWorkerGlobal","mainWorkerMessageHandler","loader","createCDNWrapper","_ref6","_ref6$name","_ref6$port","_ref6$postMessageTran","_ref6$verbosity","_webWorker","_messageHandler","_initializeFromPort","_initialize","on","_this7","Worker","terminateEarly","removeEventListener","onWorkerError","terminate","_setupFakeWorker","supportTypedArray","supportTransfers","sendTest","testObj","_this8","workerHandler","setup","fontLoader","FontLoader","_onUnsupportedFeature","_params","cMapUrl","isCompressed","cMapPacked","destroyCapability","_passwordCapability","_networkStream","_fullReader","_lastProgress","pagePromises","setupMessageHandler","_this9","page","_destroy","terminated","cancelAllRequests","_this10","getFullReader","evt","onPull","_ref7","enqueue","onCancel","_this11","headersCapability","fullReader","headersReady","isStreamingSupported","isRangeSupported","contentLength","rangeReader","getRangeReader","_ref8","_ref9","_numPages","exception","_this12","updatePassword","_startRenderPage","_renderPageChunk","_this13","_data","exportedData","exportedError","fontRegistry","FontInspector","enabled","registerFont","fontAdded","FontFaceObject","_data2","imageData","pageProxy","img","Image","releaseImageResources","MAX_IMAGE_SIZE_TO_STORE","_data3","imageUrl","components","width","height","rgbaLength","Uint8ClampedArray","tmpCanvas","tmpCtx","getContext","drawImage","getImageData","_j","fetch","_ref10","featureId","_this14","_this15","results","metadata","Metadata","contentDispositionFilename","filename","_this16","cleanup","_objs","objId","resolved","_ensureObj","RenderTask","_internalRenderTask","onContinue","canvasInRendering","_ref11","_ref11$useRequestAnim","_ref11$pdfBug","operatorListIdx","running","graphicsReadyCallback","graphicsReady","_useRequestAnimationFrame","cancelled","_continueBound","_continue","_scheduleNextBound","_scheduleNext","_nextBound","canvas","StepperManager","stepper","init","nextBreakPoint","getNextBreakPoint","_this$params","gfx","CanvasGraphics","beginDrawing","endDrawing","updateOperatorList","_this17","requestAnimationFrame","_next2","mark","_callee","_context","prev","abrupt","executeOperatorList","stop","runtime","Op","hasOwn","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","Context","_invoke","makeInvokeMethod","tryCatch","GenStateSuspendedStart","GenStateSuspendedYield","GenStateExecuting","GenStateCompleted","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","getProto","NativeIteratorPrototype","Gp","defineIteratorMethods","AsyncIterator","record","__await","unwrapped","previousPromise","callInvokeWithMethodAndArg","doneResult","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","resultName","nextLoc","pushTryEntry","locs","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","iteratorMethod","displayName","isGeneratorFunction","genFun","awrap","async","reverse","skipTempReset","rootEntry","rootRecord","rval","handle","loc","caught","hasCatch","hasFinally","finallyEntry","finish","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","webpackPolyfill","deprecate","paths","children","DOMSVGFactory","DEFAULT_LINK_REL","SVG_NS","canvasAndContext","_ref$baseUrl","_ref$isCompressed","_fetch","_x","_callee2","compressionType","_context2","baseURI","response","cMapData","statusText","t0","arrayBuffer","t1","t2","text","t3","_x3","XMLHttpRequest","responseType","onreadystatechange","readyState","DONE","responseText","_x2","svg","createElementNS","_ref5$offsetX","offsetX","_ref5$offsetY","offsetY","_ref5$dontFlip","rotateA","rotateB","rotateC","rotateD","offsetCanvasX","offsetCanvasY","centerX","centerY","_ref6$scale","_ref6$rotation","_ref6$dontFlip","topLeft","bottomRight","SELF","BLANK","PARENT","TOP","LinkTargetStringMap","link","rel","title","LinkTargetValues","targetIndex","anchor","query","substring","started","times","Date","longest","_time","duration","pdfDateStringRegex","Response","removeAttribute","RegExp","matches","year","month","day","hour","minute","universalTimeRelation","offsetHour","offsetMinute","UTC","_possibleConstructorReturn","_assertThisInitialized","ReferenceError","_getPrototypeOf","_inherits","subClass","superClass","_setPrototypeOf","BaseFontLoader","nativeFontFaces","styleElement","nativeFontFace","fonts","rule","getElementsByTagName","styleSheet","sheet","insertRule","cssRules","_bind","attached","missingFile","isFontLoadingAPISupported","createNativeFontFace","addNativeFontFace","family","createFontFaceRule","isSyncFontLoadingSupported","_queueLoadingCallback","_prepareFontLoadEvent","rules","fontsToLoad","_BaseFontLoader","GenericFontLoader","loadingContext","requests","nextRequestId","loadTestFontId","completeRequest","otherRequest","int32","spliceString","insert","chunk1","chunk2","called","isFontReady","fillText","_loadTestFont","COMMENT_OFFSET","CFF_CHECKSUM_OFFSET","XXXX_VALUE","checksum","loadedName","span","fontFamily","body","supported","getLoadTestFont","IsEvalSupportedCached","translatedData","_ref2$isEvalSupported","_ref2$disableFontFace","_ref2$ignoreErrors","_ref2$onUnsupportedFe","_ref2$fontRegistry","compiledGlyphs","FontFace","mimetype","character","cmds","current","js","cmd","_ii","compatibilityParams","isIE","isIOSChrome","freeze","_pattern_helper","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","ad_bc","bc_ad","old","angle","cosValue","cos","sinValue","sin","CachedCanvases","cache","getCanvas","trackTransform","canvasEntry","compileType3Glyph","imgData","j0","POINT_TO_PROCESS_LIMIT","width1","points","POINT_TYPES","lineSize","data0","mask","elem","sum","steps","Int32Array","outlines","pp","coords","p0","drawOutline","beginPath","jj","CanvasExtraState","alphaIsShape","fontSize","fontSizeScale","textMatrix","textMatrixScale","fontMatrix","leading","lineX","lineY","charSpacing","wordSpacing","textHScale","textRenderingMode","textRise","fillColor","strokeColor","patternFill","fillAlpha","strokeAlpha","lineWidth","activeSMask","resumeSMaskCtx","clone","setCurrentPoint","EXECUTION_TIME","EXECUTION_STEPS","canvasCtx","stateStack","pendingClip","pendingEOFill","xobjs","groupStack","processingType3","baseTransform","baseTransformStack","groupLevel","smaskStack","smaskCounter","tempSMask","cachedCanvases","_cachedGetSinglePixelWidth","putBinaryImageData","ImageData","putImageData","destPos","thisChunkHeight","elemsInThisChunk","partialChunkHeight","fullChunks","totalChunks","chunkImgData","createImageData","srcPos","srcLength","dest32","dest32DataLength","fullSrcDiff","white","black","srcDiff","kEnd","kEndUnrolled","srcByte","putBinaryImageMask","copyCtxState","sourceCtx","destCtx","properties","setLineDash","getLineDash","lineDashOffset","resetCtxToDefault","strokeStyle","fillStyle","fillRule","globalAlpha","lineCap","lineJoin","miterLimit","globalCompositeOperation","composeSMaskBackdrop","r0","g0","b0","alpha","alpha_","composeSMaskAlpha","maskData","layerData","transferMap","composeSMaskLuminosity","genericComposeSMask","maskCtx","layerCtx","subtype","backdrop","composeFn","hasBackdrop","PIXELS_TO_PROCESS","row","chunkHeight","composeSMask","scaleX","scaleY","isEnabled","composed","layer","LINE_CAP_STYLES","LINE_JOIN_STYLES","NORMAL_CLIP","EO_CLIP","op","_ref$transparency","_ref$background","fillRect","transparentCanvas","compositeCtx","beginLayout","executionStartIdx","continueCallback","argsArrayLen","fnId","chunkOperations","endTime","breakIt","depObjId","objsPool","endSMaskGroup","endLayout","dashArray","dashPhase","flatness","states","suspendSMaskGroup","beginSMaskGroup","drawnWidth","drawnHeight","cacheId","scratchCanvas","currentCtx","currentTransform","groupCtx","startTransformInverse","mozCurrentTransformInverse","deltaTransform","clearRect","resumeSMaskGroup","ops","getSinglePixelWidth","xw","yh","bezierCurveTo","consumePath","getPattern","isPatternFill","needRestore","pendingTextPaths","path","addToPath","spacing","fontRefName","fontObj","fontDirection","isType3Font","bold","italic","typeface","fallbackName","browserFontSize","rise","paintChar","patternTransform","fillStrokeMode","isAddToPathSet","getPathGenerator","strokeText","_this$cachedCanvases$","glyphs","showType3Text","glyphsLength","vertical","spacingDir","defaultVMetrics","widthAdvanceScale","simpleFillText","pattern","glyph","scaledX","scaledY","scaledAccentX","scaledAccentY","vmetric","vx","vy","restoreNeeded","fontChar","accent","remeasure","measuredWidth","measureText","isFontSubpixelAAEnabled","characterScaleX","isInFont","charWidth","spacingLength","isTextInvisible","charProcOperatorList","operatorListId","transformed","xWidth","yWidth","llx","lly","urx","ury","getColorN_Pattern","IR","color","canvasGraphicsFactory","createCanvasGraphics","TilingPattern","getShadingPatternFromIR","patternIR","inv","bl","br","ul","ur","x0","y0","x1","y1","matrix","bbox","group","isolated","knockout","bounds","canvasBounds","imageSmoothingEnabled","mozImageSmoothingEnabled","domImage","position","getCanvasPosition","appendImage","top","compiled","maskCanvas","positions","images","image","imgToPaint","widthScale","heightScale","HTMLElement","paintWidth","paintHeight","tmpCanvasId","newWidth","newHeight","inverse","ShadingIRs","fromIR","raw","colorStops","r1","grad","createLinearGradient","createRadialGradient","addColorStop","createMeshCanvas","drawTriangle","c1","c2","c3","colors","rowSize","x2","y2","x3","y3","xa","car","cag","cab","xb","cbr","cbg","cbb","c1r","c1g","c1b","c2r","c2g","c2b","c3r","c3g","c3b","minY","round","maxY","x1_","x2_","drawFigure","figure","ps","cs","verticesPerRow","rows","cols","combinesScale","figures","backgroundColor","EXPECTED_SCALE","MAX_PATTERN_SIZE","BORDER_SIZE","boundsWidth","boundsHeight","paddedWidth","paddedHeight","drawFigures","shadingIR","Mesh","owner","matrixScale","temporaryPatternCanvas","createPattern","Dummy","PaintType","COLORED","UNCOLORED","xstep","ystep","paintType","tilingType","createPatternCanvas","curMatrixScale","combinedScale","dimx","getSizeAndScale","dimy","graphics","setFillAndStrokeStyleToContext","clipBbox","realOutputSize","maxSize","bboxWidth","bboxHeight","cssColor","resolveCall","_resolveCall","thisArg","_args","wrapReason","makeReasonSerializable","resolveOrReject","success","sourceName","targetName","comObj","callbackId","streamId","streamSinks","streamControllers","callbacksCapabilities","ah","actionHandler","_onComObjOnMessage","_processStreamMessage","isReply","_sourceName","_targetName","_createStreamSink","actionName","scope","queueingStrategy","startCapability","startCall","isClosed","pullCapability","pullCall","cancelCapability","cancelCall","sendStreamRequest","streamSink","isCancelled","lastDesiredSize","sinkCapability","sendStreamResponse","deleteStreamController","_xml_parser","_repair","parser","SimpleXMLParser","xmlDocument","parseFromString","_parse","codes","rdf","nodeName","firstChild","nextSibling","hasChildNodes","childNodes","_get","receiver","Reflect","_superPropBase","XMLParserErrorCode","NoError","EndOfDocument","UnterminatedCdat","UnterminatedXmlDeclaration","UnterminatedDoctypeDeclaration","UnterminatedComment","MalformedElement","OutOfMemory","UnterminatedAttributeValue","UnterminatedElement","ElementNeverBegun","isWhitespace","isWhitespaceString","XMLParserBase","entity","onResolveEntity","attributes","skipWs","attrName","attrValue","attrEndChar","attrEndIndex","_resolveEntities","attrStart","ch2","onError","onEndElement","pi","_parseProcessingInstruction","onPi","onComment","onCdata","q2","complexDoctype","doctypeContent","onDoctype","_parseContent","onBeginElement","onText","isEmpty","SimpleDOMNode","nodeValue","child","_XMLParserBase","_currentFragment","_stack","_errorCode","parseXml","_this$_currentFragmen","lastElement","_queuedChunks","_progressiveDone","_pdfDataRangeTransport","_isStreamingSupported","_isRangeSupported","_contentLength","_fullRequestReader","_rangeReaders","addRangeListener","_onReceiveData","addProgressListener","_onProgress","addProgressiveReadListener","addProgressiveDoneListener","_onProgressiveDone","transportReady","_enqueue","_begin","firstReader","queuedChunks","PDFDataTransportStreamReader","_progressiveDataLength","PDFDataTransportStreamRangeReader","requestDataRange","readers","abort","_loaded","_done","_filename","_requests","_headersReady","requestCapability","_read","_end","_queuedChunk","requestsCapability","_removeRangeReader","_read2","_ref$enable","_enabled","WebGLUtils","tryInitGL","loadShader","gl","shaderType","shader","createShader","shaderSource","compileShader","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","resolutionLocation","getUniformLocation","positionLocation","getAttribLocation","backdropLocation","subtypeLocation","texCoordLocation","texLayerLocation","texMaskLocation","texCoordBuffer","bindBuffer","ARRAY_BUFFER","bufferData","Float32Array","STATIC_DRAW","enableVertexAttribArray","vertexAttribPointer","FLOAT","uniform1i","drawingBufferWidth","drawingBufferHeight","uniform2f","uniform4f","TEXTURE0","maskTexture","TEXTURE1","clearColor","BLEND","blendFunc","ONE","ONE_MINUS_SRC_ALPHA","COLOR_BUFFER_BIT","drawArrays","TRIANGLES","deleteTexture","deleteBuffer","figuresVertexShaderCode","figuresFragmentShaderCode","figuresCache","initFiguresGL","scaleLocation","offsetLocation","colorLocation","coordsMap","colorsMap","pIndex","cIndex","col","coordsBuffer","colorsBuffer","MAX_TEXT_DIVS_TO_RENDER","NonWhitespaceRegexp","isAllWhitespace","styleBuf","appendText","geom","textDiv","textDivProperties","canvasWidth","originalTransform","paddingBottom","paddingLeft","paddingRight","paddingTop","_textDivs","_textDivProperties","tx","_viewport","atan2","fontName","PI","fontHeight","fontAscent","ascent","descent","_fontInspectorEnabled","dataset","_textContentStream","_layoutText","_enhanceTextSelection","angleCos","angleSin","divWidth","divHeight","_bounds","right","bottom","render","_canceled","textDivs","textDivsLength","_renderingDone","expand","expanded","expandBounds","divProperties","ts","Float64Array","findPositiveMin","boxScale","boxes","box","x1New","x2New","expandBoundsLTR","fakeBoundary","horizon","boundary","horizonPart","affectedBoundary","maxXNew","xNew","changedHorizon","lastBoundary","useBoundary","unshift","used","TextLayerRenderTask","textContentStream","textContentItemsStr","enhanceTextSelection","_textContent","_container","_textContentItemsStr","_layoutTextLastFontSize","_layoutTextLastFontFamily","_layoutTextCtx","_renderTimer","renderParameters","_render","_processItems","styleCache","textLayerFrag","mozOpaque","textItems","textStyles","expandTextDivs","expandDivs","padding","AnnotationElementFactory","parameters","annotationType","LinkAnnotationElement","TextAnnotationElement","fieldType","TextWidgetAnnotationElement","radioButton","RadioButtonWidgetAnnotationElement","checkBox","CheckboxWidgetAnnotationElement","PushButtonWidgetAnnotationElement","ChoiceWidgetAnnotationElement","WidgetAnnotationElement","PopupAnnotationElement","FreeTextAnnotationElement","LineAnnotationElement","SquareAnnotationElement","CircleAnnotationElement","PolylineAnnotationElement","CaretAnnotationElement","InkAnnotationElement","PolygonAnnotationElement","HighlightAnnotationElement","UnderlineAnnotationElement","SquigglyAnnotationElement","StrikeOutAnnotationElement","StampAnnotationElement","FileAttachmentAnnotationElement","AnnotationElement","isRenderable","ignoreBorder","linkService","downloadManager","imageResourcesPath","svgFactory","_createContainer","transformOrigin","borderStyle","borderWidth","horizontalRadius","horizontalCornerRadius","verticalRadius","verticalCornerRadius","radius","borderRadius","borderBottomStyle","borderColor","trigger","popupElement","PopupElement","modificationDate","contents","hideWrapper","popup","_AnnotationElement","className","newWindow","externalLinkTarget","externalLinkRel","_bindNamedAction","_bindLink","destination","getDestinationHash","onclick","navigateTo","getAnchorUrl","executeNamedAction","_AnnotationElement2","hasPopup","alt","l10nId","l10nArgs","_createPopup","_AnnotationElement3","_WidgetAnnotationElem","hasAppearance","fieldValue","TEXT_ALIGNMENT","multiLine","disabled","readOnly","maxLen","comb","fieldWidth","combWidth","letterSpacing","verticalAlign","_setTextStyle","textAlignment","textAlign","direction","fontWeight","fontStyle","_WidgetAnnotationElem2","_WidgetAnnotationElem3","fieldName","buttonValue","_LinkAnnotationElemen","_WidgetAnnotationElem4","selectElement","combo","multiSelect","multiple","option","optionElement","displayValue","exportValue","_AnnotationElement4","IGNORE_TYPES","parentType","selector","parentId","parentElement","querySelector","parentLeft","parseFloat","parentWidth","pinned","BACKGROUND_ENLIGHT","hideElement","dateObject","toDateObject","date","toLocaleDateString","toLocaleTimeString","_formatContents","_toggle","_show","_hide","lines","line","pin","hasAttribute","zIndex","unpin","_AnnotationElement5","_AnnotationElement6","lineCoordinates","append","_AnnotationElement7","square","_AnnotationElement8","circle","_AnnotationElement9","containerClassName","svgElementName","vertices","polyline","_PolylineAnnotationEl","_AnnotationElement10","_AnnotationElement11","inkLists","inkList","_AnnotationElement12","_AnnotationElement13","_AnnotationElement14","_AnnotationElement15","_AnnotationElement16","_AnnotationElement17","_this6$data$file","file","eventBus","dispatch","_download","downloadData","annotations","_is_node","opListToTree","opList","opTree","opListElement","pf","toFixed","pm","acos","SVG_DEFAULTS","XML_NS","XLINK_NS","convertImgDataToPng","PNG_HEADER","CHUNK_WRAPPER_SIZE","crcTable","crc32","crc","writePngChunk","adler32","deflateSync","literals","deflateSyncUncompressed","maxBlockLength","deflateBlocks","idat","adler","isMask","bitDepth","colorType","offsetLiterals","offsetBytes","_y","_i3","ihdr","pngLength","SVGExtraState","dependencies","activeClipUrl","clipGroup","maskId","clipCount","maskCount","shadingCount","transformMatrix","transformStack","extraStack","embedFonts","embeddedFonts","cssStyle","_operatorIdMapping","tgrp","executeOpTree","_loop","svgElement","loadDependencies","convertOpList","operatorIdMapping","opTreeElement","lineMatrix","xcoords","tspan","setAttributeNS","txtElement","txtgrp","lineWidthScale","_setStrokeAttributes","_ensureTransformGroup","defs","addFontStyle","_makeColorN_Pattern","_makeShadingPattern","_makeTilingPattern","_args$","tilingId","_Util$applyTransform","_Util$applyTransform2","tx0","ty0","_Util$applyTransform3","_Util$applyTransform4","tx1","ty1","_Util$singularValueDe","_Util$singularValueDe2","xscale","yscale","txstep","tystep","tiling","gradient","shadingId","point0","point1","focalPoint","circlePoint","focalRadius","circleRadius","_iteratorNormalCompletion5","_didIteratorError5","_iteratorError5","_step5","_iterator5","colorStop","_iteratorNormalCompletion6","_didIteratorError6","_iteratorError6","_step6","_iterator6","getAttributeNS","clipId","clipPath","clipElement","cloneNode","_iteratorNormalCompletion7","_didIteratorError7","_iteratorError7","_step7","_iterator7","_step7$value","setStrokeAlpha","setFillAlpha","imgObj","imgEl","imgSrc","cliprect","definitions","rootGroup","_ensureClipGroup","_network_utils","fs","http","https","fileUriRegex","parseUrl","sourceUrl","parsedUrl","isHttp","isFsUrl","_rangeRequestReaders","PDFNodeStreamFsFullReader","PDFNodeStreamFullReader","PDFNodeStreamFsRangeReader","PDFNodeStreamRangeReader","BaseFullReader","_disableRange","_rangeChunkSize","_readableStream","_readCapability","_headersCapability","_error","BaseRangeReader","createRequestOptions","headers","auth","hostname","_BaseFullReader","handleResponse","statusCode","_setReadableStream","getResponseHeader","_validateRangeRequest","validateRangeRequestCapabilities","allowRangeRequests","suggestedLength","extractFilenameFromHeader","_request","_BaseRangeReader","_httpHeaders","_BaseFullReader2","lstat","createReadStream","_BaseRangeReader2","createResponseStatusError","validateResponseStatus","_content_disposition","returnValues","contentEncoding","contentDisposition","getFilenameFromContentDispositionHeader","needsEncodingFixup","toParamRegExp","rfc2616unquote","rfc5987decode","rfc2047decode","fixupEncoding","rfc2231getparam","_filename2","attributePattern","flags","textdecode","decoder","TextDecoder","fatal","_match","_match2","quot","part","_matches$n","quotindex","extvalue","encodingend","langvalue","hex","OK_RESPONSE","PARTIAL_CONTENT_RESPONSE","getArrayBuffer","xhr","NetworkManager","getXhr","currXhrId","pendingRequests","listeners","xhrId","pendingRequest","setRequestHeader","expectedStatus","onStateChange","onprogress","onHeadersReceived","onDone","xhrStatus","ok_response_on_range_request","rangeHeader","_source","_manager","PDFNetworkStreamFullRequestReader","PDFNetworkStreamRangeRequestReader","onClosed","_onRangeRequestReaderClosed","manager","_onHeadersReceived","_onDone","_onError","_fullRequestId","requestFull","_headersReceivedCapability","_cachedChunks","fullRequestXhrId","fullRequestXhr","getRequestXhr","lengthComputable","isPendingRequest","_requestId","requestRange","_close","createFetchOptions","abortController","signal","credentials","redirect","PDFFetchStreamReader","PDFFetchStreamRangeReader","_withCredentials","AbortController","_abortController","_headers","Headers","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","runClearTimeout","marker","currentQueue","draining","queueIndex","cleanUpNextTick","drainQueue","Item","noop","browser","env","argv","addListener","once","off","removeListener","removeAllListeners","prependListener","prependOnceListener","binding","cwd","chdir","umask","qs","sep","eq","regexp","maxKeys","kstr","vstr","idx","xs","stringifyPrimitive","objectKeys","ks","stylesInDom","isOldIE","memo","getTarget","styleTarget","HTMLIFrameElement","contentDocument","listToStyles","newStyles","css","media","addStylesToDom","domStyle","refs","addStyle","insertStyleElement","nonce","removeStyleElement","replaceText","textStore","replacement","filter","applyToSingletonTag","cssText","cssNode","insertBefore","applyToTag","singleton","singletonCounter","update","styleIndex","newObj","newList","mayRemove","_domStyle","util","Url","slashes","hash","urlParse","urlResolve","resolveObject","urlResolveObject","format","urlFormat","protocolPattern","portPattern","simplePathPattern","delims","unwise","autoEscape","nonHostChars","hostEndingChars","hostnameMaxLen","hostnamePartPattern","hostnamePartStart","unsafeProtocol","hostlessProtocol","slashedProtocol","querystring","parseQueryString","slashesDenoteHost","queryIndex","splitter","uSplit","slashRegex","rest","simplePath","lowerProto","atSign","hostEnd","hec","parseHost","ipv6Hostname","hostparts","newpart","validParts","notHost","bit","ae","esc","qm","tkeys","tk","tkey","rkeys","rk","rkey","relPath","isSourceAbs","isRelAbs","mustEndAbs","removeAllDots","srcPath","psychotic","isNullOrUndefined","authInHost","isNull","hasTrailingSlash","up","isAbsolute","ENABLE_RAF","RafAnimation","endCb","startTime","performance","stepByStep","raf","cancelAnimationFrame","TimerAnimation","stepValue","timer","animate","getEventPath","EVENTS","LOAD","PAGE_CHANGE","HIGHLIGHT_CLICK","PAGE_RESIZE","SCROLL","eventNames","PVEventHandler","events","Map","addHandler","removeHandler","hs","hasListener","PVLoadEvent","pv","PVPageChangeEvent","totalPages","PVHighlightClickEvent","highlights","stopPropagation","PVPageResizeEvent","pageSizes","PVScrollEvent","scrollTop","scrollLeft","LOG_LEVEL","__spreadArrays","il","jl","enablePerformance","logFn","messsages","toUpperCase","Log","enableTiming","INFO","timing","messages","WARN","ERROR","measure","removeMark","delete","clearMarks","DPR","devicePixelRatio","PDFPage","originWidth","originHeight","pageElement","loadingElement","textElement","canvasRenderTask","textRenderTask","rendering","pdfjs","pageNum","pdfPage","isRenderText","pageResizeCallback","innerText","getPageElement","resize","getViewport","vs","getViewSize","vp","needRender","hd","hl","_highlight","finally","dc","getHeight","calcSize","originSize","highlight","highlightClass","attrs","highlightFocusClass","removeHighlight","del","removeAllHighlights","highlightFocus","highlightBlur","getHighlightsByPoint","hls","offsetLeft","offsetWidth","offsetTop","offsetHeight","revoke","vb","locals","isUndef","isDef","extendObject","event_1","page_1","dom_1","animtion_1","utils_1","log_1","pkg","PAGE_GAP","CLASS_NAME","PDFViewer","pdfTask","pages","firstPageOriginWidth","firstPageOriginHeight","currentPage","renderTimer","scrollAnimation","pageHelper","clientWidth","offline","debug","logTitle","eventHandler","containerBackground","border","overflow","gap","onscroll","cfg","cmaps","pdfjsParams","_getDocument","File","fr_1","FileReader","readAsArrayBuffer","_handlePageResize","vh","clientHeight","currentPageVisibleHeight","prevPageHeight","pageIdx","pageElem","pageHeight","tmpPageTop","tmpGap","tmpCurrentPage","tmpCurrentPageVisibleHeight","eventName","getPDFInfo","pageGap","scrollTo","pageTop","pageInstance","_b","renderPage","devicePixelCompatible","tmpWidth","pageSizes_1","eventPath","pvElem","getAttribute","0","1","2","3","_vm","_self","staticClass","download","collected","onCollection","onUncollect","goToPage","go","pdfInitReady","keyWords","nativeOn","$event","goToPdfPage","membersExpiredDialogVisible","collectDialogVisible","showNewFavoritesInput","directives","rawName","newFavoritesInput","expression","modifiers","domProps","$forceUpdate","keyCode","onNewFavorites","composing","folderNames","class","folder","onFolderNameClick","require","slot","onDialogNewFavorites","onDialogCancel","onDialogConfirm","staticRenderFns","loading","_regeneratorRuntime","define","return","required","pdfData","watch","newPdfViewer","$refs","pdfContainer","addPdfReadyLinstener","$message","getPdfData","_getPdfData","api","showPdf","_showPdf","$emit","mounted","beforeDestroy","component","textInstance","Mark","visiable","userInfo","expire_at","onRenewalBtnClick","onIgnoreBtnClick","getUserInfo","_getUserInfo","$router","goTo","summaries","idArray","summariesArray","selectedOptionTab","getFolderNames","uncollectPdf","uncollectFigure","$nextTick","focus","getDisplay","collectPdf","collectFigure","getPdfDownload","figure_page","created","authService","getPdfDetailData","keywords","category","Pdf","DetailSearchItem","membersExpireDialog","PdfFooter","PdfjsWorker"],"mappings":"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","file":"js/pdf-detail-page.21a728df.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"pv\"] = factory();\n\telse\n\t\troot[\"pv\"] = factory();\n})(window, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// install a JSONP callback for chunk loading\n/******/ \tfunction webpackJsonpCallback(data) {\n/******/ \t\tvar chunkIds = data[0];\n/******/ \t\tvar moreModules = data[1];\n/******/\n/******/\n/******/ \t\t// add \"moreModules\" to the modules object,\n/******/ \t\t// then flag all \"chunkIds\" as loaded and fire callback\n/******/ \t\tvar moduleId, chunkId, i = 0, resolves = [];\n/******/ \t\tfor(;i < chunkIds.length; i++) {\n/******/ \t\t\tchunkId = chunkIds[i];\n/******/ \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n/******/ \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n/******/ \t\t\t}\n/******/ \t\t\tinstalledChunks[chunkId] = 0;\n/******/ \t\t}\n/******/ \t\tfor(moduleId in moreModules) {\n/******/ \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n/******/ \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n/******/ \t\t\t}\n/******/ \t\t}\n/******/ \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n/******/\n/******/ \t\twhile(resolves.length) {\n/******/ \t\t\tresolves.shift()();\n/******/ \t\t}\n/******/\n/******/ \t};\n/******/\n/******/\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// object to store loaded and loading chunks\n/******/ \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n/******/ \t// Promise = chunk loading, 0 = chunk loaded\n/******/ \tvar installedChunks = {\n/******/ \t\t\"main\": 0\n/******/ \t};\n/******/\n/******/\n/******/\n/******/ \t// script path function\n/******/ \tfunction jsonpScriptSrc(chunkId) {\n/******/ \t\treturn __webpack_require__.p + \"\" + chunkId + \".viewer.js\"\n/******/ \t}\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_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, __webpack_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/******/ \t// This file contains only the entry chunk.\n/******/ \t// The chunk loading function for additional chunks\n/******/ \t__webpack_require__.e = function requireEnsure(chunkId) {\n/******/ \t\tvar promises = [];\n/******/\n/******/\n/******/ \t\t// JSONP chunk loading for javascript\n/******/\n/******/ \t\tvar installedChunkData = installedChunks[chunkId];\n/******/ \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n/******/\n/******/ \t\t\t// a Promise means \"currently loading\".\n/******/ \t\t\tif(installedChunkData) {\n/******/ \t\t\t\tpromises.push(installedChunkData[2]);\n/******/ \t\t\t} else {\n/******/ \t\t\t\t// setup Promise in chunk cache\n/******/ \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n/******/ \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n/******/ \t\t\t\t});\n/******/ \t\t\t\tpromises.push(installedChunkData[2] = promise);\n/******/\n/******/ \t\t\t\t// start chunk loading\n/******/ \t\t\t\tvar script = document.createElement('script');\n/******/ \t\t\t\tvar onScriptComplete;\n/******/\n/******/ \t\t\t\tscript.charset = 'utf-8';\n/******/ \t\t\t\tscript.timeout = 120;\n/******/ \t\t\t\tif (__webpack_require__.nc) {\n/******/ \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n/******/ \t\t\t\t}\n/******/ \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n/******/\n/******/ \t\t\t\t// create error before stack unwound to get useful stacktrace later\n/******/ \t\t\t\tvar error = new Error();\n/******/ \t\t\t\tonScriptComplete = function (event) {\n/******/ \t\t\t\t\t// avoid mem leaks in IE.\n/******/ \t\t\t\t\tscript.onerror = script.onload = null;\n/******/ \t\t\t\t\tclearTimeout(timeout);\n/******/ \t\t\t\t\tvar chunk = installedChunks[chunkId];\n/******/ \t\t\t\t\tif(chunk !== 0) {\n/******/ \t\t\t\t\t\tif(chunk) {\n/******/ \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n/******/ \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n/******/ \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n/******/ \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n/******/ \t\t\t\t\t\t\terror.type = errorType;\n/******/ \t\t\t\t\t\t\terror.request = realSrc;\n/******/ \t\t\t\t\t\t\tchunk[1](error);\n/******/ \t\t\t\t\t\t}\n/******/ \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n/******/ \t\t\t\t\t}\n/******/ \t\t\t\t};\n/******/ \t\t\t\tvar timeout = setTimeout(function(){\n/******/ \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n/******/ \t\t\t\t}, 120000);\n/******/ \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n/******/ \t\t\t\tdocument.head.appendChild(script);\n/******/ \t\t\t}\n/******/ \t\t}\n/******/ \t\treturn Promise.all(promises);\n/******/ \t};\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_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__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// on error function for async loading\n/******/ \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n/******/\n/******/ \tvar jsonpArray = window[\"webpackJsonppv\"] = window[\"webpackJsonppv\"] || [];\n/******/ \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n/******/ \tjsonpArray.push = webpackJsonpCallback;\n/******/ \tjsonpArray = jsonpArray.slice();\n/******/ \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n/******/ \tvar parentJsonpFunction = oldJsonpFunction;\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = \"./src/viewer.ts\");\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ \"./node_modules/base64-js/index.js\":\n/*!*****************************************!*\\\n !*** ./node_modules/base64-js/index.js ***!\n \\*****************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(\n uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)\n ))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n\n\n/***/ }),\n\n/***/ \"./node_modules/buffer/index.js\":\n/*!**************************************!*\\\n !*** ./node_modules/buffer/index.js ***!\n \\**************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(global) {/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n\n\nvar base64 = __webpack_require__(/*! base64-js */ \"./node_modules/base64-js/index.js\")\nvar ieee754 = __webpack_require__(/*! ieee754 */ \"./node_modules/ieee754/index.js\")\nvar isArray = __webpack_require__(/*! isarray */ \"./node_modules/isarray/index.js\")\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n ? global.TYPED_ARRAY_SUPPORT\n : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n return arr.foo() === 42 && // typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n } catch (e) {\n return false\n }\n}\n\nfunction kMaxLength () {\n return Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string'\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n })\n }\n}\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc (that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike (that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + kMaxLength().toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare (a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length | 0\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n if (this.length > max) str += ' ... '\n }\n return ''\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (Buffer.TYPED_ARRAY_SUPPORT &&\n typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0\n if (isFinite(length)) {\n length = length | 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n (littleEndian ? i : 1 - i) * 8\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction stringtrim (str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\")))\n\n/***/ }),\n\n/***/ \"./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./src/style.scss\":\n/*!*****************************************************************************************************!*\\\n !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./src/style.scss ***!\n \\*****************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(/*! ../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.i, \".pdf-viewer-666 {\\n height: 100%;\\n direction: ltr; }\\n .pdf-viewer-666 * {\\n margin: 0;\\n padding: 0;\\n border: 0; }\\n .pdf-viewer-666 .pdf-page {\\n display: inline-block;\\n background-color: #fff;\\n position: relative; }\\n .pdf-viewer-666 .pdf-page:not(:nth-child(2)) {\\n margin-top: 10px; }\\n .pdf-viewer-666 .text-layer {\\n z-index: 2;\\n opacity: .2;\\n overflow: hidden; }\\n .pdf-viewer-666 .text-layer ::selection {\\n background: blue; }\\n .pdf-viewer-666 .text-layer * {\\n position: absolute;\\n white-space: pre;\\n transform-origin: 0 0;\\n line-height: 1;\\n color: transparent; }\\n .pdf-viewer-666 .pdf-highlight {\\n background: yellow;\\n opacity: .3;\\n transition: all .3s ease-in-out; }\\n .pdf-viewer-666 .pdf-highlight-focus {\\n box-shadow: 0 0 16px 1px #000000; }\\n .pdf-viewer-666 .pdf-loading {\\n position: absolute;\\n left: 50%;\\n top: 50%;\\n transform: translate(-50%, -50%); }\\n\", \"\"]);\n\n\n/***/ }),\n\n/***/ \"./node_modules/css-loader/dist/runtime/api.js\":\n/*!*****************************************************!*\\\n !*** ./node_modules/css-loader/dist/runtime/api.js ***!\n \\*****************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\n// eslint-disable-next-line func-names\nmodule.exports = function (useSourceMap) {\n var list = []; // return the list of modules as css string\n\n list.toString = function toString() {\n return this.map(function (item) {\n var content = cssWithMappingToString(item, useSourceMap);\n\n if (item[2]) {\n return \"@media \".concat(item[2], \"{\").concat(content, \"}\");\n }\n\n return content;\n }).join('');\n }; // import a list of modules into the list\n // eslint-disable-next-line func-names\n\n\n list.i = function (modules, mediaQuery) {\n if (typeof modules === 'string') {\n // eslint-disable-next-line no-param-reassign\n modules = [[null, modules, '']];\n }\n\n var alreadyImportedModules = {};\n\n for (var i = 0; i < this.length; i++) {\n // eslint-disable-next-line prefer-destructuring\n var id = this[i][0];\n\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n\n for (var _i = 0; _i < modules.length; _i++) {\n var item = modules[_i]; // skip already imported module\n // this implementation is not 100% perfect for weird media query combinations\n // when a module is imported multiple times with different media queries.\n // I hope this will never occur (Hey this way we have smaller bundles)\n\n if (item[0] == null || !alreadyImportedModules[item[0]]) {\n if (mediaQuery && !item[2]) {\n item[2] = mediaQuery;\n } else if (mediaQuery) {\n item[2] = \"(\".concat(item[2], \") and (\").concat(mediaQuery, \")\");\n }\n\n list.push(item);\n }\n }\n };\n\n return list;\n};\n\nfunction cssWithMappingToString(item, useSourceMap) {\n var content = item[1] || ''; // eslint-disable-next-line prefer-destructuring\n\n var cssMapping = item[3];\n\n if (!cssMapping) {\n return content;\n }\n\n if (useSourceMap && typeof btoa === 'function') {\n var sourceMapping = toComment(cssMapping);\n var sourceURLs = cssMapping.sources.map(function (source) {\n return \"/*# sourceURL=\".concat(cssMapping.sourceRoot).concat(source, \" */\");\n });\n return [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n }\n\n return [content].join('\\n');\n} // Adapted from convert-source-map (MIT)\n\n\nfunction toComment(sourceMap) {\n // eslint-disable-next-line no-undef\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n return \"/*# \".concat(data, \" */\");\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ieee754/index.js\":\n/*!***************************************!*\\\n !*** ./node_modules/ieee754/index.js ***!\n \\***************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n\n\n/***/ }),\n\n/***/ \"./node_modules/isarray/index.js\":\n/*!***************************************!*\\\n !*** ./node_modules/isarray/index.js ***!\n \\***************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nvar toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/node-libs-browser/node_modules/punycode/punycode.js\":\n/*!**************************************************************************!*\\\n !*** ./node_modules/node-libs-browser/node_modules/punycode/punycode.js ***!\n \\**************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(module, global) {var __WEBPACK_AMD_DEFINE_RESULT__;/*! https://mths.be/punycode v1.4.1 by @mathias */\n;(function(root) {\n\n\t/** Detect free variables */\n\tvar freeExports = true && exports &&\n\t\t!exports.nodeType && exports;\n\tvar freeModule = true && module &&\n\t\t!module.nodeType && module;\n\tvar freeGlobal = typeof global == 'object' && global;\n\tif (\n\t\tfreeGlobal.global === freeGlobal ||\n\t\tfreeGlobal.window === freeGlobal ||\n\t\tfreeGlobal.self === freeGlobal\n\t) {\n\t\troot = freeGlobal;\n\t}\n\n\t/**\n\t * The `punycode` object.\n\t * @name punycode\n\t * @type Object\n\t */\n\tvar punycode,\n\n\t/** Highest positive signed 32-bit float value */\n\tmaxInt = 2147483647, // aka. 0x7FFFFFFF or 2^31-1\n\n\t/** Bootstring parameters */\n\tbase = 36,\n\ttMin = 1,\n\ttMax = 26,\n\tskew = 38,\n\tdamp = 700,\n\tinitialBias = 72,\n\tinitialN = 128, // 0x80\n\tdelimiter = '-', // '\\x2D'\n\n\t/** Regular expressions */\n\tregexPunycode = /^xn--/,\n\tregexNonASCII = /[^\\x20-\\x7E]/, // unprintable ASCII chars + non-ASCII chars\n\tregexSeparators = /[\\x2E\\u3002\\uFF0E\\uFF61]/g, // RFC 3490 separators\n\n\t/** Error messages */\n\terrors = {\n\t\t'overflow': 'Overflow: input needs wider integers to process',\n\t\t'not-basic': 'Illegal input >= 0x80 (not a basic code point)',\n\t\t'invalid-input': 'Invalid input'\n\t},\n\n\t/** Convenience shortcuts */\n\tbaseMinusTMin = base - tMin,\n\tfloor = Math.floor,\n\tstringFromCharCode = String.fromCharCode,\n\n\t/** Temporary variable */\n\tkey;\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/**\n\t * A generic error utility function.\n\t * @private\n\t * @param {String} type The error type.\n\t * @returns {Error} Throws a `RangeError` with the applicable error message.\n\t */\n\tfunction error(type) {\n\t\tthrow new RangeError(errors[type]);\n\t}\n\n\t/**\n\t * A generic `Array#map` utility function.\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} callback The function that gets called for every array\n\t * item.\n\t * @returns {Array} A new array of values returned by the callback function.\n\t */\n\tfunction map(array, fn) {\n\t\tvar length = array.length;\n\t\tvar result = [];\n\t\twhile (length--) {\n\t\t\tresult[length] = fn(array[length]);\n\t\t}\n\t\treturn result;\n\t}\n\n\t/**\n\t * A simple `Array#map`-like wrapper to work with domain name strings or email\n\t * addresses.\n\t * @private\n\t * @param {String} domain The domain name or email address.\n\t * @param {Function} callback The function that gets called for every\n\t * character.\n\t * @returns {Array} A new string of characters returned by the callback\n\t * function.\n\t */\n\tfunction mapDomain(string, fn) {\n\t\tvar parts = string.split('@');\n\t\tvar result = '';\n\t\tif (parts.length > 1) {\n\t\t\t// In email addresses, only the domain name should be punycoded. Leave\n\t\t\t// the local part (i.e. everything up to `@`) intact.\n\t\t\tresult = parts[0] + '@';\n\t\t\tstring = parts[1];\n\t\t}\n\t\t// Avoid `split(regex)` for IE8 compatibility. See #17.\n\t\tstring = string.replace(regexSeparators, '\\x2E');\n\t\tvar labels = string.split('.');\n\t\tvar encoded = map(labels, fn).join('.');\n\t\treturn result + encoded;\n\t}\n\n\t/**\n\t * Creates an array containing the numeric code points of each Unicode\n\t * character in the string. While JavaScript uses UCS-2 internally,\n\t * this function will convert a pair of surrogate halves (each of which\n\t * UCS-2 exposes as separate characters) into a single code point,\n\t * matching UTF-16.\n\t * @see `punycode.ucs2.encode`\n\t * @see \n\t * @memberOf punycode.ucs2\n\t * @name decode\n\t * @param {String} string The Unicode input string (UCS-2).\n\t * @returns {Array} The new array of code points.\n\t */\n\tfunction ucs2decode(string) {\n\t\tvar output = [],\n\t\t counter = 0,\n\t\t length = string.length,\n\t\t value,\n\t\t extra;\n\t\twhile (counter < length) {\n\t\t\tvalue = string.charCodeAt(counter++);\n\t\t\tif (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n\t\t\t\t// high surrogate, and there is a next character\n\t\t\t\textra = string.charCodeAt(counter++);\n\t\t\t\tif ((extra & 0xFC00) == 0xDC00) { // low surrogate\n\t\t\t\t\toutput.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n\t\t\t\t} else {\n\t\t\t\t\t// unmatched surrogate; only append this code unit, in case the next\n\t\t\t\t\t// code unit is the high surrogate of a surrogate pair\n\t\t\t\t\toutput.push(value);\n\t\t\t\t\tcounter--;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\toutput.push(value);\n\t\t\t}\n\t\t}\n\t\treturn output;\n\t}\n\n\t/**\n\t * Creates a string based on an array of numeric code points.\n\t * @see `punycode.ucs2.decode`\n\t * @memberOf punycode.ucs2\n\t * @name encode\n\t * @param {Array} codePoints The array of numeric code points.\n\t * @returns {String} The new Unicode string (UCS-2).\n\t */\n\tfunction ucs2encode(array) {\n\t\treturn map(array, function(value) {\n\t\t\tvar output = '';\n\t\t\tif (value > 0xFFFF) {\n\t\t\t\tvalue -= 0x10000;\n\t\t\t\toutput += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800);\n\t\t\t\tvalue = 0xDC00 | value & 0x3FF;\n\t\t\t}\n\t\t\toutput += stringFromCharCode(value);\n\t\t\treturn output;\n\t\t}).join('');\n\t}\n\n\t/**\n\t * Converts a basic code point into a digit/integer.\n\t * @see `digitToBasic()`\n\t * @private\n\t * @param {Number} codePoint The basic numeric code point value.\n\t * @returns {Number} The numeric value of a basic code point (for use in\n\t * representing integers) in the range `0` to `base - 1`, or `base` if\n\t * the code point does not represent a value.\n\t */\n\tfunction basicToDigit(codePoint) {\n\t\tif (codePoint - 48 < 10) {\n\t\t\treturn codePoint - 22;\n\t\t}\n\t\tif (codePoint - 65 < 26) {\n\t\t\treturn codePoint - 65;\n\t\t}\n\t\tif (codePoint - 97 < 26) {\n\t\t\treturn codePoint - 97;\n\t\t}\n\t\treturn base;\n\t}\n\n\t/**\n\t * Converts a digit/integer into a basic code point.\n\t * @see `basicToDigit()`\n\t * @private\n\t * @param {Number} digit The numeric value of a basic code point.\n\t * @returns {Number} The basic code point whose value (when used for\n\t * representing integers) is `digit`, which needs to be in the range\n\t * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is\n\t * used; else, the lowercase form is used. The behavior is undefined\n\t * if `flag` is non-zero and `digit` has no uppercase form.\n\t */\n\tfunction digitToBasic(digit, flag) {\n\t\t// 0..25 map to ASCII a..z or A..Z\n\t\t// 26..35 map to ASCII 0..9\n\t\treturn digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);\n\t}\n\n\t/**\n\t * Bias adaptation function as per section 3.4 of RFC 3492.\n\t * https://tools.ietf.org/html/rfc3492#section-3.4\n\t * @private\n\t */\n\tfunction adapt(delta, numPoints, firstTime) {\n\t\tvar k = 0;\n\t\tdelta = firstTime ? floor(delta / damp) : delta >> 1;\n\t\tdelta += floor(delta / numPoints);\n\t\tfor (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) {\n\t\t\tdelta = floor(delta / baseMinusTMin);\n\t\t}\n\t\treturn floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n\t}\n\n\t/**\n\t * Converts a Punycode string of ASCII-only symbols to a string of Unicode\n\t * symbols.\n\t * @memberOf punycode\n\t * @param {String} input The Punycode string of ASCII-only symbols.\n\t * @returns {String} The resulting string of Unicode symbols.\n\t */\n\tfunction decode(input) {\n\t\t// Don't use UCS-2\n\t\tvar output = [],\n\t\t inputLength = input.length,\n\t\t out,\n\t\t i = 0,\n\t\t n = initialN,\n\t\t bias = initialBias,\n\t\t basic,\n\t\t j,\n\t\t index,\n\t\t oldi,\n\t\t w,\n\t\t k,\n\t\t digit,\n\t\t t,\n\t\t /** Cached calculation results */\n\t\t baseMinusT;\n\n\t\t// Handle the basic code points: let `basic` be the number of input code\n\t\t// points before the last delimiter, or `0` if there is none, then copy\n\t\t// the first basic code points to the output.\n\n\t\tbasic = input.lastIndexOf(delimiter);\n\t\tif (basic < 0) {\n\t\t\tbasic = 0;\n\t\t}\n\n\t\tfor (j = 0; j < basic; ++j) {\n\t\t\t// if it's not a basic code point\n\t\t\tif (input.charCodeAt(j) >= 0x80) {\n\t\t\t\terror('not-basic');\n\t\t\t}\n\t\t\toutput.push(input.charCodeAt(j));\n\t\t}\n\n\t\t// Main decoding loop: start just after the last delimiter if any basic code\n\t\t// points were copied; start at the beginning otherwise.\n\n\t\tfor (index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) {\n\n\t\t\t// `index` is the index of the next character to be consumed.\n\t\t\t// Decode a generalized variable-length integer into `delta`,\n\t\t\t// which gets added to `i`. The overflow checking is easier\n\t\t\t// if we increase `i` as we go, then subtract off its starting\n\t\t\t// value at the end to obtain `delta`.\n\t\t\tfor (oldi = i, w = 1, k = base; /* no condition */; k += base) {\n\n\t\t\t\tif (index >= inputLength) {\n\t\t\t\t\terror('invalid-input');\n\t\t\t\t}\n\n\t\t\t\tdigit = basicToDigit(input.charCodeAt(index++));\n\n\t\t\t\tif (digit >= base || digit > floor((maxInt - i) / w)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\ti += digit * w;\n\t\t\t\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\n\t\t\t\tif (digit < t) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tbaseMinusT = base - t;\n\t\t\t\tif (w > floor(maxInt / baseMinusT)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tw *= baseMinusT;\n\n\t\t\t}\n\n\t\t\tout = output.length + 1;\n\t\t\tbias = adapt(i - oldi, out, oldi == 0);\n\n\t\t\t// `i` was supposed to wrap around from `out` to `0`,\n\t\t\t// incrementing `n` each time, so we'll fix that now:\n\t\t\tif (floor(i / out) > maxInt - n) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tn += floor(i / out);\n\t\t\ti %= out;\n\n\t\t\t// Insert `n` at position `i` of the output\n\t\t\toutput.splice(i++, 0, n);\n\n\t\t}\n\n\t\treturn ucs2encode(output);\n\t}\n\n\t/**\n\t * Converts a string of Unicode symbols (e.g. a domain name label) to a\n\t * Punycode string of ASCII-only symbols.\n\t * @memberOf punycode\n\t * @param {String} input The string of Unicode symbols.\n\t * @returns {String} The resulting Punycode string of ASCII-only symbols.\n\t */\n\tfunction encode(input) {\n\t\tvar n,\n\t\t delta,\n\t\t handledCPCount,\n\t\t basicLength,\n\t\t bias,\n\t\t j,\n\t\t m,\n\t\t q,\n\t\t k,\n\t\t t,\n\t\t currentValue,\n\t\t output = [],\n\t\t /** `inputLength` will hold the number of code points in `input`. */\n\t\t inputLength,\n\t\t /** Cached calculation results */\n\t\t handledCPCountPlusOne,\n\t\t baseMinusT,\n\t\t qMinusT;\n\n\t\t// Convert the input in UCS-2 to Unicode\n\t\tinput = ucs2decode(input);\n\n\t\t// Cache the length\n\t\tinputLength = input.length;\n\n\t\t// Initialize the state\n\t\tn = initialN;\n\t\tdelta = 0;\n\t\tbias = initialBias;\n\n\t\t// Handle the basic code points\n\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\tcurrentValue = input[j];\n\t\t\tif (currentValue < 0x80) {\n\t\t\t\toutput.push(stringFromCharCode(currentValue));\n\t\t\t}\n\t\t}\n\n\t\thandledCPCount = basicLength = output.length;\n\n\t\t// `handledCPCount` is the number of code points that have been handled;\n\t\t// `basicLength` is the number of basic code points.\n\n\t\t// Finish the basic string - if it is not empty - with a delimiter\n\t\tif (basicLength) {\n\t\t\toutput.push(delimiter);\n\t\t}\n\n\t\t// Main encoding loop:\n\t\twhile (handledCPCount < inputLength) {\n\n\t\t\t// All non-basic code points < n have been handled already. Find the next\n\t\t\t// larger one:\n\t\t\tfor (m = maxInt, j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\t\t\t\tif (currentValue >= n && currentValue < m) {\n\t\t\t\t\tm = currentValue;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Increase `delta` enough to advance the decoder's state to ,\n\t\t\t// but guard against overflow\n\t\t\thandledCPCountPlusOne = handledCPCount + 1;\n\t\t\tif (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tdelta += (m - n) * handledCPCountPlusOne;\n\t\t\tn = m;\n\n\t\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\n\t\t\t\tif (currentValue < n && ++delta > maxInt) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tif (currentValue == n) {\n\t\t\t\t\t// Represent delta as a generalized variable-length integer\n\t\t\t\t\tfor (q = delta, k = base; /* no condition */; k += base) {\n\t\t\t\t\t\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\t\t\t\t\t\tif (q < t) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tqMinusT = q - t;\n\t\t\t\t\t\tbaseMinusT = base - t;\n\t\t\t\t\t\toutput.push(\n\t\t\t\t\t\t\tstringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))\n\t\t\t\t\t\t);\n\t\t\t\t\t\tq = floor(qMinusT / baseMinusT);\n\t\t\t\t\t}\n\n\t\t\t\t\toutput.push(stringFromCharCode(digitToBasic(q, 0)));\n\t\t\t\t\tbias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n\t\t\t\t\tdelta = 0;\n\t\t\t\t\t++handledCPCount;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t++delta;\n\t\t\t++n;\n\n\t\t}\n\t\treturn output.join('');\n\t}\n\n\t/**\n\t * Converts a Punycode string representing a domain name or an email address\n\t * to Unicode. Only the Punycoded parts of the input will be converted, i.e.\n\t * it doesn't matter if you call it on a string that has already been\n\t * converted to Unicode.\n\t * @memberOf punycode\n\t * @param {String} input The Punycoded domain name or email address to\n\t * convert to Unicode.\n\t * @returns {String} The Unicode representation of the given Punycode\n\t * string.\n\t */\n\tfunction toUnicode(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexPunycode.test(string)\n\t\t\t\t? decode(string.slice(4).toLowerCase())\n\t\t\t\t: string;\n\t\t});\n\t}\n\n\t/**\n\t * Converts a Unicode string representing a domain name or an email address to\n\t * Punycode. Only the non-ASCII parts of the domain name will be converted,\n\t * i.e. it doesn't matter if you call it with a domain that's already in\n\t * ASCII.\n\t * @memberOf punycode\n\t * @param {String} input The domain name or email address to convert, as a\n\t * Unicode string.\n\t * @returns {String} The Punycode representation of the given domain name or\n\t * email address.\n\t */\n\tfunction toASCII(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexNonASCII.test(string)\n\t\t\t\t? 'xn--' + encode(string)\n\t\t\t\t: string;\n\t\t});\n\t}\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/** Define the public API */\n\tpunycode = {\n\t\t/**\n\t\t * A string representing the current Punycode.js version number.\n\t\t * @memberOf punycode\n\t\t * @type String\n\t\t */\n\t\t'version': '1.4.1',\n\t\t/**\n\t\t * An object of methods to convert from JavaScript's internal character\n\t\t * representation (UCS-2) to Unicode code points, and back.\n\t\t * @see \n\t\t * @memberOf punycode\n\t\t * @type Object\n\t\t */\n\t\t'ucs2': {\n\t\t\t'decode': ucs2decode,\n\t\t\t'encode': ucs2encode\n\t\t},\n\t\t'decode': decode,\n\t\t'encode': encode,\n\t\t'toASCII': toASCII,\n\t\t'toUnicode': toUnicode\n\t};\n\n\t/** Expose `punycode` */\n\t// Some AMD build optimizers, like r.js, check for specific condition patterns\n\t// like the following:\n\tif (\n\t\ttrue\n\t) {\n\t\t!(__WEBPACK_AMD_DEFINE_RESULT__ = (function() {\n\t\t\treturn punycode;\n\t\t}).call(exports, __webpack_require__, exports, module),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t} else {}\n\n}(this));\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../../webpack/buildin/module.js */ \"./node_modules/webpack/buildin/module.js\")(module), __webpack_require__(/*! ./../../../webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\")))\n\n/***/ }),\n\n/***/ \"./node_modules/pdfjs-dist/build/pdf.js\":\n/*!**********************************************!*\\\n !*** ./node_modules/pdfjs-dist/build/pdf.js ***!\n \\**********************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(Buffer, global, process) {/**\n * @licstart The following is the entire license notice for the\n * Javascript code in this page\n *\n * Copyright 2019 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 * @licend The above is the entire license notice for the\n * Javascript code in this page\n */\n\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(true)\n\t\tmodule.exports = factory();\n\telse {}\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// 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, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__w_pdfjs_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__w_pdfjs_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __w_pdfjs_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__w_pdfjs_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __w_pdfjs_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\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/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __w_pdfjs_require__(__w_pdfjs_require__.s = 0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar pdfjsVersion = '2.2.228';\nvar pdfjsBuild = 'd7afb74a';\n\nvar pdfjsSharedUtil = __w_pdfjs_require__(1);\n\nvar pdfjsDisplayAPI = __w_pdfjs_require__(147);\n\nvar pdfjsDisplayTextLayer = __w_pdfjs_require__(162);\n\nvar pdfjsDisplayAnnotationLayer = __w_pdfjs_require__(163);\n\nvar pdfjsDisplayDisplayUtils = __w_pdfjs_require__(151);\n\nvar pdfjsDisplaySVG = __w_pdfjs_require__(164);\n\nvar pdfjsDisplayWorkerOptions = __w_pdfjs_require__(156);\n\nvar pdfjsDisplayAPICompatibility = __w_pdfjs_require__(153);\n\n{\n var isNodeJS = __w_pdfjs_require__(4);\n\n if (isNodeJS()) {\n var PDFNodeStream = __w_pdfjs_require__(165).PDFNodeStream;\n\n pdfjsDisplayAPI.setPDFNetworkStreamFactory(function (params) {\n return new PDFNodeStream(params);\n });\n } else {\n var PDFNetworkStream = __w_pdfjs_require__(168).PDFNetworkStream;\n\n var PDFFetchStream;\n\n if (pdfjsDisplayDisplayUtils.isFetchSupported()) {\n PDFFetchStream = __w_pdfjs_require__(169).PDFFetchStream;\n }\n\n pdfjsDisplayAPI.setPDFNetworkStreamFactory(function (params) {\n if (PDFFetchStream && pdfjsDisplayDisplayUtils.isValidFetchUrl(params.url)) {\n return new PDFFetchStream(params);\n }\n\n return new PDFNetworkStream(params);\n });\n }\n}\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.createPromiseCapability = pdfjsSharedUtil.createPromiseCapability;\nexports.PasswordResponses = pdfjsSharedUtil.PasswordResponses;\nexports.InvalidPDFException = pdfjsSharedUtil.InvalidPDFException;\nexports.MissingPDFException = pdfjsSharedUtil.MissingPDFException;\nexports.SVGGraphics = pdfjsDisplaySVG.SVGGraphics;\nexports.NativeImageDecoding = pdfjsSharedUtil.NativeImageDecoding;\nexports.CMapCompressionType = pdfjsSharedUtil.CMapCompressionType;\nexports.PermissionFlag = pdfjsSharedUtil.PermissionFlag;\nexports.UnexpectedResponseException = pdfjsSharedUtil.UnexpectedResponseException;\nexports.OPS = pdfjsSharedUtil.OPS;\nexports.VerbosityLevel = pdfjsSharedUtil.VerbosityLevel;\nexports.UNSUPPORTED_FEATURES = pdfjsSharedUtil.UNSUPPORTED_FEATURES;\nexports.createValidAbsoluteUrl = pdfjsSharedUtil.createValidAbsoluteUrl;\nexports.createObjectURL = pdfjsSharedUtil.createObjectURL;\nexports.removeNullCharacters = pdfjsSharedUtil.removeNullCharacters;\nexports.shadow = pdfjsSharedUtil.shadow;\nexports.Util = pdfjsSharedUtil.Util;\nexports.ReadableStream = pdfjsSharedUtil.ReadableStream;\nexports.URL = pdfjsSharedUtil.URL;\nexports.RenderingCancelledException = pdfjsDisplayDisplayUtils.RenderingCancelledException;\nexports.getFilenameFromUrl = pdfjsDisplayDisplayUtils.getFilenameFromUrl;\nexports.LinkTarget = pdfjsDisplayDisplayUtils.LinkTarget;\nexports.addLinkAttributes = pdfjsDisplayDisplayUtils.addLinkAttributes;\nexports.loadScript = pdfjsDisplayDisplayUtils.loadScript;\nexports.PDFDateString = pdfjsDisplayDisplayUtils.PDFDateString;\nexports.GlobalWorkerOptions = pdfjsDisplayWorkerOptions.GlobalWorkerOptions;\nexports.apiCompatibilityParams = pdfjsDisplayAPICompatibility.apiCompatibilityParams;\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.arrayByteLength = arrayByteLength;\nexports.arraysToBytes = arraysToBytes;\nexports.assert = assert;\nexports.bytesToString = bytesToString;\nexports.createPromiseCapability = createPromiseCapability;\nexports.getVerbosityLevel = getVerbosityLevel;\nexports.info = info;\nexports.isArrayBuffer = isArrayBuffer;\nexports.isArrayEqual = isArrayEqual;\nexports.isBool = isBool;\nexports.isEmptyObj = isEmptyObj;\nexports.isNum = isNum;\nexports.isString = isString;\nexports.isSpace = isSpace;\nexports.isSameOrigin = isSameOrigin;\nexports.createValidAbsoluteUrl = createValidAbsoluteUrl;\nexports.isLittleEndian = isLittleEndian;\nexports.isEvalSupported = isEvalSupported;\nexports.log2 = log2;\nexports.readInt8 = readInt8;\nexports.readUint16 = readUint16;\nexports.readUint32 = readUint32;\nexports.removeNullCharacters = removeNullCharacters;\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;\nObject.defineProperty(exports, \"ReadableStream\", {\n enumerable: true,\n get: function get() {\n return _streams_polyfill.ReadableStream;\n }\n});\nObject.defineProperty(exports, \"URL\", {\n enumerable: true,\n get: function get() {\n return _url_polyfill.URL;\n }\n});\nexports.createObjectURL = exports.FormatError = exports.Util = exports.UnknownErrorException = exports.UnexpectedResponseException = exports.TextRenderingMode = exports.StreamType = exports.PermissionFlag = exports.PasswordResponses = exports.PasswordException = exports.NativeImageDecoding = exports.MissingPDFException = exports.InvalidPDFException = exports.AbortException = exports.CMapCompressionType = exports.ImageKind = exports.FontType = exports.AnnotationType = exports.AnnotationFlag = exports.AnnotationFieldFlag = exports.AnnotationBorderStyleType = exports.UNSUPPORTED_FEATURES = exports.VerbosityLevel = exports.OPS = exports.IDENTITY_MATRIX = exports.FONT_IDENTITY_MATRIX = void 0;\n\n__w_pdfjs_require__(2);\n\nvar _streams_polyfill = __w_pdfjs_require__(143);\n\nvar _url_polyfill = __w_pdfjs_require__(145);\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0];\nexports.IDENTITY_MATRIX = IDENTITY_MATRIX;\nvar FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0];\nexports.FONT_IDENTITY_MATRIX = FONT_IDENTITY_MATRIX;\nvar NativeImageDecoding = {\n NONE: 'none',\n DECODE: 'decode',\n DISPLAY: 'display'\n};\nexports.NativeImageDecoding = NativeImageDecoding;\nvar PermissionFlag = {\n PRINT: 0x04,\n MODIFY_CONTENTS: 0x08,\n COPY: 0x10,\n MODIFY_ANNOTATIONS: 0x20,\n FILL_INTERACTIVE_FORMS: 0x100,\n COPY_FOR_ACCESSIBILITY: 0x200,\n ASSEMBLE: 0x400,\n PRINT_HIGH_QUALITY: 0x800\n};\nexports.PermissionFlag = PermissionFlag;\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};\nexports.TextRenderingMode = TextRenderingMode;\nvar ImageKind = {\n GRAYSCALE_1BPP: 1,\n RGB_24BPP: 2,\n RGBA_32BPP: 3\n};\nexports.ImageKind = ImageKind;\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};\nexports.AnnotationType = AnnotationType;\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};\nexports.AnnotationFlag = AnnotationFlag;\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};\nexports.AnnotationFieldFlag = AnnotationFieldFlag;\nvar AnnotationBorderStyleType = {\n SOLID: 1,\n DASHED: 2,\n BEVELED: 3,\n INSET: 4,\n UNDERLINE: 5\n};\nexports.AnnotationBorderStyleType = AnnotationBorderStyleType;\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};\nexports.StreamType = StreamType;\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};\nexports.FontType = FontType;\nvar VerbosityLevel = {\n ERRORS: 0,\n WARNINGS: 1,\n INFOS: 5\n};\nexports.VerbosityLevel = VerbosityLevel;\nvar CMapCompressionType = {\n NONE: 0,\n BINARY: 1,\n STREAM: 2\n};\nexports.CMapCompressionType = CMapCompressionType;\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};\nexports.OPS = OPS;\nvar UNSUPPORTED_FEATURES = {\n unknown: 'unknown',\n forms: 'forms',\n javaScript: 'javaScript',\n smask: 'smask',\n shadingPattern: 'shadingPattern',\n font: 'font'\n};\nexports.UNSUPPORTED_FEATURES = UNSUPPORTED_FEATURES;\nvar PasswordResponses = {\n NEED_PASSWORD: 1,\n INCORRECT_PASSWORD: 2\n};\nexports.PasswordResponses = PasswordResponses;\nvar verbosity = VerbosityLevel.WARNINGS;\n\nfunction setVerbosityLevel(level) {\n if (Number.isInteger(level)) {\n verbosity = level;\n }\n}\n\nfunction getVerbosityLevel() {\n return verbosity;\n}\n\nfunction info(msg) {\n if (verbosity >= VerbosityLevel.INFOS) {\n console.log('Info: ' + msg);\n }\n}\n\nfunction warn(msg) {\n if (verbosity >= VerbosityLevel.WARNINGS) {\n console.log('Warning: ' + msg);\n }\n}\n\nfunction unreachable(msg) {\n throw new Error(msg);\n}\n\nfunction assert(cond, msg) {\n if (!cond) {\n unreachable(msg);\n }\n}\n\nfunction isSameOrigin(baseUrl, otherUrl) {\n try {\n var base = new _url_polyfill.URL(baseUrl);\n\n if (!base.origin || base.origin === 'null') {\n return false;\n }\n } catch (e) {\n return false;\n }\n\n var other = new _url_polyfill.URL(otherUrl, base);\n return base.origin === other.origin;\n}\n\nfunction _isValidProtocol(url) {\n if (!url) {\n return false;\n }\n\n switch (url.protocol) {\n case 'http:':\n case 'https:':\n case 'ftp:':\n case 'mailto:':\n case 'tel:':\n return true;\n\n default:\n return false;\n }\n}\n\nfunction createValidAbsoluteUrl(url, baseUrl) {\n if (!url) {\n return null;\n }\n\n try {\n var absoluteUrl = baseUrl ? new _url_polyfill.URL(url, baseUrl) : new _url_polyfill.URL(url);\n\n if (_isValidProtocol(absoluteUrl)) {\n return absoluteUrl;\n }\n } catch (ex) {}\n\n return null;\n}\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}\n\nvar PasswordException = function PasswordExceptionClosure() {\n function PasswordException(msg, code) {\n this.name = 'PasswordException';\n this.message = msg;\n this.code = code;\n }\n\n PasswordException.prototype = new Error();\n PasswordException.constructor = PasswordException;\n return PasswordException;\n}();\n\nexports.PasswordException = 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\n UnknownErrorException.prototype = new Error();\n UnknownErrorException.constructor = UnknownErrorException;\n return UnknownErrorException;\n}();\n\nexports.UnknownErrorException = UnknownErrorException;\n\nvar InvalidPDFException = function InvalidPDFExceptionClosure() {\n function InvalidPDFException(msg) {\n this.name = 'InvalidPDFException';\n this.message = msg;\n }\n\n InvalidPDFException.prototype = new Error();\n InvalidPDFException.constructor = InvalidPDFException;\n return InvalidPDFException;\n}();\n\nexports.InvalidPDFException = InvalidPDFException;\n\nvar MissingPDFException = function MissingPDFExceptionClosure() {\n function MissingPDFException(msg) {\n this.name = 'MissingPDFException';\n this.message = msg;\n }\n\n MissingPDFException.prototype = new Error();\n MissingPDFException.constructor = MissingPDFException;\n return MissingPDFException;\n}();\n\nexports.MissingPDFException = 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\n UnexpectedResponseException.prototype = new Error();\n UnexpectedResponseException.constructor = UnexpectedResponseException;\n return UnexpectedResponseException;\n}();\n\nexports.UnexpectedResponseException = UnexpectedResponseException;\n\nvar FormatError = function FormatErrorClosure() {\n function FormatError(msg) {\n this.message = msg;\n }\n\n FormatError.prototype = new Error();\n FormatError.prototype.name = 'FormatError';\n FormatError.constructor = FormatError;\n return FormatError;\n}();\n\nexports.FormatError = FormatError;\n\nvar AbortException = function AbortExceptionClosure() {\n function AbortException(msg) {\n this.name = 'AbortException';\n this.message = msg;\n }\n\n AbortException.prototype = new Error();\n AbortException.constructor = AbortException;\n return AbortException;\n}();\n\nexports.AbortException = AbortException;\nvar NullCharactersRegExp = /\\x00/g;\n\nfunction removeNullCharacters(str) {\n if (typeof str !== 'string') {\n warn('The argument for removeNullCharacters must be a string.');\n return str;\n }\n\n return str.replace(NullCharactersRegExp, '');\n}\n\nfunction bytesToString(bytes) {\n assert(bytes !== null && _typeof(bytes) === 'object' && bytes.length !== undefined, 'Invalid argument for bytesToString');\n var length = bytes.length;\n var MAX_ARGUMENT_COUNT = 8192;\n\n if (length < MAX_ARGUMENT_COUNT) {\n return String.fromCharCode.apply(null, bytes);\n }\n\n var strBuf = [];\n\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\n return strBuf.join('');\n}\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\n for (var i = 0; i < length; ++i) {\n bytes[i] = str.charCodeAt(i) & 0xFF;\n }\n\n return bytes;\n}\n\nfunction arrayByteLength(arr) {\n if (arr.length !== undefined) {\n return arr.length;\n }\n\n assert(arr.byteLength !== undefined);\n return arr.byteLength;\n}\n\nfunction arraysToBytes(arr) {\n if (arr.length === 1 && arr[0] instanceof Uint8Array) {\n return arr[0];\n }\n\n var resultLength = 0;\n var i,\n ii = arr.length;\n var item, itemLength;\n\n for (i = 0; i < ii; i++) {\n item = arr[i];\n itemLength = arrayByteLength(item);\n resultLength += itemLength;\n }\n\n var pos = 0;\n var data = new Uint8Array(resultLength);\n\n for (i = 0; i < ii; i++) {\n item = arr[i];\n\n if (!(item instanceof Uint8Array)) {\n if (typeof item === 'string') {\n item = stringToBytes(item);\n } else {\n item = new Uint8Array(item);\n }\n }\n\n itemLength = item.byteLength;\n data.set(item, pos);\n pos += itemLength;\n }\n\n return data;\n}\n\nfunction string32(value) {\n return String.fromCharCode(value >> 24 & 0xff, value >> 16 & 0xff, value >> 8 & 0xff, value & 0xff);\n}\n\nfunction log2(x) {\n if (x <= 0) {\n return 0;\n }\n\n return Math.ceil(Math.log2(x));\n}\n\nfunction readInt8(data, start) {\n return data[start] << 24 >> 24;\n}\n\nfunction readUint16(data, offset) {\n return data[offset] << 8 | data[offset + 1];\n}\n\nfunction readUint32(data, offset) {\n return (data[offset] << 24 | data[offset + 1] << 16 | data[offset + 2] << 8 | data[offset + 3]) >>> 0;\n}\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}\n\nfunction isEvalSupported() {\n try {\n new Function('');\n return true;\n } catch (e) {\n return false;\n }\n}\n\nvar Util = function UtilClosure() {\n function Util() {}\n\n var rgbBuf = ['rgb(', 0, ',', 0, ',', 0, ')'];\n\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\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\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\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\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\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\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\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\n Util.normalizeRect = function Util_normalizeRect(rect) {\n var r = rect.slice(0);\n\n if (rect[0] > rect[2]) {\n r[0] = rect[2];\n r[2] = rect[0];\n }\n\n if (rect[1] > rect[3]) {\n r[1] = rect[3];\n r[3] = rect[1];\n }\n\n return r;\n };\n\n Util.intersect = function Util_intersect(rect1, rect2) {\n function compare(a, b) {\n return a - b;\n }\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\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\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\n return result;\n };\n\n return Util;\n}();\n\nexports.Util = Util;\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];\n\nfunction stringToPDFString(str) {\n var i,\n n = str.length,\n strBuf = [];\n\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\n return strBuf.join('');\n}\n\nfunction stringToUTF8String(str) {\n return decodeURIComponent(escape(str));\n}\n\nfunction utf8StringToString(str) {\n return unescape(encodeURIComponent(str));\n}\n\nfunction isEmptyObj(obj) {\n for (var key in obj) {\n return false;\n }\n\n return true;\n}\n\nfunction isBool(v) {\n return typeof v === 'boolean';\n}\n\nfunction isNum(v) {\n return typeof v === 'number';\n}\n\nfunction isString(v) {\n return typeof v === 'string';\n}\n\nfunction isArrayBuffer(v) {\n return _typeof(v) === 'object' && v !== null && v.byteLength !== undefined;\n}\n\nfunction isArrayEqual(arr1, arr2) {\n if (arr1.length !== arr2.length) {\n return false;\n }\n\n return arr1.every(function (element, index) {\n return element === arr2[index];\n });\n}\n\nfunction isSpace(ch) {\n return ch === 0x20 || ch === 0x09 || ch === 0x0D || ch === 0x0A;\n}\n\nfunction createPromiseCapability() {\n var capability = Object.create(null);\n var isSettled = false;\n Object.defineProperty(capability, 'settled', {\n get: function get() {\n return isSettled;\n }\n });\n capability.promise = new Promise(function (resolve, reject) {\n capability.resolve = function (data) {\n isSettled = true;\n resolve(data);\n };\n\n capability.reject = function (reason) {\n isSettled = true;\n reject(reason);\n };\n });\n return capability;\n}\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_polyfill.URL.createObjectURL) {\n var blob = new Blob([data], {\n type: contentType\n });\n return _url_polyfill.URL.createObjectURL(blob);\n }\n\n var buffer = 'data:' + contentType + ';base64,';\n\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\n return buffer;\n };\n}();\n\nexports.createObjectURL = createObjectURL;\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar globalScope = __w_pdfjs_require__(3);\n\nif (!globalScope._pdfjsCompatibilityChecked) {\n globalScope._pdfjsCompatibilityChecked = true;\n\n var isNodeJS = __w_pdfjs_require__(4);\n\n var hasDOM = (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) === 'object' && (typeof document === \"undefined\" ? \"undefined\" : _typeof(document)) === 'object';\n\n (function checkNodeBtoa() {\n if (globalScope.btoa || !isNodeJS()) {\n return;\n }\n\n globalScope.btoa = function (chars) {\n return Buffer.from(chars, 'binary').toString('base64');\n };\n })();\n\n (function checkNodeAtob() {\n if (globalScope.atob || !isNodeJS()) {\n return;\n }\n\n globalScope.atob = function (input) {\n return Buffer.from(input, 'base64').toString('binary');\n };\n })();\n\n (function checkChildNodeRemove() {\n if (!hasDOM) {\n return;\n }\n\n if (typeof Element.prototype.remove !== 'undefined') {\n return;\n }\n\n Element.prototype.remove = function () {\n if (this.parentNode) {\n this.parentNode.removeChild(this);\n }\n };\n })();\n\n (function checkDOMTokenListAddRemove() {\n if (!hasDOM || isNodeJS()) {\n return;\n }\n\n var div = document.createElement('div');\n div.classList.add('testOne', 'testTwo');\n\n if (div.classList.contains('testOne') === true && div.classList.contains('testTwo') === true) {\n return;\n }\n\n var OriginalDOMTokenListAdd = DOMTokenList.prototype.add;\n var OriginalDOMTokenListRemove = DOMTokenList.prototype.remove;\n\n DOMTokenList.prototype.add = function () {\n for (var _len = arguments.length, tokens = new Array(_len), _key = 0; _key < _len; _key++) {\n tokens[_key] = arguments[_key];\n }\n\n for (var _i = 0, _tokens = tokens; _i < _tokens.length; _i++) {\n var token = _tokens[_i];\n OriginalDOMTokenListAdd.call(this, token);\n }\n };\n\n DOMTokenList.prototype.remove = function () {\n for (var _len2 = arguments.length, tokens = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n tokens[_key2] = arguments[_key2];\n }\n\n for (var _i2 = 0, _tokens2 = tokens; _i2 < _tokens2.length; _i2++) {\n var token = _tokens2[_i2];\n OriginalDOMTokenListRemove.call(this, token);\n }\n };\n })();\n\n (function checkDOMTokenListToggle() {\n if (!hasDOM || isNodeJS()) {\n return;\n }\n\n var div = document.createElement('div');\n\n if (div.classList.toggle('test', 0) === false) {\n return;\n }\n\n DOMTokenList.prototype.toggle = function (token) {\n var force = arguments.length > 1 ? !!arguments[1] : !this.contains(token);\n return this[force ? 'add' : 'remove'](token), force;\n };\n })();\n\n (function checkStringStartsWith() {\n if (String.prototype.startsWith) {\n return;\n }\n\n __w_pdfjs_require__(5);\n })();\n\n (function checkStringEndsWith() {\n if (String.prototype.endsWith) {\n return;\n }\n\n __w_pdfjs_require__(36);\n })();\n\n (function checkStringIncludes() {\n if (String.prototype.includes) {\n return;\n }\n\n __w_pdfjs_require__(38);\n })();\n\n (function checkArrayIncludes() {\n if (Array.prototype.includes) {\n return;\n }\n\n __w_pdfjs_require__(40);\n })();\n\n (function checkArrayFrom() {\n if (Array.from) {\n return;\n }\n\n __w_pdfjs_require__(47);\n })();\n\n (function checkObjectAssign() {\n if (Object.assign) {\n return;\n }\n\n __w_pdfjs_require__(70);\n })();\n\n (function checkMathLog2() {\n if (Math.log2) {\n return;\n }\n\n Math.log2 = __w_pdfjs_require__(75);\n })();\n\n (function checkNumberIsNaN() {\n if (Number.isNaN) {\n return;\n }\n\n Number.isNaN = __w_pdfjs_require__(77);\n })();\n\n (function checkNumberIsInteger() {\n if (Number.isInteger) {\n return;\n }\n\n Number.isInteger = __w_pdfjs_require__(79);\n })();\n\n (function checkPromise() {\n if (globalScope.Promise && globalScope.Promise.prototype && globalScope.Promise.prototype[\"finally\"]) {\n return;\n }\n\n globalScope.Promise = __w_pdfjs_require__(82);\n })();\n\n (function checkWeakMap() {\n if (globalScope.WeakMap) {\n return;\n }\n\n globalScope.WeakMap = __w_pdfjs_require__(102);\n })();\n\n (function checkWeakSet() {\n if (globalScope.WeakSet) {\n return;\n }\n\n globalScope.WeakSet = __w_pdfjs_require__(119);\n })();\n\n (function checkStringCodePointAt() {\n if (String.codePointAt) {\n return;\n }\n\n String.codePointAt = __w_pdfjs_require__(123);\n })();\n\n (function checkStringFromCodePoint() {\n if (String.fromCodePoint) {\n return;\n }\n\n String.fromCodePoint = __w_pdfjs_require__(125);\n })();\n\n (function checkSymbol() {\n if (globalScope.Symbol) {\n return;\n }\n\n __w_pdfjs_require__(127);\n })();\n\n (function checkStringPadStart() {\n if (String.prototype.padStart) {\n return;\n }\n\n __w_pdfjs_require__(134);\n })();\n\n (function checkStringPadEnd() {\n if (String.prototype.padEnd) {\n return;\n }\n\n __w_pdfjs_require__(138);\n })();\n\n (function checkObjectValues() {\n if (Object.values) {\n return;\n }\n\n Object.values = __w_pdfjs_require__(140);\n })();\n}\n\n/***/ }),\n/* 3 */\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/* 4 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nmodule.exports = function isNodeJS() {\n return (typeof process === \"undefined\" ? \"undefined\" : _typeof(process)) === 'object' && process + '' === '[object process]' && !process.versions['nw'] && !process.versions['electron'];\n};\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(6);\n\nmodule.exports = __w_pdfjs_require__(9).String.startsWith;\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\n\nvar toLength = __w_pdfjs_require__(28);\n\nvar context = __w_pdfjs_require__(30);\n\nvar STARTS_WITH = 'startsWith';\nvar $startsWith = ''[STARTS_WITH];\n$export($export.P + $export.F * __w_pdfjs_require__(35)(STARTS_WITH), 'String', {\n startsWith: function startsWith(searchString) {\n var that = context(this, searchString, STARTS_WITH);\n var index = toLength(Math.min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n var search = String(searchString);\n return $startsWith ? $startsWith.call(that, search, index) : that.slice(index, index + search.length) === search;\n }\n});\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = __w_pdfjs_require__(8);\n\nvar core = __w_pdfjs_require__(9);\n\nvar hide = __w_pdfjs_require__(10);\n\nvar redefine = __w_pdfjs_require__(20);\n\nvar ctx = __w_pdfjs_require__(26);\n\nvar PROTOTYPE = 'prototype';\n\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\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\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/* 8 */\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/* 9 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar core = module.exports = {\n version: '2.6.9'\n};\nif (typeof __e == 'number') __e = core;\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar dP = __w_pdfjs_require__(11);\n\nvar createDesc = __w_pdfjs_require__(19);\n\nmodule.exports = __w_pdfjs_require__(15) ? 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/* 11 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar anObject = __w_pdfjs_require__(12);\n\nvar IE8_DOM_DEFINE = __w_pdfjs_require__(14);\n\nvar toPrimitive = __w_pdfjs_require__(18);\n\nvar dP = Object.defineProperty;\nexports.f = __w_pdfjs_require__(15) ? 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/* 12 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(13);\n\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nmodule.exports = function (it) {\n return _typeof(it) === 'object' ? it !== null : typeof it === 'function';\n};\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = !__w_pdfjs_require__(15) && !__w_pdfjs_require__(16)(function () {\n return Object.defineProperty(__w_pdfjs_require__(17)('div'), 'a', {\n get: function get() {\n return 7;\n }\n }).a != 7;\n});\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = !__w_pdfjs_require__(16)(function () {\n return Object.defineProperty({}, 'a', {\n get: function get() {\n return 7;\n }\n }).a != 7;\n});\n\n/***/ }),\n/* 16 */\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/* 17 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(13);\n\nvar document = __w_pdfjs_require__(8).document;\n\nvar is = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(13);\n\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/* 19 */\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/* 20 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = __w_pdfjs_require__(8);\n\nvar hide = __w_pdfjs_require__(10);\n\nvar has = __w_pdfjs_require__(21);\n\nvar SRC = __w_pdfjs_require__(22)('src');\n\nvar $toString = __w_pdfjs_require__(23);\n\nvar TO_STRING = 'toString';\nvar TPL = ('' + $toString).split(TO_STRING);\n\n__w_pdfjs_require__(9).inspectSource = function (it) {\n return $toString.call(it);\n};\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\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/* 21 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar id = 0;\nvar px = Math.random();\n\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = __w_pdfjs_require__(24)('native-function-to-string', Function.toString);\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar core = __w_pdfjs_require__(9);\n\nvar global = __w_pdfjs_require__(8);\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: core.version,\n mode: __w_pdfjs_require__(25) ? 'pure' : 'global',\n copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = false;\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar aFunction = __w_pdfjs_require__(27);\n\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n\n switch (length) {\n case 1:\n return function (a) {\n return fn.call(that, a);\n };\n\n case 2:\n return function (a, b) {\n return fn.call(that, a, b);\n };\n\n case 3:\n return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n\n return function () {\n return fn.apply(that, arguments);\n };\n};\n\n/***/ }),\n/* 27 */\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/* 28 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar toInteger = __w_pdfjs_require__(29);\n\nvar min = Math.min;\n\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0;\n};\n\n/***/ }),\n/* 29 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar ceil = Math.ceil;\nvar floor = Math.floor;\n\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n/***/ }),\n/* 30 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isRegExp = __w_pdfjs_require__(31);\n\nvar defined = __w_pdfjs_require__(34);\n\nmodule.exports = function (that, searchString, NAME) {\n if (isRegExp(searchString)) throw TypeError('String#' + NAME + \" doesn't accept regex!\");\n return String(defined(that));\n};\n\n/***/ }),\n/* 31 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(13);\n\nvar cof = __w_pdfjs_require__(32);\n\nvar MATCH = __w_pdfjs_require__(33)('match');\n\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp');\n};\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n\n/***/ }),\n/* 33 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar store = __w_pdfjs_require__(24)('wks');\n\nvar uid = __w_pdfjs_require__(22);\n\nvar _Symbol = __w_pdfjs_require__(8).Symbol;\n\nvar USE_SYMBOL = typeof _Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] = USE_SYMBOL && _Symbol[name] || (USE_SYMBOL ? _Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n\n/***/ }),\n/* 34 */\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/* 35 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar MATCH = __w_pdfjs_require__(33)('match');\n\nmodule.exports = function (KEY) {\n var re = /./;\n\n try {\n '/./'[KEY](re);\n } catch (e) {\n try {\n re[MATCH] = false;\n return !'/./'[KEY](re);\n } catch (f) {}\n }\n\n return true;\n};\n\n/***/ }),\n/* 36 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(37);\n\nmodule.exports = __w_pdfjs_require__(9).String.endsWith;\n\n/***/ }),\n/* 37 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\n\nvar toLength = __w_pdfjs_require__(28);\n\nvar context = __w_pdfjs_require__(30);\n\nvar ENDS_WITH = 'endsWith';\nvar $endsWith = ''[ENDS_WITH];\n$export($export.P + $export.F * __w_pdfjs_require__(35)(ENDS_WITH), 'String', {\n endsWith: function endsWith(searchString) {\n var that = context(this, searchString, ENDS_WITH);\n var endPosition = arguments.length > 1 ? arguments[1] : undefined;\n var len = toLength(that.length);\n var end = endPosition === undefined ? len : Math.min(toLength(endPosition), len);\n var search = String(searchString);\n return $endsWith ? $endsWith.call(that, search, end) : that.slice(end - search.length, end) === search;\n }\n});\n\n/***/ }),\n/* 38 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(39);\n\nmodule.exports = __w_pdfjs_require__(9).String.includes;\n\n/***/ }),\n/* 39 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\n\nvar context = __w_pdfjs_require__(30);\n\nvar INCLUDES = 'includes';\n$export($export.P + $export.F * __w_pdfjs_require__(35)(INCLUDES), 'String', {\n includes: function includes(searchString) {\n return !!~context(this, searchString, INCLUDES).indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n/***/ }),\n/* 40 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(41);\n\nmodule.exports = __w_pdfjs_require__(9).Array.includes;\n\n/***/ }),\n/* 41 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\n\nvar $includes = __w_pdfjs_require__(42)(true);\n\n$export($export.P, 'Array', {\n includes: function includes(el) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n__w_pdfjs_require__(46)('includes');\n\n/***/ }),\n/* 42 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar toIObject = __w_pdfjs_require__(43);\n\nvar toLength = __w_pdfjs_require__(28);\n\nvar toAbsoluteIndex = __w_pdfjs_require__(45);\n\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 }\n return !IS_INCLUDES && -1;\n };\n};\n\n/***/ }),\n/* 43 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar IObject = __w_pdfjs_require__(44);\n\nvar defined = __w_pdfjs_require__(34);\n\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n\n/***/ }),\n/* 44 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar cof = __w_pdfjs_require__(32);\n\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n/***/ }),\n/* 45 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar toInteger = __w_pdfjs_require__(29);\n\nvar max = Math.max;\nvar min = Math.min;\n\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n/***/ }),\n/* 46 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar UNSCOPABLES = __w_pdfjs_require__(33)('unscopables');\n\nvar ArrayProto = Array.prototype;\nif (ArrayProto[UNSCOPABLES] == undefined) __w_pdfjs_require__(10)(ArrayProto, UNSCOPABLES, {});\n\nmodule.exports = function (key) {\n ArrayProto[UNSCOPABLES][key] = true;\n};\n\n/***/ }),\n/* 47 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(48);\n\n__w_pdfjs_require__(63);\n\nmodule.exports = __w_pdfjs_require__(9).Array.from;\n\n/***/ }),\n/* 48 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $at = __w_pdfjs_require__(49)(true);\n\n__w_pdfjs_require__(50)(String, 'String', function (iterated) {\n this._t = String(iterated);\n this._i = 0;\n}, function () {\n var O = this._t;\n var index = this._i;\n var point;\n if (index >= O.length) return {\n value: undefined,\n done: true\n };\n point = $at(O, index);\n this._i += point.length;\n return {\n value: point,\n done: false\n };\n});\n\n/***/ }),\n/* 49 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar toInteger = __w_pdfjs_require__(29);\n\nvar defined = __w_pdfjs_require__(34);\n\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff ? TO_STRING ? s.charAt(i) : a : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n\n/***/ }),\n/* 50 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar LIBRARY = __w_pdfjs_require__(25);\n\nvar $export = __w_pdfjs_require__(7);\n\nvar redefine = __w_pdfjs_require__(20);\n\nvar hide = __w_pdfjs_require__(10);\n\nvar Iterators = __w_pdfjs_require__(51);\n\nvar $iterCreate = __w_pdfjs_require__(52);\n\nvar setToStringTag = __w_pdfjs_require__(60);\n\nvar getPrototypeOf = __w_pdfjs_require__(61);\n\nvar ITERATOR = __w_pdfjs_require__(33)('iterator');\n\nvar BUGGY = !([].keys && 'next' in [].keys());\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function returnThis() {\n return this;\n};\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n\n var getMethod = function getMethod(kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n\n switch (kind) {\n case KEYS:\n return function keys() {\n return new Constructor(this, kind);\n };\n\n case VALUES:\n return function values() {\n return new Constructor(this, kind);\n };\n }\n\n return function entries() {\n return new Constructor(this, kind);\n };\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\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n setToStringTag(IteratorPrototype, TAG, true);\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n\n $default = function values() {\n return $native.call(this);\n };\n }\n\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n\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\n return methods;\n};\n\n/***/ }),\n/* 51 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = {};\n\n/***/ }),\n/* 52 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar create = __w_pdfjs_require__(53);\n\nvar descriptor = __w_pdfjs_require__(19);\n\nvar setToStringTag = __w_pdfjs_require__(60);\n\nvar IteratorPrototype = {};\n\n__w_pdfjs_require__(10)(IteratorPrototype, __w_pdfjs_require__(33)('iterator'), function () {\n return this;\n});\n\nmodule.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/* 53 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar anObject = __w_pdfjs_require__(12);\n\nvar dPs = __w_pdfjs_require__(54);\n\nvar enumBugKeys = __w_pdfjs_require__(58);\n\nvar IE_PROTO = __w_pdfjs_require__(57)('IE_PROTO');\n\nvar Empty = function Empty() {};\n\nvar PROTOTYPE = 'prototype';\n\nvar _createDict = function createDict() {\n var iframe = __w_pdfjs_require__(17)('iframe');\n\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n\n __w_pdfjs_require__(59).appendChild(iframe);\n\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\n while (i--) {\n delete _createDict[PROTOTYPE][enumBugKeys[i]];\n }\n\n return _createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n\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\n return Properties === undefined ? result : dPs(result, Properties);\n};\n\n/***/ }),\n/* 54 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar dP = __w_pdfjs_require__(11);\n\nvar anObject = __w_pdfjs_require__(12);\n\nvar getKeys = __w_pdfjs_require__(55);\n\nmodule.exports = __w_pdfjs_require__(15) ? 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\n while (length > i) {\n dP.f(O, P = keys[i++], Properties[P]);\n }\n\n return O;\n};\n\n/***/ }),\n/* 55 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $keys = __w_pdfjs_require__(56);\n\nvar enumBugKeys = __w_pdfjs_require__(58);\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n\n/***/ }),\n/* 56 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar has = __w_pdfjs_require__(21);\n\nvar toIObject = __w_pdfjs_require__(43);\n\nvar arrayIndexOf = __w_pdfjs_require__(42)(false);\n\nvar IE_PROTO = __w_pdfjs_require__(57)('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n\n for (key in O) {\n if (key != IE_PROTO) has(O, key) && result.push(key);\n }\n\n while (names.length > i) {\n if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n }\n\n return result;\n};\n\n/***/ }),\n/* 57 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar shared = __w_pdfjs_require__(24)('keys');\n\nvar uid = __w_pdfjs_require__(22);\n\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n\n/***/ }),\n/* 58 */\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/* 59 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar document = __w_pdfjs_require__(8).document;\n\nmodule.exports = document && document.documentElement;\n\n/***/ }),\n/* 60 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar def = __w_pdfjs_require__(11).f;\n\nvar has = __w_pdfjs_require__(21);\n\nvar TAG = __w_pdfjs_require__(33)('toStringTag');\n\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/* 61 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar has = __w_pdfjs_require__(21);\n\nvar toObject = __w_pdfjs_require__(62);\n\nvar IE_PROTO = __w_pdfjs_require__(57)('IE_PROTO');\n\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n }\n\n return O instanceof Object ? ObjectProto : null;\n};\n\n/***/ }),\n/* 62 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar defined = __w_pdfjs_require__(34);\n\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n\n/***/ }),\n/* 63 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar ctx = __w_pdfjs_require__(26);\n\nvar $export = __w_pdfjs_require__(7);\n\nvar toObject = __w_pdfjs_require__(62);\n\nvar call = __w_pdfjs_require__(64);\n\nvar isArrayIter = __w_pdfjs_require__(65);\n\nvar toLength = __w_pdfjs_require__(28);\n\nvar createProperty = __w_pdfjs_require__(66);\n\nvar getIterFn = __w_pdfjs_require__(67);\n\n$export($export.S + $export.F * !__w_pdfjs_require__(69)(function (iter) {\n Array.from(iter);\n}), 'Array', {\n from: function from(arrayLike) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var aLen = arguments.length;\n var mapfn = aLen > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var index = 0;\n var iterFn = getIterFn(O);\n var length, result, step, iterator;\n if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n\n if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {\n for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {\n createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n }\n } else {\n length = toLength(O.length);\n\n for (result = new C(length); length > index; index++) {\n createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n }\n }\n\n result.length = index;\n return result;\n }\n});\n\n/***/ }),\n/* 64 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar anObject = __w_pdfjs_require__(12);\n\nmodule.exports = function (iterator, fn, value, entries) {\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n } catch (e) {\n var ret = iterator['return'];\n if (ret !== undefined) anObject(ret.call(iterator));\n throw e;\n }\n};\n\n/***/ }),\n/* 65 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar Iterators = __w_pdfjs_require__(51);\n\nvar ITERATOR = __w_pdfjs_require__(33)('iterator');\n\nvar ArrayProto = Array.prototype;\n\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 $defineProperty = __w_pdfjs_require__(11);\n\nvar createDesc = __w_pdfjs_require__(19);\n\nmodule.exports = function (object, index, value) {\n if (index in object) $defineProperty.f(object, index, createDesc(0, value));else object[index] = value;\n};\n\n/***/ }),\n/* 67 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar classof = __w_pdfjs_require__(68);\n\nvar ITERATOR = __w_pdfjs_require__(33)('iterator');\n\nvar Iterators = __w_pdfjs_require__(51);\n\nmodule.exports = __w_pdfjs_require__(9).getIteratorMethod = function (it) {\n if (it != undefined) return it[ITERATOR] || it['@@iterator'] || Iterators[classof(it)];\n};\n\n/***/ }),\n/* 68 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar cof = __w_pdfjs_require__(32);\n\nvar TAG = __w_pdfjs_require__(33)('toStringTag');\n\nvar ARG = cof(function () {\n return arguments;\n}()) == 'Arguments';\n\nvar tryGet = function tryGet(it, key) {\n try {\n return it[key];\n } catch (e) {}\n};\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/* 69 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar ITERATOR = __w_pdfjs_require__(33)('iterator');\n\nvar SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n\n riter['return'] = function () {\n SAFE_CLOSING = true;\n };\n\n Array.from(riter, function () {\n throw 2;\n });\n} catch (e) {}\n\nmodule.exports = function (exec, skipClosing) {\n if (!skipClosing && !SAFE_CLOSING) return false;\n var safe = false;\n\n try {\n var arr = [7];\n var iter = arr[ITERATOR]();\n\n iter.next = function () {\n return {\n done: safe = true\n };\n };\n\n arr[ITERATOR] = function () {\n return iter;\n };\n\n exec(arr);\n } catch (e) {}\n\n return safe;\n};\n\n/***/ }),\n/* 70 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(71);\n\nmodule.exports = __w_pdfjs_require__(9).Object.assign;\n\n/***/ }),\n/* 71 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\n\n$export($export.S + $export.F, 'Object', {\n assign: __w_pdfjs_require__(72)\n});\n\n/***/ }),\n/* 72 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar DESCRIPTORS = __w_pdfjs_require__(15);\n\nvar getKeys = __w_pdfjs_require__(55);\n\nvar gOPS = __w_pdfjs_require__(73);\n\nvar pIE = __w_pdfjs_require__(74);\n\nvar toObject = __w_pdfjs_require__(62);\n\nvar IObject = __w_pdfjs_require__(44);\n\nvar $assign = Object.assign;\nmodule.exports = !$assign || __w_pdfjs_require__(16)(function () {\n var A = {};\n var B = {};\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) {\n B[k] = k;\n });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) {\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || isEnum.call(S, key)) T[key] = S[key];\n }\n }\n\n return T;\n} : $assign;\n\n/***/ }),\n/* 73 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nexports.f = Object.getOwnPropertySymbols;\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\n__w_pdfjs_require__(76);\n\nmodule.exports = __w_pdfjs_require__(9).Math.log2;\n\n/***/ }),\n/* 76 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\n\n$export($export.S, 'Math', {\n log2: function log2(x) {\n return Math.log(x) / Math.LN2;\n }\n});\n\n/***/ }),\n/* 77 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(78);\n\nmodule.exports = __w_pdfjs_require__(9).Number.isNaN;\n\n/***/ }),\n/* 78 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\n\n$export($export.S, 'Number', {\n isNaN: function isNaN(number) {\n return number != number;\n }\n});\n\n/***/ }),\n/* 79 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(80);\n\nmodule.exports = __w_pdfjs_require__(9).Number.isInteger;\n\n/***/ }),\n/* 80 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\n\n$export($export.S, 'Number', {\n isInteger: __w_pdfjs_require__(81)\n});\n\n/***/ }),\n/* 81 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(13);\n\nvar floor = Math.floor;\n\nmodule.exports = function isInteger(it) {\n return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n\n/***/ }),\n/* 82 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(83);\n\n__w_pdfjs_require__(48);\n\n__w_pdfjs_require__(84);\n\n__w_pdfjs_require__(87);\n\n__w_pdfjs_require__(100);\n\n__w_pdfjs_require__(101);\n\nmodule.exports = __w_pdfjs_require__(9).Promise;\n\n/***/ }),\n/* 83 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar classof = __w_pdfjs_require__(68);\n\nvar test = {};\ntest[__w_pdfjs_require__(33)('toStringTag')] = 'z';\n\nif (test + '' != '[object z]') {\n __w_pdfjs_require__(20)(Object.prototype, 'toString', function toString() {\n return '[object ' + classof(this) + ']';\n }, true);\n}\n\n/***/ }),\n/* 84 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $iterators = __w_pdfjs_require__(85);\n\nvar getKeys = __w_pdfjs_require__(55);\n\nvar redefine = __w_pdfjs_require__(20);\n\nvar global = __w_pdfjs_require__(8);\n\nvar hide = __w_pdfjs_require__(10);\n\nvar Iterators = __w_pdfjs_require__(51);\n\nvar wks = __w_pdfjs_require__(33);\n\nvar ITERATOR = wks('iterator');\nvar TO_STRING_TAG = wks('toStringTag');\nvar ArrayValues = Iterators.Array;\nvar DOMIterables = {\n CSSRuleList: true,\n CSSStyleDeclaration: false,\n CSSValueList: false,\n ClientRectList: false,\n DOMRectList: false,\n DOMStringList: false,\n DOMTokenList: true,\n DataTransferItemList: false,\n FileList: false,\n HTMLAllCollection: false,\n HTMLCollection: false,\n HTMLFormElement: false,\n HTMLSelectElement: false,\n MediaList: true,\n MimeTypeArray: false,\n NamedNodeMap: false,\n NodeList: true,\n PaintRequestList: false,\n Plugin: false,\n PluginArray: false,\n SVGLengthList: false,\n SVGNumberList: false,\n SVGPathSegList: false,\n SVGPointList: false,\n SVGStringList: false,\n SVGTransformList: false,\n SourceBufferList: false,\n StyleSheetList: true,\n TextTrackCueList: false,\n TextTrackList: false,\n TouchList: false\n};\n\nfor (var collections = getKeys(DOMIterables), i = 0; i < collections.length; i++) {\n var NAME = collections[i];\n var explicit = DOMIterables[NAME];\n var Collection = global[NAME];\n var proto = Collection && Collection.prototype;\n var key;\n\n if (proto) {\n if (!proto[ITERATOR]) hide(proto, ITERATOR, ArrayValues);\n if (!proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = ArrayValues;\n if (explicit) for (key in $iterators) {\n if (!proto[key]) redefine(proto, key, $iterators[key], true);\n }\n }\n}\n\n/***/ }),\n/* 85 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar addToUnscopables = __w_pdfjs_require__(46);\n\nvar step = __w_pdfjs_require__(86);\n\nvar Iterators = __w_pdfjs_require__(51);\n\nvar toIObject = __w_pdfjs_require__(43);\n\nmodule.exports = __w_pdfjs_require__(50)(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\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\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/* 86 */\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/* 87 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar LIBRARY = __w_pdfjs_require__(25);\n\nvar global = __w_pdfjs_require__(8);\n\nvar ctx = __w_pdfjs_require__(26);\n\nvar classof = __w_pdfjs_require__(68);\n\nvar $export = __w_pdfjs_require__(7);\n\nvar isObject = __w_pdfjs_require__(13);\n\nvar aFunction = __w_pdfjs_require__(27);\n\nvar anInstance = __w_pdfjs_require__(88);\n\nvar forOf = __w_pdfjs_require__(89);\n\nvar speciesConstructor = __w_pdfjs_require__(90);\n\nvar task = __w_pdfjs_require__(91).set;\n\nvar microtask = __w_pdfjs_require__(93)();\n\nvar newPromiseCapabilityModule = __w_pdfjs_require__(94);\n\nvar perform = __w_pdfjs_require__(95);\n\nvar userAgent = __w_pdfjs_require__(96);\n\nvar promiseResolve = __w_pdfjs_require__(97);\n\nvar PROMISE = 'Promise';\nvar TypeError = global.TypeError;\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8 || '';\nvar $Promise = global[PROMISE];\nvar isNode = classof(process) == 'process';\n\nvar empty = function empty() {};\n\nvar Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;\nvar newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;\nvar USE_NATIVE = !!function () {\n try {\n var promise = $Promise.resolve(1);\n\n var FakePromise = (promise.constructor = {})[__w_pdfjs_require__(33)('species')] = function (exec) {\n exec(empty, empty);\n };\n\n return (isNode || typeof PromiseRejectionEvent == 'function') && promise.then(empty) instanceof FakePromise && v8.indexOf('6.6') !== 0 && userAgent.indexOf('Chrome/66') === -1;\n } catch (e) {}\n}();\n\nvar isThenable = function isThenable(it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\n\nvar notify = function notify(promise, isReject) {\n if (promise._n) return;\n promise._n = true;\n var chain = promise._c;\n microtask(function () {\n var value = promise._v;\n var ok = promise._s == 1;\n var i = 0;\n\n var run = function run(reaction) {\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n\n try {\n if (handler) {\n if (!ok) {\n if (promise._h == 2) onHandleUnhandled(promise);\n promise._h = 1;\n }\n\n if (handler === true) result = value;else {\n if (domain) domain.enter();\n result = handler(value);\n\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (e) {\n if (domain && !exited) domain.exit();\n reject(e);\n }\n };\n\n while (chain.length > i) {\n run(chain[i++]);\n }\n\n promise._c = [];\n promise._n = false;\n if (isReject && !promise._h) onUnhandled(promise);\n });\n};\n\nvar onUnhandled = function onUnhandled(promise) {\n task.call(global, function () {\n var value = promise._v;\n var unhandled = isUnhandled(promise);\n var result, handler, console;\n\n if (unhandled) {\n result = perform(function () {\n if (isNode) {\n process.emit('unhandledRejection', value, promise);\n } else if (handler = global.onunhandledrejection) {\n handler({\n promise: promise,\n reason: value\n });\n } else if ((console = global.console) && console.error) {\n console.error('Unhandled promise rejection', value);\n }\n });\n promise._h = isNode || isUnhandled(promise) ? 2 : 1;\n }\n\n promise._a = undefined;\n if (unhandled && result.e) throw result.v;\n });\n};\n\nvar isUnhandled = function isUnhandled(promise) {\n return promise._h !== 1 && (promise._a || promise._c).length === 0;\n};\n\nvar onHandleUnhandled = function onHandleUnhandled(promise) {\n task.call(global, function () {\n var handler;\n\n if (isNode) {\n process.emit('rejectionHandled', promise);\n } else if (handler = global.onrejectionhandled) {\n handler({\n promise: promise,\n reason: promise._v\n });\n }\n });\n};\n\nvar $reject = function $reject(value) {\n var promise = this;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise;\n promise._v = value;\n promise._s = 2;\n if (!promise._a) promise._a = promise._c.slice();\n notify(promise, true);\n};\n\nvar $resolve = function $resolve(value) {\n var promise = this;\n var then;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise;\n\n try {\n if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n\n if (then = isThenable(value)) {\n microtask(function () {\n var wrapper = {\n _w: promise,\n _d: false\n };\n\n try {\n then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));\n } catch (e) {\n $reject.call(wrapper, e);\n }\n });\n } else {\n promise._v = value;\n promise._s = 1;\n notify(promise, false);\n }\n } catch (e) {\n $reject.call({\n _w: promise,\n _d: false\n }, e);\n }\n};\n\nif (!USE_NATIVE) {\n $Promise = function Promise(executor) {\n anInstance(this, $Promise, PROMISE, '_h');\n aFunction(executor);\n Internal.call(this);\n\n try {\n executor(ctx($resolve, this, 1), ctx($reject, this, 1));\n } catch (err) {\n $reject.call(this, err);\n }\n };\n\n Internal = function Promise(executor) {\n this._c = [];\n this._a = undefined;\n this._s = 0;\n this._d = false;\n this._v = undefined;\n this._h = 0;\n this._n = false;\n };\n\n Internal.prototype = __w_pdfjs_require__(98)($Promise.prototype, {\n then: function then(onFulfilled, onRejected) {\n var reaction = newPromiseCapability(speciesConstructor(this, $Promise));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = isNode ? process.domain : undefined;\n\n this._c.push(reaction);\n\n if (this._a) this._a.push(reaction);\n if (this._s) notify(this, false);\n return reaction.promise;\n },\n 'catch': function _catch(onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n\n OwnPromiseCapability = function OwnPromiseCapability() {\n var promise = new Internal();\n this.promise = promise;\n this.resolve = ctx($resolve, promise, 1);\n this.reject = ctx($reject, promise, 1);\n };\n\n newPromiseCapabilityModule.f = newPromiseCapability = function newPromiseCapability(C) {\n return C === $Promise || C === Wrapper ? new OwnPromiseCapability(C) : newGenericPromiseCapability(C);\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, {\n Promise: $Promise\n});\n\n__w_pdfjs_require__(60)($Promise, PROMISE);\n\n__w_pdfjs_require__(99)(PROMISE);\n\nWrapper = __w_pdfjs_require__(9)[PROMISE];\n$export($export.S + $export.F * !USE_NATIVE, PROMISE, {\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n var $$reject = capability.reject;\n $$reject(r);\n return capability.promise;\n }\n});\n$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {\n resolve: function resolve(x) {\n return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x);\n }\n});\n$export($export.S + $export.F * !(USE_NATIVE && __w_pdfjs_require__(69)(function (iter) {\n $Promise.all(iter)['catch'](empty);\n})), PROMISE, {\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var values = [];\n var index = 0;\n var remaining = 1;\n forOf(iterable, false, function (promise) {\n var $index = index++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n C.resolve(promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[$index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.e) reject(result.v);\n return capability.promise;\n },\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n forOf(iterable, false, function (promise) {\n C.resolve(promise).then(capability.resolve, reject);\n });\n });\n if (result.e) reject(result.v);\n return capability.promise;\n }\n});\n\n/***/ }),\n/* 88 */\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\n return it;\n};\n\n/***/ }),\n/* 89 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar ctx = __w_pdfjs_require__(26);\n\nvar call = __w_pdfjs_require__(64);\n\nvar isArrayIter = __w_pdfjs_require__(65);\n\nvar anObject = __w_pdfjs_require__(12);\n\nvar toLength = __w_pdfjs_require__(28);\n\nvar getIterFn = __w_pdfjs_require__(67);\n\nvar BREAK = {};\nvar RETURN = {};\n\nvar _exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n var iterFn = ITERATOR ? function () {\n return iterable;\n } : getIterFn(iterable);\n var f = ctx(fn, that, entries ? 2 : 1);\n var index = 0;\n var length, step, iterator, result;\n if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n if (result === BREAK || result === RETURN) return result;\n } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n result = call(iterator, f, step.value, entries);\n if (result === BREAK || result === RETURN) return result;\n }\n};\n\n_exports.BREAK = BREAK;\n_exports.RETURN = RETURN;\n\n/***/ }),\n/* 90 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar anObject = __w_pdfjs_require__(12);\n\nvar aFunction = __w_pdfjs_require__(27);\n\nvar SPECIES = __w_pdfjs_require__(33)('species');\n\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/* 91 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar ctx = __w_pdfjs_require__(26);\n\nvar invoke = __w_pdfjs_require__(92);\n\nvar html = __w_pdfjs_require__(59);\n\nvar cel = __w_pdfjs_require__(17);\n\nvar global = __w_pdfjs_require__(8);\n\nvar process = global.process;\nvar setTask = global.setImmediate;\nvar clearTask = global.clearImmediate;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\n\nvar run = function run() {\n var id = +this;\n\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\n\nvar listener = function listener(event) {\n run.call(event.data);\n};\n\nif (!setTask || !clearTask) {\n setTask = function setImmediate(fn) {\n var args = [];\n var i = 1;\n\n while (arguments.length > i) {\n args.push(arguments[i++]);\n }\n\n queue[++counter] = function () {\n invoke(typeof fn == 'function' ? fn : Function(fn), args);\n };\n\n defer(counter);\n return counter;\n };\n\n clearTask = function clearImmediate(id) {\n delete queue[id];\n };\n\n if (__w_pdfjs_require__(32)(process) == 'process') {\n defer = function defer(id) {\n process.nextTick(ctx(run, id, 1));\n };\n } else if (Dispatch && Dispatch.now) {\n defer = function defer(id) {\n Dispatch.now(ctx(run, id, 1));\n };\n } else if (MessageChannel) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = ctx(port.postMessage, port, 1);\n } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {\n defer = function defer(id) {\n global.postMessage(id + '', '*');\n };\n\n global.addEventListener('message', listener, false);\n } else if (ONREADYSTATECHANGE in cel('script')) {\n defer = function defer(id) {\n html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run.call(id);\n };\n };\n } else {\n defer = function defer(id) {\n setTimeout(ctx(run, id, 1), 0);\n };\n }\n}\n\nmodule.exports = {\n set: setTask,\n clear: clearTask\n};\n\n/***/ }),\n/* 92 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (fn, args, that) {\n var un = that === undefined;\n\n switch (args.length) {\n case 0:\n return un ? fn() : fn.call(that);\n\n case 1:\n return un ? fn(args[0]) : fn.call(that, args[0]);\n\n case 2:\n return un ? fn(args[0], args[1]) : fn.call(that, args[0], args[1]);\n\n case 3:\n return un ? fn(args[0], args[1], args[2]) : fn.call(that, args[0], args[1], args[2]);\n\n case 4:\n return un ? fn(args[0], args[1], args[2], args[3]) : fn.call(that, args[0], args[1], args[2], args[3]);\n }\n\n return fn.apply(that, args);\n};\n\n/***/ }),\n/* 93 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = __w_pdfjs_require__(8);\n\nvar macrotask = __w_pdfjs_require__(91).set;\n\nvar Observer = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar isNode = __w_pdfjs_require__(32)(process) == 'process';\n\nmodule.exports = function () {\n var head, last, notify;\n\n var flush = function flush() {\n var parent, fn;\n if (isNode && (parent = process.domain)) parent.exit();\n\n while (head) {\n fn = head.fn;\n head = head.next;\n\n try {\n fn();\n } catch (e) {\n if (head) notify();else last = undefined;\n throw e;\n }\n }\n\n last = undefined;\n if (parent) parent.enter();\n };\n\n if (isNode) {\n notify = function notify() {\n process.nextTick(flush);\n };\n } else if (Observer && !(global.navigator && global.navigator.standalone)) {\n var toggle = true;\n var node = document.createTextNode('');\n new Observer(flush).observe(node, {\n characterData: true\n });\n\n notify = function notify() {\n node.data = toggle = !toggle;\n };\n } else if (Promise && Promise.resolve) {\n var promise = Promise.resolve(undefined);\n\n notify = function notify() {\n promise.then(flush);\n };\n } else {\n notify = function notify() {\n macrotask.call(global, flush);\n };\n }\n\n return function (fn) {\n var task = {\n fn: fn,\n next: undefined\n };\n if (last) last.next = task;\n\n if (!head) {\n head = task;\n notify();\n }\n\n last = task;\n };\n};\n\n/***/ }),\n/* 94 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar aFunction = __w_pdfjs_require__(27);\n\nfunction PromiseCapability(C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n}\n\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n\n/***/ }),\n/* 95 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (exec) {\n try {\n return {\n e: false,\n v: exec()\n };\n } catch (e) {\n return {\n e: true,\n v: e\n };\n }\n};\n\n/***/ }),\n/* 96 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = __w_pdfjs_require__(8);\n\nvar navigator = global.navigator;\nmodule.exports = navigator && navigator.userAgent || '';\n\n/***/ }),\n/* 97 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar anObject = __w_pdfjs_require__(12);\n\nvar isObject = __w_pdfjs_require__(13);\n\nvar newPromiseCapability = __w_pdfjs_require__(94);\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n\n/***/ }),\n/* 98 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar redefine = __w_pdfjs_require__(20);\n\nmodule.exports = function (target, src, safe) {\n for (var key in src) {\n redefine(target, key, src[key], safe);\n }\n\n return target;\n};\n\n/***/ }),\n/* 99 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = __w_pdfjs_require__(8);\n\nvar dP = __w_pdfjs_require__(11);\n\nvar DESCRIPTORS = __w_pdfjs_require__(15);\n\nvar SPECIES = __w_pdfjs_require__(33)('species');\n\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/* 100 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\n\nvar core = __w_pdfjs_require__(9);\n\nvar global = __w_pdfjs_require__(8);\n\nvar speciesConstructor = __w_pdfjs_require__(90);\n\nvar promiseResolve = __w_pdfjs_require__(97);\n\n$export($export.P + $export.R, 'Promise', {\n 'finally': function _finally(onFinally) {\n var C = speciesConstructor(this, core.Promise || global.Promise);\n var isFunction = typeof onFinally == 'function';\n return this.then(isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () {\n return x;\n });\n } : onFinally, isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () {\n throw e;\n });\n } : onFinally);\n }\n});\n\n/***/ }),\n/* 101 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\n\nvar newPromiseCapability = __w_pdfjs_require__(94);\n\nvar perform = __w_pdfjs_require__(95);\n\n$export($export.S, 'Promise', {\n 'try': function _try(callbackfn) {\n var promiseCapability = newPromiseCapability.f(this);\n var result = perform(callbackfn);\n (result.e ? promiseCapability.reject : promiseCapability.resolve)(result.v);\n return promiseCapability.promise;\n }\n});\n\n/***/ }),\n/* 102 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(83);\n\n__w_pdfjs_require__(84);\n\n__w_pdfjs_require__(103);\n\n__w_pdfjs_require__(115);\n\n__w_pdfjs_require__(117);\n\nmodule.exports = __w_pdfjs_require__(9).WeakMap;\n\n/***/ }),\n/* 103 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = __w_pdfjs_require__(8);\n\nvar each = __w_pdfjs_require__(104)(0);\n\nvar redefine = __w_pdfjs_require__(20);\n\nvar meta = __w_pdfjs_require__(108);\n\nvar assign = __w_pdfjs_require__(72);\n\nvar weak = __w_pdfjs_require__(109);\n\nvar isObject = __w_pdfjs_require__(13);\n\nvar validate = __w_pdfjs_require__(110);\n\nvar NATIVE_WEAK_MAP = __w_pdfjs_require__(110);\n\nvar IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global;\nvar WEAK_MAP = 'WeakMap';\nvar getWeak = meta.getWeak;\nvar isExtensible = Object.isExtensible;\nvar uncaughtFrozenStore = weak.ufstore;\nvar InternalMap;\n\nvar wrapper = function wrapper(get) {\n return function WeakMap() {\n return get(this, arguments.length > 0 ? arguments[0] : undefined);\n };\n};\n\nvar methods = {\n get: function get(key) {\n if (isObject(key)) {\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, WEAK_MAP)).get(key);\n return data ? data[this._i] : undefined;\n }\n },\n set: function set(key, value) {\n return weak.def(validate(this, WEAK_MAP), key, value);\n }\n};\n\nvar $WeakMap = module.exports = __w_pdfjs_require__(111)(WEAK_MAP, wrapper, methods, weak, true, true);\n\nif (NATIVE_WEAK_MAP && IS_IE11) {\n InternalMap = weak.getConstructor(wrapper, WEAK_MAP);\n assign(InternalMap.prototype, methods);\n meta.NEED = true;\n each(['delete', 'has', 'get', 'set'], function (key) {\n var proto = $WeakMap.prototype;\n var method = proto[key];\n redefine(proto, key, function (a, b) {\n if (isObject(a) && !isExtensible(a)) {\n if (!this._f) this._f = new InternalMap();\n\n var result = this._f[key](a, b);\n\n return key == 'set' ? this : result;\n }\n\n return method.call(this, a, b);\n });\n });\n}\n\n/***/ }),\n/* 104 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar ctx = __w_pdfjs_require__(26);\n\nvar IObject = __w_pdfjs_require__(44);\n\nvar toObject = __w_pdfjs_require__(62);\n\nvar toLength = __w_pdfjs_require__(28);\n\nvar asc = __w_pdfjs_require__(105);\n\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\n for (; length > index; index++) {\n if (NO_HOLES || index in self) {\n val = self[index];\n res = f(val, index, O);\n\n if (TYPE) {\n if (IS_MAP) result[index] = res;else if (res) switch (TYPE) {\n case 3:\n return true;\n\n case 5:\n return val;\n\n case 6:\n return index;\n\n case 2:\n result.push(val);\n } else if (IS_EVERY) return false;\n }\n }\n }\n\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;\n };\n};\n\n/***/ }),\n/* 105 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar speciesConstructor = __w_pdfjs_require__(106);\n\nmodule.exports = function (original, length) {\n return new (speciesConstructor(original))(length);\n};\n\n/***/ }),\n/* 106 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(13);\n\nvar isArray = __w_pdfjs_require__(107);\n\nvar SPECIES = __w_pdfjs_require__(33)('species');\n\nmodule.exports = function (original) {\n var C;\n\n if (isArray(original)) {\n C = original.constructor;\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n\n if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n }\n\n return C === undefined ? Array : C;\n};\n\n/***/ }),\n/* 107 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar cof = __w_pdfjs_require__(32);\n\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n\n/***/ }),\n/* 108 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar META = __w_pdfjs_require__(22)('meta');\n\nvar isObject = __w_pdfjs_require__(13);\n\nvar has = __w_pdfjs_require__(21);\n\nvar setDesc = __w_pdfjs_require__(11).f;\n\nvar id = 0;\n\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\n\nvar FREEZE = !__w_pdfjs_require__(16)(function () {\n return isExtensible(Object.preventExtensions({}));\n});\n\nvar setMeta = function setMeta(it) {\n setDesc(it, META, {\n value: {\n i: 'O' + ++id,\n w: {}\n }\n });\n};\n\nvar fastKey = function fastKey(it, create) {\n if (!isObject(it)) return _typeof(it) == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n\n if (!has(it, META)) {\n if (!isExtensible(it)) return 'F';\n if (!create) return 'E';\n setMeta(it);\n }\n\n return it[META].i;\n};\n\nvar getWeak = function getWeak(it, create) {\n if (!has(it, META)) {\n if (!isExtensible(it)) return true;\n if (!create) return false;\n setMeta(it);\n }\n\n return it[META].w;\n};\n\nvar onFreeze = function onFreeze(it) {\n if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n return it;\n};\n\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};\n\n/***/ }),\n/* 109 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar redefineAll = __w_pdfjs_require__(98);\n\nvar getWeak = __w_pdfjs_require__(108).getWeak;\n\nvar anObject = __w_pdfjs_require__(12);\n\nvar isObject = __w_pdfjs_require__(13);\n\nvar anInstance = __w_pdfjs_require__(88);\n\nvar forOf = __w_pdfjs_require__(89);\n\nvar createArrayMethod = __w_pdfjs_require__(104);\n\nvar $has = __w_pdfjs_require__(21);\n\nvar validate = __w_pdfjs_require__(110);\n\nvar arrayFind = createArrayMethod(5);\nvar arrayFindIndex = createArrayMethod(6);\nvar id = 0;\n\nvar uncaughtFrozenStore = function uncaughtFrozenStore(that) {\n return that._l || (that._l = new UncaughtFrozenStore());\n};\n\nvar UncaughtFrozenStore = function UncaughtFrozenStore() {\n this.a = [];\n};\n\nvar findUncaughtFrozen = function findUncaughtFrozen(store, key) {\n return arrayFind(store.a, function (it) {\n return it[0] === key;\n });\n};\n\nUncaughtFrozenStore.prototype = {\n get: function get(key) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) return entry[1];\n },\n has: function has(key) {\n return !!findUncaughtFrozen(this, key);\n },\n set: function set(key, value) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) entry[1] = value;else this.a.push([key, value]);\n },\n 'delete': function _delete(key) {\n var index = arrayFindIndex(this.a, function (it) {\n return it[0] === key;\n });\n if (~index) this.a.splice(index, 1);\n return !!~index;\n }\n};\nmodule.exports = {\n getConstructor: function getConstructor(wrapper, NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, NAME, '_i');\n that._t = NAME;\n that._i = id++;\n that._l = undefined;\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n 'delete': function _delete(key) {\n if (!isObject(key)) return false;\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, NAME))['delete'](key);\n return data && $has(data, this._i) && delete data[this._i];\n },\n has: function has(key) {\n if (!isObject(key)) return false;\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, NAME)).has(key);\n return data && $has(data, this._i);\n }\n });\n return C;\n },\n def: function def(that, key, value) {\n var data = getWeak(anObject(key), true);\n if (data === true) uncaughtFrozenStore(that).set(key, value);else data[that._i] = value;\n return that;\n },\n ufstore: uncaughtFrozenStore\n};\n\n/***/ }),\n/* 110 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(13);\n\nmodule.exports = function (it, TYPE) {\n if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!');\n return it;\n};\n\n/***/ }),\n/* 111 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = __w_pdfjs_require__(8);\n\nvar $export = __w_pdfjs_require__(7);\n\nvar redefine = __w_pdfjs_require__(20);\n\nvar redefineAll = __w_pdfjs_require__(98);\n\nvar meta = __w_pdfjs_require__(108);\n\nvar forOf = __w_pdfjs_require__(89);\n\nvar anInstance = __w_pdfjs_require__(88);\n\nvar isObject = __w_pdfjs_require__(13);\n\nvar fails = __w_pdfjs_require__(16);\n\nvar $iterDetect = __w_pdfjs_require__(69);\n\nvar setToStringTag = __w_pdfjs_require__(60);\n\nvar inheritIfRequired = __w_pdfjs_require__(112);\n\nmodule.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {\n var Base = global[NAME];\n var C = Base;\n var ADDER = IS_MAP ? 'set' : 'add';\n var proto = C && C.prototype;\n var O = {};\n\n var fixMethod = function fixMethod(KEY) {\n var fn = proto[KEY];\n redefine(proto, KEY, KEY == 'delete' ? function (a) {\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'has' ? function has(a) {\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'get' ? function get(a) {\n return IS_WEAK && !isObject(a) ? undefined : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'add' ? function add(a) {\n fn.call(this, a === 0 ? 0 : a);\n return this;\n } : function set(a, b) {\n fn.call(this, a === 0 ? 0 : a, b);\n return this;\n });\n };\n\n if (typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () {\n new C().entries().next();\n }))) {\n C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);\n redefineAll(C.prototype, methods);\n meta.NEED = true;\n } else {\n var instance = new C();\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n var THROWS_ON_PRIMITIVES = fails(function () {\n instance.has(1);\n });\n var ACCEPT_ITERABLES = $iterDetect(function (iter) {\n new C(iter);\n });\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n var $instance = new C();\n var index = 5;\n\n while (index--) {\n $instance[ADDER](index, index);\n }\n\n return !$instance.has(-0);\n });\n\n if (!ACCEPT_ITERABLES) {\n C = wrapper(function (target, iterable) {\n anInstance(target, C, NAME);\n var that = inheritIfRequired(new Base(), target, C);\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n return that;\n });\n C.prototype = proto;\n proto.constructor = C;\n }\n\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n if (IS_WEAK && proto.clear) delete proto.clear;\n }\n\n setToStringTag(C, NAME);\n O[NAME] = C;\n $export($export.G + $export.W + $export.F * (C != Base), O);\n if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP);\n return C;\n};\n\n/***/ }),\n/* 112 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(13);\n\nvar setPrototypeOf = __w_pdfjs_require__(113).set;\n\nmodule.exports = function (that, target, C) {\n var S = target.constructor;\n var P;\n\n if (S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf) {\n setPrototypeOf(that, P);\n }\n\n return that;\n};\n\n/***/ }),\n/* 113 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(13);\n\nvar anObject = __w_pdfjs_require__(12);\n\nvar check = function check(O, proto) {\n anObject(O);\n if (!isObject(proto) && proto !== null) throw TypeError(proto + \": can't set as prototype!\");\n};\n\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? function (test, buggy, set) {\n try {\n set = __w_pdfjs_require__(26)(Function.call, __w_pdfjs_require__(114).f(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch (e) {\n buggy = true;\n }\n\n return function setPrototypeOf(O, proto) {\n check(O, proto);\n if (buggy) O.__proto__ = proto;else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};\n\n/***/ }),\n/* 114 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar pIE = __w_pdfjs_require__(74);\n\nvar createDesc = __w_pdfjs_require__(19);\n\nvar toIObject = __w_pdfjs_require__(43);\n\nvar toPrimitive = __w_pdfjs_require__(18);\n\nvar has = __w_pdfjs_require__(21);\n\nvar IE8_DOM_DEFINE = __w_pdfjs_require__(14);\n\nvar gOPD = Object.getOwnPropertyDescriptor;\nexports.f = __w_pdfjs_require__(15) ? 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/* 115 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(116)('WeakMap');\n\n/***/ }),\n/* 116 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\n\nmodule.exports = function (COLLECTION) {\n $export($export.S, COLLECTION, {\n of: function of() {\n var length = arguments.length;\n var A = new Array(length);\n\n while (length--) {\n A[length] = arguments[length];\n }\n\n return new this(A);\n }\n });\n};\n\n/***/ }),\n/* 117 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(118)('WeakMap');\n\n/***/ }),\n/* 118 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\n\nvar aFunction = __w_pdfjs_require__(27);\n\nvar ctx = __w_pdfjs_require__(26);\n\nvar forOf = __w_pdfjs_require__(89);\n\nmodule.exports = function (COLLECTION) {\n $export($export.S, COLLECTION, {\n from: function from(source) {\n var mapFn = arguments[1];\n var mapping, A, n, cb;\n aFunction(this);\n mapping = mapFn !== undefined;\n if (mapping) aFunction(mapFn);\n if (source == undefined) return new this();\n A = [];\n\n if (mapping) {\n n = 0;\n cb = ctx(mapFn, arguments[2], 2);\n forOf(source, false, function (nextItem) {\n A.push(cb(nextItem, n++));\n });\n } else {\n forOf(source, false, A.push, A);\n }\n\n return new this(A);\n }\n });\n};\n\n/***/ }),\n/* 119 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(83);\n\n__w_pdfjs_require__(84);\n\n__w_pdfjs_require__(120);\n\n__w_pdfjs_require__(121);\n\n__w_pdfjs_require__(122);\n\nmodule.exports = __w_pdfjs_require__(9).WeakSet;\n\n/***/ }),\n/* 120 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar weak = __w_pdfjs_require__(109);\n\nvar validate = __w_pdfjs_require__(110);\n\nvar WEAK_SET = 'WeakSet';\n\n__w_pdfjs_require__(111)(WEAK_SET, function (get) {\n return function WeakSet() {\n return get(this, arguments.length > 0 ? arguments[0] : undefined);\n };\n}, {\n add: function add(value) {\n return weak.def(validate(this, WEAK_SET), value, true);\n }\n}, weak, false, true);\n\n/***/ }),\n/* 121 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(116)('WeakSet');\n\n/***/ }),\n/* 122 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(118)('WeakSet');\n\n/***/ }),\n/* 123 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(124);\n\nmodule.exports = __w_pdfjs_require__(9).String.codePointAt;\n\n/***/ }),\n/* 124 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\n\nvar $at = __w_pdfjs_require__(49)(false);\n\n$export($export.P, 'String', {\n codePointAt: function codePointAt(pos) {\n return $at(this, pos);\n }\n});\n\n/***/ }),\n/* 125 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(126);\n\nmodule.exports = __w_pdfjs_require__(9).String.fromCodePoint;\n\n/***/ }),\n/* 126 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\n\nvar toAbsoluteIndex = __w_pdfjs_require__(45);\n\nvar fromCharCode = String.fromCharCode;\nvar $fromCodePoint = String.fromCodePoint;\n$export($export.S + $export.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String', {\n fromCodePoint: function fromCodePoint(x) {\n var res = [];\n var aLen = arguments.length;\n var i = 0;\n var code;\n\n while (aLen > i) {\n code = +arguments[i++];\n if (toAbsoluteIndex(code, 0x10ffff) !== code) throw RangeError(code + ' is not a valid code point');\n res.push(code < 0x10000 ? fromCharCode(code) : fromCharCode(((code -= 0x10000) >> 10) + 0xd800, code % 0x400 + 0xdc00));\n }\n\n return res.join('');\n }\n});\n\n/***/ }),\n/* 127 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(128);\n\n__w_pdfjs_require__(83);\n\nmodule.exports = __w_pdfjs_require__(9).Symbol;\n\n/***/ }),\n/* 128 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar global = __w_pdfjs_require__(8);\n\nvar has = __w_pdfjs_require__(21);\n\nvar DESCRIPTORS = __w_pdfjs_require__(15);\n\nvar $export = __w_pdfjs_require__(7);\n\nvar redefine = __w_pdfjs_require__(20);\n\nvar META = __w_pdfjs_require__(108).KEY;\n\nvar $fails = __w_pdfjs_require__(16);\n\nvar shared = __w_pdfjs_require__(24);\n\nvar setToStringTag = __w_pdfjs_require__(60);\n\nvar uid = __w_pdfjs_require__(22);\n\nvar wks = __w_pdfjs_require__(33);\n\nvar wksExt = __w_pdfjs_require__(129);\n\nvar wksDefine = __w_pdfjs_require__(130);\n\nvar enumKeys = __w_pdfjs_require__(131);\n\nvar isArray = __w_pdfjs_require__(107);\n\nvar anObject = __w_pdfjs_require__(12);\n\nvar isObject = __w_pdfjs_require__(13);\n\nvar toObject = __w_pdfjs_require__(62);\n\nvar toIObject = __w_pdfjs_require__(43);\n\nvar toPrimitive = __w_pdfjs_require__(18);\n\nvar createDesc = __w_pdfjs_require__(19);\n\nvar _create = __w_pdfjs_require__(53);\n\nvar gOPNExt = __w_pdfjs_require__(132);\n\nvar $GOPD = __w_pdfjs_require__(114);\n\nvar $GOPS = __w_pdfjs_require__(73);\n\nvar $DP = __w_pdfjs_require__(11);\n\nvar $keys = __w_pdfjs_require__(55);\n\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\n\nvar _stringify = $JSON && $JSON.stringify;\n\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function' && !!$GOPS.f;\nvar QObject = global.QObject;\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n return _create(dP({}, 'a', {\n get: function get() {\n return dP(this, 'a', {\n value: 7\n }).a;\n }\n })).a != 7;\n}) ? function (it, key, D) {\n var protoDesc = gOPD(ObjectProto, key);\n if (protoDesc) delete ObjectProto[key];\n dP(it, key, D);\n if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function wrap(tag) {\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && _typeof($Symbol.iterator) == 'symbol' ? function (it) {\n return _typeof(it) == 'symbol';\n} : function (it) {\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n\n if (has(AllSymbols, key)) {\n if (!D.enumerable) {\n if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n D = _create(D, {\n enumerable: createDesc(0, false)\n });\n }\n\n return setSymbolDesc(it, key, D);\n }\n\n return dP(it, key, D);\n};\n\nvar $defineProperties = function defineProperties(it, P) {\n anObject(it);\n var keys = enumKeys(P = toIObject(P));\n var i = 0;\n var l = keys.length;\n var key;\n\n while (l > i) {\n $defineProperty(it, key = keys[i++], P[key]);\n }\n\n return it;\n};\n\nvar $create = function create(it, P) {\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\n\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\n\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n it = toIObject(it);\n key = toPrimitive(key, true);\n if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n var D = gOPD(it, key);\n if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n return D;\n};\n\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n var names = gOPN(toIObject(it));\n var result = [];\n var i = 0;\n var key;\n\n while (names.length > i) {\n if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n }\n\n return result;\n};\n\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n var IS_OP = it === ObjectProto;\n var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n var result = [];\n var i = 0;\n var key;\n\n while (names.length > i) {\n if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n }\n\n return result;\n};\n\nif (!USE_NATIVE) {\n $Symbol = function _Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n\n var $set = function $set(value) {\n if (this === ObjectProto) $set.call(OPSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n\n if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, {\n configurable: true,\n set: $set\n });\n return wrap(tag);\n };\n\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return this._k;\n });\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n __w_pdfjs_require__(133).f = gOPNExt.f = $getOwnPropertyNames;\n __w_pdfjs_require__(74).f = $propertyIsEnumerable;\n $GOPS.f = $getOwnPropertySymbols;\n\n if (DESCRIPTORS && !__w_pdfjs_require__(25)) {\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function (name) {\n return wrap(wks(name));\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, {\n Symbol: $Symbol\n});\n\nfor (var es6Symbols = 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'.split(','), j = 0; es6Symbols.length > j;) {\n wks(es6Symbols[j++]);\n}\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) {\n wksDefine(wellKnownSymbols[k++]);\n}\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n 'for': function _for(key) {\n return has(SymbolRegistry, key += '') ? SymbolRegistry[key] : SymbolRegistry[key] = $Symbol(key);\n },\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n\n for (var key in SymbolRegistry) {\n if (SymbolRegistry[key] === sym) return key;\n }\n },\n useSetter: function useSetter() {\n setter = true;\n },\n useSimple: function useSimple() {\n setter = false;\n }\n});\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n create: $create,\n defineProperty: $defineProperty,\n defineProperties: $defineProperties,\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n getOwnPropertyNames: $getOwnPropertyNames,\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\nvar FAILS_ON_PRIMITIVES = $fails(function () {\n $GOPS.f(1);\n});\n$export($export.S + $export.F * FAILS_ON_PRIMITIVES, 'Object', {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n return $GOPS.f(toObject(it));\n }\n});\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n var S = $Symbol();\n return _stringify([S]) != '[null]' || _stringify({\n a: S\n }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it) {\n var args = [it];\n var i = 1;\n var replacer, $replacer;\n\n while (arguments.length > i) {\n args.push(arguments[i++]);\n }\n\n $replacer = replacer = args[1];\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return;\n if (!isArray(replacer)) replacer = function replacer(key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || __w_pdfjs_require__(10)($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\nsetToStringTag($Symbol, 'Symbol');\nsetToStringTag(Math, 'Math', true);\nsetToStringTag(global.JSON, 'JSON', true);\n\n/***/ }),\n/* 129 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nexports.f = __w_pdfjs_require__(33);\n\n/***/ }),\n/* 130 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = __w_pdfjs_require__(8);\n\nvar core = __w_pdfjs_require__(9);\n\nvar LIBRARY = __w_pdfjs_require__(25);\n\nvar wksExt = __w_pdfjs_require__(129);\n\nvar defineProperty = __w_pdfjs_require__(11).f;\n\nmodule.exports = function (name) {\n var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, {\n value: wksExt.f(name)\n });\n};\n\n/***/ }),\n/* 131 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar getKeys = __w_pdfjs_require__(55);\n\nvar gOPS = __w_pdfjs_require__(73);\n\nvar pIE = __w_pdfjs_require__(74);\n\nmodule.exports = function (it) {\n var result = getKeys(it);\n var getSymbols = gOPS.f;\n\n if (getSymbols) {\n var symbols = getSymbols(it);\n var isEnum = pIE.f;\n var i = 0;\n var key;\n\n while (symbols.length > i) {\n if (isEnum.call(it, key = symbols[i++])) result.push(key);\n }\n }\n\n return result;\n};\n\n/***/ }),\n/* 132 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar toIObject = __w_pdfjs_require__(43);\n\nvar gOPN = __w_pdfjs_require__(133).f;\n\nvar toString = {}.toString;\nvar windowNames = (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) == 'object' && window && Object.getOwnPropertyNames ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function getWindowNames(it) {\n try {\n return gOPN(it);\n } catch (e) {\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n\n/***/ }),\n/* 133 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $keys = __w_pdfjs_require__(56);\n\nvar hiddenKeys = __w_pdfjs_require__(58).concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return $keys(O, hiddenKeys);\n};\n\n/***/ }),\n/* 134 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(135);\n\nmodule.exports = __w_pdfjs_require__(9).String.padStart;\n\n/***/ }),\n/* 135 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\n\nvar $pad = __w_pdfjs_require__(136);\n\nvar userAgent = __w_pdfjs_require__(96);\n\nvar WEBKIT_BUG = /Version\\/10\\.\\d+(\\.\\d+)?( Mobile\\/\\w+)? Safari\\//.test(userAgent);\n$export($export.P + $export.F * WEBKIT_BUG, 'String', {\n padStart: function padStart(maxLength) {\n return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, true);\n }\n});\n\n/***/ }),\n/* 136 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar toLength = __w_pdfjs_require__(28);\n\nvar repeat = __w_pdfjs_require__(137);\n\nvar defined = __w_pdfjs_require__(34);\n\nmodule.exports = function (that, maxLength, fillString, left) {\n var S = String(defined(that));\n var stringLength = S.length;\n var fillStr = fillString === undefined ? ' ' : String(fillString);\n var intMaxLength = toLength(maxLength);\n if (intMaxLength <= stringLength || fillStr == '') return S;\n var fillLen = intMaxLength - stringLength;\n var stringFiller = repeat.call(fillStr, Math.ceil(fillLen / fillStr.length));\n if (stringFiller.length > fillLen) stringFiller = stringFiller.slice(0, fillLen);\n return left ? stringFiller + S : S + stringFiller;\n};\n\n/***/ }),\n/* 137 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar toInteger = __w_pdfjs_require__(29);\n\nvar defined = __w_pdfjs_require__(34);\n\nmodule.exports = function repeat(count) {\n var str = String(defined(this));\n var res = '';\n var n = toInteger(count);\n if (n < 0 || n == Infinity) throw RangeError(\"Count can't be negative\");\n\n for (; n > 0; (n >>>= 1) && (str += str)) {\n if (n & 1) res += str;\n }\n\n return res;\n};\n\n/***/ }),\n/* 138 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(139);\n\nmodule.exports = __w_pdfjs_require__(9).String.padEnd;\n\n/***/ }),\n/* 139 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\n\nvar $pad = __w_pdfjs_require__(136);\n\nvar userAgent = __w_pdfjs_require__(96);\n\nvar WEBKIT_BUG = /Version\\/10\\.\\d+(\\.\\d+)?( Mobile\\/\\w+)? Safari\\//.test(userAgent);\n$export($export.P + $export.F * WEBKIT_BUG, 'String', {\n padEnd: function padEnd(maxLength) {\n return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, false);\n }\n});\n\n/***/ }),\n/* 140 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(141);\n\nmodule.exports = __w_pdfjs_require__(9).Object.values;\n\n/***/ }),\n/* 141 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\n\nvar $values = __w_pdfjs_require__(142)(false);\n\n$export($export.S, 'Object', {\n values: function values(it) {\n return $values(it);\n }\n});\n\n/***/ }),\n/* 142 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar DESCRIPTORS = __w_pdfjs_require__(15);\n\nvar getKeys = __w_pdfjs_require__(55);\n\nvar toIObject = __w_pdfjs_require__(43);\n\nvar isEnum = __w_pdfjs_require__(74).f;\n\nmodule.exports = function (isEntries) {\n return function (it) {\n var O = toIObject(it);\n var keys = getKeys(O);\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n\n while (length > i) {\n key = keys[i++];\n\n if (!DESCRIPTORS || isEnum.call(O, key)) {\n result.push(isEntries ? [key, O[key]] : O[key]);\n }\n }\n\n return result;\n };\n};\n\n/***/ }),\n/* 143 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n{\n var isReadableStreamSupported = false;\n\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\n if (isReadableStreamSupported) {\n exports.ReadableStream = ReadableStream;\n } else {\n exports.ReadableStream = __w_pdfjs_require__(144).ReadableStream;\n }\n}\n\n/***/ }),\n/* 144 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nfunction _typeof2(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof2(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\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\n __w_pdfjs_require__.m = modules;\n __w_pdfjs_require__.c = installedModules;\n\n __w_pdfjs_require__.i = function (value) {\n return value;\n };\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 __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 __w_pdfjs_require__.o = function (object, property) {\n return Object.prototype.hasOwnProperty.call(object, property);\n };\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 _typeof2(obj);\n } : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n\n var _require = __w_pdfjs_require__(1),\n assert = _require.assert;\n\n function IsPropertyKey(argument) {\n return typeof argument === 'string' || (typeof argument === 'undefined' ? 'undefined' : _typeof(argument)) === 'symbol';\n }\n\n exports.typeIsObject = function (x) {\n return (typeof x === 'undefined' ? 'undefined' : _typeof(x)) === 'object' && x !== null || typeof x === 'function';\n };\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\n exports.createArrayFromList = function (elements) {\n return elements.slice();\n };\n\n exports.ArrayBufferCopy = function (dest, destOffset, src, srcOffset, n) {\n new Uint8Array(dest).set(new Uint8Array(src, srcOffset, n), destOffset);\n };\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\n exports.IsFiniteNonNegativeNumber = function (v) {\n if (Number.isNaN(v)) {\n return false;\n }\n\n if (v === Infinity) {\n return false;\n }\n\n if (v < 0) {\n return false;\n }\n\n return true;\n };\n\n function Call(F, V, args) {\n if (typeof F !== 'function') {\n throw new TypeError('Argument is not a function');\n }\n\n return Function.prototype.apply.call(F, V, args);\n }\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\n if (method === undefined) {\n return undefined;\n }\n\n return Call(method, O, args);\n };\n\n exports.PromiseInvokeOrNoop = function (O, P, args) {\n assert(O !== undefined);\n assert(IsPropertyKey(P));\n assert(Array.isArray(args));\n\n try {\n return Promise.resolve(exports.InvokeOrNoop(O, P, args));\n } catch (returnValueE) {\n return Promise.reject(returnValueE);\n }\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\n try {\n method = O[P];\n } catch (methodE) {\n return Promise.reject(methodE);\n }\n\n if (method === undefined) {\n return F.apply(null, argsF);\n }\n\n try {\n return Promise.resolve(Call(method, O, args));\n } catch (e) {\n return Promise.reject(e);\n }\n };\n\n exports.TransferArrayBuffer = function (O) {\n return O.slice();\n };\n\n exports.ValidateAndNormalizeHighWaterMark = function (highWaterMark) {\n highWaterMark = Number(highWaterMark);\n\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\n return highWaterMark;\n };\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\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\n function AssertionError(message) {\n this.name = 'AssertionError';\n this.message = message || '';\n this.stack = new Error().stack;\n }\n\n AssertionError.prototype = Object.create(Error.prototype);\n AssertionError.prototype.constructor = AssertionError;\n\n function assert(value, message) {\n if (!value) {\n throw new AssertionError(message);\n }\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\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\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\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\n var _require2 = __w_pdfjs_require__(1),\n assert = _require2.assert,\n rethrowAssertionErrorRejection = _require2.rethrowAssertionErrorRejection;\n\n var _require3 = __w_pdfjs_require__(3),\n DequeueValue = _require3.DequeueValue,\n EnqueueValueWithSize = _require3.EnqueueValueWithSize,\n PeekQueueValue = _require3.PeekQueueValue,\n ResetQueue = _require3.ResetQueue;\n\n var WritableStream = function () {\n function WritableStream() {\n var underlyingSink = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\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\n _classCallCheck(this, WritableStream);\n\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\n if (type !== undefined) {\n throw new RangeError('Invalid type is specified');\n }\n\n this._writableStreamController = new WritableStreamDefaultController(this, underlyingSink, size, highWaterMark);\n\n this._writableStreamController.__startSteps();\n }\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\n if (IsWritableStreamLocked(this) === true) {\n return Promise.reject(new TypeError('Cannot abort a stream that already has a writer'));\n }\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\n return AcquireWritableStreamDefaultWriter(this);\n }\n }, {\n key: 'locked',\n get: function get() {\n if (IsWritableStream(this) === false) {\n throw streamBrandCheckException('locked');\n }\n\n return IsWritableStreamLocked(this);\n }\n }]);\n\n return WritableStream;\n }();\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\n function AcquireWritableStreamDefaultWriter(stream) {\n return new WritableStreamDefaultWriter(stream);\n }\n\n function IsWritableStream(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n\n if (!Object.prototype.hasOwnProperty.call(x, '_writableStreamController')) {\n return false;\n }\n\n return true;\n }\n\n function IsWritableStreamLocked(stream) {\n assert(IsWritableStream(stream) === true, 'IsWritableStreamLocked should only be used on known writable streams');\n\n if (stream._writer === undefined) {\n return false;\n }\n\n return true;\n }\n\n function WritableStreamAbort(stream, reason) {\n var state = stream._state;\n\n if (state === 'closed') {\n return Promise.resolve(undefined);\n }\n\n if (state === 'errored') {\n return Promise.reject(stream._storedError);\n }\n\n var error = new TypeError('Requested to abort');\n\n if (stream._pendingAbortRequest !== undefined) {\n return Promise.reject(error);\n }\n\n assert(state === 'writable' || state === 'erroring', 'state must be writable or erroring');\n var wasAlreadyErroring = false;\n\n if (state === 'erroring') {\n wasAlreadyErroring = true;\n reason = undefined;\n }\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\n if (wasAlreadyErroring === false) {\n WritableStreamStartErroring(stream, error);\n }\n\n return promise;\n }\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\n stream._writeRequests.push(writeRequest);\n });\n return promise;\n }\n\n function WritableStreamDealWithRejection(stream, error) {\n var state = stream._state;\n\n if (state === 'writable') {\n WritableStreamStartErroring(stream, error);\n return;\n }\n\n assert(state === 'erroring');\n WritableStreamFinishErroring(stream);\n }\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\n if (writer !== undefined) {\n WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, reason);\n }\n\n if (WritableStreamHasOperationMarkedInFlight(stream) === false && controller._started === true) {\n WritableStreamFinishErroring(stream);\n }\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\n stream._writableStreamController.__errorSteps();\n\n var storedError = stream._storedError;\n\n for (var i = 0; i < stream._writeRequests.length; i++) {\n var writeRequest = stream._writeRequests[i];\n\n writeRequest._reject(storedError);\n }\n\n stream._writeRequests = [];\n\n if (stream._pendingAbortRequest === undefined) {\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n return;\n }\n\n var abortRequest = stream._pendingAbortRequest;\n stream._pendingAbortRequest = undefined;\n\n if (abortRequest._wasAlreadyErroring === true) {\n abortRequest._reject(storedError);\n\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n return;\n }\n\n var promise = stream._writableStreamController.__abortSteps(abortRequest._reason);\n\n promise.then(function () {\n abortRequest._resolve();\n\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n }, function (reason) {\n abortRequest._reject(reason);\n\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n });\n }\n\n function WritableStreamFinishInFlightWrite(stream) {\n assert(stream._inFlightWriteRequest !== undefined);\n\n stream._inFlightWriteRequest._resolve(undefined);\n\n stream._inFlightWriteRequest = undefined;\n }\n\n function WritableStreamFinishInFlightWriteWithError(stream, error) {\n assert(stream._inFlightWriteRequest !== undefined);\n\n stream._inFlightWriteRequest._reject(error);\n\n stream._inFlightWriteRequest = undefined;\n assert(stream._state === 'writable' || stream._state === 'erroring');\n WritableStreamDealWithRejection(stream, error);\n }\n\n function WritableStreamFinishInFlightClose(stream) {\n assert(stream._inFlightCloseRequest !== undefined);\n\n stream._inFlightCloseRequest._resolve(undefined);\n\n stream._inFlightCloseRequest = undefined;\n var state = stream._state;\n assert(state === 'writable' || state === 'erroring');\n\n if (state === 'erroring') {\n stream._storedError = undefined;\n\n if (stream._pendingAbortRequest !== undefined) {\n stream._pendingAbortRequest._resolve();\n\n stream._pendingAbortRequest = undefined;\n }\n }\n\n stream._state = 'closed';\n var writer = stream._writer;\n\n if (writer !== undefined) {\n defaultWriterClosedPromiseResolve(writer);\n }\n\n assert(stream._pendingAbortRequest === undefined, 'stream._pendingAbortRequest === undefined');\n assert(stream._storedError === undefined, 'stream._storedError === undefined');\n }\n\n function WritableStreamFinishInFlightCloseWithError(stream, error) {\n assert(stream._inFlightCloseRequest !== undefined);\n\n stream._inFlightCloseRequest._reject(error);\n\n stream._inFlightCloseRequest = undefined;\n assert(stream._state === 'writable' || stream._state === 'erroring');\n\n if (stream._pendingAbortRequest !== undefined) {\n stream._pendingAbortRequest._reject(error);\n\n stream._pendingAbortRequest = undefined;\n }\n\n WritableStreamDealWithRejection(stream, error);\n }\n\n function WritableStreamCloseQueuedOrInFlight(stream) {\n if (stream._closeRequest === undefined && stream._inFlightCloseRequest === undefined) {\n return false;\n }\n\n return true;\n }\n\n function WritableStreamHasOperationMarkedInFlight(stream) {\n if (stream._inFlightWriteRequest === undefined && stream._inFlightCloseRequest === undefined) {\n return false;\n }\n\n return true;\n }\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\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\n function WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream) {\n assert(stream._state === 'errored', '_stream_.[[state]] is `\"errored\"`');\n\n if (stream._closeRequest !== undefined) {\n assert(stream._inFlightCloseRequest === undefined);\n\n stream._closeRequest._reject(stream._storedError);\n\n stream._closeRequest = undefined;\n }\n\n var writer = stream._writer;\n\n if (writer !== undefined) {\n defaultWriterClosedPromiseReject(writer, stream._storedError);\n\n writer._closedPromise[\"catch\"](function () {});\n }\n }\n\n function WritableStreamUpdateBackpressure(stream, backpressure) {\n assert(stream._state === 'writable');\n assert(WritableStreamCloseQueuedOrInFlight(stream) === false);\n var writer = stream._writer;\n\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\n stream._backpressure = backpressure;\n }\n\n var WritableStreamDefaultWriter = function () {\n function WritableStreamDefaultWriter(stream) {\n _classCallCheck(this, WritableStreamDefaultWriter);\n\n if (IsWritableStream(stream) === false) {\n throw new TypeError('WritableStreamDefaultWriter can only be constructed with a WritableStream instance');\n }\n\n if (IsWritableStreamLocked(stream) === true) {\n throw new TypeError('This stream has already been locked for exclusive writing by another writer');\n }\n\n this._ownerWritableStream = stream;\n stream._writer = this;\n var state = stream._state;\n\n if (state === 'writable') {\n if (WritableStreamCloseQueuedOrInFlight(stream) === false && stream._backpressure === true) {\n defaultWriterReadyPromiseInitialize(this);\n } else {\n defaultWriterReadyPromiseInitializeAsResolved(this);\n }\n\n defaultWriterClosedPromiseInitialize(this);\n } else if (state === 'erroring') {\n defaultWriterReadyPromiseInitializeAsRejected(this, stream._storedError);\n\n this._readyPromise[\"catch\"](function () {});\n\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\n this._readyPromise[\"catch\"](function () {});\n\n defaultWriterClosedPromiseInitializeAsRejected(this, storedError);\n\n this._closedPromise[\"catch\"](function () {});\n }\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\n if (this._ownerWritableStream === undefined) {\n return Promise.reject(defaultWriterLockException('abort'));\n }\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\n var stream = this._ownerWritableStream;\n\n if (stream === undefined) {\n return Promise.reject(defaultWriterLockException('close'));\n }\n\n if (WritableStreamCloseQueuedOrInFlight(stream) === true) {\n return Promise.reject(new TypeError('cannot close an already-closing stream'));\n }\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\n var stream = this._ownerWritableStream;\n\n if (stream === undefined) {\n return;\n }\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\n if (this._ownerWritableStream === undefined) {\n return Promise.reject(defaultWriterLockException('write to'));\n }\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\n return this._closedPromise;\n }\n }, {\n key: 'desiredSize',\n get: function get() {\n if (IsWritableStreamDefaultWriter(this) === false) {\n throw defaultWriterBrandCheckException('desiredSize');\n }\n\n if (this._ownerWritableStream === undefined) {\n throw defaultWriterLockException('desiredSize');\n }\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\n return this._readyPromise;\n }\n }]);\n\n return WritableStreamDefaultWriter;\n }();\n\n function IsWritableStreamDefaultWriter(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n\n if (!Object.prototype.hasOwnProperty.call(x, '_ownerWritableStream')) {\n return false;\n }\n\n return true;\n }\n\n function WritableStreamDefaultWriterAbort(writer, reason) {\n var stream = writer._ownerWritableStream;\n assert(stream !== undefined);\n return WritableStreamAbort(stream, reason);\n }\n\n function WritableStreamDefaultWriterClose(writer) {\n var stream = writer._ownerWritableStream;\n assert(stream !== undefined);\n var state = stream._state;\n\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\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\n if (stream._backpressure === true && state === 'writable') {\n defaultWriterReadyPromiseResolve(writer);\n }\n\n WritableStreamDefaultControllerClose(stream._writableStreamController);\n return promise;\n }\n\n function WritableStreamDefaultWriterCloseWithErrorPropagation(writer) {\n var stream = writer._ownerWritableStream;\n assert(stream !== undefined);\n var state = stream._state;\n\n if (WritableStreamCloseQueuedOrInFlight(stream) === true || state === 'closed') {\n return Promise.resolve();\n }\n\n if (state === 'errored') {\n return Promise.reject(stream._storedError);\n }\n\n assert(state === 'writable' || state === 'erroring');\n return WritableStreamDefaultWriterClose(writer);\n }\n\n function WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, error) {\n if (writer._closedPromiseState === 'pending') {\n defaultWriterClosedPromiseReject(writer, error);\n } else {\n defaultWriterClosedPromiseResetToRejected(writer, error);\n }\n\n writer._closedPromise[\"catch\"](function () {});\n }\n\n function WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, error) {\n if (writer._readyPromiseState === 'pending') {\n defaultWriterReadyPromiseReject(writer, error);\n } else {\n defaultWriterReadyPromiseResetToRejected(writer, error);\n }\n\n writer._readyPromise[\"catch\"](function () {});\n }\n\n function WritableStreamDefaultWriterGetDesiredSize(writer) {\n var stream = writer._ownerWritableStream;\n var state = stream._state;\n\n if (state === 'errored' || state === 'erroring') {\n return null;\n }\n\n if (state === 'closed') {\n return 0;\n }\n\n return WritableStreamDefaultControllerGetDesiredSize(stream._writableStreamController);\n }\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\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\n if (stream !== writer._ownerWritableStream) {\n return Promise.reject(defaultWriterLockException('write to'));\n }\n\n var state = stream._state;\n\n if (state === 'errored') {\n return Promise.reject(stream._storedError);\n }\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\n if (state === 'erroring') {\n return Promise.reject(stream._storedError);\n }\n\n assert(state === 'writable');\n var promise = WritableStreamAddWriteRequest(stream);\n WritableStreamDefaultControllerWrite(controller, chunk, chunkSize);\n return promise;\n }\n\n var WritableStreamDefaultController = function () {\n function WritableStreamDefaultController(stream, underlyingSink, size, highWaterMark) {\n _classCallCheck(this, WritableStreamDefaultController);\n\n if (IsWritableStream(stream) === false) {\n throw new TypeError('WritableStreamDefaultController can only be constructed with a WritableStream instance');\n }\n\n if (stream._writableStreamController !== undefined) {\n throw new TypeError('WritableStreamDefaultController instances can only be created by the WritableStream constructor');\n }\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\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\n var state = this._controlledWritableStream._state;\n\n if (state !== 'writable') {\n return;\n }\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\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\n return WritableStreamDefaultController;\n }();\n\n function WritableStreamDefaultControllerClose(controller) {\n EnqueueValueWithSize(controller, 'close', 0);\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }\n\n function WritableStreamDefaultControllerGetChunkSize(controller, chunk) {\n var strategySize = controller._strategySize;\n\n if (strategySize === undefined) {\n return 1;\n }\n\n try {\n return strategySize(chunk);\n } catch (chunkSizeE) {\n WritableStreamDefaultControllerErrorIfNeeded(controller, chunkSizeE);\n return 1;\n }\n }\n\n function WritableStreamDefaultControllerGetDesiredSize(controller) {\n return controller._strategyHWM - controller._queueTotalSize;\n }\n\n function WritableStreamDefaultControllerWrite(controller, chunk, chunkSize) {\n var writeRecord = {\n chunk: chunk\n };\n\n try {\n EnqueueValueWithSize(controller, writeRecord, chunkSize);\n } catch (enqueueE) {\n WritableStreamDefaultControllerErrorIfNeeded(controller, enqueueE);\n return;\n }\n\n var stream = controller._controlledWritableStream;\n\n if (WritableStreamCloseQueuedOrInFlight(stream) === false && stream._state === 'writable') {\n var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);\n WritableStreamUpdateBackpressure(stream, backpressure);\n }\n\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }\n\n function IsWritableStreamDefaultController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n\n if (!Object.prototype.hasOwnProperty.call(x, '_underlyingSink')) {\n return false;\n }\n\n return true;\n }\n\n function WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller) {\n var stream = controller._controlledWritableStream;\n\n if (controller._started === false) {\n return;\n }\n\n if (stream._inFlightWriteRequest !== undefined) {\n return;\n }\n\n var state = stream._state;\n\n if (state === 'closed' || state === 'errored') {\n return;\n }\n\n if (state === 'erroring') {\n WritableStreamFinishErroring(stream);\n return;\n }\n\n if (controller._queue.length === 0) {\n return;\n }\n\n var writeRecord = PeekQueueValue(controller);\n\n if (writeRecord === 'close') {\n WritableStreamDefaultControllerProcessClose(controller);\n } else {\n WritableStreamDefaultControllerProcessWrite(controller, writeRecord.chunk);\n }\n }\n\n function WritableStreamDefaultControllerErrorIfNeeded(controller, error) {\n if (controller._controlledWritableStream._state === 'writable') {\n WritableStreamDefaultControllerError(controller, error);\n }\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\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\n if (WritableStreamCloseQueuedOrInFlight(stream) === false && state === 'writable') {\n var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);\n WritableStreamUpdateBackpressure(stream, backpressure);\n }\n\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }, function (reason) {\n WritableStreamFinishInFlightWriteWithError(stream, reason);\n })[\"catch\"](rethrowAssertionErrorRejection);\n }\n\n function WritableStreamDefaultControllerGetBackpressure(controller) {\n var desiredSize = WritableStreamDefaultControllerGetDesiredSize(controller);\n return desiredSize <= 0;\n }\n\n function WritableStreamDefaultControllerError(controller, error) {\n var stream = controller._controlledWritableStream;\n assert(stream._state === 'writable');\n WritableStreamStartErroring(stream, error);\n }\n\n function streamBrandCheckException(name) {\n return new TypeError('WritableStream.prototype.' + name + ' can only be used on a WritableStream');\n }\n\n function defaultWriterBrandCheckException(name) {\n return new TypeError('WritableStreamDefaultWriter.prototype.' + name + ' can only be used on a WritableStreamDefaultWriter');\n }\n\n function defaultWriterLockException(name) {\n return new TypeError('Cannot ' + name + ' a stream using a released writer');\n }\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\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\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\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\n writer._closedPromise_reject(reason);\n\n writer._closedPromise_resolve = undefined;\n writer._closedPromise_reject = undefined;\n writer._closedPromiseState = 'rejected';\n }\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\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\n writer._closedPromise_resolve(undefined);\n\n writer._closedPromise_resolve = undefined;\n writer._closedPromise_reject = undefined;\n writer._closedPromiseState = 'resolved';\n }\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\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\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\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\n writer._readyPromise_reject(reason);\n\n writer._readyPromise_resolve = undefined;\n writer._readyPromise_reject = undefined;\n writer._readyPromiseState = 'rejected';\n }\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\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\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\n writer._readyPromise_resolve(undefined);\n\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\n var _require2 = __w_pdfjs_require__(1),\n assert = _require2.assert;\n\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\n var pair = container._queue.shift();\n\n container._queueTotalSize -= pair.size;\n\n if (container._queueTotalSize < 0) {\n container._queueTotalSize = 0;\n }\n\n return pair.value;\n };\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\n if (!IsFiniteNonNegativeNumber(size)) {\n throw new RangeError('Size must be a finite, non-NaN, non-negative number.');\n }\n\n container._queue.push({\n value: value,\n size: size\n });\n\n container._queueTotalSize += size;\n };\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\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\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\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\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\n var _require2 = __w_pdfjs_require__(0),\n createArrayFromList = _require2.createArrayFromList,\n createDataProperty = _require2.createDataProperty,\n typeIsObject = _require2.typeIsObject;\n\n var _require3 = __w_pdfjs_require__(1),\n assert = _require3.assert,\n rethrowAssertionErrorRejection = _require3.rethrowAssertionErrorRejection;\n\n var _require4 = __w_pdfjs_require__(3),\n DequeueValue = _require4.DequeueValue,\n EnqueueValueWithSize = _require4.EnqueueValueWithSize,\n ResetQueue = _require4.ResetQueue;\n\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\n var ReadableStream = function () {\n function ReadableStream() {\n var underlyingSource = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n size = _ref.size,\n highWaterMark = _ref.highWaterMark;\n\n _classCallCheck(this, ReadableStream);\n\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\n if (typeString === 'bytes') {\n if (highWaterMark === undefined) {\n highWaterMark = 0;\n }\n\n this._readableStreamController = new ReadableByteStreamController(this, underlyingSource, highWaterMark);\n } else if (type === undefined) {\n if (highWaterMark === undefined) {\n highWaterMark = 1;\n }\n\n this._readableStreamController = new ReadableStreamDefaultController(this, underlyingSource, size, highWaterMark);\n } else {\n throw new RangeError('Invalid type is specified');\n }\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\n if (IsReadableStreamLocked(this) === true) {\n return Promise.reject(new TypeError('Cannot cancel a stream that already has a reader'));\n }\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\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException('getReader');\n }\n\n if (mode === undefined) {\n return AcquireReadableStreamDefaultReader(this);\n }\n\n mode = String(mode);\n\n if (mode === 'byob') {\n return AcquireReadableStreamBYOBReader(this);\n }\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\n var _ref4 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n preventClose = _ref4.preventClose,\n preventAbort = _ref4.preventAbort,\n preventCancel = _ref4.preventCancel;\n\n if (IsReadableStream(this) === false) {\n return Promise.reject(streamBrandCheckException('pipeTo'));\n }\n\n if (IsWritableStream(dest) === false) {\n return Promise.reject(new TypeError('ReadableStream.prototype.pipeTo\\'s first argument must be a WritableStream'));\n }\n\n preventClose = Boolean(preventClose);\n preventAbort = Boolean(preventAbort);\n preventCancel = Boolean(preventCancel);\n\n if (IsReadableStreamLocked(this) === true) {\n return Promise.reject(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream'));\n }\n\n if (IsWritableStreamLocked(dest) === true) {\n return Promise.reject(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream'));\n }\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\n if (shuttingDown === true) {\n return Promise.resolve();\n }\n\n return writer._readyPromise.then(function () {\n return ReadableStreamDefaultReaderRead(reader).then(function (_ref5) {\n var value = _ref5.value,\n done = _ref5.done;\n\n if (done === true) {\n return;\n }\n\n currentWrite = WritableStreamDefaultWriterWrite(writer, value)[\"catch\"](function () {});\n });\n }).then(pipeLoop);\n }\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\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\n if (preventCancel === false) {\n shutdownWithAction(function () {\n return ReadableStreamCancel(_this, destClosed);\n }, true, destClosed);\n } else {\n shutdown(true, destClosed);\n }\n }\n\n pipeLoop()[\"catch\"](function (err) {\n currentWrite = Promise.resolve();\n rethrowAssertionErrorRejection(err);\n });\n\n function waitForWritesToFinish() {\n var oldCurrentWrite = currentWrite;\n return currentWrite.then(function () {\n return oldCurrentWrite !== currentWrite ? waitForWritesToFinish() : undefined;\n });\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\n function isOrBecomesClosed(stream, promise, action) {\n if (stream._state === 'closed') {\n action();\n } else {\n promise.then(action)[\"catch\"](rethrowAssertionErrorRejection);\n }\n }\n\n function shutdownWithAction(action, originalIsError, originalError) {\n if (shuttingDown === true) {\n return;\n }\n\n shuttingDown = true;\n\n if (dest._state === 'writable' && WritableStreamCloseQueuedOrInFlight(dest) === false) {\n waitForWritesToFinish().then(doTheRest);\n } else {\n doTheRest();\n }\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\n function shutdown(isError, error) {\n if (shuttingDown === true) {\n return;\n }\n\n shuttingDown = true;\n\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\n function finalize(isError, error) {\n WritableStreamDefaultWriterRelease(writer);\n ReadableStreamReaderGenericRelease(reader);\n\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\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\n return IsReadableStreamLocked(this);\n }\n }]);\n\n return ReadableStream;\n }();\n\n module.exports = {\n ReadableStream: ReadableStream,\n IsReadableStreamDisturbed: IsReadableStreamDisturbed,\n ReadableStreamDefaultControllerClose: ReadableStreamDefaultControllerClose,\n ReadableStreamDefaultControllerEnqueue: ReadableStreamDefaultControllerEnqueue,\n ReadableStreamDefaultControllerError: ReadableStreamDefaultControllerError,\n ReadableStreamDefaultControllerGetDesiredSize: ReadableStreamDefaultControllerGetDesiredSize\n };\n\n function AcquireReadableStreamBYOBReader(stream) {\n return new ReadableStreamBYOBReader(stream);\n }\n\n function AcquireReadableStreamDefaultReader(stream) {\n return new ReadableStreamDefaultReader(stream);\n }\n\n function IsReadableStream(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n\n if (!Object.prototype.hasOwnProperty.call(x, '_readableStreamController')) {\n return false;\n }\n\n return true;\n }\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\n function IsReadableStreamLocked(stream) {\n assert(IsReadableStream(stream) === true, 'IsReadableStreamLocked should only be used on known readable streams');\n\n if (stream._reader === undefined) {\n return false;\n }\n\n return true;\n }\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\n reader._closedPromise[\"catch\"](function (r) {\n if (teeState.closedOrErrored === true) {\n return;\n }\n\n ReadableStreamDefaultControllerError(pull._branch1, r);\n ReadableStreamDefaultControllerError(pull._branch2, r);\n teeState.closedOrErrored = true;\n });\n\n return [branch1Stream, branch2Stream];\n }\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\n if (done === true && teeState.closedOrErrored === false) {\n if (teeState.canceled1 === false) {\n ReadableStreamDefaultControllerClose(branch1);\n }\n\n if (teeState.canceled2 === false) {\n ReadableStreamDefaultControllerClose(branch2);\n }\n\n teeState.closedOrErrored = true;\n }\n\n if (teeState.closedOrErrored === true) {\n return;\n }\n\n var value1 = value;\n var value2 = value;\n\n if (teeState.canceled1 === false) {\n ReadableStreamDefaultControllerEnqueue(branch1, value1);\n }\n\n if (teeState.canceled2 === false) {\n ReadableStreamDefaultControllerEnqueue(branch2, value2);\n }\n });\n }\n\n return f;\n }\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\n if (teeState.canceled2 === true) {\n var compositeReason = createArrayFromList([teeState.reason1, teeState.reason2]);\n var cancelResult = ReadableStreamCancel(stream, compositeReason);\n\n teeState._resolve(cancelResult);\n }\n\n return teeState.promise;\n }\n\n return f;\n }\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\n if (teeState.canceled1 === true) {\n var compositeReason = createArrayFromList([teeState.reason1, teeState.reason2]);\n var cancelResult = ReadableStreamCancel(stream, compositeReason);\n\n teeState._resolve(cancelResult);\n }\n\n return teeState.promise;\n }\n\n return f;\n }\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\n stream._reader._readIntoRequests.push(readIntoRequest);\n });\n return promise;\n }\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\n stream._reader._readRequests.push(readRequest);\n });\n return promise;\n }\n\n function ReadableStreamCancel(stream, reason) {\n stream._disturbed = true;\n\n if (stream._state === 'closed') {\n return Promise.resolve(undefined);\n }\n\n if (stream._state === 'errored') {\n return Promise.reject(stream._storedError);\n }\n\n ReadableStreamClose(stream);\n\n var sourceCancelPromise = stream._readableStreamController.__cancelSteps(reason);\n\n return sourceCancelPromise.then(function () {\n return undefined;\n });\n }\n\n function ReadableStreamClose(stream) {\n assert(stream._state === 'readable');\n stream._state = 'closed';\n var reader = stream._reader;\n\n if (reader === undefined) {\n return undefined;\n }\n\n if (IsReadableStreamDefaultReader(reader) === true) {\n for (var i = 0; i < reader._readRequests.length; i++) {\n var _resolve = reader._readRequests[i]._resolve;\n\n _resolve(CreateIterResultObject(undefined, true));\n }\n\n reader._readRequests = [];\n }\n\n defaultReaderClosedPromiseResolve(reader);\n return undefined;\n }\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\n if (reader === undefined) {\n return undefined;\n }\n\n if (IsReadableStreamDefaultReader(reader) === true) {\n for (var i = 0; i < reader._readRequests.length; i++) {\n var readRequest = reader._readRequests[i];\n\n readRequest._reject(e);\n }\n\n reader._readRequests = [];\n } else {\n assert(IsReadableStreamBYOBReader(reader), 'reader must be ReadableStreamBYOBReader');\n\n for (var _i = 0; _i < reader._readIntoRequests.length; _i++) {\n var readIntoRequest = reader._readIntoRequests[_i];\n\n readIntoRequest._reject(e);\n }\n\n reader._readIntoRequests = [];\n }\n\n defaultReaderClosedPromiseReject(reader, e);\n\n reader._closedPromise[\"catch\"](function () {});\n }\n\n function ReadableStreamFulfillReadIntoRequest(stream, chunk, done) {\n var reader = stream._reader;\n assert(reader._readIntoRequests.length > 0);\n\n var readIntoRequest = reader._readIntoRequests.shift();\n\n readIntoRequest._resolve(CreateIterResultObject(chunk, done));\n }\n\n function ReadableStreamFulfillReadRequest(stream, chunk, done) {\n var reader = stream._reader;\n assert(reader._readRequests.length > 0);\n\n var readRequest = reader._readRequests.shift();\n\n readRequest._resolve(CreateIterResultObject(chunk, done));\n }\n\n function ReadableStreamGetNumReadIntoRequests(stream) {\n return stream._reader._readIntoRequests.length;\n }\n\n function ReadableStreamGetNumReadRequests(stream) {\n return stream._reader._readRequests.length;\n }\n\n function ReadableStreamHasBYOBReader(stream) {\n var reader = stream._reader;\n\n if (reader === undefined) {\n return false;\n }\n\n if (IsReadableStreamBYOBReader(reader) === false) {\n return false;\n }\n\n return true;\n }\n\n function ReadableStreamHasDefaultReader(stream) {\n var reader = stream._reader;\n\n if (reader === undefined) {\n return false;\n }\n\n if (IsReadableStreamDefaultReader(reader) === false) {\n return false;\n }\n\n return true;\n }\n\n var ReadableStreamDefaultReader = function () {\n function ReadableStreamDefaultReader(stream) {\n _classCallCheck(this, ReadableStreamDefaultReader);\n\n if (IsReadableStream(stream) === false) {\n throw new TypeError('ReadableStreamDefaultReader can only be constructed with a ReadableStream instance');\n }\n\n if (IsReadableStreamLocked(stream) === true) {\n throw new TypeError('This stream has already been locked for exclusive reading by another reader');\n }\n\n ReadableStreamReaderGenericInitialize(this, stream);\n this._readRequests = [];\n }\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\n if (this._ownerReadableStream === undefined) {\n return Promise.reject(readerLockException('cancel'));\n }\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\n if (this._ownerReadableStream === undefined) {\n return Promise.reject(readerLockException('read from'));\n }\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\n if (this._ownerReadableStream === undefined) {\n return;\n }\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\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\n return this._closedPromise;\n }\n }]);\n\n return ReadableStreamDefaultReader;\n }();\n\n var ReadableStreamBYOBReader = function () {\n function ReadableStreamBYOBReader(stream) {\n _classCallCheck(this, ReadableStreamBYOBReader);\n\n if (!IsReadableStream(stream)) {\n throw new TypeError('ReadableStreamBYOBReader can only be constructed with a ReadableStream instance given a ' + 'byte source');\n }\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\n if (IsReadableStreamLocked(stream)) {\n throw new TypeError('This stream has already been locked for exclusive reading by another reader');\n }\n\n ReadableStreamReaderGenericInitialize(this, stream);\n this._readIntoRequests = [];\n }\n\n _createClass(ReadableStreamBYOBReader, [{\n key: 'cancel',\n value: function cancel(reason) {\n if (!IsReadableStreamBYOBReader(this)) {\n return Promise.reject(byobReaderBrandCheckException('cancel'));\n }\n\n if (this._ownerReadableStream === undefined) {\n return Promise.reject(readerLockException('cancel'));\n }\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\n if (this._ownerReadableStream === undefined) {\n return Promise.reject(readerLockException('read from'));\n }\n\n if (!ArrayBuffer.isView(view)) {\n return Promise.reject(new TypeError('view must be an array buffer view'));\n }\n\n if (view.byteLength === 0) {\n return Promise.reject(new TypeError('view must have non-zero byteLength'));\n }\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\n if (this._ownerReadableStream === undefined) {\n return;\n }\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\n ReadableStreamReaderGenericRelease(this);\n }\n }, {\n key: 'closed',\n get: function get() {\n if (!IsReadableStreamBYOBReader(this)) {\n return Promise.reject(byobReaderBrandCheckException('closed'));\n }\n\n return this._closedPromise;\n }\n }]);\n\n return ReadableStreamBYOBReader;\n }();\n\n function IsReadableStreamBYOBReader(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n\n if (!Object.prototype.hasOwnProperty.call(x, '_readIntoRequests')) {\n return false;\n }\n\n return true;\n }\n\n function IsReadableStreamDefaultReader(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n\n if (!Object.prototype.hasOwnProperty.call(x, '_readRequests')) {\n return false;\n }\n\n return true;\n }\n\n function ReadableStreamReaderGenericInitialize(reader, stream) {\n reader._ownerReadableStream = stream;\n stream._reader = reader;\n\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\n reader._closedPromise[\"catch\"](function () {});\n }\n }\n\n function ReadableStreamReaderGenericCancel(reader, reason) {\n var stream = reader._ownerReadableStream;\n assert(stream !== undefined);\n return ReadableStreamCancel(stream, reason);\n }\n\n function ReadableStreamReaderGenericRelease(reader) {\n assert(reader._ownerReadableStream !== undefined);\n assert(reader._ownerReadableStream._reader === reader);\n\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\n reader._closedPromise[\"catch\"](function () {});\n\n reader._ownerReadableStream._reader = undefined;\n reader._ownerReadableStream = undefined;\n }\n\n function ReadableStreamBYOBReaderRead(reader, view) {\n var stream = reader._ownerReadableStream;\n assert(stream !== undefined);\n stream._disturbed = true;\n\n if (stream._state === 'errored') {\n return Promise.reject(stream._storedError);\n }\n\n return ReadableByteStreamControllerPullInto(stream._readableStreamController, view);\n }\n\n function ReadableStreamDefaultReaderRead(reader) {\n var stream = reader._ownerReadableStream;\n assert(stream !== undefined);\n stream._disturbed = true;\n\n if (stream._state === 'closed') {\n return Promise.resolve(CreateIterResultObject(undefined, true));\n }\n\n if (stream._state === 'errored') {\n return Promise.reject(stream._storedError);\n }\n\n assert(stream._state === 'readable');\n return stream._readableStreamController.__pullSteps();\n }\n\n var ReadableStreamDefaultController = function () {\n function ReadableStreamDefaultController(stream, underlyingSource, size, highWaterMark) {\n _classCallCheck(this, ReadableStreamDefaultController);\n\n if (IsReadableStream(stream) === false) {\n throw new TypeError('ReadableStreamDefaultController can only be constructed with a ReadableStream instance');\n }\n\n if (stream._readableStreamController !== undefined) {\n throw new TypeError('ReadableStreamDefaultController instances can only be created by the ReadableStream constructor');\n }\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\n _createClass(ReadableStreamDefaultController, [{\n key: 'close',\n value: function close() {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('close');\n }\n\n if (this._closeRequested === true) {\n throw new TypeError('The stream has already been closed; do not close it again!');\n }\n\n var state = this._controlledReadableStream._state;\n\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\n ReadableStreamDefaultControllerClose(this);\n }\n }, {\n key: 'enqueue',\n value: function enqueue(chunk) {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('enqueue');\n }\n\n if (this._closeRequested === true) {\n throw new TypeError('stream is closed or draining');\n }\n\n var state = this._controlledReadableStream._state;\n\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\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\n var stream = this._controlledReadableStream;\n\n if (stream._state !== 'readable') {\n throw new TypeError('The stream is ' + stream._state + ' and so cannot be errored');\n }\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\n if (this._queue.length > 0) {\n var chunk = DequeueValue(this);\n\n if (this._closeRequested === true && this._queue.length === 0) {\n ReadableStreamClose(stream);\n } else {\n ReadableStreamDefaultControllerCallPullIfNeeded(this);\n }\n\n return Promise.resolve(CreateIterResultObject(chunk, false));\n }\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\n return ReadableStreamDefaultControllerGetDesiredSize(this);\n }\n }]);\n\n return ReadableStreamDefaultController;\n }();\n\n function IsReadableStreamDefaultController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n\n if (!Object.prototype.hasOwnProperty.call(x, '_underlyingSource')) {\n return false;\n }\n\n return true;\n }\n\n function ReadableStreamDefaultControllerCallPullIfNeeded(controller) {\n var shouldPull = ReadableStreamDefaultControllerShouldCallPull(controller);\n\n if (shouldPull === false) {\n return undefined;\n }\n\n if (controller._pulling === true) {\n controller._pullAgain = true;\n return undefined;\n }\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\n if (controller._pullAgain === true) {\n controller._pullAgain = false;\n return ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n }\n\n return undefined;\n }, function (e) {\n ReadableStreamDefaultControllerErrorIfNeeded(controller, e);\n })[\"catch\"](rethrowAssertionErrorRejection);\n return undefined;\n }\n\n function ReadableStreamDefaultControllerShouldCallPull(controller) {\n var stream = controller._controlledReadableStream;\n\n if (stream._state === 'closed' || stream._state === 'errored') {\n return false;\n }\n\n if (controller._closeRequested === true) {\n return false;\n }\n\n if (controller._started === false) {\n return false;\n }\n\n if (IsReadableStreamLocked(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {\n return true;\n }\n\n var desiredSize = ReadableStreamDefaultControllerGetDesiredSize(controller);\n\n if (desiredSize > 0) {\n return true;\n }\n\n return false;\n }\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\n if (controller._queue.length === 0) {\n ReadableStreamClose(stream);\n }\n }\n\n function ReadableStreamDefaultControllerEnqueue(controller, chunk) {\n var stream = controller._controlledReadableStream;\n assert(controller._closeRequested === false);\n assert(stream._state === 'readable');\n\n if (IsReadableStreamLocked(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {\n ReadableStreamFulfillReadRequest(stream, chunk, false);\n } else {\n var chunkSize = 1;\n\n if (controller._strategySize !== undefined) {\n var strategySize = controller._strategySize;\n\n try {\n chunkSize = strategySize(chunk);\n } catch (chunkSizeE) {\n ReadableStreamDefaultControllerErrorIfNeeded(controller, chunkSizeE);\n throw chunkSizeE;\n }\n }\n\n try {\n EnqueueValueWithSize(controller, chunk, chunkSize);\n } catch (enqueueE) {\n ReadableStreamDefaultControllerErrorIfNeeded(controller, enqueueE);\n throw enqueueE;\n }\n }\n\n ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n return undefined;\n }\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\n function ReadableStreamDefaultControllerErrorIfNeeded(controller, e) {\n if (controller._controlledReadableStream._state === 'readable') {\n ReadableStreamDefaultControllerError(controller, e);\n }\n }\n\n function ReadableStreamDefaultControllerGetDesiredSize(controller) {\n var stream = controller._controlledReadableStream;\n var state = stream._state;\n\n if (state === 'errored') {\n return null;\n }\n\n if (state === 'closed') {\n return 0;\n }\n\n return controller._strategyHWM - controller._queueTotalSize;\n }\n\n var ReadableStreamBYOBRequest = function () {\n function ReadableStreamBYOBRequest(controller, view) {\n _classCallCheck(this, ReadableStreamBYOBRequest);\n\n this._associatedReadableByteStreamController = controller;\n this._view = view;\n }\n\n _createClass(ReadableStreamBYOBRequest, [{\n key: 'respond',\n value: function respond(bytesWritten) {\n if (IsReadableStreamBYOBRequest(this) === false) {\n throw byobRequestBrandCheckException('respond');\n }\n\n if (this._associatedReadableByteStreamController === undefined) {\n throw new TypeError('This BYOB request has been invalidated');\n }\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\n if (this._associatedReadableByteStreamController === undefined) {\n throw new TypeError('This BYOB request has been invalidated');\n }\n\n if (!ArrayBuffer.isView(view)) {\n throw new TypeError('You can only respond with array buffer views');\n }\n\n ReadableByteStreamControllerRespondWithNewView(this._associatedReadableByteStreamController, view);\n }\n }, {\n key: 'view',\n get: function get() {\n return this._view;\n }\n }]);\n\n return ReadableStreamBYOBRequest;\n }();\n\n var ReadableByteStreamController = function () {\n function ReadableByteStreamController(stream, underlyingByteSource, highWaterMark) {\n _classCallCheck(this, ReadableByteStreamController);\n\n if (IsReadableStream(stream) === false) {\n throw new TypeError('ReadableByteStreamController can only be constructed with a ReadableStream instance given ' + 'a byte source');\n }\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\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\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\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\n _createClass(ReadableByteStreamController, [{\n key: 'close',\n value: function close() {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('close');\n }\n\n if (this._closeRequested === true) {\n throw new TypeError('The stream has already been closed; do not close it again!');\n }\n\n var state = this._controlledReadableStream._state;\n\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\n ReadableByteStreamControllerClose(this);\n }\n }, {\n key: 'enqueue',\n value: function enqueue(chunk) {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('enqueue');\n }\n\n if (this._closeRequested === true) {\n throw new TypeError('stream is closed or draining');\n }\n\n var state = this._controlledReadableStream._state;\n\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\n if (!ArrayBuffer.isView(chunk)) {\n throw new TypeError('You can only enqueue array buffer views when using a ReadableByteStreamController');\n }\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\n var stream = this._controlledReadableStream;\n\n if (stream._state !== 'readable') {\n throw new TypeError('The stream is ' + stream._state + ' and so cannot be errored');\n }\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\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\n if (this._queueTotalSize > 0) {\n assert(ReadableStreamGetNumReadRequests(stream) === 0);\n\n var entry = this._queue.shift();\n\n this._queueTotalSize -= entry.byteLength;\n ReadableByteStreamControllerHandleQueueDrain(this);\n var view = void 0;\n\n try {\n view = new Uint8Array(entry.buffer, entry.byteOffset, entry.byteLength);\n } catch (viewE) {\n return Promise.reject(viewE);\n }\n\n return Promise.resolve(CreateIterResultObject(view, false));\n }\n\n var autoAllocateChunkSize = this._autoAllocateChunkSize;\n\n if (autoAllocateChunkSize !== undefined) {\n var buffer = void 0;\n\n try {\n buffer = new ArrayBuffer(autoAllocateChunkSize);\n } catch (bufferE) {\n return Promise.reject(bufferE);\n }\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\n this._pendingPullIntos.push(pullIntoDescriptor);\n }\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\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\n return this._byobRequest;\n }\n }, {\n key: 'desiredSize',\n get: function get() {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('desiredSize');\n }\n\n return ReadableByteStreamControllerGetDesiredSize(this);\n }\n }]);\n\n return ReadableByteStreamController;\n }();\n\n function IsReadableByteStreamController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n\n if (!Object.prototype.hasOwnProperty.call(x, '_underlyingByteSource')) {\n return false;\n }\n\n return true;\n }\n\n function IsReadableStreamBYOBRequest(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n\n if (!Object.prototype.hasOwnProperty.call(x, '_associatedReadableByteStreamController')) {\n return false;\n }\n\n return true;\n }\n\n function ReadableByteStreamControllerCallPullIfNeeded(controller) {\n var shouldPull = ReadableByteStreamControllerShouldCallPull(controller);\n\n if (shouldPull === false) {\n return undefined;\n }\n\n if (controller._pulling === true) {\n controller._pullAgain = true;\n return undefined;\n }\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\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\n function ReadableByteStreamControllerClearPendingPullIntos(controller) {\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n controller._pendingPullIntos = [];\n }\n\n function ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor) {\n assert(stream._state !== 'errored', 'state must not be errored');\n var done = false;\n\n if (stream._state === 'closed') {\n assert(pullIntoDescriptor.bytesFilled === 0);\n done = true;\n }\n\n var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);\n\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\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\n function ReadableByteStreamControllerEnqueueChunkToQueue(controller, buffer, byteOffset, byteLength) {\n controller._queue.push({\n buffer: buffer,\n byteOffset: byteOffset,\n byteLength: byteLength\n });\n\n controller._queueTotalSize += byteLength;\n }\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\n if (maxAlignedBytes > currentAlignedBytes) {\n totalBytesToCopyRemaining = maxAlignedBytes - pullIntoDescriptor.bytesFilled;\n ready = true;\n }\n\n var queue = controller._queue;\n\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\n if (headOfQueue.byteLength === bytesToCopy) {\n queue.shift();\n } else {\n headOfQueue.byteOffset += bytesToCopy;\n headOfQueue.byteLength -= bytesToCopy;\n }\n\n controller._queueTotalSize -= bytesToCopy;\n ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesToCopy, pullIntoDescriptor);\n totalBytesToCopyRemaining -= bytesToCopy;\n }\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\n return ready;\n }\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\n function ReadableByteStreamControllerHandleQueueDrain(controller) {\n assert(controller._controlledReadableStream._state === 'readable');\n\n if (controller._queueTotalSize === 0 && controller._closeRequested === true) {\n ReadableStreamClose(controller._controlledReadableStream);\n } else {\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }\n }\n\n function ReadableByteStreamControllerInvalidateBYOBRequest(controller) {\n if (controller._byobRequest === undefined) {\n return;\n }\n\n controller._byobRequest._associatedReadableByteStreamController = undefined;\n controller._byobRequest._view = undefined;\n controller._byobRequest = undefined;\n }\n\n function ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller) {\n assert(controller._closeRequested === false);\n\n while (controller._pendingPullIntos.length > 0) {\n if (controller._queueTotalSize === 0) {\n return;\n }\n\n var pullIntoDescriptor = controller._pendingPullIntos[0];\n\n if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) === true) {\n ReadableByteStreamControllerShiftPendingPullInto(controller);\n ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableStream, pullIntoDescriptor);\n }\n }\n }\n\n function ReadableByteStreamControllerPullInto(controller, view) {\n var stream = controller._controlledReadableStream;\n var elementSize = 1;\n\n if (view.constructor !== DataView) {\n elementSize = view.constructor.BYTES_PER_ELEMENT;\n }\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\n if (controller._pendingPullIntos.length > 0) {\n pullIntoDescriptor.buffer = TransferArrayBuffer(pullIntoDescriptor.buffer);\n\n controller._pendingPullIntos.push(pullIntoDescriptor);\n\n return ReadableStreamAddReadIntoRequest(stream);\n }\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\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\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\n pullIntoDescriptor.buffer = TransferArrayBuffer(pullIntoDescriptor.buffer);\n\n controller._pendingPullIntos.push(pullIntoDescriptor);\n\n var promise = ReadableStreamAddReadIntoRequest(stream);\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n return promise;\n }\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\n if (ReadableStreamHasBYOBReader(stream) === true) {\n while (ReadableStreamGetNumReadIntoRequests(stream) > 0) {\n var pullIntoDescriptor = ReadableByteStreamControllerShiftPendingPullInto(controller);\n ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor);\n }\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\n ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesWritten, pullIntoDescriptor);\n\n if (pullIntoDescriptor.bytesFilled < pullIntoDescriptor.elementSize) {\n return;\n }\n\n ReadableByteStreamControllerShiftPendingPullInto(controller);\n var remainderSize = pullIntoDescriptor.bytesFilled % pullIntoDescriptor.elementSize;\n\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\n pullIntoDescriptor.buffer = TransferArrayBuffer(pullIntoDescriptor.buffer);\n pullIntoDescriptor.bytesFilled -= remainderSize;\n ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableStream, pullIntoDescriptor);\n ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);\n }\n\n function ReadableByteStreamControllerRespondInternal(controller, bytesWritten) {\n var firstDescriptor = controller._pendingPullIntos[0];\n var stream = controller._controlledReadableStream;\n\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\n ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor);\n } else {\n assert(stream._state === 'readable');\n ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, firstDescriptor);\n }\n }\n\n function ReadableByteStreamControllerShiftPendingPullInto(controller) {\n var descriptor = controller._pendingPullIntos.shift();\n\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n return descriptor;\n }\n\n function ReadableByteStreamControllerShouldCallPull(controller) {\n var stream = controller._controlledReadableStream;\n\n if (stream._state !== 'readable') {\n return false;\n }\n\n if (controller._closeRequested === true) {\n return false;\n }\n\n if (controller._started === false) {\n return false;\n }\n\n if (ReadableStreamHasDefaultReader(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {\n return true;\n }\n\n if (ReadableStreamHasBYOBReader(stream) === true && ReadableStreamGetNumReadIntoRequests(stream) > 0) {\n return true;\n }\n\n if (ReadableByteStreamControllerGetDesiredSize(controller) > 0) {\n return true;\n }\n\n return false;\n }\n\n function ReadableByteStreamControllerClose(controller) {\n var stream = controller._controlledReadableStream;\n assert(controller._closeRequested === false);\n assert(stream._state === 'readable');\n\n if (controller._queueTotalSize > 0) {\n controller._closeRequested = true;\n return;\n }\n\n if (controller._pendingPullIntos.length > 0) {\n var firstPendingPullInto = controller._pendingPullIntos[0];\n\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\n ReadableStreamClose(stream);\n }\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\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\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\n function ReadableByteStreamControllerGetDesiredSize(controller) {\n var stream = controller._controlledReadableStream;\n var state = stream._state;\n\n if (state === 'errored') {\n return null;\n }\n\n if (state === 'closed') {\n return 0;\n }\n\n return controller._strategyHWM - controller._queueTotalSize;\n }\n\n function ReadableByteStreamControllerRespond(controller, bytesWritten) {\n bytesWritten = Number(bytesWritten);\n\n if (IsFiniteNonNegativeNumber(bytesWritten) === false) {\n throw new RangeError('bytesWritten must be a finite');\n }\n\n assert(controller._pendingPullIntos.length > 0);\n ReadableByteStreamControllerRespondInternal(controller, bytesWritten);\n }\n\n function ReadableByteStreamControllerRespondWithNewView(controller, view) {\n assert(controller._pendingPullIntos.length > 0);\n var firstDescriptor = controller._pendingPullIntos[0];\n\n if (firstDescriptor.byteOffset + firstDescriptor.bytesFilled !== view.byteOffset) {\n throw new RangeError('The region specified by view does not match byobRequest');\n }\n\n if (firstDescriptor.byteLength !== view.byteLength) {\n throw new RangeError('The buffer of view has different capacity than byobRequest');\n }\n\n firstDescriptor.buffer = view.buffer;\n ReadableByteStreamControllerRespondInternal(controller, view.byteLength);\n }\n\n function streamBrandCheckException(name) {\n return new TypeError('ReadableStream.prototype.' + name + ' can only be used on a ReadableStream');\n }\n\n function readerLockException(name) {\n return new TypeError('Cannot ' + name + ' a stream using a released reader');\n }\n\n function defaultReaderBrandCheckException(name) {\n return new TypeError('ReadableStreamDefaultReader.prototype.' + name + ' can only be used on a ReadableStreamDefaultReader');\n }\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\n function defaultReaderClosedPromiseInitializeAsRejected(reader, reason) {\n reader._closedPromise = Promise.reject(reason);\n reader._closedPromise_resolve = undefined;\n reader._closedPromise_reject = undefined;\n }\n\n function defaultReaderClosedPromiseInitializeAsResolved(reader) {\n reader._closedPromise = Promise.resolve(undefined);\n reader._closedPromise_resolve = undefined;\n reader._closedPromise_reject = undefined;\n }\n\n function defaultReaderClosedPromiseReject(reader, reason) {\n assert(reader._closedPromise_resolve !== undefined);\n assert(reader._closedPromise_reject !== undefined);\n\n reader._closedPromise_reject(reason);\n\n reader._closedPromise_resolve = undefined;\n reader._closedPromise_reject = undefined;\n }\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\n function defaultReaderClosedPromiseResolve(reader) {\n assert(reader._closedPromise_resolve !== undefined);\n assert(reader._closedPromise_reject !== undefined);\n\n reader._closedPromise_resolve(undefined);\n\n reader._closedPromise_resolve = undefined;\n reader._closedPromise_reject = undefined;\n }\n\n function byobReaderBrandCheckException(name) {\n return new TypeError('ReadableStreamBYOBReader.prototype.' + name + ' can only be used on a ReadableStreamBYOBReader');\n }\n\n function defaultControllerBrandCheckException(name) {\n return new TypeError('ReadableStreamDefaultController.prototype.' + name + ' can only be used on a ReadableStreamDefaultController');\n }\n\n function byobRequestBrandCheckException(name) {\n return new TypeError('ReadableStreamBYOBRequest.prototype.' + name + ' can only be used on a ReadableStreamBYOBRequest');\n }\n\n function byteStreamControllerBrandCheckException(name) {\n return new TypeError('ReadableByteStreamController.prototype.' + name + ' can only be used on a ReadableByteStreamController');\n }\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\n var readableStream = __w_pdfjs_require__(4);\n\n var writableStream = __w_pdfjs_require__(2);\n\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\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\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n var _require = __w_pdfjs_require__(1),\n assert = _require.assert;\n\n var _require2 = __w_pdfjs_require__(0),\n InvokeOrNoop = _require2.InvokeOrNoop,\n PromiseInvokeOrPerformFallback = _require2.PromiseInvokeOrPerformFallback,\n PromiseInvokeOrNoop = _require2.PromiseInvokeOrNoop,\n typeIsObject = _require2.typeIsObject;\n\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\n var _require4 = __w_pdfjs_require__(2),\n WritableStream = _require4.WritableStream,\n WritableStreamDefaultControllerError = _require4.WritableStreamDefaultControllerError;\n\n function TransformStreamCloseReadable(transformStream) {\n if (transformStream._errored === true) {\n throw new TypeError('TransformStream is already errored');\n }\n\n if (transformStream._readableClosed === true) {\n throw new TypeError('Readable side is already closed');\n }\n\n TransformStreamCloseReadableInternal(transformStream);\n }\n\n function TransformStreamEnqueueToReadable(transformStream, chunk) {\n if (transformStream._errored === true) {\n throw new TypeError('TransformStream is already errored');\n }\n\n if (transformStream._readableClosed === true) {\n throw new TypeError('Readable side is already closed');\n }\n\n var controller = transformStream._readableController;\n\n try {\n ReadableStreamDefaultControllerEnqueue(controller, chunk);\n } catch (e) {\n transformStream._readableClosed = true;\n TransformStreamErrorIfNeeded(transformStream, e);\n throw transformStream._storedError;\n }\n\n var desiredSize = ReadableStreamDefaultControllerGetDesiredSize(controller);\n var maybeBackpressure = desiredSize <= 0;\n\n if (maybeBackpressure === true && transformStream._backpressure === false) {\n TransformStreamSetBackpressure(transformStream, true);\n }\n }\n\n function TransformStreamError(transformStream, e) {\n if (transformStream._errored === true) {\n throw new TypeError('TransformStream is already errored');\n }\n\n TransformStreamErrorInternal(transformStream, e);\n }\n\n function TransformStreamCloseReadableInternal(transformStream) {\n assert(transformStream._errored === false);\n assert(transformStream._readableClosed === false);\n\n try {\n ReadableStreamDefaultControllerClose(transformStream._readableController);\n } catch (e) {\n assert(false);\n }\n\n transformStream._readableClosed = true;\n }\n\n function TransformStreamErrorIfNeeded(transformStream, e) {\n if (transformStream._errored === false) {\n TransformStreamErrorInternal(transformStream, e);\n }\n }\n\n function TransformStreamErrorInternal(transformStream, e) {\n assert(transformStream._errored === false);\n transformStream._errored = true;\n transformStream._storedError = e;\n\n if (transformStream._writableDone === false) {\n WritableStreamDefaultControllerError(transformStream._writableController, e);\n }\n\n if (transformStream._readableClosed === false) {\n ReadableStreamDefaultControllerError(transformStream._readableController, e);\n }\n }\n\n function TransformStreamReadableReadyPromise(transformStream) {\n assert(transformStream._backpressureChangePromise !== undefined, '_backpressureChangePromise should have been initialized');\n\n if (transformStream._backpressure === false) {\n return Promise.resolve();\n }\n\n assert(transformStream._backpressure === true, '_backpressure should have been initialized');\n return transformStream._backpressureChangePromise;\n }\n\n function TransformStreamSetBackpressure(transformStream, backpressure) {\n assert(transformStream._backpressure !== backpressure, 'TransformStreamSetBackpressure() should be called only when backpressure is changed');\n\n if (transformStream._backpressureChangePromise !== undefined) {\n transformStream._backpressureChangePromise_resolve(backpressure);\n }\n\n transformStream._backpressureChangePromise = new Promise(function (resolve) {\n transformStream._backpressureChangePromise_resolve = resolve;\n });\n\n transformStream._backpressureChangePromise.then(function (resolution) {\n assert(resolution !== backpressure, '_backpressureChangePromise should be fulfilled only when backpressure is changed');\n });\n\n transformStream._backpressure = backpressure;\n }\n\n function TransformStreamDefaultTransform(chunk, transformStreamController) {\n var transformStream = transformStreamController._controlledTransformStream;\n TransformStreamEnqueueToReadable(transformStream, chunk);\n return Promise.resolve();\n }\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\n function IsTransformStreamDefaultController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n\n if (!Object.prototype.hasOwnProperty.call(x, '_controlledTransformStream')) {\n return false;\n }\n\n return true;\n }\n\n function IsTransformStream(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n\n if (!Object.prototype.hasOwnProperty.call(x, '_transformStreamController')) {\n return false;\n }\n\n return true;\n }\n\n var TransformStreamSink = function () {\n function TransformStreamSink(transformStream, startPromise) {\n _classCallCheck(this, TransformStreamSink);\n\n this._transformStream = transformStream;\n this._startPromise = startPromise;\n }\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\n if (transformStream._readableClosed === false) {\n TransformStreamCloseReadableInternal(transformStream);\n }\n\n return Promise.resolve();\n })[\"catch\"](function (r) {\n TransformStreamErrorIfNeeded(transformStream, r);\n return Promise.reject(transformStream._storedError);\n });\n }\n }]);\n\n return TransformStreamSink;\n }();\n\n var TransformStreamSource = function () {\n function TransformStreamSource(transformStream, startPromise) {\n _classCallCheck(this, TransformStreamSource);\n\n this._transformStream = transformStream;\n this._startPromise = startPromise;\n }\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\n if (transformStream._backpressure === true) {\n return Promise.resolve();\n }\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\n return TransformStreamSource;\n }();\n\n var TransformStreamDefaultController = function () {\n function TransformStreamDefaultController(transformStream) {\n _classCallCheck(this, TransformStreamDefaultController);\n\n if (IsTransformStream(transformStream) === false) {\n throw new TypeError('TransformStreamDefaultController can only be ' + 'constructed with a TransformStream instance');\n }\n\n if (transformStream._transformStreamController !== undefined) {\n throw new TypeError('TransformStreamDefaultController instances can ' + 'only be created by the TransformStream constructor');\n }\n\n this._controlledTransformStream = transformStream;\n }\n\n _createClass(TransformStreamDefaultController, [{\n key: 'enqueue',\n value: function enqueue(chunk) {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('enqueue');\n }\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\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\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\n var transformStream = this._controlledTransformStream;\n var readableController = transformStream._readableController;\n return ReadableStreamDefaultControllerGetDesiredSize(readableController);\n }\n }]);\n\n return TransformStreamDefaultController;\n }();\n\n var TransformStream = function () {\n function TransformStream() {\n var transformer = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, TransformStream);\n\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\n _createClass(TransformStream, [{\n key: 'readable',\n get: function get() {\n if (IsTransformStream(this) === false) {\n throw streamBrandCheckException('readable');\n }\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\n return this._writable;\n }\n }]);\n\n return TransformStream;\n }();\n\n module.exports = {\n TransformStream: TransformStream\n };\n\n function defaultControllerBrandCheckException(name) {\n return new TypeError('TransformStreamDefaultController.prototype.' + name + ' can only be used on a TransformStreamDefaultController');\n }\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/* 145 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n{\n var isURLSupported = false;\n\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 isURLSupported = u.href === 'http://a/c%20d';\n }\n } catch (ex) {}\n\n if (isURLSupported) {\n exports.URL = URL;\n } else {\n var PolyfillURL = __w_pdfjs_require__(146).URL;\n\n var OriginalURL = __w_pdfjs_require__(3).URL;\n\n if (OriginalURL) {\n PolyfillURL.createObjectURL = function (blob) {\n return OriginalURL.createObjectURL.apply(OriginalURL, arguments);\n };\n\n PolyfillURL.revokeObjectURL = function (url) {\n OriginalURL.revokeObjectURL(url);\n };\n }\n\n exports.URL = PolyfillURL;\n }\n}\n\n/***/ }),\n/* 146 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n(function URLConstructorClosure() {\n 'use strict';\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\n function isRelativeScheme(scheme) {\n return relative[scheme] !== undefined;\n }\n\n function invalid() {\n clear.call(this);\n this._isInvalid = true;\n }\n\n function IDNAToASCII(h) {\n if (h === '') {\n invalid.call(this);\n }\n\n return h.toLowerCase();\n }\n\n function percentEscape(c) {\n var unicode = c.charCodeAt(0);\n\n if (unicode > 0x20 && unicode < 0x7F && [0x22, 0x23, 0x3C, 0x3E, 0x3F, 0x60].indexOf(unicode) === -1) {\n return c;\n }\n\n return encodeURIComponent(c);\n }\n\n function percentEscapeQuery(c) {\n var unicode = c.charCodeAt(0);\n\n if (unicode > 0x20 && unicode < 0x7F && [0x22, 0x23, 0x3C, 0x3E, 0x60].indexOf(unicode) === -1) {\n return c;\n }\n\n return encodeURIComponent(c);\n }\n\n var EOF,\n ALPHA = /[a-zA-Z]/,\n ALPHANUMERIC = /[a-zA-Z0-9\\+\\-\\.]/;\n\n function parse(input, stateOverride, base) {\n function err(message) {\n errors.push(message);\n }\n\n var state = stateOverride || 'scheme start',\n cursor = 0,\n buffer = '',\n seenAt = false,\n seenBracket = false,\n errors = [];\n\n loop: while ((input[cursor - 1] !== EOF || cursor === 0) && !this._isInvalid) {\n var c = input[cursor];\n\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\n break;\n\n case 'scheme':\n if (c && ALPHANUMERIC.test(c)) {\n buffer += c.toLowerCase();\n } else if (c === ':') {\n this._scheme = buffer;\n buffer = '';\n\n if (stateOverride) {\n break loop;\n }\n\n if (isRelativeScheme(this._scheme)) {\n this._isRelative = true;\n }\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\n break;\n\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\n break;\n\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\n break;\n\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\n break;\n\n case 'relative':\n this._isRelative = true;\n\n if (this._scheme !== 'file') {\n this._scheme = base._scheme;\n }\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\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\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\n this._path.pop();\n }\n\n state = 'relative path';\n continue;\n }\n\n break;\n\n case 'relative slash':\n if (c === '/' || c === '\\\\') {\n if (c === '\\\\') {\n err('\\\\ is an invalid code point.');\n }\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\n state = 'relative path';\n continue;\n }\n\n break;\n\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\n break;\n\n case 'authority second slash':\n state = 'authority ignore slashes';\n\n if (c !== '/') {\n err('Expected \\'/\\', got: ' + c);\n continue;\n }\n\n break;\n\n case 'authority ignore slashes':\n if (c !== '/' && c !== '\\\\') {\n state = 'authority';\n continue;\n } else {\n err('Expected authority, got: ' + c);\n }\n\n break;\n\n case 'authority':\n if (c === '@') {\n if (seenAt) {\n err('@ already seen.');\n buffer += '%40';\n }\n\n seenAt = true;\n\n for (var i = 0; i < buffer.length; i++) {\n var cp = buffer[i];\n\n if (cp === '\\t' || cp === '\\n' || cp === '\\r') {\n err('Invalid whitespace in authority.');\n continue;\n }\n\n if (cp === ':' && this._password === null) {\n this._password = '';\n continue;\n }\n\n var tempC = percentEscape(cp);\n\n if (this._password !== null) {\n this._password += tempC;\n } else {\n this._username += tempC;\n }\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\n break;\n\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\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\n break;\n\n case 'host':\n case 'hostname':\n if (c === ':' && !seenBracket) {\n this._host = IDNAToASCII.call(this, buffer);\n buffer = '';\n state = 'port';\n\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\n if (stateOverride) {\n break loop;\n }\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\n buffer += c;\n } else {\n err('Invalid code point in host/hostname: ' + c);\n }\n\n break;\n\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\n if (temp !== relative[this._scheme]) {\n this._port = temp + '';\n }\n\n buffer = '';\n }\n\n if (stateOverride) {\n break loop;\n }\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\n break;\n\n case 'relative path start':\n if (c === '\\\\') {\n err('\\'\\\\\\' not allowed in path.');\n }\n\n state = 'relative path';\n\n if (c !== '/' && c !== '\\\\') {\n continue;\n }\n\n break;\n\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\n var tmp;\n\n if (tmp = relativePathDotMapping[buffer.toLowerCase()]) {\n buffer = tmp;\n }\n\n if (buffer === '..') {\n this._path.pop();\n\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\n this._path.push(buffer);\n }\n\n buffer = '';\n\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\n break;\n\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\n break;\n\n case 'fragment':\n if (c !== EOF && c !== '\\t' && c !== '\\n' && c !== '\\r') {\n this._fragment += c;\n }\n\n break;\n }\n\n cursor++;\n }\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\n function JURL(url, base) {\n if (base !== undefined && !(base instanceof JURL)) {\n base = new JURL(String(base));\n }\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\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\n var authority = '';\n\n if (this._username !== '' || this._password !== null) {\n authority = this._username + (this._password !== null ? ':' + this._password : '') + '@';\n }\n\n return this.protocol + (this._isRelative ? '//' + authority + this.host : '') + this.pathname + this._query + this._fragment;\n },\n\n set href(value) {\n clear.call(this);\n parse.call(this, value);\n },\n\n get protocol() {\n return this._scheme + ':';\n },\n\n set protocol(value) {\n if (this._isInvalid) {\n return;\n }\n\n parse.call(this, value + ':', 'scheme start');\n },\n\n get host() {\n return this._isInvalid ? '' : this._port ? this._host + ':' + this._port : this._host;\n },\n\n set host(value) {\n if (this._isInvalid || !this._isRelative) {\n return;\n }\n\n parse.call(this, value, 'host');\n },\n\n get hostname() {\n return this._host;\n },\n\n set hostname(value) {\n if (this._isInvalid || !this._isRelative) {\n return;\n }\n\n parse.call(this, value, 'hostname');\n },\n\n get port() {\n return this._port;\n },\n\n set port(value) {\n if (this._isInvalid || !this._isRelative) {\n return;\n }\n\n parse.call(this, value, 'port');\n },\n\n get pathname() {\n return this._isInvalid ? '' : this._isRelative ? '/' + this._path.join('/') : this._schemeData;\n },\n\n set pathname(value) {\n if (this._isInvalid || !this._isRelative) {\n return;\n }\n\n this._path = [];\n parse.call(this, value, 'relative path start');\n },\n\n get search() {\n return this._isInvalid || !this._query || this._query === '?' ? '' : this._query;\n },\n\n set search(value) {\n if (this._isInvalid || !this._isRelative) {\n return;\n }\n\n this._query = '?';\n\n if (value[0] === '?') {\n value = value.slice(1);\n }\n\n parse.call(this, value, 'query');\n },\n\n get hash() {\n return this._isInvalid || !this._fragment || this._fragment === '#' ? '' : this._fragment;\n },\n\n set hash(value) {\n if (this._isInvalid) {\n return;\n }\n\n this._fragment = '#';\n\n if (value[0] === '#') {\n value = value.slice(1);\n }\n\n parse.call(this, value, 'fragment');\n },\n\n get origin() {\n var host;\n\n if (this._isInvalid || !this._scheme) {\n return '';\n }\n\n switch (this._scheme) {\n case 'data':\n case 'file':\n case 'javascript':\n case 'mailto':\n return 'null';\n\n case 'blob':\n try {\n return new JURL(this._schemeData).origin || 'null';\n } catch (_) {}\n\n return 'null';\n }\n\n host = this.host;\n\n if (!host) {\n return '';\n }\n\n return this._scheme + '://' + host;\n }\n\n };\n exports.URL = JURL;\n})();\n\n/***/ }),\n/* 147 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getDocument = getDocument;\nexports.setPDFNetworkStreamFactory = setPDFNetworkStreamFactory;\nexports.build = exports.version = exports.PDFPageProxy = exports.PDFDocumentProxy = exports.PDFWorker = exports.PDFDataRangeTransport = exports.LoopbackPort = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(148));\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _display_utils = __w_pdfjs_require__(151);\n\nvar _font_loader = __w_pdfjs_require__(152);\n\nvar _api_compatibility = __w_pdfjs_require__(153);\n\nvar _canvas = __w_pdfjs_require__(154);\n\nvar _global_scope = _interopRequireDefault(__w_pdfjs_require__(3));\n\nvar _worker_options = __w_pdfjs_require__(156);\n\nvar _message_handler = __w_pdfjs_require__(157);\n\nvar _metadata = __w_pdfjs_require__(158);\n\nvar _transport_stream = __w_pdfjs_require__(160);\n\nvar _webgl = __w_pdfjs_require__(161);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance\"); }\n\nfunction _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar DEFAULT_RANGE_CHUNK_SIZE = 65536;\nvar isWorkerDisabled = false;\nvar fallbackWorkerSrc;\nvar fakeWorkerFilesLoader = null;\n{\n var useRequireEnsure = false;\n\n if (typeof window === 'undefined') {\n isWorkerDisabled = true;\n\n if (false) {}\n\n useRequireEnsure = true;\n } else if (true) {\n useRequireEnsure = true;\n }\n\n if (typeof requirejs !== 'undefined' && requirejs.toUrl) {\n fallbackWorkerSrc = requirejs.toUrl('pdfjs-dist/build/pdf.worker.js');\n }\n\n var dynamicLoaderSupported = typeof requirejs !== 'undefined' && requirejs.load;\n fakeWorkerFilesLoader = useRequireEnsure ? function () {\n return new Promise(function (resolve, reject) {\n __webpack_require__.e(/*! require.ensure | pdfjsWorker */ \"vendors~pdfjsWorker\").then((function () {\n try {\n var worker;\n worker = __webpack_require__(/*! ./pdf.worker.js */ \"./node_modules/pdfjs-dist/build/pdf.worker.js\");\n resolve(worker.WorkerMessageHandler);\n } catch (ex) {\n reject(ex);\n }\n }).bind(null, __webpack_require__)).catch(reject);\n });\n } : dynamicLoaderSupported ? function () {\n return new Promise(function (resolve, reject) {\n requirejs(['pdfjs-dist/build/pdf.worker'], function (worker) {\n try {\n resolve(worker.WorkerMessageHandler);\n } catch (ex) {\n reject(ex);\n }\n }, reject);\n });\n } : null;\n\n if (!fallbackWorkerSrc && (typeof document === \"undefined\" ? \"undefined\" : _typeof(document)) === 'object' && 'currentScript' in document) {\n var pdfjsFilePath = document.currentScript && document.currentScript.src;\n\n if (pdfjsFilePath) {\n fallbackWorkerSrc = pdfjsFilePath.replace(/(\\.(?:min\\.)?js)(\\?.*)?$/i, '.worker$1$2');\n }\n }\n}\nvar createPDFNetworkStream;\n\nfunction setPDFNetworkStreamFactory(pdfNetworkStreamFactory) {\n createPDFNetworkStream = pdfNetworkStreamFactory;\n}\n\nfunction getDocument(src) {\n var task = new PDFDocumentLoadingTask();\n var source;\n\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) !== 'object') {\n throw new Error('Invalid parameter in getDocument, ' + 'need either Uint8Array, string or a parameter object');\n }\n\n if (!src.url && !src.data && !src.range) {\n throw new Error('Invalid parameter object: need either .data, .range or .url');\n }\n\n source = src;\n }\n\n var params = Object.create(null);\n var rangeTransport = null,\n worker = null;\n\n for (var key in source) {\n if (key === 'url' && typeof window !== 'undefined') {\n params[key] = new _util.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\n if (typeof pdfBytes === 'string') {\n params[key] = (0, _util.stringToBytes)(pdfBytes);\n } else if (_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\n continue;\n }\n\n params[key] = source[key];\n }\n\n params.rangeChunkSize = params.rangeChunkSize || DEFAULT_RANGE_CHUNK_SIZE;\n params.CMapReaderFactory = params.CMapReaderFactory || _display_utils.DOMCMapReaderFactory;\n params.ignoreErrors = params.stopAtErrors !== true;\n params.pdfBug = params.pdfBug === true;\n var NativeImageDecoderValues = Object.values(_util.NativeImageDecoding);\n\n if (params.nativeImageDecoderSupport === undefined || !NativeImageDecoderValues.includes(params.nativeImageDecoderSupport)) {\n params.nativeImageDecoderSupport = _api_compatibility.apiCompatibilityParams.nativeImageDecoderSupport || _util.NativeImageDecoding.DECODE;\n }\n\n if (!Number.isInteger(params.maxImageSize)) {\n params.maxImageSize = -1;\n }\n\n if (typeof params.isEvalSupported !== 'boolean') {\n params.isEvalSupported = true;\n }\n\n if (typeof params.disableFontFace !== 'boolean') {\n params.disableFontFace = _api_compatibility.apiCompatibilityParams.disableFontFace || false;\n }\n\n if (typeof params.disableRange !== 'boolean') {\n params.disableRange = false;\n }\n\n if (typeof params.disableStream !== 'boolean') {\n params.disableStream = false;\n }\n\n if (typeof params.disableAutoFetch !== 'boolean') {\n params.disableAutoFetch = false;\n }\n\n if (typeof params.disableCreateObjectURL !== 'boolean') {\n params.disableCreateObjectURL = _api_compatibility.apiCompatibilityParams.disableCreateObjectURL || false;\n }\n\n (0, _util.setVerbosityLevel)(params.verbosity);\n\n if (!worker) {\n var workerParams = {\n postMessageTransfers: params.postMessageTransfers,\n verbosity: params.verbosity,\n port: _worker_options.GlobalWorkerOptions.workerPort\n };\n worker = workerParams.port ? PDFWorker.fromPort(workerParams) : new PDFWorker(workerParams);\n task._worker = worker;\n }\n\n var docId = task.docId;\n worker.promise.then(function () {\n if (task.destroyed) {\n throw new Error('Loading aborted');\n }\n\n return _fetchDocument(worker, params, rangeTransport, docId).then(function (workerId) {\n if (task.destroyed) {\n throw new Error('Loading aborted');\n }\n\n var networkStream;\n\n if (rangeTransport) {\n networkStream = new _transport_stream.PDFDataTransportStream({\n length: params.length,\n initialData: params.initialData,\n progressiveDone: params.progressiveDone,\n disableRange: params.disableRange,\n disableStream: params.disableStream\n }, rangeTransport);\n } else if (!params.data) {\n networkStream = createPDFNetworkStream({\n url: params.url,\n length: params.length,\n httpHeaders: params.httpHeaders,\n withCredentials: params.withCredentials,\n rangeChunkSize: params.rangeChunkSize,\n disableRange: params.disableRange,\n disableStream: params.disableStream\n });\n }\n\n var messageHandler = new _message_handler.MessageHandler(docId, workerId, worker.port);\n messageHandler.postMessageTransfers = worker.postMessageTransfers;\n var transport = new WorkerTransport(messageHandler, task, networkStream, params);\n task._transport = transport;\n messageHandler.send('Ready', null);\n });\n })[\"catch\"](task._capability.reject);\n return task;\n}\n\nfunction _fetchDocument(worker, source, pdfDataRangeTransport, docId) {\n if (worker.destroyed) {\n return Promise.reject(new Error('Worker was destroyed'));\n }\n\n if (pdfDataRangeTransport) {\n source.length = pdfDataRangeTransport.length;\n source.initialData = pdfDataRangeTransport.initialData;\n source.progressiveDone = pdfDataRangeTransport.progressiveDone;\n }\n\n return worker.messageHandler.sendWithPromise('GetDocRequest', {\n docId: docId,\n apiVersion: '2.2.228',\n source: {\n data: source.data,\n url: source.url,\n password: source.password,\n disableAutoFetch: source.disableAutoFetch,\n rangeChunkSize: source.rangeChunkSize,\n length: source.length\n },\n maxImageSize: source.maxImageSize,\n disableFontFace: source.disableFontFace,\n disableCreateObjectURL: source.disableCreateObjectURL,\n postMessageTransfers: worker.postMessageTransfers,\n docBaseUrl: source.docBaseUrl,\n nativeImageDecoderSupport: source.nativeImageDecoderSupport,\n ignoreErrors: source.ignoreErrors,\n isEvalSupported: source.isEvalSupported\n }).then(function (workerId) {\n if (worker.destroyed) {\n throw new Error('Worker was destroyed');\n }\n\n return workerId;\n });\n}\n\nvar PDFDocumentLoadingTask = function PDFDocumentLoadingTaskClosure() {\n var nextDocumentId = 0;\n\n var PDFDocumentLoadingTask =\n /*#__PURE__*/\n function () {\n function PDFDocumentLoadingTask() {\n _classCallCheck(this, PDFDocumentLoadingTask);\n\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\n _createClass(PDFDocumentLoadingTask, [{\n key: \"destroy\",\n value: 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\n if (_this._worker) {\n _this._worker.destroy();\n\n _this._worker = null;\n }\n });\n }\n }, {\n key: \"then\",\n value: function then(onFulfilled, onRejected) {\n (0, _display_utils.deprecated)('PDFDocumentLoadingTask.then method, ' + 'use the `promise` getter instead.');\n return this.promise.then.apply(this.promise, arguments);\n }\n }, {\n key: \"promise\",\n get: function get() {\n return this._capability.promise;\n }\n }]);\n\n return PDFDocumentLoadingTask;\n }();\n\n return PDFDocumentLoadingTask;\n}();\n\nvar PDFDataRangeTransport =\n/*#__PURE__*/\nfunction () {\n function PDFDataRangeTransport(length, initialData) {\n var progressiveDone = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n _classCallCheck(this, PDFDataRangeTransport);\n\n this.length = length;\n this.initialData = initialData;\n this.progressiveDone = progressiveDone;\n this._rangeListeners = [];\n this._progressListeners = [];\n this._progressiveReadListeners = [];\n this._progressiveDoneListeners = [];\n this._readyCapability = (0, _util.createPromiseCapability)();\n }\n\n _createClass(PDFDataRangeTransport, [{\n key: \"addRangeListener\",\n value: function addRangeListener(listener) {\n this._rangeListeners.push(listener);\n }\n }, {\n key: \"addProgressListener\",\n value: function addProgressListener(listener) {\n this._progressListeners.push(listener);\n }\n }, {\n key: \"addProgressiveReadListener\",\n value: function addProgressiveReadListener(listener) {\n this._progressiveReadListeners.push(listener);\n }\n }, {\n key: \"addProgressiveDoneListener\",\n value: function addProgressiveDoneListener(listener) {\n this._progressiveDoneListeners.push(listener);\n }\n }, {\n key: \"onDataRange\",\n value: function onDataRange(begin, chunk) {\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = this._rangeListeners[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var listener = _step.value;\n listener(begin, chunk);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator[\"return\"] != null) {\n _iterator[\"return\"]();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n }\n }, {\n key: \"onDataProgress\",\n value: function onDataProgress(loaded, total) {\n var _this2 = this;\n\n this._readyCapability.promise.then(function () {\n var _iteratorNormalCompletion2 = true;\n var _didIteratorError2 = false;\n var _iteratorError2 = undefined;\n\n try {\n for (var _iterator2 = _this2._progressListeners[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var listener = _step2.value;\n listener(loaded, total);\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2[\"return\"] != null) {\n _iterator2[\"return\"]();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n });\n }\n }, {\n key: \"onDataProgressiveRead\",\n value: function onDataProgressiveRead(chunk) {\n var _this3 = this;\n\n this._readyCapability.promise.then(function () {\n var _iteratorNormalCompletion3 = true;\n var _didIteratorError3 = false;\n var _iteratorError3 = undefined;\n\n try {\n for (var _iterator3 = _this3._progressiveReadListeners[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {\n var listener = _step3.value;\n listener(chunk);\n }\n } catch (err) {\n _didIteratorError3 = true;\n _iteratorError3 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion3 && _iterator3[\"return\"] != null) {\n _iterator3[\"return\"]();\n }\n } finally {\n if (_didIteratorError3) {\n throw _iteratorError3;\n }\n }\n }\n });\n }\n }, {\n key: \"onDataProgressiveDone\",\n value: function onDataProgressiveDone() {\n var _this4 = this;\n\n this._readyCapability.promise.then(function () {\n var _iteratorNormalCompletion4 = true;\n var _didIteratorError4 = false;\n var _iteratorError4 = undefined;\n\n try {\n for (var _iterator4 = _this4._progressiveDoneListeners[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {\n var listener = _step4.value;\n listener();\n }\n } catch (err) {\n _didIteratorError4 = true;\n _iteratorError4 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion4 && _iterator4[\"return\"] != null) {\n _iterator4[\"return\"]();\n }\n } finally {\n if (_didIteratorError4) {\n throw _iteratorError4;\n }\n }\n }\n });\n }\n }, {\n key: \"transportReady\",\n value: function transportReady() {\n this._readyCapability.resolve();\n }\n }, {\n key: \"requestDataRange\",\n value: function requestDataRange(begin, end) {\n (0, _util.unreachable)('Abstract method PDFDataRangeTransport.requestDataRange');\n }\n }, {\n key: \"abort\",\n value: function abort() {}\n }]);\n\n return PDFDataRangeTransport;\n}();\n\nexports.PDFDataRangeTransport = PDFDataRangeTransport;\n\nvar PDFDocumentProxy =\n/*#__PURE__*/\nfunction () {\n function PDFDocumentProxy(pdfInfo, transport) {\n _classCallCheck(this, PDFDocumentProxy);\n\n this._pdfInfo = pdfInfo;\n this._transport = transport;\n }\n\n _createClass(PDFDocumentProxy, [{\n key: \"getPage\",\n value: function getPage(pageNumber) {\n return this._transport.getPage(pageNumber);\n }\n }, {\n key: \"getPageIndex\",\n value: function getPageIndex(ref) {\n return this._transport.getPageIndex(ref);\n }\n }, {\n key: \"getDestinations\",\n value: function getDestinations() {\n return this._transport.getDestinations();\n }\n }, {\n key: \"getDestination\",\n value: function getDestination(id) {\n return this._transport.getDestination(id);\n }\n }, {\n key: \"getPageLabels\",\n value: function getPageLabels() {\n return this._transport.getPageLabels();\n }\n }, {\n key: \"getPageLayout\",\n value: function getPageLayout() {\n return this._transport.getPageLayout();\n }\n }, {\n key: \"getPageMode\",\n value: function getPageMode() {\n return this._transport.getPageMode();\n }\n }, {\n key: \"getViewerPreferences\",\n value: function getViewerPreferences() {\n return this._transport.getViewerPreferences();\n }\n }, {\n key: \"getOpenActionDestination\",\n value: function getOpenActionDestination() {\n return this._transport.getOpenActionDestination();\n }\n }, {\n key: \"getAttachments\",\n value: function getAttachments() {\n return this._transport.getAttachments();\n }\n }, {\n key: \"getJavaScript\",\n value: function getJavaScript() {\n return this._transport.getJavaScript();\n }\n }, {\n key: \"getOutline\",\n value: function getOutline() {\n return this._transport.getOutline();\n }\n }, {\n key: \"getPermissions\",\n value: function getPermissions() {\n return this._transport.getPermissions();\n }\n }, {\n key: \"getMetadata\",\n value: function getMetadata() {\n return this._transport.getMetadata();\n }\n }, {\n key: \"getData\",\n value: function getData() {\n return this._transport.getData();\n }\n }, {\n key: \"getDownloadInfo\",\n value: function getDownloadInfo() {\n return this._transport.downloadInfoCapability.promise;\n }\n }, {\n key: \"getStats\",\n value: function getStats() {\n return this._transport.getStats();\n }\n }, {\n key: \"cleanup\",\n value: function cleanup() {\n this._transport.startCleanup();\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n return this.loadingTask.destroy();\n }\n }, {\n key: \"numPages\",\n get: function get() {\n return this._pdfInfo.numPages;\n }\n }, {\n key: \"fingerprint\",\n get: function get() {\n return this._pdfInfo.fingerprint;\n }\n }, {\n key: \"loadingParams\",\n get: function get() {\n return this._transport.loadingParams;\n }\n }, {\n key: \"loadingTask\",\n get: function get() {\n return this._transport.loadingTask;\n }\n }]);\n\n return PDFDocumentProxy;\n}();\n\nexports.PDFDocumentProxy = PDFDocumentProxy;\n\nvar PDFPageProxy =\n/*#__PURE__*/\nfunction () {\n function PDFPageProxy(pageIndex, pageInfo, transport) {\n var pdfBug = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n\n _classCallCheck(this, PDFPageProxy);\n\n this.pageIndex = pageIndex;\n this._pageInfo = pageInfo;\n this._transport = transport;\n this._stats = pdfBug ? new _display_utils.StatTimer() : _display_utils.DummyStatTimer;\n this._pdfBug = pdfBug;\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\n _createClass(PDFPageProxy, [{\n key: \"getViewport\",\n value: function getViewport() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n scale = _ref.scale,\n _ref$rotation = _ref.rotation,\n rotation = _ref$rotation === void 0 ? this.rotate : _ref$rotation,\n _ref$dontFlip = _ref.dontFlip,\n dontFlip = _ref$dontFlip === void 0 ? false : _ref$dontFlip;\n\n if (arguments.length > 1 || typeof arguments[0] === 'number') {\n (0, _display_utils.deprecated)('getViewport is called with obsolete arguments.');\n scale = arguments[0];\n rotation = typeof arguments[1] === 'number' ? arguments[1] : this.rotate;\n dontFlip = typeof arguments[2] === 'boolean' ? arguments[2] : false;\n }\n\n return new _display_utils.PageViewport({\n viewBox: this.view,\n scale: scale,\n rotation: rotation,\n dontFlip: dontFlip\n });\n }\n }, {\n key: \"getAnnotations\",\n value: function getAnnotations() {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref2$intent = _ref2.intent,\n intent = _ref2$intent === void 0 ? null : _ref2$intent;\n\n if (!this.annotationsPromise || this.annotationsIntent !== intent) {\n this.annotationsPromise = this._transport.getAnnotations(this.pageIndex, intent);\n this.annotationsIntent = intent;\n }\n\n return this.annotationsPromise;\n }\n }, {\n key: \"render\",\n value: function render(_ref3) {\n var _this5 = this;\n\n var canvasContext = _ref3.canvasContext,\n viewport = _ref3.viewport,\n _ref3$intent = _ref3.intent,\n intent = _ref3$intent === void 0 ? 'display' : _ref3$intent,\n _ref3$enableWebGL = _ref3.enableWebGL,\n enableWebGL = _ref3$enableWebGL === void 0 ? false : _ref3$enableWebGL,\n _ref3$renderInteracti = _ref3.renderInteractiveForms,\n renderInteractiveForms = _ref3$renderInteracti === void 0 ? false : _ref3$renderInteracti,\n _ref3$transform = _ref3.transform,\n transform = _ref3$transform === void 0 ? null : _ref3$transform,\n _ref3$imageLayer = _ref3.imageLayer,\n imageLayer = _ref3$imageLayer === void 0 ? null : _ref3$imageLayer,\n _ref3$canvasFactory = _ref3.canvasFactory,\n canvasFactory = _ref3$canvasFactory === void 0 ? null : _ref3$canvasFactory,\n _ref3$background = _ref3.background,\n background = _ref3$background === void 0 ? null : _ref3$background;\n var stats = this._stats;\n stats.time('Overall');\n this.pendingCleanup = false;\n var renderingIntent = intent === 'print' ? 'print' : 'display';\n var canvasFactoryInstance = canvasFactory || new _display_utils.DOMCanvasFactory();\n var webGLContext = new _webgl.WebGLContext({\n enable: enableWebGL\n });\n\n if (!this.intentStates[renderingIntent]) {\n this.intentStates[renderingIntent] = Object.create(null);\n }\n\n var intentState = this.intentStates[renderingIntent];\n\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 stats.time('Page Request');\n\n this._transport.messageHandler.send('RenderPageRequest', {\n pageIndex: this.pageNumber - 1,\n intent: renderingIntent,\n renderInteractiveForms: renderInteractiveForms === true\n });\n }\n\n var complete = function complete(error) {\n var i = intentState.renderTasks.indexOf(internalRenderTask);\n\n if (i >= 0) {\n intentState.renderTasks.splice(i, 1);\n }\n\n if (_this5.cleanupAfterRender || renderingIntent === 'print') {\n _this5.pendingCleanup = true;\n }\n\n _this5._tryCleanup();\n\n if (error) {\n internalRenderTask.capability.reject(error);\n } else {\n internalRenderTask.capability.resolve();\n }\n\n stats.timeEnd('Rendering');\n stats.timeEnd('Overall');\n };\n\n var internalRenderTask = new InternalRenderTask({\n callback: complete,\n params: {\n canvasContext: canvasContext,\n viewport: viewport,\n transform: transform,\n imageLayer: imageLayer,\n background: background\n },\n objs: this.objs,\n commonObjs: this.commonObjs,\n operatorList: intentState.operatorList,\n pageNumber: this.pageNumber,\n canvasFactory: canvasFactoryInstance,\n webGLContext: webGLContext,\n useRequestAnimationFrame: renderingIntent !== 'print',\n pdfBug: this._pdfBug\n });\n\n if (!intentState.renderTasks) {\n intentState.renderTasks = [];\n }\n\n intentState.renderTasks.push(internalRenderTask);\n var renderTask = internalRenderTask.task;\n intentState.displayReadyCapability.promise.then(function (transparency) {\n if (_this5.pendingCleanup) {\n complete();\n return;\n }\n\n stats.time('Rendering');\n internalRenderTask.initializeGraphics(transparency);\n internalRenderTask.operatorListChanged();\n })[\"catch\"](complete);\n return renderTask;\n }\n }, {\n key: \"getOperatorList\",\n value: function getOperatorList() {\n function operatorListChanged() {\n if (intentState.operatorList.lastChunk) {\n intentState.opListReadCapability.resolve(intentState.operatorList);\n var i = intentState.renderTasks.indexOf(opListTask);\n\n if (i >= 0) {\n intentState.renderTasks.splice(i, 1);\n }\n }\n }\n\n var renderingIntent = 'oplist';\n\n if (!this.intentStates[renderingIntent]) {\n this.intentStates[renderingIntent] = Object.create(null);\n }\n\n var intentState = this.intentStates[renderingIntent];\n var opListTask;\n\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\n this._stats.time('Page Request');\n\n this._transport.messageHandler.send('RenderPageRequest', {\n pageIndex: this.pageIndex,\n intent: renderingIntent\n });\n }\n\n return intentState.opListReadCapability.promise;\n }\n }, {\n key: \"streamTextContent\",\n value: function streamTextContent() {\n var _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref4$normalizeWhites = _ref4.normalizeWhitespace,\n normalizeWhitespace = _ref4$normalizeWhites === void 0 ? false : _ref4$normalizeWhites,\n _ref4$disableCombineT = _ref4.disableCombineTextItems,\n disableCombineTextItems = _ref4$disableCombineT === void 0 ? false : _ref4$disableCombineT;\n\n var TEXT_CONTENT_CHUNK_SIZE = 100;\n return this._transport.messageHandler.sendWithStream('GetTextContent', {\n pageIndex: this.pageNumber - 1,\n normalizeWhitespace: normalizeWhitespace === true,\n combineTextItems: disableCombineTextItems !== true\n }, {\n highWaterMark: TEXT_CONTENT_CHUNK_SIZE,\n size: function size(textContent) {\n return textContent.items.length;\n }\n });\n }\n }, {\n key: \"getTextContent\",\n value: function getTextContent() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var readableStream = this.streamTextContent(params);\n return new Promise(function (resolve, reject) {\n function pump() {\n reader.read().then(function (_ref5) {\n var _textContent$items;\n\n var value = _ref5.value,\n done = _ref5.done;\n\n if (done) {\n resolve(textContent);\n return;\n }\n\n Object.assign(textContent.styles, value.styles);\n\n (_textContent$items = textContent.items).push.apply(_textContent$items, _toConsumableArray(value.items));\n\n pump();\n }, reject);\n }\n\n var reader = readableStream.getReader();\n var textContent = {\n items: [],\n styles: Object.create(null)\n };\n pump();\n });\n }\n }, {\n key: \"_destroy\",\n value: function _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\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 }, {\n key: \"cleanup\",\n value: function cleanup() {\n var resetStats = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n this.pendingCleanup = true;\n\n this._tryCleanup(resetStats);\n }\n }, {\n key: \"_tryCleanup\",\n value: function _tryCleanup() {\n var resetStats = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\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\n Object.keys(this.intentStates).forEach(function (intent) {\n delete this.intentStates[intent];\n }, this);\n this.objs.clear();\n this.annotationsPromise = null;\n\n if (resetStats && this._stats instanceof _display_utils.StatTimer) {\n this._stats = new _display_utils.StatTimer();\n }\n\n this.pendingCleanup = false;\n }\n }, {\n key: \"_startRenderPage\",\n value: function _startRenderPage(transparency, intent) {\n var intentState = this.intentStates[intent];\n\n if (intentState.displayReadyCapability) {\n intentState.displayReadyCapability.resolve(transparency);\n }\n }\n }, {\n key: \"_renderPageChunk\",\n value: function _renderPageChunk(operatorListChunk, intent) {\n var intentState = this.intentStates[intent];\n\n for (var 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\n intentState.operatorList.lastChunk = operatorListChunk.lastChunk;\n\n for (var _i = 0; _i < intentState.renderTasks.length; _i++) {\n intentState.renderTasks[_i].operatorListChanged();\n }\n\n if (operatorListChunk.lastChunk) {\n intentState.receivingOperatorList = false;\n\n this._tryCleanup();\n }\n }\n }, {\n key: \"pageNumber\",\n get: function get() {\n return this.pageIndex + 1;\n }\n }, {\n key: \"rotate\",\n get: function get() {\n return this._pageInfo.rotate;\n }\n }, {\n key: \"ref\",\n get: function get() {\n return this._pageInfo.ref;\n }\n }, {\n key: \"userUnit\",\n get: function get() {\n return this._pageInfo.userUnit;\n }\n }, {\n key: \"view\",\n get: function get() {\n return this._pageInfo.view;\n }\n }, {\n key: \"stats\",\n get: function get() {\n return this._stats instanceof _display_utils.StatTimer ? this._stats : null;\n }\n }]);\n\n return PDFPageProxy;\n}();\n\nexports.PDFPageProxy = PDFPageProxy;\n\nvar LoopbackPort =\n/*#__PURE__*/\nfunction () {\n function LoopbackPort() {\n var defer = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\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 _this6 = this;\n\n function cloneValue(value) {\n if (_typeof(value) !== 'object' || value === null) {\n return value;\n }\n\n if (cloned.has(value)) {\n return cloned.get(value);\n }\n\n var buffer, result;\n\n if ((buffer = value.buffer) && (0, _util.isArrayBuffer)(buffer)) {\n var transferable = transfers && transfers.includes(buffer);\n\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\n cloned.set(value, result);\n return result;\n }\n\n result = Array.isArray(value) ? [] : {};\n cloned.set(value, result);\n\n for (var i in value) {\n var desc = void 0,\n p = value;\n\n while (!(desc = Object.getOwnPropertyDescriptor(p, i))) {\n p = Object.getPrototypeOf(p);\n }\n\n if (typeof desc.value === 'undefined' || typeof desc.value === 'function') {\n continue;\n }\n\n result[i] = cloneValue(desc.value);\n }\n\n return result;\n }\n\n if (!this._defer) {\n this._listeners.forEach(function (listener) {\n listener.call(this, {\n data: obj\n });\n }, this);\n\n return;\n }\n\n var cloned = new WeakMap();\n var e = {\n data: cloneValue(obj)\n };\n\n this._deferred.then(function () {\n _this6._listeners.forEach(function (listener) {\n listener.call(this, e);\n }, _this6);\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\n this._listeners.splice(i, 1);\n }\n }, {\n key: \"terminate\",\n value: function terminate() {\n this._listeners.length = 0;\n }\n }]);\n\n return LoopbackPort;\n}();\n\nexports.LoopbackPort = LoopbackPort;\n\nvar PDFWorker = function PDFWorkerClosure() {\n var pdfWorkerPorts = new WeakMap();\n var nextFakeWorkerId = 0;\n var fakeWorkerFilesLoadedCapability;\n\n function _getWorkerSrc() {\n if (_worker_options.GlobalWorkerOptions.workerSrc) {\n return _worker_options.GlobalWorkerOptions.workerSrc;\n }\n\n if (typeof fallbackWorkerSrc !== 'undefined') {\n return fallbackWorkerSrc;\n }\n\n throw new Error('No \"GlobalWorkerOptions.workerSrc\" specified.');\n }\n\n function getMainThreadWorkerMessageHandler() {\n try {\n if (typeof window !== 'undefined') {\n return window.pdfjsWorker && window.pdfjsWorker.WorkerMessageHandler;\n }\n } catch (ex) {}\n\n return null;\n }\n\n function setupFakeWorkerGlobal() {\n if (fakeWorkerFilesLoadedCapability) {\n return fakeWorkerFilesLoadedCapability.promise;\n }\n\n fakeWorkerFilesLoadedCapability = (0, _util.createPromiseCapability)();\n var mainWorkerMessageHandler = getMainThreadWorkerMessageHandler();\n\n if (mainWorkerMessageHandler) {\n fakeWorkerFilesLoadedCapability.resolve(mainWorkerMessageHandler);\n return fakeWorkerFilesLoadedCapability.promise;\n }\n\n var loader = fakeWorkerFilesLoader || function () {\n return (0, _display_utils.loadScript)(_getWorkerSrc()).then(function () {\n return window.pdfjsWorker.WorkerMessageHandler;\n });\n };\n\n loader().then(fakeWorkerFilesLoadedCapability.resolve, fakeWorkerFilesLoadedCapability.reject);\n return fakeWorkerFilesLoadedCapability.promise;\n }\n\n function createCDNWrapper(url) {\n var wrapper = 'importScripts(\\'' + url + '\\');';\n return _util.URL.createObjectURL(new Blob([wrapper]));\n }\n\n var PDFWorker =\n /*#__PURE__*/\n function () {\n function PDFWorker() {\n var _ref6 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref6$name = _ref6.name,\n name = _ref6$name === void 0 ? null : _ref6$name,\n _ref6$port = _ref6.port,\n port = _ref6$port === void 0 ? null : _ref6$port,\n _ref6$postMessageTran = _ref6.postMessageTransfers,\n postMessageTransfers = _ref6$postMessageTran === void 0 ? true : _ref6$postMessageTran,\n _ref6$verbosity = _ref6.verbosity,\n verbosity = _ref6$verbosity === void 0 ? (0, _util.getVerbosityLevel)() : _ref6$verbosity;\n\n _classCallCheck(this, PDFWorker);\n\n if (port && pdfWorkerPorts.has(port)) {\n throw new Error('Cannot use more than one PDFWorker per port');\n }\n\n this.name = name;\n this.destroyed = false;\n this.postMessageTransfers = postMessageTransfers !== false;\n this.verbosity = verbosity;\n this._readyCapability = (0, _util.createPromiseCapability)();\n this._port = null;\n this._webWorker = null;\n this._messageHandler = null;\n\n if (port) {\n pdfWorkerPorts.set(port, this);\n\n this._initializeFromPort(port);\n\n return;\n }\n\n this._initialize();\n }\n\n _createClass(PDFWorker, [{\n key: \"_initializeFromPort\",\n value: function _initializeFromPort(port) {\n this._port = port;\n this._messageHandler = new _message_handler.MessageHandler('main', 'worker', port);\n\n this._messageHandler.on('ready', function () {});\n\n this._readyCapability.resolve();\n }\n }, {\n key: \"_initialize\",\n value: function _initialize() {\n var _this7 = this;\n\n if (typeof Worker !== 'undefined' && !isWorkerDisabled && !getMainThreadWorkerMessageHandler()) {\n var workerSrc = _getWorkerSrc();\n\n try {\n if (!(0, _util.isSameOrigin)(window.location.href, workerSrc)) {\n workerSrc = createCDNWrapper(new _util.URL(workerSrc, window.location).href);\n }\n\n var worker = new Worker(workerSrc);\n var messageHandler = new _message_handler.MessageHandler('main', 'worker', worker);\n\n var terminateEarly = function terminateEarly() {\n worker.removeEventListener('error', onWorkerError);\n messageHandler.destroy();\n worker.terminate();\n\n if (_this7.destroyed) {\n _this7._readyCapability.reject(new Error('Worker was destroyed'));\n } else {\n _this7._setupFakeWorker();\n }\n };\n\n var onWorkerError = function onWorkerError() {\n if (!_this7._webWorker) {\n terminateEarly();\n }\n };\n\n worker.addEventListener('error', onWorkerError);\n messageHandler.on('test', function (data) {\n worker.removeEventListener('error', onWorkerError);\n\n if (_this7.destroyed) {\n terminateEarly();\n return;\n }\n\n if (data && data.supportTypedArray) {\n _this7._messageHandler = messageHandler;\n _this7._port = worker;\n _this7._webWorker = worker;\n\n if (!data.supportTransfers) {\n _this7.postMessageTransfers = false;\n }\n\n _this7._readyCapability.resolve();\n\n messageHandler.send('configure', {\n verbosity: _this7.verbosity\n });\n } else {\n _this7._setupFakeWorker();\n\n messageHandler.destroy();\n worker.terminate();\n }\n });\n messageHandler.on('ready', function (data) {\n worker.removeEventListener('error', onWorkerError);\n\n if (_this7.destroyed) {\n terminateEarly();\n return;\n }\n\n try {\n sendTest();\n } catch (e) {\n _this7._setupFakeWorker();\n }\n });\n\n var sendTest = function sendTest() {\n var testObj = new Uint8Array([_this7.postMessageTransfers ? 255 : 0]);\n\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\n sendTest();\n return;\n } catch (e) {\n (0, _util.info)('The worker has been disabled.');\n }\n }\n\n this._setupFakeWorker();\n }\n }, {\n key: \"_setupFakeWorker\",\n value: function _setupFakeWorker() {\n var _this8 = this;\n\n if (!isWorkerDisabled) {\n (0, _util.warn)('Setting up fake worker.');\n isWorkerDisabled = true;\n }\n\n setupFakeWorkerGlobal().then(function (WorkerMessageHandler) {\n if (_this8.destroyed) {\n _this8._readyCapability.reject(new Error('Worker was destroyed'));\n\n return;\n }\n\n var port = new LoopbackPort();\n _this8._port = port;\n var id = 'fake' + nextFakeWorkerId++;\n var workerHandler = new _message_handler.MessageHandler(id + '_worker', id, port);\n WorkerMessageHandler.setup(workerHandler, port);\n var messageHandler = new _message_handler.MessageHandler(id, id + '_worker', port);\n _this8._messageHandler = messageHandler;\n\n _this8._readyCapability.resolve();\n })[\"catch\"](function (reason) {\n _this8._readyCapability.reject(new Error(\"Setting up fake worker failed: \\\"\".concat(reason.message, \"\\\".\")));\n });\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n this.destroyed = true;\n\n if (this._webWorker) {\n this._webWorker.terminate();\n\n this._webWorker = null;\n }\n\n pdfWorkerPorts[\"delete\"](this._port);\n this._port = null;\n\n if (this._messageHandler) {\n this._messageHandler.destroy();\n\n this._messageHandler = null;\n }\n }\n }, {\n key: \"promise\",\n get: function get() {\n return this._readyCapability.promise;\n }\n }, {\n key: \"port\",\n get: function get() {\n return this._port;\n }\n }, {\n key: \"messageHandler\",\n get: function get() {\n return this._messageHandler;\n }\n }], [{\n key: \"fromPort\",\n value: function fromPort(params) {\n if (!params || !params.port) {\n throw new Error('PDFWorker.fromPort - invalid method signature.');\n }\n\n if (pdfWorkerPorts.has(params.port)) {\n return pdfWorkerPorts.get(params.port);\n }\n\n return new PDFWorker(params);\n }\n }, {\n key: \"getWorkerSrc\",\n value: function getWorkerSrc() {\n return _getWorkerSrc();\n }\n }]);\n\n return PDFWorker;\n }();\n\n return PDFWorker;\n}();\n\nexports.PDFWorker = PDFWorker;\n\nvar WorkerTransport =\n/*#__PURE__*/\nfunction () {\n function WorkerTransport(messageHandler, loadingTask, networkStream, params) {\n _classCallCheck(this, WorkerTransport);\n\n this.messageHandler = messageHandler;\n this.loadingTask = loadingTask;\n this.commonObjs = new PDFObjects();\n this.fontLoader = new _font_loader.FontLoader({\n docId: loadingTask.docId,\n onUnsupportedFeature: this._onUnsupportedFeature.bind(this)\n });\n this._params = params;\n this.CMapReaderFactory = new params.CMapReaderFactory({\n baseUrl: params.cMapUrl,\n isCompressed: params.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\n _createClass(WorkerTransport, [{\n key: \"destroy\",\n value: function destroy() {\n var _this9 = this;\n\n if (this.destroyCapability) {\n return this.destroyCapability.promise;\n }\n\n this.destroyed = true;\n this.destroyCapability = (0, _util.createPromiseCapability)();\n\n if (this._passwordCapability) {\n this._passwordCapability.reject(new Error('Worker was destroyed during onPassword callback'));\n }\n\n var waitOn = [];\n this.pageCache.forEach(function (page) {\n if (page) {\n waitOn.push(page._destroy());\n }\n });\n this.pageCache.length = 0;\n this.pagePromises.length = 0;\n var terminated = this.messageHandler.sendWithPromise('Terminate', null);\n waitOn.push(terminated);\n Promise.all(waitOn).then(function () {\n _this9.fontLoader.clear();\n\n if (_this9._networkStream) {\n _this9._networkStream.cancelAllRequests();\n }\n\n if (_this9.messageHandler) {\n _this9.messageHandler.destroy();\n\n _this9.messageHandler = null;\n }\n\n _this9.destroyCapability.resolve();\n }, this.destroyCapability.reject);\n return this.destroyCapability.promise;\n }\n }, {\n key: \"setupMessageHandler\",\n value: function setupMessageHandler() {\n var messageHandler = this.messageHandler,\n loadingTask = this.loadingTask;\n messageHandler.on('GetReader', function (data, sink) {\n var _this10 = this;\n\n (0, _util.assert)(this._networkStream);\n this._fullReader = this._networkStream.getFullReader();\n\n this._fullReader.onProgress = function (evt) {\n _this10._lastProgress = {\n loaded: evt.loaded,\n total: evt.total\n };\n };\n\n sink.onPull = function () {\n _this10._fullReader.read().then(function (_ref7) {\n var value = _ref7.value,\n done = _ref7.done;\n\n if (done) {\n sink.close();\n return;\n }\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\n sink.onCancel = function (reason) {\n _this10._fullReader.cancel(reason);\n };\n }, this);\n messageHandler.on('ReaderHeadersReady', function (data) {\n var _this11 = 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 (_this11._lastProgress && loadingTask.onProgress) {\n loadingTask.onProgress(_this11._lastProgress);\n }\n\n fullReader.onProgress = function (evt) {\n if (loadingTask.onProgress) {\n loadingTask.onProgress({\n loaded: evt.loaded,\n total: evt.total\n });\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\n var rangeReader = this._networkStream.getRangeReader(data.begin, data.end);\n\n if (!rangeReader) {\n sink.close();\n return;\n }\n\n sink.onPull = function () {\n rangeReader.read().then(function (_ref8) {\n var value = _ref8.value,\n done = _ref8.done;\n\n if (done) {\n sink.close();\n return;\n }\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\n sink.onCancel = function (reason) {\n rangeReader.cancel(reason);\n };\n }, this);\n messageHandler.on('GetDoc', function (_ref9) {\n var pdfInfo = _ref9.pdfInfo;\n this._numPages = pdfInfo.numPages;\n\n loadingTask._capability.resolve(new PDFDocumentProxy(pdfInfo, this));\n }, this);\n messageHandler.on('PasswordRequest', function (exception) {\n var _this12 = this;\n\n this._passwordCapability = (0, _util.createPromiseCapability)();\n\n if (loadingTask.onPassword) {\n var updatePassword = function updatePassword(password) {\n _this12._passwordCapability.resolve({\n password: password\n });\n };\n\n try {\n loadingTask.onPassword(updatePassword, exception.code);\n } catch (ex) {\n this._passwordCapability.reject(ex);\n }\n } else {\n this._passwordCapability.reject(new _util.PasswordException(exception.message, exception.code));\n }\n\n return this._passwordCapability.promise;\n }, this);\n messageHandler.on('PasswordException', function (exception) {\n loadingTask._capability.reject(new _util.PasswordException(exception.message, exception.code));\n }, this);\n messageHandler.on('InvalidPDF', function (exception) {\n loadingTask._capability.reject(new _util.InvalidPDFException(exception.message));\n }, this);\n messageHandler.on('MissingPDF', function (exception) {\n loadingTask._capability.reject(new _util.MissingPDFException(exception.message));\n }, this);\n messageHandler.on('UnexpectedResponse', function (exception) {\n loadingTask._capability.reject(new _util.UnexpectedResponseException(exception.message, exception.status));\n }, this);\n messageHandler.on('UnknownError', function (exception) {\n loadingTask._capability.reject(new _util.UnknownErrorException(exception.message, exception.details));\n }, this);\n messageHandler.on('DataLoaded', function (data) {\n if (loadingTask.onProgress) {\n loadingTask.onProgress({\n loaded: data.length,\n total: data.length\n });\n }\n\n this.downloadInfoCapability.resolve(data);\n }, this);\n messageHandler.on('StartRenderPage', function (data) {\n if (this.destroyed) {\n return;\n }\n\n var page = this.pageCache[data.pageIndex];\n\n page._stats.timeEnd('Page Request');\n\n page._startRenderPage(data.transparency, data.intent);\n }, this);\n messageHandler.on('RenderPageChunk', function (data) {\n if (this.destroyed) {\n return;\n }\n\n var page = this.pageCache[data.pageIndex];\n\n page._renderPageChunk(data.operatorList, data.intent);\n }, this);\n messageHandler.on('commonobj', function (data) {\n var _this13 = this;\n\n if (this.destroyed) {\n return;\n }\n\n var _data = _slicedToArray(data, 3),\n id = _data[0],\n type = _data[1],\n exportedData = _data[2];\n\n if (this.commonObjs.has(id)) {\n return;\n }\n\n switch (type) {\n case 'Font':\n var params = this._params;\n\n if ('error' in exportedData) {\n var exportedError = exportedData.error;\n (0, _util.warn)(\"Error during font loading: \".concat(exportedError));\n this.commonObjs.resolve(id, exportedError);\n break;\n }\n\n var fontRegistry = null;\n\n if (params.pdfBug && _global_scope[\"default\"].FontInspector && _global_scope[\"default\"].FontInspector.enabled) {\n fontRegistry = {\n registerFont: function registerFont(font, url) {\n _global_scope[\"default\"]['FontInspector'].fontAdded(font, url);\n }\n };\n }\n\n var font = new _font_loader.FontFaceObject(exportedData, {\n isEvalSupported: params.isEvalSupported,\n disableFontFace: params.disableFontFace,\n ignoreErrors: params.ignoreErrors,\n onUnsupportedFeature: this._onUnsupportedFeature.bind(this),\n fontRegistry: fontRegistry\n });\n this.fontLoader.bind(font).then(function () {\n _this13.commonObjs.resolve(id, font);\n }, function (reason) {\n messageHandler.sendWithPromise('FontFallback', {\n id: id\n })[\"finally\"](function () {\n _this13.commonObjs.resolve(id, font);\n });\n });\n break;\n\n case 'FontPath':\n case 'FontType3Res':\n this.commonObjs.resolve(id, exportedData);\n break;\n\n default:\n throw new Error(\"Got unknown common object type \".concat(type));\n }\n }, this);\n messageHandler.on('obj', function (data) {\n if (this.destroyed) {\n return undefined;\n }\n\n var _data2 = _slicedToArray(data, 4),\n id = _data2[0],\n pageIndex = _data2[1],\n type = _data2[2],\n imageData = _data2[3];\n\n var pageProxy = this.pageCache[pageIndex];\n\n if (pageProxy.objs.has(id)) {\n return undefined;\n }\n\n switch (type) {\n case 'JpegStream':\n return new Promise(function (resolve, reject) {\n var img = new Image();\n\n img.onload = function () {\n resolve(img);\n };\n\n img.onerror = function () {\n reject(new Error('Error during JPEG image loading'));\n (0, _display_utils.releaseImageResources)(img);\n };\n\n img.src = imageData;\n }).then(function (img) {\n pageProxy.objs.resolve(id, img);\n });\n\n case 'Image':\n pageProxy.objs.resolve(id, imageData);\n var MAX_IMAGE_SIZE_TO_STORE = 8000000;\n\n if (imageData && 'data' in imageData && imageData.data.length > MAX_IMAGE_SIZE_TO_STORE) {\n pageProxy.cleanupAfterRender = true;\n }\n\n break;\n\n default:\n throw new Error(\"Got unknown object type \".concat(type));\n }\n\n return undefined;\n }, this);\n messageHandler.on('DocProgress', function (data) {\n if (this.destroyed) {\n return;\n }\n\n if (loadingTask.onProgress) {\n loadingTask.onProgress({\n loaded: data.loaded,\n total: data.total\n });\n }\n }, this);\n messageHandler.on('PageError', function (data) {\n if (this.destroyed) {\n return;\n }\n\n var page = this.pageCache[data.pageIndex];\n var intentState = page.intentStates[data.intent];\n\n if (intentState.displayReadyCapability) {\n intentState.displayReadyCapability.reject(new Error(data.error));\n } else {\n throw new Error(data.error);\n }\n\n if (intentState.operatorList) {\n intentState.operatorList.lastChunk = true;\n\n for (var i = 0; i < intentState.renderTasks.length; i++) {\n intentState.renderTasks[i].operatorListChanged();\n }\n }\n }, this);\n messageHandler.on('UnsupportedFeature', this._onUnsupportedFeature, this);\n messageHandler.on('JpegDecode', function (data) {\n if (this.destroyed) {\n return Promise.reject(new Error('Worker was destroyed'));\n }\n\n if (typeof document === 'undefined') {\n return Promise.reject(new Error('\"document\" is not defined.'));\n }\n\n var _data3 = _slicedToArray(data, 2),\n imageUrl = _data3[0],\n components = _data3[1];\n\n if (components !== 3 && components !== 1) {\n return Promise.reject(new Error('Only 3 components or 1 component can be returned'));\n }\n\n return new Promise(function (resolve, reject) {\n var img = new Image();\n\n img.onload = function () {\n var width = img.width,\n height = img.height;\n var size = width * height;\n var rgbaLength = size * 4;\n var buf = new Uint8ClampedArray(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\n if (components === 3) {\n for (var 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 (var _i2 = 0, _j = 0; _i2 < rgbaLength; _i2 += 4, _j++) {\n buf[_j] = data[_i2];\n }\n }\n\n resolve({\n data: buf,\n width: width,\n height: height\n });\n (0, _display_utils.releaseImageResources)(img);\n tmpCanvas.width = 0;\n tmpCanvas.height = 0;\n tmpCanvas = null;\n tmpCtx = null;\n };\n\n img.onerror = function () {\n reject(new Error('JpegDecode failed to load image'));\n (0, _display_utils.releaseImageResources)(img);\n };\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\n return this.CMapReaderFactory.fetch({\n name: data.name\n });\n }, this);\n }\n }, {\n key: \"_onUnsupportedFeature\",\n value: function _onUnsupportedFeature(_ref10) {\n var featureId = _ref10.featureId;\n\n if (this.destroyed) {\n return;\n }\n\n if (this.loadingTask.onUnsupportedFeature) {\n this.loadingTask.onUnsupportedFeature(featureId);\n }\n }\n }, {\n key: \"getData\",\n value: function getData() {\n return this.messageHandler.sendWithPromise('GetData', null);\n }\n }, {\n key: \"getPage\",\n value: function getPage(pageNumber) {\n var _this14 = this;\n\n if (!Number.isInteger(pageNumber) || pageNumber <= 0 || pageNumber > this._numPages) {\n return Promise.reject(new Error('Invalid page request'));\n }\n\n var pageIndex = pageNumber - 1;\n\n if (pageIndex in this.pagePromises) {\n return this.pagePromises[pageIndex];\n }\n\n var promise = this.messageHandler.sendWithPromise('GetPage', {\n pageIndex: pageIndex\n }).then(function (pageInfo) {\n if (_this14.destroyed) {\n throw new Error('Transport destroyed');\n }\n\n var page = new PDFPageProxy(pageIndex, pageInfo, _this14, _this14._params.pdfBug);\n _this14.pageCache[pageIndex] = page;\n return page;\n });\n this.pagePromises[pageIndex] = promise;\n return promise;\n }\n }, {\n key: \"getPageIndex\",\n value: function getPageIndex(ref) {\n return this.messageHandler.sendWithPromise('GetPageIndex', {\n ref: ref\n })[\"catch\"](function (reason) {\n return Promise.reject(new Error(reason));\n });\n }\n }, {\n key: \"getAnnotations\",\n value: function getAnnotations(pageIndex, intent) {\n return this.messageHandler.sendWithPromise('GetAnnotations', {\n pageIndex: pageIndex,\n intent: intent\n });\n }\n }, {\n key: \"getDestinations\",\n value: function getDestinations() {\n return this.messageHandler.sendWithPromise('GetDestinations', null);\n }\n }, {\n key: \"getDestination\",\n value: function getDestination(id) {\n if (typeof id !== 'string') {\n return Promise.reject(new Error('Invalid destination request.'));\n }\n\n return this.messageHandler.sendWithPromise('GetDestination', {\n id: id\n });\n }\n }, {\n key: \"getPageLabels\",\n value: function getPageLabels() {\n return this.messageHandler.sendWithPromise('GetPageLabels', null);\n }\n }, {\n key: \"getPageLayout\",\n value: function getPageLayout() {\n return this.messageHandler.sendWithPromise('GetPageLayout', null);\n }\n }, {\n key: \"getPageMode\",\n value: function getPageMode() {\n return this.messageHandler.sendWithPromise('GetPageMode', null);\n }\n }, {\n key: \"getViewerPreferences\",\n value: function getViewerPreferences() {\n return this.messageHandler.sendWithPromise('GetViewerPreferences', null);\n }\n }, {\n key: \"getOpenActionDestination\",\n value: function getOpenActionDestination() {\n return this.messageHandler.sendWithPromise('GetOpenActionDestination', null);\n }\n }, {\n key: \"getAttachments\",\n value: function getAttachments() {\n return this.messageHandler.sendWithPromise('GetAttachments', null);\n }\n }, {\n key: \"getJavaScript\",\n value: function getJavaScript() {\n return this.messageHandler.sendWithPromise('GetJavaScript', null);\n }\n }, {\n key: \"getOutline\",\n value: function getOutline() {\n return this.messageHandler.sendWithPromise('GetOutline', null);\n }\n }, {\n key: \"getPermissions\",\n value: function getPermissions() {\n return this.messageHandler.sendWithPromise('GetPermissions', null);\n }\n }, {\n key: \"getMetadata\",\n value: function getMetadata() {\n var _this15 = this;\n\n return this.messageHandler.sendWithPromise('GetMetadata', null).then(function (results) {\n return {\n info: results[0],\n metadata: results[1] ? new _metadata.Metadata(results[1]) : null,\n contentDispositionFilename: _this15._fullReader ? _this15._fullReader.filename : null\n };\n });\n }\n }, {\n key: \"getStats\",\n value: function getStats() {\n return this.messageHandler.sendWithPromise('GetStats', null);\n }\n }, {\n key: \"startCleanup\",\n value: function startCleanup() {\n var _this16 = this;\n\n this.messageHandler.sendWithPromise('Cleanup', null).then(function () {\n for (var i = 0, ii = _this16.pageCache.length; i < ii; i++) {\n var page = _this16.pageCache[i];\n\n if (page) {\n page.cleanup();\n }\n }\n\n _this16.commonObjs.clear();\n\n _this16.fontLoader.clear();\n });\n }\n }, {\n key: \"loadingParams\",\n get: function get() {\n var params = this._params;\n return (0, _util.shadow)(this, 'loadingParams', {\n disableAutoFetch: params.disableAutoFetch,\n disableCreateObjectURL: params.disableCreateObjectURL,\n disableFontFace: params.disableFontFace,\n nativeImageDecoderSupport: params.nativeImageDecoderSupport\n });\n }\n }]);\n\n return WorkerTransport;\n}();\n\nvar PDFObjects =\n/*#__PURE__*/\nfunction () {\n function PDFObjects() {\n _classCallCheck(this, PDFObjects);\n\n this._objs = Object.create(null);\n }\n\n _createClass(PDFObjects, [{\n key: \"_ensureObj\",\n value: function _ensureObj(objId) {\n if (this._objs[objId]) {\n return this._objs[objId];\n }\n\n return this._objs[objId] = {\n capability: (0, _util.createPromiseCapability)(),\n data: null,\n resolved: false\n };\n }\n }, {\n key: \"get\",\n value: function get(objId) {\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n if (callback) {\n this._ensureObj(objId).capability.promise.then(callback);\n\n return null;\n }\n\n var obj = this._objs[objId];\n\n if (!obj || !obj.resolved) {\n throw new Error(\"Requesting object that isn't resolved yet \".concat(objId, \".\"));\n }\n\n return obj.data;\n }\n }, {\n key: \"has\",\n value: function has(objId) {\n var obj = this._objs[objId];\n return obj ? obj.resolved : false;\n }\n }, {\n key: \"resolve\",\n value: function resolve(objId, data) {\n var obj = this._ensureObj(objId);\n\n obj.resolved = true;\n obj.data = data;\n obj.capability.resolve(data);\n }\n }, {\n key: \"clear\",\n value: function clear() {\n for (var objId in this._objs) {\n var data = this._objs[objId].data;\n\n if (typeof Image !== 'undefined' && data instanceof Image) {\n (0, _display_utils.releaseImageResources)(data);\n }\n }\n\n this._objs = Object.create(null);\n }\n }]);\n\n return PDFObjects;\n}();\n\nvar RenderTask =\n/*#__PURE__*/\nfunction () {\n function RenderTask(internalRenderTask) {\n _classCallCheck(this, RenderTask);\n\n this._internalRenderTask = internalRenderTask;\n this.onContinue = null;\n }\n\n _createClass(RenderTask, [{\n key: \"cancel\",\n value: function cancel() {\n this._internalRenderTask.cancel();\n }\n }, {\n key: \"then\",\n value: function then(onFulfilled, onRejected) {\n (0, _display_utils.deprecated)('RenderTask.then method, use the `promise` getter instead.');\n return this.promise.then.apply(this.promise, arguments);\n }\n }, {\n key: \"promise\",\n get: function get() {\n return this._internalRenderTask.capability.promise;\n }\n }]);\n\n return RenderTask;\n}();\n\nvar InternalRenderTask = function InternalRenderTaskClosure() {\n var canvasInRendering = new WeakSet();\n\n var InternalRenderTask =\n /*#__PURE__*/\n function () {\n function InternalRenderTask(_ref11) {\n var callback = _ref11.callback,\n params = _ref11.params,\n objs = _ref11.objs,\n commonObjs = _ref11.commonObjs,\n operatorList = _ref11.operatorList,\n pageNumber = _ref11.pageNumber,\n canvasFactory = _ref11.canvasFactory,\n webGLContext = _ref11.webGLContext,\n _ref11$useRequestAnim = _ref11.useRequestAnimationFrame,\n useRequestAnimationFrame = _ref11$useRequestAnim === void 0 ? false : _ref11$useRequestAnim,\n _ref11$pdfBug = _ref11.pdfBug,\n pdfBug = _ref11$pdfBug === void 0 ? false : _ref11$pdfBug;\n\n _classCallCheck(this, InternalRenderTask);\n\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.webGLContext = webGLContext;\n this._pdfBug = pdfBug;\n this.running = false;\n this.graphicsReadyCallback = null;\n this.graphicsReady = false;\n this._useRequestAnimationFrame = useRequestAnimationFrame === true && typeof window !== 'undefined';\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\n _createClass(InternalRenderTask, [{\n key: \"initializeGraphics\",\n value: function initializeGraphics() {\n var transparency = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (this.cancelled) {\n return;\n }\n\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\n canvasInRendering.add(this._canvas);\n }\n\n if (this._pdfBug && _global_scope[\"default\"].StepperManager && _global_scope[\"default\"].StepperManager.enabled) {\n this.stepper = _global_scope[\"default\"].StepperManager.create(this.pageNumber - 1);\n this.stepper.init(this.operatorList);\n this.stepper.nextBreakPoint = this.stepper.getNextBreakPoint();\n }\n\n var _this$params = this.params,\n canvasContext = _this$params.canvasContext,\n viewport = _this$params.viewport,\n transform = _this$params.transform,\n imageLayer = _this$params.imageLayer,\n background = _this$params.background;\n this.gfx = new _canvas.CanvasGraphics(canvasContext, this.commonObjs, this.objs, this.canvasFactory, this.webGLContext, imageLayer);\n this.gfx.beginDrawing({\n transform: transform,\n viewport: viewport,\n transparency: transparency,\n background: background\n });\n this.operatorListIdx = 0;\n this.graphicsReady = true;\n\n if (this.graphicsReadyCallback) {\n this.graphicsReadyCallback();\n }\n }\n }, {\n key: \"cancel\",\n value: function cancel() {\n var error = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n this.running = false;\n this.cancelled = true;\n\n if (this.gfx) {\n this.gfx.endDrawing();\n }\n\n if (this._canvas) {\n canvasInRendering[\"delete\"](this._canvas);\n }\n\n this.callback(error || new _display_utils.RenderingCancelledException(\"Rendering cancelled, page \".concat(this.pageNumber), 'canvas'));\n }\n }, {\n key: \"operatorListChanged\",\n value: function operatorListChanged() {\n if (!this.graphicsReady) {\n if (!this.graphicsReadyCallback) {\n this.graphicsReadyCallback = this._continueBound;\n }\n\n return;\n }\n\n if (this.stepper) {\n this.stepper.updateOperatorList(this.operatorList);\n }\n\n if (this.running) {\n return;\n }\n\n this._continue();\n }\n }, {\n key: \"_continue\",\n value: function _continue() {\n this.running = true;\n\n if (this.cancelled) {\n return;\n }\n\n if (this.task.onContinue) {\n this.task.onContinue(this._scheduleNextBound);\n } else {\n this._scheduleNext();\n }\n }\n }, {\n key: \"_scheduleNext\",\n value: function _scheduleNext() {\n var _this17 = this;\n\n if (this._useRequestAnimationFrame) {\n window.requestAnimationFrame(function () {\n _this17._nextBound()[\"catch\"](_this17.cancel.bind(_this17));\n });\n } else {\n Promise.resolve().then(this._nextBound)[\"catch\"](this.cancel.bind(this));\n }\n }\n }, {\n key: \"_next\",\n value: function () {\n var _next2 = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee() {\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (!this.cancelled) {\n _context.next = 2;\n break;\n }\n\n return _context.abrupt(\"return\");\n\n case 2:\n this.operatorListIdx = this.gfx.executeOperatorList(this.operatorList, this.operatorListIdx, this._continueBound, this.stepper);\n\n if (this.operatorListIdx === this.operatorList.argsArray.length) {\n this.running = false;\n\n if (this.operatorList.lastChunk) {\n this.gfx.endDrawing();\n\n if (this._canvas) {\n canvasInRendering[\"delete\"](this._canvas);\n }\n\n this.callback();\n }\n }\n\n case 4:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function _next() {\n return _next2.apply(this, arguments);\n }\n\n return _next;\n }()\n }]);\n\n return InternalRenderTask;\n }();\n\n return InternalRenderTask;\n}();\n\nvar version = '2.2.228';\nexports.version = version;\nvar build = 'd7afb74a';\nexports.build = build;\n\n/***/ }),\n/* 148 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = __w_pdfjs_require__(149);\n\n/***/ }),\n/* 149 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(module) {\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar runtime = function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined;\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n return generator;\n }\n\n exports.wrap = wrap;\n\n function tryCatch(fn, obj, arg) {\n try {\n return {\n type: \"normal\",\n arg: fn.call(obj, arg)\n };\n } catch (err) {\n return {\n type: \"throw\",\n arg: err\n };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n var ContinueSentinel = {};\n\n function Generator() {}\n\n function GeneratorFunction() {}\n\n function GeneratorFunctionPrototype() {}\n\n var IteratorPrototype = {};\n\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n\n if (NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunctionPrototype[toStringTagSymbol] = GeneratorFunction.displayName = \"GeneratorFunction\";\n\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function (method) {\n prototype[method] = function (arg) {\n return this._invoke(method, arg);\n };\n });\n }\n\n exports.isGeneratorFunction = function (genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor ? ctor === GeneratorFunction || (ctor.displayName || ctor.name) === \"GeneratorFunction\" : false;\n };\n\n exports.mark = function (genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n\n if (!(toStringTagSymbol in genFun)) {\n genFun[toStringTagSymbol] = \"GeneratorFunction\";\n }\n }\n\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n exports.awrap = function (arg) {\n return {\n __await: arg\n };\n };\n\n function AsyncIterator(generator) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n\n if (value && _typeof(value) === \"object\" && hasOwn.call(value, \"__await\")) {\n return Promise.resolve(value.__await).then(function (value) {\n invoke(\"next\", value, resolve, reject);\n }, function (err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return Promise.resolve(value).then(function (unwrapped) {\n result.value = unwrapped;\n resolve(result);\n }, function (error) {\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new Promise(function (resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n\n exports.AsyncIterator = AsyncIterator;\n\n exports.async = function (innerFn, outerFn, self, tryLocsList) {\n var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList));\n return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n context.sent = context._sent = context.arg;\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n var record = tryCatch(innerFn, self, context);\n\n if (record.type === \"normal\") {\n state = context.done ? GenStateCompleted : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n\n if (method === undefined) {\n context.delegate = null;\n\n if (context.method === \"throw\") {\n if (delegate.iterator[\"return\"]) {\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (!info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n context[delegate.resultName] = info.value;\n context.next = delegate.nextLoc;\n\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n } else {\n return info;\n }\n\n context.delegate = null;\n return ContinueSentinel;\n }\n\n defineIteratorMethods(Gp);\n Gp[toStringTagSymbol] = \"Generator\";\n\n Gp[iteratorSymbol] = function () {\n return this;\n };\n\n Gp.toString = function () {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = {\n tryLoc: locs[0]\n };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function (object) {\n var keys = [];\n\n for (var key in object) {\n keys.push(key);\n }\n\n keys.reverse();\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1,\n next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n return next;\n };\n\n return next.next = next;\n }\n }\n\n return {\n next: doneResult\n };\n }\n\n exports.values = values;\n\n function doneResult() {\n return {\n value: undefined,\n done: true\n };\n }\n\n Context.prototype = {\n constructor: Context,\n reset: function reset(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n this.method = \"next\";\n this.arg = undefined;\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n if (name.charAt(0) === \"t\" && hasOwn.call(this, name) && !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n stop: function stop() {\n this.done = true;\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n dispatchException: function dispatchException(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !!caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n abrupt: function abrupt(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n\n if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry && (type === \"break\" || type === \"continue\") && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc) {\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n complete: function complete(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" || record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n finish: function finish(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n \"catch\": function _catch(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n\n return thrown;\n }\n }\n\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n return exports;\n}(( false ? undefined : _typeof(module)) === \"object\" ? module.exports : {});\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n/* WEBPACK VAR INJECTION */}.call(this, __w_pdfjs_require__(150)(module)))\n\n/***/ }),\n/* 150 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (module) {\n if (!module.webpackPolyfill) {\n module.deprecate = function () {};\n\n module.paths = [];\n if (!module.children) module.children = [];\n Object.defineProperty(module, \"loaded\", {\n enumerable: true,\n get: function get() {\n return module.l;\n }\n });\n Object.defineProperty(module, \"id\", {\n enumerable: true,\n get: function get() {\n return module.i;\n }\n });\n module.webpackPolyfill = 1;\n }\n\n return module;\n};\n\n/***/ }),\n/* 151 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.addLinkAttributes = addLinkAttributes;\nexports.getFilenameFromUrl = getFilenameFromUrl;\nexports.isFetchSupported = isFetchSupported;\nexports.isValidFetchUrl = isValidFetchUrl;\nexports.loadScript = loadScript;\nexports.deprecated = deprecated;\nexports.releaseImageResources = releaseImageResources;\nexports.PDFDateString = exports.DummyStatTimer = exports.StatTimer = exports.DOMSVGFactory = exports.DOMCMapReaderFactory = exports.DOMCanvasFactory = exports.DEFAULT_LINK_REL = exports.LinkTarget = exports.RenderingCancelledException = exports.PageViewport = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(148));\n\nvar _util = __w_pdfjs_require__(1);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar DEFAULT_LINK_REL = 'noopener noreferrer nofollow';\nexports.DEFAULT_LINK_REL = DEFAULT_LINK_REL;\nvar SVG_NS = 'http://www.w3.org/2000/svg';\n\nvar DOMCanvasFactory =\n/*#__PURE__*/\nfunction () {\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\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\n if (width <= 0 || height <= 0) {\n throw new Error('Invalid canvas size');\n }\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\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\nexports.DOMCanvasFactory = DOMCanvasFactory;\n\nvar DOMCMapReaderFactory =\n/*#__PURE__*/\nfunction () {\n function DOMCMapReaderFactory(_ref) {\n var _ref$baseUrl = _ref.baseUrl,\n baseUrl = _ref$baseUrl === void 0 ? null : _ref$baseUrl,\n _ref$isCompressed = _ref.isCompressed,\n isCompressed = _ref$isCompressed === void 0 ? 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) {\n function fetch(_x) {\n return _fetch.apply(this, arguments);\n }\n\n fetch.toString = function () {\n return _fetch.toString();\n };\n\n return fetch;\n }(\n /*#__PURE__*/\n function () {\n var _ref3 = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee2(_ref2) {\n var _this = this;\n\n var name, url, compressionType;\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n name = _ref2.name;\n\n if (this.baseUrl) {\n _context2.next = 3;\n break;\n }\n\n throw new Error('The CMap \"baseUrl\" parameter must be specified, ensure that ' + 'the \"cMapUrl\" and \"cMapPacked\" API parameters are provided.');\n\n case 3:\n if (name) {\n _context2.next = 5;\n break;\n }\n\n throw new Error('CMap name must be specified.');\n\n case 5:\n url = this.baseUrl + name + (this.isCompressed ? '.bcmap' : '');\n compressionType = this.isCompressed ? _util.CMapCompressionType.BINARY : _util.CMapCompressionType.NONE;\n\n if (!(isFetchSupported() && isValidFetchUrl(url, document.baseURI))) {\n _context2.next = 9;\n break;\n }\n\n return _context2.abrupt(\"return\", fetch(url).then(\n /*#__PURE__*/\n function () {\n var _ref4 = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee(response) {\n var cMapData;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (response.ok) {\n _context.next = 2;\n break;\n }\n\n throw new Error(response.statusText);\n\n case 2:\n if (!_this.isCompressed) {\n _context.next = 10;\n break;\n }\n\n _context.t0 = Uint8Array;\n _context.next = 6;\n return response.arrayBuffer();\n\n case 6:\n _context.t1 = _context.sent;\n cMapData = new _context.t0(_context.t1);\n _context.next = 15;\n break;\n\n case 10:\n _context.t2 = _util.stringToBytes;\n _context.next = 13;\n return response.text();\n\n case 13:\n _context.t3 = _context.sent;\n cMapData = (0, _context.t2)(_context.t3);\n\n case 15:\n return _context.abrupt(\"return\", {\n cMapData: cMapData,\n compressionType: compressionType\n });\n\n case 16:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function (_x3) {\n return _ref4.apply(this, arguments);\n };\n }())[\"catch\"](function (reason) {\n throw new Error(\"Unable to load \".concat(_this.isCompressed ? 'binary ' : '') + \"CMap at: \".concat(url));\n }));\n\n case 9:\n return _context2.abrupt(\"return\", new Promise(function (resolve, reject) {\n var request = new XMLHttpRequest();\n request.open('GET', url, true);\n\n if (_this.isCompressed) {\n request.responseType = 'arraybuffer';\n }\n\n request.onreadystatechange = function () {\n if (request.readyState !== XMLHttpRequest.DONE) {\n return;\n }\n\n if (request.status === 200 || request.status === 0) {\n var cMapData;\n\n if (_this.isCompressed && request.response) {\n cMapData = new Uint8Array(request.response);\n } else if (!_this.isCompressed && request.responseText) {\n cMapData = (0, _util.stringToBytes)(request.responseText);\n }\n\n if (cMapData) {\n resolve({\n cMapData: cMapData,\n compressionType: compressionType\n });\n return;\n }\n }\n\n reject(new Error(request.statusText));\n };\n\n request.send(null);\n })[\"catch\"](function (reason) {\n throw new Error(\"Unable to load \".concat(_this.isCompressed ? 'binary ' : '') + \"CMap at: \".concat(url));\n }));\n\n case 10:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n return function (_x2) {\n return _ref3.apply(this, arguments);\n };\n }())\n }]);\n\n return DOMCMapReaderFactory;\n}();\n\nexports.DOMCMapReaderFactory = DOMCMapReaderFactory;\n\nvar DOMSVGFactory =\n/*#__PURE__*/\nfunction () {\n function DOMSVGFactory() {\n _classCallCheck(this, DOMSVGFactory);\n }\n\n _createClass(DOMSVGFactory, [{\n key: \"create\",\n value: function create(width, height) {\n (0, _util.assert)(width > 0 && height > 0, 'Invalid SVG dimensions');\n var svg = document.createElementNS(SVG_NS, 'svg:svg');\n svg.setAttribute('version', '1.1');\n svg.setAttribute('width', width + 'px');\n svg.setAttribute('height', height + 'px');\n svg.setAttribute('preserveAspectRatio', 'none');\n svg.setAttribute('viewBox', '0 0 ' + width + ' ' + height);\n return svg;\n }\n }, {\n key: \"createElement\",\n value: function createElement(type) {\n (0, _util.assert)(typeof type === 'string', 'Invalid SVG element type');\n return document.createElementNS(SVG_NS, type);\n }\n }]);\n\n return DOMSVGFactory;\n}();\n\nexports.DOMSVGFactory = DOMSVGFactory;\n\nvar PageViewport =\n/*#__PURE__*/\nfunction () {\n function PageViewport(_ref5) {\n var viewBox = _ref5.viewBox,\n scale = _ref5.scale,\n rotation = _ref5.rotation,\n _ref5$offsetX = _ref5.offsetX,\n offsetX = _ref5$offsetX === void 0 ? 0 : _ref5$offsetX,\n _ref5$offsetY = _ref5.offsetY,\n offsetY = _ref5$offsetY === void 0 ? 0 : _ref5$offsetY,\n _ref5$dontFlip = _ref5.dontFlip,\n dontFlip = _ref5$dontFlip === void 0 ? false : _ref5$dontFlip;\n\n _classCallCheck(this, PageViewport);\n\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\n switch (rotation) {\n case 180:\n rotateA = -1;\n rotateB = 0;\n rotateC = 0;\n rotateD = 1;\n break;\n\n case 90:\n rotateA = 0;\n rotateB = 1;\n rotateC = 1;\n rotateD = 0;\n break;\n\n case 270:\n rotateA = 0;\n rotateB = -1;\n rotateC = -1;\n rotateD = 0;\n break;\n\n default:\n rotateA = 1;\n rotateB = 0;\n rotateC = 0;\n rotateD = -1;\n break;\n }\n\n if (dontFlip) {\n rotateC = -rotateC;\n rotateD = -rotateD;\n }\n\n var offsetCanvasX, offsetCanvasY;\n var width, height;\n\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\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 }\n\n _createClass(PageViewport, [{\n key: \"clone\",\n value: function clone() {\n var _ref6 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref6$scale = _ref6.scale,\n scale = _ref6$scale === void 0 ? this.scale : _ref6$scale,\n _ref6$rotation = _ref6.rotation,\n rotation = _ref6$rotation === void 0 ? this.rotation : _ref6$rotation,\n _ref6$dontFlip = _ref6.dontFlip,\n dontFlip = _ref6$dontFlip === void 0 ? false : _ref6$dontFlip;\n\n return new PageViewport({\n viewBox: this.viewBox.slice(),\n scale: scale,\n rotation: rotation,\n offsetX: this.offsetX,\n offsetY: this.offsetY,\n dontFlip: dontFlip\n });\n }\n }, {\n key: \"convertToViewportPoint\",\n value: function convertToViewportPoint(x, y) {\n return _util.Util.applyTransform([x, y], this.transform);\n }\n }, {\n key: \"convertToViewportRectangle\",\n value: function convertToViewportRectangle(rect) {\n var topLeft = _util.Util.applyTransform([rect[0], rect[1]], this.transform);\n\n var bottomRight = _util.Util.applyTransform([rect[2], rect[3]], this.transform);\n\n return [topLeft[0], topLeft[1], bottomRight[0], bottomRight[1]];\n }\n }, {\n key: \"convertToPdfPoint\",\n value: function convertToPdfPoint(x, y) {\n return _util.Util.applyInverseTransform([x, y], this.transform);\n }\n }]);\n\n return PageViewport;\n}();\n\nexports.PageViewport = PageViewport;\n\nvar RenderingCancelledException = function RenderingCancelledException() {\n function RenderingCancelledException(msg, type) {\n this.message = msg;\n this.type = type;\n }\n\n RenderingCancelledException.prototype = new Error();\n RenderingCancelledException.prototype.name = 'RenderingCancelledException';\n RenderingCancelledException.constructor = RenderingCancelledException;\n return RenderingCancelledException;\n}();\n\nexports.RenderingCancelledException = RenderingCancelledException;\nvar LinkTarget = {\n NONE: 0,\n SELF: 1,\n BLANK: 2,\n PARENT: 3,\n TOP: 4\n};\nexports.LinkTarget = LinkTarget;\nvar LinkTargetStringMap = ['', '_self', '_blank', '_parent', '_top'];\n\nfunction addLinkAttributes(link) {\n var _ref7 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n url = _ref7.url,\n target = _ref7.target,\n rel = _ref7.rel;\n\n link.href = link.title = url ? (0, _util.removeNullCharacters)(url) : '';\n\n if (url) {\n var LinkTargetValues = Object.values(LinkTarget);\n var targetIndex = LinkTargetValues.includes(target) ? target : LinkTarget.NONE;\n link.target = LinkTargetStringMap[targetIndex];\n link.rel = typeof rel === 'string' ? rel : DEFAULT_LINK_REL;\n }\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}\n\nvar StatTimer =\n/*#__PURE__*/\nfunction () {\n function StatTimer() {\n var enable = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n _classCallCheck(this, StatTimer);\n\n this.enabled = !!enable;\n this.started = Object.create(null);\n this.times = [];\n }\n\n _createClass(StatTimer, [{\n key: \"time\",\n value: function time(name) {\n if (!this.enabled) {\n return;\n }\n\n if (name in this.started) {\n (0, _util.warn)('Timer is already running for ' + name);\n }\n\n this.started[name] = Date.now();\n }\n }, {\n key: \"timeEnd\",\n value: function timeEnd(name) {\n if (!this.enabled) {\n return;\n }\n\n if (!(name in this.started)) {\n (0, _util.warn)('Timer has not been started for ' + name);\n }\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 }, {\n key: \"toString\",\n value: function toString() {\n var out = '',\n longest = 0;\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = this.times[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var time = _step.value;\n var name = time.name;\n\n if (name.length > longest) {\n longest = name.length;\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator[\"return\"] != null) {\n _iterator[\"return\"]();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n var _iteratorNormalCompletion2 = true;\n var _didIteratorError2 = false;\n var _iteratorError2 = undefined;\n\n try {\n for (var _iterator2 = this.times[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var _time = _step2.value;\n var duration = _time.end - _time.start;\n out += \"\".concat(_time.name.padEnd(longest), \" \").concat(duration, \"ms\\n\");\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2[\"return\"] != null) {\n _iterator2[\"return\"]();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n\n return out;\n }\n }]);\n\n return StatTimer;\n}();\n\nexports.StatTimer = StatTimer;\n\nvar DummyStatTimer =\n/*#__PURE__*/\nfunction () {\n function DummyStatTimer() {\n _classCallCheck(this, DummyStatTimer);\n\n (0, _util.unreachable)('Cannot initialize DummyStatTimer.');\n }\n\n _createClass(DummyStatTimer, null, [{\n key: \"time\",\n value: function time(name) {}\n }, {\n key: \"timeEnd\",\n value: function timeEnd(name) {}\n }, {\n key: \"toString\",\n value: function toString() {\n return '';\n }\n }]);\n\n return DummyStatTimer;\n}();\n\nexports.DummyStatTimer = DummyStatTimer;\n\nfunction isFetchSupported() {\n return typeof fetch !== 'undefined' && typeof Response !== 'undefined' && 'body' in Response.prototype && typeof ReadableStream !== 'undefined';\n}\n\nfunction isValidFetchUrl(url, baseUrl) {\n try {\n var _ref8 = baseUrl ? new _util.URL(url, baseUrl) : new _util.URL(url),\n protocol = _ref8.protocol;\n\n return protocol === 'http:' || protocol === 'https:';\n } catch (ex) {\n return false;\n }\n}\n\nfunction loadScript(src) {\n return new Promise(function (resolve, reject) {\n var script = document.createElement('script');\n script.src = src;\n script.onload = resolve;\n\n script.onerror = function () {\n reject(new Error(\"Cannot load script at: \".concat(script.src)));\n };\n\n (document.head || document.documentElement).appendChild(script);\n });\n}\n\nfunction deprecated(details) {\n console.log('Deprecated API usage: ' + details);\n}\n\nfunction releaseImageResources(img) {\n (0, _util.assert)(img instanceof Image, 'Invalid `img` parameter.');\n var url = img.src;\n\n if (typeof url === 'string' && url.startsWith('blob:') && _util.URL.revokeObjectURL) {\n _util.URL.revokeObjectURL(url);\n }\n\n img.removeAttribute('src');\n}\n\nvar pdfDateStringRegex;\n\nvar PDFDateString =\n/*#__PURE__*/\nfunction () {\n function PDFDateString() {\n _classCallCheck(this, PDFDateString);\n }\n\n _createClass(PDFDateString, null, [{\n key: \"toDateObject\",\n value: function toDateObject(input) {\n if (!input || !(0, _util.isString)(input)) {\n return null;\n }\n\n if (!pdfDateStringRegex) {\n pdfDateStringRegex = new RegExp('^D:' + '(\\\\d{4})' + '(\\\\d{2})?' + '(\\\\d{2})?' + '(\\\\d{2})?' + '(\\\\d{2})?' + '(\\\\d{2})?' + '([Z|+|-])?' + '(\\\\d{2})?' + '\\'?' + '(\\\\d{2})?' + '\\'?');\n }\n\n var matches = pdfDateStringRegex.exec(input);\n\n if (!matches) {\n return null;\n }\n\n var year = parseInt(matches[1], 10);\n var month = parseInt(matches[2], 10);\n month = month >= 1 && month <= 12 ? month - 1 : 0;\n var day = parseInt(matches[3], 10);\n day = day >= 1 && day <= 31 ? day : 1;\n var hour = parseInt(matches[4], 10);\n hour = hour >= 0 && hour <= 23 ? hour : 0;\n var minute = parseInt(matches[5], 10);\n minute = minute >= 0 && minute <= 59 ? minute : 0;\n var second = parseInt(matches[6], 10);\n second = second >= 0 && second <= 59 ? second : 0;\n var universalTimeRelation = matches[7] || 'Z';\n var offsetHour = parseInt(matches[8], 10);\n offsetHour = offsetHour >= 0 && offsetHour <= 23 ? offsetHour : 0;\n var offsetMinute = parseInt(matches[9], 10) || 0;\n offsetMinute = offsetMinute >= 0 && offsetMinute <= 59 ? offsetMinute : 0;\n\n if (universalTimeRelation === '-') {\n hour += offsetHour;\n minute += offsetMinute;\n } else if (universalTimeRelation === '+') {\n hour -= offsetHour;\n minute -= offsetMinute;\n }\n\n return new Date(Date.UTC(year, month, day, hour, minute, second));\n }\n }]);\n\n return PDFDateString;\n}();\n\nexports.PDFDateString = PDFDateString;\n\n/***/ }),\n/* 152 */\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 = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(148));\n\nvar _util = __w_pdfjs_require__(1);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar BaseFontLoader =\n/*#__PURE__*/\nfunction () {\n function BaseFontLoader(_ref) {\n var docId = _ref.docId,\n onUnsupportedFeature = _ref.onUnsupportedFeature;\n\n _classCallCheck(this, BaseFontLoader);\n\n if (this.constructor === BaseFontLoader) {\n (0, _util.unreachable)('Cannot initialize BaseFontLoader.');\n }\n\n this.docId = docId;\n this._onUnsupportedFeature = onUnsupportedFeature;\n this.nativeFontFaces = [];\n this.styleElement = null;\n }\n\n _createClass(BaseFontLoader, [{\n key: \"addNativeFontFace\",\n value: function addNativeFontFace(nativeFontFace) {\n this.nativeFontFaces.push(nativeFontFace);\n document.fonts.add(nativeFontFace);\n }\n }, {\n key: \"insertRule\",\n value: function insertRule(rule) {\n var styleElement = this.styleElement;\n\n if (!styleElement) {\n styleElement = this.styleElement = document.createElement('style');\n styleElement.id = \"PDFJS_FONT_STYLE_TAG_\".concat(this.docId);\n document.documentElement.getElementsByTagName('head')[0].appendChild(styleElement);\n }\n\n var styleSheet = styleElement.sheet;\n styleSheet.insertRule(rule, styleSheet.cssRules.length);\n }\n }, {\n key: \"clear\",\n value: function clear() {\n this.nativeFontFaces.forEach(function (nativeFontFace) {\n document.fonts[\"delete\"](nativeFontFace);\n });\n this.nativeFontFaces.length = 0;\n\n if (this.styleElement) {\n this.styleElement.remove();\n this.styleElement = null;\n }\n }\n }, {\n key: \"bind\",\n value: function () {\n var _bind = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee(font) {\n var _this = this;\n\n var nativeFontFace, rule;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (!(font.attached || font.missingFile)) {\n _context.next = 2;\n break;\n }\n\n return _context.abrupt(\"return\", undefined);\n\n case 2:\n font.attached = true;\n\n if (!this.isFontLoadingAPISupported) {\n _context.next = 19;\n break;\n }\n\n nativeFontFace = font.createNativeFontFace();\n\n if (!nativeFontFace) {\n _context.next = 18;\n break;\n }\n\n this.addNativeFontFace(nativeFontFace);\n _context.prev = 7;\n _context.next = 10;\n return nativeFontFace.loaded;\n\n case 10:\n _context.next = 18;\n break;\n\n case 12:\n _context.prev = 12;\n _context.t0 = _context[\"catch\"](7);\n\n this._onUnsupportedFeature({\n featureId: _util.UNSUPPORTED_FEATURES.font\n });\n\n (0, _util.warn)(\"Failed to load font '\".concat(nativeFontFace.family, \"': '\").concat(_context.t0, \"'.\"));\n font.disableFontFace = true;\n throw _context.t0;\n\n case 18:\n return _context.abrupt(\"return\", undefined);\n\n case 19:\n rule = font.createFontFaceRule();\n\n if (!rule) {\n _context.next = 25;\n break;\n }\n\n this.insertRule(rule);\n\n if (!this.isSyncFontLoadingSupported) {\n _context.next = 24;\n break;\n }\n\n return _context.abrupt(\"return\", undefined);\n\n case 24:\n return _context.abrupt(\"return\", new Promise(function (resolve) {\n var request = _this._queueLoadingCallback(resolve);\n\n _this._prepareFontLoadEvent([rule], [font], request);\n }));\n\n case 25:\n return _context.abrupt(\"return\", undefined);\n\n case 26:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this, [[7, 12]]);\n }));\n\n function bind(_x) {\n return _bind.apply(this, arguments);\n }\n\n return bind;\n }()\n }, {\n key: \"_queueLoadingCallback\",\n value: function _queueLoadingCallback(callback) {\n (0, _util.unreachable)('Abstract method `_queueLoadingCallback`.');\n }\n }, {\n key: \"_prepareFontLoadEvent\",\n value: function _prepareFontLoadEvent(rules, fontsToLoad, request) {\n (0, _util.unreachable)('Abstract method `_prepareFontLoadEvent`.');\n }\n }, {\n key: \"isFontLoadingAPISupported\",\n get: function get() {\n (0, _util.unreachable)('Abstract method `isFontLoadingAPISupported`.');\n }\n }, {\n key: \"isSyncFontLoadingSupported\",\n get: function get() {\n (0, _util.unreachable)('Abstract method `isSyncFontLoadingSupported`.');\n }\n }, {\n key: \"_loadTestFont\",\n get: function get() {\n (0, _util.unreachable)('Abstract method `_loadTestFont`.');\n }\n }]);\n\n return BaseFontLoader;\n}();\n\nvar FontLoader;\nexports.FontLoader = FontLoader;\n{\n exports.FontLoader = FontLoader =\n /*#__PURE__*/\n function (_BaseFontLoader) {\n _inherits(GenericFontLoader, _BaseFontLoader);\n\n function GenericFontLoader(docId) {\n var _this2;\n\n _classCallCheck(this, GenericFontLoader);\n\n _this2 = _possibleConstructorReturn(this, _getPrototypeOf(GenericFontLoader).call(this, docId));\n _this2.loadingContext = {\n requests: [],\n nextRequestId: 0\n };\n _this2.loadTestFontId = 0;\n return _this2;\n }\n\n _createClass(GenericFontLoader, [{\n key: \"_queueLoadingCallback\",\n value: function _queueLoadingCallback(callback) {\n function completeRequest() {\n (0, _util.assert)(!request.done, 'completeRequest() cannot be called twice.');\n request.done = true;\n\n while (context.requests.length > 0 && context.requests[0].done) {\n var otherRequest = context.requests.shift();\n setTimeout(otherRequest.callback, 0);\n }\n }\n\n var context = this.loadingContext;\n var request = {\n id: \"pdfjs-font-loading-\".concat(context.nextRequestId++),\n done: false,\n complete: completeRequest,\n callback: callback\n };\n context.requests.push(request);\n return request;\n }\n }, {\n key: \"_prepareFontLoadEvent\",\n value: function _prepareFontLoadEvent(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\n function spliceString(s, offset, remove, insert) {\n var chunk1 = s.substring(0, offset);\n var chunk2 = s.substring(offset + remove);\n return chunk1 + insert + chunk2;\n }\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\n function isFontReady(name, callback) {\n called++;\n\n if (called > 30) {\n (0, _util.warn)('Load test font never loaded.');\n callback();\n return;\n }\n\n ctx.font = '30px ' + name;\n ctx.fillText('.', 0, 20);\n var imageData = ctx.getImageData(0, 0, 1, 1);\n\n if (imageData.data[3] > 0) {\n callback();\n return;\n }\n\n setTimeout(isFontReady.bind(null, name, callback));\n }\n\n var loadTestFontId = \"lt\".concat(Date.now()).concat(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\n for (i = 0, ii = loadTestFontId.length - 3; i < ii; i += 4) {\n checksum = checksum - XXXX_VALUE + int32(loadTestFontId, i) | 0;\n }\n\n if (i < loadTestFontId.length) {\n checksum = checksum - XXXX_VALUE + int32(loadTestFontId + 'XXX', i) | 0;\n }\n\n data = spliceString(data, CFF_CHECKSUM_OFFSET, 4, (0, _util.string32)(checksum));\n var url = \"url(data:font/opentype;base64,\".concat(btoa(data), \");\");\n var rule = \"@font-face {font-family:\\\"\".concat(loadTestFontId, \"\\\";src:\").concat(url, \"}\");\n this.insertRule(rule);\n var names = [];\n\n for (i = 0, ii = fonts.length; i < ii; i++) {\n names.push(fonts[i].loadedName);\n }\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\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\n document.body.appendChild(div);\n isFontReady(loadTestFontId, function () {\n document.body.removeChild(div);\n request.complete();\n });\n }\n }, {\n key: \"isFontLoadingAPISupported\",\n get: function get() {\n var supported = typeof document !== 'undefined' && !!document.fonts;\n\n if (supported && typeof navigator !== 'undefined') {\n var m = /Mozilla\\/5.0.*?rv:(\\d+).*? Gecko/.exec(navigator.userAgent);\n\n if (m && m[1] < 63) {\n supported = false;\n }\n }\n\n return (0, _util.shadow)(this, 'isFontLoadingAPISupported', supported);\n }\n }, {\n key: \"isSyncFontLoadingSupported\",\n get: function get() {\n var supported = false;\n\n if (typeof navigator === 'undefined') {\n supported = true;\n } else {\n var m = /Mozilla\\/5.0.*?rv:(\\d+).*? Gecko/.exec(navigator.userAgent);\n\n if (m && m[1] >= 14) {\n supported = true;\n }\n }\n\n return (0, _util.shadow)(this, 'isSyncFontLoadingSupported', supported);\n }\n }, {\n key: \"_loadTestFont\",\n get: function get() {\n var getLoadTestFont = function getLoadTestFont() {\n return atob('T1RUTwALAIAAAwAwQ0ZGIDHtZg4AAAOYAAAAgUZGVE1lkzZwAAAEHAAAABxHREVGABQA' + 'FQAABDgAAAAeT1MvMlYNYwkAAAEgAAAAYGNtYXABDQLUAAACNAAAAUJoZWFk/xVFDQAA' + 'ALwAAAA2aGhlYQdkA+oAAAD0AAAAJGhtdHgD6AAAAAAEWAAAAAZtYXhwAAJQAAAAARgA' + 'AAAGbmFtZVjmdH4AAAGAAAAAsXBvc3T/hgAzAAADeAAAACAAAQAAAAEAALZRFsRfDzz1' + 'AAsD6AAAAADOBOTLAAAAAM4KHDwAAAAAA+gDIQAAAAgAAgAAAAAAAAABAAADIQAAAFoD' + '6AAAAAAD6AABAAAAAAAAAAAAAAAAAAAAAQAAUAAAAgAAAAQD6AH0AAUAAAKKArwAAACM' + 'AooCvAAAAeAAMQECAAACAAYJAAAAAAAAAAAAAQAAAAAAAAAAAAAAAFBmRWQAwAAuAC4D' + 'IP84AFoDIQAAAAAAAQAAAAAAAAAAACAAIAABAAAADgCuAAEAAAAAAAAAAQAAAAEAAAAA' + 'AAEAAQAAAAEAAAAAAAIAAQAAAAEAAAAAAAMAAQAAAAEAAAAAAAQAAQAAAAEAAAAAAAUA' + 'AQAAAAEAAAAAAAYAAQAAAAMAAQQJAAAAAgABAAMAAQQJAAEAAgABAAMAAQQJAAIAAgAB' + 'AAMAAQQJAAMAAgABAAMAAQQJAAQAAgABAAMAAQQJAAUAAgABAAMAAQQJAAYAAgABWABY' + 'AAAAAAAAAwAAAAMAAAAcAAEAAAAAADwAAwABAAAAHAAEACAAAAAEAAQAAQAAAC7//wAA' + 'AC7////TAAEAAAAAAAABBgAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' + 'AAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' + 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' + 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' + 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' + 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAD/gwAyAAAAAQAAAAAAAAAAAAAAAAAA' + 'AAABAAQEAAEBAQJYAAEBASH4DwD4GwHEAvgcA/gXBIwMAYuL+nz5tQXkD5j3CBLnEQAC' + 'AQEBIVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYAAABAQAADwACAQEEE/t3' + 'Dov6fAH6fAT+fPp8+nwHDosMCvm1Cvm1DAz6fBQAAAAAAAABAAAAAMmJbzEAAAAAzgTj' + 'FQAAAADOBOQpAAEAAAAAAAAADAAUAAQAAAABAAAAAgABAAAAAAAAAAAD6AAAAAAAAA==');\n };\n\n return (0, _util.shadow)(this, '_loadTestFont', getLoadTestFont());\n }\n }]);\n\n return GenericFontLoader;\n }(BaseFontLoader);\n}\nvar IsEvalSupportedCached = {\n get value() {\n return (0, _util.shadow)(this, 'value', (0, _util.isEvalSupported)());\n }\n\n};\n\nvar FontFaceObject =\n/*#__PURE__*/\nfunction () {\n function FontFaceObject(translatedData, _ref2) {\n var _ref2$isEvalSupported = _ref2.isEvalSupported,\n isEvalSupported = _ref2$isEvalSupported === void 0 ? true : _ref2$isEvalSupported,\n _ref2$disableFontFace = _ref2.disableFontFace,\n disableFontFace = _ref2$disableFontFace === void 0 ? false : _ref2$disableFontFace,\n _ref2$ignoreErrors = _ref2.ignoreErrors,\n ignoreErrors = _ref2$ignoreErrors === void 0 ? false : _ref2$ignoreErrors,\n _ref2$onUnsupportedFe = _ref2.onUnsupportedFeature,\n onUnsupportedFeature = _ref2$onUnsupportedFe === void 0 ? null : _ref2$onUnsupportedFe,\n _ref2$fontRegistry = _ref2.fontRegistry,\n fontRegistry = _ref2$fontRegistry === void 0 ? null : _ref2$fontRegistry;\n\n _classCallCheck(this, FontFaceObject);\n\n this.compiledGlyphs = Object.create(null);\n\n for (var i in translatedData) {\n this[i] = translatedData[i];\n }\n\n this.isEvalSupported = isEvalSupported !== false;\n this.disableFontFace = disableFontFace === true;\n this.ignoreErrors = ignoreErrors === true;\n this._onUnsupportedFeature = onUnsupportedFeature;\n this.fontRegistry = fontRegistry;\n }\n\n _createClass(FontFaceObject, [{\n key: \"createNativeFontFace\",\n value: function createNativeFontFace() {\n if (!this.data || this.disableFontFace) {\n return null;\n }\n\n var nativeFontFace = new FontFace(this.loadedName, this.data, {});\n\n if (this.fontRegistry) {\n this.fontRegistry.registerFont(this);\n }\n\n return nativeFontFace;\n }\n }, {\n key: \"createFontFaceRule\",\n value: function createFontFaceRule() {\n if (!this.data || this.disableFontFace) {\n return null;\n }\n\n var data = (0, _util.bytesToString)(new Uint8Array(this.data));\n var url = \"url(data:\".concat(this.mimetype, \";base64,\").concat(btoa(data), \");\");\n var rule = \"@font-face {font-family:\\\"\".concat(this.loadedName, \"\\\";src:\").concat(url, \"}\");\n\n if (this.fontRegistry) {\n this.fontRegistry.registerFont(this, url);\n }\n\n return rule;\n }\n }, {\n key: \"getPathGenerator\",\n value: function getPathGenerator(objs, character) {\n if (this.compiledGlyphs[character] !== undefined) {\n return this.compiledGlyphs[character];\n }\n\n var cmds, current;\n\n try {\n cmds = objs.get(this.loadedName + '_path_' + character);\n } catch (ex) {\n if (!this.ignoreErrors) {\n throw ex;\n }\n\n if (this._onUnsupportedFeature) {\n this._onUnsupportedFeature({\n featureId: _util.UNSUPPORTED_FEATURES.font\n });\n }\n\n (0, _util.warn)(\"getPathGenerator - ignoring character: \\\"\".concat(ex, \"\\\".\"));\n return this.compiledGlyphs[character] = function (c, size) {};\n }\n\n if (this.isEvalSupported && IsEvalSupportedCached.value) {\n var args,\n js = '';\n\n for (var i = 0, ii = cmds.length; i < ii; i++) {\n current = cmds[i];\n\n if (current.args !== undefined) {\n args = current.args.join(',');\n } else {\n args = '';\n }\n\n js += 'c.' + current.cmd + '(' + args + ');\\n';\n }\n\n return this.compiledGlyphs[character] = new Function('c', 'size', js);\n }\n\n return this.compiledGlyphs[character] = function (c, size) {\n for (var _i = 0, _ii = cmds.length; _i < _ii; _i++) {\n current = cmds[_i];\n\n if (current.cmd === 'scale') {\n current.args = [size, -size];\n }\n\n c[current.cmd].apply(c, current.args);\n }\n };\n }\n }]);\n\n return FontFaceObject;\n}();\n\nexports.FontFaceObject = FontFaceObject;\n\n/***/ }),\n/* 153 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar compatibilityParams = Object.create(null);\n{\n var isNodeJS = __w_pdfjs_require__(4);\n\n var userAgent = typeof navigator !== 'undefined' && navigator.userAgent || '';\n var isIE = /Trident/.test(userAgent);\n var isIOSChrome = /CriOS/.test(userAgent);\n\n (function checkOnBlobSupport() {\n if (isIE || isIOSChrome) {\n compatibilityParams.disableCreateObjectURL = true;\n }\n })();\n\n (function checkFontFaceAndImage() {\n if (isNodeJS()) {\n compatibilityParams.disableFontFace = true;\n compatibilityParams.nativeImageDecoderSupport = 'none';\n }\n })();\n}\nexports.apiCompatibilityParams = Object.freeze(compatibilityParams);\n\n/***/ }),\n/* 154 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CanvasGraphics = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _pattern_helper = __w_pdfjs_require__(155);\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\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\n ctx.save = function ctxSave() {\n var old = this._transformMatrix;\n\n this._transformStack.push(old);\n\n this._transformMatrix = old.slice(0, 6);\n\n this._originalSave();\n };\n\n ctx.restore = function ctxRestore() {\n var prev = this._transformStack.pop();\n\n if (prev) {\n this._transformMatrix = prev;\n\n this._originalRestore();\n }\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\n this._originalTranslate(x, y);\n };\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\n this._originalScale(x, y);\n };\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\n ctx._originalTransform(a, b, c, d, e, f);\n };\n\n ctx.setTransform = function ctxSetTransform(a, b, c, d, e, f) {\n this._transformMatrix = [a, b, c, d, e, f];\n\n ctx._originalSetTransform(a, b, c, d, e, f);\n };\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\n this._originalRotate(angle);\n };\n }\n}\n\nvar CachedCanvases = function CachedCanvasesClosure() {\n function CachedCanvases(canvasFactory) {\n this.canvasFactory = canvasFactory;\n this.cache = Object.create(null);\n }\n\n CachedCanvases.prototype = {\n getCanvas: function CachedCanvases_getCanvas(id, width, height, trackTransform) {\n var canvasEntry;\n\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\n if (trackTransform) {\n addContextCurrentTransform(canvasEntry.context);\n }\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\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\n for (i = 0, ii = data0.length; i < ii; i++) {\n var mask = 128,\n elem = data0[i];\n\n while (mask > 0) {\n data[pos++] = elem & mask ? 0 : 255;\n mask >>= 1;\n }\n }\n\n var count = 0;\n pos = 0;\n\n if (data[pos] !== 0) {\n points[0] = 1;\n ++count;\n }\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\n pos++;\n }\n\n if (data[pos] !== 0) {\n points[j] = 2;\n ++count;\n }\n\n for (i = 1; i < height; i++) {\n pos = i * lineSize;\n j0 = i * width1;\n\n if (data[pos - lineSize] !== data[pos]) {\n points[j0] = data[pos] ? 1 : 8;\n ++count;\n }\n\n var sum = (data[pos] ? 4 : 0) + (data[pos - lineSize] ? 8 : 0);\n\n for (j = 1; j < width; j++) {\n sum = (sum >> 2) + (data[pos + 1] ? 4 : 0) + (data[pos - lineSize + 1] ? 8 : 0);\n\n if (POINT_TYPES[sum]) {\n points[j0 + j] = POINT_TYPES[sum];\n ++count;\n }\n\n pos++;\n }\n\n if (data[pos - lineSize] !== data[pos]) {\n points[j0 + j] = data[pos] ? 2 : 4;\n ++count;\n }\n\n if (count > POINT_TO_PROCESS_LIMIT) {\n return null;\n }\n }\n\n pos = lineSize * (height - 1);\n j0 = i * width1;\n\n if (data[pos] !== 0) {\n points[j0] = 8;\n ++count;\n }\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\n pos++;\n }\n\n if (data[pos] !== 0) {\n points[j0 + j] = 4;\n ++count;\n }\n\n if (count > POINT_TO_PROCESS_LIMIT) {\n return null;\n }\n\n var steps = new Int32Array([0, width1, -1, 0, -width1, 0, 0, 0, 1]);\n var outlines = [];\n\n for (i = 0; count && i <= height; i++) {\n var p = i * width1;\n var end = p + width;\n\n while (p < end && !points[p]) {\n p++;\n }\n\n if (p === end) {\n continue;\n }\n\n var coords = [p % width1, i];\n var type = points[p],\n p0 = p,\n pp;\n\n do {\n var step = steps[type];\n\n do {\n p += step;\n } while (!points[p]);\n\n pp = points[p];\n\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\n coords.push(p % width1);\n coords.push(p / width1 | 0);\n\n if (!points[p]) {\n --count;\n }\n } while (p0 !== p);\n\n outlines.push(coords);\n --i;\n }\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\n for (var i = 0, ii = outlines.length; i < ii; i++) {\n var o = outlines[i];\n c.moveTo(o[0], o[1]);\n\n for (var j = 2, jj = o.length; j < jj; j += 2) {\n c.lineTo(o[j], o[j + 1]);\n }\n }\n\n c.fill();\n c.beginPath();\n c.restore();\n };\n\n return drawOutline;\n}\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\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\nvar CanvasGraphics = function CanvasGraphicsClosure() {\n var EXECUTION_TIME = 15;\n var EXECUTION_STEPS = 10;\n\n function CanvasGraphics(canvasCtx, commonObjs, objs, canvasFactory, webGLContext, 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.webGLContext = webGLContext;\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\n if (canvasCtx) {\n addContextCurrentTransform(canvasCtx);\n }\n\n this._cachedGetSinglePixelWidth = null;\n }\n\n function putBinaryImageData(ctx, imgData) {\n if (typeof ImageData !== 'undefined' && imgData instanceof ImageData) {\n ctx.putImageData(imgData, 0, 0);\n return;\n }\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\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\n for (i = 0; i < totalChunks; i++) {\n thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;\n destPos = 0;\n\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\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\n for (; k < kEnd; k++) {\n if (mask === 0) {\n srcByte = src[srcPos++];\n mask = 128;\n }\n\n dest32[destPos++] = srcByte & mask ? white : black;\n mask >>= 1;\n }\n }\n\n while (destPos < dest32DataLength) {\n dest32[destPos++] = 0;\n }\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\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\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\n for (i = 0; i < totalChunks; i++) {\n if (i >= fullChunks) {\n thisChunkHeight = partialChunkHeight;\n elemsInThisChunk = width * thisChunkHeight;\n }\n\n destPos = 0;\n\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\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n } else {\n throw new Error(\"bad image kind: \".concat(imgData.kind));\n }\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\n for (var i = 0; i < totalChunks; i++) {\n var thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;\n var destPos = 3;\n\n for (var j = 0; j < thisChunkHeight; j++) {\n var mask = 0;\n\n for (var k = 0; k < width; k++) {\n if (!mask) {\n var elem = src[srcPos++];\n mask = 128;\n }\n\n dest[destPos] = elem & mask ? 0 : 255;\n destPos += 4;\n mask >>= 1;\n }\n }\n\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n }\n\n function copyCtxState(sourceCtx, destCtx) {\n var properties = ['strokeStyle', 'fillStyle', 'fillRule', 'globalAlpha', 'lineWidth', 'lineCap', 'lineJoin', 'miterLimit', 'globalCompositeOperation', 'font'];\n\n for (var i = 0, ii = properties.length; i < ii; i++) {\n var property = properties[i];\n\n if (sourceCtx[property] !== undefined) {\n destCtx[property] = sourceCtx[property];\n }\n }\n\n if (sourceCtx.setLineDash !== undefined) {\n destCtx.setLineDash(sourceCtx.getLineDash());\n destCtx.lineDashOffset = sourceCtx.lineDashOffset;\n }\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\n if (ctx.setLineDash !== undefined) {\n ctx.setLineDash([]);\n ctx.lineDashOffset = 0;\n }\n }\n\n function composeSMaskBackdrop(bytes, r0, g0, b0) {\n var length = bytes.length;\n\n for (var i = 3; i < length; i += 4) {\n var alpha = bytes[i];\n\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\n function composeSMaskAlpha(maskData, layerData, transferMap) {\n var length = maskData.length;\n var scale = 1 / 255;\n\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\n function composeSMaskLuminosity(maskData, layerData, transferMap) {\n var length = maskData.length;\n\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\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\n if (subtype === 'Luminosity') {\n composeFn = composeSMaskLuminosity;\n } else {\n composeFn = composeSMaskAlpha;\n }\n\n var PIXELS_TO_PROCESS = 1048576;\n var chunkSize = Math.min(height, Math.ceil(PIXELS_TO_PROCESS / width));\n\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\n if (hasBackdrop) {\n composeSMaskBackdrop(maskData.data, r0, g0, b0);\n }\n\n composeFn(maskData.data, layerData.data, transferMap);\n maskCtx.putImageData(layerData, 0, row);\n }\n }\n\n function composeSMask(ctx, smask, layerCtx, webGLContext) {\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\n if (!smask.transferMap && webGLContext.isEnabled) {\n var composed = webGLContext.composeSMask({\n layer: layerCtx.canvas,\n mask: mask,\n properties: {\n subtype: smask.subtype,\n backdrop: backdrop\n }\n });\n ctx.setTransform(1, 0, 0, 1, 0, 0);\n ctx.drawImage(composed, smask.offsetX, smask.offsetY);\n return;\n }\n\n genericComposeSMask(maskCtx, layerCtx, mask.width, mask.height, smask.subtype, backdrop, smask.transferMap);\n ctx.drawImage(mask, 0, 0);\n }\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 _ref$transparency = _ref.transparency,\n transparency = _ref$transparency === void 0 ? false : _ref$transparency,\n _ref$background = _ref.background,\n background = _ref$background === void 0 ? 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\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\n this.ctx.save();\n resetCtxToDefault(this.ctx);\n\n if (transform) {\n this.ctx.transform.apply(this.ctx, transform);\n }\n\n this.ctx.transform.apply(this.ctx, viewport.transform);\n this.baseTransform = this.ctx.mozCurrentTransform.slice();\n\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\n if (argsArrayLen === i) {\n return i;\n }\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\n while (true) {\n if (stepper !== undefined && i === stepper.nextBreakPoint) {\n stepper.breakIt(i, continueCallback);\n return i;\n }\n\n fnId = fnArray[i];\n\n if (fnId !== _util.OPS.dependency) {\n this[fnId].apply(this, argsArray[i]);\n } else {\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = argsArray[i][Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var depObjId = _step.value;\n var objsPool = depObjId.startsWith('g_') ? commonObjs : objs;\n\n if (!objsPool.has(depObjId)) {\n objsPool.get(depObjId, continueCallback);\n return i;\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator[\"return\"] != null) {\n _iterator[\"return\"]();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n }\n\n i++;\n\n if (i === argsArrayLen) {\n return i;\n }\n\n if (chunkOperations && ++steps > EXECUTION_STEPS) {\n if (Date.now() > endTime) {\n continueCallback();\n return i;\n }\n\n steps = 0;\n }\n }\n },\n endDrawing: function CanvasGraphics_endDrawing() {\n if (this.current.activeSMask !== null) {\n this.endSMaskGroup();\n }\n\n this.ctx.restore();\n\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\n this.cachedCanvases.clear();\n this.webGLContext.clear();\n\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\n if (ctx.setLineDash !== undefined) {\n ctx.setLineDash(dashArray);\n ctx.lineDashOffset = dashPhase;\n }\n },\n setRenderingIntent: function setRenderingIntent(intent) {},\n setFlatness: function 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\n switch (key) {\n case 'LW':\n this.setLineWidth(value);\n break;\n\n case 'LC':\n this.setLineCap(value);\n break;\n\n case 'LJ':\n this.setLineJoin(value);\n break;\n\n case 'ML':\n this.setMiterLimit(value);\n break;\n\n case 'D':\n this.setDash(value[0], value[1]);\n break;\n\n case 'RI':\n this.setRenderingIntent(value);\n break;\n\n case 'FL':\n this.setFlatness(value);\n break;\n\n case 'Font':\n this.setFont(value[0], value[1]);\n break;\n\n case 'CA':\n this.current.strokeAlpha = state[1];\n break;\n\n case 'ca':\n this.current.fillAlpha = state[1];\n this.ctx.globalAlpha = state[1];\n break;\n\n case 'BM':\n this.ctx.globalCompositeOperation = value;\n break;\n\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\n this.current.activeSMask = value ? this.tempSMask : null;\n\n if (this.current.activeSMask) {\n this.beginSMaskGroup();\n }\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, this.webGLContext);\n this.ctx.restore();\n this.ctx.save();\n copyCtxState(groupCtx, this.ctx);\n this.current.resumeSMaskCtx = groupCtx;\n\n var deltaTransform = _util.Util.transform(this.current.activeSMask.startTransformInverse, groupCtx.mozCurrentTransform);\n\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, this.webGLContext);\n this.ctx.restore();\n copyCtxState(groupCtx, this.ctx);\n\n var deltaTransform = _util.Util.transform(this.current.activeSMask.startTransformInverse, groupCtx.mozCurrentTransform);\n\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\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\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\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\n if (width === 0) {\n width = this.getSinglePixelWidth();\n }\n\n if (height === 0) {\n height = this.getSinglePixelWidth();\n }\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\n case _util.OPS.moveTo:\n x = args[j++];\n y = args[j++];\n ctx.moveTo(x, y);\n break;\n\n case _util.OPS.lineTo:\n x = args[j++];\n y = args[j++];\n ctx.lineTo(x, y);\n break;\n\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\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\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\n case _util.OPS.closePath:\n ctx.closePath();\n break;\n }\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\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\n if (consumePath) {\n this.consumePath();\n }\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\n if (isPatternFill) {\n ctx.save();\n\n if (this.baseTransform) {\n ctx.setTransform.apply(ctx, this.baseTransform);\n }\n\n ctx.fillStyle = fillColor.getPattern(ctx, this);\n needRestore = true;\n }\n\n if (this.pendingEOFill) {\n ctx.fill('evenodd');\n this.pendingEOFill = false;\n } else {\n ctx.fill();\n }\n\n if (needRestore) {\n ctx.restore();\n }\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\n if (paths === undefined) {\n ctx.beginPath();\n return;\n }\n\n ctx.save();\n ctx.beginPath();\n\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\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\n if (!fontObj) {\n throw new Error(\"Can't find font for \".concat(fontRefName));\n }\n\n current.fontMatrix = fontObj.fontMatrix ? fontObj.fontMatrix : _util.FONT_IDENTITY_MATRIX;\n\n if (current.fontMatrix[0] === 0 || current.fontMatrix[3] === 0) {\n (0, _util.warn)('Invalid font matrix for font ' + fontRefName);\n }\n\n if (size < 0) {\n size = -size;\n current.fontDirection = -1;\n } else {\n current.fontDirection = 1;\n }\n\n this.current.font = fontObj;\n this.current.fontSize = size;\n\n if (fontObj.isType3Font) {\n return;\n }\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 = \"\\\"\".concat(name, \"\\\", \").concat(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 this.ctx.font = \"\".concat(italic, \" \").concat(bold, \" \").concat(browserFontSize, \"px \").concat(typeface);\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 paintChar(character, x, y, patternTransform) {\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 patternFill = current.patternFill && font.data;\n var addToPath;\n\n if (font.disableFontFace || isAddToPathSet || patternFill) {\n addToPath = font.getPathGenerator(this.commonObjs, character);\n }\n\n if (font.disableFontFace || patternFill) {\n ctx.save();\n ctx.translate(x, y);\n ctx.beginPath();\n addToPath(ctx, fontSize);\n\n if (patternTransform) {\n ctx.setTransform.apply(ctx, patternTransform);\n }\n\n if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.fill();\n }\n\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.stroke();\n }\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\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.strokeText(character, x, y);\n }\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\n get isFontSubpixelAAEnabled() {\n var _this$cachedCanvases$ = this.cachedCanvases.getCanvas('isFontSubpixelAAEnabled', 10, 10),\n ctx = _this$cachedCanvases$.context;\n\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\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\n return (0, _util.shadow)(this, 'isFontSubpixelAAEnabled', enabled);\n },\n\n showText: function CanvasGraphics_showText(glyphs) {\n var current = this.current;\n var font = current.font;\n\n if (font.isType3Font) {\n return this.showType3Text(glyphs);\n }\n\n var fontSize = current.fontSize;\n\n if (fontSize === 0) {\n return undefined;\n }\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 && !current.patternFill;\n ctx.save();\n var patternTransform;\n\n if (current.patternFill) {\n ctx.save();\n var pattern = current.fillColor.getPattern(ctx, this);\n patternTransform = ctx.mozCurrentTransform;\n ctx.restore();\n ctx.fillStyle = pattern;\n }\n\n ctx.transform.apply(ctx, current.textMatrix);\n ctx.translate(current.x, current.y + current.textRise);\n\n if (fontDirection > 0) {\n ctx.scale(textHScale, -1);\n } else {\n ctx.scale(textHScale, 1);\n }\n\n var lineWidth = current.lineWidth;\n var scale = current.textMatrixScale;\n\n if (scale === 0 || lineWidth === 0) {\n var fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n\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\n if (fontSizeScale !== 1.0) {\n ctx.scale(fontSizeScale, fontSizeScale);\n lineWidth /= fontSizeScale;\n }\n\n ctx.lineWidth = lineWidth;\n var x = 0,\n i;\n\n for (i = 0; i < glyphsLength; ++i) {\n var glyph = glyphs[i];\n\n if ((0, _util.isNum)(glyph)) {\n x += spacingDir * glyph * fontSize / 1000;\n continue;\n }\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\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\n if (font.remeasure && width > 0) {\n var measuredWidth = ctx.measureText(character).width * 1000 / fontSize * fontSizeScale;\n\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\n if (glyph.isInFont || font.missingFile) {\n if (simpleFillText && !accent) {\n ctx.fillText(character, scaledX, scaledY);\n } else {\n this.paintChar(character, scaledX, scaledY, patternTransform);\n\n if (accent) {\n scaledAccentX = scaledX + accent.offset.x / fontSizeScale;\n scaledAccentY = scaledY - accent.offset.y / fontSizeScale;\n this.paintChar(accent.fontChar, scaledAccentX, scaledAccentY, patternTransform);\n }\n }\n }\n\n var charWidth = width * widthAdvanceScale + spacing * fontDirection;\n x += charWidth;\n\n if (restoreNeeded) {\n ctx.restore();\n }\n }\n\n if (vertical) {\n current.y -= x * textHScale;\n } else {\n current.x += x * textHScale;\n }\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\n if (isTextInvisible || fontSize === 0) {\n return;\n }\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\n for (i = 0; i < glyphsLength; ++i) {\n glyph = glyphs[i];\n\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\n var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n var operatorList = font.charProcOperatorList[glyph.operatorListId];\n\n if (!operatorList) {\n (0, _util.warn)(\"Type3 character \\\"\".concat(glyph.operatorListId, \"\\\" is not available.\"));\n continue;\n }\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\n var transformed = _util.Util.applyTransform([glyph.width, 0], fontMatrix);\n\n width = transformed[0] * fontSize + spacing;\n ctx.translate(width, 0);\n current.x += width * textHScale;\n }\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\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, _this.webGLContext);\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\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\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\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\n if (inv) {\n var canvas = ctx.canvas;\n var width = canvas.width;\n var height = canvas.height;\n\n var bl = _util.Util.applyTransform([0, 0], inv);\n\n var br = _util.Util.applyTransform([0, height], inv);\n\n var ul = _util.Util.applyTransform([width, 0], inv);\n\n var ur = _util.Util.applyTransform([width, height], inv);\n\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\n this.restore();\n },\n beginInlineImage: function CanvasGraphics_beginInlineImage() {\n (0, _util.unreachable)('Should not call beginInlineImage');\n },\n beginImageData: function CanvasGraphics_beginImageData() {\n (0, _util.unreachable)('Should not call beginImageData');\n },\n paintFormXObjectBegin: function CanvasGraphics_paintFormXObjectBegin(matrix, bbox) {\n this.save();\n this.baseTransformStack.push(this.baseTransform);\n\n if (Array.isArray(matrix) && matrix.length === 6) {\n this.transform.apply(this, matrix);\n }\n\n this.baseTransform = this.ctx.mozCurrentTransform;\n\n if (bbox) {\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\n if (!group.isolated) {\n (0, _util.info)('TODO: Support non-isolated groups.');\n }\n\n if (group.knockout) {\n (0, _util.warn)('Knockout groups not supported.');\n }\n\n var currentTransform = currentCtx.mozCurrentTransform;\n\n if (group.matrix) {\n currentCtx.transform.apply(currentCtx, group.matrix);\n }\n\n if (!group.bbox) {\n throw new Error('Bounding box is required.');\n }\n\n var bounds = _util.Util.getAxialAlignedBoundingBox(group.bbox, currentCtx.mozCurrentTransform);\n\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\n if (drawnWidth > MAX_GROUP_SIZE) {\n scaleX = drawnWidth / MAX_GROUP_SIZE;\n drawnWidth = MAX_GROUP_SIZE;\n }\n\n if (drawnHeight > MAX_GROUP_SIZE) {\n scaleY = drawnHeight / MAX_GROUP_SIZE;\n drawnHeight = MAX_GROUP_SIZE;\n }\n\n var cacheId = 'groupAt' + this.groupLevel;\n\n if (group.smask) {\n cacheId += '_smask_' + this.smaskCounter++ % 2;\n }\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\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\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\n if (this.ctx.imageSmoothingEnabled !== undefined) {\n this.ctx.imageSmoothingEnabled = false;\n } else {\n this.ctx.mozImageSmoothingEnabled = false;\n }\n\n if (group.smask) {\n this.tempSMask = this.smaskStack.pop();\n } else {\n this.ctx.drawImage(groupCtx.canvas, 0, 0);\n }\n\n this.restore();\n },\n beginAnnotations: function CanvasGraphics_beginAnnotations() {\n this.save();\n\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\n if (Array.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\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.processingType3 ? this.commonObjs.get(objId) : this.objs.get(objId);\n\n if (!domImage) {\n (0, _util.warn)('Dependent image isn\\'t ready yet');\n return;\n }\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\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\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\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\n if (glyph && glyph.compiled) {\n glyph.compiled(ctx);\n return;\n }\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\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\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.processingType3 ? this.commonObjs.get(objId) : this.objs.get(objId);\n\n if (!imgData) {\n (0, _util.warn)('Dependent image isn\\'t ready yet');\n return;\n }\n\n this.paintInlineImageXObject(imgData);\n },\n paintImageXObjectRepeat: function CanvasGraphics_paintImageXObjectRepeat(objId, scaleX, scaleY, positions) {\n var imgData = this.processingType3 ? this.commonObjs.get(objId) : this.objs.get(objId);\n\n if (!imgData) {\n (0, _util.warn)('Dependent image isn\\'t ready yet');\n return;\n }\n\n var width = imgData.width;\n var height = imgData.height;\n var map = [];\n\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\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\n if (typeof HTMLElement === 'function' && 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\n var paintWidth = width,\n paintHeight = height;\n var tmpCanvasId = 'prescale1';\n\n while (widthScale > 2 && paintWidth > 1 || heightScale > 2 && paintHeight > 1) {\n var newWidth = paintWidth,\n newHeight = paintHeight;\n\n if (widthScale > 2 && paintWidth > 1) {\n newWidth = Math.ceil(paintWidth / 2);\n widthScale /= paintWidth / newWidth;\n }\n\n if (heightScale > 2 && paintHeight > 1) {\n newHeight = Math.ceil(paintHeight / 2);\n heightScale /= paintHeight / newHeight;\n }\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\n ctx.drawImage(imgToPaint, 0, 0, paintWidth, paintHeight, 0, -height, width, height);\n\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\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\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\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\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\n if (this.pendingClip) {\n if (this.pendingClip === EO_CLIP) {\n ctx.clip('evenodd');\n } else {\n ctx.clip();\n }\n\n this.pendingClip = null;\n }\n\n ctx.beginPath();\n },\n getSinglePixelWidth: function getSinglePixelWidth(scale) {\n if (this._cachedGetSinglePixelWidth === null) {\n var inverse = this.ctx.mozCurrentTransformInverse;\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\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\n for (var op in _util.OPS) {\n CanvasGraphics.prototype[_util.OPS[op]] = CanvasGraphics.prototype[op];\n }\n\n return CanvasGraphics;\n}();\n\nexports.CanvasGraphics = CanvasGraphics;\n\n/***/ }),\n/* 155 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getShadingPatternFromIR = getShadingPatternFromIR;\nexports.TilingPattern = void 0;\n\nvar _util = __w_pdfjs_require__(1);\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\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\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\n return grad;\n }\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\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\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\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\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\n if (y1 >= y3) {\n return;\n }\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\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\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\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\n function drawFigure(data, figure, context) {\n var ps = figure.coords;\n var cs = figure.colors;\n var i, ii;\n\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\n for (i = 0; i < rows; i++) {\n var q = i * verticesPerRow;\n\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\n break;\n\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\n break;\n\n default:\n throw new Error('illegal figure');\n }\n }\n\n function createMeshCanvas(bounds, combinesScale, coords, colors, figures, backgroundColor, cachedCanvases, webGLContext) {\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\n if (webGLContext.isEnabled) {\n canvas = webGLContext.drawFigures({\n width: width,\n height: height,\n backgroundColor: backgroundColor,\n figures: figures,\n context: context\n });\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\n if (backgroundColor) {\n var bytes = data.data;\n\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\n for (i = 0; i < figures.length; i++) {\n drawFigure(data, figures[i], context);\n }\n\n tmpCtx.putImageData(data, BORDER_SIZE, BORDER_SIZE);\n canvas = tmpCanvas.canvas;\n }\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\n return createMeshCanvas;\n}();\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\n if (shadingFill) {\n scale = _util.Util.singularValueDecompose2dScale(ctx.mozCurrentTransform);\n } else {\n scale = _util.Util.singularValueDecompose2dScale(owner.baseTransform);\n\n if (matrix) {\n var matrixScale = _util.Util.singularValueDecompose2dScale(matrix);\n\n scale = [scale[0] * matrixScale[0], scale[1] * matrixScale[1]];\n }\n }\n\n var temporaryPatternCanvas = createMeshCanvas(bounds, scale, coords, colors, figures, shadingFill ? null : background, owner.cachedCanvases, owner.webGLContext);\n\n if (!shadingFill) {\n ctx.setTransform.apply(ctx, owner.baseTransform);\n\n if (matrix) {\n ctx.transform.apply(ctx, matrix);\n }\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};\n\nfunction getShadingPatternFromIR(raw) {\n var shadingIR = ShadingIRs[raw[0]];\n\n if (!shadingIR) {\n throw new Error(\"Unknown IR type: \".concat(raw[0]));\n }\n\n return shadingIR.fromIR(raw);\n}\n\nvar TilingPattern = function TilingPatternClosure() {\n var PaintType = {\n COLORED: 1,\n UNCOLORED: 2\n };\n var MAX_PATTERN_SIZE = 3000;\n\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\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\n var matrixScale = _util.Util.singularValueDecompose2dScale(this.matrix);\n\n var curMatrixScale = _util.Util.singularValueDecompose2dScale(this.baseTransform);\n\n var combinedScale = [matrixScale[0] * curMatrixScale[0], matrixScale[1] * curMatrixScale[1]];\n var dimx = this.getSizeAndScale(xstep, this.ctx.canvas.width, combinedScale[0]);\n var dimy = this.getSizeAndScale(ystep, this.ctx.canvas.height, combinedScale[1]);\n var tmpCanvas = owner.cachedCanvases.getCanvas('pattern', dimx.size, dimy.size, true);\n var tmpCtx = tmpCanvas.context;\n var graphics = canvasGraphicsFactory.createCanvasGraphics(tmpCtx);\n graphics.groupLevel = owner.groupLevel;\n this.setFillAndStrokeStyleToContext(graphics, paintType, color);\n graphics.transform(dimx.scale, 0, 0, dimy.scale, 0, 0);\n graphics.transform(1, 0, 0, 1, -x0, -y0);\n this.clipBbox(graphics, bbox, x0, y0, x1, y1);\n graphics.executeOperatorList(operatorList);\n this.ctx.transform(1, 0, 0, 1, x0, y0);\n this.ctx.scale(1 / dimx.scale, 1 / dimy.scale);\n return tmpCanvas.canvas;\n },\n getSizeAndScale: function TilingPattern_getSizeAndScale(step, realOutputSize, scale) {\n step = Math.abs(step);\n var maxSize = Math.max(MAX_PATTERN_SIZE, realOutputSize);\n var size = Math.ceil(step * scale);\n\n if (size >= maxSize) {\n size = maxSize;\n } else {\n scale = size / step;\n }\n\n return {\n scale: scale,\n size: size\n };\n },\n clipBbox: function clipBbox(graphics, bbox, x0, y0, x1, y1) {\n if (Array.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(graphics, paintType, color) {\n var context = graphics.ctx,\n current = graphics.current;\n\n switch (paintType) {\n case PaintType.COLORED:\n var ctx = this.ctx;\n context.fillStyle = ctx.fillStyle;\n context.strokeStyle = ctx.strokeStyle;\n current.fillColor = ctx.fillStyle;\n current.strokeColor = ctx.strokeStyle;\n break;\n\n case PaintType.UNCOLORED:\n var cssColor = _util.Util.makeCssRgb(color[0], color[1], color[2]);\n\n context.fillStyle = cssColor;\n context.strokeStyle = cssColor;\n current.fillColor = cssColor;\n current.strokeColor = cssColor;\n break;\n\n default:\n throw new _util.FormatError(\"Unsupported paint type: \".concat(paintType));\n }\n },\n getPattern: function TilingPattern_getPattern(ctx, owner) {\n ctx = this.ctx;\n ctx.setTransform.apply(ctx, this.baseTransform);\n ctx.transform.apply(ctx, this.matrix);\n var temporaryPatternCanvas = this.createPatternCanvas(owner);\n return ctx.createPattern(temporaryPatternCanvas, 'repeat');\n }\n };\n return TilingPattern;\n}();\n\nexports.TilingPattern = TilingPattern;\n\n/***/ }),\n/* 156 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.GlobalWorkerOptions = void 0;\nvar GlobalWorkerOptions = Object.create(null);\nexports.GlobalWorkerOptions = GlobalWorkerOptions;\nGlobalWorkerOptions.workerPort = GlobalWorkerOptions.workerPort === undefined ? null : GlobalWorkerOptions.workerPort;\nGlobalWorkerOptions.workerSrc = GlobalWorkerOptions.workerSrc === undefined ? '' : GlobalWorkerOptions.workerSrc;\n\n/***/ }),\n/* 157 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.MessageHandler = MessageHandler;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(148));\n\nvar _util = __w_pdfjs_require__(1);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction resolveCall(_x, _x2) {\n return _resolveCall.apply(this, arguments);\n}\n\nfunction _resolveCall() {\n _resolveCall = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee(fn, args) {\n var thisArg,\n _args = arguments;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n thisArg = _args.length > 2 && _args[2] !== undefined ? _args[2] : null;\n\n if (fn) {\n _context.next = 3;\n break;\n }\n\n return _context.abrupt(\"return\", undefined);\n\n case 3:\n return _context.abrupt(\"return\", fn.apply(thisArg, args));\n\n case 4:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n return _resolveCall.apply(this, arguments);\n}\n\nfunction wrapReason(reason) {\n if (_typeof(reason) !== 'object') {\n return reason;\n }\n\n switch (reason.name) {\n case 'AbortException':\n return new _util.AbortException(reason.message);\n\n case 'MissingPDFException':\n return new _util.MissingPDFException(reason.message);\n\n case 'UnexpectedResponseException':\n return new _util.UnexpectedResponseException(reason.message, reason.status);\n\n default:\n return new _util.UnknownErrorException(reason.message, reason.details);\n }\n}\n\nfunction makeReasonSerializable(reason) {\n if (!(reason instanceof Error) || reason instanceof _util.AbortException || reason instanceof _util.MissingPDFException || reason instanceof _util.UnexpectedResponseException || reason instanceof _util.UnknownErrorException) {\n return reason;\n }\n\n return new _util.UnknownErrorException(reason.message, reason.toString());\n}\n\nfunction resolveOrReject(capability, success, reason) {\n if (success) {\n capability.resolve();\n } else {\n capability.reject(reason);\n }\n}\n\nfunction finalize(promise) {\n return Promise.resolve(promise)[\"catch\"](function () {});\n}\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\n this._onComObjOnMessage = function (event) {\n var data = event.data;\n\n if (data.targetName !== _this.sourceName) {\n return;\n }\n\n if (data.stream) {\n _this._processStreamMessage(data);\n } else if (data.isReply) {\n var callbackId = data.callbackId;\n\n if (data.callbackId in callbacksCapabilities) {\n var callback = callbacksCapabilities[callbackId];\n delete callbacksCapabilities[callbackId];\n\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 \".concat(callbackId));\n }\n } else if (data.action in ah) {\n var action = ah[data.action];\n\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 comObj.postMessage({\n sourceName: _sourceName,\n targetName: _targetName,\n isReply: true,\n callbackId: data.callbackId,\n error: makeReasonSerializable(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: \".concat(data.action));\n }\n };\n\n comObj.addEventListener('message', this._onComObjOnMessage);\n}\n\nMessageHandler.prototype = {\n on: function on(actionName, handler, scope) {\n var ah = this.actionHandler;\n\n if (ah[actionName]) {\n throw new Error(\"There is already an actionName called \\\"\".concat(actionName, \"\\\"\"));\n }\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 = (0, _util.createPromiseCapability)();\n this.callbacksCapabilities[callbackId] = capability;\n\n try {\n this.postMessage(message, transfers);\n } catch (e) {\n capability.reject(e);\n }\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 _util.ReadableStream({\n start: function start(controller) {\n var startCapability = (0, _util.createPromiseCapability)();\n _this2.streamControllers[streamId] = {\n controller: controller,\n startCall: startCapability,\n isClosed: false\n };\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\n return startCapability.promise;\n },\n pull: function pull(controller) {\n var pullCapability = (0, _util.createPromiseCapability)();\n _this2.streamControllers[streamId].pullCall = pullCapability;\n\n _this2.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: 'pull',\n streamId: streamId,\n desiredSize: controller.desiredSize\n });\n\n return pullCapability.promise;\n },\n cancel: function cancel(reason) {\n var cancelCapability = (0, _util.createPromiseCapability)();\n _this2.streamControllers[streamId].cancelCall = cancelCapability;\n _this2.streamControllers[streamId].isClosed = true;\n\n _this2.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: 'cancel',\n reason: reason,\n streamId: streamId\n });\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 = (0, _util.createPromiseCapability)();\n\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\n var streamSink = {\n enqueue: function enqueue(chunk) {\n var size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n var transfers = arguments.length > 2 ? arguments[2] : undefined;\n\n if (this.isCancelled) {\n return;\n }\n\n var lastDesiredSize = this.desiredSize;\n this.desiredSize -= size;\n\n if (lastDesiredSize > 0 && this.desiredSize <= 0) {\n this.sinkCapability = (0, _util.createPromiseCapability)();\n this.ready = this.sinkCapability.promise;\n }\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\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\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\n var sourceName = this.sourceName;\n var targetName = data.sourceName;\n var streamId = data.streamId;\n\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\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\n switch (data.stream) {\n case 'start_complete':\n resolveOrReject(this.streamControllers[data.streamId].startCall, data.success, wrapReason(data.reason));\n break;\n\n case 'pull_complete':\n resolveOrReject(this.streamControllers[data.streamId].pullCall, data.success, wrapReason(data.reason));\n break;\n\n case 'pull':\n if (!this.streamSinks[data.streamId]) {\n sendStreamResponse({\n stream: 'pull_complete',\n success: true\n });\n break;\n }\n\n if (this.streamSinks[data.streamId].desiredSize <= 0 && data.desiredSize > 0) {\n this.streamSinks[data.streamId].sinkCapability.resolve();\n }\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\n case 'enqueue':\n (0, _util.assert)(this.streamControllers[data.streamId], 'enqueue should have stream controller');\n\n if (!this.streamControllers[data.streamId].isClosed) {\n this.streamControllers[data.streamId].controller.enqueue(data.chunk);\n }\n\n break;\n\n case 'close':\n (0, _util.assert)(this.streamControllers[data.streamId], 'close should have stream controller');\n\n if (this.streamControllers[data.streamId].isClosed) {\n break;\n }\n\n this.streamControllers[data.streamId].isClosed = true;\n this.streamControllers[data.streamId].controller.close();\n deleteStreamController();\n break;\n\n case 'error':\n (0, _util.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\n case 'cancel_complete':\n resolveOrReject(this.streamControllers[data.streamId].cancelCall, data.success, wrapReason(data.reason));\n deleteStreamController();\n break;\n\n case 'cancel':\n if (!this.streamSinks[data.streamId]) {\n break;\n }\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\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\n/***/ }),\n/* 158 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Metadata = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _xml_parser = __w_pdfjs_require__(159);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar Metadata =\n/*#__PURE__*/\nfunction () {\n function Metadata(data) {\n _classCallCheck(this, Metadata);\n\n (0, _util.assert)(typeof data === 'string', 'Metadata: input is not a string');\n data = this._repair(data);\n var parser = new _xml_parser.SimpleXMLParser();\n var xmlDocument = parser.parseFromString(data);\n this._metadata = Object.create(null);\n\n if (xmlDocument) {\n this._parse(xmlDocument);\n }\n }\n\n _createClass(Metadata, [{\n key: \"_repair\",\n value: function _repair(data) {\n return data.replace(/^([^<]+)/, '').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 }).replace(/&(amp|apos|gt|lt|quot);/g, function (str, name) {\n switch (name) {\n case 'amp':\n return '&';\n\n case 'apos':\n return '\\'';\n\n case 'gt':\n return '>';\n\n case 'lt':\n return '<';\n\n case 'quot':\n return '\\\"';\n }\n\n throw new Error(\"_repair: \".concat(name, \" isn't defined.\"));\n });\n var chars = '';\n\n for (var i = 0, ii = bytes.length; i < ii; i += 2) {\n var code = bytes.charCodeAt(i) * 256 + bytes.charCodeAt(i + 1);\n\n if (code >= 32 && code < 127 && code !== 60 && code !== 62 && code !== 38) {\n chars += String.fromCharCode(code);\n } else {\n chars += '&#x' + (0x10000 + code).toString(16).substring(1) + ';';\n }\n }\n\n return '>' + chars;\n });\n }\n }, {\n key: \"_parse\",\n value: function _parse(xmlDocument) {\n var rdf = xmlDocument.documentElement;\n\n if (rdf.nodeName.toLowerCase() !== 'rdf:rdf') {\n rdf = rdf.firstChild;\n\n while (rdf && rdf.nodeName.toLowerCase() !== 'rdf:rdf') {\n rdf = rdf.nextSibling;\n }\n }\n\n var nodeName = rdf ? rdf.nodeName.toLowerCase() : null;\n\n if (!rdf || nodeName !== 'rdf:rdf' || !rdf.hasChildNodes()) {\n return;\n }\n\n var children = rdf.childNodes;\n\n for (var i = 0, ii = children.length; i < ii; i++) {\n var desc = children[i];\n\n if (desc.nodeName.toLowerCase() !== 'rdf:description') {\n continue;\n }\n\n for (var j = 0, jj = desc.childNodes.length; j < jj; j++) {\n if (desc.childNodes[j].nodeName.toLowerCase() !== '#text') {\n var entry = desc.childNodes[j];\n var name = entry.nodeName.toLowerCase();\n this._metadata[name] = entry.textContent.trim();\n }\n }\n }\n }\n }, {\n key: \"get\",\n value: function get(name) {\n var data = this._metadata[name];\n return typeof data !== 'undefined' ? data : null;\n }\n }, {\n key: \"getAll\",\n value: function getAll() {\n return this._metadata;\n }\n }, {\n key: \"has\",\n value: function has(name) {\n return typeof this._metadata[name] !== 'undefined';\n }\n }]);\n\n return Metadata;\n}();\n\nexports.Metadata = Metadata;\n\n/***/ }),\n/* 159 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SimpleXMLParser = void 0;\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _get(target, property, receiver) { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }\n\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar XMLParserErrorCode = {\n NoError: 0,\n EndOfDocument: -1,\n UnterminatedCdat: -2,\n UnterminatedXmlDeclaration: -3,\n UnterminatedDoctypeDeclaration: -4,\n UnterminatedComment: -5,\n MalformedElement: -6,\n OutOfMemory: -7,\n UnterminatedAttributeValue: -8,\n UnterminatedElement: -9,\n ElementNeverBegun: -10\n};\n\nfunction isWhitespace(s, index) {\n var ch = s[index];\n return ch === ' ' || ch === '\\n' || ch === '\\r' || ch === '\\t';\n}\n\nfunction isWhitespaceString(s) {\n for (var i = 0, ii = s.length; i < ii; i++) {\n if (!isWhitespace(s, i)) {\n return false;\n }\n }\n\n return true;\n}\n\nvar XMLParserBase =\n/*#__PURE__*/\nfunction () {\n function XMLParserBase() {\n _classCallCheck(this, XMLParserBase);\n }\n\n _createClass(XMLParserBase, [{\n key: \"_resolveEntities\",\n value: function _resolveEntities(s) {\n var _this = this;\n\n return s.replace(/&([^;]+);/g, function (all, entity) {\n if (entity.substring(0, 2) === '#x') {\n return String.fromCharCode(parseInt(entity.substring(2), 16));\n } else if (entity.substring(0, 1) === '#') {\n return String.fromCharCode(parseInt(entity.substring(1), 10));\n }\n\n switch (entity) {\n case 'lt':\n return '<';\n\n case 'gt':\n return '>';\n\n case 'amp':\n return '&';\n\n case 'quot':\n return '\\\"';\n }\n\n return _this.onResolveEntity(entity);\n });\n }\n }, {\n key: \"_parseContent\",\n value: function _parseContent(s, start) {\n var pos = start,\n name,\n attributes = [];\n\n function skipWs() {\n while (pos < s.length && isWhitespace(s, pos)) {\n ++pos;\n }\n }\n\n while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== '>' && s[pos] !== '/') {\n ++pos;\n }\n\n name = s.substring(start, pos);\n skipWs();\n\n while (pos < s.length && s[pos] !== '>' && s[pos] !== '/' && s[pos] !== '?') {\n skipWs();\n var attrName = '',\n attrValue = '';\n\n while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== '=') {\n attrName += s[pos];\n ++pos;\n }\n\n skipWs();\n\n if (s[pos] !== '=') {\n return null;\n }\n\n ++pos;\n skipWs();\n var attrEndChar = s[pos];\n\n if (attrEndChar !== '\\\"' && attrEndChar !== '\\'') {\n return null;\n }\n\n var attrEndIndex = s.indexOf(attrEndChar, ++pos);\n\n if (attrEndIndex < 0) {\n return null;\n }\n\n attrValue = s.substring(pos, attrEndIndex);\n attributes.push({\n name: attrName,\n value: this._resolveEntities(attrValue)\n });\n pos = attrEndIndex + 1;\n skipWs();\n }\n\n return {\n name: name,\n attributes: attributes,\n parsed: pos - start\n };\n }\n }, {\n key: \"_parseProcessingInstruction\",\n value: function _parseProcessingInstruction(s, start) {\n var pos = start,\n name,\n value;\n\n function skipWs() {\n while (pos < s.length && isWhitespace(s, pos)) {\n ++pos;\n }\n }\n\n while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== '>' && s[pos] !== '/') {\n ++pos;\n }\n\n name = s.substring(start, pos);\n skipWs();\n var attrStart = pos;\n\n while (pos < s.length && (s[pos] !== '?' || s[pos + 1] !== '>')) {\n ++pos;\n }\n\n value = s.substring(attrStart, pos);\n return {\n name: name,\n value: value,\n parsed: pos - start\n };\n }\n }, {\n key: \"parseXml\",\n value: function parseXml(s) {\n var i = 0;\n\n while (i < s.length) {\n var ch = s[i];\n var j = i;\n\n if (ch === '<') {\n ++j;\n var ch2 = s[j];\n var q = void 0;\n\n switch (ch2) {\n case '/':\n ++j;\n q = s.indexOf('>', j);\n\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedElement);\n return;\n }\n\n this.onEndElement(s.substring(j, q));\n j = q + 1;\n break;\n\n case '?':\n ++j;\n\n var pi = this._parseProcessingInstruction(s, j);\n\n if (s.substring(j + pi.parsed, j + pi.parsed + 2) !== '?>') {\n this.onError(XMLParserErrorCode.UnterminatedXmlDeclaration);\n return;\n }\n\n this.onPi(pi.name, pi.value);\n j += pi.parsed + 2;\n break;\n\n case '!':\n if (s.substring(j + 1, j + 3) === '--') {\n q = s.indexOf('-->', j + 3);\n\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedComment);\n return;\n }\n\n this.onComment(s.substring(j + 3, q));\n j = q + 3;\n } else if (s.substring(j + 1, j + 8) === '[CDATA[') {\n q = s.indexOf(']]>', j + 8);\n\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedCdat);\n return;\n }\n\n this.onCdata(s.substring(j + 8, q));\n j = q + 3;\n } else if (s.substring(j + 1, j + 8) === 'DOCTYPE') {\n var q2 = s.indexOf('[', j + 8);\n var complexDoctype = false;\n q = s.indexOf('>', j + 8);\n\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedDoctypeDeclaration);\n return;\n }\n\n if (q2 > 0 && q > q2) {\n q = s.indexOf(']>', j + 8);\n\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedDoctypeDeclaration);\n return;\n }\n\n complexDoctype = true;\n }\n\n var doctypeContent = s.substring(j + 8, q + (complexDoctype ? 1 : 0));\n this.onDoctype(doctypeContent);\n j = q + (complexDoctype ? 2 : 1);\n } else {\n this.onError(XMLParserErrorCode.MalformedElement);\n return;\n }\n\n break;\n\n default:\n var content = this._parseContent(s, j);\n\n if (content === null) {\n this.onError(XMLParserErrorCode.MalformedElement);\n return;\n }\n\n var isClosed = false;\n\n if (s.substring(j + content.parsed, j + content.parsed + 2) === '/>') {\n isClosed = true;\n } else if (s.substring(j + content.parsed, j + content.parsed + 1) !== '>') {\n this.onError(XMLParserErrorCode.UnterminatedElement);\n return;\n }\n\n this.onBeginElement(content.name, content.attributes, isClosed);\n j += content.parsed + (isClosed ? 2 : 1);\n break;\n }\n } else {\n while (j < s.length && s[j] !== '<') {\n j++;\n }\n\n var text = s.substring(i, j);\n this.onText(this._resolveEntities(text));\n }\n\n i = j;\n }\n }\n }, {\n key: \"onResolveEntity\",\n value: function onResolveEntity(name) {\n return \"&\".concat(name, \";\");\n }\n }, {\n key: \"onPi\",\n value: function onPi(name, value) {}\n }, {\n key: \"onComment\",\n value: function onComment(text) {}\n }, {\n key: \"onCdata\",\n value: function onCdata(text) {}\n }, {\n key: \"onDoctype\",\n value: function onDoctype(doctypeContent) {}\n }, {\n key: \"onText\",\n value: function onText(text) {}\n }, {\n key: \"onBeginElement\",\n value: function onBeginElement(name, attributes, isEmpty) {}\n }, {\n key: \"onEndElement\",\n value: function onEndElement(name) {}\n }, {\n key: \"onError\",\n value: function onError(code) {}\n }]);\n\n return XMLParserBase;\n}();\n\nvar SimpleDOMNode =\n/*#__PURE__*/\nfunction () {\n function SimpleDOMNode(nodeName, nodeValue) {\n _classCallCheck(this, SimpleDOMNode);\n\n this.nodeName = nodeName;\n this.nodeValue = nodeValue;\n Object.defineProperty(this, 'parentNode', {\n value: null,\n writable: true\n });\n }\n\n _createClass(SimpleDOMNode, [{\n key: \"hasChildNodes\",\n value: function hasChildNodes() {\n return this.childNodes && this.childNodes.length > 0;\n }\n }, {\n key: \"firstChild\",\n get: function get() {\n return this.childNodes && this.childNodes[0];\n }\n }, {\n key: \"nextSibling\",\n get: function get() {\n var childNodes = this.parentNode.childNodes;\n\n if (!childNodes) {\n return undefined;\n }\n\n var index = childNodes.indexOf(this);\n\n if (index === -1) {\n return undefined;\n }\n\n return childNodes[index + 1];\n }\n }, {\n key: \"textContent\",\n get: function get() {\n if (!this.childNodes) {\n return this.nodeValue || '';\n }\n\n return this.childNodes.map(function (child) {\n return child.textContent;\n }).join('');\n }\n }]);\n\n return SimpleDOMNode;\n}();\n\nvar SimpleXMLParser =\n/*#__PURE__*/\nfunction (_XMLParserBase) {\n _inherits(SimpleXMLParser, _XMLParserBase);\n\n function SimpleXMLParser() {\n var _this2;\n\n _classCallCheck(this, SimpleXMLParser);\n\n _this2 = _possibleConstructorReturn(this, _getPrototypeOf(SimpleXMLParser).call(this));\n _this2._currentFragment = null;\n _this2._stack = null;\n _this2._errorCode = XMLParserErrorCode.NoError;\n return _this2;\n }\n\n _createClass(SimpleXMLParser, [{\n key: \"parseFromString\",\n value: function parseFromString(data) {\n this._currentFragment = [];\n this._stack = [];\n this._errorCode = XMLParserErrorCode.NoError;\n this.parseXml(data);\n\n if (this._errorCode !== XMLParserErrorCode.NoError) {\n return undefined;\n }\n\n var _this$_currentFragmen = _slicedToArray(this._currentFragment, 1),\n documentElement = _this$_currentFragmen[0];\n\n if (!documentElement) {\n return undefined;\n }\n\n return {\n documentElement: documentElement\n };\n }\n }, {\n key: \"onResolveEntity\",\n value: function onResolveEntity(name) {\n switch (name) {\n case 'apos':\n return '\\'';\n }\n\n return _get(_getPrototypeOf(SimpleXMLParser.prototype), \"onResolveEntity\", this).call(this, name);\n }\n }, {\n key: \"onText\",\n value: function onText(text) {\n if (isWhitespaceString(text)) {\n return;\n }\n\n var node = new SimpleDOMNode('#text', text);\n\n this._currentFragment.push(node);\n }\n }, {\n key: \"onCdata\",\n value: function onCdata(text) {\n var node = new SimpleDOMNode('#text', text);\n\n this._currentFragment.push(node);\n }\n }, {\n key: \"onBeginElement\",\n value: function onBeginElement(name, attributes, isEmpty) {\n var node = new SimpleDOMNode(name);\n node.childNodes = [];\n\n this._currentFragment.push(node);\n\n if (isEmpty) {\n return;\n }\n\n this._stack.push(this._currentFragment);\n\n this._currentFragment = node.childNodes;\n }\n }, {\n key: \"onEndElement\",\n value: function onEndElement(name) {\n this._currentFragment = this._stack.pop() || [];\n var lastElement = this._currentFragment[this._currentFragment.length - 1];\n\n if (!lastElement) {\n return;\n }\n\n for (var i = 0, ii = lastElement.childNodes.length; i < ii; i++) {\n lastElement.childNodes[i].parentNode = lastElement;\n }\n }\n }, {\n key: \"onError\",\n value: function onError(code) {\n this._errorCode = code;\n }\n }]);\n\n return SimpleXMLParser;\n}(XMLParserBase);\n\nexports.SimpleXMLParser = SimpleXMLParser;\n\n/***/ }),\n/* 160 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFDataTransportStream = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(148));\n\nvar _util = __w_pdfjs_require__(1);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar PDFDataTransportStream =\n/*#__PURE__*/\nfunction () {\n function PDFDataTransportStream(params, pdfDataRangeTransport) {\n var _this = this;\n\n _classCallCheck(this, PDFDataTransportStream);\n\n (0, _util.assert)(pdfDataRangeTransport);\n this._queuedChunks = [];\n this._progressiveDone = params.progressiveDone || false;\n var initialData = params.initialData;\n\n if (initialData && initialData.length > 0) {\n var buffer = new Uint8Array(initialData).buffer;\n\n this._queuedChunks.push(buffer);\n }\n\n this._pdfDataRangeTransport = pdfDataRangeTransport;\n this._isStreamingSupported = !params.disableStream;\n this._isRangeSupported = !params.disableRange;\n this._contentLength = params.length;\n this._fullRequestReader = null;\n this._rangeReaders = [];\n\n this._pdfDataRangeTransport.addRangeListener(function (begin, chunk) {\n _this._onReceiveData({\n begin: begin,\n chunk: chunk\n });\n });\n\n this._pdfDataRangeTransport.addProgressListener(function (loaded, total) {\n _this._onProgress({\n loaded: loaded,\n total: total\n });\n });\n\n this._pdfDataRangeTransport.addProgressiveReadListener(function (chunk) {\n _this._onReceiveData({\n chunk: chunk\n });\n });\n\n this._pdfDataRangeTransport.addProgressiveDoneListener(function () {\n _this._onProgressiveDone();\n });\n\n this._pdfDataRangeTransport.transportReady();\n }\n\n _createClass(PDFDataTransportStream, [{\n key: \"_onReceiveData\",\n value: function _onReceiveData(args) {\n var buffer = new Uint8Array(args.chunk).buffer;\n\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\n rangeReader._enqueue(buffer);\n\n return true;\n });\n\n (0, _util.assert)(found);\n }\n }\n }, {\n key: \"_onProgress\",\n value: function _onProgress(evt) {\n if (evt.total === undefined) {\n var firstReader = this._rangeReaders[0];\n\n if (firstReader && firstReader.onProgress) {\n firstReader.onProgress({\n loaded: evt.loaded\n });\n }\n } else {\n var fullReader = this._fullRequestReader;\n\n if (fullReader && fullReader.onProgress) {\n fullReader.onProgress({\n loaded: evt.loaded,\n total: evt.total\n });\n }\n }\n }\n }, {\n key: \"_onProgressiveDone\",\n value: function _onProgressiveDone() {\n if (this._fullRequestReader) {\n this._fullRequestReader.progressiveDone();\n }\n\n this._progressiveDone = true;\n }\n }, {\n key: \"_removeRangeReader\",\n value: function _removeRangeReader(reader) {\n var i = this._rangeReaders.indexOf(reader);\n\n if (i >= 0) {\n this._rangeReaders.splice(i, 1);\n }\n }\n }, {\n key: \"getFullReader\",\n value: function getFullReader() {\n (0, _util.assert)(!this._fullRequestReader);\n var queuedChunks = this._queuedChunks;\n this._queuedChunks = null;\n return new PDFDataTransportStreamReader(this, queuedChunks, this._progressiveDone);\n }\n }, {\n key: \"getRangeReader\",\n value: function getRangeReader(begin, end) {\n if (end <= this._progressiveDataLength) {\n return null;\n }\n\n var reader = new PDFDataTransportStreamRangeReader(this, begin, end);\n\n this._pdfDataRangeTransport.requestDataRange(begin, end);\n\n this._rangeReaders.push(reader);\n\n return reader;\n }\n }, {\n key: \"cancelAllRequests\",\n value: function cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n\n var readers = this._rangeReaders.slice(0);\n\n readers.forEach(function (rangeReader) {\n rangeReader.cancel(reason);\n });\n\n this._pdfDataRangeTransport.abort();\n }\n }, {\n key: \"_progressiveDataLength\",\n get: function get() {\n return this._fullRequestReader ? this._fullRequestReader._loaded : 0;\n }\n }]);\n\n return PDFDataTransportStream;\n}();\n\nexports.PDFDataTransportStream = PDFDataTransportStream;\n\nvar PDFDataTransportStreamReader =\n/*#__PURE__*/\nfunction () {\n function PDFDataTransportStreamReader(stream, queuedChunks) {\n var progressiveDone = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n _classCallCheck(this, PDFDataTransportStreamReader);\n\n this._stream = stream;\n this._done = progressiveDone || false;\n this._filename = null;\n this._queuedChunks = queuedChunks || [];\n this._loaded = 0;\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = this._queuedChunks[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var chunk = _step.value;\n this._loaded += chunk.byteLength;\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator[\"return\"] != null) {\n _iterator[\"return\"]();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n this._requests = [];\n this._headersReady = Promise.resolve();\n stream._fullRequestReader = this;\n this.onProgress = null;\n }\n\n _createClass(PDFDataTransportStreamReader, [{\n key: \"_enqueue\",\n value: function _enqueue(chunk) {\n if (this._done) {\n return;\n }\n\n if (this._requests.length > 0) {\n var requestCapability = this._requests.shift();\n\n requestCapability.resolve({\n value: chunk,\n done: false\n });\n } else {\n this._queuedChunks.push(chunk);\n }\n\n this._loaded += chunk.byteLength;\n }\n }, {\n key: \"read\",\n value: function () {\n var _read = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee() {\n var chunk, requestCapability;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (!(this._queuedChunks.length > 0)) {\n _context.next = 3;\n break;\n }\n\n chunk = this._queuedChunks.shift();\n return _context.abrupt(\"return\", {\n value: chunk,\n done: false\n });\n\n case 3:\n if (!this._done) {\n _context.next = 5;\n break;\n }\n\n return _context.abrupt(\"return\", {\n value: undefined,\n done: true\n });\n\n case 5:\n requestCapability = (0, _util.createPromiseCapability)();\n\n this._requests.push(requestCapability);\n\n return _context.abrupt(\"return\", requestCapability.promise);\n\n case 8:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function read() {\n return _read.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n this._done = true;\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n }\n }, {\n key: \"progressiveDone\",\n value: function progressiveDone() {\n if (this._done) {\n return;\n }\n\n this._done = true;\n }\n }, {\n key: \"headersReady\",\n get: function get() {\n return this._headersReady;\n }\n }, {\n key: \"filename\",\n get: function get() {\n return this._filename;\n }\n }, {\n key: \"isRangeSupported\",\n get: function get() {\n return this._stream._isRangeSupported;\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return this._stream._isStreamingSupported;\n }\n }, {\n key: \"contentLength\",\n get: function get() {\n return this._stream._contentLength;\n }\n }]);\n\n return PDFDataTransportStreamReader;\n}();\n\nvar PDFDataTransportStreamRangeReader =\n/*#__PURE__*/\nfunction () {\n function PDFDataTransportStreamRangeReader(stream, begin, end) {\n _classCallCheck(this, PDFDataTransportStreamRangeReader);\n\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\n _createClass(PDFDataTransportStreamRangeReader, [{\n key: \"_enqueue\",\n value: function _enqueue(chunk) {\n if (this._done) {\n return;\n }\n\n if (this._requests.length === 0) {\n this._queuedChunk = chunk;\n } else {\n var requestsCapability = this._requests.shift();\n\n requestsCapability.resolve({\n value: chunk,\n done: false\n });\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n }\n\n this._done = true;\n\n this._stream._removeRangeReader(this);\n }\n }, {\n key: \"read\",\n value: function () {\n var _read2 = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee2() {\n var chunk, requestCapability;\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n if (!this._queuedChunk) {\n _context2.next = 4;\n break;\n }\n\n chunk = this._queuedChunk;\n this._queuedChunk = null;\n return _context2.abrupt(\"return\", {\n value: chunk,\n done: false\n });\n\n case 4:\n if (!this._done) {\n _context2.next = 6;\n break;\n }\n\n return _context2.abrupt(\"return\", {\n value: undefined,\n done: true\n });\n\n case 6:\n requestCapability = (0, _util.createPromiseCapability)();\n\n this._requests.push(requestCapability);\n\n return _context2.abrupt(\"return\", requestCapability.promise);\n\n case 9:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function read() {\n return _read2.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n this._done = true;\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n\n this._stream._removeRangeReader(this);\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return false;\n }\n }]);\n\n return PDFDataTransportStreamRangeReader;\n}();\n\n/***/ }),\n/* 161 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.WebGLContext = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar WebGLContext =\n/*#__PURE__*/\nfunction () {\n function WebGLContext(_ref) {\n var _ref$enable = _ref.enable,\n enable = _ref$enable === void 0 ? false : _ref$enable;\n\n _classCallCheck(this, WebGLContext);\n\n this._enabled = enable === true;\n }\n\n _createClass(WebGLContext, [{\n key: \"composeSMask\",\n value: function composeSMask(_ref2) {\n var layer = _ref2.layer,\n mask = _ref2.mask,\n properties = _ref2.properties;\n return WebGLUtils.composeSMask(layer, mask, properties);\n }\n }, {\n key: \"drawFigures\",\n value: function drawFigures(_ref3) {\n var width = _ref3.width,\n height = _ref3.height,\n backgroundColor = _ref3.backgroundColor,\n figures = _ref3.figures,\n context = _ref3.context;\n return WebGLUtils.drawFigures(width, height, backgroundColor, figures, context);\n }\n }, {\n key: \"clear\",\n value: function clear() {\n WebGLUtils.cleanup();\n }\n }, {\n key: \"isEnabled\",\n get: function get() {\n var enabled = this._enabled;\n\n if (enabled) {\n enabled = WebGLUtils.tryInitGL();\n }\n\n return (0, _util.shadow)(this, 'isEnabled', enabled);\n }\n }]);\n\n return WebGLContext;\n}();\n\nexports.WebGLContext = WebGLContext;\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\n if (!compiled) {\n var errorMsg = gl.getShaderInfoLog(shader);\n throw new Error('Error during shader compilation: ' + errorMsg);\n }\n\n return shader;\n }\n\n function createVertexShader(gl, code) {\n return loadShader(gl, code, gl.VERTEX_SHADER);\n }\n\n function createFragmentShader(gl, code) {\n return loadShader(gl, code, gl.FRAGMENT_SHADER);\n }\n\n function createProgram(gl, shaders) {\n var program = gl.createProgram();\n\n for (var i = 0, ii = shaders.length; i < ii; ++i) {\n gl.attachShader(program, shaders[i]);\n }\n\n gl.linkProgram(program);\n var linked = gl.getProgramParameter(program, gl.LINK_STATUS);\n\n if (!linked) {\n var errorMsg = gl.getProgramInfoLog(program);\n throw new Error('Error during program linking: ' + errorMsg);\n }\n\n return program;\n }\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\n var currentGL, currentCanvas;\n\n function generateGL() {\n if (currentGL) {\n return;\n }\n\n currentCanvas = document.createElement('canvas');\n currentGL = currentCanvas.getContext('webgl', {\n premultipliedalpha: false\n });\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\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\n function composeSMask(layer, mask, properties) {\n var width = layer.width,\n height = layer.height;\n\n if (!smaskCache) {\n initSmaskGL();\n }\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\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\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\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\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\n function drawFigures(width, height, backgroundColor, figures, context) {\n if (!figuresCache) {\n initFiguresGL();\n }\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\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\n case 'triangles':\n count += figures[i].coords.length;\n break;\n }\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\n for (i = 0, ii = figures.length; i < ii; i++) {\n var figure = figures[i],\n ps = figure.coords,\n cs = figure.colors;\n\n switch (figure.type) {\n case 'lattice':\n var cols = figure.verticesPerRow;\n rows = ps.length / cols | 0;\n\n for (var row = 1; row < rows; row++) {\n var offset = row * cols + 1;\n\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\n break;\n\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\n break;\n }\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\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\n return {\n tryInitGL: function tryInitGL() {\n try {\n generateGL();\n return !!currentGL;\n } catch (ex) {}\n\n return false;\n },\n composeSMask: composeSMask,\n drawFigures: drawFigures,\n cleanup: function cleanup() {\n if (smaskCache && smaskCache.canvas) {\n smaskCache.canvas.width = 0;\n smaskCache.canvas.height = 0;\n }\n\n if (figuresCache && figuresCache.canvas) {\n figuresCache.canvas.width = 0;\n figuresCache.canvas.height = 0;\n }\n\n smaskCache = null;\n figuresCache = null;\n }\n };\n}();\n\n/***/ }),\n/* 162 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.renderTextLayer = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _global_scope = _interopRequireDefault(__w_pdfjs_require__(3));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar renderTextLayer = function renderTextLayerClosure() {\n var MAX_TEXT_DIVS_TO_RENDER = 100000;\n var NonWhitespaceRegexp = /\\S/;\n\n function isAllWhitespace(str) {\n return !NonWhitespaceRegexp.test(str);\n }\n\n var styleBuf = ['left: ', 0, 'px; top: ', 0, 'px; font-size: ', 0, 'px; font-family: ', '', ';'];\n\n function appendText(task, geom, styles) {\n var textDiv = document.createElement('span');\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\n task._textDivs.push(textDiv);\n\n if (isAllWhitespace(geom.str)) {\n textDivProperties.isWhitespace = true;\n\n task._textDivProperties.set(textDiv, textDivProperties);\n\n return;\n }\n\n var tx = _util.Util.transform(task._viewport.transform, geom.transform);\n\n var angle = Math.atan2(tx[1], tx[0]);\n var style = styles[geom.fontName];\n\n if (style.vertical) {\n angle += Math.PI / 2;\n }\n\n var fontHeight = Math.sqrt(tx[2] * tx[2] + tx[3] * tx[3]);\n var fontAscent = fontHeight;\n\n if (style.ascent) {\n fontAscent = style.ascent * fontAscent;\n } else if (style.descent) {\n fontAscent = (1 + style.descent) * fontAscent;\n }\n\n var left;\n var top;\n\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\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\n if (task._fontInspectorEnabled) {\n textDiv.dataset.fontName = geom.fontName;\n }\n\n if (angle !== 0) {\n textDivProperties.angle = angle * (180 / Math.PI);\n }\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\n task._textDivProperties.set(textDiv, textDivProperties);\n\n if (task._textContentStream) {\n task._layoutText(textDiv);\n }\n\n if (task._enhanceTextSelection) {\n var angleCos = 1,\n angleSin = 0;\n\n if (angle !== 0) {\n angleCos = Math.cos(angle);\n angleSin = Math.sin(angle);\n }\n\n var divWidth = (style.vertical ? geom.height : geom.width) * task._viewport.scale;\n var divHeight = fontHeight;\n var m, b;\n\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\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\n function render(task) {\n if (task._canceled) {\n return;\n }\n\n var textDivs = task._textDivs;\n var capability = task._capability;\n var textDivsLength = textDivs.length;\n\n if (textDivsLength > MAX_TEXT_DIVS_TO_RENDER) {\n task._renderingDone = true;\n capability.resolve();\n return;\n }\n\n if (!task._textContentStream) {\n for (var i = 0; i < textDivsLength; i++) {\n task._layoutText(textDivs[i]);\n }\n }\n\n task._renderingDone = true;\n capability.resolve();\n }\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\n for (var i = 0; i < expanded.length; i++) {\n var div = bounds[i].div;\n\n var divProperties = task._textDivProperties.get(div);\n\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\n task._textDivProperties.set(div, divProperties);\n\n continue;\n }\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\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\n var findPositiveMin = function findPositiveMin(ts, offset, count) {\n var result = 0;\n\n for (var i = 0; i < count; i++) {\n var t = ts[offset++];\n\n if (t > 0) {\n result = result ? Math.min(t, result) : t;\n }\n }\n\n return result;\n };\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\n task._textDivProperties.set(div, divProperties);\n }\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\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\n while (i < horizon.length && horizon[i].end <= boundary.y1) {\n i++;\n }\n\n var j = horizon.length - 1;\n\n while (j >= 0 && horizon[j].start >= boundary.y2) {\n j--;\n }\n\n var horizonPart, affectedBoundary;\n var q,\n k,\n maxXNew = -Infinity;\n\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n var xNew;\n\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\n if (xNew > maxXNew) {\n maxXNew = xNew;\n }\n }\n\n boundary.x1New = maxXNew;\n\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n\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\n var changedHorizon = [],\n lastBoundary = null;\n\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\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\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\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\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n\n if (affectedBoundary.x2New !== undefined) {\n continue;\n }\n\n var used = false;\n\n for (k = i - 1; !used && k >= 0 && horizon[k].start >= affectedBoundary.y1; k--) {\n used = horizon[k].boundary === affectedBoundary;\n }\n\n for (k = j + 1; !used && k < horizon.length && horizon[k].end <= affectedBoundary.y2; k++) {\n used = horizon[k].boundary === affectedBoundary;\n }\n\n for (k = 0; !used && k < changedHorizon.length; k++) {\n used = changedHorizon[k].boundary === affectedBoundary;\n }\n\n if (!used) {\n affectedBoundary.x2New = maxXNew;\n }\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\n if (affectedBoundary.x2New === undefined) {\n affectedBoundary.x2New = Math.max(width, affectedBoundary.x2);\n }\n });\n }\n\n function TextLayerRenderTask(_ref) {\n var _this = this;\n\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._fontInspectorEnabled = !!(_global_scope[\"default\"].FontInspector && _global_scope[\"default\"].FontInspector.enabled);\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 this._capability.promise[\"finally\"](function () {\n if (_this._layoutTextCtx) {\n _this._layoutTextCtx.canvas.width = 0;\n _this._layoutTextCtx.canvas.height = 0;\n _this._layoutTextCtx = null;\n }\n });\n }\n\n TextLayerRenderTask.prototype = {\n get promise() {\n return this._capability.promise;\n },\n\n cancel: function TextLayer_cancel() {\n this._canceled = true;\n\n if (this._reader) {\n this._reader.cancel(new _util.AbortException('TextLayer task cancelled.'));\n\n this._reader = null;\n }\n\n if (this._renderTimer !== null) {\n clearTimeout(this._renderTimer);\n this._renderTimer = null;\n }\n\n this._capability.reject(new Error('TextLayer task cancelled.'));\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\n appendText(this, items[i], styleCache);\n }\n },\n _layoutText: function _layoutText(textDiv) {\n var textLayerFrag = this._container;\n\n var textDivProperties = this._textDivProperties.get(textDiv);\n\n if (textDivProperties.isWhitespace) {\n return;\n }\n\n var fontSize = textDiv.style.fontSize;\n var fontFamily = textDiv.style.fontFamily;\n\n if (fontSize !== this._layoutTextLastFontSize || fontFamily !== this._layoutTextLastFontFamily) {\n this._layoutTextCtx.font = fontSize + ' ' + fontFamily;\n this._layoutTextLastFontSize = fontSize;\n this._layoutTextLastFontFamily = fontFamily;\n }\n\n var width = this._layoutTextCtx.measureText(textDiv.textContent).width;\n\n var transform = '';\n\n if (textDivProperties.canvasWidth !== 0 && width > 0) {\n textDivProperties.scale = textDivProperties.canvasWidth / width;\n transform = \"scaleX(\".concat(textDivProperties.scale, \")\");\n }\n\n if (textDivProperties.angle !== 0) {\n transform = \"rotate(\".concat(textDivProperties.angle, \"deg) \").concat(transform);\n }\n\n if (transform.length > 0) {\n textDivProperties.originalTransform = transform;\n textDiv.style.transform = transform;\n }\n\n this._textDivProperties.set(textDiv, textDivProperties);\n\n textLayerFrag.appendChild(textDiv);\n },\n _render: function TextLayer_render(timeout) {\n var _this2 = 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', {\n alpha: false\n });\n\n if (this._textContent) {\n var textItems = this._textContent.items;\n var textStyles = this._textContent.styles;\n\n this._processItems(textItems, textStyles);\n\n capability.resolve();\n } else if (this._textContentStream) {\n var pump = function pump() {\n _this2._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\n Object.assign(styleCache, value.styles);\n\n _this2._processItems(value.items, styleCache);\n\n pump();\n }, capability.reject);\n };\n\n this._reader = this._textContentStream.getReader();\n pump();\n } else {\n throw new Error('Neither \"textContent\" nor \"textContentStream\"' + ' parameters specified.');\n }\n\n capability.promise.then(function () {\n styleCache = null;\n\n if (!timeout) {\n render(_this2);\n } else {\n _this2._renderTimer = setTimeout(function () {\n render(_this2);\n _this2._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\n if (this._bounds !== null) {\n expand(this);\n this._bounds = null;\n }\n\n for (var i = 0, ii = this._textDivs.length; i < ii; i++) {\n var div = this._textDivs[i];\n\n var divProperties = this._textDivProperties.get(div);\n\n if (divProperties.isWhitespace) {\n continue;\n }\n\n if (expandDivs) {\n var transform = '',\n padding = '';\n\n if (divProperties.scale !== 1) {\n transform = 'scaleX(' + divProperties.scale + ')';\n }\n\n if (divProperties.angle !== 0) {\n transform = 'rotate(' + divProperties.angle + 'deg) ' + transform;\n }\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\n if (divProperties.paddingTop !== 0) {\n padding += ' padding-top: ' + divProperties.paddingTop + 'px;';\n transform += ' translateY(' + -divProperties.paddingTop + 'px)';\n }\n\n if (divProperties.paddingRight !== 0) {\n padding += ' padding-right: ' + divProperties.paddingRight / divProperties.scale + 'px;';\n }\n\n if (divProperties.paddingBottom !== 0) {\n padding += ' padding-bottom: ' + divProperties.paddingBottom + 'px;';\n }\n\n if (padding !== '') {\n div.setAttribute('style', divProperties.style + padding);\n }\n\n if (transform !== '') {\n div.style.transform = transform;\n }\n } else {\n div.style.padding = 0;\n div.style.transform = divProperties.originalTransform || '';\n }\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\n task._render(renderParameters.timeout);\n\n return task;\n }\n\n return renderTextLayer;\n}();\n\nexports.renderTextLayer = renderTextLayer;\n\n/***/ }),\n/* 163 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.AnnotationLayer = void 0;\n\nvar _display_utils = __w_pdfjs_require__(151);\n\nvar _util = __w_pdfjs_require__(1);\n\nfunction _get(target, property, receiver) { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }\n\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar AnnotationElementFactory =\n/*#__PURE__*/\nfunction () {\n function AnnotationElementFactory() {\n _classCallCheck(this, AnnotationElementFactory);\n }\n\n _createClass(AnnotationElementFactory, null, [{\n key: \"create\",\n value: function create(parameters) {\n var subtype = parameters.data.annotationType;\n\n switch (subtype) {\n case _util.AnnotationType.LINK:\n return new LinkAnnotationElement(parameters);\n\n case _util.AnnotationType.TEXT:\n return new TextAnnotationElement(parameters);\n\n case _util.AnnotationType.WIDGET:\n var fieldType = parameters.data.fieldType;\n\n switch (fieldType) {\n case 'Tx':\n return new TextWidgetAnnotationElement(parameters);\n\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\n return new PushButtonWidgetAnnotationElement(parameters);\n\n case 'Ch':\n return new ChoiceWidgetAnnotationElement(parameters);\n }\n\n return new WidgetAnnotationElement(parameters);\n\n case _util.AnnotationType.POPUP:\n return new PopupAnnotationElement(parameters);\n\n case _util.AnnotationType.FREETEXT:\n return new FreeTextAnnotationElement(parameters);\n\n case _util.AnnotationType.LINE:\n return new LineAnnotationElement(parameters);\n\n case _util.AnnotationType.SQUARE:\n return new SquareAnnotationElement(parameters);\n\n case _util.AnnotationType.CIRCLE:\n return new CircleAnnotationElement(parameters);\n\n case _util.AnnotationType.POLYLINE:\n return new PolylineAnnotationElement(parameters);\n\n case _util.AnnotationType.CARET:\n return new CaretAnnotationElement(parameters);\n\n case _util.AnnotationType.INK:\n return new InkAnnotationElement(parameters);\n\n case _util.AnnotationType.POLYGON:\n return new PolygonAnnotationElement(parameters);\n\n case _util.AnnotationType.HIGHLIGHT:\n return new HighlightAnnotationElement(parameters);\n\n case _util.AnnotationType.UNDERLINE:\n return new UnderlineAnnotationElement(parameters);\n\n case _util.AnnotationType.SQUIGGLY:\n return new SquigglyAnnotationElement(parameters);\n\n case _util.AnnotationType.STRIKEOUT:\n return new StrikeOutAnnotationElement(parameters);\n\n case _util.AnnotationType.STAMP:\n return new StampAnnotationElement(parameters);\n\n case _util.AnnotationType.FILEATTACHMENT:\n return new FileAttachmentAnnotationElement(parameters);\n\n default:\n return new AnnotationElement(parameters);\n }\n }\n }]);\n\n return AnnotationElementFactory;\n}();\n\nvar AnnotationElement =\n/*#__PURE__*/\nfunction () {\n function AnnotationElement(parameters) {\n var isRenderable = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var ignoreBorder = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n _classCallCheck(this, AnnotationElement);\n\n this.isRenderable = isRenderable;\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 this.svgFactory = parameters.svgFactory;\n\n if (isRenderable) {\n this.container = this._createContainer(ignoreBorder);\n }\n }\n\n _createClass(AnnotationElement, [{\n key: \"_createContainer\",\n value: function _createContainer() {\n var ignoreBorder = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\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\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\n container.style.transform = 'matrix(' + viewport.transform.join(',') + ')';\n container.style.transformOrigin = -rect[0] + 'px ' + -rect[1] + 'px';\n\n if (!ignoreBorder && data.borderStyle.width > 0) {\n container.style.borderWidth = data.borderStyle.width + 'px';\n\n if (data.borderStyle.style !== _util.AnnotationBorderStyleType.UNDERLINE) {\n width = width - 2 * data.borderStyle.width;\n height = height - 2 * data.borderStyle.width;\n }\n\n var horizontalRadius = data.borderStyle.horizontalCornerRadius;\n var verticalRadius = data.borderStyle.verticalCornerRadius;\n\n if (horizontalRadius > 0 || verticalRadius > 0) {\n var radius = horizontalRadius + 'px / ' + verticalRadius + 'px';\n container.style.borderRadius = radius;\n }\n\n switch (data.borderStyle.style) {\n case _util.AnnotationBorderStyleType.SOLID:\n container.style.borderStyle = 'solid';\n break;\n\n case _util.AnnotationBorderStyleType.DASHED:\n container.style.borderStyle = 'dashed';\n break;\n\n case _util.AnnotationBorderStyleType.BEVELED:\n (0, _util.warn)('Unimplemented border style: beveled');\n break;\n\n case _util.AnnotationBorderStyleType.INSET:\n (0, _util.warn)('Unimplemented border style: inset');\n break;\n\n case _util.AnnotationBorderStyleType.UNDERLINE:\n container.style.borderBottomStyle = 'solid';\n break;\n\n default:\n break;\n }\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\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 }, {\n key: \"_createPopup\",\n value: function _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\n var popupElement = new PopupElement({\n container: container,\n trigger: trigger,\n color: data.color,\n title: data.title,\n modificationDate: data.modificationDate,\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 }, {\n key: \"render\",\n value: function render() {\n (0, _util.unreachable)('Abstract method `AnnotationElement.render` called');\n }\n }]);\n\n return AnnotationElement;\n}();\n\nvar LinkAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement) {\n _inherits(LinkAnnotationElement, _AnnotationElement);\n\n function LinkAnnotationElement(parameters) {\n _classCallCheck(this, LinkAnnotationElement);\n\n var isRenderable = !!(parameters.data.url || parameters.data.dest || parameters.data.action);\n return _possibleConstructorReturn(this, _getPrototypeOf(LinkAnnotationElement).call(this, parameters, isRenderable));\n }\n\n _createClass(LinkAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = 'linkAnnotation';\n var data = this.data,\n linkService = this.linkService;\n var link = document.createElement('a');\n (0, _display_utils.addLinkAttributes)(link, {\n url: data.url,\n target: data.newWindow ? _display_utils.LinkTarget.BLANK : linkService.externalLinkTarget,\n rel: linkService.externalLinkRel\n });\n\n if (!data.url) {\n if (data.action) {\n this._bindNamedAction(link, data.action);\n } else {\n this._bindLink(link, data.dest);\n }\n }\n\n this.container.appendChild(link);\n return this.container;\n }\n }, {\n key: \"_bindLink\",\n value: function _bindLink(link, destination) {\n var _this = this;\n\n link.href = this.linkService.getDestinationHash(destination);\n\n link.onclick = function () {\n if (destination) {\n _this.linkService.navigateTo(destination);\n }\n\n return false;\n };\n\n if (destination) {\n link.className = 'internalLink';\n }\n }\n }, {\n key: \"_bindNamedAction\",\n value: function _bindNamedAction(link, action) {\n var _this2 = this;\n\n link.href = this.linkService.getAnchorUrl('');\n\n link.onclick = function () {\n _this2.linkService.executeNamedAction(action);\n\n return false;\n };\n\n link.className = 'internalLink';\n }\n }]);\n\n return LinkAnnotationElement;\n}(AnnotationElement);\n\nvar TextAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement2) {\n _inherits(TextAnnotationElement, _AnnotationElement2);\n\n function TextAnnotationElement(parameters) {\n _classCallCheck(this, TextAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _possibleConstructorReturn(this, _getPrototypeOf(TextAnnotationElement).call(this, parameters, isRenderable));\n }\n\n _createClass(TextAnnotationElement, [{\n key: \"render\",\n value: function 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\n if (!this.data.hasPopup) {\n this._createPopup(this.container, image, this.data);\n }\n\n this.container.appendChild(image);\n return this.container;\n }\n }]);\n\n return TextAnnotationElement;\n}(AnnotationElement);\n\nvar WidgetAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement3) {\n _inherits(WidgetAnnotationElement, _AnnotationElement3);\n\n function WidgetAnnotationElement() {\n _classCallCheck(this, WidgetAnnotationElement);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(WidgetAnnotationElement).apply(this, arguments));\n }\n\n _createClass(WidgetAnnotationElement, [{\n key: \"render\",\n value: function render() {\n return this.container;\n }\n }]);\n\n return WidgetAnnotationElement;\n}(AnnotationElement);\n\nvar TextWidgetAnnotationElement =\n/*#__PURE__*/\nfunction (_WidgetAnnotationElem) {\n _inherits(TextWidgetAnnotationElement, _WidgetAnnotationElem);\n\n function TextWidgetAnnotationElement(parameters) {\n _classCallCheck(this, TextWidgetAnnotationElement);\n\n var isRenderable = parameters.renderInteractiveForms || !parameters.data.hasAppearance && !!parameters.data.fieldValue;\n return _possibleConstructorReturn(this, _getPrototypeOf(TextWidgetAnnotationElement).call(this, parameters, isRenderable));\n }\n\n _createClass(TextWidgetAnnotationElement, [{\n key: \"render\",\n value: function render() {\n var TEXT_ALIGNMENT = ['left', 'center', 'right'];\n this.container.className = 'textWidgetAnnotation';\n var element = null;\n\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\n element.disabled = this.data.readOnly;\n\n if (this.data.maxLen !== null) {\n element.maxLength = this.data.maxLen;\n }\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\n if (this.data.fontRefName && this.page.commonObjs.has(this.data.fontRefName)) {\n font = this.page.commonObjs.get(this.data.fontRefName);\n }\n\n this._setTextStyle(element, font);\n }\n\n if (this.data.textAlignment !== null) {\n element.style.textAlign = TEXT_ALIGNMENT[this.data.textAlignment];\n }\n\n this.container.appendChild(element);\n return this.container;\n }\n }, {\n key: \"_setTextStyle\",\n value: function _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\n if (!font) {\n return;\n }\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\n return TextWidgetAnnotationElement;\n}(WidgetAnnotationElement);\n\nvar CheckboxWidgetAnnotationElement =\n/*#__PURE__*/\nfunction (_WidgetAnnotationElem2) {\n _inherits(CheckboxWidgetAnnotationElement, _WidgetAnnotationElem2);\n\n function CheckboxWidgetAnnotationElement(parameters) {\n _classCallCheck(this, CheckboxWidgetAnnotationElement);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(CheckboxWidgetAnnotationElement).call(this, parameters, parameters.renderInteractiveForms));\n }\n\n _createClass(CheckboxWidgetAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = 'buttonWidgetAnnotation checkBox';\n var element = document.createElement('input');\n element.disabled = this.data.readOnly;\n element.type = 'checkbox';\n\n if (this.data.fieldValue && this.data.fieldValue !== 'Off') {\n element.setAttribute('checked', true);\n }\n\n this.container.appendChild(element);\n return this.container;\n }\n }]);\n\n return CheckboxWidgetAnnotationElement;\n}(WidgetAnnotationElement);\n\nvar RadioButtonWidgetAnnotationElement =\n/*#__PURE__*/\nfunction (_WidgetAnnotationElem3) {\n _inherits(RadioButtonWidgetAnnotationElement, _WidgetAnnotationElem3);\n\n function RadioButtonWidgetAnnotationElement(parameters) {\n _classCallCheck(this, RadioButtonWidgetAnnotationElement);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(RadioButtonWidgetAnnotationElement).call(this, parameters, parameters.renderInteractiveForms));\n }\n\n _createClass(RadioButtonWidgetAnnotationElement, [{\n key: \"render\",\n value: function 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\n if (this.data.fieldValue === this.data.buttonValue) {\n element.setAttribute('checked', true);\n }\n\n this.container.appendChild(element);\n return this.container;\n }\n }]);\n\n return RadioButtonWidgetAnnotationElement;\n}(WidgetAnnotationElement);\n\nvar PushButtonWidgetAnnotationElement =\n/*#__PURE__*/\nfunction (_LinkAnnotationElemen) {\n _inherits(PushButtonWidgetAnnotationElement, _LinkAnnotationElemen);\n\n function PushButtonWidgetAnnotationElement() {\n _classCallCheck(this, PushButtonWidgetAnnotationElement);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(PushButtonWidgetAnnotationElement).apply(this, arguments));\n }\n\n _createClass(PushButtonWidgetAnnotationElement, [{\n key: \"render\",\n value: function render() {\n var container = _get(_getPrototypeOf(PushButtonWidgetAnnotationElement.prototype), \"render\", this).call(this);\n\n container.className = 'buttonWidgetAnnotation pushButton';\n return container;\n }\n }]);\n\n return PushButtonWidgetAnnotationElement;\n}(LinkAnnotationElement);\n\nvar ChoiceWidgetAnnotationElement =\n/*#__PURE__*/\nfunction (_WidgetAnnotationElem4) {\n _inherits(ChoiceWidgetAnnotationElement, _WidgetAnnotationElem4);\n\n function ChoiceWidgetAnnotationElement(parameters) {\n _classCallCheck(this, ChoiceWidgetAnnotationElement);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(ChoiceWidgetAnnotationElement).call(this, parameters, parameters.renderInteractiveForms));\n }\n\n _createClass(ChoiceWidgetAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = 'choiceWidgetAnnotation';\n var selectElement = document.createElement('select');\n selectElement.disabled = this.data.readOnly;\n\n if (!this.data.combo) {\n selectElement.size = this.data.options.length;\n\n if (this.data.multiSelect) {\n selectElement.multiple = true;\n }\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\n if (this.data.fieldValue.includes(option.displayValue)) {\n optionElement.setAttribute('selected', true);\n }\n\n selectElement.appendChild(optionElement);\n }\n\n this.container.appendChild(selectElement);\n return this.container;\n }\n }]);\n\n return ChoiceWidgetAnnotationElement;\n}(WidgetAnnotationElement);\n\nvar PopupAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement4) {\n _inherits(PopupAnnotationElement, _AnnotationElement4);\n\n function PopupAnnotationElement(parameters) {\n _classCallCheck(this, PopupAnnotationElement);\n\n var isRenderable = !!(parameters.data.title || parameters.data.contents);\n return _possibleConstructorReturn(this, _getPrototypeOf(PopupAnnotationElement).call(this, parameters, isRenderable));\n }\n\n _createClass(PopupAnnotationElement, [{\n key: \"render\",\n value: function render() {\n var IGNORE_TYPES = ['Line', 'Square', 'Circle', 'PolyLine', 'Polygon', 'Ink'];\n this.container.className = 'popupAnnotation';\n\n if (IGNORE_TYPES.includes(this.data.parentType)) {\n return this.container;\n }\n\n var selector = '[data-annotation-id=\"' + this.data.parentId + '\"]';\n var parentElement = this.layer.querySelector(selector);\n\n if (!parentElement) {\n return this.container;\n }\n\n var popup = new PopupElement({\n container: this.container,\n trigger: parentElement,\n color: this.data.color,\n title: this.data.title,\n modificationDate: this.data.modificationDate,\n contents: this.data.contents\n });\n var parentLeft = parseFloat(parentElement.style.left);\n var parentWidth = parseFloat(parentElement.style.width);\n this.container.style.transformOrigin = -(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\n return PopupAnnotationElement;\n}(AnnotationElement);\n\nvar PopupElement =\n/*#__PURE__*/\nfunction () {\n function PopupElement(parameters) {\n _classCallCheck(this, PopupElement);\n\n this.container = parameters.container;\n this.trigger = parameters.trigger;\n this.color = parameters.color;\n this.title = parameters.title;\n this.modificationDate = parameters.modificationDate;\n this.contents = parameters.contents;\n this.hideWrapper = parameters.hideWrapper || false;\n this.pinned = false;\n }\n\n _createClass(PopupElement, [{\n key: \"render\",\n value: function render() {\n var BACKGROUND_ENLIGHT = 0.7;\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\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\n var title = document.createElement('h1');\n title.textContent = this.title;\n popup.appendChild(title);\n\n var dateObject = _display_utils.PDFDateString.toDateObject(this.modificationDate);\n\n if (dateObject) {\n var modificationDate = document.createElement('span');\n modificationDate.textContent = '{{date}}, {{time}}';\n modificationDate.dataset.l10nId = 'annotation_date_string';\n modificationDate.dataset.l10nArgs = JSON.stringify({\n date: dateObject.toLocaleDateString(),\n time: dateObject.toLocaleTimeString()\n });\n popup.appendChild(modificationDate);\n }\n\n var contents = this._formatContents(this.contents);\n\n popup.appendChild(contents);\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 wrapper.appendChild(popup);\n return wrapper;\n }\n }, {\n key: \"_formatContents\",\n value: function _formatContents(contents) {\n var p = document.createElement('p');\n var lines = contents.split(/(?:\\r\\n?|\\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\n if (i < ii - 1) {\n p.appendChild(document.createElement('br'));\n }\n }\n\n return p;\n }\n }, {\n key: \"_toggle\",\n value: function _toggle() {\n if (this.pinned) {\n this._hide(true);\n } else {\n this._show(true);\n }\n }\n }, {\n key: \"_show\",\n value: function _show() {\n var pin = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (pin) {\n this.pinned = true;\n }\n\n if (this.hideElement.hasAttribute('hidden')) {\n this.hideElement.removeAttribute('hidden');\n this.container.style.zIndex += 1;\n }\n }\n }, {\n key: \"_hide\",\n value: function _hide() {\n var unpin = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n if (unpin) {\n this.pinned = false;\n }\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\n return PopupElement;\n}();\n\nvar FreeTextAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement5) {\n _inherits(FreeTextAnnotationElement, _AnnotationElement5);\n\n function FreeTextAnnotationElement(parameters) {\n _classCallCheck(this, FreeTextAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _possibleConstructorReturn(this, _getPrototypeOf(FreeTextAnnotationElement).call(this, parameters, isRenderable, true));\n }\n\n _createClass(FreeTextAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = 'freeTextAnnotation';\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return FreeTextAnnotationElement;\n}(AnnotationElement);\n\nvar LineAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement6) {\n _inherits(LineAnnotationElement, _AnnotationElement6);\n\n function LineAnnotationElement(parameters) {\n _classCallCheck(this, LineAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _possibleConstructorReturn(this, _getPrototypeOf(LineAnnotationElement).call(this, parameters, isRenderable, true));\n }\n\n _createClass(LineAnnotationElement, [{\n key: \"render\",\n value: function 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 = this.svgFactory.create(width, height);\n var line = this.svgFactory.createElement('svg:line');\n line.setAttribute('x1', data.rect[2] - data.lineCoordinates[0]);\n line.setAttribute('y1', data.rect[3] - data.lineCoordinates[1]);\n line.setAttribute('x2', data.rect[2] - data.lineCoordinates[2]);\n line.setAttribute('y2', data.rect[3] - data.lineCoordinates[3]);\n line.setAttribute('stroke-width', data.borderStyle.width);\n line.setAttribute('stroke', 'transparent');\n svg.appendChild(line);\n this.container.append(svg);\n\n this._createPopup(this.container, line, data);\n\n return this.container;\n }\n }]);\n\n return LineAnnotationElement;\n}(AnnotationElement);\n\nvar SquareAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement7) {\n _inherits(SquareAnnotationElement, _AnnotationElement7);\n\n function SquareAnnotationElement(parameters) {\n _classCallCheck(this, SquareAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _possibleConstructorReturn(this, _getPrototypeOf(SquareAnnotationElement).call(this, parameters, isRenderable, true));\n }\n\n _createClass(SquareAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = 'squareAnnotation';\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 = this.svgFactory.create(width, height);\n var borderWidth = data.borderStyle.width;\n var square = this.svgFactory.createElement('svg:rect');\n square.setAttribute('x', borderWidth / 2);\n square.setAttribute('y', borderWidth / 2);\n square.setAttribute('width', width - borderWidth);\n square.setAttribute('height', height - borderWidth);\n square.setAttribute('stroke-width', borderWidth);\n square.setAttribute('stroke', 'transparent');\n square.setAttribute('fill', 'none');\n svg.appendChild(square);\n this.container.append(svg);\n\n this._createPopup(this.container, square, data);\n\n return this.container;\n }\n }]);\n\n return SquareAnnotationElement;\n}(AnnotationElement);\n\nvar CircleAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement8) {\n _inherits(CircleAnnotationElement, _AnnotationElement8);\n\n function CircleAnnotationElement(parameters) {\n _classCallCheck(this, CircleAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _possibleConstructorReturn(this, _getPrototypeOf(CircleAnnotationElement).call(this, parameters, isRenderable, true));\n }\n\n _createClass(CircleAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = 'circleAnnotation';\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 = this.svgFactory.create(width, height);\n var borderWidth = data.borderStyle.width;\n var circle = this.svgFactory.createElement('svg:ellipse');\n circle.setAttribute('cx', width / 2);\n circle.setAttribute('cy', height / 2);\n circle.setAttribute('rx', width / 2 - borderWidth / 2);\n circle.setAttribute('ry', height / 2 - borderWidth / 2);\n circle.setAttribute('stroke-width', borderWidth);\n circle.setAttribute('stroke', 'transparent');\n circle.setAttribute('fill', 'none');\n svg.appendChild(circle);\n this.container.append(svg);\n\n this._createPopup(this.container, circle, data);\n\n return this.container;\n }\n }]);\n\n return CircleAnnotationElement;\n}(AnnotationElement);\n\nvar PolylineAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement9) {\n _inherits(PolylineAnnotationElement, _AnnotationElement9);\n\n function PolylineAnnotationElement(parameters) {\n var _this3;\n\n _classCallCheck(this, PolylineAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n _this3 = _possibleConstructorReturn(this, _getPrototypeOf(PolylineAnnotationElement).call(this, parameters, isRenderable, true));\n _this3.containerClassName = 'polylineAnnotation';\n _this3.svgElementName = 'svg:polyline';\n return _this3;\n }\n\n _createClass(PolylineAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = this.containerClassName;\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 = this.svgFactory.create(width, height);\n var vertices = data.vertices;\n var points = [];\n\n for (var i = 0, ii = vertices.length; i < ii; i++) {\n var x = vertices[i].x - data.rect[0];\n var y = data.rect[3] - vertices[i].y;\n points.push(x + ',' + y);\n }\n\n points = points.join(' ');\n var borderWidth = data.borderStyle.width;\n var polyline = this.svgFactory.createElement(this.svgElementName);\n polyline.setAttribute('points', points);\n polyline.setAttribute('stroke-width', borderWidth);\n polyline.setAttribute('stroke', 'transparent');\n polyline.setAttribute('fill', 'none');\n svg.appendChild(polyline);\n this.container.append(svg);\n\n this._createPopup(this.container, polyline, data);\n\n return this.container;\n }\n }]);\n\n return PolylineAnnotationElement;\n}(AnnotationElement);\n\nvar PolygonAnnotationElement =\n/*#__PURE__*/\nfunction (_PolylineAnnotationEl) {\n _inherits(PolygonAnnotationElement, _PolylineAnnotationEl);\n\n function PolygonAnnotationElement(parameters) {\n var _this4;\n\n _classCallCheck(this, PolygonAnnotationElement);\n\n _this4 = _possibleConstructorReturn(this, _getPrototypeOf(PolygonAnnotationElement).call(this, parameters));\n _this4.containerClassName = 'polygonAnnotation';\n _this4.svgElementName = 'svg:polygon';\n return _this4;\n }\n\n return PolygonAnnotationElement;\n}(PolylineAnnotationElement);\n\nvar CaretAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement10) {\n _inherits(CaretAnnotationElement, _AnnotationElement10);\n\n function CaretAnnotationElement(parameters) {\n _classCallCheck(this, CaretAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _possibleConstructorReturn(this, _getPrototypeOf(CaretAnnotationElement).call(this, parameters, isRenderable, true));\n }\n\n _createClass(CaretAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = 'caretAnnotation';\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return CaretAnnotationElement;\n}(AnnotationElement);\n\nvar InkAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement11) {\n _inherits(InkAnnotationElement, _AnnotationElement11);\n\n function InkAnnotationElement(parameters) {\n var _this5;\n\n _classCallCheck(this, InkAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n _this5 = _possibleConstructorReturn(this, _getPrototypeOf(InkAnnotationElement).call(this, parameters, isRenderable, true));\n _this5.containerClassName = 'inkAnnotation';\n _this5.svgElementName = 'svg:polyline';\n return _this5;\n }\n\n _createClass(InkAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = this.containerClassName;\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 = this.svgFactory.create(width, height);\n var inkLists = data.inkLists;\n\n for (var i = 0, ii = inkLists.length; i < ii; i++) {\n var inkList = inkLists[i];\n var points = [];\n\n for (var j = 0, jj = inkList.length; j < jj; j++) {\n var x = inkList[j].x - data.rect[0];\n var y = data.rect[3] - inkList[j].y;\n points.push(x + ',' + y);\n }\n\n points = points.join(' ');\n var borderWidth = data.borderStyle.width;\n var polyline = this.svgFactory.createElement(this.svgElementName);\n polyline.setAttribute('points', points);\n polyline.setAttribute('stroke-width', borderWidth);\n polyline.setAttribute('stroke', 'transparent');\n polyline.setAttribute('fill', 'none');\n\n this._createPopup(this.container, polyline, data);\n\n svg.appendChild(polyline);\n }\n\n this.container.append(svg);\n return this.container;\n }\n }]);\n\n return InkAnnotationElement;\n}(AnnotationElement);\n\nvar HighlightAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement12) {\n _inherits(HighlightAnnotationElement, _AnnotationElement12);\n\n function HighlightAnnotationElement(parameters) {\n _classCallCheck(this, HighlightAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _possibleConstructorReturn(this, _getPrototypeOf(HighlightAnnotationElement).call(this, parameters, isRenderable, true));\n }\n\n _createClass(HighlightAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = 'highlightAnnotation';\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return HighlightAnnotationElement;\n}(AnnotationElement);\n\nvar UnderlineAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement13) {\n _inherits(UnderlineAnnotationElement, _AnnotationElement13);\n\n function UnderlineAnnotationElement(parameters) {\n _classCallCheck(this, UnderlineAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _possibleConstructorReturn(this, _getPrototypeOf(UnderlineAnnotationElement).call(this, parameters, isRenderable, true));\n }\n\n _createClass(UnderlineAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = 'underlineAnnotation';\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return UnderlineAnnotationElement;\n}(AnnotationElement);\n\nvar SquigglyAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement14) {\n _inherits(SquigglyAnnotationElement, _AnnotationElement14);\n\n function SquigglyAnnotationElement(parameters) {\n _classCallCheck(this, SquigglyAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _possibleConstructorReturn(this, _getPrototypeOf(SquigglyAnnotationElement).call(this, parameters, isRenderable, true));\n }\n\n _createClass(SquigglyAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = 'squigglyAnnotation';\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return SquigglyAnnotationElement;\n}(AnnotationElement);\n\nvar StrikeOutAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement15) {\n _inherits(StrikeOutAnnotationElement, _AnnotationElement15);\n\n function StrikeOutAnnotationElement(parameters) {\n _classCallCheck(this, StrikeOutAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _possibleConstructorReturn(this, _getPrototypeOf(StrikeOutAnnotationElement).call(this, parameters, isRenderable, true));\n }\n\n _createClass(StrikeOutAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = 'strikeoutAnnotation';\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return StrikeOutAnnotationElement;\n}(AnnotationElement);\n\nvar StampAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement16) {\n _inherits(StampAnnotationElement, _AnnotationElement16);\n\n function StampAnnotationElement(parameters) {\n _classCallCheck(this, StampAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _possibleConstructorReturn(this, _getPrototypeOf(StampAnnotationElement).call(this, parameters, isRenderable, true));\n }\n\n _createClass(StampAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = 'stampAnnotation';\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return StampAnnotationElement;\n}(AnnotationElement);\n\nvar FileAttachmentAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement17) {\n _inherits(FileAttachmentAnnotationElement, _AnnotationElement17);\n\n function FileAttachmentAnnotationElement(parameters) {\n var _this6;\n\n _classCallCheck(this, FileAttachmentAnnotationElement);\n\n _this6 = _possibleConstructorReturn(this, _getPrototypeOf(FileAttachmentAnnotationElement).call(this, parameters, true));\n var _this6$data$file = _this6.data.file,\n filename = _this6$data$file.filename,\n content = _this6$data$file.content;\n _this6.filename = (0, _display_utils.getFilenameFromUrl)(filename);\n _this6.content = content;\n\n if (_this6.linkService.eventBus) {\n _this6.linkService.eventBus.dispatch('fileattachmentannotation', {\n source: _assertThisInitialized(_this6),\n id: (0, _util.stringToPDFString)(filename),\n filename: filename,\n content: content\n });\n }\n\n return _this6;\n }\n\n _createClass(FileAttachmentAnnotationElement, [{\n key: \"render\",\n value: function 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\n if (!this.data.hasPopup && (this.data.title || this.data.contents)) {\n this._createPopup(this.container, trigger, this.data);\n }\n\n this.container.appendChild(trigger);\n return this.container;\n }\n }, {\n key: \"_download\",\n value: function _download() {\n if (!this.downloadManager) {\n (0, _util.warn)('Download cannot be started due to unavailable download manager');\n return;\n }\n\n this.downloadManager.downloadData(this.content, this.filename, '');\n }\n }]);\n\n return FileAttachmentAnnotationElement;\n}(AnnotationElement);\n\nvar AnnotationLayer =\n/*#__PURE__*/\nfunction () {\n function AnnotationLayer() {\n _classCallCheck(this, AnnotationLayer);\n }\n\n _createClass(AnnotationLayer, null, [{\n key: \"render\",\n value: function render(parameters) {\n for (var i = 0, ii = parameters.annotations.length; i < ii; i++) {\n var data = parameters.annotations[i];\n\n if (!data) {\n continue;\n }\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 || '',\n renderInteractiveForms: parameters.renderInteractiveForms || false,\n svgFactory: new _display_utils.DOMSVGFactory()\n });\n\n if (element.isRenderable) {\n parameters.div.appendChild(element.render());\n }\n }\n }\n }, {\n key: \"update\",\n value: function 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\n if (element) {\n element.style.transform = 'matrix(' + parameters.viewport.transform.join(',') + ')';\n }\n }\n\n parameters.div.removeAttribute('hidden');\n }\n }]);\n\n return AnnotationLayer;\n}();\n\nexports.AnnotationLayer = AnnotationLayer;\n\n/***/ }),\n/* 164 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SVGGraphics = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _display_utils = __w_pdfjs_require__(151);\n\nvar _is_node = _interopRequireDefault(__w_pdfjs_require__(4));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance\"); }\n\nfunction _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar SVGGraphics = function SVGGraphics() {\n throw new Error('Not implemented: SVGGraphics');\n};\n\nexports.SVGGraphics = SVGGraphics;\n{\n var opListToTree = function opListToTree(opList) {\n var opTree = [];\n var tmp = [];\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = opList[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var opListElement = _step.value;\n\n if (opListElement.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\n if (opListElement.fn === 'restore') {\n opTree = tmp.pop();\n } else {\n opTree.push(opListElement);\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator[\"return\"] != null) {\n _iterator[\"return\"]();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n return opTree;\n };\n\n var pf = function pf(value) {\n if (Number.isInteger(value)) {\n return value.toString();\n }\n\n var s = value.toFixed(10);\n var i = s.length - 1;\n\n if (s[i] !== '0') {\n return s;\n }\n\n do {\n i--;\n } while (s[i] === '0');\n\n return s.substring(0, s[i] === '.' ? i : i + 1);\n };\n\n var pm = 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\n return \"scale(\".concat(pf(m[0]), \" \").concat(pf(m[3]), \")\");\n }\n\n if (m[0] === m[3] && m[1] === -m[2]) {\n var a = Math.acos(m[0]) * 180 / Math.PI;\n return \"rotate(\".concat(pf(a), \")\");\n }\n } else {\n if (m[0] === 1 && m[1] === 0 && m[2] === 0 && m[3] === 1) {\n return \"translate(\".concat(pf(m[4]), \" \").concat(pf(m[5]), \")\");\n }\n }\n\n return \"matrix(\".concat(pf(m[0]), \" \").concat(pf(m[1]), \" \").concat(pf(m[2]), \" \").concat(pf(m[3]), \" \").concat(pf(m[4]), \" \") + \"\".concat(pf(m[5]), \")\");\n };\n\n var SVG_DEFAULTS = {\n fontStyle: 'normal',\n fontWeight: 'normal',\n fillColor: '#000000'\n };\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\n var convertImgDataToPng = function () {\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\n for (var i = 0; i < 256; i++) {\n var c = i;\n\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\n crcTable[i] = c;\n }\n\n function crc32(data, start, end) {\n var crc = -1;\n\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\n return crc ^ -1;\n }\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\n function adler32(data, start, end) {\n var a = 1;\n var b = 0;\n\n for (var _i2 = start; _i2 < end; ++_i2) {\n a = (a + (data[_i2] & 0xff)) % 65521;\n b = (b + a) % 65521;\n }\n\n return b << 16 | a;\n }\n\n function deflateSync(literals) {\n if (!(0, _is_node[\"default\"])()) {\n return deflateSyncUncompressed(literals);\n }\n\n try {\n var input;\n\n if (parseInt(process.versions.node) >= 8) {\n input = literals;\n } else {\n input = new Buffer(literals);\n }\n\n var output = __webpack_require__(/*! zlib */ 0).deflateSync(input, {\n level: 9\n });\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\n return deflateSyncUncompressed(literals);\n }\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\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\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\n function encode(imgData, kind, forceDataSchema, isMask) {\n var width = imgData.width;\n var height = imgData.height;\n var bitDepth, colorType, lineSize;\n var bytes = imgData.data;\n\n switch (kind) {\n case _util.ImageKind.GRAYSCALE_1BPP:\n colorType = 0;\n bitDepth = 1;\n lineSize = width + 7 >> 3;\n break;\n\n case _util.ImageKind.RGB_24BPP:\n colorType = 2;\n bitDepth = 8;\n lineSize = width * 3;\n break;\n\n case _util.ImageKind.RGBA_32BPP:\n colorType = 6;\n bitDepth = 8;\n lineSize = width * 4;\n break;\n\n default:\n throw new Error('invalid format');\n }\n\n var literals = new Uint8Array((1 + lineSize) * height);\n var offsetLiterals = 0,\n offsetBytes = 0;\n\n for (var 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\n if (kind === _util.ImageKind.GRAYSCALE_1BPP && isMask) {\n offsetLiterals = 0;\n\n for (var _y = 0; _y < height; _y++) {\n offsetLiterals++;\n\n for (var _i3 = 0; _i3 < lineSize; _i3++) {\n literals[offsetLiterals++] ^= 0xFF;\n }\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\n return function convertImgDataToPng(imgData, forceDataSchema, isMask) {\n var kind = imgData.kind === undefined ? _util.ImageKind.GRAYSCALE_1BPP : imgData.kind;\n return encode(imgData, kind, forceDataSchema, isMask);\n };\n }();\n\n var SVGExtraState =\n /*#__PURE__*/\n function () {\n function SVGExtraState() {\n _classCallCheck(this, SVGExtraState);\n\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.textRenderingMode = _util.TextRenderingMode.FILL;\n this.textMatrixScale = 1;\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\n _createClass(SVGExtraState, [{\n key: \"clone\",\n value: function clone() {\n return Object.create(this);\n }\n }, {\n key: \"setCurrentPoint\",\n value: function setCurrentPoint(x, y) {\n this.x = x;\n this.y = y;\n }\n }]);\n\n return SVGExtraState;\n }();\n\n var clipCount = 0;\n var maskCount = 0;\n var shadingCount = 0;\n\n exports.SVGGraphics = SVGGraphics =\n /*#__PURE__*/\n function () {\n function SVGGraphics(commonObjs, objs, forceDataSchema) {\n _classCallCheck(this, SVGGraphics);\n\n this.svgFactory = new _display_utils.DOMSVGFactory();\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 this._operatorIdMapping = [];\n\n for (var op in _util.OPS) {\n this._operatorIdMapping[_util.OPS[op]] = op;\n }\n }\n\n _createClass(SVGGraphics, [{\n key: \"save\",\n value: function save() {\n this.transformStack.push(this.transformMatrix);\n var old = this.current;\n this.extraStack.push(old);\n this.current = old.clone();\n }\n }, {\n key: \"restore\",\n value: function restore() {\n this.transformMatrix = this.transformStack.pop();\n this.current = this.extraStack.pop();\n this.pendingClip = null;\n this.tgrp = null;\n }\n }, {\n key: \"group\",\n value: function group(items) {\n this.save();\n this.executeOpTree(items);\n this.restore();\n }\n }, {\n key: \"loadDependencies\",\n value: function loadDependencies(operatorList) {\n var _this = this;\n\n var fnArray = operatorList.fnArray;\n var argsArray = operatorList.argsArray;\n\n for (var i = 0, ii = fnArray.length; i < ii; i++) {\n if (fnArray[i] !== _util.OPS.dependency) {\n continue;\n }\n\n var _iteratorNormalCompletion2 = true;\n var _didIteratorError2 = false;\n var _iteratorError2 = undefined;\n\n try {\n var _loop = function _loop() {\n var obj = _step2.value;\n var objsPool = obj.startsWith('g_') ? _this.commonObjs : _this.objs;\n var promise = new Promise(function (resolve) {\n objsPool.get(obj, resolve);\n });\n\n _this.current.dependencies.push(promise);\n };\n\n for (var _iterator2 = argsArray[i][Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n _loop();\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2[\"return\"] != null) {\n _iterator2[\"return\"]();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n }\n\n return Promise.all(this.current.dependencies);\n }\n }, {\n key: \"transform\",\n value: function 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 }, {\n key: \"getSVG\",\n value: function getSVG(operatorList, viewport) {\n var _this2 = this;\n\n this.viewport = viewport;\n\n var svgElement = this._initialize(viewport);\n\n return this.loadDependencies(operatorList).then(function () {\n _this2.transformMatrix = _util.IDENTITY_MATRIX;\n\n _this2.executeOpTree(_this2.convertOpList(operatorList));\n\n return svgElement;\n });\n }\n }, {\n key: \"convertOpList\",\n value: function convertOpList(operatorList) {\n var operatorIdMapping = this._operatorIdMapping;\n var argsArray = operatorList.argsArray;\n var fnArray = operatorList.fnArray;\n var opList = [];\n\n for (var i = 0, ii = fnArray.length; i < ii; i++) {\n var fnId = fnArray[i];\n opList.push({\n 'fnId': fnId,\n 'fn': operatorIdMapping[fnId],\n 'args': argsArray[i]\n });\n }\n\n return opListToTree(opList);\n }\n }, {\n key: \"executeOpTree\",\n value: function executeOpTree(opTree) {\n var _iteratorNormalCompletion3 = true;\n var _didIteratorError3 = false;\n var _iteratorError3 = undefined;\n\n try {\n for (var _iterator3 = opTree[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {\n var opTreeElement = _step3.value;\n var fn = opTreeElement.fn;\n var fnId = opTreeElement.fnId;\n var args = opTreeElement.args;\n\n switch (fnId | 0) {\n case _util.OPS.beginText:\n this.beginText();\n break;\n\n case _util.OPS.dependency:\n break;\n\n case _util.OPS.setLeading:\n this.setLeading(args);\n break;\n\n case _util.OPS.setLeadingMoveText:\n this.setLeadingMoveText(args[0], args[1]);\n break;\n\n case _util.OPS.setFont:\n this.setFont(args);\n break;\n\n case _util.OPS.showText:\n this.showText(args[0]);\n break;\n\n case _util.OPS.showSpacedText:\n this.showText(args[0]);\n break;\n\n case _util.OPS.endText:\n this.endText();\n break;\n\n case _util.OPS.moveText:\n this.moveText(args[0], args[1]);\n break;\n\n case _util.OPS.setCharSpacing:\n this.setCharSpacing(args[0]);\n break;\n\n case _util.OPS.setWordSpacing:\n this.setWordSpacing(args[0]);\n break;\n\n case _util.OPS.setHScale:\n this.setHScale(args[0]);\n break;\n\n case _util.OPS.setTextMatrix:\n this.setTextMatrix(args[0], args[1], args[2], args[3], args[4], args[5]);\n break;\n\n case _util.OPS.setTextRise:\n this.setTextRise(args[0]);\n break;\n\n case _util.OPS.setTextRenderingMode:\n this.setTextRenderingMode(args[0]);\n break;\n\n case _util.OPS.setLineWidth:\n this.setLineWidth(args[0]);\n break;\n\n case _util.OPS.setLineJoin:\n this.setLineJoin(args[0]);\n break;\n\n case _util.OPS.setLineCap:\n this.setLineCap(args[0]);\n break;\n\n case _util.OPS.setMiterLimit:\n this.setMiterLimit(args[0]);\n break;\n\n case _util.OPS.setFillRGBColor:\n this.setFillRGBColor(args[0], args[1], args[2]);\n break;\n\n case _util.OPS.setStrokeRGBColor:\n this.setStrokeRGBColor(args[0], args[1], args[2]);\n break;\n\n case _util.OPS.setStrokeColorN:\n this.setStrokeColorN(args);\n break;\n\n case _util.OPS.setFillColorN:\n this.setFillColorN(args);\n break;\n\n case _util.OPS.shadingFill:\n this.shadingFill(args[0]);\n break;\n\n case _util.OPS.setDash:\n this.setDash(args[0], args[1]);\n break;\n\n case _util.OPS.setRenderingIntent:\n this.setRenderingIntent(args[0]);\n break;\n\n case _util.OPS.setFlatness:\n this.setFlatness(args[0]);\n break;\n\n case _util.OPS.setGState:\n this.setGState(args[0]);\n break;\n\n case _util.OPS.fill:\n this.fill();\n break;\n\n case _util.OPS.eoFill:\n this.eoFill();\n break;\n\n case _util.OPS.stroke:\n this.stroke();\n break;\n\n case _util.OPS.fillStroke:\n this.fillStroke();\n break;\n\n case _util.OPS.eoFillStroke:\n this.eoFillStroke();\n break;\n\n case _util.OPS.clip:\n this.clip('nonzero');\n break;\n\n case _util.OPS.eoClip:\n this.clip('evenodd');\n break;\n\n case _util.OPS.paintSolidColorImageMask:\n this.paintSolidColorImageMask();\n break;\n\n case _util.OPS.paintJpegXObject:\n this.paintJpegXObject(args[0], args[1], args[2]);\n break;\n\n case _util.OPS.paintImageXObject:\n this.paintImageXObject(args[0]);\n break;\n\n case _util.OPS.paintInlineImageXObject:\n this.paintInlineImageXObject(args[0]);\n break;\n\n case _util.OPS.paintImageMaskXObject:\n this.paintImageMaskXObject(args[0]);\n break;\n\n case _util.OPS.paintFormXObjectBegin:\n this.paintFormXObjectBegin(args[0], args[1]);\n break;\n\n case _util.OPS.paintFormXObjectEnd:\n this.paintFormXObjectEnd();\n break;\n\n case _util.OPS.closePath:\n this.closePath();\n break;\n\n case _util.OPS.closeStroke:\n this.closeStroke();\n break;\n\n case _util.OPS.closeFillStroke:\n this.closeFillStroke();\n break;\n\n case _util.OPS.closeEOFillStroke:\n this.closeEOFillStroke();\n break;\n\n case _util.OPS.nextLine:\n this.nextLine();\n break;\n\n case _util.OPS.transform:\n this.transform(args[0], args[1], args[2], args[3], args[4], args[5]);\n break;\n\n case _util.OPS.constructPath:\n this.constructPath(args[0], args[1]);\n break;\n\n case _util.OPS.endPath:\n this.endPath();\n break;\n\n case 92:\n this.group(opTreeElement.items);\n break;\n\n default:\n (0, _util.warn)(\"Unimplemented operator \".concat(fn));\n break;\n }\n }\n } catch (err) {\n _didIteratorError3 = true;\n _iteratorError3 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion3 && _iterator3[\"return\"] != null) {\n _iterator3[\"return\"]();\n }\n } finally {\n if (_didIteratorError3) {\n throw _iteratorError3;\n }\n }\n }\n }\n }, {\n key: \"setWordSpacing\",\n value: function setWordSpacing(wordSpacing) {\n this.current.wordSpacing = wordSpacing;\n }\n }, {\n key: \"setCharSpacing\",\n value: function setCharSpacing(charSpacing) {\n this.current.charSpacing = charSpacing;\n }\n }, {\n key: \"nextLine\",\n value: function nextLine() {\n this.moveText(0, this.current.leading);\n }\n }, {\n key: \"setTextMatrix\",\n value: function setTextMatrix(a, b, c, d, e, f) {\n var current = this.current;\n current.textMatrix = current.lineMatrix = [a, b, c, d, e, f];\n current.textMatrixScale = Math.sqrt(a * a + b * b);\n current.x = current.lineX = 0;\n current.y = current.lineY = 0;\n current.xcoords = [];\n current.tspan = this.svgFactory.createElement('svg:tspan');\n current.tspan.setAttributeNS(null, 'font-family', current.fontFamily);\n current.tspan.setAttributeNS(null, 'font-size', \"\".concat(pf(current.fontSize), \"px\"));\n current.tspan.setAttributeNS(null, 'y', pf(-current.y));\n current.txtElement = this.svgFactory.createElement('svg:text');\n current.txtElement.appendChild(current.tspan);\n }\n }, {\n key: \"beginText\",\n value: function beginText() {\n var current = this.current;\n current.x = current.lineX = 0;\n current.y = current.lineY = 0;\n current.textMatrix = _util.IDENTITY_MATRIX;\n current.lineMatrix = _util.IDENTITY_MATRIX;\n current.textMatrixScale = 1;\n current.tspan = this.svgFactory.createElement('svg:tspan');\n current.txtElement = this.svgFactory.createElement('svg:text');\n current.txtgrp = this.svgFactory.createElement('svg:g');\n current.xcoords = [];\n }\n }, {\n key: \"moveText\",\n value: function moveText(x, y) {\n var current = this.current;\n current.x = current.lineX += x;\n current.y = current.lineY += y;\n current.xcoords = [];\n current.tspan = this.svgFactory.createElement('svg:tspan');\n current.tspan.setAttributeNS(null, 'font-family', current.fontFamily);\n current.tspan.setAttributeNS(null, 'font-size', \"\".concat(pf(current.fontSize), \"px\"));\n current.tspan.setAttributeNS(null, 'y', pf(-current.y));\n }\n }, {\n key: \"showText\",\n value: function showText(glyphs) {\n var current = this.current;\n var font = current.font;\n var fontSize = current.fontSize;\n\n if (fontSize === 0) {\n return;\n }\n\n var charSpacing = current.charSpacing;\n var wordSpacing = current.wordSpacing;\n var fontDirection = current.fontDirection;\n var textHScale = current.textHScale * fontDirection;\n var vertical = font.vertical;\n var widthAdvanceScale = fontSize * current.fontMatrix[0];\n var x = 0;\n var _iteratorNormalCompletion4 = true;\n var _didIteratorError4 = false;\n var _iteratorError4 = undefined;\n\n try {\n for (var _iterator4 = glyphs[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {\n var glyph = _step4.value;\n\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\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\n if (!glyph.isInFont && !font.missingFile) {\n x += charWidth;\n continue;\n }\n\n current.xcoords.push(current.x + x * textHScale);\n current.tspan.textContent += character;\n x += charWidth;\n }\n } catch (err) {\n _didIteratorError4 = true;\n _iteratorError4 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion4 && _iterator4[\"return\"] != null) {\n _iterator4[\"return\"]();\n }\n } finally {\n if (_didIteratorError4) {\n throw _iteratorError4;\n }\n }\n }\n\n if (vertical) {\n current.y -= x * textHScale;\n } else {\n current.x += x * textHScale;\n }\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', \"\".concat(pf(current.fontSize), \"px\"));\n\n if (current.fontStyle !== SVG_DEFAULTS.fontStyle) {\n current.tspan.setAttributeNS(null, 'font-style', current.fontStyle);\n }\n\n if (current.fontWeight !== SVG_DEFAULTS.fontWeight) {\n current.tspan.setAttributeNS(null, 'font-weight', current.fontWeight);\n }\n\n var fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n\n if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n if (current.fillColor !== SVG_DEFAULTS.fillColor) {\n current.tspan.setAttributeNS(null, 'fill', current.fillColor);\n }\n\n if (current.fillAlpha < 1) {\n current.tspan.setAttributeNS(null, 'fill-opacity', current.fillAlpha);\n }\n } else if (current.textRenderingMode === _util.TextRenderingMode.ADD_TO_PATH) {\n current.tspan.setAttributeNS(null, 'fill', 'transparent');\n } else {\n current.tspan.setAttributeNS(null, 'fill', 'none');\n }\n\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n var lineWidthScale = 1 / (current.textMatrixScale || 1);\n\n this._setStrokeAttributes(current.tspan, lineWidthScale);\n }\n\n var textMatrix = current.textMatrix;\n\n if (current.textRise !== 0) {\n textMatrix = textMatrix.slice();\n textMatrix[5] += current.textRise;\n }\n\n current.txtElement.setAttributeNS(null, 'transform', \"\".concat(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\n this._ensureTransformGroup().appendChild(current.txtElement);\n }\n }, {\n key: \"setLeadingMoveText\",\n value: function setLeadingMoveText(x, y) {\n this.setLeading(-y);\n this.moveText(x, y);\n }\n }, {\n key: \"addFontStyle\",\n value: function addFontStyle(fontObj) {\n if (!this.cssStyle) {\n this.cssStyle = this.svgFactory.createElement('svg:style');\n this.cssStyle.setAttributeNS(null, 'type', 'text/css');\n this.defs.appendChild(this.cssStyle);\n }\n\n var url = (0, _util.createObjectURL)(fontObj.data, fontObj.mimetype, this.forceDataSchema);\n this.cssStyle.textContent += \"@font-face { font-family: \\\"\".concat(fontObj.loadedName, \"\\\";\") + \" src: url(\".concat(url, \"); }\\n\");\n }\n }, {\n key: \"setFont\",\n value: function setFont(details) {\n var current = this.current;\n var fontObj = this.commonObjs.get(details[0]);\n var size = details[1];\n current.font = fontObj;\n\n if (this.embedFonts && fontObj.data && !this.embeddedFonts[fontObj.loadedName]) {\n this.addFontStyle(fontObj);\n this.embeddedFonts[fontObj.loadedName] = fontObj;\n }\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\n if (size < 0) {\n size = -size;\n current.fontDirection = -1;\n } else {\n current.fontDirection = 1;\n }\n\n current.fontSize = size;\n current.fontFamily = fontObj.loadedName;\n current.fontWeight = bold;\n current.fontStyle = italic;\n current.tspan = this.svgFactory.createElement('svg:tspan');\n current.tspan.setAttributeNS(null, 'y', pf(-current.y));\n current.xcoords = [];\n }\n }, {\n key: \"endText\",\n value: function endText() {\n var current = this.current;\n\n if (current.textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG && current.txtElement && current.txtElement.hasChildNodes()) {\n current.element = current.txtElement;\n this.clip('nonzero');\n this.endPath();\n }\n }\n }, {\n key: \"setLineWidth\",\n value: function setLineWidth(width) {\n if (width > 0) {\n this.current.lineWidth = width;\n }\n }\n }, {\n key: \"setLineCap\",\n value: function setLineCap(style) {\n this.current.lineCap = LINE_CAP_STYLES[style];\n }\n }, {\n key: \"setLineJoin\",\n value: function setLineJoin(style) {\n this.current.lineJoin = LINE_JOIN_STYLES[style];\n }\n }, {\n key: \"setMiterLimit\",\n value: function setMiterLimit(limit) {\n this.current.miterLimit = limit;\n }\n }, {\n key: \"setStrokeAlpha\",\n value: function setStrokeAlpha(strokeAlpha) {\n this.current.strokeAlpha = strokeAlpha;\n }\n }, {\n key: \"setStrokeRGBColor\",\n value: function setStrokeRGBColor(r, g, b) {\n this.current.strokeColor = _util.Util.makeCssRgb(r, g, b);\n }\n }, {\n key: \"setFillAlpha\",\n value: function setFillAlpha(fillAlpha) {\n this.current.fillAlpha = fillAlpha;\n }\n }, {\n key: \"setFillRGBColor\",\n value: function setFillRGBColor(r, g, b) {\n this.current.fillColor = _util.Util.makeCssRgb(r, g, b);\n this.current.tspan = this.svgFactory.createElement('svg:tspan');\n this.current.xcoords = [];\n }\n }, {\n key: \"setStrokeColorN\",\n value: function setStrokeColorN(args) {\n this.current.strokeColor = this._makeColorN_Pattern(args);\n }\n }, {\n key: \"setFillColorN\",\n value: function setFillColorN(args) {\n this.current.fillColor = this._makeColorN_Pattern(args);\n }\n }, {\n key: \"shadingFill\",\n value: function shadingFill(args) {\n var width = this.viewport.width;\n var height = this.viewport.height;\n\n var inv = _util.Util.inverseTransform(this.transformMatrix);\n\n var bl = _util.Util.applyTransform([0, 0], inv);\n\n var br = _util.Util.applyTransform([0, height], inv);\n\n var ul = _util.Util.applyTransform([width, 0], inv);\n\n var ur = _util.Util.applyTransform([width, height], inv);\n\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 var rect = this.svgFactory.createElement('svg:rect');\n rect.setAttributeNS(null, 'x', x0);\n rect.setAttributeNS(null, 'y', y0);\n rect.setAttributeNS(null, 'width', x1 - x0);\n rect.setAttributeNS(null, 'height', y1 - y0);\n rect.setAttributeNS(null, 'fill', this._makeShadingPattern(args));\n\n this._ensureTransformGroup().appendChild(rect);\n }\n }, {\n key: \"_makeColorN_Pattern\",\n value: function _makeColorN_Pattern(args) {\n if (args[0] === 'TilingPattern') {\n return this._makeTilingPattern(args);\n }\n\n return this._makeShadingPattern(args);\n }\n }, {\n key: \"_makeTilingPattern\",\n value: function _makeTilingPattern(args) {\n var color = args[1];\n var operatorList = args[2];\n var matrix = args[3] || _util.IDENTITY_MATRIX;\n\n var _args$ = _slicedToArray(args[4], 4),\n x0 = _args$[0],\n y0 = _args$[1],\n x1 = _args$[2],\n y1 = _args$[3];\n\n var xstep = args[5];\n var ystep = args[6];\n var paintType = args[7];\n var tilingId = \"shading\".concat(shadingCount++);\n\n var _Util$applyTransform = _util.Util.applyTransform([x0, y0], matrix),\n _Util$applyTransform2 = _slicedToArray(_Util$applyTransform, 2),\n tx0 = _Util$applyTransform2[0],\n ty0 = _Util$applyTransform2[1];\n\n var _Util$applyTransform3 = _util.Util.applyTransform([x1, y1], matrix),\n _Util$applyTransform4 = _slicedToArray(_Util$applyTransform3, 2),\n tx1 = _Util$applyTransform4[0],\n ty1 = _Util$applyTransform4[1];\n\n var _Util$singularValueDe = _util.Util.singularValueDecompose2dScale(matrix),\n _Util$singularValueDe2 = _slicedToArray(_Util$singularValueDe, 2),\n xscale = _Util$singularValueDe2[0],\n yscale = _Util$singularValueDe2[1];\n\n var txstep = xstep * xscale;\n var tystep = ystep * yscale;\n var tiling = this.svgFactory.createElement('svg:pattern');\n tiling.setAttributeNS(null, 'id', tilingId);\n tiling.setAttributeNS(null, 'patternUnits', 'userSpaceOnUse');\n tiling.setAttributeNS(null, 'width', txstep);\n tiling.setAttributeNS(null, 'height', tystep);\n tiling.setAttributeNS(null, 'x', \"\".concat(tx0));\n tiling.setAttributeNS(null, 'y', \"\".concat(ty0));\n var svg = this.svg;\n var transformMatrix = this.transformMatrix;\n var fillColor = this.current.fillColor;\n var strokeColor = this.current.strokeColor;\n var bbox = this.svgFactory.create(tx1 - tx0, ty1 - ty0);\n this.svg = bbox;\n this.transformMatrix = matrix;\n\n if (paintType === 2) {\n var cssColor = _util.Util.makeCssRgb.apply(_util.Util, _toConsumableArray(color));\n\n this.current.fillColor = cssColor;\n this.current.strokeColor = cssColor;\n }\n\n this.executeOpTree(this.convertOpList(operatorList));\n this.svg = svg;\n this.transformMatrix = transformMatrix;\n this.current.fillColor = fillColor;\n this.current.strokeColor = strokeColor;\n tiling.appendChild(bbox.childNodes[0]);\n this.defs.appendChild(tiling);\n return \"url(#\".concat(tilingId, \")\");\n }\n }, {\n key: \"_makeShadingPattern\",\n value: function _makeShadingPattern(args) {\n switch (args[0]) {\n case 'RadialAxial':\n var shadingId = \"shading\".concat(shadingCount++);\n var colorStops = args[2];\n var gradient;\n\n switch (args[1]) {\n case 'axial':\n var point0 = args[3];\n var point1 = args[4];\n gradient = this.svgFactory.createElement('svg:linearGradient');\n gradient.setAttributeNS(null, 'id', shadingId);\n gradient.setAttributeNS(null, 'gradientUnits', 'userSpaceOnUse');\n gradient.setAttributeNS(null, 'x1', point0[0]);\n gradient.setAttributeNS(null, 'y1', point0[1]);\n gradient.setAttributeNS(null, 'x2', point1[0]);\n gradient.setAttributeNS(null, 'y2', point1[1]);\n break;\n\n case 'radial':\n var focalPoint = args[3];\n var circlePoint = args[4];\n var focalRadius = args[5];\n var circleRadius = args[6];\n gradient = this.svgFactory.createElement('svg:radialGradient');\n gradient.setAttributeNS(null, 'id', shadingId);\n gradient.setAttributeNS(null, 'gradientUnits', 'userSpaceOnUse');\n gradient.setAttributeNS(null, 'cx', circlePoint[0]);\n gradient.setAttributeNS(null, 'cy', circlePoint[1]);\n gradient.setAttributeNS(null, 'r', circleRadius);\n gradient.setAttributeNS(null, 'fx', focalPoint[0]);\n gradient.setAttributeNS(null, 'fy', focalPoint[1]);\n gradient.setAttributeNS(null, 'fr', focalRadius);\n break;\n\n default:\n throw new Error(\"Unknown RadialAxial type: \".concat(args[1]));\n }\n\n var _iteratorNormalCompletion5 = true;\n var _didIteratorError5 = false;\n var _iteratorError5 = undefined;\n\n try {\n for (var _iterator5 = colorStops[Symbol.iterator](), _step5; !(_iteratorNormalCompletion5 = (_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = true) {\n var colorStop = _step5.value;\n var stop = this.svgFactory.createElement('svg:stop');\n stop.setAttributeNS(null, 'offset', colorStop[0]);\n stop.setAttributeNS(null, 'stop-color', colorStop[1]);\n gradient.appendChild(stop);\n }\n } catch (err) {\n _didIteratorError5 = true;\n _iteratorError5 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion5 && _iterator5[\"return\"] != null) {\n _iterator5[\"return\"]();\n }\n } finally {\n if (_didIteratorError5) {\n throw _iteratorError5;\n }\n }\n }\n\n this.defs.appendChild(gradient);\n return \"url(#\".concat(shadingId, \")\");\n\n case 'Mesh':\n (0, _util.warn)('Unimplemented pattern Mesh');\n return null;\n\n case 'Dummy':\n return 'hotpink';\n\n default:\n throw new Error(\"Unknown IR type: \".concat(args[0]));\n }\n }\n }, {\n key: \"setDash\",\n value: function setDash(dashArray, dashPhase) {\n this.current.dashArray = dashArray;\n this.current.dashPhase = dashPhase;\n }\n }, {\n key: \"constructPath\",\n value: function constructPath(ops, args) {\n var current = this.current;\n var x = current.x,\n y = current.y;\n var d = [];\n var j = 0;\n var _iteratorNormalCompletion6 = true;\n var _didIteratorError6 = false;\n var _iteratorError6 = undefined;\n\n try {\n for (var _iterator6 = ops[Symbol.iterator](), _step6; !(_iteratorNormalCompletion6 = (_step6 = _iterator6.next()).done); _iteratorNormalCompletion6 = true) {\n var op = _step6.value;\n\n switch (op | 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\n case _util.OPS.moveTo:\n x = args[j++];\n y = args[j++];\n d.push('M', pf(x), pf(y));\n break;\n\n case _util.OPS.lineTo:\n x = args[j++];\n y = args[j++];\n d.push('L', pf(x), pf(y));\n break;\n\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\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\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\n case _util.OPS.closePath:\n d.push('Z');\n break;\n }\n }\n } catch (err) {\n _didIteratorError6 = true;\n _iteratorError6 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion6 && _iterator6[\"return\"] != null) {\n _iterator6[\"return\"]();\n }\n } finally {\n if (_didIteratorError6) {\n throw _iteratorError6;\n }\n }\n }\n\n d = d.join(' ');\n\n if (current.path && ops.length > 0 && ops[0] !== _util.OPS.rectangle && ops[0] !== _util.OPS.moveTo) {\n d = current.path.getAttributeNS(null, 'd') + d;\n } else {\n current.path = this.svgFactory.createElement('svg:path');\n\n this._ensureTransformGroup().appendChild(current.path);\n }\n\n current.path.setAttributeNS(null, 'd', d);\n current.path.setAttributeNS(null, 'fill', 'none');\n current.element = current.path;\n current.setCurrentPoint(x, y);\n }\n }, {\n key: \"endPath\",\n value: function endPath() {\n var current = this.current;\n current.path = null;\n\n if (!this.pendingClip) {\n return;\n }\n\n if (!current.element) {\n this.pendingClip = null;\n return;\n }\n\n var clipId = \"clippath\".concat(clipCount++);\n var clipPath = this.svgFactory.createElement('svg:clipPath');\n clipPath.setAttributeNS(null, 'id', clipId);\n clipPath.setAttributeNS(null, 'transform', pm(this.transformMatrix));\n var clipElement = current.element.cloneNode(true);\n\n if (this.pendingClip === 'evenodd') {\n clipElement.setAttributeNS(null, 'clip-rule', 'evenodd');\n } else {\n clipElement.setAttributeNS(null, 'clip-rule', 'nonzero');\n }\n\n this.pendingClip = null;\n clipPath.appendChild(clipElement);\n this.defs.appendChild(clipPath);\n\n if (current.activeClipUrl) {\n current.clipGroup = null;\n this.extraStack.forEach(function (prev) {\n prev.clipGroup = null;\n });\n clipPath.setAttributeNS(null, 'clip-path', current.activeClipUrl);\n }\n\n current.activeClipUrl = \"url(#\".concat(clipId, \")\");\n this.tgrp = null;\n }\n }, {\n key: \"clip\",\n value: function clip(type) {\n this.pendingClip = type;\n }\n }, {\n key: \"closePath\",\n value: function closePath() {\n var current = this.current;\n\n if (current.path) {\n var d = \"\".concat(current.path.getAttributeNS(null, 'd'), \"Z\");\n current.path.setAttributeNS(null, 'd', d);\n }\n }\n }, {\n key: \"setLeading\",\n value: function setLeading(leading) {\n this.current.leading = -leading;\n }\n }, {\n key: \"setTextRise\",\n value: function setTextRise(textRise) {\n this.current.textRise = textRise;\n }\n }, {\n key: \"setTextRenderingMode\",\n value: function setTextRenderingMode(textRenderingMode) {\n this.current.textRenderingMode = textRenderingMode;\n }\n }, {\n key: \"setHScale\",\n value: function setHScale(scale) {\n this.current.textHScale = scale / 100;\n }\n }, {\n key: \"setRenderingIntent\",\n value: function setRenderingIntent(intent) {}\n }, {\n key: \"setFlatness\",\n value: function setFlatness(flatness) {}\n }, {\n key: \"setGState\",\n value: function setGState(states) {\n var _iteratorNormalCompletion7 = true;\n var _didIteratorError7 = false;\n var _iteratorError7 = undefined;\n\n try {\n for (var _iterator7 = states[Symbol.iterator](), _step7; !(_iteratorNormalCompletion7 = (_step7 = _iterator7.next()).done); _iteratorNormalCompletion7 = true) {\n var _step7$value = _slicedToArray(_step7.value, 2),\n key = _step7$value[0],\n value = _step7$value[1];\n\n switch (key) {\n case 'LW':\n this.setLineWidth(value);\n break;\n\n case 'LC':\n this.setLineCap(value);\n break;\n\n case 'LJ':\n this.setLineJoin(value);\n break;\n\n case 'ML':\n this.setMiterLimit(value);\n break;\n\n case 'D':\n this.setDash(value[0], value[1]);\n break;\n\n case 'RI':\n this.setRenderingIntent(value);\n break;\n\n case 'FL':\n this.setFlatness(value);\n break;\n\n case 'Font':\n this.setFont(value);\n break;\n\n case 'CA':\n this.setStrokeAlpha(value);\n break;\n\n case 'ca':\n this.setFillAlpha(value);\n break;\n\n default:\n (0, _util.warn)(\"Unimplemented graphic state operator \".concat(key));\n break;\n }\n }\n } catch (err) {\n _didIteratorError7 = true;\n _iteratorError7 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion7 && _iterator7[\"return\"] != null) {\n _iterator7[\"return\"]();\n }\n } finally {\n if (_didIteratorError7) {\n throw _iteratorError7;\n }\n }\n }\n }\n }, {\n key: \"fill\",\n value: function fill() {\n var current = this.current;\n\n if (current.element) {\n current.element.setAttributeNS(null, 'fill', current.fillColor);\n current.element.setAttributeNS(null, 'fill-opacity', current.fillAlpha);\n this.endPath();\n }\n }\n }, {\n key: \"stroke\",\n value: function stroke() {\n var current = this.current;\n\n if (current.element) {\n this._setStrokeAttributes(current.element);\n\n current.element.setAttributeNS(null, 'fill', 'none');\n this.endPath();\n }\n }\n }, {\n key: \"_setStrokeAttributes\",\n value: function _setStrokeAttributes(element) {\n var lineWidthScale = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n var current = this.current;\n var dashArray = current.dashArray;\n\n if (lineWidthScale !== 1 && dashArray.length > 0) {\n dashArray = dashArray.map(function (value) {\n return lineWidthScale * value;\n });\n }\n\n element.setAttributeNS(null, 'stroke', current.strokeColor);\n element.setAttributeNS(null, 'stroke-opacity', current.strokeAlpha);\n element.setAttributeNS(null, 'stroke-miterlimit', pf(current.miterLimit));\n element.setAttributeNS(null, 'stroke-linecap', current.lineCap);\n element.setAttributeNS(null, 'stroke-linejoin', current.lineJoin);\n element.setAttributeNS(null, 'stroke-width', pf(lineWidthScale * current.lineWidth) + 'px');\n element.setAttributeNS(null, 'stroke-dasharray', dashArray.map(pf).join(' '));\n element.setAttributeNS(null, 'stroke-dashoffset', pf(lineWidthScale * current.dashPhase) + 'px');\n }\n }, {\n key: \"eoFill\",\n value: function eoFill() {\n if (this.current.element) {\n this.current.element.setAttributeNS(null, 'fill-rule', 'evenodd');\n }\n\n this.fill();\n }\n }, {\n key: \"fillStroke\",\n value: function fillStroke() {\n this.stroke();\n this.fill();\n }\n }, {\n key: \"eoFillStroke\",\n value: function eoFillStroke() {\n if (this.current.element) {\n this.current.element.setAttributeNS(null, 'fill-rule', 'evenodd');\n }\n\n this.fillStroke();\n }\n }, {\n key: \"closeStroke\",\n value: function closeStroke() {\n this.closePath();\n this.stroke();\n }\n }, {\n key: \"closeFillStroke\",\n value: function closeFillStroke() {\n this.closePath();\n this.fillStroke();\n }\n }, {\n key: \"closeEOFillStroke\",\n value: function closeEOFillStroke() {\n this.closePath();\n this.eoFillStroke();\n }\n }, {\n key: \"paintSolidColorImageMask\",\n value: function paintSolidColorImageMask() {\n var rect = this.svgFactory.createElement('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', this.current.fillColor);\n\n this._ensureTransformGroup().appendChild(rect);\n }\n }, {\n key: \"paintJpegXObject\",\n value: function paintJpegXObject(objId, w, h) {\n var imgObj = this.objs.get(objId);\n var imgEl = this.svgFactory.createElement('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(\".concat(pf(1 / w), \" \").concat(pf(-1 / h), \")\"));\n\n this._ensureTransformGroup().appendChild(imgEl);\n }\n }, {\n key: \"paintImageXObject\",\n value: function paintImageXObject(objId) {\n var imgData = this.objs.get(objId);\n\n if (!imgData) {\n (0, _util.warn)(\"Dependent image with object ID \".concat(objId, \" is not ready yet\"));\n return;\n }\n\n this.paintInlineImageXObject(imgData);\n }\n }, {\n key: \"paintInlineImageXObject\",\n value: function paintInlineImageXObject(imgData, mask) {\n var width = imgData.width;\n var height = imgData.height;\n var imgSrc = convertImgDataToPng(imgData, this.forceDataSchema, !!mask);\n var cliprect = this.svgFactory.createElement('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 = this.svgFactory.createElement('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(\".concat(pf(1 / width), \" \").concat(pf(-1 / height), \")\"));\n\n if (mask) {\n mask.appendChild(imgEl);\n } else {\n this._ensureTransformGroup().appendChild(imgEl);\n }\n }\n }, {\n key: \"paintImageMaskXObject\",\n value: function 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\".concat(maskCount++);\n var mask = this.svgFactory.createElement('svg:mask');\n mask.setAttributeNS(null, 'id', current.maskId);\n var rect = this.svgFactory.createElement('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(#\".concat(current.maskId, \")\"));\n this.defs.appendChild(mask);\n\n this._ensureTransformGroup().appendChild(rect);\n\n this.paintInlineImageXObject(imgData, mask);\n }\n }, {\n key: \"paintFormXObjectBegin\",\n value: function paintFormXObjectBegin(matrix, bbox) {\n if (Array.isArray(matrix) && matrix.length === 6) {\n this.transform(matrix[0], matrix[1], matrix[2], matrix[3], matrix[4], matrix[5]);\n }\n\n if (bbox) {\n var width = bbox[2] - bbox[0];\n var height = bbox[3] - bbox[1];\n var cliprect = this.svgFactory.createElement('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 }, {\n key: \"paintFormXObjectEnd\",\n value: function paintFormXObjectEnd() {}\n }, {\n key: \"_initialize\",\n value: function _initialize(viewport) {\n var svg = this.svgFactory.create(viewport.width, viewport.height);\n var definitions = this.svgFactory.createElement('svg:defs');\n svg.appendChild(definitions);\n this.defs = definitions;\n var rootGroup = this.svgFactory.createElement('svg:g');\n rootGroup.setAttributeNS(null, 'transform', pm(viewport.transform));\n svg.appendChild(rootGroup);\n this.svg = rootGroup;\n return svg;\n }\n }, {\n key: \"_ensureClipGroup\",\n value: function _ensureClipGroup() {\n if (!this.current.clipGroup) {\n var clipGroup = this.svgFactory.createElement('svg:g');\n clipGroup.setAttributeNS(null, 'clip-path', this.current.activeClipUrl);\n this.svg.appendChild(clipGroup);\n this.current.clipGroup = clipGroup;\n }\n\n return this.current.clipGroup;\n }\n }, {\n key: \"_ensureTransformGroup\",\n value: function _ensureTransformGroup() {\n if (!this.tgrp) {\n this.tgrp = this.svgFactory.createElement('svg:g');\n this.tgrp.setAttributeNS(null, 'transform', pm(this.transformMatrix));\n\n if (this.current.activeClipUrl) {\n this._ensureClipGroup().appendChild(this.tgrp);\n } else {\n this.svg.appendChild(this.tgrp);\n }\n }\n\n return this.tgrp;\n }\n }]);\n\n return SVGGraphics;\n }();\n}\n\n/***/ }),\n/* 165 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFNodeStream = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(148));\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _network_utils = __w_pdfjs_require__(166);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar fs = __webpack_require__(/*! fs */ 1);\n\nvar http = __webpack_require__(/*! http */ 2);\n\nvar https = __webpack_require__(/*! https */ 3);\n\nvar url = __webpack_require__(/*! url */ \"./node_modules/url/url.js\");\n\nvar fileUriRegex = /^file:\\/\\/\\/[a-zA-Z]:\\//;\n\nfunction parseUrl(sourceUrl) {\n var parsedUrl = url.parse(sourceUrl);\n\n if (parsedUrl.protocol === 'file:' || parsedUrl.host) {\n return parsedUrl;\n }\n\n if (/^[a-z]:[/\\\\]/i.test(sourceUrl)) {\n return url.parse(\"file:///\".concat(sourceUrl));\n }\n\n if (!parsedUrl.host) {\n parsedUrl.protocol = 'file:';\n }\n\n return parsedUrl;\n}\n\nvar PDFNodeStream =\n/*#__PURE__*/\nfunction () {\n function PDFNodeStream(source) {\n _classCallCheck(this, PDFNodeStream);\n\n this.source = source;\n this.url = parseUrl(source.url);\n this.isHttp = this.url.protocol === 'http:' || this.url.protocol === 'https:';\n this.isFsUrl = this.url.protocol === 'file:';\n this.httpHeaders = this.isHttp && source.httpHeaders || {};\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n\n _createClass(PDFNodeStream, [{\n key: \"getFullReader\",\n value: function getFullReader() {\n (0, _util.assert)(!this._fullRequestReader);\n this._fullRequestReader = this.isFsUrl ? new PDFNodeStreamFsFullReader(this) : new PDFNodeStreamFullReader(this);\n return this._fullRequestReader;\n }\n }, {\n key: \"getRangeReader\",\n value: function getRangeReader(start, end) {\n if (end <= this._progressiveDataLength) {\n return null;\n }\n\n var rangeReader = this.isFsUrl ? new PDFNodeStreamFsRangeReader(this, start, end) : new PDFNodeStreamRangeReader(this, start, end);\n\n this._rangeRequestReaders.push(rangeReader);\n\n return rangeReader;\n }\n }, {\n key: \"cancelAllRequests\",\n value: function cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n\n var readers = this._rangeRequestReaders.slice(0);\n\n readers.forEach(function (reader) {\n reader.cancel(reason);\n });\n }\n }, {\n key: \"_progressiveDataLength\",\n get: function get() {\n return this._fullRequestReader ? this._fullRequestReader._loaded : 0;\n }\n }]);\n\n return PDFNodeStream;\n}();\n\nexports.PDFNodeStream = PDFNodeStream;\n\nvar BaseFullReader =\n/*#__PURE__*/\nfunction () {\n function BaseFullReader(stream) {\n _classCallCheck(this, BaseFullReader);\n\n this._url = stream.url;\n this._done = false;\n this._storedError = null;\n this.onProgress = null;\n var source = stream.source;\n this._contentLength = source.length;\n this._loaded = 0;\n this._filename = null;\n this._disableRange = source.disableRange || false;\n this._rangeChunkSize = source.rangeChunkSize;\n\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n\n this._isStreamingSupported = !source.disableStream;\n this._isRangeSupported = !source.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 () {\n var _read = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee() {\n var chunk, buffer;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return this._readCapability.promise;\n\n case 2:\n if (!this._done) {\n _context.next = 4;\n break;\n }\n\n return _context.abrupt(\"return\", {\n value: undefined,\n done: true\n });\n\n case 4:\n if (!this._storedError) {\n _context.next = 6;\n break;\n }\n\n throw this._storedError;\n\n case 6:\n chunk = this._readableStream.read();\n\n if (!(chunk === null)) {\n _context.next = 10;\n break;\n }\n\n this._readCapability = (0, _util.createPromiseCapability)();\n return _context.abrupt(\"return\", this.read());\n\n case 10:\n this._loaded += chunk.length;\n\n if (this.onProgress) {\n this.onProgress({\n loaded: this._loaded,\n total: this._contentLength\n });\n }\n\n buffer = new Uint8Array(chunk).buffer;\n return _context.abrupt(\"return\", {\n value: buffer,\n done: false\n });\n\n case 14:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function read() {\n return _read.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n if (!this._readableStream) {\n this._error(reason);\n\n return;\n }\n\n this._readableStream.destroy(reason);\n }\n }, {\n key: \"_error\",\n value: function _error(reason) {\n this._storedError = reason;\n\n this._readCapability.resolve();\n }\n }, {\n key: \"_setReadableStream\",\n value: function _setReadableStream(readableStream) {\n var _this = this;\n\n this._readableStream = readableStream;\n readableStream.on('readable', function () {\n _this._readCapability.resolve();\n });\n readableStream.on('end', function () {\n readableStream.destroy();\n _this._done = true;\n\n _this._readCapability.resolve();\n });\n readableStream.on('error', function (reason) {\n _this._error(reason);\n });\n\n if (!this._isStreamingSupported && this._isRangeSupported) {\n this._error(new _util.AbortException('streaming is disabled'));\n }\n\n if (this._storedError) {\n this._readableStream.destroy(this._storedError);\n }\n }\n }, {\n key: \"headersReady\",\n get: function get() {\n return this._headersCapability.promise;\n }\n }, {\n key: \"filename\",\n get: function get() {\n return this._filename;\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 =\n/*#__PURE__*/\nfunction () {\n function BaseRangeReader(stream) {\n _classCallCheck(this, BaseRangeReader);\n\n this._url = stream.url;\n this._done = false;\n this._storedError = null;\n this.onProgress = null;\n this._loaded = 0;\n this._readableStream = null;\n this._readCapability = (0, _util.createPromiseCapability)();\n var source = stream.source;\n this._isStreamingSupported = !source.disableStream;\n }\n\n _createClass(BaseRangeReader, [{\n key: \"read\",\n value: function () {\n var _read2 = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee2() {\n var chunk, buffer;\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return this._readCapability.promise;\n\n case 2:\n if (!this._done) {\n _context2.next = 4;\n break;\n }\n\n return _context2.abrupt(\"return\", {\n value: undefined,\n done: true\n });\n\n case 4:\n if (!this._storedError) {\n _context2.next = 6;\n break;\n }\n\n throw this._storedError;\n\n case 6:\n chunk = this._readableStream.read();\n\n if (!(chunk === null)) {\n _context2.next = 10;\n break;\n }\n\n this._readCapability = (0, _util.createPromiseCapability)();\n return _context2.abrupt(\"return\", this.read());\n\n case 10:\n this._loaded += chunk.length;\n\n if (this.onProgress) {\n this.onProgress({\n loaded: this._loaded\n });\n }\n\n buffer = new Uint8Array(chunk).buffer;\n return _context2.abrupt(\"return\", {\n value: buffer,\n done: false\n });\n\n case 14:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function read() {\n return _read2.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n if (!this._readableStream) {\n this._error(reason);\n\n return;\n }\n\n this._readableStream.destroy(reason);\n }\n }, {\n key: \"_error\",\n value: function _error(reason) {\n this._storedError = reason;\n\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\n _this2._readCapability.resolve();\n });\n readableStream.on('error', function (reason) {\n _this2._error(reason);\n });\n\n if (this._storedError) {\n this._readableStream.destroy(this._storedError);\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 =\n/*#__PURE__*/\nfunction (_BaseFullReader) {\n _inherits(PDFNodeStreamFullReader, _BaseFullReader);\n\n function PDFNodeStreamFullReader(stream) {\n var _this3;\n\n _classCallCheck(this, PDFNodeStreamFullReader);\n\n _this3 = _possibleConstructorReturn(this, _getPrototypeOf(PDFNodeStreamFullReader).call(this, stream));\n\n var handleResponse = function handleResponse(response) {\n if (response.statusCode === 404) {\n var error = new _util.MissingPDFException(\"Missing PDF \\\"\".concat(_this3._url, \"\\\".\"));\n _this3._storedError = error;\n\n _this3._headersCapability.reject(error);\n\n return;\n }\n\n _this3._headersCapability.resolve();\n\n _this3._setReadableStream(response);\n\n var getResponseHeader = function getResponseHeader(name) {\n return _this3._readableStream.headers[name.toLowerCase()];\n };\n\n var _validateRangeRequest = (0, _network_utils.validateRangeRequestCapabilities)({\n getResponseHeader: getResponseHeader,\n isHttp: stream.isHttp,\n rangeChunkSize: _this3._rangeChunkSize,\n disableRange: _this3._disableRange\n }),\n allowRangeRequests = _validateRangeRequest.allowRangeRequests,\n suggestedLength = _validateRangeRequest.suggestedLength;\n\n _this3._isRangeSupported = allowRangeRequests;\n _this3._contentLength = suggestedLength || _this3._contentLength;\n _this3._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);\n };\n\n _this3._request = null;\n\n if (_this3._url.protocol === 'http:') {\n _this3._request = http.request(createRequestOptions(_this3._url, stream.httpHeaders), handleResponse);\n } else {\n _this3._request = https.request(createRequestOptions(_this3._url, stream.httpHeaders), handleResponse);\n }\n\n _this3._request.on('error', function (reason) {\n _this3._storedError = reason;\n\n _this3._headersCapability.reject(reason);\n });\n\n _this3._request.end();\n\n return _this3;\n }\n\n return PDFNodeStreamFullReader;\n}(BaseFullReader);\n\nvar PDFNodeStreamRangeReader =\n/*#__PURE__*/\nfunction (_BaseRangeReader) {\n _inherits(PDFNodeStreamRangeReader, _BaseRangeReader);\n\n function PDFNodeStreamRangeReader(stream, start, end) {\n var _this4;\n\n _classCallCheck(this, PDFNodeStreamRangeReader);\n\n _this4 = _possibleConstructorReturn(this, _getPrototypeOf(PDFNodeStreamRangeReader).call(this, stream));\n _this4._httpHeaders = {};\n\n for (var property in stream.httpHeaders) {\n var value = stream.httpHeaders[property];\n\n if (typeof value === 'undefined') {\n continue;\n }\n\n _this4._httpHeaders[property] = value;\n }\n\n _this4._httpHeaders['Range'] = \"bytes=\".concat(start, \"-\").concat(end - 1);\n\n var handleResponse = function handleResponse(response) {\n if (response.statusCode === 404) {\n var error = new _util.MissingPDFException(\"Missing PDF \\\"\".concat(_this4._url, \"\\\".\"));\n _this4._storedError = error;\n return;\n }\n\n _this4._setReadableStream(response);\n };\n\n _this4._request = null;\n\n if (_this4._url.protocol === 'http:') {\n _this4._request = http.request(createRequestOptions(_this4._url, _this4._httpHeaders), handleResponse);\n } else {\n _this4._request = https.request(createRequestOptions(_this4._url, _this4._httpHeaders), handleResponse);\n }\n\n _this4._request.on('error', function (reason) {\n _this4._storedError = reason;\n });\n\n _this4._request.end();\n\n return _this4;\n }\n\n return PDFNodeStreamRangeReader;\n}(BaseRangeReader);\n\nvar PDFNodeStreamFsFullReader =\n/*#__PURE__*/\nfunction (_BaseFullReader2) {\n _inherits(PDFNodeStreamFsFullReader, _BaseFullReader2);\n\n function PDFNodeStreamFsFullReader(stream) {\n var _this5;\n\n _classCallCheck(this, PDFNodeStreamFsFullReader);\n\n _this5 = _possibleConstructorReturn(this, _getPrototypeOf(PDFNodeStreamFsFullReader).call(this, stream));\n var path = decodeURIComponent(_this5._url.path);\n\n if (fileUriRegex.test(_this5._url.href)) {\n path = path.replace(/^\\//, '');\n }\n\n fs.lstat(path, function (error, stat) {\n if (error) {\n if (error.code === 'ENOENT') {\n error = new _util.MissingPDFException(\"Missing PDF \\\"\".concat(path, \"\\\".\"));\n }\n\n _this5._storedError = error;\n\n _this5._headersCapability.reject(error);\n\n return;\n }\n\n _this5._contentLength = stat.size;\n\n _this5._setReadableStream(fs.createReadStream(path));\n\n _this5._headersCapability.resolve();\n });\n return _this5;\n }\n\n return PDFNodeStreamFsFullReader;\n}(BaseFullReader);\n\nvar PDFNodeStreamFsRangeReader =\n/*#__PURE__*/\nfunction (_BaseRangeReader2) {\n _inherits(PDFNodeStreamFsRangeReader, _BaseRangeReader2);\n\n function PDFNodeStreamFsRangeReader(stream, start, end) {\n var _this6;\n\n _classCallCheck(this, PDFNodeStreamFsRangeReader);\n\n _this6 = _possibleConstructorReturn(this, _getPrototypeOf(PDFNodeStreamFsRangeReader).call(this, stream));\n var path = decodeURIComponent(_this6._url.path);\n\n if (fileUriRegex.test(_this6._url.href)) {\n path = path.replace(/^\\//, '');\n }\n\n _this6._setReadableStream(fs.createReadStream(path, {\n start: start,\n end: end - 1\n }));\n\n return _this6;\n }\n\n return PDFNodeStreamFsRangeReader;\n}(BaseRangeReader);\n\n/***/ }),\n/* 166 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.createResponseStatusError = createResponseStatusError;\nexports.extractFilenameFromHeader = extractFilenameFromHeader;\nexports.validateRangeRequestCapabilities = validateRangeRequestCapabilities;\nexports.validateResponseStatus = validateResponseStatus;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _content_disposition = __w_pdfjs_require__(167);\n\nfunction 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, 'Range chunk size must be larger than zero');\n var returnValues = {\n allowRangeRequests: false,\n suggestedLength: undefined\n };\n var length = parseInt(getResponseHeader('Content-Length'), 10);\n\n if (!Number.isInteger(length)) {\n return returnValues;\n }\n\n returnValues.suggestedLength = length;\n\n if (length <= 2 * rangeChunkSize) {\n return returnValues;\n }\n\n if (disableRange || !isHttp) {\n return returnValues;\n }\n\n if (getResponseHeader('Accept-Ranges') !== 'bytes') {\n return returnValues;\n }\n\n var contentEncoding = getResponseHeader('Content-Encoding') || 'identity';\n\n if (contentEncoding !== 'identity') {\n return returnValues;\n }\n\n returnValues.allowRangeRequests = true;\n return returnValues;\n}\n\nfunction extractFilenameFromHeader(getResponseHeader) {\n var contentDisposition = getResponseHeader('Content-Disposition');\n\n if (contentDisposition) {\n var filename = (0, _content_disposition.getFilenameFromContentDispositionHeader)(contentDisposition);\n\n if (/\\.pdf$/i.test(filename)) {\n return filename;\n }\n }\n\n return null;\n}\n\nfunction createResponseStatusError(status, url) {\n if (status === 404 || status === 0 && /^file:/.test(url)) {\n return new _util.MissingPDFException('Missing PDF \"' + url + '\".');\n }\n\n return new _util.UnexpectedResponseException('Unexpected server response (' + status + ') while retrieving PDF \"' + url + '\".', status);\n}\n\nfunction validateResponseStatus(status) {\n return status === 200 || status === 206;\n}\n\n/***/ }),\n/* 167 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getFilenameFromContentDispositionHeader = getFilenameFromContentDispositionHeader;\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction getFilenameFromContentDispositionHeader(contentDisposition) {\n var needsEncodingFixup = true;\n var tmp = toParamRegExp('filename\\\\*', 'i').exec(contentDisposition);\n\n if (tmp) {\n tmp = tmp[1];\n var filename = rfc2616unquote(tmp);\n filename = unescape(filename);\n filename = rfc5987decode(filename);\n filename = rfc2047decode(filename);\n return fixupEncoding(filename);\n }\n\n tmp = rfc2231getparam(contentDisposition);\n\n if (tmp) {\n var _filename = rfc2047decode(tmp);\n\n return fixupEncoding(_filename);\n }\n\n tmp = toParamRegExp('filename', 'i').exec(contentDisposition);\n\n if (tmp) {\n tmp = tmp[1];\n\n var _filename2 = rfc2616unquote(tmp);\n\n _filename2 = rfc2047decode(_filename2);\n return fixupEncoding(_filename2);\n }\n\n function toParamRegExp(attributePattern, flags) {\n return new RegExp('(?:^|;)\\\\s*' + attributePattern + '\\\\s*=\\\\s*' + '(' + '[^\";\\\\s][^;\\\\s]*' + '|' + '\"(?:[^\"\\\\\\\\]|\\\\\\\\\"?)+\"?' + ')', flags);\n }\n\n function textdecode(encoding, value) {\n if (encoding) {\n if (!/^[\\x00-\\xFF]+$/.test(value)) {\n return value;\n }\n\n try {\n var decoder = new TextDecoder(encoding, {\n fatal: true\n });\n var bytes = Array.from(value, function (ch) {\n return ch.charCodeAt(0) & 0xFF;\n });\n value = decoder.decode(new Uint8Array(bytes));\n needsEncodingFixup = false;\n } catch (e) {\n if (/^utf-?8$/i.test(encoding)) {\n try {\n value = decodeURIComponent(escape(value));\n needsEncodingFixup = false;\n } catch (err) {}\n }\n }\n }\n\n return value;\n }\n\n function fixupEncoding(value) {\n if (needsEncodingFixup && /[\\x80-\\xff]/.test(value)) {\n value = textdecode('utf-8', value);\n\n if (needsEncodingFixup) {\n value = textdecode('iso-8859-1', value);\n }\n }\n\n return value;\n }\n\n function rfc2231getparam(contentDisposition) {\n var matches = [],\n match;\n var iter = toParamRegExp('filename\\\\*((?!0\\\\d)\\\\d+)(\\\\*?)', 'ig');\n\n while ((match = iter.exec(contentDisposition)) !== null) {\n var _match = match,\n _match2 = _slicedToArray(_match, 4),\n n = _match2[1],\n quot = _match2[2],\n part = _match2[3];\n\n n = parseInt(n, 10);\n\n if (n in matches) {\n if (n === 0) {\n break;\n }\n\n continue;\n }\n\n matches[n] = [quot, part];\n }\n\n var parts = [];\n\n for (var n = 0; n < matches.length; ++n) {\n if (!(n in matches)) {\n break;\n }\n\n var _matches$n = _slicedToArray(matches[n], 2),\n quot = _matches$n[0],\n part = _matches$n[1];\n\n part = rfc2616unquote(part);\n\n if (quot) {\n part = unescape(part);\n\n if (n === 0) {\n part = rfc5987decode(part);\n }\n }\n\n parts.push(part);\n }\n\n return parts.join('');\n }\n\n function rfc2616unquote(value) {\n if (value.startsWith('\"')) {\n var parts = value.slice(1).split('\\\\\"');\n\n for (var i = 0; i < parts.length; ++i) {\n var quotindex = parts[i].indexOf('\"');\n\n if (quotindex !== -1) {\n parts[i] = parts[i].slice(0, quotindex);\n parts.length = i + 1;\n }\n\n parts[i] = parts[i].replace(/\\\\(.)/g, '$1');\n }\n\n value = parts.join('\"');\n }\n\n return value;\n }\n\n function rfc5987decode(extvalue) {\n var encodingend = extvalue.indexOf('\\'');\n\n if (encodingend === -1) {\n return extvalue;\n }\n\n var encoding = extvalue.slice(0, encodingend);\n var langvalue = extvalue.slice(encodingend + 1);\n var value = langvalue.replace(/^[^']*'/, '');\n return textdecode(encoding, value);\n }\n\n function rfc2047decode(value) {\n if (!value.startsWith('=?') || /[\\x00-\\x19\\x80-\\xff]/.test(value)) {\n return value;\n }\n\n return value.replace(/=\\?([\\w-]*)\\?([QqBb])\\?((?:[^?]|\\?(?!=))*)\\?=/g, function (_, charset, encoding, text) {\n if (encoding === 'q' || encoding === 'Q') {\n text = text.replace(/_/g, ' ');\n text = text.replace(/=([0-9a-fA-F]{2})/g, function (_, hex) {\n return String.fromCharCode(parseInt(hex, 16));\n });\n return textdecode(charset, text);\n }\n\n try {\n text = atob(text);\n } catch (e) {}\n\n return textdecode(charset, text);\n });\n }\n\n return '';\n}\n\n/***/ }),\n/* 168 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFNetworkStream = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(148));\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _network_utils = __w_pdfjs_require__(166);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n;\nvar OK_RESPONSE = 200;\nvar PARTIAL_CONTENT_RESPONSE = 206;\n\nfunction getArrayBuffer(xhr) {\n var data = xhr.response;\n\n if (typeof data !== 'string') {\n return data;\n }\n\n var array = (0, _util.stringToBytes)(data);\n return array.buffer;\n}\n\nvar NetworkManager =\n/*#__PURE__*/\nfunction () {\n function NetworkManager(url, args) {\n _classCallCheck(this, NetworkManager);\n\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\n this.getXhr = args.getXhr || function NetworkManager_getXhr() {\n return new XMLHttpRequest();\n };\n\n this.currXhrId = 0;\n this.pendingRequests = Object.create(null);\n }\n\n _createClass(NetworkManager, [{\n key: \"requestRange\",\n value: function requestRange(begin, end, listeners) {\n var args = {\n begin: begin,\n end: end\n };\n\n for (var prop in listeners) {\n args[prop] = listeners[prop];\n }\n\n return this.request(args);\n }\n }, {\n key: \"requestFull\",\n value: function requestFull(listeners) {\n return this.request(listeners);\n }\n }, {\n key: \"request\",\n value: function 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\n for (var property in this.httpHeaders) {\n var value = this.httpHeaders[property];\n\n if (typeof value === 'undefined') {\n continue;\n }\n\n xhr.setRequestHeader(property, value);\n }\n\n if (this.isHttp && 'begin' in args && 'end' in args) {\n xhr.setRequestHeader('Range', \"bytes=\".concat(args.begin, \"-\").concat(args.end - 1));\n pendingRequest.expectedStatus = PARTIAL_CONTENT_RESPONSE;\n } else {\n pendingRequest.expectedStatus = OK_RESPONSE;\n }\n\n xhr.responseType = 'arraybuffer';\n\n if (args.onError) {\n xhr.onerror = function (evt) {\n args.onError(xhr.status);\n };\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 }, {\n key: \"onProgress\",\n value: function onProgress(xhrId, evt) {\n var pendingRequest = this.pendingRequests[xhrId];\n\n if (!pendingRequest) {\n return;\n }\n\n if (pendingRequest.onProgress) {\n pendingRequest.onProgress(evt);\n }\n }\n }, {\n key: \"onStateChange\",\n value: function onStateChange(xhrId, evt) {\n var pendingRequest = this.pendingRequests[xhrId];\n\n if (!pendingRequest) {\n return;\n }\n\n var xhr = pendingRequest.xhr;\n\n if (xhr.readyState >= 2 && pendingRequest.onHeadersReceived) {\n pendingRequest.onHeadersReceived();\n delete pendingRequest.onHeadersReceived;\n }\n\n if (xhr.readyState !== 4) {\n return;\n }\n\n if (!(xhrId in this.pendingRequests)) {\n return;\n }\n\n delete this.pendingRequests[xhrId];\n\n if (xhr.status === 0 && this.isHttp) {\n if (pendingRequest.onError) {\n pendingRequest.onError(xhr.status);\n }\n\n return;\n }\n\n var xhrStatus = xhr.status || OK_RESPONSE;\n var ok_response_on_range_request = xhrStatus === OK_RESPONSE && pendingRequest.expectedStatus === PARTIAL_CONTENT_RESPONSE;\n\n if (!ok_response_on_range_request && xhrStatus !== pendingRequest.expectedStatus) {\n if (pendingRequest.onError) {\n pendingRequest.onError(xhr.status);\n }\n\n return;\n }\n\n var chunk = getArrayBuffer(xhr);\n\n if (xhrStatus === PARTIAL_CONTENT_RESPONSE) {\n var rangeHeader = xhr.getResponseHeader('Content-Range');\n var matches = /bytes (\\d+)-(\\d+)\\/(\\d+)/.exec(rangeHeader);\n pendingRequest.onDone({\n begin: parseInt(matches[1], 10),\n chunk: chunk\n });\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 }, {\n key: \"hasPendingRequests\",\n value: function hasPendingRequests() {\n for (var xhrId in this.pendingRequests) {\n return true;\n }\n\n return false;\n }\n }, {\n key: \"getRequestXhr\",\n value: function getRequestXhr(xhrId) {\n return this.pendingRequests[xhrId].xhr;\n }\n }, {\n key: \"isPendingRequest\",\n value: function isPendingRequest(xhrId) {\n return xhrId in this.pendingRequests;\n }\n }, {\n key: \"abortAllRequests\",\n value: function abortAllRequests() {\n for (var xhrId in this.pendingRequests) {\n this.abortRequest(xhrId | 0);\n }\n }\n }, {\n key: \"abortRequest\",\n value: function abortRequest(xhrId) {\n var xhr = this.pendingRequests[xhrId].xhr;\n delete this.pendingRequests[xhrId];\n xhr.abort();\n }\n }]);\n\n return NetworkManager;\n}();\n\nvar PDFNetworkStream =\n/*#__PURE__*/\nfunction () {\n function PDFNetworkStream(source) {\n _classCallCheck(this, PDFNetworkStream);\n\n this._source = 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\n _createClass(PDFNetworkStream, [{\n key: \"_onRangeRequestReaderClosed\",\n value: function _onRangeRequestReaderClosed(reader) {\n var i = this._rangeRequestReaders.indexOf(reader);\n\n if (i >= 0) {\n this._rangeRequestReaders.splice(i, 1);\n }\n }\n }, {\n key: \"getFullReader\",\n value: function getFullReader() {\n (0, _util.assert)(!this._fullRequestReader);\n this._fullRequestReader = new PDFNetworkStreamFullRequestReader(this._manager, this._source);\n return this._fullRequestReader;\n }\n }, {\n key: \"getRangeReader\",\n value: function getRangeReader(begin, end) {\n var reader = new PDFNetworkStreamRangeRequestReader(this._manager, begin, end);\n reader.onClosed = this._onRangeRequestReaderClosed.bind(this);\n\n this._rangeRequestReaders.push(reader);\n\n return reader;\n }\n }, {\n key: \"cancelAllRequests\",\n value: function cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n\n var readers = this._rangeRequestReaders.slice(0);\n\n readers.forEach(function (reader) {\n reader.cancel(reason);\n });\n }\n }]);\n\n return PDFNetworkStream;\n}();\n\nexports.PDFNetworkStream = PDFNetworkStream;\n\nvar PDFNetworkStreamFullRequestReader =\n/*#__PURE__*/\nfunction () {\n function PDFNetworkStreamFullRequestReader(manager, source) {\n _classCallCheck(this, PDFNetworkStreamFullRequestReader);\n\n this._manager = manager;\n var args = {\n onHeadersReceived: this._onHeadersReceived.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 = source.disableRange || false;\n this._contentLength = source.length;\n this._rangeChunkSize = source.rangeChunkSize;\n\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\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._filename = null;\n this.onProgress = null;\n }\n\n _createClass(PDFNetworkStreamFullRequestReader, [{\n key: \"_onHeadersReceived\",\n value: function _onHeadersReceived() {\n var fullRequestXhrId = this._fullRequestId;\n\n var fullRequestXhr = this._manager.getRequestXhr(fullRequestXhrId);\n\n var getResponseHeader = function getResponseHeader(name) {\n return fullRequestXhr.getResponseHeader(name);\n };\n\n var _validateRangeRequest = (0, _network_utils.validateRangeRequestCapabilities)({\n getResponseHeader: getResponseHeader,\n isHttp: this._manager.isHttp,\n rangeChunkSize: this._rangeChunkSize,\n disableRange: this._disableRange\n }),\n allowRangeRequests = _validateRangeRequest.allowRangeRequests,\n suggestedLength = _validateRangeRequest.suggestedLength;\n\n if (allowRangeRequests) {\n this._isRangeSupported = true;\n }\n\n this._contentLength = suggestedLength || this._contentLength;\n this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);\n\n if (this._isRangeSupported) {\n this._manager.abortRequest(fullRequestXhrId);\n }\n\n this._headersReceivedCapability.resolve();\n }\n }, {\n key: \"_onDone\",\n value: function _onDone(args) {\n if (args) {\n if (this._requests.length > 0) {\n var requestCapability = this._requests.shift();\n\n requestCapability.resolve({\n value: args.chunk,\n done: false\n });\n } else {\n this._cachedChunks.push(args.chunk);\n }\n }\n\n this._done = true;\n\n if (this._cachedChunks.length > 0) {\n return;\n }\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n }\n }, {\n key: \"_onError\",\n value: function _onError(status) {\n var url = this._url;\n var exception = (0, _network_utils.createResponseStatusError)(status, url);\n this._storedError = exception;\n\n this._headersReceivedCapability.reject(exception);\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.reject(exception);\n });\n\n this._requests = [];\n this._cachedChunks = [];\n }\n }, {\n key: \"_onProgress\",\n value: function _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 }, {\n key: \"read\",\n value: function () {\n var _read = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee() {\n var chunk, requestCapability;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (!this._storedError) {\n _context.next = 2;\n break;\n }\n\n throw this._storedError;\n\n case 2:\n if (!(this._cachedChunks.length > 0)) {\n _context.next = 5;\n break;\n }\n\n chunk = this._cachedChunks.shift();\n return _context.abrupt(\"return\", {\n value: chunk,\n done: false\n });\n\n case 5:\n if (!this._done) {\n _context.next = 7;\n break;\n }\n\n return _context.abrupt(\"return\", {\n value: undefined,\n done: true\n });\n\n case 7:\n requestCapability = (0, _util.createPromiseCapability)();\n\n this._requests.push(requestCapability);\n\n return _context.abrupt(\"return\", requestCapability.promise);\n\n case 10:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function read() {\n return _read.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n this._done = true;\n\n this._headersReceivedCapability.reject(reason);\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n\n if (this._manager.isPendingRequest(this._fullRequestId)) {\n this._manager.abortRequest(this._fullRequestId);\n }\n\n this._fullRequestReader = null;\n }\n }, {\n key: \"filename\",\n get: function get() {\n return this._filename;\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 key: \"contentLength\",\n get: function get() {\n return this._contentLength;\n }\n }, {\n key: \"headersReady\",\n get: function get() {\n return this._headersReceivedCapability.promise;\n }\n }]);\n\n return PDFNetworkStreamFullRequestReader;\n}();\n\nvar PDFNetworkStreamRangeRequestReader =\n/*#__PURE__*/\nfunction () {\n function PDFNetworkStreamRangeRequestReader(manager, begin, end) {\n _classCallCheck(this, PDFNetworkStreamRangeRequestReader);\n\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\n _createClass(PDFNetworkStreamRangeRequestReader, [{\n key: \"_close\",\n value: function _close() {\n if (this.onClosed) {\n this.onClosed(this);\n }\n }\n }, {\n key: \"_onDone\",\n value: function _onDone(data) {\n var chunk = data.chunk;\n\n if (this._requests.length > 0) {\n var requestCapability = this._requests.shift();\n\n requestCapability.resolve({\n value: chunk,\n done: false\n });\n } else {\n this._queuedChunk = chunk;\n }\n\n this._done = true;\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n\n this._close();\n }\n }, {\n key: \"_onProgress\",\n value: function _onProgress(evt) {\n if (!this.isStreamingSupported && this.onProgress) {\n this.onProgress({\n loaded: evt.loaded\n });\n }\n }\n }, {\n key: \"read\",\n value: function () {\n var _read2 = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee2() {\n var chunk, requestCapability;\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n if (!(this._queuedChunk !== null)) {\n _context2.next = 4;\n break;\n }\n\n chunk = this._queuedChunk;\n this._queuedChunk = null;\n return _context2.abrupt(\"return\", {\n value: chunk,\n done: false\n });\n\n case 4:\n if (!this._done) {\n _context2.next = 6;\n break;\n }\n\n return _context2.abrupt(\"return\", {\n value: undefined,\n done: true\n });\n\n case 6:\n requestCapability = (0, _util.createPromiseCapability)();\n\n this._requests.push(requestCapability);\n\n return _context2.abrupt(\"return\", requestCapability.promise);\n\n case 9:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function read() {\n return _read2.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n this._done = true;\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n\n if (this._manager.isPendingRequest(this._requestId)) {\n this._manager.abortRequest(this._requestId);\n }\n\n this._close();\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return false;\n }\n }]);\n\n return PDFNetworkStreamRangeRequestReader;\n}();\n\n/***/ }),\n/* 169 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFFetchStream = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(148));\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _network_utils = __w_pdfjs_require__(166);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction createFetchOptions(headers, withCredentials, abortController) {\n return {\n method: 'GET',\n headers: headers,\n signal: abortController && abortController.signal,\n mode: 'cors',\n credentials: withCredentials ? 'include' : 'same-origin',\n redirect: 'follow'\n };\n}\n\nvar PDFFetchStream =\n/*#__PURE__*/\nfunction () {\n function PDFFetchStream(source) {\n _classCallCheck(this, PDFFetchStream);\n\n this.source = source;\n this.isHttp = /^https?:/i.test(source.url);\n this.httpHeaders = this.isHttp && source.httpHeaders || {};\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n\n _createClass(PDFFetchStream, [{\n key: \"getFullReader\",\n value: function getFullReader() {\n (0, _util.assert)(!this._fullRequestReader);\n this._fullRequestReader = new PDFFetchStreamReader(this);\n return this._fullRequestReader;\n }\n }, {\n key: \"getRangeReader\",\n value: function getRangeReader(begin, end) {\n if (end <= this._progressiveDataLength) {\n return null;\n }\n\n var reader = new PDFFetchStreamRangeReader(this, begin, end);\n\n this._rangeRequestReaders.push(reader);\n\n return reader;\n }\n }, {\n key: \"cancelAllRequests\",\n value: function cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n\n var readers = this._rangeRequestReaders.slice(0);\n\n readers.forEach(function (reader) {\n reader.cancel(reason);\n });\n }\n }, {\n key: \"_progressiveDataLength\",\n get: function get() {\n return this._fullRequestReader ? this._fullRequestReader._loaded : 0;\n }\n }]);\n\n return PDFFetchStream;\n}();\n\nexports.PDFFetchStream = PDFFetchStream;\n\nvar PDFFetchStreamReader =\n/*#__PURE__*/\nfunction () {\n function PDFFetchStreamReader(stream) {\n var _this = this;\n\n _classCallCheck(this, PDFFetchStreamReader);\n\n this._stream = stream;\n this._reader = null;\n this._loaded = 0;\n this._filename = null;\n var source = stream.source;\n this._withCredentials = source.withCredentials || false;\n this._contentLength = source.length;\n this._headersCapability = (0, _util.createPromiseCapability)();\n this._disableRange = source.disableRange || false;\n this._rangeChunkSize = source.rangeChunkSize;\n\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n\n if (typeof AbortController !== 'undefined') {\n this._abortController = new AbortController();\n }\n\n this._isStreamingSupported = !source.disableStream;\n this._isRangeSupported = !source.disableRange;\n this._headers = new Headers();\n\n for (var property in this._stream.httpHeaders) {\n var value = this._stream.httpHeaders[property];\n\n if (typeof value === 'undefined') {\n continue;\n }\n\n this._headers.append(property, value);\n }\n\n var url = source.url;\n fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(function (response) {\n if (!(0, _network_utils.validateResponseStatus)(response.status)) {\n throw (0, _network_utils.createResponseStatusError)(response.status, url);\n }\n\n _this._reader = response.body.getReader();\n\n _this._headersCapability.resolve();\n\n var getResponseHeader = function getResponseHeader(name) {\n return response.headers.get(name);\n };\n\n var _validateRangeRequest = (0, _network_utils.validateRangeRequestCapabilities)({\n getResponseHeader: getResponseHeader,\n isHttp: _this._stream.isHttp,\n rangeChunkSize: _this._rangeChunkSize,\n disableRange: _this._disableRange\n }),\n allowRangeRequests = _validateRangeRequest.allowRangeRequests,\n suggestedLength = _validateRangeRequest.suggestedLength;\n\n _this._isRangeSupported = allowRangeRequests;\n _this._contentLength = suggestedLength || _this._contentLength;\n _this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);\n\n if (!_this._isStreamingSupported && _this._isRangeSupported) {\n _this.cancel(new _util.AbortException('Streaming is disabled.'));\n }\n })[\"catch\"](this._headersCapability.reject);\n this.onProgress = null;\n }\n\n _createClass(PDFFetchStreamReader, [{\n key: \"read\",\n value: function () {\n var _read = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee() {\n var _ref, value, done, buffer;\n\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return this._headersCapability.promise;\n\n case 2:\n _context.next = 4;\n return this._reader.read();\n\n case 4:\n _ref = _context.sent;\n value = _ref.value;\n done = _ref.done;\n\n if (!done) {\n _context.next = 9;\n break;\n }\n\n return _context.abrupt(\"return\", {\n value: value,\n done: done\n });\n\n case 9:\n this._loaded += value.byteLength;\n\n if (this.onProgress) {\n this.onProgress({\n loaded: this._loaded,\n total: this._contentLength\n });\n }\n\n buffer = new Uint8Array(value).buffer;\n return _context.abrupt(\"return\", {\n value: buffer,\n done: false\n });\n\n case 13:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function read() {\n return _read.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n if (this._reader) {\n this._reader.cancel(reason);\n }\n\n if (this._abortController) {\n this._abortController.abort();\n }\n }\n }, {\n key: \"headersReady\",\n get: function get() {\n return this._headersCapability.promise;\n }\n }, {\n key: \"filename\",\n get: function get() {\n return this._filename;\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 PDFFetchStreamReader;\n}();\n\nvar PDFFetchStreamRangeReader =\n/*#__PURE__*/\nfunction () {\n function PDFFetchStreamRangeReader(stream, begin, end) {\n var _this2 = this;\n\n _classCallCheck(this, PDFFetchStreamRangeReader);\n\n this._stream = stream;\n this._reader = null;\n this._loaded = 0;\n var source = stream.source;\n this._withCredentials = source.withCredentials || false;\n this._readCapability = (0, _util.createPromiseCapability)();\n this._isStreamingSupported = !source.disableStream;\n\n if (typeof AbortController !== 'undefined') {\n this._abortController = new AbortController();\n }\n\n this._headers = new Headers();\n\n for (var property in this._stream.httpHeaders) {\n var value = this._stream.httpHeaders[property];\n\n if (typeof value === 'undefined') {\n continue;\n }\n\n this._headers.append(property, value);\n }\n\n this._headers.append('Range', \"bytes=\".concat(begin, \"-\").concat(end - 1));\n\n var url = source.url;\n fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(function (response) {\n if (!(0, _network_utils.validateResponseStatus)(response.status)) {\n throw (0, _network_utils.createResponseStatusError)(response.status, url);\n }\n\n _this2._readCapability.resolve();\n\n _this2._reader = response.body.getReader();\n });\n this.onProgress = null;\n }\n\n _createClass(PDFFetchStreamRangeReader, [{\n key: \"read\",\n value: function () {\n var _read2 = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee2() {\n var _ref2, value, done, buffer;\n\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return this._readCapability.promise;\n\n case 2:\n _context2.next = 4;\n return this._reader.read();\n\n case 4:\n _ref2 = _context2.sent;\n value = _ref2.value;\n done = _ref2.done;\n\n if (!done) {\n _context2.next = 9;\n break;\n }\n\n return _context2.abrupt(\"return\", {\n value: value,\n done: done\n });\n\n case 9:\n this._loaded += value.byteLength;\n\n if (this.onProgress) {\n this.onProgress({\n loaded: this._loaded\n });\n }\n\n buffer = new Uint8Array(value).buffer;\n return _context2.abrupt(\"return\", {\n value: buffer,\n done: false\n });\n\n case 13:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function read() {\n return _read2.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n if (this._reader) {\n this._reader.cancel(reason);\n }\n\n if (this._abortController) {\n this._abortController.abort();\n }\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return this._isStreamingSupported;\n }\n }]);\n\n return PDFFetchStreamRangeReader;\n}();\n\n/***/ })\n/******/ ]);\n});\n//# sourceMappingURL=pdf.js.map\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../buffer/index.js */ \"./node_modules/buffer/index.js\").Buffer, __webpack_require__(/*! ./../../webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\"), __webpack_require__(/*! ./../../process/browser.js */ \"./node_modules/process/browser.js\")))\n\n/***/ }),\n\n/***/ \"./node_modules/process/browser.js\":\n/*!*****************************************!*\\\n !*** ./node_modules/process/browser.js ***!\n \\*****************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\n// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n/***/ }),\n\n/***/ \"./node_modules/querystring-es3/decode.js\":\n/*!************************************************!*\\\n !*** ./node_modules/querystring-es3/decode.js ***!\n \\************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n\n\n// If obj.hasOwnProperty has been overridden, then calling\n// obj.hasOwnProperty(prop) will break.\n// See: https://github.com/joyent/node/issues/1707\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nmodule.exports = function(qs, sep, eq, options) {\n sep = sep || '&';\n eq = eq || '=';\n var obj = {};\n\n if (typeof qs !== 'string' || qs.length === 0) {\n return obj;\n }\n\n var regexp = /\\+/g;\n qs = qs.split(sep);\n\n var maxKeys = 1000;\n if (options && typeof options.maxKeys === 'number') {\n maxKeys = options.maxKeys;\n }\n\n var len = qs.length;\n // maxKeys <= 0 means that we should not limit keys count\n if (maxKeys > 0 && len > maxKeys) {\n len = maxKeys;\n }\n\n for (var i = 0; i < len; ++i) {\n var x = qs[i].replace(regexp, '%20'),\n idx = x.indexOf(eq),\n kstr, vstr, k, v;\n\n if (idx >= 0) {\n kstr = x.substr(0, idx);\n vstr = x.substr(idx + 1);\n } else {\n kstr = x;\n vstr = '';\n }\n\n k = decodeURIComponent(kstr);\n v = decodeURIComponent(vstr);\n\n if (!hasOwnProperty(obj, k)) {\n obj[k] = v;\n } else if (isArray(obj[k])) {\n obj[k].push(v);\n } else {\n obj[k] = [obj[k], v];\n }\n }\n\n return obj;\n};\n\nvar isArray = Array.isArray || function (xs) {\n return Object.prototype.toString.call(xs) === '[object Array]';\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/querystring-es3/encode.js\":\n/*!************************************************!*\\\n !*** ./node_modules/querystring-es3/encode.js ***!\n \\************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n\n\nvar stringifyPrimitive = function(v) {\n switch (typeof v) {\n case 'string':\n return v;\n\n case 'boolean':\n return v ? 'true' : 'false';\n\n case 'number':\n return isFinite(v) ? v : '';\n\n default:\n return '';\n }\n};\n\nmodule.exports = function(obj, sep, eq, name) {\n sep = sep || '&';\n eq = eq || '=';\n if (obj === null) {\n obj = undefined;\n }\n\n if (typeof obj === 'object') {\n return map(objectKeys(obj), function(k) {\n var ks = encodeURIComponent(stringifyPrimitive(k)) + eq;\n if (isArray(obj[k])) {\n return map(obj[k], function(v) {\n return ks + encodeURIComponent(stringifyPrimitive(v));\n }).join(sep);\n } else {\n return ks + encodeURIComponent(stringifyPrimitive(obj[k]));\n }\n }).join(sep);\n\n }\n\n if (!name) return '';\n return encodeURIComponent(stringifyPrimitive(name)) + eq +\n encodeURIComponent(stringifyPrimitive(obj));\n};\n\nvar isArray = Array.isArray || function (xs) {\n return Object.prototype.toString.call(xs) === '[object Array]';\n};\n\nfunction map (xs, f) {\n if (xs.map) return xs.map(f);\n var res = [];\n for (var i = 0; i < xs.length; i++) {\n res.push(f(xs[i], i));\n }\n return res;\n}\n\nvar objectKeys = Object.keys || function (obj) {\n var res = [];\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) res.push(key);\n }\n return res;\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/querystring-es3/index.js\":\n/*!***********************************************!*\\\n !*** ./node_modules/querystring-es3/index.js ***!\n \\***********************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.decode = exports.parse = __webpack_require__(/*! ./decode */ \"./node_modules/querystring-es3/decode.js\");\nexports.encode = exports.stringify = __webpack_require__(/*! ./encode */ \"./node_modules/querystring-es3/encode.js\");\n\n\n/***/ }),\n\n/***/ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\":\n/*!****************************************************************************!*\\\n !*** ./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js ***!\n \\****************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar stylesInDom = {};\n\nvar isOldIE = function isOldIE() {\n var memo;\n return function memorize() {\n if (typeof memo === 'undefined') {\n // Test for IE <= 9 as proposed by Browserhacks\n // @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805\n // Tests for existence of standard globals is to allow style-loader\n // to operate correctly into non-standard environments\n // @see https://github.com/webpack-contrib/style-loader/issues/177\n memo = Boolean(window && document && document.all && !window.atob);\n }\n\n return memo;\n };\n}();\n\nvar getTarget = function getTarget() {\n var memo = {};\n return function memorize(target) {\n if (typeof memo[target] === 'undefined') {\n var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself\n\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n\n memo[target] = styleTarget;\n }\n\n return memo[target];\n };\n}();\n\nfunction listToStyles(list, options) {\n var styles = [];\n var newStyles = {};\n\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var css = item[1];\n var media = item[2];\n var sourceMap = item[3];\n var part = {\n css: css,\n media: media,\n sourceMap: sourceMap\n };\n\n if (!newStyles[id]) {\n styles.push(newStyles[id] = {\n id: id,\n parts: [part]\n });\n } else {\n newStyles[id].parts.push(part);\n }\n }\n\n return styles;\n}\n\nfunction addStylesToDom(styles, options) {\n for (var i = 0; i < styles.length; i++) {\n var item = styles[i];\n var domStyle = stylesInDom[item.id];\n var j = 0;\n\n if (domStyle) {\n domStyle.refs++;\n\n for (; j < domStyle.parts.length; j++) {\n domStyle.parts[j](item.parts[j]);\n }\n\n for (; j < item.parts.length; j++) {\n domStyle.parts.push(addStyle(item.parts[j], options));\n }\n } else {\n var parts = [];\n\n for (; j < item.parts.length; j++) {\n parts.push(addStyle(item.parts[j], options));\n }\n\n stylesInDom[item.id] = {\n id: item.id,\n refs: 1,\n parts: parts\n };\n }\n }\n}\n\nfunction insertStyleElement(options) {\n var style = document.createElement('style');\n\n if (typeof options.attributes.nonce === 'undefined') {\n var nonce = true ? __webpack_require__.nc : undefined;\n\n if (nonce) {\n options.attributes.nonce = nonce;\n }\n }\n\n Object.keys(options.attributes).forEach(function (key) {\n style.setAttribute(key, options.attributes[key]);\n });\n\n if (typeof options.insert === 'function') {\n options.insert(style);\n } else {\n var target = getTarget(options.insert || 'head');\n\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n\n target.appendChild(style);\n }\n\n return style;\n}\n\nfunction removeStyleElement(style) {\n // istanbul ignore if\n if (style.parentNode === null) {\n return false;\n }\n\n style.parentNode.removeChild(style);\n}\n/* istanbul ignore next */\n\n\nvar replaceText = function replaceText() {\n var textStore = [];\n return function replace(index, replacement) {\n textStore[index] = replacement;\n return textStore.filter(Boolean).join('\\n');\n };\n}();\n\nfunction applyToSingletonTag(style, index, remove, obj) {\n var css = remove ? '' : obj.css; // For old IE\n\n /* istanbul ignore if */\n\n if (style.styleSheet) {\n style.styleSheet.cssText = replaceText(index, css);\n } else {\n var cssNode = document.createTextNode(css);\n var childNodes = style.childNodes;\n\n if (childNodes[index]) {\n style.removeChild(childNodes[index]);\n }\n\n if (childNodes.length) {\n style.insertBefore(cssNode, childNodes[index]);\n } else {\n style.appendChild(cssNode);\n }\n }\n}\n\nfunction applyToTag(style, options, obj) {\n var css = obj.css;\n var media = obj.media;\n var sourceMap = obj.sourceMap;\n\n if (media) {\n style.setAttribute('media', media);\n }\n\n if (sourceMap && btoa) {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n } // For old IE\n\n /* istanbul ignore if */\n\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n while (style.firstChild) {\n style.removeChild(style.firstChild);\n }\n\n style.appendChild(document.createTextNode(css));\n }\n}\n\nvar singleton = null;\nvar singletonCounter = 0;\n\nfunction addStyle(obj, options) {\n var style;\n var update;\n var remove;\n\n if (options.singleton) {\n var styleIndex = singletonCounter++;\n style = singleton || (singleton = insertStyleElement(options));\n update = applyToSingletonTag.bind(null, style, styleIndex, false);\n remove = applyToSingletonTag.bind(null, style, styleIndex, true);\n } else {\n style = insertStyleElement(options);\n update = applyToTag.bind(null, style, options);\n\n remove = function remove() {\n removeStyleElement(style);\n };\n }\n\n update(obj);\n return function updateStyle(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap) {\n return;\n }\n\n update(obj = newObj);\n } else {\n remove();\n }\n };\n}\n\nmodule.exports = function (list, options) {\n options = options || {};\n options.attributes = typeof options.attributes === 'object' ? options.attributes : {}; // Force single-tag solution on IE6-9, which has a hard limit on the # of \n","import mod from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.4.1@babel-loader/lib/index.js!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.11.1@vue-loader/lib/index.js??vue-loader-options!./Pdf.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.4.1@babel-loader/lib/index.js!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.11.1@vue-loader/lib/index.js??vue-loader-options!./Pdf.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Pdf.vue?vue&type=template&id=7e4cc574&scoped=true\"\nimport script from \"./Pdf.vue?vue&type=script&lang=js\"\nexport * from \"./Pdf.vue?vue&type=script&lang=js\"\nimport style0 from \"./Pdf.vue?vue&type=style&index=0&id=7e4cc574&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/_vue-loader@15.11.1@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7e4cc574\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"detail-search-item-container row\"},[_c('span',[_vm._v(\"  \")]),_c('div',{ref:\"text\"},[_vm._v(_vm._s(_vm.text))])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n\n \n\n","import mod from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.4.1@babel-loader/lib/index.js!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.11.1@vue-loader/lib/index.js??vue-loader-options!./DetailSearchItem.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.4.1@babel-loader/lib/index.js!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.11.1@vue-loader/lib/index.js??vue-loader-options!./DetailSearchItem.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./DetailSearchItem.vue?vue&type=template&id=19bc01f7&scoped=true\"\nimport script from \"./DetailSearchItem.vue?vue&type=script&lang=js\"\nexport * from \"./DetailSearchItem.vue?vue&type=script&lang=js\"\nimport style0 from \"./DetailSearchItem.vue?vue&type=style&index=0&id=19bc01f7&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/_vue-loader@15.11.1@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"19bc01f7\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"members-expire-dialog-container flex\"},[_c('el-dialog',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],staticClass:\"members-expired-dialog\",attrs:{\"title\":\"\",\"visible\":_vm.visiable,\"width\":\"380px\",\"show-close\":false},on:{\"update:visible\":function($event){_vm.visiable=$event}}},[_c('div',{staticClass:\"members-expired-dialog-content row\"},[_c('img',{attrs:{\"src\":require(\"@/assets/img/members-expired.svg\")}}),_c('div',{staticClass:\"members-expired-prompt\"},[_vm._v(\"您的会员已到期,请续费\")]),(_vm.userInfo)?_c('div',{staticClass:\"members-expired-date\"},[_vm._v(\"会员到期时间: \"+_vm._s(_vm.userInfo.expire_at))]):_vm._e(),_c('el-button',{staticClass:\"renewal-btn\",on:{\"click\":_vm.onRenewalBtnClick}},[_vm._v(\"立即续费\")]),_c('el-button',{staticClass:\"ignore-btn\",on:{\"click\":_vm.onIgnoreBtnClick}},[_vm._v(\"忽略\")])],1)])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.4.1@babel-loader/lib/index.js!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.11.1@vue-loader/lib/index.js??vue-loader-options!./MembersExpireDialog.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.4.1@babel-loader/lib/index.js!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.11.1@vue-loader/lib/index.js??vue-loader-options!./MembersExpireDialog.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./MembersExpireDialog.vue?vue&type=template&id=3c5f67cc&scoped=true\"\nimport script from \"./MembersExpireDialog.vue?vue&type=script&lang=js\"\nexport * from \"./MembersExpireDialog.vue?vue&type=script&lang=js\"\nimport style0 from \"./MembersExpireDialog.vue?vue&type=style&index=0&id=3c5f67cc&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/_vue-loader@15.11.1@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3c5f67cc\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"footer-container row\"},[_c('div',{staticClass:\"main\",on:{\"click\":_vm.goTo}},[_vm._v(\"京ICP备18009005号-6\")])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.4.1@babel-loader/lib/index.js!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.11.1@vue-loader/lib/index.js??vue-loader-options!./PdfFooter.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.4.1@babel-loader/lib/index.js!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.11.1@vue-loader/lib/index.js??vue-loader-options!./PdfFooter.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./PdfFooter.vue?vue&type=template&id=54224c68&scoped=true\"\nimport script from \"./PdfFooter.vue?vue&type=script&lang=js\"\nexport * from \"./PdfFooter.vue?vue&type=script&lang=js\"\nimport style0 from \"./PdfFooter.vue?vue&type=style&index=0&id=54224c68&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/_vue-loader@15.11.1@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"54224c68\",\n null\n \n)\n\nexport default component.exports","\n \n\n \n\n","import mod from \"-!../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../node_modules/_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../node_modules/_babel-loader@8.4.1@babel-loader/lib/index.js!../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../node_modules/_vue-loader@15.11.1@vue-loader/lib/index.js??vue-loader-options!./PdfDetailPage.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../node_modules/_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../node_modules/_babel-loader@8.4.1@babel-loader/lib/index.js!../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../node_modules/_vue-loader@15.11.1@vue-loader/lib/index.js??vue-loader-options!./PdfDetailPage.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./PdfDetailPage.vue?vue&type=template&id=7913584f&scoped=true\"\nimport script from \"./PdfDetailPage.vue?vue&type=script&lang=js\"\nexport * from \"./PdfDetailPage.vue?vue&type=script&lang=js\"\nimport style0 from \"./PdfDetailPage.vue?vue&type=style&index=0&id=7913584f&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/_vue-loader@15.11.1@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7913584f\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../node_modules/_mini-css-extract-plugin@0.8.2@mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/_css-loader@2.1.1@css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/_vue-loader@15.11.1@vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/_sass-loader@7.0.1@sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.11.1@vue-loader/lib/index.js??vue-loader-options!./MembersExpireDialog.vue?vue&type=style&index=0&id=3c5f67cc&prod&lang=scss&scoped=true\"","const pv = require('./build/viewer');\nconst pdfjs = pv.pdfjs;\nvar PdfjsWorker = require('worker-loader!pdfjs-dist/build/pdf.worker.js');\n\nif (typeof window !== 'undefined' && 'Worker' in window) {\n pdfjs.GlobalWorkerOptions.workerPort = new PdfjsWorker();\n}\nmodule.exports = {PDFViewer: pv.PDFViewer};\n","export * from \"-!../../../node_modules/_mini-css-extract-plugin@0.8.2@mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/_css-loader@2.1.1@css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/_vue-loader@15.11.1@vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/_sass-loader@7.0.1@sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.11.1@vue-loader/lib/index.js??vue-loader-options!./PdfFooter.vue?vue&type=style&index=0&id=54224c68&prod&lang=scss&scoped=true\"","module.exports = function() {\n return new Worker(__webpack_public_path__ + \"5d3f127141b67de3934b.worker.js\");\n};","export * from \"-!../../../node_modules/_mini-css-extract-plugin@0.8.2@mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/_css-loader@2.1.1@css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/_vue-loader@15.11.1@vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/_sass-loader@7.0.1@sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.11.1@vue-loader/lib/index.js??vue-loader-options!./Pdf.vue?vue&type=style&index=0&id=7e4cc574&prod&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/_mini-css-extract-plugin@0.8.2@mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/_css-loader@2.1.1@css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/_vue-loader@15.11.1@vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/_sass-loader@7.0.1@sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.11.1@vue-loader/lib/index.js??vue-loader-options!./DetailSearchItem.vue?vue&type=style&index=0&id=19bc01f7&prod&lang=scss&scoped=true\""],"sourceRoot":""}