{"version":3,"sources":["webpack:///./src/views/Home/Page/Perview.vue?21f5","webpack:///./node_modules/base64-js/index.js","webpack:///./node_modules/pdfjs-dist/es5/build/pdf.worker.js","webpack:///./src/api/index.js","webpack:///./node_modules/pdfjs-dist/es5/build/pdf.js","webpack:///./node_modules/core-js/internals/inherit-if-required.js","webpack:///./node_modules/ieee754/index.js","webpack:///./node_modules/vue-pdf/src/pdfjsWrapper.js","webpack:///./node_modules/core-js/modules/es.number.constructor.js","webpack:///./node_modules/buffer/index.js","webpack:///./node_modules/vue-resize-sensor/src/resize-sensor.vue?56a6","webpack:///./node_modules/isarray/index.js","webpack:///./node_modules/pdfjs-dist/es5/web/pdf_viewer.js","webpack:///./node_modules/vue-pdf/src/annotationLayer.css?9eb7","webpack:///./src/views/Home/Page/Perview.vue?41a0","webpack:///./node_modules/vue-resize-sensor/src/resize-sensor.vue","webpack:///node_modules/vue-resize-sensor/src/resize-sensor.vue","webpack:///./node_modules/vue-resize-sensor/src/resize-sensor.vue?66bd","webpack:///./node_modules/vue-pdf/src/componentFactory.js","webpack:///node_modules/vue-pdf/src/vuePdfNoSss.vue","webpack:///./node_modules/vue-pdf/src/vuePdfNoSss.vue","webpack:///./node_modules/vue-pdf/src/vuePdfNoSss.vue?04aa","webpack:///src/views/Home/Page/Perview.vue","webpack:///./src/views/Home/Page/Perview.vue?0941","webpack:///./src/views/Home/Page/Perview.vue?420d"],"names":["exports","byteLength","toByteArray","fromByteArray","lookup","revLookup","Arr","Uint8Array","Array","code","i","len","length","charCodeAt","getLens","b64","Error","validLen","indexOf","placeHoldersLen","lens","_byteLength","tmp","arr","curByte","tripletToBase64","num","encodeChunk","uint8","start","end","output","push","join","extraBytes","parts","maxChunkLength","len2","module","Worker","getCertList","cert_type","search_name","search_unified_code","search_cert_number","search_business_unit_in_charge","page","limit","post","addCert","cert_number","name","unified_code","legal_person","start_up_funds_text","address","active_address","service_range","issuing_authority","business_unit_in_charge","push_time","validity_time_start","validity_time_end","register_time","editCert","cert_id","exportCert","setCertState","cert_state","setCertPrintState","print_state","getCertImg","state","delCert","getCertDetail","updatePass","password_old","password","root","factory","this","modules","installedModules","__w_pdfjs_require__","moduleId","l","call","m","c","d","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","_display_utils","addLinkAttributes","getFilenameFromUrl","LinkTarget","loadScript","PDFDateString","RenderingCancelledException","_api","build","getDocument","LoopbackPort","PDFDataRangeTransport","PDFWorker","version","_util","CMapCompressionType","createObjectURL","createPromiseCapability","createValidAbsoluteUrl","InvalidPDFException","MissingPDFException","OPS","PasswordResponses","PermissionFlag","removeNullCharacters","shadow","UnexpectedResponseException","UNSUPPORTED_FEATURES","Util","VerbosityLevel","_annotation_layer","AnnotationLayer","_api_compatibility","apiCompatibilityParams","_worker_options","GlobalWorkerOptions","_text_layer","renderTextLayer","_svg","SVGGraphics","_require","isNodeJS","PDFNodeStream","setPDFNetworkStreamFactory","params","PDFFetchStream","PDFNetworkStream","isFetchSupported","isValidFetchUrl","url","deprecated","StatTimer","DOMSVGFactory","DOMCMapReaderFactory","DOMCanvasFactory","DEFAULT_LINK_REL","PageViewport","_regenerator","_interopRequireDefault","obj","_createForOfIteratorHelper","allowArrayLike","it","iterator","isArray","_unsupportedIterableToArray","F","done","e","_e","f","TypeError","err","normalCompletion","didErr","step","next","_e2","minLen","_arrayLikeToArray","toString","slice","constructor","from","test","arr2","_typeof","_inherits","subClass","superClass","writable","configurable","_setPrototypeOf","setPrototypeOf","__proto__","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","result","Super","_getPrototypeOf","NewTarget","Reflect","construct","arguments","apply","_possibleConstructorReturn","self","_assertThisInitialized","ReferenceError","sham","Proxy","Date","getPrototypeOf","asyncGeneratorStep","gen","resolve","reject","_next","_throw","arg","info","error","Promise","then","_asyncToGenerator","fn","args","undefined","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","_createClass","protoProps","staticProps","SVG_NS","width","height","canvas","document","createElement","context","getContext","canvasAndContext","_ref","_ref$baseUrl","baseUrl","_ref$isCompressed","isCompressed","_fetch","fetch","_x","_ref3","mark","_callee2","_ref2","compressionType","_this","wrap","_context2","prev","BINARY","NONE","baseURI","abrupt","_ref4","_callee","response","cMapData","_context","ok","statusText","t0","arrayBuffer","t1","sent","t2","stringToBytes","text","t3","stop","_x3","reason","concat","request","XMLHttpRequest","open","responseType","onreadystatechange","readyState","DONE","status","responseText","send","_x2","assert","svg","createElementNS","setAttribute","type","_ref5","viewBox","scale","rotation","_ref5$offsetX","offsetX","_ref5$offsetY","offsetY","_ref5$dontFlip","dontFlip","rotateA","rotateB","rotateC","rotateD","offsetCanvasX","offsetCanvasY","centerX","centerY","Math","abs","transform","_ref6","_ref6$scale","_ref6$rotation","_ref6$offsetX","_ref6$offsetY","_ref6$dontFlip","x","y","applyTransform","rect","topLeft","bottomRight","applyInverseTransform","_BaseException","_super","msg","_this2","BaseException","SELF","BLANK","PARENT","TOP","link","_ref7","rel","_ref7$enabled","enabled","urlNullRemoved","href","title","onclick","targetStr","anchor","query","min","substring","lastIndexOf","pdfDateStringRegex","started","times","warn","now","_step","outBuf","longest","_iterator","time","_step2","_iterator2","_time","duration","padEnd","Response","ReadableStream","_ref8","URL","protocol","ex","src","script","onload","onerror","head","documentElement","appendChild","details","console","log","input","isString","RegExp","matches","exec","year","parseInt","month","day","hour","minute","second","universalTimeRelation","offsetHour","offsetMinute","UTC","runtime","Op","hasOwn","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","Context","_invoke","makeInvokeMethod","tryCatch","GenStateSuspendedStart","GenStateSuspendedYield","GenStateExecuting","GenStateCompleted","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","NativeIteratorPrototype","values","Gp","defineIteratorMethods","forEach","method","AsyncIterator","PromiseImpl","invoke","record","__await","unwrapped","previousPromise","enqueue","callInvokeWithMethodAndArg","doneResult","delegate","delegateResult","maybeInvokeDelegate","_sent","dispatchException","resultName","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","displayName","isGeneratorFunction","genFun","ctor","awrap","async","iter","keys","reverse","pop","skipTempReset","charAt","rootEntry","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","Function","webpackPolyfill","deprecate","paths","children","arrayByteLength","arraysToBytes","bytesToString","getVerbosityLevel","isArrayBuffer","isArrayEqual","isBool","isEmptyObj","isNum","isSameOrigin","setVerbosityLevel","string32","stringToPDFString","stringToUTF8String","utf8StringToString","unreachable","IsEvalSupportedCached","IsLittleEndianCached","FormatError","UnknownErrorException","TextRenderingMode","StreamType","PasswordException","AbortException","ImageKind","FontType","AnnotationType","AnnotationStateModelType","AnnotationReviewState","AnnotationReplyType","AnnotationMarkedState","AnnotationFlag","AnnotationFieldFlag","AnnotationBorderStyleType","IDENTITY_MATRIX","FONT_IDENTITY_MATRIX","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","INFOS","STREAM","dependency","setLineWidth","setLineCap","setLineJoin","setMiterLimit","setDash","setRenderingIntent","setFlatness","setGState","save","restore","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","errorTilingPattern","errorExtGState","errorXObject","errorFontLoadType3","errorFontState","errorFontMissing","errorFontTranslate","errorColorSpace","errorOperatorList","errorFontToUnicode","errorFontLoadNative","errorFontGetPath","NEED_PASSWORD","INCORRECT_PASSWORD","verbosity","level","Number","isInteger","cond","otherUrl","base","origin","other","_isValidProtocol","absoluteUrl","prop","message","_BaseException2","_super2","_BaseException3","_super3","_BaseException4","_super4","_BaseException5","_super5","_this3","_BaseException6","_super6","_BaseException7","_super7","NullCharactersRegExp","str","replace","bytes","MAX_ARGUMENT_COUNT","String","fromCharCode","strBuf","chunkEnd","chunk","subarray","resultLength","pos","data","_i","item","itemLength","set","isLittleEndian","buffer8","view32","Uint32Array","buffer","isEvalSupported","rgbBuf","g","b","m1","m2","xt","yt","p1","p2","p3","p4","max","v","transpose","a","first","sqrt","sx","sy","rect1","rect2","compare","orderedX","sort","orderedY","normalizeRect","PDFStringTranslateTable","_i2","_i3","decodeURIComponent","escape","unescape","encodeURIComponent","arr1","every","element","index","capability","isSettled","promise","digits","contentType","forceDataSchema","blob","Blob","ii","b1","b2","b3","d1","d2","d3","d4","_is_node","globalThis","_pdfjsCompatibilityChecked","hasDOM","window","userAgent","navigator","isIE","btoa","chars","Buffer","atob","Element","remove","parentNode","removeChild","div","classList","add","contains","OriginalDOMTokenListAdd","DOMTokenList","OriginalDOMTokenListRemove","_len","tokens","_key","_tokens","token","_len2","_key2","_tokens2","toggle","force","OriginalPushState","history","pushState","OriginalReplaceState","replaceState","startsWith","endsWith","includes","assign","log2","allSettled","isReadableStreamSupported","controller","close","Map","entries","Set","WeakMap","WeakSet","codePointAt","fromCodePoint","padStart","process","versions","nw","electron","$","global","getOwnPropertyDescriptor","createNonEnumerableProperty","redefine","setGlobal","copyConstructorProperties","isForced","options","source","FORCED","targetProperty","sourceProperty","TARGET","GLOBAL","STATIC","stat","noTargetGet","forced","check","DESCRIPTORS","propertyIsEnumerableModule","createPropertyDescriptor","toIndexedObject","toPrimitive","has","IE8_DOM_DEFINE","nativeGetOwnPropertyDescriptor","O","P","fails","nativePropertyIsEnumerable","propertyIsEnumerable","NASHORN_BUG","1","V","bitmap","IndexedObject","requireObjectCoercible","classof","split","isObject","PREFERRED_STRING","val","valueOf","EXISTS","definePropertyModule","anObject","nativeDefineProperty","Attributes","inspectSource","InternalStateModule","getInternalState","enforceInternalState","enforce","TEMPLATE","unsafe","simple","store","functionToString","SHARED","NATIVE_WEAK_MAP","objectHas","sharedKey","hiddenKeys","getterFor","TYPE","wmget","wmhas","wmset","metadata","STATE","shared","uid","IS_PURE","copyright","id","postfix","random","ownKeys","getOwnPropertyDescriptorModule","getBuiltIn","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","getOwnPropertySymbols","path","aFunction","variable","namespace","internalObjectKeys","enumBugKeys","getOwnPropertyNames","names","toLength","toAbsoluteIndex","createMethod","IS_INCLUDES","$this","el","fromIndex","toInteger","argument","ceil","floor","integer","replacement","feature","detection","normalize","POLYFILL","NATIVE","string","toLowerCase","entryUnbind","notARegExp","correctIsRegExpLogic","nativeStartsWith","CORRECT_IS_REGEXP_LOGIC","MDN_POLYFILL_BUG","proto","searchString","that","search","isRegExp","wellKnownSymbol","MATCH","NATIVE_SYMBOL","USE_SYMBOL_AS_UID","WellKnownSymbolsStore","createWellKnownSymbol","withoutSetter","METHOD_NAME","regexp","CONSTRUCTOR","METHOD","nativeEndsWith","endPosition","$includes","addToUnscopables","arrayMethodUsesToLength","USES_TO_LENGTH","ACCESSORS","UNSCOPABLES","ArrayPrototype","activeXDocument","defineProperties","html","documentCreateElement","GT","LT","PROTOTYPE","SCRIPT","IE_PROTO","EmptyConstructor","scriptTag","content","NullProtoObjectViaActiveX","write","temp","parentWindow","NullProtoObjectViaIFrame","iframeDocument","iframe","JS","style","display","contentWindow","NullProtoObject","domain","ActiveXObject","Properties","objectKeys","cache","thrower","argument0","argument1","defineIterator","STRING_ITERATOR","setInternalState","iterated","point","CONVERT_TO_STRING","S","position","size","codeAt","createIteratorConstructor","setToStringTag","Iterators","IteratorsCore","BUGGY_SAFARI_ITERATORS","ITERATOR","KEYS","VALUES","ENTRIES","returnThis","Iterable","NAME","IteratorConstructor","DEFAULT","IS_SET","CurrentIteratorPrototype","methods","KEY","getIterationMethod","KIND","defaultIterator","IterablePrototype","TO_STRING_TAG","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","PrototypeOfArrayIteratorPrototype","arrayIterator","toObject","CORRECT_PROTOTYPE_GETTER","ObjectPrototype","TAG","aPossiblePrototype","setter","CORRECT_SETTER","checkCorrectnessOfIteration","INCORRECT_ITERATION","callWithSafeIterationClosing","isArrayIteratorMethod","createProperty","getIteratorMethod","arrayLike","C","argumentsLength","mapfn","mapping","returnMethod","propertyKey","TO_STRING_TAG_SUPPORT","classofRaw","CORRECT_ARGUMENTS","tryGet","tag","callee","SAFE_CLOSING","called","iteratorWithReturn","SKIP_CLOSING","ITERATION_SUPPORT","nativeAssign","A","B","symbol","alphabet","chr","T","j","LN2","number","isFinite","ArrayBufferViewCore","speciesConstructor","aTypedArray","aTypedArrayConstructor","exportTypedArrayMethod","$slice","Int8Array","list","NATIVE_ARRAY_BUFFER","Int8ArrayPrototype","Uint8ClampedArray","Uint8ClampedArrayPrototype","TypedArray","TypedArrayPrototype","isPrototypeOf","TYPED_ARRAY_TAG","NATIVE_ARRAY_BUFFER_VIEWS","opera","TYPED_ARRAY_TAG_REQIRED","TypedArrayConstructorsList","Int16Array","Uint16Array","Int32Array","Float32Array","Float64Array","isView","klass","isTypedArray","ARRAY","TypedArrayConstructor","exportTypedArrayStaticMethod","ArrayBuffer","DataView","SPECIES","defaultConstructor","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","task","microtask","promiseResolve","hostReportErrors","newPromiseCapabilityModule","perform","V8_VERSION","PROMISE","getInternalPromiseState","PromiseConstructor","$fetch","newPromiseCapability","newGenericPromiseCapability","IS_NODE","DISPATCH_EVENT","createEvent","dispatchEvent","UNHANDLED_REJECTION","REJECTION_HANDLED","PENDING","FULFILLED","HANDLED","UNHANDLED","GLOBAL_CORE_JS_PROMISE","PromiseRejectionEvent","FakePromise","all","isThenable","notify","isReject","notified","chain","reactions","exited","reaction","handler","fail","rejection","onHandleUnhandled","enter","exit","onUnhandled","event","initEvent","IS_UNHANDLED","isUnhandled","emit","parent","unwrap","internalReject","internalResolve","wrapper","executor","onFulfilled","onRejected","$promiseResolve","counter","remaining","alreadyCalled","race","CONSTRUCTOR_NAME","Result","stopped","AS_ENTRIES","IS_ITERATOR","iterFn","boundFunction","defer","channel","port","IS_IOS","location","setImmediate","clear","clearImmediate","MessageChannel","Dispatch","queue","ONREADYSTATECHANGE","run","runner","listener","postMessage","host","nextTick","port2","port1","onmessage","addEventListener","importScripts","setTimeout","flush","last","node","macrotask","MutationObserver","WebKitMutationObserver","queueMicrotaskDescriptor","queueMicrotask","createTextNode","observe","characterData","promiseCapability","PromiseCapability","$$resolve","$$reject","match","v8","NON_GENERIC","real","onFinally","isFunction","EOF","USE_NATIVE_URL","arrayFrom","toASCII","URLSearchParamsModule","NativeURL","URLSearchParams","getInternalSearchParamsState","getState","getInternalURLState","pow","INVALID_AUTHORITY","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","numbersSeen","ipv4Piece","swaps","swap","pieceIndex","compress","pointer","char","findLongestZeroSequence","ipv6","maxIndex","maxLength","currStart","currLength","serializeHost","ignore0","unshift","fragmentPercentEncodeSet","pathPercentEncodeSet","userinfoPercentEncodeSet","specialSchemes","ftp","file","http","https","ws","wss","scheme","includesCredentials","username","cannotHaveUsernamePasswordPort","cannotBeABaseURL","isWindowsDriveLetter","normalized","startsWithWindowsDriveLetter","third","shortenURLsPath","pathSize","isSingleDot","segment","isDoubleDot","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","fragment","codePoint","encodedCodePoints","shift","URLConstructor","baseState","urlString","searchParams","searchParamsState","updateSearchParams","updateURL","serializeURL","getOrigin","getProtocol","getUsername","getPassword","getHost","hostname","getHostname","getPort","pathname","getPathname","getSearch","getSearchParams","hash","getHash","URLPrototype","accessorDescriptor","nativeCreateObjectURL","nativeRevokeObjectURL","revokeObjectURL","toJSON","maxInt","tMin","tMax","skew","damp","initialBias","initialN","delimiter","regexNonASCII","regexSeparators","OVERFLOW_ERROR","baseMinusTMin","stringFromCharCode","ucs2decode","extra","digitToBasic","digit","adapt","delta","numPoints","firstTime","k","encode","currentValue","inputLength","bias","basicLength","handledCPCount","handledCPCountPlusOne","RangeError","q","qMinusT","baseMinusT","label","encoded","labels","getIterator","Headers","URL_SEARCH_PARAMS","URL_SEARCH_PARAMS_ITERATOR","getInternalParamsState","getInternalIteratorState","plus","sequences","percentSequence","percentDecode","sequence","deserialize","find","replacer","serialize","parseSearchParams","attribute","attributes","validateArgumentsLength","passed","required","URLSearchParamsIterator","URLSearchParamsConstructor","entryIterator","entryNext","init","URLSearchParamsPrototype","append","splice","getAll","found","entriesIndex","sliceIndex","callback","body","headers","SymbolPolyfill","description","noop","NumberIsNaN","rethrowAssertionErrorRejection","typeIsObject","createArrayFromList","elements","ArrayBufferCopy","dest","destOffset","srcOffset","IsFiniteNonNegativeNumber","IsNonNegativeNumber","Infinity","Call","CreateAlgorithmFromUnderlyingMethod","underlyingObject","methodName","algoArgCount","extraArgs","PromiseCall","fullArgs","promiseResolvedWith","InvokeOrNoop","promiseRejectedWith","TransferArrayBuffer","IsDetachedBuffer","ValidateAndNormalizeHighWaterMark","highWaterMark","MakeSizeAlgorithmFromSizeFunction","originalPromise","originalPromiseThen","originalPromiseResolve","originalPromiseReject","newPromise","PerformPromiseThen","uponPromise","uponFulfillment","uponRejection","transformPromiseWith","fulfillmentHandler","rejectionHandler","setPromiseIsHandledToTrue","QUEUE_MAX_ARRAY_SIZE","SimpleQueue","_cursor","_size","_front","_elements","_back","oldBack","newBack","oldFront","newFront","oldCursor","newCursor","peek","front","cursor","ReadableStreamCreateReadResult","forAuthorCode","ReadableStreamReaderGenericInitialize","reader","stream","_forAuthorCode","_ownerReadableStream","_reader","_state","defaultReaderClosedPromiseInitialize","defaultReaderClosedPromiseInitializeAsResolved","defaultReaderClosedPromiseInitializeAsRejected","_storedError","ReadableStreamReaderGenericCancel","ReadableStreamCancel","ReadableStreamReaderGenericRelease","defaultReaderClosedPromiseReject","defaultReaderClosedPromiseResetToRejected","readerLockException","_closedPromise","_closedPromise_resolve","_closedPromise_reject","defaultReaderClosedPromiseResolve","CancelSteps","PullSteps","AcquireReadableStreamDefaultReader","ReadableStreamDefaultReader","ReadableStreamAddReadRequest","readRequest","_resolve","_reject","_readRequests","ReadableStreamFulfillReadRequest","ReadableStreamGetNumReadRequests","ReadableStreamHasDefaultReader","IsReadableStreamDefaultReader","_a","AsyncIteratorPrototype","IsReadableStream","IsReadableStreamLocked","defaultReaderBrandCheckException","cancel","read","ReadableStreamDefaultReaderRead","releaseLock","_disturbed","_readableStreamController","ReadableStreamAsyncIteratorPrototype","IsReadableStreamAsyncIterator","streamAsyncIteratorBrandCheckException","_asyncIteratorReader","return","_preventCancel","AcquireReadableStreamAsyncIterator","preventCancel","Boolean","DequeueValue","container","pair","_queue","_queueTotalSize","EnqueueValueWithSize","PeekQueueValue","ResetQueue","AbortSteps","ErrorSteps","WritableStream","underlyingSink","strategy","InitializeWritableStream","sizeAlgorithm","SetUpWritableStreamDefaultControllerFromUnderlyingSink","IsWritableStream","streamBrandCheckException","IsWritableStreamLocked","abort","WritableStreamAbort","WritableStreamCloseQueuedOrInFlight","WritableStreamClose","getWriter","AcquireWritableStreamDefaultWriter","WritableStreamDefaultWriter","CreateWritableStream","startAlgorithm","writeAlgorithm","closeAlgorithm","abortAlgorithm","WritableStreamDefaultController","SetUpWritableStreamDefaultController","_writer","_writableStreamController","_writeRequests","_inFlightWriteRequest","_closeRequest","_inFlightCloseRequest","_pendingAbortRequest","_backpressure","_promise","wasAlreadyErroring","_reason","_wasAlreadyErroring","WritableStreamStartErroring","closeRequest","writer","defaultWriterReadyPromiseResolve","WritableStreamDefaultControllerClose","WritableStreamAddWriteRequest","writeRequest","WritableStreamDealWithRejection","WritableStreamFinishErroring","WritableStreamDefaultWriterEnsureReadyPromiseRejected","WritableStreamHasOperationMarkedInFlight","_started","storedError","abortRequest","WritableStreamRejectCloseAndClosedPromiseIfNeeded","WritableStreamFinishInFlightWrite","WritableStreamFinishInFlightWriteWithError","WritableStreamFinishInFlightClose","defaultWriterClosedPromiseResolve","WritableStreamFinishInFlightCloseWithError","WritableStreamMarkCloseRequestInFlight","WritableStreamMarkFirstWriteRequestInFlight","defaultWriterClosedPromiseReject","WritableStreamUpdateBackpressure","backpressure","defaultWriterReadyPromiseReset","_ownerWritableStream","defaultWriterReadyPromiseInitialize","defaultWriterReadyPromiseInitializeAsResolved","defaultWriterClosedPromiseInitialize","defaultWriterReadyPromiseInitializeAsRejected","defaultWriterClosedPromiseInitializeAsResolved","defaultWriterClosedPromiseInitializeAsRejected","IsWritableStreamDefaultWriter","defaultWriterBrandCheckException","defaultWriterLockException","WritableStreamDefaultWriterGetDesiredSize","_readyPromise","WritableStreamDefaultWriterAbort","WritableStreamDefaultWriterClose","WritableStreamDefaultWriterRelease","WritableStreamDefaultWriterWrite","WritableStreamDefaultWriterCloseWithErrorPropagation","WritableStreamDefaultWriterEnsureClosedPromiseRejected","_closedPromiseState","defaultWriterClosedPromiseResetToRejected","_readyPromiseState","defaultWriterReadyPromiseReject","defaultWriterReadyPromiseResetToRejected","WritableStreamDefaultControllerGetDesiredSize","releasedError","chunkSize","WritableStreamDefaultControllerGetChunkSize","WritableStreamDefaultControllerWrite","IsWritableStreamDefaultController","_controlledWritableStream","WritableStreamDefaultControllerError","_abortAlgorithm","WritableStreamDefaultControllerClearAlgorithms","_strategySizeAlgorithm","_strategyHWM","_writeAlgorithm","_closeAlgorithm","WritableStreamDefaultControllerGetBackpressure","startResult","startPromise","WritableStreamDefaultControllerAdvanceQueueIfNeeded","chunkSizeE","WritableStreamDefaultControllerErrorIfNeeded","writeRecord","enqueueE","WritableStreamDefaultControllerProcessClose","WritableStreamDefaultControllerProcessWrite","sinkClosePromise","sinkWritePromise","desiredSize","_readyPromise_resolve","_readyPromise_reject","isAbortSignal","aborted","NativeDOMException","DOMException","isDOMExceptionConstructor","createDOMExceptionPolyfill","captureStackTrace","DOMException$1","ReadableStreamPipeTo","preventClose","preventAbort","signal","shuttingDown","currentWrite","actions","shutdownWithAction","map","action","pipeLoop","resolveLoop","rejectLoop","pipeStep","isOrBecomesErrored","shutdown","isOrBecomesClosed","destClosed_1","waitForWritesToFinish","oldCurrentWrite","originalIsError","originalError","doTheRest","finalize","newError","isError","removeEventListener","ReadableStreamDefaultController","IsReadableStreamDefaultController","defaultControllerBrandCheckException","ReadableStreamDefaultControllerGetDesiredSize","ReadableStreamDefaultControllerCanCloseOrEnqueue","ReadableStreamDefaultControllerClose","ReadableStreamDefaultControllerEnqueue","ReadableStreamDefaultControllerError","_cancelAlgorithm","ReadableStreamDefaultControllerClearAlgorithms","_controlledReadableStream","_closeRequested","ReadableStreamClose","ReadableStreamDefaultControllerCallPullIfNeeded","pendingPromise","shouldPull","ReadableStreamDefaultControllerShouldCallPull","_pulling","pullPromise","_pullAlgorithm","_pullAgain","ReadableStreamError","ReadableStreamDefaultControllerHasBackpressure","SetUpReadableStreamDefaultController","pullAlgorithm","cancelAlgorithm","SetUpReadableStreamDefaultControllerFromUnderlyingSource","underlyingSource","ReadableStreamTee","cloneForBranch2","reason1","reason2","branch1","branch2","resolveCancelPromise","reading","canceled1","canceled2","cancelPromise","readPromise","value1","value2","cancel1Algorithm","compositeReason","cancelResult","cancel2Algorithm","CreateReadableStream","NumberIsInteger","ReadableStreamBYOBRequest","IsReadableStreamBYOBRequest","byobRequestBrandCheckException","_view","respond","bytesWritten","_associatedReadableByteStreamController","ReadableByteStreamControllerRespond","respondWithNewView","view","ReadableByteStreamControllerRespondWithNewView","ReadableByteStreamController","IsReadableByteStreamController","byteStreamControllerBrandCheckException","_byobRequest","_pendingPullIntos","firstDescriptor","byteOffset","bytesFilled","byobRequest","SetUpReadableStreamBYOBRequest","ReadableByteStreamControllerGetDesiredSize","_controlledReadableByteStream","ReadableByteStreamControllerClose","ReadableByteStreamControllerEnqueue","ReadableByteStreamControllerError","ReadableByteStreamControllerClearAlgorithms","ReadableByteStreamControllerHandleQueueDrain","viewE","autoAllocateChunkSize","_autoAllocateChunkSize","bufferE","pullIntoDescriptor","elementSize","readerType","ReadableByteStreamControllerCallPullIfNeeded","ReadableByteStreamControllerShouldCallPull","ReadableByteStreamControllerClearPendingPullIntos","ReadableByteStreamControllerInvalidateBYOBRequest","ReadableByteStreamControllerCommitPullIntoDescriptor","filledView","ReadableByteStreamControllerConvertPullIntoDescriptor","ReadableStreamFulfillReadIntoRequest","ReadableByteStreamControllerEnqueueChunkToQueue","ReadableByteStreamControllerFillPullIntoDescriptorFromQueue","currentAlignedBytes","maxBytesToCopy","maxBytesFilled","maxAlignedBytes","totalBytesToCopyRemaining","ready","headOfQueue","bytesToCopy","destStart","ReadableByteStreamControllerFillHeadPullIntoDescriptor","ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue","ReadableByteStreamControllerShiftPendingPullInto","ReadableByteStreamControllerPullInto","BYTES_PER_ELEMENT","ReadableStreamAddReadIntoRequest","emptyView","ReadableByteStreamControllerRespondInClosedState","ReadableStreamHasBYOBReader","ReadableStreamGetNumReadIntoRequests","ReadableByteStreamControllerRespondInReadableState","remainderSize","remainder","ReadableByteStreamControllerRespondInternal","firstPendingPullInto","transferredBuffer","transferredView","SetUpReadableByteStreamController","SetUpReadableByteStreamControllerFromUnderlyingSource","underlyingByteSource","AcquireReadableStreamBYOBReader","ReadableStreamBYOBReader","readIntoRequest","_readIntoRequests","IsReadableStreamBYOBReader","byobReaderBrandCheckException","ReadableStreamBYOBReaderRead","InitializeReadableStream","typeString","streamBrandCheckException$1","getReader","pipeThrough","_b","readable","_c","pipeTo","tee","branches","sourceCancelPromise","ByteLengthQueuingStrategy","CountQueuingStrategy","TransformStream","transformer","writableStrategy","readableStrategy","writableSizeFunction","writableHighWaterMark","readableSizeFunction","readableHighWaterMark","writableType","writableSizeAlgorithm","readableType","startPromise_resolve","readableSizeAlgorithm","InitializeTransformStream","SetUpTransformStreamDefaultControllerFromTransformer","_transformStreamController","IsTransformStream","streamBrandCheckException$2","_readable","_writable","TransformStreamDefaultSinkWriteAlgorithm","TransformStreamDefaultSinkAbortAlgorithm","TransformStreamDefaultSinkCloseAlgorithm","TransformStreamDefaultSourcePullAlgorithm","TransformStreamErrorWritableAndUnblockWrite","_backpressureChangePromise","_backpressureChangePromise_resolve","TransformStreamSetBackpressure","TransformStreamError","TransformStreamDefaultControllerClearAlgorithms","TransformStreamDefaultController","IsTransformStreamDefaultController","defaultControllerBrandCheckException$1","readableController","_controlledTransformStream","TransformStreamDefaultControllerEnqueue","TransformStreamDefaultControllerError","terminate","TransformStreamDefaultControllerTerminate","SetUpTransformStreamDefaultController","transformAlgorithm","flushAlgorithm","_transformAlgorithm","_flushAlgorithm","transformResultE","transformMethod","TransformStreamDefaultControllerPerformTransform","transformPromise","backpressureChangePromise","flushPromise","collection","collectionStrong","InternalMetadataModule","inheritIfRequired","common","IS_MAP","IS_WEAK","ADDER","NativeConstructor","NativePrototype","exported","fixMethod","nativeMethod","getConstructor","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","$instance","dummy","setStrong","FREEZING","METADATA","isExtensible","setMetadata","objectID","weakData","fastKey","getWeakData","onFreeze","meta","preventExtensions","Wrapper","NewTargetPrototype","internalStateGetterFor","define","previous","getEntry","removed","callbackfn","ITERATOR_NAME","getInternalCollectionState","InternalWeakMap","collectionWeak","enforceIternalState","IS_IE11","$WeakMap","WeakMapPrototype","nativeDelete","nativeHas","nativeGet","nativeSet","frozen","ArrayIterationModule","$has","findIndex","uncaughtFrozenStore","UncaughtFrozenStore","findUncaughtFrozen","arraySpeciesCreate","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","specificCreate","filter","some","originalArray","nativeFromCodePoint","INCORRECT_LENGTH","arrayMethodHasSpeciesSupport","IS_CONCAT_SPREADABLE","MAX_SAFE_INTEGER","MAXIMUM_ALLOWED_INDEX_EXCEEDED","IS_CONCAT_SPREADABLE_SUPPORT","array","SPECIES_SUPPORT","isConcatSpreadable","spreadable","E","foo","nativeObjectCreate","getOwnPropertyNamesExternal","wrappedWellKnownSymbolModule","defineWellKnownSymbol","$forEach","SYMBOL","TO_PRIMITIVE","$stringify","nativeGetOwnPropertyNames","AllSymbols","ObjectPrototypeSymbols","StringToSymbolRegistry","SymbolToStringRegistry","QObject","USE_SETTER","findChild","setSymbolDescriptor","ObjectPrototypeDescriptor","isSymbol","$defineProperty","$defineProperties","properties","$getOwnPropertySymbols","$propertyIsEnumerable","$create","$getOwnPropertyDescriptor","$getOwnPropertyNames","IS_OBJECT_PROTOTYPE","keyFor","sym","useSetter","useSimple","FORCED_JSON_STRINGIFY","stringify","space","$replacer","windowNames","getWindowNames","NativeSymbol","EmptyStringDescriptionStore","SymbolWrapper","symbolPrototype","symbolToString","native","desc","JSON","$padStart","WEBKIT_BUG","repeat","IS_END","fillString","fillLen","stringFiller","stringLength","fillStr","intMaxLength","count","$padEnd","$values","TO_ENTRIES","PDFPageProxy","PDFDocumentProxy","_font_loader","_canvas","_message_handler","_metadata","_transport_stream","_webgl","default","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","_e3","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","_arr","_n","_d","_s","DEFAULT_RANGE_CHUNK_SIZE","RENDERING_CANCELLED_TIMEOUT","createPDFNetworkStream","pdfNetworkStreamFactory","PDFDocumentLoadingTask","range","rangeTransport","worker","pdfBytes","rangeChunkSize","CMapReaderFactory","ignoreErrors","stopAtErrors","fontExtraProperties","pdfBug","maxImageSize","disableFontFace","disableRange","disableStream","disableAutoFetch","workerParams","workerPort","fromPort","_worker","docId","destroyed","workerIdPromise","_fetchDocument","networkStreamPromise","networkStream","PDFDataTransportStream","initialData","progressiveDone","httpHeaders","withCredentials","workerId","messageHandler","MessageHandler","postMessageTransfers","transport","WorkerTransport","_transport","_capability","pdfDataRangeTransport","sendWithPromise","apiVersion","docBaseUrl","nextDocumentId","onPassword","onProgress","onUnsupportedFeature","transportDestroyed","destroy","_rangeListeners","_progressListeners","_progressiveReadListeners","_progressiveDoneListeners","_readyCapability","begin","loaded","total","_step3","_iterator3","_this4","_step4","_iterator4","pdfInfo","_pdfInfo","pageNumber","getPage","ref","getPageIndex","getDestinations","getDestination","getPageLabels","getPageLayout","getPageMode","getViewerPreferences","getOpenAction","openAction","getAttachments","getJavaScript","getOutline","getPermissions","getMetadata","getData","downloadInfoCapability","getStats","startCleanup","loadingTask","numPages","fingerprint","loadingParams","pageIndex","pageInfo","_pageIndex","_pageInfo","_stats","_pdfBug","commonObjs","objs","PDFObjects","cleanupAfterRender","pendingCleanup","intentStates","_ref3$rotation","rotate","_ref3$offsetX","_ref3$offsetY","_ref3$dontFlip","_ref4$intent","intent","annotationsPromise","annotationsIntent","getAnnotations","_this5","canvasContext","viewport","_ref5$intent","_ref5$enableWebGL","enableWebGL","_ref5$renderInteracti","renderInteractiveForms","_ref5$transform","_ref5$imageLayer","imageLayer","_ref5$canvasFactory","canvasFactory","_ref5$background","background","renderingIntent","intentState","streamReaderCancelTimeout","clearTimeout","canvasFactoryInstance","webGLContext","WebGLContext","enable","displayReadyCapability","operatorList","fnArray","argsArray","lastChunk","_pumpOperatorList","renderTasks","internalRenderTask","_tryCleanup","_abortOperatorList","timeEnd","InternalRenderTask","useRequestAnimationFrame","renderTask","transparency","initializeGraphics","operatorListChanged","opListReadCapability","opListTask","_ref6$normalizeWhites","normalizeWhitespace","_ref6$disableCombineT","disableCombineTextItems","TEXT_CONTENT_CHUNK_SIZE","sendWithStream","combineTextItems","textContent","items","readableStream","streamTextContent","pump","_textContent$items","styles","_this6","pageCache","waitOn","renderCompleted","resetStats","_this7","operatorListChunk","_this8","streamReader","_renderPageChunk","_ref9","_this9","_ref9$force","cleanup","userUnit","_listeners","_defer","_deferred","transfers","_this10","cloneValue","cloned","transferable","PDFWorkerClosure","pdfWorkerPorts","isWorkerDisabled","fallbackWorkerSrc","nextFakeWorkerId","fakeWorkerCapability","pdfjsFilePath","currentScript","_getWorkerSrc","workerSrc","getMainThreadWorkerMessageHandler","mainWorkerMessageHandler","pdfjsWorker","WorkerMessageHandler","setupFakeWorkerGlobal","loader","_ref10","_callee$","eval","createCDNWrapper","_ref11","_ref11$name","_ref11$port","_ref11$verbosity","_port","_webWorker","_messageHandler","_initializeFromPort","_initialize","on","_this11","terminateEarly","onWorkerError","_setupFakeWorker","supportTransfers","sendTest","testObj","_this12","workerHandler","setup","fontLoader","FontLoader","_onUnsupportedFeature","_params","cMapUrl","cMapPacked","destroyCapability","_passwordCapability","_networkStream","_fullReader","_lastProgress","pagePromises","setupMessageHandler","_this13","_destroy","terminated","cancelAllRequests","_this14","sink","getFullReader","evt","onPull","_ref12","onCancel","headersCapability","fullReader","headersReady","isStreamingSupported","isRangeSupported","contentLength","rangeReader","getRangeReader","_ref13","_ref14","_numPages","updatePassword","_startRenderPage","_data","exportedData","exportedError","fontRegistry","FontInspector","registerFont","fontAdded","FontFaceObject","_data2","imageData","pageProxy","MAX_IMAGE_SIZE_TO_STORE","fetched","builtInCMap","_ref15","featureId","_this15","_this16","results","Metadata","contentDispositionFilename","filename","_this17","cleanupSuccessful","_objs","objId","resolved","_ensureObj","RenderTask","_internalRenderTask","onContinue","canvasInRendering","_ref16","_ref16$useRequestAnim","_ref16$pdfBug","operatorListIdx","running","graphicsReadyCallback","graphicsReady","_useRequestAnimationFrame","cancelled","_continueBound","_continue","_scheduleNextBound","_scheduleNext","_nextBound","StepperManager","stepper","nextBreakPoint","getNextBreakPoint","_this$params","gfx","CanvasGraphics","beginDrawing","endDrawing","updateOperatorList","_this18","requestAnimationFrame","_next2","executeOperatorList","BaseFontLoader","nativeFontFaces","styleElement","nativeFontFace","fonts","rule","getElementsByTagName","styleSheet","sheet","insertRule","cssRules","_bind","attached","missingFile","isFontLoadingAPISupported","createNativeFontFace","addNativeFontFace","family","createFontFaceRule","isSyncFontLoadingSupported","_queueLoadingCallback","_prepareFontLoadEvent","rules","fontsToLoad","supported","_BaseFontLoader","GenericFontLoader","loadingContext","requests","nextRequestId","loadTestFontId","completeRequest","otherRequest","int32","offset","spliceString","insert","chunk1","chunk2","ctx","isFontReady","fillText","getImageData","_loadTestFont","COMMENT_OFFSET","CFF_CHECKSUM_OFFSET","XXXX_VALUE","checksum","loadedName","visibility","top","left","span","fontFamily","getLoadTestFont","translatedData","_ref2$isEvalSupported","_ref2$disableFontFace","_ref2$ignoreErrors","_ref2$onUnsupportedFe","_ref2$fontRegistry","compiledGlyphs","FontFace","mimetype","character","cmds","current","js","cmd","_ii","compatibilityParams","freeze","_pattern_helper","MIN_FONT_SIZE","MAX_FONT_SIZE","MAX_GROUP_SIZE","MIN_WIDTH_FACTOR","COMPILE_TYPE3_GLYPHS","MAX_SIZE_TO_COMPILE","FULL_CHUNK_HEIGHT","addContextCurrentTransform","mozCurrentTransform","_originalSave","_originalRestore","_originalRotate","_originalScale","_originalTranslate","translate","_originalTransform","_originalSetTransform","setTransform","_transformMatrix","_transformStack","ad_bc","bc_ad","old","angle","cosValue","cos","sinValue","sin","CachedCanvases","getCanvas","trackTransform","canvasEntry","compileType3Glyph","imgData","j0","POINT_TO_PROCESS_LIMIT","width1","points","POINT_TYPES","lineSize","data0","mask","elem","sum","steps","outlines","pp","coords","p0","drawOutline","beginPath","kk","ll","CanvasExtraState","alphaIsShape","fontSize","fontSizeScale","textMatrix","textMatrixScale","fontMatrix","leading","lineX","lineY","charSpacing","wordSpacing","textHScale","textRenderingMode","textRise","fillColor","strokeColor","patternFill","fillAlpha","strokeAlpha","lineWidth","activeSMask","resumeSMaskCtx","clone","setCurrentPoint","EXECUTION_TIME","EXECUTION_STEPS","canvasCtx","stateStack","pendingClip","pendingEOFill","res","xobjs","groupStack","processingType3","baseTransform","baseTransformStack","groupLevel","smaskStack","smaskCounter","tempSMask","cachedCanvases","_cachedGetSinglePixelWidth","putBinaryImageData","ImageData","putImageData","destPos","thisChunkHeight","elemsInThisChunk","partialChunkHeight","fullChunks","totalChunks","chunkImgData","createImageData","srcPos","srcLength","dest32","dest32DataLength","fullSrcDiff","white","black","srcDiff","kEnd","kEndUnrolled","srcByte","putBinaryImageMask","copyCtxState","sourceCtx","destCtx","setLineDash","getLineDash","lineDashOffset","resetCtxToDefault","strokeStyle","fillStyle","fillRule","globalAlpha","lineCap","lineJoin","miterLimit","globalCompositeOperation","composeSMaskBackdrop","r0","g0","b0","alpha","alpha_","composeSMaskAlpha","maskData","layerData","transferMap","composeSMaskLuminosity","genericComposeSMask","maskCtx","layerCtx","subtype","backdrop","composeFn","hasBackdrop","PIXELS_TO_PROCESS","row","chunkHeight","composeSMask","scaleX","scaleY","isEnabled","composed","layer","drawImage","LINE_CAP_STYLES","LINE_JOIN_STYLES","NORMAL_CLIP","EO_CLIP","op","_ref$transparency","_ref$background","fillRect","transparentCanvas","compositeCtx","beginLayout","executionStartIdx","continueCallback","argsArrayLen","fnId","chunkOperations","endTime","breakIt","depObjId","objsPool","endSMaskGroup","endLayout","dashArray","dashPhase","flatness","states","suspendSMaskGroup","beginSMaskGroup","drawnWidth","drawnHeight","cacheId","scratchCanvas","currentCtx","currentTransform","groupCtx","startTransformInverse","mozCurrentTransformInverse","deltaTransform","clearRect","resumeSMaskGroup","ops","getSinglePixelWidth","xw","yh","bezierCurveTo","consumePath","singularValueDecompose2dScale","getPattern","isPatternFill","needRestore","pendingTextPaths","addToPath","spacing","fontRefName","fontObj","fontDirection","isType3Font","bold","italic","typeface","fallbackName","browserFontSize","rise","paintChar","patternTransform","fillStrokeMode","isAddToPathSet","getPathGenerator","strokeText","_this$cachedCanvases$","glyphs","showType3Text","glyphsLength","vertical","spacingDir","defaultVMetrics","widthAdvanceScale","simpleFillText","pattern","glyph","scaledX","scaledY","scaledAccentX","scaledAccentY","vmetric","vx","vy","charWidth","restoreNeeded","isSpace","fontChar","accent","remeasure","measuredWidth","measureText","isFontSubpixelAAEnabled","characterScaleX","isInFont","spacingLength","isTextInvisible","charProcOperatorList","operatorListId","transformed","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","img","compiled","maskCanvas","positions","images","image","w","h","imgToPaint","tmpCanvas","widthScale","heightScale","HTMLElement","tmpCtx","paintWidth","paintHeight","tmpCanvasId","newWidth","newHeight","getCanvasPosition","appendImage","inverse","ShadingIRs","applyBoundingBox","Path2D","region","RadialAxial","fromIR","raw","colorStops","r1","grad","createLinearGradient","createRadialGradient","addColorStop","createMeshCanvas","drawTriangle","c1","c2","c3","colors","rowSize","x2","y2","x3","y3","xa","car","cag","cab","xb","cbr","cbg","cbb","c1r","c1g","c1b","c2r","c2g","c2b","c3r","c3g","c3b","minY","round","maxY","_k","_k2","x1_","x2_","drawFigure","figure","ps","cs","verticesPerRow","rows","cols","combinesScale","figures","backgroundColor","EXPECTED_SCALE","MAX_PATTERN_SIZE","BORDER_SIZE","boundsWidth","boundsHeight","paddedWidth","paddedHeight","drawFigures","shadingIR","Mesh","owner","matrixScale","temporaryPatternCanvas","createPattern","Dummy","PaintType","COLORED","UNCOLORED","xstep","ystep","paintType","tilingType","createPatternCanvas","curMatrixScale","combinedScale","dimx","getSizeAndScale","dimy","graphics","setFillAndStrokeStyleToContext","clipBbox","realOutputSize","maxSize","bboxWidth","bboxHeight","cssColor","CallbackKind","DATA","ERROR","StreamKind","CANCEL","CANCEL_COMPLETE","CLOSE","ENQUEUE","PULL","PULL_COMPLETE","START_COMPLETE","wrapReason","sourceName","targetName","comObj","callbackId","streamId","streamSinks","streamControllers","callbackCapabilities","actionHandler","_onComObjOnMessage","_processStreamMessage","cbSourceName","cbTargetName","_createStreamSink","actionName","ah","_postMessage","queueingStrategy","startCapability","startCall","pullCall","cancelCall","isClosed","pull","pullCapability","cancelCapability","streamSink","isCancelled","lastDesiredSize","sinkCapability","success","_deleteStreamController","_deleteStreamController2","_xml_parser","_repair","parser","SimpleXMLParser","xmlDocument","parseFromString","_metadataMap","_parse","codes","rdf","nodeName","firstChild","nextSibling","hasChildNodes","childNodes","jj","trim","_step$value","_get","receiver","_superPropBase","XMLParserErrorCode","NoError","EndOfDocument","UnterminatedCdat","UnterminatedXmlDeclaration","UnterminatedDoctypeDeclaration","UnterminatedComment","MalformedElement","OutOfMemory","UnterminatedAttributeValue","UnterminatedElement","ElementNeverBegun","isWhitespace","ch","isWhitespaceString","XMLParserBase","entity","onResolveEntity","skipWs","attrName","attrValue","attrEndChar","attrEndIndex","_resolveEntities","parsed","attrStart","ch2","onError","onEndElement","pi","_parseProcessingInstruction","onPi","onComment","onCdata","q2","complexDoctype","doctypeContent","onDoctype","_parseContent","onBeginElement","onText","isEmpty","SimpleDOMNode","nodeValue","child","_XMLParserBase","_currentFragment","_stack","_errorCode","parseXml","_this$_currentFragmen","lastElement","_queuedChunks","_progressiveDone","_pdfDataRangeTransport","_isStreamingSupported","_isRangeSupported","_contentLength","_fullRequestReader","_rangeReaders","addRangeListener","_onReceiveData","addProgressListener","_onProgress","addProgressiveReadListener","addProgressiveDoneListener","_onProgressiveDone","transportReady","_enqueue","_begin","firstReader","queuedChunks","PDFDataTransportStreamReader","_progressiveDataLength","PDFDataTransportStreamRangeReader","requestDataRange","readers","_loaded","_stream","_done","_filename","_requests","_headersReady","requestCapability","_read","_end","_queuedChunk","requestsCapability","_removeRangeReader","_read2","_ref$enable","_enabled","WebGLUtils","tryInitGL","loadShader","gl","shaderType","shader","createShader","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","errorMsg","getShaderInfoLog","createVertexShader","VERTEX_SHADER","createFragmentShader","FRAGMENT_SHADER","createProgram","shaders","program","attachShader","linkProgram","linked","getProgramParameter","LINK_STATUS","getProgramInfoLog","createTexture","textureId","activeTexture","texture","bindTexture","TEXTURE_2D","texParameteri","TEXTURE_WRAP_S","CLAMP_TO_EDGE","TEXTURE_WRAP_T","TEXTURE_MIN_FILTER","NEAREST","TEXTURE_MAG_FILTER","texImage2D","RGBA","UNSIGNED_BYTE","currentGL","currentCanvas","generateGL","premultipliedalpha","smaskVertexShaderCode","smaskFragmentShaderCode","smaskCache","initSmaskGL","vertexShader","fragmentShader","useProgram","resolutionLocation","getUniformLocation","positionLocation","getAttribLocation","backdropLocation","subtypeLocation","texCoordLocation","texLayerLocation","texMaskLocation","texCoordBuffer","createBuffer","bindBuffer","ARRAY_BUFFER","bufferData","STATIC_DRAW","enableVertexAttribArray","vertexAttribPointer","FLOAT","uniform1i","drawingBufferWidth","drawingBufferHeight","uniform2f","uniform4f","TEXTURE0","maskTexture","TEXTURE1","clearColor","BLEND","blendFunc","ONE","ONE_MINUS_SRC_ALPHA","COLOR_BUFFER_BIT","drawArrays","TRIANGLES","deleteTexture","deleteBuffer","figuresVertexShaderCode","figuresFragmentShaderCode","figuresCache","initFiguresGL","scaleLocation","offsetLocation","colorLocation","coordsMap","colorsMap","pIndex","cIndex","col","coordsBuffer","colorsBuffer","AnnotationElementFactory","parameters","annotationType","LinkAnnotationElement","TextAnnotationElement","fieldType","TextWidgetAnnotationElement","radioButton","RadioButtonWidgetAnnotationElement","checkBox","CheckboxWidgetAnnotationElement","PushButtonWidgetAnnotationElement","ChoiceWidgetAnnotationElement","WidgetAnnotationElement","PopupAnnotationElement","FreeTextAnnotationElement","LineAnnotationElement","SquareAnnotationElement","CircleAnnotationElement","PolylineAnnotationElement","CaretAnnotationElement","InkAnnotationElement","PolygonAnnotationElement","HighlightAnnotationElement","UnderlineAnnotationElement","SquigglyAnnotationElement","StrikeOutAnnotationElement","StampAnnotationElement","FileAttachmentAnnotationElement","AnnotationElement","isRenderable","ignoreBorder","linkService","downloadManager","imageResourcesPath","svgFactory","_createContainer","transformOrigin","borderStyle","borderWidth","horizontalRadius","horizontalCornerRadius","verticalRadius","verticalCornerRadius","radius","borderRadius","borderBottomStyle","borderColor","trigger","popupElement","PopupElement","modificationDate","contents","hideWrapper","popup","render","_AnnotationElement","className","newWindow","externalLinkTarget","externalLinkRel","externalLinkEnabled","_bindNamedAction","_bindLink","destination","getDestinationHash","navigateTo","getAnchorUrl","executeNamedAction","_AnnotationElement2","hasPopup","alt","dataset","l10nId","l10nArgs","_createPopup","_AnnotationElement3","_WidgetAnnotationElem","hasAppearance","fieldValue","TEXT_ALIGNMENT","multiLine","disabled","readOnly","fieldName","maxLen","comb","fieldWidth","combWidth","letterSpacing","verticalAlign","_setTextStyle","textAlignment","textAlign","direction","fontWeight","fontStyle","_WidgetAnnotationElem2","_WidgetAnnotationElem3","buttonValue","_LinkAnnotationElemen","_WidgetAnnotationElem4","_super8","selectElement","combo","multiSelect","multiple","option","optionElement","displayValue","exportValue","_AnnotationElement4","_super9","IGNORE_TYPES","parentType","selector","parentId","parentElement","querySelector","parentLeft","parseFloat","parentWidth","pinned","BACKGROUND_ENLIGHT","hideElement","dateObject","toDateObject","date","toLocaleDateString","toLocaleTimeString","_formatContents","_toggle","_show","_hide","lines","line","pin","hasAttribute","removeAttribute","zIndex","unpin","_AnnotationElement5","_super10","_AnnotationElement6","_super11","lineCoordinates","_AnnotationElement7","_super12","square","_AnnotationElement8","_super13","circle","_AnnotationElement9","_super14","containerClassName","svgElementName","vertices","coordinate","polyline","_PolylineAnnotationEl","_super15","_AnnotationElement10","_super16","_AnnotationElement11","_super17","inkLists","inkList","_AnnotationElement12","_super18","_AnnotationElement13","_super19","_AnnotationElement14","_super20","_AnnotationElement15","_super21","_AnnotationElement16","_super22","_AnnotationElement17","_super23","_this6$data$file","eventBus","dispatch","_download","downloadData","_step5","sortedAnnotations","popupAnnotations","_iterator5","annotations","_sortedAnnotations","_step6","_iterator6","MAX_TEXT_DIVS_TO_RENDER","NonWhitespaceRegexp","isAllWhitespace","appendText","geom","textDiv","textDivProperties","canvasWidth","originalTransform","paddingBottom","paddingLeft","paddingRight","paddingTop","_textDivs","_textDivProperties","tx","_viewport","atan2","fontName","PI","fontHeight","fontAscent","ascent","descent","_fontInspectorEnabled","shouldScaleText","absScaleX","absScaleY","_textContentStream","_layoutText","_enhanceTextSelection","angleCos","angleSin","divWidth","divHeight","_bounds","right","bottom","_canceled","textDivs","textDivsLength","_renderingDone","findPositiveMin","ts","expand","expanded","expandBounds","divProperties","boxScale","boxes","box","x1New","x2New","expandBoundsLTR","fakeBoundary","horizon","boundary","horizonPart","affectedBoundary","maxXNew","xNew","changedHorizon","lastBoundary","useBoundary","used","TextLayerRenderTask","textContentStream","textContentItemsStr","enhanceTextSelection","_textContent","_container","_textContentItemsStr","_layoutTextLastFontSize","_layoutTextLastFontFamily","_layoutTextCtx","_renderTimer","renderParameters","_render","timeout","_processItems","styleCache","_textDiv$style","_this$_layoutTextCtx$","mozOpaque","textItems","textStyles","expandTextDivs","expandDivs","transformBuf","paddingBuf","divProps","padding","opListToTree","opList","opTree","opListElement","pf","toFixed","pm","acos","SVG_DEFAULTS","XML_NS","XLINK_NS","convertImgDataToPng","PNG_HEADER","CHUNK_WRAPPER_SIZE","crcTable","crc32","crc","writePngChunk","adler32","deflateSync","literals","deflateSyncUncompressed","maxBlockLength","deflateBlocks","idat","adler","isMask","bitDepth","colorType","offsetLiterals","offsetBytes","_y","ihdr","pngLength","SVGExtraState","dependencies","activeClipUrl","clipGroup","maskId","clipCount","maskCount","shadingCount","transformMatrix","transformStack","extraStack","embedFonts","embeddedFonts","cssStyle","_operatorIdMapping","tgrp","executeOpTree","_loop","svgElement","loadDependencies","convertOpList","operatorIdMapping","opTreeElement","lineMatrix","xcoords","ycoords","tspan","setAttributeNS","txtElement","txtgrp","lineWidthScale","_setStrokeAttributes","_ensureTransformGroup","defs","addFontStyle","_makeColorN_Pattern","inverseTransform","_makeShadingPattern","_makeTilingPattern","_args$","tilingId","_Util$applyTransform","_Util$applyTransform2","tx0","ty0","_Util$applyTransform3","_Util$applyTransform4","tx1","ty1","_Util$singularValueDe","_Util$singularValueDe2","xscale","yscale","txstep","tystep","tiling","gradient","shadingId","point0","point1","focalPoint","circlePoint","focalRadius","circleRadius","colorStop","getAttributeNS","clipId","clipPath","clipElement","cloneNode","_step7","_iterator7","_step7$value","setStrokeAlpha","setFillAlpha","imgSrc","cliprect","imgEl","definitions","rootGroup","_ensureClipGroup","_network_utils","fs","fileUriRegex","parseUrl","sourceUrl","parsedUrl","parse","isHttp","isFsUrl","_rangeRequestReaders","PDFNodeStreamFsFullReader","PDFNodeStreamFullReader","PDFNodeStreamFsRangeReader","PDFNodeStreamRangeReader","BaseFullReader","_url","_disableRange","_rangeChunkSize","_readableStream","_readCapability","_headersCapability","_error","BaseRangeReader","createRequestOptions","auth","_BaseFullReader","handleResponse","statusCode","_setReadableStream","getResponseHeader","_validateRangeRequest","validateRangeRequestCapabilities","allowRangeRequests","suggestedLength","extractFilenameFromHeader","_request","_BaseRangeReader","_httpHeaders","Range","_BaseFullReader2","lstat","createReadStream","_BaseRangeReader2","createResponseStatusError","validateResponseStatus","_content_disposition","returnValues","contentEncoding","contentDisposition","getFilenameFromContentDispositionHeader","needsEncodingFixup","toParamRegExp","rfc2616unquote","rfc5987decode","rfc2047decode","fixupEncoding","rfc2231getparam","_filename2","attributePattern","flags","textdecode","encoding","decoder","TextDecoder","fatal","decode","contentDispositionStr","_match","_match2","quot","_n2","_matches$_n","_quot","_part","quotindex","extvalue","encodingend","langvalue","charset","hex","OK_RESPONSE","PARTIAL_CONTENT_RESPONSE","getArrayBuffer","xhr","NetworkManager","getXhr","currXhrId","pendingRequests","listeners","xhrId","pendingRequest","setRequestHeader","expectedStatus","onStateChange","onprogress","onHeadersReceived","onDone","xhrStatus","ok_response_on_range_request","rangeHeader","_source","_manager","PDFNetworkStreamFullRequestReader","PDFNetworkStreamRangeRequestReader","onClosed","_onRangeRequestReaderClosed","manager","_onHeadersReceived","_onDone","_onError","_fullRequestId","requestFull","_headersReceivedCapability","_cachedChunks","fullRequestXhrId","fullRequestXhr","getRequestXhr","lengthComputable","isPendingRequest","_requestId","requestRange","_close","createFetchOptions","abortController","credentials","redirect","createHeaders","PDFFetchStreamReader","PDFFetchStreamRangeReader","_withCredentials","AbortController","_abortController","_headers","_yield$this$_reader$r","_yield$this$_reader$r2","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","NaN","rt","pendingOperation","isPDFDocumentLoadingTask","__PDFDocumentLoadingTask","createLoadingTask","PDFJS","PDFJSWrapper","canvasElt","annotationLayerElt","emitEvent","pdfDoc","pdfPage","pdfRender","canceling","clearCanvas","clearAnnotations","getResolutionScale","offsetWidth","printPage","dpi","pageNumberOnly","PRINT_RESOLUTION","PRINT_UNITS","CSS_UNITS","iframeElt","frameBorder","scrolling","cssText","win","getViewport","allPages","printCanvasElt","focus","queryCommandSupported","execCommand","print","removeIframe","catch","renderPage","pageRotate","devicePixelRatio","viewer","scrollPageIntoView","setDocument","setViewer","getAnnotationsOperation","pdfRenderOperation","forEachPage","pageCallback","pageNum","loadPage","loadDocument","reasonStr","ratio","pdf","NUMBER","NativeNumber","NumberPrototype","BROKEN_CLASSOF","toNumber","maxCode","NumberWrapper","base64","ieee754","typedArraySupport","kMaxLength","TYPED_ARRAY_SUPPORT","encodingOrOffset","allocUnsafe","fromArrayBuffer","fromString","fromObject","assertSize","alloc","checked","isEncoding","actual","fromArrayLike","isBuffer","copy","isnan","SlowBuffer","loweredCase","utf8ToBytes","base64ToBytes","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","bidirectionalIndexOf","dir","arrayIndexOf","indexSize","arrLength","valLength","buf","readUInt16BE","foundIndex","hexWrite","strLen","substr","utf8Write","blitBuffer","asciiWrite","asciiToBytes","latin1Write","base64Write","ucs2Write","utf16leToBytes","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","bytesPerSequence","decodeCodePointsArray","INSPECT_MAX_BYTES","poolSize","_augment","species","allocUnsafeSlow","_isBuffer","swap16","swap32","swap64","equals","inspect","thisStart","thisEnd","thisCopy","targetCopy","MAX_ARGUMENTS_LENGTH","ret","out","toHex","checkOffset","ext","checkInt","objectWriteUInt16","littleEndian","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","writeDouble","newBuf","sliceLen","readUIntLE","mul","readUIntBE","readUInt8","readUInt16LE","readUInt32LE","readUInt32BE","readIntLE","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","maxBytes","writeUIntBE","writeUInt8","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","INVALID_BASE64_RE","base64clean","stringtrim","units","leadSurrogate","byteArray","hi","lo","dst","_annotation_layer_builder","AnnotationLayerBuilder","DefaultAnnotationLayerFactory","_text_layer_builder","DefaultTextLayerFactory","TextLayerBuilder","_ui_utils","EventBus","NullL10n","ProgressBar","_pdf_link_service","PDFLinkService","SimpleLinkService","_download_manager","DownloadManager","_genericl10n","GenericL10n","_pdf_find_controller","PDFFindController","_pdf_history","PDFHistory","_pdf_page_view","PDFPageView","_pdf_single_page_viewer","PDFSinglePageViewer","_pdf_viewer","PDFViewer","_pdfjsLib","pageDiv","_ref$imageResourcesPa","_ref$renderInteractiv","_ref$l10n","l10n","_cancelled","update","pdfjsLib","isValidRotation","isValidScrollMode","isValidSpreadMode","isPortraitOrientation","clamp","getPDFFileNameFromURL","noContextMenuHandler","parseQueryString","backtrackBeforeAllVisibleElements","getVisibleElements","roundToDivide","getPageSizeInches","approximateFraction","getOutputScale","scrollIntoView","watchScroll","binarySearchFirstItem","normalizeWheelEventDelta","waitOnEventOrTimeout","moveToEndOfArray","WaitOnType","animationStarted","SpreadMode","ScrollMode","TextLayerMode","RendererType","PresentationModeState","VERTICAL_PADDING","SCROLLBAR_PADDING","MAX_AUTO_SCALE","UNKNOWN_SCALE","MAX_SCALE","MIN_SCALE","DEFAULT_SCALE","DEFAULT_SCALE_VALUE","AutoPrintRegExp","NORMAL","CHANGING","FULLSCREEN","CANVAS","SVG","DISABLE","ENABLE","ENABLE_ENHANCE","VERTICAL","HORIZONTAL","WRAPPED","ODD","EVEN","formatL10nValue","getLanguage","getDirection","fallback","_callee3","_context3","_callee4","_context4","backingStoreRatio","webkitBackingStorePixelRatio","mozBackingStorePixelRatio","msBackingStorePixelRatio","oBackingStorePixelRatio","backingStorePixelRatio","pixelRatio","scaled","spot","skipOverflowHiddenElements","offsetParent","offsetTop","clientTop","offsetLeft","clientLeft","clientHeight","scrollHeight","clientWidth","scrollWidth","getComputedStyle","overflow","_scaleY","_scaleX","scrollLeft","scrollTop","viewAreaElement","debounceScroll","rAF","currentX","lastX","currentY","lastY","down","_eventHandler","param","condition","minIndex","currentIndex","currentItem","xinv","x_","changeOrientation","views","elt","pageTop","scrollEl","sortByVisibility","horizontal","isElementBottomAfterViewTop","elementBottom","isElementRightAfterViewLeft","elementRight","visible","numViews","firstVisibleElementInd","lastEdge","currentWidth","currentHeight","viewWidth","viewHeight","viewRight","viewBottom","hiddenHeight","hiddenWidth","percent","pc","preventDefault","isDataSchema","defaultFilename","reURI","reFilename","splitURI","suggestedFilename","deltaX","deltaY","MOUSE_DOM_DELTA_PIXEL_MODE","MOUSE_DOM_DELTA_LINE_MODE","MOUSE_PIXELS_PER_LINE","MOUSE_LINES_PER_PAGE","deltaMode","EVENT","TIMEOUT","_ref2$delay","delay","_off","eventHandler","_on","timeoutHandler","eventName","external","eventListeners","externalListeners","bar","_indeterminate","progressSize","_percent","scrollbarWidth","_updateBar","moved","_ref$externalLinkTarg","_ref$externalLinkRel","_ref$externalLinkEnab","_ref$ignoreDestinatio","ignoreDestinationZoom","_ignoreDestinationZoom","pdfDocument","pdfViewer","pdfHistory","_pagesRefCache","goToDestination","namedDest","explicitDest","destRef","_cachedPageNumber","cachePageRef","pagesCount","pushCurrentPosition","destArray","phraseSearch","phrase","zoomArgs","zoom","zoomArg","zoomArgNumber","allowNegativeOffset","pagemode","nameddest","isValidExplicitDestination","back","forward","pageRef","refStr","isPageVisible","currentPageNumber","pagesRotation","destLength","allowNull","EXPAND_DIVS_TIMEOUT","textLayerDiv","_ref$findController","findController","_ref$enhanceTextSelec","renderingDone","pageIdx","textLayerRenderTask","_onUpdateTextLayerMatches","_bindMouse","endOfContent","numTextDivs","textLayerFrag","createDocumentFragment","_finishRendering","_updateMatches","matchesLength","iIndex","queryLen","mm","matchIdx","divIdx","isSelectedPage","selected","selectedMatchIdx","highlightAll","prevEnd","infinity","i0","i1","isSelected","highlightSuffix","scrollMatchIntoView","matchIndex","appendTextToDiv","n0","n1","fromOffset","toOffset","clearedUntilDivIdx","highlightMatches","pageMatches","pageMatchesLength","_convertMatches","_renderMatches","expandDivsTimer","adjustTop","getPropertyValue","divBounds","getBoundingClientRect","pageY","_viewer_compatibility","DISABLE_CREATE_OBJECT_URL","viewerCompatibilityParams","disableCreateObjectURL","blobUrl","click","download","_ref$disableCreateObj","msSaveBlob","downloadUrl","platform","maxTouchPoints","isAndroid","isIOS","isIOSChrome","maxCanvasPixels","webL10n","lang","_lang","_ready","setLanguage","_getLanguage","_getDirection","_translate","_x4","gL10nData","gTextData","gTextProp","gLanguage","gMacros","gReadyState","gAsyncResourceLoading","getL10nResourceLinks","querySelectorAll","getL10nDictionary","innerHTML","getTranslatableChildren","getL10nAttributes","getAttribute","xhrLoadText","onSuccess","onFailure","overrideMimeType","ontimeout","parseResource","successCallback","failureCallback","baseURL","evalString","parseProperties","parsedPropertiesCallback","dictionary","reBlank","reComment","reSection","reImport","reSplit","parseRawLines","rawText","extendedSyntax","parsedRawLinesCallback","currentLang","genericLang","skipLang","nextEntry","loadImport","loadLocale","langLinks","langCount","onResourceLoaded","gResourceCount","resource","L10nResourceLink","load","dict","locales","default_locale","defaultLocale","anyCaseLang","getPluralRules","locales2rules","isIn","isBetween","pluralRules","getL10nData","rv","substIndexes","substArguments","reIndex","reMatch","macroName","paramName","macro","reArgs","matched_text","translateElement","getChildElementCount","nodeType","textNode","insertBefore","childElementCount","translateFragment","elementCount","plural","_pluralRules","fallbackString","getText","rtlList","shortCode","getReadyState","once","FindState","_pdf_find_utils","FOUND","NOT_FOUND","FIND_TIMEOUT","MATCH_SCROLL_OFFSET_TOP","MATCH_SCROLL_OFFSET_LEFT","CHARACTERS_TO_NORMALIZE","normalizationRegex","_linkService","_eventBus","_reset","_onFindBarClose","_pdfDocument","_firstPageCapability","_shouldDirtyMatch","_dirtyMatch","_updateUIState","_extractText","findbarClosed","_highlightMatches","pendingTimeout","_findTimeout","_nextMatch","_updateAllPages","_ref2$element","_ref2$pageIndex","_ref2$matchIndex","_scrollMatches","_selected","_pageMatches","_pageMatchesLength","_offset","wrapped","_extractTextPromises","_pageContents","_matchesCountTotal","_pagesToSearch","_pendingFindMatches","_resumePageIdx","matchesWithLength","isSubTerm","currentElem","nextElem","skipped","prevElem","matchLength","startIdx","getCharacterType","endIdx","_limit","pageContent","entireWord","_isEntireWord","queryArray","subquery","subqueryLen","_prepareMatches","_query","_this$_state","caseSensitive","_calculatePhraseMatch","_calculateWordMatch","_updatePage","_nextPageMatch","pageMatchesCount","_updateUIResultsCount","extractTextCapability","getTextContent","findPrevious","currentPageIndex","_calculateMatch","numPageMatches","_updateMatch","_advanceOffsetPage","numMatches","_matchesReady","previousPage","_this$_selected","matchesCount","_requestMatchesCount","_rawQuery","_normalizedQuery","CharacterType","SPACE","ALPHA_LETTER","PUNCT","HAN_LETTER","KATAKANA_LETTER","HIRAGANA_LETTER","HALFWIDTH_KATAKANA_LETTER","THAI_LETTER","isAlphabeticalScript","charCode","isAscii","isAsciiAlpha","isAsciiDigit","isAsciiSpace","isHan","isKatakana","isHiragana","isHalfwidthKatakana","isThai","isDestHashesEqual","isDestArraysEqual","HASH_CHANGE_TIMEOUT","POSITION_UPDATED_THRESHOLD","UPDATE_VIEWAREA_TIMEOUT","getCurrentHash","_initialized","_fingerprint","_boundEvents","_isViewerInPresentationMode","active","switchInProgress","_isPagesLoaded","onPagesLoaded","_ref2$resetHistory","resetHistory","_ref2$updateUrl","updateUrl","reInitialized","_updateUrl","_bindEvents","_popStateInProgress","_blockHashChange","_currentHash","_numPositionUpdates","_uid","_maxUid","_destination","_position","_isValidState","_this$_parseCurrentHa","_parseCurrentHash","_pushOrReplaceState","_updateInternalState","_initialRotation","_initialBookmark","_pageHide","_unbindEvents","_updateViewareaTimeout","_ref3$namedDest","forceReplace","_tryPushCurrentPosition","newUrl","shouldReplace","newState","temporary","checkReload","_performance$getEntri","performance","getEntriesByType","_performance$getEntri2","perfEntry","removeTemporary","checkNameddest","pdfOpenParams","newHash","hashChanged","setHash","_this$_parseCurrentHa2","updateViewarea","_updateViewarea","popState","_popState","pageHide","destHash","pushHash","_parseQueryString","firstDest","secondDest","isEntryEqual","_pdf_rendering_queue","MAX_CANVAS_PIXELS","defaultViewport","renderingId","pageLabel","pdfPageRotate","hasRestrictedScaling","textLayerMode","useOnlyCssZoom","renderingQueue","textLayerFactory","annotationLayerFactory","renderer","paintTask","paintedViewportMap","renderingState","RenderingStates","INITIAL","resume","annotationLayer","textLayer","zoomLayer","totalRotation","stats","removeFromDOM","zoomLayerCanvas","keepZoomLayer","keepAnnotations","cancelRendering","currentZoomLayerNode","currentAnnotationNode","hide","_resetZoomLayer","loadingIconDiv","cssTransform","timestamp","isScalingRestricted","outputScale","redrawAnnotations","relativeRotation","absRotation","textLayerViewport","textRelativeRotation","textAbsRotation","transX","transY","convertToPdfPoint","FINISHED","RUNNING","canvasWrapper","createTextLayerBuilder","renderContinueCallback","cont","isHighestPriority","PAUSED","finishPaintTask","paintOnSvg","paintOnCanvas","onRenderContinue","resultPromise","setTextContentStream","createAnnotationLayerBuilder","renderCapability","isCanvasHidden","showCanvas","actualSizeViewport","pixelsInViewport","maxScale","sfx","sfy","renderContext","ensureNotCancelled","getOperatorList","svgGfx","getSVG","PDFRenderingQueue","CLEANUP_TIMEOUT","pdfThumbnailViewer","onIdle","highestPriorityPage","idleTimeout","printing","isThumbnailViewEnabled","currentlyVisiblePages","forceRendering","scrolledDown","visibleViews","numVisible","isViewFinished","nextPageIndex","previousPageIndex","draw","renderHighestPriority","_base_viewer","_BaseViewer","_ensurePageViewVisible","_previousPageNumber","_shadowViewer","_updateScrollDown","pageView","_pages","_currentPageNumber","previousPageView","viewerNodes","_ref$pageSpot","pageSpot","_ref$pageNumber","_setCurrentPageNumber","scroll","_getCurrentVisiblePage","visiblePages","BaseViewer","DEFAULT_CACHE_SIZE","PDFPageViewBuffer","resize","newSize","pagesToKeep","pageIdsToKeep","iMax","isSameScale","oldScale","newScale","_name","firstElementChild","removePageBorders","enablePrintAutoRotate","defaultRenderingQueue","_scrollUpdate","presentationModeState","_onBeforeDraw","_onAfterDraw","_resetView","resetCurrentPageView","_resetCurrentPageView","_pageLabels","_getVisiblePages","_onePageRenderedCapability","_cancelRendering","firstPagePromise","_pagesCapability","_buffer","settled","firstPdfPage","currentScale","_viewerElement","firstPageView","setPdfPage","_spreadMode","_updateSpreadMode","_onePageRenderedOrForceFetch","getPagesLeft","_pageNum","setPageLabel","_currentScale","_currentScaleValue","_location","_pagesRotation","_pagesRequests","_scrollMode","_updateScrollMode","newValue","noScroll","preset","presetValue","isInPresentationMode","isChangingPresentationMode","_setScaleUpdatePages","currentPage","noPadding","hPadding","vPadding","_isScrollModeHorizontal","pageWidthScale","pageHeightScale","horizontalScale","_setScale","_scrollIntoView","_ref3$destArray","_ref3$allowNegativeOf","_ref3$ignoreDestinati","pageWidth","pageHeight","currentScaleValue","boundingRect","convertToViewportPoint","firstPage","normalizedScaleValue","currentPageView","getPagePoint","intLeft","intTop","numVisiblePages","newCacheSize","_updateHelper","_updateLocation","scrollAhead","getHighestPriority","_ensurePdfPageLoaded","renderView","pagesOverview","isFirstPagePortrait","scrollMode","pages","parity","spread","_iMax","_this$container","currentId","stillFullyVisible","_vm","_h","$createElement","_self","staticClass","_v","backPage","attrs","downFile","original_loading","$event","_l","refInFor","rotateX","original_pdf","loadProgress","pdfError","copy_loading","copy_pdf","staticRenderFns","component","pdfjsWrapper","class","initial","watch","$el","$refs","resolutionScale","pageList","mounted","$emit","$on"],"mappings":"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EACN,IAAO,EACP,GAAM,EACN,GAAM,GACN,IAAO,EACP,IAAO,EACP,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,GACN,IAAO,EACP,GAAM,GACN,GAAM,EACN,IAAO,EACP,IAAO,EACP,GAAM,GACN,GAAM,GACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,IAAO,EACP,GAAM,EACN,GAAM,EACN,IAAO,EACP,GAAM,EACN,GAAM,EACN,GAAM,GACN,GAAM,EACN,IAAO,EACP,GAAM,EACN,IAAO,EACP,GAAM,GACN,GAAM,EACN,IAAO,EACP,GAAM,EACN,GAAM,EACN,GAAM,GACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,IAAO,EACP,GAAM,EACN,GAAM,EACN,IAAO,EACP,IAAO,EACP,IAAO,EACP,IAAO,EACP,IAAO,EACP,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,IAAO,EACP,IAAO,GACP,GAAM,EACN,GAAM,EACN,IAAO,GACP,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,GACN,GAAM,EACN,IAAO,EACP,GAAM,EACN,GAAM,GACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,GACN,GAAM,EACN,IAAO,EACP,IAAO,EACP,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,IAAO,EACP,GAAM,EACN,IAAO,EACP,GAAM,EACN,GAAM,EACN,GAAM,EACN,IAAO,EACP,GAAM,GACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,IAAO,EACP,GAAM,GACN,IAAO,EACP,IAAO,EACP,IAAO,EACP,GAAM,EACN,IAAO,EACP,IAAO,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","file":"js/chunk-1da779d9.a8d0567a.js","sourcesContent":["export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Perview.vue?vue&type=style&index=0&id=5efabdd2&scoped=true&lang=scss&\"","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","module.exports = function() {\n return new Worker(__webpack_public_path__ + \"d57f11ef08087d173c04.worker.js\");\n};","// import {get, post, qspost, put, deletefn} from '@/api/axios'\nimport { post } from '@/api/axios'\n\n/*\n * 证书列表\n * */\nexport const getCertList = (cert_type,search_name,search_unified_code,search_cert_number,\n search_business_unit_in_charge,page,limit) => post('/api/Cert/cert_query', {\n cert_type,search_name,search_unified_code,search_cert_number,\n search_business_unit_in_charge,page,limit\n})\n\n/*\n * 新增证书\n * */\nexport const addCert = (cert_type,cert_number,name,unified_code,legal_person,start_up_funds_text,address,\n active_address,service_range,issuing_authority,business_unit_in_charge,push_time,validity_time_start,\n validity_time_end,register_time) => post('/api/cert/cert_add', {\n cert_type,cert_number,name,unified_code,legal_person,start_up_funds_text,address,\n active_address,service_range,issuing_authority,business_unit_in_charge,push_time,validity_time_start,\n validity_time_end,register_time\n})\n\n/*\n * 新增证书\n * */\nexport const editCert = (cert_id,cert_type,cert_number,name,unified_code,legal_person,start_up_funds_text,address,\n active_address,service_range,issuing_authority,business_unit_in_charge,push_time,validity_time_start,\n validity_time_end,register_time) => post('/api/cert/cert_edit', {\n cert_id,cert_type,cert_number,name,unified_code,legal_person,start_up_funds_text,address,\n active_address,service_range,issuing_authority,business_unit_in_charge,push_time,validity_time_start,\n validity_time_end,register_time\n})\n\n/*\n * 证书导出\n * */\nexport const exportCert = (cert_type,cert_id) => post('/api/cert/exportData', {\n cert_type,cert_id\n})\n\n/*\n * 证书状态\n * */\nexport const setCertState = (cert_id,cert_state) => post('/api/cert/cert_setState', {\n cert_id,cert_state\n})\n\n/*\n * 证书打印状态\n * */\nexport const setCertPrintState = (cert_id,print_state) => post('/api/cert/cert_print_state', {\n cert_id,print_state\n})\n\n/*\n * 证书1 打印 2 预览\n * */\nexport const getCertImgPerview = (cert_id,state,list) => post('/api/cert/createCertImg_view', {\n cert_id,state,list\n})\n\n/*\n * 证书1 打印 2 预览\n * */\nexport const getCertImg = (cert_id,state) => post('/api/cert/createCertImg', {\n cert_id,state\n})\n\n\n/*\n * 删除证书\n * */\nexport const delCert = (cert_id) => post('/api/cert/cert_del', {\n cert_id\n})\n\n/*\n * 证书详情\n * */\nexport const getCertDetail = (cert_id) => post('/api/cert/cert_detail', {\n cert_id\n})\n\n/*\n * 修改密码\n * */\nexport const updatePass = (password_old,password) => post('/api/admin/updatePass', {\n password_old,password\n})\n","/**\n * @licstart The following is the entire license notice for the\n * Javascript code in this page\n *\n * Copyright 2020 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\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"addLinkAttributes\", {\n enumerable: true,\n get: function get() {\n return _display_utils.addLinkAttributes;\n }\n});\nObject.defineProperty(exports, \"getFilenameFromUrl\", {\n enumerable: true,\n get: function get() {\n return _display_utils.getFilenameFromUrl;\n }\n});\nObject.defineProperty(exports, \"LinkTarget\", {\n enumerable: true,\n get: function get() {\n return _display_utils.LinkTarget;\n }\n});\nObject.defineProperty(exports, \"loadScript\", {\n enumerable: true,\n get: function get() {\n return _display_utils.loadScript;\n }\n});\nObject.defineProperty(exports, \"PDFDateString\", {\n enumerable: true,\n get: function get() {\n return _display_utils.PDFDateString;\n }\n});\nObject.defineProperty(exports, \"RenderingCancelledException\", {\n enumerable: true,\n get: function get() {\n return _display_utils.RenderingCancelledException;\n }\n});\nObject.defineProperty(exports, \"build\", {\n enumerable: true,\n get: function get() {\n return _api.build;\n }\n});\nObject.defineProperty(exports, \"getDocument\", {\n enumerable: true,\n get: function get() {\n return _api.getDocument;\n }\n});\nObject.defineProperty(exports, \"LoopbackPort\", {\n enumerable: true,\n get: function get() {\n return _api.LoopbackPort;\n }\n});\nObject.defineProperty(exports, \"PDFDataRangeTransport\", {\n enumerable: true,\n get: function get() {\n return _api.PDFDataRangeTransport;\n }\n});\nObject.defineProperty(exports, \"PDFWorker\", {\n enumerable: true,\n get: function get() {\n return _api.PDFWorker;\n }\n});\nObject.defineProperty(exports, \"version\", {\n enumerable: true,\n get: function get() {\n return _api.version;\n }\n});\nObject.defineProperty(exports, \"CMapCompressionType\", {\n enumerable: true,\n get: function get() {\n return _util.CMapCompressionType;\n }\n});\nObject.defineProperty(exports, \"createObjectURL\", {\n enumerable: true,\n get: function get() {\n return _util.createObjectURL;\n }\n});\nObject.defineProperty(exports, \"createPromiseCapability\", {\n enumerable: true,\n get: function get() {\n return _util.createPromiseCapability;\n }\n});\nObject.defineProperty(exports, \"createValidAbsoluteUrl\", {\n enumerable: true,\n get: function get() {\n return _util.createValidAbsoluteUrl;\n }\n});\nObject.defineProperty(exports, \"InvalidPDFException\", {\n enumerable: true,\n get: function get() {\n return _util.InvalidPDFException;\n }\n});\nObject.defineProperty(exports, \"MissingPDFException\", {\n enumerable: true,\n get: function get() {\n return _util.MissingPDFException;\n }\n});\nObject.defineProperty(exports, \"OPS\", {\n enumerable: true,\n get: function get() {\n return _util.OPS;\n }\n});\nObject.defineProperty(exports, \"PasswordResponses\", {\n enumerable: true,\n get: function get() {\n return _util.PasswordResponses;\n }\n});\nObject.defineProperty(exports, \"PermissionFlag\", {\n enumerable: true,\n get: function get() {\n return _util.PermissionFlag;\n }\n});\nObject.defineProperty(exports, \"removeNullCharacters\", {\n enumerable: true,\n get: function get() {\n return _util.removeNullCharacters;\n }\n});\nObject.defineProperty(exports, \"shadow\", {\n enumerable: true,\n get: function get() {\n return _util.shadow;\n }\n});\nObject.defineProperty(exports, \"UnexpectedResponseException\", {\n enumerable: true,\n get: function get() {\n return _util.UnexpectedResponseException;\n }\n});\nObject.defineProperty(exports, \"UNSUPPORTED_FEATURES\", {\n enumerable: true,\n get: function get() {\n return _util.UNSUPPORTED_FEATURES;\n }\n});\nObject.defineProperty(exports, \"Util\", {\n enumerable: true,\n get: function get() {\n return _util.Util;\n }\n});\nObject.defineProperty(exports, \"VerbosityLevel\", {\n enumerable: true,\n get: function get() {\n return _util.VerbosityLevel;\n }\n});\nObject.defineProperty(exports, \"AnnotationLayer\", {\n enumerable: true,\n get: function get() {\n return _annotation_layer.AnnotationLayer;\n }\n});\nObject.defineProperty(exports, \"apiCompatibilityParams\", {\n enumerable: true,\n get: function get() {\n return _api_compatibility.apiCompatibilityParams;\n }\n});\nObject.defineProperty(exports, \"GlobalWorkerOptions\", {\n enumerable: true,\n get: function get() {\n return _worker_options.GlobalWorkerOptions;\n }\n});\nObject.defineProperty(exports, \"renderTextLayer\", {\n enumerable: true,\n get: function get() {\n return _text_layer.renderTextLayer;\n }\n});\nObject.defineProperty(exports, \"SVGGraphics\", {\n enumerable: true,\n get: function get() {\n return _svg.SVGGraphics;\n }\n});\n\nvar _display_utils = __w_pdfjs_require__(1);\n\nvar _api = __w_pdfjs_require__(198);\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _annotation_layer = __w_pdfjs_require__(209);\n\nvar _api_compatibility = __w_pdfjs_require__(200);\n\nvar _worker_options = __w_pdfjs_require__(203);\n\nvar _text_layer = __w_pdfjs_require__(210);\n\nvar _svg = __w_pdfjs_require__(211);\n\nvar pdfjsVersion = '2.5.207';\nvar pdfjsBuild = '0974d605';\n{\n var _require = __w_pdfjs_require__(7),\n isNodeJS = _require.isNodeJS;\n\n if (isNodeJS) {\n var PDFNodeStream = __w_pdfjs_require__(212).PDFNodeStream;\n\n (0, _api.setPDFNetworkStreamFactory)(function (params) {\n return new PDFNodeStream(params);\n });\n } else {\n var PDFNetworkStream = __w_pdfjs_require__(215).PDFNetworkStream;\n\n var PDFFetchStream;\n\n if ((0, _display_utils.isFetchSupported)()) {\n PDFFetchStream = __w_pdfjs_require__(216).PDFFetchStream;\n }\n\n (0, _api.setPDFNetworkStreamFactory)(function (params) {\n if (PDFFetchStream && (0, _display_utils.isValidFetchUrl)(params.url)) {\n return new PDFFetchStream(params);\n }\n\n return new PDFNetworkStream(params);\n });\n }\n}\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.addLinkAttributes = addLinkAttributes;\nexports.getFilenameFromUrl = getFilenameFromUrl;\nexports.isFetchSupported = isFetchSupported;\nexports.isValidFetchUrl = isValidFetchUrl;\nexports.loadScript = loadScript;\nexports.deprecated = deprecated;\nexports.PDFDateString = 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__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; 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 _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 _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\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 _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\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 = /*#__PURE__*/function () {\n function DOMCanvasFactory() {\n _classCallCheck(this, DOMCanvasFactory);\n }\n\n _createClass(DOMCanvasFactory, [{\n key: \"create\",\n value: function create(width, height) {\n if (width <= 0 || height <= 0) {\n throw new Error(\"Invalid canvas size\");\n }\n\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 = /*#__PURE__*/function () {\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 }( /*#__PURE__*/function () {\n var _ref3 = _asyncToGenerator( /*#__PURE__*/_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( /*#__PURE__*/function () {\n var _ref4 = _asyncToGenerator( /*#__PURE__*/_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 = /*#__PURE__*/function () {\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 = /*#__PURE__*/function () {\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 case 0:\n rotateA = 1;\n rotateB = 0;\n rotateC = 0;\n rotateD = -1;\n break;\n\n default:\n throw new Error(\"PageViewport: Invalid rotation, must be a multiple of 90 degrees.\");\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$offsetX = _ref6.offsetX,\n offsetX = _ref6$offsetX === void 0 ? this.offsetX : _ref6$offsetX,\n _ref6$offsetY = _ref6.offsetY,\n offsetY = _ref6$offsetY === void 0 ? this.offsetY : _ref6$offsetY,\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: offsetX,\n offsetY: 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 = /*#__PURE__*/function (_BaseException) {\n _inherits(RenderingCancelledException, _BaseException);\n\n var _super = _createSuper(RenderingCancelledException);\n\n function RenderingCancelledException(msg, type) {\n var _this2;\n\n _classCallCheck(this, RenderingCancelledException);\n\n _this2 = _super.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;\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 targetStr = \"\";\n\n switch (target) {\n case LinkTarget.NONE:\n break;\n\n case LinkTarget.SELF:\n targetStr = \"_self\";\n break;\n\n case LinkTarget.BLANK:\n targetStr = \"_blank\";\n break;\n\n case LinkTarget.PARENT:\n targetStr = \"_parent\";\n break;\n\n case LinkTarget.TOP:\n targetStr = \"_top\";\n break;\n }\n\n link.target = targetStr;\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 = /*#__PURE__*/function () {\n function StatTimer() {\n _classCallCheck(this, StatTimer);\n\n this.started = Object.create(null);\n this.times = [];\n }\n\n _createClass(StatTimer, [{\n key: \"time\",\n value: function time(name) {\n if (name in this.started) {\n (0, _util.warn)(\"Timer is already running for \".concat(name));\n }\n\n this.started[name] = Date.now();\n }\n }, {\n key: \"timeEnd\",\n value: function timeEnd(name) {\n if (!(name in this.started)) {\n (0, _util.warn)(\"Timer has not been started for \".concat(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 outBuf = [];\n var longest = 0;\n\n var _iterator = _createForOfIteratorHelper(this.times),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\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 _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n var _iterator2 = _createForOfIteratorHelper(this.times),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var _time = _step2.value;\n var duration = _time.end - _time.start;\n outBuf.push(\"\".concat(_time.name.padEnd(longest), \" \").concat(duration, \"ms\\n\"));\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n\n return outBuf.join(\"\");\n }\n }]);\n\n return StatTimer;\n}();\n\nexports.StatTimer = StatTimer;\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\nvar pdfDateStringRegex;\n\nvar PDFDateString = /*#__PURE__*/function () {\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/* 2 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = __w_pdfjs_require__(3);\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(module) {\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; 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, PromiseImpl) {\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 PromiseImpl.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 PromiseImpl.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 PromiseImpl(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, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);\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__(4)(module)))\n\n/***/ }),\n/* 4 */\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/* 5 */\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.isSameOrigin = isSameOrigin;\nexports.createValidAbsoluteUrl = createValidAbsoluteUrl;\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;\nexports.IsEvalSupportedCached = exports.IsLittleEndianCached = exports.createObjectURL = exports.FormatError = exports.Util = exports.UnknownErrorException = exports.UnexpectedResponseException = exports.TextRenderingMode = exports.StreamType = exports.PermissionFlag = exports.PasswordResponses = exports.PasswordException = 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__(6);\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) { \"@babel/helpers - typeof\"; 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 _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 _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\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 _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\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 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 errorTilingPattern: \"errorTilingPattern\",\n errorExtGState: \"errorExtGState\",\n errorXObject: \"errorXObject\",\n errorFontLoadType3: \"errorFontLoadType3\",\n errorFontState: \"errorFontState\",\n errorFontMissing: \"errorFontMissing\",\n errorFontTranslate: \"errorFontTranslate\",\n errorColorSpace: \"errorColorSpace\",\n errorOperatorList: \"errorOperatorList\",\n errorFontToUnicode: \"errorFontToUnicode\",\n errorFontLoadNative: \"errorFontLoadNative\",\n errorFontGetPath: \"errorFontGetPath\"\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 = /*#__PURE__*/function (_BaseException) {\n _inherits(PasswordException, _BaseException);\n\n var _super = _createSuper(PasswordException);\n\n function PasswordException(msg, code) {\n var _this;\n\n _classCallCheck(this, PasswordException);\n\n _this = _super.call(this, msg);\n _this.code = code;\n return _this;\n }\n\n return PasswordException;\n}(BaseException);\n\nexports.PasswordException = PasswordException;\n\nvar UnknownErrorException = /*#__PURE__*/function (_BaseException2) {\n _inherits(UnknownErrorException, _BaseException2);\n\n var _super2 = _createSuper(UnknownErrorException);\n\n function UnknownErrorException(msg, details) {\n var _this2;\n\n _classCallCheck(this, UnknownErrorException);\n\n _this2 = _super2.call(this, msg);\n _this2.details = details;\n return _this2;\n }\n\n return UnknownErrorException;\n}(BaseException);\n\nexports.UnknownErrorException = UnknownErrorException;\n\nvar InvalidPDFException = /*#__PURE__*/function (_BaseException3) {\n _inherits(InvalidPDFException, _BaseException3);\n\n var _super3 = _createSuper(InvalidPDFException);\n\n function InvalidPDFException() {\n _classCallCheck(this, InvalidPDFException);\n\n return _super3.apply(this, arguments);\n }\n\n return InvalidPDFException;\n}(BaseException);\n\nexports.InvalidPDFException = InvalidPDFException;\n\nvar MissingPDFException = /*#__PURE__*/function (_BaseException4) {\n _inherits(MissingPDFException, _BaseException4);\n\n var _super4 = _createSuper(MissingPDFException);\n\n function MissingPDFException() {\n _classCallCheck(this, MissingPDFException);\n\n return _super4.apply(this, arguments);\n }\n\n return MissingPDFException;\n}(BaseException);\n\nexports.MissingPDFException = MissingPDFException;\n\nvar UnexpectedResponseException = /*#__PURE__*/function (_BaseException5) {\n _inherits(UnexpectedResponseException, _BaseException5);\n\n var _super5 = _createSuper(UnexpectedResponseException);\n\n function UnexpectedResponseException(msg, status) {\n var _this3;\n\n _classCallCheck(this, UnexpectedResponseException);\n\n _this3 = _super5.call(this, msg);\n _this3.status = status;\n return _this3;\n }\n\n return UnexpectedResponseException;\n}(BaseException);\n\nexports.UnexpectedResponseException = UnexpectedResponseException;\n\nvar FormatError = /*#__PURE__*/function (_BaseException6) {\n _inherits(FormatError, _BaseException6);\n\n var _super6 = _createSuper(FormatError);\n\n function FormatError() {\n _classCallCheck(this, FormatError);\n\n return _super6.apply(this, arguments);\n }\n\n return FormatError;\n}(BaseException);\n\nexports.FormatError = FormatError;\n\nvar AbortException = /*#__PURE__*/function (_BaseException7) {\n _inherits(AbortException, _BaseException7);\n\n var _super7 = _createSuper(AbortException);\n\n function AbortException() {\n _classCallCheck(this, AbortException);\n\n return _super7.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, \"arrayByteLength - invalid argument.\");\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 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\nvar IsLittleEndianCached = {\n get value() {\n return shadow(this, \"value\", isLittleEndian());\n }\n\n};\nexports.IsLittleEndianCached = IsLittleEndianCached;\n\nfunction isEvalSupported() {\n try {\n new Function(\"\");\n return true;\n } catch (e) {\n return false;\n }\n}\n\nvar IsEvalSupportedCached = {\n get value() {\n return shadow(this, \"value\", isEvalSupported());\n }\n\n};\nexports.IsEvalSupportedCached = IsEvalSupportedCached;\nvar rgbBuf = [\"rgb(\", 0, \",\", 0, \",\", 0, \")\"];\n\nvar Util = /*#__PURE__*/function () {\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 if (str[0] === \"\\xFF\" && str[1] === \"\\xFE\") {\n for (var _i2 = 2; _i2 < length; _i2 += 2) {\n strBuf.push(String.fromCharCode(str.charCodeAt(_i2 + 1) << 8 | str.charCodeAt(_i2)));\n }\n } else {\n for (var _i3 = 0; _i3 < length; ++_i3) {\n var code = PDFStringTranslateTable[str.charCodeAt(_i3)];\n strBuf.push(code ? String.fromCharCode(code) : str.charAt(_i3));\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 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/* 6 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar _is_node = __w_pdfjs_require__(7);\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; 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\nif (typeof globalThis === \"undefined\" || !globalThis._pdfjsCompatibilityChecked) {\n if (typeof globalThis === \"undefined\" || globalThis.Math !== Math) {\n globalThis = __w_pdfjs_require__(8);\n }\n\n globalThis._pdfjsCompatibilityChecked = true;\n var hasDOM = (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) === \"object\" && (typeof document === \"undefined\" ? \"undefined\" : _typeof(document)) === \"object\";\n var userAgent = typeof navigator !== \"undefined\" && navigator.userAgent || \"\";\n var isIE = /Trident/.test(userAgent);\n\n (function checkNodeBtoa() {\n if (globalThis.btoa || !_is_node.isNodeJS) {\n return;\n }\n\n globalThis.btoa = function (chars) {\n return Buffer.from(chars, \"binary\").toString(\"base64\");\n };\n })();\n\n (function checkNodeAtob() {\n if (globalThis.atob || !_is_node.isNodeJS) {\n return;\n }\n\n globalThis.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 || _is_node.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 || _is_node.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 checkWindowHistoryPushStateReplaceState() {\n if (!hasDOM || !isIE) {\n return;\n }\n\n var OriginalPushState = window.history.pushState;\n var OriginalReplaceState = window.history.replaceState;\n\n window.history.pushState = function (state, title, url) {\n var args = url === undefined ? [state, title] : [state, title, url];\n OriginalPushState.apply(this, args);\n };\n\n window.history.replaceState = function (state, title, url) {\n var args = url === undefined ? [state, title] : [state, title, url];\n OriginalReplaceState.apply(this, args);\n };\n })();\n\n (function checkStringStartsWith() {\n if (String.prototype.startsWith) {\n return;\n }\n\n __w_pdfjs_require__(53);\n })();\n\n (function checkStringEndsWith() {\n if (String.prototype.endsWith) {\n return;\n }\n\n __w_pdfjs_require__(64);\n })();\n\n (function checkStringIncludes() {\n if (String.prototype.includes) {\n return;\n }\n\n __w_pdfjs_require__(66);\n })();\n\n (function checkArrayIncludes() {\n if (Array.prototype.includes) {\n return;\n }\n\n __w_pdfjs_require__(68);\n })();\n\n (function checkArrayFrom() {\n if (Array.from) {\n return;\n }\n\n __w_pdfjs_require__(76);\n })();\n\n (function checkObjectAssign() {\n if (Object.assign) {\n return;\n }\n\n __w_pdfjs_require__(98);\n })();\n\n (function checkMathLog2() {\n if (Math.log2) {\n return;\n }\n\n Math.log2 = __w_pdfjs_require__(101);\n })();\n\n (function checkNumberIsNaN() {\n if (Number.isNaN) {\n return;\n }\n\n Number.isNaN = __w_pdfjs_require__(103);\n })();\n\n (function checkNumberIsInteger() {\n if (Number.isInteger) {\n return;\n }\n\n Number.isInteger = __w_pdfjs_require__(105);\n })();\n\n (function checkTypedArraySlice() {\n if (Uint8Array.prototype.slice) {\n return;\n }\n\n __w_pdfjs_require__(108);\n })();\n\n (function checkPromise() {\n if (globalThis.Promise && globalThis.Promise.allSettled) {\n return;\n }\n\n globalThis.Promise = __w_pdfjs_require__(113);\n })();\n\n (function checkURL() {\n globalThis.URL = __w_pdfjs_require__(136);\n })();\n\n (function checkReadableStream() {\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 return;\n }\n\n globalThis.ReadableStream = __w_pdfjs_require__(143).ReadableStream;\n })();\n\n (function checkMapEntries() {\n if (globalThis.Map && globalThis.Map.prototype.entries) {\n return;\n }\n\n globalThis.Map = __w_pdfjs_require__(144);\n })();\n\n (function checkSetEntries() {\n if (globalThis.Set && globalThis.Set.prototype.entries) {\n return;\n }\n\n globalThis.Set = __w_pdfjs_require__(151);\n })();\n\n (function checkWeakMap() {\n if (globalThis.WeakMap) {\n return;\n }\n\n globalThis.WeakMap = __w_pdfjs_require__(153);\n })();\n\n (function checkWeakSet() {\n if (globalThis.WeakSet) {\n return;\n }\n\n globalThis.WeakSet = __w_pdfjs_require__(159);\n })();\n\n (function checkStringCodePointAt() {\n if (String.prototype.codePointAt) {\n return;\n }\n\n __w_pdfjs_require__(161);\n })();\n\n (function checkStringFromCodePoint() {\n if (String.fromCodePoint) {\n return;\n }\n\n String.fromCodePoint = __w_pdfjs_require__(163);\n })();\n\n (function checkSymbol() {\n if (globalThis.Symbol) {\n return;\n }\n\n __w_pdfjs_require__(165);\n })();\n\n (function checkStringPadStart() {\n if (String.prototype.padStart) {\n return;\n }\n\n __w_pdfjs_require__(188);\n })();\n\n (function checkStringPadEnd() {\n if (String.prototype.padEnd) {\n return;\n }\n\n __w_pdfjs_require__(193);\n })();\n\n (function checkObjectValues() {\n if (Object.values) {\n return;\n }\n\n Object.values = __w_pdfjs_require__(195);\n })();\n}\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isNodeJS = void 0;\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; 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 isNodeJS = (typeof process === \"undefined\" ? \"undefined\" : _typeof(process)) === \"object\" && process + \"\" === \"[object process]\" && !process.versions.nw && !process.versions.electron;\nexports.isNodeJS = isNodeJS;\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(9);\nmodule.exports = __w_pdfjs_require__(11);\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\nvar global = __w_pdfjs_require__(11);\n$({ global: true }, { globalThis: global });\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar getOwnPropertyDescriptor = __w_pdfjs_require__(12).f;\nvar createNonEnumerableProperty = __w_pdfjs_require__(26);\nvar redefine = __w_pdfjs_require__(29);\nvar setGlobal = __w_pdfjs_require__(30);\nvar copyConstructorProperties = __w_pdfjs_require__(40);\nvar isForced = __w_pdfjs_require__(52);\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 createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n redefine(target, key, sourceProperty, options);\n }\n};\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports) {\n\nvar check = function (it) {\n return it && it.Math == Math && it;\n};\nmodule.exports = check(typeof globalThis == 'object' && globalThis) || check(typeof window == 'object' && window) || check(typeof self == 'object' && self) || check(typeof global == 'object' && global) || Function('return this')();\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar propertyIsEnumerableModule = __w_pdfjs_require__(15);\nvar createPropertyDescriptor = __w_pdfjs_require__(16);\nvar toIndexedObject = __w_pdfjs_require__(17);\nvar toPrimitive = __w_pdfjs_require__(21);\nvar has = __w_pdfjs_require__(23);\nvar IE8_DOM_DEFINE = __w_pdfjs_require__(24);\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/* 13 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(14);\nmodule.exports = !fails(function () {\n return Object.defineProperty({}, 1, {\n get: function () {\n return 7;\n }\n })[1] != 7;\n});\n\n/***/ }),\n/* 14 */\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/* 15 */\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/* 16 */\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/* 17 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar IndexedObject = __w_pdfjs_require__(18);\nvar requireObjectCoercible = __w_pdfjs_require__(20);\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(14);\nvar classof = __w_pdfjs_require__(19);\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/* 19 */\n/***/ (function(module, exports) {\n\nvar toString = {}.toString;\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n\n/***/ }),\n/* 20 */\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/* 21 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(22);\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/* 22 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports) {\n\nvar hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar fails = __w_pdfjs_require__(14);\nvar createElement = __w_pdfjs_require__(25);\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/* 25 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar isObject = __w_pdfjs_require__(22);\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/* 26 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar definePropertyModule = __w_pdfjs_require__(27);\nvar createPropertyDescriptor = __w_pdfjs_require__(16);\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/* 27 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar IE8_DOM_DEFINE = __w_pdfjs_require__(24);\nvar anObject = __w_pdfjs_require__(28);\nvar toPrimitive = __w_pdfjs_require__(21);\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/* 28 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(22);\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/* 29 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar createNonEnumerableProperty = __w_pdfjs_require__(26);\nvar has = __w_pdfjs_require__(23);\nvar setGlobal = __w_pdfjs_require__(30);\nvar inspectSource = __w_pdfjs_require__(31);\nvar InternalStateModule = __w_pdfjs_require__(33);\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\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 createNonEnumerableProperty(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 createNonEnumerableProperty(O, key, value);\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || inspectSource(this);\n});\n\n/***/ }),\n/* 30 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar createNonEnumerableProperty = __w_pdfjs_require__(26);\nmodule.exports = function (key, value) {\n try {\n createNonEnumerableProperty(global, key, value);\n } catch (error) {\n global[key] = value;\n }\n return value;\n};\n\n/***/ }),\n/* 31 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar store = __w_pdfjs_require__(32);\nvar functionToString = Function.toString;\nif (typeof store.inspectSource != 'function') {\n store.inspectSource = function (it) {\n return functionToString.call(it);\n };\n}\nmodule.exports = store.inspectSource;\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar setGlobal = __w_pdfjs_require__(30);\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\nmodule.exports = store;\n\n/***/ }),\n/* 33 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar NATIVE_WEAK_MAP = __w_pdfjs_require__(34);\nvar global = __w_pdfjs_require__(11);\nvar isObject = __w_pdfjs_require__(22);\nvar createNonEnumerableProperty = __w_pdfjs_require__(26);\nvar objectHas = __w_pdfjs_require__(23);\nvar sharedKey = __w_pdfjs_require__(35);\nvar hiddenKeys = __w_pdfjs_require__(39);\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 createNonEnumerableProperty(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/* 34 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar inspectSource = __w_pdfjs_require__(31);\nvar WeakMap = global.WeakMap;\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));\n\n/***/ }),\n/* 35 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar shared = __w_pdfjs_require__(36);\nvar uid = __w_pdfjs_require__(38);\nvar keys = shared('keys');\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n\n/***/ }),\n/* 36 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar IS_PURE = __w_pdfjs_require__(37);\nvar store = __w_pdfjs_require__(32);\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.6.5',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2020 Denis Pushkarev (zloirock.ru)'\n});\n\n/***/ }),\n/* 37 */\n/***/ (function(module, exports) {\n\nmodule.exports = false;\n\n/***/ }),\n/* 38 */\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/* 39 */\n/***/ (function(module, exports) {\n\nmodule.exports = {};\n\n/***/ }),\n/* 40 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar has = __w_pdfjs_require__(23);\nvar ownKeys = __w_pdfjs_require__(41);\nvar getOwnPropertyDescriptorModule = __w_pdfjs_require__(12);\nvar definePropertyModule = __w_pdfjs_require__(27);\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/* 41 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar getBuiltIn = __w_pdfjs_require__(42);\nvar getOwnPropertyNamesModule = __w_pdfjs_require__(44);\nvar getOwnPropertySymbolsModule = __w_pdfjs_require__(51);\nvar anObject = __w_pdfjs_require__(28);\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/* 42 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar path = __w_pdfjs_require__(43);\nvar global = __w_pdfjs_require__(11);\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/* 43 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nmodule.exports = global;\n\n/***/ }),\n/* 44 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar internalObjectKeys = __w_pdfjs_require__(45);\nvar enumBugKeys = __w_pdfjs_require__(50);\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n\n/***/ }),\n/* 45 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar has = __w_pdfjs_require__(23);\nvar toIndexedObject = __w_pdfjs_require__(17);\nvar indexOf = __w_pdfjs_require__(46).indexOf;\nvar hiddenKeys = __w_pdfjs_require__(39);\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/* 46 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar toIndexedObject = __w_pdfjs_require__(17);\nvar toLength = __w_pdfjs_require__(47);\nvar toAbsoluteIndex = __w_pdfjs_require__(49);\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/* 47 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar toInteger = __w_pdfjs_require__(48);\nvar min = Math.min;\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0;\n};\n\n/***/ }),\n/* 48 */\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/* 49 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar toInteger = __w_pdfjs_require__(48);\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/* 50 */\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/* 51 */\n/***/ (function(module, exports) {\n\nexports.f = Object.getOwnPropertySymbols;\n\n/***/ }),\n/* 52 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(14);\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/* 53 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(54);\nvar entryUnbind = __w_pdfjs_require__(61);\nmodule.exports = entryUnbind('String', 'startsWith');\n\n/***/ }),\n/* 54 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar getOwnPropertyDescriptor = __w_pdfjs_require__(12).f;\nvar toLength = __w_pdfjs_require__(47);\nvar notARegExp = __w_pdfjs_require__(55);\nvar requireObjectCoercible = __w_pdfjs_require__(20);\nvar correctIsRegExpLogic = __w_pdfjs_require__(60);\nvar IS_PURE = __w_pdfjs_require__(37);\nvar nativeStartsWith = ''.startsWith;\nvar min = Math.min;\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith');\nvar MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n var descriptor = getOwnPropertyDescriptor(String.prototype, 'startsWith');\n return descriptor && !descriptor.writable;\n}();\n$({\n target: 'String',\n proto: true,\n forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC\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/* 55 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isRegExp = __w_pdfjs_require__(56);\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/* 56 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(22);\nvar classof = __w_pdfjs_require__(19);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\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/* 57 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar shared = __w_pdfjs_require__(36);\nvar has = __w_pdfjs_require__(23);\nvar uid = __w_pdfjs_require__(38);\nvar NATIVE_SYMBOL = __w_pdfjs_require__(58);\nvar USE_SYMBOL_AS_UID = __w_pdfjs_require__(59);\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\nmodule.exports = function (name) {\n if (!has(WellKnownSymbolsStore, name)) {\n if (NATIVE_SYMBOL && has(Symbol, name))\n WellKnownSymbolsStore[name] = Symbol[name];\n else\n WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);\n }\n return WellKnownSymbolsStore[name];\n};\n\n/***/ }),\n/* 58 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(14);\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n return !String(Symbol());\n});\n\n/***/ }),\n/* 59 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar NATIVE_SYMBOL = __w_pdfjs_require__(58);\nmodule.exports = NATIVE_SYMBOL && !Symbol.sham && typeof Symbol.iterator == 'symbol';\n\n/***/ }),\n/* 60 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar wellKnownSymbol = __w_pdfjs_require__(57);\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/* 61 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar bind = __w_pdfjs_require__(62);\nvar call = Function.call;\nmodule.exports = function (CONSTRUCTOR, METHOD, length) {\n return bind(call, global[CONSTRUCTOR].prototype[METHOD], length);\n};\n\n/***/ }),\n/* 62 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar aFunction = __w_pdfjs_require__(63);\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/* 63 */\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/* 64 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(65);\nvar entryUnbind = __w_pdfjs_require__(61);\nmodule.exports = entryUnbind('String', 'endsWith');\n\n/***/ }),\n/* 65 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar getOwnPropertyDescriptor = __w_pdfjs_require__(12).f;\nvar toLength = __w_pdfjs_require__(47);\nvar notARegExp = __w_pdfjs_require__(55);\nvar requireObjectCoercible = __w_pdfjs_require__(20);\nvar correctIsRegExpLogic = __w_pdfjs_require__(60);\nvar IS_PURE = __w_pdfjs_require__(37);\nvar nativeEndsWith = ''.endsWith;\nvar min = Math.min;\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('endsWith');\nvar MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n var descriptor = getOwnPropertyDescriptor(String.prototype, 'endsWith');\n return descriptor && !descriptor.writable;\n}();\n$({\n target: 'String',\n proto: true,\n forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC\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/* 66 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(67);\nvar entryUnbind = __w_pdfjs_require__(61);\nmodule.exports = entryUnbind('String', 'includes');\n\n/***/ }),\n/* 67 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar notARegExp = __w_pdfjs_require__(55);\nvar requireObjectCoercible = __w_pdfjs_require__(20);\nvar correctIsRegExpLogic = __w_pdfjs_require__(60);\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/* 68 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(69);\nvar entryUnbind = __w_pdfjs_require__(61);\nmodule.exports = entryUnbind('Array', 'includes');\n\n/***/ }),\n/* 69 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar $includes = __w_pdfjs_require__(46).includes;\nvar addToUnscopables = __w_pdfjs_require__(70);\nvar arrayMethodUsesToLength = __w_pdfjs_require__(75);\nvar USES_TO_LENGTH = arrayMethodUsesToLength('indexOf', {\n ACCESSORS: true,\n 1: 0\n});\n$({\n target: 'Array',\n proto: true,\n forced: !USES_TO_LENGTH\n}, {\n includes: function includes(el) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\naddToUnscopables('includes');\n\n/***/ }),\n/* 70 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar create = __w_pdfjs_require__(71);\nvar definePropertyModule = __w_pdfjs_require__(27);\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n\n/***/ }),\n/* 71 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(28);\nvar defineProperties = __w_pdfjs_require__(72);\nvar enumBugKeys = __w_pdfjs_require__(50);\nvar hiddenKeys = __w_pdfjs_require__(39);\nvar html = __w_pdfjs_require__(74);\nvar documentCreateElement = __w_pdfjs_require__(25);\nvar sharedKey = __w_pdfjs_require__(35);\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar EmptyConstructor = function () {\n};\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null;\n return temp;\n};\nvar NullProtoObjectViaIFrame = function () {\n var iframe = documentCreateElement('iframe');\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(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n activeXDocument = document.domain && new ActiveXObject('htmlfile');\n } catch (error) {\n }\n NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();\n var length = enumBugKeys.length;\n while (length--)\n delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\nhiddenKeys[IE_PROTO] = true;\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n result[IE_PROTO] = O;\n } else\n result = NullProtoObject();\n return Properties === undefined ? result : defineProperties(result, Properties);\n};\n\n/***/ }),\n/* 72 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar definePropertyModule = __w_pdfjs_require__(27);\nvar anObject = __w_pdfjs_require__(28);\nvar objectKeys = __w_pdfjs_require__(73);\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/* 73 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar internalObjectKeys = __w_pdfjs_require__(45);\nvar enumBugKeys = __w_pdfjs_require__(50);\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n\n/***/ }),\n/* 74 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar getBuiltIn = __w_pdfjs_require__(42);\nmodule.exports = getBuiltIn('document', 'documentElement');\n\n/***/ }),\n/* 75 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar fails = __w_pdfjs_require__(14);\nvar has = __w_pdfjs_require__(23);\nvar defineProperty = Object.defineProperty;\nvar cache = {};\nvar thrower = function (it) {\n throw it;\n};\nmodule.exports = function (METHOD_NAME, options) {\n if (has(cache, METHOD_NAME))\n return cache[METHOD_NAME];\n if (!options)\n options = {};\n var method = [][METHOD_NAME];\n var ACCESSORS = has(options, 'ACCESSORS') ? options.ACCESSORS : false;\n var argument0 = has(options, 0) ? options[0] : thrower;\n var argument1 = has(options, 1) ? options[1] : undefined;\n return cache[METHOD_NAME] = !!method && !fails(function () {\n if (ACCESSORS && !DESCRIPTORS)\n return true;\n var O = { length: -1 };\n if (ACCESSORS)\n defineProperty(O, 1, {\n enumerable: true,\n get: thrower\n });\n else\n O[1] = 1;\n method.call(O, argument0, argument1);\n });\n};\n\n/***/ }),\n/* 76 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(77);\n__w_pdfjs_require__(89);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Array.from;\n\n/***/ }),\n/* 77 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar charAt = __w_pdfjs_require__(78).charAt;\nvar InternalStateModule = __w_pdfjs_require__(33);\nvar defineIterator = __w_pdfjs_require__(79);\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/* 78 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar toInteger = __w_pdfjs_require__(48);\nvar requireObjectCoercible = __w_pdfjs_require__(20);\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/* 79 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar createIteratorConstructor = __w_pdfjs_require__(80);\nvar getPrototypeOf = __w_pdfjs_require__(82);\nvar setPrototypeOf = __w_pdfjs_require__(87);\nvar setToStringTag = __w_pdfjs_require__(85);\nvar createNonEnumerableProperty = __w_pdfjs_require__(26);\nvar redefine = __w_pdfjs_require__(29);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar IS_PURE = __w_pdfjs_require__(37);\nvar Iterators = __w_pdfjs_require__(86);\nvar IteratorsCore = __w_pdfjs_require__(81);\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 createNonEnumerableProperty(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 createNonEnumerableProperty(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/* 80 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar IteratorPrototype = __w_pdfjs_require__(81).IteratorPrototype;\nvar create = __w_pdfjs_require__(71);\nvar createPropertyDescriptor = __w_pdfjs_require__(16);\nvar setToStringTag = __w_pdfjs_require__(85);\nvar Iterators = __w_pdfjs_require__(86);\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/* 81 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar getPrototypeOf = __w_pdfjs_require__(82);\nvar createNonEnumerableProperty = __w_pdfjs_require__(26);\nvar has = __w_pdfjs_require__(23);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar IS_PURE = __w_pdfjs_require__(37);\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 createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);\n}\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n\n/***/ }),\n/* 82 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar has = __w_pdfjs_require__(23);\nvar toObject = __w_pdfjs_require__(83);\nvar sharedKey = __w_pdfjs_require__(35);\nvar CORRECT_PROTOTYPE_GETTER = __w_pdfjs_require__(84);\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/* 83 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar requireObjectCoercible = __w_pdfjs_require__(20);\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n\n/***/ }),\n/* 84 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(14);\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/* 85 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineProperty = __w_pdfjs_require__(27).f;\nvar has = __w_pdfjs_require__(23);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\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/* 86 */\n/***/ (function(module, exports) {\n\nmodule.exports = {};\n\n/***/ }),\n/* 87 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(28);\nvar aPossiblePrototype = __w_pdfjs_require__(88);\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/* 88 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(22);\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/* 89 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\nvar from = __w_pdfjs_require__(90);\nvar checkCorrectnessOfIteration = __w_pdfjs_require__(97);\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/* 90 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar bind = __w_pdfjs_require__(62);\nvar toObject = __w_pdfjs_require__(83);\nvar callWithSafeIterationClosing = __w_pdfjs_require__(91);\nvar isArrayIteratorMethod = __w_pdfjs_require__(92);\nvar toLength = __w_pdfjs_require__(47);\nvar createProperty = __w_pdfjs_require__(93);\nvar getIteratorMethod = __w_pdfjs_require__(94);\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 iteratorMethod = getIteratorMethod(O);\n var index = 0;\n var length, result, step, iterator, next, value;\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 next = iterator.next;\n result = new C();\n for (; !(step = next.call(iterator)).done; index++) {\n value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [\n step.value,\n index\n ], true) : step.value;\n createProperty(result, index, value);\n }\n } else {\n length = toLength(O.length);\n result = new C(length);\n for (; length > index; index++) {\n value = mapping ? mapfn(O[index], index) : O[index];\n createProperty(result, index, value);\n }\n }\n result.length = index;\n return result;\n};\n\n/***/ }),\n/* 91 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(28);\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/* 92 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar Iterators = __w_pdfjs_require__(86);\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/* 93 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar toPrimitive = __w_pdfjs_require__(21);\nvar definePropertyModule = __w_pdfjs_require__(27);\nvar createPropertyDescriptor = __w_pdfjs_require__(16);\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/* 94 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar classof = __w_pdfjs_require__(95);\nvar Iterators = __w_pdfjs_require__(86);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\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/* 95 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar TO_STRING_TAG_SUPPORT = __w_pdfjs_require__(96);\nvar classofRaw = __w_pdfjs_require__(19);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\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 = TO_STRING_TAG_SUPPORT ? classofRaw : 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/* 96 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\ntest[TO_STRING_TAG] = 'z';\nmodule.exports = String(test) === '[object z]';\n\n/***/ }),\n/* 97 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar wellKnownSymbol = __w_pdfjs_require__(57);\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/* 98 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(99);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Object.assign;\n\n/***/ }),\n/* 99 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\nvar assign = __w_pdfjs_require__(100);\n$({\n target: 'Object',\n stat: true,\n forced: Object.assign !== assign\n}, { assign: assign });\n\n/***/ }),\n/* 100 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar fails = __w_pdfjs_require__(14);\nvar objectKeys = __w_pdfjs_require__(73);\nvar getOwnPropertySymbolsModule = __w_pdfjs_require__(51);\nvar propertyIsEnumerableModule = __w_pdfjs_require__(15);\nvar toObject = __w_pdfjs_require__(83);\nvar IndexedObject = __w_pdfjs_require__(18);\nvar nativeAssign = Object.assign;\nvar defineProperty = Object.defineProperty;\nmodule.exports = !nativeAssign || fails(function () {\n if (DESCRIPTORS && nativeAssign({ b: 1 }, nativeAssign(defineProperty({}, 'a', {\n enumerable: true,\n get: function () {\n defineProperty(this, 'b', {\n value: 3,\n enumerable: false\n });\n }\n }), { b: 2 })).b !== 1)\n return true;\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/* 101 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(102);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Math.log2;\n\n/***/ }),\n/* 102 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\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/* 103 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(104);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Number.isNaN;\n\n/***/ }),\n/* 104 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\n$({\n target: 'Number',\n stat: true\n}, {\n isNaN: function isNaN(number) {\n return number != number;\n }\n});\n\n/***/ }),\n/* 105 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(106);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Number.isInteger;\n\n/***/ }),\n/* 106 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\nvar isInteger = __w_pdfjs_require__(107);\n$({\n target: 'Number',\n stat: true\n}, { isInteger: isInteger });\n\n/***/ }),\n/* 107 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(22);\nvar floor = Math.floor;\nmodule.exports = function isInteger(it) {\n return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n\n/***/ }),\n/* 108 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(109);\n\n/***/ }),\n/* 109 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar ArrayBufferViewCore = __w_pdfjs_require__(110);\nvar speciesConstructor = __w_pdfjs_require__(112);\nvar fails = __w_pdfjs_require__(14);\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $slice = [].slice;\nvar FORCED = fails(function () {\n new Int8Array(1).slice();\n});\nexportTypedArrayMethod('slice', function slice(start, end) {\n var list = $slice.call(aTypedArray(this), start, end);\n var C = speciesConstructor(this, this.constructor);\n var index = 0;\n var length = list.length;\n var result = new (aTypedArrayConstructor(C))(length);\n while (length > index)\n result[index] = list[index++];\n return result;\n}, FORCED);\n\n/***/ }),\n/* 110 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar NATIVE_ARRAY_BUFFER = __w_pdfjs_require__(111);\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar global = __w_pdfjs_require__(11);\nvar isObject = __w_pdfjs_require__(22);\nvar has = __w_pdfjs_require__(23);\nvar classof = __w_pdfjs_require__(95);\nvar createNonEnumerableProperty = __w_pdfjs_require__(26);\nvar redefine = __w_pdfjs_require__(29);\nvar defineProperty = __w_pdfjs_require__(27).f;\nvar getPrototypeOf = __w_pdfjs_require__(82);\nvar setPrototypeOf = __w_pdfjs_require__(87);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar uid = __w_pdfjs_require__(38);\nvar Int8Array = global.Int8Array;\nvar Int8ArrayPrototype = Int8Array && Int8Array.prototype;\nvar Uint8ClampedArray = global.Uint8ClampedArray;\nvar Uint8ClampedArrayPrototype = Uint8ClampedArray && Uint8ClampedArray.prototype;\nvar TypedArray = Int8Array && getPrototypeOf(Int8Array);\nvar TypedArrayPrototype = Int8ArrayPrototype && getPrototypeOf(Int8ArrayPrototype);\nvar ObjectPrototype = Object.prototype;\nvar isPrototypeOf = ObjectPrototype.isPrototypeOf;\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG');\nvar NATIVE_ARRAY_BUFFER_VIEWS = NATIVE_ARRAY_BUFFER && !!setPrototypeOf && classof(global.opera) !== 'Opera';\nvar TYPED_ARRAY_TAG_REQIRED = false;\nvar NAME;\nvar TypedArrayConstructorsList = {\n Int8Array: 1,\n Uint8Array: 1,\n Uint8ClampedArray: 1,\n Int16Array: 2,\n Uint16Array: 2,\n Int32Array: 4,\n Uint32Array: 4,\n Float32Array: 4,\n Float64Array: 8\n};\nvar isView = function isView(it) {\n var klass = classof(it);\n return klass === 'DataView' || has(TypedArrayConstructorsList, klass);\n};\nvar isTypedArray = function (it) {\n return isObject(it) && has(TypedArrayConstructorsList, classof(it));\n};\nvar aTypedArray = function (it) {\n if (isTypedArray(it))\n return it;\n throw TypeError('Target is not a typed array');\n};\nvar aTypedArrayConstructor = function (C) {\n if (setPrototypeOf) {\n if (isPrototypeOf.call(TypedArray, C))\n return C;\n } else\n for (var ARRAY in TypedArrayConstructorsList)\n if (has(TypedArrayConstructorsList, NAME)) {\n var TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && (C === TypedArrayConstructor || isPrototypeOf.call(TypedArrayConstructor, C))) {\n return C;\n }\n }\n throw TypeError('Target is not a typed array constructor');\n};\nvar exportTypedArrayMethod = function (KEY, property, forced) {\n if (!DESCRIPTORS)\n return;\n if (forced)\n for (var ARRAY in TypedArrayConstructorsList) {\n var TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && has(TypedArrayConstructor.prototype, KEY)) {\n delete TypedArrayConstructor.prototype[KEY];\n }\n }\n if (!TypedArrayPrototype[KEY] || forced) {\n redefine(TypedArrayPrototype, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property);\n }\n};\nvar exportTypedArrayStaticMethod = function (KEY, property, forced) {\n var ARRAY, TypedArrayConstructor;\n if (!DESCRIPTORS)\n return;\n if (setPrototypeOf) {\n if (forced)\n for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && has(TypedArrayConstructor, KEY)) {\n delete TypedArrayConstructor[KEY];\n }\n }\n if (!TypedArray[KEY] || forced) {\n try {\n return redefine(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && Int8Array[KEY] || property);\n } catch (error) {\n }\n } else\n return;\n }\n for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) {\n redefine(TypedArrayConstructor, KEY, property);\n }\n }\n};\nfor (NAME in TypedArrayConstructorsList) {\n if (!global[NAME])\n NATIVE_ARRAY_BUFFER_VIEWS = false;\n}\nif (!NATIVE_ARRAY_BUFFER_VIEWS || typeof TypedArray != 'function' || TypedArray === Function.prototype) {\n TypedArray = function TypedArray() {\n throw TypeError('Incorrect invocation');\n };\n if (NATIVE_ARRAY_BUFFER_VIEWS)\n for (NAME in TypedArrayConstructorsList) {\n if (global[NAME])\n setPrototypeOf(global[NAME], TypedArray);\n }\n}\nif (!NATIVE_ARRAY_BUFFER_VIEWS || !TypedArrayPrototype || TypedArrayPrototype === ObjectPrototype) {\n TypedArrayPrototype = TypedArray.prototype;\n if (NATIVE_ARRAY_BUFFER_VIEWS)\n for (NAME in TypedArrayConstructorsList) {\n if (global[NAME])\n setPrototypeOf(global[NAME].prototype, TypedArrayPrototype);\n }\n}\nif (NATIVE_ARRAY_BUFFER_VIEWS && getPrototypeOf(Uint8ClampedArrayPrototype) !== TypedArrayPrototype) {\n setPrototypeOf(Uint8ClampedArrayPrototype, TypedArrayPrototype);\n}\nif (DESCRIPTORS && !has(TypedArrayPrototype, TO_STRING_TAG)) {\n TYPED_ARRAY_TAG_REQIRED = true;\n defineProperty(TypedArrayPrototype, TO_STRING_TAG, {\n get: function () {\n return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined;\n }\n });\n for (NAME in TypedArrayConstructorsList)\n if (global[NAME]) {\n createNonEnumerableProperty(global[NAME], TYPED_ARRAY_TAG, NAME);\n }\n}\nmodule.exports = {\n NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS,\n TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQIRED && TYPED_ARRAY_TAG,\n aTypedArray: aTypedArray,\n aTypedArrayConstructor: aTypedArrayConstructor,\n exportTypedArrayMethod: exportTypedArrayMethod,\n exportTypedArrayStaticMethod: exportTypedArrayStaticMethod,\n isView: isView,\n isTypedArray: isTypedArray,\n TypedArray: TypedArray,\n TypedArrayPrototype: TypedArrayPrototype\n};\n\n/***/ }),\n/* 111 */\n/***/ (function(module, exports) {\n\nmodule.exports = typeof ArrayBuffer !== 'undefined' && typeof DataView !== 'undefined';\n\n/***/ }),\n/* 112 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(28);\nvar aFunction = __w_pdfjs_require__(63);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\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/* 113 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(114);\n__w_pdfjs_require__(77);\n__w_pdfjs_require__(116);\n__w_pdfjs_require__(119);\n__w_pdfjs_require__(134);\n__w_pdfjs_require__(135);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Promise;\n\n/***/ }),\n/* 114 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar TO_STRING_TAG_SUPPORT = __w_pdfjs_require__(96);\nvar redefine = __w_pdfjs_require__(29);\nvar toString = __w_pdfjs_require__(115);\nif (!TO_STRING_TAG_SUPPORT) {\n redefine(Object.prototype, 'toString', toString, { unsafe: true });\n}\n\n/***/ }),\n/* 115 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar TO_STRING_TAG_SUPPORT = __w_pdfjs_require__(96);\nvar classof = __w_pdfjs_require__(95);\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n\n/***/ }),\n/* 116 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar DOMIterables = __w_pdfjs_require__(117);\nvar ArrayIteratorMethods = __w_pdfjs_require__(118);\nvar createNonEnumerableProperty = __w_pdfjs_require__(26);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\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 createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);\n } catch (error) {\n CollectionPrototype[ITERATOR] = ArrayValues;\n }\n if (!CollectionPrototype[TO_STRING_TAG]) {\n createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);\n }\n if (DOMIterables[COLLECTION_NAME])\n for (var METHOD_NAME in ArrayIteratorMethods) {\n if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME])\n try {\n createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\n } catch (error) {\n CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\n }\n }\n }\n}\n\n/***/ }),\n/* 117 */\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/* 118 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar toIndexedObject = __w_pdfjs_require__(17);\nvar addToUnscopables = __w_pdfjs_require__(70);\nvar Iterators = __w_pdfjs_require__(86);\nvar InternalStateModule = __w_pdfjs_require__(33);\nvar defineIterator = __w_pdfjs_require__(79);\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/* 119 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar IS_PURE = __w_pdfjs_require__(37);\nvar global = __w_pdfjs_require__(11);\nvar getBuiltIn = __w_pdfjs_require__(42);\nvar NativePromise = __w_pdfjs_require__(120);\nvar redefine = __w_pdfjs_require__(29);\nvar redefineAll = __w_pdfjs_require__(121);\nvar setToStringTag = __w_pdfjs_require__(85);\nvar setSpecies = __w_pdfjs_require__(122);\nvar isObject = __w_pdfjs_require__(22);\nvar aFunction = __w_pdfjs_require__(63);\nvar anInstance = __w_pdfjs_require__(123);\nvar classof = __w_pdfjs_require__(19);\nvar inspectSource = __w_pdfjs_require__(31);\nvar iterate = __w_pdfjs_require__(124);\nvar checkCorrectnessOfIteration = __w_pdfjs_require__(97);\nvar speciesConstructor = __w_pdfjs_require__(112);\nvar task = __w_pdfjs_require__(125).set;\nvar microtask = __w_pdfjs_require__(128);\nvar promiseResolve = __w_pdfjs_require__(129);\nvar hostReportErrors = __w_pdfjs_require__(131);\nvar newPromiseCapabilityModule = __w_pdfjs_require__(130);\nvar perform = __w_pdfjs_require__(132);\nvar InternalStateModule = __w_pdfjs_require__(33);\nvar isForced = __w_pdfjs_require__(52);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar V8_VERSION = __w_pdfjs_require__(133);\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 = getBuiltIn('fetch');\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 GLOBAL_CORE_JS_PROMISE = inspectSource(PromiseConstructor) !== String(PromiseConstructor);\n if (!GLOBAL_CORE_JS_PROMISE) {\n if (V8_VERSION === 66)\n return true;\n if (!IS_NODE && typeof PromiseRejectionEvent != 'function')\n return true;\n }\n if (IS_PURE && !PromiseConstructor.prototype['finally'])\n return true;\n if (V8_VERSION >= 51 && /native code/.test(PromiseConstructor))\n return false;\n var promise = PromiseConstructor.resolve(1);\n var FakePromise = function (exec) {\n exec(function () {\n }, function () {\n });\n };\n var constructor = promise.constructor = {};\n constructor[SPECIES] = FakePromise;\n return !(promise.then(function () {\n }) instanceof FakePromise);\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 }, { unsafe: true });\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 = getBuiltIn(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/* 120 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nmodule.exports = global.Promise;\n\n/***/ }),\n/* 121 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar redefine = __w_pdfjs_require__(29);\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/* 122 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar getBuiltIn = __w_pdfjs_require__(42);\nvar definePropertyModule = __w_pdfjs_require__(27);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar DESCRIPTORS = __w_pdfjs_require__(13);\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/* 123 */\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/* 124 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(28);\nvar isArrayIteratorMethod = __w_pdfjs_require__(92);\nvar toLength = __w_pdfjs_require__(47);\nvar bind = __w_pdfjs_require__(62);\nvar getIteratorMethod = __w_pdfjs_require__(94);\nvar callWithSafeIterationClosing = __w_pdfjs_require__(91);\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, next, 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 next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n result = callWithSafeIterationClosing(iterator, boundFunction, step.value, AS_ENTRIES);\n if (typeof result == 'object' && 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/* 125 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar fails = __w_pdfjs_require__(14);\nvar classof = __w_pdfjs_require__(19);\nvar bind = __w_pdfjs_require__(62);\nvar html = __w_pdfjs_require__(74);\nvar createElement = __w_pdfjs_require__(25);\nvar IS_IOS = __w_pdfjs_require__(126);\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 && !IS_IOS) {\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) && location.protocol !== 'file:') {\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/* 126 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar userAgent = __w_pdfjs_require__(127);\nmodule.exports = /(iphone|ipod|ipad).*applewebkit/i.test(userAgent);\n\n/***/ }),\n/* 127 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar getBuiltIn = __w_pdfjs_require__(42);\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n\n/***/ }),\n/* 128 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar getOwnPropertyDescriptor = __w_pdfjs_require__(12).f;\nvar classof = __w_pdfjs_require__(19);\nvar macrotask = __w_pdfjs_require__(125).set;\nvar IS_IOS = __w_pdfjs_require__(126);\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 && !IS_IOS) {\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/* 129 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(28);\nvar isObject = __w_pdfjs_require__(22);\nvar newPromiseCapability = __w_pdfjs_require__(130);\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/* 130 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar aFunction = __w_pdfjs_require__(63);\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/* 131 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\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/* 132 */\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/* 133 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar userAgent = __w_pdfjs_require__(127);\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8;\nvar match, version;\nif (v8) {\n match = v8.split('.');\n version = match[0] + match[1];\n} else if (userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match)\n version = match[1];\n }\n}\nmodule.exports = version && +version;\n\n/***/ }),\n/* 134 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar aFunction = __w_pdfjs_require__(63);\nvar newPromiseCapabilityModule = __w_pdfjs_require__(130);\nvar perform = __w_pdfjs_require__(132);\nvar iterate = __w_pdfjs_require__(124);\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/* 135 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar IS_PURE = __w_pdfjs_require__(37);\nvar NativePromise = __w_pdfjs_require__(120);\nvar fails = __w_pdfjs_require__(14);\nvar getBuiltIn = __w_pdfjs_require__(42);\nvar speciesConstructor = __w_pdfjs_require__(112);\nvar promiseResolve = __w_pdfjs_require__(129);\nvar redefine = __w_pdfjs_require__(29);\nvar NON_GENERIC = !!NativePromise && fails(function () {\n NativePromise.prototype['finally'].call({\n then: function () {\n }\n }, function () {\n });\n});\n$({\n target: 'Promise',\n proto: true,\n real: true,\n forced: NON_GENERIC\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/* 136 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(137);\n__w_pdfjs_require__(142);\n__w_pdfjs_require__(140);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.URL;\n\n/***/ }),\n/* 137 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n__w_pdfjs_require__(77);\nvar $ = __w_pdfjs_require__(10);\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar USE_NATIVE_URL = __w_pdfjs_require__(138);\nvar global = __w_pdfjs_require__(11);\nvar defineProperties = __w_pdfjs_require__(72);\nvar redefine = __w_pdfjs_require__(29);\nvar anInstance = __w_pdfjs_require__(123);\nvar has = __w_pdfjs_require__(23);\nvar assign = __w_pdfjs_require__(100);\nvar arrayFrom = __w_pdfjs_require__(90);\nvar codeAt = __w_pdfjs_require__(78).codeAt;\nvar toASCII = __w_pdfjs_require__(139);\nvar setToStringTag = __w_pdfjs_require__(85);\nvar URLSearchParamsModule = __w_pdfjs_require__(140);\nvar InternalStateModule = __w_pdfjs_require__(33);\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 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/* 138 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(14);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar IS_PURE = __w_pdfjs_require__(37);\nvar ITERATOR = wellKnownSymbol('iterator');\nmodule.exports = !fails(function () {\n var url = new URL('b?a=1&b=2&c=3', 'http://a');\n var searchParams = url.searchParams;\n var result = '';\n url.pathname = 'c%20d';\n searchParams.forEach(function (value, key) {\n searchParams['delete']('b');\n result += key + value;\n });\n return IS_PURE && !url.toJSON || !searchParams.sort || url.href !== 'http://a/c%20d?a=1&c=3' || searchParams.get('c') !== '3' || 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' || result !== 'a1c3' || new URL('http://x', undefined).host !== 'x';\n});\n\n/***/ }),\n/* 139 */\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/* 140 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n__w_pdfjs_require__(118);\nvar $ = __w_pdfjs_require__(10);\nvar getBuiltIn = __w_pdfjs_require__(42);\nvar USE_NATIVE_URL = __w_pdfjs_require__(138);\nvar redefine = __w_pdfjs_require__(29);\nvar redefineAll = __w_pdfjs_require__(121);\nvar setToStringTag = __w_pdfjs_require__(85);\nvar createIteratorConstructor = __w_pdfjs_require__(80);\nvar InternalStateModule = __w_pdfjs_require__(33);\nvar anInstance = __w_pdfjs_require__(123);\nvar hasOwn = __w_pdfjs_require__(23);\nvar bind = __w_pdfjs_require__(62);\nvar classof = __w_pdfjs_require__(95);\nvar anObject = __w_pdfjs_require__(28);\nvar isObject = __w_pdfjs_require__(22);\nvar create = __w_pdfjs_require__(71);\nvar createPropertyDescriptor = __w_pdfjs_require__(16);\nvar getIterator = __w_pdfjs_require__(141);\nvar getIteratorMethod = __w_pdfjs_require__(94);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar $fetch = getBuiltIn('fetch');\nvar Headers = getBuiltIn('Headers');\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, next, step, entryIterator, entryNext, 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 next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n entryIterator = getIterator(anObject(step.value));\n entryNext = entryIterator.next;\n if ((first = entryNext.call(entryIterator)).done || (second = entryNext.call(entryIterator)).done || !entryNext.call(entryIterator).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 });\nif (!USE_NATIVE_URL && typeof $fetch == 'function' && typeof Headers == 'function') {\n $({\n global: true,\n enumerable: true,\n forced: true\n }, {\n fetch: function fetch(input) {\n var args = [input];\n var init, body, headers;\n if (arguments.length > 1) {\n init = arguments[1];\n if (isObject(init)) {\n body = init.body;\n if (classof(body) === URL_SEARCH_PARAMS) {\n headers = init.headers ? new Headers(init.headers) : new Headers();\n if (!headers.has('content-type')) {\n headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n init = create(init, {\n body: createPropertyDescriptor(0, String(body)),\n headers: createPropertyDescriptor(0, headers)\n });\n }\n }\n args.push(init);\n }\n return $fetch.apply(this, args);\n }\n });\n}\nmodule.exports = {\n URLSearchParams: URLSearchParamsConstructor,\n getState: getInternalParamsState\n};\n\n/***/ }),\n/* 141 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(28);\nvar getIteratorMethod = __w_pdfjs_require__(94);\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/* 142 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\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/* 143 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n(function (global, factory) {\n true ? factory(exports) : undefined;\n}(this, function (exports) {\n 'use strict';\n var SymbolPolyfill = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? Symbol : function (description) {\n return \"Symbol(\" + description + \")\";\n };\n function noop() {\n }\n var NumberIsNaN = Number.isNaN || function (x) {\n return x !== x;\n };\n var rethrowAssertionErrorRejection = noop;\n function typeIsObject(x) {\n return typeof x === 'object' && x !== null || typeof x === 'function';\n }\n function createArrayFromList(elements) {\n return elements.slice();\n }\n function ArrayBufferCopy(dest, destOffset, src, srcOffset, n) {\n new Uint8Array(dest).set(new Uint8Array(src, srcOffset, n), destOffset);\n }\n function IsFiniteNonNegativeNumber(v) {\n if (IsNonNegativeNumber(v) === false) {\n return false;\n }\n if (v === Infinity) {\n return false;\n }\n return true;\n }\n function 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 }\n function Call(F, V, args) {\n if (typeof F !== 'function') {\n throw new TypeError('Argument is not a function');\n }\n return Function.prototype.apply.call(F, V, args);\n }\n function 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 promiseResolvedWith(undefined);\n };\n }\n function InvokeOrNoop(O, P, args) {\n var method = O[P];\n if (method === undefined) {\n return undefined;\n }\n return Call(method, O, args);\n }\n function PromiseCall(F, V, args) {\n try {\n return promiseResolvedWith(Call(F, V, args));\n } catch (value) {\n return promiseRejectedWith(value);\n }\n }\n function TransferArrayBuffer(O) {\n return O;\n }\n function IsDetachedBuffer(O) {\n return false;\n }\n function 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 }\n function 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 }\n var originalPromise = Promise;\n var originalPromiseThen = Promise.prototype.then;\n var originalPromiseResolve = Promise.resolve.bind(originalPromise);\n var originalPromiseReject = Promise.reject.bind(originalPromise);\n function newPromise(executor) {\n return new originalPromise(executor);\n }\n function promiseResolvedWith(value) {\n return originalPromiseResolve(value);\n }\n function promiseRejectedWith(reason) {\n return originalPromiseReject(reason);\n }\n function PerformPromiseThen(promise, onFulfilled, onRejected) {\n return originalPromiseThen.call(promise, onFulfilled, onRejected);\n }\n function uponPromise(promise, onFulfilled, onRejected) {\n PerformPromiseThen(PerformPromiseThen(promise, onFulfilled, onRejected), undefined, rethrowAssertionErrorRejection);\n }\n function uponFulfillment(promise, onFulfilled) {\n uponPromise(promise, onFulfilled);\n }\n function uponRejection(promise, onRejected) {\n uponPromise(promise, undefined, onRejected);\n }\n function transformPromiseWith(promise, fulfillmentHandler, rejectionHandler) {\n return PerformPromiseThen(promise, fulfillmentHandler, rejectionHandler);\n }\n function setPromiseIsHandledToTrue(promise) {\n PerformPromiseThen(promise, undefined, rethrowAssertionErrorRejection);\n }\n var QUEUE_MAX_ARRAY_SIZE = 16384;\n var 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 }();\n function 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 }\n function 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 }\n function ReadableStreamReaderGenericCancel(reader, reason) {\n var stream = reader._ownerReadableStream;\n return ReadableStreamCancel(stream, reason);\n }\n function 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 }\n function readerLockException(name) {\n return new TypeError('Cannot ' + name + ' a stream using a released reader');\n }\n function defaultReaderClosedPromiseInitialize(reader) {\n reader._closedPromise = newPromise(function (resolve, reject) {\n reader._closedPromise_resolve = resolve;\n reader._closedPromise_reject = reject;\n });\n }\n function defaultReaderClosedPromiseInitializeAsRejected(reader, reason) {\n defaultReaderClosedPromiseInitialize(reader);\n defaultReaderClosedPromiseReject(reader, reason);\n }\n function defaultReaderClosedPromiseInitializeAsResolved(reader) {\n defaultReaderClosedPromiseInitialize(reader);\n defaultReaderClosedPromiseResolve(reader);\n }\n function defaultReaderClosedPromiseReject(reader, reason) {\n setPromiseIsHandledToTrue(reader._closedPromise);\n reader._closedPromise_reject(reason);\n reader._closedPromise_resolve = undefined;\n reader._closedPromise_reject = undefined;\n }\n function defaultReaderClosedPromiseResetToRejected(reader, reason) {\n defaultReaderClosedPromiseInitializeAsRejected(reader, reason);\n }\n function defaultReaderClosedPromiseResolve(reader) {\n reader._closedPromise_resolve(undefined);\n reader._closedPromise_resolve = undefined;\n reader._closedPromise_reject = undefined;\n }\n var CancelSteps = SymbolPolyfill('[[CancelSteps]]');\n var PullSteps = SymbolPolyfill('[[PullSteps]]');\n function 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 }\n function ReadableStreamAddReadRequest(stream) {\n var promise = newPromise(function (resolve, reject) {\n var readRequest = {\n _resolve: resolve,\n _reject: reject\n };\n stream._reader._readRequests.push(readRequest);\n });\n return promise;\n }\n function ReadableStreamFulfillReadRequest(stream, chunk, done) {\n var reader = stream._reader;\n var readRequest = reader._readRequests.shift();\n readRequest._resolve(ReadableStreamCreateReadResult(chunk, done, reader._forAuthorCode));\n }\n function ReadableStreamGetNumReadRequests(stream) {\n return stream._reader._readRequests.length;\n }\n function 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 }\n var 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 promiseRejectedWith(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 promiseRejectedWith(defaultReaderBrandCheckException('cancel'));\n }\n if (this._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('cancel'));\n }\n return ReadableStreamReaderGenericCancel(this, reason);\n };\n ReadableStreamDefaultReader.prototype.read = function () {\n if (!IsReadableStreamDefaultReader(this)) {\n return promiseRejectedWith(defaultReaderBrandCheckException('read'));\n }\n if (this._ownerReadableStream === undefined) {\n return promiseRejectedWith(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 }();\n function IsReadableStreamDefaultReader(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_readRequests')) {\n return false;\n }\n return true;\n }\n function ReadableStreamDefaultReaderRead(reader) {\n var stream = reader._ownerReadableStream;\n stream._disturbed = true;\n if (stream._state === 'closed') {\n return promiseResolvedWith(ReadableStreamCreateReadResult(undefined, true, reader._forAuthorCode));\n }\n if (stream._state === 'errored') {\n return promiseRejectedWith(stream._storedError);\n }\n return stream._readableStreamController[PullSteps]();\n }\n function defaultReaderBrandCheckException(name) {\n return new TypeError(\"ReadableStreamDefaultReader.prototype.\" + name + \" can only be used on a ReadableStreamDefaultReader\");\n }\n var _a;\n var AsyncIteratorPrototype;\n if (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 }\n var ReadableStreamAsyncIteratorPrototype = {\n next: function () {\n if (IsReadableStreamAsyncIterator(this) === false) {\n return promiseRejectedWith(streamAsyncIteratorBrandCheckException('next'));\n }\n var reader = this._asyncIteratorReader;\n if (reader._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('iterate'));\n }\n return transformPromiseWith(ReadableStreamDefaultReaderRead(reader), 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 promiseRejectedWith(streamAsyncIteratorBrandCheckException('next'));\n }\n var reader = this._asyncIteratorReader;\n if (reader._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('finish iterating'));\n }\n if (reader._readRequests.length > 0) {\n return promiseRejectedWith(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 transformPromiseWith(result, function () {\n return ReadableStreamCreateReadResult(value, true, true);\n });\n }\n ReadableStreamReaderGenericRelease(reader);\n return promiseResolvedWith(ReadableStreamCreateReadResult(value, true, true));\n }\n };\n if (AsyncIteratorPrototype !== undefined) {\n Object.setPrototypeOf(ReadableStreamAsyncIteratorPrototype, AsyncIteratorPrototype);\n }\n Object.defineProperty(ReadableStreamAsyncIteratorPrototype, 'next', { enumerable: false });\n Object.defineProperty(ReadableStreamAsyncIteratorPrototype, 'return', { enumerable: false });\n function 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 }\n function 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 }\n function streamAsyncIteratorBrandCheckException(name) {\n return new TypeError(\"ReadableStreamAsyncIterator.\" + name + \" can only be used on a ReadableSteamAsyncIterator\");\n }\n function 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 }\n function 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 }\n function PeekQueueValue(container) {\n var pair = container._queue.peek();\n return pair.value;\n }\n function ResetQueue(container) {\n container._queue = new SimpleQueue();\n container._queueTotalSize = 0;\n }\n var AbortSteps = SymbolPolyfill('[[AbortSteps]]');\n var ErrorSteps = SymbolPolyfill('[[ErrorSteps]]');\n var 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 promiseRejectedWith(streamBrandCheckException('abort'));\n }\n if (IsWritableStreamLocked(this) === true) {\n return promiseRejectedWith(new TypeError('Cannot abort a stream that already has a writer'));\n }\n return WritableStreamAbort(this, reason);\n };\n WritableStream.prototype.close = function () {\n if (IsWritableStream(this) === false) {\n return promiseRejectedWith(streamBrandCheckException('close'));\n }\n if (IsWritableStreamLocked(this) === true) {\n return promiseRejectedWith(new TypeError('Cannot close a stream that already has a writer'));\n }\n if (WritableStreamCloseQueuedOrInFlight(this) === true) {\n return promiseRejectedWith(new TypeError('Cannot close an already-closing stream'));\n }\n return WritableStreamClose(this);\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 }();\n function AcquireWritableStreamDefaultWriter(stream) {\n return new WritableStreamDefaultWriter(stream);\n }\n function 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 }\n function 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 }\n function IsWritableStream(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_writableStreamController')) {\n return false;\n }\n return true;\n }\n function IsWritableStreamLocked(stream) {\n if (stream._writer === undefined) {\n return false;\n }\n return true;\n }\n function WritableStreamAbort(stream, reason) {\n var state = stream._state;\n if (state === 'closed' || state === 'errored') {\n return promiseResolvedWith(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 = newPromise(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 }\n function WritableStreamClose(stream) {\n var state = stream._state;\n if (state === 'closed' || state === 'errored') {\n return promiseRejectedWith(new TypeError(\"The stream (in \" + state + \" state) is not in the writable state and cannot be closed\"));\n }\n var promise = newPromise(function (resolve, reject) {\n var closeRequest = {\n _resolve: resolve,\n _reject: reject\n };\n stream._closeRequest = closeRequest;\n });\n var writer = stream._writer;\n if (writer !== undefined && stream._backpressure === true && state === 'writable') {\n defaultWriterReadyPromiseResolve(writer);\n }\n WritableStreamDefaultControllerClose(stream._writableStreamController);\n return promise;\n }\n function WritableStreamAddWriteRequest(stream) {\n var promise = newPromise(function (resolve, reject) {\n var writeRequest = {\n _resolve: resolve,\n _reject: reject\n };\n stream._writeRequests.push(writeRequest);\n });\n return promise;\n }\n function WritableStreamDealWithRejection(stream, error) {\n var state = stream._state;\n if (state === 'writable') {\n WritableStreamStartErroring(stream, error);\n return;\n }\n WritableStreamFinishErroring(stream);\n }\n function 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 }\n function 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 uponPromise(promise, function () {\n abortRequest._resolve();\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n }, function (reason) {\n abortRequest._reject(reason);\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n });\n }\n function WritableStreamFinishInFlightWrite(stream) {\n stream._inFlightWriteRequest._resolve(undefined);\n stream._inFlightWriteRequest = undefined;\n }\n function WritableStreamFinishInFlightWriteWithError(stream, error) {\n stream._inFlightWriteRequest._reject(error);\n stream._inFlightWriteRequest = undefined;\n WritableStreamDealWithRejection(stream, error);\n }\n function 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 }\n function 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 }\n function WritableStreamCloseQueuedOrInFlight(stream) {\n if (stream._closeRequest === undefined && stream._inFlightCloseRequest === undefined) {\n return false;\n }\n return true;\n }\n function WritableStreamHasOperationMarkedInFlight(stream) {\n if (stream._inFlightWriteRequest === undefined && stream._inFlightCloseRequest === undefined) {\n return false;\n }\n return true;\n }\n function WritableStreamMarkCloseRequestInFlight(stream) {\n stream._inFlightCloseRequest = stream._closeRequest;\n stream._closeRequest = undefined;\n }\n function WritableStreamMarkFirstWriteRequestInFlight(stream) {\n stream._inFlightWriteRequest = stream._writeRequests.shift();\n }\n function 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 }\n function 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 }\n var 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 promiseRejectedWith(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 promiseRejectedWith(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 promiseRejectedWith(defaultWriterBrandCheckException('abort'));\n }\n if (this._ownerWritableStream === undefined) {\n return promiseRejectedWith(defaultWriterLockException('abort'));\n }\n return WritableStreamDefaultWriterAbort(this, reason);\n };\n WritableStreamDefaultWriter.prototype.close = function () {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return promiseRejectedWith(defaultWriterBrandCheckException('close'));\n }\n var stream = this._ownerWritableStream;\n if (stream === undefined) {\n return promiseRejectedWith(defaultWriterLockException('close'));\n }\n if (WritableStreamCloseQueuedOrInFlight(stream) === true) {\n return promiseRejectedWith(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 promiseRejectedWith(defaultWriterBrandCheckException('write'));\n }\n if (this._ownerWritableStream === undefined) {\n return promiseRejectedWith(defaultWriterLockException('write to'));\n }\n return WritableStreamDefaultWriterWrite(this, chunk);\n };\n return WritableStreamDefaultWriter;\n }();\n function IsWritableStreamDefaultWriter(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_ownerWritableStream')) {\n return false;\n }\n return true;\n }\n function WritableStreamDefaultWriterAbort(writer, reason) {\n var stream = writer._ownerWritableStream;\n return WritableStreamAbort(stream, reason);\n }\n function WritableStreamDefaultWriterClose(writer) {\n var stream = writer._ownerWritableStream;\n return WritableStreamClose(stream);\n }\n function WritableStreamDefaultWriterCloseWithErrorPropagation(writer) {\n var stream = writer._ownerWritableStream;\n var state = stream._state;\n if (WritableStreamCloseQueuedOrInFlight(stream) === true || state === 'closed') {\n return promiseResolvedWith(undefined);\n }\n if (state === 'errored') {\n return promiseRejectedWith(stream._storedError);\n }\n return WritableStreamDefaultWriterClose(writer);\n }\n function WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, error) {\n if (writer._closedPromiseState === 'pending') {\n defaultWriterClosedPromiseReject(writer, error);\n } else {\n defaultWriterClosedPromiseResetToRejected(writer, error);\n }\n }\n function WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, error) {\n if (writer._readyPromiseState === 'pending') {\n defaultWriterReadyPromiseReject(writer, error);\n } else {\n defaultWriterReadyPromiseResetToRejected(writer, error);\n }\n }\n function WritableStreamDefaultWriterGetDesiredSize(writer) {\n var stream = writer._ownerWritableStream;\n var state = stream._state;\n if (state === 'errored' || state === 'erroring') {\n return null;\n }\n if (state === 'closed') {\n return 0;\n }\n return WritableStreamDefaultControllerGetDesiredSize(stream._writableStreamController);\n }\n function WritableStreamDefaultWriterRelease(writer) {\n var stream = writer._ownerWritableStream;\n var releasedError = new TypeError('Writer was released and can no longer be used to monitor the stream\\'s closedness');\n WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, releasedError);\n WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, releasedError);\n stream._writer = undefined;\n writer._ownerWritableStream = undefined;\n }\n function WritableStreamDefaultWriterWrite(writer, chunk) {\n var stream = writer._ownerWritableStream;\n var controller = stream._writableStreamController;\n var chunkSize = WritableStreamDefaultControllerGetChunkSize(controller, chunk);\n if (stream !== writer._ownerWritableStream) {\n return promiseRejectedWith(defaultWriterLockException('write to'));\n }\n var state = stream._state;\n if (state === 'errored') {\n return promiseRejectedWith(stream._storedError);\n }\n if (WritableStreamCloseQueuedOrInFlight(stream) === true || state === 'closed') {\n return promiseRejectedWith(new TypeError('The stream is closing or closed and cannot be written to'));\n }\n if (state === 'erroring') {\n return promiseRejectedWith(stream._storedError);\n }\n var promise = WritableStreamAddWriteRequest(stream);\n WritableStreamDefaultControllerWrite(controller, chunk, chunkSize);\n return promise;\n }\n var 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 }();\n function 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 }\n function 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 = promiseResolvedWith(startResult);\n uponPromise(startPromise, function () {\n controller._started = true;\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }, function (r) {\n controller._started = true;\n WritableStreamDealWithRejection(stream, r);\n });\n }\n function 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 }\n function WritableStreamDefaultControllerClearAlgorithms(controller) {\n controller._writeAlgorithm = undefined;\n controller._closeAlgorithm = undefined;\n controller._abortAlgorithm = undefined;\n controller._strategySizeAlgorithm = undefined;\n }\n function WritableStreamDefaultControllerClose(controller) {\n EnqueueValueWithSize(controller, 'close', 0);\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }\n function WritableStreamDefaultControllerGetChunkSize(controller, chunk) {\n try {\n return controller._strategySizeAlgorithm(chunk);\n } catch (chunkSizeE) {\n WritableStreamDefaultControllerErrorIfNeeded(controller, chunkSizeE);\n return 1;\n }\n }\n function WritableStreamDefaultControllerGetDesiredSize(controller) {\n return controller._strategyHWM - controller._queueTotalSize;\n }\n function WritableStreamDefaultControllerWrite(controller, chunk, chunkSize) {\n var writeRecord = { chunk: chunk };\n try {\n EnqueueValueWithSize(controller, writeRecord, chunkSize);\n } catch (enqueueE) {\n WritableStreamDefaultControllerErrorIfNeeded(controller, enqueueE);\n return;\n }\n var stream = controller._controlledWritableStream;\n if (WritableStreamCloseQueuedOrInFlight(stream) === false && stream._state === 'writable') {\n var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);\n WritableStreamUpdateBackpressure(stream, backpressure);\n }\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }\n function 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 }\n function WritableStreamDefaultControllerErrorIfNeeded(controller, error) {\n if (controller._controlledWritableStream._state === 'writable') {\n WritableStreamDefaultControllerError(controller, error);\n }\n }\n function WritableStreamDefaultControllerProcessClose(controller) {\n var stream = controller._controlledWritableStream;\n WritableStreamMarkCloseRequestInFlight(stream);\n DequeueValue(controller);\n var sinkClosePromise = controller._closeAlgorithm();\n WritableStreamDefaultControllerClearAlgorithms(controller);\n uponPromise(sinkClosePromise, function () {\n WritableStreamFinishInFlightClose(stream);\n }, function (reason) {\n WritableStreamFinishInFlightCloseWithError(stream, reason);\n });\n }\n function WritableStreamDefaultControllerProcessWrite(controller, chunk) {\n var stream = controller._controlledWritableStream;\n WritableStreamMarkFirstWriteRequestInFlight(stream);\n var sinkWritePromise = controller._writeAlgorithm(chunk);\n uponPromise(sinkWritePromise, 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 });\n }\n function WritableStreamDefaultControllerGetBackpressure(controller) {\n var desiredSize = WritableStreamDefaultControllerGetDesiredSize(controller);\n return desiredSize <= 0;\n }\n function WritableStreamDefaultControllerError(controller, error) {\n var stream = controller._controlledWritableStream;\n WritableStreamDefaultControllerClearAlgorithms(controller);\n WritableStreamStartErroring(stream, error);\n }\n function streamBrandCheckException(name) {\n return new TypeError(\"WritableStream.prototype.\" + name + \" can only be used on a WritableStream\");\n }\n function defaultWriterBrandCheckException(name) {\n return new TypeError(\"WritableStreamDefaultWriter.prototype.\" + name + \" can only be used on a WritableStreamDefaultWriter\");\n }\n function defaultWriterLockException(name) {\n return new TypeError('Cannot ' + name + ' a stream using a released writer');\n }\n function defaultWriterClosedPromiseInitialize(writer) {\n writer._closedPromise = newPromise(function (resolve, reject) {\n writer._closedPromise_resolve = resolve;\n writer._closedPromise_reject = reject;\n writer._closedPromiseState = 'pending';\n });\n }\n function defaultWriterClosedPromiseInitializeAsRejected(writer, reason) {\n defaultWriterClosedPromiseInitialize(writer);\n defaultWriterClosedPromiseReject(writer, reason);\n }\n function defaultWriterClosedPromiseInitializeAsResolved(writer) {\n defaultWriterClosedPromiseInitialize(writer);\n defaultWriterClosedPromiseResolve(writer);\n }\n function defaultWriterClosedPromiseReject(writer, reason) {\n setPromiseIsHandledToTrue(writer._closedPromise);\n writer._closedPromise_reject(reason);\n writer._closedPromise_resolve = undefined;\n writer._closedPromise_reject = undefined;\n writer._closedPromiseState = 'rejected';\n }\n function defaultWriterClosedPromiseResetToRejected(writer, reason) {\n defaultWriterClosedPromiseInitializeAsRejected(writer, reason);\n }\n function defaultWriterClosedPromiseResolve(writer) {\n writer._closedPromise_resolve(undefined);\n writer._closedPromise_resolve = undefined;\n writer._closedPromise_reject = undefined;\n writer._closedPromiseState = 'resolved';\n }\n function defaultWriterReadyPromiseInitialize(writer) {\n writer._readyPromise = newPromise(function (resolve, reject) {\n writer._readyPromise_resolve = resolve;\n writer._readyPromise_reject = reject;\n });\n writer._readyPromiseState = 'pending';\n }\n function defaultWriterReadyPromiseInitializeAsRejected(writer, reason) {\n defaultWriterReadyPromiseInitialize(writer);\n defaultWriterReadyPromiseReject(writer, reason);\n }\n function defaultWriterReadyPromiseInitializeAsResolved(writer) {\n defaultWriterReadyPromiseInitialize(writer);\n defaultWriterReadyPromiseResolve(writer);\n }\n function defaultWriterReadyPromiseReject(writer, reason) {\n setPromiseIsHandledToTrue(writer._readyPromise);\n writer._readyPromise_reject(reason);\n writer._readyPromise_resolve = undefined;\n writer._readyPromise_reject = undefined;\n writer._readyPromiseState = 'rejected';\n }\n function defaultWriterReadyPromiseReset(writer) {\n defaultWriterReadyPromiseInitialize(writer);\n }\n function defaultWriterReadyPromiseResetToRejected(writer, reason) {\n defaultWriterReadyPromiseInitializeAsRejected(writer, reason);\n }\n function defaultWriterReadyPromiseResolve(writer) {\n writer._readyPromise_resolve(undefined);\n writer._readyPromise_resolve = undefined;\n writer._readyPromise_reject = undefined;\n writer._readyPromiseState = 'fulfilled';\n }\n function isAbortSignal(value) {\n if (typeof value !== 'object' || value === null) {\n return false;\n }\n try {\n return typeof value.aborted === 'boolean';\n } catch (_a) {\n return false;\n }\n }\n var NativeDOMException = typeof DOMException !== 'undefined' ? DOMException : undefined;\n function isDOMExceptionConstructor(ctor) {\n if (!(typeof ctor === 'function' || typeof ctor === 'object')) {\n return false;\n }\n try {\n new ctor();\n return true;\n } catch (_a) {\n return false;\n }\n }\n function createDOMExceptionPolyfill() {\n var ctor = function DOMException(message, name) {\n this.message = message || '';\n this.name = name || 'Error';\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n };\n ctor.prototype = Object.create(Error.prototype);\n Object.defineProperty(ctor.prototype, 'constructor', {\n value: ctor,\n writable: true,\n configurable: true\n });\n return ctor;\n }\n var DOMException$1 = isDOMExceptionConstructor(NativeDOMException) ? NativeDOMException : createDOMExceptionPolyfill();\n function ReadableStreamPipeTo(source, dest, preventClose, preventAbort, preventCancel, signal) {\n var reader = AcquireReadableStreamDefaultReader(source);\n var writer = AcquireWritableStreamDefaultWriter(dest);\n source._disturbed = true;\n var shuttingDown = false;\n var currentWrite = promiseResolvedWith(undefined);\n return newPromise(function (resolve, reject) {\n var abortAlgorithm;\n if (signal !== undefined) {\n abortAlgorithm = function () {\n var error = new DOMException$1('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 promiseResolvedWith(undefined);\n });\n }\n if (preventCancel === false) {\n actions.push(function () {\n if (source._state === 'readable') {\n return ReadableStreamCancel(source, error);\n }\n return promiseResolvedWith(undefined);\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 newPromise(function (resolveLoop, rejectLoop) {\n function next(done) {\n if (done) {\n resolveLoop();\n } else {\n PerformPromiseThen(pipeStep(), next, rejectLoop);\n }\n }\n next(false);\n });\n }\n function pipeStep() {\n if (shuttingDown === true) {\n return promiseResolvedWith(true);\n }\n return PerformPromiseThen(writer._readyPromise, function () {\n return PerformPromiseThen(ReadableStreamDefaultReaderRead(reader), function (result) {\n if (result.done === true) {\n return true;\n }\n currentWrite = PerformPromiseThen(WritableStreamDefaultWriterWrite(writer, result.value), undefined, 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 setPromiseIsHandledToTrue(pipeLoop());\n function waitForWritesToFinish() {\n var oldCurrentWrite = currentWrite;\n return PerformPromiseThen(currentWrite, 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 uponRejection(promise, action);\n }\n }\n function isOrBecomesClosed(stream, promise, action) {\n if (stream._state === 'closed') {\n action();\n } else {\n uponFulfillment(promise, action);\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 uponFulfillment(waitForWritesToFinish(), doTheRest);\n } else {\n doTheRest();\n }\n function doTheRest() {\n uponPromise(action(), function () {\n return finalize(originalIsError, originalError);\n }, function (newError) {\n return finalize(true, newError);\n });\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 uponFulfillment(waitForWritesToFinish(), function () {\n return finalize(isError, error);\n });\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 }\n var 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 promiseResolvedWith(ReadableStreamCreateReadResult(chunk, false, stream._reader._forAuthorCode));\n }\n var pendingPromise = ReadableStreamAddReadRequest(stream);\n ReadableStreamDefaultControllerCallPullIfNeeded(this);\n return pendingPromise;\n };\n return ReadableStreamDefaultController;\n }();\n function 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 }\n function 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 uponPromise(pullPromise, 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 });\n }\n function 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 }\n function ReadableStreamDefaultControllerClearAlgorithms(controller) {\n controller._pullAlgorithm = undefined;\n controller._cancelAlgorithm = undefined;\n controller._strategySizeAlgorithm = undefined;\n }\n function 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 }\n function 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 }\n function 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 }\n function ReadableStreamDefaultControllerGetDesiredSize(controller) {\n var stream = controller._controlledReadableStream;\n var state = stream._state;\n if (state === 'errored') {\n return null;\n }\n if (state === 'closed') {\n return 0;\n }\n return controller._strategyHWM - controller._queueTotalSize;\n }\n function ReadableStreamDefaultControllerHasBackpressure(controller) {\n if (ReadableStreamDefaultControllerShouldCallPull(controller) === true) {\n return false;\n }\n return true;\n }\n function ReadableStreamDefaultControllerCanCloseOrEnqueue(controller) {\n var state = controller._controlledReadableStream._state;\n if (controller._closeRequested === false && state === 'readable') {\n return true;\n }\n return false;\n }\n function 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 uponPromise(promiseResolvedWith(startResult), function () {\n controller._started = true;\n ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n }, function (r) {\n ReadableStreamDefaultControllerError(controller, r);\n });\n }\n function 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 }\n function defaultControllerBrandCheckException(name) {\n return new TypeError(\"ReadableStreamDefaultController.prototype.\" + name + \" can only be used on a ReadableStreamDefaultController\");\n }\n function 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 = newPromise(function (resolve) {\n resolveCancelPromise = resolve;\n });\n function pullAlgorithm() {\n if (reading === true) {\n return promiseResolvedWith(undefined);\n }\n reading = true;\n var readPromise = transformPromiseWith(ReadableStreamDefaultReaderRead(reader), 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 setPromiseIsHandledToTrue(readPromise);\n return promiseResolvedWith(undefined);\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 uponRejection(reader._closedPromise, function (r) {\n ReadableStreamDefaultControllerError(branch1._readableStreamController, r);\n ReadableStreamDefaultControllerError(branch2._readableStreamController, r);\n });\n return [\n branch1,\n branch2\n ];\n }\n var NumberIsInteger = Number.isInteger || function (value) {\n return typeof value === 'number' && isFinite(value) && Math.floor(value) === value;\n };\n var 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 }();\n var 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 promiseRejectedWith(viewE);\n }\n return promiseResolvedWith(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 promiseRejectedWith(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 }();\n function 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 }\n function IsReadableStreamBYOBRequest(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_associatedReadableByteStreamController')) {\n return false;\n }\n return true;\n }\n function ReadableByteStreamControllerCallPullIfNeeded(controller) {\n var shouldPull = ReadableByteStreamControllerShouldCallPull(controller);\n if (shouldPull === false) {\n return;\n }\n if (controller._pulling === true) {\n controller._pullAgain = true;\n return;\n }\n controller._pulling = true;\n var pullPromise = controller._pullAlgorithm();\n uponPromise(pullPromise, 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 });\n }\n function ReadableByteStreamControllerClearPendingPullIntos(controller) {\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n controller._pendingPullIntos = new SimpleQueue();\n }\n function 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 }\n function ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor) {\n var bytesFilled = pullIntoDescriptor.bytesFilled;\n var elementSize = pullIntoDescriptor.elementSize;\n return new pullIntoDescriptor.ctor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, bytesFilled / elementSize);\n }\n function ReadableByteStreamControllerEnqueueChunkToQueue(controller, buffer, byteOffset, byteLength) {\n controller._queue.push({\n buffer: buffer,\n byteOffset: byteOffset,\n byteLength: byteLength\n });\n controller._queueTotalSize += byteLength;\n }\n function ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) {\n var elementSize = pullIntoDescriptor.elementSize;\n var currentAlignedBytes = pullIntoDescriptor.bytesFilled - pullIntoDescriptor.bytesFilled % elementSize;\n var maxBytesToCopy = Math.min(controller._queueTotalSize, pullIntoDescriptor.byteLength - pullIntoDescriptor.bytesFilled);\n var maxBytesFilled = pullIntoDescriptor.bytesFilled + maxBytesToCopy;\n var maxAlignedBytes = maxBytesFilled - maxBytesFilled % elementSize;\n var totalBytesToCopyRemaining = maxBytesToCopy;\n var ready = false;\n if (maxAlignedBytes > currentAlignedBytes) {\n totalBytesToCopyRemaining = maxAlignedBytes - pullIntoDescriptor.bytesFilled;\n ready = true;\n }\n var queue = controller._queue;\n while (totalBytesToCopyRemaining > 0) {\n var headOfQueue = queue.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 }\n function ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, size, pullIntoDescriptor) {\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n pullIntoDescriptor.bytesFilled += size;\n }\n function ReadableByteStreamControllerHandleQueueDrain(controller) {\n if (controller._queueTotalSize === 0 && controller._closeRequested === true) {\n ReadableByteStreamControllerClearAlgorithms(controller);\n ReadableStreamClose(controller._controlledReadableByteStream);\n } else {\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }\n }\n function ReadableByteStreamControllerInvalidateBYOBRequest(controller) {\n if (controller._byobRequest === undefined) {\n return;\n }\n controller._byobRequest._associatedReadableByteStreamController = undefined;\n controller._byobRequest._view = undefined;\n controller._byobRequest = undefined;\n }\n function ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller) {\n 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 }\n function 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 promiseResolvedWith(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 promiseResolvedWith(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 promiseRejectedWith(e);\n }\n }\n controller._pendingPullIntos.push(pullIntoDescriptor);\n var promise = ReadableStreamAddReadIntoRequest(stream);\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n return promise;\n }\n function ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor) {\n firstDescriptor.buffer = TransferArrayBuffer(firstDescriptor.buffer);\n 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 }\n function ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, pullIntoDescriptor) {\n if (pullIntoDescriptor.bytesFilled + bytesWritten > pullIntoDescriptor.byteLength) {\n throw new RangeError('bytesWritten out of range');\n }\n ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesWritten, pullIntoDescriptor);\n if (pullIntoDescriptor.bytesFilled < pullIntoDescriptor.elementSize) {\n return;\n }\n ReadableByteStreamControllerShiftPendingPullInto(controller);\n var remainderSize = pullIntoDescriptor.bytesFilled % pullIntoDescriptor.elementSize;\n if (remainderSize > 0) {\n var end = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled;\n var remainder = pullIntoDescriptor.buffer.slice(end - remainderSize, end);\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, remainder, 0, remainder.byteLength);\n }\n pullIntoDescriptor.buffer = TransferArrayBuffer(pullIntoDescriptor.buffer);\n pullIntoDescriptor.bytesFilled -= remainderSize;\n ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableByteStream, pullIntoDescriptor);\n ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);\n }\n function 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 }\n function ReadableByteStreamControllerShiftPendingPullInto(controller) {\n var descriptor = controller._pendingPullIntos.shift();\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n return descriptor;\n }\n function ReadableByteStreamControllerShouldCallPull(controller) {\n var stream = controller._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 }\n function ReadableByteStreamControllerClearAlgorithms(controller) {\n controller._pullAlgorithm = undefined;\n controller._cancelAlgorithm = undefined;\n }\n function 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 }\n function 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 }\n function 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 }\n function 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 }\n function ReadableByteStreamControllerRespond(controller, bytesWritten) {\n bytesWritten = Number(bytesWritten);\n if (IsFiniteNonNegativeNumber(bytesWritten) === false) {\n throw new RangeError('bytesWritten must be a finite');\n }\n ReadableByteStreamControllerRespondInternal(controller, bytesWritten);\n }\n function 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 }\n function 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 uponPromise(promiseResolvedWith(startResult), function () {\n controller._started = true;\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }, function (r) {\n ReadableByteStreamControllerError(controller, r);\n });\n }\n function 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 }\n function SetUpReadableStreamBYOBRequest(request, controller, view) {\n request._associatedReadableByteStreamController = controller;\n request._view = view;\n }\n function byobRequestBrandCheckException(name) {\n return new TypeError(\"ReadableStreamBYOBRequest.prototype.\" + name + \" can only be used on a ReadableStreamBYOBRequest\");\n }\n function byteStreamControllerBrandCheckException(name) {\n return new TypeError(\"ReadableByteStreamController.prototype.\" + name + \" can only be used on a ReadableByteStreamController\");\n }\n function 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 }\n function ReadableStreamAddReadIntoRequest(stream) {\n var promise = newPromise(function (resolve, reject) {\n var readIntoRequest = {\n _resolve: resolve,\n _reject: reject\n };\n stream._reader._readIntoRequests.push(readIntoRequest);\n });\n return promise;\n }\n function ReadableStreamFulfillReadIntoRequest(stream, chunk, done) {\n var reader = stream._reader;\n var readIntoRequest = reader._readIntoRequests.shift();\n readIntoRequest._resolve(ReadableStreamCreateReadResult(chunk, done, reader._forAuthorCode));\n }\n function ReadableStreamGetNumReadIntoRequests(stream) {\n return stream._reader._readIntoRequests.length;\n }\n function 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 }\n var 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 promiseRejectedWith(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 promiseRejectedWith(byobReaderBrandCheckException('cancel'));\n }\n if (this._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('cancel'));\n }\n return ReadableStreamReaderGenericCancel(this, reason);\n };\n ReadableStreamBYOBReader.prototype.read = function (view) {\n if (!IsReadableStreamBYOBReader(this)) {\n return promiseRejectedWith(byobReaderBrandCheckException('read'));\n }\n if (this._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('read from'));\n }\n if (!ArrayBuffer.isView(view)) {\n return promiseRejectedWith(new TypeError('view must be an array buffer view'));\n }\n if (IsDetachedBuffer(view.buffer) === true);\n if (view.byteLength === 0) {\n return promiseRejectedWith(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 }();\n function IsReadableStreamBYOBReader(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_readIntoRequests')) {\n return false;\n }\n return true;\n }\n function ReadableStreamBYOBReaderRead(reader, view) {\n var stream = reader._ownerReadableStream;\n stream._disturbed = true;\n if (stream._state === 'errored') {\n return promiseRejectedWith(stream._storedError);\n }\n return ReadableByteStreamControllerPullInto(stream._readableStreamController, view);\n }\n function byobReaderBrandCheckException(name) {\n return new TypeError(\"ReadableStreamBYOBReader.prototype.\" + name + \" can only be used on a ReadableStreamBYOBReader\");\n }\n var 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 promiseRejectedWith(streamBrandCheckException$1('cancel'));\n }\n if (IsReadableStreamLocked(this) === true) {\n return promiseRejectedWith(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 setPromiseIsHandledToTrue(promise);\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 promiseRejectedWith(streamBrandCheckException$1('pipeTo'));\n }\n if (IsWritableStream(dest) === false) {\n return promiseRejectedWith(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 promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo\\'s signal option must be an AbortSignal'));\n }\n if (IsReadableStreamLocked(this) === true) {\n return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream'));\n }\n if (IsWritableStreamLocked(dest) === true) {\n return promiseRejectedWith(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 }();\n if (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 }\n function 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 }\n function InitializeReadableStream(stream) {\n stream._state = 'readable';\n stream._reader = undefined;\n stream._storedError = undefined;\n stream._disturbed = false;\n }\n function IsReadableStream(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_readableStreamController')) {\n return false;\n }\n return true;\n }\n function IsReadableStreamLocked(stream) {\n if (stream._reader === undefined) {\n return false;\n }\n return true;\n }\n function ReadableStreamCancel(stream, reason) {\n stream._disturbed = true;\n if (stream._state === 'closed') {\n return promiseResolvedWith(undefined);\n }\n if (stream._state === 'errored') {\n return promiseRejectedWith(stream._storedError);\n }\n ReadableStreamClose(stream);\n var sourceCancelPromise = stream._readableStreamController[CancelSteps](reason);\n return transformPromiseWith(sourceCancelPromise, noop);\n }\n function 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 }\n function 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 }\n function streamBrandCheckException$1(name) {\n return new TypeError(\"ReadableStream.prototype.\" + name + \" can only be used on a ReadableStream\");\n }\n var 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 }();\n var 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 }();\n var 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 = newPromise(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 }();\n function 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 promiseResolvedWith(undefined);\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 }\n function IsTransformStream(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_transformStreamController')) {\n return false;\n }\n return true;\n }\n function TransformStreamError(stream, e) {\n ReadableStreamDefaultControllerError(stream._readable._readableStreamController, e);\n TransformStreamErrorWritableAndUnblockWrite(stream, e);\n }\n function TransformStreamErrorWritableAndUnblockWrite(stream, e) {\n TransformStreamDefaultControllerClearAlgorithms(stream._transformStreamController);\n WritableStreamDefaultControllerErrorIfNeeded(stream._writable._writableStreamController, e);\n if (stream._backpressure === true) {\n TransformStreamSetBackpressure(stream, false);\n }\n }\n function TransformStreamSetBackpressure(stream, backpressure) {\n if (stream._backpressureChangePromise !== undefined) {\n stream._backpressureChangePromise_resolve();\n }\n stream._backpressureChangePromise = newPromise(function (resolve) {\n stream._backpressureChangePromise_resolve = resolve;\n });\n stream._backpressure = backpressure;\n }\n var 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 }();\n function IsTransformStreamDefaultController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_controlledTransformStream')) {\n return false;\n }\n return true;\n }\n function SetUpTransformStreamDefaultController(stream, controller, transformAlgorithm, flushAlgorithm) {\n controller._controlledTransformStream = stream;\n stream._transformStreamController = controller;\n controller._transformAlgorithm = transformAlgorithm;\n controller._flushAlgorithm = flushAlgorithm;\n }\n function SetUpTransformStreamDefaultControllerFromTransformer(stream, transformer) {\n var controller = Object.create(TransformStreamDefaultController.prototype);\n var transformAlgorithm = function (chunk) {\n try {\n TransformStreamDefaultControllerEnqueue(controller, chunk);\n return promiseResolvedWith(undefined);\n } catch (transformResultE) {\n return promiseRejectedWith(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 }\n function TransformStreamDefaultControllerClearAlgorithms(controller) {\n controller._transformAlgorithm = undefined;\n controller._flushAlgorithm = undefined;\n }\n function 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 }\n function TransformStreamDefaultControllerError(controller, e) {\n TransformStreamError(controller._controlledTransformStream, e);\n }\n function TransformStreamDefaultControllerPerformTransform(controller, chunk) {\n var transformPromise = controller._transformAlgorithm(chunk);\n return transformPromiseWith(transformPromise, undefined, function (r) {\n TransformStreamError(controller._controlledTransformStream, r);\n throw r;\n });\n }\n function 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 }\n function TransformStreamDefaultSinkWriteAlgorithm(stream, chunk) {\n var controller = stream._transformStreamController;\n if (stream._backpressure === true) {\n var backpressureChangePromise = stream._backpressureChangePromise;\n return transformPromiseWith(backpressureChangePromise, 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 }\n function TransformStreamDefaultSinkAbortAlgorithm(stream, reason) {\n TransformStreamError(stream, reason);\n return promiseResolvedWith(undefined);\n }\n function TransformStreamDefaultSinkCloseAlgorithm(stream) {\n var readable = stream._readable;\n var controller = stream._transformStreamController;\n var flushPromise = controller._flushAlgorithm();\n TransformStreamDefaultControllerClearAlgorithms(controller);\n return transformPromiseWith(flushPromise, 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 }, function (r) {\n TransformStreamError(stream, r);\n throw readable._storedError;\n });\n }\n function TransformStreamDefaultSourcePullAlgorithm(stream) {\n TransformStreamSetBackpressure(stream, false);\n return stream._backpressureChangePromise;\n }\n function defaultControllerBrandCheckException$1(name) {\n return new TypeError(\"TransformStreamDefaultController.prototype.\" + name + \" can only be used on a TransformStreamDefaultController\");\n }\n function streamBrandCheckException$2(name) {\n return new TypeError(\"TransformStream.prototype.\" + name + \" can only be used on a TransformStream\");\n }\n exports.ByteLengthQueuingStrategy = ByteLengthQueuingStrategy;\n exports.CountQueuingStrategy = CountQueuingStrategy;\n exports.ReadableStream = ReadableStream;\n exports.TransformStream = TransformStream;\n exports.WritableStream = WritableStream;\n Object.defineProperty(exports, '__esModule', { value: true });\n}));\n\n/***/ }),\n/* 144 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(145);\n__w_pdfjs_require__(114);\n__w_pdfjs_require__(77);\n__w_pdfjs_require__(116);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Map;\n\n/***/ }),\n/* 145 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar collection = __w_pdfjs_require__(146);\nvar collectionStrong = __w_pdfjs_require__(150);\nmodule.exports = collection('Map', function (init) {\n return function Map() {\n return init(this, arguments.length ? arguments[0] : undefined);\n };\n}, collectionStrong);\n\n/***/ }),\n/* 146 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar global = __w_pdfjs_require__(11);\nvar isForced = __w_pdfjs_require__(52);\nvar redefine = __w_pdfjs_require__(29);\nvar InternalMetadataModule = __w_pdfjs_require__(147);\nvar iterate = __w_pdfjs_require__(124);\nvar anInstance = __w_pdfjs_require__(123);\nvar isObject = __w_pdfjs_require__(22);\nvar fails = __w_pdfjs_require__(14);\nvar checkCorrectnessOfIteration = __w_pdfjs_require__(97);\nvar setToStringTag = __w_pdfjs_require__(85);\nvar inheritIfRequired = __w_pdfjs_require__(149);\nmodule.exports = function (CONSTRUCTOR_NAME, wrapper, common) {\n var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;\n var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;\n var ADDER = IS_MAP ? 'set' : 'add';\n var NativeConstructor = global[CONSTRUCTOR_NAME];\n var NativePrototype = NativeConstructor && NativeConstructor.prototype;\n var Constructor = NativeConstructor;\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/* 147 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar hiddenKeys = __w_pdfjs_require__(39);\nvar isObject = __w_pdfjs_require__(22);\nvar has = __w_pdfjs_require__(23);\nvar defineProperty = __w_pdfjs_require__(27).f;\nvar uid = __w_pdfjs_require__(38);\nvar FREEZING = __w_pdfjs_require__(148);\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/* 148 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(14);\nmodule.exports = !fails(function () {\n return Object.isExtensible(Object.preventExtensions({}));\n});\n\n/***/ }),\n/* 149 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(22);\nvar setPrototypeOf = __w_pdfjs_require__(87);\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/* 150 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar defineProperty = __w_pdfjs_require__(27).f;\nvar create = __w_pdfjs_require__(71);\nvar redefineAll = __w_pdfjs_require__(121);\nvar bind = __w_pdfjs_require__(62);\nvar anInstance = __w_pdfjs_require__(123);\nvar iterate = __w_pdfjs_require__(124);\nvar defineIterator = __w_pdfjs_require__(79);\nvar setSpecies = __w_pdfjs_require__(122);\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar fastKey = __w_pdfjs_require__(147).fastKey;\nvar InternalStateModule = __w_pdfjs_require__(33);\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\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 index: create(null),\n first: undefined,\n last: undefined,\n size: 0\n });\n if (!DESCRIPTORS)\n that.size = 0;\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 entry = getEntry(that, key);\n var previous, index;\n if (entry) {\n entry.value = value;\n } else {\n state.last = entry = {\n index: index = fastKey(key, true),\n key: key,\n value: value,\n previous: previous = state.last,\n next: undefined,\n removed: false\n };\n if (!state.first)\n state.first = entry;\n if (previous)\n previous.next = entry;\n if (DESCRIPTORS)\n state.size++;\n else\n that.size++;\n if (index !== 'F')\n state.index[index] = entry;\n }\n return that;\n };\n var getEntry = function (that, key) {\n var state = getInternalState(that);\n var index = fastKey(key);\n var entry;\n if (index !== 'F')\n return state.index[index];\n for (entry = state.first; entry; entry = entry.next) {\n if (entry.key == key)\n return entry;\n }\n };\n redefineAll(C.prototype, {\n clear: function clear() {\n var that = this;\n var state = getInternalState(that);\n var data = state.index;\n var entry = state.first;\n while (entry) {\n entry.removed = true;\n if (entry.previous)\n entry.previous = entry.previous.next = undefined;\n delete data[entry.index];\n entry = entry.next;\n }\n state.first = state.last = undefined;\n if (DESCRIPTORS)\n state.size = 0;\n else\n that.size = 0;\n },\n 'delete': function (key) {\n var that = this;\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.next;\n var prev = entry.previous;\n delete state.index[entry.index];\n entry.removed = true;\n if (prev)\n prev.next = next;\n if (next)\n next.previous = prev;\n if (state.first == entry)\n state.first = next;\n if (state.last == entry)\n state.last = prev;\n if (DESCRIPTORS)\n state.size--;\n else\n that.size--;\n }\n return !!entry;\n },\n forEach: function forEach(callbackfn) {\n var state = getInternalState(this);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n var entry;\n while (entry = entry ? entry.next : state.first) {\n boundFunction(entry.value, entry.key, this);\n while (entry && entry.removed)\n entry = entry.previous;\n }\n },\n has: function has(key) {\n return !!getEntry(this, key);\n }\n });\n redefineAll(C.prototype, IS_MAP ? {\n get: function get(key) {\n var entry = getEntry(this, key);\n return entry && entry.value;\n },\n set: function set(key, value) {\n return define(this, key === 0 ? 0 : key, value);\n }\n } : {\n add: function add(value) {\n return define(this, value = value === 0 ? 0 : value, value);\n }\n });\n if (DESCRIPTORS)\n defineProperty(C.prototype, 'size', {\n get: function () {\n return getInternalState(this).size;\n }\n });\n return C;\n },\n setStrong: function (C, CONSTRUCTOR_NAME, IS_MAP) {\n var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';\n var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);\n var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME);\n defineIterator(C, CONSTRUCTOR_NAME, function (iterated, kind) {\n setInternalState(this, {\n type: ITERATOR_NAME,\n target: iterated,\n state: getInternalCollectionState(iterated),\n kind: kind,\n last: undefined\n });\n }, function () {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var entry = state.last;\n while (entry && entry.removed)\n entry = entry.previous;\n if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {\n state.target = undefined;\n return {\n value: undefined,\n done: true\n };\n }\n if (kind == 'keys')\n return {\n value: entry.key,\n done: false\n };\n if (kind == 'values')\n return {\n value: entry.value,\n done: false\n };\n return {\n value: [\n entry.key,\n entry.value\n ],\n done: false\n };\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n setSpecies(CONSTRUCTOR_NAME);\n }\n};\n\n/***/ }),\n/* 151 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(152);\n__w_pdfjs_require__(114);\n__w_pdfjs_require__(77);\n__w_pdfjs_require__(116);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Set;\n\n/***/ }),\n/* 152 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar collection = __w_pdfjs_require__(146);\nvar collectionStrong = __w_pdfjs_require__(150);\nmodule.exports = collection('Set', function (init) {\n return function Set() {\n return init(this, arguments.length ? arguments[0] : undefined);\n };\n}, collectionStrong);\n\n/***/ }),\n/* 153 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(114);\n__w_pdfjs_require__(154);\n__w_pdfjs_require__(116);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.WeakMap;\n\n/***/ }),\n/* 154 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar global = __w_pdfjs_require__(11);\nvar redefineAll = __w_pdfjs_require__(121);\nvar InternalMetadataModule = __w_pdfjs_require__(147);\nvar collection = __w_pdfjs_require__(146);\nvar collectionWeak = __w_pdfjs_require__(155);\nvar isObject = __w_pdfjs_require__(22);\nvar enforceIternalState = __w_pdfjs_require__(33).enforce;\nvar NATIVE_WEAK_MAP = __w_pdfjs_require__(34);\nvar IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global;\nvar isExtensible = Object.isExtensible;\nvar InternalWeakMap;\nvar wrapper = function (init) {\n return function WeakMap() {\n return init(this, arguments.length ? arguments[0] : undefined);\n };\n};\nvar $WeakMap = module.exports = collection('WeakMap', wrapper, collectionWeak);\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/* 155 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar redefineAll = __w_pdfjs_require__(121);\nvar getWeakData = __w_pdfjs_require__(147).getWeakData;\nvar anObject = __w_pdfjs_require__(28);\nvar isObject = __w_pdfjs_require__(22);\nvar anInstance = __w_pdfjs_require__(123);\nvar iterate = __w_pdfjs_require__(124);\nvar ArrayIterationModule = __w_pdfjs_require__(156);\nvar $has = __w_pdfjs_require__(23);\nvar InternalStateModule = __w_pdfjs_require__(33);\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/* 156 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar bind = __w_pdfjs_require__(62);\nvar IndexedObject = __w_pdfjs_require__(18);\nvar toObject = __w_pdfjs_require__(83);\nvar toLength = __w_pdfjs_require__(47);\nvar arraySpeciesCreate = __w_pdfjs_require__(157);\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/* 157 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(22);\nvar isArray = __w_pdfjs_require__(158);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\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/* 158 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar classof = __w_pdfjs_require__(19);\nmodule.exports = Array.isArray || function isArray(arg) {\n return classof(arg) == 'Array';\n};\n\n/***/ }),\n/* 159 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(114);\n__w_pdfjs_require__(160);\n__w_pdfjs_require__(116);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.WeakSet;\n\n/***/ }),\n/* 160 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar collection = __w_pdfjs_require__(146);\nvar collectionWeak = __w_pdfjs_require__(155);\ncollection('WeakSet', function (init) {\n return function WeakSet() {\n return init(this, arguments.length ? arguments[0] : undefined);\n };\n}, collectionWeak);\n\n/***/ }),\n/* 161 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(162);\nvar entryUnbind = __w_pdfjs_require__(61);\nmodule.exports = entryUnbind('String', 'codePointAt');\n\n/***/ }),\n/* 162 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar codeAt = __w_pdfjs_require__(78).codeAt;\n$({\n target: 'String',\n proto: true\n}, {\n codePointAt: function codePointAt(pos) {\n return codeAt(this, pos);\n }\n});\n\n/***/ }),\n/* 163 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(164);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.String.fromCodePoint;\n\n/***/ }),\n/* 164 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\nvar toAbsoluteIndex = __w_pdfjs_require__(49);\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/* 165 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(166);\n__w_pdfjs_require__(114);\n__w_pdfjs_require__(168);\n__w_pdfjs_require__(172);\n__w_pdfjs_require__(173);\n__w_pdfjs_require__(174);\n__w_pdfjs_require__(175);\n__w_pdfjs_require__(176);\n__w_pdfjs_require__(177);\n__w_pdfjs_require__(178);\n__w_pdfjs_require__(179);\n__w_pdfjs_require__(180);\n__w_pdfjs_require__(181);\n__w_pdfjs_require__(182);\n__w_pdfjs_require__(183);\n__w_pdfjs_require__(184);\n__w_pdfjs_require__(185);\n__w_pdfjs_require__(186);\n__w_pdfjs_require__(187);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Symbol;\n\n/***/ }),\n/* 166 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar fails = __w_pdfjs_require__(14);\nvar isArray = __w_pdfjs_require__(158);\nvar isObject = __w_pdfjs_require__(22);\nvar toObject = __w_pdfjs_require__(83);\nvar toLength = __w_pdfjs_require__(47);\nvar createProperty = __w_pdfjs_require__(93);\nvar arraySpeciesCreate = __w_pdfjs_require__(157);\nvar arrayMethodHasSpeciesSupport = __w_pdfjs_require__(167);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar V8_VERSION = __w_pdfjs_require__(133);\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 = V8_VERSION >= 51 || !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/* 167 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(14);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar V8_VERSION = __w_pdfjs_require__(133);\nvar SPECIES = wellKnownSymbol('species');\nmodule.exports = function (METHOD_NAME) {\n return V8_VERSION >= 51 || !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/* 168 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar global = __w_pdfjs_require__(11);\nvar getBuiltIn = __w_pdfjs_require__(42);\nvar IS_PURE = __w_pdfjs_require__(37);\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar NATIVE_SYMBOL = __w_pdfjs_require__(58);\nvar USE_SYMBOL_AS_UID = __w_pdfjs_require__(59);\nvar fails = __w_pdfjs_require__(14);\nvar has = __w_pdfjs_require__(23);\nvar isArray = __w_pdfjs_require__(158);\nvar isObject = __w_pdfjs_require__(22);\nvar anObject = __w_pdfjs_require__(28);\nvar toObject = __w_pdfjs_require__(83);\nvar toIndexedObject = __w_pdfjs_require__(17);\nvar toPrimitive = __w_pdfjs_require__(21);\nvar createPropertyDescriptor = __w_pdfjs_require__(16);\nvar nativeObjectCreate = __w_pdfjs_require__(71);\nvar objectKeys = __w_pdfjs_require__(73);\nvar getOwnPropertyNamesModule = __w_pdfjs_require__(44);\nvar getOwnPropertyNamesExternal = __w_pdfjs_require__(169);\nvar getOwnPropertySymbolsModule = __w_pdfjs_require__(51);\nvar getOwnPropertyDescriptorModule = __w_pdfjs_require__(12);\nvar definePropertyModule = __w_pdfjs_require__(27);\nvar propertyIsEnumerableModule = __w_pdfjs_require__(15);\nvar createNonEnumerableProperty = __w_pdfjs_require__(26);\nvar redefine = __w_pdfjs_require__(29);\nvar shared = __w_pdfjs_require__(36);\nvar sharedKey = __w_pdfjs_require__(35);\nvar hiddenKeys = __w_pdfjs_require__(39);\nvar uid = __w_pdfjs_require__(38);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar wrappedWellKnownSymbolModule = __w_pdfjs_require__(170);\nvar defineWellKnownSymbol = __w_pdfjs_require__(171);\nvar setToStringTag = __w_pdfjs_require__(85);\nvar InternalStateModule = __w_pdfjs_require__(33);\nvar $forEach = __w_pdfjs_require__(156).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 $stringify = getBuiltIn('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 = USE_SYMBOL_AS_UID ? 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 redefine($Symbol, 'withoutSetter', function (description) {\n return wrap(uid(description), description);\n });\n propertyIsEnumerableModule.f = $propertyIsEnumerable;\n definePropertyModule.f = $defineProperty;\n getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;\n getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;\n getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;\n wrappedWellKnownSymbolModule.f = function (name) {\n return wrap(wellKnownSymbol(name), name);\n };\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}\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});\nif ($stringify) {\n var FORCED_JSON_STRINGIFY = !NATIVE_SYMBOL || fails(function () {\n var symbol = $Symbol();\n return $stringify([symbol]) != '[null]' || $stringify({ a: symbol }) != '{}' || $stringify(Object(symbol)) != '{}';\n });\n $({\n target: 'JSON',\n stat: true,\n forced: FORCED_JSON_STRINGIFY\n }, {\n stringify: function stringify(it, replacer, space) {\n var args = [it];\n var index = 1;\n var $replacer;\n while (arguments.length > index)\n args.push(arguments[index++]);\n $replacer = replacer;\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 $stringify.apply(null, args);\n }\n });\n}\nif (!$Symbol[PROTOTYPE][TO_PRIMITIVE]) {\n createNonEnumerableProperty($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n}\nsetToStringTag($Symbol, SYMBOL);\nhiddenKeys[HIDDEN] = true;\n\n/***/ }),\n/* 169 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar toIndexedObject = __w_pdfjs_require__(17);\nvar nativeGetOwnPropertyNames = __w_pdfjs_require__(44).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/* 170 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nexports.f = wellKnownSymbol;\n\n/***/ }),\n/* 171 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar path = __w_pdfjs_require__(43);\nvar has = __w_pdfjs_require__(23);\nvar wrappedWellKnownSymbolModule = __w_pdfjs_require__(170);\nvar defineProperty = __w_pdfjs_require__(27).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/* 172 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(171);\ndefineWellKnownSymbol('asyncIterator');\n\n/***/ }),\n/* 173 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar global = __w_pdfjs_require__(11);\nvar has = __w_pdfjs_require__(23);\nvar isObject = __w_pdfjs_require__(22);\nvar defineProperty = __w_pdfjs_require__(27).f;\nvar copyConstructorProperties = __w_pdfjs_require__(40);\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/* 174 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(171);\ndefineWellKnownSymbol('hasInstance');\n\n/***/ }),\n/* 175 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(171);\ndefineWellKnownSymbol('isConcatSpreadable');\n\n/***/ }),\n/* 176 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(171);\ndefineWellKnownSymbol('iterator');\n\n/***/ }),\n/* 177 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(171);\ndefineWellKnownSymbol('match');\n\n/***/ }),\n/* 178 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(171);\ndefineWellKnownSymbol('matchAll');\n\n/***/ }),\n/* 179 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(171);\ndefineWellKnownSymbol('replace');\n\n/***/ }),\n/* 180 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(171);\ndefineWellKnownSymbol('search');\n\n/***/ }),\n/* 181 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(171);\ndefineWellKnownSymbol('species');\n\n/***/ }),\n/* 182 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(171);\ndefineWellKnownSymbol('split');\n\n/***/ }),\n/* 183 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(171);\ndefineWellKnownSymbol('toPrimitive');\n\n/***/ }),\n/* 184 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(171);\ndefineWellKnownSymbol('toStringTag');\n\n/***/ }),\n/* 185 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(171);\ndefineWellKnownSymbol('unscopables');\n\n/***/ }),\n/* 186 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar setToStringTag = __w_pdfjs_require__(85);\nsetToStringTag(Math, 'Math', true);\n\n/***/ }),\n/* 187 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar setToStringTag = __w_pdfjs_require__(85);\nsetToStringTag(global.JSON, 'JSON', true);\n\n/***/ }),\n/* 188 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(189);\nvar entryUnbind = __w_pdfjs_require__(61);\nmodule.exports = entryUnbind('String', 'padStart');\n\n/***/ }),\n/* 189 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar $padStart = __w_pdfjs_require__(190).start;\nvar WEBKIT_BUG = __w_pdfjs_require__(192);\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/* 190 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar toLength = __w_pdfjs_require__(47);\nvar repeat = __w_pdfjs_require__(191);\nvar requireObjectCoercible = __w_pdfjs_require__(20);\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/* 191 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar toInteger = __w_pdfjs_require__(48);\nvar requireObjectCoercible = __w_pdfjs_require__(20);\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/* 192 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar userAgent = __w_pdfjs_require__(127);\nmodule.exports = /Version\\/10\\.\\d+(\\.\\d+)?( Mobile\\/\\w+)? Safari\\//.test(userAgent);\n\n/***/ }),\n/* 193 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(194);\nvar entryUnbind = __w_pdfjs_require__(61);\nmodule.exports = entryUnbind('String', 'padEnd');\n\n/***/ }),\n/* 194 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar $padEnd = __w_pdfjs_require__(190).end;\nvar WEBKIT_BUG = __w_pdfjs_require__(192);\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/* 195 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(196);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Object.values;\n\n/***/ }),\n/* 196 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\nvar $values = __w_pdfjs_require__(197).values;\n$({\n target: 'Object',\n stat: true\n}, {\n values: function values(O) {\n return $values(O);\n }\n});\n\n/***/ }),\n/* 197 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar objectKeys = __w_pdfjs_require__(73);\nvar toIndexedObject = __w_pdfjs_require__(17);\nvar propertyIsEnumerable = __w_pdfjs_require__(15).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/* 198 */\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__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _display_utils = __w_pdfjs_require__(1);\n\nvar _font_loader = __w_pdfjs_require__(199);\n\nvar _api_compatibility = __w_pdfjs_require__(200);\n\nvar _canvas = __w_pdfjs_require__(201);\n\nvar _worker_options = __w_pdfjs_require__(203);\n\nvar _is_node = __w_pdfjs_require__(7);\n\nvar _message_handler = __w_pdfjs_require__(204);\n\nvar _metadata = __w_pdfjs_require__(205);\n\nvar _transport_stream = __w_pdfjs_require__(207);\n\nvar _webgl = __w_pdfjs_require__(208);\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 _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\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 _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) 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 _typeof(obj) { \"@babel/helpers - typeof\"; 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 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.fontExtraProperties = params.fontExtraProperties === true;\n params.pdfBug = params.pdfBug === true;\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 (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 var workerIdPromise = _fetchDocument(worker, params, rangeTransport, docId);\n\n var networkStreamPromise = new Promise(function (resolve) {\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 resolve(networkStream);\n });\n return Promise.all([workerIdPromise, networkStreamPromise]).then(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n workerId = _ref2[0],\n networkStream = _ref2[1];\n\n if (task.destroyed) {\n throw new Error(\"Loading aborted\");\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.5.207',\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 postMessageTransfers: worker.postMessageTransfers,\n docBaseUrl: source.docBaseUrl,\n ignoreErrors: source.ignoreErrors,\n isEvalSupported: source.isEvalSupported,\n fontExtraProperties: source.fontExtraProperties\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 = /*#__PURE__*/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: \"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 = /*#__PURE__*/function () {\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 _iterator = _createForOfIteratorHelper(this._rangeListeners),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var listener = _step.value;\n listener(begin, chunk);\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\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 _iterator2 = _createForOfIteratorHelper(_this2._progressListeners),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var listener = _step2.value;\n listener(loaded, total);\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\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 _iterator3 = _createForOfIteratorHelper(_this3._progressiveReadListeners),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var listener = _step3.value;\n listener(chunk);\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n });\n }\n }, {\n key: \"onDataProgressiveDone\",\n value: function onDataProgressiveDone() {\n var _this4 = this;\n\n this._readyCapability.promise.then(function () {\n var _iterator4 = _createForOfIteratorHelper(_this4._progressiveDoneListeners),\n _step4;\n\n try {\n for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n var listener = _step4.value;\n listener();\n }\n } catch (err) {\n _iterator4.e(err);\n } finally {\n _iterator4.f();\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 = /*#__PURE__*/function () {\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: \"getOpenAction\",\n value: function getOpenAction() {\n return this._transport.getOpenAction();\n }\n }, {\n key: \"getOpenActionDestination\",\n value: function getOpenActionDestination() {\n (0, _display_utils.deprecated)(\"getOpenActionDestination, use getOpenAction instead.\");\n return this.getOpenAction().then(function (openAction) {\n return openAction && openAction.dest ? openAction.dest : null;\n });\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 return 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 = /*#__PURE__*/function () {\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() : null;\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 _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n scale = _ref3.scale,\n _ref3$rotation = _ref3.rotation,\n rotation = _ref3$rotation === void 0 ? this.rotate : _ref3$rotation,\n _ref3$offsetX = _ref3.offsetX,\n offsetX = _ref3$offsetX === void 0 ? 0 : _ref3$offsetX,\n _ref3$offsetY = _ref3.offsetY,\n offsetY = _ref3$offsetY === void 0 ? 0 : _ref3$offsetY,\n _ref3$dontFlip = _ref3.dontFlip,\n dontFlip = _ref3$dontFlip === void 0 ? false : _ref3$dontFlip;\n\n return new _display_utils.PageViewport({\n viewBox: this.view,\n scale: scale,\n rotation: rotation,\n offsetX: offsetX,\n offsetY: offsetY,\n dontFlip: dontFlip\n });\n }\n }, {\n key: \"getAnnotations\",\n value: function getAnnotations() {\n var _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref4$intent = _ref4.intent,\n intent = _ref4$intent === void 0 ? null : _ref4$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(_ref5) {\n var _this5 = this;\n\n var canvasContext = _ref5.canvasContext,\n viewport = _ref5.viewport,\n _ref5$intent = _ref5.intent,\n intent = _ref5$intent === void 0 ? \"display\" : _ref5$intent,\n _ref5$enableWebGL = _ref5.enableWebGL,\n enableWebGL = _ref5$enableWebGL === void 0 ? false : _ref5$enableWebGL,\n _ref5$renderInteracti = _ref5.renderInteractiveForms,\n renderInteractiveForms = _ref5$renderInteracti === void 0 ? false : _ref5$renderInteracti,\n _ref5$transform = _ref5.transform,\n transform = _ref5$transform === void 0 ? null : _ref5$transform,\n _ref5$imageLayer = _ref5.imageLayer,\n imageLayer = _ref5$imageLayer === void 0 ? null : _ref5$imageLayer,\n _ref5$canvasFactory = _ref5.canvasFactory,\n canvasFactory = _ref5$canvasFactory === void 0 ? null : _ref5$canvasFactory,\n _ref5$background = _ref5.background,\n background = _ref5$background === void 0 ? null : _ref5$background;\n\n if (this._stats) {\n this._stats.time(\"Overall\");\n }\n\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\n if (this._stats) {\n this._stats.time(\"Page Request\");\n }\n\n this._pumpOperatorList({\n pageIndex: this._pageIndex,\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 if (_this5._stats) {\n _this5._stats.timeEnd(\"Rendering\");\n\n _this5._stats.timeEnd(\"Overall\");\n }\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 pageIndex: this._pageIndex,\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 if (_this5._stats) {\n _this5._stats.time(\"Rendering\");\n }\n\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 if (this._stats) {\n this._stats.time(\"Page Request\");\n }\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 _ref6 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref6$normalizeWhites = _ref6.normalizeWhitespace,\n normalizeWhitespace = _ref6$normalizeWhites === void 0 ? false : _ref6$normalizeWhites,\n _ref6$disableCombineT = _ref6.disableCombineTextItems,\n disableCombineTextItems = _ref6$disableCombineT === void 0 ? false : _ref6$disableCombineT;\n\n var TEXT_CONTENT_CHUNK_SIZE = 100;\n return this._transport.messageHandler.sendWithStream(\"GetTextContent\", {\n pageIndex: this._pageIndex,\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 (_ref7) {\n var _textContent$items;\n\n var value = _ref7.value,\n done = _ref7.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 return 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 false;\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) {\n this._stats = new _display_utils.StatTimer();\n }\n\n this.pendingCleanup = false;\n return true;\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 if (this._stats) {\n this._stats.timeEnd(\"Page Request\");\n }\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 _i2 = 0; _i2 < intentState.renderTasks.length; _i2++) {\n intentState.renderTasks[_i2].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 (_ref8) {\n var value = _ref8.value,\n done = _ref8.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(_ref9) {\n var _this9 = this;\n\n var intentState = _ref9.intentState,\n reason = _ref9.reason,\n _ref9$force = _ref9.force,\n force = _ref9$force === void 0 ? false : _ref9$force;\n (0, _util.assert)(reason instanceof Error || _typeof(reason) === \"object\" && reason !== null, '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;\n }\n }]);\n\n return PDFPageProxy;\n}();\n\nexports.PDFPageProxy = PDFPageProxy;\n\nvar LoopbackPort = /*#__PURE__*/function () {\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 (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 isWorkerDisabled = false;\n var fallbackWorkerSrc;\n var nextFakeWorkerId = 0;\n var fakeWorkerCapability;\n\n if (_is_node.isNodeJS && typeof require === \"function\") {\n isWorkerDisabled = true;\n fallbackWorkerSrc = \"./pdf.worker.js\";\n } else if ((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\n function _getWorkerSrc() {\n if (_worker_options.GlobalWorkerOptions.workerSrc) {\n return _worker_options.GlobalWorkerOptions.workerSrc;\n }\n\n if (typeof fallbackWorkerSrc !== \"undefined\") {\n if (!_is_node.isNodeJS) {\n (0, _display_utils.deprecated)('No \"GlobalWorkerOptions.workerSrc\" specified.');\n }\n\n return fallbackWorkerSrc;\n }\n\n throw new Error('No \"GlobalWorkerOptions.workerSrc\" specified.');\n }\n\n function getMainThreadWorkerMessageHandler() {\n var mainWorkerMessageHandler;\n\n try {\n mainWorkerMessageHandler = globalThis.pdfjsWorker && globalThis.pdfjsWorker.WorkerMessageHandler;\n } catch (ex) {}\n\n return mainWorkerMessageHandler || null;\n }\n\n function setupFakeWorkerGlobal() {\n if (fakeWorkerCapability) {\n return fakeWorkerCapability.promise;\n }\n\n fakeWorkerCapability = (0, _util.createPromiseCapability)();\n\n var loader = /*#__PURE__*/function () {\n var _ref10 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee() {\n var mainWorkerMessageHandler, worker;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n mainWorkerMessageHandler = getMainThreadWorkerMessageHandler();\n\n if (!mainWorkerMessageHandler) {\n _context.next = 3;\n break;\n }\n\n return _context.abrupt(\"return\", mainWorkerMessageHandler);\n\n case 3:\n if (!(_is_node.isNodeJS && typeof require === \"function\")) {\n _context.next = 6;\n break;\n }\n\n worker = eval(\"require\")(_getWorkerSrc());\n return _context.abrupt(\"return\", worker.WorkerMessageHandler);\n\n case 6:\n _context.next = 8;\n return (0, _display_utils.loadScript)(_getWorkerSrc());\n\n case 8:\n return _context.abrupt(\"return\", window.pdfjsWorker.WorkerMessageHandler);\n\n case 9:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function loader() {\n return _ref10.apply(this, arguments);\n };\n }();\n\n loader().then(fakeWorkerCapability.resolve, fakeWorkerCapability.reject);\n return fakeWorkerCapability.promise;\n }\n\n function createCDNWrapper(url) {\n var wrapper = \"importScripts('\" + url + \"');\";\n return URL.createObjectURL(new Blob([wrapper]));\n }\n\n var PDFWorker = /*#__PURE__*/function () {\n function PDFWorker() {\n var _ref11 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref11$name = _ref11.name,\n name = _ref11$name === void 0 ? null : _ref11$name,\n _ref11$port = _ref11.port,\n port = _ref11$port === void 0 ? null : _ref11$port,\n _ref11$verbosity = _ref11.verbosity,\n verbosity = _ref11$verbosity === void 0 ? (0, _util.getVerbosityLevel)() : _ref11$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\n messageHandler.send(\"configure\", {\n verbosity: _this12.verbosity\n });\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 = /*#__PURE__*/function () {\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, \"GetReader - no `IPDFStream` instance available.\");\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 (_ref12) {\n var value = _ref12.value,\n done = _ref12.done;\n\n if (done) {\n sink.close();\n return;\n }\n\n (0, _util.assert)((0, _util.isArrayBuffer)(value), \"GetReader - expected an ArrayBuffer.\");\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, \"GetRangeReader - no `IPDFStream` instance available.\");\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 (_ref13) {\n var value = _ref13.value,\n done = _ref13.done;\n\n if (done) {\n sink.close();\n return;\n }\n\n (0, _util.assert)((0, _util.isArrayBuffer)(value), \"GetRangeReader - expected an ArrayBuffer.\");\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 (_ref14) {\n var pdfInfo = _ref14.pdfInfo;\n _this14._numPages = pdfInfo.numPages;\n\n loadingTask._capability.resolve(new PDFDocumentProxy(pdfInfo, _this14));\n });\n messageHandler.on(\"DocException\", function (ex) {\n var reason;\n\n switch (ex.name) {\n case \"PasswordException\":\n reason = new _util.PasswordException(ex.message, ex.code);\n break;\n\n case \"InvalidPDFException\":\n reason = new _util.InvalidPDFException(ex.message);\n break;\n\n case \"MissingPDFException\":\n reason = new _util.MissingPDFException(ex.message);\n break;\n\n case \"UnexpectedResponseException\":\n reason = new _util.UnexpectedResponseException(ex.message, ex.status);\n break;\n\n case \"UnknownErrorException\":\n reason = new _util.UnknownErrorException(ex.message, ex.details);\n break;\n }\n\n loadingTask._capability.reject(reason);\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(\"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 && globalThis.FontInspector && globalThis.FontInspector.enabled) {\n fontRegistry = {\n registerFont: function registerFont(font, url) {\n globalThis.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)[\"catch\"](function (reason) {\n return messageHandler.sendWithPromise(\"FontFallback\", {\n id: id\n });\n })[\"finally\"](function () {\n if (!params.fontExtraProperties && font.data) {\n font.data = null;\n }\n\n _this14.commonObjs.resolve(id, font);\n });\n\n break;\n\n case \"FontPath\":\n case \"FontType3Res\":\n case \"Image\":\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 \"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(\"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(_ref15) {\n var featureId = _ref15.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: \"getOpenAction\",\n value: function getOpenAction() {\n return this.messageHandler.sendWithPromise(\"GetOpenAction\", 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 return 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 var cleanupSuccessful = page.cleanup();\n\n if (!cleanupSuccessful) {\n throw new Error(\"startCleanup: Page \".concat(i + 1, \" is currently rendering.\"));\n }\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 disableFontFace: params.disableFontFace\n });\n }\n }]);\n\n return WorkerTransport;\n}();\n\nvar PDFObjects = /*#__PURE__*/function () {\n function PDFObjects() {\n _classCallCheck(this, PDFObjects);\n\n this._objs = Object.create(null);\n }\n\n _createClass(PDFObjects, [{\n key: \"_ensureObj\",\n value: function _ensureObj(objId) {\n if (this._objs[objId]) {\n return this._objs[objId];\n }\n\n return this._objs[objId] = {\n capability: (0, _util.createPromiseCapability)(),\n data: null,\n resolved: false\n };\n }\n }, {\n key: \"get\",\n value: function get(objId) {\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n if (callback) {\n this._ensureObj(objId).capability.promise.then(callback);\n\n return null;\n }\n\n var obj = this._objs[objId];\n\n if (!obj || !obj.resolved) {\n throw new Error(\"Requesting object that isn't resolved yet \".concat(objId, \".\"));\n }\n\n return obj.data;\n }\n }, {\n key: \"has\",\n value: function has(objId) {\n var obj = this._objs[objId];\n return obj ? obj.resolved : false;\n }\n }, {\n key: \"resolve\",\n value: function resolve(objId, data) {\n var obj = this._ensureObj(objId);\n\n obj.resolved = true;\n obj.data = data;\n obj.capability.resolve(data);\n }\n }, {\n key: \"clear\",\n value: function clear() {\n this._objs = Object.create(null);\n }\n }]);\n\n return PDFObjects;\n}();\n\nvar RenderTask = /*#__PURE__*/function () {\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: \"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 = /*#__PURE__*/function () {\n function InternalRenderTask(_ref16) {\n var callback = _ref16.callback,\n params = _ref16.params,\n objs = _ref16.objs,\n commonObjs = _ref16.commonObjs,\n operatorList = _ref16.operatorList,\n pageIndex = _ref16.pageIndex,\n canvasFactory = _ref16.canvasFactory,\n webGLContext = _ref16.webGLContext,\n _ref16$useRequestAnim = _ref16.useRequestAnimationFrame,\n useRequestAnimationFrame = _ref16$useRequestAnim === void 0 ? false : _ref16$useRequestAnim,\n _ref16$pdfBug = _ref16.pdfBug,\n pdfBug = _ref16$pdfBug === void 0 ? false : _ref16$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._pageIndex = pageIndex;\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 && globalThis.StepperManager && globalThis.StepperManager.enabled) {\n this.stepper = globalThis.StepperManager.create(this._pageIndex);\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._pageIndex + 1), \"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( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2() {\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n if (!this.cancelled) {\n _context2.next = 2;\n break;\n }\n\n return _context2.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 _context2.stop();\n }\n }\n }, _callee2, 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.5.207';\nexports.version = version;\nvar build = '0974d605';\nexports.build = build;\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.FontLoader = exports.FontFaceObject = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; 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 _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 _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\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 _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\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 = /*#__PURE__*/function () {\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( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee(font) {\n var _this = this;\n\n var nativeFontFace, rule;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (!(font.attached || font.missingFile)) {\n _context.next = 2;\n break;\n }\n\n return _context.abrupt(\"return\");\n\n case 2:\n font.attached = true;\n\n if (!this.isFontLoadingAPISupported) {\n _context.next = 19;\n break;\n }\n\n nativeFontFace = font.createNativeFontFace();\n\n if (!nativeFontFace) {\n _context.next = 18;\n break;\n }\n\n this.addNativeFontFace(nativeFontFace);\n _context.prev = 7;\n _context.next = 10;\n return nativeFontFace.loaded;\n\n case 10:\n _context.next = 18;\n break;\n\n case 12:\n _context.prev = 12;\n _context.t0 = _context[\"catch\"](7);\n\n this._onUnsupportedFeature({\n featureId: _util.UNSUPPORTED_FEATURES.errorFontLoadNative\n });\n\n (0, _util.warn)(\"Failed to load font '\".concat(nativeFontFace.family, \"': '\").concat(_context.t0, \"'.\"));\n font.disableFontFace = true;\n throw _context.t0;\n\n case 18:\n return _context.abrupt(\"return\");\n\n case 19:\n rule = font.createFontFaceRule();\n\n if (!rule) {\n _context.next = 26;\n break;\n }\n\n this.insertRule(rule);\n\n if (!this.isSyncFontLoadingSupported) {\n _context.next = 24;\n break;\n }\n\n return _context.abrupt(\"return\");\n\n case 24:\n _context.next = 26;\n return new Promise(function (resolve) {\n var request = _this._queueLoadingCallback(resolve);\n\n _this._prepareFontLoadEvent([rule], [font], request);\n });\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 var supported = typeof document !== \"undefined\" && !!document.fonts;\n return (0, _util.shadow)(this, \"isFontLoadingAPISupported\", supported);\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 = /*#__PURE__*/function (_BaseFontLoader) {\n _inherits(GenericFontLoader, _BaseFontLoader);\n\n var _super = _createSuper(GenericFontLoader);\n\n function GenericFontLoader(docId) {\n var _this2;\n\n _classCallCheck(this, GenericFontLoader);\n\n _this2 = _super.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.style.visibility = \"hidden\";\n div.style.width = div.style.height = \"10px\";\n div.style.position = \"absolute\";\n div.style.top = div.style.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: \"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}\n\nvar FontFaceObject = /*#__PURE__*/function () {\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.errorFontGetPath\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 && _util.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/* 200 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.apiCompatibilityParams = void 0;\n\nvar _is_node = __w_pdfjs_require__(7);\n\nvar compatibilityParams = Object.create(null);\n{\n (function checkFontFace() {\n if (_is_node.isNodeJS) {\n compatibilityParams.disableFontFace = true;\n }\n })();\n}\nvar apiCompatibilityParams = Object.freeze(compatibilityParams);\nexports.apiCompatibilityParams = apiCompatibilityParams;\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.CanvasGraphics = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _pattern_helper = __w_pdfjs_require__(202);\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\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;\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 k = 0, kk = outlines.length; k < kk; k++) {\n var o = outlines[k];\n c.moveTo(o[0], o[1]);\n\n for (var l = 2, ll = o.length; l < ll; l += 2) {\n c.lineTo(o[l], o[l + 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 = _util.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 _iterator = _createForOfIteratorHelper(argsArray[i]),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\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 _iterator.e(err);\n } finally {\n _iterator.f();\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 = \"normal\";\n\n if (fontObj.black) {\n bold = \"900\";\n } else if (fontObj.bold) {\n bold = \"bold\";\n }\n\n var italic = fontObj.italic ? \"italic\" : \"normal\";\n var typeface = \"\\\"\".concat(name, \"\\\", \").concat(fontObj.fallbackName);\n var browserFontSize = size;\n\n if (size < MIN_FONT_SIZE) {\n browserFontSize = MIN_FONT_SIZE;\n } else if (size > MAX_FONT_SIZE) {\n browserFontSize = MAX_FONT_SIZE;\n }\n\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.missingFile;\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;\n\n if (vertical) {\n charWidth = width * widthAdvanceScale - spacing * fontDirection;\n } else {\n charWidth = width * widthAdvanceScale + spacing * fontDirection;\n }\n\n x += charWidth;\n\n if (restoreNeeded) {\n ctx.restore();\n }\n }\n\n if (vertical) {\n current.y -= x;\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 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 = objId.startsWith(\"g_\") ? 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 = objId.startsWith(\"g_\") ? 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/* 202 */\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__(5);\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\n for (var y = minY; y <= maxY; y++) {\n if (y < y2) {\n var _k = void 0;\n\n if (y < y1) {\n _k = 0;\n } else if (y1 === y2) {\n _k = 1;\n } else {\n _k = (y1 - y) / (y1 - y2);\n }\n\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 var _k2 = void 0;\n\n if (y > y3) {\n _k2 = 1;\n } else if (y2 === y3) {\n _k2 = 0;\n } else {\n _k2 = (y2 - y) / (y2 - y3);\n }\n\n xa = x2 - (x2 - x3) * _k2;\n car = c2r - (c2r - c3r) * _k2;\n cag = c2g - (c2g - c3g) * _k2;\n cab = c2b - (c2b - c3b) * _k2;\n }\n\n var k = void 0;\n\n if (y < y1) {\n k = 0;\n } else if (y > y3) {\n k = 1;\n } else {\n k = (y1 - y) / (y1 - y3);\n }\n\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\n if (k < 0) {\n k = 0;\n } else if (k > 1) {\n k = 1;\n }\n\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/* 203 */\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/* 204 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.MessageHandler = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\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 _typeof(obj) { \"@babel/helpers - typeof\"; 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 CallbackKind = {\n UNKNOWN: 0,\n DATA: 1,\n ERROR: 2\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\" || reason === null) {\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\nvar MessageHandler = /*#__PURE__*/function () {\n function MessageHandler(sourceName, targetName, comObj) {\n var _this = this;\n\n _classCallCheck(this, MessageHandler);\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 this.callbackCapabilities = Object.create(null);\n 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\n return;\n }\n\n if (data.callback) {\n var callbackId = data.callbackId;\n var capability = _this.callbackCapabilities[callbackId];\n\n if (!capability) {\n throw new Error(\"Cannot resolve callback \".concat(callbackId));\n }\n\n delete _this.callbackCapabilities[callbackId];\n\n if (data.callback === CallbackKind.DATA) {\n capability.resolve(data.data);\n } else if (data.callback === CallbackKind.ERROR) {\n capability.reject(wrapReason(data.reason));\n } else {\n throw new Error(\"Unexpected callback case\");\n }\n\n return;\n }\n\n var action = _this.actionHandler[data.action];\n\n if (!action) {\n throw new Error(\"Unknown action from worker: \".concat(data.action));\n }\n\n if (data.callbackId) {\n var cbSourceName = _this.sourceName;\n var cbTargetName = data.sourceName;\n new Promise(function (resolve) {\n resolve(action(data.data));\n }).then(function (result) {\n comObj.postMessage({\n sourceName: cbSourceName,\n targetName: cbTargetName,\n callback: CallbackKind.DATA,\n callbackId: data.callbackId,\n data: result\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName: cbSourceName,\n targetName: cbTargetName,\n callback: CallbackKind.ERROR,\n callbackId: data.callbackId,\n reason: wrapReason(reason)\n });\n });\n return;\n }\n\n if (data.streamId) {\n _this._createStreamSink(data);\n\n return;\n }\n\n action(data.data);\n };\n\n comObj.addEventListener(\"message\", this._onComObjOnMessage);\n }\n\n _createClass(MessageHandler, [{\n key: \"on\",\n value: 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 }, {\n key: \"send\",\n value: 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 }, {\n key: \"sendWithPromise\",\n value: function sendWithPromise(actionName, data, transfers) {\n var callbackId = this.callbackId++;\n var capability = (0, _util.createPromiseCapability)();\n this.callbackCapabilities[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 }, {\n key: \"sendWithStream\",\n value: 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 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 }, {\n key: \"_createStreamSink\",\n value: function _createStreamSink(data) {\n var self = this;\n var action = this.actionHandler[data.action];\n var streamId = data.streamId;\n var sourceName = this.sourceName;\n var targetName = data.sourceName;\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: (0, _util.createPromiseCapability)(),\n onPull: null,\n onCancel: null,\n isCancelled: false,\n desiredSize: data.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 }, {\n key: \"_processStreamMessage\",\n value: function _processStreamMessage(data) {\n var streamId = data.streamId;\n var sourceName = this.sourceName;\n var targetName = data.sourceName;\n var comObj = this.comObj;\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\n this._deleteStreamController(streamId);\n\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\n this._deleteStreamController(streamId);\n\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 this._deleteStreamController(streamId);\n\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 }, {\n key: \"_deleteStreamController\",\n value: function () {\n var _deleteStreamController2 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee(streamId) {\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 Promise.allSettled([this.streamControllers[streamId].startCall, this.streamControllers[streamId].pullCall, this.streamControllers[streamId].cancelCall].map(function (capability) {\n return capability && capability.promise;\n }));\n\n case 2:\n delete this.streamControllers[streamId];\n\n case 3:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function _deleteStreamController(_x) {\n return _deleteStreamController2.apply(this, arguments);\n }\n\n return _deleteStreamController;\n }()\n }, {\n key: \"_postMessage\",\n value: 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 }, {\n key: \"destroy\",\n value: function destroy() {\n this.comObj.removeEventListener(\"message\", this._onComObjOnMessage);\n }\n }]);\n\n return MessageHandler;\n}();\n\nexports.MessageHandler = MessageHandler;\n\n/***/ }),\n/* 205 */\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__(5);\n\nvar _xml_parser = __w_pdfjs_require__(206);\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) 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 _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; 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\nvar Metadata = /*#__PURE__*/function () {\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._metadataMap = new Map();\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\n this._metadataMap.set(name, entry.textContent.trim());\n }\n }\n }\n }\n }, {\n key: \"get\",\n value: function get(name) {\n return this._metadataMap.has(name) ? this._metadataMap.get(name) : null;\n }\n }, {\n key: \"getAll\",\n value: function getAll() {\n var obj = Object.create(null);\n\n var _iterator = _createForOfIteratorHelper(this._metadataMap),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var _step$value = _slicedToArray(_step.value, 2),\n key = _step$value[0],\n value = _step$value[1];\n\n obj[key] = value;\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n return obj;\n }\n }, {\n key: \"has\",\n value: function has(name) {\n return this._metadataMap.has(name);\n }\n }]);\n\n return Metadata;\n}();\n\nexports.Metadata = Metadata;\n\n/***/ }),\n/* 206 */\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) { \"@babel/helpers - typeof\"; 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) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) 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 _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 _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 _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\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 _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\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 = /*#__PURE__*/function () {\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 attributes = [];\n var pos = start;\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 var 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\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 var 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 var 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 = /*#__PURE__*/function () {\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 = /*#__PURE__*/function (_XMLParserBase) {\n _inherits(SimpleXMLParser, _XMLParserBase);\n\n var _super = _createSuper(SimpleXMLParser);\n\n function SimpleXMLParser() {\n var _this2;\n\n _classCallCheck(this, SimpleXMLParser);\n\n _this2 = _super.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/* 207 */\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__(2));\n\nvar _util = __w_pdfjs_require__(5);\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 _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; 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\nvar PDFDataTransportStream = /*#__PURE__*/function () {\n function PDFDataTransportStream(params, pdfDataRangeTransport) {\n var _this = this;\n\n _classCallCheck(this, PDFDataTransportStream);\n\n (0, _util.assert)(pdfDataRangeTransport, 'PDFDataTransportStream - missing required \"pdfDataRangeTransport\" argument.');\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, \"_onReceiveData - no `PDFDataTransportStreamRangeReader` instance 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, \"PDFDataTransportStream.getFullReader can only be called once.\");\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 = /*#__PURE__*/function () {\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\n var _iterator = _createForOfIteratorHelper(this._queuedChunks),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var chunk = _step.value;\n this._loaded += chunk.byteLength;\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\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( /*#__PURE__*/_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 = /*#__PURE__*/function () {\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( /*#__PURE__*/_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/* 208 */\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__(5);\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 = /*#__PURE__*/function () {\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/* 209 */\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__(1);\n\nvar _util = __w_pdfjs_require__(5);\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\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) { \"@babel/helpers - typeof\"; 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 _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 _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\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 _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\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 = /*#__PURE__*/function () {\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 = /*#__PURE__*/function () {\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 = /*#__PURE__*/function (_AnnotationElement) {\n _inherits(LinkAnnotationElement, _AnnotationElement);\n\n var _super = _createSuper(LinkAnnotationElement);\n\n function LinkAnnotationElement(parameters) {\n _classCallCheck(this, LinkAnnotationElement);\n\n var isRenderable = !!(parameters.data.url || parameters.data.dest || parameters.data.action);\n return _super.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 = /*#__PURE__*/function (_AnnotationElement2) {\n _inherits(TextAnnotationElement, _AnnotationElement2);\n\n var _super2 = _createSuper(TextAnnotationElement);\n\n function TextAnnotationElement(parameters) {\n _classCallCheck(this, TextAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super2.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 = /*#__PURE__*/function (_AnnotationElement3) {\n _inherits(WidgetAnnotationElement, _AnnotationElement3);\n\n var _super3 = _createSuper(WidgetAnnotationElement);\n\n function WidgetAnnotationElement() {\n _classCallCheck(this, WidgetAnnotationElement);\n\n return _super3.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 = /*#__PURE__*/function (_WidgetAnnotationElem) {\n _inherits(TextWidgetAnnotationElement, _WidgetAnnotationElem);\n\n var _super4 = _createSuper(TextWidgetAnnotationElement);\n\n function TextWidgetAnnotationElement(parameters) {\n _classCallCheck(this, TextWidgetAnnotationElement);\n\n var isRenderable = parameters.renderInteractiveForms || !parameters.data.hasAppearance && !!parameters.data.fieldValue;\n return _super4.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 element.name = this.data.fieldName;\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 var bold = \"normal\";\n\n if (font.black) {\n bold = \"900\";\n } else if (font.bold) {\n bold = \"bold\";\n }\n\n style.fontWeight = bold;\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 = /*#__PURE__*/function (_WidgetAnnotationElem2) {\n _inherits(CheckboxWidgetAnnotationElement, _WidgetAnnotationElem2);\n\n var _super5 = _createSuper(CheckboxWidgetAnnotationElement);\n\n function CheckboxWidgetAnnotationElement(parameters) {\n _classCallCheck(this, CheckboxWidgetAnnotationElement);\n\n return _super5.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 element.name = this.data.fieldName;\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 = /*#__PURE__*/function (_WidgetAnnotationElem3) {\n _inherits(RadioButtonWidgetAnnotationElement, _WidgetAnnotationElem3);\n\n var _super6 = _createSuper(RadioButtonWidgetAnnotationElement);\n\n function RadioButtonWidgetAnnotationElement(parameters) {\n _classCallCheck(this, RadioButtonWidgetAnnotationElement);\n\n return _super6.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 = /*#__PURE__*/function (_LinkAnnotationElemen) {\n _inherits(PushButtonWidgetAnnotationElement, _LinkAnnotationElemen);\n\n var _super7 = _createSuper(PushButtonWidgetAnnotationElement);\n\n function PushButtonWidgetAnnotationElement() {\n _classCallCheck(this, PushButtonWidgetAnnotationElement);\n\n return _super7.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 = /*#__PURE__*/function (_WidgetAnnotationElem4) {\n _inherits(ChoiceWidgetAnnotationElement, _WidgetAnnotationElem4);\n\n var _super8 = _createSuper(ChoiceWidgetAnnotationElement);\n\n function ChoiceWidgetAnnotationElement(parameters) {\n _classCallCheck(this, ChoiceWidgetAnnotationElement);\n\n return _super8.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 selectElement.name = this.data.fieldName;\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 _iterator = _createForOfIteratorHelper(this.data.options),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\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 _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n this.container.appendChild(selectElement);\n return this.container;\n }\n }]);\n\n return ChoiceWidgetAnnotationElement;\n}(WidgetAnnotationElement);\n\nvar PopupAnnotationElement = /*#__PURE__*/function (_AnnotationElement4) {\n _inherits(PopupAnnotationElement, _AnnotationElement4);\n\n var _super9 = _createSuper(PopupAnnotationElement);\n\n function PopupAnnotationElement(parameters) {\n _classCallCheck(this, PopupAnnotationElement);\n\n var isRenderable = !!(parameters.data.title || parameters.data.contents);\n return _super9.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 = /*#__PURE__*/function () {\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 = /*#__PURE__*/function (_AnnotationElement5) {\n _inherits(FreeTextAnnotationElement, _AnnotationElement5);\n\n var _super10 = _createSuper(FreeTextAnnotationElement);\n\n function FreeTextAnnotationElement(parameters) {\n _classCallCheck(this, FreeTextAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super10.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 = /*#__PURE__*/function (_AnnotationElement6) {\n _inherits(LineAnnotationElement, _AnnotationElement6);\n\n var _super11 = _createSuper(LineAnnotationElement);\n\n function LineAnnotationElement(parameters) {\n _classCallCheck(this, LineAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super11.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 || 1);\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 = /*#__PURE__*/function (_AnnotationElement7) {\n _inherits(SquareAnnotationElement, _AnnotationElement7);\n\n var _super12 = _createSuper(SquareAnnotationElement);\n\n function SquareAnnotationElement(parameters) {\n _classCallCheck(this, SquareAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super12.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 || 1);\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 = /*#__PURE__*/function (_AnnotationElement8) {\n _inherits(CircleAnnotationElement, _AnnotationElement8);\n\n var _super13 = _createSuper(CircleAnnotationElement);\n\n function CircleAnnotationElement(parameters) {\n _classCallCheck(this, CircleAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super13.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 || 1);\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 = /*#__PURE__*/function (_AnnotationElement9) {\n _inherits(PolylineAnnotationElement, _AnnotationElement9);\n\n var _super14 = _createSuper(PolylineAnnotationElement);\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 = _super14.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\n var _iterator2 = _createForOfIteratorHelper(data.vertices),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\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 _iterator2.e(err);\n } finally {\n _iterator2.f();\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 || 1);\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 = /*#__PURE__*/function (_PolylineAnnotationEl) {\n _inherits(PolygonAnnotationElement, _PolylineAnnotationEl);\n\n var _super15 = _createSuper(PolygonAnnotationElement);\n\n function PolygonAnnotationElement(parameters) {\n var _this4;\n\n _classCallCheck(this, PolygonAnnotationElement);\n\n _this4 = _super15.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 = /*#__PURE__*/function (_AnnotationElement10) {\n _inherits(CaretAnnotationElement, _AnnotationElement10);\n\n var _super16 = _createSuper(CaretAnnotationElement);\n\n function CaretAnnotationElement(parameters) {\n _classCallCheck(this, CaretAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super16.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 = /*#__PURE__*/function (_AnnotationElement11) {\n _inherits(InkAnnotationElement, _AnnotationElement11);\n\n var _super17 = _createSuper(InkAnnotationElement);\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 = _super17.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\n var _iterator3 = _createForOfIteratorHelper(data.inkLists),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var inkList = _step3.value;\n var points = [];\n\n var _iterator4 = _createForOfIteratorHelper(inkList),\n _step4;\n\n try {\n for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\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 _iterator4.e(err);\n } finally {\n _iterator4.f();\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 || 1);\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 _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n\n this.container.append(svg);\n return this.container;\n }\n }]);\n\n return InkAnnotationElement;\n}(AnnotationElement);\n\nvar HighlightAnnotationElement = /*#__PURE__*/function (_AnnotationElement12) {\n _inherits(HighlightAnnotationElement, _AnnotationElement12);\n\n var _super18 = _createSuper(HighlightAnnotationElement);\n\n function HighlightAnnotationElement(parameters) {\n _classCallCheck(this, HighlightAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super18.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 = /*#__PURE__*/function (_AnnotationElement13) {\n _inherits(UnderlineAnnotationElement, _AnnotationElement13);\n\n var _super19 = _createSuper(UnderlineAnnotationElement);\n\n function UnderlineAnnotationElement(parameters) {\n _classCallCheck(this, UnderlineAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super19.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 = /*#__PURE__*/function (_AnnotationElement14) {\n _inherits(SquigglyAnnotationElement, _AnnotationElement14);\n\n var _super20 = _createSuper(SquigglyAnnotationElement);\n\n function SquigglyAnnotationElement(parameters) {\n _classCallCheck(this, SquigglyAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super20.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 = /*#__PURE__*/function (_AnnotationElement15) {\n _inherits(StrikeOutAnnotationElement, _AnnotationElement15);\n\n var _super21 = _createSuper(StrikeOutAnnotationElement);\n\n function StrikeOutAnnotationElement(parameters) {\n _classCallCheck(this, StrikeOutAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super21.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 = /*#__PURE__*/function (_AnnotationElement16) {\n _inherits(StampAnnotationElement, _AnnotationElement16);\n\n var _super22 = _createSuper(StampAnnotationElement);\n\n function StampAnnotationElement(parameters) {\n _classCallCheck(this, StampAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super22.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 = /*#__PURE__*/function (_AnnotationElement17) {\n _inherits(FileAttachmentAnnotationElement, _AnnotationElement17);\n\n var _super23 = _createSuper(FileAttachmentAnnotationElement);\n\n function FileAttachmentAnnotationElement(parameters) {\n var _this6;\n\n _classCallCheck(this, FileAttachmentAnnotationElement);\n\n _this6 = _super23.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 = /*#__PURE__*/function () {\n function AnnotationLayer() {\n _classCallCheck(this, AnnotationLayer);\n }\n\n _createClass(AnnotationLayer, null, [{\n key: \"render\",\n value: function render(parameters) {\n var sortedAnnotations = [],\n popupAnnotations = [];\n\n var _iterator5 = _createForOfIteratorHelper(parameters.annotations),\n _step5;\n\n try {\n for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {\n var _data = _step5.value;\n\n if (!_data) {\n continue;\n }\n\n if (_data.annotationType === _util.AnnotationType.POPUP) {\n popupAnnotations.push(_data);\n continue;\n }\n\n sortedAnnotations.push(_data);\n }\n } catch (err) {\n _iterator5.e(err);\n } finally {\n _iterator5.f();\n }\n\n if (popupAnnotations.length) {\n sortedAnnotations.push.apply(sortedAnnotations, popupAnnotations);\n }\n\n for (var _i = 0, _sortedAnnotations = sortedAnnotations; _i < _sortedAnnotations.length; _i++) {\n var data = _sortedAnnotations[_i];\n var element = AnnotationElementFactory.create({\n data: data,\n layer: parameters.div,\n page: parameters.page,\n viewport: parameters.viewport,\n linkService: parameters.linkService,\n downloadManager: parameters.downloadManager,\n imageResourcesPath: parameters.imageResourcesPath || \"\",\n renderInteractiveForms: parameters.renderInteractiveForms || false,\n svgFactory: new _display_utils.DOMSVGFactory()\n });\n\n if (element.isRenderable) {\n parameters.div.appendChild(element.render());\n }\n }\n }\n }, {\n key: \"update\",\n value: function update(parameters) {\n var _iterator6 = _createForOfIteratorHelper(parameters.annotations),\n _step6;\n\n try {\n for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {\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 _iterator6.e(err);\n } finally {\n _iterator6.f();\n }\n\n parameters.div.removeAttribute(\"hidden\");\n }\n }]);\n\n return AnnotationLayer;\n}();\n\nexports.AnnotationLayer = AnnotationLayer;\n\n/***/ }),\n/* 210 */\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__(5);\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 var shouldScaleText = false;\n\n if (geom.str.length > 1) {\n shouldScaleText = true;\n } else if (geom.transform[0] !== geom.transform[3]) {\n var absScaleX = Math.abs(geom.transform[0]),\n absScaleY = Math.abs(geom.transform[3]);\n\n if (absScaleX !== absScaleY && Math.max(absScaleX, absScaleY) / Math.min(absScaleX, absScaleY) > 1.5) {\n shouldScaleText = true;\n }\n }\n\n if (shouldScaleText) {\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 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 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, j) {\n var t = _util.Util.applyTransform(p, m);\n\n ts[j + 0] = c && (e.left - t[0]) / c;\n ts[j + 4] = s && (e.top - t[1]) / s;\n ts[j + 8] = c && (e.right - t[0]) / c;\n ts[j + 12] = s && (e.bottom - t[1]) / s;\n ts[j + 16] = s && (e.left - t[0]) / -s;\n ts[j + 20] = c && (e.top - t[1]) / c;\n ts[j + 24] = s && (e.right - t[0]) / -s;\n ts[j + 28] = c && (e.bottom - t[1]) / c;\n ts[j + 32] = c && (e.left - t[0]) / -c;\n ts[j + 36] = s && (e.top - t[1]) / -s;\n ts[j + 40] = c && (e.right - t[0]) / -c;\n ts[j + 44] = s && (e.bottom - t[1]) / -s;\n ts[j + 48] = s && (e.left - t[0]) / s;\n ts[j + 52] = c && (e.top - t[1]) / -c;\n ts[j + 56] = s && (e.right - t[0]) / s;\n ts[j + 60] = c && (e.bottom - t[1]) / -c;\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 = !!(globalThis.FontInspector && globalThis.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 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 div.style.padding = paddingBuf.join(\" \");\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/* 211 */\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__(5);\n\nvar _display_utils = __w_pdfjs_require__(1);\n\nvar _is_node = __w_pdfjs_require__(7);\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) 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 _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; 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\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\n var _iterator = _createForOfIteratorHelper(opList),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\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 _iterator.e(err);\n } finally {\n _iterator.f();\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 (!_is_node.isNodeJS) {\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 = Buffer.from(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 = /*#__PURE__*/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 = /*#__PURE__*/function () {\n function SVGGraphics(commonObjs, objs) {\n var forceDataSchema = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\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 _iterator2 = _createForOfIteratorHelper(argsArray[i]),\n _step2;\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 (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n _loop();\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\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 _iterator3 = _createForOfIteratorHelper(opTree),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\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.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 _iterator3.e(err);\n } finally {\n _iterator3.f();\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.ycoords = [];\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 current.ycoords = [];\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.ycoords = [];\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 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 vertical = font.vertical;\n var spacingDir = vertical ? 1 : -1;\n var defaultVMetrics = font.defaultVMetrics;\n var widthAdvanceScale = fontSize * current.fontMatrix[0];\n var x = 0;\n\n var _iterator4 = _createForOfIteratorHelper(glyphs),\n _step4;\n\n try {\n for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\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 += spacingDir * glyph * fontSize / 1000;\n continue;\n }\n\n var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n var character = glyph.fontChar;\n var scaledX = void 0,\n scaledY = void 0;\n var width = glyph.width;\n\n if (vertical) {\n var vx = void 0;\n var vmetric = glyph.vmetric || defaultVMetrics;\n vx = glyph.vmetric ? vmetric[1] : width * 0.5;\n vx = -vx * widthAdvanceScale;\n var 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 (glyph.isInFont || font.missingFile) {\n current.xcoords.push(current.x + scaledX);\n\n if (vertical) {\n current.ycoords.push(-current.y + scaledY);\n }\n\n current.tspan.textContent += character;\n } else {}\n\n var charWidth = void 0;\n\n if (vertical) {\n charWidth = width * widthAdvanceScale - spacing * fontDirection;\n } else {\n charWidth = width * widthAdvanceScale + spacing * fontDirection;\n }\n\n x += charWidth;\n }\n } catch (err) {\n _iterator4.e(err);\n } finally {\n _iterator4.f();\n }\n\n current.tspan.setAttributeNS(null, \"x\", current.xcoords.map(pf).join(\" \"));\n\n if (vertical) {\n current.tspan.setAttributeNS(null, \"y\", current.ycoords.map(pf).join(\" \"));\n } else {\n current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n }\n\n if (vertical) {\n current.y -= x;\n } else {\n current.x += x * textHScale;\n }\n\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(\").concat(pf(textHScale), \", -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 (!fontObj.data) {\n throw new Error(\"addFontStyle: No font data available, \" + 'ensure that the \"fontExtraProperties\" API parameter is set.');\n }\n\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.missingFile && !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 = \"normal\";\n\n if (fontObj.black) {\n bold = \"900\";\n } else if (fontObj.bold) {\n bold = \"bold\";\n }\n\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 current.ycoords = [];\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 this.current.ycoords = [];\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 if (this.current.fillAlpha < 1) {\n rect.setAttributeNS(null, \"fill-opacity\", this.current.fillAlpha);\n }\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[3];\n var gradient;\n\n switch (args[1]) {\n case \"axial\":\n var point0 = args[4];\n var point1 = args[5];\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[4];\n var circlePoint = args[5];\n var focalRadius = args[6];\n var circleRadius = args[7];\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 _iterator5 = _createForOfIteratorHelper(colorStops),\n _step5;\n\n try {\n for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {\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 _iterator5.e(err);\n } finally {\n _iterator5.f();\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\n var _iterator6 = _createForOfIteratorHelper(ops),\n _step6;\n\n try {\n for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {\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 d.push(\"C\", pf(x), pf(y), pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(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 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 _iterator6.e(err);\n } finally {\n _iterator6.f();\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 _iterator7 = _createForOfIteratorHelper(states),\n _step7;\n\n try {\n for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {\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 _iterator7.e(err);\n } finally {\n _iterator7.f();\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: \"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/* 212 */\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__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _network_utils = __w_pdfjs_require__(213);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; 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 _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 _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\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 _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\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;\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 = /*#__PURE__*/function () {\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, \"PDFNodeStream.getFullReader can only be called once.\");\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 = /*#__PURE__*/function () {\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( /*#__PURE__*/_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 = /*#__PURE__*/function () {\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( /*#__PURE__*/_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(parsedUrl, headers) {\n return {\n protocol: parsedUrl.protocol,\n auth: parsedUrl.auth,\n host: parsedUrl.hostname,\n port: parsedUrl.port,\n path: parsedUrl.path,\n method: \"GET\",\n headers: headers\n };\n}\n\nvar PDFNodeStreamFullReader = /*#__PURE__*/function (_BaseFullReader) {\n _inherits(PDFNodeStreamFullReader, _BaseFullReader);\n\n var _super = _createSuper(PDFNodeStreamFullReader);\n\n function PDFNodeStreamFullReader(stream) {\n var _this3;\n\n _classCallCheck(this, PDFNodeStreamFullReader);\n\n _this3 = _super.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 = /*#__PURE__*/function (_BaseRangeReader) {\n _inherits(PDFNodeStreamRangeReader, _BaseRangeReader);\n\n var _super2 = _createSuper(PDFNodeStreamRangeReader);\n\n function PDFNodeStreamRangeReader(stream, start, end) {\n var _this4;\n\n _classCallCheck(this, PDFNodeStreamRangeReader);\n\n _this4 = _super2.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 = /*#__PURE__*/function (_BaseFullReader2) {\n _inherits(PDFNodeStreamFsFullReader, _BaseFullReader2);\n\n var _super3 = _createSuper(PDFNodeStreamFsFullReader);\n\n function PDFNodeStreamFsFullReader(stream) {\n var _this5;\n\n _classCallCheck(this, PDFNodeStreamFsFullReader);\n\n _this5 = _super3.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 = /*#__PURE__*/function (_BaseRangeReader2) {\n _inherits(PDFNodeStreamFsRangeReader, _BaseRangeReader2);\n\n var _super4 = _createSuper(PDFNodeStreamFsRangeReader);\n\n function PDFNodeStreamFsRangeReader(stream, start, end) {\n var _this6;\n\n _classCallCheck(this, PDFNodeStreamFsRangeReader);\n\n _this6 = _super4.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/* 213 */\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__(5);\n\nvar _content_disposition = __w_pdfjs_require__(214);\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 && url.startsWith(\"file:\")) {\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/* 214 */\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) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) 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(contentDispositionStr) {\n var matches = [];\n var match;\n var iter = toParamRegExp(\"filename\\\\*((?!0\\\\d)\\\\d+)(\\\\*?)\", \"ig\");\n\n while ((match = iter.exec(contentDispositionStr)) !== 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 _n2 = 0; _n2 < matches.length; ++_n2) {\n if (!(_n2 in matches)) {\n break;\n }\n\n var _matches$_n = _slicedToArray(matches[_n2], 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 (_n2 === 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 (matches, 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 (match, 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/* 215 */\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__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _network_utils = __w_pdfjs_require__(213);\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 = /*#__PURE__*/function () {\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 = /*#__PURE__*/function () {\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, \"PDFNetworkStream.getFullReader can only be called once.\");\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 = /*#__PURE__*/function () {\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( /*#__PURE__*/_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 = /*#__PURE__*/function () {\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( /*#__PURE__*/_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/* 216 */\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__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _network_utils = __w_pdfjs_require__(213);\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;\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\nfunction createHeaders(httpHeaders) {\n var headers = new Headers();\n\n for (var property in httpHeaders) {\n var value = httpHeaders[property];\n\n if (typeof value === \"undefined\") {\n continue;\n }\n\n headers.append(property, value);\n }\n\n return headers;\n}\n\nvar PDFFetchStream = /*#__PURE__*/function () {\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, \"PDFFetchStream.getFullReader can only be called once.\");\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 = /*#__PURE__*/function () {\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 = createHeaders(this._stream.httpHeaders);\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( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee() {\n var _yield$this$_reader$r, 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 _yield$this$_reader$r = _context.sent;\n value = _yield$this$_reader$r.value;\n done = _yield$this$_reader$r.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 = /*#__PURE__*/function () {\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 = createHeaders(this._stream.httpHeaders);\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( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2() {\n var _yield$this$_reader$r2, 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 _yield$this$_reader$r2 = _context2.sent;\n value = _yield$this$_reader$r2.value;\n done = _yield$this$_reader$r2.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","var isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n typeof (NewTarget = dummy.constructor) == 'function' &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","import { PDFLinkService } from 'pdfjs-dist/es5/web/pdf_viewer';\r\n\r\nvar pendingOperation = Promise.resolve();\r\n\r\nexport default function(PDFJS) {\r\n\r\n\tfunction isPDFDocumentLoadingTask(obj) {\r\n\r\n\t\treturn typeof(obj) === 'object' && obj !== null && obj.__PDFDocumentLoadingTask === true;\r\n\t\t// or: return obj.constructor.name === 'PDFDocumentLoadingTask';\r\n\t}\r\n\r\n\tfunction createLoadingTask(src, options) {\r\n\r\n\t\tvar source;\r\n\t\tif ( typeof(src) === 'string' )\r\n\t\t\tsource = { url: src };\r\n\t\telse if ( src instanceof Uint8Array )\r\n\t\t\tsource = { data: src };\r\n\t\telse if ( typeof(src) === 'object' && src !== null )\r\n\t\t\tsource = Object.assign({}, src);\r\n\t\telse\r\n\t\t\tthrow new TypeError('invalid src type');\r\n\r\n\t\t// source.verbosity = PDFJS.VerbosityLevel.INFOS;\r\n\t\t// source.pdfBug = true;\r\n\t\t// source.stopAtErrors = true;\r\n\r\n\t\tif ( options && options.withCredentials )\r\n\t\t\tsource.withCredentials = options.withCredentials;\r\n\r\n\t\tvar loadingTask = PDFJS.getDocument(source);\r\n\t\tloadingTask.__PDFDocumentLoadingTask = true; // since PDFDocumentLoadingTask is not public\r\n\r\n\t\tif ( options && options.onPassword )\r\n\t\t\tloadingTask.onPassword = options.onPassword;\r\n\r\n\t\tif ( options && options.onProgress )\r\n\t\t\tloadingTask.onProgress = options.onProgress;\r\n\r\n\t\treturn loadingTask;\r\n\t}\r\n\r\n\r\n\tfunction PDFJSWrapper(canvasElt, annotationLayerElt, emitEvent) {\r\n\r\n\t\tvar pdfDoc = null;\r\n\t\tvar pdfPage = null;\r\n\t\tvar pdfRender = null;\r\n\t\tvar canceling = false;\r\n\r\n\t\tcanvasElt.getContext('2d').save();\r\n\r\n\t\tfunction clearCanvas() {\r\n\r\n\t\t\tcanvasElt.getContext('2d').clearRect(0, 0, canvasElt.width, canvasElt.height);\r\n\t\t}\r\n\r\n\t\tfunction clearAnnotations() {\r\n\r\n\t\t\twhile ( annotationLayerElt.firstChild )\r\n\t\t\t\tannotationLayerElt.removeChild(annotationLayerElt.firstChild);\r\n\t\t}\r\n\r\n\t\tthis.destroy = function() {\r\n\r\n\t\t\tif ( pdfDoc === null )\r\n\t\t\t\treturn;\r\n\r\n\t\t\t// Aborts all network requests and destroys worker.\r\n\t\t\tpendingOperation = pdfDoc.destroy();\r\n\t\t\tpdfDoc = null;\r\n\t\t}\r\n\r\n\t\tthis.getResolutionScale = function() {\r\n\r\n\t\t\treturn canvasElt.offsetWidth / canvasElt.width;\r\n\t\t}\r\n\r\n\t\tthis.printPage = function(dpi, pageNumberOnly) {\r\n\r\n\t\t\tif ( pdfPage === null )\r\n\t\t\t\treturn;\r\n\r\n\t\t\t// 1in == 72pt\r\n\t\t\t// 1in == 96px\r\n\t\t\tvar PRINT_RESOLUTION = dpi === undefined ? 150 : dpi;\r\n\t\t\tvar PRINT_UNITS = PRINT_RESOLUTION / 72.0;\r\n\t\t\tvar CSS_UNITS = 96.0 / 72.0;\r\n\r\n\t\t\tvar iframeElt = document.createElement('iframe');\r\n\r\n\t\t\tfunction removeIframe() {\r\n\r\n\t\t\t\tiframeElt.parentNode.removeChild(iframeElt);\r\n\t\t\t}\r\n\r\n\t\t\tnew Promise(function(resolve, reject) {\r\n\r\n\t\t\t\tiframeElt.frameBorder = '0';\r\n\t\t\t\tiframeElt.scrolling = 'no';\r\n\t\t\t\tiframeElt.width = '0px;'\r\n\t\t\t\tiframeElt.height = '0px;'\r\n\t\t\t\tiframeElt.style.cssText = 'position: absolute; top: 0; left: 0';\r\n\r\n\t\t\t\tiframeElt.onload = function() {\r\n\r\n\t\t\t\t\tresolve(this.contentWindow);\r\n\t\t\t\t}\r\n\r\n\t\t\t\twindow.document.body.appendChild(iframeElt);\r\n\t\t\t})\r\n\t\t\t.then(function(win) {\r\n\r\n\t\t\t\twin.document.title = '';\r\n\r\n\t\t\t\treturn pdfDoc.getPage(1)\r\n\t\t\t\t.then(function(page) {\r\n\r\n\t\t\t\t\tvar viewport = page.getViewport({ scale: 1 });\r\n\t\t\t\t\twin.document.head.appendChild(win.document.createElement('style')).textContent =\r\n\t\t\t\t\t\t'@supports ((size:A4) and (size:1pt 1pt)) {' +\r\n\t\t\t\t\t\t\t'@page { margin: 1pt; size: ' + ((viewport.width * PRINT_UNITS) / CSS_UNITS) + 'pt ' + ((viewport.height * PRINT_UNITS) / CSS_UNITS) + 'pt; }' +\r\n\t\t\t\t\t\t'}' +\r\n\r\n\t\t\t\t\t\t'@media print {' +\r\n\t\t\t\t\t\t\t'body { margin: 0 }' +\r\n\t\t\t\t\t\t\t'canvas { page-break-before: avoid; page-break-after: always; page-break-inside: avoid }' +\r\n\t\t\t\t\t\t'}'+\r\n\r\n\t\t\t\t\t\t'@media screen {' +\r\n\t\t\t\t\t\t\t'body { margin: 0 }' +\r\n\t\t\t\t\t\t'}'+\r\n\r\n\t\t\t\t\t\t''\r\n\t\t\t\t\treturn win;\r\n\t\t\t\t})\r\n\t\t\t})\r\n\t\t\t.then(function(win) {\r\n\r\n\t\t\t\tvar allPages = [];\r\n\r\n\t\t\t\tfor ( var pageNumber = 1; pageNumber <= pdfDoc.numPages; ++pageNumber ) {\r\n\r\n\t\t\t\t\tif ( pageNumberOnly !== undefined && pageNumberOnly.indexOf(pageNumber) === -1 )\r\n\t\t\t\t\t\tcontinue;\r\n\r\n\t\t\t\t\tallPages.push(\r\n\t\t\t\t\t\tpdfDoc.getPage(pageNumber)\r\n\t\t\t\t\t\t.then(function(page) {\r\n\r\n\t\t\t\t\t\t\tvar viewport = page.getViewport({ scale: 1 });\r\n\r\n\t\t\t\t\t\t\tvar printCanvasElt = win.document.body.appendChild(win.document.createElement('canvas'));\r\n\t\t\t\t\t\t\tprintCanvasElt.width = (viewport.width * PRINT_UNITS);\r\n\t\t\t\t\t\t\tprintCanvasElt.height = (viewport.height * PRINT_UNITS);\r\n\r\n\t\t\t\t\t\t\treturn page.render({\r\n\t\t\t\t\t\t\t\tcanvasContext: printCanvasElt.getContext('2d'),\r\n\t\t\t\t\t\t\t\ttransform: [ // Additional transform, applied just before viewport transform.\r\n\t\t\t\t\t\t\t\t\tPRINT_UNITS, 0, 0,\r\n\t\t\t\t\t\t\t\t\tPRINT_UNITS, 0, 0\r\n\t\t\t\t\t\t\t\t],\r\n\t\t\t\t\t\t\t\tviewport: viewport,\r\n\t\t\t\t\t\t\t\tintent: 'print'\r\n\t\t\t\t\t\t\t}).promise;\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tPromise.all(allPages)\r\n\t\t\t\t.then(function() {\r\n\r\n\t\t\t\t\twin.focus(); // Required for IE\r\n\t\t\t\t\tif (win.document.queryCommandSupported('print')) {\r\n\t\t\t\t\t\twin.document.execCommand('print', false, null);\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\twin.print();\r\n\t\t\t\t\t }\r\n\t\t\t\t\tremoveIframe();\r\n\t\t\t\t})\r\n\t\t\t\t.catch(function(err) {\r\n\r\n\t\t\t\t\tremoveIframe();\r\n\t\t\t\t\temitEvent('error', err);\r\n\t\t\t\t})\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\tthis.renderPage = function(rotate) {\r\n\t\t\tif ( pdfRender !== null ) {\r\n\r\n\t\t\t\tif ( canceling )\r\n\t\t\t\t\treturn;\r\n\t\t\t\tcanceling = true;\r\n\t\t\t\tpdfRender.cancel();\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tif ( pdfPage === null )\r\n\t\t\t\treturn;\r\n\r\n\t\t\tvar pageRotate = (pdfPage.rotate === undefined ? 0 : pdfPage.rotate) + (rotate === undefined ? 0 : rotate);\r\n\r\n\t\t\tvar scale = canvasElt.offsetWidth / pdfPage.getViewport({ scale: 1 }).width * (window.devicePixelRatio || 1);\r\n\t\t\tvar viewport = pdfPage.getViewport({ scale: scale, rotation:pageRotate });\r\n\r\n\t\t\temitEvent('page-size', viewport.width, viewport.height, scale);\r\n\r\n\t\t\tcanvasElt.width = viewport.width;\r\n\t\t\tcanvasElt.height = viewport.height;\r\n\r\n\t\t\tpdfRender = pdfPage.render({\r\n\t\t\t\tcanvasContext: canvasElt.getContext('2d'),\r\n\t\t\t\tviewport: viewport\r\n\t\t\t});\r\n\r\n\t\t\tannotationLayerElt.style.visibility = 'hidden';\r\n\t\t\tclearAnnotations();\r\n\r\n\t\t\tvar viewer = {\r\n\t\t\t\tscrollPageIntoView: function(params) {\r\n\t\t\t\t\temitEvent('link-clicked', params.pageNumber)\r\n\t\t\t\t},\r\n\t\t\t};\r\n\r\n\t\t\tvar linkService = new PDFLinkService();\r\n\t\t\tlinkService.setDocument(pdfDoc);\r\n\t\t\tlinkService.setViewer(viewer);\r\n\r\n\t\t\tpendingOperation = pendingOperation.then(function() {\r\n\r\n\t\t\t\tvar getAnnotationsOperation =\r\n\t\t\t\tpdfPage.getAnnotations({ intent: 'display' })\r\n\t\t\t\t.then(function(annotations) {\r\n\r\n\t\t\t\t\tPDFJS.AnnotationLayer.render({\r\n\t\t\t\t\t\tviewport: viewport.clone({ dontFlip: true }),\r\n\t\t\t\t\t\tdiv: annotationLayerElt,\r\n\t\t\t\t\t\tannotations: annotations,\r\n\t\t\t\t\t\tpage: pdfPage,\r\n\t\t\t\t\t\tlinkService: linkService,\r\n\t\t\t\t\t\trenderInteractiveForms: false\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\r\n\t\t\t\tvar pdfRenderOperation =\r\n\t\t\t\tpdfRender.promise\r\n\t\t\t\t.then(function() {\r\n\r\n\t\t\t\t\tannotationLayerElt.style.visibility = '';\r\n\t\t\t\t\tcanceling = false;\r\n\t\t\t\t\tpdfRender = null;\r\n\t\t\t\t})\r\n\t\t\t\t.catch(function(err) {\r\n\r\n\t\t\t\t\tpdfRender = null;\r\n\t\t\t\t\tif ( err instanceof PDFJS.RenderingCancelledException ) {\r\n\r\n\t\t\t\t\t\tcanceling = false;\r\n\t\t\t\t\t\tthis.renderPage(rotate);\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t\temitEvent('error', err);\r\n\t\t\t\t}.bind(this))\r\n\r\n\t\t\t\treturn Promise.all([getAnnotationsOperation, pdfRenderOperation]);\r\n\t\t\t}.bind(this));\r\n\t\t}\r\n\r\n\r\n\t\tthis.forEachPage = function(pageCallback) {\r\n\r\n\t\t\tvar numPages = pdfDoc.numPages;\r\n\r\n\t\t\t(function next(pageNum) {\r\n\r\n\t\t\t\tpdfDoc.getPage(pageNum)\r\n\t\t\t\t.then(pageCallback)\r\n\t\t\t\t.then(function() {\r\n\r\n\t\t\t\t\tif ( ++pageNum <= numPages )\r\n\t\t\t\t\t\tnext(pageNum);\r\n\t\t\t\t})\r\n\t\t\t})(1);\r\n\t\t}\r\n\r\n\r\n\t\tthis.loadPage = function(pageNumber, rotate) {\r\n\r\n\t\t\tpdfPage = null;\r\n\r\n\t\t\tif ( pdfDoc === null )\r\n\t\t\t\treturn;\r\n\r\n\t\t\tpendingOperation = pendingOperation.then(function() {\r\n\r\n\t\t\t\treturn pdfDoc.getPage(pageNumber);\r\n\t\t\t})\r\n\t\t\t.then(function(page) {\r\n\r\n\t\t\t\tpdfPage = page;\r\n\t\t\t\tthis.renderPage(rotate);\r\n\t\t\t\temitEvent('page-loaded', page.pageNumber);\r\n\t\t\t}.bind(this))\r\n\t\t\t.catch(function(err) {\r\n\r\n\t\t\t\tclearCanvas();\r\n\t\t\t\tclearAnnotations();\r\n\t\t\t\temitEvent('error', err);\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tthis.loadDocument = function(src) {\r\n\r\n\t\t\tpdfDoc = null;\r\n\t\t\tpdfPage = null;\r\n\r\n\t\t\temitEvent('num-pages', undefined);\r\n\r\n\t\t\tif ( !src ) {\r\n\r\n\t\t\t\tcanvasElt.removeAttribute('width');\r\n\t\t\t\tcanvasElt.removeAttribute('height');\r\n\t\t\t\tclearAnnotations();\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\t// wait for pending operation ends\r\n\t\t\tpendingOperation = pendingOperation.then(function() {\r\n\r\n\t\t\t\tvar loadingTask;\r\n\t\t\t\tif ( isPDFDocumentLoadingTask(src) ) {\r\n\r\n\t\t\t\t\tif ( src.destroyed ) {\r\n\r\n\t\t\t\t\t\temitEvent('error', new Error('loadingTask has been destroyed'));\r\n\t\t\t\t\t\treturn\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tloadingTask = src;\r\n\t\t\t\t} else {\r\n\r\n\t\t\t\t\tloadingTask = createLoadingTask(src, {\r\n\t\t\t\t\t\tonPassword: function(updatePassword, reason) {\r\n\r\n\t\t\t\t\t\t\tvar reasonStr;\r\n\t\t\t\t\t\t\tswitch (reason) {\r\n\t\t\t\t\t\t\t\tcase PDFJS.PasswordResponses.NEED_PASSWORD:\r\n\t\t\t\t\t\t\t\t\treasonStr = 'NEED_PASSWORD';\r\n\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\tcase PDFJS.PasswordResponses.INCORRECT_PASSWORD:\r\n\t\t\t\t\t\t\t\t\treasonStr = 'INCORRECT_PASSWORD';\r\n\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\temitEvent('password', updatePassword, reasonStr);\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\tonProgress: function(status) {\r\n\r\n\t\t\t\t\t\t\tvar ratio = status.loaded / status.total;\r\n\t\t\t\t\t\t\temitEvent('progress', Math.min(ratio, 1));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn loadingTask.promise;\r\n\t\t\t})\r\n\t\t\t.then(function(pdf) {\r\n\r\n\t\t\t\tpdfDoc = pdf;\r\n\t\t\t\temitEvent('num-pages', pdf.numPages);\r\n\t\t\t\temitEvent('loaded');\r\n\t\t\t})\r\n\t\t\t.catch(function(err) {\r\n\r\n\t\t\t\tclearCanvas();\r\n\t\t\t\tclearAnnotations();\r\n\t\t\t\temitEvent('error', err);\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\tannotationLayerElt.style.transformOrigin = '0 0';\r\n\t}\r\n\r\n\treturn {\r\n\t\tcreateLoadingTask: createLoadingTask,\r\n\t\tPDFJSWrapper: PDFJSWrapper,\r\n\t}\r\n}\r\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar redefine = require('../internals/redefine');\nvar has = require('../internals/has');\nvar classof = require('../internals/classof-raw');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar toPrimitive = require('../internals/to-primitive');\nvar fails = require('../internals/fails');\nvar create = require('../internals/object-create');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar defineProperty = require('../internals/object-define-property').f;\nvar trim = require('../internals/string-trim').trim;\n\nvar NUMBER = 'Number';\nvar NativeNumber = global[NUMBER];\nvar NumberPrototype = NativeNumber.prototype;\n\n// Opera ~12 has broken Object#toString\nvar BROKEN_CLASSOF = classof(create(NumberPrototype)) == NUMBER;\n\n// `ToNumber` abstract operation\n// https://tc39.es/ecma262/#sec-tonumber\nvar toNumber = function (argument) {\n var it = toPrimitive(argument, false);\n var first, third, radix, maxCode, digits, length, index, code;\n if (typeof it == 'string' && it.length > 2) {\n it = trim(it);\n first = it.charCodeAt(0);\n if (first === 43 || first === 45) {\n third = it.charCodeAt(2);\n if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if (first === 48) {\n switch (it.charCodeAt(1)) {\n case 66: case 98: radix = 2; maxCode = 49; break; // fast equal of /^0b[01]+$/i\n case 79: case 111: radix = 8; maxCode = 55; break; // fast equal of /^0o[0-7]+$/i\n default: return +it;\n }\n digits = it.slice(2);\n length = digits.length;\n for (index = 0; index < length; index++) {\n code = digits.charCodeAt(index);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if (code < 48 || code > maxCode) return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\n// `Number` constructor\n// https://tc39.es/ecma262/#sec-number-constructor\nif (isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1'))) {\n var NumberWrapper = function Number(value) {\n var it = arguments.length < 1 ? 0 : value;\n var dummy = this;\n return dummy instanceof NumberWrapper\n // check on 1..constructor(foo) case\n && (BROKEN_CLASSOF ? fails(function () { NumberPrototype.valueOf.call(dummy); }) : classof(dummy) != NUMBER)\n ? inheritIfRequired(new NativeNumber(toNumber(it)), dummy, NumberWrapper) : toNumber(it);\n };\n for (var keys = DESCRIPTORS ? getOwnPropertyNames(NativeNumber) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES2015 (in case, if modules with ES2015 Number statics required before):\n 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger,' +\n // ESNext\n 'fromString,range'\n ).split(','), j = 0, key; keys.length > j; j++) {\n if (has(NativeNumber, key = keys[j]) && !has(NumberWrapper, key)) {\n defineProperty(NumberWrapper, key, getOwnPropertyDescriptor(NativeNumber, key));\n }\n }\n NumberWrapper.prototype = NumberPrototype;\n NumberPrototype.constructor = NumberWrapper;\n redefine(global, NUMBER, NumberWrapper);\n}\n","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\nvar isArray = require('isarray')\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n ? global.TYPED_ARRAY_SUPPORT\n : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n return arr.foo() === 42 && // typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n } catch (e) {\n return false\n }\n}\n\nfunction kMaxLength () {\n return Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string'\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n })\n }\n}\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc (that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike (that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + kMaxLength().toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare (a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length | 0\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n if (this.length > max) str += ' ... '\n }\n return ''\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (Buffer.TYPED_ARRAY_SUPPORT &&\n typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0\n if (isFinite(length)) {\n length = length | 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n (littleEndian ? i : 1 - i) * 8\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction stringtrim (str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n","export * from \"-!../../mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../vue-loader/lib/loaders/stylePostLoader.js!../../postcss-loader/src/index.js??ref--6-oneOf-1-2!../../cache-loader/dist/cjs.js??ref--0-0!../../vue-loader/lib/index.js??vue-loader-options!./resize-sensor.vue?vue&type=style&index=0&lang=css&\"","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n","/**\n * @licstart The following is the entire license notice for the\n * Javascript code in this page\n *\n * Copyright 2020 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/web/pdf_viewer\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"pdfjs-dist/web/pdf_viewer\"] = factory();\n\telse\n\t\troot[\"pdfjs-dist/web/pdf_viewer\"] = root.pdfjsViewer = 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\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"AnnotationLayerBuilder\", {\n enumerable: true,\n get: function get() {\n return _annotation_layer_builder.AnnotationLayerBuilder;\n }\n});\nObject.defineProperty(exports, \"DefaultAnnotationLayerFactory\", {\n enumerable: true,\n get: function get() {\n return _annotation_layer_builder.DefaultAnnotationLayerFactory;\n }\n});\nObject.defineProperty(exports, \"DefaultTextLayerFactory\", {\n enumerable: true,\n get: function get() {\n return _text_layer_builder.DefaultTextLayerFactory;\n }\n});\nObject.defineProperty(exports, \"TextLayerBuilder\", {\n enumerable: true,\n get: function get() {\n return _text_layer_builder.TextLayerBuilder;\n }\n});\nObject.defineProperty(exports, \"EventBus\", {\n enumerable: true,\n get: function get() {\n return _ui_utils.EventBus;\n }\n});\nObject.defineProperty(exports, \"NullL10n\", {\n enumerable: true,\n get: function get() {\n return _ui_utils.NullL10n;\n }\n});\nObject.defineProperty(exports, \"ProgressBar\", {\n enumerable: true,\n get: function get() {\n return _ui_utils.ProgressBar;\n }\n});\nObject.defineProperty(exports, \"PDFLinkService\", {\n enumerable: true,\n get: function get() {\n return _pdf_link_service.PDFLinkService;\n }\n});\nObject.defineProperty(exports, \"SimpleLinkService\", {\n enumerable: true,\n get: function get() {\n return _pdf_link_service.SimpleLinkService;\n }\n});\nObject.defineProperty(exports, \"DownloadManager\", {\n enumerable: true,\n get: function get() {\n return _download_manager.DownloadManager;\n }\n});\nObject.defineProperty(exports, \"GenericL10n\", {\n enumerable: true,\n get: function get() {\n return _genericl10n.GenericL10n;\n }\n});\nObject.defineProperty(exports, \"PDFFindController\", {\n enumerable: true,\n get: function get() {\n return _pdf_find_controller.PDFFindController;\n }\n});\nObject.defineProperty(exports, \"PDFHistory\", {\n enumerable: true,\n get: function get() {\n return _pdf_history.PDFHistory;\n }\n});\nObject.defineProperty(exports, \"PDFPageView\", {\n enumerable: true,\n get: function get() {\n return _pdf_page_view.PDFPageView;\n }\n});\nObject.defineProperty(exports, \"PDFSinglePageViewer\", {\n enumerable: true,\n get: function get() {\n return _pdf_single_page_viewer.PDFSinglePageViewer;\n }\n});\nObject.defineProperty(exports, \"PDFViewer\", {\n enumerable: true,\n get: function get() {\n return _pdf_viewer.PDFViewer;\n }\n});\n\nvar _annotation_layer_builder = __w_pdfjs_require__(1);\n\nvar _text_layer_builder = __w_pdfjs_require__(8);\n\nvar _ui_utils = __w_pdfjs_require__(3);\n\nvar _pdf_link_service = __w_pdfjs_require__(7);\n\nvar _download_manager = __w_pdfjs_require__(9);\n\nvar _genericl10n = __w_pdfjs_require__(11);\n\nvar _pdf_find_controller = __w_pdfjs_require__(13);\n\nvar _pdf_history = __w_pdfjs_require__(15);\n\nvar _pdf_page_view = __w_pdfjs_require__(16);\n\nvar _pdf_single_page_viewer = __w_pdfjs_require__(18);\n\nvar _pdf_viewer = __w_pdfjs_require__(20);\n\nvar pdfjsVersion = '2.5.207';\nvar pdfjsBuild = '0974d605';\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.DefaultAnnotationLayerFactory = exports.AnnotationLayerBuilder = void 0;\n\nvar _pdfjsLib = __w_pdfjs_require__(2);\n\nvar _ui_utils = __w_pdfjs_require__(3);\n\nvar _pdf_link_service = __w_pdfjs_require__(7);\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 AnnotationLayerBuilder = /*#__PURE__*/function () {\n function AnnotationLayerBuilder(_ref) {\n var pageDiv = _ref.pageDiv,\n pdfPage = _ref.pdfPage,\n linkService = _ref.linkService,\n downloadManager = _ref.downloadManager,\n _ref$imageResourcesPa = _ref.imageResourcesPath,\n imageResourcesPath = _ref$imageResourcesPa === void 0 ? \"\" : _ref$imageResourcesPa,\n _ref$renderInteractiv = _ref.renderInteractiveForms,\n renderInteractiveForms = _ref$renderInteractiv === void 0 ? false : _ref$renderInteractiv,\n _ref$l10n = _ref.l10n,\n l10n = _ref$l10n === void 0 ? _ui_utils.NullL10n : _ref$l10n;\n\n _classCallCheck(this, AnnotationLayerBuilder);\n\n this.pageDiv = pageDiv;\n this.pdfPage = pdfPage;\n this.linkService = linkService;\n this.downloadManager = downloadManager;\n this.imageResourcesPath = imageResourcesPath;\n this.renderInteractiveForms = renderInteractiveForms;\n this.l10n = l10n;\n this.div = null;\n this._cancelled = false;\n }\n\n _createClass(AnnotationLayerBuilder, [{\n key: \"render\",\n value: function render(viewport) {\n var _this = this;\n\n var intent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"display\";\n this.pdfPage.getAnnotations({\n intent: intent\n }).then(function (annotations) {\n if (_this._cancelled) {\n return;\n }\n\n var parameters = {\n viewport: viewport.clone({\n dontFlip: true\n }),\n div: _this.div,\n annotations: annotations,\n page: _this.pdfPage,\n imageResourcesPath: _this.imageResourcesPath,\n renderInteractiveForms: _this.renderInteractiveForms,\n linkService: _this.linkService,\n downloadManager: _this.downloadManager\n };\n\n if (_this.div) {\n _pdfjsLib.AnnotationLayer.update(parameters);\n } else {\n if (annotations.length === 0) {\n return;\n }\n\n _this.div = document.createElement(\"div\");\n _this.div.className = \"annotationLayer\";\n\n _this.pageDiv.appendChild(_this.div);\n\n parameters.div = _this.div;\n\n _pdfjsLib.AnnotationLayer.render(parameters);\n\n _this.l10n.translate(_this.div);\n }\n });\n }\n }, {\n key: \"cancel\",\n value: function cancel() {\n this._cancelled = true;\n }\n }, {\n key: \"hide\",\n value: function hide() {\n if (!this.div) {\n return;\n }\n\n this.div.setAttribute(\"hidden\", \"true\");\n }\n }]);\n\n return AnnotationLayerBuilder;\n}();\n\nexports.AnnotationLayerBuilder = AnnotationLayerBuilder;\n\nvar DefaultAnnotationLayerFactory = /*#__PURE__*/function () {\n function DefaultAnnotationLayerFactory() {\n _classCallCheck(this, DefaultAnnotationLayerFactory);\n }\n\n _createClass(DefaultAnnotationLayerFactory, [{\n key: \"createAnnotationLayerBuilder\",\n value: function createAnnotationLayerBuilder(pageDiv, pdfPage) {\n var imageResourcesPath = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : \"\";\n var renderInteractiveForms = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n var l10n = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : _ui_utils.NullL10n;\n return new AnnotationLayerBuilder({\n pageDiv: pageDiv,\n pdfPage: pdfPage,\n imageResourcesPath: imageResourcesPath,\n renderInteractiveForms: renderInteractiveForms,\n linkService: new _pdf_link_service.SimpleLinkService(),\n l10n: l10n\n });\n }\n }]);\n\n return DefaultAnnotationLayerFactory;\n}();\n\nexports.DefaultAnnotationLayerFactory = DefaultAnnotationLayerFactory;\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar pdfjsLib;\n\nif (typeof window !== \"undefined\" && window[\"pdfjs-dist/build/pdf\"]) {\n pdfjsLib = window[\"pdfjs-dist/build/pdf\"];\n} else {\n pdfjsLib = require(\"../build/pdf.js\");\n}\n\nmodule.exports = pdfjsLib;\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isValidRotation = isValidRotation;\nexports.isValidScrollMode = isValidScrollMode;\nexports.isValidSpreadMode = isValidSpreadMode;\nexports.isPortraitOrientation = isPortraitOrientation;\nexports.clamp = clamp;\nexports.getPDFFileNameFromURL = getPDFFileNameFromURL;\nexports.noContextMenuHandler = noContextMenuHandler;\nexports.parseQueryString = parseQueryString;\nexports.backtrackBeforeAllVisibleElements = backtrackBeforeAllVisibleElements;\nexports.getVisibleElements = getVisibleElements;\nexports.roundToDivide = roundToDivide;\nexports.getPageSizeInches = getPageSizeInches;\nexports.approximateFraction = approximateFraction;\nexports.getOutputScale = getOutputScale;\nexports.scrollIntoView = scrollIntoView;\nexports.watchScroll = watchScroll;\nexports.binarySearchFirstItem = binarySearchFirstItem;\nexports.normalizeWheelEventDelta = normalizeWheelEventDelta;\nexports.waitOnEventOrTimeout = waitOnEventOrTimeout;\nexports.moveToEndOfArray = moveToEndOfArray;\nexports.WaitOnType = exports.animationStarted = exports.ProgressBar = exports.EventBus = exports.NullL10n = exports.SpreadMode = exports.ScrollMode = exports.TextLayerMode = exports.RendererType = exports.PresentationModeState = exports.VERTICAL_PADDING = exports.SCROLLBAR_PADDING = exports.MAX_AUTO_SCALE = exports.UNKNOWN_SCALE = exports.MAX_SCALE = exports.MIN_SCALE = exports.DEFAULT_SCALE = exports.DEFAULT_SCALE_VALUE = exports.CSS_UNITS = exports.AutoPrintRegExp = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(4));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\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) { \"@babel/helpers - typeof\"; 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) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) 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 asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nvar CSS_UNITS = 96.0 / 72.0;\nexports.CSS_UNITS = CSS_UNITS;\nvar DEFAULT_SCALE_VALUE = \"auto\";\nexports.DEFAULT_SCALE_VALUE = DEFAULT_SCALE_VALUE;\nvar DEFAULT_SCALE = 1.0;\nexports.DEFAULT_SCALE = DEFAULT_SCALE;\nvar MIN_SCALE = 0.1;\nexports.MIN_SCALE = MIN_SCALE;\nvar MAX_SCALE = 10.0;\nexports.MAX_SCALE = MAX_SCALE;\nvar UNKNOWN_SCALE = 0;\nexports.UNKNOWN_SCALE = UNKNOWN_SCALE;\nvar MAX_AUTO_SCALE = 1.25;\nexports.MAX_AUTO_SCALE = MAX_AUTO_SCALE;\nvar SCROLLBAR_PADDING = 40;\nexports.SCROLLBAR_PADDING = SCROLLBAR_PADDING;\nvar VERTICAL_PADDING = 5;\nexports.VERTICAL_PADDING = VERTICAL_PADDING;\nvar PresentationModeState = {\n UNKNOWN: 0,\n NORMAL: 1,\n CHANGING: 2,\n FULLSCREEN: 3\n};\nexports.PresentationModeState = PresentationModeState;\nvar RendererType = {\n CANVAS: \"canvas\",\n SVG: \"svg\"\n};\nexports.RendererType = RendererType;\nvar TextLayerMode = {\n DISABLE: 0,\n ENABLE: 1,\n ENABLE_ENHANCE: 2\n};\nexports.TextLayerMode = TextLayerMode;\nvar ScrollMode = {\n UNKNOWN: -1,\n VERTICAL: 0,\n HORIZONTAL: 1,\n WRAPPED: 2\n};\nexports.ScrollMode = ScrollMode;\nvar SpreadMode = {\n UNKNOWN: -1,\n NONE: 0,\n ODD: 1,\n EVEN: 2\n};\nexports.SpreadMode = SpreadMode;\nvar AutoPrintRegExp = /\\bprint\\s*\\(/;\nexports.AutoPrintRegExp = AutoPrintRegExp;\n\nfunction formatL10nValue(text, args) {\n if (!args) {\n return text;\n }\n\n return text.replace(/\\{\\{\\s*(\\w+)\\s*\\}\\}/g, function (all, name) {\n return name in args ? args[name] : \"{{\" + name + \"}}\";\n });\n}\n\nvar NullL10n = {\n getLanguage: function getLanguage() {\n return _asyncToGenerator( /*#__PURE__*/_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 return _context.abrupt(\"return\", \"en-us\");\n\n case 1:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }))();\n },\n getDirection: function getDirection() {\n return _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2() {\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n return _context2.abrupt(\"return\", \"ltr\");\n\n case 1:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }))();\n },\n get: function get(property, args, fallback) {\n return _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee3() {\n return _regenerator[\"default\"].wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n return _context3.abrupt(\"return\", formatL10nValue(fallback, args));\n\n case 1:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3);\n }))();\n },\n translate: function translate(element) {\n return _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee4() {\n return _regenerator[\"default\"].wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4);\n }))();\n }\n};\nexports.NullL10n = NullL10n;\n\nfunction getOutputScale(ctx) {\n var devicePixelRatio = window.devicePixelRatio || 1;\n var backingStoreRatio = ctx.webkitBackingStorePixelRatio || ctx.mozBackingStorePixelRatio || ctx.msBackingStorePixelRatio || ctx.oBackingStorePixelRatio || ctx.backingStorePixelRatio || 1;\n var pixelRatio = devicePixelRatio / backingStoreRatio;\n return {\n sx: pixelRatio,\n sy: pixelRatio,\n scaled: pixelRatio !== 1\n };\n}\n\nfunction scrollIntoView(element, spot) {\n var skipOverflowHiddenElements = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var parent = element.offsetParent;\n\n if (!parent) {\n console.error(\"offsetParent is not set -- cannot scroll\");\n return;\n }\n\n var offsetY = element.offsetTop + element.clientTop;\n var offsetX = element.offsetLeft + element.clientLeft;\n\n while (parent.clientHeight === parent.scrollHeight && parent.clientWidth === parent.scrollWidth || skipOverflowHiddenElements && getComputedStyle(parent).overflow === \"hidden\") {\n if (parent.dataset._scaleY) {\n offsetY /= parent.dataset._scaleY;\n offsetX /= parent.dataset._scaleX;\n }\n\n offsetY += parent.offsetTop;\n offsetX += parent.offsetLeft;\n parent = parent.offsetParent;\n\n if (!parent) {\n return;\n }\n }\n\n if (spot) {\n if (spot.top !== undefined) {\n offsetY += spot.top;\n }\n\n if (spot.left !== undefined) {\n offsetX += spot.left;\n parent.scrollLeft = offsetX;\n }\n }\n\n parent.scrollTop = offsetY;\n}\n\nfunction watchScroll(viewAreaElement, callback) {\n var debounceScroll = function debounceScroll(evt) {\n if (rAF) {\n return;\n }\n\n rAF = window.requestAnimationFrame(function viewAreaElementScrolled() {\n rAF = null;\n var currentX = viewAreaElement.scrollLeft;\n var lastX = state.lastX;\n\n if (currentX !== lastX) {\n state.right = currentX > lastX;\n }\n\n state.lastX = currentX;\n var currentY = viewAreaElement.scrollTop;\n var lastY = state.lastY;\n\n if (currentY !== lastY) {\n state.down = currentY > lastY;\n }\n\n state.lastY = currentY;\n callback(state);\n });\n };\n\n var state = {\n right: true,\n down: true,\n lastX: viewAreaElement.scrollLeft,\n lastY: viewAreaElement.scrollTop,\n _eventHandler: debounceScroll\n };\n var rAF = null;\n viewAreaElement.addEventListener(\"scroll\", debounceScroll, true);\n return state;\n}\n\nfunction parseQueryString(query) {\n var parts = query.split(\"&\");\n var params = Object.create(null);\n\n for (var i = 0, ii = parts.length; i < ii; ++i) {\n var param = parts[i].split(\"=\");\n var key = param[0].toLowerCase();\n var value = param.length > 1 ? param[1] : null;\n params[decodeURIComponent(key)] = decodeURIComponent(value);\n }\n\n return params;\n}\n\nfunction binarySearchFirstItem(items, condition) {\n var minIndex = 0;\n var maxIndex = items.length - 1;\n\n if (maxIndex < 0 || !condition(items[maxIndex])) {\n return items.length;\n }\n\n if (condition(items[minIndex])) {\n return minIndex;\n }\n\n while (minIndex < maxIndex) {\n var currentIndex = minIndex + maxIndex >> 1;\n var currentItem = items[currentIndex];\n\n if (condition(currentItem)) {\n maxIndex = currentIndex;\n } else {\n minIndex = currentIndex + 1;\n }\n }\n\n return minIndex;\n}\n\nfunction approximateFraction(x) {\n if (Math.floor(x) === x) {\n return [x, 1];\n }\n\n var xinv = 1 / x;\n var limit = 8;\n\n if (xinv > limit) {\n return [1, limit];\n } else if (Math.floor(xinv) === xinv) {\n return [1, xinv];\n }\n\n var x_ = x > 1 ? xinv : x;\n var a = 0,\n b = 1,\n c = 1,\n d = 1;\n\n while (true) {\n var p = a + c,\n q = b + d;\n\n if (q > limit) {\n break;\n }\n\n if (x_ <= p / q) {\n c = p;\n d = q;\n } else {\n a = p;\n b = q;\n }\n }\n\n var result;\n\n if (x_ - a / b < c / d - x_) {\n result = x_ === x ? [a, b] : [b, a];\n } else {\n result = x_ === x ? [c, d] : [d, c];\n }\n\n return result;\n}\n\nfunction roundToDivide(x, div) {\n var r = x % div;\n return r === 0 ? x : Math.round(x - r + div);\n}\n\nfunction getPageSizeInches(_ref) {\n var view = _ref.view,\n userUnit = _ref.userUnit,\n rotate = _ref.rotate;\n\n var _view = _slicedToArray(view, 4),\n x1 = _view[0],\n y1 = _view[1],\n x2 = _view[2],\n y2 = _view[3];\n\n var changeOrientation = rotate % 180 !== 0;\n var width = (x2 - x1) / 72 * userUnit;\n var height = (y2 - y1) / 72 * userUnit;\n return {\n width: changeOrientation ? height : width,\n height: changeOrientation ? width : height\n };\n}\n\nfunction backtrackBeforeAllVisibleElements(index, views, top) {\n if (index < 2) {\n return index;\n }\n\n var elt = views[index].div;\n var pageTop = elt.offsetTop + elt.clientTop;\n\n if (pageTop >= top) {\n elt = views[index - 1].div;\n pageTop = elt.offsetTop + elt.clientTop;\n }\n\n for (var i = index - 2; i >= 0; --i) {\n elt = views[i].div;\n\n if (elt.offsetTop + elt.clientTop + elt.clientHeight <= pageTop) {\n break;\n }\n\n index = i;\n }\n\n return index;\n}\n\nfunction getVisibleElements(scrollEl, views) {\n var sortByVisibility = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var horizontal = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n var top = scrollEl.scrollTop,\n bottom = top + scrollEl.clientHeight;\n var left = scrollEl.scrollLeft,\n right = left + scrollEl.clientWidth;\n\n function isElementBottomAfterViewTop(view) {\n var element = view.div;\n var elementBottom = element.offsetTop + element.clientTop + element.clientHeight;\n return elementBottom > top;\n }\n\n function isElementRightAfterViewLeft(view) {\n var element = view.div;\n var elementRight = element.offsetLeft + element.clientLeft + element.clientWidth;\n return elementRight > left;\n }\n\n var visible = [],\n numViews = views.length;\n var firstVisibleElementInd = numViews === 0 ? 0 : binarySearchFirstItem(views, horizontal ? isElementRightAfterViewLeft : isElementBottomAfterViewTop);\n\n if (firstVisibleElementInd > 0 && firstVisibleElementInd < numViews && !horizontal) {\n firstVisibleElementInd = backtrackBeforeAllVisibleElements(firstVisibleElementInd, views, top);\n }\n\n var lastEdge = horizontal ? right : -1;\n\n for (var i = firstVisibleElementInd; i < numViews; i++) {\n var view = views[i],\n element = view.div;\n var currentWidth = element.offsetLeft + element.clientLeft;\n var currentHeight = element.offsetTop + element.clientTop;\n var viewWidth = element.clientWidth,\n viewHeight = element.clientHeight;\n var viewRight = currentWidth + viewWidth;\n var viewBottom = currentHeight + viewHeight;\n\n if (lastEdge === -1) {\n if (viewBottom >= bottom) {\n lastEdge = viewBottom;\n }\n } else if ((horizontal ? currentWidth : currentHeight) > lastEdge) {\n break;\n }\n\n if (viewBottom <= top || currentHeight >= bottom || viewRight <= left || currentWidth >= right) {\n continue;\n }\n\n var hiddenHeight = Math.max(0, top - currentHeight) + Math.max(0, viewBottom - bottom);\n var hiddenWidth = Math.max(0, left - currentWidth) + Math.max(0, viewRight - right);\n var percent = (viewHeight - hiddenHeight) * (viewWidth - hiddenWidth) * 100 / viewHeight / viewWidth | 0;\n visible.push({\n id: view.id,\n x: currentWidth,\n y: currentHeight,\n view: view,\n percent: percent\n });\n }\n\n var first = visible[0],\n last = visible[visible.length - 1];\n\n if (sortByVisibility) {\n visible.sort(function (a, b) {\n var pc = a.percent - b.percent;\n\n if (Math.abs(pc) > 0.001) {\n return -pc;\n }\n\n return a.id - b.id;\n });\n }\n\n return {\n first: first,\n last: last,\n views: visible\n };\n}\n\nfunction noContextMenuHandler(evt) {\n evt.preventDefault();\n}\n\nfunction isDataSchema(url) {\n var i = 0;\n var ii = url.length;\n\n while (i < ii && url[i].trim() === \"\") {\n i++;\n }\n\n return url.substring(i, i + 5).toLowerCase() === \"data:\";\n}\n\nfunction getPDFFileNameFromURL(url) {\n var defaultFilename = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"document.pdf\";\n\n if (typeof url !== \"string\") {\n return defaultFilename;\n }\n\n if (isDataSchema(url)) {\n console.warn(\"getPDFFileNameFromURL: \" + 'ignoring \"data:\" URL for performance reasons.');\n return defaultFilename;\n }\n\n var reURI = /^(?:(?:[^:]+:)?\\/\\/[^\\/]+)?([^?#]*)(\\?[^#]*)?(#.*)?$/;\n var reFilename = /[^\\/?#=]+\\.pdf\\b(?!.*\\.pdf\\b)/i;\n var splitURI = reURI.exec(url);\n var suggestedFilename = reFilename.exec(splitURI[1]) || reFilename.exec(splitURI[2]) || reFilename.exec(splitURI[3]);\n\n if (suggestedFilename) {\n suggestedFilename = suggestedFilename[0];\n\n if (suggestedFilename.includes(\"%\")) {\n try {\n suggestedFilename = reFilename.exec(decodeURIComponent(suggestedFilename))[0];\n } catch (ex) {}\n }\n }\n\n return suggestedFilename || defaultFilename;\n}\n\nfunction normalizeWheelEventDelta(evt) {\n var delta = Math.sqrt(evt.deltaX * evt.deltaX + evt.deltaY * evt.deltaY);\n var angle = Math.atan2(evt.deltaY, evt.deltaX);\n\n if (-0.25 * Math.PI < angle && angle < 0.75 * Math.PI) {\n delta = -delta;\n }\n\n var MOUSE_DOM_DELTA_PIXEL_MODE = 0;\n var MOUSE_DOM_DELTA_LINE_MODE = 1;\n var MOUSE_PIXELS_PER_LINE = 30;\n var MOUSE_LINES_PER_PAGE = 30;\n\n if (evt.deltaMode === MOUSE_DOM_DELTA_PIXEL_MODE) {\n delta /= MOUSE_PIXELS_PER_LINE * MOUSE_LINES_PER_PAGE;\n } else if (evt.deltaMode === MOUSE_DOM_DELTA_LINE_MODE) {\n delta /= MOUSE_LINES_PER_PAGE;\n }\n\n return delta;\n}\n\nfunction isValidRotation(angle) {\n return Number.isInteger(angle) && angle % 90 === 0;\n}\n\nfunction isValidScrollMode(mode) {\n return Number.isInteger(mode) && Object.values(ScrollMode).includes(mode) && mode !== ScrollMode.UNKNOWN;\n}\n\nfunction isValidSpreadMode(mode) {\n return Number.isInteger(mode) && Object.values(SpreadMode).includes(mode) && mode !== SpreadMode.UNKNOWN;\n}\n\nfunction isPortraitOrientation(size) {\n return size.width <= size.height;\n}\n\nvar WaitOnType = {\n EVENT: \"event\",\n TIMEOUT: \"timeout\"\n};\nexports.WaitOnType = WaitOnType;\n\nfunction waitOnEventOrTimeout(_ref2) {\n var target = _ref2.target,\n name = _ref2.name,\n _ref2$delay = _ref2.delay,\n delay = _ref2$delay === void 0 ? 0 : _ref2$delay;\n return new Promise(function (resolve, reject) {\n if (_typeof(target) !== \"object\" || !(name && typeof name === \"string\") || !(Number.isInteger(delay) && delay >= 0)) {\n throw new Error(\"waitOnEventOrTimeout - invalid parameters.\");\n }\n\n function handler(type) {\n if (target instanceof EventBus) {\n target._off(name, eventHandler);\n } else {\n target.removeEventListener(name, eventHandler);\n }\n\n if (timeout) {\n clearTimeout(timeout);\n }\n\n resolve(type);\n }\n\n var eventHandler = handler.bind(null, WaitOnType.EVENT);\n\n if (target instanceof EventBus) {\n target._on(name, eventHandler);\n } else {\n target.addEventListener(name, eventHandler);\n }\n\n var timeoutHandler = handler.bind(null, WaitOnType.TIMEOUT);\n var timeout = setTimeout(timeoutHandler, delay);\n });\n}\n\nvar animationStarted = new Promise(function (resolve) {\n window.requestAnimationFrame(resolve);\n});\nexports.animationStarted = animationStarted;\n\nfunction dispatchDOMEvent(eventName) {\n var args = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n throw new Error(\"Not implemented: dispatchDOMEvent\");\n}\n\nvar EventBus = /*#__PURE__*/function () {\n function EventBus(options) {\n _classCallCheck(this, EventBus);\n\n this._listeners = Object.create(null);\n }\n\n _createClass(EventBus, [{\n key: \"on\",\n value: function on(eventName, listener) {\n this._on(eventName, listener, {\n external: true\n });\n }\n }, {\n key: \"off\",\n value: function off(eventName, listener) {\n this._off(eventName, listener, {\n external: true\n });\n }\n }, {\n key: \"dispatch\",\n value: function dispatch(eventName) {\n var eventListeners = this._listeners[eventName];\n\n if (!eventListeners || eventListeners.length === 0) {\n return;\n }\n\n var args = Array.prototype.slice.call(arguments, 1);\n var externalListeners;\n eventListeners.slice(0).forEach(function (_ref3) {\n var listener = _ref3.listener,\n external = _ref3.external;\n\n if (external) {\n if (!externalListeners) {\n externalListeners = [];\n }\n\n externalListeners.push(listener);\n return;\n }\n\n listener.apply(null, args);\n });\n\n if (externalListeners) {\n externalListeners.forEach(function (listener) {\n listener.apply(null, args);\n });\n externalListeners = null;\n }\n }\n }, {\n key: \"_on\",\n value: function _on(eventName, listener) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n var eventListeners = this._listeners[eventName];\n\n if (!eventListeners) {\n this._listeners[eventName] = eventListeners = [];\n }\n\n eventListeners.push({\n listener: listener,\n external: (options && options.external) === true\n });\n }\n }, {\n key: \"_off\",\n value: function _off(eventName, listener) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n var eventListeners = this._listeners[eventName];\n\n if (!eventListeners) {\n return;\n }\n\n for (var i = 0, ii = eventListeners.length; i < ii; i++) {\n if (eventListeners[i].listener === listener) {\n eventListeners.splice(i, 1);\n return;\n }\n }\n }\n }]);\n\n return EventBus;\n}();\n\nexports.EventBus = EventBus;\n\nfunction clamp(v, min, max) {\n return Math.min(Math.max(v, min), max);\n}\n\nvar ProgressBar = /*#__PURE__*/function () {\n function ProgressBar(id) {\n var _ref4 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n height = _ref4.height,\n width = _ref4.width,\n units = _ref4.units;\n\n _classCallCheck(this, ProgressBar);\n\n this.visible = true;\n this.div = document.querySelector(id + \" .progress\");\n this.bar = this.div.parentNode;\n this.height = height || 100;\n this.width = width || 100;\n this.units = units || \"%\";\n this.div.style.height = this.height + this.units;\n this.percent = 0;\n }\n\n _createClass(ProgressBar, [{\n key: \"_updateBar\",\n value: function _updateBar() {\n if (this._indeterminate) {\n this.div.classList.add(\"indeterminate\");\n this.div.style.width = this.width + this.units;\n return;\n }\n\n this.div.classList.remove(\"indeterminate\");\n var progressSize = this.width * this._percent / 100;\n this.div.style.width = progressSize + this.units;\n }\n }, {\n key: \"setWidth\",\n value: function setWidth(viewer) {\n if (!viewer) {\n return;\n }\n\n var container = viewer.parentNode;\n var scrollbarWidth = container.offsetWidth - viewer.offsetWidth;\n\n if (scrollbarWidth > 0) {\n this.bar.style.width = \"calc(100% - \".concat(scrollbarWidth, \"px)\");\n }\n }\n }, {\n key: \"hide\",\n value: function hide() {\n if (!this.visible) {\n return;\n }\n\n this.visible = false;\n this.bar.classList.add(\"hidden\");\n document.body.classList.remove(\"loadingInProgress\");\n }\n }, {\n key: \"show\",\n value: function show() {\n if (this.visible) {\n return;\n }\n\n this.visible = true;\n document.body.classList.add(\"loadingInProgress\");\n this.bar.classList.remove(\"hidden\");\n }\n }, {\n key: \"percent\",\n get: function get() {\n return this._percent;\n },\n set: function set(val) {\n this._indeterminate = isNaN(val);\n this._percent = clamp(val, 0, 100);\n\n this._updateBar();\n }\n }]);\n\n return ProgressBar;\n}();\n\nexports.ProgressBar = ProgressBar;\n\nfunction moveToEndOfArray(arr, condition) {\n var moved = [],\n len = arr.length;\n var write = 0;\n\n for (var read = 0; read < len; ++read) {\n if (condition(arr[read])) {\n moved.push(arr[read]);\n } else {\n arr[write] = arr[read];\n ++write;\n }\n }\n\n for (var _read = 0; write < len; ++_read, ++write) {\n arr[write] = moved[_read];\n }\n}\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = __w_pdfjs_require__(5);\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(module) {\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; 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, PromiseImpl) {\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 PromiseImpl.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 PromiseImpl.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 PromiseImpl(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, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);\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__(6)(module)))\n\n/***/ }),\n/* 6 */\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/* 7 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SimpleLinkService = exports.PDFLinkService = void 0;\n\nvar _ui_utils = __w_pdfjs_require__(3);\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; 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 _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 PDFLinkService = /*#__PURE__*/function () {\n function PDFLinkService() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n eventBus = _ref.eventBus,\n _ref$externalLinkTarg = _ref.externalLinkTarget,\n externalLinkTarget = _ref$externalLinkTarg === void 0 ? null : _ref$externalLinkTarg,\n _ref$externalLinkRel = _ref.externalLinkRel,\n externalLinkRel = _ref$externalLinkRel === void 0 ? null : _ref$externalLinkRel,\n _ref$externalLinkEnab = _ref.externalLinkEnabled,\n externalLinkEnabled = _ref$externalLinkEnab === void 0 ? true : _ref$externalLinkEnab,\n _ref$ignoreDestinatio = _ref.ignoreDestinationZoom,\n ignoreDestinationZoom = _ref$ignoreDestinatio === void 0 ? false : _ref$ignoreDestinatio;\n\n _classCallCheck(this, PDFLinkService);\n\n this.eventBus = eventBus;\n this.externalLinkTarget = externalLinkTarget;\n this.externalLinkRel = externalLinkRel;\n this.externalLinkEnabled = externalLinkEnabled;\n this._ignoreDestinationZoom = ignoreDestinationZoom;\n this.baseUrl = null;\n this.pdfDocument = null;\n this.pdfViewer = null;\n this.pdfHistory = null;\n this._pagesRefCache = null;\n }\n\n _createClass(PDFLinkService, [{\n key: \"setDocument\",\n value: function setDocument(pdfDocument) {\n var baseUrl = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n this.baseUrl = baseUrl;\n this.pdfDocument = pdfDocument;\n this._pagesRefCache = Object.create(null);\n }\n }, {\n key: \"setViewer\",\n value: function setViewer(pdfViewer) {\n this.pdfViewer = pdfViewer;\n }\n }, {\n key: \"setHistory\",\n value: function setHistory(pdfHistory) {\n this.pdfHistory = pdfHistory;\n }\n }, {\n key: \"navigateTo\",\n value: function navigateTo(dest) {\n var _this = this;\n\n var goToDestination = function goToDestination(_ref2) {\n var namedDest = _ref2.namedDest,\n explicitDest = _ref2.explicitDest;\n var destRef = explicitDest[0];\n var pageNumber;\n\n if (destRef instanceof Object) {\n pageNumber = _this._cachedPageNumber(destRef);\n\n if (pageNumber === null) {\n _this.pdfDocument.getPageIndex(destRef).then(function (pageIndex) {\n _this.cachePageRef(pageIndex + 1, destRef);\n\n goToDestination({\n namedDest: namedDest,\n explicitDest: explicitDest\n });\n })[\"catch\"](function () {\n console.error(\"PDFLinkService.navigateTo: \\\"\".concat(destRef, \"\\\" is not \") + \"a valid page reference, for dest=\\\"\".concat(dest, \"\\\".\"));\n });\n\n return;\n }\n } else if (Number.isInteger(destRef)) {\n pageNumber = destRef + 1;\n } else {\n console.error(\"PDFLinkService.navigateTo: \\\"\".concat(destRef, \"\\\" is not \") + \"a valid destination reference, for dest=\\\"\".concat(dest, \"\\\".\"));\n return;\n }\n\n if (!pageNumber || pageNumber < 1 || pageNumber > _this.pagesCount) {\n console.error(\"PDFLinkService.navigateTo: \\\"\".concat(pageNumber, \"\\\" is not \") + \"a valid page number, for dest=\\\"\".concat(dest, \"\\\".\"));\n return;\n }\n\n if (_this.pdfHistory) {\n _this.pdfHistory.pushCurrentPosition();\n\n _this.pdfHistory.push({\n namedDest: namedDest,\n explicitDest: explicitDest,\n pageNumber: pageNumber\n });\n }\n\n _this.pdfViewer.scrollPageIntoView({\n pageNumber: pageNumber,\n destArray: explicitDest,\n ignoreDestinationZoom: _this._ignoreDestinationZoom\n });\n };\n\n new Promise(function (resolve, reject) {\n if (typeof dest === \"string\") {\n _this.pdfDocument.getDestination(dest).then(function (destArray) {\n resolve({\n namedDest: dest,\n explicitDest: destArray\n });\n });\n\n return;\n }\n\n resolve({\n namedDest: \"\",\n explicitDest: dest\n });\n }).then(function (data) {\n if (!Array.isArray(data.explicitDest)) {\n console.error(\"PDFLinkService.navigateTo: \\\"\".concat(data.explicitDest, \"\\\" is\") + \" not a valid destination array, for dest=\\\"\".concat(dest, \"\\\".\"));\n return;\n }\n\n goToDestination(data);\n });\n }\n }, {\n key: \"getDestinationHash\",\n value: function getDestinationHash(dest) {\n if (typeof dest === \"string\") {\n return this.getAnchorUrl(\"#\" + escape(dest));\n }\n\n if (Array.isArray(dest)) {\n var str = JSON.stringify(dest);\n return this.getAnchorUrl(\"#\" + escape(str));\n }\n\n return this.getAnchorUrl(\"\");\n }\n }, {\n key: \"getAnchorUrl\",\n value: function getAnchorUrl(anchor) {\n return (this.baseUrl || \"\") + anchor;\n }\n }, {\n key: \"setHash\",\n value: function setHash(hash) {\n var pageNumber, dest;\n\n if (hash.includes(\"=\")) {\n var params = (0, _ui_utils.parseQueryString)(hash);\n\n if (\"search\" in params) {\n this.eventBus.dispatch(\"findfromurlhash\", {\n source: this,\n query: params.search.replace(/\"/g, \"\"),\n phraseSearch: params.phrase === \"true\"\n });\n }\n\n if (\"page\" in params) {\n pageNumber = params.page | 0 || 1;\n }\n\n if (\"zoom\" in params) {\n var zoomArgs = params.zoom.split(\",\");\n var zoomArg = zoomArgs[0];\n var zoomArgNumber = parseFloat(zoomArg);\n\n if (!zoomArg.includes(\"Fit\")) {\n dest = [null, {\n name: \"XYZ\"\n }, zoomArgs.length > 1 ? zoomArgs[1] | 0 : null, zoomArgs.length > 2 ? zoomArgs[2] | 0 : null, zoomArgNumber ? zoomArgNumber / 100 : zoomArg];\n } else {\n if (zoomArg === \"Fit\" || zoomArg === \"FitB\") {\n dest = [null, {\n name: zoomArg\n }];\n } else if (zoomArg === \"FitH\" || zoomArg === \"FitBH\" || zoomArg === \"FitV\" || zoomArg === \"FitBV\") {\n dest = [null, {\n name: zoomArg\n }, zoomArgs.length > 1 ? zoomArgs[1] | 0 : null];\n } else if (zoomArg === \"FitR\") {\n if (zoomArgs.length !== 5) {\n console.error('PDFLinkService.setHash: Not enough parameters for \"FitR\".');\n } else {\n dest = [null, {\n name: zoomArg\n }, zoomArgs[1] | 0, zoomArgs[2] | 0, zoomArgs[3] | 0, zoomArgs[4] | 0];\n }\n } else {\n console.error(\"PDFLinkService.setHash: \\\"\".concat(zoomArg, \"\\\" is not \") + \"a valid zoom value.\");\n }\n }\n }\n\n if (dest) {\n this.pdfViewer.scrollPageIntoView({\n pageNumber: pageNumber || this.page,\n destArray: dest,\n allowNegativeOffset: true\n });\n } else if (pageNumber) {\n this.page = pageNumber;\n }\n\n if (\"pagemode\" in params) {\n this.eventBus.dispatch(\"pagemode\", {\n source: this,\n mode: params.pagemode\n });\n }\n\n if (\"nameddest\" in params) {\n this.navigateTo(params.nameddest);\n }\n } else {\n dest = unescape(hash);\n\n try {\n dest = JSON.parse(dest);\n\n if (!Array.isArray(dest)) {\n dest = dest.toString();\n }\n } catch (ex) {}\n\n if (typeof dest === \"string\" || isValidExplicitDestination(dest)) {\n this.navigateTo(dest);\n return;\n }\n\n console.error(\"PDFLinkService.setHash: \\\"\".concat(unescape(hash), \"\\\" is not \") + \"a valid destination.\");\n }\n }\n }, {\n key: \"executeNamedAction\",\n value: function executeNamedAction(action) {\n switch (action) {\n case \"GoBack\":\n if (this.pdfHistory) {\n this.pdfHistory.back();\n }\n\n break;\n\n case \"GoForward\":\n if (this.pdfHistory) {\n this.pdfHistory.forward();\n }\n\n break;\n\n case \"NextPage\":\n if (this.page < this.pagesCount) {\n this.page++;\n }\n\n break;\n\n case \"PrevPage\":\n if (this.page > 1) {\n this.page--;\n }\n\n break;\n\n case \"LastPage\":\n this.page = this.pagesCount;\n break;\n\n case \"FirstPage\":\n this.page = 1;\n break;\n\n default:\n break;\n }\n\n this.eventBus.dispatch(\"namedaction\", {\n source: this,\n action: action\n });\n }\n }, {\n key: \"cachePageRef\",\n value: function cachePageRef(pageNum, pageRef) {\n if (!pageRef) {\n return;\n }\n\n var refStr = pageRef.gen === 0 ? \"\".concat(pageRef.num, \"R\") : \"\".concat(pageRef.num, \"R\").concat(pageRef.gen);\n this._pagesRefCache[refStr] = pageNum;\n }\n }, {\n key: \"_cachedPageNumber\",\n value: function _cachedPageNumber(pageRef) {\n var refStr = pageRef.gen === 0 ? \"\".concat(pageRef.num, \"R\") : \"\".concat(pageRef.num, \"R\").concat(pageRef.gen);\n return this._pagesRefCache && this._pagesRefCache[refStr] || null;\n }\n }, {\n key: \"isPageVisible\",\n value: function isPageVisible(pageNumber) {\n return this.pdfViewer.isPageVisible(pageNumber);\n }\n }, {\n key: \"pagesCount\",\n get: function get() {\n return this.pdfDocument ? this.pdfDocument.numPages : 0;\n }\n }, {\n key: \"page\",\n get: function get() {\n return this.pdfViewer.currentPageNumber;\n },\n set: function set(value) {\n this.pdfViewer.currentPageNumber = value;\n }\n }, {\n key: \"rotation\",\n get: function get() {\n return this.pdfViewer.pagesRotation;\n },\n set: function set(value) {\n this.pdfViewer.pagesRotation = value;\n }\n }]);\n\n return PDFLinkService;\n}();\n\nexports.PDFLinkService = PDFLinkService;\n\nfunction isValidExplicitDestination(dest) {\n if (!Array.isArray(dest)) {\n return false;\n }\n\n var destLength = dest.length;\n\n if (destLength < 2) {\n return false;\n }\n\n var page = dest[0];\n\n if (!(_typeof(page) === \"object\" && Number.isInteger(page.num) && Number.isInteger(page.gen)) && !(Number.isInteger(page) && page >= 0)) {\n return false;\n }\n\n var zoom = dest[1];\n\n if (!(_typeof(zoom) === \"object\" && typeof zoom.name === \"string\")) {\n return false;\n }\n\n var allowNull = true;\n\n switch (zoom.name) {\n case \"XYZ\":\n if (destLength !== 5) {\n return false;\n }\n\n break;\n\n case \"Fit\":\n case \"FitB\":\n return destLength === 2;\n\n case \"FitH\":\n case \"FitBH\":\n case \"FitV\":\n case \"FitBV\":\n if (destLength !== 3) {\n return false;\n }\n\n break;\n\n case \"FitR\":\n if (destLength !== 6) {\n return false;\n }\n\n allowNull = false;\n break;\n\n default:\n return false;\n }\n\n for (var i = 2; i < destLength; i++) {\n var param = dest[i];\n\n if (!(typeof param === \"number\" || allowNull && param === null)) {\n return false;\n }\n }\n\n return true;\n}\n\nvar SimpleLinkService = /*#__PURE__*/function () {\n function SimpleLinkService() {\n _classCallCheck(this, SimpleLinkService);\n\n this.externalLinkTarget = null;\n this.externalLinkRel = null;\n this.externalLinkEnabled = true;\n this._ignoreDestinationZoom = false;\n }\n\n _createClass(SimpleLinkService, [{\n key: \"navigateTo\",\n value: function navigateTo(dest) {}\n }, {\n key: \"getDestinationHash\",\n value: function getDestinationHash(dest) {\n return \"#\";\n }\n }, {\n key: \"getAnchorUrl\",\n value: function getAnchorUrl(hash) {\n return \"#\";\n }\n }, {\n key: \"setHash\",\n value: function setHash(hash) {}\n }, {\n key: \"executeNamedAction\",\n value: function executeNamedAction(action) {}\n }, {\n key: \"cachePageRef\",\n value: function cachePageRef(pageNum, pageRef) {}\n }, {\n key: \"isPageVisible\",\n value: function isPageVisible(pageNumber) {\n return true;\n }\n }, {\n key: \"pagesCount\",\n get: function get() {\n return 0;\n }\n }, {\n key: \"page\",\n get: function get() {\n return 0;\n },\n set: function set(value) {}\n }, {\n key: \"rotation\",\n get: function get() {\n return 0;\n },\n set: function set(value) {}\n }]);\n\n return SimpleLinkService;\n}();\n\nexports.SimpleLinkService = SimpleLinkService;\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.DefaultTextLayerFactory = exports.TextLayerBuilder = void 0;\n\nvar _pdfjsLib = __w_pdfjs_require__(2);\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 EXPAND_DIVS_TIMEOUT = 300;\n\nvar TextLayerBuilder = /*#__PURE__*/function () {\n function TextLayerBuilder(_ref) {\n var textLayerDiv = _ref.textLayerDiv,\n eventBus = _ref.eventBus,\n pageIndex = _ref.pageIndex,\n viewport = _ref.viewport,\n _ref$findController = _ref.findController,\n findController = _ref$findController === void 0 ? null : _ref$findController,\n _ref$enhanceTextSelec = _ref.enhanceTextSelection,\n enhanceTextSelection = _ref$enhanceTextSelec === void 0 ? false : _ref$enhanceTextSelec;\n\n _classCallCheck(this, TextLayerBuilder);\n\n this.textLayerDiv = textLayerDiv;\n this.eventBus = eventBus;\n this.textContent = null;\n this.textContentItemsStr = [];\n this.textContentStream = null;\n this.renderingDone = false;\n this.pageIdx = pageIndex;\n this.pageNumber = this.pageIdx + 1;\n this.matches = [];\n this.viewport = viewport;\n this.textDivs = [];\n this.findController = findController;\n this.textLayerRenderTask = null;\n this.enhanceTextSelection = enhanceTextSelection;\n this._onUpdateTextLayerMatches = null;\n\n this._bindMouse();\n }\n\n _createClass(TextLayerBuilder, [{\n key: \"_finishRendering\",\n value: function _finishRendering() {\n this.renderingDone = true;\n\n if (!this.enhanceTextSelection) {\n var endOfContent = document.createElement(\"div\");\n endOfContent.className = \"endOfContent\";\n this.textLayerDiv.appendChild(endOfContent);\n }\n\n this.eventBus.dispatch(\"textlayerrendered\", {\n source: this,\n pageNumber: this.pageNumber,\n numTextDivs: this.textDivs.length\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this = this;\n\n var timeout = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n\n if (!(this.textContent || this.textContentStream) || this.renderingDone) {\n return;\n }\n\n this.cancel();\n this.textDivs = [];\n var textLayerFrag = document.createDocumentFragment();\n this.textLayerRenderTask = (0, _pdfjsLib.renderTextLayer)({\n textContent: this.textContent,\n textContentStream: this.textContentStream,\n container: textLayerFrag,\n viewport: this.viewport,\n textDivs: this.textDivs,\n textContentItemsStr: this.textContentItemsStr,\n timeout: timeout,\n enhanceTextSelection: this.enhanceTextSelection\n });\n this.textLayerRenderTask.promise.then(function () {\n _this.textLayerDiv.appendChild(textLayerFrag);\n\n _this._finishRendering();\n\n _this._updateMatches();\n }, function (reason) {});\n\n if (!this._onUpdateTextLayerMatches) {\n this._onUpdateTextLayerMatches = function (evt) {\n if (evt.pageIndex === _this.pageIdx || evt.pageIndex === -1) {\n _this._updateMatches();\n }\n };\n\n this.eventBus._on(\"updatetextlayermatches\", this._onUpdateTextLayerMatches);\n }\n }\n }, {\n key: \"cancel\",\n value: function cancel() {\n if (this.textLayerRenderTask) {\n this.textLayerRenderTask.cancel();\n this.textLayerRenderTask = null;\n }\n\n if (this._onUpdateTextLayerMatches) {\n this.eventBus._off(\"updatetextlayermatches\", this._onUpdateTextLayerMatches);\n\n this._onUpdateTextLayerMatches = null;\n }\n }\n }, {\n key: \"setTextContentStream\",\n value: function setTextContentStream(readableStream) {\n this.cancel();\n this.textContentStream = readableStream;\n }\n }, {\n key: \"setTextContent\",\n value: function setTextContent(textContent) {\n this.cancel();\n this.textContent = textContent;\n }\n }, {\n key: \"_convertMatches\",\n value: function _convertMatches(matches, matchesLength) {\n if (!matches) {\n return [];\n }\n\n var findController = this.findController,\n textContentItemsStr = this.textContentItemsStr;\n var i = 0,\n iIndex = 0;\n var end = textContentItemsStr.length - 1;\n var queryLen = findController.state.query.length;\n var result = [];\n\n for (var m = 0, mm = matches.length; m < mm; m++) {\n var matchIdx = matches[m];\n\n while (i !== end && matchIdx >= iIndex + textContentItemsStr[i].length) {\n iIndex += textContentItemsStr[i].length;\n i++;\n }\n\n if (i === textContentItemsStr.length) {\n console.error(\"Could not find a matching mapping\");\n }\n\n var match = {\n begin: {\n divIdx: i,\n offset: matchIdx - iIndex\n }\n };\n\n if (matchesLength) {\n matchIdx += matchesLength[m];\n } else {\n matchIdx += queryLen;\n }\n\n while (i !== end && matchIdx > iIndex + textContentItemsStr[i].length) {\n iIndex += textContentItemsStr[i].length;\n i++;\n }\n\n match.end = {\n divIdx: i,\n offset: matchIdx - iIndex\n };\n result.push(match);\n }\n\n return result;\n }\n }, {\n key: \"_renderMatches\",\n value: function _renderMatches(matches) {\n if (matches.length === 0) {\n return;\n }\n\n var findController = this.findController,\n pageIdx = this.pageIdx,\n textContentItemsStr = this.textContentItemsStr,\n textDivs = this.textDivs;\n var isSelectedPage = pageIdx === findController.selected.pageIdx;\n var selectedMatchIdx = findController.selected.matchIdx;\n var highlightAll = findController.state.highlightAll;\n var prevEnd = null;\n var infinity = {\n divIdx: -1,\n offset: undefined\n };\n\n function beginText(begin, className) {\n var divIdx = begin.divIdx;\n textDivs[divIdx].textContent = \"\";\n appendTextToDiv(divIdx, 0, begin.offset, className);\n }\n\n function appendTextToDiv(divIdx, fromOffset, toOffset, className) {\n var div = textDivs[divIdx];\n var content = textContentItemsStr[divIdx].substring(fromOffset, toOffset);\n var node = document.createTextNode(content);\n\n if (className) {\n var span = document.createElement(\"span\");\n span.className = className;\n span.appendChild(node);\n div.appendChild(span);\n return;\n }\n\n div.appendChild(node);\n }\n\n var i0 = selectedMatchIdx,\n i1 = i0 + 1;\n\n if (highlightAll) {\n i0 = 0;\n i1 = matches.length;\n } else if (!isSelectedPage) {\n return;\n }\n\n for (var i = i0; i < i1; i++) {\n var match = matches[i];\n var begin = match.begin;\n var end = match.end;\n var isSelected = isSelectedPage && i === selectedMatchIdx;\n var highlightSuffix = isSelected ? \" selected\" : \"\";\n\n if (isSelected) {\n findController.scrollMatchIntoView({\n element: textDivs[begin.divIdx],\n pageIndex: pageIdx,\n matchIndex: selectedMatchIdx\n });\n }\n\n if (!prevEnd || begin.divIdx !== prevEnd.divIdx) {\n if (prevEnd !== null) {\n appendTextToDiv(prevEnd.divIdx, prevEnd.offset, infinity.offset);\n }\n\n beginText(begin);\n } else {\n appendTextToDiv(prevEnd.divIdx, prevEnd.offset, begin.offset);\n }\n\n if (begin.divIdx === end.divIdx) {\n appendTextToDiv(begin.divIdx, begin.offset, end.offset, \"highlight\" + highlightSuffix);\n } else {\n appendTextToDiv(begin.divIdx, begin.offset, infinity.offset, \"highlight begin\" + highlightSuffix);\n\n for (var n0 = begin.divIdx + 1, n1 = end.divIdx; n0 < n1; n0++) {\n textDivs[n0].className = \"highlight middle\" + highlightSuffix;\n }\n\n beginText(end, \"highlight end\" + highlightSuffix);\n }\n\n prevEnd = end;\n }\n\n if (prevEnd) {\n appendTextToDiv(prevEnd.divIdx, prevEnd.offset, infinity.offset);\n }\n }\n }, {\n key: \"_updateMatches\",\n value: function _updateMatches() {\n if (!this.renderingDone) {\n return;\n }\n\n var findController = this.findController,\n matches = this.matches,\n pageIdx = this.pageIdx,\n textContentItemsStr = this.textContentItemsStr,\n textDivs = this.textDivs;\n var clearedUntilDivIdx = -1;\n\n for (var i = 0, ii = matches.length; i < ii; i++) {\n var match = matches[i];\n var begin = Math.max(clearedUntilDivIdx, match.begin.divIdx);\n\n for (var n = begin, end = match.end.divIdx; n <= end; n++) {\n var div = textDivs[n];\n div.textContent = textContentItemsStr[n];\n div.className = \"\";\n }\n\n clearedUntilDivIdx = match.end.divIdx + 1;\n }\n\n if (!findController || !findController.highlightMatches) {\n return;\n }\n\n var pageMatches = findController.pageMatches[pageIdx] || null;\n var pageMatchesLength = findController.pageMatchesLength[pageIdx] || null;\n this.matches = this._convertMatches(pageMatches, pageMatchesLength);\n\n this._renderMatches(this.matches);\n }\n }, {\n key: \"_bindMouse\",\n value: function _bindMouse() {\n var _this2 = this;\n\n var div = this.textLayerDiv;\n var expandDivsTimer = null;\n div.addEventListener(\"mousedown\", function (evt) {\n if (_this2.enhanceTextSelection && _this2.textLayerRenderTask) {\n _this2.textLayerRenderTask.expandTextDivs(true);\n\n if (expandDivsTimer) {\n clearTimeout(expandDivsTimer);\n expandDivsTimer = null;\n }\n\n return;\n }\n\n var end = div.querySelector(\".endOfContent\");\n\n if (!end) {\n return;\n }\n\n var adjustTop = evt.target !== div;\n adjustTop = adjustTop && window.getComputedStyle(end).getPropertyValue(\"-moz-user-select\") !== \"none\";\n\n if (adjustTop) {\n var divBounds = div.getBoundingClientRect();\n var r = Math.max(0, (evt.pageY - divBounds.top) / divBounds.height);\n end.style.top = (r * 100).toFixed(2) + \"%\";\n }\n\n end.classList.add(\"active\");\n });\n div.addEventListener(\"mouseup\", function () {\n if (_this2.enhanceTextSelection && _this2.textLayerRenderTask) {\n expandDivsTimer = setTimeout(function () {\n if (_this2.textLayerRenderTask) {\n _this2.textLayerRenderTask.expandTextDivs(false);\n }\n\n expandDivsTimer = null;\n }, EXPAND_DIVS_TIMEOUT);\n return;\n }\n\n var end = div.querySelector(\".endOfContent\");\n\n if (!end) {\n return;\n }\n\n end.style.top = \"\";\n end.classList.remove(\"active\");\n });\n }\n }]);\n\n return TextLayerBuilder;\n}();\n\nexports.TextLayerBuilder = TextLayerBuilder;\n\nvar DefaultTextLayerFactory = /*#__PURE__*/function () {\n function DefaultTextLayerFactory() {\n _classCallCheck(this, DefaultTextLayerFactory);\n }\n\n _createClass(DefaultTextLayerFactory, [{\n key: \"createTextLayerBuilder\",\n value: function createTextLayerBuilder(textLayerDiv, pageIndex, viewport) {\n var enhanceTextSelection = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n var eventBus = arguments.length > 4 ? arguments[4] : undefined;\n return new TextLayerBuilder({\n textLayerDiv: textLayerDiv,\n pageIndex: pageIndex,\n viewport: viewport,\n enhanceTextSelection: enhanceTextSelection,\n eventBus: eventBus\n });\n }\n }]);\n\n return DefaultTextLayerFactory;\n}();\n\nexports.DefaultTextLayerFactory = DefaultTextLayerFactory;\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.DownloadManager = void 0;\n\nvar _pdfjsLib = __w_pdfjs_require__(2);\n\nvar _viewer_compatibility = __w_pdfjs_require__(10);\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 DISABLE_CREATE_OBJECT_URL = _viewer_compatibility.viewerCompatibilityParams.disableCreateObjectURL || false;\n\nfunction _download(blobUrl, filename) {\n var a = document.createElement(\"a\");\n\n if (!a.click) {\n throw new Error('DownloadManager: \"a.click()\" is not supported.');\n }\n\n a.href = blobUrl;\n a.target = \"_parent\";\n\n if (\"download\" in a) {\n a.download = filename;\n }\n\n (document.body || document.documentElement).appendChild(a);\n a.click();\n a.remove();\n}\n\nvar DownloadManager = /*#__PURE__*/function () {\n function DownloadManager(_ref) {\n var _ref$disableCreateObj = _ref.disableCreateObjectURL,\n disableCreateObjectURL = _ref$disableCreateObj === void 0 ? DISABLE_CREATE_OBJECT_URL : _ref$disableCreateObj;\n\n _classCallCheck(this, DownloadManager);\n\n this.disableCreateObjectURL = disableCreateObjectURL;\n }\n\n _createClass(DownloadManager, [{\n key: \"downloadUrl\",\n value: function downloadUrl(url, filename) {\n if (!(0, _pdfjsLib.createValidAbsoluteUrl)(url, \"http://example.com\")) {\n return;\n }\n\n _download(url + \"#pdfjs.action=download\", filename);\n }\n }, {\n key: \"downloadData\",\n value: function downloadData(data, filename, contentType) {\n if (navigator.msSaveBlob) {\n navigator.msSaveBlob(new Blob([data], {\n type: contentType\n }), filename);\n return;\n }\n\n var blobUrl = (0, _pdfjsLib.createObjectURL)(data, contentType, this.disableCreateObjectURL);\n\n _download(blobUrl, filename);\n }\n }, {\n key: \"download\",\n value: function download(blob, url, filename) {\n if (navigator.msSaveBlob) {\n if (!navigator.msSaveBlob(blob, filename)) {\n this.downloadUrl(url, filename);\n }\n\n return;\n }\n\n if (this.disableCreateObjectURL) {\n this.downloadUrl(url, filename);\n return;\n }\n\n var blobUrl = URL.createObjectURL(blob);\n\n _download(blobUrl, filename);\n }\n }]);\n\n return DownloadManager;\n}();\n\nexports.DownloadManager = DownloadManager;\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.viewerCompatibilityParams = void 0;\nvar compatibilityParams = Object.create(null);\n{\n var userAgent = typeof navigator !== \"undefined\" && navigator.userAgent || \"\";\n var platform = typeof navigator !== \"undefined\" && navigator.platform || \"\";\n var maxTouchPoints = typeof navigator !== \"undefined\" && navigator.maxTouchPoints || 1;\n var isAndroid = /Android/.test(userAgent);\n var isIE = /Trident/.test(userAgent);\n var isIOS = /\\b(iPad|iPhone|iPod)(?=;)/.test(userAgent) || platform === \"MacIntel\" && maxTouchPoints > 1;\n var isIOSChrome = /CriOS/.test(userAgent);\n\n (function checkOnBlobSupport() {\n if (isIE || isIOSChrome) {\n compatibilityParams.disableCreateObjectURL = true;\n }\n })();\n\n (function checkCanvasSizeLimitation() {\n if (isIOS || isAndroid) {\n compatibilityParams.maxCanvasPixels = 5242880;\n }\n })();\n}\nvar viewerCompatibilityParams = Object.freeze(compatibilityParams);\nexports.viewerCompatibilityParams = viewerCompatibilityParams;\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.GenericL10n = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(4));\n\n__w_pdfjs_require__(12);\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 webL10n = document.webL10n;\n\nvar GenericL10n = /*#__PURE__*/function () {\n function GenericL10n(lang) {\n _classCallCheck(this, GenericL10n);\n\n this._lang = lang;\n this._ready = new Promise(function (resolve, reject) {\n webL10n.setLanguage(lang, function () {\n resolve(webL10n);\n });\n });\n }\n\n _createClass(GenericL10n, [{\n key: \"getLanguage\",\n value: function () {\n var _getLanguage = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee() {\n var l10n;\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._ready;\n\n case 2:\n l10n = _context.sent;\n return _context.abrupt(\"return\", l10n.getLanguage());\n\n case 4:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function getLanguage() {\n return _getLanguage.apply(this, arguments);\n }\n\n return getLanguage;\n }()\n }, {\n key: \"getDirection\",\n value: function () {\n var _getDirection = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2() {\n var l10n;\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._ready;\n\n case 2:\n l10n = _context2.sent;\n return _context2.abrupt(\"return\", l10n.getDirection());\n\n case 4:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function getDirection() {\n return _getDirection.apply(this, arguments);\n }\n\n return getDirection;\n }()\n }, {\n key: \"get\",\n value: function () {\n var _get = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee3(property, args, fallback) {\n var l10n;\n return _regenerator[\"default\"].wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n _context3.next = 2;\n return this._ready;\n\n case 2:\n l10n = _context3.sent;\n return _context3.abrupt(\"return\", l10n.get(property, args, fallback));\n\n case 4:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3, this);\n }));\n\n function get(_x, _x2, _x3) {\n return _get.apply(this, arguments);\n }\n\n return get;\n }()\n }, {\n key: \"translate\",\n value: function () {\n var _translate = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee4(element) {\n var l10n;\n return _regenerator[\"default\"].wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n _context4.next = 2;\n return this._ready;\n\n case 2:\n l10n = _context4.sent;\n return _context4.abrupt(\"return\", l10n.translate(element));\n\n case 4:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4, this);\n }));\n\n function translate(_x4) {\n return _translate.apply(this, arguments);\n }\n\n return translate;\n }()\n }]);\n\n return GenericL10n;\n}();\n\nexports.GenericL10n = GenericL10n;\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\ndocument.webL10n = function (window, document, undefined) {\n var gL10nData = {};\n var gTextData = '';\n var gTextProp = 'textContent';\n var gLanguage = '';\n var gMacros = {};\n var gReadyState = 'loading';\n var gAsyncResourceLoading = true;\n\n function getL10nResourceLinks() {\n return document.querySelectorAll('link[type=\"application/l10n\"]');\n }\n\n function getL10nDictionary() {\n var script = document.querySelector('script[type=\"application/l10n\"]');\n return script ? JSON.parse(script.innerHTML) : null;\n }\n\n function getTranslatableChildren(element) {\n return element ? element.querySelectorAll('*[data-l10n-id]') : [];\n }\n\n function getL10nAttributes(element) {\n if (!element) return {};\n var l10nId = element.getAttribute('data-l10n-id');\n var l10nArgs = element.getAttribute('data-l10n-args');\n var args = {};\n\n if (l10nArgs) {\n try {\n args = JSON.parse(l10nArgs);\n } catch (e) {\n console.warn('could not parse arguments for #' + l10nId);\n }\n }\n\n return {\n id: l10nId,\n args: args\n };\n }\n\n function xhrLoadText(url, onSuccess, onFailure) {\n onSuccess = onSuccess || function _onSuccess(data) {};\n\n onFailure = onFailure || function _onFailure() {};\n\n var xhr = new XMLHttpRequest();\n xhr.open('GET', url, gAsyncResourceLoading);\n\n if (xhr.overrideMimeType) {\n xhr.overrideMimeType('text/plain; charset=utf-8');\n }\n\n xhr.onreadystatechange = function () {\n if (xhr.readyState == 4) {\n if (xhr.status == 200 || xhr.status === 0) {\n onSuccess(xhr.responseText);\n } else {\n onFailure();\n }\n }\n };\n\n xhr.onerror = onFailure;\n xhr.ontimeout = onFailure;\n\n try {\n xhr.send(null);\n } catch (e) {\n onFailure();\n }\n }\n\n function parseResource(href, lang, successCallback, failureCallback) {\n var baseURL = href.replace(/[^\\/]*$/, '') || './';\n\n function evalString(text) {\n if (text.lastIndexOf('\\\\') < 0) return text;\n return text.replace(/\\\\\\\\/g, '\\\\').replace(/\\\\n/g, '\\n').replace(/\\\\r/g, '\\r').replace(/\\\\t/g, '\\t').replace(/\\\\b/g, '\\b').replace(/\\\\f/g, '\\f').replace(/\\\\{/g, '{').replace(/\\\\}/g, '}').replace(/\\\\\"/g, '\"').replace(/\\\\'/g, \"'\");\n }\n\n function parseProperties(text, parsedPropertiesCallback) {\n var dictionary = {};\n var reBlank = /^\\s*|\\s*$/;\n var reComment = /^\\s*#|^\\s*$/;\n var reSection = /^\\s*\\[(.*)\\]\\s*$/;\n var reImport = /^\\s*@import\\s+url\\((.*)\\)\\s*$/i;\n var reSplit = /^([^=\\s]*)\\s*=\\s*(.+)$/;\n\n function parseRawLines(rawText, extendedSyntax, parsedRawLinesCallback) {\n var entries = rawText.replace(reBlank, '').split(/[\\r\\n]+/);\n var currentLang = '*';\n var genericLang = lang.split('-', 1)[0];\n var skipLang = false;\n var match = '';\n\n function nextEntry() {\n while (true) {\n if (!entries.length) {\n parsedRawLinesCallback();\n return;\n }\n\n var line = entries.shift();\n if (reComment.test(line)) continue;\n\n if (extendedSyntax) {\n match = reSection.exec(line);\n\n if (match) {\n currentLang = match[1].toLowerCase();\n skipLang = currentLang !== '*' && currentLang !== lang && currentLang !== genericLang;\n continue;\n } else if (skipLang) {\n continue;\n }\n\n match = reImport.exec(line);\n\n if (match) {\n loadImport(baseURL + match[1], nextEntry);\n return;\n }\n }\n\n var tmp = line.match(reSplit);\n\n if (tmp && tmp.length == 3) {\n dictionary[tmp[1]] = evalString(tmp[2]);\n }\n }\n }\n\n nextEntry();\n }\n\n function loadImport(url, callback) {\n xhrLoadText(url, function (content) {\n parseRawLines(content, false, callback);\n }, function () {\n console.warn(url + ' not found.');\n callback();\n });\n }\n\n parseRawLines(text, true, function () {\n parsedPropertiesCallback(dictionary);\n });\n }\n\n xhrLoadText(href, function (response) {\n gTextData += response;\n parseProperties(response, function (data) {\n for (var key in data) {\n var id,\n prop,\n index = key.lastIndexOf('.');\n\n if (index > 0) {\n id = key.substring(0, index);\n prop = key.substring(index + 1);\n } else {\n id = key;\n prop = gTextProp;\n }\n\n if (!gL10nData[id]) {\n gL10nData[id] = {};\n }\n\n gL10nData[id][prop] = data[key];\n }\n\n if (successCallback) {\n successCallback();\n }\n });\n }, failureCallback);\n }\n\n function loadLocale(lang, callback) {\n if (lang) {\n lang = lang.toLowerCase();\n }\n\n callback = callback || function _callback() {};\n\n clear();\n gLanguage = lang;\n var langLinks = getL10nResourceLinks();\n var langCount = langLinks.length;\n\n if (langCount === 0) {\n var dict = getL10nDictionary();\n\n if (dict && dict.locales && dict.default_locale) {\n console.log('using the embedded JSON directory, early way out');\n gL10nData = dict.locales[lang];\n\n if (!gL10nData) {\n var defaultLocale = dict.default_locale.toLowerCase();\n\n for (var anyCaseLang in dict.locales) {\n anyCaseLang = anyCaseLang.toLowerCase();\n\n if (anyCaseLang === lang) {\n gL10nData = dict.locales[lang];\n break;\n } else if (anyCaseLang === defaultLocale) {\n gL10nData = dict.locales[defaultLocale];\n }\n }\n }\n\n callback();\n } else {\n console.log('no resource to load, early way out');\n }\n\n gReadyState = 'complete';\n return;\n }\n\n var onResourceLoaded = null;\n var gResourceCount = 0;\n\n onResourceLoaded = function onResourceLoaded() {\n gResourceCount++;\n\n if (gResourceCount >= langCount) {\n callback();\n gReadyState = 'complete';\n }\n };\n\n function L10nResourceLink(link) {\n var href = link.href;\n\n this.load = function (lang, callback) {\n parseResource(href, lang, callback, function () {\n console.warn(href + ' not found.');\n console.warn('\"' + lang + '\" resource not found');\n gLanguage = '';\n callback();\n });\n };\n }\n\n for (var i = 0; i < langCount; i++) {\n var resource = new L10nResourceLink(langLinks[i]);\n resource.load(lang, onResourceLoaded);\n }\n }\n\n function clear() {\n gL10nData = {};\n gTextData = '';\n gLanguage = '';\n }\n\n function getPluralRules(lang) {\n var locales2rules = {\n 'af': 3,\n 'ak': 4,\n 'am': 4,\n 'ar': 1,\n 'asa': 3,\n 'az': 0,\n 'be': 11,\n 'bem': 3,\n 'bez': 3,\n 'bg': 3,\n 'bh': 4,\n 'bm': 0,\n 'bn': 3,\n 'bo': 0,\n 'br': 20,\n 'brx': 3,\n 'bs': 11,\n 'ca': 3,\n 'cgg': 3,\n 'chr': 3,\n 'cs': 12,\n 'cy': 17,\n 'da': 3,\n 'de': 3,\n 'dv': 3,\n 'dz': 0,\n 'ee': 3,\n 'el': 3,\n 'en': 3,\n 'eo': 3,\n 'es': 3,\n 'et': 3,\n 'eu': 3,\n 'fa': 0,\n 'ff': 5,\n 'fi': 3,\n 'fil': 4,\n 'fo': 3,\n 'fr': 5,\n 'fur': 3,\n 'fy': 3,\n 'ga': 8,\n 'gd': 24,\n 'gl': 3,\n 'gsw': 3,\n 'gu': 3,\n 'guw': 4,\n 'gv': 23,\n 'ha': 3,\n 'haw': 3,\n 'he': 2,\n 'hi': 4,\n 'hr': 11,\n 'hu': 0,\n 'id': 0,\n 'ig': 0,\n 'ii': 0,\n 'is': 3,\n 'it': 3,\n 'iu': 7,\n 'ja': 0,\n 'jmc': 3,\n 'jv': 0,\n 'ka': 0,\n 'kab': 5,\n 'kaj': 3,\n 'kcg': 3,\n 'kde': 0,\n 'kea': 0,\n 'kk': 3,\n 'kl': 3,\n 'km': 0,\n 'kn': 0,\n 'ko': 0,\n 'ksb': 3,\n 'ksh': 21,\n 'ku': 3,\n 'kw': 7,\n 'lag': 18,\n 'lb': 3,\n 'lg': 3,\n 'ln': 4,\n 'lo': 0,\n 'lt': 10,\n 'lv': 6,\n 'mas': 3,\n 'mg': 4,\n 'mk': 16,\n 'ml': 3,\n 'mn': 3,\n 'mo': 9,\n 'mr': 3,\n 'ms': 0,\n 'mt': 15,\n 'my': 0,\n 'nah': 3,\n 'naq': 7,\n 'nb': 3,\n 'nd': 3,\n 'ne': 3,\n 'nl': 3,\n 'nn': 3,\n 'no': 3,\n 'nr': 3,\n 'nso': 4,\n 'ny': 3,\n 'nyn': 3,\n 'om': 3,\n 'or': 3,\n 'pa': 3,\n 'pap': 3,\n 'pl': 13,\n 'ps': 3,\n 'pt': 3,\n 'rm': 3,\n 'ro': 9,\n 'rof': 3,\n 'ru': 11,\n 'rwk': 3,\n 'sah': 0,\n 'saq': 3,\n 'se': 7,\n 'seh': 3,\n 'ses': 0,\n 'sg': 0,\n 'sh': 11,\n 'shi': 19,\n 'sk': 12,\n 'sl': 14,\n 'sma': 7,\n 'smi': 7,\n 'smj': 7,\n 'smn': 7,\n 'sms': 7,\n 'sn': 3,\n 'so': 3,\n 'sq': 3,\n 'sr': 11,\n 'ss': 3,\n 'ssy': 3,\n 'st': 3,\n 'sv': 3,\n 'sw': 3,\n 'syr': 3,\n 'ta': 3,\n 'te': 3,\n 'teo': 3,\n 'th': 0,\n 'ti': 4,\n 'tig': 3,\n 'tk': 3,\n 'tl': 4,\n 'tn': 3,\n 'to': 0,\n 'tr': 0,\n 'ts': 3,\n 'tzm': 22,\n 'uk': 11,\n 'ur': 3,\n 've': 3,\n 'vi': 0,\n 'vun': 3,\n 'wa': 4,\n 'wae': 3,\n 'wo': 0,\n 'xh': 3,\n 'xog': 3,\n 'yo': 0,\n 'zh': 0,\n 'zu': 3\n };\n\n function isIn(n, list) {\n return list.indexOf(n) !== -1;\n }\n\n function isBetween(n, start, end) {\n return start <= n && n <= end;\n }\n\n var pluralRules = {\n '0': function _(n) {\n return 'other';\n },\n '1': function _(n) {\n if (isBetween(n % 100, 3, 10)) return 'few';\n if (n === 0) return 'zero';\n if (isBetween(n % 100, 11, 99)) return 'many';\n if (n == 2) return 'two';\n if (n == 1) return 'one';\n return 'other';\n },\n '2': function _(n) {\n if (n !== 0 && n % 10 === 0) return 'many';\n if (n == 2) return 'two';\n if (n == 1) return 'one';\n return 'other';\n },\n '3': function _(n) {\n if (n == 1) return 'one';\n return 'other';\n },\n '4': function _(n) {\n if (isBetween(n, 0, 1)) return 'one';\n return 'other';\n },\n '5': function _(n) {\n if (isBetween(n, 0, 2) && n != 2) return 'one';\n return 'other';\n },\n '6': function _(n) {\n if (n === 0) return 'zero';\n if (n % 10 == 1 && n % 100 != 11) return 'one';\n return 'other';\n },\n '7': function _(n) {\n if (n == 2) return 'two';\n if (n == 1) return 'one';\n return 'other';\n },\n '8': function _(n) {\n if (isBetween(n, 3, 6)) return 'few';\n if (isBetween(n, 7, 10)) return 'many';\n if (n == 2) return 'two';\n if (n == 1) return 'one';\n return 'other';\n },\n '9': function _(n) {\n if (n === 0 || n != 1 && isBetween(n % 100, 1, 19)) return 'few';\n if (n == 1) return 'one';\n return 'other';\n },\n '10': function _(n) {\n if (isBetween(n % 10, 2, 9) && !isBetween(n % 100, 11, 19)) return 'few';\n if (n % 10 == 1 && !isBetween(n % 100, 11, 19)) return 'one';\n return 'other';\n },\n '11': function _(n) {\n if (isBetween(n % 10, 2, 4) && !isBetween(n % 100, 12, 14)) return 'few';\n if (n % 10 === 0 || isBetween(n % 10, 5, 9) || isBetween(n % 100, 11, 14)) return 'many';\n if (n % 10 == 1 && n % 100 != 11) return 'one';\n return 'other';\n },\n '12': function _(n) {\n if (isBetween(n, 2, 4)) return 'few';\n if (n == 1) return 'one';\n return 'other';\n },\n '13': function _(n) {\n if (isBetween(n % 10, 2, 4) && !isBetween(n % 100, 12, 14)) return 'few';\n if (n != 1 && isBetween(n % 10, 0, 1) || isBetween(n % 10, 5, 9) || isBetween(n % 100, 12, 14)) return 'many';\n if (n == 1) return 'one';\n return 'other';\n },\n '14': function _(n) {\n if (isBetween(n % 100, 3, 4)) return 'few';\n if (n % 100 == 2) return 'two';\n if (n % 100 == 1) return 'one';\n return 'other';\n },\n '15': function _(n) {\n if (n === 0 || isBetween(n % 100, 2, 10)) return 'few';\n if (isBetween(n % 100, 11, 19)) return 'many';\n if (n == 1) return 'one';\n return 'other';\n },\n '16': function _(n) {\n if (n % 10 == 1 && n != 11) return 'one';\n return 'other';\n },\n '17': function _(n) {\n if (n == 3) return 'few';\n if (n === 0) return 'zero';\n if (n == 6) return 'many';\n if (n == 2) return 'two';\n if (n == 1) return 'one';\n return 'other';\n },\n '18': function _(n) {\n if (n === 0) return 'zero';\n if (isBetween(n, 0, 2) && n !== 0 && n != 2) return 'one';\n return 'other';\n },\n '19': function _(n) {\n if (isBetween(n, 2, 10)) return 'few';\n if (isBetween(n, 0, 1)) return 'one';\n return 'other';\n },\n '20': function _(n) {\n if ((isBetween(n % 10, 3, 4) || n % 10 == 9) && !(isBetween(n % 100, 10, 19) || isBetween(n % 100, 70, 79) || isBetween(n % 100, 90, 99))) return 'few';\n if (n % 1000000 === 0 && n !== 0) return 'many';\n if (n % 10 == 2 && !isIn(n % 100, [12, 72, 92])) return 'two';\n if (n % 10 == 1 && !isIn(n % 100, [11, 71, 91])) return 'one';\n return 'other';\n },\n '21': function _(n) {\n if (n === 0) return 'zero';\n if (n == 1) return 'one';\n return 'other';\n },\n '22': function _(n) {\n if (isBetween(n, 0, 1) || isBetween(n, 11, 99)) return 'one';\n return 'other';\n },\n '23': function _(n) {\n if (isBetween(n % 10, 1, 2) || n % 20 === 0) return 'one';\n return 'other';\n },\n '24': function _(n) {\n if (isBetween(n, 3, 10) || isBetween(n, 13, 19)) return 'few';\n if (isIn(n, [2, 12])) return 'two';\n if (isIn(n, [1, 11])) return 'one';\n return 'other';\n }\n };\n var index = locales2rules[lang.replace(/-.*$/, '')];\n\n if (!(index in pluralRules)) {\n console.warn('plural form unknown for [' + lang + ']');\n return function () {\n return 'other';\n };\n }\n\n return pluralRules[index];\n }\n\n gMacros.plural = function (str, param, key, prop) {\n var n = parseFloat(param);\n if (isNaN(n)) return str;\n if (prop != gTextProp) return str;\n\n if (!gMacros._pluralRules) {\n gMacros._pluralRules = getPluralRules(gLanguage);\n }\n\n var index = '[' + gMacros._pluralRules(n) + ']';\n\n if (n === 0 && key + '[zero]' in gL10nData) {\n str = gL10nData[key + '[zero]'][prop];\n } else if (n == 1 && key + '[one]' in gL10nData) {\n str = gL10nData[key + '[one]'][prop];\n } else if (n == 2 && key + '[two]' in gL10nData) {\n str = gL10nData[key + '[two]'][prop];\n } else if (key + index in gL10nData) {\n str = gL10nData[key + index][prop];\n } else if (key + '[other]' in gL10nData) {\n str = gL10nData[key + '[other]'][prop];\n }\n\n return str;\n };\n\n function getL10nData(key, args, fallback) {\n var data = gL10nData[key];\n\n if (!data) {\n console.warn('#' + key + ' is undefined.');\n\n if (!fallback) {\n return null;\n }\n\n data = fallback;\n }\n\n var rv = {};\n\n for (var prop in data) {\n var str = data[prop];\n str = substIndexes(str, args, key, prop);\n str = substArguments(str, args, key);\n rv[prop] = str;\n }\n\n return rv;\n }\n\n function substIndexes(str, args, key, prop) {\n var reIndex = /\\{\\[\\s*([a-zA-Z]+)\\(([a-zA-Z]+)\\)\\s*\\]\\}/;\n var reMatch = reIndex.exec(str);\n if (!reMatch || !reMatch.length) return str;\n var macroName = reMatch[1];\n var paramName = reMatch[2];\n var param;\n\n if (args && paramName in args) {\n param = args[paramName];\n } else if (paramName in gL10nData) {\n param = gL10nData[paramName];\n }\n\n if (macroName in gMacros) {\n var macro = gMacros[macroName];\n str = macro(str, param, key, prop);\n }\n\n return str;\n }\n\n function substArguments(str, args, key) {\n var reArgs = /\\{\\{\\s*(.+?)\\s*\\}\\}/g;\n return str.replace(reArgs, function (matched_text, arg) {\n if (args && arg in args) {\n return args[arg];\n }\n\n if (arg in gL10nData) {\n return gL10nData[arg];\n }\n\n console.log('argument {{' + arg + '}} for #' + key + ' is undefined.');\n return matched_text;\n });\n }\n\n function translateElement(element) {\n var l10n = getL10nAttributes(element);\n if (!l10n.id) return;\n var data = getL10nData(l10n.id, l10n.args);\n\n if (!data) {\n console.warn('#' + l10n.id + ' is undefined.');\n return;\n }\n\n if (data[gTextProp]) {\n if (getChildElementCount(element) === 0) {\n element[gTextProp] = data[gTextProp];\n } else {\n var children = element.childNodes;\n var found = false;\n\n for (var i = 0, l = children.length; i < l; i++) {\n if (children[i].nodeType === 3 && /\\S/.test(children[i].nodeValue)) {\n if (found) {\n children[i].nodeValue = '';\n } else {\n children[i].nodeValue = data[gTextProp];\n found = true;\n }\n }\n }\n\n if (!found) {\n var textNode = document.createTextNode(data[gTextProp]);\n element.insertBefore(textNode, element.firstChild);\n }\n }\n\n delete data[gTextProp];\n }\n\n for (var k in data) {\n element[k] = data[k];\n }\n }\n\n function getChildElementCount(element) {\n if (element.children) {\n return element.children.length;\n }\n\n if (typeof element.childElementCount !== 'undefined') {\n return element.childElementCount;\n }\n\n var count = 0;\n\n for (var i = 0; i < element.childNodes.length; i++) {\n count += element.nodeType === 1 ? 1 : 0;\n }\n\n return count;\n }\n\n function translateFragment(element) {\n element = element || document.documentElement;\n var children = getTranslatableChildren(element);\n var elementCount = children.length;\n\n for (var i = 0; i < elementCount; i++) {\n translateElement(children[i]);\n }\n\n translateElement(element);\n }\n\n return {\n get: function get(key, args, fallbackString) {\n var index = key.lastIndexOf('.');\n var prop = gTextProp;\n\n if (index > 0) {\n prop = key.substring(index + 1);\n key = key.substring(0, index);\n }\n\n var fallback;\n\n if (fallbackString) {\n fallback = {};\n fallback[prop] = fallbackString;\n }\n\n var data = getL10nData(key, args, fallback);\n\n if (data && prop in data) {\n return data[prop];\n }\n\n return '{{' + key + '}}';\n },\n getData: function getData() {\n return gL10nData;\n },\n getText: function getText() {\n return gTextData;\n },\n getLanguage: function getLanguage() {\n return gLanguage;\n },\n setLanguage: function setLanguage(lang, callback) {\n loadLocale(lang, function () {\n if (callback) callback();\n });\n },\n getDirection: function getDirection() {\n var rtlList = ['ar', 'he', 'fa', 'ps', 'ur'];\n var shortCode = gLanguage.split('-', 1)[0];\n return rtlList.indexOf(shortCode) >= 0 ? 'rtl' : 'ltr';\n },\n translate: translateFragment,\n getReadyState: function getReadyState() {\n return gReadyState;\n },\n ready: function ready(callback) {\n if (!callback) {\n return;\n } else if (gReadyState == 'complete' || gReadyState == 'interactive') {\n window.setTimeout(function () {\n callback();\n });\n } else if (document.addEventListener) {\n document.addEventListener('localized', function once() {\n document.removeEventListener('localized', once);\n callback();\n });\n }\n }\n };\n}(window, document);\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFFindController = exports.FindState = void 0;\n\nvar _pdfjsLib = __w_pdfjs_require__(2);\n\nvar _pdf_find_utils = __w_pdfjs_require__(14);\n\nvar _ui_utils = __w_pdfjs_require__(3);\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 FindState = {\n FOUND: 0,\n NOT_FOUND: 1,\n WRAPPED: 2,\n PENDING: 3\n};\nexports.FindState = FindState;\nvar FIND_TIMEOUT = 250;\nvar MATCH_SCROLL_OFFSET_TOP = -50;\nvar MATCH_SCROLL_OFFSET_LEFT = -400;\nvar CHARACTERS_TO_NORMALIZE = {\n \"\\u2018\": \"'\",\n \"\\u2019\": \"'\",\n \"\\u201A\": \"'\",\n \"\\u201B\": \"'\",\n \"\\u201C\": '\"',\n \"\\u201D\": '\"',\n \"\\u201E\": '\"',\n \"\\u201F\": '\"',\n \"\\xBC\": \"1/4\",\n \"\\xBD\": \"1/2\",\n \"\\xBE\": \"3/4\"\n};\nvar normalizationRegex = null;\n\nfunction normalize(text) {\n if (!normalizationRegex) {\n var replace = Object.keys(CHARACTERS_TO_NORMALIZE).join(\"\");\n normalizationRegex = new RegExp(\"[\".concat(replace, \"]\"), \"g\");\n }\n\n return text.replace(normalizationRegex, function (ch) {\n return CHARACTERS_TO_NORMALIZE[ch];\n });\n}\n\nvar PDFFindController = /*#__PURE__*/function () {\n function PDFFindController(_ref) {\n var linkService = _ref.linkService,\n eventBus = _ref.eventBus;\n\n _classCallCheck(this, PDFFindController);\n\n this._linkService = linkService;\n this._eventBus = eventBus;\n\n this._reset();\n\n eventBus._on(\"findbarclose\", this._onFindBarClose.bind(this));\n }\n\n _createClass(PDFFindController, [{\n key: \"setDocument\",\n value: function setDocument(pdfDocument) {\n if (this._pdfDocument) {\n this._reset();\n }\n\n if (!pdfDocument) {\n return;\n }\n\n this._pdfDocument = pdfDocument;\n\n this._firstPageCapability.resolve();\n }\n }, {\n key: \"executeCommand\",\n value: function executeCommand(cmd, state) {\n var _this = this;\n\n if (!state) {\n return;\n }\n\n var pdfDocument = this._pdfDocument;\n\n if (this._state === null || this._shouldDirtyMatch(cmd, state)) {\n this._dirtyMatch = true;\n }\n\n this._state = state;\n\n if (cmd !== \"findhighlightallchange\") {\n this._updateUIState(FindState.PENDING);\n }\n\n this._firstPageCapability.promise.then(function () {\n if (!_this._pdfDocument || pdfDocument && _this._pdfDocument !== pdfDocument) {\n return;\n }\n\n _this._extractText();\n\n var findbarClosed = !_this._highlightMatches;\n var pendingTimeout = !!_this._findTimeout;\n\n if (_this._findTimeout) {\n clearTimeout(_this._findTimeout);\n _this._findTimeout = null;\n }\n\n if (cmd === \"find\") {\n _this._findTimeout = setTimeout(function () {\n _this._nextMatch();\n\n _this._findTimeout = null;\n }, FIND_TIMEOUT);\n } else if (_this._dirtyMatch) {\n _this._nextMatch();\n } else if (cmd === \"findagain\") {\n _this._nextMatch();\n\n if (findbarClosed && _this._state.highlightAll) {\n _this._updateAllPages();\n }\n } else if (cmd === \"findhighlightallchange\") {\n if (pendingTimeout) {\n _this._nextMatch();\n } else {\n _this._highlightMatches = true;\n }\n\n _this._updateAllPages();\n } else {\n _this._nextMatch();\n }\n });\n }\n }, {\n key: \"scrollMatchIntoView\",\n value: function scrollMatchIntoView(_ref2) {\n var _ref2$element = _ref2.element,\n element = _ref2$element === void 0 ? null : _ref2$element,\n _ref2$pageIndex = _ref2.pageIndex,\n pageIndex = _ref2$pageIndex === void 0 ? -1 : _ref2$pageIndex,\n _ref2$matchIndex = _ref2.matchIndex,\n matchIndex = _ref2$matchIndex === void 0 ? -1 : _ref2$matchIndex;\n\n if (!this._scrollMatches || !element) {\n return;\n } else if (matchIndex === -1 || matchIndex !== this._selected.matchIdx) {\n return;\n } else if (pageIndex === -1 || pageIndex !== this._selected.pageIdx) {\n return;\n }\n\n this._scrollMatches = false;\n var spot = {\n top: MATCH_SCROLL_OFFSET_TOP,\n left: MATCH_SCROLL_OFFSET_LEFT\n };\n (0, _ui_utils.scrollIntoView)(element, spot, true);\n }\n }, {\n key: \"_reset\",\n value: function _reset() {\n this._highlightMatches = false;\n this._scrollMatches = false;\n this._pdfDocument = null;\n this._pageMatches = [];\n this._pageMatchesLength = [];\n this._state = null;\n this._selected = {\n pageIdx: -1,\n matchIdx: -1\n };\n this._offset = {\n pageIdx: null,\n matchIdx: null,\n wrapped: false\n };\n this._extractTextPromises = [];\n this._pageContents = [];\n this._matchesCountTotal = 0;\n this._pagesToSearch = null;\n this._pendingFindMatches = Object.create(null);\n this._resumePageIdx = null;\n this._dirtyMatch = false;\n clearTimeout(this._findTimeout);\n this._findTimeout = null;\n this._firstPageCapability = (0, _pdfjsLib.createPromiseCapability)();\n }\n }, {\n key: \"_shouldDirtyMatch\",\n value: function _shouldDirtyMatch(cmd, state) {\n if (state.query !== this._state.query) {\n return true;\n }\n\n switch (cmd) {\n case \"findagain\":\n var pageNumber = this._selected.pageIdx + 1;\n var linkService = this._linkService;\n\n if (pageNumber >= 1 && pageNumber <= linkService.pagesCount && pageNumber !== linkService.page && !linkService.isPageVisible(pageNumber)) {\n return true;\n }\n\n return false;\n\n case \"findhighlightallchange\":\n return false;\n }\n\n return true;\n }\n }, {\n key: \"_prepareMatches\",\n value: function _prepareMatches(matchesWithLength, matches, matchesLength) {\n function isSubTerm(currentIndex) {\n var currentElem = matchesWithLength[currentIndex];\n var nextElem = matchesWithLength[currentIndex + 1];\n\n if (currentIndex < matchesWithLength.length - 1 && currentElem.match === nextElem.match) {\n currentElem.skipped = true;\n return true;\n }\n\n for (var i = currentIndex - 1; i >= 0; i--) {\n var prevElem = matchesWithLength[i];\n\n if (prevElem.skipped) {\n continue;\n }\n\n if (prevElem.match + prevElem.matchLength < currentElem.match) {\n break;\n }\n\n if (prevElem.match + prevElem.matchLength >= currentElem.match + currentElem.matchLength) {\n currentElem.skipped = true;\n return true;\n }\n }\n\n return false;\n }\n\n matchesWithLength.sort(function (a, b) {\n return a.match === b.match ? a.matchLength - b.matchLength : a.match - b.match;\n });\n\n for (var i = 0, len = matchesWithLength.length; i < len; i++) {\n if (isSubTerm(i)) {\n continue;\n }\n\n matches.push(matchesWithLength[i].match);\n matchesLength.push(matchesWithLength[i].matchLength);\n }\n }\n }, {\n key: \"_isEntireWord\",\n value: function _isEntireWord(content, startIdx, length) {\n if (startIdx > 0) {\n var first = content.charCodeAt(startIdx);\n var limit = content.charCodeAt(startIdx - 1);\n\n if ((0, _pdf_find_utils.getCharacterType)(first) === (0, _pdf_find_utils.getCharacterType)(limit)) {\n return false;\n }\n }\n\n var endIdx = startIdx + length - 1;\n\n if (endIdx < content.length - 1) {\n var last = content.charCodeAt(endIdx);\n\n var _limit = content.charCodeAt(endIdx + 1);\n\n if ((0, _pdf_find_utils.getCharacterType)(last) === (0, _pdf_find_utils.getCharacterType)(_limit)) {\n return false;\n }\n }\n\n return true;\n }\n }, {\n key: \"_calculatePhraseMatch\",\n value: function _calculatePhraseMatch(query, pageIndex, pageContent, entireWord) {\n var matches = [];\n var queryLen = query.length;\n var matchIdx = -queryLen;\n\n while (true) {\n matchIdx = pageContent.indexOf(query, matchIdx + queryLen);\n\n if (matchIdx === -1) {\n break;\n }\n\n if (entireWord && !this._isEntireWord(pageContent, matchIdx, queryLen)) {\n continue;\n }\n\n matches.push(matchIdx);\n }\n\n this._pageMatches[pageIndex] = matches;\n }\n }, {\n key: \"_calculateWordMatch\",\n value: function _calculateWordMatch(query, pageIndex, pageContent, entireWord) {\n var matchesWithLength = [];\n var queryArray = query.match(/\\S+/g);\n\n for (var i = 0, len = queryArray.length; i < len; i++) {\n var subquery = queryArray[i];\n var subqueryLen = subquery.length;\n var matchIdx = -subqueryLen;\n\n while (true) {\n matchIdx = pageContent.indexOf(subquery, matchIdx + subqueryLen);\n\n if (matchIdx === -1) {\n break;\n }\n\n if (entireWord && !this._isEntireWord(pageContent, matchIdx, subqueryLen)) {\n continue;\n }\n\n matchesWithLength.push({\n match: matchIdx,\n matchLength: subqueryLen,\n skipped: false\n });\n }\n }\n\n this._pageMatchesLength[pageIndex] = [];\n this._pageMatches[pageIndex] = [];\n\n this._prepareMatches(matchesWithLength, this._pageMatches[pageIndex], this._pageMatchesLength[pageIndex]);\n }\n }, {\n key: \"_calculateMatch\",\n value: function _calculateMatch(pageIndex) {\n var pageContent = this._pageContents[pageIndex];\n var query = this._query;\n var _this$_state = this._state,\n caseSensitive = _this$_state.caseSensitive,\n entireWord = _this$_state.entireWord,\n phraseSearch = _this$_state.phraseSearch;\n\n if (query.length === 0) {\n return;\n }\n\n if (!caseSensitive) {\n pageContent = pageContent.toLowerCase();\n query = query.toLowerCase();\n }\n\n if (phraseSearch) {\n this._calculatePhraseMatch(query, pageIndex, pageContent, entireWord);\n } else {\n this._calculateWordMatch(query, pageIndex, pageContent, entireWord);\n }\n\n if (this._state.highlightAll) {\n this._updatePage(pageIndex);\n }\n\n if (this._resumePageIdx === pageIndex) {\n this._resumePageIdx = null;\n\n this._nextPageMatch();\n }\n\n var pageMatchesCount = this._pageMatches[pageIndex].length;\n\n if (pageMatchesCount > 0) {\n this._matchesCountTotal += pageMatchesCount;\n\n this._updateUIResultsCount();\n }\n }\n }, {\n key: \"_extractText\",\n value: function _extractText() {\n var _this2 = this;\n\n if (this._extractTextPromises.length > 0) {\n return;\n }\n\n var promise = Promise.resolve();\n\n var _loop = function _loop(i, ii) {\n var extractTextCapability = (0, _pdfjsLib.createPromiseCapability)();\n _this2._extractTextPromises[i] = extractTextCapability.promise;\n promise = promise.then(function () {\n return _this2._pdfDocument.getPage(i + 1).then(function (pdfPage) {\n return pdfPage.getTextContent({\n normalizeWhitespace: true\n });\n }).then(function (textContent) {\n var textItems = textContent.items;\n var strBuf = [];\n\n for (var j = 0, jj = textItems.length; j < jj; j++) {\n strBuf.push(textItems[j].str);\n }\n\n _this2._pageContents[i] = normalize(strBuf.join(\"\"));\n extractTextCapability.resolve(i);\n }, function (reason) {\n console.error(\"Unable to get text content for page \".concat(i + 1), reason);\n _this2._pageContents[i] = \"\";\n extractTextCapability.resolve(i);\n });\n });\n };\n\n for (var i = 0, ii = this._linkService.pagesCount; i < ii; i++) {\n _loop(i, ii);\n }\n }\n }, {\n key: \"_updatePage\",\n value: function _updatePage(index) {\n if (this._scrollMatches && this._selected.pageIdx === index) {\n this._linkService.page = index + 1;\n }\n\n this._eventBus.dispatch(\"updatetextlayermatches\", {\n source: this,\n pageIndex: index\n });\n }\n }, {\n key: \"_updateAllPages\",\n value: function _updateAllPages() {\n this._eventBus.dispatch(\"updatetextlayermatches\", {\n source: this,\n pageIndex: -1\n });\n }\n }, {\n key: \"_nextMatch\",\n value: function _nextMatch() {\n var _this3 = this;\n\n var previous = this._state.findPrevious;\n var currentPageIndex = this._linkService.page - 1;\n var numPages = this._linkService.pagesCount;\n this._highlightMatches = true;\n\n if (this._dirtyMatch) {\n this._dirtyMatch = false;\n this._selected.pageIdx = this._selected.matchIdx = -1;\n this._offset.pageIdx = currentPageIndex;\n this._offset.matchIdx = null;\n this._offset.wrapped = false;\n this._resumePageIdx = null;\n this._pageMatches.length = 0;\n this._pageMatchesLength.length = 0;\n this._matchesCountTotal = 0;\n\n this._updateAllPages();\n\n for (var i = 0; i < numPages; i++) {\n if (this._pendingFindMatches[i] === true) {\n continue;\n }\n\n this._pendingFindMatches[i] = true;\n\n this._extractTextPromises[i].then(function (pageIdx) {\n delete _this3._pendingFindMatches[pageIdx];\n\n _this3._calculateMatch(pageIdx);\n });\n }\n }\n\n if (this._query === \"\") {\n this._updateUIState(FindState.FOUND);\n\n return;\n }\n\n if (this._resumePageIdx) {\n return;\n }\n\n var offset = this._offset;\n this._pagesToSearch = numPages;\n\n if (offset.matchIdx !== null) {\n var numPageMatches = this._pageMatches[offset.pageIdx].length;\n\n if (!previous && offset.matchIdx + 1 < numPageMatches || previous && offset.matchIdx > 0) {\n offset.matchIdx = previous ? offset.matchIdx - 1 : offset.matchIdx + 1;\n\n this._updateMatch(true);\n\n return;\n }\n\n this._advanceOffsetPage(previous);\n }\n\n this._nextPageMatch();\n }\n }, {\n key: \"_matchesReady\",\n value: function _matchesReady(matches) {\n var offset = this._offset;\n var numMatches = matches.length;\n var previous = this._state.findPrevious;\n\n if (numMatches) {\n offset.matchIdx = previous ? numMatches - 1 : 0;\n\n this._updateMatch(true);\n\n return true;\n }\n\n this._advanceOffsetPage(previous);\n\n if (offset.wrapped) {\n offset.matchIdx = null;\n\n if (this._pagesToSearch < 0) {\n this._updateMatch(false);\n\n return true;\n }\n }\n\n return false;\n }\n }, {\n key: \"_nextPageMatch\",\n value: function _nextPageMatch() {\n if (this._resumePageIdx !== null) {\n console.error(\"There can only be one pending page.\");\n }\n\n var matches = null;\n\n do {\n var pageIdx = this._offset.pageIdx;\n matches = this._pageMatches[pageIdx];\n\n if (!matches) {\n this._resumePageIdx = pageIdx;\n break;\n }\n } while (!this._matchesReady(matches));\n }\n }, {\n key: \"_advanceOffsetPage\",\n value: function _advanceOffsetPage(previous) {\n var offset = this._offset;\n var numPages = this._linkService.pagesCount;\n offset.pageIdx = previous ? offset.pageIdx - 1 : offset.pageIdx + 1;\n offset.matchIdx = null;\n this._pagesToSearch--;\n\n if (offset.pageIdx >= numPages || offset.pageIdx < 0) {\n offset.pageIdx = previous ? numPages - 1 : 0;\n offset.wrapped = true;\n }\n }\n }, {\n key: \"_updateMatch\",\n value: function _updateMatch() {\n var found = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var state = FindState.NOT_FOUND;\n var wrapped = this._offset.wrapped;\n this._offset.wrapped = false;\n\n if (found) {\n var previousPage = this._selected.pageIdx;\n this._selected.pageIdx = this._offset.pageIdx;\n this._selected.matchIdx = this._offset.matchIdx;\n state = wrapped ? FindState.WRAPPED : FindState.FOUND;\n\n if (previousPage !== -1 && previousPage !== this._selected.pageIdx) {\n this._updatePage(previousPage);\n }\n }\n\n this._updateUIState(state, this._state.findPrevious);\n\n if (this._selected.pageIdx !== -1) {\n this._scrollMatches = true;\n\n this._updatePage(this._selected.pageIdx);\n }\n }\n }, {\n key: \"_onFindBarClose\",\n value: function _onFindBarClose(evt) {\n var _this4 = this;\n\n var pdfDocument = this._pdfDocument;\n\n this._firstPageCapability.promise.then(function () {\n if (!_this4._pdfDocument || pdfDocument && _this4._pdfDocument !== pdfDocument) {\n return;\n }\n\n if (_this4._findTimeout) {\n clearTimeout(_this4._findTimeout);\n _this4._findTimeout = null;\n }\n\n if (_this4._resumePageIdx) {\n _this4._resumePageIdx = null;\n _this4._dirtyMatch = true;\n }\n\n _this4._updateUIState(FindState.FOUND);\n\n _this4._highlightMatches = false;\n\n _this4._updateAllPages();\n });\n }\n }, {\n key: \"_requestMatchesCount\",\n value: function _requestMatchesCount() {\n var _this$_selected = this._selected,\n pageIdx = _this$_selected.pageIdx,\n matchIdx = _this$_selected.matchIdx;\n var current = 0,\n total = this._matchesCountTotal;\n\n if (matchIdx !== -1) {\n for (var i = 0; i < pageIdx; i++) {\n current += this._pageMatches[i] && this._pageMatches[i].length || 0;\n }\n\n current += matchIdx + 1;\n }\n\n if (current < 1 || current > total) {\n current = total = 0;\n }\n\n return {\n current: current,\n total: total\n };\n }\n }, {\n key: \"_updateUIResultsCount\",\n value: function _updateUIResultsCount() {\n this._eventBus.dispatch(\"updatefindmatchescount\", {\n source: this,\n matchesCount: this._requestMatchesCount()\n });\n }\n }, {\n key: \"_updateUIState\",\n value: function _updateUIState(state, previous) {\n this._eventBus.dispatch(\"updatefindcontrolstate\", {\n source: this,\n state: state,\n previous: previous,\n matchesCount: this._requestMatchesCount()\n });\n }\n }, {\n key: \"highlightMatches\",\n get: function get() {\n return this._highlightMatches;\n }\n }, {\n key: \"pageMatches\",\n get: function get() {\n return this._pageMatches;\n }\n }, {\n key: \"pageMatchesLength\",\n get: function get() {\n return this._pageMatchesLength;\n }\n }, {\n key: \"selected\",\n get: function get() {\n return this._selected;\n }\n }, {\n key: \"state\",\n get: function get() {\n return this._state;\n }\n }, {\n key: \"_query\",\n get: function get() {\n if (this._state.query !== this._rawQuery) {\n this._rawQuery = this._state.query;\n this._normalizedQuery = normalize(this._state.query);\n }\n\n return this._normalizedQuery;\n }\n }]);\n\n return PDFFindController;\n}();\n\nexports.PDFFindController = PDFFindController;\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getCharacterType = getCharacterType;\nexports.CharacterType = void 0;\nvar CharacterType = {\n SPACE: 0,\n ALPHA_LETTER: 1,\n PUNCT: 2,\n HAN_LETTER: 3,\n KATAKANA_LETTER: 4,\n HIRAGANA_LETTER: 5,\n HALFWIDTH_KATAKANA_LETTER: 6,\n THAI_LETTER: 7\n};\nexports.CharacterType = CharacterType;\n\nfunction isAlphabeticalScript(charCode) {\n return charCode < 0x2e80;\n}\n\nfunction isAscii(charCode) {\n return (charCode & 0xff80) === 0;\n}\n\nfunction isAsciiAlpha(charCode) {\n return charCode >= 0x61 && charCode <= 0x7a || charCode >= 0x41 && charCode <= 0x5a;\n}\n\nfunction isAsciiDigit(charCode) {\n return charCode >= 0x30 && charCode <= 0x39;\n}\n\nfunction isAsciiSpace(charCode) {\n return charCode === 0x20 || charCode === 0x09 || charCode === 0x0d || charCode === 0x0a;\n}\n\nfunction isHan(charCode) {\n return charCode >= 0x3400 && charCode <= 0x9fff || charCode >= 0xf900 && charCode <= 0xfaff;\n}\n\nfunction isKatakana(charCode) {\n return charCode >= 0x30a0 && charCode <= 0x30ff;\n}\n\nfunction isHiragana(charCode) {\n return charCode >= 0x3040 && charCode <= 0x309f;\n}\n\nfunction isHalfwidthKatakana(charCode) {\n return charCode >= 0xff60 && charCode <= 0xff9f;\n}\n\nfunction isThai(charCode) {\n return (charCode & 0xff80) === 0x0e00;\n}\n\nfunction getCharacterType(charCode) {\n if (isAlphabeticalScript(charCode)) {\n if (isAscii(charCode)) {\n if (isAsciiSpace(charCode)) {\n return CharacterType.SPACE;\n } else if (isAsciiAlpha(charCode) || isAsciiDigit(charCode) || charCode === 0x5f) {\n return CharacterType.ALPHA_LETTER;\n }\n\n return CharacterType.PUNCT;\n } else if (isThai(charCode)) {\n return CharacterType.THAI_LETTER;\n } else if (charCode === 0xa0) {\n return CharacterType.SPACE;\n }\n\n return CharacterType.ALPHA_LETTER;\n }\n\n if (isHan(charCode)) {\n return CharacterType.HAN_LETTER;\n } else if (isKatakana(charCode)) {\n return CharacterType.KATAKANA_LETTER;\n } else if (isHiragana(charCode)) {\n return CharacterType.HIRAGANA_LETTER;\n } else if (isHalfwidthKatakana(charCode)) {\n return CharacterType.HALFWIDTH_KATAKANA_LETTER;\n }\n\n return CharacterType.ALPHA_LETTER;\n}\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isDestHashesEqual = isDestHashesEqual;\nexports.isDestArraysEqual = isDestArraysEqual;\nexports.PDFHistory = void 0;\n\nvar _ui_utils = __w_pdfjs_require__(3);\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; 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) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) 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 HASH_CHANGE_TIMEOUT = 1000;\nvar POSITION_UPDATED_THRESHOLD = 50;\nvar UPDATE_VIEWAREA_TIMEOUT = 1000;\n\nfunction getCurrentHash() {\n return document.location.hash;\n}\n\nvar PDFHistory = /*#__PURE__*/function () {\n function PDFHistory(_ref) {\n var _this = this;\n\n var linkService = _ref.linkService,\n eventBus = _ref.eventBus;\n\n _classCallCheck(this, PDFHistory);\n\n this.linkService = linkService;\n this.eventBus = eventBus;\n this._initialized = false;\n this._fingerprint = \"\";\n this.reset();\n this._boundEvents = null;\n this._isViewerInPresentationMode = false;\n\n this.eventBus._on(\"presentationmodechanged\", function (evt) {\n _this._isViewerInPresentationMode = evt.active || evt.switchInProgress;\n });\n\n this.eventBus._on(\"pagesinit\", function () {\n _this._isPagesLoaded = false;\n\n var onPagesLoaded = function onPagesLoaded(evt) {\n _this.eventBus._off(\"pagesloaded\", onPagesLoaded);\n\n _this._isPagesLoaded = !!evt.pagesCount;\n };\n\n _this.eventBus._on(\"pagesloaded\", onPagesLoaded);\n });\n }\n\n _createClass(PDFHistory, [{\n key: \"initialize\",\n value: function initialize(_ref2) {\n var fingerprint = _ref2.fingerprint,\n _ref2$resetHistory = _ref2.resetHistory,\n resetHistory = _ref2$resetHistory === void 0 ? false : _ref2$resetHistory,\n _ref2$updateUrl = _ref2.updateUrl,\n updateUrl = _ref2$updateUrl === void 0 ? false : _ref2$updateUrl;\n\n if (!fingerprint || typeof fingerprint !== \"string\") {\n console.error('PDFHistory.initialize: The \"fingerprint\" must be a non-empty string.');\n return;\n }\n\n if (this._initialized) {\n this.reset();\n }\n\n var reInitialized = this._fingerprint !== \"\" && this._fingerprint !== fingerprint;\n this._fingerprint = fingerprint;\n this._updateUrl = updateUrl === true;\n this._initialized = true;\n\n this._bindEvents();\n\n var state = window.history.state;\n this._popStateInProgress = false;\n this._blockHashChange = 0;\n this._currentHash = getCurrentHash();\n this._numPositionUpdates = 0;\n this._uid = this._maxUid = 0;\n this._destination = null;\n this._position = null;\n\n if (!this._isValidState(state, true) || resetHistory) {\n var _this$_parseCurrentHa = this._parseCurrentHash(true),\n hash = _this$_parseCurrentHa.hash,\n page = _this$_parseCurrentHa.page,\n rotation = _this$_parseCurrentHa.rotation;\n\n if (!hash || reInitialized || resetHistory) {\n this._pushOrReplaceState(null, true);\n\n return;\n }\n\n this._pushOrReplaceState({\n hash: hash,\n page: page,\n rotation: rotation\n }, true);\n\n return;\n }\n\n var destination = state.destination;\n\n this._updateInternalState(destination, state.uid, true);\n\n if (this._uid > this._maxUid) {\n this._maxUid = this._uid;\n }\n\n if (destination.rotation !== undefined) {\n this._initialRotation = destination.rotation;\n }\n\n if (destination.dest) {\n this._initialBookmark = JSON.stringify(destination.dest);\n this._destination.page = null;\n } else if (destination.hash) {\n this._initialBookmark = destination.hash;\n } else if (destination.page) {\n this._initialBookmark = \"page=\".concat(destination.page);\n }\n }\n }, {\n key: \"reset\",\n value: function reset() {\n if (this._initialized) {\n this._pageHide();\n\n this._initialized = false;\n\n this._unbindEvents();\n }\n\n if (this._updateViewareaTimeout) {\n clearTimeout(this._updateViewareaTimeout);\n this._updateViewareaTimeout = null;\n }\n\n this._initialBookmark = null;\n this._initialRotation = null;\n }\n }, {\n key: \"push\",\n value: function push(_ref3) {\n var _this2 = this;\n\n var _ref3$namedDest = _ref3.namedDest,\n namedDest = _ref3$namedDest === void 0 ? null : _ref3$namedDest,\n explicitDest = _ref3.explicitDest,\n pageNumber = _ref3.pageNumber;\n\n if (!this._initialized) {\n return;\n }\n\n if (namedDest && typeof namedDest !== \"string\") {\n console.error(\"PDFHistory.push: \" + \"\\\"\".concat(namedDest, \"\\\" is not a valid namedDest parameter.\"));\n return;\n } else if (!Array.isArray(explicitDest)) {\n console.error(\"PDFHistory.push: \" + \"\\\"\".concat(explicitDest, \"\\\" is not a valid explicitDest parameter.\"));\n return;\n } else if (!(Number.isInteger(pageNumber) && pageNumber > 0 && pageNumber <= this.linkService.pagesCount)) {\n if (pageNumber !== null || this._destination) {\n console.error(\"PDFHistory.push: \" + \"\\\"\".concat(pageNumber, \"\\\" is not a valid pageNumber parameter.\"));\n return;\n }\n }\n\n var hash = namedDest || JSON.stringify(explicitDest);\n\n if (!hash) {\n return;\n }\n\n var forceReplace = false;\n\n if (this._destination && (isDestHashesEqual(this._destination.hash, hash) || isDestArraysEqual(this._destination.dest, explicitDest))) {\n if (this._destination.page) {\n return;\n }\n\n forceReplace = true;\n }\n\n if (this._popStateInProgress && !forceReplace) {\n return;\n }\n\n this._pushOrReplaceState({\n dest: explicitDest,\n hash: hash,\n page: pageNumber,\n rotation: this.linkService.rotation\n }, forceReplace);\n\n if (!this._popStateInProgress) {\n this._popStateInProgress = true;\n Promise.resolve().then(function () {\n _this2._popStateInProgress = false;\n });\n }\n }\n }, {\n key: \"pushCurrentPosition\",\n value: function pushCurrentPosition() {\n if (!this._initialized || this._popStateInProgress) {\n return;\n }\n\n this._tryPushCurrentPosition();\n }\n }, {\n key: \"back\",\n value: function back() {\n if (!this._initialized || this._popStateInProgress) {\n return;\n }\n\n var state = window.history.state;\n\n if (this._isValidState(state) && state.uid > 0) {\n window.history.back();\n }\n }\n }, {\n key: \"forward\",\n value: function forward() {\n if (!this._initialized || this._popStateInProgress) {\n return;\n }\n\n var state = window.history.state;\n\n if (this._isValidState(state) && state.uid < this._maxUid) {\n window.history.forward();\n }\n }\n }, {\n key: \"_pushOrReplaceState\",\n value: function _pushOrReplaceState(destination) {\n var forceReplace = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var shouldReplace = forceReplace || !this._destination;\n var newState = {\n fingerprint: this._fingerprint,\n uid: shouldReplace ? this._uid : this._uid + 1,\n destination: destination\n };\n\n this._updateInternalState(destination, newState.uid);\n\n var newUrl;\n\n if (this._updateUrl && destination && destination.hash) {\n var baseUrl = document.location.href.split(\"#\")[0];\n\n if (!baseUrl.startsWith(\"file://\")) {\n newUrl = \"\".concat(baseUrl, \"#\").concat(destination.hash);\n }\n }\n\n if (shouldReplace) {\n window.history.replaceState(newState, \"\", newUrl);\n } else {\n this._maxUid = this._uid;\n window.history.pushState(newState, \"\", newUrl);\n }\n }\n }, {\n key: \"_tryPushCurrentPosition\",\n value: function _tryPushCurrentPosition() {\n var temporary = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (!this._position) {\n return;\n }\n\n var position = this._position;\n\n if (temporary) {\n position = Object.assign(Object.create(null), this._position);\n position.temporary = true;\n }\n\n if (!this._destination) {\n this._pushOrReplaceState(position);\n\n return;\n }\n\n if (this._destination.temporary) {\n this._pushOrReplaceState(position, true);\n\n return;\n }\n\n if (this._destination.hash === position.hash) {\n return;\n }\n\n if (!this._destination.page && (POSITION_UPDATED_THRESHOLD <= 0 || this._numPositionUpdates <= POSITION_UPDATED_THRESHOLD)) {\n return;\n }\n\n var forceReplace = false;\n\n if (this._destination.page >= position.first && this._destination.page <= position.page) {\n if (this._destination.dest || !this._destination.first) {\n return;\n }\n\n forceReplace = true;\n }\n\n this._pushOrReplaceState(position, forceReplace);\n }\n }, {\n key: \"_isValidState\",\n value: function _isValidState(state) {\n var checkReload = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n if (!state) {\n return false;\n }\n\n if (state.fingerprint !== this._fingerprint) {\n if (checkReload) {\n if (typeof state.fingerprint !== \"string\" || state.fingerprint.length !== this._fingerprint.length) {\n return false;\n }\n\n var _performance$getEntri = performance.getEntriesByType(\"navigation\"),\n _performance$getEntri2 = _slicedToArray(_performance$getEntri, 1),\n perfEntry = _performance$getEntri2[0];\n\n if (!perfEntry || perfEntry.type !== \"reload\") {\n return false;\n }\n } else {\n return false;\n }\n }\n\n if (!Number.isInteger(state.uid) || state.uid < 0) {\n return false;\n }\n\n if (state.destination === null || _typeof(state.destination) !== \"object\") {\n return false;\n }\n\n return true;\n }\n }, {\n key: \"_updateInternalState\",\n value: function _updateInternalState(destination, uid) {\n var removeTemporary = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n if (this._updateViewareaTimeout) {\n clearTimeout(this._updateViewareaTimeout);\n this._updateViewareaTimeout = null;\n }\n\n if (removeTemporary && destination && destination.temporary) {\n delete destination.temporary;\n }\n\n this._destination = destination;\n this._uid = uid;\n this._numPositionUpdates = 0;\n }\n }, {\n key: \"_parseCurrentHash\",\n value: function _parseCurrentHash() {\n var checkNameddest = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var hash = unescape(getCurrentHash()).substring(1);\n var params = (0, _ui_utils.parseQueryString)(hash);\n var nameddest = params.nameddest || \"\";\n var page = params.page | 0;\n\n if (!(Number.isInteger(page) && page > 0 && page <= this.linkService.pagesCount) || checkNameddest && nameddest.length > 0) {\n page = null;\n }\n\n return {\n hash: hash,\n page: page,\n rotation: this.linkService.rotation\n };\n }\n }, {\n key: \"_updateViewarea\",\n value: function _updateViewarea(_ref4) {\n var _this3 = this;\n\n var location = _ref4.location;\n\n if (this._updateViewareaTimeout) {\n clearTimeout(this._updateViewareaTimeout);\n this._updateViewareaTimeout = null;\n }\n\n this._position = {\n hash: this._isViewerInPresentationMode ? \"page=\".concat(location.pageNumber) : location.pdfOpenParams.substring(1),\n page: this.linkService.page,\n first: location.pageNumber,\n rotation: location.rotation\n };\n\n if (this._popStateInProgress) {\n return;\n }\n\n if (POSITION_UPDATED_THRESHOLD > 0 && this._isPagesLoaded && this._destination && !this._destination.page) {\n this._numPositionUpdates++;\n }\n\n if (UPDATE_VIEWAREA_TIMEOUT > 0) {\n this._updateViewareaTimeout = setTimeout(function () {\n if (!_this3._popStateInProgress) {\n _this3._tryPushCurrentPosition(true);\n }\n\n _this3._updateViewareaTimeout = null;\n }, UPDATE_VIEWAREA_TIMEOUT);\n }\n }\n }, {\n key: \"_popState\",\n value: function _popState(_ref5) {\n var _this4 = this;\n\n var state = _ref5.state;\n var newHash = getCurrentHash(),\n hashChanged = this._currentHash !== newHash;\n this._currentHash = newHash;\n\n if (!state) {\n this._uid++;\n\n var _this$_parseCurrentHa2 = this._parseCurrentHash(),\n hash = _this$_parseCurrentHa2.hash,\n page = _this$_parseCurrentHa2.page,\n rotation = _this$_parseCurrentHa2.rotation;\n\n this._pushOrReplaceState({\n hash: hash,\n page: page,\n rotation: rotation\n }, true);\n\n return;\n }\n\n if (!this._isValidState(state)) {\n return;\n }\n\n this._popStateInProgress = true;\n\n if (hashChanged) {\n this._blockHashChange++;\n (0, _ui_utils.waitOnEventOrTimeout)({\n target: window,\n name: \"hashchange\",\n delay: HASH_CHANGE_TIMEOUT\n }).then(function () {\n _this4._blockHashChange--;\n });\n }\n\n var destination = state.destination;\n\n this._updateInternalState(destination, state.uid, true);\n\n if (this._uid > this._maxUid) {\n this._maxUid = this._uid;\n }\n\n if ((0, _ui_utils.isValidRotation)(destination.rotation)) {\n this.linkService.rotation = destination.rotation;\n }\n\n if (destination.dest) {\n this.linkService.navigateTo(destination.dest);\n } else if (destination.hash) {\n this.linkService.setHash(destination.hash);\n } else if (destination.page) {\n this.linkService.page = destination.page;\n }\n\n Promise.resolve().then(function () {\n _this4._popStateInProgress = false;\n });\n }\n }, {\n key: \"_pageHide\",\n value: function _pageHide() {\n if (!this._destination || this._destination.temporary) {\n this._tryPushCurrentPosition();\n }\n }\n }, {\n key: \"_bindEvents\",\n value: function _bindEvents() {\n if (this._boundEvents) {\n return;\n }\n\n this._boundEvents = {\n updateViewarea: this._updateViewarea.bind(this),\n popState: this._popState.bind(this),\n pageHide: this._pageHide.bind(this)\n };\n\n this.eventBus._on(\"updateviewarea\", this._boundEvents.updateViewarea);\n\n window.addEventListener(\"popstate\", this._boundEvents.popState);\n window.addEventListener(\"pagehide\", this._boundEvents.pageHide);\n }\n }, {\n key: \"_unbindEvents\",\n value: function _unbindEvents() {\n if (!this._boundEvents) {\n return;\n }\n\n this.eventBus._off(\"updateviewarea\", this._boundEvents.updateViewarea);\n\n window.removeEventListener(\"popstate\", this._boundEvents.popState);\n window.removeEventListener(\"pagehide\", this._boundEvents.pageHide);\n this._boundEvents = null;\n }\n }, {\n key: \"popStateInProgress\",\n get: function get() {\n return this._initialized && (this._popStateInProgress || this._blockHashChange > 0);\n }\n }, {\n key: \"initialBookmark\",\n get: function get() {\n return this._initialized ? this._initialBookmark : null;\n }\n }, {\n key: \"initialRotation\",\n get: function get() {\n return this._initialized ? this._initialRotation : null;\n }\n }]);\n\n return PDFHistory;\n}();\n\nexports.PDFHistory = PDFHistory;\n\nfunction isDestHashesEqual(destHash, pushHash) {\n if (typeof destHash !== \"string\" || typeof pushHash !== \"string\") {\n return false;\n }\n\n if (destHash === pushHash) {\n return true;\n }\n\n var _parseQueryString = (0, _ui_utils.parseQueryString)(destHash),\n nameddest = _parseQueryString.nameddest;\n\n if (nameddest === pushHash) {\n return true;\n }\n\n return false;\n}\n\nfunction isDestArraysEqual(firstDest, secondDest) {\n function isEntryEqual(first, second) {\n if (_typeof(first) !== _typeof(second)) {\n return false;\n }\n\n if (Array.isArray(first) || Array.isArray(second)) {\n return false;\n }\n\n if (first !== null && _typeof(first) === \"object\" && second !== null) {\n if (Object.keys(first).length !== Object.keys(second).length) {\n return false;\n }\n\n for (var key in first) {\n if (!isEntryEqual(first[key], second[key])) {\n return false;\n }\n }\n\n return true;\n }\n\n return first === second || Number.isNaN(first) && Number.isNaN(second);\n }\n\n if (!(Array.isArray(firstDest) && Array.isArray(secondDest))) {\n return false;\n }\n\n if (firstDest.length !== secondDest.length) {\n return false;\n }\n\n for (var i = 0, ii = firstDest.length; i < ii; i++) {\n if (!isEntryEqual(firstDest[i], secondDest[i])) {\n return false;\n }\n }\n\n return true;\n}\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFPageView = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(4));\n\nvar _ui_utils = __w_pdfjs_require__(3);\n\nvar _pdfjsLib = __w_pdfjs_require__(2);\n\nvar _pdf_rendering_queue = __w_pdfjs_require__(17);\n\nvar _viewer_compatibility = __w_pdfjs_require__(10);\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 MAX_CANVAS_PIXELS = _viewer_compatibility.viewerCompatibilityParams.maxCanvasPixels || 16777216;\n\nvar PDFPageView = /*#__PURE__*/function () {\n function PDFPageView(options) {\n _classCallCheck(this, PDFPageView);\n\n var container = options.container;\n var defaultViewport = options.defaultViewport;\n this.id = options.id;\n this.renderingId = \"page\" + this.id;\n this.pdfPage = null;\n this.pageLabel = null;\n this.rotation = 0;\n this.scale = options.scale || _ui_utils.DEFAULT_SCALE;\n this.viewport = defaultViewport;\n this.pdfPageRotate = defaultViewport.rotation;\n this.hasRestrictedScaling = false;\n this.textLayerMode = Number.isInteger(options.textLayerMode) ? options.textLayerMode : _ui_utils.TextLayerMode.ENABLE;\n this.imageResourcesPath = options.imageResourcesPath || \"\";\n this.renderInteractiveForms = options.renderInteractiveForms || false;\n this.useOnlyCssZoom = options.useOnlyCssZoom || false;\n this.maxCanvasPixels = options.maxCanvasPixels || MAX_CANVAS_PIXELS;\n this.eventBus = options.eventBus;\n this.renderingQueue = options.renderingQueue;\n this.textLayerFactory = options.textLayerFactory;\n this.annotationLayerFactory = options.annotationLayerFactory;\n this.renderer = options.renderer || _ui_utils.RendererType.CANVAS;\n this.enableWebGL = options.enableWebGL || false;\n this.l10n = options.l10n || _ui_utils.NullL10n;\n this.paintTask = null;\n this.paintedViewportMap = new WeakMap();\n this.renderingState = _pdf_rendering_queue.RenderingStates.INITIAL;\n this.resume = null;\n this.error = null;\n this.annotationLayer = null;\n this.textLayer = null;\n this.zoomLayer = null;\n var div = document.createElement(\"div\");\n div.className = \"page\";\n div.style.width = Math.floor(this.viewport.width) + \"px\";\n div.style.height = Math.floor(this.viewport.height) + \"px\";\n div.setAttribute(\"data-page-number\", this.id);\n this.div = div;\n container.appendChild(div);\n }\n\n _createClass(PDFPageView, [{\n key: \"setPdfPage\",\n value: function setPdfPage(pdfPage) {\n this.pdfPage = pdfPage;\n this.pdfPageRotate = pdfPage.rotate;\n var totalRotation = (this.rotation + this.pdfPageRotate) % 360;\n this.viewport = pdfPage.getViewport({\n scale: this.scale * _ui_utils.CSS_UNITS,\n rotation: totalRotation\n });\n this.stats = pdfPage.stats;\n this.reset();\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n this.reset();\n\n if (this.pdfPage) {\n this.pdfPage.cleanup();\n }\n }\n }, {\n key: \"_resetZoomLayer\",\n value: function _resetZoomLayer() {\n var removeFromDOM = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (!this.zoomLayer) {\n return;\n }\n\n var zoomLayerCanvas = this.zoomLayer.firstChild;\n this.paintedViewportMap[\"delete\"](zoomLayerCanvas);\n zoomLayerCanvas.width = 0;\n zoomLayerCanvas.height = 0;\n\n if (removeFromDOM) {\n this.zoomLayer.remove();\n }\n\n this.zoomLayer = null;\n }\n }, {\n key: \"reset\",\n value: function reset() {\n var keepZoomLayer = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var keepAnnotations = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n this.cancelRendering(keepAnnotations);\n this.renderingState = _pdf_rendering_queue.RenderingStates.INITIAL;\n var div = this.div;\n div.style.width = Math.floor(this.viewport.width) + \"px\";\n div.style.height = Math.floor(this.viewport.height) + \"px\";\n var childNodes = div.childNodes;\n var currentZoomLayerNode = keepZoomLayer && this.zoomLayer || null;\n var currentAnnotationNode = keepAnnotations && this.annotationLayer && this.annotationLayer.div || null;\n\n for (var i = childNodes.length - 1; i >= 0; i--) {\n var node = childNodes[i];\n\n if (currentZoomLayerNode === node || currentAnnotationNode === node) {\n continue;\n }\n\n div.removeChild(node);\n }\n\n div.removeAttribute(\"data-loaded\");\n\n if (currentAnnotationNode) {\n this.annotationLayer.hide();\n } else if (this.annotationLayer) {\n this.annotationLayer.cancel();\n this.annotationLayer = null;\n }\n\n if (!currentZoomLayerNode) {\n if (this.canvas) {\n this.paintedViewportMap[\"delete\"](this.canvas);\n this.canvas.width = 0;\n this.canvas.height = 0;\n delete this.canvas;\n }\n\n this._resetZoomLayer();\n }\n\n if (this.svg) {\n this.paintedViewportMap[\"delete\"](this.svg);\n delete this.svg;\n }\n\n this.loadingIconDiv = document.createElement(\"div\");\n this.loadingIconDiv.className = \"loadingIcon\";\n div.appendChild(this.loadingIconDiv);\n }\n }, {\n key: \"update\",\n value: function update(scale, rotation) {\n this.scale = scale || this.scale;\n\n if (typeof rotation !== \"undefined\") {\n this.rotation = rotation;\n }\n\n var totalRotation = (this.rotation + this.pdfPageRotate) % 360;\n this.viewport = this.viewport.clone({\n scale: this.scale * _ui_utils.CSS_UNITS,\n rotation: totalRotation\n });\n\n if (this.svg) {\n this.cssTransform(this.svg, true);\n this.eventBus.dispatch(\"pagerendered\", {\n source: this,\n pageNumber: this.id,\n cssTransform: true,\n timestamp: performance.now()\n });\n return;\n }\n\n var isScalingRestricted = false;\n\n if (this.canvas && this.maxCanvasPixels > 0) {\n var outputScale = this.outputScale;\n\n if ((Math.floor(this.viewport.width) * outputScale.sx | 0) * (Math.floor(this.viewport.height) * outputScale.sy | 0) > this.maxCanvasPixels) {\n isScalingRestricted = true;\n }\n }\n\n if (this.canvas) {\n if (this.useOnlyCssZoom || this.hasRestrictedScaling && isScalingRestricted) {\n this.cssTransform(this.canvas, true);\n this.eventBus.dispatch(\"pagerendered\", {\n source: this,\n pageNumber: this.id,\n cssTransform: true,\n timestamp: performance.now()\n });\n return;\n }\n\n if (!this.zoomLayer && !this.canvas.hasAttribute(\"hidden\")) {\n this.zoomLayer = this.canvas.parentNode;\n this.zoomLayer.style.position = \"absolute\";\n }\n }\n\n if (this.zoomLayer) {\n this.cssTransform(this.zoomLayer.firstChild);\n }\n\n this.reset(true, true);\n }\n }, {\n key: \"cancelRendering\",\n value: function cancelRendering() {\n var keepAnnotations = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (this.paintTask) {\n this.paintTask.cancel();\n this.paintTask = null;\n }\n\n this.resume = null;\n\n if (this.textLayer) {\n this.textLayer.cancel();\n this.textLayer = null;\n }\n\n if (!keepAnnotations && this.annotationLayer) {\n this.annotationLayer.cancel();\n this.annotationLayer = null;\n }\n }\n }, {\n key: \"cssTransform\",\n value: function cssTransform(target) {\n var redrawAnnotations = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var width = this.viewport.width;\n var height = this.viewport.height;\n var div = this.div;\n target.style.width = target.parentNode.style.width = div.style.width = Math.floor(width) + \"px\";\n target.style.height = target.parentNode.style.height = div.style.height = Math.floor(height) + \"px\";\n var relativeRotation = this.viewport.rotation - this.paintedViewportMap.get(target).rotation;\n var absRotation = Math.abs(relativeRotation);\n var scaleX = 1,\n scaleY = 1;\n\n if (absRotation === 90 || absRotation === 270) {\n scaleX = height / width;\n scaleY = width / height;\n }\n\n var cssTransform = \"rotate(\" + relativeRotation + \"deg) \" + \"scale(\" + scaleX + \",\" + scaleY + \")\";\n target.style.transform = cssTransform;\n\n if (this.textLayer) {\n var textLayerViewport = this.textLayer.viewport;\n var textRelativeRotation = this.viewport.rotation - textLayerViewport.rotation;\n var textAbsRotation = Math.abs(textRelativeRotation);\n var scale = width / textLayerViewport.width;\n\n if (textAbsRotation === 90 || textAbsRotation === 270) {\n scale = width / textLayerViewport.height;\n }\n\n var textLayerDiv = this.textLayer.textLayerDiv;\n var transX, transY;\n\n switch (textAbsRotation) {\n case 0:\n transX = transY = 0;\n break;\n\n case 90:\n transX = 0;\n transY = \"-\" + textLayerDiv.style.height;\n break;\n\n case 180:\n transX = \"-\" + textLayerDiv.style.width;\n transY = \"-\" + textLayerDiv.style.height;\n break;\n\n case 270:\n transX = \"-\" + textLayerDiv.style.width;\n transY = 0;\n break;\n\n default:\n console.error(\"Bad rotation value.\");\n break;\n }\n\n textLayerDiv.style.transform = \"rotate(\" + textAbsRotation + \"deg) \" + \"scale(\" + scale + \", \" + scale + \") \" + \"translate(\" + transX + \", \" + transY + \")\";\n textLayerDiv.style.transformOrigin = \"0% 0%\";\n }\n\n if (redrawAnnotations && this.annotationLayer) {\n this.annotationLayer.render(this.viewport, \"display\");\n }\n }\n }, {\n key: \"getPagePoint\",\n value: function getPagePoint(x, y) {\n return this.viewport.convertToPdfPoint(x, y);\n }\n }, {\n key: \"draw\",\n value: function draw() {\n var _this = this;\n\n if (this.renderingState !== _pdf_rendering_queue.RenderingStates.INITIAL) {\n console.error(\"Must be in new state before drawing\");\n this.reset();\n }\n\n var div = this.div,\n pdfPage = this.pdfPage;\n\n if (!pdfPage) {\n this.renderingState = _pdf_rendering_queue.RenderingStates.FINISHED;\n\n if (this.loadingIconDiv) {\n div.removeChild(this.loadingIconDiv);\n delete this.loadingIconDiv;\n }\n\n return Promise.reject(new Error(\"pdfPage is not loaded\"));\n }\n\n this.renderingState = _pdf_rendering_queue.RenderingStates.RUNNING;\n var canvasWrapper = document.createElement(\"div\");\n canvasWrapper.style.width = div.style.width;\n canvasWrapper.style.height = div.style.height;\n canvasWrapper.classList.add(\"canvasWrapper\");\n\n if (this.annotationLayer && this.annotationLayer.div) {\n div.insertBefore(canvasWrapper, this.annotationLayer.div);\n } else {\n div.appendChild(canvasWrapper);\n }\n\n var textLayer = null;\n\n if (this.textLayerMode !== _ui_utils.TextLayerMode.DISABLE && this.textLayerFactory) {\n var textLayerDiv = document.createElement(\"div\");\n textLayerDiv.className = \"textLayer\";\n textLayerDiv.style.width = canvasWrapper.style.width;\n textLayerDiv.style.height = canvasWrapper.style.height;\n\n if (this.annotationLayer && this.annotationLayer.div) {\n div.insertBefore(textLayerDiv, this.annotationLayer.div);\n } else {\n div.appendChild(textLayerDiv);\n }\n\n textLayer = this.textLayerFactory.createTextLayerBuilder(textLayerDiv, this.id - 1, this.viewport, this.textLayerMode === _ui_utils.TextLayerMode.ENABLE_ENHANCE, this.eventBus);\n }\n\n this.textLayer = textLayer;\n var renderContinueCallback = null;\n\n if (this.renderingQueue) {\n renderContinueCallback = function renderContinueCallback(cont) {\n if (!_this.renderingQueue.isHighestPriority(_this)) {\n _this.renderingState = _pdf_rendering_queue.RenderingStates.PAUSED;\n\n _this.resume = function () {\n _this.renderingState = _pdf_rendering_queue.RenderingStates.RUNNING;\n cont();\n };\n\n return;\n }\n\n cont();\n };\n }\n\n var finishPaintTask = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee(error) {\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (paintTask === _this.paintTask) {\n _this.paintTask = null;\n }\n\n if (!(error instanceof _pdfjsLib.RenderingCancelledException)) {\n _context.next = 4;\n break;\n }\n\n _this.error = null;\n return _context.abrupt(\"return\");\n\n case 4:\n _this.renderingState = _pdf_rendering_queue.RenderingStates.FINISHED;\n\n if (_this.loadingIconDiv) {\n div.removeChild(_this.loadingIconDiv);\n delete _this.loadingIconDiv;\n }\n\n _this._resetZoomLayer(true);\n\n _this.error = error;\n _this.stats = pdfPage.stats;\n\n _this.eventBus.dispatch(\"pagerendered\", {\n source: _this,\n pageNumber: _this.id,\n cssTransform: false,\n timestamp: performance.now()\n });\n\n if (!error) {\n _context.next = 12;\n break;\n }\n\n throw error;\n\n case 12:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function finishPaintTask(_x) {\n return _ref.apply(this, arguments);\n };\n }();\n\n var paintTask = this.renderer === _ui_utils.RendererType.SVG ? this.paintOnSvg(canvasWrapper) : this.paintOnCanvas(canvasWrapper);\n paintTask.onRenderContinue = renderContinueCallback;\n this.paintTask = paintTask;\n var resultPromise = paintTask.promise.then(function () {\n return finishPaintTask(null).then(function () {\n if (textLayer) {\n var readableStream = pdfPage.streamTextContent({\n normalizeWhitespace: true\n });\n textLayer.setTextContentStream(readableStream);\n textLayer.render();\n }\n });\n }, function (reason) {\n return finishPaintTask(reason);\n });\n\n if (this.annotationLayerFactory) {\n if (!this.annotationLayer) {\n this.annotationLayer = this.annotationLayerFactory.createAnnotationLayerBuilder(div, pdfPage, this.imageResourcesPath, this.renderInteractiveForms, this.l10n);\n }\n\n this.annotationLayer.render(this.viewport, \"display\");\n }\n\n div.setAttribute(\"data-loaded\", true);\n this.eventBus.dispatch(\"pagerender\", {\n source: this,\n pageNumber: this.id\n });\n return resultPromise;\n }\n }, {\n key: \"paintOnCanvas\",\n value: function paintOnCanvas(canvasWrapper) {\n var renderCapability = (0, _pdfjsLib.createPromiseCapability)();\n var result = {\n promise: renderCapability.promise,\n onRenderContinue: function onRenderContinue(cont) {\n cont();\n },\n cancel: function cancel() {\n renderTask.cancel();\n }\n };\n var viewport = this.viewport;\n var canvas = document.createElement(\"canvas\");\n this.l10n.get(\"page_canvas\", {\n page: this.id\n }, \"Page {{page}}\").then(function (msg) {\n canvas.setAttribute(\"aria-label\", msg);\n });\n canvas.setAttribute(\"hidden\", \"hidden\");\n var isCanvasHidden = true;\n\n var showCanvas = function showCanvas() {\n if (isCanvasHidden) {\n canvas.removeAttribute(\"hidden\");\n isCanvasHidden = false;\n }\n };\n\n canvasWrapper.appendChild(canvas);\n this.canvas = canvas;\n canvas.mozOpaque = true;\n var ctx = canvas.getContext(\"2d\", {\n alpha: false\n });\n var outputScale = (0, _ui_utils.getOutputScale)(ctx);\n this.outputScale = outputScale;\n\n if (this.useOnlyCssZoom) {\n var actualSizeViewport = viewport.clone({\n scale: _ui_utils.CSS_UNITS\n });\n outputScale.sx *= actualSizeViewport.width / viewport.width;\n outputScale.sy *= actualSizeViewport.height / viewport.height;\n outputScale.scaled = true;\n }\n\n if (this.maxCanvasPixels > 0) {\n var pixelsInViewport = viewport.width * viewport.height;\n var maxScale = Math.sqrt(this.maxCanvasPixels / pixelsInViewport);\n\n if (outputScale.sx > maxScale || outputScale.sy > maxScale) {\n outputScale.sx = maxScale;\n outputScale.sy = maxScale;\n outputScale.scaled = true;\n this.hasRestrictedScaling = true;\n } else {\n this.hasRestrictedScaling = false;\n }\n }\n\n var sfx = (0, _ui_utils.approximateFraction)(outputScale.sx);\n var sfy = (0, _ui_utils.approximateFraction)(outputScale.sy);\n canvas.width = (0, _ui_utils.roundToDivide)(viewport.width * outputScale.sx, sfx[0]);\n canvas.height = (0, _ui_utils.roundToDivide)(viewport.height * outputScale.sy, sfy[0]);\n canvas.style.width = (0, _ui_utils.roundToDivide)(viewport.width, sfx[1]) + \"px\";\n canvas.style.height = (0, _ui_utils.roundToDivide)(viewport.height, sfy[1]) + \"px\";\n this.paintedViewportMap.set(canvas, viewport);\n var transform = !outputScale.scaled ? null : [outputScale.sx, 0, 0, outputScale.sy, 0, 0];\n var renderContext = {\n canvasContext: ctx,\n transform: transform,\n viewport: this.viewport,\n enableWebGL: this.enableWebGL,\n renderInteractiveForms: this.renderInteractiveForms\n };\n var renderTask = this.pdfPage.render(renderContext);\n\n renderTask.onContinue = function (cont) {\n showCanvas();\n\n if (result.onRenderContinue) {\n result.onRenderContinue(cont);\n } else {\n cont();\n }\n };\n\n renderTask.promise.then(function () {\n showCanvas();\n renderCapability.resolve(undefined);\n }, function (error) {\n showCanvas();\n renderCapability.reject(error);\n });\n return result;\n }\n }, {\n key: \"paintOnSvg\",\n value: function paintOnSvg(wrapper) {\n var _this2 = this;\n\n var cancelled = false;\n\n var ensureNotCancelled = function ensureNotCancelled() {\n if (cancelled) {\n throw new _pdfjsLib.RenderingCancelledException(\"Rendering cancelled, page \".concat(_this2.id), \"svg\");\n }\n };\n\n var pdfPage = this.pdfPage;\n var actualSizeViewport = this.viewport.clone({\n scale: _ui_utils.CSS_UNITS\n });\n var promise = pdfPage.getOperatorList().then(function (opList) {\n ensureNotCancelled();\n var svgGfx = new _pdfjsLib.SVGGraphics(pdfPage.commonObjs, pdfPage.objs);\n return svgGfx.getSVG(opList, actualSizeViewport).then(function (svg) {\n ensureNotCancelled();\n _this2.svg = svg;\n\n _this2.paintedViewportMap.set(svg, actualSizeViewport);\n\n svg.style.width = wrapper.style.width;\n svg.style.height = wrapper.style.height;\n _this2.renderingState = _pdf_rendering_queue.RenderingStates.FINISHED;\n wrapper.appendChild(svg);\n });\n });\n return {\n promise: promise,\n onRenderContinue: function onRenderContinue(cont) {\n cont();\n },\n cancel: function cancel() {\n cancelled = true;\n }\n };\n }\n }, {\n key: \"setPageLabel\",\n value: function setPageLabel(label) {\n this.pageLabel = typeof label === \"string\" ? label : null;\n\n if (this.pageLabel !== null) {\n this.div.setAttribute(\"data-page-label\", this.pageLabel);\n } else {\n this.div.removeAttribute(\"data-page-label\");\n }\n }\n }, {\n key: \"width\",\n get: function get() {\n return this.viewport.width;\n }\n }, {\n key: \"height\",\n get: function get() {\n return this.viewport.height;\n }\n }]);\n\n return PDFPageView;\n}();\n\nexports.PDFPageView = PDFPageView;\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFRenderingQueue = exports.RenderingStates = void 0;\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 CLEANUP_TIMEOUT = 30000;\nvar RenderingStates = {\n INITIAL: 0,\n RUNNING: 1,\n PAUSED: 2,\n FINISHED: 3\n};\nexports.RenderingStates = RenderingStates;\n\nvar PDFRenderingQueue = /*#__PURE__*/function () {\n function PDFRenderingQueue() {\n _classCallCheck(this, PDFRenderingQueue);\n\n this.pdfViewer = null;\n this.pdfThumbnailViewer = null;\n this.onIdle = null;\n this.highestPriorityPage = null;\n this.idleTimeout = null;\n this.printing = false;\n this.isThumbnailViewEnabled = false;\n }\n\n _createClass(PDFRenderingQueue, [{\n key: \"setViewer\",\n value: function setViewer(pdfViewer) {\n this.pdfViewer = pdfViewer;\n }\n }, {\n key: \"setThumbnailViewer\",\n value: function setThumbnailViewer(pdfThumbnailViewer) {\n this.pdfThumbnailViewer = pdfThumbnailViewer;\n }\n }, {\n key: \"isHighestPriority\",\n value: function isHighestPriority(view) {\n return this.highestPriorityPage === view.renderingId;\n }\n }, {\n key: \"renderHighestPriority\",\n value: function renderHighestPriority(currentlyVisiblePages) {\n if (this.idleTimeout) {\n clearTimeout(this.idleTimeout);\n this.idleTimeout = null;\n }\n\n if (this.pdfViewer.forceRendering(currentlyVisiblePages)) {\n return;\n }\n\n if (this.pdfThumbnailViewer && this.isThumbnailViewEnabled) {\n if (this.pdfThumbnailViewer.forceRendering()) {\n return;\n }\n }\n\n if (this.printing) {\n return;\n }\n\n if (this.onIdle) {\n this.idleTimeout = setTimeout(this.onIdle.bind(this), CLEANUP_TIMEOUT);\n }\n }\n }, {\n key: \"getHighestPriority\",\n value: function getHighestPriority(visible, views, scrolledDown) {\n var visibleViews = visible.views;\n var numVisible = visibleViews.length;\n\n if (numVisible === 0) {\n return null;\n }\n\n for (var i = 0; i < numVisible; ++i) {\n var view = visibleViews[i].view;\n\n if (!this.isViewFinished(view)) {\n return view;\n }\n }\n\n if (scrolledDown) {\n var nextPageIndex = visible.last.id;\n\n if (views[nextPageIndex] && !this.isViewFinished(views[nextPageIndex])) {\n return views[nextPageIndex];\n }\n } else {\n var previousPageIndex = visible.first.id - 2;\n\n if (views[previousPageIndex] && !this.isViewFinished(views[previousPageIndex])) {\n return views[previousPageIndex];\n }\n }\n\n return null;\n }\n }, {\n key: \"isViewFinished\",\n value: function isViewFinished(view) {\n return view.renderingState === RenderingStates.FINISHED;\n }\n }, {\n key: \"renderView\",\n value: function renderView(view) {\n var _this = this;\n\n switch (view.renderingState) {\n case RenderingStates.FINISHED:\n return false;\n\n case RenderingStates.PAUSED:\n this.highestPriorityPage = view.renderingId;\n view.resume();\n break;\n\n case RenderingStates.RUNNING:\n this.highestPriorityPage = view.renderingId;\n break;\n\n case RenderingStates.INITIAL:\n this.highestPriorityPage = view.renderingId;\n view.draw()[\"finally\"](function () {\n _this.renderHighestPriority();\n })[\"catch\"](function (reason) {\n console.error(\"renderView: \\\"\".concat(reason, \"\\\"\"));\n });\n break;\n }\n\n return true;\n }\n }]);\n\n return PDFRenderingQueue;\n}();\n\nexports.PDFRenderingQueue = PDFRenderingQueue;\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFSinglePageViewer = void 0;\n\nvar _base_viewer = __w_pdfjs_require__(19);\n\nvar _pdfjsLib = __w_pdfjs_require__(2);\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; 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 _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 _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 _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 _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\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 _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar PDFSinglePageViewer = /*#__PURE__*/function (_BaseViewer) {\n _inherits(PDFSinglePageViewer, _BaseViewer);\n\n var _super = _createSuper(PDFSinglePageViewer);\n\n function PDFSinglePageViewer(options) {\n var _this;\n\n _classCallCheck(this, PDFSinglePageViewer);\n\n _this = _super.call(this, options);\n\n _this.eventBus._on(\"pagesinit\", function (evt) {\n _this._ensurePageViewVisible();\n });\n\n return _this;\n }\n\n _createClass(PDFSinglePageViewer, [{\n key: \"_resetView\",\n value: function _resetView() {\n _get(_getPrototypeOf(PDFSinglePageViewer.prototype), \"_resetView\", this).call(this);\n\n this._previousPageNumber = 1;\n this._shadowViewer = document.createDocumentFragment();\n this._updateScrollDown = null;\n }\n }, {\n key: \"_ensurePageViewVisible\",\n value: function _ensurePageViewVisible() {\n var pageView = this._pages[this._currentPageNumber - 1];\n var previousPageView = this._pages[this._previousPageNumber - 1];\n var viewerNodes = this.viewer.childNodes;\n\n switch (viewerNodes.length) {\n case 0:\n this.viewer.appendChild(pageView.div);\n break;\n\n case 1:\n if (viewerNodes[0] !== previousPageView.div) {\n throw new Error(\"_ensurePageViewVisible: Unexpected previously visible page.\");\n }\n\n if (pageView === previousPageView) {\n break;\n }\n\n this._shadowViewer.appendChild(previousPageView.div);\n\n this.viewer.appendChild(pageView.div);\n this.container.scrollTop = 0;\n break;\n\n default:\n throw new Error(\"_ensurePageViewVisible: Only one page should be visible at a time.\");\n }\n\n this._previousPageNumber = this._currentPageNumber;\n }\n }, {\n key: \"_scrollUpdate\",\n value: function _scrollUpdate() {\n if (this._updateScrollDown) {\n this._updateScrollDown();\n }\n\n _get(_getPrototypeOf(PDFSinglePageViewer.prototype), \"_scrollUpdate\", this).call(this);\n }\n }, {\n key: \"_scrollIntoView\",\n value: function _scrollIntoView(_ref) {\n var _this2 = this;\n\n var pageDiv = _ref.pageDiv,\n _ref$pageSpot = _ref.pageSpot,\n pageSpot = _ref$pageSpot === void 0 ? null : _ref$pageSpot,\n _ref$pageNumber = _ref.pageNumber,\n pageNumber = _ref$pageNumber === void 0 ? null : _ref$pageNumber;\n\n if (pageNumber) {\n this._setCurrentPageNumber(pageNumber);\n }\n\n var scrolledDown = this._currentPageNumber >= this._previousPageNumber;\n\n this._ensurePageViewVisible();\n\n this.update();\n\n _get(_getPrototypeOf(PDFSinglePageViewer.prototype), \"_scrollIntoView\", this).call(this, {\n pageDiv: pageDiv,\n pageSpot: pageSpot,\n pageNumber: pageNumber\n });\n\n this._updateScrollDown = function () {\n _this2.scroll.down = scrolledDown;\n _this2._updateScrollDown = null;\n };\n }\n }, {\n key: \"_getVisiblePages\",\n value: function _getVisiblePages() {\n return this._getCurrentVisiblePage();\n }\n }, {\n key: \"_updateHelper\",\n value: function _updateHelper(visiblePages) {}\n }, {\n key: \"_updateScrollMode\",\n value: function _updateScrollMode() {}\n }, {\n key: \"_updateSpreadMode\",\n value: function _updateSpreadMode() {}\n }, {\n key: \"_viewerElement\",\n get: function get() {\n return (0, _pdfjsLib.shadow)(this, \"_viewerElement\", this._shadowViewer);\n }\n }, {\n key: \"_isScrollModeHorizontal\",\n get: function get() {\n return (0, _pdfjsLib.shadow)(this, \"_isScrollModeHorizontal\", false);\n }\n }]);\n\n return PDFSinglePageViewer;\n}(_base_viewer.BaseViewer);\n\nexports.PDFSinglePageViewer = PDFSinglePageViewer;\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.BaseViewer = void 0;\n\nvar _ui_utils = __w_pdfjs_require__(3);\n\nvar _pdf_rendering_queue = __w_pdfjs_require__(17);\n\nvar _annotation_layer_builder = __w_pdfjs_require__(1);\n\nvar _pdfjsLib = __w_pdfjs_require__(2);\n\nvar _pdf_page_view = __w_pdfjs_require__(16);\n\nvar _pdf_link_service = __w_pdfjs_require__(7);\n\nvar _text_layer_builder = __w_pdfjs_require__(8);\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_CACHE_SIZE = 10;\n\nfunction PDFPageViewBuffer(size) {\n var data = [];\n\n this.push = function (view) {\n var i = data.indexOf(view);\n\n if (i >= 0) {\n data.splice(i, 1);\n }\n\n data.push(view);\n\n if (data.length > size) {\n data.shift().destroy();\n }\n };\n\n this.resize = function (newSize, pagesToKeep) {\n size = newSize;\n\n if (pagesToKeep) {\n var pageIdsToKeep = new Set();\n\n for (var i = 0, iMax = pagesToKeep.length; i < iMax; ++i) {\n pageIdsToKeep.add(pagesToKeep[i].id);\n }\n\n (0, _ui_utils.moveToEndOfArray)(data, function (page) {\n return pageIdsToKeep.has(page.id);\n });\n }\n\n while (data.length > size) {\n data.shift().destroy();\n }\n };\n}\n\nfunction isSameScale(oldScale, newScale) {\n if (newScale === oldScale) {\n return true;\n }\n\n if (Math.abs(newScale - oldScale) < 1e-15) {\n return true;\n }\n\n return false;\n}\n\nvar BaseViewer = /*#__PURE__*/function () {\n function BaseViewer(options) {\n var _this = this;\n\n _classCallCheck(this, BaseViewer);\n\n if (this.constructor === BaseViewer) {\n throw new Error(\"Cannot initialize BaseViewer.\");\n }\n\n this._name = this.constructor.name;\n this.container = options.container;\n this.viewer = options.viewer || options.container.firstElementChild;\n this.eventBus = options.eventBus;\n this.linkService = options.linkService || new _pdf_link_service.SimpleLinkService();\n this.downloadManager = options.downloadManager || null;\n this.findController = options.findController || null;\n this.removePageBorders = options.removePageBorders || false;\n this.textLayerMode = Number.isInteger(options.textLayerMode) ? options.textLayerMode : _ui_utils.TextLayerMode.ENABLE;\n this.imageResourcesPath = options.imageResourcesPath || \"\";\n this.renderInteractiveForms = options.renderInteractiveForms || false;\n this.enablePrintAutoRotate = options.enablePrintAutoRotate || false;\n this.renderer = options.renderer || _ui_utils.RendererType.CANVAS;\n this.enableWebGL = options.enableWebGL || false;\n this.useOnlyCssZoom = options.useOnlyCssZoom || false;\n this.maxCanvasPixels = options.maxCanvasPixels;\n this.l10n = options.l10n || _ui_utils.NullL10n;\n this.defaultRenderingQueue = !options.renderingQueue;\n\n if (this.defaultRenderingQueue) {\n this.renderingQueue = new _pdf_rendering_queue.PDFRenderingQueue();\n this.renderingQueue.setViewer(this);\n } else {\n this.renderingQueue = options.renderingQueue;\n }\n\n this.scroll = (0, _ui_utils.watchScroll)(this.container, this._scrollUpdate.bind(this));\n this.presentationModeState = _ui_utils.PresentationModeState.UNKNOWN;\n this._onBeforeDraw = this._onAfterDraw = null;\n\n this._resetView();\n\n if (this.removePageBorders) {\n this.viewer.classList.add(\"removePageBorders\");\n }\n\n Promise.resolve().then(function () {\n _this.eventBus.dispatch(\"baseviewerinit\", {\n source: _this\n });\n });\n }\n\n _createClass(BaseViewer, [{\n key: \"getPageView\",\n value: function getPageView(index) {\n return this._pages[index];\n }\n }, {\n key: \"_setCurrentPageNumber\",\n value: function _setCurrentPageNumber(val) {\n var resetCurrentPageView = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n if (this._currentPageNumber === val) {\n if (resetCurrentPageView) {\n this._resetCurrentPageView();\n }\n\n return true;\n }\n\n if (!(0 < val && val <= this.pagesCount)) {\n return false;\n }\n\n this._currentPageNumber = val;\n this.eventBus.dispatch(\"pagechanging\", {\n source: this,\n pageNumber: val,\n pageLabel: this._pageLabels && this._pageLabels[val - 1]\n });\n\n if (resetCurrentPageView) {\n this._resetCurrentPageView();\n }\n\n return true;\n }\n }, {\n key: \"_onePageRenderedOrForceFetch\",\n value: function _onePageRenderedOrForceFetch() {\n if (!this.container.offsetParent || this._getVisiblePages().views.length === 0) {\n return Promise.resolve();\n }\n\n return this._onePageRenderedCapability.promise;\n }\n }, {\n key: \"setDocument\",\n value: function setDocument(pdfDocument) {\n var _this2 = this;\n\n if (this.pdfDocument) {\n this._cancelRendering();\n\n this._resetView();\n\n if (this.findController) {\n this.findController.setDocument(null);\n }\n }\n\n this.pdfDocument = pdfDocument;\n\n if (!pdfDocument) {\n return;\n }\n\n var pagesCount = pdfDocument.numPages;\n var firstPagePromise = pdfDocument.getPage(1);\n\n this._pagesCapability.promise.then(function () {\n _this2.eventBus.dispatch(\"pagesloaded\", {\n source: _this2,\n pagesCount: pagesCount\n });\n });\n\n this._onBeforeDraw = function (evt) {\n var pageView = _this2._pages[evt.pageNumber - 1];\n\n if (!pageView) {\n return;\n }\n\n _this2._buffer.push(pageView);\n };\n\n this.eventBus._on(\"pagerender\", this._onBeforeDraw);\n\n this._onAfterDraw = function (evt) {\n if (evt.cssTransform || _this2._onePageRenderedCapability.settled) {\n return;\n }\n\n _this2._onePageRenderedCapability.resolve();\n\n _this2.eventBus._off(\"pagerendered\", _this2._onAfterDraw);\n\n _this2._onAfterDraw = null;\n };\n\n this.eventBus._on(\"pagerendered\", this._onAfterDraw);\n\n firstPagePromise.then(function (firstPdfPage) {\n _this2._firstPageCapability.resolve(firstPdfPage);\n\n var scale = _this2.currentScale;\n var viewport = firstPdfPage.getViewport({\n scale: scale * _ui_utils.CSS_UNITS\n });\n var textLayerFactory = _this2.textLayerMode !== _ui_utils.TextLayerMode.DISABLE ? _this2 : null;\n\n for (var pageNum = 1; pageNum <= pagesCount; ++pageNum) {\n var pageView = new _pdf_page_view.PDFPageView({\n container: _this2._viewerElement,\n eventBus: _this2.eventBus,\n id: pageNum,\n scale: scale,\n defaultViewport: viewport.clone(),\n renderingQueue: _this2.renderingQueue,\n textLayerFactory: textLayerFactory,\n textLayerMode: _this2.textLayerMode,\n annotationLayerFactory: _this2,\n imageResourcesPath: _this2.imageResourcesPath,\n renderInteractiveForms: _this2.renderInteractiveForms,\n renderer: _this2.renderer,\n enableWebGL: _this2.enableWebGL,\n useOnlyCssZoom: _this2.useOnlyCssZoom,\n maxCanvasPixels: _this2.maxCanvasPixels,\n l10n: _this2.l10n\n });\n\n _this2._pages.push(pageView);\n }\n\n var firstPageView = _this2._pages[0];\n\n if (firstPageView) {\n firstPageView.setPdfPage(firstPdfPage);\n\n _this2.linkService.cachePageRef(1, firstPdfPage.ref);\n }\n\n if (_this2._spreadMode !== _ui_utils.SpreadMode.NONE) {\n _this2._updateSpreadMode();\n }\n\n _this2._onePageRenderedOrForceFetch().then(function () {\n if (_this2.findController) {\n _this2.findController.setDocument(pdfDocument);\n }\n\n if (pdfDocument.loadingParams.disableAutoFetch || pagesCount > 7500) {\n _this2._pagesCapability.resolve();\n\n return;\n }\n\n var getPagesLeft = pagesCount - 1;\n\n if (getPagesLeft <= 0) {\n _this2._pagesCapability.resolve();\n\n return;\n }\n\n var _loop = function _loop(_pageNum) {\n pdfDocument.getPage(_pageNum).then(function (pdfPage) {\n var pageView = _this2._pages[_pageNum - 1];\n\n if (!pageView.pdfPage) {\n pageView.setPdfPage(pdfPage);\n }\n\n _this2.linkService.cachePageRef(_pageNum, pdfPage.ref);\n\n if (--getPagesLeft === 0) {\n _this2._pagesCapability.resolve();\n }\n }, function (reason) {\n console.error(\"Unable to get page \".concat(_pageNum, \" to initialize viewer\"), reason);\n\n if (--getPagesLeft === 0) {\n _this2._pagesCapability.resolve();\n }\n });\n };\n\n for (var _pageNum = 2; _pageNum <= pagesCount; ++_pageNum) {\n _loop(_pageNum);\n }\n });\n\n _this2.eventBus.dispatch(\"pagesinit\", {\n source: _this2\n });\n\n if (_this2.defaultRenderingQueue) {\n _this2.update();\n }\n })[\"catch\"](function (reason) {\n console.error(\"Unable to initialize viewer\", reason);\n });\n }\n }, {\n key: \"setPageLabels\",\n value: function setPageLabels(labels) {\n if (!this.pdfDocument) {\n return;\n }\n\n if (!labels) {\n this._pageLabels = null;\n } else if (!(Array.isArray(labels) && this.pdfDocument.numPages === labels.length)) {\n this._pageLabels = null;\n console.error(\"\".concat(this._name, \".setPageLabels: Invalid page labels.\"));\n } else {\n this._pageLabels = labels;\n }\n\n for (var i = 0, ii = this._pages.length; i < ii; i++) {\n var pageView = this._pages[i];\n var label = this._pageLabels && this._pageLabels[i];\n pageView.setPageLabel(label);\n }\n }\n }, {\n key: \"_resetView\",\n value: function _resetView() {\n this._pages = [];\n this._currentPageNumber = 1;\n this._currentScale = _ui_utils.UNKNOWN_SCALE;\n this._currentScaleValue = null;\n this._pageLabels = null;\n this._buffer = new PDFPageViewBuffer(DEFAULT_CACHE_SIZE);\n this._location = null;\n this._pagesRotation = 0;\n this._pagesRequests = new WeakMap();\n this._firstPageCapability = (0, _pdfjsLib.createPromiseCapability)();\n this._onePageRenderedCapability = (0, _pdfjsLib.createPromiseCapability)();\n this._pagesCapability = (0, _pdfjsLib.createPromiseCapability)();\n this._scrollMode = _ui_utils.ScrollMode.VERTICAL;\n this._spreadMode = _ui_utils.SpreadMode.NONE;\n\n if (this._onBeforeDraw) {\n this.eventBus._off(\"pagerender\", this._onBeforeDraw);\n\n this._onBeforeDraw = null;\n }\n\n if (this._onAfterDraw) {\n this.eventBus._off(\"pagerendered\", this._onAfterDraw);\n\n this._onAfterDraw = null;\n }\n\n this.viewer.textContent = \"\";\n\n this._updateScrollMode();\n }\n }, {\n key: \"_scrollUpdate\",\n value: function _scrollUpdate() {\n if (this.pagesCount === 0) {\n return;\n }\n\n this.update();\n }\n }, {\n key: \"_scrollIntoView\",\n value: function _scrollIntoView(_ref) {\n var pageDiv = _ref.pageDiv,\n _ref$pageSpot = _ref.pageSpot,\n pageSpot = _ref$pageSpot === void 0 ? null : _ref$pageSpot,\n _ref$pageNumber = _ref.pageNumber,\n pageNumber = _ref$pageNumber === void 0 ? null : _ref$pageNumber;\n (0, _ui_utils.scrollIntoView)(pageDiv, pageSpot);\n }\n }, {\n key: \"_setScaleUpdatePages\",\n value: function _setScaleUpdatePages(newScale, newValue) {\n var noScroll = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var preset = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n this._currentScaleValue = newValue.toString();\n\n if (isSameScale(this._currentScale, newScale)) {\n if (preset) {\n this.eventBus.dispatch(\"scalechanging\", {\n source: this,\n scale: newScale,\n presetValue: newValue\n });\n }\n\n return;\n }\n\n for (var i = 0, ii = this._pages.length; i < ii; i++) {\n this._pages[i].update(newScale);\n }\n\n this._currentScale = newScale;\n\n if (!noScroll) {\n var page = this._currentPageNumber,\n dest;\n\n if (this._location && !(this.isInPresentationMode || this.isChangingPresentationMode)) {\n page = this._location.pageNumber;\n dest = [null, {\n name: \"XYZ\"\n }, this._location.left, this._location.top, null];\n }\n\n this.scrollPageIntoView({\n pageNumber: page,\n destArray: dest,\n allowNegativeOffset: true\n });\n }\n\n this.eventBus.dispatch(\"scalechanging\", {\n source: this,\n scale: newScale,\n presetValue: preset ? newValue : undefined\n });\n\n if (this.defaultRenderingQueue) {\n this.update();\n }\n }\n }, {\n key: \"_setScale\",\n value: function _setScale(value) {\n var noScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var scale = parseFloat(value);\n\n if (scale > 0) {\n this._setScaleUpdatePages(scale, value, noScroll, false);\n } else {\n var currentPage = this._pages[this._currentPageNumber - 1];\n\n if (!currentPage) {\n return;\n }\n\n var noPadding = this.isInPresentationMode || this.removePageBorders;\n var hPadding = noPadding ? 0 : _ui_utils.SCROLLBAR_PADDING;\n var vPadding = noPadding ? 0 : _ui_utils.VERTICAL_PADDING;\n\n if (!noPadding && this._isScrollModeHorizontal) {\n var _ref2 = [vPadding, hPadding];\n hPadding = _ref2[0];\n vPadding = _ref2[1];\n }\n\n var pageWidthScale = (this.container.clientWidth - hPadding) / currentPage.width * currentPage.scale;\n var pageHeightScale = (this.container.clientHeight - vPadding) / currentPage.height * currentPage.scale;\n\n switch (value) {\n case \"page-actual\":\n scale = 1;\n break;\n\n case \"page-width\":\n scale = pageWidthScale;\n break;\n\n case \"page-height\":\n scale = pageHeightScale;\n break;\n\n case \"page-fit\":\n scale = Math.min(pageWidthScale, pageHeightScale);\n break;\n\n case \"auto\":\n var horizontalScale = (0, _ui_utils.isPortraitOrientation)(currentPage) ? pageWidthScale : Math.min(pageHeightScale, pageWidthScale);\n scale = Math.min(_ui_utils.MAX_AUTO_SCALE, horizontalScale);\n break;\n\n default:\n console.error(\"\".concat(this._name, \"._setScale: \\\"\").concat(value, \"\\\" is an unknown zoom value.\"));\n return;\n }\n\n this._setScaleUpdatePages(scale, value, noScroll, true);\n }\n }\n }, {\n key: \"_resetCurrentPageView\",\n value: function _resetCurrentPageView() {\n if (this.isInPresentationMode) {\n this._setScale(this._currentScaleValue, true);\n }\n\n var pageView = this._pages[this._currentPageNumber - 1];\n\n this._scrollIntoView({\n pageDiv: pageView.div\n });\n }\n }, {\n key: \"scrollPageIntoView\",\n value: function scrollPageIntoView(_ref3) {\n var pageNumber = _ref3.pageNumber,\n _ref3$destArray = _ref3.destArray,\n destArray = _ref3$destArray === void 0 ? null : _ref3$destArray,\n _ref3$allowNegativeOf = _ref3.allowNegativeOffset,\n allowNegativeOffset = _ref3$allowNegativeOf === void 0 ? false : _ref3$allowNegativeOf,\n _ref3$ignoreDestinati = _ref3.ignoreDestinationZoom,\n ignoreDestinationZoom = _ref3$ignoreDestinati === void 0 ? false : _ref3$ignoreDestinati;\n\n if (!this.pdfDocument) {\n return;\n }\n\n var pageView = Number.isInteger(pageNumber) && this._pages[pageNumber - 1];\n\n if (!pageView) {\n console.error(\"\".concat(this._name, \".scrollPageIntoView: \") + \"\\\"\".concat(pageNumber, \"\\\" is not a valid pageNumber parameter.\"));\n return;\n }\n\n if (this.isInPresentationMode || !destArray) {\n this._setCurrentPageNumber(pageNumber, true);\n\n return;\n }\n\n var x = 0,\n y = 0;\n var width = 0,\n height = 0,\n widthScale,\n heightScale;\n var changeOrientation = pageView.rotation % 180 !== 0;\n var pageWidth = (changeOrientation ? pageView.height : pageView.width) / pageView.scale / _ui_utils.CSS_UNITS;\n var pageHeight = (changeOrientation ? pageView.width : pageView.height) / pageView.scale / _ui_utils.CSS_UNITS;\n var scale = 0;\n\n switch (destArray[1].name) {\n case \"XYZ\":\n x = destArray[2];\n y = destArray[3];\n scale = destArray[4];\n x = x !== null ? x : 0;\n y = y !== null ? y : pageHeight;\n break;\n\n case \"Fit\":\n case \"FitB\":\n scale = \"page-fit\";\n break;\n\n case \"FitH\":\n case \"FitBH\":\n y = destArray[2];\n scale = \"page-width\";\n\n if (y === null && this._location) {\n x = this._location.left;\n y = this._location.top;\n }\n\n break;\n\n case \"FitV\":\n case \"FitBV\":\n x = destArray[2];\n width = pageWidth;\n height = pageHeight;\n scale = \"page-height\";\n break;\n\n case \"FitR\":\n x = destArray[2];\n y = destArray[3];\n width = destArray[4] - x;\n height = destArray[5] - y;\n var hPadding = this.removePageBorders ? 0 : _ui_utils.SCROLLBAR_PADDING;\n var vPadding = this.removePageBorders ? 0 : _ui_utils.VERTICAL_PADDING;\n widthScale = (this.container.clientWidth - hPadding) / width / _ui_utils.CSS_UNITS;\n heightScale = (this.container.clientHeight - vPadding) / height / _ui_utils.CSS_UNITS;\n scale = Math.min(Math.abs(widthScale), Math.abs(heightScale));\n break;\n\n default:\n console.error(\"\".concat(this._name, \".scrollPageIntoView: \") + \"\\\"\".concat(destArray[1].name, \"\\\" is not a valid destination type.\"));\n return;\n }\n\n if (!ignoreDestinationZoom) {\n if (scale && scale !== this._currentScale) {\n this.currentScaleValue = scale;\n } else if (this._currentScale === _ui_utils.UNKNOWN_SCALE) {\n this.currentScaleValue = _ui_utils.DEFAULT_SCALE_VALUE;\n }\n }\n\n if (scale === \"page-fit\" && !destArray[4]) {\n this._scrollIntoView({\n pageDiv: pageView.div,\n pageNumber: pageNumber\n });\n\n return;\n }\n\n var boundingRect = [pageView.viewport.convertToViewportPoint(x, y), pageView.viewport.convertToViewportPoint(x + width, y + height)];\n var left = Math.min(boundingRect[0][0], boundingRect[1][0]);\n var top = Math.min(boundingRect[0][1], boundingRect[1][1]);\n\n if (!allowNegativeOffset) {\n left = Math.max(left, 0);\n top = Math.max(top, 0);\n }\n\n this._scrollIntoView({\n pageDiv: pageView.div,\n pageSpot: {\n left: left,\n top: top\n },\n pageNumber: pageNumber\n });\n }\n }, {\n key: \"_updateLocation\",\n value: function _updateLocation(firstPage) {\n var currentScale = this._currentScale;\n var currentScaleValue = this._currentScaleValue;\n var normalizedScaleValue = parseFloat(currentScaleValue) === currentScale ? Math.round(currentScale * 10000) / 100 : currentScaleValue;\n var pageNumber = firstPage.id;\n var pdfOpenParams = \"#page=\" + pageNumber;\n pdfOpenParams += \"&zoom=\" + normalizedScaleValue;\n var currentPageView = this._pages[pageNumber - 1];\n var container = this.container;\n var topLeft = currentPageView.getPagePoint(container.scrollLeft - firstPage.x, container.scrollTop - firstPage.y);\n var intLeft = Math.round(topLeft[0]);\n var intTop = Math.round(topLeft[1]);\n pdfOpenParams += \",\" + intLeft + \",\" + intTop;\n this._location = {\n pageNumber: pageNumber,\n scale: normalizedScaleValue,\n top: intTop,\n left: intLeft,\n rotation: this._pagesRotation,\n pdfOpenParams: pdfOpenParams\n };\n }\n }, {\n key: \"_updateHelper\",\n value: function _updateHelper(visiblePages) {\n throw new Error(\"Not implemented: _updateHelper\");\n }\n }, {\n key: \"update\",\n value: function update() {\n var visible = this._getVisiblePages();\n\n var visiblePages = visible.views,\n numVisiblePages = visiblePages.length;\n\n if (numVisiblePages === 0) {\n return;\n }\n\n var newCacheSize = Math.max(DEFAULT_CACHE_SIZE, 2 * numVisiblePages + 1);\n\n this._buffer.resize(newCacheSize, visiblePages);\n\n this.renderingQueue.renderHighestPriority(visible);\n\n this._updateHelper(visiblePages);\n\n this._updateLocation(visible.first);\n\n this.eventBus.dispatch(\"updateviewarea\", {\n source: this,\n location: this._location\n });\n }\n }, {\n key: \"containsElement\",\n value: function containsElement(element) {\n return this.container.contains(element);\n }\n }, {\n key: \"focus\",\n value: function focus() {\n this.container.focus();\n }\n }, {\n key: \"_getCurrentVisiblePage\",\n value: function _getCurrentVisiblePage() {\n if (!this.pagesCount) {\n return {\n views: []\n };\n }\n\n var pageView = this._pages[this._currentPageNumber - 1];\n var element = pageView.div;\n var view = {\n id: pageView.id,\n x: element.offsetLeft + element.clientLeft,\n y: element.offsetTop + element.clientTop,\n view: pageView\n };\n return {\n first: view,\n last: view,\n views: [view]\n };\n }\n }, {\n key: \"_getVisiblePages\",\n value: function _getVisiblePages() {\n return (0, _ui_utils.getVisibleElements)(this.container, this._pages, true, this._isScrollModeHorizontal);\n }\n }, {\n key: \"isPageVisible\",\n value: function isPageVisible(pageNumber) {\n if (!this.pdfDocument) {\n return false;\n }\n\n if (pageNumber < 1 || pageNumber > this.pagesCount) {\n console.error(\"\".concat(this._name, \".isPageVisible: \\\"\").concat(pageNumber, \"\\\" is out of bounds.\"));\n return false;\n }\n\n return this._getVisiblePages().views.some(function (view) {\n return view.id === pageNumber;\n });\n }\n }, {\n key: \"cleanup\",\n value: function cleanup() {\n for (var i = 0, ii = this._pages.length; i < ii; i++) {\n if (this._pages[i] && this._pages[i].renderingState !== _pdf_rendering_queue.RenderingStates.FINISHED) {\n this._pages[i].reset();\n }\n }\n }\n }, {\n key: \"_cancelRendering\",\n value: function _cancelRendering() {\n for (var i = 0, ii = this._pages.length; i < ii; i++) {\n if (this._pages[i]) {\n this._pages[i].cancelRendering();\n }\n }\n }\n }, {\n key: \"_ensurePdfPageLoaded\",\n value: function _ensurePdfPageLoaded(pageView) {\n var _this3 = this;\n\n if (pageView.pdfPage) {\n return Promise.resolve(pageView.pdfPage);\n }\n\n if (this._pagesRequests.has(pageView)) {\n return this._pagesRequests.get(pageView);\n }\n\n var promise = this.pdfDocument.getPage(pageView.id).then(function (pdfPage) {\n if (!pageView.pdfPage) {\n pageView.setPdfPage(pdfPage);\n }\n\n _this3._pagesRequests[\"delete\"](pageView);\n\n return pdfPage;\n })[\"catch\"](function (reason) {\n console.error(\"Unable to get page for page view\", reason);\n\n _this3._pagesRequests[\"delete\"](pageView);\n });\n\n this._pagesRequests.set(pageView, promise);\n\n return promise;\n }\n }, {\n key: \"forceRendering\",\n value: function forceRendering(currentlyVisiblePages) {\n var _this4 = this;\n\n var visiblePages = currentlyVisiblePages || this._getVisiblePages();\n\n var scrollAhead = this._isScrollModeHorizontal ? this.scroll.right : this.scroll.down;\n var pageView = this.renderingQueue.getHighestPriority(visiblePages, this._pages, scrollAhead);\n\n if (pageView) {\n this._ensurePdfPageLoaded(pageView).then(function () {\n _this4.renderingQueue.renderView(pageView);\n });\n\n return true;\n }\n\n return false;\n }\n }, {\n key: \"createTextLayerBuilder\",\n value: function createTextLayerBuilder(textLayerDiv, pageIndex, viewport) {\n var enhanceTextSelection = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n var eventBus = arguments.length > 4 ? arguments[4] : undefined;\n return new _text_layer_builder.TextLayerBuilder({\n textLayerDiv: textLayerDiv,\n eventBus: eventBus,\n pageIndex: pageIndex,\n viewport: viewport,\n findController: this.isInPresentationMode ? null : this.findController,\n enhanceTextSelection: this.isInPresentationMode ? false : enhanceTextSelection\n });\n }\n }, {\n key: \"createAnnotationLayerBuilder\",\n value: function createAnnotationLayerBuilder(pageDiv, pdfPage) {\n var imageResourcesPath = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : \"\";\n var renderInteractiveForms = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n var l10n = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : _ui_utils.NullL10n;\n return new _annotation_layer_builder.AnnotationLayerBuilder({\n pageDiv: pageDiv,\n pdfPage: pdfPage,\n imageResourcesPath: imageResourcesPath,\n renderInteractiveForms: renderInteractiveForms,\n linkService: this.linkService,\n downloadManager: this.downloadManager,\n l10n: l10n\n });\n }\n }, {\n key: \"getPagesOverview\",\n value: function getPagesOverview() {\n var pagesOverview = this._pages.map(function (pageView) {\n var viewport = pageView.pdfPage.getViewport({\n scale: 1\n });\n return {\n width: viewport.width,\n height: viewport.height,\n rotation: viewport.rotation\n };\n });\n\n if (!this.enablePrintAutoRotate) {\n return pagesOverview;\n }\n\n var isFirstPagePortrait = (0, _ui_utils.isPortraitOrientation)(pagesOverview[0]);\n return pagesOverview.map(function (size) {\n if (isFirstPagePortrait === (0, _ui_utils.isPortraitOrientation)(size)) {\n return size;\n }\n\n return {\n width: size.height,\n height: size.width,\n rotation: (size.rotation + 90) % 360\n };\n });\n }\n }, {\n key: \"_updateScrollMode\",\n value: function _updateScrollMode() {\n var pageNumber = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n var scrollMode = this._scrollMode,\n viewer = this.viewer;\n viewer.classList.toggle(\"scrollHorizontal\", scrollMode === _ui_utils.ScrollMode.HORIZONTAL);\n viewer.classList.toggle(\"scrollWrapped\", scrollMode === _ui_utils.ScrollMode.WRAPPED);\n\n if (!this.pdfDocument || !pageNumber) {\n return;\n }\n\n if (this._currentScaleValue && isNaN(this._currentScaleValue)) {\n this._setScale(this._currentScaleValue, true);\n }\n\n this._setCurrentPageNumber(pageNumber, true);\n\n this.update();\n }\n }, {\n key: \"_updateSpreadMode\",\n value: function _updateSpreadMode() {\n var pageNumber = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\n if (!this.pdfDocument) {\n return;\n }\n\n var viewer = this.viewer,\n pages = this._pages;\n viewer.textContent = \"\";\n\n if (this._spreadMode === _ui_utils.SpreadMode.NONE) {\n for (var i = 0, iMax = pages.length; i < iMax; ++i) {\n viewer.appendChild(pages[i].div);\n }\n } else {\n var parity = this._spreadMode - 1;\n var spread = null;\n\n for (var _i = 0, _iMax = pages.length; _i < _iMax; ++_i) {\n if (spread === null) {\n spread = document.createElement(\"div\");\n spread.className = \"spread\";\n viewer.appendChild(spread);\n } else if (_i % 2 === parity) {\n spread = spread.cloneNode(false);\n viewer.appendChild(spread);\n }\n\n spread.appendChild(pages[_i].div);\n }\n }\n\n if (!pageNumber) {\n return;\n }\n\n this._setCurrentPageNumber(pageNumber, true);\n\n this.update();\n }\n }, {\n key: \"pagesCount\",\n get: function get() {\n return this._pages.length;\n }\n }, {\n key: \"pageViewsReady\",\n get: function get() {\n if (!this._pagesCapability.settled) {\n return false;\n }\n\n return this._pages.every(function (pageView) {\n return pageView && pageView.pdfPage;\n });\n }\n }, {\n key: \"currentPageNumber\",\n get: function get() {\n return this._currentPageNumber;\n },\n set: function set(val) {\n if (!Number.isInteger(val)) {\n throw new Error(\"Invalid page number.\");\n }\n\n if (!this.pdfDocument) {\n return;\n }\n\n if (!this._setCurrentPageNumber(val, true)) {\n console.error(\"\".concat(this._name, \".currentPageNumber: \\\"\").concat(val, \"\\\" is not a valid page.\"));\n }\n }\n }, {\n key: \"currentPageLabel\",\n get: function get() {\n return this._pageLabels && this._pageLabels[this._currentPageNumber - 1];\n },\n set: function set(val) {\n if (!this.pdfDocument) {\n return;\n }\n\n var page = val | 0;\n\n if (this._pageLabels) {\n var i = this._pageLabels.indexOf(val);\n\n if (i >= 0) {\n page = i + 1;\n }\n }\n\n if (!this._setCurrentPageNumber(page, true)) {\n console.error(\"\".concat(this._name, \".currentPageLabel: \\\"\").concat(val, \"\\\" is not a valid page.\"));\n }\n }\n }, {\n key: \"currentScale\",\n get: function get() {\n return this._currentScale !== _ui_utils.UNKNOWN_SCALE ? this._currentScale : _ui_utils.DEFAULT_SCALE;\n },\n set: function set(val) {\n if (isNaN(val)) {\n throw new Error(\"Invalid numeric scale.\");\n }\n\n if (!this.pdfDocument) {\n return;\n }\n\n this._setScale(val, false);\n }\n }, {\n key: \"currentScaleValue\",\n get: function get() {\n return this._currentScaleValue;\n },\n set: function set(val) {\n if (!this.pdfDocument) {\n return;\n }\n\n this._setScale(val, false);\n }\n }, {\n key: \"pagesRotation\",\n get: function get() {\n return this._pagesRotation;\n },\n set: function set(rotation) {\n if (!(0, _ui_utils.isValidRotation)(rotation)) {\n throw new Error(\"Invalid pages rotation angle.\");\n }\n\n if (!this.pdfDocument) {\n return;\n }\n\n if (this._pagesRotation === rotation) {\n return;\n }\n\n this._pagesRotation = rotation;\n var pageNumber = this._currentPageNumber;\n\n for (var i = 0, ii = this._pages.length; i < ii; i++) {\n var pageView = this._pages[i];\n pageView.update(pageView.scale, rotation);\n }\n\n if (this._currentScaleValue) {\n this._setScale(this._currentScaleValue, true);\n }\n\n this.eventBus.dispatch(\"rotationchanging\", {\n source: this,\n pagesRotation: rotation,\n pageNumber: pageNumber\n });\n\n if (this.defaultRenderingQueue) {\n this.update();\n }\n }\n }, {\n key: \"firstPagePromise\",\n get: function get() {\n return this.pdfDocument ? this._firstPageCapability.promise : null;\n }\n }, {\n key: \"onePageRendered\",\n get: function get() {\n return this.pdfDocument ? this._onePageRenderedCapability.promise : null;\n }\n }, {\n key: \"pagesPromise\",\n get: function get() {\n return this.pdfDocument ? this._pagesCapability.promise : null;\n }\n }, {\n key: \"_viewerElement\",\n get: function get() {\n throw new Error(\"Not implemented: _viewerElement\");\n }\n }, {\n key: \"_isScrollModeHorizontal\",\n get: function get() {\n return this.isInPresentationMode ? false : this._scrollMode === _ui_utils.ScrollMode.HORIZONTAL;\n }\n }, {\n key: \"isInPresentationMode\",\n get: function get() {\n return this.presentationModeState === _ui_utils.PresentationModeState.FULLSCREEN;\n }\n }, {\n key: \"isChangingPresentationMode\",\n get: function get() {\n return this.presentationModeState === _ui_utils.PresentationModeState.CHANGING;\n }\n }, {\n key: \"isHorizontalScrollbarEnabled\",\n get: function get() {\n return this.isInPresentationMode ? false : this.container.scrollWidth > this.container.clientWidth;\n }\n }, {\n key: \"isVerticalScrollbarEnabled\",\n get: function get() {\n return this.isInPresentationMode ? false : this.container.scrollHeight > this.container.clientHeight;\n }\n }, {\n key: \"hasEqualPageSizes\",\n get: function get() {\n var firstPageView = this._pages[0];\n\n for (var i = 1, ii = this._pages.length; i < ii; ++i) {\n var pageView = this._pages[i];\n\n if (pageView.width !== firstPageView.width || pageView.height !== firstPageView.height) {\n return false;\n }\n }\n\n return true;\n }\n }, {\n key: \"scrollMode\",\n get: function get() {\n return this._scrollMode;\n },\n set: function set(mode) {\n if (this._scrollMode === mode) {\n return;\n }\n\n if (!(0, _ui_utils.isValidScrollMode)(mode)) {\n throw new Error(\"Invalid scroll mode: \".concat(mode));\n }\n\n this._scrollMode = mode;\n this.eventBus.dispatch(\"scrollmodechanged\", {\n source: this,\n mode: mode\n });\n\n this._updateScrollMode(this._currentPageNumber);\n }\n }, {\n key: \"spreadMode\",\n get: function get() {\n return this._spreadMode;\n },\n set: function set(mode) {\n if (this._spreadMode === mode) {\n return;\n }\n\n if (!(0, _ui_utils.isValidSpreadMode)(mode)) {\n throw new Error(\"Invalid spread mode: \".concat(mode));\n }\n\n this._spreadMode = mode;\n this.eventBus.dispatch(\"spreadmodechanged\", {\n source: this,\n mode: mode\n });\n\n this._updateSpreadMode(this._currentPageNumber);\n }\n }]);\n\n return BaseViewer;\n}();\n\nexports.BaseViewer = BaseViewer;\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFViewer = void 0;\n\nvar _base_viewer = __w_pdfjs_require__(19);\n\nvar _pdfjsLib = __w_pdfjs_require__(2);\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; 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 _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; 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 _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 _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 _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\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 _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar PDFViewer = /*#__PURE__*/function (_BaseViewer) {\n _inherits(PDFViewer, _BaseViewer);\n\n var _super = _createSuper(PDFViewer);\n\n function PDFViewer() {\n _classCallCheck(this, PDFViewer);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(PDFViewer, [{\n key: \"_scrollIntoView\",\n value: function _scrollIntoView(_ref) {\n var pageDiv = _ref.pageDiv,\n _ref$pageSpot = _ref.pageSpot,\n pageSpot = _ref$pageSpot === void 0 ? null : _ref$pageSpot,\n _ref$pageNumber = _ref.pageNumber,\n pageNumber = _ref$pageNumber === void 0 ? null : _ref$pageNumber;\n\n if (!pageSpot && !this.isInPresentationMode) {\n var left = pageDiv.offsetLeft + pageDiv.clientLeft;\n var right = left + pageDiv.clientWidth;\n var _this$container = this.container,\n scrollLeft = _this$container.scrollLeft,\n clientWidth = _this$container.clientWidth;\n\n if (this._isScrollModeHorizontal || left < scrollLeft || right > scrollLeft + clientWidth) {\n pageSpot = {\n left: 0,\n top: 0\n };\n }\n }\n\n _get(_getPrototypeOf(PDFViewer.prototype), \"_scrollIntoView\", this).call(this, {\n pageDiv: pageDiv,\n pageSpot: pageSpot,\n pageNumber: pageNumber\n });\n }\n }, {\n key: \"_getVisiblePages\",\n value: function _getVisiblePages() {\n if (this.isInPresentationMode) {\n return this._getCurrentVisiblePage();\n }\n\n return _get(_getPrototypeOf(PDFViewer.prototype), \"_getVisiblePages\", this).call(this);\n }\n }, {\n key: \"_updateHelper\",\n value: function _updateHelper(visiblePages) {\n if (this.isInPresentationMode) {\n return;\n }\n\n var currentId = this._currentPageNumber;\n var stillFullyVisible = false;\n\n var _iterator = _createForOfIteratorHelper(visiblePages),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var page = _step.value;\n\n if (page.percent < 100) {\n break;\n }\n\n if (page.id === currentId) {\n stillFullyVisible = true;\n break;\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n if (!stillFullyVisible) {\n currentId = visiblePages[0].id;\n }\n\n this._setCurrentPageNumber(currentId);\n }\n }, {\n key: \"_viewerElement\",\n get: function get() {\n return (0, _pdfjsLib.shadow)(this, \"_viewerElement\", this.viewer);\n }\n }]);\n\n return PDFViewer;\n}(_base_viewer.BaseViewer);\n\nexports.PDFViewer = PDFViewer;\n\n/***/ })\n/******/ ]);\n});\n//# sourceMappingURL=pdf_viewer.js.map","export * from \"-!../../mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../vue-loader/lib/loaders/stylePostLoader.js!../../postcss-loader/src/index.js??ref--6-oneOf-1-2!./annotationLayer.css?vue&type=style&index=0&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"page-wrapper\"},[_c('div',{staticClass:\"page-title\"},[_c('div',{staticClass:\"page-title-name\"},[_vm._v(\"预览打印\")]),_c('div',{staticClass:\"page-title-operate\",on:{\"click\":_vm.backPage}},[_c('i',{staticClass:\"el-icon-back\"}),_vm._v(\"返回\")])]),_c('div',{staticClass:\"page-content\"},[_c('div',{staticClass:\"cert-title\"},[_c('div',{staticClass:\"cert-title-name\"},[_vm._v(\"正本\")]),_c('div',{staticClass:\"cert-title-operate\"},[_c('el-button',{staticClass:\"cert-title-print\",attrs:{\"plain\":\"\"},on:{\"click\":_vm.downFile}},[_vm._v(\" 导出详细信息 \")]),_c('el-button',{staticClass:\"cert-title-print\",attrs:{\"plain\":\"\",\"loading\":_vm.original_loading},on:{\"click\":function($event){return _vm.setCertPrintState(0)}}},[_vm._v(\" 打印正本 \")])],1)]),_vm._l((_vm.originalNumPages),function(page){return _c('pdf',{key:page,ref:\"pdf\",refInFor:true,staticClass:\"pdf-view\",attrs:{\"page\":page,\"rotate\":_vm.rotateX,\"src\":_vm.original_pdf},on:{\"progress\":_vm.loadProgress,\"error\":_vm.pdfError}})}),_c('div',{staticClass:\"cert-title\"},[_c('div',{staticClass:\"cert-title-name\"},[_vm._v(\"副本\")]),_c('div',{staticClass:\"cert-title-operate\"},[_c('el-button',{staticClass:\"cert-title-print\",attrs:{\"plain\":\"\",\"loading\":_vm.copy_loading},on:{\"click\":function($event){return _vm.setCertPrintState(1)}}},[_vm._v(\"打印副本 \")])],1)]),_vm._l((_vm.copyNumPages),function(page){return _c('pdf',{key:page,ref:\"pdf\",refInFor:true,staticClass:\"pdf-view\",attrs:{\"page\":page,\"rotate\":_vm.rotateX,\"src\":_vm.copy_pdf}})})],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render, staticRenderFns\nimport script from \"./resize-sensor.vue?vue&type=script&lang=js&\"\nexport * from \"./resize-sensor.vue?vue&type=script&lang=js&\"\nimport style0 from \"./resize-sensor.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n","import mod from \"-!../../cache-loader/dist/cjs.js??ref--12-0!../../thread-loader/dist/cjs.js!../../babel-loader/lib/index.js!../../cache-loader/dist/cjs.js??ref--0-0!../../vue-loader/lib/index.js??vue-loader-options!./resize-sensor.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../cache-loader/dist/cjs.js??ref--12-0!../../thread-loader/dist/cjs.js!../../babel-loader/lib/index.js!../../cache-loader/dist/cjs.js??ref--0-0!../../vue-loader/lib/index.js??vue-loader-options!./resize-sensor.vue?vue&type=script&lang=js&\"","import resizeSensor from 'vue-resize-sensor'\r\n\r\nexport default function(pdfjsWrapper) {\r\n\r\n\tvar createLoadingTask = pdfjsWrapper.createLoadingTask;\r\n\tvar PDFJSWrapper = pdfjsWrapper.PDFJSWrapper;\r\n\r\n\treturn {\r\n\t\tcreateLoadingTask: createLoadingTask,\r\n\t\trender: function(h) {\r\n\t\t\treturn h('span', {\r\n\t\t\t\tattrs: {\r\n\t\t\t\t\tstyle: 'position: relative; display: block'\r\n\t\t\t\t}\r\n\t\t\t}, [\r\n\t\t\t\th('canvas', {\r\n\t\t\t\t\tattrs: {\r\n\t\t\t\t\t\tstyle: 'display: inline-block; width: 100%; height: 100%; vertical-align: top',\r\n\t\t\t\t\t},\r\n\t\t\t\t\tref:'canvas'\r\n\t\t\t\t}),\r\n\t\t\t\th('span', {\r\n\t\t\t\t\tstyle: 'display: inline-block; width: 100%; height: 100%',\r\n\t\t\t\t\tclass: 'annotationLayer',\r\n\t\t\t\t\tref:'annotationLayer'\r\n\t\t\t\t}),\r\n\t\t\t\th(resizeSensor, {\r\n\t\t\t\t\tprops: {\r\n\t\t\t\t\t\tinitial: true\r\n\t\t\t\t\t},\r\n\t\t\t\t\ton: {\r\n\t\t\t\t\t\tresize: this.resize\r\n\t\t\t\t\t},\r\n\t\t\t\t})\r\n\t\t\t])\r\n\t\t},\r\n\t\tprops: {\r\n\t\t\tsrc: {\r\n\t\t\t\ttype: [String, Object, Uint8Array],\r\n\t\t\t\tdefault: '',\r\n\t\t\t},\r\n\t\t\tpage: {\r\n\t\t\t\ttype: Number,\r\n\t\t\t\tdefault: 1,\r\n\t\t\t},\r\n\t\t\trotate: {\r\n\t\t\t\ttype: Number,\r\n\t\t\t},\r\n\t\t},\r\n\t\twatch: {\r\n\t\t\tsrc: function() {\r\n\r\n\t\t\t\tthis.pdf.loadDocument(this.src);\r\n\t\t\t},\r\n\t\t\tpage: function() {\r\n\r\n\t\t\t\tthis.pdf.loadPage(this.page, this.rotate);\r\n\t\t\t},\r\n\t\t\trotate: function() {\r\n\t\t\t\tthis.pdf.renderPage(this.rotate);\r\n\t\t\t},\r\n\t\t},\r\n\t\tmethods: {\r\n\t\t\tresize: function(size) {\r\n\r\n\t\t\t\t// check if the element is attached to the dom tree || resizeSensor being destroyed\r\n\t\t\t\tif ( this.$el.parentNode === null || (size.width === 0 && size.height === 0) )\r\n\t\t\t\t\treturn;\r\n\r\n\t\t\t\t// on IE10- canvas height must be set\r\n\t\t\t\tthis.$refs.canvas.style.height = this.$refs.canvas.offsetWidth * (this.$refs.canvas.height / this.$refs.canvas.width) + 'px';\r\n\t\t\t\t// update the page when the resolution is too poor\r\n\t\t\t\tvar resolutionScale = this.pdf.getResolutionScale();\r\n\r\n\t\t\t\tif ( resolutionScale < 0.85 || resolutionScale > 1.15 )\r\n\t\t\t\t\tthis.pdf.renderPage(this.rotate);\r\n\r\n\t\t\t\t// this.$refs.annotationLayer.style.transform = 'scale('+resolutionScale+')';\r\n\t\t\t},\r\n\t\t\tprint: function(dpi, pageList) {\r\n\r\n\t\t\t\tthis.pdf.printPage(dpi, pageList);\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\t// doc: mounted hook is not called during server-side rendering.\r\n\t\tmounted: function() {\r\n\r\n\t\t\tthis.pdf = new PDFJSWrapper(this.$refs.canvas, this.$refs.annotationLayer, this.$emit.bind(this));\r\n\r\n\t\t\tthis.$on('loaded', function() {\r\n\r\n\t\t\t\tthis.pdf.loadPage(this.page, this.rotate);\r\n\t\t\t});\r\n\r\n\t\t\tthis.$on('page-size', function(width, height) {\r\n\r\n\t\t\t\tthis.$refs.canvas.style.height = this.$refs.canvas.offsetWidth * (height / width) + 'px';\r\n\t\t\t});\r\n\r\n\t\t\tthis.pdf.loadDocument(this.src);\r\n\t\t},\r\n\r\n\t\t// doc: destroyed hook is not called during server-side rendering.\r\n\t\tdestroyed: function() {\r\n\r\n\t\t\tthis.pdf.destroy();\r\n\t\t}\r\n\t}\r\n\r\n}\r\n","\r\n","var render, staticRenderFns\nimport script from \"./vuePdfNoSss.vue?vue&type=script&lang=js&\"\nexport * from \"./vuePdfNoSss.vue?vue&type=script&lang=js&\"\nimport style0 from \"./annotationLayer.css?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../cache-loader/dist/cjs.js??ref--12-0!../../thread-loader/dist/cjs.js!../../babel-loader/lib/index.js!../../cache-loader/dist/cjs.js??ref--0-0!../../vue-loader/lib/index.js??vue-loader-options!./vuePdfNoSss.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../cache-loader/dist/cjs.js??ref--12-0!../../thread-loader/dist/cjs.js!../../babel-loader/lib/index.js!../../cache-loader/dist/cjs.js??ref--0-0!../../vue-loader/lib/index.js??vue-loader-options!./vuePdfNoSss.vue?vue&type=script&lang=js&\"","\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Perview.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Perview.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Perview.vue?vue&type=template&id=5efabdd2&scoped=true&\"\nimport script from \"./Perview.vue?vue&type=script&lang=js&\"\nexport * from \"./Perview.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Perview.vue?vue&type=style&index=0&id=5efabdd2&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5efabdd2\",\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}