{"version":3,"sources":["webpack:///./src/views/agreementRecord/DetailPDF.vue?ba29","webpack:///./src/components/common/NavBar.vue?e4ee","webpack:///src/components/common/NavBar.vue","webpack:///./src/components/common/NavBar.vue?b418","webpack:///./src/components/common/NavBar.vue","webpack:///./src/views/agreementRecord/DetailPDF.vue?a304","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/agreementRecord/DetailPDF.vue","webpack:///./src/views/agreementRecord/DetailPDF.vue?a39d","webpack:///./src/views/agreementRecord/DetailPDF.vue","webpack:///./node_modules/base64-js/index.js","webpack:///./node_modules/pdfjs-dist/es5/build/pdf.worker.js","webpack:///./src/network/agreementRecord.js","webpack:///./node_modules/pdfjs-dist/es5/build/pdf.js","webpack:///./node_modules/ieee754/index.js","webpack:///./src/components/common/NavBar.vue?6643","webpack:///./node_modules/vue-pdf/src/pdfjsWrapper.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"],"names":["render","_vm","this","_h","$createElement","_c","_self","staticClass","isback","isExam","isShowBackIcon","on","examBack","_t","backClick","loginOout","_e","exitClick","style","width","rightWidth","staticRenderFns","name","props","backPath","type","String","default","Boolean","isLogout","watch","newVal","console","log","methods","$router","back","push","$emit","localStorage","removeItem","store","getItem","setTimeout","clear","component","attrs","slot","_v","_s","Title","staticStyle","_l","i","key","pdfSrc","$event","currentPage","createLoadingTask","pdfjsWrapper","PDFJSWrapper","h","ref","class","initial","resize","src","Object","Uint8Array","page","Number","rotate","pdf","loadDocument","loadPage","renderPage","size","$el","parentNode","height","$refs","canvas","offsetWidth","resolutionScale","getResolutionScale","print","dpi","pageList","printPage","mounted","annotationLayer","bind","$on","destroyed","destroy","metaInfo","meta","components","NavBar","Id","Path","fileType","numPages","undefined","pageCount","pagesize","scale","idx","$route","query","id","title","getPage","document","body","backgroundColor","$loading","hide","val","parseInt","e","pageRotate","show","result","that","Blob","binaryData","pdfUrl","window","URL","createObjectURL","aa","promise","then","loadPdfHandler","file","url","webkitURL","exports","byteLength","toByteArray","fromByteArray","lookup","revLookup","Arr","Array","code","len","length","charCodeAt","getLens","b64","Error","validLen","indexOf","placeHoldersLen","lens","_byteLength","tmp","arr","curByte","tripletToBase64","num","encodeChunk","uint8","start","end","output","join","extraBytes","parts","maxChunkLength","len2","module","Worker","GetMyAgreementRerords","request","method","GetAgreementPDFStream","responseType","headers","params","postAgreement","obj","data","imgUrl","CheckSignIDCard","agreementRecordId","studentName","idCard","GetAgreementRerordDetail","root","factory","__webpack_modules__","__unused_webpack_module","__w_pdfjs_require__","defineProperty","value","enumerable","get","_display_utils","addLinkAttributes","getFilenameFromUrl","LinkTarget","loadScript","PDFDateString","RenderingCancelledException","_api","build","getDocument","LoopbackPort","PDFDataRangeTransport","PDFWorker","version","_util","CMapCompressionType","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","PDFFetchStream","PDFNetworkStream","isFetchSupported","isValidFetchUrl","_typeof","Symbol","iterator","constructor","prototype","deprecated","StatTimer","PageViewport","DOMSVGFactory","DOMCMapReaderFactory","DOMCanvasFactory","DEFAULT_LINK_REL","BaseCMapReaderFactory","BaseCanvasFactory","_regenerator","_interopRequireDefault","__esModule","_createForOfIteratorHelper","o","allowArrayLike","it","isArray","_unsupportedIterableToArray","F","s","n","done","f","TypeError","err","normalCompletion","didErr","step","next","_e2","minLen","_arrayLikeToArray","toString","call","slice","from","test","arr2","asyncGeneratorStep","gen","resolve","reject","_next","_throw","arg","info","error","Promise","_asyncToGenerator","fn","self","args","arguments","apply","_inherits","subClass","superClass","create","writable","configurable","_setPrototypeOf","p","setPrototypeOf","__proto__","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","Super","_getPrototypeOf","NewTarget","Reflect","construct","_possibleConstructorReturn","_assertThisInitialized","ReferenceError","sham","Proxy","Date","getPrototypeOf","_classCallCheck","instance","Constructor","_defineProperties","target","descriptor","_createClass","protoProps","staticProps","SVG_NS","unreachable","canvasAndContext","context","_BaseCanvasFactory","_super","_this","_ref","_ref$ownerDocument","ownerDocument","globalThis","_document","createElement","getContext","_ref2","_ref2$baseUrl","baseUrl","_ref2$isCompressed","isCompressed","_fetch","mark","_callee","_ref3","compressionType","_this2","wrap","_context","prev","BINARY","NONE","abrupt","_fetchData","reason","concat","stop","fetch","_x","_BaseCMapReaderFactor","_super2","_this3","baseURI","_ref4","_callee2","response","cMapData","_context2","ok","statusText","t0","arrayBuffer","t1","sent","t2","stringToBytes","text","t3","_x2","XMLHttpRequest","open","onreadystatechange","readyState","DONE","status","responseText","send","assert","svg","createElementNS","setAttribute","_ref5","viewBox","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","_super3","msg","_this4","BaseException","SELF","BLANK","PARENT","TOP","link","_ref7","rel","_ref7$enabled","enabled","urlNullRemoved","href","onclick","targetStr","anchor","min","substring","lastIndexOf","pdfDateStringRegex","started","times","warn","now","_step","outBuf","longest","_iterator","time","_step2","_iterator2","_time","duration","padEnd","Response","ReadableStream","_ref8","protocol","ex","removeScriptElement","script","onload","evt","remove","onerror","head","documentElement","appendChild","details","input","isString","RegExp","matches","exec","year","month","day","hour","minute","second","universalTimeRelation","offsetHour","offsetMinute","UTC","__unused_webpack_exports","nmd","runtime","Op","hasOwn","hasOwnProperty","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","Context","_invoke","makeInvokeMethod","tryCatch","GenStateSuspendedStart","GenStateSuspendedYield","GenStateExecuting","GenStateCompleted","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","NativeIteratorPrototype","values","Gp","defineIteratorMethods","forEach","AsyncIterator","PromiseImpl","invoke","record","__await","unwrapped","previousPromise","enqueue","callInvokeWithMethodAndArg","state","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","object","reverse","pop","skipTempReset","charAt","rootEntry","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","Function","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","arrayByteLength","arraysToBytes","bytesToString","encodeToXmlString","escapeString","getModificationDate","getVerbosityLevel","isArrayBuffer","isArrayEqual","isAscii","isBool","isNum","isSameOrigin","objectFromEntries","objectSize","setVerbosityLevel","string32","stringToPDFString","stringToUTF16BEString","stringToUTF8String","utf8StringToString","UnknownErrorException","TextRenderingMode","StreamType","PasswordException","PageActionEventType","IsLittleEndianCached","IsEvalSupportedCached","ImageKind","IDENTITY_MATRIX","FormatError","FontType","FONT_IDENTITY_MATRIX","DocumentActionEventType","AnnotationType","AnnotationStateModelType","AnnotationReviewState","AnnotationReplyType","AnnotationMarkedState","AnnotationFlag","AnnotationFieldFlag","AnnotationBorderStyleType","AnnotationActionEventType","AbortException","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","E","X","D","U","Fo","Bl","PO","PC","PV","PI","K","V","C","WC","WS","DS","WP","DP","O","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","errorMarkedContent","NEED_PASSWORD","INCORRECT_PASSWORD","verbosity","level","isInteger","cond","otherUrl","base","origin","other","_isValidProtocol","absoluteUrl","prop","message","_BaseException2","_BaseException3","_BaseException4","_super4","_BaseException5","_super5","_BaseException6","_super6","_BaseException7","_super7","NullCharactersRegExp","str","replace","bytes","MAX_ARGUMENT_COUNT","fromCharCode","strBuf","chunkEnd","chunk","subarray","resultLength","pos","_i","item","itemLength","set","assign","fromEntries","isLittleEndian","buffer8","view32","Uint32Array","buffer","isEvalSupported","hexNumbers","map","padStart","r","g","b","m1","m2","m","xt","yt","d","p1","p2","p3","p4","max","v","transpose","a","c","first","sqrt","sx","sy","rect1","rect2","compare","orderedX","sort","orderedY","normalizeRect","PDFStringTranslateTable","_i2","_i3","match","buf","ii","_char","decodeURIComponent","escape","unescape","encodeURIComponent","arr1","every","element","index","date","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","capability","isSettled","digits","contentType","forceDataSchema","blob","b1","b2","b3","d1","d2","d3","d4","XMLEntities","_char2","codePointAt","entity","toUpperCase","_is_node","_pdfjsCompatibilityChecked","btoa","chars","Buffer","atob","allSettled","isReadableStreamSupported","controller","close","entries","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","P","fails","nativePropertyIsEnumerable","propertyIsEnumerable","NASHORN_BUG","1","bitmap","IndexedObject","requireObjectCoercible","classof","split","isObject","PREFERRED_STRING","valueOf","EXISTS","definePropertyModule","anObject","nativeDefineProperty","Attributes","inspectSource","InternalStateModule","getInternalState","enforceInternalState","enforce","TEMPLATE","unsafe","simple","functionToString","SHARED","NATIVE_WEAK_MAP","objectHas","shared","sharedKey","hiddenKeys","WeakMap","getterFor","TYPE","wmget","wmhas","wmset","metadata","facade","STATE","uid","IS_PURE","mode","copyright","postfix","random","ownKeys","getOwnPropertyDescriptorModule","getBuiltIn","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","getOwnPropertySymbols","path","aFunction","variable","namespace","internalObjectKeys","enumBugKeys","getOwnPropertyNames","names","toLength","toAbsoluteIndex","createMethod","IS_INCLUDES","$this","el","fromIndex","includes","toInteger","argument","ceil","floor","integer","replacement","feature","detection","normalize","POLYFILL","NATIVE","string","toLowerCase","addToUnscopables","Iterators","defineIterator","ARRAY_ITERATOR","setInternalState","iterated","kind","Arguments","wellKnownSymbol","UNSCOPABLES","ArrayPrototype","NATIVE_SYMBOL","USE_SYMBOL_AS_UID","WellKnownSymbolsStore","createWellKnownSymbol","withoutSetter","activeXDocument","defineProperties","html","documentCreateElement","GT","LT","PROTOTYPE","SCRIPT","IE_PROTO","EmptyConstructor","scriptTag","content","NullProtoObjectViaActiveX","write","temp","parentWindow","NullProtoObjectViaIFrame","iframeDocument","iframe","JS","display","contentWindow","NullProtoObject","domain","ActiveXObject","Properties","objectKeys","createIteratorConstructor","setToStringTag","IteratorsCore","BUGGY_SAFARI_ITERATORS","ITERATOR","KEYS","VALUES","ENTRIES","returnThis","Iterable","NAME","IteratorConstructor","DEFAULT","IS_SET","CurrentIteratorPrototype","KEY","getIterationMethod","KIND","defaultIterator","IterablePrototype","TO_STRING_TAG","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","proto","PrototypeOfArrayIteratorPrototype","arrayIterator","NEW_ITERATOR_PROTOTYPE","toObject","CORRECT_PROTOTYPE_GETTER","ObjectPrototype","TAG","aPossiblePrototype","setter","CORRECT_SETTER","iterate","createProperty","k","AS_ENTRIES","isArrayIteratorMethod","getIteratorMethod","iteratorClose","Result","stopped","unboundFunction","iterFn","IS_ITERATOR","INTERRUPTED","condition","callFn","TO_STRING_TAG_SUPPORT","classofRaw","CORRECT_ARGUMENTS","tryGet","tag","callee","returnMethod","propertyKey","$AggregateError","errors","errorsArray","AggregateError","Internal","OwnPromiseCapability","PromiseWrapper","nativeThen","NativePromise","redefineAll","setSpecies","anInstance","checkCorrectnessOfIteration","speciesConstructor","task","microtask","promiseResolve","hostReportErrors","newPromiseCapabilityModule","perform","IS_NODE","V8_VERSION","SPECIES","PROMISE","getInternalPromiseState","PromiseConstructor","$fetch","newPromiseCapability","newGenericPromiseCapability","DISPATCH_EVENT","createEvent","dispatchEvent","NATIVE_REJECTION_EVENT","PromiseRejectionEvent","UNHANDLED_REJECTION","REJECTION_HANDLED","PENDING","FULFILLED","HANDLED","UNHANDLED","GLOBAL_CORE_JS_PROMISE","FakePromise","INCORRECT_ITERATION","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","SAFE_CLOSING","called","iteratorWithReturn","SKIP_CLOSING","ITERATION_SUPPORT","defaultConstructor","S","defer","channel","port","IS_IOS","location","setImmediate","clearImmediate","MessageChannel","Dispatch","queue","ONREADYSTATECHANGE","run","runner","listener","post","postMessage","host","nextTick","port2","port1","onmessage","addEventListener","importScripts","removeChild","userAgent","flush","last","toggle","node","macrotask","IS_WEBOS_WEBKIT","MutationObserver","WebKitMutationObserver","queueMicrotaskDescriptor","queueMicrotask","createTextNode","observe","characterData","promiseCapability","PromiseCapability","$$resolve","$$reject","v8","PROMISE_ANY_ERROR","any","alreadyResolved","alreadyRejected","NON_GENERIC","real","onFinally","isFunction","STRING_ITERATOR","point","CONVERT_TO_STRING","position","codeAt","DOMIterables","ArrayIteratorMethods","ArrayValues","COLLECTION_NAME","Collection","CollectionPrototype","METHOD_NAME","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","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","number","ipv4","numbersSeen","ipv4Piece","swaps","swap","address","pieceIndex","compress","pointer","char","findLongestZeroSequence","ipv6","maxIndex","maxLength","currStart","currLength","serializeHost","ignore0","unshift","fragmentPercentEncodeSet","pathPercentEncodeSet","userinfoPercentEncodeSet","specialSchemes","ftp","http","https","ws","wss","scheme","includesCredentials","username","password","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","search","getSearch","getSearchParams","hash","getHash","URLPrototype","accessorDescriptor","getter","nativeCreateObjectURL","nativeRevokeObjectURL","revokeObjectURL","toJSON","nativeAssign","A","B","symbol","alphabet","chr","T","argumentsLength","j","callWithSafeIterationClosing","arrayLike","mapfn","mapping","maxInt","tMin","tMax","skew","damp","initialBias","initialN","delimiter","regexNonASCII","regexSeparators","OVERFLOW_ERROR","baseMinusTMin","stringFromCharCode","ucs2decode","extra","digitToBasic","digit","adapt","delta","numPoints","firstTime","encode","currentValue","inputLength","bias","basicLength","handledCPCount","handledCPCountPlusOne","RangeError","q","t","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","boundFunction","SymbolPolyfill","description","noop","getGlobals","globals","typeIsObject","rethrowAssertionErrorRejection","originalPromise","originalPromiseThen","originalPromiseResolve","originalPromiseReject","newPromise","promiseResolvedWith","promiseRejectedWith","PerformPromiseThen","uponPromise","uponFulfillment","uponRejection","transformPromiseWith","fulfillmentHandler","rejectionHandler","setPromiseIsHandledToTrue","globalQueueMicrotask","resolvedPromise","reflectCall","promiseCall","QUEUE_MAX_ARRAY_SIZE","SimpleQueue","_cursor","_size","_front","_elements","_back","oldBack","newBack","oldFront","newFront","oldCursor","newCursor","elements","peek","front","cursor","ReadableStreamReaderGenericInitialize","reader","stream","_ownerReadableStream","_reader","_state","defaultReaderClosedPromiseInitialize","defaultReaderClosedPromiseInitializeAsResolved","defaultReaderClosedPromiseInitializeAsRejected","_storedError","ReadableStreamReaderGenericCancel","ReadableStreamCancel","ReadableStreamReaderGenericRelease","defaultReaderClosedPromiseReject","defaultReaderClosedPromiseResetToRejected","readerLockException","_closedPromise","_closedPromise_resolve","_closedPromise_reject","defaultReaderClosedPromiseResolve","AbortSteps","ErrorSteps","CancelSteps","PullSteps","NumberIsFinite","isFinite","MathTrunc","trunc","isDictionary","assertDictionary","assertFunction","assertObject","assertRequiredArgument","assertRequiredField","field","convertUnrestrictedDouble","censorNegativeZero","integerPart","convertUnsignedLongLongWithEnforceRange","lowerBound","upperBound","MAX_SAFE_INTEGER","assertReadableStream","IsReadableStream","AcquireReadableStreamDefaultReader","ReadableStreamDefaultReader","ReadableStreamAddReadRequest","readRequest","_readRequests","ReadableStreamFulfillReadRequest","_closeSteps","_chunkSteps","ReadableStreamGetNumReadRequests","ReadableStreamHasDefaultReader","IsReadableStreamDefaultReader","_a","AsyncIteratorPrototype","IsReadableStreamLocked","defaultReaderBrandCheckException","cancel","read","resolvePromise","rejectPromise","_errorSteps","ReadableStreamDefaultReaderRead","releaseLock","_disturbed","_readableStreamController","closed","ReadableStreamAsyncIteratorImpl","preventCancel","_ongoingPromise","_isFinished","_preventCancel","nextSteps","_nextSteps","return","returnSteps","_returnSteps","ReadableStreamAsyncIteratorPrototype","IsReadableStreamAsyncIterator","_asyncIteratorImpl","streamAsyncIteratorBrandCheckException","AcquireReadableStreamAsyncIterator","impl","NumberIsNaN","IsFiniteNonNegativeNumber","IsNonNegativeNumber","Infinity","DequeueValue","container","pair","_queue","_queueTotalSize","EnqueueValueWithSize","PeekQueueValue","ResetQueue","CreateArrayFromList","CopyDataBlockBytes","dest","destOffset","srcOffset","TransferArrayBuffer","IsDetachedBuffer","ReadableStreamBYOBRequest","IsReadableStreamBYOBRequest","byobRequestBrandCheckException","_view","respond","bytesWritten","_associatedReadableByteStreamController","ReadableByteStreamControllerRespond","respondWithNewView","view","ArrayBuffer","isView","ReadableByteStreamControllerRespondWithNewView","ReadableByteStreamController","IsReadableByteStreamController","byteStreamControllerBrandCheckException","_byobRequest","_pendingPullIntos","firstDescriptor","byteOffset","bytesFilled","byobRequest","SetUpReadableStreamBYOBRequest","ReadableByteStreamControllerGetDesiredSize","_closeRequested","_controlledReadableByteStream","ReadableByteStreamControllerClose","ReadableByteStreamControllerEnqueue","ReadableByteStreamControllerError","_cancelAlgorithm","ReadableByteStreamControllerClearAlgorithms","ReadableByteStreamControllerHandleQueueDrain","autoAllocateChunkSize","_autoAllocateChunkSize","bufferE","pullIntoDescriptor","elementSize","viewConstructor","readerType","ReadableByteStreamControllerCallPullIfNeeded","shouldPull","ReadableByteStreamControllerShouldCallPull","_pulling","_pullAgain","pullPromise","_pullAlgorithm","ReadableByteStreamControllerClearPendingPullIntos","ReadableByteStreamControllerInvalidateBYOBRequest","ReadableByteStreamControllerCommitPullIntoDescriptor","filledView","ReadableByteStreamControllerConvertPullIntoDescriptor","ReadableStreamFulfillReadIntoRequest","ReadableByteStreamControllerEnqueueChunkToQueue","ReadableByteStreamControllerFillPullIntoDescriptorFromQueue","currentAlignedBytes","maxBytesToCopy","maxBytesFilled","maxAlignedBytes","totalBytesToCopyRemaining","ready","headOfQueue","bytesToCopy","destStart","ReadableByteStreamControllerFillHeadPullIntoDescriptor","ReadableStreamClose","ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue","ReadableByteStreamControllerShiftPendingPullInto","ReadableByteStreamControllerPullInto","readIntoRequest","DataView","BYTES_PER_ELEMENT","ReadableStreamAddReadIntoRequest","emptyView","ReadableByteStreamControllerRespondInClosedState","ReadableStreamHasBYOBReader","ReadableStreamGetNumReadIntoRequests","ReadableByteStreamControllerRespondInReadableState","remainderSize","remainder","ReadableByteStreamControllerRespondInternal","_started","desiredSize","firstPendingPullInto","transferredBuffer","transferredView","ReadableStreamError","_strategyHWM","SetUpReadableByteStreamController","startAlgorithm","pullAlgorithm","cancelAlgorithm","highWaterMark","startResult","SetUpReadableByteStreamControllerFromUnderlyingSource","underlyingByteSource","pull","AcquireReadableStreamBYOBReader","ReadableStreamBYOBReader","_readIntoRequests","IsReadableStreamBYOBReader","byobReaderBrandCheckException","ReadableStreamBYOBReaderRead","ExtractHighWaterMark","strategy","defaultHWM","ExtractSizeAlgorithm","convertQueuingStrategy","convertQueuingStrategySize","convertUnderlyingSink","original","abort","convertUnderlyingSinkAbortCallback","convertUnderlyingSinkCloseCallback","convertUnderlyingSinkStartCallback","convertUnderlyingSinkWriteCallback","assertWritableStream","IsWritableStream","WritableStream","rawUnderlyingSink","rawStrategy","underlyingSink","InitializeWritableStream","sizeAlgorithm","SetUpWritableStreamDefaultControllerFromUnderlyingSink","streamBrandCheckException","IsWritableStreamLocked","WritableStreamAbort","WritableStreamCloseQueuedOrInFlight","WritableStreamClose","getWriter","AcquireWritableStreamDefaultWriter","WritableStreamDefaultWriter","CreateWritableStream","writeAlgorithm","closeAlgorithm","abortAlgorithm","WritableStreamDefaultController","SetUpWritableStreamDefaultController","_writer","_writableStreamController","_writeRequests","_inFlightWriteRequest","_closeRequest","_inFlightCloseRequest","_pendingAbortRequest","_backpressure","_promise","wasAlreadyErroring","_resolve","_reject","_reason","_wasAlreadyErroring","WritableStreamStartErroring","closeRequest","writer","defaultWriterReadyPromiseResolve","WritableStreamDefaultControllerClose","WritableStreamAddWriteRequest","writeRequest","WritableStreamDealWithRejection","WritableStreamFinishErroring","WritableStreamDefaultWriterEnsureReadyPromiseRejected","WritableStreamHasOperationMarkedInFlight","storedError","abortRequest","WritableStreamRejectCloseAndClosedPromiseIfNeeded","WritableStreamFinishInFlightWrite","WritableStreamFinishInFlightWriteWithError","WritableStreamFinishInFlightClose","defaultWriterClosedPromiseResolve","WritableStreamFinishInFlightCloseWithError","WritableStreamMarkCloseRequestInFlight","WritableStreamMarkFirstWriteRequestInFlight","defaultWriterClosedPromiseReject","WritableStreamUpdateBackpressure","backpressure","defaultWriterReadyPromiseReset","locked","_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","closeSentinel","IsWritableStreamDefaultController","_controlledWritableStream","WritableStreamDefaultControllerError","_abortAlgorithm","WritableStreamDefaultControllerClearAlgorithms","_strategySizeAlgorithm","_writeAlgorithm","_closeAlgorithm","WritableStreamDefaultControllerGetBackpressure","startPromise","WritableStreamDefaultControllerAdvanceQueueIfNeeded","chunkSizeE","WritableStreamDefaultControllerErrorIfNeeded","enqueueE","WritableStreamDefaultControllerProcessClose","WritableStreamDefaultControllerProcessWrite","sinkClosePromise","sinkWritePromise","_readyPromise_resolve","_readyPromise_reject","isAbortSignal","aborted","NativeDOMException","DOMException","isDOMExceptionConstructor","createDOMExceptionPolyfill","captureStackTrace","DOMException$1","ReadableStreamPipeTo","preventClose","preventAbort","signal","shuttingDown","currentWrite","actions","shutdownWithAction","action","pipeLoop","resolveLoop","rejectLoop","pipeStep","resolveRead","rejectRead","isOrBecomesErrored","shutdown","isOrBecomesClosed","destClosed_1","waitForWritesToFinish","oldCurrentWrite","originalIsError","originalError","doTheRest","finalize","newError","isError","removeEventListener","ReadableStreamDefaultController","IsReadableStreamDefaultController","defaultControllerBrandCheckException","ReadableStreamDefaultControllerGetDesiredSize","ReadableStreamDefaultControllerCanCloseOrEnqueue","ReadableStreamDefaultControllerClose","ReadableStreamDefaultControllerEnqueue","ReadableStreamDefaultControllerError","ReadableStreamDefaultControllerClearAlgorithms","_controlledReadableStream","ReadableStreamDefaultControllerCallPullIfNeeded","ReadableStreamDefaultControllerShouldCallPull","ReadableStreamDefaultControllerHasBackpressure","SetUpReadableStreamDefaultController","SetUpReadableStreamDefaultControllerFromUnderlyingSource","underlyingSource","ReadableStreamTee","cloneForBranch2","reason1","reason2","branch1","branch2","resolveCancelPromise","reading","canceled1","canceled2","cancelPromise","value1","value2","cancel1Algorithm","compositeReason","cancelResult","cancel2Algorithm","CreateReadableStream","convertUnderlyingDefaultOrByteSource","convertUnderlyingSourceCancelCallback","convertUnderlyingSourcePullCallback","convertUnderlyingSourceStartCallback","convertReadableStreamType","convertReaderOptions","convertReadableStreamReaderMode","convertIteratorOptions","convertPipeOptions","assertAbortSignal","convertReadableWritablePair","readable","rawUnderlyingSource","InitializeReadableStream","streamBrandCheckException$1","getReader","rawOptions","pipeThrough","rawTransform","pipeTo","destination","tee","branches","sourceCancelPromise","convertQueuingStrategyInit","byteLengthSizeFunction","ByteLengthQueuingStrategy","_byteLengthQueuingStrategyHighWaterMark","IsByteLengthQueuingStrategy","byteLengthBrandCheckException","countSizeFunction","CountQueuingStrategy","_countQueuingStrategyHighWaterMark","IsCountQueuingStrategy","countBrandCheckException","convertTransformer","readableType","writableType","convertTransformerFlushCallback","convertTransformerStartCallback","convertTransformerTransformCallback","TransformStream","rawTransformer","rawWritableStrategy","rawReadableStrategy","writableStrategy","readableStrategy","transformer","startPromise_resolve","readableHighWaterMark","readableSizeAlgorithm","writableHighWaterMark","writableSizeAlgorithm","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","TransformStreamDefaultControllerPerformTransform","transformPromise","backpressureChangePromise","flushPromise","entryUnbind","$padStart","WEBKIT_BUG","repeat","IS_END","fillString","fillLen","stringFiller","stringLength","fillStr","intMaxLength","count","CONSTRUCTOR","METHOD","$padEnd","$values","TO_ENTRIES","$entries","PDFPageProxy","PDFDocumentProxy","DefaultCMapReaderFactory","DefaultCanvasFactory","_font_loader","_node_utils","_annotation_storage","_canvas","_message_handler","_metadata","_optional_content_config","_transport_stream","_webgl","_e3","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","_arr","_n","_d","DEFAULT_RANGE_CHUNK_SIZE","RENDERING_CANCELLED_TIMEOUT","NodeCanvasFactory","NodeCMapReaderFactory","createPDFNetworkStream","pdfNetworkStreamFactory","PDFDocumentLoadingTask","range","rangeTransport","worker","pdfBytes","rangeChunkSize","CMapReaderFactory","ignoreErrors","stopAtErrors","fontExtraProperties","pdfBug","maxImageSize","disableFontFace","disableRange","disableStream","disableAutoFetch","workerParams","workerPort","fromPort","_worker","docId","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","_rangeListeners","_progressListeners","_progressiveReadListeners","_progressiveDoneListeners","_readyCapability","begin","loaded","total","_step3","_iterator3","_step4","_iterator4","pdfInfo","_pdfInfo","pageNumber","getPageIndex","getDestinations","getDestination","getPageLabels","getPageLayout","getPageMode","getViewerPreferences","getOpenAction","getAttachments","getJavaScript","getDocJSActions","getOutline","getOptionalContentConfig","getPermissions","getMetadata","getMarkInfo","getData","downloadInfoCapability","getStats","startCleanup","loadingTask","annotationStorage","saveDocument","getFieldObjects","hasJSActions","getCalculationOrderIds","AnnotationStorage","fingerprint","loadingParams","pageIndex","pageInfo","_pageIndex","_pageInfo","_ownerDocument","_stats","_pdfBug","commonObjs","objs","PDFObjects","cleanupAfterRender","pendingCleanup","_intentStates","Map","_ref3$rotation","_ref3$offsetX","_ref3$offsetY","_ref3$dontFlip","_ref4$intent","intent","annotationsPromise","annotationsIntent","getAnnotations","_jsActionsPromise","getPageJSActions","_this5","canvasContext","viewport","_ref5$intent","_ref5$enableWebGL","enableWebGL","_ref5$renderInteracti","renderInteractiveForms","_ref5$transform","_ref5$imageLayer","imageLayer","_ref5$canvasFactory","canvasFactory","_ref5$background","background","_ref5$annotationStora","_ref5$optionalContent","optionalContentConfigPromise","renderingIntent","intentState","streamReaderCancelTimeout","clearTimeout","canvasFactoryInstance","webGLContext","WebGLContext","enable","displayReadyCapability","operatorList","fnArray","argsArray","lastChunk","_pumpOperatorList","renderTasks","internalRenderTask","_tryCleanup","_abortOperatorList","timeEnd","InternalRenderTask","useRequestAnimationFrame","renderTask","transparency","optionalContentConfig","initializeGraphics","operatorListChanged","opListReadCapability","opListTask","_ref8$normalizeWhites","normalizeWhitespace","_ref8$disableCombineT","disableCombineTextItems","TEXT_CONTENT_CHUNK_SIZE","sendWithStream","combineTextItems","textContent","items","readableStream","streamTextContent","pump","_ref9","_textContent$items","styles","pageCache","_step5","waitOn","_iterator5","_step5$value","force","_step6","_iterator6","completed","resetStats","_step7","_iterator7","_step7$value","operatorListChunk","_this6","streamReader","_ref10","_renderPageChunk","_ref11","_this7","_ref11$force","_step8","_iterator8","_step8$value","curIntentState","cleanup","userUnit","_listeners","_defer","_deferred","transfers","_this8","cloneValue","cloned","desc","PDFWorkerClosure","pdfWorkerPorts","isWorkerDisabled","fallbackWorkerSrc","nextFakeWorkerId","fakeWorkerCapability","_document$currentScri","pdfjsFilePath","currentScript","_getWorkerSrc","workerSrc","getMainThreadWorkerMessageHandler","mainWorkerMessageHandler","_globalThis$pdfjsWork","pdfjsWorker","WorkerMessageHandler","setupFakeWorkerGlobal","loader","_ref12","_callee$","eval","createCDNWrapper","_ref13","_ref13$name","_ref13$port","_ref13$verbosity","_port","_webWorker","_messageHandler","_initializeFromPort","_initialize","_this9","terminateEarly","onWorkerError","_setupFakeWorker","supportTransfers","sendTest","testObj","_this10","workerHandler","setup","fontLoader","FontLoader","_onUnsupportedFeature","_params","cMapUrl","cMapPacked","destroyCapability","_passwordCapability","_networkStream","_fullReader","_lastProgress","pagePromises","setupMessageHandler","_this11","_destroy","terminated","loadingTaskSettled","annotationStorageResetModified","pdfDocument","resetModified","_hasJSActionsPromise","cancelAllRequests","_this12","sink","getFullReader","onPull","_ref14","onCancel","readyReason","headersCapability","fullReader","headersReady","isStreamingSupported","isRangeSupported","contentLength","rangeReader","getRangeReader","_ref15","_ref16","_numPages","updatePassword","_startRenderPage","_globalThis$FontInspe","_data","exportedData","exportedError","fontRegistry","FontInspector","registerFont","fontAdded","FontFaceObject","_imageData$data","_data2","imageData","pageProxy","MAX_IMAGE_SIZE_TO_STORE","fetched","builtInCMap","_ref17","featureId","_this13","_this$_fullReader$fil","_this$_fullReader","filename","results","OptionalContentConfig","_this14","_this14$_fullReader$f","_this14$_fullReader","_this14$_fullReader$c","_this14$_fullReader2","Metadata","contentDispositionFilename","_this15","cleanupSuccessful","settled","_objs","objId","resolved","_ensureObj","RenderTask","_internalRenderTask","onContinue","canvasInRendering","WeakSet","_ref18","_ref18$useRequestAnim","_ref18$pdfBug","operatorListIdx","running","graphicsReadyCallback","graphicsReady","_useRequestAnimationFrame","cancelled","_continueBound","_continue","_scheduleNextBound","_scheduleNext","_nextBound","_ref19","_globalThis$StepperMa","_ref19$transparency","add","StepperManager","stepper","nextBreakPoint","getNextBreakPoint","_this$params","gfx","CanvasGraphics","beginDrawing","endDrawing","updateOperatorList","_this16","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","_this$_document","_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","div","visibility","top","left","span","fontFamily","supported","navigator","getLoadTestFont","translatedData","_ref2$isEvalSupported","_ref2$disableFontFace","_ref2$ignoreErrors","_ref2$onUnsupportedFe","_ref2$fontRegistry","compiledGlyphs","FontFace","mimetype","character","cmds","current","js","cmd","_ii","Canvas","createCanvas","fs","readFile","_storage","_modified","onSetModified","onResetModified","defaultValue","modified","_Object$entries","_Object$entries$_i","_setModified","compatibilityParams","freeze","_pattern_helper","MIN_FONT_SIZE","MAX_FONT_SIZE","MAX_GROUP_SIZE","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","cache","getCanvas","trackTransform","canvasEntry","compileType3Glyph","imgData","j0","POINT_TO_PROCESS_LIMIT","width1","points","POINT_TYPES","lineSize","data0","elem","mask","sum","steps","Int32Array","outlines","coords","p0","pp","drawOutline","beginPath","kk","l","ll","CanvasExtraState","alphaIsShape","fontSize","fontSizeScale","textMatrix","textMatrixScale","fontMatrix","leading","lineX","lineY","charSpacing","wordSpacing","textHScale","textRenderingMode","textRise","fillColor","strokeColor","patternFill","fillAlpha","strokeAlpha","lineWidth","activeSMask","resumeSMaskCtx","transferMaps","clone","setCurrentPoint","EXECUTION_TIME","EXECUTION_STEPS","canvasCtx","stateStack","pendingClip","pendingEOFill","res","xobjs","groupStack","processingType3","baseTransform","baseTransformStack","groupLevel","smaskStack","smaskCounter","tempSMask","contentVisible","markedContentStack","cachedCanvases","_cachedGetSinglePixelWidth","putBinaryImageData","ImageData","putImageData","destPos","thisChunkHeight","elemsInThisChunk","transferMapRed","transferMapGreen","transferMapBlue","transferMapGray","partialChunkHeight","fullChunks","totalChunks","chunkImgData","createImageData","srcPos","srcLength","dest32","dest32DataLength","fullSrcDiff","white","black","srcDiff","kEnd","kEndUnrolled","srcByte","hasTransferMaps","_k","_k2","_hasTransferMaps","_k3","putBinaryImageMask","copyCtxState","sourceCtx","destCtx","properties","property","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","_ref2$transparency","_ref2$background","fillRect","transparentCanvas","compositeCtx","_combinedScaleFactor","hypot","beginLayout","executionStartIdx","continueCallback","argsArrayLen","fnId","chunkOperations","endTime","breakIt","depObjId","objsPool","startsWith","endLayout","limit","dashArray","dashPhase","flatness","states","suspendSMaskGroup","endSMaskGroup","beginSMaskGroup","drawnWidth","drawnHeight","cacheId","scratchCanvas","currentCtx","currentTransform","groupCtx","startTransformInverse","mozCurrentTransformInverse","deltaTransform","clearRect","resumeSMaskGroup","ops","xw","yh","bezierCurveTo","consumePath","getPattern","singularValueDecompose2dScale","getSinglePixelWidth","scaledLineWidth","resetTransform","round","_lineWidth","isPatternFill","needRestore","paths","pendingTextPaths","addToPath","spacing","fontRefName","fontObj","fontDirection","isType3Font","bold","italic","typeface","fallbackName","browserFontSize","rise","paintChar","patternTransform","resetLineWidthToOne","fillStrokeMode","isAddToPathSet","getPathGenerator","strokeText","_this$cachedCanvases$","glyphs","showType3Text","glyphsLength","vertical","spacingDir","defaultVMetrics","widthAdvanceScale","simpleFillText","pattern","glyph","restoreNeeded","isSpace","fontChar","accent","scaledX","scaledY","vmetric","vx","vy","remeasure","measuredWidth","measureText","isFontSubpixelAAEnabled","characterScaleX","isInFont","scaledAccentX","scaledAccentY","charWidth","spacingLength","isTextInvisible","charProcOperatorList","operatorListId","transformed","xWidth","yWidth","llx","lly","urx","ury","getColorN_Pattern","IR","color","canvasGraphicsFactory","createCanvasGraphics","TilingPattern","getShadingPatternFromIR","makeHexColor","patternIR","inv","bl","br","ul","ur","x0","y0","x1","y1","matrix","bbox","group","isolated","knockout","bounds","getAxialAlignedBoundingBox","canvasBounds","intersect","imageSmoothingEnabled","mozImageSmoothingEnabled","img","compiled","maskCanvas","skewX","skewY","positions","images","image","w","imgToPaint","tmpCanvas","tmpCtx","widthScale","heightScale","HTMLElement","paintWidth","paintHeight","tmpCanvasId","newWidth","newHeight","getCanvasPosition","appendImage","visible","isVisible","isContentVisible","absDet","sqNorm1","sqNorm2","pixelHeight","EPSILON","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","maxY","x1_","x2_","drawFigure","figure","ps","cs","verticesPerRow","rows","cols","combinesScale","figures","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","pullCapability","cancelCapability","streamSink","isCancelled","lastDesiredSize","sinkCapability","success","_deleteStreamController","_deleteStreamController2","_xml_parser","_repair","parser","SimpleXMLParser","lowerCaseName","xmlDocument","parseFromString","_metadataMap","_parse","codes","nodeName","childNodes","filter","hasChildNodes","seqNode","authors","_getSequence","trim","rdf","firstChild","nextSibling","_getCreators","_this$_metadataMap$ge","SimpleDOMNode","_get","receiver","_superPropBase","XMLParserErrorCode","NoError","EndOfDocument","UnterminatedCdat","UnterminatedXmlDeclaration","UnterminatedDoctypeDeclaration","UnterminatedComment","MalformedElement","OutOfMemory","UnterminatedAttributeValue","UnterminatedElement","ElementNeverBegun","isWhitespace","ch","isWhitespaceString","XMLParserBase","fromCodePoint","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","nodeValue","stack","_stack$pop","_stack$pop2","siblingPos","child","searchNode","_stack$pop3","_stack$pop4","_parent","currentPos","newPos","dump","_XMLParserBase","_ref$hasAttributes","hasAttributes","_ref$lowerCaseName","_currentFragment","_stack","_errorCode","_hasAttributes","_lowerCaseName","parseXml","_this$_currentFragmen","lastElement","OptionalContentGroup","creator","_order","_groups","order","groups","_group","off","expression","policy","ids","_id","_id2","_id3","_queuedChunks","_progressiveDone","_pdfDataRangeTransport","_isStreamingSupported","_isRangeSupported","_contentLength","_fullRequestReader","_rangeReaders","addRangeListener","_onReceiveData","addProgressListener","_onProgress","addProgressiveReadListener","addProgressiveDoneListener","_onProgressiveDone","transportReady","_enqueue","some","_begin","firstReader","queuedChunks","PDFDataTransportStreamReader","_progressiveDataLength","PDFDataTransportStreamRangeReader","requestDataRange","readers","_this$_fullRequestRea","_this$_fullRequestRea2","_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","Float32Array","STATIC_DRAW","enableVertexAttribArray","vertexAttribPointer","FLOAT","uniform1i","drawingBufferWidth","drawingBufferHeight","uniform2f","uniform4f","TEXTURE0","maskTexture","TEXTURE1","clearColor","BLEND","blendFunc","ONE","ONE_MINUS_SRC_ALPHA","COLOR_BUFFER_BIT","drawArrays","TRIANGLES","deleteTexture","deleteBuffer","figuresVertexShaderCode","figuresFragmentShaderCode","figuresCache","initFiguresGL","scaleLocation","offsetLocation","colorLocation","coordsMap","colorsMap","pIndex","cIndex","_rows","col","jj","coordsBuffer","colorsBuffer","_smaskCache","_figuresCache","_scripting_utils","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","_ref$isRenderable","isRenderable","_ref$ignoreBorder","ignoreBorder","_ref$createQuadrilate","createQuadrilaterals","linkService","downloadManager","imageResourcesPath","svgFactory","enableScripting","_mouseState","mouseState","_createContainer","quadrilaterals","_createQuadrilaterals","transformOrigin","borderStyle","borderWidth","horizontalRadius","horizontalCornerRadius","verticalRadius","verticalCornerRadius","radius","borderRadius","borderBottomStyle","borderColor","quadPoints","savedRect","quadPoint","trigger","popupElement","PopupElement","modificationDate","contents","hideWrapper","popup","className","quadrilateral","_AnnotationElement","isTooltipOnly","Action","newWindow","externalLinkTarget","externalLinkRel","externalLinkEnabled","_bindNamedAction","_bindLink","_bindJSAction","_renderQuadrilaterals","linkElement","cloneNode","getDestinationHash","goToDestination","getAnchorUrl","executeNamedAction","_loop","_Object$keys","jsName","_this3$linkService$ev","eventBus","dispatch","detail","_AnnotationElement2","hasPopup","alt","dataset","l10nId","l10nArgs","JSON","stringify","_createPopup","_AnnotationElement3","alternativeText","platform","ctrlKey","metaKey","baseName","eventName","valueGetter","_this4$linkService$ev","shiftKey","modifier","_getKeyModifier","_this4$linkService$ev2","checked","_this$data$actions","_step2$value","_setEventListener","_WidgetAnnotationElem","hasAppearance","fieldValue","storage","getOrCreateValue","elementData","userValue","formattedValue","beforeInputSelectionRange","beforeInputValue","multiLine","setValue","blurListener","setSelectionRange","valueAsString","activeElement","focus","preventScroll","userName","hidden","editable","disabled","selRange","_detail$selRange","selStart","selEnd","ColorConverters","_this5$linkService$ev","commitKey","willCommit","selectionStart","selectionEnd","_blurListener","_this5$linkService$ev2","isDown","_this5$linkService$ev3","_elementData$beforeIn","change","_setEventListeners","readOnly","fieldName","maxLen","comb","fieldWidth","combWidth","classList","letterSpacing","verticalAlign","_setTextStyle","TEXT_ALIGNMENT","_this$data$defaultApp","defaultAppearanceData","fontColor","textAlignment","textAlign","_WidgetAnnotationElem2","getElementsByName","checkbox","getAttribute","_WidgetAnnotationElem3","buttonValue","radio","radioId","_LinkAnnotationElemen","_WidgetAnnotationElem4","_super8","selectElement","combo","multiSelect","multiple","option","optionElement","displayValue","exportValue","getValue","selectedIndex","_this6$linkService$ev","changeEx","keyDown","_AnnotationElement4","_super9","IGNORE_TYPES","parentType","selector","parentId","parentElements","querySelectorAll","parentRect","popupLeft","popupTop","pinned","BACKGROUND_ENLIGHT","hideElement","dateObject","toDateObject","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","_step9","inkList","_iterator9","_AnnotationElement12","_super18","_AnnotationElement13","_super19","_AnnotationElement14","_super20","_AnnotationElement15","_super21","_AnnotationElement16","_super22","_AnnotationElement17","_super23","_this11$linkService$e","_this11$data$file","_download","downloadData","_step10","sortedAnnotations","popupAnnotations","_iterator10","annotations","_sortedAnnotations","rendered","_step11","_iterator11","renderedElement","prepend","_step12","_iterator12","makeColorComp","G","R","RGB_HTML","CMYK_RGB","MAX_TEXT_DIVS_TO_RENDER","NonWhitespaceRegexp","isAllWhitespace","appendText","geom","textDiv","textDivProperties","canvasWidth","originalTransform","paddingBottom","paddingLeft","paddingRight","paddingTop","_textDivs","_textDivProperties","tx","_viewport","atan2","fontName","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","Float64Array","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","fontStyle","fontWeight","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","svgElement","loadDependencies","convertOpList","operatorIdMapping","opTreeElement","lineMatrix","xcoords","ycoords","tspan","setAttributeNS","txtElement","txtgrp","lineWidthScale","_setStrokeAttributes","_ensureTransformGroup","defs","addFontStyle","_current$txtElement","_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","setStrokeAlpha","setFillAlpha","imgSrc","cliprect","imgEl","definitions","rootGroup","_ensureClipGroup","_network_utils","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","array","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","__webpack_module_cache__","moduleId","children","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","NaN","rt","LN2","pendingOperation","isPDFDocumentLoadingTask","__PDFDocumentLoadingTask","PDFJS","canvasElt","annotationLayerElt","emitEvent","pdfDoc","pdfPage","pdfRender","canceling","clearCanvas","clearAnnotations","pageNumberOnly","PRINT_RESOLUTION","PRINT_UNITS","CSS_UNITS","iframeElt","frameBorder","scrolling","cssText","win","getViewport","allPages","printCanvasElt","queryCommandSupported","execCommand","removeIframe","catch","devicePixelRatio","viewer","scrollPageIntoView","setDocument","setViewer","getAnnotationsOperation","pdfRenderOperation","forEachPage","pageCallback","pageNum","reasonStr","ratio","base64","ieee754","typedArraySupport","foo","kMaxLength","TYPED_ARRAY_SUPPORT","encodingOrOffset","allocUnsafe","fromArrayBuffer","fromString","fromObject","assertSize","alloc","isEncoding","actual","fromArrayLike","isBuffer","copy","isnan","SlowBuffer","loweredCase","utf8ToBytes","base64ToBytes","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","bidirectionalIndexOf","dir","arrayIndexOf","indexSize","arrLength","valLength","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","list","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$annotationStorag","_ref$imageResourcesPa","_ref$renderInteractiv","_ref$l10n","l10n","_ref$enableScripting","_ref$hasJSActionsProm","hasJSActionsPromise","_ref$mouseState","_cancelled","_ref3$","update","pdfjsLib","approximateFraction","backtrackBeforeAllVisibleElements","binarySearchFirstItem","getActiveOrFocusedElement","getOutputScale","getPageSizeInches","getPDFFileNameFromURL","getVisibleElements","isPortraitOrientation","isValidRotation","isValidScrollMode","isValidSpreadMode","moveToEndOfArray","noContextMenuHandler","normalizeWheelEventDelta","normalizeWheelEventDirection","parseQueryString","roundToDivide","scrollIntoView","waitOnEventOrTimeout","watchScroll","WaitOnType","VERTICAL_PADDING","UNKNOWN_SCALE","TextLayerMode","SpreadMode","SidebarView","ScrollMode","SCROLLBAR_PADDING","RendererType","PresentationModeState","MIN_SCALE","MAX_SCALE","MAX_AUTO_SCALE","DEFAULT_SCALE_VALUE","DEFAULT_SCALE","AutoPrintRegExp","animationStarted","LOADINGBAR_END_OFFSET_VAR","NORMAL","CHANGING","FULLSCREEN","THUMBS","OUTLINE","ATTACHMENTS","LAYERS","CANVAS","SVG","DISABLE","ENABLE","ENABLE_ENHANCE","VERTICAL","HORIZONTAL","WRAPPED","ODD","EVEN","formatL10nValue","getLanguage","getDirection","fallback","_callee3","_context3","_callee4","_context4","backingStoreRatio","webkitBackingStorePixelRatio","mozBackingStorePixelRatio","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","minIndex","currentIndex","currentItem","xinv","x_","changeOrientation","views","elt","pageTop","scrollEl","_ref2$sortByVisibilit","sortByVisibility","_ref2$horizontal","horizontal","_ref2$rtl","rtl","isElementBottomAfterViewTop","elementBottom","isElementNextAfterViewHorizontally","elementLeft","elementRight","numViews","firstVisibleElementInd","lastEdge","currentWidth","currentHeight","viewWidth","viewHeight","viewRight","viewBottom","hiddenHeight","hiddenWidth","fractionHeight","fractionWidth","percent","widthPercent","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","_ref3$delay","delay","_off","eventHandler","_on","timeoutHandler","external","once","eventListeners","externalListeners","_this$_listeners","clamp","querySelector","bar","_indeterminate","progressSize","_percent","scrollbarWidth","doc","setProperty","_updateBar","moved","curRoot","curActiveOrFocused","shadowRoot","_ref$externalLinkTarg","_ref$externalLinkRel","_ref$externalLinkEnab","_ref$ignoreDestinatio","ignoreDestinationZoom","_ignoreDestinationZoom","pdfViewer","pdfHistory","_pagesRefCache","rawDest","namedDest","explicitDest","destRef","_cachedPageNumber","cachePageRef","_goToDestinationHelper","pagesCount","pushCurrentPosition","destArray","_goToDestination","pageLabelToPageNumber","pushPage","phraseSearch","phrase","zoomArgs","zoom","zoomArg","zoomArgNumber","parseFloat","allowNegativeOffset","pagemode","nameddest","isValidExplicitDestination","forward","nextPage","previousPage","pageRef","refStr","isPageVisible","isPageCached","currentPageNumber","pagesRotation","destLength","allowNull","_goToDestination2","EXPAND_DIVS_TIMEOUT","textLayerDiv","_ref$findController","findController","_ref$enhanceTextSelec","renderingDone","pageIdx","textLayerRenderTask","_onUpdateTextLayerMatches","_bindMouse","endOfContent","numTextDivs","textLayerFrag","createDocumentFragment","_finishRendering","_updateMatches","matchesLength","iIndex","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","blobUrl","click","download","viewerCompatibilityParams","disableCreateObjectURL","downloadUrl","maxTouchPoints","isAndroid","isIOS","isIOSChrome","maxCanvasPixels","webL10n","lang","_lang","_ready","setLanguage","_getLanguage","_getDirection","_x3","_translate","_x4","gL10nData","gTextData","gTextProp","gLanguage","gMacros","gReadyState","gAsyncResourceLoading","getL10nResourceLinks","getL10nDictionary","innerHTML","getTranslatableChildren","getL10nAttributes","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","FindState","_pdf_find_utils","FOUND","NOT_FOUND","FIND_TIMEOUT","MATCH_SCROLL_OFFSET_TOP","MATCH_SCROLL_OFFSET_LEFT","CHARACTERS_TO_NORMALIZE","normalizationRegex","diffs","normalizedText","normalizedCh","diff","getOriginalIndex","totalDiff","_step$value","_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","_pageDiffs","_matchesCountTotal","_pagesToSearch","_pendingFindMatches","_resumePageIdx","matchesWithLength","isSubTerm","currentElem","nextElem","skipped","prevElem","matchLength","startIdx","getCharacterType","endIdx","_limit","pageContent","pageDiffs","entireWord","queryLen","_isEntireWord","originalMatchIdx","matchEnd","originalQueryLen","queryArray","subquery","subqueryLen","_prepareMatches","_query","_this$_state","caseSensitive","_calculatePhraseMatch","_calculateWordMatch","_updatePage","_nextPageMatch","pageMatchesCount","_updateUIResultsCount","extractTextCapability","getTextContent","_normalize","_normalize2","previous","findPrevious","currentPageIndex","_calculateMatch","numPageMatches","_updateMatch","_advanceOffsetPage","numMatches","_matchesReady","_this$_selected","matchesCount","_requestMatchesCount","rawQuery","_rawQuery","_normalize3","_normalize4","_normalizedQuery","CharacterType","SPACE","ALPHA_LETTER","PUNCT","HAN_LETTER","KATAKANA_LETTER","HIRAGANA_LETTER","HALFWIDTH_KATAKANA_LETTER","THAI_LETTER","isAlphabeticalScript","charCode","isAsciiAlpha","isAsciiDigit","isAsciiSpace","isHan","isKatakana","isHiragana","isHalfwidthKatakana","isThai","isDestArraysEqual","isDestHashesEqual","HASH_CHANGE_TIMEOUT","POSITION_UPDATED_THRESHOLD","UPDATE_VIEWAREA_TIMEOUT","getCurrentHash","_initialized","_fingerprint","_boundEvents","_isViewerInPresentationMode","_isPagesLoaded","_ref2$resetHistory","resetHistory","_ref2$updateUrl","updateUrl","reInitialized","_updateUrl","_bindEvents","history","_popStateInProgress","_blockHashChange","_currentHash","_numPositionUpdates","_uid","_maxUid","_destination","_position","_isValidState","_this$_parseCurrentHa","_parseCurrentHash","_pushOrReplaceState","_updateInternalState","_initialRotation","_initialBookmark","_pageHide","_unbindEvents","_updateViewareaTimeout","_ref3$namedDest","forceReplace","_this$_destination","_tryPushCurrentPosition","newUrl","shouldReplace","newState","replaceState","pushState","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","_optionalContentConfigPromise","hasRestrictedScaling","textLayerMode","useOnlyCssZoom","renderingQueue","textLayerFactory","annotationLayerFactory","renderer","paintTask","paintedViewportMap","renderingState","RenderingStates","INITIAL","resume","_renderError","textLayer","zoomLayer","totalRotation","_renderAnnotationLayer2","_renderAnnotationLayer","removeFromDOM","zoomLayerCanvas","keepZoomLayer","keepAnnotations","cancelRendering","currentZoomLayerNode","currentAnnotationNode","_resetZoomLayer","loadingIconDiv","cssTransform","timestamp","isScalingRestricted","outputScale","redrawAnnotations","relativeRotation","absRotation","textLayerViewport","textRelativeRotation","textAbsRotation","transX","transY","convertToPdfPoint","FINISHED","RUNNING","canvasWrapper","createTextLayerBuilder","renderContinueCallback","cont","isHighestPriority","PAUSED","finishPaintTask","_args2","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","newSize","pagesToKeep","pageIdsToKeep","Set","iMax","isSameScale","oldScale","newScale","_this$container","_this$viewer","viewerVersion","_name","firstElementChild","tagName","removePageBorders","enablePrintAutoRotate","defaultRenderingQueue","_scrollUpdate","presentationModeState","_onBeforeDraw","_onAfterDraw","_resetView","resetCurrentPageView","_resetCurrentPageView","_pageLabels","_getVisiblePages","_onePageRenderedCapability","_cancelRendering","firstPagePromise","_pagesCapability","_buffer","firstPdfPage","currentScale","_viewerElement","firstPageView","setPdfPage","_spreadMode","_updateSpreadMode","_onePageRenderedOrForceFetch","getPagesLeft","_pageNum","setPageLabel","_currentScale","_currentScaleValue","_location","_pagesRotation","_pagesRequests","_scrollMode","_resetScriptingEvents","_updateScrollMode","newValue","noScroll","preset","presetValue","isInPresentationMode","isChangingPresentationMode","_setScaleUpdatePages","noPadding","hPadding","vPadding","_isScrollModeHorizontal","pageWidthScale","_pageWidthScaleFactor","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","contains","_isContainerRtl","scrollAhead","getHighestPriority","_ensurePdfPageLoaded","renderView","_this$pdfDocument","_this$pdfDocument2","pagesOverview","scrollMode","pages","parity","spread","_iMax","_this$_getVisiblePage","pageLayout","yArray","_yArray","currentId","expectedId","_currentId","_expectedId","firstId","lastId","_this$_getVisiblePage2","_views","_expectedId2","_step3$value","_widthPercent","advance","_getPageAdvance","_pageOpenPendingSet","pageOpenPendingSet","scriptingEvents","_scriptingEvents","dispatchPageClose","dispatchPageOpen","_pageView$pdfPage","actionsPromise","getJSActions","onPageChanging","onPageRendered","onPagesDestroy","spreadMode","direction","stillFullyVisible"],"mappings":"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","file":"js/chunk-00f284c4.4518b122.js","sourcesContent":["export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DetailPDF.vue?vue&type=style&index=0&id=6a89f8ae&scoped=true&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"nav-bar\"},[_c('div',{staticClass:\"left\"},[(!_vm.isback && !_vm.isExam && _vm.isShowBackIcon)?_c('span',{staticClass:\"back\",on:{\"click\":_vm.exitClick}},[_vm._t(\"left-icon\")],2):(_vm.isExam && _vm.isShowBackIcon)?_c('span',{staticClass:\"back\",on:{\"click\":_vm.examBack}},[_vm._t(\"left-icon\")],2):(_vm.isShowBackIcon)?_c('span',{staticClass:\"back\",on:{\"click\":_vm.backClick}},[_vm._t(\"left-icon\")],2):(_vm.isLogout)?_c('span',{staticClass:\"back\",on:{\"click\":_vm.loginOout}},[_vm._t(\"left-icon\")],2):_vm._e()]),_c('div',{staticClass:\"center nowrap\"},[_vm._t(\"center\")],2),_c('div',{staticClass:\"right\",style:({ width: _vm.rightWidth })},[_c('span',{staticClass:\"right-tool\"},[_vm._t(\"right\")],2)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\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!./NavBar.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!./NavBar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./NavBar.vue?vue&type=template&id=05c4e7a8&scoped=true&\"\nimport script from \"./NavBar.vue?vue&type=script&lang=js&\"\nexport * from \"./NavBar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./NavBar.vue?vue&type=style&index=0&id=05c4e7a8&scoped=true&lang=css&\"\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 \"05c4e7a8\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"DetailPDF\"}},[_c('nav-bar',{staticClass:\"nav_fixed\",attrs:{\"backPath\":_vm.back}},[_c('i',{staticClass:\"icon-back public_icon\",attrs:{\"slot\":\"left-icon\"},slot:\"left-icon\"}),_c('div',{attrs:{\"slot\":\"center\"},slot:\"center\"},[_vm._v(_vm._s(_vm.Title))])]),_c('div',{staticClass:\"paddingtb_nav show_iframe\",staticStyle:{\"width\":\"100%\",\"overflow-x\":\"hidden\"},attrs:{\"id\":\"iframe-box\"}},_vm._l((_vm.numPages),function(i){return _c('pdf',{key:i,attrs:{\"page\":i,\"src\":_vm.pdfSrc},on:{\"page-loaded\":function($event){_vm.currentPage = $event}}})}),1)],1)}\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&\"","\r\n \r\n \r\n \r\n {{ Title }}\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\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!./DetailPDF.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!./DetailPDF.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DetailPDF.vue?vue&type=template&id=6a89f8ae&scoped=true&\"\nimport script from \"./DetailPDF.vue?vue&type=script&lang=js&\"\nexport * from \"./DetailPDF.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DetailPDF.vue?vue&type=style&index=0&id=6a89f8ae&scoped=true&lang=css&\"\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 \"6a89f8ae\",\n null\n \n)\n\nexport default component.exports","'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__ + \"c2a0749158fd29bbbea5.worker.js\");\n};","import {\r\n requestPublic,\r\n request\r\n} from './request.js'\r\n\r\n// 获取学生住宿安排\r\nexport function GetMyAgreementRerords() {\r\n return request({\r\n url: '/api2/StudentAccommodationApi/AgreementRecordWeb/GetMyAgreementRerords',\r\n method: 'get',\r\n })\r\n}\r\n// 获取pdf文件流\r\nexport function GetAgreementPDFStream(id) {\r\n return request({\r\n url: '/api2/StudentAccommodationApi/AgreementRecordWeb/GetAgreementPDFStream',\r\n method: 'get',\r\n responseType: 'blob',\r\n headers: {\r\n // 'Content-Type': 'application/pdf'\r\n 'Content-Type': 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\r\n },\r\n params:{\r\n id\r\n }\r\n })\r\n}\r\n// 签订协议postAgreement\r\n\r\n// 获取pdf文件流\r\nexport function postAgreement(obj) {\r\n console.log(obj.id)\r\n return request({\r\n url: '/api2/StudentAccommodationApi/AgreementRecordWeb/SignAgreement',\r\n method: 'post',\r\n data:{\r\n id:obj.id,\r\n imgUrl:obj.imgUrl,\r\n }\r\n })\r\n}\r\n\r\n// 学员身份校验\r\n// 获取pdf文件流\r\nexport function CheckSignIDCard(obj) {\r\n console.log(obj.id)\r\n return request({\r\n url: '/api2/StudentAccommodationApi/AgreementRecordWeb/CheckSignIDCard',\r\n method: 'get',\r\n params:{\r\n agreementRecordId:obj.agreementRecordId,\r\n studentName:obj.studentName,\r\n idCard:obj.idCard,\r\n }\r\n })\r\n}\r\n// 协议详情\r\nexport function GetAgreementRerordDetail(agreementRecordId) {\r\n return request({\r\n url: '/api2/StudentAccommodationApi/AgreementRecordWeb/GetAgreementRerordDetail',\r\n method: 'get',\r\n params:{\r\n agreementRecordId:agreementRecordId,\r\n }\r\n })\r\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 /******/ (() => { // webpackBootstrap\n/******/ \tvar __webpack_modules__ = ([\n/* 0 */\n/***/ ((__unused_webpack_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__(135);\n\nvar _util = __w_pdfjs_require__(4);\n\nvar _annotation_layer = __w_pdfjs_require__(149);\n\nvar _api_compatibility = __w_pdfjs_require__(139);\n\nvar _worker_options = __w_pdfjs_require__(142);\n\nvar _text_layer = __w_pdfjs_require__(151);\n\nvar _svg = __w_pdfjs_require__(152);\n\nvar pdfjsVersion = '2.7.570';\nvar pdfjsBuild = 'f2c7338b0';\n{\n var _require = __w_pdfjs_require__(6),\n isNodeJS = _require.isNodeJS;\n\n if (isNodeJS) {\n var PDFNodeStream = __w_pdfjs_require__(153).PDFNodeStream;\n\n (0, _api.setPDFNetworkStreamFactory)(function (params) {\n return new PDFNodeStream(params);\n });\n } else {\n var PDFNetworkStream = __w_pdfjs_require__(156).PDFNetworkStream;\n\n var PDFFetchStream;\n\n if ((0, _display_utils.isFetchSupported)()) {\n PDFFetchStream = __w_pdfjs_require__(157).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/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\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\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.addLinkAttributes = addLinkAttributes;\nexports.deprecated = deprecated;\nexports.getFilenameFromUrl = getFilenameFromUrl;\nexports.isFetchSupported = isFetchSupported;\nexports.isValidFetchUrl = isValidFetchUrl;\nexports.loadScript = loadScript;\nexports.StatTimer = exports.RenderingCancelledException = exports.PDFDateString = exports.PageViewport = exports.LinkTarget = exports.DOMSVGFactory = exports.DOMCMapReaderFactory = exports.DOMCanvasFactory = exports.DEFAULT_LINK_REL = exports.BaseCMapReaderFactory = exports.BaseCanvasFactory = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(4);\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 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 _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 DEFAULT_LINK_REL = \"noopener noreferrer nofollow\";\nexports.DEFAULT_LINK_REL = DEFAULT_LINK_REL;\nvar SVG_NS = \"http://www.w3.org/2000/svg\";\n\nvar BaseCanvasFactory = /*#__PURE__*/function () {\n function BaseCanvasFactory() {\n _classCallCheck(this, BaseCanvasFactory);\n\n if (this.constructor === BaseCanvasFactory) {\n (0, _util.unreachable)(\"Cannot initialize BaseCanvasFactory.\");\n }\n }\n\n _createClass(BaseCanvasFactory, [{\n key: \"create\",\n value: function create(width, height) {\n (0, _util.unreachable)(\"Abstract method `create` called.\");\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 BaseCanvasFactory;\n}();\n\nexports.BaseCanvasFactory = BaseCanvasFactory;\n\nvar DOMCanvasFactory = /*#__PURE__*/function (_BaseCanvasFactory) {\n _inherits(DOMCanvasFactory, _BaseCanvasFactory);\n\n var _super = _createSuper(DOMCanvasFactory);\n\n function DOMCanvasFactory() {\n var _this;\n\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref$ownerDocument = _ref.ownerDocument,\n ownerDocument = _ref$ownerDocument === void 0 ? globalThis.document : _ref$ownerDocument;\n\n _classCallCheck(this, DOMCanvasFactory);\n\n _this = _super.call(this);\n _this._document = ownerDocument;\n return _this;\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 = this._document.createElement(\"canvas\");\n\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\n return DOMCanvasFactory;\n}(BaseCanvasFactory);\n\nexports.DOMCanvasFactory = DOMCanvasFactory;\n\nvar BaseCMapReaderFactory = /*#__PURE__*/function () {\n function BaseCMapReaderFactory(_ref2) {\n var _ref2$baseUrl = _ref2.baseUrl,\n baseUrl = _ref2$baseUrl === void 0 ? null : _ref2$baseUrl,\n _ref2$isCompressed = _ref2.isCompressed,\n isCompressed = _ref2$isCompressed === void 0 ? false : _ref2$isCompressed;\n\n _classCallCheck(this, BaseCMapReaderFactory);\n\n if (this.constructor === BaseCMapReaderFactory) {\n (0, _util.unreachable)(\"Cannot initialize BaseCMapReaderFactory.\");\n }\n\n this.baseUrl = baseUrl;\n this.isCompressed = isCompressed;\n }\n\n _createClass(BaseCMapReaderFactory, [{\n key: \"fetch\",\n value: function () {\n var _fetch = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee(_ref3) {\n var _this2 = this;\n\n var name, url, compressionType;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n name = _ref3.name;\n\n if (this.baseUrl) {\n _context.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 _context.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 return _context.abrupt(\"return\", this._fetchData(url, compressionType)[\"catch\"](function (reason) {\n throw new Error(\"Unable to load \".concat(_this2.isCompressed ? \"binary \" : \"\", \"CMap at: \").concat(url));\n }));\n\n case 8:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function fetch(_x) {\n return _fetch.apply(this, arguments);\n }\n\n return fetch;\n }()\n }, {\n key: \"_fetchData\",\n value: function _fetchData(url, compressionType) {\n (0, _util.unreachable)(\"Abstract method `_fetchData` called.\");\n }\n }]);\n\n return BaseCMapReaderFactory;\n}();\n\nexports.BaseCMapReaderFactory = BaseCMapReaderFactory;\n\nvar DOMCMapReaderFactory = /*#__PURE__*/function (_BaseCMapReaderFactor) {\n _inherits(DOMCMapReaderFactory, _BaseCMapReaderFactor);\n\n var _super2 = _createSuper(DOMCMapReaderFactory);\n\n function DOMCMapReaderFactory() {\n _classCallCheck(this, DOMCMapReaderFactory);\n\n return _super2.apply(this, arguments);\n }\n\n _createClass(DOMCMapReaderFactory, [{\n key: \"_fetchData\",\n value: function _fetchData(url, compressionType) {\n var _this3 = this;\n\n if (isFetchSupported() && isValidFetchUrl(url, document.baseURI)) {\n return fetch(url).then( /*#__PURE__*/function () {\n var _ref4 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2(response) {\n var cMapData;\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n if (response.ok) {\n _context2.next = 2;\n break;\n }\n\n throw new Error(response.statusText);\n\n case 2:\n if (!_this3.isCompressed) {\n _context2.next = 10;\n break;\n }\n\n _context2.t0 = Uint8Array;\n _context2.next = 6;\n return response.arrayBuffer();\n\n case 6:\n _context2.t1 = _context2.sent;\n cMapData = new _context2.t0(_context2.t1);\n _context2.next = 15;\n break;\n\n case 10:\n _context2.t2 = _util.stringToBytes;\n _context2.next = 13;\n return response.text();\n\n case 13:\n _context2.t3 = _context2.sent;\n cMapData = (0, _context2.t2)(_context2.t3);\n\n case 15:\n return _context2.abrupt(\"return\", {\n cMapData: cMapData,\n compressionType: compressionType\n });\n\n case 16:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }));\n\n return function (_x2) {\n return _ref4.apply(this, arguments);\n };\n }());\n }\n\n return new Promise(function (resolve, reject) {\n var request = new XMLHttpRequest();\n request.open(\"GET\", url, true);\n\n if (_this3.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 (_this3.isCompressed && request.response) {\n cMapData = new Uint8Array(request.response);\n } else if (!_this3.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 });\n }\n }]);\n\n return DOMCMapReaderFactory;\n}(BaseCMapReaderFactory);\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 _super3 = _createSuper(RenderingCancelledException);\n\n function RenderingCancelledException(msg, type) {\n var _this4;\n\n _classCallCheck(this, RenderingCancelledException);\n\n _this4 = _super3.call(this, msg);\n _this4.type = type;\n return _this4;\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 var removeScriptElement = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n return new Promise(function (resolve, reject) {\n var script = document.createElement(\"script\");\n script.src = src;\n\n script.onload = function (evt) {\n if (removeScriptElement) {\n script.remove();\n }\n\n resolve(evt);\n };\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/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nmodule.exports = __w_pdfjs_require__(3);\n\n/***/ }),\n/* 3 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n/* module decorator */ module = __w_pdfjs_require__.nmd(module);\n\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 define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n\n try {\n define({}, \"\");\n } catch (err) {\n define = function define(obj, key, value) {\n return obj[key] = value;\n };\n }\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 GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, \"GeneratorFunction\");\n\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function (method) {\n define(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 define(genFun, toStringTagSymbol, \"GeneratorFunction\");\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 define(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 ? 0 : _typeof(module)) === \"object\" ? module.exports : {});\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n\n/***/ }),\n/* 4 */\n/***/ ((__unused_webpack_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.createValidAbsoluteUrl = createValidAbsoluteUrl;\nexports.encodeToXmlString = encodeToXmlString;\nexports.escapeString = escapeString;\nexports.getModificationDate = getModificationDate;\nexports.getVerbosityLevel = getVerbosityLevel;\nexports.info = info;\nexports.isArrayBuffer = isArrayBuffer;\nexports.isArrayEqual = isArrayEqual;\nexports.isAscii = isAscii;\nexports.isBool = isBool;\nexports.isNum = isNum;\nexports.isSameOrigin = isSameOrigin;\nexports.isString = isString;\nexports.objectFromEntries = objectFromEntries;\nexports.objectSize = objectSize;\nexports.removeNullCharacters = removeNullCharacters;\nexports.setVerbosityLevel = setVerbosityLevel;\nexports.shadow = shadow;\nexports.string32 = string32;\nexports.stringToBytes = stringToBytes;\nexports.stringToPDFString = stringToPDFString;\nexports.stringToUTF16BEString = stringToUTF16BEString;\nexports.stringToUTF8String = stringToUTF8String;\nexports.unreachable = unreachable;\nexports.utf8StringToString = utf8StringToString;\nexports.warn = warn;\nexports.VerbosityLevel = exports.Util = exports.UNSUPPORTED_FEATURES = exports.UnknownErrorException = exports.UnexpectedResponseException = exports.TextRenderingMode = exports.StreamType = exports.PermissionFlag = exports.PasswordResponses = exports.PasswordException = exports.PageActionEventType = exports.OPS = exports.MissingPDFException = exports.IsLittleEndianCached = exports.IsEvalSupportedCached = exports.InvalidPDFException = exports.ImageKind = exports.IDENTITY_MATRIX = exports.FormatError = exports.FontType = exports.FONT_IDENTITY_MATRIX = exports.DocumentActionEventType = exports.createObjectURL = exports.CMapCompressionType = exports.BaseException = exports.AnnotationType = exports.AnnotationStateModelType = exports.AnnotationReviewState = exports.AnnotationReplyType = exports.AnnotationMarkedState = exports.AnnotationFlag = exports.AnnotationFieldFlag = exports.AnnotationBorderStyleType = exports.AnnotationActionEventType = exports.AbortException = void 0;\n\n__w_pdfjs_require__(5);\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 _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 _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 _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 _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 _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 AnnotationActionEventType = {\n E: \"Mouse Enter\",\n X: \"Mouse Exit\",\n D: \"Mouse Down\",\n U: \"Mouse Up\",\n Fo: \"Focus\",\n Bl: \"Blur\",\n PO: \"PageOpen\",\n PC: \"PageClose\",\n PV: \"PageVisible\",\n PI: \"PageInvisible\",\n K: \"Keystroke\",\n F: \"Format\",\n V: \"Validate\",\n C: \"Calculate\"\n};\nexports.AnnotationActionEventType = AnnotationActionEventType;\nvar DocumentActionEventType = {\n WC: \"WillClose\",\n WS: \"WillSave\",\n DS: \"DidSave\",\n WP: \"WillPrint\",\n DP: \"DidPrint\"\n};\nexports.DocumentActionEventType = DocumentActionEventType;\nvar PageActionEventType = {\n O: \"PageOpen\",\n C: \"PageClose\"\n};\nexports.PageActionEventType = PageActionEventType;\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 errorMarkedContent: \"errorMarkedContent\"\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 objectSize(obj) {\n return Object.keys(obj).length;\n}\n\nfunction objectFromEntries(iterable) {\n return Object.assign(Object.create(null), Object.fromEntries(iterable));\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;\n\nvar hexNumbers = _toConsumableArray(Array(256).keys()).map(function (n) {\n return n.toString(16).padStart(2, \"0\");\n});\n\nvar Util = /*#__PURE__*/function () {\n function Util() {\n _classCallCheck(this, Util);\n }\n\n _createClass(Util, null, [{\n key: \"makeHexColor\",\n value: function makeHexColor(r, g, b) {\n return \"#\".concat(hexNumbers[r]).concat(hexNumbers[g]).concat(hexNumbers[b]);\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 escapeString(str) {\n return str.replace(/([()\\\\\\n\\r])/g, function (match) {\n if (match === \"\\n\") {\n return \"\\\\n\";\n } else if (match === \"\\r\") {\n return \"\\\\r\";\n }\n\n return \"\\\\\".concat(match);\n });\n}\n\nfunction isAscii(str) {\n return /^[\\x00-\\x7F]*$/.test(str);\n}\n\nfunction stringToUTF16BEString(str) {\n var buf = [\"\\xFE\\xFF\"];\n\n for (var i = 0, ii = str.length; i < ii; i++) {\n var _char = str.charCodeAt(i);\n\n buf.push(String.fromCharCode(_char >> 8 & 0xff));\n buf.push(String.fromCharCode(_char & 0xff));\n }\n\n return buf.join(\"\");\n}\n\nfunction stringToUTF8String(str) {\n return decodeURIComponent(escape(str));\n}\n\nfunction utf8StringToString(str) {\n return unescape(encodeURIComponent(str));\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 getModificationDate() {\n var date = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : new Date();\n var buffer = [date.getUTCFullYear().toString(), (date.getUTCMonth() + 1).toString().padStart(2, \"0\"), date.getUTCDate().toString().padStart(2, \"0\"), date.getUTCHours().toString().padStart(2, \"0\"), date.getUTCMinutes().toString().padStart(2, \"0\"), date.getUTCSeconds().toString().padStart(2, \"0\")];\n return buffer.join(\"\");\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;\nvar XMLEntities = {\n 0x3c: \"<\",\n 0x3e: \">\",\n 0x26: \"&\",\n 0x22: \""\",\n 0x27: \"'\"\n};\n\nfunction encodeToXmlString(str) {\n var buffer = [];\n var start = 0;\n\n for (var i = 0, ii = str.length; i < ii; i++) {\n var _char2 = str.codePointAt(i);\n\n if (0x20 <= _char2 && _char2 <= 0x7e) {\n var entity = XMLEntities[_char2];\n\n if (entity) {\n if (start < i) {\n buffer.push(str.substring(start, i));\n }\n\n buffer.push(entity);\n start = i + 1;\n }\n } else {\n if (start < i) {\n buffer.push(str.substring(start, i));\n }\n\n buffer.push(\"\".concat(_char2.toString(16).toUpperCase(), \";\"));\n\n if (_char2 > 0xd7ff && (_char2 < 0xe000 || _char2 > 0xfffd)) {\n i++;\n }\n\n start = i + 1;\n }\n }\n\n if (buffer.length === 0) {\n return str;\n }\n\n if (start < str.length) {\n buffer.push(str.substring(start, str.length));\n }\n\n return buffer.join(\"\");\n}\n\n/***/ }),\n/* 5 */\n/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nvar _is_node = __w_pdfjs_require__(6);\n\nif (typeof globalThis === \"undefined\" || !globalThis._pdfjsCompatibilityChecked) {\n if (typeof globalThis === \"undefined\" || globalThis.Math !== Math) {\n globalThis = __w_pdfjs_require__(7);\n }\n\n globalThis._pdfjsCompatibilityChecked = true;\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 checkObjectFromEntries() {\n if (Object.fromEntries) {\n return;\n }\n\n __w_pdfjs_require__(52);\n })();\n\n (function checkPromise() {\n if (globalThis.Promise.allSettled) {\n return;\n }\n\n globalThis.Promise = __w_pdfjs_require__(82);\n })();\n\n (function checkURL() {\n globalThis.URL = __w_pdfjs_require__(111);\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__(121).ReadableStream;\n })();\n\n (function checkStringPadStart() {\n if (String.prototype.padStart) {\n return;\n }\n\n __w_pdfjs_require__(122);\n })();\n\n (function checkStringPadEnd() {\n if (String.prototype.padEnd) {\n return;\n }\n\n __w_pdfjs_require__(128);\n })();\n\n (function checkObjectValues() {\n if (Object.values) {\n return;\n }\n\n Object.values = __w_pdfjs_require__(130);\n })();\n\n (function checkObjectEntries() {\n if (Object.entries) {\n return;\n }\n\n Object.entries = __w_pdfjs_require__(133);\n })();\n}\n\n/***/ }),\n/* 6 */\n/***/ ((__unused_webpack_module, exports) => {\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 && process.type && process.type !== \"browser\");\nexports.isNodeJS = isNodeJS;\n\n/***/ }),\n/* 7 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n__w_pdfjs_require__(8);\nmodule.exports = __w_pdfjs_require__(10);\n\n/***/ }),\n/* 8 */\n/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar $ = __w_pdfjs_require__(9);\nvar global = __w_pdfjs_require__(10);\n$({ global: true }, { globalThis: global });\n\n/***/ }),\n/* 9 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar global = __w_pdfjs_require__(10);\nvar getOwnPropertyDescriptor = __w_pdfjs_require__(11).f;\nvar createNonEnumerableProperty = __w_pdfjs_require__(25);\nvar redefine = __w_pdfjs_require__(28);\nvar setGlobal = __w_pdfjs_require__(29);\nvar copyConstructorProperties = __w_pdfjs_require__(39);\nvar isForced = __w_pdfjs_require__(51);\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/* 10 */\n/***/ ((module) => {\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 () {\n return this;\n}() || Function('return this')();\n\n/***/ }),\n/* 11 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\nvar DESCRIPTORS = __w_pdfjs_require__(12);\nvar propertyIsEnumerableModule = __w_pdfjs_require__(14);\nvar createPropertyDescriptor = __w_pdfjs_require__(15);\nvar toIndexedObject = __w_pdfjs_require__(16);\nvar toPrimitive = __w_pdfjs_require__(20);\nvar has = __w_pdfjs_require__(22);\nvar IE8_DOM_DEFINE = __w_pdfjs_require__(23);\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/* 12 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar fails = __w_pdfjs_require__(13);\nmodule.exports = !fails(function () {\n return Object.defineProperty({}, 1, {\n get: function () {\n return 7;\n }\n })[1] != 7;\n});\n\n/***/ }),\n/* 13 */\n/***/ ((module) => {\n\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n\n/***/ }),\n/* 14 */\n/***/ ((__unused_webpack_module, exports) => {\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/* 15 */\n/***/ ((module) => {\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/* 16 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar IndexedObject = __w_pdfjs_require__(17);\nvar requireObjectCoercible = __w_pdfjs_require__(19);\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n\n/***/ }),\n/* 17 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar fails = __w_pdfjs_require__(13);\nvar classof = __w_pdfjs_require__(18);\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/* 18 */\n/***/ ((module) => {\n\nvar toString = {}.toString;\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n\n/***/ }),\n/* 19 */\n/***/ ((module) => {\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/* 20 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar isObject = __w_pdfjs_require__(21);\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/* 21 */\n/***/ ((module) => {\n\nmodule.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n/***/ }),\n/* 22 */\n/***/ ((module) => {\n\nvar hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n\n/***/ }),\n/* 23 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar DESCRIPTORS = __w_pdfjs_require__(12);\nvar fails = __w_pdfjs_require__(13);\nvar createElement = __w_pdfjs_require__(24);\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/* 24 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar global = __w_pdfjs_require__(10);\nvar isObject = __w_pdfjs_require__(21);\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/* 25 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar DESCRIPTORS = __w_pdfjs_require__(12);\nvar definePropertyModule = __w_pdfjs_require__(26);\nvar createPropertyDescriptor = __w_pdfjs_require__(15);\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/* 26 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\nvar DESCRIPTORS = __w_pdfjs_require__(12);\nvar IE8_DOM_DEFINE = __w_pdfjs_require__(23);\nvar anObject = __w_pdfjs_require__(27);\nvar toPrimitive = __w_pdfjs_require__(20);\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/* 27 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar isObject = __w_pdfjs_require__(21);\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/* 28 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar global = __w_pdfjs_require__(10);\nvar createNonEnumerableProperty = __w_pdfjs_require__(25);\nvar has = __w_pdfjs_require__(22);\nvar setGlobal = __w_pdfjs_require__(29);\nvar inspectSource = __w_pdfjs_require__(30);\nvar InternalStateModule = __w_pdfjs_require__(32);\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 var state;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) {\n createNonEnumerableProperty(value, 'name', key);\n }\n state = enforceInternalState(value);\n if (!state.source) {\n state.source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\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/* 29 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar global = __w_pdfjs_require__(10);\nvar createNonEnumerableProperty = __w_pdfjs_require__(25);\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/* 30 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar store = __w_pdfjs_require__(31);\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/* 31 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar global = __w_pdfjs_require__(10);\nvar setGlobal = __w_pdfjs_require__(29);\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\nmodule.exports = store;\n\n/***/ }),\n/* 32 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar NATIVE_WEAK_MAP = __w_pdfjs_require__(33);\nvar global = __w_pdfjs_require__(10);\nvar isObject = __w_pdfjs_require__(21);\nvar createNonEnumerableProperty = __w_pdfjs_require__(25);\nvar objectHas = __w_pdfjs_require__(22);\nvar shared = __w_pdfjs_require__(31);\nvar sharedKey = __w_pdfjs_require__(34);\nvar hiddenKeys = __w_pdfjs_require__(38);\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 = shared.state || (shared.state = new WeakMap());\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n metadata.facade = it;\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 metadata.facade = it;\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/* 33 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar global = __w_pdfjs_require__(10);\nvar inspectSource = __w_pdfjs_require__(30);\nvar WeakMap = global.WeakMap;\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));\n\n/***/ }),\n/* 34 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar shared = __w_pdfjs_require__(35);\nvar uid = __w_pdfjs_require__(37);\nvar keys = shared('keys');\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n\n/***/ }),\n/* 35 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar IS_PURE = __w_pdfjs_require__(36);\nvar store = __w_pdfjs_require__(31);\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.8.3',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2021 Denis Pushkarev (zloirock.ru)'\n});\n\n/***/ }),\n/* 36 */\n/***/ ((module) => {\n\nmodule.exports = false;\n\n/***/ }),\n/* 37 */\n/***/ ((module) => {\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/* 38 */\n/***/ ((module) => {\n\nmodule.exports = {};\n\n/***/ }),\n/* 39 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar has = __w_pdfjs_require__(22);\nvar ownKeys = __w_pdfjs_require__(40);\nvar getOwnPropertyDescriptorModule = __w_pdfjs_require__(11);\nvar definePropertyModule = __w_pdfjs_require__(26);\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/* 40 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar getBuiltIn = __w_pdfjs_require__(41);\nvar getOwnPropertyNamesModule = __w_pdfjs_require__(43);\nvar getOwnPropertySymbolsModule = __w_pdfjs_require__(50);\nvar anObject = __w_pdfjs_require__(27);\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/* 41 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar path = __w_pdfjs_require__(42);\nvar global = __w_pdfjs_require__(10);\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/* 42 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar global = __w_pdfjs_require__(10);\nmodule.exports = global;\n\n/***/ }),\n/* 43 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\nvar internalObjectKeys = __w_pdfjs_require__(44);\nvar enumBugKeys = __w_pdfjs_require__(49);\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n\n/***/ }),\n/* 44 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar has = __w_pdfjs_require__(22);\nvar toIndexedObject = __w_pdfjs_require__(16);\nvar indexOf = __w_pdfjs_require__(45).indexOf;\nvar hiddenKeys = __w_pdfjs_require__(38);\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/* 45 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar toIndexedObject = __w_pdfjs_require__(16);\nvar toLength = __w_pdfjs_require__(46);\nvar toAbsoluteIndex = __w_pdfjs_require__(48);\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/* 46 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar toInteger = __w_pdfjs_require__(47);\nvar min = Math.min;\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0;\n};\n\n/***/ }),\n/* 47 */\n/***/ ((module) => {\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/* 48 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar toInteger = __w_pdfjs_require__(47);\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/* 49 */\n/***/ ((module) => {\n\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n\n/***/ }),\n/* 50 */\n/***/ ((__unused_webpack_module, exports) => {\n\nexports.f = Object.getOwnPropertySymbols;\n\n/***/ }),\n/* 51 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar fails = __w_pdfjs_require__(13);\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/* 52 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n__w_pdfjs_require__(53);\n__w_pdfjs_require__(72);\nvar path = __w_pdfjs_require__(42);\nmodule.exports = path.Object.fromEntries;\n\n/***/ }),\n/* 53 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\nvar toIndexedObject = __w_pdfjs_require__(16);\nvar addToUnscopables = __w_pdfjs_require__(54);\nvar Iterators = __w_pdfjs_require__(62);\nvar InternalStateModule = __w_pdfjs_require__(32);\nvar defineIterator = __w_pdfjs_require__(63);\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/* 54 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar wellKnownSymbol = __w_pdfjs_require__(55);\nvar create = __w_pdfjs_require__(58);\nvar definePropertyModule = __w_pdfjs_require__(26);\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/* 55 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar global = __w_pdfjs_require__(10);\nvar shared = __w_pdfjs_require__(35);\nvar has = __w_pdfjs_require__(22);\nvar uid = __w_pdfjs_require__(37);\nvar NATIVE_SYMBOL = __w_pdfjs_require__(56);\nvar USE_SYMBOL_AS_UID = __w_pdfjs_require__(57);\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/* 56 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar fails = __w_pdfjs_require__(13);\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n return !String(Symbol());\n});\n\n/***/ }),\n/* 57 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar NATIVE_SYMBOL = __w_pdfjs_require__(56);\nmodule.exports = NATIVE_SYMBOL && !Symbol.sham && typeof Symbol.iterator == 'symbol';\n\n/***/ }),\n/* 58 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar anObject = __w_pdfjs_require__(27);\nvar defineProperties = __w_pdfjs_require__(59);\nvar enumBugKeys = __w_pdfjs_require__(49);\nvar hiddenKeys = __w_pdfjs_require__(38);\nvar html = __w_pdfjs_require__(61);\nvar documentCreateElement = __w_pdfjs_require__(24);\nvar sharedKey = __w_pdfjs_require__(34);\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/* 59 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar DESCRIPTORS = __w_pdfjs_require__(12);\nvar definePropertyModule = __w_pdfjs_require__(26);\nvar anObject = __w_pdfjs_require__(27);\nvar objectKeys = __w_pdfjs_require__(60);\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/* 60 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar internalObjectKeys = __w_pdfjs_require__(44);\nvar enumBugKeys = __w_pdfjs_require__(49);\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n\n/***/ }),\n/* 61 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar getBuiltIn = __w_pdfjs_require__(41);\nmodule.exports = getBuiltIn('document', 'documentElement');\n\n/***/ }),\n/* 62 */\n/***/ ((module) => {\n\nmodule.exports = {};\n\n/***/ }),\n/* 63 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(9);\nvar createIteratorConstructor = __w_pdfjs_require__(64);\nvar getPrototypeOf = __w_pdfjs_require__(66);\nvar setPrototypeOf = __w_pdfjs_require__(70);\nvar setToStringTag = __w_pdfjs_require__(69);\nvar createNonEnumerableProperty = __w_pdfjs_require__(25);\nvar redefine = __w_pdfjs_require__(28);\nvar wellKnownSymbol = __w_pdfjs_require__(55);\nvar IS_PURE = __w_pdfjs_require__(36);\nvar Iterators = __w_pdfjs_require__(62);\nvar IteratorsCore = __w_pdfjs_require__(65);\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/* 64 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\nvar IteratorPrototype = __w_pdfjs_require__(65).IteratorPrototype;\nvar create = __w_pdfjs_require__(58);\nvar createPropertyDescriptor = __w_pdfjs_require__(15);\nvar setToStringTag = __w_pdfjs_require__(69);\nvar Iterators = __w_pdfjs_require__(62);\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/* 65 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\nvar fails = __w_pdfjs_require__(13);\nvar getPrototypeOf = __w_pdfjs_require__(66);\nvar createNonEnumerableProperty = __w_pdfjs_require__(25);\nvar has = __w_pdfjs_require__(22);\nvar wellKnownSymbol = __w_pdfjs_require__(55);\nvar IS_PURE = __w_pdfjs_require__(36);\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}\nvar NEW_ITERATOR_PROTOTYPE = IteratorPrototype == undefined || fails(function () {\n var test = {};\n return IteratorPrototype[ITERATOR].call(test) !== test;\n});\nif (NEW_ITERATOR_PROTOTYPE)\n IteratorPrototype = {};\nif ((!IS_PURE || NEW_ITERATOR_PROTOTYPE) && !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/* 66 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar has = __w_pdfjs_require__(22);\nvar toObject = __w_pdfjs_require__(67);\nvar sharedKey = __w_pdfjs_require__(34);\nvar CORRECT_PROTOTYPE_GETTER = __w_pdfjs_require__(68);\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/* 67 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar requireObjectCoercible = __w_pdfjs_require__(19);\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n\n/***/ }),\n/* 68 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar fails = __w_pdfjs_require__(13);\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/* 69 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar defineProperty = __w_pdfjs_require__(26).f;\nvar has = __w_pdfjs_require__(22);\nvar wellKnownSymbol = __w_pdfjs_require__(55);\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/* 70 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar anObject = __w_pdfjs_require__(27);\nvar aPossiblePrototype = __w_pdfjs_require__(71);\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/* 71 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar isObject = __w_pdfjs_require__(21);\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/* 72 */\n/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar $ = __w_pdfjs_require__(9);\nvar iterate = __w_pdfjs_require__(73);\nvar createProperty = __w_pdfjs_require__(81);\n$({\n target: 'Object',\n stat: true\n}, {\n fromEntries: function fromEntries(iterable) {\n var obj = {};\n iterate(iterable, function (k, v) {\n createProperty(obj, k, v);\n }, { AS_ENTRIES: true });\n return obj;\n }\n});\n\n/***/ }),\n/* 73 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar anObject = __w_pdfjs_require__(27);\nvar isArrayIteratorMethod = __w_pdfjs_require__(74);\nvar toLength = __w_pdfjs_require__(46);\nvar bind = __w_pdfjs_require__(75);\nvar getIteratorMethod = __w_pdfjs_require__(77);\nvar iteratorClose = __w_pdfjs_require__(80);\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\nmodule.exports = function (iterable, unboundFunction, options) {\n var that = options && options.that;\n var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n var INTERRUPTED = !!(options && options.INTERRUPTED);\n var fn = bind(unboundFunction, that, 1 + AS_ENTRIES + INTERRUPTED);\n var iterator, iterFn, index, length, result, next, step;\n var stop = function (condition) {\n if (iterator)\n iteratorClose(iterator);\n return new Result(true, condition);\n };\n var callFn = function (value) {\n if (AS_ENTRIES) {\n anObject(value);\n return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);\n }\n return INTERRUPTED ? fn(value, stop) : fn(value);\n };\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 = callFn(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 try {\n result = callFn(step.value);\n } catch (error) {\n iteratorClose(iterator);\n throw error;\n }\n if (typeof result == 'object' && result && result instanceof Result)\n return result;\n }\n return new Result(false);\n};\n\n/***/ }),\n/* 74 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar wellKnownSymbol = __w_pdfjs_require__(55);\nvar Iterators = __w_pdfjs_require__(62);\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/* 75 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar aFunction = __w_pdfjs_require__(76);\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/* 76 */\n/***/ ((module) => {\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/* 77 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar classof = __w_pdfjs_require__(78);\nvar Iterators = __w_pdfjs_require__(62);\nvar wellKnownSymbol = __w_pdfjs_require__(55);\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/* 78 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar TO_STRING_TAG_SUPPORT = __w_pdfjs_require__(79);\nvar classofRaw = __w_pdfjs_require__(18);\nvar wellKnownSymbol = __w_pdfjs_require__(55);\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/* 79 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar wellKnownSymbol = __w_pdfjs_require__(55);\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\ntest[TO_STRING_TAG] = 'z';\nmodule.exports = String(test) === '[object z]';\n\n/***/ }),\n/* 80 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar anObject = __w_pdfjs_require__(27);\nmodule.exports = function (iterator) {\n var returnMethod = iterator['return'];\n if (returnMethod !== undefined) {\n return anObject(returnMethod.call(iterator)).value;\n }\n};\n\n/***/ }),\n/* 81 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\nvar toPrimitive = __w_pdfjs_require__(20);\nvar definePropertyModule = __w_pdfjs_require__(26);\nvar createPropertyDescriptor = __w_pdfjs_require__(15);\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/* 82 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n__w_pdfjs_require__(83);\n__w_pdfjs_require__(84);\n__w_pdfjs_require__(86);\n__w_pdfjs_require__(104);\n__w_pdfjs_require__(105);\n__w_pdfjs_require__(106);\n__w_pdfjs_require__(107);\n__w_pdfjs_require__(109);\nvar path = __w_pdfjs_require__(42);\nmodule.exports = path.Promise;\n\n/***/ }),\n/* 83 */\n/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(9);\nvar getPrototypeOf = __w_pdfjs_require__(66);\nvar setPrototypeOf = __w_pdfjs_require__(70);\nvar create = __w_pdfjs_require__(58);\nvar createNonEnumerableProperty = __w_pdfjs_require__(25);\nvar createPropertyDescriptor = __w_pdfjs_require__(15);\nvar iterate = __w_pdfjs_require__(73);\nvar $AggregateError = function AggregateError(errors, message) {\n var that = this;\n if (!(that instanceof $AggregateError))\n return new $AggregateError(errors, message);\n if (setPrototypeOf) {\n that = setPrototypeOf(new Error(undefined), getPrototypeOf(that));\n }\n if (message !== undefined)\n createNonEnumerableProperty(that, 'message', String(message));\n var errorsArray = [];\n iterate(errors, errorsArray.push, { that: errorsArray });\n createNonEnumerableProperty(that, 'errors', errorsArray);\n return that;\n};\n$AggregateError.prototype = create(Error.prototype, {\n constructor: createPropertyDescriptor(5, $AggregateError),\n message: createPropertyDescriptor(5, ''),\n name: createPropertyDescriptor(5, 'AggregateError')\n});\n$({ global: true }, { AggregateError: $AggregateError });\n\n/***/ }),\n/* 84 */\n/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar TO_STRING_TAG_SUPPORT = __w_pdfjs_require__(79);\nvar redefine = __w_pdfjs_require__(28);\nvar toString = __w_pdfjs_require__(85);\nif (!TO_STRING_TAG_SUPPORT) {\n redefine(Object.prototype, 'toString', toString, { unsafe: true });\n}\n\n/***/ }),\n/* 85 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\nvar TO_STRING_TAG_SUPPORT = __w_pdfjs_require__(79);\nvar classof = __w_pdfjs_require__(78);\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n\n/***/ }),\n/* 86 */\n/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(9);\nvar IS_PURE = __w_pdfjs_require__(36);\nvar global = __w_pdfjs_require__(10);\nvar getBuiltIn = __w_pdfjs_require__(41);\nvar NativePromise = __w_pdfjs_require__(87);\nvar redefine = __w_pdfjs_require__(28);\nvar redefineAll = __w_pdfjs_require__(88);\nvar setToStringTag = __w_pdfjs_require__(69);\nvar setSpecies = __w_pdfjs_require__(89);\nvar isObject = __w_pdfjs_require__(21);\nvar aFunction = __w_pdfjs_require__(76);\nvar anInstance = __w_pdfjs_require__(90);\nvar inspectSource = __w_pdfjs_require__(30);\nvar iterate = __w_pdfjs_require__(73);\nvar checkCorrectnessOfIteration = __w_pdfjs_require__(91);\nvar speciesConstructor = __w_pdfjs_require__(92);\nvar task = __w_pdfjs_require__(93).set;\nvar microtask = __w_pdfjs_require__(97);\nvar promiseResolve = __w_pdfjs_require__(99);\nvar hostReportErrors = __w_pdfjs_require__(101);\nvar newPromiseCapabilityModule = __w_pdfjs_require__(100);\nvar perform = __w_pdfjs_require__(102);\nvar InternalStateModule = __w_pdfjs_require__(32);\nvar isForced = __w_pdfjs_require__(51);\nvar wellKnownSymbol = __w_pdfjs_require__(55);\nvar IS_NODE = __w_pdfjs_require__(96);\nvar V8_VERSION = __w_pdfjs_require__(103);\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 DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);\nvar NATIVE_REJECTION_EVENT = typeof PromiseRejectionEvent == 'function';\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 && !NATIVE_REJECTION_EVENT)\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 (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(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(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 (!NATIVE_REJECTION_EVENT && (handler = global['on' + name]))\n handler(event);\n else if (name === UNHANDLED_REJECTION)\n hostReportErrors('Unhandled promise rejection', reason);\n};\nvar onUnhandled = function (state) {\n task.call(global, function () {\n var promise = state.facade;\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 (state) {\n task.call(global, function () {\n var promise = state.facade;\n if (IS_NODE) {\n process.emit('rejectionHandled', promise);\n } else\n dispatchEvent(REJECTION_HANDLED, promise, state.value);\n });\n};\nvar bind = function (fn, state, unwrap) {\n return function (value) {\n fn(state, value, unwrap);\n };\n};\nvar internalReject = function (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(state, true);\n};\nvar internalResolve = function (state, value, unwrap) {\n if (state.done)\n return;\n state.done = true;\n if (unwrap)\n state = unwrap;\n try {\n if (state.facade === 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, wrapper, state), bind(internalReject, wrapper, state));\n } catch (error) {\n internalReject(wrapper, error, state);\n }\n });\n } else {\n state.value = value;\n state.state = FULFILLED;\n notify(state, false);\n }\n } catch (error) {\n internalReject({ 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, state), bind(internalReject, state));\n } catch (error) {\n internalReject(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(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, state);\n this.reject = bind(internalReject, 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/* 87 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar global = __w_pdfjs_require__(10);\nmodule.exports = global.Promise;\n\n/***/ }),\n/* 88 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar redefine = __w_pdfjs_require__(28);\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/* 89 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\nvar getBuiltIn = __w_pdfjs_require__(41);\nvar definePropertyModule = __w_pdfjs_require__(26);\nvar wellKnownSymbol = __w_pdfjs_require__(55);\nvar DESCRIPTORS = __w_pdfjs_require__(12);\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/* 90 */\n/***/ ((module) => {\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/* 91 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar wellKnownSymbol = __w_pdfjs_require__(55);\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/* 92 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar anObject = __w_pdfjs_require__(27);\nvar aFunction = __w_pdfjs_require__(76);\nvar wellKnownSymbol = __w_pdfjs_require__(55);\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/* 93 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar global = __w_pdfjs_require__(10);\nvar fails = __w_pdfjs_require__(13);\nvar bind = __w_pdfjs_require__(75);\nvar html = __w_pdfjs_require__(61);\nvar createElement = __w_pdfjs_require__(24);\nvar IS_IOS = __w_pdfjs_require__(94);\nvar IS_NODE = __w_pdfjs_require__(96);\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 (IS_NODE) {\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 && location && location.protocol !== 'file:' && !fails(post)) {\n defer = post;\n global.addEventListener('message', listener, false);\n } else if (ONREADYSTATECHANGE in createElement('script')) {\n defer = function (id) {\n html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run(id);\n };\n };\n } else {\n defer = function (id) {\n setTimeout(runner(id), 0);\n };\n }\n}\nmodule.exports = {\n set: set,\n clear: clear\n};\n\n/***/ }),\n/* 94 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar userAgent = __w_pdfjs_require__(95);\nmodule.exports = /(iphone|ipod|ipad).*applewebkit/i.test(userAgent);\n\n/***/ }),\n/* 95 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar getBuiltIn = __w_pdfjs_require__(41);\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n\n/***/ }),\n/* 96 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar classof = __w_pdfjs_require__(18);\nvar global = __w_pdfjs_require__(10);\nmodule.exports = classof(global.process) == 'process';\n\n/***/ }),\n/* 97 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar global = __w_pdfjs_require__(10);\nvar getOwnPropertyDescriptor = __w_pdfjs_require__(11).f;\nvar macrotask = __w_pdfjs_require__(93).set;\nvar IS_IOS = __w_pdfjs_require__(94);\nvar IS_WEBOS_WEBKIT = __w_pdfjs_require__(98);\nvar IS_NODE = __w_pdfjs_require__(96);\nvar MutationObserver = global.MutationObserver || global.WebKitMutationObserver;\nvar document = global.document;\nvar process = global.process;\nvar Promise = global.Promise;\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_IOS && !IS_NODE && !IS_WEBOS_WEBKIT && MutationObserver && document) {\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 if (IS_NODE) {\n notify = function () {\n process.nextTick(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/* 98 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar userAgent = __w_pdfjs_require__(95);\nmodule.exports = /web0s(?!.*chrome)/i.test(userAgent);\n\n/***/ }),\n/* 99 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar anObject = __w_pdfjs_require__(27);\nvar isObject = __w_pdfjs_require__(21);\nvar newPromiseCapability = __w_pdfjs_require__(100);\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/* 100 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\nvar aFunction = __w_pdfjs_require__(76);\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/* 101 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar global = __w_pdfjs_require__(10);\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/* 102 */\n/***/ ((module) => {\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/* 103 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar global = __w_pdfjs_require__(10);\nvar userAgent = __w_pdfjs_require__(95);\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/* 104 */\n/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(9);\nvar aFunction = __w_pdfjs_require__(76);\nvar newPromiseCapabilityModule = __w_pdfjs_require__(100);\nvar perform = __w_pdfjs_require__(102);\nvar iterate = __w_pdfjs_require__(73);\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 (error) {\n if (alreadyCalled)\n return;\n alreadyCalled = true;\n values[index] = {\n status: 'rejected',\n reason: error\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/* 105 */\n/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(9);\nvar aFunction = __w_pdfjs_require__(76);\nvar getBuiltIn = __w_pdfjs_require__(41);\nvar newPromiseCapabilityModule = __w_pdfjs_require__(100);\nvar perform = __w_pdfjs_require__(102);\nvar iterate = __w_pdfjs_require__(73);\nvar PROMISE_ANY_ERROR = 'No one promise resolved';\n$({\n target: 'Promise',\n stat: true\n}, {\n any: function any(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 errors = [];\n var counter = 0;\n var remaining = 1;\n var alreadyResolved = false;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyRejected = false;\n errors.push(undefined);\n remaining++;\n promiseResolve.call(C, promise).then(function (value) {\n if (alreadyRejected || alreadyResolved)\n return;\n alreadyResolved = true;\n resolve(value);\n }, function (error) {\n if (alreadyRejected || alreadyResolved)\n return;\n alreadyRejected = true;\n errors[index] = error;\n --remaining || reject(new (getBuiltIn('AggregateError'))(errors, PROMISE_ANY_ERROR));\n });\n });\n --remaining || reject(new (getBuiltIn('AggregateError'))(errors, PROMISE_ANY_ERROR));\n });\n if (result.error)\n reject(result.value);\n return capability.promise;\n }\n});\n\n/***/ }),\n/* 106 */\n/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(9);\nvar IS_PURE = __w_pdfjs_require__(36);\nvar NativePromise = __w_pdfjs_require__(87);\nvar fails = __w_pdfjs_require__(13);\nvar getBuiltIn = __w_pdfjs_require__(41);\nvar speciesConstructor = __w_pdfjs_require__(92);\nvar promiseResolve = __w_pdfjs_require__(99);\nvar redefine = __w_pdfjs_require__(28);\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/* 107 */\n/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\nvar charAt = __w_pdfjs_require__(108).charAt;\nvar InternalStateModule = __w_pdfjs_require__(32);\nvar defineIterator = __w_pdfjs_require__(63);\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/* 108 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar toInteger = __w_pdfjs_require__(47);\nvar requireObjectCoercible = __w_pdfjs_require__(19);\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/* 109 */\n/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar global = __w_pdfjs_require__(10);\nvar DOMIterables = __w_pdfjs_require__(110);\nvar ArrayIteratorMethods = __w_pdfjs_require__(53);\nvar createNonEnumerableProperty = __w_pdfjs_require__(25);\nvar wellKnownSymbol = __w_pdfjs_require__(55);\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/* 110 */\n/***/ ((module) => {\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/* 111 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n__w_pdfjs_require__(112);\n__w_pdfjs_require__(120);\n__w_pdfjs_require__(118);\nvar path = __w_pdfjs_require__(42);\nmodule.exports = path.URL;\n\n/***/ }),\n/* 112 */\n/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n__w_pdfjs_require__(107);\nvar $ = __w_pdfjs_require__(9);\nvar DESCRIPTORS = __w_pdfjs_require__(12);\nvar USE_NATIVE_URL = __w_pdfjs_require__(113);\nvar global = __w_pdfjs_require__(10);\nvar defineProperties = __w_pdfjs_require__(59);\nvar redefine = __w_pdfjs_require__(28);\nvar anInstance = __w_pdfjs_require__(90);\nvar has = __w_pdfjs_require__(22);\nvar assign = __w_pdfjs_require__(114);\nvar arrayFrom = __w_pdfjs_require__(115);\nvar codeAt = __w_pdfjs_require__(108).codeAt;\nvar toASCII = __w_pdfjs_require__(117);\nvar setToStringTag = __w_pdfjs_require__(69);\nvar URLSearchParamsModule = __w_pdfjs_require__(118);\nvar InternalStateModule = __w_pdfjs_require__(32);\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/* 113 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar fails = __w_pdfjs_require__(13);\nvar wellKnownSymbol = __w_pdfjs_require__(55);\nvar IS_PURE = __w_pdfjs_require__(36);\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/* 114 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\nvar DESCRIPTORS = __w_pdfjs_require__(12);\nvar fails = __w_pdfjs_require__(13);\nvar objectKeys = __w_pdfjs_require__(60);\nvar getOwnPropertySymbolsModule = __w_pdfjs_require__(50);\nvar propertyIsEnumerableModule = __w_pdfjs_require__(14);\nvar toObject = __w_pdfjs_require__(67);\nvar IndexedObject = __w_pdfjs_require__(17);\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/* 115 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\nvar bind = __w_pdfjs_require__(75);\nvar toObject = __w_pdfjs_require__(67);\nvar callWithSafeIterationClosing = __w_pdfjs_require__(116);\nvar isArrayIteratorMethod = __w_pdfjs_require__(74);\nvar toLength = __w_pdfjs_require__(46);\nvar createProperty = __w_pdfjs_require__(81);\nvar getIteratorMethod = __w_pdfjs_require__(77);\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/* 116 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar anObject = __w_pdfjs_require__(27);\nvar iteratorClose = __w_pdfjs_require__(80);\nmodule.exports = function (iterator, fn, value, ENTRIES) {\n try {\n return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n } catch (error) {\n iteratorClose(iterator);\n throw error;\n }\n};\n\n/***/ }),\n/* 117 */\n/***/ ((module) => {\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/* 118 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n__w_pdfjs_require__(53);\nvar $ = __w_pdfjs_require__(9);\nvar getBuiltIn = __w_pdfjs_require__(41);\nvar USE_NATIVE_URL = __w_pdfjs_require__(113);\nvar redefine = __w_pdfjs_require__(28);\nvar redefineAll = __w_pdfjs_require__(88);\nvar setToStringTag = __w_pdfjs_require__(69);\nvar createIteratorConstructor = __w_pdfjs_require__(64);\nvar InternalStateModule = __w_pdfjs_require__(32);\nvar anInstance = __w_pdfjs_require__(90);\nvar hasOwn = __w_pdfjs_require__(22);\nvar bind = __w_pdfjs_require__(75);\nvar classof = __w_pdfjs_require__(78);\nvar anObject = __w_pdfjs_require__(27);\nvar isObject = __w_pdfjs_require__(21);\nvar create = __w_pdfjs_require__(58);\nvar createPropertyDescriptor = __w_pdfjs_require__(15);\nvar getIterator = __w_pdfjs_require__(119);\nvar getIteratorMethod = __w_pdfjs_require__(77);\nvar wellKnownSymbol = __w_pdfjs_require__(55);\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/* 119 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar anObject = __w_pdfjs_require__(27);\nvar getIteratorMethod = __w_pdfjs_require__(77);\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/* 120 */\n/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(9);\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/* 121 */\n/***/ (function(__unused_webpack_module, exports) {\n\n(function (global, factory) {\n true ? factory(exports) : 0;\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 function getGlobals() {\n if (typeof self !== 'undefined') {\n return self;\n } else if (typeof window !== 'undefined') {\n return window;\n } else if (typeof global !== 'undefined') {\n return global;\n }\n return undefined;\n }\n var globals = getGlobals();\n function typeIsObject(x) {\n return typeof x === 'object' && x !== null || typeof x === 'function';\n }\n var rethrowAssertionErrorRejection = noop;\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 queueMicrotask = function () {\n var globalQueueMicrotask = globals && globals.queueMicrotask;\n if (typeof globalQueueMicrotask === 'function') {\n return globalQueueMicrotask;\n }\n var resolvedPromise = promiseResolvedWith(undefined);\n return function (fn) {\n return PerformPromiseThen(resolvedPromise, fn);\n };\n }();\n function reflectCall(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 promiseCall(F, V, args) {\n try {\n return promiseResolvedWith(reflectCall(F, V, args));\n } catch (value) {\n return promiseRejectedWith(value);\n }\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: false,\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 ReadableStreamReaderGenericInitialize(reader, stream) {\n reader._ownerReadableStream = stream;\n stream._reader = reader;\n if (stream._state === 'readable') {\n defaultReaderClosedPromiseInitialize(reader);\n } else if (stream._state === 'closed') {\n defaultReaderClosedPromiseInitializeAsResolved(reader);\n } else {\n 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 if (reader._closedPromise_reject === undefined) {\n return;\n }\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 if (reader._closedPromise_resolve === undefined) {\n return;\n }\n reader._closedPromise_resolve(undefined);\n reader._closedPromise_resolve = undefined;\n reader._closedPromise_reject = undefined;\n }\n var AbortSteps = SymbolPolyfill('[[AbortSteps]]');\n var ErrorSteps = SymbolPolyfill('[[ErrorSteps]]');\n var CancelSteps = SymbolPolyfill('[[CancelSteps]]');\n var PullSteps = SymbolPolyfill('[[PullSteps]]');\n var NumberIsFinite = Number.isFinite || function (x) {\n return typeof x === 'number' && isFinite(x);\n };\n var MathTrunc = Math.trunc || function (v) {\n return v < 0 ? Math.ceil(v) : Math.floor(v);\n };\n function isDictionary(x) {\n return typeof x === 'object' || typeof x === 'function';\n }\n function assertDictionary(obj, context) {\n if (obj !== undefined && !isDictionary(obj)) {\n throw new TypeError(context + \" is not an object.\");\n }\n }\n function assertFunction(x, context) {\n if (typeof x !== 'function') {\n throw new TypeError(context + \" is not a function.\");\n }\n }\n function isObject(x) {\n return typeof x === 'object' && x !== null || typeof x === 'function';\n }\n function assertObject(x, context) {\n if (!isObject(x)) {\n throw new TypeError(context + \" is not an object.\");\n }\n }\n function assertRequiredArgument(x, position, context) {\n if (x === undefined) {\n throw new TypeError(\"Parameter \" + position + \" is required in '\" + context + \"'.\");\n }\n }\n function assertRequiredField(x, field, context) {\n if (x === undefined) {\n throw new TypeError(field + \" is required in '\" + context + \"'.\");\n }\n }\n function convertUnrestrictedDouble(value) {\n return Number(value);\n }\n function censorNegativeZero(x) {\n return x === 0 ? 0 : x;\n }\n function integerPart(x) {\n return censorNegativeZero(MathTrunc(x));\n }\n function convertUnsignedLongLongWithEnforceRange(value, context) {\n var lowerBound = 0;\n var upperBound = Number.MAX_SAFE_INTEGER;\n var x = Number(value);\n x = censorNegativeZero(x);\n if (!NumberIsFinite(x)) {\n throw new TypeError(context + \" is not a finite number\");\n }\n x = integerPart(x);\n if (x < lowerBound || x > upperBound) {\n throw new TypeError(context + \" is outside the accepted range of \" + lowerBound + \" to \" + upperBound + \", inclusive\");\n }\n if (!NumberIsFinite(x) || x === 0) {\n return 0;\n }\n return x;\n }\n function assertReadableStream(x, context) {\n if (!IsReadableStream(x)) {\n throw new TypeError(context + \" is not a ReadableStream.\");\n }\n }\n function AcquireReadableStreamDefaultReader(stream) {\n return new ReadableStreamDefaultReader(stream);\n }\n function ReadableStreamAddReadRequest(stream, readRequest) {\n stream._reader._readRequests.push(readRequest);\n }\n function ReadableStreamFulfillReadRequest(stream, chunk, done) {\n var reader = stream._reader;\n var readRequest = reader._readRequests.shift();\n if (done) {\n readRequest._closeSteps();\n } else {\n readRequest._chunkSteps(chunk);\n }\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 assertRequiredArgument(stream, 1, 'ReadableStreamDefaultReader');\n assertReadableStream(stream, 'First parameter');\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._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: false,\n configurable: true\n });\n ReadableStreamDefaultReader.prototype.cancel = function (reason) {\n if (reason === void 0) {\n reason = undefined;\n }\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 var resolvePromise;\n var rejectPromise;\n var promise = newPromise(function (resolve, reject) {\n resolvePromise = resolve;\n rejectPromise = reject;\n });\n var readRequest = {\n _chunkSteps: function (chunk) {\n return resolvePromise({\n value: chunk,\n done: false\n });\n },\n _closeSteps: function () {\n return resolvePromise({\n value: undefined,\n done: true\n });\n },\n _errorSteps: function (e) {\n return rejectPromise(e);\n }\n };\n ReadableStreamDefaultReaderRead(this, readRequest);\n return promise;\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 Object.defineProperties(ReadableStreamDefaultReader.prototype, {\n cancel: { enumerable: true },\n read: { enumerable: true },\n releaseLock: { enumerable: true },\n closed: { enumerable: true }\n });\n if (typeof SymbolPolyfill.toStringTag === 'symbol') {\n Object.defineProperty(ReadableStreamDefaultReader.prototype, SymbolPolyfill.toStringTag, {\n value: 'ReadableStreamDefaultReader',\n configurable: true\n });\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, readRequest) {\n var stream = reader._ownerReadableStream;\n stream._disturbed = true;\n if (stream._state === 'closed') {\n readRequest._closeSteps();\n } else if (stream._state === 'errored') {\n readRequest._errorSteps(stream._storedError);\n } else {\n stream._readableStreamController[PullSteps](readRequest);\n }\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 ReadableStreamAsyncIteratorImpl = function () {\n function ReadableStreamAsyncIteratorImpl(reader, preventCancel) {\n this._ongoingPromise = undefined;\n this._isFinished = false;\n this._reader = reader;\n this._preventCancel = preventCancel;\n }\n ReadableStreamAsyncIteratorImpl.prototype.next = function () {\n var _this = this;\n var nextSteps = function () {\n return _this._nextSteps();\n };\n this._ongoingPromise = this._ongoingPromise ? transformPromiseWith(this._ongoingPromise, nextSteps, nextSteps) : nextSteps();\n return this._ongoingPromise;\n };\n ReadableStreamAsyncIteratorImpl.prototype.return = function (value) {\n var _this = this;\n var returnSteps = function () {\n return _this._returnSteps(value);\n };\n return this._ongoingPromise ? transformPromiseWith(this._ongoingPromise, returnSteps, returnSteps) : returnSteps();\n };\n ReadableStreamAsyncIteratorImpl.prototype._nextSteps = function () {\n var _this = this;\n if (this._isFinished) {\n return Promise.resolve({\n value: undefined,\n done: true\n });\n }\n var reader = this._reader;\n if (reader._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('iterate'));\n }\n var resolvePromise;\n var rejectPromise;\n var promise = newPromise(function (resolve, reject) {\n resolvePromise = resolve;\n rejectPromise = reject;\n });\n var readRequest = {\n _chunkSteps: function (chunk) {\n _this._ongoingPromise = undefined;\n queueMicrotask(function () {\n return resolvePromise({\n value: chunk,\n done: false\n });\n });\n },\n _closeSteps: function () {\n _this._ongoingPromise = undefined;\n _this._isFinished = true;\n ReadableStreamReaderGenericRelease(reader);\n resolvePromise({\n value: undefined,\n done: true\n });\n },\n _errorSteps: function (reason) {\n _this._ongoingPromise = undefined;\n _this._isFinished = true;\n ReadableStreamReaderGenericRelease(reader);\n rejectPromise(reason);\n }\n };\n ReadableStreamDefaultReaderRead(reader, readRequest);\n return promise;\n };\n ReadableStreamAsyncIteratorImpl.prototype._returnSteps = function (value) {\n if (this._isFinished) {\n return Promise.resolve({\n value: value,\n done: true\n });\n }\n this._isFinished = true;\n var reader = this._reader;\n if (reader._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('finish iterating'));\n }\n if (!this._preventCancel) {\n var result = ReadableStreamReaderGenericCancel(reader, value);\n ReadableStreamReaderGenericRelease(reader);\n return transformPromiseWith(result, function () {\n return {\n value: value,\n done: true\n };\n });\n }\n ReadableStreamReaderGenericRelease(reader);\n return promiseResolvedWith({\n value: value,\n done: true\n });\n };\n return ReadableStreamAsyncIteratorImpl;\n }();\n var ReadableStreamAsyncIteratorPrototype = {\n next: function () {\n if (!IsReadableStreamAsyncIterator(this)) {\n return promiseRejectedWith(streamAsyncIteratorBrandCheckException('next'));\n }\n return this._asyncIteratorImpl.next();\n },\n return: function (value) {\n if (!IsReadableStreamAsyncIterator(this)) {\n return promiseRejectedWith(streamAsyncIteratorBrandCheckException('return'));\n }\n return this._asyncIteratorImpl.return(value);\n }\n };\n if (AsyncIteratorPrototype !== undefined) {\n Object.setPrototypeOf(ReadableStreamAsyncIteratorPrototype, AsyncIteratorPrototype);\n }\n function AcquireReadableStreamAsyncIterator(stream, preventCancel) {\n var reader = AcquireReadableStreamDefaultReader(stream);\n var impl = new ReadableStreamAsyncIteratorImpl(reader, preventCancel);\n var iterator = Object.create(ReadableStreamAsyncIteratorPrototype);\n iterator._asyncIteratorImpl = impl;\n return iterator;\n }\n function IsReadableStreamAsyncIterator(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_asyncIteratorImpl')) {\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 var NumberIsNaN = Number.isNaN || function (x) {\n return x !== x;\n };\n function IsFiniteNonNegativeNumber(v) {\n if (!IsNonNegativeNumber(v)) {\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 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 function CreateArrayFromList(elements) {\n return elements.slice();\n }\n function CopyDataBlockBytes(dest, destOffset, src, srcOffset, n) {\n new Uint8Array(dest).set(new Uint8Array(src, srcOffset, n), destOffset);\n }\n function TransferArrayBuffer(O) {\n return O;\n }\n function IsDetachedBuffer(O) {\n return false;\n }\n var ReadableStreamBYOBRequest = function () {\n function ReadableStreamBYOBRequest() {\n throw new TypeError('Illegal constructor');\n }\n Object.defineProperty(ReadableStreamBYOBRequest.prototype, \"view\", {\n get: function () {\n if (!IsReadableStreamBYOBRequest(this)) {\n throw byobRequestBrandCheckException('view');\n }\n return this._view;\n },\n enumerable: false,\n configurable: true\n });\n ReadableStreamBYOBRequest.prototype.respond = function (bytesWritten) {\n if (!IsReadableStreamBYOBRequest(this)) {\n throw byobRequestBrandCheckException('respond');\n }\n assertRequiredArgument(bytesWritten, 1, 'respond');\n bytesWritten = convertUnsignedLongLongWithEnforceRange(bytesWritten, 'First parameter');\n if (this._associatedReadableByteStreamController === undefined) {\n throw new TypeError('This BYOB request has been invalidated');\n }\n if (IsDetachedBuffer(this._view.buffer));\n ReadableByteStreamControllerRespond(this._associatedReadableByteStreamController, bytesWritten);\n };\n ReadableStreamBYOBRequest.prototype.respondWithNewView = function (view) {\n if (!IsReadableStreamBYOBRequest(this)) {\n throw byobRequestBrandCheckException('respondWithNewView');\n }\n assertRequiredArgument(view, 1, 'respondWithNewView');\n if (!ArrayBuffer.isView(view)) {\n throw new TypeError('You can only respond with array buffer views');\n }\n if (view.byteLength === 0) {\n throw new TypeError('chunk must have non-zero byteLength');\n }\n if (view.buffer.byteLength === 0) {\n throw new TypeError(\"chunk's buffer must have non-zero byteLength\");\n }\n if (this._associatedReadableByteStreamController === undefined) {\n throw new TypeError('This BYOB request has been invalidated');\n }\n ReadableByteStreamControllerRespondWithNewView(this._associatedReadableByteStreamController, view);\n };\n return ReadableStreamBYOBRequest;\n }();\n Object.defineProperties(ReadableStreamBYOBRequest.prototype, {\n respond: { enumerable: true },\n respondWithNewView: { enumerable: true },\n view: { enumerable: true }\n });\n if (typeof SymbolPolyfill.toStringTag === 'symbol') {\n Object.defineProperty(ReadableStreamBYOBRequest.prototype, SymbolPolyfill.toStringTag, {\n value: 'ReadableStreamBYOBRequest',\n configurable: true\n });\n }\n var ReadableByteStreamController = function () {\n function ReadableByteStreamController() {\n throw new TypeError('Illegal constructor');\n }\n Object.defineProperty(ReadableByteStreamController.prototype, \"byobRequest\", {\n get: function () {\n if (!IsReadableByteStreamController(this)) {\n throw byteStreamControllerBrandCheckException('byobRequest');\n }\n if (this._byobRequest === null && 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: false,\n configurable: true\n });\n Object.defineProperty(ReadableByteStreamController.prototype, \"desiredSize\", {\n get: function () {\n if (!IsReadableByteStreamController(this)) {\n throw byteStreamControllerBrandCheckException('desiredSize');\n }\n return ReadableByteStreamControllerGetDesiredSize(this);\n },\n enumerable: false,\n configurable: true\n });\n ReadableByteStreamController.prototype.close = function () {\n if (!IsReadableByteStreamController(this)) {\n throw byteStreamControllerBrandCheckException('close');\n }\n if (this._closeRequested) {\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)) {\n throw byteStreamControllerBrandCheckException('enqueue');\n }\n assertRequiredArgument(chunk, 1, 'enqueue');\n if (!ArrayBuffer.isView(chunk)) {\n throw new TypeError('chunk must be an array buffer view');\n }\n if (chunk.byteLength === 0) {\n throw new TypeError('chunk must have non-zero byteLength');\n }\n if (chunk.buffer.byteLength === 0) {\n throw new TypeError(\"chunk's buffer must have non-zero byteLength\");\n }\n if (this._closeRequested) {\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 ReadableByteStreamControllerEnqueue(this, chunk);\n };\n ReadableByteStreamController.prototype.error = function (e) {\n if (e === void 0) {\n e = undefined;\n }\n if (!IsReadableByteStreamController(this)) {\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 (readRequest) {\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 = new Uint8Array(entry.buffer, entry.byteOffset, entry.byteLength);\n readRequest._chunkSteps(view);\n return;\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 readRequest._errorSteps(bufferE);\n return;\n }\n var pullIntoDescriptor = {\n buffer: buffer,\n byteOffset: 0,\n byteLength: autoAllocateChunkSize,\n bytesFilled: 0,\n elementSize: 1,\n viewConstructor: Uint8Array,\n readerType: 'default'\n };\n this._pendingPullIntos.push(pullIntoDescriptor);\n }\n ReadableStreamAddReadRequest(stream, readRequest);\n ReadableByteStreamControllerCallPullIfNeeded(this);\n };\n return ReadableByteStreamController;\n }();\n Object.defineProperties(ReadableByteStreamController.prototype, {\n close: { enumerable: true },\n enqueue: { enumerable: true },\n error: { enumerable: true },\n byobRequest: { enumerable: true },\n desiredSize: { enumerable: true }\n });\n if (typeof SymbolPolyfill.toStringTag === 'symbol') {\n Object.defineProperty(ReadableByteStreamController.prototype, SymbolPolyfill.toStringTag, {\n value: 'ReadableByteStreamController',\n configurable: true\n });\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) {\n return;\n }\n if (controller._pulling) {\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) {\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.viewConstructor(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 CopyDataBlockBytes(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) {\n ReadableByteStreamControllerClearAlgorithms(controller);\n ReadableStreamClose(controller._controlledReadableByteStream);\n } else {\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }\n }\n function ReadableByteStreamControllerInvalidateBYOBRequest(controller) {\n if (controller._byobRequest === null) {\n return;\n }\n controller._byobRequest._associatedReadableByteStreamController = undefined;\n controller._byobRequest._view = null;\n controller._byobRequest = null;\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)) {\n ReadableByteStreamControllerShiftPendingPullInto(controller);\n ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableByteStream, pullIntoDescriptor);\n }\n }\n }\n function ReadableByteStreamControllerPullInto(controller, view, readIntoRequest) {\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 viewConstructor: ctor,\n readerType: 'byob'\n };\n if (controller._pendingPullIntos.length > 0) {\n controller._pendingPullIntos.push(pullIntoDescriptor);\n ReadableStreamAddReadIntoRequest(stream, readIntoRequest);\n return;\n }\n if (stream._state === 'closed') {\n var emptyView = new ctor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, 0);\n readIntoRequest._closeSteps(emptyView);\n return;\n }\n if (controller._queueTotalSize > 0) {\n if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor)) {\n var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);\n ReadableByteStreamControllerHandleQueueDrain(controller);\n readIntoRequest._chunkSteps(filledView);\n return;\n }\n if (controller._closeRequested) {\n var e = new TypeError('Insufficient bytes to fill elements in the given buffer');\n ReadableByteStreamControllerError(controller, e);\n readIntoRequest._errorSteps(e);\n return;\n }\n }\n controller._pendingPullIntos.push(pullIntoDescriptor);\n ReadableStreamAddReadIntoRequest(stream, readIntoRequest);\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }\n function ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor) {\n firstDescriptor.buffer = TransferArrayBuffer(firstDescriptor.buffer);\n var stream = controller._controlledReadableByteStream;\n if (ReadableStreamHasBYOBReader(stream)) {\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 state = controller._controlledReadableByteStream._state;\n if (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) {\n return false;\n }\n if (!controller._started) {\n return false;\n }\n if (ReadableStreamHasDefaultReader(stream) && ReadableStreamGetNumReadRequests(stream) > 0) {\n return true;\n }\n if (ReadableStreamHasBYOBReader(stream) && 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._closeRequested || stream._state !== 'readable') {\n return;\n }\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 if (controller._closeRequested || stream._state !== 'readable') {\n return;\n }\n var buffer = chunk.buffer;\n var byteOffset = chunk.byteOffset;\n var byteLength = chunk.byteLength;\n var transferredBuffer = TransferArrayBuffer(buffer);\n if (ReadableStreamHasDefaultReader(stream)) {\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)) {\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 state = controller._controlledReadableByteStream._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)) {\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 = null;\n controller._queue = controller._queueTotalSize = undefined;\n ResetQueue(controller);\n controller._closeRequested = false;\n controller._started = false;\n controller._strategyHWM = 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 var startAlgorithm = function () {\n return undefined;\n };\n var pullAlgorithm = function () {\n return promiseResolvedWith(undefined);\n };\n var cancelAlgorithm = function () {\n return promiseResolvedWith(undefined);\n };\n if (underlyingByteSource.start !== undefined) {\n startAlgorithm = function () {\n return underlyingByteSource.start(controller);\n };\n }\n if (underlyingByteSource.pull !== undefined) {\n pullAlgorithm = function () {\n return underlyingByteSource.pull(controller);\n };\n }\n if (underlyingByteSource.cancel !== undefined) {\n cancelAlgorithm = function (reason) {\n return underlyingByteSource.cancel(reason);\n };\n }\n var autoAllocateChunkSize = underlyingByteSource.autoAllocateChunkSize;\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) {\n return new ReadableStreamBYOBReader(stream);\n }\n function ReadableStreamAddReadIntoRequest(stream, readIntoRequest) {\n stream._reader._readIntoRequests.push(readIntoRequest);\n }\n function ReadableStreamFulfillReadIntoRequest(stream, chunk, done) {\n var reader = stream._reader;\n var readIntoRequest = reader._readIntoRequests.shift();\n if (done) {\n readIntoRequest._closeSteps(chunk);\n } else {\n readIntoRequest._chunkSteps(chunk);\n }\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 assertRequiredArgument(stream, 1, 'ReadableStreamBYOBReader');\n assertReadableStream(stream, 'First parameter');\n if (IsReadableStreamLocked(stream)) {\n throw new TypeError('This stream has already been locked for exclusive reading by another reader');\n }\n if (!IsReadableByteStreamController(stream._readableStreamController)) {\n throw new TypeError('Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte ' + 'source');\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: false,\n configurable: true\n });\n ReadableStreamBYOBReader.prototype.cancel = function (reason) {\n if (reason === void 0) {\n reason = undefined;\n }\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 (!ArrayBuffer.isView(view)) {\n return promiseRejectedWith(new TypeError('view must be an array buffer view'));\n }\n if (view.byteLength === 0) {\n return promiseRejectedWith(new TypeError('view must have non-zero byteLength'));\n }\n if (view.buffer.byteLength === 0) {\n return promiseRejectedWith(new TypeError(\"view's buffer must have non-zero byteLength\"));\n }\n if (this._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('read from'));\n }\n var resolvePromise;\n var rejectPromise;\n var promise = newPromise(function (resolve, reject) {\n resolvePromise = resolve;\n rejectPromise = reject;\n });\n var readIntoRequest = {\n _chunkSteps: function (chunk) {\n return resolvePromise({\n value: chunk,\n done: false\n });\n },\n _closeSteps: function (chunk) {\n return resolvePromise({\n value: chunk,\n done: true\n });\n },\n _errorSteps: function (e) {\n return rejectPromise(e);\n }\n };\n ReadableStreamBYOBReaderRead(this, view, readIntoRequest);\n return promise;\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 Object.defineProperties(ReadableStreamBYOBReader.prototype, {\n cancel: { enumerable: true },\n read: { enumerable: true },\n releaseLock: { enumerable: true },\n closed: { enumerable: true }\n });\n if (typeof SymbolPolyfill.toStringTag === 'symbol') {\n Object.defineProperty(ReadableStreamBYOBReader.prototype, SymbolPolyfill.toStringTag, {\n value: 'ReadableStreamBYOBReader',\n configurable: true\n });\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, readIntoRequest) {\n var stream = reader._ownerReadableStream;\n stream._disturbed = true;\n if (stream._state === 'errored') {\n readIntoRequest._errorSteps(stream._storedError);\n } else {\n ReadableByteStreamControllerPullInto(stream._readableStreamController, view, readIntoRequest);\n }\n }\n function byobReaderBrandCheckException(name) {\n return new TypeError(\"ReadableStreamBYOBReader.prototype.\" + name + \" can only be used on a ReadableStreamBYOBReader\");\n }\n function ExtractHighWaterMark(strategy, defaultHWM) {\n var highWaterMark = strategy.highWaterMark;\n if (highWaterMark === undefined) {\n return defaultHWM;\n }\n if (NumberIsNaN(highWaterMark) || highWaterMark < 0) {\n throw new RangeError('Invalid highWaterMark');\n }\n return highWaterMark;\n }\n function ExtractSizeAlgorithm(strategy) {\n var size = strategy.size;\n if (!size) {\n return function () {\n return 1;\n };\n }\n return size;\n }\n function convertQueuingStrategy(init, context) {\n assertDictionary(init, context);\n var highWaterMark = init === null || init === void 0 ? void 0 : init.highWaterMark;\n var size = init === null || init === void 0 ? void 0 : init.size;\n return {\n highWaterMark: highWaterMark === undefined ? undefined : convertUnrestrictedDouble(highWaterMark),\n size: size === undefined ? undefined : convertQueuingStrategySize(size, context + \" has member 'size' that\")\n };\n }\n function convertQueuingStrategySize(fn, context) {\n assertFunction(fn, context);\n return function (chunk) {\n return convertUnrestrictedDouble(fn(chunk));\n };\n }\n function convertUnderlyingSink(original, context) {\n assertDictionary(original, context);\n var abort = original === null || original === void 0 ? void 0 : original.abort;\n var close = original === null || original === void 0 ? void 0 : original.close;\n var start = original === null || original === void 0 ? void 0 : original.start;\n var type = original === null || original === void 0 ? void 0 : original.type;\n var write = original === null || original === void 0 ? void 0 : original.write;\n return {\n abort: abort === undefined ? undefined : convertUnderlyingSinkAbortCallback(abort, original, context + \" has member 'abort' that\"),\n close: close === undefined ? undefined : convertUnderlyingSinkCloseCallback(close, original, context + \" has member 'close' that\"),\n start: start === undefined ? undefined : convertUnderlyingSinkStartCallback(start, original, context + \" has member 'start' that\"),\n write: write === undefined ? undefined : convertUnderlyingSinkWriteCallback(write, original, context + \" has member 'write' that\"),\n type: type\n };\n }\n function convertUnderlyingSinkAbortCallback(fn, original, context) {\n assertFunction(fn, context);\n return function (reason) {\n return promiseCall(fn, original, [reason]);\n };\n }\n function convertUnderlyingSinkCloseCallback(fn, original, context) {\n assertFunction(fn, context);\n return function () {\n return promiseCall(fn, original, []);\n };\n }\n function convertUnderlyingSinkStartCallback(fn, original, context) {\n assertFunction(fn, context);\n return function (controller) {\n return reflectCall(fn, original, [controller]);\n };\n }\n function convertUnderlyingSinkWriteCallback(fn, original, context) {\n assertFunction(fn, context);\n return function (chunk, controller) {\n return promiseCall(fn, original, [\n chunk,\n controller\n ]);\n };\n }\n function assertWritableStream(x, context) {\n if (!IsWritableStream(x)) {\n throw new TypeError(context + \" is not a WritableStream.\");\n }\n }\n var WritableStream = function () {\n function WritableStream(rawUnderlyingSink, rawStrategy) {\n if (rawUnderlyingSink === void 0) {\n rawUnderlyingSink = {};\n }\n if (rawStrategy === void 0) {\n rawStrategy = {};\n }\n if (rawUnderlyingSink === undefined) {\n rawUnderlyingSink = null;\n } else {\n assertObject(rawUnderlyingSink, 'First parameter');\n }\n var strategy = convertQueuingStrategy(rawStrategy, 'Second parameter');\n var underlyingSink = convertUnderlyingSink(rawUnderlyingSink, 'First parameter');\n InitializeWritableStream(this);\n var type = underlyingSink.type;\n if (type !== undefined) {\n throw new RangeError('Invalid type is specified');\n }\n var sizeAlgorithm = ExtractSizeAlgorithm(strategy);\n var highWaterMark = ExtractHighWaterMark(strategy, 1);\n SetUpWritableStreamDefaultControllerFromUnderlyingSink(this, underlyingSink, highWaterMark, sizeAlgorithm);\n }\n Object.defineProperty(WritableStream.prototype, \"locked\", {\n get: function () {\n if (!IsWritableStream(this)) {\n throw streamBrandCheckException('locked');\n }\n return IsWritableStreamLocked(this);\n },\n enumerable: false,\n configurable: true\n });\n WritableStream.prototype.abort = function (reason) {\n if (reason === void 0) {\n reason = undefined;\n }\n if (!IsWritableStream(this)) {\n return promiseRejectedWith(streamBrandCheckException('abort'));\n }\n if (IsWritableStreamLocked(this)) {\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)) {\n return promiseRejectedWith(streamBrandCheckException('close'));\n }\n if (IsWritableStreamLocked(this)) {\n return promiseRejectedWith(new TypeError('Cannot close a stream that already has a writer'));\n }\n if (WritableStreamCloseQueuedOrInFlight(this)) {\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)) {\n throw streamBrandCheckException('getWriter');\n }\n return AcquireWritableStreamDefaultWriter(this);\n };\n return WritableStream;\n }();\n Object.defineProperties(WritableStream.prototype, {\n abort: { enumerable: true },\n close: { enumerable: true },\n getWriter: { enumerable: true },\n locked: { enumerable: true }\n });\n if (typeof SymbolPolyfill.toStringTag === 'symbol') {\n Object.defineProperty(WritableStream.prototype, SymbolPolyfill.toStringTag, {\n value: 'WritableStream',\n configurable: true\n });\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) {\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 && 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) && controller._started) {\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) {\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) {\n defaultWriterReadyPromiseReset(writer);\n } else {\n defaultWriterReadyPromiseResolve(writer);\n }\n }\n stream._backpressure = backpressure;\n }\n var WritableStreamDefaultWriter = function () {\n function WritableStreamDefaultWriter(stream) {\n assertRequiredArgument(stream, 1, 'WritableStreamDefaultWriter');\n assertWritableStream(stream, 'First parameter');\n if (IsWritableStreamLocked(stream)) {\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) && stream._backpressure) {\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)) {\n return promiseRejectedWith(defaultWriterBrandCheckException('closed'));\n }\n return this._closedPromise;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(WritableStreamDefaultWriter.prototype, \"desiredSize\", {\n get: function () {\n if (!IsWritableStreamDefaultWriter(this)) {\n throw defaultWriterBrandCheckException('desiredSize');\n }\n if (this._ownerWritableStream === undefined) {\n throw defaultWriterLockException('desiredSize');\n }\n return WritableStreamDefaultWriterGetDesiredSize(this);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(WritableStreamDefaultWriter.prototype, \"ready\", {\n get: function () {\n if (!IsWritableStreamDefaultWriter(this)) {\n return promiseRejectedWith(defaultWriterBrandCheckException('ready'));\n }\n return this._readyPromise;\n },\n enumerable: false,\n configurable: true\n });\n WritableStreamDefaultWriter.prototype.abort = function (reason) {\n if (reason === void 0) {\n reason = undefined;\n }\n if (!IsWritableStreamDefaultWriter(this)) {\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)) {\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)) {\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)) {\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 (chunk === void 0) {\n chunk = undefined;\n }\n if (!IsWritableStreamDefaultWriter(this)) {\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 Object.defineProperties(WritableStreamDefaultWriter.prototype, {\n abort: { enumerable: true },\n close: { enumerable: true },\n releaseLock: { enumerable: true },\n write: { enumerable: true },\n closed: { enumerable: true },\n desiredSize: { enumerable: true },\n ready: { enumerable: true }\n });\n if (typeof SymbolPolyfill.toStringTag === 'symbol') {\n Object.defineProperty(WritableStreamDefaultWriter.prototype, SymbolPolyfill.toStringTag, {\n value: 'WritableStreamDefaultWriter',\n configurable: true\n });\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) || 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) || 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 closeSentinel = {};\n var WritableStreamDefaultController = function () {\n function WritableStreamDefaultController() {\n throw new TypeError('Illegal constructor');\n }\n WritableStreamDefaultController.prototype.error = function (e) {\n if (e === void 0) {\n e = undefined;\n }\n if (!IsWritableStreamDefaultController(this)) {\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 Object.defineProperties(WritableStreamDefaultController.prototype, { error: { enumerable: true } });\n if (typeof SymbolPolyfill.toStringTag === 'symbol') {\n Object.defineProperty(WritableStreamDefaultController.prototype, SymbolPolyfill.toStringTag, {\n value: 'WritableStreamDefaultController',\n configurable: true\n });\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 var startAlgorithm = function () {\n return undefined;\n };\n var writeAlgorithm = function () {\n return promiseResolvedWith(undefined);\n };\n var closeAlgorithm = function () {\n return promiseResolvedWith(undefined);\n };\n var abortAlgorithm = function () {\n return promiseResolvedWith(undefined);\n };\n if (underlyingSink.start !== undefined) {\n startAlgorithm = function () {\n return underlyingSink.start(controller);\n };\n }\n if (underlyingSink.write !== undefined) {\n writeAlgorithm = function (chunk) {\n return underlyingSink.write(chunk, controller);\n };\n }\n if (underlyingSink.close !== undefined) {\n closeAlgorithm = function () {\n return underlyingSink.close();\n };\n }\n if (underlyingSink.abort !== undefined) {\n abortAlgorithm = function (reason) {\n return underlyingSink.abort(reason);\n };\n }\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, closeSentinel, 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 try {\n EnqueueValueWithSize(controller, chunk, chunkSize);\n } catch (enqueueE) {\n WritableStreamDefaultControllerErrorIfNeeded(controller, enqueueE);\n return;\n }\n var stream = controller._controlledWritableStream;\n if (!WritableStreamCloseQueuedOrInFlight(stream) && 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) {\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 value = PeekQueueValue(controller);\n if (value === closeSentinel) {\n WritableStreamDefaultControllerProcessClose(controller);\n } else {\n WritableStreamDefaultControllerProcessWrite(controller, value);\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) && 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 if (writer._closedPromise_reject === undefined) {\n return;\n }\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 if (writer._closedPromise_resolve === undefined) {\n return;\n }\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 if (writer._readyPromise_reject === undefined) {\n return;\n }\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 if (writer._readyPromise_resolve === undefined) {\n return;\n }\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) {\n actions.push(function () {\n if (dest._state === 'writable') {\n return WritableStreamAbort(dest, error);\n }\n return promiseResolvedWith(undefined);\n });\n }\n if (!preventCancel) {\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) {\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) {\n return promiseResolvedWith(true);\n }\n return PerformPromiseThen(writer._readyPromise, function () {\n return newPromise(function (resolveRead, rejectRead) {\n ReadableStreamDefaultReaderRead(reader, {\n _chunkSteps: function (chunk) {\n currentWrite = PerformPromiseThen(WritableStreamDefaultWriterWrite(writer, chunk), undefined, noop);\n resolveRead(false);\n },\n _closeSteps: function () {\n return resolveRead(true);\n },\n _errorSteps: rejectRead\n });\n });\n });\n }\n isOrBecomesErrored(source, reader._closedPromise, function (storedError) {\n if (!preventAbort) {\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) {\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) {\n shutdownWithAction(function () {\n return WritableStreamDefaultWriterCloseWithErrorPropagation(writer);\n });\n } else {\n shutdown();\n }\n });\n if (WritableStreamCloseQueuedOrInFlight(dest) || 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) {\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) {\n return;\n }\n shuttingDown = true;\n if (dest._state === 'writable' && !WritableStreamCloseQueuedOrInFlight(dest)) {\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) {\n return;\n }\n shuttingDown = true;\n if (dest._state === 'writable' && !WritableStreamCloseQueuedOrInFlight(dest)) {\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('Illegal constructor');\n }\n Object.defineProperty(ReadableStreamDefaultController.prototype, \"desiredSize\", {\n get: function () {\n if (!IsReadableStreamDefaultController(this)) {\n throw defaultControllerBrandCheckException('desiredSize');\n }\n return ReadableStreamDefaultControllerGetDesiredSize(this);\n },\n enumerable: false,\n configurable: true\n });\n ReadableStreamDefaultController.prototype.close = function () {\n if (!IsReadableStreamDefaultController(this)) {\n throw defaultControllerBrandCheckException('close');\n }\n if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(this)) {\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 (chunk === void 0) {\n chunk = undefined;\n }\n if (!IsReadableStreamDefaultController(this)) {\n throw defaultControllerBrandCheckException('enqueue');\n }\n if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(this)) {\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 (e === void 0) {\n e = undefined;\n }\n if (!IsReadableStreamDefaultController(this)) {\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 (readRequest) {\n var stream = this._controlledReadableStream;\n if (this._queue.length > 0) {\n var chunk = DequeueValue(this);\n if (this._closeRequested && this._queue.length === 0) {\n ReadableStreamDefaultControllerClearAlgorithms(this);\n ReadableStreamClose(stream);\n } else {\n ReadableStreamDefaultControllerCallPullIfNeeded(this);\n }\n readRequest._chunkSteps(chunk);\n } else {\n ReadableStreamAddReadRequest(stream, readRequest);\n ReadableStreamDefaultControllerCallPullIfNeeded(this);\n }\n };\n return ReadableStreamDefaultController;\n }();\n Object.defineProperties(ReadableStreamDefaultController.prototype, {\n close: { enumerable: true },\n enqueue: { enumerable: true },\n error: { enumerable: true },\n desiredSize: { enumerable: true }\n });\n if (typeof SymbolPolyfill.toStringTag === 'symbol') {\n Object.defineProperty(ReadableStreamDefaultController.prototype, SymbolPolyfill.toStringTag, {\n value: 'ReadableStreamDefaultController',\n configurable: true\n });\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) {\n return;\n }\n if (controller._pulling) {\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) {\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)) {\n return false;\n }\n if (!controller._started) {\n return false;\n }\n if (IsReadableStreamLocked(stream) && 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 if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(controller)) {\n return;\n }\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 if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(controller)) {\n return;\n }\n var stream = controller._controlledReadableStream;\n if (IsReadableStreamLocked(stream) && 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 state = controller._controlledReadableStream._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)) {\n return false;\n }\n return true;\n }\n function ReadableStreamDefaultControllerCanCloseOrEnqueue(controller) {\n var state = controller._controlledReadableStream._state;\n if (!controller._closeRequested && 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 var startAlgorithm = function () {\n return undefined;\n };\n var pullAlgorithm = function () {\n return promiseResolvedWith(undefined);\n };\n var cancelAlgorithm = function () {\n return promiseResolvedWith(undefined);\n };\n if (underlyingSource.start !== undefined) {\n startAlgorithm = function () {\n return underlyingSource.start(controller);\n };\n }\n if (underlyingSource.pull !== undefined) {\n pullAlgorithm = function () {\n return underlyingSource.pull(controller);\n };\n }\n if (underlyingSource.cancel !== undefined) {\n cancelAlgorithm = function (reason) {\n return underlyingSource.cancel(reason);\n };\n }\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) {\n return promiseResolvedWith(undefined);\n }\n reading = true;\n var readRequest = {\n _chunkSteps: function (value) {\n queueMicrotask(function () {\n reading = false;\n var value1 = value;\n var value2 = value;\n if (!canceled1) {\n ReadableStreamDefaultControllerEnqueue(branch1._readableStreamController, value1);\n }\n if (!canceled2) {\n ReadableStreamDefaultControllerEnqueue(branch2._readableStreamController, value2);\n }\n resolveCancelPromise(undefined);\n });\n },\n _closeSteps: function () {\n reading = false;\n if (!canceled1) {\n ReadableStreamDefaultControllerClose(branch1._readableStreamController);\n }\n if (!canceled2) {\n ReadableStreamDefaultControllerClose(branch2._readableStreamController);\n }\n },\n _errorSteps: function () {\n reading = false;\n }\n };\n ReadableStreamDefaultReaderRead(reader, readRequest);\n return promiseResolvedWith(undefined);\n }\n function cancel1Algorithm(reason) {\n canceled1 = true;\n reason1 = reason;\n if (canceled2) {\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) {\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 resolveCancelPromise(undefined);\n });\n return [\n branch1,\n branch2\n ];\n }\n function convertUnderlyingDefaultOrByteSource(source, context) {\n assertDictionary(source, context);\n var original = source;\n var autoAllocateChunkSize = original === null || original === void 0 ? void 0 : original.autoAllocateChunkSize;\n var cancel = original === null || original === void 0 ? void 0 : original.cancel;\n var pull = original === null || original === void 0 ? void 0 : original.pull;\n var start = original === null || original === void 0 ? void 0 : original.start;\n var type = original === null || original === void 0 ? void 0 : original.type;\n return {\n autoAllocateChunkSize: autoAllocateChunkSize === undefined ? undefined : convertUnsignedLongLongWithEnforceRange(autoAllocateChunkSize, context + \" has member 'autoAllocateChunkSize' that\"),\n cancel: cancel === undefined ? undefined : convertUnderlyingSourceCancelCallback(cancel, original, context + \" has member 'cancel' that\"),\n pull: pull === undefined ? undefined : convertUnderlyingSourcePullCallback(pull, original, context + \" has member 'pull' that\"),\n start: start === undefined ? undefined : convertUnderlyingSourceStartCallback(start, original, context + \" has member 'start' that\"),\n type: type === undefined ? undefined : convertReadableStreamType(type, context + \" has member 'type' that\")\n };\n }\n function convertUnderlyingSourceCancelCallback(fn, original, context) {\n assertFunction(fn, context);\n return function (reason) {\n return promiseCall(fn, original, [reason]);\n };\n }\n function convertUnderlyingSourcePullCallback(fn, original, context) {\n assertFunction(fn, context);\n return function (controller) {\n return promiseCall(fn, original, [controller]);\n };\n }\n function convertUnderlyingSourceStartCallback(fn, original, context) {\n assertFunction(fn, context);\n return function (controller) {\n return reflectCall(fn, original, [controller]);\n };\n }\n function convertReadableStreamType(type, context) {\n type = \"\" + type;\n if (type !== 'bytes') {\n throw new TypeError(context + \" '\" + type + \"' is not a valid enumeration value for ReadableStreamType\");\n }\n return type;\n }\n function convertReaderOptions(options, context) {\n assertDictionary(options, context);\n var mode = options === null || options === void 0 ? void 0 : options.mode;\n return { mode: mode === undefined ? undefined : convertReadableStreamReaderMode(mode, context + \" has member 'mode' that\") };\n }\n function convertReadableStreamReaderMode(mode, context) {\n mode = \"\" + mode;\n if (mode !== 'byob') {\n throw new TypeError(context + \" '\" + mode + \"' is not a valid enumeration value for ReadableStreamReaderMode\");\n }\n return mode;\n }\n function convertIteratorOptions(options, context) {\n assertDictionary(options, context);\n var preventCancel = options === null || options === void 0 ? void 0 : options.preventCancel;\n return { preventCancel: Boolean(preventCancel) };\n }\n function convertPipeOptions(options, context) {\n assertDictionary(options, context);\n var preventAbort = options === null || options === void 0 ? void 0 : options.preventAbort;\n var preventCancel = options === null || options === void 0 ? void 0 : options.preventCancel;\n var preventClose = options === null || options === void 0 ? void 0 : options.preventClose;\n var signal = options === null || options === void 0 ? void 0 : options.signal;\n if (signal !== undefined) {\n assertAbortSignal(signal, context + \" has member 'signal' that\");\n }\n return {\n preventAbort: Boolean(preventAbort),\n preventCancel: Boolean(preventCancel),\n preventClose: Boolean(preventClose),\n signal: signal\n };\n }\n function assertAbortSignal(signal, context) {\n if (!isAbortSignal(signal)) {\n throw new TypeError(context + \" is not an AbortSignal.\");\n }\n }\n function convertReadableWritablePair(pair, context) {\n assertDictionary(pair, context);\n var readable = pair === null || pair === void 0 ? void 0 : pair.readable;\n assertRequiredField(readable, 'readable', 'ReadableWritablePair');\n assertReadableStream(readable, context + \" has member 'readable' that\");\n var writable = pair === null || pair === void 0 ? void 0 : pair.writable;\n assertRequiredField(writable, 'writable', 'ReadableWritablePair');\n assertWritableStream(writable, context + \" has member 'writable' that\");\n return {\n readable: readable,\n writable: writable\n };\n }\n var ReadableStream = function () {\n function ReadableStream(rawUnderlyingSource, rawStrategy) {\n if (rawUnderlyingSource === void 0) {\n rawUnderlyingSource = {};\n }\n if (rawStrategy === void 0) {\n rawStrategy = {};\n }\n if (rawUnderlyingSource === undefined) {\n rawUnderlyingSource = null;\n } else {\n assertObject(rawUnderlyingSource, 'First parameter');\n }\n var strategy = convertQueuingStrategy(rawStrategy, 'Second parameter');\n var underlyingSource = convertUnderlyingDefaultOrByteSource(rawUnderlyingSource, 'First parameter');\n InitializeReadableStream(this);\n if (underlyingSource.type === 'bytes') {\n if (strategy.size !== undefined) {\n throw new RangeError('The strategy for a byte stream cannot have a size function');\n }\n var highWaterMark = ExtractHighWaterMark(strategy, 0);\n SetUpReadableByteStreamControllerFromUnderlyingSource(this, underlyingSource, highWaterMark);\n } else {\n var sizeAlgorithm = ExtractSizeAlgorithm(strategy);\n var highWaterMark = ExtractHighWaterMark(strategy, 1);\n SetUpReadableStreamDefaultControllerFromUnderlyingSource(this, underlyingSource, highWaterMark, sizeAlgorithm);\n }\n }\n Object.defineProperty(ReadableStream.prototype, \"locked\", {\n get: function () {\n if (!IsReadableStream(this)) {\n throw streamBrandCheckException$1('locked');\n }\n return IsReadableStreamLocked(this);\n },\n enumerable: false,\n configurable: true\n });\n ReadableStream.prototype.cancel = function (reason) {\n if (reason === void 0) {\n reason = undefined;\n }\n if (!IsReadableStream(this)) {\n return promiseRejectedWith(streamBrandCheckException$1('cancel'));\n }\n if (IsReadableStreamLocked(this)) {\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 (rawOptions) {\n if (rawOptions === void 0) {\n rawOptions = undefined;\n }\n if (!IsReadableStream(this)) {\n throw streamBrandCheckException$1('getReader');\n }\n var options = convertReaderOptions(rawOptions, 'First parameter');\n if (options.mode === undefined) {\n return AcquireReadableStreamDefaultReader(this);\n }\n return AcquireReadableStreamBYOBReader(this);\n };\n ReadableStream.prototype.pipeThrough = function (rawTransform, rawOptions) {\n if (rawOptions === void 0) {\n rawOptions = {};\n }\n if (!IsReadableStream(this)) {\n throw streamBrandCheckException$1('pipeThrough');\n }\n assertRequiredArgument(rawTransform, 1, 'pipeThrough');\n var transform = convertReadableWritablePair(rawTransform, 'First parameter');\n var options = convertPipeOptions(rawOptions, 'Second parameter');\n if (IsReadableStreamLocked(this)) {\n throw new TypeError('ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream');\n }\n if (IsWritableStreamLocked(transform.writable)) {\n throw new TypeError('ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream');\n }\n var promise = ReadableStreamPipeTo(this, transform.writable, options.preventClose, options.preventAbort, options.preventCancel, options.signal);\n setPromiseIsHandledToTrue(promise);\n return transform.readable;\n };\n ReadableStream.prototype.pipeTo = function (destination, rawOptions) {\n if (rawOptions === void 0) {\n rawOptions = {};\n }\n if (!IsReadableStream(this)) {\n return promiseRejectedWith(streamBrandCheckException$1('pipeTo'));\n }\n if (destination === undefined) {\n return promiseRejectedWith(\"Parameter 1 is required in 'pipeTo'.\");\n }\n if (!IsWritableStream(destination)) {\n return promiseRejectedWith(new TypeError(\"ReadableStream.prototype.pipeTo's first argument must be a WritableStream\"));\n }\n var options;\n try {\n options = convertPipeOptions(rawOptions, 'Second parameter');\n } catch (e) {\n return promiseRejectedWith(e);\n }\n if (IsReadableStreamLocked(this)) {\n return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream'));\n }\n if (IsWritableStreamLocked(destination)) {\n return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream'));\n }\n return ReadableStreamPipeTo(this, destination, options.preventClose, options.preventAbort, options.preventCancel, options.signal);\n };\n ReadableStream.prototype.tee = function () {\n if (!IsReadableStream(this)) {\n throw streamBrandCheckException$1('tee');\n }\n var branches = ReadableStreamTee(this);\n return CreateArrayFromList(branches);\n };\n ReadableStream.prototype.values = function (rawOptions) {\n if (rawOptions === void 0) {\n rawOptions = undefined;\n }\n if (!IsReadableStream(this)) {\n throw streamBrandCheckException$1('values');\n }\n var options = convertIteratorOptions(rawOptions, 'First parameter');\n return AcquireReadableStreamAsyncIterator(this, options.preventCancel);\n };\n return ReadableStream;\n }();\n Object.defineProperties(ReadableStream.prototype, {\n cancel: { enumerable: true },\n getReader: { enumerable: true },\n pipeThrough: { enumerable: true },\n pipeTo: { enumerable: true },\n tee: { enumerable: true },\n values: { enumerable: true },\n locked: { enumerable: true }\n });\n if (typeof SymbolPolyfill.toStringTag === 'symbol') {\n Object.defineProperty(ReadableStream.prototype, SymbolPolyfill.toStringTag, {\n value: 'ReadableStream',\n configurable: true\n });\n }\n if (typeof SymbolPolyfill.asyncIterator === 'symbol') {\n Object.defineProperty(ReadableStream.prototype, SymbolPolyfill.asyncIterator, {\n value: ReadableStream.prototype.values,\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._closeSteps();\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._errorSteps(e);\n });\n reader._readRequests = new SimpleQueue();\n } else {\n reader._readIntoRequests.forEach(function (readIntoRequest) {\n readIntoRequest._errorSteps(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 function convertQueuingStrategyInit(init, context) {\n assertDictionary(init, context);\n var highWaterMark = init === null || init === void 0 ? void 0 : init.highWaterMark;\n assertRequiredField(highWaterMark, 'highWaterMark', 'QueuingStrategyInit');\n return { highWaterMark: convertUnrestrictedDouble(highWaterMark) };\n }\n var byteLengthSizeFunction = function size(chunk) {\n return chunk.byteLength;\n };\n var ByteLengthQueuingStrategy = function () {\n function ByteLengthQueuingStrategy(options) {\n assertRequiredArgument(options, 1, 'ByteLengthQueuingStrategy');\n options = convertQueuingStrategyInit(options, 'First parameter');\n this._byteLengthQueuingStrategyHighWaterMark = options.highWaterMark;\n }\n Object.defineProperty(ByteLengthQueuingStrategy.prototype, \"highWaterMark\", {\n get: function () {\n if (!IsByteLengthQueuingStrategy(this)) {\n throw byteLengthBrandCheckException('highWaterMark');\n }\n return this._byteLengthQueuingStrategyHighWaterMark;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ByteLengthQueuingStrategy.prototype, \"size\", {\n get: function () {\n if (!IsByteLengthQueuingStrategy(this)) {\n throw byteLengthBrandCheckException('size');\n }\n return byteLengthSizeFunction;\n },\n enumerable: false,\n configurable: true\n });\n return ByteLengthQueuingStrategy;\n }();\n Object.defineProperties(ByteLengthQueuingStrategy.prototype, {\n highWaterMark: { enumerable: true },\n size: { enumerable: true }\n });\n if (typeof SymbolPolyfill.toStringTag === 'symbol') {\n Object.defineProperty(ByteLengthQueuingStrategy.prototype, SymbolPolyfill.toStringTag, {\n value: 'ByteLengthQueuingStrategy',\n configurable: true\n });\n }\n function byteLengthBrandCheckException(name) {\n return new TypeError(\"ByteLengthQueuingStrategy.prototype.\" + name + \" can only be used on a ByteLengthQueuingStrategy\");\n }\n function IsByteLengthQueuingStrategy(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_byteLengthQueuingStrategyHighWaterMark')) {\n return false;\n }\n return true;\n }\n var countSizeFunction = function size() {\n return 1;\n };\n var CountQueuingStrategy = function () {\n function CountQueuingStrategy(options) {\n assertRequiredArgument(options, 1, 'CountQueuingStrategy');\n options = convertQueuingStrategyInit(options, 'First parameter');\n this._countQueuingStrategyHighWaterMark = options.highWaterMark;\n }\n Object.defineProperty(CountQueuingStrategy.prototype, \"highWaterMark\", {\n get: function () {\n if (!IsCountQueuingStrategy(this)) {\n throw countBrandCheckException('highWaterMark');\n }\n return this._countQueuingStrategyHighWaterMark;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(CountQueuingStrategy.prototype, \"size\", {\n get: function () {\n if (!IsCountQueuingStrategy(this)) {\n throw countBrandCheckException('size');\n }\n return countSizeFunction;\n },\n enumerable: false,\n configurable: true\n });\n return CountQueuingStrategy;\n }();\n Object.defineProperties(CountQueuingStrategy.prototype, {\n highWaterMark: { enumerable: true },\n size: { enumerable: true }\n });\n if (typeof SymbolPolyfill.toStringTag === 'symbol') {\n Object.defineProperty(CountQueuingStrategy.prototype, SymbolPolyfill.toStringTag, {\n value: 'CountQueuingStrategy',\n configurable: true\n });\n }\n function countBrandCheckException(name) {\n return new TypeError(\"CountQueuingStrategy.prototype.\" + name + \" can only be used on a CountQueuingStrategy\");\n }\n function IsCountQueuingStrategy(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_countQueuingStrategyHighWaterMark')) {\n return false;\n }\n return true;\n }\n function convertTransformer(original, context) {\n assertDictionary(original, context);\n var flush = original === null || original === void 0 ? void 0 : original.flush;\n var readableType = original === null || original === void 0 ? void 0 : original.readableType;\n var start = original === null || original === void 0 ? void 0 : original.start;\n var transform = original === null || original === void 0 ? void 0 : original.transform;\n var writableType = original === null || original === void 0 ? void 0 : original.writableType;\n return {\n flush: flush === undefined ? undefined : convertTransformerFlushCallback(flush, original, context + \" has member 'flush' that\"),\n readableType: readableType,\n start: start === undefined ? undefined : convertTransformerStartCallback(start, original, context + \" has member 'start' that\"),\n transform: transform === undefined ? undefined : convertTransformerTransformCallback(transform, original, context + \" has member 'transform' that\"),\n writableType: writableType\n };\n }\n function convertTransformerFlushCallback(fn, original, context) {\n assertFunction(fn, context);\n return function (controller) {\n return promiseCall(fn, original, [controller]);\n };\n }\n function convertTransformerStartCallback(fn, original, context) {\n assertFunction(fn, context);\n return function (controller) {\n return reflectCall(fn, original, [controller]);\n };\n }\n function convertTransformerTransformCallback(fn, original, context) {\n assertFunction(fn, context);\n return function (chunk, controller) {\n return promiseCall(fn, original, [\n chunk,\n controller\n ]);\n };\n }\n var TransformStream = function () {\n function TransformStream(rawTransformer, rawWritableStrategy, rawReadableStrategy) {\n if (rawTransformer === void 0) {\n rawTransformer = {};\n }\n if (rawWritableStrategy === void 0) {\n rawWritableStrategy = {};\n }\n if (rawReadableStrategy === void 0) {\n rawReadableStrategy = {};\n }\n if (rawTransformer === undefined) {\n rawTransformer = null;\n }\n var writableStrategy = convertQueuingStrategy(rawWritableStrategy, 'Second parameter');\n var readableStrategy = convertQueuingStrategy(rawReadableStrategy, 'Third parameter');\n var transformer = convertTransformer(rawTransformer, 'First parameter');\n if (transformer.readableType !== undefined) {\n throw new RangeError('Invalid readableType specified');\n }\n if (transformer.writableType !== undefined) {\n throw new RangeError('Invalid writableType specified');\n }\n var readableHighWaterMark = ExtractHighWaterMark(readableStrategy, 0);\n var readableSizeAlgorithm = ExtractSizeAlgorithm(readableStrategy);\n var writableHighWaterMark = ExtractHighWaterMark(writableStrategy, 1);\n var writableSizeAlgorithm = ExtractSizeAlgorithm(writableStrategy);\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 if (transformer.start !== undefined) {\n startPromise_resolve(transformer.start(this._transformStreamController));\n } else {\n startPromise_resolve(undefined);\n }\n }\n Object.defineProperty(TransformStream.prototype, \"readable\", {\n get: function () {\n if (!IsTransformStream(this)) {\n throw streamBrandCheckException$2('readable');\n }\n return this._readable;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TransformStream.prototype, \"writable\", {\n get: function () {\n if (!IsTransformStream(this)) {\n throw streamBrandCheckException$2('writable');\n }\n return this._writable;\n },\n enumerable: false,\n configurable: true\n });\n return TransformStream;\n }();\n Object.defineProperties(TransformStream.prototype, {\n readable: { enumerable: true },\n writable: { enumerable: true }\n });\n if (typeof SymbolPolyfill.toStringTag === 'symbol') {\n Object.defineProperty(TransformStream.prototype, SymbolPolyfill.toStringTag, {\n value: 'TransformStream',\n configurable: true\n });\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) {\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('Illegal constructor');\n }\n Object.defineProperty(TransformStreamDefaultController.prototype, \"desiredSize\", {\n get: function () {\n if (!IsTransformStreamDefaultController(this)) {\n throw defaultControllerBrandCheckException$1('desiredSize');\n }\n var readableController = this._controlledTransformStream._readable._readableStreamController;\n return ReadableStreamDefaultControllerGetDesiredSize(readableController);\n },\n enumerable: false,\n configurable: true\n });\n TransformStreamDefaultController.prototype.enqueue = function (chunk) {\n if (chunk === void 0) {\n chunk = undefined;\n }\n if (!IsTransformStreamDefaultController(this)) {\n throw defaultControllerBrandCheckException$1('enqueue');\n }\n TransformStreamDefaultControllerEnqueue(this, chunk);\n };\n TransformStreamDefaultController.prototype.error = function (reason) {\n if (reason === void 0) {\n reason = undefined;\n }\n if (!IsTransformStreamDefaultController(this)) {\n throw defaultControllerBrandCheckException$1('error');\n }\n TransformStreamDefaultControllerError(this, reason);\n };\n TransformStreamDefaultController.prototype.terminate = function () {\n if (!IsTransformStreamDefaultController(this)) {\n throw defaultControllerBrandCheckException$1('terminate');\n }\n TransformStreamDefaultControllerTerminate(this);\n };\n return TransformStreamDefaultController;\n }();\n Object.defineProperties(TransformStreamDefaultController.prototype, {\n enqueue: { enumerable: true },\n error: { enumerable: true },\n terminate: { enumerable: true },\n desiredSize: { enumerable: true }\n });\n if (typeof SymbolPolyfill.toStringTag === 'symbol') {\n Object.defineProperty(TransformStreamDefaultController.prototype, SymbolPolyfill.toStringTag, {\n value: 'TransformStreamDefaultController',\n configurable: true\n });\n }\n function IsTransformStreamDefaultController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_controlledTransformStream')) {\n return false;\n }\n return true;\n }\n function 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 flushAlgorithm = function () {\n return promiseResolvedWith(undefined);\n };\n if (transformer.transform !== undefined) {\n transformAlgorithm = function (chunk) {\n return transformer.transform(chunk, controller);\n };\n }\n if (transformer.flush !== undefined) {\n flushAlgorithm = function () {\n return transformer.flush(controller);\n };\n }\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)) {\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 ReadableStreamDefaultControllerClose(readableController);\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) {\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 ReadableStreamDefaultControllerClose(readable._readableStreamController);\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.ReadableByteStreamController = ReadableByteStreamController;\n exports.ReadableStream = ReadableStream;\n exports.ReadableStreamBYOBReader = ReadableStreamBYOBReader;\n exports.ReadableStreamBYOBRequest = ReadableStreamBYOBRequest;\n exports.ReadableStreamDefaultController = ReadableStreamDefaultController;\n exports.ReadableStreamDefaultReader = ReadableStreamDefaultReader;\n exports.TransformStream = TransformStream;\n exports.TransformStreamDefaultController = TransformStreamDefaultController;\n exports.WritableStream = WritableStream;\n exports.WritableStreamDefaultController = WritableStreamDefaultController;\n exports.WritableStreamDefaultWriter = WritableStreamDefaultWriter;\n Object.defineProperty(exports, '__esModule', { value: true });\n}));\n\n/***/ }),\n/* 122 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n__w_pdfjs_require__(123);\nvar entryUnbind = __w_pdfjs_require__(127);\nmodule.exports = entryUnbind('String', 'padStart');\n\n/***/ }),\n/* 123 */\n/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(9);\nvar $padStart = __w_pdfjs_require__(124).start;\nvar WEBKIT_BUG = __w_pdfjs_require__(126);\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/* 124 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar toLength = __w_pdfjs_require__(46);\nvar repeat = __w_pdfjs_require__(125);\nvar requireObjectCoercible = __w_pdfjs_require__(19);\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/* 125 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\nvar toInteger = __w_pdfjs_require__(47);\nvar requireObjectCoercible = __w_pdfjs_require__(19);\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/* 126 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar userAgent = __w_pdfjs_require__(95);\nmodule.exports = /Version\\/10\\.\\d+(\\.\\d+)?( Mobile\\/\\w+)? Safari\\//.test(userAgent);\n\n/***/ }),\n/* 127 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar global = __w_pdfjs_require__(10);\nvar bind = __w_pdfjs_require__(75);\nvar call = Function.call;\nmodule.exports = function (CONSTRUCTOR, METHOD, length) {\n return bind(call, global[CONSTRUCTOR].prototype[METHOD], length);\n};\n\n/***/ }),\n/* 128 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n__w_pdfjs_require__(129);\nvar entryUnbind = __w_pdfjs_require__(127);\nmodule.exports = entryUnbind('String', 'padEnd');\n\n/***/ }),\n/* 129 */\n/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(9);\nvar $padEnd = __w_pdfjs_require__(124).end;\nvar WEBKIT_BUG = __w_pdfjs_require__(126);\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/* 130 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n__w_pdfjs_require__(131);\nvar path = __w_pdfjs_require__(42);\nmodule.exports = path.Object.values;\n\n/***/ }),\n/* 131 */\n/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar $ = __w_pdfjs_require__(9);\nvar $values = __w_pdfjs_require__(132).values;\n$({\n target: 'Object',\n stat: true\n}, {\n values: function values(O) {\n return $values(O);\n }\n});\n\n/***/ }),\n/* 132 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar DESCRIPTORS = __w_pdfjs_require__(12);\nvar objectKeys = __w_pdfjs_require__(60);\nvar toIndexedObject = __w_pdfjs_require__(16);\nvar propertyIsEnumerable = __w_pdfjs_require__(14).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/* 133 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n__w_pdfjs_require__(134);\nvar path = __w_pdfjs_require__(42);\nmodule.exports = path.Object.entries;\n\n/***/ }),\n/* 134 */\n/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar $ = __w_pdfjs_require__(9);\nvar $entries = __w_pdfjs_require__(132).entries;\n$({\n target: 'Object',\n stat: true\n}, {\n entries: function entries(O) {\n return $entries(O);\n }\n});\n\n/***/ }),\n/* 135 */\n/***/ ((__unused_webpack_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.version = exports.PDFWorker = exports.PDFPageProxy = exports.PDFDocumentProxy = exports.PDFDataRangeTransport = exports.LoopbackPort = exports.DefaultCMapReaderFactory = exports.DefaultCanvasFactory = exports.build = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(4);\n\nvar _display_utils = __w_pdfjs_require__(1);\n\nvar _font_loader = __w_pdfjs_require__(136);\n\nvar _node_utils = __w_pdfjs_require__(137);\n\nvar _annotation_storage = __w_pdfjs_require__(138);\n\nvar _api_compatibility = __w_pdfjs_require__(139);\n\nvar _canvas = __w_pdfjs_require__(140);\n\nvar _worker_options = __w_pdfjs_require__(142);\n\nvar _is_node = __w_pdfjs_require__(6);\n\nvar _message_handler = __w_pdfjs_require__(143);\n\nvar _metadata = __w_pdfjs_require__(144);\n\nvar _optional_content_config = __w_pdfjs_require__(146);\n\nvar _transport_stream = __w_pdfjs_require__(147);\n\nvar _webgl = __w_pdfjs_require__(148);\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 DefaultCanvasFactory = _is_node.isNodeJS ? _node_utils.NodeCanvasFactory : _display_utils.DOMCanvasFactory;\nexports.DefaultCanvasFactory = DefaultCanvasFactory;\nvar DefaultCMapReaderFactory = _is_node.isNodeJS ? _node_utils.NodeCMapReaderFactory : _display_utils.DOMCMapReaderFactory;\nexports.DefaultCMapReaderFactory = DefaultCMapReaderFactory;\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 || DefaultCMapReaderFactory;\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.ownerDocument === \"undefined\") {\n params.ownerDocument = globalThis.document;\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.7.570',\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: \"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: \"getJSActions\",\n value: function getJSActions() {\n return this._transport.getDocJSActions();\n }\n }, {\n key: \"getOutline\",\n value: function getOutline() {\n return this._transport.getOutline();\n }\n }, {\n key: \"getOptionalContentConfig\",\n value: function getOptionalContentConfig() {\n return this._transport.getOptionalContentConfig();\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: \"getMarkInfo\",\n value: function getMarkInfo() {\n return this._transport.getMarkInfo();\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: \"saveDocument\",\n value: function saveDocument(annotationStorage) {\n return this._transport.saveDocument(annotationStorage);\n }\n }, {\n key: \"getFieldObjects\",\n value: function getFieldObjects() {\n return this._transport.getFieldObjects();\n }\n }, {\n key: \"hasJSActions\",\n value: function hasJSActions() {\n return this._transport.hasJSActions();\n }\n }, {\n key: \"getCalculationOrderIds\",\n value: function getCalculationOrderIds() {\n return this._transport.getCalculationOrderIds();\n }\n }, {\n key: \"annotationStorage\",\n get: function get() {\n return (0, _util.shadow)(this, \"annotationStorage\", new _annotation_storage.AnnotationStorage());\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, ownerDocument) {\n var pdfBug = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n _classCallCheck(this, PDFPageProxy);\n\n this._pageIndex = pageIndex;\n this._pageInfo = pageInfo;\n this._ownerDocument = ownerDocument;\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 = new Map();\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: \"getJSActions\",\n value: function getJSActions() {\n return this._jsActionsPromise || (this._jsActionsPromise = this._transport.getPageJSActions(this._pageIndex));\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 _ref5$annotationStora = _ref5.annotationStorage,\n annotationStorage = _ref5$annotationStora === void 0 ? null : _ref5$annotationStora,\n _ref5$optionalContent = _ref5.optionalContentConfigPromise,\n optionalContentConfigPromise = _ref5$optionalContent === void 0 ? null : _ref5$optionalContent;\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 (!optionalContentConfigPromise) {\n optionalContentConfigPromise = this._transport.getOptionalContentConfig();\n }\n\n var intentState = this._intentStates.get(renderingIntent);\n\n if (!intentState) {\n intentState = Object.create(null);\n\n this._intentStates.set(renderingIntent, intentState);\n }\n\n if (intentState.streamReaderCancelTimeout) {\n clearTimeout(intentState.streamReaderCancelTimeout);\n intentState.streamReaderCancelTimeout = null;\n }\n\n var canvasFactoryInstance = canvasFactory || new DefaultCanvasFactory({\n ownerDocument: this._ownerDocument\n });\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 annotationStorage: (annotationStorage === null || annotationStorage === void 0 ? void 0 : annotationStorage.getAll()) || null\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 Promise.all([intentState.displayReadyCapability.promise, optionalContentConfigPromise]).then(function (_ref6) {\n var _ref7 = _slicedToArray(_ref6, 2),\n transparency = _ref7[0],\n optionalContentConfig = _ref7[1];\n\n if (_this5.pendingCleanup) {\n complete();\n return;\n }\n\n if (_this5._stats) {\n _this5._stats.time(\"Rendering\");\n }\n\n internalRenderTask.initializeGraphics({\n transparency: transparency,\n optionalContentConfig: optionalContentConfig\n });\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 var intentState = this._intentStates.get(renderingIntent);\n\n if (!intentState) {\n intentState = Object.create(null);\n\n this._intentStates.set(renderingIntent, intentState);\n }\n\n var opListTask;\n\n if (!intentState.opListReadCapability) {\n opListTask = Object.create(null);\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 _ref8 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref8$normalizeWhites = _ref8.normalizeWhitespace,\n normalizeWhitespace = _ref8$normalizeWhites === void 0 ? false : _ref8$normalizeWhites,\n _ref8$disableCombineT = _ref8.disableCombineTextItems,\n disableCombineTextItems = _ref8$disableCombineT === void 0 ? false : _ref8$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 (_ref9) {\n var _textContent$items;\n\n var value = _ref9.value,\n done = _ref9.done;\n\n if (done) {\n resolve(textContent);\n return;\n }\n\n Object.assign(textContent.styles, value.styles);\n\n (_textContent$items = textContent.items).push.apply(_textContent$items, _toConsumableArray(value.items));\n\n pump();\n }, reject);\n }\n\n var reader = readableStream.getReader();\n var textContent = {\n items: [],\n styles: Object.create(null)\n };\n pump();\n });\n }\n }, {\n key: \"_destroy\",\n value: function _destroy() {\n this.destroyed = true;\n this._transport.pageCache[this._pageIndex] = null;\n var waitOn = [];\n\n var _iterator5 = _createForOfIteratorHelper(this._intentStates),\n _step5;\n\n try {\n for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {\n var _step5$value = _slicedToArray(_step5.value, 2),\n intent = _step5$value[0],\n intentState = _step5$value[1];\n\n this._abortOperatorList({\n intentState: intentState,\n reason: new Error(\"Page was destroyed.\"),\n force: true\n });\n\n if (intent === \"oplist\") {\n continue;\n }\n\n var _iterator6 = _createForOfIteratorHelper(intentState.renderTasks),\n _step6;\n\n try {\n for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {\n var internalRenderTask = _step6.value;\n waitOn.push(internalRenderTask.completed);\n internalRenderTask.cancel();\n }\n } catch (err) {\n _iterator6.e(err);\n } finally {\n _iterator6.f();\n }\n }\n } catch (err) {\n _iterator5.e(err);\n } finally {\n _iterator5.f();\n }\n\n this.objs.clear();\n this.annotationsPromise = null;\n this._jsActionsPromise = 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 resetStats = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (!this.pendingCleanup) {\n return false;\n }\n\n var _iterator7 = _createForOfIteratorHelper(this._intentStates.values()),\n _step7;\n\n try {\n for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {\n var _step7$value = _step7.value,\n renderTasks = _step7$value.renderTasks,\n operatorList = _step7$value.operatorList;\n\n if (renderTasks.length !== 0 || !operatorList.lastChunk) {\n return false;\n }\n }\n } catch (err) {\n _iterator7.e(err);\n } finally {\n _iterator7.f();\n }\n\n this._intentStates.clear();\n\n this.objs.clear();\n this.annotationsPromise = null;\n this._jsActionsPromise = 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.get(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 _this6 = 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\n var intentState = this._intentStates.get(args.intent);\n\n intentState.streamReader = reader;\n\n var pump = function pump() {\n reader.read().then(function (_ref10) {\n var value = _ref10.value,\n done = _ref10.done;\n\n if (done) {\n intentState.streamReader = null;\n return;\n }\n\n if (_this6._transport.destroyed) {\n return;\n }\n\n _this6._renderPageChunk(value, intentState);\n\n pump();\n }, function (reason) {\n intentState.streamReader = null;\n\n if (_this6._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 _this6._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(_ref11) {\n var _this7 = this;\n\n var intentState = _ref11.intentState,\n reason = _ref11.reason,\n _ref11$force = _ref11.force,\n force = _ref11$force === void 0 ? false : _ref11$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 _this7._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 === null || reason === void 0 ? void 0 : reason.message));\n intentState.streamReader = null;\n\n if (this._transport.destroyed) {\n return;\n }\n\n var _iterator8 = _createForOfIteratorHelper(this._intentStates),\n _step8;\n\n try {\n for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {\n var _step8$value = _slicedToArray(_step8.value, 2),\n intent = _step8$value[0],\n curIntentState = _step8$value[1];\n\n if (curIntentState === intentState) {\n this._intentStates[\"delete\"](intent);\n\n break;\n }\n }\n } catch (err) {\n _iterator8.e(err);\n } finally {\n _iterator8.f();\n }\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 _this8 = 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 if (transfers !== null && transfers !== void 0 && transfers.includes(buffer)) {\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(_this8, {\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 _this8._listeners.forEach(function (listener) {\n listener.call(_this8, 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 _document$currentScri;\n\n var pdfjsFilePath = (_document$currentScri = document.currentScript) === null || _document$currentScri === void 0 ? void 0 : _document$currentScri.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 var _globalThis$pdfjsWork;\n\n mainWorkerMessageHandler = (_globalThis$pdfjsWork = globalThis.pdfjsWorker) === null || _globalThis$pdfjsWork === void 0 ? void 0 : _globalThis$pdfjsWork.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 _ref12 = _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 _ref12.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 _ref13 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref13$name = _ref13.name,\n name = _ref13$name === void 0 ? null : _ref13$name,\n _ref13$port = _ref13.port,\n port = _ref13$port === void 0 ? null : _ref13$port,\n _ref13$verbosity = _ref13.verbosity,\n verbosity = _ref13$verbosity === void 0 ? (0, _util.getVerbosityLevel)() : _ref13$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 _this9 = 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 (_this9.destroyed) {\n _this9._readyCapability.reject(new Error(\"Worker was destroyed\"));\n } else {\n _this9._setupFakeWorker();\n }\n };\n\n var onWorkerError = function onWorkerError() {\n if (!_this9._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 (_this9.destroyed) {\n terminateEarly();\n return;\n }\n\n if (data) {\n _this9._messageHandler = messageHandler;\n _this9._port = worker;\n _this9._webWorker = worker;\n\n if (!data.supportTransfers) {\n _this9.postMessageTransfers = false;\n }\n\n _this9._readyCapability.resolve();\n\n messageHandler.send(\"configure\", {\n verbosity: _this9.verbosity\n });\n } else {\n _this9._setupFakeWorker();\n\n messageHandler.destroy();\n worker.terminate();\n }\n });\n messageHandler.on(\"ready\", function (data) {\n worker.removeEventListener(\"error\", onWorkerError);\n\n if (_this9.destroyed) {\n terminateEarly();\n return;\n }\n\n try {\n sendTest();\n } catch (e) {\n _this9._setupFakeWorker();\n }\n });\n\n var sendTest = function sendTest() {\n var testObj = new Uint8Array([_this9.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 _this10 = 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 (_this10.destroyed) {\n _this10._readyCapability.reject(new Error(\"Worker was destroyed\"));\n\n return;\n }\n\n var port = new LoopbackPort();\n _this10._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 _this10._messageHandler = messageHandler;\n\n _this10._readyCapability.resolve();\n\n messageHandler.send(\"configure\", {\n verbosity: _this10.verbosity\n });\n })[\"catch\"](function (reason) {\n _this10._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 ownerDocument: params.ownerDocument\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 _this11 = 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\n if (this.loadingTaskSettled) {\n var annotationStorageResetModified = this.loadingTask.promise.then(function (pdfDocument) {\n if (pdfDocument.hasOwnProperty(\"annotationStorage\")) {\n pdfDocument.annotationStorage.resetModified();\n }\n })[\"catch\"](function () {});\n waitOn.push(annotationStorageResetModified);\n }\n\n Promise.all(waitOn).then(function () {\n _this11.commonObjs.clear();\n\n _this11.fontLoader.clear();\n\n _this11._hasJSActionsPromise = null;\n\n if (_this11._networkStream) {\n _this11._networkStream.cancelAllRequests(new _util.AbortException(\"Worker was terminated.\"));\n }\n\n if (_this11.messageHandler) {\n _this11.messageHandler.destroy();\n\n _this11.messageHandler = null;\n }\n\n _this11.destroyCapability.resolve();\n }, this.destroyCapability.reject);\n return this.destroyCapability.promise;\n }\n }, {\n key: \"setupMessageHandler\",\n value: function setupMessageHandler() {\n var _this12 = this;\n\n var messageHandler = this.messageHandler,\n loadingTask = this.loadingTask;\n messageHandler.on(\"GetReader\", function (data, sink) {\n (0, _util.assert)(_this12._networkStream, \"GetReader - no `IPDFStream` instance available.\");\n _this12._fullReader = _this12._networkStream.getFullReader();\n\n _this12._fullReader.onProgress = function (evt) {\n _this12._lastProgress = {\n loaded: evt.loaded,\n total: evt.total\n };\n };\n\n sink.onPull = function () {\n _this12._fullReader.read().then(function (_ref14) {\n var value = _ref14.value,\n done = _ref14.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 _this12._fullReader.cancel(reason);\n\n sink.ready[\"catch\"](function (readyReason) {\n if (_this12.destroyed) {\n return;\n }\n\n throw readyReason;\n });\n };\n });\n messageHandler.on(\"ReaderHeadersReady\", function (data) {\n var headersCapability = (0, _util.createPromiseCapability)();\n var fullReader = _this12._fullReader;\n fullReader.headersReady.then(function () {\n if (!fullReader.isStreamingSupported || !fullReader.isRangeSupported) {\n if (_this12._lastProgress && loadingTask.onProgress) {\n loadingTask.onProgress(_this12._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)(_this12._networkStream, \"GetRangeReader - no `IPDFStream` instance available.\");\n\n var rangeReader = _this12._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 (_ref15) {\n var value = _ref15.value,\n done = _ref15.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 sink.ready[\"catch\"](function (readyReason) {\n if (_this12.destroyed) {\n return;\n }\n\n throw readyReason;\n });\n };\n });\n messageHandler.on(\"GetDoc\", function (_ref16) {\n var pdfInfo = _ref16.pdfInfo;\n _this12._numPages = pdfInfo.numPages;\n\n loadingTask._capability.resolve(new PDFDocumentProxy(pdfInfo, _this12));\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 if (!(reason instanceof Error)) {\n var msg = \"DocException - expected a valid Error.\";\n (0, _util.warn)(msg);\n }\n\n loadingTask._capability.reject(reason);\n });\n messageHandler.on(\"PasswordRequest\", function (exception) {\n _this12._passwordCapability = (0, _util.createPromiseCapability)();\n\n if (loadingTask.onPassword) {\n var updatePassword = function updatePassword(password) {\n _this12._passwordCapability.resolve({\n password: password\n });\n };\n\n try {\n loadingTask.onPassword(updatePassword, exception.code);\n } catch (ex) {\n _this12._passwordCapability.reject(ex);\n }\n } else {\n _this12._passwordCapability.reject(new _util.PasswordException(exception.message, exception.code));\n }\n\n return _this12._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 _this12.downloadInfoCapability.resolve(data);\n });\n messageHandler.on(\"StartRenderPage\", function (data) {\n if (_this12.destroyed) {\n return;\n }\n\n var page = _this12.pageCache[data.pageIndex];\n\n page._startRenderPage(data.transparency, data.intent);\n });\n messageHandler.on(\"commonobj\", function (data) {\n var _globalThis$FontInspe;\n\n if (_this12.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 (_this12.commonObjs.has(id)) {\n return;\n }\n\n switch (type) {\n case \"Font\":\n var params = _this12._params;\n\n if (\"error\" in exportedData) {\n var exportedError = exportedData.error;\n (0, _util.warn)(\"Error during font loading: \".concat(exportedError));\n\n _this12.commonObjs.resolve(id, exportedError);\n\n break;\n }\n\n var fontRegistry = null;\n\n if (params.pdfBug && (_globalThis$FontInspe = globalThis.FontInspector) !== null && _globalThis$FontInspe !== void 0 && _globalThis$FontInspe.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: _this12._onUnsupportedFeature.bind(_this12),\n fontRegistry: fontRegistry\n });\n\n _this12.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 _this12.commonObjs.resolve(id, font);\n });\n\n break;\n\n case \"FontPath\":\n case \"Image\":\n _this12.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 var _imageData$data;\n\n if (_this12.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 = _this12.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 === null || imageData === void 0 ? void 0 : (_imageData$data = imageData.data) === null || _imageData$data === void 0 ? void 0 : _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 (_this12.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 (_this12.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 _this12.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(_ref17) {\n var featureId = _ref17.featureId;\n\n if (this.destroyed) {\n return;\n }\n\n if (this.loadingTask.onUnsupportedFeature) {\n this.loadingTask.onUnsupportedFeature(featureId);\n }\n }\n }, {\n key: \"getData\",\n value: function getData() {\n return this.messageHandler.sendWithPromise(\"GetData\", null);\n }\n }, {\n key: \"getPage\",\n value: function getPage(pageNumber) {\n var _this13 = this;\n\n if (!Number.isInteger(pageNumber) || pageNumber <= 0 || pageNumber > this._numPages) {\n return Promise.reject(new Error(\"Invalid page request\"));\n }\n\n var pageIndex = pageNumber - 1;\n\n if (pageIndex in this.pagePromises) {\n return this.pagePromises[pageIndex];\n }\n\n var promise = this.messageHandler.sendWithPromise(\"GetPage\", {\n pageIndex: pageIndex\n }).then(function (pageInfo) {\n if (_this13.destroyed) {\n throw new Error(\"Transport destroyed\");\n }\n\n var page = new PDFPageProxy(pageIndex, pageInfo, _this13, _this13._params.ownerDocument, _this13._params.pdfBug);\n _this13.pageCache[pageIndex] = page;\n return page;\n });\n this.pagePromises[pageIndex] = promise;\n return promise;\n }\n }, {\n key: \"getPageIndex\",\n value: function getPageIndex(ref) {\n return this.messageHandler.sendWithPromise(\"GetPageIndex\", {\n ref: ref\n })[\"catch\"](function (reason) {\n return Promise.reject(new Error(reason));\n });\n }\n }, {\n key: \"getAnnotations\",\n value: function getAnnotations(pageIndex, intent) {\n return this.messageHandler.sendWithPromise(\"GetAnnotations\", {\n pageIndex: pageIndex,\n intent: intent\n });\n }\n }, {\n key: \"saveDocument\",\n value: function saveDocument(annotationStorage) {\n var _this$_fullReader$fil, _this$_fullReader;\n\n return this.messageHandler.sendWithPromise(\"SaveDocument\", {\n numPages: this._numPages,\n annotationStorage: (annotationStorage === null || annotationStorage === void 0 ? void 0 : annotationStorage.getAll()) || null,\n filename: (_this$_fullReader$fil = (_this$_fullReader = this._fullReader) === null || _this$_fullReader === void 0 ? void 0 : _this$_fullReader.filename) !== null && _this$_fullReader$fil !== void 0 ? _this$_fullReader$fil : null\n })[\"finally\"](function () {\n if (annotationStorage) {\n annotationStorage.resetModified();\n }\n });\n }\n }, {\n key: \"getFieldObjects\",\n value: function getFieldObjects() {\n return this.messageHandler.sendWithPromise(\"GetFieldObjects\", null);\n }\n }, {\n key: \"hasJSActions\",\n value: function hasJSActions() {\n return this._hasJSActionsPromise || (this._hasJSActionsPromise = this.messageHandler.sendWithPromise(\"HasJSActions\", null));\n }\n }, {\n key: \"getCalculationOrderIds\",\n value: function getCalculationOrderIds() {\n return this.messageHandler.sendWithPromise(\"GetCalculationOrderIds\", null);\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: \"getDocJSActions\",\n value: function getDocJSActions() {\n return this.messageHandler.sendWithPromise(\"GetDocJSActions\", null);\n }\n }, {\n key: \"getPageJSActions\",\n value: function getPageJSActions(pageIndex) {\n return this.messageHandler.sendWithPromise(\"GetPageJSActions\", {\n pageIndex: pageIndex\n });\n }\n }, {\n key: \"getOutline\",\n value: function getOutline() {\n return this.messageHandler.sendWithPromise(\"GetOutline\", null);\n }\n }, {\n key: \"getOptionalContentConfig\",\n value: function getOptionalContentConfig() {\n return this.messageHandler.sendWithPromise(\"GetOptionalContentConfig\", null).then(function (results) {\n return new _optional_content_config.OptionalContentConfig(results);\n });\n }\n }, {\n key: \"getPermissions\",\n value: function getPermissions() {\n return this.messageHandler.sendWithPromise(\"GetPermissions\", null);\n }\n }, {\n key: \"getMetadata\",\n value: function getMetadata() {\n var _this14 = this;\n\n return this.messageHandler.sendWithPromise(\"GetMetadata\", null).then(function (results) {\n var _this14$_fullReader$f, _this14$_fullReader, _this14$_fullReader$c, _this14$_fullReader2;\n\n return {\n info: results[0],\n metadata: results[1] ? new _metadata.Metadata(results[1]) : null,\n contentDispositionFilename: (_this14$_fullReader$f = (_this14$_fullReader = _this14._fullReader) === null || _this14$_fullReader === void 0 ? void 0 : _this14$_fullReader.filename) !== null && _this14$_fullReader$f !== void 0 ? _this14$_fullReader$f : null,\n contentLength: (_this14$_fullReader$c = (_this14$_fullReader2 = _this14._fullReader) === null || _this14$_fullReader2 === void 0 ? void 0 : _this14$_fullReader2.contentLength) !== null && _this14$_fullReader$c !== void 0 ? _this14$_fullReader$c : null\n };\n });\n }\n }, {\n key: \"getMarkInfo\",\n value: function getMarkInfo() {\n return this.messageHandler.sendWithPromise(\"GetMarkInfo\", null);\n }\n }, {\n key: \"getStats\",\n value: function getStats() {\n return this.messageHandler.sendWithPromise(\"GetStats\", null);\n }\n }, {\n key: \"startCleanup\",\n value: function startCleanup() {\n var _this15 = this;\n\n return this.messageHandler.sendWithPromise(\"Cleanup\", null).then(function () {\n for (var i = 0, ii = _this15.pageCache.length; i < ii; i++) {\n var page = _this15.pageCache[i];\n\n if (page) {\n 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 _this15.commonObjs.clear();\n\n _this15.fontLoader.clear();\n\n _this15._hasJSActionsPromise = null;\n });\n }\n }, {\n key: \"loadingTaskSettled\",\n get: function get() {\n return this.loadingTask._capability.settled;\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 === null || obj === void 0 ? void 0 : 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(_ref18) {\n var callback = _ref18.callback,\n params = _ref18.params,\n objs = _ref18.objs,\n commonObjs = _ref18.commonObjs,\n operatorList = _ref18.operatorList,\n pageIndex = _ref18.pageIndex,\n canvasFactory = _ref18.canvasFactory,\n webGLContext = _ref18.webGLContext,\n _ref18$useRequestAnim = _ref18.useRequestAnimationFrame,\n useRequestAnimationFrame = _ref18$useRequestAnim === void 0 ? false : _ref18$useRequestAnim,\n _ref18$pdfBug = _ref18.pdfBug,\n pdfBug = _ref18$pdfBug === void 0 ? false : _ref18$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(_ref19) {\n var _globalThis$StepperMa;\n\n var _ref19$transparency = _ref19.transparency,\n transparency = _ref19$transparency === void 0 ? false : _ref19$transparency,\n optionalContentConfig = _ref19.optionalContentConfig;\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$StepperMa = globalThis.StepperManager) !== null && _globalThis$StepperMa !== void 0 && _globalThis$StepperMa.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, optionalContentConfig);\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 _this16 = this;\n\n if (this._useRequestAnimationFrame) {\n window.requestAnimationFrame(function () {\n _this16._nextBound()[\"catch\"](_this16.cancel.bind(_this16));\n });\n } else {\n Promise.resolve().then(this._nextBound)[\"catch\"](this.cancel.bind(this));\n }\n }\n }, {\n key: \"_next\",\n value: function () {\n var _next2 = _asyncToGenerator( /*#__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 key: \"completed\",\n get: function get() {\n return this.capability.promise[\"catch\"](function () {});\n }\n }]);\n\n return InternalRenderTask;\n }();\n\n return InternalRenderTask;\n}();\n\nvar version = '2.7.570';\nexports.version = version;\nvar build = 'f2c7338b0';\nexports.build = build;\n\n/***/ }),\n/* 136 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\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\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__(4);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": 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 _ref$ownerDocument = _ref.ownerDocument,\n ownerDocument = _ref$ownerDocument === void 0 ? globalThis.document : _ref$ownerDocument;\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._document = ownerDocument;\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\n this._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 = this._document.createElement(\"style\");\n styleElement.id = \"PDFJS_FONT_STYLE_TAG_\".concat(this.docId);\n\n this._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 var _this = this;\n\n this.nativeFontFaces.forEach(function (nativeFontFace) {\n _this._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 _this2 = 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 = _this2._queueLoadingCallback(resolve);\n\n _this2._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 _this$_document;\n\n return (0, _util.shadow)(this, \"isFontLoadingAPISupported\", !!((_this$_document = this._document) !== null && _this$_document !== void 0 && _this$_document.fonts));\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(params) {\n var _this3;\n\n _classCallCheck(this, GenericFontLoader);\n\n _this3 = _super.call(this, params);\n _this3.loadingContext = {\n requests: [],\n nextRequestId: 0\n };\n _this3.loadTestFontId = 0;\n return _this3;\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 var _this4 = this;\n\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\n var canvas = this._document.createElement(\"canvas\");\n\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\n var div = this._document.createElement(\"div\");\n\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 = this._document.createElement(\"span\");\n\n span.textContent = \"Hi\";\n span.style.fontFamily = names[i];\n div.appendChild(span);\n }\n\n this._document.body.appendChild(div);\n\n isFontReady(loadTestFontId, function () {\n _this4._document.body.removeChild(div);\n\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 === null || m === void 0 ? void 0 : 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/* 137 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\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\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.NodeCMapReaderFactory = exports.NodeCanvasFactory = void 0;\n\nvar _display_utils = __w_pdfjs_require__(1);\n\nvar _is_node = __w_pdfjs_require__(6);\n\nvar _util = __w_pdfjs_require__(4);\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 _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\nvar NodeCanvasFactory = function NodeCanvasFactory() {\n _classCallCheck(this, NodeCanvasFactory);\n\n (0, _util.unreachable)(\"Not implemented: NodeCanvasFactory\");\n};\n\nexports.NodeCanvasFactory = NodeCanvasFactory;\n\nvar NodeCMapReaderFactory = function NodeCMapReaderFactory() {\n _classCallCheck(this, NodeCMapReaderFactory);\n\n (0, _util.unreachable)(\"Not implemented: NodeCMapReaderFactory\");\n};\n\nexports.NodeCMapReaderFactory = NodeCMapReaderFactory;\n\nif (_is_node.isNodeJS) {\n exports.NodeCanvasFactory = NodeCanvasFactory = /*#__PURE__*/function (_BaseCanvasFactory) {\n _inherits(NodeCanvasFactory, _BaseCanvasFactory);\n\n var _super = _createSuper(NodeCanvasFactory);\n\n function NodeCanvasFactory() {\n _classCallCheck(this, NodeCanvasFactory);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(NodeCanvasFactory, [{\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 = require(\"canvas\");\n\n var canvas = Canvas.createCanvas(width, height);\n return {\n canvas: canvas,\n context: canvas.getContext(\"2d\")\n };\n }\n }]);\n\n return NodeCanvasFactory;\n }(_display_utils.BaseCanvasFactory);\n\n exports.NodeCMapReaderFactory = NodeCMapReaderFactory = /*#__PURE__*/function (_BaseCMapReaderFactor) {\n _inherits(NodeCMapReaderFactory, _BaseCMapReaderFactor);\n\n var _super2 = _createSuper(NodeCMapReaderFactory);\n\n function NodeCMapReaderFactory() {\n _classCallCheck(this, NodeCMapReaderFactory);\n\n return _super2.apply(this, arguments);\n }\n\n _createClass(NodeCMapReaderFactory, [{\n key: \"_fetchData\",\n value: function _fetchData(url, compressionType) {\n return new Promise(function (resolve, reject) {\n var fs = require(\"fs\");\n\n fs.readFile(url, function (error, data) {\n if (error || !data) {\n reject(new Error(error));\n return;\n }\n\n resolve({\n cMapData: new Uint8Array(data),\n compressionType: compressionType\n });\n });\n });\n }\n }]);\n\n return NodeCMapReaderFactory;\n }(_display_utils.BaseCMapReaderFactory);\n}\n\n/***/ }),\n/* 138 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.AnnotationStorage = void 0;\n\nvar _util = __w_pdfjs_require__(4);\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 AnnotationStorage = /*#__PURE__*/function () {\n function AnnotationStorage() {\n _classCallCheck(this, AnnotationStorage);\n\n this._storage = new Map();\n this._modified = false;\n this.onSetModified = null;\n this.onResetModified = null;\n }\n\n _createClass(AnnotationStorage, [{\n key: \"getOrCreateValue\",\n value: function getOrCreateValue(key, defaultValue) {\n if (this._storage.has(key)) {\n return this._storage.get(key);\n }\n\n this._storage.set(key, defaultValue);\n\n return defaultValue;\n }\n }, {\n key: \"setValue\",\n value: function setValue(key, value) {\n var obj = this._storage.get(key);\n\n var modified = false;\n\n if (obj !== undefined) {\n for (var _i = 0, _Object$entries = Object.entries(value); _i < _Object$entries.length; _i++) {\n var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2),\n entry = _Object$entries$_i[0],\n val = _Object$entries$_i[1];\n\n if (obj[entry] !== val) {\n modified = true;\n obj[entry] = val;\n }\n }\n } else {\n this._storage.set(key, value);\n\n modified = true;\n }\n\n if (modified) {\n this._setModified();\n }\n }\n }, {\n key: \"getAll\",\n value: function getAll() {\n if (this._storage.size === 0) {\n return null;\n }\n\n return (0, _util.objectFromEntries)(this._storage);\n }\n }, {\n key: \"_setModified\",\n value: function _setModified() {\n if (!this._modified) {\n this._modified = true;\n\n if (typeof this.onSetModified === \"function\") {\n this.onSetModified();\n }\n }\n }\n }, {\n key: \"resetModified\",\n value: function resetModified() {\n if (this._modified) {\n this._modified = false;\n\n if (typeof this.onResetModified === \"function\") {\n this.onResetModified();\n }\n }\n }\n }, {\n key: \"size\",\n get: function get() {\n return this._storage.size;\n }\n }]);\n\n return AnnotationStorage;\n}();\n\nexports.AnnotationStorage = AnnotationStorage;\n\n/***/ }),\n/* 139 */\n/***/ ((__unused_webpack_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__(6);\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/* 140 */\n/***/ ((__unused_webpack_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__(4);\n\nvar _pattern_helper = __w_pdfjs_require__(141);\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\nvar MIN_FONT_SIZE = 16;\nvar MAX_FONT_SIZE = 100;\nvar MAX_GROUP_SIZE = 4096;\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 width1 = width + 1;\n var i, ii, j, j0;\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 var pos = 0;\n\n for (i = 0, ii = data0.length; i < ii; i++) {\n var elem = data0[i];\n var mask = 128;\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 p0 = p;\n var type = points[p];\n\n do {\n var step = steps[type];\n\n do {\n p += step;\n } while (!points[p]);\n\n var 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 this.transferMaps = 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, optionalContentConfig) {\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.contentVisible = true;\n this.markedContentStack = [];\n this.optionalContentConfig = optionalContentConfig;\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 var transferMaps = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n\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 var transferMapRed, transferMapGreen, transferMapBlue, transferMapGray;\n\n if (transferMaps) {\n switch (transferMaps.length) {\n case 1:\n transferMapRed = transferMaps[0];\n transferMapGreen = transferMaps[0];\n transferMapBlue = transferMaps[0];\n transferMapGray = transferMaps[0];\n break;\n\n case 4:\n transferMapRed = transferMaps[0];\n transferMapGreen = transferMaps[1];\n transferMapBlue = transferMaps[2];\n transferMapGray = transferMaps[3];\n break;\n }\n }\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 if (transferMapGray) {\n if (transferMapGray[0] === 0xff && transferMapGray[0xff] === 0) {\n var _ref = [black, white];\n white = _ref[0];\n black = _ref[1];\n }\n }\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 var hasTransferMaps = !!(transferMapRed || transferMapGreen || transferMapBlue);\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\n if (hasTransferMaps) {\n for (var _k = 0; _k < elemsInThisChunk; _k += 4) {\n if (transferMapRed) {\n dest[_k + 0] = transferMapRed[dest[_k + 0]];\n }\n\n if (transferMapGreen) {\n dest[_k + 1] = transferMapGreen[dest[_k + 1]];\n }\n\n if (transferMapBlue) {\n dest[_k + 2] = transferMapBlue[dest[_k + 2]];\n }\n }\n }\n\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\n if (hasTransferMaps) {\n for (var _k2 = 0; _k2 < elemsInThisChunk; _k2 += 4) {\n if (transferMapRed) {\n dest[_k2 + 0] = transferMapRed[dest[_k2 + 0]];\n }\n\n if (transferMapGreen) {\n dest[_k2 + 1] = transferMapGreen[dest[_k2 + 1]];\n }\n\n if (transferMapBlue) {\n dest[_k2 + 2] = transferMapBlue[dest[_k2 + 2]];\n }\n }\n }\n\n ctx.putImageData(chunkImgData, 0, j);\n }\n } else if (imgData.kind === _util.ImageKind.RGB_24BPP) {\n var _hasTransferMaps = !!(transferMapRed || transferMapGreen || transferMapBlue);\n\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 if (_hasTransferMaps) {\n for (var _k3 = 0; _k3 < destPos; _k3 += 4) {\n if (transferMapRed) {\n dest[_k3 + 0] = transferMapRed[dest[_k3 + 0]];\n }\n\n if (transferMapGreen) {\n dest[_k3 + 1] = transferMapGreen[dest[_k3 + 1]];\n }\n\n if (transferMapBlue) {\n dest[_k3 + 2] = transferMapBlue[dest[_k3 + 2]];\n }\n }\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 elem = void 0,\n mask = 0;\n\n for (var k = 0; k < width; k++) {\n if (!mask) {\n 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(_ref2) {\n var transform = _ref2.transform,\n viewport = _ref2.viewport,\n _ref2$transparency = _ref2.transparency,\n transparency = _ref2$transparency === void 0 ? false : _ref2$transparency,\n _ref2$background = _ref2.background,\n background = _ref2$background === void 0 ? null : _ref2$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 this._combinedScaleFactor = Math.hypot(this.baseTransform[0], this.baseTransform[2]);\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 while (this.stateStack.length || this.current.activeSMask !== null) {\n this.restore();\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 case \"TR\":\n this.current.transferMaps = value;\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_resumeSMaskGroup() {\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 } else {\n this.current.activeSMask = 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 var xw = x + width;\n var yh = y + height;\n ctx.moveTo(x, y);\n\n if (width === 0 || height === 0) {\n ctx.lineTo(xw, yh);\n } else {\n ctx.lineTo(xw, y);\n ctx.lineTo(xw, yh);\n ctx.lineTo(x, yh);\n }\n\n 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 (this.contentVisible) {\n if (_typeof(strokeColor) === \"object\" && strokeColor !== null && strokeColor !== void 0 && strokeColor.getPattern) {\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 var lineWidth = this.getSinglePixelWidth();\n var scaledLineWidth = this.current.lineWidth * scale;\n\n if (lineWidth < 0 && -lineWidth >= scaledLineWidth) {\n ctx.resetTransform();\n ctx.lineWidth = Math.round(this._combinedScaleFactor);\n } else {\n ctx.lineWidth = Math.max(lineWidth, scaledLineWidth);\n }\n\n ctx.stroke();\n ctx.restore();\n } else {\n var _lineWidth = this.getSinglePixelWidth();\n\n if (_lineWidth < 0 && -_lineWidth >= this.current.lineWidth) {\n ctx.save();\n ctx.resetTransform();\n ctx.lineWidth = Math.round(this._combinedScaleFactor);\n ctx.stroke();\n ctx.restore();\n } else {\n ctx.lineWidth = Math.max(_lineWidth, this.current.lineWidth);\n ctx.stroke();\n }\n }\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.contentVisible) {\n if (this.pendingEOFill) {\n ctx.fill(\"evenodd\");\n this.pendingEOFill = false;\n } else {\n ctx.fill();\n }\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 || _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, resetLineWidthToOne) {\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 if (resetLineWidthToOne) {\n ctx.resetTransform();\n ctx.lineWidth = Math.round(this._combinedScaleFactor);\n }\n\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 if (resetLineWidthToOne) {\n ctx.save();\n ctx.moveTo(x, y);\n ctx.resetTransform();\n ctx.lineWidth = Math.round(this._combinedScaleFactor);\n ctx.strokeText(character, 0, 0);\n ctx.restore();\n } else {\n ctx.strokeText(character, x, y);\n }\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 resetLineWidthToOne = false;\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();\n resetLineWidthToOne = lineWidth < 0;\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 = void 0,\n scaledY = void 0;\n var width = glyph.width;\n\n if (vertical) {\n var vmetric = glyph.vmetric || defaultVMetrics;\n var vx = -(glyph.vmetric ? vmetric[1] : width * 0.5) * 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 (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 (this.contentVisible && (glyph.isInFont || font.missingFile)) {\n if (simpleFillText && !accent) {\n ctx.fillText(character, scaledX, scaledY);\n } else {\n this.paintChar(character, scaledX, scaledY, patternTransform, resetLineWidthToOne);\n\n if (accent) {\n var scaledAccentX = scaledX + fontSize * accent.offset.x / fontSizeScale;\n var scaledAccentY = scaledY - fontSize * accent.offset.y / fontSizeScale;\n this.paintChar(accent.fontChar, scaledAccentX, scaledAccentY, patternTransform, resetLineWidthToOne);\n }\n }\n }\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 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 if (this.contentVisible) {\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\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.makeHexColor(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.makeHexColor(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 if (!this.contentVisible) {\n return;\n }\n\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 if (!this.contentVisible) {\n return;\n }\n\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 if (!this.contentVisible) {\n return;\n }\n\n this.restore();\n this.baseTransform = this.baseTransformStack.pop();\n },\n beginGroup: function CanvasGraphics_beginGroup(group) {\n if (!this.contentVisible) {\n return;\n }\n\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 if (!this.contentVisible) {\n return;\n }\n\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 if (!this.contentVisible) {\n return;\n }\n\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 !== null && glyph !== void 0 && 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 paintImageMaskXObjectRepeat(imgData, scaleX) {\n var skewX = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n var skewY = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n var scaleY = arguments.length > 4 ? arguments[4] : undefined;\n var positions = arguments.length > 5 ? arguments[5] : undefined;\n\n if (!this.contentVisible) {\n return;\n }\n\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, skewX, skewY, 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 if (!this.contentVisible) {\n return;\n }\n\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 if (!this.contentVisible) {\n return;\n }\n\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 if (!this.contentVisible) {\n return;\n }\n\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 if (!this.contentVisible) {\n return;\n }\n\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, tmpCtx;\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 tmpCtx = tmpCanvas.context;\n putBinaryImageData(tmpCtx, imgData, this.current.transferMaps);\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 if (!this.contentVisible) {\n return;\n }\n\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, this.current.transferMaps);\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 if (!this.contentVisible) {\n return;\n }\n\n this.ctx.fillRect(0, 0, 1, 1);\n },\n markPoint: function CanvasGraphics_markPoint(tag) {},\n markPointProps: function CanvasGraphics_markPointProps(tag, properties) {},\n beginMarkedContent: function CanvasGraphics_beginMarkedContent(tag) {\n this.markedContentStack.push({\n visible: true\n });\n },\n beginMarkedContentProps: function CanvasGraphics_beginMarkedContentProps(tag, properties) {\n if (tag === \"OC\") {\n this.markedContentStack.push({\n visible: this.optionalContentConfig.isVisible(properties)\n });\n } else {\n this.markedContentStack.push({\n visible: true\n });\n }\n\n this.contentVisible = this.isContentVisible();\n },\n endMarkedContent: function CanvasGraphics_endMarkedContent() {\n this.markedContentStack.pop();\n this.contentVisible = this.isContentVisible();\n },\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() {\n if (this._cachedGetSinglePixelWidth === null) {\n var m = this.ctx.mozCurrentTransform;\n var absDet = Math.abs(m[0] * m[3] - m[2] * m[1]);\n var sqNorm1 = Math.pow(m[0], 2) + Math.pow(m[2], 2);\n var sqNorm2 = Math.pow(m[1], 2) + Math.pow(m[3], 2);\n var pixelHeight = Math.sqrt(Math.max(sqNorm1, sqNorm2)) / absDet;\n\n if (sqNorm1 !== sqNorm2 && this._combinedScaleFactor * pixelHeight > 1) {\n this._cachedGetSinglePixelWidth = -(this._combinedScaleFactor * pixelHeight);\n } else if (absDet > Number.EPSILON) {\n this._cachedGetSinglePixelWidth = pixelHeight * 1.0000001;\n } else {\n this._cachedGetSinglePixelWidth = 1;\n }\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 isContentVisible: function CanvasGraphics_isContentVisible() {\n for (var i = this.markedContentStack.length - 1; i >= 0; i--) {\n if (!this.markedContentStack[i].visible) {\n return false;\n }\n }\n\n return true;\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/* 141 */\n/***/ ((__unused_webpack_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__(4);\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 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 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 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.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.makeHexColor(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/* 142 */\n/***/ ((__unused_webpack_module, exports) => {\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/* 143 */\n/***/ ((__unused_webpack_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__(4);\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/* 144 */\n/***/ ((__unused_webpack_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__(4);\n\nvar _xml_parser = __w_pdfjs_require__(145);\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 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 lowerCaseName: true\n });\n var xmlDocument = parser.parseFromString(data);\n this._metadataMap = new Map();\n\n if (xmlDocument) {\n this._parse(xmlDocument);\n }\n\n this._data = data;\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 += \"\" + (0x10000 + code).toString(16).substring(1) + \";\";\n }\n }\n\n return \">\" + chars;\n });\n }\n }, {\n key: \"_getSequence\",\n value: function _getSequence(entry) {\n var name = entry.nodeName;\n\n if (name !== \"rdf:bag\" && name !== \"rdf:seq\" && name !== \"rdf:alt\") {\n return null;\n }\n\n return entry.childNodes.filter(function (node) {\n return node.nodeName === \"rdf:li\";\n });\n }\n }, {\n key: \"_getCreators\",\n value: function _getCreators(entry) {\n if (entry.nodeName !== \"dc:creator\") {\n return false;\n }\n\n if (!entry.hasChildNodes()) {\n return true;\n }\n\n var seqNode = entry.childNodes[0];\n var authors = this._getSequence(seqNode) || [];\n\n this._metadataMap.set(entry.nodeName, authors.map(function (node) {\n return node.textContent.trim();\n }));\n\n return true;\n }\n }, {\n key: \"_parse\",\n value: function _parse(xmlDocument) {\n var rdf = xmlDocument.documentElement;\n\n if (rdf.nodeName !== \"rdf:rdf\") {\n rdf = rdf.firstChild;\n\n while (rdf && rdf.nodeName !== \"rdf:rdf\") {\n rdf = rdf.nextSibling;\n }\n }\n\n if (!rdf || rdf.nodeName !== \"rdf:rdf\" || !rdf.hasChildNodes()) {\n return;\n }\n\n var _iterator = _createForOfIteratorHelper(rdf.childNodes),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var desc = _step.value;\n\n if (desc.nodeName !== \"rdf:description\") {\n continue;\n }\n\n var _iterator2 = _createForOfIteratorHelper(desc.childNodes),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var entry = _step2.value;\n var name = entry.nodeName;\n\n if (name === \"#text\") {\n continue;\n }\n\n if (this._getCreators(entry)) {\n continue;\n }\n\n this._metadataMap.set(name, entry.textContent.trim());\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n }\n }, {\n key: \"getRaw\",\n value: function getRaw() {\n return this._data;\n }\n }, {\n key: \"get\",\n value: function get(name) {\n var _this$_metadataMap$ge;\n\n return (_this$_metadataMap$ge = this._metadataMap.get(name)) !== null && _this$_metadataMap$ge !== void 0 ? _this$_metadataMap$ge : null;\n }\n }, {\n key: \"getAll\",\n value: function getAll() {\n return (0, _util.objectFromEntries)(this._metadataMap);\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/* 145 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\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\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.SimpleXMLParser = exports.SimpleDOMNode = void 0;\n\nvar _util = __w_pdfjs_require__(4);\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 _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 _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 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.fromCodePoint(parseInt(entity.substring(2), 16));\n } else if (entity.substring(0, 1) === \"#\") {\n return String.fromCodePoint(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: \"searchNode\",\n value: function searchNode(paths, pos) {\n if (pos >= paths.length) {\n return this;\n }\n\n var component = paths[pos];\n var stack = [];\n var node = this;\n\n while (true) {\n if (component.name === node.nodeName) {\n if (component.pos === 0) {\n var res = node.searchNode(paths, pos + 1);\n\n if (res !== null) {\n return res;\n }\n } else if (stack.length === 0) {\n return null;\n } else {\n var _stack$pop = stack.pop(),\n _stack$pop2 = _slicedToArray(_stack$pop, 1),\n parent = _stack$pop2[0];\n\n var siblingPos = 0;\n\n var _iterator = _createForOfIteratorHelper(parent.childNodes),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var child = _step.value;\n\n if (component.name === child.nodeName) {\n if (siblingPos === component.pos) {\n return child.searchNode(paths, pos + 1);\n }\n\n siblingPos++;\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n return node.searchNode(paths, pos + 1);\n }\n }\n\n if (node.childNodes && node.childNodes.length !== 0) {\n stack.push([node, 0]);\n node = node.childNodes[0];\n } else if (stack.length === 0) {\n return null;\n } else {\n while (stack.length !== 0) {\n var _stack$pop3 = stack.pop(),\n _stack$pop4 = _slicedToArray(_stack$pop3, 2),\n _parent = _stack$pop4[0],\n currentPos = _stack$pop4[1];\n\n var newPos = currentPos + 1;\n\n if (newPos < _parent.childNodes.length) {\n stack.push([_parent, newPos]);\n node = _parent.childNodes[newPos];\n break;\n }\n }\n\n if (stack.length === 0) {\n return null;\n }\n }\n }\n }\n }, {\n key: \"dump\",\n value: function dump(buffer) {\n if (this.nodeName === \"#text\") {\n buffer.push((0, _util.encodeToXmlString)(this.nodeValue));\n return;\n }\n\n buffer.push(\"<\".concat(this.nodeName));\n\n if (this.attributes) {\n var _iterator2 = _createForOfIteratorHelper(this.attributes),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var attribute = _step2.value;\n buffer.push(\" \".concat(attribute.name, \"=\\\"\").concat((0, _util.encodeToXmlString)(attribute.value), \"\\\"\"));\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n }\n\n if (this.hasChildNodes()) {\n buffer.push(\">\");\n\n var _iterator3 = _createForOfIteratorHelper(this.childNodes),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var child = _step3.value;\n child.dump(buffer);\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n\n buffer.push(\"\".concat(this.nodeName, \">\"));\n } else if (this.nodeValue) {\n buffer.push(\">\".concat((0, _util.encodeToXmlString)(this.nodeValue), \"\").concat(this.nodeName, \">\"));\n } else {\n buffer.push(\"/>\");\n }\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\nexports.SimpleDOMNode = SimpleDOMNode;\n\nvar SimpleXMLParser = /*#__PURE__*/function (_XMLParserBase) {\n _inherits(SimpleXMLParser, _XMLParserBase);\n\n var _super = _createSuper(SimpleXMLParser);\n\n function SimpleXMLParser(_ref) {\n var _this2;\n\n var _ref$hasAttributes = _ref.hasAttributes,\n hasAttributes = _ref$hasAttributes === void 0 ? false : _ref$hasAttributes,\n _ref$lowerCaseName = _ref.lowerCaseName,\n lowerCaseName = _ref$lowerCaseName === void 0 ? false : _ref$lowerCaseName;\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 _this2._hasAttributes = hasAttributes;\n _this2._lowerCaseName = lowerCaseName;\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 if (this._lowerCaseName) {\n name = name.toLowerCase();\n }\n\n var node = new SimpleDOMNode(name);\n node.childNodes = [];\n\n if (this._hasAttributes) {\n node.attributes = attributes;\n }\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/* 146 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.OptionalContentConfig = void 0;\n\nvar _util = __w_pdfjs_require__(4);\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 _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 _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar OptionalContentGroup = function OptionalContentGroup(name, intent) {\n _classCallCheck(this, OptionalContentGroup);\n\n this.visible = true;\n this.name = name;\n this.intent = intent;\n};\n\nvar OptionalContentConfig = /*#__PURE__*/function () {\n function OptionalContentConfig(data) {\n _classCallCheck(this, OptionalContentConfig);\n\n this.name = null;\n this.creator = null;\n this._order = null;\n this._groups = new Map();\n\n if (data === null) {\n return;\n }\n\n this.name = data.name;\n this.creator = data.creator;\n this._order = data.order;\n\n var _iterator = _createForOfIteratorHelper(data.groups),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var _group = _step.value;\n\n this._groups.set(_group.id, new OptionalContentGroup(_group.name, _group.intent));\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n if (data.baseState === \"OFF\") {\n var _iterator2 = _createForOfIteratorHelper(this._groups),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var group = _step2.value;\n group.visible = false;\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n }\n\n var _iterator3 = _createForOfIteratorHelper(data.on),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var on = _step3.value;\n this._groups.get(on).visible = true;\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n\n var _iterator4 = _createForOfIteratorHelper(data.off),\n _step4;\n\n try {\n for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n var off = _step4.value;\n this._groups.get(off).visible = false;\n }\n } catch (err) {\n _iterator4.e(err);\n } finally {\n _iterator4.f();\n }\n }\n\n _createClass(OptionalContentConfig, [{\n key: \"isVisible\",\n value: function isVisible(group) {\n if (group.type === \"OCG\") {\n if (!this._groups.has(group.id)) {\n (0, _util.warn)(\"Optional content group not found: \".concat(group.id));\n return true;\n }\n\n return this._groups.get(group.id).visible;\n } else if (group.type === \"OCMD\") {\n if (group.expression) {\n (0, _util.warn)(\"Visibility expression not supported yet.\");\n }\n\n if (!group.policy || group.policy === \"AnyOn\") {\n var _iterator5 = _createForOfIteratorHelper(group.ids),\n _step5;\n\n try {\n for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {\n var id = _step5.value;\n\n if (!this._groups.has(id)) {\n (0, _util.warn)(\"Optional content group not found: \".concat(id));\n return true;\n }\n\n if (this._groups.get(id).visible) {\n return true;\n }\n }\n } catch (err) {\n _iterator5.e(err);\n } finally {\n _iterator5.f();\n }\n\n return false;\n } else if (group.policy === \"AllOn\") {\n var _iterator6 = _createForOfIteratorHelper(group.ids),\n _step6;\n\n try {\n for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {\n var _id = _step6.value;\n\n if (!this._groups.has(_id)) {\n (0, _util.warn)(\"Optional content group not found: \".concat(_id));\n return true;\n }\n\n if (!this._groups.get(_id).visible) {\n return false;\n }\n }\n } catch (err) {\n _iterator6.e(err);\n } finally {\n _iterator6.f();\n }\n\n return true;\n } else if (group.policy === \"AnyOff\") {\n var _iterator7 = _createForOfIteratorHelper(group.ids),\n _step7;\n\n try {\n for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {\n var _id2 = _step7.value;\n\n if (!this._groups.has(_id2)) {\n (0, _util.warn)(\"Optional content group not found: \".concat(_id2));\n return true;\n }\n\n if (!this._groups.get(_id2).visible) {\n return true;\n }\n }\n } catch (err) {\n _iterator7.e(err);\n } finally {\n _iterator7.f();\n }\n\n return false;\n } else if (group.policy === \"AllOff\") {\n var _iterator8 = _createForOfIteratorHelper(group.ids),\n _step8;\n\n try {\n for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {\n var _id3 = _step8.value;\n\n if (!this._groups.has(_id3)) {\n (0, _util.warn)(\"Optional content group not found: \".concat(_id3));\n return true;\n }\n\n if (this._groups.get(_id3).visible) {\n return false;\n }\n }\n } catch (err) {\n _iterator8.e(err);\n } finally {\n _iterator8.f();\n }\n\n return true;\n }\n\n (0, _util.warn)(\"Unknown optional content policy \".concat(group.policy, \".\"));\n return true;\n }\n\n (0, _util.warn)(\"Unknown group type \".concat(group.type, \".\"));\n return true;\n }\n }, {\n key: \"setVisibility\",\n value: function setVisibility(id) {\n var visible = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n if (!this._groups.has(id)) {\n (0, _util.warn)(\"Optional content group not found: \".concat(id));\n return;\n }\n\n this._groups.get(id).visible = !!visible;\n }\n }, {\n key: \"getOrder\",\n value: function getOrder() {\n if (!this._groups.size) {\n return null;\n }\n\n if (this._order) {\n return this._order.slice();\n }\n\n return Array.from(this._groups.keys());\n }\n }, {\n key: \"getGroups\",\n value: function getGroups() {\n if (!this._groups.size) {\n return null;\n }\n\n return (0, _util.objectFromEntries)(this._groups);\n }\n }, {\n key: \"getGroup\",\n value: function getGroup(id) {\n return this._groups.get(id) || null;\n }\n }]);\n\n return OptionalContentConfig;\n}();\n\nexports.OptionalContentConfig = OptionalContentConfig;\n\n/***/ }),\n/* 147 */\n/***/ ((__unused_webpack_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__(4);\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 === null || initialData === void 0 ? void 0 : 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 !== null && firstReader !== void 0 && firstReader.onProgress) {\n firstReader.onProgress({\n loaded: evt.loaded\n });\n }\n } else {\n var fullReader = this._fullRequestReader;\n\n if (fullReader !== null && fullReader !== void 0 && 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 var _this$_fullRequestRea, _this$_fullRequestRea2;\n\n return (_this$_fullRequestRea = (_this$_fullRequestRea2 = this._fullRequestReader) === null || _this$_fullRequestRea2 === void 0 ? void 0 : _this$_fullRequestRea2._loaded) !== null && _this$_fullRequestRea !== void 0 ? _this$_fullRequestRea : 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/* 148 */\n/***/ ((__unused_webpack_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__(4);\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 generateGL();\n var canvas = currentCanvas;\n currentCanvas = null;\n var 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 generateGL();\n var canvas = currentCanvas;\n currentCanvas = null;\n var 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\n for (var i = 0, ii = figures.length; i < ii; i++) {\n switch (figures[i].type) {\n case \"lattice\":\n var 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 (var _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\n var _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 var _smaskCache, _figuresCache;\n\n if ((_smaskCache = smaskCache) !== null && _smaskCache !== void 0 && _smaskCache.canvas) {\n smaskCache.canvas.width = 0;\n smaskCache.canvas.height = 0;\n }\n\n if ((_figuresCache = figuresCache) !== null && _figuresCache !== void 0 && _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/* 149 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\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\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__(4);\n\nvar _annotation_storage = __w_pdfjs_require__(138);\n\nvar _scripting_utils = __w_pdfjs_require__(150);\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 _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 _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 _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 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 _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n _ref$isRenderable = _ref.isRenderable,\n isRenderable = _ref$isRenderable === void 0 ? false : _ref$isRenderable,\n _ref$ignoreBorder = _ref.ignoreBorder,\n ignoreBorder = _ref$ignoreBorder === void 0 ? false : _ref$ignoreBorder,\n _ref$createQuadrilate = _ref.createQuadrilaterals,\n createQuadrilaterals = _ref$createQuadrilate === void 0 ? false : _ref$createQuadrilate;\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 this.annotationStorage = parameters.annotationStorage;\n this.enableScripting = parameters.enableScripting;\n this.hasJSActions = parameters.hasJSActions;\n this._mouseState = parameters.mouseState;\n\n if (isRenderable) {\n this.container = this._createContainer(ignoreBorder);\n }\n\n if (createQuadrilaterals) {\n this.quadrilaterals = this._createQuadrilaterals(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.makeHexColor(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: \"_createQuadrilaterals\",\n value: function _createQuadrilaterals() {\n var ignoreBorder = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (!this.data.quadPoints) {\n return null;\n }\n\n var quadrilaterals = [];\n var savedRect = this.data.rect;\n\n var _iterator = _createForOfIteratorHelper(this.data.quadPoints),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var quadPoint = _step.value;\n this.data.rect = [quadPoint[2].x, quadPoint[2].y, quadPoint[1].x, quadPoint[1].y];\n quadrilaterals.push(this._createContainer(ignoreBorder));\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n this.data.rect = savedRect;\n return quadrilaterals;\n }\n }, {\n key: \"_createPopup\",\n value: function _createPopup(trigger, data) {\n var container = this.container;\n\n if (this.quadrilaterals) {\n trigger = trigger || this.quadrilaterals;\n container = this.quadrilaterals[0];\n }\n\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: \"_renderQuadrilaterals\",\n value: function _renderQuadrilaterals(className) {\n this.quadrilaterals.forEach(function (quadrilateral) {\n quadrilateral.className = className;\n });\n return this.quadrilaterals;\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 || parameters.data.isTooltipOnly || parameters.data.actions && (parameters.data.actions.Action || parameters.data.actions[\"Mouse Up\"] || parameters.data.actions[\"Mouse Down\"]));\n return _super.call(this, parameters, {\n isRenderable: isRenderable,\n createQuadrilaterals: true\n });\n }\n\n _createClass(LinkAnnotationElement, [{\n key: \"render\",\n value: function render() {\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 if (data.dest) {\n this._bindLink(link, data.dest);\n } else if (data.actions && (data.actions.Action || data.actions[\"Mouse Up\"] || data.actions[\"Mouse Down\"]) && this.enableScripting && this.hasJSActions) {\n this._bindJSAction(link, data);\n } else {\n this._bindLink(link, \"\");\n }\n\n if (this.quadrilaterals) {\n return this._renderQuadrilaterals(\"linkAnnotation\").map(function (quadrilateral, index) {\n var linkElement = index === 0 ? link : link.cloneNode();\n quadrilateral.appendChild(linkElement);\n return quadrilateral;\n });\n }\n\n this.container.className = \"linkAnnotation\";\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.goToDestination(destination);\n }\n\n return false;\n };\n\n if (destination || 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 key: \"_bindJSAction\",\n value: function _bindJSAction(link, data) {\n var _this3 = this;\n\n link.href = this.linkService.getAnchorUrl(\"\");\n var map = new Map([[\"Action\", \"onclick\"], [\"Mouse Up\", \"onmouseup\"], [\"Mouse Down\", \"onmousedown\"]]);\n\n var _loop = function _loop() {\n var name = _Object$keys[_i];\n var jsName = map.get(name);\n\n if (!jsName) {\n return \"continue\";\n }\n\n link[jsName] = function () {\n var _this3$linkService$ev;\n\n (_this3$linkService$ev = _this3.linkService.eventBus) === null || _this3$linkService$ev === void 0 ? void 0 : _this3$linkService$ev.dispatch(\"dispatcheventinsandbox\", {\n source: _this3,\n detail: {\n id: data.id,\n name: name\n }\n });\n return false;\n };\n };\n\n for (var _i = 0, _Object$keys = Object.keys(data.actions); _i < _Object$keys.length; _i++) {\n var _ret = _loop();\n\n if (_ret === \"continue\") continue;\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, {\n isRenderable: isRenderable\n });\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(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 if (this.data.alternativeText) {\n this.container.title = this.data.alternativeText;\n }\n\n return this.container;\n }\n }, {\n key: \"_getKeyModifier\",\n value: function _getKeyModifier(event) {\n return navigator.platform.includes(\"Win\") && event.ctrlKey || navigator.platform.includes(\"Mac\") && event.metaKey;\n }\n }, {\n key: \"_setEventListener\",\n value: function _setEventListener(element, baseName, eventName, valueGetter) {\n var _this4 = this;\n\n if (baseName.includes(\"mouse\")) {\n element.addEventListener(baseName, function (event) {\n var _this4$linkService$ev;\n\n (_this4$linkService$ev = _this4.linkService.eventBus) === null || _this4$linkService$ev === void 0 ? void 0 : _this4$linkService$ev.dispatch(\"dispatcheventinsandbox\", {\n source: _this4,\n detail: {\n id: _this4.data.id,\n name: eventName,\n value: valueGetter(event),\n shift: event.shiftKey,\n modifier: _this4._getKeyModifier(event)\n }\n });\n });\n } else {\n element.addEventListener(baseName, function (event) {\n var _this4$linkService$ev2;\n\n (_this4$linkService$ev2 = _this4.linkService.eventBus) === null || _this4$linkService$ev2 === void 0 ? void 0 : _this4$linkService$ev2.dispatch(\"dispatcheventinsandbox\", {\n source: _this4,\n detail: {\n id: _this4.data.id,\n name: eventName,\n value: event.target.checked\n }\n });\n });\n }\n }\n }, {\n key: \"_setEventListeners\",\n value: function _setEventListeners(element, names, getter) {\n var _iterator2 = _createForOfIteratorHelper(names),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var _this$data$actions;\n\n var _step2$value = _slicedToArray(_step2.value, 2),\n baseName = _step2$value[0],\n eventName = _step2$value[1];\n\n if (eventName === \"Action\" || (_this$data$actions = this.data.actions) !== null && _this$data$actions !== void 0 && _this$data$actions[eventName]) {\n this._setEventListener(element, baseName, eventName, getter);\n }\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\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, {\n isRenderable: isRenderable\n });\n }\n\n _createClass(TextWidgetAnnotationElement, [{\n key: \"render\",\n value: function render() {\n var _this5 = this;\n\n var storage = this.annotationStorage;\n var id = this.data.id;\n this.container.className = \"textWidgetAnnotation\";\n var element = null;\n\n if (this.renderInteractiveForms) {\n var textContent = storage.getOrCreateValue(id, {\n value: this.data.fieldValue\n }).value;\n var elementData = {\n userValue: null,\n formattedValue: null,\n beforeInputSelectionRange: null,\n beforeInputValue: null\n };\n\n if (this.data.multiLine) {\n element = document.createElement(\"textarea\");\n element.textContent = textContent;\n } else {\n element = document.createElement(\"input\");\n element.type = \"text\";\n element.setAttribute(\"value\", textContent);\n }\n\n elementData.userValue = textContent;\n element.setAttribute(\"id\", id);\n element.addEventListener(\"input\", function (event) {\n storage.setValue(id, {\n value: event.target.value\n });\n });\n\n var blurListener = function blurListener(event) {\n if (elementData.formattedValue) {\n event.target.value = elementData.formattedValue;\n }\n\n event.target.setSelectionRange(0, 0);\n elementData.beforeInputSelectionRange = null;\n };\n\n if (this.enableScripting && this.hasJSActions) {\n element.addEventListener(\"focus\", function (event) {\n if (elementData.userValue) {\n event.target.value = elementData.userValue;\n }\n });\n element.addEventListener(\"updatefromsandbox\", function (event) {\n var detail = event.detail;\n var actions = {\n value: function value() {\n elementData.userValue = detail.value || \"\";\n storage.setValue(id, {\n value: elementData.userValue.toString()\n });\n\n if (!elementData.formattedValue) {\n event.target.value = elementData.userValue;\n }\n },\n valueAsString: function valueAsString() {\n elementData.formattedValue = detail.valueAsString || \"\";\n\n if (event.target !== document.activeElement) {\n event.target.value = elementData.formattedValue;\n }\n\n storage.setValue(id, {\n formattedValue: elementData.formattedValue\n });\n },\n focus: function focus() {\n setTimeout(function () {\n return event.target.focus({\n preventScroll: false\n });\n }, 0);\n },\n userName: function userName() {\n event.target.title = detail.userName;\n },\n hidden: function hidden() {\n event.target.style.visibility = detail.hidden ? \"hidden\" : \"visible\";\n storage.setValue(id, {\n hidden: detail.hidden\n });\n },\n editable: function editable() {\n event.target.disabled = !detail.editable;\n },\n selRange: function selRange() {\n var _detail$selRange = _slicedToArray(detail.selRange, 2),\n selStart = _detail$selRange[0],\n selEnd = _detail$selRange[1];\n\n if (selStart >= 0 && selEnd < event.target.value.length) {\n event.target.setSelectionRange(selStart, selEnd);\n }\n },\n strokeColor: function strokeColor() {\n var color = detail.strokeColor;\n event.target.style.color = _scripting_utils.ColorConverters[\"\".concat(color[0], \"_HTML\")](color.slice(1));\n }\n };\n Object.keys(detail).filter(function (name) {\n return name in actions;\n }).forEach(function (name) {\n return actions[name]();\n });\n });\n\n if (this.data.actions) {\n element.addEventListener(\"keydown\", function (event) {\n var _this5$linkService$ev;\n\n elementData.beforeInputValue = event.target.value;\n var commitKey = -1;\n\n if (event.key === \"Escape\") {\n commitKey = 0;\n } else if (event.key === \"Enter\") {\n commitKey = 2;\n } else if (event.key === \"Tab\") {\n commitKey = 3;\n }\n\n if (commitKey === -1) {\n return;\n }\n\n elementData.userValue = event.target.value;\n (_this5$linkService$ev = _this5.linkService.eventBus) === null || _this5$linkService$ev === void 0 ? void 0 : _this5$linkService$ev.dispatch(\"dispatcheventinsandbox\", {\n source: _this5,\n detail: {\n id: id,\n name: \"Keystroke\",\n value: event.target.value,\n willCommit: true,\n commitKey: commitKey,\n selStart: event.target.selectionStart,\n selEnd: event.target.selectionEnd\n }\n });\n });\n var _blurListener = blurListener;\n blurListener = null;\n element.addEventListener(\"blur\", function (event) {\n if (_this5._mouseState.isDown) {\n var _this5$linkService$ev2;\n\n elementData.userValue = event.target.value;\n (_this5$linkService$ev2 = _this5.linkService.eventBus) === null || _this5$linkService$ev2 === void 0 ? void 0 : _this5$linkService$ev2.dispatch(\"dispatcheventinsandbox\", {\n source: _this5,\n detail: {\n id: id,\n name: \"Keystroke\",\n value: event.target.value,\n willCommit: true,\n commitKey: 1,\n selStart: event.target.selectionStart,\n selEnd: event.target.selectionEnd\n }\n });\n }\n\n _blurListener(event);\n });\n element.addEventListener(\"mousedown\", function (event) {\n elementData.beforeInputValue = event.target.value;\n elementData.beforeInputSelectionRange = null;\n });\n element.addEventListener(\"keyup\", function (event) {\n if (event.target.selectionStart === event.target.selectionEnd) {\n elementData.beforeInputSelectionRange = null;\n }\n });\n element.addEventListener(\"select\", function (event) {\n elementData.beforeInputSelectionRange = [event.target.selectionStart, event.target.selectionEnd];\n });\n\n if (\"Keystroke\" in this.data.actions) {\n element.addEventListener(\"input\", function (event) {\n var _this5$linkService$ev3;\n\n var selStart = -1;\n var selEnd = -1;\n\n if (elementData.beforeInputSelectionRange) {\n var _elementData$beforeIn = _slicedToArray(elementData.beforeInputSelectionRange, 2);\n\n selStart = _elementData$beforeIn[0];\n selEnd = _elementData$beforeIn[1];\n }\n\n (_this5$linkService$ev3 = _this5.linkService.eventBus) === null || _this5$linkService$ev3 === void 0 ? void 0 : _this5$linkService$ev3.dispatch(\"dispatcheventinsandbox\", {\n source: _this5,\n detail: {\n id: id,\n name: \"Keystroke\",\n value: elementData.beforeInputValue,\n change: event.data,\n willCommit: false,\n selStart: selStart,\n selEnd: selEnd\n }\n });\n });\n }\n\n this._setEventListeners(element, [[\"focus\", \"Focus\"], [\"blur\", \"Blur\"], [\"mousedown\", \"Mouse Down\"], [\"mouseenter\", \"Mouse Enter\"], [\"mouseleave\", \"Mouse Exit\"], [\"mouseup\", \"Mouse Up\"]], function (event) {\n return event.target.value;\n });\n }\n }\n\n if (blurListener) {\n element.addEventListener(\"blur\", blurListener);\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 }\n\n this._setTextStyle(element);\n\n this.container.appendChild(element);\n return this.container;\n }\n }, {\n key: \"_setTextStyle\",\n value: function _setTextStyle(element) {\n var TEXT_ALIGNMENT = [\"left\", \"center\", \"right\"];\n var _this$data$defaultApp = this.data.defaultAppearanceData,\n fontSize = _this$data$defaultApp.fontSize,\n fontColor = _this$data$defaultApp.fontColor;\n var style = element.style;\n\n if (fontSize) {\n style.fontSize = \"\".concat(fontSize, \"px\");\n }\n\n style.color = _util.Util.makeHexColor(fontColor[0], fontColor[1], fontColor[2]);\n\n if (this.data.textAlignment !== null) {\n style.textAlign = TEXT_ALIGNMENT[this.data.textAlignment];\n }\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, {\n isRenderable: parameters.renderInteractiveForms\n });\n }\n\n _createClass(CheckboxWidgetAnnotationElement, [{\n key: \"render\",\n value: function render() {\n var storage = this.annotationStorage;\n var data = this.data;\n var id = data.id;\n var value = storage.getOrCreateValue(id, {\n value: data.fieldValue && data.fieldValue !== \"Off\"\n }).value;\n this.container.className = \"buttonWidgetAnnotation checkBox\";\n var element = document.createElement(\"input\");\n element.disabled = data.readOnly;\n element.type = \"checkbox\";\n element.name = this.data.fieldName;\n\n if (value) {\n element.setAttribute(\"checked\", true);\n }\n\n element.setAttribute(\"id\", id);\n element.addEventListener(\"change\", function (event) {\n var name = event.target.name;\n\n var _iterator3 = _createForOfIteratorHelper(document.getElementsByName(name)),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var checkbox = _step3.value;\n\n if (checkbox !== event.target) {\n checkbox.checked = false;\n storage.setValue(checkbox.parentNode.getAttribute(\"data-annotation-id\"), {\n value: false\n });\n }\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n\n storage.setValue(id, {\n value: event.target.checked\n });\n });\n\n if (this.enableScripting && this.hasJSActions) {\n element.addEventListener(\"updatefromsandbox\", function (event) {\n var detail = event.detail;\n var actions = {\n value: function value() {\n event.target.checked = detail.value !== \"Off\";\n storage.setValue(id, {\n value: event.target.checked\n });\n },\n focus: function focus() {\n setTimeout(function () {\n return event.target.focus({\n preventScroll: false\n });\n }, 0);\n },\n hidden: function hidden() {\n event.target.style.visibility = detail.hidden ? \"hidden\" : \"visible\";\n storage.setValue(id, {\n hidden: detail.hidden\n });\n },\n editable: function editable() {\n event.target.disabled = !detail.editable;\n }\n };\n Object.keys(detail).filter(function (name) {\n return name in actions;\n }).forEach(function (name) {\n return actions[name]();\n });\n });\n\n this._setEventListeners(element, [[\"change\", \"Validate\"], [\"change\", \"Action\"], [\"focus\", \"Focus\"], [\"blur\", \"Blur\"], [\"mousedown\", \"Mouse Down\"], [\"mouseenter\", \"Mouse Enter\"], [\"mouseleave\", \"Mouse Exit\"], [\"mouseup\", \"Mouse Up\"]], function (event) {\n return event.target.checked;\n });\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, {\n isRenderable: parameters.renderInteractiveForms\n });\n }\n\n _createClass(RadioButtonWidgetAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"buttonWidgetAnnotation radioButton\";\n var storage = this.annotationStorage;\n var data = this.data;\n var id = data.id;\n var value = storage.getOrCreateValue(id, {\n value: data.fieldValue === data.buttonValue\n }).value;\n var element = document.createElement(\"input\");\n element.disabled = data.readOnly;\n element.type = \"radio\";\n element.name = data.fieldName;\n\n if (value) {\n element.setAttribute(\"checked\", true);\n }\n\n element.setAttribute(\"pdfButtonValue\", data.buttonValue);\n element.setAttribute(\"id\", id);\n element.addEventListener(\"change\", function (event) {\n var target = event.target;\n\n var _iterator4 = _createForOfIteratorHelper(document.getElementsByName(target.name)),\n _step4;\n\n try {\n for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n var radio = _step4.value;\n\n if (radio !== target) {\n storage.setValue(radio.getAttribute(\"id\"), {\n value: false\n });\n }\n }\n } catch (err) {\n _iterator4.e(err);\n } finally {\n _iterator4.f();\n }\n\n storage.setValue(id, {\n value: target.checked\n });\n });\n\n if (this.enableScripting && this.hasJSActions) {\n element.addEventListener(\"updatefromsandbox\", function (event) {\n var detail = event.detail;\n var actions = {\n value: function value() {\n var fieldValue = detail.value;\n\n var _iterator5 = _createForOfIteratorHelper(document.getElementsByName(event.target.name)),\n _step5;\n\n try {\n for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {\n var radio = _step5.value;\n var radioId = radio.getAttribute(\"id\");\n\n if (fieldValue === radio.getAttribute(\"pdfButtonValue\")) {\n radio.setAttribute(\"checked\", true);\n storage.setValue(radioId, {\n value: true\n });\n } else {\n storage.setValue(radioId, {\n value: false\n });\n }\n }\n } catch (err) {\n _iterator5.e(err);\n } finally {\n _iterator5.f();\n }\n },\n focus: function focus() {\n setTimeout(function () {\n return event.target.focus({\n preventScroll: false\n });\n }, 0);\n },\n hidden: function hidden() {\n event.target.style.visibility = detail.hidden ? \"hidden\" : \"visible\";\n storage.setValue(id, {\n hidden: detail.hidden\n });\n },\n editable: function editable() {\n event.target.disabled = !detail.editable;\n }\n };\n Object.keys(detail).filter(function (name) {\n return name in actions;\n }).forEach(function (name) {\n return actions[name]();\n });\n });\n\n this._setEventListeners(element, [[\"change\", \"Validate\"], [\"change\", \"Action\"], [\"focus\", \"Focus\"], [\"blur\", \"Blur\"], [\"mousedown\", \"Mouse Down\"], [\"mouseenter\", \"Mouse Enter\"], [\"mouseleave\", \"Mouse Exit\"], [\"mouseup\", \"Mouse Up\"]], function (event) {\n return event.target.checked;\n });\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\n if (this.data.alternativeText) {\n container.title = this.data.alternativeText;\n }\n\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, {\n isRenderable: parameters.renderInteractiveForms\n });\n }\n\n _createClass(ChoiceWidgetAnnotationElement, [{\n key: \"render\",\n value: function render() {\n var _this6 = this;\n\n this.container.className = \"choiceWidgetAnnotation\";\n var storage = this.annotationStorage;\n var id = this.data.id;\n storage.getOrCreateValue(id, {\n value: this.data.fieldValue.length > 0 ? this.data.fieldValue[0] : undefined\n });\n var selectElement = document.createElement(\"select\");\n selectElement.disabled = this.data.readOnly;\n selectElement.name = this.data.fieldName;\n selectElement.setAttribute(\"id\", id);\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 _iterator6 = _createForOfIteratorHelper(this.data.options),\n _step6;\n\n try {\n for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {\n var option = _step6.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.exportValue)) {\n optionElement.setAttribute(\"selected\", true);\n }\n\n selectElement.appendChild(optionElement);\n }\n } catch (err) {\n _iterator6.e(err);\n } finally {\n _iterator6.f();\n }\n\n function getValue(event) {\n var options = event.target.options;\n return options[options.selectedIndex].value;\n }\n\n if (this.enableScripting && this.hasJSActions) {\n selectElement.addEventListener(\"updatefromsandbox\", function (event) {\n var detail = event.detail;\n var actions = {\n value: function value() {\n var options = event.target.options;\n var value = detail.value;\n var i = options.indexOf(value);\n\n if (i !== -1) {\n options.selectedIndex = i;\n storage.setValue(id, {\n value: value\n });\n }\n },\n focus: function focus() {\n setTimeout(function () {\n return event.target.focus({\n preventScroll: false\n });\n }, 0);\n },\n hidden: function hidden() {\n event.target.style.visibility = detail.hidden ? \"hidden\" : \"visible\";\n storage.setValue(id, {\n hidden: detail.hidden\n });\n },\n editable: function editable() {\n event.target.disabled = !detail.editable;\n }\n };\n Object.keys(detail).filter(function (name) {\n return name in actions;\n }).forEach(function (name) {\n return actions[name]();\n });\n });\n selectElement.addEventListener(\"input\", function (event) {\n var _this6$linkService$ev;\n\n var value = getValue(event);\n storage.setValue(id, {\n value: value\n });\n (_this6$linkService$ev = _this6.linkService.eventBus) === null || _this6$linkService$ev === void 0 ? void 0 : _this6$linkService$ev.dispatch(\"dispatcheventinsandbox\", {\n source: _this6,\n detail: {\n id: id,\n name: \"Keystroke\",\n changeEx: value,\n willCommit: true,\n commitKey: 1,\n keyDown: false\n }\n });\n });\n\n this._setEventListeners(selectElement, [[\"focus\", \"Focus\"], [\"blur\", \"Blur\"], [\"mousedown\", \"Mouse Down\"], [\"mouseenter\", \"Mouse Enter\"], [\"mouseleave\", \"Mouse Exit\"], [\"mouseup\", \"Mouse Up\"]], function (event) {\n return event.target.checked;\n });\n } else {\n selectElement.addEventListener(\"input\", function (event) {\n storage.setValue(id, {\n value: getValue(event)\n });\n });\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, {\n isRenderable: isRenderable\n });\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 parentElements = this.layer.querySelectorAll(selector);\n\n if (parentElements.length === 0) {\n return this.container;\n }\n\n var popup = new PopupElement({\n container: this.container,\n trigger: Array.from(parentElements),\n color: this.data.color,\n title: this.data.title,\n modificationDate: this.data.modificationDate,\n contents: this.data.contents\n });\n var page = this.page;\n\n var rect = _util.Util.normalizeRect([this.data.parentRect[0], page.view[3] - this.data.parentRect[1] + page.view[1], this.data.parentRect[2], page.view[3] - this.data.parentRect[3] + page.view[1]]);\n\n var popupLeft = rect[0] + this.data.parentRect[2] - this.data.parentRect[0];\n var popupTop = rect[1];\n this.container.style.transformOrigin = \"\".concat(-popupLeft, \"px \").concat(-popupTop, \"px\");\n this.container.style.left = \"\".concat(popupLeft, \"px\");\n this.container.style.top = \"\".concat(popupTop, \"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 _this7 = this;\n\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.makeHexColor(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\n if (!Array.isArray(this.trigger)) {\n this.trigger = [this.trigger];\n }\n\n this.trigger.forEach(function (element) {\n element.addEventListener(\"click\", _this7._toggle.bind(_this7));\n element.addEventListener(\"mouseover\", _this7._show.bind(_this7, false));\n element.addEventListener(\"mouseout\", _this7._hide.bind(_this7, false));\n });\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, {\n isRenderable: isRenderable,\n ignoreBorder: true\n });\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(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, {\n isRenderable: isRenderable,\n ignoreBorder: true\n });\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(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, {\n isRenderable: isRenderable,\n ignoreBorder: true\n });\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(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, {\n isRenderable: isRenderable,\n ignoreBorder: true\n });\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(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 _this8;\n\n _classCallCheck(this, PolylineAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n _this8 = _super14.call(this, parameters, {\n isRenderable: isRenderable,\n ignoreBorder: true\n });\n _this8.containerClassName = \"polylineAnnotation\";\n _this8.svgElementName = \"svg:polyline\";\n return _this8;\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 _iterator7 = _createForOfIteratorHelper(data.vertices),\n _step7;\n\n try {\n for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {\n var coordinate = _step7.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 _iterator7.e(err);\n } finally {\n _iterator7.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(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 _this9;\n\n _classCallCheck(this, PolygonAnnotationElement);\n\n _this9 = _super15.call(this, parameters);\n _this9.containerClassName = \"polygonAnnotation\";\n _this9.svgElementName = \"svg:polygon\";\n return _this9;\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, {\n isRenderable: isRenderable,\n ignoreBorder: true\n });\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(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 _this10;\n\n _classCallCheck(this, InkAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n _this10 = _super17.call(this, parameters, {\n isRenderable: isRenderable,\n ignoreBorder: true\n });\n _this10.containerClassName = \"inkAnnotation\";\n _this10.svgElementName = \"svg:polyline\";\n return _this10;\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 _iterator8 = _createForOfIteratorHelper(data.inkLists),\n _step8;\n\n try {\n for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {\n var inkList = _step8.value;\n var points = [];\n\n var _iterator9 = _createForOfIteratorHelper(inkList),\n _step9;\n\n try {\n for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) {\n var coordinate = _step9.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 _iterator9.e(err);\n } finally {\n _iterator9.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(polyline, data);\n\n svg.appendChild(polyline);\n }\n } catch (err) {\n _iterator8.e(err);\n } finally {\n _iterator8.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, {\n isRenderable: isRenderable,\n ignoreBorder: true,\n createQuadrilaterals: true\n });\n }\n\n _createClass(HighlightAnnotationElement, [{\n key: \"render\",\n value: function render() {\n if (!this.data.hasPopup) {\n this._createPopup(null, this.data);\n }\n\n if (this.quadrilaterals) {\n return this._renderQuadrilaterals(\"highlightAnnotation\");\n }\n\n this.container.className = \"highlightAnnotation\";\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, {\n isRenderable: isRenderable,\n ignoreBorder: true,\n createQuadrilaterals: true\n });\n }\n\n _createClass(UnderlineAnnotationElement, [{\n key: \"render\",\n value: function render() {\n if (!this.data.hasPopup) {\n this._createPopup(null, this.data);\n }\n\n if (this.quadrilaterals) {\n return this._renderQuadrilaterals(\"underlineAnnotation\");\n }\n\n this.container.className = \"underlineAnnotation\";\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, {\n isRenderable: isRenderable,\n ignoreBorder: true,\n createQuadrilaterals: true\n });\n }\n\n _createClass(SquigglyAnnotationElement, [{\n key: \"render\",\n value: function render() {\n if (!this.data.hasPopup) {\n this._createPopup(null, this.data);\n }\n\n if (this.quadrilaterals) {\n return this._renderQuadrilaterals(\"squigglyAnnotation\");\n }\n\n this.container.className = \"squigglyAnnotation\";\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, {\n isRenderable: isRenderable,\n ignoreBorder: true,\n createQuadrilaterals: true\n });\n }\n\n _createClass(StrikeOutAnnotationElement, [{\n key: \"render\",\n value: function render() {\n if (!this.data.hasPopup) {\n this._createPopup(null, this.data);\n }\n\n if (this.quadrilaterals) {\n return this._renderQuadrilaterals(\"strikeoutAnnotation\");\n }\n\n this.container.className = \"strikeoutAnnotation\";\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, {\n isRenderable: isRenderable,\n ignoreBorder: true\n });\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(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 _this11$linkService$e;\n\n var _this11;\n\n _classCallCheck(this, FileAttachmentAnnotationElement);\n\n _this11 = _super23.call(this, parameters, {\n isRenderable: true\n });\n var _this11$data$file = _this11.data.file,\n filename = _this11$data$file.filename,\n content = _this11$data$file.content;\n _this11.filename = (0, _display_utils.getFilenameFromUrl)(filename);\n _this11.content = content;\n (_this11$linkService$e = _this11.linkService.eventBus) === null || _this11$linkService$e === void 0 ? void 0 : _this11$linkService$e.dispatch(\"fileattachmentannotation\", {\n source: _assertThisInitialized(_this11),\n id: (0, _util.stringToPDFString)(filename),\n filename: filename,\n content: content\n });\n return _this11;\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(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 _iterator10 = _createForOfIteratorHelper(parameters.annotations),\n _step10;\n\n try {\n for (_iterator10.s(); !(_step10 = _iterator10.n()).done;) {\n var _data = _step10.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 _iterator10.e(err);\n } finally {\n _iterator10.f();\n }\n\n if (popupAnnotations.length) {\n sortedAnnotations.push.apply(sortedAnnotations, popupAnnotations);\n }\n\n for (var _i2 = 0, _sortedAnnotations = sortedAnnotations; _i2 < _sortedAnnotations.length; _i2++) {\n var data = _sortedAnnotations[_i2];\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: typeof parameters.renderInteractiveForms === \"boolean\" ? parameters.renderInteractiveForms : true,\n svgFactory: new _display_utils.DOMSVGFactory(),\n annotationStorage: parameters.annotationStorage || new _annotation_storage.AnnotationStorage(),\n enableScripting: parameters.enableScripting,\n hasJSActions: parameters.hasJSActions,\n mouseState: parameters.mouseState || {\n isDown: false\n }\n });\n\n if (element.isRenderable) {\n var rendered = element.render();\n\n if (data.hidden) {\n rendered.style.visibility = \"hidden\";\n }\n\n if (Array.isArray(rendered)) {\n var _iterator11 = _createForOfIteratorHelper(rendered),\n _step11;\n\n try {\n for (_iterator11.s(); !(_step11 = _iterator11.n()).done;) {\n var renderedElement = _step11.value;\n parameters.div.appendChild(renderedElement);\n }\n } catch (err) {\n _iterator11.e(err);\n } finally {\n _iterator11.f();\n }\n } else {\n if (element instanceof PopupAnnotationElement) {\n parameters.div.prepend(rendered);\n } else {\n parameters.div.appendChild(rendered);\n }\n }\n }\n }\n }\n }, {\n key: \"update\",\n value: function update(parameters) {\n var transform = \"matrix(\".concat(parameters.viewport.transform.join(\",\"), \")\");\n\n var _iterator12 = _createForOfIteratorHelper(parameters.annotations),\n _step12;\n\n try {\n for (_iterator12.s(); !(_step12 = _iterator12.n()).done;) {\n var data = _step12.value;\n var elements = parameters.div.querySelectorAll(\"[data-annotation-id=\\\"\".concat(data.id, \"\\\"]\"));\n\n if (elements) {\n elements.forEach(function (element) {\n element.style.transform = transform;\n });\n }\n }\n } catch (err) {\n _iterator12.e(err);\n } finally {\n _iterator12.f();\n }\n\n parameters.div.removeAttribute(\"hidden\");\n }\n }]);\n\n return AnnotationLayer;\n}();\n\nexports.AnnotationLayer = AnnotationLayer;\n\n/***/ }),\n/* 150 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.ColorConverters = void 0;\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\nfunction makeColorComp(n) {\n return Math.floor(Math.max(0, Math.min(1, n)) * 255).toString(16).padStart(2, \"0\");\n}\n\nvar ColorConverters = /*#__PURE__*/function () {\n function ColorConverters() {\n _classCallCheck(this, ColorConverters);\n }\n\n _createClass(ColorConverters, null, [{\n key: \"CMYK_G\",\n value: function CMYK_G(_ref) {\n var _ref2 = _slicedToArray(_ref, 4),\n c = _ref2[0],\n y = _ref2[1],\n m = _ref2[2],\n k = _ref2[3];\n\n return [\"G\", 1 - Math.min(1, 0.3 * c + 0.59 * m + 0.11 * y + k)];\n }\n }, {\n key: \"G_CMYK\",\n value: function G_CMYK(_ref3) {\n var _ref4 = _slicedToArray(_ref3, 1),\n g = _ref4[0];\n\n return [\"CMYK\", 0, 0, 0, 1 - g];\n }\n }, {\n key: \"G_RGB\",\n value: function G_RGB(_ref5) {\n var _ref6 = _slicedToArray(_ref5, 1),\n g = _ref6[0];\n\n return [\"RGB\", g, g, g];\n }\n }, {\n key: \"G_HTML\",\n value: function G_HTML(_ref7) {\n var _ref8 = _slicedToArray(_ref7, 1),\n g = _ref8[0];\n\n var G = makeColorComp(g);\n return \"#\".concat(G).concat(G).concat(G);\n }\n }, {\n key: \"RGB_G\",\n value: function RGB_G(_ref9) {\n var _ref10 = _slicedToArray(_ref9, 3),\n r = _ref10[0],\n g = _ref10[1],\n b = _ref10[2];\n\n return [\"G\", 0.3 * r + 0.59 * g + 0.11 * b];\n }\n }, {\n key: \"RGB_HTML\",\n value: function RGB_HTML(_ref11) {\n var _ref12 = _slicedToArray(_ref11, 3),\n r = _ref12[0],\n g = _ref12[1],\n b = _ref12[2];\n\n var R = makeColorComp(r);\n var G = makeColorComp(g);\n var B = makeColorComp(b);\n return \"#\".concat(R).concat(G).concat(B);\n }\n }, {\n key: \"T_HTML\",\n value: function T_HTML() {\n return \"#00000000\";\n }\n }, {\n key: \"CMYK_RGB\",\n value: function CMYK_RGB(_ref13) {\n var _ref14 = _slicedToArray(_ref13, 4),\n c = _ref14[0],\n y = _ref14[1],\n m = _ref14[2],\n k = _ref14[3];\n\n return [\"RGB\", 1 - Math.min(1, c + k), 1 - Math.min(1, m + k), 1 - Math.min(1, y + k)];\n }\n }, {\n key: \"CMYK_HTML\",\n value: function CMYK_HTML(components) {\n return this.RGB_HTML(this.CMYK_RGB(components));\n }\n }, {\n key: \"RGB_CMYK\",\n value: function RGB_CMYK(_ref15) {\n var _ref16 = _slicedToArray(_ref15, 3),\n r = _ref16[0],\n g = _ref16[1],\n b = _ref16[2];\n\n var c = 1 - r;\n var m = 1 - g;\n var y = 1 - b;\n var k = Math.min(c, m, y);\n return [\"CMYK\", c, m, y, k];\n }\n }]);\n\n return ColorConverters;\n}();\n\nexports.ColorConverters = ColorConverters;\n\n/***/ }),\n/* 151 */\n/***/ ((__unused_webpack_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__(4);\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 var _loop = function _loop(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 return \"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 for (var i = 0; i < expanded.length; i++) {\n var _ret = _loop(i);\n\n if (_ret === \"continue\") continue;\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 = void 0;\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 var 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 _globalThis$FontInspe,\n _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._document = container.ownerDocument;\n this._viewport = viewport;\n this._textDivs = textDivs || [];\n this._textContentItemsStr = textContentItemsStr || [];\n this._enhanceTextSelection = !!enhanceTextSelection;\n this._fontInspectorEnabled = !!((_globalThis$FontInspe = globalThis.FontInspector) !== null && _globalThis$FontInspe !== void 0 && _globalThis$FontInspe.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\n var canvas = this._document.createElement(\"canvas\");\n\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/* 152 */\n/***/ ((__unused_webpack_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__(4);\n\nvar _display_utils = __w_pdfjs_require__(1);\n\nvar _is_node = __w_pdfjs_require__(6);\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 || _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$txtElement;\n\n var current = this.current;\n\n if (current.textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG && (_current$txtElement = current.txtElement) !== null && _current$txtElement !== void 0 && _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.makeHexColor(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.makeHexColor(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.makeHexColor.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 = objId.startsWith(\"g_\") ? this.commonObjs.get(objId) : 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/* 153 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\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\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__(4);\n\nvar _network_utils = __w_pdfjs_require__(154);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": 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 var _this$_fullRequestRea, _this$_fullRequestRea2;\n\n return (_this$_fullRequestRea = (_this$_fullRequestRea2 = this._fullRequestReader) === null || _this$_fullRequestRea2 === void 0 ? void 0 : _this$_fullRequestRea2._loaded) !== null && _this$_fullRequestRea !== void 0 ? _this$_fullRequestRea : 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/* 154 */\n/***/ ((__unused_webpack_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__(4);\n\nvar _content_disposition = __w_pdfjs_require__(155);\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/* 155 */\n/***/ ((__unused_webpack_module, exports) => {\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/* 156 */\n/***/ ((__unused_webpack_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__(4);\n\nvar _network_utils = __w_pdfjs_require__(154);\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: \"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: \"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/* 157 */\n/***/ ((__unused_webpack_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__(4);\n\nvar _network_utils = __w_pdfjs_require__(154);\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 === null || abortController === void 0 ? void 0 : 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 var _this$_fullRequestRea, _this$_fullRequestRea2;\n\n return (_this$_fullRequestRea = (_this$_fullRequestRea2 = this._fullRequestReader) === null || _this$_fullRequestRea2 === void 0 ? void 0 : _this$_fullRequestRea2._loaded) !== null && _this$_fullRequestRea !== void 0 ? _this$_fullRequestRea : 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 })[\"catch\"](function (reason) {\n if ((reason === null || reason === void 0 ? void 0 : reason.name) === \"AbortError\") {\n return;\n }\n\n throw reason;\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/******/ \t]);\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __w_pdfjs_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(__webpack_module_cache__[moduleId]) {\n/******/ \t\t\treturn __webpack_module_cache__[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __w_pdfjs_require__);\n/******/ \t\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\n/******/ \t/* webpack/runtime/node module decorator */\n/******/ \t(() => {\n/******/ \t\t__w_pdfjs_require__.nmd = (module) => {\n/******/ \t\t\tmodule.paths = [];\n/******/ \t\t\tif (!module.children) module.children = [];\n/******/ \t\t\treturn module;\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/************************************************************************/\n/******/ \t// module exports must be returned from runtime so entry inlining is disabled\n/******/ \t// startup\n/******/ \t// Load entry module and return exports\n/******/ \treturn __w_pdfjs_require__(0);\n/******/ })()\n;\n});\n//# sourceMappingURL=pdf.js.map","/*! 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","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavBar.vue?vue&type=style&index=0&id=05c4e7a8&scoped=true&lang=css&\"","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","/*!\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 /******/ (() => { // webpackBootstrap\n/******/ \t\"use strict\";\n/******/ \tvar __webpack_modules__ = ([\n/* 0 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\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__(7);\n\nvar _ui_utils = __w_pdfjs_require__(3);\n\nvar _pdf_link_service = __w_pdfjs_require__(6);\n\nvar _download_manager = __w_pdfjs_require__(8);\n\nvar _genericl10n = __w_pdfjs_require__(10);\n\nvar _pdf_find_controller = __w_pdfjs_require__(12);\n\nvar _pdf_history = __w_pdfjs_require__(14);\n\nvar _pdf_page_view = __w_pdfjs_require__(15);\n\nvar _pdf_single_page_viewer = __w_pdfjs_require__(17);\n\nvar _pdf_viewer = __w_pdfjs_require__(19);\n\nvar pdfjsVersion = '2.7.570';\nvar pdfjsBuild = 'f2c7338b0';\n\n/***/ }),\n/* 1 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\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__(6);\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 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$annotationStorag = _ref.annotationStorage,\n annotationStorage = _ref$annotationStorag === void 0 ? null : _ref$annotationStorag,\n _ref$imageResourcesPa = _ref.imageResourcesPath,\n imageResourcesPath = _ref$imageResourcesPa === void 0 ? \"\" : _ref$imageResourcesPa,\n _ref$renderInteractiv = _ref.renderInteractiveForms,\n renderInteractiveForms = _ref$renderInteractiv === void 0 ? true : _ref$renderInteractiv,\n _ref$l10n = _ref.l10n,\n l10n = _ref$l10n === void 0 ? _ui_utils.NullL10n : _ref$l10n,\n _ref$enableScripting = _ref.enableScripting,\n enableScripting = _ref$enableScripting === void 0 ? false : _ref$enableScripting,\n _ref$hasJSActionsProm = _ref.hasJSActionsPromise,\n hasJSActionsPromise = _ref$hasJSActionsProm === void 0 ? null : _ref$hasJSActionsProm,\n _ref$mouseState = _ref.mouseState,\n mouseState = _ref$mouseState === void 0 ? null : _ref$mouseState;\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.annotationStorage = annotationStorage;\n this.enableScripting = enableScripting;\n this._hasJSActionsPromise = hasJSActionsPromise;\n this._mouseState = mouseState;\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 return Promise.all([this.pdfPage.getAnnotations({\n intent: intent\n }), this._hasJSActionsPromise]).then(function (_ref2) {\n var _ref3 = _slicedToArray(_ref2, 2),\n annotations = _ref3[0],\n _ref3$ = _ref3[1],\n hasJSActions = _ref3$ === void 0 ? false : _ref3$;\n\n if (_this._cancelled) {\n return;\n }\n\n if (annotations.length === 0) {\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 annotationStorage: _this.annotationStorage,\n enableScripting: _this.enableScripting,\n hasJSActions: hasJSActions,\n mouseState: _this._mouseState\n };\n\n if (_this.div) {\n _pdfjsLib.AnnotationLayer.update(parameters);\n } else {\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 annotationStorage = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n var imageResourcesPath = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : \"\";\n var renderInteractiveForms = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : true;\n var l10n = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : _ui_utils.NullL10n;\n var enableScripting = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : false;\n var hasJSActionsPromise = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : null;\n var mouseState = arguments.length > 8 && arguments[8] !== undefined ? arguments[8] : null;\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 annotationStorage: annotationStorage,\n enableScripting: enableScripting,\n hasJSActionsPromise: hasJSActionsPromise,\n mouseState: mouseState\n });\n }\n }]);\n\n return DefaultAnnotationLayerFactory;\n}();\n\nexports.DefaultAnnotationLayerFactory = DefaultAnnotationLayerFactory;\n\n/***/ }),\n/* 2 */\n/***/ ((module) => {\n\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/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.approximateFraction = approximateFraction;\nexports.backtrackBeforeAllVisibleElements = backtrackBeforeAllVisibleElements;\nexports.binarySearchFirstItem = binarySearchFirstItem;\nexports.getActiveOrFocusedElement = getActiveOrFocusedElement;\nexports.getOutputScale = getOutputScale;\nexports.getPageSizeInches = getPageSizeInches;\nexports.getPDFFileNameFromURL = getPDFFileNameFromURL;\nexports.getVisibleElements = getVisibleElements;\nexports.isPortraitOrientation = isPortraitOrientation;\nexports.isValidRotation = isValidRotation;\nexports.isValidScrollMode = isValidScrollMode;\nexports.isValidSpreadMode = isValidSpreadMode;\nexports.moveToEndOfArray = moveToEndOfArray;\nexports.noContextMenuHandler = noContextMenuHandler;\nexports.normalizeWheelEventDelta = normalizeWheelEventDelta;\nexports.normalizeWheelEventDirection = normalizeWheelEventDirection;\nexports.parseQueryString = parseQueryString;\nexports.roundToDivide = roundToDivide;\nexports.scrollIntoView = scrollIntoView;\nexports.waitOnEventOrTimeout = waitOnEventOrTimeout;\nexports.watchScroll = watchScroll;\nexports.WaitOnType = exports.VERTICAL_PADDING = exports.UNKNOWN_SCALE = exports.TextLayerMode = exports.SpreadMode = exports.SidebarView = exports.ScrollMode = exports.SCROLLBAR_PADDING = exports.RendererType = exports.ProgressBar = exports.PresentationModeState = exports.NullL10n = exports.MIN_SCALE = exports.MAX_SCALE = exports.MAX_AUTO_SCALE = exports.EventBus = exports.DEFAULT_SCALE_VALUE = exports.DEFAULT_SCALE = exports.CSS_UNITS = exports.AutoPrintRegExp = exports.animationStarted = 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 LOADINGBAR_END_OFFSET_VAR = \"--loadingBar-end-offset\";\nvar PresentationModeState = {\n UNKNOWN: 0,\n NORMAL: 1,\n CHANGING: 2,\n FULLSCREEN: 3\n};\nexports.PresentationModeState = PresentationModeState;\nvar SidebarView = {\n UNKNOWN: -1,\n NONE: 0,\n THUMBS: 1,\n OUTLINE: 2,\n ATTACHMENTS: 3,\n LAYERS: 4\n};\nexports.SidebarView = SidebarView;\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.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(_ref2) {\n var scrollEl = _ref2.scrollEl,\n views = _ref2.views,\n _ref2$sortByVisibilit = _ref2.sortByVisibility,\n sortByVisibility = _ref2$sortByVisibilit === void 0 ? false : _ref2$sortByVisibilit,\n _ref2$horizontal = _ref2.horizontal,\n horizontal = _ref2$horizontal === void 0 ? false : _ref2$horizontal,\n _ref2$rtl = _ref2.rtl,\n rtl = _ref2$rtl === void 0 ? false : _ref2$rtl;\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 isElementNextAfterViewHorizontally(view) {\n var element = view.div;\n var elementLeft = element.offsetLeft + element.clientLeft;\n var elementRight = elementLeft + element.clientWidth;\n return rtl ? elementLeft < right : elementRight > left;\n }\n\n var visible = [],\n numViews = views.length;\n var firstVisibleElementInd = binarySearchFirstItem(views, horizontal ? isElementNextAfterViewHorizontally : 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 fractionHeight = (viewHeight - hiddenHeight) / viewHeight,\n fractionWidth = (viewWidth - hiddenWidth) / viewWidth;\n var percent = fractionHeight * fractionWidth * 100 | 0;\n visible.push({\n id: view.id,\n x: currentWidth,\n y: currentHeight,\n view: view,\n percent: percent,\n widthPercent: fractionWidth * 100 | 0\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 normalizeWheelEventDirection(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 return delta;\n}\n\nfunction normalizeWheelEventDelta(evt) {\n var delta = normalizeWheelEventDirection(evt);\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(_ref3) {\n var target = _ref3.target,\n name = _ref3.name,\n _ref3$delay = _ref3.delay,\n delay = _ref3$delay === void 0 ? 0 : _ref3$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 var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n\n this._on(eventName, listener, {\n external: true,\n once: options === null || options === void 0 ? void 0 : options.once\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\n this._off(eventName, listener, {\n external: true,\n once: options === null || options === void 0 ? void 0 : options.once\n });\n }\n }, {\n key: \"dispatch\",\n value: function dispatch(eventName) {\n var _this = this;\n\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 (_ref4) {\n var listener = _ref4.listener,\n external = _ref4.external,\n once = _ref4.once;\n\n if (once) {\n _this._off(eventName, listener);\n }\n\n if (external) {\n (externalListeners || (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 _this$_listeners;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n var eventListeners = (_this$_listeners = this._listeners)[eventName] || (_this$_listeners[eventName] = []);\n eventListeners.push({\n listener: listener,\n external: (options === null || options === void 0 ? void 0 : options.external) === true,\n once: (options === null || options === void 0 ? void 0 : options.once) === 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 _ref5 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n height = _ref5.height,\n width = _ref5.width,\n units = _ref5.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 var doc = document.documentElement;\n doc.style.setProperty(LOADINGBAR_END_OFFSET_VAR, \"\".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 }\n }, {\n key: \"show\",\n value: function show() {\n if (this.visible) {\n return;\n }\n\n this.visible = true;\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\nfunction getActiveOrFocusedElement() {\n var curRoot = document;\n var curActiveOrFocused = curRoot.activeElement || curRoot.querySelector(\":focus\");\n\n while (curActiveOrFocused && curActiveOrFocused.shadowRoot) {\n curRoot = curActiveOrFocused.shadowRoot;\n curActiveOrFocused = curRoot.activeElement || curRoot.querySelector(\":focus\");\n }\n\n return curActiveOrFocused;\n}\n\n/***/ }),\n/* 4 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n\n\nmodule.exports = __w_pdfjs_require__(5);\n\n/***/ }),\n/* 5 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n/* module decorator */ module = __w_pdfjs_require__.nmd(module);\n\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 define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n\n try {\n define({}, \"\");\n } catch (err) {\n define = function define(obj, key, value) {\n return obj[key] = value;\n };\n }\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 GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, \"GeneratorFunction\");\n\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function (method) {\n define(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 define(genFun, toStringTagSymbol, \"GeneratorFunction\");\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 define(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 ? 0 : _typeof(module)) === \"object\" ? module.exports : {});\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n\n/***/ }),\n/* 6 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.SimpleLinkService = exports.PDFLinkService = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(4));\n\nvar _ui_utils = __w_pdfjs_require__(3);\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 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 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 console.error(\"Deprecated method: `navigateTo`, use `goToDestination` instead.\");\n this.goToDestination(dest);\n }\n }, {\n key: \"_goToDestinationHelper\",\n value: function _goToDestinationHelper(rawDest) {\n var _this = this;\n\n var namedDest = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var explicitDest = arguments.length > 2 ? arguments[2] : undefined;\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 _this._goToDestinationHelper(rawDest, namedDest, explicitDest);\n })[\"catch\"](function () {\n console.error(\"PDFLinkService._goToDestinationHelper: \\\"\".concat(destRef, \"\\\" is not \") + \"a valid page reference, for dest=\\\"\".concat(rawDest, \"\\\".\"));\n });\n return;\n }\n } else if (Number.isInteger(destRef)) {\n pageNumber = destRef + 1;\n } else {\n console.error(\"PDFLinkService._goToDestinationHelper: \\\"\".concat(destRef, \"\\\" is not \") + \"a valid destination reference, for dest=\\\"\".concat(rawDest, \"\\\".\"));\n return;\n }\n\n if (!pageNumber || pageNumber < 1 || pageNumber > this.pagesCount) {\n console.error(\"PDFLinkService._goToDestinationHelper: \\\"\".concat(pageNumber, \"\\\" is not \") + \"a valid page number, for dest=\\\"\".concat(rawDest, \"\\\".\"));\n return;\n }\n\n if (this.pdfHistory) {\n this.pdfHistory.pushCurrentPosition();\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 key: \"goToDestination\",\n value: function () {\n var _goToDestination = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee(dest) {\n var namedDest, explicitDest;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (this.pdfDocument) {\n _context.next = 2;\n break;\n }\n\n return _context.abrupt(\"return\");\n\n case 2:\n if (!(typeof dest === \"string\")) {\n _context.next = 9;\n break;\n }\n\n namedDest = dest;\n _context.next = 6;\n return this.pdfDocument.getDestination(dest);\n\n case 6:\n explicitDest = _context.sent;\n _context.next = 13;\n break;\n\n case 9:\n namedDest = null;\n _context.next = 12;\n return dest;\n\n case 12:\n explicitDest = _context.sent;\n\n case 13:\n if (Array.isArray(explicitDest)) {\n _context.next = 16;\n break;\n }\n\n console.error(\"PDFLinkService.goToDestination: \\\"\".concat(explicitDest, \"\\\" is not \") + \"a valid destination array, for dest=\\\"\".concat(dest, \"\\\".\"));\n return _context.abrupt(\"return\");\n\n case 16:\n this._goToDestinationHelper(dest, namedDest, explicitDest);\n\n case 17:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function goToDestination(_x) {\n return _goToDestination.apply(this, arguments);\n }\n\n return goToDestination;\n }()\n }, {\n key: \"goToPage\",\n value: function goToPage(val) {\n if (!this.pdfDocument) {\n return;\n }\n\n var pageNumber = typeof val === \"string\" && this.pdfViewer.pageLabelToPageNumber(val) || val | 0;\n\n if (!(Number.isInteger(pageNumber) && pageNumber > 0 && pageNumber <= this.pagesCount)) {\n console.error(\"PDFLinkService.goToPage: \\\"\".concat(val, \"\\\" is not a valid page.\"));\n return;\n }\n\n if (this.pdfHistory) {\n this.pdfHistory.pushCurrentPosition();\n this.pdfHistory.pushPage(pageNumber);\n }\n\n this.pdfViewer.scrollPageIntoView({\n pageNumber: pageNumber\n });\n }\n }, {\n key: \"getDestinationHash\",\n value: function getDestinationHash(dest) {\n if (typeof dest === \"string\") {\n if (dest.length > 0) {\n return this.getAnchorUrl(\"#\" + escape(dest));\n }\n } else if (Array.isArray(dest)) {\n var str = JSON.stringify(dest);\n\n if (str.length > 0) {\n return this.getAnchorUrl(\"#\" + escape(str));\n }\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 if (!this.pdfDocument) {\n return;\n }\n\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.goToDestination(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.goToDestination(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 this.pdfViewer.nextPage();\n break;\n\n case \"PrevPage\":\n this.pdfViewer.previousPage();\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: \"isPageCached\",\n value: function isPageCached(pageNumber) {\n return this.pdfViewer.isPageCached(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: \"goToDestination\",\n value: function () {\n var _goToDestination2 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2(dest) {\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }));\n\n function goToDestination(_x2) {\n return _goToDestination2.apply(this, arguments);\n }\n\n return goToDestination;\n }()\n }, {\n key: \"goToPage\",\n value: function goToPage(val) {}\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: \"isPageCached\",\n value: function isPageCached(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/* 7 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.TextLayerBuilder = exports.DefaultTextLayerFactory = 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 textContentItemsStr = this.textContentItemsStr;\n var i = 0,\n iIndex = 0;\n var end = textContentItemsStr.length - 1;\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 matchIdx += matchesLength[m];\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/* 8 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\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__(9);\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 _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() {\n _classCallCheck(this, DownloadManager);\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 var blobUrl = (0, _pdfjsLib.createObjectURL)(data, contentType, _viewer_compatibility.viewerCompatibilityParams.disableCreateObjectURL);\n\n _download(blobUrl, filename);\n }\n }, {\n key: \"download\",\n value: function download(blob, url, filename) {\n var sourceEventType = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : \"download\";\n\n if (_viewer_compatibility.viewerCompatibilityParams.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/* 9 */\n/***/ ((__unused_webpack_module, exports) => {\n\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 isIOS = /\\b(iPad|iPhone|iPod)(?=;)/.test(userAgent) || platform === \"MacIntel\" && maxTouchPoints > 1;\n var isIOSChrome = /CriOS/.test(userAgent);\n\n (function checkOnBlobSupport() {\n if (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/* 10 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\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__(11);\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/* 11 */\n/***/ (() => {\n\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/* 12 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\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__(13);\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\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\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 var diffs = null;\n var normalizedText = text.replace(normalizationRegex, function (ch, index) {\n var normalizedCh = CHARACTERS_TO_NORMALIZE[ch],\n diff = normalizedCh.length - ch.length;\n\n if (diff !== 0) {\n (diffs || (diffs = [])).push([index, diff]);\n }\n\n return normalizedCh;\n });\n return [normalizedText, diffs];\n}\n\nfunction getOriginalIndex(matchIndex) {\n var diffs = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n if (!diffs) {\n return matchIndex;\n }\n\n var totalDiff = 0;\n\n var _iterator = _createForOfIteratorHelper(diffs),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var _step$value = _slicedToArray(_step.value, 2),\n index = _step$value[0],\n diff = _step$value[1];\n\n var currentIndex = index + totalDiff;\n\n if (currentIndex >= matchIndex) {\n break;\n }\n\n if (currentIndex + diff > matchIndex) {\n totalDiff += matchIndex - currentIndex;\n break;\n }\n\n totalDiff += diff;\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n return matchIndex - totalDiff;\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._pageDiffs = [];\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, pageDiffs, entireWord) {\n var matches = [],\n matchesLength = [];\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 var originalMatchIdx = getOriginalIndex(matchIdx, pageDiffs),\n matchEnd = matchIdx + queryLen - 1,\n originalQueryLen = getOriginalIndex(matchEnd, pageDiffs) - originalMatchIdx + 1;\n matches.push(originalMatchIdx);\n matchesLength.push(originalQueryLen);\n }\n\n this._pageMatches[pageIndex] = matches;\n this._pageMatchesLength[pageIndex] = matchesLength;\n }\n }, {\n key: \"_calculateWordMatch\",\n value: function _calculateWordMatch(query, pageIndex, pageContent, pageDiffs, 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 var originalMatchIdx = getOriginalIndex(matchIdx, pageDiffs),\n matchEnd = matchIdx + subqueryLen - 1,\n originalQueryLen = getOriginalIndex(matchEnd, pageDiffs) - originalMatchIdx + 1;\n matchesWithLength.push({\n match: originalMatchIdx,\n matchLength: originalQueryLen,\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 pageDiffs = this._pageDiffs[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, pageDiffs, entireWord);\n } else {\n this._calculateWordMatch(query, pageIndex, pageContent, pageDiffs, 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 var _normalize = normalize(strBuf.join(\"\"));\n\n var _normalize2 = _slicedToArray(_normalize, 2);\n\n _this2._pageContents[i] = _normalize2[0];\n _this2._pageDiffs[i] = _normalize2[1];\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 _this2._pageDiffs[i] = null;\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 rawQuery: this._state ? this._state.query : null\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\n var _normalize3 = normalize(this._state.query);\n\n var _normalize4 = _slicedToArray(_normalize3, 1);\n\n this._normalizedQuery = _normalize4[0];\n }\n\n return this._normalizedQuery;\n }\n }]);\n\n return PDFFindController;\n}();\n\nexports.PDFFindController = PDFFindController;\n\n/***/ }),\n/* 13 */\n/***/ ((__unused_webpack_module, exports) => {\n\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/* 14 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.isDestArraysEqual = isDestArraysEqual;\nexports.isDestHashesEqual = isDestHashesEqual;\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.state !== _ui_utils.PresentationModeState.NORMAL;\n });\n\n this.eventBus._on(\"pagesinit\", function () {\n _this._isPagesLoaded = false;\n\n _this.eventBus._on(\"pagesloaded\", function (evt) {\n _this._isPagesLoaded = !!evt.pagesCount;\n }, {\n once: true\n });\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 (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: \"pushPage\",\n value: function pushPage(pageNumber) {\n var _this$_destination,\n _this3 = this;\n\n if (!this._initialized) {\n return;\n }\n\n if (!(Number.isInteger(pageNumber) && pageNumber > 0 && pageNumber <= this.linkService.pagesCount)) {\n console.error(\"PDFHistory.pushPage: \\\"\".concat(pageNumber, \"\\\" is not a valid page number.\"));\n return;\n }\n\n if (((_this$_destination = this._destination) === null || _this$_destination === void 0 ? void 0 : _this$_destination.page) === pageNumber) {\n return;\n }\n\n if (this._popStateInProgress) {\n return;\n }\n\n this._pushOrReplaceState({\n hash: \"page=\".concat(pageNumber),\n page: pageNumber,\n rotation: this.linkService.rotation\n });\n\n if (!this._popStateInProgress) {\n this._popStateInProgress = true;\n Promise.resolve().then(function () {\n _this3._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 !== null && destination !== void 0 && 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 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 === null || perfEntry === void 0 ? void 0 : 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 !== null && destination !== void 0 && destination.temporary) {\n delete destination.temporary;\n }\n\n this._destination = destination;\n this._uid = uid;\n this._maxUid = Math.max(this._maxUid, 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 _this4 = 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 (!_this4._popStateInProgress) {\n _this4._tryPushCurrentPosition(true);\n }\n\n _this4._updateViewareaTimeout = null;\n }, UPDATE_VIEWAREA_TIMEOUT);\n }\n }\n }, {\n key: \"_popState\",\n value: function _popState(_ref5) {\n var _this5 = 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 _this5._blockHashChange--;\n });\n }\n\n var destination = state.destination;\n\n this._updateInternalState(destination, state.uid, true);\n\n if ((0, _ui_utils.isValidRotation)(destination.rotation)) {\n this.linkService.rotation = destination.rotation;\n }\n\n if (destination.dest) {\n this.linkService.goToDestination(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 _this5._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/* 15 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\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__(16);\n\nvar _viewer_compatibility = __w_pdfjs_require__(9);\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._optionalContentConfigPromise = options.optionalContentConfigPromise || null;\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 = typeof options.renderInteractiveForms === \"boolean\" ? options.renderInteractiveForms : true;\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.enableScripting = options.enableScripting || false;\n this.paintTask = null;\n this.paintedViewportMap = new WeakMap();\n this.renderingState = _pdf_rendering_queue.RenderingStates.INITIAL;\n this.resume = null;\n this._renderError = 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.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: \"_renderAnnotationLayer\",\n value: function () {\n var _renderAnnotationLayer2 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee() {\n var error;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n error = null;\n _context.prev = 1;\n _context.next = 4;\n return this.annotationLayer.render(this.viewport, \"display\");\n\n case 4:\n _context.next = 9;\n break;\n\n case 6:\n _context.prev = 6;\n _context.t0 = _context[\"catch\"](1);\n error = _context.t0;\n\n case 9:\n _context.prev = 9;\n this.eventBus.dispatch(\"annotationlayerrendered\", {\n source: this,\n pageNumber: this.id,\n error: error\n });\n return _context.finish(9);\n\n case 12:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this, [[1, 6, 9, 12]]);\n }));\n\n function _renderAnnotationLayer() {\n return _renderAnnotationLayer2.apply(this, arguments);\n }\n\n return _renderAnnotationLayer;\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 var optionalContentConfigPromise = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n this.scale = scale || this.scale;\n\n if (typeof rotation !== \"undefined\") {\n this.rotation = rotation;\n }\n\n if (optionalContentConfigPromise instanceof Promise) {\n this._optionalContentConfigPromise = optionalContentConfigPromise;\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 error: this._renderError\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 error: this._renderError\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 target.style.transform = \"rotate(\".concat(relativeRotation, \"deg) scale(\").concat(scaleX, \", \").concat(scaleY, \")\");\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(\".concat(textAbsRotation, \"deg) \") + \"scale(\".concat(scale, \") \") + \"translate(\".concat(transX, \", \").concat(transY, \")\");\n textLayerDiv.style.transformOrigin = \"0% 0%\";\n }\n\n if (redrawAnnotations && this.annotationLayer) {\n this._renderAnnotationLayer();\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 _callee2() {\n var error,\n _args2 = arguments;\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n error = _args2.length > 0 && _args2[0] !== undefined ? _args2[0] : null;\n\n if (paintTask === _this.paintTask) {\n _this.paintTask = null;\n }\n\n if (!(error instanceof _pdfjsLib.RenderingCancelledException)) {\n _context2.next = 5;\n break;\n }\n\n _this._renderError = null;\n return _context2.abrupt(\"return\");\n\n case 5:\n _this._renderError = error;\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.eventBus.dispatch(\"pagerendered\", {\n source: _this,\n pageNumber: _this.id,\n cssTransform: false,\n timestamp: performance.now(),\n error: _this._renderError\n });\n\n if (!error) {\n _context2.next = 12;\n break;\n }\n\n throw error;\n\n case 12:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }));\n\n return function finishPaintTask() {\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, null, this.imageResourcesPath, this.renderInteractiveForms, this.l10n, this.enableScripting, null, null);\n }\n\n this._renderAnnotationLayer();\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 optionalContentConfigPromise: this._optionalContentConfigPromise\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/* 16 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.RenderingStates = exports.PDFRenderingQueue = 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 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 if (reason instanceof _pdfjsLib.RenderingCancelledException) {\n return;\n }\n\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/* 17 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\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\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.PDFSinglePageViewer = void 0;\n\nvar _base_viewer = __w_pdfjs_require__(18);\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\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: \"_getPageAdvance\",\n value: function _getPageAdvance() {\n return 1;\n }\n }, {\n key: \"_viewerElement\",\n get: function get() {\n return (0, _pdfjsLib.shadow)(this, \"_viewerElement\", this._shadowViewer);\n }\n }, {\n key: \"_pageWidthScaleFactor\",\n get: function get() {\n return 1;\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/* 18 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.BaseViewer = void 0;\n\nvar _pdfjsLib = __w_pdfjs_require__(2);\n\nvar _ui_utils = __w_pdfjs_require__(3);\n\nvar _pdf_rendering_queue = __w_pdfjs_require__(16);\n\nvar _annotation_layer_builder = __w_pdfjs_require__(1);\n\nvar _pdf_page_view = __w_pdfjs_require__(15);\n\nvar _pdf_link_service = __w_pdfjs_require__(6);\n\nvar _text_layer_builder = __w_pdfjs_require__(7);\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 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 this.has = function (view) {\n return data.includes(view);\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$container,\n _this$viewer,\n _this = this;\n\n _classCallCheck(this, BaseViewer);\n\n if (this.constructor === BaseViewer) {\n throw new Error(\"Cannot initialize BaseViewer.\");\n }\n\n var viewerVersion = '2.7.570';\n\n if (_pdfjsLib.version !== viewerVersion) {\n throw new Error(\"The API version \\\"\".concat(_pdfjsLib.version, \"\\\" does not match the Viewer version \\\"\").concat(viewerVersion, \"\\\".\"));\n }\n\n this._name = this.constructor.name;\n this.container = options.container;\n this.viewer = options.viewer || options.container.firstElementChild;\n\n if (!(((_this$container = this.container) === null || _this$container === void 0 ? void 0 : _this$container.tagName.toUpperCase()) === \"DIV\" && ((_this$viewer = this.viewer) === null || _this$viewer === void 0 ? void 0 : _this$viewer.tagName.toUpperCase()) === \"DIV\")) {\n throw new Error(\"Invalid `container` and/or `viewer` option.\");\n }\n\n if (getComputedStyle(this.container).position !== \"absolute\") {\n throw new Error(\"The `container` must be absolutely positioned.\");\n }\n\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 = typeof options.renderInteractiveForms === \"boolean\" ? options.renderInteractiveForms : true;\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.enableScripting = options.enableScripting || false;\n this._mouseState = options.mouseState || null;\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 var previous = this._currentPageNumber;\n this._currentPageNumber = val;\n this.eventBus.dispatch(\"pagechanging\", {\n source: this,\n pageNumber: val,\n pageLabel: this._pageLabels && this._pageLabels[val - 1],\n previous: previous\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.eventBus.dispatch(\"pagesdestroy\", {\n source: this\n });\n\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 var optionalContentConfigPromise = pdfDocument.getOptionalContentConfig();\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 _this2._optionalContentConfigPromise = optionalContentConfigPromise;\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 optionalContentConfigPromise: optionalContentConfigPromise,\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 enableScripting: _this2.enableScripting\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._optionalContentConfigPromise = null;\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._resetScriptingEvents();\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 / this._pageWidthScaleFactor;\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: \"pageLabelToPageNumber\",\n value: function pageLabelToPageNumber(label) {\n if (!this._pageLabels) {\n return null;\n }\n\n var i = this._pageLabels.indexOf(label);\n\n if (i < 0) {\n return null;\n }\n\n return i + 1;\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 } else if (typeof y !== \"number\") {\n y = pageHeight;\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)({\n scrollEl: this.container,\n views: this._pages,\n sortByVisibility: true,\n horizontal: this._isScrollModeHorizontal,\n rtl: this._isScrollModeHorizontal && this._isContainerRtl\n });\n }\n }, {\n key: \"isPageVisible\",\n value: function isPageVisible(pageNumber) {\n if (!this.pdfDocument) {\n return false;\n }\n\n if (!(Number.isInteger(pageNumber) && pageNumber > 0 && pageNumber <= this.pagesCount)) {\n console.error(\"\".concat(this._name, \".isPageVisible: \\\"\").concat(pageNumber, \"\\\" is not a valid page.\"));\n return false;\n }\n\n return this._getVisiblePages().views.some(function (view) {\n return view.id === pageNumber;\n });\n }\n }, {\n key: \"isPageCached\",\n value: function isPageCached(pageNumber) {\n if (!this.pdfDocument || !this._buffer) {\n return false;\n }\n\n if (!(Number.isInteger(pageNumber) && pageNumber > 0 && pageNumber <= this.pagesCount)) {\n console.error(\"\".concat(this._name, \".isPageCached: \\\"\").concat(pageNumber, \"\\\" is not a valid page.\"));\n return false;\n }\n\n var pageView = this._pages[pageNumber - 1];\n\n if (!pageView) {\n return false;\n }\n\n return this._buffer.has(pageView);\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 _this$pdfDocument, _this$pdfDocument2;\n\n var annotationStorage = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n var imageResourcesPath = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : \"\";\n var renderInteractiveForms = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n var l10n = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : _ui_utils.NullL10n;\n var enableScripting = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : false;\n var hasJSActionsPromise = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : null;\n var mouseState = arguments.length > 8 && arguments[8] !== undefined ? arguments[8] : null;\n return new _annotation_layer_builder.AnnotationLayerBuilder({\n pageDiv: pageDiv,\n pdfPage: pdfPage,\n annotationStorage: annotationStorage || ((_this$pdfDocument = this.pdfDocument) === null || _this$pdfDocument === void 0 ? void 0 : _this$pdfDocument.annotationStorage),\n imageResourcesPath: imageResourcesPath,\n renderInteractiveForms: renderInteractiveForms,\n linkService: this.linkService,\n downloadManager: this.downloadManager,\n l10n: l10n,\n enableScripting: enableScripting,\n hasJSActionsPromise: hasJSActionsPromise || ((_this$pdfDocument2 = this.pdfDocument) === null || _this$pdfDocument2 === void 0 ? void 0 : _this$pdfDocument2.hasJSActions()),\n mouseState: mouseState || this._mouseState\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 return pagesOverview.map(function (size) {\n if ((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 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: \"_getPageAdvance\",\n value: function _getPageAdvance(currentPageNumber) {\n var previous = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n if (this.isInPresentationMode) {\n return 1;\n }\n\n switch (this._scrollMode) {\n case _ui_utils.ScrollMode.WRAPPED:\n {\n var _this$_getVisiblePage = this._getVisiblePages(),\n views = _this$_getVisiblePage.views,\n pageLayout = new Map();\n\n var _iterator = _createForOfIteratorHelper(views),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var _step$value = _step.value,\n id = _step$value.id,\n y = _step$value.y,\n percent = _step$value.percent,\n widthPercent = _step$value.widthPercent;\n\n if (percent === 0 || widthPercent < 100) {\n continue;\n }\n\n var yArray = pageLayout.get(y);\n\n if (!yArray) {\n pageLayout.set(y, yArray || (yArray = []));\n }\n\n yArray.push(id);\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n var _iterator2 = _createForOfIteratorHelper(pageLayout.values()),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var _yArray = _step2.value;\n\n var currentIndex = _yArray.indexOf(currentPageNumber);\n\n if (currentIndex === -1) {\n continue;\n }\n\n var numPages = _yArray.length;\n\n if (numPages === 1) {\n break;\n }\n\n if (previous) {\n for (var i = currentIndex - 1, ii = 0; i >= ii; i--) {\n var currentId = _yArray[i],\n expectedId = _yArray[i + 1] - 1;\n\n if (currentId < expectedId) {\n return currentPageNumber - expectedId;\n }\n }\n } else {\n for (var _i2 = currentIndex + 1, _ii = numPages; _i2 < _ii; _i2++) {\n var _currentId = _yArray[_i2],\n _expectedId = _yArray[_i2 - 1] + 1;\n\n if (_currentId > _expectedId) {\n return _expectedId - currentPageNumber;\n }\n }\n }\n\n if (previous) {\n var firstId = _yArray[0];\n\n if (firstId < currentPageNumber) {\n return currentPageNumber - firstId + 1;\n }\n } else {\n var lastId = _yArray[numPages - 1];\n\n if (lastId > currentPageNumber) {\n return lastId - currentPageNumber + 1;\n }\n }\n\n break;\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n\n break;\n }\n\n case _ui_utils.ScrollMode.HORIZONTAL:\n {\n break;\n }\n\n case _ui_utils.ScrollMode.VERTICAL:\n {\n if (this._spreadMode === _ui_utils.SpreadMode.NONE) {\n break;\n }\n\n var parity = this._spreadMode - 1;\n\n if (previous && currentPageNumber % 2 !== parity) {\n break;\n } else if (!previous && currentPageNumber % 2 === parity) {\n break;\n }\n\n var _this$_getVisiblePage2 = this._getVisiblePages(),\n _views = _this$_getVisiblePage2.views,\n _expectedId2 = previous ? currentPageNumber - 1 : currentPageNumber + 1;\n\n var _iterator3 = _createForOfIteratorHelper(_views),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var _step3$value = _step3.value,\n _id = _step3$value.id,\n _percent = _step3$value.percent,\n _widthPercent = _step3$value.widthPercent;\n\n if (_id !== _expectedId2) {\n continue;\n }\n\n if (_percent > 0 && _widthPercent === 100) {\n return 2;\n }\n\n break;\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n\n break;\n }\n }\n\n return 1;\n }\n }, {\n key: \"nextPage\",\n value: function nextPage() {\n var currentPageNumber = this._currentPageNumber,\n pagesCount = this.pagesCount;\n\n if (currentPageNumber >= pagesCount) {\n return false;\n }\n\n var advance = this._getPageAdvance(currentPageNumber, false) || 1;\n this.currentPageNumber = Math.min(currentPageNumber + advance, pagesCount);\n return true;\n }\n }, {\n key: \"previousPage\",\n value: function previousPage() {\n var currentPageNumber = this._currentPageNumber;\n\n if (currentPageNumber <= 1) {\n return false;\n }\n\n var advance = this._getPageAdvance(currentPageNumber, true) || 1;\n this.currentPageNumber = Math.max(currentPageNumber - advance, 1);\n return true;\n }\n }, {\n key: \"initializeScriptingEvents\",\n value: function initializeScriptingEvents() {\n var _this5 = this;\n\n if (!this.enableScripting || this._pageOpenPendingSet) {\n return;\n }\n\n var eventBus = this.eventBus,\n pageOpenPendingSet = this._pageOpenPendingSet = new Set(),\n scriptingEvents = this._scriptingEvents || (this._scriptingEvents = Object.create(null));\n\n var dispatchPageClose = function dispatchPageClose(pageNumber) {\n if (pageOpenPendingSet.has(pageNumber)) {\n return;\n }\n\n eventBus.dispatch(\"pageclose\", {\n source: _this5,\n pageNumber: pageNumber\n });\n };\n\n var dispatchPageOpen = function dispatchPageOpen(pageNumber) {\n var pageView = _this5._pages[pageNumber - 1];\n\n if ((pageView === null || pageView === void 0 ? void 0 : pageView.renderingState) === _pdf_rendering_queue.RenderingStates.FINISHED) {\n var _pageView$pdfPage;\n\n pageOpenPendingSet[\"delete\"](pageNumber);\n eventBus.dispatch(\"pageopen\", {\n source: _this5,\n pageNumber: pageNumber,\n actionsPromise: (_pageView$pdfPage = pageView.pdfPage) === null || _pageView$pdfPage === void 0 ? void 0 : _pageView$pdfPage.getJSActions()\n });\n } else {\n pageOpenPendingSet.add(pageNumber);\n }\n };\n\n scriptingEvents.onPageChanging = function (_ref4) {\n var pageNumber = _ref4.pageNumber,\n previous = _ref4.previous;\n\n if (pageNumber === previous) {\n return;\n }\n\n dispatchPageClose(previous);\n dispatchPageOpen(pageNumber);\n };\n\n eventBus._on(\"pagechanging\", scriptingEvents.onPageChanging);\n\n scriptingEvents.onPageRendered = function (_ref5) {\n var pageNumber = _ref5.pageNumber;\n\n if (!pageOpenPendingSet.has(pageNumber)) {\n return;\n }\n\n if (pageNumber !== _this5._currentPageNumber) {\n return;\n }\n\n dispatchPageOpen(pageNumber);\n };\n\n eventBus._on(\"pagerendered\", scriptingEvents.onPageRendered);\n\n scriptingEvents.onPagesDestroy = function () {\n dispatchPageClose(_this5._currentPageNumber);\n };\n\n eventBus._on(\"pagesdestroy\", scriptingEvents.onPagesDestroy);\n\n dispatchPageOpen(this._currentPageNumber);\n }\n }, {\n key: \"_resetScriptingEvents\",\n value: function _resetScriptingEvents() {\n if (!this.enableScripting || !this._pageOpenPendingSet) {\n return;\n }\n\n var eventBus = this.eventBus,\n scriptingEvents = this._scriptingEvents;\n\n eventBus._off(\"pagechanging\", scriptingEvents.onPageChanging);\n\n scriptingEvents.onPageChanging = null;\n\n eventBus._off(\"pagerendered\", scriptingEvents.onPageRendered);\n\n scriptingEvents.onPageRendered = null;\n\n eventBus._off(\"pagesdestroy\", scriptingEvents.onPagesDestroy);\n\n scriptingEvents.onPagesDestroy = null;\n this._pageOpenPendingSet = null;\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: \"_pageWidthScaleFactor\",\n get: function get() {\n if (this.spreadMode !== _ui_utils.SpreadMode.NONE && this.scrollMode !== _ui_utils.ScrollMode.HORIZONTAL && !this.isInPresentationMode) {\n return 2;\n }\n\n return 1;\n }\n }, {\n key: \"_isScrollModeHorizontal\",\n get: function get() {\n return this.isInPresentationMode ? false : this._scrollMode === _ui_utils.ScrollMode.HORIZONTAL;\n }\n }, {\n key: \"_isContainerRtl\",\n get: function get() {\n return getComputedStyle(this.container).direction === \"rtl\";\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: \"optionalContentConfigPromise\",\n get: function get() {\n if (!this.pdfDocument) {\n return Promise.resolve(null);\n }\n\n if (!this._optionalContentConfigPromise) {\n return this.pdfDocument.getOptionalContentConfig();\n }\n\n return this._optionalContentConfigPromise;\n },\n set: function set(promise) {\n if (!(promise instanceof Promise)) {\n throw new Error(\"Invalid optionalContentConfigPromise: \".concat(promise));\n }\n\n if (!this.pdfDocument) {\n return;\n }\n\n if (!this._optionalContentConfigPromise) {\n return;\n }\n\n this._optionalContentConfigPromise = promise;\n\n var _iterator4 = _createForOfIteratorHelper(this._pages),\n _step4;\n\n try {\n for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n var pageView = _step4.value;\n pageView.update(pageView.scale, pageView.rotation, promise);\n }\n } catch (err) {\n _iterator4.e(err);\n } finally {\n _iterator4.f();\n }\n\n this.update();\n this.eventBus.dispatch(\"optionalcontentconfigchanged\", {\n source: this,\n promise: promise\n });\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/* 19 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\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\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.PDFViewer = void 0;\n\nvar _ui_utils = __w_pdfjs_require__(3);\n\nvar _base_viewer = __w_pdfjs_require__(18);\n\nvar _pdfjsLib = __w_pdfjs_require__(2);\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 && this._scrollMode === _ui_utils.ScrollMode.VERTICAL && this._spreadMode === _ui_utils.SpreadMode.NONE) {\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/******/ \t]);\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __w_pdfjs_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(__webpack_module_cache__[moduleId]) {\n/******/ \t\t\treturn __webpack_module_cache__[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId](module, module.exports, __w_pdfjs_require__);\n/******/ \t\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\n/******/ \t/* webpack/runtime/node module decorator */\n/******/ \t(() => {\n/******/ \t\t__w_pdfjs_require__.nmd = (module) => {\n/******/ \t\t\tmodule.paths = [];\n/******/ \t\t\tif (!module.children) module.children = [];\n/******/ \t\t\treturn module;\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/************************************************************************/\n/******/ \t// module exports must be returned from runtime so entry inlining is disabled\n/******/ \t// startup\n/******/ \t// Load entry module and return exports\n/******/ \treturn __w_pdfjs_require__(0);\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&\""],"sourceRoot":""}