{"version":3,"sources":["webpack:///./node_modules/pdfjs-dist/build/pdf.js","webpack:///./node_modules/url/url.js","webpack:///./node_modules/punycode/punycode.js","webpack:///./node_modules/url/util.js","webpack:///./node_modules/querystring-es3/index.js","webpack:///./node_modules/querystring-es3/decode.js","webpack:///./node_modules/querystring-es3/encode.js","webpack:///./node_modules/signature_pad/dist/signature_pad.m.js"],"names":["factory","modules","installedModules","__w_pdfjs_require__","moduleId","exports","module","i","l","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","pdfjsSharedUtil","pdfjsDisplayAPI","pdfjsDisplayTextLayer","pdfjsDisplayAnnotationLayer","pdfjsDisplayDisplayUtils","pdfjsDisplaySVG","pdfjsDisplayWorkerOptions","pdfjsDisplayAPICompatibility","isNodeJS","PDFNodeStream","setPDFNetworkStreamFactory","params","PDFFetchStream","PDFNetworkStream","isFetchSupported","isValidFetchUrl","url","build","version","getDocument","LoopbackPort","PDFDataRangeTransport","PDFWorker","renderTextLayer","AnnotationLayer","createPromiseCapability","PasswordResponses","InvalidPDFException","MissingPDFException","SVGGraphics","NativeImageDecoding","CMapCompressionType","PermissionFlag","UnexpectedResponseException","OPS","VerbosityLevel","UNSUPPORTED_FEATURES","createValidAbsoluteUrl","createObjectURL","removeNullCharacters","shadow","Util","ReadableStream","RenderingCancelledException","getFilenameFromUrl","LinkTarget","addLinkAttributes","loadScript","PDFDateString","GlobalWorkerOptions","apiCompatibilityParams","arrayByteLength","arraysToBytes","arr","length","Uint8Array","resultLength","pos","data","_i","item","stringToBytes","itemLength","byteLength","set","assert","bytesToString","bytes","_typeof","undefined","MAX_ARGUMENT_COUNT","String","fromCharCode","apply","strBuf","chunkEnd","Math","min","chunk","subarray","push","join","capability","isSettled","promise","Promise","resolve","reject","reason","getVerbosityLevel","verbosity","info","msg","INFOS","console","log","concat","isArrayBuffer","v","isArrayEqual","arr1","arr2","every","element","index","isBool","isEmptyObj","obj","isNum","isString","isSpace","ch","isSameOrigin","baseUrl","otherUrl","base","URL","origin","e","other","absoluteUrl","protocol","_isValidProtocol","ex","isLittleEndian","buffer8","Uint32Array","buffer","isEvalSupported","Function","log2","x","ceil","readInt8","start","readUint16","offset","readUint32","str","warn","replace","NullCharactersRegExp","setVerbosityLevel","level","Number","isInteger","prop","configurable","writable","string32","stringToPDFString","charCodeAt","_i2","code","PDFStringTranslateTable","charAt","stringToUTF8String","decodeURIComponent","escape","utf8StringToString","unescape","encodeURIComponent","unreachable","_streams_polyfill","FormatError","UnknownErrorException","TextRenderingMode","StreamType","PasswordException","AbortException","ImageKind","FontType","AnnotationType","AnnotationStateModelType","AnnotationReviewState","AnnotationReplyType","AnnotationMarkedState","AnnotationFlag","AnnotationFieldFlag","AnnotationBorderStyleType","IDENTITY_MATRIX","FONT_IDENTITY_MATRIX","BaseException","_defineProperties","target","props","descriptor","iterator","constructor","_classCallCheck","instance","Constructor","TypeError","_possibleConstructorReturn","self","ReferenceError","_assertThisInitialized","_getPrototypeOf","setPrototypeOf","getPrototypeOf","__proto__","_inherits","subClass","superClass","_setPrototypeOf","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","MARKED","REVIEW","UNMARKED","ACCEPTED","REJECTED","CANCELLED","COMPLETED","GROUP","REPLY","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","RLX","TYPE1","TYPE1C","CIDFONTTYPE0","CIDFONTTYPE0C","TRUETYPE","CIDFONTTYPE2","TYPE3","OPENTYPE","TYPE0","MMTYPE1","ERRORS","WARNINGS","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","Error","cond","message","this","_BaseException","_this","_BaseException2","details","_this2","_BaseException3","arguments","_BaseException4","_BaseException5","status","_this3","_BaseException6","_BaseException7","rgbBuf","protoProps","staticProps","g","b","m1","m2","p1","applyTransform","p2","slice","p3","p4","max","transpose","a","first","second","sqrt","sx","sy","rect","rect1","rect2","compare","orderedX","sort","orderedY","result","normalizeRect","digits","contentType","forceDataSchema","blob","Blob","type","ii","b1","b2","b3","d1","d2","d3","d4","globalScope","_pdfjsCompatibilityChecked","hasDOM","window","document","btoa","chars","Buffer","from","toString","atob","input","Element","remove","parentNode","removeChild","div","createElement","classList","add","contains","OriginalDOMTokenListAdd","DOMTokenList","OriginalDOMTokenListRemove","_len","tokens","Array","_key","_tokens","token","_len2","_key2","_tokens2","toggle","force","startsWith","endsWith","includes","assign","isNaN","WeakMap","WeakSet","codePointAt","fromCodePoint","padStart","padEnd","values","global","process","versions","entryUnbind","$","toLength","notARegExp","requireObjectCoercible","correctIsRegExpLogic","nativeStartsWith","proto","forced","searchString","that","search","getOwnPropertyDescriptor","f","hide","redefine","setGlobal","copyConstructorProperties","isForced","options","source","targetProperty","sourceProperty","TARGET","GLOBAL","STATIC","stat","noTargetGet","sham","O","check","it","globalThis","DESCRIPTORS","propertyIsEnumerableModule","createPropertyDescriptor","toIndexedObject","toPrimitive","has","IE8_DOM_DEFINE","nativeGetOwnPropertyDescriptor","P","error","fails","exec","nativePropertyIsEnumerable","propertyIsEnumerable","NASHORN_BUG","V","bitmap","IndexedObject","classof","split","isObject","PREFERRED_STRING","fn","val","valueOf","EXISTS","definePropertyModule","anObject","nativeDefineProperty","Attributes","shared","nativeFunctionToString","InternalStateModule","getInternalState","enforceInternalState","enforce","TEMPLATE","unsafe","simple","IS_PURE","SHARED","store","copyright","NATIVE_WEAK_MAP","objectHas","sharedKey","hiddenKeys","wmget","wmhas","wmset","metadata","STATE","getterFor","TYPE","state","test","uid","keys","id","postfix","random","ownKeys","getOwnPropertyDescriptorModule","getBuiltIn","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","getOwnPropertySymbols","path","aFunction","variable","namespace","method","internalObjectKeys","getOwnPropertyNames","indexOf","names","toAbsoluteIndex","createMethod","IS_INCLUDES","$this","el","fromIndex","toInteger","argument","floor","integer","replacement","feature","detection","normalize","POLYFILL","NATIVE","string","toLowerCase","isRegExp","MATCH","wellKnownSymbol","NATIVE_SYMBOL","METHOD_NAME","regexp","CONSTRUCTOR","METHOD","nativeEndsWith","endPosition","len","end","$includes","addToUnscopables","UNSCOPABLES","ArrayPrototype","defineProperties","enumBugKeys","html","documentCreateElement","IE_PROTO","Empty","createDict","iframeDocument","iframe","style","display","appendChild","src","contentWindow","open","write","lt","close","F","Properties","objectKeys","defineIterator","STRING_ITERATOR","setInternalState","iterated","point","done","CONVERT_TO_STRING","S","position","size","codeAt","createIteratorConstructor","setToStringTag","Iterators","IteratorsCore","IteratorPrototype","BUGGY_SAFARI_ITERATORS","ITERATOR","KEYS","VALUES","ENTRIES","returnThis","Iterable","NAME","IteratorConstructor","next","DEFAULT","IS_SET","FORCED","CurrentIteratorPrototype","methods","KEY","getIterationMethod","KIND","defaultIterator","IterablePrototype","TO_STRING_TAG","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","entries","PrototypeOfArrayIteratorPrototype","arrayIterator","toObject","CORRECT_PROTOTYPE_GETTER","ObjectPrototype","TAG","aPossiblePrototype","setter","CORRECT_SETTER","checkCorrectnessOfIteration","iterable","callWithSafeIterationClosing","isArrayIteratorMethod","createProperty","getIteratorMethod","arrayLike","step","C","argumentsLength","mapfn","mapping","iteratorMethod","returnMethod","propertyKey","classofRaw","CORRECT_ARGUMENTS","tag","tryGet","callee","SAFE_CLOSING","called","iteratorWithReturn","SKIP_CLOSING","ITERATION_SUPPORT","nativeAssign","A","B","symbol","alphabet","forEach","chr","T","j","LN2","number","isFinite","DOMIterables","ArrayIteratorMethods","ArrayValues","COLLECTION_NAME","Collection","CollectionPrototype","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","ARRAY_ITERATOR","kind","Arguments","Internal","OwnPromiseCapability","PromiseWrapper","nativeThen","NativePromise","redefineAll","setSpecies","anInstance","iterate","speciesConstructor","task","microtask","promiseResolve","hostReportErrors","newPromiseCapabilityModule","perform","userAgent","SPECIES","PROMISE","getInternalPromiseState","PromiseConstructor","$fetch","fetch","v8","newPromiseCapability","newGenericPromiseCapability","IS_NODE","DISPATCH_EVENT","createEvent","dispatchEvent","UNHANDLED_REJECTION","empty","FakePromise","PromiseRejectionEvent","then","INCORRECT_ITERATION","all","isThenable","notify","isReject","notified","chain","reactions","ok","exited","reaction","handler","fail","domain","rejection","onHandleUnhandled","enter","exit","onUnhandled","event","initEvent","isUnhandled","emit","parent","unwrap","internalReject","internalResolve","wrapper","executor","onFulfilled","onRejected","wrap","$promiseResolve","counter","remaining","alreadyCalled","race","CONSTRUCTOR_NAME","Result","stopped","AS_ENTRIES","IS_ITERATOR","iterFn","boundFunction","stop","defaultConstructor","defer","channel","port","location","setImmediate","clear","clearImmediate","MessageChannel","Dispatch","queue","ONREADYSTATECHANGE","run","runner","listener","post","postMessage","host","args","nextTick","now","port2","port1","onmessage","addEventListener","importScripts","setTimeout","flush","head","last","node","macrotask","MutationObserver","WebKitMutationObserver","queueMicrotaskDescriptor","queueMicrotask","createTextNode","observe","characterData","promiseCapability","PromiseCapability","$$resolve","$$reject","allSettled","real","onFinally","isFunction","EOF","USE_NATIVE_URL","arrayFrom","toASCII","URLSearchParamsModule","NativeURL","URLSearchParams","getInternalSearchParamsState","getState","getInternalURLState","pow","INVALID_SCHEME","INVALID_HOST","INVALID_PORT","ALPHA","ALPHANUMERIC","DIGIT","HEX_START","OCT","DEC","HEX","FORBIDDEN_HOST_CODE_POINT","FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT","LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE","TAB_AND_NEW_LINE","parseHost","codePoints","parseIPv6","isSpecial","parseIPv4","percentEncode","C0ControlPercentEncodeSet","partsLength","numbers","part","radix","ipv4","parts","pop","parseInt","numbersSeen","ipv4Piece","swaps","swap","address","pieceIndex","compress","pointer","char","serializeHost","ignore0","unshift","ipv6","maxIndex","maxLength","currStart","currLength","findLongestZeroSequence","fragmentPercentEncodeSet","pathPercentEncodeSet","userinfoPercentEncodeSet","specialSchemes","ftp","file","gopher","http","https","ws","wss","scheme","includesCredentials","username","password","cannotHaveUsernamePasswordPort","cannotBeABaseURL","isWindowsDriveLetter","normalized","startsWithWindowsDriveLetter","third","shortenURLsPath","pathSize","isSingleDot","segment","SCHEME_START","SCHEME","NO_SCHEME","SPECIAL_RELATIVE_OR_AUTHORITY","PATH_OR_AUTHORITY","RELATIVE","RELATIVE_SLASH","SPECIAL_AUTHORITY_SLASHES","SPECIAL_AUTHORITY_IGNORE_SLASHES","AUTHORITY","HOST","HOSTNAME","PORT","FILE","FILE_SLASH","FILE_HOST","PATH_START","PATH","CANNOT_BE_A_BASE_URL_PATH","QUERY","FRAGMENT","parseURL","stateOverride","bufferCodePoints","failure","seenAt","seenBracket","seenPasswordToken","query","fragment","codePoint","encodedCodePoints","shift","URLConstructor","baseState","urlString","searchParams","searchParamsState","updateSearchParams","updateURL","href","serializeURL","getOrigin","getProtocol","getUsername","getPassword","getHost","hostname","getHostname","getPort","pathname","getPathname","getSearch","getSearchParams","hash","getHash","URLPrototype","output","accessorDescriptor","nativeCreateObjectURL","nativeRevokeObjectURL","revokeObjectURL","toJSON","maxInt","regexNonASCII","regexSeparators","OVERFLOW_ERROR","stringFromCharCode","digitToBasic","digit","adapt","delta","numPoints","firstTime","k","baseMinusTMin","encode","currentValue","inputLength","extra","ucs2decode","bias","basicLength","handledCPCount","handledCPCountPlusOne","RangeError","q","qMinusT","baseMinusT","label","encoded","labels","hasOwn","getIterator","URL_SEARCH_PARAMS","URL_SEARCH_PARAMS_ITERATOR","getInternalParamsState","getInternalIteratorState","plus","sequences","percentSequence","RegExp","percentDecode","sequence","deserialize","find","replacer","match","serialize","parseSearchParams","attribute","entry","attributes","validateArgumentsLength","passed","required","URLSearchParamsIterator","URLSearchParamsConstructor","entryIterator","init","URLSearchParamsPrototype","append","splice","getAll","found","entriesIndex","sliceIndex","callback","InternalWeakMap","InternalMetadataModule","collection","collectionWeak","enforceIternalState","IS_IE11","ActiveXObject","isExtensible","$WeakMap","getConstructor","WeakMapPrototype","nativeDelete","nativeHas","nativeGet","nativeSet","frozen","FREEZING","METADATA","setMetadata","objectID","weakData","meta","fastKey","getWeakData","onFreeze","preventExtensions","inheritIfRequired","common","IS_MAP","IS_WEAK","NativeConstructor","NativePrototype","ADDER","exported","fixMethod","nativeMethod","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","$instance","dummy","setStrong","Wrapper","NewTarget","NewTargetPrototype","ArrayIterationModule","$has","internalStateGetterFor","findIndex","uncaughtFrozenStore","UncaughtFrozenStore","findUncaughtFrozen","define","arraySpeciesCreate","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","callbackfn","specificCreate","map","filter","some","isArray","originalArray","arg","nativeFromCodePoint","elements","arrayMethodHasSpeciesSupport","IS_CONCAT_SPREADABLE","MAX_SAFE_INTEGER","MAXIMUM_ALLOWED_INDEX_EXCEEDED","IS_CONCAT_SPREADABLE_SUPPORT","array","SPECIES_SUPPORT","isConcatSpreadable","spreadable","E","foo","Boolean","nativeObjectCreate","getOwnPropertyNamesExternal","wrappedWellKnownSymbolModule","defineWellKnownSymbol","$forEach","SYMBOL","TO_PRIMITIVE","$Symbol","JSON","nativeJSONStringify","stringify","nativeGetOwnPropertyNames","AllSymbols","ObjectPrototypeSymbols","StringToSymbolRegistry","SymbolToStringRegistry","WellKnownSymbolsStore","QObject","USE_SETTER","findChild","setSymbolDescriptor","ObjectPrototypeDescriptor","description","isSymbol","$defineProperty","$defineProperties","properties","$getOwnPropertySymbols","$propertyIsEnumerable","$getOwnPropertyDescriptor","$getOwnPropertyNames","IS_OBJECT_PROTOTYPE","keyFor","sym","useSetter","useSimple","$replacer","windowNames","getWindowNames","NativeSymbol","EmptyStringDescriptionStore","SymbolWrapper","symbolPrototype","symbolToString","native","desc","$padStart","repeat","IS_END","fillString","fillLen","stringFiller","stringLength","fillStr","intMaxLength","count","Infinity","$padEnd","$values","TO_ENTRIES","isReadableStreamSupported","controller","__webpack_module__","__webpack_exports__","ByteLengthQueuingStrategy","CountQueuingStrategy","TransformStream","WritableStream","SymbolPolyfill","noop","NumberIsNaN","typeIsObject","createArrayFromList","IsFiniteNonNegativeNumber","IsNonNegativeNumber","Call","CreateAlgorithmFromUnderlyingMethod","underlyingObject","methodName","algoArgCount","extraArgs","PromiseCall","fullArgs","InvokeOrNoop","ValidateAndNormalizeHighWaterMark","highWaterMark","MakeSizeAlgorithmFromSizeFunction","SimpleQueue","_cursor","_size","_front","_elements","_next","_back","oldBack","newBack","QUEUE_MAX_ARRAY_SIZE","oldFront","newFront","oldCursor","newCursor","peek","front","cursor","ReadableStreamCreateReadResult","forAuthorCode","ReadableStreamReaderGenericInitialize","reader","stream","_forAuthorCode","_ownerReadableStream","_reader","_state","defaultReaderClosedPromiseInitialize","defaultReaderClosedPromiseResolve","defaultReaderClosedPromiseInitializeAsResolved","defaultReaderClosedPromiseInitializeAsRejected","_storedError","ReadableStreamReaderGenericCancel","ReadableStreamCancel","ReadableStreamReaderGenericRelease","defaultReaderClosedPromiseReject","defaultReaderClosedPromiseResetToRejected","readerLockException","_closedPromise","_closedPromise_resolve","_closedPromise_reject","catch","CancelSteps","PullSteps","AcquireReadableStreamDefaultReader","ReadableStreamDefaultReader","ReadableStreamAddReadRequest","readRequest","_resolve","_reject","_readRequests","ReadableStreamFulfillReadRequest","ReadableStreamGetNumReadRequests","ReadableStreamHasDefaultReader","IsReadableStreamDefaultReader","_a","AsyncIteratorPrototype","IsReadableStream","IsReadableStreamLocked","defaultReaderBrandCheckException","cancel","read","ReadableStreamDefaultReaderRead","releaseLock","_disturbed","_readableStreamController","asyncIterator","ReadableStreamAsyncIteratorPrototype","IsReadableStreamAsyncIterator","streamAsyncIteratorBrandCheckException","_asyncIteratorReader","return","_preventCancel","rethrowAssertionErrorRejection","DequeueValue","container","pair","_queue","_queueTotalSize","EnqueueValueWithSize","ResetQueue","AbortSteps","ErrorSteps","underlyingSink","strategy","InitializeWritableStream","sizeAlgorithm","WritableStreamDefaultController","startAlgorithm","writeAlgorithm","closeAlgorithm","abortAlgorithm","SetUpWritableStreamDefaultController","SetUpWritableStreamDefaultControllerFromUnderlyingSink","IsWritableStream","streamBrandCheckException","IsWritableStreamLocked","abort","WritableStreamAbort","getWriter","AcquireWritableStreamDefaultWriter","WritableStreamDefaultWriter","_writer","_writableStreamController","_writeRequests","_inFlightWriteRequest","_closeRequest","_inFlightCloseRequest","_pendingAbortRequest","_backpressure","_promise","wasAlreadyErroring","_reason","_wasAlreadyErroring","WritableStreamStartErroring","WritableStreamDealWithRejection","WritableStreamFinishErroring","writer","WritableStreamDefaultWriterEnsureReadyPromiseRejected","WritableStreamHasOperationMarkedInFlight","_started","storedError","writeRequest","abortRequest","WritableStreamRejectCloseAndClosedPromiseIfNeeded","WritableStreamCloseQueuedOrInFlight","defaultWriterClosedPromiseReject","WritableStreamUpdateBackpressure","backpressure","defaultWriterReadyPromiseInitialize","defaultWriterReadyPromiseReset","defaultWriterReadyPromiseResolve","_ownerWritableStream","defaultWriterReadyPromiseInitializeAsResolved","defaultWriterClosedPromiseInitialize","defaultWriterReadyPromiseInitializeAsRejected","defaultWriterClosedPromiseResolve","defaultWriterClosedPromiseInitializeAsRejected","IsWritableStreamDefaultWriter","defaultWriterBrandCheckException","defaultWriterLockException","WritableStreamDefaultControllerGetDesiredSize","_readyPromise","WritableStreamDefaultWriterAbort","WritableStreamDefaultWriterClose","WritableStreamDefaultWriterRelease","WritableStreamDefaultWriterWrite","closeRequest","WritableStreamDefaultControllerAdvanceQueueIfNeeded","WritableStreamDefaultWriterEnsureClosedPromiseRejected","_closedPromiseState","defaultWriterClosedPromiseResetToRejected","_readyPromiseState","defaultWriterReadyPromiseReject","defaultWriterReadyPromiseResetToRejected","releasedError","chunkSize","_strategySizeAlgorithm","chunkSizeE","WritableStreamDefaultControllerErrorIfNeeded","WritableStreamDefaultControllerGetChunkSize","WritableStreamAddWriteRequest","writeRecord","enqueueE","_controlledWritableStream","WritableStreamDefaultControllerGetBackpressure","WritableStreamDefaultControllerWrite","WritableStreamDefaultControllerError","_abortAlgorithm","WritableStreamDefaultControllerClearAlgorithms","_strategyHWM","_writeAlgorithm","_closeAlgorithm","startResult","WritableStreamMarkCloseRequestInFlight","sinkClosePromise","WritableStreamFinishInFlightClose","WritableStreamFinishInFlightCloseWithError","WritableStreamDefaultControllerProcessClose","WritableStreamMarkFirstWriteRequestInFlight","WritableStreamFinishInFlightWrite","WritableStreamFinishInFlightWriteWithError","WritableStreamDefaultControllerProcessWrite","_readyPromise_resolve","_readyPromise_reject","ReadableStreamPipeTo","dest","preventClose","preventAbort","preventCancel","signal","shuttingDown","currentWrite","action","DOMException","actions","shutdownWithAction","aborted","isOrBecomesErrored","shutdown","WritableStreamDefaultWriterCloseWithErrorPropagation","destClosed_1","waitForWritesToFinish","oldCurrentWrite","originalIsError","originalError","doTheRest","finalize","newError","isError","removeEventListener","resolveLoop","rejectLoop","ReadableStreamDefaultController","IsReadableStreamDefaultController","defaultControllerBrandCheckException","ReadableStreamDefaultControllerGetDesiredSize","ReadableStreamDefaultControllerCanCloseOrEnqueue","ReadableStreamDefaultControllerClose","enqueue","ReadableStreamDefaultControllerEnqueue","ReadableStreamDefaultControllerError","_cancelAlgorithm","ReadableStreamDefaultControllerClearAlgorithms","_controlledReadableStream","_closeRequested","ReadableStreamClose","ReadableStreamDefaultControllerCallPullIfNeeded","pendingPromise","ReadableStreamDefaultControllerShouldCallPull","_pulling","_pullAlgorithm","_pullAgain","ReadableStreamError","SetUpReadableStreamDefaultController","pullAlgorithm","cancelAlgorithm","NumberIsInteger","ReadableStreamBYOBRequest","IsReadableStreamBYOBRequest","byobRequestBrandCheckException","_view","respond","bytesWritten","_associatedReadableByteStreamController","ReadableByteStreamControllerRespondInternal","ReadableByteStreamControllerRespond","respondWithNewView","view","ArrayBuffer","isView","firstDescriptor","_pendingPullIntos","byteOffset","bytesFilled","ReadableByteStreamControllerRespondWithNewView","ReadableByteStreamController","IsReadableByteStreamController","byteStreamControllerBrandCheckException","_byobRequest","byobRequest","request","SetUpReadableStreamBYOBRequest","ReadableByteStreamControllerGetDesiredSize","_controlledReadableByteStream","ReadableByteStreamControllerError","ReadableByteStreamControllerClearAlgorithms","ReadableByteStreamControllerClose","transferredBuffer","ReadableByteStreamControllerEnqueueChunkToQueue","ReadableStreamHasBYOBReader","ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue","ReadableByteStreamControllerCallPullIfNeeded","ReadableByteStreamControllerEnqueue","ReadableByteStreamControllerHandleQueueDrain","viewE","autoAllocateChunkSize","_autoAllocateChunkSize","bufferE","pullIntoDescriptor","elementSize","ctor","readerType","ReadableStreamGetNumReadIntoRequests","ReadableByteStreamControllerShouldCallPull","ReadableByteStreamControllerCommitPullIntoDescriptor","filledView","ReadableByteStreamControllerConvertPullIntoDescriptor","_readIntoRequests","ReadableStreamFulfillReadIntoRequest","ReadableByteStreamControllerFillPullIntoDescriptorFromQueue","currentAlignedBytes","maxBytesToCopy","maxBytesFilled","maxAlignedBytes","totalBytesToCopyRemaining","ready","destOffset","srcOffset","headOfQueue","bytesToCopy","destStart","ReadableByteStreamControllerFillHeadPullIntoDescriptor","ReadableByteStreamControllerInvalidateBYOBRequest","ReadableByteStreamControllerShiftPendingPullInto","ReadableByteStreamControllerRespondInClosedState","remainderSize","remainder","ReadableByteStreamControllerRespondInReadableState","ReadableByteStreamControllerClearPendingPullIntos","SetUpReadableByteStreamControllerFromUnderlyingSource","underlyingByteSource","SetUpReadableByteStreamController","ReadableStreamAddReadIntoRequest","readIntoRequest","IsReadableStreamBYOBReader","ReadableStreamBYOBReader","byobReaderBrandCheckException","DataView","BYTES_PER_ELEMENT","emptyView","ReadableByteStreamControllerPullInto","ReadableStreamBYOBReaderRead","underlyingSource","InitializeReadableStream","SetUpReadableStreamDefaultControllerFromUnderlyingSource","streamBrandCheckException$1","getReader","AcquireReadableStreamBYOBReader","pipeThrough","_b","readable","_c","isAbortSignal","pipeTo","tee","branches","cloneForBranch2","reason1","reason2","branch1","branch2","resolveCancelPromise","reading","canceled1","canceled2","cancelPromise","value1","value2","CreateReadableStream","compositeReason","cancelResult","ReadableStreamTee","AcquireReadableStreamAsyncIterator","AbortSignal","transformer","writableStrategy","readableStrategy","writableSizeFunction","writableHighWaterMark","readableSizeFunction","readableHighWaterMark","writableType","writableSizeAlgorithm","readableType","startPromise_resolve","readableSizeAlgorithm","startPromise","_transformStreamController","_backpressureChangePromise","_writable","TransformStreamDefaultControllerPerformTransform","TransformStreamDefaultSinkWriteAlgorithm","TransformStreamError","TransformStreamDefaultSinkAbortAlgorithm","_readable","flushPromise","_flushAlgorithm","TransformStreamDefaultControllerClearAlgorithms","readableController","TransformStreamDefaultSinkCloseAlgorithm","TransformStreamSetBackpressure","TransformStreamDefaultSourcePullAlgorithm","TransformStreamErrorWritableAndUnblockWrite","CreateWritableStream","_backpressureChangePromise_resolve","InitializeTransformStream","TransformStreamDefaultController","transformAlgorithm","TransformStreamDefaultControllerEnqueue","transformResultE","transformMethod","flushAlgorithm","_controlledTransformStream","_transformAlgorithm","SetUpTransformStreamDefaultController","SetUpTransformStreamDefaultControllerFromTransformer","IsTransformStream","streamBrandCheckException$2","IsTransformStreamDefaultController","defaultControllerBrandCheckException$1","terminate","TransformStreamDefaultControllerTerminate","ReadableStreamDefaultControllerHasBackpressure","PDFDocumentLoadingTask","_util","range","rangeTransport","worker","pdfBytes","rangeChunkSize","CMapReaderFactory","_display_utils","DOMCMapReaderFactory","ignoreErrors","stopAtErrors","pdfBug","NativeImageDecoderValues","nativeImageDecoderSupport","_api_compatibility","maxImageSize","disableFontFace","disableRange","disableStream","disableAutoFetch","disableCreateObjectURL","workerParams","_worker_options","workerPort","fromPort","_worker","docId","destroyed","pdfDataRangeTransport","initialData","progressiveDone","messageHandler","sendWithPromise","apiVersion","postMessageTransfers","docBaseUrl","workerId","_fetchDocument","networkStream","_transport_stream","PDFDataTransportStream","createPDFNetworkStream","httpHeaders","withCredentials","_message_handler","MessageHandler","transport","WorkerTransport","_transport","send","_capability","pdfNetworkStreamFactory","PDFPageProxy","PDFDocumentProxy","_regenerator","_interopRequireDefault","_font_loader","_canvas","_global_scope","_metadata","_webgl","default","asyncGeneratorStep","gen","_throw","_slicedToArray","_arrayWithHoles","_arr","_n","_d","_e","_s","err","_iterableToArrayLimit","_nonIterableRest","_toConsumableArray","_arrayWithoutHoles","iter","_iterableToArray","_nonIterableSpread","_createClass","fallbackWorkerSrc","fakeWorkerFilesLoader","isWorkerDisabled","useRequireEnsure","requirejs","toUrl","dynamicLoaderSupported","load","WorkerMessageHandler","pdfjsFilePath","currentScript","nextDocumentId","onPassword","onProgress","onUnsupportedFeature","destroy","deprecated","_rangeListeners","_progressListeners","_progressiveReadListeners","_progressiveDoneListeners","_readyCapability","begin","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","loaded","total","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_step2","_iterator2","_iteratorNormalCompletion3","_didIteratorError3","_iteratorError3","_step3","_iterator3","_this4","_iteratorNormalCompletion4","_didIteratorError4","_iteratorError4","_step4","_iterator4","pdfInfo","_pdfInfo","pageNumber","getPage","ref","getPageIndex","getDestinations","getDestination","getPageLabels","getPageLayout","getPageMode","getViewerPreferences","getOpenActionDestination","getAttachments","getJavaScript","getOutline","getPermissions","getMetadata","getData","downloadInfoCapability","getStats","startCleanup","loadingTask","numPages","fingerprint","loadingParams","pageIndex","pageInfo","_pageInfo","_stats","StatTimer","DummyStatTimer","_pdfBug","commonObjs","objs","PDFObjects","cleanupAfterRender","pendingCleanup","intentStates","_ref","scale","_ref$rotation","rotation","rotate","_ref$dontFlip","dontFlip","PageViewport","viewBox","_ref2","_ref2$intent","intent","annotationsPromise","annotationsIntent","getAnnotations","_ref3","_this5","canvasContext","viewport","_ref3$intent","_ref3$enableWebGL","enableWebGL","_ref3$renderInteracti","renderInteractiveForms","_ref3$transform","_ref3$imageLayer","imageLayer","_ref3$canvasFactory","canvasFactory","_ref3$background","background","stats","time","renderingIntent","intentState","streamReaderCancelTimeout","clearTimeout","canvasFactoryInstance","DOMCanvasFactory","webGLContext","WebGLContext","enable","displayReadyCapability","operatorList","fnArray","argsArray","lastChunk","_pumpOperatorList","complete","renderTasks","internalRenderTask","_tryCleanup","_abortOperatorList","timeEnd","InternalRenderTask","useRequestAnimationFrame","renderTask","transparency","initializeGraphics","operatorListChanged","opListTask","opListReadCapability","_ref4","_ref4$normalizeWhites","normalizeWhitespace","_ref4$disableCombineT","disableCombineTextItems","TEXT_CONTENT_CHUNK_SIZE","sendWithStream","combineTextItems","textContent","items","readableStream","streamTextContent","styles","pump","_ref5","_textContent$items","_this6","pageCache","waitOn","renderCompleted","resetStats","_this7","operatorListChunk","_this8","streamReader","_ref6","_renderPageChunk","_ref7","_this9","_ref7$force","cleanup","userUnit","_listeners","_defer","_deferred","transfers","_this10","cloned","cloneValue","transferable","fakeWorkerFilesLoadedCapability","pdfWorkerPorts","nextFakeWorkerId","_getWorkerSrc","workerSrc","getMainThreadWorkerMessageHandler","pdfjsWorker","_ref8","_ref8$name","_ref8$port","_ref8$verbosity","_port","_webWorker","_messageHandler","_initializeFromPort","_initialize","on","_this11","Worker","terminateEarly","onWorkerError","_setupFakeWorker","supportTransfers","sendTest","testObj","_this12","mainWorkerMessageHandler","setupFakeWorkerGlobal","workerHandler","setup","canvasInRendering","fontLoader","FontLoader","_onUnsupportedFeature","_params","cMapUrl","isCompressed","cMapPacked","destroyCapability","_passwordCapability","_networkStream","_fullReader","_lastProgress","pagePromises","setupMessageHandler","_this13","page","_destroy","terminated","cancelAllRequests","_this14","sink","getFullReader","evt","onPull","_ref9","onCancel","headersCapability","fullReader","headersReady","isStreamingSupported","isRangeSupported","contentLength","rangeReader","getRangeReader","_ref10","_ref11","_numPages","exception","_startRenderPage","_data","exportedData","exportedError","fontRegistry","FontInspector","enabled","registerFont","fontAdded","FontFaceObject","_data2","imageData","pageProxy","img","Image","onload","onerror","releaseImageResources","_data3","imageUrl","components","width","height","rgbaLength","buf","Uint8ClampedArray","tmpCanvas","tmpCtx","getContext","drawImage","getImageData","_j","fetched","builtInCMap","cMapData","_ref12","featureId","_this15","_this16","results","Metadata","contentDispositionFilename","filename","_this17","_objs","objId","resolved","_ensureObj","RenderTask","_internalRenderTask","onContinue","_ref13","_ref13$useRequestAnim","_ref13$pdfBug","operatorListIdx","running","graphicsReadyCallback","graphicsReady","_useRequestAnimationFrame","cancelled","_continueBound","_continue","_scheduleNextBound","_scheduleNext","_nextBound","canvas","_next2","StepperManager","stepper","nextBreakPoint","getNextBreakPoint","_this$params","gfx","CanvasGraphics","beginDrawing","endDrawing","updateOperatorList","_this18","requestAnimationFrame","mark","_callee","_context","prev","abrupt","executeOperatorList","runtime","Op","iteratorSymbol","asyncIteratorSymbol","toStringTagSymbol","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","context","Context","_invoke","GenStateSuspendedStart","GenStateExecuting","GenStateCompleted","doneResult","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","sent","_sent","dispatchException","record","tryCatch","GenStateSuspendedYield","makeInvokeMethod","GeneratorFunction","GeneratorFunctionPrototype","getProto","NativeIteratorPrototype","Gp","defineIteratorMethods","AsyncIterator","invoke","__await","unwrapped","previousPromise","callInvokeWithMethodAndArg","resultName","nextLoc","pushTryEntry","locs","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","displayName","isGeneratorFunction","genFun","awrap","async","reverse","skipTempReset","rootRecord","rval","handle","loc","caught","hasCatch","hasFinally","finallyEntry","finish","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","webpackPolyfill","deprecate","paths","children","link","rel","_ref7$enabled","urlNullRemoved","title","onclick","LinkTargetValues","targetIndex","LinkTargetStringMap","DEFAULT_LINK_REL","anchor","substring","lastIndexOf","script","documentElement","removeAttribute","DOMSVGFactory","_asyncToGenerator","SVG_NS","canvasAndContext","_ref$baseUrl","_ref$isCompressed","_fetch","_x","_callee2","compressionType","_context2","baseURI","response","statusText","t0","arrayBuffer","t1","t2","text","t3","_x3","XMLHttpRequest","responseType","onreadystatechange","readyState","DONE","responseText","_x2","svg","createElementNS","setAttribute","_ref5$offsetX","offsetX","_ref5$offsetY","offsetY","_ref5$dontFlip","rotateA","rotateB","rotateC","rotateD","offsetCanvasX","offsetCanvasY","centerX","centerY","abs","_ref6$scale","_ref6$rotation","_ref6$dontFlip","y","topLeft","bottomRight","applyInverseTransform","SELF","BLANK","PARENT","TOP","started","times","Date","out","longest","_time","duration","pdfDateStringRegex","Response","matches","year","month","day","hour","minute","universalTimeRelation","offsetHour","offsetMinute","UTC","BaseFontLoader","nativeFontFaces","styleElement","_bind","nativeFontFace","fonts","rule","getElementsByTagName","styleSheet","sheet","insertRule","cssRules","attached","missingFile","isFontLoadingAPISupported","createNativeFontFace","addNativeFontFace","family","createFontFaceRule","isSyncFontLoadingSupported","_queueLoadingCallback","_prepareFontLoadEvent","rules","fontsToLoad","_BaseFontLoader","GenericFontLoader","loadingContext","requests","nextRequestId","loadTestFontId","otherRequest","int32","spliceString","insert","ctx","_loadTestFont","XXXX_VALUE","checksum","loadedName","span","fontFamily","body","isFontReady","fillText","supported","navigator","IsEvalSupportedCached","translatedData","_ref2$isEvalSupported","_ref2$disableFontFace","_ref2$ignoreErrors","_ref2$onUnsupportedFe","_ref2$fontRegistry","compiledGlyphs","FontFace","mimetype","character","cmds","current","js","cmd","_ii","compatibilityParams","isIE","isIOSChrome","freeze","_pattern_helper","MAX_GROUP_SIZE","MIN_WIDTH_FACTOR","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","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","canvasCtx","stateStack","pendingClip","pendingEOFill","res","xobjs","groupStack","processingType3","baseTransform","baseTransformStack","groupLevel","smaskStack","smaskCounter","tempSMask","cachedCanvases","_cachedGetSinglePixelWidth","putBinaryImageData","imgData","ImageData","putImageData","destPos","thisChunkHeight","elemsInThisChunk","partialChunkHeight","fullChunks","totalChunks","chunkImgData","createImageData","srcPos","srcLength","dest32","dest32DataLength","fullSrcDiff","white","black","srcDiff","kEnd","kEndUnrolled","mask","srcByte","putBinaryImageMask","elem","copyCtxState","sourceCtx","destCtx","setLineDash","getLineDash","lineDashOffset","resetCtxToDefault","strokeStyle","fillStyle","fillRule","globalAlpha","lineCap","lineJoin","miterLimit","globalCompositeOperation","composeSMaskBackdrop","r0","g0","b0","alpha","alpha_","composeSMaskAlpha","maskData","layerData","transferMap","composeSMaskLuminosity","composeSMask","layerCtx","maskCtx","scaleX","scaleY","backdrop","isEnabled","composed","layer","subtype","composeFn","hasBackdrop","row","chunkHeight","genericComposeSMask","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","steps","breakIt","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","singularValueDecompose2dScale","getPattern","needRestore","pendingTextPaths","beginPath","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","spacingLength","charProcOperatorList","operatorListId","xWidth","yWidth","llx","lly","urx","ury","getColorN_Pattern","IR","color","canvasGraphicsFactory","createCanvasGraphics","TilingPattern","getShadingPatternFromIR","makeCssRgb","patternIR","inv","bl","br","ul","ur","x0","y0","x1","y1","matrix","bbox","group","isolated","knockout","bounds","getAxialAlignedBoundingBox","canvasBounds","intersect","imageSmoothingEnabled","mozImageSmoothingEnabled","w","h","domImage","getCanvasPosition","appendImage","left","top","isPatternFill","compiled","j0","width1","points","POINT_TYPES","lineSize","data0","sum","Int32Array","outlines","pp","coords","p0","jj","compileType3Glyph","maskCanvas","positions","images","image","imgToPaint","widthScale","heightScale","HTMLElement","paintWidth","paintHeight","tmpCanvasId","newWidth","newHeight","inverse","raw","shadingIR","ShadingIRs","fromIR","applyBoundingBox","Path2D","region","RadialAxial","colorStops","r1","grad","createLinearGradient","createRadialGradient","addColorStop","createMeshCanvas","drawTriangle","c1","c2","c3","tmp","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","boundsWidth","boundsHeight","paddedWidth","BORDER_SIZE","paddedHeight","drawFigures","Mesh","owner","matrixScale","temporaryPatternCanvas","createPattern","Dummy","PaintType","xstep","ystep","paintType","tilingType","createPatternCanvas","curMatrixScale","combinedScale","dimx","getSizeAndScale","dimy","graphics","setFillAndStrokeStyleToContext","clipBbox","realOutputSize","maxSize","bboxWidth","bboxHeight","cssColor","StreamKind","wrapReason","sourceName","targetName","comObj","callbackId","streamId","streamSinks","streamControllers","callbacksCapabilities","ah","actionHandler","_onComObjOnMessage","_processStreamMessage","isReply","_sourceName","_targetName","_createStreamSink","actionName","queueingStrategy","startCapability","startCall","pullCall","cancelCall","isClosed","desiredSize","pull","pullCapability","cancelCapability","streamSink","isCancelled","lastDesiredSize","sinkCapability","success","deleteStreamController","_xml_parser","_repair","xmlDocument","SimpleXMLParser","parseFromString","_parse","codes","rdf","nodeName","firstChild","nextSibling","hasChildNodes","childNodes","trim","_get","receiver","Reflect","_superPropBase","XMLParserErrorCode","isWhitespace","XMLParserBase","entity","onResolveEntity","skipWs","attrValue","attrName","attrEndChar","attrEndIndex","_resolveEntities","parsed","attrStart","onError","onEndElement","pi","_parseProcessingInstruction","onPi","onComment","onCdata","q2","complexDoctype","doctypeContent","onDoctype","content","_parseContent","onBeginElement","onText","isEmpty","SimpleDOMNode","nodeValue","child","_XMLParserBase","_currentFragment","_stack","_errorCode","parseXml","isWhitespaceString","lastElement","_queuedChunks","_progressiveDone","_pdfDataRangeTransport","_isStreamingSupported","_isRangeSupported","_contentLength","_fullRequestReader","_rangeReaders","addRangeListener","_onReceiveData","addProgressListener","_onProgress","addProgressiveReadListener","addProgressiveDoneListener","_onProgressiveDone","transportReady","_enqueue","_begin","firstReader","queuedChunks","PDFDataTransportStreamReader","_progressiveDataLength","PDFDataTransportStreamRangeReader","requestDataRange","_loaded","_stream","_done","_filename","_requests","_headersReady","_read","requestCapability","_end","_queuedChunk","_read2","_removeRangeReader","_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","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","smaskCache","figuresCache","useProgram","resolutionLocation","getUniformLocation","positionLocation","getAttribLocation","backdropLocation","subtypeLocation","texCoordLocation","texLayerLocation","texMaskLocation","texCoordBuffer","createBuffer","bindBuffer","ARRAY_BUFFER","bufferData","Float32Array","STATIC_DRAW","enableVertexAttribArray","vertexAttribPointer","FLOAT","uniform1i","initSmaskGL","drawingBufferWidth","drawingBufferHeight","uniform2f","uniform4f","TEXTURE0","maskTexture","TEXTURE1","clearColor","BLEND","blendFunc","ONE","ONE_MINUS_SRC_ALPHA","COLOR_BUFFER_BIT","drawArrays","TRIANGLES","deleteTexture","deleteBuffer","scaleLocation","offsetLocation","colorLocation","initFiguresGL","coordsMap","colorsMap","pIndex","cIndex","col","coordsBuffer","colorsBuffer","NonWhitespaceRegexp","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","boxes","box","x1New","x2New","expandBoundsLTR","expandBounds","divProperties","ts","Float64Array","findPositiveMin","boxScale","horizon","boundary","horizonPart","affectedBoundary","maxXNew","xNew","changedHorizon","lastBoundary","useBoundary","used","TextLayerRenderTask","textContentStream","textContentItemsStr","enhanceTextSelection","_textContent","_container","_textContentItemsStr","_layoutTextLastFontSize","_layoutTextLastFontFamily","_layoutTextCtx","_renderTimer","_processItems","styleCache","_textDiv$style","_render","timeout","mozOpaque","textItems","textStyles","expandTextDivs","expandDivs","transformBuf","paddingBuf","divProps","padding","renderParameters","AnnotationElementFactory","parameters","annotationType","LinkAnnotationElement","TextAnnotationElement","fieldType","TextWidgetAnnotationElement","radioButton","RadioButtonWidgetAnnotationElement","checkBox","CheckboxWidgetAnnotationElement","PushButtonWidgetAnnotationElement","ChoiceWidgetAnnotationElement","WidgetAnnotationElement","PopupAnnotationElement","FreeTextAnnotationElement","LineAnnotationElement","SquareAnnotationElement","CircleAnnotationElement","PolylineAnnotationElement","CaretAnnotationElement","InkAnnotationElement","PolygonAnnotationElement","HighlightAnnotationElement","UnderlineAnnotationElement","SquigglyAnnotationElement","StrikeOutAnnotationElement","StampAnnotationElement","FileAttachmentAnnotationElement","AnnotationElement","isRenderable","ignoreBorder","linkService","downloadManager","imageResourcesPath","svgFactory","_createContainer","transformOrigin","borderStyle","borderWidth","horizontalRadius","horizontalCornerRadius","verticalRadius","verticalCornerRadius","radius","borderRadius","borderBottomStyle","borderColor","trigger","popup","PopupElement","modificationDate","contents","hideWrapper","_AnnotationElement","className","newWindow","externalLinkTarget","externalLinkRel","externalLinkEnabled","_bindNamedAction","_bindLink","destination","getDestinationHash","navigateTo","getAnchorUrl","executeNamedAction","_AnnotationElement2","hasPopup","alt","l10nId","l10nArgs","_createPopup","_AnnotationElement3","_WidgetAnnotationElem","hasAppearance","fieldValue","multiLine","disabled","readOnly","maxLen","comb","combWidth","letterSpacing","verticalAlign","_setTextStyle","textAlignment","textAlign","direction","fontWeight","fontStyle","_WidgetAnnotationElem2","_WidgetAnnotationElem3","fieldName","buttonValue","_LinkAnnotationElemen","_WidgetAnnotationElem4","selectElement","combo","multiSelect","multiple","option","optionElement","displayValue","exportValue","_AnnotationElement4","parentType","selector","parentId","parentElement","querySelector","parentLeft","parseFloat","parentWidth","pinned","hideElement","dateObject","toDateObject","date","toLocaleDateString","toLocaleTimeString","_formatContents","_toggle","_show","_hide","lines","line","pin","hasAttribute","zIndex","unpin","_AnnotationElement5","_AnnotationElement6","lineCoordinates","_AnnotationElement7","square","_AnnotationElement8","circle","_AnnotationElement9","containerClassName","svgElementName","vertices","coordinate","polyline","_PolylineAnnotationEl","_AnnotationElement10","_AnnotationElement11","inkLists","inkList","_AnnotationElement12","_AnnotationElement13","_AnnotationElement14","_AnnotationElement15","_AnnotationElement16","_AnnotationElement17","_this6$data$file","eventBus","dispatch","_download","downloadData","_iteratorNormalCompletion5","_didIteratorError5","_iteratorError5","_step5","_iterator5","annotations","_iteratorNormalCompletion6","_didIteratorError6","_iteratorError6","_step6","_iterator6","_is_node","pf","toFixed","pm","acos","SVG_DEFAULTS","XLINK_NS","convertImgDataToPng","PNG_HEADER","crcTable","writePngChunk","crc","crc32","deflateSyncUncompressed","literals","maxBlockLength","deflateBlocks","idat","adler","adler32","isMask","bitDepth","colorType","offsetLiterals","offsetBytes","_y","_i3","ihdr","deflateSync","pngLength","CHUNK_WRAPPER_SIZE","SVGExtraState","dependencies","activeClipUrl","clipGroup","maskId","clipCount","maskCount","shadingCount","transformMatrix","transformStack","extraStack","embedFonts","embeddedFonts","cssStyle","_operatorIdMapping","tgrp","executeOpTree","_loop","svgElement","loadDependencies","convertOpList","operatorIdMapping","opList","opTree","opListElement","opListToTree","opTreeElement","lineMatrix","xcoords","tspan","setAttributeNS","txtElement","txtgrp","charWidth","lineWidthScale","_setStrokeAttributes","_ensureTransformGroup","defs","addFontStyle","_makeColorN_Pattern","inverseTransform","_makeShadingPattern","_makeTilingPattern","_args$","tilingId","_Util$applyTransform2","tx0","ty0","_Util$applyTransform4","tx1","ty1","_Util$singularValueDe2","txstep","tystep","tiling","gradient","shadingId","point0","point1","focalPoint","circlePoint","focalRadius","circleRadius","colorStop","getAttributeNS","clipId","clipPath","clipElement","cloneNode","_iteratorNormalCompletion7","_didIteratorError7","_iteratorError7","_step7","_iterator7","_step7$value","setStrokeAlpha","setFillAlpha","imgObj","imgEl","imgSrc","cliprect","definitions","rootGroup","_ensureClipGroup","_network_utils","fs","fileUriRegex","sourceUrl","parsedUrl","parse","isHttp","isFsUrl","_rangeRequestReaders","PDFNodeStreamFsFullReader","PDFNodeStreamFullReader","PDFNodeStreamFsRangeReader","PDFNodeStreamRangeReader","BaseFullReader","_url","_disableRange","_rangeChunkSize","_readableStream","_readCapability","_headersCapability","_error","BaseRangeReader","createRequestOptions","headers","auth","_BaseFullReader","handleResponse","statusCode","_setReadableStream","getResponseHeader","_validateRangeRequest","validateRangeRequestCapabilities","allowRangeRequests","suggestedLength","extractFilenameFromHeader","_request","_BaseRangeReader","_httpHeaders","_BaseFullReader2","lstat","createReadStream","_BaseRangeReader2","createResponseStatusError","contentDisposition","_content_disposition","getFilenameFromContentDispositionHeader","returnValues","validateResponseStatus","needsEncodingFixup","toParamRegExp","rfc2616unquote","fixupEncoding","rfc2047decode","rfc5987decode","_match2","quot","_matches$n","rfc2231getparam","_filename2","attributePattern","flags","textdecode","encoding","decoder","TextDecoder","fatal","decode","quotindex","extvalue","encodingend","_","charset","hex","NetworkManager","getXhr","currXhrId","pendingRequests","listeners","xhr","xhrId","pendingRequest","setRequestHeader","expectedStatus","onStateChange","onprogress","onHeadersReceived","onDone","xhrStatus","getArrayBuffer","rangeHeader","_source","_manager","PDFNetworkStreamFullRequestReader","PDFNetworkStreamRangeRequestReader","onClosed","_onRangeRequestReaderClosed","manager","_onHeadersReceived","_onDone","_onError","_fullRequestId","requestFull","_headersReceivedCapability","_cachedChunks","fullRequestXhrId","fullRequestXhr","getRequestXhr","lengthComputable","isPendingRequest","_requestId","requestRange","_close","createFetchOptions","abortController","credentials","redirect","PDFFetchStreamReader","PDFFetchStreamRangeReader","_withCredentials","AbortController","_abortController","_headers","Headers","punycode","util","Url","slashes","urlParse","relative","resolveObject","format","protocolPattern","portPattern","simplePathPattern","unwise","autoEscape","nonHostChars","hostEndingChars","hostnamePartPattern","hostnamePartStart","unsafeProtocol","hostlessProtocol","slashedProtocol","querystring","parseQueryString","slashesDenoteHost","u","queryIndex","splitter","uSplit","rest","simplePath","substr","lowerProto","atSign","hostEnd","hec","ipv6Hostname","hostparts","newpart","validParts","notHost","bit","ae","esc","qm","tkeys","tk","tkey","rkeys","rk","rkey","relPath","isSourceAbs","isRelAbs","mustEndAbs","removeAllDots","srcPath","psychotic","isNullOrUndefined","authInHost","isNull","hasTrailingSlash","up","isAbsolute","root","nodeType","freeGlobal","regexPunycode","errors","mapDomain","ucs2encode","flag","basic","oldi","qs","sep","eq","maxKeys","kstr","vstr","idx","xs","stringifyPrimitive","ks","Point","distanceTo","equals","velocityFrom","Bezier","startPoint","control2","control1","endPoint","startWidth","endWidth","widths","calculateControlPoints","s1","s2","s3","dx1","dy1","dx2","dy2","l1","l2","cm","ty","px","py","cx","cy","xdiff","ydiff","SignaturePad","_handleMouseDown","which","_mouseButtonDown","_strokeBegin","_handleMouseMove","_strokeMoveUpdate","_handleMouseUp","_strokeEnd","_handleTouchStart","preventDefault","targetTouches","touch","changedTouches","_handleTouchMove","_handleTouchEnd","velocityFilterWeight","minWidth","maxWidth","throttle","minDistance","wait","storedContext","storedArgs","previous","later","_strokeUpdate","dotSize","penColor","onBegin","onEnd","_ctx","_reset","_isEmpty","fromDataURL","dataUrl","ratio","devicePixelRatio","toDataURL","encoderOptions","_toSVG","touchAction","msTouchAction","PointerEvent","_handlePointerEvents","_handleMouseEvents","_handleTouchEvents","off","fromData","pointGroups","_fromData","curve","_drawCurve","_drawDot","toData","newPointGroup","clientX","clientY","_createPoint","lastPointGroup","lastPoints","lastPoint","isLastPointTooClose","_addPoint","_lastPoints","_lastVelocity","_lastWidth","getBoundingClientRect","getTime","_calculateCurveWidths","fromPoints","velocity","_strokeWidth","_drawCurveSegment","arc","widthDelta","drawSteps","tt","ttt","uu","uuu","drawCurve","drawDot","basicPoint","maxX","attr","header","innerHTML","nodes"],"mappings":"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","file":"vendors~signature.bundle.js?95807feb536b5f2007cb","sourcesContent":["/**\n * @licstart The following is the entire license notice for the\n * Javascript code in this page\n *\n * Copyright 2019 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * @licend The above is the entire license notice for the\n * Javascript code in this page\n */\n\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(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.3.200';\nvar pdfjsBuild = '4ae3f9fc';\n\nvar pdfjsSharedUtil = __w_pdfjs_require__(1);\n\nvar pdfjsDisplayAPI = __w_pdfjs_require__(179);\n\nvar pdfjsDisplayTextLayer = __w_pdfjs_require__(194);\n\nvar pdfjsDisplayAnnotationLayer = __w_pdfjs_require__(195);\n\nvar pdfjsDisplayDisplayUtils = __w_pdfjs_require__(183);\n\nvar pdfjsDisplaySVG = __w_pdfjs_require__(196);\n\nvar pdfjsDisplayWorkerOptions = __w_pdfjs_require__(188);\n\nvar pdfjsDisplayAPICompatibility = __w_pdfjs_require__(185);\n\n{\n var isNodeJS = __w_pdfjs_require__(4);\n\n if (isNodeJS()) {\n var PDFNodeStream = __w_pdfjs_require__(197).PDFNodeStream;\n\n pdfjsDisplayAPI.setPDFNetworkStreamFactory(function (params) {\n return new PDFNodeStream(params);\n });\n } else {\n var PDFNetworkStream = __w_pdfjs_require__(200).PDFNetworkStream;\n\n var PDFFetchStream;\n\n if (pdfjsDisplayDisplayUtils.isFetchSupported()) {\n PDFFetchStream = __w_pdfjs_require__(201).PDFFetchStream;\n }\n\n pdfjsDisplayAPI.setPDFNetworkStreamFactory(function (params) {\n if (PDFFetchStream && pdfjsDisplayDisplayUtils.isValidFetchUrl(params.url)) {\n return new PDFFetchStream(params);\n }\n\n return new PDFNetworkStream(params);\n });\n }\n}\nexports.build = pdfjsDisplayAPI.build;\nexports.version = pdfjsDisplayAPI.version;\nexports.getDocument = pdfjsDisplayAPI.getDocument;\nexports.LoopbackPort = pdfjsDisplayAPI.LoopbackPort;\nexports.PDFDataRangeTransport = pdfjsDisplayAPI.PDFDataRangeTransport;\nexports.PDFWorker = pdfjsDisplayAPI.PDFWorker;\nexports.renderTextLayer = pdfjsDisplayTextLayer.renderTextLayer;\nexports.AnnotationLayer = pdfjsDisplayAnnotationLayer.AnnotationLayer;\nexports.createPromiseCapability = pdfjsSharedUtil.createPromiseCapability;\nexports.PasswordResponses = pdfjsSharedUtil.PasswordResponses;\nexports.InvalidPDFException = pdfjsSharedUtil.InvalidPDFException;\nexports.MissingPDFException = pdfjsSharedUtil.MissingPDFException;\nexports.SVGGraphics = pdfjsDisplaySVG.SVGGraphics;\nexports.NativeImageDecoding = pdfjsSharedUtil.NativeImageDecoding;\nexports.CMapCompressionType = pdfjsSharedUtil.CMapCompressionType;\nexports.PermissionFlag = pdfjsSharedUtil.PermissionFlag;\nexports.UnexpectedResponseException = pdfjsSharedUtil.UnexpectedResponseException;\nexports.OPS = pdfjsSharedUtil.OPS;\nexports.VerbosityLevel = pdfjsSharedUtil.VerbosityLevel;\nexports.UNSUPPORTED_FEATURES = pdfjsSharedUtil.UNSUPPORTED_FEATURES;\nexports.createValidAbsoluteUrl = pdfjsSharedUtil.createValidAbsoluteUrl;\nexports.createObjectURL = pdfjsSharedUtil.createObjectURL;\nexports.removeNullCharacters = pdfjsSharedUtil.removeNullCharacters;\nexports.shadow = pdfjsSharedUtil.shadow;\nexports.Util = pdfjsSharedUtil.Util;\nexports.ReadableStream = pdfjsSharedUtil.ReadableStream;\nexports.RenderingCancelledException = pdfjsDisplayDisplayUtils.RenderingCancelledException;\nexports.getFilenameFromUrl = pdfjsDisplayDisplayUtils.getFilenameFromUrl;\nexports.LinkTarget = pdfjsDisplayDisplayUtils.LinkTarget;\nexports.addLinkAttributes = pdfjsDisplayDisplayUtils.addLinkAttributes;\nexports.loadScript = pdfjsDisplayDisplayUtils.loadScript;\nexports.PDFDateString = pdfjsDisplayDisplayUtils.PDFDateString;\nexports.GlobalWorkerOptions = pdfjsDisplayWorkerOptions.GlobalWorkerOptions;\nexports.apiCompatibilityParams = pdfjsDisplayAPICompatibility.apiCompatibilityParams;\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.arrayByteLength = arrayByteLength;\nexports.arraysToBytes = arraysToBytes;\nexports.assert = assert;\nexports.bytesToString = bytesToString;\nexports.createPromiseCapability = createPromiseCapability;\nexports.getVerbosityLevel = getVerbosityLevel;\nexports.info = info;\nexports.isArrayBuffer = isArrayBuffer;\nexports.isArrayEqual = isArrayEqual;\nexports.isBool = isBool;\nexports.isEmptyObj = isEmptyObj;\nexports.isNum = isNum;\nexports.isString = isString;\nexports.isSpace = isSpace;\nexports.isSameOrigin = isSameOrigin;\nexports.createValidAbsoluteUrl = createValidAbsoluteUrl;\nexports.isLittleEndian = isLittleEndian;\nexports.isEvalSupported = isEvalSupported;\nexports.log2 = log2;\nexports.readInt8 = readInt8;\nexports.readUint16 = readUint16;\nexports.readUint32 = readUint32;\nexports.removeNullCharacters = removeNullCharacters;\nexports.setVerbosityLevel = setVerbosityLevel;\nexports.shadow = shadow;\nexports.string32 = string32;\nexports.stringToBytes = stringToBytes;\nexports.stringToPDFString = stringToPDFString;\nexports.stringToUTF8String = stringToUTF8String;\nexports.utf8StringToString = utf8StringToString;\nexports.warn = warn;\nexports.unreachable = unreachable;\nObject.defineProperty(exports, \"ReadableStream\", {\n enumerable: true,\n get: function () {\n return _streams_polyfill.ReadableStream;\n }\n});\nexports.createObjectURL = exports.FormatError = exports.Util = exports.UnknownErrorException = exports.UnexpectedResponseException = exports.TextRenderingMode = exports.StreamType = exports.PermissionFlag = exports.PasswordResponses = exports.PasswordException = exports.NativeImageDecoding = exports.MissingPDFException = exports.InvalidPDFException = exports.AbortException = exports.CMapCompressionType = exports.ImageKind = exports.FontType = exports.AnnotationType = exports.AnnotationStateModelType = exports.AnnotationReviewState = exports.AnnotationReplyType = exports.AnnotationMarkedState = exports.AnnotationFlag = exports.AnnotationFieldFlag = exports.AnnotationBorderStyleType = exports.UNSUPPORTED_FEATURES = exports.VerbosityLevel = exports.OPS = exports.IDENTITY_MATRIX = exports.FONT_IDENTITY_MATRIX = exports.BaseException = void 0;\n\n__w_pdfjs_require__(2);\n\nvar _streams_polyfill = __w_pdfjs_require__(177);\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\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\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\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 AnnotationStateModelType = {\n MARKED: 'Marked',\n REVIEW: 'Review'\n};\nexports.AnnotationStateModelType = AnnotationStateModelType;\nvar AnnotationMarkedState = {\n MARKED: 'Marked',\n UNMARKED: 'Unmarked'\n};\nexports.AnnotationMarkedState = AnnotationMarkedState;\nvar AnnotationReviewState = {\n ACCEPTED: 'Accepted',\n REJECTED: 'Rejected',\n CANCELLED: 'Cancelled',\n COMPLETED: 'Completed',\n NONE: 'None'\n};\nexports.AnnotationReviewState = AnnotationReviewState;\nvar AnnotationReplyType = {\n GROUP: 'Group',\n REPLY: 'R'\n};\nexports.AnnotationReplyType = AnnotationReplyType;\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: 'UNKNOWN',\n FLATE: 'FLATE',\n LZW: 'LZW',\n DCT: 'DCT',\n JPX: 'JPX',\n JBIG: 'JBIG',\n A85: 'A85',\n AHX: 'AHX',\n CCF: 'CCF',\n RLX: 'RLX'\n};\nexports.StreamType = StreamType;\nvar FontType = {\n UNKNOWN: 'UNKNOWN',\n TYPE1: 'TYPE1',\n TYPE1C: 'TYPE1C',\n CIDFONTTYPE0: 'CIDFONTTYPE0',\n CIDFONTTYPE0C: 'CIDFONTTYPE0C',\n TRUETYPE: 'TRUETYPE',\n CIDFONTTYPE2: 'CIDFONTTYPE2',\n TYPE3: 'TYPE3',\n OPENTYPE: 'OPENTYPE',\n TYPE0: 'TYPE0',\n MMTYPE1: 'MMTYPE1'\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: \".concat(msg));\n }\n}\n\nfunction warn(msg) {\n if (verbosity >= VerbosityLevel.WARNINGS) {\n console.log(\"Warning: \".concat(msg));\n }\n}\n\nfunction unreachable(msg) {\n throw new Error(msg);\n}\n\nfunction assert(cond, msg) {\n if (!cond) {\n unreachable(msg);\n }\n}\n\nfunction isSameOrigin(baseUrl, otherUrl) {\n var base;\n\n try {\n base = new 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(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(url, baseUrl) : new URL(url);\n\n if (_isValidProtocol(absoluteUrl)) {\n return absoluteUrl;\n }\n } catch (ex) {}\n\n return null;\n}\n\nfunction shadow(obj, prop, value) {\n Object.defineProperty(obj, prop, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: false\n });\n return value;\n}\n\nvar BaseException = function BaseExceptionClosure() {\n function BaseException(message) {\n if (this.constructor === BaseException) {\n unreachable('Cannot initialize BaseException.');\n }\n\n this.message = message;\n this.name = this.constructor.name;\n }\n\n BaseException.prototype = new Error();\n BaseException.constructor = BaseException;\n return BaseException;\n}();\n\nexports.BaseException = BaseException;\n\nvar PasswordException =\n/*#__PURE__*/\nfunction (_BaseException) {\n _inherits(PasswordException, _BaseException);\n\n function PasswordException(msg, code) {\n var _this;\n\n _classCallCheck(this, PasswordException);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(PasswordException).call(this, msg));\n _this.code = code;\n return _this;\n }\n\n return PasswordException;\n}(BaseException);\n\nexports.PasswordException = PasswordException;\n\nvar UnknownErrorException =\n/*#__PURE__*/\nfunction (_BaseException2) {\n _inherits(UnknownErrorException, _BaseException2);\n\n function UnknownErrorException(msg, details) {\n var _this2;\n\n _classCallCheck(this, UnknownErrorException);\n\n _this2 = _possibleConstructorReturn(this, _getPrototypeOf(UnknownErrorException).call(this, msg));\n _this2.details = details;\n return _this2;\n }\n\n return UnknownErrorException;\n}(BaseException);\n\nexports.UnknownErrorException = UnknownErrorException;\n\nvar InvalidPDFException =\n/*#__PURE__*/\nfunction (_BaseException3) {\n _inherits(InvalidPDFException, _BaseException3);\n\n function InvalidPDFException() {\n _classCallCheck(this, InvalidPDFException);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(InvalidPDFException).apply(this, arguments));\n }\n\n return InvalidPDFException;\n}(BaseException);\n\nexports.InvalidPDFException = InvalidPDFException;\n\nvar MissingPDFException =\n/*#__PURE__*/\nfunction (_BaseException4) {\n _inherits(MissingPDFException, _BaseException4);\n\n function MissingPDFException() {\n _classCallCheck(this, MissingPDFException);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(MissingPDFException).apply(this, arguments));\n }\n\n return MissingPDFException;\n}(BaseException);\n\nexports.MissingPDFException = MissingPDFException;\n\nvar UnexpectedResponseException =\n/*#__PURE__*/\nfunction (_BaseException5) {\n _inherits(UnexpectedResponseException, _BaseException5);\n\n function UnexpectedResponseException(msg, status) {\n var _this3;\n\n _classCallCheck(this, UnexpectedResponseException);\n\n _this3 = _possibleConstructorReturn(this, _getPrototypeOf(UnexpectedResponseException).call(this, msg));\n _this3.status = status;\n return _this3;\n }\n\n return UnexpectedResponseException;\n}(BaseException);\n\nexports.UnexpectedResponseException = UnexpectedResponseException;\n\nvar FormatError =\n/*#__PURE__*/\nfunction (_BaseException6) {\n _inherits(FormatError, _BaseException6);\n\n function FormatError() {\n _classCallCheck(this, FormatError);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(FormatError).apply(this, arguments));\n }\n\n return FormatError;\n}(BaseException);\n\nexports.FormatError = FormatError;\n\nvar AbortException =\n/*#__PURE__*/\nfunction (_BaseException7) {\n _inherits(AbortException, _BaseException7);\n\n function AbortException() {\n _classCallCheck(this, AbortException);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(AbortException).apply(this, arguments));\n }\n\n return AbortException;\n}(BaseException);\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 var length = arr.length;\n\n if (length === 1 && arr[0] instanceof Uint8Array) {\n return arr[0];\n }\n\n var resultLength = 0;\n\n for (var i = 0; i < length; i++) {\n resultLength += arrayByteLength(arr[i]);\n }\n\n var pos = 0;\n var data = new Uint8Array(resultLength);\n\n for (var _i = 0; _i < length; _i++) {\n var 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 var itemLength = item.byteLength;\n data.set(item, pos);\n pos += itemLength;\n }\n\n return data;\n}\n\nfunction string32(value) {\n return String.fromCharCode(value >> 24 & 0xff, value >> 16 & 0xff, value >> 8 & 0xff, value & 0xff);\n}\n\nfunction log2(x) {\n if (x <= 0) {\n return 0;\n }\n\n return Math.ceil(Math.log2(x));\n}\n\nfunction readInt8(data, start) {\n return data[start] << 24 >> 24;\n}\n\nfunction readUint16(data, offset) {\n return data[offset] << 8 | data[offset + 1];\n}\n\nfunction readUint32(data, offset) {\n return (data[offset] << 24 | data[offset + 1] << 16 | data[offset + 2] << 8 | data[offset + 3]) >>> 0;\n}\n\nfunction isLittleEndian() {\n var buffer8 = new Uint8Array(4);\n buffer8[0] = 1;\n var view32 = new Uint32Array(buffer8.buffer, 0, 1);\n return view32[0] === 1;\n}\n\nfunction isEvalSupported() {\n try {\n new Function('');\n return true;\n } catch (e) {\n return false;\n }\n}\n\nvar rgbBuf = ['rgb(', 0, ',', 0, ',', 0, ')'];\n\nvar Util =\n/*#__PURE__*/\nfunction () {\n function Util() {\n _classCallCheck(this, Util);\n }\n\n _createClass(Util, null, [{\n key: \"makeCssRgb\",\n value: function makeCssRgb(r, g, b) {\n rgbBuf[1] = r;\n rgbBuf[3] = g;\n rgbBuf[5] = b;\n return rgbBuf.join('');\n }\n }, {\n key: \"transform\",\n value: function 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 key: \"applyTransform\",\n value: function 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 key: \"applyInverseTransform\",\n value: function 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 key: \"getAxialAlignedBoundingBox\",\n value: function 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 key: \"inverseTransform\",\n value: function 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 key: \"apply3dTransform\",\n value: function 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 key: \"singularValueDecompose2dScale\",\n value: function 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 key: \"normalizeRect\",\n value: function 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 key: \"intersect\",\n value: function 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 var orderedY = [rect1[1], rect1[3], rect2[1], rect2[3]].sort(compare);\n var 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 null;\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 null;\n }\n\n return result;\n }\n }]);\n\n return Util;\n}();\n\nexports.Util = Util;\nvar PDFStringTranslateTable = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2D8, 0x2C7, 0x2C6, 0x2D9, 0x2DD, 0x2DB, 0x2DA, 0x2DC, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2022, 0x2020, 0x2021, 0x2026, 0x2014, 0x2013, 0x192, 0x2044, 0x2039, 0x203A, 0x2212, 0x2030, 0x201E, 0x201C, 0x201D, 0x2018, 0x2019, 0x201A, 0x2122, 0xFB01, 0xFB02, 0x141, 0x152, 0x160, 0x178, 0x17D, 0x131, 0x142, 0x153, 0x161, 0x17E, 0, 0x20AC];\n\nfunction stringToPDFString(str) {\n var length = str.length,\n strBuf = [];\n\n if (str[0] === '\\xFE' && str[1] === '\\xFF') {\n for (var i = 2; i < length; i += 2) {\n strBuf.push(String.fromCharCode(str.charCodeAt(i) << 8 | str.charCodeAt(i + 1)));\n }\n } else {\n for (var _i2 = 0; _i2 < length; ++_i2) {\n var code = PDFStringTranslateTable[str.charCodeAt(_i2)];\n strBuf.push(code ? String.fromCharCode(code) : str.charAt(_i2));\n }\n }\n\n return strBuf.join('');\n}\n\nfunction stringToUTF8String(str) {\n return decodeURIComponent(escape(str));\n}\n\nfunction utf8StringToString(str) {\n return unescape(encodeURIComponent(str));\n}\n\nfunction isEmptyObj(obj) {\n for (var key in obj) {\n return false;\n }\n\n return true;\n}\n\nfunction isBool(v) {\n return typeof v === 'boolean';\n}\n\nfunction isNum(v) {\n return typeof v === 'number';\n}\n\nfunction isString(v) {\n return typeof v === 'string';\n}\n\nfunction isArrayBuffer(v) {\n return _typeof(v) === 'object' && v !== null && v.byteLength !== undefined;\n}\n\nfunction isArrayEqual(arr1, arr2) {\n if (arr1.length !== arr2.length) {\n return false;\n }\n\n return arr1.every(function (element, index) {\n return element === arr2[index];\n });\n}\n\nfunction isSpace(ch) {\n return ch === 0x20 || ch === 0x09 || ch === 0x0D || ch === 0x0A;\n}\n\nfunction createPromiseCapability() {\n var capability = Object.create(null);\n var isSettled = false;\n Object.defineProperty(capability, 'settled', {\n get: function get() {\n return isSettled;\n }\n });\n capability.promise = new Promise(function (resolve, reject) {\n capability.resolve = function (data) {\n isSettled = true;\n resolve(data);\n };\n\n capability.reject = function (reason) {\n isSettled = true;\n reject(reason);\n };\n });\n return capability;\n}\n\nvar createObjectURL = function createObjectURLClosure() {\n var digits = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n return function createObjectURL(data, contentType) {\n var forceDataSchema = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n if (!forceDataSchema && URL.createObjectURL) {\n var blob = new Blob([data], {\n type: contentType\n });\n return URL.createObjectURL(blob);\n }\n\n var buffer = \"data:\".concat(contentType, \";base64,\");\n\n for (var i = 0, ii = data.length; i < ii; i += 3) {\n var b1 = data[i] & 0xFF;\n var b2 = data[i + 1] & 0xFF;\n var b3 = data[i + 2] & 0xFF;\n var d1 = b1 >> 2,\n d2 = (b1 & 3) << 4 | b2 >> 4;\n var d3 = i + 1 < ii ? (b2 & 0xF) << 2 | b3 >> 6 : 64;\n var d4 = i + 2 < ii ? b3 & 0x3F : 64;\n buffer += digits[d1] + digits[d2] + digits[d3] + digits[d4];\n }\n\n return buffer;\n };\n}();\n\nexports.createObjectURL = createObjectURL;\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar globalScope = __w_pdfjs_require__(3);\n\nif (!globalScope._pdfjsCompatibilityChecked) {\n globalScope._pdfjsCompatibilityChecked = true;\n\n var isNodeJS = __w_pdfjs_require__(4);\n\n var hasDOM = (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) === 'object' && (typeof document === \"undefined\" ? \"undefined\" : _typeof(document)) === 'object';\n\n (function checkNodeBtoa() {\n if (globalScope.btoa || !isNodeJS()) {\n return;\n }\n\n globalScope.btoa = function (chars) {\n return Buffer.from(chars, 'binary').toString('base64');\n };\n })();\n\n (function checkNodeAtob() {\n if (globalScope.atob || !isNodeJS()) {\n return;\n }\n\n globalScope.atob = function (input) {\n return Buffer.from(input, 'base64').toString('binary');\n };\n })();\n\n (function checkChildNodeRemove() {\n if (!hasDOM) {\n return;\n }\n\n if (typeof Element.prototype.remove !== 'undefined') {\n return;\n }\n\n Element.prototype.remove = function () {\n if (this.parentNode) {\n this.parentNode.removeChild(this);\n }\n };\n })();\n\n (function checkDOMTokenListAddRemove() {\n if (!hasDOM || isNodeJS()) {\n return;\n }\n\n var div = document.createElement('div');\n div.classList.add('testOne', 'testTwo');\n\n if (div.classList.contains('testOne') === true && div.classList.contains('testTwo') === true) {\n return;\n }\n\n var OriginalDOMTokenListAdd = DOMTokenList.prototype.add;\n var OriginalDOMTokenListRemove = DOMTokenList.prototype.remove;\n\n DOMTokenList.prototype.add = function () {\n for (var _len = arguments.length, tokens = new Array(_len), _key = 0; _key < _len; _key++) {\n tokens[_key] = arguments[_key];\n }\n\n for (var _i = 0, _tokens = tokens; _i < _tokens.length; _i++) {\n var token = _tokens[_i];\n OriginalDOMTokenListAdd.call(this, token);\n }\n };\n\n DOMTokenList.prototype.remove = function () {\n for (var _len2 = arguments.length, tokens = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n tokens[_key2] = arguments[_key2];\n }\n\n for (var _i2 = 0, _tokens2 = tokens; _i2 < _tokens2.length; _i2++) {\n var token = _tokens2[_i2];\n OriginalDOMTokenListRemove.call(this, token);\n }\n };\n })();\n\n (function checkDOMTokenListToggle() {\n if (!hasDOM || isNodeJS()) {\n return;\n }\n\n var div = document.createElement('div');\n\n if (div.classList.toggle('test', 0) === false) {\n return;\n }\n\n DOMTokenList.prototype.toggle = function (token) {\n var force = arguments.length > 1 ? !!arguments[1] : !this.contains(token);\n return this[force ? 'add' : 'remove'](token), force;\n };\n })();\n\n (function checkStringStartsWith() {\n if (String.prototype.startsWith) {\n return;\n }\n\n __w_pdfjs_require__(5);\n })();\n\n (function checkStringEndsWith() {\n if (String.prototype.endsWith) {\n return;\n }\n\n __w_pdfjs_require__(57);\n })();\n\n (function checkStringIncludes() {\n if (String.prototype.includes) {\n return;\n }\n\n __w_pdfjs_require__(59);\n })();\n\n (function checkArrayIncludes() {\n if (Array.prototype.includes) {\n return;\n }\n\n __w_pdfjs_require__(61);\n })();\n\n (function checkArrayFrom() {\n if (Array.from) {\n return;\n }\n\n __w_pdfjs_require__(68);\n })();\n\n (function checkObjectAssign() {\n if (Object.assign) {\n return;\n }\n\n __w_pdfjs_require__(89);\n })();\n\n (function checkMathLog2() {\n if (Math.log2) {\n return;\n }\n\n Math.log2 = __w_pdfjs_require__(92);\n })();\n\n (function checkNumberIsNaN() {\n if (Number.isNaN) {\n return;\n }\n\n Number.isNaN = __w_pdfjs_require__(94);\n })();\n\n (function checkNumberIsInteger() {\n if (Number.isInteger) {\n return;\n }\n\n Number.isInteger = __w_pdfjs_require__(96);\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__(99);\n })();\n\n (function checkURL() {\n globalScope.URL = __w_pdfjs_require__(121);\n })();\n\n (function checkWeakMap() {\n if (globalScope.WeakMap) {\n return;\n }\n\n globalScope.WeakMap = __w_pdfjs_require__(128);\n })();\n\n (function checkWeakSet() {\n if (globalScope.WeakSet) {\n return;\n }\n\n globalScope.WeakSet = __w_pdfjs_require__(138);\n })();\n\n (function checkStringCodePointAt() {\n if (String.prototype.codePointAt) {\n return;\n }\n\n __w_pdfjs_require__(140);\n })();\n\n (function checkStringFromCodePoint() {\n if (String.fromCodePoint) {\n return;\n }\n\n String.fromCodePoint = __w_pdfjs_require__(142);\n })();\n\n (function checkSymbol() {\n if (globalScope.Symbol) {\n return;\n }\n\n __w_pdfjs_require__(144);\n })();\n\n (function checkStringPadStart() {\n if (String.prototype.padStart) {\n return;\n }\n\n __w_pdfjs_require__(167);\n })();\n\n (function checkStringPadEnd() {\n if (String.prototype.padEnd) {\n return;\n }\n\n __w_pdfjs_require__(172);\n })();\n\n (function checkObjectValues() {\n if (Object.values) {\n return;\n }\n\n Object.values = __w_pdfjs_require__(174);\n })();\n}\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = typeof window !== 'undefined' && window.Math === Math ? window : typeof global !== 'undefined' && global.Math === Math ? global : typeof self !== 'undefined' && self.Math === Math ? self : {};\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nmodule.exports = function isNodeJS() {\n return (typeof process === \"undefined\" ? \"undefined\" : _typeof(process)) === 'object' && process + '' === '[object process]' && !process.versions['nw'] && !process.versions['electron'];\n};\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(6);\nvar entryUnbind = __w_pdfjs_require__(54);\nmodule.exports = entryUnbind('String', 'startsWith');\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(7);\nvar toLength = __w_pdfjs_require__(43);\nvar notARegExp = __w_pdfjs_require__(49);\nvar requireObjectCoercible = __w_pdfjs_require__(17);\nvar correctIsRegExpLogic = __w_pdfjs_require__(53);\nvar nativeStartsWith = ''.startsWith;\nvar min = Math.min;\n$({\n target: 'String',\n proto: true,\n forced: !correctIsRegExpLogic('startsWith')\n}, {\n startsWith: function startsWith(searchString) {\n var that = String(requireObjectCoercible(this));\n notARegExp(searchString);\n var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n var search = String(searchString);\n return nativeStartsWith ? nativeStartsWith.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\nvar global = __w_pdfjs_require__(8);\nvar getOwnPropertyDescriptor = __w_pdfjs_require__(9).f;\nvar hide = __w_pdfjs_require__(23);\nvar redefine = __w_pdfjs_require__(26);\nvar setGlobal = __w_pdfjs_require__(28);\nvar copyConstructorProperties = __w_pdfjs_require__(36);\nvar isForced = __w_pdfjs_require__(48);\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target)\n for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else\n targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty)\n continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n if (options.sham || targetProperty && targetProperty.sham) {\n hide(sourceProperty, 'sham', true);\n }\n redefine(target, key, sourceProperty, options);\n }\n};\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports) {\n\nvar O = 'object';\nvar check = function (it) {\n return it && it.Math == Math && it;\n};\nmodule.exports = check(typeof globalThis == O && globalThis) || check(typeof window == O && window) || check(typeof self == O && self) || check(typeof global == O && global) || Function('return this')();\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(10);\nvar propertyIsEnumerableModule = __w_pdfjs_require__(12);\nvar createPropertyDescriptor = __w_pdfjs_require__(13);\nvar toIndexedObject = __w_pdfjs_require__(14);\nvar toPrimitive = __w_pdfjs_require__(18);\nvar has = __w_pdfjs_require__(20);\nvar IE8_DOM_DEFINE = __w_pdfjs_require__(21);\nvar nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nexports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE)\n try {\n return nativeGetOwnPropertyDescriptor(O, P);\n } catch (error) {\n }\n if (has(O, P))\n return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(11);\nmodule.exports = !fails(function () {\n return Object.defineProperty({}, 'a', {\n get: function () {\n return 7;\n }\n }).a != 7;\n});\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar nativePropertyIsEnumerable = {}.propertyIsEnumerable;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : nativePropertyIsEnumerable;\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports) {\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/* 14 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar IndexedObject = __w_pdfjs_require__(15);\nvar requireObjectCoercible = __w_pdfjs_require__(17);\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(11);\nvar classof = __w_pdfjs_require__(16);\nvar split = ''.split;\nmodule.exports = fails(function () {\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports) {\n\nvar toString = {}.toString;\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n if (it == undefined)\n throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(19);\nmodule.exports = function (input, PREFERRED_STRING) {\n if (!isObject(input))\n return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input)))\n return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input)))\n return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input)))\n return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports) {\n\nvar hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(10);\nvar fails = __w_pdfjs_require__(11);\nvar createElement = __w_pdfjs_require__(22);\nmodule.exports = !DESCRIPTORS && !fails(function () {\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () {\n return 7;\n }\n }).a != 7;\n});\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(8);\nvar isObject = __w_pdfjs_require__(19);\nvar document = global.document;\nvar EXISTS = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(10);\nvar definePropertyModule = __w_pdfjs_require__(24);\nvar createPropertyDescriptor = __w_pdfjs_require__(13);\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(10);\nvar IE8_DOM_DEFINE = __w_pdfjs_require__(21);\nvar anObject = __w_pdfjs_require__(25);\nvar toPrimitive = __w_pdfjs_require__(18);\nvar nativeDefineProperty = Object.defineProperty;\nexports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE)\n try {\n return nativeDefineProperty(O, P, Attributes);\n } catch (error) {\n }\n if ('get' in Attributes || 'set' in Attributes)\n throw TypeError('Accessors not supported');\n if ('value' in Attributes)\n O[P] = Attributes.value;\n return O;\n};\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(19);\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n }\n return it;\n};\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(8);\nvar shared = __w_pdfjs_require__(27);\nvar hide = __w_pdfjs_require__(23);\nvar has = __w_pdfjs_require__(20);\nvar setGlobal = __w_pdfjs_require__(28);\nvar nativeFunctionToString = __w_pdfjs_require__(30);\nvar InternalStateModule = __w_pdfjs_require__(31);\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(nativeFunctionToString).split('toString');\nshared('inspectSource', function (it) {\n return nativeFunctionToString.call(it);\n});\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name'))\n hide(value, 'name', key);\n enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n if (O === global) {\n if (simple)\n O[key] = value;\n else\n setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple)\n O[key] = value;\n else\n hide(O, key, value);\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || nativeFunctionToString.call(this);\n});\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(8);\nvar setGlobal = __w_pdfjs_require__(28);\nvar IS_PURE = __w_pdfjs_require__(29);\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.2.1',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(8);\nvar hide = __w_pdfjs_require__(23);\nmodule.exports = function (key, value) {\n try {\n hide(global, key, value);\n } catch (error) {\n global[key] = value;\n }\n return value;\n};\n\n/***/ }),\n/* 29 */\n/***/ (function(module, exports) {\n\nmodule.exports = false;\n\n/***/ }),\n/* 30 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar shared = __w_pdfjs_require__(27);\nmodule.exports = shared('native-function-to-string', Function.toString);\n\n/***/ }),\n/* 31 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar NATIVE_WEAK_MAP = __w_pdfjs_require__(32);\nvar global = __w_pdfjs_require__(8);\nvar isObject = __w_pdfjs_require__(19);\nvar hide = __w_pdfjs_require__(23);\nvar objectHas = __w_pdfjs_require__(20);\nvar sharedKey = __w_pdfjs_require__(33);\nvar hiddenKeys = __w_pdfjs_require__(35);\nvar WeakMap = global.WeakMap;\nvar set, get, has;\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n }\n return state;\n };\n};\nif (NATIVE_WEAK_MAP) {\n var store = new WeakMap();\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n hide(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(8);\nvar nativeFunctionToString = __w_pdfjs_require__(30);\nvar WeakMap = global.WeakMap;\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(nativeFunctionToString.call(WeakMap));\n\n/***/ }),\n/* 33 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar shared = __w_pdfjs_require__(27);\nvar uid = __w_pdfjs_require__(34);\nvar keys = shared('keys');\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n\n/***/ }),\n/* 34 */\n/***/ (function(module, exports) {\n\nvar id = 0;\nvar postfix = Math.random();\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n\n/***/ }),\n/* 35 */\n/***/ (function(module, exports) {\n\nmodule.exports = {};\n\n/***/ }),\n/* 36 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar has = __w_pdfjs_require__(20);\nvar ownKeys = __w_pdfjs_require__(37);\nvar getOwnPropertyDescriptorModule = __w_pdfjs_require__(9);\nvar definePropertyModule = __w_pdfjs_require__(24);\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key))\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n\n/***/ }),\n/* 37 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar getBuiltIn = __w_pdfjs_require__(38);\nvar getOwnPropertyNamesModule = __w_pdfjs_require__(40);\nvar getOwnPropertySymbolsModule = __w_pdfjs_require__(47);\nvar anObject = __w_pdfjs_require__(25);\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n\n/***/ }),\n/* 38 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar path = __w_pdfjs_require__(39);\nvar global = __w_pdfjs_require__(8);\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace]) : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n\n/***/ }),\n/* 39 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nmodule.exports = __w_pdfjs_require__(8);\n\n/***/ }),\n/* 40 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar internalObjectKeys = __w_pdfjs_require__(41);\nvar enumBugKeys = __w_pdfjs_require__(46);\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n\n/***/ }),\n/* 41 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar has = __w_pdfjs_require__(20);\nvar toIndexedObject = __w_pdfjs_require__(14);\nvar indexOf = __w_pdfjs_require__(42).indexOf;\nvar hiddenKeys = __w_pdfjs_require__(35);\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O)\n !has(hiddenKeys, key) && has(O, key) && result.push(key);\n while (names.length > i)\n if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n\n/***/ }),\n/* 42 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar toIndexedObject = __w_pdfjs_require__(14);\nvar toLength = __w_pdfjs_require__(43);\nvar toAbsoluteIndex = __w_pdfjs_require__(45);\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n if (IS_INCLUDES && el != el)\n while (length > index) {\n value = O[index++];\n if (value != value)\n return true;\n }\n else\n for (; length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el)\n return IS_INCLUDES || index || 0;\n }\n return !IS_INCLUDES && -1;\n };\n};\nmodule.exports = {\n includes: createMethod(true),\n indexOf: createMethod(false)\n};\n\n/***/ }),\n/* 43 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar toInteger = __w_pdfjs_require__(44);\nvar min = Math.min;\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0;\n};\n\n/***/ }),\n/* 44 */\n/***/ (function(module, exports) {\n\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n\n/***/ }),\n/* 45 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar toInteger = __w_pdfjs_require__(44);\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n\n/***/ }),\n/* 46 */\n/***/ (function(module, exports) {\n\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n\n/***/ }),\n/* 47 */\n/***/ (function(module, exports) {\n\nexports.f = Object.getOwnPropertySymbols;\n\n/***/ }),\n/* 48 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(11);\nvar replacement = /#|\\.prototype\\./;\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true : value == NATIVE ? false : typeof detection == 'function' ? fails(detection) : !!detection;\n};\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\nmodule.exports = isForced;\n\n/***/ }),\n/* 49 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isRegExp = __w_pdfjs_require__(50);\nmodule.exports = function (it) {\n if (isRegExp(it)) {\n throw TypeError(\"The method doesn't accept regular expressions\");\n }\n return it;\n};\n\n/***/ }),\n/* 50 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(19);\nvar classof = __w_pdfjs_require__(16);\nvar wellKnownSymbol = __w_pdfjs_require__(51);\nvar MATCH = wellKnownSymbol('match');\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');\n};\n\n/***/ }),\n/* 51 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(8);\nvar shared = __w_pdfjs_require__(27);\nvar uid = __w_pdfjs_require__(34);\nvar NATIVE_SYMBOL = __w_pdfjs_require__(52);\nvar Symbol = global.Symbol;\nvar store = shared('wks');\nmodule.exports = function (name) {\n return store[name] || (store[name] = NATIVE_SYMBOL && Symbol[name] || (NATIVE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n/***/ }),\n/* 52 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(11);\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n return !String(Symbol());\n});\n\n/***/ }),\n/* 53 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar wellKnownSymbol = __w_pdfjs_require__(51);\nvar MATCH = wellKnownSymbol('match');\nmodule.exports = function (METHOD_NAME) {\n var regexp = /./;\n try {\n '/./'[METHOD_NAME](regexp);\n } catch (e) {\n try {\n regexp[MATCH] = false;\n return '/./'[METHOD_NAME](regexp);\n } catch (f) {\n }\n }\n return false;\n};\n\n/***/ }),\n/* 54 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(8);\nvar bind = __w_pdfjs_require__(55);\nvar call = Function.call;\nmodule.exports = function (CONSTRUCTOR, METHOD, length) {\n return bind(call, global[CONSTRUCTOR].prototype[METHOD], length);\n};\n\n/***/ }),\n/* 55 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar aFunction = __w_pdfjs_require__(56);\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined)\n return fn;\n switch (length) {\n case 0:\n return function () {\n return fn.call(that);\n };\n case 1:\n return function (a) {\n return fn.call(that, a);\n };\n case 2:\n return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3:\n return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function () {\n return fn.apply(that, arguments);\n };\n};\n\n/***/ }),\n/* 56 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n }\n return it;\n};\n\n/***/ }),\n/* 57 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(58);\nvar entryUnbind = __w_pdfjs_require__(54);\nmodule.exports = entryUnbind('String', 'endsWith');\n\n/***/ }),\n/* 58 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(7);\nvar toLength = __w_pdfjs_require__(43);\nvar notARegExp = __w_pdfjs_require__(49);\nvar requireObjectCoercible = __w_pdfjs_require__(17);\nvar correctIsRegExpLogic = __w_pdfjs_require__(53);\nvar nativeEndsWith = ''.endsWith;\nvar min = Math.min;\n$({\n target: 'String',\n proto: true,\n forced: !correctIsRegExpLogic('endsWith')\n}, {\n endsWith: function endsWith(searchString) {\n var that = String(requireObjectCoercible(this));\n notARegExp(searchString);\n var endPosition = arguments.length > 1 ? arguments[1] : undefined;\n var len = toLength(that.length);\n var end = endPosition === undefined ? len : min(toLength(endPosition), len);\n var search = String(searchString);\n return nativeEndsWith ? nativeEndsWith.call(that, search, end) : that.slice(end - search.length, end) === search;\n }\n});\n\n/***/ }),\n/* 59 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(60);\nvar entryUnbind = __w_pdfjs_require__(54);\nmodule.exports = entryUnbind('String', 'includes');\n\n/***/ }),\n/* 60 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(7);\nvar notARegExp = __w_pdfjs_require__(49);\nvar requireObjectCoercible = __w_pdfjs_require__(17);\nvar correctIsRegExpLogic = __w_pdfjs_require__(53);\n$({\n target: 'String',\n proto: true,\n forced: !correctIsRegExpLogic('includes')\n}, {\n includes: function includes(searchString) {\n return !!~String(requireObjectCoercible(this)).indexOf(notARegExp(searchString), arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n/***/ }),\n/* 61 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(62);\nvar entryUnbind = __w_pdfjs_require__(54);\nmodule.exports = entryUnbind('Array', 'includes');\n\n/***/ }),\n/* 62 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(7);\nvar $includes = __w_pdfjs_require__(42).includes;\nvar addToUnscopables = __w_pdfjs_require__(63);\n$({\n target: 'Array',\n proto: true\n}, {\n includes: function includes(el) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\naddToUnscopables('includes');\n\n/***/ }),\n/* 63 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar wellKnownSymbol = __w_pdfjs_require__(51);\nvar create = __w_pdfjs_require__(64);\nvar hide = __w_pdfjs_require__(23);\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n hide(ArrayPrototype, UNSCOPABLES, create(null));\n}\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n\n/***/ }),\n/* 64 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(25);\nvar defineProperties = __w_pdfjs_require__(65);\nvar enumBugKeys = __w_pdfjs_require__(46);\nvar hiddenKeys = __w_pdfjs_require__(35);\nvar html = __w_pdfjs_require__(67);\nvar documentCreateElement = __w_pdfjs_require__(22);\nvar sharedKey = __w_pdfjs_require__(33);\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar PROTOTYPE = 'prototype';\nvar Empty = function () {\n};\nvar createDict = function () {\n var iframe = documentCreateElement('iframe');\n var length = enumBugKeys.length;\n var lt = '<';\n var script = 'script';\n var gt = '>';\n var js = 'java' + script + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n iframe.src = String(js);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + script + gt + 'document.F=Object' + lt + '/' + script + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (length--)\n delete createDict[PROTOTYPE][enumBugKeys[length]];\n return createDict();\n};\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n result[IE_PROTO] = O;\n } else\n result = createDict();\n return Properties === undefined ? result : defineProperties(result, Properties);\n};\nhiddenKeys[IE_PROTO] = true;\n\n/***/ }),\n/* 65 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(10);\nvar definePropertyModule = __w_pdfjs_require__(24);\nvar anObject = __w_pdfjs_require__(25);\nvar objectKeys = __w_pdfjs_require__(66);\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index)\n definePropertyModule.f(O, key = keys[index++], Properties[key]);\n return O;\n};\n\n/***/ }),\n/* 66 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar internalObjectKeys = __w_pdfjs_require__(41);\nvar enumBugKeys = __w_pdfjs_require__(46);\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n\n/***/ }),\n/* 67 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar getBuiltIn = __w_pdfjs_require__(38);\nmodule.exports = getBuiltIn('document', 'documentElement');\n\n/***/ }),\n/* 68 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(69);\n__w_pdfjs_require__(81);\nvar path = __w_pdfjs_require__(39);\nmodule.exports = path.Array.from;\n\n/***/ }),\n/* 69 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar charAt = __w_pdfjs_require__(70).charAt;\nvar InternalStateModule = __w_pdfjs_require__(31);\nvar defineIterator = __w_pdfjs_require__(71);\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: String(iterated),\n index: 0\n });\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length)\n return {\n value: undefined,\n done: true\n };\n point = charAt(string, index);\n state.index += point.length;\n return {\n value: point,\n done: false\n };\n});\n\n/***/ }),\n/* 70 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar toInteger = __w_pdfjs_require__(44);\nvar requireObjectCoercible = __w_pdfjs_require__(17);\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = String(requireObjectCoercible($this));\n var position = toInteger(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size)\n return CONVERT_TO_STRING ? '' : undefined;\n first = S.charCodeAt(position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF ? CONVERT_TO_STRING ? S.charAt(position) : first : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\nmodule.exports = {\n codeAt: createMethod(false),\n charAt: createMethod(true)\n};\n\n/***/ }),\n/* 71 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(7);\nvar createIteratorConstructor = __w_pdfjs_require__(72);\nvar getPrototypeOf = __w_pdfjs_require__(74);\nvar setPrototypeOf = __w_pdfjs_require__(79);\nvar setToStringTag = __w_pdfjs_require__(77);\nvar hide = __w_pdfjs_require__(23);\nvar redefine = __w_pdfjs_require__(26);\nvar wellKnownSymbol = __w_pdfjs_require__(51);\nvar IS_PURE = __w_pdfjs_require__(29);\nvar Iterators = __w_pdfjs_require__(78);\nvar IteratorsCore = __w_pdfjs_require__(73);\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\nvar returnThis = function () {\n return this;\n};\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator)\n return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype)\n return IterablePrototype[KIND];\n switch (KIND) {\n case KEYS:\n return function keys() {\n return new IteratorConstructor(this, KIND);\n };\n case VALUES:\n return function values() {\n return new IteratorConstructor(this, KIND);\n };\n case ENTRIES:\n return function entries() {\n return new IteratorConstructor(this, KIND);\n };\n }\n return function () {\n return new IteratorConstructor(this);\n };\n };\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR] || IterablePrototype['@@iterator'] || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') {\n hide(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE)\n Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() {\n return nativeIterator.call(this);\n };\n }\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n hide(IterablePrototype, ITERATOR, defaultIterator);\n }\n Iterators[NAME] = defaultIterator;\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED)\n for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n redefine(IterablePrototype, KEY, methods[KEY]);\n }\n }\n else\n $({\n target: NAME,\n proto: true,\n forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME\n }, methods);\n }\n return methods;\n};\n\n/***/ }),\n/* 72 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar IteratorPrototype = __w_pdfjs_require__(73).IteratorPrototype;\nvar create = __w_pdfjs_require__(64);\nvar createPropertyDescriptor = __w_pdfjs_require__(13);\nvar setToStringTag = __w_pdfjs_require__(77);\nvar Iterators = __w_pdfjs_require__(78);\nvar returnThis = function () {\n return this;\n};\nmodule.exports = function (IteratorConstructor, NAME, next) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n\n/***/ }),\n/* 73 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar getPrototypeOf = __w_pdfjs_require__(74);\nvar hide = __w_pdfjs_require__(23);\nvar has = __w_pdfjs_require__(20);\nvar wellKnownSymbol = __w_pdfjs_require__(51);\nvar IS_PURE = __w_pdfjs_require__(29);\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\nvar returnThis = function () {\n return this;\n};\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\nif ([].keys) {\n arrayIterator = [].keys();\n if (!('next' in arrayIterator))\n BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype)\n IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\nif (IteratorPrototype == undefined)\n IteratorPrototype = {};\nif (!IS_PURE && !has(IteratorPrototype, ITERATOR))\n hide(IteratorPrototype, ITERATOR, returnThis);\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n\n/***/ }),\n/* 74 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar has = __w_pdfjs_require__(20);\nvar toObject = __w_pdfjs_require__(75);\nvar sharedKey = __w_pdfjs_require__(33);\nvar CORRECT_PROTOTYPE_GETTER = __w_pdfjs_require__(76);\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar ObjectPrototype = Object.prototype;\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO))\n return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n }\n return O instanceof Object ? ObjectPrototype : null;\n};\n\n/***/ }),\n/* 75 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar requireObjectCoercible = __w_pdfjs_require__(17);\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n\n/***/ }),\n/* 76 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(11);\nmodule.exports = !fails(function () {\n function F() {\n }\n F.prototype.constructor = null;\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n\n/***/ }),\n/* 77 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineProperty = __w_pdfjs_require__(24).f;\nvar has = __w_pdfjs_require__(20);\nvar wellKnownSymbol = __w_pdfjs_require__(51);\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nmodule.exports = function (it, TAG, STATIC) {\n if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {\n defineProperty(it, TO_STRING_TAG, {\n configurable: true,\n value: TAG\n });\n }\n};\n\n/***/ }),\n/* 78 */\n/***/ (function(module, exports) {\n\nmodule.exports = {};\n\n/***/ }),\n/* 79 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(25);\nvar aPossiblePrototype = __w_pdfjs_require__(80);\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;\n setter.call(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) {\n }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER)\n setter.call(O, proto);\n else\n O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n\n/***/ }),\n/* 80 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(19);\nmodule.exports = function (it) {\n if (!isObject(it) && it !== null) {\n throw TypeError(\"Can't set \" + String(it) + ' as a prototype');\n }\n return it;\n};\n\n/***/ }),\n/* 81 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(7);\nvar from = __w_pdfjs_require__(82);\nvar checkCorrectnessOfIteration = __w_pdfjs_require__(88);\nvar INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {\n Array.from(iterable);\n});\n$({\n target: 'Array',\n stat: true,\n forced: INCORRECT_ITERATION\n}, { from: from });\n\n/***/ }),\n/* 82 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar bind = __w_pdfjs_require__(55);\nvar toObject = __w_pdfjs_require__(75);\nvar callWithSafeIterationClosing = __w_pdfjs_require__(83);\nvar isArrayIteratorMethod = __w_pdfjs_require__(84);\nvar toLength = __w_pdfjs_require__(43);\nvar createProperty = __w_pdfjs_require__(85);\nvar getIteratorMethod = __w_pdfjs_require__(86);\nmodule.exports = function from(arrayLike) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var index = 0;\n var iteratorMethod = getIteratorMethod(O);\n var length, result, step, iterator;\n if (mapping)\n mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2);\n if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) {\n iterator = iteratorMethod.call(O);\n result = new C();\n for (; !(step = iterator.next()).done; index++) {\n createProperty(result, index, mapping ? callWithSafeIterationClosing(iterator, mapfn, [\n step.value,\n index\n ], true) : step.value);\n }\n } else {\n length = toLength(O.length);\n result = new C(length);\n for (; length > index; index++) {\n createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n }\n }\n result.length = index;\n return result;\n};\n\n/***/ }),\n/* 83 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(25);\nmodule.exports = function (iterator, fn, value, ENTRIES) {\n try {\n return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n } catch (error) {\n var returnMethod = iterator['return'];\n if (returnMethod !== undefined)\n anObject(returnMethod.call(iterator));\n throw error;\n }\n};\n\n/***/ }),\n/* 84 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar wellKnownSymbol = __w_pdfjs_require__(51);\nvar Iterators = __w_pdfjs_require__(78);\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n\n/***/ }),\n/* 85 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar toPrimitive = __w_pdfjs_require__(18);\nvar definePropertyModule = __w_pdfjs_require__(24);\nvar createPropertyDescriptor = __w_pdfjs_require__(13);\nmodule.exports = function (object, key, value) {\n var propertyKey = toPrimitive(key);\n if (propertyKey in object)\n definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else\n object[propertyKey] = value;\n};\n\n/***/ }),\n/* 86 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar classof = __w_pdfjs_require__(87);\nvar Iterators = __w_pdfjs_require__(78);\nvar wellKnownSymbol = __w_pdfjs_require__(51);\nvar ITERATOR = wellKnownSymbol('iterator');\nmodule.exports = function (it) {\n if (it != undefined)\n return it[ITERATOR] || it['@@iterator'] || Iterators[classof(it)];\n};\n\n/***/ }),\n/* 87 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar classofRaw = __w_pdfjs_require__(16);\nvar wellKnownSymbol = __w_pdfjs_require__(51);\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar CORRECT_ARGUMENTS = classofRaw(function () {\n return arguments;\n}()) == 'Arguments';\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) {\n }\n};\nmodule.exports = function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null' : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag : CORRECT_ARGUMENTS ? classofRaw(O) : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;\n};\n\n/***/ }),\n/* 88 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar wellKnownSymbol = __w_pdfjs_require__(51);\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n Array.from(iteratorWithReturn, function () {\n throw 2;\n });\n} catch (error) {\n}\nmodule.exports = function (exec, SKIP_CLOSING) {\n if (!SKIP_CLOSING && !SAFE_CLOSING)\n return false;\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) {\n }\n return ITERATION_SUPPORT;\n};\n\n/***/ }),\n/* 89 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(90);\nvar path = __w_pdfjs_require__(39);\nmodule.exports = path.Object.assign;\n\n/***/ }),\n/* 90 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(7);\nvar assign = __w_pdfjs_require__(91);\n$({\n target: 'Object',\n stat: true,\n forced: Object.assign !== assign\n}, { assign: assign });\n\n/***/ }),\n/* 91 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar DESCRIPTORS = __w_pdfjs_require__(10);\nvar fails = __w_pdfjs_require__(11);\nvar objectKeys = __w_pdfjs_require__(66);\nvar getOwnPropertySymbolsModule = __w_pdfjs_require__(47);\nvar propertyIsEnumerableModule = __w_pdfjs_require__(12);\nvar toObject = __w_pdfjs_require__(75);\nvar IndexedObject = __w_pdfjs_require__(15);\nvar nativeAssign = Object.assign;\nmodule.exports = !nativeAssign || fails(function () {\n var A = {};\n var B = {};\n var symbol = Symbol();\n var alphabet = 'abcdefghijklmnopqrst';\n A[symbol] = 7;\n alphabet.split('').forEach(function (chr) {\n B[chr] = chr;\n });\n return nativeAssign({}, A)[symbol] != 7 || objectKeys(nativeAssign({}, B)).join('') != alphabet;\n}) ? function assign(target, source) {\n var T = toObject(target);\n var argumentsLength = arguments.length;\n var index = 1;\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n var propertyIsEnumerable = propertyIsEnumerableModule.f;\n while (argumentsLength > index) {\n var S = IndexedObject(arguments[index++]);\n var keys = getOwnPropertySymbols ? objectKeys(S).concat(getOwnPropertySymbols(S)) : objectKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || propertyIsEnumerable.call(S, key))\n T[key] = S[key];\n }\n }\n return T;\n} : nativeAssign;\n\n/***/ }),\n/* 92 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(93);\nvar path = __w_pdfjs_require__(39);\nmodule.exports = path.Math.log2;\n\n/***/ }),\n/* 93 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(7);\nvar log = Math.log;\nvar LN2 = Math.LN2;\n$({\n target: 'Math',\n stat: true\n}, {\n log2: function log2(x) {\n return log(x) / LN2;\n }\n});\n\n/***/ }),\n/* 94 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(95);\nvar path = __w_pdfjs_require__(39);\nmodule.exports = path.Number.isNaN;\n\n/***/ }),\n/* 95 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(7);\n$({\n target: 'Number',\n stat: true\n}, {\n isNaN: function isNaN(number) {\n return number != number;\n }\n});\n\n/***/ }),\n/* 96 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(97);\nvar path = __w_pdfjs_require__(39);\nmodule.exports = path.Number.isInteger;\n\n/***/ }),\n/* 97 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(7);\nvar isInteger = __w_pdfjs_require__(98);\n$({\n target: 'Number',\n stat: true\n}, { isInteger: isInteger });\n\n/***/ }),\n/* 98 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(19);\nvar floor = Math.floor;\nmodule.exports = function isInteger(it) {\n return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n\n/***/ }),\n/* 99 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(100);\n__w_pdfjs_require__(69);\n__w_pdfjs_require__(102);\n__w_pdfjs_require__(105);\n__w_pdfjs_require__(119);\n__w_pdfjs_require__(120);\nvar path = __w_pdfjs_require__(39);\nmodule.exports = path.Promise;\n\n/***/ }),\n/* 100 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar redefine = __w_pdfjs_require__(26);\nvar toString = __w_pdfjs_require__(101);\nvar ObjectPrototype = Object.prototype;\nif (toString !== ObjectPrototype.toString) {\n redefine(ObjectPrototype, 'toString', toString, { unsafe: true });\n}\n\n/***/ }),\n/* 101 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar classof = __w_pdfjs_require__(87);\nvar wellKnownSymbol = __w_pdfjs_require__(51);\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\ntest[TO_STRING_TAG] = 'z';\nmodule.exports = String(test) !== '[object z]' ? function toString() {\n return '[object ' + classof(this) + ']';\n} : test.toString;\n\n/***/ }),\n/* 102 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(8);\nvar DOMIterables = __w_pdfjs_require__(103);\nvar ArrayIteratorMethods = __w_pdfjs_require__(104);\nvar hide = __w_pdfjs_require__(23);\nvar wellKnownSymbol = __w_pdfjs_require__(51);\nvar ITERATOR = wellKnownSymbol('iterator');\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar ArrayValues = ArrayIteratorMethods.values;\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n if (CollectionPrototype) {\n if (CollectionPrototype[ITERATOR] !== ArrayValues)\n try {\n hide(CollectionPrototype, ITERATOR, ArrayValues);\n } catch (error) {\n CollectionPrototype[ITERATOR] = ArrayValues;\n }\n if (!CollectionPrototype[TO_STRING_TAG])\n hide(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);\n if (DOMIterables[COLLECTION_NAME])\n for (var METHOD_NAME in ArrayIteratorMethods) {\n if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME])\n try {\n hide(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\n } catch (error) {\n CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\n }\n }\n }\n}\n\n/***/ }),\n/* 103 */\n/***/ (function(module, exports) {\n\nmodule.exports = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n\n/***/ }),\n/* 104 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar toIndexedObject = __w_pdfjs_require__(14);\nvar addToUnscopables = __w_pdfjs_require__(63);\nvar Iterators = __w_pdfjs_require__(78);\nvar InternalStateModule = __w_pdfjs_require__(31);\nvar defineIterator = __w_pdfjs_require__(71);\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated),\n index: 0,\n kind: kind\n });\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var kind = state.kind;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = undefined;\n return {\n value: undefined,\n done: true\n };\n }\n if (kind == 'keys')\n return {\n value: index,\n done: false\n };\n if (kind == 'values')\n return {\n value: target[index],\n done: false\n };\n return {\n value: [\n index,\n target[index]\n ],\n done: false\n };\n}, 'values');\nIterators.Arguments = Iterators.Array;\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n/***/ }),\n/* 105 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(7);\nvar IS_PURE = __w_pdfjs_require__(29);\nvar global = __w_pdfjs_require__(8);\nvar path = __w_pdfjs_require__(39);\nvar NativePromise = __w_pdfjs_require__(106);\nvar redefine = __w_pdfjs_require__(26);\nvar redefineAll = __w_pdfjs_require__(107);\nvar setToStringTag = __w_pdfjs_require__(77);\nvar setSpecies = __w_pdfjs_require__(108);\nvar isObject = __w_pdfjs_require__(19);\nvar aFunction = __w_pdfjs_require__(56);\nvar anInstance = __w_pdfjs_require__(109);\nvar classof = __w_pdfjs_require__(16);\nvar iterate = __w_pdfjs_require__(110);\nvar checkCorrectnessOfIteration = __w_pdfjs_require__(88);\nvar speciesConstructor = __w_pdfjs_require__(111);\nvar task = __w_pdfjs_require__(112).set;\nvar microtask = __w_pdfjs_require__(113);\nvar promiseResolve = __w_pdfjs_require__(115);\nvar hostReportErrors = __w_pdfjs_require__(117);\nvar newPromiseCapabilityModule = __w_pdfjs_require__(116);\nvar perform = __w_pdfjs_require__(118);\nvar userAgent = __w_pdfjs_require__(114);\nvar InternalStateModule = __w_pdfjs_require__(31);\nvar isForced = __w_pdfjs_require__(48);\nvar wellKnownSymbol = __w_pdfjs_require__(51);\nvar SPECIES = wellKnownSymbol('species');\nvar PROMISE = 'Promise';\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar PromiseConstructor = NativePromise;\nvar TypeError = global.TypeError;\nvar document = global.document;\nvar process = global.process;\nvar $fetch = global.fetch;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8 || '';\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\nvar IS_NODE = classof(process) == 'process';\nvar DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\nvar FORCED = isForced(PROMISE, function () {\n var promise = PromiseConstructor.resolve(1);\n var empty = function () {\n };\n var FakePromise = (promise.constructor = {})[SPECIES] = function (exec) {\n exec(empty, empty);\n };\n return !((IS_NODE || typeof PromiseRejectionEvent == 'function') && (!IS_PURE || promise['finally']) && promise.then(empty) instanceof FakePromise && v8.indexOf('6.6') !== 0 && userAgent.indexOf('Chrome/66') === -1);\n});\nvar INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) {\n PromiseConstructor.all(iterable)['catch'](function () {\n });\n});\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar notify = function (promise, state, isReject) {\n if (state.notified)\n return;\n state.notified = true;\n var chain = state.reactions;\n microtask(function () {\n var value = state.value;\n var ok = state.state == FULFILLED;\n var index = 0;\n while (chain.length > index) {\n var reaction = chain[index++];\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 try {\n if (handler) {\n if (!ok) {\n if (state.rejection === UNHANDLED)\n onHandleUnhandled(promise, state);\n state.rejection = HANDLED;\n }\n if (handler === true)\n result = value;\n else {\n if (domain)\n domain.enter();\n result = handler(value);\n if (domain) {\n domain.exit();\n exited = true;\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\n resolve(result);\n } else\n reject(value);\n } catch (error) {\n if (domain && !exited)\n domain.exit();\n reject(error);\n }\n }\n state.reactions = [];\n state.notified = false;\n if (isReject && !state.rejection)\n onUnhandled(promise, state);\n });\n};\nvar dispatchEvent = function (name, promise, reason) {\n var event, handler;\n if (DISPATCH_EVENT) {\n event = document.createEvent('Event');\n event.promise = promise;\n event.reason = reason;\n event.initEvent(name, false, true);\n global.dispatchEvent(event);\n } else\n event = {\n promise: promise,\n reason: reason\n };\n if (handler = global['on' + name])\n handler(event);\n else if (name === UNHANDLED_REJECTION)\n hostReportErrors('Unhandled promise rejection', reason);\n};\nvar onUnhandled = function (promise, state) {\n task.call(global, function () {\n var value = state.value;\n var IS_UNHANDLED = isUnhandled(state);\n var result;\n if (IS_UNHANDLED) {\n result = perform(function () {\n if (IS_NODE) {\n process.emit('unhandledRejection', value, promise);\n } else\n dispatchEvent(UNHANDLED_REJECTION, promise, value);\n });\n state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;\n if (result.error)\n throw result.value;\n }\n });\n};\nvar isUnhandled = function (state) {\n return state.rejection !== HANDLED && !state.parent;\n};\nvar onHandleUnhandled = function (promise, state) {\n task.call(global, function () {\n if (IS_NODE) {\n process.emit('rejectionHandled', promise);\n } else\n dispatchEvent(REJECTION_HANDLED, promise, state.value);\n });\n};\nvar bind = function (fn, promise, state, unwrap) {\n return function (value) {\n fn(promise, state, value, unwrap);\n };\n};\nvar internalReject = function (promise, state, value, unwrap) {\n if (state.done)\n return;\n state.done = true;\n if (unwrap)\n state = unwrap;\n state.value = value;\n state.state = REJECTED;\n notify(promise, state, true);\n};\nvar internalResolve = function (promise, state, value, unwrap) {\n if (state.done)\n return;\n state.done = true;\n if (unwrap)\n state = unwrap;\n try {\n if (promise === value)\n throw TypeError(\"Promise can't be resolved itself\");\n var then = isThenable(value);\n if (then) {\n microtask(function () {\n var wrapper = { done: false };\n try {\n then.call(value, bind(internalResolve, promise, wrapper, state), bind(internalReject, promise, wrapper, state));\n } catch (error) {\n internalReject(promise, wrapper, error, state);\n }\n });\n } else {\n state.value = value;\n state.state = FULFILLED;\n notify(promise, state, false);\n }\n } catch (error) {\n internalReject(promise, { done: false }, error, state);\n }\n};\nif (FORCED) {\n PromiseConstructor = function Promise(executor) {\n anInstance(this, PromiseConstructor, PROMISE);\n aFunction(executor);\n Internal.call(this);\n var state = getInternalState(this);\n try {\n executor(bind(internalResolve, this, state), bind(internalReject, this, state));\n } catch (error) {\n internalReject(this, state, error);\n }\n };\n Internal = function Promise(executor) {\n setInternalState(this, {\n type: PROMISE,\n done: false,\n notified: false,\n parent: false,\n reactions: [],\n rejection: false,\n state: PENDING,\n value: undefined\n });\n };\n Internal.prototype = redefineAll(PromiseConstructor.prototype, {\n then: function then(onFulfilled, onRejected) {\n var state = getInternalPromiseState(this);\n var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = IS_NODE ? process.domain : undefined;\n state.parent = true;\n state.reactions.push(reaction);\n if (state.state != PENDING)\n notify(this, state, false);\n return reaction.promise;\n },\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n var state = getInternalState(promise);\n this.promise = promise;\n this.resolve = bind(internalResolve, promise, state);\n this.reject = bind(internalReject, promise, state);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === PromiseConstructor || C === PromiseWrapper ? new OwnPromiseCapability(C) : newGenericPromiseCapability(C);\n };\n if (!IS_PURE && typeof NativePromise == 'function') {\n nativeThen = NativePromise.prototype.then;\n redefine(NativePromise.prototype, 'then', function then(onFulfilled, onRejected) {\n var that = this;\n return new PromiseConstructor(function (resolve, reject) {\n nativeThen.call(that, resolve, reject);\n }).then(onFulfilled, onRejected);\n });\n if (typeof $fetch == 'function')\n $({\n global: true,\n enumerable: true,\n forced: true\n }, {\n fetch: function fetch(input) {\n return promiseResolve(PromiseConstructor, $fetch.apply(global, arguments));\n }\n });\n }\n}\n$({\n global: true,\n wrap: true,\n forced: FORCED\n}, { Promise: PromiseConstructor });\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\nPromiseWrapper = path[PROMISE];\n$({\n target: PROMISE,\n stat: true,\n forced: FORCED\n}, {\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n capability.reject.call(undefined, r);\n return capability.promise;\n }\n});\n$({\n target: PROMISE,\n stat: true,\n forced: IS_PURE || FORCED\n}, {\n resolve: function resolve(x) {\n return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x);\n }\n});\n$({\n target: PROMISE,\n stat: true,\n forced: INCORRECT_ITERATION\n}, {\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 $promiseResolve = aFunction(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n $promiseResolve.call(C, promise).then(function (value) {\n if (alreadyCalled)\n return;\n alreadyCalled = true;\n values[index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.error)\n reject(result.value);\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 var $promiseResolve = aFunction(C.resolve);\n iterate(iterable, function (promise) {\n $promiseResolve.call(C, promise).then(capability.resolve, reject);\n });\n });\n if (result.error)\n reject(result.value);\n return capability.promise;\n }\n});\n\n/***/ }),\n/* 106 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(8);\nmodule.exports = global.Promise;\n\n/***/ }),\n/* 107 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar redefine = __w_pdfjs_require__(26);\nmodule.exports = function (target, src, options) {\n for (var key in src)\n redefine(target, key, src[key], options);\n return target;\n};\n\n/***/ }),\n/* 108 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar getBuiltIn = __w_pdfjs_require__(38);\nvar definePropertyModule = __w_pdfjs_require__(24);\nvar wellKnownSymbol = __w_pdfjs_require__(51);\nvar DESCRIPTORS = __w_pdfjs_require__(10);\nvar SPECIES = wellKnownSymbol('species');\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n var defineProperty = definePropertyModule.f;\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineProperty(Constructor, SPECIES, {\n configurable: true,\n get: function () {\n return this;\n }\n });\n }\n};\n\n/***/ }),\n/* 109 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it, Constructor, name) {\n if (!(it instanceof Constructor)) {\n throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');\n }\n return it;\n};\n\n/***/ }),\n/* 110 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(25);\nvar isArrayIteratorMethod = __w_pdfjs_require__(84);\nvar toLength = __w_pdfjs_require__(43);\nvar bind = __w_pdfjs_require__(55);\nvar getIteratorMethod = __w_pdfjs_require__(86);\nvar callWithSafeIterationClosing = __w_pdfjs_require__(83);\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\nvar iterate = module.exports = function (iterable, fn, that, AS_ENTRIES, IS_ITERATOR) {\n var boundFunction = bind(fn, that, AS_ENTRIES ? 2 : 1);\n var iterator, iterFn, index, length, result, step;\n if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (typeof iterFn != 'function')\n throw TypeError('Target is not iterable');\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = toLength(iterable.length); length > index; index++) {\n result = AS_ENTRIES ? boundFunction(anObject(step = iterable[index])[0], step[1]) : boundFunction(iterable[index]);\n if (result && result instanceof Result)\n return result;\n }\n return new Result(false);\n }\n iterator = iterFn.call(iterable);\n }\n while (!(step = iterator.next()).done) {\n result = callWithSafeIterationClosing(iterator, boundFunction, step.value, AS_ENTRIES);\n if (result && result instanceof Result)\n return result;\n }\n return new Result(false);\n};\niterate.stop = function (result) {\n return new Result(true, result);\n};\n\n/***/ }),\n/* 111 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(25);\nvar aFunction = __w_pdfjs_require__(56);\nvar wellKnownSymbol = __w_pdfjs_require__(51);\nvar SPECIES = wellKnownSymbol('species');\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);\n};\n\n/***/ }),\n/* 112 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(8);\nvar fails = __w_pdfjs_require__(11);\nvar classof = __w_pdfjs_require__(16);\nvar bind = __w_pdfjs_require__(55);\nvar html = __w_pdfjs_require__(67);\nvar createElement = __w_pdfjs_require__(22);\nvar location = global.location;\nvar set = global.setImmediate;\nvar clear = global.clearImmediate;\nvar process = global.process;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\nvar run = function (id) {\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\nvar runner = function (id) {\n return function () {\n run(id);\n };\n};\nvar listener = function (event) {\n run(event.data);\n};\nvar post = function (id) {\n global.postMessage(id + '', location.protocol + '//' + location.host);\n};\nif (!set || !clear) {\n set = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i)\n args.push(arguments[i++]);\n queue[++counter] = function () {\n (typeof fn == 'function' ? fn : Function(fn)).apply(undefined, args);\n };\n defer(counter);\n return counter;\n };\n clear = function clearImmediate(id) {\n delete queue[id];\n };\n if (classof(process) == 'process') {\n defer = function (id) {\n process.nextTick(runner(id));\n };\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(runner(id));\n };\n } else if (MessageChannel) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = bind(port.postMessage, port, 1);\n } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts && !fails(post)) {\n defer = post;\n global.addEventListener('message', listener, false);\n } else if (ONREADYSTATECHANGE in createElement('script')) {\n defer = function (id) {\n html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run(id);\n };\n };\n } else {\n defer = function (id) {\n setTimeout(runner(id), 0);\n };\n }\n}\nmodule.exports = {\n set: set,\n clear: clear\n};\n\n/***/ }),\n/* 113 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(8);\nvar getOwnPropertyDescriptor = __w_pdfjs_require__(9).f;\nvar classof = __w_pdfjs_require__(16);\nvar macrotask = __w_pdfjs_require__(112).set;\nvar userAgent = __w_pdfjs_require__(114);\nvar MutationObserver = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar IS_NODE = classof(process) == 'process';\nvar queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');\nvar queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;\nvar flush, head, last, notify, toggle, node, promise, then;\nif (!queueMicrotask) {\n flush = function () {\n var parent, fn;\n if (IS_NODE && (parent = process.domain))\n parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (error) {\n if (head)\n notify();\n else\n last = undefined;\n throw error;\n }\n }\n last = undefined;\n if (parent)\n parent.enter();\n };\n if (IS_NODE) {\n notify = function () {\n process.nextTick(flush);\n };\n } else if (MutationObserver && !/(iphone|ipod|ipad).*applewebkit/i.test(userAgent)) {\n toggle = true;\n node = document.createTextNode('');\n new MutationObserver(flush).observe(node, { characterData: true });\n notify = function () {\n node.data = toggle = !toggle;\n };\n } else if (Promise && Promise.resolve) {\n promise = Promise.resolve(undefined);\n then = promise.then;\n notify = function () {\n then.call(promise, flush);\n };\n } else {\n notify = function () {\n macrotask.call(global, flush);\n };\n }\n}\nmodule.exports = queueMicrotask || function (fn) {\n var task = {\n fn: fn,\n next: undefined\n };\n if (last)\n last.next = task;\n if (!head) {\n head = task;\n notify();\n }\n last = task;\n};\n\n/***/ }),\n/* 114 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar getBuiltIn = __w_pdfjs_require__(38);\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n\n/***/ }),\n/* 115 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(25);\nvar isObject = __w_pdfjs_require__(19);\nvar newPromiseCapability = __w_pdfjs_require__(116);\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C)\n return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n\n/***/ }),\n/* 116 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar aFunction = __w_pdfjs_require__(56);\nvar PromiseCapability = function (C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined)\n throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n};\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n\n/***/ }),\n/* 117 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(8);\nmodule.exports = function (a, b) {\n var console = global.console;\n if (console && console.error) {\n arguments.length === 1 ? console.error(a) : console.error(a, b);\n }\n};\n\n/***/ }),\n/* 118 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (exec) {\n try {\n return {\n error: false,\n value: exec()\n };\n } catch (error) {\n return {\n error: true,\n value: error\n };\n }\n};\n\n/***/ }),\n/* 119 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(7);\nvar aFunction = __w_pdfjs_require__(56);\nvar newPromiseCapabilityModule = __w_pdfjs_require__(116);\nvar perform = __w_pdfjs_require__(118);\nvar iterate = __w_pdfjs_require__(110);\n$({\n target: 'Promise',\n stat: true\n}, {\n allSettled: function allSettled(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var promiseResolve = aFunction(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n promiseResolve.call(C, promise).then(function (value) {\n if (alreadyCalled)\n return;\n alreadyCalled = true;\n values[index] = {\n status: 'fulfilled',\n value: value\n };\n --remaining || resolve(values);\n }, function (e) {\n if (alreadyCalled)\n return;\n alreadyCalled = true;\n values[index] = {\n status: 'rejected',\n reason: e\n };\n --remaining || resolve(values);\n });\n });\n --remaining || resolve(values);\n });\n if (result.error)\n reject(result.value);\n return capability.promise;\n }\n});\n\n/***/ }),\n/* 120 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(7);\nvar IS_PURE = __w_pdfjs_require__(29);\nvar NativePromise = __w_pdfjs_require__(106);\nvar getBuiltIn = __w_pdfjs_require__(38);\nvar speciesConstructor = __w_pdfjs_require__(111);\nvar promiseResolve = __w_pdfjs_require__(115);\nvar redefine = __w_pdfjs_require__(26);\n$({\n target: 'Promise',\n proto: true,\n real: true\n}, {\n 'finally': function (onFinally) {\n var C = speciesConstructor(this, getBuiltIn('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});\nif (!IS_PURE && typeof NativePromise == 'function' && !NativePromise.prototype['finally']) {\n redefine(NativePromise.prototype, 'finally', getBuiltIn('Promise').prototype['finally']);\n}\n\n/***/ }),\n/* 121 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(122);\n__w_pdfjs_require__(127);\n__w_pdfjs_require__(125);\nvar path = __w_pdfjs_require__(39);\nmodule.exports = path.URL;\n\n/***/ }),\n/* 122 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n__w_pdfjs_require__(69);\nvar $ = __w_pdfjs_require__(7);\nvar DESCRIPTORS = __w_pdfjs_require__(10);\nvar USE_NATIVE_URL = __w_pdfjs_require__(123);\nvar global = __w_pdfjs_require__(8);\nvar defineProperties = __w_pdfjs_require__(65);\nvar redefine = __w_pdfjs_require__(26);\nvar anInstance = __w_pdfjs_require__(109);\nvar has = __w_pdfjs_require__(20);\nvar assign = __w_pdfjs_require__(91);\nvar arrayFrom = __w_pdfjs_require__(82);\nvar codeAt = __w_pdfjs_require__(70).codeAt;\nvar toASCII = __w_pdfjs_require__(124);\nvar setToStringTag = __w_pdfjs_require__(77);\nvar URLSearchParamsModule = __w_pdfjs_require__(125);\nvar InternalStateModule = __w_pdfjs_require__(31);\nvar NativeURL = global.URL;\nvar URLSearchParams = URLSearchParamsModule.URLSearchParams;\nvar getInternalSearchParamsState = URLSearchParamsModule.getState;\nvar setInternalState = InternalStateModule.set;\nvar getInternalURLState = InternalStateModule.getterFor('URL');\nvar floor = Math.floor;\nvar pow = Math.pow;\nvar INVALID_AUTHORITY = 'Invalid authority';\nvar INVALID_SCHEME = 'Invalid scheme';\nvar INVALID_HOST = 'Invalid host';\nvar INVALID_PORT = 'Invalid port';\nvar ALPHA = /[A-Za-z]/;\nvar ALPHANUMERIC = /[\\d+\\-.A-Za-z]/;\nvar DIGIT = /\\d/;\nvar HEX_START = /^(0x|0X)/;\nvar OCT = /^[0-7]+$/;\nvar DEC = /^\\d+$/;\nvar HEX = /^[\\dA-Fa-f]+$/;\nvar FORBIDDEN_HOST_CODE_POINT = /[\\u0000\\u0009\\u000A\\u000D #%/:?@[\\\\]]/;\nvar FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\\u0000\\u0009\\u000A\\u000D #/:?@[\\\\]]/;\nvar LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE = /^[\\u0000-\\u001F ]+|[\\u0000-\\u001F ]+$/g;\nvar TAB_AND_NEW_LINE = /[\\u0009\\u000A\\u000D]/g;\nvar EOF;\nvar parseHost = function (url, input) {\n var result, codePoints, index;\n if (input.charAt(0) == '[') {\n if (input.charAt(input.length - 1) != ']')\n return INVALID_HOST;\n result = parseIPv6(input.slice(1, -1));\n if (!result)\n return INVALID_HOST;\n url.host = result;\n } else if (!isSpecial(url)) {\n if (FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT.test(input))\n return INVALID_HOST;\n result = '';\n codePoints = arrayFrom(input);\n for (index = 0; index < codePoints.length; index++) {\n result += percentEncode(codePoints[index], C0ControlPercentEncodeSet);\n }\n url.host = result;\n } else {\n input = toASCII(input);\n if (FORBIDDEN_HOST_CODE_POINT.test(input))\n return INVALID_HOST;\n result = parseIPv4(input);\n if (result === null)\n return INVALID_HOST;\n url.host = result;\n }\n};\nvar parseIPv4 = function (input) {\n var parts = input.split('.');\n var partsLength, numbers, index, part, radix, number, ipv4;\n if (parts.length && parts[parts.length - 1] == '') {\n parts.pop();\n }\n partsLength = parts.length;\n if (partsLength > 4)\n return input;\n numbers = [];\n for (index = 0; index < partsLength; index++) {\n part = parts[index];\n if (part == '')\n return input;\n radix = 10;\n if (part.length > 1 && part.charAt(0) == '0') {\n radix = HEX_START.test(part) ? 16 : 8;\n part = part.slice(radix == 8 ? 1 : 2);\n }\n if (part === '') {\n number = 0;\n } else {\n if (!(radix == 10 ? DEC : radix == 8 ? OCT : HEX).test(part))\n return input;\n number = parseInt(part, radix);\n }\n numbers.push(number);\n }\n for (index = 0; index < partsLength; index++) {\n number = numbers[index];\n if (index == partsLength - 1) {\n if (number >= pow(256, 5 - partsLength))\n return null;\n } else if (number > 255)\n return null;\n }\n ipv4 = numbers.pop();\n for (index = 0; index < numbers.length; index++) {\n ipv4 += numbers[index] * pow(256, 3 - index);\n }\n return ipv4;\n};\nvar parseIPv6 = function (input) {\n var address = [\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0\n ];\n var pieceIndex = 0;\n var compress = null;\n var pointer = 0;\n var value, length, numbersSeen, ipv4Piece, number, swaps, swap;\n var char = function () {\n return input.charAt(pointer);\n };\n if (char() == ':') {\n if (input.charAt(1) != ':')\n return;\n pointer += 2;\n pieceIndex++;\n compress = pieceIndex;\n }\n while (char()) {\n if (pieceIndex == 8)\n return;\n if (char() == ':') {\n if (compress !== null)\n return;\n pointer++;\n pieceIndex++;\n compress = pieceIndex;\n continue;\n }\n value = length = 0;\n while (length < 4 && HEX.test(char())) {\n value = value * 16 + parseInt(char(), 16);\n pointer++;\n length++;\n }\n if (char() == '.') {\n if (length == 0)\n return;\n pointer -= length;\n if (pieceIndex > 6)\n return;\n numbersSeen = 0;\n while (char()) {\n ipv4Piece = null;\n if (numbersSeen > 0) {\n if (char() == '.' && numbersSeen < 4)\n pointer++;\n else\n return;\n }\n if (!DIGIT.test(char()))\n return;\n while (DIGIT.test(char())) {\n number = parseInt(char(), 10);\n if (ipv4Piece === null)\n ipv4Piece = number;\n else if (ipv4Piece == 0)\n return;\n else\n ipv4Piece = ipv4Piece * 10 + number;\n if (ipv4Piece > 255)\n return;\n pointer++;\n }\n address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece;\n numbersSeen++;\n if (numbersSeen == 2 || numbersSeen == 4)\n pieceIndex++;\n }\n if (numbersSeen != 4)\n return;\n break;\n } else if (char() == ':') {\n pointer++;\n if (!char())\n return;\n } else if (char())\n return;\n address[pieceIndex++] = value;\n }\n if (compress !== null) {\n swaps = pieceIndex - compress;\n pieceIndex = 7;\n while (pieceIndex != 0 && swaps > 0) {\n swap = address[pieceIndex];\n address[pieceIndex--] = address[compress + swaps - 1];\n address[compress + --swaps] = swap;\n }\n } else if (pieceIndex != 8)\n return;\n return address;\n};\nvar findLongestZeroSequence = function (ipv6) {\n var maxIndex = null;\n var maxLength = 1;\n var currStart = null;\n var currLength = 0;\n var index = 0;\n for (; index < 8; index++) {\n if (ipv6[index] !== 0) {\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n currStart = null;\n currLength = 0;\n } else {\n if (currStart === null)\n currStart = index;\n ++currLength;\n }\n }\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n return maxIndex;\n};\nvar serializeHost = function (host) {\n var result, index, compress, ignore0;\n if (typeof host == 'number') {\n result = [];\n for (index = 0; index < 4; index++) {\n result.unshift(host % 256);\n host = floor(host / 256);\n }\n return result.join('.');\n } else if (typeof host == 'object') {\n result = '';\n compress = findLongestZeroSequence(host);\n for (index = 0; index < 8; index++) {\n if (ignore0 && host[index] === 0)\n continue;\n if (ignore0)\n ignore0 = false;\n if (compress === index) {\n result += index ? ':' : '::';\n ignore0 = true;\n } else {\n result += host[index].toString(16);\n if (index < 7)\n result += ':';\n }\n }\n return '[' + result + ']';\n }\n return host;\n};\nvar C0ControlPercentEncodeSet = {};\nvar fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, {\n ' ': 1,\n '\"': 1,\n '<': 1,\n '>': 1,\n '`': 1\n});\nvar pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, {\n '#': 1,\n '?': 1,\n '{': 1,\n '}': 1\n});\nvar userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, {\n '/': 1,\n ':': 1,\n ';': 1,\n '=': 1,\n '@': 1,\n '[': 1,\n '\\\\': 1,\n ']': 1,\n '^': 1,\n '|': 1\n});\nvar percentEncode = function (char, set) {\n var code = codeAt(char, 0);\n return code > 0x20 && code < 0x7F && !has(set, char) ? char : encodeURIComponent(char);\n};\nvar specialSchemes = {\n ftp: 21,\n file: null,\n gopher: 70,\n http: 80,\n https: 443,\n ws: 80,\n wss: 443\n};\nvar isSpecial = function (url) {\n return has(specialSchemes, url.scheme);\n};\nvar includesCredentials = function (url) {\n return url.username != '' || url.password != '';\n};\nvar cannotHaveUsernamePasswordPort = function (url) {\n return !url.host || url.cannotBeABaseURL || url.scheme == 'file';\n};\nvar isWindowsDriveLetter = function (string, normalized) {\n var second;\n return string.length == 2 && ALPHA.test(string.charAt(0)) && ((second = string.charAt(1)) == ':' || !normalized && second == '|');\n};\nvar startsWithWindowsDriveLetter = function (string) {\n var third;\n return string.length > 1 && isWindowsDriveLetter(string.slice(0, 2)) && (string.length == 2 || ((third = string.charAt(2)) === '/' || third === '\\\\' || third === '?' || third === '#'));\n};\nvar shortenURLsPath = function (url) {\n var path = url.path;\n var pathSize = path.length;\n if (pathSize && (url.scheme != 'file' || pathSize != 1 || !isWindowsDriveLetter(path[0], true))) {\n path.pop();\n }\n};\nvar isSingleDot = function (segment) {\n return segment === '.' || segment.toLowerCase() === '%2e';\n};\nvar isDoubleDot = function (segment) {\n segment = segment.toLowerCase();\n return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e';\n};\nvar SCHEME_START = {};\nvar SCHEME = {};\nvar NO_SCHEME = {};\nvar SPECIAL_RELATIVE_OR_AUTHORITY = {};\nvar PATH_OR_AUTHORITY = {};\nvar RELATIVE = {};\nvar RELATIVE_SLASH = {};\nvar SPECIAL_AUTHORITY_SLASHES = {};\nvar SPECIAL_AUTHORITY_IGNORE_SLASHES = {};\nvar AUTHORITY = {};\nvar HOST = {};\nvar HOSTNAME = {};\nvar PORT = {};\nvar FILE = {};\nvar FILE_SLASH = {};\nvar FILE_HOST = {};\nvar PATH_START = {};\nvar PATH = {};\nvar CANNOT_BE_A_BASE_URL_PATH = {};\nvar QUERY = {};\nvar FRAGMENT = {};\nvar parseURL = function (url, input, stateOverride, base) {\n var state = stateOverride || SCHEME_START;\n var pointer = 0;\n var buffer = '';\n var seenAt = false;\n var seenBracket = false;\n var seenPasswordToken = false;\n var codePoints, char, bufferCodePoints, failure;\n if (!stateOverride) {\n url.scheme = '';\n url.username = '';\n url.password = '';\n url.host = null;\n url.port = null;\n url.path = [];\n url.query = null;\n url.fragment = null;\n url.cannotBeABaseURL = false;\n input = input.replace(LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE, '');\n }\n input = input.replace(TAB_AND_NEW_LINE, '');\n codePoints = arrayFrom(input);\n while (pointer <= codePoints.length) {\n char = codePoints[pointer];\n switch (state) {\n case SCHEME_START:\n if (char && ALPHA.test(char)) {\n buffer += char.toLowerCase();\n state = SCHEME;\n } else if (!stateOverride) {\n state = NO_SCHEME;\n continue;\n } else\n return INVALID_SCHEME;\n break;\n case SCHEME:\n if (char && (ALPHANUMERIC.test(char) || char == '+' || char == '-' || char == '.')) {\n buffer += char.toLowerCase();\n } else if (char == ':') {\n if (stateOverride && (isSpecial(url) != has(specialSchemes, buffer) || buffer == 'file' && (includesCredentials(url) || url.port !== null) || url.scheme == 'file' && !url.host))\n return;\n url.scheme = buffer;\n if (stateOverride) {\n if (isSpecial(url) && specialSchemes[url.scheme] == url.port)\n url.port = null;\n return;\n }\n buffer = '';\n if (url.scheme == 'file') {\n state = FILE;\n } else if (isSpecial(url) && base && base.scheme == url.scheme) {\n state = SPECIAL_RELATIVE_OR_AUTHORITY;\n } else if (isSpecial(url)) {\n state = SPECIAL_AUTHORITY_SLASHES;\n } else if (codePoints[pointer + 1] == '/') {\n state = PATH_OR_AUTHORITY;\n pointer++;\n } else {\n url.cannotBeABaseURL = true;\n url.path.push('');\n state = CANNOT_BE_A_BASE_URL_PATH;\n }\n } else if (!stateOverride) {\n buffer = '';\n state = NO_SCHEME;\n pointer = 0;\n continue;\n } else\n return INVALID_SCHEME;\n break;\n case NO_SCHEME:\n if (!base || base.cannotBeABaseURL && char != '#')\n return INVALID_SCHEME;\n if (base.cannotBeABaseURL && char == '#') {\n url.scheme = base.scheme;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n url.cannotBeABaseURL = true;\n state = FRAGMENT;\n break;\n }\n state = base.scheme == 'file' ? FILE : RELATIVE;\n continue;\n case SPECIAL_RELATIVE_OR_AUTHORITY:\n if (char == '/' && codePoints[pointer + 1] == '/') {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n pointer++;\n } else {\n state = RELATIVE;\n continue;\n }\n break;\n case PATH_OR_AUTHORITY:\n if (char == '/') {\n state = AUTHORITY;\n break;\n } else {\n state = PATH;\n continue;\n }\n case RELATIVE:\n url.scheme = base.scheme;\n if (char == EOF) {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = base.query;\n } else if (char == '/' || char == '\\\\' && isSpecial(url)) {\n state = RELATIVE_SLASH;\n } else if (char == '?') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.path.pop();\n state = PATH;\n continue;\n }\n break;\n case RELATIVE_SLASH:\n if (isSpecial(url) && (char == '/' || char == '\\\\')) {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n } else if (char == '/') {\n state = AUTHORITY;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n state = PATH;\n continue;\n }\n break;\n case SPECIAL_AUTHORITY_SLASHES:\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n if (char != '/' || buffer.charAt(pointer + 1) != '/')\n continue;\n pointer++;\n break;\n case SPECIAL_AUTHORITY_IGNORE_SLASHES:\n if (char != '/' && char != '\\\\') {\n state = AUTHORITY;\n continue;\n }\n break;\n case AUTHORITY:\n if (char == '@') {\n if (seenAt)\n buffer = '%40' + buffer;\n seenAt = true;\n bufferCodePoints = arrayFrom(buffer);\n for (var i = 0; i < bufferCodePoints.length; i++) {\n var codePoint = bufferCodePoints[i];\n if (codePoint == ':' && !seenPasswordToken) {\n seenPasswordToken = true;\n continue;\n }\n var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet);\n if (seenPasswordToken)\n url.password += encodedCodePoints;\n else\n url.username += encodedCodePoints;\n }\n buffer = '';\n } else if (char == EOF || char == '/' || char == '?' || char == '#' || char == '\\\\' && isSpecial(url)) {\n if (seenAt && buffer == '')\n return INVALID_AUTHORITY;\n pointer -= arrayFrom(buffer).length + 1;\n buffer = '';\n state = HOST;\n } else\n buffer += char;\n break;\n case HOST:\n case HOSTNAME:\n if (stateOverride && url.scheme == 'file') {\n state = FILE_HOST;\n continue;\n } else if (char == ':' && !seenBracket) {\n if (buffer == '')\n return INVALID_HOST;\n failure = parseHost(url, buffer);\n if (failure)\n return failure;\n buffer = '';\n state = PORT;\n if (stateOverride == HOSTNAME)\n return;\n } else if (char == EOF || char == '/' || char == '?' || char == '#' || char == '\\\\' && isSpecial(url)) {\n if (isSpecial(url) && buffer == '')\n return INVALID_HOST;\n if (stateOverride && buffer == '' && (includesCredentials(url) || url.port !== null))\n return;\n failure = parseHost(url, buffer);\n if (failure)\n return failure;\n buffer = '';\n state = PATH_START;\n if (stateOverride)\n return;\n continue;\n } else {\n if (char == '[')\n seenBracket = true;\n else if (char == ']')\n seenBracket = false;\n buffer += char;\n }\n break;\n case PORT:\n if (DIGIT.test(char)) {\n buffer += char;\n } else if (char == EOF || char == '/' || char == '?' || char == '#' || char == '\\\\' && isSpecial(url) || stateOverride) {\n if (buffer != '') {\n var port = parseInt(buffer, 10);\n if (port > 0xFFFF)\n return INVALID_PORT;\n url.port = isSpecial(url) && port === specialSchemes[url.scheme] ? null : port;\n buffer = '';\n }\n if (stateOverride)\n return;\n state = PATH_START;\n continue;\n } else\n return INVALID_PORT;\n break;\n case FILE:\n url.scheme = 'file';\n if (char == '/' || char == '\\\\')\n state = FILE_SLASH;\n else if (base && base.scheme == 'file') {\n if (char == EOF) {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = base.query;\n } else if (char == '?') {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n if (!startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {\n url.host = base.host;\n url.path = base.path.slice();\n shortenURLsPath(url);\n }\n state = PATH;\n continue;\n }\n } else {\n state = PATH;\n continue;\n }\n break;\n case FILE_SLASH:\n if (char == '/' || char == '\\\\') {\n state = FILE_HOST;\n break;\n }\n if (base && base.scheme == 'file' && !startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {\n if (isWindowsDriveLetter(base.path[0], true))\n url.path.push(base.path[0]);\n else\n url.host = base.host;\n }\n state = PATH;\n continue;\n case FILE_HOST:\n if (char == EOF || char == '/' || char == '\\\\' || char == '?' || char == '#') {\n if (!stateOverride && isWindowsDriveLetter(buffer)) {\n state = PATH;\n } else if (buffer == '') {\n url.host = '';\n if (stateOverride)\n return;\n state = PATH_START;\n } else {\n failure = parseHost(url, buffer);\n if (failure)\n return failure;\n if (url.host == 'localhost')\n url.host = '';\n if (stateOverride)\n return;\n buffer = '';\n state = PATH_START;\n }\n continue;\n } else\n buffer += char;\n break;\n case PATH_START:\n if (isSpecial(url)) {\n state = PATH;\n if (char != '/' && char != '\\\\')\n continue;\n } else if (!stateOverride && char == '?') {\n url.query = '';\n state = QUERY;\n } else if (!stateOverride && char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n state = PATH;\n if (char != '/')\n continue;\n }\n break;\n case PATH:\n if (char == EOF || char == '/' || char == '\\\\' && isSpecial(url) || !stateOverride && (char == '?' || char == '#')) {\n if (isDoubleDot(buffer)) {\n shortenURLsPath(url);\n if (char != '/' && !(char == '\\\\' && isSpecial(url))) {\n url.path.push('');\n }\n } else if (isSingleDot(buffer)) {\n if (char != '/' && !(char == '\\\\' && isSpecial(url))) {\n url.path.push('');\n }\n } else {\n if (url.scheme == 'file' && !url.path.length && isWindowsDriveLetter(buffer)) {\n if (url.host)\n url.host = '';\n buffer = buffer.charAt(0) + ':';\n }\n url.path.push(buffer);\n }\n buffer = '';\n if (url.scheme == 'file' && (char == EOF || char == '?' || char == '#')) {\n while (url.path.length > 1 && url.path[0] === '') {\n url.path.shift();\n }\n }\n if (char == '?') {\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n }\n } else {\n buffer += percentEncode(char, pathPercentEncodeSet);\n }\n break;\n case CANNOT_BE_A_BASE_URL_PATH:\n if (char == '?') {\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n url.path[0] += percentEncode(char, C0ControlPercentEncodeSet);\n }\n break;\n case QUERY:\n if (!stateOverride && char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n if (char == \"'\" && isSpecial(url))\n url.query += '%27';\n else if (char == '#')\n url.query += '%23';\n else\n url.query += percentEncode(char, C0ControlPercentEncodeSet);\n }\n break;\n case FRAGMENT:\n if (char != EOF)\n url.fragment += percentEncode(char, fragmentPercentEncodeSet);\n break;\n }\n pointer++;\n }\n};\nvar URLConstructor = function URL(url) {\n var that = anInstance(this, URLConstructor, 'URL');\n var base = arguments.length > 1 ? arguments[1] : undefined;\n var urlString = String(url);\n var state = setInternalState(that, { type: 'URL' });\n var baseState, failure;\n if (base !== undefined) {\n if (base instanceof URLConstructor)\n baseState = getInternalURLState(base);\n else {\n failure = parseURL(baseState = {}, String(base));\n if (failure)\n throw TypeError(failure);\n }\n }\n failure = parseURL(state, urlString, null, baseState);\n if (failure)\n throw TypeError(failure);\n var searchParams = state.searchParams = new URLSearchParams();\n var searchParamsState = getInternalSearchParamsState(searchParams);\n searchParamsState.updateSearchParams(state.query);\n searchParamsState.updateURL = function () {\n state.query = String(searchParams) || null;\n };\n if (!DESCRIPTORS) {\n that.href = serializeURL.call(that);\n that.origin = getOrigin.call(that);\n that.protocol = getProtocol.call(that);\n that.username = getUsername.call(that);\n that.password = getPassword.call(that);\n that.host = getHost.call(that);\n that.hostname = getHostname.call(that);\n that.port = getPort.call(that);\n that.pathname = getPathname.call(that);\n that.search = getSearch.call(that);\n that.searchParams = getSearchParams.call(that);\n that.hash = getHash.call(that);\n }\n};\nvar URLPrototype = URLConstructor.prototype;\nvar serializeURL = function () {\n var url = getInternalURLState(this);\n var scheme = url.scheme;\n var username = url.username;\n var password = url.password;\n var host = url.host;\n var port = url.port;\n var path = url.path;\n var query = url.query;\n var fragment = url.fragment;\n var output = scheme + ':';\n if (host !== null) {\n output += '//';\n if (includesCredentials(url)) {\n output += username + (password ? ':' + password : '') + '@';\n }\n output += serializeHost(host);\n if (port !== null)\n output += ':' + port;\n } else if (scheme == 'file')\n output += '//';\n output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';\n if (query !== null)\n output += '?' + query;\n if (fragment !== null)\n output += '#' + fragment;\n return output;\n};\nvar getOrigin = function () {\n var url = getInternalURLState(this);\n var scheme = url.scheme;\n var port = url.port;\n if (scheme == 'blob')\n try {\n return new URL(scheme.path[0]).origin;\n } catch (error) {\n return 'null';\n }\n if (scheme == 'file' || !isSpecial(url))\n return 'null';\n return scheme + '://' + serializeHost(url.host) + (port !== null ? ':' + port : '');\n};\nvar getProtocol = function () {\n return getInternalURLState(this).scheme + ':';\n};\nvar getUsername = function () {\n return getInternalURLState(this).username;\n};\nvar getPassword = function () {\n return getInternalURLState(this).password;\n};\nvar getHost = function () {\n var url = getInternalURLState(this);\n var host = url.host;\n var port = url.port;\n return host === null ? '' : port === null ? serializeHost(host) : serializeHost(host) + ':' + port;\n};\nvar getHostname = function () {\n var host = getInternalURLState(this).host;\n return host === null ? '' : serializeHost(host);\n};\nvar getPort = function () {\n var port = getInternalURLState(this).port;\n return port === null ? '' : String(port);\n};\nvar getPathname = function () {\n var url = getInternalURLState(this);\n var path = url.path;\n return url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';\n};\nvar getSearch = function () {\n var query = getInternalURLState(this).query;\n return query ? '?' + query : '';\n};\nvar getSearchParams = function () {\n return getInternalURLState(this).searchParams;\n};\nvar getHash = function () {\n var fragment = getInternalURLState(this).fragment;\n return fragment ? '#' + fragment : '';\n};\nvar accessorDescriptor = function (getter, setter) {\n return {\n get: getter,\n set: setter,\n configurable: true,\n enumerable: true\n };\n};\nif (DESCRIPTORS) {\n defineProperties(URLPrototype, {\n href: accessorDescriptor(serializeURL, function (href) {\n var url = getInternalURLState(this);\n var urlString = String(href);\n var failure = parseURL(url, urlString);\n if (failure)\n throw TypeError(failure);\n getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);\n }),\n origin: accessorDescriptor(getOrigin),\n protocol: accessorDescriptor(getProtocol, function (protocol) {\n var url = getInternalURLState(this);\n parseURL(url, String(protocol) + ':', SCHEME_START);\n }),\n username: accessorDescriptor(getUsername, function (username) {\n var url = getInternalURLState(this);\n var codePoints = arrayFrom(String(username));\n if (cannotHaveUsernamePasswordPort(url))\n return;\n url.username = '';\n for (var i = 0; i < codePoints.length; i++) {\n url.username += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n }),\n password: accessorDescriptor(getPassword, function (password) {\n var url = getInternalURLState(this);\n var codePoints = arrayFrom(String(password));\n if (cannotHaveUsernamePasswordPort(url))\n return;\n url.password = '';\n for (var i = 0; i < codePoints.length; i++) {\n url.password += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n }),\n host: accessorDescriptor(getHost, function (host) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL)\n return;\n parseURL(url, String(host), HOST);\n }),\n hostname: accessorDescriptor(getHostname, function (hostname) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL)\n return;\n parseURL(url, String(hostname), HOSTNAME);\n }),\n port: accessorDescriptor(getPort, function (port) {\n var url = getInternalURLState(this);\n if (cannotHaveUsernamePasswordPort(url))\n return;\n port = String(port);\n if (port == '')\n url.port = null;\n else\n parseURL(url, port, PORT);\n }),\n pathname: accessorDescriptor(getPathname, function (pathname) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL)\n return;\n url.path = [];\n parseURL(url, pathname + '', PATH_START);\n }),\n search: accessorDescriptor(getSearch, function (search) {\n var url = getInternalURLState(this);\n search = String(search);\n if (search == '') {\n url.query = null;\n } else {\n if ('?' == search.charAt(0))\n search = search.slice(1);\n url.query = '';\n parseURL(url, search, QUERY);\n }\n getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);\n }),\n searchParams: accessorDescriptor(getSearchParams),\n hash: accessorDescriptor(getHash, function (hash) {\n var url = getInternalURLState(this);\n hash = String(hash);\n if (hash == '') {\n url.fragment = null;\n return;\n }\n if ('#' == hash.charAt(0))\n hash = hash.slice(1);\n url.fragment = '';\n parseURL(url, hash, FRAGMENT);\n })\n });\n}\nredefine(URLPrototype, 'toJSON', function toJSON() {\n return serializeURL.call(this);\n}, { enumerable: true });\nredefine(URLPrototype, 'toString', function toString() {\n return serializeURL.call(this);\n}, { enumerable: true });\nif (NativeURL) {\n var nativeCreateObjectURL = NativeURL.createObjectURL;\n var nativeRevokeObjectURL = NativeURL.revokeObjectURL;\n if (nativeCreateObjectURL)\n redefine(URLConstructor, 'createObjectURL', function createObjectURL(blob) {\n return nativeCreateObjectURL.apply(NativeURL, arguments);\n });\n if (nativeRevokeObjectURL)\n redefine(URLConstructor, 'revokeObjectURL', function revokeObjectURL(url) {\n return nativeRevokeObjectURL.apply(NativeURL, arguments);\n });\n}\nsetToStringTag(URLConstructor, 'URL');\n$({\n global: true,\n forced: !USE_NATIVE_URL,\n sham: !DESCRIPTORS\n}, { URL: URLConstructor });\n\n/***/ }),\n/* 123 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(11);\nvar wellKnownSymbol = __w_pdfjs_require__(51);\nvar IS_PURE = __w_pdfjs_require__(29);\nvar ITERATOR = wellKnownSymbol('iterator');\nmodule.exports = !fails(function () {\n var url = new URL('b?e=1', 'http://a');\n var searchParams = url.searchParams;\n url.pathname = 'c%20d';\n return IS_PURE && !url.toJSON || !searchParams.sort || url.href !== 'http://a/c%20d?e=1' || searchParams.get('e') !== '1' || String(new URLSearchParams('?a=1')) !== 'a=1' || !searchParams[ITERATOR] || new URL('https://a@b').username !== 'a' || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b' || new URL('http://тест').host !== 'xn--e1aybc' || new URL('http://a#б').hash !== '#%D0%B1';\n});\n\n/***/ }),\n/* 124 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar maxInt = 2147483647;\nvar base = 36;\nvar tMin = 1;\nvar tMax = 26;\nvar skew = 38;\nvar damp = 700;\nvar initialBias = 72;\nvar initialN = 128;\nvar delimiter = '-';\nvar regexNonASCII = /[^\\0-\\u007E]/;\nvar regexSeparators = /[.\\u3002\\uFF0E\\uFF61]/g;\nvar OVERFLOW_ERROR = 'Overflow: input needs wider integers to process';\nvar baseMinusTMin = base - tMin;\nvar floor = Math.floor;\nvar stringFromCharCode = String.fromCharCode;\nvar ucs2decode = function (string) {\n var output = [];\n var counter = 0;\n var length = string.length;\n while (counter < length) {\n var value = string.charCodeAt(counter++);\n if (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n var extra = string.charCodeAt(counter++);\n if ((extra & 0xFC00) == 0xDC00) {\n output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n } else {\n output.push(value);\n counter--;\n }\n } else {\n output.push(value);\n }\n }\n return output;\n};\nvar digitToBasic = function (digit) {\n return digit + 22 + 75 * (digit < 26);\n};\nvar adapt = function (delta, numPoints, firstTime) {\n var k = 0;\n delta = firstTime ? floor(delta / damp) : delta >> 1;\n delta += floor(delta / numPoints);\n for (; delta > baseMinusTMin * tMax >> 1; k += base) {\n delta = floor(delta / baseMinusTMin);\n }\n return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n};\nvar encode = function (input) {\n var output = [];\n input = ucs2decode(input);\n var inputLength = input.length;\n var n = initialN;\n var delta = 0;\n var bias = initialBias;\n var i, currentValue;\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < 0x80) {\n output.push(stringFromCharCode(currentValue));\n }\n }\n var basicLength = output.length;\n var handledCPCount = basicLength;\n if (basicLength) {\n output.push(delimiter);\n }\n while (handledCPCount < inputLength) {\n var m = maxInt;\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue >= n && currentValue < m) {\n m = currentValue;\n }\n }\n var handledCPCountPlusOne = handledCPCount + 1;\n if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n throw RangeError(OVERFLOW_ERROR);\n }\n delta += (m - n) * handledCPCountPlusOne;\n n = m;\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < n && ++delta > maxInt) {\n throw RangeError(OVERFLOW_ERROR);\n }\n if (currentValue == n) {\n var q = delta;\n for (var k = base;; k += base) {\n var t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias;\n if (q < t)\n break;\n var qMinusT = q - t;\n var baseMinusT = base - t;\n output.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT)));\n q = floor(qMinusT / baseMinusT);\n }\n output.push(stringFromCharCode(digitToBasic(q)));\n bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n delta = 0;\n ++handledCPCount;\n }\n }\n ++delta;\n ++n;\n }\n return output.join('');\n};\nmodule.exports = function (input) {\n var encoded = [];\n var labels = input.toLowerCase().replace(regexSeparators, '\\u002E').split('.');\n var i, label;\n for (i = 0; i < labels.length; i++) {\n label = labels[i];\n encoded.push(regexNonASCII.test(label) ? 'xn--' + encode(label) : label);\n }\n return encoded.join('.');\n};\n\n/***/ }),\n/* 125 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n__w_pdfjs_require__(104);\nvar $ = __w_pdfjs_require__(7);\nvar USE_NATIVE_URL = __w_pdfjs_require__(123);\nvar redefine = __w_pdfjs_require__(26);\nvar redefineAll = __w_pdfjs_require__(107);\nvar setToStringTag = __w_pdfjs_require__(77);\nvar createIteratorConstructor = __w_pdfjs_require__(72);\nvar InternalStateModule = __w_pdfjs_require__(31);\nvar anInstance = __w_pdfjs_require__(109);\nvar hasOwn = __w_pdfjs_require__(20);\nvar bind = __w_pdfjs_require__(55);\nvar anObject = __w_pdfjs_require__(25);\nvar isObject = __w_pdfjs_require__(19);\nvar getIterator = __w_pdfjs_require__(126);\nvar getIteratorMethod = __w_pdfjs_require__(86);\nvar wellKnownSymbol = __w_pdfjs_require__(51);\nvar ITERATOR = wellKnownSymbol('iterator');\nvar URL_SEARCH_PARAMS = 'URLSearchParams';\nvar URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS);\nvar getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR);\nvar plus = /\\+/g;\nvar sequences = Array(4);\nvar percentSequence = function (bytes) {\n return sequences[bytes - 1] || (sequences[bytes - 1] = RegExp('((?:%[\\\\da-f]{2}){' + bytes + '})', 'gi'));\n};\nvar percentDecode = function (sequence) {\n try {\n return decodeURIComponent(sequence);\n } catch (error) {\n return sequence;\n }\n};\nvar deserialize = function (it) {\n var result = it.replace(plus, ' ');\n var bytes = 4;\n try {\n return decodeURIComponent(result);\n } catch (error) {\n while (bytes) {\n result = result.replace(percentSequence(bytes--), percentDecode);\n }\n return result;\n }\n};\nvar find = /[!'()~]|%20/g;\nvar replace = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+'\n};\nvar replacer = function (match) {\n return replace[match];\n};\nvar serialize = function (it) {\n return encodeURIComponent(it).replace(find, replacer);\n};\nvar parseSearchParams = function (result, query) {\n if (query) {\n var attributes = query.split('&');\n var index = 0;\n var attribute, entry;\n while (index < attributes.length) {\n attribute = attributes[index++];\n if (attribute.length) {\n entry = attribute.split('=');\n result.push({\n key: deserialize(entry.shift()),\n value: deserialize(entry.join('='))\n });\n }\n }\n }\n};\nvar updateSearchParams = function (query) {\n this.entries.length = 0;\n parseSearchParams(this.entries, query);\n};\nvar validateArgumentsLength = function (passed, required) {\n if (passed < required)\n throw TypeError('Not enough arguments');\n};\nvar URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) {\n setInternalState(this, {\n type: URL_SEARCH_PARAMS_ITERATOR,\n iterator: getIterator(getInternalParamsState(params).entries),\n kind: kind\n });\n}, 'Iterator', function next() {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var step = state.iterator.next();\n var entry = step.value;\n if (!step.done) {\n step.value = kind === 'keys' ? entry.key : kind === 'values' ? entry.value : [\n entry.key,\n entry.value\n ];\n }\n return step;\n});\nvar URLSearchParamsConstructor = function URLSearchParams() {\n anInstance(this, URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n var init = arguments.length > 0 ? arguments[0] : undefined;\n var that = this;\n var entries = [];\n var iteratorMethod, iterator, step, entryIterator, first, second, key;\n setInternalState(that, {\n type: URL_SEARCH_PARAMS,\n entries: entries,\n updateURL: function () {\n },\n updateSearchParams: updateSearchParams\n });\n if (init !== undefined) {\n if (isObject(init)) {\n iteratorMethod = getIteratorMethod(init);\n if (typeof iteratorMethod === 'function') {\n iterator = iteratorMethod.call(init);\n while (!(step = iterator.next()).done) {\n entryIterator = getIterator(anObject(step.value));\n if ((first = entryIterator.next()).done || (second = entryIterator.next()).done || !entryIterator.next().done)\n throw TypeError('Expected sequence with length 2');\n entries.push({\n key: first.value + '',\n value: second.value + ''\n });\n }\n } else\n for (key in init)\n if (hasOwn(init, key))\n entries.push({\n key: key,\n value: init[key] + ''\n });\n } else {\n parseSearchParams(entries, typeof init === 'string' ? init.charAt(0) === '?' ? init.slice(1) : init : init + '');\n }\n }\n};\nvar URLSearchParamsPrototype = URLSearchParamsConstructor.prototype;\nredefineAll(URLSearchParamsPrototype, {\n append: function append(name, value) {\n validateArgumentsLength(arguments.length, 2);\n var state = getInternalParamsState(this);\n state.entries.push({\n key: name + '',\n value: value + ''\n });\n state.updateURL();\n },\n 'delete': function (name) {\n validateArgumentsLength(arguments.length, 1);\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var key = name + '';\n var index = 0;\n while (index < entries.length) {\n if (entries[index].key === key)\n entries.splice(index, 1);\n else\n index++;\n }\n state.updateURL();\n },\n get: function get(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key)\n return entries[index].value;\n }\n return null;\n },\n getAll: function getAll(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var result = [];\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key)\n result.push(entries[index].value);\n }\n return result;\n },\n has: function has(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var index = 0;\n while (index < entries.length) {\n if (entries[index++].key === key)\n return true;\n }\n return false;\n },\n set: function set(name, value) {\n validateArgumentsLength(arguments.length, 1);\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var found = false;\n var key = name + '';\n var val = value + '';\n var index = 0;\n var entry;\n for (; index < entries.length; index++) {\n entry = entries[index];\n if (entry.key === key) {\n if (found)\n entries.splice(index--, 1);\n else {\n found = true;\n entry.value = val;\n }\n }\n }\n if (!found)\n entries.push({\n key: key,\n value: val\n });\n state.updateURL();\n },\n sort: function sort() {\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var slice = entries.slice();\n var entry, entriesIndex, sliceIndex;\n entries.length = 0;\n for (sliceIndex = 0; sliceIndex < slice.length; sliceIndex++) {\n entry = slice[sliceIndex];\n for (entriesIndex = 0; entriesIndex < sliceIndex; entriesIndex++) {\n if (entries[entriesIndex].key > entry.key) {\n entries.splice(entriesIndex, 0, entry);\n break;\n }\n }\n if (entriesIndex === sliceIndex)\n entries.push(entry);\n }\n state.updateURL();\n },\n forEach: function forEach(callback) {\n var entries = getInternalParamsState(this).entries;\n var boundFunction = bind(callback, arguments.length > 1 ? arguments[1] : undefined, 3);\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n boundFunction(entry.value, entry.key, this);\n }\n },\n keys: function keys() {\n return new URLSearchParamsIterator(this, 'keys');\n },\n values: function values() {\n return new URLSearchParamsIterator(this, 'values');\n },\n entries: function entries() {\n return new URLSearchParamsIterator(this, 'entries');\n }\n}, { enumerable: true });\nredefine(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries);\nredefine(URLSearchParamsPrototype, 'toString', function toString() {\n var entries = getInternalParamsState(this).entries;\n var result = [];\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n result.push(serialize(entry.key) + '=' + serialize(entry.value));\n }\n return result.join('&');\n}, { enumerable: true });\nsetToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n$({\n global: true,\n forced: !USE_NATIVE_URL\n}, { URLSearchParams: URLSearchParamsConstructor });\nmodule.exports = {\n URLSearchParams: URLSearchParamsConstructor,\n getState: getInternalParamsState\n};\n\n/***/ }),\n/* 126 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(25);\nvar getIteratorMethod = __w_pdfjs_require__(86);\nmodule.exports = function (it) {\n var iteratorMethod = getIteratorMethod(it);\n if (typeof iteratorMethod != 'function') {\n throw TypeError(String(it) + ' is not iterable');\n }\n return anObject(iteratorMethod.call(it));\n};\n\n/***/ }),\n/* 127 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(7);\n$({\n target: 'URL',\n proto: true,\n enumerable: true\n}, {\n toJSON: function toJSON() {\n return URL.prototype.toString.call(this);\n }\n});\n\n/***/ }),\n/* 128 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(100);\n__w_pdfjs_require__(129);\n__w_pdfjs_require__(102);\nvar path = __w_pdfjs_require__(39);\nmodule.exports = path.WeakMap;\n\n/***/ }),\n/* 129 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar global = __w_pdfjs_require__(8);\nvar redefineAll = __w_pdfjs_require__(107);\nvar InternalMetadataModule = __w_pdfjs_require__(130);\nvar collection = __w_pdfjs_require__(132);\nvar collectionWeak = __w_pdfjs_require__(134);\nvar isObject = __w_pdfjs_require__(19);\nvar enforceIternalState = __w_pdfjs_require__(31).enforce;\nvar NATIVE_WEAK_MAP = __w_pdfjs_require__(32);\nvar IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global;\nvar isExtensible = Object.isExtensible;\nvar InternalWeakMap;\nvar wrapper = function (get) {\n return function WeakMap() {\n return get(this, arguments.length ? arguments[0] : undefined);\n };\n};\nvar $WeakMap = module.exports = collection('WeakMap', wrapper, collectionWeak, true, true);\nif (NATIVE_WEAK_MAP && IS_IE11) {\n InternalWeakMap = collectionWeak.getConstructor(wrapper, 'WeakMap', true);\n InternalMetadataModule.REQUIRED = true;\n var WeakMapPrototype = $WeakMap.prototype;\n var nativeDelete = WeakMapPrototype['delete'];\n var nativeHas = WeakMapPrototype.has;\n var nativeGet = WeakMapPrototype.get;\n var nativeSet = WeakMapPrototype.set;\n redefineAll(WeakMapPrototype, {\n 'delete': function (key) {\n if (isObject(key) && !isExtensible(key)) {\n var state = enforceIternalState(this);\n if (!state.frozen)\n state.frozen = new InternalWeakMap();\n return nativeDelete.call(this, key) || state.frozen['delete'](key);\n }\n return nativeDelete.call(this, key);\n },\n has: function has(key) {\n if (isObject(key) && !isExtensible(key)) {\n var state = enforceIternalState(this);\n if (!state.frozen)\n state.frozen = new InternalWeakMap();\n return nativeHas.call(this, key) || state.frozen.has(key);\n }\n return nativeHas.call(this, key);\n },\n get: function get(key) {\n if (isObject(key) && !isExtensible(key)) {\n var state = enforceIternalState(this);\n if (!state.frozen)\n state.frozen = new InternalWeakMap();\n return nativeHas.call(this, key) ? nativeGet.call(this, key) : state.frozen.get(key);\n }\n return nativeGet.call(this, key);\n },\n set: function set(key, value) {\n if (isObject(key) && !isExtensible(key)) {\n var state = enforceIternalState(this);\n if (!state.frozen)\n state.frozen = new InternalWeakMap();\n nativeHas.call(this, key) ? nativeSet.call(this, key, value) : state.frozen.set(key, value);\n } else\n nativeSet.call(this, key, value);\n return this;\n }\n });\n}\n\n/***/ }),\n/* 130 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar hiddenKeys = __w_pdfjs_require__(35);\nvar isObject = __w_pdfjs_require__(19);\nvar has = __w_pdfjs_require__(20);\nvar defineProperty = __w_pdfjs_require__(24).f;\nvar uid = __w_pdfjs_require__(34);\nvar FREEZING = __w_pdfjs_require__(131);\nvar METADATA = uid('meta');\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar setMetadata = function (it) {\n defineProperty(it, METADATA, {\n value: {\n objectID: 'O' + ++id,\n weakData: {}\n }\n });\n};\nvar fastKey = function (it, create) {\n if (!isObject(it))\n return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, METADATA)) {\n if (!isExtensible(it))\n return 'F';\n if (!create)\n return 'E';\n setMetadata(it);\n }\n return it[METADATA].objectID;\n};\nvar getWeakData = function (it, create) {\n if (!has(it, METADATA)) {\n if (!isExtensible(it))\n return true;\n if (!create)\n return false;\n setMetadata(it);\n }\n return it[METADATA].weakData;\n};\nvar onFreeze = function (it) {\n if (FREEZING && meta.REQUIRED && isExtensible(it) && !has(it, METADATA))\n setMetadata(it);\n return it;\n};\nvar meta = module.exports = {\n REQUIRED: false,\n fastKey: fastKey,\n getWeakData: getWeakData,\n onFreeze: onFreeze\n};\nhiddenKeys[METADATA] = true;\n\n/***/ }),\n/* 131 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(11);\nmodule.exports = !fails(function () {\n return Object.isExtensible(Object.preventExtensions({}));\n});\n\n/***/ }),\n/* 132 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(7);\nvar global = __w_pdfjs_require__(8);\nvar isForced = __w_pdfjs_require__(48);\nvar redefine = __w_pdfjs_require__(26);\nvar InternalMetadataModule = __w_pdfjs_require__(130);\nvar iterate = __w_pdfjs_require__(110);\nvar anInstance = __w_pdfjs_require__(109);\nvar isObject = __w_pdfjs_require__(19);\nvar fails = __w_pdfjs_require__(11);\nvar checkCorrectnessOfIteration = __w_pdfjs_require__(88);\nvar setToStringTag = __w_pdfjs_require__(77);\nvar inheritIfRequired = __w_pdfjs_require__(133);\nmodule.exports = function (CONSTRUCTOR_NAME, wrapper, common, IS_MAP, IS_WEAK) {\n var NativeConstructor = global[CONSTRUCTOR_NAME];\n var NativePrototype = NativeConstructor && NativeConstructor.prototype;\n var Constructor = NativeConstructor;\n var ADDER = IS_MAP ? 'set' : 'add';\n var exported = {};\n var fixMethod = function (KEY) {\n var nativeMethod = NativePrototype[KEY];\n redefine(NativePrototype, KEY, KEY == 'add' ? function add(value) {\n nativeMethod.call(this, value === 0 ? 0 : value);\n return this;\n } : KEY == 'delete' ? function (key) {\n return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n } : KEY == 'get' ? function get(key) {\n return IS_WEAK && !isObject(key) ? undefined : nativeMethod.call(this, key === 0 ? 0 : key);\n } : KEY == 'has' ? function has(key) {\n return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n } : function set(key, value) {\n nativeMethod.call(this, key === 0 ? 0 : key, value);\n return this;\n });\n };\n if (isForced(CONSTRUCTOR_NAME, typeof NativeConstructor != 'function' || !(IS_WEAK || NativePrototype.forEach && !fails(function () {\n new NativeConstructor().entries().next();\n })))) {\n Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);\n InternalMetadataModule.REQUIRED = true;\n } else if (isForced(CONSTRUCTOR_NAME, true)) {\n var instance = new Constructor();\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 = checkCorrectnessOfIteration(function (iterable) {\n new NativeConstructor(iterable);\n });\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n var $instance = new NativeConstructor();\n var index = 5;\n while (index--)\n $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n if (!ACCEPT_ITERABLES) {\n Constructor = wrapper(function (dummy, iterable) {\n anInstance(dummy, Constructor, CONSTRUCTOR_NAME);\n var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);\n if (iterable != undefined)\n iterate(iterable, that[ADDER], that, IS_MAP);\n return that;\n });\n Constructor.prototype = NativePrototype;\n NativePrototype.constructor = Constructor;\n }\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n if (BUGGY_ZERO || HASNT_CHAINING)\n fixMethod(ADDER);\n if (IS_WEAK && NativePrototype.clear)\n delete NativePrototype.clear;\n }\n exported[CONSTRUCTOR_NAME] = Constructor;\n $({\n global: true,\n forced: Constructor != NativeConstructor\n }, exported);\n setToStringTag(Constructor, CONSTRUCTOR_NAME);\n if (!IS_WEAK)\n common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);\n return Constructor;\n};\n\n/***/ }),\n/* 133 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(19);\nvar setPrototypeOf = __w_pdfjs_require__(79);\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (setPrototypeOf && typeof (NewTarget = dummy.constructor) == 'function' && NewTarget !== Wrapper && isObject(NewTargetPrototype = NewTarget.prototype) && NewTargetPrototype !== Wrapper.prototype)\n setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n\n/***/ }),\n/* 134 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar redefineAll = __w_pdfjs_require__(107);\nvar getWeakData = __w_pdfjs_require__(130).getWeakData;\nvar anObject = __w_pdfjs_require__(25);\nvar isObject = __w_pdfjs_require__(19);\nvar anInstance = __w_pdfjs_require__(109);\nvar iterate = __w_pdfjs_require__(110);\nvar ArrayIterationModule = __w_pdfjs_require__(135);\nvar $has = __w_pdfjs_require__(20);\nvar InternalStateModule = __w_pdfjs_require__(31);\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\nvar find = ArrayIterationModule.find;\nvar findIndex = ArrayIterationModule.findIndex;\nvar id = 0;\nvar uncaughtFrozenStore = function (store) {\n return store.frozen || (store.frozen = new UncaughtFrozenStore());\n};\nvar UncaughtFrozenStore = function () {\n this.entries = [];\n};\nvar findUncaughtFrozen = function (store, key) {\n return find(store.entries, function (it) {\n return it[0] === key;\n });\n};\nUncaughtFrozenStore.prototype = {\n get: function (key) {\n var entry = findUncaughtFrozen(this, key);\n if (entry)\n return entry[1];\n },\n has: function (key) {\n return !!findUncaughtFrozen(this, key);\n },\n set: function (key, value) {\n var entry = findUncaughtFrozen(this, key);\n if (entry)\n entry[1] = value;\n else\n this.entries.push([\n key,\n value\n ]);\n },\n 'delete': function (key) {\n var index = findIndex(this.entries, function (it) {\n return it[0] === key;\n });\n if (~index)\n this.entries.splice(index, 1);\n return !!~index;\n }\n};\nmodule.exports = {\n getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, CONSTRUCTOR_NAME);\n setInternalState(that, {\n type: CONSTRUCTOR_NAME,\n id: id++,\n frozen: undefined\n });\n if (iterable != undefined)\n iterate(iterable, that[ADDER], that, IS_MAP);\n });\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var data = getWeakData(anObject(key), true);\n if (data === true)\n uncaughtFrozenStore(state).set(key, value);\n else\n data[state.id] = value;\n return that;\n };\n redefineAll(C.prototype, {\n 'delete': function (key) {\n var state = getInternalState(this);\n if (!isObject(key))\n return false;\n var data = getWeakData(key);\n if (data === true)\n return uncaughtFrozenStore(state)['delete'](key);\n return data && $has(data, state.id) && delete data[state.id];\n },\n has: function has(key) {\n var state = getInternalState(this);\n if (!isObject(key))\n return false;\n var data = getWeakData(key);\n if (data === true)\n return uncaughtFrozenStore(state).has(key);\n return data && $has(data, state.id);\n }\n });\n redefineAll(C.prototype, IS_MAP ? {\n get: function get(key) {\n var state = getInternalState(this);\n if (isObject(key)) {\n var data = getWeakData(key);\n if (data === true)\n return uncaughtFrozenStore(state).get(key);\n return data ? data[state.id] : undefined;\n }\n },\n set: function set(key, value) {\n return define(this, key, value);\n }\n } : {\n add: function add(value) {\n return define(this, value, true);\n }\n });\n return C;\n }\n};\n\n/***/ }),\n/* 135 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar bind = __w_pdfjs_require__(55);\nvar IndexedObject = __w_pdfjs_require__(15);\nvar toObject = __w_pdfjs_require__(75);\nvar toLength = __w_pdfjs_require__(43);\nvar arraySpeciesCreate = __w_pdfjs_require__(136);\nvar push = [].push;\nvar createMethod = function (TYPE) {\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 return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var boundFunction = bind(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var value, result;\n for (; length > index; index++)\n if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP)\n target[index] = result;\n else if (result)\n switch (TYPE) {\n case 3:\n return true;\n case 5:\n return value;\n case 6:\n return index;\n case 2:\n push.call(target, value);\n }\n else if (IS_EVERY)\n return false;\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\nmodule.exports = {\n forEach: createMethod(0),\n map: createMethod(1),\n filter: createMethod(2),\n some: createMethod(3),\n every: createMethod(4),\n find: createMethod(5),\n findIndex: createMethod(6)\n};\n\n/***/ }),\n/* 136 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(19);\nvar isArray = __w_pdfjs_require__(137);\nvar wellKnownSymbol = __w_pdfjs_require__(51);\nvar SPECIES = wellKnownSymbol('species');\nmodule.exports = function (originalArray, length) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n if (typeof C == 'function' && (C === Array || isArray(C.prototype)))\n C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null)\n C = undefined;\n }\n }\n return new (C === undefined ? Array : C)(length === 0 ? 0 : length);\n};\n\n/***/ }),\n/* 137 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar classof = __w_pdfjs_require__(16);\nmodule.exports = Array.isArray || function isArray(arg) {\n return classof(arg) == 'Array';\n};\n\n/***/ }),\n/* 138 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(100);\n__w_pdfjs_require__(139);\n__w_pdfjs_require__(102);\nvar path = __w_pdfjs_require__(39);\nmodule.exports = path.WeakSet;\n\n/***/ }),\n/* 139 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar collection = __w_pdfjs_require__(132);\nvar collectionWeak = __w_pdfjs_require__(134);\ncollection('WeakSet', function (get) {\n return function WeakSet() {\n return get(this, arguments.length ? arguments[0] : undefined);\n };\n}, collectionWeak, false, true);\n\n/***/ }),\n/* 140 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(141);\nvar entryUnbind = __w_pdfjs_require__(54);\nmodule.exports = entryUnbind('String', 'codePointAt');\n\n/***/ }),\n/* 141 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(7);\nvar codeAt = __w_pdfjs_require__(70).codeAt;\n$({\n target: 'String',\n proto: true\n}, {\n codePointAt: function codePointAt(pos) {\n return codeAt(this, pos);\n }\n});\n\n/***/ }),\n/* 142 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(143);\nvar path = __w_pdfjs_require__(39);\nmodule.exports = path.String.fromCodePoint;\n\n/***/ }),\n/* 143 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(7);\nvar toAbsoluteIndex = __w_pdfjs_require__(45);\nvar fromCharCode = String.fromCharCode;\nvar nativeFromCodePoint = String.fromCodePoint;\nvar INCORRECT_LENGTH = !!nativeFromCodePoint && nativeFromCodePoint.length != 1;\n$({\n target: 'String',\n stat: true,\n forced: INCORRECT_LENGTH\n}, {\n fromCodePoint: function fromCodePoint(x) {\n var elements = [];\n var length = arguments.length;\n var i = 0;\n var code;\n while (length > i) {\n code = +arguments[i++];\n if (toAbsoluteIndex(code, 0x10FFFF) !== code)\n throw RangeError(code + ' is not a valid code point');\n elements.push(code < 0x10000 ? fromCharCode(code) : fromCharCode(((code -= 0x10000) >> 10) + 0xD800, code % 0x400 + 0xDC00));\n }\n return elements.join('');\n }\n});\n\n/***/ }),\n/* 144 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(145);\n__w_pdfjs_require__(100);\n__w_pdfjs_require__(147);\n__w_pdfjs_require__(151);\n__w_pdfjs_require__(152);\n__w_pdfjs_require__(153);\n__w_pdfjs_require__(154);\n__w_pdfjs_require__(155);\n__w_pdfjs_require__(156);\n__w_pdfjs_require__(157);\n__w_pdfjs_require__(158);\n__w_pdfjs_require__(159);\n__w_pdfjs_require__(160);\n__w_pdfjs_require__(161);\n__w_pdfjs_require__(162);\n__w_pdfjs_require__(163);\n__w_pdfjs_require__(164);\n__w_pdfjs_require__(165);\n__w_pdfjs_require__(166);\nvar path = __w_pdfjs_require__(39);\nmodule.exports = path.Symbol;\n\n/***/ }),\n/* 145 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(7);\nvar fails = __w_pdfjs_require__(11);\nvar isArray = __w_pdfjs_require__(137);\nvar isObject = __w_pdfjs_require__(19);\nvar toObject = __w_pdfjs_require__(75);\nvar toLength = __w_pdfjs_require__(43);\nvar createProperty = __w_pdfjs_require__(85);\nvar arraySpeciesCreate = __w_pdfjs_require__(136);\nvar arrayMethodHasSpeciesSupport = __w_pdfjs_require__(146);\nvar wellKnownSymbol = __w_pdfjs_require__(51);\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';\nvar IS_CONCAT_SPREADABLE_SUPPORT = !fails(function () {\n var array = [];\n array[IS_CONCAT_SPREADABLE] = false;\n return array.concat()[0] !== array;\n});\nvar SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');\nvar isConcatSpreadable = function (O) {\n if (!isObject(O))\n return false;\n var spreadable = O[IS_CONCAT_SPREADABLE];\n return spreadable !== undefined ? !!spreadable : isArray(O);\n};\nvar FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;\n$({\n target: 'Array',\n proto: true,\n forced: FORCED\n}, {\n concat: function concat(arg) {\n var O = toObject(this);\n var A = arraySpeciesCreate(O, 0);\n var n = 0;\n var i, k, length, len, E;\n for (i = -1, length = arguments.length; i < length; i++) {\n E = i === -1 ? O : arguments[i];\n if (isConcatSpreadable(E)) {\n len = toLength(E.length);\n if (n + len > MAX_SAFE_INTEGER)\n throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n for (k = 0; k < len; k++, n++)\n if (k in E)\n createProperty(A, n, E[k]);\n } else {\n if (n >= MAX_SAFE_INTEGER)\n throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n createProperty(A, n++, E);\n }\n }\n A.length = n;\n return A;\n }\n});\n\n/***/ }),\n/* 146 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(11);\nvar wellKnownSymbol = __w_pdfjs_require__(51);\nvar SPECIES = wellKnownSymbol('species');\nmodule.exports = function (METHOD_NAME) {\n return !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n\n/***/ }),\n/* 147 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(7);\nvar global = __w_pdfjs_require__(8);\nvar IS_PURE = __w_pdfjs_require__(29);\nvar DESCRIPTORS = __w_pdfjs_require__(10);\nvar NATIVE_SYMBOL = __w_pdfjs_require__(52);\nvar fails = __w_pdfjs_require__(11);\nvar has = __w_pdfjs_require__(20);\nvar isArray = __w_pdfjs_require__(137);\nvar isObject = __w_pdfjs_require__(19);\nvar anObject = __w_pdfjs_require__(25);\nvar toObject = __w_pdfjs_require__(75);\nvar toIndexedObject = __w_pdfjs_require__(14);\nvar toPrimitive = __w_pdfjs_require__(18);\nvar createPropertyDescriptor = __w_pdfjs_require__(13);\nvar nativeObjectCreate = __w_pdfjs_require__(64);\nvar objectKeys = __w_pdfjs_require__(66);\nvar getOwnPropertyNamesModule = __w_pdfjs_require__(40);\nvar getOwnPropertyNamesExternal = __w_pdfjs_require__(148);\nvar getOwnPropertySymbolsModule = __w_pdfjs_require__(47);\nvar getOwnPropertyDescriptorModule = __w_pdfjs_require__(9);\nvar definePropertyModule = __w_pdfjs_require__(24);\nvar propertyIsEnumerableModule = __w_pdfjs_require__(12);\nvar hide = __w_pdfjs_require__(23);\nvar redefine = __w_pdfjs_require__(26);\nvar shared = __w_pdfjs_require__(27);\nvar sharedKey = __w_pdfjs_require__(33);\nvar hiddenKeys = __w_pdfjs_require__(35);\nvar uid = __w_pdfjs_require__(34);\nvar wellKnownSymbol = __w_pdfjs_require__(51);\nvar wrappedWellKnownSymbolModule = __w_pdfjs_require__(149);\nvar defineWellKnownSymbol = __w_pdfjs_require__(150);\nvar setToStringTag = __w_pdfjs_require__(77);\nvar InternalStateModule = __w_pdfjs_require__(31);\nvar $forEach = __w_pdfjs_require__(135).forEach;\nvar HIDDEN = sharedKey('hidden');\nvar SYMBOL = 'Symbol';\nvar PROTOTYPE = 'prototype';\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(SYMBOL);\nvar ObjectPrototype = Object[PROTOTYPE];\nvar $Symbol = global.Symbol;\nvar JSON = global.JSON;\nvar nativeJSONStringify = JSON && JSON.stringify;\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;\nvar nativePropertyIsEnumerable = propertyIsEnumerableModule.f;\nvar AllSymbols = shared('symbols');\nvar ObjectPrototypeSymbols = shared('op-symbols');\nvar StringToSymbolRegistry = shared('string-to-symbol-registry');\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\nvar WellKnownSymbolsStore = shared('wks');\nvar QObject = global.QObject;\nvar USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\nvar setSymbolDescriptor = DESCRIPTORS && fails(function () {\n return nativeObjectCreate(nativeDefineProperty({}, 'a', {\n get: function () {\n return nativeDefineProperty(this, 'a', { value: 7 }).a;\n }\n })).a != 7;\n}) ? function (O, P, Attributes) {\n var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);\n if (ObjectPrototypeDescriptor)\n delete ObjectPrototype[P];\n nativeDefineProperty(O, P, Attributes);\n if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {\n nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);\n }\n} : nativeDefineProperty;\nvar wrap = function (tag, description) {\n var symbol = AllSymbols[tag] = nativeObjectCreate($Symbol[PROTOTYPE]);\n setInternalState(symbol, {\n type: SYMBOL,\n tag: tag,\n description: description\n });\n if (!DESCRIPTORS)\n symbol.description = description;\n return symbol;\n};\nvar isSymbol = NATIVE_SYMBOL && typeof $Symbol.iterator == 'symbol' ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return Object(it) instanceof $Symbol;\n};\nvar $defineProperty = function defineProperty(O, P, Attributes) {\n if (O === ObjectPrototype)\n $defineProperty(ObjectPrototypeSymbols, P, Attributes);\n anObject(O);\n var key = toPrimitive(P, true);\n anObject(Attributes);\n if (has(AllSymbols, key)) {\n if (!Attributes.enumerable) {\n if (!has(O, HIDDEN))\n nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {}));\n O[HIDDEN][key] = true;\n } else {\n if (has(O, HIDDEN) && O[HIDDEN][key])\n O[HIDDEN][key] = false;\n Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });\n }\n return setSymbolDescriptor(O, key, Attributes);\n }\n return nativeDefineProperty(O, key, Attributes);\n};\nvar $defineProperties = function defineProperties(O, Properties) {\n anObject(O);\n var properties = toIndexedObject(Properties);\n var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));\n $forEach(keys, function (key) {\n if (!DESCRIPTORS || $propertyIsEnumerable.call(properties, key))\n $defineProperty(O, key, properties[key]);\n });\n return O;\n};\nvar $create = function create(O, Properties) {\n return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(V) {\n var P = toPrimitive(V, true);\n var enumerable = nativePropertyIsEnumerable.call(this, P);\n if (this === ObjectPrototype && has(AllSymbols, P) && !has(ObjectPrototypeSymbols, P))\n return false;\n return enumerable || !has(this, P) || !has(AllSymbols, P) || has(this, HIDDEN) && this[HIDDEN][P] ? enumerable : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {\n var it = toIndexedObject(O);\n var key = toPrimitive(P, true);\n if (it === ObjectPrototype && has(AllSymbols, key) && !has(ObjectPrototypeSymbols, key))\n return;\n var descriptor = nativeGetOwnPropertyDescriptor(it, key);\n if (descriptor && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) {\n descriptor.enumerable = true;\n }\n return descriptor;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(O) {\n var names = nativeGetOwnPropertyNames(toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (!has(AllSymbols, key) && !has(hiddenKeys, key))\n result.push(key);\n });\n return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(O) {\n var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;\n var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (has(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || has(ObjectPrototype, key))) {\n result.push(AllSymbols[key]);\n }\n });\n return result;\n};\nif (!NATIVE_SYMBOL) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol)\n throw TypeError('Symbol is not a constructor');\n var description = !arguments.length || arguments[0] === undefined ? undefined : String(arguments[0]);\n var tag = uid(description);\n var setter = function (value) {\n if (this === ObjectPrototype)\n setter.call(ObjectPrototypeSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag))\n this[HIDDEN][tag] = false;\n setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));\n };\n if (DESCRIPTORS && USE_SETTER)\n setSymbolDescriptor(ObjectPrototype, tag, {\n configurable: true,\n set: setter\n });\n return wrap(tag, description);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return getInternalState(this).tag;\n });\n propertyIsEnumerableModule.f = $propertyIsEnumerable;\n definePropertyModule.f = $defineProperty;\n getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;\n getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;\n getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;\n if (DESCRIPTORS) {\n nativeDefineProperty($Symbol[PROTOTYPE], 'description', {\n configurable: true,\n get: function description() {\n return getInternalState(this).description;\n }\n });\n if (!IS_PURE) {\n redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });\n }\n }\n wrappedWellKnownSymbolModule.f = function (name) {\n return wrap(wellKnownSymbol(name), name);\n };\n}\n$({\n global: true,\n wrap: true,\n forced: !NATIVE_SYMBOL,\n sham: !NATIVE_SYMBOL\n}, { Symbol: $Symbol });\n$forEach(objectKeys(WellKnownSymbolsStore), function (name) {\n defineWellKnownSymbol(name);\n});\n$({\n target: SYMBOL,\n stat: true,\n forced: !NATIVE_SYMBOL\n}, {\n 'for': function (key) {\n var string = String(key);\n if (has(StringToSymbolRegistry, string))\n return StringToSymbolRegistry[string];\n var symbol = $Symbol(string);\n StringToSymbolRegistry[string] = symbol;\n SymbolToStringRegistry[symbol] = string;\n return symbol;\n },\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym))\n throw TypeError(sym + ' is not a symbol');\n if (has(SymbolToStringRegistry, sym))\n return SymbolToStringRegistry[sym];\n },\n useSetter: function () {\n USE_SETTER = true;\n },\n useSimple: function () {\n USE_SETTER = false;\n }\n});\n$({\n target: 'Object',\n stat: true,\n forced: !NATIVE_SYMBOL,\n sham: !DESCRIPTORS\n}, {\n create: $create,\n defineProperty: $defineProperty,\n defineProperties: $defineProperties,\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor\n});\n$({\n target: 'Object',\n stat: true,\n forced: !NATIVE_SYMBOL\n}, {\n getOwnPropertyNames: $getOwnPropertyNames,\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n$({\n target: 'Object',\n stat: true,\n forced: fails(function () {\n getOwnPropertySymbolsModule.f(1);\n })\n}, {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n return getOwnPropertySymbolsModule.f(toObject(it));\n }\n});\nJSON && $({\n target: 'JSON',\n stat: true,\n forced: !NATIVE_SYMBOL || fails(function () {\n var symbol = $Symbol();\n return nativeJSONStringify([symbol]) != '[null]' || nativeJSONStringify({ a: symbol }) != '{}' || nativeJSONStringify(Object(symbol)) != '{}';\n })\n}, {\n stringify: function stringify(it) {\n var args = [it];\n var index = 1;\n var replacer, $replacer;\n while (arguments.length > index)\n args.push(arguments[index++]);\n $replacer = replacer = args[1];\n if (!isObject(replacer) && it === undefined || isSymbol(it))\n return;\n if (!isArray(replacer))\n replacer = function (key, value) {\n if (typeof $replacer == 'function')\n value = $replacer.call(this, key, value);\n if (!isSymbol(value))\n return value;\n };\n args[1] = replacer;\n return nativeJSONStringify.apply(JSON, args);\n }\n});\nif (!$Symbol[PROTOTYPE][TO_PRIMITIVE])\n hide($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\nsetToStringTag($Symbol, SYMBOL);\nhiddenKeys[HIDDEN] = true;\n\n/***/ }),\n/* 148 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar toIndexedObject = __w_pdfjs_require__(14);\nvar nativeGetOwnPropertyNames = __w_pdfjs_require__(40).f;\nvar toString = {}.toString;\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames ? Object.getOwnPropertyNames(window) : [];\nvar getWindowNames = function (it) {\n try {\n return nativeGetOwnPropertyNames(it);\n } catch (error) {\n return windowNames.slice();\n }\n};\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : nativeGetOwnPropertyNames(toIndexedObject(it));\n};\n\n/***/ }),\n/* 149 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nexports.f = __w_pdfjs_require__(51);\n\n/***/ }),\n/* 150 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar path = __w_pdfjs_require__(39);\nvar has = __w_pdfjs_require__(20);\nvar wrappedWellKnownSymbolModule = __w_pdfjs_require__(149);\nvar defineProperty = __w_pdfjs_require__(24).f;\nmodule.exports = function (NAME) {\n var Symbol = path.Symbol || (path.Symbol = {});\n if (!has(Symbol, NAME))\n defineProperty(Symbol, NAME, { value: wrappedWellKnownSymbolModule.f(NAME) });\n};\n\n/***/ }),\n/* 151 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(150);\ndefineWellKnownSymbol('asyncIterator');\n\n/***/ }),\n/* 152 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(7);\nvar DESCRIPTORS = __w_pdfjs_require__(10);\nvar global = __w_pdfjs_require__(8);\nvar has = __w_pdfjs_require__(20);\nvar isObject = __w_pdfjs_require__(19);\nvar defineProperty = __w_pdfjs_require__(24).f;\nvar copyConstructorProperties = __w_pdfjs_require__(36);\nvar NativeSymbol = global.Symbol;\nif (DESCRIPTORS && typeof NativeSymbol == 'function' && (!('description' in NativeSymbol.prototype) || NativeSymbol().description !== undefined)) {\n var EmptyStringDescriptionStore = {};\n var SymbolWrapper = function Symbol() {\n var description = arguments.length < 1 || arguments[0] === undefined ? undefined : String(arguments[0]);\n var result = this instanceof SymbolWrapper ? new NativeSymbol(description) : description === undefined ? NativeSymbol() : NativeSymbol(description);\n if (description === '')\n EmptyStringDescriptionStore[result] = true;\n return result;\n };\n copyConstructorProperties(SymbolWrapper, NativeSymbol);\n var symbolPrototype = SymbolWrapper.prototype = NativeSymbol.prototype;\n symbolPrototype.constructor = SymbolWrapper;\n var symbolToString = symbolPrototype.toString;\n var native = String(NativeSymbol('test')) == 'Symbol(test)';\n var regexp = /^Symbol\\((.*)\\)[^)]+$/;\n defineProperty(symbolPrototype, 'description', {\n configurable: true,\n get: function description() {\n var symbol = isObject(this) ? this.valueOf() : this;\n var string = symbolToString.call(symbol);\n if (has(EmptyStringDescriptionStore, symbol))\n return '';\n var desc = native ? string.slice(7, -1) : string.replace(regexp, '$1');\n return desc === '' ? undefined : desc;\n }\n });\n $({\n global: true,\n forced: true\n }, { Symbol: SymbolWrapper });\n}\n\n/***/ }),\n/* 153 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(150);\ndefineWellKnownSymbol('hasInstance');\n\n/***/ }),\n/* 154 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(150);\ndefineWellKnownSymbol('isConcatSpreadable');\n\n/***/ }),\n/* 155 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(150);\ndefineWellKnownSymbol('iterator');\n\n/***/ }),\n/* 156 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(150);\ndefineWellKnownSymbol('match');\n\n/***/ }),\n/* 157 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(150);\ndefineWellKnownSymbol('matchAll');\n\n/***/ }),\n/* 158 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(150);\ndefineWellKnownSymbol('replace');\n\n/***/ }),\n/* 159 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(150);\ndefineWellKnownSymbol('search');\n\n/***/ }),\n/* 160 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(150);\ndefineWellKnownSymbol('species');\n\n/***/ }),\n/* 161 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(150);\ndefineWellKnownSymbol('split');\n\n/***/ }),\n/* 162 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(150);\ndefineWellKnownSymbol('toPrimitive');\n\n/***/ }),\n/* 163 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(150);\ndefineWellKnownSymbol('toStringTag');\n\n/***/ }),\n/* 164 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(150);\ndefineWellKnownSymbol('unscopables');\n\n/***/ }),\n/* 165 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar setToStringTag = __w_pdfjs_require__(77);\nsetToStringTag(Math, 'Math', true);\n\n/***/ }),\n/* 166 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(8);\nvar setToStringTag = __w_pdfjs_require__(77);\nsetToStringTag(global.JSON, 'JSON', true);\n\n/***/ }),\n/* 167 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(168);\nvar entryUnbind = __w_pdfjs_require__(54);\nmodule.exports = entryUnbind('String', 'padStart');\n\n/***/ }),\n/* 168 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(7);\nvar $padStart = __w_pdfjs_require__(169).start;\nvar WEBKIT_BUG = __w_pdfjs_require__(171);\n$({\n target: 'String',\n proto: true,\n forced: WEBKIT_BUG\n}, {\n padStart: function padStart(maxLength) {\n return $padStart(this, maxLength, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n/***/ }),\n/* 169 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar toLength = __w_pdfjs_require__(43);\nvar repeat = __w_pdfjs_require__(170);\nvar requireObjectCoercible = __w_pdfjs_require__(17);\nvar ceil = Math.ceil;\nvar createMethod = function (IS_END) {\n return function ($this, maxLength, fillString) {\n var S = String(requireObjectCoercible($this));\n var stringLength = S.length;\n var fillStr = fillString === undefined ? ' ' : String(fillString);\n var intMaxLength = toLength(maxLength);\n var fillLen, stringFiller;\n if (intMaxLength <= stringLength || fillStr == '')\n return S;\n fillLen = intMaxLength - stringLength;\n stringFiller = repeat.call(fillStr, ceil(fillLen / fillStr.length));\n if (stringFiller.length > fillLen)\n stringFiller = stringFiller.slice(0, fillLen);\n return IS_END ? S + stringFiller : stringFiller + S;\n };\n};\nmodule.exports = {\n start: createMethod(false),\n end: createMethod(true)\n};\n\n/***/ }),\n/* 170 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar toInteger = __w_pdfjs_require__(44);\nvar requireObjectCoercible = __w_pdfjs_require__(17);\nmodule.exports = ''.repeat || function repeat(count) {\n var str = String(requireObjectCoercible(this));\n var result = '';\n var n = toInteger(count);\n if (n < 0 || n == Infinity)\n throw RangeError('Wrong number of repetitions');\n for (; n > 0; (n >>>= 1) && (str += str))\n if (n & 1)\n result += str;\n return result;\n};\n\n/***/ }),\n/* 171 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar userAgent = __w_pdfjs_require__(114);\nmodule.exports = /Version\\/10\\.\\d+(\\.\\d+)?( Mobile\\/\\w+)? Safari\\//.test(userAgent);\n\n/***/ }),\n/* 172 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(173);\nvar entryUnbind = __w_pdfjs_require__(54);\nmodule.exports = entryUnbind('String', 'padEnd');\n\n/***/ }),\n/* 173 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(7);\nvar $padEnd = __w_pdfjs_require__(169).end;\nvar WEBKIT_BUG = __w_pdfjs_require__(171);\n$({\n target: 'String',\n proto: true,\n forced: WEBKIT_BUG\n}, {\n padEnd: function padEnd(maxLength) {\n return $padEnd(this, maxLength, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n/***/ }),\n/* 174 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(175);\nvar path = __w_pdfjs_require__(39);\nmodule.exports = path.Object.values;\n\n/***/ }),\n/* 175 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(7);\nvar $values = __w_pdfjs_require__(176).values;\n$({\n target: 'Object',\n stat: true\n}, {\n values: function values(O) {\n return $values(O);\n }\n});\n\n/***/ }),\n/* 176 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(10);\nvar objectKeys = __w_pdfjs_require__(66);\nvar toIndexedObject = __w_pdfjs_require__(14);\nvar propertyIsEnumerable = __w_pdfjs_require__(12).f;\nvar createMethod = function (TO_ENTRIES) {\n return function (it) {\n var O = toIndexedObject(it);\n var keys = objectKeys(O);\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n while (length > i) {\n key = keys[i++];\n if (!DESCRIPTORS || propertyIsEnumerable.call(O, key)) {\n result.push(TO_ENTRIES ? [\n key,\n O[key]\n ] : O[key]);\n }\n }\n return result;\n };\n};\nmodule.exports = {\n entries: createMethod(true),\n values: createMethod(false)\n};\n\n/***/ }),\n/* 177 */\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__(178).ReadableStream;\n }\n}\n\n/***/ }),\n/* 178 */\n/***/ (function(__webpack_module__, __webpack_exports__, __w_pdfjs_require__) {\n\n\"use strict\";\n__w_pdfjs_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __w_pdfjs_require__.d(__webpack_exports__, \"ByteLengthQueuingStrategy\", function() { return ByteLengthQueuingStrategy; });\n/* harmony export (binding) */ __w_pdfjs_require__.d(__webpack_exports__, \"CountQueuingStrategy\", function() { return CountQueuingStrategy; });\n/* harmony export (binding) */ __w_pdfjs_require__.d(__webpack_exports__, \"ReadableStream\", function() { return ReadableStream; });\n/* harmony export (binding) */ __w_pdfjs_require__.d(__webpack_exports__, \"TransformStream\", function() { return TransformStream; });\n/* harmony export (binding) */ __w_pdfjs_require__.d(__webpack_exports__, \"WritableStream\", function() { return WritableStream; });\nvar SymbolPolyfill = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? Symbol : function (description) {\n return \"Symbol(\" + description + \")\";\n};\nfunction noop() {\n}\nvar NumberIsNaN = Number.isNaN || function (x) {\n return x !== x;\n};\nfunction typeIsObject(x) {\n return typeof x === 'object' && x !== null || typeof x === 'function';\n}\nfunction createArrayFromList(elements) {\n return elements.slice();\n}\nfunction ArrayBufferCopy(dest, destOffset, src, srcOffset, n) {\n new Uint8Array(dest).set(new Uint8Array(src, srcOffset, n), destOffset);\n}\nfunction IsFiniteNonNegativeNumber(v) {\n if (IsNonNegativeNumber(v) === false) {\n return false;\n }\n if (v === Infinity) {\n return false;\n }\n return true;\n}\nfunction IsNonNegativeNumber(v) {\n if (typeof v !== 'number') {\n return false;\n }\n if (NumberIsNaN(v)) {\n return false;\n }\n if (v < 0) {\n return false;\n }\n return true;\n}\nfunction Call(F, V, args) {\n if (typeof F !== 'function') {\n throw new TypeError('Argument is not a function');\n }\n return Function.prototype.apply.call(F, V, args);\n}\nfunction CreateAlgorithmFromUnderlyingMethod(underlyingObject, methodName, algoArgCount, extraArgs) {\n var method = underlyingObject[methodName];\n if (method !== undefined) {\n if (typeof method !== 'function') {\n throw new TypeError(method + \" is not a method\");\n }\n switch (algoArgCount) {\n case 0: {\n return function () {\n return PromiseCall(method, underlyingObject, extraArgs);\n };\n }\n case 1: {\n return function (arg) {\n var fullArgs = [arg].concat(extraArgs);\n return PromiseCall(method, underlyingObject, fullArgs);\n };\n }\n }\n }\n return function () {\n return Promise.resolve();\n };\n}\nfunction InvokeOrNoop(O, P, args) {\n var method = O[P];\n if (method === undefined) {\n return undefined;\n }\n return Call(method, O, args);\n}\nfunction PromiseCall(F, V, args) {\n try {\n return Promise.resolve(Call(F, V, args));\n } catch (value) {\n return Promise.reject(value);\n }\n}\nfunction TransferArrayBuffer(O) {\n return O;\n}\nfunction IsDetachedBuffer(O) {\n return false;\n}\nfunction ValidateAndNormalizeHighWaterMark(highWaterMark) {\n highWaterMark = Number(highWaterMark);\n if (NumberIsNaN(highWaterMark) || highWaterMark < 0) {\n throw new RangeError('highWaterMark property of a queuing strategy must be non-negative and non-NaN');\n }\n return highWaterMark;\n}\nfunction MakeSizeAlgorithmFromSizeFunction(size) {\n if (size === undefined) {\n return function () {\n return 1;\n };\n }\n if (typeof size !== 'function') {\n throw new TypeError('size property of a queuing strategy must be a function');\n }\n return function (chunk) {\n return size(chunk);\n };\n}\nvar QUEUE_MAX_ARRAY_SIZE = 16384;\nvar SimpleQueue = function () {\n function SimpleQueue() {\n this._cursor = 0;\n this._size = 0;\n this._front = {\n _elements: [],\n _next: undefined\n };\n this._back = this._front;\n this._cursor = 0;\n this._size = 0;\n }\n Object.defineProperty(SimpleQueue.prototype, \"length\", {\n get: function () {\n return this._size;\n },\n enumerable: true,\n configurable: true\n });\n SimpleQueue.prototype.push = function (element) {\n var oldBack = this._back;\n var newBack = oldBack;\n if (oldBack._elements.length === QUEUE_MAX_ARRAY_SIZE - 1) {\n newBack = {\n _elements: [],\n _next: undefined\n };\n }\n oldBack._elements.push(element);\n if (newBack !== oldBack) {\n this._back = newBack;\n oldBack._next = newBack;\n }\n ++this._size;\n };\n SimpleQueue.prototype.shift = function () {\n var oldFront = this._front;\n var newFront = oldFront;\n var oldCursor = this._cursor;\n var newCursor = oldCursor + 1;\n var elements = oldFront._elements;\n var element = elements[oldCursor];\n if (newCursor === QUEUE_MAX_ARRAY_SIZE) {\n newFront = oldFront._next;\n newCursor = 0;\n }\n --this._size;\n this._cursor = newCursor;\n if (oldFront !== newFront) {\n this._front = newFront;\n }\n elements[oldCursor] = undefined;\n return element;\n };\n SimpleQueue.prototype.forEach = function (callback) {\n var i = this._cursor;\n var node = this._front;\n var elements = node._elements;\n while (i !== elements.length || node._next !== undefined) {\n if (i === elements.length) {\n node = node._next;\n elements = node._elements;\n i = 0;\n if (elements.length === 0) {\n break;\n }\n }\n callback(elements[i]);\n ++i;\n }\n };\n SimpleQueue.prototype.peek = function () {\n var front = this._front;\n var cursor = this._cursor;\n return front._elements[cursor];\n };\n return SimpleQueue;\n}();\nfunction ReadableStreamCreateReadResult(value, done, forAuthorCode) {\n var prototype = null;\n if (forAuthorCode === true) {\n prototype = Object.prototype;\n }\n var obj = Object.create(prototype);\n obj.value = value;\n obj.done = done;\n return obj;\n}\nfunction ReadableStreamReaderGenericInitialize(reader, stream) {\n reader._forAuthorCode = true;\n reader._ownerReadableStream = stream;\n stream._reader = reader;\n if (stream._state === 'readable') {\n defaultReaderClosedPromiseInitialize(reader);\n } else if (stream._state === 'closed') {\n defaultReaderClosedPromiseInitializeAsResolved(reader);\n } else {\n defaultReaderClosedPromiseInitializeAsRejected(reader, stream._storedError);\n }\n}\nfunction ReadableStreamReaderGenericCancel(reader, reason) {\n var stream = reader._ownerReadableStream;\n return ReadableStreamCancel(stream, reason);\n}\nfunction ReadableStreamReaderGenericRelease(reader) {\n if (reader._ownerReadableStream._state === 'readable') {\n defaultReaderClosedPromiseReject(reader, new TypeError('Reader was released and can no longer be used to monitor the stream\\'s closedness'));\n } else {\n defaultReaderClosedPromiseResetToRejected(reader, new TypeError('Reader was released and can no longer be used to monitor the stream\\'s closedness'));\n }\n reader._ownerReadableStream._reader = undefined;\n reader._ownerReadableStream = undefined;\n}\nfunction readerLockException(name) {\n return new TypeError('Cannot ' + name + ' a stream using a released reader');\n}\nfunction defaultReaderClosedPromiseInitialize(reader) {\n reader._closedPromise = new Promise(function (resolve, reject) {\n reader._closedPromise_resolve = resolve;\n reader._closedPromise_reject = reject;\n });\n}\nfunction defaultReaderClosedPromiseInitializeAsRejected(reader, reason) {\n defaultReaderClosedPromiseInitialize(reader);\n defaultReaderClosedPromiseReject(reader, reason);\n}\nfunction defaultReaderClosedPromiseInitializeAsResolved(reader) {\n defaultReaderClosedPromiseInitialize(reader);\n defaultReaderClosedPromiseResolve(reader);\n}\nfunction defaultReaderClosedPromiseReject(reader, reason) {\n reader._closedPromise.catch(noop);\n reader._closedPromise_reject(reason);\n reader._closedPromise_resolve = undefined;\n reader._closedPromise_reject = undefined;\n}\nfunction defaultReaderClosedPromiseResetToRejected(reader, reason) {\n defaultReaderClosedPromiseInitializeAsRejected(reader, reason);\n}\nfunction defaultReaderClosedPromiseResolve(reader) {\n reader._closedPromise_resolve(undefined);\n reader._closedPromise_resolve = undefined;\n reader._closedPromise_reject = undefined;\n}\nvar CancelSteps = SymbolPolyfill('[[CancelSteps]]');\nvar PullSteps = SymbolPolyfill('[[PullSteps]]');\nfunction AcquireReadableStreamDefaultReader(stream, forAuthorCode) {\n if (forAuthorCode === void 0) {\n forAuthorCode = false;\n }\n var reader = new ReadableStreamDefaultReader(stream);\n reader._forAuthorCode = forAuthorCode;\n return reader;\n}\nfunction ReadableStreamAddReadRequest(stream) {\n var promise = new Promise(function (resolve, reject) {\n var readRequest = {\n _resolve: resolve,\n _reject: reject\n };\n stream._reader._readRequests.push(readRequest);\n });\n return promise;\n}\nfunction ReadableStreamFulfillReadRequest(stream, chunk, done) {\n var reader = stream._reader;\n var readRequest = reader._readRequests.shift();\n readRequest._resolve(ReadableStreamCreateReadResult(chunk, done, reader._forAuthorCode));\n}\nfunction ReadableStreamGetNumReadRequests(stream) {\n return stream._reader._readRequests.length;\n}\nfunction ReadableStreamHasDefaultReader(stream) {\n var reader = stream._reader;\n if (reader === undefined) {\n return false;\n }\n if (!IsReadableStreamDefaultReader(reader)) {\n return false;\n }\n return true;\n}\nvar ReadableStreamDefaultReader = function () {\n function ReadableStreamDefaultReader(stream) {\n if (IsReadableStream(stream) === false) {\n throw new TypeError('ReadableStreamDefaultReader can only be constructed with a ReadableStream instance');\n }\n if (IsReadableStreamLocked(stream) === true) {\n throw new TypeError('This stream has already been locked for exclusive reading by another reader');\n }\n ReadableStreamReaderGenericInitialize(this, stream);\n this._readRequests = new SimpleQueue();\n }\n Object.defineProperty(ReadableStreamDefaultReader.prototype, \"closed\", {\n get: function () {\n if (!IsReadableStreamDefaultReader(this)) {\n return Promise.reject(defaultReaderBrandCheckException('closed'));\n }\n return this._closedPromise;\n },\n enumerable: true,\n configurable: true\n });\n ReadableStreamDefaultReader.prototype.cancel = function (reason) {\n if (!IsReadableStreamDefaultReader(this)) {\n return Promise.reject(defaultReaderBrandCheckException('cancel'));\n }\n if (this._ownerReadableStream === undefined) {\n return Promise.reject(readerLockException('cancel'));\n }\n return ReadableStreamReaderGenericCancel(this, reason);\n };\n ReadableStreamDefaultReader.prototype.read = function () {\n if (!IsReadableStreamDefaultReader(this)) {\n return Promise.reject(defaultReaderBrandCheckException('read'));\n }\n if (this._ownerReadableStream === undefined) {\n return Promise.reject(readerLockException('read from'));\n }\n return ReadableStreamDefaultReaderRead(this);\n };\n ReadableStreamDefaultReader.prototype.releaseLock = function () {\n if (!IsReadableStreamDefaultReader(this)) {\n throw defaultReaderBrandCheckException('releaseLock');\n }\n if (this._ownerReadableStream === undefined) {\n return;\n }\n if (this._readRequests.length > 0) {\n throw new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled');\n }\n ReadableStreamReaderGenericRelease(this);\n };\n return ReadableStreamDefaultReader;\n}();\nfunction IsReadableStreamDefaultReader(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_readRequests')) {\n return false;\n }\n return true;\n}\nfunction ReadableStreamDefaultReaderRead(reader) {\n var stream = reader._ownerReadableStream;\n stream._disturbed = true;\n if (stream._state === 'closed') {\n return Promise.resolve(ReadableStreamCreateReadResult(undefined, true, reader._forAuthorCode));\n }\n if (stream._state === 'errored') {\n return Promise.reject(stream._storedError);\n }\n return stream._readableStreamController[PullSteps]();\n}\nfunction defaultReaderBrandCheckException(name) {\n return new TypeError(\"ReadableStreamDefaultReader.prototype.\" + name + \" can only be used on a ReadableStreamDefaultReader\");\n}\nvar _a;\nvar AsyncIteratorPrototype;\nif (typeof SymbolPolyfill.asyncIterator === 'symbol') {\n AsyncIteratorPrototype = (_a = {}, _a[SymbolPolyfill.asyncIterator] = function () {\n return this;\n }, _a);\n Object.defineProperty(AsyncIteratorPrototype, SymbolPolyfill.asyncIterator, { enumerable: false });\n}\nvar ReadableStreamAsyncIteratorPrototype = {\n next: function () {\n if (IsReadableStreamAsyncIterator(this) === false) {\n return Promise.reject(streamAsyncIteratorBrandCheckException('next'));\n }\n var reader = this._asyncIteratorReader;\n if (reader._ownerReadableStream === undefined) {\n return Promise.reject(readerLockException('iterate'));\n }\n return ReadableStreamDefaultReaderRead(reader).then(function (result) {\n var done = result.done;\n if (done) {\n ReadableStreamReaderGenericRelease(reader);\n }\n var value = result.value;\n return ReadableStreamCreateReadResult(value, done, true);\n });\n },\n return: function (value) {\n if (IsReadableStreamAsyncIterator(this) === false) {\n return Promise.reject(streamAsyncIteratorBrandCheckException('next'));\n }\n var reader = this._asyncIteratorReader;\n if (reader._ownerReadableStream === undefined) {\n return Promise.reject(readerLockException('finish iterating'));\n }\n if (reader._readRequests.length > 0) {\n return Promise.reject(new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled'));\n }\n if (this._preventCancel === false) {\n var result = ReadableStreamReaderGenericCancel(reader, value);\n ReadableStreamReaderGenericRelease(reader);\n return result.then(function () {\n return ReadableStreamCreateReadResult(value, true, true);\n });\n }\n ReadableStreamReaderGenericRelease(reader);\n return Promise.resolve(ReadableStreamCreateReadResult(value, true, true));\n }\n};\nif (AsyncIteratorPrototype !== undefined) {\n Object.setPrototypeOf(ReadableStreamAsyncIteratorPrototype, AsyncIteratorPrototype);\n}\nObject.defineProperty(ReadableStreamAsyncIteratorPrototype, 'next', { enumerable: false });\nObject.defineProperty(ReadableStreamAsyncIteratorPrototype, 'return', { enumerable: false });\nfunction AcquireReadableStreamAsyncIterator(stream, preventCancel) {\n if (preventCancel === void 0) {\n preventCancel = false;\n }\n var reader = AcquireReadableStreamDefaultReader(stream);\n var iterator = Object.create(ReadableStreamAsyncIteratorPrototype);\n iterator._asyncIteratorReader = reader;\n iterator._preventCancel = Boolean(preventCancel);\n return iterator;\n}\nfunction IsReadableStreamAsyncIterator(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_asyncIteratorReader')) {\n return false;\n }\n return true;\n}\nfunction streamAsyncIteratorBrandCheckException(name) {\n return new TypeError(\"ReadableStreamAsyncIterator.\" + name + \" can only be used on a ReadableSteamAsyncIterator\");\n}\nvar rethrowAssertionErrorRejection = noop;\nfunction DequeueValue(container) {\n var pair = container._queue.shift();\n container._queueTotalSize -= pair.size;\n if (container._queueTotalSize < 0) {\n container._queueTotalSize = 0;\n }\n return pair.value;\n}\nfunction EnqueueValueWithSize(container, value, size) {\n size = Number(size);\n if (!IsFiniteNonNegativeNumber(size)) {\n throw new RangeError('Size must be a finite, non-NaN, non-negative number.');\n }\n container._queue.push({\n value: value,\n size: size\n });\n container._queueTotalSize += size;\n}\nfunction PeekQueueValue(container) {\n var pair = container._queue.peek();\n return pair.value;\n}\nfunction ResetQueue(container) {\n container._queue = new SimpleQueue();\n container._queueTotalSize = 0;\n}\nvar AbortSteps = SymbolPolyfill('[[AbortSteps]]');\nvar ErrorSteps = SymbolPolyfill('[[ErrorSteps]]');\nvar WritableStream = function () {\n function WritableStream(underlyingSink, strategy) {\n if (underlyingSink === void 0) {\n underlyingSink = {};\n }\n if (strategy === void 0) {\n strategy = {};\n }\n InitializeWritableStream(this);\n var size = strategy.size;\n var highWaterMark = strategy.highWaterMark;\n var type = underlyingSink.type;\n if (type !== undefined) {\n throw new RangeError('Invalid type is specified');\n }\n var sizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(size);\n if (highWaterMark === undefined) {\n highWaterMark = 1;\n }\n highWaterMark = ValidateAndNormalizeHighWaterMark(highWaterMark);\n SetUpWritableStreamDefaultControllerFromUnderlyingSink(this, underlyingSink, highWaterMark, sizeAlgorithm);\n }\n Object.defineProperty(WritableStream.prototype, \"locked\", {\n get: function () {\n if (IsWritableStream(this) === false) {\n throw streamBrandCheckException('locked');\n }\n return IsWritableStreamLocked(this);\n },\n enumerable: true,\n configurable: true\n });\n WritableStream.prototype.abort = function (reason) {\n if (IsWritableStream(this) === false) {\n return Promise.reject(streamBrandCheckException('abort'));\n }\n if (IsWritableStreamLocked(this) === true) {\n return Promise.reject(new TypeError('Cannot abort a stream that already has a writer'));\n }\n return WritableStreamAbort(this, reason);\n };\n WritableStream.prototype.getWriter = function () {\n if (IsWritableStream(this) === false) {\n throw streamBrandCheckException('getWriter');\n }\n return AcquireWritableStreamDefaultWriter(this);\n };\n return WritableStream;\n}();\nfunction AcquireWritableStreamDefaultWriter(stream) {\n return new WritableStreamDefaultWriter(stream);\n}\nfunction CreateWritableStream(startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm) {\n if (highWaterMark === void 0) {\n highWaterMark = 1;\n }\n if (sizeAlgorithm === void 0) {\n sizeAlgorithm = function () {\n return 1;\n };\n }\n var stream = Object.create(WritableStream.prototype);\n InitializeWritableStream(stream);\n var controller = Object.create(WritableStreamDefaultController.prototype);\n SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm);\n return stream;\n}\nfunction InitializeWritableStream(stream) {\n stream._state = 'writable';\n stream._storedError = undefined;\n stream._writer = undefined;\n stream._writableStreamController = undefined;\n stream._writeRequests = new SimpleQueue();\n stream._inFlightWriteRequest = undefined;\n stream._closeRequest = undefined;\n stream._inFlightCloseRequest = undefined;\n stream._pendingAbortRequest = undefined;\n stream._backpressure = false;\n}\nfunction IsWritableStream(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_writableStreamController')) {\n return false;\n }\n return true;\n}\nfunction IsWritableStreamLocked(stream) {\n if (stream._writer === undefined) {\n return false;\n }\n return true;\n}\nfunction WritableStreamAbort(stream, reason) {\n var state = stream._state;\n if (state === 'closed' || state === 'errored') {\n return Promise.resolve(undefined);\n }\n if (stream._pendingAbortRequest !== undefined) {\n return stream._pendingAbortRequest._promise;\n }\n var wasAlreadyErroring = false;\n if (state === 'erroring') {\n wasAlreadyErroring = true;\n reason = undefined;\n }\n var promise = new Promise(function (resolve, reject) {\n stream._pendingAbortRequest = {\n _promise: undefined,\n _resolve: resolve,\n _reject: reject,\n _reason: reason,\n _wasAlreadyErroring: wasAlreadyErroring\n };\n });\n stream._pendingAbortRequest._promise = promise;\n if (wasAlreadyErroring === false) {\n WritableStreamStartErroring(stream, reason);\n }\n return promise;\n}\nfunction WritableStreamAddWriteRequest(stream) {\n var promise = new Promise(function (resolve, reject) {\n var writeRequest = {\n _resolve: resolve,\n _reject: reject\n };\n stream._writeRequests.push(writeRequest);\n });\n return promise;\n}\nfunction WritableStreamDealWithRejection(stream, error) {\n var state = stream._state;\n if (state === 'writable') {\n WritableStreamStartErroring(stream, error);\n return;\n }\n WritableStreamFinishErroring(stream);\n}\nfunction WritableStreamStartErroring(stream, reason) {\n var controller = stream._writableStreamController;\n stream._state = 'erroring';\n stream._storedError = reason;\n var writer = stream._writer;\n if (writer !== undefined) {\n WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, reason);\n }\n if (WritableStreamHasOperationMarkedInFlight(stream) === false && controller._started === true) {\n WritableStreamFinishErroring(stream);\n }\n}\nfunction WritableStreamFinishErroring(stream) {\n stream._state = 'errored';\n stream._writableStreamController[ErrorSteps]();\n var storedError = stream._storedError;\n stream._writeRequests.forEach(function (writeRequest) {\n writeRequest._reject(storedError);\n });\n stream._writeRequests = new SimpleQueue();\n if (stream._pendingAbortRequest === undefined) {\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n return;\n }\n var abortRequest = stream._pendingAbortRequest;\n stream._pendingAbortRequest = undefined;\n if (abortRequest._wasAlreadyErroring === true) {\n abortRequest._reject(storedError);\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n return;\n }\n var promise = stream._writableStreamController[AbortSteps](abortRequest._reason);\n promise.then(function () {\n abortRequest._resolve();\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n }, function (reason) {\n abortRequest._reject(reason);\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n });\n}\nfunction WritableStreamFinishInFlightWrite(stream) {\n stream._inFlightWriteRequest._resolve(undefined);\n stream._inFlightWriteRequest = undefined;\n}\nfunction WritableStreamFinishInFlightWriteWithError(stream, error) {\n stream._inFlightWriteRequest._reject(error);\n stream._inFlightWriteRequest = undefined;\n WritableStreamDealWithRejection(stream, error);\n}\nfunction WritableStreamFinishInFlightClose(stream) {\n stream._inFlightCloseRequest._resolve(undefined);\n stream._inFlightCloseRequest = undefined;\n var state = stream._state;\n if (state === 'erroring') {\n stream._storedError = undefined;\n if (stream._pendingAbortRequest !== undefined) {\n stream._pendingAbortRequest._resolve();\n stream._pendingAbortRequest = undefined;\n }\n }\n stream._state = 'closed';\n var writer = stream._writer;\n if (writer !== undefined) {\n defaultWriterClosedPromiseResolve(writer);\n }\n}\nfunction WritableStreamFinishInFlightCloseWithError(stream, error) {\n stream._inFlightCloseRequest._reject(error);\n stream._inFlightCloseRequest = undefined;\n if (stream._pendingAbortRequest !== undefined) {\n stream._pendingAbortRequest._reject(error);\n stream._pendingAbortRequest = undefined;\n }\n WritableStreamDealWithRejection(stream, error);\n}\nfunction WritableStreamCloseQueuedOrInFlight(stream) {\n if (stream._closeRequest === undefined && stream._inFlightCloseRequest === undefined) {\n return false;\n }\n return true;\n}\nfunction WritableStreamHasOperationMarkedInFlight(stream) {\n if (stream._inFlightWriteRequest === undefined && stream._inFlightCloseRequest === undefined) {\n return false;\n }\n return true;\n}\nfunction WritableStreamMarkCloseRequestInFlight(stream) {\n stream._inFlightCloseRequest = stream._closeRequest;\n stream._closeRequest = undefined;\n}\nfunction WritableStreamMarkFirstWriteRequestInFlight(stream) {\n stream._inFlightWriteRequest = stream._writeRequests.shift();\n}\nfunction WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream) {\n if (stream._closeRequest !== undefined) {\n stream._closeRequest._reject(stream._storedError);\n stream._closeRequest = undefined;\n }\n var writer = stream._writer;\n if (writer !== undefined) {\n defaultWriterClosedPromiseReject(writer, stream._storedError);\n }\n}\nfunction WritableStreamUpdateBackpressure(stream, backpressure) {\n var writer = stream._writer;\n if (writer !== undefined && backpressure !== stream._backpressure) {\n if (backpressure === true) {\n defaultWriterReadyPromiseReset(writer);\n } else {\n defaultWriterReadyPromiseResolve(writer);\n }\n }\n stream._backpressure = backpressure;\n}\nvar WritableStreamDefaultWriter = function () {\n function WritableStreamDefaultWriter(stream) {\n if (IsWritableStream(stream) === false) {\n throw new TypeError('WritableStreamDefaultWriter can only be constructed with a WritableStream instance');\n }\n if (IsWritableStreamLocked(stream) === true) {\n throw new TypeError('This stream has already been locked for exclusive writing by another writer');\n }\n this._ownerWritableStream = stream;\n stream._writer = this;\n var state = stream._state;\n if (state === 'writable') {\n if (WritableStreamCloseQueuedOrInFlight(stream) === false && stream._backpressure === true) {\n defaultWriterReadyPromiseInitialize(this);\n } else {\n defaultWriterReadyPromiseInitializeAsResolved(this);\n }\n defaultWriterClosedPromiseInitialize(this);\n } else if (state === 'erroring') {\n defaultWriterReadyPromiseInitializeAsRejected(this, stream._storedError);\n defaultWriterClosedPromiseInitialize(this);\n } else if (state === 'closed') {\n defaultWriterReadyPromiseInitializeAsResolved(this);\n defaultWriterClosedPromiseInitializeAsResolved(this);\n } else {\n var storedError = stream._storedError;\n defaultWriterReadyPromiseInitializeAsRejected(this, storedError);\n defaultWriterClosedPromiseInitializeAsRejected(this, storedError);\n }\n }\n Object.defineProperty(WritableStreamDefaultWriter.prototype, \"closed\", {\n get: function () {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return Promise.reject(defaultWriterBrandCheckException('closed'));\n }\n return this._closedPromise;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(WritableStreamDefaultWriter.prototype, \"desiredSize\", {\n get: function () {\n if (IsWritableStreamDefaultWriter(this) === false) {\n throw defaultWriterBrandCheckException('desiredSize');\n }\n if (this._ownerWritableStream === undefined) {\n throw defaultWriterLockException('desiredSize');\n }\n return WritableStreamDefaultWriterGetDesiredSize(this);\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(WritableStreamDefaultWriter.prototype, \"ready\", {\n get: function () {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return Promise.reject(defaultWriterBrandCheckException('ready'));\n }\n return this._readyPromise;\n },\n enumerable: true,\n configurable: true\n });\n WritableStreamDefaultWriter.prototype.abort = function (reason) {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return Promise.reject(defaultWriterBrandCheckException('abort'));\n }\n if (this._ownerWritableStream === undefined) {\n return Promise.reject(defaultWriterLockException('abort'));\n }\n return WritableStreamDefaultWriterAbort(this, reason);\n };\n WritableStreamDefaultWriter.prototype.close = function () {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return Promise.reject(defaultWriterBrandCheckException('close'));\n }\n var stream = this._ownerWritableStream;\n if (stream === undefined) {\n return Promise.reject(defaultWriterLockException('close'));\n }\n if (WritableStreamCloseQueuedOrInFlight(stream) === true) {\n return Promise.reject(new TypeError('cannot close an already-closing stream'));\n }\n return WritableStreamDefaultWriterClose(this);\n };\n WritableStreamDefaultWriter.prototype.releaseLock = function () {\n if (IsWritableStreamDefaultWriter(this) === false) {\n throw defaultWriterBrandCheckException('releaseLock');\n }\n var stream = this._ownerWritableStream;\n if (stream === undefined) {\n return;\n }\n WritableStreamDefaultWriterRelease(this);\n };\n WritableStreamDefaultWriter.prototype.write = function (chunk) {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return Promise.reject(defaultWriterBrandCheckException('write'));\n }\n if (this._ownerWritableStream === undefined) {\n return Promise.reject(defaultWriterLockException('write to'));\n }\n return WritableStreamDefaultWriterWrite(this, chunk);\n };\n return WritableStreamDefaultWriter;\n}();\nfunction IsWritableStreamDefaultWriter(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_ownerWritableStream')) {\n return false;\n }\n return true;\n}\nfunction WritableStreamDefaultWriterAbort(writer, reason) {\n var stream = writer._ownerWritableStream;\n return WritableStreamAbort(stream, reason);\n}\nfunction WritableStreamDefaultWriterClose(writer) {\n var stream = writer._ownerWritableStream;\n var state = stream._state;\n if (state === 'closed' || state === 'errored') {\n return Promise.reject(new TypeError(\"The stream (in \" + state + \" state) is not in the writable state and cannot be closed\"));\n }\n var promise = new Promise(function (resolve, reject) {\n var closeRequest = {\n _resolve: resolve,\n _reject: reject\n };\n stream._closeRequest = closeRequest;\n });\n if (stream._backpressure === true && state === 'writable') {\n defaultWriterReadyPromiseResolve(writer);\n }\n WritableStreamDefaultControllerClose(stream._writableStreamController);\n return promise;\n}\nfunction WritableStreamDefaultWriterCloseWithErrorPropagation(writer) {\n var stream = writer._ownerWritableStream;\n var state = stream._state;\n if (WritableStreamCloseQueuedOrInFlight(stream) === true || state === 'closed') {\n return Promise.resolve();\n }\n if (state === 'errored') {\n return Promise.reject(stream._storedError);\n }\n return WritableStreamDefaultWriterClose(writer);\n}\nfunction WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, error) {\n if (writer._closedPromiseState === 'pending') {\n defaultWriterClosedPromiseReject(writer, error);\n } else {\n defaultWriterClosedPromiseResetToRejected(writer, error);\n }\n}\nfunction WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, error) {\n if (writer._readyPromiseState === 'pending') {\n defaultWriterReadyPromiseReject(writer, error);\n } else {\n defaultWriterReadyPromiseResetToRejected(writer, error);\n }\n}\nfunction WritableStreamDefaultWriterGetDesiredSize(writer) {\n var stream = writer._ownerWritableStream;\n var state = stream._state;\n if (state === 'errored' || state === 'erroring') {\n return null;\n }\n if (state === 'closed') {\n return 0;\n }\n return WritableStreamDefaultControllerGetDesiredSize(stream._writableStreamController);\n}\nfunction WritableStreamDefaultWriterRelease(writer) {\n var stream = writer._ownerWritableStream;\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}\nfunction WritableStreamDefaultWriterWrite(writer, chunk) {\n var stream = writer._ownerWritableStream;\n var controller = stream._writableStreamController;\n var chunkSize = WritableStreamDefaultControllerGetChunkSize(controller, chunk);\n if (stream !== writer._ownerWritableStream) {\n return Promise.reject(defaultWriterLockException('write to'));\n }\n var state = stream._state;\n if (state === 'errored') {\n return Promise.reject(stream._storedError);\n }\n if (WritableStreamCloseQueuedOrInFlight(stream) === true || state === 'closed') {\n return Promise.reject(new TypeError('The stream is closing or closed and cannot be written to'));\n }\n if (state === 'erroring') {\n return Promise.reject(stream._storedError);\n }\n var promise = WritableStreamAddWriteRequest(stream);\n WritableStreamDefaultControllerWrite(controller, chunk, chunkSize);\n return promise;\n}\nvar WritableStreamDefaultController = function () {\n function WritableStreamDefaultController() {\n throw new TypeError('WritableStreamDefaultController cannot be constructed explicitly');\n }\n WritableStreamDefaultController.prototype.error = function (e) {\n if (IsWritableStreamDefaultController(this) === false) {\n throw new TypeError('WritableStreamDefaultController.prototype.error can only be used on a WritableStreamDefaultController');\n }\n var state = this._controlledWritableStream._state;\n if (state !== 'writable') {\n return;\n }\n WritableStreamDefaultControllerError(this, e);\n };\n WritableStreamDefaultController.prototype[AbortSteps] = function (reason) {\n var result = this._abortAlgorithm(reason);\n WritableStreamDefaultControllerClearAlgorithms(this);\n return result;\n };\n WritableStreamDefaultController.prototype[ErrorSteps] = function () {\n ResetQueue(this);\n };\n return WritableStreamDefaultController;\n}();\nfunction IsWritableStreamDefaultController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_controlledWritableStream')) {\n return false;\n }\n return true;\n}\nfunction SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm) {\n controller._controlledWritableStream = stream;\n stream._writableStreamController = controller;\n controller._queue = undefined;\n controller._queueTotalSize = undefined;\n ResetQueue(controller);\n controller._started = false;\n controller._strategySizeAlgorithm = sizeAlgorithm;\n controller._strategyHWM = highWaterMark;\n controller._writeAlgorithm = writeAlgorithm;\n controller._closeAlgorithm = closeAlgorithm;\n controller._abortAlgorithm = abortAlgorithm;\n var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);\n WritableStreamUpdateBackpressure(stream, backpressure);\n var startResult = startAlgorithm();\n var startPromise = Promise.resolve(startResult);\n startPromise.then(function () {\n controller._started = true;\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }, function (r) {\n controller._started = true;\n WritableStreamDealWithRejection(stream, r);\n }).catch(rethrowAssertionErrorRejection);\n}\nfunction SetUpWritableStreamDefaultControllerFromUnderlyingSink(stream, underlyingSink, highWaterMark, sizeAlgorithm) {\n var controller = Object.create(WritableStreamDefaultController.prototype);\n function startAlgorithm() {\n return InvokeOrNoop(underlyingSink, 'start', [controller]);\n }\n var writeAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSink, 'write', 1, [controller]);\n var closeAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSink, 'close', 0, []);\n var abortAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSink, 'abort', 1, []);\n SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm);\n}\nfunction WritableStreamDefaultControllerClearAlgorithms(controller) {\n controller._writeAlgorithm = undefined;\n controller._closeAlgorithm = undefined;\n controller._abortAlgorithm = undefined;\n controller._strategySizeAlgorithm = undefined;\n}\nfunction WritableStreamDefaultControllerClose(controller) {\n EnqueueValueWithSize(controller, 'close', 0);\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n}\nfunction WritableStreamDefaultControllerGetChunkSize(controller, chunk) {\n try {\n return controller._strategySizeAlgorithm(chunk);\n } catch (chunkSizeE) {\n WritableStreamDefaultControllerErrorIfNeeded(controller, chunkSizeE);\n return 1;\n }\n}\nfunction WritableStreamDefaultControllerGetDesiredSize(controller) {\n return controller._strategyHWM - controller._queueTotalSize;\n}\nfunction WritableStreamDefaultControllerWrite(controller, chunk, chunkSize) {\n var writeRecord = { chunk: chunk };\n try {\n EnqueueValueWithSize(controller, writeRecord, chunkSize);\n } catch (enqueueE) {\n WritableStreamDefaultControllerErrorIfNeeded(controller, enqueueE);\n return;\n }\n var stream = controller._controlledWritableStream;\n if (WritableStreamCloseQueuedOrInFlight(stream) === false && stream._state === 'writable') {\n var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);\n WritableStreamUpdateBackpressure(stream, backpressure);\n }\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n}\nfunction WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller) {\n var stream = controller._controlledWritableStream;\n if (controller._started === false) {\n return;\n }\n if (stream._inFlightWriteRequest !== undefined) {\n return;\n }\n var state = stream._state;\n if (state === 'erroring') {\n WritableStreamFinishErroring(stream);\n return;\n }\n if (controller._queue.length === 0) {\n return;\n }\n var writeRecord = PeekQueueValue(controller);\n if (writeRecord === 'close') {\n WritableStreamDefaultControllerProcessClose(controller);\n } else {\n WritableStreamDefaultControllerProcessWrite(controller, writeRecord.chunk);\n }\n}\nfunction WritableStreamDefaultControllerErrorIfNeeded(controller, error) {\n if (controller._controlledWritableStream._state === 'writable') {\n WritableStreamDefaultControllerError(controller, error);\n }\n}\nfunction WritableStreamDefaultControllerProcessClose(controller) {\n var stream = controller._controlledWritableStream;\n WritableStreamMarkCloseRequestInFlight(stream);\n DequeueValue(controller);\n var sinkClosePromise = controller._closeAlgorithm();\n WritableStreamDefaultControllerClearAlgorithms(controller);\n sinkClosePromise.then(function () {\n WritableStreamFinishInFlightClose(stream);\n }, function (reason) {\n WritableStreamFinishInFlightCloseWithError(stream, reason);\n }).catch(rethrowAssertionErrorRejection);\n}\nfunction WritableStreamDefaultControllerProcessWrite(controller, chunk) {\n var stream = controller._controlledWritableStream;\n WritableStreamMarkFirstWriteRequestInFlight(stream);\n var sinkWritePromise = controller._writeAlgorithm(chunk);\n sinkWritePromise.then(function () {\n WritableStreamFinishInFlightWrite(stream);\n var state = stream._state;\n DequeueValue(controller);\n if (WritableStreamCloseQueuedOrInFlight(stream) === false && state === 'writable') {\n var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);\n WritableStreamUpdateBackpressure(stream, backpressure);\n }\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }, function (reason) {\n if (stream._state === 'writable') {\n WritableStreamDefaultControllerClearAlgorithms(controller);\n }\n WritableStreamFinishInFlightWriteWithError(stream, reason);\n }).catch(rethrowAssertionErrorRejection);\n}\nfunction WritableStreamDefaultControllerGetBackpressure(controller) {\n var desiredSize = WritableStreamDefaultControllerGetDesiredSize(controller);\n return desiredSize <= 0;\n}\nfunction WritableStreamDefaultControllerError(controller, error) {\n var stream = controller._controlledWritableStream;\n WritableStreamDefaultControllerClearAlgorithms(controller);\n WritableStreamStartErroring(stream, error);\n}\nfunction streamBrandCheckException(name) {\n return new TypeError(\"WritableStream.prototype.\" + name + \" can only be used on a WritableStream\");\n}\nfunction defaultWriterBrandCheckException(name) {\n return new TypeError(\"WritableStreamDefaultWriter.prototype.\" + name + \" can only be used on a WritableStreamDefaultWriter\");\n}\nfunction defaultWriterLockException(name) {\n return new TypeError('Cannot ' + name + ' a stream using a released writer');\n}\nfunction 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}\nfunction defaultWriterClosedPromiseInitializeAsRejected(writer, reason) {\n defaultWriterClosedPromiseInitialize(writer);\n defaultWriterClosedPromiseReject(writer, reason);\n}\nfunction defaultWriterClosedPromiseInitializeAsResolved(writer) {\n defaultWriterClosedPromiseInitialize(writer);\n defaultWriterClosedPromiseResolve(writer);\n}\nfunction defaultWriterClosedPromiseReject(writer, reason) {\n writer._closedPromise.catch(noop);\n writer._closedPromise_reject(reason);\n writer._closedPromise_resolve = undefined;\n writer._closedPromise_reject = undefined;\n writer._closedPromiseState = 'rejected';\n}\nfunction defaultWriterClosedPromiseResetToRejected(writer, reason) {\n defaultWriterClosedPromiseInitializeAsRejected(writer, reason);\n}\nfunction defaultWriterClosedPromiseResolve(writer) {\n writer._closedPromise_resolve(undefined);\n writer._closedPromise_resolve = undefined;\n writer._closedPromise_reject = undefined;\n writer._closedPromiseState = 'resolved';\n}\nfunction 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}\nfunction defaultWriterReadyPromiseInitializeAsRejected(writer, reason) {\n defaultWriterReadyPromiseInitialize(writer);\n defaultWriterReadyPromiseReject(writer, reason);\n}\nfunction defaultWriterReadyPromiseInitializeAsResolved(writer) {\n defaultWriterReadyPromiseInitialize(writer);\n defaultWriterReadyPromiseResolve(writer);\n}\nfunction defaultWriterReadyPromiseReject(writer, reason) {\n writer._readyPromise.catch(noop);\n writer._readyPromise_reject(reason);\n writer._readyPromise_resolve = undefined;\n writer._readyPromise_reject = undefined;\n writer._readyPromiseState = 'rejected';\n}\nfunction defaultWriterReadyPromiseReset(writer) {\n defaultWriterReadyPromiseInitialize(writer);\n}\nfunction defaultWriterReadyPromiseResetToRejected(writer, reason) {\n defaultWriterReadyPromiseInitializeAsRejected(writer, reason);\n}\nfunction defaultWriterReadyPromiseResolve(writer) {\n writer._readyPromise_resolve(undefined);\n writer._readyPromise_resolve = undefined;\n writer._readyPromise_reject = undefined;\n writer._readyPromiseState = 'fulfilled';\n}\nfunction ReadableStreamPipeTo(source, dest, preventClose, preventAbort, preventCancel, signal) {\n var reader = AcquireReadableStreamDefaultReader(source);\n var writer = AcquireWritableStreamDefaultWriter(dest);\n var shuttingDown = false;\n var currentWrite = Promise.resolve();\n return new Promise(function (resolve, reject) {\n var abortAlgorithm;\n if (signal !== undefined) {\n abortAlgorithm = function () {\n var error = new DOMException('Aborted', 'AbortError');\n var actions = [];\n if (preventAbort === false) {\n actions.push(function () {\n if (dest._state === 'writable') {\n return WritableStreamAbort(dest, error);\n }\n return Promise.resolve();\n });\n }\n if (preventCancel === false) {\n actions.push(function () {\n if (source._state === 'readable') {\n return ReadableStreamCancel(source, error);\n }\n return Promise.resolve();\n });\n }\n shutdownWithAction(function () {\n return Promise.all(actions.map(function (action) {\n return action();\n }));\n }, true, error);\n };\n if (signal.aborted === true) {\n abortAlgorithm();\n return;\n }\n signal.addEventListener('abort', abortAlgorithm);\n }\n function pipeLoop() {\n return new Promise(function (resolveLoop, rejectLoop) {\n function next(done) {\n if (done) {\n resolveLoop();\n } else {\n pipeStep().then(next, rejectLoop);\n }\n }\n next(false);\n });\n }\n function pipeStep() {\n if (shuttingDown === true) {\n return Promise.resolve(true);\n }\n return writer._readyPromise.then(function () {\n return ReadableStreamDefaultReaderRead(reader).then(function (_a) {\n var value = _a.value, done = _a.done;\n if (done === true) {\n return true;\n }\n currentWrite = WritableStreamDefaultWriterWrite(writer, value).catch(noop);\n return false;\n });\n });\n }\n isOrBecomesErrored(source, 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(source, storedError);\n }, true, storedError);\n } else {\n shutdown(true, storedError);\n }\n });\n isOrBecomesClosed(source, reader._closedPromise, function () {\n if (preventClose === false) {\n shutdownWithAction(function () {\n return WritableStreamDefaultWriterCloseWithErrorPropagation(writer);\n });\n } else {\n shutdown();\n }\n });\n if (WritableStreamCloseQueuedOrInFlight(dest) === true || dest._state === 'closed') {\n var destClosed_1 = new TypeError('the destination writable stream closed before all data could be piped to it');\n if (preventCancel === false) {\n shutdownWithAction(function () {\n return ReadableStreamCancel(source, destClosed_1);\n }, true, destClosed_1);\n } else {\n shutdown(true, destClosed_1);\n }\n }\n pipeLoop().catch(rethrowAssertionErrorRejection);\n function waitForWritesToFinish() {\n var oldCurrentWrite = currentWrite;\n return currentWrite.then(function () {\n return oldCurrentWrite !== currentWrite ? waitForWritesToFinish() : undefined;\n });\n }\n function isOrBecomesErrored(stream, promise, action) {\n if (stream._state === 'errored') {\n action(stream._storedError);\n } else {\n promise.catch(action).catch(rethrowAssertionErrorRejection);\n }\n }\n function isOrBecomesClosed(stream, promise, action) {\n if (stream._state === 'closed') {\n action();\n } else {\n promise.then(action).catch(rethrowAssertionErrorRejection);\n }\n }\n function shutdownWithAction(action, originalIsError, originalError) {\n if (shuttingDown === true) {\n return;\n }\n shuttingDown = true;\n if (dest._state === 'writable' && WritableStreamCloseQueuedOrInFlight(dest) === false) {\n waitForWritesToFinish().then(doTheRest);\n } else {\n doTheRest();\n }\n function doTheRest() {\n action().then(function () {\n return finalize(originalIsError, originalError);\n }, function (newError) {\n return finalize(true, newError);\n }).catch(rethrowAssertionErrorRejection);\n }\n }\n function shutdown(isError, error) {\n if (shuttingDown === true) {\n return;\n }\n shuttingDown = true;\n if (dest._state === 'writable' && WritableStreamCloseQueuedOrInFlight(dest) === false) {\n waitForWritesToFinish().then(function () {\n return finalize(isError, error);\n }).catch(rethrowAssertionErrorRejection);\n } else {\n finalize(isError, error);\n }\n }\n function finalize(isError, error) {\n WritableStreamDefaultWriterRelease(writer);\n ReadableStreamReaderGenericRelease(reader);\n if (signal !== undefined) {\n signal.removeEventListener('abort', abortAlgorithm);\n }\n if (isError) {\n reject(error);\n } else {\n resolve(undefined);\n }\n }\n });\n}\nvar ReadableStreamDefaultController = function () {\n function ReadableStreamDefaultController() {\n throw new TypeError();\n }\n Object.defineProperty(ReadableStreamDefaultController.prototype, \"desiredSize\", {\n get: function () {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('desiredSize');\n }\n return ReadableStreamDefaultControllerGetDesiredSize(this);\n },\n enumerable: true,\n configurable: true\n });\n ReadableStreamDefaultController.prototype.close = function () {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('close');\n }\n if (ReadableStreamDefaultControllerCanCloseOrEnqueue(this) === false) {\n throw new TypeError('The stream is not in a state that permits close');\n }\n ReadableStreamDefaultControllerClose(this);\n };\n ReadableStreamDefaultController.prototype.enqueue = function (chunk) {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('enqueue');\n }\n if (ReadableStreamDefaultControllerCanCloseOrEnqueue(this) === false) {\n throw new TypeError('The stream is not in a state that permits enqueue');\n }\n return ReadableStreamDefaultControllerEnqueue(this, chunk);\n };\n ReadableStreamDefaultController.prototype.error = function (e) {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('error');\n }\n ReadableStreamDefaultControllerError(this, e);\n };\n ReadableStreamDefaultController.prototype[CancelSteps] = function (reason) {\n ResetQueue(this);\n var result = this._cancelAlgorithm(reason);\n ReadableStreamDefaultControllerClearAlgorithms(this);\n return result;\n };\n ReadableStreamDefaultController.prototype[PullSteps] = function () {\n var stream = this._controlledReadableStream;\n if (this._queue.length > 0) {\n var chunk = DequeueValue(this);\n if (this._closeRequested === true && this._queue.length === 0) {\n ReadableStreamDefaultControllerClearAlgorithms(this);\n ReadableStreamClose(stream);\n } else {\n ReadableStreamDefaultControllerCallPullIfNeeded(this);\n }\n return Promise.resolve(ReadableStreamCreateReadResult(chunk, false, stream._reader._forAuthorCode));\n }\n var pendingPromise = ReadableStreamAddReadRequest(stream);\n ReadableStreamDefaultControllerCallPullIfNeeded(this);\n return pendingPromise;\n };\n return ReadableStreamDefaultController;\n}();\nfunction IsReadableStreamDefaultController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_controlledReadableStream')) {\n return false;\n }\n return true;\n}\nfunction ReadableStreamDefaultControllerCallPullIfNeeded(controller) {\n var shouldPull = ReadableStreamDefaultControllerShouldCallPull(controller);\n if (shouldPull === false) {\n return;\n }\n if (controller._pulling === true) {\n controller._pullAgain = true;\n return;\n }\n controller._pulling = true;\n var pullPromise = controller._pullAlgorithm();\n pullPromise.then(function () {\n controller._pulling = false;\n if (controller._pullAgain === true) {\n controller._pullAgain = false;\n ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n }\n }, function (e) {\n ReadableStreamDefaultControllerError(controller, e);\n }).catch(rethrowAssertionErrorRejection);\n}\nfunction ReadableStreamDefaultControllerShouldCallPull(controller) {\n var stream = controller._controlledReadableStream;\n if (ReadableStreamDefaultControllerCanCloseOrEnqueue(controller) === false) {\n return false;\n }\n if (controller._started === false) {\n return false;\n }\n if (IsReadableStreamLocked(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {\n return true;\n }\n var desiredSize = ReadableStreamDefaultControllerGetDesiredSize(controller);\n if (desiredSize > 0) {\n return true;\n }\n return false;\n}\nfunction ReadableStreamDefaultControllerClearAlgorithms(controller) {\n controller._pullAlgorithm = undefined;\n controller._cancelAlgorithm = undefined;\n controller._strategySizeAlgorithm = undefined;\n}\nfunction ReadableStreamDefaultControllerClose(controller) {\n var stream = controller._controlledReadableStream;\n controller._closeRequested = true;\n if (controller._queue.length === 0) {\n ReadableStreamDefaultControllerClearAlgorithms(controller);\n ReadableStreamClose(stream);\n }\n}\nfunction ReadableStreamDefaultControllerEnqueue(controller, chunk) {\n var stream = controller._controlledReadableStream;\n if (IsReadableStreamLocked(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {\n ReadableStreamFulfillReadRequest(stream, chunk, false);\n } else {\n var chunkSize = void 0;\n try {\n chunkSize = controller._strategySizeAlgorithm(chunk);\n } catch (chunkSizeE) {\n ReadableStreamDefaultControllerError(controller, chunkSizeE);\n throw chunkSizeE;\n }\n try {\n EnqueueValueWithSize(controller, chunk, chunkSize);\n } catch (enqueueE) {\n ReadableStreamDefaultControllerError(controller, enqueueE);\n throw enqueueE;\n }\n }\n ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n}\nfunction ReadableStreamDefaultControllerError(controller, e) {\n var stream = controller._controlledReadableStream;\n if (stream._state !== 'readable') {\n return;\n }\n ResetQueue(controller);\n ReadableStreamDefaultControllerClearAlgorithms(controller);\n ReadableStreamError(stream, e);\n}\nfunction ReadableStreamDefaultControllerGetDesiredSize(controller) {\n var stream = controller._controlledReadableStream;\n var state = stream._state;\n if (state === 'errored') {\n return null;\n }\n if (state === 'closed') {\n return 0;\n }\n return controller._strategyHWM - controller._queueTotalSize;\n}\nfunction ReadableStreamDefaultControllerHasBackpressure(controller) {\n if (ReadableStreamDefaultControllerShouldCallPull(controller) === true) {\n return false;\n }\n return true;\n}\nfunction ReadableStreamDefaultControllerCanCloseOrEnqueue(controller) {\n var state = controller._controlledReadableStream._state;\n if (controller._closeRequested === false && state === 'readable') {\n return true;\n }\n return false;\n}\nfunction SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm) {\n controller._controlledReadableStream = stream;\n controller._queue = undefined;\n controller._queueTotalSize = undefined;\n ResetQueue(controller);\n controller._started = false;\n controller._closeRequested = false;\n controller._pullAgain = false;\n controller._pulling = false;\n controller._strategySizeAlgorithm = sizeAlgorithm;\n controller._strategyHWM = highWaterMark;\n controller._pullAlgorithm = pullAlgorithm;\n controller._cancelAlgorithm = cancelAlgorithm;\n stream._readableStreamController = controller;\n var startResult = startAlgorithm();\n Promise.resolve(startResult).then(function () {\n controller._started = true;\n ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n }, function (r) {\n ReadableStreamDefaultControllerError(controller, r);\n }).catch(rethrowAssertionErrorRejection);\n}\nfunction SetUpReadableStreamDefaultControllerFromUnderlyingSource(stream, underlyingSource, highWaterMark, sizeAlgorithm) {\n var controller = Object.create(ReadableStreamDefaultController.prototype);\n function startAlgorithm() {\n return InvokeOrNoop(underlyingSource, 'start', [controller]);\n }\n var pullAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSource, 'pull', 0, [controller]);\n var cancelAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSource, 'cancel', 1, []);\n SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm);\n}\nfunction defaultControllerBrandCheckException(name) {\n return new TypeError(\"ReadableStreamDefaultController.prototype.\" + name + \" can only be used on a ReadableStreamDefaultController\");\n}\nfunction ReadableStreamTee(stream, cloneForBranch2) {\n var reader = AcquireReadableStreamDefaultReader(stream);\n var reading = false;\n var canceled1 = false;\n var canceled2 = false;\n var reason1;\n var reason2;\n var branch1;\n var branch2;\n var resolveCancelPromise;\n var cancelPromise = new Promise(function (resolve) {\n resolveCancelPromise = resolve;\n });\n function pullAlgorithm() {\n if (reading === true) {\n return Promise.resolve();\n }\n reading = true;\n var readPromise = ReadableStreamDefaultReaderRead(reader).then(function (result) {\n reading = false;\n var done = result.done;\n if (done === true) {\n if (canceled1 === false) {\n ReadableStreamDefaultControllerClose(branch1._readableStreamController);\n }\n if (canceled2 === false) {\n ReadableStreamDefaultControllerClose(branch2._readableStreamController);\n }\n return;\n }\n var value = result.value;\n var value1 = value;\n var value2 = value;\n if (canceled1 === false) {\n ReadableStreamDefaultControllerEnqueue(branch1._readableStreamController, value1);\n }\n if (canceled2 === false) {\n ReadableStreamDefaultControllerEnqueue(branch2._readableStreamController, value2);\n }\n });\n readPromise.catch(rethrowAssertionErrorRejection);\n return Promise.resolve();\n }\n function cancel1Algorithm(reason) {\n canceled1 = true;\n reason1 = reason;\n if (canceled2 === true) {\n var compositeReason = createArrayFromList([\n reason1,\n reason2\n ]);\n var cancelResult = ReadableStreamCancel(stream, compositeReason);\n resolveCancelPromise(cancelResult);\n }\n return cancelPromise;\n }\n function cancel2Algorithm(reason) {\n canceled2 = true;\n reason2 = reason;\n if (canceled1 === true) {\n var compositeReason = createArrayFromList([\n reason1,\n reason2\n ]);\n var cancelResult = ReadableStreamCancel(stream, compositeReason);\n resolveCancelPromise(cancelResult);\n }\n return cancelPromise;\n }\n function startAlgorithm() {\n }\n branch1 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancel1Algorithm);\n branch2 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancel2Algorithm);\n reader._closedPromise.catch(function (r) {\n ReadableStreamDefaultControllerError(branch1._readableStreamController, r);\n ReadableStreamDefaultControllerError(branch2._readableStreamController, r);\n });\n return [\n branch1,\n branch2\n ];\n}\nvar NumberIsInteger = Number.isInteger || function (value) {\n return typeof value === 'number' && isFinite(value) && Math.floor(value) === value;\n};\nvar ReadableStreamBYOBRequest = function () {\n function ReadableStreamBYOBRequest() {\n throw new TypeError('ReadableStreamBYOBRequest cannot be used directly');\n }\n Object.defineProperty(ReadableStreamBYOBRequest.prototype, \"view\", {\n get: function () {\n if (IsReadableStreamBYOBRequest(this) === false) {\n throw byobRequestBrandCheckException('view');\n }\n return this._view;\n },\n enumerable: true,\n configurable: true\n });\n ReadableStreamBYOBRequest.prototype.respond = function (bytesWritten) {\n if (IsReadableStreamBYOBRequest(this) === false) {\n throw byobRequestBrandCheckException('respond');\n }\n if (this._associatedReadableByteStreamController === undefined) {\n throw new TypeError('This BYOB request has been invalidated');\n }\n if (IsDetachedBuffer(this._view.buffer) === true);\n ReadableByteStreamControllerRespond(this._associatedReadableByteStreamController, bytesWritten);\n };\n ReadableStreamBYOBRequest.prototype.respondWithNewView = function (view) {\n if (IsReadableStreamBYOBRequest(this) === false) {\n throw byobRequestBrandCheckException('respond');\n }\n if (this._associatedReadableByteStreamController === undefined) {\n throw new TypeError('This BYOB request has been invalidated');\n }\n if (!ArrayBuffer.isView(view)) {\n throw new TypeError('You can only respond with array buffer views');\n }\n if (IsDetachedBuffer(view.buffer) === true);\n ReadableByteStreamControllerRespondWithNewView(this._associatedReadableByteStreamController, view);\n };\n return ReadableStreamBYOBRequest;\n}();\nvar ReadableByteStreamController = function () {\n function ReadableByteStreamController() {\n throw new TypeError('ReadableByteStreamController constructor cannot be used directly');\n }\n Object.defineProperty(ReadableByteStreamController.prototype, \"byobRequest\", {\n get: function () {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('byobRequest');\n }\n if (this._byobRequest === undefined && this._pendingPullIntos.length > 0) {\n var firstDescriptor = this._pendingPullIntos.peek();\n var view = new Uint8Array(firstDescriptor.buffer, firstDescriptor.byteOffset + firstDescriptor.bytesFilled, firstDescriptor.byteLength - firstDescriptor.bytesFilled);\n var byobRequest = Object.create(ReadableStreamBYOBRequest.prototype);\n SetUpReadableStreamBYOBRequest(byobRequest, this, view);\n this._byobRequest = byobRequest;\n }\n return this._byobRequest;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ReadableByteStreamController.prototype, \"desiredSize\", {\n get: function () {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('desiredSize');\n }\n return ReadableByteStreamControllerGetDesiredSize(this);\n },\n enumerable: true,\n configurable: true\n });\n ReadableByteStreamController.prototype.close = function () {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('close');\n }\n if (this._closeRequested === true) {\n throw new TypeError('The stream has already been closed; do not close it again!');\n }\n var state = this._controlledReadableByteStream._state;\n if (state !== 'readable') {\n throw new TypeError(\"The stream (in \" + state + \" state) is not in the readable state and cannot be closed\");\n }\n ReadableByteStreamControllerClose(this);\n };\n ReadableByteStreamController.prototype.enqueue = function (chunk) {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('enqueue');\n }\n if (this._closeRequested === true) {\n throw new TypeError('stream is closed or draining');\n }\n var state = this._controlledReadableByteStream._state;\n if (state !== 'readable') {\n throw new TypeError(\"The stream (in \" + state + \" state) is not in the readable state and cannot be enqueued to\");\n }\n if (!ArrayBuffer.isView(chunk)) {\n throw new TypeError('You can only enqueue array buffer views when using a ReadableByteStreamController');\n }\n if (IsDetachedBuffer(chunk.buffer) === true);\n ReadableByteStreamControllerEnqueue(this, chunk);\n };\n ReadableByteStreamController.prototype.error = function (e) {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('error');\n }\n ReadableByteStreamControllerError(this, e);\n };\n ReadableByteStreamController.prototype[CancelSteps] = function (reason) {\n if (this._pendingPullIntos.length > 0) {\n var firstDescriptor = this._pendingPullIntos.peek();\n firstDescriptor.bytesFilled = 0;\n }\n ResetQueue(this);\n var result = this._cancelAlgorithm(reason);\n ReadableByteStreamControllerClearAlgorithms(this);\n return result;\n };\n ReadableByteStreamController.prototype[PullSteps] = function () {\n var stream = this._controlledReadableByteStream;\n if (this._queueTotalSize > 0) {\n var entry = this._queue.shift();\n this._queueTotalSize -= entry.byteLength;\n ReadableByteStreamControllerHandleQueueDrain(this);\n var view = void 0;\n try {\n view = new Uint8Array(entry.buffer, entry.byteOffset, entry.byteLength);\n } catch (viewE) {\n return Promise.reject(viewE);\n }\n return Promise.resolve(ReadableStreamCreateReadResult(view, false, stream._reader._forAuthorCode));\n }\n var autoAllocateChunkSize = this._autoAllocateChunkSize;\n if (autoAllocateChunkSize !== undefined) {\n var buffer = void 0;\n try {\n buffer = new ArrayBuffer(autoAllocateChunkSize);\n } catch (bufferE) {\n return Promise.reject(bufferE);\n }\n var pullIntoDescriptor = {\n buffer: buffer,\n byteOffset: 0,\n byteLength: autoAllocateChunkSize,\n bytesFilled: 0,\n elementSize: 1,\n ctor: Uint8Array,\n readerType: 'default'\n };\n this._pendingPullIntos.push(pullIntoDescriptor);\n }\n var promise = ReadableStreamAddReadRequest(stream);\n ReadableByteStreamControllerCallPullIfNeeded(this);\n return promise;\n };\n return ReadableByteStreamController;\n}();\nfunction IsReadableByteStreamController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_controlledReadableByteStream')) {\n return false;\n }\n return true;\n}\nfunction IsReadableStreamBYOBRequest(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_associatedReadableByteStreamController')) {\n return false;\n }\n return true;\n}\nfunction ReadableByteStreamControllerCallPullIfNeeded(controller) {\n var shouldPull = ReadableByteStreamControllerShouldCallPull(controller);\n if (shouldPull === false) {\n return;\n }\n if (controller._pulling === true) {\n controller._pullAgain = true;\n return;\n }\n controller._pulling = true;\n var pullPromise = controller._pullAlgorithm();\n pullPromise.then(function () {\n controller._pulling = false;\n if (controller._pullAgain === true) {\n controller._pullAgain = false;\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }\n }, function (e) {\n ReadableByteStreamControllerError(controller, e);\n }).catch(rethrowAssertionErrorRejection);\n}\nfunction ReadableByteStreamControllerClearPendingPullIntos(controller) {\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n controller._pendingPullIntos = new SimpleQueue();\n}\nfunction ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor) {\n var done = false;\n if (stream._state === 'closed') {\n done = true;\n }\n var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);\n if (pullIntoDescriptor.readerType === 'default') {\n ReadableStreamFulfillReadRequest(stream, filledView, done);\n } else {\n ReadableStreamFulfillReadIntoRequest(stream, filledView, done);\n }\n}\nfunction ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor) {\n var bytesFilled = pullIntoDescriptor.bytesFilled;\n var elementSize = pullIntoDescriptor.elementSize;\n return new pullIntoDescriptor.ctor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, bytesFilled / elementSize);\n}\nfunction ReadableByteStreamControllerEnqueueChunkToQueue(controller, buffer, byteOffset, byteLength) {\n controller._queue.push({\n buffer: buffer,\n byteOffset: byteOffset,\n byteLength: byteLength\n });\n controller._queueTotalSize += byteLength;\n}\nfunction ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) {\n var elementSize = pullIntoDescriptor.elementSize;\n var currentAlignedBytes = pullIntoDescriptor.bytesFilled - pullIntoDescriptor.bytesFilled % elementSize;\n var maxBytesToCopy = Math.min(controller._queueTotalSize, pullIntoDescriptor.byteLength - pullIntoDescriptor.bytesFilled);\n var maxBytesFilled = pullIntoDescriptor.bytesFilled + maxBytesToCopy;\n var maxAlignedBytes = maxBytesFilled - maxBytesFilled % elementSize;\n var totalBytesToCopyRemaining = maxBytesToCopy;\n var ready = false;\n if (maxAlignedBytes > currentAlignedBytes) {\n totalBytesToCopyRemaining = maxAlignedBytes - pullIntoDescriptor.bytesFilled;\n ready = true;\n }\n var queue = controller._queue;\n while (totalBytesToCopyRemaining > 0) {\n var headOfQueue = queue.peek();\n var bytesToCopy = Math.min(totalBytesToCopyRemaining, headOfQueue.byteLength);\n var destStart = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled;\n ArrayBufferCopy(pullIntoDescriptor.buffer, destStart, headOfQueue.buffer, headOfQueue.byteOffset, bytesToCopy);\n if (headOfQueue.byteLength === bytesToCopy) {\n queue.shift();\n } else {\n headOfQueue.byteOffset += bytesToCopy;\n headOfQueue.byteLength -= bytesToCopy;\n }\n controller._queueTotalSize -= bytesToCopy;\n ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesToCopy, pullIntoDescriptor);\n totalBytesToCopyRemaining -= bytesToCopy;\n }\n return ready;\n}\nfunction ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, size, pullIntoDescriptor) {\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n pullIntoDescriptor.bytesFilled += size;\n}\nfunction ReadableByteStreamControllerHandleQueueDrain(controller) {\n if (controller._queueTotalSize === 0 && controller._closeRequested === true) {\n ReadableByteStreamControllerClearAlgorithms(controller);\n ReadableStreamClose(controller._controlledReadableByteStream);\n } else {\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }\n}\nfunction ReadableByteStreamControllerInvalidateBYOBRequest(controller) {\n if (controller._byobRequest === undefined) {\n return;\n }\n controller._byobRequest._associatedReadableByteStreamController = undefined;\n controller._byobRequest._view = undefined;\n controller._byobRequest = undefined;\n}\nfunction ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller) {\n while (controller._pendingPullIntos.length > 0) {\n if (controller._queueTotalSize === 0) {\n return;\n }\n var pullIntoDescriptor = controller._pendingPullIntos.peek();\n if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) === true) {\n ReadableByteStreamControllerShiftPendingPullInto(controller);\n ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableByteStream, pullIntoDescriptor);\n }\n }\n}\nfunction ReadableByteStreamControllerPullInto(controller, view) {\n var stream = controller._controlledReadableByteStream;\n var elementSize = 1;\n if (view.constructor !== DataView) {\n elementSize = view.constructor.BYTES_PER_ELEMENT;\n }\n var ctor = view.constructor;\n var buffer = TransferArrayBuffer(view.buffer);\n var pullIntoDescriptor = {\n buffer: buffer,\n byteOffset: view.byteOffset,\n byteLength: view.byteLength,\n bytesFilled: 0,\n elementSize: elementSize,\n ctor: ctor,\n readerType: 'byob'\n };\n if (controller._pendingPullIntos.length > 0) {\n controller._pendingPullIntos.push(pullIntoDescriptor);\n return ReadableStreamAddReadIntoRequest(stream);\n }\n if (stream._state === 'closed') {\n var emptyView = new ctor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, 0);\n return Promise.resolve(ReadableStreamCreateReadResult(emptyView, true, stream._reader._forAuthorCode));\n }\n if (controller._queueTotalSize > 0) {\n if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) === true) {\n var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);\n ReadableByteStreamControllerHandleQueueDrain(controller);\n return Promise.resolve(ReadableStreamCreateReadResult(filledView, false, stream._reader._forAuthorCode));\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 controller._pendingPullIntos.push(pullIntoDescriptor);\n var promise = ReadableStreamAddReadIntoRequest(stream);\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n return promise;\n}\nfunction ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor) {\n firstDescriptor.buffer = TransferArrayBuffer(firstDescriptor.buffer);\n var stream = controller._controlledReadableByteStream;\n if (ReadableStreamHasBYOBReader(stream) === true) {\n while (ReadableStreamGetNumReadIntoRequests(stream) > 0) {\n var pullIntoDescriptor = ReadableByteStreamControllerShiftPendingPullInto(controller);\n ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor);\n }\n }\n}\nfunction ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, pullIntoDescriptor) {\n if (pullIntoDescriptor.bytesFilled + bytesWritten > pullIntoDescriptor.byteLength) {\n throw new RangeError('bytesWritten out of range');\n }\n ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesWritten, pullIntoDescriptor);\n if (pullIntoDescriptor.bytesFilled < pullIntoDescriptor.elementSize) {\n return;\n }\n ReadableByteStreamControllerShiftPendingPullInto(controller);\n var remainderSize = pullIntoDescriptor.bytesFilled % pullIntoDescriptor.elementSize;\n if (remainderSize > 0) {\n var end = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled;\n var remainder = pullIntoDescriptor.buffer.slice(end - remainderSize, end);\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, remainder, 0, remainder.byteLength);\n }\n pullIntoDescriptor.buffer = TransferArrayBuffer(pullIntoDescriptor.buffer);\n pullIntoDescriptor.bytesFilled -= remainderSize;\n ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableByteStream, pullIntoDescriptor);\n ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);\n}\nfunction ReadableByteStreamControllerRespondInternal(controller, bytesWritten) {\n var firstDescriptor = controller._pendingPullIntos.peek();\n var stream = controller._controlledReadableByteStream;\n if (stream._state === 'closed') {\n if (bytesWritten !== 0) {\n throw new TypeError('bytesWritten must be 0 when calling respond() on a closed stream');\n }\n ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor);\n } else {\n ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, firstDescriptor);\n }\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n}\nfunction ReadableByteStreamControllerShiftPendingPullInto(controller) {\n var descriptor = controller._pendingPullIntos.shift();\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n return descriptor;\n}\nfunction ReadableByteStreamControllerShouldCallPull(controller) {\n var stream = controller._controlledReadableByteStream;\n if (stream._state !== 'readable') {\n return false;\n }\n if (controller._closeRequested === true) {\n return false;\n }\n if (controller._started === false) {\n return false;\n }\n if (ReadableStreamHasDefaultReader(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {\n return true;\n }\n if (ReadableStreamHasBYOBReader(stream) === true && ReadableStreamGetNumReadIntoRequests(stream) > 0) {\n return true;\n }\n var desiredSize = ReadableByteStreamControllerGetDesiredSize(controller);\n if (desiredSize > 0) {\n return true;\n }\n return false;\n}\nfunction ReadableByteStreamControllerClearAlgorithms(controller) {\n controller._pullAlgorithm = undefined;\n controller._cancelAlgorithm = undefined;\n}\nfunction ReadableByteStreamControllerClose(controller) {\n var stream = controller._controlledReadableByteStream;\n if (controller._queueTotalSize > 0) {\n controller._closeRequested = true;\n return;\n }\n if (controller._pendingPullIntos.length > 0) {\n var firstPendingPullInto = controller._pendingPullIntos.peek();\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 ReadableByteStreamControllerClearAlgorithms(controller);\n ReadableStreamClose(stream);\n}\nfunction ReadableByteStreamControllerEnqueue(controller, chunk) {\n var stream = controller._controlledReadableByteStream;\n var buffer = chunk.buffer;\n var byteOffset = chunk.byteOffset;\n var byteLength = chunk.byteLength;\n var transferredBuffer = TransferArrayBuffer(buffer);\n if (ReadableStreamHasDefaultReader(stream) === true) {\n if (ReadableStreamGetNumReadRequests(stream) === 0) {\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\n } else {\n 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 ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\n }\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n}\nfunction ReadableByteStreamControllerError(controller, e) {\n var stream = controller._controlledReadableByteStream;\n if (stream._state !== 'readable') {\n return;\n }\n ReadableByteStreamControllerClearPendingPullIntos(controller);\n ResetQueue(controller);\n ReadableByteStreamControllerClearAlgorithms(controller);\n ReadableStreamError(stream, e);\n}\nfunction ReadableByteStreamControllerGetDesiredSize(controller) {\n var stream = controller._controlledReadableByteStream;\n var state = stream._state;\n if (state === 'errored') {\n return null;\n }\n if (state === 'closed') {\n return 0;\n }\n return controller._strategyHWM - controller._queueTotalSize;\n}\nfunction ReadableByteStreamControllerRespond(controller, bytesWritten) {\n bytesWritten = Number(bytesWritten);\n if (IsFiniteNonNegativeNumber(bytesWritten) === false) {\n throw new RangeError('bytesWritten must be a finite');\n }\n ReadableByteStreamControllerRespondInternal(controller, bytesWritten);\n}\nfunction ReadableByteStreamControllerRespondWithNewView(controller, view) {\n var firstDescriptor = controller._pendingPullIntos.peek();\n if (firstDescriptor.byteOffset + firstDescriptor.bytesFilled !== view.byteOffset) {\n throw new RangeError('The region specified by view does not match byobRequest');\n }\n if (firstDescriptor.byteLength !== view.byteLength) {\n throw new RangeError('The buffer of view has different capacity than byobRequest');\n }\n firstDescriptor.buffer = view.buffer;\n ReadableByteStreamControllerRespondInternal(controller, view.byteLength);\n}\nfunction SetUpReadableByteStreamController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, autoAllocateChunkSize) {\n controller._controlledReadableByteStream = stream;\n controller._pullAgain = false;\n controller._pulling = false;\n controller._byobRequest = undefined;\n controller._queue = controller._queueTotalSize = undefined;\n ResetQueue(controller);\n controller._closeRequested = false;\n controller._started = false;\n controller._strategyHWM = ValidateAndNormalizeHighWaterMark(highWaterMark);\n controller._pullAlgorithm = pullAlgorithm;\n controller._cancelAlgorithm = cancelAlgorithm;\n controller._autoAllocateChunkSize = autoAllocateChunkSize;\n controller._pendingPullIntos = new SimpleQueue();\n stream._readableStreamController = controller;\n var startResult = startAlgorithm();\n Promise.resolve(startResult).then(function () {\n controller._started = true;\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }, function (r) {\n ReadableByteStreamControllerError(controller, r);\n }).catch(rethrowAssertionErrorRejection);\n}\nfunction SetUpReadableByteStreamControllerFromUnderlyingSource(stream, underlyingByteSource, highWaterMark) {\n var controller = Object.create(ReadableByteStreamController.prototype);\n function startAlgorithm() {\n return InvokeOrNoop(underlyingByteSource, 'start', [controller]);\n }\n var pullAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingByteSource, 'pull', 0, [controller]);\n var cancelAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingByteSource, 'cancel', 1, []);\n var autoAllocateChunkSize = underlyingByteSource.autoAllocateChunkSize;\n if (autoAllocateChunkSize !== undefined) {\n autoAllocateChunkSize = Number(autoAllocateChunkSize);\n if (NumberIsInteger(autoAllocateChunkSize) === false || autoAllocateChunkSize <= 0) {\n throw new RangeError('autoAllocateChunkSize must be a positive integer');\n }\n }\n SetUpReadableByteStreamController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, autoAllocateChunkSize);\n}\nfunction SetUpReadableStreamBYOBRequest(request, controller, view) {\n request._associatedReadableByteStreamController = controller;\n request._view = view;\n}\nfunction byobRequestBrandCheckException(name) {\n return new TypeError(\"ReadableStreamBYOBRequest.prototype.\" + name + \" can only be used on a ReadableStreamBYOBRequest\");\n}\nfunction byteStreamControllerBrandCheckException(name) {\n return new TypeError(\"ReadableByteStreamController.prototype.\" + name + \" can only be used on a ReadableByteStreamController\");\n}\nfunction AcquireReadableStreamBYOBReader(stream, forAuthorCode) {\n if (forAuthorCode === void 0) {\n forAuthorCode = false;\n }\n var reader = new ReadableStreamBYOBReader(stream);\n reader._forAuthorCode = forAuthorCode;\n return reader;\n}\nfunction ReadableStreamAddReadIntoRequest(stream) {\n var promise = new Promise(function (resolve, reject) {\n var readIntoRequest = {\n _resolve: resolve,\n _reject: reject\n };\n stream._reader._readIntoRequests.push(readIntoRequest);\n });\n return promise;\n}\nfunction ReadableStreamFulfillReadIntoRequest(stream, chunk, done) {\n var reader = stream._reader;\n var readIntoRequest = reader._readIntoRequests.shift();\n readIntoRequest._resolve(ReadableStreamCreateReadResult(chunk, done, reader._forAuthorCode));\n}\nfunction ReadableStreamGetNumReadIntoRequests(stream) {\n return stream._reader._readIntoRequests.length;\n}\nfunction ReadableStreamHasBYOBReader(stream) {\n var reader = stream._reader;\n if (reader === undefined) {\n return false;\n }\n if (!IsReadableStreamBYOBReader(reader)) {\n return false;\n }\n return true;\n}\nvar ReadableStreamBYOBReader = function () {\n function ReadableStreamBYOBReader(stream) {\n if (!IsReadableStream(stream)) {\n throw new TypeError('ReadableStreamBYOBReader can only be constructed with a ReadableStream instance given a ' + 'byte source');\n }\n if (IsReadableByteStreamController(stream._readableStreamController) === false) {\n throw new TypeError('Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte ' + 'source');\n }\n if (IsReadableStreamLocked(stream)) {\n throw new TypeError('This stream has already been locked for exclusive reading by another reader');\n }\n ReadableStreamReaderGenericInitialize(this, stream);\n this._readIntoRequests = new SimpleQueue();\n }\n Object.defineProperty(ReadableStreamBYOBReader.prototype, \"closed\", {\n get: function () {\n if (!IsReadableStreamBYOBReader(this)) {\n return Promise.reject(byobReaderBrandCheckException('closed'));\n }\n return this._closedPromise;\n },\n enumerable: true,\n configurable: true\n });\n ReadableStreamBYOBReader.prototype.cancel = function (reason) {\n if (!IsReadableStreamBYOBReader(this)) {\n return Promise.reject(byobReaderBrandCheckException('cancel'));\n }\n if (this._ownerReadableStream === undefined) {\n return Promise.reject(readerLockException('cancel'));\n }\n return ReadableStreamReaderGenericCancel(this, reason);\n };\n ReadableStreamBYOBReader.prototype.read = function (view) {\n if (!IsReadableStreamBYOBReader(this)) {\n return Promise.reject(byobReaderBrandCheckException('read'));\n }\n if (this._ownerReadableStream === undefined) {\n return Promise.reject(readerLockException('read from'));\n }\n if (!ArrayBuffer.isView(view)) {\n return Promise.reject(new TypeError('view must be an array buffer view'));\n }\n if (IsDetachedBuffer(view.buffer) === true);\n if (view.byteLength === 0) {\n return Promise.reject(new TypeError('view must have non-zero byteLength'));\n }\n return ReadableStreamBYOBReaderRead(this, view);\n };\n ReadableStreamBYOBReader.prototype.releaseLock = function () {\n if (!IsReadableStreamBYOBReader(this)) {\n throw byobReaderBrandCheckException('releaseLock');\n }\n if (this._ownerReadableStream === undefined) {\n return;\n }\n if (this._readIntoRequests.length > 0) {\n throw new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled');\n }\n ReadableStreamReaderGenericRelease(this);\n };\n return ReadableStreamBYOBReader;\n}();\nfunction IsReadableStreamBYOBReader(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_readIntoRequests')) {\n return false;\n }\n return true;\n}\nfunction ReadableStreamBYOBReaderRead(reader, view) {\n var stream = reader._ownerReadableStream;\n stream._disturbed = true;\n if (stream._state === 'errored') {\n return Promise.reject(stream._storedError);\n }\n return ReadableByteStreamControllerPullInto(stream._readableStreamController, view);\n}\nfunction byobReaderBrandCheckException(name) {\n return new TypeError(\"ReadableStreamBYOBReader.prototype.\" + name + \" can only be used on a ReadableStreamBYOBReader\");\n}\nvar ReadableStream = function () {\n function ReadableStream(underlyingSource, strategy) {\n if (underlyingSource === void 0) {\n underlyingSource = {};\n }\n if (strategy === void 0) {\n strategy = {};\n }\n InitializeReadableStream(this);\n var size = strategy.size;\n var highWaterMark = strategy.highWaterMark;\n var type = underlyingSource.type;\n var typeString = String(type);\n if (typeString === 'bytes') {\n if (size !== undefined) {\n throw new RangeError('The strategy for a byte stream cannot have a size function');\n }\n if (highWaterMark === undefined) {\n highWaterMark = 0;\n }\n highWaterMark = ValidateAndNormalizeHighWaterMark(highWaterMark);\n SetUpReadableByteStreamControllerFromUnderlyingSource(this, underlyingSource, highWaterMark);\n } else if (type === undefined) {\n var sizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(size);\n if (highWaterMark === undefined) {\n highWaterMark = 1;\n }\n highWaterMark = ValidateAndNormalizeHighWaterMark(highWaterMark);\n SetUpReadableStreamDefaultControllerFromUnderlyingSource(this, underlyingSource, highWaterMark, sizeAlgorithm);\n } else {\n throw new RangeError('Invalid type is specified');\n }\n }\n Object.defineProperty(ReadableStream.prototype, \"locked\", {\n get: function () {\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException$1('locked');\n }\n return IsReadableStreamLocked(this);\n },\n enumerable: true,\n configurable: true\n });\n ReadableStream.prototype.cancel = function (reason) {\n if (IsReadableStream(this) === false) {\n return Promise.reject(streamBrandCheckException$1('cancel'));\n }\n if (IsReadableStreamLocked(this) === true) {\n return Promise.reject(new TypeError('Cannot cancel a stream that already has a reader'));\n }\n return ReadableStreamCancel(this, reason);\n };\n ReadableStream.prototype.getReader = function (_a) {\n var mode = (_a === void 0 ? {} : _a).mode;\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException$1('getReader');\n }\n if (mode === undefined) {\n return AcquireReadableStreamDefaultReader(this, true);\n }\n mode = String(mode);\n if (mode === 'byob') {\n return AcquireReadableStreamBYOBReader(this, true);\n }\n throw new RangeError('Invalid mode is specified');\n };\n ReadableStream.prototype.pipeThrough = function (_a, _b) {\n var writable = _a.writable, readable = _a.readable;\n var _c = _b === void 0 ? {} : _b, preventClose = _c.preventClose, preventAbort = _c.preventAbort, preventCancel = _c.preventCancel, signal = _c.signal;\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException$1('pipeThrough');\n }\n if (IsWritableStream(writable) === false) {\n throw new TypeError('writable argument to pipeThrough must be a WritableStream');\n }\n if (IsReadableStream(readable) === false) {\n throw new TypeError('readable argument to pipeThrough must be a ReadableStream');\n }\n preventClose = Boolean(preventClose);\n preventAbort = Boolean(preventAbort);\n preventCancel = Boolean(preventCancel);\n if (signal !== undefined && !isAbortSignal(signal)) {\n throw new TypeError('ReadableStream.prototype.pipeThrough\\'s signal option must be an AbortSignal');\n }\n if (IsReadableStreamLocked(this) === true) {\n throw new TypeError('ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream');\n }\n if (IsWritableStreamLocked(writable) === true) {\n throw new TypeError('ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream');\n }\n var promise = ReadableStreamPipeTo(this, writable, preventClose, preventAbort, preventCancel, signal);\n promise.catch(noop);\n return readable;\n };\n ReadableStream.prototype.pipeTo = function (dest, _a) {\n var _b = _a === void 0 ? {} : _a, preventClose = _b.preventClose, preventAbort = _b.preventAbort, preventCancel = _b.preventCancel, signal = _b.signal;\n if (IsReadableStream(this) === false) {\n return Promise.reject(streamBrandCheckException$1('pipeTo'));\n }\n if (IsWritableStream(dest) === false) {\n return Promise.reject(new TypeError('ReadableStream.prototype.pipeTo\\'s first argument must be a WritableStream'));\n }\n preventClose = Boolean(preventClose);\n preventAbort = Boolean(preventAbort);\n preventCancel = Boolean(preventCancel);\n if (signal !== undefined && !isAbortSignal(signal)) {\n return Promise.reject(new TypeError('ReadableStream.prototype.pipeTo\\'s signal option must be an AbortSignal'));\n }\n if (IsReadableStreamLocked(this) === true) {\n return Promise.reject(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream'));\n }\n if (IsWritableStreamLocked(dest) === true) {\n return Promise.reject(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream'));\n }\n return ReadableStreamPipeTo(this, dest, preventClose, preventAbort, preventCancel, signal);\n };\n ReadableStream.prototype.tee = function () {\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException$1('tee');\n }\n var branches = ReadableStreamTee(this);\n return createArrayFromList(branches);\n };\n ReadableStream.prototype.getIterator = function (_a) {\n var _b = (_a === void 0 ? {} : _a).preventCancel, preventCancel = _b === void 0 ? false : _b;\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException$1('getIterator');\n }\n return AcquireReadableStreamAsyncIterator(this, preventCancel);\n };\n return ReadableStream;\n}();\nif (typeof SymbolPolyfill.asyncIterator === 'symbol') {\n Object.defineProperty(ReadableStream.prototype, SymbolPolyfill.asyncIterator, {\n value: ReadableStream.prototype.getIterator,\n enumerable: false,\n writable: true,\n configurable: true\n });\n}\nfunction CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm) {\n if (highWaterMark === void 0) {\n highWaterMark = 1;\n }\n if (sizeAlgorithm === void 0) {\n sizeAlgorithm = function () {\n return 1;\n };\n }\n var stream = Object.create(ReadableStream.prototype);\n InitializeReadableStream(stream);\n var controller = Object.create(ReadableStreamDefaultController.prototype);\n SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm);\n return stream;\n}\nfunction InitializeReadableStream(stream) {\n stream._state = 'readable';\n stream._reader = undefined;\n stream._storedError = undefined;\n stream._disturbed = false;\n}\nfunction IsReadableStream(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_readableStreamController')) {\n return false;\n }\n return true;\n}\nfunction IsReadableStreamLocked(stream) {\n if (stream._reader === undefined) {\n return false;\n }\n return true;\n}\nfunction ReadableStreamCancel(stream, reason) {\n stream._disturbed = true;\n if (stream._state === 'closed') {\n return Promise.resolve(undefined);\n }\n if (stream._state === 'errored') {\n return Promise.reject(stream._storedError);\n }\n ReadableStreamClose(stream);\n var sourceCancelPromise = stream._readableStreamController[CancelSteps](reason);\n return sourceCancelPromise.then(function () {\n return undefined;\n });\n}\nfunction ReadableStreamClose(stream) {\n stream._state = 'closed';\n var reader = stream._reader;\n if (reader === undefined) {\n return;\n }\n if (IsReadableStreamDefaultReader(reader)) {\n reader._readRequests.forEach(function (readRequest) {\n readRequest._resolve(ReadableStreamCreateReadResult(undefined, true, reader._forAuthorCode));\n });\n reader._readRequests = new SimpleQueue();\n }\n defaultReaderClosedPromiseResolve(reader);\n}\nfunction ReadableStreamError(stream, e) {\n stream._state = 'errored';\n stream._storedError = e;\n var reader = stream._reader;\n if (reader === undefined) {\n return;\n }\n if (IsReadableStreamDefaultReader(reader)) {\n reader._readRequests.forEach(function (readRequest) {\n readRequest._reject(e);\n });\n reader._readRequests = new SimpleQueue();\n } else {\n reader._readIntoRequests.forEach(function (readIntoRequest) {\n readIntoRequest._reject(e);\n });\n reader._readIntoRequests = new SimpleQueue();\n }\n defaultReaderClosedPromiseReject(reader, e);\n}\nfunction isAbortSignal(value) {\n if (typeof value !== 'object' || value === null) {\n return false;\n }\n var aborted = Object.getOwnPropertyDescriptor(AbortSignal.prototype, 'aborted').get;\n try {\n aborted.call(value);\n return true;\n } catch (e) {\n return false;\n }\n}\nfunction streamBrandCheckException$1(name) {\n return new TypeError(\"ReadableStream.prototype.\" + name + \" can only be used on a ReadableStream\");\n}\nvar ByteLengthQueuingStrategy = function () {\n function ByteLengthQueuingStrategy(_a) {\n var highWaterMark = _a.highWaterMark;\n this.highWaterMark = highWaterMark;\n }\n ByteLengthQueuingStrategy.prototype.size = function (chunk) {\n return chunk.byteLength;\n };\n return ByteLengthQueuingStrategy;\n}();\nvar CountQueuingStrategy = function () {\n function CountQueuingStrategy(_a) {\n var highWaterMark = _a.highWaterMark;\n this.highWaterMark = highWaterMark;\n }\n CountQueuingStrategy.prototype.size = function () {\n return 1;\n };\n return CountQueuingStrategy;\n}();\nvar TransformStream = function () {\n function TransformStream(transformer, writableStrategy, readableStrategy) {\n if (transformer === void 0) {\n transformer = {};\n }\n if (writableStrategy === void 0) {\n writableStrategy = {};\n }\n if (readableStrategy === void 0) {\n readableStrategy = {};\n }\n var writableSizeFunction = writableStrategy.size;\n var writableHighWaterMark = writableStrategy.highWaterMark;\n var readableSizeFunction = readableStrategy.size;\n var readableHighWaterMark = readableStrategy.highWaterMark;\n var writableType = transformer.writableType;\n if (writableType !== undefined) {\n throw new RangeError('Invalid writable type specified');\n }\n var writableSizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(writableSizeFunction);\n if (writableHighWaterMark === undefined) {\n writableHighWaterMark = 1;\n }\n writableHighWaterMark = ValidateAndNormalizeHighWaterMark(writableHighWaterMark);\n var readableType = transformer.readableType;\n if (readableType !== undefined) {\n throw new RangeError('Invalid readable type specified');\n }\n var readableSizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(readableSizeFunction);\n if (readableHighWaterMark === undefined) {\n readableHighWaterMark = 0;\n }\n readableHighWaterMark = ValidateAndNormalizeHighWaterMark(readableHighWaterMark);\n var startPromise_resolve;\n var startPromise = new Promise(function (resolve) {\n startPromise_resolve = resolve;\n });\n InitializeTransformStream(this, startPromise, writableHighWaterMark, writableSizeAlgorithm, readableHighWaterMark, readableSizeAlgorithm);\n SetUpTransformStreamDefaultControllerFromTransformer(this, transformer);\n var startResult = InvokeOrNoop(transformer, 'start', [this._transformStreamController]);\n startPromise_resolve(startResult);\n }\n Object.defineProperty(TransformStream.prototype, \"readable\", {\n get: function () {\n if (IsTransformStream(this) === false) {\n throw streamBrandCheckException$2('readable');\n }\n return this._readable;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(TransformStream.prototype, \"writable\", {\n get: function () {\n if (IsTransformStream(this) === false) {\n throw streamBrandCheckException$2('writable');\n }\n return this._writable;\n },\n enumerable: true,\n configurable: true\n });\n return TransformStream;\n}();\nfunction InitializeTransformStream(stream, startPromise, writableHighWaterMark, writableSizeAlgorithm, readableHighWaterMark, readableSizeAlgorithm) {\n function startAlgorithm() {\n return startPromise;\n }\n function writeAlgorithm(chunk) {\n return TransformStreamDefaultSinkWriteAlgorithm(stream, chunk);\n }\n function abortAlgorithm(reason) {\n return TransformStreamDefaultSinkAbortAlgorithm(stream, reason);\n }\n function closeAlgorithm() {\n return TransformStreamDefaultSinkCloseAlgorithm(stream);\n }\n stream._writable = CreateWritableStream(startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, writableHighWaterMark, writableSizeAlgorithm);\n function pullAlgorithm() {\n return TransformStreamDefaultSourcePullAlgorithm(stream);\n }\n function cancelAlgorithm(reason) {\n TransformStreamErrorWritableAndUnblockWrite(stream, reason);\n return Promise.resolve();\n }\n stream._readable = CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, readableHighWaterMark, readableSizeAlgorithm);\n stream._backpressure = undefined;\n stream._backpressureChangePromise = undefined;\n stream._backpressureChangePromise_resolve = undefined;\n TransformStreamSetBackpressure(stream, true);\n stream._transformStreamController = undefined;\n}\nfunction IsTransformStream(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_transformStreamController')) {\n return false;\n }\n return true;\n}\nfunction TransformStreamError(stream, e) {\n ReadableStreamDefaultControllerError(stream._readable._readableStreamController, e);\n TransformStreamErrorWritableAndUnblockWrite(stream, e);\n}\nfunction TransformStreamErrorWritableAndUnblockWrite(stream, e) {\n TransformStreamDefaultControllerClearAlgorithms(stream._transformStreamController);\n WritableStreamDefaultControllerErrorIfNeeded(stream._writable._writableStreamController, e);\n if (stream._backpressure === true) {\n TransformStreamSetBackpressure(stream, false);\n }\n}\nfunction TransformStreamSetBackpressure(stream, backpressure) {\n if (stream._backpressureChangePromise !== undefined) {\n stream._backpressureChangePromise_resolve();\n }\n stream._backpressureChangePromise = new Promise(function (resolve) {\n stream._backpressureChangePromise_resolve = resolve;\n });\n stream._backpressure = backpressure;\n}\nvar TransformStreamDefaultController = function () {\n function TransformStreamDefaultController() {\n throw new TypeError('TransformStreamDefaultController instances cannot be created directly');\n }\n Object.defineProperty(TransformStreamDefaultController.prototype, \"desiredSize\", {\n get: function () {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException$1('desiredSize');\n }\n var readableController = this._controlledTransformStream._readable._readableStreamController;\n return ReadableStreamDefaultControllerGetDesiredSize(readableController);\n },\n enumerable: true,\n configurable: true\n });\n TransformStreamDefaultController.prototype.enqueue = function (chunk) {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException$1('enqueue');\n }\n TransformStreamDefaultControllerEnqueue(this, chunk);\n };\n TransformStreamDefaultController.prototype.error = function (reason) {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException$1('error');\n }\n TransformStreamDefaultControllerError(this, reason);\n };\n TransformStreamDefaultController.prototype.terminate = function () {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException$1('terminate');\n }\n TransformStreamDefaultControllerTerminate(this);\n };\n return TransformStreamDefaultController;\n}();\nfunction IsTransformStreamDefaultController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_controlledTransformStream')) {\n return false;\n }\n return true;\n}\nfunction SetUpTransformStreamDefaultController(stream, controller, transformAlgorithm, flushAlgorithm) {\n controller._controlledTransformStream = stream;\n stream._transformStreamController = controller;\n controller._transformAlgorithm = transformAlgorithm;\n controller._flushAlgorithm = flushAlgorithm;\n}\nfunction SetUpTransformStreamDefaultControllerFromTransformer(stream, transformer) {\n var controller = Object.create(TransformStreamDefaultController.prototype);\n var transformAlgorithm = function (chunk) {\n try {\n TransformStreamDefaultControllerEnqueue(controller, chunk);\n return Promise.resolve();\n } catch (transformResultE) {\n return Promise.reject(transformResultE);\n }\n };\n var transformMethod = transformer.transform;\n if (transformMethod !== undefined) {\n if (typeof transformMethod !== 'function') {\n throw new TypeError('transform is not a method');\n }\n transformAlgorithm = function (chunk) {\n return PromiseCall(transformMethod, transformer, [\n chunk,\n controller\n ]);\n };\n }\n var flushAlgorithm = CreateAlgorithmFromUnderlyingMethod(transformer, 'flush', 0, [controller]);\n SetUpTransformStreamDefaultController(stream, controller, transformAlgorithm, flushAlgorithm);\n}\nfunction TransformStreamDefaultControllerClearAlgorithms(controller) {\n controller._transformAlgorithm = undefined;\n controller._flushAlgorithm = undefined;\n}\nfunction TransformStreamDefaultControllerEnqueue(controller, chunk) {\n var stream = controller._controlledTransformStream;\n var readableController = stream._readable._readableStreamController;\n if (ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController) === false) {\n throw new TypeError('Readable side is not in a state that permits enqueue');\n }\n try {\n ReadableStreamDefaultControllerEnqueue(readableController, chunk);\n } catch (e) {\n TransformStreamErrorWritableAndUnblockWrite(stream, e);\n throw stream._readable._storedError;\n }\n var backpressure = ReadableStreamDefaultControllerHasBackpressure(readableController);\n if (backpressure !== stream._backpressure) {\n TransformStreamSetBackpressure(stream, true);\n }\n}\nfunction TransformStreamDefaultControllerError(controller, e) {\n TransformStreamError(controller._controlledTransformStream, e);\n}\nfunction TransformStreamDefaultControllerPerformTransform(controller, chunk) {\n var transformPromise = controller._transformAlgorithm(chunk);\n return transformPromise.catch(function (r) {\n TransformStreamError(controller._controlledTransformStream, r);\n throw r;\n });\n}\nfunction TransformStreamDefaultControllerTerminate(controller) {\n var stream = controller._controlledTransformStream;\n var readableController = stream._readable._readableStreamController;\n if (ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController) === true) {\n ReadableStreamDefaultControllerClose(readableController);\n }\n var error = new TypeError('TransformStream terminated');\n TransformStreamErrorWritableAndUnblockWrite(stream, error);\n}\nfunction TransformStreamDefaultSinkWriteAlgorithm(stream, chunk) {\n var controller = stream._transformStreamController;\n if (stream._backpressure === true) {\n var backpressureChangePromise = stream._backpressureChangePromise;\n return backpressureChangePromise.then(function () {\n var writable = stream._writable;\n var state = writable._state;\n if (state === 'erroring') {\n throw writable._storedError;\n }\n return TransformStreamDefaultControllerPerformTransform(controller, chunk);\n });\n }\n return TransformStreamDefaultControllerPerformTransform(controller, chunk);\n}\nfunction TransformStreamDefaultSinkAbortAlgorithm(stream, reason) {\n TransformStreamError(stream, reason);\n return Promise.resolve();\n}\nfunction TransformStreamDefaultSinkCloseAlgorithm(stream) {\n var readable = stream._readable;\n var controller = stream._transformStreamController;\n var flushPromise = controller._flushAlgorithm();\n TransformStreamDefaultControllerClearAlgorithms(controller);\n return flushPromise.then(function () {\n if (readable._state === 'errored') {\n throw readable._storedError;\n }\n var readableController = readable._readableStreamController;\n if (ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController) === true) {\n ReadableStreamDefaultControllerClose(readableController);\n }\n }).catch(function (r) {\n TransformStreamError(stream, r);\n throw readable._storedError;\n });\n}\nfunction TransformStreamDefaultSourcePullAlgorithm(stream) {\n TransformStreamSetBackpressure(stream, false);\n return stream._backpressureChangePromise;\n}\nfunction defaultControllerBrandCheckException$1(name) {\n return new TypeError(\"TransformStreamDefaultController.prototype.\" + name + \" can only be used on a TransformStreamDefaultController\");\n}\nfunction streamBrandCheckException$2(name) {\n return new TypeError(\"TransformStream.prototype.\" + name + \" can only be used on a TransformStream\");\n}\n\n\n/***/ }),\n/* 179 */\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__(180));\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _display_utils = __w_pdfjs_require__(183);\n\nvar _font_loader = __w_pdfjs_require__(184);\n\nvar _api_compatibility = __w_pdfjs_require__(185);\n\nvar _canvas = __w_pdfjs_require__(186);\n\nvar _global_scope = _interopRequireDefault(__w_pdfjs_require__(3));\n\nvar _worker_options = __w_pdfjs_require__(188);\n\nvar _message_handler = __w_pdfjs_require__(189);\n\nvar _metadata = __w_pdfjs_require__(190);\n\nvar _transport_stream = __w_pdfjs_require__(192);\n\nvar _webgl = __w_pdfjs_require__(193);\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) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\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 RENDERING_CANCELLED_TIMEOUT = 100;\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 URL(source[key], window.location).href;\n continue;\n } else if (key === 'range') {\n rangeTransport = source[key];\n continue;\n } else if (key === 'worker') {\n worker = source[key];\n continue;\n } else if (key === 'data' && !(source[key] instanceof Uint8Array)) {\n var pdfBytes = source[key];\n\n if (typeof pdfBytes === 'string') {\n params[key] = (0, _util.stringToBytes)(pdfBytes);\n } else if (_typeof(pdfBytes) === 'object' && pdfBytes !== null && !isNaN(pdfBytes.length)) {\n params[key] = new Uint8Array(pdfBytes);\n } else if ((0, _util.isArrayBuffer)(pdfBytes)) {\n params[key] = new Uint8Array(pdfBytes);\n } else {\n throw new Error('Invalid PDF binary data: either typed array, ' + 'string or array-like object is expected in the ' + 'data property.');\n }\n\n continue;\n }\n\n params[key] = source[key];\n }\n\n params.rangeChunkSize = params.rangeChunkSize || DEFAULT_RANGE_CHUNK_SIZE;\n params.CMapReaderFactory = params.CMapReaderFactory || _display_utils.DOMCMapReaderFactory;\n params.ignoreErrors = params.stopAtErrors !== true;\n params.pdfBug = params.pdfBug === true;\n var NativeImageDecoderValues = Object.values(_util.NativeImageDecoding);\n\n if (params.nativeImageDecoderSupport === undefined || !NativeImageDecoderValues.includes(params.nativeImageDecoderSupport)) {\n params.nativeImageDecoderSupport = _api_compatibility.apiCompatibilityParams.nativeImageDecoderSupport || _util.NativeImageDecoding.DECODE;\n }\n\n if (!Number.isInteger(params.maxImageSize)) {\n params.maxImageSize = -1;\n }\n\n if (typeof params.isEvalSupported !== 'boolean') {\n params.isEvalSupported = true;\n }\n\n if (typeof params.disableFontFace !== 'boolean') {\n params.disableFontFace = _api_compatibility.apiCompatibilityParams.disableFontFace || false;\n }\n\n if (typeof params.disableRange !== 'boolean') {\n params.disableRange = false;\n }\n\n if (typeof params.disableStream !== 'boolean') {\n params.disableStream = false;\n }\n\n if (typeof params.disableAutoFetch !== 'boolean') {\n params.disableAutoFetch = false;\n }\n\n if (typeof params.disableCreateObjectURL !== 'boolean') {\n params.disableCreateObjectURL = _api_compatibility.apiCompatibilityParams.disableCreateObjectURL || false;\n }\n\n (0, _util.setVerbosityLevel)(params.verbosity);\n\n if (!worker) {\n var workerParams = {\n verbosity: params.verbosity,\n port: _worker_options.GlobalWorkerOptions.workerPort\n };\n worker = workerParams.port ? PDFWorker.fromPort(workerParams) : new PDFWorker(workerParams);\n task._worker = worker;\n }\n\n var docId = task.docId;\n worker.promise.then(function () {\n if (task.destroyed) {\n throw new Error('Loading aborted');\n }\n\n return _fetchDocument(worker, params, rangeTransport, docId).then(function (workerId) {\n if (task.destroyed) {\n throw new Error('Loading aborted');\n }\n\n var networkStream;\n\n if (rangeTransport) {\n networkStream = new _transport_stream.PDFDataTransportStream({\n length: params.length,\n initialData: params.initialData,\n progressiveDone: params.progressiveDone,\n disableRange: params.disableRange,\n disableStream: params.disableStream\n }, rangeTransport);\n } else if (!params.data) {\n networkStream = createPDFNetworkStream({\n url: params.url,\n length: params.length,\n httpHeaders: params.httpHeaders,\n withCredentials: params.withCredentials,\n rangeChunkSize: params.rangeChunkSize,\n disableRange: params.disableRange,\n disableStream: params.disableStream\n });\n }\n\n var messageHandler = new _message_handler.MessageHandler(docId, workerId, worker.port);\n messageHandler.postMessageTransfers = worker.postMessageTransfers;\n var transport = new WorkerTransport(messageHandler, task, networkStream, params);\n task._transport = transport;\n messageHandler.send('Ready', null);\n });\n })[\"catch\"](task._capability.reject);\n return task;\n}\n\nfunction _fetchDocument(worker, source, pdfDataRangeTransport, docId) {\n if (worker.destroyed) {\n return Promise.reject(new Error('Worker was destroyed'));\n }\n\n if (pdfDataRangeTransport) {\n source.length = pdfDataRangeTransport.length;\n source.initialData = pdfDataRangeTransport.initialData;\n source.progressiveDone = pdfDataRangeTransport.progressiveDone;\n }\n\n return worker.messageHandler.sendWithPromise('GetDocRequest', {\n docId: docId,\n apiVersion: '2.3.200',\n source: {\n data: source.data,\n url: source.url,\n password: source.password,\n disableAutoFetch: source.disableAutoFetch,\n rangeChunkSize: source.rangeChunkSize,\n length: source.length\n },\n maxImageSize: source.maxImageSize,\n disableFontFace: source.disableFontFace,\n disableCreateObjectURL: source.disableCreateObjectURL,\n postMessageTransfers: worker.postMessageTransfers,\n docBaseUrl: source.docBaseUrl,\n nativeImageDecoderSupport: source.nativeImageDecoderSupport,\n ignoreErrors: source.ignoreErrors,\n isEvalSupported: source.isEvalSupported\n }).then(function (workerId) {\n if (worker.destroyed) {\n throw new Error('Worker was destroyed');\n }\n\n return workerId;\n });\n}\n\nvar PDFDocumentLoadingTask = function PDFDocumentLoadingTaskClosure() {\n var nextDocumentId = 0;\n\n var PDFDocumentLoadingTask =\n /*#__PURE__*/\n function () {\n function PDFDocumentLoadingTask() {\n _classCallCheck(this, PDFDocumentLoadingTask);\n\n this._capability = (0, _util.createPromiseCapability)();\n this._transport = null;\n this._worker = null;\n this.docId = 'd' + nextDocumentId++;\n this.destroyed = false;\n this.onPassword = null;\n this.onProgress = null;\n this.onUnsupportedFeature = null;\n }\n\n _createClass(PDFDocumentLoadingTask, [{\n key: \"destroy\",\n value: function destroy() {\n var _this = this;\n\n this.destroyed = true;\n var transportDestroyed = !this._transport ? Promise.resolve() : this._transport.destroy();\n return transportDestroyed.then(function () {\n _this._transport = null;\n\n if (_this._worker) {\n _this._worker.destroy();\n\n _this._worker = null;\n }\n });\n }\n }, {\n key: \"then\",\n value: function then(onFulfilled, onRejected) {\n (0, _display_utils.deprecated)('PDFDocumentLoadingTask.then method, ' + 'use the `promise` getter instead.');\n return this.promise.then.apply(this.promise, arguments);\n }\n }, {\n key: \"promise\",\n get: function get() {\n return this._capability.promise;\n }\n }]);\n\n return PDFDocumentLoadingTask;\n }();\n\n return PDFDocumentLoadingTask;\n}();\n\nvar PDFDataRangeTransport =\n/*#__PURE__*/\nfunction () {\n function PDFDataRangeTransport(length, initialData) {\n var progressiveDone = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n _classCallCheck(this, PDFDataRangeTransport);\n\n this.length = length;\n this.initialData = initialData;\n this.progressiveDone = progressiveDone;\n this._rangeListeners = [];\n this._progressListeners = [];\n this._progressiveReadListeners = [];\n this._progressiveDoneListeners = [];\n this._readyCapability = (0, _util.createPromiseCapability)();\n }\n\n _createClass(PDFDataRangeTransport, [{\n key: \"addRangeListener\",\n value: function addRangeListener(listener) {\n this._rangeListeners.push(listener);\n }\n }, {\n key: \"addProgressListener\",\n value: function addProgressListener(listener) {\n this._progressListeners.push(listener);\n }\n }, {\n key: \"addProgressiveReadListener\",\n value: function addProgressiveReadListener(listener) {\n this._progressiveReadListeners.push(listener);\n }\n }, {\n key: \"addProgressiveDoneListener\",\n value: function addProgressiveDoneListener(listener) {\n this._progressiveDoneListeners.push(listener);\n }\n }, {\n key: \"onDataRange\",\n value: function onDataRange(begin, chunk) {\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = this._rangeListeners[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var listener = _step.value;\n listener(begin, chunk);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator[\"return\"] != null) {\n _iterator[\"return\"]();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n }\n }, {\n key: \"onDataProgress\",\n value: function onDataProgress(loaded, total) {\n var _this2 = this;\n\n this._readyCapability.promise.then(function () {\n var _iteratorNormalCompletion2 = true;\n var _didIteratorError2 = false;\n var _iteratorError2 = undefined;\n\n try {\n for (var _iterator2 = _this2._progressListeners[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var listener = _step2.value;\n listener(loaded, total);\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2[\"return\"] != null) {\n _iterator2[\"return\"]();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n });\n }\n }, {\n key: \"onDataProgressiveRead\",\n value: function onDataProgressiveRead(chunk) {\n var _this3 = this;\n\n this._readyCapability.promise.then(function () {\n var _iteratorNormalCompletion3 = true;\n var _didIteratorError3 = false;\n var _iteratorError3 = undefined;\n\n try {\n for (var _iterator3 = _this3._progressiveReadListeners[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {\n var listener = _step3.value;\n listener(chunk);\n }\n } catch (err) {\n _didIteratorError3 = true;\n _iteratorError3 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion3 && _iterator3[\"return\"] != null) {\n _iterator3[\"return\"]();\n }\n } finally {\n if (_didIteratorError3) {\n throw _iteratorError3;\n }\n }\n }\n });\n }\n }, {\n key: \"onDataProgressiveDone\",\n value: function onDataProgressiveDone() {\n var _this4 = this;\n\n this._readyCapability.promise.then(function () {\n var _iteratorNormalCompletion4 = true;\n var _didIteratorError4 = false;\n var _iteratorError4 = undefined;\n\n try {\n for (var _iterator4 = _this4._progressiveDoneListeners[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {\n var listener = _step4.value;\n listener();\n }\n } catch (err) {\n _didIteratorError4 = true;\n _iteratorError4 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion4 && _iterator4[\"return\"] != null) {\n _iterator4[\"return\"]();\n }\n } finally {\n if (_didIteratorError4) {\n throw _iteratorError4;\n }\n }\n }\n });\n }\n }, {\n key: \"transportReady\",\n value: function transportReady() {\n this._readyCapability.resolve();\n }\n }, {\n key: \"requestDataRange\",\n value: function requestDataRange(begin, end) {\n (0, _util.unreachable)('Abstract method PDFDataRangeTransport.requestDataRange');\n }\n }, {\n key: \"abort\",\n value: function abort() {}\n }]);\n\n return PDFDataRangeTransport;\n}();\n\nexports.PDFDataRangeTransport = PDFDataRangeTransport;\n\nvar PDFDocumentProxy =\n/*#__PURE__*/\nfunction () {\n function PDFDocumentProxy(pdfInfo, transport) {\n _classCallCheck(this, PDFDocumentProxy);\n\n this._pdfInfo = pdfInfo;\n this._transport = transport;\n }\n\n _createClass(PDFDocumentProxy, [{\n key: \"getPage\",\n value: function getPage(pageNumber) {\n return this._transport.getPage(pageNumber);\n }\n }, {\n key: \"getPageIndex\",\n value: function getPageIndex(ref) {\n return this._transport.getPageIndex(ref);\n }\n }, {\n key: \"getDestinations\",\n value: function getDestinations() {\n return this._transport.getDestinations();\n }\n }, {\n key: \"getDestination\",\n value: function getDestination(id) {\n return this._transport.getDestination(id);\n }\n }, {\n key: \"getPageLabels\",\n value: function getPageLabels() {\n return this._transport.getPageLabels();\n }\n }, {\n key: \"getPageLayout\",\n value: function getPageLayout() {\n return this._transport.getPageLayout();\n }\n }, {\n key: \"getPageMode\",\n value: function getPageMode() {\n return this._transport.getPageMode();\n }\n }, {\n key: \"getViewerPreferences\",\n value: function getViewerPreferences() {\n return this._transport.getViewerPreferences();\n }\n }, {\n key: \"getOpenActionDestination\",\n value: function getOpenActionDestination() {\n return this._transport.getOpenActionDestination();\n }\n }, {\n key: \"getAttachments\",\n value: function getAttachments() {\n return this._transport.getAttachments();\n }\n }, {\n key: \"getJavaScript\",\n value: function getJavaScript() {\n return this._transport.getJavaScript();\n }\n }, {\n key: \"getOutline\",\n value: function getOutline() {\n return this._transport.getOutline();\n }\n }, {\n key: \"getPermissions\",\n value: function getPermissions() {\n return this._transport.getPermissions();\n }\n }, {\n key: \"getMetadata\",\n value: function getMetadata() {\n return this._transport.getMetadata();\n }\n }, {\n key: \"getData\",\n value: function getData() {\n return this._transport.getData();\n }\n }, {\n key: \"getDownloadInfo\",\n value: function getDownloadInfo() {\n return this._transport.downloadInfoCapability.promise;\n }\n }, {\n key: \"getStats\",\n value: function getStats() {\n return this._transport.getStats();\n }\n }, {\n key: \"cleanup\",\n value: function cleanup() {\n this._transport.startCleanup();\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n return this.loadingTask.destroy();\n }\n }, {\n key: \"numPages\",\n get: function get() {\n return this._pdfInfo.numPages;\n }\n }, {\n key: \"fingerprint\",\n get: function get() {\n return this._pdfInfo.fingerprint;\n }\n }, {\n key: \"loadingParams\",\n get: function get() {\n return this._transport.loadingParams;\n }\n }, {\n key: \"loadingTask\",\n get: function get() {\n return this._transport.loadingTask;\n }\n }]);\n\n return PDFDocumentProxy;\n}();\n\nexports.PDFDocumentProxy = PDFDocumentProxy;\n\nvar PDFPageProxy =\n/*#__PURE__*/\nfunction () {\n function PDFPageProxy(pageIndex, pageInfo, transport) {\n var pdfBug = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n\n _classCallCheck(this, PDFPageProxy);\n\n this.pageIndex = pageIndex;\n this._pageInfo = pageInfo;\n this._transport = transport;\n this._stats = pdfBug ? new _display_utils.StatTimer() : _display_utils.DummyStatTimer;\n this._pdfBug = pdfBug;\n this.commonObjs = transport.commonObjs;\n this.objs = new PDFObjects();\n this.cleanupAfterRender = false;\n this.pendingCleanup = false;\n this.intentStates = Object.create(null);\n this.destroyed = false;\n }\n\n _createClass(PDFPageProxy, [{\n key: \"getViewport\",\n value: function getViewport() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n scale = _ref.scale,\n _ref$rotation = _ref.rotation,\n rotation = _ref$rotation === void 0 ? this.rotate : _ref$rotation,\n _ref$dontFlip = _ref.dontFlip,\n dontFlip = _ref$dontFlip === void 0 ? false : _ref$dontFlip;\n\n if (arguments.length > 1 || typeof arguments[0] === 'number') {\n (0, _display_utils.deprecated)('getViewport is called with obsolete arguments.');\n scale = arguments[0];\n rotation = typeof arguments[1] === 'number' ? arguments[1] : this.rotate;\n dontFlip = typeof arguments[2] === 'boolean' ? arguments[2] : false;\n }\n\n return new _display_utils.PageViewport({\n viewBox: this.view,\n scale: scale,\n rotation: rotation,\n dontFlip: dontFlip\n });\n }\n }, {\n key: \"getAnnotations\",\n value: function getAnnotations() {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref2$intent = _ref2.intent,\n intent = _ref2$intent === void 0 ? null : _ref2$intent;\n\n if (!this.annotationsPromise || this.annotationsIntent !== intent) {\n this.annotationsPromise = this._transport.getAnnotations(this.pageIndex, intent);\n this.annotationsIntent = intent;\n }\n\n return this.annotationsPromise;\n }\n }, {\n key: \"render\",\n value: function render(_ref3) {\n var _this5 = this;\n\n var canvasContext = _ref3.canvasContext,\n viewport = _ref3.viewport,\n _ref3$intent = _ref3.intent,\n intent = _ref3$intent === void 0 ? 'display' : _ref3$intent,\n _ref3$enableWebGL = _ref3.enableWebGL,\n enableWebGL = _ref3$enableWebGL === void 0 ? false : _ref3$enableWebGL,\n _ref3$renderInteracti = _ref3.renderInteractiveForms,\n renderInteractiveForms = _ref3$renderInteracti === void 0 ? false : _ref3$renderInteracti,\n _ref3$transform = _ref3.transform,\n transform = _ref3$transform === void 0 ? null : _ref3$transform,\n _ref3$imageLayer = _ref3.imageLayer,\n imageLayer = _ref3$imageLayer === void 0 ? null : _ref3$imageLayer,\n _ref3$canvasFactory = _ref3.canvasFactory,\n canvasFactory = _ref3$canvasFactory === void 0 ? null : _ref3$canvasFactory,\n _ref3$background = _ref3.background,\n background = _ref3$background === void 0 ? null : _ref3$background;\n var stats = this._stats;\n stats.time('Overall');\n var renderingIntent = intent === 'print' ? 'print' : 'display';\n this.pendingCleanup = false;\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.streamReaderCancelTimeout) {\n clearTimeout(intentState.streamReaderCancelTimeout);\n intentState.streamReaderCancelTimeout = null;\n }\n\n var canvasFactoryInstance = canvasFactory || new _display_utils.DOMCanvasFactory();\n var webGLContext = new _webgl.WebGLContext({\n enable: enableWebGL\n });\n\n if (!intentState.displayReadyCapability) {\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._pumpOperatorList({\n pageIndex: this.pageNumber - 1,\n intent: renderingIntent,\n renderInteractiveForms: renderInteractiveForms === true\n });\n }\n\n var complete = function complete(error) {\n var i = intentState.renderTasks.indexOf(internalRenderTask);\n\n if (i >= 0) {\n intentState.renderTasks.splice(i, 1);\n }\n\n if (_this5.cleanupAfterRender || renderingIntent === 'print') {\n _this5.pendingCleanup = true;\n }\n\n _this5._tryCleanup();\n\n if (error) {\n internalRenderTask.capability.reject(error);\n\n _this5._abortOperatorList({\n intentState: intentState,\n reason: error\n });\n } else {\n internalRenderTask.capability.resolve();\n }\n\n stats.timeEnd('Rendering');\n stats.timeEnd('Overall');\n };\n\n var internalRenderTask = new InternalRenderTask({\n callback: complete,\n params: {\n canvasContext: canvasContext,\n viewport: viewport,\n transform: transform,\n imageLayer: imageLayer,\n background: background\n },\n objs: this.objs,\n commonObjs: this.commonObjs,\n operatorList: intentState.operatorList,\n pageNumber: this.pageNumber,\n canvasFactory: canvasFactoryInstance,\n webGLContext: webGLContext,\n useRequestAnimationFrame: renderingIntent !== 'print',\n pdfBug: this._pdfBug\n });\n\n if (!intentState.renderTasks) {\n intentState.renderTasks = [];\n }\n\n intentState.renderTasks.push(internalRenderTask);\n var renderTask = internalRenderTask.task;\n intentState.displayReadyCapability.promise.then(function (transparency) {\n if (_this5.pendingCleanup) {\n complete();\n return;\n }\n\n stats.time('Rendering');\n internalRenderTask.initializeGraphics(transparency);\n internalRenderTask.operatorListChanged();\n })[\"catch\"](complete);\n return renderTask;\n }\n }, {\n key: \"getOperatorList\",\n value: function getOperatorList() {\n function operatorListChanged() {\n if (intentState.operatorList.lastChunk) {\n intentState.opListReadCapability.resolve(intentState.operatorList);\n var i = intentState.renderTasks.indexOf(opListTask);\n\n if (i >= 0) {\n intentState.renderTasks.splice(i, 1);\n }\n }\n }\n\n var renderingIntent = 'oplist';\n\n if (!this.intentStates[renderingIntent]) {\n this.intentStates[renderingIntent] = Object.create(null);\n }\n\n var intentState = this.intentStates[renderingIntent];\n var opListTask;\n\n if (!intentState.opListReadCapability) {\n opListTask = {};\n opListTask.operatorListChanged = operatorListChanged;\n intentState.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._pumpOperatorList({\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 var _this6 = this;\n\n this.destroyed = true;\n this._transport.pageCache[this.pageIndex] = null;\n var waitOn = [];\n Object.keys(this.intentStates).forEach(function (intent) {\n var intentState = _this6.intentStates[intent];\n\n _this6._abortOperatorList({\n intentState: intentState,\n reason: new Error('Page was destroyed.'),\n force: true\n });\n\n if (intent === 'oplist') {\n return;\n }\n\n intentState.renderTasks.forEach(function (renderTask) {\n var renderCompleted = renderTask.capability.promise[\"catch\"](function () {});\n waitOn.push(renderCompleted);\n renderTask.cancel();\n });\n });\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 _this7 = this;\n\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 = _this7.intentStates[intent];\n return intentState.renderTasks.length !== 0 || !intentState.operatorList.lastChunk;\n })) {\n return;\n }\n\n Object.keys(this.intentStates).forEach(function (intent) {\n delete _this7.intentStates[intent];\n });\n this.objs.clear();\n this.annotationsPromise = null;\n\n if (resetStats && this._stats instanceof _display_utils.StatTimer) {\n this._stats = new _display_utils.StatTimer();\n }\n\n this.pendingCleanup = false;\n }\n }, {\n key: \"_startRenderPage\",\n value: function _startRenderPage(transparency, intent) {\n var intentState = this.intentStates[intent];\n\n if (!intentState) {\n return;\n }\n\n this._stats.timeEnd('Page Request');\n\n if (intentState.displayReadyCapability) {\n intentState.displayReadyCapability.resolve(transparency);\n }\n }\n }, {\n key: \"_renderPageChunk\",\n value: function _renderPageChunk(operatorListChunk, intentState) {\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 this._tryCleanup();\n }\n }\n }, {\n key: \"_pumpOperatorList\",\n value: function _pumpOperatorList(args) {\n var _this8 = this;\n\n (0, _util.assert)(args.intent, 'PDFPageProxy._pumpOperatorList: Expected \"intent\" argument.');\n\n var readableStream = this._transport.messageHandler.sendWithStream('GetOperatorList', args);\n\n var reader = readableStream.getReader();\n var intentState = this.intentStates[args.intent];\n intentState.streamReader = reader;\n\n var pump = function pump() {\n reader.read().then(function (_ref6) {\n var value = _ref6.value,\n done = _ref6.done;\n\n if (done) {\n intentState.streamReader = null;\n return;\n }\n\n if (_this8._transport.destroyed) {\n return;\n }\n\n _this8._renderPageChunk(value, intentState);\n\n pump();\n }, function (reason) {\n intentState.streamReader = null;\n\n if (_this8._transport.destroyed) {\n return;\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 _this8._tryCleanup();\n }\n\n if (intentState.displayReadyCapability) {\n intentState.displayReadyCapability.reject(reason);\n } else if (intentState.opListReadCapability) {\n intentState.opListReadCapability.reject(reason);\n } else {\n throw reason;\n }\n });\n };\n\n pump();\n }\n }, {\n key: \"_abortOperatorList\",\n value: function _abortOperatorList(_ref7) {\n var _this9 = this;\n\n var intentState = _ref7.intentState,\n reason = _ref7.reason,\n _ref7$force = _ref7.force,\n force = _ref7$force === void 0 ? false : _ref7$force;\n (0, _util.assert)(reason instanceof Error, 'PDFPageProxy._abortOperatorList: Expected \"reason\" argument.');\n\n if (!intentState.streamReader) {\n return;\n }\n\n if (!force) {\n if (intentState.renderTasks.length !== 0) {\n return;\n }\n\n if (reason instanceof _display_utils.RenderingCancelledException) {\n intentState.streamReaderCancelTimeout = setTimeout(function () {\n _this9._abortOperatorList({\n intentState: intentState,\n reason: reason,\n force: true\n });\n\n intentState.streamReaderCancelTimeout = null;\n }, RENDERING_CANCELLED_TIMEOUT);\n return;\n }\n }\n\n intentState.streamReader.cancel(new _util.AbortException(reason && reason.message));\n intentState.streamReader = null;\n\n if (this._transport.destroyed) {\n return;\n }\n\n Object.keys(this.intentStates).some(function (intent) {\n if (_this9.intentStates[intent] === intentState) {\n delete _this9.intentStates[intent];\n return true;\n }\n\n return false;\n });\n this.cleanup();\n }\n }, {\n key: \"pageNumber\",\n get: function get() {\n return this.pageIndex + 1;\n }\n }, {\n key: \"rotate\",\n get: function get() {\n return this._pageInfo.rotate;\n }\n }, {\n key: \"ref\",\n get: function get() {\n return this._pageInfo.ref;\n }\n }, {\n key: \"userUnit\",\n get: function get() {\n return this._pageInfo.userUnit;\n }\n }, {\n key: \"view\",\n get: function get() {\n return this._pageInfo.view;\n }\n }, {\n key: \"stats\",\n get: function get() {\n return this._stats instanceof _display_utils.StatTimer ? this._stats : null;\n }\n }]);\n\n return PDFPageProxy;\n}();\n\nexports.PDFPageProxy = PDFPageProxy;\n\nvar LoopbackPort =\n/*#__PURE__*/\nfunction () {\n function LoopbackPort() {\n var defer = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n _classCallCheck(this, LoopbackPort);\n\n this._listeners = [];\n this._defer = defer;\n this._deferred = Promise.resolve(undefined);\n }\n\n _createClass(LoopbackPort, [{\n key: \"postMessage\",\n value: function postMessage(obj, transfers) {\n var _this10 = 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') {\n continue;\n }\n\n if (typeof desc.value === 'function') {\n if (value.hasOwnProperty && value.hasOwnProperty(i)) {\n throw new Error(\"LoopbackPort.postMessage - cannot clone: \".concat(value[i]));\n }\n\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(_this10, {\n data: obj\n });\n });\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 _this10._listeners.forEach(function (listener) {\n listener.call(_this10, e);\n });\n });\n }\n }, {\n key: \"addEventListener\",\n value: function addEventListener(name, listener) {\n this._listeners.push(listener);\n }\n }, {\n key: \"removeEventListener\",\n value: function removeEventListener(name, listener) {\n var i = this._listeners.indexOf(listener);\n\n this._listeners.splice(i, 1);\n }\n }, {\n key: \"terminate\",\n value: function terminate() {\n this._listeners.length = 0;\n }\n }]);\n\n return LoopbackPort;\n}();\n\nexports.LoopbackPort = LoopbackPort;\n\nvar PDFWorker = function PDFWorkerClosure() {\n var pdfWorkerPorts = new WeakMap();\n var nextFakeWorkerId = 0;\n var fakeWorkerFilesLoadedCapability;\n\n function _getWorkerSrc() {\n if (_worker_options.GlobalWorkerOptions.workerSrc) {\n return _worker_options.GlobalWorkerOptions.workerSrc;\n }\n\n if (typeof fallbackWorkerSrc !== 'undefined') {\n return fallbackWorkerSrc;\n }\n\n throw new Error('No \"GlobalWorkerOptions.workerSrc\" specified.');\n }\n\n function getMainThreadWorkerMessageHandler() {\n try {\n if (typeof window !== 'undefined') {\n return window.pdfjsWorker && window.pdfjsWorker.WorkerMessageHandler;\n }\n } catch (ex) {}\n\n return null;\n }\n\n function setupFakeWorkerGlobal() {\n if (fakeWorkerFilesLoadedCapability) {\n return fakeWorkerFilesLoadedCapability.promise;\n }\n\n fakeWorkerFilesLoadedCapability = (0, _util.createPromiseCapability)();\n var mainWorkerMessageHandler = getMainThreadWorkerMessageHandler();\n\n if (mainWorkerMessageHandler) {\n fakeWorkerFilesLoadedCapability.resolve(mainWorkerMessageHandler);\n return fakeWorkerFilesLoadedCapability.promise;\n }\n\n var loader = fakeWorkerFilesLoader || function () {\n return (0, _display_utils.loadScript)(_getWorkerSrc()).then(function () {\n return window.pdfjsWorker.WorkerMessageHandler;\n });\n };\n\n loader().then(fakeWorkerFilesLoadedCapability.resolve, fakeWorkerFilesLoadedCapability.reject);\n return fakeWorkerFilesLoadedCapability.promise;\n }\n\n function createCDNWrapper(url) {\n var wrapper = 'importScripts(\\'' + url + '\\');';\n return URL.createObjectURL(new Blob([wrapper]));\n }\n\n var PDFWorker =\n /*#__PURE__*/\n function () {\n function PDFWorker() {\n var _ref8 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref8$name = _ref8.name,\n name = _ref8$name === void 0 ? null : _ref8$name,\n _ref8$port = _ref8.port,\n port = _ref8$port === void 0 ? null : _ref8$port,\n _ref8$verbosity = _ref8.verbosity,\n verbosity = _ref8$verbosity === void 0 ? (0, _util.getVerbosityLevel)() : _ref8$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 = true;\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 _this11 = 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 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 (_this11.destroyed) {\n _this11._readyCapability.reject(new Error('Worker was destroyed'));\n } else {\n _this11._setupFakeWorker();\n }\n };\n\n var onWorkerError = function onWorkerError() {\n if (!_this11._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 (_this11.destroyed) {\n terminateEarly();\n return;\n }\n\n if (data) {\n _this11._messageHandler = messageHandler;\n _this11._port = worker;\n _this11._webWorker = worker;\n\n if (!data.supportTransfers) {\n _this11.postMessageTransfers = false;\n }\n\n _this11._readyCapability.resolve();\n\n messageHandler.send('configure', {\n verbosity: _this11.verbosity\n });\n } else {\n _this11._setupFakeWorker();\n\n messageHandler.destroy();\n worker.terminate();\n }\n });\n messageHandler.on('ready', function (data) {\n worker.removeEventListener('error', onWorkerError);\n\n if (_this11.destroyed) {\n terminateEarly();\n return;\n }\n\n try {\n sendTest();\n } catch (e) {\n _this11._setupFakeWorker();\n }\n });\n\n var sendTest = function sendTest() {\n var testObj = new Uint8Array([_this11.postMessageTransfers ? 255 : 0]);\n\n try {\n messageHandler.send('test', testObj, [testObj.buffer]);\n } catch (ex) {\n (0, _util.warn)('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 _this12 = 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 (_this12.destroyed) {\n _this12._readyCapability.reject(new Error('Worker was destroyed'));\n\n return;\n }\n\n var port = new LoopbackPort();\n _this12._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 _this12._messageHandler = messageHandler;\n\n _this12._readyCapability.resolve();\n })[\"catch\"](function (reason) {\n _this12._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 _this13 = this;\n\n if (this.destroyCapability) {\n return this.destroyCapability.promise;\n }\n\n this.destroyed = true;\n this.destroyCapability = (0, _util.createPromiseCapability)();\n\n if (this._passwordCapability) {\n this._passwordCapability.reject(new Error('Worker was destroyed during onPassword callback'));\n }\n\n var waitOn = [];\n this.pageCache.forEach(function (page) {\n if (page) {\n waitOn.push(page._destroy());\n }\n });\n this.pageCache.length = 0;\n this.pagePromises.length = 0;\n var terminated = this.messageHandler.sendWithPromise('Terminate', null);\n waitOn.push(terminated);\n Promise.all(waitOn).then(function () {\n _this13.fontLoader.clear();\n\n if (_this13._networkStream) {\n _this13._networkStream.cancelAllRequests(new _util.AbortException('Worker was terminated.'));\n }\n\n if (_this13.messageHandler) {\n _this13.messageHandler.destroy();\n\n _this13.messageHandler = null;\n }\n\n _this13.destroyCapability.resolve();\n }, this.destroyCapability.reject);\n return this.destroyCapability.promise;\n }\n }, {\n key: \"setupMessageHandler\",\n value: function setupMessageHandler() {\n var _this14 = this;\n\n var messageHandler = this.messageHandler,\n loadingTask = this.loadingTask;\n messageHandler.on('GetReader', function (data, sink) {\n (0, _util.assert)(_this14._networkStream);\n _this14._fullReader = _this14._networkStream.getFullReader();\n\n _this14._fullReader.onProgress = function (evt) {\n _this14._lastProgress = {\n loaded: evt.loaded,\n total: evt.total\n };\n };\n\n sink.onPull = function () {\n _this14._fullReader.read().then(function (_ref9) {\n var value = _ref9.value,\n done = _ref9.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 _this14._fullReader.cancel(reason);\n };\n });\n messageHandler.on('ReaderHeadersReady', function (data) {\n var headersCapability = (0, _util.createPromiseCapability)();\n var fullReader = _this14._fullReader;\n fullReader.headersReady.then(function () {\n if (!fullReader.isStreamingSupported || !fullReader.isRangeSupported) {\n if (_this14._lastProgress && loadingTask.onProgress) {\n loadingTask.onProgress(_this14._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 });\n messageHandler.on('GetRangeReader', function (data, sink) {\n (0, _util.assert)(_this14._networkStream);\n\n var rangeReader = _this14._networkStream.getRangeReader(data.begin, data.end);\n\n if (!rangeReader) {\n sink.close();\n return;\n }\n\n sink.onPull = function () {\n rangeReader.read().then(function (_ref10) {\n var value = _ref10.value,\n done = _ref10.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 });\n messageHandler.on('GetDoc', function (_ref11) {\n var pdfInfo = _ref11.pdfInfo;\n _this14._numPages = pdfInfo.numPages;\n\n loadingTask._capability.resolve(new PDFDocumentProxy(pdfInfo, _this14));\n });\n messageHandler.on('PasswordRequest', function (exception) {\n _this14._passwordCapability = (0, _util.createPromiseCapability)();\n\n if (loadingTask.onPassword) {\n var updatePassword = function updatePassword(password) {\n _this14._passwordCapability.resolve({\n password: password\n });\n };\n\n try {\n loadingTask.onPassword(updatePassword, exception.code);\n } catch (ex) {\n _this14._passwordCapability.reject(ex);\n }\n } else {\n _this14._passwordCapability.reject(new _util.PasswordException(exception.message, exception.code));\n }\n\n return _this14._passwordCapability.promise;\n });\n messageHandler.on('PasswordException', function (exception) {\n loadingTask._capability.reject(new _util.PasswordException(exception.message, exception.code));\n });\n messageHandler.on('InvalidPDF', function (exception) {\n loadingTask._capability.reject(new _util.InvalidPDFException(exception.message));\n });\n messageHandler.on('MissingPDF', function (exception) {\n loadingTask._capability.reject(new _util.MissingPDFException(exception.message));\n });\n messageHandler.on('UnexpectedResponse', function (exception) {\n loadingTask._capability.reject(new _util.UnexpectedResponseException(exception.message, exception.status));\n });\n messageHandler.on('UnknownError', function (exception) {\n loadingTask._capability.reject(new _util.UnknownErrorException(exception.message, exception.details));\n });\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 _this14.downloadInfoCapability.resolve(data);\n });\n messageHandler.on('StartRenderPage', function (data) {\n if (_this14.destroyed) {\n return;\n }\n\n var page = _this14.pageCache[data.pageIndex];\n\n page._startRenderPage(data.transparency, data.intent);\n });\n messageHandler.on('commonobj', function (data) {\n if (_this14.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 (_this14.commonObjs.has(id)) {\n return;\n }\n\n switch (type) {\n case 'Font':\n var params = _this14._params;\n\n if ('error' in exportedData) {\n var exportedError = exportedData.error;\n (0, _util.warn)(\"Error during font loading: \".concat(exportedError));\n\n _this14.commonObjs.resolve(id, exportedError);\n\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: _this14._onUnsupportedFeature.bind(_this14),\n fontRegistry: fontRegistry\n });\n\n _this14.fontLoader.bind(font).then(function () {\n _this14.commonObjs.resolve(id, font);\n }, function (reason) {\n messageHandler.sendWithPromise('FontFallback', {\n id: id\n })[\"finally\"](function () {\n _this14.commonObjs.resolve(id, font);\n });\n });\n\n break;\n\n case 'FontPath':\n case 'FontType3Res':\n _this14.commonObjs.resolve(id, exportedData);\n\n break;\n\n default:\n throw new Error(\"Got unknown common object type \".concat(type));\n }\n });\n messageHandler.on('obj', function (data) {\n if (_this14.destroyed) {\n return undefined;\n }\n\n var _data2 = _slicedToArray(data, 4),\n id = _data2[0],\n pageIndex = _data2[1],\n type = _data2[2],\n imageData = _data2[3];\n\n var pageProxy = _this14.pageCache[pageIndex];\n\n if (pageProxy.objs.has(id)) {\n return undefined;\n }\n\n switch (type) {\n case 'JpegStream':\n return new Promise(function (resolve, reject) {\n var img = new Image();\n\n img.onload = function () {\n resolve(img);\n };\n\n img.onerror = function () {\n reject(new Error('Error during JPEG image loading'));\n (0, _display_utils.releaseImageResources)(img);\n };\n\n img.src = imageData;\n }).then(function (img) {\n pageProxy.objs.resolve(id, img);\n });\n\n case 'Image':\n pageProxy.objs.resolve(id, imageData);\n var MAX_IMAGE_SIZE_TO_STORE = 8000000;\n\n if (imageData && 'data' in imageData && imageData.data.length > MAX_IMAGE_SIZE_TO_STORE) {\n pageProxy.cleanupAfterRender = true;\n }\n\n break;\n\n default:\n throw new Error(\"Got unknown object type \".concat(type));\n }\n\n return undefined;\n });\n messageHandler.on('DocProgress', function (data) {\n if (_this14.destroyed) {\n return;\n }\n\n if (loadingTask.onProgress) {\n loadingTask.onProgress({\n loaded: data.loaded,\n total: data.total\n });\n }\n });\n messageHandler.on('UnsupportedFeature', this._onUnsupportedFeature.bind(this));\n messageHandler.on('JpegDecode', function (data) {\n if (_this14.destroyed) {\n return Promise.reject(new Error('Worker was destroyed'));\n }\n\n if (typeof document === 'undefined') {\n return Promise.reject(new Error('\"document\" is not defined.'));\n }\n\n var _data3 = _slicedToArray(data, 2),\n imageUrl = _data3[0],\n components = _data3[1];\n\n if (components !== 3 && components !== 1) {\n return Promise.reject(new Error('Only 3 components or 1 component can be returned'));\n }\n\n return new Promise(function (resolve, reject) {\n var img = new Image();\n\n img.onload = function () {\n var width = img.width,\n height = img.height;\n var size = width * height;\n var rgbaLength = size * 4;\n var buf = new Uint8ClampedArray(size * components);\n var tmpCanvas = document.createElement('canvas');\n tmpCanvas.width = width;\n tmpCanvas.height = height;\n var tmpCtx = tmpCanvas.getContext('2d');\n tmpCtx.drawImage(img, 0, 0);\n var data = tmpCtx.getImageData(0, 0, width, height).data;\n\n if (components === 3) {\n for (var i = 0, j = 0; i < rgbaLength; i += 4, j += 3) {\n buf[j] = data[i];\n buf[j + 1] = data[i + 1];\n buf[j + 2] = data[i + 2];\n }\n } else if (components === 1) {\n for (var _i2 = 0, _j = 0; _i2 < rgbaLength; _i2 += 4, _j++) {\n buf[_j] = data[_i2];\n }\n }\n\n resolve({\n data: buf,\n width: width,\n height: height\n });\n (0, _display_utils.releaseImageResources)(img);\n tmpCanvas.width = 0;\n tmpCanvas.height = 0;\n tmpCanvas = null;\n tmpCtx = null;\n };\n\n img.onerror = function () {\n reject(new Error('JpegDecode failed to load image'));\n (0, _display_utils.releaseImageResources)(img);\n };\n\n img.src = imageUrl;\n });\n });\n messageHandler.on('FetchBuiltInCMap', function (data, sink) {\n if (_this14.destroyed) {\n sink.error(new Error('Worker was destroyed'));\n return;\n }\n\n var fetched = false;\n\n sink.onPull = function () {\n if (fetched) {\n sink.close();\n return;\n }\n\n fetched = true;\n\n _this14.CMapReaderFactory.fetch(data).then(function (builtInCMap) {\n sink.enqueue(builtInCMap, 1, [builtInCMap.cMapData.buffer]);\n })[\"catch\"](function (reason) {\n sink.error(reason);\n });\n };\n });\n }\n }, {\n key: \"_onUnsupportedFeature\",\n value: function _onUnsupportedFeature(_ref12) {\n var featureId = _ref12.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 _this15 = 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 (_this15.destroyed) {\n throw new Error('Transport destroyed');\n }\n\n var page = new PDFPageProxy(pageIndex, pageInfo, _this15, _this15._params.pdfBug);\n _this15.pageCache[pageIndex] = page;\n return page;\n });\n this.pagePromises[pageIndex] = promise;\n return promise;\n }\n }, {\n key: \"getPageIndex\",\n value: function getPageIndex(ref) {\n return this.messageHandler.sendWithPromise('GetPageIndex', {\n ref: ref\n })[\"catch\"](function (reason) {\n return Promise.reject(new Error(reason));\n });\n }\n }, {\n key: \"getAnnotations\",\n value: function getAnnotations(pageIndex, intent) {\n return this.messageHandler.sendWithPromise('GetAnnotations', {\n pageIndex: pageIndex,\n intent: intent\n });\n }\n }, {\n key: \"getDestinations\",\n value: function getDestinations() {\n return this.messageHandler.sendWithPromise('GetDestinations', null);\n }\n }, {\n key: \"getDestination\",\n value: function getDestination(id) {\n if (typeof id !== 'string') {\n return Promise.reject(new Error('Invalid destination request.'));\n }\n\n return this.messageHandler.sendWithPromise('GetDestination', {\n id: id\n });\n }\n }, {\n key: \"getPageLabels\",\n value: function getPageLabels() {\n return this.messageHandler.sendWithPromise('GetPageLabels', null);\n }\n }, {\n key: \"getPageLayout\",\n value: function getPageLayout() {\n return this.messageHandler.sendWithPromise('GetPageLayout', null);\n }\n }, {\n key: \"getPageMode\",\n value: function getPageMode() {\n return this.messageHandler.sendWithPromise('GetPageMode', null);\n }\n }, {\n key: \"getViewerPreferences\",\n value: function getViewerPreferences() {\n return this.messageHandler.sendWithPromise('GetViewerPreferences', null);\n }\n }, {\n key: \"getOpenActionDestination\",\n value: function getOpenActionDestination() {\n return this.messageHandler.sendWithPromise('GetOpenActionDestination', null);\n }\n }, {\n key: \"getAttachments\",\n value: function getAttachments() {\n return this.messageHandler.sendWithPromise('GetAttachments', null);\n }\n }, {\n key: \"getJavaScript\",\n value: function getJavaScript() {\n return this.messageHandler.sendWithPromise('GetJavaScript', null);\n }\n }, {\n key: \"getOutline\",\n value: function getOutline() {\n return this.messageHandler.sendWithPromise('GetOutline', null);\n }\n }, {\n key: \"getPermissions\",\n value: function getPermissions() {\n return this.messageHandler.sendWithPromise('GetPermissions', null);\n }\n }, {\n key: \"getMetadata\",\n value: function getMetadata() {\n var _this16 = 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: _this16._fullReader ? _this16._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 _this17 = this;\n\n this.messageHandler.sendWithPromise('Cleanup', null).then(function () {\n for (var i = 0, ii = _this17.pageCache.length; i < ii; i++) {\n var page = _this17.pageCache[i];\n\n if (page) {\n page.cleanup();\n }\n }\n\n _this17.commonObjs.clear();\n\n _this17.fontLoader.clear();\n });\n }\n }, {\n key: \"loadingParams\",\n get: function get() {\n var params = this._params;\n return (0, _util.shadow)(this, 'loadingParams', {\n disableAutoFetch: params.disableAutoFetch,\n disableCreateObjectURL: params.disableCreateObjectURL,\n disableFontFace: params.disableFontFace,\n nativeImageDecoderSupport: params.nativeImageDecoderSupport\n });\n }\n }]);\n\n return WorkerTransport;\n}();\n\nvar PDFObjects =\n/*#__PURE__*/\nfunction () {\n function PDFObjects() {\n _classCallCheck(this, PDFObjects);\n\n this._objs = Object.create(null);\n }\n\n _createClass(PDFObjects, [{\n key: \"_ensureObj\",\n value: function _ensureObj(objId) {\n if (this._objs[objId]) {\n return this._objs[objId];\n }\n\n return this._objs[objId] = {\n capability: (0, _util.createPromiseCapability)(),\n data: null,\n resolved: false\n };\n }\n }, {\n key: \"get\",\n value: function get(objId) {\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n if (callback) {\n this._ensureObj(objId).capability.promise.then(callback);\n\n return null;\n }\n\n var obj = this._objs[objId];\n\n if (!obj || !obj.resolved) {\n throw new Error(\"Requesting object that isn't resolved yet \".concat(objId, \".\"));\n }\n\n return obj.data;\n }\n }, {\n key: \"has\",\n value: function has(objId) {\n var obj = this._objs[objId];\n return obj ? obj.resolved : false;\n }\n }, {\n key: \"resolve\",\n value: function resolve(objId, data) {\n var obj = this._ensureObj(objId);\n\n obj.resolved = true;\n obj.data = data;\n obj.capability.resolve(data);\n }\n }, {\n key: \"clear\",\n value: function clear() {\n for (var objId in this._objs) {\n var data = this._objs[objId].data;\n\n if (typeof Image !== 'undefined' && data instanceof Image) {\n (0, _display_utils.releaseImageResources)(data);\n }\n }\n\n this._objs = Object.create(null);\n }\n }]);\n\n return PDFObjects;\n}();\n\nvar RenderTask =\n/*#__PURE__*/\nfunction () {\n function RenderTask(internalRenderTask) {\n _classCallCheck(this, RenderTask);\n\n this._internalRenderTask = internalRenderTask;\n this.onContinue = null;\n }\n\n _createClass(RenderTask, [{\n key: \"cancel\",\n value: function cancel() {\n this._internalRenderTask.cancel();\n }\n }, {\n key: \"then\",\n value: function then(onFulfilled, onRejected) {\n (0, _display_utils.deprecated)('RenderTask.then method, use the `promise` getter instead.');\n return this.promise.then.apply(this.promise, arguments);\n }\n }, {\n key: \"promise\",\n get: function get() {\n return this._internalRenderTask.capability.promise;\n }\n }]);\n\n return RenderTask;\n}();\n\nvar InternalRenderTask = function InternalRenderTaskClosure() {\n var canvasInRendering = new WeakSet();\n\n var InternalRenderTask =\n /*#__PURE__*/\n function () {\n function InternalRenderTask(_ref13) {\n var callback = _ref13.callback,\n params = _ref13.params,\n objs = _ref13.objs,\n commonObjs = _ref13.commonObjs,\n operatorList = _ref13.operatorList,\n pageNumber = _ref13.pageNumber,\n canvasFactory = _ref13.canvasFactory,\n webGLContext = _ref13.webGLContext,\n _ref13$useRequestAnim = _ref13.useRequestAnimationFrame,\n useRequestAnimationFrame = _ref13$useRequestAnim === void 0 ? false : _ref13$useRequestAnim,\n _ref13$pdfBug = _ref13.pdfBug,\n pdfBug = _ref13$pdfBug === void 0 ? false : _ref13$pdfBug;\n\n _classCallCheck(this, InternalRenderTask);\n\n this.callback = callback;\n this.params = params;\n this.objs = objs;\n this.commonObjs = commonObjs;\n this.operatorListIdx = null;\n this.operatorList = operatorList;\n this.pageNumber = pageNumber;\n this.canvasFactory = canvasFactory;\n this.webGLContext = webGLContext;\n this._pdfBug = pdfBug;\n this.running = false;\n this.graphicsReadyCallback = null;\n this.graphicsReady = false;\n this._useRequestAnimationFrame = useRequestAnimationFrame === true && typeof window !== 'undefined';\n this.cancelled = false;\n this.capability = (0, _util.createPromiseCapability)();\n this.task = new RenderTask(this);\n this._continueBound = this._continue.bind(this);\n this._scheduleNextBound = this._scheduleNext.bind(this);\n this._nextBound = this._next.bind(this);\n this._canvas = params.canvasContext.canvas;\n }\n\n _createClass(InternalRenderTask, [{\n key: \"initializeGraphics\",\n value: function initializeGraphics() {\n var transparency = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (this.cancelled) {\n return;\n }\n\n if (this._canvas) {\n if (canvasInRendering.has(this._canvas)) {\n throw new Error('Cannot use the same canvas during multiple render() operations. ' + 'Use different canvas or ensure previous operations were ' + 'cancelled or completed.');\n }\n\n canvasInRendering.add(this._canvas);\n }\n\n if (this._pdfBug && _global_scope[\"default\"].StepperManager && _global_scope[\"default\"].StepperManager.enabled) {\n this.stepper = _global_scope[\"default\"].StepperManager.create(this.pageNumber - 1);\n this.stepper.init(this.operatorList);\n this.stepper.nextBreakPoint = this.stepper.getNextBreakPoint();\n }\n\n var _this$params = this.params,\n canvasContext = _this$params.canvasContext,\n viewport = _this$params.viewport,\n transform = _this$params.transform,\n imageLayer = _this$params.imageLayer,\n background = _this$params.background;\n this.gfx = new _canvas.CanvasGraphics(canvasContext, this.commonObjs, this.objs, this.canvasFactory, this.webGLContext, imageLayer);\n this.gfx.beginDrawing({\n transform: transform,\n viewport: viewport,\n transparency: transparency,\n background: background\n });\n this.operatorListIdx = 0;\n this.graphicsReady = true;\n\n if (this.graphicsReadyCallback) {\n this.graphicsReadyCallback();\n }\n }\n }, {\n key: \"cancel\",\n value: function cancel() {\n var error = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n this.running = false;\n this.cancelled = true;\n\n if (this.gfx) {\n this.gfx.endDrawing();\n }\n\n if (this._canvas) {\n canvasInRendering[\"delete\"](this._canvas);\n }\n\n this.callback(error || new _display_utils.RenderingCancelledException(\"Rendering cancelled, page \".concat(this.pageNumber), 'canvas'));\n }\n }, {\n key: \"operatorListChanged\",\n value: function operatorListChanged() {\n if (!this.graphicsReady) {\n if (!this.graphicsReadyCallback) {\n this.graphicsReadyCallback = this._continueBound;\n }\n\n return;\n }\n\n if (this.stepper) {\n this.stepper.updateOperatorList(this.operatorList);\n }\n\n if (this.running) {\n return;\n }\n\n this._continue();\n }\n }, {\n key: \"_continue\",\n value: function _continue() {\n this.running = true;\n\n if (this.cancelled) {\n return;\n }\n\n if (this.task.onContinue) {\n this.task.onContinue(this._scheduleNextBound);\n } else {\n this._scheduleNext();\n }\n }\n }, {\n key: \"_scheduleNext\",\n value: function _scheduleNext() {\n var _this18 = this;\n\n if (this._useRequestAnimationFrame) {\n window.requestAnimationFrame(function () {\n _this18._nextBound()[\"catch\"](_this18.cancel.bind(_this18));\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.3.200';\nexports.version = version;\nvar build = '4ae3f9fc';\nexports.build = build;\n\n/***/ }),\n/* 180 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = __w_pdfjs_require__(181);\n\n/***/ }),\n/* 181 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(module) {\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar runtime = function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined;\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n return generator;\n }\n\n exports.wrap = wrap;\n\n function tryCatch(fn, obj, arg) {\n try {\n return {\n type: \"normal\",\n arg: fn.call(obj, arg)\n };\n } catch (err) {\n return {\n type: \"throw\",\n arg: err\n };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n var ContinueSentinel = {};\n\n function Generator() {}\n\n function GeneratorFunction() {}\n\n function GeneratorFunctionPrototype() {}\n\n var IteratorPrototype = {};\n\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n\n if (NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunctionPrototype[toStringTagSymbol] = GeneratorFunction.displayName = \"GeneratorFunction\";\n\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function (method) {\n prototype[method] = function (arg) {\n return this._invoke(method, arg);\n };\n });\n }\n\n exports.isGeneratorFunction = function (genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor ? ctor === GeneratorFunction || (ctor.displayName || ctor.name) === \"GeneratorFunction\" : false;\n };\n\n exports.mark = function (genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n\n if (!(toStringTagSymbol in genFun)) {\n genFun[toStringTagSymbol] = \"GeneratorFunction\";\n }\n }\n\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n exports.awrap = function (arg) {\n return {\n __await: arg\n };\n };\n\n function AsyncIterator(generator) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n\n if (value && _typeof(value) === \"object\" && hasOwn.call(value, \"__await\")) {\n return Promise.resolve(value.__await).then(function (value) {\n invoke(\"next\", value, resolve, reject);\n }, function (err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return Promise.resolve(value).then(function (unwrapped) {\n result.value = unwrapped;\n resolve(result);\n }, function (error) {\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new Promise(function (resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n\n exports.AsyncIterator = AsyncIterator;\n\n exports.async = function (innerFn, outerFn, self, tryLocsList) {\n var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList));\n return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n context.sent = context._sent = context.arg;\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n var record = tryCatch(innerFn, self, context);\n\n if (record.type === \"normal\") {\n state = context.done ? GenStateCompleted : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n\n if (method === undefined) {\n context.delegate = null;\n\n if (context.method === \"throw\") {\n if (delegate.iterator[\"return\"]) {\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (!info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n context[delegate.resultName] = info.value;\n context.next = delegate.nextLoc;\n\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n } else {\n return info;\n }\n\n context.delegate = null;\n return ContinueSentinel;\n }\n\n defineIteratorMethods(Gp);\n Gp[toStringTagSymbol] = \"Generator\";\n\n Gp[iteratorSymbol] = function () {\n return this;\n };\n\n Gp.toString = function () {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = {\n tryLoc: locs[0]\n };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function (object) {\n var keys = [];\n\n for (var key in object) {\n keys.push(key);\n }\n\n keys.reverse();\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1,\n next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n return next;\n };\n\n return next.next = next;\n }\n }\n\n return {\n next: doneResult\n };\n }\n\n exports.values = values;\n\n function doneResult() {\n return {\n value: undefined,\n done: true\n };\n }\n\n Context.prototype = {\n constructor: Context,\n reset: function reset(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n this.method = \"next\";\n this.arg = undefined;\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n if (name.charAt(0) === \"t\" && hasOwn.call(this, name) && !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n stop: function stop() {\n this.done = true;\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n dispatchException: function dispatchException(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !!caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n abrupt: function abrupt(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n\n if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry && (type === \"break\" || type === \"continue\") && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc) {\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n complete: function complete(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" || record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n finish: function finish(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n \"catch\": function _catch(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n\n return thrown;\n }\n }\n\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n return exports;\n}(( false ? undefined : _typeof(module)) === \"object\" ? module.exports : {});\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n/* WEBPACK VAR INJECTION */}.call(this, __w_pdfjs_require__(182)(module)))\n\n/***/ }),\n/* 182 */\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/* 183 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.addLinkAttributes = addLinkAttributes;\nexports.getFilenameFromUrl = getFilenameFromUrl;\nexports.isFetchSupported = isFetchSupported;\nexports.isValidFetchUrl = isValidFetchUrl;\nexports.loadScript = loadScript;\nexports.deprecated = deprecated;\nexports.releaseImageResources = releaseImageResources;\nexports.PDFDateString = exports.DummyStatTimer = exports.StatTimer = exports.DOMSVGFactory = exports.DOMCMapReaderFactory = exports.DOMCanvasFactory = exports.DEFAULT_LINK_REL = exports.LinkTarget = exports.RenderingCancelledException = exports.PageViewport = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(180));\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 DEFAULT_LINK_REL = 'noopener noreferrer nofollow';\nexports.DEFAULT_LINK_REL = DEFAULT_LINK_REL;\nvar SVG_NS = 'http://www.w3.org/2000/svg';\n\nvar DOMCanvasFactory =\n/*#__PURE__*/\nfunction () {\n function DOMCanvasFactory() {\n _classCallCheck(this, DOMCanvasFactory);\n }\n\n _createClass(DOMCanvasFactory, [{\n key: \"create\",\n value: function create(width, height) {\n if (width <= 0 || height <= 0) {\n throw new Error('Invalid canvas size');\n }\n\n var canvas = document.createElement('canvas');\n var context = canvas.getContext('2d');\n canvas.width = width;\n canvas.height = height;\n return {\n canvas: canvas,\n context: context\n };\n }\n }, {\n key: \"reset\",\n value: function reset(canvasAndContext, width, height) {\n if (!canvasAndContext.canvas) {\n throw new Error('Canvas is not specified');\n }\n\n if (width <= 0 || height <= 0) {\n throw new Error('Invalid canvas size');\n }\n\n canvasAndContext.canvas.width = width;\n canvasAndContext.canvas.height = height;\n }\n }, {\n key: \"destroy\",\n value: function destroy(canvasAndContext) {\n if (!canvasAndContext.canvas) {\n throw new Error('Canvas is not specified');\n }\n\n canvasAndContext.canvas.width = 0;\n canvasAndContext.canvas.height = 0;\n canvasAndContext.canvas = null;\n canvasAndContext.context = null;\n }\n }]);\n\n return DOMCanvasFactory;\n}();\n\nexports.DOMCanvasFactory = DOMCanvasFactory;\n\nvar DOMCMapReaderFactory =\n/*#__PURE__*/\nfunction () {\n function DOMCMapReaderFactory(_ref) {\n var _ref$baseUrl = _ref.baseUrl,\n baseUrl = _ref$baseUrl === void 0 ? null : _ref$baseUrl,\n _ref$isCompressed = _ref.isCompressed,\n isCompressed = _ref$isCompressed === void 0 ? false : _ref$isCompressed;\n\n _classCallCheck(this, DOMCMapReaderFactory);\n\n this.baseUrl = baseUrl;\n this.isCompressed = isCompressed;\n }\n\n _createClass(DOMCMapReaderFactory, [{\n key: \"fetch\",\n value: function (_fetch) {\n function fetch(_x) {\n return _fetch.apply(this, arguments);\n }\n\n fetch.toString = function () {\n return _fetch.toString();\n };\n\n return fetch;\n }(\n /*#__PURE__*/\n function () {\n var _ref3 = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee2(_ref2) {\n var _this = this;\n\n var name, url, compressionType;\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n name = _ref2.name;\n\n if (this.baseUrl) {\n _context2.next = 3;\n break;\n }\n\n throw new Error('The CMap \"baseUrl\" parameter must be specified, ensure that ' + 'the \"cMapUrl\" and \"cMapPacked\" API parameters are provided.');\n\n case 3:\n if (name) {\n _context2.next = 5;\n break;\n }\n\n throw new Error('CMap name must be specified.');\n\n case 5:\n url = this.baseUrl + name + (this.isCompressed ? '.bcmap' : '');\n compressionType = this.isCompressed ? _util.CMapCompressionType.BINARY : _util.CMapCompressionType.NONE;\n\n if (!(isFetchSupported() && isValidFetchUrl(url, document.baseURI))) {\n _context2.next = 9;\n break;\n }\n\n return _context2.abrupt(\"return\", fetch(url).then(\n /*#__PURE__*/\n function () {\n var _ref4 = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee(response) {\n var cMapData;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (response.ok) {\n _context.next = 2;\n break;\n }\n\n throw new Error(response.statusText);\n\n case 2:\n if (!_this.isCompressed) {\n _context.next = 10;\n break;\n }\n\n _context.t0 = Uint8Array;\n _context.next = 6;\n return response.arrayBuffer();\n\n case 6:\n _context.t1 = _context.sent;\n cMapData = new _context.t0(_context.t1);\n _context.next = 15;\n break;\n\n case 10:\n _context.t2 = _util.stringToBytes;\n _context.next = 13;\n return response.text();\n\n case 13:\n _context.t3 = _context.sent;\n cMapData = (0, _context.t2)(_context.t3);\n\n case 15:\n return _context.abrupt(\"return\", {\n cMapData: cMapData,\n compressionType: compressionType\n });\n\n case 16:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function (_x3) {\n return _ref4.apply(this, arguments);\n };\n }())[\"catch\"](function (reason) {\n throw new Error(\"Unable to load \".concat(_this.isCompressed ? 'binary ' : '') + \"CMap at: \".concat(url));\n }));\n\n case 9:\n return _context2.abrupt(\"return\", new Promise(function (resolve, reject) {\n var request = new XMLHttpRequest();\n request.open('GET', url, true);\n\n if (_this.isCompressed) {\n request.responseType = 'arraybuffer';\n }\n\n request.onreadystatechange = function () {\n if (request.readyState !== XMLHttpRequest.DONE) {\n return;\n }\n\n if (request.status === 200 || request.status === 0) {\n var cMapData;\n\n if (_this.isCompressed && request.response) {\n cMapData = new Uint8Array(request.response);\n } else if (!_this.isCompressed && request.responseText) {\n cMapData = (0, _util.stringToBytes)(request.responseText);\n }\n\n if (cMapData) {\n resolve({\n cMapData: cMapData,\n compressionType: compressionType\n });\n return;\n }\n }\n\n reject(new Error(request.statusText));\n };\n\n request.send(null);\n })[\"catch\"](function (reason) {\n throw new Error(\"Unable to load \".concat(_this.isCompressed ? 'binary ' : '') + \"CMap at: \".concat(url));\n }));\n\n case 10:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n return function (_x2) {\n return _ref3.apply(this, arguments);\n };\n }())\n }]);\n\n return DOMCMapReaderFactory;\n}();\n\nexports.DOMCMapReaderFactory = DOMCMapReaderFactory;\n\nvar DOMSVGFactory =\n/*#__PURE__*/\nfunction () {\n function DOMSVGFactory() {\n _classCallCheck(this, DOMSVGFactory);\n }\n\n _createClass(DOMSVGFactory, [{\n key: \"create\",\n value: function create(width, height) {\n (0, _util.assert)(width > 0 && height > 0, 'Invalid SVG dimensions');\n var svg = document.createElementNS(SVG_NS, 'svg:svg');\n svg.setAttribute('version', '1.1');\n svg.setAttribute('width', width + 'px');\n svg.setAttribute('height', height + 'px');\n svg.setAttribute('preserveAspectRatio', 'none');\n svg.setAttribute('viewBox', '0 0 ' + width + ' ' + height);\n return svg;\n }\n }, {\n key: \"createElement\",\n value: function createElement(type) {\n (0, _util.assert)(typeof type === 'string', 'Invalid SVG element type');\n return document.createElementNS(SVG_NS, type);\n }\n }]);\n\n return DOMSVGFactory;\n}();\n\nexports.DOMSVGFactory = DOMSVGFactory;\n\nvar PageViewport =\n/*#__PURE__*/\nfunction () {\n function PageViewport(_ref5) {\n var viewBox = _ref5.viewBox,\n scale = _ref5.scale,\n rotation = _ref5.rotation,\n _ref5$offsetX = _ref5.offsetX,\n offsetX = _ref5$offsetX === void 0 ? 0 : _ref5$offsetX,\n _ref5$offsetY = _ref5.offsetY,\n offsetY = _ref5$offsetY === void 0 ? 0 : _ref5$offsetY,\n _ref5$dontFlip = _ref5.dontFlip,\n dontFlip = _ref5$dontFlip === void 0 ? false : _ref5$dontFlip;\n\n _classCallCheck(this, PageViewport);\n\n this.viewBox = viewBox;\n this.scale = scale;\n this.rotation = rotation;\n this.offsetX = offsetX;\n this.offsetY = offsetY;\n var centerX = (viewBox[2] + viewBox[0]) / 2;\n var centerY = (viewBox[3] + viewBox[1]) / 2;\n var rotateA, rotateB, rotateC, rotateD;\n rotation = rotation % 360;\n rotation = rotation < 0 ? rotation + 360 : rotation;\n\n switch (rotation) {\n case 180:\n rotateA = -1;\n rotateB = 0;\n rotateC = 0;\n rotateD = 1;\n break;\n\n case 90:\n rotateA = 0;\n rotateB = 1;\n rotateC = 1;\n rotateD = 0;\n break;\n\n case 270:\n rotateA = 0;\n rotateB = -1;\n rotateC = -1;\n rotateD = 0;\n break;\n\n default:\n rotateA = 1;\n rotateB = 0;\n rotateC = 0;\n rotateD = -1;\n break;\n }\n\n if (dontFlip) {\n rotateC = -rotateC;\n rotateD = -rotateD;\n }\n\n var offsetCanvasX, offsetCanvasY;\n var width, height;\n\n if (rotateA === 0) {\n offsetCanvasX = Math.abs(centerY - viewBox[1]) * scale + offsetX;\n offsetCanvasY = Math.abs(centerX - viewBox[0]) * scale + offsetY;\n width = Math.abs(viewBox[3] - viewBox[1]) * scale;\n height = Math.abs(viewBox[2] - viewBox[0]) * scale;\n } else {\n offsetCanvasX = Math.abs(centerX - viewBox[0]) * scale + offsetX;\n offsetCanvasY = Math.abs(centerY - viewBox[1]) * scale + offsetY;\n width = Math.abs(viewBox[2] - viewBox[0]) * scale;\n height = Math.abs(viewBox[3] - viewBox[1]) * scale;\n }\n\n this.transform = [rotateA * scale, rotateB * scale, rotateC * scale, rotateD * scale, offsetCanvasX - rotateA * scale * centerX - rotateC * scale * centerY, offsetCanvasY - rotateB * scale * centerX - rotateD * scale * centerY];\n this.width = width;\n this.height = height;\n }\n\n _createClass(PageViewport, [{\n key: \"clone\",\n value: function clone() {\n var _ref6 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref6$scale = _ref6.scale,\n scale = _ref6$scale === void 0 ? this.scale : _ref6$scale,\n _ref6$rotation = _ref6.rotation,\n rotation = _ref6$rotation === void 0 ? this.rotation : _ref6$rotation,\n _ref6$dontFlip = _ref6.dontFlip,\n dontFlip = _ref6$dontFlip === void 0 ? false : _ref6$dontFlip;\n\n return new PageViewport({\n viewBox: this.viewBox.slice(),\n scale: scale,\n rotation: rotation,\n offsetX: this.offsetX,\n offsetY: this.offsetY,\n dontFlip: dontFlip\n });\n }\n }, {\n key: \"convertToViewportPoint\",\n value: function convertToViewportPoint(x, y) {\n return _util.Util.applyTransform([x, y], this.transform);\n }\n }, {\n key: \"convertToViewportRectangle\",\n value: function convertToViewportRectangle(rect) {\n var topLeft = _util.Util.applyTransform([rect[0], rect[1]], this.transform);\n\n var bottomRight = _util.Util.applyTransform([rect[2], rect[3]], this.transform);\n\n return [topLeft[0], topLeft[1], bottomRight[0], bottomRight[1]];\n }\n }, {\n key: \"convertToPdfPoint\",\n value: function convertToPdfPoint(x, y) {\n return _util.Util.applyInverseTransform([x, y], this.transform);\n }\n }]);\n\n return PageViewport;\n}();\n\nexports.PageViewport = PageViewport;\n\nvar RenderingCancelledException =\n/*#__PURE__*/\nfunction (_BaseException) {\n _inherits(RenderingCancelledException, _BaseException);\n\n function RenderingCancelledException(msg, type) {\n var _this2;\n\n _classCallCheck(this, RenderingCancelledException);\n\n _this2 = _possibleConstructorReturn(this, _getPrototypeOf(RenderingCancelledException).call(this, msg));\n _this2.type = type;\n return _this2;\n }\n\n return RenderingCancelledException;\n}(_util.BaseException);\n\nexports.RenderingCancelledException = RenderingCancelledException;\nvar LinkTarget = {\n NONE: 0,\n SELF: 1,\n BLANK: 2,\n PARENT: 3,\n TOP: 4\n};\nexports.LinkTarget = LinkTarget;\nvar LinkTargetStringMap = ['', '_self', '_blank', '_parent', '_top'];\n\nfunction addLinkAttributes(link) {\n var _ref7 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n url = _ref7.url,\n target = _ref7.target,\n rel = _ref7.rel,\n _ref7$enabled = _ref7.enabled,\n enabled = _ref7$enabled === void 0 ? true : _ref7$enabled;\n\n (0, _util.assert)(url && typeof url === 'string', 'addLinkAttributes: A valid \"url\" parameter must provided.');\n var urlNullRemoved = (0, _util.removeNullCharacters)(url);\n\n if (enabled) {\n link.href = link.title = urlNullRemoved;\n } else {\n link.href = '';\n link.title = \"Disabled: \".concat(urlNullRemoved);\n\n link.onclick = function () {\n return false;\n };\n }\n\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\nfunction getFilenameFromUrl(url) {\n var anchor = url.indexOf('#');\n var query = url.indexOf('?');\n var end = Math.min(anchor > 0 ? anchor : url.length, query > 0 ? query : url.length);\n return url.substring(url.lastIndexOf('/', end) + 1, end);\n}\n\nvar StatTimer =\n/*#__PURE__*/\nfunction () {\n function StatTimer() {\n var enable = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n _classCallCheck(this, StatTimer);\n\n this.enabled = !!enable;\n this.started = Object.create(null);\n this.times = [];\n }\n\n _createClass(StatTimer, [{\n key: \"time\",\n value: function time(name) {\n if (!this.enabled) {\n return;\n }\n\n if (name in this.started) {\n (0, _util.warn)('Timer is already running for ' + name);\n }\n\n this.started[name] = Date.now();\n }\n }, {\n key: \"timeEnd\",\n value: function timeEnd(name) {\n if (!this.enabled) {\n return;\n }\n\n if (!(name in this.started)) {\n (0, _util.warn)('Timer has not been started for ' + name);\n }\n\n this.times.push({\n 'name': name,\n 'start': this.started[name],\n 'end': Date.now()\n });\n delete this.started[name];\n }\n }, {\n key: \"toString\",\n value: function toString() {\n var out = '',\n longest = 0;\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = this.times[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var time = _step.value;\n var name = time.name;\n\n if (name.length > longest) {\n longest = name.length;\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator[\"return\"] != null) {\n _iterator[\"return\"]();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n var _iteratorNormalCompletion2 = true;\n var _didIteratorError2 = false;\n var _iteratorError2 = undefined;\n\n try {\n for (var _iterator2 = this.times[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var _time = _step2.value;\n var duration = _time.end - _time.start;\n out += \"\".concat(_time.name.padEnd(longest), \" \").concat(duration, \"ms\\n\");\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2[\"return\"] != null) {\n _iterator2[\"return\"]();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n\n return out;\n }\n }]);\n\n return StatTimer;\n}();\n\nexports.StatTimer = StatTimer;\n\nvar DummyStatTimer =\n/*#__PURE__*/\nfunction () {\n function DummyStatTimer() {\n _classCallCheck(this, DummyStatTimer);\n\n (0, _util.unreachable)('Cannot initialize DummyStatTimer.');\n }\n\n _createClass(DummyStatTimer, null, [{\n key: \"time\",\n value: function time(name) {}\n }, {\n key: \"timeEnd\",\n value: function timeEnd(name) {}\n }, {\n key: \"toString\",\n value: function toString() {\n return '';\n }\n }]);\n\n return DummyStatTimer;\n}();\n\nexports.DummyStatTimer = DummyStatTimer;\n\nfunction isFetchSupported() {\n return typeof fetch !== 'undefined' && typeof Response !== 'undefined' && 'body' in Response.prototype && typeof ReadableStream !== 'undefined';\n}\n\nfunction isValidFetchUrl(url, baseUrl) {\n try {\n var _ref8 = baseUrl ? new URL(url, baseUrl) : new URL(url),\n protocol = _ref8.protocol;\n\n return protocol === 'http:' || protocol === 'https:';\n } catch (ex) {\n return false;\n }\n}\n\nfunction loadScript(src) {\n return new Promise(function (resolve, reject) {\n var script = document.createElement('script');\n script.src = src;\n script.onload = resolve;\n\n script.onerror = function () {\n reject(new Error(\"Cannot load script at: \".concat(script.src)));\n };\n\n (document.head || document.documentElement).appendChild(script);\n });\n}\n\nfunction deprecated(details) {\n console.log('Deprecated API usage: ' + details);\n}\n\nfunction releaseImageResources(img) {\n (0, _util.assert)(img instanceof Image, 'Invalid `img` parameter.');\n var url = img.src;\n\n if (typeof url === 'string' && url.startsWith('blob:') && URL.revokeObjectURL) {\n URL.revokeObjectURL(url);\n }\n\n img.removeAttribute('src');\n}\n\nvar pdfDateStringRegex;\n\nvar PDFDateString =\n/*#__PURE__*/\nfunction () {\n function PDFDateString() {\n _classCallCheck(this, PDFDateString);\n }\n\n _createClass(PDFDateString, null, [{\n key: \"toDateObject\",\n value: function toDateObject(input) {\n if (!input || !(0, _util.isString)(input)) {\n return null;\n }\n\n if (!pdfDateStringRegex) {\n pdfDateStringRegex = new RegExp('^D:' + '(\\\\d{4})' + '(\\\\d{2})?' + '(\\\\d{2})?' + '(\\\\d{2})?' + '(\\\\d{2})?' + '(\\\\d{2})?' + '([Z|+|-])?' + '(\\\\d{2})?' + '\\'?' + '(\\\\d{2})?' + '\\'?');\n }\n\n var matches = pdfDateStringRegex.exec(input);\n\n if (!matches) {\n return null;\n }\n\n var year = parseInt(matches[1], 10);\n var month = parseInt(matches[2], 10);\n month = month >= 1 && month <= 12 ? month - 1 : 0;\n var day = parseInt(matches[3], 10);\n day = day >= 1 && day <= 31 ? day : 1;\n var hour = parseInt(matches[4], 10);\n hour = hour >= 0 && hour <= 23 ? hour : 0;\n var minute = parseInt(matches[5], 10);\n minute = minute >= 0 && minute <= 59 ? minute : 0;\n var second = parseInt(matches[6], 10);\n second = second >= 0 && second <= 59 ? second : 0;\n var universalTimeRelation = matches[7] || 'Z';\n var offsetHour = parseInt(matches[8], 10);\n offsetHour = offsetHour >= 0 && offsetHour <= 23 ? offsetHour : 0;\n var offsetMinute = parseInt(matches[9], 10) || 0;\n offsetMinute = offsetMinute >= 0 && offsetMinute <= 59 ? offsetMinute : 0;\n\n if (universalTimeRelation === '-') {\n hour += offsetHour;\n minute += offsetMinute;\n } else if (universalTimeRelation === '+') {\n hour -= offsetHour;\n minute -= offsetMinute;\n }\n\n return new Date(Date.UTC(year, month, day, hour, minute, second));\n }\n }]);\n\n return PDFDateString;\n}();\n\nexports.PDFDateString = PDFDateString;\n\n/***/ }),\n/* 184 */\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__(180));\n\nvar _util = __w_pdfjs_require__(1);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar BaseFontLoader =\n/*#__PURE__*/\nfunction () {\n function BaseFontLoader(_ref) {\n var docId = _ref.docId,\n onUnsupportedFeature = _ref.onUnsupportedFeature;\n\n _classCallCheck(this, BaseFontLoader);\n\n if (this.constructor === BaseFontLoader) {\n (0, _util.unreachable)('Cannot initialize BaseFontLoader.');\n }\n\n this.docId = docId;\n this._onUnsupportedFeature = onUnsupportedFeature;\n this.nativeFontFaces = [];\n this.styleElement = null;\n }\n\n _createClass(BaseFontLoader, [{\n key: \"addNativeFontFace\",\n value: function addNativeFontFace(nativeFontFace) {\n this.nativeFontFaces.push(nativeFontFace);\n document.fonts.add(nativeFontFace);\n }\n }, {\n key: \"insertRule\",\n value: function insertRule(rule) {\n var styleElement = this.styleElement;\n\n if (!styleElement) {\n styleElement = this.styleElement = document.createElement('style');\n styleElement.id = \"PDFJS_FONT_STYLE_TAG_\".concat(this.docId);\n document.documentElement.getElementsByTagName('head')[0].appendChild(styleElement);\n }\n\n var styleSheet = styleElement.sheet;\n styleSheet.insertRule(rule, styleSheet.cssRules.length);\n }\n }, {\n key: \"clear\",\n value: function clear() {\n this.nativeFontFaces.forEach(function (nativeFontFace) {\n document.fonts[\"delete\"](nativeFontFace);\n });\n this.nativeFontFaces.length = 0;\n\n if (this.styleElement) {\n this.styleElement.remove();\n this.styleElement = null;\n }\n }\n }, {\n key: \"bind\",\n value: function () {\n var _bind = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee(font) {\n var _this = this;\n\n var nativeFontFace, rule;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (!(font.attached || font.missingFile)) {\n _context.next = 2;\n break;\n }\n\n return _context.abrupt(\"return\", undefined);\n\n case 2:\n font.attached = true;\n\n if (!this.isFontLoadingAPISupported) {\n _context.next = 19;\n break;\n }\n\n nativeFontFace = font.createNativeFontFace();\n\n if (!nativeFontFace) {\n _context.next = 18;\n break;\n }\n\n this.addNativeFontFace(nativeFontFace);\n _context.prev = 7;\n _context.next = 10;\n return nativeFontFace.loaded;\n\n case 10:\n _context.next = 18;\n break;\n\n case 12:\n _context.prev = 12;\n _context.t0 = _context[\"catch\"](7);\n\n this._onUnsupportedFeature({\n featureId: _util.UNSUPPORTED_FEATURES.font\n });\n\n (0, _util.warn)(\"Failed to load font '\".concat(nativeFontFace.family, \"': '\").concat(_context.t0, \"'.\"));\n font.disableFontFace = true;\n throw _context.t0;\n\n case 18:\n return _context.abrupt(\"return\", undefined);\n\n case 19:\n rule = font.createFontFaceRule();\n\n if (!rule) {\n _context.next = 25;\n break;\n }\n\n this.insertRule(rule);\n\n if (!this.isSyncFontLoadingSupported) {\n _context.next = 24;\n break;\n }\n\n return _context.abrupt(\"return\", undefined);\n\n case 24:\n return _context.abrupt(\"return\", new Promise(function (resolve) {\n var request = _this._queueLoadingCallback(resolve);\n\n _this._prepareFontLoadEvent([rule], [font], request);\n }));\n\n case 25:\n return _context.abrupt(\"return\", undefined);\n\n case 26:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this, [[7, 12]]);\n }));\n\n function bind(_x) {\n return _bind.apply(this, arguments);\n }\n\n return bind;\n }()\n }, {\n key: \"_queueLoadingCallback\",\n value: function _queueLoadingCallback(callback) {\n (0, _util.unreachable)('Abstract method `_queueLoadingCallback`.');\n }\n }, {\n key: \"_prepareFontLoadEvent\",\n value: function _prepareFontLoadEvent(rules, fontsToLoad, request) {\n (0, _util.unreachable)('Abstract method `_prepareFontLoadEvent`.');\n }\n }, {\n key: \"isFontLoadingAPISupported\",\n get: function get() {\n (0, _util.unreachable)('Abstract method `isFontLoadingAPISupported`.');\n }\n }, {\n key: \"isSyncFontLoadingSupported\",\n get: function get() {\n (0, _util.unreachable)('Abstract method `isSyncFontLoadingSupported`.');\n }\n }, {\n key: \"_loadTestFont\",\n get: function get() {\n (0, _util.unreachable)('Abstract method `_loadTestFont`.');\n }\n }]);\n\n return BaseFontLoader;\n}();\n\nvar FontLoader;\nexports.FontLoader = FontLoader;\n{\n exports.FontLoader = FontLoader =\n /*#__PURE__*/\n function (_BaseFontLoader) {\n _inherits(GenericFontLoader, _BaseFontLoader);\n\n function GenericFontLoader(docId) {\n var _this2;\n\n _classCallCheck(this, GenericFontLoader);\n\n _this2 = _possibleConstructorReturn(this, _getPrototypeOf(GenericFontLoader).call(this, docId));\n _this2.loadingContext = {\n requests: [],\n nextRequestId: 0\n };\n _this2.loadTestFontId = 0;\n return _this2;\n }\n\n _createClass(GenericFontLoader, [{\n key: \"_queueLoadingCallback\",\n value: function _queueLoadingCallback(callback) {\n function completeRequest() {\n (0, _util.assert)(!request.done, 'completeRequest() cannot be called twice.');\n request.done = true;\n\n while (context.requests.length > 0 && context.requests[0].done) {\n var otherRequest = context.requests.shift();\n setTimeout(otherRequest.callback, 0);\n }\n }\n\n var context = this.loadingContext;\n var request = {\n id: \"pdfjs-font-loading-\".concat(context.nextRequestId++),\n done: false,\n complete: completeRequest,\n callback: callback\n };\n context.requests.push(request);\n return request;\n }\n }, {\n key: \"_prepareFontLoadEvent\",\n value: function _prepareFontLoadEvent(rules, fonts, request) {\n function int32(data, offset) {\n return data.charCodeAt(offset) << 24 | data.charCodeAt(offset + 1) << 16 | data.charCodeAt(offset + 2) << 8 | data.charCodeAt(offset + 3) & 0xff;\n }\n\n function spliceString(s, offset, remove, insert) {\n var chunk1 = s.substring(0, offset);\n var chunk2 = s.substring(offset + remove);\n return chunk1 + insert + chunk2;\n }\n\n var i, ii;\n var canvas = document.createElement('canvas');\n canvas.width = 1;\n canvas.height = 1;\n var ctx = canvas.getContext('2d');\n var called = 0;\n\n function isFontReady(name, callback) {\n called++;\n\n if (called > 30) {\n (0, _util.warn)('Load test font never loaded.');\n callback();\n return;\n }\n\n ctx.font = '30px ' + name;\n ctx.fillText('.', 0, 20);\n var imageData = ctx.getImageData(0, 0, 1, 1);\n\n if (imageData.data[3] > 0) {\n callback();\n return;\n }\n\n setTimeout(isFontReady.bind(null, name, callback));\n }\n\n var loadTestFontId = \"lt\".concat(Date.now()).concat(this.loadTestFontId++);\n var data = this._loadTestFont;\n var COMMENT_OFFSET = 976;\n data = spliceString(data, COMMENT_OFFSET, loadTestFontId.length, loadTestFontId);\n var CFF_CHECKSUM_OFFSET = 16;\n var XXXX_VALUE = 0x58585858;\n var checksum = int32(data, CFF_CHECKSUM_OFFSET);\n\n for (i = 0, ii = loadTestFontId.length - 3; i < ii; i += 4) {\n checksum = checksum - XXXX_VALUE + int32(loadTestFontId, i) | 0;\n }\n\n if (i < loadTestFontId.length) {\n checksum = checksum - XXXX_VALUE + int32(loadTestFontId + 'XXX', i) | 0;\n }\n\n data = spliceString(data, CFF_CHECKSUM_OFFSET, 4, (0, _util.string32)(checksum));\n var url = \"url(data:font/opentype;base64,\".concat(btoa(data), \");\");\n var rule = \"@font-face {font-family:\\\"\".concat(loadTestFontId, \"\\\";src:\").concat(url, \"}\");\n this.insertRule(rule);\n var names = [];\n\n for (i = 0, ii = fonts.length; i < ii; i++) {\n names.push(fonts[i].loadedName);\n }\n\n names.push(loadTestFontId);\n var div = document.createElement('div');\n div.setAttribute('style', 'visibility: hidden;' + 'width: 10px; height: 10px;' + 'position: absolute; top: 0px; left: 0px;');\n\n for (i = 0, ii = names.length; i < ii; ++i) {\n var span = document.createElement('span');\n span.textContent = 'Hi';\n span.style.fontFamily = names[i];\n div.appendChild(span);\n }\n\n document.body.appendChild(div);\n isFontReady(loadTestFontId, function () {\n document.body.removeChild(div);\n request.complete();\n });\n }\n }, {\n key: \"isFontLoadingAPISupported\",\n get: function get() {\n var supported = typeof document !== 'undefined' && !!document.fonts;\n\n if (supported && typeof navigator !== 'undefined') {\n var m = /Mozilla\\/5.0.*?rv:(\\d+).*? Gecko/.exec(navigator.userAgent);\n\n if (m && m[1] < 63) {\n supported = false;\n }\n }\n\n return (0, _util.shadow)(this, 'isFontLoadingAPISupported', supported);\n }\n }, {\n key: \"isSyncFontLoadingSupported\",\n get: function get() {\n var supported = false;\n\n if (typeof navigator === 'undefined') {\n supported = true;\n } else {\n var m = /Mozilla\\/5.0.*?rv:(\\d+).*? Gecko/.exec(navigator.userAgent);\n\n if (m && m[1] >= 14) {\n supported = true;\n }\n }\n\n return (0, _util.shadow)(this, 'isSyncFontLoadingSupported', supported);\n }\n }, {\n key: \"_loadTestFont\",\n get: function get() {\n var getLoadTestFont = function getLoadTestFont() {\n return atob('T1RUTwALAIAAAwAwQ0ZGIDHtZg4AAAOYAAAAgUZGVE1lkzZwAAAEHAAAABxHREVGABQA' + 'FQAABDgAAAAeT1MvMlYNYwkAAAEgAAAAYGNtYXABDQLUAAACNAAAAUJoZWFk/xVFDQAA' + 'ALwAAAA2aGhlYQdkA+oAAAD0AAAAJGhtdHgD6AAAAAAEWAAAAAZtYXhwAAJQAAAAARgA' + 'AAAGbmFtZVjmdH4AAAGAAAAAsXBvc3T/hgAzAAADeAAAACAAAQAAAAEAALZRFsRfDzz1' + 'AAsD6AAAAADOBOTLAAAAAM4KHDwAAAAAA+gDIQAAAAgAAgAAAAAAAAABAAADIQAAAFoD' + '6AAAAAAD6AABAAAAAAAAAAAAAAAAAAAAAQAAUAAAAgAAAAQD6AH0AAUAAAKKArwAAACM' + 'AooCvAAAAeAAMQECAAACAAYJAAAAAAAAAAAAAQAAAAAAAAAAAAAAAFBmRWQAwAAuAC4D' + 'IP84AFoDIQAAAAAAAQAAAAAAAAAAACAAIAABAAAADgCuAAEAAAAAAAAAAQAAAAEAAAAA' + 'AAEAAQAAAAEAAAAAAAIAAQAAAAEAAAAAAAMAAQAAAAEAAAAAAAQAAQAAAAEAAAAAAAUA' + 'AQAAAAEAAAAAAAYAAQAAAAMAAQQJAAAAAgABAAMAAQQJAAEAAgABAAMAAQQJAAIAAgAB' + 'AAMAAQQJAAMAAgABAAMAAQQJAAQAAgABAAMAAQQJAAUAAgABAAMAAQQJAAYAAgABWABY' + 'AAAAAAAAAwAAAAMAAAAcAAEAAAAAADwAAwABAAAAHAAEACAAAAAEAAQAAQAAAC7//wAA' + 'AC7////TAAEAAAAAAAABBgAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' + 'AAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' + 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' + 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' + 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' + 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAD/gwAyAAAAAQAAAAAAAAAAAAAAAAAA' + 'AAABAAQEAAEBAQJYAAEBASH4DwD4GwHEAvgcA/gXBIwMAYuL+nz5tQXkD5j3CBLnEQAC' + 'AQEBIVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYAAABAQAADwACAQEEE/t3' + 'Dov6fAH6fAT+fPp8+nwHDosMCvm1Cvm1DAz6fBQAAAAAAAABAAAAAMmJbzEAAAAAzgTj' + 'FQAAAADOBOQpAAEAAAAAAAAADAAUAAQAAAABAAAAAgABAAAAAAAAAAAD6AAAAAAAAA==');\n };\n\n return (0, _util.shadow)(this, '_loadTestFont', getLoadTestFont());\n }\n }]);\n\n return GenericFontLoader;\n }(BaseFontLoader);\n}\nvar IsEvalSupportedCached = {\n get value() {\n return (0, _util.shadow)(this, 'value', (0, _util.isEvalSupported)());\n }\n\n};\n\nvar FontFaceObject =\n/*#__PURE__*/\nfunction () {\n function FontFaceObject(translatedData, _ref2) {\n var _ref2$isEvalSupported = _ref2.isEvalSupported,\n isEvalSupported = _ref2$isEvalSupported === void 0 ? true : _ref2$isEvalSupported,\n _ref2$disableFontFace = _ref2.disableFontFace,\n disableFontFace = _ref2$disableFontFace === void 0 ? false : _ref2$disableFontFace,\n _ref2$ignoreErrors = _ref2.ignoreErrors,\n ignoreErrors = _ref2$ignoreErrors === void 0 ? false : _ref2$ignoreErrors,\n _ref2$onUnsupportedFe = _ref2.onUnsupportedFeature,\n onUnsupportedFeature = _ref2$onUnsupportedFe === void 0 ? null : _ref2$onUnsupportedFe,\n _ref2$fontRegistry = _ref2.fontRegistry,\n fontRegistry = _ref2$fontRegistry === void 0 ? null : _ref2$fontRegistry;\n\n _classCallCheck(this, FontFaceObject);\n\n this.compiledGlyphs = Object.create(null);\n\n for (var i in translatedData) {\n this[i] = translatedData[i];\n }\n\n this.isEvalSupported = isEvalSupported !== false;\n this.disableFontFace = disableFontFace === true;\n this.ignoreErrors = ignoreErrors === true;\n this._onUnsupportedFeature = onUnsupportedFeature;\n this.fontRegistry = fontRegistry;\n }\n\n _createClass(FontFaceObject, [{\n key: \"createNativeFontFace\",\n value: function createNativeFontFace() {\n if (!this.data || this.disableFontFace) {\n return null;\n }\n\n var nativeFontFace = new FontFace(this.loadedName, this.data, {});\n\n if (this.fontRegistry) {\n this.fontRegistry.registerFont(this);\n }\n\n return nativeFontFace;\n }\n }, {\n key: \"createFontFaceRule\",\n value: function createFontFaceRule() {\n if (!this.data || this.disableFontFace) {\n return null;\n }\n\n var data = (0, _util.bytesToString)(new Uint8Array(this.data));\n var url = \"url(data:\".concat(this.mimetype, \";base64,\").concat(btoa(data), \");\");\n var rule = \"@font-face {font-family:\\\"\".concat(this.loadedName, \"\\\";src:\").concat(url, \"}\");\n\n if (this.fontRegistry) {\n this.fontRegistry.registerFont(this, url);\n }\n\n return rule;\n }\n }, {\n key: \"getPathGenerator\",\n value: function getPathGenerator(objs, character) {\n if (this.compiledGlyphs[character] !== undefined) {\n return this.compiledGlyphs[character];\n }\n\n var cmds, current;\n\n try {\n cmds = objs.get(this.loadedName + '_path_' + character);\n } catch (ex) {\n if (!this.ignoreErrors) {\n throw ex;\n }\n\n if (this._onUnsupportedFeature) {\n this._onUnsupportedFeature({\n featureId: _util.UNSUPPORTED_FEATURES.font\n });\n }\n\n (0, _util.warn)(\"getPathGenerator - ignoring character: \\\"\".concat(ex, \"\\\".\"));\n return this.compiledGlyphs[character] = function (c, size) {};\n }\n\n if (this.isEvalSupported && IsEvalSupportedCached.value) {\n var args,\n js = '';\n\n for (var i = 0, ii = cmds.length; i < ii; i++) {\n current = cmds[i];\n\n if (current.args !== undefined) {\n args = current.args.join(',');\n } else {\n args = '';\n }\n\n js += 'c.' + current.cmd + '(' + args + ');\\n';\n }\n\n return this.compiledGlyphs[character] = new Function('c', 'size', js);\n }\n\n return this.compiledGlyphs[character] = function (c, size) {\n for (var _i = 0, _ii = cmds.length; _i < _ii; _i++) {\n current = cmds[_i];\n\n if (current.cmd === 'scale') {\n current.args = [size, -size];\n }\n\n c[current.cmd].apply(c, current.args);\n }\n };\n }\n }]);\n\n return FontFaceObject;\n}();\n\nexports.FontFaceObject = FontFaceObject;\n\n/***/ }),\n/* 185 */\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/* 186 */\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__(187);\n\nvar MIN_FONT_SIZE = 16;\nvar MAX_FONT_SIZE = 100;\nvar MAX_GROUP_SIZE = 4096;\nvar MIN_WIDTH_FACTOR = 0.65;\nvar COMPILE_TYPE3_GLYPHS = true;\nvar MAX_SIZE_TO_COMPILE = 1000;\nvar FULL_CHUNK_HEIGHT = 16;\nvar IsLittleEndianCached = {\n get value() {\n return (0, _util.shadow)(IsLittleEndianCached, 'value', (0, _util.isLittleEndian)());\n }\n\n};\n\nfunction addContextCurrentTransform(ctx) {\n if (!ctx.mozCurrentTransform) {\n ctx._originalSave = ctx.save;\n ctx._originalRestore = ctx.restore;\n ctx._originalRotate = ctx.rotate;\n ctx._originalScale = ctx.scale;\n ctx._originalTranslate = ctx.translate;\n ctx._originalTransform = ctx.transform;\n ctx._originalSetTransform = ctx.setTransform;\n ctx._transformMatrix = ctx._transformMatrix || [1, 0, 0, 1, 0, 0];\n ctx._transformStack = [];\n Object.defineProperty(ctx, 'mozCurrentTransform', {\n get: function getCurrentTransform() {\n return this._transformMatrix;\n }\n });\n Object.defineProperty(ctx, 'mozCurrentTransformInverse', {\n get: function getCurrentTransformInverse() {\n var m = this._transformMatrix;\n var a = m[0],\n b = m[1],\n c = m[2],\n d = m[3],\n e = m[4],\n f = m[5];\n var ad_bc = a * d - b * c;\n var bc_ad = b * c - a * d;\n return [d / ad_bc, b / bc_ad, c / bc_ad, a / ad_bc, (d * e - c * f) / bc_ad, (b * e - a * f) / ad_bc];\n }\n });\n\n ctx.save = function ctxSave() {\n var old = this._transformMatrix;\n\n this._transformStack.push(old);\n\n this._transformMatrix = old.slice(0, 6);\n\n this._originalSave();\n };\n\n ctx.restore = function ctxRestore() {\n var prev = this._transformStack.pop();\n\n if (prev) {\n this._transformMatrix = prev;\n\n this._originalRestore();\n }\n };\n\n ctx.translate = function ctxTranslate(x, y) {\n var m = this._transformMatrix;\n m[4] = m[0] * x + m[2] * y + m[4];\n m[5] = m[1] * x + m[3] * y + m[5];\n\n this._originalTranslate(x, y);\n };\n\n ctx.scale = function ctxScale(x, y) {\n var m = this._transformMatrix;\n m[0] = m[0] * x;\n m[1] = m[1] * x;\n m[2] = m[2] * y;\n m[3] = m[3] * y;\n\n this._originalScale(x, y);\n };\n\n ctx.transform = function ctxTransform(a, b, c, d, e, f) {\n var m = this._transformMatrix;\n this._transformMatrix = [m[0] * a + m[2] * b, m[1] * a + m[3] * b, m[0] * c + m[2] * d, m[1] * c + m[3] * d, m[0] * e + m[2] * f + m[4], m[1] * e + m[3] * f + m[5]];\n\n ctx._originalTransform(a, b, c, d, e, f);\n };\n\n ctx.setTransform = function ctxSetTransform(a, b, c, d, e, f) {\n this._transformMatrix = [a, b, c, d, e, f];\n\n ctx._originalSetTransform(a, b, c, d, e, f);\n };\n\n ctx.rotate = function ctxRotate(angle) {\n var cosValue = Math.cos(angle);\n var sinValue = Math.sin(angle);\n var m = this._transformMatrix;\n this._transformMatrix = [m[0] * cosValue + m[2] * sinValue, m[1] * cosValue + m[3] * sinValue, m[0] * -sinValue + m[2] * cosValue, m[1] * -sinValue + m[3] * cosValue, m[4], m[5]];\n\n this._originalRotate(angle);\n };\n }\n}\n\nvar CachedCanvases = function CachedCanvasesClosure() {\n function CachedCanvases(canvasFactory) {\n this.canvasFactory = canvasFactory;\n this.cache = Object.create(null);\n }\n\n CachedCanvases.prototype = {\n getCanvas: function CachedCanvases_getCanvas(id, width, height, trackTransform) {\n var canvasEntry;\n\n if (this.cache[id] !== undefined) {\n canvasEntry = this.cache[id];\n this.canvasFactory.reset(canvasEntry, width, height);\n canvasEntry.context.setTransform(1, 0, 0, 1, 0, 0);\n } else {\n canvasEntry = this.canvasFactory.create(width, height);\n this.cache[id] = canvasEntry;\n }\n\n if (trackTransform) {\n addContextCurrentTransform(canvasEntry.context);\n }\n\n return canvasEntry;\n },\n clear: function clear() {\n for (var id in this.cache) {\n var canvasEntry = this.cache[id];\n this.canvasFactory.destroy(canvasEntry);\n delete this.cache[id];\n }\n }\n };\n return CachedCanvases;\n}();\n\nfunction compileType3Glyph(imgData) {\n var POINT_TO_PROCESS_LIMIT = 1000;\n var width = imgData.width,\n height = imgData.height;\n var i,\n j,\n j0,\n width1 = width + 1;\n var points = new Uint8Array(width1 * (height + 1));\n var POINT_TYPES = new Uint8Array([0, 2, 4, 0, 1, 0, 5, 4, 8, 10, 0, 8, 0, 2, 1, 0]);\n var lineSize = width + 7 & ~7,\n data0 = imgData.data;\n var data = new Uint8Array(lineSize * height),\n pos = 0,\n ii;\n\n for (i = 0, ii = data0.length; i < ii; i++) {\n var mask = 128,\n elem = data0[i];\n\n while (mask > 0) {\n data[pos++] = elem & mask ? 0 : 255;\n mask >>= 1;\n }\n }\n\n var count = 0;\n pos = 0;\n\n if (data[pos] !== 0) {\n points[0] = 1;\n ++count;\n }\n\n for (j = 1; j < width; j++) {\n if (data[pos] !== data[pos + 1]) {\n points[j] = data[pos] ? 2 : 1;\n ++count;\n }\n\n pos++;\n }\n\n if (data[pos] !== 0) {\n points[j] = 2;\n ++count;\n }\n\n for (i = 1; i < height; i++) {\n pos = i * lineSize;\n j0 = i * width1;\n\n if (data[pos - lineSize] !== data[pos]) {\n points[j0] = data[pos] ? 1 : 8;\n ++count;\n }\n\n var sum = (data[pos] ? 4 : 0) + (data[pos - lineSize] ? 8 : 0);\n\n for (j = 1; j < width; j++) {\n sum = (sum >> 2) + (data[pos + 1] ? 4 : 0) + (data[pos - lineSize + 1] ? 8 : 0);\n\n if (POINT_TYPES[sum]) {\n points[j0 + j] = POINT_TYPES[sum];\n ++count;\n }\n\n pos++;\n }\n\n if (data[pos - lineSize] !== data[pos]) {\n points[j0 + j] = data[pos] ? 2 : 4;\n ++count;\n }\n\n if (count > POINT_TO_PROCESS_LIMIT) {\n return null;\n }\n }\n\n pos = lineSize * (height - 1);\n j0 = i * width1;\n\n if (data[pos] !== 0) {\n points[j0] = 8;\n ++count;\n }\n\n for (j = 1; j < width; j++) {\n if (data[pos] !== data[pos + 1]) {\n points[j0 + j] = data[pos] ? 4 : 8;\n ++count;\n }\n\n pos++;\n }\n\n if (data[pos] !== 0) {\n points[j0 + j] = 4;\n ++count;\n }\n\n if (count > POINT_TO_PROCESS_LIMIT) {\n return null;\n }\n\n var steps = new Int32Array([0, width1, -1, 0, -width1, 0, 0, 0, 1]);\n var outlines = [];\n\n for (i = 0; count && i <= height; i++) {\n var p = i * width1;\n var end = p + width;\n\n while (p < end && !points[p]) {\n p++;\n }\n\n if (p === end) {\n continue;\n }\n\n var coords = [p % width1, i];\n var type = points[p],\n p0 = p,\n pp;\n\n do {\n var step = steps[type];\n\n do {\n p += step;\n } while (!points[p]);\n\n pp = points[p];\n\n if (pp !== 5 && pp !== 10) {\n type = pp;\n points[p] = 0;\n } else {\n type = pp & 0x33 * type >> 4;\n points[p] &= type >> 2 | type << 2;\n }\n\n coords.push(p % width1);\n coords.push(p / width1 | 0);\n\n if (!points[p]) {\n --count;\n }\n } while (p0 !== p);\n\n outlines.push(coords);\n --i;\n }\n\n var drawOutline = function drawOutline(c) {\n c.save();\n c.scale(1 / width, -1 / height);\n c.translate(0, -height);\n c.beginPath();\n\n for (var i = 0, ii = outlines.length; i < ii; i++) {\n var o = outlines[i];\n c.moveTo(o[0], o[1]);\n\n for (var j = 2, jj = o.length; j < jj; j += 2) {\n c.lineTo(o[j], o[j + 1]);\n }\n }\n\n c.fill();\n c.beginPath();\n c.restore();\n };\n\n return drawOutline;\n}\n\nvar CanvasExtraState = function CanvasExtraStateClosure() {\n function CanvasExtraState() {\n this.alphaIsShape = false;\n this.fontSize = 0;\n this.fontSizeScale = 1;\n this.textMatrix = _util.IDENTITY_MATRIX;\n this.textMatrixScale = 1;\n this.fontMatrix = _util.FONT_IDENTITY_MATRIX;\n this.leading = 0;\n this.x = 0;\n this.y = 0;\n this.lineX = 0;\n this.lineY = 0;\n this.charSpacing = 0;\n this.wordSpacing = 0;\n this.textHScale = 1;\n this.textRenderingMode = _util.TextRenderingMode.FILL;\n this.textRise = 0;\n this.fillColor = '#000000';\n this.strokeColor = '#000000';\n this.patternFill = false;\n this.fillAlpha = 1;\n this.strokeAlpha = 1;\n this.lineWidth = 1;\n this.activeSMask = null;\n this.resumeSMaskCtx = null;\n }\n\n CanvasExtraState.prototype = {\n clone: function CanvasExtraState_clone() {\n return Object.create(this);\n },\n setCurrentPoint: function CanvasExtraState_setCurrentPoint(x, y) {\n this.x = x;\n this.y = y;\n }\n };\n return CanvasExtraState;\n}();\n\nvar CanvasGraphics = function CanvasGraphicsClosure() {\n var EXECUTION_TIME = 15;\n var EXECUTION_STEPS = 10;\n\n function CanvasGraphics(canvasCtx, commonObjs, objs, canvasFactory, webGLContext, imageLayer) {\n this.ctx = canvasCtx;\n this.current = new CanvasExtraState();\n this.stateStack = [];\n this.pendingClip = null;\n this.pendingEOFill = false;\n this.res = null;\n this.xobjs = null;\n this.commonObjs = commonObjs;\n this.objs = objs;\n this.canvasFactory = canvasFactory;\n this.webGLContext = webGLContext;\n this.imageLayer = imageLayer;\n this.groupStack = [];\n this.processingType3 = null;\n this.baseTransform = null;\n this.baseTransformStack = [];\n this.groupLevel = 0;\n this.smaskStack = [];\n this.smaskCounter = 0;\n this.tempSMask = null;\n this.cachedCanvases = new CachedCanvases(this.canvasFactory);\n\n if (canvasCtx) {\n addContextCurrentTransform(canvasCtx);\n }\n\n this._cachedGetSinglePixelWidth = null;\n }\n\n function putBinaryImageData(ctx, imgData) {\n if (typeof ImageData !== 'undefined' && imgData instanceof ImageData) {\n ctx.putImageData(imgData, 0, 0);\n return;\n }\n\n var height = imgData.height,\n width = imgData.width;\n var partialChunkHeight = height % FULL_CHUNK_HEIGHT;\n var fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT;\n var totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1;\n var chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT);\n var srcPos = 0,\n destPos;\n var src = imgData.data;\n var dest = chunkImgData.data;\n var i, j, thisChunkHeight, elemsInThisChunk;\n\n if (imgData.kind === _util.ImageKind.GRAYSCALE_1BPP) {\n var srcLength = src.byteLength;\n var dest32 = new Uint32Array(dest.buffer, 0, dest.byteLength >> 2);\n var dest32DataLength = dest32.length;\n var fullSrcDiff = width + 7 >> 3;\n var white = 0xFFFFFFFF;\n var black = IsLittleEndianCached.value ? 0xFF000000 : 0x000000FF;\n\n for (i = 0; i < totalChunks; i++) {\n thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;\n destPos = 0;\n\n for (j = 0; j < thisChunkHeight; j++) {\n var srcDiff = srcLength - srcPos;\n var k = 0;\n var kEnd = srcDiff > fullSrcDiff ? width : srcDiff * 8 - 7;\n var kEndUnrolled = kEnd & ~7;\n var mask = 0;\n var srcByte = 0;\n\n for (; k < kEndUnrolled; k += 8) {\n srcByte = src[srcPos++];\n dest32[destPos++] = srcByte & 128 ? white : black;\n dest32[destPos++] = srcByte & 64 ? white : black;\n dest32[destPos++] = srcByte & 32 ? white : black;\n dest32[destPos++] = srcByte & 16 ? white : black;\n dest32[destPos++] = srcByte & 8 ? white : black;\n dest32[destPos++] = srcByte & 4 ? white : black;\n dest32[destPos++] = srcByte & 2 ? white : black;\n dest32[destPos++] = srcByte & 1 ? white : black;\n }\n\n for (; k < kEnd; k++) {\n if (mask === 0) {\n srcByte = src[srcPos++];\n mask = 128;\n }\n\n dest32[destPos++] = srcByte & mask ? white : black;\n mask >>= 1;\n }\n }\n\n while (destPos < dest32DataLength) {\n dest32[destPos++] = 0;\n }\n\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n } else if (imgData.kind === _util.ImageKind.RGBA_32BPP) {\n j = 0;\n elemsInThisChunk = width * FULL_CHUNK_HEIGHT * 4;\n\n for (i = 0; i < fullChunks; i++) {\n dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk));\n srcPos += elemsInThisChunk;\n ctx.putImageData(chunkImgData, 0, j);\n j += FULL_CHUNK_HEIGHT;\n }\n\n if (i < totalChunks) {\n elemsInThisChunk = width * partialChunkHeight * 4;\n dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk));\n ctx.putImageData(chunkImgData, 0, j);\n }\n } else if (imgData.kind === _util.ImageKind.RGB_24BPP) {\n thisChunkHeight = FULL_CHUNK_HEIGHT;\n elemsInThisChunk = width * thisChunkHeight;\n\n for (i = 0; i < totalChunks; i++) {\n if (i >= fullChunks) {\n thisChunkHeight = partialChunkHeight;\n elemsInThisChunk = width * thisChunkHeight;\n }\n\n destPos = 0;\n\n for (j = elemsInThisChunk; j--;) {\n dest[destPos++] = src[srcPos++];\n dest[destPos++] = src[srcPos++];\n dest[destPos++] = src[srcPos++];\n dest[destPos++] = 255;\n }\n\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n } else {\n throw new Error(\"bad image kind: \".concat(imgData.kind));\n }\n }\n\n function putBinaryImageMask(ctx, imgData) {\n var height = imgData.height,\n width = imgData.width;\n var partialChunkHeight = height % FULL_CHUNK_HEIGHT;\n var fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT;\n var totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1;\n var chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT);\n var srcPos = 0;\n var src = imgData.data;\n var dest = chunkImgData.data;\n\n for (var i = 0; i < totalChunks; i++) {\n var thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;\n var destPos = 3;\n\n for (var j = 0; j < thisChunkHeight; j++) {\n var mask = 0;\n\n for (var k = 0; k < width; k++) {\n if (!mask) {\n var elem = src[srcPos++];\n mask = 128;\n }\n\n dest[destPos] = elem & mask ? 0 : 255;\n destPos += 4;\n mask >>= 1;\n }\n }\n\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n }\n\n function copyCtxState(sourceCtx, destCtx) {\n var properties = ['strokeStyle', 'fillStyle', 'fillRule', 'globalAlpha', 'lineWidth', 'lineCap', 'lineJoin', 'miterLimit', 'globalCompositeOperation', 'font'];\n\n for (var i = 0, ii = properties.length; i < ii; i++) {\n var property = properties[i];\n\n if (sourceCtx[property] !== undefined) {\n destCtx[property] = sourceCtx[property];\n }\n }\n\n if (sourceCtx.setLineDash !== undefined) {\n destCtx.setLineDash(sourceCtx.getLineDash());\n destCtx.lineDashOffset = sourceCtx.lineDashOffset;\n }\n }\n\n function resetCtxToDefault(ctx) {\n ctx.strokeStyle = '#000000';\n ctx.fillStyle = '#000000';\n ctx.fillRule = 'nonzero';\n ctx.globalAlpha = 1;\n ctx.lineWidth = 1;\n ctx.lineCap = 'butt';\n ctx.lineJoin = 'miter';\n ctx.miterLimit = 10;\n ctx.globalCompositeOperation = 'source-over';\n ctx.font = '10px sans-serif';\n\n if (ctx.setLineDash !== undefined) {\n ctx.setLineDash([]);\n ctx.lineDashOffset = 0;\n }\n }\n\n function composeSMaskBackdrop(bytes, r0, g0, b0) {\n var length = bytes.length;\n\n for (var i = 3; i < length; i += 4) {\n var alpha = bytes[i];\n\n if (alpha === 0) {\n bytes[i - 3] = r0;\n bytes[i - 2] = g0;\n bytes[i - 1] = b0;\n } else if (alpha < 255) {\n var alpha_ = 255 - alpha;\n bytes[i - 3] = bytes[i - 3] * alpha + r0 * alpha_ >> 8;\n bytes[i - 2] = bytes[i - 2] * alpha + g0 * alpha_ >> 8;\n bytes[i - 1] = bytes[i - 1] * alpha + b0 * alpha_ >> 8;\n }\n }\n }\n\n function composeSMaskAlpha(maskData, layerData, transferMap) {\n var length = maskData.length;\n var scale = 1 / 255;\n\n for (var i = 3; i < length; i += 4) {\n var alpha = transferMap ? transferMap[maskData[i]] : maskData[i];\n layerData[i] = layerData[i] * alpha * scale | 0;\n }\n }\n\n function composeSMaskLuminosity(maskData, layerData, transferMap) {\n var length = maskData.length;\n\n for (var i = 3; i < length; i += 4) {\n var y = maskData[i - 3] * 77 + maskData[i - 2] * 152 + maskData[i - 1] * 28;\n layerData[i] = transferMap ? layerData[i] * transferMap[y >> 8] >> 8 : layerData[i] * y >> 16;\n }\n }\n\n function genericComposeSMask(maskCtx, layerCtx, width, height, subtype, backdrop, transferMap) {\n var hasBackdrop = !!backdrop;\n var r0 = hasBackdrop ? backdrop[0] : 0;\n var g0 = hasBackdrop ? backdrop[1] : 0;\n var b0 = hasBackdrop ? backdrop[2] : 0;\n var composeFn;\n\n if (subtype === 'Luminosity') {\n composeFn = composeSMaskLuminosity;\n } else {\n composeFn = composeSMaskAlpha;\n }\n\n var PIXELS_TO_PROCESS = 1048576;\n var chunkSize = Math.min(height, Math.ceil(PIXELS_TO_PROCESS / width));\n\n for (var row = 0; row < height; row += chunkSize) {\n var chunkHeight = Math.min(chunkSize, height - row);\n var maskData = maskCtx.getImageData(0, row, width, chunkHeight);\n var layerData = layerCtx.getImageData(0, row, width, chunkHeight);\n\n if (hasBackdrop) {\n composeSMaskBackdrop(maskData.data, r0, g0, b0);\n }\n\n composeFn(maskData.data, layerData.data, transferMap);\n maskCtx.putImageData(layerData, 0, row);\n }\n }\n\n function composeSMask(ctx, smask, layerCtx, webGLContext) {\n var mask = smask.canvas;\n var maskCtx = smask.context;\n ctx.setTransform(smask.scaleX, 0, 0, smask.scaleY, smask.offsetX, smask.offsetY);\n var backdrop = smask.backdrop || null;\n\n if (!smask.transferMap && webGLContext.isEnabled) {\n var composed = webGLContext.composeSMask({\n layer: layerCtx.canvas,\n mask: mask,\n properties: {\n subtype: smask.subtype,\n backdrop: backdrop\n }\n });\n ctx.setTransform(1, 0, 0, 1, 0, 0);\n ctx.drawImage(composed, smask.offsetX, smask.offsetY);\n return;\n }\n\n genericComposeSMask(maskCtx, layerCtx, mask.width, mask.height, smask.subtype, backdrop, smask.transferMap);\n ctx.drawImage(mask, 0, 0);\n }\n\n var LINE_CAP_STYLES = ['butt', 'round', 'square'];\n var LINE_JOIN_STYLES = ['miter', 'round', 'bevel'];\n var NORMAL_CLIP = {};\n var EO_CLIP = {};\n CanvasGraphics.prototype = {\n beginDrawing: function beginDrawing(_ref) {\n var transform = _ref.transform,\n viewport = _ref.viewport,\n _ref$transparency = _ref.transparency,\n transparency = _ref$transparency === void 0 ? false : _ref$transparency,\n _ref$background = _ref.background,\n background = _ref$background === void 0 ? null : _ref$background;\n var width = this.ctx.canvas.width;\n var height = this.ctx.canvas.height;\n this.ctx.save();\n this.ctx.fillStyle = background || 'rgb(255, 255, 255)';\n this.ctx.fillRect(0, 0, width, height);\n this.ctx.restore();\n\n if (transparency) {\n var transparentCanvas = this.cachedCanvases.getCanvas('transparent', width, height, true);\n this.compositeCtx = this.ctx;\n this.transparentCanvas = transparentCanvas.canvas;\n this.ctx = transparentCanvas.context;\n this.ctx.save();\n this.ctx.transform.apply(this.ctx, this.compositeCtx.mozCurrentTransform);\n }\n\n this.ctx.save();\n resetCtxToDefault(this.ctx);\n\n if (transform) {\n this.ctx.transform.apply(this.ctx, transform);\n }\n\n this.ctx.transform.apply(this.ctx, viewport.transform);\n this.baseTransform = this.ctx.mozCurrentTransform.slice();\n\n if (this.imageLayer) {\n this.imageLayer.beginLayout();\n }\n },\n executeOperatorList: function CanvasGraphics_executeOperatorList(operatorList, executionStartIdx, continueCallback, stepper) {\n var argsArray = operatorList.argsArray;\n var fnArray = operatorList.fnArray;\n var i = executionStartIdx || 0;\n var argsArrayLen = argsArray.length;\n\n if (argsArrayLen === i) {\n return i;\n }\n\n var chunkOperations = argsArrayLen - i > EXECUTION_STEPS && typeof continueCallback === 'function';\n var endTime = chunkOperations ? Date.now() + EXECUTION_TIME : 0;\n var steps = 0;\n var commonObjs = this.commonObjs;\n var objs = this.objs;\n var fnId;\n\n while (true) {\n if (stepper !== undefined && i === stepper.nextBreakPoint) {\n stepper.breakIt(i, continueCallback);\n return i;\n }\n\n fnId = fnArray[i];\n\n if (fnId !== _util.OPS.dependency) {\n this[fnId].apply(this, argsArray[i]);\n } else {\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = argsArray[i][Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var depObjId = _step.value;\n var objsPool = depObjId.startsWith('g_') ? commonObjs : objs;\n\n if (!objsPool.has(depObjId)) {\n objsPool.get(depObjId, continueCallback);\n return i;\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator[\"return\"] != null) {\n _iterator[\"return\"]();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n }\n\n i++;\n\n if (i === argsArrayLen) {\n return i;\n }\n\n if (chunkOperations && ++steps > EXECUTION_STEPS) {\n if (Date.now() > endTime) {\n continueCallback();\n return i;\n }\n\n steps = 0;\n }\n }\n },\n endDrawing: function CanvasGraphics_endDrawing() {\n if (this.current.activeSMask !== null) {\n this.endSMaskGroup();\n }\n\n this.ctx.restore();\n\n if (this.transparentCanvas) {\n this.ctx = this.compositeCtx;\n this.ctx.save();\n this.ctx.setTransform(1, 0, 0, 1, 0, 0);\n this.ctx.drawImage(this.transparentCanvas, 0, 0);\n this.ctx.restore();\n this.transparentCanvas = null;\n }\n\n this.cachedCanvases.clear();\n this.webGLContext.clear();\n\n if (this.imageLayer) {\n this.imageLayer.endLayout();\n }\n },\n setLineWidth: function CanvasGraphics_setLineWidth(width) {\n this.current.lineWidth = width;\n this.ctx.lineWidth = width;\n },\n setLineCap: function CanvasGraphics_setLineCap(style) {\n this.ctx.lineCap = LINE_CAP_STYLES[style];\n },\n setLineJoin: function CanvasGraphics_setLineJoin(style) {\n this.ctx.lineJoin = LINE_JOIN_STYLES[style];\n },\n setMiterLimit: function CanvasGraphics_setMiterLimit(limit) {\n this.ctx.miterLimit = limit;\n },\n setDash: function CanvasGraphics_setDash(dashArray, dashPhase) {\n var ctx = this.ctx;\n\n if (ctx.setLineDash !== undefined) {\n ctx.setLineDash(dashArray);\n ctx.lineDashOffset = dashPhase;\n }\n },\n setRenderingIntent: function setRenderingIntent(intent) {},\n setFlatness: function setFlatness(flatness) {},\n setGState: function CanvasGraphics_setGState(states) {\n for (var i = 0, ii = states.length; i < ii; i++) {\n var state = states[i];\n var key = state[0];\n var value = state[1];\n\n switch (key) {\n case 'LW':\n this.setLineWidth(value);\n break;\n\n case 'LC':\n this.setLineCap(value);\n break;\n\n case 'LJ':\n this.setLineJoin(value);\n break;\n\n case 'ML':\n this.setMiterLimit(value);\n break;\n\n case 'D':\n this.setDash(value[0], value[1]);\n break;\n\n case 'RI':\n this.setRenderingIntent(value);\n break;\n\n case 'FL':\n this.setFlatness(value);\n break;\n\n case 'Font':\n this.setFont(value[0], value[1]);\n break;\n\n case 'CA':\n this.current.strokeAlpha = state[1];\n break;\n\n case 'ca':\n this.current.fillAlpha = state[1];\n this.ctx.globalAlpha = state[1];\n break;\n\n case 'BM':\n this.ctx.globalCompositeOperation = value;\n break;\n\n case 'SMask':\n if (this.current.activeSMask) {\n if (this.stateStack.length > 0 && this.stateStack[this.stateStack.length - 1].activeSMask === this.current.activeSMask) {\n this.suspendSMaskGroup();\n } else {\n this.endSMaskGroup();\n }\n }\n\n this.current.activeSMask = value ? this.tempSMask : null;\n\n if (this.current.activeSMask) {\n this.beginSMaskGroup();\n }\n\n this.tempSMask = null;\n break;\n }\n }\n },\n beginSMaskGroup: function CanvasGraphics_beginSMaskGroup() {\n var activeSMask = this.current.activeSMask;\n var drawnWidth = activeSMask.canvas.width;\n var drawnHeight = activeSMask.canvas.height;\n var cacheId = 'smaskGroupAt' + this.groupLevel;\n var scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight, true);\n var currentCtx = this.ctx;\n var currentTransform = currentCtx.mozCurrentTransform;\n this.ctx.save();\n var groupCtx = scratchCanvas.context;\n groupCtx.scale(1 / activeSMask.scaleX, 1 / activeSMask.scaleY);\n groupCtx.translate(-activeSMask.offsetX, -activeSMask.offsetY);\n groupCtx.transform.apply(groupCtx, currentTransform);\n activeSMask.startTransformInverse = groupCtx.mozCurrentTransformInverse;\n copyCtxState(currentCtx, groupCtx);\n this.ctx = groupCtx;\n this.setGState([['BM', 'source-over'], ['ca', 1], ['CA', 1]]);\n this.groupStack.push(currentCtx);\n this.groupLevel++;\n },\n suspendSMaskGroup: function CanvasGraphics_endSMaskGroup() {\n var groupCtx = this.ctx;\n this.groupLevel--;\n this.ctx = this.groupStack.pop();\n composeSMask(this.ctx, this.current.activeSMask, groupCtx, this.webGLContext);\n this.ctx.restore();\n this.ctx.save();\n copyCtxState(groupCtx, this.ctx);\n this.current.resumeSMaskCtx = groupCtx;\n\n var deltaTransform = _util.Util.transform(this.current.activeSMask.startTransformInverse, groupCtx.mozCurrentTransform);\n\n this.ctx.transform.apply(this.ctx, deltaTransform);\n groupCtx.save();\n groupCtx.setTransform(1, 0, 0, 1, 0, 0);\n groupCtx.clearRect(0, 0, groupCtx.canvas.width, groupCtx.canvas.height);\n groupCtx.restore();\n },\n resumeSMaskGroup: function CanvasGraphics_endSMaskGroup() {\n var groupCtx = this.current.resumeSMaskCtx;\n var currentCtx = this.ctx;\n this.ctx = groupCtx;\n this.groupStack.push(currentCtx);\n this.groupLevel++;\n },\n endSMaskGroup: function CanvasGraphics_endSMaskGroup() {\n var groupCtx = this.ctx;\n this.groupLevel--;\n this.ctx = this.groupStack.pop();\n composeSMask(this.ctx, this.current.activeSMask, groupCtx, this.webGLContext);\n this.ctx.restore();\n copyCtxState(groupCtx, this.ctx);\n\n var deltaTransform = _util.Util.transform(this.current.activeSMask.startTransformInverse, groupCtx.mozCurrentTransform);\n\n this.ctx.transform.apply(this.ctx, deltaTransform);\n },\n save: function CanvasGraphics_save() {\n this.ctx.save();\n var old = this.current;\n this.stateStack.push(old);\n this.current = old.clone();\n this.current.resumeSMaskCtx = null;\n },\n restore: function CanvasGraphics_restore() {\n if (this.current.resumeSMaskCtx) {\n this.resumeSMaskGroup();\n }\n\n if (this.current.activeSMask !== null && (this.stateStack.length === 0 || this.stateStack[this.stateStack.length - 1].activeSMask !== this.current.activeSMask)) {\n this.endSMaskGroup();\n }\n\n if (this.stateStack.length !== 0) {\n this.current = this.stateStack.pop();\n this.ctx.restore();\n this.pendingClip = null;\n this._cachedGetSinglePixelWidth = null;\n }\n },\n transform: function CanvasGraphics_transform(a, b, c, d, e, f) {\n this.ctx.transform(a, b, c, d, e, f);\n this._cachedGetSinglePixelWidth = null;\n },\n constructPath: function CanvasGraphics_constructPath(ops, args) {\n var ctx = this.ctx;\n var current = this.current;\n var x = current.x,\n y = current.y;\n\n for (var i = 0, j = 0, ii = ops.length; i < ii; i++) {\n switch (ops[i] | 0) {\n case _util.OPS.rectangle:\n x = args[j++];\n y = args[j++];\n var width = args[j++];\n var height = args[j++];\n\n if (width === 0) {\n width = this.getSinglePixelWidth();\n }\n\n if (height === 0) {\n height = this.getSinglePixelWidth();\n }\n\n var xw = x + width;\n var yh = y + height;\n this.ctx.moveTo(x, y);\n this.ctx.lineTo(xw, y);\n this.ctx.lineTo(xw, yh);\n this.ctx.lineTo(x, yh);\n this.ctx.lineTo(x, y);\n this.ctx.closePath();\n break;\n\n case _util.OPS.moveTo:\n x = args[j++];\n y = args[j++];\n ctx.moveTo(x, y);\n break;\n\n case _util.OPS.lineTo:\n x = args[j++];\n y = args[j++];\n ctx.lineTo(x, y);\n break;\n\n case _util.OPS.curveTo:\n x = args[j + 4];\n y = args[j + 5];\n ctx.bezierCurveTo(args[j], args[j + 1], args[j + 2], args[j + 3], x, y);\n j += 6;\n break;\n\n case _util.OPS.curveTo2:\n ctx.bezierCurveTo(x, y, args[j], args[j + 1], args[j + 2], args[j + 3]);\n x = args[j + 2];\n y = args[j + 3];\n j += 4;\n break;\n\n case _util.OPS.curveTo3:\n x = args[j + 2];\n y = args[j + 3];\n ctx.bezierCurveTo(args[j], args[j + 1], x, y, x, y);\n j += 4;\n break;\n\n case _util.OPS.closePath:\n ctx.closePath();\n break;\n }\n }\n\n current.setCurrentPoint(x, y);\n },\n closePath: function CanvasGraphics_closePath() {\n this.ctx.closePath();\n },\n stroke: function CanvasGraphics_stroke(consumePath) {\n consumePath = typeof consumePath !== 'undefined' ? consumePath : true;\n var ctx = this.ctx;\n var strokeColor = this.current.strokeColor;\n ctx.globalAlpha = this.current.strokeAlpha;\n\n if (strokeColor && strokeColor.hasOwnProperty('type') && strokeColor.type === 'Pattern') {\n ctx.save();\n var transform = ctx.mozCurrentTransform;\n\n var scale = _util.Util.singularValueDecompose2dScale(transform)[0];\n\n ctx.strokeStyle = strokeColor.getPattern(ctx, this);\n ctx.lineWidth = Math.max(this.getSinglePixelWidth() * MIN_WIDTH_FACTOR, this.current.lineWidth * scale);\n ctx.stroke();\n ctx.restore();\n } else {\n ctx.lineWidth = Math.max(this.getSinglePixelWidth() * MIN_WIDTH_FACTOR, this.current.lineWidth);\n ctx.stroke();\n }\n\n if (consumePath) {\n this.consumePath();\n }\n\n ctx.globalAlpha = this.current.fillAlpha;\n },\n closeStroke: function CanvasGraphics_closeStroke() {\n this.closePath();\n this.stroke();\n },\n fill: function CanvasGraphics_fill(consumePath) {\n consumePath = typeof consumePath !== 'undefined' ? consumePath : true;\n var ctx = this.ctx;\n var fillColor = this.current.fillColor;\n var isPatternFill = this.current.patternFill;\n var needRestore = false;\n\n if (isPatternFill) {\n ctx.save();\n\n if (this.baseTransform) {\n ctx.setTransform.apply(ctx, this.baseTransform);\n }\n\n ctx.fillStyle = fillColor.getPattern(ctx, this);\n needRestore = true;\n }\n\n if (this.pendingEOFill) {\n ctx.fill('evenodd');\n this.pendingEOFill = false;\n } else {\n ctx.fill();\n }\n\n if (needRestore) {\n ctx.restore();\n }\n\n if (consumePath) {\n this.consumePath();\n }\n },\n eoFill: function CanvasGraphics_eoFill() {\n this.pendingEOFill = true;\n this.fill();\n },\n fillStroke: function CanvasGraphics_fillStroke() {\n this.fill(false);\n this.stroke(false);\n this.consumePath();\n },\n eoFillStroke: function CanvasGraphics_eoFillStroke() {\n this.pendingEOFill = true;\n this.fillStroke();\n },\n closeFillStroke: function CanvasGraphics_closeFillStroke() {\n this.closePath();\n this.fillStroke();\n },\n closeEOFillStroke: function CanvasGraphics_closeEOFillStroke() {\n this.pendingEOFill = true;\n this.closePath();\n this.fillStroke();\n },\n endPath: function CanvasGraphics_endPath() {\n this.consumePath();\n },\n clip: function CanvasGraphics_clip() {\n this.pendingClip = NORMAL_CLIP;\n },\n eoClip: function CanvasGraphics_eoClip() {\n this.pendingClip = EO_CLIP;\n },\n beginText: function CanvasGraphics_beginText() {\n this.current.textMatrix = _util.IDENTITY_MATRIX;\n this.current.textMatrixScale = 1;\n this.current.x = this.current.lineX = 0;\n this.current.y = this.current.lineY = 0;\n },\n endText: function CanvasGraphics_endText() {\n var paths = this.pendingTextPaths;\n var ctx = this.ctx;\n\n if (paths === undefined) {\n ctx.beginPath();\n return;\n }\n\n ctx.save();\n ctx.beginPath();\n\n for (var i = 0; i < paths.length; i++) {\n var path = paths[i];\n ctx.setTransform.apply(ctx, path.transform);\n ctx.translate(path.x, path.y);\n path.addToPath(ctx, path.fontSize);\n }\n\n ctx.restore();\n ctx.clip();\n ctx.beginPath();\n delete this.pendingTextPaths;\n },\n setCharSpacing: function CanvasGraphics_setCharSpacing(spacing) {\n this.current.charSpacing = spacing;\n },\n setWordSpacing: function CanvasGraphics_setWordSpacing(spacing) {\n this.current.wordSpacing = spacing;\n },\n setHScale: function CanvasGraphics_setHScale(scale) {\n this.current.textHScale = scale / 100;\n },\n setLeading: function CanvasGraphics_setLeading(leading) {\n this.current.leading = -leading;\n },\n setFont: function CanvasGraphics_setFont(fontRefName, size) {\n var fontObj = this.commonObjs.get(fontRefName);\n var current = this.current;\n\n if (!fontObj) {\n throw new Error(\"Can't find font for \".concat(fontRefName));\n }\n\n current.fontMatrix = fontObj.fontMatrix ? fontObj.fontMatrix : _util.FONT_IDENTITY_MATRIX;\n\n if (current.fontMatrix[0] === 0 || current.fontMatrix[3] === 0) {\n (0, _util.warn)('Invalid font matrix for font ' + fontRefName);\n }\n\n if (size < 0) {\n size = -size;\n current.fontDirection = -1;\n } else {\n current.fontDirection = 1;\n }\n\n this.current.font = fontObj;\n this.current.fontSize = size;\n\n if (fontObj.isType3Font) {\n return;\n }\n\n var name = fontObj.loadedName || 'sans-serif';\n var bold = fontObj.black ? '900' : fontObj.bold ? 'bold' : 'normal';\n var italic = fontObj.italic ? 'italic' : 'normal';\n var typeface = \"\\\"\".concat(name, \"\\\", \").concat(fontObj.fallbackName);\n var browserFontSize = size < MIN_FONT_SIZE ? MIN_FONT_SIZE : size > MAX_FONT_SIZE ? MAX_FONT_SIZE : size;\n this.current.fontSizeScale = size / browserFontSize;\n this.ctx.font = \"\".concat(italic, \" \").concat(bold, \" \").concat(browserFontSize, \"px \").concat(typeface);\n },\n setTextRenderingMode: function CanvasGraphics_setTextRenderingMode(mode) {\n this.current.textRenderingMode = mode;\n },\n setTextRise: function CanvasGraphics_setTextRise(rise) {\n this.current.textRise = rise;\n },\n moveText: function CanvasGraphics_moveText(x, y) {\n this.current.x = this.current.lineX += x;\n this.current.y = this.current.lineY += y;\n },\n setLeadingMoveText: function CanvasGraphics_setLeadingMoveText(x, y) {\n this.setLeading(-y);\n this.moveText(x, y);\n },\n setTextMatrix: function CanvasGraphics_setTextMatrix(a, b, c, d, e, f) {\n this.current.textMatrix = [a, b, c, d, e, f];\n this.current.textMatrixScale = Math.sqrt(a * a + b * b);\n this.current.x = this.current.lineX = 0;\n this.current.y = this.current.lineY = 0;\n },\n nextLine: function CanvasGraphics_nextLine() {\n this.moveText(0, this.current.leading);\n },\n paintChar: function paintChar(character, x, y, patternTransform) {\n var ctx = this.ctx;\n var current = this.current;\n var font = current.font;\n var textRenderingMode = current.textRenderingMode;\n var fontSize = current.fontSize / current.fontSizeScale;\n var fillStrokeMode = textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n var isAddToPathSet = !!(textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG);\n var patternFill = current.patternFill && font.data;\n var addToPath;\n\n if (font.disableFontFace || isAddToPathSet || patternFill) {\n addToPath = font.getPathGenerator(this.commonObjs, character);\n }\n\n if (font.disableFontFace || patternFill) {\n ctx.save();\n ctx.translate(x, y);\n ctx.beginPath();\n addToPath(ctx, fontSize);\n\n if (patternTransform) {\n ctx.setTransform.apply(ctx, patternTransform);\n }\n\n if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.fill();\n }\n\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.stroke();\n }\n\n ctx.restore();\n } else {\n if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.fillText(character, x, y);\n }\n\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.strokeText(character, x, y);\n }\n }\n\n if (isAddToPathSet) {\n var paths = this.pendingTextPaths || (this.pendingTextPaths = []);\n paths.push({\n transform: ctx.mozCurrentTransform,\n x: x,\n y: y,\n fontSize: fontSize,\n addToPath: addToPath\n });\n }\n },\n\n get isFontSubpixelAAEnabled() {\n var _this$cachedCanvases$ = this.cachedCanvases.getCanvas('isFontSubpixelAAEnabled', 10, 10),\n ctx = _this$cachedCanvases$.context;\n\n ctx.scale(1.5, 1);\n ctx.fillText('I', 0, 10);\n var data = ctx.getImageData(0, 0, 10, 10).data;\n var enabled = false;\n\n for (var i = 3; i < data.length; i += 4) {\n if (data[i] > 0 && data[i] < 255) {\n enabled = true;\n break;\n }\n }\n\n return (0, _util.shadow)(this, 'isFontSubpixelAAEnabled', enabled);\n },\n\n showText: function CanvasGraphics_showText(glyphs) {\n var current = this.current;\n var font = current.font;\n\n if (font.isType3Font) {\n return this.showType3Text(glyphs);\n }\n\n var fontSize = current.fontSize;\n\n if (fontSize === 0) {\n return undefined;\n }\n\n var ctx = this.ctx;\n var fontSizeScale = current.fontSizeScale;\n var charSpacing = current.charSpacing;\n var wordSpacing = current.wordSpacing;\n var fontDirection = current.fontDirection;\n var textHScale = current.textHScale * fontDirection;\n var glyphsLength = glyphs.length;\n var vertical = font.vertical;\n var spacingDir = vertical ? 1 : -1;\n var defaultVMetrics = font.defaultVMetrics;\n var widthAdvanceScale = fontSize * current.fontMatrix[0];\n var simpleFillText = current.textRenderingMode === _util.TextRenderingMode.FILL && !font.disableFontFace && !current.patternFill;\n ctx.save();\n var patternTransform;\n\n if (current.patternFill) {\n ctx.save();\n var pattern = current.fillColor.getPattern(ctx, this);\n patternTransform = ctx.mozCurrentTransform;\n ctx.restore();\n ctx.fillStyle = pattern;\n }\n\n ctx.transform.apply(ctx, current.textMatrix);\n ctx.translate(current.x, current.y + current.textRise);\n\n if (fontDirection > 0) {\n ctx.scale(textHScale, -1);\n } else {\n ctx.scale(textHScale, 1);\n }\n\n var lineWidth = current.lineWidth;\n var scale = current.textMatrixScale;\n\n if (scale === 0 || lineWidth === 0) {\n var fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n this._cachedGetSinglePixelWidth = null;\n lineWidth = this.getSinglePixelWidth() * MIN_WIDTH_FACTOR;\n }\n } else {\n lineWidth /= scale;\n }\n\n if (fontSizeScale !== 1.0) {\n ctx.scale(fontSizeScale, fontSizeScale);\n lineWidth /= fontSizeScale;\n }\n\n ctx.lineWidth = lineWidth;\n var x = 0,\n i;\n\n for (i = 0; i < glyphsLength; ++i) {\n var glyph = glyphs[i];\n\n if ((0, _util.isNum)(glyph)) {\n x += spacingDir * glyph * fontSize / 1000;\n continue;\n }\n\n var restoreNeeded = false;\n var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n var character = glyph.fontChar;\n var accent = glyph.accent;\n var scaledX, scaledY, scaledAccentX, scaledAccentY;\n var width = glyph.width;\n\n if (vertical) {\n var vmetric, vx, vy;\n vmetric = glyph.vmetric || defaultVMetrics;\n vx = glyph.vmetric ? vmetric[1] : width * 0.5;\n vx = -vx * widthAdvanceScale;\n vy = vmetric[2] * widthAdvanceScale;\n width = vmetric ? -vmetric[0] : width;\n scaledX = vx / fontSizeScale;\n scaledY = (x + vy) / fontSizeScale;\n } else {\n scaledX = x / fontSizeScale;\n scaledY = 0;\n }\n\n if (font.remeasure && width > 0) {\n var measuredWidth = ctx.measureText(character).width * 1000 / fontSize * fontSizeScale;\n\n if (width < measuredWidth && this.isFontSubpixelAAEnabled) {\n var characterScaleX = width / measuredWidth;\n restoreNeeded = true;\n ctx.save();\n ctx.scale(characterScaleX, 1);\n scaledX /= characterScaleX;\n } else if (width !== measuredWidth) {\n scaledX += (width - measuredWidth) / 2000 * fontSize / fontSizeScale;\n }\n }\n\n if (glyph.isInFont || font.missingFile) {\n if (simpleFillText && !accent) {\n ctx.fillText(character, scaledX, scaledY);\n } else {\n this.paintChar(character, scaledX, scaledY, patternTransform);\n\n if (accent) {\n scaledAccentX = scaledX + accent.offset.x / fontSizeScale;\n scaledAccentY = scaledY - accent.offset.y / fontSizeScale;\n this.paintChar(accent.fontChar, scaledAccentX, scaledAccentY, patternTransform);\n }\n }\n }\n\n var charWidth = width * widthAdvanceScale + spacing * fontDirection;\n x += charWidth;\n\n if (restoreNeeded) {\n ctx.restore();\n }\n }\n\n if (vertical) {\n current.y -= x * textHScale;\n } else {\n current.x += x * textHScale;\n }\n\n ctx.restore();\n },\n showType3Text: function CanvasGraphics_showType3Text(glyphs) {\n var ctx = this.ctx;\n var current = this.current;\n var font = current.font;\n var fontSize = current.fontSize;\n var fontDirection = current.fontDirection;\n var spacingDir = font.vertical ? 1 : -1;\n var charSpacing = current.charSpacing;\n var wordSpacing = current.wordSpacing;\n var textHScale = current.textHScale * fontDirection;\n var fontMatrix = current.fontMatrix || _util.FONT_IDENTITY_MATRIX;\n var glyphsLength = glyphs.length;\n var isTextInvisible = current.textRenderingMode === _util.TextRenderingMode.INVISIBLE;\n var i, glyph, width, spacingLength;\n\n if (isTextInvisible || fontSize === 0) {\n return;\n }\n\n this._cachedGetSinglePixelWidth = null;\n ctx.save();\n ctx.transform.apply(ctx, current.textMatrix);\n ctx.translate(current.x, current.y);\n ctx.scale(textHScale, fontDirection);\n\n for (i = 0; i < glyphsLength; ++i) {\n glyph = glyphs[i];\n\n if ((0, _util.isNum)(glyph)) {\n spacingLength = spacingDir * glyph * fontSize / 1000;\n this.ctx.translate(spacingLength, 0);\n current.x += spacingLength * textHScale;\n continue;\n }\n\n var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n var operatorList = font.charProcOperatorList[glyph.operatorListId];\n\n if (!operatorList) {\n (0, _util.warn)(\"Type3 character \\\"\".concat(glyph.operatorListId, \"\\\" is not available.\"));\n continue;\n }\n\n this.processingType3 = glyph;\n this.save();\n ctx.scale(fontSize, fontSize);\n ctx.transform.apply(ctx, fontMatrix);\n this.executeOperatorList(operatorList);\n this.restore();\n\n var transformed = _util.Util.applyTransform([glyph.width, 0], fontMatrix);\n\n width = transformed[0] * fontSize + spacing;\n ctx.translate(width, 0);\n current.x += width * textHScale;\n }\n\n ctx.restore();\n this.processingType3 = null;\n },\n setCharWidth: function CanvasGraphics_setCharWidth(xWidth, yWidth) {},\n setCharWidthAndBounds: function CanvasGraphics_setCharWidthAndBounds(xWidth, yWidth, llx, lly, urx, ury) {\n this.ctx.rect(llx, lly, urx - llx, ury - lly);\n this.clip();\n this.endPath();\n },\n getColorN_Pattern: function CanvasGraphics_getColorN_Pattern(IR) {\n var _this = this;\n\n var pattern;\n\n if (IR[0] === 'TilingPattern') {\n var color = IR[1];\n var baseTransform = this.baseTransform || this.ctx.mozCurrentTransform.slice();\n var canvasGraphicsFactory = {\n createCanvasGraphics: function createCanvasGraphics(ctx) {\n return new CanvasGraphics(ctx, _this.commonObjs, _this.objs, _this.canvasFactory, _this.webGLContext);\n }\n };\n pattern = new _pattern_helper.TilingPattern(IR, color, this.ctx, canvasGraphicsFactory, baseTransform);\n } else {\n pattern = (0, _pattern_helper.getShadingPatternFromIR)(IR);\n }\n\n return pattern;\n },\n setStrokeColorN: function CanvasGraphics_setStrokeColorN() {\n this.current.strokeColor = this.getColorN_Pattern(arguments);\n },\n setFillColorN: function CanvasGraphics_setFillColorN() {\n this.current.fillColor = this.getColorN_Pattern(arguments);\n this.current.patternFill = true;\n },\n setStrokeRGBColor: function CanvasGraphics_setStrokeRGBColor(r, g, b) {\n var color = _util.Util.makeCssRgb(r, g, b);\n\n this.ctx.strokeStyle = color;\n this.current.strokeColor = color;\n },\n setFillRGBColor: function CanvasGraphics_setFillRGBColor(r, g, b) {\n var color = _util.Util.makeCssRgb(r, g, b);\n\n this.ctx.fillStyle = color;\n this.current.fillColor = color;\n this.current.patternFill = false;\n },\n shadingFill: function CanvasGraphics_shadingFill(patternIR) {\n var ctx = this.ctx;\n this.save();\n var pattern = (0, _pattern_helper.getShadingPatternFromIR)(patternIR);\n ctx.fillStyle = pattern.getPattern(ctx, this, true);\n var inv = ctx.mozCurrentTransformInverse;\n\n if (inv) {\n var canvas = ctx.canvas;\n var width = canvas.width;\n var height = canvas.height;\n\n var bl = _util.Util.applyTransform([0, 0], inv);\n\n var br = _util.Util.applyTransform([0, height], inv);\n\n var ul = _util.Util.applyTransform([width, 0], inv);\n\n var ur = _util.Util.applyTransform([width, height], inv);\n\n var x0 = Math.min(bl[0], br[0], ul[0], ur[0]);\n var y0 = Math.min(bl[1], br[1], ul[1], ur[1]);\n var x1 = Math.max(bl[0], br[0], ul[0], ur[0]);\n var y1 = Math.max(bl[1], br[1], ul[1], ur[1]);\n this.ctx.fillRect(x0, y0, x1 - x0, y1 - y0);\n } else {\n this.ctx.fillRect(-1e10, -1e10, 2e10, 2e10);\n }\n\n this.restore();\n },\n beginInlineImage: function CanvasGraphics_beginInlineImage() {\n (0, _util.unreachable)('Should not call beginInlineImage');\n },\n beginImageData: function CanvasGraphics_beginImageData() {\n (0, _util.unreachable)('Should not call beginImageData');\n },\n paintFormXObjectBegin: function CanvasGraphics_paintFormXObjectBegin(matrix, bbox) {\n this.save();\n this.baseTransformStack.push(this.baseTransform);\n\n if (Array.isArray(matrix) && matrix.length === 6) {\n this.transform.apply(this, matrix);\n }\n\n this.baseTransform = this.ctx.mozCurrentTransform;\n\n if (bbox) {\n var width = bbox[2] - bbox[0];\n var height = bbox[3] - bbox[1];\n this.ctx.rect(bbox[0], bbox[1], width, height);\n this.clip();\n this.endPath();\n }\n },\n paintFormXObjectEnd: function CanvasGraphics_paintFormXObjectEnd() {\n this.restore();\n this.baseTransform = this.baseTransformStack.pop();\n },\n beginGroup: function CanvasGraphics_beginGroup(group) {\n this.save();\n var currentCtx = this.ctx;\n\n if (!group.isolated) {\n (0, _util.info)('TODO: Support non-isolated groups.');\n }\n\n if (group.knockout) {\n (0, _util.warn)('Knockout groups not supported.');\n }\n\n var currentTransform = currentCtx.mozCurrentTransform;\n\n if (group.matrix) {\n currentCtx.transform.apply(currentCtx, group.matrix);\n }\n\n if (!group.bbox) {\n throw new Error('Bounding box is required.');\n }\n\n var bounds = _util.Util.getAxialAlignedBoundingBox(group.bbox, currentCtx.mozCurrentTransform);\n\n var canvasBounds = [0, 0, currentCtx.canvas.width, currentCtx.canvas.height];\n bounds = _util.Util.intersect(bounds, canvasBounds) || [0, 0, 0, 0];\n var offsetX = Math.floor(bounds[0]);\n var offsetY = Math.floor(bounds[1]);\n var drawnWidth = Math.max(Math.ceil(bounds[2]) - offsetX, 1);\n var drawnHeight = Math.max(Math.ceil(bounds[3]) - offsetY, 1);\n var scaleX = 1,\n scaleY = 1;\n\n if (drawnWidth > MAX_GROUP_SIZE) {\n scaleX = drawnWidth / MAX_GROUP_SIZE;\n drawnWidth = MAX_GROUP_SIZE;\n }\n\n if (drawnHeight > MAX_GROUP_SIZE) {\n scaleY = drawnHeight / MAX_GROUP_SIZE;\n drawnHeight = MAX_GROUP_SIZE;\n }\n\n var cacheId = 'groupAt' + this.groupLevel;\n\n if (group.smask) {\n cacheId += '_smask_' + this.smaskCounter++ % 2;\n }\n\n var scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight, true);\n var groupCtx = scratchCanvas.context;\n groupCtx.scale(1 / scaleX, 1 / scaleY);\n groupCtx.translate(-offsetX, -offsetY);\n groupCtx.transform.apply(groupCtx, currentTransform);\n\n if (group.smask) {\n this.smaskStack.push({\n canvas: scratchCanvas.canvas,\n context: groupCtx,\n offsetX: offsetX,\n offsetY: offsetY,\n scaleX: scaleX,\n scaleY: scaleY,\n subtype: group.smask.subtype,\n backdrop: group.smask.backdrop,\n transferMap: group.smask.transferMap || null,\n startTransformInverse: null\n });\n } else {\n currentCtx.setTransform(1, 0, 0, 1, 0, 0);\n currentCtx.translate(offsetX, offsetY);\n currentCtx.scale(scaleX, scaleY);\n }\n\n copyCtxState(currentCtx, groupCtx);\n this.ctx = groupCtx;\n this.setGState([['BM', 'source-over'], ['ca', 1], ['CA', 1]]);\n this.groupStack.push(currentCtx);\n this.groupLevel++;\n this.current.activeSMask = null;\n },\n endGroup: function CanvasGraphics_endGroup(group) {\n this.groupLevel--;\n var groupCtx = this.ctx;\n this.ctx = this.groupStack.pop();\n\n if (this.ctx.imageSmoothingEnabled !== undefined) {\n this.ctx.imageSmoothingEnabled = false;\n } else {\n this.ctx.mozImageSmoothingEnabled = false;\n }\n\n if (group.smask) {\n this.tempSMask = this.smaskStack.pop();\n } else {\n this.ctx.drawImage(groupCtx.canvas, 0, 0);\n }\n\n this.restore();\n },\n beginAnnotations: function CanvasGraphics_beginAnnotations() {\n this.save();\n\n if (this.baseTransform) {\n this.ctx.setTransform.apply(this.ctx, this.baseTransform);\n }\n },\n endAnnotations: function CanvasGraphics_endAnnotations() {\n this.restore();\n },\n beginAnnotation: function CanvasGraphics_beginAnnotation(rect, transform, matrix) {\n this.save();\n resetCtxToDefault(this.ctx);\n this.current = new CanvasExtraState();\n\n if (Array.isArray(rect) && rect.length === 4) {\n var width = rect[2] - rect[0];\n var height = rect[3] - rect[1];\n this.ctx.rect(rect[0], rect[1], width, height);\n this.clip();\n this.endPath();\n }\n\n this.transform.apply(this, transform);\n this.transform.apply(this, matrix);\n },\n endAnnotation: function CanvasGraphics_endAnnotation() {\n this.restore();\n },\n paintJpegXObject: function CanvasGraphics_paintJpegXObject(objId, w, h) {\n var domImage = this.processingType3 ? this.commonObjs.get(objId) : this.objs.get(objId);\n\n if (!domImage) {\n (0, _util.warn)('Dependent image isn\\'t ready yet');\n return;\n }\n\n this.save();\n var ctx = this.ctx;\n ctx.scale(1 / w, -1 / h);\n ctx.drawImage(domImage, 0, 0, domImage.width, domImage.height, 0, -h, w, h);\n\n if (this.imageLayer) {\n var currentTransform = ctx.mozCurrentTransformInverse;\n var position = this.getCanvasPosition(0, 0);\n this.imageLayer.appendImage({\n objId: objId,\n left: position[0],\n top: position[1],\n width: w / currentTransform[0],\n height: h / currentTransform[3]\n });\n }\n\n this.restore();\n },\n paintImageMaskXObject: function CanvasGraphics_paintImageMaskXObject(img) {\n var ctx = this.ctx;\n var width = img.width,\n height = img.height;\n var fillColor = this.current.fillColor;\n var isPatternFill = this.current.patternFill;\n var glyph = this.processingType3;\n\n if (COMPILE_TYPE3_GLYPHS && glyph && glyph.compiled === undefined) {\n if (width <= MAX_SIZE_TO_COMPILE && height <= MAX_SIZE_TO_COMPILE) {\n glyph.compiled = compileType3Glyph({\n data: img.data,\n width: width,\n height: height\n });\n } else {\n glyph.compiled = null;\n }\n }\n\n if (glyph && glyph.compiled) {\n glyph.compiled(ctx);\n return;\n }\n\n var maskCanvas = this.cachedCanvases.getCanvas('maskCanvas', width, height);\n var maskCtx = maskCanvas.context;\n maskCtx.save();\n putBinaryImageMask(maskCtx, img);\n maskCtx.globalCompositeOperation = 'source-in';\n maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this) : fillColor;\n maskCtx.fillRect(0, 0, width, height);\n maskCtx.restore();\n this.paintInlineImageXObject(maskCanvas.canvas);\n },\n paintImageMaskXObjectRepeat: function CanvasGraphics_paintImageMaskXObjectRepeat(imgData, scaleX, scaleY, positions) {\n var width = imgData.width;\n var height = imgData.height;\n var fillColor = this.current.fillColor;\n var isPatternFill = this.current.patternFill;\n var maskCanvas = this.cachedCanvases.getCanvas('maskCanvas', width, height);\n var maskCtx = maskCanvas.context;\n maskCtx.save();\n putBinaryImageMask(maskCtx, imgData);\n maskCtx.globalCompositeOperation = 'source-in';\n maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this) : fillColor;\n maskCtx.fillRect(0, 0, width, height);\n maskCtx.restore();\n var ctx = this.ctx;\n\n for (var i = 0, ii = positions.length; i < ii; i += 2) {\n ctx.save();\n ctx.transform(scaleX, 0, 0, scaleY, positions[i], positions[i + 1]);\n ctx.scale(1, -1);\n ctx.drawImage(maskCanvas.canvas, 0, 0, width, height, 0, -1, 1, 1);\n ctx.restore();\n }\n },\n paintImageMaskXObjectGroup: function CanvasGraphics_paintImageMaskXObjectGroup(images) {\n var ctx = this.ctx;\n var fillColor = this.current.fillColor;\n var isPatternFill = this.current.patternFill;\n\n for (var i = 0, ii = images.length; i < ii; i++) {\n var image = images[i];\n var width = image.width,\n height = image.height;\n var maskCanvas = this.cachedCanvases.getCanvas('maskCanvas', width, height);\n var maskCtx = maskCanvas.context;\n maskCtx.save();\n putBinaryImageMask(maskCtx, image);\n maskCtx.globalCompositeOperation = 'source-in';\n maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this) : fillColor;\n maskCtx.fillRect(0, 0, width, height);\n maskCtx.restore();\n ctx.save();\n ctx.transform.apply(ctx, image.transform);\n ctx.scale(1, -1);\n ctx.drawImage(maskCanvas.canvas, 0, 0, width, height, 0, -1, 1, 1);\n ctx.restore();\n }\n },\n paintImageXObject: function CanvasGraphics_paintImageXObject(objId) {\n var imgData = this.processingType3 ? this.commonObjs.get(objId) : this.objs.get(objId);\n\n if (!imgData) {\n (0, _util.warn)('Dependent image isn\\'t ready yet');\n return;\n }\n\n this.paintInlineImageXObject(imgData);\n },\n paintImageXObjectRepeat: function CanvasGraphics_paintImageXObjectRepeat(objId, scaleX, scaleY, positions) {\n var imgData = this.processingType3 ? this.commonObjs.get(objId) : this.objs.get(objId);\n\n if (!imgData) {\n (0, _util.warn)('Dependent image isn\\'t ready yet');\n return;\n }\n\n var width = imgData.width;\n var height = imgData.height;\n var map = [];\n\n for (var i = 0, ii = positions.length; i < ii; i += 2) {\n map.push({\n transform: [scaleX, 0, 0, scaleY, positions[i], positions[i + 1]],\n x: 0,\n y: 0,\n w: width,\n h: height\n });\n }\n\n this.paintInlineImageXObjectGroup(imgData, map);\n },\n paintInlineImageXObject: function CanvasGraphics_paintInlineImageXObject(imgData) {\n var width = imgData.width;\n var height = imgData.height;\n var ctx = this.ctx;\n this.save();\n ctx.scale(1 / width, -1 / height);\n var currentTransform = ctx.mozCurrentTransformInverse;\n var a = currentTransform[0],\n b = currentTransform[1];\n var widthScale = Math.max(Math.sqrt(a * a + b * b), 1);\n var c = currentTransform[2],\n d = currentTransform[3];\n var heightScale = Math.max(Math.sqrt(c * c + d * d), 1);\n var imgToPaint, tmpCanvas;\n\n if (typeof HTMLElement === 'function' && imgData instanceof HTMLElement || !imgData.data) {\n imgToPaint = imgData;\n } else {\n tmpCanvas = this.cachedCanvases.getCanvas('inlineImage', width, height);\n var tmpCtx = tmpCanvas.context;\n putBinaryImageData(tmpCtx, imgData);\n imgToPaint = tmpCanvas.canvas;\n }\n\n var paintWidth = width,\n paintHeight = height;\n var tmpCanvasId = 'prescale1';\n\n while (widthScale > 2 && paintWidth > 1 || heightScale > 2 && paintHeight > 1) {\n var newWidth = paintWidth,\n newHeight = paintHeight;\n\n if (widthScale > 2 && paintWidth > 1) {\n newWidth = Math.ceil(paintWidth / 2);\n widthScale /= paintWidth / newWidth;\n }\n\n if (heightScale > 2 && paintHeight > 1) {\n newHeight = Math.ceil(paintHeight / 2);\n heightScale /= paintHeight / newHeight;\n }\n\n tmpCanvas = this.cachedCanvases.getCanvas(tmpCanvasId, newWidth, newHeight);\n tmpCtx = tmpCanvas.context;\n tmpCtx.clearRect(0, 0, newWidth, newHeight);\n tmpCtx.drawImage(imgToPaint, 0, 0, paintWidth, paintHeight, 0, 0, newWidth, newHeight);\n imgToPaint = tmpCanvas.canvas;\n paintWidth = newWidth;\n paintHeight = newHeight;\n tmpCanvasId = tmpCanvasId === 'prescale1' ? 'prescale2' : 'prescale1';\n }\n\n ctx.drawImage(imgToPaint, 0, 0, paintWidth, paintHeight, 0, -height, width, height);\n\n if (this.imageLayer) {\n var position = this.getCanvasPosition(0, -height);\n this.imageLayer.appendImage({\n imgData: imgData,\n left: position[0],\n top: position[1],\n width: width / currentTransform[0],\n height: height / currentTransform[3]\n });\n }\n\n this.restore();\n },\n paintInlineImageXObjectGroup: function CanvasGraphics_paintInlineImageXObjectGroup(imgData, map) {\n var ctx = this.ctx;\n var w = imgData.width;\n var h = imgData.height;\n var tmpCanvas = this.cachedCanvases.getCanvas('inlineImage', w, h);\n var tmpCtx = tmpCanvas.context;\n putBinaryImageData(tmpCtx, imgData);\n\n for (var i = 0, ii = map.length; i < ii; i++) {\n var entry = map[i];\n ctx.save();\n ctx.transform.apply(ctx, entry.transform);\n ctx.scale(1, -1);\n ctx.drawImage(tmpCanvas.canvas, entry.x, entry.y, entry.w, entry.h, 0, -1, 1, 1);\n\n if (this.imageLayer) {\n var position = this.getCanvasPosition(entry.x, entry.y);\n this.imageLayer.appendImage({\n imgData: imgData,\n left: position[0],\n top: position[1],\n width: w,\n height: h\n });\n }\n\n ctx.restore();\n }\n },\n paintSolidColorImageMask: function CanvasGraphics_paintSolidColorImageMask() {\n this.ctx.fillRect(0, 0, 1, 1);\n },\n paintXObject: function CanvasGraphics_paintXObject() {\n (0, _util.warn)('Unsupported \\'paintXObject\\' command.');\n },\n markPoint: function CanvasGraphics_markPoint(tag) {},\n markPointProps: function CanvasGraphics_markPointProps(tag, properties) {},\n beginMarkedContent: function CanvasGraphics_beginMarkedContent(tag) {},\n beginMarkedContentProps: function CanvasGraphics_beginMarkedContentProps(tag, properties) {},\n endMarkedContent: function CanvasGraphics_endMarkedContent() {},\n beginCompat: function CanvasGraphics_beginCompat() {},\n endCompat: function CanvasGraphics_endCompat() {},\n consumePath: function CanvasGraphics_consumePath() {\n var ctx = this.ctx;\n\n if (this.pendingClip) {\n if (this.pendingClip === EO_CLIP) {\n ctx.clip('evenodd');\n } else {\n ctx.clip();\n }\n\n this.pendingClip = null;\n }\n\n ctx.beginPath();\n },\n getSinglePixelWidth: function getSinglePixelWidth(scale) {\n if (this._cachedGetSinglePixelWidth === null) {\n var inverse = this.ctx.mozCurrentTransformInverse;\n this._cachedGetSinglePixelWidth = Math.sqrt(Math.max(inverse[0] * inverse[0] + inverse[1] * inverse[1], inverse[2] * inverse[2] + inverse[3] * inverse[3]));\n }\n\n return this._cachedGetSinglePixelWidth;\n },\n getCanvasPosition: function CanvasGraphics_getCanvasPosition(x, y) {\n var transform = this.ctx.mozCurrentTransform;\n return [transform[0] * x + transform[2] * y + transform[4], transform[1] * x + transform[3] * y + transform[5]];\n }\n };\n\n for (var op in _util.OPS) {\n CanvasGraphics.prototype[_util.OPS[op]] = CanvasGraphics.prototype[op];\n }\n\n return CanvasGraphics;\n}();\n\nexports.CanvasGraphics = CanvasGraphics;\n\n/***/ }),\n/* 187 */\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 = {};\n\nfunction applyBoundingBox(ctx, bbox) {\n if (!bbox || typeof Path2D === 'undefined') {\n return;\n }\n\n var width = bbox[2] - bbox[0];\n var height = bbox[3] - bbox[1];\n var region = new Path2D();\n region.rect(bbox[0], bbox[1], width, height);\n ctx.clip(region);\n}\n\nShadingIRs.RadialAxial = {\n fromIR: function RadialAxial_fromIR(raw) {\n var type = raw[1];\n var bbox = raw[2];\n var colorStops = raw[3];\n var p0 = raw[4];\n var p1 = raw[5];\n var r0 = raw[6];\n var r1 = raw[7];\n return {\n type: 'Pattern',\n getPattern: function RadialAxial_getPattern(ctx) {\n applyBoundingBox(ctx, bbox);\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 bbox = raw[7];\n var background = raw[8];\n return {\n type: 'Pattern',\n getPattern: function Mesh_getPattern(ctx, owner, shadingFill) {\n applyBoundingBox(ctx, bbox);\n var scale;\n\n if (shadingFill) {\n scale = _util.Util.singularValueDecompose2dScale(ctx.mozCurrentTransform);\n } else {\n scale = _util.Util.singularValueDecompose2dScale(owner.baseTransform);\n\n if (matrix) {\n var matrixScale = _util.Util.singularValueDecompose2dScale(matrix);\n\n scale = [scale[0] * matrixScale[0], scale[1] * matrixScale[1]];\n }\n }\n\n var temporaryPatternCanvas = createMeshCanvas(bounds, scale, coords, colors, figures, shadingFill ? null : background, owner.cachedCanvases, owner.webGLContext);\n\n if (!shadingFill) {\n ctx.setTransform.apply(ctx, owner.baseTransform);\n\n if (matrix) {\n ctx.transform.apply(ctx, matrix);\n }\n }\n\n ctx.translate(temporaryPatternCanvas.offsetX, temporaryPatternCanvas.offsetY);\n ctx.scale(temporaryPatternCanvas.scaleX, temporaryPatternCanvas.scaleY);\n return ctx.createPattern(temporaryPatternCanvas.canvas, 'no-repeat');\n }\n };\n }\n};\nShadingIRs.Dummy = {\n fromIR: function Dummy_fromIR() {\n return {\n type: 'Pattern',\n getPattern: function Dummy_fromIR_getPattern() {\n return 'hotpink';\n }\n };\n }\n};\n\nfunction getShadingPatternFromIR(raw) {\n var shadingIR = ShadingIRs[raw[0]];\n\n if (!shadingIR) {\n throw new Error(\"Unknown IR type: \".concat(raw[0]));\n }\n\n return shadingIR.fromIR(raw);\n}\n\nvar TilingPattern = function TilingPatternClosure() {\n var PaintType = {\n COLORED: 1,\n UNCOLORED: 2\n };\n var MAX_PATTERN_SIZE = 3000;\n\n function TilingPattern(IR, color, ctx, canvasGraphicsFactory, baseTransform) {\n this.operatorList = IR[2];\n this.matrix = IR[3] || [1, 0, 0, 1, 0, 0];\n this.bbox = IR[4];\n this.xstep = IR[5];\n this.ystep = IR[6];\n this.paintType = IR[7];\n this.tilingType = IR[8];\n this.color = color;\n this.canvasGraphicsFactory = canvasGraphicsFactory;\n this.baseTransform = baseTransform;\n this.type = 'Pattern';\n this.ctx = ctx;\n }\n\n TilingPattern.prototype = {\n createPatternCanvas: function TilinPattern_createPatternCanvas(owner) {\n var operatorList = this.operatorList;\n var bbox = this.bbox;\n var xstep = this.xstep;\n var ystep = this.ystep;\n var paintType = this.paintType;\n var tilingType = this.tilingType;\n var color = this.color;\n var canvasGraphicsFactory = this.canvasGraphicsFactory;\n (0, _util.info)('TilingType: ' + tilingType);\n var x0 = bbox[0],\n y0 = bbox[1],\n x1 = bbox[2],\n y1 = bbox[3];\n\n var matrixScale = _util.Util.singularValueDecompose2dScale(this.matrix);\n\n var curMatrixScale = _util.Util.singularValueDecompose2dScale(this.baseTransform);\n\n var combinedScale = [matrixScale[0] * curMatrixScale[0], matrixScale[1] * curMatrixScale[1]];\n var dimx = this.getSizeAndScale(xstep, this.ctx.canvas.width, combinedScale[0]);\n var dimy = this.getSizeAndScale(ystep, this.ctx.canvas.height, combinedScale[1]);\n var tmpCanvas = owner.cachedCanvases.getCanvas('pattern', dimx.size, dimy.size, true);\n var tmpCtx = tmpCanvas.context;\n var graphics = canvasGraphicsFactory.createCanvasGraphics(tmpCtx);\n graphics.groupLevel = owner.groupLevel;\n this.setFillAndStrokeStyleToContext(graphics, paintType, color);\n graphics.transform(dimx.scale, 0, 0, dimy.scale, 0, 0);\n graphics.transform(1, 0, 0, 1, -x0, -y0);\n this.clipBbox(graphics, bbox, x0, y0, x1, y1);\n graphics.executeOperatorList(operatorList);\n this.ctx.transform(1, 0, 0, 1, x0, y0);\n this.ctx.scale(1 / dimx.scale, 1 / dimy.scale);\n return tmpCanvas.canvas;\n },\n getSizeAndScale: function TilingPattern_getSizeAndScale(step, realOutputSize, scale) {\n step = Math.abs(step);\n var maxSize = Math.max(MAX_PATTERN_SIZE, realOutputSize);\n var size = Math.ceil(step * scale);\n\n if (size >= maxSize) {\n size = maxSize;\n } else {\n scale = size / step;\n }\n\n return {\n scale: scale,\n size: size\n };\n },\n clipBbox: function clipBbox(graphics, bbox, x0, y0, x1, y1) {\n if (Array.isArray(bbox) && bbox.length === 4) {\n var bboxWidth = x1 - x0;\n var bboxHeight = y1 - y0;\n graphics.ctx.rect(x0, y0, bboxWidth, bboxHeight);\n graphics.clip();\n graphics.endPath();\n }\n },\n setFillAndStrokeStyleToContext: function setFillAndStrokeStyleToContext(graphics, paintType, color) {\n var context = graphics.ctx,\n current = graphics.current;\n\n switch (paintType) {\n case PaintType.COLORED:\n var ctx = this.ctx;\n context.fillStyle = ctx.fillStyle;\n context.strokeStyle = ctx.strokeStyle;\n current.fillColor = ctx.fillStyle;\n current.strokeColor = ctx.strokeStyle;\n break;\n\n case PaintType.UNCOLORED:\n var cssColor = _util.Util.makeCssRgb(color[0], color[1], color[2]);\n\n context.fillStyle = cssColor;\n context.strokeStyle = cssColor;\n current.fillColor = cssColor;\n current.strokeColor = cssColor;\n break;\n\n default:\n throw new _util.FormatError(\"Unsupported paint type: \".concat(paintType));\n }\n },\n getPattern: function TilingPattern_getPattern(ctx, owner) {\n ctx = this.ctx;\n ctx.setTransform.apply(ctx, this.baseTransform);\n ctx.transform.apply(ctx, this.matrix);\n var temporaryPatternCanvas = this.createPatternCanvas(owner);\n return ctx.createPattern(temporaryPatternCanvas, 'repeat');\n }\n };\n return TilingPattern;\n}();\n\nexports.TilingPattern = TilingPattern;\n\n/***/ }),\n/* 188 */\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/* 189 */\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 _util = __w_pdfjs_require__(1);\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 StreamKind = {\n UNKNOWN: 0,\n CANCEL: 1,\n CANCEL_COMPLETE: 2,\n CLOSE: 3,\n ENQUEUE: 4,\n ERROR: 5,\n PULL: 6,\n PULL_COMPLETE: 7,\n START_COMPLETE: 8\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 case 'UnknownErrorException':\n return new _util.UnknownErrorException(reason.message, reason.details);\n\n default:\n return new _util.UnknownErrorException(reason.message, reason.toString());\n }\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 ('reason' in data) {\n callback.reject(wrapReason(data.reason));\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 new Promise(function (resolve) {\n resolve(action(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 reason: wrapReason(reason)\n });\n });\n } else if (data.streamId) {\n _this._createStreamSink(data);\n } else {\n action(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) {\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;\n },\n send: function send(actionName, data, transfers) {\n this.postMessage({\n sourceName: this.sourceName,\n targetName: this.targetName,\n action: actionName,\n data: data\n }, transfers);\n },\n sendWithPromise: function sendWithPromise(actionName, data, transfers) {\n var callbackId = this.callbackId++;\n var capability = (0, _util.createPromiseCapability)();\n this.callbacksCapabilities[callbackId] = capability;\n\n try {\n this.postMessage({\n sourceName: this.sourceName,\n targetName: this.targetName,\n action: actionName,\n callbackId: callbackId,\n data: data\n }, transfers);\n } catch (ex) {\n capability.reject(ex);\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 var comObj = this.comObj;\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 pullCall: null,\n cancelCall: null,\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 }, transfers);\n\n return startCapability.promise;\n },\n pull: function pull(controller) {\n var pullCapability = (0, _util.createPromiseCapability)();\n _this2.streamControllers[streamId].pullCall = pullCapability;\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.PULL,\n streamId: streamId,\n desiredSize: controller.desiredSize\n });\n return pullCapability.promise;\n },\n cancel: function cancel(reason) {\n (0, _util.assert)(reason instanceof Error, 'cancel must have a valid reason');\n var cancelCapability = (0, _util.createPromiseCapability)();\n _this2.streamControllers[streamId].cancelCall = cancelCapability;\n _this2.streamControllers[streamId].isClosed = true;\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.CANCEL,\n streamId: streamId,\n reason: wrapReason(reason)\n });\n return cancelCapability.promise;\n }\n }, queueingStrategy);\n },\n _createStreamSink: function _createStreamSink(data) {\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 var comObj = this.comObj;\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 self.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.ENQUEUE,\n streamId: streamId,\n chunk: chunk\n }, transfers);\n },\n close: function close() {\n if (this.isCancelled) {\n return;\n }\n\n this.isCancelled = true;\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.CLOSE,\n streamId: streamId\n });\n delete self.streamSinks[streamId];\n },\n error: function error(reason) {\n (0, _util.assert)(reason instanceof Error, 'error must have a valid reason');\n\n if (this.isCancelled) {\n return;\n }\n\n this.isCancelled = true;\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.ERROR,\n streamId: streamId,\n reason: wrapReason(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 new Promise(function (resolve) {\n resolve(action(data.data, streamSink));\n }).then(function () {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.START_COMPLETE,\n streamId: streamId,\n success: true\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.START_COMPLETE,\n streamId: streamId,\n reason: wrapReason(reason)\n });\n });\n },\n _processStreamMessage: function _processStreamMessage(data) {\n var _this3 = this;\n\n var sourceName = this.sourceName;\n var targetName = data.sourceName;\n var streamId = data.streamId;\n var comObj = this.comObj;\n\n var deleteStreamController = function deleteStreamController() {\n Promise.all([_this3.streamControllers[streamId].startCall, _this3.streamControllers[streamId].pullCall, _this3.streamControllers[streamId].cancelCall].map(function (capability) {\n return capability && capability.promise[\"catch\"](function () {});\n })).then(function () {\n delete _this3.streamControllers[streamId];\n });\n };\n\n switch (data.stream) {\n case StreamKind.START_COMPLETE:\n if (data.success) {\n this.streamControllers[streamId].startCall.resolve();\n } else {\n this.streamControllers[streamId].startCall.reject(wrapReason(data.reason));\n }\n\n break;\n\n case StreamKind.PULL_COMPLETE:\n if (data.success) {\n this.streamControllers[streamId].pullCall.resolve();\n } else {\n this.streamControllers[streamId].pullCall.reject(wrapReason(data.reason));\n }\n\n break;\n\n case StreamKind.PULL:\n if (!this.streamSinks[streamId]) {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId: streamId,\n success: true\n });\n break;\n }\n\n if (this.streamSinks[streamId].desiredSize <= 0 && data.desiredSize > 0) {\n this.streamSinks[streamId].sinkCapability.resolve();\n }\n\n this.streamSinks[streamId].desiredSize = data.desiredSize;\n var onPull = this.streamSinks[data.streamId].onPull;\n new Promise(function (resolve) {\n resolve(onPull && onPull());\n }).then(function () {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId: streamId,\n success: true\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId: streamId,\n reason: wrapReason(reason)\n });\n });\n break;\n\n case StreamKind.ENQUEUE:\n (0, _util.assert)(this.streamControllers[streamId], 'enqueue should have stream controller');\n\n if (this.streamControllers[streamId].isClosed) {\n break;\n }\n\n this.streamControllers[streamId].controller.enqueue(data.chunk);\n break;\n\n case StreamKind.CLOSE:\n (0, _util.assert)(this.streamControllers[streamId], 'close should have stream controller');\n\n if (this.streamControllers[streamId].isClosed) {\n break;\n }\n\n this.streamControllers[streamId].isClosed = true;\n this.streamControllers[streamId].controller.close();\n deleteStreamController();\n break;\n\n case StreamKind.ERROR:\n (0, _util.assert)(this.streamControllers[streamId], 'error should have stream controller');\n this.streamControllers[streamId].controller.error(wrapReason(data.reason));\n deleteStreamController();\n break;\n\n case StreamKind.CANCEL_COMPLETE:\n if (data.success) {\n this.streamControllers[streamId].cancelCall.resolve();\n } else {\n this.streamControllers[streamId].cancelCall.reject(wrapReason(data.reason));\n }\n\n deleteStreamController();\n break;\n\n case StreamKind.CANCEL:\n if (!this.streamSinks[streamId]) {\n break;\n }\n\n var onCancel = this.streamSinks[data.streamId].onCancel;\n new Promise(function (resolve) {\n resolve(onCancel && onCancel(wrapReason(data.reason)));\n }).then(function () {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.CANCEL_COMPLETE,\n streamId: streamId,\n success: true\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.CANCEL_COMPLETE,\n streamId: streamId,\n reason: wrapReason(reason)\n });\n });\n this.streamSinks[streamId].sinkCapability.reject(wrapReason(data.reason));\n this.streamSinks[streamId].isCancelled = true;\n delete this.streamSinks[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/* 190 */\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__(191);\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/* 191 */\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) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\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/* 192 */\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__(180));\n\nvar _util = __w_pdfjs_require__(1);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar PDFDataTransportStream =\n/*#__PURE__*/\nfunction () {\n function PDFDataTransportStream(params, pdfDataRangeTransport) {\n var _this = this;\n\n _classCallCheck(this, PDFDataTransportStream);\n\n (0, _util.assert)(pdfDataRangeTransport);\n this._queuedChunks = [];\n this._progressiveDone = params.progressiveDone || false;\n var initialData = params.initialData;\n\n if (initialData && initialData.length > 0) {\n var buffer = new Uint8Array(initialData).buffer;\n\n this._queuedChunks.push(buffer);\n }\n\n this._pdfDataRangeTransport = pdfDataRangeTransport;\n this._isStreamingSupported = !params.disableStream;\n this._isRangeSupported = !params.disableRange;\n this._contentLength = params.length;\n this._fullRequestReader = null;\n this._rangeReaders = [];\n\n this._pdfDataRangeTransport.addRangeListener(function (begin, chunk) {\n _this._onReceiveData({\n begin: begin,\n chunk: chunk\n });\n });\n\n this._pdfDataRangeTransport.addProgressListener(function (loaded, total) {\n _this._onProgress({\n loaded: loaded,\n total: total\n });\n });\n\n this._pdfDataRangeTransport.addProgressiveReadListener(function (chunk) {\n _this._onReceiveData({\n chunk: chunk\n });\n });\n\n this._pdfDataRangeTransport.addProgressiveDoneListener(function () {\n _this._onProgressiveDone();\n });\n\n this._pdfDataRangeTransport.transportReady();\n }\n\n _createClass(PDFDataTransportStream, [{\n key: \"_onReceiveData\",\n value: function _onReceiveData(args) {\n var buffer = new Uint8Array(args.chunk).buffer;\n\n if (args.begin === undefined) {\n if (this._fullRequestReader) {\n this._fullRequestReader._enqueue(buffer);\n } else {\n this._queuedChunks.push(buffer);\n }\n } else {\n var found = this._rangeReaders.some(function (rangeReader) {\n if (rangeReader._begin !== args.begin) {\n return false;\n }\n\n rangeReader._enqueue(buffer);\n\n return true;\n });\n\n (0, _util.assert)(found);\n }\n }\n }, {\n key: \"_onProgress\",\n value: function _onProgress(evt) {\n if (evt.total === undefined) {\n var firstReader = this._rangeReaders[0];\n\n if (firstReader && firstReader.onProgress) {\n firstReader.onProgress({\n loaded: evt.loaded\n });\n }\n } else {\n var fullReader = this._fullRequestReader;\n\n if (fullReader && fullReader.onProgress) {\n fullReader.onProgress({\n loaded: evt.loaded,\n total: evt.total\n });\n }\n }\n }\n }, {\n key: \"_onProgressiveDone\",\n value: function _onProgressiveDone() {\n if (this._fullRequestReader) {\n this._fullRequestReader.progressiveDone();\n }\n\n this._progressiveDone = true;\n }\n }, {\n key: \"_removeRangeReader\",\n value: function _removeRangeReader(reader) {\n var i = this._rangeReaders.indexOf(reader);\n\n if (i >= 0) {\n this._rangeReaders.splice(i, 1);\n }\n }\n }, {\n key: \"getFullReader\",\n value: function getFullReader() {\n (0, _util.assert)(!this._fullRequestReader);\n var queuedChunks = this._queuedChunks;\n this._queuedChunks = null;\n return new PDFDataTransportStreamReader(this, queuedChunks, this._progressiveDone);\n }\n }, {\n key: \"getRangeReader\",\n value: function getRangeReader(begin, end) {\n if (end <= this._progressiveDataLength) {\n return null;\n }\n\n var reader = new PDFDataTransportStreamRangeReader(this, begin, end);\n\n this._pdfDataRangeTransport.requestDataRange(begin, end);\n\n this._rangeReaders.push(reader);\n\n return reader;\n }\n }, {\n key: \"cancelAllRequests\",\n value: function cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n\n var readers = this._rangeReaders.slice(0);\n\n readers.forEach(function (rangeReader) {\n rangeReader.cancel(reason);\n });\n\n this._pdfDataRangeTransport.abort();\n }\n }, {\n key: \"_progressiveDataLength\",\n get: function get() {\n return this._fullRequestReader ? this._fullRequestReader._loaded : 0;\n }\n }]);\n\n return PDFDataTransportStream;\n}();\n\nexports.PDFDataTransportStream = PDFDataTransportStream;\n\nvar PDFDataTransportStreamReader =\n/*#__PURE__*/\nfunction () {\n function PDFDataTransportStreamReader(stream, queuedChunks) {\n var progressiveDone = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n _classCallCheck(this, PDFDataTransportStreamReader);\n\n this._stream = stream;\n this._done = progressiveDone || false;\n this._filename = null;\n this._queuedChunks = queuedChunks || [];\n this._loaded = 0;\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = this._queuedChunks[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var chunk = _step.value;\n this._loaded += chunk.byteLength;\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator[\"return\"] != null) {\n _iterator[\"return\"]();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n this._requests = [];\n this._headersReady = Promise.resolve();\n stream._fullRequestReader = this;\n this.onProgress = null;\n }\n\n _createClass(PDFDataTransportStreamReader, [{\n key: \"_enqueue\",\n value: function _enqueue(chunk) {\n if (this._done) {\n return;\n }\n\n if (this._requests.length > 0) {\n var requestCapability = this._requests.shift();\n\n requestCapability.resolve({\n value: chunk,\n done: false\n });\n } else {\n this._queuedChunks.push(chunk);\n }\n\n this._loaded += chunk.byteLength;\n }\n }, {\n key: \"read\",\n value: function () {\n var _read = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee() {\n var chunk, requestCapability;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (!(this._queuedChunks.length > 0)) {\n _context.next = 3;\n break;\n }\n\n chunk = this._queuedChunks.shift();\n return _context.abrupt(\"return\", {\n value: chunk,\n done: false\n });\n\n case 3:\n if (!this._done) {\n _context.next = 5;\n break;\n }\n\n return _context.abrupt(\"return\", {\n value: undefined,\n done: true\n });\n\n case 5:\n requestCapability = (0, _util.createPromiseCapability)();\n\n this._requests.push(requestCapability);\n\n return _context.abrupt(\"return\", requestCapability.promise);\n\n case 8:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function read() {\n return _read.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n this._done = true;\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n }\n }, {\n key: \"progressiveDone\",\n value: function progressiveDone() {\n if (this._done) {\n return;\n }\n\n this._done = true;\n }\n }, {\n key: \"headersReady\",\n get: function get() {\n return this._headersReady;\n }\n }, {\n key: \"filename\",\n get: function get() {\n return this._filename;\n }\n }, {\n key: \"isRangeSupported\",\n get: function get() {\n return this._stream._isRangeSupported;\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return this._stream._isStreamingSupported;\n }\n }, {\n key: \"contentLength\",\n get: function get() {\n return this._stream._contentLength;\n }\n }]);\n\n return PDFDataTransportStreamReader;\n}();\n\nvar PDFDataTransportStreamRangeReader =\n/*#__PURE__*/\nfunction () {\n function PDFDataTransportStreamRangeReader(stream, begin, end) {\n _classCallCheck(this, PDFDataTransportStreamRangeReader);\n\n this._stream = stream;\n this._begin = begin;\n this._end = end;\n this._queuedChunk = null;\n this._requests = [];\n this._done = false;\n this.onProgress = null;\n }\n\n _createClass(PDFDataTransportStreamRangeReader, [{\n key: \"_enqueue\",\n value: function _enqueue(chunk) {\n if (this._done) {\n return;\n }\n\n if (this._requests.length === 0) {\n this._queuedChunk = chunk;\n } else {\n var requestsCapability = this._requests.shift();\n\n requestsCapability.resolve({\n value: chunk,\n done: false\n });\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n }\n\n this._done = true;\n\n this._stream._removeRangeReader(this);\n }\n }, {\n key: \"read\",\n value: function () {\n var _read2 = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee2() {\n var chunk, requestCapability;\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n if (!this._queuedChunk) {\n _context2.next = 4;\n break;\n }\n\n chunk = this._queuedChunk;\n this._queuedChunk = null;\n return _context2.abrupt(\"return\", {\n value: chunk,\n done: false\n });\n\n case 4:\n if (!this._done) {\n _context2.next = 6;\n break;\n }\n\n return _context2.abrupt(\"return\", {\n value: undefined,\n done: true\n });\n\n case 6:\n requestCapability = (0, _util.createPromiseCapability)();\n\n this._requests.push(requestCapability);\n\n return _context2.abrupt(\"return\", requestCapability.promise);\n\n case 9:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function read() {\n return _read2.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n this._done = true;\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n\n this._stream._removeRangeReader(this);\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return false;\n }\n }]);\n\n return PDFDataTransportStreamRangeReader;\n}();\n\n/***/ }),\n/* 193 */\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/* 194 */\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 function appendText(task, geom, styles) {\n var textDiv = document.createElement('span');\n var textDivProperties = {\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, 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 textDiv.style.left = \"\".concat(left, \"px\");\n textDiv.style.top = \"\".concat(top, \"px\");\n textDiv.style.fontSize = \"\".concat(fontHeight, \"px\");\n textDiv.style.fontFamily = style.fontFamily;\n textDiv.textContent = geom.str;\n\n if (task._fontInspectorEnabled) {\n textDiv.dataset.fontName = geom.fontName;\n }\n\n if (angle !== 0) {\n textDivProperties.angle = angle * (180 / Math.PI);\n }\n\n if (geom.str.length > 1) {\n if (style.vertical) {\n textDivProperties.canvasWidth = geom.height * task._viewport.scale;\n } else {\n textDivProperties.canvasWidth = geom.width * task._viewport.scale;\n }\n }\n\n task._textDivProperties.set(textDiv, textDivProperties);\n\n if (task._textContentStream) {\n task._layoutText(textDiv);\n }\n\n if (task._enhanceTextSelection) {\n var angleCos = 1,\n angleSin = 0;\n\n if (angle !== 0) {\n angleCos = Math.cos(angle);\n angleSin = Math.sin(angle);\n }\n\n var divWidth = (style.vertical ? geom.height : geom.width) * task._viewport.scale;\n var divHeight = fontHeight;\n var m, b;\n\n if (angle !== 0) {\n m = [angleCos, angleSin, -angleSin, angleCos, left, top];\n b = _util.Util.getAxialAlignedBoundingBox([0, 0, divWidth, divHeight], m);\n } else {\n b = [left, top, left + divWidth, top + divHeight];\n }\n\n task._bounds.push({\n left: b[0],\n top: b[1],\n right: b[2],\n bottom: b[3],\n div: textDiv,\n size: [divWidth, divHeight],\n m: m\n });\n }\n }\n\n function render(task) {\n if (task._canceled) {\n return;\n }\n\n var textDivs = task._textDivs;\n var capability = task._capability;\n var textDivsLength = textDivs.length;\n\n if (textDivsLength > MAX_TEXT_DIVS_TO_RENDER) {\n task._renderingDone = true;\n capability.resolve();\n return;\n }\n\n if (!task._textContentStream) {\n for (var i = 0; i < textDivsLength; i++) {\n task._layoutText(textDivs[i]);\n }\n }\n\n task._renderingDone = true;\n capability.resolve();\n }\n\n function expand(task) {\n var bounds = task._bounds;\n var viewport = task._viewport;\n var expanded = expandBounds(viewport.width, viewport.height, bounds);\n\n for (var i = 0; i < expanded.length; i++) {\n var div = bounds[i].div;\n\n var divProperties = task._textDivProperties.get(div);\n\n if (divProperties.angle === 0) {\n divProperties.paddingLeft = bounds[i].left - expanded[i].left;\n divProperties.paddingTop = bounds[i].top - expanded[i].top;\n divProperties.paddingRight = expanded[i].right - bounds[i].right;\n divProperties.paddingBottom = expanded[i].bottom - bounds[i].bottom;\n\n task._textDivProperties.set(div, divProperties);\n\n continue;\n }\n\n var e = expanded[i],\n b = bounds[i];\n var m = b.m,\n c = m[0],\n s = m[1];\n var points = [[0, 0], [0, b.size[1]], [b.size[0], 0], b.size];\n var ts = new Float64Array(64);\n points.forEach(function (p, i) {\n var t = _util.Util.applyTransform(p, m);\n\n ts[i + 0] = c && (e.left - t[0]) / c;\n ts[i + 4] = s && (e.top - t[1]) / s;\n ts[i + 8] = c && (e.right - t[0]) / c;\n ts[i + 12] = s && (e.bottom - t[1]) / s;\n ts[i + 16] = s && (e.left - t[0]) / -s;\n ts[i + 20] = c && (e.top - t[1]) / c;\n ts[i + 24] = s && (e.right - t[0]) / -s;\n ts[i + 28] = c && (e.bottom - t[1]) / c;\n ts[i + 32] = c && (e.left - t[0]) / -c;\n ts[i + 36] = s && (e.top - t[1]) / -s;\n ts[i + 40] = c && (e.right - t[0]) / -c;\n ts[i + 44] = s && (e.bottom - t[1]) / -s;\n ts[i + 48] = s && (e.left - t[0]) / s;\n ts[i + 52] = c && (e.top - t[1]) / -c;\n ts[i + 56] = s && (e.right - t[0]) / s;\n ts[i + 60] = c && (e.bottom - t[1]) / -c;\n });\n\n var findPositiveMin = function findPositiveMin(ts, offset, count) {\n var result = 0;\n\n for (var i = 0; i < count; i++) {\n var t = ts[offset++];\n\n if (t > 0) {\n result = result ? Math.min(t, result) : t;\n }\n }\n\n return result;\n };\n\n var boxScale = 1 + Math.min(Math.abs(c), Math.abs(s));\n divProperties.paddingLeft = findPositiveMin(ts, 32, 16) / boxScale;\n divProperties.paddingTop = findPositiveMin(ts, 48, 16) / boxScale;\n divProperties.paddingRight = findPositiveMin(ts, 0, 16) / boxScale;\n divProperties.paddingBottom = findPositiveMin(ts, 16, 16) / boxScale;\n\n task._textDivProperties.set(div, divProperties);\n }\n }\n\n function expandBounds(width, height, boxes) {\n var bounds = boxes.map(function (box, i) {\n return {\n x1: box.left,\n y1: box.top,\n x2: box.right,\n y2: box.bottom,\n index: i,\n x1New: undefined,\n x2New: undefined\n };\n });\n expandBoundsLTR(width, bounds);\n var expanded = new Array(boxes.length);\n bounds.forEach(function (b) {\n var i = b.index;\n expanded[i] = {\n left: b.x1New,\n top: 0,\n right: b.x2New,\n bottom: 0\n };\n });\n boxes.map(function (box, i) {\n var e = expanded[i],\n b = bounds[i];\n b.x1 = box.top;\n b.y1 = width - e.right;\n b.x2 = box.bottom;\n b.y2 = width - e.left;\n b.index = i;\n b.x1New = undefined;\n b.x2New = undefined;\n });\n expandBoundsLTR(height, bounds);\n bounds.forEach(function (b) {\n var i = b.index;\n expanded[i].top = b.x1New;\n expanded[i].bottom = b.x2New;\n });\n return expanded;\n }\n\n function expandBoundsLTR(width, bounds) {\n bounds.sort(function (a, b) {\n return a.x1 - b.x1 || a.index - b.index;\n });\n var fakeBoundary = {\n x1: -Infinity,\n y1: -Infinity,\n x2: 0,\n y2: Infinity,\n index: -1,\n x1New: 0,\n x2New: 0\n };\n var horizon = [{\n start: -Infinity,\n end: Infinity,\n boundary: fakeBoundary\n }];\n bounds.forEach(function (boundary) {\n var i = 0;\n\n while (i < horizon.length && horizon[i].end <= boundary.y1) {\n i++;\n }\n\n var j = horizon.length - 1;\n\n while (j >= 0 && horizon[j].start >= boundary.y2) {\n j--;\n }\n\n var horizonPart, affectedBoundary;\n var q,\n k,\n maxXNew = -Infinity;\n\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n var xNew;\n\n if (affectedBoundary.x2 > boundary.x1) {\n xNew = affectedBoundary.index > boundary.index ? affectedBoundary.x1New : boundary.x1;\n } else if (affectedBoundary.x2New === undefined) {\n xNew = (affectedBoundary.x2 + boundary.x1) / 2;\n } else {\n xNew = affectedBoundary.x2New;\n }\n\n if (xNew > maxXNew) {\n maxXNew = xNew;\n }\n }\n\n boundary.x1New = maxXNew;\n\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n\n if (affectedBoundary.x2New === undefined) {\n if (affectedBoundary.x2 > boundary.x1) {\n if (affectedBoundary.index > boundary.index) {\n affectedBoundary.x2New = affectedBoundary.x2;\n }\n } else {\n affectedBoundary.x2New = maxXNew;\n }\n } else if (affectedBoundary.x2New > maxXNew) {\n affectedBoundary.x2New = Math.max(maxXNew, affectedBoundary.x2);\n }\n }\n\n var changedHorizon = [],\n lastBoundary = null;\n\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n var useBoundary = affectedBoundary.x2 > boundary.x2 ? affectedBoundary : boundary;\n\n if (lastBoundary === useBoundary) {\n changedHorizon[changedHorizon.length - 1].end = horizonPart.end;\n } else {\n changedHorizon.push({\n start: horizonPart.start,\n end: horizonPart.end,\n boundary: useBoundary\n });\n lastBoundary = useBoundary;\n }\n }\n\n if (horizon[i].start < boundary.y1) {\n changedHorizon[0].start = boundary.y1;\n changedHorizon.unshift({\n start: horizon[i].start,\n end: boundary.y1,\n boundary: horizon[i].boundary\n });\n }\n\n if (boundary.y2 < horizon[j].end) {\n changedHorizon[changedHorizon.length - 1].end = boundary.y2;\n changedHorizon.push({\n start: boundary.y2,\n end: horizon[j].end,\n boundary: horizon[j].boundary\n });\n }\n\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n\n if (affectedBoundary.x2New !== undefined) {\n continue;\n }\n\n var used = false;\n\n for (k = i - 1; !used && k >= 0 && horizon[k].start >= affectedBoundary.y1; k--) {\n used = horizon[k].boundary === affectedBoundary;\n }\n\n for (k = j + 1; !used && k < horizon.length && horizon[k].end <= affectedBoundary.y2; k++) {\n used = horizon[k].boundary === affectedBoundary;\n }\n\n for (k = 0; !used && k < changedHorizon.length; k++) {\n used = changedHorizon[k].boundary === affectedBoundary;\n }\n\n if (!used) {\n affectedBoundary.x2New = maxXNew;\n }\n }\n\n Array.prototype.splice.apply(horizon, [i, j - i + 1].concat(changedHorizon));\n });\n horizon.forEach(function (horizonPart) {\n var affectedBoundary = horizonPart.boundary;\n\n if (affectedBoundary.x2New === undefined) {\n affectedBoundary.x2New = Math.max(width, affectedBoundary.x2);\n }\n });\n }\n\n function TextLayerRenderTask(_ref) {\n var _this = this;\n\n var textContent = _ref.textContent,\n textContentStream = _ref.textContentStream,\n container = _ref.container,\n viewport = _ref.viewport,\n textDivs = _ref.textDivs,\n textContentItemsStr = _ref.textContentItemsStr,\n enhanceTextSelection = _ref.enhanceTextSelection;\n this._textContent = textContent;\n this._textContentStream = textContentStream;\n this._container = container;\n this._viewport = viewport;\n this._textDivs = textDivs || [];\n this._textContentItemsStr = textContentItemsStr || [];\n this._enhanceTextSelection = !!enhanceTextSelection;\n this._fontInspectorEnabled = !!(_global_scope[\"default\"].FontInspector && _global_scope[\"default\"].FontInspector.enabled);\n this._reader = null;\n this._layoutTextLastFontSize = null;\n this._layoutTextLastFontFamily = null;\n this._layoutTextCtx = null;\n this._textDivProperties = new WeakMap();\n this._renderingDone = false;\n this._canceled = false;\n this._capability = (0, _util.createPromiseCapability)();\n this._renderTimer = null;\n this._bounds = [];\n\n this._capability.promise[\"finally\"](function () {\n if (_this._layoutTextCtx) {\n _this._layoutTextCtx.canvas.width = 0;\n _this._layoutTextCtx.canvas.height = 0;\n _this._layoutTextCtx = null;\n }\n })[\"catch\"](function () {});\n }\n\n TextLayerRenderTask.prototype = {\n get promise() {\n return this._capability.promise;\n },\n\n cancel: function TextLayer_cancel() {\n this._canceled = true;\n\n if (this._reader) {\n this._reader.cancel(new _util.AbortException('TextLayer task cancelled.'));\n\n this._reader = null;\n }\n\n if (this._renderTimer !== null) {\n clearTimeout(this._renderTimer);\n this._renderTimer = null;\n }\n\n this._capability.reject(new Error('TextLayer task cancelled.'));\n },\n _processItems: function _processItems(items, styleCache) {\n for (var i = 0, len = items.length; i < len; i++) {\n this._textContentItemsStr.push(items[i].str);\n\n appendText(this, items[i], styleCache);\n }\n },\n _layoutText: function _layoutText(textDiv) {\n var textDivProperties = this._textDivProperties.get(textDiv);\n\n if (textDivProperties.isWhitespace) {\n return;\n }\n\n var transform = '';\n\n if (textDivProperties.canvasWidth !== 0) {\n var _textDiv$style = textDiv.style,\n fontSize = _textDiv$style.fontSize,\n fontFamily = _textDiv$style.fontFamily;\n\n if (fontSize !== this._layoutTextLastFontSize || fontFamily !== this._layoutTextLastFontFamily) {\n this._layoutTextCtx.font = \"\".concat(fontSize, \" \").concat(fontFamily);\n this._layoutTextLastFontSize = fontSize;\n this._layoutTextLastFontFamily = fontFamily;\n }\n\n var _this$_layoutTextCtx$ = this._layoutTextCtx.measureText(textDiv.textContent),\n width = _this$_layoutTextCtx$.width;\n\n if (width > 0) {\n textDivProperties.scale = textDivProperties.canvasWidth / width;\n transform = \"scaleX(\".concat(textDivProperties.scale, \")\");\n }\n }\n\n if (textDivProperties.angle !== 0) {\n transform = \"rotate(\".concat(textDivProperties.angle, \"deg) \").concat(transform);\n }\n\n if (transform.length > 0) {\n if (this._enhanceTextSelection) {\n textDivProperties.originalTransform = transform;\n }\n\n textDiv.style.transform = transform;\n }\n\n this._textDivProperties.set(textDiv, textDivProperties);\n\n this._container.appendChild(textDiv);\n },\n _render: function TextLayer_render(timeout) {\n var _this2 = this;\n\n var capability = (0, _util.createPromiseCapability)();\n var styleCache = Object.create(null);\n var canvas = document.createElement('canvas');\n canvas.mozOpaque = true;\n this._layoutTextCtx = canvas.getContext('2d', {\n alpha: false\n });\n\n if (this._textContent) {\n var textItems = this._textContent.items;\n var textStyles = this._textContent.styles;\n\n this._processItems(textItems, textStyles);\n\n capability.resolve();\n } else if (this._textContentStream) {\n var pump = function pump() {\n _this2._reader.read().then(function (_ref2) {\n var value = _ref2.value,\n done = _ref2.done;\n\n if (done) {\n capability.resolve();\n return;\n }\n\n Object.assign(styleCache, value.styles);\n\n _this2._processItems(value.items, styleCache);\n\n pump();\n }, capability.reject);\n };\n\n this._reader = this._textContentStream.getReader();\n pump();\n } else {\n throw new Error('Neither \"textContent\" nor \"textContentStream\"' + ' parameters specified.');\n }\n\n capability.promise.then(function () {\n styleCache = null;\n\n if (!timeout) {\n render(_this2);\n } else {\n _this2._renderTimer = setTimeout(function () {\n render(_this2);\n _this2._renderTimer = null;\n }, timeout);\n }\n }, this._capability.reject);\n },\n expandTextDivs: function TextLayer_expandTextDivs(expandDivs) {\n if (!this._enhanceTextSelection || !this._renderingDone) {\n return;\n }\n\n if (this._bounds !== null) {\n expand(this);\n this._bounds = null;\n }\n\n var NO_PADDING = '0 0 0 0';\n var transformBuf = [],\n paddingBuf = [];\n\n for (var i = 0, ii = this._textDivs.length; i < ii; i++) {\n var div = this._textDivs[i];\n\n var divProps = this._textDivProperties.get(div);\n\n if (divProps.isWhitespace) {\n continue;\n }\n\n if (expandDivs) {\n transformBuf.length = 0;\n paddingBuf.length = 0;\n\n if (divProps.originalTransform) {\n transformBuf.push(divProps.originalTransform);\n }\n\n if (divProps.paddingTop > 0) {\n paddingBuf.push(\"\".concat(divProps.paddingTop, \"px\"));\n transformBuf.push(\"translateY(\".concat(-divProps.paddingTop, \"px)\"));\n } else {\n paddingBuf.push(0);\n }\n\n if (divProps.paddingRight > 0) {\n paddingBuf.push(\"\".concat(divProps.paddingRight / divProps.scale, \"px\"));\n } else {\n paddingBuf.push(0);\n }\n\n if (divProps.paddingBottom > 0) {\n paddingBuf.push(\"\".concat(divProps.paddingBottom, \"px\"));\n } else {\n paddingBuf.push(0);\n }\n\n if (divProps.paddingLeft > 0) {\n paddingBuf.push(\"\".concat(divProps.paddingLeft / divProps.scale, \"px\"));\n transformBuf.push(\"translateX(\".concat(-divProps.paddingLeft / divProps.scale, \"px)\"));\n } else {\n paddingBuf.push(0);\n }\n\n var padding = paddingBuf.join(' ');\n\n if (padding !== NO_PADDING) {\n div.style.padding = padding;\n }\n\n if (transformBuf.length) {\n div.style.transform = transformBuf.join(' ');\n }\n } else {\n div.style.padding = null;\n div.style.transform = divProps.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/* 195 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.AnnotationLayer = void 0;\n\nvar _display_utils = __w_pdfjs_require__(183);\n\nvar _util = __w_pdfjs_require__(1);\n\nfunction _get(target, property, receiver) { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }\n\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar AnnotationElementFactory =\n/*#__PURE__*/\nfunction () {\n function AnnotationElementFactory() {\n _classCallCheck(this, AnnotationElementFactory);\n }\n\n _createClass(AnnotationElementFactory, null, [{\n key: \"create\",\n value: function create(parameters) {\n var subtype = parameters.data.annotationType;\n\n switch (subtype) {\n case _util.AnnotationType.LINK:\n return new LinkAnnotationElement(parameters);\n\n case _util.AnnotationType.TEXT:\n return new TextAnnotationElement(parameters);\n\n case _util.AnnotationType.WIDGET:\n var fieldType = parameters.data.fieldType;\n\n switch (fieldType) {\n case 'Tx':\n return new TextWidgetAnnotationElement(parameters);\n\n case 'Btn':\n if (parameters.data.radioButton) {\n return new RadioButtonWidgetAnnotationElement(parameters);\n } else if (parameters.data.checkBox) {\n return new CheckboxWidgetAnnotationElement(parameters);\n }\n\n return new PushButtonWidgetAnnotationElement(parameters);\n\n case 'Ch':\n return new ChoiceWidgetAnnotationElement(parameters);\n }\n\n return new WidgetAnnotationElement(parameters);\n\n case _util.AnnotationType.POPUP:\n return new PopupAnnotationElement(parameters);\n\n case _util.AnnotationType.FREETEXT:\n return new FreeTextAnnotationElement(parameters);\n\n case _util.AnnotationType.LINE:\n return new LineAnnotationElement(parameters);\n\n case _util.AnnotationType.SQUARE:\n return new SquareAnnotationElement(parameters);\n\n case _util.AnnotationType.CIRCLE:\n return new CircleAnnotationElement(parameters);\n\n case _util.AnnotationType.POLYLINE:\n return new PolylineAnnotationElement(parameters);\n\n case _util.AnnotationType.CARET:\n return new CaretAnnotationElement(parameters);\n\n case _util.AnnotationType.INK:\n return new InkAnnotationElement(parameters);\n\n case _util.AnnotationType.POLYGON:\n return new PolygonAnnotationElement(parameters);\n\n case _util.AnnotationType.HIGHLIGHT:\n return new HighlightAnnotationElement(parameters);\n\n case _util.AnnotationType.UNDERLINE:\n return new UnderlineAnnotationElement(parameters);\n\n case _util.AnnotationType.SQUIGGLY:\n return new SquigglyAnnotationElement(parameters);\n\n case _util.AnnotationType.STRIKEOUT:\n return new StrikeOutAnnotationElement(parameters);\n\n case _util.AnnotationType.STAMP:\n return new StampAnnotationElement(parameters);\n\n case _util.AnnotationType.FILEATTACHMENT:\n return new FileAttachmentAnnotationElement(parameters);\n\n default:\n return new AnnotationElement(parameters);\n }\n }\n }]);\n\n return AnnotationElementFactory;\n}();\n\nvar AnnotationElement =\n/*#__PURE__*/\nfunction () {\n function AnnotationElement(parameters) {\n var isRenderable = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var ignoreBorder = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n _classCallCheck(this, AnnotationElement);\n\n this.isRenderable = isRenderable;\n this.data = parameters.data;\n this.layer = parameters.layer;\n this.page = parameters.page;\n this.viewport = parameters.viewport;\n this.linkService = parameters.linkService;\n this.downloadManager = parameters.downloadManager;\n this.imageResourcesPath = parameters.imageResourcesPath;\n this.renderInteractiveForms = parameters.renderInteractiveForms;\n this.svgFactory = parameters.svgFactory;\n\n if (isRenderable) {\n this.container = this._createContainer(ignoreBorder);\n }\n }\n\n _createClass(AnnotationElement, [{\n key: \"_createContainer\",\n value: function _createContainer() {\n var ignoreBorder = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var data = this.data,\n page = this.page,\n viewport = this.viewport;\n var container = document.createElement('section');\n var width = data.rect[2] - data.rect[0];\n var height = data.rect[3] - data.rect[1];\n container.setAttribute('data-annotation-id', data.id);\n\n var rect = _util.Util.normalizeRect([data.rect[0], page.view[3] - data.rect[1] + page.view[1], data.rect[2], page.view[3] - data.rect[3] + page.view[1]]);\n\n container.style.transform = \"matrix(\".concat(viewport.transform.join(','), \")\");\n container.style.transformOrigin = \"-\".concat(rect[0], \"px -\").concat(rect[1], \"px\");\n\n if (!ignoreBorder && data.borderStyle.width > 0) {\n container.style.borderWidth = \"\".concat(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 = \"\".concat(horizontalRadius, \"px / \").concat(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 = \"\".concat(rect[0], \"px\");\n container.style.top = \"\".concat(rect[1], \"px\");\n container.style.width = \"\".concat(width, \"px\");\n container.style.height = \"\".concat(height, \"px\");\n return container;\n }\n }, {\n key: \"_createPopup\",\n value: function _createPopup(container, trigger, data) {\n if (!trigger) {\n trigger = document.createElement('div');\n trigger.style.height = container.style.height;\n trigger.style.width = container.style.width;\n container.appendChild(trigger);\n }\n\n var popupElement = new PopupElement({\n container: container,\n trigger: trigger,\n color: data.color,\n title: data.title,\n modificationDate: data.modificationDate,\n contents: data.contents,\n hideWrapper: true\n });\n var popup = popupElement.render();\n popup.style.left = container.style.width;\n container.appendChild(popup);\n }\n }, {\n key: \"render\",\n value: function render() {\n (0, _util.unreachable)('Abstract method `AnnotationElement.render` called');\n }\n }]);\n\n return AnnotationElement;\n}();\n\nvar LinkAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement) {\n _inherits(LinkAnnotationElement, _AnnotationElement);\n\n function LinkAnnotationElement(parameters) {\n _classCallCheck(this, LinkAnnotationElement);\n\n var isRenderable = !!(parameters.data.url || parameters.data.dest || parameters.data.action);\n return _possibleConstructorReturn(this, _getPrototypeOf(LinkAnnotationElement).call(this, parameters, isRenderable));\n }\n\n _createClass(LinkAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = 'linkAnnotation';\n var data = this.data,\n linkService = this.linkService;\n var link = document.createElement('a');\n\n if (data.url) {\n (0, _display_utils.addLinkAttributes)(link, {\n url: data.url,\n target: data.newWindow ? _display_utils.LinkTarget.BLANK : linkService.externalLinkTarget,\n rel: linkService.externalLinkRel,\n enabled: linkService.externalLinkEnabled\n });\n } else if (data.action) {\n this._bindNamedAction(link, data.action);\n } else {\n this._bindLink(link, data.dest);\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(\".concat(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 = \"\".concat(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 ? \"\\\"\".concat(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 var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = this.data.options[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var option = _step.value;\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 } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator[\"return\"] != null) {\n _iterator[\"return\"]();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n this.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=\\\"\".concat(this.data.parentId, \"\\\"]\");\n var parentElement = this.layer.querySelector(selector);\n\n if (!parentElement) {\n return this.container;\n }\n\n var popup = new PopupElement({\n container: this.container,\n trigger: parentElement,\n color: this.data.color,\n title: this.data.title,\n modificationDate: this.data.modificationDate,\n contents: this.data.contents\n });\n var parentLeft = parseFloat(parentElement.style.left);\n var parentWidth = parseFloat(parentElement.style.width);\n this.container.style.transformOrigin = \"-\".concat(parentLeft + parentWidth, \"px -\").concat(parentElement.style.top);\n this.container.style.left = \"\".concat(parentLeft + parentWidth, \"px\");\n this.container.appendChild(popup.render());\n return this.container;\n }\n }]);\n\n return PopupAnnotationElement;\n}(AnnotationElement);\n\nvar PopupElement =\n/*#__PURE__*/\nfunction () {\n function PopupElement(parameters) {\n _classCallCheck(this, PopupElement);\n\n this.container = parameters.container;\n this.trigger = parameters.trigger;\n this.color = parameters.color;\n this.title = parameters.title;\n this.modificationDate = parameters.modificationDate;\n this.contents = parameters.contents;\n this.hideWrapper = parameters.hideWrapper || false;\n this.pinned = false;\n }\n\n _createClass(PopupElement, [{\n key: \"render\",\n value: function render() {\n var BACKGROUND_ENLIGHT = 0.7;\n var wrapper = document.createElement('div');\n wrapper.className = 'popupWrapper';\n this.hideElement = this.hideWrapper ? wrapper : this.container;\n this.hideElement.setAttribute('hidden', true);\n var popup = document.createElement('div');\n popup.className = 'popup';\n var color = this.color;\n\n if (color) {\n var r = BACKGROUND_ENLIGHT * (255 - color[0]) + color[0];\n var g = BACKGROUND_ENLIGHT * (255 - color[1]) + color[1];\n var b = BACKGROUND_ENLIGHT * (255 - color[2]) + color[2];\n popup.style.backgroundColor = _util.Util.makeCssRgb(r | 0, g | 0, b | 0);\n }\n\n var title = document.createElement('h1');\n title.textContent = this.title;\n popup.appendChild(title);\n\n var dateObject = _display_utils.PDFDateString.toDateObject(this.modificationDate);\n\n if (dateObject) {\n var modificationDate = document.createElement('span');\n modificationDate.textContent = '{{date}}, {{time}}';\n modificationDate.dataset.l10nId = 'annotation_date_string';\n modificationDate.dataset.l10nArgs = JSON.stringify({\n date: dateObject.toLocaleDateString(),\n time: dateObject.toLocaleTimeString()\n });\n popup.appendChild(modificationDate);\n }\n\n var contents = this._formatContents(this.contents);\n\n popup.appendChild(contents);\n this.trigger.addEventListener('click', this._toggle.bind(this));\n this.trigger.addEventListener('mouseover', this._show.bind(this, false));\n this.trigger.addEventListener('mouseout', this._hide.bind(this, false));\n popup.addEventListener('click', this._hide.bind(this, true));\n wrapper.appendChild(popup);\n return wrapper;\n }\n }, {\n key: \"_formatContents\",\n value: function _formatContents(contents) {\n var p = document.createElement('p');\n var lines = contents.split(/(?:\\r\\n?|\\n)/);\n\n for (var i = 0, ii = lines.length; i < ii; ++i) {\n var line = lines[i];\n p.appendChild(document.createTextNode(line));\n\n if (i < ii - 1) {\n p.appendChild(document.createElement('br'));\n }\n }\n\n return p;\n }\n }, {\n key: \"_toggle\",\n value: function _toggle() {\n if (this.pinned) {\n this._hide(true);\n } else {\n this._show(true);\n }\n }\n }, {\n key: \"_show\",\n value: function _show() {\n var pin = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (pin) {\n this.pinned = true;\n }\n\n if (this.hideElement.hasAttribute('hidden')) {\n this.hideElement.removeAttribute('hidden');\n this.container.style.zIndex += 1;\n }\n }\n }, {\n key: \"_hide\",\n value: function _hide() {\n var unpin = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n if (unpin) {\n this.pinned = false;\n }\n\n if (!this.hideElement.hasAttribute('hidden') && !this.pinned) {\n this.hideElement.setAttribute('hidden', true);\n this.container.style.zIndex -= 1;\n }\n }\n }]);\n\n return PopupElement;\n}();\n\nvar FreeTextAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement5) {\n _inherits(FreeTextAnnotationElement, _AnnotationElement5);\n\n function FreeTextAnnotationElement(parameters) {\n _classCallCheck(this, FreeTextAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _possibleConstructorReturn(this, _getPrototypeOf(FreeTextAnnotationElement).call(this, parameters, isRenderable, true));\n }\n\n _createClass(FreeTextAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = 'freeTextAnnotation';\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return FreeTextAnnotationElement;\n}(AnnotationElement);\n\nvar LineAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement6) {\n _inherits(LineAnnotationElement, _AnnotationElement6);\n\n function LineAnnotationElement(parameters) {\n _classCallCheck(this, LineAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _possibleConstructorReturn(this, _getPrototypeOf(LineAnnotationElement).call(this, parameters, isRenderable, true));\n }\n\n _createClass(LineAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = 'lineAnnotation';\n var data = this.data;\n var width = data.rect[2] - data.rect[0];\n var height = data.rect[3] - data.rect[1];\n var svg = this.svgFactory.create(width, height);\n var line = this.svgFactory.createElement('svg:line');\n line.setAttribute('x1', data.rect[2] - data.lineCoordinates[0]);\n line.setAttribute('y1', data.rect[3] - data.lineCoordinates[1]);\n line.setAttribute('x2', data.rect[2] - data.lineCoordinates[2]);\n line.setAttribute('y2', data.rect[3] - data.lineCoordinates[3]);\n line.setAttribute('stroke-width', data.borderStyle.width);\n line.setAttribute('stroke', 'transparent');\n svg.appendChild(line);\n this.container.append(svg);\n\n this._createPopup(this.container, line, data);\n\n return this.container;\n }\n }]);\n\n return LineAnnotationElement;\n}(AnnotationElement);\n\nvar SquareAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement7) {\n _inherits(SquareAnnotationElement, _AnnotationElement7);\n\n function SquareAnnotationElement(parameters) {\n _classCallCheck(this, SquareAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _possibleConstructorReturn(this, _getPrototypeOf(SquareAnnotationElement).call(this, parameters, isRenderable, true));\n }\n\n _createClass(SquareAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = 'squareAnnotation';\n var data = this.data;\n var width = data.rect[2] - data.rect[0];\n var height = data.rect[3] - data.rect[1];\n var svg = this.svgFactory.create(width, height);\n var borderWidth = data.borderStyle.width;\n var square = this.svgFactory.createElement('svg:rect');\n square.setAttribute('x', borderWidth / 2);\n square.setAttribute('y', borderWidth / 2);\n square.setAttribute('width', width - borderWidth);\n square.setAttribute('height', height - borderWidth);\n square.setAttribute('stroke-width', borderWidth);\n square.setAttribute('stroke', 'transparent');\n square.setAttribute('fill', 'none');\n svg.appendChild(square);\n this.container.append(svg);\n\n this._createPopup(this.container, square, data);\n\n return this.container;\n }\n }]);\n\n return SquareAnnotationElement;\n}(AnnotationElement);\n\nvar CircleAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement8) {\n _inherits(CircleAnnotationElement, _AnnotationElement8);\n\n function CircleAnnotationElement(parameters) {\n _classCallCheck(this, CircleAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _possibleConstructorReturn(this, _getPrototypeOf(CircleAnnotationElement).call(this, parameters, isRenderable, true));\n }\n\n _createClass(CircleAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = 'circleAnnotation';\n var data = this.data;\n var width = data.rect[2] - data.rect[0];\n var height = data.rect[3] - data.rect[1];\n var svg = this.svgFactory.create(width, height);\n var borderWidth = data.borderStyle.width;\n var circle = this.svgFactory.createElement('svg:ellipse');\n circle.setAttribute('cx', width / 2);\n circle.setAttribute('cy', height / 2);\n circle.setAttribute('rx', width / 2 - borderWidth / 2);\n circle.setAttribute('ry', height / 2 - borderWidth / 2);\n circle.setAttribute('stroke-width', borderWidth);\n circle.setAttribute('stroke', 'transparent');\n circle.setAttribute('fill', 'none');\n svg.appendChild(circle);\n this.container.append(svg);\n\n this._createPopup(this.container, circle, data);\n\n return this.container;\n }\n }]);\n\n return CircleAnnotationElement;\n}(AnnotationElement);\n\nvar PolylineAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement9) {\n _inherits(PolylineAnnotationElement, _AnnotationElement9);\n\n function PolylineAnnotationElement(parameters) {\n var _this3;\n\n _classCallCheck(this, PolylineAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n _this3 = _possibleConstructorReturn(this, _getPrototypeOf(PolylineAnnotationElement).call(this, parameters, isRenderable, true));\n _this3.containerClassName = 'polylineAnnotation';\n _this3.svgElementName = 'svg:polyline';\n return _this3;\n }\n\n _createClass(PolylineAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = this.containerClassName;\n var data = this.data;\n var width = data.rect[2] - data.rect[0];\n var height = data.rect[3] - data.rect[1];\n var svg = this.svgFactory.create(width, height);\n var points = [];\n var _iteratorNormalCompletion2 = true;\n var _didIteratorError2 = false;\n var _iteratorError2 = undefined;\n\n try {\n for (var _iterator2 = data.vertices[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var coordinate = _step2.value;\n var x = coordinate.x - data.rect[0];\n var y = data.rect[3] - coordinate.y;\n points.push(x + ',' + y);\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 points = points.join(' ');\n var polyline = this.svgFactory.createElement(this.svgElementName);\n polyline.setAttribute('points', points);\n polyline.setAttribute('stroke-width', data.borderStyle.width);\n polyline.setAttribute('stroke', 'transparent');\n polyline.setAttribute('fill', 'none');\n svg.appendChild(polyline);\n this.container.append(svg);\n\n this._createPopup(this.container, polyline, data);\n\n return this.container;\n }\n }]);\n\n return PolylineAnnotationElement;\n}(AnnotationElement);\n\nvar PolygonAnnotationElement =\n/*#__PURE__*/\nfunction (_PolylineAnnotationEl) {\n _inherits(PolygonAnnotationElement, _PolylineAnnotationEl);\n\n function PolygonAnnotationElement(parameters) {\n var _this4;\n\n _classCallCheck(this, PolygonAnnotationElement);\n\n _this4 = _possibleConstructorReturn(this, _getPrototypeOf(PolygonAnnotationElement).call(this, parameters));\n _this4.containerClassName = 'polygonAnnotation';\n _this4.svgElementName = 'svg:polygon';\n return _this4;\n }\n\n return PolygonAnnotationElement;\n}(PolylineAnnotationElement);\n\nvar CaretAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement10) {\n _inherits(CaretAnnotationElement, _AnnotationElement10);\n\n function CaretAnnotationElement(parameters) {\n _classCallCheck(this, CaretAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _possibleConstructorReturn(this, _getPrototypeOf(CaretAnnotationElement).call(this, parameters, isRenderable, true));\n }\n\n _createClass(CaretAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = 'caretAnnotation';\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return CaretAnnotationElement;\n}(AnnotationElement);\n\nvar InkAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement11) {\n _inherits(InkAnnotationElement, _AnnotationElement11);\n\n function InkAnnotationElement(parameters) {\n var _this5;\n\n _classCallCheck(this, InkAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n _this5 = _possibleConstructorReturn(this, _getPrototypeOf(InkAnnotationElement).call(this, parameters, isRenderable, true));\n _this5.containerClassName = 'inkAnnotation';\n _this5.svgElementName = 'svg:polyline';\n return _this5;\n }\n\n _createClass(InkAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = this.containerClassName;\n var data = this.data;\n var width = data.rect[2] - data.rect[0];\n var height = data.rect[3] - data.rect[1];\n var svg = this.svgFactory.create(width, height);\n var _iteratorNormalCompletion3 = true;\n var _didIteratorError3 = false;\n var _iteratorError3 = undefined;\n\n try {\n for (var _iterator3 = data.inkLists[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {\n var inkList = _step3.value;\n var points = [];\n var _iteratorNormalCompletion4 = true;\n var _didIteratorError4 = false;\n var _iteratorError4 = undefined;\n\n try {\n for (var _iterator4 = inkList[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {\n var coordinate = _step4.value;\n var x = coordinate.x - data.rect[0];\n var y = data.rect[3] - coordinate.y;\n points.push(\"\".concat(x, \",\").concat(y));\n }\n } catch (err) {\n _didIteratorError4 = true;\n _iteratorError4 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion4 && _iterator4[\"return\"] != null) {\n _iterator4[\"return\"]();\n }\n } finally {\n if (_didIteratorError4) {\n throw _iteratorError4;\n }\n }\n }\n\n points = points.join(' ');\n var polyline = this.svgFactory.createElement(this.svgElementName);\n polyline.setAttribute('points', points);\n polyline.setAttribute('stroke-width', data.borderStyle.width);\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 } 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 this.container.append(svg);\n return this.container;\n }\n }]);\n\n return InkAnnotationElement;\n}(AnnotationElement);\n\nvar HighlightAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement12) {\n _inherits(HighlightAnnotationElement, _AnnotationElement12);\n\n function HighlightAnnotationElement(parameters) {\n _classCallCheck(this, HighlightAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _possibleConstructorReturn(this, _getPrototypeOf(HighlightAnnotationElement).call(this, parameters, isRenderable, true));\n }\n\n _createClass(HighlightAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = 'highlightAnnotation';\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return HighlightAnnotationElement;\n}(AnnotationElement);\n\nvar UnderlineAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement13) {\n _inherits(UnderlineAnnotationElement, _AnnotationElement13);\n\n function UnderlineAnnotationElement(parameters) {\n _classCallCheck(this, UnderlineAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _possibleConstructorReturn(this, _getPrototypeOf(UnderlineAnnotationElement).call(this, parameters, isRenderable, true));\n }\n\n _createClass(UnderlineAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = 'underlineAnnotation';\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return UnderlineAnnotationElement;\n}(AnnotationElement);\n\nvar SquigglyAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement14) {\n _inherits(SquigglyAnnotationElement, _AnnotationElement14);\n\n function SquigglyAnnotationElement(parameters) {\n _classCallCheck(this, SquigglyAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _possibleConstructorReturn(this, _getPrototypeOf(SquigglyAnnotationElement).call(this, parameters, isRenderable, true));\n }\n\n _createClass(SquigglyAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = 'squigglyAnnotation';\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return SquigglyAnnotationElement;\n}(AnnotationElement);\n\nvar StrikeOutAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement15) {\n _inherits(StrikeOutAnnotationElement, _AnnotationElement15);\n\n function StrikeOutAnnotationElement(parameters) {\n _classCallCheck(this, StrikeOutAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _possibleConstructorReturn(this, _getPrototypeOf(StrikeOutAnnotationElement).call(this, parameters, isRenderable, true));\n }\n\n _createClass(StrikeOutAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = 'strikeoutAnnotation';\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return StrikeOutAnnotationElement;\n}(AnnotationElement);\n\nvar StampAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement16) {\n _inherits(StampAnnotationElement, _AnnotationElement16);\n\n function StampAnnotationElement(parameters) {\n _classCallCheck(this, StampAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _possibleConstructorReturn(this, _getPrototypeOf(StampAnnotationElement).call(this, parameters, isRenderable, true));\n }\n\n _createClass(StampAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = 'stampAnnotation';\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return StampAnnotationElement;\n}(AnnotationElement);\n\nvar FileAttachmentAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement17) {\n _inherits(FileAttachmentAnnotationElement, _AnnotationElement17);\n\n function FileAttachmentAnnotationElement(parameters) {\n var _this6;\n\n _classCallCheck(this, FileAttachmentAnnotationElement);\n\n _this6 = _possibleConstructorReturn(this, _getPrototypeOf(FileAttachmentAnnotationElement).call(this, parameters, true));\n var _this6$data$file = _this6.data.file,\n filename = _this6$data$file.filename,\n content = _this6$data$file.content;\n _this6.filename = (0, _display_utils.getFilenameFromUrl)(filename);\n _this6.content = content;\n\n if (_this6.linkService.eventBus) {\n _this6.linkService.eventBus.dispatch('fileattachmentannotation', {\n source: _assertThisInitialized(_this6),\n id: (0, _util.stringToPDFString)(filename),\n filename: filename,\n content: content\n });\n }\n\n return _this6;\n }\n\n _createClass(FileAttachmentAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = 'fileAttachmentAnnotation';\n var trigger = document.createElement('div');\n trigger.style.height = this.container.style.height;\n trigger.style.width = this.container.style.width;\n trigger.addEventListener('dblclick', this._download.bind(this));\n\n if (!this.data.hasPopup && (this.data.title || this.data.contents)) {\n this._createPopup(this.container, trigger, this.data);\n }\n\n this.container.appendChild(trigger);\n return this.container;\n }\n }, {\n key: \"_download\",\n value: function _download() {\n if (!this.downloadManager) {\n (0, _util.warn)('Download cannot be started due to unavailable download manager');\n return;\n }\n\n this.downloadManager.downloadData(this.content, this.filename, '');\n }\n }]);\n\n return FileAttachmentAnnotationElement;\n}(AnnotationElement);\n\nvar AnnotationLayer =\n/*#__PURE__*/\nfunction () {\n function AnnotationLayer() {\n _classCallCheck(this, AnnotationLayer);\n }\n\n _createClass(AnnotationLayer, null, [{\n key: \"render\",\n value: function render(parameters) {\n var _iteratorNormalCompletion5 = true;\n var _didIteratorError5 = false;\n var _iteratorError5 = undefined;\n\n try {\n for (var _iterator5 = parameters.annotations[Symbol.iterator](), _step5; !(_iteratorNormalCompletion5 = (_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = true) {\n var data = _step5.value;\n\n if (!data) {\n continue;\n }\n\n var element = AnnotationElementFactory.create({\n data: data,\n layer: parameters.div,\n page: parameters.page,\n viewport: parameters.viewport,\n linkService: parameters.linkService,\n downloadManager: parameters.downloadManager,\n imageResourcesPath: parameters.imageResourcesPath || '',\n renderInteractiveForms: parameters.renderInteractiveForms || false,\n svgFactory: new _display_utils.DOMSVGFactory()\n });\n\n if (element.isRenderable) {\n parameters.div.appendChild(element.render());\n }\n }\n } catch (err) {\n _didIteratorError5 = true;\n _iteratorError5 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion5 && _iterator5[\"return\"] != null) {\n _iterator5[\"return\"]();\n }\n } finally {\n if (_didIteratorError5) {\n throw _iteratorError5;\n }\n }\n }\n }\n }, {\n key: \"update\",\n value: function update(parameters) {\n var _iteratorNormalCompletion6 = true;\n var _didIteratorError6 = false;\n var _iteratorError6 = undefined;\n\n try {\n for (var _iterator6 = parameters.annotations[Symbol.iterator](), _step6; !(_iteratorNormalCompletion6 = (_step6 = _iterator6.next()).done); _iteratorNormalCompletion6 = true) {\n var data = _step6.value;\n var element = parameters.div.querySelector(\"[data-annotation-id=\\\"\".concat(data.id, \"\\\"]\"));\n\n if (element) {\n element.style.transform = \"matrix(\".concat(parameters.viewport.transform.join(','), \")\");\n }\n }\n } catch (err) {\n _didIteratorError6 = true;\n _iteratorError6 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion6 && _iterator6[\"return\"] != null) {\n _iterator6[\"return\"]();\n }\n } finally {\n if (_didIteratorError6) {\n throw _iteratorError6;\n }\n }\n }\n\n parameters.div.removeAttribute('hidden');\n }\n }]);\n\n return AnnotationLayer;\n}();\n\nexports.AnnotationLayer = AnnotationLayer;\n\n/***/ }),\n/* 196 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SVGGraphics = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _display_utils = __w_pdfjs_require__(183);\n\nvar _is_node = _interopRequireDefault(__w_pdfjs_require__(4));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance\"); }\n\nfunction _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar SVGGraphics = function SVGGraphics() {\n throw new Error('Not implemented: SVGGraphics');\n};\n\nexports.SVGGraphics = SVGGraphics;\n{\n var opListToTree = function opListToTree(opList) {\n var opTree = [];\n var tmp = [];\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = opList[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var opListElement = _step.value;\n\n if (opListElement.fn === 'save') {\n opTree.push({\n 'fnId': 92,\n 'fn': 'group',\n 'items': []\n });\n tmp.push(opTree);\n opTree = opTree[opTree.length - 1].items;\n continue;\n }\n\n if (opListElement.fn === 'restore') {\n opTree = tmp.pop();\n } else {\n opTree.push(opListElement);\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator[\"return\"] != null) {\n _iterator[\"return\"]();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n return opTree;\n };\n\n var pf = function pf(value) {\n if (Number.isInteger(value)) {\n return value.toString();\n }\n\n var s = value.toFixed(10);\n var i = s.length - 1;\n\n if (s[i] !== '0') {\n return s;\n }\n\n do {\n i--;\n } while (s[i] === '0');\n\n return s.substring(0, s[i] === '.' ? i : i + 1);\n };\n\n var pm = function pm(m) {\n if (m[4] === 0 && m[5] === 0) {\n if (m[1] === 0 && m[2] === 0) {\n if (m[0] === 1 && m[3] === 1) {\n return '';\n }\n\n return \"scale(\".concat(pf(m[0]), \" \").concat(pf(m[3]), \")\");\n }\n\n if (m[0] === m[3] && m[1] === -m[2]) {\n var a = Math.acos(m[0]) * 180 / Math.PI;\n return \"rotate(\".concat(pf(a), \")\");\n }\n } else {\n if (m[0] === 1 && m[1] === 0 && m[2] === 0 && m[3] === 1) {\n return \"translate(\".concat(pf(m[4]), \" \").concat(pf(m[5]), \")\");\n }\n }\n\n return \"matrix(\".concat(pf(m[0]), \" \").concat(pf(m[1]), \" \").concat(pf(m[2]), \" \").concat(pf(m[3]), \" \").concat(pf(m[4]), \" \") + \"\".concat(pf(m[5]), \")\");\n };\n\n var SVG_DEFAULTS = {\n fontStyle: 'normal',\n fontWeight: 'normal',\n fillColor: '#000000'\n };\n var XML_NS = 'http://www.w3.org/XML/1998/namespace';\n var XLINK_NS = 'http://www.w3.org/1999/xlink';\n var LINE_CAP_STYLES = ['butt', 'round', 'square'];\n var LINE_JOIN_STYLES = ['miter', 'round', 'bevel'];\n\n var convertImgDataToPng = function () {\n var PNG_HEADER = new Uint8Array([0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a]);\n var CHUNK_WRAPPER_SIZE = 12;\n var crcTable = new Int32Array(256);\n\n for (var i = 0; i < 256; i++) {\n var c = i;\n\n for (var h = 0; h < 8; h++) {\n if (c & 1) {\n c = 0xedB88320 ^ c >> 1 & 0x7fffffff;\n } else {\n c = c >> 1 & 0x7fffffff;\n }\n }\n\n crcTable[i] = c;\n }\n\n function crc32(data, start, end) {\n var crc = -1;\n\n for (var _i = start; _i < end; _i++) {\n var a = (crc ^ data[_i]) & 0xff;\n var b = crcTable[a];\n crc = crc >>> 8 ^ b;\n }\n\n return crc ^ -1;\n }\n\n function writePngChunk(type, body, data, offset) {\n var p = offset;\n var len = body.length;\n data[p] = len >> 24 & 0xff;\n data[p + 1] = len >> 16 & 0xff;\n data[p + 2] = len >> 8 & 0xff;\n data[p + 3] = len & 0xff;\n p += 4;\n data[p] = type.charCodeAt(0) & 0xff;\n data[p + 1] = type.charCodeAt(1) & 0xff;\n data[p + 2] = type.charCodeAt(2) & 0xff;\n data[p + 3] = type.charCodeAt(3) & 0xff;\n p += 4;\n data.set(body, p);\n p += body.length;\n var crc = crc32(data, offset + 4, p);\n data[p] = crc >> 24 & 0xff;\n data[p + 1] = crc >> 16 & 0xff;\n data[p + 2] = crc >> 8 & 0xff;\n data[p + 3] = crc & 0xff;\n }\n\n function adler32(data, start, end) {\n var a = 1;\n var b = 0;\n\n for (var _i2 = start; _i2 < end; ++_i2) {\n a = (a + (data[_i2] & 0xff)) % 65521;\n b = (b + a) % 65521;\n }\n\n return b << 16 | a;\n }\n\n function deflateSync(literals) {\n if (!(0, _is_node[\"default\"])()) {\n return deflateSyncUncompressed(literals);\n }\n\n try {\n var input;\n\n if (parseInt(process.versions.node) >= 8) {\n input = literals;\n } else {\n input = new Buffer(literals);\n }\n\n var output = 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\n for (var y = 0; y < height; ++y) {\n literals[offsetLiterals++] = 0;\n literals.set(bytes.subarray(offsetBytes, offsetBytes + lineSize), offsetLiterals);\n offsetBytes += lineSize;\n offsetLiterals += lineSize;\n }\n\n if (kind === _util.ImageKind.GRAYSCALE_1BPP && isMask) {\n offsetLiterals = 0;\n\n for (var _y = 0; _y < height; _y++) {\n offsetLiterals++;\n\n for (var _i3 = 0; _i3 < lineSize; _i3++) {\n literals[offsetLiterals++] ^= 0xFF;\n }\n }\n }\n\n var ihdr = new Uint8Array([width >> 24 & 0xff, width >> 16 & 0xff, width >> 8 & 0xff, width & 0xff, height >> 24 & 0xff, height >> 16 & 0xff, height >> 8 & 0xff, height & 0xff, bitDepth, colorType, 0x00, 0x00, 0x00]);\n var idat = deflateSync(literals);\n var pngLength = PNG_HEADER.length + CHUNK_WRAPPER_SIZE * 3 + ihdr.length + idat.length;\n var data = new Uint8Array(pngLength);\n var offset = 0;\n data.set(PNG_HEADER, offset);\n offset += PNG_HEADER.length;\n writePngChunk('IHDR', ihdr, data, offset);\n offset += CHUNK_WRAPPER_SIZE + ihdr.length;\n writePngChunk('IDATA', idat, data, offset);\n offset += CHUNK_WRAPPER_SIZE + idat.length;\n writePngChunk('IEND', new Uint8Array(0), data, offset);\n return (0, _util.createObjectURL)(data, 'image/png', forceDataSchema);\n }\n\n return function convertImgDataToPng(imgData, forceDataSchema, isMask) {\n var kind = imgData.kind === undefined ? _util.ImageKind.GRAYSCALE_1BPP : imgData.kind;\n return encode(imgData, kind, forceDataSchema, isMask);\n };\n }();\n\n var SVGExtraState =\n /*#__PURE__*/\n function () {\n function SVGExtraState() {\n _classCallCheck(this, SVGExtraState);\n\n this.fontSizeScale = 1;\n this.fontWeight = SVG_DEFAULTS.fontWeight;\n this.fontSize = 0;\n this.textMatrix = _util.IDENTITY_MATRIX;\n this.fontMatrix = _util.FONT_IDENTITY_MATRIX;\n this.leading = 0;\n this.textRenderingMode = _util.TextRenderingMode.FILL;\n this.textMatrixScale = 1;\n this.x = 0;\n this.y = 0;\n this.lineX = 0;\n this.lineY = 0;\n this.charSpacing = 0;\n this.wordSpacing = 0;\n this.textHScale = 1;\n this.textRise = 0;\n this.fillColor = SVG_DEFAULTS.fillColor;\n this.strokeColor = '#000000';\n this.fillAlpha = 1;\n this.strokeAlpha = 1;\n this.lineWidth = 1;\n this.lineJoin = '';\n this.lineCap = '';\n this.miterLimit = 0;\n this.dashArray = [];\n this.dashPhase = 0;\n this.dependencies = [];\n this.activeClipUrl = null;\n this.clipGroup = null;\n this.maskId = '';\n }\n\n _createClass(SVGExtraState, [{\n key: \"clone\",\n value: function clone() {\n return Object.create(this);\n }\n }, {\n key: \"setCurrentPoint\",\n value: function setCurrentPoint(x, y) {\n this.x = x;\n this.y = y;\n }\n }]);\n\n return SVGExtraState;\n }();\n\n var clipCount = 0;\n var maskCount = 0;\n var shadingCount = 0;\n\n exports.SVGGraphics = SVGGraphics =\n /*#__PURE__*/\n function () {\n function SVGGraphics(commonObjs, objs, forceDataSchema) {\n _classCallCheck(this, SVGGraphics);\n\n this.svgFactory = new _display_utils.DOMSVGFactory();\n this.current = new SVGExtraState();\n this.transformMatrix = _util.IDENTITY_MATRIX;\n this.transformStack = [];\n this.extraStack = [];\n this.commonObjs = commonObjs;\n this.objs = objs;\n this.pendingClip = null;\n this.pendingEOFill = false;\n this.embedFonts = false;\n this.embeddedFonts = Object.create(null);\n this.cssStyle = null;\n this.forceDataSchema = !!forceDataSchema;\n this._operatorIdMapping = [];\n\n for (var op in _util.OPS) {\n this._operatorIdMapping[_util.OPS[op]] = op;\n }\n }\n\n _createClass(SVGGraphics, [{\n key: \"save\",\n value: function save() {\n this.transformStack.push(this.transformMatrix);\n var old = this.current;\n this.extraStack.push(old);\n this.current = old.clone();\n }\n }, {\n key: \"restore\",\n value: function restore() {\n this.transformMatrix = this.transformStack.pop();\n this.current = this.extraStack.pop();\n this.pendingClip = null;\n this.tgrp = null;\n }\n }, {\n key: \"group\",\n value: function group(items) {\n this.save();\n this.executeOpTree(items);\n this.restore();\n }\n }, {\n key: \"loadDependencies\",\n value: function loadDependencies(operatorList) {\n var _this = this;\n\n var fnArray = operatorList.fnArray;\n var argsArray = operatorList.argsArray;\n\n for (var i = 0, ii = fnArray.length; i < ii; i++) {\n if (fnArray[i] !== _util.OPS.dependency) {\n continue;\n }\n\n var _iteratorNormalCompletion2 = true;\n var _didIteratorError2 = false;\n var _iteratorError2 = undefined;\n\n try {\n var _loop = function _loop() {\n var obj = _step2.value;\n var objsPool = obj.startsWith('g_') ? _this.commonObjs : _this.objs;\n var promise = new Promise(function (resolve) {\n objsPool.get(obj, resolve);\n });\n\n _this.current.dependencies.push(promise);\n };\n\n for (var _iterator2 = argsArray[i][Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n _loop();\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2[\"return\"] != null) {\n _iterator2[\"return\"]();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n }\n\n return Promise.all(this.current.dependencies);\n }\n }, {\n key: \"transform\",\n value: function transform(a, b, c, d, e, f) {\n var transformMatrix = [a, b, c, d, e, f];\n this.transformMatrix = _util.Util.transform(this.transformMatrix, transformMatrix);\n this.tgrp = null;\n }\n }, {\n key: \"getSVG\",\n value: function getSVG(operatorList, viewport) {\n var _this2 = this;\n\n this.viewport = viewport;\n\n var svgElement = this._initialize(viewport);\n\n return this.loadDependencies(operatorList).then(function () {\n _this2.transformMatrix = _util.IDENTITY_MATRIX;\n\n _this2.executeOpTree(_this2.convertOpList(operatorList));\n\n return svgElement;\n });\n }\n }, {\n key: \"convertOpList\",\n value: function convertOpList(operatorList) {\n var operatorIdMapping = this._operatorIdMapping;\n var argsArray = operatorList.argsArray;\n var fnArray = operatorList.fnArray;\n var opList = [];\n\n for (var i = 0, ii = fnArray.length; i < ii; i++) {\n var fnId = fnArray[i];\n opList.push({\n 'fnId': fnId,\n 'fn': operatorIdMapping[fnId],\n 'args': argsArray[i]\n });\n }\n\n return opListToTree(opList);\n }\n }, {\n key: \"executeOpTree\",\n value: function executeOpTree(opTree) {\n var _iteratorNormalCompletion3 = true;\n var _didIteratorError3 = false;\n var _iteratorError3 = undefined;\n\n try {\n for (var _iterator3 = opTree[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {\n var opTreeElement = _step3.value;\n var fn = opTreeElement.fn;\n var fnId = opTreeElement.fnId;\n var args = opTreeElement.args;\n\n switch (fnId | 0) {\n case _util.OPS.beginText:\n this.beginText();\n break;\n\n case _util.OPS.dependency:\n break;\n\n case _util.OPS.setLeading:\n this.setLeading(args);\n break;\n\n case _util.OPS.setLeadingMoveText:\n this.setLeadingMoveText(args[0], args[1]);\n break;\n\n case _util.OPS.setFont:\n this.setFont(args);\n break;\n\n case _util.OPS.showText:\n this.showText(args[0]);\n break;\n\n case _util.OPS.showSpacedText:\n this.showText(args[0]);\n break;\n\n case _util.OPS.endText:\n this.endText();\n break;\n\n case _util.OPS.moveText:\n this.moveText(args[0], args[1]);\n break;\n\n case _util.OPS.setCharSpacing:\n this.setCharSpacing(args[0]);\n break;\n\n case _util.OPS.setWordSpacing:\n this.setWordSpacing(args[0]);\n break;\n\n case _util.OPS.setHScale:\n this.setHScale(args[0]);\n break;\n\n case _util.OPS.setTextMatrix:\n this.setTextMatrix(args[0], args[1], args[2], args[3], args[4], args[5]);\n break;\n\n case _util.OPS.setTextRise:\n this.setTextRise(args[0]);\n break;\n\n case _util.OPS.setTextRenderingMode:\n this.setTextRenderingMode(args[0]);\n break;\n\n case _util.OPS.setLineWidth:\n this.setLineWidth(args[0]);\n break;\n\n case _util.OPS.setLineJoin:\n this.setLineJoin(args[0]);\n break;\n\n case _util.OPS.setLineCap:\n this.setLineCap(args[0]);\n break;\n\n case _util.OPS.setMiterLimit:\n this.setMiterLimit(args[0]);\n break;\n\n case _util.OPS.setFillRGBColor:\n this.setFillRGBColor(args[0], args[1], args[2]);\n break;\n\n case _util.OPS.setStrokeRGBColor:\n this.setStrokeRGBColor(args[0], args[1], args[2]);\n break;\n\n case _util.OPS.setStrokeColorN:\n this.setStrokeColorN(args);\n break;\n\n case _util.OPS.setFillColorN:\n this.setFillColorN(args);\n break;\n\n case _util.OPS.shadingFill:\n this.shadingFill(args[0]);\n break;\n\n case _util.OPS.setDash:\n this.setDash(args[0], args[1]);\n break;\n\n case _util.OPS.setRenderingIntent:\n this.setRenderingIntent(args[0]);\n break;\n\n case _util.OPS.setFlatness:\n this.setFlatness(args[0]);\n break;\n\n case _util.OPS.setGState:\n this.setGState(args[0]);\n break;\n\n case _util.OPS.fill:\n this.fill();\n break;\n\n case _util.OPS.eoFill:\n this.eoFill();\n break;\n\n case _util.OPS.stroke:\n this.stroke();\n break;\n\n case _util.OPS.fillStroke:\n this.fillStroke();\n break;\n\n case _util.OPS.eoFillStroke:\n this.eoFillStroke();\n break;\n\n case _util.OPS.clip:\n this.clip('nonzero');\n break;\n\n case _util.OPS.eoClip:\n this.clip('evenodd');\n break;\n\n case _util.OPS.paintSolidColorImageMask:\n this.paintSolidColorImageMask();\n break;\n\n case _util.OPS.paintJpegXObject:\n this.paintJpegXObject(args[0], args[1], args[2]);\n break;\n\n case _util.OPS.paintImageXObject:\n this.paintImageXObject(args[0]);\n break;\n\n case _util.OPS.paintInlineImageXObject:\n this.paintInlineImageXObject(args[0]);\n break;\n\n case _util.OPS.paintImageMaskXObject:\n this.paintImageMaskXObject(args[0]);\n break;\n\n case _util.OPS.paintFormXObjectBegin:\n this.paintFormXObjectBegin(args[0], args[1]);\n break;\n\n case _util.OPS.paintFormXObjectEnd:\n this.paintFormXObjectEnd();\n break;\n\n case _util.OPS.closePath:\n this.closePath();\n break;\n\n case _util.OPS.closeStroke:\n this.closeStroke();\n break;\n\n case _util.OPS.closeFillStroke:\n this.closeFillStroke();\n break;\n\n case _util.OPS.closeEOFillStroke:\n this.closeEOFillStroke();\n break;\n\n case _util.OPS.nextLine:\n this.nextLine();\n break;\n\n case _util.OPS.transform:\n this.transform(args[0], args[1], args[2], args[3], args[4], args[5]);\n break;\n\n case _util.OPS.constructPath:\n this.constructPath(args[0], args[1]);\n break;\n\n case _util.OPS.endPath:\n this.endPath();\n break;\n\n case 92:\n this.group(opTreeElement.items);\n break;\n\n default:\n (0, _util.warn)(\"Unimplemented operator \".concat(fn));\n break;\n }\n }\n } catch (err) {\n _didIteratorError3 = true;\n _iteratorError3 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion3 && _iterator3[\"return\"] != null) {\n _iterator3[\"return\"]();\n }\n } finally {\n if (_didIteratorError3) {\n throw _iteratorError3;\n }\n }\n }\n }\n }, {\n key: \"setWordSpacing\",\n value: function setWordSpacing(wordSpacing) {\n this.current.wordSpacing = wordSpacing;\n }\n }, {\n key: \"setCharSpacing\",\n value: function setCharSpacing(charSpacing) {\n this.current.charSpacing = charSpacing;\n }\n }, {\n key: \"nextLine\",\n value: function nextLine() {\n this.moveText(0, this.current.leading);\n }\n }, {\n key: \"setTextMatrix\",\n value: function setTextMatrix(a, b, c, d, e, f) {\n var current = this.current;\n current.textMatrix = current.lineMatrix = [a, b, c, d, e, f];\n current.textMatrixScale = Math.sqrt(a * a + b * b);\n current.x = current.lineX = 0;\n current.y = current.lineY = 0;\n current.xcoords = [];\n current.tspan = this.svgFactory.createElement('svg:tspan');\n current.tspan.setAttributeNS(null, 'font-family', current.fontFamily);\n current.tspan.setAttributeNS(null, 'font-size', \"\".concat(pf(current.fontSize), \"px\"));\n current.tspan.setAttributeNS(null, 'y', pf(-current.y));\n current.txtElement = this.svgFactory.createElement('svg:text');\n current.txtElement.appendChild(current.tspan);\n }\n }, {\n key: \"beginText\",\n value: function beginText() {\n var current = this.current;\n current.x = current.lineX = 0;\n current.y = current.lineY = 0;\n current.textMatrix = _util.IDENTITY_MATRIX;\n current.lineMatrix = _util.IDENTITY_MATRIX;\n current.textMatrixScale = 1;\n current.tspan = this.svgFactory.createElement('svg:tspan');\n current.txtElement = this.svgFactory.createElement('svg:text');\n current.txtgrp = this.svgFactory.createElement('svg:g');\n current.xcoords = [];\n }\n }, {\n key: \"moveText\",\n value: function moveText(x, y) {\n var current = this.current;\n current.x = current.lineX += x;\n current.y = current.lineY += y;\n current.xcoords = [];\n current.tspan = this.svgFactory.createElement('svg:tspan');\n current.tspan.setAttributeNS(null, 'font-family', current.fontFamily);\n current.tspan.setAttributeNS(null, 'font-size', \"\".concat(pf(current.fontSize), \"px\"));\n current.tspan.setAttributeNS(null, 'y', pf(-current.y));\n }\n }, {\n key: \"showText\",\n value: function showText(glyphs) {\n var current = this.current;\n var font = current.font;\n var fontSize = current.fontSize;\n\n if (fontSize === 0) {\n return;\n }\n\n var charSpacing = current.charSpacing;\n var wordSpacing = current.wordSpacing;\n var fontDirection = current.fontDirection;\n var textHScale = current.textHScale * fontDirection;\n var vertical = font.vertical;\n var widthAdvanceScale = fontSize * current.fontMatrix[0];\n var x = 0;\n var _iteratorNormalCompletion4 = true;\n var _didIteratorError4 = false;\n var _iteratorError4 = undefined;\n\n try {\n for (var _iterator4 = glyphs[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {\n var glyph = _step4.value;\n\n if (glyph === null) {\n x += fontDirection * wordSpacing;\n continue;\n } else if ((0, _util.isNum)(glyph)) {\n x += -glyph * fontSize * 0.001;\n continue;\n }\n\n var width = glyph.width;\n var character = glyph.fontChar;\n var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n var charWidth = width * widthAdvanceScale + spacing * fontDirection;\n\n if (!glyph.isInFont && !font.missingFile) {\n x += charWidth;\n continue;\n }\n\n current.xcoords.push(current.x + x * textHScale);\n current.tspan.textContent += character;\n x += charWidth;\n }\n } catch (err) {\n _didIteratorError4 = true;\n _iteratorError4 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion4 && _iterator4[\"return\"] != null) {\n _iterator4[\"return\"]();\n }\n } finally {\n if (_didIteratorError4) {\n throw _iteratorError4;\n }\n }\n }\n\n if (vertical) {\n current.y -= x * textHScale;\n } else {\n current.x += x * textHScale;\n }\n\n current.tspan.setAttributeNS(null, 'x', current.xcoords.map(pf).join(' '));\n current.tspan.setAttributeNS(null, 'y', pf(-current.y));\n current.tspan.setAttributeNS(null, 'font-family', current.fontFamily);\n current.tspan.setAttributeNS(null, 'font-size', \"\".concat(pf(current.fontSize), \"px\"));\n\n if (current.fontStyle !== SVG_DEFAULTS.fontStyle) {\n current.tspan.setAttributeNS(null, 'font-style', current.fontStyle);\n }\n\n if (current.fontWeight !== SVG_DEFAULTS.fontWeight) {\n current.tspan.setAttributeNS(null, 'font-weight', current.fontWeight);\n }\n\n var fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n\n if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n if (current.fillColor !== SVG_DEFAULTS.fillColor) {\n current.tspan.setAttributeNS(null, 'fill', current.fillColor);\n }\n\n if (current.fillAlpha < 1) {\n current.tspan.setAttributeNS(null, 'fill-opacity', current.fillAlpha);\n }\n } else if (current.textRenderingMode === _util.TextRenderingMode.ADD_TO_PATH) {\n current.tspan.setAttributeNS(null, 'fill', 'transparent');\n } else {\n current.tspan.setAttributeNS(null, 'fill', 'none');\n }\n\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n var lineWidthScale = 1 / (current.textMatrixScale || 1);\n\n this._setStrokeAttributes(current.tspan, lineWidthScale);\n }\n\n var textMatrix = current.textMatrix;\n\n if (current.textRise !== 0) {\n textMatrix = textMatrix.slice();\n textMatrix[5] += current.textRise;\n }\n\n current.txtElement.setAttributeNS(null, 'transform', \"\".concat(pm(textMatrix), \" scale(1, -1)\"));\n current.txtElement.setAttributeNS(XML_NS, 'xml:space', 'preserve');\n current.txtElement.appendChild(current.tspan);\n current.txtgrp.appendChild(current.txtElement);\n\n this._ensureTransformGroup().appendChild(current.txtElement);\n }\n }, {\n key: \"setLeadingMoveText\",\n value: function setLeadingMoveText(x, y) {\n this.setLeading(-y);\n this.moveText(x, y);\n }\n }, {\n key: \"addFontStyle\",\n value: function addFontStyle(fontObj) {\n if (!this.cssStyle) {\n this.cssStyle = this.svgFactory.createElement('svg:style');\n this.cssStyle.setAttributeNS(null, 'type', 'text/css');\n this.defs.appendChild(this.cssStyle);\n }\n\n var url = (0, _util.createObjectURL)(fontObj.data, fontObj.mimetype, this.forceDataSchema);\n this.cssStyle.textContent += \"@font-face { font-family: \\\"\".concat(fontObj.loadedName, \"\\\";\") + \" src: url(\".concat(url, \"); }\\n\");\n }\n }, {\n key: \"setFont\",\n value: function setFont(details) {\n var current = this.current;\n var fontObj = this.commonObjs.get(details[0]);\n var size = details[1];\n current.font = fontObj;\n\n if (this.embedFonts && fontObj.data && !this.embeddedFonts[fontObj.loadedName]) {\n this.addFontStyle(fontObj);\n this.embeddedFonts[fontObj.loadedName] = fontObj;\n }\n\n current.fontMatrix = fontObj.fontMatrix ? fontObj.fontMatrix : _util.FONT_IDENTITY_MATRIX;\n var bold = fontObj.black ? fontObj.bold ? 'bolder' : 'bold' : fontObj.bold ? 'bold' : 'normal';\n var italic = fontObj.italic ? 'italic' : 'normal';\n\n if (size < 0) {\n size = -size;\n current.fontDirection = -1;\n } else {\n current.fontDirection = 1;\n }\n\n current.fontSize = size;\n current.fontFamily = fontObj.loadedName;\n current.fontWeight = bold;\n current.fontStyle = italic;\n current.tspan = this.svgFactory.createElement('svg:tspan');\n current.tspan.setAttributeNS(null, 'y', pf(-current.y));\n current.xcoords = [];\n }\n }, {\n key: \"endText\",\n value: function endText() {\n var current = this.current;\n\n if (current.textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG && current.txtElement && current.txtElement.hasChildNodes()) {\n current.element = current.txtElement;\n this.clip('nonzero');\n this.endPath();\n }\n }\n }, {\n key: \"setLineWidth\",\n value: function setLineWidth(width) {\n if (width > 0) {\n this.current.lineWidth = width;\n }\n }\n }, {\n key: \"setLineCap\",\n value: function setLineCap(style) {\n this.current.lineCap = LINE_CAP_STYLES[style];\n }\n }, {\n key: \"setLineJoin\",\n value: function setLineJoin(style) {\n this.current.lineJoin = LINE_JOIN_STYLES[style];\n }\n }, {\n key: \"setMiterLimit\",\n value: function setMiterLimit(limit) {\n this.current.miterLimit = limit;\n }\n }, {\n key: \"setStrokeAlpha\",\n value: function setStrokeAlpha(strokeAlpha) {\n this.current.strokeAlpha = strokeAlpha;\n }\n }, {\n key: \"setStrokeRGBColor\",\n value: function setStrokeRGBColor(r, g, b) {\n this.current.strokeColor = _util.Util.makeCssRgb(r, g, b);\n }\n }, {\n key: \"setFillAlpha\",\n value: function setFillAlpha(fillAlpha) {\n this.current.fillAlpha = fillAlpha;\n }\n }, {\n key: \"setFillRGBColor\",\n value: function setFillRGBColor(r, g, b) {\n this.current.fillColor = _util.Util.makeCssRgb(r, g, b);\n this.current.tspan = this.svgFactory.createElement('svg:tspan');\n this.current.xcoords = [];\n }\n }, {\n key: \"setStrokeColorN\",\n value: function setStrokeColorN(args) {\n this.current.strokeColor = this._makeColorN_Pattern(args);\n }\n }, {\n key: \"setFillColorN\",\n value: function setFillColorN(args) {\n this.current.fillColor = this._makeColorN_Pattern(args);\n }\n }, {\n key: \"shadingFill\",\n value: function shadingFill(args) {\n var width = this.viewport.width;\n var height = this.viewport.height;\n\n var inv = _util.Util.inverseTransform(this.transformMatrix);\n\n var bl = _util.Util.applyTransform([0, 0], inv);\n\n var br = _util.Util.applyTransform([0, height], inv);\n\n var ul = _util.Util.applyTransform([width, 0], inv);\n\n var ur = _util.Util.applyTransform([width, height], inv);\n\n var x0 = Math.min(bl[0], br[0], ul[0], ur[0]);\n var y0 = Math.min(bl[1], br[1], ul[1], ur[1]);\n var x1 = Math.max(bl[0], br[0], ul[0], ur[0]);\n var y1 = Math.max(bl[1], br[1], ul[1], ur[1]);\n var rect = this.svgFactory.createElement('svg:rect');\n rect.setAttributeNS(null, 'x', x0);\n rect.setAttributeNS(null, 'y', y0);\n rect.setAttributeNS(null, 'width', x1 - x0);\n rect.setAttributeNS(null, 'height', y1 - y0);\n rect.setAttributeNS(null, 'fill', this._makeShadingPattern(args));\n\n this._ensureTransformGroup().appendChild(rect);\n }\n }, {\n key: \"_makeColorN_Pattern\",\n value: function _makeColorN_Pattern(args) {\n if (args[0] === 'TilingPattern') {\n return this._makeTilingPattern(args);\n }\n\n return this._makeShadingPattern(args);\n }\n }, {\n key: \"_makeTilingPattern\",\n value: function _makeTilingPattern(args) {\n var color = args[1];\n var operatorList = args[2];\n var matrix = args[3] || _util.IDENTITY_MATRIX;\n\n var _args$ = _slicedToArray(args[4], 4),\n x0 = _args$[0],\n y0 = _args$[1],\n x1 = _args$[2],\n y1 = _args$[3];\n\n var xstep = args[5];\n var ystep = args[6];\n var paintType = args[7];\n var tilingId = \"shading\".concat(shadingCount++);\n\n var _Util$applyTransform = _util.Util.applyTransform([x0, y0], matrix),\n _Util$applyTransform2 = _slicedToArray(_Util$applyTransform, 2),\n tx0 = _Util$applyTransform2[0],\n ty0 = _Util$applyTransform2[1];\n\n var _Util$applyTransform3 = _util.Util.applyTransform([x1, y1], matrix),\n _Util$applyTransform4 = _slicedToArray(_Util$applyTransform3, 2),\n tx1 = _Util$applyTransform4[0],\n ty1 = _Util$applyTransform4[1];\n\n var _Util$singularValueDe = _util.Util.singularValueDecompose2dScale(matrix),\n _Util$singularValueDe2 = _slicedToArray(_Util$singularValueDe, 2),\n xscale = _Util$singularValueDe2[0],\n yscale = _Util$singularValueDe2[1];\n\n var txstep = xstep * xscale;\n var tystep = ystep * yscale;\n var tiling = this.svgFactory.createElement('svg:pattern');\n tiling.setAttributeNS(null, 'id', tilingId);\n tiling.setAttributeNS(null, 'patternUnits', 'userSpaceOnUse');\n tiling.setAttributeNS(null, 'width', txstep);\n tiling.setAttributeNS(null, 'height', tystep);\n tiling.setAttributeNS(null, 'x', \"\".concat(tx0));\n tiling.setAttributeNS(null, 'y', \"\".concat(ty0));\n var svg = this.svg;\n var transformMatrix = this.transformMatrix;\n var fillColor = this.current.fillColor;\n var strokeColor = this.current.strokeColor;\n var bbox = this.svgFactory.create(tx1 - tx0, ty1 - ty0);\n this.svg = bbox;\n this.transformMatrix = matrix;\n\n if (paintType === 2) {\n var cssColor = _util.Util.makeCssRgb.apply(_util.Util, _toConsumableArray(color));\n\n this.current.fillColor = cssColor;\n this.current.strokeColor = cssColor;\n }\n\n this.executeOpTree(this.convertOpList(operatorList));\n this.svg = svg;\n this.transformMatrix = transformMatrix;\n this.current.fillColor = fillColor;\n this.current.strokeColor = strokeColor;\n tiling.appendChild(bbox.childNodes[0]);\n this.defs.appendChild(tiling);\n return \"url(#\".concat(tilingId, \")\");\n }\n }, {\n key: \"_makeShadingPattern\",\n value: function _makeShadingPattern(args) {\n switch (args[0]) {\n case 'RadialAxial':\n var shadingId = \"shading\".concat(shadingCount++);\n var colorStops = args[2];\n var gradient;\n\n switch (args[1]) {\n case 'axial':\n var point0 = args[3];\n var point1 = args[4];\n gradient = this.svgFactory.createElement('svg:linearGradient');\n gradient.setAttributeNS(null, 'id', shadingId);\n gradient.setAttributeNS(null, 'gradientUnits', 'userSpaceOnUse');\n gradient.setAttributeNS(null, 'x1', point0[0]);\n gradient.setAttributeNS(null, 'y1', point0[1]);\n gradient.setAttributeNS(null, 'x2', point1[0]);\n gradient.setAttributeNS(null, 'y2', point1[1]);\n break;\n\n case 'radial':\n var focalPoint = args[3];\n var circlePoint = args[4];\n var focalRadius = args[5];\n var circleRadius = args[6];\n gradient = this.svgFactory.createElement('svg:radialGradient');\n gradient.setAttributeNS(null, 'id', shadingId);\n gradient.setAttributeNS(null, 'gradientUnits', 'userSpaceOnUse');\n gradient.setAttributeNS(null, 'cx', circlePoint[0]);\n gradient.setAttributeNS(null, 'cy', circlePoint[1]);\n gradient.setAttributeNS(null, 'r', circleRadius);\n gradient.setAttributeNS(null, 'fx', focalPoint[0]);\n gradient.setAttributeNS(null, 'fy', focalPoint[1]);\n gradient.setAttributeNS(null, 'fr', focalRadius);\n break;\n\n default:\n throw new Error(\"Unknown RadialAxial type: \".concat(args[1]));\n }\n\n var _iteratorNormalCompletion5 = true;\n var _didIteratorError5 = false;\n var _iteratorError5 = undefined;\n\n try {\n for (var _iterator5 = colorStops[Symbol.iterator](), _step5; !(_iteratorNormalCompletion5 = (_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = true) {\n var colorStop = _step5.value;\n var stop = this.svgFactory.createElement('svg:stop');\n stop.setAttributeNS(null, 'offset', colorStop[0]);\n stop.setAttributeNS(null, 'stop-color', colorStop[1]);\n gradient.appendChild(stop);\n }\n } catch (err) {\n _didIteratorError5 = true;\n _iteratorError5 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion5 && _iterator5[\"return\"] != null) {\n _iterator5[\"return\"]();\n }\n } finally {\n if (_didIteratorError5) {\n throw _iteratorError5;\n }\n }\n }\n\n this.defs.appendChild(gradient);\n return \"url(#\".concat(shadingId, \")\");\n\n case 'Mesh':\n (0, _util.warn)('Unimplemented pattern Mesh');\n return null;\n\n case 'Dummy':\n return 'hotpink';\n\n default:\n throw new Error(\"Unknown IR type: \".concat(args[0]));\n }\n }\n }, {\n key: \"setDash\",\n value: function setDash(dashArray, dashPhase) {\n this.current.dashArray = dashArray;\n this.current.dashPhase = dashPhase;\n }\n }, {\n key: \"constructPath\",\n value: function constructPath(ops, args) {\n var current = this.current;\n var x = current.x,\n y = current.y;\n var d = [];\n var j = 0;\n var _iteratorNormalCompletion6 = true;\n var _didIteratorError6 = false;\n var _iteratorError6 = undefined;\n\n try {\n for (var _iterator6 = ops[Symbol.iterator](), _step6; !(_iteratorNormalCompletion6 = (_step6 = _iterator6.next()).done); _iteratorNormalCompletion6 = true) {\n var op = _step6.value;\n\n switch (op | 0) {\n case _util.OPS.rectangle:\n x = args[j++];\n y = args[j++];\n var width = args[j++];\n var height = args[j++];\n var xw = x + width;\n var yh = y + height;\n d.push('M', pf(x), pf(y), 'L', pf(xw), pf(y), 'L', pf(xw), pf(yh), 'L', pf(x), pf(yh), 'Z');\n break;\n\n case _util.OPS.moveTo:\n x = args[j++];\n y = args[j++];\n d.push('M', pf(x), pf(y));\n break;\n\n case _util.OPS.lineTo:\n x = args[j++];\n y = args[j++];\n d.push('L', pf(x), pf(y));\n break;\n\n case _util.OPS.curveTo:\n x = args[j + 4];\n y = args[j + 5];\n d.push('C', pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3]), pf(x), pf(y));\n j += 6;\n break;\n\n case _util.OPS.curveTo2:\n x = args[j + 2];\n y = args[j + 3];\n d.push('C', pf(x), pf(y), pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3]));\n j += 4;\n break;\n\n case _util.OPS.curveTo3:\n x = args[j + 2];\n y = args[j + 3];\n d.push('C', pf(args[j]), pf(args[j + 1]), pf(x), pf(y), pf(x), pf(y));\n j += 4;\n break;\n\n case _util.OPS.closePath:\n d.push('Z');\n break;\n }\n }\n } catch (err) {\n _didIteratorError6 = true;\n _iteratorError6 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion6 && _iterator6[\"return\"] != null) {\n _iterator6[\"return\"]();\n }\n } finally {\n if (_didIteratorError6) {\n throw _iteratorError6;\n }\n }\n }\n\n d = d.join(' ');\n\n if (current.path && ops.length > 0 && ops[0] !== _util.OPS.rectangle && ops[0] !== _util.OPS.moveTo) {\n d = current.path.getAttributeNS(null, 'd') + d;\n } else {\n current.path = this.svgFactory.createElement('svg:path');\n\n this._ensureTransformGroup().appendChild(current.path);\n }\n\n current.path.setAttributeNS(null, 'd', d);\n current.path.setAttributeNS(null, 'fill', 'none');\n current.element = current.path;\n current.setCurrentPoint(x, y);\n }\n }, {\n key: \"endPath\",\n value: function endPath() {\n var current = this.current;\n current.path = null;\n\n if (!this.pendingClip) {\n return;\n }\n\n if (!current.element) {\n this.pendingClip = null;\n return;\n }\n\n var clipId = \"clippath\".concat(clipCount++);\n var clipPath = this.svgFactory.createElement('svg:clipPath');\n clipPath.setAttributeNS(null, 'id', clipId);\n clipPath.setAttributeNS(null, 'transform', pm(this.transformMatrix));\n var clipElement = current.element.cloneNode(true);\n\n if (this.pendingClip === 'evenodd') {\n clipElement.setAttributeNS(null, 'clip-rule', 'evenodd');\n } else {\n clipElement.setAttributeNS(null, 'clip-rule', 'nonzero');\n }\n\n this.pendingClip = null;\n clipPath.appendChild(clipElement);\n this.defs.appendChild(clipPath);\n\n if (current.activeClipUrl) {\n current.clipGroup = null;\n this.extraStack.forEach(function (prev) {\n prev.clipGroup = null;\n });\n clipPath.setAttributeNS(null, 'clip-path', current.activeClipUrl);\n }\n\n current.activeClipUrl = \"url(#\".concat(clipId, \")\");\n this.tgrp = null;\n }\n }, {\n key: \"clip\",\n value: function clip(type) {\n this.pendingClip = type;\n }\n }, {\n key: \"closePath\",\n value: function closePath() {\n var current = this.current;\n\n if (current.path) {\n var d = \"\".concat(current.path.getAttributeNS(null, 'd'), \"Z\");\n current.path.setAttributeNS(null, 'd', d);\n }\n }\n }, {\n key: \"setLeading\",\n value: function setLeading(leading) {\n this.current.leading = -leading;\n }\n }, {\n key: \"setTextRise\",\n value: function setTextRise(textRise) {\n this.current.textRise = textRise;\n }\n }, {\n key: \"setTextRenderingMode\",\n value: function setTextRenderingMode(textRenderingMode) {\n this.current.textRenderingMode = textRenderingMode;\n }\n }, {\n key: \"setHScale\",\n value: function setHScale(scale) {\n this.current.textHScale = scale / 100;\n }\n }, {\n key: \"setRenderingIntent\",\n value: function setRenderingIntent(intent) {}\n }, {\n key: \"setFlatness\",\n value: function setFlatness(flatness) {}\n }, {\n key: \"setGState\",\n value: function setGState(states) {\n var _iteratorNormalCompletion7 = true;\n var _didIteratorError7 = false;\n var _iteratorError7 = undefined;\n\n try {\n for (var _iterator7 = states[Symbol.iterator](), _step7; !(_iteratorNormalCompletion7 = (_step7 = _iterator7.next()).done); _iteratorNormalCompletion7 = true) {\n var _step7$value = _slicedToArray(_step7.value, 2),\n key = _step7$value[0],\n value = _step7$value[1];\n\n switch (key) {\n case 'LW':\n this.setLineWidth(value);\n break;\n\n case 'LC':\n this.setLineCap(value);\n break;\n\n case 'LJ':\n this.setLineJoin(value);\n break;\n\n case 'ML':\n this.setMiterLimit(value);\n break;\n\n case 'D':\n this.setDash(value[0], value[1]);\n break;\n\n case 'RI':\n this.setRenderingIntent(value);\n break;\n\n case 'FL':\n this.setFlatness(value);\n break;\n\n case 'Font':\n this.setFont(value);\n break;\n\n case 'CA':\n this.setStrokeAlpha(value);\n break;\n\n case 'ca':\n this.setFillAlpha(value);\n break;\n\n default:\n (0, _util.warn)(\"Unimplemented graphic state operator \".concat(key));\n break;\n }\n }\n } catch (err) {\n _didIteratorError7 = true;\n _iteratorError7 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion7 && _iterator7[\"return\"] != null) {\n _iterator7[\"return\"]();\n }\n } finally {\n if (_didIteratorError7) {\n throw _iteratorError7;\n }\n }\n }\n }\n }, {\n key: \"fill\",\n value: function fill() {\n var current = this.current;\n\n if (current.element) {\n current.element.setAttributeNS(null, 'fill', current.fillColor);\n current.element.setAttributeNS(null, 'fill-opacity', current.fillAlpha);\n this.endPath();\n }\n }\n }, {\n key: \"stroke\",\n value: function stroke() {\n var current = this.current;\n\n if (current.element) {\n this._setStrokeAttributes(current.element);\n\n current.element.setAttributeNS(null, 'fill', 'none');\n this.endPath();\n }\n }\n }, {\n key: \"_setStrokeAttributes\",\n value: function _setStrokeAttributes(element) {\n var lineWidthScale = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n var current = this.current;\n var dashArray = current.dashArray;\n\n if (lineWidthScale !== 1 && dashArray.length > 0) {\n dashArray = dashArray.map(function (value) {\n return lineWidthScale * value;\n });\n }\n\n element.setAttributeNS(null, 'stroke', current.strokeColor);\n element.setAttributeNS(null, 'stroke-opacity', current.strokeAlpha);\n element.setAttributeNS(null, 'stroke-miterlimit', pf(current.miterLimit));\n element.setAttributeNS(null, 'stroke-linecap', current.lineCap);\n element.setAttributeNS(null, 'stroke-linejoin', current.lineJoin);\n element.setAttributeNS(null, 'stroke-width', pf(lineWidthScale * current.lineWidth) + 'px');\n element.setAttributeNS(null, 'stroke-dasharray', dashArray.map(pf).join(' '));\n element.setAttributeNS(null, 'stroke-dashoffset', pf(lineWidthScale * current.dashPhase) + 'px');\n }\n }, {\n key: \"eoFill\",\n value: function eoFill() {\n if (this.current.element) {\n this.current.element.setAttributeNS(null, 'fill-rule', 'evenodd');\n }\n\n this.fill();\n }\n }, {\n key: \"fillStroke\",\n value: function fillStroke() {\n this.stroke();\n this.fill();\n }\n }, {\n key: \"eoFillStroke\",\n value: function eoFillStroke() {\n if (this.current.element) {\n this.current.element.setAttributeNS(null, 'fill-rule', 'evenodd');\n }\n\n this.fillStroke();\n }\n }, {\n key: \"closeStroke\",\n value: function closeStroke() {\n this.closePath();\n this.stroke();\n }\n }, {\n key: \"closeFillStroke\",\n value: function closeFillStroke() {\n this.closePath();\n this.fillStroke();\n }\n }, {\n key: \"closeEOFillStroke\",\n value: function closeEOFillStroke() {\n this.closePath();\n this.eoFillStroke();\n }\n }, {\n key: \"paintSolidColorImageMask\",\n value: function paintSolidColorImageMask() {\n var rect = this.svgFactory.createElement('svg:rect');\n rect.setAttributeNS(null, 'x', '0');\n rect.setAttributeNS(null, 'y', '0');\n rect.setAttributeNS(null, 'width', '1px');\n rect.setAttributeNS(null, 'height', '1px');\n rect.setAttributeNS(null, 'fill', this.current.fillColor);\n\n this._ensureTransformGroup().appendChild(rect);\n }\n }, {\n key: \"paintJpegXObject\",\n value: function paintJpegXObject(objId, w, h) {\n var imgObj = this.objs.get(objId);\n var imgEl = this.svgFactory.createElement('svg:image');\n imgEl.setAttributeNS(XLINK_NS, 'xlink:href', imgObj.src);\n imgEl.setAttributeNS(null, 'width', pf(w));\n imgEl.setAttributeNS(null, 'height', pf(h));\n imgEl.setAttributeNS(null, 'x', '0');\n imgEl.setAttributeNS(null, 'y', pf(-h));\n imgEl.setAttributeNS(null, 'transform', \"scale(\".concat(pf(1 / w), \" \").concat(pf(-1 / h), \")\"));\n\n this._ensureTransformGroup().appendChild(imgEl);\n }\n }, {\n key: \"paintImageXObject\",\n value: function paintImageXObject(objId) {\n var imgData = this.objs.get(objId);\n\n if (!imgData) {\n (0, _util.warn)(\"Dependent image with object ID \".concat(objId, \" is not ready yet\"));\n return;\n }\n\n this.paintInlineImageXObject(imgData);\n }\n }, {\n key: \"paintInlineImageXObject\",\n value: function paintInlineImageXObject(imgData, mask) {\n var width = imgData.width;\n var height = imgData.height;\n var imgSrc = convertImgDataToPng(imgData, this.forceDataSchema, !!mask);\n var cliprect = this.svgFactory.createElement('svg:rect');\n cliprect.setAttributeNS(null, 'x', '0');\n cliprect.setAttributeNS(null, 'y', '0');\n cliprect.setAttributeNS(null, 'width', pf(width));\n cliprect.setAttributeNS(null, 'height', pf(height));\n this.current.element = cliprect;\n this.clip('nonzero');\n var imgEl = this.svgFactory.createElement('svg:image');\n imgEl.setAttributeNS(XLINK_NS, 'xlink:href', imgSrc);\n imgEl.setAttributeNS(null, 'x', '0');\n imgEl.setAttributeNS(null, 'y', pf(-height));\n imgEl.setAttributeNS(null, 'width', pf(width) + 'px');\n imgEl.setAttributeNS(null, 'height', pf(height) + 'px');\n imgEl.setAttributeNS(null, 'transform', \"scale(\".concat(pf(1 / width), \" \").concat(pf(-1 / height), \")\"));\n\n if (mask) {\n mask.appendChild(imgEl);\n } else {\n this._ensureTransformGroup().appendChild(imgEl);\n }\n }\n }, {\n key: \"paintImageMaskXObject\",\n value: function paintImageMaskXObject(imgData) {\n var current = this.current;\n var width = imgData.width;\n var height = imgData.height;\n var fillColor = current.fillColor;\n current.maskId = \"mask\".concat(maskCount++);\n var mask = this.svgFactory.createElement('svg:mask');\n mask.setAttributeNS(null, 'id', current.maskId);\n var rect = this.svgFactory.createElement('svg:rect');\n rect.setAttributeNS(null, 'x', '0');\n rect.setAttributeNS(null, 'y', '0');\n rect.setAttributeNS(null, 'width', pf(width));\n rect.setAttributeNS(null, 'height', pf(height));\n rect.setAttributeNS(null, 'fill', fillColor);\n rect.setAttributeNS(null, 'mask', \"url(#\".concat(current.maskId, \")\"));\n this.defs.appendChild(mask);\n\n this._ensureTransformGroup().appendChild(rect);\n\n this.paintInlineImageXObject(imgData, mask);\n }\n }, {\n key: \"paintFormXObjectBegin\",\n value: function paintFormXObjectBegin(matrix, bbox) {\n if (Array.isArray(matrix) && matrix.length === 6) {\n this.transform(matrix[0], matrix[1], matrix[2], matrix[3], matrix[4], matrix[5]);\n }\n\n if (bbox) {\n var width = bbox[2] - bbox[0];\n var height = bbox[3] - bbox[1];\n var cliprect = this.svgFactory.createElement('svg:rect');\n cliprect.setAttributeNS(null, 'x', bbox[0]);\n cliprect.setAttributeNS(null, 'y', bbox[1]);\n cliprect.setAttributeNS(null, 'width', pf(width));\n cliprect.setAttributeNS(null, 'height', pf(height));\n this.current.element = cliprect;\n this.clip('nonzero');\n this.endPath();\n }\n }\n }, {\n key: \"paintFormXObjectEnd\",\n value: function paintFormXObjectEnd() {}\n }, {\n key: \"_initialize\",\n value: function _initialize(viewport) {\n var svg = this.svgFactory.create(viewport.width, viewport.height);\n var definitions = this.svgFactory.createElement('svg:defs');\n svg.appendChild(definitions);\n this.defs = definitions;\n var rootGroup = this.svgFactory.createElement('svg:g');\n rootGroup.setAttributeNS(null, 'transform', pm(viewport.transform));\n svg.appendChild(rootGroup);\n this.svg = rootGroup;\n return svg;\n }\n }, {\n key: \"_ensureClipGroup\",\n value: function _ensureClipGroup() {\n if (!this.current.clipGroup) {\n var clipGroup = this.svgFactory.createElement('svg:g');\n clipGroup.setAttributeNS(null, 'clip-path', this.current.activeClipUrl);\n this.svg.appendChild(clipGroup);\n this.current.clipGroup = clipGroup;\n }\n\n return this.current.clipGroup;\n }\n }, {\n key: \"_ensureTransformGroup\",\n value: function _ensureTransformGroup() {\n if (!this.tgrp) {\n this.tgrp = this.svgFactory.createElement('svg:g');\n this.tgrp.setAttributeNS(null, 'transform', pm(this.transformMatrix));\n\n if (this.current.activeClipUrl) {\n this._ensureClipGroup().appendChild(this.tgrp);\n } else {\n this.svg.appendChild(this.tgrp);\n }\n }\n\n return this.tgrp;\n }\n }]);\n\n return SVGGraphics;\n }();\n}\n\n/***/ }),\n/* 197 */\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__(180));\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _network_utils = __w_pdfjs_require__(198);\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._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n\n _createClass(PDFNodeStream, [{\n key: \"getFullReader\",\n value: function getFullReader() {\n (0, _util.assert)(!this._fullRequestReader);\n this._fullRequestReader = this.isFsUrl ? new PDFNodeStreamFsFullReader(this) : new PDFNodeStreamFullReader(this);\n return this._fullRequestReader;\n }\n }, {\n key: \"getRangeReader\",\n value: function getRangeReader(start, end) {\n if (end <= this._progressiveDataLength) {\n return null;\n }\n\n var rangeReader = this.isFsUrl ? new PDFNodeStreamFsRangeReader(this, start, end) : new PDFNodeStreamRangeReader(this, start, end);\n\n this._rangeRequestReaders.push(rangeReader);\n\n return rangeReader;\n }\n }, {\n key: \"cancelAllRequests\",\n value: function cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n\n var readers = this._rangeRequestReaders.slice(0);\n\n readers.forEach(function (reader) {\n reader.cancel(reason);\n });\n }\n }, {\n key: \"_progressiveDataLength\",\n get: function get() {\n return this._fullRequestReader ? this._fullRequestReader._loaded : 0;\n }\n }]);\n\n return PDFNodeStream;\n}();\n\nexports.PDFNodeStream = PDFNodeStream;\n\nvar BaseFullReader =\n/*#__PURE__*/\nfunction () {\n function BaseFullReader(stream) {\n _classCallCheck(this, BaseFullReader);\n\n this._url = stream.url;\n this._done = false;\n this._storedError = null;\n this.onProgress = null;\n var source = stream.source;\n this._contentLength = source.length;\n this._loaded = 0;\n this._filename = null;\n this._disableRange = source.disableRange || false;\n this._rangeChunkSize = source.rangeChunkSize;\n\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n\n this._isStreamingSupported = !source.disableStream;\n this._isRangeSupported = !source.disableRange;\n this._readableStream = null;\n this._readCapability = (0, _util.createPromiseCapability)();\n this._headersCapability = (0, _util.createPromiseCapability)();\n }\n\n _createClass(BaseFullReader, [{\n key: \"read\",\n value: function () {\n var _read = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee() {\n var chunk, buffer;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return this._readCapability.promise;\n\n case 2:\n if (!this._done) {\n _context.next = 4;\n break;\n }\n\n return _context.abrupt(\"return\", {\n value: undefined,\n done: true\n });\n\n case 4:\n if (!this._storedError) {\n _context.next = 6;\n break;\n }\n\n throw this._storedError;\n\n case 6:\n chunk = this._readableStream.read();\n\n if (!(chunk === null)) {\n _context.next = 10;\n break;\n }\n\n this._readCapability = (0, _util.createPromiseCapability)();\n return _context.abrupt(\"return\", this.read());\n\n case 10:\n this._loaded += chunk.length;\n\n if (this.onProgress) {\n this.onProgress({\n loaded: this._loaded,\n total: this._contentLength\n });\n }\n\n buffer = new Uint8Array(chunk).buffer;\n return _context.abrupt(\"return\", {\n value: buffer,\n done: false\n });\n\n case 14:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function read() {\n return _read.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n if (!this._readableStream) {\n this._error(reason);\n\n return;\n }\n\n this._readableStream.destroy(reason);\n }\n }, {\n key: \"_error\",\n value: function _error(reason) {\n this._storedError = reason;\n\n this._readCapability.resolve();\n }\n }, {\n key: \"_setReadableStream\",\n value: function _setReadableStream(readableStream) {\n var _this = this;\n\n this._readableStream = readableStream;\n readableStream.on('readable', function () {\n _this._readCapability.resolve();\n });\n readableStream.on('end', function () {\n readableStream.destroy();\n _this._done = true;\n\n _this._readCapability.resolve();\n });\n readableStream.on('error', function (reason) {\n _this._error(reason);\n });\n\n if (!this._isStreamingSupported && this._isRangeSupported) {\n this._error(new _util.AbortException('streaming is disabled'));\n }\n\n if (this._storedError) {\n this._readableStream.destroy(this._storedError);\n }\n }\n }, {\n key: \"headersReady\",\n get: function get() {\n return this._headersCapability.promise;\n }\n }, {\n key: \"filename\",\n get: function get() {\n return this._filename;\n }\n }, {\n key: \"contentLength\",\n get: function get() {\n return this._contentLength;\n }\n }, {\n key: \"isRangeSupported\",\n get: function get() {\n return this._isRangeSupported;\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return this._isStreamingSupported;\n }\n }]);\n\n return BaseFullReader;\n}();\n\nvar BaseRangeReader =\n/*#__PURE__*/\nfunction () {\n function BaseRangeReader(stream) {\n _classCallCheck(this, BaseRangeReader);\n\n this._url = stream.url;\n this._done = false;\n this._storedError = null;\n this.onProgress = null;\n this._loaded = 0;\n this._readableStream = null;\n this._readCapability = (0, _util.createPromiseCapability)();\n var source = stream.source;\n this._isStreamingSupported = !source.disableStream;\n }\n\n _createClass(BaseRangeReader, [{\n key: \"read\",\n value: function () {\n var _read2 = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee2() {\n var chunk, buffer;\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return this._readCapability.promise;\n\n case 2:\n if (!this._done) {\n _context2.next = 4;\n break;\n }\n\n return _context2.abrupt(\"return\", {\n value: undefined,\n done: true\n });\n\n case 4:\n if (!this._storedError) {\n _context2.next = 6;\n break;\n }\n\n throw this._storedError;\n\n case 6:\n chunk = this._readableStream.read();\n\n if (!(chunk === null)) {\n _context2.next = 10;\n break;\n }\n\n this._readCapability = (0, _util.createPromiseCapability)();\n return _context2.abrupt(\"return\", this.read());\n\n case 10:\n this._loaded += chunk.length;\n\n if (this.onProgress) {\n this.onProgress({\n loaded: this._loaded\n });\n }\n\n buffer = new Uint8Array(chunk).buffer;\n return _context2.abrupt(\"return\", {\n value: buffer,\n done: false\n });\n\n case 14:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function read() {\n return _read2.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n if (!this._readableStream) {\n this._error(reason);\n\n return;\n }\n\n this._readableStream.destroy(reason);\n }\n }, {\n key: \"_error\",\n value: function _error(reason) {\n this._storedError = reason;\n\n this._readCapability.resolve();\n }\n }, {\n key: \"_setReadableStream\",\n value: function _setReadableStream(readableStream) {\n var _this2 = this;\n\n this._readableStream = readableStream;\n readableStream.on('readable', function () {\n _this2._readCapability.resolve();\n });\n readableStream.on('end', function () {\n readableStream.destroy();\n _this2._done = true;\n\n _this2._readCapability.resolve();\n });\n readableStream.on('error', function (reason) {\n _this2._error(reason);\n });\n\n if (this._storedError) {\n this._readableStream.destroy(this._storedError);\n }\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return this._isStreamingSupported;\n }\n }]);\n\n return BaseRangeReader;\n}();\n\nfunction createRequestOptions(url, headers) {\n return {\n protocol: url.protocol,\n auth: url.auth,\n host: url.hostname,\n port: url.port,\n path: url.path,\n method: 'GET',\n headers: headers\n };\n}\n\nvar PDFNodeStreamFullReader =\n/*#__PURE__*/\nfunction (_BaseFullReader) {\n _inherits(PDFNodeStreamFullReader, _BaseFullReader);\n\n function PDFNodeStreamFullReader(stream) {\n var _this3;\n\n _classCallCheck(this, PDFNodeStreamFullReader);\n\n _this3 = _possibleConstructorReturn(this, _getPrototypeOf(PDFNodeStreamFullReader).call(this, stream));\n\n var handleResponse = function handleResponse(response) {\n if (response.statusCode === 404) {\n var error = new _util.MissingPDFException(\"Missing PDF \\\"\".concat(_this3._url, \"\\\".\"));\n _this3._storedError = error;\n\n _this3._headersCapability.reject(error);\n\n return;\n }\n\n _this3._headersCapability.resolve();\n\n _this3._setReadableStream(response);\n\n var getResponseHeader = function getResponseHeader(name) {\n return _this3._readableStream.headers[name.toLowerCase()];\n };\n\n var _validateRangeRequest = (0, _network_utils.validateRangeRequestCapabilities)({\n getResponseHeader: getResponseHeader,\n isHttp: stream.isHttp,\n rangeChunkSize: _this3._rangeChunkSize,\n disableRange: _this3._disableRange\n }),\n allowRangeRequests = _validateRangeRequest.allowRangeRequests,\n suggestedLength = _validateRangeRequest.suggestedLength;\n\n _this3._isRangeSupported = allowRangeRequests;\n _this3._contentLength = suggestedLength || _this3._contentLength;\n _this3._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);\n };\n\n _this3._request = null;\n\n if (_this3._url.protocol === 'http:') {\n _this3._request = http.request(createRequestOptions(_this3._url, stream.httpHeaders), handleResponse);\n } else {\n _this3._request = https.request(createRequestOptions(_this3._url, stream.httpHeaders), handleResponse);\n }\n\n _this3._request.on('error', function (reason) {\n _this3._storedError = reason;\n\n _this3._headersCapability.reject(reason);\n });\n\n _this3._request.end();\n\n return _this3;\n }\n\n return PDFNodeStreamFullReader;\n}(BaseFullReader);\n\nvar PDFNodeStreamRangeReader =\n/*#__PURE__*/\nfunction (_BaseRangeReader) {\n _inherits(PDFNodeStreamRangeReader, _BaseRangeReader);\n\n function PDFNodeStreamRangeReader(stream, start, end) {\n var _this4;\n\n _classCallCheck(this, PDFNodeStreamRangeReader);\n\n _this4 = _possibleConstructorReturn(this, _getPrototypeOf(PDFNodeStreamRangeReader).call(this, stream));\n _this4._httpHeaders = {};\n\n for (var property in stream.httpHeaders) {\n var value = stream.httpHeaders[property];\n\n if (typeof value === 'undefined') {\n continue;\n }\n\n _this4._httpHeaders[property] = value;\n }\n\n _this4._httpHeaders['Range'] = \"bytes=\".concat(start, \"-\").concat(end - 1);\n\n var handleResponse = function handleResponse(response) {\n if (response.statusCode === 404) {\n var error = new _util.MissingPDFException(\"Missing PDF \\\"\".concat(_this4._url, \"\\\".\"));\n _this4._storedError = error;\n return;\n }\n\n _this4._setReadableStream(response);\n };\n\n _this4._request = null;\n\n if (_this4._url.protocol === 'http:') {\n _this4._request = http.request(createRequestOptions(_this4._url, _this4._httpHeaders), handleResponse);\n } else {\n _this4._request = https.request(createRequestOptions(_this4._url, _this4._httpHeaders), handleResponse);\n }\n\n _this4._request.on('error', function (reason) {\n _this4._storedError = reason;\n });\n\n _this4._request.end();\n\n return _this4;\n }\n\n return PDFNodeStreamRangeReader;\n}(BaseRangeReader);\n\nvar PDFNodeStreamFsFullReader =\n/*#__PURE__*/\nfunction (_BaseFullReader2) {\n _inherits(PDFNodeStreamFsFullReader, _BaseFullReader2);\n\n function PDFNodeStreamFsFullReader(stream) {\n var _this5;\n\n _classCallCheck(this, PDFNodeStreamFsFullReader);\n\n _this5 = _possibleConstructorReturn(this, _getPrototypeOf(PDFNodeStreamFsFullReader).call(this, stream));\n var path = decodeURIComponent(_this5._url.path);\n\n if (fileUriRegex.test(_this5._url.href)) {\n path = path.replace(/^\\//, '');\n }\n\n fs.lstat(path, function (error, stat) {\n if (error) {\n if (error.code === 'ENOENT') {\n error = new _util.MissingPDFException(\"Missing PDF \\\"\".concat(path, \"\\\".\"));\n }\n\n _this5._storedError = error;\n\n _this5._headersCapability.reject(error);\n\n return;\n }\n\n _this5._contentLength = stat.size;\n\n _this5._setReadableStream(fs.createReadStream(path));\n\n _this5._headersCapability.resolve();\n });\n return _this5;\n }\n\n return PDFNodeStreamFsFullReader;\n}(BaseFullReader);\n\nvar PDFNodeStreamFsRangeReader =\n/*#__PURE__*/\nfunction (_BaseRangeReader2) {\n _inherits(PDFNodeStreamFsRangeReader, _BaseRangeReader2);\n\n function PDFNodeStreamFsRangeReader(stream, start, end) {\n var _this6;\n\n _classCallCheck(this, PDFNodeStreamFsRangeReader);\n\n _this6 = _possibleConstructorReturn(this, _getPrototypeOf(PDFNodeStreamFsRangeReader).call(this, stream));\n var path = decodeURIComponent(_this6._url.path);\n\n if (fileUriRegex.test(_this6._url.href)) {\n path = path.replace(/^\\//, '');\n }\n\n _this6._setReadableStream(fs.createReadStream(path, {\n start: start,\n end: end - 1\n }));\n\n return _this6;\n }\n\n return PDFNodeStreamFsRangeReader;\n}(BaseRangeReader);\n\n/***/ }),\n/* 198 */\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__(199);\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 (filename.includes('%')) {\n try {\n filename = decodeURIComponent(filename);\n } catch (ex) {}\n }\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/* 199 */\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) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\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/* 200 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFNetworkStream = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(180));\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _network_utils = __w_pdfjs_require__(198);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n;\nvar OK_RESPONSE = 200;\nvar PARTIAL_CONTENT_RESPONSE = 206;\n\nfunction getArrayBuffer(xhr) {\n var data = xhr.response;\n\n if (typeof data !== 'string') {\n return data;\n }\n\n var array = (0, _util.stringToBytes)(data);\n return array.buffer;\n}\n\nvar NetworkManager =\n/*#__PURE__*/\nfunction () {\n function NetworkManager(url, args) {\n _classCallCheck(this, NetworkManager);\n\n this.url = url;\n args = args || {};\n this.isHttp = /^https?:/i.test(url);\n this.httpHeaders = this.isHttp && args.httpHeaders || {};\n this.withCredentials = args.withCredentials || false;\n\n this.getXhr = args.getXhr || function NetworkManager_getXhr() {\n return new XMLHttpRequest();\n };\n\n this.currXhrId = 0;\n this.pendingRequests = Object.create(null);\n }\n\n _createClass(NetworkManager, [{\n key: \"requestRange\",\n value: function requestRange(begin, end, listeners) {\n var args = {\n begin: begin,\n end: end\n };\n\n for (var prop in listeners) {\n args[prop] = listeners[prop];\n }\n\n return this.request(args);\n }\n }, {\n key: \"requestFull\",\n value: function requestFull(listeners) {\n return this.request(listeners);\n }\n }, {\n key: \"request\",\n value: function request(args) {\n var xhr = this.getXhr();\n var xhrId = this.currXhrId++;\n var pendingRequest = this.pendingRequests[xhrId] = {\n xhr: xhr\n };\n xhr.open('GET', this.url);\n xhr.withCredentials = this.withCredentials;\n\n for (var property in this.httpHeaders) {\n var value = this.httpHeaders[property];\n\n if (typeof value === 'undefined') {\n continue;\n }\n\n xhr.setRequestHeader(property, value);\n }\n\n if (this.isHttp && 'begin' in args && 'end' in args) {\n xhr.setRequestHeader('Range', \"bytes=\".concat(args.begin, \"-\").concat(args.end - 1));\n pendingRequest.expectedStatus = PARTIAL_CONTENT_RESPONSE;\n } else {\n pendingRequest.expectedStatus = OK_RESPONSE;\n }\n\n xhr.responseType = 'arraybuffer';\n\n if (args.onError) {\n xhr.onerror = function (evt) {\n args.onError(xhr.status);\n };\n }\n\n xhr.onreadystatechange = this.onStateChange.bind(this, xhrId);\n xhr.onprogress = this.onProgress.bind(this, xhrId);\n pendingRequest.onHeadersReceived = args.onHeadersReceived;\n pendingRequest.onDone = args.onDone;\n pendingRequest.onError = args.onError;\n pendingRequest.onProgress = args.onProgress;\n xhr.send(null);\n return xhrId;\n }\n }, {\n key: \"onProgress\",\n value: function onProgress(xhrId, evt) {\n var pendingRequest = this.pendingRequests[xhrId];\n\n if (!pendingRequest) {\n return;\n }\n\n if (pendingRequest.onProgress) {\n pendingRequest.onProgress(evt);\n }\n }\n }, {\n key: \"onStateChange\",\n value: function onStateChange(xhrId, evt) {\n var pendingRequest = this.pendingRequests[xhrId];\n\n if (!pendingRequest) {\n return;\n }\n\n var xhr = pendingRequest.xhr;\n\n if (xhr.readyState >= 2 && pendingRequest.onHeadersReceived) {\n pendingRequest.onHeadersReceived();\n delete pendingRequest.onHeadersReceived;\n }\n\n if (xhr.readyState !== 4) {\n return;\n }\n\n if (!(xhrId in this.pendingRequests)) {\n return;\n }\n\n delete this.pendingRequests[xhrId];\n\n if (xhr.status === 0 && this.isHttp) {\n if (pendingRequest.onError) {\n pendingRequest.onError(xhr.status);\n }\n\n return;\n }\n\n var xhrStatus = xhr.status || OK_RESPONSE;\n var ok_response_on_range_request = xhrStatus === OK_RESPONSE && pendingRequest.expectedStatus === PARTIAL_CONTENT_RESPONSE;\n\n if (!ok_response_on_range_request && xhrStatus !== pendingRequest.expectedStatus) {\n if (pendingRequest.onError) {\n pendingRequest.onError(xhr.status);\n }\n\n return;\n }\n\n var chunk = getArrayBuffer(xhr);\n\n if (xhrStatus === PARTIAL_CONTENT_RESPONSE) {\n var rangeHeader = xhr.getResponseHeader('Content-Range');\n var matches = /bytes (\\d+)-(\\d+)\\/(\\d+)/.exec(rangeHeader);\n pendingRequest.onDone({\n begin: parseInt(matches[1], 10),\n chunk: chunk\n });\n } else if (chunk) {\n pendingRequest.onDone({\n begin: 0,\n chunk: chunk\n });\n } else if (pendingRequest.onError) {\n pendingRequest.onError(xhr.status);\n }\n }\n }, {\n key: \"hasPendingRequests\",\n value: function hasPendingRequests() {\n for (var xhrId in this.pendingRequests) {\n return true;\n }\n\n return false;\n }\n }, {\n key: \"getRequestXhr\",\n value: function getRequestXhr(xhrId) {\n return this.pendingRequests[xhrId].xhr;\n }\n }, {\n key: \"isPendingRequest\",\n value: function isPendingRequest(xhrId) {\n return xhrId in this.pendingRequests;\n }\n }, {\n key: \"abortAllRequests\",\n value: function abortAllRequests() {\n for (var xhrId in this.pendingRequests) {\n this.abortRequest(xhrId | 0);\n }\n }\n }, {\n key: \"abortRequest\",\n value: function abortRequest(xhrId) {\n var xhr = this.pendingRequests[xhrId].xhr;\n delete this.pendingRequests[xhrId];\n xhr.abort();\n }\n }]);\n\n return NetworkManager;\n}();\n\nvar PDFNetworkStream =\n/*#__PURE__*/\nfunction () {\n function PDFNetworkStream(source) {\n _classCallCheck(this, PDFNetworkStream);\n\n this._source = source;\n this._manager = new NetworkManager(source.url, {\n httpHeaders: source.httpHeaders,\n withCredentials: source.withCredentials\n });\n this._rangeChunkSize = source.rangeChunkSize;\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n\n _createClass(PDFNetworkStream, [{\n key: \"_onRangeRequestReaderClosed\",\n value: function _onRangeRequestReaderClosed(reader) {\n var i = this._rangeRequestReaders.indexOf(reader);\n\n if (i >= 0) {\n this._rangeRequestReaders.splice(i, 1);\n }\n }\n }, {\n key: \"getFullReader\",\n value: function getFullReader() {\n (0, _util.assert)(!this._fullRequestReader);\n this._fullRequestReader = new PDFNetworkStreamFullRequestReader(this._manager, this._source);\n return this._fullRequestReader;\n }\n }, {\n key: \"getRangeReader\",\n value: function getRangeReader(begin, end) {\n var reader = new PDFNetworkStreamRangeRequestReader(this._manager, begin, end);\n reader.onClosed = this._onRangeRequestReaderClosed.bind(this);\n\n this._rangeRequestReaders.push(reader);\n\n return reader;\n }\n }, {\n key: \"cancelAllRequests\",\n value: function cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n\n var readers = this._rangeRequestReaders.slice(0);\n\n readers.forEach(function (reader) {\n reader.cancel(reason);\n });\n }\n }]);\n\n return PDFNetworkStream;\n}();\n\nexports.PDFNetworkStream = PDFNetworkStream;\n\nvar PDFNetworkStreamFullRequestReader =\n/*#__PURE__*/\nfunction () {\n function PDFNetworkStreamFullRequestReader(manager, source) {\n _classCallCheck(this, PDFNetworkStreamFullRequestReader);\n\n this._manager = manager;\n var args = {\n onHeadersReceived: this._onHeadersReceived.bind(this),\n onDone: this._onDone.bind(this),\n onError: this._onError.bind(this),\n onProgress: this._onProgress.bind(this)\n };\n this._url = source.url;\n this._fullRequestId = manager.requestFull(args);\n this._headersReceivedCapability = (0, _util.createPromiseCapability)();\n this._disableRange = source.disableRange || false;\n this._contentLength = source.length;\n this._rangeChunkSize = source.rangeChunkSize;\n\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n\n this._isStreamingSupported = false;\n this._isRangeSupported = false;\n this._cachedChunks = [];\n this._requests = [];\n this._done = false;\n this._storedError = undefined;\n this._filename = null;\n this.onProgress = null;\n }\n\n _createClass(PDFNetworkStreamFullRequestReader, [{\n key: \"_onHeadersReceived\",\n value: function _onHeadersReceived() {\n var fullRequestXhrId = this._fullRequestId;\n\n var fullRequestXhr = this._manager.getRequestXhr(fullRequestXhrId);\n\n var getResponseHeader = function getResponseHeader(name) {\n return fullRequestXhr.getResponseHeader(name);\n };\n\n var _validateRangeRequest = (0, _network_utils.validateRangeRequestCapabilities)({\n getResponseHeader: getResponseHeader,\n isHttp: this._manager.isHttp,\n rangeChunkSize: this._rangeChunkSize,\n disableRange: this._disableRange\n }),\n allowRangeRequests = _validateRangeRequest.allowRangeRequests,\n suggestedLength = _validateRangeRequest.suggestedLength;\n\n if (allowRangeRequests) {\n this._isRangeSupported = true;\n }\n\n this._contentLength = suggestedLength || this._contentLength;\n this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);\n\n if (this._isRangeSupported) {\n this._manager.abortRequest(fullRequestXhrId);\n }\n\n this._headersReceivedCapability.resolve();\n }\n }, {\n key: \"_onDone\",\n value: function _onDone(args) {\n if (args) {\n if (this._requests.length > 0) {\n var requestCapability = this._requests.shift();\n\n requestCapability.resolve({\n value: args.chunk,\n done: false\n });\n } else {\n this._cachedChunks.push(args.chunk);\n }\n }\n\n this._done = true;\n\n if (this._cachedChunks.length > 0) {\n return;\n }\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n }\n }, {\n key: \"_onError\",\n value: function _onError(status) {\n var url = this._url;\n var exception = (0, _network_utils.createResponseStatusError)(status, url);\n this._storedError = exception;\n\n this._headersReceivedCapability.reject(exception);\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.reject(exception);\n });\n\n this._requests = [];\n this._cachedChunks = [];\n }\n }, {\n key: \"_onProgress\",\n value: function _onProgress(data) {\n if (this.onProgress) {\n this.onProgress({\n loaded: data.loaded,\n total: data.lengthComputable ? data.total : this._contentLength\n });\n }\n }\n }, {\n key: \"read\",\n value: function () {\n var _read = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee() {\n var chunk, requestCapability;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (!this._storedError) {\n _context.next = 2;\n break;\n }\n\n throw this._storedError;\n\n case 2:\n if (!(this._cachedChunks.length > 0)) {\n _context.next = 5;\n break;\n }\n\n chunk = this._cachedChunks.shift();\n return _context.abrupt(\"return\", {\n value: chunk,\n done: false\n });\n\n case 5:\n if (!this._done) {\n _context.next = 7;\n break;\n }\n\n return _context.abrupt(\"return\", {\n value: undefined,\n done: true\n });\n\n case 7:\n requestCapability = (0, _util.createPromiseCapability)();\n\n this._requests.push(requestCapability);\n\n return _context.abrupt(\"return\", requestCapability.promise);\n\n case 10:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function read() {\n return _read.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n this._done = true;\n\n this._headersReceivedCapability.reject(reason);\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n\n if (this._manager.isPendingRequest(this._fullRequestId)) {\n this._manager.abortRequest(this._fullRequestId);\n }\n\n this._fullRequestReader = null;\n }\n }, {\n key: \"filename\",\n get: function get() {\n return this._filename;\n }\n }, {\n key: \"isRangeSupported\",\n get: function get() {\n return this._isRangeSupported;\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return this._isStreamingSupported;\n }\n }, {\n key: \"contentLength\",\n get: function get() {\n return this._contentLength;\n }\n }, {\n key: \"headersReady\",\n get: function get() {\n return this._headersReceivedCapability.promise;\n }\n }]);\n\n return PDFNetworkStreamFullRequestReader;\n}();\n\nvar PDFNetworkStreamRangeRequestReader =\n/*#__PURE__*/\nfunction () {\n function PDFNetworkStreamRangeRequestReader(manager, begin, end) {\n _classCallCheck(this, PDFNetworkStreamRangeRequestReader);\n\n this._manager = manager;\n var args = {\n onDone: this._onDone.bind(this),\n onProgress: this._onProgress.bind(this)\n };\n this._requestId = manager.requestRange(begin, end, args);\n this._requests = [];\n this._queuedChunk = null;\n this._done = false;\n this.onProgress = null;\n this.onClosed = null;\n }\n\n _createClass(PDFNetworkStreamRangeRequestReader, [{\n key: \"_close\",\n value: function _close() {\n if (this.onClosed) {\n this.onClosed(this);\n }\n }\n }, {\n key: \"_onDone\",\n value: function _onDone(data) {\n var chunk = data.chunk;\n\n if (this._requests.length > 0) {\n var requestCapability = this._requests.shift();\n\n requestCapability.resolve({\n value: chunk,\n done: false\n });\n } else {\n this._queuedChunk = chunk;\n }\n\n this._done = true;\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n\n this._close();\n }\n }, {\n key: \"_onProgress\",\n value: function _onProgress(evt) {\n if (!this.isStreamingSupported && this.onProgress) {\n this.onProgress({\n loaded: evt.loaded\n });\n }\n }\n }, {\n key: \"read\",\n value: function () {\n var _read2 = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee2() {\n var chunk, requestCapability;\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n if (!(this._queuedChunk !== null)) {\n _context2.next = 4;\n break;\n }\n\n chunk = this._queuedChunk;\n this._queuedChunk = null;\n return _context2.abrupt(\"return\", {\n value: chunk,\n done: false\n });\n\n case 4:\n if (!this._done) {\n _context2.next = 6;\n break;\n }\n\n return _context2.abrupt(\"return\", {\n value: undefined,\n done: true\n });\n\n case 6:\n requestCapability = (0, _util.createPromiseCapability)();\n\n this._requests.push(requestCapability);\n\n return _context2.abrupt(\"return\", requestCapability.promise);\n\n case 9:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function read() {\n return _read2.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n this._done = true;\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n\n if (this._manager.isPendingRequest(this._requestId)) {\n this._manager.abortRequest(this._requestId);\n }\n\n this._close();\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return false;\n }\n }]);\n\n return PDFNetworkStreamRangeRequestReader;\n}();\n\n/***/ }),\n/* 201 */\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__(180));\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _network_utils = __w_pdfjs_require__(198);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction createFetchOptions(headers, withCredentials, abortController) {\n return {\n method: 'GET',\n headers: headers,\n signal: abortController && abortController.signal,\n mode: 'cors',\n credentials: withCredentials ? 'include' : 'same-origin',\n redirect: 'follow'\n };\n}\n\nvar PDFFetchStream =\n/*#__PURE__*/\nfunction () {\n function PDFFetchStream(source) {\n _classCallCheck(this, PDFFetchStream);\n\n this.source = source;\n this.isHttp = /^https?:/i.test(source.url);\n this.httpHeaders = this.isHttp && source.httpHeaders || {};\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n\n _createClass(PDFFetchStream, [{\n key: \"getFullReader\",\n value: function getFullReader() {\n (0, _util.assert)(!this._fullRequestReader);\n this._fullRequestReader = new PDFFetchStreamReader(this);\n return this._fullRequestReader;\n }\n }, {\n key: \"getRangeReader\",\n value: function getRangeReader(begin, end) {\n if (end <= this._progressiveDataLength) {\n return null;\n }\n\n var reader = new PDFFetchStreamRangeReader(this, begin, end);\n\n this._rangeRequestReaders.push(reader);\n\n return reader;\n }\n }, {\n key: \"cancelAllRequests\",\n value: function cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n\n var readers = this._rangeRequestReaders.slice(0);\n\n readers.forEach(function (reader) {\n reader.cancel(reason);\n });\n }\n }, {\n key: \"_progressiveDataLength\",\n get: function get() {\n return this._fullRequestReader ? this._fullRequestReader._loaded : 0;\n }\n }]);\n\n return PDFFetchStream;\n}();\n\nexports.PDFFetchStream = PDFFetchStream;\n\nvar PDFFetchStreamReader =\n/*#__PURE__*/\nfunction () {\n function PDFFetchStreamReader(stream) {\n var _this = this;\n\n _classCallCheck(this, PDFFetchStreamReader);\n\n this._stream = stream;\n this._reader = null;\n this._loaded = 0;\n this._filename = null;\n var source = stream.source;\n this._withCredentials = source.withCredentials || false;\n this._contentLength = source.length;\n this._headersCapability = (0, _util.createPromiseCapability)();\n this._disableRange = source.disableRange || false;\n this._rangeChunkSize = source.rangeChunkSize;\n\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n\n if (typeof AbortController !== 'undefined') {\n this._abortController = new AbortController();\n }\n\n this._isStreamingSupported = !source.disableStream;\n this._isRangeSupported = !source.disableRange;\n this._headers = new Headers();\n\n for (var property in this._stream.httpHeaders) {\n var value = this._stream.httpHeaders[property];\n\n if (typeof value === 'undefined') {\n continue;\n }\n\n this._headers.append(property, value);\n }\n\n var url = source.url;\n fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(function (response) {\n if (!(0, _network_utils.validateResponseStatus)(response.status)) {\n throw (0, _network_utils.createResponseStatusError)(response.status, url);\n }\n\n _this._reader = response.body.getReader();\n\n _this._headersCapability.resolve();\n\n var getResponseHeader = function getResponseHeader(name) {\n return response.headers.get(name);\n };\n\n var _validateRangeRequest = (0, _network_utils.validateRangeRequestCapabilities)({\n getResponseHeader: getResponseHeader,\n isHttp: _this._stream.isHttp,\n rangeChunkSize: _this._rangeChunkSize,\n disableRange: _this._disableRange\n }),\n allowRangeRequests = _validateRangeRequest.allowRangeRequests,\n suggestedLength = _validateRangeRequest.suggestedLength;\n\n _this._isRangeSupported = allowRangeRequests;\n _this._contentLength = suggestedLength || _this._contentLength;\n _this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);\n\n if (!_this._isStreamingSupported && _this._isRangeSupported) {\n _this.cancel(new _util.AbortException('Streaming is disabled.'));\n }\n })[\"catch\"](this._headersCapability.reject);\n this.onProgress = null;\n }\n\n _createClass(PDFFetchStreamReader, [{\n key: \"read\",\n value: function () {\n var _read = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee() {\n var _ref, value, done, buffer;\n\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return this._headersCapability.promise;\n\n case 2:\n _context.next = 4;\n return this._reader.read();\n\n case 4:\n _ref = _context.sent;\n value = _ref.value;\n done = _ref.done;\n\n if (!done) {\n _context.next = 9;\n break;\n }\n\n return _context.abrupt(\"return\", {\n value: value,\n done: done\n });\n\n case 9:\n this._loaded += value.byteLength;\n\n if (this.onProgress) {\n this.onProgress({\n loaded: this._loaded,\n total: this._contentLength\n });\n }\n\n buffer = new Uint8Array(value).buffer;\n return _context.abrupt(\"return\", {\n value: buffer,\n done: false\n });\n\n case 13:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function read() {\n return _read.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n if (this._reader) {\n this._reader.cancel(reason);\n }\n\n if (this._abortController) {\n this._abortController.abort();\n }\n }\n }, {\n key: \"headersReady\",\n get: function get() {\n return this._headersCapability.promise;\n }\n }, {\n key: \"filename\",\n get: function get() {\n return this._filename;\n }\n }, {\n key: \"contentLength\",\n get: function get() {\n return this._contentLength;\n }\n }, {\n key: \"isRangeSupported\",\n get: function get() {\n return this._isRangeSupported;\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return this._isStreamingSupported;\n }\n }]);\n\n return PDFFetchStreamReader;\n}();\n\nvar PDFFetchStreamRangeReader =\n/*#__PURE__*/\nfunction () {\n function PDFFetchStreamRangeReader(stream, begin, end) {\n var _this2 = this;\n\n _classCallCheck(this, PDFFetchStreamRangeReader);\n\n this._stream = stream;\n this._reader = null;\n this._loaded = 0;\n var source = stream.source;\n this._withCredentials = source.withCredentials || false;\n this._readCapability = (0, _util.createPromiseCapability)();\n this._isStreamingSupported = !source.disableStream;\n\n if (typeof AbortController !== 'undefined') {\n this._abortController = new AbortController();\n }\n\n this._headers = new Headers();\n\n for (var property in this._stream.httpHeaders) {\n var value = this._stream.httpHeaders[property];\n\n if (typeof value === 'undefined') {\n continue;\n }\n\n this._headers.append(property, value);\n }\n\n this._headers.append('Range', \"bytes=\".concat(begin, \"-\").concat(end - 1));\n\n var url = source.url;\n fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(function (response) {\n if (!(0, _network_utils.validateResponseStatus)(response.status)) {\n throw (0, _network_utils.createResponseStatusError)(response.status, url);\n }\n\n _this2._readCapability.resolve();\n\n _this2._reader = response.body.getReader();\n });\n this.onProgress = null;\n }\n\n _createClass(PDFFetchStreamRangeReader, [{\n key: \"read\",\n value: function () {\n var _read2 = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee2() {\n var _ref2, value, done, buffer;\n\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return this._readCapability.promise;\n\n case 2:\n _context2.next = 4;\n return this._reader.read();\n\n case 4:\n _ref2 = _context2.sent;\n value = _ref2.value;\n done = _ref2.done;\n\n if (!done) {\n _context2.next = 9;\n break;\n }\n\n return _context2.abrupt(\"return\", {\n value: value,\n done: done\n });\n\n case 9:\n this._loaded += value.byteLength;\n\n if (this.onProgress) {\n this.onProgress({\n loaded: this._loaded\n });\n }\n\n buffer = new Uint8Array(value).buffer;\n return _context2.abrupt(\"return\", {\n value: buffer,\n done: false\n });\n\n case 13:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function read() {\n return _read2.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n if (this._reader) {\n this._reader.cancel(reason);\n }\n\n if (this._abortController) {\n this._abortController.abort();\n }\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return this._isStreamingSupported;\n }\n }]);\n\n return PDFFetchStreamRangeReader;\n}();\n\n/***/ })\n/******/ ]);\n});\n//# sourceMappingURL=pdf.js.map","// 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","'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\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","// 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","/*!\n * Signature Pad v3.0.0-beta.3 | https://github.com/szimek/signature_pad\n * (c) 2018 Szymon Nowak | Released under the MIT license\n */\n\nclass Point {\n constructor(x, y, time) {\n this.x = x;\n this.y = y;\n this.time = time || Date.now();\n }\n distanceTo(start) {\n return Math.sqrt(Math.pow(this.x - start.x, 2) + Math.pow(this.y - start.y, 2));\n }\n equals(other) {\n return this.x === other.x && this.y === other.y && this.time === other.time;\n }\n velocityFrom(start) {\n return (this.time !== start.time) ? this.distanceTo(start) / (this.time - start.time) : 0;\n }\n}\n\nclass Bezier {\n constructor(startPoint, control2, control1, endPoint, startWidth, endWidth) {\n this.startPoint = startPoint;\n this.control2 = control2;\n this.control1 = control1;\n this.endPoint = endPoint;\n this.startWidth = startWidth;\n this.endWidth = endWidth;\n }\n static fromPoints(points, widths) {\n const c2 = this.calculateControlPoints(points[0], points[1], points[2]).c2;\n const c3 = this.calculateControlPoints(points[1], points[2], points[3]).c1;\n return new Bezier(points[1], c2, c3, points[2], widths.start, widths.end);\n }\n static calculateControlPoints(s1, s2, s3) {\n const dx1 = s1.x - s2.x;\n const dy1 = s1.y - s2.y;\n const dx2 = s2.x - s3.x;\n const dy2 = s2.y - s3.y;\n const m1 = { x: (s1.x + s2.x) / 2.0, y: (s1.y + s2.y) / 2.0 };\n const m2 = { x: (s2.x + s3.x) / 2.0, y: (s2.y + s3.y) / 2.0 };\n const l1 = Math.sqrt((dx1 * dx1) + (dy1 * dy1));\n const l2 = Math.sqrt((dx2 * dx2) + (dy2 * dy2));\n const dxm = (m1.x - m2.x);\n const dym = (m1.y - m2.y);\n const k = l2 / (l1 + l2);\n const cm = { x: m2.x + (dxm * k), y: m2.y + (dym * k) };\n const tx = s2.x - cm.x;\n const ty = s2.y - cm.y;\n return {\n c1: new Point(m1.x + tx, m1.y + ty),\n c2: new Point(m2.x + tx, m2.y + ty),\n };\n }\n length() {\n const steps = 10;\n let length = 0;\n let px;\n let py;\n for (let i = 0; i <= steps; i += 1) {\n const t = i / steps;\n const cx = this.point(t, this.startPoint.x, this.control1.x, this.control2.x, this.endPoint.x);\n const cy = this.point(t, this.startPoint.y, this.control1.y, this.control2.y, this.endPoint.y);\n if (i > 0) {\n const xdiff = cx - px;\n const ydiff = cy - py;\n length += Math.sqrt((xdiff * xdiff) + (ydiff * ydiff));\n }\n px = cx;\n py = cy;\n }\n return length;\n }\n point(t, start, c1, c2, end) {\n return (start * (1.0 - t) * (1.0 - t) * (1.0 - t))\n + (3.0 * c1 * (1.0 - t) * (1.0 - t) * t)\n + (3.0 * c2 * (1.0 - t) * t * t)\n + (end * t * t * t);\n }\n}\n\nfunction throttle(fn, wait = 250) {\n let previous = 0;\n let timeout = null;\n let result;\n let storedContext;\n let storedArgs;\n const later = () => {\n previous = Date.now();\n timeout = null;\n result = fn.apply(storedContext, storedArgs);\n if (!timeout) {\n storedContext = null;\n storedArgs = [];\n }\n };\n return function (...args) {\n const now = Date.now();\n const remaining = wait - (now - previous);\n storedContext = this;\n storedArgs = args;\n if (remaining <= 0 || remaining > wait) {\n if (timeout) {\n clearTimeout(timeout);\n timeout = null;\n }\n previous = now;\n result = fn.apply(storedContext, storedArgs);\n if (!timeout) {\n storedContext = null;\n storedArgs = [];\n }\n }\n else if (!timeout) {\n timeout = window.setTimeout(later, remaining);\n }\n return result;\n };\n}\n\nclass SignaturePad {\n constructor(canvas, options = {}) {\n this.canvas = canvas;\n this.options = options;\n this._handleMouseDown = (event) => {\n if (event.which === 1) {\n this._mouseButtonDown = true;\n this._strokeBegin(event);\n }\n };\n this._handleMouseMove = (event) => {\n if (this._mouseButtonDown) {\n this._strokeMoveUpdate(event);\n }\n };\n this._handleMouseUp = (event) => {\n if (event.which === 1 && this._mouseButtonDown) {\n this._mouseButtonDown = false;\n this._strokeEnd(event);\n }\n };\n this._handleTouchStart = (event) => {\n event.preventDefault();\n if (event.targetTouches.length === 1) {\n const touch = event.changedTouches[0];\n this._strokeBegin(touch);\n }\n };\n this._handleTouchMove = (event) => {\n event.preventDefault();\n const touch = event.targetTouches[0];\n this._strokeMoveUpdate(touch);\n };\n this._handleTouchEnd = (event) => {\n const wasCanvasTouched = event.target === this.canvas;\n if (wasCanvasTouched) {\n event.preventDefault();\n const touch = event.changedTouches[0];\n this._strokeEnd(touch);\n }\n };\n this.velocityFilterWeight = options.velocityFilterWeight || 0.7;\n this.minWidth = options.minWidth || 0.5;\n this.maxWidth = options.maxWidth || 2.5;\n this.throttle = ('throttle' in options ? options.throttle : 16);\n this.minDistance = ('minDistance' in options ? options.minDistance : 5);\n if (this.throttle) {\n this._strokeMoveUpdate = throttle(SignaturePad.prototype._strokeUpdate, this.throttle);\n }\n else {\n this._strokeMoveUpdate = SignaturePad.prototype._strokeUpdate;\n }\n this.dotSize = options.dotSize || function () {\n return (this.minWidth + this.maxWidth) / 2;\n };\n this.penColor = options.penColor || 'black';\n this.backgroundColor = options.backgroundColor || 'rgba(0,0,0,0)';\n this.onBegin = options.onBegin;\n this.onEnd = options.onEnd;\n this._ctx = canvas.getContext('2d');\n this.clear();\n this.on();\n }\n clear() {\n const ctx = this._ctx;\n const canvas = this.canvas;\n ctx.fillStyle = this.backgroundColor;\n ctx.clearRect(0, 0, canvas.width, canvas.height);\n ctx.fillRect(0, 0, canvas.width, canvas.height);\n this._data = [];\n this._reset();\n this._isEmpty = true;\n }\n fromDataURL(dataUrl, options = {}, callback) {\n const image = new Image();\n const ratio = options.ratio || window.devicePixelRatio || 1;\n const width = options.width || (this.canvas.width / ratio);\n const height = options.height || (this.canvas.height / ratio);\n this._reset();\n image.onload = () => {\n this._ctx.drawImage(image, 0, 0, width, height);\n if (callback) {\n callback();\n }\n };\n image.onerror = (error) => {\n if (callback) {\n callback(error);\n }\n };\n image.src = dataUrl;\n this._isEmpty = false;\n }\n toDataURL(type = 'image/png', encoderOptions) {\n switch (type) {\n case 'image/svg+xml':\n return this._toSVG();\n default:\n return this.canvas.toDataURL(type, encoderOptions);\n }\n }\n on() {\n this.canvas.style.touchAction = 'none';\n this.canvas.style.msTouchAction = 'none';\n if (window.PointerEvent) {\n this._handlePointerEvents();\n }\n else {\n this._handleMouseEvents();\n if ('ontouchstart' in window) {\n this._handleTouchEvents();\n }\n }\n }\n off() {\n this.canvas.style.touchAction = 'auto';\n this.canvas.style.msTouchAction = 'auto';\n this.canvas.removeEventListener('pointerdown', this._handleMouseDown);\n this.canvas.removeEventListener('pointermove', this._handleMouseMove);\n document.removeEventListener('pointerup', this._handleMouseUp);\n this.canvas.removeEventListener('mousedown', this._handleMouseDown);\n this.canvas.removeEventListener('mousemove', this._handleMouseMove);\n document.removeEventListener('mouseup', this._handleMouseUp);\n this.canvas.removeEventListener('touchstart', this._handleTouchStart);\n this.canvas.removeEventListener('touchmove', this._handleTouchMove);\n this.canvas.removeEventListener('touchend', this._handleTouchEnd);\n }\n isEmpty() {\n return this._isEmpty;\n }\n fromData(pointGroups) {\n this.clear();\n this._fromData(pointGroups, ({ color, curve }) => this._drawCurve({ color, curve }), ({ color, point }) => this._drawDot({ color, point }));\n this._data = pointGroups;\n }\n toData() {\n return this._data;\n }\n _strokeBegin(event) {\n const newPointGroup = {\n color: this.penColor,\n points: [],\n };\n this._data.push(newPointGroup);\n this._reset();\n this._strokeUpdate(event);\n if (typeof this.onBegin === 'function') {\n this.onBegin(event);\n }\n }\n _strokeUpdate(event) {\n const x = event.clientX;\n const y = event.clientY;\n const point = this._createPoint(x, y);\n const lastPointGroup = this._data[this._data.length - 1];\n const lastPoints = lastPointGroup.points;\n const lastPoint = lastPoints.length > 0 && lastPoints[lastPoints.length - 1];\n const isLastPointTooClose = lastPoint ? point.distanceTo(lastPoint) <= this.minDistance : false;\n const color = lastPointGroup.color;\n if (!lastPoint || !(lastPoint && isLastPointTooClose)) {\n const curve = this._addPoint(point);\n if (!lastPoint) {\n this._drawDot({ color, point });\n }\n else if (curve) {\n this._drawCurve({ color, curve });\n }\n lastPoints.push({\n time: point.time,\n x: point.x,\n y: point.y,\n });\n }\n }\n _strokeEnd(event) {\n this._strokeUpdate(event);\n if (typeof this.onEnd === 'function') {\n this.onEnd(event);\n }\n }\n _handlePointerEvents() {\n this._mouseButtonDown = false;\n this.canvas.addEventListener('pointerdown', this._handleMouseDown);\n this.canvas.addEventListener('pointermove', this._handleMouseMove);\n document.addEventListener('pointerup', this._handleMouseUp);\n }\n _handleMouseEvents() {\n this._mouseButtonDown = false;\n this.canvas.addEventListener('mousedown', this._handleMouseDown);\n this.canvas.addEventListener('mousemove', this._handleMouseMove);\n document.addEventListener('mouseup', this._handleMouseUp);\n }\n _handleTouchEvents() {\n this.canvas.addEventListener('touchstart', this._handleTouchStart);\n this.canvas.addEventListener('touchmove', this._handleTouchMove);\n this.canvas.addEventListener('touchend', this._handleTouchEnd);\n }\n _reset() {\n this._lastPoints = [];\n this._lastVelocity = 0;\n this._lastWidth = (this.minWidth + this.maxWidth) / 2;\n this._ctx.fillStyle = this.penColor;\n }\n _createPoint(x, y) {\n const rect = this.canvas.getBoundingClientRect();\n return new Point(x - rect.left, y - rect.top, new Date().getTime());\n }\n _addPoint(point) {\n const { _lastPoints } = this;\n _lastPoints.push(point);\n if (_lastPoints.length > 2) {\n if (_lastPoints.length === 3) {\n _lastPoints.unshift(_lastPoints[0]);\n }\n const widths = this._calculateCurveWidths(_lastPoints[1], _lastPoints[2]);\n const curve = Bezier.fromPoints(_lastPoints, widths);\n _lastPoints.shift();\n return curve;\n }\n return null;\n }\n _calculateCurveWidths(startPoint, endPoint) {\n const velocity = (this.velocityFilterWeight * endPoint.velocityFrom(startPoint))\n + ((1 - this.velocityFilterWeight) * this._lastVelocity);\n const newWidth = this._strokeWidth(velocity);\n const widths = {\n end: newWidth,\n start: this._lastWidth,\n };\n this._lastVelocity = velocity;\n this._lastWidth = newWidth;\n return widths;\n }\n _strokeWidth(velocity) {\n return Math.max(this.maxWidth / (velocity + 1), this.minWidth);\n }\n _drawCurveSegment(x, y, width) {\n const ctx = this._ctx;\n ctx.moveTo(x, y);\n ctx.arc(x, y, width, 0, 2 * Math.PI, false);\n this._isEmpty = false;\n }\n _drawCurve({ color, curve }) {\n const ctx = this._ctx;\n const widthDelta = curve.endWidth - curve.startWidth;\n const drawSteps = Math.floor(curve.length()) * 2;\n ctx.beginPath();\n ctx.fillStyle = color;\n for (let i = 0; i < drawSteps; i += 1) {\n const t = i / drawSteps;\n const tt = t * t;\n const ttt = tt * t;\n const u = 1 - t;\n const uu = u * u;\n const uuu = uu * u;\n let x = uuu * curve.startPoint.x;\n x += 3 * uu * t * curve.control1.x;\n x += 3 * u * tt * curve.control2.x;\n x += ttt * curve.endPoint.x;\n let y = uuu * curve.startPoint.y;\n y += 3 * uu * t * curve.control1.y;\n y += 3 * u * tt * curve.control2.y;\n y += ttt * curve.endPoint.y;\n const width = curve.startWidth + (ttt * widthDelta);\n this._drawCurveSegment(x, y, width);\n }\n ctx.closePath();\n ctx.fill();\n }\n _drawDot({ color, point }) {\n const ctx = this._ctx;\n const width = typeof this.dotSize === 'function' ? this.dotSize() : this.dotSize;\n ctx.beginPath();\n this._drawCurveSegment(point.x, point.y, width);\n ctx.closePath();\n ctx.fillStyle = color;\n ctx.fill();\n }\n _fromData(pointGroups, drawCurve, drawDot) {\n for (const group of pointGroups) {\n const { color, points } = group;\n if (points.length > 1) {\n for (let j = 0; j < points.length; j += 1) {\n const basicPoint = points[j];\n const point = new Point(basicPoint.x, basicPoint.y, basicPoint.time);\n this.penColor = color;\n if (j === 0) {\n this._reset();\n }\n const curve = this._addPoint(point);\n if (curve) {\n drawCurve({ color, curve });\n }\n }\n }\n else {\n this._reset();\n drawDot({\n color,\n point: points[0],\n });\n }\n }\n }\n _toSVG() {\n const pointGroups = this._data;\n const ratio = Math.max(window.devicePixelRatio || 1, 1);\n const minX = 0;\n const minY = 0;\n const maxX = this.canvas.width / ratio;\n const maxY = this.canvas.height / ratio;\n const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg');\n svg.setAttribute('width', this.canvas.width.toString());\n svg.setAttribute('height', this.canvas.height.toString());\n this._fromData(pointGroups, ({ color, curve }) => {\n const path = document.createElement('path');\n if (!isNaN(curve.control1.x) &&\n !isNaN(curve.control1.y) &&\n !isNaN(curve.control2.x) &&\n !isNaN(curve.control2.y)) {\n const attr = `M ${curve.startPoint.x.toFixed(3)},${curve.startPoint.y.toFixed(3)} `\n + `C ${curve.control1.x.toFixed(3)},${curve.control1.y.toFixed(3)} `\n + `${curve.control2.x.toFixed(3)},${curve.control2.y.toFixed(3)} `\n + `${curve.endPoint.x.toFixed(3)},${curve.endPoint.y.toFixed(3)}`;\n path.setAttribute('d', attr);\n path.setAttribute('stroke-width', (curve.endWidth * 2.25).toFixed(3));\n path.setAttribute('stroke', color);\n path.setAttribute('fill', 'none');\n path.setAttribute('stroke-linecap', 'round');\n svg.appendChild(path);\n }\n }, ({ color, point }) => {\n const circle = document.createElement('circle');\n const dotSize = typeof this.dotSize === 'function' ? this.dotSize() : this.dotSize;\n circle.setAttribute('r', dotSize.toString());\n circle.setAttribute('cx', point.x.toString());\n circle.setAttribute('cy', point.y.toString());\n circle.setAttribute('fill', color);\n svg.appendChild(circle);\n });\n const prefix = 'data:image/svg+xml;base64,';\n const header = '';\n let body = svg.innerHTML;\n if (body === undefined) {\n const dummy = document.createElement('dummy');\n const nodes = svg.childNodes;\n dummy.innerHTML = '';\n for (let i = 0; i < nodes.length; i += 1) {\n dummy.appendChild(nodes[i].cloneNode(true));\n }\n body = dummy.innerHTML;\n }\n const footer = '';\n const data = header + body + footer;\n return prefix + btoa(data);\n }\n}\n\nexport default SignaturePad;\n"],"sourceRoot":""}