{"version":3,"sources":["webpack:///./node_modules/url/url.js","webpack:///./node_modules/node-libs-browser/node_modules/punycode/punycode.js","webpack:///./node_modules/url/util.js","webpack:///(webpack)/buildin/module.js","webpack:///./node_modules/pdfjs-dist/build/pdf.worker.js?68c4","webpack:///./node_modules/querystring-es3/decode.js","webpack:///./node_modules/pdfjs-dist/build/pdf.js","webpack:///./node_modules/querystring-es3/index.js","webpack:///./node_modules/querystring-es3/encode.js","webpack:///./node_modules/pdfjs-dist/webpack.js"],"names":["punycode","util","Url","this","protocol","slashes","auth","host","port","hostname","hash","search","query","pathname","path","href","exports","parse","urlParse","resolve","urlResolve","resolveObject","urlResolveObject","format","urlFormat","protocolPattern","portPattern","simplePathPattern","delims","unwise","concat","autoEscape","nonHostChars","hostEndingChars","hostnameMaxLen","hostnamePartPattern","hostnamePartStart","unsafeProtocol","hostlessProtocol","slashedProtocol","querystring","url","parseQueryString","slashesDenoteHost","isObject","u","obj","isString","prototype","call","source","relative","TypeError","queryIndex","indexOf","splitter","uSplit","split","slashRegex","replace","join","rest","trim","length","simplePath","exec","substr","proto","lowerProto","toLowerCase","match","atSign","hostEnd","i","hec","lastIndexOf","slice","decodeURIComponent","parseHost","ipv6Hostname","hostparts","l","part","newpart","j","k","charCodeAt","validParts","notHost","bit","push","unshift","toASCII","p","h","ae","esc","encodeURIComponent","escape","qm","s","Object","keys","stringify","charAt","rel","result","tkeys","tk","tkey","rkeys","rk","rkey","v","relPath","shift","isSourceAbs","isRelAbs","mustEndAbs","removeAllDots","srcPath","psychotic","pop","isNullOrUndefined","authInHost","isNull","last","hasTrailingSlash","up","splice","isAbsolute","root","nodeType","module","freeGlobal","global","window","self","maxInt","base","tMin","tMax","skew","damp","initialBias","initialN","delimiter","regexPunycode","regexNonASCII","regexSeparators","errors","baseMinusTMin","floor","Math","stringFromCharCode","String","fromCharCode","error","type","RangeError","map","array","fn","mapDomain","string","parts","labels","encoded","ucs2decode","value","extra","output","counter","ucs2encode","basicToDigit","codePoint","digitToBasic","digit","flag","adapt","delta","numPoints","firstTime","decode","input","out","basic","index","oldi","w","t","baseMinusT","inputLength","n","bias","encode","handledCPCount","basicLength","m","q","currentValue","handledCPCountPlusOne","qMinusT","toUnicode","test","arg","webpackPolyfill","deprecate","paths","children","defineProperty","enumerable","get","Worker","hasOwnProperty","prop","qs","sep","eq","options","regexp","maxKeys","len","kstr","vstr","x","idx","isArray","Array","xs","toString","factory","modules","installedModules","__w_pdfjs_require__","moduleId","c","d","name","getter","o","r","Symbol","toStringTag","mode","__esModule","ns","create","key","bind","object","property","pdfjsSharedUtil","pdfjsDisplayAPI","pdfjsDisplayTextLayer","pdfjsDisplayAnnotationLayer","pdfjsDisplayDOMUtils","pdfjsDisplaySVG","pdfjsDisplayWorkerOptions","pdfjsDisplayAPICompatibility","isNodeJS","PDFNodeStream","setPDFNetworkStreamFactory","params","Response","ReadableStream","PDFFetchStream","PDFNetworkStream","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","URL","RenderingCancelledException","getFilenameFromUrl","LinkTarget","addLinkAttributes","loadScript","GlobalWorkerOptions","apiCompatibilityParams","toRomanNumerals","arrayByteLength","arraysToBytes","assert","bytesToString","deprecated","getInheritableProperty","getLookupTableFactory","getVerbosityLevel","info","isArrayBuffer","isBool","isEmptyObj","isNum","isSpace","isSameOrigin","isLittleEndian","isEvalSupported","log2","readInt8","readUint16","readUint32","setVerbosityLevel","string32","stringToBytes","stringToPDFString","stringToUTF8String","utf8StringToString","warn","unreachable","_streams_polyfill","_url_polyfill","FormatError","XRefParseException","XRefEntryException","UnknownErrorException","TextRenderingMode","StreamType","PasswordException","MissingDataException","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","fill","eoFill","fillStroke","eoFillStroke","closeFillStroke","closeEOFillStroke","endPath","clip","eoClip","beginText","endText","setCharSpacing","setWordSpacing","setHScale","setLeading","setFont","setTextRenderingMode","setTextRise","moveText","setLeadingMoveText","setTextMatrix","nextLine","showText","showSpacedText","nextLineShowText","nextLineSetSpacingShowText","setCharWidth","setCharWidthAndBounds","setStrokeColorSpace","setFillColorSpace","setStrokeColor","setStrokeColorN","setFillColor","setFillColorN","setStrokeGray","setFillGray","setStrokeRGBColor","setFillRGBColor","setStrokeCMYKColor","setFillCMYKColor","shadingFill","beginInlineImage","beginImageData","endInlineImage","paintXObject","markPoint","markPointProps","beginMarkedContent","beginMarkedContentProps","endMarkedContent","beginCompat","endCompat","paintFormXObjectBegin","paintFormXObjectEnd","beginGroup","endGroup","beginAnnotations","endAnnotations","beginAnnotation","endAnnotation","paintJpegXObject","paintImageMaskXObject","paintImageMaskXObjectGroup","paintImageXObject","paintInlineImageXObject","paintInlineImageXObjectGroup","paintImageXObjectRepeat","paintImageMaskXObjectRepeat","paintSolidColorImageMask","constructPath","unknown","forms","javaScript","smask","shadingPattern","font","NEED_PASSWORD","INCORRECT_PASSWORD","verbosity","level","Number","isInteger","msg","console","log","details","Error","cond","baseUrl","otherUrl","origin","e","other","_isValidProtocol","absoluteUrl","ex","configurable","writable","initializer","lookup","code","message","status","begin","end","NullCharactersRegExp","str","bytes","undefined","MAX_ARGUMENT_COUNT","apply","strBuf","chunkEnd","min","chunk","subarray","Uint8Array","arr","byteLength","item","itemLength","resultLength","ii","pos","data","set","ceil","start","offset","buffer8","view32","Uint32Array","buffer","Function","_ref","values","dict","_ref$getArray","getArray","_ref$stopWhenFound","stopWhenFound","LOOP_LIMIT","loopCount","rgbBuf","makeCssRgb","g","b","m1","m2","applyTransform","xt","yt","applyInverseTransform","getAxialAlignedBoundingBox","p1","p2","p3","p4","max","inverseTransform","apply3dTransform","singularValueDecompose2dScale","transpose","a","first","second","sqrt","sx","sy","normalizeRect","rect","intersect","rect1","rect2","compare","orderedX","sort","orderedY","ROMAN_NUMBER_MAP","number","lowerCase","arguments","romanBuf","romanStr","PDFStringTranslateTable","unescape","ch","capability","isSettled","promise","Promise","reject","reason","digits","contentType","forceDataSchema","blob","Blob","b1","b2","b3","d1","d2","d3","d4","globalScope","_pdfjsCompatibilityChecked","hasDOM","document","btoa","chars","Buffer","from","atob","Element","remove","parentNode","removeChild","div","createElement","classList","add","contains","OriginalDOMTokenListAdd","DOMTokenList","OriginalDOMTokenListRemove","_len","tokens","_key","_i","token","_len2","_key2","_i2","toggle","force","startsWith","endsWith","includes","assign","isNaN","finally","WeakMap","WeakSet","codePointAt","fromCodePoint","padStart","padEnd","process","versions","$export","toLength","context","STARTS_WITH","$startsWith","P","F","searchString","that","core","hide","redefine","ctx","PROTOTYPE","own","exp","IS_FORCED","IS_GLOBAL","G","IS_STATIC","S","IS_PROTO","IS_BIND","B","target","expProto","U","W","R","__g","__e","dP","createDesc","f","anObject","IE8_DOM_DEFINE","toPrimitive","O","Attributes","it","is","val","valueOf","bitmap","has","SRC","TO_STRING","$toString","TPL","inspectSource","safe","isFunction","id","px","random","aFunction","toInteger","isRegExp","defined","NAME","cof","MATCH","store","uid","_Symbol","USE_SYMBOL","$exports","SHARED","copyright","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","FF_ITERATOR","KEYS","VALUES","returnThis","Base","Constructor","next","DEFAULT","IS_SET","FORCED","methods","IteratorPrototype","getMethod","kind","TAG","DEF_VALUES","VALUES_BUG","$native","$default","$entries","$anyNative","entries","descriptor","dPs","enumBugKeys","IE_PROTO","Empty","_createDict","iframeDocument","iframe","lt","gt","style","display","appendChild","src","contentWindow","open","write","close","Properties","getKeys","defineProperties","$keys","arrayIndexOf","names","shared","documentElement","def","tag","stat","toObject","ObjectProto","isArrayIter","createProperty","getIterFn","iter","arrayLike","step","C","aLen","mapfn","mapping","iterFn","ret","$defineProperty","classof","getIteratorMethod","ARG","tryGet","T","callee","SAFE_CLOSING","riter","skipClosing","gOPS","pIE","$assign","A","K","forEach","getSymbols","isEnum","getOwnPropertySymbols","LN2","isFinite","$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","err","onFulfilled","onRejected","$$reject","all","iterable","remaining","$index","alreadyCalled","race","forbiddenField","BREAK","RETURN","_exports","SPECIES","D","defer","channel","invoke","html","cel","setTask","setImmediate","clearTask","clearImmediate","MessageChannel","Dispatch","queue","ONREADYSTATECHANGE","listener","event","args","nextTick","now","port2","port1","onmessage","postMessage","addEventListener","importScripts","setTimeout","clear","un","macrotask","Observer","MutationObserver","WebKitMutationObserver","head","flush","parent","navigator","standalone","node","createTextNode","observe","characterData","PromiseCapability","$$resolve","promiseCapability","DESCRIPTORS","onFinally","callbackfn","InternalMap","each","meta","weak","fails","validate","WEAK_MAP","getWeak","isExtensible","uncaughtFrozenStore","ufstore","tmp","$WeakMap","freeze","getConstructor","NEED","method","_f","asc","TYPE","$create","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","res","original","META","setDesc","FREEZE","preventExtensions","setMeta","fastKey","onFreeze","redefineAll","createArrayMethod","$has","arrayFind","arrayFindIndex","_l","UncaughtFrozenStore","findUncaughtFrozen","entry","ADDER","$iterDetect","inheritIfRequired","common","IS_WEAK","fixMethod","instance","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","$instance","setStrong","setPrototypeOf","check","buggy","__proto__","gOPD","getOwnPropertyDescriptor","COLLECTION","of","cb","mapFn","nextItem","WEAK_SET","$fromCodePoint","$fails","wksExt","wksDefine","enumKeys","_create","gOPNExt","$GOPD","$DP","gOPN","$Symbol","$JSON","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","replacer","$replacer","symbols","windowNames","getWindowNames","hiddenKeys","$pad","maxLength","repeat","fillString","left","stringLength","fillStr","intMaxLength","fillLen","stringFiller","count","Infinity","$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","size","rethrowAssertionErrorRejection","AssertionError","stack","_createClass","props","protoProps","staticProps","_classCallCheck","_require2","_require3","DequeueValue","EnqueueValueWithSize","PeekQueueValue","ResetQueue","WritableStream","underlyingSink","_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","catch","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","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","ArrayBuffer","isView","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","byteOffset","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","PolyfillURL","OriginalURL","revokeObjectURL","relativePathDotMapping","isRelativeScheme","scheme","invalid","_isInvalid","IDNAToASCII","percentEscape","unicode","percentEscapeQuery","EOF","ALPHA","ALPHANUMERIC","stateOverride","cursor","seenAt","seenBracket","loop","_scheme","_isRelative","_query","_fragment","_schemeData","_host","_port","_path","_username","_password","nextC","nextNextC","cp","tempC","temp","parseInt","JURL","_url","authority","_","PDFPageProxy","PDFDocumentProxy","_regenerator","_interopRequireDefault","_util","_dom_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","_arr","_e","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","arr2","_defineProperties","fallbackWorkerSrc","DEFAULT_RANGE_CHUNK_SIZE","isWorkerDisabled","fakeWorkerFilesLoader","useRequireEnsure","requirejs","toUrl","createPDFNetworkStream","dynamicLoaderSupported","load","worker","WorkerMessageHandler","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","httpHeaders","withCredentials","messageHandler","MessageHandler","transport","WorkerTransport","_transport","send","_capability","pdfDataRangeTransport","sendWithPromise","apiVersion","password","docBaseUrl","nextDocumentId","onPassword","onProgress","onUnsupportedFeature","transportDestroyed","destroy","_rangeListeners","_progressListeners","_progressiveReadListeners","_readyCapability","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","return","loaded","_this2","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_step2","_iterator2","_this3","_iteratorNormalCompletion3","_didIteratorError3","_iteratorError3","_step3","_iterator3","pdfInfo","loadingTask","_pdfInfo","pageNumber","getPage","ref","getPageIndex","getDestinations","getDestination","getPageLabels","getPageMode","getOpenActionDestination","getAttachments","getJavaScript","getOutline","getPermissions","getMetadata","getData","downloadInfoCapability","getStats","startCleanup","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","_this4","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","read","_textContent$items","styles","getReader","pageCache","waitOn","renderCompleted","cancel","resetStats","some","operatorListChunk","userUnit","_listeners","_defer","_deferred","transfers","_this5","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","_this6","terminateEarly","removeEventListener","onWorkerError","terminate","_setupFakeWorker","supportTypedArray","supportTransfers","sendTest","testObj","_this7","workerHandler","setup","delete","fontLoader","FontLoader","_onUnsupportedFeature","_params","cMapUrl","isCompressed","cMapPacked","destroyCapability","_passwordCapability","_networkStream","_fullReader","_lastProgress","pagePromises","setupMessageHandler","_this8","page","_destroy","terminated","cancelAllRequests","_this9","getFullReader","evt","total","onPull","_ref7","enqueue","onCancel","_this10","headersCapability","fullReader","headersReady","isStreamingSupported","isRangeSupported","contentLength","rangeReader","getRangeReader","_ref8","_ref9","pdfDocument","exception","_this11","updatePassword","_startRenderPage","_renderPageChunk","_this12","_data","exportedData","exportedError","fontRegistry","FontInspector","enabled","registerFont","fontAdded","FontFaceObject","_data2","imageData","pageProxy","img","Image","onload","onerror","MAX_IMAGE_SIZE_TO_STORE","pageNum","_data3","imageUrl","components","width","height","rgbaLength","buf","Uint8ClampedArray","tmpCanvas","tmpCtx","getContext","drawImage","getImageData","_j","fetch","_ref10","featureId","_this13","_this14","results","metadata","Metadata","contentDispositionFilename","filename","_this15","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","_this16","requestAnimationFrame","_next2","mark","_callee","_context","prev","abrupt","executeOperatorList","stop","hadRuntime","regeneratorRuntime","oldRuntime","Op","hasOwn","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","inModule","runtime","GenStateSuspendedStart","GenStateSuspendedYield","GenStateExecuting","GenStateCompleted","ContinueSentinel","getProto","NativeIteratorPrototype","Gp","GeneratorFunctionPrototype","Generator","GeneratorFunction","displayName","isGeneratorFunction","genFun","awrap","__await","defineIteratorMethods","AsyncIterator","async","innerFn","outerFn","tryLocsList","reverse","Context","reset","skipTempReset","sent","_sent","delegate","tryEntries","resetTryEntry","rootEntry","rootRecord","completion","rval","dispatchException","handle","loc","caught","record","tryLoc","hasCatch","hasFinally","catchLoc","finallyLoc","finallyEntry","afterLoc","finish","thrown","delegateYield","resultName","nextLoc","protoGenerator","generator","_invoke","makeInvokeMethod","tryCatch","unwrapped","previousPromise","callInvokeWithMethodAndArg","doneResult","delegateResult","maybeInvokeDelegate","pushTryEntry","locs","iteratorMethod","DOMSVGFactory","DEFAULT_LINK_REL","SVG_NS","canvasAndContext","_ref$baseUrl","_ref$isCompressed","request","XMLHttpRequest","responseType","onreadystatechange","readyState","DONE","response","responseText","cMapData","compressionType","svg","createElementNS","setAttribute","_ref3$offsetX","offsetX","_ref3$offsetY","offsetY","_ref3$dontFlip","rotateA","rotateB","rotateC","rotateD","offsetCanvasX","offsetCanvasY","centerX","centerY","abs","_ref4$scale","_ref4$rotation","_ref4$dontFlip","y","tl","br","SELF","BLANK","PARENT","TOP","LinkTargetStringMap","link","title","LinkTargetValues","targetIndex","anchor","substring","started","times","Date","longest","_ii","span","duration","script","_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","t0","family","createFontFaceRule","isSyncFontLoadingSupported","_queueLoadingCallback","_prepareFontLoadEvent","_x","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","fontFamily","body","supported","getLoadTestFont","IsEvalSupportedCached","translatedData","_ref2$isEvalSupported","_ref2$disableFontFace","_ref2$ignoreErrors","_ref2$onUnsupportedFe","_ref2$fontRegistry","compiledGlyphs","FontFace","mimetype","character","cmds","current","js","cmd","compatibilityParams","isIE","isIOSChrome","_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","deps","nn","depObjId","objsPool","endSMaskGroup","endLayout","limit","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","addToPath","spacing","fontRefName","fontObj","fontDirection","isType3Font","bold","italic","typeface","fallbackName","browserFontSize","rise","paintChar","patternTransform","fillStrokeMode","isAddToPathSet","getPathGenerator","strokeText","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","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","topLeft","botRight","curMatrixScale","combinedScale","graphics","setFillAndStrokeStyleToContext","setScale","transformToScale","tmpTranslate","clipBbox","tmpScale","scaleToContext","bboxWidth","bboxHeight","cssColor","resolveCall","_x2","_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","parsed","attrStart","ch2","onError","onEndElement","pi","_parseProcessingInstruction","onPi","onComment","onCdata","q2","complexDoctype","doctypeContent","onDoctype","content","_parseContent","onBeginElement","text","onText","isEmpty","SimpleDOMNode","nodeValue","child","_XMLParserBase","_currentFragment","_stack","_errorCode","parseXml","_this$_currentFragmen","lastElement","_queuedChunks","_pdfDataRangeTransport","_isStreamingSupported","_isRangeSupported","_contentLength","_fullRequestReader","_rangeReaders","addRangeListener","_onReceiveData","addProgressListener","_onProgress","addProgressiveReadListener","transportReady","PDFDataTransportStreamReader","queuedChunks","_done","_filename","_requests","_headersReady","PDFDataTransportStreamRangeReader","_begin","_end","_queuedChunk","_enqueue","found","firstReader","_removeRangeReader","requestDataRange","readers","abort","requestCapability","_read","requestsCapability","_read2","_callee2","_context2","_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","createBuffer","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","used","TextLayerRenderTask","textContentStream","textContentItemsStr","enhanceTextSelection","_textContent","_container","_textContentItemsStr","_layoutTextLastFontSize","_layoutTextLastFontFamily","_layoutTextCtx","_renderTimer","renderParameters","_render","timeout","clearTimeout","_processItems","styleCache","textLayerFrag","mozOpaque","textItems","textStyles","expandTextDivs","expandDivs","padding","AnnotationElementFactory","parameters","annotationType","LinkAnnotationElement","TextAnnotationElement","fieldType","TextWidgetAnnotationElement","radioButton","RadioButtonWidgetAnnotationElement","checkBox","CheckboxWidgetAnnotationElement","PushButtonWidgetAnnotationElement","ChoiceWidgetAnnotationElement","WidgetAnnotationElement","PopupAnnotationElement","LineAnnotationElement","SquareAnnotationElement","CircleAnnotationElement","PolylineAnnotationElement","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","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","element","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","_formatContents","_toggle","_show","_hide","lines","line","pin","hasAttribute","removeAttribute","zIndex","unpin","_AnnotationElement5","lineCoordinates","append","_AnnotationElement6","square","_AnnotationElement7","circle","_AnnotationElement8","containerClassName","svgElementName","vertices","polyline","_PolylineAnnotationEl","_AnnotationElement9","inkLists","inkList","_AnnotationElement10","_AnnotationElement11","_AnnotationElement12","_AnnotationElement13","_AnnotationElement14","_AnnotationElement15","_this6$data$file","file","eventBus","dispatch","_download","downloadData","annotations","_is_node","SVG_DEFAULTS","convertImgDataToPng","PNG_HEADER","CHUNK_WRAPPER_SIZE","crcTable","crc32","crc","writePngChunk","adler32","deflateSync","literals","deflateSyncUncompressed","maxBlockLength","deflateBlocks","idat","adler","isMask","bitDepth","colorType","offsetLiterals","offsetBytes","ihdr","pngLength","SVGExtraState","dependencies","activeClipUrl","clipGroup","maskId","opListToTree","opList","opTree","opListLen","pf","toFixed","pm","acos","transformMatrix","transformStack","extraStack","embedFonts","embeddedFonts","cssStyle","XML_NS","XLINK_NS","clipCount","maskCount","tgrp","executeOpTree","loadDependencies","fnArrayLen","getSVG","svgElement","convertOpList","REVOPS","opTreeLen","lineMatrix","xcoords","tspan","setAttributeNS","txtElement","txtgrp","_setStrokeAttributes","_ensureTransformGroup","addFontStyle","defs","setStrokeAlpha","setFillAlpha","opLength","clipId","clipPath","clipElement","cloneNode","getAttributeNS","imgObj","imgEl","imgSrc","cliprect","definitions","rootGroup","_ensureClipGroup","_network_utils","fs","http","https","fileUriRegex","parseUrl","sourceUrl","parsedUrl","isHttp","isFsUrl","_fullRequest","_rangeRequestReaders","PDFNodeStreamFsFullReader","PDFNodeStreamFullReader","PDFNodeStreamFsRangeReader","PDFNodeStreamRangeReader","BaseFullReader","_loaded","_disableRange","_rangeChunkSize","_readableStream","_readCapability","_headersCapability","_error","BaseRangeReader","createRequestOptions","headers","_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","RegExp","textdecode","encoding","decoder","TextDecoder","fatal","matches","_match","_match2","quot","_matches$n","quotindex","extvalue","encodingend","langvalue","charset","hex","createFetchOptions","abortController","signal","credentials","redirect","PDFFetchStreamReader","PDFFetchStreamRangeReader","_withCredentials","AbortController","_abortController","_headers","Headers","rangeStr","NetworkManager","OK_RESPONSE","PARTIAL_CONTENT_RESPONSE","getXhr","currXhrId","pendingRequests","loadedRequests","getArrayBuffer","xhr","supportsMozChunked","_source","_manager","PDFNetworkStreamFullRequestReader","manager","onHeadersReceived","_onHeadersReceived","onProgressiveData","_onProgressiveData","onDone","_onDone","_onError","_fullRequestId","requestFull","_headersReceivedCapability","_cachedChunks","PDFNetworkStreamRangeRequestReader","_requestId","requestRange","onClosed","listeners","xhrId","pendingRequest","setRequestHeader","expectedStatus","useMozChunkedLoading","mozChunked","onStateChange","onprogress","xhrStatus","ok_response_on_range_request","rangeHeader","hasPendingRequests","getRequestXhr","isStreamingRequest","isPendingRequest","isLoadedRequest","abortAllRequests","_onRangeRequestReaderClosed","fullRequestXhrId","fullRequestXhr","networkManager","lengthComputable","_close","stringifyPrimitive","objectKeys","ks","pdfjs","PdfjsWorker"],"mappings":"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","file":"js/pdfjs-dist.007f332c.js","sourcesContent":["// 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'use strict';\n\nvar punycode = require('punycode');\nvar util = require('./util');\n\nexports.parse = urlParse;\nexports.resolve = urlResolve;\nexports.resolveObject = urlResolveObject;\nexports.format = urlFormat;\n\nexports.Url = Url;\n\nfunction Url() {\n this.protocol = null;\n this.slashes = null;\n this.auth = null;\n this.host = null;\n this.port = null;\n this.hostname = null;\n this.hash = null;\n this.search = null;\n this.query = null;\n this.pathname = null;\n this.path = null;\n this.href = null;\n}\n\n// Reference: RFC 3986, RFC 1808, RFC 2396\n\n// define these here so at least they only have to be\n// compiled once on the first module load.\nvar protocolPattern = /^([a-z0-9.+-]+:)/i,\n portPattern = /:[0-9]*$/,\n\n // Special case for a simple path URL\n simplePathPattern = /^(\\/\\/?(?!\\/)[^\\?\\s]*)(\\?[^\\s]*)?$/,\n\n // RFC 2396: characters reserved for delimiting URLs.\n // We actually just auto-escape these.\n delims = ['<', '>', '\"', '`', ' ', '\\r', '\\n', '\\t'],\n\n // RFC 2396: characters not allowed for various reasons.\n unwise = ['{', '}', '|', '\\\\', '^', '`'].concat(delims),\n\n // Allowed by RFCs, but cause of XSS attacks. Always escape these.\n autoEscape = ['\\''].concat(unwise),\n // Characters that are never ever allowed in a hostname.\n // Note that any invalid chars are also handled, but these\n // are the ones that are *expected* to be seen, so we fast-path\n // them.\n nonHostChars = ['%', '/', '?', ';', '#'].concat(autoEscape),\n hostEndingChars = ['/', '?', '#'],\n hostnameMaxLen = 255,\n hostnamePartPattern = /^[+a-z0-9A-Z_-]{0,63}$/,\n hostnamePartStart = /^([+a-z0-9A-Z_-]{0,63})(.*)$/,\n // protocols that can allow \"unsafe\" and \"unwise\" chars.\n unsafeProtocol = {\n 'javascript': true,\n 'javascript:': true\n },\n // protocols that never have a hostname.\n hostlessProtocol = {\n 'javascript': true,\n 'javascript:': true\n },\n // protocols that always contain a // bit.\n slashedProtocol = {\n 'http': true,\n 'https': true,\n 'ftp': true,\n 'gopher': true,\n 'file': true,\n 'http:': true,\n 'https:': true,\n 'ftp:': true,\n 'gopher:': true,\n 'file:': true\n },\n querystring = require('querystring');\n\nfunction urlParse(url, parseQueryString, slashesDenoteHost) {\n if (url && util.isObject(url) && url instanceof Url) return url;\n\n var u = new Url;\n u.parse(url, parseQueryString, slashesDenoteHost);\n return u;\n}\n\nUrl.prototype.parse = function(url, parseQueryString, slashesDenoteHost) {\n if (!util.isString(url)) {\n throw new TypeError(\"Parameter 'url' must be a string, not \" + typeof url);\n }\n\n // Copy chrome, IE, opera backslash-handling behavior.\n // Back slashes before the query string get converted to forward slashes\n // See: https://code.google.com/p/chromium/issues/detail?id=25916\n var queryIndex = url.indexOf('?'),\n splitter =\n (queryIndex !== -1 && queryIndex < url.indexOf('#')) ? '?' : '#',\n uSplit = url.split(splitter),\n slashRegex = /\\\\/g;\n uSplit[0] = uSplit[0].replace(slashRegex, '/');\n url = uSplit.join(splitter);\n\n var rest = url;\n\n // trim before proceeding.\n // This is to support parse stuff like \" http://foo.com \\n\"\n rest = rest.trim();\n\n if (!slashesDenoteHost && url.split('#').length === 1) {\n // Try fast path regexp\n var simplePath = simplePathPattern.exec(rest);\n if (simplePath) {\n this.path = rest;\n this.href = rest;\n this.pathname = simplePath[1];\n if (simplePath[2]) {\n this.search = simplePath[2];\n if (parseQueryString) {\n this.query = querystring.parse(this.search.substr(1));\n } else {\n this.query = this.search.substr(1);\n }\n } else if (parseQueryString) {\n this.search = '';\n this.query = {};\n }\n return this;\n }\n }\n\n var proto = protocolPattern.exec(rest);\n if (proto) {\n proto = proto[0];\n var lowerProto = proto.toLowerCase();\n this.protocol = lowerProto;\n rest = rest.substr(proto.length);\n }\n\n // figure out if it's got a host\n // user@server is *always* interpreted as a hostname, and url\n // resolution will treat //foo/bar as host=foo,path=bar because that's\n // how the browser resolves relative URLs.\n if (slashesDenoteHost || proto || rest.match(/^\\/\\/[^@\\/]+@[^@\\/]+/)) {\n var slashes = rest.substr(0, 2) === '//';\n if (slashes && !(proto && hostlessProtocol[proto])) {\n rest = rest.substr(2);\n this.slashes = true;\n }\n }\n\n if (!hostlessProtocol[proto] &&\n (slashes || (proto && !slashedProtocol[proto]))) {\n\n // there's a hostname.\n // the first instance of /, ?, ;, or # ends the host.\n //\n // If there is an @ in the hostname, then non-host chars *are* allowed\n // to the left of the last @ sign, unless some host-ending character\n // comes *before* the @-sign.\n // URLs are obnoxious.\n //\n // ex:\n // http://a@b@c/ => user:a@b host:c\n // http://a@b?@c => user:a host:c path:/?@c\n\n // v0.12 TODO(isaacs): This is not quite how Chrome does things.\n // Review our test case against browsers more comprehensively.\n\n // find the first instance of any hostEndingChars\n var hostEnd = -1;\n for (var i = 0; i < hostEndingChars.length; i++) {\n var hec = rest.indexOf(hostEndingChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd))\n hostEnd = hec;\n }\n\n // at this point, either we have an explicit point where the\n // auth portion cannot go past, or the last @ char is the decider.\n var auth, atSign;\n if (hostEnd === -1) {\n // atSign can be anywhere.\n atSign = rest.lastIndexOf('@');\n } else {\n // atSign must be in auth portion.\n // http://a@b/c@d => host:b auth:a path:/c@d\n atSign = rest.lastIndexOf('@', hostEnd);\n }\n\n // Now we have a portion which is definitely the auth.\n // Pull that off.\n if (atSign !== -1) {\n auth = rest.slice(0, atSign);\n rest = rest.slice(atSign + 1);\n this.auth = decodeURIComponent(auth);\n }\n\n // the host is the remaining to the left of the first non-host char\n hostEnd = -1;\n for (var i = 0; i < nonHostChars.length; i++) {\n var hec = rest.indexOf(nonHostChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd))\n hostEnd = hec;\n }\n // if we still have not hit it, then the entire thing is a host.\n if (hostEnd === -1)\n hostEnd = rest.length;\n\n this.host = rest.slice(0, hostEnd);\n rest = rest.slice(hostEnd);\n\n // pull out port.\n this.parseHost();\n\n // we've indicated that there is a hostname,\n // so even if it's empty, it has to be present.\n this.hostname = this.hostname || '';\n\n // if hostname begins with [ and ends with ]\n // assume that it's an IPv6 address.\n var ipv6Hostname = this.hostname[0] === '[' &&\n this.hostname[this.hostname.length - 1] === ']';\n\n // validate a little.\n if (!ipv6Hostname) {\n var hostparts = this.hostname.split(/\\./);\n for (var i = 0, l = hostparts.length; i < l; i++) {\n var part = hostparts[i];\n if (!part) continue;\n if (!part.match(hostnamePartPattern)) {\n var newpart = '';\n for (var j = 0, k = part.length; j < k; j++) {\n if (part.charCodeAt(j) > 127) {\n // we replace non-ASCII char with a temporary placeholder\n // we need this to make sure size of hostname is not\n // broken by replacing non-ASCII by nothing\n newpart += 'x';\n } else {\n newpart += part[j];\n }\n }\n // we test again with ASCII char only\n if (!newpart.match(hostnamePartPattern)) {\n var validParts = hostparts.slice(0, i);\n var notHost = hostparts.slice(i + 1);\n var bit = part.match(hostnamePartStart);\n if (bit) {\n validParts.push(bit[1]);\n notHost.unshift(bit[2]);\n }\n if (notHost.length) {\n rest = '/' + notHost.join('.') + rest;\n }\n this.hostname = validParts.join('.');\n break;\n }\n }\n }\n }\n\n if (this.hostname.length > hostnameMaxLen) {\n this.hostname = '';\n } else {\n // hostnames are always lower case.\n this.hostname = this.hostname.toLowerCase();\n }\n\n if (!ipv6Hostname) {\n // IDNA Support: Returns a punycoded representation of \"domain\".\n // It only converts parts of the domain name that\n // have non-ASCII characters, i.e. it doesn't matter if\n // you call it with a domain that already is ASCII-only.\n this.hostname = punycode.toASCII(this.hostname);\n }\n\n var p = this.port ? ':' + this.port : '';\n var h = this.hostname || '';\n this.host = h + p;\n this.href += this.host;\n\n // strip [ and ] from the hostname\n // the host field still retains them, though\n if (ipv6Hostname) {\n this.hostname = this.hostname.substr(1, this.hostname.length - 2);\n if (rest[0] !== '/') {\n rest = '/' + rest;\n }\n }\n }\n\n // now rest is set to the post-host stuff.\n // chop off any delim chars.\n if (!unsafeProtocol[lowerProto]) {\n\n // First, make 100% sure that any \"autoEscape\" chars get\n // escaped, even if encodeURIComponent doesn't think they\n // need to be.\n for (var i = 0, l = autoEscape.length; i < l; i++) {\n var ae = autoEscape[i];\n if (rest.indexOf(ae) === -1)\n continue;\n var esc = encodeURIComponent(ae);\n if (esc === ae) {\n esc = escape(ae);\n }\n rest = rest.split(ae).join(esc);\n }\n }\n\n\n // chop off from the tail first.\n var hash = rest.indexOf('#');\n if (hash !== -1) {\n // got a fragment string.\n this.hash = rest.substr(hash);\n rest = rest.slice(0, hash);\n }\n var qm = rest.indexOf('?');\n if (qm !== -1) {\n this.search = rest.substr(qm);\n this.query = rest.substr(qm + 1);\n if (parseQueryString) {\n this.query = querystring.parse(this.query);\n }\n rest = rest.slice(0, qm);\n } else if (parseQueryString) {\n // no query string, but parseQueryString still requested\n this.search = '';\n this.query = {};\n }\n if (rest) this.pathname = rest;\n if (slashedProtocol[lowerProto] &&\n this.hostname && !this.pathname) {\n this.pathname = '/';\n }\n\n //to support http.request\n if (this.pathname || this.search) {\n var p = this.pathname || '';\n var s = this.search || '';\n this.path = p + s;\n }\n\n // finally, reconstruct the href based on what has been validated.\n this.href = this.format();\n return this;\n};\n\n// format a parsed object into a url string\nfunction urlFormat(obj) {\n // ensure it's an object, and not a string url.\n // If it's an obj, this is a no-op.\n // this way, you can call url_format() on strings\n // to clean up potentially wonky urls.\n if (util.isString(obj)) obj = urlParse(obj);\n if (!(obj instanceof Url)) return Url.prototype.format.call(obj);\n return obj.format();\n}\n\nUrl.prototype.format = function() {\n var auth = this.auth || '';\n if (auth) {\n auth = encodeURIComponent(auth);\n auth = auth.replace(/%3A/i, ':');\n auth += '@';\n }\n\n var protocol = this.protocol || '',\n pathname = this.pathname || '',\n hash = this.hash || '',\n host = false,\n query = '';\n\n if (this.host) {\n host = auth + this.host;\n } else if (this.hostname) {\n host = auth + (this.hostname.indexOf(':') === -1 ?\n this.hostname :\n '[' + this.hostname + ']');\n if (this.port) {\n host += ':' + this.port;\n }\n }\n\n if (this.query &&\n util.isObject(this.query) &&\n Object.keys(this.query).length) {\n query = querystring.stringify(this.query);\n }\n\n var search = this.search || (query && ('?' + query)) || '';\n\n if (protocol && protocol.substr(-1) !== ':') protocol += ':';\n\n // only the slashedProtocols get the //. Not mailto:, xmpp:, etc.\n // unless they had them to begin with.\n if (this.slashes ||\n (!protocol || slashedProtocol[protocol]) && host !== false) {\n host = '//' + (host || '');\n if (pathname && pathname.charAt(0) !== '/') pathname = '/' + pathname;\n } else if (!host) {\n host = '';\n }\n\n if (hash && hash.charAt(0) !== '#') hash = '#' + hash;\n if (search && search.charAt(0) !== '?') search = '?' + search;\n\n pathname = pathname.replace(/[?#]/g, function(match) {\n return encodeURIComponent(match);\n });\n search = search.replace('#', '%23');\n\n return protocol + host + pathname + search + hash;\n};\n\nfunction urlResolve(source, relative) {\n return urlParse(source, false, true).resolve(relative);\n}\n\nUrl.prototype.resolve = function(relative) {\n return this.resolveObject(urlParse(relative, false, true)).format();\n};\n\nfunction urlResolveObject(source, relative) {\n if (!source) return relative;\n return urlParse(source, false, true).resolveObject(relative);\n}\n\nUrl.prototype.resolveObject = function(relative) {\n if (util.isString(relative)) {\n var rel = new Url();\n rel.parse(relative, false, true);\n relative = rel;\n }\n\n var result = new Url();\n var tkeys = Object.keys(this);\n for (var tk = 0; tk < tkeys.length; tk++) {\n var tkey = tkeys[tk];\n result[tkey] = this[tkey];\n }\n\n // hash is always overridden, no matter what.\n // even href=\"\" will remove it.\n result.hash = relative.hash;\n\n // if the relative url is empty, then there's nothing left to do here.\n if (relative.href === '') {\n result.href = result.format();\n return result;\n }\n\n // hrefs like //foo/bar always cut to the protocol.\n if (relative.slashes && !relative.protocol) {\n // take everything except the protocol from relative\n var rkeys = Object.keys(relative);\n for (var rk = 0; rk < rkeys.length; rk++) {\n var rkey = rkeys[rk];\n if (rkey !== 'protocol')\n result[rkey] = relative[rkey];\n }\n\n //urlParse appends trailing / to urls like http://www.example.com\n if (slashedProtocol[result.protocol] &&\n result.hostname && !result.pathname) {\n result.path = result.pathname = '/';\n }\n\n result.href = result.format();\n return result;\n }\n\n if (relative.protocol && relative.protocol !== result.protocol) {\n // if it's a known url protocol, then changing\n // the protocol does weird things\n // first, if it's not file:, then we MUST have a host,\n // and if there was a path\n // to begin with, then we MUST have a path.\n // if it is file:, then the host is dropped,\n // because that's known to be hostless.\n // anything else is assumed to be absolute.\n if (!slashedProtocol[relative.protocol]) {\n var keys = Object.keys(relative);\n for (var v = 0; v < keys.length; v++) {\n var k = keys[v];\n result[k] = relative[k];\n }\n result.href = result.format();\n return result;\n }\n\n result.protocol = relative.protocol;\n if (!relative.host && !hostlessProtocol[relative.protocol]) {\n var relPath = (relative.pathname || '').split('/');\n while (relPath.length && !(relative.host = relPath.shift()));\n if (!relative.host) relative.host = '';\n if (!relative.hostname) relative.hostname = '';\n if (relPath[0] !== '') relPath.unshift('');\n if (relPath.length < 2) relPath.unshift('');\n result.pathname = relPath.join('/');\n } else {\n result.pathname = relative.pathname;\n }\n result.search = relative.search;\n result.query = relative.query;\n result.host = relative.host || '';\n result.auth = relative.auth;\n result.hostname = relative.hostname || relative.host;\n result.port = relative.port;\n // to support http.request\n if (result.pathname || result.search) {\n var p = result.pathname || '';\n var s = result.search || '';\n result.path = p + s;\n }\n result.slashes = result.slashes || relative.slashes;\n result.href = result.format();\n return result;\n }\n\n var isSourceAbs = (result.pathname && result.pathname.charAt(0) === '/'),\n isRelAbs = (\n relative.host ||\n relative.pathname && relative.pathname.charAt(0) === '/'\n ),\n mustEndAbs = (isRelAbs || isSourceAbs ||\n (result.host && relative.pathname)),\n removeAllDots = mustEndAbs,\n srcPath = result.pathname && result.pathname.split('/') || [],\n relPath = relative.pathname && relative.pathname.split('/') || [],\n psychotic = result.protocol && !slashedProtocol[result.protocol];\n\n // if the url is a non-slashed url, then relative\n // links like ../.. should be able\n // to crawl up to the hostname, as well. This is strange.\n // result.protocol has already been set by now.\n // Later on, put the first path part into the host field.\n if (psychotic) {\n result.hostname = '';\n result.port = null;\n if (result.host) {\n if (srcPath[0] === '') srcPath[0] = result.host;\n else srcPath.unshift(result.host);\n }\n result.host = '';\n if (relative.protocol) {\n relative.hostname = null;\n relative.port = null;\n if (relative.host) {\n if (relPath[0] === '') relPath[0] = relative.host;\n else relPath.unshift(relative.host);\n }\n relative.host = null;\n }\n mustEndAbs = mustEndAbs && (relPath[0] === '' || srcPath[0] === '');\n }\n\n if (isRelAbs) {\n // it's absolute.\n result.host = (relative.host || relative.host === '') ?\n relative.host : result.host;\n result.hostname = (relative.hostname || relative.hostname === '') ?\n relative.hostname : result.hostname;\n result.search = relative.search;\n result.query = relative.query;\n srcPath = relPath;\n // fall through to the dot-handling below.\n } else if (relPath.length) {\n // it's relative\n // throw away the existing file, and take the new path instead.\n if (!srcPath) srcPath = [];\n srcPath.pop();\n srcPath = srcPath.concat(relPath);\n result.search = relative.search;\n result.query = relative.query;\n } else if (!util.isNullOrUndefined(relative.search)) {\n // just pull out the search.\n // like href='?foo'.\n // Put this after the other two cases because it simplifies the booleans\n if (psychotic) {\n result.hostname = result.host = srcPath.shift();\n //occationaly the auth can get stuck only in host\n //this especially happens in cases like\n //url.resolveObject('mailto:local1@domain1', 'local2@domain2')\n var authInHost = result.host && result.host.indexOf('@') > 0 ?\n result.host.split('@') : false;\n if (authInHost) {\n result.auth = authInHost.shift();\n result.host = result.hostname = authInHost.shift();\n }\n }\n result.search = relative.search;\n result.query = relative.query;\n //to support http.request\n if (!util.isNull(result.pathname) || !util.isNull(result.search)) {\n result.path = (result.pathname ? result.pathname : '') +\n (result.search ? result.search : '');\n }\n result.href = result.format();\n return result;\n }\n\n if (!srcPath.length) {\n // no path at all. easy.\n // we've already handled the other stuff above.\n result.pathname = null;\n //to support http.request\n if (result.search) {\n result.path = '/' + result.search;\n } else {\n result.path = null;\n }\n result.href = result.format();\n return result;\n }\n\n // if a url ENDs in . or .., then it must get a trailing slash.\n // however, if it ends in anything else non-slashy,\n // then it must NOT get a trailing slash.\n var last = srcPath.slice(-1)[0];\n var hasTrailingSlash = (\n (result.host || relative.host || srcPath.length > 1) &&\n (last === '.' || last === '..') || last === '');\n\n // strip single dots, resolve double dots to parent dir\n // if the path tries to go above the root, `up` ends up > 0\n var up = 0;\n for (var i = srcPath.length; i >= 0; i--) {\n last = srcPath[i];\n if (last === '.') {\n srcPath.splice(i, 1);\n } else if (last === '..') {\n srcPath.splice(i, 1);\n up++;\n } else if (up) {\n srcPath.splice(i, 1);\n up--;\n }\n }\n\n // if the path is allowed to go above the root, restore leading ..s\n if (!mustEndAbs && !removeAllDots) {\n for (; up--; up) {\n srcPath.unshift('..');\n }\n }\n\n if (mustEndAbs && srcPath[0] !== '' &&\n (!srcPath[0] || srcPath[0].charAt(0) !== '/')) {\n srcPath.unshift('');\n }\n\n if (hasTrailingSlash && (srcPath.join('/').substr(-1) !== '/')) {\n srcPath.push('');\n }\n\n var isAbsolute = srcPath[0] === '' ||\n (srcPath[0] && srcPath[0].charAt(0) === '/');\n\n // put the host back\n if (psychotic) {\n result.hostname = result.host = isAbsolute ? '' :\n srcPath.length ? srcPath.shift() : '';\n //occationaly the auth can get stuck only in host\n //this especially happens in cases like\n //url.resolveObject('mailto:local1@domain1', 'local2@domain2')\n var authInHost = result.host && result.host.indexOf('@') > 0 ?\n result.host.split('@') : false;\n if (authInHost) {\n result.auth = authInHost.shift();\n result.host = result.hostname = authInHost.shift();\n }\n }\n\n mustEndAbs = mustEndAbs || (result.host && srcPath.length);\n\n if (mustEndAbs && !isAbsolute) {\n srcPath.unshift('');\n }\n\n if (!srcPath.length) {\n result.pathname = null;\n result.path = null;\n } else {\n result.pathname = srcPath.join('/');\n }\n\n //to support request.http\n if (!util.isNull(result.pathname) || !util.isNull(result.search)) {\n result.path = (result.pathname ? result.pathname : '') +\n (result.search ? result.search : '');\n }\n result.auth = relative.auth || result.auth;\n result.slashes = result.slashes || relative.slashes;\n result.href = result.format();\n return result;\n};\n\nUrl.prototype.parseHost = function() {\n var host = this.host;\n var port = portPattern.exec(host);\n if (port) {\n port = port[0];\n if (port !== ':') {\n this.port = port.substr(1);\n }\n host = host.substr(0, host.length - port.length);\n }\n if (host) this.hostname = host;\n};\n","/*! https://mths.be/punycode v1.4.1 by @mathias */\n;(function(root) {\n\n\t/** Detect free variables */\n\tvar freeExports = typeof exports == 'object' && exports &&\n\t\t!exports.nodeType && exports;\n\tvar freeModule = typeof module == 'object' && 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\ttypeof define == 'function' &&\n\t\ttypeof define.amd == 'object' &&\n\t\tdefine.amd\n\t) {\n\t\tdefine('punycode', function() {\n\t\t\treturn punycode;\n\t\t});\n\t} else if (freeExports && freeModule) {\n\t\tif (module.exports == freeExports) {\n\t\t\t// in Node.js, io.js, or RingoJS v0.8.0+\n\t\t\tfreeModule.exports = punycode;\n\t\t} else {\n\t\t\t// in Narwhal or RingoJS v0.7.0-\n\t\t\tfor (key in punycode) {\n\t\t\t\tpunycode.hasOwnProperty(key) && (freeExports[key] = punycode[key]);\n\t\t\t}\n\t\t}\n\t} else {\n\t\t// in Rhino or a web browser\n\t\troot.punycode = punycode;\n\t}\n\n}(this));\n","'use strict';\n\nmodule.exports = {\n isString: function(arg) {\n return typeof(arg) === 'string';\n },\n isObject: function(arg) {\n return typeof(arg) === 'object' && arg !== null;\n },\n isNull: function(arg) {\n return arg === null;\n },\n isNullOrUndefined: function(arg) {\n return arg == null;\n }\n};\n","module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","module.exports = function() {\n return new Worker(__webpack_public_path__ + \"e784ea332fd58d4add33.worker.js\");\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'use strict';\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 * @licstart The following is the entire license notice for the\n * Javascript code in this page\n *\n * Copyright 2018 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * @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(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"pdfjs-dist/build/pdf\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"pdfjs-dist/build/pdf\"] = factory();\n\telse\n\t\troot[\"pdfjs-dist/build/pdf\"] = root.pdfjsLib = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __w_pdfjs_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __w_pdfjs_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__w_pdfjs_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__w_pdfjs_require__.c = installedModules;\n/******/\n/******/ \t// 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.1.266';\nvar pdfjsBuild = '81f5835c';\n\nvar pdfjsSharedUtil = __w_pdfjs_require__(1);\n\nvar pdfjsDisplayAPI = __w_pdfjs_require__(146);\n\nvar pdfjsDisplayTextLayer = __w_pdfjs_require__(162);\n\nvar pdfjsDisplayAnnotationLayer = __w_pdfjs_require__(163);\n\nvar pdfjsDisplayDOMUtils = __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 if (typeof Response !== 'undefined' && 'body' in Response.prototype && typeof ReadableStream !== 'undefined') {\n var PDFFetchStream = __w_pdfjs_require__(168).PDFFetchStream;\n\n pdfjsDisplayAPI.setPDFNetworkStreamFactory(function (params) {\n return new PDFFetchStream(params);\n });\n } else {\n var PDFNetworkStream = __w_pdfjs_require__(169).PDFNetworkStream;\n\n pdfjsDisplayAPI.setPDFNetworkStreamFactory(function (params) {\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 = pdfjsDisplayDOMUtils.RenderingCancelledException;\nexports.getFilenameFromUrl = pdfjsDisplayDOMUtils.getFilenameFromUrl;\nexports.LinkTarget = pdfjsDisplayDOMUtils.LinkTarget;\nexports.addLinkAttributes = pdfjsDisplayDOMUtils.addLinkAttributes;\nexports.loadScript = pdfjsDisplayDOMUtils.loadScript;\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.toRomanNumerals = toRomanNumerals;\nexports.arrayByteLength = arrayByteLength;\nexports.arraysToBytes = arraysToBytes;\nexports.assert = assert;\nexports.bytesToString = bytesToString;\nexports.createPromiseCapability = createPromiseCapability;\nexports.deprecated = deprecated;\nexports.getInheritableProperty = getInheritableProperty;\nexports.getLookupTableFactory = getLookupTableFactory;\nexports.getVerbosityLevel = getVerbosityLevel;\nexports.info = info;\nexports.isArrayBuffer = isArrayBuffer;\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.XRefParseException = exports.XRefEntryException = exports.Util = exports.UnknownErrorException = exports.UnexpectedResponseException = exports.TextRenderingMode = exports.StreamType = exports.PermissionFlag = exports.PasswordResponses = exports.PasswordException = exports.NativeImageDecoding = exports.MissingPDFException = exports.MissingDataException = 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__(142);\n\nvar _url_polyfill = __w_pdfjs_require__(144);\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 deprecated(details) {\n console.log('Deprecated API usage: ' + details);\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\nfunction getLookupTableFactory(initializer) {\n var lookup;\n return function () {\n if (initializer) {\n lookup = Object.create(null);\n initializer(lookup);\n initializer = null;\n }\n\n return lookup;\n };\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 MissingDataException = function MissingDataExceptionClosure() {\n function MissingDataException(begin, end) {\n this.begin = begin;\n this.end = end;\n this.message = 'Missing data [' + begin + ', ' + end + ')';\n }\n\n MissingDataException.prototype = new Error();\n MissingDataException.prototype.name = 'MissingDataException';\n MissingDataException.constructor = MissingDataException;\n return MissingDataException;\n}();\n\nexports.MissingDataException = MissingDataException;\n\nvar XRefEntryException = function XRefEntryExceptionClosure() {\n function XRefEntryException(msg) {\n this.message = msg;\n }\n\n XRefEntryException.prototype = new Error();\n XRefEntryException.prototype.name = 'XRefEntryException';\n XRefEntryException.constructor = XRefEntryException;\n return XRefEntryException;\n}();\n\nexports.XRefEntryException = XRefEntryException;\n\nvar XRefParseException = function XRefParseExceptionClosure() {\n function XRefParseException(msg) {\n this.message = msg;\n }\n\n XRefParseException.prototype = new Error();\n XRefParseException.prototype.name = 'XRefParseException';\n XRefParseException.constructor = XRefParseException;\n return XRefParseException;\n}();\n\nexports.XRefParseException = XRefParseException;\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\nfunction getInheritableProperty(_ref) {\n var dict = _ref.dict,\n key = _ref.key,\n _ref$getArray = _ref.getArray,\n getArray = _ref$getArray === void 0 ? false : _ref$getArray,\n _ref$stopWhenFound = _ref.stopWhenFound,\n stopWhenFound = _ref$stopWhenFound === void 0 ? true : _ref$stopWhenFound;\n var LOOP_LIMIT = 100;\n var loopCount = 0;\n var values;\n\n while (dict) {\n var value = getArray ? dict.getArray(key) : dict.get(key);\n\n if (value !== undefined) {\n if (stopWhenFound) {\n return value;\n }\n\n if (!values) {\n values = [];\n }\n\n values.push(value);\n }\n\n if (++loopCount > LOOP_LIMIT) {\n warn(\"getInheritableProperty: maximum loop count exceeded for \\\"\".concat(key, \"\\\"\"));\n break;\n }\n\n dict = dict.get('Parent');\n }\n\n return values;\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 ROMAN_NUMBER_MAP = ['', 'C', 'CC', 'CCC', 'CD', 'D', 'DC', 'DCC', 'DCCC', 'CM', '', 'X', 'XX', 'XXX', 'XL', 'L', 'LX', 'LXX', 'LXXX', 'XC', '', 'I', 'II', 'III', 'IV', 'V', 'VI', 'VII', 'VIII', 'IX'];\n\nfunction toRomanNumerals(number) {\n var lowerCase = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n assert(Number.isInteger(number) && number > 0, 'The number should be a positive integer.');\n var pos,\n romanBuf = [];\n\n while (number >= 1000) {\n number -= 1000;\n romanBuf.push('M');\n }\n\n pos = number / 100 | 0;\n number %= 100;\n romanBuf.push(ROMAN_NUMBER_MAP[pos]);\n pos = number / 10 | 0;\n number %= 10;\n romanBuf.push(ROMAN_NUMBER_MAP[10 + pos]);\n romanBuf.push(ROMAN_NUMBER_MAP[20 + number]);\n var romanStr = romanBuf.join('');\n return lowerCase ? romanStr.toLowerCase() : romanStr;\n}\n\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 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; _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; _i2 < tokens.length; _i2++) {\n var token = tokens[_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__(35);\n })();\n\n (function checkStringIncludes() {\n if (String.prototype.includes) {\n return;\n }\n\n __w_pdfjs_require__(37);\n })();\n\n (function checkArrayIncludes() {\n if (Array.prototype.includes) {\n return;\n }\n\n __w_pdfjs_require__(39);\n })();\n\n (function checkArrayFrom() {\n if (Array.from) {\n return;\n }\n\n __w_pdfjs_require__(46);\n })();\n\n (function checkObjectAssign() {\n if (Object.assign) {\n return;\n }\n\n __w_pdfjs_require__(69);\n })();\n\n (function checkMathLog2() {\n if (Math.log2) {\n return;\n }\n\n Math.log2 = __w_pdfjs_require__(74);\n })();\n\n (function checkNumberIsNaN() {\n if (Number.isNaN) {\n return;\n }\n\n Number.isNaN = __w_pdfjs_require__(76);\n })();\n\n (function checkNumberIsInteger() {\n if (Number.isInteger) {\n return;\n }\n\n Number.isInteger = __w_pdfjs_require__(78);\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__(81);\n })();\n\n (function checkWeakMap() {\n if (globalScope.WeakMap) {\n return;\n }\n\n globalScope.WeakMap = __w_pdfjs_require__(101);\n })();\n\n (function checkWeakSet() {\n if (globalScope.WeakSet) {\n return;\n }\n\n globalScope.WeakSet = __w_pdfjs_require__(118);\n })();\n\n (function checkStringCodePointAt() {\n if (String.codePointAt) {\n return;\n }\n\n String.codePointAt = __w_pdfjs_require__(122);\n })();\n\n (function checkStringFromCodePoint() {\n if (String.fromCodePoint) {\n return;\n }\n\n String.fromCodePoint = __w_pdfjs_require__(124);\n })();\n\n (function checkSymbol() {\n if (globalScope.Symbol) {\n return;\n }\n\n __w_pdfjs_require__(126);\n })();\n\n (function checkStringPadStart() {\n if (String.prototype.padStart) {\n return;\n }\n\n __w_pdfjs_require__(133);\n })();\n\n (function checkStringPadEnd() {\n if (String.prototype.padEnd) {\n return;\n }\n\n __w_pdfjs_require__(137);\n })();\n\n (function checkObjectValues() {\n if (Object.values) {\n return;\n }\n\n Object.values = __w_pdfjs_require__(139);\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'];\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__(25);\n\nvar context = __w_pdfjs_require__(27);\n\nvar STARTS_WITH = 'startsWith';\nvar $startsWith = ''[STARTS_WITH];\n$export($export.P + $export.F * __w_pdfjs_require__(34)(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__(23);\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.2'\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 TO_STRING = 'toString';\nvar $toString = Function[TO_STRING];\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\nvar aFunction = __w_pdfjs_require__(24);\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/* 24 */\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/* 25 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar toInteger = __w_pdfjs_require__(26);\n\nvar min = Math.min;\n\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0;\n};\n\n/***/ }),\n/* 26 */\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/* 27 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isRegExp = __w_pdfjs_require__(28);\n\nvar defined = __w_pdfjs_require__(33);\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/* 28 */\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__(29);\n\nvar MATCH = __w_pdfjs_require__(30)('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/* 29 */\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/* 30 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar store = __w_pdfjs_require__(31)('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/* 31 */\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__(32) ? 'pure' : 'global',\n copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = false;\n\n/***/ }),\n/* 33 */\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/* 34 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar MATCH = __w_pdfjs_require__(30)('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/* 35 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(36);\n\nmodule.exports = __w_pdfjs_require__(9).String.endsWith;\n\n/***/ }),\n/* 36 */\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__(25);\n\nvar context = __w_pdfjs_require__(27);\n\nvar ENDS_WITH = 'endsWith';\nvar $endsWith = ''[ENDS_WITH];\n$export($export.P + $export.F * __w_pdfjs_require__(34)(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/* 37 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(38);\n\nmodule.exports = __w_pdfjs_require__(9).String.includes;\n\n/***/ }),\n/* 38 */\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__(27);\n\nvar INCLUDES = 'includes';\n$export($export.P + $export.F * __w_pdfjs_require__(34)(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/* 39 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(40);\n\nmodule.exports = __w_pdfjs_require__(9).Array.includes;\n\n/***/ }),\n/* 40 */\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__(41)(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__(45)('includes');\n\n/***/ }),\n/* 41 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar toIObject = __w_pdfjs_require__(42);\n\nvar toLength = __w_pdfjs_require__(25);\n\nvar toAbsoluteIndex = __w_pdfjs_require__(44);\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/* 42 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar IObject = __w_pdfjs_require__(43);\n\nvar defined = __w_pdfjs_require__(33);\n\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n\n/***/ }),\n/* 43 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar cof = __w_pdfjs_require__(29);\n\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n/***/ }),\n/* 44 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar toInteger = __w_pdfjs_require__(26);\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/* 45 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar UNSCOPABLES = __w_pdfjs_require__(30)('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/* 46 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(47);\n\n__w_pdfjs_require__(62);\n\nmodule.exports = __w_pdfjs_require__(9).Array.from;\n\n/***/ }),\n/* 47 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $at = __w_pdfjs_require__(48)(true);\n\n__w_pdfjs_require__(49)(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/* 48 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar toInteger = __w_pdfjs_require__(26);\n\nvar defined = __w_pdfjs_require__(33);\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/* 49 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar LIBRARY = __w_pdfjs_require__(32);\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__(50);\n\nvar $iterCreate = __w_pdfjs_require__(51);\n\nvar setToStringTag = __w_pdfjs_require__(59);\n\nvar getPrototypeOf = __w_pdfjs_require__(60);\n\nvar ITERATOR = __w_pdfjs_require__(30)('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/* 50 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = {};\n\n/***/ }),\n/* 51 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar create = __w_pdfjs_require__(52);\n\nvar descriptor = __w_pdfjs_require__(19);\n\nvar setToStringTag = __w_pdfjs_require__(59);\n\nvar IteratorPrototype = {};\n\n__w_pdfjs_require__(10)(IteratorPrototype, __w_pdfjs_require__(30)('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/* 52 */\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__(53);\n\nvar enumBugKeys = __w_pdfjs_require__(57);\n\nvar IE_PROTO = __w_pdfjs_require__(56)('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__(58).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/* 53 */\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__(54);\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/* 54 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $keys = __w_pdfjs_require__(55);\n\nvar enumBugKeys = __w_pdfjs_require__(57);\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n\n/***/ }),\n/* 55 */\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__(42);\n\nvar arrayIndexOf = __w_pdfjs_require__(41)(false);\n\nvar IE_PROTO = __w_pdfjs_require__(56)('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/* 56 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar shared = __w_pdfjs_require__(31)('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/* 57 */\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/* 58 */\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/* 59 */\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__(30)('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/* 60 */\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__(61);\n\nvar IE_PROTO = __w_pdfjs_require__(56)('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/* 61 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar defined = __w_pdfjs_require__(33);\n\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n\n/***/ }),\n/* 62 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar ctx = __w_pdfjs_require__(23);\n\nvar $export = __w_pdfjs_require__(7);\n\nvar toObject = __w_pdfjs_require__(61);\n\nvar call = __w_pdfjs_require__(63);\n\nvar isArrayIter = __w_pdfjs_require__(64);\n\nvar toLength = __w_pdfjs_require__(25);\n\nvar createProperty = __w_pdfjs_require__(65);\n\nvar getIterFn = __w_pdfjs_require__(66);\n\n$export($export.S + $export.F * !__w_pdfjs_require__(68)(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/* 63 */\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/* 64 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar Iterators = __w_pdfjs_require__(50);\n\nvar ITERATOR = __w_pdfjs_require__(30)('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/* 65 */\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/* 66 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar classof = __w_pdfjs_require__(67);\n\nvar ITERATOR = __w_pdfjs_require__(30)('iterator');\n\nvar Iterators = __w_pdfjs_require__(50);\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/* 67 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar cof = __w_pdfjs_require__(29);\n\nvar TAG = __w_pdfjs_require__(30)('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/* 68 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar ITERATOR = __w_pdfjs_require__(30)('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/* 69 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(70);\n\nmodule.exports = __w_pdfjs_require__(9).Object.assign;\n\n/***/ }),\n/* 70 */\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__(71)\n});\n\n/***/ }),\n/* 71 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar getKeys = __w_pdfjs_require__(54);\n\nvar gOPS = __w_pdfjs_require__(72);\n\nvar pIE = __w_pdfjs_require__(73);\n\nvar toObject = __w_pdfjs_require__(61);\n\nvar IObject = __w_pdfjs_require__(43);\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 if (isEnum.call(S, key = keys[j++])) T[key] = S[key];\n }\n }\n\n return T;\n} : $assign;\n\n/***/ }),\n/* 72 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nexports.f = Object.getOwnPropertySymbols;\n\n/***/ }),\n/* 73 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nexports.f = {}.propertyIsEnumerable;\n\n/***/ }),\n/* 74 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(75);\n\nmodule.exports = __w_pdfjs_require__(9).Math.log2;\n\n/***/ }),\n/* 75 */\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/* 76 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(77);\n\nmodule.exports = __w_pdfjs_require__(9).Number.isNaN;\n\n/***/ }),\n/* 77 */\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/* 78 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(79);\n\nmodule.exports = __w_pdfjs_require__(9).Number.isInteger;\n\n/***/ }),\n/* 79 */\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__(80)\n});\n\n/***/ }),\n/* 80 */\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/* 81 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(82);\n\n__w_pdfjs_require__(47);\n\n__w_pdfjs_require__(83);\n\n__w_pdfjs_require__(86);\n\n__w_pdfjs_require__(99);\n\n__w_pdfjs_require__(100);\n\nmodule.exports = __w_pdfjs_require__(9).Promise;\n\n/***/ }),\n/* 82 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar classof = __w_pdfjs_require__(67);\n\nvar test = {};\ntest[__w_pdfjs_require__(30)('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/* 83 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $iterators = __w_pdfjs_require__(84);\n\nvar getKeys = __w_pdfjs_require__(54);\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__(50);\n\nvar wks = __w_pdfjs_require__(30);\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/* 84 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar addToUnscopables = __w_pdfjs_require__(45);\n\nvar step = __w_pdfjs_require__(85);\n\nvar Iterators = __w_pdfjs_require__(50);\n\nvar toIObject = __w_pdfjs_require__(42);\n\nmodule.exports = __w_pdfjs_require__(49)(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/* 85 */\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/* 86 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar LIBRARY = __w_pdfjs_require__(32);\n\nvar global = __w_pdfjs_require__(8);\n\nvar ctx = __w_pdfjs_require__(23);\n\nvar classof = __w_pdfjs_require__(67);\n\nvar $export = __w_pdfjs_require__(7);\n\nvar isObject = __w_pdfjs_require__(13);\n\nvar aFunction = __w_pdfjs_require__(24);\n\nvar anInstance = __w_pdfjs_require__(87);\n\nvar forOf = __w_pdfjs_require__(88);\n\nvar speciesConstructor = __w_pdfjs_require__(89);\n\nvar task = __w_pdfjs_require__(90).set;\n\nvar microtask = __w_pdfjs_require__(92)();\n\nvar newPromiseCapabilityModule = __w_pdfjs_require__(93);\n\nvar perform = __w_pdfjs_require__(94);\n\nvar userAgent = __w_pdfjs_require__(95);\n\nvar promiseResolve = __w_pdfjs_require__(96);\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__(30)('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__(97)($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__(59)($Promise, PROMISE);\n\n__w_pdfjs_require__(98)(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__(68)(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/* 87 */\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/* 88 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar ctx = __w_pdfjs_require__(23);\n\nvar call = __w_pdfjs_require__(63);\n\nvar isArrayIter = __w_pdfjs_require__(64);\n\nvar anObject = __w_pdfjs_require__(12);\n\nvar toLength = __w_pdfjs_require__(25);\n\nvar getIterFn = __w_pdfjs_require__(66);\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/* 89 */\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__(24);\n\nvar SPECIES = __w_pdfjs_require__(30)('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/* 90 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar ctx = __w_pdfjs_require__(23);\n\nvar invoke = __w_pdfjs_require__(91);\n\nvar html = __w_pdfjs_require__(58);\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__(29)(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/* 91 */\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/* 92 */\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__(90).set;\n\nvar Observer = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar isNode = __w_pdfjs_require__(29)(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/* 93 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar aFunction = __w_pdfjs_require__(24);\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/* 94 */\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/* 95 */\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/* 96 */\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__(93);\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/* 97 */\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/* 98 */\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__(30)('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/* 99 */\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__(89);\n\nvar promiseResolve = __w_pdfjs_require__(96);\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/* 100 */\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__(93);\n\nvar perform = __w_pdfjs_require__(94);\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/* 101 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(82);\n\n__w_pdfjs_require__(83);\n\n__w_pdfjs_require__(102);\n\n__w_pdfjs_require__(114);\n\n__w_pdfjs_require__(116);\n\nmodule.exports = __w_pdfjs_require__(9).WeakMap;\n\n/***/ }),\n/* 102 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar each = __w_pdfjs_require__(103)(0);\n\nvar redefine = __w_pdfjs_require__(20);\n\nvar meta = __w_pdfjs_require__(107);\n\nvar assign = __w_pdfjs_require__(71);\n\nvar weak = __w_pdfjs_require__(108);\n\nvar isObject = __w_pdfjs_require__(13);\n\nvar fails = __w_pdfjs_require__(16);\n\nvar validate = __w_pdfjs_require__(109);\n\nvar WEAK_MAP = 'WeakMap';\nvar getWeak = meta.getWeak;\nvar isExtensible = Object.isExtensible;\nvar uncaughtFrozenStore = weak.ufstore;\nvar tmp = {};\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__(110)(WEAK_MAP, wrapper, methods, weak, true, true);\n\nif (fails(function () {\n return new $WeakMap().set((Object.freeze || Object)(tmp), 7).get(tmp) != 7;\n})) {\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/* 103 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar ctx = __w_pdfjs_require__(23);\n\nvar IObject = __w_pdfjs_require__(43);\n\nvar toObject = __w_pdfjs_require__(61);\n\nvar toLength = __w_pdfjs_require__(25);\n\nvar asc = __w_pdfjs_require__(104);\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/* 104 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar speciesConstructor = __w_pdfjs_require__(105);\n\nmodule.exports = function (original, length) {\n return new (speciesConstructor(original))(length);\n};\n\n/***/ }),\n/* 105 */\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__(106);\n\nvar SPECIES = __w_pdfjs_require__(30)('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/* 106 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar cof = __w_pdfjs_require__(29);\n\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n\n/***/ }),\n/* 107 */\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/* 108 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar redefineAll = __w_pdfjs_require__(97);\n\nvar getWeak = __w_pdfjs_require__(107).getWeak;\n\nvar anObject = __w_pdfjs_require__(12);\n\nvar isObject = __w_pdfjs_require__(13);\n\nvar anInstance = __w_pdfjs_require__(87);\n\nvar forOf = __w_pdfjs_require__(88);\n\nvar createArrayMethod = __w_pdfjs_require__(103);\n\nvar $has = __w_pdfjs_require__(21);\n\nvar validate = __w_pdfjs_require__(109);\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/* 109 */\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/* 110 */\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__(97);\n\nvar meta = __w_pdfjs_require__(107);\n\nvar forOf = __w_pdfjs_require__(88);\n\nvar anInstance = __w_pdfjs_require__(87);\n\nvar isObject = __w_pdfjs_require__(13);\n\nvar fails = __w_pdfjs_require__(16);\n\nvar $iterDetect = __w_pdfjs_require__(68);\n\nvar setToStringTag = __w_pdfjs_require__(59);\n\nvar inheritIfRequired = __w_pdfjs_require__(111);\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/* 111 */\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__(112).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/* 112 */\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__(23)(Function.call, __w_pdfjs_require__(113).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/* 113 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar pIE = __w_pdfjs_require__(73);\n\nvar createDesc = __w_pdfjs_require__(19);\n\nvar toIObject = __w_pdfjs_require__(42);\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/* 114 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(115)('WeakMap');\n\n/***/ }),\n/* 115 */\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/* 116 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(117)('WeakMap');\n\n/***/ }),\n/* 117 */\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__(24);\n\nvar ctx = __w_pdfjs_require__(23);\n\nvar forOf = __w_pdfjs_require__(88);\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/* 118 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(82);\n\n__w_pdfjs_require__(83);\n\n__w_pdfjs_require__(119);\n\n__w_pdfjs_require__(120);\n\n__w_pdfjs_require__(121);\n\nmodule.exports = __w_pdfjs_require__(9).WeakSet;\n\n/***/ }),\n/* 119 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar weak = __w_pdfjs_require__(108);\n\nvar validate = __w_pdfjs_require__(109);\n\nvar WEAK_SET = 'WeakSet';\n\n__w_pdfjs_require__(110)(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/* 120 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(115)('WeakSet');\n\n/***/ }),\n/* 121 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(117)('WeakSet');\n\n/***/ }),\n/* 122 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(123);\n\nmodule.exports = __w_pdfjs_require__(9).String.codePointAt;\n\n/***/ }),\n/* 123 */\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__(48)(false);\n\n$export($export.P, 'String', {\n codePointAt: function codePointAt(pos) {\n return $at(this, pos);\n }\n});\n\n/***/ }),\n/* 124 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(125);\n\nmodule.exports = __w_pdfjs_require__(9).String.fromCodePoint;\n\n/***/ }),\n/* 125 */\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__(44);\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/* 126 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(127);\n\n__w_pdfjs_require__(82);\n\nmodule.exports = __w_pdfjs_require__(9).Symbol;\n\n/***/ }),\n/* 127 */\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__(107).KEY;\n\nvar $fails = __w_pdfjs_require__(16);\n\nvar shared = __w_pdfjs_require__(31);\n\nvar setToStringTag = __w_pdfjs_require__(59);\n\nvar uid = __w_pdfjs_require__(22);\n\nvar wks = __w_pdfjs_require__(30);\n\nvar wksExt = __w_pdfjs_require__(128);\n\nvar wksDefine = __w_pdfjs_require__(129);\n\nvar enumKeys = __w_pdfjs_require__(130);\n\nvar isArray = __w_pdfjs_require__(106);\n\nvar anObject = __w_pdfjs_require__(12);\n\nvar isObject = __w_pdfjs_require__(13);\n\nvar toIObject = __w_pdfjs_require__(42);\n\nvar toPrimitive = __w_pdfjs_require__(18);\n\nvar createDesc = __w_pdfjs_require__(19);\n\nvar _create = __w_pdfjs_require__(52);\n\nvar gOPNExt = __w_pdfjs_require__(131);\n\nvar $GOPD = __w_pdfjs_require__(113);\n\nvar $DP = __w_pdfjs_require__(11);\n\nvar $keys = __w_pdfjs_require__(54);\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';\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__(132).f = gOPNExt.f = $getOwnPropertyNames;\n __w_pdfjs_require__(73).f = $propertyIsEnumerable;\n __w_pdfjs_require__(72).f = $getOwnPropertySymbols;\n\n if (DESCRIPTORS && !__w_pdfjs_require__(32)) {\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});\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/* 128 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nexports.f = __w_pdfjs_require__(30);\n\n/***/ }),\n/* 129 */\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__(32);\n\nvar wksExt = __w_pdfjs_require__(128);\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/* 130 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar getKeys = __w_pdfjs_require__(54);\n\nvar gOPS = __w_pdfjs_require__(72);\n\nvar pIE = __w_pdfjs_require__(73);\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/* 131 */\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__(42);\n\nvar gOPN = __w_pdfjs_require__(132).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/* 132 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $keys = __w_pdfjs_require__(55);\n\nvar hiddenKeys = __w_pdfjs_require__(57).concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return $keys(O, hiddenKeys);\n};\n\n/***/ }),\n/* 133 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(134);\n\nmodule.exports = __w_pdfjs_require__(9).String.padStart;\n\n/***/ }),\n/* 134 */\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__(135);\n\nvar userAgent = __w_pdfjs_require__(95);\n\n$export($export.P + $export.F * /Version\\/10\\.\\d+(\\.\\d+)? Safari\\//.test(userAgent), 'String', {\n padStart: function padStart(maxLength) {\n return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, true);\n }\n});\n\n/***/ }),\n/* 135 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar toLength = __w_pdfjs_require__(25);\n\nvar repeat = __w_pdfjs_require__(136);\n\nvar defined = __w_pdfjs_require__(33);\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/* 136 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar toInteger = __w_pdfjs_require__(26);\n\nvar defined = __w_pdfjs_require__(33);\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/* 137 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(138);\n\nmodule.exports = __w_pdfjs_require__(9).String.padEnd;\n\n/***/ }),\n/* 138 */\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__(135);\n\nvar userAgent = __w_pdfjs_require__(95);\n\n$export($export.P + $export.F * /Version\\/10\\.\\d+(\\.\\d+)? Safari\\//.test(userAgent), 'String', {\n padEnd: function padEnd(maxLength) {\n return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, false);\n }\n});\n\n/***/ }),\n/* 139 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(140);\n\nmodule.exports = __w_pdfjs_require__(9).Object.values;\n\n/***/ }),\n/* 140 */\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__(141)(false);\n\n$export($export.S, 'Object', {\n values: function values(it) {\n return $values(it);\n }\n});\n\n/***/ }),\n/* 141 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar getKeys = __w_pdfjs_require__(54);\n\nvar toIObject = __w_pdfjs_require__(42);\n\nvar isEnum = __w_pdfjs_require__(73).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 if (isEnum.call(O, key = keys[i++])) {\n result.push(isEntries ? [key, O[key]] : O[key]);\n }\n }\n\n return result;\n };\n};\n\n/***/ }),\n/* 142 */\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__(143).ReadableStream;\n }\n}\n\n/***/ }),\n/* 143 */\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/* 144 */\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__(145).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/* 145 */\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/* 146 */\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__(147));\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _dom_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 (typeof require.ensure === 'undefined') {\n require.ensure = require('node-ensure');\n }\n\n useRequireEnsure = true;\n } else if (typeof require !== 'undefined' && typeof require.ensure === 'function') {\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 require.ensure([], function () {\n try {\n var worker;\n worker = require('./pdf.worker.js');\n resolve(worker.WorkerMessageHandler);\n } catch (ex) {\n reject(ex);\n }\n }, reject, 'pdfjsWorker');\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 || _dom_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 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 }\n\n return worker.messageHandler.sendWithPromise('GetDocRequest', {\n docId: docId,\n apiVersion: '2.1.266',\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, _util.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 _classCallCheck(this, PDFDataRangeTransport);\n\n this.length = length;\n this.initialData = initialData;\n this._rangeListeners = [];\n this._progressListeners = [];\n this._progressiveReadListeners = [];\n this._readyCapability = (0, _util.createPromiseCapability)();\n }\n\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: \"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) {\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);\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: \"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, loadingTask) {\n _classCallCheck(this, PDFDocumentProxy);\n\n this.loadingTask = loadingTask;\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: \"getPageMode\",\n value: function getPageMode() {\n return this._transport.getPageMode();\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\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 _dom_utils.StatTimer() : _dom_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, _util.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 _dom_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 _this4 = 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 _dom_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 (_this4.cleanupAfterRender) {\n _this4.pendingCleanup = true;\n }\n\n _this4._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 (_this4.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 _dom_utils.StatTimer) {\n this._stats = new _dom_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 _dom_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 _this5 = 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 _this5._listeners.forEach(function (listener) {\n listener.call(this, e);\n }, _this5);\n });\n }\n }, {\n key: \"addEventListener\",\n value: function addEventListener(name, listener) {\n this._listeners.push(listener);\n }\n }, {\n key: \"removeEventListener\",\n value: function removeEventListener(name, listener) {\n var i = this._listeners.indexOf(listener);\n\n this._listeners.splice(i, 1);\n }\n }, {\n key: \"terminate\",\n value: function terminate() {\n this._listeners = [];\n }\n }]);\n\n return LoopbackPort;\n}();\n\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, _dom_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 _this6 = 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 (_this6.destroyed) {\n _this6._readyCapability.reject(new Error('Worker was destroyed'));\n } else {\n _this6._setupFakeWorker();\n }\n };\n\n var onWorkerError = function onWorkerError() {\n if (!_this6._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 (_this6.destroyed) {\n terminateEarly();\n return;\n }\n\n if (data && data.supportTypedArray) {\n _this6._messageHandler = messageHandler;\n _this6._port = worker;\n _this6._webWorker = worker;\n\n if (!data.supportTransfers) {\n _this6.postMessageTransfers = false;\n }\n\n _this6._readyCapability.resolve();\n\n messageHandler.send('configure', {\n verbosity: _this6.verbosity\n });\n } else {\n _this6._setupFakeWorker();\n\n messageHandler.destroy();\n worker.terminate();\n }\n });\n messageHandler.on('ready', function (data) {\n worker.removeEventListener('error', onWorkerError);\n\n if (_this6.destroyed) {\n terminateEarly();\n return;\n }\n\n try {\n sendTest();\n } catch (e) {\n _this6._setupFakeWorker();\n }\n });\n\n var sendTest = function sendTest() {\n var testObj = new Uint8Array([_this6.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 _this7 = 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 (_this7.destroyed) {\n _this7._readyCapability.reject(new Error('Worker was destroyed'));\n\n return;\n }\n\n var port = new LoopbackPort();\n _this7._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 _this7._messageHandler = messageHandler;\n\n _this7._readyCapability.resolve();\n }).catch(function (reason) {\n _this7._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 _this8 = 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 = [];\n this.pagePromises = [];\n var terminated = this.messageHandler.sendWithPromise('Terminate', null);\n waitOn.push(terminated);\n Promise.all(waitOn).then(function () {\n _this8.fontLoader.clear();\n\n if (_this8._networkStream) {\n _this8._networkStream.cancelAllRequests();\n }\n\n if (_this8.messageHandler) {\n _this8.messageHandler.destroy();\n\n _this8.messageHandler = null;\n }\n\n _this8.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 _this9 = this;\n\n (0, _util.assert)(this._networkStream);\n this._fullReader = this._networkStream.getFullReader();\n\n this._fullReader.onProgress = function (evt) {\n _this9._lastProgress = {\n loaded: evt.loaded,\n total: evt.total\n };\n };\n\n sink.onPull = function () {\n _this9._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 _this9._fullReader.cancel(reason);\n };\n }, this);\n messageHandler.on('ReaderHeadersReady', function (data) {\n var _this10 = this;\n\n var headersCapability = (0, _util.createPromiseCapability)();\n var fullReader = this._fullReader;\n fullReader.headersReady.then(function () {\n if (!fullReader.isStreamingSupported || !fullReader.isRangeSupported) {\n if (_this10._lastProgress && loadingTask.onProgress) {\n loadingTask.onProgress(_this10._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 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 this.pdfDocument = new PDFDocumentProxy(pdfInfo, this, loadingTask);\n\n loadingTask._capability.resolve(this.pdfDocument);\n }, this);\n messageHandler.on('PasswordRequest', function (exception) {\n var _this11 = this;\n\n this._passwordCapability = (0, _util.createPromiseCapability)();\n\n if (loadingTask.onPassword) {\n var updatePassword = function updatePassword(password) {\n _this11._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 _this12 = 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 _this12.commonObjs.resolve(id, font);\n }, function (reason) {\n messageHandler.sendWithPromise('FontFallback', {\n id: id\n }).finally(function () {\n _this12.commonObjs.resolve(id, font);\n });\n });\n break;\n\n case 'FontPath':\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;\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;\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 };\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 }, 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.pageNum - 1];\n var intentState = page.intentStates[data.intent];\n\n if (intentState.displayReadyCapability) {\n intentState.displayReadyCapability.reject(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 var 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 };\n\n img.onerror = function () {\n reject(new Error('JpegDecode failed to load image'));\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 _this13 = 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 (_this13.destroyed) {\n throw new Error('Transport destroyed');\n }\n\n var page = new PDFPageProxy(pageIndex, pageInfo, _this13, _this13._params.pdfBug);\n _this13.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: \"getPageMode\",\n value: function getPageMode() {\n return this.messageHandler.sendWithPromise('GetPageMode', 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 _this14 = 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: _this14._fullReader ? _this14._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 _this15 = this;\n\n this.messageHandler.sendWithPromise('Cleanup', null).then(function () {\n for (var i = 0, ii = _this15.pageCache.length; i < ii; i++) {\n var page = _this15.pageCache[i];\n\n if (page) {\n page.cleanup();\n }\n }\n\n _this15.commonObjs.clear();\n\n _this15.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 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, _util.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 _dom_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 _this16 = this;\n\n if (this._useRequestAnimationFrame) {\n window.requestAnimationFrame(function () {\n _this16._nextBound().catch(_this16.cancel.bind(_this16));\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.1.266';\nexports.version = version;\nvar build = '81f5835c';\nexports.build = build;\n\n/***/ }),\n/* 147 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = __w_pdfjs_require__(148);\n\n/***/ }),\n/* 148 */\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 g = function () {\n return this || (typeof self === \"undefined\" ? \"undefined\" : _typeof(self)) === \"object\" && self;\n}() || Function(\"return this\")();\n\nvar hadRuntime = g.regeneratorRuntime && Object.getOwnPropertyNames(g).indexOf(\"regeneratorRuntime\") >= 0;\nvar oldRuntime = hadRuntime && g.regeneratorRuntime;\ng.regeneratorRuntime = undefined;\nmodule.exports = __w_pdfjs_require__(149);\n\nif (hadRuntime) {\n g.regeneratorRuntime = oldRuntime;\n} else {\n try {\n delete g.regeneratorRuntime;\n } catch (e) {\n g.regeneratorRuntime = undefined;\n }\n}\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\n!function (global) {\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 var inModule = ( false ? undefined : _typeof(module)) === \"object\";\n var runtime = global.regeneratorRuntime;\n\n if (runtime) {\n if (inModule) {\n module.exports = runtime;\n }\n\n return;\n }\n\n runtime = global.regeneratorRuntime = inModule ? module.exports : {};\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 runtime.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 runtime.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 runtime.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 runtime.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 runtime.AsyncIterator = AsyncIterator;\n\n runtime.async = function (innerFn, outerFn, self, tryLocsList) {\n var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList));\n return runtime.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 runtime.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 runtime.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}(function () {\n return this || (typeof self === \"undefined\" ? \"undefined\" : _typeof(self)) === \"object\" && self;\n}() || Function(\"return this\")());\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.loadScript = loadScript;\nexports.DummyStatTimer = exports.StatTimer = exports.DOMSVGFactory = exports.DOMCMapReaderFactory = exports.DOMCanvasFactory = exports.DEFAULT_LINK_REL = exports.LinkTarget = exports.RenderingCancelledException = exports.PageViewport = 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 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(_ref2) {\n var _this = this;\n\n var name = _ref2.name;\n\n if (!this.baseUrl) {\n return Promise.reject(new Error('The CMap \"baseUrl\" parameter must be specified, ensure that ' + 'the \"cMapUrl\" and \"cMapPacked\" API parameters are provided.'));\n }\n\n if (!name) {\n return Promise.reject(new Error('CMap name must be specified.'));\n }\n\n return new Promise(function (resolve, reject) {\n var url = _this.baseUrl + name + (_this.isCompressed ? '.bcmap' : '');\n var request = new XMLHttpRequest();\n request.open('GET', url, true);\n\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 data;\n\n if (_this.isCompressed && request.response) {\n data = new Uint8Array(request.response);\n } else if (!_this.isCompressed && request.responseText) {\n data = (0, _util.stringToBytes)(request.responseText);\n }\n\n if (data) {\n resolve({\n cMapData: data,\n compressionType: _this.isCompressed ? _util.CMapCompressionType.BINARY : _util.CMapCompressionType.NONE\n });\n return;\n }\n }\n\n reject(new Error('Unable to load ' + (_this.isCompressed ? 'binary ' : '') + 'CMap at: ' + url));\n };\n\n request.send(null);\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(_ref3) {\n var viewBox = _ref3.viewBox,\n scale = _ref3.scale,\n rotation = _ref3.rotation,\n _ref3$offsetX = _ref3.offsetX,\n offsetX = _ref3$offsetX === void 0 ? 0 : _ref3$offsetX,\n _ref3$offsetY = _ref3.offsetY,\n offsetY = _ref3$offsetY === void 0 ? 0 : _ref3$offsetY,\n _ref3$dontFlip = _ref3.dontFlip,\n dontFlip = _ref3$dontFlip === void 0 ? false : _ref3$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 _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref4$scale = _ref4.scale,\n scale = _ref4$scale === void 0 ? this.scale : _ref4$scale,\n _ref4$rotation = _ref4.rotation,\n rotation = _ref4$rotation === void 0 ? this.rotation : _ref4$rotation,\n _ref4$dontFlip = _ref4.dontFlip,\n dontFlip = _ref4$dontFlip === void 0 ? false : _ref4$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 tl = _util.Util.applyTransform([rect[0], rect[1]], this.transform);\n\n var br = _util.Util.applyTransform([rect[2], rect[3]], this.transform);\n\n return [tl[0], tl[1], br[0], br[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 _ref5 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n url = _ref5.url,\n target = _ref5.target,\n rel = _ref5.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 times = this.times;\n var out = '',\n longest = 0;\n\n for (var i = 0, ii = times.length; i < ii; ++i) {\n var name = times[i]['name'];\n\n if (name.length > longest) {\n longest = name.length;\n }\n }\n\n for (var _i = 0, _ii = times.length; _i < _ii; ++_i) {\n var span = times[_i];\n var duration = span.end - span.start;\n out += \"\".concat(span['name'].padEnd(longest), \" \").concat(duration, \"ms\\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 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\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__(147));\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\");\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\");\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\");\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 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 --count;\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 deps = argsArray[i];\n\n for (var n = 0, nn = deps.length; n < nn; n++) {\n var depObjId = deps[n];\n var common = depObjId[0] === 'g' && depObjId[1] === '_';\n var objsPool = common ? commonObjs : objs;\n\n if (!objsPool.has(depObjId)) {\n objsPool.get(depObjId, continueCallback);\n return i;\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 CanvasGraphics_setRenderingIntent(intent) {},\n setFlatness: function CanvasGraphics_setFlatness(flatness) {},\n setGState: function CanvasGraphics_setGState(states) {\n for (var i = 0, ii = states.length; i < ii; i++) {\n var state = states[i];\n var key = state[0];\n var value = state[1];\n\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 ctx = this.canvasFactory.create(10, 10).context;\n ctx.scale(1.5, 1);\n ctx.fillText('I', 0, 10);\n var data = ctx.getImageData(0, 0, 10, 10).data;\n var enabled = false;\n\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;\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.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.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.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 var topLeft = [x0, y0];\n var botRight = [x0 + xstep, y0 + ystep];\n var width = botRight[0] - topLeft[0];\n var height = botRight[1] - topLeft[1];\n\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 width = Math.min(Math.ceil(Math.abs(width * combinedScale[0])), MAX_PATTERN_SIZE);\n height = Math.min(Math.ceil(Math.abs(height * combinedScale[1])), MAX_PATTERN_SIZE);\n var tmpCanvas = owner.cachedCanvases.getCanvas('pattern', width, height, true);\n var tmpCtx = tmpCanvas.context;\n var graphics = canvasGraphicsFactory.createCanvasGraphics(tmpCtx);\n graphics.groupLevel = owner.groupLevel;\n this.setFillAndStrokeStyleToContext(graphics, paintType, color);\n this.setScale(width, height, xstep, ystep);\n this.transformToScale(graphics);\n var tmpTranslate = [1, 0, 0, 1, -topLeft[0], -topLeft[1]];\n graphics.transform.apply(graphics, tmpTranslate);\n this.clipBbox(graphics, bbox, x0, y0, x1, y1);\n graphics.executeOperatorList(operatorList);\n return tmpCanvas.canvas;\n },\n setScale: function TilingPattern_setScale(width, height, xstep, ystep) {\n this.scale = [width / xstep, height / ystep];\n },\n transformToScale: function TilingPattern_transformToScale(graphics) {\n var scale = this.scale;\n var tmpScale = [scale[0], 0, 0, scale[1], 0, 0];\n graphics.transform.apply(graphics, tmpScale);\n },\n scaleToContext: function TilingPattern_scaleToContext() {\n var scale = this.scale;\n this.ctx.scale(1 / scale[0], 1 / scale[1]);\n },\n clipBbox: function clipBbox(graphics, bbox, x0, y0, x1, y1) {\n if (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 var temporaryPatternCanvas = this.createPatternCanvas(owner);\n ctx = this.ctx;\n ctx.setTransform.apply(ctx, this.baseTransform);\n ctx.transform.apply(ctx, this.matrix);\n this.scaleToContext();\n return ctx.createPattern(temporaryPatternCanvas, 'repeat');\n }\n };\n return TilingPattern;\n}();\n\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__(147));\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\");\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, this);\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__(147));\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\nvar PDFDataTransportStream = function PDFDataTransportStreamClosure() {\n function PDFDataTransportStream(params, pdfDataRangeTransport) {\n var _this = this;\n\n (0, _util.assert)(pdfDataRangeTransport);\n this._queuedChunks = [];\n var initialData = params.initialData;\n\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) {\n _this._onProgress({\n loaded: loaded\n });\n });\n\n this._pdfDataRangeTransport.addProgressiveReadListener(function (chunk) {\n _this._onReceiveData({\n chunk: chunk\n });\n });\n\n this._pdfDataRangeTransport.transportReady();\n }\n\n PDFDataTransportStream.prototype = {\n _onReceiveData: function PDFDataTransportStream_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 _onProgress: function PDFDataTransportStream_onDataProgress(evt) {\n if (this._rangeReaders.length > 0) {\n var firstReader = this._rangeReaders[0];\n\n if (firstReader.onProgress) {\n firstReader.onProgress({\n loaded: evt.loaded\n });\n }\n }\n },\n _removeRangeReader: function PDFDataTransportStream_removeRangeReader(reader) {\n var i = this._rangeReaders.indexOf(reader);\n\n if (i >= 0) {\n this._rangeReaders.splice(i, 1);\n }\n },\n getFullReader: function PDFDataTransportStream_getFullReader() {\n (0, _util.assert)(!this._fullRequestReader);\n var queuedChunks = this._queuedChunks;\n this._queuedChunks = null;\n return new PDFDataTransportStreamReader(this, queuedChunks);\n },\n getRangeReader: function PDFDataTransportStream_getRangeReader(begin, end) {\n var reader = new PDFDataTransportStreamRangeReader(this, begin, end);\n\n this._pdfDataRangeTransport.requestDataRange(begin, end);\n\n this._rangeReaders.push(reader);\n\n return reader;\n },\n cancelAllRequests: function PDFDataTransportStream_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\n function PDFDataTransportStreamReader(stream, queuedChunks) {\n this._stream = stream;\n this._done = false;\n this._filename = null;\n this._queuedChunks = queuedChunks || [];\n this._requests = [];\n this._headersReady = Promise.resolve();\n stream._fullRequestReader = this;\n this.onProgress = null;\n }\n\n PDFDataTransportStreamReader.prototype = {\n _enqueue: function PDFDataTransportStreamReader_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 return;\n }\n\n this._queuedChunks.push(chunk);\n },\n\n get headersReady() {\n return this._headersReady;\n },\n\n get filename() {\n return this._filename;\n },\n\n get isRangeSupported() {\n return this._stream._isRangeSupported;\n },\n\n get isStreamingSupported() {\n return this._stream._isStreamingSupported;\n },\n\n get contentLength() {\n return this._stream._contentLength;\n },\n\n read: 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 cancel: function PDFDataTransportStreamReader_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\n function PDFDataTransportStreamRangeReader(stream, begin, end) {\n this._stream = stream;\n this._begin = begin;\n this._end = end;\n this._queuedChunk = null;\n this._requests = [];\n this._done = false;\n this.onProgress = null;\n }\n\n PDFDataTransportStreamRangeReader.prototype = {\n _enqueue: function PDFDataTransportStreamRangeReader_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 get isStreamingSupported() {\n return false;\n },\n\n read: 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 cancel: function PDFDataTransportStreamRangeReader_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 return PDFDataTransportStream;\n}();\n\nexports.PDFDataTransportStream = PDFDataTransportStream;\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 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\n TextLayerRenderTask.prototype = {\n get promise() {\n return this._capability.promise;\n },\n\n cancel: function TextLayer_cancel() {\n if (this._reader) {\n this._reader.cancel(new _util.AbortException('text layer task cancelled'));\n\n this._reader = null;\n }\n\n this._canceled = true;\n\n if (this._renderTimer !== null) {\n clearTimeout(this._renderTimer);\n this._renderTimer = null;\n }\n\n this._capability.reject('canceled');\n },\n _processItems: function _processItems(items, styleCache) {\n for (var i = 0, len = items.length; i < len; i++) {\n this._textContentItemsStr.push(items[i].str);\n\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 _this = this;\n\n var capability = (0, _util.createPromiseCapability)();\n var styleCache = Object.create(null);\n var canvas = document.createElement('canvas');\n canvas.mozOpaque = true;\n this._layoutTextCtx = canvas.getContext('2d', {\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 _this._reader.read().then(function (_ref2) {\n var value = _ref2.value,\n done = _ref2.done;\n\n if (done) {\n capability.resolve();\n return;\n }\n\n Object.assign(styleCache, value.styles);\n\n _this._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(_this);\n } else {\n _this._renderTimer = setTimeout(function () {\n render(_this);\n _this._renderTimer = null;\n }, timeout);\n }\n }, this._capability.reject);\n },\n expandTextDivs: function TextLayer_expandTextDivs(expandDivs) {\n if (!this._enhanceTextSelection || !this._renderingDone) {\n return;\n }\n\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 _dom_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.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.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 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, _dom_utils.addLinkAttributes)(link, {\n url: data.url,\n target: data.newWindow ? _dom_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 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.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 contents = this._formatContents(this.contents);\n\n var title = document.createElement('h1');\n title.textContent = this.title;\n this.trigger.addEventListener('click', this._toggle.bind(this));\n this.trigger.addEventListener('mouseover', this._show.bind(this, false));\n this.trigger.addEventListener('mouseout', this._hide.bind(this, false));\n popup.addEventListener('click', this._hide.bind(this, true));\n popup.appendChild(title);\n popup.appendChild(contents);\n wrapper.appendChild(popup);\n return wrapper;\n }\n }, {\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 LineAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement5) {\n _inherits(LineAnnotationElement, _AnnotationElement5);\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 (_AnnotationElement6) {\n _inherits(SquareAnnotationElement, _AnnotationElement6);\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 (_AnnotationElement7) {\n _inherits(CircleAnnotationElement, _AnnotationElement7);\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 (_AnnotationElement8) {\n _inherits(PolylineAnnotationElement, _AnnotationElement8);\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 InkAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement9) {\n _inherits(InkAnnotationElement, _AnnotationElement9);\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 (_AnnotationElement10) {\n _inherits(HighlightAnnotationElement, _AnnotationElement10);\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 (_AnnotationElement11) {\n _inherits(UnderlineAnnotationElement, _AnnotationElement11);\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 (_AnnotationElement12) {\n _inherits(SquigglyAnnotationElement, _AnnotationElement12);\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 (_AnnotationElement13) {\n _inherits(StrikeOutAnnotationElement, _AnnotationElement13);\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 (_AnnotationElement14) {\n _inherits(StampAnnotationElement, _AnnotationElement14);\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 (_AnnotationElement15) {\n _inherits(FileAttachmentAnnotationElement, _AnnotationElement15);\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, _dom_utils.getFilenameFromUrl)(filename);\n _this6.content = content;\n\n if (_this6.linkService.eventBus) {\n _this6.linkService.eventBus.dispatch('fileattachmentannotation', {\n source: _assertThisInitialized(_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 _dom_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 _dom_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\nvar SVGGraphics = function SVGGraphics() {\n throw new Error('Not implemented: SVGGraphics');\n};\n\nexports.SVGGraphics = SVGGraphics;\n{\n var SVG_DEFAULTS = {\n fontStyle: 'normal',\n fontWeight: 'normal',\n fillColor: '#000000'\n };\n\n var convertImgDataToPng = function convertImgDataToPngClosure() {\n var PNG_HEADER = new Uint8Array([0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a]);\n var CHUNK_WRAPPER_SIZE = 12;\n var crcTable = new Int32Array(256);\n\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 i = start; i < end; ++i) {\n a = (a + (data[i] & 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 = require('zlib').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 var y, i;\n\n for (y = 0; y < height; ++y) {\n literals[offsetLiterals++] = 0;\n literals.set(bytes.subarray(offsetBytes, offsetBytes + lineSize), offsetLiterals);\n offsetBytes += lineSize;\n offsetLiterals += lineSize;\n }\n\n if (kind === _util.ImageKind.GRAYSCALE_1BPP && isMask) {\n offsetLiterals = 0;\n\n for (y = 0; y < height; y++) {\n offsetLiterals++;\n\n for (i = 0; i < lineSize; i++) {\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 = function SVGExtraStateClosure() {\n function SVGExtraState() {\n this.fontSizeScale = 1;\n this.fontWeight = SVG_DEFAULTS.fontWeight;\n this.fontSize = 0;\n this.textMatrix = _util.IDENTITY_MATRIX;\n this.fontMatrix = _util.FONT_IDENTITY_MATRIX;\n this.leading = 0;\n this.textRenderingMode = _util.TextRenderingMode.FILL;\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 SVGExtraState.prototype = {\n clone: function SVGExtraState_clone() {\n return Object.create(this);\n },\n setCurrentPoint: function SVGExtraState_setCurrentPoint(x, y) {\n this.x = x;\n this.y = y;\n }\n };\n return SVGExtraState;\n }();\n\n exports.SVGGraphics = SVGGraphics = function SVGGraphicsClosure() {\n function opListToTree(opList) {\n var opTree = [];\n var tmp = [];\n var opListLen = opList.length;\n\n for (var x = 0; x < opListLen; x++) {\n if (opList[x].fn === 'save') {\n opTree.push({\n 'fnId': 92,\n 'fn': 'group',\n 'items': []\n });\n tmp.push(opTree);\n opTree = opTree[opTree.length - 1].items;\n continue;\n }\n\n if (opList[x].fn === 'restore') {\n opTree = tmp.pop();\n } else {\n opTree.push(opList[x]);\n }\n }\n\n return opTree;\n }\n\n 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 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(' + pf(m[0]) + ' ' + 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(' + pf(a) + ')';\n }\n } else {\n if (m[0] === 1 && m[1] === 0 && m[2] === 0 && m[3] === 1) {\n return 'translate(' + pf(m[4]) + ' ' + pf(m[5]) + ')';\n }\n }\n\n return 'matrix(' + pf(m[0]) + ' ' + pf(m[1]) + ' ' + pf(m[2]) + ' ' + pf(m[3]) + ' ' + pf(m[4]) + ' ' + pf(m[5]) + ')';\n }\n\n function SVGGraphics(commonObjs, objs, forceDataSchema) {\n this.svgFactory = new _dom_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 }\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 var clipCount = 0;\n var maskCount = 0;\n SVGGraphics.prototype = {\n save: function SVGGraphics_save() {\n this.transformStack.push(this.transformMatrix);\n var old = this.current;\n this.extraStack.push(old);\n this.current = old.clone();\n },\n restore: function SVGGraphics_restore() {\n this.transformMatrix = this.transformStack.pop();\n this.current = this.extraStack.pop();\n this.pendingClip = null;\n this.tgrp = null;\n },\n group: function SVGGraphics_group(items) {\n this.save();\n this.executeOpTree(items);\n this.restore();\n },\n loadDependencies: function SVGGraphics_loadDependencies(operatorList) {\n var _this = this;\n\n var fnArray = operatorList.fnArray;\n var fnArrayLen = fnArray.length;\n var argsArray = operatorList.argsArray;\n\n for (var i = 0; i < fnArrayLen; i++) {\n if (_util.OPS.dependency === fnArray[i]) {\n var deps = argsArray[i];\n\n for (var n = 0, nn = deps.length; n < nn; n++) {\n var obj = deps[n];\n var common = obj.substring(0, 2) === 'g_';\n var promise;\n\n if (common) {\n promise = new Promise(function (resolve) {\n _this.commonObjs.get(obj, resolve);\n });\n } else {\n promise = new Promise(function (resolve) {\n _this.objs.get(obj, resolve);\n });\n }\n\n this.current.dependencies.push(promise);\n }\n }\n }\n\n return Promise.all(this.current.dependencies);\n },\n transform: function SVGGraphics_transform(a, b, c, d, e, f) {\n var transformMatrix = [a, b, c, d, e, f];\n this.transformMatrix = _util.Util.transform(this.transformMatrix, transformMatrix);\n this.tgrp = null;\n },\n getSVG: function SVGGraphics_getSVG(operatorList, viewport) {\n var _this2 = this;\n\n this.viewport = viewport;\n\n var svgElement = this._initialize(viewport);\n\n return this.loadDependencies(operatorList).then(function () {\n _this2.transformMatrix = _util.IDENTITY_MATRIX;\n\n var opTree = _this2.convertOpList(operatorList);\n\n _this2.executeOpTree(opTree);\n\n return svgElement;\n });\n },\n convertOpList: function SVGGraphics_convertOpList(operatorList) {\n var argsArray = operatorList.argsArray;\n var fnArray = operatorList.fnArray;\n var fnArrayLen = fnArray.length;\n var REVOPS = [];\n var opList = [];\n\n for (var op in _util.OPS) {\n REVOPS[_util.OPS[op]] = op;\n }\n\n for (var x = 0; x < fnArrayLen; x++) {\n var fnId = fnArray[x];\n opList.push({\n 'fnId': fnId,\n 'fn': REVOPS[fnId],\n 'args': argsArray[x]\n });\n }\n\n return opListToTree(opList);\n },\n executeOpTree: function SVGGraphics_executeOpTree(opTree) {\n var opTreeLen = opTree.length;\n\n for (var x = 0; x < opTreeLen; x++) {\n var fn = opTree[x].fn;\n var fnId = opTree[x].fnId;\n var args = opTree[x].args;\n\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.setDash:\n this.setDash(args[0], args[1]);\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(opTree[x].items);\n break;\n\n default:\n (0, _util.warn)('Unimplemented operator ' + fn);\n break;\n }\n }\n },\n setWordSpacing: function SVGGraphics_setWordSpacing(wordSpacing) {\n this.current.wordSpacing = wordSpacing;\n },\n setCharSpacing: function SVGGraphics_setCharSpacing(charSpacing) {\n this.current.charSpacing = charSpacing;\n },\n nextLine: function SVGGraphics_nextLine() {\n this.moveText(0, this.current.leading);\n },\n setTextMatrix: function SVGGraphics_setTextMatrix(a, b, c, d, e, f) {\n var current = this.current;\n this.current.textMatrix = this.current.lineMatrix = [a, b, c, d, e, f];\n this.current.x = this.current.lineX = 0;\n this.current.y = this.current.lineY = 0;\n current.xcoords = [];\n current.tspan = this.svgFactory.createElement('svg:tspan');\n current.tspan.setAttributeNS(null, 'font-family', current.fontFamily);\n current.tspan.setAttributeNS(null, 'font-size', pf(current.fontSize) + 'px');\n current.tspan.setAttributeNS(null, 'y', pf(-current.y));\n current.txtElement = this.svgFactory.createElement('svg:text');\n current.txtElement.appendChild(current.tspan);\n },\n beginText: function SVGGraphics_beginText() {\n this.current.x = this.current.lineX = 0;\n this.current.y = this.current.lineY = 0;\n this.current.textMatrix = _util.IDENTITY_MATRIX;\n this.current.lineMatrix = _util.IDENTITY_MATRIX;\n this.current.tspan = this.svgFactory.createElement('svg:tspan');\n this.current.txtElement = this.svgFactory.createElement('svg:text');\n this.current.txtgrp = this.svgFactory.createElement('svg:g');\n this.current.xcoords = [];\n },\n moveText: function SVGGraphics_moveText(x, y) {\n var current = this.current;\n this.current.x = this.current.lineX += x;\n this.current.y = this.current.lineY += y;\n current.xcoords = [];\n current.tspan = this.svgFactory.createElement('svg:tspan');\n current.tspan.setAttributeNS(null, 'font-family', current.fontFamily);\n current.tspan.setAttributeNS(null, 'font-size', pf(current.fontSize) + 'px');\n current.tspan.setAttributeNS(null, 'y', pf(-current.y));\n },\n showText: function SVGGraphics_showText(glyphs) {\n var current = this.current;\n var font = current.font;\n var fontSize = current.fontSize;\n\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 glyphsLength = glyphs.length;\n var vertical = font.vertical;\n var widthAdvanceScale = fontSize * current.fontMatrix[0];\n var x = 0,\n i;\n\n for (i = 0; i < glyphsLength; ++i) {\n var glyph = glyphs[i];\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\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', 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 this._setStrokeAttributes(current.tspan);\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', 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 setLeadingMoveText: function SVGGraphics_setLeadingMoveText(x, y) {\n this.setLeading(-y);\n this.moveText(x, y);\n },\n addFontStyle: function SVGGraphics_addFontStyle(fontObj) {\n if (!this.cssStyle) {\n this.cssStyle = 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: \"' + fontObj.loadedName + '\";' + ' src: url(' + url + '); }\\n';\n },\n setFont: function SVGGraphics_setFont(details) {\n var current = this.current;\n var fontObj = this.commonObjs.get(details[0]);\n var size = details[1];\n this.current.font = fontObj;\n\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 endText: 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 setLineWidth: function SVGGraphics_setLineWidth(width) {\n if (width > 0) {\n this.current.lineWidth = width;\n }\n },\n setLineCap: function SVGGraphics_setLineCap(style) {\n this.current.lineCap = LINE_CAP_STYLES[style];\n },\n setLineJoin: function SVGGraphics_setLineJoin(style) {\n this.current.lineJoin = LINE_JOIN_STYLES[style];\n },\n setMiterLimit: function SVGGraphics_setMiterLimit(limit) {\n this.current.miterLimit = limit;\n },\n setStrokeAlpha: function SVGGraphics_setStrokeAlpha(strokeAlpha) {\n this.current.strokeAlpha = strokeAlpha;\n },\n setStrokeRGBColor: function SVGGraphics_setStrokeRGBColor(r, g, b) {\n var color = _util.Util.makeCssRgb(r, g, b);\n\n this.current.strokeColor = color;\n },\n setFillAlpha: function SVGGraphics_setFillAlpha(fillAlpha) {\n this.current.fillAlpha = fillAlpha;\n },\n setFillRGBColor: function SVGGraphics_setFillRGBColor(r, g, b) {\n var color = _util.Util.makeCssRgb(r, g, b);\n\n this.current.fillColor = color;\n this.current.tspan = this.svgFactory.createElement('svg:tspan');\n this.current.xcoords = [];\n },\n setDash: function SVGGraphics_setDash(dashArray, dashPhase) {\n this.current.dashArray = dashArray;\n this.current.dashPhase = dashPhase;\n },\n constructPath: function SVGGraphics_constructPath(ops, args) {\n var current = this.current;\n var x = current.x,\n y = current.y;\n current.path = this.svgFactory.createElement('svg:path');\n var d = [];\n var opLength = ops.length;\n\n for (var i = 0, j = 0; i < opLength; i++) {\n switch (ops[i] | 0) {\n case _util.OPS.rectangle:\n x = args[j++];\n y = args[j++];\n var width = args[j++];\n var height = args[j++];\n var xw = x + width;\n var yh = y + height;\n d.push('M', pf(x), pf(y), 'L', pf(xw), pf(y), 'L', pf(xw), pf(yh), 'L', pf(x), pf(yh), 'Z');\n break;\n\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\n current.path.setAttributeNS(null, 'd', d.join(' '));\n current.path.setAttributeNS(null, 'fill', 'none');\n\n this._ensureTransformGroup().appendChild(current.path);\n\n current.element = current.path;\n current.setCurrentPoint(x, y);\n },\n endPath: function SVGGraphics_endPath() {\n if (!this.pendingClip) {\n return;\n }\n\n var current = this.current;\n var clipId = 'clippath' + clipCount;\n 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(#' + clipId + ')';\n this.tgrp = null;\n },\n clip: function SVGGraphics_clip(type) {\n this.pendingClip = type;\n },\n closePath: function SVGGraphics_closePath() {\n var current = this.current;\n\n if (current.path) {\n var d = current.path.getAttributeNS(null, 'd');\n d += 'Z';\n current.path.setAttributeNS(null, 'd', d);\n }\n },\n setLeading: function SVGGraphics_setLeading(leading) {\n this.current.leading = -leading;\n },\n setTextRise: function SVGGraphics_setTextRise(textRise) {\n this.current.textRise = textRise;\n },\n setTextRenderingMode: function setTextRenderingMode(textRenderingMode) {\n this.current.textRenderingMode = textRenderingMode;\n },\n setHScale: function SVGGraphics_setHScale(scale) {\n this.current.textHScale = scale / 100;\n },\n setGState: function SVGGraphics_setGState(states) {\n for (var i = 0, ii = states.length; i < ii; i++) {\n var state = states[i];\n var key = state[0];\n var value = state[1];\n\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 '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 ' + key);\n break;\n }\n }\n },\n fill: function SVGGraphics_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 stroke: function SVGGraphics_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 _setStrokeAttributes: function _setStrokeAttributes(element) {\n var current = this.current;\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(current.lineWidth) + 'px');\n element.setAttributeNS(null, 'stroke-dasharray', current.dashArray.map(pf).join(' '));\n element.setAttributeNS(null, 'stroke-dashoffset', pf(current.dashPhase) + 'px');\n },\n eoFill: function SVGGraphics_eoFill() {\n if (this.current.element) {\n this.current.element.setAttributeNS(null, 'fill-rule', 'evenodd');\n }\n\n this.fill();\n },\n fillStroke: function SVGGraphics_fillStroke() {\n this.stroke();\n this.fill();\n },\n eoFillStroke: function SVGGraphics_eoFillStroke() {\n if (this.current.element) {\n this.current.element.setAttributeNS(null, 'fill-rule', 'evenodd');\n }\n\n this.fillStroke();\n },\n closeStroke: function SVGGraphics_closeStroke() {\n this.closePath();\n this.stroke();\n },\n closeFillStroke: function SVGGraphics_closeFillStroke() {\n this.closePath();\n this.fillStroke();\n },\n closeEOFillStroke: function closeEOFillStroke() {\n this.closePath();\n this.eoFillStroke();\n },\n paintSolidColorImageMask: function SVGGraphics_paintSolidColorImageMask() {\n var current = this.current;\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', current.fillColor);\n\n this._ensureTransformGroup().appendChild(rect);\n },\n paintJpegXObject: function SVGGraphics_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(' + pf(1 / w) + ' ' + pf(-1 / h) + ')');\n\n this._ensureTransformGroup().appendChild(imgEl);\n },\n paintImageXObject: function SVGGraphics_paintImageXObject(objId) {\n var imgData = 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 paintInlineImageXObject: function SVGGraphics_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(' + pf(1 / width) + ' ' + pf(-1 / height) + ')');\n\n if (mask) {\n mask.appendChild(imgEl);\n } else {\n this._ensureTransformGroup().appendChild(imgEl);\n }\n },\n paintImageMaskXObject: function SVGGraphics_paintImageMaskXObject(imgData) {\n var current = this.current;\n var width = imgData.width;\n var height = imgData.height;\n var fillColor = current.fillColor;\n current.maskId = 'mask' + maskCount++;\n var mask = 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(#' + current.maskId + ')');\n this.defs.appendChild(mask);\n\n this._ensureTransformGroup().appendChild(rect);\n\n this.paintInlineImageXObject(imgData, mask);\n },\n paintFormXObjectBegin: function SVGGraphics_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 paintFormXObjectEnd: function SVGGraphics_paintFormXObjectEnd() {},\n _initialize: 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 _ensureClipGroup: function SVGGraphics_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 _ensureTransformGroup: function SVGGraphics_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 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__(147));\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 = require('fs');\n\nvar http = require('http');\n\nvar https = require('https');\n\nvar url = require('url');\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._fullRequest = null;\n this._rangeRequestReaders = [];\n }\n\n _createClass(PDFNodeStream, [{\n key: \"getFullReader\",\n value: function getFullReader() {\n (0, _util.assert)(!this._fullRequest);\n this._fullRequest = this.isFsUrl ? new PDFNodeStreamFsFullReader(this) : new PDFNodeStreamFullReader(this);\n return this._fullRequest;\n }\n }, {\n key: \"getRangeReader\",\n value: function getRangeReader(start, end) {\n var rangeReader = this.isFsUrl ? new PDFNodeStreamFsRangeReader(this, start, end) : new PDFNodeStreamRangeReader(this, start, end);\n\n this._rangeRequestReaders.push(rangeReader);\n\n return rangeReader;\n }\n }, {\n key: \"cancelAllRequests\",\n value: function cancelAllRequests(reason) {\n if (this._fullRequest) {\n this._fullRequest.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 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.PDFFetchStream = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(147));\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 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\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;\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;\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 var rangeStr = begin + '-' + (end - 1);\n\n this._headers.append('Range', 'bytes=' + rangeStr);\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/* 169 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFNetworkStream = PDFNetworkStream;\nexports.NetworkManager = NetworkManager;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(147));\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _network_utils = __w_pdfjs_require__(166);\n\nvar _global_scope = _interopRequireDefault(__w_pdfjs_require__(3));\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\n;\nvar OK_RESPONSE = 200;\nvar PARTIAL_CONTENT_RESPONSE = 206;\n\nfunction NetworkManager(url, args) {\n this.url = url;\n args = args || {};\n this.isHttp = /^https?:/i.test(url);\n this.httpHeaders = this.isHttp && args.httpHeaders || {};\n this.withCredentials = args.withCredentials || false;\n\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 this.loadedRequests = Object.create(null);\n}\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 supportsMozChunked = function supportsMozChunkedClosure() {\n try {\n var x = new XMLHttpRequest();\n x.open('GET', _global_scope.default.location.href);\n x.responseType = 'moz-chunked-arraybuffer';\n return x.responseType === 'moz-chunked-arraybuffer';\n } catch (e) {\n return false;\n }\n}();\n\nNetworkManager.prototype = {\n requestRange: function NetworkManager_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 requestFull: function NetworkManager_requestFull(listeners) {\n return this.request(listeners);\n },\n request: function NetworkManager_request(args) {\n var xhr = this.getXhr();\n var xhrId = this.currXhrId++;\n var pendingRequest = this.pendingRequests[xhrId] = {\n xhr: xhr\n };\n xhr.open('GET', this.url);\n xhr.withCredentials = this.withCredentials;\n\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 var rangeStr = args.begin + '-' + (args.end - 1);\n xhr.setRequestHeader('Range', 'bytes=' + rangeStr);\n pendingRequest.expectedStatus = 206;\n } else {\n pendingRequest.expectedStatus = 200;\n }\n\n var useMozChunkedLoading = supportsMozChunked && !!args.onProgressiveData;\n\n if (useMozChunkedLoading) {\n xhr.responseType = 'moz-chunked-arraybuffer';\n pendingRequest.onProgressiveData = args.onProgressiveData;\n pendingRequest.mozChunked = true;\n } else {\n xhr.responseType = 'arraybuffer';\n }\n\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 onProgress: function NetworkManager_onProgress(xhrId, evt) {\n var pendingRequest = this.pendingRequests[xhrId];\n\n if (!pendingRequest) {\n return;\n }\n\n if (pendingRequest.mozChunked) {\n var chunk = getArrayBuffer(pendingRequest.xhr);\n pendingRequest.onProgressiveData(chunk);\n }\n\n var onProgress = pendingRequest.onProgress;\n\n if (onProgress) {\n onProgress(evt);\n }\n },\n onStateChange: function NetworkManager_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 this.loadedRequests[xhrId] = true;\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 var begin = parseInt(matches[1], 10);\n pendingRequest.onDone({\n begin: begin,\n chunk: chunk\n });\n } else if (pendingRequest.onProgressiveData) {\n pendingRequest.onDone(null);\n } else if (chunk) {\n pendingRequest.onDone({\n begin: 0,\n chunk: chunk\n });\n } else if (pendingRequest.onError) {\n pendingRequest.onError(xhr.status);\n }\n },\n hasPendingRequests: function NetworkManager_hasPendingRequests() {\n for (var xhrId in this.pendingRequests) {\n return true;\n }\n\n return false;\n },\n getRequestXhr: function NetworkManager_getXhr(xhrId) {\n return this.pendingRequests[xhrId].xhr;\n },\n isStreamingRequest: function NetworkManager_isStreamingRequest(xhrId) {\n return !!this.pendingRequests[xhrId].onProgressiveData;\n },\n isPendingRequest: function NetworkManager_isPendingRequest(xhrId) {\n return xhrId in this.pendingRequests;\n },\n isLoadedRequest: function NetworkManager_isLoadedRequest(xhrId) {\n return xhrId in this.loadedRequests;\n },\n abortAllRequests: function NetworkManager_abortAllRequests() {\n for (var xhrId in this.pendingRequests) {\n this.abortRequest(xhrId | 0);\n }\n },\n abortRequest: function NetworkManager_abortRequest(xhrId) {\n var xhr = this.pendingRequests[xhrId].xhr;\n delete this.pendingRequests[xhrId];\n xhr.abort();\n }\n};\n\nfunction PDFNetworkStream(source) {\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\nPDFNetworkStream.prototype = {\n _onRangeRequestReaderClosed: function PDFNetworkStream_onRangeRequestReaderClosed(reader) {\n var i = this._rangeRequestReaders.indexOf(reader);\n\n if (i >= 0) {\n this._rangeRequestReaders.splice(i, 1);\n }\n },\n getFullReader: function PDFNetworkStream_getFullReader() {\n (0, _util.assert)(!this._fullRequestReader);\n this._fullRequestReader = new PDFNetworkStreamFullRequestReader(this._manager, this._source);\n return this._fullRequestReader;\n },\n getRangeReader: function PDFNetworkStream_getRangeReader(begin, end) {\n var reader = new PDFNetworkStreamRangeRequestReader(this._manager, begin, end);\n reader.onClosed = this._onRangeRequestReaderClosed.bind(this);\n\n this._rangeRequestReaders.push(reader);\n\n return reader;\n },\n cancelAllRequests: function PDFNetworkStream_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\nfunction PDFNetworkStreamFullRequestReader(manager, source) {\n this._manager = manager;\n var args = {\n onHeadersReceived: this._onHeadersReceived.bind(this),\n onProgressiveData: source.disableStream ? null : this._onProgressiveData.bind(this),\n onDone: this._onDone.bind(this),\n onError: this._onError.bind(this),\n onProgress: this._onProgress.bind(this)\n };\n this._url = source.url;\n this._fullRequestId = manager.requestFull(args);\n this._headersReceivedCapability = (0, _util.createPromiseCapability)();\n this._disableRange = 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\nPDFNetworkStreamFullRequestReader.prototype = {\n _onHeadersReceived: function PDFNetworkStreamFullRequestReader_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 var networkManager = this._manager;\n\n if (networkManager.isStreamingRequest(fullRequestXhrId)) {\n this._isStreamingSupported = true;\n } else if (this._isRangeSupported) {\n networkManager.abortRequest(fullRequestXhrId);\n }\n\n this._headersReceivedCapability.resolve();\n },\n _onProgressiveData: function PDFNetworkStreamFullRequestReader_onProgressiveData(chunk) {\n if (this._requests.length > 0) {\n var requestCapability = this._requests.shift();\n\n requestCapability.resolve({\n value: chunk,\n done: false\n });\n } else {\n this._cachedChunks.push(chunk);\n }\n },\n _onDone: function PDFNetworkStreamFullRequestReader_onDone(args) {\n if (args) {\n this._onProgressiveData(args.chunk);\n }\n\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 _onError: function PDFNetworkStreamFullRequestReader_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 _onProgress: function PDFNetworkStreamFullRequestReader_onProgress(data) {\n if (this.onProgress) {\n this.onProgress({\n loaded: data.loaded,\n total: data.lengthComputable ? data.total : this._contentLength\n });\n }\n },\n\n get filename() {\n return this._filename;\n },\n\n get isRangeSupported() {\n return this._isRangeSupported;\n },\n\n get isStreamingSupported() {\n return this._isStreamingSupported;\n },\n\n get contentLength() {\n return this._contentLength;\n },\n\n get headersReady() {\n return this._headersReceivedCapability.promise;\n },\n\n read: 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 cancel: function PDFNetworkStreamFullRequestReader_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\nfunction PDFNetworkStreamRangeRequestReader(manager, begin, end) {\n this._manager = manager;\n var args = {\n onDone: this._onDone.bind(this),\n onProgress: this._onProgress.bind(this)\n };\n this._requestId = manager.requestRange(begin, end, args);\n this._requests = [];\n this._queuedChunk = null;\n this._done = false;\n this.onProgress = null;\n this.onClosed = null;\n}\n\nPDFNetworkStreamRangeRequestReader.prototype = {\n _close: function PDFNetworkStreamRangeRequestReader_close() {\n if (this.onClosed) {\n this.onClosed(this);\n }\n },\n _onDone: function PDFNetworkStreamRangeRequestReader_onDone(data) {\n var chunk = data.chunk;\n\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 _onProgress: function PDFNetworkStreamRangeRequestReader_onProgress(evt) {\n if (!this.isStreamingSupported && this.onProgress) {\n this.onProgress({\n loaded: evt.loaded\n });\n }\n },\n\n get isStreamingSupported() {\n return false;\n },\n\n read: 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 cancel: function PDFNetworkStreamRangeRequestReader_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\n/***/ })\n/******/ ]);\n});\n//# sourceMappingURL=pdf.js.map","'use strict';\n\nexports.decode = exports.parse = require('./decode');\nexports.encode = exports.stringify = require('./encode');\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'use strict';\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","/* Copyright 2017 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n'use strict';\n\nvar pdfjs = require('./build/pdf.js');\nvar PdfjsWorker = require('worker-loader!./build/pdf.worker.js');\n\nif (typeof window !== 'undefined' && 'Worker' in window) {\n pdfjs.GlobalWorkerOptions.workerPort = new PdfjsWorker();\n}\n\nmodule.exports = pdfjs;\n"],"sourceRoot":""}