{"version":3,"sources":["webpack:///./src/components/ImageUpload/index.vue?1850","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:///./node_modules/vue-pdf/src/CMapReaderFactory.js","webpack:///src/components/ImageUpload/index.vue","webpack:///./src/components/ImageUpload/index.vue?5296","webpack:///./src/components/ImageUpload/index.vue","webpack:///./node_modules/pdfjs-dist/es5/build/pdf.worker.js","webpack:///./node_modules/pdfjs-dist/es5/build/pdf.js","webpack:///./node_modules/core-js/modules/es.string.trim.js","webpack:///./node_modules/core-js/internals/whitespaces.js","webpack:///./node_modules/core-js/internals/string-trim.js","webpack:///./node_modules/vue-cropper/dist/index.js","webpack:///./node_modules/pdfjs-dist/cmaps lazy ./node_modules/vue-pdf/src/buffer-loader.js ^\\.\\/.*\\.bcmap$ namespace object","webpack:///./node_modules/vue-pdf/src/pdfjsWrapper.js","webpack:///./node_modules/core-js/modules/es.number.constructor.js","webpack:///./node_modules/vue-resize-sensor/src/resize-sensor.vue?56a6","webpack:///./node_modules/core-js/internals/string-trim-forced.js","webpack:///./src/components/ImageUpload/index.vue?d9f4","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","$utils","getFileType","urlFull","directives","name","rawName","value","expression","attrs","concat","slot","_t","_v","on","preview","remove","_e","class","_f","formatVerified","sizeVerified","width","height","minWidth","minHeight","_s","maxWidth","maxHeight","bytesVerified","accept","uploadFile","uploadLoading","beforeImageUpload","url","dialogVisible","parseInt","cropperBoxWidth","$event","style","cropperBoxHeight","ref","copperOptions","img","fixedNumber","enlarge","changeScale","rotateLeft","rotateRight","finish","previewVisible","_l","i","key","refInFor","pdfUrl","staticRenderFns","component","createLoadingTask","pdfjsWrapper","PDFJSWrapper","h","props","initial","resize","src","type","String","Object","Uint8Array","default","page","Number","rotate","watch","pdf","loadDocument","loadPage","renderPage","methods","size","$el","parentNode","$refs","canvas","offsetWidth","resolutionScale","getResolutionScale","print","dpi","pageList","printPage","mounted","annotationLayer","$emit","bind","$on","destroyed","destroy","fetch","query","then","bcmap","cMapData","compressionType","BINARY","module","exports","Worker","root","factory","modules","installedModules","__w_pdfjs_require__","moduleId","l","call","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","t","mode","__esModule","ns","create","n","object","property","prototype","hasOwnProperty","p","s","_display_utils","addLinkAttributes","getFilenameFromUrl","LinkTarget","loadScript","PDFDateString","RenderingCancelledException","_api","build","getDocument","LoopbackPort","PDFDataRangeTransport","PDFWorker","version","_util","CMapCompressionType","createObjectURL","createPromiseCapability","createValidAbsoluteUrl","InvalidPDFException","MissingPDFException","OPS","PasswordResponses","PermissionFlag","removeNullCharacters","shadow","UnexpectedResponseException","UNSUPPORTED_FEATURES","Util","VerbosityLevel","_annotation_layer","AnnotationLayer","_api_compatibility","apiCompatibilityParams","_worker_options","GlobalWorkerOptions","_text_layer","renderTextLayer","_svg","SVGGraphics","_require","isNodeJS","PDFNodeStream","setPDFNetworkStreamFactory","params","PDFFetchStream","PDFNetworkStream","isFetchSupported","isValidFetchUrl","deprecated","StatTimer","DOMSVGFactory","DOMCMapReaderFactory","BaseCMapReaderFactory","DOMCanvasFactory","BaseCanvasFactory","DEFAULT_LINK_REL","PageViewport","_regenerator","_interopRequireDefault","obj","_createForOfIteratorHelper","allowArrayLike","it","iterator","Array","isArray","_unsupportedIterableToArray","length","F","done","e","f","TypeError","err","normalCompletion","didErr","step","next","_e2","minLen","_arrayLikeToArray","toString","slice","constructor","from","test","arr","len","arr2","asyncGeneratorStep","gen","resolve","reject","_next","_throw","arg","info","error","Promise","_asyncToGenerator","fn","self","args","arguments","apply","undefined","_typeof","_inherits","subClass","superClass","writable","configurable","_setPrototypeOf","setPrototypeOf","__proto__","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","result","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","Error","context","_BaseCanvasFactory","_super","_this","_ref","_ref$ownerDocument","ownerDocument","globalThis","document","_document","createElement","getContext","_ref2","_ref2$baseUrl","baseUrl","_ref2$isCompressed","isCompressed","_fetch","mark","_callee","_ref3","_this2","wrap","_context","prev","NONE","abrupt","_fetchData","reason","stop","_x","_BaseCMapReaderFactor","_super2","_this3","baseURI","_ref4","_callee2","response","_context2","ok","statusText","t0","arrayBuffer","t1","sent","t2","stringToBytes","text","t3","_x2","request","XMLHttpRequest","open","responseType","onreadystatechange","readyState","DONE","status","responseText","send","assert","svg","createElementNS","setAttribute","_ref5","viewBox","scale","rotation","_ref5$offsetX","offsetX","_ref5$offsetY","offsetY","_ref5$dontFlip","dontFlip","rotateA","rotateB","rotateC","rotateD","offsetCanvasX","offsetCanvasY","centerX","centerY","Math","abs","transform","_ref6","_ref6$scale","_ref6$rotation","_ref6$offsetX","_ref6$offsetY","_ref6$dontFlip","x","y","applyTransform","rect","topLeft","bottomRight","applyInverseTransform","_BaseException","_super3","msg","_this4","BaseException","SELF","BLANK","PARENT","TOP","link","_ref7","rel","_ref7$enabled","enabled","urlNullRemoved","href","title","onclick","targetStr","anchor","indexOf","end","min","substring","lastIndexOf","pdfDateStringRegex","started","times","warn","now","push","start","_step","outBuf","longest","_iterator","time","_step2","_iterator2","_time","duration","padEnd","join","Response","ReadableStream","_ref8","URL","protocol","ex","script","onload","onerror","head","documentElement","appendChild","details","console","log","input","isString","RegExp","matches","exec","year","month","day","hour","minute","second","universalTimeRelation","offsetHour","offsetMinute","UTC","runtime","Op","hasOwn","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","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","method","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","reverse","pop","skipTempReset","charAt","rootEntry","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","Function","webpackPolyfill","deprecate","paths","children","arrayByteLength","arraysToBytes","bytesToString","escapeString","getModificationDate","getVerbosityLevel","isArrayBuffer","isArrayEqual","isBool","isNum","isSameOrigin","setVerbosityLevel","string32","stringToPDFString","stringToUTF8String","utf8StringToString","IsEvalSupportedCached","IsLittleEndianCached","FormatError","UnknownErrorException","TextRenderingMode","StreamType","PasswordException","AbortException","ImageKind","FontType","AnnotationType","AnnotationStateModelType","AnnotationReviewState","AnnotationReplyType","AnnotationMarkedState","AnnotationFlag","AnnotationFieldFlag","AnnotationBorderStyleType","IDENTITY_MATRIX","FONT_IDENTITY_MATRIX","PRINT","MODIFY_CONTENTS","COPY","MODIFY_ANNOTATIONS","FILL_INTERACTIVE_FORMS","COPY_FOR_ACCESSIBILITY","ASSEMBLE","PRINT_HIGH_QUALITY","FILL","STROKE","FILL_STROKE","INVISIBLE","FILL_ADD_TO_PATH","STROKE_ADD_TO_PATH","FILL_STROKE_ADD_TO_PATH","ADD_TO_PATH","FILL_STROKE_MASK","ADD_TO_PATH_FLAG","GRAYSCALE_1BPP","RGB_24BPP","RGBA_32BPP","TEXT","LINK","FREETEXT","LINE","SQUARE","CIRCLE","POLYGON","POLYLINE","HIGHLIGHT","UNDERLINE","SQUIGGLY","STRIKEOUT","STAMP","CARET","INK","POPUP","FILEATTACHMENT","SOUND","MOVIE","WIDGET","SCREEN","PRINTERMARK","TRAPNET","WATERMARK","THREED","REDACT","MARKED","REVIEW","UNMARKED","ACCEPTED","REJECTED","CANCELLED","COMPLETED","GROUP","REPLY","HIDDEN","NOZOOM","NOROTATE","NOVIEW","READONLY","LOCKED","TOGGLENOVIEW","LOCKEDCONTENTS","REQUIRED","NOEXPORT","MULTILINE","PASSWORD","NOTOGGLETOOFF","RADIO","PUSHBUTTON","COMBO","EDIT","SORT","FILESELECT","MULTISELECT","DONOTSPELLCHECK","DONOTSCROLL","COMB","RICHTEXT","RADIOSINUNISON","COMMITONSELCHANGE","SOLID","DASHED","BEVELED","INSET","UNKNOWN","FLATE","LZW","DCT","JPX","JBIG","A85","AHX","CCF","RLX","TYPE1","TYPE1C","CIDFONTTYPE0","CIDFONTTYPE0C","TRUETYPE","CIDFONTTYPE2","TYPE3","OPENTYPE","TYPE0","MMTYPE1","ERRORS","WARNINGS","INFOS","STREAM","dependency","setLineWidth","setLineCap","setLineJoin","setMiterLimit","setDash","setRenderingIntent","setFlatness","setGState","save","restore","moveTo","lineTo","curveTo","curveTo2","curveTo3","closePath","rectangle","stroke","closeStroke","fill","eoFill","fillStroke","eoFillStroke","closeFillStroke","closeEOFillStroke","endPath","clip","eoClip","beginText","endText","setCharSpacing","setWordSpacing","setHScale","setLeading","setFont","setTextRenderingMode","setTextRise","moveText","setLeadingMoveText","setTextMatrix","nextLine","showText","showSpacedText","nextLineShowText","nextLineSetSpacingShowText","setCharWidth","setCharWidthAndBounds","setStrokeColorSpace","setFillColorSpace","setStrokeColor","setStrokeColorN","setFillColor","setFillColorN","setStrokeGray","setFillGray","setStrokeRGBColor","setFillRGBColor","setStrokeCMYKColor","setFillCMYKColor","shadingFill","beginInlineImage","beginImageData","endInlineImage","paintXObject","markPoint","markPointProps","beginMarkedContent","beginMarkedContentProps","endMarkedContent","beginCompat","endCompat","paintFormXObjectBegin","paintFormXObjectEnd","beginGroup","endGroup","beginAnnotations","endAnnotations","beginAnnotation","endAnnotation","paintJpegXObject","paintImageMaskXObject","paintImageMaskXObjectGroup","paintImageXObject","paintInlineImageXObject","paintInlineImageXObjectGroup","paintImageXObjectRepeat","paintImageMaskXObjectRepeat","paintSolidColorImageMask","constructPath","unknown","forms","javaScript","smask","shadingPattern","font","errorTilingPattern","errorExtGState","errorXObject","errorFontLoadType3","errorFontState","errorFontMissing","errorFontTranslate","errorColorSpace","errorOperatorList","errorFontToUnicode","errorFontLoadNative","errorFontGetPath","errorMarkedContent","NEED_PASSWORD","INCORRECT_PASSWORD","verbosity","level","isInteger","cond","otherUrl","base","origin","other","_isValidProtocol","absoluteUrl","prop","message","code","_BaseException2","_BaseException3","_BaseException4","_super4","_BaseException5","_super5","_BaseException6","_super6","_BaseException7","_super7","NullCharactersRegExp","str","replace","bytes","MAX_ARGUMENT_COUNT","fromCharCode","strBuf","chunkEnd","chunk","subarray","charCodeAt","byteLength","resultLength","pos","data","_i","item","itemLength","set","isLittleEndian","buffer8","view32","Uint32Array","buffer","isEvalSupported","rgbBuf","g","b","m1","m2","xt","yt","p1","p2","p3","p4","max","v","transpose","a","first","sqrt","sx","sy","rect1","rect2","compare","orderedX","sort","orderedY","normalizeRect","PDFStringTranslateTable","_i2","_i3","decodeURIComponent","escape","unescape","encodeURIComponent","arr1","every","element","index","date","getUTCFullYear","getUTCMonth","padStart","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","capability","isSettled","promise","digits","contentType","forceDataSchema","blob","Blob","ii","b1","b2","b3","d1","d2","d3","d4","_is_node","_pdfjsCompatibilityChecked","hasDOM","window","userAgent","navigator","isIE","btoa","chars","Buffer","atob","Element","removeChild","div","classList","add","contains","OriginalDOMTokenListAdd","DOMTokenList","OriginalDOMTokenListRemove","_len","tokens","_key","_tokens","token","_len2","_key2","_tokens2","toggle","force","OriginalPushState","history","pushState","OriginalReplaceState","replaceState","startsWith","endsWith","includes","assign","fromEntries","log2","allSettled","isReadableStreamSupported","controller","close","Map","entries","Set","WeakMap","WeakSet","codePointAt","fromCodePoint","process","versions","nw","electron","$","global","getOwnPropertyDescriptor","createNonEnumerableProperty","redefine","setGlobal","copyConstructorProperties","isForced","options","source","FORCED","targetProperty","sourceProperty","TARGET","GLOBAL","STATIC","stat","noTargetGet","forced","check","DESCRIPTORS","propertyIsEnumerableModule","createPropertyDescriptor","toIndexedObject","toPrimitive","has","IE8_DOM_DEFINE","nativeGetOwnPropertyDescriptor","O","P","fails","nativePropertyIsEnumerable","propertyIsEnumerable","NASHORN_BUG","1","V","bitmap","IndexedObject","requireObjectCoercible","classof","split","isObject","PREFERRED_STRING","val","valueOf","EXISTS","definePropertyModule","anObject","nativeDefineProperty","Attributes","inspectSource","InternalStateModule","getInternalState","enforceInternalState","enforce","TEMPLATE","unsafe","simple","store","functionToString","SHARED","NATIVE_WEAK_MAP","objectHas","sharedKey","hiddenKeys","getterFor","TYPE","wmget","wmhas","wmset","metadata","STATE","shared","uid","IS_PURE","copyright","id","postfix","random","ownKeys","getOwnPropertyDescriptorModule","getBuiltIn","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","getOwnPropertySymbols","path","aFunction","variable","namespace","internalObjectKeys","enumBugKeys","getOwnPropertyNames","names","toLength","toAbsoluteIndex","createMethod","IS_INCLUDES","$this","el","fromIndex","toInteger","argument","ceil","floor","integer","replacement","feature","detection","normalize","POLYFILL","NATIVE","string","toLowerCase","entryUnbind","notARegExp","correctIsRegExpLogic","nativeStartsWith","CORRECT_IS_REGEXP_LOGIC","MDN_POLYFILL_BUG","proto","searchString","that","search","isRegExp","wellKnownSymbol","MATCH","NATIVE_SYMBOL","USE_SYMBOL_AS_UID","WellKnownSymbolsStore","createWellKnownSymbol","withoutSetter","METHOD_NAME","regexp","CONSTRUCTOR","METHOD","nativeEndsWith","endPosition","$includes","addToUnscopables","arrayMethodUsesToLength","USES_TO_LENGTH","ACCESSORS","UNSCOPABLES","ArrayPrototype","activeXDocument","defineProperties","html","documentCreateElement","GT","LT","PROTOTYPE","SCRIPT","IE_PROTO","EmptyConstructor","scriptTag","content","NullProtoObjectViaActiveX","write","temp","parentWindow","NullProtoObjectViaIFrame","iframeDocument","iframe","JS","display","contentWindow","NullProtoObject","domain","ActiveXObject","Properties","objectKeys","cache","thrower","argument0","argument1","defineIterator","STRING_ITERATOR","setInternalState","iterated","point","CONVERT_TO_STRING","S","position","codeAt","createIteratorConstructor","setToStringTag","Iterators","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","PrototypeOfArrayIteratorPrototype","arrayIterator","toObject","CORRECT_PROTOTYPE_GETTER","ObjectPrototype","TAG","aPossiblePrototype","setter","CORRECT_SETTER","checkCorrectnessOfIteration","INCORRECT_ITERATION","callWithSafeIterationClosing","isArrayIteratorMethod","createProperty","getIteratorMethod","arrayLike","C","argumentsLength","mapfn","mapping","returnMethod","propertyKey","TO_STRING_TAG_SUPPORT","classofRaw","CORRECT_ARGUMENTS","tryGet","tag","callee","SAFE_CLOSING","called","iteratorWithReturn","SKIP_CLOSING","ITERATION_SUPPORT","nativeAssign","A","B","symbol","alphabet","chr","T","j","ARRAY_ITERATOR","kind","Arguments","iterate","k","Result","stopped","AS_ENTRIES","IS_ITERATOR","iterFn","boundFunction","LN2","number","isFinite","ArrayBufferViewCore","speciesConstructor","aTypedArray","aTypedArrayConstructor","exportTypedArrayMethod","$slice","Int8Array","list","NATIVE_ARRAY_BUFFER","Int8ArrayPrototype","Uint8ClampedArray","Uint8ClampedArrayPrototype","TypedArray","TypedArrayPrototype","isPrototypeOf","TYPED_ARRAY_TAG","NATIVE_ARRAY_BUFFER_VIEWS","opera","TYPED_ARRAY_TAG_REQIRED","TypedArrayConstructorsList","Int16Array","Uint16Array","Int32Array","Float32Array","Float64Array","isView","klass","isTypedArray","ARRAY","TypedArrayConstructor","exportTypedArrayStaticMethod","ArrayBuffer","DataView","SPECIES","defaultConstructor","DOMIterables","ArrayIteratorMethods","ArrayValues","COLLECTION_NAME","Collection","CollectionPrototype","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","Internal","OwnPromiseCapability","PromiseWrapper","nativeThen","NativePromise","redefineAll","setSpecies","anInstance","task","microtask","promiseResolve","hostReportErrors","newPromiseCapabilityModule","perform","V8_VERSION","PROMISE","getInternalPromiseState","PromiseConstructor","$fetch","newPromiseCapability","newGenericPromiseCapability","IS_NODE","DISPATCH_EVENT","createEvent","dispatchEvent","UNHANDLED_REJECTION","REJECTION_HANDLED","PENDING","FULFILLED","HANDLED","UNHANDLED","GLOBAL_CORE_JS_PROMISE","PromiseRejectionEvent","FakePromise","all","isThenable","notify","isReject","notified","chain","reactions","exited","reaction","handler","fail","rejection","onHandleUnhandled","enter","exit","onUnhandled","event","initEvent","IS_UNHANDLED","isUnhandled","emit","parent","unwrap","internalReject","internalResolve","wrapper","executor","onFulfilled","onRejected","$promiseResolve","counter","remaining","alreadyCalled","race","CONSTRUCTOR_NAME","defer","channel","port","IS_IOS","location","setImmediate","clear","clearImmediate","MessageChannel","Dispatch","queue","ONREADYSTATECHANGE","run","runner","listener","post","postMessage","host","nextTick","port2","port1","onmessage","addEventListener","importScripts","setTimeout","flush","last","node","macrotask","MutationObserver","WebKitMutationObserver","queueMicrotaskDescriptor","queueMicrotask","createTextNode","observe","characterData","promiseCapability","PromiseCapability","$$resolve","$$reject","match","v8","NON_GENERIC","real","onFinally","isFunction","EOF","USE_NATIVE_URL","arrayFrom","toASCII","URLSearchParamsModule","NativeURL","URLSearchParams","getInternalSearchParamsState","getState","getInternalURLState","pow","INVALID_AUTHORITY","INVALID_SCHEME","INVALID_HOST","INVALID_PORT","ALPHA","ALPHANUMERIC","DIGIT","HEX_START","OCT","DEC","HEX","FORBIDDEN_HOST_CODE_POINT","FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT","LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE","TAB_AND_NEW_LINE","parseHost","codePoints","parseIPv6","isSpecial","parseIPv4","percentEncode","C0ControlPercentEncodeSet","partsLength","numbers","part","radix","ipv4","parts","numbersSeen","ipv4Piece","swaps","swap","address","pieceIndex","compress","pointer","char","findLongestZeroSequence","ipv6","maxIndex","maxLength","currStart","currLength","serializeHost","ignore0","unshift","fragmentPercentEncodeSet","pathPercentEncodeSet","userinfoPercentEncodeSet","specialSchemes","ftp","file","http","https","ws","wss","scheme","includesCredentials","username","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","getSearch","getSearchParams","hash","getHash","URLPrototype","output","accessorDescriptor","nativeCreateObjectURL","nativeRevokeObjectURL","revokeObjectURL","toJSON","maxInt","tMin","tMax","skew","damp","initialBias","initialN","delimiter","regexNonASCII","regexSeparators","OVERFLOW_ERROR","baseMinusTMin","stringFromCharCode","ucs2decode","extra","digitToBasic","digit","adapt","delta","numPoints","firstTime","encode","currentValue","inputLength","bias","basicLength","handledCPCount","handledCPCountPlusOne","RangeError","q","qMinusT","baseMinusT","label","encoded","labels","getIterator","Headers","URL_SEARCH_PARAMS","URL_SEARCH_PARAMS_ITERATOR","getInternalParamsState","getInternalIteratorState","plus","sequences","percentSequence","percentDecode","sequence","deserialize","find","replacer","serialize","parseSearchParams","attribute","attributes","validateArgumentsLength","passed","required","URLSearchParamsIterator","URLSearchParamsConstructor","entryIterator","entryNext","init","URLSearchParamsPrototype","append","splice","getAll","found","entriesIndex","sliceIndex","callback","body","headers","SymbolPolyfill","description","noop","NumberIsNaN","rethrowAssertionErrorRejection","typeIsObject","createArrayFromList","elements","ArrayBufferCopy","dest","destOffset","srcOffset","IsFiniteNonNegativeNumber","IsNonNegativeNumber","Infinity","Call","CreateAlgorithmFromUnderlyingMethod","underlyingObject","methodName","algoArgCount","extraArgs","PromiseCall","fullArgs","promiseResolvedWith","InvokeOrNoop","promiseRejectedWith","TransferArrayBuffer","IsDetachedBuffer","ValidateAndNormalizeHighWaterMark","highWaterMark","MakeSizeAlgorithmFromSizeFunction","originalPromise","originalPromiseThen","originalPromiseResolve","originalPromiseReject","newPromise","PerformPromiseThen","uponPromise","uponFulfillment","uponRejection","transformPromiseWith","fulfillmentHandler","rejectionHandler","setPromiseIsHandledToTrue","QUEUE_MAX_ARRAY_SIZE","SimpleQueue","_cursor","_size","_front","_elements","_back","oldBack","newBack","oldFront","newFront","oldCursor","newCursor","peek","front","cursor","ReadableStreamCreateReadResult","forAuthorCode","ReadableStreamReaderGenericInitialize","reader","stream","_forAuthorCode","_ownerReadableStream","_reader","_state","defaultReaderClosedPromiseInitialize","defaultReaderClosedPromiseInitializeAsResolved","defaultReaderClosedPromiseInitializeAsRejected","_storedError","ReadableStreamReaderGenericCancel","ReadableStreamCancel","ReadableStreamReaderGenericRelease","defaultReaderClosedPromiseReject","defaultReaderClosedPromiseResetToRejected","readerLockException","_closedPromise","_closedPromise_resolve","_closedPromise_reject","defaultReaderClosedPromiseResolve","CancelSteps","PullSteps","AcquireReadableStreamDefaultReader","ReadableStreamDefaultReader","ReadableStreamAddReadRequest","readRequest","_resolve","_reject","_readRequests","ReadableStreamFulfillReadRequest","ReadableStreamGetNumReadRequests","ReadableStreamHasDefaultReader","IsReadableStreamDefaultReader","_a","AsyncIteratorPrototype","IsReadableStream","IsReadableStreamLocked","defaultReaderBrandCheckException","cancel","read","ReadableStreamDefaultReaderRead","releaseLock","_disturbed","_readableStreamController","ReadableStreamAsyncIteratorPrototype","IsReadableStreamAsyncIterator","streamAsyncIteratorBrandCheckException","_asyncIteratorReader","return","_preventCancel","AcquireReadableStreamAsyncIterator","preventCancel","Boolean","DequeueValue","container","pair","_queue","_queueTotalSize","EnqueueValueWithSize","PeekQueueValue","ResetQueue","AbortSteps","ErrorSteps","WritableStream","underlyingSink","strategy","InitializeWritableStream","sizeAlgorithm","SetUpWritableStreamDefaultControllerFromUnderlyingSink","IsWritableStream","streamBrandCheckException","IsWritableStreamLocked","abort","WritableStreamAbort","WritableStreamCloseQueuedOrInFlight","WritableStreamClose","getWriter","AcquireWritableStreamDefaultWriter","WritableStreamDefaultWriter","CreateWritableStream","startAlgorithm","writeAlgorithm","closeAlgorithm","abortAlgorithm","WritableStreamDefaultController","SetUpWritableStreamDefaultController","_writer","_writableStreamController","_writeRequests","_inFlightWriteRequest","_closeRequest","_inFlightCloseRequest","_pendingAbortRequest","_backpressure","_promise","wasAlreadyErroring","_reason","_wasAlreadyErroring","WritableStreamStartErroring","closeRequest","writer","defaultWriterReadyPromiseResolve","WritableStreamDefaultControllerClose","WritableStreamAddWriteRequest","writeRequest","WritableStreamDealWithRejection","WritableStreamFinishErroring","WritableStreamDefaultWriterEnsureReadyPromiseRejected","WritableStreamHasOperationMarkedInFlight","_started","storedError","abortRequest","WritableStreamRejectCloseAndClosedPromiseIfNeeded","WritableStreamFinishInFlightWrite","WritableStreamFinishInFlightWriteWithError","WritableStreamFinishInFlightClose","defaultWriterClosedPromiseResolve","WritableStreamFinishInFlightCloseWithError","WritableStreamMarkCloseRequestInFlight","WritableStreamMarkFirstWriteRequestInFlight","defaultWriterClosedPromiseReject","WritableStreamUpdateBackpressure","backpressure","defaultWriterReadyPromiseReset","_ownerWritableStream","defaultWriterReadyPromiseInitialize","defaultWriterReadyPromiseInitializeAsResolved","defaultWriterClosedPromiseInitialize","defaultWriterReadyPromiseInitializeAsRejected","defaultWriterClosedPromiseInitializeAsResolved","defaultWriterClosedPromiseInitializeAsRejected","IsWritableStreamDefaultWriter","defaultWriterBrandCheckException","defaultWriterLockException","WritableStreamDefaultWriterGetDesiredSize","_readyPromise","WritableStreamDefaultWriterAbort","WritableStreamDefaultWriterClose","WritableStreamDefaultWriterRelease","WritableStreamDefaultWriterWrite","WritableStreamDefaultWriterCloseWithErrorPropagation","WritableStreamDefaultWriterEnsureClosedPromiseRejected","_closedPromiseState","defaultWriterClosedPromiseResetToRejected","_readyPromiseState","defaultWriterReadyPromiseReject","defaultWriterReadyPromiseResetToRejected","WritableStreamDefaultControllerGetDesiredSize","releasedError","chunkSize","WritableStreamDefaultControllerGetChunkSize","WritableStreamDefaultControllerWrite","IsWritableStreamDefaultController","_controlledWritableStream","WritableStreamDefaultControllerError","_abortAlgorithm","WritableStreamDefaultControllerClearAlgorithms","_strategySizeAlgorithm","_strategyHWM","_writeAlgorithm","_closeAlgorithm","WritableStreamDefaultControllerGetBackpressure","startResult","startPromise","WritableStreamDefaultControllerAdvanceQueueIfNeeded","chunkSizeE","WritableStreamDefaultControllerErrorIfNeeded","writeRecord","enqueueE","WritableStreamDefaultControllerProcessClose","WritableStreamDefaultControllerProcessWrite","sinkClosePromise","sinkWritePromise","desiredSize","_readyPromise_resolve","_readyPromise_reject","isAbortSignal","aborted","NativeDOMException","DOMException","isDOMExceptionConstructor","createDOMExceptionPolyfill","captureStackTrace","DOMException$1","ReadableStreamPipeTo","preventClose","preventAbort","signal","shuttingDown","currentWrite","actions","shutdownWithAction","map","action","pipeLoop","resolveLoop","rejectLoop","pipeStep","isOrBecomesErrored","shutdown","isOrBecomesClosed","destClosed_1","waitForWritesToFinish","oldCurrentWrite","originalIsError","originalError","doTheRest","finalize","newError","isError","removeEventListener","ReadableStreamDefaultController","IsReadableStreamDefaultController","defaultControllerBrandCheckException","ReadableStreamDefaultControllerGetDesiredSize","ReadableStreamDefaultControllerCanCloseOrEnqueue","ReadableStreamDefaultControllerClose","ReadableStreamDefaultControllerEnqueue","ReadableStreamDefaultControllerError","_cancelAlgorithm","ReadableStreamDefaultControllerClearAlgorithms","_controlledReadableStream","_closeRequested","ReadableStreamClose","ReadableStreamDefaultControllerCallPullIfNeeded","pendingPromise","shouldPull","ReadableStreamDefaultControllerShouldCallPull","_pulling","pullPromise","_pullAlgorithm","_pullAgain","ReadableStreamError","ReadableStreamDefaultControllerHasBackpressure","SetUpReadableStreamDefaultController","pullAlgorithm","cancelAlgorithm","SetUpReadableStreamDefaultControllerFromUnderlyingSource","underlyingSource","ReadableStreamTee","cloneForBranch2","reason1","reason2","branch1","branch2","resolveCancelPromise","reading","canceled1","canceled2","cancelPromise","readPromise","value1","value2","cancel1Algorithm","compositeReason","cancelResult","cancel2Algorithm","CreateReadableStream","NumberIsInteger","ReadableStreamBYOBRequest","IsReadableStreamBYOBRequest","byobRequestBrandCheckException","_view","respond","bytesWritten","_associatedReadableByteStreamController","ReadableByteStreamControllerRespond","respondWithNewView","view","ReadableByteStreamControllerRespondWithNewView","ReadableByteStreamController","IsReadableByteStreamController","byteStreamControllerBrandCheckException","_byobRequest","_pendingPullIntos","firstDescriptor","byteOffset","bytesFilled","byobRequest","SetUpReadableStreamBYOBRequest","ReadableByteStreamControllerGetDesiredSize","_controlledReadableByteStream","ReadableByteStreamControllerClose","ReadableByteStreamControllerEnqueue","ReadableByteStreamControllerError","ReadableByteStreamControllerClearAlgorithms","ReadableByteStreamControllerHandleQueueDrain","viewE","autoAllocateChunkSize","_autoAllocateChunkSize","bufferE","pullIntoDescriptor","elementSize","readerType","ReadableByteStreamControllerCallPullIfNeeded","ReadableByteStreamControllerShouldCallPull","ReadableByteStreamControllerClearPendingPullIntos","ReadableByteStreamControllerInvalidateBYOBRequest","ReadableByteStreamControllerCommitPullIntoDescriptor","filledView","ReadableByteStreamControllerConvertPullIntoDescriptor","ReadableStreamFulfillReadIntoRequest","ReadableByteStreamControllerEnqueueChunkToQueue","ReadableByteStreamControllerFillPullIntoDescriptorFromQueue","currentAlignedBytes","maxBytesToCopy","maxBytesFilled","maxAlignedBytes","totalBytesToCopyRemaining","ready","headOfQueue","bytesToCopy","destStart","ReadableByteStreamControllerFillHeadPullIntoDescriptor","ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue","ReadableByteStreamControllerShiftPendingPullInto","ReadableByteStreamControllerPullInto","BYTES_PER_ELEMENT","ReadableStreamAddReadIntoRequest","emptyView","ReadableByteStreamControllerRespondInClosedState","ReadableStreamHasBYOBReader","ReadableStreamGetNumReadIntoRequests","ReadableByteStreamControllerRespondInReadableState","remainderSize","remainder","ReadableByteStreamControllerRespondInternal","firstPendingPullInto","transferredBuffer","transferredView","SetUpReadableByteStreamController","SetUpReadableByteStreamControllerFromUnderlyingSource","underlyingByteSource","AcquireReadableStreamBYOBReader","ReadableStreamBYOBReader","readIntoRequest","_readIntoRequests","IsReadableStreamBYOBReader","byobReaderBrandCheckException","ReadableStreamBYOBReaderRead","InitializeReadableStream","typeString","streamBrandCheckException$1","getReader","pipeThrough","_b","readable","pipeTo","tee","branches","sourceCancelPromise","ByteLengthQueuingStrategy","CountQueuingStrategy","TransformStream","transformer","writableStrategy","readableStrategy","writableSizeFunction","writableHighWaterMark","readableSizeFunction","readableHighWaterMark","writableType","writableSizeAlgorithm","readableType","startPromise_resolve","readableSizeAlgorithm","InitializeTransformStream","SetUpTransformStreamDefaultControllerFromTransformer","_transformStreamController","IsTransformStream","streamBrandCheckException$2","_readable","_writable","TransformStreamDefaultSinkWriteAlgorithm","TransformStreamDefaultSinkAbortAlgorithm","TransformStreamDefaultSinkCloseAlgorithm","TransformStreamDefaultSourcePullAlgorithm","TransformStreamErrorWritableAndUnblockWrite","_backpressureChangePromise","_backpressureChangePromise_resolve","TransformStreamSetBackpressure","TransformStreamError","TransformStreamDefaultControllerClearAlgorithms","TransformStreamDefaultController","IsTransformStreamDefaultController","defaultControllerBrandCheckException$1","readableController","_controlledTransformStream","TransformStreamDefaultControllerEnqueue","TransformStreamDefaultControllerError","terminate","TransformStreamDefaultControllerTerminate","SetUpTransformStreamDefaultController","transformAlgorithm","flushAlgorithm","_transformAlgorithm","_flushAlgorithm","transformResultE","transformMethod","TransformStreamDefaultControllerPerformTransform","transformPromise","backpressureChangePromise","flushPromise","collection","collectionStrong","InternalMetadataModule","inheritIfRequired","common","IS_MAP","IS_WEAK","ADDER","NativeConstructor","NativePrototype","exported","fixMethod","nativeMethod","getConstructor","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","$instance","dummy","setStrong","FREEZING","METADATA","isExtensible","setMetadata","objectID","weakData","fastKey","getWeakData","onFreeze","meta","preventExtensions","Wrapper","NewTargetPrototype","internalStateGetterFor","previous","getEntry","removed","callbackfn","ITERATOR_NAME","getInternalCollectionState","InternalWeakMap","collectionWeak","enforceIternalState","IS_IE11","$WeakMap","WeakMapPrototype","nativeDelete","nativeHas","nativeGet","nativeSet","frozen","ArrayIterationModule","$has","findIndex","uncaughtFrozenStore","UncaughtFrozenStore","findUncaughtFrozen","arraySpeciesCreate","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","specificCreate","filter","some","originalArray","nativeFromCodePoint","INCORRECT_LENGTH","arrayMethodHasSpeciesSupport","IS_CONCAT_SPREADABLE","MAX_SAFE_INTEGER","MAXIMUM_ALLOWED_INDEX_EXCEEDED","IS_CONCAT_SPREADABLE_SUPPORT","array","SPECIES_SUPPORT","isConcatSpreadable","spreadable","E","foo","nativeObjectCreate","getOwnPropertyNamesExternal","wrappedWellKnownSymbolModule","defineWellKnownSymbol","$forEach","SYMBOL","TO_PRIMITIVE","$stringify","nativeGetOwnPropertyNames","AllSymbols","ObjectPrototypeSymbols","StringToSymbolRegistry","SymbolToStringRegistry","QObject","USE_SETTER","findChild","setSymbolDescriptor","ObjectPrototypeDescriptor","isSymbol","$defineProperty","$defineProperties","properties","$getOwnPropertySymbols","$propertyIsEnumerable","$create","$getOwnPropertyDescriptor","$getOwnPropertyNames","IS_OBJECT_PROTOTYPE","keyFor","sym","useSetter","useSimple","FORCED_JSON_STRINGIFY","stringify","space","$replacer","windowNames","getWindowNames","NativeSymbol","EmptyStringDescriptionStore","SymbolWrapper","symbolPrototype","symbolToString","native","desc","JSON","$padStart","WEBKIT_BUG","repeat","IS_END","fillString","fillLen","stringFiller","stringLength","fillStr","intMaxLength","count","$padEnd","$values","TO_ENTRIES","$entries","PDFPageProxy","PDFDocumentProxy","_font_loader","_node_utils","_annotation_storage","_canvas","_message_handler","_metadata","_optional_content_config","_transport_stream","_webgl","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","_e3","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","_arr","_n","_d","DEFAULT_RANGE_CHUNK_SIZE","RENDERING_CANCELLED_TIMEOUT","DefaultCanvasFactory","NodeCanvasFactory","DefaultCMapReaderFactory","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","getPage","getPageIndex","getDestinations","getDestination","getPageLabels","getPageLayout","getPageMode","getViewerPreferences","getOpenAction","getAttachments","getJavaScript","getOutline","getOptionalContentConfig","getPermissions","getMetadata","getData","downloadInfoCapability","getStats","startCleanup","loadingTask","annotationStorage","saveDocument","AnnotationStorage","numPages","fingerprint","loadingParams","pageIndex","pageInfo","_pageIndex","_pageInfo","_ownerDocument","_stats","_pdfBug","commonObjs","objs","PDFObjects","cleanupAfterRender","pendingCleanup","_intentStates","_ref3$rotation","_ref3$offsetX","_ref3$offsetY","_ref3$dontFlip","_ref4$intent","intent","annotationsPromise","annotationsIntent","getAnnotations","_this5","canvasContext","viewport","_ref5$intent","_ref5$enableWebGL","enableWebGL","_ref5$renderInteracti","renderInteractiveForms","_ref5$transform","_ref5$imageLayer","imageLayer","_ref5$canvasFactory","canvasFactory","_ref5$background","background","_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","_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","transferable","PDFWorkerClosure","pdfWorkerPorts","isWorkerDisabled","fallbackWorkerSrc","nextFakeWorkerId","fakeWorkerCapability","pdfjsFilePath","currentScript","_getWorkerSrc","workerSrc","getMainThreadWorkerMessageHandler","mainWorkerMessageHandler","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","cancelAllRequests","_this12","sink","getFullReader","evt","onPull","_ref14","onCancel","readyReason","headersCapability","fullReader","headersReady","isStreamingSupported","isRangeSupported","contentLength","rangeReader","getRangeReader","_ref15","_ref16","_numPages","updatePassword","_startRenderPage","_data","exportedData","exportedError","fontRegistry","FontInspector","registerFont","fontAdded","FontFaceObject","_data2","imageData","pageProxy","MAX_IMAGE_SIZE_TO_STORE","fetched","builtInCMap","_ref17","featureId","_this13","filename","resetModified","results","OptionalContentConfig","_this14","Metadata","contentDispositionFilename","_this15","cleanupSuccessful","_objs","objId","resolved","_ensureObj","RenderTask","_internalRenderTask","onContinue","canvasInRendering","_ref18","_ref18$useRequestAnim","_ref18$pdfBug","operatorListIdx","running","graphicsReadyCallback","graphicsReady","_useRequestAnimationFrame","cancelled","_continueBound","_continue","_scheduleNextBound","_scheduleNext","_nextBound","_ref19","_ref19$transparency","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","supported","_BaseFontLoader","GenericFontLoader","loadingContext","requests","nextRequestId","loadTestFontId","completeRequest","otherRequest","int32","offset","spliceString","insert","chunk1","chunk2","ctx","isFontReady","fillText","getImageData","_loadTestFont","COMMENT_OFFSET","CFF_CHECKSUM_OFFSET","XXXX_VALUE","checksum","loadedName","visibility","top","left","span","fontFamily","getLoadTestFont","translatedData","_ref2$isEvalSupported","_ref2$disableFontFace","_ref2$ignoreErrors","_ref2$onUnsupportedFe","_ref2$fontRegistry","compiledGlyphs","FontFace","mimetype","character","cmds","current","js","cmd","_ii","Canvas","createCanvas","fs","readFile","_storage","_modified","onSetModified","onResetModified","defaultValue","_setModified","compatibilityParams","freeze","_pattern_helper","MIN_FONT_SIZE","MAX_FONT_SIZE","MAX_GROUP_SIZE","MIN_WIDTH_FACTOR","COMPILE_TYPE3_GLYPHS","MAX_SIZE_TO_COMPILE","FULL_CHUNK_HEIGHT","addContextCurrentTransform","mozCurrentTransform","_originalSave","_originalRestore","_originalRotate","_originalScale","_originalTranslate","translate","_originalTransform","_originalSetTransform","setTransform","_transformMatrix","_transformStack","ad_bc","bc_ad","old","angle","cosValue","cos","sinValue","sin","CachedCanvases","getCanvas","trackTransform","canvasEntry","compileType3Glyph","imgData","j0","POINT_TO_PROCESS_LIMIT","width1","points","POINT_TYPES","lineSize","data0","mask","elem","sum","steps","outlines","pp","coords","p0","drawOutline","beginPath","kk","ll","CanvasExtraState","alphaIsShape","fontSize","fontSizeScale","textMatrix","textMatrixScale","fontMatrix","leading","lineX","lineY","charSpacing","wordSpacing","textHScale","textRenderingMode","textRise","fillColor","strokeColor","patternFill","fillAlpha","strokeAlpha","lineWidth","activeSMask","resumeSMaskCtx","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","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","beginLayout","executionStartIdx","continueCallback","argsArrayLen","fnId","chunkOperations","endTime","breakIt","depObjId","objsPool","endSMaskGroup","endLayout","limit","dashArray","dashPhase","flatness","states","suspendSMaskGroup","beginSMaskGroup","drawnWidth","drawnHeight","cacheId","scratchCanvas","currentCtx","currentTransform","groupCtx","startTransformInverse","mozCurrentTransformInverse","deltaTransform","clearRect","resumeSMaskGroup","ops","getSinglePixelWidth","xw","yh","bezierCurveTo","consumePath","singularValueDecompose2dScale","getPattern","isPatternFill","needRestore","pendingTextPaths","addToPath","spacing","fontRefName","fontObj","fontDirection","isType3Font","bold","italic","typeface","fallbackName","browserFontSize","rise","paintChar","patternTransform","fillStrokeMode","isAddToPathSet","getPathGenerator","strokeText","_this$cachedCanvases$","glyphs","showType3Text","glyphsLength","vertical","spacingDir","defaultVMetrics","widthAdvanceScale","simpleFillText","pattern","glyph","scaledX","scaledY","scaledAccentX","scaledAccentY","vmetric","vx","vy","charWidth","restoreNeeded","isSpace","fontChar","accent","remeasure","measuredWidth","measureText","isFontSubpixelAAEnabled","characterScaleX","isInFont","spacingLength","isTextInvisible","charProcOperatorList","operatorListId","transformed","xWidth","yWidth","llx","lly","urx","ury","getColorN_Pattern","IR","color","canvasGraphicsFactory","createCanvasGraphics","TilingPattern","getShadingPatternFromIR","makeCssRgb","patternIR","inv","bl","br","ul","ur","x0","y0","x1","y1","matrix","bbox","group","isolated","knockout","bounds","getAxialAlignedBoundingBox","canvasBounds","intersect","imageSmoothingEnabled","mozImageSmoothingEnabled","compiled","maskCanvas","skewX","skewY","positions","images","image","w","imgToPaint","tmpCanvas","widthScale","heightScale","HTMLElement","tmpCtx","paintWidth","paintHeight","tmpCanvasId","newWidth","newHeight","getCanvasPosition","appendImage","visible","isVisible","isContentVisible","inverse","ShadingIRs","applyBoundingBox","Path2D","region","RadialAxial","fromIR","raw","colorStops","r1","grad","createLinearGradient","createRadialGradient","addColorStop","createMeshCanvas","drawTriangle","c1","c2","c3","tmp","colors","rowSize","x2","y2","x3","y3","xa","car","cag","cab","xb","cbr","cbg","cbb","c1r","c1g","c1b","c2r","c2g","c2b","c3r","c3g","c3b","minY","round","maxY","x1_","x2_","drawFigure","figure","ps","cs","verticesPerRow","rows","cols","combinesScale","figures","backgroundColor","EXPECTED_SCALE","MAX_PATTERN_SIZE","BORDER_SIZE","boundsWidth","boundsHeight","paddedWidth","paddedHeight","drawFigures","shadingIR","Mesh","owner","matrixScale","temporaryPatternCanvas","createPattern","Dummy","PaintType","COLORED","UNCOLORED","xstep","ystep","paintType","tilingType","createPatternCanvas","curMatrixScale","combinedScale","dimx","getSizeAndScale","dimy","graphics","setFillAndStrokeStyleToContext","clipBbox","realOutputSize","maxSize","bboxWidth","bboxHeight","cssColor","CallbackKind","DATA","ERROR","StreamKind","CANCEL","CANCEL_COMPLETE","CLOSE","ENQUEUE","PULL","PULL_COMPLETE","START_COMPLETE","wrapReason","sourceName","targetName","comObj","callbackId","streamId","streamSinks","streamControllers","callbackCapabilities","actionHandler","_onComObjOnMessage","_processStreamMessage","cbSourceName","cbTargetName","_createStreamSink","actionName","ah","_postMessage","queueingStrategy","startCapability","startCall","pullCall","cancelCall","isClosed","pull","pullCapability","cancelCapability","streamSink","isCancelled","lastDesiredSize","sinkCapability","success","_deleteStreamController","_deleteStreamController2","_xml_parser","_repair","parser","SimpleXMLParser","xmlDocument","parseFromString","_metadataMap","_parse","codes","rdf","nodeName","firstChild","nextSibling","hasChildNodes","childNodes","jj","trim","_get","receiver","_superPropBase","XMLParserErrorCode","NoError","EndOfDocument","UnterminatedCdat","UnterminatedXmlDeclaration","UnterminatedDoctypeDeclaration","UnterminatedComment","MalformedElement","OutOfMemory","UnterminatedAttributeValue","UnterminatedElement","ElementNeverBegun","isWhitespace","ch","isWhitespaceString","XMLParserBase","entity","onResolveEntity","skipWs","attrName","attrValue","attrEndChar","attrEndIndex","_resolveEntities","parsed","attrStart","ch2","onError","onEndElement","pi","_parseProcessingInstruction","onPi","onComment","onCdata","q2","complexDoctype","doctypeContent","onDoctype","_parseContent","onBeginElement","onText","isEmpty","SimpleDOMNode","nodeValue","child","_XMLParserBase","_currentFragment","_stack","_errorCode","parseXml","_this$_currentFragmen","lastElement","OptionalContentGroup","creator","_order","_groups","order","groups","_group","off","policy","ids","_id","_id2","_id3","_queuedChunks","_progressiveDone","_pdfDataRangeTransport","_isStreamingSupported","_isRangeSupported","_contentLength","_fullRequestReader","_rangeReaders","addRangeListener","_onReceiveData","addProgressListener","_onProgress","addProgressiveReadListener","addProgressiveDoneListener","_onProgressiveDone","transportReady","_enqueue","_begin","firstReader","queuedChunks","PDFDataTransportStreamReader","_progressiveDataLength","PDFDataTransportStreamRangeReader","requestDataRange","readers","_loaded","_stream","_done","_filename","_requests","_headersReady","requestCapability","_read","_end","_queuedChunk","requestsCapability","_removeRangeReader","_read2","_ref$enable","_enabled","WebGLUtils","tryInitGL","loadShader","gl","shaderType","shader","createShader","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","errorMsg","getShaderInfoLog","createVertexShader","VERTEX_SHADER","createFragmentShader","FRAGMENT_SHADER","createProgram","shaders","program","attachShader","linkProgram","linked","getProgramParameter","LINK_STATUS","getProgramInfoLog","createTexture","textureId","activeTexture","texture","bindTexture","TEXTURE_2D","texParameteri","TEXTURE_WRAP_S","CLAMP_TO_EDGE","TEXTURE_WRAP_T","TEXTURE_MIN_FILTER","NEAREST","TEXTURE_MAG_FILTER","texImage2D","RGBA","UNSIGNED_BYTE","currentGL","currentCanvas","generateGL","premultipliedalpha","smaskVertexShaderCode","smaskFragmentShaderCode","smaskCache","initSmaskGL","vertexShader","fragmentShader","useProgram","resolutionLocation","getUniformLocation","positionLocation","getAttribLocation","backdropLocation","subtypeLocation","texCoordLocation","texLayerLocation","texMaskLocation","texCoordBuffer","createBuffer","bindBuffer","ARRAY_BUFFER","bufferData","STATIC_DRAW","enableVertexAttribArray","vertexAttribPointer","FLOAT","uniform1i","drawingBufferWidth","drawingBufferHeight","uniform2f","uniform4f","TEXTURE0","maskTexture","TEXTURE1","clearColor","BLEND","blendFunc","ONE","ONE_MINUS_SRC_ALPHA","COLOR_BUFFER_BIT","drawArrays","TRIANGLES","deleteTexture","deleteBuffer","figuresVertexShaderCode","figuresFragmentShaderCode","figuresCache","initFiguresGL","scaleLocation","offsetLocation","colorLocation","coordsMap","colorsMap","pIndex","cIndex","col","coordsBuffer","colorsBuffer","AnnotationElementFactory","parameters","annotationType","LinkAnnotationElement","TextAnnotationElement","fieldType","TextWidgetAnnotationElement","radioButton","RadioButtonWidgetAnnotationElement","checkBox","CheckboxWidgetAnnotationElement","PushButtonWidgetAnnotationElement","ChoiceWidgetAnnotationElement","WidgetAnnotationElement","PopupAnnotationElement","FreeTextAnnotationElement","LineAnnotationElement","SquareAnnotationElement","CircleAnnotationElement","PolylineAnnotationElement","CaretAnnotationElement","InkAnnotationElement","PolygonAnnotationElement","HighlightAnnotationElement","UnderlineAnnotationElement","SquigglyAnnotationElement","StrikeOutAnnotationElement","StampAnnotationElement","FileAttachmentAnnotationElement","AnnotationElement","isRenderable","ignoreBorder","linkService","downloadManager","imageResourcesPath","svgFactory","_createContainer","transformOrigin","borderStyle","borderWidth","horizontalRadius","horizontalCornerRadius","verticalRadius","verticalCornerRadius","radius","borderRadius","borderBottomStyle","borderColor","trigger","popupElement","PopupElement","modificationDate","contents","hideWrapper","popup","_AnnotationElement","className","newWindow","externalLinkTarget","externalLinkRel","externalLinkEnabled","_bindNamedAction","_bindLink","destination","getDestinationHash","navigateTo","getAnchorUrl","executeNamedAction","_AnnotationElement2","hasPopup","alt","dataset","l10nId","l10nArgs","_createPopup","_AnnotationElement3","_WidgetAnnotationElem","hasAppearance","fieldValue","TEXT_ALIGNMENT","storage","getOrCreateValue","multiLine","setValue","disabled","readOnly","fieldName","maxLen","comb","fieldWidth","combWidth","letterSpacing","verticalAlign","_setTextStyle","textAlignment","textAlign","direction","fontWeight","fontStyle","_WidgetAnnotationElem2","checked","_WidgetAnnotationElem3","buttonValue","getElementsByName","radio","getAttribute","_LinkAnnotationElemen","_WidgetAnnotationElem4","_super8","selectElement","combo","multiSelect","multiple","option","optionElement","displayValue","exportValue","selectedIndex","_AnnotationElement4","_super9","IGNORE_TYPES","parentType","selector","parentId","parentElement","querySelector","parentLeft","parseFloat","parentWidth","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","inkList","_AnnotationElement12","_super18","_AnnotationElement13","_super19","_AnnotationElement14","_super20","_AnnotationElement15","_super21","_AnnotationElement16","_super22","_AnnotationElement17","_super23","_this6$data$file","eventBus","dispatch","_download","downloadData","sortedAnnotations","popupAnnotations","annotations","_sortedAnnotations","MAX_TEXT_DIVS_TO_RENDER","NonWhitespaceRegexp","isAllWhitespace","appendText","geom","textDiv","textDivProperties","canvasWidth","originalTransform","paddingBottom","paddingLeft","paddingRight","paddingTop","_textDivs","_textDivProperties","tx","_viewport","atan2","fontName","PI","fontHeight","fontAscent","ascent","descent","_fontInspectorEnabled","shouldScaleText","absScaleX","absScaleY","_textContentStream","_layoutText","_enhanceTextSelection","angleCos","angleSin","divWidth","divHeight","_bounds","right","bottom","_canceled","textDivs","textDivsLength","_renderingDone","findPositiveMin","ts","expand","expanded","expandBounds","divProperties","boxScale","boxes","box","x1New","x2New","expandBoundsLTR","fakeBoundary","horizon","boundary","horizonPart","affectedBoundary","maxXNew","xNew","changedHorizon","lastBoundary","useBoundary","used","TextLayerRenderTask","textContentStream","textContentItemsStr","enhanceTextSelection","_textContent","_container","_textContentItemsStr","_layoutTextLastFontSize","_layoutTextLastFontFamily","_layoutTextCtx","_renderTimer","renderParameters","_render","timeout","_processItems","styleCache","_textDiv$style","_this$_layoutTextCtx$","mozOpaque","textItems","textStyles","expandTextDivs","expandDivs","transformBuf","paddingBuf","divProps","padding","opListToTree","opList","opTree","opListElement","pf","toFixed","pm","acos","SVG_DEFAULTS","XML_NS","XLINK_NS","convertImgDataToPng","PNG_HEADER","CHUNK_WRAPPER_SIZE","crcTable","crc32","crc","writePngChunk","adler32","deflateSync","literals","deflateSyncUncompressed","maxBlockLength","deflateBlocks","idat","adler","isMask","bitDepth","colorType","offsetLiterals","offsetBytes","_y","ihdr","pngLength","SVGExtraState","dependencies","activeClipUrl","clipGroup","maskId","clipCount","maskCount","shadingCount","transformMatrix","transformStack","extraStack","embedFonts","embeddedFonts","cssStyle","_operatorIdMapping","tgrp","executeOpTree","_loop","svgElement","loadDependencies","convertOpList","operatorIdMapping","opTreeElement","lineMatrix","xcoords","ycoords","tspan","setAttributeNS","txtElement","txtgrp","lineWidthScale","_setStrokeAttributes","_ensureTransformGroup","defs","addFontStyle","_makeColorN_Pattern","inverseTransform","_makeShadingPattern","_makeTilingPattern","_args$","tilingId","_Util$applyTransform","_Util$applyTransform2","tx0","ty0","_Util$applyTransform3","_Util$applyTransform4","tx1","ty1","_Util$singularValueDe","_Util$singularValueDe2","xscale","yscale","txstep","tystep","tiling","gradient","shadingId","point0","point1","focalPoint","circlePoint","focalRadius","circleRadius","colorStop","getAttributeNS","clipId","clipPath","clipElement","cloneNode","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","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","$trim","forcedStringTrimMethod","whitespaces","whitespace","ltrim","rtrim","hmr","insertInto","locals","sources","sourceRoot","HTMLIFrameElement","contentDocument","refs","u","css","media","sourceMap","insertAt","insertBefore","before","nonce","nc","singleton","convertToAbsoluteUrls","cssText","DEBUG","mouseover","scaleImg","mouseout","cancelScale","imgs","loading","trueWidth","trueHeight","move","crop","cropping","mousedown","startMove","touchstart","cropW","cropH","cropOffsertX","cropOffsertY","cropMove","cropInfo","fixedBox","changeCropSize","_withStripped","FileReader","readAsArrayBuffer","orientation","getUint8","getUint16","getUint32","catch","moveX","moveY","cropOldW","cropOldH","canChangeX","canChangeY","changeCropTypeX","changeCropTypeY","cropX","cropY","cropChangeX","cropChangeY","support","touches","touchNow","isIos","coe","scaling","scalingSet","coeStatus","isCanShow","File","outputSize","outputType","canScale","autoCrop","autoCropWidth","autoCropHeight","fixed","full","canMove","canMoveBox","original","centerBox","high","infoTrue","maxImgSize","preW","limitMinSize","computed","devicePixelRatio","passive","checkedImg","reload","showPreview","goAutoCrop","getVersion","checkOrientationImage","toBlob","clearCrop","Image","substr","crossOrigin","preventDefault","clientX","clientY","moveImg","leaveImg","touchScale","cancelTouchScale","moving","axis","getImgAxis","createCrop","endCrop","pageX","cropper","offsetLeft","pageY","offsetTop","checkoutImgAxis","$nextTick","getCropAxis","changeSize","deltaY","wheelDelta","changeCropNow","changeCropEnd","checkCropLimitSize","startCrop","stopCrop","leaveCrop","moveCrop","getCropChecked","getCropData","toDataURL","getCropBlob","getComputedStyle","checkedMode","changeCrop","refresh","rotateClear","onmousewheel","isIOS","HTMLCanvasElement","_compiled","functional","_scopeId","$vnode","ssrContext","__VUE_SSR_CONTEXT__","_registeredComponents","_ssrRegister","$root","$options","shadowRoot","_injectStyles","beforeCreate","__file","Vue","install","VueCropper","vueCropper","webpackAsyncContext","req","__webpack_require__","pendingOperation","isPDFDocumentLoadingTask","__PDFDocumentLoadingTask","PDFJS","canvasElt","annotationLayerElt","emitEvent","pdfDoc","pdfPage","pdfRender","canceling","clearCanvas","clearAnnotations","pageNumberOnly","PRINT_RESOLUTION","PRINT_UNITS","CSS_UNITS","iframeElt","frameBorder","scrolling","win","getViewport","allPages","printCanvasElt","focus","queryCommandSupported","execCommand","removeIframe","pageRotate","viewer","scrollPageIntoView","setDocument","setViewer","getAnnotationsOperation","pdfRenderOperation","forEachPage","pageCallback","pageNum","reasonStr","ratio","NUMBER","NativeNumber","NumberPrototype","BROKEN_CLASSOF","toNumber","maxCode","NaN","NumberWrapper","non","_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","_cancelled","update","pdfjsLib","isValidRotation","isValidScrollMode","isValidSpreadMode","isPortraitOrientation","clamp","getPDFFileNameFromURL","noContextMenuHandler","parseQueryString","backtrackBeforeAllVisibleElements","getVisibleElements","roundToDivide","getPageSizeInches","approximateFraction","getOutputScale","scrollIntoView","watchScroll","binarySearchFirstItem","normalizeWheelEventDirection","normalizeWheelEventDelta","waitOnEventOrTimeout","moveToEndOfArray","WaitOnType","animationStarted","SpreadMode","ScrollMode","TextLayerMode","RendererType","PresentationModeState","VERTICAL_PADDING","SCROLLBAR_PADDING","MAX_AUTO_SCALE","UNKNOWN_SCALE","MAX_SCALE","MIN_SCALE","DEFAULT_SCALE","DEFAULT_SCALE_VALUE","AutoPrintRegExp","NORMAL","CHANGING","FULLSCREEN","CANVAS","SVG","DISABLE","ENABLE","ENABLE_ENHANCE","VERTICAL","HORIZONTAL","WRAPPED","ODD","EVEN","formatL10nValue","getLanguage","getDirection","fallback","_callee3","_context3","_callee4","_context4","backingStoreRatio","webkitBackingStorePixelRatio","mozBackingStorePixelRatio","msBackingStorePixelRatio","oBackingStorePixelRatio","backingStorePixelRatio","pixelRatio","scaled","spot","skipOverflowHiddenElements","offsetParent","clientTop","clientLeft","clientHeight","scrollHeight","clientWidth","scrollWidth","overflow","_scaleY","_scaleX","scrollLeft","scrollTop","viewAreaElement","debounceScroll","rAF","currentX","lastX","currentY","lastY","down","_eventHandler","param","condition","minIndex","currentIndex","currentItem","xinv","x_","changeOrientation","views","elt","pageTop","scrollEl","sortByVisibility","horizontal","isElementBottomAfterViewTop","elementBottom","isElementRightAfterViewLeft","elementRight","numViews","firstVisibleElementInd","lastEdge","currentWidth","currentHeight","viewWidth","viewHeight","viewRight","viewBottom","hiddenHeight","hiddenWidth","percent","pc","isDataSchema","defaultFilename","reURI","reFilename","splitURI","suggestedFilename","deltaX","MOUSE_DOM_DELTA_PIXEL_MODE","MOUSE_DOM_DELTA_LINE_MODE","MOUSE_PIXELS_PER_LINE","MOUSE_LINES_PER_PAGE","deltaMode","EVENT","TIMEOUT","_ref2$delay","delay","_off","eventHandler","_on","timeoutHandler","eventName","external","eventListeners","externalListeners","units","bar","_indeterminate","progressSize","_percent","scrollbarWidth","_updateBar","moved","_ref$externalLinkTarg","_ref$externalLinkRel","_ref$externalLinkEnab","_ref$ignoreDestinatio","ignoreDestinationZoom","_ignoreDestinationZoom","pdfDocument","pdfViewer","pdfHistory","_pagesRefCache","goToDestination","namedDest","explicitDest","destRef","_cachedPageNumber","cachePageRef","pagesCount","pushCurrentPosition","destArray","phraseSearch","phrase","zoomArgs","zoom","zoomArg","zoomArgNumber","allowNegativeOffset","pagemode","nameddest","isValidExplicitDestination","back","forward","pageRef","refStr","num","isPageVisible","currentPageNumber","pagesRotation","destLength","allowNull","EXPAND_DIVS_TIMEOUT","textLayerDiv","_ref$findController","findController","_ref$enhanceTextSelec","renderingDone","pageIdx","textLayerRenderTask","_onUpdateTextLayerMatches","_bindMouse","endOfContent","numTextDivs","textLayerFrag","createDocumentFragment","_finishRendering","_updateMatches","matchesLength","iIndex","queryLen","mm","matchIdx","divIdx","isSelectedPage","selected","selectedMatchIdx","highlightAll","prevEnd","infinity","i0","i1","isSelected","highlightSuffix","scrollMatchIntoView","matchIndex","appendTextToDiv","n0","n1","fromOffset","toOffset","clearedUntilDivIdx","highlightMatches","pageMatches","pageMatchesLength","_convertMatches","_renderMatches","expandDivsTimer","adjustTop","getPropertyValue","divBounds","getBoundingClientRect","_viewer_compatibility","blobUrl","click","download","msSaveBlob","viewerCompatibilityParams","disableCreateObjectURL","downloadUrl","platform","maxTouchPoints","isAndroid","isIOSChrome","maxCanvasPixels","webL10n","lang","_lang","_ready","setLanguage","_getLanguage","_getDirection","_x3","_translate","_x4","gL10nData","gTextData","gTextProp","gLanguage","gMacros","gReadyState","gAsyncResourceLoading","getL10nResourceLinks","querySelectorAll","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","childElementCount","translateFragment","elementCount","plural","_pluralRules","fallbackString","getText","rtlList","shortCode","getReadyState","once","FindState","_pdf_find_utils","FOUND","NOT_FOUND","FIND_TIMEOUT","MATCH_SCROLL_OFFSET_TOP","MATCH_SCROLL_OFFSET_LEFT","CHARACTERS_TO_NORMALIZE","normalizationRegex","_linkService","_eventBus","_reset","_onFindBarClose","_pdfDocument","_firstPageCapability","_shouldDirtyMatch","_dirtyMatch","_updateUIState","_extractText","findbarClosed","_highlightMatches","pendingTimeout","_findTimeout","_nextMatch","_updateAllPages","_ref2$element","_ref2$pageIndex","_ref2$matchIndex","_scrollMatches","_selected","_pageMatches","_pageMatchesLength","_offset","wrapped","_extractTextPromises","_pageContents","_matchesCountTotal","_pagesToSearch","_pendingFindMatches","_resumePageIdx","matchesWithLength","isSubTerm","currentElem","nextElem","skipped","prevElem","matchLength","startIdx","getCharacterType","endIdx","_limit","pageContent","entireWord","_isEntireWord","queryArray","subquery","subqueryLen","_prepareMatches","_query","_this$_state","caseSensitive","_calculatePhraseMatch","_calculateWordMatch","_updatePage","_nextPageMatch","pageMatchesCount","_updateUIResultsCount","extractTextCapability","getTextContent","findPrevious","currentPageIndex","_calculateMatch","numPageMatches","_updateMatch","_advanceOffsetPage","numMatches","_matchesReady","previousPage","_this$_selected","matchesCount","_requestMatchesCount","rawQuery","_rawQuery","_normalizedQuery","CharacterType","SPACE","ALPHA_LETTER","PUNCT","HAN_LETTER","KATAKANA_LETTER","HIRAGANA_LETTER","HALFWIDTH_KATAKANA_LETTER","THAI_LETTER","isAlphabeticalScript","charCode","isAscii","isAsciiAlpha","isAsciiDigit","isAsciiSpace","isHan","isKatakana","isHiragana","isHalfwidthKatakana","isThai","isDestHashesEqual","isDestArraysEqual","HASH_CHANGE_TIMEOUT","POSITION_UPDATED_THRESHOLD","UPDATE_VIEWAREA_TIMEOUT","getCurrentHash","_initialized","_fingerprint","_boundEvents","_isViewerInPresentationMode","active","switchInProgress","_isPagesLoaded","onPagesLoaded","_ref2$resetHistory","resetHistory","_ref2$updateUrl","updateUrl","reInitialized","_updateUrl","_bindEvents","_popStateInProgress","_blockHashChange","_currentHash","_numPositionUpdates","_uid","_maxUid","_destination","_position","_isValidState","_this$_parseCurrentHa","_parseCurrentHash","_pushOrReplaceState","_updateInternalState","_initialRotation","_initialBookmark","_pageHide","_unbindEvents","_updateViewareaTimeout","_ref3$namedDest","forceReplace","_tryPushCurrentPosition","newUrl","shouldReplace","newState","temporary","checkReload","_performance$getEntri","performance","getEntriesByType","_performance$getEntri2","perfEntry","removeTemporary","checkNameddest","pdfOpenParams","newHash","hashChanged","setHash","_this$_parseCurrentHa2","updateViewarea","_updateViewarea","popState","_popState","pageHide","destHash","pushHash","_parseQueryString","firstDest","secondDest","isEntryEqual","_pdf_rendering_queue","MAX_CANVAS_PIXELS","defaultViewport","renderingId","pageLabel","pdfPageRotate","_annotationStorage","_optionalContentConfigPromise","hasRestrictedScaling","textLayerMode","useOnlyCssZoom","renderingQueue","textLayerFactory","annotationLayerFactory","renderer","paintTask","paintedViewportMap","renderingState","RenderingStates","INITIAL","resume","textLayer","zoomLayer","totalRotation","stats","_renderAnnotationLayer2","_renderAnnotationLayer","removeFromDOM","zoomLayerCanvas","keepZoomLayer","keepAnnotations","cancelRendering","currentZoomLayerNode","currentAnnotationNode","hide","_resetZoomLayer","loadingIconDiv","cssTransform","timestamp","isScalingRestricted","outputScale","redrawAnnotations","relativeRotation","absRotation","textLayerViewport","textRelativeRotation","textAbsRotation","transX","transY","convertToPdfPoint","FINISHED","RUNNING","canvasWrapper","createTextLayerBuilder","renderContinueCallback","cont","isHighestPriority","PAUSED","finishPaintTask","paintOnSvg","paintOnCanvas","onRenderContinue","resultPromise","setTextContentStream","createAnnotationLayerBuilder","renderCapability","isCanvasHidden","showCanvas","actualSizeViewport","pixelsInViewport","maxScale","sfx","sfy","renderContext","ensureNotCancelled","getOperatorList","svgGfx","getSVG","PDFRenderingQueue","CLEANUP_TIMEOUT","pdfThumbnailViewer","onIdle","highestPriorityPage","idleTimeout","printing","isThumbnailViewEnabled","currentlyVisiblePages","forceRendering","scrolledDown","visibleViews","numVisible","isViewFinished","nextPageIndex","previousPageIndex","draw","renderHighestPriority","_base_viewer","_BaseViewer","_ensurePageViewVisible","_previousPageNumber","_shadowViewer","_updateScrollDown","pageView","_pages","_currentPageNumber","previousPageView","viewerNodes","_ref$pageSpot","pageSpot","_ref$pageNumber","_setCurrentPageNumber","scroll","_getCurrentVisiblePage","visiblePages","BaseViewer","DEFAULT_CACHE_SIZE","PDFPageViewBuffer","newSize","pagesToKeep","pageIdsToKeep","iMax","isSameScale","oldScale","newScale","_name","firstElementChild","HTMLDivElement","removePageBorders","enablePrintAutoRotate","defaultRenderingQueue","_scrollUpdate","presentationModeState","_onBeforeDraw","_onAfterDraw","_resetView","resetCurrentPageView","_resetCurrentPageView","_pageLabels","_getVisiblePages","_onePageRenderedCapability","_cancelRendering","firstPagePromise","_pagesCapability","_buffer","settled","firstPdfPage","currentScale","_viewerElement","firstPageView","setPdfPage","_spreadMode","_updateSpreadMode","_onePageRenderedOrForceFetch","getPagesLeft","_pageNum","setPageLabel","_currentScale","_currentScaleValue","_location","_pagesRotation","_pagesRequests","_scrollMode","_updateScrollMode","newValue","noScroll","preset","presetValue","isInPresentationMode","isChangingPresentationMode","_setScaleUpdatePages","currentPage","noPadding","hPadding","vPadding","_isScrollModeHorizontal","pageWidthScale","pageHeightScale","horizontalScale","_setScale","_scrollIntoView","_ref3$destArray","_ref3$allowNegativeOf","_ref3$ignoreDestinati","pageWidth","pageHeight","currentScaleValue","boundingRect","convertToViewportPoint","firstPage","normalizedScaleValue","currentPageView","getPagePoint","intLeft","intTop","numVisiblePages","newCacheSize","_updateHelper","_updateLocation","scrollAhead","getHighestPriority","_ensurePdfPageLoaded","renderView","pagesOverview","scrollMode","pages","parity","spread","_iMax","_this$container","currentId","stillFullyVisible"],"mappings":"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,gBAAiB,CAChB,OACA,0BAED,uBAAwB,CACvB,OACA,iCAED,uBAAwB,CACvB,OACA,iCAED,uBAAwB,CACvB,OACA,iCAED,uBAAwB,CACvB,OACA,iCAED,uBAAwB,CACvB,OACA,iCAED,uBAAwB,CACvB,OACA,iCAED,uBAAwB,CACvB,OACA,iCAED,0BAA2B,CAC1B,OACA,oCAED,sBAAuB,CACtB,OACA,gCAED,sBAAuB,CACtB,OACA,gCAED,sBAAuB,CACtB,OACA,gCAED,sBAAuB,CACtB,OACA,gCAED,sBAAuB,CACtB,OACA,gCAED,sBAAuB,CACtB,OACA,gCAED,yBAA0B,CACzB,OACA,mCAED,yBAA0B,CACzB,OACA,mCAED,yBAA0B,CACzB,OACA,mCAED,yBAA0B,CACzB,OACA,mCAED,yBAA0B,CACzB,QACA,mCAED,yBAA0B,CACzB,OACA,mCAED,yBAA0B,CACzB,OACA,mCAED,yBAA0B,CACzB,OACA,mCAED,4BAA6B,CAC5B,OACA,sCAED,yBAA0B,CACzB,OACA,mCAED,yBAA0B,CACzB,OACA,mCAED,yBAA0B,CACzB,OACA,mCAED,4BAA6B,CAC5B,OACA,sCAED,eAAgB,CACf,OACA,yBAED,eAAgB,CACf,QACA,yBAED,iBAAkB,CACjB,OACA,2BAED,iBAAkB,CACjB,OACA,2BAED,oBAAqB,CACpB,OACA,8BAED,oBAAqB,CACpB,QACA,8BAED,iBAAkB,CACjB,OACA,2BAED,iBAAkB,CACjB,OACA,2BAED,iBAAkB,CACjB,OACA,2BAED,iBAAkB,CACjB,OACA,2BAED,oBAAqB,CACpB,OACA,8BAED,oBAAqB,CACpB,OACA,8BAED,oBAAqB,CACpB,OACA,8BAED,oBAAqB,CACpB,OACA,8BAED,sBAAuB,CACtB,OACA,gCAED,sBAAuB,CACtB,OACA,gCAED,gBAAiB,CAChB,OACA,0BAED,gBAAiB,CAChB,OACA,0BAED,gBAAiB,CAChB,OACA,0BAED,qBAAsB,CACrB,OACA,+BAED,qBAAsB,CACrB,OACA,+BAED,gBAAiB,CAChB,OACA,0BAED,mBAAoB,CACnB,OACA,6BAED,mBAAoB,CACnB,OACA,6BAED,eAAgB,CACf,OACA,yBAED,eAAgB,CACf,OACA,yBAED,oBAAqB,CACpB,OACA,8BAED,oBAAqB,CACpB,OACA,8BAED,kBAAmB,CAClB,OACA,4BAED,kBAAmB,CAClB,OACA,4BAED,qBAAsB,CACrB,OACA,+BAED,qBAAsB,CACrB,OACA,+BAED,oBAAqB,CACpB,OACA,8BAED,oBAAqB,CACpB,OACA,8BAED,gBAAiB,CAChB,OACA,0BAED,gBAAiB,CAChB,OACA,0BAED,sBAAuB,CACtB,OACA,gCAED,sBAAuB,CACtB,OACA,gCAED,qBAAsB,CACrB,OACA,+BAED,qBAAsB,CACrB,OACA,+BAED,YAAa,CACZ,OACA,sBAED,qBAAsB,CACrB,OACA,+BAED,qBAAsB,CACrB,OACA,+BAED,qBAAsB,CACrB,OACA,+BAED,qBAAsB,CACrB,OACA,+BAED,sBAAuB,CACtB,OACA,gCAED,sBAAuB,CACtB,OACA,gCAED,sBAAuB,CACtB,OACA,gCAED,sBAAuB,CACtB,OACA,gCAED,sBAAuB,CACtB,OACA,gCAED,sBAAuB,CACtB,OACA,gCAED,qBAAsB,CACrB,OACA,+BAED,qBAAsB,CACrB,OACA,+BAED,kBAAmB,CAClB,OACA,4BAED,mBAAoB,CACnB,OACA,6BAED,oBAAqB,CACpB,OACA,8BAED,oBAAqB,CACpB,OACA,8BAED,gBAAiB,CAChB,OACA,0BAED,sBAAuB,CACtB,OACA,gCAED,sBAAuB,CACtB,OACA,gCAED,gBAAiB,CAChB,OACA,0BAED,sBAAuB,CACtB,OACA,gCAED,yBAA0B,CACzB,OACA,mCAED,yBAA0B,CACzB,OACA,mCAED,sBAAuB,CACtB,OACA,gCAED,sBAAuB,CACtB,OACA,gCAED,sBAAuB,CACtB,OACA,gCAED,mBAAoB,CACnB,OACA,6BAED,gBAAiB,CAChB,OACA,0BAED,gBAAiB,CAChB,OACA,0BAED,iBAAkB,CACjB,OACA,2BAED,iBAAkB,CACjB,OACA,2BAED,gBAAiB,CAChB,OACA,0BAED,wBAAyB,CACxB,OACA,kCAED,wBAAyB,CACxB,OACA,kCAED,yBAA0B,CACzB,OACA,mCAED,yBAA0B,CACzB,OACA,mCAED,yBAA0B,CACzB,OACA,mCAED,yBAA0B,CACzB,OACA,mCAED,wBAAyB,CACxB,OACA,kCAED,wBAAyB,CACxB,OACA,kCAED,uBAAwB,CACvB,OACA,iCAED,uBAAwB,CACvB,OACA,iCAED,wBAAyB,CACxB,OACA,kCAED,wBAAyB,CACxB,OACA,kCAED,wBAAyB,CACxB,OACA,kCAED,wBAAyB,CACxB,OACA,kCAED,uBAAwB,CACvB,OACA,iCAED,uBAAwB,CACvB,OACA,iCAED,wBAAyB,CACxB,OACA,kCAED,2BAA4B,CAC3B,QACA,qCAED,2BAA4B,CAC3B,OACA,qCAED,wBAAyB,CACxB,OACA,kCAED,yBAA0B,CACzB,OACA,mCAED,yBAA0B,CACzB,OACA,mCAED,yBAA0B,CACzB,OACA,mCAED,yBAA0B,CACzB,OACA,mCAED,wBAAyB,CACxB,OACA,kCAED,wBAAyB,CACxB,OACA,kCAED,6BAA8B,CAC7B,OACA,uCAED,6BAA8B,CAC7B,OACA,uCAED,6BAA8B,CAC7B,OACA,uCAED,6BAA8B,CAC7B,OACA,uCAED,4BAA6B,CAC5B,OACA,sCAED,4BAA6B,CAC5B,OACA,sCAED,8BAA+B,CAC9B,OACA,wCAED,2BAA4B,CAC3B,OACA,qCAED,2BAA4B,CAC3B,OACA,qCAED,8BAA+B,CAC9B,OACA,wCAED,8BAA+B,CAC9B,OACA,wCAED,kCAAmC,CAClC,OACA,4CAED,kCAAmC,CAClC,OACA,4CAED,uBAAwB,CACvB,OACA,iCAED,uBAAwB,CACvB,OACA,iCAED,wBAAyB,CACxB,OACA,kCAED,wBAAyB,CACxB,OACA,kCAED,wBAAyB,CACxB,OACA,kCAED,wBAAyB,CACxB,OACA,kCAED,uBAAwB,CACvB,OACA,iCAED,uBAAwB,CACvB,OACA,iCAED,YAAa,CACZ,OACA,sBAED,oBAAqB,CACpB,OACA,+BAGF,SAAS2qE,EAAoB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ACN,GAAM,EACN,IAAO,EACP,GAAM,EACN,GAAM,EACN,IAAO,EACP,GAAM,EACN,GAAM,EACN,GAAM,GACN,GAAM,EACN,IAAO,EACP,GAAM,EACN,IAAO,EACP,GAAM,GACN,GAAM,EACN,IAAO,EACP,GAAM,EACN,GAAM,EACN,GAAM,GACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,IAAO,EACP,GAAM,EACN,GAAM,EACN,IAAO,EACP,IAAO,EACP,IAAO,EACP,IAAO,EACP,IAAO,EACP,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,IAAO,EACP,IAAO,GACP,GAAM,EACN,GAAM,EACN,IAAO,GACP,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,GACN,GAAM,EACN,IAAO,EACP,GAAM,EACN,GAAM,GACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,GACN,GAAM,EACN,IAAO,EACP,IAAO,EACP,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,IAAO,EACP,GAAM,EACN,IAAO,EACP,GAAM,EACN,GAAM,EACN,GAAM,EACN,IAAO,EACP,GAAM,GACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,IAAO,EACP,GAAM,GACN,IAAO,EACP,IAAO,EACP,IAAO,EACP,GAAM,EACN,IAAO,EACP,IAAO,EACP,GAAM,EACN,GAAM,GACN,IAAO,GACP,GAAM,GACN,GAAM,GACN,IAAO,EACP,IAAO,EACP,IAAO,EACP,IAAO,EACP,IAAO,EACP,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,GACN,GAAM,EACN,IAAO,EACP,GAAM,EACN,GAAM,EACN,GAAM,EACN,IAAO,EACP,GAAM,EACN,GAAM,EACN,IAAO,EACP,GAAM,EACN,GAAM,EACN,IAAO,EACP,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,E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","file":"fbStatic/js/chunk-277bbbc2.3ea7288b.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"image-upload-box clearfix\"},[_c('div',{staticClass:\"image\"},[(_vm.$utils.getFileType(_vm.urlFull) != 'pdf')?_c('el-image',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.uploadLoading),expression:\"uploadLoading\"}],attrs:{\"src\":_vm.urlFull,\"fit\":\"cover\",\"preview-src-list\":[].concat( _vm.urlFull )}},[_c('div',{staticClass:\"image-slot\",attrs:{\"slot\":\"error\"},slot:\"error\"},[_vm._t(\"image-slot\",[_c('i',{staticClass:\"iconfont\"},[_vm._v(\"\")])])],2)]):_c('pdf',{attrs:{\"src\":_vm.urlFull}}),(_vm.urlFull)?_c('div',{staticClass:\"tool\"},[_c('div',[_c('span',{staticClass:\"img-preview el-icon-zoom-in\",on:{\"click\":_vm.preview}}),_c('el-button',{attrs:{\"icon\":\"el-icon-delete\",\"type\":\"text\"},on:{\"click\":_vm.remove}})],1)]):_vm._e()],1),_c('div',{staticClass:\"image-upload-content\"},[_c('ul',[_c('li',[_c('i',{class:_vm._f(\"verified\")(_vm.formatVerified)}),_vm._v(\" 格式: \"),_vm._t(\"type\",[_vm._v(\"支持格式为JPG、PNG\")])],2),_c('li',[_c('i',{class:_vm._f(\"verified\")(_vm.sizeVerified)}),_vm._v(\" 尺寸: \"),(!_vm.width && !_vm.height && !_vm.minWidth && !_vm.minHeight)?_vm._t(\"size\",[_vm._v(\" 无特殊要求 \")]):_vm._t(\"size\",[_vm._v(\" \"+_vm._s(_vm.minWidth && _vm.minHeight ? '不小于'+_vm.minWidth+'*'+_vm.minHeight+'px' : '')+\" \"+_vm._s(_vm.maxWidth && _vm.maxHeight ? '不大于'+_vm.maxWidth+'*'+_vm.maxHeight+'px' : '')+\" \"+_vm._s(_vm.width && _vm.height ? '必须为'+_vm.width+'*'+_vm.height+'px' : '')+\" \")])],2),_c('li',[_c('i',{class:_vm._f(\"verified\")(_vm.bytesVerified)}),_vm._v(\" 大小: 大小不超过10M \")])]),_c('div',{staticClass:\"image-upload-btn\"},[_c('el-upload',{attrs:{\"action\":\"\",\"accept\":_vm.accept,\"http-request\":_vm.uploadFile,\"show-file-list\":false,\"disabled\":_vm.uploadLoading,\"before-upload\":_vm.beforeImageUpload}},[_c('el-button',{attrs:{\"type\":\"primary\",\"icon\":\"el-icon-upload\",\"size\":\"small\"}},[_vm._v(_vm._s(_vm.url ? '重新上传' : '点击上传'))])],1)],1)]),_c('el-dialog',{attrs:{\"title\":\"裁剪图片\",\"visible\":_vm.dialogVisible,\"close-on-click-modal\":false,\"close-on-press-escape\":false,\"show-close\":false,\"width\":parseInt(_vm.cropperBoxWidth + 40)+'px',\"append-to-body\":\"\"},on:{\"update:visible\":function($event){_vm.dialogVisible=$event}}},[_c('div',{staticClass:\"cropper-content\",style:({height:_vm.cropperBoxHeight+'px'})},[_c('vue-cropper',{ref:\"cropper\",attrs:{\"img\":_vm.copperOptions.img,\"fixed\":true,\"auto-crop\":true,\"output-type\":\"png\",\"fixed-number\":_vm.copperOptions.fixedNumber,\"centerBox\":false,\"infoTrue\":true,\"fixedBox\":true,\"auto-crop-width\":_vm.cropperBoxWidth,\"auto-crop-height\":_vm.cropperBoxHeight,\"enlarge\":_vm.copperOptions.enlarge}})],1),_c('div',{staticClass:\"dialog-footer clearfix\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('div',{staticClass:\"tool fl\"},[_c('el-button',{attrs:{\"icon\":\"el-icon-zoom-in\"},on:{\"click\":function($event){return _vm.changeScale(1)}}}),_c('el-button',{attrs:{\"icon\":\"el-icon-zoom-out\"},on:{\"click\":function($event){return _vm.changeScale(-1)}}}),_c('el-button',{attrs:{\"icon\":\"el-icon-refresh-left\"},on:{\"click\":_vm.rotateLeft}}),_c('el-button',{attrs:{\"icon\":\"el-icon-refresh-right\"},on:{\"click\":_vm.rotateRight}})],1),_c('div',{staticClass:\"btn fr\"},[_c('el-button',{on:{\"click\":function($event){_vm.dialogVisible = false}}},[_vm._v(\"取消\")]),_c('el-button',{attrs:{\"type\":\"primary\",\"loading\":_vm.uploadLoading},on:{\"click\":_vm.finish}},[_vm._v(\"确定\")])],1)])]),_c('el-dialog',{attrs:{\"visible\":_vm.previewVisible,\"title\":\"高清预览\",\"center\":\"\",\"append-to-body\":\"\",\"width\":\"90%\"},on:{\"update:visible\":function($event){_vm.previewVisible=$event}}},[_c('div',{staticClass:\"preview-box\"},[(_vm.urlFull && _vm.$utils.getFileType(_vm.urlFull) == 'pdf')?_vm._l((_vm.numPages),function(i){return _c('pdf',{key:i,ref:\"pdf\",refInFor:true,attrs:{\"src\":_vm.pdfUrl,\"page\":i}})}):_c('img',{attrs:{\"src\":_vm.urlFull}})],2)])],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&\"","import { CMapCompressionType } from 'pdfjs-dist/es5/build/pdf.js'\r\n\r\n// see https://github.com/mozilla/pdf.js/blob/628e70fbb5dea3b9066aa5c34cca70aaafef8db2/src/display/dom_utils.js#L64\r\n\r\nexport default function() {\r\n\r\n\tthis.fetch = function(query) {\r\n\r\n\t\treturn import('./buffer-loader!pdfjs-dist/cmaps/'+query.name+'.bcmap' /* webpackChunkName: \"noprefetch-[request]\" */)\r\n\t\t.then(function(bcmap) {\r\n\r\n\t\t\treturn {\r\n\t\t\t\tcMapData: bcmap.default,\r\n\t\t\t\tcompressionType: CMapCompressionType.BINARY,\r\n\t\t\t};\r\n\t\t});\r\n\t}\r\n};\r\n","\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.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!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=6a141ac2&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=6a141ac2&lang=scss&scoped=true&\"\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 \"6a141ac2\",\n null\n \n)\n\nexport default component.exports","module.exports = function() {\n return new Worker(__webpack_public_path__ + \"b504a610fda76978c078.worker.js\");\n};","/**\n * @licstart The following is the entire license notice for the\n * Javascript code in this page\n *\n * Copyright 2020 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * @licend The above is the entire license notice for the\n * Javascript code in this page\n */\n\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"pdfjs-dist/build/pdf\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"pdfjs-dist/build/pdf\"] = factory();\n\telse\n\t\troot[\"pdfjs-dist/build/pdf\"] = root.pdfjsLib = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __w_pdfjs_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __w_pdfjs_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__w_pdfjs_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__w_pdfjs_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__w_pdfjs_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__w_pdfjs_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__w_pdfjs_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__w_pdfjs_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __w_pdfjs_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__w_pdfjs_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __w_pdfjs_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__w_pdfjs_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__w_pdfjs_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__w_pdfjs_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__w_pdfjs_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __w_pdfjs_require__(__w_pdfjs_require__.s = 0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"addLinkAttributes\", {\n enumerable: true,\n get: function get() {\n return _display_utils.addLinkAttributes;\n }\n});\nObject.defineProperty(exports, \"getFilenameFromUrl\", {\n enumerable: true,\n get: function get() {\n return _display_utils.getFilenameFromUrl;\n }\n});\nObject.defineProperty(exports, \"LinkTarget\", {\n enumerable: true,\n get: function get() {\n return _display_utils.LinkTarget;\n }\n});\nObject.defineProperty(exports, \"loadScript\", {\n enumerable: true,\n get: function get() {\n return _display_utils.loadScript;\n }\n});\nObject.defineProperty(exports, \"PDFDateString\", {\n enumerable: true,\n get: function get() {\n return _display_utils.PDFDateString;\n }\n});\nObject.defineProperty(exports, \"RenderingCancelledException\", {\n enumerable: true,\n get: function get() {\n return _display_utils.RenderingCancelledException;\n }\n});\nObject.defineProperty(exports, \"build\", {\n enumerable: true,\n get: function get() {\n return _api.build;\n }\n});\nObject.defineProperty(exports, \"getDocument\", {\n enumerable: true,\n get: function get() {\n return _api.getDocument;\n }\n});\nObject.defineProperty(exports, \"LoopbackPort\", {\n enumerable: true,\n get: function get() {\n return _api.LoopbackPort;\n }\n});\nObject.defineProperty(exports, \"PDFDataRangeTransport\", {\n enumerable: true,\n get: function get() {\n return _api.PDFDataRangeTransport;\n }\n});\nObject.defineProperty(exports, \"PDFWorker\", {\n enumerable: true,\n get: function get() {\n return _api.PDFWorker;\n }\n});\nObject.defineProperty(exports, \"version\", {\n enumerable: true,\n get: function get() {\n return _api.version;\n }\n});\nObject.defineProperty(exports, \"CMapCompressionType\", {\n enumerable: true,\n get: function get() {\n return _util.CMapCompressionType;\n }\n});\nObject.defineProperty(exports, \"createObjectURL\", {\n enumerable: true,\n get: function get() {\n return _util.createObjectURL;\n }\n});\nObject.defineProperty(exports, \"createPromiseCapability\", {\n enumerable: true,\n get: function get() {\n return _util.createPromiseCapability;\n }\n});\nObject.defineProperty(exports, \"createValidAbsoluteUrl\", {\n enumerable: true,\n get: function get() {\n return _util.createValidAbsoluteUrl;\n }\n});\nObject.defineProperty(exports, \"InvalidPDFException\", {\n enumerable: true,\n get: function get() {\n return _util.InvalidPDFException;\n }\n});\nObject.defineProperty(exports, \"MissingPDFException\", {\n enumerable: true,\n get: function get() {\n return _util.MissingPDFException;\n }\n});\nObject.defineProperty(exports, \"OPS\", {\n enumerable: true,\n get: function get() {\n return _util.OPS;\n }\n});\nObject.defineProperty(exports, \"PasswordResponses\", {\n enumerable: true,\n get: function get() {\n return _util.PasswordResponses;\n }\n});\nObject.defineProperty(exports, \"PermissionFlag\", {\n enumerable: true,\n get: function get() {\n return _util.PermissionFlag;\n }\n});\nObject.defineProperty(exports, \"removeNullCharacters\", {\n enumerable: true,\n get: function get() {\n return _util.removeNullCharacters;\n }\n});\nObject.defineProperty(exports, \"shadow\", {\n enumerable: true,\n get: function get() {\n return _util.shadow;\n }\n});\nObject.defineProperty(exports, \"UnexpectedResponseException\", {\n enumerable: true,\n get: function get() {\n return _util.UnexpectedResponseException;\n }\n});\nObject.defineProperty(exports, \"UNSUPPORTED_FEATURES\", {\n enumerable: true,\n get: function get() {\n return _util.UNSUPPORTED_FEATURES;\n }\n});\nObject.defineProperty(exports, \"Util\", {\n enumerable: true,\n get: function get() {\n return _util.Util;\n }\n});\nObject.defineProperty(exports, \"VerbosityLevel\", {\n enumerable: true,\n get: function get() {\n return _util.VerbosityLevel;\n }\n});\nObject.defineProperty(exports, \"AnnotationLayer\", {\n enumerable: true,\n get: function get() {\n return _annotation_layer.AnnotationLayer;\n }\n});\nObject.defineProperty(exports, \"apiCompatibilityParams\", {\n enumerable: true,\n get: function get() {\n return _api_compatibility.apiCompatibilityParams;\n }\n});\nObject.defineProperty(exports, \"GlobalWorkerOptions\", {\n enumerable: true,\n get: function get() {\n return _worker_options.GlobalWorkerOptions;\n }\n});\nObject.defineProperty(exports, \"renderTextLayer\", {\n enumerable: true,\n get: function get() {\n return _text_layer.renderTextLayer;\n }\n});\nObject.defineProperty(exports, \"SVGGraphics\", {\n enumerable: true,\n get: function get() {\n return _svg.SVGGraphics;\n }\n});\n\nvar _display_utils = __w_pdfjs_require__(1);\n\nvar _api = __w_pdfjs_require__(202);\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _annotation_layer = __w_pdfjs_require__(216);\n\nvar _api_compatibility = __w_pdfjs_require__(206);\n\nvar _worker_options = __w_pdfjs_require__(209);\n\nvar _text_layer = __w_pdfjs_require__(217);\n\nvar _svg = __w_pdfjs_require__(218);\n\nvar pdfjsVersion = '2.6.347';\nvar pdfjsBuild = '3be9c65f';\n{\n var _require = __w_pdfjs_require__(7),\n isNodeJS = _require.isNodeJS;\n\n if (isNodeJS) {\n var PDFNodeStream = __w_pdfjs_require__(219).PDFNodeStream;\n\n (0, _api.setPDFNetworkStreamFactory)(function (params) {\n return new PDFNodeStream(params);\n });\n } else {\n var PDFNetworkStream = __w_pdfjs_require__(222).PDFNetworkStream;\n\n var PDFFetchStream;\n\n if ((0, _display_utils.isFetchSupported)()) {\n PDFFetchStream = __w_pdfjs_require__(223).PDFFetchStream;\n }\n\n (0, _api.setPDFNetworkStreamFactory)(function (params) {\n if (PDFFetchStream && (0, _display_utils.isValidFetchUrl)(params.url)) {\n return new PDFFetchStream(params);\n }\n\n return new PDFNetworkStream(params);\n });\n }\n}\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.addLinkAttributes = addLinkAttributes;\nexports.getFilenameFromUrl = getFilenameFromUrl;\nexports.isFetchSupported = isFetchSupported;\nexports.isValidFetchUrl = isValidFetchUrl;\nexports.loadScript = loadScript;\nexports.deprecated = deprecated;\nexports.PDFDateString = exports.StatTimer = exports.DOMSVGFactory = exports.DOMCMapReaderFactory = exports.BaseCMapReaderFactory = exports.DOMCanvasFactory = exports.BaseCanvasFactory = exports.DEFAULT_LINK_REL = exports.LinkTarget = exports.RenderingCancelledException = exports.PageViewport = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction 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 _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar 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 return new Promise(function (resolve, reject) {\n var script = document.createElement(\"script\");\n script.src = src;\n script.onload = resolve;\n\n script.onerror = function () {\n reject(new Error(\"Cannot load script at: \".concat(script.src)));\n };\n\n (document.head || document.documentElement).appendChild(script);\n });\n}\n\nfunction deprecated(details) {\n console.log(\"Deprecated API usage: \" + details);\n}\n\nvar pdfDateStringRegex;\n\nvar PDFDateString = /*#__PURE__*/function () {\n function PDFDateString() {\n _classCallCheck(this, PDFDateString);\n }\n\n _createClass(PDFDateString, null, [{\n key: \"toDateObject\",\n value: function toDateObject(input) {\n if (!input || !(0, _util.isString)(input)) {\n return null;\n }\n\n if (!pdfDateStringRegex) {\n pdfDateStringRegex = new RegExp(\"^D:\" + \"(\\\\d{4})\" + \"(\\\\d{2})?\" + \"(\\\\d{2})?\" + \"(\\\\d{2})?\" + \"(\\\\d{2})?\" + \"(\\\\d{2})?\" + \"([Z|+|-])?\" + \"(\\\\d{2})?\" + \"'?\" + \"(\\\\d{2})?\" + \"'?\");\n }\n\n var matches = pdfDateStringRegex.exec(input);\n\n if (!matches) {\n return null;\n }\n\n var year = parseInt(matches[1], 10);\n var month = parseInt(matches[2], 10);\n month = month >= 1 && month <= 12 ? month - 1 : 0;\n var day = parseInt(matches[3], 10);\n day = day >= 1 && day <= 31 ? day : 1;\n var hour = parseInt(matches[4], 10);\n hour = hour >= 0 && hour <= 23 ? hour : 0;\n var minute = parseInt(matches[5], 10);\n minute = minute >= 0 && minute <= 59 ? minute : 0;\n var second = parseInt(matches[6], 10);\n second = second >= 0 && second <= 59 ? second : 0;\n var universalTimeRelation = matches[7] || \"Z\";\n var offsetHour = parseInt(matches[8], 10);\n offsetHour = offsetHour >= 0 && offsetHour <= 23 ? offsetHour : 0;\n var offsetMinute = parseInt(matches[9], 10) || 0;\n offsetMinute = offsetMinute >= 0 && offsetMinute <= 59 ? offsetMinute : 0;\n\n if (universalTimeRelation === \"-\") {\n hour += offsetHour;\n minute += offsetMinute;\n } else if (universalTimeRelation === \"+\") {\n hour -= offsetHour;\n minute -= offsetMinute;\n }\n\n return new Date(Date.UTC(year, month, day, hour, minute, second));\n }\n }]);\n\n return PDFDateString;\n}();\n\nexports.PDFDateString = PDFDateString;\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = __w_pdfjs_require__(3);\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(module) {\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar runtime = function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined;\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function 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 ? undefined : _typeof(module)) === \"object\" ? module.exports : {});\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n/* WEBPACK VAR INJECTION */}.call(this, __w_pdfjs_require__(4)(module)))\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (module) {\n if (!module.webpackPolyfill) {\n module.deprecate = function () {};\n\n module.paths = [];\n if (!module.children) module.children = [];\n Object.defineProperty(module, \"loaded\", {\n enumerable: true,\n get: function get() {\n return module.l;\n }\n });\n Object.defineProperty(module, \"id\", {\n enumerable: true,\n get: function get() {\n return module.i;\n }\n });\n module.webpackPolyfill = 1;\n }\n\n return module;\n};\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.arrayByteLength = arrayByteLength;\nexports.arraysToBytes = arraysToBytes;\nexports.assert = assert;\nexports.bytesToString = bytesToString;\nexports.createPromiseCapability = createPromiseCapability;\nexports.escapeString = escapeString;\nexports.getModificationDate = getModificationDate;\nexports.getVerbosityLevel = getVerbosityLevel;\nexports.info = info;\nexports.isArrayBuffer = isArrayBuffer;\nexports.isArrayEqual = isArrayEqual;\nexports.isBool = isBool;\nexports.isNum = isNum;\nexports.isString = isString;\nexports.isSameOrigin = isSameOrigin;\nexports.createValidAbsoluteUrl = createValidAbsoluteUrl;\nexports.removeNullCharacters = removeNullCharacters;\nexports.setVerbosityLevel = setVerbosityLevel;\nexports.shadow = shadow;\nexports.string32 = string32;\nexports.stringToBytes = stringToBytes;\nexports.stringToPDFString = stringToPDFString;\nexports.stringToUTF8String = stringToUTF8String;\nexports.utf8StringToString = utf8StringToString;\nexports.warn = warn;\nexports.unreachable = unreachable;\nexports.IsEvalSupportedCached = exports.IsLittleEndianCached = exports.createObjectURL = exports.FormatError = exports.Util = exports.UnknownErrorException = exports.UnexpectedResponseException = exports.TextRenderingMode = exports.StreamType = exports.PermissionFlag = exports.PasswordResponses = exports.PasswordException = exports.MissingPDFException = exports.InvalidPDFException = exports.AbortException = exports.CMapCompressionType = exports.ImageKind = exports.FontType = exports.AnnotationType = exports.AnnotationStateModelType = exports.AnnotationReviewState = exports.AnnotationReplyType = exports.AnnotationMarkedState = exports.AnnotationFlag = exports.AnnotationFieldFlag = exports.AnnotationBorderStyleType = exports.UNSUPPORTED_FEATURES = exports.VerbosityLevel = exports.OPS = exports.IDENTITY_MATRIX = exports.FONT_IDENTITY_MATRIX = exports.BaseException = void 0;\n\n__w_pdfjs_require__(6);\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0];\nexports.IDENTITY_MATRIX = IDENTITY_MATRIX;\nvar FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0];\nexports.FONT_IDENTITY_MATRIX = FONT_IDENTITY_MATRIX;\nvar PermissionFlag = {\n PRINT: 0x04,\n MODIFY_CONTENTS: 0x08,\n COPY: 0x10,\n MODIFY_ANNOTATIONS: 0x20,\n FILL_INTERACTIVE_FORMS: 0x100,\n COPY_FOR_ACCESSIBILITY: 0x200,\n ASSEMBLE: 0x400,\n PRINT_HIGH_QUALITY: 0x800\n};\nexports.PermissionFlag = PermissionFlag;\nvar TextRenderingMode = {\n FILL: 0,\n STROKE: 1,\n FILL_STROKE: 2,\n INVISIBLE: 3,\n FILL_ADD_TO_PATH: 4,\n STROKE_ADD_TO_PATH: 5,\n FILL_STROKE_ADD_TO_PATH: 6,\n ADD_TO_PATH: 7,\n FILL_STROKE_MASK: 3,\n ADD_TO_PATH_FLAG: 4\n};\nexports.TextRenderingMode = TextRenderingMode;\nvar ImageKind = {\n GRAYSCALE_1BPP: 1,\n RGB_24BPP: 2,\n RGBA_32BPP: 3\n};\nexports.ImageKind = ImageKind;\nvar AnnotationType = {\n TEXT: 1,\n LINK: 2,\n FREETEXT: 3,\n LINE: 4,\n SQUARE: 5,\n CIRCLE: 6,\n POLYGON: 7,\n POLYLINE: 8,\n HIGHLIGHT: 9,\n UNDERLINE: 10,\n SQUIGGLY: 11,\n STRIKEOUT: 12,\n STAMP: 13,\n CARET: 14,\n INK: 15,\n POPUP: 16,\n FILEATTACHMENT: 17,\n SOUND: 18,\n MOVIE: 19,\n WIDGET: 20,\n SCREEN: 21,\n PRINTERMARK: 22,\n TRAPNET: 23,\n WATERMARK: 24,\n THREED: 25,\n REDACT: 26\n};\nexports.AnnotationType = AnnotationType;\nvar AnnotationStateModelType = {\n MARKED: \"Marked\",\n REVIEW: \"Review\"\n};\nexports.AnnotationStateModelType = AnnotationStateModelType;\nvar AnnotationMarkedState = {\n MARKED: \"Marked\",\n UNMARKED: \"Unmarked\"\n};\nexports.AnnotationMarkedState = AnnotationMarkedState;\nvar AnnotationReviewState = {\n ACCEPTED: \"Accepted\",\n REJECTED: \"Rejected\",\n CANCELLED: \"Cancelled\",\n COMPLETED: \"Completed\",\n NONE: \"None\"\n};\nexports.AnnotationReviewState = AnnotationReviewState;\nvar AnnotationReplyType = {\n GROUP: \"Group\",\n REPLY: \"R\"\n};\nexports.AnnotationReplyType = AnnotationReplyType;\nvar AnnotationFlag = {\n INVISIBLE: 0x01,\n HIDDEN: 0x02,\n PRINT: 0x04,\n NOZOOM: 0x08,\n NOROTATE: 0x10,\n NOVIEW: 0x20,\n READONLY: 0x40,\n LOCKED: 0x80,\n TOGGLENOVIEW: 0x100,\n LOCKEDCONTENTS: 0x200\n};\nexports.AnnotationFlag = AnnotationFlag;\nvar AnnotationFieldFlag = {\n READONLY: 0x0000001,\n REQUIRED: 0x0000002,\n NOEXPORT: 0x0000004,\n MULTILINE: 0x0001000,\n PASSWORD: 0x0002000,\n NOTOGGLETOOFF: 0x0004000,\n RADIO: 0x0008000,\n PUSHBUTTON: 0x0010000,\n COMBO: 0x0020000,\n EDIT: 0x0040000,\n SORT: 0x0080000,\n FILESELECT: 0x0100000,\n MULTISELECT: 0x0200000,\n DONOTSPELLCHECK: 0x0400000,\n DONOTSCROLL: 0x0800000,\n COMB: 0x1000000,\n RICHTEXT: 0x2000000,\n RADIOSINUNISON: 0x2000000,\n COMMITONSELCHANGE: 0x4000000\n};\nexports.AnnotationFieldFlag = AnnotationFieldFlag;\nvar AnnotationBorderStyleType = {\n SOLID: 1,\n DASHED: 2,\n BEVELED: 3,\n INSET: 4,\n UNDERLINE: 5\n};\nexports.AnnotationBorderStyleType = AnnotationBorderStyleType;\nvar StreamType = {\n UNKNOWN: \"UNKNOWN\",\n FLATE: \"FLATE\",\n LZW: \"LZW\",\n DCT: \"DCT\",\n JPX: \"JPX\",\n JBIG: \"JBIG\",\n A85: \"A85\",\n AHX: \"AHX\",\n CCF: \"CCF\",\n RLX: \"RLX\"\n};\nexports.StreamType = StreamType;\nvar FontType = {\n UNKNOWN: \"UNKNOWN\",\n TYPE1: \"TYPE1\",\n TYPE1C: \"TYPE1C\",\n CIDFONTTYPE0: \"CIDFONTTYPE0\",\n CIDFONTTYPE0C: \"CIDFONTTYPE0C\",\n TRUETYPE: \"TRUETYPE\",\n CIDFONTTYPE2: \"CIDFONTTYPE2\",\n TYPE3: \"TYPE3\",\n OPENTYPE: \"OPENTYPE\",\n TYPE0: \"TYPE0\",\n MMTYPE1: \"MMTYPE1\"\n};\nexports.FontType = FontType;\nvar VerbosityLevel = {\n ERRORS: 0,\n WARNINGS: 1,\n INFOS: 5\n};\nexports.VerbosityLevel = VerbosityLevel;\nvar CMapCompressionType = {\n NONE: 0,\n BINARY: 1,\n STREAM: 2\n};\nexports.CMapCompressionType = CMapCompressionType;\nvar OPS = {\n dependency: 1,\n setLineWidth: 2,\n setLineCap: 3,\n setLineJoin: 4,\n setMiterLimit: 5,\n setDash: 6,\n setRenderingIntent: 7,\n setFlatness: 8,\n setGState: 9,\n save: 10,\n restore: 11,\n transform: 12,\n moveTo: 13,\n lineTo: 14,\n curveTo: 15,\n curveTo2: 16,\n curveTo3: 17,\n closePath: 18,\n rectangle: 19,\n stroke: 20,\n closeStroke: 21,\n fill: 22,\n eoFill: 23,\n fillStroke: 24,\n eoFillStroke: 25,\n closeFillStroke: 26,\n closeEOFillStroke: 27,\n endPath: 28,\n clip: 29,\n eoClip: 30,\n beginText: 31,\n endText: 32,\n setCharSpacing: 33,\n setWordSpacing: 34,\n setHScale: 35,\n setLeading: 36,\n setFont: 37,\n setTextRenderingMode: 38,\n setTextRise: 39,\n moveText: 40,\n setLeadingMoveText: 41,\n setTextMatrix: 42,\n nextLine: 43,\n showText: 44,\n showSpacedText: 45,\n nextLineShowText: 46,\n nextLineSetSpacingShowText: 47,\n setCharWidth: 48,\n setCharWidthAndBounds: 49,\n setStrokeColorSpace: 50,\n setFillColorSpace: 51,\n setStrokeColor: 52,\n setStrokeColorN: 53,\n setFillColor: 54,\n setFillColorN: 55,\n setStrokeGray: 56,\n setFillGray: 57,\n setStrokeRGBColor: 58,\n setFillRGBColor: 59,\n setStrokeCMYKColor: 60,\n setFillCMYKColor: 61,\n shadingFill: 62,\n beginInlineImage: 63,\n beginImageData: 64,\n endInlineImage: 65,\n paintXObject: 66,\n markPoint: 67,\n markPointProps: 68,\n beginMarkedContent: 69,\n beginMarkedContentProps: 70,\n endMarkedContent: 71,\n beginCompat: 72,\n endCompat: 73,\n paintFormXObjectBegin: 74,\n paintFormXObjectEnd: 75,\n beginGroup: 76,\n endGroup: 77,\n beginAnnotations: 78,\n endAnnotations: 79,\n beginAnnotation: 80,\n endAnnotation: 81,\n paintJpegXObject: 82,\n paintImageMaskXObject: 83,\n paintImageMaskXObjectGroup: 84,\n paintImageXObject: 85,\n paintInlineImageXObject: 86,\n paintInlineImageXObjectGroup: 87,\n paintImageXObjectRepeat: 88,\n paintImageMaskXObjectRepeat: 89,\n paintSolidColorImageMask: 90,\n constructPath: 91\n};\nexports.OPS = OPS;\nvar UNSUPPORTED_FEATURES = {\n unknown: \"unknown\",\n forms: \"forms\",\n javaScript: \"javaScript\",\n smask: \"smask\",\n shadingPattern: \"shadingPattern\",\n font: \"font\",\n errorTilingPattern: \"errorTilingPattern\",\n errorExtGState: \"errorExtGState\",\n errorXObject: \"errorXObject\",\n errorFontLoadType3: \"errorFontLoadType3\",\n errorFontState: \"errorFontState\",\n errorFontMissing: \"errorFontMissing\",\n errorFontTranslate: \"errorFontTranslate\",\n errorColorSpace: \"errorColorSpace\",\n errorOperatorList: \"errorOperatorList\",\n errorFontToUnicode: \"errorFontToUnicode\",\n errorFontLoadNative: \"errorFontLoadNative\",\n errorFontGetPath: \"errorFontGetPath\",\n 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 isLittleEndian() {\n var buffer8 = new Uint8Array(4);\n buffer8[0] = 1;\n var view32 = new Uint32Array(buffer8.buffer, 0, 1);\n return view32[0] === 1;\n}\n\nvar IsLittleEndianCached = {\n get value() {\n return shadow(this, \"value\", isLittleEndian());\n }\n\n};\nexports.IsLittleEndianCached = IsLittleEndianCached;\n\nfunction isEvalSupported() {\n try {\n new Function(\"\");\n return true;\n } catch (e) {\n return false;\n }\n}\n\nvar IsEvalSupportedCached = {\n get value() {\n return shadow(this, \"value\", isEvalSupported());\n }\n\n};\nexports.IsEvalSupportedCached = IsEvalSupportedCached;\nvar rgbBuf = [\"rgb(\", 0, \",\", 0, \",\", 0, \")\"];\n\nvar Util = /*#__PURE__*/function () {\n function Util() {\n _classCallCheck(this, Util);\n }\n\n _createClass(Util, null, [{\n key: \"makeCssRgb\",\n value: function makeCssRgb(r, g, b) {\n rgbBuf[1] = r;\n rgbBuf[3] = g;\n rgbBuf[5] = b;\n return rgbBuf.join(\"\");\n }\n }, {\n key: \"transform\",\n value: function transform(m1, m2) {\n return [m1[0] * m2[0] + m1[2] * m2[1], m1[1] * m2[0] + m1[3] * m2[1], m1[0] * m2[2] + m1[2] * m2[3], m1[1] * m2[2] + m1[3] * m2[3], m1[0] * m2[4] + m1[2] * m2[5] + m1[4], m1[1] * m2[4] + m1[3] * m2[5] + m1[5]];\n }\n }, {\n key: \"applyTransform\",\n value: function applyTransform(p, m) {\n var xt = p[0] * m[0] + p[1] * m[2] + m[4];\n var yt = p[0] * m[1] + p[1] * m[3] + m[5];\n return [xt, yt];\n }\n }, {\n key: \"applyInverseTransform\",\n value: function applyInverseTransform(p, m) {\n var d = m[0] * m[3] - m[1] * m[2];\n var xt = (p[0] * m[3] - p[1] * m[2] + m[2] * m[5] - m[4] * m[3]) / d;\n var yt = (-p[0] * m[1] + p[1] * m[0] + m[4] * m[1] - m[5] * m[0]) / d;\n return [xt, yt];\n }\n }, {\n key: \"getAxialAlignedBoundingBox\",\n value: function getAxialAlignedBoundingBox(r, m) {\n var p1 = Util.applyTransform(r, m);\n var p2 = Util.applyTransform(r.slice(2, 4), m);\n var p3 = Util.applyTransform([r[0], r[3]], m);\n var p4 = Util.applyTransform([r[2], r[1]], m);\n return [Math.min(p1[0], p2[0], p3[0], p4[0]), Math.min(p1[1], p2[1], p3[1], p4[1]), Math.max(p1[0], p2[0], p3[0], p4[0]), Math.max(p1[1], p2[1], p3[1], p4[1])];\n }\n }, {\n key: \"inverseTransform\",\n value: function inverseTransform(m) {\n var d = m[0] * m[3] - m[1] * m[2];\n return [m[3] / d, -m[1] / d, -m[2] / d, m[0] / d, (m[2] * m[5] - m[4] * m[3]) / d, (m[4] * m[1] - m[5] * m[0]) / d];\n }\n }, {\n key: \"apply3dTransform\",\n value: function apply3dTransform(m, v) {\n return [m[0] * v[0] + m[1] * v[1] + m[2] * v[2], m[3] * v[0] + m[4] * v[1] + m[5] * v[2], m[6] * v[0] + m[7] * v[1] + m[8] * v[2]];\n }\n }, {\n key: \"singularValueDecompose2dScale\",\n value: function singularValueDecompose2dScale(m) {\n var transpose = [m[0], m[2], m[1], m[3]];\n var a = m[0] * transpose[0] + m[1] * transpose[2];\n var b = m[0] * transpose[1] + m[1] * transpose[3];\n var c = m[2] * transpose[0] + m[3] * transpose[2];\n var d = m[2] * transpose[1] + m[3] * transpose[3];\n var first = (a + d) / 2;\n var second = Math.sqrt((a + d) * (a + d) - 4 * (a * d - c * b)) / 2;\n var sx = first + second || 1;\n var sy = first - second || 1;\n return [Math.sqrt(sx), Math.sqrt(sy)];\n }\n }, {\n key: \"normalizeRect\",\n value: function normalizeRect(rect) {\n var r = rect.slice(0);\n\n if (rect[0] > rect[2]) {\n r[0] = rect[2];\n r[2] = rect[0];\n }\n\n if (rect[1] > rect[3]) {\n r[1] = rect[3];\n r[3] = rect[1];\n }\n\n return r;\n }\n }, {\n key: \"intersect\",\n value: function intersect(rect1, rect2) {\n function compare(a, b) {\n return a - b;\n }\n\n var orderedX = [rect1[0], rect1[2], rect2[0], rect2[2]].sort(compare);\n var orderedY = [rect1[1], rect1[3], rect2[1], rect2[3]].sort(compare);\n var result = [];\n rect1 = Util.normalizeRect(rect1);\n rect2 = Util.normalizeRect(rect2);\n\n if (orderedX[0] === rect1[0] && orderedX[1] === rect2[0] || orderedX[0] === rect2[0] && orderedX[1] === rect1[0]) {\n result[0] = orderedX[1];\n result[2] = orderedX[2];\n } else {\n return null;\n }\n\n if (orderedY[0] === rect1[1] && orderedY[1] === rect2[1] || orderedY[0] === rect2[1] && orderedY[1] === rect1[1]) {\n result[1] = orderedY[1];\n result[3] = orderedY[2];\n } else {\n return null;\n }\n\n return result;\n }\n }]);\n\n return Util;\n}();\n\nexports.Util = Util;\nvar PDFStringTranslateTable = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2D8, 0x2C7, 0x2C6, 0x2D9, 0x2DD, 0x2DB, 0x2DA, 0x2DC, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2022, 0x2020, 0x2021, 0x2026, 0x2014, 0x2013, 0x192, 0x2044, 0x2039, 0x203A, 0x2212, 0x2030, 0x201E, 0x201C, 0x201D, 0x2018, 0x2019, 0x201A, 0x2122, 0xFB01, 0xFB02, 0x141, 0x152, 0x160, 0x178, 0x17D, 0x131, 0x142, 0x153, 0x161, 0x17E, 0, 0x20AC];\n\nfunction stringToPDFString(str) {\n var length = str.length,\n strBuf = [];\n\n if (str[0] === \"\\xFE\" && str[1] === \"\\xFF\") {\n for (var i = 2; i < length; i += 2) {\n strBuf.push(String.fromCharCode(str.charCodeAt(i) << 8 | str.charCodeAt(i + 1)));\n }\n } else if (str[0] === \"\\xFF\" && str[1] === \"\\xFE\") {\n for (var _i2 = 2; _i2 < length; _i2 += 2) {\n strBuf.push(String.fromCharCode(str.charCodeAt(_i2 + 1) << 8 | str.charCodeAt(_i2)));\n }\n } else {\n for (var _i3 = 0; _i3 < length; ++_i3) {\n var code = PDFStringTranslateTable[str.charCodeAt(_i3)];\n strBuf.push(code ? String.fromCharCode(code) : str.charAt(_i3));\n }\n }\n\n return strBuf.join(\"\");\n}\n\nfunction escapeString(str) {\n return str.replace(/([\\(\\)\\\\])/g, \"\\\\$1\");\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(Date.now());\n var buffer = [date.getUTCFullYear().toString(), (date.getUTCMonth() + 1).toString().padStart(2, \"0\"), (date.getUTCDate() + 1).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;\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar _is_node = __w_pdfjs_require__(7);\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nif (typeof globalThis === \"undefined\" || !globalThis._pdfjsCompatibilityChecked) {\n if (typeof globalThis === \"undefined\" || globalThis.Math !== Math) {\n globalThis = __w_pdfjs_require__(8);\n }\n\n globalThis._pdfjsCompatibilityChecked = true;\n var hasDOM = (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) === \"object\" && (typeof document === \"undefined\" ? \"undefined\" : _typeof(document)) === \"object\";\n var userAgent = typeof navigator !== \"undefined\" && navigator.userAgent || \"\";\n var isIE = /Trident/.test(userAgent);\n\n (function checkNodeBtoa() {\n if (globalThis.btoa || !_is_node.isNodeJS) {\n return;\n }\n\n globalThis.btoa = function (chars) {\n return Buffer.from(chars, \"binary\").toString(\"base64\");\n };\n })();\n\n (function checkNodeAtob() {\n if (globalThis.atob || !_is_node.isNodeJS) {\n return;\n }\n\n globalThis.atob = function (input) {\n return Buffer.from(input, \"base64\").toString(\"binary\");\n };\n })();\n\n (function checkChildNodeRemove() {\n if (!hasDOM) {\n return;\n }\n\n if (typeof Element.prototype.remove !== \"undefined\") {\n return;\n }\n\n Element.prototype.remove = function () {\n if (this.parentNode) {\n this.parentNode.removeChild(this);\n }\n };\n })();\n\n (function checkDOMTokenListAddRemove() {\n if (!hasDOM || _is_node.isNodeJS) {\n return;\n }\n\n var div = document.createElement(\"div\");\n div.classList.add(\"testOne\", \"testTwo\");\n\n if (div.classList.contains(\"testOne\") === true && div.classList.contains(\"testTwo\") === true) {\n return;\n }\n\n var OriginalDOMTokenListAdd = DOMTokenList.prototype.add;\n var OriginalDOMTokenListRemove = DOMTokenList.prototype.remove;\n\n DOMTokenList.prototype.add = function () {\n for (var _len = arguments.length, tokens = new Array(_len), _key = 0; _key < _len; _key++) {\n tokens[_key] = arguments[_key];\n }\n\n for (var _i = 0, _tokens = tokens; _i < _tokens.length; _i++) {\n var token = _tokens[_i];\n OriginalDOMTokenListAdd.call(this, token);\n }\n };\n\n DOMTokenList.prototype.remove = function () {\n for (var _len2 = arguments.length, tokens = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n tokens[_key2] = arguments[_key2];\n }\n\n for (var _i2 = 0, _tokens2 = tokens; _i2 < _tokens2.length; _i2++) {\n var token = _tokens2[_i2];\n OriginalDOMTokenListRemove.call(this, token);\n }\n };\n })();\n\n (function checkDOMTokenListToggle() {\n if (!hasDOM || _is_node.isNodeJS) {\n return;\n }\n\n var div = document.createElement(\"div\");\n\n if (div.classList.toggle(\"test\", 0) === false) {\n return;\n }\n\n DOMTokenList.prototype.toggle = function (token) {\n var force = arguments.length > 1 ? !!arguments[1] : !this.contains(token);\n return this[force ? \"add\" : \"remove\"](token), force;\n };\n })();\n\n (function checkWindowHistoryPushStateReplaceState() {\n if (!hasDOM || !isIE) {\n return;\n }\n\n var OriginalPushState = window.history.pushState;\n var OriginalReplaceState = window.history.replaceState;\n\n window.history.pushState = function (state, title, url) {\n var args = url === undefined ? [state, title] : [state, title, url];\n OriginalPushState.apply(this, args);\n };\n\n window.history.replaceState = function (state, title, url) {\n var args = url === undefined ? [state, title] : [state, title, url];\n OriginalReplaceState.apply(this, args);\n };\n })();\n\n (function checkStringStartsWith() {\n if (String.prototype.startsWith) {\n return;\n }\n\n __w_pdfjs_require__(53);\n })();\n\n (function checkStringEndsWith() {\n if (String.prototype.endsWith) {\n return;\n }\n\n __w_pdfjs_require__(64);\n })();\n\n (function checkStringIncludes() {\n if (String.prototype.includes) {\n return;\n }\n\n __w_pdfjs_require__(66);\n })();\n\n (function checkArrayIncludes() {\n if (Array.prototype.includes) {\n return;\n }\n\n __w_pdfjs_require__(68);\n })();\n\n (function checkArrayFrom() {\n if (Array.from) {\n return;\n }\n\n __w_pdfjs_require__(76);\n })();\n\n (function checkObjectAssign() {\n if (Object.assign) {\n return;\n }\n\n __w_pdfjs_require__(98);\n })();\n\n (function checkObjectFromEntries() {\n if (Object.fromEntries) {\n return;\n }\n\n __w_pdfjs_require__(101);\n })();\n\n (function checkMathLog2() {\n if (Math.log2) {\n return;\n }\n\n Math.log2 = __w_pdfjs_require__(105);\n })();\n\n (function checkNumberIsNaN() {\n if (Number.isNaN) {\n return;\n }\n\n Number.isNaN = __w_pdfjs_require__(107);\n })();\n\n (function checkNumberIsInteger() {\n if (Number.isInteger) {\n return;\n }\n\n Number.isInteger = __w_pdfjs_require__(109);\n })();\n\n (function checkTypedArraySlice() {\n if (Uint8Array.prototype.slice) {\n return;\n }\n\n __w_pdfjs_require__(112);\n })();\n\n (function checkPromise() {\n if (globalThis.Promise && globalThis.Promise.allSettled) {\n return;\n }\n\n globalThis.Promise = __w_pdfjs_require__(117);\n })();\n\n (function checkURL() {\n globalThis.URL = __w_pdfjs_require__(138);\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__(145).ReadableStream;\n })();\n\n (function checkMapEntries() {\n if (globalThis.Map && globalThis.Map.prototype.entries) {\n return;\n }\n\n globalThis.Map = __w_pdfjs_require__(146);\n })();\n\n (function checkSetEntries() {\n if (globalThis.Set && globalThis.Set.prototype.entries) {\n return;\n }\n\n globalThis.Set = __w_pdfjs_require__(153);\n })();\n\n (function checkWeakMap() {\n if (globalThis.WeakMap) {\n return;\n }\n\n globalThis.WeakMap = __w_pdfjs_require__(155);\n })();\n\n (function checkWeakSet() {\n if (globalThis.WeakSet) {\n return;\n }\n\n globalThis.WeakSet = __w_pdfjs_require__(161);\n })();\n\n (function checkStringCodePointAt() {\n if (String.prototype.codePointAt) {\n return;\n }\n\n __w_pdfjs_require__(163);\n })();\n\n (function checkStringFromCodePoint() {\n if (String.fromCodePoint) {\n return;\n }\n\n String.fromCodePoint = __w_pdfjs_require__(165);\n })();\n\n (function checkSymbol() {\n if (globalThis.Symbol) {\n return;\n }\n\n __w_pdfjs_require__(167);\n })();\n\n (function checkStringPadStart() {\n if (String.prototype.padStart) {\n return;\n }\n\n __w_pdfjs_require__(190);\n })();\n\n (function checkStringPadEnd() {\n if (String.prototype.padEnd) {\n return;\n }\n\n __w_pdfjs_require__(195);\n })();\n\n (function checkObjectValues() {\n if (Object.values) {\n return;\n }\n\n Object.values = __w_pdfjs_require__(197);\n })();\n\n (function checkObjectEntries() {\n if (Object.entries) {\n return;\n }\n\n Object.entries = __w_pdfjs_require__(200);\n })();\n}\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isNodeJS = void 0;\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar isNodeJS = (typeof process === \"undefined\" ? \"undefined\" : _typeof(process)) === \"object\" && process + \"\" === \"[object process]\" && !process.versions.nw && !(process.versions.electron && process.type && process.type !== \"browser\");\nexports.isNodeJS = isNodeJS;\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(9);\nmodule.exports = __w_pdfjs_require__(11);\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\nvar global = __w_pdfjs_require__(11);\n$({ global: true }, { globalThis: global });\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar getOwnPropertyDescriptor = __w_pdfjs_require__(12).f;\nvar createNonEnumerableProperty = __w_pdfjs_require__(26);\nvar redefine = __w_pdfjs_require__(29);\nvar setGlobal = __w_pdfjs_require__(30);\nvar copyConstructorProperties = __w_pdfjs_require__(40);\nvar isForced = __w_pdfjs_require__(52);\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target)\n for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else\n targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty)\n continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n if (options.sham || targetProperty && targetProperty.sham) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n redefine(target, key, sourceProperty, options);\n }\n};\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports) {\n\nvar check = function (it) {\n return it && it.Math == Math && it;\n};\nmodule.exports = check(typeof globalThis == 'object' && globalThis) || check(typeof window == 'object' && window) || check(typeof self == 'object' && self) || check(typeof global == 'object' && global) || Function('return this')();\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar propertyIsEnumerableModule = __w_pdfjs_require__(15);\nvar createPropertyDescriptor = __w_pdfjs_require__(16);\nvar toIndexedObject = __w_pdfjs_require__(17);\nvar toPrimitive = __w_pdfjs_require__(21);\nvar has = __w_pdfjs_require__(23);\nvar IE8_DOM_DEFINE = __w_pdfjs_require__(24);\nvar nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nexports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE)\n try {\n return nativeGetOwnPropertyDescriptor(O, P);\n } catch (error) {\n }\n if (has(O, P))\n return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(14);\nmodule.exports = !fails(function () {\n return Object.defineProperty({}, 1, {\n get: function () {\n return 7;\n }\n })[1] != 7;\n});\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar nativePropertyIsEnumerable = {}.propertyIsEnumerable;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : nativePropertyIsEnumerable;\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar IndexedObject = __w_pdfjs_require__(18);\nvar requireObjectCoercible = __w_pdfjs_require__(20);\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(14);\nvar classof = __w_pdfjs_require__(19);\nvar split = ''.split;\nmodule.exports = fails(function () {\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports) {\n\nvar toString = {}.toString;\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n if (it == undefined)\n throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(22);\nmodule.exports = function (input, PREFERRED_STRING) {\n if (!isObject(input))\n return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input)))\n return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input)))\n return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input)))\n return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports) {\n\nvar hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar fails = __w_pdfjs_require__(14);\nvar createElement = __w_pdfjs_require__(25);\nmodule.exports = !DESCRIPTORS && !fails(function () {\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () {\n return 7;\n }\n }).a != 7;\n});\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar isObject = __w_pdfjs_require__(22);\nvar document = global.document;\nvar EXISTS = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar definePropertyModule = __w_pdfjs_require__(27);\nvar createPropertyDescriptor = __w_pdfjs_require__(16);\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar IE8_DOM_DEFINE = __w_pdfjs_require__(24);\nvar anObject = __w_pdfjs_require__(28);\nvar toPrimitive = __w_pdfjs_require__(21);\nvar nativeDefineProperty = Object.defineProperty;\nexports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE)\n try {\n return nativeDefineProperty(O, P, Attributes);\n } catch (error) {\n }\n if ('get' in Attributes || 'set' in Attributes)\n throw TypeError('Accessors not supported');\n if ('value' in Attributes)\n O[P] = Attributes.value;\n return O;\n};\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(22);\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n }\n return it;\n};\n\n/***/ }),\n/* 29 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar createNonEnumerableProperty = __w_pdfjs_require__(26);\nvar has = __w_pdfjs_require__(23);\nvar setGlobal = __w_pdfjs_require__(30);\nvar inspectSource = __w_pdfjs_require__(31);\nvar InternalStateModule = __w_pdfjs_require__(33);\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name'))\n createNonEnumerableProperty(value, 'name', key);\n enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n if (O === global) {\n if (simple)\n O[key] = value;\n else\n setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple)\n O[key] = value;\n else\n createNonEnumerableProperty(O, key, value);\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || inspectSource(this);\n});\n\n/***/ }),\n/* 30 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar createNonEnumerableProperty = __w_pdfjs_require__(26);\nmodule.exports = function (key, value) {\n try {\n createNonEnumerableProperty(global, key, value);\n } catch (error) {\n global[key] = value;\n }\n return value;\n};\n\n/***/ }),\n/* 31 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar store = __w_pdfjs_require__(32);\nvar functionToString = Function.toString;\nif (typeof store.inspectSource != 'function') {\n store.inspectSource = function (it) {\n return functionToString.call(it);\n };\n}\nmodule.exports = store.inspectSource;\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar setGlobal = __w_pdfjs_require__(30);\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\nmodule.exports = store;\n\n/***/ }),\n/* 33 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar NATIVE_WEAK_MAP = __w_pdfjs_require__(34);\nvar global = __w_pdfjs_require__(11);\nvar isObject = __w_pdfjs_require__(22);\nvar createNonEnumerableProperty = __w_pdfjs_require__(26);\nvar objectHas = __w_pdfjs_require__(23);\nvar sharedKey = __w_pdfjs_require__(35);\nvar hiddenKeys = __w_pdfjs_require__(39);\nvar WeakMap = global.WeakMap;\nvar set, get, has;\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n }\n return state;\n };\n};\nif (NATIVE_WEAK_MAP) {\n var store = new WeakMap();\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n\n/***/ }),\n/* 34 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar inspectSource = __w_pdfjs_require__(31);\nvar WeakMap = global.WeakMap;\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));\n\n/***/ }),\n/* 35 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar shared = __w_pdfjs_require__(36);\nvar uid = __w_pdfjs_require__(38);\nvar keys = shared('keys');\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n\n/***/ }),\n/* 36 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar IS_PURE = __w_pdfjs_require__(37);\nvar store = __w_pdfjs_require__(32);\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.6.5',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2020 Denis Pushkarev (zloirock.ru)'\n});\n\n/***/ }),\n/* 37 */\n/***/ (function(module, exports) {\n\nmodule.exports = false;\n\n/***/ }),\n/* 38 */\n/***/ (function(module, exports) {\n\nvar id = 0;\nvar postfix = Math.random();\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n\n/***/ }),\n/* 39 */\n/***/ (function(module, exports) {\n\nmodule.exports = {};\n\n/***/ }),\n/* 40 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar has = __w_pdfjs_require__(23);\nvar ownKeys = __w_pdfjs_require__(41);\nvar getOwnPropertyDescriptorModule = __w_pdfjs_require__(12);\nvar definePropertyModule = __w_pdfjs_require__(27);\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key))\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n\n/***/ }),\n/* 41 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar getBuiltIn = __w_pdfjs_require__(42);\nvar getOwnPropertyNamesModule = __w_pdfjs_require__(44);\nvar getOwnPropertySymbolsModule = __w_pdfjs_require__(51);\nvar anObject = __w_pdfjs_require__(28);\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n\n/***/ }),\n/* 42 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar path = __w_pdfjs_require__(43);\nvar global = __w_pdfjs_require__(11);\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace]) : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n\n/***/ }),\n/* 43 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nmodule.exports = global;\n\n/***/ }),\n/* 44 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar internalObjectKeys = __w_pdfjs_require__(45);\nvar enumBugKeys = __w_pdfjs_require__(50);\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n\n/***/ }),\n/* 45 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar has = __w_pdfjs_require__(23);\nvar toIndexedObject = __w_pdfjs_require__(17);\nvar indexOf = __w_pdfjs_require__(46).indexOf;\nvar hiddenKeys = __w_pdfjs_require__(39);\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O)\n !has(hiddenKeys, key) && has(O, key) && result.push(key);\n while (names.length > i)\n if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n\n/***/ }),\n/* 46 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar toIndexedObject = __w_pdfjs_require__(17);\nvar toLength = __w_pdfjs_require__(47);\nvar toAbsoluteIndex = __w_pdfjs_require__(49);\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n if (IS_INCLUDES && el != el)\n while (length > index) {\n value = O[index++];\n if (value != value)\n return true;\n }\n else\n for (; length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el)\n return IS_INCLUDES || index || 0;\n }\n return !IS_INCLUDES && -1;\n };\n};\nmodule.exports = {\n includes: createMethod(true),\n indexOf: createMethod(false)\n};\n\n/***/ }),\n/* 47 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar toInteger = __w_pdfjs_require__(48);\nvar min = Math.min;\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0;\n};\n\n/***/ }),\n/* 48 */\n/***/ (function(module, exports) {\n\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n\n/***/ }),\n/* 49 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar toInteger = __w_pdfjs_require__(48);\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n\n/***/ }),\n/* 50 */\n/***/ (function(module, exports) {\n\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n\n/***/ }),\n/* 51 */\n/***/ (function(module, exports) {\n\nexports.f = Object.getOwnPropertySymbols;\n\n/***/ }),\n/* 52 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(14);\nvar replacement = /#|\\.prototype\\./;\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true : value == NATIVE ? false : typeof detection == 'function' ? fails(detection) : !!detection;\n};\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\nmodule.exports = isForced;\n\n/***/ }),\n/* 53 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(54);\nvar entryUnbind = __w_pdfjs_require__(61);\nmodule.exports = entryUnbind('String', 'startsWith');\n\n/***/ }),\n/* 54 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar getOwnPropertyDescriptor = __w_pdfjs_require__(12).f;\nvar toLength = __w_pdfjs_require__(47);\nvar notARegExp = __w_pdfjs_require__(55);\nvar requireObjectCoercible = __w_pdfjs_require__(20);\nvar correctIsRegExpLogic = __w_pdfjs_require__(60);\nvar IS_PURE = __w_pdfjs_require__(37);\nvar nativeStartsWith = ''.startsWith;\nvar min = Math.min;\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith');\nvar MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n var descriptor = getOwnPropertyDescriptor(String.prototype, 'startsWith');\n return descriptor && !descriptor.writable;\n}();\n$({\n target: 'String',\n proto: true,\n forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC\n}, {\n startsWith: function startsWith(searchString) {\n var that = String(requireObjectCoercible(this));\n notARegExp(searchString);\n var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n var search = String(searchString);\n return nativeStartsWith ? nativeStartsWith.call(that, search, index) : that.slice(index, index + search.length) === search;\n }\n});\n\n/***/ }),\n/* 55 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isRegExp = __w_pdfjs_require__(56);\nmodule.exports = function (it) {\n if (isRegExp(it)) {\n throw TypeError(\"The method doesn't accept regular expressions\");\n }\n return it;\n};\n\n/***/ }),\n/* 56 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(22);\nvar classof = __w_pdfjs_require__(19);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar MATCH = wellKnownSymbol('match');\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');\n};\n\n/***/ }),\n/* 57 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar shared = __w_pdfjs_require__(36);\nvar has = __w_pdfjs_require__(23);\nvar uid = __w_pdfjs_require__(38);\nvar NATIVE_SYMBOL = __w_pdfjs_require__(58);\nvar USE_SYMBOL_AS_UID = __w_pdfjs_require__(59);\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\nmodule.exports = function (name) {\n if (!has(WellKnownSymbolsStore, name)) {\n if (NATIVE_SYMBOL && has(Symbol, name))\n WellKnownSymbolsStore[name] = Symbol[name];\n else\n WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);\n }\n return WellKnownSymbolsStore[name];\n};\n\n/***/ }),\n/* 58 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(14);\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n return !String(Symbol());\n});\n\n/***/ }),\n/* 59 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar NATIVE_SYMBOL = __w_pdfjs_require__(58);\nmodule.exports = NATIVE_SYMBOL && !Symbol.sham && typeof Symbol.iterator == 'symbol';\n\n/***/ }),\n/* 60 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar MATCH = wellKnownSymbol('match');\nmodule.exports = function (METHOD_NAME) {\n var regexp = /./;\n try {\n '/./'[METHOD_NAME](regexp);\n } catch (e) {\n try {\n regexp[MATCH] = false;\n return '/./'[METHOD_NAME](regexp);\n } catch (f) {\n }\n }\n return false;\n};\n\n/***/ }),\n/* 61 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar bind = __w_pdfjs_require__(62);\nvar call = Function.call;\nmodule.exports = function (CONSTRUCTOR, METHOD, length) {\n return bind(call, global[CONSTRUCTOR].prototype[METHOD], length);\n};\n\n/***/ }),\n/* 62 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar aFunction = __w_pdfjs_require__(63);\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined)\n return fn;\n switch (length) {\n case 0:\n return function () {\n return fn.call(that);\n };\n case 1:\n return function (a) {\n return fn.call(that, a);\n };\n case 2:\n return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3:\n return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function () {\n return fn.apply(that, arguments);\n };\n};\n\n/***/ }),\n/* 63 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n }\n return it;\n};\n\n/***/ }),\n/* 64 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(65);\nvar entryUnbind = __w_pdfjs_require__(61);\nmodule.exports = entryUnbind('String', 'endsWith');\n\n/***/ }),\n/* 65 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar getOwnPropertyDescriptor = __w_pdfjs_require__(12).f;\nvar toLength = __w_pdfjs_require__(47);\nvar notARegExp = __w_pdfjs_require__(55);\nvar requireObjectCoercible = __w_pdfjs_require__(20);\nvar correctIsRegExpLogic = __w_pdfjs_require__(60);\nvar IS_PURE = __w_pdfjs_require__(37);\nvar nativeEndsWith = ''.endsWith;\nvar min = Math.min;\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('endsWith');\nvar MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n var descriptor = getOwnPropertyDescriptor(String.prototype, 'endsWith');\n return descriptor && !descriptor.writable;\n}();\n$({\n target: 'String',\n proto: true,\n forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC\n}, {\n endsWith: function endsWith(searchString) {\n var that = String(requireObjectCoercible(this));\n notARegExp(searchString);\n var endPosition = arguments.length > 1 ? arguments[1] : undefined;\n var len = toLength(that.length);\n var end = endPosition === undefined ? len : min(toLength(endPosition), len);\n var search = String(searchString);\n return nativeEndsWith ? nativeEndsWith.call(that, search, end) : that.slice(end - search.length, end) === search;\n }\n});\n\n/***/ }),\n/* 66 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(67);\nvar entryUnbind = __w_pdfjs_require__(61);\nmodule.exports = entryUnbind('String', 'includes');\n\n/***/ }),\n/* 67 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar notARegExp = __w_pdfjs_require__(55);\nvar requireObjectCoercible = __w_pdfjs_require__(20);\nvar correctIsRegExpLogic = __w_pdfjs_require__(60);\n$({\n target: 'String',\n proto: true,\n forced: !correctIsRegExpLogic('includes')\n}, {\n includes: function includes(searchString) {\n return !!~String(requireObjectCoercible(this)).indexOf(notARegExp(searchString), arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n/***/ }),\n/* 68 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(69);\nvar entryUnbind = __w_pdfjs_require__(61);\nmodule.exports = entryUnbind('Array', 'includes');\n\n/***/ }),\n/* 69 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar $includes = __w_pdfjs_require__(46).includes;\nvar addToUnscopables = __w_pdfjs_require__(70);\nvar arrayMethodUsesToLength = __w_pdfjs_require__(75);\nvar USES_TO_LENGTH = arrayMethodUsesToLength('indexOf', {\n ACCESSORS: true,\n 1: 0\n});\n$({\n target: 'Array',\n proto: true,\n forced: !USES_TO_LENGTH\n}, {\n includes: function includes(el) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\naddToUnscopables('includes');\n\n/***/ }),\n/* 70 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar create = __w_pdfjs_require__(71);\nvar definePropertyModule = __w_pdfjs_require__(27);\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n\n/***/ }),\n/* 71 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(28);\nvar defineProperties = __w_pdfjs_require__(72);\nvar enumBugKeys = __w_pdfjs_require__(50);\nvar hiddenKeys = __w_pdfjs_require__(39);\nvar html = __w_pdfjs_require__(74);\nvar documentCreateElement = __w_pdfjs_require__(25);\nvar sharedKey = __w_pdfjs_require__(35);\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar EmptyConstructor = function () {\n};\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null;\n return temp;\n};\nvar NullProtoObjectViaIFrame = function () {\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n activeXDocument = document.domain && new ActiveXObject('htmlfile');\n } catch (error) {\n }\n NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();\n var length = enumBugKeys.length;\n while (length--)\n delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\nhiddenKeys[IE_PROTO] = true;\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n result[IE_PROTO] = O;\n } else\n result = NullProtoObject();\n return Properties === undefined ? result : defineProperties(result, Properties);\n};\n\n/***/ }),\n/* 72 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar definePropertyModule = __w_pdfjs_require__(27);\nvar anObject = __w_pdfjs_require__(28);\nvar objectKeys = __w_pdfjs_require__(73);\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index)\n definePropertyModule.f(O, key = keys[index++], Properties[key]);\n return O;\n};\n\n/***/ }),\n/* 73 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar internalObjectKeys = __w_pdfjs_require__(45);\nvar enumBugKeys = __w_pdfjs_require__(50);\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n\n/***/ }),\n/* 74 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar getBuiltIn = __w_pdfjs_require__(42);\nmodule.exports = getBuiltIn('document', 'documentElement');\n\n/***/ }),\n/* 75 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar fails = __w_pdfjs_require__(14);\nvar has = __w_pdfjs_require__(23);\nvar defineProperty = Object.defineProperty;\nvar cache = {};\nvar thrower = function (it) {\n throw it;\n};\nmodule.exports = function (METHOD_NAME, options) {\n if (has(cache, METHOD_NAME))\n return cache[METHOD_NAME];\n if (!options)\n options = {};\n var method = [][METHOD_NAME];\n var ACCESSORS = has(options, 'ACCESSORS') ? options.ACCESSORS : false;\n var argument0 = has(options, 0) ? options[0] : thrower;\n var argument1 = has(options, 1) ? options[1] : undefined;\n return cache[METHOD_NAME] = !!method && !fails(function () {\n if (ACCESSORS && !DESCRIPTORS)\n return true;\n var O = { length: -1 };\n if (ACCESSORS)\n defineProperty(O, 1, {\n enumerable: true,\n get: thrower\n });\n else\n O[1] = 1;\n method.call(O, argument0, argument1);\n });\n};\n\n/***/ }),\n/* 76 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(77);\n__w_pdfjs_require__(89);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Array.from;\n\n/***/ }),\n/* 77 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar charAt = __w_pdfjs_require__(78).charAt;\nvar InternalStateModule = __w_pdfjs_require__(33);\nvar defineIterator = __w_pdfjs_require__(79);\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: String(iterated),\n index: 0\n });\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length)\n return {\n value: undefined,\n done: true\n };\n point = charAt(string, index);\n state.index += point.length;\n return {\n value: point,\n done: false\n };\n});\n\n/***/ }),\n/* 78 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar toInteger = __w_pdfjs_require__(48);\nvar requireObjectCoercible = __w_pdfjs_require__(20);\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = String(requireObjectCoercible($this));\n var position = toInteger(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size)\n return CONVERT_TO_STRING ? '' : undefined;\n first = S.charCodeAt(position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF ? CONVERT_TO_STRING ? S.charAt(position) : first : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\nmodule.exports = {\n codeAt: createMethod(false),\n charAt: createMethod(true)\n};\n\n/***/ }),\n/* 79 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar createIteratorConstructor = __w_pdfjs_require__(80);\nvar getPrototypeOf = __w_pdfjs_require__(82);\nvar setPrototypeOf = __w_pdfjs_require__(87);\nvar setToStringTag = __w_pdfjs_require__(85);\nvar createNonEnumerableProperty = __w_pdfjs_require__(26);\nvar redefine = __w_pdfjs_require__(29);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar IS_PURE = __w_pdfjs_require__(37);\nvar Iterators = __w_pdfjs_require__(86);\nvar IteratorsCore = __w_pdfjs_require__(81);\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\nvar returnThis = function () {\n return this;\n};\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator)\n return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype)\n return IterablePrototype[KIND];\n switch (KIND) {\n case KEYS:\n return function keys() {\n return new IteratorConstructor(this, KIND);\n };\n case VALUES:\n return function values() {\n return new IteratorConstructor(this, KIND);\n };\n case ENTRIES:\n return function entries() {\n return new IteratorConstructor(this, KIND);\n };\n }\n return function () {\n return new IteratorConstructor(this);\n };\n };\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR] || IterablePrototype['@@iterator'] || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') {\n createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE)\n Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() {\n return nativeIterator.call(this);\n };\n }\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n createNonEnumerableProperty(IterablePrototype, ITERATOR, defaultIterator);\n }\n Iterators[NAME] = defaultIterator;\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED)\n for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n redefine(IterablePrototype, KEY, methods[KEY]);\n }\n }\n else\n $({\n target: NAME,\n proto: true,\n forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME\n }, methods);\n }\n return methods;\n};\n\n/***/ }),\n/* 80 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar IteratorPrototype = __w_pdfjs_require__(81).IteratorPrototype;\nvar create = __w_pdfjs_require__(71);\nvar createPropertyDescriptor = __w_pdfjs_require__(16);\nvar setToStringTag = __w_pdfjs_require__(85);\nvar Iterators = __w_pdfjs_require__(86);\nvar returnThis = function () {\n return this;\n};\nmodule.exports = function (IteratorConstructor, NAME, next) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n\n/***/ }),\n/* 81 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar getPrototypeOf = __w_pdfjs_require__(82);\nvar createNonEnumerableProperty = __w_pdfjs_require__(26);\nvar has = __w_pdfjs_require__(23);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar IS_PURE = __w_pdfjs_require__(37);\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\nvar returnThis = function () {\n return this;\n};\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\nif ([].keys) {\n arrayIterator = [].keys();\n if (!('next' in arrayIterator))\n BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype)\n IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\nif (IteratorPrototype == undefined)\n IteratorPrototype = {};\nif (!IS_PURE && !has(IteratorPrototype, ITERATOR)) {\n createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);\n}\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n\n/***/ }),\n/* 82 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar has = __w_pdfjs_require__(23);\nvar toObject = __w_pdfjs_require__(83);\nvar sharedKey = __w_pdfjs_require__(35);\nvar CORRECT_PROTOTYPE_GETTER = __w_pdfjs_require__(84);\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar ObjectPrototype = Object.prototype;\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO))\n return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n }\n return O instanceof Object ? ObjectPrototype : null;\n};\n\n/***/ }),\n/* 83 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar requireObjectCoercible = __w_pdfjs_require__(20);\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n\n/***/ }),\n/* 84 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(14);\nmodule.exports = !fails(function () {\n function F() {\n }\n F.prototype.constructor = null;\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n\n/***/ }),\n/* 85 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineProperty = __w_pdfjs_require__(27).f;\nvar has = __w_pdfjs_require__(23);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nmodule.exports = function (it, TAG, STATIC) {\n if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {\n defineProperty(it, TO_STRING_TAG, {\n configurable: true,\n value: TAG\n });\n }\n};\n\n/***/ }),\n/* 86 */\n/***/ (function(module, exports) {\n\nmodule.exports = {};\n\n/***/ }),\n/* 87 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(28);\nvar aPossiblePrototype = __w_pdfjs_require__(88);\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;\n setter.call(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) {\n }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER)\n setter.call(O, proto);\n else\n O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n\n/***/ }),\n/* 88 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(22);\nmodule.exports = function (it) {\n if (!isObject(it) && it !== null) {\n throw TypeError(\"Can't set \" + String(it) + ' as a prototype');\n }\n return it;\n};\n\n/***/ }),\n/* 89 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\nvar from = __w_pdfjs_require__(90);\nvar checkCorrectnessOfIteration = __w_pdfjs_require__(97);\nvar INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {\n Array.from(iterable);\n});\n$({\n target: 'Array',\n stat: true,\n forced: INCORRECT_ITERATION\n}, { from: from });\n\n/***/ }),\n/* 90 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar bind = __w_pdfjs_require__(62);\nvar toObject = __w_pdfjs_require__(83);\nvar callWithSafeIterationClosing = __w_pdfjs_require__(91);\nvar isArrayIteratorMethod = __w_pdfjs_require__(92);\nvar toLength = __w_pdfjs_require__(47);\nvar createProperty = __w_pdfjs_require__(93);\nvar getIteratorMethod = __w_pdfjs_require__(94);\nmodule.exports = function from(arrayLike) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iteratorMethod = getIteratorMethod(O);\n var index = 0;\n var length, result, step, iterator, next, value;\n if (mapping)\n mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2);\n if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) {\n iterator = iteratorMethod.call(O);\n next = iterator.next;\n result = new C();\n for (; !(step = next.call(iterator)).done; index++) {\n value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [\n step.value,\n index\n ], true) : step.value;\n createProperty(result, index, value);\n }\n } else {\n length = toLength(O.length);\n result = new C(length);\n for (; length > index; index++) {\n value = mapping ? mapfn(O[index], index) : O[index];\n createProperty(result, index, value);\n }\n }\n result.length = index;\n return result;\n};\n\n/***/ }),\n/* 91 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(28);\nmodule.exports = function (iterator, fn, value, ENTRIES) {\n try {\n return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n } catch (error) {\n var returnMethod = iterator['return'];\n if (returnMethod !== undefined)\n anObject(returnMethod.call(iterator));\n throw error;\n }\n};\n\n/***/ }),\n/* 92 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar Iterators = __w_pdfjs_require__(86);\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n\n/***/ }),\n/* 93 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar toPrimitive = __w_pdfjs_require__(21);\nvar definePropertyModule = __w_pdfjs_require__(27);\nvar createPropertyDescriptor = __w_pdfjs_require__(16);\nmodule.exports = function (object, key, value) {\n var propertyKey = toPrimitive(key);\n if (propertyKey in object)\n definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else\n object[propertyKey] = value;\n};\n\n/***/ }),\n/* 94 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar classof = __w_pdfjs_require__(95);\nvar Iterators = __w_pdfjs_require__(86);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar ITERATOR = wellKnownSymbol('iterator');\nmodule.exports = function (it) {\n if (it != undefined)\n return it[ITERATOR] || it['@@iterator'] || Iterators[classof(it)];\n};\n\n/***/ }),\n/* 95 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar TO_STRING_TAG_SUPPORT = __w_pdfjs_require__(96);\nvar classofRaw = __w_pdfjs_require__(19);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar CORRECT_ARGUMENTS = classofRaw(function () {\n return arguments;\n}()) == 'Arguments';\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) {\n }\n};\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null' : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag : CORRECT_ARGUMENTS ? classofRaw(O) : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;\n};\n\n/***/ }),\n/* 96 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\ntest[TO_STRING_TAG] = 'z';\nmodule.exports = String(test) === '[object z]';\n\n/***/ }),\n/* 97 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n Array.from(iteratorWithReturn, function () {\n throw 2;\n });\n} catch (error) {\n}\nmodule.exports = function (exec, SKIP_CLOSING) {\n if (!SKIP_CLOSING && !SAFE_CLOSING)\n return false;\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) {\n }\n return ITERATION_SUPPORT;\n};\n\n/***/ }),\n/* 98 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(99);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Object.assign;\n\n/***/ }),\n/* 99 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\nvar assign = __w_pdfjs_require__(100);\n$({\n target: 'Object',\n stat: true,\n forced: Object.assign !== assign\n}, { assign: assign });\n\n/***/ }),\n/* 100 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar fails = __w_pdfjs_require__(14);\nvar objectKeys = __w_pdfjs_require__(73);\nvar getOwnPropertySymbolsModule = __w_pdfjs_require__(51);\nvar propertyIsEnumerableModule = __w_pdfjs_require__(15);\nvar toObject = __w_pdfjs_require__(83);\nvar IndexedObject = __w_pdfjs_require__(18);\nvar nativeAssign = Object.assign;\nvar defineProperty = Object.defineProperty;\nmodule.exports = !nativeAssign || fails(function () {\n if (DESCRIPTORS && nativeAssign({ b: 1 }, nativeAssign(defineProperty({}, 'a', {\n enumerable: true,\n get: function () {\n defineProperty(this, 'b', {\n value: 3,\n enumerable: false\n });\n }\n }), { b: 2 })).b !== 1)\n return true;\n var A = {};\n var B = {};\n var symbol = Symbol();\n var alphabet = 'abcdefghijklmnopqrst';\n A[symbol] = 7;\n alphabet.split('').forEach(function (chr) {\n B[chr] = chr;\n });\n return nativeAssign({}, A)[symbol] != 7 || objectKeys(nativeAssign({}, B)).join('') != alphabet;\n}) ? function assign(target, source) {\n var T = toObject(target);\n var argumentsLength = arguments.length;\n var index = 1;\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n var propertyIsEnumerable = propertyIsEnumerableModule.f;\n while (argumentsLength > index) {\n var S = IndexedObject(arguments[index++]);\n var keys = getOwnPropertySymbols ? objectKeys(S).concat(getOwnPropertySymbols(S)) : objectKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || propertyIsEnumerable.call(S, key))\n T[key] = S[key];\n }\n }\n return T;\n} : nativeAssign;\n\n/***/ }),\n/* 101 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(102);\n__w_pdfjs_require__(103);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Object.fromEntries;\n\n/***/ }),\n/* 102 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar toIndexedObject = __w_pdfjs_require__(17);\nvar addToUnscopables = __w_pdfjs_require__(70);\nvar Iterators = __w_pdfjs_require__(86);\nvar InternalStateModule = __w_pdfjs_require__(33);\nvar defineIterator = __w_pdfjs_require__(79);\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated),\n index: 0,\n kind: kind\n });\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var kind = state.kind;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = undefined;\n return {\n value: undefined,\n done: true\n };\n }\n if (kind == 'keys')\n return {\n value: index,\n done: false\n };\n if (kind == 'values')\n return {\n value: target[index],\n done: false\n };\n return {\n value: [\n index,\n target[index]\n ],\n done: false\n };\n}, 'values');\nIterators.Arguments = Iterators.Array;\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n/***/ }),\n/* 103 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\nvar iterate = __w_pdfjs_require__(104);\nvar createProperty = __w_pdfjs_require__(93);\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 }, undefined, true);\n return obj;\n }\n});\n\n/***/ }),\n/* 104 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(28);\nvar isArrayIteratorMethod = __w_pdfjs_require__(92);\nvar toLength = __w_pdfjs_require__(47);\nvar bind = __w_pdfjs_require__(62);\nvar getIteratorMethod = __w_pdfjs_require__(94);\nvar callWithSafeIterationClosing = __w_pdfjs_require__(91);\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\nvar iterate = module.exports = function (iterable, fn, that, AS_ENTRIES, IS_ITERATOR) {\n var boundFunction = bind(fn, that, AS_ENTRIES ? 2 : 1);\n var iterator, iterFn, index, length, result, next, step;\n if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (typeof iterFn != 'function')\n throw TypeError('Target is not iterable');\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = toLength(iterable.length); length > index; index++) {\n result = AS_ENTRIES ? boundFunction(anObject(step = iterable[index])[0], step[1]) : boundFunction(iterable[index]);\n if (result && result instanceof Result)\n return result;\n }\n return new Result(false);\n }\n iterator = iterFn.call(iterable);\n }\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n result = callWithSafeIterationClosing(iterator, boundFunction, step.value, AS_ENTRIES);\n if (typeof result == 'object' && result && result instanceof Result)\n return result;\n }\n return new Result(false);\n};\niterate.stop = function (result) {\n return new Result(true, result);\n};\n\n/***/ }),\n/* 105 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(106);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Math.log2;\n\n/***/ }),\n/* 106 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\nvar log = Math.log;\nvar LN2 = Math.LN2;\n$({\n target: 'Math',\n stat: true\n}, {\n log2: function log2(x) {\n return log(x) / LN2;\n }\n});\n\n/***/ }),\n/* 107 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(108);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Number.isNaN;\n\n/***/ }),\n/* 108 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\n$({\n target: 'Number',\n stat: true\n}, {\n isNaN: function isNaN(number) {\n return number != number;\n }\n});\n\n/***/ }),\n/* 109 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(110);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Number.isInteger;\n\n/***/ }),\n/* 110 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\nvar isInteger = __w_pdfjs_require__(111);\n$({\n target: 'Number',\n stat: true\n}, { isInteger: isInteger });\n\n/***/ }),\n/* 111 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(22);\nvar floor = Math.floor;\nmodule.exports = function isInteger(it) {\n return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n\n/***/ }),\n/* 112 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(113);\n\n/***/ }),\n/* 113 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar ArrayBufferViewCore = __w_pdfjs_require__(114);\nvar speciesConstructor = __w_pdfjs_require__(116);\nvar fails = __w_pdfjs_require__(14);\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $slice = [].slice;\nvar FORCED = fails(function () {\n new Int8Array(1).slice();\n});\nexportTypedArrayMethod('slice', function slice(start, end) {\n var list = $slice.call(aTypedArray(this), start, end);\n var C = speciesConstructor(this, this.constructor);\n var index = 0;\n var length = list.length;\n var result = new (aTypedArrayConstructor(C))(length);\n while (length > index)\n result[index] = list[index++];\n return result;\n}, FORCED);\n\n/***/ }),\n/* 114 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar NATIVE_ARRAY_BUFFER = __w_pdfjs_require__(115);\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar global = __w_pdfjs_require__(11);\nvar isObject = __w_pdfjs_require__(22);\nvar has = __w_pdfjs_require__(23);\nvar classof = __w_pdfjs_require__(95);\nvar createNonEnumerableProperty = __w_pdfjs_require__(26);\nvar redefine = __w_pdfjs_require__(29);\nvar defineProperty = __w_pdfjs_require__(27).f;\nvar getPrototypeOf = __w_pdfjs_require__(82);\nvar setPrototypeOf = __w_pdfjs_require__(87);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar uid = __w_pdfjs_require__(38);\nvar Int8Array = global.Int8Array;\nvar Int8ArrayPrototype = Int8Array && Int8Array.prototype;\nvar Uint8ClampedArray = global.Uint8ClampedArray;\nvar Uint8ClampedArrayPrototype = Uint8ClampedArray && Uint8ClampedArray.prototype;\nvar TypedArray = Int8Array && getPrototypeOf(Int8Array);\nvar TypedArrayPrototype = Int8ArrayPrototype && getPrototypeOf(Int8ArrayPrototype);\nvar ObjectPrototype = Object.prototype;\nvar isPrototypeOf = ObjectPrototype.isPrototypeOf;\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG');\nvar NATIVE_ARRAY_BUFFER_VIEWS = NATIVE_ARRAY_BUFFER && !!setPrototypeOf && classof(global.opera) !== 'Opera';\nvar TYPED_ARRAY_TAG_REQIRED = false;\nvar NAME;\nvar TypedArrayConstructorsList = {\n Int8Array: 1,\n Uint8Array: 1,\n Uint8ClampedArray: 1,\n Int16Array: 2,\n Uint16Array: 2,\n Int32Array: 4,\n Uint32Array: 4,\n Float32Array: 4,\n Float64Array: 8\n};\nvar isView = function isView(it) {\n var klass = classof(it);\n return klass === 'DataView' || has(TypedArrayConstructorsList, klass);\n};\nvar isTypedArray = function (it) {\n return isObject(it) && has(TypedArrayConstructorsList, classof(it));\n};\nvar aTypedArray = function (it) {\n if (isTypedArray(it))\n return it;\n throw TypeError('Target is not a typed array');\n};\nvar aTypedArrayConstructor = function (C) {\n if (setPrototypeOf) {\n if (isPrototypeOf.call(TypedArray, C))\n return C;\n } else\n for (var ARRAY in TypedArrayConstructorsList)\n if (has(TypedArrayConstructorsList, NAME)) {\n var TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && (C === TypedArrayConstructor || isPrototypeOf.call(TypedArrayConstructor, C))) {\n return C;\n }\n }\n throw TypeError('Target is not a typed array constructor');\n};\nvar exportTypedArrayMethod = function (KEY, property, forced) {\n if (!DESCRIPTORS)\n return;\n if (forced)\n for (var ARRAY in TypedArrayConstructorsList) {\n var TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && has(TypedArrayConstructor.prototype, KEY)) {\n delete TypedArrayConstructor.prototype[KEY];\n }\n }\n if (!TypedArrayPrototype[KEY] || forced) {\n redefine(TypedArrayPrototype, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property);\n }\n};\nvar exportTypedArrayStaticMethod = function (KEY, property, forced) {\n var ARRAY, TypedArrayConstructor;\n if (!DESCRIPTORS)\n return;\n if (setPrototypeOf) {\n if (forced)\n for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && has(TypedArrayConstructor, KEY)) {\n delete TypedArrayConstructor[KEY];\n }\n }\n if (!TypedArray[KEY] || forced) {\n try {\n return redefine(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && Int8Array[KEY] || property);\n } catch (error) {\n }\n } else\n return;\n }\n for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) {\n redefine(TypedArrayConstructor, KEY, property);\n }\n }\n};\nfor (NAME in TypedArrayConstructorsList) {\n if (!global[NAME])\n NATIVE_ARRAY_BUFFER_VIEWS = false;\n}\nif (!NATIVE_ARRAY_BUFFER_VIEWS || typeof TypedArray != 'function' || TypedArray === Function.prototype) {\n TypedArray = function TypedArray() {\n throw TypeError('Incorrect invocation');\n };\n if (NATIVE_ARRAY_BUFFER_VIEWS)\n for (NAME in TypedArrayConstructorsList) {\n if (global[NAME])\n setPrototypeOf(global[NAME], TypedArray);\n }\n}\nif (!NATIVE_ARRAY_BUFFER_VIEWS || !TypedArrayPrototype || TypedArrayPrototype === ObjectPrototype) {\n TypedArrayPrototype = TypedArray.prototype;\n if (NATIVE_ARRAY_BUFFER_VIEWS)\n for (NAME in TypedArrayConstructorsList) {\n if (global[NAME])\n setPrototypeOf(global[NAME].prototype, TypedArrayPrototype);\n }\n}\nif (NATIVE_ARRAY_BUFFER_VIEWS && getPrototypeOf(Uint8ClampedArrayPrototype) !== TypedArrayPrototype) {\n setPrototypeOf(Uint8ClampedArrayPrototype, TypedArrayPrototype);\n}\nif (DESCRIPTORS && !has(TypedArrayPrototype, TO_STRING_TAG)) {\n TYPED_ARRAY_TAG_REQIRED = true;\n defineProperty(TypedArrayPrototype, TO_STRING_TAG, {\n get: function () {\n return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined;\n }\n });\n for (NAME in TypedArrayConstructorsList)\n if (global[NAME]) {\n createNonEnumerableProperty(global[NAME], TYPED_ARRAY_TAG, NAME);\n }\n}\nmodule.exports = {\n NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS,\n TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQIRED && TYPED_ARRAY_TAG,\n aTypedArray: aTypedArray,\n aTypedArrayConstructor: aTypedArrayConstructor,\n exportTypedArrayMethod: exportTypedArrayMethod,\n exportTypedArrayStaticMethod: exportTypedArrayStaticMethod,\n isView: isView,\n isTypedArray: isTypedArray,\n TypedArray: TypedArray,\n TypedArrayPrototype: TypedArrayPrototype\n};\n\n/***/ }),\n/* 115 */\n/***/ (function(module, exports) {\n\nmodule.exports = typeof ArrayBuffer !== 'undefined' && typeof DataView !== 'undefined';\n\n/***/ }),\n/* 116 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(28);\nvar aFunction = __w_pdfjs_require__(63);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar SPECIES = wellKnownSymbol('species');\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);\n};\n\n/***/ }),\n/* 117 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(118);\n__w_pdfjs_require__(77);\n__w_pdfjs_require__(120);\n__w_pdfjs_require__(122);\n__w_pdfjs_require__(136);\n__w_pdfjs_require__(137);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Promise;\n\n/***/ }),\n/* 118 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar TO_STRING_TAG_SUPPORT = __w_pdfjs_require__(96);\nvar redefine = __w_pdfjs_require__(29);\nvar toString = __w_pdfjs_require__(119);\nif (!TO_STRING_TAG_SUPPORT) {\n redefine(Object.prototype, 'toString', toString, { unsafe: true });\n}\n\n/***/ }),\n/* 119 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar TO_STRING_TAG_SUPPORT = __w_pdfjs_require__(96);\nvar classof = __w_pdfjs_require__(95);\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n\n/***/ }),\n/* 120 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar DOMIterables = __w_pdfjs_require__(121);\nvar ArrayIteratorMethods = __w_pdfjs_require__(102);\nvar createNonEnumerableProperty = __w_pdfjs_require__(26);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar ITERATOR = wellKnownSymbol('iterator');\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar ArrayValues = ArrayIteratorMethods.values;\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n if (CollectionPrototype) {\n if (CollectionPrototype[ITERATOR] !== ArrayValues)\n try {\n createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);\n } catch (error) {\n CollectionPrototype[ITERATOR] = ArrayValues;\n }\n if (!CollectionPrototype[TO_STRING_TAG]) {\n createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);\n }\n if (DOMIterables[COLLECTION_NAME])\n for (var METHOD_NAME in ArrayIteratorMethods) {\n if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME])\n try {\n createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\n } catch (error) {\n CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\n }\n }\n }\n}\n\n/***/ }),\n/* 121 */\n/***/ (function(module, exports) {\n\nmodule.exports = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n\n/***/ }),\n/* 122 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar IS_PURE = __w_pdfjs_require__(37);\nvar global = __w_pdfjs_require__(11);\nvar getBuiltIn = __w_pdfjs_require__(42);\nvar NativePromise = __w_pdfjs_require__(123);\nvar redefine = __w_pdfjs_require__(29);\nvar redefineAll = __w_pdfjs_require__(124);\nvar setToStringTag = __w_pdfjs_require__(85);\nvar setSpecies = __w_pdfjs_require__(125);\nvar isObject = __w_pdfjs_require__(22);\nvar aFunction = __w_pdfjs_require__(63);\nvar anInstance = __w_pdfjs_require__(126);\nvar classof = __w_pdfjs_require__(19);\nvar inspectSource = __w_pdfjs_require__(31);\nvar iterate = __w_pdfjs_require__(104);\nvar checkCorrectnessOfIteration = __w_pdfjs_require__(97);\nvar speciesConstructor = __w_pdfjs_require__(116);\nvar task = __w_pdfjs_require__(127).set;\nvar microtask = __w_pdfjs_require__(130);\nvar promiseResolve = __w_pdfjs_require__(131);\nvar hostReportErrors = __w_pdfjs_require__(133);\nvar newPromiseCapabilityModule = __w_pdfjs_require__(132);\nvar perform = __w_pdfjs_require__(134);\nvar InternalStateModule = __w_pdfjs_require__(33);\nvar isForced = __w_pdfjs_require__(52);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar V8_VERSION = __w_pdfjs_require__(135);\nvar SPECIES = wellKnownSymbol('species');\nvar PROMISE = 'Promise';\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar PromiseConstructor = NativePromise;\nvar TypeError = global.TypeError;\nvar document = global.document;\nvar process = global.process;\nvar $fetch = getBuiltIn('fetch');\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\nvar IS_NODE = classof(process) == 'process';\nvar DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\nvar FORCED = isForced(PROMISE, function () {\n var GLOBAL_CORE_JS_PROMISE = inspectSource(PromiseConstructor) !== String(PromiseConstructor);\n if (!GLOBAL_CORE_JS_PROMISE) {\n if (V8_VERSION === 66)\n return true;\n if (!IS_NODE && typeof PromiseRejectionEvent != 'function')\n return true;\n }\n if (IS_PURE && !PromiseConstructor.prototype['finally'])\n return true;\n if (V8_VERSION >= 51 && /native code/.test(PromiseConstructor))\n return false;\n var promise = PromiseConstructor.resolve(1);\n var FakePromise = function (exec) {\n exec(function () {\n }, function () {\n });\n };\n var constructor = promise.constructor = {};\n constructor[SPECIES] = FakePromise;\n return !(promise.then(function () {\n }) instanceof FakePromise);\n});\nvar INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) {\n PromiseConstructor.all(iterable)['catch'](function () {\n });\n});\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar notify = function (promise, state, isReject) {\n if (state.notified)\n return;\n state.notified = true;\n var chain = state.reactions;\n microtask(function () {\n var value = state.value;\n var ok = state.state == FULFILLED;\n var index = 0;\n while (chain.length > index) {\n var reaction = chain[index++];\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (state.rejection === UNHANDLED)\n onHandleUnhandled(promise, state);\n state.rejection = HANDLED;\n }\n if (handler === true)\n result = value;\n else {\n if (domain)\n domain.enter();\n result = handler(value);\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else\n resolve(result);\n } else\n reject(value);\n } catch (error) {\n if (domain && !exited)\n domain.exit();\n reject(error);\n }\n }\n state.reactions = [];\n state.notified = false;\n if (isReject && !state.rejection)\n onUnhandled(promise, state);\n });\n};\nvar dispatchEvent = function (name, promise, reason) {\n var event, handler;\n if (DISPATCH_EVENT) {\n event = document.createEvent('Event');\n event.promise = promise;\n event.reason = reason;\n event.initEvent(name, false, true);\n global.dispatchEvent(event);\n } else\n event = {\n promise: promise,\n reason: reason\n };\n if (handler = global['on' + name])\n handler(event);\n else if (name === UNHANDLED_REJECTION)\n hostReportErrors('Unhandled promise rejection', reason);\n};\nvar onUnhandled = function (promise, state) {\n task.call(global, function () {\n var value = state.value;\n var IS_UNHANDLED = isUnhandled(state);\n var result;\n if (IS_UNHANDLED) {\n result = perform(function () {\n if (IS_NODE) {\n process.emit('unhandledRejection', value, promise);\n } else\n dispatchEvent(UNHANDLED_REJECTION, promise, value);\n });\n state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;\n if (result.error)\n throw result.value;\n }\n });\n};\nvar isUnhandled = function (state) {\n return state.rejection !== HANDLED && !state.parent;\n};\nvar onHandleUnhandled = function (promise, state) {\n task.call(global, function () {\n if (IS_NODE) {\n process.emit('rejectionHandled', promise);\n } else\n dispatchEvent(REJECTION_HANDLED, promise, state.value);\n });\n};\nvar bind = function (fn, promise, state, unwrap) {\n return function (value) {\n fn(promise, state, value, unwrap);\n };\n};\nvar internalReject = function (promise, state, value, unwrap) {\n if (state.done)\n return;\n state.done = true;\n if (unwrap)\n state = unwrap;\n state.value = value;\n state.state = REJECTED;\n notify(promise, state, true);\n};\nvar internalResolve = function (promise, state, value, unwrap) {\n if (state.done)\n return;\n state.done = true;\n if (unwrap)\n state = unwrap;\n try {\n if (promise === value)\n throw TypeError(\"Promise can't be resolved itself\");\n var then = isThenable(value);\n if (then) {\n microtask(function () {\n var wrapper = { done: false };\n try {\n then.call(value, bind(internalResolve, promise, wrapper, state), bind(internalReject, promise, wrapper, state));\n } catch (error) {\n internalReject(promise, wrapper, error, state);\n }\n });\n } else {\n state.value = value;\n state.state = FULFILLED;\n notify(promise, state, false);\n }\n } catch (error) {\n internalReject(promise, { done: false }, error, state);\n }\n};\nif (FORCED) {\n PromiseConstructor = function Promise(executor) {\n anInstance(this, PromiseConstructor, PROMISE);\n aFunction(executor);\n Internal.call(this);\n var state = getInternalState(this);\n try {\n executor(bind(internalResolve, this, state), bind(internalReject, this, state));\n } catch (error) {\n internalReject(this, state, error);\n }\n };\n Internal = function Promise(executor) {\n setInternalState(this, {\n type: PROMISE,\n done: false,\n notified: false,\n parent: false,\n reactions: [],\n rejection: false,\n state: PENDING,\n value: undefined\n });\n };\n Internal.prototype = redefineAll(PromiseConstructor.prototype, {\n then: function then(onFulfilled, onRejected) {\n var state = getInternalPromiseState(this);\n var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = IS_NODE ? process.domain : undefined;\n state.parent = true;\n state.reactions.push(reaction);\n if (state.state != PENDING)\n notify(this, state, false);\n return reaction.promise;\n },\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n var state = getInternalState(promise);\n this.promise = promise;\n this.resolve = bind(internalResolve, promise, state);\n this.reject = bind(internalReject, promise, state);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === PromiseConstructor || C === PromiseWrapper ? new OwnPromiseCapability(C) : newGenericPromiseCapability(C);\n };\n if (!IS_PURE && typeof NativePromise == 'function') {\n nativeThen = NativePromise.prototype.then;\n redefine(NativePromise.prototype, 'then', function then(onFulfilled, onRejected) {\n var that = this;\n return new PromiseConstructor(function (resolve, reject) {\n nativeThen.call(that, resolve, reject);\n }).then(onFulfilled, onRejected);\n }, { unsafe: true });\n if (typeof $fetch == 'function')\n $({\n global: true,\n enumerable: true,\n forced: true\n }, {\n fetch: function fetch(input) {\n return promiseResolve(PromiseConstructor, $fetch.apply(global, arguments));\n }\n });\n }\n}\n$({\n global: true,\n wrap: true,\n forced: FORCED\n}, { Promise: PromiseConstructor });\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\nPromiseWrapper = getBuiltIn(PROMISE);\n$({\n target: PROMISE,\n stat: true,\n forced: FORCED\n}, {\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n capability.reject.call(undefined, r);\n return capability.promise;\n }\n});\n$({\n target: PROMISE,\n stat: true,\n forced: IS_PURE || FORCED\n}, {\n resolve: function resolve(x) {\n return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x);\n }\n});\n$({\n target: PROMISE,\n stat: true,\n forced: INCORRECT_ITERATION\n}, {\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aFunction(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n $promiseResolve.call(C, promise).then(function (value) {\n if (alreadyCalled)\n return;\n alreadyCalled = true;\n values[index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.error)\n reject(result.value);\n return capability.promise;\n },\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aFunction(C.resolve);\n iterate(iterable, function (promise) {\n $promiseResolve.call(C, promise).then(capability.resolve, reject);\n });\n });\n if (result.error)\n reject(result.value);\n return capability.promise;\n }\n});\n\n/***/ }),\n/* 123 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nmodule.exports = global.Promise;\n\n/***/ }),\n/* 124 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar redefine = __w_pdfjs_require__(29);\nmodule.exports = function (target, src, options) {\n for (var key in src)\n redefine(target, key, src[key], options);\n return target;\n};\n\n/***/ }),\n/* 125 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar getBuiltIn = __w_pdfjs_require__(42);\nvar definePropertyModule = __w_pdfjs_require__(27);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar SPECIES = wellKnownSymbol('species');\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n var defineProperty = definePropertyModule.f;\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineProperty(Constructor, SPECIES, {\n configurable: true,\n get: function () {\n return this;\n }\n });\n }\n};\n\n/***/ }),\n/* 126 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it, Constructor, name) {\n if (!(it instanceof Constructor)) {\n throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');\n }\n return it;\n};\n\n/***/ }),\n/* 127 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar fails = __w_pdfjs_require__(14);\nvar classof = __w_pdfjs_require__(19);\nvar bind = __w_pdfjs_require__(62);\nvar html = __w_pdfjs_require__(74);\nvar createElement = __w_pdfjs_require__(25);\nvar IS_IOS = __w_pdfjs_require__(128);\nvar location = global.location;\nvar set = global.setImmediate;\nvar clear = global.clearImmediate;\nvar process = global.process;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\nvar run = function (id) {\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\nvar runner = function (id) {\n return function () {\n run(id);\n };\n};\nvar listener = function (event) {\n run(event.data);\n};\nvar post = function (id) {\n global.postMessage(id + '', location.protocol + '//' + location.host);\n};\nif (!set || !clear) {\n set = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i)\n args.push(arguments[i++]);\n queue[++counter] = function () {\n (typeof fn == 'function' ? fn : Function(fn)).apply(undefined, args);\n };\n defer(counter);\n return counter;\n };\n clear = function clearImmediate(id) {\n delete queue[id];\n };\n if (classof(process) == 'process') {\n defer = function (id) {\n process.nextTick(runner(id));\n };\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(runner(id));\n };\n } else if (MessageChannel && !IS_IOS) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = bind(port.postMessage, port, 1);\n } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts && !fails(post) && location.protocol !== 'file:') {\n defer = post;\n global.addEventListener('message', listener, false);\n } else if (ONREADYSTATECHANGE in createElement('script')) {\n defer = function (id) {\n html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run(id);\n };\n };\n } else {\n defer = function (id) {\n setTimeout(runner(id), 0);\n };\n }\n}\nmodule.exports = {\n set: set,\n clear: clear\n};\n\n/***/ }),\n/* 128 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar userAgent = __w_pdfjs_require__(129);\nmodule.exports = /(iphone|ipod|ipad).*applewebkit/i.test(userAgent);\n\n/***/ }),\n/* 129 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar getBuiltIn = __w_pdfjs_require__(42);\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n\n/***/ }),\n/* 130 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar getOwnPropertyDescriptor = __w_pdfjs_require__(12).f;\nvar classof = __w_pdfjs_require__(19);\nvar macrotask = __w_pdfjs_require__(127).set;\nvar IS_IOS = __w_pdfjs_require__(128);\nvar MutationObserver = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar IS_NODE = classof(process) == 'process';\nvar queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');\nvar queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;\nvar flush, head, last, notify, toggle, node, promise, then;\nif (!queueMicrotask) {\n flush = function () {\n var parent, fn;\n if (IS_NODE && (parent = process.domain))\n parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (error) {\n if (head)\n notify();\n else\n last = undefined;\n throw error;\n }\n }\n last = undefined;\n if (parent)\n parent.enter();\n };\n if (IS_NODE) {\n notify = function () {\n process.nextTick(flush);\n };\n } else if (MutationObserver && !IS_IOS) {\n toggle = true;\n node = document.createTextNode('');\n new MutationObserver(flush).observe(node, { characterData: true });\n notify = function () {\n node.data = toggle = !toggle;\n };\n } else if (Promise && Promise.resolve) {\n promise = Promise.resolve(undefined);\n then = promise.then;\n notify = function () {\n then.call(promise, flush);\n };\n } else {\n notify = function () {\n macrotask.call(global, flush);\n };\n }\n}\nmodule.exports = queueMicrotask || function (fn) {\n var task = {\n fn: fn,\n next: undefined\n };\n if (last)\n last.next = task;\n if (!head) {\n head = task;\n notify();\n }\n last = task;\n};\n\n/***/ }),\n/* 131 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(28);\nvar isObject = __w_pdfjs_require__(22);\nvar newPromiseCapability = __w_pdfjs_require__(132);\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/* 132 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar aFunction = __w_pdfjs_require__(63);\nvar PromiseCapability = function (C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined)\n throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n};\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n\n/***/ }),\n/* 133 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nmodule.exports = function (a, b) {\n var console = global.console;\n if (console && console.error) {\n arguments.length === 1 ? console.error(a) : console.error(a, b);\n }\n};\n\n/***/ }),\n/* 134 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (exec) {\n try {\n return {\n error: false,\n value: exec()\n };\n } catch (error) {\n return {\n error: true,\n value: error\n };\n }\n};\n\n/***/ }),\n/* 135 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar userAgent = __w_pdfjs_require__(129);\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/* 136 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar aFunction = __w_pdfjs_require__(63);\nvar newPromiseCapabilityModule = __w_pdfjs_require__(132);\nvar perform = __w_pdfjs_require__(134);\nvar iterate = __w_pdfjs_require__(104);\n$({\n target: 'Promise',\n stat: true\n}, {\n allSettled: function allSettled(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var promiseResolve = aFunction(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n promiseResolve.call(C, promise).then(function (value) {\n if (alreadyCalled)\n return;\n alreadyCalled = true;\n values[index] = {\n status: 'fulfilled',\n value: value\n };\n --remaining || resolve(values);\n }, function (e) {\n if (alreadyCalled)\n return;\n alreadyCalled = true;\n values[index] = {\n status: 'rejected',\n reason: e\n };\n --remaining || resolve(values);\n });\n });\n --remaining || resolve(values);\n });\n if (result.error)\n reject(result.value);\n return capability.promise;\n }\n});\n\n/***/ }),\n/* 137 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar IS_PURE = __w_pdfjs_require__(37);\nvar NativePromise = __w_pdfjs_require__(123);\nvar fails = __w_pdfjs_require__(14);\nvar getBuiltIn = __w_pdfjs_require__(42);\nvar speciesConstructor = __w_pdfjs_require__(116);\nvar promiseResolve = __w_pdfjs_require__(131);\nvar redefine = __w_pdfjs_require__(29);\nvar NON_GENERIC = !!NativePromise && fails(function () {\n NativePromise.prototype['finally'].call({\n then: function () {\n }\n }, function () {\n });\n});\n$({\n target: 'Promise',\n proto: true,\n real: true,\n forced: NON_GENERIC\n}, {\n 'finally': function (onFinally) {\n var C = speciesConstructor(this, getBuiltIn('Promise'));\n var isFunction = typeof onFinally == 'function';\n return this.then(isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () {\n return x;\n });\n } : onFinally, isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () {\n throw e;\n });\n } : onFinally);\n }\n});\nif (!IS_PURE && typeof NativePromise == 'function' && !NativePromise.prototype['finally']) {\n redefine(NativePromise.prototype, 'finally', getBuiltIn('Promise').prototype['finally']);\n}\n\n/***/ }),\n/* 138 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(139);\n__w_pdfjs_require__(144);\n__w_pdfjs_require__(142);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.URL;\n\n/***/ }),\n/* 139 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n__w_pdfjs_require__(77);\nvar $ = __w_pdfjs_require__(10);\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar USE_NATIVE_URL = __w_pdfjs_require__(140);\nvar global = __w_pdfjs_require__(11);\nvar defineProperties = __w_pdfjs_require__(72);\nvar redefine = __w_pdfjs_require__(29);\nvar anInstance = __w_pdfjs_require__(126);\nvar has = __w_pdfjs_require__(23);\nvar assign = __w_pdfjs_require__(100);\nvar arrayFrom = __w_pdfjs_require__(90);\nvar codeAt = __w_pdfjs_require__(78).codeAt;\nvar toASCII = __w_pdfjs_require__(141);\nvar setToStringTag = __w_pdfjs_require__(85);\nvar URLSearchParamsModule = __w_pdfjs_require__(142);\nvar InternalStateModule = __w_pdfjs_require__(33);\nvar NativeURL = global.URL;\nvar URLSearchParams = URLSearchParamsModule.URLSearchParams;\nvar getInternalSearchParamsState = URLSearchParamsModule.getState;\nvar setInternalState = InternalStateModule.set;\nvar getInternalURLState = InternalStateModule.getterFor('URL');\nvar floor = Math.floor;\nvar pow = Math.pow;\nvar INVALID_AUTHORITY = 'Invalid authority';\nvar INVALID_SCHEME = 'Invalid scheme';\nvar INVALID_HOST = 'Invalid host';\nvar INVALID_PORT = 'Invalid port';\nvar ALPHA = /[A-Za-z]/;\nvar ALPHANUMERIC = /[\\d+-.A-Za-z]/;\nvar DIGIT = /\\d/;\nvar HEX_START = /^(0x|0X)/;\nvar OCT = /^[0-7]+$/;\nvar DEC = /^\\d+$/;\nvar HEX = /^[\\dA-Fa-f]+$/;\nvar FORBIDDEN_HOST_CODE_POINT = /[\\u0000\\u0009\\u000A\\u000D #%/:?@[\\\\]]/;\nvar FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\\u0000\\u0009\\u000A\\u000D #/:?@[\\\\]]/;\nvar LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE = /^[\\u0000-\\u001F ]+|[\\u0000-\\u001F ]+$/g;\nvar TAB_AND_NEW_LINE = /[\\u0009\\u000A\\u000D]/g;\nvar EOF;\nvar parseHost = function (url, input) {\n var result, codePoints, index;\n if (input.charAt(0) == '[') {\n if (input.charAt(input.length - 1) != ']')\n return INVALID_HOST;\n result = parseIPv6(input.slice(1, -1));\n if (!result)\n return INVALID_HOST;\n url.host = result;\n } else if (!isSpecial(url)) {\n if (FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT.test(input))\n return INVALID_HOST;\n result = '';\n codePoints = arrayFrom(input);\n for (index = 0; index < codePoints.length; index++) {\n result += percentEncode(codePoints[index], C0ControlPercentEncodeSet);\n }\n url.host = result;\n } else {\n input = toASCII(input);\n if (FORBIDDEN_HOST_CODE_POINT.test(input))\n return INVALID_HOST;\n result = parseIPv4(input);\n if (result === null)\n return INVALID_HOST;\n url.host = result;\n }\n};\nvar parseIPv4 = function (input) {\n var parts = input.split('.');\n var partsLength, numbers, index, part, radix, number, ipv4;\n if (parts.length && parts[parts.length - 1] == '') {\n parts.pop();\n }\n partsLength = parts.length;\n if (partsLength > 4)\n return input;\n numbers = [];\n for (index = 0; index < partsLength; index++) {\n part = parts[index];\n if (part == '')\n return input;\n radix = 10;\n if (part.length > 1 && part.charAt(0) == '0') {\n radix = HEX_START.test(part) ? 16 : 8;\n part = part.slice(radix == 8 ? 1 : 2);\n }\n if (part === '') {\n number = 0;\n } else {\n if (!(radix == 10 ? DEC : radix == 8 ? OCT : HEX).test(part))\n return input;\n number = parseInt(part, radix);\n }\n numbers.push(number);\n }\n for (index = 0; index < partsLength; index++) {\n number = numbers[index];\n if (index == partsLength - 1) {\n if (number >= pow(256, 5 - partsLength))\n return null;\n } else if (number > 255)\n return null;\n }\n ipv4 = numbers.pop();\n for (index = 0; index < numbers.length; index++) {\n ipv4 += numbers[index] * pow(256, 3 - index);\n }\n return ipv4;\n};\nvar parseIPv6 = function (input) {\n var address = [\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0\n ];\n var pieceIndex = 0;\n var compress = null;\n var pointer = 0;\n var value, length, numbersSeen, ipv4Piece, number, swaps, swap;\n var char = function () {\n return input.charAt(pointer);\n };\n if (char() == ':') {\n if (input.charAt(1) != ':')\n return;\n pointer += 2;\n pieceIndex++;\n compress = pieceIndex;\n }\n while (char()) {\n if (pieceIndex == 8)\n return;\n if (char() == ':') {\n if (compress !== null)\n return;\n pointer++;\n pieceIndex++;\n compress = pieceIndex;\n continue;\n }\n value = length = 0;\n while (length < 4 && HEX.test(char())) {\n value = value * 16 + parseInt(char(), 16);\n pointer++;\n length++;\n }\n if (char() == '.') {\n if (length == 0)\n return;\n pointer -= length;\n if (pieceIndex > 6)\n return;\n numbersSeen = 0;\n while (char()) {\n ipv4Piece = null;\n if (numbersSeen > 0) {\n if (char() == '.' && numbersSeen < 4)\n pointer++;\n else\n return;\n }\n if (!DIGIT.test(char()))\n return;\n while (DIGIT.test(char())) {\n number = parseInt(char(), 10);\n if (ipv4Piece === null)\n ipv4Piece = number;\n else if (ipv4Piece == 0)\n return;\n else\n ipv4Piece = ipv4Piece * 10 + number;\n if (ipv4Piece > 255)\n return;\n pointer++;\n }\n address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece;\n numbersSeen++;\n if (numbersSeen == 2 || numbersSeen == 4)\n pieceIndex++;\n }\n if (numbersSeen != 4)\n return;\n break;\n } else if (char() == ':') {\n pointer++;\n if (!char())\n return;\n } else if (char())\n return;\n address[pieceIndex++] = value;\n }\n if (compress !== null) {\n swaps = pieceIndex - compress;\n pieceIndex = 7;\n while (pieceIndex != 0 && swaps > 0) {\n swap = address[pieceIndex];\n address[pieceIndex--] = address[compress + swaps - 1];\n address[compress + --swaps] = swap;\n }\n } else if (pieceIndex != 8)\n return;\n return address;\n};\nvar findLongestZeroSequence = function (ipv6) {\n var maxIndex = null;\n var maxLength = 1;\n var currStart = null;\n var currLength = 0;\n var index = 0;\n for (; index < 8; index++) {\n if (ipv6[index] !== 0) {\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n currStart = null;\n currLength = 0;\n } else {\n if (currStart === null)\n currStart = index;\n ++currLength;\n }\n }\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n return maxIndex;\n};\nvar serializeHost = function (host) {\n var result, index, compress, ignore0;\n if (typeof host == 'number') {\n result = [];\n for (index = 0; index < 4; index++) {\n result.unshift(host % 256);\n host = floor(host / 256);\n }\n return result.join('.');\n } else if (typeof host == 'object') {\n result = '';\n compress = findLongestZeroSequence(host);\n for (index = 0; index < 8; index++) {\n if (ignore0 && host[index] === 0)\n continue;\n if (ignore0)\n ignore0 = false;\n if (compress === index) {\n result += index ? ':' : '::';\n ignore0 = true;\n } else {\n result += host[index].toString(16);\n if (index < 7)\n result += ':';\n }\n }\n return '[' + result + ']';\n }\n return host;\n};\nvar C0ControlPercentEncodeSet = {};\nvar fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, {\n ' ': 1,\n '\"': 1,\n '<': 1,\n '>': 1,\n '`': 1\n});\nvar pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, {\n '#': 1,\n '?': 1,\n '{': 1,\n '}': 1\n});\nvar userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, {\n '/': 1,\n ':': 1,\n ';': 1,\n '=': 1,\n '@': 1,\n '[': 1,\n '\\\\': 1,\n ']': 1,\n '^': 1,\n '|': 1\n});\nvar percentEncode = function (char, set) {\n var code = codeAt(char, 0);\n return code > 0x20 && code < 0x7F && !has(set, char) ? char : encodeURIComponent(char);\n};\nvar specialSchemes = {\n ftp: 21,\n file: null,\n http: 80,\n https: 443,\n ws: 80,\n wss: 443\n};\nvar isSpecial = function (url) {\n return has(specialSchemes, url.scheme);\n};\nvar includesCredentials = function (url) {\n return url.username != '' || url.password != '';\n};\nvar cannotHaveUsernamePasswordPort = function (url) {\n return !url.host || url.cannotBeABaseURL || url.scheme == 'file';\n};\nvar isWindowsDriveLetter = function (string, normalized) {\n var second;\n return string.length == 2 && ALPHA.test(string.charAt(0)) && ((second = string.charAt(1)) == ':' || !normalized && second == '|');\n};\nvar startsWithWindowsDriveLetter = function (string) {\n var third;\n return string.length > 1 && isWindowsDriveLetter(string.slice(0, 2)) && (string.length == 2 || ((third = string.charAt(2)) === '/' || third === '\\\\' || third === '?' || third === '#'));\n};\nvar shortenURLsPath = function (url) {\n var path = url.path;\n var pathSize = path.length;\n if (pathSize && (url.scheme != 'file' || pathSize != 1 || !isWindowsDriveLetter(path[0], true))) {\n path.pop();\n }\n};\nvar isSingleDot = function (segment) {\n return segment === '.' || segment.toLowerCase() === '%2e';\n};\nvar isDoubleDot = function (segment) {\n segment = segment.toLowerCase();\n return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e';\n};\nvar SCHEME_START = {};\nvar SCHEME = {};\nvar NO_SCHEME = {};\nvar SPECIAL_RELATIVE_OR_AUTHORITY = {};\nvar PATH_OR_AUTHORITY = {};\nvar RELATIVE = {};\nvar RELATIVE_SLASH = {};\nvar SPECIAL_AUTHORITY_SLASHES = {};\nvar SPECIAL_AUTHORITY_IGNORE_SLASHES = {};\nvar AUTHORITY = {};\nvar HOST = {};\nvar HOSTNAME = {};\nvar PORT = {};\nvar FILE = {};\nvar FILE_SLASH = {};\nvar FILE_HOST = {};\nvar PATH_START = {};\nvar PATH = {};\nvar CANNOT_BE_A_BASE_URL_PATH = {};\nvar QUERY = {};\nvar FRAGMENT = {};\nvar parseURL = function (url, input, stateOverride, base) {\n var state = stateOverride || SCHEME_START;\n var pointer = 0;\n var buffer = '';\n var seenAt = false;\n var seenBracket = false;\n var seenPasswordToken = false;\n var codePoints, char, bufferCodePoints, failure;\n if (!stateOverride) {\n url.scheme = '';\n url.username = '';\n url.password = '';\n url.host = null;\n url.port = null;\n url.path = [];\n url.query = null;\n url.fragment = null;\n url.cannotBeABaseURL = false;\n input = input.replace(LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE, '');\n }\n input = input.replace(TAB_AND_NEW_LINE, '');\n codePoints = arrayFrom(input);\n while (pointer <= codePoints.length) {\n char = codePoints[pointer];\n switch (state) {\n case SCHEME_START:\n if (char && ALPHA.test(char)) {\n buffer += char.toLowerCase();\n state = SCHEME;\n } else if (!stateOverride) {\n state = NO_SCHEME;\n continue;\n } else\n return INVALID_SCHEME;\n break;\n case SCHEME:\n if (char && (ALPHANUMERIC.test(char) || char == '+' || char == '-' || char == '.')) {\n buffer += char.toLowerCase();\n } else if (char == ':') {\n if (stateOverride && (isSpecial(url) != has(specialSchemes, buffer) || buffer == 'file' && (includesCredentials(url) || url.port !== null) || url.scheme == 'file' && !url.host))\n return;\n url.scheme = buffer;\n if (stateOverride) {\n if (isSpecial(url) && specialSchemes[url.scheme] == url.port)\n url.port = null;\n return;\n }\n buffer = '';\n if (url.scheme == 'file') {\n state = FILE;\n } else if (isSpecial(url) && base && base.scheme == url.scheme) {\n state = SPECIAL_RELATIVE_OR_AUTHORITY;\n } else if (isSpecial(url)) {\n state = SPECIAL_AUTHORITY_SLASHES;\n } else if (codePoints[pointer + 1] == '/') {\n state = PATH_OR_AUTHORITY;\n pointer++;\n } else {\n url.cannotBeABaseURL = true;\n url.path.push('');\n state = CANNOT_BE_A_BASE_URL_PATH;\n }\n } else if (!stateOverride) {\n buffer = '';\n state = NO_SCHEME;\n pointer = 0;\n continue;\n } else\n return INVALID_SCHEME;\n break;\n case NO_SCHEME:\n if (!base || base.cannotBeABaseURL && char != '#')\n return INVALID_SCHEME;\n if (base.cannotBeABaseURL && char == '#') {\n url.scheme = base.scheme;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n url.cannotBeABaseURL = true;\n state = FRAGMENT;\n break;\n }\n state = base.scheme == 'file' ? FILE : RELATIVE;\n continue;\n case SPECIAL_RELATIVE_OR_AUTHORITY:\n if (char == '/' && codePoints[pointer + 1] == '/') {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n pointer++;\n } else {\n state = RELATIVE;\n continue;\n }\n break;\n case PATH_OR_AUTHORITY:\n if (char == '/') {\n state = AUTHORITY;\n break;\n } else {\n state = PATH;\n continue;\n }\n case RELATIVE:\n url.scheme = base.scheme;\n if (char == EOF) {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = base.query;\n } else if (char == '/' || char == '\\\\' && isSpecial(url)) {\n state = RELATIVE_SLASH;\n } else if (char == '?') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.path.pop();\n state = PATH;\n continue;\n }\n break;\n case RELATIVE_SLASH:\n if (isSpecial(url) && (char == '/' || char == '\\\\')) {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n } else if (char == '/') {\n state = AUTHORITY;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n state = PATH;\n continue;\n }\n break;\n case SPECIAL_AUTHORITY_SLASHES:\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n if (char != '/' || buffer.charAt(pointer + 1) != '/')\n continue;\n pointer++;\n break;\n case SPECIAL_AUTHORITY_IGNORE_SLASHES:\n if (char != '/' && char != '\\\\') {\n state = AUTHORITY;\n continue;\n }\n break;\n case AUTHORITY:\n if (char == '@') {\n if (seenAt)\n buffer = '%40' + buffer;\n seenAt = true;\n bufferCodePoints = arrayFrom(buffer);\n for (var i = 0; i < bufferCodePoints.length; i++) {\n var codePoint = bufferCodePoints[i];\n if (codePoint == ':' && !seenPasswordToken) {\n seenPasswordToken = true;\n continue;\n }\n var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet);\n if (seenPasswordToken)\n url.password += encodedCodePoints;\n else\n url.username += encodedCodePoints;\n }\n buffer = '';\n } else if (char == EOF || char == '/' || char == '?' || char == '#' || char == '\\\\' && isSpecial(url)) {\n if (seenAt && buffer == '')\n return INVALID_AUTHORITY;\n pointer -= arrayFrom(buffer).length + 1;\n buffer = '';\n state = HOST;\n } else\n buffer += char;\n break;\n case HOST:\n case HOSTNAME:\n if (stateOverride && url.scheme == 'file') {\n state = FILE_HOST;\n continue;\n } else if (char == ':' && !seenBracket) {\n if (buffer == '')\n return INVALID_HOST;\n failure = parseHost(url, buffer);\n if (failure)\n return failure;\n buffer = '';\n state = PORT;\n if (stateOverride == HOSTNAME)\n return;\n } else if (char == EOF || char == '/' || char == '?' || char == '#' || char == '\\\\' && isSpecial(url)) {\n if (isSpecial(url) && buffer == '')\n return INVALID_HOST;\n if (stateOverride && buffer == '' && (includesCredentials(url) || url.port !== null))\n return;\n failure = parseHost(url, buffer);\n if (failure)\n return failure;\n buffer = '';\n state = PATH_START;\n if (stateOverride)\n return;\n continue;\n } else {\n if (char == '[')\n seenBracket = true;\n else if (char == ']')\n seenBracket = false;\n buffer += char;\n }\n break;\n case PORT:\n if (DIGIT.test(char)) {\n buffer += char;\n } else if (char == EOF || char == '/' || char == '?' || char == '#' || char == '\\\\' && isSpecial(url) || stateOverride) {\n if (buffer != '') {\n var port = parseInt(buffer, 10);\n if (port > 0xFFFF)\n return INVALID_PORT;\n url.port = isSpecial(url) && port === specialSchemes[url.scheme] ? null : port;\n buffer = '';\n }\n if (stateOverride)\n return;\n state = PATH_START;\n continue;\n } else\n return INVALID_PORT;\n break;\n case FILE:\n url.scheme = 'file';\n if (char == '/' || char == '\\\\')\n state = FILE_SLASH;\n else if (base && base.scheme == 'file') {\n if (char == EOF) {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = base.query;\n } else if (char == '?') {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n if (!startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {\n url.host = base.host;\n url.path = base.path.slice();\n shortenURLsPath(url);\n }\n state = PATH;\n continue;\n }\n } else {\n state = PATH;\n continue;\n }\n break;\n case FILE_SLASH:\n if (char == '/' || char == '\\\\') {\n state = FILE_HOST;\n break;\n }\n if (base && base.scheme == 'file' && !startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {\n if (isWindowsDriveLetter(base.path[0], true))\n url.path.push(base.path[0]);\n else\n url.host = base.host;\n }\n state = PATH;\n continue;\n case FILE_HOST:\n if (char == EOF || char == '/' || char == '\\\\' || char == '?' || char == '#') {\n if (!stateOverride && isWindowsDriveLetter(buffer)) {\n state = PATH;\n } else if (buffer == '') {\n url.host = '';\n if (stateOverride)\n return;\n state = PATH_START;\n } else {\n failure = parseHost(url, buffer);\n if (failure)\n return failure;\n if (url.host == 'localhost')\n url.host = '';\n if (stateOverride)\n return;\n buffer = '';\n state = PATH_START;\n }\n continue;\n } else\n buffer += char;\n break;\n case PATH_START:\n if (isSpecial(url)) {\n state = PATH;\n if (char != '/' && char != '\\\\')\n continue;\n } else if (!stateOverride && char == '?') {\n url.query = '';\n state = QUERY;\n } else if (!stateOverride && char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n state = PATH;\n if (char != '/')\n continue;\n }\n break;\n case PATH:\n if (char == EOF || char == '/' || char == '\\\\' && isSpecial(url) || !stateOverride && (char == '?' || char == '#')) {\n if (isDoubleDot(buffer)) {\n shortenURLsPath(url);\n if (char != '/' && !(char == '\\\\' && isSpecial(url))) {\n url.path.push('');\n }\n } else if (isSingleDot(buffer)) {\n if (char != '/' && !(char == '\\\\' && isSpecial(url))) {\n url.path.push('');\n }\n } else {\n if (url.scheme == 'file' && !url.path.length && isWindowsDriveLetter(buffer)) {\n if (url.host)\n url.host = '';\n buffer = buffer.charAt(0) + ':';\n }\n url.path.push(buffer);\n }\n buffer = '';\n if (url.scheme == 'file' && (char == EOF || char == '?' || char == '#')) {\n while (url.path.length > 1 && url.path[0] === '') {\n url.path.shift();\n }\n }\n if (char == '?') {\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n }\n } else {\n buffer += percentEncode(char, pathPercentEncodeSet);\n }\n break;\n case CANNOT_BE_A_BASE_URL_PATH:\n if (char == '?') {\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n url.path[0] += percentEncode(char, C0ControlPercentEncodeSet);\n }\n break;\n case QUERY:\n if (!stateOverride && char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n if (char == \"'\" && isSpecial(url))\n url.query += '%27';\n else if (char == '#')\n url.query += '%23';\n else\n url.query += percentEncode(char, C0ControlPercentEncodeSet);\n }\n break;\n case FRAGMENT:\n if (char != EOF)\n url.fragment += percentEncode(char, fragmentPercentEncodeSet);\n break;\n }\n pointer++;\n }\n};\nvar URLConstructor = function URL(url) {\n var that = anInstance(this, URLConstructor, 'URL');\n var base = arguments.length > 1 ? arguments[1] : undefined;\n var urlString = String(url);\n var state = setInternalState(that, { type: 'URL' });\n var baseState, failure;\n if (base !== undefined) {\n if (base instanceof URLConstructor)\n baseState = getInternalURLState(base);\n else {\n failure = parseURL(baseState = {}, String(base));\n if (failure)\n throw TypeError(failure);\n }\n }\n failure = parseURL(state, urlString, null, baseState);\n if (failure)\n throw TypeError(failure);\n var searchParams = state.searchParams = new URLSearchParams();\n var searchParamsState = getInternalSearchParamsState(searchParams);\n searchParamsState.updateSearchParams(state.query);\n searchParamsState.updateURL = function () {\n state.query = String(searchParams) || null;\n };\n if (!DESCRIPTORS) {\n that.href = serializeURL.call(that);\n that.origin = getOrigin.call(that);\n that.protocol = getProtocol.call(that);\n that.username = getUsername.call(that);\n that.password = getPassword.call(that);\n that.host = getHost.call(that);\n that.hostname = getHostname.call(that);\n that.port = getPort.call(that);\n that.pathname = getPathname.call(that);\n that.search = getSearch.call(that);\n that.searchParams = getSearchParams.call(that);\n that.hash = getHash.call(that);\n }\n};\nvar URLPrototype = URLConstructor.prototype;\nvar serializeURL = function () {\n var url = getInternalURLState(this);\n var scheme = url.scheme;\n var username = url.username;\n var password = url.password;\n var host = url.host;\n var port = url.port;\n var path = url.path;\n var query = url.query;\n var fragment = url.fragment;\n var output = scheme + ':';\n if (host !== null) {\n output += '//';\n if (includesCredentials(url)) {\n output += username + (password ? ':' + password : '') + '@';\n }\n output += serializeHost(host);\n if (port !== null)\n output += ':' + port;\n } else if (scheme == 'file')\n output += '//';\n output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';\n if (query !== null)\n output += '?' + query;\n if (fragment !== null)\n output += '#' + fragment;\n return output;\n};\nvar getOrigin = function () {\n var url = getInternalURLState(this);\n var scheme = url.scheme;\n var port = url.port;\n if (scheme == 'blob')\n try {\n return new URL(scheme.path[0]).origin;\n } catch (error) {\n return 'null';\n }\n if (scheme == 'file' || !isSpecial(url))\n return 'null';\n return scheme + '://' + serializeHost(url.host) + (port !== null ? ':' + port : '');\n};\nvar getProtocol = function () {\n return getInternalURLState(this).scheme + ':';\n};\nvar getUsername = function () {\n return getInternalURLState(this).username;\n};\nvar getPassword = function () {\n return getInternalURLState(this).password;\n};\nvar getHost = function () {\n var url = getInternalURLState(this);\n var host = url.host;\n var port = url.port;\n return host === null ? '' : port === null ? serializeHost(host) : serializeHost(host) + ':' + port;\n};\nvar getHostname = function () {\n var host = getInternalURLState(this).host;\n return host === null ? '' : serializeHost(host);\n};\nvar getPort = function () {\n var port = getInternalURLState(this).port;\n return port === null ? '' : String(port);\n};\nvar getPathname = function () {\n var url = getInternalURLState(this);\n var path = url.path;\n return url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';\n};\nvar getSearch = function () {\n var query = getInternalURLState(this).query;\n return query ? '?' + query : '';\n};\nvar getSearchParams = function () {\n return getInternalURLState(this).searchParams;\n};\nvar getHash = function () {\n var fragment = getInternalURLState(this).fragment;\n return fragment ? '#' + fragment : '';\n};\nvar accessorDescriptor = function (getter, setter) {\n return {\n get: getter,\n set: setter,\n configurable: true,\n enumerable: true\n };\n};\nif (DESCRIPTORS) {\n defineProperties(URLPrototype, {\n href: accessorDescriptor(serializeURL, function (href) {\n var url = getInternalURLState(this);\n var urlString = String(href);\n var failure = parseURL(url, urlString);\n if (failure)\n throw TypeError(failure);\n getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);\n }),\n origin: accessorDescriptor(getOrigin),\n protocol: accessorDescriptor(getProtocol, function (protocol) {\n var url = getInternalURLState(this);\n parseURL(url, String(protocol) + ':', SCHEME_START);\n }),\n username: accessorDescriptor(getUsername, function (username) {\n var url = getInternalURLState(this);\n var codePoints = arrayFrom(String(username));\n if (cannotHaveUsernamePasswordPort(url))\n return;\n url.username = '';\n for (var i = 0; i < codePoints.length; i++) {\n url.username += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n }),\n password: accessorDescriptor(getPassword, function (password) {\n var url = getInternalURLState(this);\n var codePoints = arrayFrom(String(password));\n if (cannotHaveUsernamePasswordPort(url))\n return;\n url.password = '';\n for (var i = 0; i < codePoints.length; i++) {\n url.password += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n }),\n host: accessorDescriptor(getHost, function (host) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL)\n return;\n parseURL(url, String(host), HOST);\n }),\n hostname: accessorDescriptor(getHostname, function (hostname) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL)\n return;\n parseURL(url, String(hostname), HOSTNAME);\n }),\n port: accessorDescriptor(getPort, function (port) {\n var url = getInternalURLState(this);\n if (cannotHaveUsernamePasswordPort(url))\n return;\n port = String(port);\n if (port == '')\n url.port = null;\n else\n parseURL(url, port, PORT);\n }),\n pathname: accessorDescriptor(getPathname, function (pathname) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL)\n return;\n url.path = [];\n parseURL(url, pathname + '', PATH_START);\n }),\n search: accessorDescriptor(getSearch, function (search) {\n var url = getInternalURLState(this);\n search = String(search);\n if (search == '') {\n url.query = null;\n } else {\n if ('?' == search.charAt(0))\n search = search.slice(1);\n url.query = '';\n parseURL(url, search, QUERY);\n }\n getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);\n }),\n searchParams: accessorDescriptor(getSearchParams),\n hash: accessorDescriptor(getHash, function (hash) {\n var url = getInternalURLState(this);\n hash = String(hash);\n if (hash == '') {\n url.fragment = null;\n return;\n }\n if ('#' == hash.charAt(0))\n hash = hash.slice(1);\n url.fragment = '';\n parseURL(url, hash, FRAGMENT);\n })\n });\n}\nredefine(URLPrototype, 'toJSON', function toJSON() {\n return serializeURL.call(this);\n}, { enumerable: true });\nredefine(URLPrototype, 'toString', function toString() {\n return serializeURL.call(this);\n}, { enumerable: true });\nif (NativeURL) {\n var nativeCreateObjectURL = NativeURL.createObjectURL;\n var nativeRevokeObjectURL = NativeURL.revokeObjectURL;\n if (nativeCreateObjectURL)\n redefine(URLConstructor, 'createObjectURL', function createObjectURL(blob) {\n return nativeCreateObjectURL.apply(NativeURL, arguments);\n });\n if (nativeRevokeObjectURL)\n redefine(URLConstructor, 'revokeObjectURL', function revokeObjectURL(url) {\n return nativeRevokeObjectURL.apply(NativeURL, arguments);\n });\n}\nsetToStringTag(URLConstructor, 'URL');\n$({\n global: true,\n forced: !USE_NATIVE_URL,\n sham: !DESCRIPTORS\n}, { URL: URLConstructor });\n\n/***/ }),\n/* 140 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(14);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar IS_PURE = __w_pdfjs_require__(37);\nvar ITERATOR = wellKnownSymbol('iterator');\nmodule.exports = !fails(function () {\n var url = new URL('b?a=1&b=2&c=3', 'http://a');\n var searchParams = url.searchParams;\n var result = '';\n url.pathname = 'c%20d';\n searchParams.forEach(function (value, key) {\n searchParams['delete']('b');\n result += key + value;\n });\n return IS_PURE && !url.toJSON || !searchParams.sort || url.href !== 'http://a/c%20d?a=1&c=3' || searchParams.get('c') !== '3' || String(new URLSearchParams('?a=1')) !== 'a=1' || !searchParams[ITERATOR] || new URL('https://a@b').username !== 'a' || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b' || new URL('http://тест').host !== 'xn--e1aybc' || new URL('http://a#б').hash !== '#%D0%B1' || result !== 'a1c3' || new URL('http://x', undefined).host !== 'x';\n});\n\n/***/ }),\n/* 141 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar maxInt = 2147483647;\nvar base = 36;\nvar tMin = 1;\nvar tMax = 26;\nvar skew = 38;\nvar damp = 700;\nvar initialBias = 72;\nvar initialN = 128;\nvar delimiter = '-';\nvar regexNonASCII = /[^\\0-\\u007E]/;\nvar regexSeparators = /[.\\u3002\\uFF0E\\uFF61]/g;\nvar OVERFLOW_ERROR = 'Overflow: input needs wider integers to process';\nvar baseMinusTMin = base - tMin;\nvar floor = Math.floor;\nvar stringFromCharCode = String.fromCharCode;\nvar ucs2decode = function (string) {\n var output = [];\n var counter = 0;\n var length = string.length;\n while (counter < length) {\n var value = string.charCodeAt(counter++);\n if (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n var extra = string.charCodeAt(counter++);\n if ((extra & 0xFC00) == 0xDC00) {\n output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n } else {\n output.push(value);\n counter--;\n }\n } else {\n output.push(value);\n }\n }\n return output;\n};\nvar digitToBasic = function (digit) {\n return digit + 22 + 75 * (digit < 26);\n};\nvar adapt = function (delta, numPoints, firstTime) {\n var k = 0;\n delta = firstTime ? floor(delta / damp) : delta >> 1;\n delta += floor(delta / numPoints);\n for (; delta > baseMinusTMin * tMax >> 1; k += base) {\n delta = floor(delta / baseMinusTMin);\n }\n return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n};\nvar encode = function (input) {\n var output = [];\n input = ucs2decode(input);\n var inputLength = input.length;\n var n = initialN;\n var delta = 0;\n var bias = initialBias;\n var i, currentValue;\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < 0x80) {\n output.push(stringFromCharCode(currentValue));\n }\n }\n var basicLength = output.length;\n var handledCPCount = basicLength;\n if (basicLength) {\n output.push(delimiter);\n }\n while (handledCPCount < inputLength) {\n var m = maxInt;\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue >= n && currentValue < m) {\n m = currentValue;\n }\n }\n var handledCPCountPlusOne = handledCPCount + 1;\n if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n throw RangeError(OVERFLOW_ERROR);\n }\n delta += (m - n) * handledCPCountPlusOne;\n n = m;\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < n && ++delta > maxInt) {\n throw RangeError(OVERFLOW_ERROR);\n }\n if (currentValue == n) {\n var q = delta;\n for (var k = base;; k += base) {\n var t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias;\n if (q < t)\n break;\n var qMinusT = q - t;\n var baseMinusT = base - t;\n output.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT)));\n q = floor(qMinusT / baseMinusT);\n }\n output.push(stringFromCharCode(digitToBasic(q)));\n bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n delta = 0;\n ++handledCPCount;\n }\n }\n ++delta;\n ++n;\n }\n return output.join('');\n};\nmodule.exports = function (input) {\n var encoded = [];\n var labels = input.toLowerCase().replace(regexSeparators, '\\u002E').split('.');\n var i, label;\n for (i = 0; i < labels.length; i++) {\n label = labels[i];\n encoded.push(regexNonASCII.test(label) ? 'xn--' + encode(label) : label);\n }\n return encoded.join('.');\n};\n\n/***/ }),\n/* 142 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n__w_pdfjs_require__(102);\nvar $ = __w_pdfjs_require__(10);\nvar getBuiltIn = __w_pdfjs_require__(42);\nvar USE_NATIVE_URL = __w_pdfjs_require__(140);\nvar redefine = __w_pdfjs_require__(29);\nvar redefineAll = __w_pdfjs_require__(124);\nvar setToStringTag = __w_pdfjs_require__(85);\nvar createIteratorConstructor = __w_pdfjs_require__(80);\nvar InternalStateModule = __w_pdfjs_require__(33);\nvar anInstance = __w_pdfjs_require__(126);\nvar hasOwn = __w_pdfjs_require__(23);\nvar bind = __w_pdfjs_require__(62);\nvar classof = __w_pdfjs_require__(95);\nvar anObject = __w_pdfjs_require__(28);\nvar isObject = __w_pdfjs_require__(22);\nvar create = __w_pdfjs_require__(71);\nvar createPropertyDescriptor = __w_pdfjs_require__(16);\nvar getIterator = __w_pdfjs_require__(143);\nvar getIteratorMethod = __w_pdfjs_require__(94);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar $fetch = getBuiltIn('fetch');\nvar Headers = getBuiltIn('Headers');\nvar ITERATOR = wellKnownSymbol('iterator');\nvar URL_SEARCH_PARAMS = 'URLSearchParams';\nvar URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS);\nvar getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR);\nvar plus = /\\+/g;\nvar sequences = Array(4);\nvar percentSequence = function (bytes) {\n return sequences[bytes - 1] || (sequences[bytes - 1] = RegExp('((?:%[\\\\da-f]{2}){' + bytes + '})', 'gi'));\n};\nvar percentDecode = function (sequence) {\n try {\n return decodeURIComponent(sequence);\n } catch (error) {\n return sequence;\n }\n};\nvar deserialize = function (it) {\n var result = it.replace(plus, ' ');\n var bytes = 4;\n try {\n return decodeURIComponent(result);\n } catch (error) {\n while (bytes) {\n result = result.replace(percentSequence(bytes--), percentDecode);\n }\n return result;\n }\n};\nvar find = /[!'()~]|%20/g;\nvar replace = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+'\n};\nvar replacer = function (match) {\n return replace[match];\n};\nvar serialize = function (it) {\n return encodeURIComponent(it).replace(find, replacer);\n};\nvar parseSearchParams = function (result, query) {\n if (query) {\n var attributes = query.split('&');\n var index = 0;\n var attribute, entry;\n while (index < attributes.length) {\n attribute = attributes[index++];\n if (attribute.length) {\n entry = attribute.split('=');\n result.push({\n key: deserialize(entry.shift()),\n value: deserialize(entry.join('='))\n });\n }\n }\n }\n};\nvar updateSearchParams = function (query) {\n this.entries.length = 0;\n parseSearchParams(this.entries, query);\n};\nvar validateArgumentsLength = function (passed, required) {\n if (passed < required)\n throw TypeError('Not enough arguments');\n};\nvar URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) {\n setInternalState(this, {\n type: URL_SEARCH_PARAMS_ITERATOR,\n iterator: getIterator(getInternalParamsState(params).entries),\n kind: kind\n });\n}, 'Iterator', function next() {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var step = state.iterator.next();\n var entry = step.value;\n if (!step.done) {\n step.value = kind === 'keys' ? entry.key : kind === 'values' ? entry.value : [\n entry.key,\n entry.value\n ];\n }\n return step;\n});\nvar URLSearchParamsConstructor = function URLSearchParams() {\n anInstance(this, URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n var init = arguments.length > 0 ? arguments[0] : undefined;\n var that = this;\n var entries = [];\n var iteratorMethod, iterator, next, step, entryIterator, entryNext, first, second, key;\n setInternalState(that, {\n type: URL_SEARCH_PARAMS,\n entries: entries,\n updateURL: function () {\n },\n updateSearchParams: updateSearchParams\n });\n if (init !== undefined) {\n if (isObject(init)) {\n iteratorMethod = getIteratorMethod(init);\n if (typeof iteratorMethod === 'function') {\n iterator = iteratorMethod.call(init);\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n entryIterator = getIterator(anObject(step.value));\n entryNext = entryIterator.next;\n if ((first = entryNext.call(entryIterator)).done || (second = entryNext.call(entryIterator)).done || !entryNext.call(entryIterator).done)\n throw TypeError('Expected sequence with length 2');\n entries.push({\n key: first.value + '',\n value: second.value + ''\n });\n }\n } else\n for (key in init)\n if (hasOwn(init, key))\n entries.push({\n key: key,\n value: init[key] + ''\n });\n } else {\n parseSearchParams(entries, typeof init === 'string' ? init.charAt(0) === '?' ? init.slice(1) : init : init + '');\n }\n }\n};\nvar URLSearchParamsPrototype = URLSearchParamsConstructor.prototype;\nredefineAll(URLSearchParamsPrototype, {\n append: function append(name, value) {\n validateArgumentsLength(arguments.length, 2);\n var state = getInternalParamsState(this);\n state.entries.push({\n key: name + '',\n value: value + ''\n });\n state.updateURL();\n },\n 'delete': function (name) {\n validateArgumentsLength(arguments.length, 1);\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var key = name + '';\n var index = 0;\n while (index < entries.length) {\n if (entries[index].key === key)\n entries.splice(index, 1);\n else\n index++;\n }\n state.updateURL();\n },\n get: function get(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key)\n return entries[index].value;\n }\n return null;\n },\n getAll: function getAll(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var result = [];\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key)\n result.push(entries[index].value);\n }\n return result;\n },\n has: function has(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var index = 0;\n while (index < entries.length) {\n if (entries[index++].key === key)\n return true;\n }\n return false;\n },\n set: function set(name, value) {\n validateArgumentsLength(arguments.length, 1);\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var found = false;\n var key = name + '';\n var val = value + '';\n var index = 0;\n var entry;\n for (; index < entries.length; index++) {\n entry = entries[index];\n if (entry.key === key) {\n if (found)\n entries.splice(index--, 1);\n else {\n found = true;\n entry.value = val;\n }\n }\n }\n if (!found)\n entries.push({\n key: key,\n value: val\n });\n state.updateURL();\n },\n sort: function sort() {\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var slice = entries.slice();\n var entry, entriesIndex, sliceIndex;\n entries.length = 0;\n for (sliceIndex = 0; sliceIndex < slice.length; sliceIndex++) {\n entry = slice[sliceIndex];\n for (entriesIndex = 0; entriesIndex < sliceIndex; entriesIndex++) {\n if (entries[entriesIndex].key > entry.key) {\n entries.splice(entriesIndex, 0, entry);\n break;\n }\n }\n if (entriesIndex === sliceIndex)\n entries.push(entry);\n }\n state.updateURL();\n },\n forEach: function forEach(callback) {\n var entries = getInternalParamsState(this).entries;\n var boundFunction = bind(callback, arguments.length > 1 ? arguments[1] : undefined, 3);\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n boundFunction(entry.value, entry.key, this);\n }\n },\n keys: function keys() {\n return new URLSearchParamsIterator(this, 'keys');\n },\n values: function values() {\n return new URLSearchParamsIterator(this, 'values');\n },\n entries: function entries() {\n return new URLSearchParamsIterator(this, 'entries');\n }\n}, { enumerable: true });\nredefine(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries);\nredefine(URLSearchParamsPrototype, 'toString', function toString() {\n var entries = getInternalParamsState(this).entries;\n var result = [];\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n result.push(serialize(entry.key) + '=' + serialize(entry.value));\n }\n return result.join('&');\n}, { enumerable: true });\nsetToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n$({\n global: true,\n forced: !USE_NATIVE_URL\n}, { URLSearchParams: URLSearchParamsConstructor });\nif (!USE_NATIVE_URL && typeof $fetch == 'function' && typeof Headers == 'function') {\n $({\n global: true,\n enumerable: true,\n forced: true\n }, {\n fetch: function fetch(input) {\n var args = [input];\n var init, body, headers;\n if (arguments.length > 1) {\n init = arguments[1];\n if (isObject(init)) {\n body = init.body;\n if (classof(body) === URL_SEARCH_PARAMS) {\n headers = init.headers ? new Headers(init.headers) : new Headers();\n if (!headers.has('content-type')) {\n headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n init = create(init, {\n body: createPropertyDescriptor(0, String(body)),\n headers: createPropertyDescriptor(0, headers)\n });\n }\n }\n args.push(init);\n }\n return $fetch.apply(this, args);\n }\n });\n}\nmodule.exports = {\n URLSearchParams: URLSearchParamsConstructor,\n getState: getInternalParamsState\n};\n\n/***/ }),\n/* 143 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(28);\nvar getIteratorMethod = __w_pdfjs_require__(94);\nmodule.exports = function (it) {\n var iteratorMethod = getIteratorMethod(it);\n if (typeof iteratorMethod != 'function') {\n throw TypeError(String(it) + ' is not iterable');\n }\n return anObject(iteratorMethod.call(it));\n};\n\n/***/ }),\n/* 144 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\n$({\n target: 'URL',\n proto: true,\n enumerable: true\n}, {\n toJSON: function toJSON() {\n return URL.prototype.toString.call(this);\n }\n});\n\n/***/ }),\n/* 145 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n(function (global, factory) {\n true ? factory(exports) : undefined;\n}(this, function (exports) {\n 'use strict';\n var SymbolPolyfill = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? Symbol : function (description) {\n return \"Symbol(\" + description + \")\";\n };\n function noop() {\n }\n var NumberIsNaN = Number.isNaN || function (x) {\n return x !== x;\n };\n var rethrowAssertionErrorRejection = noop;\n function typeIsObject(x) {\n return typeof x === 'object' && x !== null || typeof x === 'function';\n }\n function createArrayFromList(elements) {\n return elements.slice();\n }\n function ArrayBufferCopy(dest, destOffset, src, srcOffset, n) {\n new Uint8Array(dest).set(new Uint8Array(src, srcOffset, n), destOffset);\n }\n function IsFiniteNonNegativeNumber(v) {\n if (IsNonNegativeNumber(v) === false) {\n return false;\n }\n if (v === Infinity) {\n return false;\n }\n return true;\n }\n function IsNonNegativeNumber(v) {\n if (typeof v !== 'number') {\n return false;\n }\n if (NumberIsNaN(v)) {\n return false;\n }\n if (v < 0) {\n return false;\n }\n return true;\n }\n function Call(F, V, args) {\n if (typeof F !== 'function') {\n throw new TypeError('Argument is not a function');\n }\n return Function.prototype.apply.call(F, V, args);\n }\n function CreateAlgorithmFromUnderlyingMethod(underlyingObject, methodName, algoArgCount, extraArgs) {\n var method = underlyingObject[methodName];\n if (method !== undefined) {\n if (typeof method !== 'function') {\n throw new TypeError(method + \" is not a method\");\n }\n switch (algoArgCount) {\n case 0: {\n return function () {\n return PromiseCall(method, underlyingObject, extraArgs);\n };\n }\n case 1: {\n return function (arg) {\n var fullArgs = [arg].concat(extraArgs);\n return PromiseCall(method, underlyingObject, fullArgs);\n };\n }\n }\n }\n return function () {\n return promiseResolvedWith(undefined);\n };\n }\n function InvokeOrNoop(O, P, args) {\n var method = O[P];\n if (method === undefined) {\n return undefined;\n }\n return Call(method, O, args);\n }\n function PromiseCall(F, V, args) {\n try {\n return promiseResolvedWith(Call(F, V, args));\n } catch (value) {\n return promiseRejectedWith(value);\n }\n }\n function TransferArrayBuffer(O) {\n return O;\n }\n function IsDetachedBuffer(O) {\n return false;\n }\n function ValidateAndNormalizeHighWaterMark(highWaterMark) {\n highWaterMark = Number(highWaterMark);\n if (NumberIsNaN(highWaterMark) || highWaterMark < 0) {\n throw new RangeError('highWaterMark property of a queuing strategy must be non-negative and non-NaN');\n }\n return highWaterMark;\n }\n function MakeSizeAlgorithmFromSizeFunction(size) {\n if (size === undefined) {\n return function () {\n return 1;\n };\n }\n if (typeof size !== 'function') {\n throw new TypeError('size property of a queuing strategy must be a function');\n }\n return function (chunk) {\n return size(chunk);\n };\n }\n var originalPromise = Promise;\n var originalPromiseThen = Promise.prototype.then;\n var originalPromiseResolve = Promise.resolve.bind(originalPromise);\n var originalPromiseReject = Promise.reject.bind(originalPromise);\n function newPromise(executor) {\n return new originalPromise(executor);\n }\n function promiseResolvedWith(value) {\n return originalPromiseResolve(value);\n }\n function promiseRejectedWith(reason) {\n return originalPromiseReject(reason);\n }\n function PerformPromiseThen(promise, onFulfilled, onRejected) {\n return originalPromiseThen.call(promise, onFulfilled, onRejected);\n }\n function uponPromise(promise, onFulfilled, onRejected) {\n PerformPromiseThen(PerformPromiseThen(promise, onFulfilled, onRejected), undefined, rethrowAssertionErrorRejection);\n }\n function uponFulfillment(promise, onFulfilled) {\n uponPromise(promise, onFulfilled);\n }\n function uponRejection(promise, onRejected) {\n uponPromise(promise, undefined, onRejected);\n }\n function transformPromiseWith(promise, fulfillmentHandler, rejectionHandler) {\n return PerformPromiseThen(promise, fulfillmentHandler, rejectionHandler);\n }\n function setPromiseIsHandledToTrue(promise) {\n PerformPromiseThen(promise, undefined, rethrowAssertionErrorRejection);\n }\n var QUEUE_MAX_ARRAY_SIZE = 16384;\n var SimpleQueue = function () {\n function SimpleQueue() {\n this._cursor = 0;\n this._size = 0;\n this._front = {\n _elements: [],\n _next: undefined\n };\n this._back = this._front;\n this._cursor = 0;\n this._size = 0;\n }\n Object.defineProperty(SimpleQueue.prototype, \"length\", {\n get: function () {\n return this._size;\n },\n enumerable: true,\n configurable: true\n });\n SimpleQueue.prototype.push = function (element) {\n var oldBack = this._back;\n var newBack = oldBack;\n if (oldBack._elements.length === QUEUE_MAX_ARRAY_SIZE - 1) {\n newBack = {\n _elements: [],\n _next: undefined\n };\n }\n oldBack._elements.push(element);\n if (newBack !== oldBack) {\n this._back = newBack;\n oldBack._next = newBack;\n }\n ++this._size;\n };\n SimpleQueue.prototype.shift = function () {\n var oldFront = this._front;\n var newFront = oldFront;\n var oldCursor = this._cursor;\n var newCursor = oldCursor + 1;\n var elements = oldFront._elements;\n var element = elements[oldCursor];\n if (newCursor === QUEUE_MAX_ARRAY_SIZE) {\n newFront = oldFront._next;\n newCursor = 0;\n }\n --this._size;\n this._cursor = newCursor;\n if (oldFront !== newFront) {\n this._front = newFront;\n }\n elements[oldCursor] = undefined;\n return element;\n };\n SimpleQueue.prototype.forEach = function (callback) {\n var i = this._cursor;\n var node = this._front;\n var elements = node._elements;\n while (i !== elements.length || node._next !== undefined) {\n if (i === elements.length) {\n node = node._next;\n elements = node._elements;\n i = 0;\n if (elements.length === 0) {\n break;\n }\n }\n callback(elements[i]);\n ++i;\n }\n };\n SimpleQueue.prototype.peek = function () {\n var front = this._front;\n var cursor = this._cursor;\n return front._elements[cursor];\n };\n return SimpleQueue;\n }();\n function ReadableStreamCreateReadResult(value, done, forAuthorCode) {\n var prototype = null;\n if (forAuthorCode === true) {\n prototype = Object.prototype;\n }\n var obj = Object.create(prototype);\n obj.value = value;\n obj.done = done;\n return obj;\n }\n function ReadableStreamReaderGenericInitialize(reader, stream) {\n reader._forAuthorCode = true;\n reader._ownerReadableStream = stream;\n stream._reader = reader;\n if (stream._state === 'readable') {\n defaultReaderClosedPromiseInitialize(reader);\n } else if (stream._state === 'closed') {\n defaultReaderClosedPromiseInitializeAsResolved(reader);\n } else {\n defaultReaderClosedPromiseInitializeAsRejected(reader, stream._storedError);\n }\n }\n function ReadableStreamReaderGenericCancel(reader, reason) {\n var stream = reader._ownerReadableStream;\n return ReadableStreamCancel(stream, reason);\n }\n function ReadableStreamReaderGenericRelease(reader) {\n if (reader._ownerReadableStream._state === 'readable') {\n defaultReaderClosedPromiseReject(reader, new TypeError('Reader was released and can no longer be used to monitor the stream\\'s closedness'));\n } else {\n defaultReaderClosedPromiseResetToRejected(reader, new TypeError('Reader was released and can no longer be used to monitor the stream\\'s closedness'));\n }\n reader._ownerReadableStream._reader = undefined;\n reader._ownerReadableStream = undefined;\n }\n function readerLockException(name) {\n return new TypeError('Cannot ' + name + ' a stream using a released reader');\n }\n function defaultReaderClosedPromiseInitialize(reader) {\n reader._closedPromise = newPromise(function (resolve, reject) {\n reader._closedPromise_resolve = resolve;\n reader._closedPromise_reject = reject;\n });\n }\n function defaultReaderClosedPromiseInitializeAsRejected(reader, reason) {\n defaultReaderClosedPromiseInitialize(reader);\n defaultReaderClosedPromiseReject(reader, reason);\n }\n function defaultReaderClosedPromiseInitializeAsResolved(reader) {\n defaultReaderClosedPromiseInitialize(reader);\n defaultReaderClosedPromiseResolve(reader);\n }\n function defaultReaderClosedPromiseReject(reader, reason) {\n setPromiseIsHandledToTrue(reader._closedPromise);\n reader._closedPromise_reject(reason);\n reader._closedPromise_resolve = undefined;\n reader._closedPromise_reject = undefined;\n }\n function defaultReaderClosedPromiseResetToRejected(reader, reason) {\n defaultReaderClosedPromiseInitializeAsRejected(reader, reason);\n }\n function defaultReaderClosedPromiseResolve(reader) {\n reader._closedPromise_resolve(undefined);\n reader._closedPromise_resolve = undefined;\n reader._closedPromise_reject = undefined;\n }\n var CancelSteps = SymbolPolyfill('[[CancelSteps]]');\n var PullSteps = SymbolPolyfill('[[PullSteps]]');\n function AcquireReadableStreamDefaultReader(stream, forAuthorCode) {\n if (forAuthorCode === void 0) {\n forAuthorCode = false;\n }\n var reader = new ReadableStreamDefaultReader(stream);\n reader._forAuthorCode = forAuthorCode;\n return reader;\n }\n function ReadableStreamAddReadRequest(stream) {\n var promise = newPromise(function (resolve, reject) {\n var readRequest = {\n _resolve: resolve,\n _reject: reject\n };\n stream._reader._readRequests.push(readRequest);\n });\n return promise;\n }\n function ReadableStreamFulfillReadRequest(stream, chunk, done) {\n var reader = stream._reader;\n var readRequest = reader._readRequests.shift();\n readRequest._resolve(ReadableStreamCreateReadResult(chunk, done, reader._forAuthorCode));\n }\n function ReadableStreamGetNumReadRequests(stream) {\n return stream._reader._readRequests.length;\n }\n function ReadableStreamHasDefaultReader(stream) {\n var reader = stream._reader;\n if (reader === undefined) {\n return false;\n }\n if (!IsReadableStreamDefaultReader(reader)) {\n return false;\n }\n return true;\n }\n var ReadableStreamDefaultReader = function () {\n function ReadableStreamDefaultReader(stream) {\n if (IsReadableStream(stream) === false) {\n throw new TypeError('ReadableStreamDefaultReader can only be constructed with a ReadableStream instance');\n }\n if (IsReadableStreamLocked(stream) === true) {\n throw new TypeError('This stream has already been locked for exclusive reading by another reader');\n }\n ReadableStreamReaderGenericInitialize(this, stream);\n this._readRequests = new SimpleQueue();\n }\n Object.defineProperty(ReadableStreamDefaultReader.prototype, \"closed\", {\n get: function () {\n if (!IsReadableStreamDefaultReader(this)) {\n return promiseRejectedWith(defaultReaderBrandCheckException('closed'));\n }\n return this._closedPromise;\n },\n enumerable: true,\n configurable: true\n });\n ReadableStreamDefaultReader.prototype.cancel = function (reason) {\n if (!IsReadableStreamDefaultReader(this)) {\n return promiseRejectedWith(defaultReaderBrandCheckException('cancel'));\n }\n if (this._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('cancel'));\n }\n return ReadableStreamReaderGenericCancel(this, reason);\n };\n ReadableStreamDefaultReader.prototype.read = function () {\n if (!IsReadableStreamDefaultReader(this)) {\n return promiseRejectedWith(defaultReaderBrandCheckException('read'));\n }\n if (this._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('read from'));\n }\n return ReadableStreamDefaultReaderRead(this);\n };\n ReadableStreamDefaultReader.prototype.releaseLock = function () {\n if (!IsReadableStreamDefaultReader(this)) {\n throw defaultReaderBrandCheckException('releaseLock');\n }\n if (this._ownerReadableStream === undefined) {\n return;\n }\n if (this._readRequests.length > 0) {\n throw new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled');\n }\n ReadableStreamReaderGenericRelease(this);\n };\n return ReadableStreamDefaultReader;\n }();\n function IsReadableStreamDefaultReader(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_readRequests')) {\n return false;\n }\n return true;\n }\n function ReadableStreamDefaultReaderRead(reader) {\n var stream = reader._ownerReadableStream;\n stream._disturbed = true;\n if (stream._state === 'closed') {\n return promiseResolvedWith(ReadableStreamCreateReadResult(undefined, true, reader._forAuthorCode));\n }\n if (stream._state === 'errored') {\n return promiseRejectedWith(stream._storedError);\n }\n return stream._readableStreamController[PullSteps]();\n }\n function defaultReaderBrandCheckException(name) {\n return new TypeError(\"ReadableStreamDefaultReader.prototype.\" + name + \" can only be used on a ReadableStreamDefaultReader\");\n }\n var _a;\n var AsyncIteratorPrototype;\n if (typeof SymbolPolyfill.asyncIterator === 'symbol') {\n AsyncIteratorPrototype = (_a = {}, _a[SymbolPolyfill.asyncIterator] = function () {\n return this;\n }, _a);\n Object.defineProperty(AsyncIteratorPrototype, SymbolPolyfill.asyncIterator, { enumerable: false });\n }\n var ReadableStreamAsyncIteratorPrototype = {\n next: function () {\n if (IsReadableStreamAsyncIterator(this) === false) {\n return promiseRejectedWith(streamAsyncIteratorBrandCheckException('next'));\n }\n var reader = this._asyncIteratorReader;\n if (reader._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('iterate'));\n }\n return transformPromiseWith(ReadableStreamDefaultReaderRead(reader), function (result) {\n var done = result.done;\n if (done) {\n ReadableStreamReaderGenericRelease(reader);\n }\n var value = result.value;\n return ReadableStreamCreateReadResult(value, done, true);\n });\n },\n return: function (value) {\n if (IsReadableStreamAsyncIterator(this) === false) {\n return promiseRejectedWith(streamAsyncIteratorBrandCheckException('next'));\n }\n var reader = this._asyncIteratorReader;\n if (reader._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('finish iterating'));\n }\n if (reader._readRequests.length > 0) {\n return promiseRejectedWith(new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled'));\n }\n if (this._preventCancel === false) {\n var result = ReadableStreamReaderGenericCancel(reader, value);\n ReadableStreamReaderGenericRelease(reader);\n return transformPromiseWith(result, function () {\n return ReadableStreamCreateReadResult(value, true, true);\n });\n }\n ReadableStreamReaderGenericRelease(reader);\n return promiseResolvedWith(ReadableStreamCreateReadResult(value, true, true));\n }\n };\n if (AsyncIteratorPrototype !== undefined) {\n Object.setPrototypeOf(ReadableStreamAsyncIteratorPrototype, AsyncIteratorPrototype);\n }\n Object.defineProperty(ReadableStreamAsyncIteratorPrototype, 'next', { enumerable: false });\n Object.defineProperty(ReadableStreamAsyncIteratorPrototype, 'return', { enumerable: false });\n function AcquireReadableStreamAsyncIterator(stream, preventCancel) {\n if (preventCancel === void 0) {\n preventCancel = false;\n }\n var reader = AcquireReadableStreamDefaultReader(stream);\n var iterator = Object.create(ReadableStreamAsyncIteratorPrototype);\n iterator._asyncIteratorReader = reader;\n iterator._preventCancel = Boolean(preventCancel);\n return iterator;\n }\n function IsReadableStreamAsyncIterator(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_asyncIteratorReader')) {\n return false;\n }\n return true;\n }\n function streamAsyncIteratorBrandCheckException(name) {\n return new TypeError(\"ReadableStreamAsyncIterator.\" + name + \" can only be used on a ReadableSteamAsyncIterator\");\n }\n function DequeueValue(container) {\n var pair = container._queue.shift();\n container._queueTotalSize -= pair.size;\n if (container._queueTotalSize < 0) {\n container._queueTotalSize = 0;\n }\n return pair.value;\n }\n function EnqueueValueWithSize(container, value, size) {\n size = Number(size);\n if (!IsFiniteNonNegativeNumber(size)) {\n throw new RangeError('Size must be a finite, non-NaN, non-negative number.');\n }\n container._queue.push({\n value: value,\n size: size\n });\n container._queueTotalSize += size;\n }\n function PeekQueueValue(container) {\n var pair = container._queue.peek();\n return pair.value;\n }\n function ResetQueue(container) {\n container._queue = new SimpleQueue();\n container._queueTotalSize = 0;\n }\n var AbortSteps = SymbolPolyfill('[[AbortSteps]]');\n var ErrorSteps = SymbolPolyfill('[[ErrorSteps]]');\n var WritableStream = function () {\n function WritableStream(underlyingSink, strategy) {\n if (underlyingSink === void 0) {\n underlyingSink = {};\n }\n if (strategy === void 0) {\n strategy = {};\n }\n InitializeWritableStream(this);\n var size = strategy.size;\n var highWaterMark = strategy.highWaterMark;\n var type = underlyingSink.type;\n if (type !== undefined) {\n throw new RangeError('Invalid type is specified');\n }\n var sizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(size);\n if (highWaterMark === undefined) {\n highWaterMark = 1;\n }\n highWaterMark = ValidateAndNormalizeHighWaterMark(highWaterMark);\n SetUpWritableStreamDefaultControllerFromUnderlyingSink(this, underlyingSink, highWaterMark, sizeAlgorithm);\n }\n Object.defineProperty(WritableStream.prototype, \"locked\", {\n get: function () {\n if (IsWritableStream(this) === false) {\n throw streamBrandCheckException('locked');\n }\n return IsWritableStreamLocked(this);\n },\n enumerable: true,\n configurable: true\n });\n WritableStream.prototype.abort = function (reason) {\n if (IsWritableStream(this) === false) {\n return promiseRejectedWith(streamBrandCheckException('abort'));\n }\n if (IsWritableStreamLocked(this) === true) {\n return promiseRejectedWith(new TypeError('Cannot abort a stream that already has a writer'));\n }\n return WritableStreamAbort(this, reason);\n };\n WritableStream.prototype.close = function () {\n if (IsWritableStream(this) === false) {\n return promiseRejectedWith(streamBrandCheckException('close'));\n }\n if (IsWritableStreamLocked(this) === true) {\n return promiseRejectedWith(new TypeError('Cannot close a stream that already has a writer'));\n }\n if (WritableStreamCloseQueuedOrInFlight(this) === true) {\n return promiseRejectedWith(new TypeError('Cannot close an already-closing stream'));\n }\n return WritableStreamClose(this);\n };\n WritableStream.prototype.getWriter = function () {\n if (IsWritableStream(this) === false) {\n throw streamBrandCheckException('getWriter');\n }\n return AcquireWritableStreamDefaultWriter(this);\n };\n return WritableStream;\n }();\n function AcquireWritableStreamDefaultWriter(stream) {\n return new WritableStreamDefaultWriter(stream);\n }\n function CreateWritableStream(startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm) {\n if (highWaterMark === void 0) {\n highWaterMark = 1;\n }\n if (sizeAlgorithm === void 0) {\n sizeAlgorithm = function () {\n return 1;\n };\n }\n var stream = Object.create(WritableStream.prototype);\n InitializeWritableStream(stream);\n var controller = Object.create(WritableStreamDefaultController.prototype);\n SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm);\n return stream;\n }\n function InitializeWritableStream(stream) {\n stream._state = 'writable';\n stream._storedError = undefined;\n stream._writer = undefined;\n stream._writableStreamController = undefined;\n stream._writeRequests = new SimpleQueue();\n stream._inFlightWriteRequest = undefined;\n stream._closeRequest = undefined;\n stream._inFlightCloseRequest = undefined;\n stream._pendingAbortRequest = undefined;\n stream._backpressure = false;\n }\n function IsWritableStream(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_writableStreamController')) {\n return false;\n }\n return true;\n }\n function IsWritableStreamLocked(stream) {\n if (stream._writer === undefined) {\n return false;\n }\n return true;\n }\n function WritableStreamAbort(stream, reason) {\n var state = stream._state;\n if (state === 'closed' || state === 'errored') {\n return promiseResolvedWith(undefined);\n }\n if (stream._pendingAbortRequest !== undefined) {\n return stream._pendingAbortRequest._promise;\n }\n var wasAlreadyErroring = false;\n if (state === 'erroring') {\n wasAlreadyErroring = true;\n reason = undefined;\n }\n var promise = newPromise(function (resolve, reject) {\n stream._pendingAbortRequest = {\n _promise: undefined,\n _resolve: resolve,\n _reject: reject,\n _reason: reason,\n _wasAlreadyErroring: wasAlreadyErroring\n };\n });\n stream._pendingAbortRequest._promise = promise;\n if (wasAlreadyErroring === false) {\n WritableStreamStartErroring(stream, reason);\n }\n return promise;\n }\n function WritableStreamClose(stream) {\n var state = stream._state;\n if (state === 'closed' || state === 'errored') {\n return promiseRejectedWith(new TypeError(\"The stream (in \" + state + \" state) is not in the writable state and cannot be closed\"));\n }\n var promise = newPromise(function (resolve, reject) {\n var closeRequest = {\n _resolve: resolve,\n _reject: reject\n };\n stream._closeRequest = closeRequest;\n });\n var writer = stream._writer;\n if (writer !== undefined && stream._backpressure === true && state === 'writable') {\n defaultWriterReadyPromiseResolve(writer);\n }\n WritableStreamDefaultControllerClose(stream._writableStreamController);\n return promise;\n }\n function WritableStreamAddWriteRequest(stream) {\n var promise = newPromise(function (resolve, reject) {\n var writeRequest = {\n _resolve: resolve,\n _reject: reject\n };\n stream._writeRequests.push(writeRequest);\n });\n return promise;\n }\n function WritableStreamDealWithRejection(stream, error) {\n var state = stream._state;\n if (state === 'writable') {\n WritableStreamStartErroring(stream, error);\n return;\n }\n WritableStreamFinishErroring(stream);\n }\n function WritableStreamStartErroring(stream, reason) {\n var controller = stream._writableStreamController;\n stream._state = 'erroring';\n stream._storedError = reason;\n var writer = stream._writer;\n if (writer !== undefined) {\n WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, reason);\n }\n if (WritableStreamHasOperationMarkedInFlight(stream) === false && controller._started === true) {\n WritableStreamFinishErroring(stream);\n }\n }\n function WritableStreamFinishErroring(stream) {\n stream._state = 'errored';\n stream._writableStreamController[ErrorSteps]();\n var storedError = stream._storedError;\n stream._writeRequests.forEach(function (writeRequest) {\n writeRequest._reject(storedError);\n });\n stream._writeRequests = new SimpleQueue();\n if (stream._pendingAbortRequest === undefined) {\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n return;\n }\n var abortRequest = stream._pendingAbortRequest;\n stream._pendingAbortRequest = undefined;\n if (abortRequest._wasAlreadyErroring === true) {\n abortRequest._reject(storedError);\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n return;\n }\n var promise = stream._writableStreamController[AbortSteps](abortRequest._reason);\n uponPromise(promise, function () {\n abortRequest._resolve();\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n }, function (reason) {\n abortRequest._reject(reason);\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n });\n }\n function WritableStreamFinishInFlightWrite(stream) {\n stream._inFlightWriteRequest._resolve(undefined);\n stream._inFlightWriteRequest = undefined;\n }\n function WritableStreamFinishInFlightWriteWithError(stream, error) {\n stream._inFlightWriteRequest._reject(error);\n stream._inFlightWriteRequest = undefined;\n WritableStreamDealWithRejection(stream, error);\n }\n function WritableStreamFinishInFlightClose(stream) {\n stream._inFlightCloseRequest._resolve(undefined);\n stream._inFlightCloseRequest = undefined;\n var state = stream._state;\n if (state === 'erroring') {\n stream._storedError = undefined;\n if (stream._pendingAbortRequest !== undefined) {\n stream._pendingAbortRequest._resolve();\n stream._pendingAbortRequest = undefined;\n }\n }\n stream._state = 'closed';\n var writer = stream._writer;\n if (writer !== undefined) {\n defaultWriterClosedPromiseResolve(writer);\n }\n }\n function WritableStreamFinishInFlightCloseWithError(stream, error) {\n stream._inFlightCloseRequest._reject(error);\n stream._inFlightCloseRequest = undefined;\n if (stream._pendingAbortRequest !== undefined) {\n stream._pendingAbortRequest._reject(error);\n stream._pendingAbortRequest = undefined;\n }\n WritableStreamDealWithRejection(stream, error);\n }\n function WritableStreamCloseQueuedOrInFlight(stream) {\n if (stream._closeRequest === undefined && stream._inFlightCloseRequest === undefined) {\n return false;\n }\n return true;\n }\n function WritableStreamHasOperationMarkedInFlight(stream) {\n if (stream._inFlightWriteRequest === undefined && stream._inFlightCloseRequest === undefined) {\n return false;\n }\n return true;\n }\n function WritableStreamMarkCloseRequestInFlight(stream) {\n stream._inFlightCloseRequest = stream._closeRequest;\n stream._closeRequest = undefined;\n }\n function WritableStreamMarkFirstWriteRequestInFlight(stream) {\n stream._inFlightWriteRequest = stream._writeRequests.shift();\n }\n function WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream) {\n if (stream._closeRequest !== undefined) {\n stream._closeRequest._reject(stream._storedError);\n stream._closeRequest = undefined;\n }\n var writer = stream._writer;\n if (writer !== undefined) {\n defaultWriterClosedPromiseReject(writer, stream._storedError);\n }\n }\n function WritableStreamUpdateBackpressure(stream, backpressure) {\n var writer = stream._writer;\n if (writer !== undefined && backpressure !== stream._backpressure) {\n if (backpressure === true) {\n defaultWriterReadyPromiseReset(writer);\n } else {\n defaultWriterReadyPromiseResolve(writer);\n }\n }\n stream._backpressure = backpressure;\n }\n var WritableStreamDefaultWriter = function () {\n function WritableStreamDefaultWriter(stream) {\n if (IsWritableStream(stream) === false) {\n throw new TypeError('WritableStreamDefaultWriter can only be constructed with a WritableStream instance');\n }\n if (IsWritableStreamLocked(stream) === true) {\n throw new TypeError('This stream has already been locked for exclusive writing by another writer');\n }\n this._ownerWritableStream = stream;\n stream._writer = this;\n var state = stream._state;\n if (state === 'writable') {\n if (WritableStreamCloseQueuedOrInFlight(stream) === false && stream._backpressure === true) {\n defaultWriterReadyPromiseInitialize(this);\n } else {\n defaultWriterReadyPromiseInitializeAsResolved(this);\n }\n defaultWriterClosedPromiseInitialize(this);\n } else if (state === 'erroring') {\n defaultWriterReadyPromiseInitializeAsRejected(this, stream._storedError);\n defaultWriterClosedPromiseInitialize(this);\n } else if (state === 'closed') {\n defaultWriterReadyPromiseInitializeAsResolved(this);\n defaultWriterClosedPromiseInitializeAsResolved(this);\n } else {\n var storedError = stream._storedError;\n defaultWriterReadyPromiseInitializeAsRejected(this, storedError);\n defaultWriterClosedPromiseInitializeAsRejected(this, storedError);\n }\n }\n Object.defineProperty(WritableStreamDefaultWriter.prototype, \"closed\", {\n get: function () {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return promiseRejectedWith(defaultWriterBrandCheckException('closed'));\n }\n return this._closedPromise;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(WritableStreamDefaultWriter.prototype, \"desiredSize\", {\n get: function () {\n if (IsWritableStreamDefaultWriter(this) === false) {\n throw defaultWriterBrandCheckException('desiredSize');\n }\n if (this._ownerWritableStream === undefined) {\n throw defaultWriterLockException('desiredSize');\n }\n return WritableStreamDefaultWriterGetDesiredSize(this);\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(WritableStreamDefaultWriter.prototype, \"ready\", {\n get: function () {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return promiseRejectedWith(defaultWriterBrandCheckException('ready'));\n }\n return this._readyPromise;\n },\n enumerable: true,\n configurable: true\n });\n WritableStreamDefaultWriter.prototype.abort = function (reason) {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return promiseRejectedWith(defaultWriterBrandCheckException('abort'));\n }\n if (this._ownerWritableStream === undefined) {\n return promiseRejectedWith(defaultWriterLockException('abort'));\n }\n return WritableStreamDefaultWriterAbort(this, reason);\n };\n WritableStreamDefaultWriter.prototype.close = function () {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return promiseRejectedWith(defaultWriterBrandCheckException('close'));\n }\n var stream = this._ownerWritableStream;\n if (stream === undefined) {\n return promiseRejectedWith(defaultWriterLockException('close'));\n }\n if (WritableStreamCloseQueuedOrInFlight(stream) === true) {\n return promiseRejectedWith(new TypeError('Cannot close an already-closing stream'));\n }\n return WritableStreamDefaultWriterClose(this);\n };\n WritableStreamDefaultWriter.prototype.releaseLock = function () {\n if (IsWritableStreamDefaultWriter(this) === false) {\n throw defaultWriterBrandCheckException('releaseLock');\n }\n var stream = this._ownerWritableStream;\n if (stream === undefined) {\n return;\n }\n WritableStreamDefaultWriterRelease(this);\n };\n WritableStreamDefaultWriter.prototype.write = function (chunk) {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return promiseRejectedWith(defaultWriterBrandCheckException('write'));\n }\n if (this._ownerWritableStream === undefined) {\n return promiseRejectedWith(defaultWriterLockException('write to'));\n }\n return WritableStreamDefaultWriterWrite(this, chunk);\n };\n return WritableStreamDefaultWriter;\n }();\n function IsWritableStreamDefaultWriter(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_ownerWritableStream')) {\n return false;\n }\n return true;\n }\n function WritableStreamDefaultWriterAbort(writer, reason) {\n var stream = writer._ownerWritableStream;\n return WritableStreamAbort(stream, reason);\n }\n function WritableStreamDefaultWriterClose(writer) {\n var stream = writer._ownerWritableStream;\n return WritableStreamClose(stream);\n }\n function WritableStreamDefaultWriterCloseWithErrorPropagation(writer) {\n var stream = writer._ownerWritableStream;\n var state = stream._state;\n if (WritableStreamCloseQueuedOrInFlight(stream) === true || state === 'closed') {\n return promiseResolvedWith(undefined);\n }\n if (state === 'errored') {\n return promiseRejectedWith(stream._storedError);\n }\n return WritableStreamDefaultWriterClose(writer);\n }\n function WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, error) {\n if (writer._closedPromiseState === 'pending') {\n defaultWriterClosedPromiseReject(writer, error);\n } else {\n defaultWriterClosedPromiseResetToRejected(writer, error);\n }\n }\n function WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, error) {\n if (writer._readyPromiseState === 'pending') {\n defaultWriterReadyPromiseReject(writer, error);\n } else {\n defaultWriterReadyPromiseResetToRejected(writer, error);\n }\n }\n function WritableStreamDefaultWriterGetDesiredSize(writer) {\n var stream = writer._ownerWritableStream;\n var state = stream._state;\n if (state === 'errored' || state === 'erroring') {\n return null;\n }\n if (state === 'closed') {\n return 0;\n }\n return WritableStreamDefaultControllerGetDesiredSize(stream._writableStreamController);\n }\n function WritableStreamDefaultWriterRelease(writer) {\n var stream = writer._ownerWritableStream;\n var releasedError = new TypeError('Writer was released and can no longer be used to monitor the stream\\'s closedness');\n WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, releasedError);\n WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, releasedError);\n stream._writer = undefined;\n writer._ownerWritableStream = undefined;\n }\n function WritableStreamDefaultWriterWrite(writer, chunk) {\n var stream = writer._ownerWritableStream;\n var controller = stream._writableStreamController;\n var chunkSize = WritableStreamDefaultControllerGetChunkSize(controller, chunk);\n if (stream !== writer._ownerWritableStream) {\n return promiseRejectedWith(defaultWriterLockException('write to'));\n }\n var state = stream._state;\n if (state === 'errored') {\n return promiseRejectedWith(stream._storedError);\n }\n if (WritableStreamCloseQueuedOrInFlight(stream) === true || state === 'closed') {\n return promiseRejectedWith(new TypeError('The stream is closing or closed and cannot be written to'));\n }\n if (state === 'erroring') {\n return promiseRejectedWith(stream._storedError);\n }\n var promise = WritableStreamAddWriteRequest(stream);\n WritableStreamDefaultControllerWrite(controller, chunk, chunkSize);\n return promise;\n }\n var WritableStreamDefaultController = function () {\n function WritableStreamDefaultController() {\n throw new TypeError('WritableStreamDefaultController cannot be constructed explicitly');\n }\n WritableStreamDefaultController.prototype.error = function (e) {\n if (IsWritableStreamDefaultController(this) === false) {\n throw new TypeError('WritableStreamDefaultController.prototype.error can only be used on a WritableStreamDefaultController');\n }\n var state = this._controlledWritableStream._state;\n if (state !== 'writable') {\n return;\n }\n WritableStreamDefaultControllerError(this, e);\n };\n WritableStreamDefaultController.prototype[AbortSteps] = function (reason) {\n var result = this._abortAlgorithm(reason);\n WritableStreamDefaultControllerClearAlgorithms(this);\n return result;\n };\n WritableStreamDefaultController.prototype[ErrorSteps] = function () {\n ResetQueue(this);\n };\n return WritableStreamDefaultController;\n }();\n function IsWritableStreamDefaultController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_controlledWritableStream')) {\n return false;\n }\n return true;\n }\n function SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm) {\n controller._controlledWritableStream = stream;\n stream._writableStreamController = controller;\n controller._queue = undefined;\n controller._queueTotalSize = undefined;\n ResetQueue(controller);\n controller._started = false;\n controller._strategySizeAlgorithm = sizeAlgorithm;\n controller._strategyHWM = highWaterMark;\n controller._writeAlgorithm = writeAlgorithm;\n controller._closeAlgorithm = closeAlgorithm;\n controller._abortAlgorithm = abortAlgorithm;\n var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);\n WritableStreamUpdateBackpressure(stream, backpressure);\n var startResult = startAlgorithm();\n var startPromise = promiseResolvedWith(startResult);\n uponPromise(startPromise, function () {\n controller._started = true;\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }, function (r) {\n controller._started = true;\n WritableStreamDealWithRejection(stream, r);\n });\n }\n function SetUpWritableStreamDefaultControllerFromUnderlyingSink(stream, underlyingSink, highWaterMark, sizeAlgorithm) {\n var controller = Object.create(WritableStreamDefaultController.prototype);\n function startAlgorithm() {\n return InvokeOrNoop(underlyingSink, 'start', [controller]);\n }\n var writeAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSink, 'write', 1, [controller]);\n var closeAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSink, 'close', 0, []);\n var abortAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSink, 'abort', 1, []);\n SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm);\n }\n function WritableStreamDefaultControllerClearAlgorithms(controller) {\n controller._writeAlgorithm = undefined;\n controller._closeAlgorithm = undefined;\n controller._abortAlgorithm = undefined;\n controller._strategySizeAlgorithm = undefined;\n }\n function WritableStreamDefaultControllerClose(controller) {\n EnqueueValueWithSize(controller, 'close', 0);\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }\n function WritableStreamDefaultControllerGetChunkSize(controller, chunk) {\n try {\n return controller._strategySizeAlgorithm(chunk);\n } catch (chunkSizeE) {\n WritableStreamDefaultControllerErrorIfNeeded(controller, chunkSizeE);\n return 1;\n }\n }\n function WritableStreamDefaultControllerGetDesiredSize(controller) {\n return controller._strategyHWM - controller._queueTotalSize;\n }\n function WritableStreamDefaultControllerWrite(controller, chunk, chunkSize) {\n var writeRecord = { chunk: chunk };\n try {\n EnqueueValueWithSize(controller, writeRecord, chunkSize);\n } catch (enqueueE) {\n WritableStreamDefaultControllerErrorIfNeeded(controller, enqueueE);\n return;\n }\n var stream = controller._controlledWritableStream;\n if (WritableStreamCloseQueuedOrInFlight(stream) === false && stream._state === 'writable') {\n var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);\n WritableStreamUpdateBackpressure(stream, backpressure);\n }\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }\n function WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller) {\n var stream = controller._controlledWritableStream;\n if (controller._started === false) {\n return;\n }\n if (stream._inFlightWriteRequest !== undefined) {\n return;\n }\n var state = stream._state;\n if (state === 'erroring') {\n WritableStreamFinishErroring(stream);\n return;\n }\n if (controller._queue.length === 0) {\n return;\n }\n var writeRecord = PeekQueueValue(controller);\n if (writeRecord === 'close') {\n WritableStreamDefaultControllerProcessClose(controller);\n } else {\n WritableStreamDefaultControllerProcessWrite(controller, writeRecord.chunk);\n }\n }\n function WritableStreamDefaultControllerErrorIfNeeded(controller, error) {\n if (controller._controlledWritableStream._state === 'writable') {\n WritableStreamDefaultControllerError(controller, error);\n }\n }\n function WritableStreamDefaultControllerProcessClose(controller) {\n var stream = controller._controlledWritableStream;\n WritableStreamMarkCloseRequestInFlight(stream);\n DequeueValue(controller);\n var sinkClosePromise = controller._closeAlgorithm();\n WritableStreamDefaultControllerClearAlgorithms(controller);\n uponPromise(sinkClosePromise, function () {\n WritableStreamFinishInFlightClose(stream);\n }, function (reason) {\n WritableStreamFinishInFlightCloseWithError(stream, reason);\n });\n }\n function WritableStreamDefaultControllerProcessWrite(controller, chunk) {\n var stream = controller._controlledWritableStream;\n WritableStreamMarkFirstWriteRequestInFlight(stream);\n var sinkWritePromise = controller._writeAlgorithm(chunk);\n uponPromise(sinkWritePromise, function () {\n WritableStreamFinishInFlightWrite(stream);\n var state = stream._state;\n DequeueValue(controller);\n if (WritableStreamCloseQueuedOrInFlight(stream) === false && state === 'writable') {\n var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);\n WritableStreamUpdateBackpressure(stream, backpressure);\n }\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }, function (reason) {\n if (stream._state === 'writable') {\n WritableStreamDefaultControllerClearAlgorithms(controller);\n }\n WritableStreamFinishInFlightWriteWithError(stream, reason);\n });\n }\n function WritableStreamDefaultControllerGetBackpressure(controller) {\n var desiredSize = WritableStreamDefaultControllerGetDesiredSize(controller);\n return desiredSize <= 0;\n }\n function WritableStreamDefaultControllerError(controller, error) {\n var stream = controller._controlledWritableStream;\n WritableStreamDefaultControllerClearAlgorithms(controller);\n WritableStreamStartErroring(stream, error);\n }\n function streamBrandCheckException(name) {\n return new TypeError(\"WritableStream.prototype.\" + name + \" can only be used on a WritableStream\");\n }\n function defaultWriterBrandCheckException(name) {\n return new TypeError(\"WritableStreamDefaultWriter.prototype.\" + name + \" can only be used on a WritableStreamDefaultWriter\");\n }\n function defaultWriterLockException(name) {\n return new TypeError('Cannot ' + name + ' a stream using a released writer');\n }\n function defaultWriterClosedPromiseInitialize(writer) {\n writer._closedPromise = newPromise(function (resolve, reject) {\n writer._closedPromise_resolve = resolve;\n writer._closedPromise_reject = reject;\n writer._closedPromiseState = 'pending';\n });\n }\n function defaultWriterClosedPromiseInitializeAsRejected(writer, reason) {\n defaultWriterClosedPromiseInitialize(writer);\n defaultWriterClosedPromiseReject(writer, reason);\n }\n function defaultWriterClosedPromiseInitializeAsResolved(writer) {\n defaultWriterClosedPromiseInitialize(writer);\n defaultWriterClosedPromiseResolve(writer);\n }\n function defaultWriterClosedPromiseReject(writer, reason) {\n setPromiseIsHandledToTrue(writer._closedPromise);\n writer._closedPromise_reject(reason);\n writer._closedPromise_resolve = undefined;\n writer._closedPromise_reject = undefined;\n writer._closedPromiseState = 'rejected';\n }\n function defaultWriterClosedPromiseResetToRejected(writer, reason) {\n defaultWriterClosedPromiseInitializeAsRejected(writer, reason);\n }\n function defaultWriterClosedPromiseResolve(writer) {\n writer._closedPromise_resolve(undefined);\n writer._closedPromise_resolve = undefined;\n writer._closedPromise_reject = undefined;\n writer._closedPromiseState = 'resolved';\n }\n function defaultWriterReadyPromiseInitialize(writer) {\n writer._readyPromise = newPromise(function (resolve, reject) {\n writer._readyPromise_resolve = resolve;\n writer._readyPromise_reject = reject;\n });\n writer._readyPromiseState = 'pending';\n }\n function defaultWriterReadyPromiseInitializeAsRejected(writer, reason) {\n defaultWriterReadyPromiseInitialize(writer);\n defaultWriterReadyPromiseReject(writer, reason);\n }\n function defaultWriterReadyPromiseInitializeAsResolved(writer) {\n defaultWriterReadyPromiseInitialize(writer);\n defaultWriterReadyPromiseResolve(writer);\n }\n function defaultWriterReadyPromiseReject(writer, reason) {\n setPromiseIsHandledToTrue(writer._readyPromise);\n writer._readyPromise_reject(reason);\n writer._readyPromise_resolve = undefined;\n writer._readyPromise_reject = undefined;\n writer._readyPromiseState = 'rejected';\n }\n function defaultWriterReadyPromiseReset(writer) {\n defaultWriterReadyPromiseInitialize(writer);\n }\n function defaultWriterReadyPromiseResetToRejected(writer, reason) {\n defaultWriterReadyPromiseInitializeAsRejected(writer, reason);\n }\n function defaultWriterReadyPromiseResolve(writer) {\n writer._readyPromise_resolve(undefined);\n writer._readyPromise_resolve = undefined;\n writer._readyPromise_reject = undefined;\n writer._readyPromiseState = 'fulfilled';\n }\n function isAbortSignal(value) {\n if (typeof value !== 'object' || value === null) {\n return false;\n }\n try {\n return typeof value.aborted === 'boolean';\n } catch (_a) {\n return false;\n }\n }\n var NativeDOMException = typeof DOMException !== 'undefined' ? DOMException : undefined;\n function isDOMExceptionConstructor(ctor) {\n if (!(typeof ctor === 'function' || typeof ctor === 'object')) {\n return false;\n }\n try {\n new ctor();\n return true;\n } catch (_a) {\n return false;\n }\n }\n function createDOMExceptionPolyfill() {\n var ctor = function DOMException(message, name) {\n this.message = message || '';\n this.name = name || 'Error';\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n };\n ctor.prototype = Object.create(Error.prototype);\n Object.defineProperty(ctor.prototype, 'constructor', {\n value: ctor,\n writable: true,\n configurable: true\n });\n return ctor;\n }\n var DOMException$1 = isDOMExceptionConstructor(NativeDOMException) ? NativeDOMException : createDOMExceptionPolyfill();\n function ReadableStreamPipeTo(source, dest, preventClose, preventAbort, preventCancel, signal) {\n var reader = AcquireReadableStreamDefaultReader(source);\n var writer = AcquireWritableStreamDefaultWriter(dest);\n source._disturbed = true;\n var shuttingDown = false;\n var currentWrite = promiseResolvedWith(undefined);\n return newPromise(function (resolve, reject) {\n var abortAlgorithm;\n if (signal !== undefined) {\n abortAlgorithm = function () {\n var error = new DOMException$1('Aborted', 'AbortError');\n var actions = [];\n if (preventAbort === false) {\n actions.push(function () {\n if (dest._state === 'writable') {\n return WritableStreamAbort(dest, error);\n }\n return promiseResolvedWith(undefined);\n });\n }\n if (preventCancel === false) {\n actions.push(function () {\n if (source._state === 'readable') {\n return ReadableStreamCancel(source, error);\n }\n return promiseResolvedWith(undefined);\n });\n }\n shutdownWithAction(function () {\n return Promise.all(actions.map(function (action) {\n return action();\n }));\n }, true, error);\n };\n if (signal.aborted === true) {\n abortAlgorithm();\n return;\n }\n signal.addEventListener('abort', abortAlgorithm);\n }\n function pipeLoop() {\n return newPromise(function (resolveLoop, rejectLoop) {\n function next(done) {\n if (done) {\n resolveLoop();\n } else {\n PerformPromiseThen(pipeStep(), next, rejectLoop);\n }\n }\n next(false);\n });\n }\n function pipeStep() {\n if (shuttingDown === true) {\n return promiseResolvedWith(true);\n }\n return PerformPromiseThen(writer._readyPromise, function () {\n return PerformPromiseThen(ReadableStreamDefaultReaderRead(reader), function (result) {\n if (result.done === true) {\n return true;\n }\n currentWrite = PerformPromiseThen(WritableStreamDefaultWriterWrite(writer, result.value), undefined, noop);\n return false;\n });\n });\n }\n isOrBecomesErrored(source, reader._closedPromise, function (storedError) {\n if (preventAbort === false) {\n shutdownWithAction(function () {\n return WritableStreamAbort(dest, storedError);\n }, true, storedError);\n } else {\n shutdown(true, storedError);\n }\n });\n isOrBecomesErrored(dest, writer._closedPromise, function (storedError) {\n if (preventCancel === false) {\n shutdownWithAction(function () {\n return ReadableStreamCancel(source, storedError);\n }, true, storedError);\n } else {\n shutdown(true, storedError);\n }\n });\n isOrBecomesClosed(source, reader._closedPromise, function () {\n if (preventClose === false) {\n shutdownWithAction(function () {\n return WritableStreamDefaultWriterCloseWithErrorPropagation(writer);\n });\n } else {\n shutdown();\n }\n });\n if (WritableStreamCloseQueuedOrInFlight(dest) === true || dest._state === 'closed') {\n var destClosed_1 = new TypeError('the destination writable stream closed before all data could be piped to it');\n if (preventCancel === false) {\n shutdownWithAction(function () {\n return ReadableStreamCancel(source, destClosed_1);\n }, true, destClosed_1);\n } else {\n shutdown(true, destClosed_1);\n }\n }\n setPromiseIsHandledToTrue(pipeLoop());\n function waitForWritesToFinish() {\n var oldCurrentWrite = currentWrite;\n return PerformPromiseThen(currentWrite, function () {\n return oldCurrentWrite !== currentWrite ? waitForWritesToFinish() : undefined;\n });\n }\n function isOrBecomesErrored(stream, promise, action) {\n if (stream._state === 'errored') {\n action(stream._storedError);\n } else {\n uponRejection(promise, action);\n }\n }\n function isOrBecomesClosed(stream, promise, action) {\n if (stream._state === 'closed') {\n action();\n } else {\n uponFulfillment(promise, action);\n }\n }\n function shutdownWithAction(action, originalIsError, originalError) {\n if (shuttingDown === true) {\n return;\n }\n shuttingDown = true;\n if (dest._state === 'writable' && WritableStreamCloseQueuedOrInFlight(dest) === false) {\n uponFulfillment(waitForWritesToFinish(), doTheRest);\n } else {\n doTheRest();\n }\n function doTheRest() {\n uponPromise(action(), function () {\n return finalize(originalIsError, originalError);\n }, function (newError) {\n return finalize(true, newError);\n });\n }\n }\n function shutdown(isError, error) {\n if (shuttingDown === true) {\n return;\n }\n shuttingDown = true;\n if (dest._state === 'writable' && WritableStreamCloseQueuedOrInFlight(dest) === false) {\n uponFulfillment(waitForWritesToFinish(), function () {\n return finalize(isError, error);\n });\n } else {\n finalize(isError, error);\n }\n }\n function finalize(isError, error) {\n WritableStreamDefaultWriterRelease(writer);\n ReadableStreamReaderGenericRelease(reader);\n if (signal !== undefined) {\n signal.removeEventListener('abort', abortAlgorithm);\n }\n if (isError) {\n reject(error);\n } else {\n resolve(undefined);\n }\n }\n });\n }\n var ReadableStreamDefaultController = function () {\n function ReadableStreamDefaultController() {\n throw new TypeError();\n }\n Object.defineProperty(ReadableStreamDefaultController.prototype, \"desiredSize\", {\n get: function () {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('desiredSize');\n }\n return ReadableStreamDefaultControllerGetDesiredSize(this);\n },\n enumerable: true,\n configurable: true\n });\n ReadableStreamDefaultController.prototype.close = function () {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('close');\n }\n if (ReadableStreamDefaultControllerCanCloseOrEnqueue(this) === false) {\n throw new TypeError('The stream is not in a state that permits close');\n }\n ReadableStreamDefaultControllerClose(this);\n };\n ReadableStreamDefaultController.prototype.enqueue = function (chunk) {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('enqueue');\n }\n if (ReadableStreamDefaultControllerCanCloseOrEnqueue(this) === false) {\n throw new TypeError('The stream is not in a state that permits enqueue');\n }\n return ReadableStreamDefaultControllerEnqueue(this, chunk);\n };\n ReadableStreamDefaultController.prototype.error = function (e) {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('error');\n }\n ReadableStreamDefaultControllerError(this, e);\n };\n ReadableStreamDefaultController.prototype[CancelSteps] = function (reason) {\n ResetQueue(this);\n var result = this._cancelAlgorithm(reason);\n ReadableStreamDefaultControllerClearAlgorithms(this);\n return result;\n };\n ReadableStreamDefaultController.prototype[PullSteps] = function () {\n var stream = this._controlledReadableStream;\n if (this._queue.length > 0) {\n var chunk = DequeueValue(this);\n if (this._closeRequested === true && this._queue.length === 0) {\n ReadableStreamDefaultControllerClearAlgorithms(this);\n ReadableStreamClose(stream);\n } else {\n ReadableStreamDefaultControllerCallPullIfNeeded(this);\n }\n return promiseResolvedWith(ReadableStreamCreateReadResult(chunk, false, stream._reader._forAuthorCode));\n }\n var pendingPromise = ReadableStreamAddReadRequest(stream);\n ReadableStreamDefaultControllerCallPullIfNeeded(this);\n return pendingPromise;\n };\n return ReadableStreamDefaultController;\n }();\n function IsReadableStreamDefaultController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_controlledReadableStream')) {\n return false;\n }\n return true;\n }\n function ReadableStreamDefaultControllerCallPullIfNeeded(controller) {\n var shouldPull = ReadableStreamDefaultControllerShouldCallPull(controller);\n if (shouldPull === false) {\n return;\n }\n if (controller._pulling === true) {\n controller._pullAgain = true;\n return;\n }\n controller._pulling = true;\n var pullPromise = controller._pullAlgorithm();\n uponPromise(pullPromise, function () {\n controller._pulling = false;\n if (controller._pullAgain === true) {\n controller._pullAgain = false;\n ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n }\n }, function (e) {\n ReadableStreamDefaultControllerError(controller, e);\n });\n }\n function ReadableStreamDefaultControllerShouldCallPull(controller) {\n var stream = controller._controlledReadableStream;\n if (ReadableStreamDefaultControllerCanCloseOrEnqueue(controller) === false) {\n return false;\n }\n if (controller._started === false) {\n return false;\n }\n if (IsReadableStreamLocked(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {\n return true;\n }\n var desiredSize = ReadableStreamDefaultControllerGetDesiredSize(controller);\n if (desiredSize > 0) {\n return true;\n }\n return false;\n }\n function ReadableStreamDefaultControllerClearAlgorithms(controller) {\n controller._pullAlgorithm = undefined;\n controller._cancelAlgorithm = undefined;\n controller._strategySizeAlgorithm = undefined;\n }\n function ReadableStreamDefaultControllerClose(controller) {\n var stream = controller._controlledReadableStream;\n controller._closeRequested = true;\n if (controller._queue.length === 0) {\n ReadableStreamDefaultControllerClearAlgorithms(controller);\n ReadableStreamClose(stream);\n }\n }\n function ReadableStreamDefaultControllerEnqueue(controller, chunk) {\n var stream = controller._controlledReadableStream;\n if (IsReadableStreamLocked(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {\n ReadableStreamFulfillReadRequest(stream, chunk, false);\n } else {\n var chunkSize = void 0;\n try {\n chunkSize = controller._strategySizeAlgorithm(chunk);\n } catch (chunkSizeE) {\n ReadableStreamDefaultControllerError(controller, chunkSizeE);\n throw chunkSizeE;\n }\n try {\n EnqueueValueWithSize(controller, chunk, chunkSize);\n } catch (enqueueE) {\n ReadableStreamDefaultControllerError(controller, enqueueE);\n throw enqueueE;\n }\n }\n ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n }\n function ReadableStreamDefaultControllerError(controller, e) {\n var stream = controller._controlledReadableStream;\n if (stream._state !== 'readable') {\n return;\n }\n ResetQueue(controller);\n ReadableStreamDefaultControllerClearAlgorithms(controller);\n ReadableStreamError(stream, e);\n }\n function ReadableStreamDefaultControllerGetDesiredSize(controller) {\n var stream = controller._controlledReadableStream;\n var state = stream._state;\n if (state === 'errored') {\n return null;\n }\n if (state === 'closed') {\n return 0;\n }\n return controller._strategyHWM - controller._queueTotalSize;\n }\n function ReadableStreamDefaultControllerHasBackpressure(controller) {\n if (ReadableStreamDefaultControllerShouldCallPull(controller) === true) {\n return false;\n }\n return true;\n }\n function ReadableStreamDefaultControllerCanCloseOrEnqueue(controller) {\n var state = controller._controlledReadableStream._state;\n if (controller._closeRequested === false && state === 'readable') {\n return true;\n }\n return false;\n }\n function SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm) {\n controller._controlledReadableStream = stream;\n controller._queue = undefined;\n controller._queueTotalSize = undefined;\n ResetQueue(controller);\n controller._started = false;\n controller._closeRequested = false;\n controller._pullAgain = false;\n controller._pulling = false;\n controller._strategySizeAlgorithm = sizeAlgorithm;\n controller._strategyHWM = highWaterMark;\n controller._pullAlgorithm = pullAlgorithm;\n controller._cancelAlgorithm = cancelAlgorithm;\n stream._readableStreamController = controller;\n var startResult = startAlgorithm();\n uponPromise(promiseResolvedWith(startResult), function () {\n controller._started = true;\n ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n }, function (r) {\n ReadableStreamDefaultControllerError(controller, r);\n });\n }\n function SetUpReadableStreamDefaultControllerFromUnderlyingSource(stream, underlyingSource, highWaterMark, sizeAlgorithm) {\n var controller = Object.create(ReadableStreamDefaultController.prototype);\n function startAlgorithm() {\n return InvokeOrNoop(underlyingSource, 'start', [controller]);\n }\n var pullAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSource, 'pull', 0, [controller]);\n var cancelAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSource, 'cancel', 1, []);\n SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm);\n }\n function defaultControllerBrandCheckException(name) {\n return new TypeError(\"ReadableStreamDefaultController.prototype.\" + name + \" can only be used on a ReadableStreamDefaultController\");\n }\n function ReadableStreamTee(stream, cloneForBranch2) {\n var reader = AcquireReadableStreamDefaultReader(stream);\n var reading = false;\n var canceled1 = false;\n var canceled2 = false;\n var reason1;\n var reason2;\n var branch1;\n var branch2;\n var resolveCancelPromise;\n var cancelPromise = newPromise(function (resolve) {\n resolveCancelPromise = resolve;\n });\n function pullAlgorithm() {\n if (reading === true) {\n return promiseResolvedWith(undefined);\n }\n reading = true;\n var readPromise = transformPromiseWith(ReadableStreamDefaultReaderRead(reader), function (result) {\n reading = false;\n var done = result.done;\n if (done === true) {\n if (canceled1 === false) {\n ReadableStreamDefaultControllerClose(branch1._readableStreamController);\n }\n if (canceled2 === false) {\n ReadableStreamDefaultControllerClose(branch2._readableStreamController);\n }\n return;\n }\n var value = result.value;\n var value1 = value;\n var value2 = value;\n if (canceled1 === false) {\n ReadableStreamDefaultControllerEnqueue(branch1._readableStreamController, value1);\n }\n if (canceled2 === false) {\n ReadableStreamDefaultControllerEnqueue(branch2._readableStreamController, value2);\n }\n });\n setPromiseIsHandledToTrue(readPromise);\n return promiseResolvedWith(undefined);\n }\n function cancel1Algorithm(reason) {\n canceled1 = true;\n reason1 = reason;\n if (canceled2 === true) {\n var compositeReason = createArrayFromList([\n reason1,\n reason2\n ]);\n var cancelResult = ReadableStreamCancel(stream, compositeReason);\n resolveCancelPromise(cancelResult);\n }\n return cancelPromise;\n }\n function cancel2Algorithm(reason) {\n canceled2 = true;\n reason2 = reason;\n if (canceled1 === true) {\n var compositeReason = createArrayFromList([\n reason1,\n reason2\n ]);\n var cancelResult = ReadableStreamCancel(stream, compositeReason);\n resolveCancelPromise(cancelResult);\n }\n return cancelPromise;\n }\n function startAlgorithm() {\n }\n branch1 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancel1Algorithm);\n branch2 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancel2Algorithm);\n uponRejection(reader._closedPromise, function (r) {\n ReadableStreamDefaultControllerError(branch1._readableStreamController, r);\n ReadableStreamDefaultControllerError(branch2._readableStreamController, r);\n });\n return [\n branch1,\n branch2\n ];\n }\n var NumberIsInteger = Number.isInteger || function (value) {\n return typeof value === 'number' && isFinite(value) && Math.floor(value) === value;\n };\n var ReadableStreamBYOBRequest = function () {\n function ReadableStreamBYOBRequest() {\n throw new TypeError('ReadableStreamBYOBRequest cannot be used directly');\n }\n Object.defineProperty(ReadableStreamBYOBRequest.prototype, \"view\", {\n get: function () {\n if (IsReadableStreamBYOBRequest(this) === false) {\n throw byobRequestBrandCheckException('view');\n }\n return this._view;\n },\n enumerable: true,\n configurable: true\n });\n ReadableStreamBYOBRequest.prototype.respond = function (bytesWritten) {\n if (IsReadableStreamBYOBRequest(this) === false) {\n throw byobRequestBrandCheckException('respond');\n }\n if (this._associatedReadableByteStreamController === undefined) {\n throw new TypeError('This BYOB request has been invalidated');\n }\n if (IsDetachedBuffer(this._view.buffer) === true);\n ReadableByteStreamControllerRespond(this._associatedReadableByteStreamController, bytesWritten);\n };\n ReadableStreamBYOBRequest.prototype.respondWithNewView = function (view) {\n if (IsReadableStreamBYOBRequest(this) === false) {\n throw byobRequestBrandCheckException('respond');\n }\n if (this._associatedReadableByteStreamController === undefined) {\n throw new TypeError('This BYOB request has been invalidated');\n }\n if (!ArrayBuffer.isView(view)) {\n throw new TypeError('You can only respond with array buffer views');\n }\n if (IsDetachedBuffer(view.buffer) === true);\n ReadableByteStreamControllerRespondWithNewView(this._associatedReadableByteStreamController, view);\n };\n return ReadableStreamBYOBRequest;\n }();\n var ReadableByteStreamController = function () {\n function ReadableByteStreamController() {\n throw new TypeError('ReadableByteStreamController constructor cannot be used directly');\n }\n Object.defineProperty(ReadableByteStreamController.prototype, \"byobRequest\", {\n get: function () {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('byobRequest');\n }\n if (this._byobRequest === undefined && this._pendingPullIntos.length > 0) {\n var firstDescriptor = this._pendingPullIntos.peek();\n var view = new Uint8Array(firstDescriptor.buffer, firstDescriptor.byteOffset + firstDescriptor.bytesFilled, firstDescriptor.byteLength - firstDescriptor.bytesFilled);\n var byobRequest = Object.create(ReadableStreamBYOBRequest.prototype);\n SetUpReadableStreamBYOBRequest(byobRequest, this, view);\n this._byobRequest = byobRequest;\n }\n return this._byobRequest;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ReadableByteStreamController.prototype, \"desiredSize\", {\n get: function () {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('desiredSize');\n }\n return ReadableByteStreamControllerGetDesiredSize(this);\n },\n enumerable: true,\n configurable: true\n });\n ReadableByteStreamController.prototype.close = function () {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('close');\n }\n if (this._closeRequested === true) {\n throw new TypeError('The stream has already been closed; do not close it again!');\n }\n var state = this._controlledReadableByteStream._state;\n if (state !== 'readable') {\n throw new TypeError(\"The stream (in \" + state + \" state) is not in the readable state and cannot be closed\");\n }\n ReadableByteStreamControllerClose(this);\n };\n ReadableByteStreamController.prototype.enqueue = function (chunk) {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('enqueue');\n }\n if (this._closeRequested === true) {\n throw new TypeError('stream is closed or draining');\n }\n var state = this._controlledReadableByteStream._state;\n if (state !== 'readable') {\n throw new TypeError(\"The stream (in \" + state + \" state) is not in the readable state and cannot be enqueued to\");\n }\n if (!ArrayBuffer.isView(chunk)) {\n throw new TypeError('You can only enqueue array buffer views when using a ReadableByteStreamController');\n }\n if (IsDetachedBuffer(chunk.buffer) === true);\n ReadableByteStreamControllerEnqueue(this, chunk);\n };\n ReadableByteStreamController.prototype.error = function (e) {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('error');\n }\n ReadableByteStreamControllerError(this, e);\n };\n ReadableByteStreamController.prototype[CancelSteps] = function (reason) {\n if (this._pendingPullIntos.length > 0) {\n var firstDescriptor = this._pendingPullIntos.peek();\n firstDescriptor.bytesFilled = 0;\n }\n ResetQueue(this);\n var result = this._cancelAlgorithm(reason);\n ReadableByteStreamControllerClearAlgorithms(this);\n return result;\n };\n ReadableByteStreamController.prototype[PullSteps] = function () {\n var stream = this._controlledReadableByteStream;\n if (this._queueTotalSize > 0) {\n var entry = this._queue.shift();\n this._queueTotalSize -= entry.byteLength;\n ReadableByteStreamControllerHandleQueueDrain(this);\n var view = void 0;\n try {\n view = new Uint8Array(entry.buffer, entry.byteOffset, entry.byteLength);\n } catch (viewE) {\n return promiseRejectedWith(viewE);\n }\n return promiseResolvedWith(ReadableStreamCreateReadResult(view, false, stream._reader._forAuthorCode));\n }\n var autoAllocateChunkSize = this._autoAllocateChunkSize;\n if (autoAllocateChunkSize !== undefined) {\n var buffer = void 0;\n try {\n buffer = new ArrayBuffer(autoAllocateChunkSize);\n } catch (bufferE) {\n return promiseRejectedWith(bufferE);\n }\n var pullIntoDescriptor = {\n buffer: buffer,\n byteOffset: 0,\n byteLength: autoAllocateChunkSize,\n bytesFilled: 0,\n elementSize: 1,\n ctor: Uint8Array,\n readerType: 'default'\n };\n this._pendingPullIntos.push(pullIntoDescriptor);\n }\n var promise = ReadableStreamAddReadRequest(stream);\n ReadableByteStreamControllerCallPullIfNeeded(this);\n return promise;\n };\n return ReadableByteStreamController;\n }();\n function IsReadableByteStreamController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_controlledReadableByteStream')) {\n return false;\n }\n return true;\n }\n function IsReadableStreamBYOBRequest(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_associatedReadableByteStreamController')) {\n return false;\n }\n return true;\n }\n function ReadableByteStreamControllerCallPullIfNeeded(controller) {\n var shouldPull = ReadableByteStreamControllerShouldCallPull(controller);\n if (shouldPull === false) {\n return;\n }\n if (controller._pulling === true) {\n controller._pullAgain = true;\n return;\n }\n controller._pulling = true;\n var pullPromise = controller._pullAlgorithm();\n uponPromise(pullPromise, function () {\n controller._pulling = false;\n if (controller._pullAgain === true) {\n controller._pullAgain = false;\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }\n }, function (e) {\n ReadableByteStreamControllerError(controller, e);\n });\n }\n function ReadableByteStreamControllerClearPendingPullIntos(controller) {\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n controller._pendingPullIntos = new SimpleQueue();\n }\n function ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor) {\n var done = false;\n if (stream._state === 'closed') {\n done = true;\n }\n var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);\n if (pullIntoDescriptor.readerType === 'default') {\n ReadableStreamFulfillReadRequest(stream, filledView, done);\n } else {\n ReadableStreamFulfillReadIntoRequest(stream, filledView, done);\n }\n }\n function ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor) {\n var bytesFilled = pullIntoDescriptor.bytesFilled;\n var elementSize = pullIntoDescriptor.elementSize;\n return new pullIntoDescriptor.ctor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, bytesFilled / elementSize);\n }\n function ReadableByteStreamControllerEnqueueChunkToQueue(controller, buffer, byteOffset, byteLength) {\n controller._queue.push({\n buffer: buffer,\n byteOffset: byteOffset,\n byteLength: byteLength\n });\n controller._queueTotalSize += byteLength;\n }\n function ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) {\n var elementSize = pullIntoDescriptor.elementSize;\n var currentAlignedBytes = pullIntoDescriptor.bytesFilled - pullIntoDescriptor.bytesFilled % elementSize;\n var maxBytesToCopy = Math.min(controller._queueTotalSize, pullIntoDescriptor.byteLength - pullIntoDescriptor.bytesFilled);\n var maxBytesFilled = pullIntoDescriptor.bytesFilled + maxBytesToCopy;\n var maxAlignedBytes = maxBytesFilled - maxBytesFilled % elementSize;\n var totalBytesToCopyRemaining = maxBytesToCopy;\n var ready = false;\n if (maxAlignedBytes > currentAlignedBytes) {\n totalBytesToCopyRemaining = maxAlignedBytes - pullIntoDescriptor.bytesFilled;\n ready = true;\n }\n var queue = controller._queue;\n while (totalBytesToCopyRemaining > 0) {\n var headOfQueue = queue.peek();\n var bytesToCopy = Math.min(totalBytesToCopyRemaining, headOfQueue.byteLength);\n var destStart = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled;\n ArrayBufferCopy(pullIntoDescriptor.buffer, destStart, headOfQueue.buffer, headOfQueue.byteOffset, bytesToCopy);\n if (headOfQueue.byteLength === bytesToCopy) {\n queue.shift();\n } else {\n headOfQueue.byteOffset += bytesToCopy;\n headOfQueue.byteLength -= bytesToCopy;\n }\n controller._queueTotalSize -= bytesToCopy;\n ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesToCopy, pullIntoDescriptor);\n totalBytesToCopyRemaining -= bytesToCopy;\n }\n return ready;\n }\n function ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, size, pullIntoDescriptor) {\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n pullIntoDescriptor.bytesFilled += size;\n }\n function ReadableByteStreamControllerHandleQueueDrain(controller) {\n if (controller._queueTotalSize === 0 && controller._closeRequested === true) {\n ReadableByteStreamControllerClearAlgorithms(controller);\n ReadableStreamClose(controller._controlledReadableByteStream);\n } else {\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }\n }\n function ReadableByteStreamControllerInvalidateBYOBRequest(controller) {\n if (controller._byobRequest === undefined) {\n return;\n }\n controller._byobRequest._associatedReadableByteStreamController = undefined;\n controller._byobRequest._view = undefined;\n controller._byobRequest = undefined;\n }\n function ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller) {\n while (controller._pendingPullIntos.length > 0) {\n if (controller._queueTotalSize === 0) {\n return;\n }\n var pullIntoDescriptor = controller._pendingPullIntos.peek();\n if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) === true) {\n ReadableByteStreamControllerShiftPendingPullInto(controller);\n ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableByteStream, pullIntoDescriptor);\n }\n }\n }\n function ReadableByteStreamControllerPullInto(controller, view) {\n var stream = controller._controlledReadableByteStream;\n var elementSize = 1;\n if (view.constructor !== DataView) {\n elementSize = view.constructor.BYTES_PER_ELEMENT;\n }\n var ctor = view.constructor;\n var buffer = TransferArrayBuffer(view.buffer);\n var pullIntoDescriptor = {\n buffer: buffer,\n byteOffset: view.byteOffset,\n byteLength: view.byteLength,\n bytesFilled: 0,\n elementSize: elementSize,\n ctor: ctor,\n readerType: 'byob'\n };\n if (controller._pendingPullIntos.length > 0) {\n controller._pendingPullIntos.push(pullIntoDescriptor);\n return ReadableStreamAddReadIntoRequest(stream);\n }\n if (stream._state === 'closed') {\n var emptyView = new ctor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, 0);\n return promiseResolvedWith(ReadableStreamCreateReadResult(emptyView, true, stream._reader._forAuthorCode));\n }\n if (controller._queueTotalSize > 0) {\n if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) === true) {\n var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);\n ReadableByteStreamControllerHandleQueueDrain(controller);\n return promiseResolvedWith(ReadableStreamCreateReadResult(filledView, false, stream._reader._forAuthorCode));\n }\n if (controller._closeRequested === true) {\n var e = new TypeError('Insufficient bytes to fill elements in the given buffer');\n ReadableByteStreamControllerError(controller, e);\n return promiseRejectedWith(e);\n }\n }\n controller._pendingPullIntos.push(pullIntoDescriptor);\n var promise = ReadableStreamAddReadIntoRequest(stream);\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n return promise;\n }\n function ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor) {\n firstDescriptor.buffer = TransferArrayBuffer(firstDescriptor.buffer);\n var stream = controller._controlledReadableByteStream;\n if (ReadableStreamHasBYOBReader(stream) === true) {\n while (ReadableStreamGetNumReadIntoRequests(stream) > 0) {\n var pullIntoDescriptor = ReadableByteStreamControllerShiftPendingPullInto(controller);\n ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor);\n }\n }\n }\n function ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, pullIntoDescriptor) {\n if (pullIntoDescriptor.bytesFilled + bytesWritten > pullIntoDescriptor.byteLength) {\n throw new RangeError('bytesWritten out of range');\n }\n ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesWritten, pullIntoDescriptor);\n if (pullIntoDescriptor.bytesFilled < pullIntoDescriptor.elementSize) {\n return;\n }\n ReadableByteStreamControllerShiftPendingPullInto(controller);\n var remainderSize = pullIntoDescriptor.bytesFilled % pullIntoDescriptor.elementSize;\n if (remainderSize > 0) {\n var end = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled;\n var remainder = pullIntoDescriptor.buffer.slice(end - remainderSize, end);\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, remainder, 0, remainder.byteLength);\n }\n pullIntoDescriptor.buffer = TransferArrayBuffer(pullIntoDescriptor.buffer);\n pullIntoDescriptor.bytesFilled -= remainderSize;\n ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableByteStream, pullIntoDescriptor);\n ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);\n }\n function ReadableByteStreamControllerRespondInternal(controller, bytesWritten) {\n var firstDescriptor = controller._pendingPullIntos.peek();\n var stream = controller._controlledReadableByteStream;\n if (stream._state === 'closed') {\n if (bytesWritten !== 0) {\n throw new TypeError('bytesWritten must be 0 when calling respond() on a closed stream');\n }\n ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor);\n } else {\n ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, firstDescriptor);\n }\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }\n function ReadableByteStreamControllerShiftPendingPullInto(controller) {\n var descriptor = controller._pendingPullIntos.shift();\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n return descriptor;\n }\n function ReadableByteStreamControllerShouldCallPull(controller) {\n var stream = controller._controlledReadableByteStream;\n if (stream._state !== 'readable') {\n return false;\n }\n if (controller._closeRequested === true) {\n return false;\n }\n if (controller._started === false) {\n return false;\n }\n if (ReadableStreamHasDefaultReader(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {\n return true;\n }\n if (ReadableStreamHasBYOBReader(stream) === true && ReadableStreamGetNumReadIntoRequests(stream) > 0) {\n return true;\n }\n var desiredSize = ReadableByteStreamControllerGetDesiredSize(controller);\n if (desiredSize > 0) {\n return true;\n }\n return false;\n }\n function ReadableByteStreamControllerClearAlgorithms(controller) {\n controller._pullAlgorithm = undefined;\n controller._cancelAlgorithm = undefined;\n }\n function ReadableByteStreamControllerClose(controller) {\n var stream = controller._controlledReadableByteStream;\n if (controller._queueTotalSize > 0) {\n controller._closeRequested = true;\n return;\n }\n if (controller._pendingPullIntos.length > 0) {\n var firstPendingPullInto = controller._pendingPullIntos.peek();\n if (firstPendingPullInto.bytesFilled > 0) {\n var e = new TypeError('Insufficient bytes to fill elements in the given buffer');\n ReadableByteStreamControllerError(controller, e);\n throw e;\n }\n }\n ReadableByteStreamControllerClearAlgorithms(controller);\n ReadableStreamClose(stream);\n }\n function ReadableByteStreamControllerEnqueue(controller, chunk) {\n var stream = controller._controlledReadableByteStream;\n var buffer = chunk.buffer;\n var byteOffset = chunk.byteOffset;\n var byteLength = chunk.byteLength;\n var transferredBuffer = TransferArrayBuffer(buffer);\n if (ReadableStreamHasDefaultReader(stream) === true) {\n if (ReadableStreamGetNumReadRequests(stream) === 0) {\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\n } else {\n var transferredView = new Uint8Array(transferredBuffer, byteOffset, byteLength);\n ReadableStreamFulfillReadRequest(stream, transferredView, false);\n }\n } else if (ReadableStreamHasBYOBReader(stream) === true) {\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\n ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);\n } else {\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\n }\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }\n function ReadableByteStreamControllerError(controller, e) {\n var stream = controller._controlledReadableByteStream;\n if (stream._state !== 'readable') {\n return;\n }\n ReadableByteStreamControllerClearPendingPullIntos(controller);\n ResetQueue(controller);\n ReadableByteStreamControllerClearAlgorithms(controller);\n ReadableStreamError(stream, e);\n }\n function ReadableByteStreamControllerGetDesiredSize(controller) {\n var stream = controller._controlledReadableByteStream;\n var state = stream._state;\n if (state === 'errored') {\n return null;\n }\n if (state === 'closed') {\n return 0;\n }\n return controller._strategyHWM - controller._queueTotalSize;\n }\n function ReadableByteStreamControllerRespond(controller, bytesWritten) {\n bytesWritten = Number(bytesWritten);\n if (IsFiniteNonNegativeNumber(bytesWritten) === false) {\n throw new RangeError('bytesWritten must be a finite');\n }\n ReadableByteStreamControllerRespondInternal(controller, bytesWritten);\n }\n function ReadableByteStreamControllerRespondWithNewView(controller, view) {\n var firstDescriptor = controller._pendingPullIntos.peek();\n if (firstDescriptor.byteOffset + firstDescriptor.bytesFilled !== view.byteOffset) {\n throw new RangeError('The region specified by view does not match byobRequest');\n }\n if (firstDescriptor.byteLength !== view.byteLength) {\n throw new RangeError('The buffer of view has different capacity than byobRequest');\n }\n firstDescriptor.buffer = view.buffer;\n ReadableByteStreamControllerRespondInternal(controller, view.byteLength);\n }\n function SetUpReadableByteStreamController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, autoAllocateChunkSize) {\n controller._controlledReadableByteStream = stream;\n controller._pullAgain = false;\n controller._pulling = false;\n controller._byobRequest = undefined;\n controller._queue = controller._queueTotalSize = undefined;\n ResetQueue(controller);\n controller._closeRequested = false;\n controller._started = false;\n controller._strategyHWM = ValidateAndNormalizeHighWaterMark(highWaterMark);\n controller._pullAlgorithm = pullAlgorithm;\n controller._cancelAlgorithm = cancelAlgorithm;\n controller._autoAllocateChunkSize = autoAllocateChunkSize;\n controller._pendingPullIntos = new SimpleQueue();\n stream._readableStreamController = controller;\n var startResult = startAlgorithm();\n uponPromise(promiseResolvedWith(startResult), function () {\n controller._started = true;\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }, function (r) {\n ReadableByteStreamControllerError(controller, r);\n });\n }\n function SetUpReadableByteStreamControllerFromUnderlyingSource(stream, underlyingByteSource, highWaterMark) {\n var controller = Object.create(ReadableByteStreamController.prototype);\n function startAlgorithm() {\n return InvokeOrNoop(underlyingByteSource, 'start', [controller]);\n }\n var pullAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingByteSource, 'pull', 0, [controller]);\n var cancelAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingByteSource, 'cancel', 1, []);\n var autoAllocateChunkSize = underlyingByteSource.autoAllocateChunkSize;\n if (autoAllocateChunkSize !== undefined) {\n autoAllocateChunkSize = Number(autoAllocateChunkSize);\n if (NumberIsInteger(autoAllocateChunkSize) === false || autoAllocateChunkSize <= 0) {\n throw new RangeError('autoAllocateChunkSize must be a positive integer');\n }\n }\n SetUpReadableByteStreamController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, autoAllocateChunkSize);\n }\n function SetUpReadableStreamBYOBRequest(request, controller, view) {\n request._associatedReadableByteStreamController = controller;\n request._view = view;\n }\n function byobRequestBrandCheckException(name) {\n return new TypeError(\"ReadableStreamBYOBRequest.prototype.\" + name + \" can only be used on a ReadableStreamBYOBRequest\");\n }\n function byteStreamControllerBrandCheckException(name) {\n return new TypeError(\"ReadableByteStreamController.prototype.\" + name + \" can only be used on a ReadableByteStreamController\");\n }\n function AcquireReadableStreamBYOBReader(stream, forAuthorCode) {\n if (forAuthorCode === void 0) {\n forAuthorCode = false;\n }\n var reader = new ReadableStreamBYOBReader(stream);\n reader._forAuthorCode = forAuthorCode;\n return reader;\n }\n function ReadableStreamAddReadIntoRequest(stream) {\n var promise = newPromise(function (resolve, reject) {\n var readIntoRequest = {\n _resolve: resolve,\n _reject: reject\n };\n stream._reader._readIntoRequests.push(readIntoRequest);\n });\n return promise;\n }\n function ReadableStreamFulfillReadIntoRequest(stream, chunk, done) {\n var reader = stream._reader;\n var readIntoRequest = reader._readIntoRequests.shift();\n readIntoRequest._resolve(ReadableStreamCreateReadResult(chunk, done, reader._forAuthorCode));\n }\n function ReadableStreamGetNumReadIntoRequests(stream) {\n return stream._reader._readIntoRequests.length;\n }\n function ReadableStreamHasBYOBReader(stream) {\n var reader = stream._reader;\n if (reader === undefined) {\n return false;\n }\n if (!IsReadableStreamBYOBReader(reader)) {\n return false;\n }\n return true;\n }\n var ReadableStreamBYOBReader = function () {\n function ReadableStreamBYOBReader(stream) {\n if (!IsReadableStream(stream)) {\n throw new TypeError('ReadableStreamBYOBReader can only be constructed with a ReadableStream instance given a ' + 'byte source');\n }\n if (IsReadableByteStreamController(stream._readableStreamController) === false) {\n throw new TypeError('Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte ' + 'source');\n }\n if (IsReadableStreamLocked(stream)) {\n throw new TypeError('This stream has already been locked for exclusive reading by another reader');\n }\n ReadableStreamReaderGenericInitialize(this, stream);\n this._readIntoRequests = new SimpleQueue();\n }\n Object.defineProperty(ReadableStreamBYOBReader.prototype, \"closed\", {\n get: function () {\n if (!IsReadableStreamBYOBReader(this)) {\n return promiseRejectedWith(byobReaderBrandCheckException('closed'));\n }\n return this._closedPromise;\n },\n enumerable: true,\n configurable: true\n });\n ReadableStreamBYOBReader.prototype.cancel = function (reason) {\n if (!IsReadableStreamBYOBReader(this)) {\n return promiseRejectedWith(byobReaderBrandCheckException('cancel'));\n }\n if (this._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('cancel'));\n }\n return ReadableStreamReaderGenericCancel(this, reason);\n };\n ReadableStreamBYOBReader.prototype.read = function (view) {\n if (!IsReadableStreamBYOBReader(this)) {\n return promiseRejectedWith(byobReaderBrandCheckException('read'));\n }\n if (this._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('read from'));\n }\n if (!ArrayBuffer.isView(view)) {\n return promiseRejectedWith(new TypeError('view must be an array buffer view'));\n }\n if (IsDetachedBuffer(view.buffer) === true);\n if (view.byteLength === 0) {\n return promiseRejectedWith(new TypeError('view must have non-zero byteLength'));\n }\n return ReadableStreamBYOBReaderRead(this, view);\n };\n ReadableStreamBYOBReader.prototype.releaseLock = function () {\n if (!IsReadableStreamBYOBReader(this)) {\n throw byobReaderBrandCheckException('releaseLock');\n }\n if (this._ownerReadableStream === undefined) {\n return;\n }\n if (this._readIntoRequests.length > 0) {\n throw new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled');\n }\n ReadableStreamReaderGenericRelease(this);\n };\n return ReadableStreamBYOBReader;\n }();\n function IsReadableStreamBYOBReader(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_readIntoRequests')) {\n return false;\n }\n return true;\n }\n function ReadableStreamBYOBReaderRead(reader, view) {\n var stream = reader._ownerReadableStream;\n stream._disturbed = true;\n if (stream._state === 'errored') {\n return promiseRejectedWith(stream._storedError);\n }\n return ReadableByteStreamControllerPullInto(stream._readableStreamController, view);\n }\n function byobReaderBrandCheckException(name) {\n return new TypeError(\"ReadableStreamBYOBReader.prototype.\" + name + \" can only be used on a ReadableStreamBYOBReader\");\n }\n var ReadableStream = function () {\n function ReadableStream(underlyingSource, strategy) {\n if (underlyingSource === void 0) {\n underlyingSource = {};\n }\n if (strategy === void 0) {\n strategy = {};\n }\n InitializeReadableStream(this);\n var size = strategy.size;\n var highWaterMark = strategy.highWaterMark;\n var type = underlyingSource.type;\n var typeString = String(type);\n if (typeString === 'bytes') {\n if (size !== undefined) {\n throw new RangeError('The strategy for a byte stream cannot have a size function');\n }\n if (highWaterMark === undefined) {\n highWaterMark = 0;\n }\n highWaterMark = ValidateAndNormalizeHighWaterMark(highWaterMark);\n SetUpReadableByteStreamControllerFromUnderlyingSource(this, underlyingSource, highWaterMark);\n } else if (type === undefined) {\n var sizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(size);\n if (highWaterMark === undefined) {\n highWaterMark = 1;\n }\n highWaterMark = ValidateAndNormalizeHighWaterMark(highWaterMark);\n SetUpReadableStreamDefaultControllerFromUnderlyingSource(this, underlyingSource, highWaterMark, sizeAlgorithm);\n } else {\n throw new RangeError('Invalid type is specified');\n }\n }\n Object.defineProperty(ReadableStream.prototype, \"locked\", {\n get: function () {\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException$1('locked');\n }\n return IsReadableStreamLocked(this);\n },\n enumerable: true,\n configurable: true\n });\n ReadableStream.prototype.cancel = function (reason) {\n if (IsReadableStream(this) === false) {\n return promiseRejectedWith(streamBrandCheckException$1('cancel'));\n }\n if (IsReadableStreamLocked(this) === true) {\n return promiseRejectedWith(new TypeError('Cannot cancel a stream that already has a reader'));\n }\n return ReadableStreamCancel(this, reason);\n };\n ReadableStream.prototype.getReader = function (_a) {\n var mode = (_a === void 0 ? {} : _a).mode;\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException$1('getReader');\n }\n if (mode === undefined) {\n return AcquireReadableStreamDefaultReader(this, true);\n }\n mode = String(mode);\n if (mode === 'byob') {\n return AcquireReadableStreamBYOBReader(this, true);\n }\n throw new RangeError('Invalid mode is specified');\n };\n ReadableStream.prototype.pipeThrough = function (_a, _b) {\n var writable = _a.writable, readable = _a.readable;\n var _c = _b === void 0 ? {} : _b, preventClose = _c.preventClose, preventAbort = _c.preventAbort, preventCancel = _c.preventCancel, signal = _c.signal;\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException$1('pipeThrough');\n }\n if (IsWritableStream(writable) === false) {\n throw new TypeError('writable argument to pipeThrough must be a WritableStream');\n }\n if (IsReadableStream(readable) === false) {\n throw new TypeError('readable argument to pipeThrough must be a ReadableStream');\n }\n preventClose = Boolean(preventClose);\n preventAbort = Boolean(preventAbort);\n preventCancel = Boolean(preventCancel);\n if (signal !== undefined && !isAbortSignal(signal)) {\n throw new TypeError('ReadableStream.prototype.pipeThrough\\'s signal option must be an AbortSignal');\n }\n if (IsReadableStreamLocked(this) === true) {\n throw new TypeError('ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream');\n }\n if (IsWritableStreamLocked(writable) === true) {\n throw new TypeError('ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream');\n }\n var promise = ReadableStreamPipeTo(this, writable, preventClose, preventAbort, preventCancel, signal);\n setPromiseIsHandledToTrue(promise);\n return readable;\n };\n ReadableStream.prototype.pipeTo = function (dest, _a) {\n var _b = _a === void 0 ? {} : _a, preventClose = _b.preventClose, preventAbort = _b.preventAbort, preventCancel = _b.preventCancel, signal = _b.signal;\n if (IsReadableStream(this) === false) {\n return promiseRejectedWith(streamBrandCheckException$1('pipeTo'));\n }\n if (IsWritableStream(dest) === false) {\n return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo\\'s first argument must be a WritableStream'));\n }\n preventClose = Boolean(preventClose);\n preventAbort = Boolean(preventAbort);\n preventCancel = Boolean(preventCancel);\n if (signal !== undefined && !isAbortSignal(signal)) {\n return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo\\'s signal option must be an AbortSignal'));\n }\n if (IsReadableStreamLocked(this) === true) {\n return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream'));\n }\n if (IsWritableStreamLocked(dest) === true) {\n return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream'));\n }\n return ReadableStreamPipeTo(this, dest, preventClose, preventAbort, preventCancel, signal);\n };\n ReadableStream.prototype.tee = function () {\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException$1('tee');\n }\n var branches = ReadableStreamTee(this);\n return createArrayFromList(branches);\n };\n ReadableStream.prototype.getIterator = function (_a) {\n var _b = (_a === void 0 ? {} : _a).preventCancel, preventCancel = _b === void 0 ? false : _b;\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException$1('getIterator');\n }\n return AcquireReadableStreamAsyncIterator(this, preventCancel);\n };\n return ReadableStream;\n }();\n if (typeof SymbolPolyfill.asyncIterator === 'symbol') {\n Object.defineProperty(ReadableStream.prototype, SymbolPolyfill.asyncIterator, {\n value: ReadableStream.prototype.getIterator,\n enumerable: false,\n writable: true,\n configurable: true\n });\n }\n function CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm) {\n if (highWaterMark === void 0) {\n highWaterMark = 1;\n }\n if (sizeAlgorithm === void 0) {\n sizeAlgorithm = function () {\n return 1;\n };\n }\n var stream = Object.create(ReadableStream.prototype);\n InitializeReadableStream(stream);\n var controller = Object.create(ReadableStreamDefaultController.prototype);\n SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm);\n return stream;\n }\n function InitializeReadableStream(stream) {\n stream._state = 'readable';\n stream._reader = undefined;\n stream._storedError = undefined;\n stream._disturbed = false;\n }\n function IsReadableStream(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_readableStreamController')) {\n return false;\n }\n return true;\n }\n function IsReadableStreamLocked(stream) {\n if (stream._reader === undefined) {\n return false;\n }\n return true;\n }\n function ReadableStreamCancel(stream, reason) {\n stream._disturbed = true;\n if (stream._state === 'closed') {\n return promiseResolvedWith(undefined);\n }\n if (stream._state === 'errored') {\n return promiseRejectedWith(stream._storedError);\n }\n ReadableStreamClose(stream);\n var sourceCancelPromise = stream._readableStreamController[CancelSteps](reason);\n return transformPromiseWith(sourceCancelPromise, noop);\n }\n function ReadableStreamClose(stream) {\n stream._state = 'closed';\n var reader = stream._reader;\n if (reader === undefined) {\n return;\n }\n if (IsReadableStreamDefaultReader(reader)) {\n reader._readRequests.forEach(function (readRequest) {\n readRequest._resolve(ReadableStreamCreateReadResult(undefined, true, reader._forAuthorCode));\n });\n reader._readRequests = new SimpleQueue();\n }\n defaultReaderClosedPromiseResolve(reader);\n }\n function ReadableStreamError(stream, e) {\n stream._state = 'errored';\n stream._storedError = e;\n var reader = stream._reader;\n if (reader === undefined) {\n return;\n }\n if (IsReadableStreamDefaultReader(reader)) {\n reader._readRequests.forEach(function (readRequest) {\n readRequest._reject(e);\n });\n reader._readRequests = new SimpleQueue();\n } else {\n reader._readIntoRequests.forEach(function (readIntoRequest) {\n readIntoRequest._reject(e);\n });\n reader._readIntoRequests = new SimpleQueue();\n }\n defaultReaderClosedPromiseReject(reader, e);\n }\n function streamBrandCheckException$1(name) {\n return new TypeError(\"ReadableStream.prototype.\" + name + \" can only be used on a ReadableStream\");\n }\n var ByteLengthQueuingStrategy = function () {\n function ByteLengthQueuingStrategy(_a) {\n var highWaterMark = _a.highWaterMark;\n this.highWaterMark = highWaterMark;\n }\n ByteLengthQueuingStrategy.prototype.size = function (chunk) {\n return chunk.byteLength;\n };\n return ByteLengthQueuingStrategy;\n }();\n var CountQueuingStrategy = function () {\n function CountQueuingStrategy(_a) {\n var highWaterMark = _a.highWaterMark;\n this.highWaterMark = highWaterMark;\n }\n CountQueuingStrategy.prototype.size = function () {\n return 1;\n };\n return CountQueuingStrategy;\n }();\n var TransformStream = function () {\n function TransformStream(transformer, writableStrategy, readableStrategy) {\n if (transformer === void 0) {\n transformer = {};\n }\n if (writableStrategy === void 0) {\n writableStrategy = {};\n }\n if (readableStrategy === void 0) {\n readableStrategy = {};\n }\n var writableSizeFunction = writableStrategy.size;\n var writableHighWaterMark = writableStrategy.highWaterMark;\n var readableSizeFunction = readableStrategy.size;\n var readableHighWaterMark = readableStrategy.highWaterMark;\n var writableType = transformer.writableType;\n if (writableType !== undefined) {\n throw new RangeError('Invalid writable type specified');\n }\n var writableSizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(writableSizeFunction);\n if (writableHighWaterMark === undefined) {\n writableHighWaterMark = 1;\n }\n writableHighWaterMark = ValidateAndNormalizeHighWaterMark(writableHighWaterMark);\n var readableType = transformer.readableType;\n if (readableType !== undefined) {\n throw new RangeError('Invalid readable type specified');\n }\n var readableSizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(readableSizeFunction);\n if (readableHighWaterMark === undefined) {\n readableHighWaterMark = 0;\n }\n readableHighWaterMark = ValidateAndNormalizeHighWaterMark(readableHighWaterMark);\n var startPromise_resolve;\n var startPromise = newPromise(function (resolve) {\n startPromise_resolve = resolve;\n });\n InitializeTransformStream(this, startPromise, writableHighWaterMark, writableSizeAlgorithm, readableHighWaterMark, readableSizeAlgorithm);\n SetUpTransformStreamDefaultControllerFromTransformer(this, transformer);\n var startResult = InvokeOrNoop(transformer, 'start', [this._transformStreamController]);\n startPromise_resolve(startResult);\n }\n Object.defineProperty(TransformStream.prototype, \"readable\", {\n get: function () {\n if (IsTransformStream(this) === false) {\n throw streamBrandCheckException$2('readable');\n }\n return this._readable;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(TransformStream.prototype, \"writable\", {\n get: function () {\n if (IsTransformStream(this) === false) {\n throw streamBrandCheckException$2('writable');\n }\n return this._writable;\n },\n enumerable: true,\n configurable: true\n });\n return TransformStream;\n }();\n function InitializeTransformStream(stream, startPromise, writableHighWaterMark, writableSizeAlgorithm, readableHighWaterMark, readableSizeAlgorithm) {\n function startAlgorithm() {\n return startPromise;\n }\n function writeAlgorithm(chunk) {\n return TransformStreamDefaultSinkWriteAlgorithm(stream, chunk);\n }\n function abortAlgorithm(reason) {\n return TransformStreamDefaultSinkAbortAlgorithm(stream, reason);\n }\n function closeAlgorithm() {\n return TransformStreamDefaultSinkCloseAlgorithm(stream);\n }\n stream._writable = CreateWritableStream(startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, writableHighWaterMark, writableSizeAlgorithm);\n function pullAlgorithm() {\n return TransformStreamDefaultSourcePullAlgorithm(stream);\n }\n function cancelAlgorithm(reason) {\n TransformStreamErrorWritableAndUnblockWrite(stream, reason);\n return promiseResolvedWith(undefined);\n }\n stream._readable = CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, readableHighWaterMark, readableSizeAlgorithm);\n stream._backpressure = undefined;\n stream._backpressureChangePromise = undefined;\n stream._backpressureChangePromise_resolve = undefined;\n TransformStreamSetBackpressure(stream, true);\n stream._transformStreamController = undefined;\n }\n function IsTransformStream(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_transformStreamController')) {\n return false;\n }\n return true;\n }\n function TransformStreamError(stream, e) {\n ReadableStreamDefaultControllerError(stream._readable._readableStreamController, e);\n TransformStreamErrorWritableAndUnblockWrite(stream, e);\n }\n function TransformStreamErrorWritableAndUnblockWrite(stream, e) {\n TransformStreamDefaultControllerClearAlgorithms(stream._transformStreamController);\n WritableStreamDefaultControllerErrorIfNeeded(stream._writable._writableStreamController, e);\n if (stream._backpressure === true) {\n TransformStreamSetBackpressure(stream, false);\n }\n }\n function TransformStreamSetBackpressure(stream, backpressure) {\n if (stream._backpressureChangePromise !== undefined) {\n stream._backpressureChangePromise_resolve();\n }\n stream._backpressureChangePromise = newPromise(function (resolve) {\n stream._backpressureChangePromise_resolve = resolve;\n });\n stream._backpressure = backpressure;\n }\n var TransformStreamDefaultController = function () {\n function TransformStreamDefaultController() {\n throw new TypeError('TransformStreamDefaultController instances cannot be created directly');\n }\n Object.defineProperty(TransformStreamDefaultController.prototype, \"desiredSize\", {\n get: function () {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException$1('desiredSize');\n }\n var readableController = this._controlledTransformStream._readable._readableStreamController;\n return ReadableStreamDefaultControllerGetDesiredSize(readableController);\n },\n enumerable: true,\n configurable: true\n });\n TransformStreamDefaultController.prototype.enqueue = function (chunk) {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException$1('enqueue');\n }\n TransformStreamDefaultControllerEnqueue(this, chunk);\n };\n TransformStreamDefaultController.prototype.error = function (reason) {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException$1('error');\n }\n TransformStreamDefaultControllerError(this, reason);\n };\n TransformStreamDefaultController.prototype.terminate = function () {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException$1('terminate');\n }\n TransformStreamDefaultControllerTerminate(this);\n };\n return TransformStreamDefaultController;\n }();\n function IsTransformStreamDefaultController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_controlledTransformStream')) {\n return false;\n }\n return true;\n }\n function SetUpTransformStreamDefaultController(stream, controller, transformAlgorithm, flushAlgorithm) {\n controller._controlledTransformStream = stream;\n stream._transformStreamController = controller;\n controller._transformAlgorithm = transformAlgorithm;\n controller._flushAlgorithm = flushAlgorithm;\n }\n function SetUpTransformStreamDefaultControllerFromTransformer(stream, transformer) {\n var controller = Object.create(TransformStreamDefaultController.prototype);\n var transformAlgorithm = function (chunk) {\n try {\n TransformStreamDefaultControllerEnqueue(controller, chunk);\n return promiseResolvedWith(undefined);\n } catch (transformResultE) {\n return promiseRejectedWith(transformResultE);\n }\n };\n var transformMethod = transformer.transform;\n if (transformMethod !== undefined) {\n if (typeof transformMethod !== 'function') {\n throw new TypeError('transform is not a method');\n }\n transformAlgorithm = function (chunk) {\n return PromiseCall(transformMethod, transformer, [\n chunk,\n controller\n ]);\n };\n }\n var flushAlgorithm = CreateAlgorithmFromUnderlyingMethod(transformer, 'flush', 0, [controller]);\n SetUpTransformStreamDefaultController(stream, controller, transformAlgorithm, flushAlgorithm);\n }\n function TransformStreamDefaultControllerClearAlgorithms(controller) {\n controller._transformAlgorithm = undefined;\n controller._flushAlgorithm = undefined;\n }\n function TransformStreamDefaultControllerEnqueue(controller, chunk) {\n var stream = controller._controlledTransformStream;\n var readableController = stream._readable._readableStreamController;\n if (ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController) === false) {\n throw new TypeError('Readable side is not in a state that permits enqueue');\n }\n try {\n ReadableStreamDefaultControllerEnqueue(readableController, chunk);\n } catch (e) {\n TransformStreamErrorWritableAndUnblockWrite(stream, e);\n throw stream._readable._storedError;\n }\n var backpressure = ReadableStreamDefaultControllerHasBackpressure(readableController);\n if (backpressure !== stream._backpressure) {\n TransformStreamSetBackpressure(stream, true);\n }\n }\n function TransformStreamDefaultControllerError(controller, e) {\n TransformStreamError(controller._controlledTransformStream, e);\n }\n function TransformStreamDefaultControllerPerformTransform(controller, chunk) {\n var transformPromise = controller._transformAlgorithm(chunk);\n return transformPromiseWith(transformPromise, undefined, function (r) {\n TransformStreamError(controller._controlledTransformStream, r);\n throw r;\n });\n }\n function TransformStreamDefaultControllerTerminate(controller) {\n var stream = controller._controlledTransformStream;\n var readableController = stream._readable._readableStreamController;\n if (ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController) === true) {\n ReadableStreamDefaultControllerClose(readableController);\n }\n var error = new TypeError('TransformStream terminated');\n TransformStreamErrorWritableAndUnblockWrite(stream, error);\n }\n function TransformStreamDefaultSinkWriteAlgorithm(stream, chunk) {\n var controller = stream._transformStreamController;\n if (stream._backpressure === true) {\n var backpressureChangePromise = stream._backpressureChangePromise;\n return transformPromiseWith(backpressureChangePromise, function () {\n var writable = stream._writable;\n var state = writable._state;\n if (state === 'erroring') {\n throw writable._storedError;\n }\n return TransformStreamDefaultControllerPerformTransform(controller, chunk);\n });\n }\n return TransformStreamDefaultControllerPerformTransform(controller, chunk);\n }\n function TransformStreamDefaultSinkAbortAlgorithm(stream, reason) {\n TransformStreamError(stream, reason);\n return promiseResolvedWith(undefined);\n }\n function TransformStreamDefaultSinkCloseAlgorithm(stream) {\n var readable = stream._readable;\n var controller = stream._transformStreamController;\n var flushPromise = controller._flushAlgorithm();\n TransformStreamDefaultControllerClearAlgorithms(controller);\n return transformPromiseWith(flushPromise, function () {\n if (readable._state === 'errored') {\n throw readable._storedError;\n }\n var readableController = readable._readableStreamController;\n if (ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController) === true) {\n ReadableStreamDefaultControllerClose(readableController);\n }\n }, function (r) {\n TransformStreamError(stream, r);\n throw readable._storedError;\n });\n }\n function TransformStreamDefaultSourcePullAlgorithm(stream) {\n TransformStreamSetBackpressure(stream, false);\n return stream._backpressureChangePromise;\n }\n function defaultControllerBrandCheckException$1(name) {\n return new TypeError(\"TransformStreamDefaultController.prototype.\" + name + \" can only be used on a TransformStreamDefaultController\");\n }\n function streamBrandCheckException$2(name) {\n return new TypeError(\"TransformStream.prototype.\" + name + \" can only be used on a TransformStream\");\n }\n exports.ByteLengthQueuingStrategy = ByteLengthQueuingStrategy;\n exports.CountQueuingStrategy = CountQueuingStrategy;\n exports.ReadableStream = ReadableStream;\n exports.TransformStream = TransformStream;\n exports.WritableStream = WritableStream;\n Object.defineProperty(exports, '__esModule', { value: true });\n}));\n\n/***/ }),\n/* 146 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(147);\n__w_pdfjs_require__(118);\n__w_pdfjs_require__(77);\n__w_pdfjs_require__(120);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Map;\n\n/***/ }),\n/* 147 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar collection = __w_pdfjs_require__(148);\nvar collectionStrong = __w_pdfjs_require__(152);\nmodule.exports = collection('Map', function (init) {\n return function Map() {\n return init(this, arguments.length ? arguments[0] : undefined);\n };\n}, collectionStrong);\n\n/***/ }),\n/* 148 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar global = __w_pdfjs_require__(11);\nvar isForced = __w_pdfjs_require__(52);\nvar redefine = __w_pdfjs_require__(29);\nvar InternalMetadataModule = __w_pdfjs_require__(149);\nvar iterate = __w_pdfjs_require__(104);\nvar anInstance = __w_pdfjs_require__(126);\nvar isObject = __w_pdfjs_require__(22);\nvar fails = __w_pdfjs_require__(14);\nvar checkCorrectnessOfIteration = __w_pdfjs_require__(97);\nvar setToStringTag = __w_pdfjs_require__(85);\nvar inheritIfRequired = __w_pdfjs_require__(151);\nmodule.exports = function (CONSTRUCTOR_NAME, wrapper, common) {\n var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;\n var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;\n var ADDER = IS_MAP ? 'set' : 'add';\n var NativeConstructor = global[CONSTRUCTOR_NAME];\n var NativePrototype = NativeConstructor && NativeConstructor.prototype;\n var Constructor = NativeConstructor;\n var exported = {};\n var fixMethod = function (KEY) {\n var nativeMethod = NativePrototype[KEY];\n redefine(NativePrototype, KEY, KEY == 'add' ? function add(value) {\n nativeMethod.call(this, value === 0 ? 0 : value);\n return this;\n } : KEY == 'delete' ? function (key) {\n return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n } : KEY == 'get' ? function get(key) {\n return IS_WEAK && !isObject(key) ? undefined : nativeMethod.call(this, key === 0 ? 0 : key);\n } : KEY == 'has' ? function has(key) {\n return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n } : function set(key, value) {\n nativeMethod.call(this, key === 0 ? 0 : key, value);\n return this;\n });\n };\n if (isForced(CONSTRUCTOR_NAME, typeof NativeConstructor != 'function' || !(IS_WEAK || NativePrototype.forEach && !fails(function () {\n new NativeConstructor().entries().next();\n })))) {\n Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);\n InternalMetadataModule.REQUIRED = true;\n } else if (isForced(CONSTRUCTOR_NAME, true)) {\n var instance = new Constructor();\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n var THROWS_ON_PRIMITIVES = fails(function () {\n instance.has(1);\n });\n var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) {\n new NativeConstructor(iterable);\n });\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n var $instance = new NativeConstructor();\n var index = 5;\n while (index--)\n $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n if (!ACCEPT_ITERABLES) {\n Constructor = wrapper(function (dummy, iterable) {\n anInstance(dummy, Constructor, CONSTRUCTOR_NAME);\n var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);\n if (iterable != undefined)\n iterate(iterable, that[ADDER], that, IS_MAP);\n return that;\n });\n Constructor.prototype = NativePrototype;\n NativePrototype.constructor = Constructor;\n }\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n if (BUGGY_ZERO || HASNT_CHAINING)\n fixMethod(ADDER);\n if (IS_WEAK && NativePrototype.clear)\n delete NativePrototype.clear;\n }\n exported[CONSTRUCTOR_NAME] = Constructor;\n $({\n global: true,\n forced: Constructor != NativeConstructor\n }, exported);\n setToStringTag(Constructor, CONSTRUCTOR_NAME);\n if (!IS_WEAK)\n common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);\n return Constructor;\n};\n\n/***/ }),\n/* 149 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar hiddenKeys = __w_pdfjs_require__(39);\nvar isObject = __w_pdfjs_require__(22);\nvar has = __w_pdfjs_require__(23);\nvar defineProperty = __w_pdfjs_require__(27).f;\nvar uid = __w_pdfjs_require__(38);\nvar FREEZING = __w_pdfjs_require__(150);\nvar METADATA = uid('meta');\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar setMetadata = function (it) {\n defineProperty(it, METADATA, {\n value: {\n objectID: 'O' + ++id,\n weakData: {}\n }\n });\n};\nvar fastKey = function (it, create) {\n if (!isObject(it))\n return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, METADATA)) {\n if (!isExtensible(it))\n return 'F';\n if (!create)\n return 'E';\n setMetadata(it);\n }\n return it[METADATA].objectID;\n};\nvar getWeakData = function (it, create) {\n if (!has(it, METADATA)) {\n if (!isExtensible(it))\n return true;\n if (!create)\n return false;\n setMetadata(it);\n }\n return it[METADATA].weakData;\n};\nvar onFreeze = function (it) {\n if (FREEZING && meta.REQUIRED && isExtensible(it) && !has(it, METADATA))\n setMetadata(it);\n return it;\n};\nvar meta = module.exports = {\n REQUIRED: false,\n fastKey: fastKey,\n getWeakData: getWeakData,\n onFreeze: onFreeze\n};\nhiddenKeys[METADATA] = true;\n\n/***/ }),\n/* 150 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(14);\nmodule.exports = !fails(function () {\n return Object.isExtensible(Object.preventExtensions({}));\n});\n\n/***/ }),\n/* 151 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(22);\nvar setPrototypeOf = __w_pdfjs_require__(87);\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (setPrototypeOf && typeof (NewTarget = dummy.constructor) == 'function' && NewTarget !== Wrapper && isObject(NewTargetPrototype = NewTarget.prototype) && NewTargetPrototype !== Wrapper.prototype)\n setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n\n/***/ }),\n/* 152 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar defineProperty = __w_pdfjs_require__(27).f;\nvar create = __w_pdfjs_require__(71);\nvar redefineAll = __w_pdfjs_require__(124);\nvar bind = __w_pdfjs_require__(62);\nvar anInstance = __w_pdfjs_require__(126);\nvar iterate = __w_pdfjs_require__(104);\nvar defineIterator = __w_pdfjs_require__(79);\nvar setSpecies = __w_pdfjs_require__(125);\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar fastKey = __w_pdfjs_require__(149).fastKey;\nvar InternalStateModule = __w_pdfjs_require__(33);\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\nmodule.exports = {\n getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, CONSTRUCTOR_NAME);\n setInternalState(that, {\n type: CONSTRUCTOR_NAME,\n index: create(null),\n first: undefined,\n last: undefined,\n size: 0\n });\n if (!DESCRIPTORS)\n that.size = 0;\n if (iterable != undefined)\n iterate(iterable, that[ADDER], that, IS_MAP);\n });\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n var previous, index;\n if (entry) {\n entry.value = value;\n } else {\n state.last = entry = {\n index: index = fastKey(key, true),\n key: key,\n value: value,\n previous: previous = state.last,\n next: undefined,\n removed: false\n };\n if (!state.first)\n state.first = entry;\n if (previous)\n previous.next = entry;\n if (DESCRIPTORS)\n state.size++;\n else\n that.size++;\n if (index !== 'F')\n state.index[index] = entry;\n }\n return that;\n };\n var getEntry = function (that, key) {\n var state = getInternalState(that);\n var index = fastKey(key);\n var entry;\n if (index !== 'F')\n return state.index[index];\n for (entry = state.first; entry; entry = entry.next) {\n if (entry.key == key)\n return entry;\n }\n };\n redefineAll(C.prototype, {\n clear: function clear() {\n var that = this;\n var state = getInternalState(that);\n var data = state.index;\n var entry = state.first;\n while (entry) {\n entry.removed = true;\n if (entry.previous)\n entry.previous = entry.previous.next = undefined;\n delete data[entry.index];\n entry = entry.next;\n }\n state.first = state.last = undefined;\n if (DESCRIPTORS)\n state.size = 0;\n else\n that.size = 0;\n },\n 'delete': function (key) {\n var that = this;\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.next;\n var prev = entry.previous;\n delete state.index[entry.index];\n entry.removed = true;\n if (prev)\n prev.next = next;\n if (next)\n next.previous = prev;\n if (state.first == entry)\n state.first = next;\n if (state.last == entry)\n state.last = prev;\n if (DESCRIPTORS)\n state.size--;\n else\n that.size--;\n }\n return !!entry;\n },\n forEach: function forEach(callbackfn) {\n var state = getInternalState(this);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n var entry;\n while (entry = entry ? entry.next : state.first) {\n boundFunction(entry.value, entry.key, this);\n while (entry && entry.removed)\n entry = entry.previous;\n }\n },\n has: function has(key) {\n return !!getEntry(this, key);\n }\n });\n redefineAll(C.prototype, IS_MAP ? {\n get: function get(key) {\n var entry = getEntry(this, key);\n return entry && entry.value;\n },\n set: function set(key, value) {\n return define(this, key === 0 ? 0 : key, value);\n }\n } : {\n add: function add(value) {\n return define(this, value = value === 0 ? 0 : value, value);\n }\n });\n if (DESCRIPTORS)\n defineProperty(C.prototype, 'size', {\n get: function () {\n return getInternalState(this).size;\n }\n });\n return C;\n },\n setStrong: function (C, CONSTRUCTOR_NAME, IS_MAP) {\n var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';\n var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);\n var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME);\n defineIterator(C, CONSTRUCTOR_NAME, function (iterated, kind) {\n setInternalState(this, {\n type: ITERATOR_NAME,\n target: iterated,\n state: getInternalCollectionState(iterated),\n kind: kind,\n last: undefined\n });\n }, function () {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var entry = state.last;\n while (entry && entry.removed)\n entry = entry.previous;\n if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {\n state.target = undefined;\n return {\n value: undefined,\n done: true\n };\n }\n if (kind == 'keys')\n return {\n value: entry.key,\n done: false\n };\n if (kind == 'values')\n return {\n value: entry.value,\n done: false\n };\n return {\n value: [\n entry.key,\n entry.value\n ],\n done: false\n };\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n setSpecies(CONSTRUCTOR_NAME);\n }\n};\n\n/***/ }),\n/* 153 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(154);\n__w_pdfjs_require__(118);\n__w_pdfjs_require__(77);\n__w_pdfjs_require__(120);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Set;\n\n/***/ }),\n/* 154 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar collection = __w_pdfjs_require__(148);\nvar collectionStrong = __w_pdfjs_require__(152);\nmodule.exports = collection('Set', function (init) {\n return function Set() {\n return init(this, arguments.length ? arguments[0] : undefined);\n };\n}, collectionStrong);\n\n/***/ }),\n/* 155 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(118);\n__w_pdfjs_require__(156);\n__w_pdfjs_require__(120);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.WeakMap;\n\n/***/ }),\n/* 156 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar global = __w_pdfjs_require__(11);\nvar redefineAll = __w_pdfjs_require__(124);\nvar InternalMetadataModule = __w_pdfjs_require__(149);\nvar collection = __w_pdfjs_require__(148);\nvar collectionWeak = __w_pdfjs_require__(157);\nvar isObject = __w_pdfjs_require__(22);\nvar enforceIternalState = __w_pdfjs_require__(33).enforce;\nvar NATIVE_WEAK_MAP = __w_pdfjs_require__(34);\nvar IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global;\nvar isExtensible = Object.isExtensible;\nvar InternalWeakMap;\nvar wrapper = function (init) {\n return function WeakMap() {\n return init(this, arguments.length ? arguments[0] : undefined);\n };\n};\nvar $WeakMap = module.exports = collection('WeakMap', wrapper, collectionWeak);\nif (NATIVE_WEAK_MAP && IS_IE11) {\n InternalWeakMap = collectionWeak.getConstructor(wrapper, 'WeakMap', true);\n InternalMetadataModule.REQUIRED = true;\n var WeakMapPrototype = $WeakMap.prototype;\n var nativeDelete = WeakMapPrototype['delete'];\n var nativeHas = WeakMapPrototype.has;\n var nativeGet = WeakMapPrototype.get;\n var nativeSet = WeakMapPrototype.set;\n redefineAll(WeakMapPrototype, {\n 'delete': function (key) {\n if (isObject(key) && !isExtensible(key)) {\n var state = enforceIternalState(this);\n if (!state.frozen)\n state.frozen = new InternalWeakMap();\n return nativeDelete.call(this, key) || state.frozen['delete'](key);\n }\n return nativeDelete.call(this, key);\n },\n has: function has(key) {\n if (isObject(key) && !isExtensible(key)) {\n var state = enforceIternalState(this);\n if (!state.frozen)\n state.frozen = new InternalWeakMap();\n return nativeHas.call(this, key) || state.frozen.has(key);\n }\n return nativeHas.call(this, key);\n },\n get: function get(key) {\n if (isObject(key) && !isExtensible(key)) {\n var state = enforceIternalState(this);\n if (!state.frozen)\n state.frozen = new InternalWeakMap();\n return nativeHas.call(this, key) ? nativeGet.call(this, key) : state.frozen.get(key);\n }\n return nativeGet.call(this, key);\n },\n set: function set(key, value) {\n if (isObject(key) && !isExtensible(key)) {\n var state = enforceIternalState(this);\n if (!state.frozen)\n state.frozen = new InternalWeakMap();\n nativeHas.call(this, key) ? nativeSet.call(this, key, value) : state.frozen.set(key, value);\n } else\n nativeSet.call(this, key, value);\n return this;\n }\n });\n}\n\n/***/ }),\n/* 157 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar redefineAll = __w_pdfjs_require__(124);\nvar getWeakData = __w_pdfjs_require__(149).getWeakData;\nvar anObject = __w_pdfjs_require__(28);\nvar isObject = __w_pdfjs_require__(22);\nvar anInstance = __w_pdfjs_require__(126);\nvar iterate = __w_pdfjs_require__(104);\nvar ArrayIterationModule = __w_pdfjs_require__(158);\nvar $has = __w_pdfjs_require__(23);\nvar InternalStateModule = __w_pdfjs_require__(33);\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\nvar find = ArrayIterationModule.find;\nvar findIndex = ArrayIterationModule.findIndex;\nvar id = 0;\nvar uncaughtFrozenStore = function (store) {\n return store.frozen || (store.frozen = new UncaughtFrozenStore());\n};\nvar UncaughtFrozenStore = function () {\n this.entries = [];\n};\nvar findUncaughtFrozen = function (store, key) {\n return find(store.entries, function (it) {\n return it[0] === key;\n });\n};\nUncaughtFrozenStore.prototype = {\n get: function (key) {\n var entry = findUncaughtFrozen(this, key);\n if (entry)\n return entry[1];\n },\n has: function (key) {\n return !!findUncaughtFrozen(this, key);\n },\n set: function (key, value) {\n var entry = findUncaughtFrozen(this, key);\n if (entry)\n entry[1] = value;\n else\n this.entries.push([\n key,\n value\n ]);\n },\n 'delete': function (key) {\n var index = findIndex(this.entries, function (it) {\n return it[0] === key;\n });\n if (~index)\n this.entries.splice(index, 1);\n return !!~index;\n }\n};\nmodule.exports = {\n getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, CONSTRUCTOR_NAME);\n setInternalState(that, {\n type: CONSTRUCTOR_NAME,\n id: id++,\n frozen: undefined\n });\n if (iterable != undefined)\n iterate(iterable, that[ADDER], that, IS_MAP);\n });\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var data = getWeakData(anObject(key), true);\n if (data === true)\n uncaughtFrozenStore(state).set(key, value);\n else\n data[state.id] = value;\n return that;\n };\n redefineAll(C.prototype, {\n 'delete': function (key) {\n var state = getInternalState(this);\n if (!isObject(key))\n return false;\n var data = getWeakData(key);\n if (data === true)\n return uncaughtFrozenStore(state)['delete'](key);\n return data && $has(data, state.id) && delete data[state.id];\n },\n has: function has(key) {\n var state = getInternalState(this);\n if (!isObject(key))\n return false;\n var data = getWeakData(key);\n if (data === true)\n return uncaughtFrozenStore(state).has(key);\n return data && $has(data, state.id);\n }\n });\n redefineAll(C.prototype, IS_MAP ? {\n get: function get(key) {\n var state = getInternalState(this);\n if (isObject(key)) {\n var data = getWeakData(key);\n if (data === true)\n return uncaughtFrozenStore(state).get(key);\n return data ? data[state.id] : undefined;\n }\n },\n set: function set(key, value) {\n return define(this, key, value);\n }\n } : {\n add: function add(value) {\n return define(this, value, true);\n }\n });\n return C;\n }\n};\n\n/***/ }),\n/* 158 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar bind = __w_pdfjs_require__(62);\nvar IndexedObject = __w_pdfjs_require__(18);\nvar toObject = __w_pdfjs_require__(83);\nvar toLength = __w_pdfjs_require__(47);\nvar arraySpeciesCreate = __w_pdfjs_require__(159);\nvar push = [].push;\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var boundFunction = bind(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var value, result;\n for (; length > index; index++)\n if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP)\n target[index] = result;\n else if (result)\n switch (TYPE) {\n case 3:\n return true;\n case 5:\n return value;\n case 6:\n return index;\n case 2:\n push.call(target, value);\n }\n else if (IS_EVERY)\n return false;\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\nmodule.exports = {\n forEach: createMethod(0),\n map: createMethod(1),\n filter: createMethod(2),\n some: createMethod(3),\n every: createMethod(4),\n find: createMethod(5),\n findIndex: createMethod(6)\n};\n\n/***/ }),\n/* 159 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(22);\nvar isArray = __w_pdfjs_require__(160);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar SPECIES = wellKnownSymbol('species');\nmodule.exports = function (originalArray, length) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n if (typeof C == 'function' && (C === Array || isArray(C.prototype)))\n C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null)\n C = undefined;\n }\n }\n return new (C === undefined ? Array : C)(length === 0 ? 0 : length);\n};\n\n/***/ }),\n/* 160 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar classof = __w_pdfjs_require__(19);\nmodule.exports = Array.isArray || function isArray(arg) {\n return classof(arg) == 'Array';\n};\n\n/***/ }),\n/* 161 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(118);\n__w_pdfjs_require__(162);\n__w_pdfjs_require__(120);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.WeakSet;\n\n/***/ }),\n/* 162 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar collection = __w_pdfjs_require__(148);\nvar collectionWeak = __w_pdfjs_require__(157);\ncollection('WeakSet', function (init) {\n return function WeakSet() {\n return init(this, arguments.length ? arguments[0] : undefined);\n };\n}, collectionWeak);\n\n/***/ }),\n/* 163 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(164);\nvar entryUnbind = __w_pdfjs_require__(61);\nmodule.exports = entryUnbind('String', 'codePointAt');\n\n/***/ }),\n/* 164 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar codeAt = __w_pdfjs_require__(78).codeAt;\n$({\n target: 'String',\n proto: true\n}, {\n codePointAt: function codePointAt(pos) {\n return codeAt(this, pos);\n }\n});\n\n/***/ }),\n/* 165 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(166);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.String.fromCodePoint;\n\n/***/ }),\n/* 166 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\nvar toAbsoluteIndex = __w_pdfjs_require__(49);\nvar fromCharCode = String.fromCharCode;\nvar nativeFromCodePoint = String.fromCodePoint;\nvar INCORRECT_LENGTH = !!nativeFromCodePoint && nativeFromCodePoint.length != 1;\n$({\n target: 'String',\n stat: true,\n forced: INCORRECT_LENGTH\n}, {\n fromCodePoint: function fromCodePoint(x) {\n var elements = [];\n var length = arguments.length;\n var i = 0;\n var code;\n while (length > i) {\n code = +arguments[i++];\n if (toAbsoluteIndex(code, 0x10FFFF) !== code)\n throw RangeError(code + ' is not a valid code point');\n elements.push(code < 0x10000 ? fromCharCode(code) : fromCharCode(((code -= 0x10000) >> 10) + 0xD800, code % 0x400 + 0xDC00));\n }\n return elements.join('');\n }\n});\n\n/***/ }),\n/* 167 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(168);\n__w_pdfjs_require__(118);\n__w_pdfjs_require__(170);\n__w_pdfjs_require__(174);\n__w_pdfjs_require__(175);\n__w_pdfjs_require__(176);\n__w_pdfjs_require__(177);\n__w_pdfjs_require__(178);\n__w_pdfjs_require__(179);\n__w_pdfjs_require__(180);\n__w_pdfjs_require__(181);\n__w_pdfjs_require__(182);\n__w_pdfjs_require__(183);\n__w_pdfjs_require__(184);\n__w_pdfjs_require__(185);\n__w_pdfjs_require__(186);\n__w_pdfjs_require__(187);\n__w_pdfjs_require__(188);\n__w_pdfjs_require__(189);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Symbol;\n\n/***/ }),\n/* 168 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar fails = __w_pdfjs_require__(14);\nvar isArray = __w_pdfjs_require__(160);\nvar isObject = __w_pdfjs_require__(22);\nvar toObject = __w_pdfjs_require__(83);\nvar toLength = __w_pdfjs_require__(47);\nvar createProperty = __w_pdfjs_require__(93);\nvar arraySpeciesCreate = __w_pdfjs_require__(159);\nvar arrayMethodHasSpeciesSupport = __w_pdfjs_require__(169);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar V8_VERSION = __w_pdfjs_require__(135);\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';\nvar IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {\n var array = [];\n array[IS_CONCAT_SPREADABLE] = false;\n return array.concat()[0] !== array;\n});\nvar SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');\nvar isConcatSpreadable = function (O) {\n if (!isObject(O))\n return false;\n var spreadable = O[IS_CONCAT_SPREADABLE];\n return spreadable !== undefined ? !!spreadable : isArray(O);\n};\nvar FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;\n$({\n target: 'Array',\n proto: true,\n forced: FORCED\n}, {\n concat: function concat(arg) {\n var O = toObject(this);\n var A = arraySpeciesCreate(O, 0);\n var n = 0;\n var i, k, length, len, E;\n for (i = -1, length = arguments.length; i < length; i++) {\n E = i === -1 ? O : arguments[i];\n if (isConcatSpreadable(E)) {\n len = toLength(E.length);\n if (n + len > MAX_SAFE_INTEGER)\n throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n for (k = 0; k < len; k++, n++)\n if (k in E)\n createProperty(A, n, E[k]);\n } else {\n if (n >= MAX_SAFE_INTEGER)\n throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n createProperty(A, n++, E);\n }\n }\n A.length = n;\n return A;\n }\n});\n\n/***/ }),\n/* 169 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(14);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar V8_VERSION = __w_pdfjs_require__(135);\nvar SPECIES = wellKnownSymbol('species');\nmodule.exports = function (METHOD_NAME) {\n return V8_VERSION >= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n\n/***/ }),\n/* 170 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar global = __w_pdfjs_require__(11);\nvar getBuiltIn = __w_pdfjs_require__(42);\nvar IS_PURE = __w_pdfjs_require__(37);\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar NATIVE_SYMBOL = __w_pdfjs_require__(58);\nvar USE_SYMBOL_AS_UID = __w_pdfjs_require__(59);\nvar fails = __w_pdfjs_require__(14);\nvar has = __w_pdfjs_require__(23);\nvar isArray = __w_pdfjs_require__(160);\nvar isObject = __w_pdfjs_require__(22);\nvar anObject = __w_pdfjs_require__(28);\nvar toObject = __w_pdfjs_require__(83);\nvar toIndexedObject = __w_pdfjs_require__(17);\nvar toPrimitive = __w_pdfjs_require__(21);\nvar createPropertyDescriptor = __w_pdfjs_require__(16);\nvar nativeObjectCreate = __w_pdfjs_require__(71);\nvar objectKeys = __w_pdfjs_require__(73);\nvar getOwnPropertyNamesModule = __w_pdfjs_require__(44);\nvar getOwnPropertyNamesExternal = __w_pdfjs_require__(171);\nvar getOwnPropertySymbolsModule = __w_pdfjs_require__(51);\nvar getOwnPropertyDescriptorModule = __w_pdfjs_require__(12);\nvar definePropertyModule = __w_pdfjs_require__(27);\nvar propertyIsEnumerableModule = __w_pdfjs_require__(15);\nvar createNonEnumerableProperty = __w_pdfjs_require__(26);\nvar redefine = __w_pdfjs_require__(29);\nvar shared = __w_pdfjs_require__(36);\nvar sharedKey = __w_pdfjs_require__(35);\nvar hiddenKeys = __w_pdfjs_require__(39);\nvar uid = __w_pdfjs_require__(38);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar wrappedWellKnownSymbolModule = __w_pdfjs_require__(172);\nvar defineWellKnownSymbol = __w_pdfjs_require__(173);\nvar setToStringTag = __w_pdfjs_require__(85);\nvar InternalStateModule = __w_pdfjs_require__(33);\nvar $forEach = __w_pdfjs_require__(158).forEach;\nvar HIDDEN = sharedKey('hidden');\nvar SYMBOL = 'Symbol';\nvar PROTOTYPE = 'prototype';\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(SYMBOL);\nvar ObjectPrototype = Object[PROTOTYPE];\nvar $Symbol = global.Symbol;\nvar $stringify = getBuiltIn('JSON', 'stringify');\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;\nvar nativePropertyIsEnumerable = propertyIsEnumerableModule.f;\nvar AllSymbols = shared('symbols');\nvar ObjectPrototypeSymbols = shared('op-symbols');\nvar StringToSymbolRegistry = shared('string-to-symbol-registry');\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\nvar WellKnownSymbolsStore = shared('wks');\nvar QObject = global.QObject;\nvar USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\nvar setSymbolDescriptor = DESCRIPTORS && fails(function () {\n return nativeObjectCreate(nativeDefineProperty({}, 'a', {\n get: function () {\n return nativeDefineProperty(this, 'a', { value: 7 }).a;\n }\n })).a != 7;\n}) ? function (O, P, Attributes) {\n var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);\n if (ObjectPrototypeDescriptor)\n delete ObjectPrototype[P];\n nativeDefineProperty(O, P, Attributes);\n if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {\n nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);\n }\n} : nativeDefineProperty;\nvar wrap = function (tag, description) {\n var symbol = AllSymbols[tag] = nativeObjectCreate($Symbol[PROTOTYPE]);\n setInternalState(symbol, {\n type: SYMBOL,\n tag: tag,\n description: description\n });\n if (!DESCRIPTORS)\n symbol.description = description;\n return symbol;\n};\nvar isSymbol = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return Object(it) instanceof $Symbol;\n};\nvar $defineProperty = function defineProperty(O, P, Attributes) {\n if (O === ObjectPrototype)\n $defineProperty(ObjectPrototypeSymbols, P, Attributes);\n anObject(O);\n var key = toPrimitive(P, true);\n anObject(Attributes);\n if (has(AllSymbols, key)) {\n if (!Attributes.enumerable) {\n if (!has(O, HIDDEN))\n nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {}));\n O[HIDDEN][key] = true;\n } else {\n if (has(O, HIDDEN) && O[HIDDEN][key])\n O[HIDDEN][key] = false;\n Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });\n }\n return setSymbolDescriptor(O, key, Attributes);\n }\n return nativeDefineProperty(O, key, Attributes);\n};\nvar $defineProperties = function defineProperties(O, Properties) {\n anObject(O);\n var properties = toIndexedObject(Properties);\n var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));\n $forEach(keys, function (key) {\n if (!DESCRIPTORS || $propertyIsEnumerable.call(properties, key))\n $defineProperty(O, key, properties[key]);\n });\n return O;\n};\nvar $create = function create(O, Properties) {\n return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(V) {\n var P = toPrimitive(V, true);\n var enumerable = nativePropertyIsEnumerable.call(this, P);\n if (this === ObjectPrototype && has(AllSymbols, P) && !has(ObjectPrototypeSymbols, P))\n return false;\n return enumerable || !has(this, P) || !has(AllSymbols, P) || has(this, HIDDEN) && this[HIDDEN][P] ? enumerable : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {\n var it = toIndexedObject(O);\n var key = toPrimitive(P, true);\n if (it === ObjectPrototype && has(AllSymbols, key) && !has(ObjectPrototypeSymbols, key))\n return;\n var descriptor = nativeGetOwnPropertyDescriptor(it, key);\n if (descriptor && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) {\n descriptor.enumerable = true;\n }\n return descriptor;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(O) {\n var names = nativeGetOwnPropertyNames(toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (!has(AllSymbols, key) && !has(hiddenKeys, key))\n result.push(key);\n });\n return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(O) {\n var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;\n var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (has(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || has(ObjectPrototype, key))) {\n result.push(AllSymbols[key]);\n }\n });\n return result;\n};\nif (!NATIVE_SYMBOL) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol)\n throw TypeError('Symbol is not a constructor');\n var description = !arguments.length || arguments[0] === undefined ? undefined : String(arguments[0]);\n var tag = uid(description);\n var setter = function (value) {\n if (this === ObjectPrototype)\n setter.call(ObjectPrototypeSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag))\n this[HIDDEN][tag] = false;\n setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));\n };\n if (DESCRIPTORS && USE_SETTER)\n setSymbolDescriptor(ObjectPrototype, tag, {\n configurable: true,\n set: setter\n });\n return wrap(tag, description);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return getInternalState(this).tag;\n });\n redefine($Symbol, 'withoutSetter', function (description) {\n return wrap(uid(description), description);\n });\n propertyIsEnumerableModule.f = $propertyIsEnumerable;\n definePropertyModule.f = $defineProperty;\n getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;\n getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;\n getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;\n wrappedWellKnownSymbolModule.f = function (name) {\n return wrap(wellKnownSymbol(name), name);\n };\n if (DESCRIPTORS) {\n nativeDefineProperty($Symbol[PROTOTYPE], 'description', {\n configurable: true,\n get: function description() {\n return getInternalState(this).description;\n }\n });\n if (!IS_PURE) {\n redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });\n }\n }\n}\n$({\n global: true,\n wrap: true,\n forced: !NATIVE_SYMBOL,\n sham: !NATIVE_SYMBOL\n}, { Symbol: $Symbol });\n$forEach(objectKeys(WellKnownSymbolsStore), function (name) {\n defineWellKnownSymbol(name);\n});\n$({\n target: SYMBOL,\n stat: true,\n forced: !NATIVE_SYMBOL\n}, {\n 'for': function (key) {\n var string = String(key);\n if (has(StringToSymbolRegistry, string))\n return StringToSymbolRegistry[string];\n var symbol = $Symbol(string);\n StringToSymbolRegistry[string] = symbol;\n SymbolToStringRegistry[symbol] = string;\n return symbol;\n },\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym))\n throw TypeError(sym + ' is not a symbol');\n if (has(SymbolToStringRegistry, sym))\n return SymbolToStringRegistry[sym];\n },\n useSetter: function () {\n USE_SETTER = true;\n },\n useSimple: function () {\n USE_SETTER = false;\n }\n});\n$({\n target: 'Object',\n stat: true,\n forced: !NATIVE_SYMBOL,\n sham: !DESCRIPTORS\n}, {\n create: $create,\n defineProperty: $defineProperty,\n defineProperties: $defineProperties,\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor\n});\n$({\n target: 'Object',\n stat: true,\n forced: !NATIVE_SYMBOL\n}, {\n getOwnPropertyNames: $getOwnPropertyNames,\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n$({\n target: 'Object',\n stat: true,\n forced: fails(function () {\n getOwnPropertySymbolsModule.f(1);\n })\n}, {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n return getOwnPropertySymbolsModule.f(toObject(it));\n }\n});\nif ($stringify) {\n var FORCED_JSON_STRINGIFY = !NATIVE_SYMBOL || fails(function () {\n var symbol = $Symbol();\n return $stringify([symbol]) != '[null]' || $stringify({ a: symbol }) != '{}' || $stringify(Object(symbol)) != '{}';\n });\n $({\n target: 'JSON',\n stat: true,\n forced: FORCED_JSON_STRINGIFY\n }, {\n stringify: function stringify(it, replacer, space) {\n var args = [it];\n var index = 1;\n var $replacer;\n while (arguments.length > index)\n args.push(arguments[index++]);\n $replacer = replacer;\n if (!isObject(replacer) && it === undefined || isSymbol(it))\n return;\n if (!isArray(replacer))\n replacer = function (key, value) {\n if (typeof $replacer == 'function')\n value = $replacer.call(this, key, value);\n if (!isSymbol(value))\n return value;\n };\n args[1] = replacer;\n return $stringify.apply(null, args);\n }\n });\n}\nif (!$Symbol[PROTOTYPE][TO_PRIMITIVE]) {\n createNonEnumerableProperty($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n}\nsetToStringTag($Symbol, SYMBOL);\nhiddenKeys[HIDDEN] = true;\n\n/***/ }),\n/* 171 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar toIndexedObject = __w_pdfjs_require__(17);\nvar nativeGetOwnPropertyNames = __w_pdfjs_require__(44).f;\nvar toString = {}.toString;\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames ? Object.getOwnPropertyNames(window) : [];\nvar getWindowNames = function (it) {\n try {\n return nativeGetOwnPropertyNames(it);\n } catch (error) {\n return windowNames.slice();\n }\n};\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : nativeGetOwnPropertyNames(toIndexedObject(it));\n};\n\n/***/ }),\n/* 172 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nexports.f = wellKnownSymbol;\n\n/***/ }),\n/* 173 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar path = __w_pdfjs_require__(43);\nvar has = __w_pdfjs_require__(23);\nvar wrappedWellKnownSymbolModule = __w_pdfjs_require__(172);\nvar defineProperty = __w_pdfjs_require__(27).f;\nmodule.exports = function (NAME) {\n var Symbol = path.Symbol || (path.Symbol = {});\n if (!has(Symbol, NAME))\n defineProperty(Symbol, NAME, { value: wrappedWellKnownSymbolModule.f(NAME) });\n};\n\n/***/ }),\n/* 174 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(173);\ndefineWellKnownSymbol('asyncIterator');\n\n/***/ }),\n/* 175 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar global = __w_pdfjs_require__(11);\nvar has = __w_pdfjs_require__(23);\nvar isObject = __w_pdfjs_require__(22);\nvar defineProperty = __w_pdfjs_require__(27).f;\nvar copyConstructorProperties = __w_pdfjs_require__(40);\nvar NativeSymbol = global.Symbol;\nif (DESCRIPTORS && typeof NativeSymbol == 'function' && (!('description' in NativeSymbol.prototype) || NativeSymbol().description !== undefined)) {\n var EmptyStringDescriptionStore = {};\n var SymbolWrapper = function Symbol() {\n var description = arguments.length < 1 || arguments[0] === undefined ? undefined : String(arguments[0]);\n var result = this instanceof SymbolWrapper ? new NativeSymbol(description) : description === undefined ? NativeSymbol() : NativeSymbol(description);\n if (description === '')\n EmptyStringDescriptionStore[result] = true;\n return result;\n };\n copyConstructorProperties(SymbolWrapper, NativeSymbol);\n var symbolPrototype = SymbolWrapper.prototype = NativeSymbol.prototype;\n symbolPrototype.constructor = SymbolWrapper;\n var symbolToString = symbolPrototype.toString;\n var native = String(NativeSymbol('test')) == 'Symbol(test)';\n var regexp = /^Symbol\\((.*)\\)[^)]+$/;\n defineProperty(symbolPrototype, 'description', {\n configurable: true,\n get: function description() {\n var symbol = isObject(this) ? this.valueOf() : this;\n var string = symbolToString.call(symbol);\n if (has(EmptyStringDescriptionStore, symbol))\n return '';\n var desc = native ? string.slice(7, -1) : string.replace(regexp, '$1');\n return desc === '' ? undefined : desc;\n }\n });\n $({\n global: true,\n forced: true\n }, { Symbol: SymbolWrapper });\n}\n\n/***/ }),\n/* 176 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(173);\ndefineWellKnownSymbol('hasInstance');\n\n/***/ }),\n/* 177 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(173);\ndefineWellKnownSymbol('isConcatSpreadable');\n\n/***/ }),\n/* 178 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(173);\ndefineWellKnownSymbol('iterator');\n\n/***/ }),\n/* 179 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(173);\ndefineWellKnownSymbol('match');\n\n/***/ }),\n/* 180 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(173);\ndefineWellKnownSymbol('matchAll');\n\n/***/ }),\n/* 181 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(173);\ndefineWellKnownSymbol('replace');\n\n/***/ }),\n/* 182 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(173);\ndefineWellKnownSymbol('search');\n\n/***/ }),\n/* 183 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(173);\ndefineWellKnownSymbol('species');\n\n/***/ }),\n/* 184 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(173);\ndefineWellKnownSymbol('split');\n\n/***/ }),\n/* 185 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(173);\ndefineWellKnownSymbol('toPrimitive');\n\n/***/ }),\n/* 186 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(173);\ndefineWellKnownSymbol('toStringTag');\n\n/***/ }),\n/* 187 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(173);\ndefineWellKnownSymbol('unscopables');\n\n/***/ }),\n/* 188 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar setToStringTag = __w_pdfjs_require__(85);\nsetToStringTag(Math, 'Math', true);\n\n/***/ }),\n/* 189 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar setToStringTag = __w_pdfjs_require__(85);\nsetToStringTag(global.JSON, 'JSON', true);\n\n/***/ }),\n/* 190 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(191);\nvar entryUnbind = __w_pdfjs_require__(61);\nmodule.exports = entryUnbind('String', 'padStart');\n\n/***/ }),\n/* 191 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar $padStart = __w_pdfjs_require__(192).start;\nvar WEBKIT_BUG = __w_pdfjs_require__(194);\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/* 192 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar toLength = __w_pdfjs_require__(47);\nvar repeat = __w_pdfjs_require__(193);\nvar requireObjectCoercible = __w_pdfjs_require__(20);\nvar ceil = Math.ceil;\nvar createMethod = function (IS_END) {\n return function ($this, maxLength, fillString) {\n var S = String(requireObjectCoercible($this));\n var stringLength = S.length;\n var fillStr = fillString === undefined ? ' ' : String(fillString);\n var intMaxLength = toLength(maxLength);\n var fillLen, stringFiller;\n if (intMaxLength <= stringLength || fillStr == '')\n return S;\n fillLen = intMaxLength - stringLength;\n stringFiller = repeat.call(fillStr, ceil(fillLen / fillStr.length));\n if (stringFiller.length > fillLen)\n stringFiller = stringFiller.slice(0, fillLen);\n return IS_END ? S + stringFiller : stringFiller + S;\n };\n};\nmodule.exports = {\n start: createMethod(false),\n end: createMethod(true)\n};\n\n/***/ }),\n/* 193 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar toInteger = __w_pdfjs_require__(48);\nvar requireObjectCoercible = __w_pdfjs_require__(20);\nmodule.exports = ''.repeat || function repeat(count) {\n var str = String(requireObjectCoercible(this));\n var result = '';\n var n = toInteger(count);\n if (n < 0 || n == Infinity)\n throw RangeError('Wrong number of repetitions');\n for (; n > 0; (n >>>= 1) && (str += str))\n if (n & 1)\n result += str;\n return result;\n};\n\n/***/ }),\n/* 194 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar userAgent = __w_pdfjs_require__(129);\nmodule.exports = /Version\\/10\\.\\d+(\\.\\d+)?( Mobile\\/\\w+)? Safari\\//.test(userAgent);\n\n/***/ }),\n/* 195 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(196);\nvar entryUnbind = __w_pdfjs_require__(61);\nmodule.exports = entryUnbind('String', 'padEnd');\n\n/***/ }),\n/* 196 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar $padEnd = __w_pdfjs_require__(192).end;\nvar WEBKIT_BUG = __w_pdfjs_require__(194);\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/* 197 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(198);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Object.values;\n\n/***/ }),\n/* 198 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\nvar $values = __w_pdfjs_require__(199).values;\n$({\n target: 'Object',\n stat: true\n}, {\n values: function values(O) {\n return $values(O);\n }\n});\n\n/***/ }),\n/* 199 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar objectKeys = __w_pdfjs_require__(73);\nvar toIndexedObject = __w_pdfjs_require__(17);\nvar propertyIsEnumerable = __w_pdfjs_require__(15).f;\nvar createMethod = function (TO_ENTRIES) {\n return function (it) {\n var O = toIndexedObject(it);\n var keys = objectKeys(O);\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n while (length > i) {\n key = keys[i++];\n if (!DESCRIPTORS || propertyIsEnumerable.call(O, key)) {\n result.push(TO_ENTRIES ? [\n key,\n O[key]\n ] : O[key]);\n }\n }\n return result;\n };\n};\nmodule.exports = {\n entries: createMethod(true),\n values: createMethod(false)\n};\n\n/***/ }),\n/* 200 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(201);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Object.entries;\n\n/***/ }),\n/* 201 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\nvar $entries = __w_pdfjs_require__(199).entries;\n$({\n target: 'Object',\n stat: true\n}, {\n entries: function entries(O) {\n return $entries(O);\n }\n});\n\n/***/ }),\n/* 202 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getDocument = getDocument;\nexports.setPDFNetworkStreamFactory = setPDFNetworkStreamFactory;\nexports.build = exports.version = exports.PDFPageProxy = exports.PDFDocumentProxy = exports.PDFWorker = exports.PDFDataRangeTransport = exports.LoopbackPort = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _display_utils = __w_pdfjs_require__(1);\n\nvar _font_loader = __w_pdfjs_require__(203);\n\nvar _node_utils = __w_pdfjs_require__(204);\n\nvar _annotation_storage = __w_pdfjs_require__(205);\n\nvar _api_compatibility = __w_pdfjs_require__(206);\n\nvar _canvas = __w_pdfjs_require__(207);\n\nvar _worker_options = __w_pdfjs_require__(209);\n\nvar _is_node = __w_pdfjs_require__(7);\n\nvar _message_handler = __w_pdfjs_require__(210);\n\nvar _metadata = __w_pdfjs_require__(211);\n\nvar _optional_content_config = __w_pdfjs_require__(213);\n\nvar _transport_stream = __w_pdfjs_require__(214);\n\nvar _webgl = __w_pdfjs_require__(215);\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;\nvar DefaultCMapReaderFactory = _is_node.isNodeJS ? _node_utils.NodeCMapReaderFactory : _display_utils.DOMCMapReaderFactory;\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.6.347',\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: \"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: \"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: \"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: \"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 && 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.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\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 && 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 var transferable = transfers && transfers.includes(buffer);\n\n if (transferable) {\n result = new value.constructor(buffer, value.byteOffset, value.byteLength);\n } else {\n result = new value.constructor(value);\n }\n\n cloned.set(value, result);\n return result;\n }\n\n result = Array.isArray(value) ? [] : {};\n cloned.set(value, result);\n\n for (var i in value) {\n var desc = void 0,\n p = value;\n\n while (!(desc = Object.getOwnPropertyDescriptor(p, i))) {\n p = Object.getPrototypeOf(p);\n }\n\n if (typeof desc.value === \"undefined\") {\n continue;\n }\n\n if (typeof desc.value === \"function\") {\n if (value.hasOwnProperty && value.hasOwnProperty(i)) {\n throw new Error(\"LoopbackPort.postMessage - cannot clone: \".concat(value[i]));\n }\n\n continue;\n }\n\n result[i] = cloneValue(desc.value);\n }\n\n return result;\n }\n\n if (!this._defer) {\n this._listeners.forEach(function (listener) {\n listener.call(_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 pdfjsFilePath = document.currentScript && document.currentScript.src;\n\n if (pdfjsFilePath) {\n fallbackWorkerSrc = pdfjsFilePath.replace(/(\\.(?:min\\.)?js)(\\?.*)?$/i, \".worker$1$2\");\n }\n }\n\n function _getWorkerSrc() {\n if (_worker_options.GlobalWorkerOptions.workerSrc) {\n return _worker_options.GlobalWorkerOptions.workerSrc;\n }\n\n if (typeof fallbackWorkerSrc !== \"undefined\") {\n if (!_is_node.isNodeJS) {\n (0, _display_utils.deprecated)('No \"GlobalWorkerOptions.workerSrc\" specified.');\n }\n\n return fallbackWorkerSrc;\n }\n\n throw new Error('No \"GlobalWorkerOptions.workerSrc\" specified.');\n }\n\n function getMainThreadWorkerMessageHandler() {\n var mainWorkerMessageHandler;\n\n try {\n mainWorkerMessageHandler = globalThis.pdfjsWorker && globalThis.pdfjsWorker.WorkerMessageHandler;\n } catch (ex) {}\n\n return mainWorkerMessageHandler || null;\n }\n\n function setupFakeWorkerGlobal() {\n if (fakeWorkerCapability) {\n return fakeWorkerCapability.promise;\n }\n\n fakeWorkerCapability = (0, _util.createPromiseCapability)();\n\n var loader = /*#__PURE__*/function () {\n var _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 Promise.all(waitOn).then(function () {\n _this11.fontLoader.clear();\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 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.FontInspector && globalThis.FontInspector.enabled) {\n fontRegistry = {\n registerFont: function registerFont(font, url) {\n globalThis.FontInspector.fontAdded(font, url);\n }\n };\n }\n\n var font = new _font_loader.FontFaceObject(exportedData, {\n isEvalSupported: params.isEvalSupported,\n disableFontFace: params.disableFontFace,\n ignoreErrors: params.ignoreErrors,\n onUnsupportedFeature: _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 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 && \"data\" in imageData && imageData.data.length > MAX_IMAGE_SIZE_TO_STORE) {\n pageProxy.cleanupAfterRender = true;\n }\n\n break;\n\n default:\n throw new Error(\"Got unknown object type \".concat(type));\n }\n\n return undefined;\n });\n messageHandler.on(\"DocProgress\", function (data) {\n if (_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 return this.messageHandler.sendWithPromise(\"SaveDocument\", {\n numPages: this._numPages,\n annotationStorage: annotationStorage && annotationStorage.getAll() || null,\n filename: this._fullReader ? this._fullReader.filename : null\n })[\"finally\"](function () {\n if (annotationStorage) {\n annotationStorage.resetModified();\n }\n });\n }\n }, {\n key: \"getDestinations\",\n value: function getDestinations() {\n return this.messageHandler.sendWithPromise(\"GetDestinations\", null);\n }\n }, {\n key: \"getDestination\",\n value: function getDestination(id) {\n if (typeof id !== \"string\") {\n return Promise.reject(new Error(\"Invalid destination request.\"));\n }\n\n return this.messageHandler.sendWithPromise(\"GetDestination\", {\n id: id\n });\n }\n }, {\n key: \"getPageLabels\",\n value: function getPageLabels() {\n return this.messageHandler.sendWithPromise(\"GetPageLabels\", null);\n }\n }, {\n key: \"getPageLayout\",\n value: function getPageLayout() {\n return this.messageHandler.sendWithPromise(\"GetPageLayout\", null);\n }\n }, {\n key: \"getPageMode\",\n value: function getPageMode() {\n return this.messageHandler.sendWithPromise(\"GetPageMode\", null);\n }\n }, {\n key: \"getViewerPreferences\",\n value: function getViewerPreferences() {\n return this.messageHandler.sendWithPromise(\"GetViewerPreferences\", null);\n }\n }, {\n key: \"getOpenAction\",\n value: function getOpenAction() {\n return this.messageHandler.sendWithPromise(\"GetOpenAction\", null);\n }\n }, {\n key: \"getAttachments\",\n value: function getAttachments() {\n return this.messageHandler.sendWithPromise(\"GetAttachments\", null);\n }\n }, {\n key: \"getJavaScript\",\n value: function getJavaScript() {\n return this.messageHandler.sendWithPromise(\"GetJavaScript\", null);\n }\n }, {\n key: \"getOutline\",\n value: function getOutline() {\n return this.messageHandler.sendWithPromise(\"GetOutline\", null);\n }\n }, {\n key: \"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 return {\n info: results[0],\n metadata: results[1] ? new _metadata.Metadata(results[1]) : null,\n contentDispositionFilename: _this14._fullReader ? _this14._fullReader.filename : null\n };\n });\n }\n }, {\n key: \"getStats\",\n value: function getStats() {\n return this.messageHandler.sendWithPromise(\"GetStats\", null);\n }\n }, {\n key: \"startCleanup\",\n value: function startCleanup() {\n var _this15 = this;\n\n 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 }\n }, {\n key: \"loadingParams\",\n get: function get() {\n var params = this._params;\n return (0, _util.shadow)(this, \"loadingParams\", {\n disableAutoFetch: params.disableAutoFetch,\n disableFontFace: params.disableFontFace\n });\n }\n }]);\n\n return WorkerTransport;\n}();\n\nvar PDFObjects = /*#__PURE__*/function () {\n function PDFObjects() {\n _classCallCheck(this, PDFObjects);\n\n this._objs = Object.create(null);\n }\n\n _createClass(PDFObjects, [{\n key: \"_ensureObj\",\n value: function _ensureObj(objId) {\n if (this._objs[objId]) {\n return this._objs[objId];\n }\n\n return this._objs[objId] = {\n capability: (0, _util.createPromiseCapability)(),\n data: null,\n resolved: false\n };\n }\n }, {\n key: \"get\",\n value: function get(objId) {\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n if (callback) {\n this._ensureObj(objId).capability.promise.then(callback);\n\n return null;\n }\n\n var obj = this._objs[objId];\n\n if (!obj || !obj.resolved) {\n throw new Error(\"Requesting object that isn't resolved yet \".concat(objId, \".\"));\n }\n\n return obj.data;\n }\n }, {\n key: \"has\",\n value: function has(objId) {\n var obj = this._objs[objId];\n return obj ? obj.resolved : false;\n }\n }, {\n key: \"resolve\",\n value: function resolve(objId, data) {\n var obj = this._ensureObj(objId);\n\n obj.resolved = true;\n obj.data = data;\n obj.capability.resolve(data);\n }\n }, {\n key: \"clear\",\n value: function clear() {\n this._objs = Object.create(null);\n }\n }]);\n\n return PDFObjects;\n}();\n\nvar RenderTask = /*#__PURE__*/function () {\n function RenderTask(internalRenderTask) {\n _classCallCheck(this, RenderTask);\n\n this._internalRenderTask = internalRenderTask;\n this.onContinue = null;\n }\n\n _createClass(RenderTask, [{\n key: \"cancel\",\n value: function cancel() {\n this._internalRenderTask.cancel();\n }\n }, {\n key: \"promise\",\n get: function get() {\n return this._internalRenderTask.capability.promise;\n }\n }]);\n\n return RenderTask;\n}();\n\nvar InternalRenderTask = function InternalRenderTaskClosure() {\n var canvasInRendering = new WeakSet();\n\n var InternalRenderTask = /*#__PURE__*/function () {\n function InternalRenderTask(_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 _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.StepperManager && globalThis.StepperManager.enabled) {\n this.stepper = globalThis.StepperManager.create(this._pageIndex);\n this.stepper.init(this.operatorList);\n this.stepper.nextBreakPoint = this.stepper.getNextBreakPoint();\n }\n\n var _this$params = this.params,\n canvasContext = _this$params.canvasContext,\n viewport = _this$params.viewport,\n transform = _this$params.transform,\n imageLayer = _this$params.imageLayer,\n background = _this$params.background;\n this.gfx = new _canvas.CanvasGraphics(canvasContext, this.commonObjs, this.objs, this.canvasFactory, this.webGLContext, imageLayer, 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.6.347';\nexports.version = version;\nvar build = '3be9c65f';\nexports.build = build;\n\n/***/ }),\n/* 203 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.FontLoader = exports.FontFaceObject = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar BaseFontLoader = /*#__PURE__*/function () {\n function BaseFontLoader(_ref) {\n var docId = _ref.docId,\n onUnsupportedFeature = _ref.onUnsupportedFeature,\n _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 supported = typeof this._document !== \"undefined\" && !!this._document.fonts;\n return (0, _util.shadow)(this, \"isFontLoadingAPISupported\", supported);\n }\n }, {\n key: \"isSyncFontLoadingSupported\",\n get: function get() {\n (0, _util.unreachable)(\"Abstract method `isSyncFontLoadingSupported`.\");\n }\n }, {\n key: \"_loadTestFont\",\n get: function get() {\n (0, _util.unreachable)(\"Abstract method `_loadTestFont`.\");\n }\n }]);\n\n return BaseFontLoader;\n}();\n\nvar FontLoader;\nexports.FontLoader = FontLoader;\n{\n exports.FontLoader = FontLoader = /*#__PURE__*/function (_BaseFontLoader) {\n _inherits(GenericFontLoader, _BaseFontLoader);\n\n var _super = _createSuper(GenericFontLoader);\n\n function GenericFontLoader(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 && 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/* 204 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\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__(7);\n\nvar _util = __w_pdfjs_require__(5);\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 _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/* 205 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.AnnotationStorage = void 0;\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar 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 if (this._storage.get(key) !== value) {\n this._setModified();\n }\n\n this._storage.set(key, value);\n }\n }, {\n key: \"getAll\",\n value: function getAll() {\n if (this._storage.size === 0) {\n return null;\n }\n\n return Object.fromEntries(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/* 206 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.apiCompatibilityParams = void 0;\n\nvar _is_node = __w_pdfjs_require__(7);\n\nvar compatibilityParams = Object.create(null);\n{\n (function checkFontFace() {\n if (_is_node.isNodeJS) {\n compatibilityParams.disableFontFace = true;\n }\n })();\n}\nvar apiCompatibilityParams = Object.freeze(compatibilityParams);\nexports.apiCompatibilityParams = apiCompatibilityParams;\n\n/***/ }),\n/* 207 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CanvasGraphics = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _pattern_helper = __w_pdfjs_require__(208);\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nvar MIN_FONT_SIZE = 16;\nvar MAX_FONT_SIZE = 100;\nvar MAX_GROUP_SIZE = 4096;\nvar MIN_WIDTH_FACTOR = 0.65;\nvar COMPILE_TYPE3_GLYPHS = true;\nvar MAX_SIZE_TO_COMPILE = 1000;\nvar FULL_CHUNK_HEIGHT = 16;\n\nfunction addContextCurrentTransform(ctx) {\n if (!ctx.mozCurrentTransform) {\n ctx._originalSave = ctx.save;\n ctx._originalRestore = ctx.restore;\n ctx._originalRotate = ctx.rotate;\n ctx._originalScale = ctx.scale;\n ctx._originalTranslate = ctx.translate;\n ctx._originalTransform = ctx.transform;\n ctx._originalSetTransform = ctx.setTransform;\n ctx._transformMatrix = ctx._transformMatrix || [1, 0, 0, 1, 0, 0];\n ctx._transformStack = [];\n Object.defineProperty(ctx, \"mozCurrentTransform\", {\n get: function getCurrentTransform() {\n return this._transformMatrix;\n }\n });\n Object.defineProperty(ctx, \"mozCurrentTransformInverse\", {\n get: function getCurrentTransformInverse() {\n var m = this._transformMatrix;\n var a = m[0],\n b = m[1],\n c = m[2],\n d = m[3],\n e = m[4],\n f = m[5];\n var ad_bc = a * d - b * c;\n var bc_ad = b * c - a * d;\n return [d / ad_bc, b / bc_ad, c / bc_ad, a / ad_bc, (d * e - c * f) / bc_ad, (b * e - a * f) / ad_bc];\n }\n });\n\n ctx.save = function ctxSave() {\n var old = this._transformMatrix;\n\n this._transformStack.push(old);\n\n this._transformMatrix = old.slice(0, 6);\n\n this._originalSave();\n };\n\n ctx.restore = function ctxRestore() {\n var prev = this._transformStack.pop();\n\n if (prev) {\n this._transformMatrix = prev;\n\n this._originalRestore();\n }\n };\n\n ctx.translate = function ctxTranslate(x, y) {\n var m = this._transformMatrix;\n m[4] = m[0] * x + m[2] * y + m[4];\n m[5] = m[1] * x + m[3] * y + m[5];\n\n this._originalTranslate(x, y);\n };\n\n ctx.scale = function ctxScale(x, y) {\n var m = this._transformMatrix;\n m[0] = m[0] * x;\n m[1] = m[1] * x;\n m[2] = m[2] * y;\n m[3] = m[3] * y;\n\n this._originalScale(x, y);\n };\n\n ctx.transform = function ctxTransform(a, b, c, d, e, f) {\n var m = this._transformMatrix;\n this._transformMatrix = [m[0] * a + m[2] * b, m[1] * a + m[3] * b, m[0] * c + m[2] * d, m[1] * c + m[3] * d, m[0] * e + m[2] * f + m[4], m[1] * e + m[3] * f + m[5]];\n\n ctx._originalTransform(a, b, c, d, e, f);\n };\n\n ctx.setTransform = function ctxSetTransform(a, b, c, d, e, f) {\n this._transformMatrix = [a, b, c, d, e, f];\n\n ctx._originalSetTransform(a, b, c, d, e, f);\n };\n\n ctx.rotate = function ctxRotate(angle) {\n var cosValue = Math.cos(angle);\n var sinValue = Math.sin(angle);\n var m = this._transformMatrix;\n this._transformMatrix = [m[0] * cosValue + m[2] * sinValue, m[1] * cosValue + m[3] * sinValue, m[0] * -sinValue + m[2] * cosValue, m[1] * -sinValue + m[3] * cosValue, m[4], m[5]];\n\n this._originalRotate(angle);\n };\n }\n}\n\nvar CachedCanvases = function CachedCanvasesClosure() {\n function CachedCanvases(canvasFactory) {\n this.canvasFactory = canvasFactory;\n this.cache = Object.create(null);\n }\n\n CachedCanvases.prototype = {\n getCanvas: function CachedCanvases_getCanvas(id, width, height, trackTransform) {\n var canvasEntry;\n\n if (this.cache[id] !== undefined) {\n canvasEntry = this.cache[id];\n this.canvasFactory.reset(canvasEntry, width, height);\n canvasEntry.context.setTransform(1, 0, 0, 1, 0, 0);\n } else {\n canvasEntry = this.canvasFactory.create(width, height);\n this.cache[id] = canvasEntry;\n }\n\n if (trackTransform) {\n addContextCurrentTransform(canvasEntry.context);\n }\n\n return canvasEntry;\n },\n clear: function clear() {\n for (var id in this.cache) {\n var canvasEntry = this.cache[id];\n this.canvasFactory.destroy(canvasEntry);\n delete this.cache[id];\n }\n }\n };\n return CachedCanvases;\n}();\n\nfunction compileType3Glyph(imgData) {\n var POINT_TO_PROCESS_LIMIT = 1000;\n var width = imgData.width,\n height = imgData.height;\n var i,\n j,\n j0,\n width1 = width + 1;\n var points = new Uint8Array(width1 * (height + 1));\n var POINT_TYPES = new Uint8Array([0, 2, 4, 0, 1, 0, 5, 4, 8, 10, 0, 8, 0, 2, 1, 0]);\n var lineSize = width + 7 & ~7,\n data0 = imgData.data;\n var data = new Uint8Array(lineSize * height),\n pos = 0,\n ii;\n\n for (i = 0, ii = data0.length; i < ii; i++) {\n var mask = 128,\n elem = data0[i];\n\n while (mask > 0) {\n data[pos++] = elem & mask ? 0 : 255;\n mask >>= 1;\n }\n }\n\n var count = 0;\n pos = 0;\n\n if (data[pos] !== 0) {\n points[0] = 1;\n ++count;\n }\n\n for (j = 1; j < width; j++) {\n if (data[pos] !== data[pos + 1]) {\n points[j] = data[pos] ? 2 : 1;\n ++count;\n }\n\n pos++;\n }\n\n if (data[pos] !== 0) {\n points[j] = 2;\n ++count;\n }\n\n for (i = 1; i < height; i++) {\n pos = i * lineSize;\n j0 = i * width1;\n\n if (data[pos - lineSize] !== data[pos]) {\n points[j0] = data[pos] ? 1 : 8;\n ++count;\n }\n\n var sum = (data[pos] ? 4 : 0) + (data[pos - lineSize] ? 8 : 0);\n\n for (j = 1; j < width; j++) {\n sum = (sum >> 2) + (data[pos + 1] ? 4 : 0) + (data[pos - lineSize + 1] ? 8 : 0);\n\n if (POINT_TYPES[sum]) {\n points[j0 + j] = POINT_TYPES[sum];\n ++count;\n }\n\n pos++;\n }\n\n if (data[pos - lineSize] !== data[pos]) {\n points[j0 + j] = data[pos] ? 2 : 4;\n ++count;\n }\n\n if (count > POINT_TO_PROCESS_LIMIT) {\n return null;\n }\n }\n\n pos = lineSize * (height - 1);\n j0 = i * width1;\n\n if (data[pos] !== 0) {\n points[j0] = 8;\n ++count;\n }\n\n for (j = 1; j < width; j++) {\n if (data[pos] !== data[pos + 1]) {\n points[j0 + j] = data[pos] ? 4 : 8;\n ++count;\n }\n\n pos++;\n }\n\n if (data[pos] !== 0) {\n points[j0 + j] = 4;\n ++count;\n }\n\n if (count > POINT_TO_PROCESS_LIMIT) {\n return null;\n }\n\n var steps = new Int32Array([0, width1, -1, 0, -width1, 0, 0, 0, 1]);\n var outlines = [];\n\n for (i = 0; count && i <= height; i++) {\n var p = i * width1;\n var end = p + width;\n\n while (p < end && !points[p]) {\n p++;\n }\n\n if (p === end) {\n continue;\n }\n\n var coords = [p % width1, i];\n var type = points[p],\n p0 = p,\n pp;\n\n do {\n var step = steps[type];\n\n do {\n p += step;\n } while (!points[p]);\n\n pp = points[p];\n\n if (pp !== 5 && pp !== 10) {\n type = pp;\n points[p] = 0;\n } else {\n type = pp & 0x33 * type >> 4;\n points[p] &= type >> 2 | type << 2;\n }\n\n coords.push(p % width1);\n coords.push(p / width1 | 0);\n\n if (!points[p]) {\n --count;\n }\n } while (p0 !== p);\n\n outlines.push(coords);\n --i;\n }\n\n var drawOutline = function drawOutline(c) {\n c.save();\n c.scale(1 / width, -1 / height);\n c.translate(0, -height);\n c.beginPath();\n\n for (var k = 0, kk = outlines.length; k < kk; k++) {\n var o = outlines[k];\n c.moveTo(o[0], o[1]);\n\n for (var l = 2, ll = o.length; l < ll; l += 2) {\n c.lineTo(o[l], o[l + 1]);\n }\n }\n\n c.fill();\n c.beginPath();\n c.restore();\n };\n\n return drawOutline;\n}\n\nvar CanvasExtraState = function CanvasExtraStateClosure() {\n function CanvasExtraState() {\n this.alphaIsShape = false;\n this.fontSize = 0;\n this.fontSizeScale = 1;\n this.textMatrix = _util.IDENTITY_MATRIX;\n this.textMatrixScale = 1;\n this.fontMatrix = _util.FONT_IDENTITY_MATRIX;\n this.leading = 0;\n this.x = 0;\n this.y = 0;\n this.lineX = 0;\n this.lineY = 0;\n this.charSpacing = 0;\n this.wordSpacing = 0;\n this.textHScale = 1;\n this.textRenderingMode = _util.TextRenderingMode.FILL;\n this.textRise = 0;\n this.fillColor = \"#000000\";\n this.strokeColor = \"#000000\";\n this.patternFill = false;\n this.fillAlpha = 1;\n this.strokeAlpha = 1;\n this.lineWidth = 1;\n this.activeSMask = null;\n this.resumeSMaskCtx = null;\n 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 mask = 0;\n\n for (var k = 0; k < width; k++) {\n if (!mask) {\n var elem = src[srcPos++];\n mask = 128;\n }\n\n dest[destPos] = elem & mask ? 0 : 255;\n destPos += 4;\n mask >>= 1;\n }\n }\n\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n }\n\n function copyCtxState(sourceCtx, destCtx) {\n var properties = [\"strokeStyle\", \"fillStyle\", \"fillRule\", \"globalAlpha\", \"lineWidth\", \"lineCap\", \"lineJoin\", \"miterLimit\", \"globalCompositeOperation\", \"font\"];\n\n for (var i = 0, ii = properties.length; i < ii; i++) {\n var property = properties[i];\n\n if (sourceCtx[property] !== undefined) {\n destCtx[property] = sourceCtx[property];\n }\n }\n\n if (sourceCtx.setLineDash !== undefined) {\n destCtx.setLineDash(sourceCtx.getLineDash());\n destCtx.lineDashOffset = sourceCtx.lineDashOffset;\n }\n }\n\n function resetCtxToDefault(ctx) {\n ctx.strokeStyle = \"#000000\";\n ctx.fillStyle = \"#000000\";\n ctx.fillRule = \"nonzero\";\n ctx.globalAlpha = 1;\n ctx.lineWidth = 1;\n ctx.lineCap = \"butt\";\n ctx.lineJoin = \"miter\";\n ctx.miterLimit = 10;\n ctx.globalCompositeOperation = \"source-over\";\n ctx.font = \"10px sans-serif\";\n\n if (ctx.setLineDash !== undefined) {\n ctx.setLineDash([]);\n ctx.lineDashOffset = 0;\n }\n }\n\n function composeSMaskBackdrop(bytes, r0, g0, b0) {\n var length = bytes.length;\n\n for (var i = 3; i < length; i += 4) {\n var alpha = bytes[i];\n\n if (alpha === 0) {\n bytes[i - 3] = r0;\n bytes[i - 2] = g0;\n bytes[i - 1] = b0;\n } else if (alpha < 255) {\n var alpha_ = 255 - alpha;\n bytes[i - 3] = bytes[i - 3] * alpha + r0 * alpha_ >> 8;\n bytes[i - 2] = bytes[i - 2] * alpha + g0 * alpha_ >> 8;\n bytes[i - 1] = bytes[i - 1] * alpha + b0 * alpha_ >> 8;\n }\n }\n }\n\n function composeSMaskAlpha(maskData, layerData, transferMap) {\n var length = maskData.length;\n var scale = 1 / 255;\n\n for (var i = 3; i < length; i += 4) {\n var alpha = transferMap ? transferMap[maskData[i]] : maskData[i];\n layerData[i] = layerData[i] * alpha * scale | 0;\n }\n }\n\n function composeSMaskLuminosity(maskData, layerData, transferMap) {\n var length = maskData.length;\n\n for (var i = 3; i < length; i += 4) {\n var y = maskData[i - 3] * 77 + maskData[i - 2] * 152 + maskData[i - 1] * 28;\n layerData[i] = transferMap ? layerData[i] * transferMap[y >> 8] >> 8 : layerData[i] * y >> 16;\n }\n }\n\n function genericComposeSMask(maskCtx, layerCtx, width, height, subtype, backdrop, transferMap) {\n var hasBackdrop = !!backdrop;\n var r0 = hasBackdrop ? backdrop[0] : 0;\n var g0 = hasBackdrop ? backdrop[1] : 0;\n var b0 = hasBackdrop ? backdrop[2] : 0;\n var composeFn;\n\n if (subtype === \"Luminosity\") {\n composeFn = composeSMaskLuminosity;\n } else {\n composeFn = composeSMaskAlpha;\n }\n\n var PIXELS_TO_PROCESS = 1048576;\n var chunkSize = Math.min(height, Math.ceil(PIXELS_TO_PROCESS / width));\n\n for (var row = 0; row < height; row += chunkSize) {\n var chunkHeight = Math.min(chunkSize, height - row);\n var maskData = maskCtx.getImageData(0, row, width, chunkHeight);\n var layerData = layerCtx.getImageData(0, row, width, chunkHeight);\n\n if (hasBackdrop) {\n composeSMaskBackdrop(maskData.data, r0, g0, b0);\n }\n\n composeFn(maskData.data, layerData.data, transferMap);\n maskCtx.putImageData(layerData, 0, row);\n }\n }\n\n function composeSMask(ctx, smask, layerCtx, webGLContext) {\n var mask = smask.canvas;\n var maskCtx = smask.context;\n ctx.setTransform(smask.scaleX, 0, 0, smask.scaleY, smask.offsetX, smask.offsetY);\n var backdrop = smask.backdrop || null;\n\n if (!smask.transferMap && webGLContext.isEnabled) {\n var composed = webGLContext.composeSMask({\n layer: layerCtx.canvas,\n mask: mask,\n properties: {\n subtype: smask.subtype,\n backdrop: backdrop\n }\n });\n ctx.setTransform(1, 0, 0, 1, 0, 0);\n ctx.drawImage(composed, smask.offsetX, smask.offsetY);\n return;\n }\n\n genericComposeSMask(maskCtx, layerCtx, mask.width, mask.height, smask.subtype, backdrop, smask.transferMap);\n ctx.drawImage(mask, 0, 0);\n }\n\n var LINE_CAP_STYLES = [\"butt\", \"round\", \"square\"];\n var LINE_JOIN_STYLES = [\"miter\", \"round\", \"bevel\"];\n var NORMAL_CLIP = {};\n var EO_CLIP = {};\n CanvasGraphics.prototype = {\n beginDrawing: function beginDrawing(_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\n if (this.imageLayer) {\n this.imageLayer.beginLayout();\n }\n },\n executeOperatorList: function CanvasGraphics_executeOperatorList(operatorList, executionStartIdx, continueCallback, stepper) {\n var argsArray = operatorList.argsArray;\n var fnArray = operatorList.fnArray;\n var i = executionStartIdx || 0;\n var argsArrayLen = argsArray.length;\n\n if (argsArrayLen === i) {\n return i;\n }\n\n var chunkOperations = argsArrayLen - i > EXECUTION_STEPS && typeof continueCallback === \"function\";\n var endTime = chunkOperations ? Date.now() + EXECUTION_TIME : 0;\n var steps = 0;\n var commonObjs = this.commonObjs;\n var objs = this.objs;\n var fnId;\n\n while (true) {\n if (stepper !== undefined && i === stepper.nextBreakPoint) {\n stepper.breakIt(i, continueCallback);\n return i;\n }\n\n fnId = fnArray[i];\n\n if (fnId !== _util.OPS.dependency) {\n this[fnId].apply(this, argsArray[i]);\n } else {\n var _iterator = _createForOfIteratorHelper(argsArray[i]),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var depObjId = _step.value;\n var objsPool = depObjId.startsWith(\"g_\") ? commonObjs : objs;\n\n if (!objsPool.has(depObjId)) {\n objsPool.get(depObjId, continueCallback);\n return i;\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n }\n\n i++;\n\n if (i === argsArrayLen) {\n return i;\n }\n\n if (chunkOperations && ++steps > EXECUTION_STEPS) {\n if (Date.now() > endTime) {\n continueCallback();\n return i;\n }\n\n steps = 0;\n }\n }\n },\n endDrawing: function CanvasGraphics_endDrawing() {\n if (this.current.activeSMask !== null) {\n this.endSMaskGroup();\n }\n\n this.ctx.restore();\n\n if (this.transparentCanvas) {\n this.ctx = this.compositeCtx;\n this.ctx.save();\n this.ctx.setTransform(1, 0, 0, 1, 0, 0);\n this.ctx.drawImage(this.transparentCanvas, 0, 0);\n this.ctx.restore();\n this.transparentCanvas = null;\n }\n\n this.cachedCanvases.clear();\n this.webGLContext.clear();\n\n if (this.imageLayer) {\n this.imageLayer.endLayout();\n }\n },\n setLineWidth: function CanvasGraphics_setLineWidth(width) {\n this.current.lineWidth = width;\n this.ctx.lineWidth = width;\n },\n setLineCap: function CanvasGraphics_setLineCap(style) {\n this.ctx.lineCap = LINE_CAP_STYLES[style];\n },\n setLineJoin: function CanvasGraphics_setLineJoin(style) {\n this.ctx.lineJoin = LINE_JOIN_STYLES[style];\n },\n setMiterLimit: function CanvasGraphics_setMiterLimit(limit) {\n this.ctx.miterLimit = limit;\n },\n setDash: function CanvasGraphics_setDash(dashArray, dashPhase) {\n var ctx = this.ctx;\n\n if (ctx.setLineDash !== undefined) {\n ctx.setLineDash(dashArray);\n ctx.lineDashOffset = dashPhase;\n }\n },\n setRenderingIntent: function setRenderingIntent(intent) {},\n setFlatness: function setFlatness(flatness) {},\n setGState: function CanvasGraphics_setGState(states) {\n for (var i = 0, ii = states.length; i < ii; i++) {\n var state = states[i];\n var key = state[0];\n var value = state[1];\n\n switch (key) {\n case \"LW\":\n this.setLineWidth(value);\n break;\n\n case \"LC\":\n this.setLineCap(value);\n break;\n\n case \"LJ\":\n this.setLineJoin(value);\n break;\n\n case \"ML\":\n this.setMiterLimit(value);\n break;\n\n case \"D\":\n this.setDash(value[0], value[1]);\n break;\n\n case \"RI\":\n this.setRenderingIntent(value);\n break;\n\n case \"FL\":\n this.setFlatness(value);\n break;\n\n case \"Font\":\n this.setFont(value[0], value[1]);\n break;\n\n case \"CA\":\n this.current.strokeAlpha = state[1];\n break;\n\n case \"ca\":\n this.current.fillAlpha = state[1];\n this.ctx.globalAlpha = state[1];\n break;\n\n case \"BM\":\n this.ctx.globalCompositeOperation = value;\n break;\n\n case \"SMask\":\n if (this.current.activeSMask) {\n if (this.stateStack.length > 0 && this.stateStack[this.stateStack.length - 1].activeSMask === this.current.activeSMask) {\n this.suspendSMaskGroup();\n } else {\n this.endSMaskGroup();\n }\n }\n\n this.current.activeSMask = value ? this.tempSMask : null;\n\n if (this.current.activeSMask) {\n this.beginSMaskGroup();\n }\n\n this.tempSMask = null;\n break;\n\n 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_endSMaskGroup() {\n var groupCtx = this.current.resumeSMaskCtx;\n var currentCtx = this.ctx;\n this.ctx = groupCtx;\n this.groupStack.push(currentCtx);\n this.groupLevel++;\n },\n endSMaskGroup: function CanvasGraphics_endSMaskGroup() {\n var groupCtx = this.ctx;\n this.groupLevel--;\n this.ctx = this.groupStack.pop();\n composeSMask(this.ctx, this.current.activeSMask, groupCtx, this.webGLContext);\n this.ctx.restore();\n copyCtxState(groupCtx, this.ctx);\n\n var deltaTransform = _util.Util.transform(this.current.activeSMask.startTransformInverse, groupCtx.mozCurrentTransform);\n\n this.ctx.transform.apply(this.ctx, deltaTransform);\n },\n save: function CanvasGraphics_save() {\n this.ctx.save();\n var old = this.current;\n this.stateStack.push(old);\n this.current = old.clone();\n this.current.resumeSMaskCtx = null;\n },\n restore: function CanvasGraphics_restore() {\n if (this.current.resumeSMaskCtx) {\n this.resumeSMaskGroup();\n }\n\n if (this.current.activeSMask !== null && (this.stateStack.length === 0 || this.stateStack[this.stateStack.length - 1].activeSMask !== this.current.activeSMask)) {\n this.endSMaskGroup();\n }\n\n if (this.stateStack.length !== 0) {\n this.current = this.stateStack.pop();\n this.ctx.restore();\n this.pendingClip = null;\n this._cachedGetSinglePixelWidth = null;\n }\n },\n transform: function CanvasGraphics_transform(a, b, c, d, e, f) {\n this.ctx.transform(a, b, c, d, e, f);\n this._cachedGetSinglePixelWidth = null;\n },\n constructPath: function CanvasGraphics_constructPath(ops, args) {\n var ctx = this.ctx;\n var current = this.current;\n var x = current.x,\n y = current.y;\n\n for (var i = 0, j = 0, ii = ops.length; i < ii; i++) {\n switch (ops[i] | 0) {\n case _util.OPS.rectangle:\n x = args[j++];\n y = args[j++];\n var width = args[j++];\n var height = args[j++];\n\n if (width === 0 && ctx.lineWidth < this.getSinglePixelWidth()) {\n width = this.getSinglePixelWidth();\n }\n\n if (height === 0 && ctx.lineWidth < this.getSinglePixelWidth()) {\n height = this.getSinglePixelWidth();\n }\n\n var xw = x + width;\n var yh = y + height;\n ctx.moveTo(x, y);\n ctx.lineTo(xw, y);\n ctx.lineTo(xw, yh);\n ctx.lineTo(x, yh);\n ctx.lineTo(x, y);\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 (strokeColor && strokeColor.hasOwnProperty(\"type\") && strokeColor.type === \"Pattern\") {\n ctx.save();\n var transform = ctx.mozCurrentTransform;\n\n var scale = _util.Util.singularValueDecompose2dScale(transform)[0];\n\n ctx.strokeStyle = strokeColor.getPattern(ctx, this);\n ctx.lineWidth = Math.max(this.getSinglePixelWidth() * MIN_WIDTH_FACTOR, this.current.lineWidth * scale);\n ctx.stroke();\n ctx.restore();\n } else {\n ctx.lineWidth = Math.max(this.getSinglePixelWidth() * MIN_WIDTH_FACTOR, this.current.lineWidth);\n ctx.stroke();\n }\n }\n\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 ? fontObj.fontMatrix : _util.FONT_IDENTITY_MATRIX;\n\n if (current.fontMatrix[0] === 0 || current.fontMatrix[3] === 0) {\n (0, _util.warn)(\"Invalid font matrix for font \" + fontRefName);\n }\n\n if (size < 0) {\n size = -size;\n current.fontDirection = -1;\n } else {\n current.fontDirection = 1;\n }\n\n this.current.font = fontObj;\n this.current.fontSize = size;\n\n if (fontObj.isType3Font) {\n return;\n }\n\n var name = fontObj.loadedName || \"sans-serif\";\n var bold = \"normal\";\n\n if (fontObj.black) {\n bold = \"900\";\n } else if (fontObj.bold) {\n bold = \"bold\";\n }\n\n var italic = fontObj.italic ? \"italic\" : \"normal\";\n var typeface = \"\\\"\".concat(name, \"\\\", \").concat(fontObj.fallbackName);\n var browserFontSize = size;\n\n if (size < MIN_FONT_SIZE) {\n browserFontSize = MIN_FONT_SIZE;\n } else if (size > MAX_FONT_SIZE) {\n browserFontSize = MAX_FONT_SIZE;\n }\n\n this.current.fontSizeScale = size / browserFontSize;\n this.ctx.font = \"\".concat(italic, \" \").concat(bold, \" \").concat(browserFontSize, \"px \").concat(typeface);\n },\n setTextRenderingMode: function CanvasGraphics_setTextRenderingMode(mode) {\n this.current.textRenderingMode = mode;\n },\n setTextRise: function CanvasGraphics_setTextRise(rise) {\n this.current.textRise = rise;\n },\n moveText: function CanvasGraphics_moveText(x, y) {\n this.current.x = this.current.lineX += x;\n this.current.y = this.current.lineY += y;\n },\n setLeadingMoveText: function CanvasGraphics_setLeadingMoveText(x, y) {\n this.setLeading(-y);\n this.moveText(x, y);\n },\n setTextMatrix: function CanvasGraphics_setTextMatrix(a, b, c, d, e, f) {\n this.current.textMatrix = [a, b, c, d, e, f];\n this.current.textMatrixScale = Math.sqrt(a * a + b * b);\n this.current.x = this.current.lineX = 0;\n this.current.y = this.current.lineY = 0;\n },\n nextLine: function CanvasGraphics_nextLine() {\n this.moveText(0, this.current.leading);\n },\n paintChar: function paintChar(character, x, y, patternTransform) {\n var ctx = this.ctx;\n var current = this.current;\n var font = current.font;\n var textRenderingMode = current.textRenderingMode;\n var fontSize = current.fontSize / current.fontSizeScale;\n var fillStrokeMode = textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n var isAddToPathSet = !!(textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG);\n var patternFill = current.patternFill && !font.missingFile;\n var addToPath;\n\n if (font.disableFontFace || isAddToPathSet || patternFill) {\n addToPath = font.getPathGenerator(this.commonObjs, character);\n }\n\n if (font.disableFontFace || patternFill) {\n ctx.save();\n ctx.translate(x, y);\n ctx.beginPath();\n addToPath(ctx, fontSize);\n\n if (patternTransform) {\n ctx.setTransform.apply(ctx, patternTransform);\n }\n\n if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.fill();\n }\n\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.stroke();\n }\n\n ctx.restore();\n } else {\n if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.fillText(character, x, y);\n }\n\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.strokeText(character, x, y);\n }\n }\n\n if (isAddToPathSet) {\n var paths = this.pendingTextPaths || (this.pendingTextPaths = []);\n paths.push({\n transform: ctx.mozCurrentTransform,\n x: x,\n y: y,\n fontSize: fontSize,\n addToPath: addToPath\n });\n }\n },\n\n get isFontSubpixelAAEnabled() {\n var _this$cachedCanvases$ = this.cachedCanvases.getCanvas(\"isFontSubpixelAAEnabled\", 10, 10),\n ctx = _this$cachedCanvases$.context;\n\n ctx.scale(1.5, 1);\n ctx.fillText(\"I\", 0, 10);\n var data = ctx.getImageData(0, 0, 10, 10).data;\n var enabled = false;\n\n for (var i = 3; i < data.length; i += 4) {\n if (data[i] > 0 && data[i] < 255) {\n enabled = true;\n break;\n }\n }\n\n return (0, _util.shadow)(this, \"isFontSubpixelAAEnabled\", enabled);\n },\n\n showText: function CanvasGraphics_showText(glyphs) {\n var current = this.current;\n var font = current.font;\n\n if (font.isType3Font) {\n return this.showType3Text(glyphs);\n }\n\n var fontSize = current.fontSize;\n\n if (fontSize === 0) {\n return undefined;\n }\n\n var ctx = this.ctx;\n var fontSizeScale = current.fontSizeScale;\n var charSpacing = current.charSpacing;\n var wordSpacing = current.wordSpacing;\n var fontDirection = current.fontDirection;\n var textHScale = current.textHScale * fontDirection;\n var glyphsLength = glyphs.length;\n var vertical = font.vertical;\n var spacingDir = vertical ? 1 : -1;\n var defaultVMetrics = font.defaultVMetrics;\n var widthAdvanceScale = fontSize * current.fontMatrix[0];\n var simpleFillText = current.textRenderingMode === _util.TextRenderingMode.FILL && !font.disableFontFace && !current.patternFill;\n ctx.save();\n var patternTransform;\n\n if (current.patternFill) {\n ctx.save();\n var pattern = current.fillColor.getPattern(ctx, this);\n patternTransform = ctx.mozCurrentTransform;\n ctx.restore();\n ctx.fillStyle = pattern;\n }\n\n ctx.transform.apply(ctx, current.textMatrix);\n ctx.translate(current.x, current.y + current.textRise);\n\n if (fontDirection > 0) {\n ctx.scale(textHScale, -1);\n } else {\n ctx.scale(textHScale, 1);\n }\n\n var lineWidth = current.lineWidth;\n var scale = current.textMatrixScale;\n\n if (scale === 0 || lineWidth === 0) {\n var fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n this._cachedGetSinglePixelWidth = null;\n lineWidth = this.getSinglePixelWidth() * MIN_WIDTH_FACTOR;\n }\n } else {\n lineWidth /= scale;\n }\n\n if (fontSizeScale !== 1.0) {\n ctx.scale(fontSizeScale, fontSizeScale);\n lineWidth /= fontSizeScale;\n }\n\n ctx.lineWidth = lineWidth;\n var x = 0,\n i;\n\n for (i = 0; i < glyphsLength; ++i) {\n var glyph = glyphs[i];\n\n if ((0, _util.isNum)(glyph)) {\n x += spacingDir * glyph * fontSize / 1000;\n continue;\n }\n\n var restoreNeeded = false;\n var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n var character = glyph.fontChar;\n var accent = glyph.accent;\n var scaledX, scaledY, scaledAccentX, scaledAccentY;\n var width = glyph.width;\n\n if (vertical) {\n var vmetric, vx, vy;\n vmetric = glyph.vmetric || defaultVMetrics;\n vx = glyph.vmetric ? vmetric[1] : width * 0.5;\n vx = -vx * widthAdvanceScale;\n vy = vmetric[2] * widthAdvanceScale;\n width = vmetric ? -vmetric[0] : width;\n scaledX = vx / fontSizeScale;\n scaledY = (x + vy) / fontSizeScale;\n } else {\n scaledX = x / fontSizeScale;\n scaledY = 0;\n }\n\n if (font.remeasure && width > 0) {\n var measuredWidth = ctx.measureText(character).width * 1000 / fontSize * fontSizeScale;\n\n if (width < measuredWidth && this.isFontSubpixelAAEnabled) {\n var characterScaleX = width / measuredWidth;\n restoreNeeded = true;\n ctx.save();\n ctx.scale(characterScaleX, 1);\n scaledX /= characterScaleX;\n } else if (width !== measuredWidth) {\n scaledX += (width - measuredWidth) / 2000 * fontSize / fontSizeScale;\n }\n }\n\n if (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);\n\n if (accent) {\n scaledAccentX = scaledX + fontSize * accent.offset.x / fontSizeScale;\n scaledAccentY = scaledY - fontSize * accent.offset.y / fontSizeScale;\n this.paintChar(accent.fontChar, scaledAccentX, scaledAccentY, patternTransform);\n }\n }\n }\n\n var charWidth;\n\n if (vertical) {\n charWidth = width * widthAdvanceScale - spacing * fontDirection;\n } else {\n charWidth = width * widthAdvanceScale + spacing * fontDirection;\n }\n\n x += charWidth;\n\n if (restoreNeeded) {\n ctx.restore();\n }\n }\n\n if (vertical) {\n current.y -= x;\n } else {\n current.x += x * textHScale;\n }\n\n ctx.restore();\n },\n showType3Text: function CanvasGraphics_showType3Text(glyphs) {\n var ctx = this.ctx;\n var current = this.current;\n var font = current.font;\n var fontSize = current.fontSize;\n var fontDirection = current.fontDirection;\n var spacingDir = font.vertical ? 1 : -1;\n var charSpacing = current.charSpacing;\n var wordSpacing = current.wordSpacing;\n var textHScale = current.textHScale * fontDirection;\n var fontMatrix = current.fontMatrix || _util.FONT_IDENTITY_MATRIX;\n var glyphsLength = glyphs.length;\n var isTextInvisible = current.textRenderingMode === _util.TextRenderingMode.INVISIBLE;\n var i, glyph, width, spacingLength;\n\n if (isTextInvisible || fontSize === 0) {\n return;\n }\n\n this._cachedGetSinglePixelWidth = null;\n ctx.save();\n ctx.transform.apply(ctx, current.textMatrix);\n ctx.translate(current.x, current.y);\n ctx.scale(textHScale, fontDirection);\n\n for (i = 0; i < glyphsLength; ++i) {\n glyph = glyphs[i];\n\n if ((0, _util.isNum)(glyph)) {\n spacingLength = spacingDir * glyph * fontSize / 1000;\n this.ctx.translate(spacingLength, 0);\n current.x += spacingLength * textHScale;\n continue;\n }\n\n var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n var operatorList = font.charProcOperatorList[glyph.operatorListId];\n\n if (!operatorList) {\n (0, _util.warn)(\"Type3 character \\\"\".concat(glyph.operatorListId, \"\\\" is not available.\"));\n continue;\n }\n\n 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.makeCssRgb(r, g, b);\n\n this.ctx.strokeStyle = color;\n this.current.strokeColor = color;\n },\n setFillRGBColor: function CanvasGraphics_setFillRGBColor(r, g, b) {\n var color = _util.Util.makeCssRgb(r, g, b);\n\n this.ctx.fillStyle = color;\n this.current.fillColor = color;\n this.current.patternFill = false;\n },\n shadingFill: function CanvasGraphics_shadingFill(patternIR) {\n 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 && 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;\n\n if (typeof HTMLElement === \"function\" && imgData instanceof HTMLElement || !imgData.data) {\n imgToPaint = imgData;\n } else {\n tmpCanvas = this.cachedCanvases.getCanvas(\"inlineImage\", width, height);\n var tmpCtx = tmpCanvas.context;\n putBinaryImageData(tmpCtx, imgData, 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(scale) {\n if (this._cachedGetSinglePixelWidth === null) {\n var inverse = this.ctx.mozCurrentTransformInverse;\n this._cachedGetSinglePixelWidth = Math.sqrt(Math.max(inverse[0] * inverse[0] + inverse[1] * inverse[1], inverse[2] * inverse[2] + inverse[3] * inverse[3]));\n }\n\n return this._cachedGetSinglePixelWidth;\n },\n getCanvasPosition: function CanvasGraphics_getCanvasPosition(x, y) {\n var transform = this.ctx.mozCurrentTransform;\n return [transform[0] * x + transform[2] * y + transform[4], transform[1] * x + transform[3] * y + transform[5]];\n },\n 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/* 208 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getShadingPatternFromIR = getShadingPatternFromIR;\nexports.TilingPattern = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar ShadingIRs = {};\n\nfunction applyBoundingBox(ctx, bbox) {\n if (!bbox || typeof Path2D === \"undefined\") {\n return;\n }\n\n var width = bbox[2] - bbox[0];\n var height = bbox[3] - bbox[1];\n var region = new Path2D();\n region.rect(bbox[0], bbox[1], width, height);\n ctx.clip(region);\n}\n\nShadingIRs.RadialAxial = {\n fromIR: function RadialAxial_fromIR(raw) {\n var type = raw[1];\n var bbox = raw[2];\n var colorStops = raw[3];\n var p0 = raw[4];\n var p1 = raw[5];\n var r0 = raw[6];\n var r1 = raw[7];\n return {\n type: \"Pattern\",\n getPattern: function RadialAxial_getPattern(ctx) {\n applyBoundingBox(ctx, bbox);\n var grad;\n\n if (type === \"axial\") {\n grad = ctx.createLinearGradient(p0[0], p0[1], p1[0], p1[1]);\n } else if (type === \"radial\") {\n grad = ctx.createRadialGradient(p0[0], p0[1], r0, p1[0], p1[1], r1);\n }\n\n for (var i = 0, ii = colorStops.length; i < ii; ++i) {\n var c = colorStops[i];\n grad.addColorStop(c[0], c[1]);\n }\n\n return grad;\n }\n };\n }\n};\n\nvar createMeshCanvas = function createMeshCanvasClosure() {\n function drawTriangle(data, context, p1, p2, p3, c1, c2, c3) {\n var coords = context.coords,\n colors = context.colors;\n var bytes = data.data,\n rowSize = data.width * 4;\n var tmp;\n\n if (coords[p1 + 1] > coords[p2 + 1]) {\n tmp = p1;\n p1 = p2;\n p2 = tmp;\n tmp = c1;\n c1 = c2;\n c2 = tmp;\n }\n\n if (coords[p2 + 1] > coords[p3 + 1]) {\n tmp = p2;\n p2 = p3;\n p3 = tmp;\n tmp = c2;\n c2 = c3;\n c3 = tmp;\n }\n\n if (coords[p1 + 1] > coords[p2 + 1]) {\n tmp = p1;\n p1 = p2;\n p2 = tmp;\n tmp = c1;\n c1 = c2;\n c2 = tmp;\n }\n\n var x1 = (coords[p1] + context.offsetX) * context.scaleX;\n var y1 = (coords[p1 + 1] + context.offsetY) * context.scaleY;\n var x2 = (coords[p2] + context.offsetX) * context.scaleX;\n var y2 = (coords[p2 + 1] + context.offsetY) * context.scaleY;\n var x3 = (coords[p3] + context.offsetX) * context.scaleX;\n var y3 = (coords[p3 + 1] + context.offsetY) * context.scaleY;\n\n if (y1 >= y3) {\n return;\n }\n\n var c1r = colors[c1],\n c1g = colors[c1 + 1],\n c1b = colors[c1 + 2];\n var c2r = colors[c2],\n c2g = colors[c2 + 1],\n c2b = colors[c2 + 2];\n var c3r = colors[c3],\n c3g = colors[c3 + 1],\n c3b = colors[c3 + 2];\n var minY = Math.round(y1),\n maxY = Math.round(y3);\n var xa, car, cag, cab;\n var xb, cbr, cbg, cbb;\n\n for (var y = minY; y <= maxY; y++) {\n if (y < y2) {\n var _k = void 0;\n\n if (y < y1) {\n _k = 0;\n } else if (y1 === y2) {\n _k = 1;\n } else {\n _k = (y1 - y) / (y1 - y2);\n }\n\n xa = x1 - (x1 - x2) * _k;\n car = c1r - (c1r - c2r) * _k;\n cag = c1g - (c1g - c2g) * _k;\n cab = c1b - (c1b - c2b) * _k;\n } else {\n var _k2 = void 0;\n\n if (y > y3) {\n _k2 = 1;\n } else if (y2 === y3) {\n _k2 = 0;\n } else {\n _k2 = (y2 - y) / (y2 - y3);\n }\n\n xa = x2 - (x2 - x3) * _k2;\n car = c2r - (c2r - c3r) * _k2;\n cag = c2g - (c2g - c3g) * _k2;\n cab = c2b - (c2b - c3b) * _k2;\n }\n\n var k = void 0;\n\n if (y < y1) {\n k = 0;\n } else if (y > y3) {\n k = 1;\n } else {\n k = (y1 - y) / (y1 - y3);\n }\n\n xb = x1 - (x1 - x3) * k;\n cbr = c1r - (c1r - c3r) * k;\n cbg = c1g - (c1g - c3g) * k;\n cbb = c1b - (c1b - c3b) * k;\n var x1_ = Math.round(Math.min(xa, xb));\n var x2_ = Math.round(Math.max(xa, xb));\n var j = rowSize * y + x1_ * 4;\n\n for (var x = x1_; x <= x2_; x++) {\n k = (xa - x) / (xa - xb);\n\n if (k < 0) {\n k = 0;\n } else if (k > 1) {\n k = 1;\n }\n\n bytes[j++] = car - (car - cbr) * k | 0;\n bytes[j++] = cag - (cag - cbg) * k | 0;\n bytes[j++] = cab - (cab - cbb) * k | 0;\n bytes[j++] = 255;\n }\n }\n }\n\n function drawFigure(data, figure, context) {\n var ps = figure.coords;\n var cs = figure.colors;\n var i, ii;\n\n switch (figure.type) {\n case \"lattice\":\n var verticesPerRow = figure.verticesPerRow;\n var rows = Math.floor(ps.length / verticesPerRow) - 1;\n var cols = verticesPerRow - 1;\n\n for (i = 0; i < rows; i++) {\n var q = i * verticesPerRow;\n\n for (var j = 0; j < cols; j++, q++) {\n drawTriangle(data, context, ps[q], ps[q + 1], ps[q + verticesPerRow], cs[q], cs[q + 1], cs[q + verticesPerRow]);\n drawTriangle(data, context, ps[q + verticesPerRow + 1], ps[q + 1], ps[q + verticesPerRow], cs[q + verticesPerRow + 1], cs[q + 1], cs[q + verticesPerRow]);\n }\n }\n\n break;\n\n case \"triangles\":\n for (i = 0, ii = ps.length; i < ii; i += 3) {\n drawTriangle(data, context, ps[i], ps[i + 1], ps[i + 2], cs[i], cs[i + 1], cs[i + 2]);\n }\n\n break;\n\n default:\n throw new Error(\"illegal figure\");\n }\n }\n\n function createMeshCanvas(bounds, combinesScale, coords, colors, figures, backgroundColor, cachedCanvases, webGLContext) {\n var EXPECTED_SCALE = 1.1;\n var MAX_PATTERN_SIZE = 3000;\n var BORDER_SIZE = 2;\n var offsetX = Math.floor(bounds[0]);\n var offsetY = Math.floor(bounds[1]);\n var boundsWidth = Math.ceil(bounds[2]) - offsetX;\n var boundsHeight = Math.ceil(bounds[3]) - offsetY;\n var width = Math.min(Math.ceil(Math.abs(boundsWidth * combinesScale[0] * EXPECTED_SCALE)), MAX_PATTERN_SIZE);\n var height = Math.min(Math.ceil(Math.abs(boundsHeight * combinesScale[1] * EXPECTED_SCALE)), MAX_PATTERN_SIZE);\n var scaleX = boundsWidth / width;\n var scaleY = boundsHeight / height;\n var context = {\n coords: coords,\n colors: colors,\n offsetX: -offsetX,\n offsetY: -offsetY,\n scaleX: 1 / scaleX,\n scaleY: 1 / scaleY\n };\n var paddedWidth = width + BORDER_SIZE * 2;\n var paddedHeight = height + BORDER_SIZE * 2;\n var canvas, tmpCanvas, i, ii;\n\n if (webGLContext.isEnabled) {\n canvas = webGLContext.drawFigures({\n width: width,\n height: height,\n backgroundColor: backgroundColor,\n figures: figures,\n context: context\n });\n tmpCanvas = cachedCanvases.getCanvas(\"mesh\", paddedWidth, paddedHeight, false);\n tmpCanvas.context.drawImage(canvas, BORDER_SIZE, BORDER_SIZE);\n canvas = tmpCanvas.canvas;\n } else {\n tmpCanvas = cachedCanvases.getCanvas(\"mesh\", paddedWidth, paddedHeight, false);\n var tmpCtx = tmpCanvas.context;\n var data = tmpCtx.createImageData(width, height);\n\n if (backgroundColor) {\n var bytes = data.data;\n\n for (i = 0, ii = bytes.length; i < ii; i += 4) {\n bytes[i] = backgroundColor[0];\n bytes[i + 1] = backgroundColor[1];\n bytes[i + 2] = backgroundColor[2];\n bytes[i + 3] = 255;\n }\n }\n\n for (i = 0; i < figures.length; i++) {\n drawFigure(data, figures[i], context);\n }\n\n tmpCtx.putImageData(data, BORDER_SIZE, BORDER_SIZE);\n canvas = tmpCanvas.canvas;\n }\n\n return {\n canvas: canvas,\n offsetX: offsetX - BORDER_SIZE * scaleX,\n offsetY: offsetY - BORDER_SIZE * scaleY,\n scaleX: scaleX,\n scaleY: scaleY\n };\n }\n\n return createMeshCanvas;\n}();\n\nShadingIRs.Mesh = {\n fromIR: function Mesh_fromIR(raw) {\n var coords = raw[2];\n var colors = raw[3];\n var figures = raw[4];\n var bounds = raw[5];\n var matrix = raw[6];\n var bbox = raw[7];\n var background = raw[8];\n return {\n type: \"Pattern\",\n getPattern: function Mesh_getPattern(ctx, owner, shadingFill) {\n applyBoundingBox(ctx, bbox);\n var scale;\n\n if (shadingFill) {\n scale = _util.Util.singularValueDecompose2dScale(ctx.mozCurrentTransform);\n } else {\n scale = _util.Util.singularValueDecompose2dScale(owner.baseTransform);\n\n if (matrix) {\n var matrixScale = _util.Util.singularValueDecompose2dScale(matrix);\n\n scale = [scale[0] * matrixScale[0], scale[1] * matrixScale[1]];\n }\n }\n\n var temporaryPatternCanvas = createMeshCanvas(bounds, scale, coords, colors, figures, shadingFill ? null : background, owner.cachedCanvases, owner.webGLContext);\n\n if (!shadingFill) {\n ctx.setTransform.apply(ctx, owner.baseTransform);\n\n if (matrix) {\n ctx.transform.apply(ctx, matrix);\n }\n }\n\n ctx.translate(temporaryPatternCanvas.offsetX, temporaryPatternCanvas.offsetY);\n ctx.scale(temporaryPatternCanvas.scaleX, temporaryPatternCanvas.scaleY);\n return ctx.createPattern(temporaryPatternCanvas.canvas, \"no-repeat\");\n }\n };\n }\n};\nShadingIRs.Dummy = {\n fromIR: function Dummy_fromIR() {\n return {\n type: \"Pattern\",\n getPattern: function Dummy_fromIR_getPattern() {\n return \"hotpink\";\n }\n };\n }\n};\n\nfunction getShadingPatternFromIR(raw) {\n var shadingIR = ShadingIRs[raw[0]];\n\n if (!shadingIR) {\n throw new Error(\"Unknown IR type: \".concat(raw[0]));\n }\n\n return shadingIR.fromIR(raw);\n}\n\nvar TilingPattern = function TilingPatternClosure() {\n var PaintType = {\n COLORED: 1,\n UNCOLORED: 2\n };\n var MAX_PATTERN_SIZE = 3000;\n\n function TilingPattern(IR, color, ctx, canvasGraphicsFactory, baseTransform) {\n this.operatorList = IR[2];\n this.matrix = IR[3] || [1, 0, 0, 1, 0, 0];\n this.bbox = IR[4];\n this.xstep = IR[5];\n this.ystep = IR[6];\n this.paintType = IR[7];\n this.tilingType = IR[8];\n this.color = color;\n this.canvasGraphicsFactory = canvasGraphicsFactory;\n this.baseTransform = baseTransform;\n this.type = \"Pattern\";\n this.ctx = ctx;\n }\n\n TilingPattern.prototype = {\n createPatternCanvas: function TilinPattern_createPatternCanvas(owner) {\n var operatorList = this.operatorList;\n var bbox = this.bbox;\n var xstep = this.xstep;\n var ystep = this.ystep;\n var paintType = this.paintType;\n var tilingType = this.tilingType;\n var color = this.color;\n var canvasGraphicsFactory = this.canvasGraphicsFactory;\n (0, _util.info)(\"TilingType: \" + tilingType);\n var x0 = bbox[0],\n y0 = bbox[1],\n x1 = bbox[2],\n y1 = bbox[3];\n\n var matrixScale = _util.Util.singularValueDecompose2dScale(this.matrix);\n\n var curMatrixScale = _util.Util.singularValueDecompose2dScale(this.baseTransform);\n\n var combinedScale = [matrixScale[0] * curMatrixScale[0], matrixScale[1] * curMatrixScale[1]];\n var dimx = this.getSizeAndScale(xstep, this.ctx.canvas.width, combinedScale[0]);\n var dimy = this.getSizeAndScale(ystep, this.ctx.canvas.height, combinedScale[1]);\n var tmpCanvas = owner.cachedCanvases.getCanvas(\"pattern\", dimx.size, dimy.size, true);\n var tmpCtx = tmpCanvas.context;\n var graphics = canvasGraphicsFactory.createCanvasGraphics(tmpCtx);\n graphics.groupLevel = owner.groupLevel;\n this.setFillAndStrokeStyleToContext(graphics, paintType, color);\n graphics.transform(dimx.scale, 0, 0, dimy.scale, 0, 0);\n graphics.transform(1, 0, 0, 1, -x0, -y0);\n this.clipBbox(graphics, bbox, x0, y0, x1, y1);\n graphics.executeOperatorList(operatorList);\n this.ctx.transform(1, 0, 0, 1, x0, y0);\n this.ctx.scale(1 / dimx.scale, 1 / dimy.scale);\n return tmpCanvas.canvas;\n },\n getSizeAndScale: function TilingPattern_getSizeAndScale(step, realOutputSize, scale) {\n step = Math.abs(step);\n var maxSize = Math.max(MAX_PATTERN_SIZE, realOutputSize);\n var size = Math.ceil(step * scale);\n\n if (size >= maxSize) {\n size = maxSize;\n } else {\n scale = size / step;\n }\n\n return {\n scale: scale,\n size: size\n };\n },\n clipBbox: function clipBbox(graphics, bbox, x0, y0, x1, y1) {\n if (Array.isArray(bbox) && bbox.length === 4) {\n var bboxWidth = x1 - x0;\n var bboxHeight = y1 - y0;\n graphics.ctx.rect(x0, y0, bboxWidth, bboxHeight);\n graphics.clip();\n graphics.endPath();\n }\n },\n setFillAndStrokeStyleToContext: function setFillAndStrokeStyleToContext(graphics, paintType, color) {\n var context = graphics.ctx,\n current = graphics.current;\n\n switch (paintType) {\n case PaintType.COLORED:\n var ctx = this.ctx;\n context.fillStyle = ctx.fillStyle;\n context.strokeStyle = ctx.strokeStyle;\n current.fillColor = ctx.fillStyle;\n current.strokeColor = ctx.strokeStyle;\n break;\n\n case PaintType.UNCOLORED:\n var cssColor = _util.Util.makeCssRgb(color[0], color[1], color[2]);\n\n context.fillStyle = cssColor;\n context.strokeStyle = cssColor;\n current.fillColor = cssColor;\n current.strokeColor = cssColor;\n break;\n\n default:\n throw new _util.FormatError(\"Unsupported paint type: \".concat(paintType));\n }\n },\n getPattern: function TilingPattern_getPattern(ctx, owner) {\n ctx = this.ctx;\n ctx.setTransform.apply(ctx, this.baseTransform);\n ctx.transform.apply(ctx, this.matrix);\n var temporaryPatternCanvas = this.createPatternCanvas(owner);\n return ctx.createPattern(temporaryPatternCanvas, \"repeat\");\n }\n };\n return TilingPattern;\n}();\n\nexports.TilingPattern = TilingPattern;\n\n/***/ }),\n/* 209 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.GlobalWorkerOptions = void 0;\nvar GlobalWorkerOptions = Object.create(null);\nexports.GlobalWorkerOptions = GlobalWorkerOptions;\nGlobalWorkerOptions.workerPort = GlobalWorkerOptions.workerPort === undefined ? null : GlobalWorkerOptions.workerPort;\nGlobalWorkerOptions.workerSrc = GlobalWorkerOptions.workerSrc === undefined ? \"\" : GlobalWorkerOptions.workerSrc;\n\n/***/ }),\n/* 210 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.MessageHandler = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar CallbackKind = {\n UNKNOWN: 0,\n DATA: 1,\n ERROR: 2\n};\nvar StreamKind = {\n UNKNOWN: 0,\n CANCEL: 1,\n CANCEL_COMPLETE: 2,\n CLOSE: 3,\n ENQUEUE: 4,\n ERROR: 5,\n PULL: 6,\n PULL_COMPLETE: 7,\n START_COMPLETE: 8\n};\n\nfunction wrapReason(reason) {\n if (_typeof(reason) !== \"object\" || reason === null) {\n return reason;\n }\n\n switch (reason.name) {\n case \"AbortException\":\n return new _util.AbortException(reason.message);\n\n case \"MissingPDFException\":\n return new _util.MissingPDFException(reason.message);\n\n case \"UnexpectedResponseException\":\n return new _util.UnexpectedResponseException(reason.message, reason.status);\n\n case \"UnknownErrorException\":\n return new _util.UnknownErrorException(reason.message, reason.details);\n\n default:\n return new _util.UnknownErrorException(reason.message, reason.toString());\n }\n}\n\nvar MessageHandler = /*#__PURE__*/function () {\n function MessageHandler(sourceName, targetName, comObj) {\n var _this = this;\n\n _classCallCheck(this, MessageHandler);\n\n this.sourceName = sourceName;\n this.targetName = targetName;\n this.comObj = comObj;\n this.callbackId = 1;\n this.streamId = 1;\n this.postMessageTransfers = true;\n this.streamSinks = Object.create(null);\n this.streamControllers = Object.create(null);\n this.callbackCapabilities = Object.create(null);\n this.actionHandler = Object.create(null);\n\n this._onComObjOnMessage = function (event) {\n var data = event.data;\n\n if (data.targetName !== _this.sourceName) {\n return;\n }\n\n if (data.stream) {\n _this._processStreamMessage(data);\n\n return;\n }\n\n if (data.callback) {\n var callbackId = data.callbackId;\n var capability = _this.callbackCapabilities[callbackId];\n\n if (!capability) {\n throw new Error(\"Cannot resolve callback \".concat(callbackId));\n }\n\n delete _this.callbackCapabilities[callbackId];\n\n if (data.callback === CallbackKind.DATA) {\n capability.resolve(data.data);\n } else if (data.callback === CallbackKind.ERROR) {\n capability.reject(wrapReason(data.reason));\n } else {\n throw new Error(\"Unexpected callback case\");\n }\n\n return;\n }\n\n var action = _this.actionHandler[data.action];\n\n if (!action) {\n throw new Error(\"Unknown action from worker: \".concat(data.action));\n }\n\n if (data.callbackId) {\n var cbSourceName = _this.sourceName;\n var cbTargetName = data.sourceName;\n new Promise(function (resolve) {\n resolve(action(data.data));\n }).then(function (result) {\n comObj.postMessage({\n sourceName: cbSourceName,\n targetName: cbTargetName,\n callback: CallbackKind.DATA,\n callbackId: data.callbackId,\n data: result\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName: cbSourceName,\n targetName: cbTargetName,\n callback: CallbackKind.ERROR,\n callbackId: data.callbackId,\n reason: wrapReason(reason)\n });\n });\n return;\n }\n\n if (data.streamId) {\n _this._createStreamSink(data);\n\n return;\n }\n\n action(data.data);\n };\n\n comObj.addEventListener(\"message\", this._onComObjOnMessage);\n }\n\n _createClass(MessageHandler, [{\n key: \"on\",\n value: function on(actionName, handler) {\n var ah = this.actionHandler;\n\n if (ah[actionName]) {\n throw new Error(\"There is already an actionName called \\\"\".concat(actionName, \"\\\"\"));\n }\n\n ah[actionName] = handler;\n }\n }, {\n key: \"send\",\n value: function send(actionName, data, transfers) {\n this._postMessage({\n sourceName: this.sourceName,\n targetName: this.targetName,\n action: actionName,\n data: data\n }, transfers);\n }\n }, {\n key: \"sendWithPromise\",\n value: function sendWithPromise(actionName, data, transfers) {\n var callbackId = this.callbackId++;\n var capability = (0, _util.createPromiseCapability)();\n this.callbackCapabilities[callbackId] = capability;\n\n try {\n this._postMessage({\n sourceName: this.sourceName,\n targetName: this.targetName,\n action: actionName,\n callbackId: callbackId,\n data: data\n }, transfers);\n } catch (ex) {\n capability.reject(ex);\n }\n\n return capability.promise;\n }\n }, {\n key: \"sendWithStream\",\n value: function sendWithStream(actionName, data, queueingStrategy, transfers) {\n var _this2 = this;\n\n var streamId = this.streamId++;\n var sourceName = this.sourceName;\n var targetName = this.targetName;\n var comObj = this.comObj;\n return new ReadableStream({\n start: function start(controller) {\n var startCapability = (0, _util.createPromiseCapability)();\n _this2.streamControllers[streamId] = {\n controller: controller,\n startCall: startCapability,\n pullCall: null,\n cancelCall: null,\n isClosed: false\n };\n\n _this2._postMessage({\n sourceName: sourceName,\n targetName: targetName,\n action: actionName,\n streamId: streamId,\n data: data,\n desiredSize: controller.desiredSize\n }, transfers);\n\n return startCapability.promise;\n },\n pull: function pull(controller) {\n var pullCapability = (0, _util.createPromiseCapability)();\n _this2.streamControllers[streamId].pullCall = pullCapability;\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.PULL,\n streamId: streamId,\n desiredSize: controller.desiredSize\n });\n return pullCapability.promise;\n },\n cancel: function cancel(reason) {\n (0, _util.assert)(reason instanceof Error, \"cancel must have a valid reason\");\n var cancelCapability = (0, _util.createPromiseCapability)();\n _this2.streamControllers[streamId].cancelCall = cancelCapability;\n _this2.streamControllers[streamId].isClosed = true;\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.CANCEL,\n streamId: streamId,\n reason: wrapReason(reason)\n });\n return cancelCapability.promise;\n }\n }, queueingStrategy);\n }\n }, {\n key: \"_createStreamSink\",\n value: function _createStreamSink(data) {\n var self = this;\n var action = this.actionHandler[data.action];\n var streamId = data.streamId;\n var sourceName = this.sourceName;\n var targetName = data.sourceName;\n var comObj = this.comObj;\n var streamSink = {\n enqueue: function enqueue(chunk) {\n var size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n var transfers = arguments.length > 2 ? arguments[2] : undefined;\n\n if (this.isCancelled) {\n return;\n }\n\n var lastDesiredSize = this.desiredSize;\n this.desiredSize -= size;\n\n if (lastDesiredSize > 0 && this.desiredSize <= 0) {\n this.sinkCapability = (0, _util.createPromiseCapability)();\n this.ready = this.sinkCapability.promise;\n }\n\n self._postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.ENQUEUE,\n streamId: streamId,\n chunk: chunk\n }, transfers);\n },\n close: function close() {\n if (this.isCancelled) {\n return;\n }\n\n this.isCancelled = true;\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.CLOSE,\n streamId: streamId\n });\n delete self.streamSinks[streamId];\n },\n error: function error(reason) {\n (0, _util.assert)(reason instanceof Error, \"error must have a valid reason\");\n\n if (this.isCancelled) {\n return;\n }\n\n this.isCancelled = true;\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.ERROR,\n streamId: streamId,\n reason: wrapReason(reason)\n });\n },\n sinkCapability: (0, _util.createPromiseCapability)(),\n onPull: null,\n onCancel: null,\n isCancelled: false,\n desiredSize: data.desiredSize,\n ready: null\n };\n streamSink.sinkCapability.resolve();\n streamSink.ready = streamSink.sinkCapability.promise;\n this.streamSinks[streamId] = streamSink;\n new Promise(function (resolve) {\n resolve(action(data.data, streamSink));\n }).then(function () {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.START_COMPLETE,\n streamId: streamId,\n success: true\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.START_COMPLETE,\n streamId: streamId,\n reason: wrapReason(reason)\n });\n });\n }\n }, {\n key: \"_processStreamMessage\",\n value: function _processStreamMessage(data) {\n var streamId = data.streamId;\n var sourceName = this.sourceName;\n var targetName = data.sourceName;\n var comObj = this.comObj;\n\n switch (data.stream) {\n case StreamKind.START_COMPLETE:\n if (data.success) {\n this.streamControllers[streamId].startCall.resolve();\n } else {\n this.streamControllers[streamId].startCall.reject(wrapReason(data.reason));\n }\n\n break;\n\n case StreamKind.PULL_COMPLETE:\n if (data.success) {\n this.streamControllers[streamId].pullCall.resolve();\n } else {\n this.streamControllers[streamId].pullCall.reject(wrapReason(data.reason));\n }\n\n break;\n\n case StreamKind.PULL:\n if (!this.streamSinks[streamId]) {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId: streamId,\n success: true\n });\n break;\n }\n\n if (this.streamSinks[streamId].desiredSize <= 0 && data.desiredSize > 0) {\n this.streamSinks[streamId].sinkCapability.resolve();\n }\n\n this.streamSinks[streamId].desiredSize = data.desiredSize;\n var onPull = this.streamSinks[data.streamId].onPull;\n new Promise(function (resolve) {\n resolve(onPull && onPull());\n }).then(function () {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId: streamId,\n success: true\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId: streamId,\n reason: wrapReason(reason)\n });\n });\n break;\n\n case StreamKind.ENQUEUE:\n (0, _util.assert)(this.streamControllers[streamId], \"enqueue should have stream controller\");\n\n if (this.streamControllers[streamId].isClosed) {\n break;\n }\n\n this.streamControllers[streamId].controller.enqueue(data.chunk);\n break;\n\n case StreamKind.CLOSE:\n (0, _util.assert)(this.streamControllers[streamId], \"close should have stream controller\");\n\n if (this.streamControllers[streamId].isClosed) {\n break;\n }\n\n this.streamControllers[streamId].isClosed = true;\n this.streamControllers[streamId].controller.close();\n\n this._deleteStreamController(streamId);\n\n break;\n\n case StreamKind.ERROR:\n (0, _util.assert)(this.streamControllers[streamId], \"error should have stream controller\");\n this.streamControllers[streamId].controller.error(wrapReason(data.reason));\n\n this._deleteStreamController(streamId);\n\n break;\n\n case StreamKind.CANCEL_COMPLETE:\n if (data.success) {\n this.streamControllers[streamId].cancelCall.resolve();\n } else {\n this.streamControllers[streamId].cancelCall.reject(wrapReason(data.reason));\n }\n\n this._deleteStreamController(streamId);\n\n break;\n\n case StreamKind.CANCEL:\n if (!this.streamSinks[streamId]) {\n break;\n }\n\n var onCancel = this.streamSinks[data.streamId].onCancel;\n new Promise(function (resolve) {\n resolve(onCancel && onCancel(wrapReason(data.reason)));\n }).then(function () {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.CANCEL_COMPLETE,\n streamId: streamId,\n success: true\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.CANCEL_COMPLETE,\n streamId: streamId,\n reason: wrapReason(reason)\n });\n });\n this.streamSinks[streamId].sinkCapability.reject(wrapReason(data.reason));\n this.streamSinks[streamId].isCancelled = true;\n delete this.streamSinks[streamId];\n break;\n\n default:\n throw new Error(\"Unexpected stream case\");\n }\n }\n }, {\n key: \"_deleteStreamController\",\n value: function () {\n var _deleteStreamController2 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee(streamId) {\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return Promise.allSettled([this.streamControllers[streamId].startCall, this.streamControllers[streamId].pullCall, this.streamControllers[streamId].cancelCall].map(function (capability) {\n return capability && capability.promise;\n }));\n\n case 2:\n delete this.streamControllers[streamId];\n\n case 3:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function _deleteStreamController(_x) {\n return _deleteStreamController2.apply(this, arguments);\n }\n\n return _deleteStreamController;\n }()\n }, {\n key: \"_postMessage\",\n value: function _postMessage(message, transfers) {\n if (transfers && this.postMessageTransfers) {\n this.comObj.postMessage(message, transfers);\n } else {\n this.comObj.postMessage(message);\n }\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n this.comObj.removeEventListener(\"message\", this._onComObjOnMessage);\n }\n }]);\n\n return MessageHandler;\n}();\n\nexports.MessageHandler = MessageHandler;\n\n/***/ }),\n/* 211 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Metadata = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _xml_parser = __w_pdfjs_require__(212);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar Metadata = /*#__PURE__*/function () {\n function Metadata(data) {\n _classCallCheck(this, Metadata);\n\n (0, _util.assert)(typeof data === \"string\", \"Metadata: input is not a string\");\n data = this._repair(data);\n var parser = new _xml_parser.SimpleXMLParser();\n var xmlDocument = parser.parseFromString(data);\n this._metadataMap = new Map();\n\n if (xmlDocument) {\n this._parse(xmlDocument);\n }\n }\n\n _createClass(Metadata, [{\n key: \"_repair\",\n value: function _repair(data) {\n return data.replace(/^[^<]+/, \"\").replace(/>\\\\376\\\\377([^<]+)/g, function (all, codes) {\n var bytes = codes.replace(/\\\\([0-3])([0-7])([0-7])/g, function (code, d1, d2, d3) {\n return String.fromCharCode(d1 * 64 + d2 * 8 + d3 * 1);\n }).replace(/&(amp|apos|gt|lt|quot);/g, function (str, name) {\n switch (name) {\n case \"amp\":\n return \"&\";\n\n case \"apos\":\n return \"'\";\n\n case \"gt\":\n return \">\";\n\n case \"lt\":\n return \"<\";\n\n case \"quot\":\n return '\"';\n }\n\n throw new Error(\"_repair: \".concat(name, \" isn't defined.\"));\n });\n var chars = \"\";\n\n for (var i = 0, ii = bytes.length; i < ii; i += 2) {\n var code = bytes.charCodeAt(i) * 256 + bytes.charCodeAt(i + 1);\n\n if (code >= 32 && code < 127 && code !== 60 && code !== 62 && code !== 38) {\n chars += String.fromCharCode(code);\n } else {\n chars += \"&#x\" + (0x10000 + code).toString(16).substring(1) + \";\";\n }\n }\n\n return \">\" + chars;\n });\n }\n }, {\n key: \"_parse\",\n value: function _parse(xmlDocument) {\n var rdf = xmlDocument.documentElement;\n\n if (rdf.nodeName.toLowerCase() !== \"rdf:rdf\") {\n rdf = rdf.firstChild;\n\n while (rdf && rdf.nodeName.toLowerCase() !== \"rdf:rdf\") {\n rdf = rdf.nextSibling;\n }\n }\n\n var nodeName = rdf ? rdf.nodeName.toLowerCase() : null;\n\n if (!rdf || nodeName !== \"rdf:rdf\" || !rdf.hasChildNodes()) {\n return;\n }\n\n var children = rdf.childNodes;\n\n for (var i = 0, ii = children.length; i < ii; i++) {\n var desc = children[i];\n\n if (desc.nodeName.toLowerCase() !== \"rdf:description\") {\n continue;\n }\n\n for (var j = 0, jj = desc.childNodes.length; j < jj; j++) {\n if (desc.childNodes[j].nodeName.toLowerCase() !== \"#text\") {\n var entry = desc.childNodes[j];\n var name = entry.nodeName.toLowerCase();\n\n this._metadataMap.set(name, entry.textContent.trim());\n }\n }\n }\n }\n }, {\n key: \"get\",\n value: function get(name) {\n return this._metadataMap.has(name) ? this._metadataMap.get(name) : null;\n }\n }, {\n key: \"getAll\",\n value: function getAll() {\n return Object.fromEntries(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/* 212 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SimpleXMLParser = void 0;\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _get(target, property, receiver) { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }\n\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar XMLParserErrorCode = {\n NoError: 0,\n EndOfDocument: -1,\n UnterminatedCdat: -2,\n UnterminatedXmlDeclaration: -3,\n UnterminatedDoctypeDeclaration: -4,\n UnterminatedComment: -5,\n MalformedElement: -6,\n OutOfMemory: -7,\n UnterminatedAttributeValue: -8,\n UnterminatedElement: -9,\n ElementNeverBegun: -10\n};\n\nfunction isWhitespace(s, index) {\n var ch = s[index];\n return ch === \" \" || ch === \"\\n\" || ch === \"\\r\" || ch === \"\\t\";\n}\n\nfunction isWhitespaceString(s) {\n for (var i = 0, ii = s.length; i < ii; i++) {\n if (!isWhitespace(s, i)) {\n return false;\n }\n }\n\n return true;\n}\n\nvar XMLParserBase = /*#__PURE__*/function () {\n function XMLParserBase() {\n _classCallCheck(this, XMLParserBase);\n }\n\n _createClass(XMLParserBase, [{\n key: \"_resolveEntities\",\n value: function _resolveEntities(s) {\n var _this = this;\n\n return s.replace(/&([^;]+);/g, function (all, entity) {\n if (entity.substring(0, 2) === \"#x\") {\n return String.fromCharCode(parseInt(entity.substring(2), 16));\n } else if (entity.substring(0, 1) === \"#\") {\n return String.fromCharCode(parseInt(entity.substring(1), 10));\n }\n\n switch (entity) {\n case \"lt\":\n return \"<\";\n\n case \"gt\":\n return \">\";\n\n case \"amp\":\n return \"&\";\n\n case \"quot\":\n return '\"';\n }\n\n return _this.onResolveEntity(entity);\n });\n }\n }, {\n key: \"_parseContent\",\n value: function _parseContent(s, start) {\n var attributes = [];\n var pos = start;\n\n function skipWs() {\n while (pos < s.length && isWhitespace(s, pos)) {\n ++pos;\n }\n }\n\n while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== \">\" && s[pos] !== \"/\") {\n ++pos;\n }\n\n var name = s.substring(start, pos);\n skipWs();\n\n while (pos < s.length && s[pos] !== \">\" && s[pos] !== \"/\" && s[pos] !== \"?\") {\n skipWs();\n var attrName = \"\",\n attrValue = \"\";\n\n while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== \"=\") {\n attrName += s[pos];\n ++pos;\n }\n\n skipWs();\n\n if (s[pos] !== \"=\") {\n return null;\n }\n\n ++pos;\n skipWs();\n var attrEndChar = s[pos];\n\n if (attrEndChar !== '\"' && attrEndChar !== \"'\") {\n return null;\n }\n\n var attrEndIndex = s.indexOf(attrEndChar, ++pos);\n\n if (attrEndIndex < 0) {\n return null;\n }\n\n attrValue = s.substring(pos, attrEndIndex);\n attributes.push({\n name: attrName,\n value: this._resolveEntities(attrValue)\n });\n pos = attrEndIndex + 1;\n skipWs();\n }\n\n return {\n name: name,\n attributes: attributes,\n parsed: pos - start\n };\n }\n }, {\n key: \"_parseProcessingInstruction\",\n value: function _parseProcessingInstruction(s, start) {\n var pos = start;\n\n function skipWs() {\n while (pos < s.length && isWhitespace(s, pos)) {\n ++pos;\n }\n }\n\n while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== \">\" && s[pos] !== \"/\") {\n ++pos;\n }\n\n var name = s.substring(start, pos);\n skipWs();\n var attrStart = pos;\n\n while (pos < s.length && (s[pos] !== \"?\" || s[pos + 1] !== \">\")) {\n ++pos;\n }\n\n var value = s.substring(attrStart, pos);\n return {\n name: name,\n value: value,\n parsed: pos - start\n };\n }\n }, {\n key: \"parseXml\",\n value: function parseXml(s) {\n var i = 0;\n\n while (i < s.length) {\n var ch = s[i];\n var j = i;\n\n if (ch === \"<\") {\n ++j;\n var ch2 = s[j];\n var q = void 0;\n\n switch (ch2) {\n case \"/\":\n ++j;\n q = s.indexOf(\">\", j);\n\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedElement);\n return;\n }\n\n this.onEndElement(s.substring(j, q));\n j = q + 1;\n break;\n\n case \"?\":\n ++j;\n\n var pi = this._parseProcessingInstruction(s, j);\n\n if (s.substring(j + pi.parsed, j + pi.parsed + 2) !== \"?>\") {\n this.onError(XMLParserErrorCode.UnterminatedXmlDeclaration);\n return;\n }\n\n this.onPi(pi.name, pi.value);\n j += pi.parsed + 2;\n break;\n\n case \"!\":\n if (s.substring(j + 1, j + 3) === \"--\") {\n q = s.indexOf(\"-->\", j + 3);\n\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedComment);\n return;\n }\n\n this.onComment(s.substring(j + 3, q));\n j = q + 3;\n } else if (s.substring(j + 1, j + 8) === \"[CDATA[\") {\n q = s.indexOf(\"]]>\", j + 8);\n\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedCdat);\n return;\n }\n\n this.onCdata(s.substring(j + 8, q));\n j = q + 3;\n } else if (s.substring(j + 1, j + 8) === \"DOCTYPE\") {\n var q2 = s.indexOf(\"[\", j + 8);\n var complexDoctype = false;\n q = s.indexOf(\">\", j + 8);\n\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedDoctypeDeclaration);\n return;\n }\n\n if (q2 > 0 && q > q2) {\n q = s.indexOf(\"]>\", j + 8);\n\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedDoctypeDeclaration);\n return;\n }\n\n complexDoctype = true;\n }\n\n var doctypeContent = s.substring(j + 8, q + (complexDoctype ? 1 : 0));\n this.onDoctype(doctypeContent);\n j = q + (complexDoctype ? 2 : 1);\n } else {\n this.onError(XMLParserErrorCode.MalformedElement);\n return;\n }\n\n break;\n\n default:\n var content = this._parseContent(s, j);\n\n if (content === null) {\n this.onError(XMLParserErrorCode.MalformedElement);\n return;\n }\n\n var isClosed = false;\n\n if (s.substring(j + content.parsed, j + content.parsed + 2) === \"/>\") {\n isClosed = true;\n } else if (s.substring(j + content.parsed, j + content.parsed + 1) !== \">\") {\n this.onError(XMLParserErrorCode.UnterminatedElement);\n return;\n }\n\n this.onBeginElement(content.name, content.attributes, isClosed);\n j += content.parsed + (isClosed ? 2 : 1);\n break;\n }\n } else {\n while (j < s.length && s[j] !== \"<\") {\n j++;\n }\n\n var text = s.substring(i, j);\n this.onText(this._resolveEntities(text));\n }\n\n i = j;\n }\n }\n }, {\n key: \"onResolveEntity\",\n value: function onResolveEntity(name) {\n return \"&\".concat(name, \";\");\n }\n }, {\n key: \"onPi\",\n value: function onPi(name, value) {}\n }, {\n key: \"onComment\",\n value: function onComment(text) {}\n }, {\n key: \"onCdata\",\n value: function onCdata(text) {}\n }, {\n key: \"onDoctype\",\n value: function onDoctype(doctypeContent) {}\n }, {\n key: \"onText\",\n value: function onText(text) {}\n }, {\n key: \"onBeginElement\",\n value: function onBeginElement(name, attributes, isEmpty) {}\n }, {\n key: \"onEndElement\",\n value: function onEndElement(name) {}\n }, {\n key: \"onError\",\n value: function onError(code) {}\n }]);\n\n return XMLParserBase;\n}();\n\nvar SimpleDOMNode = /*#__PURE__*/function () {\n function SimpleDOMNode(nodeName, nodeValue) {\n _classCallCheck(this, SimpleDOMNode);\n\n this.nodeName = nodeName;\n this.nodeValue = nodeValue;\n Object.defineProperty(this, \"parentNode\", {\n value: null,\n writable: true\n });\n }\n\n _createClass(SimpleDOMNode, [{\n key: \"hasChildNodes\",\n value: function hasChildNodes() {\n return this.childNodes && this.childNodes.length > 0;\n }\n }, {\n key: \"firstChild\",\n get: function get() {\n return this.childNodes && this.childNodes[0];\n }\n }, {\n key: \"nextSibling\",\n get: function get() {\n var childNodes = this.parentNode.childNodes;\n\n if (!childNodes) {\n return undefined;\n }\n\n var index = childNodes.indexOf(this);\n\n if (index === -1) {\n return undefined;\n }\n\n return childNodes[index + 1];\n }\n }, {\n key: \"textContent\",\n get: function get() {\n if (!this.childNodes) {\n return this.nodeValue || \"\";\n }\n\n return this.childNodes.map(function (child) {\n return child.textContent;\n }).join(\"\");\n }\n }]);\n\n return SimpleDOMNode;\n}();\n\nvar SimpleXMLParser = /*#__PURE__*/function (_XMLParserBase) {\n _inherits(SimpleXMLParser, _XMLParserBase);\n\n var _super = _createSuper(SimpleXMLParser);\n\n function SimpleXMLParser() {\n var _this2;\n\n _classCallCheck(this, SimpleXMLParser);\n\n _this2 = _super.call(this);\n _this2._currentFragment = null;\n _this2._stack = null;\n _this2._errorCode = XMLParserErrorCode.NoError;\n return _this2;\n }\n\n _createClass(SimpleXMLParser, [{\n key: \"parseFromString\",\n value: function parseFromString(data) {\n this._currentFragment = [];\n this._stack = [];\n this._errorCode = XMLParserErrorCode.NoError;\n this.parseXml(data);\n\n if (this._errorCode !== XMLParserErrorCode.NoError) {\n return undefined;\n }\n\n var _this$_currentFragmen = _slicedToArray(this._currentFragment, 1),\n documentElement = _this$_currentFragmen[0];\n\n if (!documentElement) {\n return undefined;\n }\n\n return {\n documentElement: documentElement\n };\n }\n }, {\n key: \"onResolveEntity\",\n value: function onResolveEntity(name) {\n switch (name) {\n case \"apos\":\n return \"'\";\n }\n\n return _get(_getPrototypeOf(SimpleXMLParser.prototype), \"onResolveEntity\", this).call(this, name);\n }\n }, {\n key: \"onText\",\n value: function onText(text) {\n if (isWhitespaceString(text)) {\n return;\n }\n\n var node = new SimpleDOMNode(\"#text\", text);\n\n this._currentFragment.push(node);\n }\n }, {\n key: \"onCdata\",\n value: function onCdata(text) {\n var node = new SimpleDOMNode(\"#text\", text);\n\n this._currentFragment.push(node);\n }\n }, {\n key: \"onBeginElement\",\n value: function onBeginElement(name, attributes, isEmpty) {\n var node = new SimpleDOMNode(name);\n node.childNodes = [];\n\n this._currentFragment.push(node);\n\n if (isEmpty) {\n return;\n }\n\n this._stack.push(this._currentFragment);\n\n this._currentFragment = node.childNodes;\n }\n }, {\n key: \"onEndElement\",\n value: function onEndElement(name) {\n this._currentFragment = this._stack.pop() || [];\n var lastElement = this._currentFragment[this._currentFragment.length - 1];\n\n if (!lastElement) {\n return;\n }\n\n for (var i = 0, ii = lastElement.childNodes.length; i < ii; i++) {\n lastElement.childNodes[i].parentNode = lastElement;\n }\n }\n }, {\n key: \"onError\",\n value: function onError(code) {\n this._errorCode = code;\n }\n }]);\n\n return SimpleXMLParser;\n}(XMLParserBase);\n\nexports.SimpleXMLParser = SimpleXMLParser;\n\n/***/ }),\n/* 213 */\n/***/ (function(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__(5);\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _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 Object.fromEntries(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/* 214 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFDataTransportStream = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar PDFDataTransportStream = /*#__PURE__*/function () {\n function PDFDataTransportStream(params, pdfDataRangeTransport) {\n var _this = this;\n\n _classCallCheck(this, PDFDataTransportStream);\n\n (0, _util.assert)(pdfDataRangeTransport, 'PDFDataTransportStream - missing required \"pdfDataRangeTransport\" argument.');\n this._queuedChunks = [];\n this._progressiveDone = params.progressiveDone || false;\n var initialData = params.initialData;\n\n if (initialData && initialData.length > 0) {\n var buffer = new Uint8Array(initialData).buffer;\n\n this._queuedChunks.push(buffer);\n }\n\n this._pdfDataRangeTransport = pdfDataRangeTransport;\n this._isStreamingSupported = !params.disableStream;\n this._isRangeSupported = !params.disableRange;\n this._contentLength = params.length;\n this._fullRequestReader = null;\n this._rangeReaders = [];\n\n this._pdfDataRangeTransport.addRangeListener(function (begin, chunk) {\n _this._onReceiveData({\n begin: begin,\n chunk: chunk\n });\n });\n\n this._pdfDataRangeTransport.addProgressListener(function (loaded, total) {\n _this._onProgress({\n loaded: loaded,\n total: total\n });\n });\n\n this._pdfDataRangeTransport.addProgressiveReadListener(function (chunk) {\n _this._onReceiveData({\n chunk: chunk\n });\n });\n\n this._pdfDataRangeTransport.addProgressiveDoneListener(function () {\n _this._onProgressiveDone();\n });\n\n this._pdfDataRangeTransport.transportReady();\n }\n\n _createClass(PDFDataTransportStream, [{\n key: \"_onReceiveData\",\n value: function _onReceiveData(args) {\n var buffer = new Uint8Array(args.chunk).buffer;\n\n if (args.begin === undefined) {\n if (this._fullRequestReader) {\n this._fullRequestReader._enqueue(buffer);\n } else {\n this._queuedChunks.push(buffer);\n }\n } else {\n var found = this._rangeReaders.some(function (rangeReader) {\n if (rangeReader._begin !== args.begin) {\n return false;\n }\n\n rangeReader._enqueue(buffer);\n\n return true;\n });\n\n (0, _util.assert)(found, \"_onReceiveData - no `PDFDataTransportStreamRangeReader` instance found.\");\n }\n }\n }, {\n key: \"_onProgress\",\n value: function _onProgress(evt) {\n if (evt.total === undefined) {\n var firstReader = this._rangeReaders[0];\n\n if (firstReader && firstReader.onProgress) {\n firstReader.onProgress({\n loaded: evt.loaded\n });\n }\n } else {\n var fullReader = this._fullRequestReader;\n\n if (fullReader && fullReader.onProgress) {\n fullReader.onProgress({\n loaded: evt.loaded,\n total: evt.total\n });\n }\n }\n }\n }, {\n key: \"_onProgressiveDone\",\n value: function _onProgressiveDone() {\n if (this._fullRequestReader) {\n this._fullRequestReader.progressiveDone();\n }\n\n this._progressiveDone = true;\n }\n }, {\n key: \"_removeRangeReader\",\n value: function _removeRangeReader(reader) {\n var i = this._rangeReaders.indexOf(reader);\n\n if (i >= 0) {\n this._rangeReaders.splice(i, 1);\n }\n }\n }, {\n key: \"getFullReader\",\n value: function getFullReader() {\n (0, _util.assert)(!this._fullRequestReader, \"PDFDataTransportStream.getFullReader can only be called once.\");\n var queuedChunks = this._queuedChunks;\n this._queuedChunks = null;\n return new PDFDataTransportStreamReader(this, queuedChunks, this._progressiveDone);\n }\n }, {\n key: \"getRangeReader\",\n value: function getRangeReader(begin, end) {\n if (end <= this._progressiveDataLength) {\n return null;\n }\n\n var reader = new PDFDataTransportStreamRangeReader(this, begin, end);\n\n this._pdfDataRangeTransport.requestDataRange(begin, end);\n\n this._rangeReaders.push(reader);\n\n return reader;\n }\n }, {\n key: \"cancelAllRequests\",\n value: function cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n\n var readers = this._rangeReaders.slice(0);\n\n readers.forEach(function (rangeReader) {\n rangeReader.cancel(reason);\n });\n\n this._pdfDataRangeTransport.abort();\n }\n }, {\n key: \"_progressiveDataLength\",\n get: function get() {\n return this._fullRequestReader ? this._fullRequestReader._loaded : 0;\n }\n }]);\n\n return PDFDataTransportStream;\n}();\n\nexports.PDFDataTransportStream = PDFDataTransportStream;\n\nvar PDFDataTransportStreamReader = /*#__PURE__*/function () {\n function PDFDataTransportStreamReader(stream, queuedChunks) {\n var progressiveDone = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n _classCallCheck(this, PDFDataTransportStreamReader);\n\n this._stream = stream;\n this._done = progressiveDone || false;\n this._filename = null;\n this._queuedChunks = queuedChunks || [];\n this._loaded = 0;\n\n var _iterator = _createForOfIteratorHelper(this._queuedChunks),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var chunk = _step.value;\n this._loaded += chunk.byteLength;\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n this._requests = [];\n this._headersReady = Promise.resolve();\n stream._fullRequestReader = this;\n this.onProgress = null;\n }\n\n _createClass(PDFDataTransportStreamReader, [{\n key: \"_enqueue\",\n value: function _enqueue(chunk) {\n if (this._done) {\n return;\n }\n\n if (this._requests.length > 0) {\n var requestCapability = this._requests.shift();\n\n requestCapability.resolve({\n value: chunk,\n done: false\n });\n } else {\n this._queuedChunks.push(chunk);\n }\n\n this._loaded += chunk.byteLength;\n }\n }, {\n key: \"read\",\n value: function () {\n var _read = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee() {\n var chunk, requestCapability;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (!(this._queuedChunks.length > 0)) {\n _context.next = 3;\n break;\n }\n\n chunk = this._queuedChunks.shift();\n return _context.abrupt(\"return\", {\n value: chunk,\n done: false\n });\n\n case 3:\n if (!this._done) {\n _context.next = 5;\n break;\n }\n\n return _context.abrupt(\"return\", {\n value: undefined,\n done: true\n });\n\n case 5:\n requestCapability = (0, _util.createPromiseCapability)();\n\n this._requests.push(requestCapability);\n\n return _context.abrupt(\"return\", requestCapability.promise);\n\n case 8:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function read() {\n return _read.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n this._done = true;\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n }\n }, {\n key: \"progressiveDone\",\n value: function progressiveDone() {\n if (this._done) {\n return;\n }\n\n this._done = true;\n }\n }, {\n key: \"headersReady\",\n get: function get() {\n return this._headersReady;\n }\n }, {\n key: \"filename\",\n get: function get() {\n return this._filename;\n }\n }, {\n key: \"isRangeSupported\",\n get: function get() {\n return this._stream._isRangeSupported;\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return this._stream._isStreamingSupported;\n }\n }, {\n key: \"contentLength\",\n get: function get() {\n return this._stream._contentLength;\n }\n }]);\n\n return PDFDataTransportStreamReader;\n}();\n\nvar PDFDataTransportStreamRangeReader = /*#__PURE__*/function () {\n function PDFDataTransportStreamRangeReader(stream, begin, end) {\n _classCallCheck(this, PDFDataTransportStreamRangeReader);\n\n this._stream = stream;\n this._begin = begin;\n this._end = end;\n this._queuedChunk = null;\n this._requests = [];\n this._done = false;\n this.onProgress = null;\n }\n\n _createClass(PDFDataTransportStreamRangeReader, [{\n key: \"_enqueue\",\n value: function _enqueue(chunk) {\n if (this._done) {\n return;\n }\n\n if (this._requests.length === 0) {\n this._queuedChunk = chunk;\n } else {\n var requestsCapability = this._requests.shift();\n\n requestsCapability.resolve({\n value: chunk,\n done: false\n });\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n }\n\n this._done = true;\n\n this._stream._removeRangeReader(this);\n }\n }, {\n key: \"read\",\n value: function () {\n var _read2 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2() {\n var chunk, requestCapability;\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n if (!this._queuedChunk) {\n _context2.next = 4;\n break;\n }\n\n chunk = this._queuedChunk;\n this._queuedChunk = null;\n return _context2.abrupt(\"return\", {\n value: chunk,\n done: false\n });\n\n case 4:\n if (!this._done) {\n _context2.next = 6;\n break;\n }\n\n return _context2.abrupt(\"return\", {\n value: undefined,\n done: true\n });\n\n case 6:\n requestCapability = (0, _util.createPromiseCapability)();\n\n this._requests.push(requestCapability);\n\n return _context2.abrupt(\"return\", requestCapability.promise);\n\n case 9:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function read() {\n return _read2.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n this._done = true;\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n\n this._stream._removeRangeReader(this);\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return false;\n }\n }]);\n\n return PDFDataTransportStreamRangeReader;\n}();\n\n/***/ }),\n/* 215 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.WebGLContext = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar WebGLContext = /*#__PURE__*/function () {\n function WebGLContext(_ref) {\n var _ref$enable = _ref.enable,\n enable = _ref$enable === void 0 ? false : _ref$enable;\n\n _classCallCheck(this, WebGLContext);\n\n this._enabled = enable === true;\n }\n\n _createClass(WebGLContext, [{\n key: \"composeSMask\",\n value: function composeSMask(_ref2) {\n var layer = _ref2.layer,\n mask = _ref2.mask,\n properties = _ref2.properties;\n return WebGLUtils.composeSMask(layer, mask, properties);\n }\n }, {\n key: \"drawFigures\",\n value: function drawFigures(_ref3) {\n var width = _ref3.width,\n height = _ref3.height,\n backgroundColor = _ref3.backgroundColor,\n figures = _ref3.figures,\n context = _ref3.context;\n return WebGLUtils.drawFigures(width, height, backgroundColor, figures, context);\n }\n }, {\n key: \"clear\",\n value: function clear() {\n WebGLUtils.cleanup();\n }\n }, {\n key: \"isEnabled\",\n get: function get() {\n var enabled = this._enabled;\n\n if (enabled) {\n enabled = WebGLUtils.tryInitGL();\n }\n\n return (0, _util.shadow)(this, \"isEnabled\", enabled);\n }\n }]);\n\n return WebGLContext;\n}();\n\nexports.WebGLContext = WebGLContext;\n\nvar WebGLUtils = function WebGLUtilsClosure() {\n function loadShader(gl, code, shaderType) {\n var shader = gl.createShader(shaderType);\n gl.shaderSource(shader, code);\n gl.compileShader(shader);\n var compiled = gl.getShaderParameter(shader, gl.COMPILE_STATUS);\n\n if (!compiled) {\n var errorMsg = gl.getShaderInfoLog(shader);\n throw new Error(\"Error during shader compilation: \" + errorMsg);\n }\n\n return shader;\n }\n\n function createVertexShader(gl, code) {\n return loadShader(gl, code, gl.VERTEX_SHADER);\n }\n\n function createFragmentShader(gl, code) {\n return loadShader(gl, code, gl.FRAGMENT_SHADER);\n }\n\n function createProgram(gl, shaders) {\n var program = gl.createProgram();\n\n for (var i = 0, ii = shaders.length; i < ii; ++i) {\n gl.attachShader(program, shaders[i]);\n }\n\n gl.linkProgram(program);\n var linked = gl.getProgramParameter(program, gl.LINK_STATUS);\n\n if (!linked) {\n var errorMsg = gl.getProgramInfoLog(program);\n throw new Error(\"Error during program linking: \" + errorMsg);\n }\n\n return program;\n }\n\n function createTexture(gl, image, textureId) {\n gl.activeTexture(textureId);\n var texture = gl.createTexture();\n gl.bindTexture(gl.TEXTURE_2D, texture);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST);\n gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, image);\n return texture;\n }\n\n var currentGL, currentCanvas;\n\n function generateGL() {\n if (currentGL) {\n return;\n }\n\n currentCanvas = document.createElement(\"canvas\");\n currentGL = currentCanvas.getContext(\"webgl\", {\n premultipliedalpha: false\n });\n }\n\n var smaskVertexShaderCode = \"\\\n attribute vec2 a_position; \\\n attribute vec2 a_texCoord; \\\n \\\n uniform vec2 u_resolution; \\\n \\\n varying vec2 v_texCoord; \\\n \\\n void main() { \\\n vec2 clipSpace = (a_position / u_resolution) * 2.0 - 1.0; \\\n gl_Position = vec4(clipSpace * vec2(1, -1), 0, 1); \\\n \\\n v_texCoord = a_texCoord; \\\n } \";\n var smaskFragmentShaderCode = \"\\\n precision mediump float; \\\n \\\n uniform vec4 u_backdrop; \\\n uniform int u_subtype; \\\n uniform sampler2D u_image; \\\n uniform sampler2D u_mask; \\\n \\\n varying vec2 v_texCoord; \\\n \\\n void main() { \\\n vec4 imageColor = texture2D(u_image, v_texCoord); \\\n vec4 maskColor = texture2D(u_mask, v_texCoord); \\\n if (u_backdrop.a > 0.0) { \\\n maskColor.rgb = maskColor.rgb * maskColor.a + \\\n u_backdrop.rgb * (1.0 - maskColor.a); \\\n } \\\n float lum; \\\n if (u_subtype == 0) { \\\n lum = maskColor.a; \\\n } else { \\\n lum = maskColor.r * 0.3 + maskColor.g * 0.59 + \\\n maskColor.b * 0.11; \\\n } \\\n imageColor.a *= lum; \\\n imageColor.rgb *= imageColor.a; \\\n gl_FragColor = imageColor; \\\n } \";\n var smaskCache = null;\n\n function initSmaskGL() {\n var canvas, gl;\n generateGL();\n canvas = currentCanvas;\n currentCanvas = null;\n gl = currentGL;\n currentGL = null;\n var vertexShader = createVertexShader(gl, smaskVertexShaderCode);\n var fragmentShader = createFragmentShader(gl, smaskFragmentShaderCode);\n var program = createProgram(gl, [vertexShader, fragmentShader]);\n gl.useProgram(program);\n var cache = {};\n cache.gl = gl;\n cache.canvas = canvas;\n cache.resolutionLocation = gl.getUniformLocation(program, \"u_resolution\");\n cache.positionLocation = gl.getAttribLocation(program, \"a_position\");\n cache.backdropLocation = gl.getUniformLocation(program, \"u_backdrop\");\n cache.subtypeLocation = gl.getUniformLocation(program, \"u_subtype\");\n var texCoordLocation = gl.getAttribLocation(program, \"a_texCoord\");\n var texLayerLocation = gl.getUniformLocation(program, \"u_image\");\n var texMaskLocation = gl.getUniformLocation(program, \"u_mask\");\n var texCoordBuffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, texCoordBuffer);\n gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 1.0, 1.0, 0.0, 1.0, 1.0]), gl.STATIC_DRAW);\n gl.enableVertexAttribArray(texCoordLocation);\n gl.vertexAttribPointer(texCoordLocation, 2, gl.FLOAT, false, 0, 0);\n gl.uniform1i(texLayerLocation, 0);\n gl.uniform1i(texMaskLocation, 1);\n smaskCache = cache;\n }\n\n function composeSMask(layer, mask, properties) {\n var width = layer.width,\n height = layer.height;\n\n if (!smaskCache) {\n initSmaskGL();\n }\n\n var cache = smaskCache,\n canvas = cache.canvas,\n gl = cache.gl;\n canvas.width = width;\n canvas.height = height;\n gl.viewport(0, 0, gl.drawingBufferWidth, gl.drawingBufferHeight);\n gl.uniform2f(cache.resolutionLocation, width, height);\n\n if (properties.backdrop) {\n gl.uniform4f(cache.resolutionLocation, properties.backdrop[0], properties.backdrop[1], properties.backdrop[2], 1);\n } else {\n gl.uniform4f(cache.resolutionLocation, 0, 0, 0, 0);\n }\n\n gl.uniform1i(cache.subtypeLocation, properties.subtype === \"Luminosity\" ? 1 : 0);\n var texture = createTexture(gl, layer, gl.TEXTURE0);\n var maskTexture = createTexture(gl, mask, gl.TEXTURE1);\n var buffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, buffer);\n gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([0, 0, width, 0, 0, height, 0, height, width, 0, width, height]), gl.STATIC_DRAW);\n gl.enableVertexAttribArray(cache.positionLocation);\n gl.vertexAttribPointer(cache.positionLocation, 2, gl.FLOAT, false, 0, 0);\n gl.clearColor(0, 0, 0, 0);\n gl.enable(gl.BLEND);\n gl.blendFunc(gl.ONE, gl.ONE_MINUS_SRC_ALPHA);\n gl.clear(gl.COLOR_BUFFER_BIT);\n gl.drawArrays(gl.TRIANGLES, 0, 6);\n gl.flush();\n gl.deleteTexture(texture);\n gl.deleteTexture(maskTexture);\n gl.deleteBuffer(buffer);\n return canvas;\n }\n\n var figuresVertexShaderCode = \"\\\n attribute vec2 a_position; \\\n attribute vec3 a_color; \\\n \\\n uniform vec2 u_resolution; \\\n uniform vec2 u_scale; \\\n uniform vec2 u_offset; \\\n \\\n varying vec4 v_color; \\\n \\\n void main() { \\\n vec2 position = (a_position + u_offset) * u_scale; \\\n vec2 clipSpace = (position / u_resolution) * 2.0 - 1.0; \\\n gl_Position = vec4(clipSpace * vec2(1, -1), 0, 1); \\\n \\\n v_color = vec4(a_color / 255.0, 1.0); \\\n } \";\n var figuresFragmentShaderCode = \"\\\n precision mediump float; \\\n \\\n varying vec4 v_color; \\\n \\\n void main() { \\\n gl_FragColor = v_color; \\\n } \";\n var figuresCache = null;\n\n function initFiguresGL() {\n var canvas, gl;\n generateGL();\n canvas = currentCanvas;\n currentCanvas = null;\n gl = currentGL;\n currentGL = null;\n var vertexShader = createVertexShader(gl, figuresVertexShaderCode);\n var fragmentShader = createFragmentShader(gl, figuresFragmentShaderCode);\n var program = createProgram(gl, [vertexShader, fragmentShader]);\n gl.useProgram(program);\n var cache = {};\n cache.gl = gl;\n cache.canvas = canvas;\n cache.resolutionLocation = gl.getUniformLocation(program, \"u_resolution\");\n cache.scaleLocation = gl.getUniformLocation(program, \"u_scale\");\n cache.offsetLocation = gl.getUniformLocation(program, \"u_offset\");\n cache.positionLocation = gl.getAttribLocation(program, \"a_position\");\n cache.colorLocation = gl.getAttribLocation(program, \"a_color\");\n figuresCache = cache;\n }\n\n function drawFigures(width, height, backgroundColor, figures, context) {\n if (!figuresCache) {\n initFiguresGL();\n }\n\n var cache = figuresCache,\n canvas = cache.canvas,\n gl = cache.gl;\n canvas.width = width;\n canvas.height = height;\n gl.viewport(0, 0, gl.drawingBufferWidth, gl.drawingBufferHeight);\n gl.uniform2f(cache.resolutionLocation, width, height);\n var count = 0;\n var i, ii, rows;\n\n for (i = 0, ii = figures.length; i < ii; i++) {\n switch (figures[i].type) {\n case \"lattice\":\n rows = figures[i].coords.length / figures[i].verticesPerRow | 0;\n count += (rows - 1) * (figures[i].verticesPerRow - 1) * 6;\n break;\n\n case \"triangles\":\n count += figures[i].coords.length;\n break;\n }\n }\n\n var coords = new Float32Array(count * 2);\n var colors = new Uint8Array(count * 3);\n var coordsMap = context.coords,\n colorsMap = context.colors;\n var pIndex = 0,\n cIndex = 0;\n\n for (i = 0, ii = figures.length; i < ii; i++) {\n var figure = figures[i],\n ps = figure.coords,\n cs = figure.colors;\n\n switch (figure.type) {\n case \"lattice\":\n var cols = figure.verticesPerRow;\n rows = ps.length / cols | 0;\n\n for (var row = 1; row < rows; row++) {\n var offset = row * cols + 1;\n\n for (var col = 1; col < cols; col++, offset++) {\n coords[pIndex] = coordsMap[ps[offset - cols - 1]];\n coords[pIndex + 1] = coordsMap[ps[offset - cols - 1] + 1];\n coords[pIndex + 2] = coordsMap[ps[offset - cols]];\n coords[pIndex + 3] = coordsMap[ps[offset - cols] + 1];\n coords[pIndex + 4] = coordsMap[ps[offset - 1]];\n coords[pIndex + 5] = coordsMap[ps[offset - 1] + 1];\n colors[cIndex] = colorsMap[cs[offset - cols - 1]];\n colors[cIndex + 1] = colorsMap[cs[offset - cols - 1] + 1];\n colors[cIndex + 2] = colorsMap[cs[offset - cols - 1] + 2];\n colors[cIndex + 3] = colorsMap[cs[offset - cols]];\n colors[cIndex + 4] = colorsMap[cs[offset - cols] + 1];\n colors[cIndex + 5] = colorsMap[cs[offset - cols] + 2];\n colors[cIndex + 6] = colorsMap[cs[offset - 1]];\n colors[cIndex + 7] = colorsMap[cs[offset - 1] + 1];\n colors[cIndex + 8] = colorsMap[cs[offset - 1] + 2];\n coords[pIndex + 6] = coords[pIndex + 2];\n coords[pIndex + 7] = coords[pIndex + 3];\n coords[pIndex + 8] = coords[pIndex + 4];\n coords[pIndex + 9] = coords[pIndex + 5];\n coords[pIndex + 10] = coordsMap[ps[offset]];\n coords[pIndex + 11] = coordsMap[ps[offset] + 1];\n colors[cIndex + 9] = colors[cIndex + 3];\n colors[cIndex + 10] = colors[cIndex + 4];\n colors[cIndex + 11] = colors[cIndex + 5];\n colors[cIndex + 12] = colors[cIndex + 6];\n colors[cIndex + 13] = colors[cIndex + 7];\n colors[cIndex + 14] = colors[cIndex + 8];\n colors[cIndex + 15] = colorsMap[cs[offset]];\n colors[cIndex + 16] = colorsMap[cs[offset] + 1];\n colors[cIndex + 17] = colorsMap[cs[offset] + 2];\n pIndex += 12;\n cIndex += 18;\n }\n }\n\n break;\n\n case \"triangles\":\n for (var j = 0, jj = ps.length; j < jj; j++) {\n coords[pIndex] = coordsMap[ps[j]];\n coords[pIndex + 1] = coordsMap[ps[j] + 1];\n colors[cIndex] = colorsMap[cs[j]];\n colors[cIndex + 1] = colorsMap[cs[j] + 1];\n colors[cIndex + 2] = colorsMap[cs[j] + 2];\n pIndex += 2;\n cIndex += 3;\n }\n\n break;\n }\n }\n\n if (backgroundColor) {\n gl.clearColor(backgroundColor[0] / 255, backgroundColor[1] / 255, backgroundColor[2] / 255, 1.0);\n } else {\n gl.clearColor(0, 0, 0, 0);\n }\n\n gl.clear(gl.COLOR_BUFFER_BIT);\n var coordsBuffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, coordsBuffer);\n gl.bufferData(gl.ARRAY_BUFFER, coords, gl.STATIC_DRAW);\n gl.enableVertexAttribArray(cache.positionLocation);\n gl.vertexAttribPointer(cache.positionLocation, 2, gl.FLOAT, false, 0, 0);\n var colorsBuffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, colorsBuffer);\n gl.bufferData(gl.ARRAY_BUFFER, colors, gl.STATIC_DRAW);\n gl.enableVertexAttribArray(cache.colorLocation);\n gl.vertexAttribPointer(cache.colorLocation, 3, gl.UNSIGNED_BYTE, false, 0, 0);\n gl.uniform2f(cache.scaleLocation, context.scaleX, context.scaleY);\n gl.uniform2f(cache.offsetLocation, context.offsetX, context.offsetY);\n gl.drawArrays(gl.TRIANGLES, 0, count);\n gl.flush();\n gl.deleteBuffer(coordsBuffer);\n gl.deleteBuffer(colorsBuffer);\n return canvas;\n }\n\n return {\n tryInitGL: function tryInitGL() {\n try {\n generateGL();\n return !!currentGL;\n } catch (ex) {}\n\n return false;\n },\n composeSMask: composeSMask,\n drawFigures: drawFigures,\n cleanup: function cleanup() {\n if (smaskCache && smaskCache.canvas) {\n smaskCache.canvas.width = 0;\n smaskCache.canvas.height = 0;\n }\n\n if (figuresCache && figuresCache.canvas) {\n figuresCache.canvas.width = 0;\n figuresCache.canvas.height = 0;\n }\n\n smaskCache = null;\n figuresCache = null;\n }\n };\n}();\n\n/***/ }),\n/* 216 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.AnnotationLayer = void 0;\n\nvar _display_utils = __w_pdfjs_require__(1);\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _annotation_storage = __w_pdfjs_require__(205);\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 _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar AnnotationElementFactory = /*#__PURE__*/function () {\n function AnnotationElementFactory() {\n _classCallCheck(this, AnnotationElementFactory);\n }\n\n _createClass(AnnotationElementFactory, null, [{\n key: \"create\",\n value: function create(parameters) {\n var subtype = parameters.data.annotationType;\n\n switch (subtype) {\n case _util.AnnotationType.LINK:\n return new LinkAnnotationElement(parameters);\n\n case _util.AnnotationType.TEXT:\n return new TextAnnotationElement(parameters);\n\n case _util.AnnotationType.WIDGET:\n var fieldType = parameters.data.fieldType;\n\n switch (fieldType) {\n case \"Tx\":\n return new TextWidgetAnnotationElement(parameters);\n\n case \"Btn\":\n if (parameters.data.radioButton) {\n return new RadioButtonWidgetAnnotationElement(parameters);\n } else if (parameters.data.checkBox) {\n return new CheckboxWidgetAnnotationElement(parameters);\n }\n\n return new PushButtonWidgetAnnotationElement(parameters);\n\n case \"Ch\":\n return new ChoiceWidgetAnnotationElement(parameters);\n }\n\n return new WidgetAnnotationElement(parameters);\n\n case _util.AnnotationType.POPUP:\n return new PopupAnnotationElement(parameters);\n\n case _util.AnnotationType.FREETEXT:\n return new FreeTextAnnotationElement(parameters);\n\n case _util.AnnotationType.LINE:\n return new LineAnnotationElement(parameters);\n\n case _util.AnnotationType.SQUARE:\n return new SquareAnnotationElement(parameters);\n\n case _util.AnnotationType.CIRCLE:\n return new CircleAnnotationElement(parameters);\n\n case _util.AnnotationType.POLYLINE:\n return new PolylineAnnotationElement(parameters);\n\n case _util.AnnotationType.CARET:\n return new CaretAnnotationElement(parameters);\n\n case _util.AnnotationType.INK:\n return new InkAnnotationElement(parameters);\n\n case _util.AnnotationType.POLYGON:\n return new PolygonAnnotationElement(parameters);\n\n case _util.AnnotationType.HIGHLIGHT:\n return new HighlightAnnotationElement(parameters);\n\n case _util.AnnotationType.UNDERLINE:\n return new UnderlineAnnotationElement(parameters);\n\n case _util.AnnotationType.SQUIGGLY:\n return new SquigglyAnnotationElement(parameters);\n\n case _util.AnnotationType.STRIKEOUT:\n return new StrikeOutAnnotationElement(parameters);\n\n case _util.AnnotationType.STAMP:\n return new StampAnnotationElement(parameters);\n\n case _util.AnnotationType.FILEATTACHMENT:\n return new FileAttachmentAnnotationElement(parameters);\n\n default:\n return new AnnotationElement(parameters);\n }\n }\n }]);\n\n return AnnotationElementFactory;\n}();\n\nvar AnnotationElement = /*#__PURE__*/function () {\n function AnnotationElement(parameters) {\n var isRenderable = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var ignoreBorder = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n _classCallCheck(this, AnnotationElement);\n\n this.isRenderable = isRenderable;\n this.data = parameters.data;\n this.layer = parameters.layer;\n this.page = parameters.page;\n this.viewport = parameters.viewport;\n this.linkService = parameters.linkService;\n this.downloadManager = parameters.downloadManager;\n this.imageResourcesPath = parameters.imageResourcesPath;\n this.renderInteractiveForms = parameters.renderInteractiveForms;\n this.svgFactory = parameters.svgFactory;\n this.annotationStorage = parameters.annotationStorage;\n\n if (isRenderable) {\n this.container = this._createContainer(ignoreBorder);\n }\n }\n\n _createClass(AnnotationElement, [{\n key: \"_createContainer\",\n value: function _createContainer() {\n var ignoreBorder = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var data = this.data,\n page = this.page,\n viewport = this.viewport;\n var container = document.createElement(\"section\");\n var width = data.rect[2] - data.rect[0];\n var height = data.rect[3] - data.rect[1];\n container.setAttribute(\"data-annotation-id\", data.id);\n\n var rect = _util.Util.normalizeRect([data.rect[0], page.view[3] - data.rect[1] + page.view[1], data.rect[2], page.view[3] - data.rect[3] + page.view[1]]);\n\n container.style.transform = \"matrix(\".concat(viewport.transform.join(\",\"), \")\");\n container.style.transformOrigin = \"-\".concat(rect[0], \"px -\").concat(rect[1], \"px\");\n\n if (!ignoreBorder && data.borderStyle.width > 0) {\n container.style.borderWidth = \"\".concat(data.borderStyle.width, \"px\");\n\n if (data.borderStyle.style !== _util.AnnotationBorderStyleType.UNDERLINE) {\n width = width - 2 * data.borderStyle.width;\n height = height - 2 * data.borderStyle.width;\n }\n\n var horizontalRadius = data.borderStyle.horizontalCornerRadius;\n var verticalRadius = data.borderStyle.verticalCornerRadius;\n\n if (horizontalRadius > 0 || verticalRadius > 0) {\n var radius = \"\".concat(horizontalRadius, \"px / \").concat(verticalRadius, \"px\");\n container.style.borderRadius = radius;\n }\n\n switch (data.borderStyle.style) {\n case _util.AnnotationBorderStyleType.SOLID:\n container.style.borderStyle = \"solid\";\n break;\n\n case _util.AnnotationBorderStyleType.DASHED:\n container.style.borderStyle = \"dashed\";\n break;\n\n case _util.AnnotationBorderStyleType.BEVELED:\n (0, _util.warn)(\"Unimplemented border style: beveled\");\n break;\n\n case _util.AnnotationBorderStyleType.INSET:\n (0, _util.warn)(\"Unimplemented border style: inset\");\n break;\n\n case _util.AnnotationBorderStyleType.UNDERLINE:\n container.style.borderBottomStyle = \"solid\";\n break;\n\n default:\n break;\n }\n\n if (data.color) {\n container.style.borderColor = _util.Util.makeCssRgb(data.color[0] | 0, data.color[1] | 0, data.color[2] | 0);\n } else {\n container.style.borderWidth = 0;\n }\n }\n\n container.style.left = \"\".concat(rect[0], \"px\");\n container.style.top = \"\".concat(rect[1], \"px\");\n container.style.width = \"\".concat(width, \"px\");\n container.style.height = \"\".concat(height, \"px\");\n return container;\n }\n }, {\n key: \"_createPopup\",\n value: function _createPopup(container, trigger, data) {\n if (!trigger) {\n trigger = document.createElement(\"div\");\n trigger.style.height = container.style.height;\n trigger.style.width = container.style.width;\n container.appendChild(trigger);\n }\n\n var popupElement = new PopupElement({\n container: container,\n trigger: trigger,\n color: data.color,\n title: data.title,\n modificationDate: data.modificationDate,\n contents: data.contents,\n hideWrapper: true\n });\n var popup = popupElement.render();\n popup.style.left = container.style.width;\n container.appendChild(popup);\n }\n }, {\n key: \"render\",\n value: function render() {\n (0, _util.unreachable)(\"Abstract method `AnnotationElement.render` called\");\n }\n }]);\n\n return AnnotationElement;\n}();\n\nvar LinkAnnotationElement = /*#__PURE__*/function (_AnnotationElement) {\n _inherits(LinkAnnotationElement, _AnnotationElement);\n\n var _super = _createSuper(LinkAnnotationElement);\n\n function LinkAnnotationElement(parameters) {\n _classCallCheck(this, LinkAnnotationElement);\n\n var isRenderable = !!(parameters.data.url || parameters.data.dest || parameters.data.action);\n return _super.call(this, parameters, isRenderable);\n }\n\n _createClass(LinkAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"linkAnnotation\";\n var data = this.data,\n linkService = this.linkService;\n var link = document.createElement(\"a\");\n\n if (data.url) {\n (0, _display_utils.addLinkAttributes)(link, {\n url: data.url,\n target: data.newWindow ? _display_utils.LinkTarget.BLANK : linkService.externalLinkTarget,\n rel: linkService.externalLinkRel,\n enabled: linkService.externalLinkEnabled\n });\n } else if (data.action) {\n this._bindNamedAction(link, data.action);\n } else {\n this._bindLink(link, data.dest);\n }\n\n this.container.appendChild(link);\n return this.container;\n }\n }, {\n key: \"_bindLink\",\n value: function _bindLink(link, destination) {\n var _this = this;\n\n link.href = this.linkService.getDestinationHash(destination);\n\n link.onclick = function () {\n if (destination) {\n _this.linkService.navigateTo(destination);\n }\n\n return false;\n };\n\n if (destination) {\n link.className = \"internalLink\";\n }\n }\n }, {\n key: \"_bindNamedAction\",\n value: function _bindNamedAction(link, action) {\n var _this2 = this;\n\n link.href = this.linkService.getAnchorUrl(\"\");\n\n link.onclick = function () {\n _this2.linkService.executeNamedAction(action);\n\n return false;\n };\n\n link.className = \"internalLink\";\n }\n }]);\n\n return LinkAnnotationElement;\n}(AnnotationElement);\n\nvar TextAnnotationElement = /*#__PURE__*/function (_AnnotationElement2) {\n _inherits(TextAnnotationElement, _AnnotationElement2);\n\n var _super2 = _createSuper(TextAnnotationElement);\n\n function TextAnnotationElement(parameters) {\n _classCallCheck(this, TextAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super2.call(this, parameters, isRenderable);\n }\n\n _createClass(TextAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"textAnnotation\";\n var image = document.createElement(\"img\");\n image.style.height = this.container.style.height;\n image.style.width = this.container.style.width;\n image.src = this.imageResourcesPath + \"annotation-\" + this.data.name.toLowerCase() + \".svg\";\n image.alt = \"[{{type}} Annotation]\";\n image.dataset.l10nId = \"text_annotation_type\";\n image.dataset.l10nArgs = JSON.stringify({\n type: this.data.name\n });\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, image, this.data);\n }\n\n this.container.appendChild(image);\n return this.container;\n }\n }]);\n\n return TextAnnotationElement;\n}(AnnotationElement);\n\nvar WidgetAnnotationElement = /*#__PURE__*/function (_AnnotationElement3) {\n _inherits(WidgetAnnotationElement, _AnnotationElement3);\n\n var _super3 = _createSuper(WidgetAnnotationElement);\n\n function WidgetAnnotationElement() {\n _classCallCheck(this, WidgetAnnotationElement);\n\n return _super3.apply(this, arguments);\n }\n\n _createClass(WidgetAnnotationElement, [{\n key: \"render\",\n value: function render() {\n return this.container;\n }\n }]);\n\n return WidgetAnnotationElement;\n}(AnnotationElement);\n\nvar TextWidgetAnnotationElement = /*#__PURE__*/function (_WidgetAnnotationElem) {\n _inherits(TextWidgetAnnotationElement, _WidgetAnnotationElem);\n\n var _super4 = _createSuper(TextWidgetAnnotationElement);\n\n function TextWidgetAnnotationElement(parameters) {\n _classCallCheck(this, TextWidgetAnnotationElement);\n\n var isRenderable = parameters.renderInteractiveForms || !parameters.data.hasAppearance && !!parameters.data.fieldValue;\n return _super4.call(this, parameters, isRenderable);\n }\n\n _createClass(TextWidgetAnnotationElement, [{\n key: \"render\",\n value: function render() {\n var TEXT_ALIGNMENT = [\"left\", \"center\", \"right\"];\n 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, this.data.fieldValue);\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 element.addEventListener(\"input\", function (event) {\n storage.setValue(id, event.target.value);\n });\n element.disabled = this.data.readOnly;\n element.name = this.data.fieldName;\n\n if (this.data.maxLen !== null) {\n element.maxLength = this.data.maxLen;\n }\n\n if (this.data.comb) {\n var fieldWidth = this.data.rect[2] - this.data.rect[0];\n var combWidth = fieldWidth / this.data.maxLen;\n element.classList.add(\"comb\");\n element.style.letterSpacing = \"calc(\".concat(combWidth, \"px - 1ch)\");\n }\n } else {\n element = document.createElement(\"div\");\n element.textContent = this.data.fieldValue;\n element.style.verticalAlign = \"middle\";\n element.style.display = \"table-cell\";\n var font = null;\n\n if (this.data.fontRefName && this.page.commonObjs.has(this.data.fontRefName)) {\n font = this.page.commonObjs.get(this.data.fontRefName);\n }\n\n this._setTextStyle(element, font);\n }\n\n if (this.data.textAlignment !== null) {\n element.style.textAlign = TEXT_ALIGNMENT[this.data.textAlignment];\n }\n\n this.container.appendChild(element);\n return this.container;\n }\n }, {\n key: \"_setTextStyle\",\n value: function _setTextStyle(element, font) {\n var style = element.style;\n style.fontSize = \"\".concat(this.data.fontSize, \"px\");\n style.direction = this.data.fontDirection < 0 ? \"rtl\" : \"ltr\";\n\n if (!font) {\n return;\n }\n\n var bold = \"normal\";\n\n if (font.black) {\n bold = \"900\";\n } else if (font.bold) {\n bold = \"bold\";\n }\n\n style.fontWeight = bold;\n style.fontStyle = font.italic ? \"italic\" : \"normal\";\n var fontFamily = font.loadedName ? \"\\\"\".concat(font.loadedName, \"\\\", \") : \"\";\n var fallbackName = font.fallbackName || \"Helvetica, sans-serif\";\n style.fontFamily = fontFamily + fallbackName;\n }\n }]);\n\n return TextWidgetAnnotationElement;\n}(WidgetAnnotationElement);\n\nvar CheckboxWidgetAnnotationElement = /*#__PURE__*/function (_WidgetAnnotationElem2) {\n _inherits(CheckboxWidgetAnnotationElement, _WidgetAnnotationElem2);\n\n var _super5 = _createSuper(CheckboxWidgetAnnotationElement);\n\n function CheckboxWidgetAnnotationElement(parameters) {\n _classCallCheck(this, CheckboxWidgetAnnotationElement);\n\n return _super5.call(this, parameters, parameters.renderInteractiveForms);\n }\n\n _createClass(CheckboxWidgetAnnotationElement, [{\n key: \"render\",\n value: function render() {\n var storage = this.annotationStorage;\n var data = this.data;\n var id = data.id;\n var value = storage.getOrCreateValue(id, data.fieldValue && data.fieldValue !== \"Off\");\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.addEventListener(\"change\", function (event) {\n storage.setValue(id, event.target.checked);\n });\n this.container.appendChild(element);\n return this.container;\n }\n }]);\n\n return CheckboxWidgetAnnotationElement;\n}(WidgetAnnotationElement);\n\nvar RadioButtonWidgetAnnotationElement = /*#__PURE__*/function (_WidgetAnnotationElem3) {\n _inherits(RadioButtonWidgetAnnotationElement, _WidgetAnnotationElem3);\n\n var _super6 = _createSuper(RadioButtonWidgetAnnotationElement);\n\n function RadioButtonWidgetAnnotationElement(parameters) {\n _classCallCheck(this, RadioButtonWidgetAnnotationElement);\n\n return _super6.call(this, parameters, parameters.renderInteractiveForms);\n }\n\n _createClass(RadioButtonWidgetAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"buttonWidgetAnnotation radioButton\";\n var storage = this.annotationStorage;\n var data = this.data;\n var id = data.id;\n var value = storage.getOrCreateValue(id, data.fieldValue === data.buttonValue);\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.addEventListener(\"change\", function (event) {\n var name = event.target.name;\n\n var _iterator = _createForOfIteratorHelper(document.getElementsByName(name)),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var radio = _step.value;\n\n if (radio !== event.target) {\n storage.setValue(radio.parentNode.getAttribute(\"data-annotation-id\"), false);\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n storage.setValue(id, event.target.checked);\n });\n this.container.appendChild(element);\n return this.container;\n }\n }]);\n\n return RadioButtonWidgetAnnotationElement;\n}(WidgetAnnotationElement);\n\nvar PushButtonWidgetAnnotationElement = /*#__PURE__*/function (_LinkAnnotationElemen) {\n _inherits(PushButtonWidgetAnnotationElement, _LinkAnnotationElemen);\n\n var _super7 = _createSuper(PushButtonWidgetAnnotationElement);\n\n function PushButtonWidgetAnnotationElement() {\n _classCallCheck(this, PushButtonWidgetAnnotationElement);\n\n return _super7.apply(this, arguments);\n }\n\n _createClass(PushButtonWidgetAnnotationElement, [{\n key: \"render\",\n value: function render() {\n var container = _get(_getPrototypeOf(PushButtonWidgetAnnotationElement.prototype), \"render\", this).call(this);\n\n container.className = \"buttonWidgetAnnotation pushButton\";\n return container;\n }\n }]);\n\n return PushButtonWidgetAnnotationElement;\n}(LinkAnnotationElement);\n\nvar ChoiceWidgetAnnotationElement = /*#__PURE__*/function (_WidgetAnnotationElem4) {\n _inherits(ChoiceWidgetAnnotationElement, _WidgetAnnotationElem4);\n\n var _super8 = _createSuper(ChoiceWidgetAnnotationElement);\n\n function ChoiceWidgetAnnotationElement(parameters) {\n _classCallCheck(this, ChoiceWidgetAnnotationElement);\n\n return _super8.call(this, parameters, parameters.renderInteractiveForms);\n }\n\n _createClass(ChoiceWidgetAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"choiceWidgetAnnotation\";\n var storage = this.annotationStorage;\n var id = this.data.id;\n storage.getOrCreateValue(id, this.data.fieldValue.length > 0 ? this.data.fieldValue[0] : null);\n var selectElement = document.createElement(\"select\");\n selectElement.disabled = this.data.readOnly;\n selectElement.name = this.data.fieldName;\n\n if (!this.data.combo) {\n selectElement.size = this.data.options.length;\n\n if (this.data.multiSelect) {\n selectElement.multiple = true;\n }\n }\n\n var _iterator2 = _createForOfIteratorHelper(this.data.options),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var option = _step2.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 _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n\n selectElement.addEventListener(\"input\", function (event) {\n var options = event.target.options;\n var value = options[options.selectedIndex].value;\n storage.setValue(id, value);\n });\n this.container.appendChild(selectElement);\n return this.container;\n }\n }]);\n\n return ChoiceWidgetAnnotationElement;\n}(WidgetAnnotationElement);\n\nvar PopupAnnotationElement = /*#__PURE__*/function (_AnnotationElement4) {\n _inherits(PopupAnnotationElement, _AnnotationElement4);\n\n var _super9 = _createSuper(PopupAnnotationElement);\n\n function PopupAnnotationElement(parameters) {\n _classCallCheck(this, PopupAnnotationElement);\n\n var isRenderable = !!(parameters.data.title || parameters.data.contents);\n return _super9.call(this, parameters, isRenderable);\n }\n\n _createClass(PopupAnnotationElement, [{\n key: \"render\",\n value: function render() {\n var IGNORE_TYPES = [\"Line\", \"Square\", \"Circle\", \"PolyLine\", \"Polygon\", \"Ink\"];\n this.container.className = \"popupAnnotation\";\n\n if (IGNORE_TYPES.includes(this.data.parentType)) {\n return this.container;\n }\n\n var selector = \"[data-annotation-id=\\\"\".concat(this.data.parentId, \"\\\"]\");\n var parentElement = this.layer.querySelector(selector);\n\n if (!parentElement) {\n return this.container;\n }\n\n var popup = new PopupElement({\n container: this.container,\n trigger: parentElement,\n color: this.data.color,\n title: this.data.title,\n modificationDate: this.data.modificationDate,\n contents: this.data.contents\n });\n var parentLeft = parseFloat(parentElement.style.left);\n var parentWidth = parseFloat(parentElement.style.width);\n this.container.style.transformOrigin = \"-\".concat(parentLeft + parentWidth, \"px -\").concat(parentElement.style.top);\n this.container.style.left = \"\".concat(parentLeft + parentWidth, \"px\");\n this.container.appendChild(popup.render());\n return this.container;\n }\n }]);\n\n return PopupAnnotationElement;\n}(AnnotationElement);\n\nvar PopupElement = /*#__PURE__*/function () {\n function PopupElement(parameters) {\n _classCallCheck(this, PopupElement);\n\n this.container = parameters.container;\n this.trigger = parameters.trigger;\n this.color = parameters.color;\n this.title = parameters.title;\n this.modificationDate = parameters.modificationDate;\n this.contents = parameters.contents;\n this.hideWrapper = parameters.hideWrapper || false;\n this.pinned = false;\n }\n\n _createClass(PopupElement, [{\n key: \"render\",\n value: function render() {\n var BACKGROUND_ENLIGHT = 0.7;\n var wrapper = document.createElement(\"div\");\n wrapper.className = \"popupWrapper\";\n this.hideElement = this.hideWrapper ? wrapper : this.container;\n this.hideElement.setAttribute(\"hidden\", true);\n var popup = document.createElement(\"div\");\n popup.className = \"popup\";\n var color = this.color;\n\n if (color) {\n var r = BACKGROUND_ENLIGHT * (255 - color[0]) + color[0];\n var g = BACKGROUND_ENLIGHT * (255 - color[1]) + color[1];\n var b = BACKGROUND_ENLIGHT * (255 - color[2]) + color[2];\n popup.style.backgroundColor = _util.Util.makeCssRgb(r | 0, g | 0, b | 0);\n }\n\n var title = document.createElement(\"h1\");\n title.textContent = this.title;\n popup.appendChild(title);\n\n var dateObject = _display_utils.PDFDateString.toDateObject(this.modificationDate);\n\n if (dateObject) {\n var modificationDate = document.createElement(\"span\");\n modificationDate.textContent = \"{{date}}, {{time}}\";\n modificationDate.dataset.l10nId = \"annotation_date_string\";\n modificationDate.dataset.l10nArgs = JSON.stringify({\n date: dateObject.toLocaleDateString(),\n time: dateObject.toLocaleTimeString()\n });\n popup.appendChild(modificationDate);\n }\n\n var contents = this._formatContents(this.contents);\n\n popup.appendChild(contents);\n this.trigger.addEventListener(\"click\", this._toggle.bind(this));\n this.trigger.addEventListener(\"mouseover\", this._show.bind(this, false));\n this.trigger.addEventListener(\"mouseout\", this._hide.bind(this, false));\n popup.addEventListener(\"click\", this._hide.bind(this, true));\n wrapper.appendChild(popup);\n return wrapper;\n }\n }, {\n key: \"_formatContents\",\n value: function _formatContents(contents) {\n var p = document.createElement(\"p\");\n var lines = contents.split(/(?:\\r\\n?|\\n)/);\n\n for (var i = 0, ii = lines.length; i < ii; ++i) {\n var line = lines[i];\n p.appendChild(document.createTextNode(line));\n\n if (i < ii - 1) {\n p.appendChild(document.createElement(\"br\"));\n }\n }\n\n return p;\n }\n }, {\n key: \"_toggle\",\n value: function _toggle() {\n if (this.pinned) {\n this._hide(true);\n } else {\n this._show(true);\n }\n }\n }, {\n key: \"_show\",\n value: function _show() {\n var pin = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (pin) {\n this.pinned = true;\n }\n\n if (this.hideElement.hasAttribute(\"hidden\")) {\n this.hideElement.removeAttribute(\"hidden\");\n this.container.style.zIndex += 1;\n }\n }\n }, {\n key: \"_hide\",\n value: function _hide() {\n var unpin = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n if (unpin) {\n this.pinned = false;\n }\n\n if (!this.hideElement.hasAttribute(\"hidden\") && !this.pinned) {\n this.hideElement.setAttribute(\"hidden\", true);\n this.container.style.zIndex -= 1;\n }\n }\n }]);\n\n return PopupElement;\n}();\n\nvar FreeTextAnnotationElement = /*#__PURE__*/function (_AnnotationElement5) {\n _inherits(FreeTextAnnotationElement, _AnnotationElement5);\n\n var _super10 = _createSuper(FreeTextAnnotationElement);\n\n function FreeTextAnnotationElement(parameters) {\n _classCallCheck(this, FreeTextAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super10.call(this, parameters, isRenderable, true);\n }\n\n _createClass(FreeTextAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"freeTextAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return FreeTextAnnotationElement;\n}(AnnotationElement);\n\nvar LineAnnotationElement = /*#__PURE__*/function (_AnnotationElement6) {\n _inherits(LineAnnotationElement, _AnnotationElement6);\n\n var _super11 = _createSuper(LineAnnotationElement);\n\n function LineAnnotationElement(parameters) {\n _classCallCheck(this, LineAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super11.call(this, parameters, isRenderable, true);\n }\n\n _createClass(LineAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"lineAnnotation\";\n var data = this.data;\n var width = data.rect[2] - data.rect[0];\n var height = data.rect[3] - data.rect[1];\n var svg = this.svgFactory.create(width, height);\n var line = this.svgFactory.createElement(\"svg:line\");\n line.setAttribute(\"x1\", data.rect[2] - data.lineCoordinates[0]);\n line.setAttribute(\"y1\", data.rect[3] - data.lineCoordinates[1]);\n line.setAttribute(\"x2\", data.rect[2] - data.lineCoordinates[2]);\n line.setAttribute(\"y2\", data.rect[3] - data.lineCoordinates[3]);\n line.setAttribute(\"stroke-width\", data.borderStyle.width || 1);\n line.setAttribute(\"stroke\", \"transparent\");\n svg.appendChild(line);\n this.container.append(svg);\n\n this._createPopup(this.container, line, data);\n\n return this.container;\n }\n }]);\n\n return LineAnnotationElement;\n}(AnnotationElement);\n\nvar SquareAnnotationElement = /*#__PURE__*/function (_AnnotationElement7) {\n _inherits(SquareAnnotationElement, _AnnotationElement7);\n\n var _super12 = _createSuper(SquareAnnotationElement);\n\n function SquareAnnotationElement(parameters) {\n _classCallCheck(this, SquareAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super12.call(this, parameters, isRenderable, true);\n }\n\n _createClass(SquareAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"squareAnnotation\";\n var data = this.data;\n var width = data.rect[2] - data.rect[0];\n var height = data.rect[3] - data.rect[1];\n var svg = this.svgFactory.create(width, height);\n var borderWidth = data.borderStyle.width;\n var square = this.svgFactory.createElement(\"svg:rect\");\n square.setAttribute(\"x\", borderWidth / 2);\n square.setAttribute(\"y\", borderWidth / 2);\n square.setAttribute(\"width\", width - borderWidth);\n square.setAttribute(\"height\", height - borderWidth);\n square.setAttribute(\"stroke-width\", borderWidth || 1);\n square.setAttribute(\"stroke\", \"transparent\");\n square.setAttribute(\"fill\", \"none\");\n svg.appendChild(square);\n this.container.append(svg);\n\n this._createPopup(this.container, square, data);\n\n return this.container;\n }\n }]);\n\n return SquareAnnotationElement;\n}(AnnotationElement);\n\nvar CircleAnnotationElement = /*#__PURE__*/function (_AnnotationElement8) {\n _inherits(CircleAnnotationElement, _AnnotationElement8);\n\n var _super13 = _createSuper(CircleAnnotationElement);\n\n function CircleAnnotationElement(parameters) {\n _classCallCheck(this, CircleAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super13.call(this, parameters, isRenderable, true);\n }\n\n _createClass(CircleAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"circleAnnotation\";\n var data = this.data;\n var width = data.rect[2] - data.rect[0];\n var height = data.rect[3] - data.rect[1];\n var svg = this.svgFactory.create(width, height);\n var borderWidth = data.borderStyle.width;\n var circle = this.svgFactory.createElement(\"svg:ellipse\");\n circle.setAttribute(\"cx\", width / 2);\n circle.setAttribute(\"cy\", height / 2);\n circle.setAttribute(\"rx\", width / 2 - borderWidth / 2);\n circle.setAttribute(\"ry\", height / 2 - borderWidth / 2);\n circle.setAttribute(\"stroke-width\", borderWidth || 1);\n circle.setAttribute(\"stroke\", \"transparent\");\n circle.setAttribute(\"fill\", \"none\");\n svg.appendChild(circle);\n this.container.append(svg);\n\n this._createPopup(this.container, circle, data);\n\n return this.container;\n }\n }]);\n\n return CircleAnnotationElement;\n}(AnnotationElement);\n\nvar PolylineAnnotationElement = /*#__PURE__*/function (_AnnotationElement9) {\n _inherits(PolylineAnnotationElement, _AnnotationElement9);\n\n var _super14 = _createSuper(PolylineAnnotationElement);\n\n function PolylineAnnotationElement(parameters) {\n var _this3;\n\n _classCallCheck(this, PolylineAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n _this3 = _super14.call(this, parameters, isRenderable, true);\n _this3.containerClassName = \"polylineAnnotation\";\n _this3.svgElementName = \"svg:polyline\";\n return _this3;\n }\n\n _createClass(PolylineAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = this.containerClassName;\n var data = this.data;\n var width = data.rect[2] - data.rect[0];\n var height = data.rect[3] - data.rect[1];\n var svg = this.svgFactory.create(width, height);\n var points = [];\n\n var _iterator3 = _createForOfIteratorHelper(data.vertices),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var coordinate = _step3.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 _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n\n points = points.join(\" \");\n var polyline = this.svgFactory.createElement(this.svgElementName);\n polyline.setAttribute(\"points\", points);\n polyline.setAttribute(\"stroke-width\", data.borderStyle.width || 1);\n polyline.setAttribute(\"stroke\", \"transparent\");\n polyline.setAttribute(\"fill\", \"none\");\n svg.appendChild(polyline);\n this.container.append(svg);\n\n this._createPopup(this.container, polyline, data);\n\n return this.container;\n }\n }]);\n\n return PolylineAnnotationElement;\n}(AnnotationElement);\n\nvar PolygonAnnotationElement = /*#__PURE__*/function (_PolylineAnnotationEl) {\n _inherits(PolygonAnnotationElement, _PolylineAnnotationEl);\n\n var _super15 = _createSuper(PolygonAnnotationElement);\n\n function PolygonAnnotationElement(parameters) {\n var _this4;\n\n _classCallCheck(this, PolygonAnnotationElement);\n\n _this4 = _super15.call(this, parameters);\n _this4.containerClassName = \"polygonAnnotation\";\n _this4.svgElementName = \"svg:polygon\";\n return _this4;\n }\n\n return PolygonAnnotationElement;\n}(PolylineAnnotationElement);\n\nvar CaretAnnotationElement = /*#__PURE__*/function (_AnnotationElement10) {\n _inherits(CaretAnnotationElement, _AnnotationElement10);\n\n var _super16 = _createSuper(CaretAnnotationElement);\n\n function CaretAnnotationElement(parameters) {\n _classCallCheck(this, CaretAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super16.call(this, parameters, isRenderable, true);\n }\n\n _createClass(CaretAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"caretAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return CaretAnnotationElement;\n}(AnnotationElement);\n\nvar InkAnnotationElement = /*#__PURE__*/function (_AnnotationElement11) {\n _inherits(InkAnnotationElement, _AnnotationElement11);\n\n var _super17 = _createSuper(InkAnnotationElement);\n\n function InkAnnotationElement(parameters) {\n var _this5;\n\n _classCallCheck(this, InkAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n _this5 = _super17.call(this, parameters, isRenderable, true);\n _this5.containerClassName = \"inkAnnotation\";\n _this5.svgElementName = \"svg:polyline\";\n return _this5;\n }\n\n _createClass(InkAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = this.containerClassName;\n var data = this.data;\n var width = data.rect[2] - data.rect[0];\n var height = data.rect[3] - data.rect[1];\n var svg = this.svgFactory.create(width, height);\n\n var _iterator4 = _createForOfIteratorHelper(data.inkLists),\n _step4;\n\n try {\n for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n var inkList = _step4.value;\n var points = [];\n\n var _iterator5 = _createForOfIteratorHelper(inkList),\n _step5;\n\n try {\n for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {\n var coordinate = _step5.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 _iterator5.e(err);\n } finally {\n _iterator5.f();\n }\n\n points = points.join(\" \");\n var polyline = this.svgFactory.createElement(this.svgElementName);\n polyline.setAttribute(\"points\", points);\n polyline.setAttribute(\"stroke-width\", data.borderStyle.width || 1);\n polyline.setAttribute(\"stroke\", \"transparent\");\n polyline.setAttribute(\"fill\", \"none\");\n\n this._createPopup(this.container, polyline, data);\n\n svg.appendChild(polyline);\n }\n } catch (err) {\n _iterator4.e(err);\n } finally {\n _iterator4.f();\n }\n\n this.container.append(svg);\n return this.container;\n }\n }]);\n\n return InkAnnotationElement;\n}(AnnotationElement);\n\nvar HighlightAnnotationElement = /*#__PURE__*/function (_AnnotationElement12) {\n _inherits(HighlightAnnotationElement, _AnnotationElement12);\n\n var _super18 = _createSuper(HighlightAnnotationElement);\n\n function HighlightAnnotationElement(parameters) {\n _classCallCheck(this, HighlightAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super18.call(this, parameters, isRenderable, true);\n }\n\n _createClass(HighlightAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"highlightAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return HighlightAnnotationElement;\n}(AnnotationElement);\n\nvar UnderlineAnnotationElement = /*#__PURE__*/function (_AnnotationElement13) {\n _inherits(UnderlineAnnotationElement, _AnnotationElement13);\n\n var _super19 = _createSuper(UnderlineAnnotationElement);\n\n function UnderlineAnnotationElement(parameters) {\n _classCallCheck(this, UnderlineAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super19.call(this, parameters, isRenderable, true);\n }\n\n _createClass(UnderlineAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"underlineAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return UnderlineAnnotationElement;\n}(AnnotationElement);\n\nvar SquigglyAnnotationElement = /*#__PURE__*/function (_AnnotationElement14) {\n _inherits(SquigglyAnnotationElement, _AnnotationElement14);\n\n var _super20 = _createSuper(SquigglyAnnotationElement);\n\n function SquigglyAnnotationElement(parameters) {\n _classCallCheck(this, SquigglyAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super20.call(this, parameters, isRenderable, true);\n }\n\n _createClass(SquigglyAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"squigglyAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return SquigglyAnnotationElement;\n}(AnnotationElement);\n\nvar StrikeOutAnnotationElement = /*#__PURE__*/function (_AnnotationElement15) {\n _inherits(StrikeOutAnnotationElement, _AnnotationElement15);\n\n var _super21 = _createSuper(StrikeOutAnnotationElement);\n\n function StrikeOutAnnotationElement(parameters) {\n _classCallCheck(this, StrikeOutAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super21.call(this, parameters, isRenderable, true);\n }\n\n _createClass(StrikeOutAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"strikeoutAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return StrikeOutAnnotationElement;\n}(AnnotationElement);\n\nvar StampAnnotationElement = /*#__PURE__*/function (_AnnotationElement16) {\n _inherits(StampAnnotationElement, _AnnotationElement16);\n\n var _super22 = _createSuper(StampAnnotationElement);\n\n function StampAnnotationElement(parameters) {\n _classCallCheck(this, StampAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super22.call(this, parameters, isRenderable, true);\n }\n\n _createClass(StampAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"stampAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return StampAnnotationElement;\n}(AnnotationElement);\n\nvar FileAttachmentAnnotationElement = /*#__PURE__*/function (_AnnotationElement17) {\n _inherits(FileAttachmentAnnotationElement, _AnnotationElement17);\n\n var _super23 = _createSuper(FileAttachmentAnnotationElement);\n\n function FileAttachmentAnnotationElement(parameters) {\n var _this6;\n\n _classCallCheck(this, FileAttachmentAnnotationElement);\n\n _this6 = _super23.call(this, parameters, true);\n var _this6$data$file = _this6.data.file,\n filename = _this6$data$file.filename,\n content = _this6$data$file.content;\n _this6.filename = (0, _display_utils.getFilenameFromUrl)(filename);\n _this6.content = content;\n\n if (_this6.linkService.eventBus) {\n _this6.linkService.eventBus.dispatch(\"fileattachmentannotation\", {\n source: _assertThisInitialized(_this6),\n id: (0, _util.stringToPDFString)(filename),\n filename: filename,\n content: content\n });\n }\n\n return _this6;\n }\n\n _createClass(FileAttachmentAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"fileAttachmentAnnotation\";\n var trigger = document.createElement(\"div\");\n trigger.style.height = this.container.style.height;\n trigger.style.width = this.container.style.width;\n trigger.addEventListener(\"dblclick\", this._download.bind(this));\n\n if (!this.data.hasPopup && (this.data.title || this.data.contents)) {\n this._createPopup(this.container, trigger, this.data);\n }\n\n this.container.appendChild(trigger);\n return this.container;\n }\n }, {\n key: \"_download\",\n value: function _download() {\n if (!this.downloadManager) {\n (0, _util.warn)(\"Download cannot be started due to unavailable download manager\");\n return;\n }\n\n this.downloadManager.downloadData(this.content, this.filename, \"\");\n }\n }]);\n\n return FileAttachmentAnnotationElement;\n}(AnnotationElement);\n\nvar AnnotationLayer = /*#__PURE__*/function () {\n function AnnotationLayer() {\n _classCallCheck(this, AnnotationLayer);\n }\n\n _createClass(AnnotationLayer, null, [{\n key: \"render\",\n value: function render(parameters) {\n var sortedAnnotations = [],\n popupAnnotations = [];\n\n var _iterator6 = _createForOfIteratorHelper(parameters.annotations),\n _step6;\n\n try {\n for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {\n var _data = _step6.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 _iterator6.e(err);\n } finally {\n _iterator6.f();\n }\n\n if (popupAnnotations.length) {\n sortedAnnotations.push.apply(sortedAnnotations, popupAnnotations);\n }\n\n for (var _i = 0, _sortedAnnotations = sortedAnnotations; _i < _sortedAnnotations.length; _i++) {\n var data = _sortedAnnotations[_i];\n var element = AnnotationElementFactory.create({\n data: data,\n layer: parameters.div,\n page: parameters.page,\n viewport: parameters.viewport,\n linkService: parameters.linkService,\n downloadManager: parameters.downloadManager,\n imageResourcesPath: parameters.imageResourcesPath || \"\",\n renderInteractiveForms: typeof parameters.renderInteractiveForms === \"boolean\" ? parameters.renderInteractiveForms : true,\n svgFactory: new _display_utils.DOMSVGFactory(),\n annotationStorage: parameters.annotationStorage || new _annotation_storage.AnnotationStorage()\n });\n\n if (element.isRenderable) {\n parameters.div.appendChild(element.render());\n }\n }\n }\n }, {\n key: \"update\",\n value: function update(parameters) {\n var _iterator7 = _createForOfIteratorHelper(parameters.annotations),\n _step7;\n\n try {\n for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {\n var data = _step7.value;\n var element = parameters.div.querySelector(\"[data-annotation-id=\\\"\".concat(data.id, \"\\\"]\"));\n\n if (element) {\n element.style.transform = \"matrix(\".concat(parameters.viewport.transform.join(\",\"), \")\");\n }\n }\n } catch (err) {\n _iterator7.e(err);\n } finally {\n _iterator7.f();\n }\n\n parameters.div.removeAttribute(\"hidden\");\n }\n }]);\n\n return AnnotationLayer;\n}();\n\nexports.AnnotationLayer = AnnotationLayer;\n\n/***/ }),\n/* 217 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.renderTextLayer = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar renderTextLayer = function renderTextLayerClosure() {\n var MAX_TEXT_DIVS_TO_RENDER = 100000;\n var NonWhitespaceRegexp = /\\S/;\n\n function isAllWhitespace(str) {\n return !NonWhitespaceRegexp.test(str);\n }\n\n function appendText(task, geom, styles) {\n var textDiv = document.createElement(\"span\");\n var textDivProperties = {\n angle: 0,\n canvasWidth: 0,\n isWhitespace: false,\n originalTransform: null,\n paddingBottom: 0,\n paddingLeft: 0,\n paddingRight: 0,\n paddingTop: 0,\n scale: 1\n };\n\n task._textDivs.push(textDiv);\n\n if (isAllWhitespace(geom.str)) {\n textDivProperties.isWhitespace = true;\n\n task._textDivProperties.set(textDiv, textDivProperties);\n\n return;\n }\n\n var tx = _util.Util.transform(task._viewport.transform, geom.transform);\n\n var angle = Math.atan2(tx[1], tx[0]);\n var style = styles[geom.fontName];\n\n if (style.vertical) {\n angle += Math.PI / 2;\n }\n\n var fontHeight = Math.sqrt(tx[2] * tx[2] + tx[3] * tx[3]);\n var fontAscent = fontHeight;\n\n if (style.ascent) {\n fontAscent = style.ascent * fontAscent;\n } else if (style.descent) {\n fontAscent = (1 + style.descent) * fontAscent;\n }\n\n var left, top;\n\n if (angle === 0) {\n left = tx[4];\n top = tx[5] - fontAscent;\n } else {\n left = tx[4] + fontAscent * Math.sin(angle);\n top = tx[5] - fontAscent * Math.cos(angle);\n }\n\n textDiv.style.left = \"\".concat(left, \"px\");\n textDiv.style.top = \"\".concat(top, \"px\");\n textDiv.style.fontSize = \"\".concat(fontHeight, \"px\");\n textDiv.style.fontFamily = style.fontFamily;\n textDiv.textContent = geom.str;\n\n if (task._fontInspectorEnabled) {\n textDiv.dataset.fontName = geom.fontName;\n }\n\n if (angle !== 0) {\n textDivProperties.angle = angle * (180 / Math.PI);\n }\n\n var shouldScaleText = false;\n\n if (geom.str.length > 1) {\n shouldScaleText = true;\n } else if (geom.transform[0] !== geom.transform[3]) {\n var absScaleX = Math.abs(geom.transform[0]),\n absScaleY = Math.abs(geom.transform[3]);\n\n if (absScaleX !== absScaleY && Math.max(absScaleX, absScaleY) / Math.min(absScaleX, absScaleY) > 1.5) {\n shouldScaleText = true;\n }\n }\n\n if (shouldScaleText) {\n if (style.vertical) {\n textDivProperties.canvasWidth = geom.height * task._viewport.scale;\n } else {\n textDivProperties.canvasWidth = geom.width * task._viewport.scale;\n }\n }\n\n task._textDivProperties.set(textDiv, textDivProperties);\n\n if (task._textContentStream) {\n task._layoutText(textDiv);\n }\n\n if (task._enhanceTextSelection) {\n var angleCos = 1,\n angleSin = 0;\n\n if (angle !== 0) {\n angleCos = Math.cos(angle);\n angleSin = Math.sin(angle);\n }\n\n var divWidth = (style.vertical ? geom.height : geom.width) * task._viewport.scale;\n var divHeight = fontHeight;\n var m, b;\n\n if (angle !== 0) {\n m = [angleCos, angleSin, -angleSin, angleCos, left, top];\n b = _util.Util.getAxialAlignedBoundingBox([0, 0, divWidth, divHeight], m);\n } else {\n b = [left, top, left + divWidth, top + divHeight];\n }\n\n task._bounds.push({\n left: b[0],\n top: b[1],\n right: b[2],\n bottom: b[3],\n div: textDiv,\n size: [divWidth, divHeight],\n m: m\n });\n }\n }\n\n function render(task) {\n if (task._canceled) {\n return;\n }\n\n var textDivs = task._textDivs;\n var capability = task._capability;\n var textDivsLength = textDivs.length;\n\n if (textDivsLength > MAX_TEXT_DIVS_TO_RENDER) {\n task._renderingDone = true;\n capability.resolve();\n return;\n }\n\n if (!task._textContentStream) {\n for (var i = 0; i < textDivsLength; i++) {\n task._layoutText(textDivs[i]);\n }\n }\n\n task._renderingDone = true;\n capability.resolve();\n }\n\n function findPositiveMin(ts, offset, count) {\n var result = 0;\n\n for (var i = 0; i < count; i++) {\n var t = ts[offset++];\n\n if (t > 0) {\n result = result ? Math.min(t, result) : t;\n }\n }\n\n return result;\n }\n\n function expand(task) {\n var bounds = task._bounds;\n var viewport = task._viewport;\n var expanded = expandBounds(viewport.width, viewport.height, bounds);\n\n for (var i = 0; i < expanded.length; i++) {\n var div = bounds[i].div;\n\n var divProperties = task._textDivProperties.get(div);\n\n if (divProperties.angle === 0) {\n divProperties.paddingLeft = bounds[i].left - expanded[i].left;\n divProperties.paddingTop = bounds[i].top - expanded[i].top;\n divProperties.paddingRight = expanded[i].right - bounds[i].right;\n divProperties.paddingBottom = expanded[i].bottom - bounds[i].bottom;\n\n task._textDivProperties.set(div, divProperties);\n\n continue;\n }\n\n var e = expanded[i],\n b = bounds[i];\n var m = b.m,\n c = m[0],\n s = m[1];\n var points = [[0, 0], [0, b.size[1]], [b.size[0], 0], b.size];\n var ts = new Float64Array(64);\n points.forEach(function (p, j) {\n var t = _util.Util.applyTransform(p, m);\n\n ts[j + 0] = c && (e.left - t[0]) / c;\n ts[j + 4] = s && (e.top - t[1]) / s;\n ts[j + 8] = c && (e.right - t[0]) / c;\n ts[j + 12] = s && (e.bottom - t[1]) / s;\n ts[j + 16] = s && (e.left - t[0]) / -s;\n ts[j + 20] = c && (e.top - t[1]) / c;\n ts[j + 24] = s && (e.right - t[0]) / -s;\n ts[j + 28] = c && (e.bottom - t[1]) / c;\n ts[j + 32] = c && (e.left - t[0]) / -c;\n ts[j + 36] = s && (e.top - t[1]) / -s;\n ts[j + 40] = c && (e.right - t[0]) / -c;\n ts[j + 44] = s && (e.bottom - t[1]) / -s;\n ts[j + 48] = s && (e.left - t[0]) / s;\n ts[j + 52] = c && (e.top - t[1]) / -c;\n ts[j + 56] = s && (e.right - t[0]) / s;\n ts[j + 60] = c && (e.bottom - t[1]) / -c;\n });\n var boxScale = 1 + Math.min(Math.abs(c), Math.abs(s));\n divProperties.paddingLeft = findPositiveMin(ts, 32, 16) / boxScale;\n divProperties.paddingTop = findPositiveMin(ts, 48, 16) / boxScale;\n divProperties.paddingRight = findPositiveMin(ts, 0, 16) / boxScale;\n divProperties.paddingBottom = findPositiveMin(ts, 16, 16) / boxScale;\n\n task._textDivProperties.set(div, divProperties);\n }\n }\n\n function expandBounds(width, height, boxes) {\n var bounds = boxes.map(function (box, i) {\n return {\n x1: box.left,\n y1: box.top,\n x2: box.right,\n y2: box.bottom,\n index: i,\n x1New: undefined,\n x2New: undefined\n };\n });\n expandBoundsLTR(width, bounds);\n var expanded = new Array(boxes.length);\n bounds.forEach(function (b) {\n var i = b.index;\n expanded[i] = {\n left: b.x1New,\n top: 0,\n right: b.x2New,\n bottom: 0\n };\n });\n boxes.map(function (box, i) {\n var e = expanded[i],\n b = bounds[i];\n b.x1 = box.top;\n b.y1 = width - e.right;\n b.x2 = box.bottom;\n b.y2 = width - e.left;\n b.index = i;\n b.x1New = undefined;\n b.x2New = undefined;\n });\n expandBoundsLTR(height, bounds);\n bounds.forEach(function (b) {\n var i = b.index;\n expanded[i].top = b.x1New;\n expanded[i].bottom = b.x2New;\n });\n return expanded;\n }\n\n function expandBoundsLTR(width, bounds) {\n bounds.sort(function (a, b) {\n return a.x1 - b.x1 || a.index - b.index;\n });\n var fakeBoundary = {\n x1: -Infinity,\n y1: -Infinity,\n x2: 0,\n y2: Infinity,\n index: -1,\n x1New: 0,\n x2New: 0\n };\n var horizon = [{\n start: -Infinity,\n end: Infinity,\n boundary: fakeBoundary\n }];\n bounds.forEach(function (boundary) {\n var i = 0;\n\n while (i < horizon.length && horizon[i].end <= boundary.y1) {\n i++;\n }\n\n var j = horizon.length - 1;\n\n while (j >= 0 && horizon[j].start >= boundary.y2) {\n j--;\n }\n\n var horizonPart, affectedBoundary;\n var q,\n k,\n maxXNew = -Infinity;\n\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n var xNew;\n\n if (affectedBoundary.x2 > boundary.x1) {\n xNew = affectedBoundary.index > boundary.index ? affectedBoundary.x1New : boundary.x1;\n } else if (affectedBoundary.x2New === undefined) {\n xNew = (affectedBoundary.x2 + boundary.x1) / 2;\n } else {\n xNew = affectedBoundary.x2New;\n }\n\n if (xNew > maxXNew) {\n maxXNew = xNew;\n }\n }\n\n boundary.x1New = maxXNew;\n\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n\n if (affectedBoundary.x2New === undefined) {\n if (affectedBoundary.x2 > boundary.x1) {\n if (affectedBoundary.index > boundary.index) {\n affectedBoundary.x2New = affectedBoundary.x2;\n }\n } else {\n affectedBoundary.x2New = maxXNew;\n }\n } else if (affectedBoundary.x2New > maxXNew) {\n affectedBoundary.x2New = Math.max(maxXNew, affectedBoundary.x2);\n }\n }\n\n var changedHorizon = [],\n lastBoundary = null;\n\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n var useBoundary = affectedBoundary.x2 > boundary.x2 ? affectedBoundary : boundary;\n\n if (lastBoundary === useBoundary) {\n changedHorizon[changedHorizon.length - 1].end = horizonPart.end;\n } else {\n changedHorizon.push({\n start: horizonPart.start,\n end: horizonPart.end,\n boundary: useBoundary\n });\n lastBoundary = useBoundary;\n }\n }\n\n if (horizon[i].start < boundary.y1) {\n changedHorizon[0].start = boundary.y1;\n changedHorizon.unshift({\n start: horizon[i].start,\n end: boundary.y1,\n boundary: horizon[i].boundary\n });\n }\n\n if (boundary.y2 < horizon[j].end) {\n changedHorizon[changedHorizon.length - 1].end = boundary.y2;\n changedHorizon.push({\n start: boundary.y2,\n end: horizon[j].end,\n boundary: horizon[j].boundary\n });\n }\n\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n\n if (affectedBoundary.x2New !== undefined) {\n continue;\n }\n\n var used = false;\n\n for (k = i - 1; !used && k >= 0 && horizon[k].start >= affectedBoundary.y1; k--) {\n used = horizon[k].boundary === affectedBoundary;\n }\n\n for (k = j + 1; !used && k < horizon.length && horizon[k].end <= affectedBoundary.y2; k++) {\n used = horizon[k].boundary === affectedBoundary;\n }\n\n for (k = 0; !used && k < changedHorizon.length; k++) {\n used = changedHorizon[k].boundary === affectedBoundary;\n }\n\n if (!used) {\n affectedBoundary.x2New = maxXNew;\n }\n }\n\n Array.prototype.splice.apply(horizon, [i, j - i + 1].concat(changedHorizon));\n });\n horizon.forEach(function (horizonPart) {\n var affectedBoundary = horizonPart.boundary;\n\n if (affectedBoundary.x2New === undefined) {\n affectedBoundary.x2New = Math.max(width, affectedBoundary.x2);\n }\n });\n }\n\n function TextLayerRenderTask(_ref) {\n var _this = this;\n\n var textContent = _ref.textContent,\n textContentStream = _ref.textContentStream,\n container = _ref.container,\n viewport = _ref.viewport,\n textDivs = _ref.textDivs,\n textContentItemsStr = _ref.textContentItemsStr,\n enhanceTextSelection = _ref.enhanceTextSelection;\n this._textContent = textContent;\n this._textContentStream = textContentStream;\n this._container = container;\n this._document = container.ownerDocument;\n this._viewport = viewport;\n this._textDivs = textDivs || [];\n this._textContentItemsStr = textContentItemsStr || [];\n this._enhanceTextSelection = !!enhanceTextSelection;\n this._fontInspectorEnabled = !!(globalThis.FontInspector && globalThis.FontInspector.enabled);\n this._reader = null;\n this._layoutTextLastFontSize = null;\n this._layoutTextLastFontFamily = null;\n this._layoutTextCtx = null;\n this._textDivProperties = new WeakMap();\n this._renderingDone = false;\n this._canceled = false;\n this._capability = (0, _util.createPromiseCapability)();\n this._renderTimer = null;\n this._bounds = [];\n\n this._capability.promise[\"finally\"](function () {\n if (_this._layoutTextCtx) {\n _this._layoutTextCtx.canvas.width = 0;\n _this._layoutTextCtx.canvas.height = 0;\n _this._layoutTextCtx = null;\n }\n })[\"catch\"](function () {});\n }\n\n TextLayerRenderTask.prototype = {\n get promise() {\n return this._capability.promise;\n },\n\n cancel: function TextLayer_cancel() {\n this._canceled = true;\n\n if (this._reader) {\n this._reader.cancel(new _util.AbortException(\"TextLayer task cancelled.\"));\n\n this._reader = null;\n }\n\n if (this._renderTimer !== null) {\n clearTimeout(this._renderTimer);\n this._renderTimer = null;\n }\n\n this._capability.reject(new Error(\"TextLayer task cancelled.\"));\n },\n _processItems: function _processItems(items, styleCache) {\n for (var i = 0, len = items.length; i < len; i++) {\n this._textContentItemsStr.push(items[i].str);\n\n appendText(this, items[i], styleCache);\n }\n },\n _layoutText: function _layoutText(textDiv) {\n var textDivProperties = this._textDivProperties.get(textDiv);\n\n if (textDivProperties.isWhitespace) {\n return;\n }\n\n var transform = \"\";\n\n if (textDivProperties.canvasWidth !== 0) {\n var _textDiv$style = textDiv.style,\n fontSize = _textDiv$style.fontSize,\n fontFamily = _textDiv$style.fontFamily;\n\n if (fontSize !== this._layoutTextLastFontSize || fontFamily !== this._layoutTextLastFontFamily) {\n this._layoutTextCtx.font = \"\".concat(fontSize, \" \").concat(fontFamily);\n this._layoutTextLastFontSize = fontSize;\n this._layoutTextLastFontFamily = fontFamily;\n }\n\n var _this$_layoutTextCtx$ = this._layoutTextCtx.measureText(textDiv.textContent),\n width = _this$_layoutTextCtx$.width;\n\n if (width > 0) {\n textDivProperties.scale = textDivProperties.canvasWidth / width;\n transform = \"scaleX(\".concat(textDivProperties.scale, \")\");\n }\n }\n\n if (textDivProperties.angle !== 0) {\n transform = \"rotate(\".concat(textDivProperties.angle, \"deg) \").concat(transform);\n }\n\n if (transform.length > 0) {\n if (this._enhanceTextSelection) {\n textDivProperties.originalTransform = transform;\n }\n\n textDiv.style.transform = transform;\n }\n\n this._textDivProperties.set(textDiv, textDivProperties);\n\n this._container.appendChild(textDiv);\n },\n _render: function TextLayer_render(timeout) {\n var _this2 = this;\n\n var capability = (0, _util.createPromiseCapability)();\n var styleCache = Object.create(null);\n\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/* 218 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SVGGraphics = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _display_utils = __w_pdfjs_require__(1);\n\nvar _is_node = __w_pdfjs_require__(7);\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar SVGGraphics = function SVGGraphics() {\n throw new Error(\"Not implemented: SVGGraphics\");\n};\n\nexports.SVGGraphics = SVGGraphics;\n{\n var opListToTree = function opListToTree(opList) {\n var opTree = [];\n var tmp = [];\n\n var _iterator = _createForOfIteratorHelper(opList),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var opListElement = _step.value;\n\n if (opListElement.fn === \"save\") {\n opTree.push({\n fnId: 92,\n fn: \"group\",\n items: []\n });\n tmp.push(opTree);\n opTree = opTree[opTree.length - 1].items;\n continue;\n }\n\n if (opListElement.fn === \"restore\") {\n opTree = tmp.pop();\n } else {\n opTree.push(opListElement);\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n return opTree;\n };\n\n var pf = function pf(value) {\n if (Number.isInteger(value)) {\n return value.toString();\n }\n\n var s = value.toFixed(10);\n var i = s.length - 1;\n\n if (s[i] !== \"0\") {\n return s;\n }\n\n do {\n i--;\n } while (s[i] === \"0\");\n\n return s.substring(0, s[i] === \".\" ? i : i + 1);\n };\n\n var pm = function pm(m) {\n if (m[4] === 0 && m[5] === 0) {\n if (m[1] === 0 && m[2] === 0) {\n if (m[0] === 1 && m[3] === 1) {\n return \"\";\n }\n\n return \"scale(\".concat(pf(m[0]), \" \").concat(pf(m[3]), \")\");\n }\n\n if (m[0] === m[3] && m[1] === -m[2]) {\n var a = Math.acos(m[0]) * 180 / Math.PI;\n return \"rotate(\".concat(pf(a), \")\");\n }\n } else {\n if (m[0] === 1 && m[1] === 0 && m[2] === 0 && m[3] === 1) {\n return \"translate(\".concat(pf(m[4]), \" \").concat(pf(m[5]), \")\");\n }\n }\n\n return \"matrix(\".concat(pf(m[0]), \" \").concat(pf(m[1]), \" \").concat(pf(m[2]), \" \").concat(pf(m[3]), \" \").concat(pf(m[4]), \" \") + \"\".concat(pf(m[5]), \")\");\n };\n\n var SVG_DEFAULTS = {\n fontStyle: \"normal\",\n fontWeight: \"normal\",\n fillColor: \"#000000\"\n };\n var XML_NS = \"http://www.w3.org/XML/1998/namespace\";\n var XLINK_NS = \"http://www.w3.org/1999/xlink\";\n var LINE_CAP_STYLES = [\"butt\", \"round\", \"square\"];\n var LINE_JOIN_STYLES = [\"miter\", \"round\", \"bevel\"];\n\n var convertImgDataToPng = function () {\n var PNG_HEADER = new Uint8Array([0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a]);\n var CHUNK_WRAPPER_SIZE = 12;\n var crcTable = new Int32Array(256);\n\n for (var i = 0; i < 256; i++) {\n var c = i;\n\n for (var h = 0; h < 8; h++) {\n if (c & 1) {\n c = 0xedb88320 ^ c >> 1 & 0x7fffffff;\n } else {\n c = c >> 1 & 0x7fffffff;\n }\n }\n\n crcTable[i] = c;\n }\n\n function crc32(data, start, end) {\n var crc = -1;\n\n for (var _i = start; _i < end; _i++) {\n var a = (crc ^ data[_i]) & 0xff;\n var b = crcTable[a];\n crc = crc >>> 8 ^ b;\n }\n\n return crc ^ -1;\n }\n\n function writePngChunk(type, body, data, offset) {\n var p = offset;\n var len = body.length;\n data[p] = len >> 24 & 0xff;\n data[p + 1] = len >> 16 & 0xff;\n data[p + 2] = len >> 8 & 0xff;\n data[p + 3] = len & 0xff;\n p += 4;\n data[p] = type.charCodeAt(0) & 0xff;\n data[p + 1] = type.charCodeAt(1) & 0xff;\n data[p + 2] = type.charCodeAt(2) & 0xff;\n data[p + 3] = type.charCodeAt(3) & 0xff;\n p += 4;\n data.set(body, p);\n p += body.length;\n var crc = crc32(data, offset + 4, p);\n data[p] = crc >> 24 & 0xff;\n data[p + 1] = crc >> 16 & 0xff;\n data[p + 2] = crc >> 8 & 0xff;\n data[p + 3] = crc & 0xff;\n }\n\n function adler32(data, start, end) {\n var a = 1;\n var b = 0;\n\n for (var _i2 = start; _i2 < end; ++_i2) {\n a = (a + (data[_i2] & 0xff)) % 65521;\n b = (b + a) % 65521;\n }\n\n return b << 16 | a;\n }\n\n function deflateSync(literals) {\n if (!_is_node.isNodeJS) {\n return deflateSyncUncompressed(literals);\n }\n\n try {\n var input;\n\n if (parseInt(process.versions.node) >= 8) {\n input = literals;\n } else {\n input = Buffer.from(literals);\n }\n\n var output = require(\"zlib\").deflateSync(input, {\n level: 9\n });\n\n return output instanceof Uint8Array ? output : new Uint8Array(output);\n } catch (e) {\n (0, _util.warn)(\"Not compressing PNG because zlib.deflateSync is unavailable: \" + e);\n }\n\n return deflateSyncUncompressed(literals);\n }\n\n function deflateSyncUncompressed(literals) {\n var len = literals.length;\n var maxBlockLength = 0xffff;\n var deflateBlocks = Math.ceil(len / maxBlockLength);\n var idat = new Uint8Array(2 + len + deflateBlocks * 5 + 4);\n var pi = 0;\n idat[pi++] = 0x78;\n idat[pi++] = 0x9c;\n var pos = 0;\n\n while (len > maxBlockLength) {\n idat[pi++] = 0x00;\n idat[pi++] = 0xff;\n idat[pi++] = 0xff;\n idat[pi++] = 0x00;\n idat[pi++] = 0x00;\n idat.set(literals.subarray(pos, pos + maxBlockLength), pi);\n pi += maxBlockLength;\n pos += maxBlockLength;\n len -= maxBlockLength;\n }\n\n idat[pi++] = 0x01;\n idat[pi++] = len & 0xff;\n idat[pi++] = len >> 8 & 0xff;\n idat[pi++] = ~len & 0xffff & 0xff;\n idat[pi++] = (~len & 0xffff) >> 8 & 0xff;\n idat.set(literals.subarray(pos), pi);\n pi += literals.length - pos;\n var adler = adler32(literals, 0, literals.length);\n idat[pi++] = adler >> 24 & 0xff;\n idat[pi++] = adler >> 16 & 0xff;\n idat[pi++] = adler >> 8 & 0xff;\n idat[pi++] = adler & 0xff;\n return idat;\n }\n\n function encode(imgData, kind, forceDataSchema, isMask) {\n var width = imgData.width;\n var height = imgData.height;\n var bitDepth, colorType, lineSize;\n var bytes = imgData.data;\n\n switch (kind) {\n case _util.ImageKind.GRAYSCALE_1BPP:\n colorType = 0;\n bitDepth = 1;\n lineSize = width + 7 >> 3;\n break;\n\n case _util.ImageKind.RGB_24BPP:\n colorType = 2;\n bitDepth = 8;\n lineSize = width * 3;\n break;\n\n case _util.ImageKind.RGBA_32BPP:\n colorType = 6;\n bitDepth = 8;\n lineSize = width * 4;\n break;\n\n default:\n throw new Error(\"invalid format\");\n }\n\n var literals = new Uint8Array((1 + lineSize) * height);\n var offsetLiterals = 0,\n offsetBytes = 0;\n\n for (var y = 0; y < height; ++y) {\n literals[offsetLiterals++] = 0;\n literals.set(bytes.subarray(offsetBytes, offsetBytes + lineSize), offsetLiterals);\n offsetBytes += lineSize;\n offsetLiterals += lineSize;\n }\n\n if (kind === _util.ImageKind.GRAYSCALE_1BPP && isMask) {\n offsetLiterals = 0;\n\n for (var _y = 0; _y < height; _y++) {\n offsetLiterals++;\n\n for (var _i3 = 0; _i3 < lineSize; _i3++) {\n literals[offsetLiterals++] ^= 0xff;\n }\n }\n }\n\n var ihdr = new Uint8Array([width >> 24 & 0xff, width >> 16 & 0xff, width >> 8 & 0xff, width & 0xff, height >> 24 & 0xff, height >> 16 & 0xff, height >> 8 & 0xff, height & 0xff, bitDepth, colorType, 0x00, 0x00, 0x00]);\n var idat = deflateSync(literals);\n var pngLength = PNG_HEADER.length + CHUNK_WRAPPER_SIZE * 3 + ihdr.length + idat.length;\n var data = new Uint8Array(pngLength);\n var offset = 0;\n data.set(PNG_HEADER, offset);\n offset += PNG_HEADER.length;\n writePngChunk(\"IHDR\", ihdr, data, offset);\n offset += CHUNK_WRAPPER_SIZE + ihdr.length;\n writePngChunk(\"IDATA\", idat, data, offset);\n offset += CHUNK_WRAPPER_SIZE + idat.length;\n writePngChunk(\"IEND\", new Uint8Array(0), data, offset);\n return (0, _util.createObjectURL)(data, \"image/png\", forceDataSchema);\n }\n\n return function convertImgDataToPng(imgData, forceDataSchema, isMask) {\n var kind = imgData.kind === undefined ? _util.ImageKind.GRAYSCALE_1BPP : imgData.kind;\n return encode(imgData, kind, forceDataSchema, isMask);\n };\n }();\n\n var SVGExtraState = /*#__PURE__*/function () {\n function SVGExtraState() {\n _classCallCheck(this, SVGExtraState);\n\n this.fontSizeScale = 1;\n this.fontWeight = SVG_DEFAULTS.fontWeight;\n this.fontSize = 0;\n this.textMatrix = _util.IDENTITY_MATRIX;\n this.fontMatrix = _util.FONT_IDENTITY_MATRIX;\n this.leading = 0;\n this.textRenderingMode = _util.TextRenderingMode.FILL;\n this.textMatrixScale = 1;\n this.x = 0;\n this.y = 0;\n this.lineX = 0;\n this.lineY = 0;\n this.charSpacing = 0;\n this.wordSpacing = 0;\n this.textHScale = 1;\n this.textRise = 0;\n this.fillColor = SVG_DEFAULTS.fillColor;\n this.strokeColor = \"#000000\";\n this.fillAlpha = 1;\n this.strokeAlpha = 1;\n this.lineWidth = 1;\n this.lineJoin = \"\";\n this.lineCap = \"\";\n this.miterLimit = 0;\n this.dashArray = [];\n this.dashPhase = 0;\n this.dependencies = [];\n this.activeClipUrl = null;\n this.clipGroup = null;\n this.maskId = \"\";\n }\n\n _createClass(SVGExtraState, [{\n key: \"clone\",\n value: function clone() {\n return Object.create(this);\n }\n }, {\n key: \"setCurrentPoint\",\n value: function setCurrentPoint(x, y) {\n this.x = x;\n this.y = y;\n }\n }]);\n\n return SVGExtraState;\n }();\n\n var clipCount = 0;\n var maskCount = 0;\n var shadingCount = 0;\n\n exports.SVGGraphics = SVGGraphics = /*#__PURE__*/function () {\n function SVGGraphics(commonObjs, objs) {\n var forceDataSchema = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n _classCallCheck(this, SVGGraphics);\n\n this.svgFactory = new _display_utils.DOMSVGFactory();\n this.current = new SVGExtraState();\n this.transformMatrix = _util.IDENTITY_MATRIX;\n this.transformStack = [];\n this.extraStack = [];\n this.commonObjs = commonObjs;\n this.objs = objs;\n this.pendingClip = null;\n this.pendingEOFill = false;\n this.embedFonts = false;\n this.embeddedFonts = Object.create(null);\n this.cssStyle = null;\n this.forceDataSchema = !!forceDataSchema;\n this._operatorIdMapping = [];\n\n for (var op in _util.OPS) {\n this._operatorIdMapping[_util.OPS[op]] = op;\n }\n }\n\n _createClass(SVGGraphics, [{\n key: \"save\",\n value: function save() {\n this.transformStack.push(this.transformMatrix);\n var old = this.current;\n this.extraStack.push(old);\n this.current = old.clone();\n }\n }, {\n key: \"restore\",\n value: function restore() {\n this.transformMatrix = this.transformStack.pop();\n this.current = this.extraStack.pop();\n this.pendingClip = null;\n this.tgrp = null;\n }\n }, {\n key: \"group\",\n value: function group(items) {\n this.save();\n this.executeOpTree(items);\n this.restore();\n }\n }, {\n key: \"loadDependencies\",\n value: function loadDependencies(operatorList) {\n var _this = this;\n\n var fnArray = operatorList.fnArray;\n var argsArray = operatorList.argsArray;\n\n for (var i = 0, ii = fnArray.length; i < ii; i++) {\n if (fnArray[i] !== _util.OPS.dependency) {\n continue;\n }\n\n var _iterator2 = _createForOfIteratorHelper(argsArray[i]),\n _step2;\n\n try {\n var _loop = function _loop() {\n var obj = _step2.value;\n var objsPool = obj.startsWith(\"g_\") ? _this.commonObjs : _this.objs;\n var promise = new Promise(function (resolve) {\n objsPool.get(obj, resolve);\n });\n\n _this.current.dependencies.push(promise);\n };\n\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n _loop();\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n }\n\n return Promise.all(this.current.dependencies);\n }\n }, {\n key: \"transform\",\n value: function transform(a, b, c, d, e, f) {\n var transformMatrix = [a, b, c, d, e, f];\n this.transformMatrix = _util.Util.transform(this.transformMatrix, transformMatrix);\n this.tgrp = null;\n }\n }, {\n key: \"getSVG\",\n value: function getSVG(operatorList, viewport) {\n var _this2 = this;\n\n this.viewport = viewport;\n\n var svgElement = this._initialize(viewport);\n\n return this.loadDependencies(operatorList).then(function () {\n _this2.transformMatrix = _util.IDENTITY_MATRIX;\n\n _this2.executeOpTree(_this2.convertOpList(operatorList));\n\n return svgElement;\n });\n }\n }, {\n key: \"convertOpList\",\n value: function convertOpList(operatorList) {\n var operatorIdMapping = this._operatorIdMapping;\n var argsArray = operatorList.argsArray;\n var fnArray = operatorList.fnArray;\n var opList = [];\n\n for (var i = 0, ii = fnArray.length; i < ii; i++) {\n var fnId = fnArray[i];\n opList.push({\n fnId: fnId,\n fn: operatorIdMapping[fnId],\n args: argsArray[i]\n });\n }\n\n return opListToTree(opList);\n }\n }, {\n key: \"executeOpTree\",\n value: function executeOpTree(opTree) {\n var _iterator3 = _createForOfIteratorHelper(opTree),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var opTreeElement = _step3.value;\n var fn = opTreeElement.fn;\n var fnId = opTreeElement.fnId;\n var args = opTreeElement.args;\n\n switch (fnId | 0) {\n case _util.OPS.beginText:\n this.beginText();\n break;\n\n case _util.OPS.dependency:\n break;\n\n case _util.OPS.setLeading:\n this.setLeading(args);\n break;\n\n case _util.OPS.setLeadingMoveText:\n this.setLeadingMoveText(args[0], args[1]);\n break;\n\n case _util.OPS.setFont:\n this.setFont(args);\n break;\n\n case _util.OPS.showText:\n this.showText(args[0]);\n break;\n\n case _util.OPS.showSpacedText:\n this.showText(args[0]);\n break;\n\n case _util.OPS.endText:\n this.endText();\n break;\n\n case _util.OPS.moveText:\n this.moveText(args[0], args[1]);\n break;\n\n case _util.OPS.setCharSpacing:\n this.setCharSpacing(args[0]);\n break;\n\n case _util.OPS.setWordSpacing:\n this.setWordSpacing(args[0]);\n break;\n\n case _util.OPS.setHScale:\n this.setHScale(args[0]);\n break;\n\n case _util.OPS.setTextMatrix:\n this.setTextMatrix(args[0], args[1], args[2], args[3], args[4], args[5]);\n break;\n\n case _util.OPS.setTextRise:\n this.setTextRise(args[0]);\n break;\n\n case _util.OPS.setTextRenderingMode:\n this.setTextRenderingMode(args[0]);\n break;\n\n case _util.OPS.setLineWidth:\n this.setLineWidth(args[0]);\n break;\n\n case _util.OPS.setLineJoin:\n this.setLineJoin(args[0]);\n break;\n\n case _util.OPS.setLineCap:\n this.setLineCap(args[0]);\n break;\n\n case _util.OPS.setMiterLimit:\n this.setMiterLimit(args[0]);\n break;\n\n case _util.OPS.setFillRGBColor:\n this.setFillRGBColor(args[0], args[1], args[2]);\n break;\n\n case _util.OPS.setStrokeRGBColor:\n this.setStrokeRGBColor(args[0], args[1], args[2]);\n break;\n\n case _util.OPS.setStrokeColorN:\n this.setStrokeColorN(args);\n break;\n\n case _util.OPS.setFillColorN:\n this.setFillColorN(args);\n break;\n\n case _util.OPS.shadingFill:\n this.shadingFill(args[0]);\n break;\n\n case _util.OPS.setDash:\n this.setDash(args[0], args[1]);\n break;\n\n case _util.OPS.setRenderingIntent:\n this.setRenderingIntent(args[0]);\n break;\n\n case _util.OPS.setFlatness:\n this.setFlatness(args[0]);\n break;\n\n case _util.OPS.setGState:\n this.setGState(args[0]);\n break;\n\n case _util.OPS.fill:\n this.fill();\n break;\n\n case _util.OPS.eoFill:\n this.eoFill();\n break;\n\n case _util.OPS.stroke:\n this.stroke();\n break;\n\n case _util.OPS.fillStroke:\n this.fillStroke();\n break;\n\n case _util.OPS.eoFillStroke:\n this.eoFillStroke();\n break;\n\n case _util.OPS.clip:\n this.clip(\"nonzero\");\n break;\n\n case _util.OPS.eoClip:\n this.clip(\"evenodd\");\n break;\n\n case _util.OPS.paintSolidColorImageMask:\n this.paintSolidColorImageMask();\n break;\n\n case _util.OPS.paintImageXObject:\n this.paintImageXObject(args[0]);\n break;\n\n case _util.OPS.paintInlineImageXObject:\n this.paintInlineImageXObject(args[0]);\n break;\n\n case _util.OPS.paintImageMaskXObject:\n this.paintImageMaskXObject(args[0]);\n break;\n\n case _util.OPS.paintFormXObjectBegin:\n this.paintFormXObjectBegin(args[0], args[1]);\n break;\n\n case _util.OPS.paintFormXObjectEnd:\n this.paintFormXObjectEnd();\n break;\n\n case _util.OPS.closePath:\n this.closePath();\n break;\n\n case _util.OPS.closeStroke:\n this.closeStroke();\n break;\n\n case _util.OPS.closeFillStroke:\n this.closeFillStroke();\n break;\n\n case _util.OPS.closeEOFillStroke:\n this.closeEOFillStroke();\n break;\n\n case _util.OPS.nextLine:\n this.nextLine();\n break;\n\n case _util.OPS.transform:\n this.transform(args[0], args[1], args[2], args[3], args[4], args[5]);\n break;\n\n case _util.OPS.constructPath:\n this.constructPath(args[0], args[1]);\n break;\n\n case _util.OPS.endPath:\n this.endPath();\n break;\n\n case 92:\n this.group(opTreeElement.items);\n break;\n\n default:\n (0, _util.warn)(\"Unimplemented operator \".concat(fn));\n break;\n }\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n }\n }, {\n key: \"setWordSpacing\",\n value: function setWordSpacing(wordSpacing) {\n this.current.wordSpacing = wordSpacing;\n }\n }, {\n key: \"setCharSpacing\",\n value: function setCharSpacing(charSpacing) {\n this.current.charSpacing = charSpacing;\n }\n }, {\n key: \"nextLine\",\n value: function nextLine() {\n this.moveText(0, this.current.leading);\n }\n }, {\n key: \"setTextMatrix\",\n value: function setTextMatrix(a, b, c, d, e, f) {\n var current = this.current;\n current.textMatrix = current.lineMatrix = [a, b, c, d, e, f];\n current.textMatrixScale = Math.sqrt(a * a + b * b);\n current.x = current.lineX = 0;\n current.y = current.lineY = 0;\n current.xcoords = [];\n current.ycoords = [];\n current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n current.tspan.setAttributeNS(null, \"font-family\", current.fontFamily);\n current.tspan.setAttributeNS(null, \"font-size\", \"\".concat(pf(current.fontSize), \"px\"));\n current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n current.txtElement = this.svgFactory.createElement(\"svg:text\");\n current.txtElement.appendChild(current.tspan);\n }\n }, {\n key: \"beginText\",\n value: function beginText() {\n var current = this.current;\n current.x = current.lineX = 0;\n current.y = current.lineY = 0;\n current.textMatrix = _util.IDENTITY_MATRIX;\n current.lineMatrix = _util.IDENTITY_MATRIX;\n current.textMatrixScale = 1;\n current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n current.txtElement = this.svgFactory.createElement(\"svg:text\");\n current.txtgrp = this.svgFactory.createElement(\"svg:g\");\n current.xcoords = [];\n current.ycoords = [];\n }\n }, {\n key: \"moveText\",\n value: function moveText(x, y) {\n var current = this.current;\n current.x = current.lineX += x;\n current.y = current.lineY += y;\n current.xcoords = [];\n current.ycoords = [];\n current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n current.tspan.setAttributeNS(null, \"font-family\", current.fontFamily);\n current.tspan.setAttributeNS(null, \"font-size\", \"\".concat(pf(current.fontSize), \"px\"));\n current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n }\n }, {\n key: \"showText\",\n value: function showText(glyphs) {\n var current = this.current;\n var font = current.font;\n var fontSize = current.fontSize;\n\n if (fontSize === 0) {\n return;\n }\n\n var fontSizeScale = current.fontSizeScale;\n var charSpacing = current.charSpacing;\n var wordSpacing = current.wordSpacing;\n var fontDirection = current.fontDirection;\n var textHScale = current.textHScale * fontDirection;\n var vertical = font.vertical;\n var spacingDir = vertical ? 1 : -1;\n var defaultVMetrics = font.defaultVMetrics;\n var widthAdvanceScale = fontSize * current.fontMatrix[0];\n var x = 0;\n\n var _iterator4 = _createForOfIteratorHelper(glyphs),\n _step4;\n\n try {\n for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n var glyph = _step4.value;\n\n if (glyph === null) {\n x += fontDirection * wordSpacing;\n continue;\n } else if ((0, _util.isNum)(glyph)) {\n x += spacingDir * glyph * fontSize / 1000;\n continue;\n }\n\n var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n var character = glyph.fontChar;\n var scaledX = void 0,\n scaledY = void 0;\n var width = glyph.width;\n\n if (vertical) {\n var vx = void 0;\n var vmetric = glyph.vmetric || defaultVMetrics;\n vx = glyph.vmetric ? vmetric[1] : width * 0.5;\n vx = -vx * widthAdvanceScale;\n var vy = vmetric[2] * widthAdvanceScale;\n width = vmetric ? -vmetric[0] : width;\n scaledX = vx / fontSizeScale;\n scaledY = (x + vy) / fontSizeScale;\n } else {\n scaledX = x / fontSizeScale;\n scaledY = 0;\n }\n\n if (glyph.isInFont || font.missingFile) {\n current.xcoords.push(current.x + scaledX);\n\n if (vertical) {\n current.ycoords.push(-current.y + scaledY);\n }\n\n current.tspan.textContent += character;\n } else {}\n\n var charWidth = void 0;\n\n if (vertical) {\n charWidth = width * widthAdvanceScale - spacing * fontDirection;\n } else {\n charWidth = width * widthAdvanceScale + spacing * fontDirection;\n }\n\n x += charWidth;\n }\n } catch (err) {\n _iterator4.e(err);\n } finally {\n _iterator4.f();\n }\n\n current.tspan.setAttributeNS(null, \"x\", current.xcoords.map(pf).join(\" \"));\n\n if (vertical) {\n current.tspan.setAttributeNS(null, \"y\", current.ycoords.map(pf).join(\" \"));\n } else {\n current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n }\n\n if (vertical) {\n current.y -= x;\n } else {\n current.x += x * textHScale;\n }\n\n current.tspan.setAttributeNS(null, \"font-family\", current.fontFamily);\n current.tspan.setAttributeNS(null, \"font-size\", \"\".concat(pf(current.fontSize), \"px\"));\n\n if (current.fontStyle !== SVG_DEFAULTS.fontStyle) {\n current.tspan.setAttributeNS(null, \"font-style\", current.fontStyle);\n }\n\n if (current.fontWeight !== SVG_DEFAULTS.fontWeight) {\n current.tspan.setAttributeNS(null, \"font-weight\", current.fontWeight);\n }\n\n var fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n\n if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n if (current.fillColor !== SVG_DEFAULTS.fillColor) {\n current.tspan.setAttributeNS(null, \"fill\", current.fillColor);\n }\n\n if (current.fillAlpha < 1) {\n current.tspan.setAttributeNS(null, \"fill-opacity\", current.fillAlpha);\n }\n } else if (current.textRenderingMode === _util.TextRenderingMode.ADD_TO_PATH) {\n current.tspan.setAttributeNS(null, \"fill\", \"transparent\");\n } else {\n current.tspan.setAttributeNS(null, \"fill\", \"none\");\n }\n\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n var lineWidthScale = 1 / (current.textMatrixScale || 1);\n\n this._setStrokeAttributes(current.tspan, lineWidthScale);\n }\n\n var textMatrix = current.textMatrix;\n\n if (current.textRise !== 0) {\n textMatrix = textMatrix.slice();\n textMatrix[5] += current.textRise;\n }\n\n current.txtElement.setAttributeNS(null, \"transform\", \"\".concat(pm(textMatrix), \" scale(\").concat(pf(textHScale), \", -1)\"));\n current.txtElement.setAttributeNS(XML_NS, \"xml:space\", \"preserve\");\n current.txtElement.appendChild(current.tspan);\n current.txtgrp.appendChild(current.txtElement);\n\n this._ensureTransformGroup().appendChild(current.txtElement);\n }\n }, {\n key: \"setLeadingMoveText\",\n value: function setLeadingMoveText(x, y) {\n this.setLeading(-y);\n this.moveText(x, y);\n }\n }, {\n key: \"addFontStyle\",\n value: function addFontStyle(fontObj) {\n if (!fontObj.data) {\n throw new Error(\"addFontStyle: No font data available, \" + 'ensure that the \"fontExtraProperties\" API parameter is set.');\n }\n\n if (!this.cssStyle) {\n this.cssStyle = this.svgFactory.createElement(\"svg:style\");\n this.cssStyle.setAttributeNS(null, \"type\", \"text/css\");\n this.defs.appendChild(this.cssStyle);\n }\n\n var url = (0, _util.createObjectURL)(fontObj.data, fontObj.mimetype, this.forceDataSchema);\n this.cssStyle.textContent += \"@font-face { font-family: \\\"\".concat(fontObj.loadedName, \"\\\";\") + \" src: url(\".concat(url, \"); }\\n\");\n }\n }, {\n key: \"setFont\",\n value: function setFont(details) {\n var current = this.current;\n var fontObj = this.commonObjs.get(details[0]);\n var size = details[1];\n current.font = fontObj;\n\n if (this.embedFonts && !fontObj.missingFile && !this.embeddedFonts[fontObj.loadedName]) {\n this.addFontStyle(fontObj);\n this.embeddedFonts[fontObj.loadedName] = fontObj;\n }\n\n current.fontMatrix = fontObj.fontMatrix ? fontObj.fontMatrix : _util.FONT_IDENTITY_MATRIX;\n var bold = \"normal\";\n\n if (fontObj.black) {\n bold = \"900\";\n } else if (fontObj.bold) {\n bold = \"bold\";\n }\n\n var italic = fontObj.italic ? \"italic\" : \"normal\";\n\n if (size < 0) {\n size = -size;\n current.fontDirection = -1;\n } else {\n current.fontDirection = 1;\n }\n\n current.fontSize = size;\n current.fontFamily = fontObj.loadedName;\n current.fontWeight = bold;\n current.fontStyle = italic;\n current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n current.xcoords = [];\n current.ycoords = [];\n }\n }, {\n key: \"endText\",\n value: function endText() {\n var current = this.current;\n\n if (current.textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG && current.txtElement && current.txtElement.hasChildNodes()) {\n current.element = current.txtElement;\n this.clip(\"nonzero\");\n this.endPath();\n }\n }\n }, {\n key: \"setLineWidth\",\n value: function setLineWidth(width) {\n if (width > 0) {\n this.current.lineWidth = width;\n }\n }\n }, {\n key: \"setLineCap\",\n value: function setLineCap(style) {\n this.current.lineCap = LINE_CAP_STYLES[style];\n }\n }, {\n key: \"setLineJoin\",\n value: function setLineJoin(style) {\n this.current.lineJoin = LINE_JOIN_STYLES[style];\n }\n }, {\n key: \"setMiterLimit\",\n value: function setMiterLimit(limit) {\n this.current.miterLimit = limit;\n }\n }, {\n key: \"setStrokeAlpha\",\n value: function setStrokeAlpha(strokeAlpha) {\n this.current.strokeAlpha = strokeAlpha;\n }\n }, {\n key: \"setStrokeRGBColor\",\n value: function setStrokeRGBColor(r, g, b) {\n this.current.strokeColor = _util.Util.makeCssRgb(r, g, b);\n }\n }, {\n key: \"setFillAlpha\",\n value: function setFillAlpha(fillAlpha) {\n this.current.fillAlpha = fillAlpha;\n }\n }, {\n key: \"setFillRGBColor\",\n value: function setFillRGBColor(r, g, b) {\n this.current.fillColor = _util.Util.makeCssRgb(r, g, b);\n this.current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n this.current.xcoords = [];\n this.current.ycoords = [];\n }\n }, {\n key: \"setStrokeColorN\",\n value: function setStrokeColorN(args) {\n this.current.strokeColor = this._makeColorN_Pattern(args);\n }\n }, {\n key: \"setFillColorN\",\n value: function setFillColorN(args) {\n this.current.fillColor = this._makeColorN_Pattern(args);\n }\n }, {\n key: \"shadingFill\",\n value: function shadingFill(args) {\n var width = this.viewport.width;\n var height = this.viewport.height;\n\n var inv = _util.Util.inverseTransform(this.transformMatrix);\n\n var bl = _util.Util.applyTransform([0, 0], inv);\n\n var br = _util.Util.applyTransform([0, height], inv);\n\n var ul = _util.Util.applyTransform([width, 0], inv);\n\n var ur = _util.Util.applyTransform([width, height], inv);\n\n var x0 = Math.min(bl[0], br[0], ul[0], ur[0]);\n var y0 = Math.min(bl[1], br[1], ul[1], ur[1]);\n var x1 = Math.max(bl[0], br[0], ul[0], ur[0]);\n var y1 = Math.max(bl[1], br[1], ul[1], ur[1]);\n var rect = this.svgFactory.createElement(\"svg:rect\");\n rect.setAttributeNS(null, \"x\", x0);\n rect.setAttributeNS(null, \"y\", y0);\n rect.setAttributeNS(null, \"width\", x1 - x0);\n rect.setAttributeNS(null, \"height\", y1 - y0);\n rect.setAttributeNS(null, \"fill\", this._makeShadingPattern(args));\n\n if (this.current.fillAlpha < 1) {\n rect.setAttributeNS(null, \"fill-opacity\", this.current.fillAlpha);\n }\n\n this._ensureTransformGroup().appendChild(rect);\n }\n }, {\n key: \"_makeColorN_Pattern\",\n value: function _makeColorN_Pattern(args) {\n if (args[0] === \"TilingPattern\") {\n return this._makeTilingPattern(args);\n }\n\n return this._makeShadingPattern(args);\n }\n }, {\n key: \"_makeTilingPattern\",\n value: function _makeTilingPattern(args) {\n var color = args[1];\n var operatorList = args[2];\n var matrix = args[3] || _util.IDENTITY_MATRIX;\n\n var _args$ = _slicedToArray(args[4], 4),\n x0 = _args$[0],\n y0 = _args$[1],\n x1 = _args$[2],\n y1 = _args$[3];\n\n var xstep = args[5];\n var ystep = args[6];\n var paintType = args[7];\n var tilingId = \"shading\".concat(shadingCount++);\n\n var _Util$applyTransform = _util.Util.applyTransform([x0, y0], matrix),\n _Util$applyTransform2 = _slicedToArray(_Util$applyTransform, 2),\n tx0 = _Util$applyTransform2[0],\n ty0 = _Util$applyTransform2[1];\n\n var _Util$applyTransform3 = _util.Util.applyTransform([x1, y1], matrix),\n _Util$applyTransform4 = _slicedToArray(_Util$applyTransform3, 2),\n tx1 = _Util$applyTransform4[0],\n ty1 = _Util$applyTransform4[1];\n\n var _Util$singularValueDe = _util.Util.singularValueDecompose2dScale(matrix),\n _Util$singularValueDe2 = _slicedToArray(_Util$singularValueDe, 2),\n xscale = _Util$singularValueDe2[0],\n yscale = _Util$singularValueDe2[1];\n\n var txstep = xstep * xscale;\n var tystep = ystep * yscale;\n var tiling = this.svgFactory.createElement(\"svg:pattern\");\n tiling.setAttributeNS(null, \"id\", tilingId);\n tiling.setAttributeNS(null, \"patternUnits\", \"userSpaceOnUse\");\n tiling.setAttributeNS(null, \"width\", txstep);\n tiling.setAttributeNS(null, \"height\", tystep);\n tiling.setAttributeNS(null, \"x\", \"\".concat(tx0));\n tiling.setAttributeNS(null, \"y\", \"\".concat(ty0));\n var svg = this.svg;\n var transformMatrix = this.transformMatrix;\n var fillColor = this.current.fillColor;\n var strokeColor = this.current.strokeColor;\n var bbox = this.svgFactory.create(tx1 - tx0, ty1 - ty0);\n this.svg = bbox;\n this.transformMatrix = matrix;\n\n if (paintType === 2) {\n var cssColor = _util.Util.makeCssRgb.apply(_util.Util, _toConsumableArray(color));\n\n this.current.fillColor = cssColor;\n this.current.strokeColor = cssColor;\n }\n\n this.executeOpTree(this.convertOpList(operatorList));\n this.svg = svg;\n this.transformMatrix = transformMatrix;\n this.current.fillColor = fillColor;\n this.current.strokeColor = strokeColor;\n tiling.appendChild(bbox.childNodes[0]);\n this.defs.appendChild(tiling);\n return \"url(#\".concat(tilingId, \")\");\n }\n }, {\n key: \"_makeShadingPattern\",\n value: function _makeShadingPattern(args) {\n switch (args[0]) {\n case \"RadialAxial\":\n var shadingId = \"shading\".concat(shadingCount++);\n var colorStops = args[3];\n var gradient;\n\n switch (args[1]) {\n case \"axial\":\n var point0 = args[4];\n var point1 = args[5];\n gradient = this.svgFactory.createElement(\"svg:linearGradient\");\n gradient.setAttributeNS(null, \"id\", shadingId);\n gradient.setAttributeNS(null, \"gradientUnits\", \"userSpaceOnUse\");\n gradient.setAttributeNS(null, \"x1\", point0[0]);\n gradient.setAttributeNS(null, \"y1\", point0[1]);\n gradient.setAttributeNS(null, \"x2\", point1[0]);\n gradient.setAttributeNS(null, \"y2\", point1[1]);\n break;\n\n case \"radial\":\n var focalPoint = args[4];\n var circlePoint = args[5];\n var focalRadius = args[6];\n var circleRadius = args[7];\n gradient = this.svgFactory.createElement(\"svg:radialGradient\");\n gradient.setAttributeNS(null, \"id\", shadingId);\n gradient.setAttributeNS(null, \"gradientUnits\", \"userSpaceOnUse\");\n gradient.setAttributeNS(null, \"cx\", circlePoint[0]);\n gradient.setAttributeNS(null, \"cy\", circlePoint[1]);\n gradient.setAttributeNS(null, \"r\", circleRadius);\n gradient.setAttributeNS(null, \"fx\", focalPoint[0]);\n gradient.setAttributeNS(null, \"fy\", focalPoint[1]);\n gradient.setAttributeNS(null, \"fr\", focalRadius);\n break;\n\n default:\n throw new Error(\"Unknown RadialAxial type: \".concat(args[1]));\n }\n\n var _iterator5 = _createForOfIteratorHelper(colorStops),\n _step5;\n\n try {\n for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {\n var colorStop = _step5.value;\n var stop = this.svgFactory.createElement(\"svg:stop\");\n stop.setAttributeNS(null, \"offset\", colorStop[0]);\n stop.setAttributeNS(null, \"stop-color\", colorStop[1]);\n gradient.appendChild(stop);\n }\n } catch (err) {\n _iterator5.e(err);\n } finally {\n _iterator5.f();\n }\n\n this.defs.appendChild(gradient);\n return \"url(#\".concat(shadingId, \")\");\n\n case \"Mesh\":\n (0, _util.warn)(\"Unimplemented pattern Mesh\");\n return null;\n\n case \"Dummy\":\n return \"hotpink\";\n\n default:\n throw new Error(\"Unknown IR type: \".concat(args[0]));\n }\n }\n }, {\n key: \"setDash\",\n value: function setDash(dashArray, dashPhase) {\n this.current.dashArray = dashArray;\n this.current.dashPhase = dashPhase;\n }\n }, {\n key: \"constructPath\",\n value: function constructPath(ops, args) {\n var current = this.current;\n var x = current.x,\n y = current.y;\n var d = [];\n var j = 0;\n\n var _iterator6 = _createForOfIteratorHelper(ops),\n _step6;\n\n try {\n for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {\n var op = _step6.value;\n\n switch (op | 0) {\n case _util.OPS.rectangle:\n x = args[j++];\n y = args[j++];\n var width = args[j++];\n var height = args[j++];\n var xw = x + width;\n var yh = y + height;\n d.push(\"M\", pf(x), pf(y), \"L\", pf(xw), pf(y), \"L\", pf(xw), pf(yh), \"L\", pf(x), pf(yh), \"Z\");\n break;\n\n case _util.OPS.moveTo:\n x = args[j++];\n y = args[j++];\n d.push(\"M\", pf(x), pf(y));\n break;\n\n case _util.OPS.lineTo:\n x = args[j++];\n y = args[j++];\n d.push(\"L\", pf(x), pf(y));\n break;\n\n case _util.OPS.curveTo:\n x = args[j + 4];\n y = args[j + 5];\n d.push(\"C\", pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3]), pf(x), pf(y));\n j += 6;\n break;\n\n case _util.OPS.curveTo2:\n d.push(\"C\", pf(x), pf(y), pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3]));\n x = args[j + 2];\n y = args[j + 3];\n j += 4;\n break;\n\n case _util.OPS.curveTo3:\n x = args[j + 2];\n y = args[j + 3];\n d.push(\"C\", pf(args[j]), pf(args[j + 1]), pf(x), pf(y), pf(x), pf(y));\n j += 4;\n break;\n\n case _util.OPS.closePath:\n d.push(\"Z\");\n break;\n }\n }\n } catch (err) {\n _iterator6.e(err);\n } finally {\n _iterator6.f();\n }\n\n d = d.join(\" \");\n\n if (current.path && ops.length > 0 && ops[0] !== _util.OPS.rectangle && ops[0] !== _util.OPS.moveTo) {\n d = current.path.getAttributeNS(null, \"d\") + d;\n } else {\n current.path = this.svgFactory.createElement(\"svg:path\");\n\n this._ensureTransformGroup().appendChild(current.path);\n }\n\n current.path.setAttributeNS(null, \"d\", d);\n current.path.setAttributeNS(null, \"fill\", \"none\");\n current.element = current.path;\n current.setCurrentPoint(x, y);\n }\n }, {\n key: \"endPath\",\n value: function endPath() {\n var current = this.current;\n current.path = null;\n\n if (!this.pendingClip) {\n return;\n }\n\n if (!current.element) {\n this.pendingClip = null;\n return;\n }\n\n var clipId = \"clippath\".concat(clipCount++);\n var clipPath = this.svgFactory.createElement(\"svg:clipPath\");\n clipPath.setAttributeNS(null, \"id\", clipId);\n clipPath.setAttributeNS(null, \"transform\", pm(this.transformMatrix));\n var clipElement = current.element.cloneNode(true);\n\n if (this.pendingClip === \"evenodd\") {\n clipElement.setAttributeNS(null, \"clip-rule\", \"evenodd\");\n } else {\n clipElement.setAttributeNS(null, \"clip-rule\", \"nonzero\");\n }\n\n this.pendingClip = null;\n clipPath.appendChild(clipElement);\n this.defs.appendChild(clipPath);\n\n if (current.activeClipUrl) {\n current.clipGroup = null;\n this.extraStack.forEach(function (prev) {\n prev.clipGroup = null;\n });\n clipPath.setAttributeNS(null, \"clip-path\", current.activeClipUrl);\n }\n\n current.activeClipUrl = \"url(#\".concat(clipId, \")\");\n this.tgrp = null;\n }\n }, {\n key: \"clip\",\n value: function clip(type) {\n this.pendingClip = type;\n }\n }, {\n key: \"closePath\",\n value: function closePath() {\n var current = this.current;\n\n if (current.path) {\n var d = \"\".concat(current.path.getAttributeNS(null, \"d\"), \"Z\");\n current.path.setAttributeNS(null, \"d\", d);\n }\n }\n }, {\n key: \"setLeading\",\n value: function setLeading(leading) {\n this.current.leading = -leading;\n }\n }, {\n key: \"setTextRise\",\n value: function setTextRise(textRise) {\n this.current.textRise = textRise;\n }\n }, {\n key: \"setTextRenderingMode\",\n value: function setTextRenderingMode(textRenderingMode) {\n this.current.textRenderingMode = textRenderingMode;\n }\n }, {\n key: \"setHScale\",\n value: function setHScale(scale) {\n this.current.textHScale = scale / 100;\n }\n }, {\n key: \"setRenderingIntent\",\n value: function setRenderingIntent(intent) {}\n }, {\n key: \"setFlatness\",\n value: function setFlatness(flatness) {}\n }, {\n key: \"setGState\",\n value: function setGState(states) {\n var _iterator7 = _createForOfIteratorHelper(states),\n _step7;\n\n try {\n for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {\n var _step7$value = _slicedToArray(_step7.value, 2),\n key = _step7$value[0],\n value = _step7$value[1];\n\n switch (key) {\n case \"LW\":\n this.setLineWidth(value);\n break;\n\n case \"LC\":\n this.setLineCap(value);\n break;\n\n case \"LJ\":\n this.setLineJoin(value);\n break;\n\n case \"ML\":\n this.setMiterLimit(value);\n break;\n\n case \"D\":\n this.setDash(value[0], value[1]);\n break;\n\n case \"RI\":\n this.setRenderingIntent(value);\n break;\n\n case \"FL\":\n this.setFlatness(value);\n break;\n\n case \"Font\":\n this.setFont(value);\n break;\n\n case \"CA\":\n this.setStrokeAlpha(value);\n break;\n\n case \"ca\":\n this.setFillAlpha(value);\n break;\n\n default:\n (0, _util.warn)(\"Unimplemented graphic state operator \".concat(key));\n break;\n }\n }\n } catch (err) {\n _iterator7.e(err);\n } finally {\n _iterator7.f();\n }\n }\n }, {\n key: \"fill\",\n value: function fill() {\n var current = this.current;\n\n if (current.element) {\n current.element.setAttributeNS(null, \"fill\", current.fillColor);\n current.element.setAttributeNS(null, \"fill-opacity\", current.fillAlpha);\n this.endPath();\n }\n }\n }, {\n key: \"stroke\",\n value: function stroke() {\n var current = this.current;\n\n if (current.element) {\n this._setStrokeAttributes(current.element);\n\n current.element.setAttributeNS(null, \"fill\", \"none\");\n this.endPath();\n }\n }\n }, {\n key: \"_setStrokeAttributes\",\n value: function _setStrokeAttributes(element) {\n var lineWidthScale = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n var current = this.current;\n var dashArray = current.dashArray;\n\n if (lineWidthScale !== 1 && dashArray.length > 0) {\n dashArray = dashArray.map(function (value) {\n return lineWidthScale * value;\n });\n }\n\n element.setAttributeNS(null, \"stroke\", current.strokeColor);\n element.setAttributeNS(null, \"stroke-opacity\", current.strokeAlpha);\n element.setAttributeNS(null, \"stroke-miterlimit\", pf(current.miterLimit));\n element.setAttributeNS(null, \"stroke-linecap\", current.lineCap);\n element.setAttributeNS(null, \"stroke-linejoin\", current.lineJoin);\n element.setAttributeNS(null, \"stroke-width\", pf(lineWidthScale * current.lineWidth) + \"px\");\n element.setAttributeNS(null, \"stroke-dasharray\", dashArray.map(pf).join(\" \"));\n element.setAttributeNS(null, \"stroke-dashoffset\", pf(lineWidthScale * current.dashPhase) + \"px\");\n }\n }, {\n key: \"eoFill\",\n value: function eoFill() {\n if (this.current.element) {\n this.current.element.setAttributeNS(null, \"fill-rule\", \"evenodd\");\n }\n\n this.fill();\n }\n }, {\n key: \"fillStroke\",\n value: function fillStroke() {\n this.stroke();\n this.fill();\n }\n }, {\n key: \"eoFillStroke\",\n value: function eoFillStroke() {\n if (this.current.element) {\n this.current.element.setAttributeNS(null, \"fill-rule\", \"evenodd\");\n }\n\n this.fillStroke();\n }\n }, {\n key: \"closeStroke\",\n value: function closeStroke() {\n this.closePath();\n this.stroke();\n }\n }, {\n key: \"closeFillStroke\",\n value: function closeFillStroke() {\n this.closePath();\n this.fillStroke();\n }\n }, {\n key: \"closeEOFillStroke\",\n value: function closeEOFillStroke() {\n this.closePath();\n this.eoFillStroke();\n }\n }, {\n key: \"paintSolidColorImageMask\",\n value: function paintSolidColorImageMask() {\n var rect = this.svgFactory.createElement(\"svg:rect\");\n rect.setAttributeNS(null, \"x\", \"0\");\n rect.setAttributeNS(null, \"y\", \"0\");\n rect.setAttributeNS(null, \"width\", \"1px\");\n rect.setAttributeNS(null, \"height\", \"1px\");\n rect.setAttributeNS(null, \"fill\", this.current.fillColor);\n\n this._ensureTransformGroup().appendChild(rect);\n }\n }, {\n key: \"paintImageXObject\",\n value: function paintImageXObject(objId) {\n var imgData = 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/* 219 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFNodeStream = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _network_utils = __w_pdfjs_require__(220);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n;\n\nvar fs = require(\"fs\");\n\nvar http = require(\"http\");\n\nvar https = require(\"https\");\n\nvar url = require(\"url\");\n\nvar fileUriRegex = /^file:\\/\\/\\/[a-zA-Z]:\\//;\n\nfunction parseUrl(sourceUrl) {\n var parsedUrl = url.parse(sourceUrl);\n\n if (parsedUrl.protocol === \"file:\" || parsedUrl.host) {\n return parsedUrl;\n }\n\n if (/^[a-z]:[/\\\\]/i.test(sourceUrl)) {\n return url.parse(\"file:///\".concat(sourceUrl));\n }\n\n if (!parsedUrl.host) {\n parsedUrl.protocol = \"file:\";\n }\n\n return parsedUrl;\n}\n\nvar PDFNodeStream = /*#__PURE__*/function () {\n function PDFNodeStream(source) {\n _classCallCheck(this, PDFNodeStream);\n\n this.source = source;\n this.url = parseUrl(source.url);\n this.isHttp = this.url.protocol === \"http:\" || this.url.protocol === \"https:\";\n this.isFsUrl = this.url.protocol === \"file:\";\n this.httpHeaders = this.isHttp && source.httpHeaders || {};\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n\n _createClass(PDFNodeStream, [{\n key: \"getFullReader\",\n value: function getFullReader() {\n (0, _util.assert)(!this._fullRequestReader, \"PDFNodeStream.getFullReader can only be called once.\");\n this._fullRequestReader = this.isFsUrl ? new PDFNodeStreamFsFullReader(this) : new PDFNodeStreamFullReader(this);\n return this._fullRequestReader;\n }\n }, {\n key: \"getRangeReader\",\n value: function getRangeReader(start, end) {\n if (end <= this._progressiveDataLength) {\n return null;\n }\n\n var rangeReader = this.isFsUrl ? new PDFNodeStreamFsRangeReader(this, start, end) : new PDFNodeStreamRangeReader(this, start, end);\n\n this._rangeRequestReaders.push(rangeReader);\n\n return rangeReader;\n }\n }, {\n key: \"cancelAllRequests\",\n value: function cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n\n var readers = this._rangeRequestReaders.slice(0);\n\n readers.forEach(function (reader) {\n reader.cancel(reason);\n });\n }\n }, {\n key: \"_progressiveDataLength\",\n get: function get() {\n return this._fullRequestReader ? this._fullRequestReader._loaded : 0;\n }\n }]);\n\n return PDFNodeStream;\n}();\n\nexports.PDFNodeStream = PDFNodeStream;\n\nvar BaseFullReader = /*#__PURE__*/function () {\n function BaseFullReader(stream) {\n _classCallCheck(this, BaseFullReader);\n\n this._url = stream.url;\n this._done = false;\n this._storedError = null;\n this.onProgress = null;\n var source = stream.source;\n this._contentLength = source.length;\n this._loaded = 0;\n this._filename = null;\n this._disableRange = source.disableRange || false;\n this._rangeChunkSize = source.rangeChunkSize;\n\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n\n this._isStreamingSupported = !source.disableStream;\n this._isRangeSupported = !source.disableRange;\n this._readableStream = null;\n this._readCapability = (0, _util.createPromiseCapability)();\n this._headersCapability = (0, _util.createPromiseCapability)();\n }\n\n _createClass(BaseFullReader, [{\n key: \"read\",\n value: function () {\n var _read = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee() {\n var chunk, buffer;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return this._readCapability.promise;\n\n case 2:\n if (!this._done) {\n _context.next = 4;\n break;\n }\n\n return _context.abrupt(\"return\", {\n value: undefined,\n done: true\n });\n\n case 4:\n if (!this._storedError) {\n _context.next = 6;\n break;\n }\n\n throw this._storedError;\n\n case 6:\n chunk = this._readableStream.read();\n\n if (!(chunk === null)) {\n _context.next = 10;\n break;\n }\n\n this._readCapability = (0, _util.createPromiseCapability)();\n return _context.abrupt(\"return\", this.read());\n\n case 10:\n this._loaded += chunk.length;\n\n if (this.onProgress) {\n this.onProgress({\n loaded: this._loaded,\n total: this._contentLength\n });\n }\n\n buffer = new Uint8Array(chunk).buffer;\n return _context.abrupt(\"return\", {\n value: buffer,\n done: false\n });\n\n case 14:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function read() {\n return _read.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n if (!this._readableStream) {\n this._error(reason);\n\n return;\n }\n\n this._readableStream.destroy(reason);\n }\n }, {\n key: \"_error\",\n value: function _error(reason) {\n this._storedError = reason;\n\n this._readCapability.resolve();\n }\n }, {\n key: \"_setReadableStream\",\n value: function _setReadableStream(readableStream) {\n var _this = this;\n\n this._readableStream = readableStream;\n readableStream.on(\"readable\", function () {\n _this._readCapability.resolve();\n });\n readableStream.on(\"end\", function () {\n readableStream.destroy();\n _this._done = true;\n\n _this._readCapability.resolve();\n });\n readableStream.on(\"error\", function (reason) {\n _this._error(reason);\n });\n\n if (!this._isStreamingSupported && this._isRangeSupported) {\n this._error(new _util.AbortException(\"streaming is disabled\"));\n }\n\n if (this._storedError) {\n this._readableStream.destroy(this._storedError);\n }\n }\n }, {\n key: \"headersReady\",\n get: function get() {\n return this._headersCapability.promise;\n }\n }, {\n key: \"filename\",\n get: function get() {\n return this._filename;\n }\n }, {\n key: \"contentLength\",\n get: function get() {\n return this._contentLength;\n }\n }, {\n key: \"isRangeSupported\",\n get: function get() {\n return this._isRangeSupported;\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return this._isStreamingSupported;\n }\n }]);\n\n return BaseFullReader;\n}();\n\nvar BaseRangeReader = /*#__PURE__*/function () {\n function BaseRangeReader(stream) {\n _classCallCheck(this, BaseRangeReader);\n\n this._url = stream.url;\n this._done = false;\n this._storedError = null;\n this.onProgress = null;\n this._loaded = 0;\n this._readableStream = null;\n this._readCapability = (0, _util.createPromiseCapability)();\n var source = stream.source;\n this._isStreamingSupported = !source.disableStream;\n }\n\n _createClass(BaseRangeReader, [{\n key: \"read\",\n value: function () {\n var _read2 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2() {\n var chunk, buffer;\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return this._readCapability.promise;\n\n case 2:\n if (!this._done) {\n _context2.next = 4;\n break;\n }\n\n return _context2.abrupt(\"return\", {\n value: undefined,\n done: true\n });\n\n case 4:\n if (!this._storedError) {\n _context2.next = 6;\n break;\n }\n\n throw this._storedError;\n\n case 6:\n chunk = this._readableStream.read();\n\n if (!(chunk === null)) {\n _context2.next = 10;\n break;\n }\n\n this._readCapability = (0, _util.createPromiseCapability)();\n return _context2.abrupt(\"return\", this.read());\n\n case 10:\n this._loaded += chunk.length;\n\n if (this.onProgress) {\n this.onProgress({\n loaded: this._loaded\n });\n }\n\n buffer = new Uint8Array(chunk).buffer;\n return _context2.abrupt(\"return\", {\n value: buffer,\n done: false\n });\n\n case 14:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function read() {\n return _read2.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n if (!this._readableStream) {\n this._error(reason);\n\n return;\n }\n\n this._readableStream.destroy(reason);\n }\n }, {\n key: \"_error\",\n value: function _error(reason) {\n this._storedError = reason;\n\n this._readCapability.resolve();\n }\n }, {\n key: \"_setReadableStream\",\n value: function _setReadableStream(readableStream) {\n var _this2 = this;\n\n this._readableStream = readableStream;\n readableStream.on(\"readable\", function () {\n _this2._readCapability.resolve();\n });\n readableStream.on(\"end\", function () {\n readableStream.destroy();\n _this2._done = true;\n\n _this2._readCapability.resolve();\n });\n readableStream.on(\"error\", function (reason) {\n _this2._error(reason);\n });\n\n if (this._storedError) {\n this._readableStream.destroy(this._storedError);\n }\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return this._isStreamingSupported;\n }\n }]);\n\n return BaseRangeReader;\n}();\n\nfunction createRequestOptions(parsedUrl, headers) {\n return {\n protocol: parsedUrl.protocol,\n auth: parsedUrl.auth,\n host: parsedUrl.hostname,\n port: parsedUrl.port,\n path: parsedUrl.path,\n method: \"GET\",\n headers: headers\n };\n}\n\nvar PDFNodeStreamFullReader = /*#__PURE__*/function (_BaseFullReader) {\n _inherits(PDFNodeStreamFullReader, _BaseFullReader);\n\n var _super = _createSuper(PDFNodeStreamFullReader);\n\n function PDFNodeStreamFullReader(stream) {\n var _this3;\n\n _classCallCheck(this, PDFNodeStreamFullReader);\n\n _this3 = _super.call(this, stream);\n\n var handleResponse = function handleResponse(response) {\n if (response.statusCode === 404) {\n var error = new _util.MissingPDFException(\"Missing PDF \\\"\".concat(_this3._url, \"\\\".\"));\n _this3._storedError = error;\n\n _this3._headersCapability.reject(error);\n\n return;\n }\n\n _this3._headersCapability.resolve();\n\n _this3._setReadableStream(response);\n\n var getResponseHeader = function getResponseHeader(name) {\n return _this3._readableStream.headers[name.toLowerCase()];\n };\n\n var _validateRangeRequest = (0, _network_utils.validateRangeRequestCapabilities)({\n getResponseHeader: getResponseHeader,\n isHttp: stream.isHttp,\n rangeChunkSize: _this3._rangeChunkSize,\n disableRange: _this3._disableRange\n }),\n allowRangeRequests = _validateRangeRequest.allowRangeRequests,\n suggestedLength = _validateRangeRequest.suggestedLength;\n\n _this3._isRangeSupported = allowRangeRequests;\n _this3._contentLength = suggestedLength || _this3._contentLength;\n _this3._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);\n };\n\n _this3._request = null;\n\n if (_this3._url.protocol === \"http:\") {\n _this3._request = http.request(createRequestOptions(_this3._url, stream.httpHeaders), handleResponse);\n } else {\n _this3._request = https.request(createRequestOptions(_this3._url, stream.httpHeaders), handleResponse);\n }\n\n _this3._request.on(\"error\", function (reason) {\n _this3._storedError = reason;\n\n _this3._headersCapability.reject(reason);\n });\n\n _this3._request.end();\n\n return _this3;\n }\n\n return PDFNodeStreamFullReader;\n}(BaseFullReader);\n\nvar PDFNodeStreamRangeReader = /*#__PURE__*/function (_BaseRangeReader) {\n _inherits(PDFNodeStreamRangeReader, _BaseRangeReader);\n\n var _super2 = _createSuper(PDFNodeStreamRangeReader);\n\n function PDFNodeStreamRangeReader(stream, start, end) {\n var _this4;\n\n _classCallCheck(this, PDFNodeStreamRangeReader);\n\n _this4 = _super2.call(this, stream);\n _this4._httpHeaders = {};\n\n for (var property in stream.httpHeaders) {\n var value = stream.httpHeaders[property];\n\n if (typeof value === \"undefined\") {\n continue;\n }\n\n _this4._httpHeaders[property] = value;\n }\n\n _this4._httpHeaders.Range = \"bytes=\".concat(start, \"-\").concat(end - 1);\n\n var handleResponse = function handleResponse(response) {\n if (response.statusCode === 404) {\n var error = new _util.MissingPDFException(\"Missing PDF \\\"\".concat(_this4._url, \"\\\".\"));\n _this4._storedError = error;\n return;\n }\n\n _this4._setReadableStream(response);\n };\n\n _this4._request = null;\n\n if (_this4._url.protocol === \"http:\") {\n _this4._request = http.request(createRequestOptions(_this4._url, _this4._httpHeaders), handleResponse);\n } else {\n _this4._request = https.request(createRequestOptions(_this4._url, _this4._httpHeaders), handleResponse);\n }\n\n _this4._request.on(\"error\", function (reason) {\n _this4._storedError = reason;\n });\n\n _this4._request.end();\n\n return _this4;\n }\n\n return PDFNodeStreamRangeReader;\n}(BaseRangeReader);\n\nvar PDFNodeStreamFsFullReader = /*#__PURE__*/function (_BaseFullReader2) {\n _inherits(PDFNodeStreamFsFullReader, _BaseFullReader2);\n\n var _super3 = _createSuper(PDFNodeStreamFsFullReader);\n\n function PDFNodeStreamFsFullReader(stream) {\n var _this5;\n\n _classCallCheck(this, PDFNodeStreamFsFullReader);\n\n _this5 = _super3.call(this, stream);\n var path = decodeURIComponent(_this5._url.path);\n\n if (fileUriRegex.test(_this5._url.href)) {\n path = path.replace(/^\\//, \"\");\n }\n\n fs.lstat(path, function (error, stat) {\n if (error) {\n if (error.code === \"ENOENT\") {\n error = new _util.MissingPDFException(\"Missing PDF \\\"\".concat(path, \"\\\".\"));\n }\n\n _this5._storedError = error;\n\n _this5._headersCapability.reject(error);\n\n return;\n }\n\n _this5._contentLength = stat.size;\n\n _this5._setReadableStream(fs.createReadStream(path));\n\n _this5._headersCapability.resolve();\n });\n return _this5;\n }\n\n return PDFNodeStreamFsFullReader;\n}(BaseFullReader);\n\nvar PDFNodeStreamFsRangeReader = /*#__PURE__*/function (_BaseRangeReader2) {\n _inherits(PDFNodeStreamFsRangeReader, _BaseRangeReader2);\n\n var _super4 = _createSuper(PDFNodeStreamFsRangeReader);\n\n function PDFNodeStreamFsRangeReader(stream, start, end) {\n var _this6;\n\n _classCallCheck(this, PDFNodeStreamFsRangeReader);\n\n _this6 = _super4.call(this, stream);\n var path = decodeURIComponent(_this6._url.path);\n\n if (fileUriRegex.test(_this6._url.href)) {\n path = path.replace(/^\\//, \"\");\n }\n\n _this6._setReadableStream(fs.createReadStream(path, {\n start: start,\n end: end - 1\n }));\n\n return _this6;\n }\n\n return PDFNodeStreamFsRangeReader;\n}(BaseRangeReader);\n\n/***/ }),\n/* 220 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.createResponseStatusError = createResponseStatusError;\nexports.extractFilenameFromHeader = extractFilenameFromHeader;\nexports.validateRangeRequestCapabilities = validateRangeRequestCapabilities;\nexports.validateResponseStatus = validateResponseStatus;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _content_disposition = __w_pdfjs_require__(221);\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/* 221 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getFilenameFromContentDispositionHeader = getFilenameFromContentDispositionHeader;\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction getFilenameFromContentDispositionHeader(contentDisposition) {\n var needsEncodingFixup = true;\n var tmp = toParamRegExp(\"filename\\\\*\", \"i\").exec(contentDisposition);\n\n if (tmp) {\n tmp = tmp[1];\n var filename = rfc2616unquote(tmp);\n filename = unescape(filename);\n filename = rfc5987decode(filename);\n filename = rfc2047decode(filename);\n return fixupEncoding(filename);\n }\n\n tmp = rfc2231getparam(contentDisposition);\n\n if (tmp) {\n var _filename = rfc2047decode(tmp);\n\n return fixupEncoding(_filename);\n }\n\n tmp = toParamRegExp(\"filename\", \"i\").exec(contentDisposition);\n\n if (tmp) {\n tmp = tmp[1];\n\n var _filename2 = rfc2616unquote(tmp);\n\n _filename2 = rfc2047decode(_filename2);\n return fixupEncoding(_filename2);\n }\n\n function toParamRegExp(attributePattern, flags) {\n return new RegExp(\"(?:^|;)\\\\s*\" + attributePattern + \"\\\\s*=\\\\s*\" + \"(\" + '[^\";\\\\s][^;\\\\s]*' + \"|\" + '\"(?:[^\"\\\\\\\\]|\\\\\\\\\"?)+\"?' + \")\", flags);\n }\n\n function textdecode(encoding, value) {\n if (encoding) {\n if (!/^[\\x00-\\xFF]+$/.test(value)) {\n return value;\n }\n\n try {\n var decoder = new TextDecoder(encoding, {\n fatal: true\n });\n var bytes = Array.from(value, function (ch) {\n return ch.charCodeAt(0) & 0xff;\n });\n value = decoder.decode(new Uint8Array(bytes));\n needsEncodingFixup = false;\n } catch (e) {\n if (/^utf-?8$/i.test(encoding)) {\n try {\n value = decodeURIComponent(escape(value));\n needsEncodingFixup = false;\n } catch (err) {}\n }\n }\n }\n\n return value;\n }\n\n function fixupEncoding(value) {\n if (needsEncodingFixup && /[\\x80-\\xff]/.test(value)) {\n value = textdecode(\"utf-8\", value);\n\n if (needsEncodingFixup) {\n value = textdecode(\"iso-8859-1\", value);\n }\n }\n\n return value;\n }\n\n function rfc2231getparam(contentDispositionStr) {\n var matches = [];\n var match;\n var iter = toParamRegExp(\"filename\\\\*((?!0\\\\d)\\\\d+)(\\\\*?)\", \"ig\");\n\n while ((match = iter.exec(contentDispositionStr)) !== null) {\n var _match = match,\n _match2 = _slicedToArray(_match, 4),\n n = _match2[1],\n quot = _match2[2],\n part = _match2[3];\n\n n = parseInt(n, 10);\n\n if (n in matches) {\n if (n === 0) {\n break;\n }\n\n continue;\n }\n\n matches[n] = [quot, part];\n }\n\n var parts = [];\n\n for (var _n2 = 0; _n2 < matches.length; ++_n2) {\n if (!(_n2 in matches)) {\n break;\n }\n\n var _matches$_n = _slicedToArray(matches[_n2], 2),\n _quot = _matches$_n[0],\n _part = _matches$_n[1];\n\n _part = rfc2616unquote(_part);\n\n if (_quot) {\n _part = unescape(_part);\n\n if (_n2 === 0) {\n _part = rfc5987decode(_part);\n }\n }\n\n parts.push(_part);\n }\n\n return parts.join(\"\");\n }\n\n function rfc2616unquote(value) {\n if (value.startsWith('\"')) {\n var parts = value.slice(1).split('\\\\\"');\n\n for (var i = 0; i < parts.length; ++i) {\n var quotindex = parts[i].indexOf('\"');\n\n if (quotindex !== -1) {\n parts[i] = parts[i].slice(0, quotindex);\n parts.length = i + 1;\n }\n\n parts[i] = parts[i].replace(/\\\\(.)/g, \"$1\");\n }\n\n value = parts.join('\"');\n }\n\n return value;\n }\n\n function rfc5987decode(extvalue) {\n var encodingend = extvalue.indexOf(\"'\");\n\n if (encodingend === -1) {\n return extvalue;\n }\n\n var encoding = extvalue.slice(0, encodingend);\n var langvalue = extvalue.slice(encodingend + 1);\n var value = langvalue.replace(/^[^']*'/, \"\");\n return textdecode(encoding, value);\n }\n\n function rfc2047decode(value) {\n if (!value.startsWith(\"=?\") || /[\\x00-\\x19\\x80-\\xff]/.test(value)) {\n return value;\n }\n\n return value.replace(/=\\?([\\w-]*)\\?([QqBb])\\?((?:[^?]|\\?(?!=))*)\\?=/g, function (matches, charset, encoding, text) {\n if (encoding === \"q\" || encoding === \"Q\") {\n text = text.replace(/_/g, \" \");\n text = text.replace(/=([0-9a-fA-F]{2})/g, function (match, hex) {\n return String.fromCharCode(parseInt(hex, 16));\n });\n return textdecode(charset, text);\n }\n\n try {\n text = atob(text);\n } catch (e) {}\n\n return textdecode(charset, text);\n });\n }\n\n return \"\";\n}\n\n/***/ }),\n/* 222 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFNetworkStream = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _network_utils = __w_pdfjs_require__(220);\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/* 223 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFFetchStream = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _network_utils = __w_pdfjs_require__(220);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n;\n\nfunction createFetchOptions(headers, withCredentials, abortController) {\n return {\n method: \"GET\",\n headers: headers,\n signal: abortController && abortController.signal,\n mode: \"cors\",\n credentials: withCredentials ? \"include\" : \"same-origin\",\n redirect: \"follow\"\n };\n}\n\nfunction createHeaders(httpHeaders) {\n var headers = new Headers();\n\n for (var property in httpHeaders) {\n var value = httpHeaders[property];\n\n if (typeof value === \"undefined\") {\n continue;\n }\n\n headers.append(property, value);\n }\n\n return headers;\n}\n\nvar PDFFetchStream = /*#__PURE__*/function () {\n function PDFFetchStream(source) {\n _classCallCheck(this, PDFFetchStream);\n\n this.source = source;\n this.isHttp = /^https?:/i.test(source.url);\n this.httpHeaders = this.isHttp && source.httpHeaders || {};\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n\n _createClass(PDFFetchStream, [{\n key: \"getFullReader\",\n value: function getFullReader() {\n (0, _util.assert)(!this._fullRequestReader, \"PDFFetchStream.getFullReader can only be called once.\");\n this._fullRequestReader = new PDFFetchStreamReader(this);\n return this._fullRequestReader;\n }\n }, {\n key: \"getRangeReader\",\n value: function getRangeReader(begin, end) {\n if (end <= this._progressiveDataLength) {\n return null;\n }\n\n var reader = new PDFFetchStreamRangeReader(this, begin, end);\n\n this._rangeRequestReaders.push(reader);\n\n return reader;\n }\n }, {\n key: \"cancelAllRequests\",\n value: function cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n\n var readers = this._rangeRequestReaders.slice(0);\n\n readers.forEach(function (reader) {\n reader.cancel(reason);\n });\n }\n }, {\n key: \"_progressiveDataLength\",\n get: function get() {\n return this._fullRequestReader ? this._fullRequestReader._loaded : 0;\n }\n }]);\n\n return PDFFetchStream;\n}();\n\nexports.PDFFetchStream = PDFFetchStream;\n\nvar PDFFetchStreamReader = /*#__PURE__*/function () {\n function PDFFetchStreamReader(stream) {\n var _this = this;\n\n _classCallCheck(this, PDFFetchStreamReader);\n\n this._stream = stream;\n this._reader = null;\n this._loaded = 0;\n this._filename = null;\n var source = stream.source;\n this._withCredentials = source.withCredentials || false;\n this._contentLength = source.length;\n this._headersCapability = (0, _util.createPromiseCapability)();\n this._disableRange = source.disableRange || false;\n this._rangeChunkSize = source.rangeChunkSize;\n\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n\n if (typeof AbortController !== \"undefined\") {\n this._abortController = new AbortController();\n }\n\n this._isStreamingSupported = !source.disableStream;\n this._isRangeSupported = !source.disableRange;\n this._headers = createHeaders(this._stream.httpHeaders);\n var url = source.url;\n fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(function (response) {\n if (!(0, _network_utils.validateResponseStatus)(response.status)) {\n throw (0, _network_utils.createResponseStatusError)(response.status, url);\n }\n\n _this._reader = response.body.getReader();\n\n _this._headersCapability.resolve();\n\n var getResponseHeader = function getResponseHeader(name) {\n return response.headers.get(name);\n };\n\n var _validateRangeRequest = (0, _network_utils.validateRangeRequestCapabilities)({\n getResponseHeader: getResponseHeader,\n isHttp: _this._stream.isHttp,\n rangeChunkSize: _this._rangeChunkSize,\n disableRange: _this._disableRange\n }),\n allowRangeRequests = _validateRangeRequest.allowRangeRequests,\n suggestedLength = _validateRangeRequest.suggestedLength;\n\n _this._isRangeSupported = allowRangeRequests;\n _this._contentLength = suggestedLength || _this._contentLength;\n _this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);\n\n if (!_this._isStreamingSupported && _this._isRangeSupported) {\n _this.cancel(new _util.AbortException(\"Streaming is disabled.\"));\n }\n })[\"catch\"](this._headersCapability.reject);\n this.onProgress = null;\n }\n\n _createClass(PDFFetchStreamReader, [{\n key: \"read\",\n value: function () {\n var _read = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee() {\n var _yield$this$_reader$r, value, done, buffer;\n\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return this._headersCapability.promise;\n\n case 2:\n _context.next = 4;\n return this._reader.read();\n\n case 4:\n _yield$this$_reader$r = _context.sent;\n value = _yield$this$_reader$r.value;\n done = _yield$this$_reader$r.done;\n\n if (!done) {\n _context.next = 9;\n break;\n }\n\n return _context.abrupt(\"return\", {\n value: value,\n done: done\n });\n\n case 9:\n this._loaded += value.byteLength;\n\n if (this.onProgress) {\n this.onProgress({\n loaded: this._loaded,\n total: this._contentLength\n });\n }\n\n buffer = new Uint8Array(value).buffer;\n return _context.abrupt(\"return\", {\n value: buffer,\n done: false\n });\n\n case 13:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function read() {\n return _read.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n if (this._reader) {\n this._reader.cancel(reason);\n }\n\n if (this._abortController) {\n this._abortController.abort();\n }\n }\n }, {\n key: \"headersReady\",\n get: function get() {\n return this._headersCapability.promise;\n }\n }, {\n key: \"filename\",\n get: function get() {\n return this._filename;\n }\n }, {\n key: \"contentLength\",\n get: function get() {\n return this._contentLength;\n }\n }, {\n key: \"isRangeSupported\",\n get: function get() {\n return this._isRangeSupported;\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return this._isStreamingSupported;\n }\n }]);\n\n return PDFFetchStreamReader;\n}();\n\nvar PDFFetchStreamRangeReader = /*#__PURE__*/function () {\n function PDFFetchStreamRangeReader(stream, begin, end) {\n var _this2 = this;\n\n _classCallCheck(this, PDFFetchStreamRangeReader);\n\n this._stream = stream;\n this._reader = null;\n this._loaded = 0;\n var source = stream.source;\n this._withCredentials = source.withCredentials || false;\n this._readCapability = (0, _util.createPromiseCapability)();\n this._isStreamingSupported = !source.disableStream;\n\n if (typeof AbortController !== \"undefined\") {\n this._abortController = new AbortController();\n }\n\n this._headers = createHeaders(this._stream.httpHeaders);\n\n this._headers.append(\"Range\", \"bytes=\".concat(begin, \"-\").concat(end - 1));\n\n var url = source.url;\n fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(function (response) {\n if (!(0, _network_utils.validateResponseStatus)(response.status)) {\n throw (0, _network_utils.createResponseStatusError)(response.status, url);\n }\n\n _this2._readCapability.resolve();\n\n _this2._reader = response.body.getReader();\n })[\"catch\"](function (reason) {\n if (reason && 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/******/ ]);\n});\n//# sourceMappingURL=pdf.js.map","'use strict';\nvar $ = require('../internals/export');\nvar $trim = require('../internals/string-trim').trim;\nvar forcedStringTrimMethod = require('../internals/string-trim-forced');\n\n// `String.prototype.trim` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.trim\n$({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, {\n trim: function trim() {\n return $trim(this);\n }\n});\n","// a string of all valid unicode whitespaces\n// eslint-disable-next-line max-len\nmodule.exports = '\\u0009\\u000A\\u000B\\u000C\\u000D\\u0020\\u00A0\\u1680\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n","var requireObjectCoercible = require('../internals/require-object-coercible');\nvar whitespaces = require('../internals/whitespaces');\n\nvar whitespace = '[' + whitespaces + ']';\nvar ltrim = RegExp('^' + whitespace + whitespace + '*');\nvar rtrim = RegExp(whitespace + whitespace + '*$');\n\n// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation\nvar createMethod = function (TYPE) {\n return function ($this) {\n var string = String(requireObjectCoercible($this));\n if (TYPE & 1) string = string.replace(ltrim, '');\n if (TYPE & 2) string = string.replace(rtrim, '');\n return string;\n };\n};\n\nmodule.exports = {\n // `String.prototype.{ trimLeft, trimStart }` methods\n // https://tc39.github.io/ecma262/#sec-string.prototype.trimstart\n start: createMethod(1),\n // `String.prototype.{ trimRight, trimEnd }` methods\n // https://tc39.github.io/ecma262/#sec-string.prototype.trimend\n end: createMethod(2),\n // `String.prototype.trim` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.trim\n trim: createMethod(3)\n};\n","!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(\"vue-cropper\",[],e):\"object\"==typeof exports?exports[\"vue-cropper\"]=e():t[\"vue-cropper\"]=e()}(window,function(){return function(t){var e={};function o(n){if(e[n])return e[n].exports;var r=e[n]={i:n,l:!1,exports:{}};return t[n].call(r.exports,r,r.exports,o),r.l=!0,r.exports}return o.m=t,o.c=e,o.d=function(t,e,n){o.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},o.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},o.t=function(t,e){if(1&e&&(t=o(t)),8&e)return t;if(4&e&&\"object\"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(o.r(n),Object.defineProperty(n,\"default\",{enumerable:!0,value:t}),2&e&&\"string\"!=typeof t)for(var r in t)o.d(n,r,function(e){return t[e]}.bind(null,r));return n},o.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return o.d(e,\"a\",e),e},o.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},o.p=\"\",o(o.s=6)}([function(t,e,o){var n=o(2);\"string\"==typeof n&&(n=[[t.i,n,\"\"]]);var r={hmr:!0,transform:void 0,insertInto:void 0};o(4)(n,r);n.locals&&(t.exports=n.locals)},function(t,e,o){\"use strict\";var n=o(0);o.n(n).a},function(t,e,o){(t.exports=o(3)(!1)).push([t.i,'\\n.vue-cropper[data-v-6dae58fd] {\\n position: relative;\\n width: 100%;\\n height: 100%;\\n box-sizing: border-box;\\n user-select: none;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n direction: ltr;\\n touch-action: none;\\n text-align: left;\\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAAA3NCSVQICAjb4U/gAAAABlBMVEXMzMz////TjRV2AAAACXBIWXMAAArrAAAK6wGCiw1aAAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M26LyyjAAAABFJREFUCJlj+M/AgBVhF/0PAH6/D/HkDxOGAAAAAElFTkSuQmCC\");\\n}\\n.cropper-box[data-v-6dae58fd],\\n.cropper-box-canvas[data-v-6dae58fd],\\n.cropper-drag-box[data-v-6dae58fd],\\n.cropper-crop-box[data-v-6dae58fd],\\n.cropper-face[data-v-6dae58fd] {\\n position: absolute;\\n top: 0;\\n right: 0;\\n bottom: 0;\\n left: 0;\\n user-select: none;\\n}\\n.cropper-box-canvas img[data-v-6dae58fd] {\\n position: relative;\\n text-align: left;\\n user-select: none;\\n transform: none;\\n max-width: none;\\n max-height: none;\\n}\\n.cropper-box[data-v-6dae58fd] {\\n overflow: hidden;\\n}\\n.cropper-move[data-v-6dae58fd] {\\n cursor: move;\\n}\\n.cropper-crop[data-v-6dae58fd] {\\n cursor: crosshair;\\n}\\n.cropper-modal[data-v-6dae58fd] {\\n background: rgba(0, 0, 0, 0.5);\\n}\\n.cropper-crop-box[data-v-6dae58fd] {\\n /*border: 2px solid #39f;*/\\n}\\n.cropper-view-box[data-v-6dae58fd] {\\n display: block;\\n overflow: hidden;\\n width: 100%;\\n height: 100%;\\n outline: 1px solid #39f;\\n outline-color: rgba(51, 153, 255, 0.75);\\n user-select: none;\\n}\\n.cropper-view-box img[data-v-6dae58fd] {\\n user-select: none;\\n text-align: left;\\n max-width: none;\\n max-height: none;\\n}\\n.cropper-face[data-v-6dae58fd] {\\n top: 0;\\n left: 0;\\n background-color: #fff;\\n opacity: 0.1;\\n}\\n.crop-info[data-v-6dae58fd] {\\n position: absolute;\\n left: 0px;\\n min-width: 65px;\\n text-align: center;\\n color: white;\\n line-height: 20px;\\n background-color: rgba(0, 0, 0, 0.8);\\n font-size: 12px;\\n}\\n.crop-line[data-v-6dae58fd] {\\n position: absolute;\\n display: block;\\n width: 100%;\\n height: 100%;\\n opacity: 0.1;\\n}\\n.line-w[data-v-6dae58fd] {\\n top: -3px;\\n left: 0;\\n height: 5px;\\n cursor: n-resize;\\n}\\n.line-a[data-v-6dae58fd] {\\n top: 0;\\n left: -3px;\\n width: 5px;\\n cursor: w-resize;\\n}\\n.line-s[data-v-6dae58fd] {\\n bottom: -3px;\\n left: 0;\\n height: 5px;\\n cursor: s-resize;\\n}\\n.line-d[data-v-6dae58fd] {\\n top: 0;\\n right: -3px;\\n width: 5px;\\n cursor: e-resize;\\n}\\n.crop-point[data-v-6dae58fd] {\\n position: absolute;\\n width: 8px;\\n height: 8px;\\n opacity: 0.75;\\n background-color: #39f;\\n border-radius: 100%;\\n}\\n.point1[data-v-6dae58fd] {\\n top: -4px;\\n left: -4px;\\n cursor: nw-resize;\\n}\\n.point2[data-v-6dae58fd] {\\n top: -5px;\\n left: 50%;\\n margin-left: -3px;\\n cursor: n-resize;\\n}\\n.point3[data-v-6dae58fd] {\\n top: -4px;\\n right: -4px;\\n cursor: ne-resize;\\n}\\n.point4[data-v-6dae58fd] {\\n top: 50%;\\n left: -4px;\\n margin-top: -3px;\\n cursor: w-resize;\\n}\\n.point5[data-v-6dae58fd] {\\n top: 50%;\\n right: -4px;\\n margin-top: -3px;\\n cursor: e-resize;\\n}\\n.point6[data-v-6dae58fd] {\\n bottom: -5px;\\n left: -4px;\\n cursor: sw-resize;\\n}\\n.point7[data-v-6dae58fd] {\\n bottom: -5px;\\n left: 50%;\\n margin-left: -3px;\\n cursor: s-resize;\\n}\\n.point8[data-v-6dae58fd] {\\n bottom: -5px;\\n right: -4px;\\n cursor: se-resize;\\n}\\n@media screen and (max-width: 500px) {\\n.crop-point[data-v-6dae58fd] {\\n position: absolute;\\n width: 20px;\\n height: 20px;\\n opacity: 0.45;\\n background-color: #39f;\\n border-radius: 100%;\\n}\\n.point1[data-v-6dae58fd] {\\n top: -10px;\\n left: -10px;\\n}\\n.point2[data-v-6dae58fd],\\n .point4[data-v-6dae58fd],\\n .point5[data-v-6dae58fd],\\n .point7[data-v-6dae58fd] {\\n display: none;\\n}\\n.point3[data-v-6dae58fd] {\\n top: -10px;\\n right: -10px;\\n}\\n.point4[data-v-6dae58fd] {\\n top: 0;\\n left: 0;\\n}\\n.point6[data-v-6dae58fd] {\\n bottom: -10px;\\n left: -10px;\\n}\\n.point8[data-v-6dae58fd] {\\n bottom: -10px;\\n right: -10px;\\n}\\n}\\n',\"\"])},function(t,e){t.exports=function(t){var e=[];return e.toString=function(){return this.map(function(e){var o=function(t,e){var o=t[1]||\"\",n=t[3];if(!n)return o;if(e&&\"function\"==typeof btoa){var r=function(t){return\"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,\"+btoa(unescape(encodeURIComponent(JSON.stringify(t))))+\" */\"}(n),i=n.sources.map(function(t){return\"/*# sourceURL=\"+n.sourceRoot+t+\" */\"});return[o].concat(i).concat([r]).join(\"\\n\")}return[o].join(\"\\n\")}(e,t);return e[2]?\"@media \"+e[2]+\"{\"+o+\"}\":o}).join(\"\")},e.i=function(t,o){\"string\"==typeof t&&(t=[[null,t,\"\"]]);for(var n={},r=0;r=0&&c.splice(e,1)}function f(t){var e=document.createElement(\"style\");if(void 0===t.attrs.type&&(t.attrs.type=\"text/css\"),void 0===t.attrs.nonce){var n=function(){0;return o.nc}();n&&(t.attrs.nonce=n)}return g(e,t.attrs),d(t,e),e}function g(t,e){Object.keys(e).forEach(function(o){t.setAttribute(o,e[o])})}function v(t,e){var o,n,r,i;if(e.transform&&t.css){if(!(i=\"function\"==typeof e.transform?e.transform(t.css):e.transform.default(t.css)))return function(){};t.css=i}if(e.singleton){var c=a++;o=s||(s=f(e)),n=w.bind(null,o,c,!1),r=w.bind(null,o,c,!0)}else t.sourceMap&&\"function\"==typeof URL&&\"function\"==typeof URL.createObjectURL&&\"function\"==typeof URL.revokeObjectURL&&\"function\"==typeof Blob&&\"function\"==typeof btoa?(o=function(t){var e=document.createElement(\"link\");return void 0===t.attrs.type&&(t.attrs.type=\"text/css\"),t.attrs.rel=\"stylesheet\",g(e,t.attrs),d(t,e),e}(e),n=function(t,e,o){var n=o.css,r=o.sourceMap,i=void 0===e.convertToAbsoluteUrls&&r;(e.convertToAbsoluteUrls||i)&&(n=h(n));r&&(n+=\"\\n/*# sourceMappingURL=data:application/json;base64,\"+btoa(unescape(encodeURIComponent(JSON.stringify(r))))+\" */\");var s=new Blob([n],{type:\"text/css\"}),a=t.href;t.href=URL.createObjectURL(s),a&&URL.revokeObjectURL(a)}.bind(null,o,e),r=function(){l(o),o.href&&URL.revokeObjectURL(o.href)}):(o=f(e),n=function(t,e){var o=e.css,n=e.media;n&&t.setAttribute(\"media\",n);if(t.styleSheet)t.styleSheet.cssText=o;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(o))}}.bind(null,o),r=function(){l(o)});return n(t),function(e){if(e){if(e.css===t.css&&e.media===t.media&&e.sourceMap===t.sourceMap)return;n(t=e)}else r()}}t.exports=function(t,e){if(\"undefined\"!=typeof DEBUG&&DEBUG&&\"object\"!=typeof document)throw new Error(\"The style-loader cannot be used in a non-browser environment\");(e=e||{}).attrs=\"object\"==typeof e.attrs?e.attrs:{},e.singleton||\"boolean\"==typeof e.singleton||(e.singleton=r()),e.insertInto||(e.insertInto=\"head\"),e.insertAt||(e.insertAt=\"bottom\");var o=u(t,e);return p(o,e),function(t){for(var r=[],i=0;i=8&&(a=o+n)));if(a)for(u=p.getUint16(a,r),h=0;h21?\"-21px\":\"0px\",t.width=this.cropW>0?this.cropW:0,t.height=this.cropH>0?this.cropH:0,this.infoTrue){var e=1;this.high&&!this.full&&(e=window.devicePixelRatio),1!==this.enlarge&!this.full&&(e=Math.abs(Number(this.enlarge))),t.width=t.width*e,t.height=t.height*e,this.full&&(t.width=t.width/this.scale,t.height=t.height/this.scale)}return t.width=t.width.toFixed(0),t.height=t.height.toFixed(0),t},isIE:function(){navigator.userAgent;var t=!!window.ActiveXObject||\"ActiveXObject\"in window;return t},passive:function(){return this.isIE?null:{passive:!1}}},watch:{img:function(){this.checkedImg()},imgs:function(t){\"\"!==t&&this.reload()},cropW:function(){this.showPreview()},cropH:function(){this.showPreview()},cropOffsertX:function(){this.showPreview()},cropOffsertY:function(){this.showPreview()},scale:function(t,e){this.showPreview()},x:function(){this.showPreview()},y:function(){this.showPreview()},autoCrop:function(t){t&&this.goAutoCrop()},autoCropWidth:function(){this.autoCrop&&this.goAutoCrop()},autoCropHeight:function(){this.autoCrop&&this.goAutoCrop()},mode:function(){this.checkedImg()},rotate:function(){this.showPreview(),this.autoCrop?this.goAutoCrop(this.cropW,this.cropH):(this.cropW>0||this.cropH>0)&&this.goAutoCrop(this.cropW,this.cropH)}},methods:{getVersion:function(t){for(var e=navigator.userAgent.split(\" \"),o=\"\",n=new RegExp(t,\"i\"),r=0;r=81)e=-1;else if(this.getVersion(\"safari\")[0]>=605){var i=this.getVersion(\"version\");i[0]>13&&i[1]>1&&(e=-1)}else{var s=navigator.userAgent.toLowerCase().match(/cpu iphone os (.*?) like mac os/);if(s){var a=s[1];((a=a.split(\"_\"))[0]>13||a[0]>=13&&a[1]>=4)&&(e=-1)}}var c=document.createElement(\"canvas\"),h=c.getContext(\"2d\");switch(h.save(),e){case 2:c.width=o,c.height=n,h.translate(o,0),h.scale(-1,1);break;case 3:c.width=o,c.height=n,h.translate(o/2,n/2),h.rotate(180*Math.PI/180),h.translate(-o/2,-n/2);break;case 4:c.width=o,c.height=n,h.translate(0,n),h.scale(1,-1);break;case 5:c.height=o,c.width=n,h.rotate(.5*Math.PI),h.scale(1,-1);break;case 6:c.width=n,c.height=o,h.translate(n/2,o/2),h.rotate(90*Math.PI/180),h.translate(-o/2,-n/2);break;case 7:c.height=o,c.width=n,h.rotate(.5*Math.PI),h.translate(o,-n),h.scale(-1,1);break;case 8:c.height=o,c.width=n,h.translate(n/2,o/2),h.rotate(-90*Math.PI/180),h.translate(-o/2,-n/2);break;default:c.width=o,c.height=n}h.drawImage(t,0,0,o,n),h.restore(),c.toBlob(function(t){var e=URL.createObjectURL(t);URL.revokeObjectURL(r.imgs),r.imgs=e},\"image/\"+this.outputType,1)},checkedImg:function(){var t=this;if(null===this.img||\"\"===this.img)return this.imgs=\"\",void this.clearCrop();this.loading=!0,this.scale=1,this.rotate=0,this.clearCrop();var e=new Image;if(e.onload=function(){if(\"\"===t.img)return t.$emit(\"imgLoad\",\"error\"),t.$emit(\"img-load\",\"error\"),!1;var o=e.width,n=e.height;i.getData(e).then(function(r){t.orientation=r.orientation||1;var i=t.maxImgSize;!t.orientation&&oi&&(n=n/o*i,o=i),n>i&&(o=o/n*i,n=i),t.checkOrientationImage(e,t.orientation,o,n))})},e.onerror=function(){t.$emit(\"imgLoad\",\"error\"),t.$emit(\"img-load\",\"error\")},\"data\"!==this.img.substr(0,4)&&(e.crossOrigin=\"\"),this.isIE){var o=new XMLHttpRequest;o.onload=function(){var t=URL.createObjectURL(this.response);e.src=t},o.open(\"GET\",this.img,!0),o.responseType=\"blob\",o.send()}else e.src=this.img},startMove:function(t){if(t.preventDefault(),this.move&&!this.crop){if(!this.canMove)return!1;this.moveX=(t.clientX?t.clientX:t.touches[0].clientX)-this.x,this.moveY=(t.clientY?t.clientY:t.touches[0].clientY)-this.y,t.touches?(window.addEventListener(\"touchmove\",this.moveImg),window.addEventListener(\"touchend\",this.leaveImg),2==t.touches.length&&(this.touches=t.touches,window.addEventListener(\"touchmove\",this.touchScale),window.addEventListener(\"touchend\",this.cancelTouchScale))):(window.addEventListener(\"mousemove\",this.moveImg),window.addEventListener(\"mouseup\",this.leaveImg)),this.$emit(\"imgMoving\",{moving:!0,axis:this.getImgAxis()}),this.$emit(\"img-moving\",{moving:!0,axis:this.getImgAxis()})}else this.cropping=!0,window.addEventListener(\"mousemove\",this.createCrop),window.addEventListener(\"mouseup\",this.endCrop),window.addEventListener(\"touchmove\",this.createCrop),window.addEventListener(\"touchend\",this.endCrop),this.cropOffsertX=t.offsetX?t.offsetX:t.touches[0].pageX-this.$refs.cropper.offsetLeft,this.cropOffsertY=t.offsetY?t.offsetY:t.touches[0].pageY-this.$refs.cropper.offsetTop,this.cropX=t.clientX?t.clientX:t.touches[0].clientX,this.cropY=t.clientY?t.clientY:t.touches[0].clientY,this.cropChangeX=this.cropOffsertX,this.cropChangeY=this.cropOffsertY,this.cropW=0,this.cropH=0},touchScale:function(t){var e=this;t.preventDefault();var o=this.scale,n=this.touches[0].clientX,r=this.touches[0].clientY,i=t.touches[0].clientX,s=t.touches[0].clientY,a=this.touches[1].clientX,c=this.touches[1].clientY,h=t.touches[1].clientX,p=t.touches[1].clientY,u=Math.sqrt(Math.pow(n-a,2)+Math.pow(r-c,2)),d=Math.sqrt(Math.pow(i-h,2)+Math.pow(s-p,2))-u,l=1,f=(l=(l=l/this.trueWidth>l/this.trueHeight?l/this.trueHeight:l/this.trueWidth)>.1?.1:l)*d;if(!this.touchNow){if(this.touchNow=!0,d>0?o+=Math.abs(f):d<0&&o>Math.abs(f)&&(o-=Math.abs(f)),this.touches=t.touches,setTimeout(function(){e.touchNow=!1},8),!this.checkoutImgAxis(this.x,this.y,o))return!1;this.scale=o}},cancelTouchScale:function(t){window.removeEventListener(\"touchmove\",this.touchScale)},moveImg:function(t){var e=this;if(t.preventDefault(),t.touches&&2===t.touches.length)return this.touches=t.touches,window.addEventListener(\"touchmove\",this.touchScale),window.addEventListener(\"touchend\",this.cancelTouchScale),window.removeEventListener(\"touchmove\",this.moveImg),!1;var o,n,r=t.clientX?t.clientX:t.touches[0].clientX,i=t.clientY?t.clientY:t.touches[0].clientY;o=r-this.moveX,n=i-this.moveY,this.$nextTick(function(){if(e.centerBox){var t,r,i,s,a=e.getImgAxis(o,n,e.scale),c=e.getCropAxis(),h=e.trueHeight*e.scale,p=e.trueWidth*e.scale;switch(e.rotate){case 1:case-1:case 3:case-3:t=e.cropOffsertX-e.trueWidth*(1-e.scale)/2+(h-p)/2,r=e.cropOffsertY-e.trueHeight*(1-e.scale)/2+(p-h)/2,i=t-h+e.cropW,s=r-p+e.cropH;break;default:t=e.cropOffsertX-e.trueWidth*(1-e.scale)/2,r=e.cropOffsertY-e.trueHeight*(1-e.scale)/2,i=t-p+e.cropW,s=r-h+e.cropH}a.x1>=c.x1&&(o=t),a.y1>=c.y1&&(n=r),a.x2<=c.x2&&(o=i),a.y2<=c.y2&&(n=s)}e.x=o,e.y=n,e.$emit(\"imgMoving\",{moving:!0,axis:e.getImgAxis()}),e.$emit(\"img-moving\",{moving:!0,axis:e.getImgAxis()})})},leaveImg:function(t){window.removeEventListener(\"mousemove\",this.moveImg),window.removeEventListener(\"touchmove\",this.moveImg),window.removeEventListener(\"mouseup\",this.leaveImg),window.removeEventListener(\"touchend\",this.leaveImg),this.$emit(\"imgMoving\",{moving:!1,axis:this.getImgAxis()}),this.$emit(\"img-moving\",{moving:!1,axis:this.getImgAxis()})},scaleImg:function(){this.canScale&&window.addEventListener(this.support,this.changeSize,this.passive)},cancelScale:function(){this.canScale&&window.removeEventListener(this.support,this.changeSize)},changeSize:function(t){var e=this;t.preventDefault();var o=this.scale,n=t.deltaY||t.wheelDelta;n=navigator.userAgent.indexOf(\"Firefox\")>0?30*n:n,this.isIE&&(n=-n);var r=this.coe,i=(r=r/this.trueWidth>r/this.trueHeight?r/this.trueHeight:r/this.trueWidth)*n;i<0?o+=Math.abs(i):o>Math.abs(i)&&(o-=Math.abs(i));var s=i<0?\"add\":\"reduce\";if(s!==this.coeStatus&&(this.coeStatus=s,this.coe=.2),this.scaling||(this.scalingSet=setTimeout(function(){e.scaling=!1,e.coe=e.coe+=.01},50)),this.scaling=!0,!this.checkoutImgAxis(this.x,this.y,o))return!1;this.scale=o},changeScale:function(t){var e=this.scale;t=t||1;var o=20;if((t*=o=o/this.trueWidth>o/this.trueHeight?o/this.trueHeight:o/this.trueWidth)>0?e+=Math.abs(t):e>Math.abs(t)&&(e-=Math.abs(t)),!this.checkoutImgAxis(this.x,this.y,e))return!1;this.scale=e},createCrop:function(t){var e=this;t.preventDefault();var o=t.clientX?t.clientX:t.touches?t.touches[0].clientX:0,n=t.clientY?t.clientY:t.touches?t.touches[0].clientY:0;this.$nextTick(function(){var t=o-e.cropX,r=n-e.cropY;if(t>0?(e.cropW=t+e.cropChangeX>e.w?e.w-e.cropChangeX:t,e.cropOffsertX=e.cropChangeX):(e.cropW=e.w-e.cropChangeX+Math.abs(t)>e.w?e.cropChangeX:Math.abs(t),e.cropOffsertX=e.cropChangeX+t>0?e.cropChangeX+t:0),e.fixed){var i=e.cropW/e.fixedNumber[0]*e.fixedNumber[1];i+e.cropOffsertY>e.h?(e.cropH=e.h-e.cropOffsertY,e.cropW=e.cropH/e.fixedNumber[1]*e.fixedNumber[0],e.cropOffsertX=t>0?e.cropChangeX:e.cropChangeX-e.cropW):e.cropH=i,e.cropOffsertY=e.cropOffsertY}else r>0?(e.cropH=r+e.cropChangeY>e.h?e.h-e.cropChangeY:r,e.cropOffsertY=e.cropChangeY):(e.cropH=e.h-e.cropChangeY+Math.abs(r)>e.h?e.cropChangeY:Math.abs(r),e.cropOffsertY=e.cropChangeY+r>0?e.cropChangeY+r:0)})},changeCropSize:function(t,e,o,n,r){t.preventDefault(),window.addEventListener(\"mousemove\",this.changeCropNow),window.addEventListener(\"mouseup\",this.changeCropEnd),window.addEventListener(\"touchmove\",this.changeCropNow),window.addEventListener(\"touchend\",this.changeCropEnd),this.canChangeX=e,this.canChangeY=o,this.changeCropTypeX=n,this.changeCropTypeY=r,this.cropX=t.clientX?t.clientX:t.touches[0].clientX,this.cropY=t.clientY?t.clientY:t.touches[0].clientY,this.cropOldW=this.cropW,this.cropOldH=this.cropH,this.cropChangeX=this.cropOffsertX,this.cropChangeY=this.cropOffsertY,this.fixed&&this.canChangeX&&this.canChangeY&&(this.canChangeY=0),this.$emit(\"change-crop-size\",{width:this.cropW,height:this.cropH})},changeCropNow:function(t){var e=this;t.preventDefault();var o=t.clientX?t.clientX:t.touches?t.touches[0].clientX:0,n=t.clientY?t.clientY:t.touches?t.touches[0].clientY:0,r=this.w,i=this.h,s=0,a=0;if(this.centerBox){var c=this.getImgAxis(),h=c.x2,p=c.y2;s=c.x1>0?c.x1:0,a=c.y1>0?c.y1:0,r>h&&(r=h),i>p&&(i=p)}this.$nextTick(function(){var t=o-e.cropX,c=n-e.cropY;if(e.canChangeX&&(1===e.changeCropTypeX?e.cropOldW-t>0?(e.cropW=r-e.cropChangeX-t<=r-s?e.cropOldW-t:e.cropOldW+e.cropChangeX-s,e.cropOffsertX=r-e.cropChangeX-t<=r-s?e.cropChangeX+t:s):(e.cropW=Math.abs(t)+e.cropChangeX<=r?Math.abs(t)-e.cropOldW:r-e.cropOldW-e.cropChangeX,e.cropOffsertX=e.cropChangeX+e.cropOldW):2===e.changeCropTypeX&&(e.cropOldW+t>0?(e.cropW=e.cropOldW+t+e.cropOffsertX<=r?e.cropOldW+t:r-e.cropOffsertX,e.cropOffsertX=e.cropChangeX):(e.cropW=r-e.cropChangeX+Math.abs(t+e.cropOldW)<=r-s?Math.abs(t+e.cropOldW):e.cropChangeX-s,e.cropOffsertX=r-e.cropChangeX+Math.abs(t+e.cropOldW)<=r-s?e.cropChangeX-Math.abs(t+e.cropOldW):s))),e.canChangeY&&(1===e.changeCropTypeY?e.cropOldH-c>0?(e.cropH=i-e.cropChangeY-c<=i-a?e.cropOldH-c:e.cropOldH+e.cropChangeY-a,e.cropOffsertY=i-e.cropChangeY-c<=i-a?e.cropChangeY+c:a):(e.cropH=Math.abs(c)+e.cropChangeY<=i?Math.abs(c)-e.cropOldH:i-e.cropOldH-e.cropChangeY,e.cropOffsertY=e.cropChangeY+e.cropOldH):2===e.changeCropTypeY&&(e.cropOldH+c>0?(e.cropH=e.cropOldH+c+e.cropOffsertY<=i?e.cropOldH+c:i-e.cropOffsertY,e.cropOffsertY=e.cropChangeY):(e.cropH=i-e.cropChangeY+Math.abs(c+e.cropOldH)<=i-a?Math.abs(c+e.cropOldH):e.cropChangeY-a,e.cropOffsertY=i-e.cropChangeY+Math.abs(c+e.cropOldH)<=i-a?e.cropChangeY-Math.abs(c+e.cropOldH):a))),e.canChangeX&&e.fixed){var h=e.cropW/e.fixedNumber[0]*e.fixedNumber[1];h+e.cropOffsertY>i?(e.cropH=i-e.cropOffsertY,e.cropW=e.cropH/e.fixedNumber[1]*e.fixedNumber[0]):e.cropH=h}if(e.canChangeY&&e.fixed){var p=e.cropH/e.fixedNumber[1]*e.fixedNumber[0];p+e.cropOffsertX>r?(e.cropW=r-e.cropOffsertX,e.cropH=e.cropW/e.fixedNumber[0]*e.fixedNumber[1]):e.cropW=p}})},checkCropLimitSize:function(){this.cropW,this.cropH;var t=this.limitMinSize,e=new Array;return e=Array.isArray[t]?t:[t,t],[parseFloat(e[0]),parseFloat(e[1])]},changeCropEnd:function(t){window.removeEventListener(\"mousemove\",this.changeCropNow),window.removeEventListener(\"mouseup\",this.changeCropEnd),window.removeEventListener(\"touchmove\",this.changeCropNow),window.removeEventListener(\"touchend\",this.changeCropEnd)},endCrop:function(){0===this.cropW&&0===this.cropH&&(this.cropping=!1),window.removeEventListener(\"mousemove\",this.createCrop),window.removeEventListener(\"mouseup\",this.endCrop),window.removeEventListener(\"touchmove\",this.createCrop),window.removeEventListener(\"touchend\",this.endCrop)},startCrop:function(){this.crop=!0},stopCrop:function(){this.crop=!1},clearCrop:function(){this.cropping=!1,this.cropW=0,this.cropH=0},cropMove:function(t){if(t.preventDefault(),!this.canMoveBox)return this.crop=!1,this.startMove(t),!1;if(t.touches&&2===t.touches.length)return this.crop=!1,this.startMove(t),this.leaveCrop(),!1;window.addEventListener(\"mousemove\",this.moveCrop),window.addEventListener(\"mouseup\",this.leaveCrop),window.addEventListener(\"touchmove\",this.moveCrop),window.addEventListener(\"touchend\",this.leaveCrop);var e,o,n=t.clientX?t.clientX:t.touches[0].clientX,r=t.clientY?t.clientY:t.touches[0].clientY;e=n-this.cropOffsertX,o=r-this.cropOffsertY,this.cropX=e,this.cropY=o,this.$emit(\"cropMoving\",{moving:!0,axis:this.getCropAxis()}),this.$emit(\"crop-moving\",{moving:!0,axis:this.getCropAxis()})},moveCrop:function(t,e){var o=this,n=0,r=0;t&&(t.preventDefault(),n=t.clientX?t.clientX:t.touches[0].clientX,r=t.clientY?t.clientY:t.touches[0].clientY),this.$nextTick(function(){var t,i,s=n-o.cropX,a=r-o.cropY;if(e&&(s=o.cropOffsertX,a=o.cropOffsertY),t=s<=0?0:s+o.cropW>o.w?o.w-o.cropW:s,i=a<=0?0:a+o.cropH>o.h?o.h-o.cropH:a,o.centerBox){var c=o.getImgAxis();t<=c.x1&&(t=c.x1),t+o.cropW>c.x2&&(t=c.x2-o.cropW),i<=c.y1&&(i=c.y1),i+o.cropH>c.y2&&(i=c.y2-o.cropH)}o.cropOffsertX=t,o.cropOffsertY=i,o.$emit(\"cropMoving\",{moving:!0,axis:o.getCropAxis()}),o.$emit(\"crop-moving\",{moving:!0,axis:o.getCropAxis()})})},getImgAxis:function(t,e,o){t=t||this.x,e=e||this.y,o=o||this.scale;var n={x1:0,x2:0,y1:0,y2:0},r=this.trueWidth*o,i=this.trueHeight*o;switch(this.rotate){case 0:n.x1=t+this.trueWidth*(1-o)/2,n.x2=n.x1+this.trueWidth*o,n.y1=e+this.trueHeight*(1-o)/2,n.y2=n.y1+this.trueHeight*o;break;case 1:case-1:case 3:case-3:n.x1=t+this.trueWidth*(1-o)/2+(r-i)/2,n.x2=n.x1+this.trueHeight*o,n.y1=e+this.trueHeight*(1-o)/2+(i-r)/2,n.y2=n.y1+this.trueWidth*o;break;default:n.x1=t+this.trueWidth*(1-o)/2,n.x2=n.x1+this.trueWidth*o,n.y1=e+this.trueHeight*(1-o)/2,n.y2=n.y1+this.trueHeight*o}return n},getCropAxis:function(){var t={x1:0,x2:0,y1:0,y2:0};return t.x1=this.cropOffsertX,t.x2=t.x1+this.cropW,t.y1=this.cropOffsertY,t.y2=t.y1+this.cropH,t},leaveCrop:function(t){window.removeEventListener(\"mousemove\",this.moveCrop),window.removeEventListener(\"mouseup\",this.leaveCrop),window.removeEventListener(\"touchmove\",this.moveCrop),window.removeEventListener(\"touchend\",this.leaveCrop),this.$emit(\"cropMoving\",{moving:!1,axis:this.getCropAxis()}),this.$emit(\"crop-moving\",{moving:!1,axis:this.getCropAxis()})},getCropChecked:function(t){var e=this,o=document.createElement(\"canvas\"),n=new Image,r=this.rotate,i=this.trueWidth,s=this.trueHeight,a=this.cropOffsertX,c=this.cropOffsertY;function h(t,e){o.width=Math.round(t),o.height=Math.round(e)}n.onload=function(){if(0!==e.cropW){var p=o.getContext(\"2d\"),u=1;e.high&!e.full&&(u=window.devicePixelRatio),1!==e.enlarge&!e.full&&(u=Math.abs(Number(e.enlarge)));var d=e.cropW*u,l=e.cropH*u,f=i*e.scale*u,g=s*e.scale*u,v=(e.x-a+e.trueWidth*(1-e.scale)/2)*u,m=(e.y-c+e.trueHeight*(1-e.scale)/2)*u;switch(h(d,l),p.save(),r){case 0:e.full?(h(d/e.scale,l/e.scale),p.drawImage(n,v/e.scale,m/e.scale,f/e.scale,g/e.scale)):p.drawImage(n,v,m,f,g);break;case 1:case-3:e.full?(h(d/e.scale,l/e.scale),v=v/e.scale+(f/e.scale-g/e.scale)/2,m=m/e.scale+(g/e.scale-f/e.scale)/2,p.rotate(90*r*Math.PI/180),p.drawImage(n,m,-v-g/e.scale,f/e.scale,g/e.scale)):(v+=(f-g)/2,m+=(g-f)/2,p.rotate(90*r*Math.PI/180),p.drawImage(n,m,-v-g,f,g));break;case 2:case-2:e.full?(h(d/e.scale,l/e.scale),p.rotate(90*r*Math.PI/180),v/=e.scale,m/=e.scale,p.drawImage(n,-v-f/e.scale,-m-g/e.scale,f/e.scale,g/e.scale)):(p.rotate(90*r*Math.PI/180),p.drawImage(n,-v-f,-m-g,f,g));break;case 3:case-1:e.full?(h(d/e.scale,l/e.scale),v=v/e.scale+(f/e.scale-g/e.scale)/2,m=m/e.scale+(g/e.scale-f/e.scale)/2,p.rotate(90*r*Math.PI/180),p.drawImage(n,-m-f/e.scale,v,f/e.scale,g/e.scale)):(v+=(f-g)/2,m+=(g-f)/2,p.rotate(90*r*Math.PI/180),p.drawImage(n,-m-f,v,f,g));break;default:e.full?(h(d/e.scale,l/e.scale),p.drawImage(n,v/e.scale,m/e.scale,f/e.scale,g/e.scale)):p.drawImage(n,v,m,f,g)}p.restore()}else{var w=i*e.scale,x=s*e.scale,C=o.getContext(\"2d\");switch(C.save(),r){case 0:h(w,x),C.drawImage(n,0,0,w,x);break;case 1:case-3:h(x,w),C.rotate(90*r*Math.PI/180),C.drawImage(n,0,-x,w,x);break;case 2:case-2:h(w,x),C.rotate(90*r*Math.PI/180),C.drawImage(n,-w,-x,w,x);break;case 3:case-1:h(x,w),C.rotate(90*r*Math.PI/180),C.drawImage(n,-w,0,w,x);break;default:h(w,x),C.drawImage(n,0,0,w,x)}C.restore()}t(o)},\"data\"!==this.img.substr(0,4)&&(n.crossOrigin=\"Anonymous\"),n.src=this.imgs},getCropData:function(t){var e=this;this.getCropChecked(function(o){t(o.toDataURL(\"image/\"+e.outputType,e.outputSize))})},getCropBlob:function(t){var e=this;this.getCropChecked(function(o){o.toBlob(function(e){return t(e)},\"image/\"+e.outputType,e.outputSize)})},showPreview:function(){var t=this;if(!this.isCanShow)return!1;this.isCanShow=!1,setTimeout(function(){t.isCanShow=!0},16);var e=this.cropW,o=this.cropH,n=this.scale,r={};r.div={width:\"\".concat(e,\"px\"),height:\"\".concat(o,\"px\")};var i=(this.x-this.cropOffsertX)/n,s=(this.y-this.cropOffsertY)/n;r.w=e,r.h=o,r.url=this.imgs,r.img={width:\"\".concat(this.trueWidth,\"px\"),height:\"\".concat(this.trueHeight,\"px\"),transform:\"scale(\".concat(n,\")translate3d(\").concat(i,\"px, \").concat(s,\"px, \").concat(0,\"px)rotateZ(\").concat(90*this.rotate,\"deg)\")},r.html='\\n
\\n
\\n \\n
\\n
'),this.$emit(\"realTime\",r),this.$emit(\"real-time\",r)},reload:function(){var t=this,e=new Image;e.onload=function(){t.w=parseFloat(window.getComputedStyle(t.$refs.cropper).width),t.h=parseFloat(window.getComputedStyle(t.$refs.cropper).height),t.trueWidth=e.width,t.trueHeight=e.height,t.original?t.scale=1:t.scale=t.checkedMode(),t.$nextTick(function(){t.x=-(t.trueWidth-t.trueWidth*t.scale)/2+(t.w-t.trueWidth*t.scale)/2,t.y=-(t.trueHeight-t.trueHeight*t.scale)/2+(t.h-t.trueHeight*t.scale)/2,t.loading=!1,t.autoCrop&&t.goAutoCrop(),t.$emit(\"img-load\",\"success\"),t.$emit(\"imgLoad\",\"success\"),setTimeout(function(){t.showPreview()},20)})},e.onerror=function(){t.$emit(\"imgLoad\",\"error\"),t.$emit(\"img-load\",\"error\")},e.src=this.imgs},checkedMode:function(){var t=1,e=(this.trueWidth,this.trueHeight),o=this.mode.split(\" \");switch(o[0]){case\"contain\":this.trueWidth>this.w&&(t=this.w/this.trueWidth),this.trueHeight*t>this.h&&(t=this.h/this.trueHeight);break;case\"cover\":(e*=t=this.w/this.trueWidth)o?o:s,a=a>n?n:a,this.fixed&&(a=s/this.fixedNumber[0]*this.fixedNumber[1]),a>this.h&&(s=(a=this.h)/this.fixedNumber[1]*this.fixedNumber[0]),this.changeCrop(s,a)}},changeCrop:function(t,e){var o=this;if(this.centerBox){var n=this.getImgAxis();t>n.x2-n.x1&&(e=(t=n.x2-n.x1)/this.fixedNumber[0]*this.fixedNumber[1]),e>n.y2-n.y1&&(t=(e=n.y2-n.y1)/this.fixedNumber[1]*this.fixedNumber[0])}this.cropW=t,this.cropH=e,this.checkCropLimitSize(),this.$nextTick(function(){o.cropOffsertX=(o.w-o.cropW)/2,o.cropOffsertY=(o.h-o.cropH)/2,o.centerBox&&o.moveCrop(null,!0)})},refresh:function(){var t=this;this.img;this.imgs=\"\",this.scale=1,this.crop=!1,this.rotate=0,this.w=0,this.h=0,this.trueWidth=0,this.trueHeight=0,this.clearCrop(),this.$nextTick(function(){t.checkedImg()})},rotateLeft:function(){this.rotate=this.rotate<=-3?0:this.rotate-1},rotateRight:function(){this.rotate=this.rotate>=3?0:this.rotate+1},rotateClear:function(){this.rotate=0},checkoutImgAxis:function(t,e,o){t=t||this.x,e=e||this.y,o=o||this.scale;var n=!0;if(this.centerBox){var r=this.getImgAxis(t,e,o),i=this.getCropAxis();r.x1>=i.x1&&(n=!1),r.x2<=i.x2&&(n=!1),r.y1>=i.y1&&(n=!1),r.y2<=i.y2&&(n=!1)}return n}},mounted:function(){this.support=\"onwheel\"in document.createElement(\"div\")?\"wheel\":void 0!==document.onmousewheel?\"mousewheel\":\"DOMMouseScroll\";var t=this,e=navigator.userAgent;this.isIOS=!!e.match(/\\(i[^;]+;( U;)? CPU.+Mac OS X/),HTMLCanvasElement.prototype.toBlob||Object.defineProperty(HTMLCanvasElement.prototype,\"toBlob\",{value:function(e,o,n){for(var r=atob(this.toDataURL(o,n).split(\",\")[1]),i=r.length,s=new Uint8Array(i),a=0;a 2) {\n it = trim(it);\n first = it.charCodeAt(0);\n if (first === 43 || first === 45) {\n third = it.charCodeAt(2);\n if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if (first === 48) {\n switch (it.charCodeAt(1)) {\n case 66: case 98: radix = 2; maxCode = 49; break; // fast equal of /^0b[01]+$/i\n case 79: case 111: radix = 8; maxCode = 55; break; // fast equal of /^0o[0-7]+$/i\n default: return +it;\n }\n digits = it.slice(2);\n length = digits.length;\n for (index = 0; index < length; index++) {\n code = digits.charCodeAt(index);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if (code < 48 || code > maxCode) return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\n// `Number` constructor\n// https://tc39.github.io/ecma262/#sec-number-constructor\nif (isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1'))) {\n var NumberWrapper = function Number(value) {\n var it = arguments.length < 1 ? 0 : value;\n var dummy = this;\n return dummy instanceof NumberWrapper\n // check on 1..constructor(foo) case\n && (BROKEN_CLASSOF ? fails(function () { NumberPrototype.valueOf.call(dummy); }) : classof(dummy) != NUMBER)\n ? inheritIfRequired(new NativeNumber(toNumber(it)), dummy, NumberWrapper) : toNumber(it);\n };\n for (var keys = DESCRIPTORS ? getOwnPropertyNames(NativeNumber) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES2015 (in case, if modules with ES2015 Number statics required before):\n 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'\n ).split(','), j = 0, key; keys.length > j; j++) {\n if (has(NativeNumber, key = keys[j]) && !has(NumberWrapper, key)) {\n defineProperty(NumberWrapper, key, getOwnPropertyDescriptor(NativeNumber, key));\n }\n }\n NumberWrapper.prototype = NumberPrototype;\n NumberPrototype.constructor = NumberWrapper;\n redefine(global, NUMBER, NumberWrapper);\n}\n","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 fails = require('../internals/fails');\nvar whitespaces = require('../internals/whitespaces');\n\nvar non = '\\u200B\\u0085\\u180E';\n\n// check that a method works with the correct list\n// of whitespaces and has a correct name\nmodule.exports = function (METHOD_NAME) {\n return fails(function () {\n return !!whitespaces[METHOD_NAME]() || non[METHOD_NAME]() != non || whitespaces[METHOD_NAME].name !== METHOD_NAME;\n });\n};\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/style-resources-loader/lib/index.js??ref--8-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=6a141ac2&lang=scss&scoped=true&\"","/**\n * @licstart The following is the entire license notice for the\n * Javascript code in this page\n *\n * Copyright 2020 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * @licend The above is the entire license notice for the\n * Javascript code in this page\n */\n\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"pdfjs-dist/web/pdf_viewer\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"pdfjs-dist/web/pdf_viewer\"] = factory();\n\telse\n\t\troot[\"pdfjs-dist/web/pdf_viewer\"] = root.pdfjsViewer = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __w_pdfjs_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __w_pdfjs_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__w_pdfjs_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__w_pdfjs_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__w_pdfjs_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__w_pdfjs_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__w_pdfjs_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__w_pdfjs_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __w_pdfjs_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__w_pdfjs_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __w_pdfjs_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__w_pdfjs_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__w_pdfjs_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__w_pdfjs_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__w_pdfjs_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __w_pdfjs_require__(__w_pdfjs_require__.s = 0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"AnnotationLayerBuilder\", {\n enumerable: true,\n get: function get() {\n return _annotation_layer_builder.AnnotationLayerBuilder;\n }\n});\nObject.defineProperty(exports, \"DefaultAnnotationLayerFactory\", {\n enumerable: true,\n get: function get() {\n return _annotation_layer_builder.DefaultAnnotationLayerFactory;\n }\n});\nObject.defineProperty(exports, \"DefaultTextLayerFactory\", {\n enumerable: true,\n get: function get() {\n return _text_layer_builder.DefaultTextLayerFactory;\n }\n});\nObject.defineProperty(exports, \"TextLayerBuilder\", {\n enumerable: true,\n get: function get() {\n return _text_layer_builder.TextLayerBuilder;\n }\n});\nObject.defineProperty(exports, \"EventBus\", {\n enumerable: true,\n get: function get() {\n return _ui_utils.EventBus;\n }\n});\nObject.defineProperty(exports, \"NullL10n\", {\n enumerable: true,\n get: function get() {\n return _ui_utils.NullL10n;\n }\n});\nObject.defineProperty(exports, \"ProgressBar\", {\n enumerable: true,\n get: function get() {\n return _ui_utils.ProgressBar;\n }\n});\nObject.defineProperty(exports, \"PDFLinkService\", {\n enumerable: true,\n get: function get() {\n return _pdf_link_service.PDFLinkService;\n }\n});\nObject.defineProperty(exports, \"SimpleLinkService\", {\n enumerable: true,\n get: function get() {\n return _pdf_link_service.SimpleLinkService;\n }\n});\nObject.defineProperty(exports, \"DownloadManager\", {\n enumerable: true,\n get: function get() {\n return _download_manager.DownloadManager;\n }\n});\nObject.defineProperty(exports, \"GenericL10n\", {\n enumerable: true,\n get: function get() {\n return _genericl10n.GenericL10n;\n }\n});\nObject.defineProperty(exports, \"PDFFindController\", {\n enumerable: true,\n get: function get() {\n return _pdf_find_controller.PDFFindController;\n }\n});\nObject.defineProperty(exports, \"PDFHistory\", {\n enumerable: true,\n get: function get() {\n return _pdf_history.PDFHistory;\n }\n});\nObject.defineProperty(exports, \"PDFPageView\", {\n enumerable: true,\n get: function get() {\n return _pdf_page_view.PDFPageView;\n }\n});\nObject.defineProperty(exports, \"PDFSinglePageViewer\", {\n enumerable: true,\n get: function get() {\n return _pdf_single_page_viewer.PDFSinglePageViewer;\n }\n});\nObject.defineProperty(exports, \"PDFViewer\", {\n enumerable: true,\n get: function get() {\n return _pdf_viewer.PDFViewer;\n }\n});\n\nvar _annotation_layer_builder = __w_pdfjs_require__(1);\n\nvar _text_layer_builder = __w_pdfjs_require__(8);\n\nvar _ui_utils = __w_pdfjs_require__(3);\n\nvar _pdf_link_service = __w_pdfjs_require__(7);\n\nvar _download_manager = __w_pdfjs_require__(9);\n\nvar _genericl10n = __w_pdfjs_require__(11);\n\nvar _pdf_find_controller = __w_pdfjs_require__(13);\n\nvar _pdf_history = __w_pdfjs_require__(15);\n\nvar _pdf_page_view = __w_pdfjs_require__(16);\n\nvar _pdf_single_page_viewer = __w_pdfjs_require__(18);\n\nvar _pdf_viewer = __w_pdfjs_require__(20);\n\nvar pdfjsVersion = '2.6.347';\nvar pdfjsBuild = '3be9c65f';\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.DefaultAnnotationLayerFactory = exports.AnnotationLayerBuilder = void 0;\n\nvar _pdfjsLib = __w_pdfjs_require__(2);\n\nvar _ui_utils = __w_pdfjs_require__(3);\n\nvar _pdf_link_service = __w_pdfjs_require__(7);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar AnnotationLayerBuilder = /*#__PURE__*/function () {\n function AnnotationLayerBuilder(_ref) {\n var pageDiv = _ref.pageDiv,\n pdfPage = _ref.pdfPage,\n linkService = _ref.linkService,\n downloadManager = _ref.downloadManager,\n _ref$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\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.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 this.pdfPage.getAnnotations({\n intent: intent\n }).then(function (annotations) {\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 };\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 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 });\n }\n }]);\n\n return DefaultAnnotationLayerFactory;\n}();\n\nexports.DefaultAnnotationLayerFactory = DefaultAnnotationLayerFactory;\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar pdfjsLib;\n\nif (typeof window !== \"undefined\" && window[\"pdfjs-dist/build/pdf\"]) {\n pdfjsLib = window[\"pdfjs-dist/build/pdf\"];\n} else {\n pdfjsLib = require(\"../build/pdf.js\");\n}\n\nmodule.exports = pdfjsLib;\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isValidRotation = isValidRotation;\nexports.isValidScrollMode = isValidScrollMode;\nexports.isValidSpreadMode = isValidSpreadMode;\nexports.isPortraitOrientation = isPortraitOrientation;\nexports.clamp = clamp;\nexports.getPDFFileNameFromURL = getPDFFileNameFromURL;\nexports.noContextMenuHandler = noContextMenuHandler;\nexports.parseQueryString = parseQueryString;\nexports.backtrackBeforeAllVisibleElements = backtrackBeforeAllVisibleElements;\nexports.getVisibleElements = getVisibleElements;\nexports.roundToDivide = roundToDivide;\nexports.getPageSizeInches = getPageSizeInches;\nexports.approximateFraction = approximateFraction;\nexports.getOutputScale = getOutputScale;\nexports.scrollIntoView = scrollIntoView;\nexports.watchScroll = watchScroll;\nexports.binarySearchFirstItem = binarySearchFirstItem;\nexports.normalizeWheelEventDirection = normalizeWheelEventDirection;\nexports.normalizeWheelEventDelta = normalizeWheelEventDelta;\nexports.waitOnEventOrTimeout = waitOnEventOrTimeout;\nexports.moveToEndOfArray = moveToEndOfArray;\nexports.WaitOnType = exports.animationStarted = exports.ProgressBar = exports.EventBus = exports.NullL10n = exports.SpreadMode = exports.ScrollMode = exports.TextLayerMode = exports.RendererType = exports.PresentationModeState = exports.VERTICAL_PADDING = exports.SCROLLBAR_PADDING = exports.MAX_AUTO_SCALE = exports.UNKNOWN_SCALE = exports.MAX_SCALE = exports.MIN_SCALE = exports.DEFAULT_SCALE = exports.DEFAULT_SCALE_VALUE = exports.CSS_UNITS = exports.AutoPrintRegExp = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(4));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nvar CSS_UNITS = 96.0 / 72.0;\nexports.CSS_UNITS = CSS_UNITS;\nvar DEFAULT_SCALE_VALUE = \"auto\";\nexports.DEFAULT_SCALE_VALUE = DEFAULT_SCALE_VALUE;\nvar DEFAULT_SCALE = 1.0;\nexports.DEFAULT_SCALE = DEFAULT_SCALE;\nvar MIN_SCALE = 0.1;\nexports.MIN_SCALE = MIN_SCALE;\nvar MAX_SCALE = 10.0;\nexports.MAX_SCALE = MAX_SCALE;\nvar UNKNOWN_SCALE = 0;\nexports.UNKNOWN_SCALE = UNKNOWN_SCALE;\nvar MAX_AUTO_SCALE = 1.25;\nexports.MAX_AUTO_SCALE = MAX_AUTO_SCALE;\nvar SCROLLBAR_PADDING = 40;\nexports.SCROLLBAR_PADDING = SCROLLBAR_PADDING;\nvar VERTICAL_PADDING = 5;\nexports.VERTICAL_PADDING = VERTICAL_PADDING;\nvar PresentationModeState = {\n UNKNOWN: 0,\n NORMAL: 1,\n CHANGING: 2,\n FULLSCREEN: 3\n};\nexports.PresentationModeState = PresentationModeState;\nvar RendererType = {\n CANVAS: \"canvas\",\n SVG: \"svg\"\n};\nexports.RendererType = RendererType;\nvar TextLayerMode = {\n DISABLE: 0,\n ENABLE: 1,\n ENABLE_ENHANCE: 2\n};\nexports.TextLayerMode = TextLayerMode;\nvar ScrollMode = {\n UNKNOWN: -1,\n VERTICAL: 0,\n HORIZONTAL: 1,\n WRAPPED: 2\n};\nexports.ScrollMode = ScrollMode;\nvar SpreadMode = {\n UNKNOWN: -1,\n NONE: 0,\n ODD: 1,\n EVEN: 2\n};\nexports.SpreadMode = SpreadMode;\nvar AutoPrintRegExp = /\\bprint\\s*\\(/;\nexports.AutoPrintRegExp = AutoPrintRegExp;\n\nfunction formatL10nValue(text, args) {\n if (!args) {\n return text;\n }\n\n return text.replace(/\\{\\{\\s*(\\w+)\\s*\\}\\}/g, function (all, name) {\n return name in args ? args[name] : \"{{\" + name + \"}}\";\n });\n}\n\nvar NullL10n = {\n getLanguage: function getLanguage() {\n return _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee() {\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n return _context.abrupt(\"return\", \"en-us\");\n\n case 1:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }))();\n },\n getDirection: function getDirection() {\n return _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2() {\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n return _context2.abrupt(\"return\", \"ltr\");\n\n case 1:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }))();\n },\n get: function get(property, args, fallback) {\n return _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee3() {\n return _regenerator[\"default\"].wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n return _context3.abrupt(\"return\", formatL10nValue(fallback, args));\n\n case 1:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3);\n }))();\n },\n translate: function translate(element) {\n return _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee4() {\n return _regenerator[\"default\"].wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4);\n }))();\n }\n};\nexports.NullL10n = NullL10n;\n\nfunction getOutputScale(ctx) {\n var devicePixelRatio = window.devicePixelRatio || 1;\n var backingStoreRatio = ctx.webkitBackingStorePixelRatio || ctx.mozBackingStorePixelRatio || ctx.msBackingStorePixelRatio || ctx.oBackingStorePixelRatio || ctx.backingStorePixelRatio || 1;\n var pixelRatio = devicePixelRatio / backingStoreRatio;\n return {\n sx: pixelRatio,\n sy: pixelRatio,\n scaled: pixelRatio !== 1\n };\n}\n\nfunction scrollIntoView(element, spot) {\n var skipOverflowHiddenElements = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var parent = element.offsetParent;\n\n if (!parent) {\n console.error(\"offsetParent is not set -- cannot scroll\");\n return;\n }\n\n var offsetY = element.offsetTop + element.clientTop;\n var offsetX = element.offsetLeft + element.clientLeft;\n\n while (parent.clientHeight === parent.scrollHeight && parent.clientWidth === parent.scrollWidth || skipOverflowHiddenElements && getComputedStyle(parent).overflow === \"hidden\") {\n if (parent.dataset._scaleY) {\n offsetY /= parent.dataset._scaleY;\n offsetX /= parent.dataset._scaleX;\n }\n\n offsetY += parent.offsetTop;\n offsetX += parent.offsetLeft;\n parent = parent.offsetParent;\n\n if (!parent) {\n return;\n }\n }\n\n if (spot) {\n if (spot.top !== undefined) {\n offsetY += spot.top;\n }\n\n if (spot.left !== undefined) {\n offsetX += spot.left;\n parent.scrollLeft = offsetX;\n }\n }\n\n parent.scrollTop = offsetY;\n}\n\nfunction watchScroll(viewAreaElement, callback) {\n var debounceScroll = function debounceScroll(evt) {\n if (rAF) {\n return;\n }\n\n rAF = window.requestAnimationFrame(function viewAreaElementScrolled() {\n rAF = null;\n var currentX = viewAreaElement.scrollLeft;\n var lastX = state.lastX;\n\n if (currentX !== lastX) {\n state.right = currentX > lastX;\n }\n\n state.lastX = currentX;\n var currentY = viewAreaElement.scrollTop;\n var lastY = state.lastY;\n\n if (currentY !== lastY) {\n state.down = currentY > lastY;\n }\n\n state.lastY = currentY;\n callback(state);\n });\n };\n\n var state = {\n right: true,\n down: true,\n lastX: viewAreaElement.scrollLeft,\n lastY: viewAreaElement.scrollTop,\n _eventHandler: debounceScroll\n };\n var rAF = null;\n viewAreaElement.addEventListener(\"scroll\", debounceScroll, true);\n return state;\n}\n\nfunction parseQueryString(query) {\n var parts = query.split(\"&\");\n var params = Object.create(null);\n\n for (var i = 0, ii = parts.length; i < ii; ++i) {\n var param = parts[i].split(\"=\");\n var key = param[0].toLowerCase();\n var value = param.length > 1 ? param[1] : null;\n params[decodeURIComponent(key)] = decodeURIComponent(value);\n }\n\n return params;\n}\n\nfunction binarySearchFirstItem(items, condition) {\n var minIndex = 0;\n var maxIndex = items.length - 1;\n\n if (maxIndex < 0 || !condition(items[maxIndex])) {\n return items.length;\n }\n\n if (condition(items[minIndex])) {\n return minIndex;\n }\n\n while (minIndex < maxIndex) {\n var currentIndex = minIndex + maxIndex >> 1;\n var currentItem = items[currentIndex];\n\n if (condition(currentItem)) {\n maxIndex = currentIndex;\n } else {\n minIndex = currentIndex + 1;\n }\n }\n\n return minIndex;\n}\n\nfunction approximateFraction(x) {\n if (Math.floor(x) === x) {\n return [x, 1];\n }\n\n var xinv = 1 / x;\n var limit = 8;\n\n if (xinv > limit) {\n return [1, limit];\n } else if (Math.floor(xinv) === xinv) {\n return [1, xinv];\n }\n\n var x_ = x > 1 ? xinv : x;\n var a = 0,\n b = 1,\n c = 1,\n d = 1;\n\n while (true) {\n var p = a + c,\n q = b + d;\n\n if (q > limit) {\n break;\n }\n\n if (x_ <= p / q) {\n c = p;\n d = q;\n } else {\n a = p;\n b = q;\n }\n }\n\n var result;\n\n if (x_ - a / b < c / d - x_) {\n result = x_ === x ? [a, b] : [b, a];\n } else {\n result = x_ === x ? [c, d] : [d, c];\n }\n\n return result;\n}\n\nfunction roundToDivide(x, div) {\n var r = x % div;\n return r === 0 ? x : Math.round(x - r + div);\n}\n\nfunction getPageSizeInches(_ref) {\n var view = _ref.view,\n userUnit = _ref.userUnit,\n rotate = _ref.rotate;\n\n var _view = _slicedToArray(view, 4),\n x1 = _view[0],\n y1 = _view[1],\n x2 = _view[2],\n y2 = _view[3];\n\n var changeOrientation = rotate % 180 !== 0;\n var width = (x2 - x1) / 72 * userUnit;\n var height = (y2 - y1) / 72 * userUnit;\n return {\n width: changeOrientation ? height : width,\n height: changeOrientation ? width : height\n };\n}\n\nfunction backtrackBeforeAllVisibleElements(index, views, top) {\n if (index < 2) {\n return index;\n }\n\n var elt = views[index].div;\n var pageTop = elt.offsetTop + elt.clientTop;\n\n if (pageTop >= top) {\n elt = views[index - 1].div;\n pageTop = elt.offsetTop + elt.clientTop;\n }\n\n for (var i = index - 2; i >= 0; --i) {\n elt = views[i].div;\n\n if (elt.offsetTop + elt.clientTop + elt.clientHeight <= pageTop) {\n break;\n }\n\n index = i;\n }\n\n return index;\n}\n\nfunction getVisibleElements(scrollEl, views) {\n var sortByVisibility = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var horizontal = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n var top = scrollEl.scrollTop,\n bottom = top + scrollEl.clientHeight;\n var left = scrollEl.scrollLeft,\n right = left + scrollEl.clientWidth;\n\n function isElementBottomAfterViewTop(view) {\n var element = view.div;\n var elementBottom = element.offsetTop + element.clientTop + element.clientHeight;\n return elementBottom > top;\n }\n\n function isElementRightAfterViewLeft(view) {\n var element = view.div;\n var elementRight = element.offsetLeft + element.clientLeft + element.clientWidth;\n return elementRight > left;\n }\n\n var visible = [],\n numViews = views.length;\n var firstVisibleElementInd = numViews === 0 ? 0 : binarySearchFirstItem(views, horizontal ? isElementRightAfterViewLeft : isElementBottomAfterViewTop);\n\n if (firstVisibleElementInd > 0 && firstVisibleElementInd < numViews && !horizontal) {\n firstVisibleElementInd = backtrackBeforeAllVisibleElements(firstVisibleElementInd, views, top);\n }\n\n var lastEdge = horizontal ? right : -1;\n\n for (var i = firstVisibleElementInd; i < numViews; i++) {\n var view = views[i],\n element = view.div;\n var currentWidth = element.offsetLeft + element.clientLeft;\n var currentHeight = element.offsetTop + element.clientTop;\n var viewWidth = element.clientWidth,\n viewHeight = element.clientHeight;\n var viewRight = currentWidth + viewWidth;\n var viewBottom = currentHeight + viewHeight;\n\n if (lastEdge === -1) {\n if (viewBottom >= bottom) {\n lastEdge = viewBottom;\n }\n } else if ((horizontal ? currentWidth : currentHeight) > lastEdge) {\n break;\n }\n\n if (viewBottom <= top || currentHeight >= bottom || viewRight <= left || currentWidth >= right) {\n continue;\n }\n\n var hiddenHeight = Math.max(0, top - currentHeight) + Math.max(0, viewBottom - bottom);\n var hiddenWidth = Math.max(0, left - currentWidth) + Math.max(0, viewRight - right);\n var percent = (viewHeight - hiddenHeight) * (viewWidth - hiddenWidth) * 100 / viewHeight / viewWidth | 0;\n visible.push({\n id: view.id,\n x: currentWidth,\n y: currentHeight,\n view: view,\n percent: percent\n });\n }\n\n var first = visible[0],\n last = visible[visible.length - 1];\n\n if (sortByVisibility) {\n visible.sort(function (a, b) {\n var pc = a.percent - b.percent;\n\n if (Math.abs(pc) > 0.001) {\n return -pc;\n }\n\n return a.id - b.id;\n });\n }\n\n return {\n first: first,\n last: last,\n views: visible\n };\n}\n\nfunction noContextMenuHandler(evt) {\n evt.preventDefault();\n}\n\nfunction isDataSchema(url) {\n var i = 0;\n var ii = url.length;\n\n while (i < ii && url[i].trim() === \"\") {\n i++;\n }\n\n return url.substring(i, i + 5).toLowerCase() === \"data:\";\n}\n\nfunction getPDFFileNameFromURL(url) {\n var defaultFilename = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"document.pdf\";\n\n if (typeof url !== \"string\") {\n return defaultFilename;\n }\n\n if (isDataSchema(url)) {\n console.warn(\"getPDFFileNameFromURL: \" + 'ignoring \"data:\" URL for performance reasons.');\n return defaultFilename;\n }\n\n var reURI = /^(?:(?:[^:]+:)?\\/\\/[^\\/]+)?([^?#]*)(\\?[^#]*)?(#.*)?$/;\n var reFilename = /[^\\/?#=]+\\.pdf\\b(?!.*\\.pdf\\b)/i;\n var splitURI = reURI.exec(url);\n var suggestedFilename = reFilename.exec(splitURI[1]) || reFilename.exec(splitURI[2]) || reFilename.exec(splitURI[3]);\n\n if (suggestedFilename) {\n suggestedFilename = suggestedFilename[0];\n\n if (suggestedFilename.includes(\"%\")) {\n try {\n suggestedFilename = reFilename.exec(decodeURIComponent(suggestedFilename))[0];\n } catch (ex) {}\n }\n }\n\n return suggestedFilename || defaultFilename;\n}\n\nfunction 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(_ref2) {\n var target = _ref2.target,\n name = _ref2.name,\n _ref2$delay = _ref2.delay,\n delay = _ref2$delay === void 0 ? 0 : _ref2$delay;\n return new Promise(function (resolve, reject) {\n if (_typeof(target) !== \"object\" || !(name && typeof name === \"string\") || !(Number.isInteger(delay) && delay >= 0)) {\n throw new Error(\"waitOnEventOrTimeout - invalid parameters.\");\n }\n\n function handler(type) {\n if (target instanceof EventBus) {\n target._off(name, eventHandler);\n } else {\n target.removeEventListener(name, eventHandler);\n }\n\n if (timeout) {\n clearTimeout(timeout);\n }\n\n resolve(type);\n }\n\n var eventHandler = handler.bind(null, WaitOnType.EVENT);\n\n if (target instanceof EventBus) {\n target._on(name, eventHandler);\n } else {\n target.addEventListener(name, eventHandler);\n }\n\n var timeoutHandler = handler.bind(null, WaitOnType.TIMEOUT);\n var timeout = setTimeout(timeoutHandler, delay);\n });\n}\n\nvar animationStarted = new Promise(function (resolve) {\n window.requestAnimationFrame(resolve);\n});\nexports.animationStarted = animationStarted;\n\nfunction dispatchDOMEvent(eventName) {\n var args = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n throw new Error(\"Not implemented: dispatchDOMEvent\");\n}\n\nvar EventBus = /*#__PURE__*/function () {\n function EventBus(options) {\n _classCallCheck(this, EventBus);\n\n this._listeners = Object.create(null);\n }\n\n _createClass(EventBus, [{\n key: \"on\",\n value: function on(eventName, listener) {\n this._on(eventName, listener, {\n external: true\n });\n }\n }, {\n key: \"off\",\n value: function off(eventName, listener) {\n this._off(eventName, listener, {\n external: true\n });\n }\n }, {\n key: \"dispatch\",\n value: function dispatch(eventName) {\n var eventListeners = this._listeners[eventName];\n\n if (!eventListeners || eventListeners.length === 0) {\n return;\n }\n\n var args = Array.prototype.slice.call(arguments, 1);\n var externalListeners;\n eventListeners.slice(0).forEach(function (_ref3) {\n var listener = _ref3.listener,\n external = _ref3.external;\n\n if (external) {\n if (!externalListeners) {\n externalListeners = [];\n }\n\n externalListeners.push(listener);\n return;\n }\n\n listener.apply(null, args);\n });\n\n if (externalListeners) {\n externalListeners.forEach(function (listener) {\n listener.apply(null, args);\n });\n externalListeners = null;\n }\n }\n }, {\n key: \"_on\",\n value: function _on(eventName, listener) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n var eventListeners = this._listeners[eventName];\n\n if (!eventListeners) {\n this._listeners[eventName] = eventListeners = [];\n }\n\n eventListeners.push({\n listener: listener,\n external: (options && options.external) === true\n });\n }\n }, {\n key: \"_off\",\n value: function _off(eventName, listener) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n var eventListeners = this._listeners[eventName];\n\n if (!eventListeners) {\n return;\n }\n\n for (var i = 0, ii = eventListeners.length; i < ii; i++) {\n if (eventListeners[i].listener === listener) {\n eventListeners.splice(i, 1);\n return;\n }\n }\n }\n }]);\n\n return EventBus;\n}();\n\nexports.EventBus = EventBus;\n\nfunction clamp(v, min, max) {\n return Math.min(Math.max(v, min), max);\n}\n\nvar ProgressBar = /*#__PURE__*/function () {\n function ProgressBar(id) {\n var _ref4 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n height = _ref4.height,\n width = _ref4.width,\n units = _ref4.units;\n\n _classCallCheck(this, ProgressBar);\n\n this.visible = true;\n this.div = document.querySelector(id + \" .progress\");\n this.bar = this.div.parentNode;\n this.height = height || 100;\n this.width = width || 100;\n this.units = units || \"%\";\n this.div.style.height = this.height + this.units;\n this.percent = 0;\n }\n\n _createClass(ProgressBar, [{\n key: \"_updateBar\",\n value: function _updateBar() {\n if (this._indeterminate) {\n this.div.classList.add(\"indeterminate\");\n this.div.style.width = this.width + this.units;\n return;\n }\n\n this.div.classList.remove(\"indeterminate\");\n var progressSize = this.width * this._percent / 100;\n this.div.style.width = progressSize + this.units;\n }\n }, {\n key: \"setWidth\",\n value: function setWidth(viewer) {\n if (!viewer) {\n return;\n }\n\n var container = viewer.parentNode;\n var scrollbarWidth = container.offsetWidth - viewer.offsetWidth;\n\n if (scrollbarWidth > 0) {\n this.bar.style.width = \"calc(100% - \".concat(scrollbarWidth, \"px)\");\n }\n }\n }, {\n key: \"hide\",\n value: function hide() {\n if (!this.visible) {\n return;\n }\n\n this.visible = false;\n this.bar.classList.add(\"hidden\");\n document.body.classList.remove(\"loadingInProgress\");\n }\n }, {\n key: \"show\",\n value: function show() {\n if (this.visible) {\n return;\n }\n\n this.visible = true;\n document.body.classList.add(\"loadingInProgress\");\n this.bar.classList.remove(\"hidden\");\n }\n }, {\n key: \"percent\",\n get: function get() {\n return this._percent;\n },\n set: function set(val) {\n this._indeterminate = isNaN(val);\n this._percent = clamp(val, 0, 100);\n\n this._updateBar();\n }\n }]);\n\n return ProgressBar;\n}();\n\nexports.ProgressBar = ProgressBar;\n\nfunction moveToEndOfArray(arr, condition) {\n var moved = [],\n len = arr.length;\n var write = 0;\n\n for (var read = 0; read < len; ++read) {\n if (condition(arr[read])) {\n moved.push(arr[read]);\n } else {\n arr[write] = arr[read];\n ++write;\n }\n }\n\n for (var _read = 0; write < len; ++_read, ++write) {\n arr[write] = moved[_read];\n }\n}\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = __w_pdfjs_require__(5);\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(module) {\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar runtime = function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined;\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function 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 ? undefined : _typeof(module)) === \"object\" ? module.exports : {});\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n/* WEBPACK VAR INJECTION */}.call(this, __w_pdfjs_require__(6)(module)))\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (module) {\n if (!module.webpackPolyfill) {\n module.deprecate = function () {};\n\n module.paths = [];\n if (!module.children) module.children = [];\n Object.defineProperty(module, \"loaded\", {\n enumerable: true,\n get: function get() {\n return module.l;\n }\n });\n Object.defineProperty(module, \"id\", {\n enumerable: true,\n get: function get() {\n return module.i;\n }\n });\n module.webpackPolyfill = 1;\n }\n\n return module;\n};\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SimpleLinkService = exports.PDFLinkService = void 0;\n\nvar _ui_utils = __w_pdfjs_require__(3);\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar PDFLinkService = /*#__PURE__*/function () {\n function PDFLinkService() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n eventBus = _ref.eventBus,\n _ref$externalLinkTarg = _ref.externalLinkTarget,\n externalLinkTarget = _ref$externalLinkTarg === void 0 ? null : _ref$externalLinkTarg,\n _ref$externalLinkRel = _ref.externalLinkRel,\n externalLinkRel = _ref$externalLinkRel === void 0 ? null : _ref$externalLinkRel,\n _ref$externalLinkEnab = _ref.externalLinkEnabled,\n externalLinkEnabled = _ref$externalLinkEnab === void 0 ? true : _ref$externalLinkEnab,\n _ref$ignoreDestinatio = _ref.ignoreDestinationZoom,\n ignoreDestinationZoom = _ref$ignoreDestinatio === void 0 ? false : _ref$ignoreDestinatio;\n\n _classCallCheck(this, PDFLinkService);\n\n this.eventBus = eventBus;\n this.externalLinkTarget = externalLinkTarget;\n this.externalLinkRel = externalLinkRel;\n this.externalLinkEnabled = externalLinkEnabled;\n this._ignoreDestinationZoom = ignoreDestinationZoom;\n this.baseUrl = null;\n this.pdfDocument = null;\n this.pdfViewer = null;\n this.pdfHistory = null;\n this._pagesRefCache = null;\n }\n\n _createClass(PDFLinkService, [{\n key: \"setDocument\",\n value: function setDocument(pdfDocument) {\n var baseUrl = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n this.baseUrl = baseUrl;\n this.pdfDocument = pdfDocument;\n this._pagesRefCache = Object.create(null);\n }\n }, {\n key: \"setViewer\",\n value: function setViewer(pdfViewer) {\n this.pdfViewer = pdfViewer;\n }\n }, {\n key: \"setHistory\",\n value: function setHistory(pdfHistory) {\n this.pdfHistory = pdfHistory;\n }\n }, {\n key: \"navigateTo\",\n value: function navigateTo(dest) {\n var _this = this;\n\n var goToDestination = function goToDestination(_ref2) {\n var namedDest = _ref2.namedDest,\n explicitDest = _ref2.explicitDest;\n var destRef = explicitDest[0];\n var pageNumber;\n\n if (destRef instanceof Object) {\n pageNumber = _this._cachedPageNumber(destRef);\n\n if (pageNumber === null) {\n _this.pdfDocument.getPageIndex(destRef).then(function (pageIndex) {\n _this.cachePageRef(pageIndex + 1, destRef);\n\n goToDestination({\n namedDest: namedDest,\n explicitDest: explicitDest\n });\n })[\"catch\"](function () {\n console.error(\"PDFLinkService.navigateTo: \\\"\".concat(destRef, \"\\\" is not \") + \"a valid page reference, for dest=\\\"\".concat(dest, \"\\\".\"));\n });\n\n return;\n }\n } else if (Number.isInteger(destRef)) {\n pageNumber = destRef + 1;\n } else {\n console.error(\"PDFLinkService.navigateTo: \\\"\".concat(destRef, \"\\\" is not \") + \"a valid destination reference, for dest=\\\"\".concat(dest, \"\\\".\"));\n return;\n }\n\n if (!pageNumber || pageNumber < 1 || pageNumber > _this.pagesCount) {\n console.error(\"PDFLinkService.navigateTo: \\\"\".concat(pageNumber, \"\\\" is not \") + \"a valid page number, for dest=\\\"\".concat(dest, \"\\\".\"));\n return;\n }\n\n if (_this.pdfHistory) {\n _this.pdfHistory.pushCurrentPosition();\n\n _this.pdfHistory.push({\n namedDest: namedDest,\n explicitDest: explicitDest,\n pageNumber: pageNumber\n });\n }\n\n _this.pdfViewer.scrollPageIntoView({\n pageNumber: pageNumber,\n destArray: explicitDest,\n ignoreDestinationZoom: _this._ignoreDestinationZoom\n });\n };\n\n new Promise(function (resolve, reject) {\n if (typeof dest === \"string\") {\n _this.pdfDocument.getDestination(dest).then(function (destArray) {\n resolve({\n namedDest: dest,\n explicitDest: destArray\n });\n });\n\n return;\n }\n\n resolve({\n namedDest: \"\",\n explicitDest: dest\n });\n }).then(function (data) {\n if (!Array.isArray(data.explicitDest)) {\n console.error(\"PDFLinkService.navigateTo: \\\"\".concat(data.explicitDest, \"\\\" is\") + \" not a valid destination array, for dest=\\\"\".concat(dest, \"\\\".\"));\n return;\n }\n\n goToDestination(data);\n });\n }\n }, {\n key: \"getDestinationHash\",\n value: function getDestinationHash(dest) {\n if (typeof dest === \"string\") {\n return this.getAnchorUrl(\"#\" + escape(dest));\n }\n\n if (Array.isArray(dest)) {\n var str = JSON.stringify(dest);\n return this.getAnchorUrl(\"#\" + escape(str));\n }\n\n return this.getAnchorUrl(\"\");\n }\n }, {\n key: \"getAnchorUrl\",\n value: function getAnchorUrl(anchor) {\n return (this.baseUrl || \"\") + anchor;\n }\n }, {\n key: \"setHash\",\n value: function setHash(hash) {\n var pageNumber, dest;\n\n if (hash.includes(\"=\")) {\n var params = (0, _ui_utils.parseQueryString)(hash);\n\n if (\"search\" in params) {\n this.eventBus.dispatch(\"findfromurlhash\", {\n source: this,\n query: params.search.replace(/\"/g, \"\"),\n phraseSearch: params.phrase === \"true\"\n });\n }\n\n if (\"page\" in params) {\n pageNumber = params.page | 0 || 1;\n }\n\n if (\"zoom\" in params) {\n var zoomArgs = params.zoom.split(\",\");\n var zoomArg = zoomArgs[0];\n var zoomArgNumber = parseFloat(zoomArg);\n\n if (!zoomArg.includes(\"Fit\")) {\n dest = [null, {\n name: \"XYZ\"\n }, zoomArgs.length > 1 ? zoomArgs[1] | 0 : null, zoomArgs.length > 2 ? zoomArgs[2] | 0 : null, zoomArgNumber ? zoomArgNumber / 100 : zoomArg];\n } else {\n if (zoomArg === \"Fit\" || zoomArg === \"FitB\") {\n dest = [null, {\n name: zoomArg\n }];\n } else if (zoomArg === \"FitH\" || zoomArg === \"FitBH\" || zoomArg === \"FitV\" || zoomArg === \"FitBV\") {\n dest = [null, {\n name: zoomArg\n }, zoomArgs.length > 1 ? zoomArgs[1] | 0 : null];\n } else if (zoomArg === \"FitR\") {\n if (zoomArgs.length !== 5) {\n console.error('PDFLinkService.setHash: Not enough parameters for \"FitR\".');\n } else {\n dest = [null, {\n name: zoomArg\n }, zoomArgs[1] | 0, zoomArgs[2] | 0, zoomArgs[3] | 0, zoomArgs[4] | 0];\n }\n } else {\n console.error(\"PDFLinkService.setHash: \\\"\".concat(zoomArg, \"\\\" is not \") + \"a valid zoom value.\");\n }\n }\n }\n\n if (dest) {\n this.pdfViewer.scrollPageIntoView({\n pageNumber: pageNumber || this.page,\n destArray: dest,\n allowNegativeOffset: true\n });\n } else if (pageNumber) {\n this.page = pageNumber;\n }\n\n if (\"pagemode\" in params) {\n this.eventBus.dispatch(\"pagemode\", {\n source: this,\n mode: params.pagemode\n });\n }\n\n if (\"nameddest\" in params) {\n this.navigateTo(params.nameddest);\n }\n } else {\n dest = unescape(hash);\n\n try {\n dest = JSON.parse(dest);\n\n if (!Array.isArray(dest)) {\n dest = dest.toString();\n }\n } catch (ex) {}\n\n if (typeof dest === \"string\" || isValidExplicitDestination(dest)) {\n this.navigateTo(dest);\n return;\n }\n\n console.error(\"PDFLinkService.setHash: \\\"\".concat(unescape(hash), \"\\\" is not \") + \"a valid destination.\");\n }\n }\n }, {\n key: \"executeNamedAction\",\n value: function executeNamedAction(action) {\n switch (action) {\n case \"GoBack\":\n if (this.pdfHistory) {\n this.pdfHistory.back();\n }\n\n break;\n\n case \"GoForward\":\n if (this.pdfHistory) {\n this.pdfHistory.forward();\n }\n\n break;\n\n case \"NextPage\":\n if (this.page < this.pagesCount) {\n this.page++;\n }\n\n break;\n\n case \"PrevPage\":\n if (this.page > 1) {\n this.page--;\n }\n\n break;\n\n case \"LastPage\":\n this.page = this.pagesCount;\n break;\n\n case \"FirstPage\":\n this.page = 1;\n break;\n\n default:\n break;\n }\n\n this.eventBus.dispatch(\"namedaction\", {\n source: this,\n action: action\n });\n }\n }, {\n key: \"cachePageRef\",\n value: function cachePageRef(pageNum, pageRef) {\n if (!pageRef) {\n return;\n }\n\n var refStr = pageRef.gen === 0 ? \"\".concat(pageRef.num, \"R\") : \"\".concat(pageRef.num, \"R\").concat(pageRef.gen);\n this._pagesRefCache[refStr] = pageNum;\n }\n }, {\n key: \"_cachedPageNumber\",\n value: function _cachedPageNumber(pageRef) {\n var refStr = pageRef.gen === 0 ? \"\".concat(pageRef.num, \"R\") : \"\".concat(pageRef.num, \"R\").concat(pageRef.gen);\n return this._pagesRefCache && this._pagesRefCache[refStr] || null;\n }\n }, {\n key: \"isPageVisible\",\n value: function isPageVisible(pageNumber) {\n return this.pdfViewer.isPageVisible(pageNumber);\n }\n }, {\n key: \"pagesCount\",\n get: function get() {\n return this.pdfDocument ? this.pdfDocument.numPages : 0;\n }\n }, {\n key: \"page\",\n get: function get() {\n return this.pdfViewer.currentPageNumber;\n },\n set: function set(value) {\n this.pdfViewer.currentPageNumber = value;\n }\n }, {\n key: \"rotation\",\n get: function get() {\n return this.pdfViewer.pagesRotation;\n },\n set: function set(value) {\n this.pdfViewer.pagesRotation = value;\n }\n }]);\n\n return PDFLinkService;\n}();\n\nexports.PDFLinkService = PDFLinkService;\n\nfunction isValidExplicitDestination(dest) {\n if (!Array.isArray(dest)) {\n return false;\n }\n\n var destLength = dest.length;\n\n if (destLength < 2) {\n return false;\n }\n\n var page = dest[0];\n\n if (!(_typeof(page) === \"object\" && Number.isInteger(page.num) && Number.isInteger(page.gen)) && !(Number.isInteger(page) && page >= 0)) {\n return false;\n }\n\n var zoom = dest[1];\n\n if (!(_typeof(zoom) === \"object\" && typeof zoom.name === \"string\")) {\n return false;\n }\n\n var allowNull = true;\n\n switch (zoom.name) {\n case \"XYZ\":\n if (destLength !== 5) {\n return false;\n }\n\n break;\n\n case \"Fit\":\n case \"FitB\":\n return destLength === 2;\n\n case \"FitH\":\n case \"FitBH\":\n case \"FitV\":\n case \"FitBV\":\n if (destLength !== 3) {\n return false;\n }\n\n break;\n\n case \"FitR\":\n if (destLength !== 6) {\n return false;\n }\n\n allowNull = false;\n break;\n\n default:\n return false;\n }\n\n for (var i = 2; i < destLength; i++) {\n var param = dest[i];\n\n if (!(typeof param === \"number\" || allowNull && param === null)) {\n return false;\n }\n }\n\n return true;\n}\n\nvar SimpleLinkService = /*#__PURE__*/function () {\n function SimpleLinkService() {\n _classCallCheck(this, SimpleLinkService);\n\n this.externalLinkTarget = null;\n this.externalLinkRel = null;\n this.externalLinkEnabled = true;\n this._ignoreDestinationZoom = false;\n }\n\n _createClass(SimpleLinkService, [{\n key: \"navigateTo\",\n value: function navigateTo(dest) {}\n }, {\n key: \"getDestinationHash\",\n value: function getDestinationHash(dest) {\n return \"#\";\n }\n }, {\n key: \"getAnchorUrl\",\n value: function getAnchorUrl(hash) {\n return \"#\";\n }\n }, {\n key: \"setHash\",\n value: function setHash(hash) {}\n }, {\n key: \"executeNamedAction\",\n value: function executeNamedAction(action) {}\n }, {\n key: \"cachePageRef\",\n value: function cachePageRef(pageNum, pageRef) {}\n }, {\n key: \"isPageVisible\",\n value: function isPageVisible(pageNumber) {\n return true;\n }\n }, {\n key: \"pagesCount\",\n get: function get() {\n return 0;\n }\n }, {\n key: \"page\",\n get: function get() {\n return 0;\n },\n set: function set(value) {}\n }, {\n key: \"rotation\",\n get: function get() {\n return 0;\n },\n set: function set(value) {}\n }]);\n\n return SimpleLinkService;\n}();\n\nexports.SimpleLinkService = SimpleLinkService;\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.DefaultTextLayerFactory = exports.TextLayerBuilder = void 0;\n\nvar _pdfjsLib = __w_pdfjs_require__(2);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar EXPAND_DIVS_TIMEOUT = 300;\n\nvar TextLayerBuilder = /*#__PURE__*/function () {\n function TextLayerBuilder(_ref) {\n var textLayerDiv = _ref.textLayerDiv,\n eventBus = _ref.eventBus,\n pageIndex = _ref.pageIndex,\n viewport = _ref.viewport,\n _ref$findController = _ref.findController,\n findController = _ref$findController === void 0 ? null : _ref$findController,\n _ref$enhanceTextSelec = _ref.enhanceTextSelection,\n enhanceTextSelection = _ref$enhanceTextSelec === void 0 ? false : _ref$enhanceTextSelec;\n\n _classCallCheck(this, TextLayerBuilder);\n\n this.textLayerDiv = textLayerDiv;\n this.eventBus = eventBus;\n this.textContent = null;\n this.textContentItemsStr = [];\n this.textContentStream = null;\n this.renderingDone = false;\n this.pageIdx = pageIndex;\n this.pageNumber = this.pageIdx + 1;\n this.matches = [];\n this.viewport = viewport;\n this.textDivs = [];\n this.findController = findController;\n this.textLayerRenderTask = null;\n this.enhanceTextSelection = enhanceTextSelection;\n this._onUpdateTextLayerMatches = null;\n\n this._bindMouse();\n }\n\n _createClass(TextLayerBuilder, [{\n key: \"_finishRendering\",\n value: function _finishRendering() {\n this.renderingDone = true;\n\n if (!this.enhanceTextSelection) {\n var endOfContent = document.createElement(\"div\");\n endOfContent.className = \"endOfContent\";\n this.textLayerDiv.appendChild(endOfContent);\n }\n\n this.eventBus.dispatch(\"textlayerrendered\", {\n source: this,\n pageNumber: this.pageNumber,\n numTextDivs: this.textDivs.length\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this = this;\n\n var timeout = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n\n if (!(this.textContent || this.textContentStream) || this.renderingDone) {\n return;\n }\n\n this.cancel();\n this.textDivs = [];\n var textLayerFrag = document.createDocumentFragment();\n this.textLayerRenderTask = (0, _pdfjsLib.renderTextLayer)({\n textContent: this.textContent,\n textContentStream: this.textContentStream,\n container: textLayerFrag,\n viewport: this.viewport,\n textDivs: this.textDivs,\n textContentItemsStr: this.textContentItemsStr,\n timeout: timeout,\n enhanceTextSelection: this.enhanceTextSelection\n });\n this.textLayerRenderTask.promise.then(function () {\n _this.textLayerDiv.appendChild(textLayerFrag);\n\n _this._finishRendering();\n\n _this._updateMatches();\n }, function (reason) {});\n\n if (!this._onUpdateTextLayerMatches) {\n this._onUpdateTextLayerMatches = function (evt) {\n if (evt.pageIndex === _this.pageIdx || evt.pageIndex === -1) {\n _this._updateMatches();\n }\n };\n\n this.eventBus._on(\"updatetextlayermatches\", this._onUpdateTextLayerMatches);\n }\n }\n }, {\n key: \"cancel\",\n value: function cancel() {\n if (this.textLayerRenderTask) {\n this.textLayerRenderTask.cancel();\n this.textLayerRenderTask = null;\n }\n\n if (this._onUpdateTextLayerMatches) {\n this.eventBus._off(\"updatetextlayermatches\", this._onUpdateTextLayerMatches);\n\n this._onUpdateTextLayerMatches = null;\n }\n }\n }, {\n key: \"setTextContentStream\",\n value: function setTextContentStream(readableStream) {\n this.cancel();\n this.textContentStream = readableStream;\n }\n }, {\n key: \"setTextContent\",\n value: function setTextContent(textContent) {\n this.cancel();\n this.textContent = textContent;\n }\n }, {\n key: \"_convertMatches\",\n value: function _convertMatches(matches, matchesLength) {\n if (!matches) {\n return [];\n }\n\n var findController = this.findController,\n textContentItemsStr = this.textContentItemsStr;\n var i = 0,\n iIndex = 0;\n var end = textContentItemsStr.length - 1;\n var queryLen = findController.state.query.length;\n var result = [];\n\n for (var m = 0, mm = matches.length; m < mm; m++) {\n var matchIdx = matches[m];\n\n while (i !== end && matchIdx >= iIndex + textContentItemsStr[i].length) {\n iIndex += textContentItemsStr[i].length;\n i++;\n }\n\n if (i === textContentItemsStr.length) {\n console.error(\"Could not find a matching mapping\");\n }\n\n var match = {\n begin: {\n divIdx: i,\n offset: matchIdx - iIndex\n }\n };\n\n if (matchesLength) {\n matchIdx += matchesLength[m];\n } else {\n matchIdx += queryLen;\n }\n\n while (i !== end && matchIdx > iIndex + textContentItemsStr[i].length) {\n iIndex += textContentItemsStr[i].length;\n i++;\n }\n\n match.end = {\n divIdx: i,\n offset: matchIdx - iIndex\n };\n result.push(match);\n }\n\n return result;\n }\n }, {\n key: \"_renderMatches\",\n value: function _renderMatches(matches) {\n if (matches.length === 0) {\n return;\n }\n\n var findController = this.findController,\n pageIdx = this.pageIdx,\n textContentItemsStr = this.textContentItemsStr,\n textDivs = this.textDivs;\n var isSelectedPage = pageIdx === findController.selected.pageIdx;\n var selectedMatchIdx = findController.selected.matchIdx;\n var highlightAll = findController.state.highlightAll;\n var prevEnd = null;\n var infinity = {\n divIdx: -1,\n offset: undefined\n };\n\n function beginText(begin, className) {\n var divIdx = begin.divIdx;\n textDivs[divIdx].textContent = \"\";\n appendTextToDiv(divIdx, 0, begin.offset, className);\n }\n\n function appendTextToDiv(divIdx, fromOffset, toOffset, className) {\n var div = textDivs[divIdx];\n var content = textContentItemsStr[divIdx].substring(fromOffset, toOffset);\n var node = document.createTextNode(content);\n\n if (className) {\n var span = document.createElement(\"span\");\n span.className = className;\n span.appendChild(node);\n div.appendChild(span);\n return;\n }\n\n div.appendChild(node);\n }\n\n var i0 = selectedMatchIdx,\n i1 = i0 + 1;\n\n if (highlightAll) {\n i0 = 0;\n i1 = matches.length;\n } else if (!isSelectedPage) {\n return;\n }\n\n for (var i = i0; i < i1; i++) {\n var match = matches[i];\n var begin = match.begin;\n var end = match.end;\n var isSelected = isSelectedPage && i === selectedMatchIdx;\n var highlightSuffix = isSelected ? \" selected\" : \"\";\n\n if (isSelected) {\n findController.scrollMatchIntoView({\n element: textDivs[begin.divIdx],\n pageIndex: pageIdx,\n matchIndex: selectedMatchIdx\n });\n }\n\n if (!prevEnd || begin.divIdx !== prevEnd.divIdx) {\n if (prevEnd !== null) {\n appendTextToDiv(prevEnd.divIdx, prevEnd.offset, infinity.offset);\n }\n\n beginText(begin);\n } else {\n appendTextToDiv(prevEnd.divIdx, prevEnd.offset, begin.offset);\n }\n\n if (begin.divIdx === end.divIdx) {\n appendTextToDiv(begin.divIdx, begin.offset, end.offset, \"highlight\" + highlightSuffix);\n } else {\n appendTextToDiv(begin.divIdx, begin.offset, infinity.offset, \"highlight begin\" + highlightSuffix);\n\n for (var n0 = begin.divIdx + 1, n1 = end.divIdx; n0 < n1; n0++) {\n textDivs[n0].className = \"highlight middle\" + highlightSuffix;\n }\n\n beginText(end, \"highlight end\" + highlightSuffix);\n }\n\n prevEnd = end;\n }\n\n if (prevEnd) {\n appendTextToDiv(prevEnd.divIdx, prevEnd.offset, infinity.offset);\n }\n }\n }, {\n key: \"_updateMatches\",\n value: function _updateMatches() {\n if (!this.renderingDone) {\n return;\n }\n\n var findController = this.findController,\n matches = this.matches,\n pageIdx = this.pageIdx,\n textContentItemsStr = this.textContentItemsStr,\n textDivs = this.textDivs;\n var clearedUntilDivIdx = -1;\n\n for (var i = 0, ii = matches.length; i < ii; i++) {\n var match = matches[i];\n var begin = Math.max(clearedUntilDivIdx, match.begin.divIdx);\n\n for (var n = begin, end = match.end.divIdx; n <= end; n++) {\n var div = textDivs[n];\n div.textContent = textContentItemsStr[n];\n div.className = \"\";\n }\n\n clearedUntilDivIdx = match.end.divIdx + 1;\n }\n\n if (!findController || !findController.highlightMatches) {\n return;\n }\n\n var pageMatches = findController.pageMatches[pageIdx] || null;\n var pageMatchesLength = findController.pageMatchesLength[pageIdx] || null;\n this.matches = this._convertMatches(pageMatches, pageMatchesLength);\n\n this._renderMatches(this.matches);\n }\n }, {\n key: \"_bindMouse\",\n value: function _bindMouse() {\n var _this2 = this;\n\n var div = this.textLayerDiv;\n var expandDivsTimer = null;\n div.addEventListener(\"mousedown\", function (evt) {\n if (_this2.enhanceTextSelection && _this2.textLayerRenderTask) {\n _this2.textLayerRenderTask.expandTextDivs(true);\n\n if (expandDivsTimer) {\n clearTimeout(expandDivsTimer);\n expandDivsTimer = null;\n }\n\n return;\n }\n\n var end = div.querySelector(\".endOfContent\");\n\n if (!end) {\n return;\n }\n\n var adjustTop = evt.target !== div;\n adjustTop = adjustTop && window.getComputedStyle(end).getPropertyValue(\"-moz-user-select\") !== \"none\";\n\n if (adjustTop) {\n var divBounds = div.getBoundingClientRect();\n var r = Math.max(0, (evt.pageY - divBounds.top) / divBounds.height);\n end.style.top = (r * 100).toFixed(2) + \"%\";\n }\n\n end.classList.add(\"active\");\n });\n div.addEventListener(\"mouseup\", function () {\n if (_this2.enhanceTextSelection && _this2.textLayerRenderTask) {\n expandDivsTimer = setTimeout(function () {\n if (_this2.textLayerRenderTask) {\n _this2.textLayerRenderTask.expandTextDivs(false);\n }\n\n expandDivsTimer = null;\n }, EXPAND_DIVS_TIMEOUT);\n return;\n }\n\n var end = div.querySelector(\".endOfContent\");\n\n if (!end) {\n return;\n }\n\n end.style.top = \"\";\n end.classList.remove(\"active\");\n });\n }\n }]);\n\n return TextLayerBuilder;\n}();\n\nexports.TextLayerBuilder = TextLayerBuilder;\n\nvar DefaultTextLayerFactory = /*#__PURE__*/function () {\n function DefaultTextLayerFactory() {\n _classCallCheck(this, DefaultTextLayerFactory);\n }\n\n _createClass(DefaultTextLayerFactory, [{\n key: \"createTextLayerBuilder\",\n value: function createTextLayerBuilder(textLayerDiv, pageIndex, viewport) {\n var enhanceTextSelection = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n var eventBus = arguments.length > 4 ? arguments[4] : undefined;\n return new TextLayerBuilder({\n textLayerDiv: textLayerDiv,\n pageIndex: pageIndex,\n viewport: viewport,\n enhanceTextSelection: enhanceTextSelection,\n eventBus: eventBus\n });\n }\n }]);\n\n return DefaultTextLayerFactory;\n}();\n\nexports.DefaultTextLayerFactory = DefaultTextLayerFactory;\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.DownloadManager = void 0;\n\nvar _pdfjsLib = __w_pdfjs_require__(2);\n\nvar _viewer_compatibility = __w_pdfjs_require__(10);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n;\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 if (navigator.msSaveBlob) {\n navigator.msSaveBlob(new Blob([data], {\n type: contentType\n }), filename);\n return;\n }\n\n var blobUrl = (0, _pdfjsLib.createObjectURL)(data, contentType, _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 (navigator.msSaveBlob) {\n if (!navigator.msSaveBlob(blob, filename)) {\n this.downloadUrl(url, filename);\n }\n\n return;\n }\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/* 10 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.viewerCompatibilityParams = void 0;\nvar compatibilityParams = Object.create(null);\n{\n var userAgent = typeof navigator !== \"undefined\" && navigator.userAgent || \"\";\n var platform = typeof navigator !== \"undefined\" && navigator.platform || \"\";\n var maxTouchPoints = typeof navigator !== \"undefined\" && navigator.maxTouchPoints || 1;\n var isAndroid = /Android/.test(userAgent);\n var isIE = /Trident/.test(userAgent);\n var isIOS = /\\b(iPad|iPhone|iPod)(?=;)/.test(userAgent) || platform === \"MacIntel\" && maxTouchPoints > 1;\n var isIOSChrome = /CriOS/.test(userAgent);\n\n (function checkOnBlobSupport() {\n if (isIE || isIOSChrome) {\n compatibilityParams.disableCreateObjectURL = true;\n }\n })();\n\n (function checkCanvasSizeLimitation() {\n if (isIOS || isAndroid) {\n compatibilityParams.maxCanvasPixels = 5242880;\n }\n })();\n}\nvar viewerCompatibilityParams = Object.freeze(compatibilityParams);\nexports.viewerCompatibilityParams = viewerCompatibilityParams;\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.GenericL10n = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(4));\n\n__w_pdfjs_require__(12);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar webL10n = document.webL10n;\n\nvar GenericL10n = /*#__PURE__*/function () {\n function GenericL10n(lang) {\n _classCallCheck(this, GenericL10n);\n\n this._lang = lang;\n this._ready = new Promise(function (resolve, reject) {\n webL10n.setLanguage(lang, function () {\n resolve(webL10n);\n });\n });\n }\n\n _createClass(GenericL10n, [{\n key: \"getLanguage\",\n value: function () {\n var _getLanguage = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee() {\n var l10n;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return this._ready;\n\n case 2:\n l10n = _context.sent;\n return _context.abrupt(\"return\", l10n.getLanguage());\n\n case 4:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function getLanguage() {\n return _getLanguage.apply(this, arguments);\n }\n\n return getLanguage;\n }()\n }, {\n key: \"getDirection\",\n value: function () {\n var _getDirection = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2() {\n var l10n;\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return this._ready;\n\n case 2:\n l10n = _context2.sent;\n return _context2.abrupt(\"return\", l10n.getDirection());\n\n case 4:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function getDirection() {\n return _getDirection.apply(this, arguments);\n }\n\n return getDirection;\n }()\n }, {\n key: \"get\",\n value: function () {\n var _get = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee3(property, args, fallback) {\n var l10n;\n return _regenerator[\"default\"].wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n _context3.next = 2;\n return this._ready;\n\n case 2:\n l10n = _context3.sent;\n return _context3.abrupt(\"return\", l10n.get(property, args, fallback));\n\n case 4:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3, this);\n }));\n\n function get(_x, _x2, _x3) {\n return _get.apply(this, arguments);\n }\n\n return get;\n }()\n }, {\n key: \"translate\",\n value: function () {\n var _translate = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee4(element) {\n var l10n;\n return _regenerator[\"default\"].wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n _context4.next = 2;\n return this._ready;\n\n case 2:\n l10n = _context4.sent;\n return _context4.abrupt(\"return\", l10n.translate(element));\n\n case 4:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4, this);\n }));\n\n function translate(_x4) {\n return _translate.apply(this, arguments);\n }\n\n return translate;\n }()\n }]);\n\n return GenericL10n;\n}();\n\nexports.GenericL10n = GenericL10n;\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\ndocument.webL10n = function (window, document, undefined) {\n var gL10nData = {};\n var gTextData = '';\n var gTextProp = 'textContent';\n var gLanguage = '';\n var gMacros = {};\n var gReadyState = 'loading';\n var gAsyncResourceLoading = true;\n\n function getL10nResourceLinks() {\n return document.querySelectorAll('link[type=\"application/l10n\"]');\n }\n\n function getL10nDictionary() {\n var script = document.querySelector('script[type=\"application/l10n\"]');\n return script ? JSON.parse(script.innerHTML) : null;\n }\n\n function getTranslatableChildren(element) {\n return element ? element.querySelectorAll('*[data-l10n-id]') : [];\n }\n\n function getL10nAttributes(element) {\n if (!element) return {};\n var l10nId = element.getAttribute('data-l10n-id');\n var l10nArgs = element.getAttribute('data-l10n-args');\n var args = {};\n\n if (l10nArgs) {\n try {\n args = JSON.parse(l10nArgs);\n } catch (e) {\n console.warn('could not parse arguments for #' + l10nId);\n }\n }\n\n return {\n id: l10nId,\n args: args\n };\n }\n\n function xhrLoadText(url, onSuccess, onFailure) {\n onSuccess = onSuccess || function _onSuccess(data) {};\n\n onFailure = onFailure || function _onFailure() {};\n\n var xhr = new XMLHttpRequest();\n xhr.open('GET', url, gAsyncResourceLoading);\n\n if (xhr.overrideMimeType) {\n xhr.overrideMimeType('text/plain; charset=utf-8');\n }\n\n xhr.onreadystatechange = function () {\n if (xhr.readyState == 4) {\n if (xhr.status == 200 || xhr.status === 0) {\n onSuccess(xhr.responseText);\n } else {\n onFailure();\n }\n }\n };\n\n xhr.onerror = onFailure;\n xhr.ontimeout = onFailure;\n\n try {\n xhr.send(null);\n } catch (e) {\n onFailure();\n }\n }\n\n function parseResource(href, lang, successCallback, failureCallback) {\n var baseURL = href.replace(/[^\\/]*$/, '') || './';\n\n function evalString(text) {\n if (text.lastIndexOf('\\\\') < 0) return text;\n return text.replace(/\\\\\\\\/g, '\\\\').replace(/\\\\n/g, '\\n').replace(/\\\\r/g, '\\r').replace(/\\\\t/g, '\\t').replace(/\\\\b/g, '\\b').replace(/\\\\f/g, '\\f').replace(/\\\\{/g, '{').replace(/\\\\}/g, '}').replace(/\\\\\"/g, '\"').replace(/\\\\'/g, \"'\");\n }\n\n function parseProperties(text, parsedPropertiesCallback) {\n var dictionary = {};\n var reBlank = /^\\s*|\\s*$/;\n var reComment = /^\\s*#|^\\s*$/;\n var reSection = /^\\s*\\[(.*)\\]\\s*$/;\n var reImport = /^\\s*@import\\s+url\\((.*)\\)\\s*$/i;\n var reSplit = /^([^=\\s]*)\\s*=\\s*(.+)$/;\n\n function parseRawLines(rawText, extendedSyntax, parsedRawLinesCallback) {\n var entries = rawText.replace(reBlank, '').split(/[\\r\\n]+/);\n var currentLang = '*';\n var genericLang = lang.split('-', 1)[0];\n var skipLang = false;\n var match = '';\n\n function nextEntry() {\n while (true) {\n if (!entries.length) {\n parsedRawLinesCallback();\n return;\n }\n\n var line = entries.shift();\n if (reComment.test(line)) continue;\n\n if (extendedSyntax) {\n match = reSection.exec(line);\n\n if (match) {\n currentLang = match[1].toLowerCase();\n skipLang = currentLang !== '*' && currentLang !== lang && currentLang !== genericLang;\n continue;\n } else if (skipLang) {\n continue;\n }\n\n match = reImport.exec(line);\n\n if (match) {\n loadImport(baseURL + match[1], nextEntry);\n return;\n }\n }\n\n var tmp = line.match(reSplit);\n\n if (tmp && tmp.length == 3) {\n dictionary[tmp[1]] = evalString(tmp[2]);\n }\n }\n }\n\n nextEntry();\n }\n\n function loadImport(url, callback) {\n xhrLoadText(url, function (content) {\n parseRawLines(content, false, callback);\n }, function () {\n console.warn(url + ' not found.');\n callback();\n });\n }\n\n parseRawLines(text, true, function () {\n parsedPropertiesCallback(dictionary);\n });\n }\n\n xhrLoadText(href, function (response) {\n gTextData += response;\n parseProperties(response, function (data) {\n for (var key in data) {\n var id,\n prop,\n index = key.lastIndexOf('.');\n\n if (index > 0) {\n id = key.substring(0, index);\n prop = key.substring(index + 1);\n } else {\n id = key;\n prop = gTextProp;\n }\n\n if (!gL10nData[id]) {\n gL10nData[id] = {};\n }\n\n gL10nData[id][prop] = data[key];\n }\n\n if (successCallback) {\n successCallback();\n }\n });\n }, failureCallback);\n }\n\n function loadLocale(lang, callback) {\n if (lang) {\n lang = lang.toLowerCase();\n }\n\n callback = callback || function _callback() {};\n\n clear();\n gLanguage = lang;\n var langLinks = getL10nResourceLinks();\n var langCount = langLinks.length;\n\n if (langCount === 0) {\n var dict = getL10nDictionary();\n\n if (dict && dict.locales && dict.default_locale) {\n console.log('using the embedded JSON directory, early way out');\n gL10nData = dict.locales[lang];\n\n if (!gL10nData) {\n var defaultLocale = dict.default_locale.toLowerCase();\n\n for (var anyCaseLang in dict.locales) {\n anyCaseLang = anyCaseLang.toLowerCase();\n\n if (anyCaseLang === lang) {\n gL10nData = dict.locales[lang];\n break;\n } else if (anyCaseLang === defaultLocale) {\n gL10nData = dict.locales[defaultLocale];\n }\n }\n }\n\n callback();\n } else {\n console.log('no resource to load, early way out');\n }\n\n gReadyState = 'complete';\n return;\n }\n\n var onResourceLoaded = null;\n var gResourceCount = 0;\n\n onResourceLoaded = function onResourceLoaded() {\n gResourceCount++;\n\n if (gResourceCount >= langCount) {\n callback();\n gReadyState = 'complete';\n }\n };\n\n function L10nResourceLink(link) {\n var href = link.href;\n\n this.load = function (lang, callback) {\n parseResource(href, lang, callback, function () {\n console.warn(href + ' not found.');\n console.warn('\"' + lang + '\" resource not found');\n gLanguage = '';\n callback();\n });\n };\n }\n\n for (var i = 0; i < langCount; i++) {\n var resource = new L10nResourceLink(langLinks[i]);\n resource.load(lang, onResourceLoaded);\n }\n }\n\n function clear() {\n gL10nData = {};\n gTextData = '';\n gLanguage = '';\n }\n\n function getPluralRules(lang) {\n var locales2rules = {\n 'af': 3,\n 'ak': 4,\n 'am': 4,\n 'ar': 1,\n 'asa': 3,\n 'az': 0,\n 'be': 11,\n 'bem': 3,\n 'bez': 3,\n 'bg': 3,\n 'bh': 4,\n 'bm': 0,\n 'bn': 3,\n 'bo': 0,\n 'br': 20,\n 'brx': 3,\n 'bs': 11,\n 'ca': 3,\n 'cgg': 3,\n 'chr': 3,\n 'cs': 12,\n 'cy': 17,\n 'da': 3,\n 'de': 3,\n 'dv': 3,\n 'dz': 0,\n 'ee': 3,\n 'el': 3,\n 'en': 3,\n 'eo': 3,\n 'es': 3,\n 'et': 3,\n 'eu': 3,\n 'fa': 0,\n 'ff': 5,\n 'fi': 3,\n 'fil': 4,\n 'fo': 3,\n 'fr': 5,\n 'fur': 3,\n 'fy': 3,\n 'ga': 8,\n 'gd': 24,\n 'gl': 3,\n 'gsw': 3,\n 'gu': 3,\n 'guw': 4,\n 'gv': 23,\n 'ha': 3,\n 'haw': 3,\n 'he': 2,\n 'hi': 4,\n 'hr': 11,\n 'hu': 0,\n 'id': 0,\n 'ig': 0,\n 'ii': 0,\n 'is': 3,\n 'it': 3,\n 'iu': 7,\n 'ja': 0,\n 'jmc': 3,\n 'jv': 0,\n 'ka': 0,\n 'kab': 5,\n 'kaj': 3,\n 'kcg': 3,\n 'kde': 0,\n 'kea': 0,\n 'kk': 3,\n 'kl': 3,\n 'km': 0,\n 'kn': 0,\n 'ko': 0,\n 'ksb': 3,\n 'ksh': 21,\n 'ku': 3,\n 'kw': 7,\n 'lag': 18,\n 'lb': 3,\n 'lg': 3,\n 'ln': 4,\n 'lo': 0,\n 'lt': 10,\n 'lv': 6,\n 'mas': 3,\n 'mg': 4,\n 'mk': 16,\n 'ml': 3,\n 'mn': 3,\n 'mo': 9,\n 'mr': 3,\n 'ms': 0,\n 'mt': 15,\n 'my': 0,\n 'nah': 3,\n 'naq': 7,\n 'nb': 3,\n 'nd': 3,\n 'ne': 3,\n 'nl': 3,\n 'nn': 3,\n 'no': 3,\n 'nr': 3,\n 'nso': 4,\n 'ny': 3,\n 'nyn': 3,\n 'om': 3,\n 'or': 3,\n 'pa': 3,\n 'pap': 3,\n 'pl': 13,\n 'ps': 3,\n 'pt': 3,\n 'rm': 3,\n 'ro': 9,\n 'rof': 3,\n 'ru': 11,\n 'rwk': 3,\n 'sah': 0,\n 'saq': 3,\n 'se': 7,\n 'seh': 3,\n 'ses': 0,\n 'sg': 0,\n 'sh': 11,\n 'shi': 19,\n 'sk': 12,\n 'sl': 14,\n 'sma': 7,\n 'smi': 7,\n 'smj': 7,\n 'smn': 7,\n 'sms': 7,\n 'sn': 3,\n 'so': 3,\n 'sq': 3,\n 'sr': 11,\n 'ss': 3,\n 'ssy': 3,\n 'st': 3,\n 'sv': 3,\n 'sw': 3,\n 'syr': 3,\n 'ta': 3,\n 'te': 3,\n 'teo': 3,\n 'th': 0,\n 'ti': 4,\n 'tig': 3,\n 'tk': 3,\n 'tl': 4,\n 'tn': 3,\n 'to': 0,\n 'tr': 0,\n 'ts': 3,\n 'tzm': 22,\n 'uk': 11,\n 'ur': 3,\n 've': 3,\n 'vi': 0,\n 'vun': 3,\n 'wa': 4,\n 'wae': 3,\n 'wo': 0,\n 'xh': 3,\n 'xog': 3,\n 'yo': 0,\n 'zh': 0,\n 'zu': 3\n };\n\n function isIn(n, list) {\n return list.indexOf(n) !== -1;\n }\n\n function isBetween(n, start, end) {\n return start <= n && n <= end;\n }\n\n var pluralRules = {\n '0': function _(n) {\n return 'other';\n },\n '1': function _(n) {\n if (isBetween(n % 100, 3, 10)) return 'few';\n if (n === 0) return 'zero';\n if (isBetween(n % 100, 11, 99)) return 'many';\n if (n == 2) return 'two';\n if (n == 1) return 'one';\n return 'other';\n },\n '2': function _(n) {\n if (n !== 0 && n % 10 === 0) return 'many';\n if (n == 2) return 'two';\n if (n == 1) return 'one';\n return 'other';\n },\n '3': function _(n) {\n if (n == 1) return 'one';\n return 'other';\n },\n '4': function _(n) {\n if (isBetween(n, 0, 1)) return 'one';\n return 'other';\n },\n '5': function _(n) {\n if (isBetween(n, 0, 2) && n != 2) return 'one';\n return 'other';\n },\n '6': function _(n) {\n if (n === 0) return 'zero';\n if (n % 10 == 1 && n % 100 != 11) return 'one';\n return 'other';\n },\n '7': function _(n) {\n if (n == 2) return 'two';\n if (n == 1) return 'one';\n return 'other';\n },\n '8': function _(n) {\n if (isBetween(n, 3, 6)) return 'few';\n if (isBetween(n, 7, 10)) return 'many';\n if (n == 2) return 'two';\n if (n == 1) return 'one';\n return 'other';\n },\n '9': function _(n) {\n if (n === 0 || n != 1 && isBetween(n % 100, 1, 19)) return 'few';\n if (n == 1) return 'one';\n return 'other';\n },\n '10': function _(n) {\n if (isBetween(n % 10, 2, 9) && !isBetween(n % 100, 11, 19)) return 'few';\n if (n % 10 == 1 && !isBetween(n % 100, 11, 19)) return 'one';\n return 'other';\n },\n '11': function _(n) {\n if (isBetween(n % 10, 2, 4) && !isBetween(n % 100, 12, 14)) return 'few';\n if (n % 10 === 0 || isBetween(n % 10, 5, 9) || isBetween(n % 100, 11, 14)) return 'many';\n if (n % 10 == 1 && n % 100 != 11) return 'one';\n return 'other';\n },\n '12': function _(n) {\n if (isBetween(n, 2, 4)) return 'few';\n if (n == 1) return 'one';\n return 'other';\n },\n '13': function _(n) {\n if (isBetween(n % 10, 2, 4) && !isBetween(n % 100, 12, 14)) return 'few';\n if (n != 1 && isBetween(n % 10, 0, 1) || isBetween(n % 10, 5, 9) || isBetween(n % 100, 12, 14)) return 'many';\n if (n == 1) return 'one';\n return 'other';\n },\n '14': function _(n) {\n if (isBetween(n % 100, 3, 4)) return 'few';\n if (n % 100 == 2) return 'two';\n if (n % 100 == 1) return 'one';\n return 'other';\n },\n '15': function _(n) {\n if (n === 0 || isBetween(n % 100, 2, 10)) return 'few';\n if (isBetween(n % 100, 11, 19)) return 'many';\n if (n == 1) return 'one';\n return 'other';\n },\n '16': function _(n) {\n if (n % 10 == 1 && n != 11) return 'one';\n return 'other';\n },\n '17': function _(n) {\n if (n == 3) return 'few';\n if (n === 0) return 'zero';\n if (n == 6) return 'many';\n if (n == 2) return 'two';\n if (n == 1) return 'one';\n return 'other';\n },\n '18': function _(n) {\n if (n === 0) return 'zero';\n if (isBetween(n, 0, 2) && n !== 0 && n != 2) return 'one';\n return 'other';\n },\n '19': function _(n) {\n if (isBetween(n, 2, 10)) return 'few';\n if (isBetween(n, 0, 1)) return 'one';\n return 'other';\n },\n '20': function _(n) {\n if ((isBetween(n % 10, 3, 4) || n % 10 == 9) && !(isBetween(n % 100, 10, 19) || isBetween(n % 100, 70, 79) || isBetween(n % 100, 90, 99))) return 'few';\n if (n % 1000000 === 0 && n !== 0) return 'many';\n if (n % 10 == 2 && !isIn(n % 100, [12, 72, 92])) return 'two';\n if (n % 10 == 1 && !isIn(n % 100, [11, 71, 91])) return 'one';\n return 'other';\n },\n '21': function _(n) {\n if (n === 0) return 'zero';\n if (n == 1) return 'one';\n return 'other';\n },\n '22': function _(n) {\n if (isBetween(n, 0, 1) || isBetween(n, 11, 99)) return 'one';\n return 'other';\n },\n '23': function _(n) {\n if (isBetween(n % 10, 1, 2) || n % 20 === 0) return 'one';\n return 'other';\n },\n '24': function _(n) {\n if (isBetween(n, 3, 10) || isBetween(n, 13, 19)) return 'few';\n if (isIn(n, [2, 12])) return 'two';\n if (isIn(n, [1, 11])) return 'one';\n return 'other';\n }\n };\n var index = locales2rules[lang.replace(/-.*$/, '')];\n\n if (!(index in pluralRules)) {\n console.warn('plural form unknown for [' + lang + ']');\n return function () {\n return 'other';\n };\n }\n\n return pluralRules[index];\n }\n\n gMacros.plural = function (str, param, key, prop) {\n var n = parseFloat(param);\n if (isNaN(n)) return str;\n if (prop != gTextProp) return str;\n\n if (!gMacros._pluralRules) {\n gMacros._pluralRules = getPluralRules(gLanguage);\n }\n\n var index = '[' + gMacros._pluralRules(n) + ']';\n\n if (n === 0 && key + '[zero]' in gL10nData) {\n str = gL10nData[key + '[zero]'][prop];\n } else if (n == 1 && key + '[one]' in gL10nData) {\n str = gL10nData[key + '[one]'][prop];\n } else if (n == 2 && key + '[two]' in gL10nData) {\n str = gL10nData[key + '[two]'][prop];\n } else if (key + index in gL10nData) {\n str = gL10nData[key + index][prop];\n } else if (key + '[other]' in gL10nData) {\n str = gL10nData[key + '[other]'][prop];\n }\n\n return str;\n };\n\n function getL10nData(key, args, fallback) {\n var data = gL10nData[key];\n\n if (!data) {\n console.warn('#' + key + ' is undefined.');\n\n if (!fallback) {\n return null;\n }\n\n data = fallback;\n }\n\n var rv = {};\n\n for (var prop in data) {\n var str = data[prop];\n str = substIndexes(str, args, key, prop);\n str = substArguments(str, args, key);\n rv[prop] = str;\n }\n\n return rv;\n }\n\n function substIndexes(str, args, key, prop) {\n var reIndex = /\\{\\[\\s*([a-zA-Z]+)\\(([a-zA-Z]+)\\)\\s*\\]\\}/;\n var reMatch = reIndex.exec(str);\n if (!reMatch || !reMatch.length) return str;\n var macroName = reMatch[1];\n var paramName = reMatch[2];\n var param;\n\n if (args && paramName in args) {\n param = args[paramName];\n } else if (paramName in gL10nData) {\n param = gL10nData[paramName];\n }\n\n if (macroName in gMacros) {\n var macro = gMacros[macroName];\n str = macro(str, param, key, prop);\n }\n\n return str;\n }\n\n function substArguments(str, args, key) {\n var reArgs = /\\{\\{\\s*(.+?)\\s*\\}\\}/g;\n return str.replace(reArgs, function (matched_text, arg) {\n if (args && arg in args) {\n return args[arg];\n }\n\n if (arg in gL10nData) {\n return gL10nData[arg];\n }\n\n console.log('argument {{' + arg + '}} for #' + key + ' is undefined.');\n return matched_text;\n });\n }\n\n function translateElement(element) {\n var l10n = getL10nAttributes(element);\n if (!l10n.id) return;\n var data = getL10nData(l10n.id, l10n.args);\n\n if (!data) {\n console.warn('#' + l10n.id + ' is undefined.');\n return;\n }\n\n if (data[gTextProp]) {\n if (getChildElementCount(element) === 0) {\n element[gTextProp] = data[gTextProp];\n } else {\n var children = element.childNodes;\n var found = false;\n\n for (var i = 0, l = children.length; i < l; i++) {\n if (children[i].nodeType === 3 && /\\S/.test(children[i].nodeValue)) {\n if (found) {\n children[i].nodeValue = '';\n } else {\n children[i].nodeValue = data[gTextProp];\n found = true;\n }\n }\n }\n\n if (!found) {\n var textNode = document.createTextNode(data[gTextProp]);\n element.insertBefore(textNode, element.firstChild);\n }\n }\n\n delete data[gTextProp];\n }\n\n for (var k in data) {\n element[k] = data[k];\n }\n }\n\n function getChildElementCount(element) {\n if (element.children) {\n return element.children.length;\n }\n\n if (typeof element.childElementCount !== 'undefined') {\n return element.childElementCount;\n }\n\n var count = 0;\n\n for (var i = 0; i < element.childNodes.length; i++) {\n count += element.nodeType === 1 ? 1 : 0;\n }\n\n return count;\n }\n\n function translateFragment(element) {\n element = element || document.documentElement;\n var children = getTranslatableChildren(element);\n var elementCount = children.length;\n\n for (var i = 0; i < elementCount; i++) {\n translateElement(children[i]);\n }\n\n translateElement(element);\n }\n\n return {\n get: function get(key, args, fallbackString) {\n var index = key.lastIndexOf('.');\n var prop = gTextProp;\n\n if (index > 0) {\n prop = key.substring(index + 1);\n key = key.substring(0, index);\n }\n\n var fallback;\n\n if (fallbackString) {\n fallback = {};\n fallback[prop] = fallbackString;\n }\n\n var data = getL10nData(key, args, fallback);\n\n if (data && prop in data) {\n return data[prop];\n }\n\n return '{{' + key + '}}';\n },\n getData: function getData() {\n return gL10nData;\n },\n getText: function getText() {\n return gTextData;\n },\n getLanguage: function getLanguage() {\n return gLanguage;\n },\n setLanguage: function setLanguage(lang, callback) {\n loadLocale(lang, function () {\n if (callback) callback();\n });\n },\n getDirection: function getDirection() {\n var rtlList = ['ar', 'he', 'fa', 'ps', 'ur'];\n var shortCode = gLanguage.split('-', 1)[0];\n return rtlList.indexOf(shortCode) >= 0 ? 'rtl' : 'ltr';\n },\n translate: translateFragment,\n getReadyState: function getReadyState() {\n return gReadyState;\n },\n ready: function ready(callback) {\n if (!callback) {\n return;\n } else if (gReadyState == 'complete' || gReadyState == 'interactive') {\n window.setTimeout(function () {\n callback();\n });\n } else if (document.addEventListener) {\n document.addEventListener('localized', function once() {\n document.removeEventListener('localized', once);\n callback();\n });\n }\n }\n };\n}(window, document);\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFFindController = exports.FindState = void 0;\n\nvar _pdfjsLib = __w_pdfjs_require__(2);\n\nvar _pdf_find_utils = __w_pdfjs_require__(14);\n\nvar _ui_utils = __w_pdfjs_require__(3);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar FindState = {\n FOUND: 0,\n NOT_FOUND: 1,\n WRAPPED: 2,\n PENDING: 3\n};\nexports.FindState = FindState;\nvar FIND_TIMEOUT = 250;\nvar MATCH_SCROLL_OFFSET_TOP = -50;\nvar MATCH_SCROLL_OFFSET_LEFT = -400;\nvar CHARACTERS_TO_NORMALIZE = {\n \"\\u2018\": \"'\",\n \"\\u2019\": \"'\",\n \"\\u201A\": \"'\",\n \"\\u201B\": \"'\",\n \"\\u201C\": '\"',\n \"\\u201D\": '\"',\n \"\\u201E\": '\"',\n \"\\u201F\": '\"',\n \"\\xBC\": \"1/4\",\n \"\\xBD\": \"1/2\",\n \"\\xBE\": \"3/4\"\n};\nvar normalizationRegex = null;\n\nfunction normalize(text) {\n if (!normalizationRegex) {\n var replace = Object.keys(CHARACTERS_TO_NORMALIZE).join(\"\");\n normalizationRegex = new RegExp(\"[\".concat(replace, \"]\"), \"g\");\n }\n\n return text.replace(normalizationRegex, function (ch) {\n return CHARACTERS_TO_NORMALIZE[ch];\n });\n}\n\nvar PDFFindController = /*#__PURE__*/function () {\n function PDFFindController(_ref) {\n var linkService = _ref.linkService,\n eventBus = _ref.eventBus;\n\n _classCallCheck(this, PDFFindController);\n\n this._linkService = linkService;\n this._eventBus = eventBus;\n\n this._reset();\n\n eventBus._on(\"findbarclose\", this._onFindBarClose.bind(this));\n }\n\n _createClass(PDFFindController, [{\n key: \"setDocument\",\n value: function setDocument(pdfDocument) {\n if (this._pdfDocument) {\n this._reset();\n }\n\n if (!pdfDocument) {\n return;\n }\n\n this._pdfDocument = pdfDocument;\n\n this._firstPageCapability.resolve();\n }\n }, {\n key: \"executeCommand\",\n value: function executeCommand(cmd, state) {\n var _this = this;\n\n if (!state) {\n return;\n }\n\n var pdfDocument = this._pdfDocument;\n\n if (this._state === null || this._shouldDirtyMatch(cmd, state)) {\n this._dirtyMatch = true;\n }\n\n this._state = state;\n\n if (cmd !== \"findhighlightallchange\") {\n this._updateUIState(FindState.PENDING);\n }\n\n this._firstPageCapability.promise.then(function () {\n if (!_this._pdfDocument || pdfDocument && _this._pdfDocument !== pdfDocument) {\n return;\n }\n\n _this._extractText();\n\n var findbarClosed = !_this._highlightMatches;\n var pendingTimeout = !!_this._findTimeout;\n\n if (_this._findTimeout) {\n clearTimeout(_this._findTimeout);\n _this._findTimeout = null;\n }\n\n if (cmd === \"find\") {\n _this._findTimeout = setTimeout(function () {\n _this._nextMatch();\n\n _this._findTimeout = null;\n }, FIND_TIMEOUT);\n } else if (_this._dirtyMatch) {\n _this._nextMatch();\n } else if (cmd === \"findagain\") {\n _this._nextMatch();\n\n if (findbarClosed && _this._state.highlightAll) {\n _this._updateAllPages();\n }\n } else if (cmd === \"findhighlightallchange\") {\n if (pendingTimeout) {\n _this._nextMatch();\n } else {\n _this._highlightMatches = true;\n }\n\n _this._updateAllPages();\n } else {\n _this._nextMatch();\n }\n });\n }\n }, {\n key: \"scrollMatchIntoView\",\n value: function scrollMatchIntoView(_ref2) {\n var _ref2$element = _ref2.element,\n element = _ref2$element === void 0 ? null : _ref2$element,\n _ref2$pageIndex = _ref2.pageIndex,\n pageIndex = _ref2$pageIndex === void 0 ? -1 : _ref2$pageIndex,\n _ref2$matchIndex = _ref2.matchIndex,\n matchIndex = _ref2$matchIndex === void 0 ? -1 : _ref2$matchIndex;\n\n if (!this._scrollMatches || !element) {\n return;\n } else if (matchIndex === -1 || matchIndex !== this._selected.matchIdx) {\n return;\n } else if (pageIndex === -1 || pageIndex !== this._selected.pageIdx) {\n return;\n }\n\n this._scrollMatches = false;\n var spot = {\n top: MATCH_SCROLL_OFFSET_TOP,\n left: MATCH_SCROLL_OFFSET_LEFT\n };\n (0, _ui_utils.scrollIntoView)(element, spot, true);\n }\n }, {\n key: \"_reset\",\n value: function _reset() {\n this._highlightMatches = false;\n this._scrollMatches = false;\n this._pdfDocument = null;\n this._pageMatches = [];\n this._pageMatchesLength = [];\n this._state = null;\n this._selected = {\n pageIdx: -1,\n matchIdx: -1\n };\n this._offset = {\n pageIdx: null,\n matchIdx: null,\n wrapped: false\n };\n this._extractTextPromises = [];\n this._pageContents = [];\n this._matchesCountTotal = 0;\n this._pagesToSearch = null;\n this._pendingFindMatches = Object.create(null);\n this._resumePageIdx = null;\n this._dirtyMatch = false;\n clearTimeout(this._findTimeout);\n this._findTimeout = null;\n this._firstPageCapability = (0, _pdfjsLib.createPromiseCapability)();\n }\n }, {\n key: \"_shouldDirtyMatch\",\n value: function _shouldDirtyMatch(cmd, state) {\n if (state.query !== this._state.query) {\n return true;\n }\n\n switch (cmd) {\n case \"findagain\":\n var pageNumber = this._selected.pageIdx + 1;\n var linkService = this._linkService;\n\n if (pageNumber >= 1 && pageNumber <= linkService.pagesCount && pageNumber !== linkService.page && !linkService.isPageVisible(pageNumber)) {\n return true;\n }\n\n return false;\n\n case \"findhighlightallchange\":\n return false;\n }\n\n return true;\n }\n }, {\n key: \"_prepareMatches\",\n value: function _prepareMatches(matchesWithLength, matches, matchesLength) {\n function isSubTerm(currentIndex) {\n var currentElem = matchesWithLength[currentIndex];\n var nextElem = matchesWithLength[currentIndex + 1];\n\n if (currentIndex < matchesWithLength.length - 1 && currentElem.match === nextElem.match) {\n currentElem.skipped = true;\n return true;\n }\n\n for (var i = currentIndex - 1; i >= 0; i--) {\n var prevElem = matchesWithLength[i];\n\n if (prevElem.skipped) {\n continue;\n }\n\n if (prevElem.match + prevElem.matchLength < currentElem.match) {\n break;\n }\n\n if (prevElem.match + prevElem.matchLength >= currentElem.match + currentElem.matchLength) {\n currentElem.skipped = true;\n return true;\n }\n }\n\n return false;\n }\n\n matchesWithLength.sort(function (a, b) {\n return a.match === b.match ? a.matchLength - b.matchLength : a.match - b.match;\n });\n\n for (var i = 0, len = matchesWithLength.length; i < len; i++) {\n if (isSubTerm(i)) {\n continue;\n }\n\n matches.push(matchesWithLength[i].match);\n matchesLength.push(matchesWithLength[i].matchLength);\n }\n }\n }, {\n key: \"_isEntireWord\",\n value: function _isEntireWord(content, startIdx, length) {\n if (startIdx > 0) {\n var first = content.charCodeAt(startIdx);\n var limit = content.charCodeAt(startIdx - 1);\n\n if ((0, _pdf_find_utils.getCharacterType)(first) === (0, _pdf_find_utils.getCharacterType)(limit)) {\n return false;\n }\n }\n\n var endIdx = startIdx + length - 1;\n\n if (endIdx < content.length - 1) {\n var last = content.charCodeAt(endIdx);\n\n var _limit = content.charCodeAt(endIdx + 1);\n\n if ((0, _pdf_find_utils.getCharacterType)(last) === (0, _pdf_find_utils.getCharacterType)(_limit)) {\n return false;\n }\n }\n\n return true;\n }\n }, {\n key: \"_calculatePhraseMatch\",\n value: function _calculatePhraseMatch(query, pageIndex, pageContent, entireWord) {\n var matches = [];\n var queryLen = query.length;\n var matchIdx = -queryLen;\n\n while (true) {\n matchIdx = pageContent.indexOf(query, matchIdx + queryLen);\n\n if (matchIdx === -1) {\n break;\n }\n\n if (entireWord && !this._isEntireWord(pageContent, matchIdx, queryLen)) {\n continue;\n }\n\n matches.push(matchIdx);\n }\n\n this._pageMatches[pageIndex] = matches;\n }\n }, {\n key: \"_calculateWordMatch\",\n value: function _calculateWordMatch(query, pageIndex, pageContent, entireWord) {\n var matchesWithLength = [];\n var queryArray = query.match(/\\S+/g);\n\n for (var i = 0, len = queryArray.length; i < len; i++) {\n var subquery = queryArray[i];\n var subqueryLen = subquery.length;\n var matchIdx = -subqueryLen;\n\n while (true) {\n matchIdx = pageContent.indexOf(subquery, matchIdx + subqueryLen);\n\n if (matchIdx === -1) {\n break;\n }\n\n if (entireWord && !this._isEntireWord(pageContent, matchIdx, subqueryLen)) {\n continue;\n }\n\n matchesWithLength.push({\n match: matchIdx,\n matchLength: subqueryLen,\n skipped: false\n });\n }\n }\n\n this._pageMatchesLength[pageIndex] = [];\n this._pageMatches[pageIndex] = [];\n\n this._prepareMatches(matchesWithLength, this._pageMatches[pageIndex], this._pageMatchesLength[pageIndex]);\n }\n }, {\n key: \"_calculateMatch\",\n value: function _calculateMatch(pageIndex) {\n var pageContent = this._pageContents[pageIndex];\n var query = this._query;\n var _this$_state = this._state,\n caseSensitive = _this$_state.caseSensitive,\n entireWord = _this$_state.entireWord,\n phraseSearch = _this$_state.phraseSearch;\n\n if (query.length === 0) {\n return;\n }\n\n if (!caseSensitive) {\n pageContent = pageContent.toLowerCase();\n query = query.toLowerCase();\n }\n\n if (phraseSearch) {\n this._calculatePhraseMatch(query, pageIndex, pageContent, entireWord);\n } else {\n this._calculateWordMatch(query, pageIndex, pageContent, entireWord);\n }\n\n if (this._state.highlightAll) {\n this._updatePage(pageIndex);\n }\n\n if (this._resumePageIdx === pageIndex) {\n this._resumePageIdx = null;\n\n this._nextPageMatch();\n }\n\n var pageMatchesCount = this._pageMatches[pageIndex].length;\n\n if (pageMatchesCount > 0) {\n this._matchesCountTotal += pageMatchesCount;\n\n this._updateUIResultsCount();\n }\n }\n }, {\n key: \"_extractText\",\n value: function _extractText() {\n var _this2 = this;\n\n if (this._extractTextPromises.length > 0) {\n return;\n }\n\n var promise = Promise.resolve();\n\n var _loop = function _loop(i, ii) {\n var extractTextCapability = (0, _pdfjsLib.createPromiseCapability)();\n _this2._extractTextPromises[i] = extractTextCapability.promise;\n promise = promise.then(function () {\n return _this2._pdfDocument.getPage(i + 1).then(function (pdfPage) {\n return pdfPage.getTextContent({\n normalizeWhitespace: true\n });\n }).then(function (textContent) {\n var textItems = textContent.items;\n var strBuf = [];\n\n for (var j = 0, jj = textItems.length; j < jj; j++) {\n strBuf.push(textItems[j].str);\n }\n\n _this2._pageContents[i] = normalize(strBuf.join(\"\"));\n extractTextCapability.resolve(i);\n }, function (reason) {\n console.error(\"Unable to get text content for page \".concat(i + 1), reason);\n _this2._pageContents[i] = \"\";\n extractTextCapability.resolve(i);\n });\n });\n };\n\n for (var i = 0, ii = this._linkService.pagesCount; i < ii; i++) {\n _loop(i, ii);\n }\n }\n }, {\n key: \"_updatePage\",\n value: function _updatePage(index) {\n if (this._scrollMatches && this._selected.pageIdx === index) {\n this._linkService.page = index + 1;\n }\n\n this._eventBus.dispatch(\"updatetextlayermatches\", {\n source: this,\n pageIndex: index\n });\n }\n }, {\n key: \"_updateAllPages\",\n value: function _updateAllPages() {\n this._eventBus.dispatch(\"updatetextlayermatches\", {\n source: this,\n pageIndex: -1\n });\n }\n }, {\n key: \"_nextMatch\",\n value: function _nextMatch() {\n var _this3 = this;\n\n var previous = this._state.findPrevious;\n var currentPageIndex = this._linkService.page - 1;\n var numPages = this._linkService.pagesCount;\n this._highlightMatches = true;\n\n if (this._dirtyMatch) {\n this._dirtyMatch = false;\n this._selected.pageIdx = this._selected.matchIdx = -1;\n this._offset.pageIdx = currentPageIndex;\n this._offset.matchIdx = null;\n this._offset.wrapped = false;\n this._resumePageIdx = null;\n this._pageMatches.length = 0;\n this._pageMatchesLength.length = 0;\n this._matchesCountTotal = 0;\n\n this._updateAllPages();\n\n for (var i = 0; i < numPages; i++) {\n if (this._pendingFindMatches[i] === true) {\n continue;\n }\n\n this._pendingFindMatches[i] = true;\n\n this._extractTextPromises[i].then(function (pageIdx) {\n delete _this3._pendingFindMatches[pageIdx];\n\n _this3._calculateMatch(pageIdx);\n });\n }\n }\n\n if (this._query === \"\") {\n this._updateUIState(FindState.FOUND);\n\n return;\n }\n\n if (this._resumePageIdx) {\n return;\n }\n\n var offset = this._offset;\n this._pagesToSearch = numPages;\n\n if (offset.matchIdx !== null) {\n var numPageMatches = this._pageMatches[offset.pageIdx].length;\n\n if (!previous && offset.matchIdx + 1 < numPageMatches || previous && offset.matchIdx > 0) {\n offset.matchIdx = previous ? offset.matchIdx - 1 : offset.matchIdx + 1;\n\n this._updateMatch(true);\n\n return;\n }\n\n this._advanceOffsetPage(previous);\n }\n\n this._nextPageMatch();\n }\n }, {\n key: \"_matchesReady\",\n value: function _matchesReady(matches) {\n var offset = this._offset;\n var numMatches = matches.length;\n var previous = this._state.findPrevious;\n\n if (numMatches) {\n offset.matchIdx = previous ? numMatches - 1 : 0;\n\n this._updateMatch(true);\n\n return true;\n }\n\n this._advanceOffsetPage(previous);\n\n if (offset.wrapped) {\n offset.matchIdx = null;\n\n if (this._pagesToSearch < 0) {\n this._updateMatch(false);\n\n return true;\n }\n }\n\n return false;\n }\n }, {\n key: \"_nextPageMatch\",\n value: function _nextPageMatch() {\n if (this._resumePageIdx !== null) {\n console.error(\"There can only be one pending page.\");\n }\n\n var matches = null;\n\n do {\n var pageIdx = this._offset.pageIdx;\n matches = this._pageMatches[pageIdx];\n\n if (!matches) {\n this._resumePageIdx = pageIdx;\n break;\n }\n } while (!this._matchesReady(matches));\n }\n }, {\n key: \"_advanceOffsetPage\",\n value: function _advanceOffsetPage(previous) {\n var offset = this._offset;\n var numPages = this._linkService.pagesCount;\n offset.pageIdx = previous ? offset.pageIdx - 1 : offset.pageIdx + 1;\n offset.matchIdx = null;\n this._pagesToSearch--;\n\n if (offset.pageIdx >= numPages || offset.pageIdx < 0) {\n offset.pageIdx = previous ? numPages - 1 : 0;\n offset.wrapped = true;\n }\n }\n }, {\n key: \"_updateMatch\",\n value: function _updateMatch() {\n var found = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var state = FindState.NOT_FOUND;\n var wrapped = this._offset.wrapped;\n this._offset.wrapped = false;\n\n if (found) {\n var previousPage = this._selected.pageIdx;\n this._selected.pageIdx = this._offset.pageIdx;\n this._selected.matchIdx = this._offset.matchIdx;\n state = wrapped ? FindState.WRAPPED : FindState.FOUND;\n\n if (previousPage !== -1 && previousPage !== this._selected.pageIdx) {\n this._updatePage(previousPage);\n }\n }\n\n this._updateUIState(state, this._state.findPrevious);\n\n if (this._selected.pageIdx !== -1) {\n this._scrollMatches = true;\n\n this._updatePage(this._selected.pageIdx);\n }\n }\n }, {\n key: \"_onFindBarClose\",\n value: function _onFindBarClose(evt) {\n var _this4 = this;\n\n var pdfDocument = this._pdfDocument;\n\n this._firstPageCapability.promise.then(function () {\n if (!_this4._pdfDocument || pdfDocument && _this4._pdfDocument !== pdfDocument) {\n return;\n }\n\n if (_this4._findTimeout) {\n clearTimeout(_this4._findTimeout);\n _this4._findTimeout = null;\n }\n\n if (_this4._resumePageIdx) {\n _this4._resumePageIdx = null;\n _this4._dirtyMatch = true;\n }\n\n _this4._updateUIState(FindState.FOUND);\n\n _this4._highlightMatches = false;\n\n _this4._updateAllPages();\n });\n }\n }, {\n key: \"_requestMatchesCount\",\n value: function _requestMatchesCount() {\n var _this$_selected = this._selected,\n pageIdx = _this$_selected.pageIdx,\n matchIdx = _this$_selected.matchIdx;\n var current = 0,\n total = this._matchesCountTotal;\n\n if (matchIdx !== -1) {\n for (var i = 0; i < pageIdx; i++) {\n current += this._pageMatches[i] && this._pageMatches[i].length || 0;\n }\n\n current += matchIdx + 1;\n }\n\n if (current < 1 || current > total) {\n current = total = 0;\n }\n\n return {\n current: current,\n total: total\n };\n }\n }, {\n key: \"_updateUIResultsCount\",\n value: function _updateUIResultsCount() {\n this._eventBus.dispatch(\"updatefindmatchescount\", {\n source: this,\n matchesCount: this._requestMatchesCount()\n });\n }\n }, {\n key: \"_updateUIState\",\n value: function _updateUIState(state, previous) {\n this._eventBus.dispatch(\"updatefindcontrolstate\", {\n source: this,\n state: state,\n previous: previous,\n matchesCount: this._requestMatchesCount(),\n 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 this._normalizedQuery = normalize(this._state.query);\n }\n\n return this._normalizedQuery;\n }\n }]);\n\n return PDFFindController;\n}();\n\nexports.PDFFindController = PDFFindController;\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getCharacterType = getCharacterType;\nexports.CharacterType = void 0;\nvar CharacterType = {\n SPACE: 0,\n ALPHA_LETTER: 1,\n PUNCT: 2,\n HAN_LETTER: 3,\n KATAKANA_LETTER: 4,\n HIRAGANA_LETTER: 5,\n HALFWIDTH_KATAKANA_LETTER: 6,\n THAI_LETTER: 7\n};\nexports.CharacterType = CharacterType;\n\nfunction isAlphabeticalScript(charCode) {\n return charCode < 0x2e80;\n}\n\nfunction isAscii(charCode) {\n return (charCode & 0xff80) === 0;\n}\n\nfunction isAsciiAlpha(charCode) {\n return charCode >= 0x61 && charCode <= 0x7a || charCode >= 0x41 && charCode <= 0x5a;\n}\n\nfunction isAsciiDigit(charCode) {\n return charCode >= 0x30 && charCode <= 0x39;\n}\n\nfunction isAsciiSpace(charCode) {\n return charCode === 0x20 || charCode === 0x09 || charCode === 0x0d || charCode === 0x0a;\n}\n\nfunction isHan(charCode) {\n return charCode >= 0x3400 && charCode <= 0x9fff || charCode >= 0xf900 && charCode <= 0xfaff;\n}\n\nfunction isKatakana(charCode) {\n return charCode >= 0x30a0 && charCode <= 0x30ff;\n}\n\nfunction isHiragana(charCode) {\n return charCode >= 0x3040 && charCode <= 0x309f;\n}\n\nfunction isHalfwidthKatakana(charCode) {\n return charCode >= 0xff60 && charCode <= 0xff9f;\n}\n\nfunction isThai(charCode) {\n return (charCode & 0xff80) === 0x0e00;\n}\n\nfunction getCharacterType(charCode) {\n if (isAlphabeticalScript(charCode)) {\n if (isAscii(charCode)) {\n if (isAsciiSpace(charCode)) {\n return CharacterType.SPACE;\n } else if (isAsciiAlpha(charCode) || isAsciiDigit(charCode) || charCode === 0x5f) {\n return CharacterType.ALPHA_LETTER;\n }\n\n return CharacterType.PUNCT;\n } else if (isThai(charCode)) {\n return CharacterType.THAI_LETTER;\n } else if (charCode === 0xa0) {\n return CharacterType.SPACE;\n }\n\n return CharacterType.ALPHA_LETTER;\n }\n\n if (isHan(charCode)) {\n return CharacterType.HAN_LETTER;\n } else if (isKatakana(charCode)) {\n return CharacterType.KATAKANA_LETTER;\n } else if (isHiragana(charCode)) {\n return CharacterType.HIRAGANA_LETTER;\n } else if (isHalfwidthKatakana(charCode)) {\n return CharacterType.HALFWIDTH_KATAKANA_LETTER;\n }\n\n return CharacterType.ALPHA_LETTER;\n}\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isDestHashesEqual = isDestHashesEqual;\nexports.isDestArraysEqual = isDestArraysEqual;\nexports.PDFHistory = void 0;\n\nvar _ui_utils = __w_pdfjs_require__(3);\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar HASH_CHANGE_TIMEOUT = 1000;\nvar POSITION_UPDATED_THRESHOLD = 50;\nvar UPDATE_VIEWAREA_TIMEOUT = 1000;\n\nfunction getCurrentHash() {\n return document.location.hash;\n}\n\nvar PDFHistory = /*#__PURE__*/function () {\n function PDFHistory(_ref) {\n var _this = this;\n\n var linkService = _ref.linkService,\n eventBus = _ref.eventBus;\n\n _classCallCheck(this, PDFHistory);\n\n this.linkService = linkService;\n this.eventBus = eventBus;\n this._initialized = false;\n this._fingerprint = \"\";\n this.reset();\n this._boundEvents = null;\n this._isViewerInPresentationMode = false;\n\n this.eventBus._on(\"presentationmodechanged\", function (evt) {\n _this._isViewerInPresentationMode = evt.active || evt.switchInProgress;\n });\n\n this.eventBus._on(\"pagesinit\", function () {\n _this._isPagesLoaded = false;\n\n var onPagesLoaded = function onPagesLoaded(evt) {\n _this.eventBus._off(\"pagesloaded\", onPagesLoaded);\n\n _this._isPagesLoaded = !!evt.pagesCount;\n };\n\n _this.eventBus._on(\"pagesloaded\", onPagesLoaded);\n });\n }\n\n _createClass(PDFHistory, [{\n key: \"initialize\",\n value: function initialize(_ref2) {\n var fingerprint = _ref2.fingerprint,\n _ref2$resetHistory = _ref2.resetHistory,\n resetHistory = _ref2$resetHistory === void 0 ? false : _ref2$resetHistory,\n _ref2$updateUrl = _ref2.updateUrl,\n updateUrl = _ref2$updateUrl === void 0 ? false : _ref2$updateUrl;\n\n if (!fingerprint || typeof fingerprint !== \"string\") {\n console.error('PDFHistory.initialize: The \"fingerprint\" must be a non-empty string.');\n return;\n }\n\n if (this._initialized) {\n this.reset();\n }\n\n var reInitialized = this._fingerprint !== \"\" && this._fingerprint !== fingerprint;\n this._fingerprint = fingerprint;\n this._updateUrl = updateUrl === true;\n this._initialized = true;\n\n this._bindEvents();\n\n var state = window.history.state;\n this._popStateInProgress = false;\n this._blockHashChange = 0;\n this._currentHash = getCurrentHash();\n this._numPositionUpdates = 0;\n this._uid = this._maxUid = 0;\n this._destination = null;\n this._position = null;\n\n if (!this._isValidState(state, true) || resetHistory) {\n var _this$_parseCurrentHa = this._parseCurrentHash(true),\n hash = _this$_parseCurrentHa.hash,\n page = _this$_parseCurrentHa.page,\n rotation = _this$_parseCurrentHa.rotation;\n\n if (!hash || reInitialized || resetHistory) {\n this._pushOrReplaceState(null, true);\n\n return;\n }\n\n this._pushOrReplaceState({\n hash: hash,\n page: page,\n rotation: rotation\n }, true);\n\n return;\n }\n\n var destination = state.destination;\n\n this._updateInternalState(destination, state.uid, true);\n\n if (this._uid > this._maxUid) {\n this._maxUid = this._uid;\n }\n\n if (destination.rotation !== undefined) {\n this._initialRotation = destination.rotation;\n }\n\n if (destination.dest) {\n this._initialBookmark = JSON.stringify(destination.dest);\n this._destination.page = null;\n } else if (destination.hash) {\n this._initialBookmark = destination.hash;\n } else if (destination.page) {\n this._initialBookmark = \"page=\".concat(destination.page);\n }\n }\n }, {\n key: \"reset\",\n value: function reset() {\n if (this._initialized) {\n this._pageHide();\n\n this._initialized = false;\n\n this._unbindEvents();\n }\n\n if (this._updateViewareaTimeout) {\n clearTimeout(this._updateViewareaTimeout);\n this._updateViewareaTimeout = null;\n }\n\n this._initialBookmark = null;\n this._initialRotation = null;\n }\n }, {\n key: \"push\",\n value: function push(_ref3) {\n var _this2 = this;\n\n var _ref3$namedDest = _ref3.namedDest,\n namedDest = _ref3$namedDest === void 0 ? null : _ref3$namedDest,\n explicitDest = _ref3.explicitDest,\n pageNumber = _ref3.pageNumber;\n\n if (!this._initialized) {\n return;\n }\n\n if (namedDest && typeof namedDest !== \"string\") {\n console.error(\"PDFHistory.push: \" + \"\\\"\".concat(namedDest, \"\\\" is not a valid namedDest parameter.\"));\n return;\n } else if (!Array.isArray(explicitDest)) {\n console.error(\"PDFHistory.push: \" + \"\\\"\".concat(explicitDest, \"\\\" is not a valid explicitDest parameter.\"));\n return;\n } else if (!(Number.isInteger(pageNumber) && pageNumber > 0 && pageNumber <= this.linkService.pagesCount)) {\n if (pageNumber !== null || this._destination) {\n console.error(\"PDFHistory.push: \" + \"\\\"\".concat(pageNumber, \"\\\" is not a valid pageNumber parameter.\"));\n return;\n }\n }\n\n var hash = namedDest || JSON.stringify(explicitDest);\n\n if (!hash) {\n return;\n }\n\n var forceReplace = false;\n\n if (this._destination && (isDestHashesEqual(this._destination.hash, hash) || isDestArraysEqual(this._destination.dest, explicitDest))) {\n if (this._destination.page) {\n return;\n }\n\n forceReplace = true;\n }\n\n if (this._popStateInProgress && !forceReplace) {\n return;\n }\n\n this._pushOrReplaceState({\n dest: explicitDest,\n hash: hash,\n page: pageNumber,\n rotation: this.linkService.rotation\n }, forceReplace);\n\n if (!this._popStateInProgress) {\n this._popStateInProgress = true;\n Promise.resolve().then(function () {\n _this2._popStateInProgress = false;\n });\n }\n }\n }, {\n key: \"pushCurrentPosition\",\n value: function pushCurrentPosition() {\n if (!this._initialized || this._popStateInProgress) {\n return;\n }\n\n this._tryPushCurrentPosition();\n }\n }, {\n key: \"back\",\n value: function back() {\n if (!this._initialized || this._popStateInProgress) {\n return;\n }\n\n var state = window.history.state;\n\n if (this._isValidState(state) && state.uid > 0) {\n window.history.back();\n }\n }\n }, {\n key: \"forward\",\n value: function forward() {\n if (!this._initialized || this._popStateInProgress) {\n return;\n }\n\n var state = window.history.state;\n\n if (this._isValidState(state) && state.uid < this._maxUid) {\n window.history.forward();\n }\n }\n }, {\n key: \"_pushOrReplaceState\",\n value: function _pushOrReplaceState(destination) {\n var forceReplace = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var shouldReplace = forceReplace || !this._destination;\n var newState = {\n fingerprint: this._fingerprint,\n uid: shouldReplace ? this._uid : this._uid + 1,\n destination: destination\n };\n\n this._updateInternalState(destination, newState.uid);\n\n var newUrl;\n\n if (this._updateUrl && destination && destination.hash) {\n var baseUrl = document.location.href.split(\"#\")[0];\n\n if (!baseUrl.startsWith(\"file://\")) {\n newUrl = \"\".concat(baseUrl, \"#\").concat(destination.hash);\n }\n }\n\n if (shouldReplace) {\n window.history.replaceState(newState, \"\", newUrl);\n } else {\n this._maxUid = this._uid;\n window.history.pushState(newState, \"\", newUrl);\n }\n }\n }, {\n key: \"_tryPushCurrentPosition\",\n value: function _tryPushCurrentPosition() {\n var temporary = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (!this._position) {\n return;\n }\n\n var position = this._position;\n\n if (temporary) {\n position = Object.assign(Object.create(null), this._position);\n position.temporary = true;\n }\n\n if (!this._destination) {\n this._pushOrReplaceState(position);\n\n return;\n }\n\n if (this._destination.temporary) {\n this._pushOrReplaceState(position, true);\n\n return;\n }\n\n if (this._destination.hash === position.hash) {\n return;\n }\n\n if (!this._destination.page && (POSITION_UPDATED_THRESHOLD <= 0 || this._numPositionUpdates <= POSITION_UPDATED_THRESHOLD)) {\n return;\n }\n\n var forceReplace = false;\n\n if (this._destination.page >= position.first && this._destination.page <= position.page) {\n if (this._destination.dest || !this._destination.first) {\n return;\n }\n\n forceReplace = true;\n }\n\n this._pushOrReplaceState(position, forceReplace);\n }\n }, {\n key: \"_isValidState\",\n value: function _isValidState(state) {\n var checkReload = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n if (!state) {\n return false;\n }\n\n if (state.fingerprint !== this._fingerprint) {\n if (checkReload) {\n if (typeof state.fingerprint !== \"string\" || state.fingerprint.length !== this._fingerprint.length) {\n return false;\n }\n\n var _performance$getEntri = performance.getEntriesByType(\"navigation\"),\n _performance$getEntri2 = _slicedToArray(_performance$getEntri, 1),\n perfEntry = _performance$getEntri2[0];\n\n if (!perfEntry || perfEntry.type !== \"reload\") {\n return false;\n }\n } else {\n return false;\n }\n }\n\n if (!Number.isInteger(state.uid) || state.uid < 0) {\n return false;\n }\n\n if (state.destination === null || _typeof(state.destination) !== \"object\") {\n return false;\n }\n\n return true;\n }\n }, {\n key: \"_updateInternalState\",\n value: function _updateInternalState(destination, uid) {\n var removeTemporary = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n if (this._updateViewareaTimeout) {\n clearTimeout(this._updateViewareaTimeout);\n this._updateViewareaTimeout = null;\n }\n\n if (removeTemporary && destination && destination.temporary) {\n delete destination.temporary;\n }\n\n this._destination = destination;\n this._uid = uid;\n this._numPositionUpdates = 0;\n }\n }, {\n key: \"_parseCurrentHash\",\n value: function _parseCurrentHash() {\n var checkNameddest = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var hash = unescape(getCurrentHash()).substring(1);\n var params = (0, _ui_utils.parseQueryString)(hash);\n var nameddest = params.nameddest || \"\";\n var page = params.page | 0;\n\n if (!(Number.isInteger(page) && page > 0 && page <= this.linkService.pagesCount) || checkNameddest && nameddest.length > 0) {\n page = null;\n }\n\n return {\n hash: hash,\n page: page,\n rotation: this.linkService.rotation\n };\n }\n }, {\n key: \"_updateViewarea\",\n value: function _updateViewarea(_ref4) {\n var _this3 = this;\n\n var location = _ref4.location;\n\n if (this._updateViewareaTimeout) {\n clearTimeout(this._updateViewareaTimeout);\n this._updateViewareaTimeout = null;\n }\n\n this._position = {\n hash: this._isViewerInPresentationMode ? \"page=\".concat(location.pageNumber) : location.pdfOpenParams.substring(1),\n page: this.linkService.page,\n first: location.pageNumber,\n rotation: location.rotation\n };\n\n if (this._popStateInProgress) {\n return;\n }\n\n if (POSITION_UPDATED_THRESHOLD > 0 && this._isPagesLoaded && this._destination && !this._destination.page) {\n this._numPositionUpdates++;\n }\n\n if (UPDATE_VIEWAREA_TIMEOUT > 0) {\n this._updateViewareaTimeout = setTimeout(function () {\n if (!_this3._popStateInProgress) {\n _this3._tryPushCurrentPosition(true);\n }\n\n _this3._updateViewareaTimeout = null;\n }, UPDATE_VIEWAREA_TIMEOUT);\n }\n }\n }, {\n key: \"_popState\",\n value: function _popState(_ref5) {\n var _this4 = this;\n\n var state = _ref5.state;\n var newHash = getCurrentHash(),\n hashChanged = this._currentHash !== newHash;\n this._currentHash = newHash;\n\n if (!state) {\n this._uid++;\n\n var _this$_parseCurrentHa2 = this._parseCurrentHash(),\n hash = _this$_parseCurrentHa2.hash,\n page = _this$_parseCurrentHa2.page,\n rotation = _this$_parseCurrentHa2.rotation;\n\n this._pushOrReplaceState({\n hash: hash,\n page: page,\n rotation: rotation\n }, true);\n\n return;\n }\n\n if (!this._isValidState(state)) {\n return;\n }\n\n this._popStateInProgress = true;\n\n if (hashChanged) {\n this._blockHashChange++;\n (0, _ui_utils.waitOnEventOrTimeout)({\n target: window,\n name: \"hashchange\",\n delay: HASH_CHANGE_TIMEOUT\n }).then(function () {\n _this4._blockHashChange--;\n });\n }\n\n var destination = state.destination;\n\n this._updateInternalState(destination, state.uid, true);\n\n if (this._uid > this._maxUid) {\n this._maxUid = this._uid;\n }\n\n if ((0, _ui_utils.isValidRotation)(destination.rotation)) {\n this.linkService.rotation = destination.rotation;\n }\n\n if (destination.dest) {\n this.linkService.navigateTo(destination.dest);\n } else if (destination.hash) {\n this.linkService.setHash(destination.hash);\n } else if (destination.page) {\n this.linkService.page = destination.page;\n }\n\n Promise.resolve().then(function () {\n _this4._popStateInProgress = false;\n });\n }\n }, {\n key: \"_pageHide\",\n value: function _pageHide() {\n if (!this._destination || this._destination.temporary) {\n this._tryPushCurrentPosition();\n }\n }\n }, {\n key: \"_bindEvents\",\n value: function _bindEvents() {\n if (this._boundEvents) {\n return;\n }\n\n this._boundEvents = {\n updateViewarea: this._updateViewarea.bind(this),\n popState: this._popState.bind(this),\n pageHide: this._pageHide.bind(this)\n };\n\n this.eventBus._on(\"updateviewarea\", this._boundEvents.updateViewarea);\n\n window.addEventListener(\"popstate\", this._boundEvents.popState);\n window.addEventListener(\"pagehide\", this._boundEvents.pageHide);\n }\n }, {\n key: \"_unbindEvents\",\n value: function _unbindEvents() {\n if (!this._boundEvents) {\n return;\n }\n\n this.eventBus._off(\"updateviewarea\", this._boundEvents.updateViewarea);\n\n window.removeEventListener(\"popstate\", this._boundEvents.popState);\n window.removeEventListener(\"pagehide\", this._boundEvents.pageHide);\n this._boundEvents = null;\n }\n }, {\n key: \"popStateInProgress\",\n get: function get() {\n return this._initialized && (this._popStateInProgress || this._blockHashChange > 0);\n }\n }, {\n key: \"initialBookmark\",\n get: function get() {\n return this._initialized ? this._initialBookmark : null;\n }\n }, {\n key: \"initialRotation\",\n get: function get() {\n return this._initialized ? this._initialRotation : null;\n }\n }]);\n\n return PDFHistory;\n}();\n\nexports.PDFHistory = PDFHistory;\n\nfunction isDestHashesEqual(destHash, pushHash) {\n if (typeof destHash !== \"string\" || typeof pushHash !== \"string\") {\n return false;\n }\n\n if (destHash === pushHash) {\n return true;\n }\n\n var _parseQueryString = (0, _ui_utils.parseQueryString)(destHash),\n nameddest = _parseQueryString.nameddest;\n\n if (nameddest === pushHash) {\n return true;\n }\n\n return false;\n}\n\nfunction isDestArraysEqual(firstDest, secondDest) {\n function isEntryEqual(first, second) {\n if (_typeof(first) !== _typeof(second)) {\n return false;\n }\n\n if (Array.isArray(first) || Array.isArray(second)) {\n return false;\n }\n\n if (first !== null && _typeof(first) === \"object\" && second !== null) {\n if (Object.keys(first).length !== Object.keys(second).length) {\n return false;\n }\n\n for (var key in first) {\n if (!isEntryEqual(first[key], second[key])) {\n return false;\n }\n }\n\n return true;\n }\n\n return first === second || Number.isNaN(first) && Number.isNaN(second);\n }\n\n if (!(Array.isArray(firstDest) && Array.isArray(secondDest))) {\n return false;\n }\n\n if (firstDest.length !== secondDest.length) {\n return false;\n }\n\n for (var i = 0, ii = firstDest.length; i < ii; i++) {\n if (!isEntryEqual(firstDest[i], secondDest[i])) {\n return false;\n }\n }\n\n return true;\n}\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFPageView = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(4));\n\nvar _ui_utils = __w_pdfjs_require__(3);\n\nvar _pdfjsLib = __w_pdfjs_require__(2);\n\nvar _pdf_rendering_queue = __w_pdfjs_require__(17);\n\nvar _viewer_compatibility = __w_pdfjs_require__(10);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar MAX_CANVAS_PIXELS = _viewer_compatibility.viewerCompatibilityParams.maxCanvasPixels || 16777216;\n\nvar PDFPageView = /*#__PURE__*/function () {\n function PDFPageView(options) {\n _classCallCheck(this, PDFPageView);\n\n var container = options.container;\n var defaultViewport = options.defaultViewport;\n this.id = options.id;\n this.renderingId = \"page\" + this.id;\n this.pdfPage = null;\n this.pageLabel = null;\n this.rotation = 0;\n this.scale = options.scale || _ui_utils.DEFAULT_SCALE;\n this.viewport = defaultViewport;\n this.pdfPageRotate = defaultViewport.rotation;\n this._annotationStorage = options.annotationStorage || null;\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.paintTask = null;\n this.paintedViewportMap = new WeakMap();\n this.renderingState = _pdf_rendering_queue.RenderingStates.INITIAL;\n this.resume = null;\n this.error = null;\n this.annotationLayer = null;\n this.textLayer = null;\n this.zoomLayer = null;\n var div = document.createElement(\"div\");\n div.className = \"page\";\n div.style.width = Math.floor(this.viewport.width) + \"px\";\n div.style.height = Math.floor(this.viewport.height) + \"px\";\n div.setAttribute(\"data-page-number\", this.id);\n this.div = div;\n container.appendChild(div);\n }\n\n _createClass(PDFPageView, [{\n key: \"setPdfPage\",\n value: function setPdfPage(pdfPage) {\n this.pdfPage = pdfPage;\n this.pdfPageRotate = pdfPage.rotate;\n var totalRotation = (this.rotation + this.pdfPageRotate) % 360;\n this.viewport = pdfPage.getViewport({\n scale: this.scale * _ui_utils.CSS_UNITS,\n rotation: totalRotation\n });\n this.stats = pdfPage.stats;\n this.reset();\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n this.reset();\n\n if (this.pdfPage) {\n this.pdfPage.cleanup();\n }\n }\n }, {\n key: \"_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 });\n return;\n }\n\n var isScalingRestricted = false;\n\n if (this.canvas && this.maxCanvasPixels > 0) {\n var outputScale = this.outputScale;\n\n if ((Math.floor(this.viewport.width) * outputScale.sx | 0) * (Math.floor(this.viewport.height) * outputScale.sy | 0) > this.maxCanvasPixels) {\n isScalingRestricted = true;\n }\n }\n\n if (this.canvas) {\n if (this.useOnlyCssZoom || this.hasRestrictedScaling && isScalingRestricted) {\n this.cssTransform(this.canvas, true);\n this.eventBus.dispatch(\"pagerendered\", {\n source: this,\n pageNumber: this.id,\n cssTransform: true,\n timestamp: performance.now()\n });\n return;\n }\n\n if (!this.zoomLayer && !this.canvas.hasAttribute(\"hidden\")) {\n this.zoomLayer = this.canvas.parentNode;\n this.zoomLayer.style.position = \"absolute\";\n }\n }\n\n if (this.zoomLayer) {\n this.cssTransform(this.zoomLayer.firstChild);\n }\n\n this.reset(true, true);\n }\n }, {\n key: \"cancelRendering\",\n value: function cancelRendering() {\n var keepAnnotations = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (this.paintTask) {\n this.paintTask.cancel();\n this.paintTask = null;\n }\n\n this.resume = null;\n\n if (this.textLayer) {\n this.textLayer.cancel();\n this.textLayer = null;\n }\n\n if (!keepAnnotations && this.annotationLayer) {\n this.annotationLayer.cancel();\n this.annotationLayer = null;\n }\n }\n }, {\n key: \"cssTransform\",\n value: function cssTransform(target) {\n var redrawAnnotations = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var width = this.viewport.width;\n var height = this.viewport.height;\n var div = this.div;\n target.style.width = target.parentNode.style.width = div.style.width = Math.floor(width) + \"px\";\n target.style.height = target.parentNode.style.height = div.style.height = Math.floor(height) + \"px\";\n var relativeRotation = this.viewport.rotation - this.paintedViewportMap.get(target).rotation;\n var absRotation = Math.abs(relativeRotation);\n var scaleX = 1,\n scaleY = 1;\n\n if (absRotation === 90 || absRotation === 270) {\n scaleX = height / width;\n scaleY = width / height;\n }\n\n var cssTransform = \"rotate(\" + relativeRotation + \"deg) \" + \"scale(\" + scaleX + \",\" + scaleY + \")\";\n target.style.transform = cssTransform;\n\n if (this.textLayer) {\n var textLayerViewport = this.textLayer.viewport;\n var textRelativeRotation = this.viewport.rotation - textLayerViewport.rotation;\n var textAbsRotation = Math.abs(textRelativeRotation);\n var scale = width / textLayerViewport.width;\n\n if (textAbsRotation === 90 || textAbsRotation === 270) {\n scale = width / textLayerViewport.height;\n }\n\n var textLayerDiv = this.textLayer.textLayerDiv;\n var transX, transY;\n\n switch (textAbsRotation) {\n case 0:\n transX = transY = 0;\n break;\n\n case 90:\n transX = 0;\n transY = \"-\" + textLayerDiv.style.height;\n break;\n\n case 180:\n transX = \"-\" + textLayerDiv.style.width;\n transY = \"-\" + textLayerDiv.style.height;\n break;\n\n case 270:\n transX = \"-\" + textLayerDiv.style.width;\n transY = 0;\n break;\n\n default:\n console.error(\"Bad rotation value.\");\n break;\n }\n\n textLayerDiv.style.transform = \"rotate(\" + textAbsRotation + \"deg) \" + \"scale(\" + scale + \", \" + scale + \") \" + \"translate(\" + transX + \", \" + transY + \")\";\n textLayerDiv.style.transformOrigin = \"0% 0%\";\n }\n\n if (redrawAnnotations && this.annotationLayer) {\n this._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(error) {\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n if (paintTask === _this.paintTask) {\n _this.paintTask = null;\n }\n\n if (!(error instanceof _pdfjsLib.RenderingCancelledException)) {\n _context2.next = 4;\n break;\n }\n\n _this.error = null;\n return _context2.abrupt(\"return\");\n\n case 4:\n _this.renderingState = _pdf_rendering_queue.RenderingStates.FINISHED;\n\n if (_this.loadingIconDiv) {\n div.removeChild(_this.loadingIconDiv);\n delete _this.loadingIconDiv;\n }\n\n _this._resetZoomLayer(true);\n\n _this.error = error;\n _this.stats = pdfPage.stats;\n\n _this.eventBus.dispatch(\"pagerendered\", {\n source: _this,\n pageNumber: _this.id,\n cssTransform: false,\n timestamp: performance.now()\n });\n\n if (!error) {\n _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(_x) {\n return _ref.apply(this, arguments);\n };\n }();\n\n var paintTask = this.renderer === _ui_utils.RendererType.SVG ? this.paintOnSvg(canvasWrapper) : this.paintOnCanvas(canvasWrapper);\n paintTask.onRenderContinue = renderContinueCallback;\n this.paintTask = paintTask;\n var resultPromise = paintTask.promise.then(function () {\n return finishPaintTask(null).then(function () {\n if (textLayer) {\n var readableStream = pdfPage.streamTextContent({\n normalizeWhitespace: true\n });\n textLayer.setTextContentStream(readableStream);\n textLayer.render();\n }\n });\n }, function (reason) {\n return finishPaintTask(reason);\n });\n\n if (this.annotationLayerFactory) {\n if (!this.annotationLayer) {\n this.annotationLayer = this.annotationLayerFactory.createAnnotationLayerBuilder(div, pdfPage, this._annotationStorage, this.imageResourcesPath, this.renderInteractiveForms, this.l10n);\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/* 17 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFRenderingQueue = exports.RenderingStates = void 0;\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar CLEANUP_TIMEOUT = 30000;\nvar RenderingStates = {\n INITIAL: 0,\n RUNNING: 1,\n PAUSED: 2,\n FINISHED: 3\n};\nexports.RenderingStates = RenderingStates;\n\nvar PDFRenderingQueue = /*#__PURE__*/function () {\n function PDFRenderingQueue() {\n _classCallCheck(this, PDFRenderingQueue);\n\n this.pdfViewer = null;\n this.pdfThumbnailViewer = null;\n this.onIdle = null;\n this.highestPriorityPage = null;\n this.idleTimeout = null;\n this.printing = false;\n this.isThumbnailViewEnabled = false;\n }\n\n _createClass(PDFRenderingQueue, [{\n key: \"setViewer\",\n value: function setViewer(pdfViewer) {\n this.pdfViewer = pdfViewer;\n }\n }, {\n key: \"setThumbnailViewer\",\n value: function setThumbnailViewer(pdfThumbnailViewer) {\n this.pdfThumbnailViewer = pdfThumbnailViewer;\n }\n }, {\n key: \"isHighestPriority\",\n value: function isHighestPriority(view) {\n return this.highestPriorityPage === view.renderingId;\n }\n }, {\n key: \"renderHighestPriority\",\n value: function renderHighestPriority(currentlyVisiblePages) {\n if (this.idleTimeout) {\n clearTimeout(this.idleTimeout);\n this.idleTimeout = null;\n }\n\n if (this.pdfViewer.forceRendering(currentlyVisiblePages)) {\n return;\n }\n\n if (this.pdfThumbnailViewer && this.isThumbnailViewEnabled) {\n if (this.pdfThumbnailViewer.forceRendering()) {\n return;\n }\n }\n\n if (this.printing) {\n return;\n }\n\n if (this.onIdle) {\n this.idleTimeout = setTimeout(this.onIdle.bind(this), CLEANUP_TIMEOUT);\n }\n }\n }, {\n key: \"getHighestPriority\",\n value: function getHighestPriority(visible, views, scrolledDown) {\n var visibleViews = visible.views;\n var numVisible = visibleViews.length;\n\n if (numVisible === 0) {\n return null;\n }\n\n for (var i = 0; i < numVisible; ++i) {\n var view = visibleViews[i].view;\n\n if (!this.isViewFinished(view)) {\n return view;\n }\n }\n\n if (scrolledDown) {\n var nextPageIndex = visible.last.id;\n\n if (views[nextPageIndex] && !this.isViewFinished(views[nextPageIndex])) {\n return views[nextPageIndex];\n }\n } else {\n var previousPageIndex = visible.first.id - 2;\n\n if (views[previousPageIndex] && !this.isViewFinished(views[previousPageIndex])) {\n return views[previousPageIndex];\n }\n }\n\n return null;\n }\n }, {\n key: \"isViewFinished\",\n value: function isViewFinished(view) {\n return view.renderingState === RenderingStates.FINISHED;\n }\n }, {\n key: \"renderView\",\n value: function renderView(view) {\n var _this = this;\n\n switch (view.renderingState) {\n case RenderingStates.FINISHED:\n return false;\n\n case RenderingStates.PAUSED:\n this.highestPriorityPage = view.renderingId;\n view.resume();\n break;\n\n case RenderingStates.RUNNING:\n this.highestPriorityPage = view.renderingId;\n break;\n\n case RenderingStates.INITIAL:\n this.highestPriorityPage = view.renderingId;\n view.draw()[\"finally\"](function () {\n _this.renderHighestPriority();\n })[\"catch\"](function (reason) {\n console.error(\"renderView: \\\"\".concat(reason, \"\\\"\"));\n });\n break;\n }\n\n return true;\n }\n }]);\n\n return PDFRenderingQueue;\n}();\n\nexports.PDFRenderingQueue = PDFRenderingQueue;\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFSinglePageViewer = void 0;\n\nvar _base_viewer = __w_pdfjs_require__(19);\n\nvar _pdfjsLib = __w_pdfjs_require__(2);\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _get(target, property, receiver) { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }\n\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar PDFSinglePageViewer = /*#__PURE__*/function (_BaseViewer) {\n _inherits(PDFSinglePageViewer, _BaseViewer);\n\n var _super = _createSuper(PDFSinglePageViewer);\n\n function PDFSinglePageViewer(options) {\n var _this;\n\n _classCallCheck(this, PDFSinglePageViewer);\n\n _this = _super.call(this, options);\n\n _this.eventBus._on(\"pagesinit\", function (evt) {\n _this._ensurePageViewVisible();\n });\n\n return _this;\n }\n\n _createClass(PDFSinglePageViewer, [{\n key: \"_resetView\",\n value: function _resetView() {\n _get(_getPrototypeOf(PDFSinglePageViewer.prototype), \"_resetView\", this).call(this);\n\n this._previousPageNumber = 1;\n this._shadowViewer = document.createDocumentFragment();\n this._updateScrollDown = null;\n }\n }, {\n key: \"_ensurePageViewVisible\",\n value: function _ensurePageViewVisible() {\n var pageView = this._pages[this._currentPageNumber - 1];\n var previousPageView = this._pages[this._previousPageNumber - 1];\n var viewerNodes = this.viewer.childNodes;\n\n switch (viewerNodes.length) {\n case 0:\n this.viewer.appendChild(pageView.div);\n break;\n\n case 1:\n if (viewerNodes[0] !== previousPageView.div) {\n throw new Error(\"_ensurePageViewVisible: Unexpected previously visible page.\");\n }\n\n if (pageView === previousPageView) {\n break;\n }\n\n this._shadowViewer.appendChild(previousPageView.div);\n\n this.viewer.appendChild(pageView.div);\n this.container.scrollTop = 0;\n break;\n\n default:\n throw new Error(\"_ensurePageViewVisible: Only one page should be visible at a time.\");\n }\n\n this._previousPageNumber = this._currentPageNumber;\n }\n }, {\n key: \"_scrollUpdate\",\n value: function _scrollUpdate() {\n if (this._updateScrollDown) {\n this._updateScrollDown();\n }\n\n _get(_getPrototypeOf(PDFSinglePageViewer.prototype), \"_scrollUpdate\", this).call(this);\n }\n }, {\n key: \"_scrollIntoView\",\n value: function _scrollIntoView(_ref) {\n var _this2 = this;\n\n var pageDiv = _ref.pageDiv,\n _ref$pageSpot = _ref.pageSpot,\n pageSpot = _ref$pageSpot === void 0 ? null : _ref$pageSpot,\n _ref$pageNumber = _ref.pageNumber,\n pageNumber = _ref$pageNumber === void 0 ? null : _ref$pageNumber;\n\n if (pageNumber) {\n this._setCurrentPageNumber(pageNumber);\n }\n\n var scrolledDown = this._currentPageNumber >= this._previousPageNumber;\n\n this._ensurePageViewVisible();\n\n this.update();\n\n _get(_getPrototypeOf(PDFSinglePageViewer.prototype), \"_scrollIntoView\", this).call(this, {\n pageDiv: pageDiv,\n pageSpot: pageSpot,\n pageNumber: pageNumber\n });\n\n this._updateScrollDown = function () {\n _this2.scroll.down = scrolledDown;\n _this2._updateScrollDown = null;\n };\n }\n }, {\n key: \"_getVisiblePages\",\n value: function _getVisiblePages() {\n return this._getCurrentVisiblePage();\n }\n }, {\n key: \"_updateHelper\",\n value: function _updateHelper(visiblePages) {}\n }, {\n key: \"_updateScrollMode\",\n value: function _updateScrollMode() {}\n }, {\n key: \"_updateSpreadMode\",\n value: function _updateSpreadMode() {}\n }, {\n key: \"_viewerElement\",\n get: function get() {\n return (0, _pdfjsLib.shadow)(this, \"_viewerElement\", this._shadowViewer);\n }\n }, {\n key: \"_isScrollModeHorizontal\",\n get: function get() {\n return (0, _pdfjsLib.shadow)(this, \"_isScrollModeHorizontal\", false);\n }\n }]);\n\n return PDFSinglePageViewer;\n}(_base_viewer.BaseViewer);\n\nexports.PDFSinglePageViewer = PDFSinglePageViewer;\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.BaseViewer = void 0;\n\nvar _ui_utils = __w_pdfjs_require__(3);\n\nvar _pdf_rendering_queue = __w_pdfjs_require__(17);\n\nvar _annotation_layer_builder = __w_pdfjs_require__(1);\n\nvar _pdfjsLib = __w_pdfjs_require__(2);\n\nvar _pdf_page_view = __w_pdfjs_require__(16);\n\nvar _pdf_link_service = __w_pdfjs_require__(7);\n\nvar _text_layer_builder = __w_pdfjs_require__(8);\n\nfunction _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\nfunction isSameScale(oldScale, newScale) {\n if (newScale === oldScale) {\n return true;\n }\n\n if (Math.abs(newScale - oldScale) < 1e-15) {\n return true;\n }\n\n return false;\n}\n\nvar BaseViewer = /*#__PURE__*/function () {\n function BaseViewer(options) {\n var _this = this;\n\n _classCallCheck(this, BaseViewer);\n\n if (this.constructor === BaseViewer) {\n throw new Error(\"Cannot initialize BaseViewer.\");\n }\n\n this._name = this.constructor.name;\n this.container = options.container;\n this.viewer = options.viewer || options.container.firstElementChild;\n\n if (!(this.container instanceof HTMLDivElement && this.viewer instanceof HTMLDivElement)) {\n throw new Error(\"Invalid `container` and/or `viewer` option.\");\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.defaultRenderingQueue = !options.renderingQueue;\n\n if (this.defaultRenderingQueue) {\n this.renderingQueue = new _pdf_rendering_queue.PDFRenderingQueue();\n this.renderingQueue.setViewer(this);\n } else {\n this.renderingQueue = options.renderingQueue;\n }\n\n this.scroll = (0, _ui_utils.watchScroll)(this.container, this._scrollUpdate.bind(this));\n this.presentationModeState = _ui_utils.PresentationModeState.UNKNOWN;\n this._onBeforeDraw = this._onAfterDraw = null;\n\n this._resetView();\n\n if (this.removePageBorders) {\n this.viewer.classList.add(\"removePageBorders\");\n }\n\n Promise.resolve().then(function () {\n _this.eventBus.dispatch(\"baseviewerinit\", {\n source: _this\n });\n });\n }\n\n _createClass(BaseViewer, [{\n key: \"getPageView\",\n value: function getPageView(index) {\n return this._pages[index];\n }\n }, {\n key: \"_setCurrentPageNumber\",\n value: function _setCurrentPageNumber(val) {\n var resetCurrentPageView = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n if (this._currentPageNumber === val) {\n if (resetCurrentPageView) {\n this._resetCurrentPageView();\n }\n\n return true;\n }\n\n if (!(0 < val && val <= this.pagesCount)) {\n return false;\n }\n\n this._currentPageNumber = val;\n this.eventBus.dispatch(\"pagechanging\", {\n source: this,\n pageNumber: val,\n pageLabel: this._pageLabels && this._pageLabels[val - 1]\n });\n\n if (resetCurrentPageView) {\n this._resetCurrentPageView();\n }\n\n return true;\n }\n }, {\n key: \"_onePageRenderedOrForceFetch\",\n value: function _onePageRenderedOrForceFetch() {\n if (!this.container.offsetParent || this._getVisiblePages().views.length === 0) {\n return Promise.resolve();\n }\n\n return this._onePageRenderedCapability.promise;\n }\n }, {\n key: \"setDocument\",\n value: function setDocument(pdfDocument) {\n var _this2 = this;\n\n if (this.pdfDocument) {\n this._cancelRendering();\n\n this._resetView();\n\n if (this.findController) {\n this.findController.setDocument(null);\n }\n }\n\n this.pdfDocument = pdfDocument;\n\n if (!pdfDocument) {\n return;\n }\n\n var pagesCount = pdfDocument.numPages;\n var firstPagePromise = pdfDocument.getPage(1);\n var annotationStorage = pdfDocument.annotationStorage;\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 annotationStorage: annotationStorage,\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 });\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.viewer.textContent = \"\";\n\n this._updateScrollMode();\n }\n }, {\n key: \"_scrollUpdate\",\n value: function _scrollUpdate() {\n if (this.pagesCount === 0) {\n return;\n }\n\n this.update();\n }\n }, {\n key: \"_scrollIntoView\",\n value: function _scrollIntoView(_ref) {\n var pageDiv = _ref.pageDiv,\n _ref$pageSpot = _ref.pageSpot,\n pageSpot = _ref$pageSpot === void 0 ? null : _ref$pageSpot,\n _ref$pageNumber = _ref.pageNumber,\n pageNumber = _ref$pageNumber === void 0 ? null : _ref$pageNumber;\n (0, _ui_utils.scrollIntoView)(pageDiv, pageSpot);\n }\n }, {\n key: \"_setScaleUpdatePages\",\n value: function _setScaleUpdatePages(newScale, newValue) {\n var noScroll = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var preset = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n this._currentScaleValue = newValue.toString();\n\n if (isSameScale(this._currentScale, newScale)) {\n if (preset) {\n this.eventBus.dispatch(\"scalechanging\", {\n source: this,\n scale: newScale,\n presetValue: newValue\n });\n }\n\n return;\n }\n\n for (var i = 0, ii = this._pages.length; i < ii; i++) {\n this._pages[i].update(newScale);\n }\n\n this._currentScale = newScale;\n\n if (!noScroll) {\n var page = this._currentPageNumber,\n dest;\n\n if (this._location && !(this.isInPresentationMode || this.isChangingPresentationMode)) {\n page = this._location.pageNumber;\n dest = [null, {\n name: \"XYZ\"\n }, this._location.left, this._location.top, null];\n }\n\n this.scrollPageIntoView({\n pageNumber: page,\n destArray: dest,\n allowNegativeOffset: true\n });\n }\n\n this.eventBus.dispatch(\"scalechanging\", {\n source: this,\n scale: newScale,\n presetValue: preset ? newValue : undefined\n });\n\n if (this.defaultRenderingQueue) {\n this.update();\n }\n }\n }, {\n key: \"_setScale\",\n value: function _setScale(value) {\n var noScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var scale = parseFloat(value);\n\n if (scale > 0) {\n this._setScaleUpdatePages(scale, value, noScroll, false);\n } else {\n var currentPage = this._pages[this._currentPageNumber - 1];\n\n if (!currentPage) {\n return;\n }\n\n var noPadding = this.isInPresentationMode || this.removePageBorders;\n var hPadding = noPadding ? 0 : _ui_utils.SCROLLBAR_PADDING;\n var vPadding = noPadding ? 0 : _ui_utils.VERTICAL_PADDING;\n\n if (!noPadding && this._isScrollModeHorizontal) {\n var _ref2 = [vPadding, hPadding];\n hPadding = _ref2[0];\n vPadding = _ref2[1];\n }\n\n var pageWidthScale = (this.container.clientWidth - hPadding) / currentPage.width * currentPage.scale;\n var pageHeightScale = (this.container.clientHeight - vPadding) / currentPage.height * currentPage.scale;\n\n switch (value) {\n case \"page-actual\":\n scale = 1;\n break;\n\n case \"page-width\":\n scale = pageWidthScale;\n break;\n\n case \"page-height\":\n scale = pageHeightScale;\n break;\n\n case \"page-fit\":\n scale = Math.min(pageWidthScale, pageHeightScale);\n break;\n\n case \"auto\":\n var horizontalScale = (0, _ui_utils.isPortraitOrientation)(currentPage) ? pageWidthScale : Math.min(pageHeightScale, pageWidthScale);\n scale = Math.min(_ui_utils.MAX_AUTO_SCALE, horizontalScale);\n break;\n\n default:\n console.error(\"\".concat(this._name, \"._setScale: \\\"\").concat(value, \"\\\" is an unknown zoom value.\"));\n return;\n }\n\n this._setScaleUpdatePages(scale, value, noScroll, true);\n }\n }\n }, {\n key: \"_resetCurrentPageView\",\n value: function _resetCurrentPageView() {\n if (this.isInPresentationMode) {\n this._setScale(this._currentScaleValue, true);\n }\n\n var pageView = this._pages[this._currentPageNumber - 1];\n\n this._scrollIntoView({\n pageDiv: pageView.div\n });\n }\n }, {\n key: \"scrollPageIntoView\",\n value: function scrollPageIntoView(_ref3) {\n var pageNumber = _ref3.pageNumber,\n _ref3$destArray = _ref3.destArray,\n destArray = _ref3$destArray === void 0 ? null : _ref3$destArray,\n _ref3$allowNegativeOf = _ref3.allowNegativeOffset,\n allowNegativeOffset = _ref3$allowNegativeOf === void 0 ? false : _ref3$allowNegativeOf,\n _ref3$ignoreDestinati = _ref3.ignoreDestinationZoom,\n ignoreDestinationZoom = _ref3$ignoreDestinati === void 0 ? false : _ref3$ignoreDestinati;\n\n if (!this.pdfDocument) {\n return;\n }\n\n var pageView = Number.isInteger(pageNumber) && this._pages[pageNumber - 1];\n\n if (!pageView) {\n console.error(\"\".concat(this._name, \".scrollPageIntoView: \") + \"\\\"\".concat(pageNumber, \"\\\" is not a valid pageNumber parameter.\"));\n return;\n }\n\n if (this.isInPresentationMode || !destArray) {\n this._setCurrentPageNumber(pageNumber, true);\n\n return;\n }\n\n var x = 0,\n y = 0;\n var width = 0,\n height = 0,\n widthScale,\n heightScale;\n var changeOrientation = pageView.rotation % 180 !== 0;\n var pageWidth = (changeOrientation ? pageView.height : pageView.width) / pageView.scale / _ui_utils.CSS_UNITS;\n var pageHeight = (changeOrientation ? pageView.width : pageView.height) / pageView.scale / _ui_utils.CSS_UNITS;\n var scale = 0;\n\n switch (destArray[1].name) {\n case \"XYZ\":\n x = destArray[2];\n y = destArray[3];\n scale = destArray[4];\n x = x !== null ? x : 0;\n y = y !== null ? y : pageHeight;\n break;\n\n case \"Fit\":\n case \"FitB\":\n scale = \"page-fit\";\n break;\n\n case \"FitH\":\n case \"FitBH\":\n y = destArray[2];\n scale = \"page-width\";\n\n if (y === null && this._location) {\n x = this._location.left;\n y = this._location.top;\n }\n\n break;\n\n case \"FitV\":\n case \"FitBV\":\n x = destArray[2];\n width = pageWidth;\n height = pageHeight;\n scale = \"page-height\";\n break;\n\n case \"FitR\":\n x = destArray[2];\n y = destArray[3];\n width = destArray[4] - x;\n height = destArray[5] - y;\n var hPadding = this.removePageBorders ? 0 : _ui_utils.SCROLLBAR_PADDING;\n var vPadding = this.removePageBorders ? 0 : _ui_utils.VERTICAL_PADDING;\n widthScale = (this.container.clientWidth - hPadding) / width / _ui_utils.CSS_UNITS;\n heightScale = (this.container.clientHeight - vPadding) / height / _ui_utils.CSS_UNITS;\n scale = Math.min(Math.abs(widthScale), Math.abs(heightScale));\n break;\n\n default:\n console.error(\"\".concat(this._name, \".scrollPageIntoView: \") + \"\\\"\".concat(destArray[1].name, \"\\\" is not a valid destination type.\"));\n return;\n }\n\n if (!ignoreDestinationZoom) {\n if (scale && scale !== this._currentScale) {\n this.currentScaleValue = scale;\n } else if (this._currentScale === _ui_utils.UNKNOWN_SCALE) {\n this.currentScaleValue = _ui_utils.DEFAULT_SCALE_VALUE;\n }\n }\n\n if (scale === \"page-fit\" && !destArray[4]) {\n this._scrollIntoView({\n pageDiv: pageView.div,\n pageNumber: pageNumber\n });\n\n return;\n }\n\n var boundingRect = [pageView.viewport.convertToViewportPoint(x, y), pageView.viewport.convertToViewportPoint(x + width, y + height)];\n var left = Math.min(boundingRect[0][0], boundingRect[1][0]);\n var top = Math.min(boundingRect[0][1], boundingRect[1][1]);\n\n if (!allowNegativeOffset) {\n left = Math.max(left, 0);\n top = Math.max(top, 0);\n }\n\n this._scrollIntoView({\n pageDiv: pageView.div,\n pageSpot: {\n left: left,\n top: top\n },\n pageNumber: pageNumber\n });\n }\n }, {\n key: \"_updateLocation\",\n value: function _updateLocation(firstPage) {\n var currentScale = this._currentScale;\n var currentScaleValue = this._currentScaleValue;\n var normalizedScaleValue = parseFloat(currentScaleValue) === currentScale ? Math.round(currentScale * 10000) / 100 : currentScaleValue;\n var pageNumber = firstPage.id;\n var pdfOpenParams = \"#page=\" + pageNumber;\n pdfOpenParams += \"&zoom=\" + normalizedScaleValue;\n var currentPageView = this._pages[pageNumber - 1];\n var container = this.container;\n var topLeft = currentPageView.getPagePoint(container.scrollLeft - firstPage.x, container.scrollTop - firstPage.y);\n var intLeft = Math.round(topLeft[0]);\n var intTop = Math.round(topLeft[1]);\n pdfOpenParams += \",\" + intLeft + \",\" + intTop;\n this._location = {\n pageNumber: pageNumber,\n scale: normalizedScaleValue,\n top: intTop,\n left: intLeft,\n rotation: this._pagesRotation,\n pdfOpenParams: pdfOpenParams\n };\n }\n }, {\n key: \"_updateHelper\",\n value: function _updateHelper(visiblePages) {\n throw new Error(\"Not implemented: _updateHelper\");\n }\n }, {\n key: \"update\",\n value: function update() {\n var visible = this._getVisiblePages();\n\n var visiblePages = visible.views,\n numVisiblePages = visiblePages.length;\n\n if (numVisiblePages === 0) {\n return;\n }\n\n var newCacheSize = Math.max(DEFAULT_CACHE_SIZE, 2 * numVisiblePages + 1);\n\n this._buffer.resize(newCacheSize, visiblePages);\n\n this.renderingQueue.renderHighestPriority(visible);\n\n this._updateHelper(visiblePages);\n\n this._updateLocation(visible.first);\n\n this.eventBus.dispatch(\"updateviewarea\", {\n source: this,\n location: this._location\n });\n }\n }, {\n key: \"containsElement\",\n value: function containsElement(element) {\n return this.container.contains(element);\n }\n }, {\n key: \"focus\",\n value: function focus() {\n this.container.focus();\n }\n }, {\n key: \"_getCurrentVisiblePage\",\n value: function _getCurrentVisiblePage() {\n if (!this.pagesCount) {\n return {\n views: []\n };\n }\n\n var pageView = this._pages[this._currentPageNumber - 1];\n var element = pageView.div;\n var view = {\n id: pageView.id,\n x: element.offsetLeft + element.clientLeft,\n y: element.offsetTop + element.clientTop,\n view: pageView\n };\n return {\n first: view,\n last: view,\n views: [view]\n };\n }\n }, {\n key: \"_getVisiblePages\",\n value: function _getVisiblePages() {\n return (0, _ui_utils.getVisibleElements)(this.container, this._pages, true, this._isScrollModeHorizontal);\n }\n }, {\n key: \"isPageVisible\",\n value: function isPageVisible(pageNumber) {\n if (!this.pdfDocument) {\n return false;\n }\n\n if (pageNumber < 1 || pageNumber > this.pagesCount) {\n console.error(\"\".concat(this._name, \".isPageVisible: \\\"\").concat(pageNumber, \"\\\" is out of bounds.\"));\n return false;\n }\n\n return this._getVisiblePages().views.some(function (view) {\n return view.id === pageNumber;\n });\n }\n }, {\n key: \"cleanup\",\n value: function cleanup() {\n for (var i = 0, ii = this._pages.length; i < ii; i++) {\n if (this._pages[i] && this._pages[i].renderingState !== _pdf_rendering_queue.RenderingStates.FINISHED) {\n this._pages[i].reset();\n }\n }\n }\n }, {\n key: \"_cancelRendering\",\n value: function _cancelRendering() {\n for (var i = 0, ii = this._pages.length; i < ii; i++) {\n if (this._pages[i]) {\n this._pages[i].cancelRendering();\n }\n }\n }\n }, {\n key: \"_ensurePdfPageLoaded\",\n value: function _ensurePdfPageLoaded(pageView) {\n var _this3 = this;\n\n if (pageView.pdfPage) {\n return Promise.resolve(pageView.pdfPage);\n }\n\n if (this._pagesRequests.has(pageView)) {\n return this._pagesRequests.get(pageView);\n }\n\n var promise = this.pdfDocument.getPage(pageView.id).then(function (pdfPage) {\n if (!pageView.pdfPage) {\n pageView.setPdfPage(pdfPage);\n }\n\n _this3._pagesRequests[\"delete\"](pageView);\n\n return pdfPage;\n })[\"catch\"](function (reason) {\n console.error(\"Unable to get page for page view\", reason);\n\n _this3._pagesRequests[\"delete\"](pageView);\n });\n\n this._pagesRequests.set(pageView, promise);\n\n return promise;\n }\n }, {\n key: \"forceRendering\",\n value: function forceRendering(currentlyVisiblePages) {\n var _this4 = this;\n\n var visiblePages = currentlyVisiblePages || this._getVisiblePages();\n\n var scrollAhead = this._isScrollModeHorizontal ? this.scroll.right : this.scroll.down;\n var pageView = this.renderingQueue.getHighestPriority(visiblePages, this._pages, scrollAhead);\n\n if (pageView) {\n this._ensurePdfPageLoaded(pageView).then(function () {\n _this4.renderingQueue.renderView(pageView);\n });\n\n return true;\n }\n\n return false;\n }\n }, {\n key: \"createTextLayerBuilder\",\n value: function createTextLayerBuilder(textLayerDiv, pageIndex, viewport) {\n var enhanceTextSelection = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n var eventBus = arguments.length > 4 ? arguments[4] : undefined;\n return new _text_layer_builder.TextLayerBuilder({\n textLayerDiv: textLayerDiv,\n eventBus: eventBus,\n pageIndex: pageIndex,\n viewport: viewport,\n findController: this.isInPresentationMode ? null : this.findController,\n enhanceTextSelection: this.isInPresentationMode ? false : enhanceTextSelection\n });\n }\n }, {\n key: \"createAnnotationLayerBuilder\",\n value: function createAnnotationLayerBuilder(pageDiv, pdfPage) {\n var 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 return new _annotation_layer_builder.AnnotationLayerBuilder({\n pageDiv: pageDiv,\n pdfPage: pdfPage,\n annotationStorage: annotationStorage,\n imageResourcesPath: imageResourcesPath,\n renderInteractiveForms: renderInteractiveForms,\n linkService: this.linkService,\n downloadManager: this.downloadManager,\n l10n: l10n\n });\n }\n }, {\n key: \"getPagesOverview\",\n value: function getPagesOverview() {\n var pagesOverview = this._pages.map(function (pageView) {\n var viewport = pageView.pdfPage.getViewport({\n scale: 1\n });\n return {\n width: viewport.width,\n height: viewport.height,\n rotation: viewport.rotation\n };\n });\n\n if (!this.enablePrintAutoRotate) {\n return pagesOverview;\n }\n\n 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 this._setCurrentPageNumber(pageNumber, true);\n\n this.update();\n }\n }, {\n key: \"pagesCount\",\n get: function get() {\n return this._pages.length;\n }\n }, {\n key: \"pageViewsReady\",\n get: function get() {\n if (!this._pagesCapability.settled) {\n return false;\n }\n\n return this._pages.every(function (pageView) {\n return pageView && pageView.pdfPage;\n });\n }\n }, {\n key: \"currentPageNumber\",\n get: function get() {\n return this._currentPageNumber;\n },\n set: function set(val) {\n if (!Number.isInteger(val)) {\n throw new Error(\"Invalid page number.\");\n }\n\n if (!this.pdfDocument) {\n return;\n }\n\n if (!this._setCurrentPageNumber(val, true)) {\n console.error(\"\".concat(this._name, \".currentPageNumber: \\\"\").concat(val, \"\\\" is not a valid page.\"));\n }\n }\n }, {\n key: \"currentPageLabel\",\n get: function get() {\n return this._pageLabels && this._pageLabels[this._currentPageNumber - 1];\n },\n set: function set(val) {\n if (!this.pdfDocument) {\n return;\n }\n\n var page = val | 0;\n\n if (this._pageLabels) {\n var i = this._pageLabels.indexOf(val);\n\n if (i >= 0) {\n page = i + 1;\n }\n }\n\n if (!this._setCurrentPageNumber(page, true)) {\n console.error(\"\".concat(this._name, \".currentPageLabel: \\\"\").concat(val, \"\\\" is not a valid page.\"));\n }\n }\n }, {\n key: \"currentScale\",\n get: function get() {\n return this._currentScale !== _ui_utils.UNKNOWN_SCALE ? this._currentScale : _ui_utils.DEFAULT_SCALE;\n },\n set: function set(val) {\n if (isNaN(val)) {\n throw new Error(\"Invalid numeric scale.\");\n }\n\n if (!this.pdfDocument) {\n return;\n }\n\n this._setScale(val, false);\n }\n }, {\n key: \"currentScaleValue\",\n get: function get() {\n return this._currentScaleValue;\n },\n set: function set(val) {\n if (!this.pdfDocument) {\n return;\n }\n\n this._setScale(val, false);\n }\n }, {\n key: \"pagesRotation\",\n get: function get() {\n return this._pagesRotation;\n },\n set: function set(rotation) {\n if (!(0, _ui_utils.isValidRotation)(rotation)) {\n throw new Error(\"Invalid pages rotation angle.\");\n }\n\n if (!this.pdfDocument) {\n return;\n }\n\n if (this._pagesRotation === rotation) {\n return;\n }\n\n this._pagesRotation = rotation;\n var pageNumber = this._currentPageNumber;\n\n for (var i = 0, ii = this._pages.length; i < ii; i++) {\n var pageView = this._pages[i];\n pageView.update(pageView.scale, rotation);\n }\n\n if (this._currentScaleValue) {\n this._setScale(this._currentScaleValue, true);\n }\n\n this.eventBus.dispatch(\"rotationchanging\", {\n source: this,\n pagesRotation: rotation,\n pageNumber: pageNumber\n });\n\n if (this.defaultRenderingQueue) {\n this.update();\n }\n }\n }, {\n key: \"firstPagePromise\",\n get: function get() {\n return this.pdfDocument ? this._firstPageCapability.promise : null;\n }\n }, {\n key: \"onePageRendered\",\n get: function get() {\n return this.pdfDocument ? this._onePageRenderedCapability.promise : null;\n }\n }, {\n key: \"pagesPromise\",\n get: function get() {\n return this.pdfDocument ? this._pagesCapability.promise : null;\n }\n }, {\n key: \"_viewerElement\",\n get: function get() {\n throw new Error(\"Not implemented: _viewerElement\");\n }\n }, {\n key: \"_isScrollModeHorizontal\",\n get: function get() {\n return this.isInPresentationMode ? false : this._scrollMode === _ui_utils.ScrollMode.HORIZONTAL;\n }\n }, {\n key: \"isInPresentationMode\",\n get: function get() {\n return this.presentationModeState === _ui_utils.PresentationModeState.FULLSCREEN;\n }\n }, {\n key: \"isChangingPresentationMode\",\n get: function get() {\n return this.presentationModeState === _ui_utils.PresentationModeState.CHANGING;\n }\n }, {\n key: \"isHorizontalScrollbarEnabled\",\n get: function get() {\n return this.isInPresentationMode ? false : this.container.scrollWidth > this.container.clientWidth;\n }\n }, {\n key: \"isVerticalScrollbarEnabled\",\n get: function get() {\n return this.isInPresentationMode ? false : this.container.scrollHeight > this.container.clientHeight;\n }\n }, {\n key: \"hasEqualPageSizes\",\n get: function get() {\n var firstPageView = this._pages[0];\n\n for (var i = 1, ii = this._pages.length; i < ii; ++i) {\n var pageView = this._pages[i];\n\n if (pageView.width !== firstPageView.width || pageView.height !== firstPageView.height) {\n return false;\n }\n }\n\n return true;\n }\n }, {\n key: \"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 _iterator = _createForOfIteratorHelper(this._pages),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var pageView = _step.value;\n pageView.update(pageView.scale, pageView.rotation, promise);\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.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/* 20 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFViewer = void 0;\n\nvar _base_viewer = __w_pdfjs_require__(19);\n\nvar _pdfjsLib = __w_pdfjs_require__(2);\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _get(target, property, receiver) { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }\n\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar PDFViewer = /*#__PURE__*/function (_BaseViewer) {\n _inherits(PDFViewer, _BaseViewer);\n\n var _super = _createSuper(PDFViewer);\n\n function PDFViewer() {\n _classCallCheck(this, PDFViewer);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(PDFViewer, [{\n key: \"_scrollIntoView\",\n value: function _scrollIntoView(_ref) {\n var pageDiv = _ref.pageDiv,\n _ref$pageSpot = _ref.pageSpot,\n pageSpot = _ref$pageSpot === void 0 ? null : _ref$pageSpot,\n _ref$pageNumber = _ref.pageNumber,\n pageNumber = _ref$pageNumber === void 0 ? null : _ref$pageNumber;\n\n if (!pageSpot && !this.isInPresentationMode) {\n var left = pageDiv.offsetLeft + pageDiv.clientLeft;\n var right = left + pageDiv.clientWidth;\n var _this$container = this.container,\n scrollLeft = _this$container.scrollLeft,\n clientWidth = _this$container.clientWidth;\n\n if (this._isScrollModeHorizontal || left < scrollLeft || right > scrollLeft + clientWidth) {\n pageSpot = {\n left: 0,\n top: 0\n };\n }\n }\n\n _get(_getPrototypeOf(PDFViewer.prototype), \"_scrollIntoView\", this).call(this, {\n pageDiv: pageDiv,\n pageSpot: pageSpot,\n pageNumber: pageNumber\n });\n }\n }, {\n key: \"_getVisiblePages\",\n value: function _getVisiblePages() {\n if (this.isInPresentationMode) {\n return this._getCurrentVisiblePage();\n }\n\n return _get(_getPrototypeOf(PDFViewer.prototype), \"_getVisiblePages\", this).call(this);\n }\n }, {\n key: \"_updateHelper\",\n value: function _updateHelper(visiblePages) {\n if (this.isInPresentationMode) {\n return;\n }\n\n var currentId = this._currentPageNumber;\n var stillFullyVisible = false;\n\n var _iterator = _createForOfIteratorHelper(visiblePages),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var page = _step.value;\n\n if (page.percent < 100) {\n break;\n }\n\n if (page.id === currentId) {\n stillFullyVisible = true;\n break;\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n if (!stillFullyVisible) {\n currentId = visiblePages[0].id;\n }\n\n this._setCurrentPageNumber(currentId);\n }\n }, {\n key: \"_viewerElement\",\n get: function get() {\n return (0, _pdfjsLib.shadow)(this, \"_viewerElement\", this.viewer);\n }\n }]);\n\n return PDFViewer;\n}(_base_viewer.BaseViewer);\n\nexports.PDFViewer = PDFViewer;\n\n/***/ })\n/******/ ]);\n});\n//# sourceMappingURL=pdf_viewer.js.map","export * from \"-!../../mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../vue-loader/lib/loaders/stylePostLoader.js!../../postcss-loader/src/index.js??ref--6-oneOf-1-2!./annotationLayer.css?vue&type=style&index=0&lang=css&\""],"sourceRoot":""}