{"version":3,"sources":["webpack:///./node_modules/vue-pdf/node_modules/pdfjs-dist/es5/build/pdf.worker.js","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/pdfjsWrapper.js","webpack:///./node_modules/vue-resize-sensor/src/resize-sensor.vue?56a6","webpack:///./node_modules/vue-pdf/node_modules/pdfjs-dist/es5/web/pdf_viewer.js","webpack:///./node_modules/vue-pdf/node_modules/pdfjs-dist/es5/build/pdf.js","webpack:///./node_modules/vue-pdf/src/annotationLayer.css?9eb7"],"names":["module","exports","Worker","render","staticRenderFns","component","createLoadingTask","pdfjsWrapper","PDFJSWrapper","h","attrs","style","ref","class","props","initial","on","resize","this","src","type","String","Object","Uint8Array","default","page","Number","rotate","watch","pdf","loadDocument","loadPage","renderPage","methods","size","$el","parentNode","width","height","$refs","canvas","offsetWidth","resolutionScale","getResolutionScale","print","dpi","pageList","printPage","mounted","annotationLayer","$emit","bind","$on","destroyed","destroy","pendingOperation","Promise","resolve","isPDFDocumentLoadingTask","obj","__PDFDocumentLoadingTask","options","source","url","data","TypeError","assign","withCredentials","loadingTask","PDFJS","getDocument","onPassword","onProgress","canvasElt","annotationLayerElt","emitEvent","pdfDoc","pdfPage","pdfRender","canceling","clearCanvas","getContext","clearRect","clearAnnotations","firstChild","removeChild","save","pageNumberOnly","PRINT_RESOLUTION","undefined","PRINT_UNITS","CSS_UNITS","iframeElt","document","createElement","reject","frameBorder","scrolling","cssText","onload","contentWindow","window","body","appendChild","then","win","title","getPage","viewport","getViewport","scale","head","textContent","allPages","pageNumber","numPages","indexOf","push","printCanvasElt","canvasContext","transform","intent","promise","all","focus","queryCommandSupported","execCommand","removeIframe","catch","err","cancel","pageRotate","devicePixelRatio","rotation","visibility","viewer","scrollPageIntoView","params","linkService","setDocument","setViewer","getAnnotationsOperation","getAnnotations","annotations","AnnotationLayer","clone","dontFlip","div","renderInteractiveForms","pdfRenderOperation","RenderingCancelledException","forEachPage","pageCallback","next","pageNum","removeAttribute","Error","updatePassword","reason","reasonStr","PasswordResponses","NEED_PASSWORD","INCORRECT_PASSWORD","status","ratio","loaded","total","Math","min","transformOrigin","root","factory","modules","installedModules","__w_pdfjs_require__","moduleId","i","l","call","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","n","object","property","prototype","hasOwnProperty","p","s","_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","_classCallCheck","instance","Constructor","_defineProperties","target","length","descriptor","configurable","writable","_createClass","protoProps","staticProps","_ref","pageDiv","downloadManager","_ref$imageResourcesPa","imageResourcesPath","_ref$renderInteractiv","_ref$l10n","l10n","_cancelled","_this","arguments","parameters","update","className","translate","setAttribute","pdfjsLib","isValidRotation","isValidScrollMode","isValidSpreadMode","isPortraitOrientation","clamp","getPDFFileNameFromURL","noContextMenuHandler","parseQueryString","backtrackBeforeAllVisibleElements","getVisibleElements","roundToDivide","getPageSizeInches","approximateFraction","getOutputScale","scrollIntoView","watchScroll","binarySearchFirstItem","normalizeWheelEventDelta","waitOnEventOrTimeout","moveToEndOfArray","WaitOnType","animationStarted","SpreadMode","ScrollMode","TextLayerMode","RendererType","PresentationModeState","VERTICAL_PADDING","SCROLLBAR_PADDING","MAX_AUTO_SCALE","UNKNOWN_SCALE","MAX_SCALE","MIN_SCALE","DEFAULT_SCALE","DEFAULT_SCALE_VALUE","AutoPrintRegExp","_regenerator","_interopRequireDefault","_typeof","iterator","constructor","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","minLen","_arrayLikeToArray","toString","slice","Array","from","test","len","arr2","_arr","_n","_d","_e","_s","_i","done","isArray","asyncGeneratorStep","gen","_next","_throw","arg","info","error","_asyncToGenerator","fn","self","args","apply","UNKNOWN","NORMAL","CHANGING","FULLSCREEN","CANVAS","SVG","DISABLE","ENABLE","ENABLE_ENHANCE","VERTICAL","HORIZONTAL","WRAPPED","NONE","ODD","EVEN","formatL10nValue","text","replace","getLanguage","mark","_callee","wrap","_context","prev","abrupt","stop","getDirection","_callee2","_context2","fallback","_callee3","_context3","element","_callee4","_context4","ctx","backingStoreRatio","webkitBackingStorePixelRatio","mozBackingStorePixelRatio","msBackingStorePixelRatio","oBackingStorePixelRatio","backingStorePixelRatio","pixelRatio","sx","sy","scaled","spot","skipOverflowHiddenElements","parent","offsetParent","offsetY","offsetTop","clientTop","offsetX","offsetLeft","clientLeft","clientHeight","scrollHeight","clientWidth","scrollWidth","getComputedStyle","overflow","dataset","_scaleY","_scaleX","top","left","scrollLeft","scrollTop","console","viewAreaElement","callback","debounceScroll","evt","rAF","requestAnimationFrame","currentX","lastX","state","right","currentY","lastY","down","_eventHandler","addEventListener","query","parts","split","ii","param","toLowerCase","decodeURIComponent","items","condition","minIndex","maxIndex","currentIndex","currentItem","x","floor","xinv","limit","result","x_","a","b","q","round","view","userUnit","_view","x1","y1","x2","y2","changeOrientation","index","views","elt","pageTop","scrollEl","sortByVisibility","horizontal","bottom","isElementBottomAfterViewTop","elementBottom","isElementRightAfterViewLeft","elementRight","visible","numViews","firstVisibleElementInd","lastEdge","currentWidth","currentHeight","viewWidth","viewHeight","viewRight","viewBottom","hiddenHeight","max","hiddenWidth","percent","id","y","first","last","sort","pc","abs","preventDefault","isDataSchema","trim","substring","defaultFilename","warn","reURI","reFilename","splitURI","exec","suggestedFilename","includes","ex","delta","sqrt","deltaX","deltaY","angle","atan2","PI","MOUSE_DOM_DELTA_PIXEL_MODE","MOUSE_DOM_DELTA_LINE_MODE","MOUSE_PIXELS_PER_LINE","MOUSE_LINES_PER_PAGE","deltaMode","isInteger","values","EVENT","TIMEOUT","_ref2","_ref2$delay","delay","handler","_off","eventHandler","removeEventListener","timeout","clearTimeout","_on","timeoutHandler","setTimeout","_listeners","eventName","listener","external","eventListeners","externalListeners","forEach","_ref3","splice","v","_ref4","units","querySelector","bar","_indeterminate","classList","add","remove","progressSize","_percent","container","scrollbarWidth","concat","set","val","isNaN","_updateBar","moved","write","read","_read","runtime","Op","hasOwn","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","context","Context","_invoke","makeInvokeMethod","tryCatch","GenStateSuspendedStart","GenStateSuspendedYield","GenStateExecuting","GenStateCompleted","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","Gp","defineIteratorMethods","method","AsyncIterator","PromiseImpl","invoke","record","__await","unwrapped","previousPromise","enqueue","callInvokeWithMethodAndArg","doneResult","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","resultName","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","iterable","iteratorMethod","displayName","isGeneratorFunction","genFun","ctor","setPrototypeOf","__proto__","awrap","async","iter","keys","reverse","pop","skipTempReset","charAt","rootEntry","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","Function","webpackPolyfill","deprecate","paths","children","eventBus","_ref$externalLinkTarg","externalLinkTarget","_ref$externalLinkRel","externalLinkRel","_ref$externalLinkEnab","externalLinkEnabled","_ref$ignoreDestinatio","ignoreDestinationZoom","_ignoreDestinationZoom","baseUrl","pdfDocument","pdfViewer","pdfHistory","_pagesRefCache","dest","goToDestination","namedDest","explicitDest","destRef","_cachedPageNumber","getPageIndex","pageIndex","cachePageRef","pagesCount","pushCurrentPosition","destArray","getDestination","getAnchorUrl","escape","str","JSON","stringify","anchor","hash","dispatch","search","phraseSearch","phrase","zoomArgs","zoom","zoomArg","zoomArgNumber","parseFloat","allowNegativeOffset","pagemode","navigateTo","nameddest","unescape","parse","isValidExplicitDestination","action","back","forward","pageRef","refStr","num","isPageVisible","currentPageNumber","pagesRotation","destLength","allowNull","EXPAND_DIVS_TIMEOUT","textLayerDiv","_ref$findController","findController","_ref$enhanceTextSelec","enhanceTextSelection","textContentItemsStr","textContentStream","renderingDone","pageIdx","matches","textDivs","textLayerRenderTask","_onUpdateTextLayerMatches","_bindMouse","endOfContent","numTextDivs","textLayerFrag","createDocumentFragment","renderTextLayer","_finishRendering","_updateMatches","readableStream","matchesLength","iIndex","end","queryLen","mm","matchIdx","match","begin","divIdx","offset","isSelectedPage","selected","selectedMatchIdx","highlightAll","prevEnd","infinity","i0","i1","isSelected","highlightSuffix","scrollMatchIntoView","matchIndex","appendTextToDiv","beginText","n0","n1","fromOffset","toOffset","content","node","createTextNode","span","clearedUntilDivIdx","highlightMatches","pageMatches","pageMatchesLength","_convertMatches","_renderMatches","_this2","expandDivsTimer","expandTextDivs","adjustTop","getPropertyValue","divBounds","getBoundingClientRect","pageY","toFixed","_viewer_compatibility","DISABLE_CREATE_OBJECT_URL","viewerCompatibilityParams","disableCreateObjectURL","_download","blobUrl","filename","click","href","download","documentElement","_ref$disableCreateObj","createValidAbsoluteUrl","contentType","navigator","msSaveBlob","Blob","createObjectURL","blob","downloadUrl","URL","compatibilityParams","userAgent","platform","maxTouchPoints","isAndroid","isIE","isIOS","isIOSChrome","maxCanvasPixels","freeze","webL10n","lang","_lang","_ready","setLanguage","_getLanguage","_getDirection","_get","_x","_x2","_x3","_translate","_x4","gL10nData","gTextData","gTextProp","gLanguage","gMacros","gReadyState","gAsyncResourceLoading","getL10nResourceLinks","querySelectorAll","getL10nDictionary","script","innerHTML","getTranslatableChildren","getL10nAttributes","l10nId","getAttribute","l10nArgs","e","xhrLoadText","onSuccess","onFailure","xhr","XMLHttpRequest","open","overrideMimeType","onreadystatechange","readyState","responseText","onerror","ontimeout","send","parseResource","successCallback","failureCallback","baseURL","evalString","lastIndexOf","parseProperties","parsedPropertiesCallback","dictionary","reBlank","reComment","reSection","reImport","reSplit","parseRawLines","rawText","extendedSyntax","parsedRawLinesCallback","entries","currentLang","genericLang","skipLang","nextEntry","line","shift","loadImport","tmp","response","prop","loadLocale","clear","langLinks","langCount","onResourceLoaded","gResourceCount","resource","L10nResourceLink","load","dict","locales","default_locale","log","defaultLocale","anyCaseLang","link","getPluralRules","locales2rules","isIn","list","isBetween","start","pluralRules","getL10nData","rv","substIndexes","substArguments","reIndex","reMatch","macroName","paramName","macro","reArgs","matched_text","translateElement","getChildElementCount","childNodes","found","nodeType","nodeValue","textNode","insertBefore","k","childElementCount","count","translateFragment","elementCount","plural","_pluralRules","fallbackString","getData","getText","rtlList","shortCode","getReadyState","ready","once","FindState","_pdf_find_utils","FOUND","NOT_FOUND","PENDING","FIND_TIMEOUT","MATCH_SCROLL_OFFSET_TOP","MATCH_SCROLL_OFFSET_LEFT","CHARACTERS_TO_NORMALIZE","normalizationRegex","normalize","join","RegExp","ch","_linkService","_eventBus","_reset","_onFindBarClose","_pdfDocument","_firstPageCapability","cmd","_state","_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","createPromiseCapability","matchesWithLength","isSubTerm","currentElem","nextElem","skipped","prevElem","matchLength","startIdx","charCodeAt","getCharacterType","endIdx","_limit","pageContent","entireWord","_isEntireWord","queryArray","subquery","subqueryLen","_prepareMatches","_query","_this$_state","caseSensitive","_calculatePhraseMatch","_calculateWordMatch","_updatePage","_nextPageMatch","pageMatchesCount","_updateUIResultsCount","_loop","extractTextCapability","getTextContent","normalizeWhitespace","textItems","strBuf","j","jj","_this3","previous","findPrevious","currentPageIndex","_calculateMatch","numPageMatches","_updateMatch","_advanceOffsetPage","numMatches","_matchesReady","previousPage","_this4","_this$_selected","current","matchesCount","_requestMatchesCount","_rawQuery","_normalizedQuery","CharacterType","SPACE","ALPHA_LETTER","PUNCT","HAN_LETTER","KATAKANA_LETTER","HIRAGANA_LETTER","HALFWIDTH_KATAKANA_LETTER","THAI_LETTER","isAlphabeticalScript","charCode","isAscii","isAsciiAlpha","isAsciiDigit","isAsciiSpace","isHan","isKatakana","isHiragana","isHalfwidthKatakana","isThai","isDestHashesEqual","isDestArraysEqual","HASH_CHANGE_TIMEOUT","POSITION_UPDATED_THRESHOLD","UPDATE_VIEWAREA_TIMEOUT","getCurrentHash","location","_initialized","_fingerprint","_boundEvents","_isViewerInPresentationMode","active","switchInProgress","_isPagesLoaded","onPagesLoaded","fingerprint","_ref2$resetHistory","resetHistory","_ref2$updateUrl","updateUrl","reInitialized","_updateUrl","_bindEvents","history","_popStateInProgress","_blockHashChange","_currentHash","_numPositionUpdates","_uid","_maxUid","_destination","_position","_isValidState","_this$_parseCurrentHa","_parseCurrentHash","_pushOrReplaceState","destination","_updateInternalState","uid","_initialRotation","_initialBookmark","_pageHide","_unbindEvents","_updateViewareaTimeout","_ref3$namedDest","forceReplace","_tryPushCurrentPosition","newUrl","shouldReplace","newState","startsWith","replaceState","pushState","temporary","position","checkReload","_performance$getEntri","performance","getEntriesByType","_performance$getEntri2","perfEntry","removeTemporary","checkNameddest","pdfOpenParams","_ref5","newHash","hashChanged","setHash","_this$_parseCurrentHa2","updateViewarea","_updateViewarea","popState","_popState","pageHide","destHash","pushHash","_parseQueryString","firstDest","secondDest","isEntryEqual","second","_pdf_rendering_queue","MAX_CANVAS_PIXELS","defaultViewport","renderingId","pageLabel","pdfPageRotate","hasRestrictedScaling","textLayerMode","useOnlyCssZoom","renderingQueue","textLayerFactory","annotationLayerFactory","renderer","enableWebGL","paintTask","paintedViewportMap","WeakMap","renderingState","RenderingStates","INITIAL","resume","textLayer","zoomLayer","totalRotation","stats","cleanup","removeFromDOM","zoomLayerCanvas","keepZoomLayer","keepAnnotations","cancelRendering","currentZoomLayerNode","currentAnnotationNode","hide","_resetZoomLayer","svg","loadingIconDiv","cssTransform","timestamp","now","isScalingRestricted","outputScale","hasAttribute","redrawAnnotations","relativeRotation","absRotation","scaleX","scaleY","textLayerViewport","textRelativeRotation","textAbsRotation","transX","transY","convertToPdfPoint","FINISHED","RUNNING","canvasWrapper","createTextLayerBuilder","renderContinueCallback","cont","isHighestPriority","PAUSED","finishPaintTask","paintOnSvg","paintOnCanvas","onRenderContinue","resultPromise","streamTextContent","setTextContentStream","createAnnotationLayerBuilder","renderCapability","renderTask","msg","isCanvasHidden","showCanvas","mozOpaque","alpha","actualSizeViewport","pixelsInViewport","maxScale","sfx","sfy","renderContext","onContinue","wrapper","cancelled","ensureNotCancelled","getOperatorList","opList","svgGfx","SVGGraphics","commonObjs","objs","getSVG","label","PDFRenderingQueue","CLEANUP_TIMEOUT","pdfThumbnailViewer","onIdle","highestPriorityPage","idleTimeout","printing","isThumbnailViewEnabled","currentlyVisiblePages","forceRendering","scrolledDown","visibleViews","numVisible","isViewFinished","nextPageIndex","previousPageIndex","draw","renderHighestPriority","_base_viewer","receiver","Reflect","base","_superPropBase","desc","getOwnPropertyDescriptor","_getPrototypeOf","_inherits","subClass","superClass","_setPrototypeOf","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","Super","NewTarget","construct","_possibleConstructorReturn","_assertThisInitialized","ReferenceError","sham","Proxy","Date","_BaseViewer","_super","_ensurePageViewVisible","_previousPageNumber","_shadowViewer","_updateScrollDown","pageView","_pages","_currentPageNumber","previousPageView","viewerNodes","_ref$pageSpot","pageSpot","_ref$pageNumber","_setCurrentPageNumber","scroll","_getCurrentVisiblePage","visiblePages","shadow","BaseViewer","DEFAULT_CACHE_SIZE","PDFPageViewBuffer","newSize","pagesToKeep","pageIdsToKeep","Set","iMax","has","isSameScale","oldScale","newScale","_name","firstElementChild","removePageBorders","enablePrintAutoRotate","defaultRenderingQueue","_scrollUpdate","presentationModeState","_onBeforeDraw","_onAfterDraw","_resetView","resetCurrentPageView","_resetCurrentPageView","_pageLabels","_getVisiblePages","_onePageRenderedCapability","_cancelRendering","firstPagePromise","_pagesCapability","_buffer","settled","firstPdfPage","currentScale","_viewerElement","firstPageView","setPdfPage","_spreadMode","_updateSpreadMode","_onePageRenderedOrForceFetch","loadingParams","disableAutoFetch","getPagesLeft","_pageNum","labels","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","widthScale","heightScale","pageWidth","pageHeight","currentScaleValue","boundingRect","convertToViewportPoint","firstPage","normalizedScaleValue","currentPageView","topLeft","getPagePoint","intLeft","intTop","numVisiblePages","newCacheSize","_updateHelper","_updateLocation","contains","some","scrollAhead","getHighestPriority","_ensurePdfPageLoaded","renderView","pagesOverview","map","isFirstPagePortrait","scrollMode","toggle","pages","parity","spread","_iMax","cloneNode","every","_createForOfIteratorHelper","allowArrayLike","it","F","f","normalCompletion","didErr","step","_e2","_this$container","_step","currentId","stillFullyVisible","_iterator","_display_utils","addLinkAttributes","getFilenameFromUrl","LinkTarget","loadScript","PDFDateString","_api","build","LoopbackPort","PDFDataRangeTransport","PDFWorker","version","_util","CMapCompressionType","InvalidPDFException","MissingPDFException","OPS","PermissionFlag","removeNullCharacters","UnexpectedResponseException","UNSUPPORTED_FEATURES","Util","VerbosityLevel","_annotation_layer","_api_compatibility","apiCompatibilityParams","_worker_options","GlobalWorkerOptions","_text_layer","_svg","_require","isNodeJS","PDFNodeStream","setPDFNetworkStreamFactory","PDFFetchStream","PDFNetworkStream","isFetchSupported","isValidFetchUrl","deprecated","StatTimer","DOMSVGFactory","DOMCMapReaderFactory","DOMCanvasFactory","DEFAULT_LINK_REL","PageViewport","SVG_NS","canvasAndContext","_ref$baseUrl","_ref$isCompressed","isCompressed","_fetch","fetch","compressionType","BINARY","baseURI","cMapData","ok","statusText","t0","arrayBuffer","t1","t2","stringToBytes","t3","request","responseType","DONE","assert","createElementNS","viewBox","_ref5$offsetX","_ref5$offsetY","_ref5$dontFlip","rotateA","rotateB","rotateC","rotateD","offsetCanvasX","offsetCanvasY","centerX","centerY","_ref6","_ref6$scale","_ref6$rotation","_ref6$offsetX","_ref6$offsetY","_ref6$dontFlip","applyTransform","rect","bottomRight","applyInverseTransform","_BaseException","BaseException","SELF","BLANK","PARENT","TOP","_ref7","rel","_ref7$enabled","enabled","urlNullRemoved","onclick","targetStr","pdfDateStringRegex","started","times","outBuf","longest","time","_step2","_iterator2","_time","duration","padEnd","Response","ReadableStream","_ref8","protocol","details","input","isString","year","parseInt","month","day","hour","minute","universalTimeRelation","offsetHour","offsetMinute","UTC","arrayByteLength","arraysToBytes","bytesToString","getVerbosityLevel","isArrayBuffer","isArrayEqual","isBool","isEmptyObj","isNum","isSameOrigin","setVerbosityLevel","string32","stringToPDFString","stringToUTF8String","utf8StringToString","unreachable","IsEvalSupportedCached","IsLittleEndianCached","FormatError","UnknownErrorException","TextRenderingMode","StreamType","PasswordException","AbortException","ImageKind","FontType","AnnotationType","AnnotationStateModelType","AnnotationReviewState","AnnotationReplyType","AnnotationMarkedState","AnnotationFlag","AnnotationFieldFlag","AnnotationBorderStyleType","IDENTITY_MATRIX","FONT_IDENTITY_MATRIX","PRINT","MODIFY_CONTENTS","COPY","MODIFY_ANNOTATIONS","FILL_INTERACTIVE_FORMS","COPY_FOR_ACCESSIBILITY","ASSEMBLE","PRINT_HIGH_QUALITY","FILL","STROKE","FILL_STROKE","INVISIBLE","FILL_ADD_TO_PATH","STROKE_ADD_TO_PATH","FILL_STROKE_ADD_TO_PATH","ADD_TO_PATH","FILL_STROKE_MASK","ADD_TO_PATH_FLAG","GRAYSCALE_1BPP","RGB_24BPP","RGBA_32BPP","TEXT","LINK","FREETEXT","LINE","SQUARE","CIRCLE","POLYGON","POLYLINE","HIGHLIGHT","UNDERLINE","SQUIGGLY","STRIKEOUT","STAMP","CARET","INK","POPUP","FILEATTACHMENT","SOUND","MOVIE","WIDGET","SCREEN","PRINTERMARK","TRAPNET","WATERMARK","THREED","REDACT","MARKED","REVIEW","UNMARKED","ACCEPTED","REJECTED","CANCELLED","COMPLETED","GROUP","REPLY","HIDDEN","NOZOOM","NOROTATE","NOVIEW","READONLY","LOCKED","TOGGLENOVIEW","LOCKEDCONTENTS","REQUIRED","NOEXPORT","MULTILINE","PASSWORD","NOTOGGLETOOFF","RADIO","PUSHBUTTON","COMBO","EDIT","SORT","FILESELECT","MULTISELECT","DONOTSPELLCHECK","DONOTSCROLL","COMB","RICHTEXT","RADIOSINUNISON","COMMITONSELCHANGE","SOLID","DASHED","BEVELED","INSET","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","restore","moveTo","lineTo","curveTo","curveTo2","curveTo3","closePath","rectangle","stroke","closeStroke","fill","eoFill","fillStroke","eoFillStroke","closeFillStroke","closeEOFillStroke","endPath","clip","eoClip","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","verbosity","level","cond","otherUrl","origin","other","_isValidProtocol","absoluteUrl","message","code","_BaseException2","_super2","_BaseException3","_super3","_BaseException4","_super4","_BaseException5","_super5","_BaseException6","_super6","_BaseException7","_super7","NullCharactersRegExp","bytes","MAX_ARGUMENT_COUNT","fromCharCode","chunkEnd","chunk","subarray","byteLength","resultLength","pos","item","itemLength","isLittleEndian","buffer8","view32","Uint32Array","buffer","isEvalSupported","rgbBuf","g","m1","m2","xt","yt","p1","p2","p3","p4","transpose","rect1","rect2","compare","orderedX","orderedY","normalizeRect","PDFStringTranslateTable","_i2","_i3","encodeURIComponent","arr1","capability","isSettled","digits","forceDataSchema","b1","b2","b3","d1","d2","d3","d4","_is_node","globalThis","_pdfjsCompatibilityChecked","hasDOM","btoa","chars","Buffer","atob","Element","OriginalDOMTokenListAdd","DOMTokenList","OriginalDOMTokenListRemove","_len","tokens","_key","_tokens","token","_len2","_key2","_tokens2","force","OriginalPushState","OriginalReplaceState","endsWith","log2","allSettled","isReadableStreamSupported","controller","close","Map","WeakSet","codePointAt","fromCodePoint","padStart","process","versions","nw","electron","$","global","createNonEnumerableProperty","redefine","setGlobal","copyConstructorProperties","isForced","FORCED","targetProperty","sourceProperty","TARGET","GLOBAL","STATIC","stat","noTargetGet","forced","check","DESCRIPTORS","propertyIsEnumerableModule","createPropertyDescriptor","toIndexedObject","toPrimitive","IE8_DOM_DEFINE","nativeGetOwnPropertyDescriptor","O","P","fails","nativePropertyIsEnumerable","propertyIsEnumerable","NASHORN_BUG","1","V","bitmap","IndexedObject","requireObjectCoercible","classof","isObject","PREFERRED_STRING","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","IS_PURE","copyright","postfix","random","ownKeys","getOwnPropertyDescriptorModule","getBuiltIn","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","getOwnPropertySymbols","path","aFunction","variable","namespace","internalObjectKeys","enumBugKeys","getOwnPropertyNames","names","toLength","toAbsoluteIndex","createMethod","IS_INCLUDES","$this","el","fromIndex","toInteger","argument","ceil","integer","replacement","feature","detection","POLYFILL","NATIVE","string","entryUnbind","notARegExp","correctIsRegExpLogic","nativeStartsWith","CORRECT_IS_REGEXP_LOGIC","MDN_POLYFILL_BUG","proto","searchString","that","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","NullProtoObjectViaActiveX","temp","parentWindow","NullProtoObjectViaIFrame","iframeDocument","iframe","JS","display","NullProtoObject","domain","ActiveXObject","Properties","objectKeys","cache","thrower","argument0","argument1","defineIterator","STRING_ITERATOR","setInternalState","iterated","point","CONVERT_TO_STRING","S","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","LN2","number","isFinite","ArrayBufferViewCore","speciesConstructor","aTypedArray","aTypedArrayConstructor","exportTypedArrayMethod","$slice","Int8Array","NATIVE_ARRAY_BUFFER","Int8ArrayPrototype","Uint8ClampedArray","Uint8ClampedArrayPrototype","TypedArray","TypedArrayPrototype","isPrototypeOf","TYPED_ARRAY_TAG","NATIVE_ARRAY_BUFFER_VIEWS","opera","TYPED_ARRAY_TAG_REQIRED","TypedArrayConstructorsList","Int16Array","Uint16Array","Int32Array","Float32Array","Float64Array","isView","klass","isTypedArray","ARRAY","TypedArrayConstructor","exportTypedArrayStaticMethod","ArrayBuffer","DataView","SPECIES","defaultConstructor","DOMIterables","ArrayIteratorMethods","ArrayValues","COLLECTION_NAME","Collection","CollectionPrototype","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","ARRAY_ITERATOR","kind","Arguments","Internal","OwnPromiseCapability","PromiseWrapper","nativeThen","NativePromise","redefineAll","setSpecies","anInstance","iterate","task","microtask","promiseResolve","hostReportErrors","newPromiseCapabilityModule","perform","V8_VERSION","PROMISE","getInternalPromiseState","PromiseConstructor","$fetch","newPromiseCapability","newGenericPromiseCapability","IS_NODE","DISPATCH_EVENT","createEvent","dispatchEvent","UNHANDLED_REJECTION","REJECTION_HANDLED","FULFILLED","HANDLED","UNHANDLED","GLOBAL_CORE_JS_PROMISE","PromiseRejectionEvent","FakePromise","isThenable","notify","isReject","notified","chain","reactions","exited","reaction","fail","rejection","onHandleUnhandled","enter","exit","onUnhandled","event","initEvent","IS_UNHANDLED","isUnhandled","emit","unwrap","internalReject","internalResolve","executor","onFulfilled","onRejected","$promiseResolve","counter","remaining","alreadyCalled","race","CONSTRUCTOR_NAME","Result","stopped","AS_ENTRIES","IS_ITERATOR","iterFn","boundFunction","defer","channel","port","IS_IOS","setImmediate","clearImmediate","MessageChannel","Dispatch","queue","ONREADYSTATECHANGE","run","runner","post","postMessage","host","nextTick","port2","port1","onmessage","importScripts","flush","macrotask","MutationObserver","WebKitMutationObserver","queueMicrotaskDescriptor","queueMicrotask","observe","characterData","promiseCapability","PromiseCapability","$$resolve","$$reject","v8","NON_GENERIC","real","onFinally","isFunction","EOF","USE_NATIVE_URL","arrayFrom","toASCII","URLSearchParamsModule","NativeURL","URLSearchParams","getInternalSearchParamsState","getState","getInternalURLState","pow","INVALID_AUTHORITY","INVALID_SCHEME","INVALID_HOST","INVALID_PORT","ALPHA","ALPHANUMERIC","DIGIT","HEX_START","OCT","DEC","HEX","FORBIDDEN_HOST_CODE_POINT","FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT","LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE","TAB_AND_NEW_LINE","parseHost","codePoints","parseIPv6","isSpecial","parseIPv4","percentEncode","C0ControlPercentEncodeSet","partsLength","numbers","part","radix","ipv4","numbersSeen","ipv4Piece","swaps","swap","address","pieceIndex","compress","pointer","char","findLongestZeroSequence","ipv6","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","URLConstructor","baseState","urlString","searchParams","searchParamsState","updateSearchParams","updateURL","serializeURL","getOrigin","getProtocol","getUsername","getPassword","getHost","hostname","getHostname","getPort","pathname","getPathname","getSearch","getSearchParams","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","numPoints","firstTime","encode","currentValue","inputLength","bias","basicLength","handledCPCount","handledCPCountPlusOne","RangeError","qMinusT","baseMinusT","encoded","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","getAll","entriesIndex","sliceIndex","headers","SymbolPolyfill","description","noop","NumberIsNaN","rethrowAssertionErrorRejection","typeIsObject","createArrayFromList","elements","ArrayBufferCopy","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","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","ReadableStreamDefaultReaderRead","releaseLock","_disturbed","_readableStreamController","ReadableStreamAsyncIteratorPrototype","IsReadableStreamAsyncIterator","streamAsyncIteratorBrandCheckException","_asyncIteratorReader","return","_preventCancel","AcquireReadableStreamAsyncIterator","preventCancel","Boolean","DequeueValue","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","pipeLoop","resolveLoop","rejectLoop","pipeStep","isOrBecomesErrored","shutdown","isOrBecomesClosed","destClosed_1","waitForWritesToFinish","oldCurrentWrite","originalIsError","originalError","doTheRest","finalize","newError","isError","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","respond","bytesWritten","_associatedReadableByteStreamController","ReadableByteStreamControllerRespond","respondWithNewView","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","headOfQueue","bytesToCopy","destStart","ReadableByteStreamControllerFillHeadPullIntoDescriptor","ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue","ReadableByteStreamControllerShiftPendingPullInto","ReadableByteStreamControllerPullInto","BYTES_PER_ELEMENT","ReadableStreamAddReadIntoRequest","emptyView","ReadableByteStreamControllerRespondInClosedState","ReadableStreamHasBYOBReader","ReadableStreamGetNumReadIntoRequests","ReadableByteStreamControllerRespondInReadableState","remainderSize","remainder","ReadableByteStreamControllerRespondInternal","firstPendingPullInto","transferredBuffer","transferredView","SetUpReadableByteStreamController","SetUpReadableByteStreamControllerFromUnderlyingSource","underlyingByteSource","AcquireReadableStreamBYOBReader","ReadableStreamBYOBReader","readIntoRequest","_readIntoRequests","IsReadableStreamBYOBReader","byobReaderBrandCheckException","ReadableStreamBYOBReaderRead","InitializeReadableStream","typeString","streamBrandCheckException$1","getReader","pipeThrough","_b","readable","_c","pipeTo","tee","branches","sourceCancelPromise","ByteLengthQueuingStrategy","CountQueuingStrategy","TransformStream","transformer","writableStrategy","readableStrategy","writableSizeFunction","writableHighWaterMark","readableSizeFunction","readableHighWaterMark","writableType","writableSizeAlgorithm","readableType","startPromise_resolve","readableSizeAlgorithm","InitializeTransformStream","SetUpTransformStreamDefaultControllerFromTransformer","_transformStreamController","IsTransformStream","streamBrandCheckException$2","_readable","_writable","TransformStreamDefaultSinkWriteAlgorithm","TransformStreamDefaultSinkAbortAlgorithm","TransformStreamDefaultSinkCloseAlgorithm","TransformStreamDefaultSourcePullAlgorithm","TransformStreamErrorWritableAndUnblockWrite","_backpressureChangePromise","_backpressureChangePromise_resolve","TransformStreamSetBackpressure","TransformStreamError","TransformStreamDefaultControllerClearAlgorithms","TransformStreamDefaultController","IsTransformStreamDefaultController","defaultControllerBrandCheckException$1","readableController","_controlledTransformStream","TransformStreamDefaultControllerEnqueue","TransformStreamDefaultControllerError","terminate","TransformStreamDefaultControllerTerminate","SetUpTransformStreamDefaultController","transformAlgorithm","flushAlgorithm","_transformAlgorithm","_flushAlgorithm","transformResultE","transformMethod","TransformStreamDefaultControllerPerformTransform","transformPromise","backpressureChangePromise","flushPromise","collection","collectionStrong","InternalMetadataModule","inheritIfRequired","common","IS_MAP","IS_WEAK","ADDER","NativeConstructor","NativePrototype","exported","fixMethod","nativeMethod","getConstructor","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","$instance","dummy","setStrong","FREEZING","METADATA","isExtensible","setMetadata","objectID","weakData","fastKey","getWeakData","onFreeze","meta","preventExtensions","Wrapper","NewTargetPrototype","internalStateGetterFor","define","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","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","space","$replacer","windowNames","getWindowNames","NativeSymbol","EmptyStringDescriptionStore","SymbolWrapper","symbolPrototype","symbolToString","native","$padStart","WEBKIT_BUG","repeat","IS_END","fillString","fillLen","stringFiller","stringLength","fillStr","intMaxLength","$padEnd","$values","TO_ENTRIES","PDFPageProxy","PDFDocumentProxy","_font_loader","_canvas","_message_handler","_metadata","_transport_stream","_webgl","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","_e3","DEFAULT_RANGE_CHUNK_SIZE","RENDERING_CANCELLED_TIMEOUT","createPDFNetworkStream","pdfNetworkStreamFactory","PDFDocumentLoadingTask","range","rangeTransport","worker","pdfBytes","rangeChunkSize","CMapReaderFactory","ignoreErrors","stopAtErrors","fontExtraProperties","pdfBug","maxImageSize","disableFontFace","disableRange","disableStream","workerParams","workerPort","fromPort","_worker","docId","workerIdPromise","_fetchDocument","networkStreamPromise","networkStream","PDFDataTransportStream","initialData","progressiveDone","httpHeaders","workerId","messageHandler","MessageHandler","postMessageTransfers","transport","WorkerTransport","_transport","_capability","pdfDataRangeTransport","sendWithPromise","apiVersion","docBaseUrl","nextDocumentId","onUnsupportedFeature","transportDestroyed","_rangeListeners","_progressListeners","_progressiveReadListeners","_progressiveDoneListeners","_readyCapability","_step3","_iterator3","_step4","_iterator4","pdfInfo","_pdfInfo","getDestinations","getPageLabels","getPageLayout","getPageMode","getViewerPreferences","getOpenAction","openAction","getAttachments","getJavaScript","getOutline","getPermissions","getMetadata","downloadInfoCapability","getStats","startCleanup","pageInfo","_pageIndex","_pageInfo","_stats","_pdfBug","PDFObjects","cleanupAfterRender","pendingCleanup","intentStates","_ref3$rotation","_ref3$offsetX","_ref3$offsetY","_ref3$dontFlip","_ref4$intent","annotationsPromise","annotationsIntent","_this5","_ref5$intent","_ref5$enableWebGL","_ref5$renderInteracti","_ref5$transform","_ref5$imageLayer","imageLayer","_ref5$canvasFactory","canvasFactory","_ref5$background","background","renderingIntent","intentState","streamReaderCancelTimeout","canvasFactoryInstance","webGLContext","WebGLContext","enable","displayReadyCapability","operatorList","fnArray","argsArray","lastChunk","_pumpOperatorList","renderTasks","internalRenderTask","_tryCleanup","_abortOperatorList","timeEnd","InternalRenderTask","useRequestAnimationFrame","transparency","initializeGraphics","operatorListChanged","opListReadCapability","opListTask","_ref6$normalizeWhites","_ref6$disableCombineT","disableCombineTextItems","TEXT_CONTENT_CHUNK_SIZE","sendWithStream","combineTextItems","pump","_textContent$items","styles","_this6","pageCache","waitOn","renderCompleted","resetStats","_this7","operatorListChunk","_this8","streamReader","_renderPageChunk","_ref9","_this9","_ref9$force","_defer","_deferred","transfers","_this10","cloneValue","cloned","transferable","PDFWorkerClosure","pdfWorkerPorts","isWorkerDisabled","fallbackWorkerSrc","nextFakeWorkerId","fakeWorkerCapability","pdfjsFilePath","currentScript","_getWorkerSrc","workerSrc","getMainThreadWorkerMessageHandler","mainWorkerMessageHandler","pdfjsWorker","WorkerMessageHandler","setupFakeWorkerGlobal","loader","_ref10","_callee$","eval","createCDNWrapper","_ref11","_ref11$name","_ref11$port","_ref11$verbosity","_port","_webWorker","_messageHandler","_initializeFromPort","_initialize","_this11","terminateEarly","onWorkerError","_setupFakeWorker","supportTransfers","sendTest","testObj","_this12","workerHandler","setup","fontLoader","FontLoader","_onUnsupportedFeature","_params","cMapUrl","cMapPacked","destroyCapability","_passwordCapability","_networkStream","_fullReader","_lastProgress","pagePromises","setupMessageHandler","_this13","_destroy","terminated","cancelAllRequests","_this14","sink","getFullReader","onPull","_ref12","onCancel","headersCapability","fullReader","headersReady","isStreamingSupported","isRangeSupported","contentLength","rangeReader","getRangeReader","_ref13","_ref14","_numPages","_startRenderPage","_data","exportedData","exportedError","fontRegistry","FontInspector","registerFont","fontAdded","FontFaceObject","_data2","imageData","pageProxy","MAX_IMAGE_SIZE_TO_STORE","fetched","builtInCMap","_ref15","featureId","_this15","_this16","results","Metadata","contentDispositionFilename","_this17","cleanupSuccessful","_objs","objId","resolved","_ensureObj","RenderTask","_internalRenderTask","canvasInRendering","_ref16","_ref16$useRequestAnim","_ref16$pdfBug","operatorListIdx","running","graphicsReadyCallback","graphicsReady","_useRequestAnimationFrame","_continueBound","_continue","_scheduleNextBound","_scheduleNext","_nextBound","StepperManager","stepper","nextBreakPoint","getNextBreakPoint","_this$params","gfx","CanvasGraphics","beginDrawing","endDrawing","updateOperatorList","_this18","_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","spliceString","insert","chunk1","chunk2","isFontReady","fillText","getImageData","_loadTestFont","COMMENT_OFFSET","CFF_CHECKSUM_OFFSET","XXXX_VALUE","checksum","loadedName","fontFamily","getLoadTestFont","translatedData","_ref2$isEvalSupported","_ref2$disableFontFace","_ref2$ignoreErrors","_ref2$onUnsupportedFe","_ref2$fontRegistry","compiledGlyphs","FontFace","mimetype","character","cmds","js","_ii","_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","_originalTransform","_originalSetTransform","setTransform","_transformMatrix","_transformStack","ad_bc","bc_ad","old","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","setCurrentPoint","EXECUTION_TIME","EXECUTION_STEPS","canvasCtx","stateStack","pendingClip","pendingEOFill","res","xobjs","groupStack","processingType3","baseTransform","baseTransformStack","groupLevel","smaskStack","smaskCounter","tempSMask","cachedCanvases","_cachedGetSinglePixelWidth","putBinaryImageData","ImageData","putImageData","destPos","thisChunkHeight","elemsInThisChunk","partialChunkHeight","fullChunks","totalChunks","chunkImgData","createImageData","srcPos","srcLength","dest32","dest32DataLength","fullSrcDiff","white","black","srcDiff","kEnd","kEndUnrolled","srcByte","putBinaryImageMask","copyCtxState","sourceCtx","destCtx","setLineDash","getLineDash","lineDashOffset","resetCtxToDefault","strokeStyle","fillStyle","fillRule","globalAlpha","lineCap","lineJoin","miterLimit","globalCompositeOperation","composeSMaskBackdrop","r0","g0","b0","alpha_","composeSMaskAlpha","maskData","layerData","transferMap","composeSMaskLuminosity","genericComposeSMask","maskCtx","layerCtx","subtype","backdrop","composeFn","hasBackdrop","PIXELS_TO_PROCESS","row","chunkHeight","composeSMask","isEnabled","composed","layer","drawImage","LINE_CAP_STYLES","LINE_JOIN_STYLES","NORMAL_CLIP","EO_CLIP","op","_ref$transparency","_ref$background","fillRect","transparentCanvas","compositeCtx","beginLayout","executionStartIdx","continueCallback","argsArrayLen","fnId","chunkOperations","endTime","breakIt","depObjId","objsPool","endSMaskGroup","endLayout","dashArray","dashPhase","flatness","states","suspendSMaskGroup","beginSMaskGroup","drawnWidth","drawnHeight","cacheId","scratchCanvas","currentCtx","currentTransform","groupCtx","startTransformInverse","mozCurrentTransformInverse","deltaTransform","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","matrix","bbox","group","isolated","knockout","bounds","getAxialAlignedBoundingBox","canvasBounds","intersect","imageSmoothingEnabled","mozImageSmoothingEnabled","img","compiled","maskCanvas","positions","images","image","w","imgToPaint","tmpCanvas","HTMLElement","tmpCtx","paintWidth","paintHeight","tmpCanvasId","newWidth","newHeight","getCanvasPosition","appendImage","inverse","ShadingIRs","applyBoundingBox","Path2D","region","RadialAxial","fromIR","raw","colorStops","r1","grad","createLinearGradient","createRadialGradient","addColorStop","createMeshCanvas","drawTriangle","c1","c2","c3","colors","rowSize","x3","y3","xa","car","cag","cab","xb","cbr","cbg","cbb","c1r","c1g","c1b","c2r","c2g","c2b","c3r","c3g","c3b","minY","maxY","_k","_k2","x1_","x2_","drawFigure","figure","ps","cs","verticesPerRow","rows","cols","combinesScale","figures","backgroundColor","EXPECTED_SCALE","MAX_PATTERN_SIZE","BORDER_SIZE","boundsWidth","boundsHeight","paddedWidth","paddedHeight","drawFigures","shadingIR","Mesh","owner","matrixScale","temporaryPatternCanvas","createPattern","Dummy","PaintType","COLORED","UNCOLORED","xstep","ystep","paintType","tilingType","createPatternCanvas","curMatrixScale","combinedScale","dimx","getSizeAndScale","dimy","graphics","setFillAndStrokeStyleToContext","clipBbox","realOutputSize","maxSize","bboxWidth","bboxHeight","cssColor","CallbackKind","DATA","ERROR","StreamKind","CANCEL","CANCEL_COMPLETE","CLOSE","ENQUEUE","PULL","PULL_COMPLETE","START_COMPLETE","wrapReason","sourceName","targetName","comObj","callbackId","streamId","streamSinks","streamControllers","callbackCapabilities","actionHandler","_onComObjOnMessage","_processStreamMessage","cbSourceName","cbTargetName","_createStreamSink","actionName","ah","_postMessage","queueingStrategy","startCapability","startCall","pullCall","cancelCall","isClosed","pull","pullCapability","cancelCapability","streamSink","isCancelled","lastDesiredSize","sinkCapability","success","_deleteStreamController","_deleteStreamController2","_xml_parser","_repair","parser","SimpleXMLParser","xmlDocument","parseFromString","_metadataMap","_parse","codes","rdf","nodeName","nextSibling","hasChildNodes","_step$value","XMLParserErrorCode","NoError","EndOfDocument","UnterminatedCdat","UnterminatedXmlDeclaration","UnterminatedDoctypeDeclaration","UnterminatedComment","MalformedElement","OutOfMemory","UnterminatedAttributeValue","UnterminatedElement","ElementNeverBegun","isWhitespace","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","child","_XMLParserBase","_currentFragment","_stack","_errorCode","parseXml","_this$_currentFragmen","lastElement","_queuedChunks","_progressiveDone","_pdfDataRangeTransport","_isStreamingSupported","_isRangeSupported","_contentLength","_fullRequestReader","_rangeReaders","addRangeListener","_onReceiveData","addProgressListener","_onProgress","addProgressiveReadListener","addProgressiveDoneListener","_onProgressiveDone","transportReady","_enqueue","_begin","firstReader","queuedChunks","PDFDataTransportStreamReader","_progressiveDataLength","PDFDataTransportStreamRangeReader","requestDataRange","readers","_loaded","_stream","_done","_filename","_requests","_headersReady","requestCapability","_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","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","svgFactory","_createContainer","borderStyle","borderWidth","horizontalRadius","horizontalCornerRadius","verticalRadius","verticalCornerRadius","radius","borderRadius","borderBottomStyle","borderColor","trigger","popupElement","PopupElement","modificationDate","contents","hideWrapper","popup","_AnnotationElement","newWindow","_bindNamedAction","_bindLink","getDestinationHash","executeNamedAction","_AnnotationElement2","hasPopup","alt","_createPopup","_AnnotationElement3","_WidgetAnnotationElem","hasAppearance","fieldValue","TEXT_ALIGNMENT","multiLine","disabled","readOnly","fieldName","maxLen","comb","fieldWidth","combWidth","letterSpacing","verticalAlign","_setTextStyle","textAlignment","textAlign","direction","fontWeight","fontStyle","_WidgetAnnotationElem2","_WidgetAnnotationElem3","buttonValue","_LinkAnnotationElemen","_WidgetAnnotationElem4","_super8","selectElement","combo","multiSelect","multiple","option","optionElement","displayValue","exportValue","_AnnotationElement4","_super9","IGNORE_TYPES","parentType","selector","parentId","parentElement","parentLeft","parentWidth","pinned","BACKGROUND_ENLIGHT","hideElement","dateObject","toDateObject","date","toLocaleDateString","toLocaleTimeString","_formatContents","_toggle","_show","_hide","lines","pin","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","downloadData","_step5","sortedAnnotations","popupAnnotations","_iterator5","_sortedAnnotations","_step6","_iterator6","MAX_TEXT_DIVS_TO_RENDER","NonWhitespaceRegexp","isAllWhitespace","appendText","geom","textDiv","textDivProperties","canvasWidth","originalTransform","paddingBottom","paddingLeft","paddingRight","paddingTop","_textDivs","_textDivProperties","tx","_viewport","fontName","fontHeight","fontAscent","ascent","descent","_fontInspectorEnabled","shouldScaleText","absScaleX","absScaleY","_textContentStream","_layoutText","_enhanceTextSelection","angleCos","angleSin","divWidth","divHeight","_bounds","_canceled","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","_textContent","_container","_textContentItemsStr","_layoutTextLastFontSize","_layoutTextLastFontFamily","_layoutTextCtx","_renderTimer","renderParameters","_render","_processItems","styleCache","_textDiv$style","_this$_layoutTextCtx$","textStyles","expandDivs","transformBuf","paddingBuf","divProps","padding","opListToTree","opTree","opListElement","pf","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","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","_step7","_iterator7","_step7$value","setStrokeAlpha","setFillAlpha","imgSrc","cliprect","imgEl","definitions","rootGroup","_ensureClipGroup","_network_utils","fs","fileUriRegex","parseUrl","sourceUrl","parsedUrl","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","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"],"mappings":"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N,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,GACN,IAAO,EACP,GAAM,GACN,GAAM,EACN,IAAO,EACP,IAAO,EACP,GAAM,GACN,GAAM,GACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,IAAO,EACP,GAAM,EACN,GAAM,EACN,IAAO,EACP,GAAM,EACN,GAAM,EACN,GAAM,GACN,GAAM,EACN,IAAO,EACP,GAAM,EACN,IAAO,EACP,GAAM,GACN,GAAM,EACN,IAAO,EACP,GAAM,EACN,GAAM,EACN,GAAM,GACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,IAAO,EACP,GAAM,EACN,GAAM,EACN,IAAO,EACP,IAAO,EACP,IAAO,EACP,IAAO,EACP,IAAO,EACP,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,IAAO,EACP,IAAO,GACP,GAAM,EACN,GAAM,EACN,IAAO,GACP,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,GACN,GAAM,EACN,IAAO,EACP,GAAM,EACN,GAAM,GACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,GACN,GAAM,EACN,IAAO,EACP,IAAO,EACP,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,IAAO,EACP,GAAM,EACN,IAAO,EACP,GAAM,EACN,GAAM,EACN,GAAM,EACN,IAAO,EACP,GAAM,GACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,IAAO,EACP,GAAM,GACN,IAAO,EACP,IAAO,EACP,IAAO,EACP,GAAM,EACN,IAAO,EACP,IAAO,EACP,GAAM,EACN,GAAM,GACN,IAAO,GACP,GAAM,GACN,GAAM,GACN,IAAO,EAC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","file":"js/_guides.DocViewer~_guides.PDFUploader~accountspayable~architecturalRequests~boardMeetingDetails.boar~1e8aeef4.5395a608.js","sourcesContent":["module.exports = function() {\n return new Worker(__webpack_public_path__ + \"21d031a7db88f08d3efd.worker.js\");\n};","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 { PDFLinkService } from 'pdfjs-dist/es5/web/pdf_viewer';\r\n\r\nvar pendingOperation = Promise.resolve();\r\n\r\nexport default function(PDFJS) {\r\n\r\n\tfunction isPDFDocumentLoadingTask(obj) {\r\n\r\n\t\treturn typeof(obj) === 'object' && obj !== null && obj.__PDFDocumentLoadingTask === true;\r\n\t\t// or: return obj.constructor.name === 'PDFDocumentLoadingTask';\r\n\t}\r\n\r\n\tfunction createLoadingTask(src, options) {\r\n\r\n\t\tvar source;\r\n\t\tif ( typeof(src) === 'string' )\r\n\t\t\tsource = { url: src };\r\n\t\telse if ( src instanceof Uint8Array )\r\n\t\t\tsource = { data: src };\r\n\t\telse if ( typeof(src) === 'object' && src !== null )\r\n\t\t\tsource = Object.assign({}, src);\r\n\t\telse\r\n\t\t\tthrow new TypeError('invalid src type');\r\n\r\n\t\t// source.verbosity = PDFJS.VerbosityLevel.INFOS;\r\n\t\t// source.pdfBug = true;\r\n\t\t// source.stopAtErrors = true;\r\n\r\n\t\tif ( options && options.withCredentials )\r\n\t\t\tsource.withCredentials = options.withCredentials;\r\n\r\n\t\tvar loadingTask = PDFJS.getDocument(source);\r\n\t\tloadingTask.__PDFDocumentLoadingTask = true; // since PDFDocumentLoadingTask is not public\r\n\r\n\t\tif ( options && options.onPassword )\r\n\t\t\tloadingTask.onPassword = options.onPassword;\r\n\r\n\t\tif ( options && options.onProgress )\r\n\t\t\tloadingTask.onProgress = options.onProgress;\r\n\r\n\t\treturn loadingTask;\r\n\t}\r\n\r\n\r\n\tfunction PDFJSWrapper(canvasElt, annotationLayerElt, emitEvent) {\r\n\r\n\t\tvar pdfDoc = null;\r\n\t\tvar pdfPage = null;\r\n\t\tvar pdfRender = null;\r\n\t\tvar canceling = false;\r\n\r\n\t\tcanvasElt.getContext('2d').save();\r\n\r\n\t\tfunction clearCanvas() {\r\n\r\n\t\t\tcanvasElt.getContext('2d').clearRect(0, 0, canvasElt.width, canvasElt.height);\r\n\t\t}\r\n\r\n\t\tfunction clearAnnotations() {\r\n\r\n\t\t\twhile ( annotationLayerElt.firstChild )\r\n\t\t\t\tannotationLayerElt.removeChild(annotationLayerElt.firstChild);\r\n\t\t}\r\n\r\n\t\tthis.destroy = function() {\r\n\r\n\t\t\tif ( pdfDoc === null )\r\n\t\t\t\treturn;\r\n\r\n\t\t\t// Aborts all network requests and destroys worker.\r\n\t\t\tpendingOperation = pdfDoc.destroy();\r\n\t\t\tpdfDoc = null;\r\n\t\t}\r\n\r\n\t\tthis.getResolutionScale = function() {\r\n\r\n\t\t\treturn canvasElt.offsetWidth / canvasElt.width;\r\n\t\t}\r\n\r\n\t\tthis.printPage = function(dpi, pageNumberOnly) {\r\n\r\n\t\t\tif ( pdfPage === null )\r\n\t\t\t\treturn;\r\n\r\n\t\t\t// 1in == 72pt\r\n\t\t\t// 1in == 96px\r\n\t\t\tvar PRINT_RESOLUTION = dpi === undefined ? 150 : dpi;\r\n\t\t\tvar PRINT_UNITS = PRINT_RESOLUTION / 72.0;\r\n\t\t\tvar CSS_UNITS = 96.0 / 72.0;\r\n\r\n\t\t\tvar iframeElt = document.createElement('iframe');\r\n\r\n\t\t\tfunction removeIframe() {\r\n\r\n\t\t\t\tiframeElt.parentNode.removeChild(iframeElt);\r\n\t\t\t}\r\n\r\n\t\t\tnew Promise(function(resolve, reject) {\r\n\r\n\t\t\t\tiframeElt.frameBorder = '0';\r\n\t\t\t\tiframeElt.scrolling = 'no';\r\n\t\t\t\tiframeElt.width = '0px;'\r\n\t\t\t\tiframeElt.height = '0px;'\r\n\t\t\t\tiframeElt.style.cssText = 'position: absolute; top: 0; left: 0';\r\n\r\n\t\t\t\tiframeElt.onload = function() {\r\n\r\n\t\t\t\t\tresolve(this.contentWindow);\r\n\t\t\t\t}\r\n\r\n\t\t\t\twindow.document.body.appendChild(iframeElt);\r\n\t\t\t})\r\n\t\t\t.then(function(win) {\r\n\r\n\t\t\t\twin.document.title = '';\r\n\r\n\t\t\t\treturn pdfDoc.getPage(1)\r\n\t\t\t\t.then(function(page) {\r\n\r\n\t\t\t\t\tvar viewport = page.getViewport({ scale: 1 });\r\n\t\t\t\t\twin.document.head.appendChild(win.document.createElement('style')).textContent =\r\n\t\t\t\t\t\t'@supports ((size:A4) and (size:1pt 1pt)) {' +\r\n\t\t\t\t\t\t\t'@page { margin: 1pt; size: ' + ((viewport.width * PRINT_UNITS) / CSS_UNITS) + 'pt ' + ((viewport.height * PRINT_UNITS) / CSS_UNITS) + 'pt; }' +\r\n\t\t\t\t\t\t'}' +\r\n\r\n\t\t\t\t\t\t'@media print {' +\r\n\t\t\t\t\t\t\t'body { margin: 0 }' +\r\n\t\t\t\t\t\t\t'canvas { page-break-before: avoid; page-break-after: always; page-break-inside: avoid }' +\r\n\t\t\t\t\t\t'}'+\r\n\r\n\t\t\t\t\t\t'@media screen {' +\r\n\t\t\t\t\t\t\t'body { margin: 0 }' +\r\n\t\t\t\t\t\t'}'+\r\n\r\n\t\t\t\t\t\t''\r\n\t\t\t\t\treturn win;\r\n\t\t\t\t})\r\n\t\t\t})\r\n\t\t\t.then(function(win) {\r\n\r\n\t\t\t\tvar allPages = [];\r\n\r\n\t\t\t\tfor ( var pageNumber = 1; pageNumber <= pdfDoc.numPages; ++pageNumber ) {\r\n\r\n\t\t\t\t\tif ( pageNumberOnly !== undefined && pageNumberOnly.indexOf(pageNumber) === -1 )\r\n\t\t\t\t\t\tcontinue;\r\n\r\n\t\t\t\t\tallPages.push(\r\n\t\t\t\t\t\tpdfDoc.getPage(pageNumber)\r\n\t\t\t\t\t\t.then(function(page) {\r\n\r\n\t\t\t\t\t\t\tvar viewport = page.getViewport({ scale: 1 });\r\n\r\n\t\t\t\t\t\t\tvar printCanvasElt = win.document.body.appendChild(win.document.createElement('canvas'));\r\n\t\t\t\t\t\t\tprintCanvasElt.width = (viewport.width * PRINT_UNITS);\r\n\t\t\t\t\t\t\tprintCanvasElt.height = (viewport.height * PRINT_UNITS);\r\n\r\n\t\t\t\t\t\t\treturn page.render({\r\n\t\t\t\t\t\t\t\tcanvasContext: printCanvasElt.getContext('2d'),\r\n\t\t\t\t\t\t\t\ttransform: [ // Additional transform, applied just before viewport transform.\r\n\t\t\t\t\t\t\t\t\tPRINT_UNITS, 0, 0,\r\n\t\t\t\t\t\t\t\t\tPRINT_UNITS, 0, 0\r\n\t\t\t\t\t\t\t\t],\r\n\t\t\t\t\t\t\t\tviewport: viewport,\r\n\t\t\t\t\t\t\t\tintent: 'print'\r\n\t\t\t\t\t\t\t}).promise;\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tPromise.all(allPages)\r\n\t\t\t\t.then(function() {\r\n\r\n\t\t\t\t\twin.focus(); // Required for IE\r\n\t\t\t\t\tif (win.document.queryCommandSupported('print')) {\r\n\t\t\t\t\t\twin.document.execCommand('print', false, null);\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\twin.print();\r\n\t\t\t\t\t }\r\n\t\t\t\t\tremoveIframe();\r\n\t\t\t\t})\r\n\t\t\t\t.catch(function(err) {\r\n\r\n\t\t\t\t\tremoveIframe();\r\n\t\t\t\t\temitEvent('error', err);\r\n\t\t\t\t})\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\tthis.renderPage = function(rotate) {\r\n\t\t\tif ( pdfRender !== null ) {\r\n\r\n\t\t\t\tif ( canceling )\r\n\t\t\t\t\treturn;\r\n\t\t\t\tcanceling = true;\r\n\t\t\t\tpdfRender.cancel();\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tif ( pdfPage === null )\r\n\t\t\t\treturn;\r\n\r\n\t\t\tvar pageRotate = (pdfPage.rotate === undefined ? 0 : pdfPage.rotate) + (rotate === undefined ? 0 : rotate);\r\n\r\n\t\t\tvar scale = canvasElt.offsetWidth / pdfPage.getViewport({ scale: 1 }).width * (window.devicePixelRatio || 1);\r\n\t\t\tvar viewport = pdfPage.getViewport({ scale: scale, rotation:pageRotate });\r\n\r\n\t\t\temitEvent('page-size', viewport.width, viewport.height, scale);\r\n\r\n\t\t\tcanvasElt.width = viewport.width;\r\n\t\t\tcanvasElt.height = viewport.height;\r\n\r\n\t\t\tpdfRender = pdfPage.render({\r\n\t\t\t\tcanvasContext: canvasElt.getContext('2d'),\r\n\t\t\t\tviewport: viewport\r\n\t\t\t});\r\n\r\n\t\t\tannotationLayerElt.style.visibility = 'hidden';\r\n\t\t\tclearAnnotations();\r\n\r\n\t\t\tvar viewer = {\r\n\t\t\t\tscrollPageIntoView: function(params) {\r\n\t\t\t\t\temitEvent('link-clicked', params.pageNumber)\r\n\t\t\t\t},\r\n\t\t\t};\r\n\r\n\t\t\tvar linkService = new PDFLinkService();\r\n\t\t\tlinkService.setDocument(pdfDoc);\r\n\t\t\tlinkService.setViewer(viewer);\r\n\r\n\t\t\tpendingOperation = pendingOperation.then(function() {\r\n\r\n\t\t\t\tvar getAnnotationsOperation =\r\n\t\t\t\tpdfPage.getAnnotations({ intent: 'display' })\r\n\t\t\t\t.then(function(annotations) {\r\n\r\n\t\t\t\t\tPDFJS.AnnotationLayer.render({\r\n\t\t\t\t\t\tviewport: viewport.clone({ dontFlip: true }),\r\n\t\t\t\t\t\tdiv: annotationLayerElt,\r\n\t\t\t\t\t\tannotations: annotations,\r\n\t\t\t\t\t\tpage: pdfPage,\r\n\t\t\t\t\t\tlinkService: linkService,\r\n\t\t\t\t\t\trenderInteractiveForms: false\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\r\n\t\t\t\tvar pdfRenderOperation =\r\n\t\t\t\tpdfRender.promise\r\n\t\t\t\t.then(function() {\r\n\r\n\t\t\t\t\tannotationLayerElt.style.visibility = '';\r\n\t\t\t\t\tcanceling = false;\r\n\t\t\t\t\tpdfRender = null;\r\n\t\t\t\t})\r\n\t\t\t\t.catch(function(err) {\r\n\r\n\t\t\t\t\tpdfRender = null;\r\n\t\t\t\t\tif ( err instanceof PDFJS.RenderingCancelledException ) {\r\n\r\n\t\t\t\t\t\tcanceling = false;\r\n\t\t\t\t\t\tthis.renderPage(rotate);\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t\temitEvent('error', err);\r\n\t\t\t\t}.bind(this))\r\n\r\n\t\t\t\treturn Promise.all([getAnnotationsOperation, pdfRenderOperation]);\r\n\t\t\t}.bind(this));\r\n\t\t}\r\n\r\n\r\n\t\tthis.forEachPage = function(pageCallback) {\r\n\r\n\t\t\tvar numPages = pdfDoc.numPages;\r\n\r\n\t\t\t(function next(pageNum) {\r\n\r\n\t\t\t\tpdfDoc.getPage(pageNum)\r\n\t\t\t\t.then(pageCallback)\r\n\t\t\t\t.then(function() {\r\n\r\n\t\t\t\t\tif ( ++pageNum <= numPages )\r\n\t\t\t\t\t\tnext(pageNum);\r\n\t\t\t\t})\r\n\t\t\t})(1);\r\n\t\t}\r\n\r\n\r\n\t\tthis.loadPage = function(pageNumber, rotate) {\r\n\r\n\t\t\tpdfPage = null;\r\n\r\n\t\t\tif ( pdfDoc === null )\r\n\t\t\t\treturn;\r\n\r\n\t\t\tpendingOperation = pendingOperation.then(function() {\r\n\r\n\t\t\t\treturn pdfDoc.getPage(pageNumber);\r\n\t\t\t})\r\n\t\t\t.then(function(page) {\r\n\r\n\t\t\t\tpdfPage = page;\r\n\t\t\t\tthis.renderPage(rotate);\r\n\t\t\t\temitEvent('page-loaded', page.pageNumber);\r\n\t\t\t}.bind(this))\r\n\t\t\t.catch(function(err) {\r\n\r\n\t\t\t\tclearCanvas();\r\n\t\t\t\tclearAnnotations();\r\n\t\t\t\temitEvent('error', err);\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tthis.loadDocument = function(src) {\r\n\r\n\t\t\tpdfDoc = null;\r\n\t\t\tpdfPage = null;\r\n\r\n\t\t\temitEvent('num-pages', undefined);\r\n\r\n\t\t\tif ( !src ) {\r\n\r\n\t\t\t\tcanvasElt.removeAttribute('width');\r\n\t\t\t\tcanvasElt.removeAttribute('height');\r\n\t\t\t\tclearAnnotations();\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\t// wait for pending operation ends\r\n\t\t\tpendingOperation = pendingOperation.then(function() {\r\n\r\n\t\t\t\tvar loadingTask;\r\n\t\t\t\tif ( isPDFDocumentLoadingTask(src) ) {\r\n\r\n\t\t\t\t\tif ( src.destroyed ) {\r\n\r\n\t\t\t\t\t\temitEvent('error', new Error('loadingTask has been destroyed'));\r\n\t\t\t\t\t\treturn\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tloadingTask = src;\r\n\t\t\t\t} else {\r\n\r\n\t\t\t\t\tloadingTask = createLoadingTask(src, {\r\n\t\t\t\t\t\tonPassword: function(updatePassword, reason) {\r\n\r\n\t\t\t\t\t\t\tvar reasonStr;\r\n\t\t\t\t\t\t\tswitch (reason) {\r\n\t\t\t\t\t\t\t\tcase PDFJS.PasswordResponses.NEED_PASSWORD:\r\n\t\t\t\t\t\t\t\t\treasonStr = 'NEED_PASSWORD';\r\n\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\tcase PDFJS.PasswordResponses.INCORRECT_PASSWORD:\r\n\t\t\t\t\t\t\t\t\treasonStr = 'INCORRECT_PASSWORD';\r\n\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\temitEvent('password', updatePassword, reasonStr);\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\tonProgress: function(status) {\r\n\r\n\t\t\t\t\t\t\tvar ratio = status.loaded / status.total;\r\n\t\t\t\t\t\t\temitEvent('progress', Math.min(ratio, 1));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn loadingTask.promise;\r\n\t\t\t})\r\n\t\t\t.then(function(pdf) {\r\n\r\n\t\t\t\tpdfDoc = pdf;\r\n\t\t\t\temitEvent('num-pages', pdf.numPages);\r\n\t\t\t\temitEvent('loaded');\r\n\t\t\t})\r\n\t\t\t.catch(function(err) {\r\n\r\n\t\t\t\tclearCanvas();\r\n\t\t\t\tclearAnnotations();\r\n\t\t\t\temitEvent('error', err);\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\tannotationLayerElt.style.transformOrigin = '0 0';\r\n\t}\r\n\r\n\treturn {\r\n\t\tcreateLoadingTask: createLoadingTask,\r\n\t\tPDFJSWrapper: PDFJSWrapper,\r\n\t}\r\n}\r\n","import mod 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&\"; export default mod; 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&\"","/**\n * @licstart The following is the entire license notice for the\n * Javascript code in this page\n *\n * Copyright 2020 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * @licend The above is the entire license notice for the\n * Javascript code in this page\n */\n\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"pdfjs-dist/web/pdf_viewer\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"pdfjs-dist/web/pdf_viewer\"] = factory();\n\telse\n\t\troot[\"pdfjs-dist/web/pdf_viewer\"] = root.pdfjsViewer = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __w_pdfjs_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __w_pdfjs_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__w_pdfjs_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__w_pdfjs_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__w_pdfjs_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__w_pdfjs_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__w_pdfjs_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__w_pdfjs_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __w_pdfjs_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__w_pdfjs_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __w_pdfjs_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__w_pdfjs_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__w_pdfjs_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__w_pdfjs_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__w_pdfjs_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __w_pdfjs_require__(__w_pdfjs_require__.s = 0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"AnnotationLayerBuilder\", {\n enumerable: true,\n get: function get() {\n return _annotation_layer_builder.AnnotationLayerBuilder;\n }\n});\nObject.defineProperty(exports, \"DefaultAnnotationLayerFactory\", {\n enumerable: true,\n get: function get() {\n return _annotation_layer_builder.DefaultAnnotationLayerFactory;\n }\n});\nObject.defineProperty(exports, \"DefaultTextLayerFactory\", {\n enumerable: true,\n get: function get() {\n return _text_layer_builder.DefaultTextLayerFactory;\n }\n});\nObject.defineProperty(exports, \"TextLayerBuilder\", {\n enumerable: true,\n get: function get() {\n return _text_layer_builder.TextLayerBuilder;\n }\n});\nObject.defineProperty(exports, \"EventBus\", {\n enumerable: true,\n get: function get() {\n return _ui_utils.EventBus;\n }\n});\nObject.defineProperty(exports, \"NullL10n\", {\n enumerable: true,\n get: function get() {\n return _ui_utils.NullL10n;\n }\n});\nObject.defineProperty(exports, \"ProgressBar\", {\n enumerable: true,\n get: function get() {\n return _ui_utils.ProgressBar;\n }\n});\nObject.defineProperty(exports, \"PDFLinkService\", {\n enumerable: true,\n get: function get() {\n return _pdf_link_service.PDFLinkService;\n }\n});\nObject.defineProperty(exports, \"SimpleLinkService\", {\n enumerable: true,\n get: function get() {\n return _pdf_link_service.SimpleLinkService;\n }\n});\nObject.defineProperty(exports, \"DownloadManager\", {\n enumerable: true,\n get: function get() {\n return _download_manager.DownloadManager;\n }\n});\nObject.defineProperty(exports, \"GenericL10n\", {\n enumerable: true,\n get: function get() {\n return _genericl10n.GenericL10n;\n }\n});\nObject.defineProperty(exports, \"PDFFindController\", {\n enumerable: true,\n get: function get() {\n return _pdf_find_controller.PDFFindController;\n }\n});\nObject.defineProperty(exports, \"PDFHistory\", {\n enumerable: true,\n get: function get() {\n return _pdf_history.PDFHistory;\n }\n});\nObject.defineProperty(exports, \"PDFPageView\", {\n enumerable: true,\n get: function get() {\n return _pdf_page_view.PDFPageView;\n }\n});\nObject.defineProperty(exports, \"PDFSinglePageViewer\", {\n enumerable: true,\n get: function get() {\n return _pdf_single_page_viewer.PDFSinglePageViewer;\n }\n});\nObject.defineProperty(exports, \"PDFViewer\", {\n enumerable: true,\n get: function get() {\n return _pdf_viewer.PDFViewer;\n }\n});\n\nvar _annotation_layer_builder = __w_pdfjs_require__(1);\n\nvar _text_layer_builder = __w_pdfjs_require__(8);\n\nvar _ui_utils = __w_pdfjs_require__(3);\n\nvar _pdf_link_service = __w_pdfjs_require__(7);\n\nvar _download_manager = __w_pdfjs_require__(9);\n\nvar _genericl10n = __w_pdfjs_require__(11);\n\nvar _pdf_find_controller = __w_pdfjs_require__(13);\n\nvar _pdf_history = __w_pdfjs_require__(15);\n\nvar _pdf_page_view = __w_pdfjs_require__(16);\n\nvar _pdf_single_page_viewer = __w_pdfjs_require__(18);\n\nvar _pdf_viewer = __w_pdfjs_require__(20);\n\nvar pdfjsVersion = '2.5.207';\nvar pdfjsBuild = '0974d605';\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.DefaultAnnotationLayerFactory = exports.AnnotationLayerBuilder = void 0;\n\nvar _pdfjsLib = __w_pdfjs_require__(2);\n\nvar _ui_utils = __w_pdfjs_require__(3);\n\nvar _pdf_link_service = __w_pdfjs_require__(7);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar AnnotationLayerBuilder = /*#__PURE__*/function () {\n function AnnotationLayerBuilder(_ref) {\n var pageDiv = _ref.pageDiv,\n pdfPage = _ref.pdfPage,\n linkService = _ref.linkService,\n downloadManager = _ref.downloadManager,\n _ref$imageResourcesPa = _ref.imageResourcesPath,\n imageResourcesPath = _ref$imageResourcesPa === void 0 ? \"\" : _ref$imageResourcesPa,\n _ref$renderInteractiv = _ref.renderInteractiveForms,\n renderInteractiveForms = _ref$renderInteractiv === void 0 ? false : _ref$renderInteractiv,\n _ref$l10n = _ref.l10n,\n l10n = _ref$l10n === void 0 ? _ui_utils.NullL10n : _ref$l10n;\n\n _classCallCheck(this, AnnotationLayerBuilder);\n\n this.pageDiv = pageDiv;\n this.pdfPage = pdfPage;\n this.linkService = linkService;\n this.downloadManager = downloadManager;\n this.imageResourcesPath = imageResourcesPath;\n this.renderInteractiveForms = renderInteractiveForms;\n this.l10n = l10n;\n this.div = null;\n this._cancelled = false;\n }\n\n _createClass(AnnotationLayerBuilder, [{\n key: \"render\",\n value: function render(viewport) {\n var _this = this;\n\n var intent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"display\";\n this.pdfPage.getAnnotations({\n intent: intent\n }).then(function (annotations) {\n if (_this._cancelled) {\n return;\n }\n\n var parameters = {\n viewport: viewport.clone({\n dontFlip: true\n }),\n div: _this.div,\n annotations: annotations,\n page: _this.pdfPage,\n imageResourcesPath: _this.imageResourcesPath,\n renderInteractiveForms: _this.renderInteractiveForms,\n linkService: _this.linkService,\n downloadManager: _this.downloadManager\n };\n\n if (_this.div) {\n _pdfjsLib.AnnotationLayer.update(parameters);\n } else {\n if (annotations.length === 0) {\n return;\n }\n\n _this.div = document.createElement(\"div\");\n _this.div.className = \"annotationLayer\";\n\n _this.pageDiv.appendChild(_this.div);\n\n parameters.div = _this.div;\n\n _pdfjsLib.AnnotationLayer.render(parameters);\n\n _this.l10n.translate(_this.div);\n }\n });\n }\n }, {\n key: \"cancel\",\n value: function cancel() {\n this._cancelled = true;\n }\n }, {\n key: \"hide\",\n value: function hide() {\n if (!this.div) {\n return;\n }\n\n this.div.setAttribute(\"hidden\", \"true\");\n }\n }]);\n\n return AnnotationLayerBuilder;\n}();\n\nexports.AnnotationLayerBuilder = AnnotationLayerBuilder;\n\nvar DefaultAnnotationLayerFactory = /*#__PURE__*/function () {\n function DefaultAnnotationLayerFactory() {\n _classCallCheck(this, DefaultAnnotationLayerFactory);\n }\n\n _createClass(DefaultAnnotationLayerFactory, [{\n key: \"createAnnotationLayerBuilder\",\n value: function createAnnotationLayerBuilder(pageDiv, pdfPage) {\n var imageResourcesPath = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : \"\";\n var renderInteractiveForms = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n var l10n = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : _ui_utils.NullL10n;\n return new AnnotationLayerBuilder({\n pageDiv: pageDiv,\n pdfPage: pdfPage,\n imageResourcesPath: imageResourcesPath,\n renderInteractiveForms: renderInteractiveForms,\n linkService: new _pdf_link_service.SimpleLinkService(),\n l10n: l10n\n });\n }\n }]);\n\n return DefaultAnnotationLayerFactory;\n}();\n\nexports.DefaultAnnotationLayerFactory = DefaultAnnotationLayerFactory;\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar pdfjsLib;\n\nif (typeof window !== \"undefined\" && window[\"pdfjs-dist/build/pdf\"]) {\n pdfjsLib = window[\"pdfjs-dist/build/pdf\"];\n} else {\n pdfjsLib = require(\"../build/pdf.js\");\n}\n\nmodule.exports = pdfjsLib;\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isValidRotation = isValidRotation;\nexports.isValidScrollMode = isValidScrollMode;\nexports.isValidSpreadMode = isValidSpreadMode;\nexports.isPortraitOrientation = isPortraitOrientation;\nexports.clamp = clamp;\nexports.getPDFFileNameFromURL = getPDFFileNameFromURL;\nexports.noContextMenuHandler = noContextMenuHandler;\nexports.parseQueryString = parseQueryString;\nexports.backtrackBeforeAllVisibleElements = backtrackBeforeAllVisibleElements;\nexports.getVisibleElements = getVisibleElements;\nexports.roundToDivide = roundToDivide;\nexports.getPageSizeInches = getPageSizeInches;\nexports.approximateFraction = approximateFraction;\nexports.getOutputScale = getOutputScale;\nexports.scrollIntoView = scrollIntoView;\nexports.watchScroll = watchScroll;\nexports.binarySearchFirstItem = binarySearchFirstItem;\nexports.normalizeWheelEventDelta = normalizeWheelEventDelta;\nexports.waitOnEventOrTimeout = waitOnEventOrTimeout;\nexports.moveToEndOfArray = moveToEndOfArray;\nexports.WaitOnType = exports.animationStarted = exports.ProgressBar = exports.EventBus = exports.NullL10n = exports.SpreadMode = exports.ScrollMode = exports.TextLayerMode = exports.RendererType = exports.PresentationModeState = exports.VERTICAL_PADDING = exports.SCROLLBAR_PADDING = exports.MAX_AUTO_SCALE = exports.UNKNOWN_SCALE = exports.MAX_SCALE = exports.MIN_SCALE = exports.DEFAULT_SCALE = exports.DEFAULT_SCALE_VALUE = exports.CSS_UNITS = exports.AutoPrintRegExp = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(4));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nvar CSS_UNITS = 96.0 / 72.0;\nexports.CSS_UNITS = CSS_UNITS;\nvar DEFAULT_SCALE_VALUE = \"auto\";\nexports.DEFAULT_SCALE_VALUE = DEFAULT_SCALE_VALUE;\nvar DEFAULT_SCALE = 1.0;\nexports.DEFAULT_SCALE = DEFAULT_SCALE;\nvar MIN_SCALE = 0.1;\nexports.MIN_SCALE = MIN_SCALE;\nvar MAX_SCALE = 10.0;\nexports.MAX_SCALE = MAX_SCALE;\nvar UNKNOWN_SCALE = 0;\nexports.UNKNOWN_SCALE = UNKNOWN_SCALE;\nvar MAX_AUTO_SCALE = 1.25;\nexports.MAX_AUTO_SCALE = MAX_AUTO_SCALE;\nvar SCROLLBAR_PADDING = 40;\nexports.SCROLLBAR_PADDING = SCROLLBAR_PADDING;\nvar VERTICAL_PADDING = 5;\nexports.VERTICAL_PADDING = VERTICAL_PADDING;\nvar PresentationModeState = {\n UNKNOWN: 0,\n NORMAL: 1,\n CHANGING: 2,\n FULLSCREEN: 3\n};\nexports.PresentationModeState = PresentationModeState;\nvar RendererType = {\n CANVAS: \"canvas\",\n SVG: \"svg\"\n};\nexports.RendererType = RendererType;\nvar TextLayerMode = {\n DISABLE: 0,\n ENABLE: 1,\n ENABLE_ENHANCE: 2\n};\nexports.TextLayerMode = TextLayerMode;\nvar ScrollMode = {\n UNKNOWN: -1,\n VERTICAL: 0,\n HORIZONTAL: 1,\n WRAPPED: 2\n};\nexports.ScrollMode = ScrollMode;\nvar SpreadMode = {\n UNKNOWN: -1,\n NONE: 0,\n ODD: 1,\n EVEN: 2\n};\nexports.SpreadMode = SpreadMode;\nvar AutoPrintRegExp = /\\bprint\\s*\\(/;\nexports.AutoPrintRegExp = AutoPrintRegExp;\n\nfunction formatL10nValue(text, args) {\n if (!args) {\n return text;\n }\n\n return text.replace(/\\{\\{\\s*(\\w+)\\s*\\}\\}/g, function (all, name) {\n return name in args ? args[name] : \"{{\" + name + \"}}\";\n });\n}\n\nvar NullL10n = {\n getLanguage: function getLanguage() {\n return _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee() {\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n return _context.abrupt(\"return\", \"en-us\");\n\n case 1:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }))();\n },\n getDirection: function getDirection() {\n return _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2() {\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n return _context2.abrupt(\"return\", \"ltr\");\n\n case 1:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }))();\n },\n get: function get(property, args, fallback) {\n return _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee3() {\n return _regenerator[\"default\"].wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n return _context3.abrupt(\"return\", formatL10nValue(fallback, args));\n\n case 1:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3);\n }))();\n },\n translate: function translate(element) {\n return _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee4() {\n return _regenerator[\"default\"].wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4);\n }))();\n }\n};\nexports.NullL10n = NullL10n;\n\nfunction getOutputScale(ctx) {\n var devicePixelRatio = window.devicePixelRatio || 1;\n var backingStoreRatio = ctx.webkitBackingStorePixelRatio || ctx.mozBackingStorePixelRatio || ctx.msBackingStorePixelRatio || ctx.oBackingStorePixelRatio || ctx.backingStorePixelRatio || 1;\n var pixelRatio = devicePixelRatio / backingStoreRatio;\n return {\n sx: pixelRatio,\n sy: pixelRatio,\n scaled: pixelRatio !== 1\n };\n}\n\nfunction scrollIntoView(element, spot) {\n var skipOverflowHiddenElements = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var parent = element.offsetParent;\n\n if (!parent) {\n console.error(\"offsetParent is not set -- cannot scroll\");\n return;\n }\n\n var offsetY = element.offsetTop + element.clientTop;\n var offsetX = element.offsetLeft + element.clientLeft;\n\n while (parent.clientHeight === parent.scrollHeight && parent.clientWidth === parent.scrollWidth || skipOverflowHiddenElements && getComputedStyle(parent).overflow === \"hidden\") {\n if (parent.dataset._scaleY) {\n offsetY /= parent.dataset._scaleY;\n offsetX /= parent.dataset._scaleX;\n }\n\n offsetY += parent.offsetTop;\n offsetX += parent.offsetLeft;\n parent = parent.offsetParent;\n\n if (!parent) {\n return;\n }\n }\n\n if (spot) {\n if (spot.top !== undefined) {\n offsetY += spot.top;\n }\n\n if (spot.left !== undefined) {\n offsetX += spot.left;\n parent.scrollLeft = offsetX;\n }\n }\n\n parent.scrollTop = offsetY;\n}\n\nfunction watchScroll(viewAreaElement, callback) {\n var debounceScroll = function debounceScroll(evt) {\n if (rAF) {\n return;\n }\n\n rAF = window.requestAnimationFrame(function viewAreaElementScrolled() {\n rAF = null;\n var currentX = viewAreaElement.scrollLeft;\n var lastX = state.lastX;\n\n if (currentX !== lastX) {\n state.right = currentX > lastX;\n }\n\n state.lastX = currentX;\n var currentY = viewAreaElement.scrollTop;\n var lastY = state.lastY;\n\n if (currentY !== lastY) {\n state.down = currentY > lastY;\n }\n\n state.lastY = currentY;\n callback(state);\n });\n };\n\n var state = {\n right: true,\n down: true,\n lastX: viewAreaElement.scrollLeft,\n lastY: viewAreaElement.scrollTop,\n _eventHandler: debounceScroll\n };\n var rAF = null;\n viewAreaElement.addEventListener(\"scroll\", debounceScroll, true);\n return state;\n}\n\nfunction parseQueryString(query) {\n var parts = query.split(\"&\");\n var params = Object.create(null);\n\n for (var i = 0, ii = parts.length; i < ii; ++i) {\n var param = parts[i].split(\"=\");\n var key = param[0].toLowerCase();\n var value = param.length > 1 ? param[1] : null;\n params[decodeURIComponent(key)] = decodeURIComponent(value);\n }\n\n return params;\n}\n\nfunction binarySearchFirstItem(items, condition) {\n var minIndex = 0;\n var maxIndex = items.length - 1;\n\n if (maxIndex < 0 || !condition(items[maxIndex])) {\n return items.length;\n }\n\n if (condition(items[minIndex])) {\n return minIndex;\n }\n\n while (minIndex < maxIndex) {\n var currentIndex = minIndex + maxIndex >> 1;\n var currentItem = items[currentIndex];\n\n if (condition(currentItem)) {\n maxIndex = currentIndex;\n } else {\n minIndex = currentIndex + 1;\n }\n }\n\n return minIndex;\n}\n\nfunction approximateFraction(x) {\n if (Math.floor(x) === x) {\n return [x, 1];\n }\n\n var xinv = 1 / x;\n var limit = 8;\n\n if (xinv > limit) {\n return [1, limit];\n } else if (Math.floor(xinv) === xinv) {\n return [1, xinv];\n }\n\n var x_ = x > 1 ? xinv : x;\n var a = 0,\n b = 1,\n c = 1,\n d = 1;\n\n while (true) {\n var p = a + c,\n q = b + d;\n\n if (q > limit) {\n break;\n }\n\n if (x_ <= p / q) {\n c = p;\n d = q;\n } else {\n a = p;\n b = q;\n }\n }\n\n var result;\n\n if (x_ - a / b < c / d - x_) {\n result = x_ === x ? [a, b] : [b, a];\n } else {\n result = x_ === x ? [c, d] : [d, c];\n }\n\n return result;\n}\n\nfunction roundToDivide(x, div) {\n var r = x % div;\n return r === 0 ? x : Math.round(x - r + div);\n}\n\nfunction getPageSizeInches(_ref) {\n var view = _ref.view,\n userUnit = _ref.userUnit,\n rotate = _ref.rotate;\n\n var _view = _slicedToArray(view, 4),\n x1 = _view[0],\n y1 = _view[1],\n x2 = _view[2],\n y2 = _view[3];\n\n var changeOrientation = rotate % 180 !== 0;\n var width = (x2 - x1) / 72 * userUnit;\n var height = (y2 - y1) / 72 * userUnit;\n return {\n width: changeOrientation ? height : width,\n height: changeOrientation ? width : height\n };\n}\n\nfunction backtrackBeforeAllVisibleElements(index, views, top) {\n if (index < 2) {\n return index;\n }\n\n var elt = views[index].div;\n var pageTop = elt.offsetTop + elt.clientTop;\n\n if (pageTop >= top) {\n elt = views[index - 1].div;\n pageTop = elt.offsetTop + elt.clientTop;\n }\n\n for (var i = index - 2; i >= 0; --i) {\n elt = views[i].div;\n\n if (elt.offsetTop + elt.clientTop + elt.clientHeight <= pageTop) {\n break;\n }\n\n index = i;\n }\n\n return index;\n}\n\nfunction getVisibleElements(scrollEl, views) {\n var sortByVisibility = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var horizontal = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n var top = scrollEl.scrollTop,\n bottom = top + scrollEl.clientHeight;\n var left = scrollEl.scrollLeft,\n right = left + scrollEl.clientWidth;\n\n function isElementBottomAfterViewTop(view) {\n var element = view.div;\n var elementBottom = element.offsetTop + element.clientTop + element.clientHeight;\n return elementBottom > top;\n }\n\n function isElementRightAfterViewLeft(view) {\n var element = view.div;\n var elementRight = element.offsetLeft + element.clientLeft + element.clientWidth;\n return elementRight > left;\n }\n\n var visible = [],\n numViews = views.length;\n var firstVisibleElementInd = numViews === 0 ? 0 : binarySearchFirstItem(views, horizontal ? isElementRightAfterViewLeft : isElementBottomAfterViewTop);\n\n if (firstVisibleElementInd > 0 && firstVisibleElementInd < numViews && !horizontal) {\n firstVisibleElementInd = backtrackBeforeAllVisibleElements(firstVisibleElementInd, views, top);\n }\n\n var lastEdge = horizontal ? right : -1;\n\n for (var i = firstVisibleElementInd; i < numViews; i++) {\n var view = views[i],\n element = view.div;\n var currentWidth = element.offsetLeft + element.clientLeft;\n var currentHeight = element.offsetTop + element.clientTop;\n var viewWidth = element.clientWidth,\n viewHeight = element.clientHeight;\n var viewRight = currentWidth + viewWidth;\n var viewBottom = currentHeight + viewHeight;\n\n if (lastEdge === -1) {\n if (viewBottom >= bottom) {\n lastEdge = viewBottom;\n }\n } else if ((horizontal ? currentWidth : currentHeight) > lastEdge) {\n break;\n }\n\n if (viewBottom <= top || currentHeight >= bottom || viewRight <= left || currentWidth >= right) {\n continue;\n }\n\n var hiddenHeight = Math.max(0, top - currentHeight) + Math.max(0, viewBottom - bottom);\n var hiddenWidth = Math.max(0, left - currentWidth) + Math.max(0, viewRight - right);\n var percent = (viewHeight - hiddenHeight) * (viewWidth - hiddenWidth) * 100 / viewHeight / viewWidth | 0;\n visible.push({\n id: view.id,\n x: currentWidth,\n y: currentHeight,\n view: view,\n percent: percent\n });\n }\n\n var first = visible[0],\n last = visible[visible.length - 1];\n\n if (sortByVisibility) {\n visible.sort(function (a, b) {\n var pc = a.percent - b.percent;\n\n if (Math.abs(pc) > 0.001) {\n return -pc;\n }\n\n return a.id - b.id;\n });\n }\n\n return {\n first: first,\n last: last,\n views: visible\n };\n}\n\nfunction noContextMenuHandler(evt) {\n evt.preventDefault();\n}\n\nfunction isDataSchema(url) {\n var i = 0;\n var ii = url.length;\n\n while (i < ii && url[i].trim() === \"\") {\n i++;\n }\n\n return url.substring(i, i + 5).toLowerCase() === \"data:\";\n}\n\nfunction getPDFFileNameFromURL(url) {\n var defaultFilename = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"document.pdf\";\n\n if (typeof url !== \"string\") {\n return defaultFilename;\n }\n\n if (isDataSchema(url)) {\n console.warn(\"getPDFFileNameFromURL: \" + 'ignoring \"data:\" URL for performance reasons.');\n return defaultFilename;\n }\n\n var reURI = /^(?:(?:[^:]+:)?\\/\\/[^\\/]+)?([^?#]*)(\\?[^#]*)?(#.*)?$/;\n var reFilename = /[^\\/?#=]+\\.pdf\\b(?!.*\\.pdf\\b)/i;\n var splitURI = reURI.exec(url);\n var suggestedFilename = reFilename.exec(splitURI[1]) || reFilename.exec(splitURI[2]) || reFilename.exec(splitURI[3]);\n\n if (suggestedFilename) {\n suggestedFilename = suggestedFilename[0];\n\n if (suggestedFilename.includes(\"%\")) {\n try {\n suggestedFilename = reFilename.exec(decodeURIComponent(suggestedFilename))[0];\n } catch (ex) {}\n }\n }\n\n return suggestedFilename || defaultFilename;\n}\n\nfunction normalizeWheelEventDelta(evt) {\n var delta = Math.sqrt(evt.deltaX * evt.deltaX + evt.deltaY * evt.deltaY);\n var angle = Math.atan2(evt.deltaY, evt.deltaX);\n\n if (-0.25 * Math.PI < angle && angle < 0.75 * Math.PI) {\n delta = -delta;\n }\n\n var MOUSE_DOM_DELTA_PIXEL_MODE = 0;\n var MOUSE_DOM_DELTA_LINE_MODE = 1;\n var MOUSE_PIXELS_PER_LINE = 30;\n var MOUSE_LINES_PER_PAGE = 30;\n\n if (evt.deltaMode === MOUSE_DOM_DELTA_PIXEL_MODE) {\n delta /= MOUSE_PIXELS_PER_LINE * MOUSE_LINES_PER_PAGE;\n } else if (evt.deltaMode === MOUSE_DOM_DELTA_LINE_MODE) {\n delta /= MOUSE_LINES_PER_PAGE;\n }\n\n return delta;\n}\n\nfunction isValidRotation(angle) {\n return Number.isInteger(angle) && angle % 90 === 0;\n}\n\nfunction isValidScrollMode(mode) {\n return Number.isInteger(mode) && Object.values(ScrollMode).includes(mode) && mode !== ScrollMode.UNKNOWN;\n}\n\nfunction isValidSpreadMode(mode) {\n return Number.isInteger(mode) && Object.values(SpreadMode).includes(mode) && mode !== SpreadMode.UNKNOWN;\n}\n\nfunction isPortraitOrientation(size) {\n return size.width <= size.height;\n}\n\nvar WaitOnType = {\n EVENT: \"event\",\n TIMEOUT: \"timeout\"\n};\nexports.WaitOnType = WaitOnType;\n\nfunction waitOnEventOrTimeout(_ref2) {\n var target = _ref2.target,\n name = _ref2.name,\n _ref2$delay = _ref2.delay,\n delay = _ref2$delay === void 0 ? 0 : _ref2$delay;\n return new Promise(function (resolve, reject) {\n if (_typeof(target) !== \"object\" || !(name && typeof name === \"string\") || !(Number.isInteger(delay) && delay >= 0)) {\n throw new Error(\"waitOnEventOrTimeout - invalid parameters.\");\n }\n\n function handler(type) {\n if (target instanceof EventBus) {\n target._off(name, eventHandler);\n } else {\n target.removeEventListener(name, eventHandler);\n }\n\n if (timeout) {\n clearTimeout(timeout);\n }\n\n resolve(type);\n }\n\n var eventHandler = handler.bind(null, WaitOnType.EVENT);\n\n if (target instanceof EventBus) {\n target._on(name, eventHandler);\n } else {\n target.addEventListener(name, eventHandler);\n }\n\n var timeoutHandler = handler.bind(null, WaitOnType.TIMEOUT);\n var timeout = setTimeout(timeoutHandler, delay);\n });\n}\n\nvar animationStarted = new Promise(function (resolve) {\n window.requestAnimationFrame(resolve);\n});\nexports.animationStarted = animationStarted;\n\nfunction dispatchDOMEvent(eventName) {\n var args = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n throw new Error(\"Not implemented: dispatchDOMEvent\");\n}\n\nvar EventBus = /*#__PURE__*/function () {\n function EventBus(options) {\n _classCallCheck(this, EventBus);\n\n this._listeners = Object.create(null);\n }\n\n _createClass(EventBus, [{\n key: \"on\",\n value: function on(eventName, listener) {\n this._on(eventName, listener, {\n external: true\n });\n }\n }, {\n key: \"off\",\n value: function off(eventName, listener) {\n this._off(eventName, listener, {\n external: true\n });\n }\n }, {\n key: \"dispatch\",\n value: function dispatch(eventName) {\n var eventListeners = this._listeners[eventName];\n\n if (!eventListeners || eventListeners.length === 0) {\n return;\n }\n\n var args = Array.prototype.slice.call(arguments, 1);\n var externalListeners;\n eventListeners.slice(0).forEach(function (_ref3) {\n var listener = _ref3.listener,\n external = _ref3.external;\n\n if (external) {\n if (!externalListeners) {\n externalListeners = [];\n }\n\n externalListeners.push(listener);\n return;\n }\n\n listener.apply(null, args);\n });\n\n if (externalListeners) {\n externalListeners.forEach(function (listener) {\n listener.apply(null, args);\n });\n externalListeners = null;\n }\n }\n }, {\n key: \"_on\",\n value: function _on(eventName, listener) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n var eventListeners = this._listeners[eventName];\n\n if (!eventListeners) {\n this._listeners[eventName] = eventListeners = [];\n }\n\n eventListeners.push({\n listener: listener,\n external: (options && options.external) === true\n });\n }\n }, {\n key: \"_off\",\n value: function _off(eventName, listener) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n var eventListeners = this._listeners[eventName];\n\n if (!eventListeners) {\n return;\n }\n\n for (var i = 0, ii = eventListeners.length; i < ii; i++) {\n if (eventListeners[i].listener === listener) {\n eventListeners.splice(i, 1);\n return;\n }\n }\n }\n }]);\n\n return EventBus;\n}();\n\nexports.EventBus = EventBus;\n\nfunction clamp(v, min, max) {\n return Math.min(Math.max(v, min), max);\n}\n\nvar ProgressBar = /*#__PURE__*/function () {\n function ProgressBar(id) {\n var _ref4 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n height = _ref4.height,\n width = _ref4.width,\n units = _ref4.units;\n\n _classCallCheck(this, ProgressBar);\n\n this.visible = true;\n this.div = document.querySelector(id + \" .progress\");\n this.bar = this.div.parentNode;\n this.height = height || 100;\n this.width = width || 100;\n this.units = units || \"%\";\n this.div.style.height = this.height + this.units;\n this.percent = 0;\n }\n\n _createClass(ProgressBar, [{\n key: \"_updateBar\",\n value: function _updateBar() {\n if (this._indeterminate) {\n this.div.classList.add(\"indeterminate\");\n this.div.style.width = this.width + this.units;\n return;\n }\n\n this.div.classList.remove(\"indeterminate\");\n var progressSize = this.width * this._percent / 100;\n this.div.style.width = progressSize + this.units;\n }\n }, {\n key: \"setWidth\",\n value: function setWidth(viewer) {\n if (!viewer) {\n return;\n }\n\n var container = viewer.parentNode;\n var scrollbarWidth = container.offsetWidth - viewer.offsetWidth;\n\n if (scrollbarWidth > 0) {\n this.bar.style.width = \"calc(100% - \".concat(scrollbarWidth, \"px)\");\n }\n }\n }, {\n key: \"hide\",\n value: function hide() {\n if (!this.visible) {\n return;\n }\n\n this.visible = false;\n this.bar.classList.add(\"hidden\");\n document.body.classList.remove(\"loadingInProgress\");\n }\n }, {\n key: \"show\",\n value: function show() {\n if (this.visible) {\n return;\n }\n\n this.visible = true;\n document.body.classList.add(\"loadingInProgress\");\n this.bar.classList.remove(\"hidden\");\n }\n }, {\n key: \"percent\",\n get: function get() {\n return this._percent;\n },\n set: function set(val) {\n this._indeterminate = isNaN(val);\n this._percent = clamp(val, 0, 100);\n\n this._updateBar();\n }\n }]);\n\n return ProgressBar;\n}();\n\nexports.ProgressBar = ProgressBar;\n\nfunction moveToEndOfArray(arr, condition) {\n var moved = [],\n len = arr.length;\n var write = 0;\n\n for (var read = 0; read < len; ++read) {\n if (condition(arr[read])) {\n moved.push(arr[read]);\n } else {\n arr[write] = arr[read];\n ++write;\n }\n }\n\n for (var _read = 0; write < len; ++_read, ++write) {\n arr[write] = moved[_read];\n }\n}\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = __w_pdfjs_require__(5);\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(module) {\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar runtime = function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined;\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n return generator;\n }\n\n exports.wrap = wrap;\n\n function tryCatch(fn, obj, arg) {\n try {\n return {\n type: \"normal\",\n arg: fn.call(obj, arg)\n };\n } catch (err) {\n return {\n type: \"throw\",\n arg: err\n };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n var ContinueSentinel = {};\n\n function Generator() {}\n\n function GeneratorFunction() {}\n\n function GeneratorFunctionPrototype() {}\n\n var IteratorPrototype = {};\n\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n\n if (NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunctionPrototype[toStringTagSymbol] = GeneratorFunction.displayName = \"GeneratorFunction\";\n\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function (method) {\n prototype[method] = function (arg) {\n return this._invoke(method, arg);\n };\n });\n }\n\n exports.isGeneratorFunction = function (genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor ? ctor === GeneratorFunction || (ctor.displayName || ctor.name) === \"GeneratorFunction\" : false;\n };\n\n exports.mark = function (genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n\n if (!(toStringTagSymbol in genFun)) {\n genFun[toStringTagSymbol] = \"GeneratorFunction\";\n }\n }\n\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n exports.awrap = function (arg) {\n return {\n __await: arg\n };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n\n if (value && _typeof(value) === \"object\" && hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function (value) {\n invoke(\"next\", value, resolve, reject);\n }, function (err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function (unwrapped) {\n result.value = unwrapped;\n resolve(result);\n }, function (error) {\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function (resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n\n exports.AsyncIterator = AsyncIterator;\n\n exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);\n return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n context.sent = context._sent = context.arg;\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n var record = tryCatch(innerFn, self, context);\n\n if (record.type === \"normal\") {\n state = context.done ? GenStateCompleted : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n\n if (method === undefined) {\n context.delegate = null;\n\n if (context.method === \"throw\") {\n if (delegate.iterator[\"return\"]) {\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (!info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n context[delegate.resultName] = info.value;\n context.next = delegate.nextLoc;\n\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n } else {\n return info;\n }\n\n context.delegate = null;\n return ContinueSentinel;\n }\n\n defineIteratorMethods(Gp);\n Gp[toStringTagSymbol] = \"Generator\";\n\n Gp[iteratorSymbol] = function () {\n return this;\n };\n\n Gp.toString = function () {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = {\n tryLoc: locs[0]\n };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function (object) {\n var keys = [];\n\n for (var key in object) {\n keys.push(key);\n }\n\n keys.reverse();\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1,\n next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n return next;\n };\n\n return next.next = next;\n }\n }\n\n return {\n next: doneResult\n };\n }\n\n exports.values = values;\n\n function doneResult() {\n return {\n value: undefined,\n done: true\n };\n }\n\n Context.prototype = {\n constructor: Context,\n reset: function reset(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n this.method = \"next\";\n this.arg = undefined;\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n if (name.charAt(0) === \"t\" && hasOwn.call(this, name) && !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n stop: function stop() {\n this.done = true;\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n dispatchException: function dispatchException(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !!caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n abrupt: function abrupt(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n\n if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry && (type === \"break\" || type === \"continue\") && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc) {\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n complete: function complete(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" || record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n finish: function finish(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n \"catch\": function _catch(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n\n return thrown;\n }\n }\n\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n return exports;\n}(( false ? undefined : _typeof(module)) === \"object\" ? module.exports : {});\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n/* WEBPACK VAR INJECTION */}.call(this, __w_pdfjs_require__(6)(module)))\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (module) {\n if (!module.webpackPolyfill) {\n module.deprecate = function () {};\n\n module.paths = [];\n if (!module.children) module.children = [];\n Object.defineProperty(module, \"loaded\", {\n enumerable: true,\n get: function get() {\n return module.l;\n }\n });\n Object.defineProperty(module, \"id\", {\n enumerable: true,\n get: function get() {\n return module.i;\n }\n });\n module.webpackPolyfill = 1;\n }\n\n return module;\n};\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SimpleLinkService = exports.PDFLinkService = void 0;\n\nvar _ui_utils = __w_pdfjs_require__(3);\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar PDFLinkService = /*#__PURE__*/function () {\n function PDFLinkService() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n eventBus = _ref.eventBus,\n _ref$externalLinkTarg = _ref.externalLinkTarget,\n externalLinkTarget = _ref$externalLinkTarg === void 0 ? null : _ref$externalLinkTarg,\n _ref$externalLinkRel = _ref.externalLinkRel,\n externalLinkRel = _ref$externalLinkRel === void 0 ? null : _ref$externalLinkRel,\n _ref$externalLinkEnab = _ref.externalLinkEnabled,\n externalLinkEnabled = _ref$externalLinkEnab === void 0 ? true : _ref$externalLinkEnab,\n _ref$ignoreDestinatio = _ref.ignoreDestinationZoom,\n ignoreDestinationZoom = _ref$ignoreDestinatio === void 0 ? false : _ref$ignoreDestinatio;\n\n _classCallCheck(this, PDFLinkService);\n\n this.eventBus = eventBus;\n this.externalLinkTarget = externalLinkTarget;\n this.externalLinkRel = externalLinkRel;\n this.externalLinkEnabled = externalLinkEnabled;\n this._ignoreDestinationZoom = ignoreDestinationZoom;\n this.baseUrl = null;\n this.pdfDocument = null;\n this.pdfViewer = null;\n this.pdfHistory = null;\n this._pagesRefCache = null;\n }\n\n _createClass(PDFLinkService, [{\n key: \"setDocument\",\n value: function setDocument(pdfDocument) {\n var baseUrl = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n this.baseUrl = baseUrl;\n this.pdfDocument = pdfDocument;\n this._pagesRefCache = Object.create(null);\n }\n }, {\n key: \"setViewer\",\n value: function setViewer(pdfViewer) {\n this.pdfViewer = pdfViewer;\n }\n }, {\n key: \"setHistory\",\n value: function setHistory(pdfHistory) {\n this.pdfHistory = pdfHistory;\n }\n }, {\n key: \"navigateTo\",\n value: function navigateTo(dest) {\n var _this = this;\n\n var goToDestination = function goToDestination(_ref2) {\n var namedDest = _ref2.namedDest,\n explicitDest = _ref2.explicitDest;\n var destRef = explicitDest[0];\n var pageNumber;\n\n if (destRef instanceof Object) {\n pageNumber = _this._cachedPageNumber(destRef);\n\n if (pageNumber === null) {\n _this.pdfDocument.getPageIndex(destRef).then(function (pageIndex) {\n _this.cachePageRef(pageIndex + 1, destRef);\n\n goToDestination({\n namedDest: namedDest,\n explicitDest: explicitDest\n });\n })[\"catch\"](function () {\n console.error(\"PDFLinkService.navigateTo: \\\"\".concat(destRef, \"\\\" is not \") + \"a valid page reference, for dest=\\\"\".concat(dest, \"\\\".\"));\n });\n\n return;\n }\n } else if (Number.isInteger(destRef)) {\n pageNumber = destRef + 1;\n } else {\n console.error(\"PDFLinkService.navigateTo: \\\"\".concat(destRef, \"\\\" is not \") + \"a valid destination reference, for dest=\\\"\".concat(dest, \"\\\".\"));\n return;\n }\n\n if (!pageNumber || pageNumber < 1 || pageNumber > _this.pagesCount) {\n console.error(\"PDFLinkService.navigateTo: \\\"\".concat(pageNumber, \"\\\" is not \") + \"a valid page number, for dest=\\\"\".concat(dest, \"\\\".\"));\n return;\n }\n\n if (_this.pdfHistory) {\n _this.pdfHistory.pushCurrentPosition();\n\n _this.pdfHistory.push({\n namedDest: namedDest,\n explicitDest: explicitDest,\n pageNumber: pageNumber\n });\n }\n\n _this.pdfViewer.scrollPageIntoView({\n pageNumber: pageNumber,\n destArray: explicitDest,\n ignoreDestinationZoom: _this._ignoreDestinationZoom\n });\n };\n\n new Promise(function (resolve, reject) {\n if (typeof dest === \"string\") {\n _this.pdfDocument.getDestination(dest).then(function (destArray) {\n resolve({\n namedDest: dest,\n explicitDest: destArray\n });\n });\n\n return;\n }\n\n resolve({\n namedDest: \"\",\n explicitDest: dest\n });\n }).then(function (data) {\n if (!Array.isArray(data.explicitDest)) {\n console.error(\"PDFLinkService.navigateTo: \\\"\".concat(data.explicitDest, \"\\\" is\") + \" not a valid destination array, for dest=\\\"\".concat(dest, \"\\\".\"));\n return;\n }\n\n goToDestination(data);\n });\n }\n }, {\n key: \"getDestinationHash\",\n value: function getDestinationHash(dest) {\n if (typeof dest === \"string\") {\n return this.getAnchorUrl(\"#\" + escape(dest));\n }\n\n if (Array.isArray(dest)) {\n var str = JSON.stringify(dest);\n return this.getAnchorUrl(\"#\" + escape(str));\n }\n\n return this.getAnchorUrl(\"\");\n }\n }, {\n key: \"getAnchorUrl\",\n value: function getAnchorUrl(anchor) {\n return (this.baseUrl || \"\") + anchor;\n }\n }, {\n key: \"setHash\",\n value: function setHash(hash) {\n var pageNumber, dest;\n\n if (hash.includes(\"=\")) {\n var params = (0, _ui_utils.parseQueryString)(hash);\n\n if (\"search\" in params) {\n this.eventBus.dispatch(\"findfromurlhash\", {\n source: this,\n query: params.search.replace(/\"/g, \"\"),\n phraseSearch: params.phrase === \"true\"\n });\n }\n\n if (\"page\" in params) {\n pageNumber = params.page | 0 || 1;\n }\n\n if (\"zoom\" in params) {\n var zoomArgs = params.zoom.split(\",\");\n var zoomArg = zoomArgs[0];\n var zoomArgNumber = parseFloat(zoomArg);\n\n if (!zoomArg.includes(\"Fit\")) {\n dest = [null, {\n name: \"XYZ\"\n }, zoomArgs.length > 1 ? zoomArgs[1] | 0 : null, zoomArgs.length > 2 ? zoomArgs[2] | 0 : null, zoomArgNumber ? zoomArgNumber / 100 : zoomArg];\n } else {\n if (zoomArg === \"Fit\" || zoomArg === \"FitB\") {\n dest = [null, {\n name: zoomArg\n }];\n } else if (zoomArg === \"FitH\" || zoomArg === \"FitBH\" || zoomArg === \"FitV\" || zoomArg === \"FitBV\") {\n dest = [null, {\n name: zoomArg\n }, zoomArgs.length > 1 ? zoomArgs[1] | 0 : null];\n } else if (zoomArg === \"FitR\") {\n if (zoomArgs.length !== 5) {\n console.error('PDFLinkService.setHash: Not enough parameters for \"FitR\".');\n } else {\n dest = [null, {\n name: zoomArg\n }, zoomArgs[1] | 0, zoomArgs[2] | 0, zoomArgs[3] | 0, zoomArgs[4] | 0];\n }\n } else {\n console.error(\"PDFLinkService.setHash: \\\"\".concat(zoomArg, \"\\\" is not \") + \"a valid zoom value.\");\n }\n }\n }\n\n if (dest) {\n this.pdfViewer.scrollPageIntoView({\n pageNumber: pageNumber || this.page,\n destArray: dest,\n allowNegativeOffset: true\n });\n } else if (pageNumber) {\n this.page = pageNumber;\n }\n\n if (\"pagemode\" in params) {\n this.eventBus.dispatch(\"pagemode\", {\n source: this,\n mode: params.pagemode\n });\n }\n\n if (\"nameddest\" in params) {\n this.navigateTo(params.nameddest);\n }\n } else {\n dest = unescape(hash);\n\n try {\n dest = JSON.parse(dest);\n\n if (!Array.isArray(dest)) {\n dest = dest.toString();\n }\n } catch (ex) {}\n\n if (typeof dest === \"string\" || isValidExplicitDestination(dest)) {\n this.navigateTo(dest);\n return;\n }\n\n console.error(\"PDFLinkService.setHash: \\\"\".concat(unescape(hash), \"\\\" is not \") + \"a valid destination.\");\n }\n }\n }, {\n key: \"executeNamedAction\",\n value: function executeNamedAction(action) {\n switch (action) {\n case \"GoBack\":\n if (this.pdfHistory) {\n this.pdfHistory.back();\n }\n\n break;\n\n case \"GoForward\":\n if (this.pdfHistory) {\n this.pdfHistory.forward();\n }\n\n break;\n\n case \"NextPage\":\n if (this.page < this.pagesCount) {\n this.page++;\n }\n\n break;\n\n case \"PrevPage\":\n if (this.page > 1) {\n this.page--;\n }\n\n break;\n\n case \"LastPage\":\n this.page = this.pagesCount;\n break;\n\n case \"FirstPage\":\n this.page = 1;\n break;\n\n default:\n break;\n }\n\n this.eventBus.dispatch(\"namedaction\", {\n source: this,\n action: action\n });\n }\n }, {\n key: \"cachePageRef\",\n value: function cachePageRef(pageNum, pageRef) {\n if (!pageRef) {\n return;\n }\n\n var refStr = pageRef.gen === 0 ? \"\".concat(pageRef.num, \"R\") : \"\".concat(pageRef.num, \"R\").concat(pageRef.gen);\n this._pagesRefCache[refStr] = pageNum;\n }\n }, {\n key: \"_cachedPageNumber\",\n value: function _cachedPageNumber(pageRef) {\n var refStr = pageRef.gen === 0 ? \"\".concat(pageRef.num, \"R\") : \"\".concat(pageRef.num, \"R\").concat(pageRef.gen);\n return this._pagesRefCache && this._pagesRefCache[refStr] || null;\n }\n }, {\n key: \"isPageVisible\",\n value: function isPageVisible(pageNumber) {\n return this.pdfViewer.isPageVisible(pageNumber);\n }\n }, {\n key: \"pagesCount\",\n get: function get() {\n return this.pdfDocument ? this.pdfDocument.numPages : 0;\n }\n }, {\n key: \"page\",\n get: function get() {\n return this.pdfViewer.currentPageNumber;\n },\n set: function set(value) {\n this.pdfViewer.currentPageNumber = value;\n }\n }, {\n key: \"rotation\",\n get: function get() {\n return this.pdfViewer.pagesRotation;\n },\n set: function set(value) {\n this.pdfViewer.pagesRotation = value;\n }\n }]);\n\n return PDFLinkService;\n}();\n\nexports.PDFLinkService = PDFLinkService;\n\nfunction isValidExplicitDestination(dest) {\n if (!Array.isArray(dest)) {\n return false;\n }\n\n var destLength = dest.length;\n\n if (destLength < 2) {\n return false;\n }\n\n var page = dest[0];\n\n if (!(_typeof(page) === \"object\" && Number.isInteger(page.num) && Number.isInteger(page.gen)) && !(Number.isInteger(page) && page >= 0)) {\n return false;\n }\n\n var zoom = dest[1];\n\n if (!(_typeof(zoom) === \"object\" && typeof zoom.name === \"string\")) {\n return false;\n }\n\n var allowNull = true;\n\n switch (zoom.name) {\n case \"XYZ\":\n if (destLength !== 5) {\n return false;\n }\n\n break;\n\n case \"Fit\":\n case \"FitB\":\n return destLength === 2;\n\n case \"FitH\":\n case \"FitBH\":\n case \"FitV\":\n case \"FitBV\":\n if (destLength !== 3) {\n return false;\n }\n\n break;\n\n case \"FitR\":\n if (destLength !== 6) {\n return false;\n }\n\n allowNull = false;\n break;\n\n default:\n return false;\n }\n\n for (var i = 2; i < destLength; i++) {\n var param = dest[i];\n\n if (!(typeof param === \"number\" || allowNull && param === null)) {\n return false;\n }\n }\n\n return true;\n}\n\nvar SimpleLinkService = /*#__PURE__*/function () {\n function SimpleLinkService() {\n _classCallCheck(this, SimpleLinkService);\n\n this.externalLinkTarget = null;\n this.externalLinkRel = null;\n this.externalLinkEnabled = true;\n this._ignoreDestinationZoom = false;\n }\n\n _createClass(SimpleLinkService, [{\n key: \"navigateTo\",\n value: function navigateTo(dest) {}\n }, {\n key: \"getDestinationHash\",\n value: function getDestinationHash(dest) {\n return \"#\";\n }\n }, {\n key: \"getAnchorUrl\",\n value: function getAnchorUrl(hash) {\n return \"#\";\n }\n }, {\n key: \"setHash\",\n value: function setHash(hash) {}\n }, {\n key: \"executeNamedAction\",\n value: function executeNamedAction(action) {}\n }, {\n key: \"cachePageRef\",\n value: function cachePageRef(pageNum, pageRef) {}\n }, {\n key: \"isPageVisible\",\n value: function isPageVisible(pageNumber) {\n return true;\n }\n }, {\n key: \"pagesCount\",\n get: function get() {\n return 0;\n }\n }, {\n key: \"page\",\n get: function get() {\n return 0;\n },\n set: function set(value) {}\n }, {\n key: \"rotation\",\n get: function get() {\n return 0;\n },\n set: function set(value) {}\n }]);\n\n return SimpleLinkService;\n}();\n\nexports.SimpleLinkService = SimpleLinkService;\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.DefaultTextLayerFactory = exports.TextLayerBuilder = void 0;\n\nvar _pdfjsLib = __w_pdfjs_require__(2);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar EXPAND_DIVS_TIMEOUT = 300;\n\nvar TextLayerBuilder = /*#__PURE__*/function () {\n function TextLayerBuilder(_ref) {\n var textLayerDiv = _ref.textLayerDiv,\n eventBus = _ref.eventBus,\n pageIndex = _ref.pageIndex,\n viewport = _ref.viewport,\n _ref$findController = _ref.findController,\n findController = _ref$findController === void 0 ? null : _ref$findController,\n _ref$enhanceTextSelec = _ref.enhanceTextSelection,\n enhanceTextSelection = _ref$enhanceTextSelec === void 0 ? false : _ref$enhanceTextSelec;\n\n _classCallCheck(this, TextLayerBuilder);\n\n this.textLayerDiv = textLayerDiv;\n this.eventBus = eventBus;\n this.textContent = null;\n this.textContentItemsStr = [];\n this.textContentStream = null;\n this.renderingDone = false;\n this.pageIdx = pageIndex;\n this.pageNumber = this.pageIdx + 1;\n this.matches = [];\n this.viewport = viewport;\n this.textDivs = [];\n this.findController = findController;\n this.textLayerRenderTask = null;\n this.enhanceTextSelection = enhanceTextSelection;\n this._onUpdateTextLayerMatches = null;\n\n this._bindMouse();\n }\n\n _createClass(TextLayerBuilder, [{\n key: \"_finishRendering\",\n value: function _finishRendering() {\n this.renderingDone = true;\n\n if (!this.enhanceTextSelection) {\n var endOfContent = document.createElement(\"div\");\n endOfContent.className = \"endOfContent\";\n this.textLayerDiv.appendChild(endOfContent);\n }\n\n this.eventBus.dispatch(\"textlayerrendered\", {\n source: this,\n pageNumber: this.pageNumber,\n numTextDivs: this.textDivs.length\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this = this;\n\n var timeout = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n\n if (!(this.textContent || this.textContentStream) || this.renderingDone) {\n return;\n }\n\n this.cancel();\n this.textDivs = [];\n var textLayerFrag = document.createDocumentFragment();\n this.textLayerRenderTask = (0, _pdfjsLib.renderTextLayer)({\n textContent: this.textContent,\n textContentStream: this.textContentStream,\n container: textLayerFrag,\n viewport: this.viewport,\n textDivs: this.textDivs,\n textContentItemsStr: this.textContentItemsStr,\n timeout: timeout,\n enhanceTextSelection: this.enhanceTextSelection\n });\n this.textLayerRenderTask.promise.then(function () {\n _this.textLayerDiv.appendChild(textLayerFrag);\n\n _this._finishRendering();\n\n _this._updateMatches();\n }, function (reason) {});\n\n if (!this._onUpdateTextLayerMatches) {\n this._onUpdateTextLayerMatches = function (evt) {\n if (evt.pageIndex === _this.pageIdx || evt.pageIndex === -1) {\n _this._updateMatches();\n }\n };\n\n this.eventBus._on(\"updatetextlayermatches\", this._onUpdateTextLayerMatches);\n }\n }\n }, {\n key: \"cancel\",\n value: function cancel() {\n if (this.textLayerRenderTask) {\n this.textLayerRenderTask.cancel();\n this.textLayerRenderTask = null;\n }\n\n if (this._onUpdateTextLayerMatches) {\n this.eventBus._off(\"updatetextlayermatches\", this._onUpdateTextLayerMatches);\n\n this._onUpdateTextLayerMatches = null;\n }\n }\n }, {\n key: \"setTextContentStream\",\n value: function setTextContentStream(readableStream) {\n this.cancel();\n this.textContentStream = readableStream;\n }\n }, {\n key: \"setTextContent\",\n value: function setTextContent(textContent) {\n this.cancel();\n this.textContent = textContent;\n }\n }, {\n key: \"_convertMatches\",\n value: function _convertMatches(matches, matchesLength) {\n if (!matches) {\n return [];\n }\n\n var findController = this.findController,\n textContentItemsStr = this.textContentItemsStr;\n var i = 0,\n iIndex = 0;\n var end = textContentItemsStr.length - 1;\n var queryLen = findController.state.query.length;\n var result = [];\n\n for (var m = 0, mm = matches.length; m < mm; m++) {\n var matchIdx = matches[m];\n\n while (i !== end && matchIdx >= iIndex + textContentItemsStr[i].length) {\n iIndex += textContentItemsStr[i].length;\n i++;\n }\n\n if (i === textContentItemsStr.length) {\n console.error(\"Could not find a matching mapping\");\n }\n\n var match = {\n begin: {\n divIdx: i,\n offset: matchIdx - iIndex\n }\n };\n\n if (matchesLength) {\n matchIdx += matchesLength[m];\n } else {\n matchIdx += queryLen;\n }\n\n while (i !== end && matchIdx > iIndex + textContentItemsStr[i].length) {\n iIndex += textContentItemsStr[i].length;\n i++;\n }\n\n match.end = {\n divIdx: i,\n offset: matchIdx - iIndex\n };\n result.push(match);\n }\n\n return result;\n }\n }, {\n key: \"_renderMatches\",\n value: function _renderMatches(matches) {\n if (matches.length === 0) {\n return;\n }\n\n var findController = this.findController,\n pageIdx = this.pageIdx,\n textContentItemsStr = this.textContentItemsStr,\n textDivs = this.textDivs;\n var isSelectedPage = pageIdx === findController.selected.pageIdx;\n var selectedMatchIdx = findController.selected.matchIdx;\n var highlightAll = findController.state.highlightAll;\n var prevEnd = null;\n var infinity = {\n divIdx: -1,\n offset: undefined\n };\n\n function beginText(begin, className) {\n var divIdx = begin.divIdx;\n textDivs[divIdx].textContent = \"\";\n appendTextToDiv(divIdx, 0, begin.offset, className);\n }\n\n function appendTextToDiv(divIdx, fromOffset, toOffset, className) {\n var div = textDivs[divIdx];\n var content = textContentItemsStr[divIdx].substring(fromOffset, toOffset);\n var node = document.createTextNode(content);\n\n if (className) {\n var span = document.createElement(\"span\");\n span.className = className;\n span.appendChild(node);\n div.appendChild(span);\n return;\n }\n\n div.appendChild(node);\n }\n\n var i0 = selectedMatchIdx,\n i1 = i0 + 1;\n\n if (highlightAll) {\n i0 = 0;\n i1 = matches.length;\n } else if (!isSelectedPage) {\n return;\n }\n\n for (var i = i0; i < i1; i++) {\n var match = matches[i];\n var begin = match.begin;\n var end = match.end;\n var isSelected = isSelectedPage && i === selectedMatchIdx;\n var highlightSuffix = isSelected ? \" selected\" : \"\";\n\n if (isSelected) {\n findController.scrollMatchIntoView({\n element: textDivs[begin.divIdx],\n pageIndex: pageIdx,\n matchIndex: selectedMatchIdx\n });\n }\n\n if (!prevEnd || begin.divIdx !== prevEnd.divIdx) {\n if (prevEnd !== null) {\n appendTextToDiv(prevEnd.divIdx, prevEnd.offset, infinity.offset);\n }\n\n beginText(begin);\n } else {\n appendTextToDiv(prevEnd.divIdx, prevEnd.offset, begin.offset);\n }\n\n if (begin.divIdx === end.divIdx) {\n appendTextToDiv(begin.divIdx, begin.offset, end.offset, \"highlight\" + highlightSuffix);\n } else {\n appendTextToDiv(begin.divIdx, begin.offset, infinity.offset, \"highlight begin\" + highlightSuffix);\n\n for (var n0 = begin.divIdx + 1, n1 = end.divIdx; n0 < n1; n0++) {\n textDivs[n0].className = \"highlight middle\" + highlightSuffix;\n }\n\n beginText(end, \"highlight end\" + highlightSuffix);\n }\n\n prevEnd = end;\n }\n\n if (prevEnd) {\n appendTextToDiv(prevEnd.divIdx, prevEnd.offset, infinity.offset);\n }\n }\n }, {\n key: \"_updateMatches\",\n value: function _updateMatches() {\n if (!this.renderingDone) {\n return;\n }\n\n var findController = this.findController,\n matches = this.matches,\n pageIdx = this.pageIdx,\n textContentItemsStr = this.textContentItemsStr,\n textDivs = this.textDivs;\n var clearedUntilDivIdx = -1;\n\n for (var i = 0, ii = matches.length; i < ii; i++) {\n var match = matches[i];\n var begin = Math.max(clearedUntilDivIdx, match.begin.divIdx);\n\n for (var n = begin, end = match.end.divIdx; n <= end; n++) {\n var div = textDivs[n];\n div.textContent = textContentItemsStr[n];\n div.className = \"\";\n }\n\n clearedUntilDivIdx = match.end.divIdx + 1;\n }\n\n if (!findController || !findController.highlightMatches) {\n return;\n }\n\n var pageMatches = findController.pageMatches[pageIdx] || null;\n var pageMatchesLength = findController.pageMatchesLength[pageIdx] || null;\n this.matches = this._convertMatches(pageMatches, pageMatchesLength);\n\n this._renderMatches(this.matches);\n }\n }, {\n key: \"_bindMouse\",\n value: function _bindMouse() {\n var _this2 = this;\n\n var div = this.textLayerDiv;\n var expandDivsTimer = null;\n div.addEventListener(\"mousedown\", function (evt) {\n if (_this2.enhanceTextSelection && _this2.textLayerRenderTask) {\n _this2.textLayerRenderTask.expandTextDivs(true);\n\n if (expandDivsTimer) {\n clearTimeout(expandDivsTimer);\n expandDivsTimer = null;\n }\n\n return;\n }\n\n var end = div.querySelector(\".endOfContent\");\n\n if (!end) {\n return;\n }\n\n var adjustTop = evt.target !== div;\n adjustTop = adjustTop && window.getComputedStyle(end).getPropertyValue(\"-moz-user-select\") !== \"none\";\n\n if (adjustTop) {\n var divBounds = div.getBoundingClientRect();\n var r = Math.max(0, (evt.pageY - divBounds.top) / divBounds.height);\n end.style.top = (r * 100).toFixed(2) + \"%\";\n }\n\n end.classList.add(\"active\");\n });\n div.addEventListener(\"mouseup\", function () {\n if (_this2.enhanceTextSelection && _this2.textLayerRenderTask) {\n expandDivsTimer = setTimeout(function () {\n if (_this2.textLayerRenderTask) {\n _this2.textLayerRenderTask.expandTextDivs(false);\n }\n\n expandDivsTimer = null;\n }, EXPAND_DIVS_TIMEOUT);\n return;\n }\n\n var end = div.querySelector(\".endOfContent\");\n\n if (!end) {\n return;\n }\n\n end.style.top = \"\";\n end.classList.remove(\"active\");\n });\n }\n }]);\n\n return TextLayerBuilder;\n}();\n\nexports.TextLayerBuilder = TextLayerBuilder;\n\nvar DefaultTextLayerFactory = /*#__PURE__*/function () {\n function DefaultTextLayerFactory() {\n _classCallCheck(this, DefaultTextLayerFactory);\n }\n\n _createClass(DefaultTextLayerFactory, [{\n key: \"createTextLayerBuilder\",\n value: function createTextLayerBuilder(textLayerDiv, pageIndex, viewport) {\n var enhanceTextSelection = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n var eventBus = arguments.length > 4 ? arguments[4] : undefined;\n return new TextLayerBuilder({\n textLayerDiv: textLayerDiv,\n pageIndex: pageIndex,\n viewport: viewport,\n enhanceTextSelection: enhanceTextSelection,\n eventBus: eventBus\n });\n }\n }]);\n\n return DefaultTextLayerFactory;\n}();\n\nexports.DefaultTextLayerFactory = DefaultTextLayerFactory;\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.DownloadManager = void 0;\n\nvar _pdfjsLib = __w_pdfjs_require__(2);\n\nvar _viewer_compatibility = __w_pdfjs_require__(10);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n;\nvar DISABLE_CREATE_OBJECT_URL = _viewer_compatibility.viewerCompatibilityParams.disableCreateObjectURL || false;\n\nfunction _download(blobUrl, filename) {\n var a = document.createElement(\"a\");\n\n if (!a.click) {\n throw new Error('DownloadManager: \"a.click()\" is not supported.');\n }\n\n a.href = blobUrl;\n a.target = \"_parent\";\n\n if (\"download\" in a) {\n a.download = filename;\n }\n\n (document.body || document.documentElement).appendChild(a);\n a.click();\n a.remove();\n}\n\nvar DownloadManager = /*#__PURE__*/function () {\n function DownloadManager(_ref) {\n var _ref$disableCreateObj = _ref.disableCreateObjectURL,\n disableCreateObjectURL = _ref$disableCreateObj === void 0 ? DISABLE_CREATE_OBJECT_URL : _ref$disableCreateObj;\n\n _classCallCheck(this, DownloadManager);\n\n this.disableCreateObjectURL = disableCreateObjectURL;\n }\n\n _createClass(DownloadManager, [{\n key: \"downloadUrl\",\n value: function downloadUrl(url, filename) {\n if (!(0, _pdfjsLib.createValidAbsoluteUrl)(url, \"http://example.com\")) {\n return;\n }\n\n _download(url + \"#pdfjs.action=download\", filename);\n }\n }, {\n key: \"downloadData\",\n value: function downloadData(data, filename, contentType) {\n if (navigator.msSaveBlob) {\n navigator.msSaveBlob(new Blob([data], {\n type: contentType\n }), filename);\n return;\n }\n\n var blobUrl = (0, _pdfjsLib.createObjectURL)(data, contentType, this.disableCreateObjectURL);\n\n _download(blobUrl, filename);\n }\n }, {\n key: \"download\",\n value: function download(blob, url, filename) {\n if (navigator.msSaveBlob) {\n if (!navigator.msSaveBlob(blob, filename)) {\n this.downloadUrl(url, filename);\n }\n\n return;\n }\n\n if (this.disableCreateObjectURL) {\n this.downloadUrl(url, filename);\n return;\n }\n\n var blobUrl = URL.createObjectURL(blob);\n\n _download(blobUrl, filename);\n }\n }]);\n\n return DownloadManager;\n}();\n\nexports.DownloadManager = DownloadManager;\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.viewerCompatibilityParams = void 0;\nvar compatibilityParams = Object.create(null);\n{\n var userAgent = typeof navigator !== \"undefined\" && navigator.userAgent || \"\";\n var platform = typeof navigator !== \"undefined\" && navigator.platform || \"\";\n var maxTouchPoints = typeof navigator !== \"undefined\" && navigator.maxTouchPoints || 1;\n var isAndroid = /Android/.test(userAgent);\n var isIE = /Trident/.test(userAgent);\n var isIOS = /\\b(iPad|iPhone|iPod)(?=;)/.test(userAgent) || platform === \"MacIntel\" && maxTouchPoints > 1;\n var isIOSChrome = /CriOS/.test(userAgent);\n\n (function checkOnBlobSupport() {\n if (isIE || isIOSChrome) {\n compatibilityParams.disableCreateObjectURL = true;\n }\n })();\n\n (function checkCanvasSizeLimitation() {\n if (isIOS || isAndroid) {\n compatibilityParams.maxCanvasPixels = 5242880;\n }\n })();\n}\nvar viewerCompatibilityParams = Object.freeze(compatibilityParams);\nexports.viewerCompatibilityParams = viewerCompatibilityParams;\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.GenericL10n = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(4));\n\n__w_pdfjs_require__(12);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar webL10n = document.webL10n;\n\nvar GenericL10n = /*#__PURE__*/function () {\n function GenericL10n(lang) {\n _classCallCheck(this, GenericL10n);\n\n this._lang = lang;\n this._ready = new Promise(function (resolve, reject) {\n webL10n.setLanguage(lang, function () {\n resolve(webL10n);\n });\n });\n }\n\n _createClass(GenericL10n, [{\n key: \"getLanguage\",\n value: function () {\n var _getLanguage = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee() {\n var l10n;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return this._ready;\n\n case 2:\n l10n = _context.sent;\n return _context.abrupt(\"return\", l10n.getLanguage());\n\n case 4:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function getLanguage() {\n return _getLanguage.apply(this, arguments);\n }\n\n return getLanguage;\n }()\n }, {\n key: \"getDirection\",\n value: function () {\n var _getDirection = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2() {\n var l10n;\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return this._ready;\n\n case 2:\n l10n = _context2.sent;\n return _context2.abrupt(\"return\", l10n.getDirection());\n\n case 4:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function getDirection() {\n return _getDirection.apply(this, arguments);\n }\n\n return getDirection;\n }()\n }, {\n key: \"get\",\n value: function () {\n var _get = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee3(property, args, fallback) {\n var l10n;\n return _regenerator[\"default\"].wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n _context3.next = 2;\n return this._ready;\n\n case 2:\n l10n = _context3.sent;\n return _context3.abrupt(\"return\", l10n.get(property, args, fallback));\n\n case 4:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3, this);\n }));\n\n function get(_x, _x2, _x3) {\n return _get.apply(this, arguments);\n }\n\n return get;\n }()\n }, {\n key: \"translate\",\n value: function () {\n var _translate = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee4(element) {\n var l10n;\n return _regenerator[\"default\"].wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n _context4.next = 2;\n return this._ready;\n\n case 2:\n l10n = _context4.sent;\n return _context4.abrupt(\"return\", l10n.translate(element));\n\n case 4:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4, this);\n }));\n\n function translate(_x4) {\n return _translate.apply(this, arguments);\n }\n\n return translate;\n }()\n }]);\n\n return GenericL10n;\n}();\n\nexports.GenericL10n = GenericL10n;\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\ndocument.webL10n = function (window, document, undefined) {\n var gL10nData = {};\n var gTextData = '';\n var gTextProp = 'textContent';\n var gLanguage = '';\n var gMacros = {};\n var gReadyState = 'loading';\n var gAsyncResourceLoading = true;\n\n function getL10nResourceLinks() {\n return document.querySelectorAll('link[type=\"application/l10n\"]');\n }\n\n function getL10nDictionary() {\n var script = document.querySelector('script[type=\"application/l10n\"]');\n return script ? JSON.parse(script.innerHTML) : null;\n }\n\n function getTranslatableChildren(element) {\n return element ? element.querySelectorAll('*[data-l10n-id]') : [];\n }\n\n function getL10nAttributes(element) {\n if (!element) return {};\n var l10nId = element.getAttribute('data-l10n-id');\n var l10nArgs = element.getAttribute('data-l10n-args');\n var args = {};\n\n if (l10nArgs) {\n try {\n args = JSON.parse(l10nArgs);\n } catch (e) {\n console.warn('could not parse arguments for #' + l10nId);\n }\n }\n\n return {\n id: l10nId,\n args: args\n };\n }\n\n function xhrLoadText(url, onSuccess, onFailure) {\n onSuccess = onSuccess || function _onSuccess(data) {};\n\n onFailure = onFailure || function _onFailure() {};\n\n var xhr = new XMLHttpRequest();\n xhr.open('GET', url, gAsyncResourceLoading);\n\n if (xhr.overrideMimeType) {\n xhr.overrideMimeType('text/plain; charset=utf-8');\n }\n\n xhr.onreadystatechange = function () {\n if (xhr.readyState == 4) {\n if (xhr.status == 200 || xhr.status === 0) {\n onSuccess(xhr.responseText);\n } else {\n onFailure();\n }\n }\n };\n\n xhr.onerror = onFailure;\n xhr.ontimeout = onFailure;\n\n try {\n xhr.send(null);\n } catch (e) {\n onFailure();\n }\n }\n\n function parseResource(href, lang, successCallback, failureCallback) {\n var baseURL = href.replace(/[^\\/]*$/, '') || './';\n\n function evalString(text) {\n if (text.lastIndexOf('\\\\') < 0) return text;\n return text.replace(/\\\\\\\\/g, '\\\\').replace(/\\\\n/g, '\\n').replace(/\\\\r/g, '\\r').replace(/\\\\t/g, '\\t').replace(/\\\\b/g, '\\b').replace(/\\\\f/g, '\\f').replace(/\\\\{/g, '{').replace(/\\\\}/g, '}').replace(/\\\\\"/g, '\"').replace(/\\\\'/g, \"'\");\n }\n\n function parseProperties(text, parsedPropertiesCallback) {\n var dictionary = {};\n var reBlank = /^\\s*|\\s*$/;\n var reComment = /^\\s*#|^\\s*$/;\n var reSection = /^\\s*\\[(.*)\\]\\s*$/;\n var reImport = /^\\s*@import\\s+url\\((.*)\\)\\s*$/i;\n var reSplit = /^([^=\\s]*)\\s*=\\s*(.+)$/;\n\n function parseRawLines(rawText, extendedSyntax, parsedRawLinesCallback) {\n var entries = rawText.replace(reBlank, '').split(/[\\r\\n]+/);\n var currentLang = '*';\n var genericLang = lang.split('-', 1)[0];\n var skipLang = false;\n var match = '';\n\n function nextEntry() {\n while (true) {\n if (!entries.length) {\n parsedRawLinesCallback();\n return;\n }\n\n var line = entries.shift();\n if (reComment.test(line)) continue;\n\n if (extendedSyntax) {\n match = reSection.exec(line);\n\n if (match) {\n currentLang = match[1].toLowerCase();\n skipLang = currentLang !== '*' && currentLang !== lang && currentLang !== genericLang;\n continue;\n } else if (skipLang) {\n continue;\n }\n\n match = reImport.exec(line);\n\n if (match) {\n loadImport(baseURL + match[1], nextEntry);\n return;\n }\n }\n\n var tmp = line.match(reSplit);\n\n if (tmp && tmp.length == 3) {\n dictionary[tmp[1]] = evalString(tmp[2]);\n }\n }\n }\n\n nextEntry();\n }\n\n function loadImport(url, callback) {\n xhrLoadText(url, function (content) {\n parseRawLines(content, false, callback);\n }, function () {\n console.warn(url + ' not found.');\n callback();\n });\n }\n\n parseRawLines(text, true, function () {\n parsedPropertiesCallback(dictionary);\n });\n }\n\n xhrLoadText(href, function (response) {\n gTextData += response;\n parseProperties(response, function (data) {\n for (var key in data) {\n var id,\n prop,\n index = key.lastIndexOf('.');\n\n if (index > 0) {\n id = key.substring(0, index);\n prop = key.substring(index + 1);\n } else {\n id = key;\n prop = gTextProp;\n }\n\n if (!gL10nData[id]) {\n gL10nData[id] = {};\n }\n\n gL10nData[id][prop] = data[key];\n }\n\n if (successCallback) {\n successCallback();\n }\n });\n }, failureCallback);\n }\n\n function loadLocale(lang, callback) {\n if (lang) {\n lang = lang.toLowerCase();\n }\n\n callback = callback || function _callback() {};\n\n clear();\n gLanguage = lang;\n var langLinks = getL10nResourceLinks();\n var langCount = langLinks.length;\n\n if (langCount === 0) {\n var dict = getL10nDictionary();\n\n if (dict && dict.locales && dict.default_locale) {\n console.log('using the embedded JSON directory, early way out');\n gL10nData = dict.locales[lang];\n\n if (!gL10nData) {\n var defaultLocale = dict.default_locale.toLowerCase();\n\n for (var anyCaseLang in dict.locales) {\n anyCaseLang = anyCaseLang.toLowerCase();\n\n if (anyCaseLang === lang) {\n gL10nData = dict.locales[lang];\n break;\n } else if (anyCaseLang === defaultLocale) {\n gL10nData = dict.locales[defaultLocale];\n }\n }\n }\n\n callback();\n } else {\n console.log('no resource to load, early way out');\n }\n\n gReadyState = 'complete';\n return;\n }\n\n var onResourceLoaded = null;\n var gResourceCount = 0;\n\n onResourceLoaded = function onResourceLoaded() {\n gResourceCount++;\n\n if (gResourceCount >= langCount) {\n callback();\n gReadyState = 'complete';\n }\n };\n\n function L10nResourceLink(link) {\n var href = link.href;\n\n this.load = function (lang, callback) {\n parseResource(href, lang, callback, function () {\n console.warn(href + ' not found.');\n console.warn('\"' + lang + '\" resource not found');\n gLanguage = '';\n callback();\n });\n };\n }\n\n for (var i = 0; i < langCount; i++) {\n var resource = new L10nResourceLink(langLinks[i]);\n resource.load(lang, onResourceLoaded);\n }\n }\n\n function clear() {\n gL10nData = {};\n gTextData = '';\n gLanguage = '';\n }\n\n function getPluralRules(lang) {\n var locales2rules = {\n 'af': 3,\n 'ak': 4,\n 'am': 4,\n 'ar': 1,\n 'asa': 3,\n 'az': 0,\n 'be': 11,\n 'bem': 3,\n 'bez': 3,\n 'bg': 3,\n 'bh': 4,\n 'bm': 0,\n 'bn': 3,\n 'bo': 0,\n 'br': 20,\n 'brx': 3,\n 'bs': 11,\n 'ca': 3,\n 'cgg': 3,\n 'chr': 3,\n 'cs': 12,\n 'cy': 17,\n 'da': 3,\n 'de': 3,\n 'dv': 3,\n 'dz': 0,\n 'ee': 3,\n 'el': 3,\n 'en': 3,\n 'eo': 3,\n 'es': 3,\n 'et': 3,\n 'eu': 3,\n 'fa': 0,\n 'ff': 5,\n 'fi': 3,\n 'fil': 4,\n 'fo': 3,\n 'fr': 5,\n 'fur': 3,\n 'fy': 3,\n 'ga': 8,\n 'gd': 24,\n 'gl': 3,\n 'gsw': 3,\n 'gu': 3,\n 'guw': 4,\n 'gv': 23,\n 'ha': 3,\n 'haw': 3,\n 'he': 2,\n 'hi': 4,\n 'hr': 11,\n 'hu': 0,\n 'id': 0,\n 'ig': 0,\n 'ii': 0,\n 'is': 3,\n 'it': 3,\n 'iu': 7,\n 'ja': 0,\n 'jmc': 3,\n 'jv': 0,\n 'ka': 0,\n 'kab': 5,\n 'kaj': 3,\n 'kcg': 3,\n 'kde': 0,\n 'kea': 0,\n 'kk': 3,\n 'kl': 3,\n 'km': 0,\n 'kn': 0,\n 'ko': 0,\n 'ksb': 3,\n 'ksh': 21,\n 'ku': 3,\n 'kw': 7,\n 'lag': 18,\n 'lb': 3,\n 'lg': 3,\n 'ln': 4,\n 'lo': 0,\n 'lt': 10,\n 'lv': 6,\n 'mas': 3,\n 'mg': 4,\n 'mk': 16,\n 'ml': 3,\n 'mn': 3,\n 'mo': 9,\n 'mr': 3,\n 'ms': 0,\n 'mt': 15,\n 'my': 0,\n 'nah': 3,\n 'naq': 7,\n 'nb': 3,\n 'nd': 3,\n 'ne': 3,\n 'nl': 3,\n 'nn': 3,\n 'no': 3,\n 'nr': 3,\n 'nso': 4,\n 'ny': 3,\n 'nyn': 3,\n 'om': 3,\n 'or': 3,\n 'pa': 3,\n 'pap': 3,\n 'pl': 13,\n 'ps': 3,\n 'pt': 3,\n 'rm': 3,\n 'ro': 9,\n 'rof': 3,\n 'ru': 11,\n 'rwk': 3,\n 'sah': 0,\n 'saq': 3,\n 'se': 7,\n 'seh': 3,\n 'ses': 0,\n 'sg': 0,\n 'sh': 11,\n 'shi': 19,\n 'sk': 12,\n 'sl': 14,\n 'sma': 7,\n 'smi': 7,\n 'smj': 7,\n 'smn': 7,\n 'sms': 7,\n 'sn': 3,\n 'so': 3,\n 'sq': 3,\n 'sr': 11,\n 'ss': 3,\n 'ssy': 3,\n 'st': 3,\n 'sv': 3,\n 'sw': 3,\n 'syr': 3,\n 'ta': 3,\n 'te': 3,\n 'teo': 3,\n 'th': 0,\n 'ti': 4,\n 'tig': 3,\n 'tk': 3,\n 'tl': 4,\n 'tn': 3,\n 'to': 0,\n 'tr': 0,\n 'ts': 3,\n 'tzm': 22,\n 'uk': 11,\n 'ur': 3,\n 've': 3,\n 'vi': 0,\n 'vun': 3,\n 'wa': 4,\n 'wae': 3,\n 'wo': 0,\n 'xh': 3,\n 'xog': 3,\n 'yo': 0,\n 'zh': 0,\n 'zu': 3\n };\n\n function isIn(n, list) {\n return list.indexOf(n) !== -1;\n }\n\n function isBetween(n, start, end) {\n return start <= n && n <= end;\n }\n\n var pluralRules = {\n '0': function _(n) {\n return 'other';\n },\n '1': function _(n) {\n if (isBetween(n % 100, 3, 10)) return 'few';\n if (n === 0) return 'zero';\n if (isBetween(n % 100, 11, 99)) return 'many';\n if (n == 2) return 'two';\n if (n == 1) return 'one';\n return 'other';\n },\n '2': function _(n) {\n if (n !== 0 && n % 10 === 0) return 'many';\n if (n == 2) return 'two';\n if (n == 1) return 'one';\n return 'other';\n },\n '3': function _(n) {\n if (n == 1) return 'one';\n return 'other';\n },\n '4': function _(n) {\n if (isBetween(n, 0, 1)) return 'one';\n return 'other';\n },\n '5': function _(n) {\n if (isBetween(n, 0, 2) && n != 2) return 'one';\n return 'other';\n },\n '6': function _(n) {\n if (n === 0) return 'zero';\n if (n % 10 == 1 && n % 100 != 11) return 'one';\n return 'other';\n },\n '7': function _(n) {\n if (n == 2) return 'two';\n if (n == 1) return 'one';\n return 'other';\n },\n '8': function _(n) {\n if (isBetween(n, 3, 6)) return 'few';\n if (isBetween(n, 7, 10)) return 'many';\n if (n == 2) return 'two';\n if (n == 1) return 'one';\n return 'other';\n },\n '9': function _(n) {\n if (n === 0 || n != 1 && isBetween(n % 100, 1, 19)) return 'few';\n if (n == 1) return 'one';\n return 'other';\n },\n '10': function _(n) {\n if (isBetween(n % 10, 2, 9) && !isBetween(n % 100, 11, 19)) return 'few';\n if (n % 10 == 1 && !isBetween(n % 100, 11, 19)) return 'one';\n return 'other';\n },\n '11': function _(n) {\n if (isBetween(n % 10, 2, 4) && !isBetween(n % 100, 12, 14)) return 'few';\n if (n % 10 === 0 || isBetween(n % 10, 5, 9) || isBetween(n % 100, 11, 14)) return 'many';\n if (n % 10 == 1 && n % 100 != 11) return 'one';\n return 'other';\n },\n '12': function _(n) {\n if (isBetween(n, 2, 4)) return 'few';\n if (n == 1) return 'one';\n return 'other';\n },\n '13': function _(n) {\n if (isBetween(n % 10, 2, 4) && !isBetween(n % 100, 12, 14)) return 'few';\n if (n != 1 && isBetween(n % 10, 0, 1) || isBetween(n % 10, 5, 9) || isBetween(n % 100, 12, 14)) return 'many';\n if (n == 1) return 'one';\n return 'other';\n },\n '14': function _(n) {\n if (isBetween(n % 100, 3, 4)) return 'few';\n if (n % 100 == 2) return 'two';\n if (n % 100 == 1) return 'one';\n return 'other';\n },\n '15': function _(n) {\n if (n === 0 || isBetween(n % 100, 2, 10)) return 'few';\n if (isBetween(n % 100, 11, 19)) return 'many';\n if (n == 1) return 'one';\n return 'other';\n },\n '16': function _(n) {\n if (n % 10 == 1 && n != 11) return 'one';\n return 'other';\n },\n '17': function _(n) {\n if (n == 3) return 'few';\n if (n === 0) return 'zero';\n if (n == 6) return 'many';\n if (n == 2) return 'two';\n if (n == 1) return 'one';\n return 'other';\n },\n '18': function _(n) {\n if (n === 0) return 'zero';\n if (isBetween(n, 0, 2) && n !== 0 && n != 2) return 'one';\n return 'other';\n },\n '19': function _(n) {\n if (isBetween(n, 2, 10)) return 'few';\n if (isBetween(n, 0, 1)) return 'one';\n return 'other';\n },\n '20': function _(n) {\n if ((isBetween(n % 10, 3, 4) || n % 10 == 9) && !(isBetween(n % 100, 10, 19) || isBetween(n % 100, 70, 79) || isBetween(n % 100, 90, 99))) return 'few';\n if (n % 1000000 === 0 && n !== 0) return 'many';\n if (n % 10 == 2 && !isIn(n % 100, [12, 72, 92])) return 'two';\n if (n % 10 == 1 && !isIn(n % 100, [11, 71, 91])) return 'one';\n return 'other';\n },\n '21': function _(n) {\n if (n === 0) return 'zero';\n if (n == 1) return 'one';\n return 'other';\n },\n '22': function _(n) {\n if (isBetween(n, 0, 1) || isBetween(n, 11, 99)) return 'one';\n return 'other';\n },\n '23': function _(n) {\n if (isBetween(n % 10, 1, 2) || n % 20 === 0) return 'one';\n return 'other';\n },\n '24': function _(n) {\n if (isBetween(n, 3, 10) || isBetween(n, 13, 19)) return 'few';\n if (isIn(n, [2, 12])) return 'two';\n if (isIn(n, [1, 11])) return 'one';\n return 'other';\n }\n };\n var index = locales2rules[lang.replace(/-.*$/, '')];\n\n if (!(index in pluralRules)) {\n console.warn('plural form unknown for [' + lang + ']');\n return function () {\n return 'other';\n };\n }\n\n return pluralRules[index];\n }\n\n gMacros.plural = function (str, param, key, prop) {\n var n = parseFloat(param);\n if (isNaN(n)) return str;\n if (prop != gTextProp) return str;\n\n if (!gMacros._pluralRules) {\n gMacros._pluralRules = getPluralRules(gLanguage);\n }\n\n var index = '[' + gMacros._pluralRules(n) + ']';\n\n if (n === 0 && key + '[zero]' in gL10nData) {\n str = gL10nData[key + '[zero]'][prop];\n } else if (n == 1 && key + '[one]' in gL10nData) {\n str = gL10nData[key + '[one]'][prop];\n } else if (n == 2 && key + '[two]' in gL10nData) {\n str = gL10nData[key + '[two]'][prop];\n } else if (key + index in gL10nData) {\n str = gL10nData[key + index][prop];\n } else if (key + '[other]' in gL10nData) {\n str = gL10nData[key + '[other]'][prop];\n }\n\n return str;\n };\n\n function getL10nData(key, args, fallback) {\n var data = gL10nData[key];\n\n if (!data) {\n console.warn('#' + key + ' is undefined.');\n\n if (!fallback) {\n return null;\n }\n\n data = fallback;\n }\n\n var rv = {};\n\n for (var prop in data) {\n var str = data[prop];\n str = substIndexes(str, args, key, prop);\n str = substArguments(str, args, key);\n rv[prop] = str;\n }\n\n return rv;\n }\n\n function substIndexes(str, args, key, prop) {\n var reIndex = /\\{\\[\\s*([a-zA-Z]+)\\(([a-zA-Z]+)\\)\\s*\\]\\}/;\n var reMatch = reIndex.exec(str);\n if (!reMatch || !reMatch.length) return str;\n var macroName = reMatch[1];\n var paramName = reMatch[2];\n var param;\n\n if (args && paramName in args) {\n param = args[paramName];\n } else if (paramName in gL10nData) {\n param = gL10nData[paramName];\n }\n\n if (macroName in gMacros) {\n var macro = gMacros[macroName];\n str = macro(str, param, key, prop);\n }\n\n return str;\n }\n\n function substArguments(str, args, key) {\n var reArgs = /\\{\\{\\s*(.+?)\\s*\\}\\}/g;\n return str.replace(reArgs, function (matched_text, arg) {\n if (args && arg in args) {\n return args[arg];\n }\n\n if (arg in gL10nData) {\n return gL10nData[arg];\n }\n\n console.log('argument {{' + arg + '}} for #' + key + ' is undefined.');\n return matched_text;\n });\n }\n\n function translateElement(element) {\n var l10n = getL10nAttributes(element);\n if (!l10n.id) return;\n var data = getL10nData(l10n.id, l10n.args);\n\n if (!data) {\n console.warn('#' + l10n.id + ' is undefined.');\n return;\n }\n\n if (data[gTextProp]) {\n if (getChildElementCount(element) === 0) {\n element[gTextProp] = data[gTextProp];\n } else {\n var children = element.childNodes;\n var found = false;\n\n for (var i = 0, l = children.length; i < l; i++) {\n if (children[i].nodeType === 3 && /\\S/.test(children[i].nodeValue)) {\n if (found) {\n children[i].nodeValue = '';\n } else {\n children[i].nodeValue = data[gTextProp];\n found = true;\n }\n }\n }\n\n if (!found) {\n var textNode = document.createTextNode(data[gTextProp]);\n element.insertBefore(textNode, element.firstChild);\n }\n }\n\n delete data[gTextProp];\n }\n\n for (var k in data) {\n element[k] = data[k];\n }\n }\n\n function getChildElementCount(element) {\n if (element.children) {\n return element.children.length;\n }\n\n if (typeof element.childElementCount !== 'undefined') {\n return element.childElementCount;\n }\n\n var count = 0;\n\n for (var i = 0; i < element.childNodes.length; i++) {\n count += element.nodeType === 1 ? 1 : 0;\n }\n\n return count;\n }\n\n function translateFragment(element) {\n element = element || document.documentElement;\n var children = getTranslatableChildren(element);\n var elementCount = children.length;\n\n for (var i = 0; i < elementCount; i++) {\n translateElement(children[i]);\n }\n\n translateElement(element);\n }\n\n return {\n get: function get(key, args, fallbackString) {\n var index = key.lastIndexOf('.');\n var prop = gTextProp;\n\n if (index > 0) {\n prop = key.substring(index + 1);\n key = key.substring(0, index);\n }\n\n var fallback;\n\n if (fallbackString) {\n fallback = {};\n fallback[prop] = fallbackString;\n }\n\n var data = getL10nData(key, args, fallback);\n\n if (data && prop in data) {\n return data[prop];\n }\n\n return '{{' + key + '}}';\n },\n getData: function getData() {\n return gL10nData;\n },\n getText: function getText() {\n return gTextData;\n },\n getLanguage: function getLanguage() {\n return gLanguage;\n },\n setLanguage: function setLanguage(lang, callback) {\n loadLocale(lang, function () {\n if (callback) callback();\n });\n },\n getDirection: function getDirection() {\n var rtlList = ['ar', 'he', 'fa', 'ps', 'ur'];\n var shortCode = gLanguage.split('-', 1)[0];\n return rtlList.indexOf(shortCode) >= 0 ? 'rtl' : 'ltr';\n },\n translate: translateFragment,\n getReadyState: function getReadyState() {\n return gReadyState;\n },\n ready: function ready(callback) {\n if (!callback) {\n return;\n } else if (gReadyState == 'complete' || gReadyState == 'interactive') {\n window.setTimeout(function () {\n callback();\n });\n } else if (document.addEventListener) {\n document.addEventListener('localized', function once() {\n document.removeEventListener('localized', once);\n callback();\n });\n }\n }\n };\n}(window, document);\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFFindController = exports.FindState = void 0;\n\nvar _pdfjsLib = __w_pdfjs_require__(2);\n\nvar _pdf_find_utils = __w_pdfjs_require__(14);\n\nvar _ui_utils = __w_pdfjs_require__(3);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar FindState = {\n FOUND: 0,\n NOT_FOUND: 1,\n WRAPPED: 2,\n PENDING: 3\n};\nexports.FindState = FindState;\nvar FIND_TIMEOUT = 250;\nvar MATCH_SCROLL_OFFSET_TOP = -50;\nvar MATCH_SCROLL_OFFSET_LEFT = -400;\nvar CHARACTERS_TO_NORMALIZE = {\n \"\\u2018\": \"'\",\n \"\\u2019\": \"'\",\n \"\\u201A\": \"'\",\n \"\\u201B\": \"'\",\n \"\\u201C\": '\"',\n \"\\u201D\": '\"',\n \"\\u201E\": '\"',\n \"\\u201F\": '\"',\n \"\\xBC\": \"1/4\",\n \"\\xBD\": \"1/2\",\n \"\\xBE\": \"3/4\"\n};\nvar normalizationRegex = null;\n\nfunction normalize(text) {\n if (!normalizationRegex) {\n var replace = Object.keys(CHARACTERS_TO_NORMALIZE).join(\"\");\n normalizationRegex = new RegExp(\"[\".concat(replace, \"]\"), \"g\");\n }\n\n return text.replace(normalizationRegex, function (ch) {\n return CHARACTERS_TO_NORMALIZE[ch];\n });\n}\n\nvar PDFFindController = /*#__PURE__*/function () {\n function PDFFindController(_ref) {\n var linkService = _ref.linkService,\n eventBus = _ref.eventBus;\n\n _classCallCheck(this, PDFFindController);\n\n this._linkService = linkService;\n this._eventBus = eventBus;\n\n this._reset();\n\n eventBus._on(\"findbarclose\", this._onFindBarClose.bind(this));\n }\n\n _createClass(PDFFindController, [{\n key: \"setDocument\",\n value: function setDocument(pdfDocument) {\n if (this._pdfDocument) {\n this._reset();\n }\n\n if (!pdfDocument) {\n return;\n }\n\n this._pdfDocument = pdfDocument;\n\n this._firstPageCapability.resolve();\n }\n }, {\n key: \"executeCommand\",\n value: function executeCommand(cmd, state) {\n var _this = this;\n\n if (!state) {\n return;\n }\n\n var pdfDocument = this._pdfDocument;\n\n if (this._state === null || this._shouldDirtyMatch(cmd, state)) {\n this._dirtyMatch = true;\n }\n\n this._state = state;\n\n if (cmd !== \"findhighlightallchange\") {\n this._updateUIState(FindState.PENDING);\n }\n\n this._firstPageCapability.promise.then(function () {\n if (!_this._pdfDocument || pdfDocument && _this._pdfDocument !== pdfDocument) {\n return;\n }\n\n _this._extractText();\n\n var findbarClosed = !_this._highlightMatches;\n var pendingTimeout = !!_this._findTimeout;\n\n if (_this._findTimeout) {\n clearTimeout(_this._findTimeout);\n _this._findTimeout = null;\n }\n\n if (cmd === \"find\") {\n _this._findTimeout = setTimeout(function () {\n _this._nextMatch();\n\n _this._findTimeout = null;\n }, FIND_TIMEOUT);\n } else if (_this._dirtyMatch) {\n _this._nextMatch();\n } else if (cmd === \"findagain\") {\n _this._nextMatch();\n\n if (findbarClosed && _this._state.highlightAll) {\n _this._updateAllPages();\n }\n } else if (cmd === \"findhighlightallchange\") {\n if (pendingTimeout) {\n _this._nextMatch();\n } else {\n _this._highlightMatches = true;\n }\n\n _this._updateAllPages();\n } else {\n _this._nextMatch();\n }\n });\n }\n }, {\n key: \"scrollMatchIntoView\",\n value: function scrollMatchIntoView(_ref2) {\n var _ref2$element = _ref2.element,\n element = _ref2$element === void 0 ? null : _ref2$element,\n _ref2$pageIndex = _ref2.pageIndex,\n pageIndex = _ref2$pageIndex === void 0 ? -1 : _ref2$pageIndex,\n _ref2$matchIndex = _ref2.matchIndex,\n matchIndex = _ref2$matchIndex === void 0 ? -1 : _ref2$matchIndex;\n\n if (!this._scrollMatches || !element) {\n return;\n } else if (matchIndex === -1 || matchIndex !== this._selected.matchIdx) {\n return;\n } else if (pageIndex === -1 || pageIndex !== this._selected.pageIdx) {\n return;\n }\n\n this._scrollMatches = false;\n var spot = {\n top: MATCH_SCROLL_OFFSET_TOP,\n left: MATCH_SCROLL_OFFSET_LEFT\n };\n (0, _ui_utils.scrollIntoView)(element, spot, true);\n }\n }, {\n key: \"_reset\",\n value: function _reset() {\n this._highlightMatches = false;\n this._scrollMatches = false;\n this._pdfDocument = null;\n this._pageMatches = [];\n this._pageMatchesLength = [];\n this._state = null;\n this._selected = {\n pageIdx: -1,\n matchIdx: -1\n };\n this._offset = {\n pageIdx: null,\n matchIdx: null,\n wrapped: false\n };\n this._extractTextPromises = [];\n this._pageContents = [];\n this._matchesCountTotal = 0;\n this._pagesToSearch = null;\n this._pendingFindMatches = Object.create(null);\n this._resumePageIdx = null;\n this._dirtyMatch = false;\n clearTimeout(this._findTimeout);\n this._findTimeout = null;\n this._firstPageCapability = (0, _pdfjsLib.createPromiseCapability)();\n }\n }, {\n key: \"_shouldDirtyMatch\",\n value: function _shouldDirtyMatch(cmd, state) {\n if (state.query !== this._state.query) {\n return true;\n }\n\n switch (cmd) {\n case \"findagain\":\n var pageNumber = this._selected.pageIdx + 1;\n var linkService = this._linkService;\n\n if (pageNumber >= 1 && pageNumber <= linkService.pagesCount && pageNumber !== linkService.page && !linkService.isPageVisible(pageNumber)) {\n return true;\n }\n\n return false;\n\n case \"findhighlightallchange\":\n return false;\n }\n\n return true;\n }\n }, {\n key: \"_prepareMatches\",\n value: function _prepareMatches(matchesWithLength, matches, matchesLength) {\n function isSubTerm(currentIndex) {\n var currentElem = matchesWithLength[currentIndex];\n var nextElem = matchesWithLength[currentIndex + 1];\n\n if (currentIndex < matchesWithLength.length - 1 && currentElem.match === nextElem.match) {\n currentElem.skipped = true;\n return true;\n }\n\n for (var i = currentIndex - 1; i >= 0; i--) {\n var prevElem = matchesWithLength[i];\n\n if (prevElem.skipped) {\n continue;\n }\n\n if (prevElem.match + prevElem.matchLength < currentElem.match) {\n break;\n }\n\n if (prevElem.match + prevElem.matchLength >= currentElem.match + currentElem.matchLength) {\n currentElem.skipped = true;\n return true;\n }\n }\n\n return false;\n }\n\n matchesWithLength.sort(function (a, b) {\n return a.match === b.match ? a.matchLength - b.matchLength : a.match - b.match;\n });\n\n for (var i = 0, len = matchesWithLength.length; i < len; i++) {\n if (isSubTerm(i)) {\n continue;\n }\n\n matches.push(matchesWithLength[i].match);\n matchesLength.push(matchesWithLength[i].matchLength);\n }\n }\n }, {\n key: \"_isEntireWord\",\n value: function _isEntireWord(content, startIdx, length) {\n if (startIdx > 0) {\n var first = content.charCodeAt(startIdx);\n var limit = content.charCodeAt(startIdx - 1);\n\n if ((0, _pdf_find_utils.getCharacterType)(first) === (0, _pdf_find_utils.getCharacterType)(limit)) {\n return false;\n }\n }\n\n var endIdx = startIdx + length - 1;\n\n if (endIdx < content.length - 1) {\n var last = content.charCodeAt(endIdx);\n\n var _limit = content.charCodeAt(endIdx + 1);\n\n if ((0, _pdf_find_utils.getCharacterType)(last) === (0, _pdf_find_utils.getCharacterType)(_limit)) {\n return false;\n }\n }\n\n return true;\n }\n }, {\n key: \"_calculatePhraseMatch\",\n value: function _calculatePhraseMatch(query, pageIndex, pageContent, entireWord) {\n var matches = [];\n var queryLen = query.length;\n var matchIdx = -queryLen;\n\n while (true) {\n matchIdx = pageContent.indexOf(query, matchIdx + queryLen);\n\n if (matchIdx === -1) {\n break;\n }\n\n if (entireWord && !this._isEntireWord(pageContent, matchIdx, queryLen)) {\n continue;\n }\n\n matches.push(matchIdx);\n }\n\n this._pageMatches[pageIndex] = matches;\n }\n }, {\n key: \"_calculateWordMatch\",\n value: function _calculateWordMatch(query, pageIndex, pageContent, entireWord) {\n var matchesWithLength = [];\n var queryArray = query.match(/\\S+/g);\n\n for (var i = 0, len = queryArray.length; i < len; i++) {\n var subquery = queryArray[i];\n var subqueryLen = subquery.length;\n var matchIdx = -subqueryLen;\n\n while (true) {\n matchIdx = pageContent.indexOf(subquery, matchIdx + subqueryLen);\n\n if (matchIdx === -1) {\n break;\n }\n\n if (entireWord && !this._isEntireWord(pageContent, matchIdx, subqueryLen)) {\n continue;\n }\n\n matchesWithLength.push({\n match: matchIdx,\n matchLength: subqueryLen,\n skipped: false\n });\n }\n }\n\n this._pageMatchesLength[pageIndex] = [];\n this._pageMatches[pageIndex] = [];\n\n this._prepareMatches(matchesWithLength, this._pageMatches[pageIndex], this._pageMatchesLength[pageIndex]);\n }\n }, {\n key: \"_calculateMatch\",\n value: function _calculateMatch(pageIndex) {\n var pageContent = this._pageContents[pageIndex];\n var query = this._query;\n var _this$_state = this._state,\n caseSensitive = _this$_state.caseSensitive,\n entireWord = _this$_state.entireWord,\n phraseSearch = _this$_state.phraseSearch;\n\n if (query.length === 0) {\n return;\n }\n\n if (!caseSensitive) {\n pageContent = pageContent.toLowerCase();\n query = query.toLowerCase();\n }\n\n if (phraseSearch) {\n this._calculatePhraseMatch(query, pageIndex, pageContent, entireWord);\n } else {\n this._calculateWordMatch(query, pageIndex, pageContent, entireWord);\n }\n\n if (this._state.highlightAll) {\n this._updatePage(pageIndex);\n }\n\n if (this._resumePageIdx === pageIndex) {\n this._resumePageIdx = null;\n\n this._nextPageMatch();\n }\n\n var pageMatchesCount = this._pageMatches[pageIndex].length;\n\n if (pageMatchesCount > 0) {\n this._matchesCountTotal += pageMatchesCount;\n\n this._updateUIResultsCount();\n }\n }\n }, {\n key: \"_extractText\",\n value: function _extractText() {\n var _this2 = this;\n\n if (this._extractTextPromises.length > 0) {\n return;\n }\n\n var promise = Promise.resolve();\n\n var _loop = function _loop(i, ii) {\n var extractTextCapability = (0, _pdfjsLib.createPromiseCapability)();\n _this2._extractTextPromises[i] = extractTextCapability.promise;\n promise = promise.then(function () {\n return _this2._pdfDocument.getPage(i + 1).then(function (pdfPage) {\n return pdfPage.getTextContent({\n normalizeWhitespace: true\n });\n }).then(function (textContent) {\n var textItems = textContent.items;\n var strBuf = [];\n\n for (var j = 0, jj = textItems.length; j < jj; j++) {\n strBuf.push(textItems[j].str);\n }\n\n _this2._pageContents[i] = normalize(strBuf.join(\"\"));\n extractTextCapability.resolve(i);\n }, function (reason) {\n console.error(\"Unable to get text content for page \".concat(i + 1), reason);\n _this2._pageContents[i] = \"\";\n extractTextCapability.resolve(i);\n });\n });\n };\n\n for (var i = 0, ii = this._linkService.pagesCount; i < ii; i++) {\n _loop(i, ii);\n }\n }\n }, {\n key: \"_updatePage\",\n value: function _updatePage(index) {\n if (this._scrollMatches && this._selected.pageIdx === index) {\n this._linkService.page = index + 1;\n }\n\n this._eventBus.dispatch(\"updatetextlayermatches\", {\n source: this,\n pageIndex: index\n });\n }\n }, {\n key: \"_updateAllPages\",\n value: function _updateAllPages() {\n this._eventBus.dispatch(\"updatetextlayermatches\", {\n source: this,\n pageIndex: -1\n });\n }\n }, {\n key: \"_nextMatch\",\n value: function _nextMatch() {\n var _this3 = this;\n\n var previous = this._state.findPrevious;\n var currentPageIndex = this._linkService.page - 1;\n var numPages = this._linkService.pagesCount;\n this._highlightMatches = true;\n\n if (this._dirtyMatch) {\n this._dirtyMatch = false;\n this._selected.pageIdx = this._selected.matchIdx = -1;\n this._offset.pageIdx = currentPageIndex;\n this._offset.matchIdx = null;\n this._offset.wrapped = false;\n this._resumePageIdx = null;\n this._pageMatches.length = 0;\n this._pageMatchesLength.length = 0;\n this._matchesCountTotal = 0;\n\n this._updateAllPages();\n\n for (var i = 0; i < numPages; i++) {\n if (this._pendingFindMatches[i] === true) {\n continue;\n }\n\n this._pendingFindMatches[i] = true;\n\n this._extractTextPromises[i].then(function (pageIdx) {\n delete _this3._pendingFindMatches[pageIdx];\n\n _this3._calculateMatch(pageIdx);\n });\n }\n }\n\n if (this._query === \"\") {\n this._updateUIState(FindState.FOUND);\n\n return;\n }\n\n if (this._resumePageIdx) {\n return;\n }\n\n var offset = this._offset;\n this._pagesToSearch = numPages;\n\n if (offset.matchIdx !== null) {\n var numPageMatches = this._pageMatches[offset.pageIdx].length;\n\n if (!previous && offset.matchIdx + 1 < numPageMatches || previous && offset.matchIdx > 0) {\n offset.matchIdx = previous ? offset.matchIdx - 1 : offset.matchIdx + 1;\n\n this._updateMatch(true);\n\n return;\n }\n\n this._advanceOffsetPage(previous);\n }\n\n this._nextPageMatch();\n }\n }, {\n key: \"_matchesReady\",\n value: function _matchesReady(matches) {\n var offset = this._offset;\n var numMatches = matches.length;\n var previous = this._state.findPrevious;\n\n if (numMatches) {\n offset.matchIdx = previous ? numMatches - 1 : 0;\n\n this._updateMatch(true);\n\n return true;\n }\n\n this._advanceOffsetPage(previous);\n\n if (offset.wrapped) {\n offset.matchIdx = null;\n\n if (this._pagesToSearch < 0) {\n this._updateMatch(false);\n\n return true;\n }\n }\n\n return false;\n }\n }, {\n key: \"_nextPageMatch\",\n value: function _nextPageMatch() {\n if (this._resumePageIdx !== null) {\n console.error(\"There can only be one pending page.\");\n }\n\n var matches = null;\n\n do {\n var pageIdx = this._offset.pageIdx;\n matches = this._pageMatches[pageIdx];\n\n if (!matches) {\n this._resumePageIdx = pageIdx;\n break;\n }\n } while (!this._matchesReady(matches));\n }\n }, {\n key: \"_advanceOffsetPage\",\n value: function _advanceOffsetPage(previous) {\n var offset = this._offset;\n var numPages = this._linkService.pagesCount;\n offset.pageIdx = previous ? offset.pageIdx - 1 : offset.pageIdx + 1;\n offset.matchIdx = null;\n this._pagesToSearch--;\n\n if (offset.pageIdx >= numPages || offset.pageIdx < 0) {\n offset.pageIdx = previous ? numPages - 1 : 0;\n offset.wrapped = true;\n }\n }\n }, {\n key: \"_updateMatch\",\n value: function _updateMatch() {\n var found = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var state = FindState.NOT_FOUND;\n var wrapped = this._offset.wrapped;\n this._offset.wrapped = false;\n\n if (found) {\n var previousPage = this._selected.pageIdx;\n this._selected.pageIdx = this._offset.pageIdx;\n this._selected.matchIdx = this._offset.matchIdx;\n state = wrapped ? FindState.WRAPPED : FindState.FOUND;\n\n if (previousPage !== -1 && previousPage !== this._selected.pageIdx) {\n this._updatePage(previousPage);\n }\n }\n\n this._updateUIState(state, this._state.findPrevious);\n\n if (this._selected.pageIdx !== -1) {\n this._scrollMatches = true;\n\n this._updatePage(this._selected.pageIdx);\n }\n }\n }, {\n key: \"_onFindBarClose\",\n value: function _onFindBarClose(evt) {\n var _this4 = this;\n\n var pdfDocument = this._pdfDocument;\n\n this._firstPageCapability.promise.then(function () {\n if (!_this4._pdfDocument || pdfDocument && _this4._pdfDocument !== pdfDocument) {\n return;\n }\n\n if (_this4._findTimeout) {\n clearTimeout(_this4._findTimeout);\n _this4._findTimeout = null;\n }\n\n if (_this4._resumePageIdx) {\n _this4._resumePageIdx = null;\n _this4._dirtyMatch = true;\n }\n\n _this4._updateUIState(FindState.FOUND);\n\n _this4._highlightMatches = false;\n\n _this4._updateAllPages();\n });\n }\n }, {\n key: \"_requestMatchesCount\",\n value: function _requestMatchesCount() {\n var _this$_selected = this._selected,\n pageIdx = _this$_selected.pageIdx,\n matchIdx = _this$_selected.matchIdx;\n var current = 0,\n total = this._matchesCountTotal;\n\n if (matchIdx !== -1) {\n for (var i = 0; i < pageIdx; i++) {\n current += this._pageMatches[i] && this._pageMatches[i].length || 0;\n }\n\n current += matchIdx + 1;\n }\n\n if (current < 1 || current > total) {\n current = total = 0;\n }\n\n return {\n current: current,\n total: total\n };\n }\n }, {\n key: \"_updateUIResultsCount\",\n value: function _updateUIResultsCount() {\n this._eventBus.dispatch(\"updatefindmatchescount\", {\n source: this,\n matchesCount: this._requestMatchesCount()\n });\n }\n }, {\n key: \"_updateUIState\",\n value: function _updateUIState(state, previous) {\n this._eventBus.dispatch(\"updatefindcontrolstate\", {\n source: this,\n state: state,\n previous: previous,\n matchesCount: this._requestMatchesCount()\n });\n }\n }, {\n key: \"highlightMatches\",\n get: function get() {\n return this._highlightMatches;\n }\n }, {\n key: \"pageMatches\",\n get: function get() {\n return this._pageMatches;\n }\n }, {\n key: \"pageMatchesLength\",\n get: function get() {\n return this._pageMatchesLength;\n }\n }, {\n key: \"selected\",\n get: function get() {\n return this._selected;\n }\n }, {\n key: \"state\",\n get: function get() {\n return this._state;\n }\n }, {\n key: \"_query\",\n get: function get() {\n if (this._state.query !== this._rawQuery) {\n this._rawQuery = this._state.query;\n this._normalizedQuery = normalize(this._state.query);\n }\n\n return this._normalizedQuery;\n }\n }]);\n\n return PDFFindController;\n}();\n\nexports.PDFFindController = PDFFindController;\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getCharacterType = getCharacterType;\nexports.CharacterType = void 0;\nvar CharacterType = {\n SPACE: 0,\n ALPHA_LETTER: 1,\n PUNCT: 2,\n HAN_LETTER: 3,\n KATAKANA_LETTER: 4,\n HIRAGANA_LETTER: 5,\n HALFWIDTH_KATAKANA_LETTER: 6,\n THAI_LETTER: 7\n};\nexports.CharacterType = CharacterType;\n\nfunction isAlphabeticalScript(charCode) {\n return charCode < 0x2e80;\n}\n\nfunction isAscii(charCode) {\n return (charCode & 0xff80) === 0;\n}\n\nfunction isAsciiAlpha(charCode) {\n return charCode >= 0x61 && charCode <= 0x7a || charCode >= 0x41 && charCode <= 0x5a;\n}\n\nfunction isAsciiDigit(charCode) {\n return charCode >= 0x30 && charCode <= 0x39;\n}\n\nfunction isAsciiSpace(charCode) {\n return charCode === 0x20 || charCode === 0x09 || charCode === 0x0d || charCode === 0x0a;\n}\n\nfunction isHan(charCode) {\n return charCode >= 0x3400 && charCode <= 0x9fff || charCode >= 0xf900 && charCode <= 0xfaff;\n}\n\nfunction isKatakana(charCode) {\n return charCode >= 0x30a0 && charCode <= 0x30ff;\n}\n\nfunction isHiragana(charCode) {\n return charCode >= 0x3040 && charCode <= 0x309f;\n}\n\nfunction isHalfwidthKatakana(charCode) {\n return charCode >= 0xff60 && charCode <= 0xff9f;\n}\n\nfunction isThai(charCode) {\n return (charCode & 0xff80) === 0x0e00;\n}\n\nfunction getCharacterType(charCode) {\n if (isAlphabeticalScript(charCode)) {\n if (isAscii(charCode)) {\n if (isAsciiSpace(charCode)) {\n return CharacterType.SPACE;\n } else if (isAsciiAlpha(charCode) || isAsciiDigit(charCode) || charCode === 0x5f) {\n return CharacterType.ALPHA_LETTER;\n }\n\n return CharacterType.PUNCT;\n } else if (isThai(charCode)) {\n return CharacterType.THAI_LETTER;\n } else if (charCode === 0xa0) {\n return CharacterType.SPACE;\n }\n\n return CharacterType.ALPHA_LETTER;\n }\n\n if (isHan(charCode)) {\n return CharacterType.HAN_LETTER;\n } else if (isKatakana(charCode)) {\n return CharacterType.KATAKANA_LETTER;\n } else if (isHiragana(charCode)) {\n return CharacterType.HIRAGANA_LETTER;\n } else if (isHalfwidthKatakana(charCode)) {\n return CharacterType.HALFWIDTH_KATAKANA_LETTER;\n }\n\n return CharacterType.ALPHA_LETTER;\n}\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isDestHashesEqual = isDestHashesEqual;\nexports.isDestArraysEqual = isDestArraysEqual;\nexports.PDFHistory = void 0;\n\nvar _ui_utils = __w_pdfjs_require__(3);\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar HASH_CHANGE_TIMEOUT = 1000;\nvar POSITION_UPDATED_THRESHOLD = 50;\nvar UPDATE_VIEWAREA_TIMEOUT = 1000;\n\nfunction getCurrentHash() {\n return document.location.hash;\n}\n\nvar PDFHistory = /*#__PURE__*/function () {\n function PDFHistory(_ref) {\n var _this = this;\n\n var linkService = _ref.linkService,\n eventBus = _ref.eventBus;\n\n _classCallCheck(this, PDFHistory);\n\n this.linkService = linkService;\n this.eventBus = eventBus;\n this._initialized = false;\n this._fingerprint = \"\";\n this.reset();\n this._boundEvents = null;\n this._isViewerInPresentationMode = false;\n\n this.eventBus._on(\"presentationmodechanged\", function (evt) {\n _this._isViewerInPresentationMode = evt.active || evt.switchInProgress;\n });\n\n this.eventBus._on(\"pagesinit\", function () {\n _this._isPagesLoaded = false;\n\n var onPagesLoaded = function onPagesLoaded(evt) {\n _this.eventBus._off(\"pagesloaded\", onPagesLoaded);\n\n _this._isPagesLoaded = !!evt.pagesCount;\n };\n\n _this.eventBus._on(\"pagesloaded\", onPagesLoaded);\n });\n }\n\n _createClass(PDFHistory, [{\n key: \"initialize\",\n value: function initialize(_ref2) {\n var fingerprint = _ref2.fingerprint,\n _ref2$resetHistory = _ref2.resetHistory,\n resetHistory = _ref2$resetHistory === void 0 ? false : _ref2$resetHistory,\n _ref2$updateUrl = _ref2.updateUrl,\n updateUrl = _ref2$updateUrl === void 0 ? false : _ref2$updateUrl;\n\n if (!fingerprint || typeof fingerprint !== \"string\") {\n console.error('PDFHistory.initialize: The \"fingerprint\" must be a non-empty string.');\n return;\n }\n\n if (this._initialized) {\n this.reset();\n }\n\n var reInitialized = this._fingerprint !== \"\" && this._fingerprint !== fingerprint;\n this._fingerprint = fingerprint;\n this._updateUrl = updateUrl === true;\n this._initialized = true;\n\n this._bindEvents();\n\n var state = window.history.state;\n this._popStateInProgress = false;\n this._blockHashChange = 0;\n this._currentHash = getCurrentHash();\n this._numPositionUpdates = 0;\n this._uid = this._maxUid = 0;\n this._destination = null;\n this._position = null;\n\n if (!this._isValidState(state, true) || resetHistory) {\n var _this$_parseCurrentHa = this._parseCurrentHash(true),\n hash = _this$_parseCurrentHa.hash,\n page = _this$_parseCurrentHa.page,\n rotation = _this$_parseCurrentHa.rotation;\n\n if (!hash || reInitialized || resetHistory) {\n this._pushOrReplaceState(null, true);\n\n return;\n }\n\n this._pushOrReplaceState({\n hash: hash,\n page: page,\n rotation: rotation\n }, true);\n\n return;\n }\n\n var destination = state.destination;\n\n this._updateInternalState(destination, state.uid, true);\n\n if (this._uid > this._maxUid) {\n this._maxUid = this._uid;\n }\n\n if (destination.rotation !== undefined) {\n this._initialRotation = destination.rotation;\n }\n\n if (destination.dest) {\n this._initialBookmark = JSON.stringify(destination.dest);\n this._destination.page = null;\n } else if (destination.hash) {\n this._initialBookmark = destination.hash;\n } else if (destination.page) {\n this._initialBookmark = \"page=\".concat(destination.page);\n }\n }\n }, {\n key: \"reset\",\n value: function reset() {\n if (this._initialized) {\n this._pageHide();\n\n this._initialized = false;\n\n this._unbindEvents();\n }\n\n if (this._updateViewareaTimeout) {\n clearTimeout(this._updateViewareaTimeout);\n this._updateViewareaTimeout = null;\n }\n\n this._initialBookmark = null;\n this._initialRotation = null;\n }\n }, {\n key: \"push\",\n value: function push(_ref3) {\n var _this2 = this;\n\n var _ref3$namedDest = _ref3.namedDest,\n namedDest = _ref3$namedDest === void 0 ? null : _ref3$namedDest,\n explicitDest = _ref3.explicitDest,\n pageNumber = _ref3.pageNumber;\n\n if (!this._initialized) {\n return;\n }\n\n if (namedDest && typeof namedDest !== \"string\") {\n console.error(\"PDFHistory.push: \" + \"\\\"\".concat(namedDest, \"\\\" is not a valid namedDest parameter.\"));\n return;\n } else if (!Array.isArray(explicitDest)) {\n console.error(\"PDFHistory.push: \" + \"\\\"\".concat(explicitDest, \"\\\" is not a valid explicitDest parameter.\"));\n return;\n } else if (!(Number.isInteger(pageNumber) && pageNumber > 0 && pageNumber <= this.linkService.pagesCount)) {\n if (pageNumber !== null || this._destination) {\n console.error(\"PDFHistory.push: \" + \"\\\"\".concat(pageNumber, \"\\\" is not a valid pageNumber parameter.\"));\n return;\n }\n }\n\n var hash = namedDest || JSON.stringify(explicitDest);\n\n if (!hash) {\n return;\n }\n\n var forceReplace = false;\n\n if (this._destination && (isDestHashesEqual(this._destination.hash, hash) || isDestArraysEqual(this._destination.dest, explicitDest))) {\n if (this._destination.page) {\n return;\n }\n\n forceReplace = true;\n }\n\n if (this._popStateInProgress && !forceReplace) {\n return;\n }\n\n this._pushOrReplaceState({\n dest: explicitDest,\n hash: hash,\n page: pageNumber,\n rotation: this.linkService.rotation\n }, forceReplace);\n\n if (!this._popStateInProgress) {\n this._popStateInProgress = true;\n Promise.resolve().then(function () {\n _this2._popStateInProgress = false;\n });\n }\n }\n }, {\n key: \"pushCurrentPosition\",\n value: function pushCurrentPosition() {\n if (!this._initialized || this._popStateInProgress) {\n return;\n }\n\n this._tryPushCurrentPosition();\n }\n }, {\n key: \"back\",\n value: function back() {\n if (!this._initialized || this._popStateInProgress) {\n return;\n }\n\n var state = window.history.state;\n\n if (this._isValidState(state) && state.uid > 0) {\n window.history.back();\n }\n }\n }, {\n key: \"forward\",\n value: function forward() {\n if (!this._initialized || this._popStateInProgress) {\n return;\n }\n\n var state = window.history.state;\n\n if (this._isValidState(state) && state.uid < this._maxUid) {\n window.history.forward();\n }\n }\n }, {\n key: \"_pushOrReplaceState\",\n value: function _pushOrReplaceState(destination) {\n var forceReplace = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var shouldReplace = forceReplace || !this._destination;\n var newState = {\n fingerprint: this._fingerprint,\n uid: shouldReplace ? this._uid : this._uid + 1,\n destination: destination\n };\n\n this._updateInternalState(destination, newState.uid);\n\n var newUrl;\n\n if (this._updateUrl && destination && destination.hash) {\n var baseUrl = document.location.href.split(\"#\")[0];\n\n if (!baseUrl.startsWith(\"file://\")) {\n newUrl = \"\".concat(baseUrl, \"#\").concat(destination.hash);\n }\n }\n\n if (shouldReplace) {\n window.history.replaceState(newState, \"\", newUrl);\n } else {\n this._maxUid = this._uid;\n window.history.pushState(newState, \"\", newUrl);\n }\n }\n }, {\n key: \"_tryPushCurrentPosition\",\n value: function _tryPushCurrentPosition() {\n var temporary = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (!this._position) {\n return;\n }\n\n var position = this._position;\n\n if (temporary) {\n position = Object.assign(Object.create(null), this._position);\n position.temporary = true;\n }\n\n if (!this._destination) {\n this._pushOrReplaceState(position);\n\n return;\n }\n\n if (this._destination.temporary) {\n this._pushOrReplaceState(position, true);\n\n return;\n }\n\n if (this._destination.hash === position.hash) {\n return;\n }\n\n if (!this._destination.page && (POSITION_UPDATED_THRESHOLD <= 0 || this._numPositionUpdates <= POSITION_UPDATED_THRESHOLD)) {\n return;\n }\n\n var forceReplace = false;\n\n if (this._destination.page >= position.first && this._destination.page <= position.page) {\n if (this._destination.dest || !this._destination.first) {\n return;\n }\n\n forceReplace = true;\n }\n\n this._pushOrReplaceState(position, forceReplace);\n }\n }, {\n key: \"_isValidState\",\n value: function _isValidState(state) {\n var checkReload = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n if (!state) {\n return false;\n }\n\n if (state.fingerprint !== this._fingerprint) {\n if (checkReload) {\n if (typeof state.fingerprint !== \"string\" || state.fingerprint.length !== this._fingerprint.length) {\n return false;\n }\n\n var _performance$getEntri = performance.getEntriesByType(\"navigation\"),\n _performance$getEntri2 = _slicedToArray(_performance$getEntri, 1),\n perfEntry = _performance$getEntri2[0];\n\n if (!perfEntry || perfEntry.type !== \"reload\") {\n return false;\n }\n } else {\n return false;\n }\n }\n\n if (!Number.isInteger(state.uid) || state.uid < 0) {\n return false;\n }\n\n if (state.destination === null || _typeof(state.destination) !== \"object\") {\n return false;\n }\n\n return true;\n }\n }, {\n key: \"_updateInternalState\",\n value: function _updateInternalState(destination, uid) {\n var removeTemporary = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n if (this._updateViewareaTimeout) {\n clearTimeout(this._updateViewareaTimeout);\n this._updateViewareaTimeout = null;\n }\n\n if (removeTemporary && destination && destination.temporary) {\n delete destination.temporary;\n }\n\n this._destination = destination;\n this._uid = uid;\n this._numPositionUpdates = 0;\n }\n }, {\n key: \"_parseCurrentHash\",\n value: function _parseCurrentHash() {\n var checkNameddest = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var hash = unescape(getCurrentHash()).substring(1);\n var params = (0, _ui_utils.parseQueryString)(hash);\n var nameddest = params.nameddest || \"\";\n var page = params.page | 0;\n\n if (!(Number.isInteger(page) && page > 0 && page <= this.linkService.pagesCount) || checkNameddest && nameddest.length > 0) {\n page = null;\n }\n\n return {\n hash: hash,\n page: page,\n rotation: this.linkService.rotation\n };\n }\n }, {\n key: \"_updateViewarea\",\n value: function _updateViewarea(_ref4) {\n var _this3 = this;\n\n var location = _ref4.location;\n\n if (this._updateViewareaTimeout) {\n clearTimeout(this._updateViewareaTimeout);\n this._updateViewareaTimeout = null;\n }\n\n this._position = {\n hash: this._isViewerInPresentationMode ? \"page=\".concat(location.pageNumber) : location.pdfOpenParams.substring(1),\n page: this.linkService.page,\n first: location.pageNumber,\n rotation: location.rotation\n };\n\n if (this._popStateInProgress) {\n return;\n }\n\n if (POSITION_UPDATED_THRESHOLD > 0 && this._isPagesLoaded && this._destination && !this._destination.page) {\n this._numPositionUpdates++;\n }\n\n if (UPDATE_VIEWAREA_TIMEOUT > 0) {\n this._updateViewareaTimeout = setTimeout(function () {\n if (!_this3._popStateInProgress) {\n _this3._tryPushCurrentPosition(true);\n }\n\n _this3._updateViewareaTimeout = null;\n }, UPDATE_VIEWAREA_TIMEOUT);\n }\n }\n }, {\n key: \"_popState\",\n value: function _popState(_ref5) {\n var _this4 = this;\n\n var state = _ref5.state;\n var newHash = getCurrentHash(),\n hashChanged = this._currentHash !== newHash;\n this._currentHash = newHash;\n\n if (!state) {\n this._uid++;\n\n var _this$_parseCurrentHa2 = this._parseCurrentHash(),\n hash = _this$_parseCurrentHa2.hash,\n page = _this$_parseCurrentHa2.page,\n rotation = _this$_parseCurrentHa2.rotation;\n\n this._pushOrReplaceState({\n hash: hash,\n page: page,\n rotation: rotation\n }, true);\n\n return;\n }\n\n if (!this._isValidState(state)) {\n return;\n }\n\n this._popStateInProgress = true;\n\n if (hashChanged) {\n this._blockHashChange++;\n (0, _ui_utils.waitOnEventOrTimeout)({\n target: window,\n name: \"hashchange\",\n delay: HASH_CHANGE_TIMEOUT\n }).then(function () {\n _this4._blockHashChange--;\n });\n }\n\n var destination = state.destination;\n\n this._updateInternalState(destination, state.uid, true);\n\n if (this._uid > this._maxUid) {\n this._maxUid = this._uid;\n }\n\n if ((0, _ui_utils.isValidRotation)(destination.rotation)) {\n this.linkService.rotation = destination.rotation;\n }\n\n if (destination.dest) {\n this.linkService.navigateTo(destination.dest);\n } else if (destination.hash) {\n this.linkService.setHash(destination.hash);\n } else if (destination.page) {\n this.linkService.page = destination.page;\n }\n\n Promise.resolve().then(function () {\n _this4._popStateInProgress = false;\n });\n }\n }, {\n key: \"_pageHide\",\n value: function _pageHide() {\n if (!this._destination || this._destination.temporary) {\n this._tryPushCurrentPosition();\n }\n }\n }, {\n key: \"_bindEvents\",\n value: function _bindEvents() {\n if (this._boundEvents) {\n return;\n }\n\n this._boundEvents = {\n updateViewarea: this._updateViewarea.bind(this),\n popState: this._popState.bind(this),\n pageHide: this._pageHide.bind(this)\n };\n\n this.eventBus._on(\"updateviewarea\", this._boundEvents.updateViewarea);\n\n window.addEventListener(\"popstate\", this._boundEvents.popState);\n window.addEventListener(\"pagehide\", this._boundEvents.pageHide);\n }\n }, {\n key: \"_unbindEvents\",\n value: function _unbindEvents() {\n if (!this._boundEvents) {\n return;\n }\n\n this.eventBus._off(\"updateviewarea\", this._boundEvents.updateViewarea);\n\n window.removeEventListener(\"popstate\", this._boundEvents.popState);\n window.removeEventListener(\"pagehide\", this._boundEvents.pageHide);\n this._boundEvents = null;\n }\n }, {\n key: \"popStateInProgress\",\n get: function get() {\n return this._initialized && (this._popStateInProgress || this._blockHashChange > 0);\n }\n }, {\n key: \"initialBookmark\",\n get: function get() {\n return this._initialized ? this._initialBookmark : null;\n }\n }, {\n key: \"initialRotation\",\n get: function get() {\n return this._initialized ? this._initialRotation : null;\n }\n }]);\n\n return PDFHistory;\n}();\n\nexports.PDFHistory = PDFHistory;\n\nfunction isDestHashesEqual(destHash, pushHash) {\n if (typeof destHash !== \"string\" || typeof pushHash !== \"string\") {\n return false;\n }\n\n if (destHash === pushHash) {\n return true;\n }\n\n var _parseQueryString = (0, _ui_utils.parseQueryString)(destHash),\n nameddest = _parseQueryString.nameddest;\n\n if (nameddest === pushHash) {\n return true;\n }\n\n return false;\n}\n\nfunction isDestArraysEqual(firstDest, secondDest) {\n function isEntryEqual(first, second) {\n if (_typeof(first) !== _typeof(second)) {\n return false;\n }\n\n if (Array.isArray(first) || Array.isArray(second)) {\n return false;\n }\n\n if (first !== null && _typeof(first) === \"object\" && second !== null) {\n if (Object.keys(first).length !== Object.keys(second).length) {\n return false;\n }\n\n for (var key in first) {\n if (!isEntryEqual(first[key], second[key])) {\n return false;\n }\n }\n\n return true;\n }\n\n return first === second || Number.isNaN(first) && Number.isNaN(second);\n }\n\n if (!(Array.isArray(firstDest) && Array.isArray(secondDest))) {\n return false;\n }\n\n if (firstDest.length !== secondDest.length) {\n return false;\n }\n\n for (var i = 0, ii = firstDest.length; i < ii; i++) {\n if (!isEntryEqual(firstDest[i], secondDest[i])) {\n return false;\n }\n }\n\n return true;\n}\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFPageView = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(4));\n\nvar _ui_utils = __w_pdfjs_require__(3);\n\nvar _pdfjsLib = __w_pdfjs_require__(2);\n\nvar _pdf_rendering_queue = __w_pdfjs_require__(17);\n\nvar _viewer_compatibility = __w_pdfjs_require__(10);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar MAX_CANVAS_PIXELS = _viewer_compatibility.viewerCompatibilityParams.maxCanvasPixels || 16777216;\n\nvar PDFPageView = /*#__PURE__*/function () {\n function PDFPageView(options) {\n _classCallCheck(this, PDFPageView);\n\n var container = options.container;\n var defaultViewport = options.defaultViewport;\n this.id = options.id;\n this.renderingId = \"page\" + this.id;\n this.pdfPage = null;\n this.pageLabel = null;\n this.rotation = 0;\n this.scale = options.scale || _ui_utils.DEFAULT_SCALE;\n this.viewport = defaultViewport;\n this.pdfPageRotate = defaultViewport.rotation;\n this.hasRestrictedScaling = false;\n this.textLayerMode = Number.isInteger(options.textLayerMode) ? options.textLayerMode : _ui_utils.TextLayerMode.ENABLE;\n this.imageResourcesPath = options.imageResourcesPath || \"\";\n this.renderInteractiveForms = options.renderInteractiveForms || false;\n this.useOnlyCssZoom = options.useOnlyCssZoom || false;\n this.maxCanvasPixels = options.maxCanvasPixels || MAX_CANVAS_PIXELS;\n this.eventBus = options.eventBus;\n this.renderingQueue = options.renderingQueue;\n this.textLayerFactory = options.textLayerFactory;\n this.annotationLayerFactory = options.annotationLayerFactory;\n this.renderer = options.renderer || _ui_utils.RendererType.CANVAS;\n this.enableWebGL = options.enableWebGL || false;\n this.l10n = options.l10n || _ui_utils.NullL10n;\n this.paintTask = null;\n this.paintedViewportMap = new WeakMap();\n this.renderingState = _pdf_rendering_queue.RenderingStates.INITIAL;\n this.resume = null;\n this.error = null;\n this.annotationLayer = null;\n this.textLayer = null;\n this.zoomLayer = null;\n var div = document.createElement(\"div\");\n div.className = \"page\";\n div.style.width = Math.floor(this.viewport.width) + \"px\";\n div.style.height = Math.floor(this.viewport.height) + \"px\";\n div.setAttribute(\"data-page-number\", this.id);\n this.div = div;\n container.appendChild(div);\n }\n\n _createClass(PDFPageView, [{\n key: \"setPdfPage\",\n value: function setPdfPage(pdfPage) {\n this.pdfPage = pdfPage;\n this.pdfPageRotate = pdfPage.rotate;\n var totalRotation = (this.rotation + this.pdfPageRotate) % 360;\n this.viewport = pdfPage.getViewport({\n scale: this.scale * _ui_utils.CSS_UNITS,\n rotation: totalRotation\n });\n this.stats = pdfPage.stats;\n this.reset();\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n this.reset();\n\n if (this.pdfPage) {\n this.pdfPage.cleanup();\n }\n }\n }, {\n key: \"_resetZoomLayer\",\n value: function _resetZoomLayer() {\n var removeFromDOM = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (!this.zoomLayer) {\n return;\n }\n\n var zoomLayerCanvas = this.zoomLayer.firstChild;\n this.paintedViewportMap[\"delete\"](zoomLayerCanvas);\n zoomLayerCanvas.width = 0;\n zoomLayerCanvas.height = 0;\n\n if (removeFromDOM) {\n this.zoomLayer.remove();\n }\n\n this.zoomLayer = null;\n }\n }, {\n key: \"reset\",\n value: function reset() {\n var keepZoomLayer = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var keepAnnotations = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n this.cancelRendering(keepAnnotations);\n this.renderingState = _pdf_rendering_queue.RenderingStates.INITIAL;\n var div = this.div;\n div.style.width = Math.floor(this.viewport.width) + \"px\";\n div.style.height = Math.floor(this.viewport.height) + \"px\";\n var childNodes = div.childNodes;\n var currentZoomLayerNode = keepZoomLayer && this.zoomLayer || null;\n var currentAnnotationNode = keepAnnotations && this.annotationLayer && this.annotationLayer.div || null;\n\n for (var i = childNodes.length - 1; i >= 0; i--) {\n var node = childNodes[i];\n\n if (currentZoomLayerNode === node || currentAnnotationNode === node) {\n continue;\n }\n\n div.removeChild(node);\n }\n\n div.removeAttribute(\"data-loaded\");\n\n if (currentAnnotationNode) {\n this.annotationLayer.hide();\n } else if (this.annotationLayer) {\n this.annotationLayer.cancel();\n this.annotationLayer = null;\n }\n\n if (!currentZoomLayerNode) {\n if (this.canvas) {\n this.paintedViewportMap[\"delete\"](this.canvas);\n this.canvas.width = 0;\n this.canvas.height = 0;\n delete this.canvas;\n }\n\n this._resetZoomLayer();\n }\n\n if (this.svg) {\n this.paintedViewportMap[\"delete\"](this.svg);\n delete this.svg;\n }\n\n this.loadingIconDiv = document.createElement(\"div\");\n this.loadingIconDiv.className = \"loadingIcon\";\n div.appendChild(this.loadingIconDiv);\n }\n }, {\n key: \"update\",\n value: function update(scale, rotation) {\n this.scale = scale || this.scale;\n\n if (typeof rotation !== \"undefined\") {\n this.rotation = rotation;\n }\n\n var totalRotation = (this.rotation + this.pdfPageRotate) % 360;\n this.viewport = this.viewport.clone({\n scale: this.scale * _ui_utils.CSS_UNITS,\n rotation: totalRotation\n });\n\n if (this.svg) {\n this.cssTransform(this.svg, true);\n this.eventBus.dispatch(\"pagerendered\", {\n source: this,\n pageNumber: this.id,\n cssTransform: true,\n timestamp: performance.now()\n });\n return;\n }\n\n var isScalingRestricted = false;\n\n if (this.canvas && this.maxCanvasPixels > 0) {\n var outputScale = this.outputScale;\n\n if ((Math.floor(this.viewport.width) * outputScale.sx | 0) * (Math.floor(this.viewport.height) * outputScale.sy | 0) > this.maxCanvasPixels) {\n isScalingRestricted = true;\n }\n }\n\n if (this.canvas) {\n if (this.useOnlyCssZoom || this.hasRestrictedScaling && isScalingRestricted) {\n this.cssTransform(this.canvas, true);\n this.eventBus.dispatch(\"pagerendered\", {\n source: this,\n pageNumber: this.id,\n cssTransform: true,\n timestamp: performance.now()\n });\n return;\n }\n\n if (!this.zoomLayer && !this.canvas.hasAttribute(\"hidden\")) {\n this.zoomLayer = this.canvas.parentNode;\n this.zoomLayer.style.position = \"absolute\";\n }\n }\n\n if (this.zoomLayer) {\n this.cssTransform(this.zoomLayer.firstChild);\n }\n\n this.reset(true, true);\n }\n }, {\n key: \"cancelRendering\",\n value: function cancelRendering() {\n var keepAnnotations = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (this.paintTask) {\n this.paintTask.cancel();\n this.paintTask = null;\n }\n\n this.resume = null;\n\n if (this.textLayer) {\n this.textLayer.cancel();\n this.textLayer = null;\n }\n\n if (!keepAnnotations && this.annotationLayer) {\n this.annotationLayer.cancel();\n this.annotationLayer = null;\n }\n }\n }, {\n key: \"cssTransform\",\n value: function cssTransform(target) {\n var redrawAnnotations = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var width = this.viewport.width;\n var height = this.viewport.height;\n var div = this.div;\n target.style.width = target.parentNode.style.width = div.style.width = Math.floor(width) + \"px\";\n target.style.height = target.parentNode.style.height = div.style.height = Math.floor(height) + \"px\";\n var relativeRotation = this.viewport.rotation - this.paintedViewportMap.get(target).rotation;\n var absRotation = Math.abs(relativeRotation);\n var scaleX = 1,\n scaleY = 1;\n\n if (absRotation === 90 || absRotation === 270) {\n scaleX = height / width;\n scaleY = width / height;\n }\n\n var cssTransform = \"rotate(\" + relativeRotation + \"deg) \" + \"scale(\" + scaleX + \",\" + scaleY + \")\";\n target.style.transform = cssTransform;\n\n if (this.textLayer) {\n var textLayerViewport = this.textLayer.viewport;\n var textRelativeRotation = this.viewport.rotation - textLayerViewport.rotation;\n var textAbsRotation = Math.abs(textRelativeRotation);\n var scale = width / textLayerViewport.width;\n\n if (textAbsRotation === 90 || textAbsRotation === 270) {\n scale = width / textLayerViewport.height;\n }\n\n var textLayerDiv = this.textLayer.textLayerDiv;\n var transX, transY;\n\n switch (textAbsRotation) {\n case 0:\n transX = transY = 0;\n break;\n\n case 90:\n transX = 0;\n transY = \"-\" + textLayerDiv.style.height;\n break;\n\n case 180:\n transX = \"-\" + textLayerDiv.style.width;\n transY = \"-\" + textLayerDiv.style.height;\n break;\n\n case 270:\n transX = \"-\" + textLayerDiv.style.width;\n transY = 0;\n break;\n\n default:\n console.error(\"Bad rotation value.\");\n break;\n }\n\n textLayerDiv.style.transform = \"rotate(\" + textAbsRotation + \"deg) \" + \"scale(\" + scale + \", \" + scale + \") \" + \"translate(\" + transX + \", \" + transY + \")\";\n textLayerDiv.style.transformOrigin = \"0% 0%\";\n }\n\n if (redrawAnnotations && this.annotationLayer) {\n this.annotationLayer.render(this.viewport, \"display\");\n }\n }\n }, {\n key: \"getPagePoint\",\n value: function getPagePoint(x, y) {\n return this.viewport.convertToPdfPoint(x, y);\n }\n }, {\n key: \"draw\",\n value: function draw() {\n var _this = this;\n\n if (this.renderingState !== _pdf_rendering_queue.RenderingStates.INITIAL) {\n console.error(\"Must be in new state before drawing\");\n this.reset();\n }\n\n var div = this.div,\n pdfPage = this.pdfPage;\n\n if (!pdfPage) {\n this.renderingState = _pdf_rendering_queue.RenderingStates.FINISHED;\n\n if (this.loadingIconDiv) {\n div.removeChild(this.loadingIconDiv);\n delete this.loadingIconDiv;\n }\n\n return Promise.reject(new Error(\"pdfPage is not loaded\"));\n }\n\n this.renderingState = _pdf_rendering_queue.RenderingStates.RUNNING;\n var canvasWrapper = document.createElement(\"div\");\n canvasWrapper.style.width = div.style.width;\n canvasWrapper.style.height = div.style.height;\n canvasWrapper.classList.add(\"canvasWrapper\");\n\n if (this.annotationLayer && this.annotationLayer.div) {\n div.insertBefore(canvasWrapper, this.annotationLayer.div);\n } else {\n div.appendChild(canvasWrapper);\n }\n\n var textLayer = null;\n\n if (this.textLayerMode !== _ui_utils.TextLayerMode.DISABLE && this.textLayerFactory) {\n var textLayerDiv = document.createElement(\"div\");\n textLayerDiv.className = \"textLayer\";\n textLayerDiv.style.width = canvasWrapper.style.width;\n textLayerDiv.style.height = canvasWrapper.style.height;\n\n if (this.annotationLayer && this.annotationLayer.div) {\n div.insertBefore(textLayerDiv, this.annotationLayer.div);\n } else {\n div.appendChild(textLayerDiv);\n }\n\n textLayer = this.textLayerFactory.createTextLayerBuilder(textLayerDiv, this.id - 1, this.viewport, this.textLayerMode === _ui_utils.TextLayerMode.ENABLE_ENHANCE, this.eventBus);\n }\n\n this.textLayer = textLayer;\n var renderContinueCallback = null;\n\n if (this.renderingQueue) {\n renderContinueCallback = function renderContinueCallback(cont) {\n if (!_this.renderingQueue.isHighestPriority(_this)) {\n _this.renderingState = _pdf_rendering_queue.RenderingStates.PAUSED;\n\n _this.resume = function () {\n _this.renderingState = _pdf_rendering_queue.RenderingStates.RUNNING;\n cont();\n };\n\n return;\n }\n\n cont();\n };\n }\n\n var finishPaintTask = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee(error) {\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (paintTask === _this.paintTask) {\n _this.paintTask = null;\n }\n\n if (!(error instanceof _pdfjsLib.RenderingCancelledException)) {\n _context.next = 4;\n break;\n }\n\n _this.error = null;\n return _context.abrupt(\"return\");\n\n case 4:\n _this.renderingState = _pdf_rendering_queue.RenderingStates.FINISHED;\n\n if (_this.loadingIconDiv) {\n div.removeChild(_this.loadingIconDiv);\n delete _this.loadingIconDiv;\n }\n\n _this._resetZoomLayer(true);\n\n _this.error = error;\n _this.stats = pdfPage.stats;\n\n _this.eventBus.dispatch(\"pagerendered\", {\n source: _this,\n pageNumber: _this.id,\n cssTransform: false,\n timestamp: performance.now()\n });\n\n if (!error) {\n _context.next = 12;\n break;\n }\n\n throw error;\n\n case 12:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function finishPaintTask(_x) {\n return _ref.apply(this, arguments);\n };\n }();\n\n var paintTask = this.renderer === _ui_utils.RendererType.SVG ? this.paintOnSvg(canvasWrapper) : this.paintOnCanvas(canvasWrapper);\n paintTask.onRenderContinue = renderContinueCallback;\n this.paintTask = paintTask;\n var resultPromise = paintTask.promise.then(function () {\n return finishPaintTask(null).then(function () {\n if (textLayer) {\n var readableStream = pdfPage.streamTextContent({\n normalizeWhitespace: true\n });\n textLayer.setTextContentStream(readableStream);\n textLayer.render();\n }\n });\n }, function (reason) {\n return finishPaintTask(reason);\n });\n\n if (this.annotationLayerFactory) {\n if (!this.annotationLayer) {\n this.annotationLayer = this.annotationLayerFactory.createAnnotationLayerBuilder(div, pdfPage, this.imageResourcesPath, this.renderInteractiveForms, this.l10n);\n }\n\n this.annotationLayer.render(this.viewport, \"display\");\n }\n\n div.setAttribute(\"data-loaded\", true);\n this.eventBus.dispatch(\"pagerender\", {\n source: this,\n pageNumber: this.id\n });\n return resultPromise;\n }\n }, {\n key: \"paintOnCanvas\",\n value: function paintOnCanvas(canvasWrapper) {\n var renderCapability = (0, _pdfjsLib.createPromiseCapability)();\n var result = {\n promise: renderCapability.promise,\n onRenderContinue: function onRenderContinue(cont) {\n cont();\n },\n cancel: function cancel() {\n renderTask.cancel();\n }\n };\n var viewport = this.viewport;\n var canvas = document.createElement(\"canvas\");\n this.l10n.get(\"page_canvas\", {\n page: this.id\n }, \"Page {{page}}\").then(function (msg) {\n canvas.setAttribute(\"aria-label\", msg);\n });\n canvas.setAttribute(\"hidden\", \"hidden\");\n var isCanvasHidden = true;\n\n var showCanvas = function showCanvas() {\n if (isCanvasHidden) {\n canvas.removeAttribute(\"hidden\");\n isCanvasHidden = false;\n }\n };\n\n canvasWrapper.appendChild(canvas);\n this.canvas = canvas;\n canvas.mozOpaque = true;\n var ctx = canvas.getContext(\"2d\", {\n alpha: false\n });\n var outputScale = (0, _ui_utils.getOutputScale)(ctx);\n this.outputScale = outputScale;\n\n if (this.useOnlyCssZoom) {\n var actualSizeViewport = viewport.clone({\n scale: _ui_utils.CSS_UNITS\n });\n outputScale.sx *= actualSizeViewport.width / viewport.width;\n outputScale.sy *= actualSizeViewport.height / viewport.height;\n outputScale.scaled = true;\n }\n\n if (this.maxCanvasPixels > 0) {\n var pixelsInViewport = viewport.width * viewport.height;\n var maxScale = Math.sqrt(this.maxCanvasPixels / pixelsInViewport);\n\n if (outputScale.sx > maxScale || outputScale.sy > maxScale) {\n outputScale.sx = maxScale;\n outputScale.sy = maxScale;\n outputScale.scaled = true;\n this.hasRestrictedScaling = true;\n } else {\n this.hasRestrictedScaling = false;\n }\n }\n\n var sfx = (0, _ui_utils.approximateFraction)(outputScale.sx);\n var sfy = (0, _ui_utils.approximateFraction)(outputScale.sy);\n canvas.width = (0, _ui_utils.roundToDivide)(viewport.width * outputScale.sx, sfx[0]);\n canvas.height = (0, _ui_utils.roundToDivide)(viewport.height * outputScale.sy, sfy[0]);\n canvas.style.width = (0, _ui_utils.roundToDivide)(viewport.width, sfx[1]) + \"px\";\n canvas.style.height = (0, _ui_utils.roundToDivide)(viewport.height, sfy[1]) + \"px\";\n this.paintedViewportMap.set(canvas, viewport);\n var transform = !outputScale.scaled ? null : [outputScale.sx, 0, 0, outputScale.sy, 0, 0];\n var renderContext = {\n canvasContext: ctx,\n transform: transform,\n viewport: this.viewport,\n enableWebGL: this.enableWebGL,\n renderInteractiveForms: this.renderInteractiveForms\n };\n var renderTask = this.pdfPage.render(renderContext);\n\n renderTask.onContinue = function (cont) {\n showCanvas();\n\n if (result.onRenderContinue) {\n result.onRenderContinue(cont);\n } else {\n cont();\n }\n };\n\n renderTask.promise.then(function () {\n showCanvas();\n renderCapability.resolve(undefined);\n }, function (error) {\n showCanvas();\n renderCapability.reject(error);\n });\n return result;\n }\n }, {\n key: \"paintOnSvg\",\n value: function paintOnSvg(wrapper) {\n var _this2 = this;\n\n var cancelled = false;\n\n var ensureNotCancelled = function ensureNotCancelled() {\n if (cancelled) {\n throw new _pdfjsLib.RenderingCancelledException(\"Rendering cancelled, page \".concat(_this2.id), \"svg\");\n }\n };\n\n var pdfPage = this.pdfPage;\n var actualSizeViewport = this.viewport.clone({\n scale: _ui_utils.CSS_UNITS\n });\n var promise = pdfPage.getOperatorList().then(function (opList) {\n ensureNotCancelled();\n var svgGfx = new _pdfjsLib.SVGGraphics(pdfPage.commonObjs, pdfPage.objs);\n return svgGfx.getSVG(opList, actualSizeViewport).then(function (svg) {\n ensureNotCancelled();\n _this2.svg = svg;\n\n _this2.paintedViewportMap.set(svg, actualSizeViewport);\n\n svg.style.width = wrapper.style.width;\n svg.style.height = wrapper.style.height;\n _this2.renderingState = _pdf_rendering_queue.RenderingStates.FINISHED;\n wrapper.appendChild(svg);\n });\n });\n return {\n promise: promise,\n onRenderContinue: function onRenderContinue(cont) {\n cont();\n },\n cancel: function cancel() {\n cancelled = true;\n }\n };\n }\n }, {\n key: \"setPageLabel\",\n value: function setPageLabel(label) {\n this.pageLabel = typeof label === \"string\" ? label : null;\n\n if (this.pageLabel !== null) {\n this.div.setAttribute(\"data-page-label\", this.pageLabel);\n } else {\n this.div.removeAttribute(\"data-page-label\");\n }\n }\n }, {\n key: \"width\",\n get: function get() {\n return this.viewport.width;\n }\n }, {\n key: \"height\",\n get: function get() {\n return this.viewport.height;\n }\n }]);\n\n return PDFPageView;\n}();\n\nexports.PDFPageView = PDFPageView;\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFRenderingQueue = exports.RenderingStates = void 0;\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar CLEANUP_TIMEOUT = 30000;\nvar RenderingStates = {\n INITIAL: 0,\n RUNNING: 1,\n PAUSED: 2,\n FINISHED: 3\n};\nexports.RenderingStates = RenderingStates;\n\nvar PDFRenderingQueue = /*#__PURE__*/function () {\n function PDFRenderingQueue() {\n _classCallCheck(this, PDFRenderingQueue);\n\n this.pdfViewer = null;\n this.pdfThumbnailViewer = null;\n this.onIdle = null;\n this.highestPriorityPage = null;\n this.idleTimeout = null;\n this.printing = false;\n this.isThumbnailViewEnabled = false;\n }\n\n _createClass(PDFRenderingQueue, [{\n key: \"setViewer\",\n value: function setViewer(pdfViewer) {\n this.pdfViewer = pdfViewer;\n }\n }, {\n key: \"setThumbnailViewer\",\n value: function setThumbnailViewer(pdfThumbnailViewer) {\n this.pdfThumbnailViewer = pdfThumbnailViewer;\n }\n }, {\n key: \"isHighestPriority\",\n value: function isHighestPriority(view) {\n return this.highestPriorityPage === view.renderingId;\n }\n }, {\n key: \"renderHighestPriority\",\n value: function renderHighestPriority(currentlyVisiblePages) {\n if (this.idleTimeout) {\n clearTimeout(this.idleTimeout);\n this.idleTimeout = null;\n }\n\n if (this.pdfViewer.forceRendering(currentlyVisiblePages)) {\n return;\n }\n\n if (this.pdfThumbnailViewer && this.isThumbnailViewEnabled) {\n if (this.pdfThumbnailViewer.forceRendering()) {\n return;\n }\n }\n\n if (this.printing) {\n return;\n }\n\n if (this.onIdle) {\n this.idleTimeout = setTimeout(this.onIdle.bind(this), CLEANUP_TIMEOUT);\n }\n }\n }, {\n key: \"getHighestPriority\",\n value: function getHighestPriority(visible, views, scrolledDown) {\n var visibleViews = visible.views;\n var numVisible = visibleViews.length;\n\n if (numVisible === 0) {\n return null;\n }\n\n for (var i = 0; i < numVisible; ++i) {\n var view = visibleViews[i].view;\n\n if (!this.isViewFinished(view)) {\n return view;\n }\n }\n\n if (scrolledDown) {\n var nextPageIndex = visible.last.id;\n\n if (views[nextPageIndex] && !this.isViewFinished(views[nextPageIndex])) {\n return views[nextPageIndex];\n }\n } else {\n var previousPageIndex = visible.first.id - 2;\n\n if (views[previousPageIndex] && !this.isViewFinished(views[previousPageIndex])) {\n return views[previousPageIndex];\n }\n }\n\n return null;\n }\n }, {\n key: \"isViewFinished\",\n value: function isViewFinished(view) {\n return view.renderingState === RenderingStates.FINISHED;\n }\n }, {\n key: \"renderView\",\n value: function renderView(view) {\n var _this = this;\n\n switch (view.renderingState) {\n case RenderingStates.FINISHED:\n return false;\n\n case RenderingStates.PAUSED:\n this.highestPriorityPage = view.renderingId;\n view.resume();\n break;\n\n case RenderingStates.RUNNING:\n this.highestPriorityPage = view.renderingId;\n break;\n\n case RenderingStates.INITIAL:\n this.highestPriorityPage = view.renderingId;\n view.draw()[\"finally\"](function () {\n _this.renderHighestPriority();\n })[\"catch\"](function (reason) {\n console.error(\"renderView: \\\"\".concat(reason, \"\\\"\"));\n });\n break;\n }\n\n return true;\n }\n }]);\n\n return PDFRenderingQueue;\n}();\n\nexports.PDFRenderingQueue = PDFRenderingQueue;\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFSinglePageViewer = void 0;\n\nvar _base_viewer = __w_pdfjs_require__(19);\n\nvar _pdfjsLib = __w_pdfjs_require__(2);\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _get(target, property, receiver) { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }\n\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar PDFSinglePageViewer = /*#__PURE__*/function (_BaseViewer) {\n _inherits(PDFSinglePageViewer, _BaseViewer);\n\n var _super = _createSuper(PDFSinglePageViewer);\n\n function PDFSinglePageViewer(options) {\n var _this;\n\n _classCallCheck(this, PDFSinglePageViewer);\n\n _this = _super.call(this, options);\n\n _this.eventBus._on(\"pagesinit\", function (evt) {\n _this._ensurePageViewVisible();\n });\n\n return _this;\n }\n\n _createClass(PDFSinglePageViewer, [{\n key: \"_resetView\",\n value: function _resetView() {\n _get(_getPrototypeOf(PDFSinglePageViewer.prototype), \"_resetView\", this).call(this);\n\n this._previousPageNumber = 1;\n this._shadowViewer = document.createDocumentFragment();\n this._updateScrollDown = null;\n }\n }, {\n key: \"_ensurePageViewVisible\",\n value: function _ensurePageViewVisible() {\n var pageView = this._pages[this._currentPageNumber - 1];\n var previousPageView = this._pages[this._previousPageNumber - 1];\n var viewerNodes = this.viewer.childNodes;\n\n switch (viewerNodes.length) {\n case 0:\n this.viewer.appendChild(pageView.div);\n break;\n\n case 1:\n if (viewerNodes[0] !== previousPageView.div) {\n throw new Error(\"_ensurePageViewVisible: Unexpected previously visible page.\");\n }\n\n if (pageView === previousPageView) {\n break;\n }\n\n this._shadowViewer.appendChild(previousPageView.div);\n\n this.viewer.appendChild(pageView.div);\n this.container.scrollTop = 0;\n break;\n\n default:\n throw new Error(\"_ensurePageViewVisible: Only one page should be visible at a time.\");\n }\n\n this._previousPageNumber = this._currentPageNumber;\n }\n }, {\n key: \"_scrollUpdate\",\n value: function _scrollUpdate() {\n if (this._updateScrollDown) {\n this._updateScrollDown();\n }\n\n _get(_getPrototypeOf(PDFSinglePageViewer.prototype), \"_scrollUpdate\", this).call(this);\n }\n }, {\n key: \"_scrollIntoView\",\n value: function _scrollIntoView(_ref) {\n var _this2 = this;\n\n var pageDiv = _ref.pageDiv,\n _ref$pageSpot = _ref.pageSpot,\n pageSpot = _ref$pageSpot === void 0 ? null : _ref$pageSpot,\n _ref$pageNumber = _ref.pageNumber,\n pageNumber = _ref$pageNumber === void 0 ? null : _ref$pageNumber;\n\n if (pageNumber) {\n this._setCurrentPageNumber(pageNumber);\n }\n\n var scrolledDown = this._currentPageNumber >= this._previousPageNumber;\n\n this._ensurePageViewVisible();\n\n this.update();\n\n _get(_getPrototypeOf(PDFSinglePageViewer.prototype), \"_scrollIntoView\", this).call(this, {\n pageDiv: pageDiv,\n pageSpot: pageSpot,\n pageNumber: pageNumber\n });\n\n this._updateScrollDown = function () {\n _this2.scroll.down = scrolledDown;\n _this2._updateScrollDown = null;\n };\n }\n }, {\n key: \"_getVisiblePages\",\n value: function _getVisiblePages() {\n return this._getCurrentVisiblePage();\n }\n }, {\n key: \"_updateHelper\",\n value: function _updateHelper(visiblePages) {}\n }, {\n key: \"_updateScrollMode\",\n value: function _updateScrollMode() {}\n }, {\n key: \"_updateSpreadMode\",\n value: function _updateSpreadMode() {}\n }, {\n key: \"_viewerElement\",\n get: function get() {\n return (0, _pdfjsLib.shadow)(this, \"_viewerElement\", this._shadowViewer);\n }\n }, {\n key: \"_isScrollModeHorizontal\",\n get: function get() {\n return (0, _pdfjsLib.shadow)(this, \"_isScrollModeHorizontal\", false);\n }\n }]);\n\n return PDFSinglePageViewer;\n}(_base_viewer.BaseViewer);\n\nexports.PDFSinglePageViewer = PDFSinglePageViewer;\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.BaseViewer = void 0;\n\nvar _ui_utils = __w_pdfjs_require__(3);\n\nvar _pdf_rendering_queue = __w_pdfjs_require__(17);\n\nvar _annotation_layer_builder = __w_pdfjs_require__(1);\n\nvar _pdfjsLib = __w_pdfjs_require__(2);\n\nvar _pdf_page_view = __w_pdfjs_require__(16);\n\nvar _pdf_link_service = __w_pdfjs_require__(7);\n\nvar _text_layer_builder = __w_pdfjs_require__(8);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar DEFAULT_CACHE_SIZE = 10;\n\nfunction PDFPageViewBuffer(size) {\n var data = [];\n\n this.push = function (view) {\n var i = data.indexOf(view);\n\n if (i >= 0) {\n data.splice(i, 1);\n }\n\n data.push(view);\n\n if (data.length > size) {\n data.shift().destroy();\n }\n };\n\n this.resize = function (newSize, pagesToKeep) {\n size = newSize;\n\n if (pagesToKeep) {\n var pageIdsToKeep = new Set();\n\n for (var i = 0, iMax = pagesToKeep.length; i < iMax; ++i) {\n pageIdsToKeep.add(pagesToKeep[i].id);\n }\n\n (0, _ui_utils.moveToEndOfArray)(data, function (page) {\n return pageIdsToKeep.has(page.id);\n });\n }\n\n while (data.length > size) {\n data.shift().destroy();\n }\n };\n}\n\nfunction isSameScale(oldScale, newScale) {\n if (newScale === oldScale) {\n return true;\n }\n\n if (Math.abs(newScale - oldScale) < 1e-15) {\n return true;\n }\n\n return false;\n}\n\nvar BaseViewer = /*#__PURE__*/function () {\n function BaseViewer(options) {\n var _this = this;\n\n _classCallCheck(this, BaseViewer);\n\n if (this.constructor === BaseViewer) {\n throw new Error(\"Cannot initialize BaseViewer.\");\n }\n\n this._name = this.constructor.name;\n this.container = options.container;\n this.viewer = options.viewer || options.container.firstElementChild;\n this.eventBus = options.eventBus;\n this.linkService = options.linkService || new _pdf_link_service.SimpleLinkService();\n this.downloadManager = options.downloadManager || null;\n this.findController = options.findController || null;\n this.removePageBorders = options.removePageBorders || false;\n this.textLayerMode = Number.isInteger(options.textLayerMode) ? options.textLayerMode : _ui_utils.TextLayerMode.ENABLE;\n this.imageResourcesPath = options.imageResourcesPath || \"\";\n this.renderInteractiveForms = options.renderInteractiveForms || false;\n this.enablePrintAutoRotate = options.enablePrintAutoRotate || false;\n this.renderer = options.renderer || _ui_utils.RendererType.CANVAS;\n this.enableWebGL = options.enableWebGL || false;\n this.useOnlyCssZoom = options.useOnlyCssZoom || false;\n this.maxCanvasPixels = options.maxCanvasPixels;\n this.l10n = options.l10n || _ui_utils.NullL10n;\n this.defaultRenderingQueue = !options.renderingQueue;\n\n if (this.defaultRenderingQueue) {\n this.renderingQueue = new _pdf_rendering_queue.PDFRenderingQueue();\n this.renderingQueue.setViewer(this);\n } else {\n this.renderingQueue = options.renderingQueue;\n }\n\n this.scroll = (0, _ui_utils.watchScroll)(this.container, this._scrollUpdate.bind(this));\n this.presentationModeState = _ui_utils.PresentationModeState.UNKNOWN;\n this._onBeforeDraw = this._onAfterDraw = null;\n\n this._resetView();\n\n if (this.removePageBorders) {\n this.viewer.classList.add(\"removePageBorders\");\n }\n\n Promise.resolve().then(function () {\n _this.eventBus.dispatch(\"baseviewerinit\", {\n source: _this\n });\n });\n }\n\n _createClass(BaseViewer, [{\n key: \"getPageView\",\n value: function getPageView(index) {\n return this._pages[index];\n }\n }, {\n key: \"_setCurrentPageNumber\",\n value: function _setCurrentPageNumber(val) {\n var resetCurrentPageView = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n if (this._currentPageNumber === val) {\n if (resetCurrentPageView) {\n this._resetCurrentPageView();\n }\n\n return true;\n }\n\n if (!(0 < val && val <= this.pagesCount)) {\n return false;\n }\n\n this._currentPageNumber = val;\n this.eventBus.dispatch(\"pagechanging\", {\n source: this,\n pageNumber: val,\n pageLabel: this._pageLabels && this._pageLabels[val - 1]\n });\n\n if (resetCurrentPageView) {\n this._resetCurrentPageView();\n }\n\n return true;\n }\n }, {\n key: \"_onePageRenderedOrForceFetch\",\n value: function _onePageRenderedOrForceFetch() {\n if (!this.container.offsetParent || this._getVisiblePages().views.length === 0) {\n return Promise.resolve();\n }\n\n return this._onePageRenderedCapability.promise;\n }\n }, {\n key: \"setDocument\",\n value: function setDocument(pdfDocument) {\n var _this2 = this;\n\n if (this.pdfDocument) {\n this._cancelRendering();\n\n this._resetView();\n\n if (this.findController) {\n this.findController.setDocument(null);\n }\n }\n\n this.pdfDocument = pdfDocument;\n\n if (!pdfDocument) {\n return;\n }\n\n var pagesCount = pdfDocument.numPages;\n var firstPagePromise = pdfDocument.getPage(1);\n\n this._pagesCapability.promise.then(function () {\n _this2.eventBus.dispatch(\"pagesloaded\", {\n source: _this2,\n pagesCount: pagesCount\n });\n });\n\n this._onBeforeDraw = function (evt) {\n var pageView = _this2._pages[evt.pageNumber - 1];\n\n if (!pageView) {\n return;\n }\n\n _this2._buffer.push(pageView);\n };\n\n this.eventBus._on(\"pagerender\", this._onBeforeDraw);\n\n this._onAfterDraw = function (evt) {\n if (evt.cssTransform || _this2._onePageRenderedCapability.settled) {\n return;\n }\n\n _this2._onePageRenderedCapability.resolve();\n\n _this2.eventBus._off(\"pagerendered\", _this2._onAfterDraw);\n\n _this2._onAfterDraw = null;\n };\n\n this.eventBus._on(\"pagerendered\", this._onAfterDraw);\n\n firstPagePromise.then(function (firstPdfPage) {\n _this2._firstPageCapability.resolve(firstPdfPage);\n\n var scale = _this2.currentScale;\n var viewport = firstPdfPage.getViewport({\n scale: scale * _ui_utils.CSS_UNITS\n });\n var textLayerFactory = _this2.textLayerMode !== _ui_utils.TextLayerMode.DISABLE ? _this2 : null;\n\n for (var pageNum = 1; pageNum <= pagesCount; ++pageNum) {\n var pageView = new _pdf_page_view.PDFPageView({\n container: _this2._viewerElement,\n eventBus: _this2.eventBus,\n id: pageNum,\n scale: scale,\n defaultViewport: viewport.clone(),\n renderingQueue: _this2.renderingQueue,\n textLayerFactory: textLayerFactory,\n textLayerMode: _this2.textLayerMode,\n annotationLayerFactory: _this2,\n imageResourcesPath: _this2.imageResourcesPath,\n renderInteractiveForms: _this2.renderInteractiveForms,\n renderer: _this2.renderer,\n enableWebGL: _this2.enableWebGL,\n useOnlyCssZoom: _this2.useOnlyCssZoom,\n maxCanvasPixels: _this2.maxCanvasPixels,\n l10n: _this2.l10n\n });\n\n _this2._pages.push(pageView);\n }\n\n var firstPageView = _this2._pages[0];\n\n if (firstPageView) {\n firstPageView.setPdfPage(firstPdfPage);\n\n _this2.linkService.cachePageRef(1, firstPdfPage.ref);\n }\n\n if (_this2._spreadMode !== _ui_utils.SpreadMode.NONE) {\n _this2._updateSpreadMode();\n }\n\n _this2._onePageRenderedOrForceFetch().then(function () {\n if (_this2.findController) {\n _this2.findController.setDocument(pdfDocument);\n }\n\n if (pdfDocument.loadingParams.disableAutoFetch || pagesCount > 7500) {\n _this2._pagesCapability.resolve();\n\n return;\n }\n\n var getPagesLeft = pagesCount - 1;\n\n if (getPagesLeft <= 0) {\n _this2._pagesCapability.resolve();\n\n return;\n }\n\n var _loop = function _loop(_pageNum) {\n pdfDocument.getPage(_pageNum).then(function (pdfPage) {\n var pageView = _this2._pages[_pageNum - 1];\n\n if (!pageView.pdfPage) {\n pageView.setPdfPage(pdfPage);\n }\n\n _this2.linkService.cachePageRef(_pageNum, pdfPage.ref);\n\n if (--getPagesLeft === 0) {\n _this2._pagesCapability.resolve();\n }\n }, function (reason) {\n console.error(\"Unable to get page \".concat(_pageNum, \" to initialize viewer\"), reason);\n\n if (--getPagesLeft === 0) {\n _this2._pagesCapability.resolve();\n }\n });\n };\n\n for (var _pageNum = 2; _pageNum <= pagesCount; ++_pageNum) {\n _loop(_pageNum);\n }\n });\n\n _this2.eventBus.dispatch(\"pagesinit\", {\n source: _this2\n });\n\n if (_this2.defaultRenderingQueue) {\n _this2.update();\n }\n })[\"catch\"](function (reason) {\n console.error(\"Unable to initialize viewer\", reason);\n });\n }\n }, {\n key: \"setPageLabels\",\n value: function setPageLabels(labels) {\n if (!this.pdfDocument) {\n return;\n }\n\n if (!labels) {\n this._pageLabels = null;\n } else if (!(Array.isArray(labels) && this.pdfDocument.numPages === labels.length)) {\n this._pageLabels = null;\n console.error(\"\".concat(this._name, \".setPageLabels: Invalid page labels.\"));\n } else {\n this._pageLabels = labels;\n }\n\n for (var i = 0, ii = this._pages.length; i < ii; i++) {\n var pageView = this._pages[i];\n var label = this._pageLabels && this._pageLabels[i];\n pageView.setPageLabel(label);\n }\n }\n }, {\n key: \"_resetView\",\n value: function _resetView() {\n this._pages = [];\n this._currentPageNumber = 1;\n this._currentScale = _ui_utils.UNKNOWN_SCALE;\n this._currentScaleValue = null;\n this._pageLabels = null;\n this._buffer = new PDFPageViewBuffer(DEFAULT_CACHE_SIZE);\n this._location = null;\n this._pagesRotation = 0;\n this._pagesRequests = new WeakMap();\n this._firstPageCapability = (0, _pdfjsLib.createPromiseCapability)();\n this._onePageRenderedCapability = (0, _pdfjsLib.createPromiseCapability)();\n this._pagesCapability = (0, _pdfjsLib.createPromiseCapability)();\n this._scrollMode = _ui_utils.ScrollMode.VERTICAL;\n this._spreadMode = _ui_utils.SpreadMode.NONE;\n\n if (this._onBeforeDraw) {\n this.eventBus._off(\"pagerender\", this._onBeforeDraw);\n\n this._onBeforeDraw = null;\n }\n\n if (this._onAfterDraw) {\n this.eventBus._off(\"pagerendered\", this._onAfterDraw);\n\n this._onAfterDraw = null;\n }\n\n this.viewer.textContent = \"\";\n\n this._updateScrollMode();\n }\n }, {\n key: \"_scrollUpdate\",\n value: function _scrollUpdate() {\n if (this.pagesCount === 0) {\n return;\n }\n\n this.update();\n }\n }, {\n key: \"_scrollIntoView\",\n value: function _scrollIntoView(_ref) {\n var pageDiv = _ref.pageDiv,\n _ref$pageSpot = _ref.pageSpot,\n pageSpot = _ref$pageSpot === void 0 ? null : _ref$pageSpot,\n _ref$pageNumber = _ref.pageNumber,\n pageNumber = _ref$pageNumber === void 0 ? null : _ref$pageNumber;\n (0, _ui_utils.scrollIntoView)(pageDiv, pageSpot);\n }\n }, {\n key: \"_setScaleUpdatePages\",\n value: function _setScaleUpdatePages(newScale, newValue) {\n var noScroll = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var preset = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n this._currentScaleValue = newValue.toString();\n\n if (isSameScale(this._currentScale, newScale)) {\n if (preset) {\n this.eventBus.dispatch(\"scalechanging\", {\n source: this,\n scale: newScale,\n presetValue: newValue\n });\n }\n\n return;\n }\n\n for (var i = 0, ii = this._pages.length; i < ii; i++) {\n this._pages[i].update(newScale);\n }\n\n this._currentScale = newScale;\n\n if (!noScroll) {\n var page = this._currentPageNumber,\n dest;\n\n if (this._location && !(this.isInPresentationMode || this.isChangingPresentationMode)) {\n page = this._location.pageNumber;\n dest = [null, {\n name: \"XYZ\"\n }, this._location.left, this._location.top, null];\n }\n\n this.scrollPageIntoView({\n pageNumber: page,\n destArray: dest,\n allowNegativeOffset: true\n });\n }\n\n this.eventBus.dispatch(\"scalechanging\", {\n source: this,\n scale: newScale,\n presetValue: preset ? newValue : undefined\n });\n\n if (this.defaultRenderingQueue) {\n this.update();\n }\n }\n }, {\n key: \"_setScale\",\n value: function _setScale(value) {\n var noScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var scale = parseFloat(value);\n\n if (scale > 0) {\n this._setScaleUpdatePages(scale, value, noScroll, false);\n } else {\n var currentPage = this._pages[this._currentPageNumber - 1];\n\n if (!currentPage) {\n return;\n }\n\n var noPadding = this.isInPresentationMode || this.removePageBorders;\n var hPadding = noPadding ? 0 : _ui_utils.SCROLLBAR_PADDING;\n var vPadding = noPadding ? 0 : _ui_utils.VERTICAL_PADDING;\n\n if (!noPadding && this._isScrollModeHorizontal) {\n var _ref2 = [vPadding, hPadding];\n hPadding = _ref2[0];\n vPadding = _ref2[1];\n }\n\n var pageWidthScale = (this.container.clientWidth - hPadding) / currentPage.width * currentPage.scale;\n var pageHeightScale = (this.container.clientHeight - vPadding) / currentPage.height * currentPage.scale;\n\n switch (value) {\n case \"page-actual\":\n scale = 1;\n break;\n\n case \"page-width\":\n scale = pageWidthScale;\n break;\n\n case \"page-height\":\n scale = pageHeightScale;\n break;\n\n case \"page-fit\":\n scale = Math.min(pageWidthScale, pageHeightScale);\n break;\n\n case \"auto\":\n var horizontalScale = (0, _ui_utils.isPortraitOrientation)(currentPage) ? pageWidthScale : Math.min(pageHeightScale, pageWidthScale);\n scale = Math.min(_ui_utils.MAX_AUTO_SCALE, horizontalScale);\n break;\n\n default:\n console.error(\"\".concat(this._name, \"._setScale: \\\"\").concat(value, \"\\\" is an unknown zoom value.\"));\n return;\n }\n\n this._setScaleUpdatePages(scale, value, noScroll, true);\n }\n }\n }, {\n key: \"_resetCurrentPageView\",\n value: function _resetCurrentPageView() {\n if (this.isInPresentationMode) {\n this._setScale(this._currentScaleValue, true);\n }\n\n var pageView = this._pages[this._currentPageNumber - 1];\n\n this._scrollIntoView({\n pageDiv: pageView.div\n });\n }\n }, {\n key: \"scrollPageIntoView\",\n value: function scrollPageIntoView(_ref3) {\n var pageNumber = _ref3.pageNumber,\n _ref3$destArray = _ref3.destArray,\n destArray = _ref3$destArray === void 0 ? null : _ref3$destArray,\n _ref3$allowNegativeOf = _ref3.allowNegativeOffset,\n allowNegativeOffset = _ref3$allowNegativeOf === void 0 ? false : _ref3$allowNegativeOf,\n _ref3$ignoreDestinati = _ref3.ignoreDestinationZoom,\n ignoreDestinationZoom = _ref3$ignoreDestinati === void 0 ? false : _ref3$ignoreDestinati;\n\n if (!this.pdfDocument) {\n return;\n }\n\n var pageView = Number.isInteger(pageNumber) && this._pages[pageNumber - 1];\n\n if (!pageView) {\n console.error(\"\".concat(this._name, \".scrollPageIntoView: \") + \"\\\"\".concat(pageNumber, \"\\\" is not a valid pageNumber parameter.\"));\n return;\n }\n\n if (this.isInPresentationMode || !destArray) {\n this._setCurrentPageNumber(pageNumber, true);\n\n return;\n }\n\n var x = 0,\n y = 0;\n var width = 0,\n height = 0,\n widthScale,\n heightScale;\n var changeOrientation = pageView.rotation % 180 !== 0;\n var pageWidth = (changeOrientation ? pageView.height : pageView.width) / pageView.scale / _ui_utils.CSS_UNITS;\n var pageHeight = (changeOrientation ? pageView.width : pageView.height) / pageView.scale / _ui_utils.CSS_UNITS;\n var scale = 0;\n\n switch (destArray[1].name) {\n case \"XYZ\":\n x = destArray[2];\n y = destArray[3];\n scale = destArray[4];\n x = x !== null ? x : 0;\n y = y !== null ? y : pageHeight;\n break;\n\n case \"Fit\":\n case \"FitB\":\n scale = \"page-fit\";\n break;\n\n case \"FitH\":\n case \"FitBH\":\n y = destArray[2];\n scale = \"page-width\";\n\n if (y === null && this._location) {\n x = this._location.left;\n y = this._location.top;\n }\n\n break;\n\n case \"FitV\":\n case \"FitBV\":\n x = destArray[2];\n width = pageWidth;\n height = pageHeight;\n scale = \"page-height\";\n break;\n\n case \"FitR\":\n x = destArray[2];\n y = destArray[3];\n width = destArray[4] - x;\n height = destArray[5] - y;\n var hPadding = this.removePageBorders ? 0 : _ui_utils.SCROLLBAR_PADDING;\n var vPadding = this.removePageBorders ? 0 : _ui_utils.VERTICAL_PADDING;\n widthScale = (this.container.clientWidth - hPadding) / width / _ui_utils.CSS_UNITS;\n heightScale = (this.container.clientHeight - vPadding) / height / _ui_utils.CSS_UNITS;\n scale = Math.min(Math.abs(widthScale), Math.abs(heightScale));\n break;\n\n default:\n console.error(\"\".concat(this._name, \".scrollPageIntoView: \") + \"\\\"\".concat(destArray[1].name, \"\\\" is not a valid destination type.\"));\n return;\n }\n\n if (!ignoreDestinationZoom) {\n if (scale && scale !== this._currentScale) {\n this.currentScaleValue = scale;\n } else if (this._currentScale === _ui_utils.UNKNOWN_SCALE) {\n this.currentScaleValue = _ui_utils.DEFAULT_SCALE_VALUE;\n }\n }\n\n if (scale === \"page-fit\" && !destArray[4]) {\n this._scrollIntoView({\n pageDiv: pageView.div,\n pageNumber: pageNumber\n });\n\n return;\n }\n\n var boundingRect = [pageView.viewport.convertToViewportPoint(x, y), pageView.viewport.convertToViewportPoint(x + width, y + height)];\n var left = Math.min(boundingRect[0][0], boundingRect[1][0]);\n var top = Math.min(boundingRect[0][1], boundingRect[1][1]);\n\n if (!allowNegativeOffset) {\n left = Math.max(left, 0);\n top = Math.max(top, 0);\n }\n\n this._scrollIntoView({\n pageDiv: pageView.div,\n pageSpot: {\n left: left,\n top: top\n },\n pageNumber: pageNumber\n });\n }\n }, {\n key: \"_updateLocation\",\n value: function _updateLocation(firstPage) {\n var currentScale = this._currentScale;\n var currentScaleValue = this._currentScaleValue;\n var normalizedScaleValue = parseFloat(currentScaleValue) === currentScale ? Math.round(currentScale * 10000) / 100 : currentScaleValue;\n var pageNumber = firstPage.id;\n var pdfOpenParams = \"#page=\" + pageNumber;\n pdfOpenParams += \"&zoom=\" + normalizedScaleValue;\n var currentPageView = this._pages[pageNumber - 1];\n var container = this.container;\n var topLeft = currentPageView.getPagePoint(container.scrollLeft - firstPage.x, container.scrollTop - firstPage.y);\n var intLeft = Math.round(topLeft[0]);\n var intTop = Math.round(topLeft[1]);\n pdfOpenParams += \",\" + intLeft + \",\" + intTop;\n this._location = {\n pageNumber: pageNumber,\n scale: normalizedScaleValue,\n top: intTop,\n left: intLeft,\n rotation: this._pagesRotation,\n pdfOpenParams: pdfOpenParams\n };\n }\n }, {\n key: \"_updateHelper\",\n value: function _updateHelper(visiblePages) {\n throw new Error(\"Not implemented: _updateHelper\");\n }\n }, {\n key: \"update\",\n value: function update() {\n var visible = this._getVisiblePages();\n\n var visiblePages = visible.views,\n numVisiblePages = visiblePages.length;\n\n if (numVisiblePages === 0) {\n return;\n }\n\n var newCacheSize = Math.max(DEFAULT_CACHE_SIZE, 2 * numVisiblePages + 1);\n\n this._buffer.resize(newCacheSize, visiblePages);\n\n this.renderingQueue.renderHighestPriority(visible);\n\n this._updateHelper(visiblePages);\n\n this._updateLocation(visible.first);\n\n this.eventBus.dispatch(\"updateviewarea\", {\n source: this,\n location: this._location\n });\n }\n }, {\n key: \"containsElement\",\n value: function containsElement(element) {\n return this.container.contains(element);\n }\n }, {\n key: \"focus\",\n value: function focus() {\n this.container.focus();\n }\n }, {\n key: \"_getCurrentVisiblePage\",\n value: function _getCurrentVisiblePage() {\n if (!this.pagesCount) {\n return {\n views: []\n };\n }\n\n var pageView = this._pages[this._currentPageNumber - 1];\n var element = pageView.div;\n var view = {\n id: pageView.id,\n x: element.offsetLeft + element.clientLeft,\n y: element.offsetTop + element.clientTop,\n view: pageView\n };\n return {\n first: view,\n last: view,\n views: [view]\n };\n }\n }, {\n key: \"_getVisiblePages\",\n value: function _getVisiblePages() {\n return (0, _ui_utils.getVisibleElements)(this.container, this._pages, true, this._isScrollModeHorizontal);\n }\n }, {\n key: \"isPageVisible\",\n value: function isPageVisible(pageNumber) {\n if (!this.pdfDocument) {\n return false;\n }\n\n if (pageNumber < 1 || pageNumber > this.pagesCount) {\n console.error(\"\".concat(this._name, \".isPageVisible: \\\"\").concat(pageNumber, \"\\\" is out of bounds.\"));\n return false;\n }\n\n return this._getVisiblePages().views.some(function (view) {\n return view.id === pageNumber;\n });\n }\n }, {\n key: \"cleanup\",\n value: function cleanup() {\n for (var i = 0, ii = this._pages.length; i < ii; i++) {\n if (this._pages[i] && this._pages[i].renderingState !== _pdf_rendering_queue.RenderingStates.FINISHED) {\n this._pages[i].reset();\n }\n }\n }\n }, {\n key: \"_cancelRendering\",\n value: function _cancelRendering() {\n for (var i = 0, ii = this._pages.length; i < ii; i++) {\n if (this._pages[i]) {\n this._pages[i].cancelRendering();\n }\n }\n }\n }, {\n key: \"_ensurePdfPageLoaded\",\n value: function _ensurePdfPageLoaded(pageView) {\n var _this3 = this;\n\n if (pageView.pdfPage) {\n return Promise.resolve(pageView.pdfPage);\n }\n\n if (this._pagesRequests.has(pageView)) {\n return this._pagesRequests.get(pageView);\n }\n\n var promise = this.pdfDocument.getPage(pageView.id).then(function (pdfPage) {\n if (!pageView.pdfPage) {\n pageView.setPdfPage(pdfPage);\n }\n\n _this3._pagesRequests[\"delete\"](pageView);\n\n return pdfPage;\n })[\"catch\"](function (reason) {\n console.error(\"Unable to get page for page view\", reason);\n\n _this3._pagesRequests[\"delete\"](pageView);\n });\n\n this._pagesRequests.set(pageView, promise);\n\n return promise;\n }\n }, {\n key: \"forceRendering\",\n value: function forceRendering(currentlyVisiblePages) {\n var _this4 = this;\n\n var visiblePages = currentlyVisiblePages || this._getVisiblePages();\n\n var scrollAhead = this._isScrollModeHorizontal ? this.scroll.right : this.scroll.down;\n var pageView = this.renderingQueue.getHighestPriority(visiblePages, this._pages, scrollAhead);\n\n if (pageView) {\n this._ensurePdfPageLoaded(pageView).then(function () {\n _this4.renderingQueue.renderView(pageView);\n });\n\n return true;\n }\n\n return false;\n }\n }, {\n key: \"createTextLayerBuilder\",\n value: function createTextLayerBuilder(textLayerDiv, pageIndex, viewport) {\n var enhanceTextSelection = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n var eventBus = arguments.length > 4 ? arguments[4] : undefined;\n return new _text_layer_builder.TextLayerBuilder({\n textLayerDiv: textLayerDiv,\n eventBus: eventBus,\n pageIndex: pageIndex,\n viewport: viewport,\n findController: this.isInPresentationMode ? null : this.findController,\n enhanceTextSelection: this.isInPresentationMode ? false : enhanceTextSelection\n });\n }\n }, {\n key: \"createAnnotationLayerBuilder\",\n value: function createAnnotationLayerBuilder(pageDiv, pdfPage) {\n var imageResourcesPath = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : \"\";\n var renderInteractiveForms = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n var l10n = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : _ui_utils.NullL10n;\n return new _annotation_layer_builder.AnnotationLayerBuilder({\n pageDiv: pageDiv,\n pdfPage: pdfPage,\n imageResourcesPath: imageResourcesPath,\n renderInteractiveForms: renderInteractiveForms,\n linkService: this.linkService,\n downloadManager: this.downloadManager,\n l10n: l10n\n });\n }\n }, {\n key: \"getPagesOverview\",\n value: function getPagesOverview() {\n var pagesOverview = this._pages.map(function (pageView) {\n var viewport = pageView.pdfPage.getViewport({\n scale: 1\n });\n return {\n width: viewport.width,\n height: viewport.height,\n rotation: viewport.rotation\n };\n });\n\n if (!this.enablePrintAutoRotate) {\n return pagesOverview;\n }\n\n var isFirstPagePortrait = (0, _ui_utils.isPortraitOrientation)(pagesOverview[0]);\n return pagesOverview.map(function (size) {\n if (isFirstPagePortrait === (0, _ui_utils.isPortraitOrientation)(size)) {\n return size;\n }\n\n return {\n width: size.height,\n height: size.width,\n rotation: (size.rotation + 90) % 360\n };\n });\n }\n }, {\n key: \"_updateScrollMode\",\n value: function _updateScrollMode() {\n var pageNumber = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n var scrollMode = this._scrollMode,\n viewer = this.viewer;\n viewer.classList.toggle(\"scrollHorizontal\", scrollMode === _ui_utils.ScrollMode.HORIZONTAL);\n viewer.classList.toggle(\"scrollWrapped\", scrollMode === _ui_utils.ScrollMode.WRAPPED);\n\n if (!this.pdfDocument || !pageNumber) {\n return;\n }\n\n if (this._currentScaleValue && isNaN(this._currentScaleValue)) {\n this._setScale(this._currentScaleValue, true);\n }\n\n this._setCurrentPageNumber(pageNumber, true);\n\n this.update();\n }\n }, {\n key: \"_updateSpreadMode\",\n value: function _updateSpreadMode() {\n var pageNumber = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\n if (!this.pdfDocument) {\n return;\n }\n\n var viewer = this.viewer,\n pages = this._pages;\n viewer.textContent = \"\";\n\n if (this._spreadMode === _ui_utils.SpreadMode.NONE) {\n for (var i = 0, iMax = pages.length; i < iMax; ++i) {\n viewer.appendChild(pages[i].div);\n }\n } else {\n var parity = this._spreadMode - 1;\n var spread = null;\n\n for (var _i = 0, _iMax = pages.length; _i < _iMax; ++_i) {\n if (spread === null) {\n spread = document.createElement(\"div\");\n spread.className = \"spread\";\n viewer.appendChild(spread);\n } else if (_i % 2 === parity) {\n spread = spread.cloneNode(false);\n viewer.appendChild(spread);\n }\n\n spread.appendChild(pages[_i].div);\n }\n }\n\n if (!pageNumber) {\n return;\n }\n\n this._setCurrentPageNumber(pageNumber, true);\n\n this.update();\n }\n }, {\n key: \"pagesCount\",\n get: function get() {\n return this._pages.length;\n }\n }, {\n key: \"pageViewsReady\",\n get: function get() {\n if (!this._pagesCapability.settled) {\n return false;\n }\n\n return this._pages.every(function (pageView) {\n return pageView && pageView.pdfPage;\n });\n }\n }, {\n key: \"currentPageNumber\",\n get: function get() {\n return this._currentPageNumber;\n },\n set: function set(val) {\n if (!Number.isInteger(val)) {\n throw new Error(\"Invalid page number.\");\n }\n\n if (!this.pdfDocument) {\n return;\n }\n\n if (!this._setCurrentPageNumber(val, true)) {\n console.error(\"\".concat(this._name, \".currentPageNumber: \\\"\").concat(val, \"\\\" is not a valid page.\"));\n }\n }\n }, {\n key: \"currentPageLabel\",\n get: function get() {\n return this._pageLabels && this._pageLabels[this._currentPageNumber - 1];\n },\n set: function set(val) {\n if (!this.pdfDocument) {\n return;\n }\n\n var page = val | 0;\n\n if (this._pageLabels) {\n var i = this._pageLabels.indexOf(val);\n\n if (i >= 0) {\n page = i + 1;\n }\n }\n\n if (!this._setCurrentPageNumber(page, true)) {\n console.error(\"\".concat(this._name, \".currentPageLabel: \\\"\").concat(val, \"\\\" is not a valid page.\"));\n }\n }\n }, {\n key: \"currentScale\",\n get: function get() {\n return this._currentScale !== _ui_utils.UNKNOWN_SCALE ? this._currentScale : _ui_utils.DEFAULT_SCALE;\n },\n set: function set(val) {\n if (isNaN(val)) {\n throw new Error(\"Invalid numeric scale.\");\n }\n\n if (!this.pdfDocument) {\n return;\n }\n\n this._setScale(val, false);\n }\n }, {\n key: \"currentScaleValue\",\n get: function get() {\n return this._currentScaleValue;\n },\n set: function set(val) {\n if (!this.pdfDocument) {\n return;\n }\n\n this._setScale(val, false);\n }\n }, {\n key: \"pagesRotation\",\n get: function get() {\n return this._pagesRotation;\n },\n set: function set(rotation) {\n if (!(0, _ui_utils.isValidRotation)(rotation)) {\n throw new Error(\"Invalid pages rotation angle.\");\n }\n\n if (!this.pdfDocument) {\n return;\n }\n\n if (this._pagesRotation === rotation) {\n return;\n }\n\n this._pagesRotation = rotation;\n var pageNumber = this._currentPageNumber;\n\n for (var i = 0, ii = this._pages.length; i < ii; i++) {\n var pageView = this._pages[i];\n pageView.update(pageView.scale, rotation);\n }\n\n if (this._currentScaleValue) {\n this._setScale(this._currentScaleValue, true);\n }\n\n this.eventBus.dispatch(\"rotationchanging\", {\n source: this,\n pagesRotation: rotation,\n pageNumber: pageNumber\n });\n\n if (this.defaultRenderingQueue) {\n this.update();\n }\n }\n }, {\n key: \"firstPagePromise\",\n get: function get() {\n return this.pdfDocument ? this._firstPageCapability.promise : null;\n }\n }, {\n key: \"onePageRendered\",\n get: function get() {\n return this.pdfDocument ? this._onePageRenderedCapability.promise : null;\n }\n }, {\n key: \"pagesPromise\",\n get: function get() {\n return this.pdfDocument ? this._pagesCapability.promise : null;\n }\n }, {\n key: \"_viewerElement\",\n get: function get() {\n throw new Error(\"Not implemented: _viewerElement\");\n }\n }, {\n key: \"_isScrollModeHorizontal\",\n get: function get() {\n return this.isInPresentationMode ? false : this._scrollMode === _ui_utils.ScrollMode.HORIZONTAL;\n }\n }, {\n key: \"isInPresentationMode\",\n get: function get() {\n return this.presentationModeState === _ui_utils.PresentationModeState.FULLSCREEN;\n }\n }, {\n key: \"isChangingPresentationMode\",\n get: function get() {\n return this.presentationModeState === _ui_utils.PresentationModeState.CHANGING;\n }\n }, {\n key: \"isHorizontalScrollbarEnabled\",\n get: function get() {\n return this.isInPresentationMode ? false : this.container.scrollWidth > this.container.clientWidth;\n }\n }, {\n key: \"isVerticalScrollbarEnabled\",\n get: function get() {\n return this.isInPresentationMode ? false : this.container.scrollHeight > this.container.clientHeight;\n }\n }, {\n key: \"hasEqualPageSizes\",\n get: function get() {\n var firstPageView = this._pages[0];\n\n for (var i = 1, ii = this._pages.length; i < ii; ++i) {\n var pageView = this._pages[i];\n\n if (pageView.width !== firstPageView.width || pageView.height !== firstPageView.height) {\n return false;\n }\n }\n\n return true;\n }\n }, {\n key: \"scrollMode\",\n get: function get() {\n return this._scrollMode;\n },\n set: function set(mode) {\n if (this._scrollMode === mode) {\n return;\n }\n\n if (!(0, _ui_utils.isValidScrollMode)(mode)) {\n throw new Error(\"Invalid scroll mode: \".concat(mode));\n }\n\n this._scrollMode = mode;\n this.eventBus.dispatch(\"scrollmodechanged\", {\n source: this,\n mode: mode\n });\n\n this._updateScrollMode(this._currentPageNumber);\n }\n }, {\n key: \"spreadMode\",\n get: function get() {\n return this._spreadMode;\n },\n set: function set(mode) {\n if (this._spreadMode === mode) {\n return;\n }\n\n if (!(0, _ui_utils.isValidSpreadMode)(mode)) {\n throw new Error(\"Invalid spread mode: \".concat(mode));\n }\n\n this._spreadMode = mode;\n this.eventBus.dispatch(\"spreadmodechanged\", {\n source: this,\n mode: mode\n });\n\n this._updateSpreadMode(this._currentPageNumber);\n }\n }]);\n\n return BaseViewer;\n}();\n\nexports.BaseViewer = BaseViewer;\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFViewer = void 0;\n\nvar _base_viewer = __w_pdfjs_require__(19);\n\nvar _pdfjsLib = __w_pdfjs_require__(2);\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _get(target, property, receiver) { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }\n\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar PDFViewer = /*#__PURE__*/function (_BaseViewer) {\n _inherits(PDFViewer, _BaseViewer);\n\n var _super = _createSuper(PDFViewer);\n\n function PDFViewer() {\n _classCallCheck(this, PDFViewer);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(PDFViewer, [{\n key: \"_scrollIntoView\",\n value: function _scrollIntoView(_ref) {\n var pageDiv = _ref.pageDiv,\n _ref$pageSpot = _ref.pageSpot,\n pageSpot = _ref$pageSpot === void 0 ? null : _ref$pageSpot,\n _ref$pageNumber = _ref.pageNumber,\n pageNumber = _ref$pageNumber === void 0 ? null : _ref$pageNumber;\n\n if (!pageSpot && !this.isInPresentationMode) {\n var left = pageDiv.offsetLeft + pageDiv.clientLeft;\n var right = left + pageDiv.clientWidth;\n var _this$container = this.container,\n scrollLeft = _this$container.scrollLeft,\n clientWidth = _this$container.clientWidth;\n\n if (this._isScrollModeHorizontal || left < scrollLeft || right > scrollLeft + clientWidth) {\n pageSpot = {\n left: 0,\n top: 0\n };\n }\n }\n\n _get(_getPrototypeOf(PDFViewer.prototype), \"_scrollIntoView\", this).call(this, {\n pageDiv: pageDiv,\n pageSpot: pageSpot,\n pageNumber: pageNumber\n });\n }\n }, {\n key: \"_getVisiblePages\",\n value: function _getVisiblePages() {\n if (this.isInPresentationMode) {\n return this._getCurrentVisiblePage();\n }\n\n return _get(_getPrototypeOf(PDFViewer.prototype), \"_getVisiblePages\", this).call(this);\n }\n }, {\n key: \"_updateHelper\",\n value: function _updateHelper(visiblePages) {\n if (this.isInPresentationMode) {\n return;\n }\n\n var currentId = this._currentPageNumber;\n var stillFullyVisible = false;\n\n var _iterator = _createForOfIteratorHelper(visiblePages),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var page = _step.value;\n\n if (page.percent < 100) {\n break;\n }\n\n if (page.id === currentId) {\n stillFullyVisible = true;\n break;\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n if (!stillFullyVisible) {\n currentId = visiblePages[0].id;\n }\n\n this._setCurrentPageNumber(currentId);\n }\n }, {\n key: \"_viewerElement\",\n get: function get() {\n return (0, _pdfjsLib.shadow)(this, \"_viewerElement\", this.viewer);\n }\n }]);\n\n return PDFViewer;\n}(_base_viewer.BaseViewer);\n\nexports.PDFViewer = PDFViewer;\n\n/***/ })\n/******/ ]);\n});\n//# sourceMappingURL=pdf_viewer.js.map","/**\n * @licstart The following is the entire license notice for the\n * Javascript code in this page\n *\n * Copyright 2020 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * @licend The above is the entire license notice for the\n * Javascript code in this page\n */\n\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"pdfjs-dist/build/pdf\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"pdfjs-dist/build/pdf\"] = factory();\n\telse\n\t\troot[\"pdfjs-dist/build/pdf\"] = root.pdfjsLib = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __w_pdfjs_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __w_pdfjs_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__w_pdfjs_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__w_pdfjs_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__w_pdfjs_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__w_pdfjs_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__w_pdfjs_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__w_pdfjs_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __w_pdfjs_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__w_pdfjs_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __w_pdfjs_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__w_pdfjs_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__w_pdfjs_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__w_pdfjs_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__w_pdfjs_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __w_pdfjs_require__(__w_pdfjs_require__.s = 0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"addLinkAttributes\", {\n enumerable: true,\n get: function get() {\n return _display_utils.addLinkAttributes;\n }\n});\nObject.defineProperty(exports, \"getFilenameFromUrl\", {\n enumerable: true,\n get: function get() {\n return _display_utils.getFilenameFromUrl;\n }\n});\nObject.defineProperty(exports, \"LinkTarget\", {\n enumerable: true,\n get: function get() {\n return _display_utils.LinkTarget;\n }\n});\nObject.defineProperty(exports, \"loadScript\", {\n enumerable: true,\n get: function get() {\n return _display_utils.loadScript;\n }\n});\nObject.defineProperty(exports, \"PDFDateString\", {\n enumerable: true,\n get: function get() {\n return _display_utils.PDFDateString;\n }\n});\nObject.defineProperty(exports, \"RenderingCancelledException\", {\n enumerable: true,\n get: function get() {\n return _display_utils.RenderingCancelledException;\n }\n});\nObject.defineProperty(exports, \"build\", {\n enumerable: true,\n get: function get() {\n return _api.build;\n }\n});\nObject.defineProperty(exports, \"getDocument\", {\n enumerable: true,\n get: function get() {\n return _api.getDocument;\n }\n});\nObject.defineProperty(exports, \"LoopbackPort\", {\n enumerable: true,\n get: function get() {\n return _api.LoopbackPort;\n }\n});\nObject.defineProperty(exports, \"PDFDataRangeTransport\", {\n enumerable: true,\n get: function get() {\n return _api.PDFDataRangeTransport;\n }\n});\nObject.defineProperty(exports, \"PDFWorker\", {\n enumerable: true,\n get: function get() {\n return _api.PDFWorker;\n }\n});\nObject.defineProperty(exports, \"version\", {\n enumerable: true,\n get: function get() {\n return _api.version;\n }\n});\nObject.defineProperty(exports, \"CMapCompressionType\", {\n enumerable: true,\n get: function get() {\n return _util.CMapCompressionType;\n }\n});\nObject.defineProperty(exports, \"createObjectURL\", {\n enumerable: true,\n get: function get() {\n return _util.createObjectURL;\n }\n});\nObject.defineProperty(exports, \"createPromiseCapability\", {\n enumerable: true,\n get: function get() {\n return _util.createPromiseCapability;\n }\n});\nObject.defineProperty(exports, \"createValidAbsoluteUrl\", {\n enumerable: true,\n get: function get() {\n return _util.createValidAbsoluteUrl;\n }\n});\nObject.defineProperty(exports, \"InvalidPDFException\", {\n enumerable: true,\n get: function get() {\n return _util.InvalidPDFException;\n }\n});\nObject.defineProperty(exports, \"MissingPDFException\", {\n enumerable: true,\n get: function get() {\n return _util.MissingPDFException;\n }\n});\nObject.defineProperty(exports, \"OPS\", {\n enumerable: true,\n get: function get() {\n return _util.OPS;\n }\n});\nObject.defineProperty(exports, \"PasswordResponses\", {\n enumerable: true,\n get: function get() {\n return _util.PasswordResponses;\n }\n});\nObject.defineProperty(exports, \"PermissionFlag\", {\n enumerable: true,\n get: function get() {\n return _util.PermissionFlag;\n }\n});\nObject.defineProperty(exports, \"removeNullCharacters\", {\n enumerable: true,\n get: function get() {\n return _util.removeNullCharacters;\n }\n});\nObject.defineProperty(exports, \"shadow\", {\n enumerable: true,\n get: function get() {\n return _util.shadow;\n }\n});\nObject.defineProperty(exports, \"UnexpectedResponseException\", {\n enumerable: true,\n get: function get() {\n return _util.UnexpectedResponseException;\n }\n});\nObject.defineProperty(exports, \"UNSUPPORTED_FEATURES\", {\n enumerable: true,\n get: function get() {\n return _util.UNSUPPORTED_FEATURES;\n }\n});\nObject.defineProperty(exports, \"Util\", {\n enumerable: true,\n get: function get() {\n return _util.Util;\n }\n});\nObject.defineProperty(exports, \"VerbosityLevel\", {\n enumerable: true,\n get: function get() {\n return _util.VerbosityLevel;\n }\n});\nObject.defineProperty(exports, \"AnnotationLayer\", {\n enumerable: true,\n get: function get() {\n return _annotation_layer.AnnotationLayer;\n }\n});\nObject.defineProperty(exports, \"apiCompatibilityParams\", {\n enumerable: true,\n get: function get() {\n return _api_compatibility.apiCompatibilityParams;\n }\n});\nObject.defineProperty(exports, \"GlobalWorkerOptions\", {\n enumerable: true,\n get: function get() {\n return _worker_options.GlobalWorkerOptions;\n }\n});\nObject.defineProperty(exports, \"renderTextLayer\", {\n enumerable: true,\n get: function get() {\n return _text_layer.renderTextLayer;\n }\n});\nObject.defineProperty(exports, \"SVGGraphics\", {\n enumerable: true,\n get: function get() {\n return _svg.SVGGraphics;\n }\n});\n\nvar _display_utils = __w_pdfjs_require__(1);\n\nvar _api = __w_pdfjs_require__(198);\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _annotation_layer = __w_pdfjs_require__(209);\n\nvar _api_compatibility = __w_pdfjs_require__(200);\n\nvar _worker_options = __w_pdfjs_require__(203);\n\nvar _text_layer = __w_pdfjs_require__(210);\n\nvar _svg = __w_pdfjs_require__(211);\n\nvar pdfjsVersion = '2.5.207';\nvar pdfjsBuild = '0974d605';\n{\n var _require = __w_pdfjs_require__(7),\n isNodeJS = _require.isNodeJS;\n\n if (isNodeJS) {\n var PDFNodeStream = __w_pdfjs_require__(212).PDFNodeStream;\n\n (0, _api.setPDFNetworkStreamFactory)(function (params) {\n return new PDFNodeStream(params);\n });\n } else {\n var PDFNetworkStream = __w_pdfjs_require__(215).PDFNetworkStream;\n\n var PDFFetchStream;\n\n if ((0, _display_utils.isFetchSupported)()) {\n PDFFetchStream = __w_pdfjs_require__(216).PDFFetchStream;\n }\n\n (0, _api.setPDFNetworkStreamFactory)(function (params) {\n if (PDFFetchStream && (0, _display_utils.isValidFetchUrl)(params.url)) {\n return new PDFFetchStream(params);\n }\n\n return new PDFNetworkStream(params);\n });\n }\n}\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.addLinkAttributes = addLinkAttributes;\nexports.getFilenameFromUrl = getFilenameFromUrl;\nexports.isFetchSupported = isFetchSupported;\nexports.isValidFetchUrl = isValidFetchUrl;\nexports.loadScript = loadScript;\nexports.deprecated = deprecated;\nexports.PDFDateString = exports.StatTimer = exports.DOMSVGFactory = exports.DOMCMapReaderFactory = exports.DOMCanvasFactory = exports.DEFAULT_LINK_REL = exports.LinkTarget = exports.RenderingCancelledException = exports.PageViewport = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar DEFAULT_LINK_REL = \"noopener noreferrer nofollow\";\nexports.DEFAULT_LINK_REL = DEFAULT_LINK_REL;\nvar SVG_NS = \"http://www.w3.org/2000/svg\";\n\nvar DOMCanvasFactory = /*#__PURE__*/function () {\n function DOMCanvasFactory() {\n _classCallCheck(this, DOMCanvasFactory);\n }\n\n _createClass(DOMCanvasFactory, [{\n key: \"create\",\n value: function create(width, height) {\n if (width <= 0 || height <= 0) {\n throw new Error(\"Invalid canvas size\");\n }\n\n var canvas = document.createElement(\"canvas\");\n var context = canvas.getContext(\"2d\");\n canvas.width = width;\n canvas.height = height;\n return {\n canvas: canvas,\n context: context\n };\n }\n }, {\n key: \"reset\",\n value: function reset(canvasAndContext, width, height) {\n if (!canvasAndContext.canvas) {\n throw new Error(\"Canvas is not specified\");\n }\n\n if (width <= 0 || height <= 0) {\n throw new Error(\"Invalid canvas size\");\n }\n\n canvasAndContext.canvas.width = width;\n canvasAndContext.canvas.height = height;\n }\n }, {\n key: \"destroy\",\n value: function destroy(canvasAndContext) {\n if (!canvasAndContext.canvas) {\n throw new Error(\"Canvas is not specified\");\n }\n\n canvasAndContext.canvas.width = 0;\n canvasAndContext.canvas.height = 0;\n canvasAndContext.canvas = null;\n canvasAndContext.context = null;\n }\n }]);\n\n return DOMCanvasFactory;\n}();\n\nexports.DOMCanvasFactory = DOMCanvasFactory;\n\nvar DOMCMapReaderFactory = /*#__PURE__*/function () {\n function DOMCMapReaderFactory(_ref) {\n var _ref$baseUrl = _ref.baseUrl,\n baseUrl = _ref$baseUrl === void 0 ? null : _ref$baseUrl,\n _ref$isCompressed = _ref.isCompressed,\n isCompressed = _ref$isCompressed === void 0 ? false : _ref$isCompressed;\n\n _classCallCheck(this, DOMCMapReaderFactory);\n\n this.baseUrl = baseUrl;\n this.isCompressed = isCompressed;\n }\n\n _createClass(DOMCMapReaderFactory, [{\n key: \"fetch\",\n value: function (_fetch) {\n function fetch(_x) {\n return _fetch.apply(this, arguments);\n }\n\n fetch.toString = function () {\n return _fetch.toString();\n };\n\n return fetch;\n }( /*#__PURE__*/function () {\n var _ref3 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2(_ref2) {\n var _this = this;\n\n var name, url, compressionType;\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n name = _ref2.name;\n\n if (this.baseUrl) {\n _context2.next = 3;\n break;\n }\n\n throw new Error('The CMap \"baseUrl\" parameter must be specified, ensure that ' + 'the \"cMapUrl\" and \"cMapPacked\" API parameters are provided.');\n\n case 3:\n if (name) {\n _context2.next = 5;\n break;\n }\n\n throw new Error(\"CMap name must be specified.\");\n\n case 5:\n url = this.baseUrl + name + (this.isCompressed ? \".bcmap\" : \"\");\n compressionType = this.isCompressed ? _util.CMapCompressionType.BINARY : _util.CMapCompressionType.NONE;\n\n if (!(isFetchSupported() && isValidFetchUrl(url, document.baseURI))) {\n _context2.next = 9;\n break;\n }\n\n return _context2.abrupt(\"return\", fetch(url).then( /*#__PURE__*/function () {\n var _ref4 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee(response) {\n var cMapData;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (response.ok) {\n _context.next = 2;\n break;\n }\n\n throw new Error(response.statusText);\n\n case 2:\n if (!_this.isCompressed) {\n _context.next = 10;\n break;\n }\n\n _context.t0 = Uint8Array;\n _context.next = 6;\n return response.arrayBuffer();\n\n case 6:\n _context.t1 = _context.sent;\n cMapData = new _context.t0(_context.t1);\n _context.next = 15;\n break;\n\n case 10:\n _context.t2 = _util.stringToBytes;\n _context.next = 13;\n return response.text();\n\n case 13:\n _context.t3 = _context.sent;\n cMapData = (0, _context.t2)(_context.t3);\n\n case 15:\n return _context.abrupt(\"return\", {\n cMapData: cMapData,\n compressionType: compressionType\n });\n\n case 16:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function (_x3) {\n return _ref4.apply(this, arguments);\n };\n }())[\"catch\"](function (reason) {\n throw new Error(\"Unable to load \".concat(_this.isCompressed ? \"binary \" : \"\") + \"CMap at: \".concat(url));\n }));\n\n case 9:\n return _context2.abrupt(\"return\", new Promise(function (resolve, reject) {\n var request = new XMLHttpRequest();\n request.open(\"GET\", url, true);\n\n if (_this.isCompressed) {\n request.responseType = \"arraybuffer\";\n }\n\n request.onreadystatechange = function () {\n if (request.readyState !== XMLHttpRequest.DONE) {\n return;\n }\n\n if (request.status === 200 || request.status === 0) {\n var cMapData;\n\n if (_this.isCompressed && request.response) {\n cMapData = new Uint8Array(request.response);\n } else if (!_this.isCompressed && request.responseText) {\n cMapData = (0, _util.stringToBytes)(request.responseText);\n }\n\n if (cMapData) {\n resolve({\n cMapData: cMapData,\n compressionType: compressionType\n });\n return;\n }\n }\n\n reject(new Error(request.statusText));\n };\n\n request.send(null);\n })[\"catch\"](function (reason) {\n throw new Error(\"Unable to load \".concat(_this.isCompressed ? \"binary \" : \"\") + \"CMap at: \".concat(url));\n }));\n\n case 10:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n return function (_x2) {\n return _ref3.apply(this, arguments);\n };\n }())\n }]);\n\n return DOMCMapReaderFactory;\n}();\n\nexports.DOMCMapReaderFactory = DOMCMapReaderFactory;\n\nvar DOMSVGFactory = /*#__PURE__*/function () {\n function DOMSVGFactory() {\n _classCallCheck(this, DOMSVGFactory);\n }\n\n _createClass(DOMSVGFactory, [{\n key: \"create\",\n value: function create(width, height) {\n (0, _util.assert)(width > 0 && height > 0, \"Invalid SVG dimensions\");\n var svg = document.createElementNS(SVG_NS, \"svg:svg\");\n svg.setAttribute(\"version\", \"1.1\");\n svg.setAttribute(\"width\", width + \"px\");\n svg.setAttribute(\"height\", height + \"px\");\n svg.setAttribute(\"preserveAspectRatio\", \"none\");\n svg.setAttribute(\"viewBox\", \"0 0 \" + width + \" \" + height);\n return svg;\n }\n }, {\n key: \"createElement\",\n value: function createElement(type) {\n (0, _util.assert)(typeof type === \"string\", \"Invalid SVG element type\");\n return document.createElementNS(SVG_NS, type);\n }\n }]);\n\n return DOMSVGFactory;\n}();\n\nexports.DOMSVGFactory = DOMSVGFactory;\n\nvar PageViewport = /*#__PURE__*/function () {\n function PageViewport(_ref5) {\n var viewBox = _ref5.viewBox,\n scale = _ref5.scale,\n rotation = _ref5.rotation,\n _ref5$offsetX = _ref5.offsetX,\n offsetX = _ref5$offsetX === void 0 ? 0 : _ref5$offsetX,\n _ref5$offsetY = _ref5.offsetY,\n offsetY = _ref5$offsetY === void 0 ? 0 : _ref5$offsetY,\n _ref5$dontFlip = _ref5.dontFlip,\n dontFlip = _ref5$dontFlip === void 0 ? false : _ref5$dontFlip;\n\n _classCallCheck(this, PageViewport);\n\n this.viewBox = viewBox;\n this.scale = scale;\n this.rotation = rotation;\n this.offsetX = offsetX;\n this.offsetY = offsetY;\n var centerX = (viewBox[2] + viewBox[0]) / 2;\n var centerY = (viewBox[3] + viewBox[1]) / 2;\n var rotateA, rotateB, rotateC, rotateD;\n rotation = rotation % 360;\n rotation = rotation < 0 ? rotation + 360 : rotation;\n\n switch (rotation) {\n case 180:\n rotateA = -1;\n rotateB = 0;\n rotateC = 0;\n rotateD = 1;\n break;\n\n case 90:\n rotateA = 0;\n rotateB = 1;\n rotateC = 1;\n rotateD = 0;\n break;\n\n case 270:\n rotateA = 0;\n rotateB = -1;\n rotateC = -1;\n rotateD = 0;\n break;\n\n case 0:\n rotateA = 1;\n rotateB = 0;\n rotateC = 0;\n rotateD = -1;\n break;\n\n default:\n throw new Error(\"PageViewport: Invalid rotation, must be a multiple of 90 degrees.\");\n }\n\n if (dontFlip) {\n rotateC = -rotateC;\n rotateD = -rotateD;\n }\n\n var offsetCanvasX, offsetCanvasY;\n var width, height;\n\n if (rotateA === 0) {\n offsetCanvasX = Math.abs(centerY - viewBox[1]) * scale + offsetX;\n offsetCanvasY = Math.abs(centerX - viewBox[0]) * scale + offsetY;\n width = Math.abs(viewBox[3] - viewBox[1]) * scale;\n height = Math.abs(viewBox[2] - viewBox[0]) * scale;\n } else {\n offsetCanvasX = Math.abs(centerX - viewBox[0]) * scale + offsetX;\n offsetCanvasY = Math.abs(centerY - viewBox[1]) * scale + offsetY;\n width = Math.abs(viewBox[2] - viewBox[0]) * scale;\n height = Math.abs(viewBox[3] - viewBox[1]) * scale;\n }\n\n this.transform = [rotateA * scale, rotateB * scale, rotateC * scale, rotateD * scale, offsetCanvasX - rotateA * scale * centerX - rotateC * scale * centerY, offsetCanvasY - rotateB * scale * centerX - rotateD * scale * centerY];\n this.width = width;\n this.height = height;\n }\n\n _createClass(PageViewport, [{\n key: \"clone\",\n value: function clone() {\n var _ref6 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref6$scale = _ref6.scale,\n scale = _ref6$scale === void 0 ? this.scale : _ref6$scale,\n _ref6$rotation = _ref6.rotation,\n rotation = _ref6$rotation === void 0 ? this.rotation : _ref6$rotation,\n _ref6$offsetX = _ref6.offsetX,\n offsetX = _ref6$offsetX === void 0 ? this.offsetX : _ref6$offsetX,\n _ref6$offsetY = _ref6.offsetY,\n offsetY = _ref6$offsetY === void 0 ? this.offsetY : _ref6$offsetY,\n _ref6$dontFlip = _ref6.dontFlip,\n dontFlip = _ref6$dontFlip === void 0 ? false : _ref6$dontFlip;\n\n return new PageViewport({\n viewBox: this.viewBox.slice(),\n scale: scale,\n rotation: rotation,\n offsetX: offsetX,\n offsetY: offsetY,\n dontFlip: dontFlip\n });\n }\n }, {\n key: \"convertToViewportPoint\",\n value: function convertToViewportPoint(x, y) {\n return _util.Util.applyTransform([x, y], this.transform);\n }\n }, {\n key: \"convertToViewportRectangle\",\n value: function convertToViewportRectangle(rect) {\n var topLeft = _util.Util.applyTransform([rect[0], rect[1]], this.transform);\n\n var bottomRight = _util.Util.applyTransform([rect[2], rect[3]], this.transform);\n\n return [topLeft[0], topLeft[1], bottomRight[0], bottomRight[1]];\n }\n }, {\n key: \"convertToPdfPoint\",\n value: function convertToPdfPoint(x, y) {\n return _util.Util.applyInverseTransform([x, y], this.transform);\n }\n }]);\n\n return PageViewport;\n}();\n\nexports.PageViewport = PageViewport;\n\nvar RenderingCancelledException = /*#__PURE__*/function (_BaseException) {\n _inherits(RenderingCancelledException, _BaseException);\n\n var _super = _createSuper(RenderingCancelledException);\n\n function RenderingCancelledException(msg, type) {\n var _this2;\n\n _classCallCheck(this, RenderingCancelledException);\n\n _this2 = _super.call(this, msg);\n _this2.type = type;\n return _this2;\n }\n\n return RenderingCancelledException;\n}(_util.BaseException);\n\nexports.RenderingCancelledException = RenderingCancelledException;\nvar LinkTarget = {\n NONE: 0,\n SELF: 1,\n BLANK: 2,\n PARENT: 3,\n TOP: 4\n};\nexports.LinkTarget = LinkTarget;\n\nfunction addLinkAttributes(link) {\n var _ref7 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n url = _ref7.url,\n target = _ref7.target,\n rel = _ref7.rel,\n _ref7$enabled = _ref7.enabled,\n enabled = _ref7$enabled === void 0 ? true : _ref7$enabled;\n\n (0, _util.assert)(url && typeof url === \"string\", 'addLinkAttributes: A valid \"url\" parameter must provided.');\n var urlNullRemoved = (0, _util.removeNullCharacters)(url);\n\n if (enabled) {\n link.href = link.title = urlNullRemoved;\n } else {\n link.href = \"\";\n link.title = \"Disabled: \".concat(urlNullRemoved);\n\n link.onclick = function () {\n return false;\n };\n }\n\n var targetStr = \"\";\n\n switch (target) {\n case LinkTarget.NONE:\n break;\n\n case LinkTarget.SELF:\n targetStr = \"_self\";\n break;\n\n case LinkTarget.BLANK:\n targetStr = \"_blank\";\n break;\n\n case LinkTarget.PARENT:\n targetStr = \"_parent\";\n break;\n\n case LinkTarget.TOP:\n targetStr = \"_top\";\n break;\n }\n\n link.target = targetStr;\n link.rel = typeof rel === \"string\" ? rel : DEFAULT_LINK_REL;\n}\n\nfunction getFilenameFromUrl(url) {\n var anchor = url.indexOf(\"#\");\n var query = url.indexOf(\"?\");\n var end = Math.min(anchor > 0 ? anchor : url.length, query > 0 ? query : url.length);\n return url.substring(url.lastIndexOf(\"/\", end) + 1, end);\n}\n\nvar StatTimer = /*#__PURE__*/function () {\n function StatTimer() {\n _classCallCheck(this, StatTimer);\n\n this.started = Object.create(null);\n this.times = [];\n }\n\n _createClass(StatTimer, [{\n key: \"time\",\n value: function time(name) {\n if (name in this.started) {\n (0, _util.warn)(\"Timer is already running for \".concat(name));\n }\n\n this.started[name] = Date.now();\n }\n }, {\n key: \"timeEnd\",\n value: function timeEnd(name) {\n if (!(name in this.started)) {\n (0, _util.warn)(\"Timer has not been started for \".concat(name));\n }\n\n this.times.push({\n name: name,\n start: this.started[name],\n end: Date.now()\n });\n delete this.started[name];\n }\n }, {\n key: \"toString\",\n value: function toString() {\n var outBuf = [];\n var longest = 0;\n\n var _iterator = _createForOfIteratorHelper(this.times),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var time = _step.value;\n var name = time.name;\n\n if (name.length > longest) {\n longest = name.length;\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n var _iterator2 = _createForOfIteratorHelper(this.times),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var _time = _step2.value;\n var duration = _time.end - _time.start;\n outBuf.push(\"\".concat(_time.name.padEnd(longest), \" \").concat(duration, \"ms\\n\"));\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n\n return outBuf.join(\"\");\n }\n }]);\n\n return StatTimer;\n}();\n\nexports.StatTimer = StatTimer;\n\nfunction isFetchSupported() {\n return typeof fetch !== \"undefined\" && typeof Response !== \"undefined\" && \"body\" in Response.prototype && typeof ReadableStream !== \"undefined\";\n}\n\nfunction isValidFetchUrl(url, baseUrl) {\n try {\n var _ref8 = baseUrl ? new URL(url, baseUrl) : new URL(url),\n protocol = _ref8.protocol;\n\n return protocol === \"http:\" || protocol === \"https:\";\n } catch (ex) {\n return false;\n }\n}\n\nfunction loadScript(src) {\n return new Promise(function (resolve, reject) {\n var script = document.createElement(\"script\");\n script.src = src;\n script.onload = resolve;\n\n script.onerror = function () {\n reject(new Error(\"Cannot load script at: \".concat(script.src)));\n };\n\n (document.head || document.documentElement).appendChild(script);\n });\n}\n\nfunction deprecated(details) {\n console.log(\"Deprecated API usage: \" + details);\n}\n\nvar pdfDateStringRegex;\n\nvar PDFDateString = /*#__PURE__*/function () {\n function PDFDateString() {\n _classCallCheck(this, PDFDateString);\n }\n\n _createClass(PDFDateString, null, [{\n key: \"toDateObject\",\n value: function toDateObject(input) {\n if (!input || !(0, _util.isString)(input)) {\n return null;\n }\n\n if (!pdfDateStringRegex) {\n pdfDateStringRegex = new RegExp(\"^D:\" + \"(\\\\d{4})\" + \"(\\\\d{2})?\" + \"(\\\\d{2})?\" + \"(\\\\d{2})?\" + \"(\\\\d{2})?\" + \"(\\\\d{2})?\" + \"([Z|+|-])?\" + \"(\\\\d{2})?\" + \"'?\" + \"(\\\\d{2})?\" + \"'?\");\n }\n\n var matches = pdfDateStringRegex.exec(input);\n\n if (!matches) {\n return null;\n }\n\n var year = parseInt(matches[1], 10);\n var month = parseInt(matches[2], 10);\n month = month >= 1 && month <= 12 ? month - 1 : 0;\n var day = parseInt(matches[3], 10);\n day = day >= 1 && day <= 31 ? day : 1;\n var hour = parseInt(matches[4], 10);\n hour = hour >= 0 && hour <= 23 ? hour : 0;\n var minute = parseInt(matches[5], 10);\n minute = minute >= 0 && minute <= 59 ? minute : 0;\n var second = parseInt(matches[6], 10);\n second = second >= 0 && second <= 59 ? second : 0;\n var universalTimeRelation = matches[7] || \"Z\";\n var offsetHour = parseInt(matches[8], 10);\n offsetHour = offsetHour >= 0 && offsetHour <= 23 ? offsetHour : 0;\n var offsetMinute = parseInt(matches[9], 10) || 0;\n offsetMinute = offsetMinute >= 0 && offsetMinute <= 59 ? offsetMinute : 0;\n\n if (universalTimeRelation === \"-\") {\n hour += offsetHour;\n minute += offsetMinute;\n } else if (universalTimeRelation === \"+\") {\n hour -= offsetHour;\n minute -= offsetMinute;\n }\n\n return new Date(Date.UTC(year, month, day, hour, minute, second));\n }\n }]);\n\n return PDFDateString;\n}();\n\nexports.PDFDateString = PDFDateString;\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = __w_pdfjs_require__(3);\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(module) {\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar runtime = function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined;\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n return generator;\n }\n\n exports.wrap = wrap;\n\n function tryCatch(fn, obj, arg) {\n try {\n return {\n type: \"normal\",\n arg: fn.call(obj, arg)\n };\n } catch (err) {\n return {\n type: \"throw\",\n arg: err\n };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n var ContinueSentinel = {};\n\n function Generator() {}\n\n function GeneratorFunction() {}\n\n function GeneratorFunctionPrototype() {}\n\n var IteratorPrototype = {};\n\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n\n if (NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunctionPrototype[toStringTagSymbol] = GeneratorFunction.displayName = \"GeneratorFunction\";\n\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function (method) {\n prototype[method] = function (arg) {\n return this._invoke(method, arg);\n };\n });\n }\n\n exports.isGeneratorFunction = function (genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor ? ctor === GeneratorFunction || (ctor.displayName || ctor.name) === \"GeneratorFunction\" : false;\n };\n\n exports.mark = function (genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n\n if (!(toStringTagSymbol in genFun)) {\n genFun[toStringTagSymbol] = \"GeneratorFunction\";\n }\n }\n\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n exports.awrap = function (arg) {\n return {\n __await: arg\n };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n\n if (value && _typeof(value) === \"object\" && hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function (value) {\n invoke(\"next\", value, resolve, reject);\n }, function (err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function (unwrapped) {\n result.value = unwrapped;\n resolve(result);\n }, function (error) {\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function (resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n\n exports.AsyncIterator = AsyncIterator;\n\n exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);\n return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n context.sent = context._sent = context.arg;\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n var record = tryCatch(innerFn, self, context);\n\n if (record.type === \"normal\") {\n state = context.done ? GenStateCompleted : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n\n if (method === undefined) {\n context.delegate = null;\n\n if (context.method === \"throw\") {\n if (delegate.iterator[\"return\"]) {\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (!info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n context[delegate.resultName] = info.value;\n context.next = delegate.nextLoc;\n\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n } else {\n return info;\n }\n\n context.delegate = null;\n return ContinueSentinel;\n }\n\n defineIteratorMethods(Gp);\n Gp[toStringTagSymbol] = \"Generator\";\n\n Gp[iteratorSymbol] = function () {\n return this;\n };\n\n Gp.toString = function () {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = {\n tryLoc: locs[0]\n };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function (object) {\n var keys = [];\n\n for (var key in object) {\n keys.push(key);\n }\n\n keys.reverse();\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1,\n next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n return next;\n };\n\n return next.next = next;\n }\n }\n\n return {\n next: doneResult\n };\n }\n\n exports.values = values;\n\n function doneResult() {\n return {\n value: undefined,\n done: true\n };\n }\n\n Context.prototype = {\n constructor: Context,\n reset: function reset(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n this.method = \"next\";\n this.arg = undefined;\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n if (name.charAt(0) === \"t\" && hasOwn.call(this, name) && !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n stop: function stop() {\n this.done = true;\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n dispatchException: function dispatchException(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !!caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n abrupt: function abrupt(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n\n if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry && (type === \"break\" || type === \"continue\") && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc) {\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n complete: function complete(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" || record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n finish: function finish(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n \"catch\": function _catch(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n\n return thrown;\n }\n }\n\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n return exports;\n}(( false ? undefined : _typeof(module)) === \"object\" ? module.exports : {});\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n/* WEBPACK VAR INJECTION */}.call(this, __w_pdfjs_require__(4)(module)))\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (module) {\n if (!module.webpackPolyfill) {\n module.deprecate = function () {};\n\n module.paths = [];\n if (!module.children) module.children = [];\n Object.defineProperty(module, \"loaded\", {\n enumerable: true,\n get: function get() {\n return module.l;\n }\n });\n Object.defineProperty(module, \"id\", {\n enumerable: true,\n get: function get() {\n return module.i;\n }\n });\n module.webpackPolyfill = 1;\n }\n\n return module;\n};\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.arrayByteLength = arrayByteLength;\nexports.arraysToBytes = arraysToBytes;\nexports.assert = assert;\nexports.bytesToString = bytesToString;\nexports.createPromiseCapability = createPromiseCapability;\nexports.getVerbosityLevel = getVerbosityLevel;\nexports.info = info;\nexports.isArrayBuffer = isArrayBuffer;\nexports.isArrayEqual = isArrayEqual;\nexports.isBool = isBool;\nexports.isEmptyObj = isEmptyObj;\nexports.isNum = isNum;\nexports.isString = isString;\nexports.isSameOrigin = isSameOrigin;\nexports.createValidAbsoluteUrl = createValidAbsoluteUrl;\nexports.removeNullCharacters = removeNullCharacters;\nexports.setVerbosityLevel = setVerbosityLevel;\nexports.shadow = shadow;\nexports.string32 = string32;\nexports.stringToBytes = stringToBytes;\nexports.stringToPDFString = stringToPDFString;\nexports.stringToUTF8String = stringToUTF8String;\nexports.utf8StringToString = utf8StringToString;\nexports.warn = warn;\nexports.unreachable = unreachable;\nexports.IsEvalSupportedCached = exports.IsLittleEndianCached = exports.createObjectURL = exports.FormatError = exports.Util = exports.UnknownErrorException = exports.UnexpectedResponseException = exports.TextRenderingMode = exports.StreamType = exports.PermissionFlag = exports.PasswordResponses = exports.PasswordException = exports.MissingPDFException = exports.InvalidPDFException = exports.AbortException = exports.CMapCompressionType = exports.ImageKind = exports.FontType = exports.AnnotationType = exports.AnnotationStateModelType = exports.AnnotationReviewState = exports.AnnotationReplyType = exports.AnnotationMarkedState = exports.AnnotationFlag = exports.AnnotationFieldFlag = exports.AnnotationBorderStyleType = exports.UNSUPPORTED_FEATURES = exports.VerbosityLevel = exports.OPS = exports.IDENTITY_MATRIX = exports.FONT_IDENTITY_MATRIX = exports.BaseException = void 0;\n\n__w_pdfjs_require__(6);\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0];\nexports.IDENTITY_MATRIX = IDENTITY_MATRIX;\nvar FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0];\nexports.FONT_IDENTITY_MATRIX = FONT_IDENTITY_MATRIX;\nvar PermissionFlag = {\n PRINT: 0x04,\n MODIFY_CONTENTS: 0x08,\n COPY: 0x10,\n MODIFY_ANNOTATIONS: 0x20,\n FILL_INTERACTIVE_FORMS: 0x100,\n COPY_FOR_ACCESSIBILITY: 0x200,\n ASSEMBLE: 0x400,\n PRINT_HIGH_QUALITY: 0x800\n};\nexports.PermissionFlag = PermissionFlag;\nvar TextRenderingMode = {\n FILL: 0,\n STROKE: 1,\n FILL_STROKE: 2,\n INVISIBLE: 3,\n FILL_ADD_TO_PATH: 4,\n STROKE_ADD_TO_PATH: 5,\n FILL_STROKE_ADD_TO_PATH: 6,\n ADD_TO_PATH: 7,\n FILL_STROKE_MASK: 3,\n ADD_TO_PATH_FLAG: 4\n};\nexports.TextRenderingMode = TextRenderingMode;\nvar ImageKind = {\n GRAYSCALE_1BPP: 1,\n RGB_24BPP: 2,\n RGBA_32BPP: 3\n};\nexports.ImageKind = ImageKind;\nvar AnnotationType = {\n TEXT: 1,\n LINK: 2,\n FREETEXT: 3,\n LINE: 4,\n SQUARE: 5,\n CIRCLE: 6,\n POLYGON: 7,\n POLYLINE: 8,\n HIGHLIGHT: 9,\n UNDERLINE: 10,\n SQUIGGLY: 11,\n STRIKEOUT: 12,\n STAMP: 13,\n CARET: 14,\n INK: 15,\n POPUP: 16,\n FILEATTACHMENT: 17,\n SOUND: 18,\n MOVIE: 19,\n WIDGET: 20,\n SCREEN: 21,\n PRINTERMARK: 22,\n TRAPNET: 23,\n WATERMARK: 24,\n THREED: 25,\n REDACT: 26\n};\nexports.AnnotationType = AnnotationType;\nvar AnnotationStateModelType = {\n MARKED: \"Marked\",\n REVIEW: \"Review\"\n};\nexports.AnnotationStateModelType = AnnotationStateModelType;\nvar AnnotationMarkedState = {\n MARKED: \"Marked\",\n UNMARKED: \"Unmarked\"\n};\nexports.AnnotationMarkedState = AnnotationMarkedState;\nvar AnnotationReviewState = {\n ACCEPTED: \"Accepted\",\n REJECTED: \"Rejected\",\n CANCELLED: \"Cancelled\",\n COMPLETED: \"Completed\",\n NONE: \"None\"\n};\nexports.AnnotationReviewState = AnnotationReviewState;\nvar AnnotationReplyType = {\n GROUP: \"Group\",\n REPLY: \"R\"\n};\nexports.AnnotationReplyType = AnnotationReplyType;\nvar AnnotationFlag = {\n INVISIBLE: 0x01,\n HIDDEN: 0x02,\n PRINT: 0x04,\n NOZOOM: 0x08,\n NOROTATE: 0x10,\n NOVIEW: 0x20,\n READONLY: 0x40,\n LOCKED: 0x80,\n TOGGLENOVIEW: 0x100,\n LOCKEDCONTENTS: 0x200\n};\nexports.AnnotationFlag = AnnotationFlag;\nvar AnnotationFieldFlag = {\n READONLY: 0x0000001,\n REQUIRED: 0x0000002,\n NOEXPORT: 0x0000004,\n MULTILINE: 0x0001000,\n PASSWORD: 0x0002000,\n NOTOGGLETOOFF: 0x0004000,\n RADIO: 0x0008000,\n PUSHBUTTON: 0x0010000,\n COMBO: 0x0020000,\n EDIT: 0x0040000,\n SORT: 0x0080000,\n FILESELECT: 0x0100000,\n MULTISELECT: 0x0200000,\n DONOTSPELLCHECK: 0x0400000,\n DONOTSCROLL: 0x0800000,\n COMB: 0x1000000,\n RICHTEXT: 0x2000000,\n RADIOSINUNISON: 0x2000000,\n COMMITONSELCHANGE: 0x4000000\n};\nexports.AnnotationFieldFlag = AnnotationFieldFlag;\nvar AnnotationBorderStyleType = {\n SOLID: 1,\n DASHED: 2,\n BEVELED: 3,\n INSET: 4,\n UNDERLINE: 5\n};\nexports.AnnotationBorderStyleType = AnnotationBorderStyleType;\nvar StreamType = {\n UNKNOWN: \"UNKNOWN\",\n FLATE: \"FLATE\",\n LZW: \"LZW\",\n DCT: \"DCT\",\n JPX: \"JPX\",\n JBIG: \"JBIG\",\n A85: \"A85\",\n AHX: \"AHX\",\n CCF: \"CCF\",\n RLX: \"RLX\"\n};\nexports.StreamType = StreamType;\nvar FontType = {\n UNKNOWN: \"UNKNOWN\",\n TYPE1: \"TYPE1\",\n TYPE1C: \"TYPE1C\",\n CIDFONTTYPE0: \"CIDFONTTYPE0\",\n CIDFONTTYPE0C: \"CIDFONTTYPE0C\",\n TRUETYPE: \"TRUETYPE\",\n CIDFONTTYPE2: \"CIDFONTTYPE2\",\n TYPE3: \"TYPE3\",\n OPENTYPE: \"OPENTYPE\",\n TYPE0: \"TYPE0\",\n MMTYPE1: \"MMTYPE1\"\n};\nexports.FontType = FontType;\nvar VerbosityLevel = {\n ERRORS: 0,\n WARNINGS: 1,\n INFOS: 5\n};\nexports.VerbosityLevel = VerbosityLevel;\nvar CMapCompressionType = {\n NONE: 0,\n BINARY: 1,\n STREAM: 2\n};\nexports.CMapCompressionType = CMapCompressionType;\nvar OPS = {\n dependency: 1,\n setLineWidth: 2,\n setLineCap: 3,\n setLineJoin: 4,\n setMiterLimit: 5,\n setDash: 6,\n setRenderingIntent: 7,\n setFlatness: 8,\n setGState: 9,\n save: 10,\n restore: 11,\n transform: 12,\n moveTo: 13,\n lineTo: 14,\n curveTo: 15,\n curveTo2: 16,\n curveTo3: 17,\n closePath: 18,\n rectangle: 19,\n stroke: 20,\n closeStroke: 21,\n fill: 22,\n eoFill: 23,\n fillStroke: 24,\n eoFillStroke: 25,\n closeFillStroke: 26,\n closeEOFillStroke: 27,\n endPath: 28,\n clip: 29,\n eoClip: 30,\n beginText: 31,\n endText: 32,\n setCharSpacing: 33,\n setWordSpacing: 34,\n setHScale: 35,\n setLeading: 36,\n setFont: 37,\n setTextRenderingMode: 38,\n setTextRise: 39,\n moveText: 40,\n setLeadingMoveText: 41,\n setTextMatrix: 42,\n nextLine: 43,\n showText: 44,\n showSpacedText: 45,\n nextLineShowText: 46,\n nextLineSetSpacingShowText: 47,\n setCharWidth: 48,\n setCharWidthAndBounds: 49,\n setStrokeColorSpace: 50,\n setFillColorSpace: 51,\n setStrokeColor: 52,\n setStrokeColorN: 53,\n setFillColor: 54,\n setFillColorN: 55,\n setStrokeGray: 56,\n setFillGray: 57,\n setStrokeRGBColor: 58,\n setFillRGBColor: 59,\n setStrokeCMYKColor: 60,\n setFillCMYKColor: 61,\n shadingFill: 62,\n beginInlineImage: 63,\n beginImageData: 64,\n endInlineImage: 65,\n paintXObject: 66,\n markPoint: 67,\n markPointProps: 68,\n beginMarkedContent: 69,\n beginMarkedContentProps: 70,\n endMarkedContent: 71,\n beginCompat: 72,\n endCompat: 73,\n paintFormXObjectBegin: 74,\n paintFormXObjectEnd: 75,\n beginGroup: 76,\n endGroup: 77,\n beginAnnotations: 78,\n endAnnotations: 79,\n beginAnnotation: 80,\n endAnnotation: 81,\n paintJpegXObject: 82,\n paintImageMaskXObject: 83,\n paintImageMaskXObjectGroup: 84,\n paintImageXObject: 85,\n paintInlineImageXObject: 86,\n paintInlineImageXObjectGroup: 87,\n paintImageXObjectRepeat: 88,\n paintImageMaskXObjectRepeat: 89,\n paintSolidColorImageMask: 90,\n constructPath: 91\n};\nexports.OPS = OPS;\nvar UNSUPPORTED_FEATURES = {\n unknown: \"unknown\",\n forms: \"forms\",\n javaScript: \"javaScript\",\n smask: \"smask\",\n shadingPattern: \"shadingPattern\",\n font: \"font\",\n errorTilingPattern: \"errorTilingPattern\",\n errorExtGState: \"errorExtGState\",\n errorXObject: \"errorXObject\",\n errorFontLoadType3: \"errorFontLoadType3\",\n errorFontState: \"errorFontState\",\n errorFontMissing: \"errorFontMissing\",\n errorFontTranslate: \"errorFontTranslate\",\n errorColorSpace: \"errorColorSpace\",\n errorOperatorList: \"errorOperatorList\",\n errorFontToUnicode: \"errorFontToUnicode\",\n errorFontLoadNative: \"errorFontLoadNative\",\n errorFontGetPath: \"errorFontGetPath\"\n};\nexports.UNSUPPORTED_FEATURES = UNSUPPORTED_FEATURES;\nvar PasswordResponses = {\n NEED_PASSWORD: 1,\n INCORRECT_PASSWORD: 2\n};\nexports.PasswordResponses = PasswordResponses;\nvar verbosity = VerbosityLevel.WARNINGS;\n\nfunction setVerbosityLevel(level) {\n if (Number.isInteger(level)) {\n verbosity = level;\n }\n}\n\nfunction getVerbosityLevel() {\n return verbosity;\n}\n\nfunction info(msg) {\n if (verbosity >= VerbosityLevel.INFOS) {\n console.log(\"Info: \".concat(msg));\n }\n}\n\nfunction warn(msg) {\n if (verbosity >= VerbosityLevel.WARNINGS) {\n console.log(\"Warning: \".concat(msg));\n }\n}\n\nfunction unreachable(msg) {\n throw new Error(msg);\n}\n\nfunction assert(cond, msg) {\n if (!cond) {\n unreachable(msg);\n }\n}\n\nfunction isSameOrigin(baseUrl, otherUrl) {\n var base;\n\n try {\n base = new URL(baseUrl);\n\n if (!base.origin || base.origin === \"null\") {\n return false;\n }\n } catch (e) {\n return false;\n }\n\n var other = new URL(otherUrl, base);\n return base.origin === other.origin;\n}\n\nfunction _isValidProtocol(url) {\n if (!url) {\n return false;\n }\n\n switch (url.protocol) {\n case \"http:\":\n case \"https:\":\n case \"ftp:\":\n case \"mailto:\":\n case \"tel:\":\n return true;\n\n default:\n return false;\n }\n}\n\nfunction createValidAbsoluteUrl(url, baseUrl) {\n if (!url) {\n return null;\n }\n\n try {\n var absoluteUrl = baseUrl ? new URL(url, baseUrl) : new URL(url);\n\n if (_isValidProtocol(absoluteUrl)) {\n return absoluteUrl;\n }\n } catch (ex) {}\n\n return null;\n}\n\nfunction shadow(obj, prop, value) {\n Object.defineProperty(obj, prop, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: false\n });\n return value;\n}\n\nvar BaseException = function BaseExceptionClosure() {\n function BaseException(message) {\n if (this.constructor === BaseException) {\n unreachable(\"Cannot initialize BaseException.\");\n }\n\n this.message = message;\n this.name = this.constructor.name;\n }\n\n BaseException.prototype = new Error();\n BaseException.constructor = BaseException;\n return BaseException;\n}();\n\nexports.BaseException = BaseException;\n\nvar PasswordException = /*#__PURE__*/function (_BaseException) {\n _inherits(PasswordException, _BaseException);\n\n var _super = _createSuper(PasswordException);\n\n function PasswordException(msg, code) {\n var _this;\n\n _classCallCheck(this, PasswordException);\n\n _this = _super.call(this, msg);\n _this.code = code;\n return _this;\n }\n\n return PasswordException;\n}(BaseException);\n\nexports.PasswordException = PasswordException;\n\nvar UnknownErrorException = /*#__PURE__*/function (_BaseException2) {\n _inherits(UnknownErrorException, _BaseException2);\n\n var _super2 = _createSuper(UnknownErrorException);\n\n function UnknownErrorException(msg, details) {\n var _this2;\n\n _classCallCheck(this, UnknownErrorException);\n\n _this2 = _super2.call(this, msg);\n _this2.details = details;\n return _this2;\n }\n\n return UnknownErrorException;\n}(BaseException);\n\nexports.UnknownErrorException = UnknownErrorException;\n\nvar InvalidPDFException = /*#__PURE__*/function (_BaseException3) {\n _inherits(InvalidPDFException, _BaseException3);\n\n var _super3 = _createSuper(InvalidPDFException);\n\n function InvalidPDFException() {\n _classCallCheck(this, InvalidPDFException);\n\n return _super3.apply(this, arguments);\n }\n\n return InvalidPDFException;\n}(BaseException);\n\nexports.InvalidPDFException = InvalidPDFException;\n\nvar MissingPDFException = /*#__PURE__*/function (_BaseException4) {\n _inherits(MissingPDFException, _BaseException4);\n\n var _super4 = _createSuper(MissingPDFException);\n\n function MissingPDFException() {\n _classCallCheck(this, MissingPDFException);\n\n return _super4.apply(this, arguments);\n }\n\n return MissingPDFException;\n}(BaseException);\n\nexports.MissingPDFException = MissingPDFException;\n\nvar UnexpectedResponseException = /*#__PURE__*/function (_BaseException5) {\n _inherits(UnexpectedResponseException, _BaseException5);\n\n var _super5 = _createSuper(UnexpectedResponseException);\n\n function UnexpectedResponseException(msg, status) {\n var _this3;\n\n _classCallCheck(this, UnexpectedResponseException);\n\n _this3 = _super5.call(this, msg);\n _this3.status = status;\n return _this3;\n }\n\n return UnexpectedResponseException;\n}(BaseException);\n\nexports.UnexpectedResponseException = UnexpectedResponseException;\n\nvar FormatError = /*#__PURE__*/function (_BaseException6) {\n _inherits(FormatError, _BaseException6);\n\n var _super6 = _createSuper(FormatError);\n\n function FormatError() {\n _classCallCheck(this, FormatError);\n\n return _super6.apply(this, arguments);\n }\n\n return FormatError;\n}(BaseException);\n\nexports.FormatError = FormatError;\n\nvar AbortException = /*#__PURE__*/function (_BaseException7) {\n _inherits(AbortException, _BaseException7);\n\n var _super7 = _createSuper(AbortException);\n\n function AbortException() {\n _classCallCheck(this, AbortException);\n\n return _super7.apply(this, arguments);\n }\n\n return AbortException;\n}(BaseException);\n\nexports.AbortException = AbortException;\nvar NullCharactersRegExp = /\\x00/g;\n\nfunction removeNullCharacters(str) {\n if (typeof str !== \"string\") {\n warn(\"The argument for removeNullCharacters must be a string.\");\n return str;\n }\n\n return str.replace(NullCharactersRegExp, \"\");\n}\n\nfunction bytesToString(bytes) {\n assert(bytes !== null && _typeof(bytes) === \"object\" && bytes.length !== undefined, \"Invalid argument for bytesToString\");\n var length = bytes.length;\n var MAX_ARGUMENT_COUNT = 8192;\n\n if (length < MAX_ARGUMENT_COUNT) {\n return String.fromCharCode.apply(null, bytes);\n }\n\n var strBuf = [];\n\n for (var i = 0; i < length; i += MAX_ARGUMENT_COUNT) {\n var chunkEnd = Math.min(i + MAX_ARGUMENT_COUNT, length);\n var chunk = bytes.subarray(i, chunkEnd);\n strBuf.push(String.fromCharCode.apply(null, chunk));\n }\n\n return strBuf.join(\"\");\n}\n\nfunction stringToBytes(str) {\n assert(typeof str === \"string\", \"Invalid argument for stringToBytes\");\n var length = str.length;\n var bytes = new Uint8Array(length);\n\n for (var i = 0; i < length; ++i) {\n bytes[i] = str.charCodeAt(i) & 0xff;\n }\n\n return bytes;\n}\n\nfunction arrayByteLength(arr) {\n if (arr.length !== undefined) {\n return arr.length;\n }\n\n assert(arr.byteLength !== undefined, \"arrayByteLength - invalid argument.\");\n return arr.byteLength;\n}\n\nfunction arraysToBytes(arr) {\n var length = arr.length;\n\n if (length === 1 && arr[0] instanceof Uint8Array) {\n return arr[0];\n }\n\n var resultLength = 0;\n\n for (var i = 0; i < length; i++) {\n resultLength += arrayByteLength(arr[i]);\n }\n\n var pos = 0;\n var data = new Uint8Array(resultLength);\n\n for (var _i = 0; _i < length; _i++) {\n var item = arr[_i];\n\n if (!(item instanceof Uint8Array)) {\n if (typeof item === \"string\") {\n item = stringToBytes(item);\n } else {\n item = new Uint8Array(item);\n }\n }\n\n var itemLength = item.byteLength;\n data.set(item, pos);\n pos += itemLength;\n }\n\n return data;\n}\n\nfunction string32(value) {\n return String.fromCharCode(value >> 24 & 0xff, value >> 16 & 0xff, value >> 8 & 0xff, value & 0xff);\n}\n\nfunction isLittleEndian() {\n var buffer8 = new Uint8Array(4);\n buffer8[0] = 1;\n var view32 = new Uint32Array(buffer8.buffer, 0, 1);\n return view32[0] === 1;\n}\n\nvar IsLittleEndianCached = {\n get value() {\n return shadow(this, \"value\", isLittleEndian());\n }\n\n};\nexports.IsLittleEndianCached = IsLittleEndianCached;\n\nfunction isEvalSupported() {\n try {\n new Function(\"\");\n return true;\n } catch (e) {\n return false;\n }\n}\n\nvar IsEvalSupportedCached = {\n get value() {\n return shadow(this, \"value\", isEvalSupported());\n }\n\n};\nexports.IsEvalSupportedCached = IsEvalSupportedCached;\nvar rgbBuf = [\"rgb(\", 0, \",\", 0, \",\", 0, \")\"];\n\nvar Util = /*#__PURE__*/function () {\n function Util() {\n _classCallCheck(this, Util);\n }\n\n _createClass(Util, null, [{\n key: \"makeCssRgb\",\n value: function makeCssRgb(r, g, b) {\n rgbBuf[1] = r;\n rgbBuf[3] = g;\n rgbBuf[5] = b;\n return rgbBuf.join(\"\");\n }\n }, {\n key: \"transform\",\n value: function transform(m1, m2) {\n return [m1[0] * m2[0] + m1[2] * m2[1], m1[1] * m2[0] + m1[3] * m2[1], m1[0] * m2[2] + m1[2] * m2[3], m1[1] * m2[2] + m1[3] * m2[3], m1[0] * m2[4] + m1[2] * m2[5] + m1[4], m1[1] * m2[4] + m1[3] * m2[5] + m1[5]];\n }\n }, {\n key: \"applyTransform\",\n value: function applyTransform(p, m) {\n var xt = p[0] * m[0] + p[1] * m[2] + m[4];\n var yt = p[0] * m[1] + p[1] * m[3] + m[5];\n return [xt, yt];\n }\n }, {\n key: \"applyInverseTransform\",\n value: function applyInverseTransform(p, m) {\n var d = m[0] * m[3] - m[1] * m[2];\n var xt = (p[0] * m[3] - p[1] * m[2] + m[2] * m[5] - m[4] * m[3]) / d;\n var yt = (-p[0] * m[1] + p[1] * m[0] + m[4] * m[1] - m[5] * m[0]) / d;\n return [xt, yt];\n }\n }, {\n key: \"getAxialAlignedBoundingBox\",\n value: function getAxialAlignedBoundingBox(r, m) {\n var p1 = Util.applyTransform(r, m);\n var p2 = Util.applyTransform(r.slice(2, 4), m);\n var p3 = Util.applyTransform([r[0], r[3]], m);\n var p4 = Util.applyTransform([r[2], r[1]], m);\n return [Math.min(p1[0], p2[0], p3[0], p4[0]), Math.min(p1[1], p2[1], p3[1], p4[1]), Math.max(p1[0], p2[0], p3[0], p4[0]), Math.max(p1[1], p2[1], p3[1], p4[1])];\n }\n }, {\n key: \"inverseTransform\",\n value: function inverseTransform(m) {\n var d = m[0] * m[3] - m[1] * m[2];\n return [m[3] / d, -m[1] / d, -m[2] / d, m[0] / d, (m[2] * m[5] - m[4] * m[3]) / d, (m[4] * m[1] - m[5] * m[0]) / d];\n }\n }, {\n key: \"apply3dTransform\",\n value: function apply3dTransform(m, v) {\n return [m[0] * v[0] + m[1] * v[1] + m[2] * v[2], m[3] * v[0] + m[4] * v[1] + m[5] * v[2], m[6] * v[0] + m[7] * v[1] + m[8] * v[2]];\n }\n }, {\n key: \"singularValueDecompose2dScale\",\n value: function singularValueDecompose2dScale(m) {\n var transpose = [m[0], m[2], m[1], m[3]];\n var a = m[0] * transpose[0] + m[1] * transpose[2];\n var b = m[0] * transpose[1] + m[1] * transpose[3];\n var c = m[2] * transpose[0] + m[3] * transpose[2];\n var d = m[2] * transpose[1] + m[3] * transpose[3];\n var first = (a + d) / 2;\n var second = Math.sqrt((a + d) * (a + d) - 4 * (a * d - c * b)) / 2;\n var sx = first + second || 1;\n var sy = first - second || 1;\n return [Math.sqrt(sx), Math.sqrt(sy)];\n }\n }, {\n key: \"normalizeRect\",\n value: function normalizeRect(rect) {\n var r = rect.slice(0);\n\n if (rect[0] > rect[2]) {\n r[0] = rect[2];\n r[2] = rect[0];\n }\n\n if (rect[1] > rect[3]) {\n r[1] = rect[3];\n r[3] = rect[1];\n }\n\n return r;\n }\n }, {\n key: \"intersect\",\n value: function intersect(rect1, rect2) {\n function compare(a, b) {\n return a - b;\n }\n\n var orderedX = [rect1[0], rect1[2], rect2[0], rect2[2]].sort(compare);\n var orderedY = [rect1[1], rect1[3], rect2[1], rect2[3]].sort(compare);\n var result = [];\n rect1 = Util.normalizeRect(rect1);\n rect2 = Util.normalizeRect(rect2);\n\n if (orderedX[0] === rect1[0] && orderedX[1] === rect2[0] || orderedX[0] === rect2[0] && orderedX[1] === rect1[0]) {\n result[0] = orderedX[1];\n result[2] = orderedX[2];\n } else {\n return null;\n }\n\n if (orderedY[0] === rect1[1] && orderedY[1] === rect2[1] || orderedY[0] === rect2[1] && orderedY[1] === rect1[1]) {\n result[1] = orderedY[1];\n result[3] = orderedY[2];\n } else {\n return null;\n }\n\n return result;\n }\n }]);\n\n return Util;\n}();\n\nexports.Util = Util;\nvar PDFStringTranslateTable = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2D8, 0x2C7, 0x2C6, 0x2D9, 0x2DD, 0x2DB, 0x2DA, 0x2DC, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2022, 0x2020, 0x2021, 0x2026, 0x2014, 0x2013, 0x192, 0x2044, 0x2039, 0x203A, 0x2212, 0x2030, 0x201E, 0x201C, 0x201D, 0x2018, 0x2019, 0x201A, 0x2122, 0xFB01, 0xFB02, 0x141, 0x152, 0x160, 0x178, 0x17D, 0x131, 0x142, 0x153, 0x161, 0x17E, 0, 0x20AC];\n\nfunction stringToPDFString(str) {\n var length = str.length,\n strBuf = [];\n\n if (str[0] === \"\\xFE\" && str[1] === \"\\xFF\") {\n for (var i = 2; i < length; i += 2) {\n strBuf.push(String.fromCharCode(str.charCodeAt(i) << 8 | str.charCodeAt(i + 1)));\n }\n } else if (str[0] === \"\\xFF\" && str[1] === \"\\xFE\") {\n for (var _i2 = 2; _i2 < length; _i2 += 2) {\n strBuf.push(String.fromCharCode(str.charCodeAt(_i2 + 1) << 8 | str.charCodeAt(_i2)));\n }\n } else {\n for (var _i3 = 0; _i3 < length; ++_i3) {\n var code = PDFStringTranslateTable[str.charCodeAt(_i3)];\n strBuf.push(code ? String.fromCharCode(code) : str.charAt(_i3));\n }\n }\n\n return strBuf.join(\"\");\n}\n\nfunction stringToUTF8String(str) {\n return decodeURIComponent(escape(str));\n}\n\nfunction utf8StringToString(str) {\n return unescape(encodeURIComponent(str));\n}\n\nfunction isEmptyObj(obj) {\n for (var key in obj) {\n return false;\n }\n\n return true;\n}\n\nfunction isBool(v) {\n return typeof v === \"boolean\";\n}\n\nfunction isNum(v) {\n return typeof v === \"number\";\n}\n\nfunction isString(v) {\n return typeof v === \"string\";\n}\n\nfunction isArrayBuffer(v) {\n return _typeof(v) === \"object\" && v !== null && v.byteLength !== undefined;\n}\n\nfunction isArrayEqual(arr1, arr2) {\n if (arr1.length !== arr2.length) {\n return false;\n }\n\n return arr1.every(function (element, index) {\n return element === arr2[index];\n });\n}\n\nfunction createPromiseCapability() {\n var capability = Object.create(null);\n var isSettled = false;\n Object.defineProperty(capability, \"settled\", {\n get: function get() {\n return isSettled;\n }\n });\n capability.promise = new Promise(function (resolve, reject) {\n capability.resolve = function (data) {\n isSettled = true;\n resolve(data);\n };\n\n capability.reject = function (reason) {\n isSettled = true;\n reject(reason);\n };\n });\n return capability;\n}\n\nvar createObjectURL = function createObjectURLClosure() {\n var digits = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\n return function createObjectURL(data, contentType) {\n var forceDataSchema = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n if (!forceDataSchema && URL.createObjectURL) {\n var blob = new Blob([data], {\n type: contentType\n });\n return URL.createObjectURL(blob);\n }\n\n var buffer = \"data:\".concat(contentType, \";base64,\");\n\n for (var i = 0, ii = data.length; i < ii; i += 3) {\n var b1 = data[i] & 0xff;\n var b2 = data[i + 1] & 0xff;\n var b3 = data[i + 2] & 0xff;\n var d1 = b1 >> 2,\n d2 = (b1 & 3) << 4 | b2 >> 4;\n var d3 = i + 1 < ii ? (b2 & 0xf) << 2 | b3 >> 6 : 64;\n var d4 = i + 2 < ii ? b3 & 0x3f : 64;\n buffer += digits[d1] + digits[d2] + digits[d3] + digits[d4];\n }\n\n return buffer;\n };\n}();\n\nexports.createObjectURL = createObjectURL;\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar _is_node = __w_pdfjs_require__(7);\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nif (typeof globalThis === \"undefined\" || !globalThis._pdfjsCompatibilityChecked) {\n if (typeof globalThis === \"undefined\" || globalThis.Math !== Math) {\n globalThis = __w_pdfjs_require__(8);\n }\n\n globalThis._pdfjsCompatibilityChecked = true;\n var hasDOM = (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) === \"object\" && (typeof document === \"undefined\" ? \"undefined\" : _typeof(document)) === \"object\";\n var userAgent = typeof navigator !== \"undefined\" && navigator.userAgent || \"\";\n var isIE = /Trident/.test(userAgent);\n\n (function checkNodeBtoa() {\n if (globalThis.btoa || !_is_node.isNodeJS) {\n return;\n }\n\n globalThis.btoa = function (chars) {\n return Buffer.from(chars, \"binary\").toString(\"base64\");\n };\n })();\n\n (function checkNodeAtob() {\n if (globalThis.atob || !_is_node.isNodeJS) {\n return;\n }\n\n globalThis.atob = function (input) {\n return Buffer.from(input, \"base64\").toString(\"binary\");\n };\n })();\n\n (function checkChildNodeRemove() {\n if (!hasDOM) {\n return;\n }\n\n if (typeof Element.prototype.remove !== \"undefined\") {\n return;\n }\n\n Element.prototype.remove = function () {\n if (this.parentNode) {\n this.parentNode.removeChild(this);\n }\n };\n })();\n\n (function checkDOMTokenListAddRemove() {\n if (!hasDOM || _is_node.isNodeJS) {\n return;\n }\n\n var div = document.createElement(\"div\");\n div.classList.add(\"testOne\", \"testTwo\");\n\n if (div.classList.contains(\"testOne\") === true && div.classList.contains(\"testTwo\") === true) {\n return;\n }\n\n var OriginalDOMTokenListAdd = DOMTokenList.prototype.add;\n var OriginalDOMTokenListRemove = DOMTokenList.prototype.remove;\n\n DOMTokenList.prototype.add = function () {\n for (var _len = arguments.length, tokens = new Array(_len), _key = 0; _key < _len; _key++) {\n tokens[_key] = arguments[_key];\n }\n\n for (var _i = 0, _tokens = tokens; _i < _tokens.length; _i++) {\n var token = _tokens[_i];\n OriginalDOMTokenListAdd.call(this, token);\n }\n };\n\n DOMTokenList.prototype.remove = function () {\n for (var _len2 = arguments.length, tokens = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n tokens[_key2] = arguments[_key2];\n }\n\n for (var _i2 = 0, _tokens2 = tokens; _i2 < _tokens2.length; _i2++) {\n var token = _tokens2[_i2];\n OriginalDOMTokenListRemove.call(this, token);\n }\n };\n })();\n\n (function checkDOMTokenListToggle() {\n if (!hasDOM || _is_node.isNodeJS) {\n return;\n }\n\n var div = document.createElement(\"div\");\n\n if (div.classList.toggle(\"test\", 0) === false) {\n return;\n }\n\n DOMTokenList.prototype.toggle = function (token) {\n var force = arguments.length > 1 ? !!arguments[1] : !this.contains(token);\n return this[force ? \"add\" : \"remove\"](token), force;\n };\n })();\n\n (function checkWindowHistoryPushStateReplaceState() {\n if (!hasDOM || !isIE) {\n return;\n }\n\n var OriginalPushState = window.history.pushState;\n var OriginalReplaceState = window.history.replaceState;\n\n window.history.pushState = function (state, title, url) {\n var args = url === undefined ? [state, title] : [state, title, url];\n OriginalPushState.apply(this, args);\n };\n\n window.history.replaceState = function (state, title, url) {\n var args = url === undefined ? [state, title] : [state, title, url];\n OriginalReplaceState.apply(this, args);\n };\n })();\n\n (function checkStringStartsWith() {\n if (String.prototype.startsWith) {\n return;\n }\n\n __w_pdfjs_require__(53);\n })();\n\n (function checkStringEndsWith() {\n if (String.prototype.endsWith) {\n return;\n }\n\n __w_pdfjs_require__(64);\n })();\n\n (function checkStringIncludes() {\n if (String.prototype.includes) {\n return;\n }\n\n __w_pdfjs_require__(66);\n })();\n\n (function checkArrayIncludes() {\n if (Array.prototype.includes) {\n return;\n }\n\n __w_pdfjs_require__(68);\n })();\n\n (function checkArrayFrom() {\n if (Array.from) {\n return;\n }\n\n __w_pdfjs_require__(76);\n })();\n\n (function checkObjectAssign() {\n if (Object.assign) {\n return;\n }\n\n __w_pdfjs_require__(98);\n })();\n\n (function checkMathLog2() {\n if (Math.log2) {\n return;\n }\n\n Math.log2 = __w_pdfjs_require__(101);\n })();\n\n (function checkNumberIsNaN() {\n if (Number.isNaN) {\n return;\n }\n\n Number.isNaN = __w_pdfjs_require__(103);\n })();\n\n (function checkNumberIsInteger() {\n if (Number.isInteger) {\n return;\n }\n\n Number.isInteger = __w_pdfjs_require__(105);\n })();\n\n (function checkTypedArraySlice() {\n if (Uint8Array.prototype.slice) {\n return;\n }\n\n __w_pdfjs_require__(108);\n })();\n\n (function checkPromise() {\n if (globalThis.Promise && globalThis.Promise.allSettled) {\n return;\n }\n\n globalThis.Promise = __w_pdfjs_require__(113);\n })();\n\n (function checkURL() {\n globalThis.URL = __w_pdfjs_require__(136);\n })();\n\n (function checkReadableStream() {\n var isReadableStreamSupported = false;\n\n if (typeof ReadableStream !== \"undefined\") {\n try {\n new ReadableStream({\n start: function start(controller) {\n controller.close();\n }\n });\n isReadableStreamSupported = true;\n } catch (e) {}\n }\n\n if (isReadableStreamSupported) {\n return;\n }\n\n globalThis.ReadableStream = __w_pdfjs_require__(143).ReadableStream;\n })();\n\n (function checkMapEntries() {\n if (globalThis.Map && globalThis.Map.prototype.entries) {\n return;\n }\n\n globalThis.Map = __w_pdfjs_require__(144);\n })();\n\n (function checkSetEntries() {\n if (globalThis.Set && globalThis.Set.prototype.entries) {\n return;\n }\n\n globalThis.Set = __w_pdfjs_require__(151);\n })();\n\n (function checkWeakMap() {\n if (globalThis.WeakMap) {\n return;\n }\n\n globalThis.WeakMap = __w_pdfjs_require__(153);\n })();\n\n (function checkWeakSet() {\n if (globalThis.WeakSet) {\n return;\n }\n\n globalThis.WeakSet = __w_pdfjs_require__(159);\n })();\n\n (function checkStringCodePointAt() {\n if (String.prototype.codePointAt) {\n return;\n }\n\n __w_pdfjs_require__(161);\n })();\n\n (function checkStringFromCodePoint() {\n if (String.fromCodePoint) {\n return;\n }\n\n String.fromCodePoint = __w_pdfjs_require__(163);\n })();\n\n (function checkSymbol() {\n if (globalThis.Symbol) {\n return;\n }\n\n __w_pdfjs_require__(165);\n })();\n\n (function checkStringPadStart() {\n if (String.prototype.padStart) {\n return;\n }\n\n __w_pdfjs_require__(188);\n })();\n\n (function checkStringPadEnd() {\n if (String.prototype.padEnd) {\n return;\n }\n\n __w_pdfjs_require__(193);\n })();\n\n (function checkObjectValues() {\n if (Object.values) {\n return;\n }\n\n Object.values = __w_pdfjs_require__(195);\n })();\n}\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isNodeJS = void 0;\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar isNodeJS = (typeof process === \"undefined\" ? \"undefined\" : _typeof(process)) === \"object\" && process + \"\" === \"[object process]\" && !process.versions.nw && !process.versions.electron;\nexports.isNodeJS = isNodeJS;\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(9);\nmodule.exports = __w_pdfjs_require__(11);\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\nvar global = __w_pdfjs_require__(11);\n$({ global: true }, { globalThis: global });\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar getOwnPropertyDescriptor = __w_pdfjs_require__(12).f;\nvar createNonEnumerableProperty = __w_pdfjs_require__(26);\nvar redefine = __w_pdfjs_require__(29);\nvar setGlobal = __w_pdfjs_require__(30);\nvar copyConstructorProperties = __w_pdfjs_require__(40);\nvar isForced = __w_pdfjs_require__(52);\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target)\n for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else\n targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty)\n continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n if (options.sham || targetProperty && targetProperty.sham) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n redefine(target, key, sourceProperty, options);\n }\n};\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports) {\n\nvar check = function (it) {\n return it && it.Math == Math && it;\n};\nmodule.exports = check(typeof globalThis == 'object' && globalThis) || check(typeof window == 'object' && window) || check(typeof self == 'object' && self) || check(typeof global == 'object' && global) || Function('return this')();\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar propertyIsEnumerableModule = __w_pdfjs_require__(15);\nvar createPropertyDescriptor = __w_pdfjs_require__(16);\nvar toIndexedObject = __w_pdfjs_require__(17);\nvar toPrimitive = __w_pdfjs_require__(21);\nvar has = __w_pdfjs_require__(23);\nvar IE8_DOM_DEFINE = __w_pdfjs_require__(24);\nvar nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nexports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE)\n try {\n return nativeGetOwnPropertyDescriptor(O, P);\n } catch (error) {\n }\n if (has(O, P))\n return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(14);\nmodule.exports = !fails(function () {\n return Object.defineProperty({}, 1, {\n get: function () {\n return 7;\n }\n })[1] != 7;\n});\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar nativePropertyIsEnumerable = {}.propertyIsEnumerable;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : nativePropertyIsEnumerable;\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar IndexedObject = __w_pdfjs_require__(18);\nvar requireObjectCoercible = __w_pdfjs_require__(20);\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(14);\nvar classof = __w_pdfjs_require__(19);\nvar split = ''.split;\nmodule.exports = fails(function () {\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports) {\n\nvar toString = {}.toString;\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n if (it == undefined)\n throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(22);\nmodule.exports = function (input, PREFERRED_STRING) {\n if (!isObject(input))\n return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input)))\n return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input)))\n return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input)))\n return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports) {\n\nvar hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar fails = __w_pdfjs_require__(14);\nvar createElement = __w_pdfjs_require__(25);\nmodule.exports = !DESCRIPTORS && !fails(function () {\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () {\n return 7;\n }\n }).a != 7;\n});\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar isObject = __w_pdfjs_require__(22);\nvar document = global.document;\nvar EXISTS = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar definePropertyModule = __w_pdfjs_require__(27);\nvar createPropertyDescriptor = __w_pdfjs_require__(16);\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar IE8_DOM_DEFINE = __w_pdfjs_require__(24);\nvar anObject = __w_pdfjs_require__(28);\nvar toPrimitive = __w_pdfjs_require__(21);\nvar nativeDefineProperty = Object.defineProperty;\nexports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE)\n try {\n return nativeDefineProperty(O, P, Attributes);\n } catch (error) {\n }\n if ('get' in Attributes || 'set' in Attributes)\n throw TypeError('Accessors not supported');\n if ('value' in Attributes)\n O[P] = Attributes.value;\n return O;\n};\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(22);\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n }\n return it;\n};\n\n/***/ }),\n/* 29 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar createNonEnumerableProperty = __w_pdfjs_require__(26);\nvar has = __w_pdfjs_require__(23);\nvar setGlobal = __w_pdfjs_require__(30);\nvar inspectSource = __w_pdfjs_require__(31);\nvar InternalStateModule = __w_pdfjs_require__(33);\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name'))\n createNonEnumerableProperty(value, 'name', key);\n enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n if (O === global) {\n if (simple)\n O[key] = value;\n else\n setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple)\n O[key] = value;\n else\n createNonEnumerableProperty(O, key, value);\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || inspectSource(this);\n});\n\n/***/ }),\n/* 30 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar createNonEnumerableProperty = __w_pdfjs_require__(26);\nmodule.exports = function (key, value) {\n try {\n createNonEnumerableProperty(global, key, value);\n } catch (error) {\n global[key] = value;\n }\n return value;\n};\n\n/***/ }),\n/* 31 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar store = __w_pdfjs_require__(32);\nvar functionToString = Function.toString;\nif (typeof store.inspectSource != 'function') {\n store.inspectSource = function (it) {\n return functionToString.call(it);\n };\n}\nmodule.exports = store.inspectSource;\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar setGlobal = __w_pdfjs_require__(30);\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\nmodule.exports = store;\n\n/***/ }),\n/* 33 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar NATIVE_WEAK_MAP = __w_pdfjs_require__(34);\nvar global = __w_pdfjs_require__(11);\nvar isObject = __w_pdfjs_require__(22);\nvar createNonEnumerableProperty = __w_pdfjs_require__(26);\nvar objectHas = __w_pdfjs_require__(23);\nvar sharedKey = __w_pdfjs_require__(35);\nvar hiddenKeys = __w_pdfjs_require__(39);\nvar WeakMap = global.WeakMap;\nvar set, get, has;\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n }\n return state;\n };\n};\nif (NATIVE_WEAK_MAP) {\n var store = new WeakMap();\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n\n/***/ }),\n/* 34 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar inspectSource = __w_pdfjs_require__(31);\nvar WeakMap = global.WeakMap;\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));\n\n/***/ }),\n/* 35 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar shared = __w_pdfjs_require__(36);\nvar uid = __w_pdfjs_require__(38);\nvar keys = shared('keys');\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n\n/***/ }),\n/* 36 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar IS_PURE = __w_pdfjs_require__(37);\nvar store = __w_pdfjs_require__(32);\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.6.5',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2020 Denis Pushkarev (zloirock.ru)'\n});\n\n/***/ }),\n/* 37 */\n/***/ (function(module, exports) {\n\nmodule.exports = false;\n\n/***/ }),\n/* 38 */\n/***/ (function(module, exports) {\n\nvar id = 0;\nvar postfix = Math.random();\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n\n/***/ }),\n/* 39 */\n/***/ (function(module, exports) {\n\nmodule.exports = {};\n\n/***/ }),\n/* 40 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar has = __w_pdfjs_require__(23);\nvar ownKeys = __w_pdfjs_require__(41);\nvar getOwnPropertyDescriptorModule = __w_pdfjs_require__(12);\nvar definePropertyModule = __w_pdfjs_require__(27);\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key))\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n\n/***/ }),\n/* 41 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar getBuiltIn = __w_pdfjs_require__(42);\nvar getOwnPropertyNamesModule = __w_pdfjs_require__(44);\nvar getOwnPropertySymbolsModule = __w_pdfjs_require__(51);\nvar anObject = __w_pdfjs_require__(28);\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n\n/***/ }),\n/* 42 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar path = __w_pdfjs_require__(43);\nvar global = __w_pdfjs_require__(11);\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace]) : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n\n/***/ }),\n/* 43 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nmodule.exports = global;\n\n/***/ }),\n/* 44 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar internalObjectKeys = __w_pdfjs_require__(45);\nvar enumBugKeys = __w_pdfjs_require__(50);\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n\n/***/ }),\n/* 45 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar has = __w_pdfjs_require__(23);\nvar toIndexedObject = __w_pdfjs_require__(17);\nvar indexOf = __w_pdfjs_require__(46).indexOf;\nvar hiddenKeys = __w_pdfjs_require__(39);\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O)\n !has(hiddenKeys, key) && has(O, key) && result.push(key);\n while (names.length > i)\n if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n\n/***/ }),\n/* 46 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar toIndexedObject = __w_pdfjs_require__(17);\nvar toLength = __w_pdfjs_require__(47);\nvar toAbsoluteIndex = __w_pdfjs_require__(49);\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n if (IS_INCLUDES && el != el)\n while (length > index) {\n value = O[index++];\n if (value != value)\n return true;\n }\n else\n for (; length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el)\n return IS_INCLUDES || index || 0;\n }\n return !IS_INCLUDES && -1;\n };\n};\nmodule.exports = {\n includes: createMethod(true),\n indexOf: createMethod(false)\n};\n\n/***/ }),\n/* 47 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar toInteger = __w_pdfjs_require__(48);\nvar min = Math.min;\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0;\n};\n\n/***/ }),\n/* 48 */\n/***/ (function(module, exports) {\n\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n\n/***/ }),\n/* 49 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar toInteger = __w_pdfjs_require__(48);\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n\n/***/ }),\n/* 50 */\n/***/ (function(module, exports) {\n\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n\n/***/ }),\n/* 51 */\n/***/ (function(module, exports) {\n\nexports.f = Object.getOwnPropertySymbols;\n\n/***/ }),\n/* 52 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(14);\nvar replacement = /#|\\.prototype\\./;\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true : value == NATIVE ? false : typeof detection == 'function' ? fails(detection) : !!detection;\n};\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\nmodule.exports = isForced;\n\n/***/ }),\n/* 53 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(54);\nvar entryUnbind = __w_pdfjs_require__(61);\nmodule.exports = entryUnbind('String', 'startsWith');\n\n/***/ }),\n/* 54 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar getOwnPropertyDescriptor = __w_pdfjs_require__(12).f;\nvar toLength = __w_pdfjs_require__(47);\nvar notARegExp = __w_pdfjs_require__(55);\nvar requireObjectCoercible = __w_pdfjs_require__(20);\nvar correctIsRegExpLogic = __w_pdfjs_require__(60);\nvar IS_PURE = __w_pdfjs_require__(37);\nvar nativeStartsWith = ''.startsWith;\nvar min = Math.min;\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith');\nvar MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n var descriptor = getOwnPropertyDescriptor(String.prototype, 'startsWith');\n return descriptor && !descriptor.writable;\n}();\n$({\n target: 'String',\n proto: true,\n forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC\n}, {\n startsWith: function startsWith(searchString) {\n var that = String(requireObjectCoercible(this));\n notARegExp(searchString);\n var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n var search = String(searchString);\n return nativeStartsWith ? nativeStartsWith.call(that, search, index) : that.slice(index, index + search.length) === search;\n }\n});\n\n/***/ }),\n/* 55 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isRegExp = __w_pdfjs_require__(56);\nmodule.exports = function (it) {\n if (isRegExp(it)) {\n throw TypeError(\"The method doesn't accept regular expressions\");\n }\n return it;\n};\n\n/***/ }),\n/* 56 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(22);\nvar classof = __w_pdfjs_require__(19);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar MATCH = wellKnownSymbol('match');\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');\n};\n\n/***/ }),\n/* 57 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar shared = __w_pdfjs_require__(36);\nvar has = __w_pdfjs_require__(23);\nvar uid = __w_pdfjs_require__(38);\nvar NATIVE_SYMBOL = __w_pdfjs_require__(58);\nvar USE_SYMBOL_AS_UID = __w_pdfjs_require__(59);\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\nmodule.exports = function (name) {\n if (!has(WellKnownSymbolsStore, name)) {\n if (NATIVE_SYMBOL && has(Symbol, name))\n WellKnownSymbolsStore[name] = Symbol[name];\n else\n WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);\n }\n return WellKnownSymbolsStore[name];\n};\n\n/***/ }),\n/* 58 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(14);\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n return !String(Symbol());\n});\n\n/***/ }),\n/* 59 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar NATIVE_SYMBOL = __w_pdfjs_require__(58);\nmodule.exports = NATIVE_SYMBOL && !Symbol.sham && typeof Symbol.iterator == 'symbol';\n\n/***/ }),\n/* 60 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar MATCH = wellKnownSymbol('match');\nmodule.exports = function (METHOD_NAME) {\n var regexp = /./;\n try {\n '/./'[METHOD_NAME](regexp);\n } catch (e) {\n try {\n regexp[MATCH] = false;\n return '/./'[METHOD_NAME](regexp);\n } catch (f) {\n }\n }\n return false;\n};\n\n/***/ }),\n/* 61 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar bind = __w_pdfjs_require__(62);\nvar call = Function.call;\nmodule.exports = function (CONSTRUCTOR, METHOD, length) {\n return bind(call, global[CONSTRUCTOR].prototype[METHOD], length);\n};\n\n/***/ }),\n/* 62 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar aFunction = __w_pdfjs_require__(63);\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined)\n return fn;\n switch (length) {\n case 0:\n return function () {\n return fn.call(that);\n };\n case 1:\n return function (a) {\n return fn.call(that, a);\n };\n case 2:\n return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3:\n return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function () {\n return fn.apply(that, arguments);\n };\n};\n\n/***/ }),\n/* 63 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n }\n return it;\n};\n\n/***/ }),\n/* 64 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(65);\nvar entryUnbind = __w_pdfjs_require__(61);\nmodule.exports = entryUnbind('String', 'endsWith');\n\n/***/ }),\n/* 65 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar getOwnPropertyDescriptor = __w_pdfjs_require__(12).f;\nvar toLength = __w_pdfjs_require__(47);\nvar notARegExp = __w_pdfjs_require__(55);\nvar requireObjectCoercible = __w_pdfjs_require__(20);\nvar correctIsRegExpLogic = __w_pdfjs_require__(60);\nvar IS_PURE = __w_pdfjs_require__(37);\nvar nativeEndsWith = ''.endsWith;\nvar min = Math.min;\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('endsWith');\nvar MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n var descriptor = getOwnPropertyDescriptor(String.prototype, 'endsWith');\n return descriptor && !descriptor.writable;\n}();\n$({\n target: 'String',\n proto: true,\n forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC\n}, {\n endsWith: function endsWith(searchString) {\n var that = String(requireObjectCoercible(this));\n notARegExp(searchString);\n var endPosition = arguments.length > 1 ? arguments[1] : undefined;\n var len = toLength(that.length);\n var end = endPosition === undefined ? len : min(toLength(endPosition), len);\n var search = String(searchString);\n return nativeEndsWith ? nativeEndsWith.call(that, search, end) : that.slice(end - search.length, end) === search;\n }\n});\n\n/***/ }),\n/* 66 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(67);\nvar entryUnbind = __w_pdfjs_require__(61);\nmodule.exports = entryUnbind('String', 'includes');\n\n/***/ }),\n/* 67 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar notARegExp = __w_pdfjs_require__(55);\nvar requireObjectCoercible = __w_pdfjs_require__(20);\nvar correctIsRegExpLogic = __w_pdfjs_require__(60);\n$({\n target: 'String',\n proto: true,\n forced: !correctIsRegExpLogic('includes')\n}, {\n includes: function includes(searchString) {\n return !!~String(requireObjectCoercible(this)).indexOf(notARegExp(searchString), arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n/***/ }),\n/* 68 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(69);\nvar entryUnbind = __w_pdfjs_require__(61);\nmodule.exports = entryUnbind('Array', 'includes');\n\n/***/ }),\n/* 69 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar $includes = __w_pdfjs_require__(46).includes;\nvar addToUnscopables = __w_pdfjs_require__(70);\nvar arrayMethodUsesToLength = __w_pdfjs_require__(75);\nvar USES_TO_LENGTH = arrayMethodUsesToLength('indexOf', {\n ACCESSORS: true,\n 1: 0\n});\n$({\n target: 'Array',\n proto: true,\n forced: !USES_TO_LENGTH\n}, {\n includes: function includes(el) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\naddToUnscopables('includes');\n\n/***/ }),\n/* 70 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar create = __w_pdfjs_require__(71);\nvar definePropertyModule = __w_pdfjs_require__(27);\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n\n/***/ }),\n/* 71 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(28);\nvar defineProperties = __w_pdfjs_require__(72);\nvar enumBugKeys = __w_pdfjs_require__(50);\nvar hiddenKeys = __w_pdfjs_require__(39);\nvar html = __w_pdfjs_require__(74);\nvar documentCreateElement = __w_pdfjs_require__(25);\nvar sharedKey = __w_pdfjs_require__(35);\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar EmptyConstructor = function () {\n};\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null;\n return temp;\n};\nvar NullProtoObjectViaIFrame = function () {\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n activeXDocument = document.domain && new ActiveXObject('htmlfile');\n } catch (error) {\n }\n NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();\n var length = enumBugKeys.length;\n while (length--)\n delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\nhiddenKeys[IE_PROTO] = true;\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n result[IE_PROTO] = O;\n } else\n result = NullProtoObject();\n return Properties === undefined ? result : defineProperties(result, Properties);\n};\n\n/***/ }),\n/* 72 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar definePropertyModule = __w_pdfjs_require__(27);\nvar anObject = __w_pdfjs_require__(28);\nvar objectKeys = __w_pdfjs_require__(73);\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index)\n definePropertyModule.f(O, key = keys[index++], Properties[key]);\n return O;\n};\n\n/***/ }),\n/* 73 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar internalObjectKeys = __w_pdfjs_require__(45);\nvar enumBugKeys = __w_pdfjs_require__(50);\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n\n/***/ }),\n/* 74 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar getBuiltIn = __w_pdfjs_require__(42);\nmodule.exports = getBuiltIn('document', 'documentElement');\n\n/***/ }),\n/* 75 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar fails = __w_pdfjs_require__(14);\nvar has = __w_pdfjs_require__(23);\nvar defineProperty = Object.defineProperty;\nvar cache = {};\nvar thrower = function (it) {\n throw it;\n};\nmodule.exports = function (METHOD_NAME, options) {\n if (has(cache, METHOD_NAME))\n return cache[METHOD_NAME];\n if (!options)\n options = {};\n var method = [][METHOD_NAME];\n var ACCESSORS = has(options, 'ACCESSORS') ? options.ACCESSORS : false;\n var argument0 = has(options, 0) ? options[0] : thrower;\n var argument1 = has(options, 1) ? options[1] : undefined;\n return cache[METHOD_NAME] = !!method && !fails(function () {\n if (ACCESSORS && !DESCRIPTORS)\n return true;\n var O = { length: -1 };\n if (ACCESSORS)\n defineProperty(O, 1, {\n enumerable: true,\n get: thrower\n });\n else\n O[1] = 1;\n method.call(O, argument0, argument1);\n });\n};\n\n/***/ }),\n/* 76 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(77);\n__w_pdfjs_require__(89);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Array.from;\n\n/***/ }),\n/* 77 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar charAt = __w_pdfjs_require__(78).charAt;\nvar InternalStateModule = __w_pdfjs_require__(33);\nvar defineIterator = __w_pdfjs_require__(79);\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: String(iterated),\n index: 0\n });\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length)\n return {\n value: undefined,\n done: true\n };\n point = charAt(string, index);\n state.index += point.length;\n return {\n value: point,\n done: false\n };\n});\n\n/***/ }),\n/* 78 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar toInteger = __w_pdfjs_require__(48);\nvar requireObjectCoercible = __w_pdfjs_require__(20);\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = String(requireObjectCoercible($this));\n var position = toInteger(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size)\n return CONVERT_TO_STRING ? '' : undefined;\n first = S.charCodeAt(position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF ? CONVERT_TO_STRING ? S.charAt(position) : first : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\nmodule.exports = {\n codeAt: createMethod(false),\n charAt: createMethod(true)\n};\n\n/***/ }),\n/* 79 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar createIteratorConstructor = __w_pdfjs_require__(80);\nvar getPrototypeOf = __w_pdfjs_require__(82);\nvar setPrototypeOf = __w_pdfjs_require__(87);\nvar setToStringTag = __w_pdfjs_require__(85);\nvar createNonEnumerableProperty = __w_pdfjs_require__(26);\nvar redefine = __w_pdfjs_require__(29);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar IS_PURE = __w_pdfjs_require__(37);\nvar Iterators = __w_pdfjs_require__(86);\nvar IteratorsCore = __w_pdfjs_require__(81);\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\nvar returnThis = function () {\n return this;\n};\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator)\n return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype)\n return IterablePrototype[KIND];\n switch (KIND) {\n case KEYS:\n return function keys() {\n return new IteratorConstructor(this, KIND);\n };\n case VALUES:\n return function values() {\n return new IteratorConstructor(this, KIND);\n };\n case ENTRIES:\n return function entries() {\n return new IteratorConstructor(this, KIND);\n };\n }\n return function () {\n return new IteratorConstructor(this);\n };\n };\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR] || IterablePrototype['@@iterator'] || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') {\n createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE)\n Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() {\n return nativeIterator.call(this);\n };\n }\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n createNonEnumerableProperty(IterablePrototype, ITERATOR, defaultIterator);\n }\n Iterators[NAME] = defaultIterator;\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED)\n for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n redefine(IterablePrototype, KEY, methods[KEY]);\n }\n }\n else\n $({\n target: NAME,\n proto: true,\n forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME\n }, methods);\n }\n return methods;\n};\n\n/***/ }),\n/* 80 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar IteratorPrototype = __w_pdfjs_require__(81).IteratorPrototype;\nvar create = __w_pdfjs_require__(71);\nvar createPropertyDescriptor = __w_pdfjs_require__(16);\nvar setToStringTag = __w_pdfjs_require__(85);\nvar Iterators = __w_pdfjs_require__(86);\nvar returnThis = function () {\n return this;\n};\nmodule.exports = function (IteratorConstructor, NAME, next) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n\n/***/ }),\n/* 81 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar getPrototypeOf = __w_pdfjs_require__(82);\nvar createNonEnumerableProperty = __w_pdfjs_require__(26);\nvar has = __w_pdfjs_require__(23);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar IS_PURE = __w_pdfjs_require__(37);\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\nvar returnThis = function () {\n return this;\n};\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\nif ([].keys) {\n arrayIterator = [].keys();\n if (!('next' in arrayIterator))\n BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype)\n IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\nif (IteratorPrototype == undefined)\n IteratorPrototype = {};\nif (!IS_PURE && !has(IteratorPrototype, ITERATOR)) {\n createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);\n}\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n\n/***/ }),\n/* 82 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar has = __w_pdfjs_require__(23);\nvar toObject = __w_pdfjs_require__(83);\nvar sharedKey = __w_pdfjs_require__(35);\nvar CORRECT_PROTOTYPE_GETTER = __w_pdfjs_require__(84);\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar ObjectPrototype = Object.prototype;\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO))\n return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n }\n return O instanceof Object ? ObjectPrototype : null;\n};\n\n/***/ }),\n/* 83 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar requireObjectCoercible = __w_pdfjs_require__(20);\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n\n/***/ }),\n/* 84 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(14);\nmodule.exports = !fails(function () {\n function F() {\n }\n F.prototype.constructor = null;\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n\n/***/ }),\n/* 85 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineProperty = __w_pdfjs_require__(27).f;\nvar has = __w_pdfjs_require__(23);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nmodule.exports = function (it, TAG, STATIC) {\n if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {\n defineProperty(it, TO_STRING_TAG, {\n configurable: true,\n value: TAG\n });\n }\n};\n\n/***/ }),\n/* 86 */\n/***/ (function(module, exports) {\n\nmodule.exports = {};\n\n/***/ }),\n/* 87 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(28);\nvar aPossiblePrototype = __w_pdfjs_require__(88);\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;\n setter.call(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) {\n }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER)\n setter.call(O, proto);\n else\n O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n\n/***/ }),\n/* 88 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(22);\nmodule.exports = function (it) {\n if (!isObject(it) && it !== null) {\n throw TypeError(\"Can't set \" + String(it) + ' as a prototype');\n }\n return it;\n};\n\n/***/ }),\n/* 89 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\nvar from = __w_pdfjs_require__(90);\nvar checkCorrectnessOfIteration = __w_pdfjs_require__(97);\nvar INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {\n Array.from(iterable);\n});\n$({\n target: 'Array',\n stat: true,\n forced: INCORRECT_ITERATION\n}, { from: from });\n\n/***/ }),\n/* 90 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar bind = __w_pdfjs_require__(62);\nvar toObject = __w_pdfjs_require__(83);\nvar callWithSafeIterationClosing = __w_pdfjs_require__(91);\nvar isArrayIteratorMethod = __w_pdfjs_require__(92);\nvar toLength = __w_pdfjs_require__(47);\nvar createProperty = __w_pdfjs_require__(93);\nvar getIteratorMethod = __w_pdfjs_require__(94);\nmodule.exports = function from(arrayLike) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iteratorMethod = getIteratorMethod(O);\n var index = 0;\n var length, result, step, iterator, next, value;\n if (mapping)\n mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2);\n if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) {\n iterator = iteratorMethod.call(O);\n next = iterator.next;\n result = new C();\n for (; !(step = next.call(iterator)).done; index++) {\n value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [\n step.value,\n index\n ], true) : step.value;\n createProperty(result, index, value);\n }\n } else {\n length = toLength(O.length);\n result = new C(length);\n for (; length > index; index++) {\n value = mapping ? mapfn(O[index], index) : O[index];\n createProperty(result, index, value);\n }\n }\n result.length = index;\n return result;\n};\n\n/***/ }),\n/* 91 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(28);\nmodule.exports = function (iterator, fn, value, ENTRIES) {\n try {\n return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n } catch (error) {\n var returnMethod = iterator['return'];\n if (returnMethod !== undefined)\n anObject(returnMethod.call(iterator));\n throw error;\n }\n};\n\n/***/ }),\n/* 92 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar Iterators = __w_pdfjs_require__(86);\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n\n/***/ }),\n/* 93 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar toPrimitive = __w_pdfjs_require__(21);\nvar definePropertyModule = __w_pdfjs_require__(27);\nvar createPropertyDescriptor = __w_pdfjs_require__(16);\nmodule.exports = function (object, key, value) {\n var propertyKey = toPrimitive(key);\n if (propertyKey in object)\n definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else\n object[propertyKey] = value;\n};\n\n/***/ }),\n/* 94 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar classof = __w_pdfjs_require__(95);\nvar Iterators = __w_pdfjs_require__(86);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar ITERATOR = wellKnownSymbol('iterator');\nmodule.exports = function (it) {\n if (it != undefined)\n return it[ITERATOR] || it['@@iterator'] || Iterators[classof(it)];\n};\n\n/***/ }),\n/* 95 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar TO_STRING_TAG_SUPPORT = __w_pdfjs_require__(96);\nvar classofRaw = __w_pdfjs_require__(19);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar CORRECT_ARGUMENTS = classofRaw(function () {\n return arguments;\n}()) == 'Arguments';\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) {\n }\n};\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null' : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag : CORRECT_ARGUMENTS ? classofRaw(O) : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;\n};\n\n/***/ }),\n/* 96 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\ntest[TO_STRING_TAG] = 'z';\nmodule.exports = String(test) === '[object z]';\n\n/***/ }),\n/* 97 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n Array.from(iteratorWithReturn, function () {\n throw 2;\n });\n} catch (error) {\n}\nmodule.exports = function (exec, SKIP_CLOSING) {\n if (!SKIP_CLOSING && !SAFE_CLOSING)\n return false;\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) {\n }\n return ITERATION_SUPPORT;\n};\n\n/***/ }),\n/* 98 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(99);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Object.assign;\n\n/***/ }),\n/* 99 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\nvar assign = __w_pdfjs_require__(100);\n$({\n target: 'Object',\n stat: true,\n forced: Object.assign !== assign\n}, { assign: assign });\n\n/***/ }),\n/* 100 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar fails = __w_pdfjs_require__(14);\nvar objectKeys = __w_pdfjs_require__(73);\nvar getOwnPropertySymbolsModule = __w_pdfjs_require__(51);\nvar propertyIsEnumerableModule = __w_pdfjs_require__(15);\nvar toObject = __w_pdfjs_require__(83);\nvar IndexedObject = __w_pdfjs_require__(18);\nvar nativeAssign = Object.assign;\nvar defineProperty = Object.defineProperty;\nmodule.exports = !nativeAssign || fails(function () {\n if (DESCRIPTORS && nativeAssign({ b: 1 }, nativeAssign(defineProperty({}, 'a', {\n enumerable: true,\n get: function () {\n defineProperty(this, 'b', {\n value: 3,\n enumerable: false\n });\n }\n }), { b: 2 })).b !== 1)\n return true;\n var A = {};\n var B = {};\n var symbol = Symbol();\n var alphabet = 'abcdefghijklmnopqrst';\n A[symbol] = 7;\n alphabet.split('').forEach(function (chr) {\n B[chr] = chr;\n });\n return nativeAssign({}, A)[symbol] != 7 || objectKeys(nativeAssign({}, B)).join('') != alphabet;\n}) ? function assign(target, source) {\n var T = toObject(target);\n var argumentsLength = arguments.length;\n var index = 1;\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n var propertyIsEnumerable = propertyIsEnumerableModule.f;\n while (argumentsLength > index) {\n var S = IndexedObject(arguments[index++]);\n var keys = getOwnPropertySymbols ? objectKeys(S).concat(getOwnPropertySymbols(S)) : objectKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || propertyIsEnumerable.call(S, key))\n T[key] = S[key];\n }\n }\n return T;\n} : nativeAssign;\n\n/***/ }),\n/* 101 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(102);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Math.log2;\n\n/***/ }),\n/* 102 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\nvar log = Math.log;\nvar LN2 = Math.LN2;\n$({\n target: 'Math',\n stat: true\n}, {\n log2: function log2(x) {\n return log(x) / LN2;\n }\n});\n\n/***/ }),\n/* 103 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(104);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Number.isNaN;\n\n/***/ }),\n/* 104 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\n$({\n target: 'Number',\n stat: true\n}, {\n isNaN: function isNaN(number) {\n return number != number;\n }\n});\n\n/***/ }),\n/* 105 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(106);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Number.isInteger;\n\n/***/ }),\n/* 106 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\nvar isInteger = __w_pdfjs_require__(107);\n$({\n target: 'Number',\n stat: true\n}, { isInteger: isInteger });\n\n/***/ }),\n/* 107 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(22);\nvar floor = Math.floor;\nmodule.exports = function isInteger(it) {\n return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n\n/***/ }),\n/* 108 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(109);\n\n/***/ }),\n/* 109 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar ArrayBufferViewCore = __w_pdfjs_require__(110);\nvar speciesConstructor = __w_pdfjs_require__(112);\nvar fails = __w_pdfjs_require__(14);\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $slice = [].slice;\nvar FORCED = fails(function () {\n new Int8Array(1).slice();\n});\nexportTypedArrayMethod('slice', function slice(start, end) {\n var list = $slice.call(aTypedArray(this), start, end);\n var C = speciesConstructor(this, this.constructor);\n var index = 0;\n var length = list.length;\n var result = new (aTypedArrayConstructor(C))(length);\n while (length > index)\n result[index] = list[index++];\n return result;\n}, FORCED);\n\n/***/ }),\n/* 110 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar NATIVE_ARRAY_BUFFER = __w_pdfjs_require__(111);\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar global = __w_pdfjs_require__(11);\nvar isObject = __w_pdfjs_require__(22);\nvar has = __w_pdfjs_require__(23);\nvar classof = __w_pdfjs_require__(95);\nvar createNonEnumerableProperty = __w_pdfjs_require__(26);\nvar redefine = __w_pdfjs_require__(29);\nvar defineProperty = __w_pdfjs_require__(27).f;\nvar getPrototypeOf = __w_pdfjs_require__(82);\nvar setPrototypeOf = __w_pdfjs_require__(87);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar uid = __w_pdfjs_require__(38);\nvar Int8Array = global.Int8Array;\nvar Int8ArrayPrototype = Int8Array && Int8Array.prototype;\nvar Uint8ClampedArray = global.Uint8ClampedArray;\nvar Uint8ClampedArrayPrototype = Uint8ClampedArray && Uint8ClampedArray.prototype;\nvar TypedArray = Int8Array && getPrototypeOf(Int8Array);\nvar TypedArrayPrototype = Int8ArrayPrototype && getPrototypeOf(Int8ArrayPrototype);\nvar ObjectPrototype = Object.prototype;\nvar isPrototypeOf = ObjectPrototype.isPrototypeOf;\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG');\nvar NATIVE_ARRAY_BUFFER_VIEWS = NATIVE_ARRAY_BUFFER && !!setPrototypeOf && classof(global.opera) !== 'Opera';\nvar TYPED_ARRAY_TAG_REQIRED = false;\nvar NAME;\nvar TypedArrayConstructorsList = {\n Int8Array: 1,\n Uint8Array: 1,\n Uint8ClampedArray: 1,\n Int16Array: 2,\n Uint16Array: 2,\n Int32Array: 4,\n Uint32Array: 4,\n Float32Array: 4,\n Float64Array: 8\n};\nvar isView = function isView(it) {\n var klass = classof(it);\n return klass === 'DataView' || has(TypedArrayConstructorsList, klass);\n};\nvar isTypedArray = function (it) {\n return isObject(it) && has(TypedArrayConstructorsList, classof(it));\n};\nvar aTypedArray = function (it) {\n if (isTypedArray(it))\n return it;\n throw TypeError('Target is not a typed array');\n};\nvar aTypedArrayConstructor = function (C) {\n if (setPrototypeOf) {\n if (isPrototypeOf.call(TypedArray, C))\n return C;\n } else\n for (var ARRAY in TypedArrayConstructorsList)\n if (has(TypedArrayConstructorsList, NAME)) {\n var TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && (C === TypedArrayConstructor || isPrototypeOf.call(TypedArrayConstructor, C))) {\n return C;\n }\n }\n throw TypeError('Target is not a typed array constructor');\n};\nvar exportTypedArrayMethod = function (KEY, property, forced) {\n if (!DESCRIPTORS)\n return;\n if (forced)\n for (var ARRAY in TypedArrayConstructorsList) {\n var TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && has(TypedArrayConstructor.prototype, KEY)) {\n delete TypedArrayConstructor.prototype[KEY];\n }\n }\n if (!TypedArrayPrototype[KEY] || forced) {\n redefine(TypedArrayPrototype, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property);\n }\n};\nvar exportTypedArrayStaticMethod = function (KEY, property, forced) {\n var ARRAY, TypedArrayConstructor;\n if (!DESCRIPTORS)\n return;\n if (setPrototypeOf) {\n if (forced)\n for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && has(TypedArrayConstructor, KEY)) {\n delete TypedArrayConstructor[KEY];\n }\n }\n if (!TypedArray[KEY] || forced) {\n try {\n return redefine(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && Int8Array[KEY] || property);\n } catch (error) {\n }\n } else\n return;\n }\n for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) {\n redefine(TypedArrayConstructor, KEY, property);\n }\n }\n};\nfor (NAME in TypedArrayConstructorsList) {\n if (!global[NAME])\n NATIVE_ARRAY_BUFFER_VIEWS = false;\n}\nif (!NATIVE_ARRAY_BUFFER_VIEWS || typeof TypedArray != 'function' || TypedArray === Function.prototype) {\n TypedArray = function TypedArray() {\n throw TypeError('Incorrect invocation');\n };\n if (NATIVE_ARRAY_BUFFER_VIEWS)\n for (NAME in TypedArrayConstructorsList) {\n if (global[NAME])\n setPrototypeOf(global[NAME], TypedArray);\n }\n}\nif (!NATIVE_ARRAY_BUFFER_VIEWS || !TypedArrayPrototype || TypedArrayPrototype === ObjectPrototype) {\n TypedArrayPrototype = TypedArray.prototype;\n if (NATIVE_ARRAY_BUFFER_VIEWS)\n for (NAME in TypedArrayConstructorsList) {\n if (global[NAME])\n setPrototypeOf(global[NAME].prototype, TypedArrayPrototype);\n }\n}\nif (NATIVE_ARRAY_BUFFER_VIEWS && getPrototypeOf(Uint8ClampedArrayPrototype) !== TypedArrayPrototype) {\n setPrototypeOf(Uint8ClampedArrayPrototype, TypedArrayPrototype);\n}\nif (DESCRIPTORS && !has(TypedArrayPrototype, TO_STRING_TAG)) {\n TYPED_ARRAY_TAG_REQIRED = true;\n defineProperty(TypedArrayPrototype, TO_STRING_TAG, {\n get: function () {\n return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined;\n }\n });\n for (NAME in TypedArrayConstructorsList)\n if (global[NAME]) {\n createNonEnumerableProperty(global[NAME], TYPED_ARRAY_TAG, NAME);\n }\n}\nmodule.exports = {\n NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS,\n TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQIRED && TYPED_ARRAY_TAG,\n aTypedArray: aTypedArray,\n aTypedArrayConstructor: aTypedArrayConstructor,\n exportTypedArrayMethod: exportTypedArrayMethod,\n exportTypedArrayStaticMethod: exportTypedArrayStaticMethod,\n isView: isView,\n isTypedArray: isTypedArray,\n TypedArray: TypedArray,\n TypedArrayPrototype: TypedArrayPrototype\n};\n\n/***/ }),\n/* 111 */\n/***/ (function(module, exports) {\n\nmodule.exports = typeof ArrayBuffer !== 'undefined' && typeof DataView !== 'undefined';\n\n/***/ }),\n/* 112 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(28);\nvar aFunction = __w_pdfjs_require__(63);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar SPECIES = wellKnownSymbol('species');\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);\n};\n\n/***/ }),\n/* 113 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(114);\n__w_pdfjs_require__(77);\n__w_pdfjs_require__(116);\n__w_pdfjs_require__(119);\n__w_pdfjs_require__(134);\n__w_pdfjs_require__(135);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Promise;\n\n/***/ }),\n/* 114 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar TO_STRING_TAG_SUPPORT = __w_pdfjs_require__(96);\nvar redefine = __w_pdfjs_require__(29);\nvar toString = __w_pdfjs_require__(115);\nif (!TO_STRING_TAG_SUPPORT) {\n redefine(Object.prototype, 'toString', toString, { unsafe: true });\n}\n\n/***/ }),\n/* 115 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar TO_STRING_TAG_SUPPORT = __w_pdfjs_require__(96);\nvar classof = __w_pdfjs_require__(95);\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n\n/***/ }),\n/* 116 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar DOMIterables = __w_pdfjs_require__(117);\nvar ArrayIteratorMethods = __w_pdfjs_require__(118);\nvar createNonEnumerableProperty = __w_pdfjs_require__(26);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar ITERATOR = wellKnownSymbol('iterator');\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar ArrayValues = ArrayIteratorMethods.values;\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n if (CollectionPrototype) {\n if (CollectionPrototype[ITERATOR] !== ArrayValues)\n try {\n createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);\n } catch (error) {\n CollectionPrototype[ITERATOR] = ArrayValues;\n }\n if (!CollectionPrototype[TO_STRING_TAG]) {\n createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);\n }\n if (DOMIterables[COLLECTION_NAME])\n for (var METHOD_NAME in ArrayIteratorMethods) {\n if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME])\n try {\n createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\n } catch (error) {\n CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\n }\n }\n }\n}\n\n/***/ }),\n/* 117 */\n/***/ (function(module, exports) {\n\nmodule.exports = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n\n/***/ }),\n/* 118 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar toIndexedObject = __w_pdfjs_require__(17);\nvar addToUnscopables = __w_pdfjs_require__(70);\nvar Iterators = __w_pdfjs_require__(86);\nvar InternalStateModule = __w_pdfjs_require__(33);\nvar defineIterator = __w_pdfjs_require__(79);\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated),\n index: 0,\n kind: kind\n });\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var kind = state.kind;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = undefined;\n return {\n value: undefined,\n done: true\n };\n }\n if (kind == 'keys')\n return {\n value: index,\n done: false\n };\n if (kind == 'values')\n return {\n value: target[index],\n done: false\n };\n return {\n value: [\n index,\n target[index]\n ],\n done: false\n };\n}, 'values');\nIterators.Arguments = Iterators.Array;\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n/***/ }),\n/* 119 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar IS_PURE = __w_pdfjs_require__(37);\nvar global = __w_pdfjs_require__(11);\nvar getBuiltIn = __w_pdfjs_require__(42);\nvar NativePromise = __w_pdfjs_require__(120);\nvar redefine = __w_pdfjs_require__(29);\nvar redefineAll = __w_pdfjs_require__(121);\nvar setToStringTag = __w_pdfjs_require__(85);\nvar setSpecies = __w_pdfjs_require__(122);\nvar isObject = __w_pdfjs_require__(22);\nvar aFunction = __w_pdfjs_require__(63);\nvar anInstance = __w_pdfjs_require__(123);\nvar classof = __w_pdfjs_require__(19);\nvar inspectSource = __w_pdfjs_require__(31);\nvar iterate = __w_pdfjs_require__(124);\nvar checkCorrectnessOfIteration = __w_pdfjs_require__(97);\nvar speciesConstructor = __w_pdfjs_require__(112);\nvar task = __w_pdfjs_require__(125).set;\nvar microtask = __w_pdfjs_require__(128);\nvar promiseResolve = __w_pdfjs_require__(129);\nvar hostReportErrors = __w_pdfjs_require__(131);\nvar newPromiseCapabilityModule = __w_pdfjs_require__(130);\nvar perform = __w_pdfjs_require__(132);\nvar InternalStateModule = __w_pdfjs_require__(33);\nvar isForced = __w_pdfjs_require__(52);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar V8_VERSION = __w_pdfjs_require__(133);\nvar SPECIES = wellKnownSymbol('species');\nvar PROMISE = 'Promise';\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar PromiseConstructor = NativePromise;\nvar TypeError = global.TypeError;\nvar document = global.document;\nvar process = global.process;\nvar $fetch = getBuiltIn('fetch');\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\nvar IS_NODE = classof(process) == 'process';\nvar DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\nvar FORCED = isForced(PROMISE, function () {\n var GLOBAL_CORE_JS_PROMISE = inspectSource(PromiseConstructor) !== String(PromiseConstructor);\n if (!GLOBAL_CORE_JS_PROMISE) {\n if (V8_VERSION === 66)\n return true;\n if (!IS_NODE && typeof PromiseRejectionEvent != 'function')\n return true;\n }\n if (IS_PURE && !PromiseConstructor.prototype['finally'])\n return true;\n if (V8_VERSION >= 51 && /native code/.test(PromiseConstructor))\n return false;\n var promise = PromiseConstructor.resolve(1);\n var FakePromise = function (exec) {\n exec(function () {\n }, function () {\n });\n };\n var constructor = promise.constructor = {};\n constructor[SPECIES] = FakePromise;\n return !(promise.then(function () {\n }) instanceof FakePromise);\n});\nvar INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) {\n PromiseConstructor.all(iterable)['catch'](function () {\n });\n});\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar notify = function (promise, state, isReject) {\n if (state.notified)\n return;\n state.notified = true;\n var chain = state.reactions;\n microtask(function () {\n var value = state.value;\n var ok = state.state == FULFILLED;\n var index = 0;\n while (chain.length > index) {\n var reaction = chain[index++];\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (state.rejection === UNHANDLED)\n onHandleUnhandled(promise, state);\n state.rejection = HANDLED;\n }\n if (handler === true)\n result = value;\n else {\n if (domain)\n domain.enter();\n result = handler(value);\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else\n resolve(result);\n } else\n reject(value);\n } catch (error) {\n if (domain && !exited)\n domain.exit();\n reject(error);\n }\n }\n state.reactions = [];\n state.notified = false;\n if (isReject && !state.rejection)\n onUnhandled(promise, state);\n });\n};\nvar dispatchEvent = function (name, promise, reason) {\n var event, handler;\n if (DISPATCH_EVENT) {\n event = document.createEvent('Event');\n event.promise = promise;\n event.reason = reason;\n event.initEvent(name, false, true);\n global.dispatchEvent(event);\n } else\n event = {\n promise: promise,\n reason: reason\n };\n if (handler = global['on' + name])\n handler(event);\n else if (name === UNHANDLED_REJECTION)\n hostReportErrors('Unhandled promise rejection', reason);\n};\nvar onUnhandled = function (promise, state) {\n task.call(global, function () {\n var value = state.value;\n var IS_UNHANDLED = isUnhandled(state);\n var result;\n if (IS_UNHANDLED) {\n result = perform(function () {\n if (IS_NODE) {\n process.emit('unhandledRejection', value, promise);\n } else\n dispatchEvent(UNHANDLED_REJECTION, promise, value);\n });\n state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;\n if (result.error)\n throw result.value;\n }\n });\n};\nvar isUnhandled = function (state) {\n return state.rejection !== HANDLED && !state.parent;\n};\nvar onHandleUnhandled = function (promise, state) {\n task.call(global, function () {\n if (IS_NODE) {\n process.emit('rejectionHandled', promise);\n } else\n dispatchEvent(REJECTION_HANDLED, promise, state.value);\n });\n};\nvar bind = function (fn, promise, state, unwrap) {\n return function (value) {\n fn(promise, state, value, unwrap);\n };\n};\nvar internalReject = function (promise, state, value, unwrap) {\n if (state.done)\n return;\n state.done = true;\n if (unwrap)\n state = unwrap;\n state.value = value;\n state.state = REJECTED;\n notify(promise, state, true);\n};\nvar internalResolve = function (promise, state, value, unwrap) {\n if (state.done)\n return;\n state.done = true;\n if (unwrap)\n state = unwrap;\n try {\n if (promise === value)\n throw TypeError(\"Promise can't be resolved itself\");\n var then = isThenable(value);\n if (then) {\n microtask(function () {\n var wrapper = { done: false };\n try {\n then.call(value, bind(internalResolve, promise, wrapper, state), bind(internalReject, promise, wrapper, state));\n } catch (error) {\n internalReject(promise, wrapper, error, state);\n }\n });\n } else {\n state.value = value;\n state.state = FULFILLED;\n notify(promise, state, false);\n }\n } catch (error) {\n internalReject(promise, { done: false }, error, state);\n }\n};\nif (FORCED) {\n PromiseConstructor = function Promise(executor) {\n anInstance(this, PromiseConstructor, PROMISE);\n aFunction(executor);\n Internal.call(this);\n var state = getInternalState(this);\n try {\n executor(bind(internalResolve, this, state), bind(internalReject, this, state));\n } catch (error) {\n internalReject(this, state, error);\n }\n };\n Internal = function Promise(executor) {\n setInternalState(this, {\n type: PROMISE,\n done: false,\n notified: false,\n parent: false,\n reactions: [],\n rejection: false,\n state: PENDING,\n value: undefined\n });\n };\n Internal.prototype = redefineAll(PromiseConstructor.prototype, {\n then: function then(onFulfilled, onRejected) {\n var state = getInternalPromiseState(this);\n var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = IS_NODE ? process.domain : undefined;\n state.parent = true;\n state.reactions.push(reaction);\n if (state.state != PENDING)\n notify(this, state, false);\n return reaction.promise;\n },\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n var state = getInternalState(promise);\n this.promise = promise;\n this.resolve = bind(internalResolve, promise, state);\n this.reject = bind(internalReject, promise, state);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === PromiseConstructor || C === PromiseWrapper ? new OwnPromiseCapability(C) : newGenericPromiseCapability(C);\n };\n if (!IS_PURE && typeof NativePromise == 'function') {\n nativeThen = NativePromise.prototype.then;\n redefine(NativePromise.prototype, 'then', function then(onFulfilled, onRejected) {\n var that = this;\n return new PromiseConstructor(function (resolve, reject) {\n nativeThen.call(that, resolve, reject);\n }).then(onFulfilled, onRejected);\n }, { unsafe: true });\n if (typeof $fetch == 'function')\n $({\n global: true,\n enumerable: true,\n forced: true\n }, {\n fetch: function fetch(input) {\n return promiseResolve(PromiseConstructor, $fetch.apply(global, arguments));\n }\n });\n }\n}\n$({\n global: true,\n wrap: true,\n forced: FORCED\n}, { Promise: PromiseConstructor });\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\nPromiseWrapper = getBuiltIn(PROMISE);\n$({\n target: PROMISE,\n stat: true,\n forced: FORCED\n}, {\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n capability.reject.call(undefined, r);\n return capability.promise;\n }\n});\n$({\n target: PROMISE,\n stat: true,\n forced: IS_PURE || FORCED\n}, {\n resolve: function resolve(x) {\n return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x);\n }\n});\n$({\n target: PROMISE,\n stat: true,\n forced: INCORRECT_ITERATION\n}, {\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aFunction(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n $promiseResolve.call(C, promise).then(function (value) {\n if (alreadyCalled)\n return;\n alreadyCalled = true;\n values[index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.error)\n reject(result.value);\n return capability.promise;\n },\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aFunction(C.resolve);\n iterate(iterable, function (promise) {\n $promiseResolve.call(C, promise).then(capability.resolve, reject);\n });\n });\n if (result.error)\n reject(result.value);\n return capability.promise;\n }\n});\n\n/***/ }),\n/* 120 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nmodule.exports = global.Promise;\n\n/***/ }),\n/* 121 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar redefine = __w_pdfjs_require__(29);\nmodule.exports = function (target, src, options) {\n for (var key in src)\n redefine(target, key, src[key], options);\n return target;\n};\n\n/***/ }),\n/* 122 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar getBuiltIn = __w_pdfjs_require__(42);\nvar definePropertyModule = __w_pdfjs_require__(27);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar SPECIES = wellKnownSymbol('species');\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n var defineProperty = definePropertyModule.f;\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineProperty(Constructor, SPECIES, {\n configurable: true,\n get: function () {\n return this;\n }\n });\n }\n};\n\n/***/ }),\n/* 123 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it, Constructor, name) {\n if (!(it instanceof Constructor)) {\n throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');\n }\n return it;\n};\n\n/***/ }),\n/* 124 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(28);\nvar isArrayIteratorMethod = __w_pdfjs_require__(92);\nvar toLength = __w_pdfjs_require__(47);\nvar bind = __w_pdfjs_require__(62);\nvar getIteratorMethod = __w_pdfjs_require__(94);\nvar callWithSafeIterationClosing = __w_pdfjs_require__(91);\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\nvar iterate = module.exports = function (iterable, fn, that, AS_ENTRIES, IS_ITERATOR) {\n var boundFunction = bind(fn, that, AS_ENTRIES ? 2 : 1);\n var iterator, iterFn, index, length, result, next, step;\n if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (typeof iterFn != 'function')\n throw TypeError('Target is not iterable');\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = toLength(iterable.length); length > index; index++) {\n result = AS_ENTRIES ? boundFunction(anObject(step = iterable[index])[0], step[1]) : boundFunction(iterable[index]);\n if (result && result instanceof Result)\n return result;\n }\n return new Result(false);\n }\n iterator = iterFn.call(iterable);\n }\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n result = callWithSafeIterationClosing(iterator, boundFunction, step.value, AS_ENTRIES);\n if (typeof result == 'object' && result && result instanceof Result)\n return result;\n }\n return new Result(false);\n};\niterate.stop = function (result) {\n return new Result(true, result);\n};\n\n/***/ }),\n/* 125 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar fails = __w_pdfjs_require__(14);\nvar classof = __w_pdfjs_require__(19);\nvar bind = __w_pdfjs_require__(62);\nvar html = __w_pdfjs_require__(74);\nvar createElement = __w_pdfjs_require__(25);\nvar IS_IOS = __w_pdfjs_require__(126);\nvar location = global.location;\nvar set = global.setImmediate;\nvar clear = global.clearImmediate;\nvar process = global.process;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\nvar run = function (id) {\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\nvar runner = function (id) {\n return function () {\n run(id);\n };\n};\nvar listener = function (event) {\n run(event.data);\n};\nvar post = function (id) {\n global.postMessage(id + '', location.protocol + '//' + location.host);\n};\nif (!set || !clear) {\n set = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i)\n args.push(arguments[i++]);\n queue[++counter] = function () {\n (typeof fn == 'function' ? fn : Function(fn)).apply(undefined, args);\n };\n defer(counter);\n return counter;\n };\n clear = function clearImmediate(id) {\n delete queue[id];\n };\n if (classof(process) == 'process') {\n defer = function (id) {\n process.nextTick(runner(id));\n };\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(runner(id));\n };\n } else if (MessageChannel && !IS_IOS) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = bind(port.postMessage, port, 1);\n } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts && !fails(post) && location.protocol !== 'file:') {\n defer = post;\n global.addEventListener('message', listener, false);\n } else if (ONREADYSTATECHANGE in createElement('script')) {\n defer = function (id) {\n html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run(id);\n };\n };\n } else {\n defer = function (id) {\n setTimeout(runner(id), 0);\n };\n }\n}\nmodule.exports = {\n set: set,\n clear: clear\n};\n\n/***/ }),\n/* 126 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar userAgent = __w_pdfjs_require__(127);\nmodule.exports = /(iphone|ipod|ipad).*applewebkit/i.test(userAgent);\n\n/***/ }),\n/* 127 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar getBuiltIn = __w_pdfjs_require__(42);\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n\n/***/ }),\n/* 128 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar getOwnPropertyDescriptor = __w_pdfjs_require__(12).f;\nvar classof = __w_pdfjs_require__(19);\nvar macrotask = __w_pdfjs_require__(125).set;\nvar IS_IOS = __w_pdfjs_require__(126);\nvar MutationObserver = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar IS_NODE = classof(process) == 'process';\nvar queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');\nvar queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;\nvar flush, head, last, notify, toggle, node, promise, then;\nif (!queueMicrotask) {\n flush = function () {\n var parent, fn;\n if (IS_NODE && (parent = process.domain))\n parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (error) {\n if (head)\n notify();\n else\n last = undefined;\n throw error;\n }\n }\n last = undefined;\n if (parent)\n parent.enter();\n };\n if (IS_NODE) {\n notify = function () {\n process.nextTick(flush);\n };\n } else if (MutationObserver && !IS_IOS) {\n toggle = true;\n node = document.createTextNode('');\n new MutationObserver(flush).observe(node, { characterData: true });\n notify = function () {\n node.data = toggle = !toggle;\n };\n } else if (Promise && Promise.resolve) {\n promise = Promise.resolve(undefined);\n then = promise.then;\n notify = function () {\n then.call(promise, flush);\n };\n } else {\n notify = function () {\n macrotask.call(global, flush);\n };\n }\n}\nmodule.exports = queueMicrotask || function (fn) {\n var task = {\n fn: fn,\n next: undefined\n };\n if (last)\n last.next = task;\n if (!head) {\n head = task;\n notify();\n }\n last = task;\n};\n\n/***/ }),\n/* 129 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(28);\nvar isObject = __w_pdfjs_require__(22);\nvar newPromiseCapability = __w_pdfjs_require__(130);\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C)\n return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n\n/***/ }),\n/* 130 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar aFunction = __w_pdfjs_require__(63);\nvar PromiseCapability = function (C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined)\n throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n};\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n\n/***/ }),\n/* 131 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nmodule.exports = function (a, b) {\n var console = global.console;\n if (console && console.error) {\n arguments.length === 1 ? console.error(a) : console.error(a, b);\n }\n};\n\n/***/ }),\n/* 132 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (exec) {\n try {\n return {\n error: false,\n value: exec()\n };\n } catch (error) {\n return {\n error: true,\n value: error\n };\n }\n};\n\n/***/ }),\n/* 133 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar userAgent = __w_pdfjs_require__(127);\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8;\nvar match, version;\nif (v8) {\n match = v8.split('.');\n version = match[0] + match[1];\n} else if (userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match)\n version = match[1];\n }\n}\nmodule.exports = version && +version;\n\n/***/ }),\n/* 134 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar aFunction = __w_pdfjs_require__(63);\nvar newPromiseCapabilityModule = __w_pdfjs_require__(130);\nvar perform = __w_pdfjs_require__(132);\nvar iterate = __w_pdfjs_require__(124);\n$({\n target: 'Promise',\n stat: true\n}, {\n allSettled: function allSettled(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var promiseResolve = aFunction(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n promiseResolve.call(C, promise).then(function (value) {\n if (alreadyCalled)\n return;\n alreadyCalled = true;\n values[index] = {\n status: 'fulfilled',\n value: value\n };\n --remaining || resolve(values);\n }, function (e) {\n if (alreadyCalled)\n return;\n alreadyCalled = true;\n values[index] = {\n status: 'rejected',\n reason: e\n };\n --remaining || resolve(values);\n });\n });\n --remaining || resolve(values);\n });\n if (result.error)\n reject(result.value);\n return capability.promise;\n }\n});\n\n/***/ }),\n/* 135 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar IS_PURE = __w_pdfjs_require__(37);\nvar NativePromise = __w_pdfjs_require__(120);\nvar fails = __w_pdfjs_require__(14);\nvar getBuiltIn = __w_pdfjs_require__(42);\nvar speciesConstructor = __w_pdfjs_require__(112);\nvar promiseResolve = __w_pdfjs_require__(129);\nvar redefine = __w_pdfjs_require__(29);\nvar NON_GENERIC = !!NativePromise && fails(function () {\n NativePromise.prototype['finally'].call({\n then: function () {\n }\n }, function () {\n });\n});\n$({\n target: 'Promise',\n proto: true,\n real: true,\n forced: NON_GENERIC\n}, {\n 'finally': function (onFinally) {\n var C = speciesConstructor(this, getBuiltIn('Promise'));\n var isFunction = typeof onFinally == 'function';\n return this.then(isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () {\n return x;\n });\n } : onFinally, isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () {\n throw e;\n });\n } : onFinally);\n }\n});\nif (!IS_PURE && typeof NativePromise == 'function' && !NativePromise.prototype['finally']) {\n redefine(NativePromise.prototype, 'finally', getBuiltIn('Promise').prototype['finally']);\n}\n\n/***/ }),\n/* 136 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(137);\n__w_pdfjs_require__(142);\n__w_pdfjs_require__(140);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.URL;\n\n/***/ }),\n/* 137 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n__w_pdfjs_require__(77);\nvar $ = __w_pdfjs_require__(10);\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar USE_NATIVE_URL = __w_pdfjs_require__(138);\nvar global = __w_pdfjs_require__(11);\nvar defineProperties = __w_pdfjs_require__(72);\nvar redefine = __w_pdfjs_require__(29);\nvar anInstance = __w_pdfjs_require__(123);\nvar has = __w_pdfjs_require__(23);\nvar assign = __w_pdfjs_require__(100);\nvar arrayFrom = __w_pdfjs_require__(90);\nvar codeAt = __w_pdfjs_require__(78).codeAt;\nvar toASCII = __w_pdfjs_require__(139);\nvar setToStringTag = __w_pdfjs_require__(85);\nvar URLSearchParamsModule = __w_pdfjs_require__(140);\nvar InternalStateModule = __w_pdfjs_require__(33);\nvar NativeURL = global.URL;\nvar URLSearchParams = URLSearchParamsModule.URLSearchParams;\nvar getInternalSearchParamsState = URLSearchParamsModule.getState;\nvar setInternalState = InternalStateModule.set;\nvar getInternalURLState = InternalStateModule.getterFor('URL');\nvar floor = Math.floor;\nvar pow = Math.pow;\nvar INVALID_AUTHORITY = 'Invalid authority';\nvar INVALID_SCHEME = 'Invalid scheme';\nvar INVALID_HOST = 'Invalid host';\nvar INVALID_PORT = 'Invalid port';\nvar ALPHA = /[A-Za-z]/;\nvar ALPHANUMERIC = /[\\d+-.A-Za-z]/;\nvar DIGIT = /\\d/;\nvar HEX_START = /^(0x|0X)/;\nvar OCT = /^[0-7]+$/;\nvar DEC = /^\\d+$/;\nvar HEX = /^[\\dA-Fa-f]+$/;\nvar FORBIDDEN_HOST_CODE_POINT = /[\\u0000\\u0009\\u000A\\u000D #%/:?@[\\\\]]/;\nvar FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\\u0000\\u0009\\u000A\\u000D #/:?@[\\\\]]/;\nvar LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE = /^[\\u0000-\\u001F ]+|[\\u0000-\\u001F ]+$/g;\nvar TAB_AND_NEW_LINE = /[\\u0009\\u000A\\u000D]/g;\nvar EOF;\nvar parseHost = function (url, input) {\n var result, codePoints, index;\n if (input.charAt(0) == '[') {\n if (input.charAt(input.length - 1) != ']')\n return INVALID_HOST;\n result = parseIPv6(input.slice(1, -1));\n if (!result)\n return INVALID_HOST;\n url.host = result;\n } else if (!isSpecial(url)) {\n if (FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT.test(input))\n return INVALID_HOST;\n result = '';\n codePoints = arrayFrom(input);\n for (index = 0; index < codePoints.length; index++) {\n result += percentEncode(codePoints[index], C0ControlPercentEncodeSet);\n }\n url.host = result;\n } else {\n input = toASCII(input);\n if (FORBIDDEN_HOST_CODE_POINT.test(input))\n return INVALID_HOST;\n result = parseIPv4(input);\n if (result === null)\n return INVALID_HOST;\n url.host = result;\n }\n};\nvar parseIPv4 = function (input) {\n var parts = input.split('.');\n var partsLength, numbers, index, part, radix, number, ipv4;\n if (parts.length && parts[parts.length - 1] == '') {\n parts.pop();\n }\n partsLength = parts.length;\n if (partsLength > 4)\n return input;\n numbers = [];\n for (index = 0; index < partsLength; index++) {\n part = parts[index];\n if (part == '')\n return input;\n radix = 10;\n if (part.length > 1 && part.charAt(0) == '0') {\n radix = HEX_START.test(part) ? 16 : 8;\n part = part.slice(radix == 8 ? 1 : 2);\n }\n if (part === '') {\n number = 0;\n } else {\n if (!(radix == 10 ? DEC : radix == 8 ? OCT : HEX).test(part))\n return input;\n number = parseInt(part, radix);\n }\n numbers.push(number);\n }\n for (index = 0; index < partsLength; index++) {\n number = numbers[index];\n if (index == partsLength - 1) {\n if (number >= pow(256, 5 - partsLength))\n return null;\n } else if (number > 255)\n return null;\n }\n ipv4 = numbers.pop();\n for (index = 0; index < numbers.length; index++) {\n ipv4 += numbers[index] * pow(256, 3 - index);\n }\n return ipv4;\n};\nvar parseIPv6 = function (input) {\n var address = [\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0\n ];\n var pieceIndex = 0;\n var compress = null;\n var pointer = 0;\n var value, length, numbersSeen, ipv4Piece, number, swaps, swap;\n var char = function () {\n return input.charAt(pointer);\n };\n if (char() == ':') {\n if (input.charAt(1) != ':')\n return;\n pointer += 2;\n pieceIndex++;\n compress = pieceIndex;\n }\n while (char()) {\n if (pieceIndex == 8)\n return;\n if (char() == ':') {\n if (compress !== null)\n return;\n pointer++;\n pieceIndex++;\n compress = pieceIndex;\n continue;\n }\n value = length = 0;\n while (length < 4 && HEX.test(char())) {\n value = value * 16 + parseInt(char(), 16);\n pointer++;\n length++;\n }\n if (char() == '.') {\n if (length == 0)\n return;\n pointer -= length;\n if (pieceIndex > 6)\n return;\n numbersSeen = 0;\n while (char()) {\n ipv4Piece = null;\n if (numbersSeen > 0) {\n if (char() == '.' && numbersSeen < 4)\n pointer++;\n else\n return;\n }\n if (!DIGIT.test(char()))\n return;\n while (DIGIT.test(char())) {\n number = parseInt(char(), 10);\n if (ipv4Piece === null)\n ipv4Piece = number;\n else if (ipv4Piece == 0)\n return;\n else\n ipv4Piece = ipv4Piece * 10 + number;\n if (ipv4Piece > 255)\n return;\n pointer++;\n }\n address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece;\n numbersSeen++;\n if (numbersSeen == 2 || numbersSeen == 4)\n pieceIndex++;\n }\n if (numbersSeen != 4)\n return;\n break;\n } else if (char() == ':') {\n pointer++;\n if (!char())\n return;\n } else if (char())\n return;\n address[pieceIndex++] = value;\n }\n if (compress !== null) {\n swaps = pieceIndex - compress;\n pieceIndex = 7;\n while (pieceIndex != 0 && swaps > 0) {\n swap = address[pieceIndex];\n address[pieceIndex--] = address[compress + swaps - 1];\n address[compress + --swaps] = swap;\n }\n } else if (pieceIndex != 8)\n return;\n return address;\n};\nvar findLongestZeroSequence = function (ipv6) {\n var maxIndex = null;\n var maxLength = 1;\n var currStart = null;\n var currLength = 0;\n var index = 0;\n for (; index < 8; index++) {\n if (ipv6[index] !== 0) {\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n currStart = null;\n currLength = 0;\n } else {\n if (currStart === null)\n currStart = index;\n ++currLength;\n }\n }\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n return maxIndex;\n};\nvar serializeHost = function (host) {\n var result, index, compress, ignore0;\n if (typeof host == 'number') {\n result = [];\n for (index = 0; index < 4; index++) {\n result.unshift(host % 256);\n host = floor(host / 256);\n }\n return result.join('.');\n } else if (typeof host == 'object') {\n result = '';\n compress = findLongestZeroSequence(host);\n for (index = 0; index < 8; index++) {\n if (ignore0 && host[index] === 0)\n continue;\n if (ignore0)\n ignore0 = false;\n if (compress === index) {\n result += index ? ':' : '::';\n ignore0 = true;\n } else {\n result += host[index].toString(16);\n if (index < 7)\n result += ':';\n }\n }\n return '[' + result + ']';\n }\n return host;\n};\nvar C0ControlPercentEncodeSet = {};\nvar fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, {\n ' ': 1,\n '\"': 1,\n '<': 1,\n '>': 1,\n '`': 1\n});\nvar pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, {\n '#': 1,\n '?': 1,\n '{': 1,\n '}': 1\n});\nvar userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, {\n '/': 1,\n ':': 1,\n ';': 1,\n '=': 1,\n '@': 1,\n '[': 1,\n '\\\\': 1,\n ']': 1,\n '^': 1,\n '|': 1\n});\nvar percentEncode = function (char, set) {\n var code = codeAt(char, 0);\n return code > 0x20 && code < 0x7F && !has(set, char) ? char : encodeURIComponent(char);\n};\nvar specialSchemes = {\n ftp: 21,\n file: null,\n http: 80,\n https: 443,\n ws: 80,\n wss: 443\n};\nvar isSpecial = function (url) {\n return has(specialSchemes, url.scheme);\n};\nvar includesCredentials = function (url) {\n return url.username != '' || url.password != '';\n};\nvar cannotHaveUsernamePasswordPort = function (url) {\n return !url.host || url.cannotBeABaseURL || url.scheme == 'file';\n};\nvar isWindowsDriveLetter = function (string, normalized) {\n var second;\n return string.length == 2 && ALPHA.test(string.charAt(0)) && ((second = string.charAt(1)) == ':' || !normalized && second == '|');\n};\nvar startsWithWindowsDriveLetter = function (string) {\n var third;\n return string.length > 1 && isWindowsDriveLetter(string.slice(0, 2)) && (string.length == 2 || ((third = string.charAt(2)) === '/' || third === '\\\\' || third === '?' || third === '#'));\n};\nvar shortenURLsPath = function (url) {\n var path = url.path;\n var pathSize = path.length;\n if (pathSize && (url.scheme != 'file' || pathSize != 1 || !isWindowsDriveLetter(path[0], true))) {\n path.pop();\n }\n};\nvar isSingleDot = function (segment) {\n return segment === '.' || segment.toLowerCase() === '%2e';\n};\nvar isDoubleDot = function (segment) {\n segment = segment.toLowerCase();\n return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e';\n};\nvar SCHEME_START = {};\nvar SCHEME = {};\nvar NO_SCHEME = {};\nvar SPECIAL_RELATIVE_OR_AUTHORITY = {};\nvar PATH_OR_AUTHORITY = {};\nvar RELATIVE = {};\nvar RELATIVE_SLASH = {};\nvar SPECIAL_AUTHORITY_SLASHES = {};\nvar SPECIAL_AUTHORITY_IGNORE_SLASHES = {};\nvar AUTHORITY = {};\nvar HOST = {};\nvar HOSTNAME = {};\nvar PORT = {};\nvar FILE = {};\nvar FILE_SLASH = {};\nvar FILE_HOST = {};\nvar PATH_START = {};\nvar PATH = {};\nvar CANNOT_BE_A_BASE_URL_PATH = {};\nvar QUERY = {};\nvar FRAGMENT = {};\nvar parseURL = function (url, input, stateOverride, base) {\n var state = stateOverride || SCHEME_START;\n var pointer = 0;\n var buffer = '';\n var seenAt = false;\n var seenBracket = false;\n var seenPasswordToken = false;\n var codePoints, char, bufferCodePoints, failure;\n if (!stateOverride) {\n url.scheme = '';\n url.username = '';\n url.password = '';\n url.host = null;\n url.port = null;\n url.path = [];\n url.query = null;\n url.fragment = null;\n url.cannotBeABaseURL = false;\n input = input.replace(LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE, '');\n }\n input = input.replace(TAB_AND_NEW_LINE, '');\n codePoints = arrayFrom(input);\n while (pointer <= codePoints.length) {\n char = codePoints[pointer];\n switch (state) {\n case SCHEME_START:\n if (char && ALPHA.test(char)) {\n buffer += char.toLowerCase();\n state = SCHEME;\n } else if (!stateOverride) {\n state = NO_SCHEME;\n continue;\n } else\n return INVALID_SCHEME;\n break;\n case SCHEME:\n if (char && (ALPHANUMERIC.test(char) || char == '+' || char == '-' || char == '.')) {\n buffer += char.toLowerCase();\n } else if (char == ':') {\n if (stateOverride && (isSpecial(url) != has(specialSchemes, buffer) || buffer == 'file' && (includesCredentials(url) || url.port !== null) || url.scheme == 'file' && !url.host))\n return;\n url.scheme = buffer;\n if (stateOverride) {\n if (isSpecial(url) && specialSchemes[url.scheme] == url.port)\n url.port = null;\n return;\n }\n buffer = '';\n if (url.scheme == 'file') {\n state = FILE;\n } else if (isSpecial(url) && base && base.scheme == url.scheme) {\n state = SPECIAL_RELATIVE_OR_AUTHORITY;\n } else if (isSpecial(url)) {\n state = SPECIAL_AUTHORITY_SLASHES;\n } else if (codePoints[pointer + 1] == '/') {\n state = PATH_OR_AUTHORITY;\n pointer++;\n } else {\n url.cannotBeABaseURL = true;\n url.path.push('');\n state = CANNOT_BE_A_BASE_URL_PATH;\n }\n } else if (!stateOverride) {\n buffer = '';\n state = NO_SCHEME;\n pointer = 0;\n continue;\n } else\n return INVALID_SCHEME;\n break;\n case NO_SCHEME:\n if (!base || base.cannotBeABaseURL && char != '#')\n return INVALID_SCHEME;\n if (base.cannotBeABaseURL && char == '#') {\n url.scheme = base.scheme;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n url.cannotBeABaseURL = true;\n state = FRAGMENT;\n break;\n }\n state = base.scheme == 'file' ? FILE : RELATIVE;\n continue;\n case SPECIAL_RELATIVE_OR_AUTHORITY:\n if (char == '/' && codePoints[pointer + 1] == '/') {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n pointer++;\n } else {\n state = RELATIVE;\n continue;\n }\n break;\n case PATH_OR_AUTHORITY:\n if (char == '/') {\n state = AUTHORITY;\n break;\n } else {\n state = PATH;\n continue;\n }\n case RELATIVE:\n url.scheme = base.scheme;\n if (char == EOF) {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = base.query;\n } else if (char == '/' || char == '\\\\' && isSpecial(url)) {\n state = RELATIVE_SLASH;\n } else if (char == '?') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.path.pop();\n state = PATH;\n continue;\n }\n break;\n case RELATIVE_SLASH:\n if (isSpecial(url) && (char == '/' || char == '\\\\')) {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n } else if (char == '/') {\n state = AUTHORITY;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n state = PATH;\n continue;\n }\n break;\n case SPECIAL_AUTHORITY_SLASHES:\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n if (char != '/' || buffer.charAt(pointer + 1) != '/')\n continue;\n pointer++;\n break;\n case SPECIAL_AUTHORITY_IGNORE_SLASHES:\n if (char != '/' && char != '\\\\') {\n state = AUTHORITY;\n continue;\n }\n break;\n case AUTHORITY:\n if (char == '@') {\n if (seenAt)\n buffer = '%40' + buffer;\n seenAt = true;\n bufferCodePoints = arrayFrom(buffer);\n for (var i = 0; i < bufferCodePoints.length; i++) {\n var codePoint = bufferCodePoints[i];\n if (codePoint == ':' && !seenPasswordToken) {\n seenPasswordToken = true;\n continue;\n }\n var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet);\n if (seenPasswordToken)\n url.password += encodedCodePoints;\n else\n url.username += encodedCodePoints;\n }\n buffer = '';\n } else if (char == EOF || char == '/' || char == '?' || char == '#' || char == '\\\\' && isSpecial(url)) {\n if (seenAt && buffer == '')\n return INVALID_AUTHORITY;\n pointer -= arrayFrom(buffer).length + 1;\n buffer = '';\n state = HOST;\n } else\n buffer += char;\n break;\n case HOST:\n case HOSTNAME:\n if (stateOverride && url.scheme == 'file') {\n state = FILE_HOST;\n continue;\n } else if (char == ':' && !seenBracket) {\n if (buffer == '')\n return INVALID_HOST;\n failure = parseHost(url, buffer);\n if (failure)\n return failure;\n buffer = '';\n state = PORT;\n if (stateOverride == HOSTNAME)\n return;\n } else if (char == EOF || char == '/' || char == '?' || char == '#' || char == '\\\\' && isSpecial(url)) {\n if (isSpecial(url) && buffer == '')\n return INVALID_HOST;\n if (stateOverride && buffer == '' && (includesCredentials(url) || url.port !== null))\n return;\n failure = parseHost(url, buffer);\n if (failure)\n return failure;\n buffer = '';\n state = PATH_START;\n if (stateOverride)\n return;\n continue;\n } else {\n if (char == '[')\n seenBracket = true;\n else if (char == ']')\n seenBracket = false;\n buffer += char;\n }\n break;\n case PORT:\n if (DIGIT.test(char)) {\n buffer += char;\n } else if (char == EOF || char == '/' || char == '?' || char == '#' || char == '\\\\' && isSpecial(url) || stateOverride) {\n if (buffer != '') {\n var port = parseInt(buffer, 10);\n if (port > 0xFFFF)\n return INVALID_PORT;\n url.port = isSpecial(url) && port === specialSchemes[url.scheme] ? null : port;\n buffer = '';\n }\n if (stateOverride)\n return;\n state = PATH_START;\n continue;\n } else\n return INVALID_PORT;\n break;\n case FILE:\n url.scheme = 'file';\n if (char == '/' || char == '\\\\')\n state = FILE_SLASH;\n else if (base && base.scheme == 'file') {\n if (char == EOF) {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = base.query;\n } else if (char == '?') {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n if (!startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {\n url.host = base.host;\n url.path = base.path.slice();\n shortenURLsPath(url);\n }\n state = PATH;\n continue;\n }\n } else {\n state = PATH;\n continue;\n }\n break;\n case FILE_SLASH:\n if (char == '/' || char == '\\\\') {\n state = FILE_HOST;\n break;\n }\n if (base && base.scheme == 'file' && !startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {\n if (isWindowsDriveLetter(base.path[0], true))\n url.path.push(base.path[0]);\n else\n url.host = base.host;\n }\n state = PATH;\n continue;\n case FILE_HOST:\n if (char == EOF || char == '/' || char == '\\\\' || char == '?' || char == '#') {\n if (!stateOverride && isWindowsDriveLetter(buffer)) {\n state = PATH;\n } else if (buffer == '') {\n url.host = '';\n if (stateOverride)\n return;\n state = PATH_START;\n } else {\n failure = parseHost(url, buffer);\n if (failure)\n return failure;\n if (url.host == 'localhost')\n url.host = '';\n if (stateOverride)\n return;\n buffer = '';\n state = PATH_START;\n }\n continue;\n } else\n buffer += char;\n break;\n case PATH_START:\n if (isSpecial(url)) {\n state = PATH;\n if (char != '/' && char != '\\\\')\n continue;\n } else if (!stateOverride && char == '?') {\n url.query = '';\n state = QUERY;\n } else if (!stateOverride && char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n state = PATH;\n if (char != '/')\n continue;\n }\n break;\n case PATH:\n if (char == EOF || char == '/' || char == '\\\\' && isSpecial(url) || !stateOverride && (char == '?' || char == '#')) {\n if (isDoubleDot(buffer)) {\n shortenURLsPath(url);\n if (char != '/' && !(char == '\\\\' && isSpecial(url))) {\n url.path.push('');\n }\n } else if (isSingleDot(buffer)) {\n if (char != '/' && !(char == '\\\\' && isSpecial(url))) {\n url.path.push('');\n }\n } else {\n if (url.scheme == 'file' && !url.path.length && isWindowsDriveLetter(buffer)) {\n if (url.host)\n url.host = '';\n buffer = buffer.charAt(0) + ':';\n }\n url.path.push(buffer);\n }\n buffer = '';\n if (url.scheme == 'file' && (char == EOF || char == '?' || char == '#')) {\n while (url.path.length > 1 && url.path[0] === '') {\n url.path.shift();\n }\n }\n if (char == '?') {\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n }\n } else {\n buffer += percentEncode(char, pathPercentEncodeSet);\n }\n break;\n case CANNOT_BE_A_BASE_URL_PATH:\n if (char == '?') {\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n url.path[0] += percentEncode(char, C0ControlPercentEncodeSet);\n }\n break;\n case QUERY:\n if (!stateOverride && char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n if (char == \"'\" && isSpecial(url))\n url.query += '%27';\n else if (char == '#')\n url.query += '%23';\n else\n url.query += percentEncode(char, C0ControlPercentEncodeSet);\n }\n break;\n case FRAGMENT:\n if (char != EOF)\n url.fragment += percentEncode(char, fragmentPercentEncodeSet);\n break;\n }\n pointer++;\n }\n};\nvar URLConstructor = function URL(url) {\n var that = anInstance(this, URLConstructor, 'URL');\n var base = arguments.length > 1 ? arguments[1] : undefined;\n var urlString = String(url);\n var state = setInternalState(that, { type: 'URL' });\n var baseState, failure;\n if (base !== undefined) {\n if (base instanceof URLConstructor)\n baseState = getInternalURLState(base);\n else {\n failure = parseURL(baseState = {}, String(base));\n if (failure)\n throw TypeError(failure);\n }\n }\n failure = parseURL(state, urlString, null, baseState);\n if (failure)\n throw TypeError(failure);\n var searchParams = state.searchParams = new URLSearchParams();\n var searchParamsState = getInternalSearchParamsState(searchParams);\n searchParamsState.updateSearchParams(state.query);\n searchParamsState.updateURL = function () {\n state.query = String(searchParams) || null;\n };\n if (!DESCRIPTORS) {\n that.href = serializeURL.call(that);\n that.origin = getOrigin.call(that);\n that.protocol = getProtocol.call(that);\n that.username = getUsername.call(that);\n that.password = getPassword.call(that);\n that.host = getHost.call(that);\n that.hostname = getHostname.call(that);\n that.port = getPort.call(that);\n that.pathname = getPathname.call(that);\n that.search = getSearch.call(that);\n that.searchParams = getSearchParams.call(that);\n that.hash = getHash.call(that);\n }\n};\nvar URLPrototype = URLConstructor.prototype;\nvar serializeURL = function () {\n var url = getInternalURLState(this);\n var scheme = url.scheme;\n var username = url.username;\n var password = url.password;\n var host = url.host;\n var port = url.port;\n var path = url.path;\n var query = url.query;\n var fragment = url.fragment;\n var output = scheme + ':';\n if (host !== null) {\n output += '//';\n if (includesCredentials(url)) {\n output += username + (password ? ':' + password : '') + '@';\n }\n output += serializeHost(host);\n if (port !== null)\n output += ':' + port;\n } else if (scheme == 'file')\n output += '//';\n output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';\n if (query !== null)\n output += '?' + query;\n if (fragment !== null)\n output += '#' + fragment;\n return output;\n};\nvar getOrigin = function () {\n var url = getInternalURLState(this);\n var scheme = url.scheme;\n var port = url.port;\n if (scheme == 'blob')\n try {\n return new URL(scheme.path[0]).origin;\n } catch (error) {\n return 'null';\n }\n if (scheme == 'file' || !isSpecial(url))\n return 'null';\n return scheme + '://' + serializeHost(url.host) + (port !== null ? ':' + port : '');\n};\nvar getProtocol = function () {\n return getInternalURLState(this).scheme + ':';\n};\nvar getUsername = function () {\n return getInternalURLState(this).username;\n};\nvar getPassword = function () {\n return getInternalURLState(this).password;\n};\nvar getHost = function () {\n var url = getInternalURLState(this);\n var host = url.host;\n var port = url.port;\n return host === null ? '' : port === null ? serializeHost(host) : serializeHost(host) + ':' + port;\n};\nvar getHostname = function () {\n var host = getInternalURLState(this).host;\n return host === null ? '' : serializeHost(host);\n};\nvar getPort = function () {\n var port = getInternalURLState(this).port;\n return port === null ? '' : String(port);\n};\nvar getPathname = function () {\n var url = getInternalURLState(this);\n var path = url.path;\n return url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';\n};\nvar getSearch = function () {\n var query = getInternalURLState(this).query;\n return query ? '?' + query : '';\n};\nvar getSearchParams = function () {\n return getInternalURLState(this).searchParams;\n};\nvar getHash = function () {\n var fragment = getInternalURLState(this).fragment;\n return fragment ? '#' + fragment : '';\n};\nvar accessorDescriptor = function (getter, setter) {\n return {\n get: getter,\n set: setter,\n configurable: true,\n enumerable: true\n };\n};\nif (DESCRIPTORS) {\n defineProperties(URLPrototype, {\n href: accessorDescriptor(serializeURL, function (href) {\n var url = getInternalURLState(this);\n var urlString = String(href);\n var failure = parseURL(url, urlString);\n if (failure)\n throw TypeError(failure);\n getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);\n }),\n origin: accessorDescriptor(getOrigin),\n protocol: accessorDescriptor(getProtocol, function (protocol) {\n var url = getInternalURLState(this);\n parseURL(url, String(protocol) + ':', SCHEME_START);\n }),\n username: accessorDescriptor(getUsername, function (username) {\n var url = getInternalURLState(this);\n var codePoints = arrayFrom(String(username));\n if (cannotHaveUsernamePasswordPort(url))\n return;\n url.username = '';\n for (var i = 0; i < codePoints.length; i++) {\n url.username += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n }),\n password: accessorDescriptor(getPassword, function (password) {\n var url = getInternalURLState(this);\n var codePoints = arrayFrom(String(password));\n if (cannotHaveUsernamePasswordPort(url))\n return;\n url.password = '';\n for (var i = 0; i < codePoints.length; i++) {\n url.password += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n }),\n host: accessorDescriptor(getHost, function (host) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL)\n return;\n parseURL(url, String(host), HOST);\n }),\n hostname: accessorDescriptor(getHostname, function (hostname) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL)\n return;\n parseURL(url, String(hostname), HOSTNAME);\n }),\n port: accessorDescriptor(getPort, function (port) {\n var url = getInternalURLState(this);\n if (cannotHaveUsernamePasswordPort(url))\n return;\n port = String(port);\n if (port == '')\n url.port = null;\n else\n parseURL(url, port, PORT);\n }),\n pathname: accessorDescriptor(getPathname, function (pathname) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL)\n return;\n url.path = [];\n parseURL(url, pathname + '', PATH_START);\n }),\n search: accessorDescriptor(getSearch, function (search) {\n var url = getInternalURLState(this);\n search = String(search);\n if (search == '') {\n url.query = null;\n } else {\n if ('?' == search.charAt(0))\n search = search.slice(1);\n url.query = '';\n parseURL(url, search, QUERY);\n }\n getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);\n }),\n searchParams: accessorDescriptor(getSearchParams),\n hash: accessorDescriptor(getHash, function (hash) {\n var url = getInternalURLState(this);\n hash = String(hash);\n if (hash == '') {\n url.fragment = null;\n return;\n }\n if ('#' == hash.charAt(0))\n hash = hash.slice(1);\n url.fragment = '';\n parseURL(url, hash, FRAGMENT);\n })\n });\n}\nredefine(URLPrototype, 'toJSON', function toJSON() {\n return serializeURL.call(this);\n}, { enumerable: true });\nredefine(URLPrototype, 'toString', function toString() {\n return serializeURL.call(this);\n}, { enumerable: true });\nif (NativeURL) {\n var nativeCreateObjectURL = NativeURL.createObjectURL;\n var nativeRevokeObjectURL = NativeURL.revokeObjectURL;\n if (nativeCreateObjectURL)\n redefine(URLConstructor, 'createObjectURL', function createObjectURL(blob) {\n return nativeCreateObjectURL.apply(NativeURL, arguments);\n });\n if (nativeRevokeObjectURL)\n redefine(URLConstructor, 'revokeObjectURL', function revokeObjectURL(url) {\n return nativeRevokeObjectURL.apply(NativeURL, arguments);\n });\n}\nsetToStringTag(URLConstructor, 'URL');\n$({\n global: true,\n forced: !USE_NATIVE_URL,\n sham: !DESCRIPTORS\n}, { URL: URLConstructor });\n\n/***/ }),\n/* 138 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(14);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar IS_PURE = __w_pdfjs_require__(37);\nvar ITERATOR = wellKnownSymbol('iterator');\nmodule.exports = !fails(function () {\n var url = new URL('b?a=1&b=2&c=3', 'http://a');\n var searchParams = url.searchParams;\n var result = '';\n url.pathname = 'c%20d';\n searchParams.forEach(function (value, key) {\n searchParams['delete']('b');\n result += key + value;\n });\n return IS_PURE && !url.toJSON || !searchParams.sort || url.href !== 'http://a/c%20d?a=1&c=3' || searchParams.get('c') !== '3' || String(new URLSearchParams('?a=1')) !== 'a=1' || !searchParams[ITERATOR] || new URL('https://a@b').username !== 'a' || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b' || new URL('http://тест').host !== 'xn--e1aybc' || new URL('http://a#б').hash !== '#%D0%B1' || result !== 'a1c3' || new URL('http://x', undefined).host !== 'x';\n});\n\n/***/ }),\n/* 139 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar maxInt = 2147483647;\nvar base = 36;\nvar tMin = 1;\nvar tMax = 26;\nvar skew = 38;\nvar damp = 700;\nvar initialBias = 72;\nvar initialN = 128;\nvar delimiter = '-';\nvar regexNonASCII = /[^\\0-\\u007E]/;\nvar regexSeparators = /[.\\u3002\\uFF0E\\uFF61]/g;\nvar OVERFLOW_ERROR = 'Overflow: input needs wider integers to process';\nvar baseMinusTMin = base - tMin;\nvar floor = Math.floor;\nvar stringFromCharCode = String.fromCharCode;\nvar ucs2decode = function (string) {\n var output = [];\n var counter = 0;\n var length = string.length;\n while (counter < length) {\n var value = string.charCodeAt(counter++);\n if (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n var extra = string.charCodeAt(counter++);\n if ((extra & 0xFC00) == 0xDC00) {\n output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n } else {\n output.push(value);\n counter--;\n }\n } else {\n output.push(value);\n }\n }\n return output;\n};\nvar digitToBasic = function (digit) {\n return digit + 22 + 75 * (digit < 26);\n};\nvar adapt = function (delta, numPoints, firstTime) {\n var k = 0;\n delta = firstTime ? floor(delta / damp) : delta >> 1;\n delta += floor(delta / numPoints);\n for (; delta > baseMinusTMin * tMax >> 1; k += base) {\n delta = floor(delta / baseMinusTMin);\n }\n return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n};\nvar encode = function (input) {\n var output = [];\n input = ucs2decode(input);\n var inputLength = input.length;\n var n = initialN;\n var delta = 0;\n var bias = initialBias;\n var i, currentValue;\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < 0x80) {\n output.push(stringFromCharCode(currentValue));\n }\n }\n var basicLength = output.length;\n var handledCPCount = basicLength;\n if (basicLength) {\n output.push(delimiter);\n }\n while (handledCPCount < inputLength) {\n var m = maxInt;\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue >= n && currentValue < m) {\n m = currentValue;\n }\n }\n var handledCPCountPlusOne = handledCPCount + 1;\n if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n throw RangeError(OVERFLOW_ERROR);\n }\n delta += (m - n) * handledCPCountPlusOne;\n n = m;\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < n && ++delta > maxInt) {\n throw RangeError(OVERFLOW_ERROR);\n }\n if (currentValue == n) {\n var q = delta;\n for (var k = base;; k += base) {\n var t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias;\n if (q < t)\n break;\n var qMinusT = q - t;\n var baseMinusT = base - t;\n output.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT)));\n q = floor(qMinusT / baseMinusT);\n }\n output.push(stringFromCharCode(digitToBasic(q)));\n bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n delta = 0;\n ++handledCPCount;\n }\n }\n ++delta;\n ++n;\n }\n return output.join('');\n};\nmodule.exports = function (input) {\n var encoded = [];\n var labels = input.toLowerCase().replace(regexSeparators, '\\u002E').split('.');\n var i, label;\n for (i = 0; i < labels.length; i++) {\n label = labels[i];\n encoded.push(regexNonASCII.test(label) ? 'xn--' + encode(label) : label);\n }\n return encoded.join('.');\n};\n\n/***/ }),\n/* 140 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n__w_pdfjs_require__(118);\nvar $ = __w_pdfjs_require__(10);\nvar getBuiltIn = __w_pdfjs_require__(42);\nvar USE_NATIVE_URL = __w_pdfjs_require__(138);\nvar redefine = __w_pdfjs_require__(29);\nvar redefineAll = __w_pdfjs_require__(121);\nvar setToStringTag = __w_pdfjs_require__(85);\nvar createIteratorConstructor = __w_pdfjs_require__(80);\nvar InternalStateModule = __w_pdfjs_require__(33);\nvar anInstance = __w_pdfjs_require__(123);\nvar hasOwn = __w_pdfjs_require__(23);\nvar bind = __w_pdfjs_require__(62);\nvar classof = __w_pdfjs_require__(95);\nvar anObject = __w_pdfjs_require__(28);\nvar isObject = __w_pdfjs_require__(22);\nvar create = __w_pdfjs_require__(71);\nvar createPropertyDescriptor = __w_pdfjs_require__(16);\nvar getIterator = __w_pdfjs_require__(141);\nvar getIteratorMethod = __w_pdfjs_require__(94);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar $fetch = getBuiltIn('fetch');\nvar Headers = getBuiltIn('Headers');\nvar ITERATOR = wellKnownSymbol('iterator');\nvar URL_SEARCH_PARAMS = 'URLSearchParams';\nvar URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS);\nvar getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR);\nvar plus = /\\+/g;\nvar sequences = Array(4);\nvar percentSequence = function (bytes) {\n return sequences[bytes - 1] || (sequences[bytes - 1] = RegExp('((?:%[\\\\da-f]{2}){' + bytes + '})', 'gi'));\n};\nvar percentDecode = function (sequence) {\n try {\n return decodeURIComponent(sequence);\n } catch (error) {\n return sequence;\n }\n};\nvar deserialize = function (it) {\n var result = it.replace(plus, ' ');\n var bytes = 4;\n try {\n return decodeURIComponent(result);\n } catch (error) {\n while (bytes) {\n result = result.replace(percentSequence(bytes--), percentDecode);\n }\n return result;\n }\n};\nvar find = /[!'()~]|%20/g;\nvar replace = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+'\n};\nvar replacer = function (match) {\n return replace[match];\n};\nvar serialize = function (it) {\n return encodeURIComponent(it).replace(find, replacer);\n};\nvar parseSearchParams = function (result, query) {\n if (query) {\n var attributes = query.split('&');\n var index = 0;\n var attribute, entry;\n while (index < attributes.length) {\n attribute = attributes[index++];\n if (attribute.length) {\n entry = attribute.split('=');\n result.push({\n key: deserialize(entry.shift()),\n value: deserialize(entry.join('='))\n });\n }\n }\n }\n};\nvar updateSearchParams = function (query) {\n this.entries.length = 0;\n parseSearchParams(this.entries, query);\n};\nvar validateArgumentsLength = function (passed, required) {\n if (passed < required)\n throw TypeError('Not enough arguments');\n};\nvar URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) {\n setInternalState(this, {\n type: URL_SEARCH_PARAMS_ITERATOR,\n iterator: getIterator(getInternalParamsState(params).entries),\n kind: kind\n });\n}, 'Iterator', function next() {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var step = state.iterator.next();\n var entry = step.value;\n if (!step.done) {\n step.value = kind === 'keys' ? entry.key : kind === 'values' ? entry.value : [\n entry.key,\n entry.value\n ];\n }\n return step;\n});\nvar URLSearchParamsConstructor = function URLSearchParams() {\n anInstance(this, URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n var init = arguments.length > 0 ? arguments[0] : undefined;\n var that = this;\n var entries = [];\n var iteratorMethod, iterator, next, step, entryIterator, entryNext, first, second, key;\n setInternalState(that, {\n type: URL_SEARCH_PARAMS,\n entries: entries,\n updateURL: function () {\n },\n updateSearchParams: updateSearchParams\n });\n if (init !== undefined) {\n if (isObject(init)) {\n iteratorMethod = getIteratorMethod(init);\n if (typeof iteratorMethod === 'function') {\n iterator = iteratorMethod.call(init);\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n entryIterator = getIterator(anObject(step.value));\n entryNext = entryIterator.next;\n if ((first = entryNext.call(entryIterator)).done || (second = entryNext.call(entryIterator)).done || !entryNext.call(entryIterator).done)\n throw TypeError('Expected sequence with length 2');\n entries.push({\n key: first.value + '',\n value: second.value + ''\n });\n }\n } else\n for (key in init)\n if (hasOwn(init, key))\n entries.push({\n key: key,\n value: init[key] + ''\n });\n } else {\n parseSearchParams(entries, typeof init === 'string' ? init.charAt(0) === '?' ? init.slice(1) : init : init + '');\n }\n }\n};\nvar URLSearchParamsPrototype = URLSearchParamsConstructor.prototype;\nredefineAll(URLSearchParamsPrototype, {\n append: function append(name, value) {\n validateArgumentsLength(arguments.length, 2);\n var state = getInternalParamsState(this);\n state.entries.push({\n key: name + '',\n value: value + ''\n });\n state.updateURL();\n },\n 'delete': function (name) {\n validateArgumentsLength(arguments.length, 1);\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var key = name + '';\n var index = 0;\n while (index < entries.length) {\n if (entries[index].key === key)\n entries.splice(index, 1);\n else\n index++;\n }\n state.updateURL();\n },\n get: function get(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key)\n return entries[index].value;\n }\n return null;\n },\n getAll: function getAll(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var result = [];\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key)\n result.push(entries[index].value);\n }\n return result;\n },\n has: function has(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var index = 0;\n while (index < entries.length) {\n if (entries[index++].key === key)\n return true;\n }\n return false;\n },\n set: function set(name, value) {\n validateArgumentsLength(arguments.length, 1);\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var found = false;\n var key = name + '';\n var val = value + '';\n var index = 0;\n var entry;\n for (; index < entries.length; index++) {\n entry = entries[index];\n if (entry.key === key) {\n if (found)\n entries.splice(index--, 1);\n else {\n found = true;\n entry.value = val;\n }\n }\n }\n if (!found)\n entries.push({\n key: key,\n value: val\n });\n state.updateURL();\n },\n sort: function sort() {\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var slice = entries.slice();\n var entry, entriesIndex, sliceIndex;\n entries.length = 0;\n for (sliceIndex = 0; sliceIndex < slice.length; sliceIndex++) {\n entry = slice[sliceIndex];\n for (entriesIndex = 0; entriesIndex < sliceIndex; entriesIndex++) {\n if (entries[entriesIndex].key > entry.key) {\n entries.splice(entriesIndex, 0, entry);\n break;\n }\n }\n if (entriesIndex === sliceIndex)\n entries.push(entry);\n }\n state.updateURL();\n },\n forEach: function forEach(callback) {\n var entries = getInternalParamsState(this).entries;\n var boundFunction = bind(callback, arguments.length > 1 ? arguments[1] : undefined, 3);\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n boundFunction(entry.value, entry.key, this);\n }\n },\n keys: function keys() {\n return new URLSearchParamsIterator(this, 'keys');\n },\n values: function values() {\n return new URLSearchParamsIterator(this, 'values');\n },\n entries: function entries() {\n return new URLSearchParamsIterator(this, 'entries');\n }\n}, { enumerable: true });\nredefine(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries);\nredefine(URLSearchParamsPrototype, 'toString', function toString() {\n var entries = getInternalParamsState(this).entries;\n var result = [];\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n result.push(serialize(entry.key) + '=' + serialize(entry.value));\n }\n return result.join('&');\n}, { enumerable: true });\nsetToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n$({\n global: true,\n forced: !USE_NATIVE_URL\n}, { URLSearchParams: URLSearchParamsConstructor });\nif (!USE_NATIVE_URL && typeof $fetch == 'function' && typeof Headers == 'function') {\n $({\n global: true,\n enumerable: true,\n forced: true\n }, {\n fetch: function fetch(input) {\n var args = [input];\n var init, body, headers;\n if (arguments.length > 1) {\n init = arguments[1];\n if (isObject(init)) {\n body = init.body;\n if (classof(body) === URL_SEARCH_PARAMS) {\n headers = init.headers ? new Headers(init.headers) : new Headers();\n if (!headers.has('content-type')) {\n headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n init = create(init, {\n body: createPropertyDescriptor(0, String(body)),\n headers: createPropertyDescriptor(0, headers)\n });\n }\n }\n args.push(init);\n }\n return $fetch.apply(this, args);\n }\n });\n}\nmodule.exports = {\n URLSearchParams: URLSearchParamsConstructor,\n getState: getInternalParamsState\n};\n\n/***/ }),\n/* 141 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(28);\nvar getIteratorMethod = __w_pdfjs_require__(94);\nmodule.exports = function (it) {\n var iteratorMethod = getIteratorMethod(it);\n if (typeof iteratorMethod != 'function') {\n throw TypeError(String(it) + ' is not iterable');\n }\n return anObject(iteratorMethod.call(it));\n};\n\n/***/ }),\n/* 142 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\n$({\n target: 'URL',\n proto: true,\n enumerable: true\n}, {\n toJSON: function toJSON() {\n return URL.prototype.toString.call(this);\n }\n});\n\n/***/ }),\n/* 143 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n(function (global, factory) {\n true ? factory(exports) : undefined;\n}(this, function (exports) {\n 'use strict';\n var SymbolPolyfill = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? Symbol : function (description) {\n return \"Symbol(\" + description + \")\";\n };\n function noop() {\n }\n var NumberIsNaN = Number.isNaN || function (x) {\n return x !== x;\n };\n var rethrowAssertionErrorRejection = noop;\n function typeIsObject(x) {\n return typeof x === 'object' && x !== null || typeof x === 'function';\n }\n function createArrayFromList(elements) {\n return elements.slice();\n }\n function ArrayBufferCopy(dest, destOffset, src, srcOffset, n) {\n new Uint8Array(dest).set(new Uint8Array(src, srcOffset, n), destOffset);\n }\n function IsFiniteNonNegativeNumber(v) {\n if (IsNonNegativeNumber(v) === false) {\n return false;\n }\n if (v === Infinity) {\n return false;\n }\n return true;\n }\n function IsNonNegativeNumber(v) {\n if (typeof v !== 'number') {\n return false;\n }\n if (NumberIsNaN(v)) {\n return false;\n }\n if (v < 0) {\n return false;\n }\n return true;\n }\n function Call(F, V, args) {\n if (typeof F !== 'function') {\n throw new TypeError('Argument is not a function');\n }\n return Function.prototype.apply.call(F, V, args);\n }\n function CreateAlgorithmFromUnderlyingMethod(underlyingObject, methodName, algoArgCount, extraArgs) {\n var method = underlyingObject[methodName];\n if (method !== undefined) {\n if (typeof method !== 'function') {\n throw new TypeError(method + \" is not a method\");\n }\n switch (algoArgCount) {\n case 0: {\n return function () {\n return PromiseCall(method, underlyingObject, extraArgs);\n };\n }\n case 1: {\n return function (arg) {\n var fullArgs = [arg].concat(extraArgs);\n return PromiseCall(method, underlyingObject, fullArgs);\n };\n }\n }\n }\n return function () {\n return promiseResolvedWith(undefined);\n };\n }\n function InvokeOrNoop(O, P, args) {\n var method = O[P];\n if (method === undefined) {\n return undefined;\n }\n return Call(method, O, args);\n }\n function PromiseCall(F, V, args) {\n try {\n return promiseResolvedWith(Call(F, V, args));\n } catch (value) {\n return promiseRejectedWith(value);\n }\n }\n function TransferArrayBuffer(O) {\n return O;\n }\n function IsDetachedBuffer(O) {\n return false;\n }\n function ValidateAndNormalizeHighWaterMark(highWaterMark) {\n highWaterMark = Number(highWaterMark);\n if (NumberIsNaN(highWaterMark) || highWaterMark < 0) {\n throw new RangeError('highWaterMark property of a queuing strategy must be non-negative and non-NaN');\n }\n return highWaterMark;\n }\n function MakeSizeAlgorithmFromSizeFunction(size) {\n if (size === undefined) {\n return function () {\n return 1;\n };\n }\n if (typeof size !== 'function') {\n throw new TypeError('size property of a queuing strategy must be a function');\n }\n return function (chunk) {\n return size(chunk);\n };\n }\n var originalPromise = Promise;\n var originalPromiseThen = Promise.prototype.then;\n var originalPromiseResolve = Promise.resolve.bind(originalPromise);\n var originalPromiseReject = Promise.reject.bind(originalPromise);\n function newPromise(executor) {\n return new originalPromise(executor);\n }\n function promiseResolvedWith(value) {\n return originalPromiseResolve(value);\n }\n function promiseRejectedWith(reason) {\n return originalPromiseReject(reason);\n }\n function PerformPromiseThen(promise, onFulfilled, onRejected) {\n return originalPromiseThen.call(promise, onFulfilled, onRejected);\n }\n function uponPromise(promise, onFulfilled, onRejected) {\n PerformPromiseThen(PerformPromiseThen(promise, onFulfilled, onRejected), undefined, rethrowAssertionErrorRejection);\n }\n function uponFulfillment(promise, onFulfilled) {\n uponPromise(promise, onFulfilled);\n }\n function uponRejection(promise, onRejected) {\n uponPromise(promise, undefined, onRejected);\n }\n function transformPromiseWith(promise, fulfillmentHandler, rejectionHandler) {\n return PerformPromiseThen(promise, fulfillmentHandler, rejectionHandler);\n }\n function setPromiseIsHandledToTrue(promise) {\n PerformPromiseThen(promise, undefined, rethrowAssertionErrorRejection);\n }\n var QUEUE_MAX_ARRAY_SIZE = 16384;\n var SimpleQueue = function () {\n function SimpleQueue() {\n this._cursor = 0;\n this._size = 0;\n this._front = {\n _elements: [],\n _next: undefined\n };\n this._back = this._front;\n this._cursor = 0;\n this._size = 0;\n }\n Object.defineProperty(SimpleQueue.prototype, \"length\", {\n get: function () {\n return this._size;\n },\n enumerable: true,\n configurable: true\n });\n SimpleQueue.prototype.push = function (element) {\n var oldBack = this._back;\n var newBack = oldBack;\n if (oldBack._elements.length === QUEUE_MAX_ARRAY_SIZE - 1) {\n newBack = {\n _elements: [],\n _next: undefined\n };\n }\n oldBack._elements.push(element);\n if (newBack !== oldBack) {\n this._back = newBack;\n oldBack._next = newBack;\n }\n ++this._size;\n };\n SimpleQueue.prototype.shift = function () {\n var oldFront = this._front;\n var newFront = oldFront;\n var oldCursor = this._cursor;\n var newCursor = oldCursor + 1;\n var elements = oldFront._elements;\n var element = elements[oldCursor];\n if (newCursor === QUEUE_MAX_ARRAY_SIZE) {\n newFront = oldFront._next;\n newCursor = 0;\n }\n --this._size;\n this._cursor = newCursor;\n if (oldFront !== newFront) {\n this._front = newFront;\n }\n elements[oldCursor] = undefined;\n return element;\n };\n SimpleQueue.prototype.forEach = function (callback) {\n var i = this._cursor;\n var node = this._front;\n var elements = node._elements;\n while (i !== elements.length || node._next !== undefined) {\n if (i === elements.length) {\n node = node._next;\n elements = node._elements;\n i = 0;\n if (elements.length === 0) {\n break;\n }\n }\n callback(elements[i]);\n ++i;\n }\n };\n SimpleQueue.prototype.peek = function () {\n var front = this._front;\n var cursor = this._cursor;\n return front._elements[cursor];\n };\n return SimpleQueue;\n }();\n function ReadableStreamCreateReadResult(value, done, forAuthorCode) {\n var prototype = null;\n if (forAuthorCode === true) {\n prototype = Object.prototype;\n }\n var obj = Object.create(prototype);\n obj.value = value;\n obj.done = done;\n return obj;\n }\n function ReadableStreamReaderGenericInitialize(reader, stream) {\n reader._forAuthorCode = true;\n reader._ownerReadableStream = stream;\n stream._reader = reader;\n if (stream._state === 'readable') {\n defaultReaderClosedPromiseInitialize(reader);\n } else if (stream._state === 'closed') {\n defaultReaderClosedPromiseInitializeAsResolved(reader);\n } else {\n defaultReaderClosedPromiseInitializeAsRejected(reader, stream._storedError);\n }\n }\n function ReadableStreamReaderGenericCancel(reader, reason) {\n var stream = reader._ownerReadableStream;\n return ReadableStreamCancel(stream, reason);\n }\n function ReadableStreamReaderGenericRelease(reader) {\n if (reader._ownerReadableStream._state === 'readable') {\n defaultReaderClosedPromiseReject(reader, new TypeError('Reader was released and can no longer be used to monitor the stream\\'s closedness'));\n } else {\n defaultReaderClosedPromiseResetToRejected(reader, new TypeError('Reader was released and can no longer be used to monitor the stream\\'s closedness'));\n }\n reader._ownerReadableStream._reader = undefined;\n reader._ownerReadableStream = undefined;\n }\n function readerLockException(name) {\n return new TypeError('Cannot ' + name + ' a stream using a released reader');\n }\n function defaultReaderClosedPromiseInitialize(reader) {\n reader._closedPromise = newPromise(function (resolve, reject) {\n reader._closedPromise_resolve = resolve;\n reader._closedPromise_reject = reject;\n });\n }\n function defaultReaderClosedPromiseInitializeAsRejected(reader, reason) {\n defaultReaderClosedPromiseInitialize(reader);\n defaultReaderClosedPromiseReject(reader, reason);\n }\n function defaultReaderClosedPromiseInitializeAsResolved(reader) {\n defaultReaderClosedPromiseInitialize(reader);\n defaultReaderClosedPromiseResolve(reader);\n }\n function defaultReaderClosedPromiseReject(reader, reason) {\n setPromiseIsHandledToTrue(reader._closedPromise);\n reader._closedPromise_reject(reason);\n reader._closedPromise_resolve = undefined;\n reader._closedPromise_reject = undefined;\n }\n function defaultReaderClosedPromiseResetToRejected(reader, reason) {\n defaultReaderClosedPromiseInitializeAsRejected(reader, reason);\n }\n function defaultReaderClosedPromiseResolve(reader) {\n reader._closedPromise_resolve(undefined);\n reader._closedPromise_resolve = undefined;\n reader._closedPromise_reject = undefined;\n }\n var CancelSteps = SymbolPolyfill('[[CancelSteps]]');\n var PullSteps = SymbolPolyfill('[[PullSteps]]');\n function AcquireReadableStreamDefaultReader(stream, forAuthorCode) {\n if (forAuthorCode === void 0) {\n forAuthorCode = false;\n }\n var reader = new ReadableStreamDefaultReader(stream);\n reader._forAuthorCode = forAuthorCode;\n return reader;\n }\n function ReadableStreamAddReadRequest(stream) {\n var promise = newPromise(function (resolve, reject) {\n var readRequest = {\n _resolve: resolve,\n _reject: reject\n };\n stream._reader._readRequests.push(readRequest);\n });\n return promise;\n }\n function ReadableStreamFulfillReadRequest(stream, chunk, done) {\n var reader = stream._reader;\n var readRequest = reader._readRequests.shift();\n readRequest._resolve(ReadableStreamCreateReadResult(chunk, done, reader._forAuthorCode));\n }\n function ReadableStreamGetNumReadRequests(stream) {\n return stream._reader._readRequests.length;\n }\n function ReadableStreamHasDefaultReader(stream) {\n var reader = stream._reader;\n if (reader === undefined) {\n return false;\n }\n if (!IsReadableStreamDefaultReader(reader)) {\n return false;\n }\n return true;\n }\n var ReadableStreamDefaultReader = function () {\n function ReadableStreamDefaultReader(stream) {\n if (IsReadableStream(stream) === false) {\n throw new TypeError('ReadableStreamDefaultReader can only be constructed with a ReadableStream instance');\n }\n if (IsReadableStreamLocked(stream) === true) {\n throw new TypeError('This stream has already been locked for exclusive reading by another reader');\n }\n ReadableStreamReaderGenericInitialize(this, stream);\n this._readRequests = new SimpleQueue();\n }\n Object.defineProperty(ReadableStreamDefaultReader.prototype, \"closed\", {\n get: function () {\n if (!IsReadableStreamDefaultReader(this)) {\n return promiseRejectedWith(defaultReaderBrandCheckException('closed'));\n }\n return this._closedPromise;\n },\n enumerable: true,\n configurable: true\n });\n ReadableStreamDefaultReader.prototype.cancel = function (reason) {\n if (!IsReadableStreamDefaultReader(this)) {\n return promiseRejectedWith(defaultReaderBrandCheckException('cancel'));\n }\n if (this._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('cancel'));\n }\n return ReadableStreamReaderGenericCancel(this, reason);\n };\n ReadableStreamDefaultReader.prototype.read = function () {\n if (!IsReadableStreamDefaultReader(this)) {\n return promiseRejectedWith(defaultReaderBrandCheckException('read'));\n }\n if (this._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('read from'));\n }\n return ReadableStreamDefaultReaderRead(this);\n };\n ReadableStreamDefaultReader.prototype.releaseLock = function () {\n if (!IsReadableStreamDefaultReader(this)) {\n throw defaultReaderBrandCheckException('releaseLock');\n }\n if (this._ownerReadableStream === undefined) {\n return;\n }\n if (this._readRequests.length > 0) {\n throw new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled');\n }\n ReadableStreamReaderGenericRelease(this);\n };\n return ReadableStreamDefaultReader;\n }();\n function IsReadableStreamDefaultReader(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_readRequests')) {\n return false;\n }\n return true;\n }\n function ReadableStreamDefaultReaderRead(reader) {\n var stream = reader._ownerReadableStream;\n stream._disturbed = true;\n if (stream._state === 'closed') {\n return promiseResolvedWith(ReadableStreamCreateReadResult(undefined, true, reader._forAuthorCode));\n }\n if (stream._state === 'errored') {\n return promiseRejectedWith(stream._storedError);\n }\n return stream._readableStreamController[PullSteps]();\n }\n function defaultReaderBrandCheckException(name) {\n return new TypeError(\"ReadableStreamDefaultReader.prototype.\" + name + \" can only be used on a ReadableStreamDefaultReader\");\n }\n var _a;\n var AsyncIteratorPrototype;\n if (typeof SymbolPolyfill.asyncIterator === 'symbol') {\n AsyncIteratorPrototype = (_a = {}, _a[SymbolPolyfill.asyncIterator] = function () {\n return this;\n }, _a);\n Object.defineProperty(AsyncIteratorPrototype, SymbolPolyfill.asyncIterator, { enumerable: false });\n }\n var ReadableStreamAsyncIteratorPrototype = {\n next: function () {\n if (IsReadableStreamAsyncIterator(this) === false) {\n return promiseRejectedWith(streamAsyncIteratorBrandCheckException('next'));\n }\n var reader = this._asyncIteratorReader;\n if (reader._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('iterate'));\n }\n return transformPromiseWith(ReadableStreamDefaultReaderRead(reader), function (result) {\n var done = result.done;\n if (done) {\n ReadableStreamReaderGenericRelease(reader);\n }\n var value = result.value;\n return ReadableStreamCreateReadResult(value, done, true);\n });\n },\n return: function (value) {\n if (IsReadableStreamAsyncIterator(this) === false) {\n return promiseRejectedWith(streamAsyncIteratorBrandCheckException('next'));\n }\n var reader = this._asyncIteratorReader;\n if (reader._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('finish iterating'));\n }\n if (reader._readRequests.length > 0) {\n return promiseRejectedWith(new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled'));\n }\n if (this._preventCancel === false) {\n var result = ReadableStreamReaderGenericCancel(reader, value);\n ReadableStreamReaderGenericRelease(reader);\n return transformPromiseWith(result, function () {\n return ReadableStreamCreateReadResult(value, true, true);\n });\n }\n ReadableStreamReaderGenericRelease(reader);\n return promiseResolvedWith(ReadableStreamCreateReadResult(value, true, true));\n }\n };\n if (AsyncIteratorPrototype !== undefined) {\n Object.setPrototypeOf(ReadableStreamAsyncIteratorPrototype, AsyncIteratorPrototype);\n }\n Object.defineProperty(ReadableStreamAsyncIteratorPrototype, 'next', { enumerable: false });\n Object.defineProperty(ReadableStreamAsyncIteratorPrototype, 'return', { enumerable: false });\n function AcquireReadableStreamAsyncIterator(stream, preventCancel) {\n if (preventCancel === void 0) {\n preventCancel = false;\n }\n var reader = AcquireReadableStreamDefaultReader(stream);\n var iterator = Object.create(ReadableStreamAsyncIteratorPrototype);\n iterator._asyncIteratorReader = reader;\n iterator._preventCancel = Boolean(preventCancel);\n return iterator;\n }\n function IsReadableStreamAsyncIterator(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_asyncIteratorReader')) {\n return false;\n }\n return true;\n }\n function streamAsyncIteratorBrandCheckException(name) {\n return new TypeError(\"ReadableStreamAsyncIterator.\" + name + \" can only be used on a ReadableSteamAsyncIterator\");\n }\n function DequeueValue(container) {\n var pair = container._queue.shift();\n container._queueTotalSize -= pair.size;\n if (container._queueTotalSize < 0) {\n container._queueTotalSize = 0;\n }\n return pair.value;\n }\n function EnqueueValueWithSize(container, value, size) {\n size = Number(size);\n if (!IsFiniteNonNegativeNumber(size)) {\n throw new RangeError('Size must be a finite, non-NaN, non-negative number.');\n }\n container._queue.push({\n value: value,\n size: size\n });\n container._queueTotalSize += size;\n }\n function PeekQueueValue(container) {\n var pair = container._queue.peek();\n return pair.value;\n }\n function ResetQueue(container) {\n container._queue = new SimpleQueue();\n container._queueTotalSize = 0;\n }\n var AbortSteps = SymbolPolyfill('[[AbortSteps]]');\n var ErrorSteps = SymbolPolyfill('[[ErrorSteps]]');\n var WritableStream = function () {\n function WritableStream(underlyingSink, strategy) {\n if (underlyingSink === void 0) {\n underlyingSink = {};\n }\n if (strategy === void 0) {\n strategy = {};\n }\n InitializeWritableStream(this);\n var size = strategy.size;\n var highWaterMark = strategy.highWaterMark;\n var type = underlyingSink.type;\n if (type !== undefined) {\n throw new RangeError('Invalid type is specified');\n }\n var sizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(size);\n if (highWaterMark === undefined) {\n highWaterMark = 1;\n }\n highWaterMark = ValidateAndNormalizeHighWaterMark(highWaterMark);\n SetUpWritableStreamDefaultControllerFromUnderlyingSink(this, underlyingSink, highWaterMark, sizeAlgorithm);\n }\n Object.defineProperty(WritableStream.prototype, \"locked\", {\n get: function () {\n if (IsWritableStream(this) === false) {\n throw streamBrandCheckException('locked');\n }\n return IsWritableStreamLocked(this);\n },\n enumerable: true,\n configurable: true\n });\n WritableStream.prototype.abort = function (reason) {\n if (IsWritableStream(this) === false) {\n return promiseRejectedWith(streamBrandCheckException('abort'));\n }\n if (IsWritableStreamLocked(this) === true) {\n return promiseRejectedWith(new TypeError('Cannot abort a stream that already has a writer'));\n }\n return WritableStreamAbort(this, reason);\n };\n WritableStream.prototype.close = function () {\n if (IsWritableStream(this) === false) {\n return promiseRejectedWith(streamBrandCheckException('close'));\n }\n if (IsWritableStreamLocked(this) === true) {\n return promiseRejectedWith(new TypeError('Cannot close a stream that already has a writer'));\n }\n if (WritableStreamCloseQueuedOrInFlight(this) === true) {\n return promiseRejectedWith(new TypeError('Cannot close an already-closing stream'));\n }\n return WritableStreamClose(this);\n };\n WritableStream.prototype.getWriter = function () {\n if (IsWritableStream(this) === false) {\n throw streamBrandCheckException('getWriter');\n }\n return AcquireWritableStreamDefaultWriter(this);\n };\n return WritableStream;\n }();\n function AcquireWritableStreamDefaultWriter(stream) {\n return new WritableStreamDefaultWriter(stream);\n }\n function CreateWritableStream(startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm) {\n if (highWaterMark === void 0) {\n highWaterMark = 1;\n }\n if (sizeAlgorithm === void 0) {\n sizeAlgorithm = function () {\n return 1;\n };\n }\n var stream = Object.create(WritableStream.prototype);\n InitializeWritableStream(stream);\n var controller = Object.create(WritableStreamDefaultController.prototype);\n SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm);\n return stream;\n }\n function InitializeWritableStream(stream) {\n stream._state = 'writable';\n stream._storedError = undefined;\n stream._writer = undefined;\n stream._writableStreamController = undefined;\n stream._writeRequests = new SimpleQueue();\n stream._inFlightWriteRequest = undefined;\n stream._closeRequest = undefined;\n stream._inFlightCloseRequest = undefined;\n stream._pendingAbortRequest = undefined;\n stream._backpressure = false;\n }\n function IsWritableStream(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_writableStreamController')) {\n return false;\n }\n return true;\n }\n function IsWritableStreamLocked(stream) {\n if (stream._writer === undefined) {\n return false;\n }\n return true;\n }\n function WritableStreamAbort(stream, reason) {\n var state = stream._state;\n if (state === 'closed' || state === 'errored') {\n return promiseResolvedWith(undefined);\n }\n if (stream._pendingAbortRequest !== undefined) {\n return stream._pendingAbortRequest._promise;\n }\n var wasAlreadyErroring = false;\n if (state === 'erroring') {\n wasAlreadyErroring = true;\n reason = undefined;\n }\n var promise = newPromise(function (resolve, reject) {\n stream._pendingAbortRequest = {\n _promise: undefined,\n _resolve: resolve,\n _reject: reject,\n _reason: reason,\n _wasAlreadyErroring: wasAlreadyErroring\n };\n });\n stream._pendingAbortRequest._promise = promise;\n if (wasAlreadyErroring === false) {\n WritableStreamStartErroring(stream, reason);\n }\n return promise;\n }\n function WritableStreamClose(stream) {\n var state = stream._state;\n if (state === 'closed' || state === 'errored') {\n return promiseRejectedWith(new TypeError(\"The stream (in \" + state + \" state) is not in the writable state and cannot be closed\"));\n }\n var promise = newPromise(function (resolve, reject) {\n var closeRequest = {\n _resolve: resolve,\n _reject: reject\n };\n stream._closeRequest = closeRequest;\n });\n var writer = stream._writer;\n if (writer !== undefined && stream._backpressure === true && state === 'writable') {\n defaultWriterReadyPromiseResolve(writer);\n }\n WritableStreamDefaultControllerClose(stream._writableStreamController);\n return promise;\n }\n function WritableStreamAddWriteRequest(stream) {\n var promise = newPromise(function (resolve, reject) {\n var writeRequest = {\n _resolve: resolve,\n _reject: reject\n };\n stream._writeRequests.push(writeRequest);\n });\n return promise;\n }\n function WritableStreamDealWithRejection(stream, error) {\n var state = stream._state;\n if (state === 'writable') {\n WritableStreamStartErroring(stream, error);\n return;\n }\n WritableStreamFinishErroring(stream);\n }\n function WritableStreamStartErroring(stream, reason) {\n var controller = stream._writableStreamController;\n stream._state = 'erroring';\n stream._storedError = reason;\n var writer = stream._writer;\n if (writer !== undefined) {\n WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, reason);\n }\n if (WritableStreamHasOperationMarkedInFlight(stream) === false && controller._started === true) {\n WritableStreamFinishErroring(stream);\n }\n }\n function WritableStreamFinishErroring(stream) {\n stream._state = 'errored';\n stream._writableStreamController[ErrorSteps]();\n var storedError = stream._storedError;\n stream._writeRequests.forEach(function (writeRequest) {\n writeRequest._reject(storedError);\n });\n stream._writeRequests = new SimpleQueue();\n if (stream._pendingAbortRequest === undefined) {\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n return;\n }\n var abortRequest = stream._pendingAbortRequest;\n stream._pendingAbortRequest = undefined;\n if (abortRequest._wasAlreadyErroring === true) {\n abortRequest._reject(storedError);\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n return;\n }\n var promise = stream._writableStreamController[AbortSteps](abortRequest._reason);\n uponPromise(promise, function () {\n abortRequest._resolve();\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n }, function (reason) {\n abortRequest._reject(reason);\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n });\n }\n function WritableStreamFinishInFlightWrite(stream) {\n stream._inFlightWriteRequest._resolve(undefined);\n stream._inFlightWriteRequest = undefined;\n }\n function WritableStreamFinishInFlightWriteWithError(stream, error) {\n stream._inFlightWriteRequest._reject(error);\n stream._inFlightWriteRequest = undefined;\n WritableStreamDealWithRejection(stream, error);\n }\n function WritableStreamFinishInFlightClose(stream) {\n stream._inFlightCloseRequest._resolve(undefined);\n stream._inFlightCloseRequest = undefined;\n var state = stream._state;\n if (state === 'erroring') {\n stream._storedError = undefined;\n if (stream._pendingAbortRequest !== undefined) {\n stream._pendingAbortRequest._resolve();\n stream._pendingAbortRequest = undefined;\n }\n }\n stream._state = 'closed';\n var writer = stream._writer;\n if (writer !== undefined) {\n defaultWriterClosedPromiseResolve(writer);\n }\n }\n function WritableStreamFinishInFlightCloseWithError(stream, error) {\n stream._inFlightCloseRequest._reject(error);\n stream._inFlightCloseRequest = undefined;\n if (stream._pendingAbortRequest !== undefined) {\n stream._pendingAbortRequest._reject(error);\n stream._pendingAbortRequest = undefined;\n }\n WritableStreamDealWithRejection(stream, error);\n }\n function WritableStreamCloseQueuedOrInFlight(stream) {\n if (stream._closeRequest === undefined && stream._inFlightCloseRequest === undefined) {\n return false;\n }\n return true;\n }\n function WritableStreamHasOperationMarkedInFlight(stream) {\n if (stream._inFlightWriteRequest === undefined && stream._inFlightCloseRequest === undefined) {\n return false;\n }\n return true;\n }\n function WritableStreamMarkCloseRequestInFlight(stream) {\n stream._inFlightCloseRequest = stream._closeRequest;\n stream._closeRequest = undefined;\n }\n function WritableStreamMarkFirstWriteRequestInFlight(stream) {\n stream._inFlightWriteRequest = stream._writeRequests.shift();\n }\n function WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream) {\n if (stream._closeRequest !== undefined) {\n stream._closeRequest._reject(stream._storedError);\n stream._closeRequest = undefined;\n }\n var writer = stream._writer;\n if (writer !== undefined) {\n defaultWriterClosedPromiseReject(writer, stream._storedError);\n }\n }\n function WritableStreamUpdateBackpressure(stream, backpressure) {\n var writer = stream._writer;\n if (writer !== undefined && backpressure !== stream._backpressure) {\n if (backpressure === true) {\n defaultWriterReadyPromiseReset(writer);\n } else {\n defaultWriterReadyPromiseResolve(writer);\n }\n }\n stream._backpressure = backpressure;\n }\n var WritableStreamDefaultWriter = function () {\n function WritableStreamDefaultWriter(stream) {\n if (IsWritableStream(stream) === false) {\n throw new TypeError('WritableStreamDefaultWriter can only be constructed with a WritableStream instance');\n }\n if (IsWritableStreamLocked(stream) === true) {\n throw new TypeError('This stream has already been locked for exclusive writing by another writer');\n }\n this._ownerWritableStream = stream;\n stream._writer = this;\n var state = stream._state;\n if (state === 'writable') {\n if (WritableStreamCloseQueuedOrInFlight(stream) === false && stream._backpressure === true) {\n defaultWriterReadyPromiseInitialize(this);\n } else {\n defaultWriterReadyPromiseInitializeAsResolved(this);\n }\n defaultWriterClosedPromiseInitialize(this);\n } else if (state === 'erroring') {\n defaultWriterReadyPromiseInitializeAsRejected(this, stream._storedError);\n defaultWriterClosedPromiseInitialize(this);\n } else if (state === 'closed') {\n defaultWriterReadyPromiseInitializeAsResolved(this);\n defaultWriterClosedPromiseInitializeAsResolved(this);\n } else {\n var storedError = stream._storedError;\n defaultWriterReadyPromiseInitializeAsRejected(this, storedError);\n defaultWriterClosedPromiseInitializeAsRejected(this, storedError);\n }\n }\n Object.defineProperty(WritableStreamDefaultWriter.prototype, \"closed\", {\n get: function () {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return promiseRejectedWith(defaultWriterBrandCheckException('closed'));\n }\n return this._closedPromise;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(WritableStreamDefaultWriter.prototype, \"desiredSize\", {\n get: function () {\n if (IsWritableStreamDefaultWriter(this) === false) {\n throw defaultWriterBrandCheckException('desiredSize');\n }\n if (this._ownerWritableStream === undefined) {\n throw defaultWriterLockException('desiredSize');\n }\n return WritableStreamDefaultWriterGetDesiredSize(this);\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(WritableStreamDefaultWriter.prototype, \"ready\", {\n get: function () {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return promiseRejectedWith(defaultWriterBrandCheckException('ready'));\n }\n return this._readyPromise;\n },\n enumerable: true,\n configurable: true\n });\n WritableStreamDefaultWriter.prototype.abort = function (reason) {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return promiseRejectedWith(defaultWriterBrandCheckException('abort'));\n }\n if (this._ownerWritableStream === undefined) {\n return promiseRejectedWith(defaultWriterLockException('abort'));\n }\n return WritableStreamDefaultWriterAbort(this, reason);\n };\n WritableStreamDefaultWriter.prototype.close = function () {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return promiseRejectedWith(defaultWriterBrandCheckException('close'));\n }\n var stream = this._ownerWritableStream;\n if (stream === undefined) {\n return promiseRejectedWith(defaultWriterLockException('close'));\n }\n if (WritableStreamCloseQueuedOrInFlight(stream) === true) {\n return promiseRejectedWith(new TypeError('Cannot close an already-closing stream'));\n }\n return WritableStreamDefaultWriterClose(this);\n };\n WritableStreamDefaultWriter.prototype.releaseLock = function () {\n if (IsWritableStreamDefaultWriter(this) === false) {\n throw defaultWriterBrandCheckException('releaseLock');\n }\n var stream = this._ownerWritableStream;\n if (stream === undefined) {\n return;\n }\n WritableStreamDefaultWriterRelease(this);\n };\n WritableStreamDefaultWriter.prototype.write = function (chunk) {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return promiseRejectedWith(defaultWriterBrandCheckException('write'));\n }\n if (this._ownerWritableStream === undefined) {\n return promiseRejectedWith(defaultWriterLockException('write to'));\n }\n return WritableStreamDefaultWriterWrite(this, chunk);\n };\n return WritableStreamDefaultWriter;\n }();\n function IsWritableStreamDefaultWriter(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_ownerWritableStream')) {\n return false;\n }\n return true;\n }\n function WritableStreamDefaultWriterAbort(writer, reason) {\n var stream = writer._ownerWritableStream;\n return WritableStreamAbort(stream, reason);\n }\n function WritableStreamDefaultWriterClose(writer) {\n var stream = writer._ownerWritableStream;\n return WritableStreamClose(stream);\n }\n function WritableStreamDefaultWriterCloseWithErrorPropagation(writer) {\n var stream = writer._ownerWritableStream;\n var state = stream._state;\n if (WritableStreamCloseQueuedOrInFlight(stream) === true || state === 'closed') {\n return promiseResolvedWith(undefined);\n }\n if (state === 'errored') {\n return promiseRejectedWith(stream._storedError);\n }\n return WritableStreamDefaultWriterClose(writer);\n }\n function WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, error) {\n if (writer._closedPromiseState === 'pending') {\n defaultWriterClosedPromiseReject(writer, error);\n } else {\n defaultWriterClosedPromiseResetToRejected(writer, error);\n }\n }\n function WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, error) {\n if (writer._readyPromiseState === 'pending') {\n defaultWriterReadyPromiseReject(writer, error);\n } else {\n defaultWriterReadyPromiseResetToRejected(writer, error);\n }\n }\n function WritableStreamDefaultWriterGetDesiredSize(writer) {\n var stream = writer._ownerWritableStream;\n var state = stream._state;\n if (state === 'errored' || state === 'erroring') {\n return null;\n }\n if (state === 'closed') {\n return 0;\n }\n return WritableStreamDefaultControllerGetDesiredSize(stream._writableStreamController);\n }\n function WritableStreamDefaultWriterRelease(writer) {\n var stream = writer._ownerWritableStream;\n var releasedError = new TypeError('Writer was released and can no longer be used to monitor the stream\\'s closedness');\n WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, releasedError);\n WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, releasedError);\n stream._writer = undefined;\n writer._ownerWritableStream = undefined;\n }\n function WritableStreamDefaultWriterWrite(writer, chunk) {\n var stream = writer._ownerWritableStream;\n var controller = stream._writableStreamController;\n var chunkSize = WritableStreamDefaultControllerGetChunkSize(controller, chunk);\n if (stream !== writer._ownerWritableStream) {\n return promiseRejectedWith(defaultWriterLockException('write to'));\n }\n var state = stream._state;\n if (state === 'errored') {\n return promiseRejectedWith(stream._storedError);\n }\n if (WritableStreamCloseQueuedOrInFlight(stream) === true || state === 'closed') {\n return promiseRejectedWith(new TypeError('The stream is closing or closed and cannot be written to'));\n }\n if (state === 'erroring') {\n return promiseRejectedWith(stream._storedError);\n }\n var promise = WritableStreamAddWriteRequest(stream);\n WritableStreamDefaultControllerWrite(controller, chunk, chunkSize);\n return promise;\n }\n var WritableStreamDefaultController = function () {\n function WritableStreamDefaultController() {\n throw new TypeError('WritableStreamDefaultController cannot be constructed explicitly');\n }\n WritableStreamDefaultController.prototype.error = function (e) {\n if (IsWritableStreamDefaultController(this) === false) {\n throw new TypeError('WritableStreamDefaultController.prototype.error can only be used on a WritableStreamDefaultController');\n }\n var state = this._controlledWritableStream._state;\n if (state !== 'writable') {\n return;\n }\n WritableStreamDefaultControllerError(this, e);\n };\n WritableStreamDefaultController.prototype[AbortSteps] = function (reason) {\n var result = this._abortAlgorithm(reason);\n WritableStreamDefaultControllerClearAlgorithms(this);\n return result;\n };\n WritableStreamDefaultController.prototype[ErrorSteps] = function () {\n ResetQueue(this);\n };\n return WritableStreamDefaultController;\n }();\n function IsWritableStreamDefaultController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_controlledWritableStream')) {\n return false;\n }\n return true;\n }\n function SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm) {\n controller._controlledWritableStream = stream;\n stream._writableStreamController = controller;\n controller._queue = undefined;\n controller._queueTotalSize = undefined;\n ResetQueue(controller);\n controller._started = false;\n controller._strategySizeAlgorithm = sizeAlgorithm;\n controller._strategyHWM = highWaterMark;\n controller._writeAlgorithm = writeAlgorithm;\n controller._closeAlgorithm = closeAlgorithm;\n controller._abortAlgorithm = abortAlgorithm;\n var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);\n WritableStreamUpdateBackpressure(stream, backpressure);\n var startResult = startAlgorithm();\n var startPromise = promiseResolvedWith(startResult);\n uponPromise(startPromise, function () {\n controller._started = true;\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }, function (r) {\n controller._started = true;\n WritableStreamDealWithRejection(stream, r);\n });\n }\n function SetUpWritableStreamDefaultControllerFromUnderlyingSink(stream, underlyingSink, highWaterMark, sizeAlgorithm) {\n var controller = Object.create(WritableStreamDefaultController.prototype);\n function startAlgorithm() {\n return InvokeOrNoop(underlyingSink, 'start', [controller]);\n }\n var writeAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSink, 'write', 1, [controller]);\n var closeAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSink, 'close', 0, []);\n var abortAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSink, 'abort', 1, []);\n SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm);\n }\n function WritableStreamDefaultControllerClearAlgorithms(controller) {\n controller._writeAlgorithm = undefined;\n controller._closeAlgorithm = undefined;\n controller._abortAlgorithm = undefined;\n controller._strategySizeAlgorithm = undefined;\n }\n function WritableStreamDefaultControllerClose(controller) {\n EnqueueValueWithSize(controller, 'close', 0);\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }\n function WritableStreamDefaultControllerGetChunkSize(controller, chunk) {\n try {\n return controller._strategySizeAlgorithm(chunk);\n } catch (chunkSizeE) {\n WritableStreamDefaultControllerErrorIfNeeded(controller, chunkSizeE);\n return 1;\n }\n }\n function WritableStreamDefaultControllerGetDesiredSize(controller) {\n return controller._strategyHWM - controller._queueTotalSize;\n }\n function WritableStreamDefaultControllerWrite(controller, chunk, chunkSize) {\n var writeRecord = { chunk: chunk };\n try {\n EnqueueValueWithSize(controller, writeRecord, chunkSize);\n } catch (enqueueE) {\n WritableStreamDefaultControllerErrorIfNeeded(controller, enqueueE);\n return;\n }\n var stream = controller._controlledWritableStream;\n if (WritableStreamCloseQueuedOrInFlight(stream) === false && stream._state === 'writable') {\n var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);\n WritableStreamUpdateBackpressure(stream, backpressure);\n }\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }\n function WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller) {\n var stream = controller._controlledWritableStream;\n if (controller._started === false) {\n return;\n }\n if (stream._inFlightWriteRequest !== undefined) {\n return;\n }\n var state = stream._state;\n if (state === 'erroring') {\n WritableStreamFinishErroring(stream);\n return;\n }\n if (controller._queue.length === 0) {\n return;\n }\n var writeRecord = PeekQueueValue(controller);\n if (writeRecord === 'close') {\n WritableStreamDefaultControllerProcessClose(controller);\n } else {\n WritableStreamDefaultControllerProcessWrite(controller, writeRecord.chunk);\n }\n }\n function WritableStreamDefaultControllerErrorIfNeeded(controller, error) {\n if (controller._controlledWritableStream._state === 'writable') {\n WritableStreamDefaultControllerError(controller, error);\n }\n }\n function WritableStreamDefaultControllerProcessClose(controller) {\n var stream = controller._controlledWritableStream;\n WritableStreamMarkCloseRequestInFlight(stream);\n DequeueValue(controller);\n var sinkClosePromise = controller._closeAlgorithm();\n WritableStreamDefaultControllerClearAlgorithms(controller);\n uponPromise(sinkClosePromise, function () {\n WritableStreamFinishInFlightClose(stream);\n }, function (reason) {\n WritableStreamFinishInFlightCloseWithError(stream, reason);\n });\n }\n function WritableStreamDefaultControllerProcessWrite(controller, chunk) {\n var stream = controller._controlledWritableStream;\n WritableStreamMarkFirstWriteRequestInFlight(stream);\n var sinkWritePromise = controller._writeAlgorithm(chunk);\n uponPromise(sinkWritePromise, function () {\n WritableStreamFinishInFlightWrite(stream);\n var state = stream._state;\n DequeueValue(controller);\n if (WritableStreamCloseQueuedOrInFlight(stream) === false && state === 'writable') {\n var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);\n WritableStreamUpdateBackpressure(stream, backpressure);\n }\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }, function (reason) {\n if (stream._state === 'writable') {\n WritableStreamDefaultControllerClearAlgorithms(controller);\n }\n WritableStreamFinishInFlightWriteWithError(stream, reason);\n });\n }\n function WritableStreamDefaultControllerGetBackpressure(controller) {\n var desiredSize = WritableStreamDefaultControllerGetDesiredSize(controller);\n return desiredSize <= 0;\n }\n function WritableStreamDefaultControllerError(controller, error) {\n var stream = controller._controlledWritableStream;\n WritableStreamDefaultControllerClearAlgorithms(controller);\n WritableStreamStartErroring(stream, error);\n }\n function streamBrandCheckException(name) {\n return new TypeError(\"WritableStream.prototype.\" + name + \" can only be used on a WritableStream\");\n }\n function defaultWriterBrandCheckException(name) {\n return new TypeError(\"WritableStreamDefaultWriter.prototype.\" + name + \" can only be used on a WritableStreamDefaultWriter\");\n }\n function defaultWriterLockException(name) {\n return new TypeError('Cannot ' + name + ' a stream using a released writer');\n }\n function defaultWriterClosedPromiseInitialize(writer) {\n writer._closedPromise = newPromise(function (resolve, reject) {\n writer._closedPromise_resolve = resolve;\n writer._closedPromise_reject = reject;\n writer._closedPromiseState = 'pending';\n });\n }\n function defaultWriterClosedPromiseInitializeAsRejected(writer, reason) {\n defaultWriterClosedPromiseInitialize(writer);\n defaultWriterClosedPromiseReject(writer, reason);\n }\n function defaultWriterClosedPromiseInitializeAsResolved(writer) {\n defaultWriterClosedPromiseInitialize(writer);\n defaultWriterClosedPromiseResolve(writer);\n }\n function defaultWriterClosedPromiseReject(writer, reason) {\n setPromiseIsHandledToTrue(writer._closedPromise);\n writer._closedPromise_reject(reason);\n writer._closedPromise_resolve = undefined;\n writer._closedPromise_reject = undefined;\n writer._closedPromiseState = 'rejected';\n }\n function defaultWriterClosedPromiseResetToRejected(writer, reason) {\n defaultWriterClosedPromiseInitializeAsRejected(writer, reason);\n }\n function defaultWriterClosedPromiseResolve(writer) {\n writer._closedPromise_resolve(undefined);\n writer._closedPromise_resolve = undefined;\n writer._closedPromise_reject = undefined;\n writer._closedPromiseState = 'resolved';\n }\n function defaultWriterReadyPromiseInitialize(writer) {\n writer._readyPromise = newPromise(function (resolve, reject) {\n writer._readyPromise_resolve = resolve;\n writer._readyPromise_reject = reject;\n });\n writer._readyPromiseState = 'pending';\n }\n function defaultWriterReadyPromiseInitializeAsRejected(writer, reason) {\n defaultWriterReadyPromiseInitialize(writer);\n defaultWriterReadyPromiseReject(writer, reason);\n }\n function defaultWriterReadyPromiseInitializeAsResolved(writer) {\n defaultWriterReadyPromiseInitialize(writer);\n defaultWriterReadyPromiseResolve(writer);\n }\n function defaultWriterReadyPromiseReject(writer, reason) {\n setPromiseIsHandledToTrue(writer._readyPromise);\n writer._readyPromise_reject(reason);\n writer._readyPromise_resolve = undefined;\n writer._readyPromise_reject = undefined;\n writer._readyPromiseState = 'rejected';\n }\n function defaultWriterReadyPromiseReset(writer) {\n defaultWriterReadyPromiseInitialize(writer);\n }\n function defaultWriterReadyPromiseResetToRejected(writer, reason) {\n defaultWriterReadyPromiseInitializeAsRejected(writer, reason);\n }\n function defaultWriterReadyPromiseResolve(writer) {\n writer._readyPromise_resolve(undefined);\n writer._readyPromise_resolve = undefined;\n writer._readyPromise_reject = undefined;\n writer._readyPromiseState = 'fulfilled';\n }\n function isAbortSignal(value) {\n if (typeof value !== 'object' || value === null) {\n return false;\n }\n try {\n return typeof value.aborted === 'boolean';\n } catch (_a) {\n return false;\n }\n }\n var NativeDOMException = typeof DOMException !== 'undefined' ? DOMException : undefined;\n function isDOMExceptionConstructor(ctor) {\n if (!(typeof ctor === 'function' || typeof ctor === 'object')) {\n return false;\n }\n try {\n new ctor();\n return true;\n } catch (_a) {\n return false;\n }\n }\n function createDOMExceptionPolyfill() {\n var ctor = function DOMException(message, name) {\n this.message = message || '';\n this.name = name || 'Error';\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n };\n ctor.prototype = Object.create(Error.prototype);\n Object.defineProperty(ctor.prototype, 'constructor', {\n value: ctor,\n writable: true,\n configurable: true\n });\n return ctor;\n }\n var DOMException$1 = isDOMExceptionConstructor(NativeDOMException) ? NativeDOMException : createDOMExceptionPolyfill();\n function ReadableStreamPipeTo(source, dest, preventClose, preventAbort, preventCancel, signal) {\n var reader = AcquireReadableStreamDefaultReader(source);\n var writer = AcquireWritableStreamDefaultWriter(dest);\n source._disturbed = true;\n var shuttingDown = false;\n var currentWrite = promiseResolvedWith(undefined);\n return newPromise(function (resolve, reject) {\n var abortAlgorithm;\n if (signal !== undefined) {\n abortAlgorithm = function () {\n var error = new DOMException$1('Aborted', 'AbortError');\n var actions = [];\n if (preventAbort === false) {\n actions.push(function () {\n if (dest._state === 'writable') {\n return WritableStreamAbort(dest, error);\n }\n return promiseResolvedWith(undefined);\n });\n }\n if (preventCancel === false) {\n actions.push(function () {\n if (source._state === 'readable') {\n return ReadableStreamCancel(source, error);\n }\n return promiseResolvedWith(undefined);\n });\n }\n shutdownWithAction(function () {\n return Promise.all(actions.map(function (action) {\n return action();\n }));\n }, true, error);\n };\n if (signal.aborted === true) {\n abortAlgorithm();\n return;\n }\n signal.addEventListener('abort', abortAlgorithm);\n }\n function pipeLoop() {\n return newPromise(function (resolveLoop, rejectLoop) {\n function next(done) {\n if (done) {\n resolveLoop();\n } else {\n PerformPromiseThen(pipeStep(), next, rejectLoop);\n }\n }\n next(false);\n });\n }\n function pipeStep() {\n if (shuttingDown === true) {\n return promiseResolvedWith(true);\n }\n return PerformPromiseThen(writer._readyPromise, function () {\n return PerformPromiseThen(ReadableStreamDefaultReaderRead(reader), function (result) {\n if (result.done === true) {\n return true;\n }\n currentWrite = PerformPromiseThen(WritableStreamDefaultWriterWrite(writer, result.value), undefined, noop);\n return false;\n });\n });\n }\n isOrBecomesErrored(source, reader._closedPromise, function (storedError) {\n if (preventAbort === false) {\n shutdownWithAction(function () {\n return WritableStreamAbort(dest, storedError);\n }, true, storedError);\n } else {\n shutdown(true, storedError);\n }\n });\n isOrBecomesErrored(dest, writer._closedPromise, function (storedError) {\n if (preventCancel === false) {\n shutdownWithAction(function () {\n return ReadableStreamCancel(source, storedError);\n }, true, storedError);\n } else {\n shutdown(true, storedError);\n }\n });\n isOrBecomesClosed(source, reader._closedPromise, function () {\n if (preventClose === false) {\n shutdownWithAction(function () {\n return WritableStreamDefaultWriterCloseWithErrorPropagation(writer);\n });\n } else {\n shutdown();\n }\n });\n if (WritableStreamCloseQueuedOrInFlight(dest) === true || dest._state === 'closed') {\n var destClosed_1 = new TypeError('the destination writable stream closed before all data could be piped to it');\n if (preventCancel === false) {\n shutdownWithAction(function () {\n return ReadableStreamCancel(source, destClosed_1);\n }, true, destClosed_1);\n } else {\n shutdown(true, destClosed_1);\n }\n }\n setPromiseIsHandledToTrue(pipeLoop());\n function waitForWritesToFinish() {\n var oldCurrentWrite = currentWrite;\n return PerformPromiseThen(currentWrite, function () {\n return oldCurrentWrite !== currentWrite ? waitForWritesToFinish() : undefined;\n });\n }\n function isOrBecomesErrored(stream, promise, action) {\n if (stream._state === 'errored') {\n action(stream._storedError);\n } else {\n uponRejection(promise, action);\n }\n }\n function isOrBecomesClosed(stream, promise, action) {\n if (stream._state === 'closed') {\n action();\n } else {\n uponFulfillment(promise, action);\n }\n }\n function shutdownWithAction(action, originalIsError, originalError) {\n if (shuttingDown === true) {\n return;\n }\n shuttingDown = true;\n if (dest._state === 'writable' && WritableStreamCloseQueuedOrInFlight(dest) === false) {\n uponFulfillment(waitForWritesToFinish(), doTheRest);\n } else {\n doTheRest();\n }\n function doTheRest() {\n uponPromise(action(), function () {\n return finalize(originalIsError, originalError);\n }, function (newError) {\n return finalize(true, newError);\n });\n }\n }\n function shutdown(isError, error) {\n if (shuttingDown === true) {\n return;\n }\n shuttingDown = true;\n if (dest._state === 'writable' && WritableStreamCloseQueuedOrInFlight(dest) === false) {\n uponFulfillment(waitForWritesToFinish(), function () {\n return finalize(isError, error);\n });\n } else {\n finalize(isError, error);\n }\n }\n function finalize(isError, error) {\n WritableStreamDefaultWriterRelease(writer);\n ReadableStreamReaderGenericRelease(reader);\n if (signal !== undefined) {\n signal.removeEventListener('abort', abortAlgorithm);\n }\n if (isError) {\n reject(error);\n } else {\n resolve(undefined);\n }\n }\n });\n }\n var ReadableStreamDefaultController = function () {\n function ReadableStreamDefaultController() {\n throw new TypeError();\n }\n Object.defineProperty(ReadableStreamDefaultController.prototype, \"desiredSize\", {\n get: function () {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('desiredSize');\n }\n return ReadableStreamDefaultControllerGetDesiredSize(this);\n },\n enumerable: true,\n configurable: true\n });\n ReadableStreamDefaultController.prototype.close = function () {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('close');\n }\n if (ReadableStreamDefaultControllerCanCloseOrEnqueue(this) === false) {\n throw new TypeError('The stream is not in a state that permits close');\n }\n ReadableStreamDefaultControllerClose(this);\n };\n ReadableStreamDefaultController.prototype.enqueue = function (chunk) {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('enqueue');\n }\n if (ReadableStreamDefaultControllerCanCloseOrEnqueue(this) === false) {\n throw new TypeError('The stream is not in a state that permits enqueue');\n }\n return ReadableStreamDefaultControllerEnqueue(this, chunk);\n };\n ReadableStreamDefaultController.prototype.error = function (e) {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('error');\n }\n ReadableStreamDefaultControllerError(this, e);\n };\n ReadableStreamDefaultController.prototype[CancelSteps] = function (reason) {\n ResetQueue(this);\n var result = this._cancelAlgorithm(reason);\n ReadableStreamDefaultControllerClearAlgorithms(this);\n return result;\n };\n ReadableStreamDefaultController.prototype[PullSteps] = function () {\n var stream = this._controlledReadableStream;\n if (this._queue.length > 0) {\n var chunk = DequeueValue(this);\n if (this._closeRequested === true && this._queue.length === 0) {\n ReadableStreamDefaultControllerClearAlgorithms(this);\n ReadableStreamClose(stream);\n } else {\n ReadableStreamDefaultControllerCallPullIfNeeded(this);\n }\n return promiseResolvedWith(ReadableStreamCreateReadResult(chunk, false, stream._reader._forAuthorCode));\n }\n var pendingPromise = ReadableStreamAddReadRequest(stream);\n ReadableStreamDefaultControllerCallPullIfNeeded(this);\n return pendingPromise;\n };\n return ReadableStreamDefaultController;\n }();\n function IsReadableStreamDefaultController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_controlledReadableStream')) {\n return false;\n }\n return true;\n }\n function ReadableStreamDefaultControllerCallPullIfNeeded(controller) {\n var shouldPull = ReadableStreamDefaultControllerShouldCallPull(controller);\n if (shouldPull === false) {\n return;\n }\n if (controller._pulling === true) {\n controller._pullAgain = true;\n return;\n }\n controller._pulling = true;\n var pullPromise = controller._pullAlgorithm();\n uponPromise(pullPromise, function () {\n controller._pulling = false;\n if (controller._pullAgain === true) {\n controller._pullAgain = false;\n ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n }\n }, function (e) {\n ReadableStreamDefaultControllerError(controller, e);\n });\n }\n function ReadableStreamDefaultControllerShouldCallPull(controller) {\n var stream = controller._controlledReadableStream;\n if (ReadableStreamDefaultControllerCanCloseOrEnqueue(controller) === false) {\n return false;\n }\n if (controller._started === false) {\n return false;\n }\n if (IsReadableStreamLocked(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {\n return true;\n }\n var desiredSize = ReadableStreamDefaultControllerGetDesiredSize(controller);\n if (desiredSize > 0) {\n return true;\n }\n return false;\n }\n function ReadableStreamDefaultControllerClearAlgorithms(controller) {\n controller._pullAlgorithm = undefined;\n controller._cancelAlgorithm = undefined;\n controller._strategySizeAlgorithm = undefined;\n }\n function ReadableStreamDefaultControllerClose(controller) {\n var stream = controller._controlledReadableStream;\n controller._closeRequested = true;\n if (controller._queue.length === 0) {\n ReadableStreamDefaultControllerClearAlgorithms(controller);\n ReadableStreamClose(stream);\n }\n }\n function ReadableStreamDefaultControllerEnqueue(controller, chunk) {\n var stream = controller._controlledReadableStream;\n if (IsReadableStreamLocked(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {\n ReadableStreamFulfillReadRequest(stream, chunk, false);\n } else {\n var chunkSize = void 0;\n try {\n chunkSize = controller._strategySizeAlgorithm(chunk);\n } catch (chunkSizeE) {\n ReadableStreamDefaultControllerError(controller, chunkSizeE);\n throw chunkSizeE;\n }\n try {\n EnqueueValueWithSize(controller, chunk, chunkSize);\n } catch (enqueueE) {\n ReadableStreamDefaultControllerError(controller, enqueueE);\n throw enqueueE;\n }\n }\n ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n }\n function ReadableStreamDefaultControllerError(controller, e) {\n var stream = controller._controlledReadableStream;\n if (stream._state !== 'readable') {\n return;\n }\n ResetQueue(controller);\n ReadableStreamDefaultControllerClearAlgorithms(controller);\n ReadableStreamError(stream, e);\n }\n function ReadableStreamDefaultControllerGetDesiredSize(controller) {\n var stream = controller._controlledReadableStream;\n var state = stream._state;\n if (state === 'errored') {\n return null;\n }\n if (state === 'closed') {\n return 0;\n }\n return controller._strategyHWM - controller._queueTotalSize;\n }\n function ReadableStreamDefaultControllerHasBackpressure(controller) {\n if (ReadableStreamDefaultControllerShouldCallPull(controller) === true) {\n return false;\n }\n return true;\n }\n function ReadableStreamDefaultControllerCanCloseOrEnqueue(controller) {\n var state = controller._controlledReadableStream._state;\n if (controller._closeRequested === false && state === 'readable') {\n return true;\n }\n return false;\n }\n function SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm) {\n controller._controlledReadableStream = stream;\n controller._queue = undefined;\n controller._queueTotalSize = undefined;\n ResetQueue(controller);\n controller._started = false;\n controller._closeRequested = false;\n controller._pullAgain = false;\n controller._pulling = false;\n controller._strategySizeAlgorithm = sizeAlgorithm;\n controller._strategyHWM = highWaterMark;\n controller._pullAlgorithm = pullAlgorithm;\n controller._cancelAlgorithm = cancelAlgorithm;\n stream._readableStreamController = controller;\n var startResult = startAlgorithm();\n uponPromise(promiseResolvedWith(startResult), function () {\n controller._started = true;\n ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n }, function (r) {\n ReadableStreamDefaultControllerError(controller, r);\n });\n }\n function SetUpReadableStreamDefaultControllerFromUnderlyingSource(stream, underlyingSource, highWaterMark, sizeAlgorithm) {\n var controller = Object.create(ReadableStreamDefaultController.prototype);\n function startAlgorithm() {\n return InvokeOrNoop(underlyingSource, 'start', [controller]);\n }\n var pullAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSource, 'pull', 0, [controller]);\n var cancelAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSource, 'cancel', 1, []);\n SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm);\n }\n function defaultControllerBrandCheckException(name) {\n return new TypeError(\"ReadableStreamDefaultController.prototype.\" + name + \" can only be used on a ReadableStreamDefaultController\");\n }\n function ReadableStreamTee(stream, cloneForBranch2) {\n var reader = AcquireReadableStreamDefaultReader(stream);\n var reading = false;\n var canceled1 = false;\n var canceled2 = false;\n var reason1;\n var reason2;\n var branch1;\n var branch2;\n var resolveCancelPromise;\n var cancelPromise = newPromise(function (resolve) {\n resolveCancelPromise = resolve;\n });\n function pullAlgorithm() {\n if (reading === true) {\n return promiseResolvedWith(undefined);\n }\n reading = true;\n var readPromise = transformPromiseWith(ReadableStreamDefaultReaderRead(reader), function (result) {\n reading = false;\n var done = result.done;\n if (done === true) {\n if (canceled1 === false) {\n ReadableStreamDefaultControllerClose(branch1._readableStreamController);\n }\n if (canceled2 === false) {\n ReadableStreamDefaultControllerClose(branch2._readableStreamController);\n }\n return;\n }\n var value = result.value;\n var value1 = value;\n var value2 = value;\n if (canceled1 === false) {\n ReadableStreamDefaultControllerEnqueue(branch1._readableStreamController, value1);\n }\n if (canceled2 === false) {\n ReadableStreamDefaultControllerEnqueue(branch2._readableStreamController, value2);\n }\n });\n setPromiseIsHandledToTrue(readPromise);\n return promiseResolvedWith(undefined);\n }\n function cancel1Algorithm(reason) {\n canceled1 = true;\n reason1 = reason;\n if (canceled2 === true) {\n var compositeReason = createArrayFromList([\n reason1,\n reason2\n ]);\n var cancelResult = ReadableStreamCancel(stream, compositeReason);\n resolveCancelPromise(cancelResult);\n }\n return cancelPromise;\n }\n function cancel2Algorithm(reason) {\n canceled2 = true;\n reason2 = reason;\n if (canceled1 === true) {\n var compositeReason = createArrayFromList([\n reason1,\n reason2\n ]);\n var cancelResult = ReadableStreamCancel(stream, compositeReason);\n resolveCancelPromise(cancelResult);\n }\n return cancelPromise;\n }\n function startAlgorithm() {\n }\n branch1 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancel1Algorithm);\n branch2 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancel2Algorithm);\n uponRejection(reader._closedPromise, function (r) {\n ReadableStreamDefaultControllerError(branch1._readableStreamController, r);\n ReadableStreamDefaultControllerError(branch2._readableStreamController, r);\n });\n return [\n branch1,\n branch2\n ];\n }\n var NumberIsInteger = Number.isInteger || function (value) {\n return typeof value === 'number' && isFinite(value) && Math.floor(value) === value;\n };\n var ReadableStreamBYOBRequest = function () {\n function ReadableStreamBYOBRequest() {\n throw new TypeError('ReadableStreamBYOBRequest cannot be used directly');\n }\n Object.defineProperty(ReadableStreamBYOBRequest.prototype, \"view\", {\n get: function () {\n if (IsReadableStreamBYOBRequest(this) === false) {\n throw byobRequestBrandCheckException('view');\n }\n return this._view;\n },\n enumerable: true,\n configurable: true\n });\n ReadableStreamBYOBRequest.prototype.respond = function (bytesWritten) {\n if (IsReadableStreamBYOBRequest(this) === false) {\n throw byobRequestBrandCheckException('respond');\n }\n if (this._associatedReadableByteStreamController === undefined) {\n throw new TypeError('This BYOB request has been invalidated');\n }\n if (IsDetachedBuffer(this._view.buffer) === true);\n ReadableByteStreamControllerRespond(this._associatedReadableByteStreamController, bytesWritten);\n };\n ReadableStreamBYOBRequest.prototype.respondWithNewView = function (view) {\n if (IsReadableStreamBYOBRequest(this) === false) {\n throw byobRequestBrandCheckException('respond');\n }\n if (this._associatedReadableByteStreamController === undefined) {\n throw new TypeError('This BYOB request has been invalidated');\n }\n if (!ArrayBuffer.isView(view)) {\n throw new TypeError('You can only respond with array buffer views');\n }\n if (IsDetachedBuffer(view.buffer) === true);\n ReadableByteStreamControllerRespondWithNewView(this._associatedReadableByteStreamController, view);\n };\n return ReadableStreamBYOBRequest;\n }();\n var ReadableByteStreamController = function () {\n function ReadableByteStreamController() {\n throw new TypeError('ReadableByteStreamController constructor cannot be used directly');\n }\n Object.defineProperty(ReadableByteStreamController.prototype, \"byobRequest\", {\n get: function () {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('byobRequest');\n }\n if (this._byobRequest === undefined && this._pendingPullIntos.length > 0) {\n var firstDescriptor = this._pendingPullIntos.peek();\n var view = new Uint8Array(firstDescriptor.buffer, firstDescriptor.byteOffset + firstDescriptor.bytesFilled, firstDescriptor.byteLength - firstDescriptor.bytesFilled);\n var byobRequest = Object.create(ReadableStreamBYOBRequest.prototype);\n SetUpReadableStreamBYOBRequest(byobRequest, this, view);\n this._byobRequest = byobRequest;\n }\n return this._byobRequest;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ReadableByteStreamController.prototype, \"desiredSize\", {\n get: function () {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('desiredSize');\n }\n return ReadableByteStreamControllerGetDesiredSize(this);\n },\n enumerable: true,\n configurable: true\n });\n ReadableByteStreamController.prototype.close = function () {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('close');\n }\n if (this._closeRequested === true) {\n throw new TypeError('The stream has already been closed; do not close it again!');\n }\n var state = this._controlledReadableByteStream._state;\n if (state !== 'readable') {\n throw new TypeError(\"The stream (in \" + state + \" state) is not in the readable state and cannot be closed\");\n }\n ReadableByteStreamControllerClose(this);\n };\n ReadableByteStreamController.prototype.enqueue = function (chunk) {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('enqueue');\n }\n if (this._closeRequested === true) {\n throw new TypeError('stream is closed or draining');\n }\n var state = this._controlledReadableByteStream._state;\n if (state !== 'readable') {\n throw new TypeError(\"The stream (in \" + state + \" state) is not in the readable state and cannot be enqueued to\");\n }\n if (!ArrayBuffer.isView(chunk)) {\n throw new TypeError('You can only enqueue array buffer views when using a ReadableByteStreamController');\n }\n if (IsDetachedBuffer(chunk.buffer) === true);\n ReadableByteStreamControllerEnqueue(this, chunk);\n };\n ReadableByteStreamController.prototype.error = function (e) {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('error');\n }\n ReadableByteStreamControllerError(this, e);\n };\n ReadableByteStreamController.prototype[CancelSteps] = function (reason) {\n if (this._pendingPullIntos.length > 0) {\n var firstDescriptor = this._pendingPullIntos.peek();\n firstDescriptor.bytesFilled = 0;\n }\n ResetQueue(this);\n var result = this._cancelAlgorithm(reason);\n ReadableByteStreamControllerClearAlgorithms(this);\n return result;\n };\n ReadableByteStreamController.prototype[PullSteps] = function () {\n var stream = this._controlledReadableByteStream;\n if (this._queueTotalSize > 0) {\n var entry = this._queue.shift();\n this._queueTotalSize -= entry.byteLength;\n ReadableByteStreamControllerHandleQueueDrain(this);\n var view = void 0;\n try {\n view = new Uint8Array(entry.buffer, entry.byteOffset, entry.byteLength);\n } catch (viewE) {\n return promiseRejectedWith(viewE);\n }\n return promiseResolvedWith(ReadableStreamCreateReadResult(view, false, stream._reader._forAuthorCode));\n }\n var autoAllocateChunkSize = this._autoAllocateChunkSize;\n if (autoAllocateChunkSize !== undefined) {\n var buffer = void 0;\n try {\n buffer = new ArrayBuffer(autoAllocateChunkSize);\n } catch (bufferE) {\n return promiseRejectedWith(bufferE);\n }\n var pullIntoDescriptor = {\n buffer: buffer,\n byteOffset: 0,\n byteLength: autoAllocateChunkSize,\n bytesFilled: 0,\n elementSize: 1,\n ctor: Uint8Array,\n readerType: 'default'\n };\n this._pendingPullIntos.push(pullIntoDescriptor);\n }\n var promise = ReadableStreamAddReadRequest(stream);\n ReadableByteStreamControllerCallPullIfNeeded(this);\n return promise;\n };\n return ReadableByteStreamController;\n }();\n function IsReadableByteStreamController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_controlledReadableByteStream')) {\n return false;\n }\n return true;\n }\n function IsReadableStreamBYOBRequest(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_associatedReadableByteStreamController')) {\n return false;\n }\n return true;\n }\n function ReadableByteStreamControllerCallPullIfNeeded(controller) {\n var shouldPull = ReadableByteStreamControllerShouldCallPull(controller);\n if (shouldPull === false) {\n return;\n }\n if (controller._pulling === true) {\n controller._pullAgain = true;\n return;\n }\n controller._pulling = true;\n var pullPromise = controller._pullAlgorithm();\n uponPromise(pullPromise, function () {\n controller._pulling = false;\n if (controller._pullAgain === true) {\n controller._pullAgain = false;\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }\n }, function (e) {\n ReadableByteStreamControllerError(controller, e);\n });\n }\n function ReadableByteStreamControllerClearPendingPullIntos(controller) {\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n controller._pendingPullIntos = new SimpleQueue();\n }\n function ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor) {\n var done = false;\n if (stream._state === 'closed') {\n done = true;\n }\n var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);\n if (pullIntoDescriptor.readerType === 'default') {\n ReadableStreamFulfillReadRequest(stream, filledView, done);\n } else {\n ReadableStreamFulfillReadIntoRequest(stream, filledView, done);\n }\n }\n function ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor) {\n var bytesFilled = pullIntoDescriptor.bytesFilled;\n var elementSize = pullIntoDescriptor.elementSize;\n return new pullIntoDescriptor.ctor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, bytesFilled / elementSize);\n }\n function ReadableByteStreamControllerEnqueueChunkToQueue(controller, buffer, byteOffset, byteLength) {\n controller._queue.push({\n buffer: buffer,\n byteOffset: byteOffset,\n byteLength: byteLength\n });\n controller._queueTotalSize += byteLength;\n }\n function ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) {\n var elementSize = pullIntoDescriptor.elementSize;\n var currentAlignedBytes = pullIntoDescriptor.bytesFilled - pullIntoDescriptor.bytesFilled % elementSize;\n var maxBytesToCopy = Math.min(controller._queueTotalSize, pullIntoDescriptor.byteLength - pullIntoDescriptor.bytesFilled);\n var maxBytesFilled = pullIntoDescriptor.bytesFilled + maxBytesToCopy;\n var maxAlignedBytes = maxBytesFilled - maxBytesFilled % elementSize;\n var totalBytesToCopyRemaining = maxBytesToCopy;\n var ready = false;\n if (maxAlignedBytes > currentAlignedBytes) {\n totalBytesToCopyRemaining = maxAlignedBytes - pullIntoDescriptor.bytesFilled;\n ready = true;\n }\n var queue = controller._queue;\n while (totalBytesToCopyRemaining > 0) {\n var headOfQueue = queue.peek();\n var bytesToCopy = Math.min(totalBytesToCopyRemaining, headOfQueue.byteLength);\n var destStart = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled;\n ArrayBufferCopy(pullIntoDescriptor.buffer, destStart, headOfQueue.buffer, headOfQueue.byteOffset, bytesToCopy);\n if (headOfQueue.byteLength === bytesToCopy) {\n queue.shift();\n } else {\n headOfQueue.byteOffset += bytesToCopy;\n headOfQueue.byteLength -= bytesToCopy;\n }\n controller._queueTotalSize -= bytesToCopy;\n ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesToCopy, pullIntoDescriptor);\n totalBytesToCopyRemaining -= bytesToCopy;\n }\n return ready;\n }\n function ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, size, pullIntoDescriptor) {\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n pullIntoDescriptor.bytesFilled += size;\n }\n function ReadableByteStreamControllerHandleQueueDrain(controller) {\n if (controller._queueTotalSize === 0 && controller._closeRequested === true) {\n ReadableByteStreamControllerClearAlgorithms(controller);\n ReadableStreamClose(controller._controlledReadableByteStream);\n } else {\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }\n }\n function ReadableByteStreamControllerInvalidateBYOBRequest(controller) {\n if (controller._byobRequest === undefined) {\n return;\n }\n controller._byobRequest._associatedReadableByteStreamController = undefined;\n controller._byobRequest._view = undefined;\n controller._byobRequest = undefined;\n }\n function ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller) {\n while (controller._pendingPullIntos.length > 0) {\n if (controller._queueTotalSize === 0) {\n return;\n }\n var pullIntoDescriptor = controller._pendingPullIntos.peek();\n if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) === true) {\n ReadableByteStreamControllerShiftPendingPullInto(controller);\n ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableByteStream, pullIntoDescriptor);\n }\n }\n }\n function ReadableByteStreamControllerPullInto(controller, view) {\n var stream = controller._controlledReadableByteStream;\n var elementSize = 1;\n if (view.constructor !== DataView) {\n elementSize = view.constructor.BYTES_PER_ELEMENT;\n }\n var ctor = view.constructor;\n var buffer = TransferArrayBuffer(view.buffer);\n var pullIntoDescriptor = {\n buffer: buffer,\n byteOffset: view.byteOffset,\n byteLength: view.byteLength,\n bytesFilled: 0,\n elementSize: elementSize,\n ctor: ctor,\n readerType: 'byob'\n };\n if (controller._pendingPullIntos.length > 0) {\n controller._pendingPullIntos.push(pullIntoDescriptor);\n return ReadableStreamAddReadIntoRequest(stream);\n }\n if (stream._state === 'closed') {\n var emptyView = new ctor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, 0);\n return promiseResolvedWith(ReadableStreamCreateReadResult(emptyView, true, stream._reader._forAuthorCode));\n }\n if (controller._queueTotalSize > 0) {\n if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) === true) {\n var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);\n ReadableByteStreamControllerHandleQueueDrain(controller);\n return promiseResolvedWith(ReadableStreamCreateReadResult(filledView, false, stream._reader._forAuthorCode));\n }\n if (controller._closeRequested === true) {\n var e = new TypeError('Insufficient bytes to fill elements in the given buffer');\n ReadableByteStreamControllerError(controller, e);\n return promiseRejectedWith(e);\n }\n }\n controller._pendingPullIntos.push(pullIntoDescriptor);\n var promise = ReadableStreamAddReadIntoRequest(stream);\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n return promise;\n }\n function ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor) {\n firstDescriptor.buffer = TransferArrayBuffer(firstDescriptor.buffer);\n var stream = controller._controlledReadableByteStream;\n if (ReadableStreamHasBYOBReader(stream) === true) {\n while (ReadableStreamGetNumReadIntoRequests(stream) > 0) {\n var pullIntoDescriptor = ReadableByteStreamControllerShiftPendingPullInto(controller);\n ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor);\n }\n }\n }\n function ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, pullIntoDescriptor) {\n if (pullIntoDescriptor.bytesFilled + bytesWritten > pullIntoDescriptor.byteLength) {\n throw new RangeError('bytesWritten out of range');\n }\n ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesWritten, pullIntoDescriptor);\n if (pullIntoDescriptor.bytesFilled < pullIntoDescriptor.elementSize) {\n return;\n }\n ReadableByteStreamControllerShiftPendingPullInto(controller);\n var remainderSize = pullIntoDescriptor.bytesFilled % pullIntoDescriptor.elementSize;\n if (remainderSize > 0) {\n var end = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled;\n var remainder = pullIntoDescriptor.buffer.slice(end - remainderSize, end);\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, remainder, 0, remainder.byteLength);\n }\n pullIntoDescriptor.buffer = TransferArrayBuffer(pullIntoDescriptor.buffer);\n pullIntoDescriptor.bytesFilled -= remainderSize;\n ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableByteStream, pullIntoDescriptor);\n ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);\n }\n function ReadableByteStreamControllerRespondInternal(controller, bytesWritten) {\n var firstDescriptor = controller._pendingPullIntos.peek();\n var stream = controller._controlledReadableByteStream;\n if (stream._state === 'closed') {\n if (bytesWritten !== 0) {\n throw new TypeError('bytesWritten must be 0 when calling respond() on a closed stream');\n }\n ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor);\n } else {\n ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, firstDescriptor);\n }\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }\n function ReadableByteStreamControllerShiftPendingPullInto(controller) {\n var descriptor = controller._pendingPullIntos.shift();\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n return descriptor;\n }\n function ReadableByteStreamControllerShouldCallPull(controller) {\n var stream = controller._controlledReadableByteStream;\n if (stream._state !== 'readable') {\n return false;\n }\n if (controller._closeRequested === true) {\n return false;\n }\n if (controller._started === false) {\n return false;\n }\n if (ReadableStreamHasDefaultReader(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {\n return true;\n }\n if (ReadableStreamHasBYOBReader(stream) === true && ReadableStreamGetNumReadIntoRequests(stream) > 0) {\n return true;\n }\n var desiredSize = ReadableByteStreamControllerGetDesiredSize(controller);\n if (desiredSize > 0) {\n return true;\n }\n return false;\n }\n function ReadableByteStreamControllerClearAlgorithms(controller) {\n controller._pullAlgorithm = undefined;\n controller._cancelAlgorithm = undefined;\n }\n function ReadableByteStreamControllerClose(controller) {\n var stream = controller._controlledReadableByteStream;\n if (controller._queueTotalSize > 0) {\n controller._closeRequested = true;\n return;\n }\n if (controller._pendingPullIntos.length > 0) {\n var firstPendingPullInto = controller._pendingPullIntos.peek();\n if (firstPendingPullInto.bytesFilled > 0) {\n var e = new TypeError('Insufficient bytes to fill elements in the given buffer');\n ReadableByteStreamControllerError(controller, e);\n throw e;\n }\n }\n ReadableByteStreamControllerClearAlgorithms(controller);\n ReadableStreamClose(stream);\n }\n function ReadableByteStreamControllerEnqueue(controller, chunk) {\n var stream = controller._controlledReadableByteStream;\n var buffer = chunk.buffer;\n var byteOffset = chunk.byteOffset;\n var byteLength = chunk.byteLength;\n var transferredBuffer = TransferArrayBuffer(buffer);\n if (ReadableStreamHasDefaultReader(stream) === true) {\n if (ReadableStreamGetNumReadRequests(stream) === 0) {\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\n } else {\n var transferredView = new Uint8Array(transferredBuffer, byteOffset, byteLength);\n ReadableStreamFulfillReadRequest(stream, transferredView, false);\n }\n } else if (ReadableStreamHasBYOBReader(stream) === true) {\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\n ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);\n } else {\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\n }\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }\n function ReadableByteStreamControllerError(controller, e) {\n var stream = controller._controlledReadableByteStream;\n if (stream._state !== 'readable') {\n return;\n }\n ReadableByteStreamControllerClearPendingPullIntos(controller);\n ResetQueue(controller);\n ReadableByteStreamControllerClearAlgorithms(controller);\n ReadableStreamError(stream, e);\n }\n function ReadableByteStreamControllerGetDesiredSize(controller) {\n var stream = controller._controlledReadableByteStream;\n var state = stream._state;\n if (state === 'errored') {\n return null;\n }\n if (state === 'closed') {\n return 0;\n }\n return controller._strategyHWM - controller._queueTotalSize;\n }\n function ReadableByteStreamControllerRespond(controller, bytesWritten) {\n bytesWritten = Number(bytesWritten);\n if (IsFiniteNonNegativeNumber(bytesWritten) === false) {\n throw new RangeError('bytesWritten must be a finite');\n }\n ReadableByteStreamControllerRespondInternal(controller, bytesWritten);\n }\n function ReadableByteStreamControllerRespondWithNewView(controller, view) {\n var firstDescriptor = controller._pendingPullIntos.peek();\n if (firstDescriptor.byteOffset + firstDescriptor.bytesFilled !== view.byteOffset) {\n throw new RangeError('The region specified by view does not match byobRequest');\n }\n if (firstDescriptor.byteLength !== view.byteLength) {\n throw new RangeError('The buffer of view has different capacity than byobRequest');\n }\n firstDescriptor.buffer = view.buffer;\n ReadableByteStreamControllerRespondInternal(controller, view.byteLength);\n }\n function SetUpReadableByteStreamController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, autoAllocateChunkSize) {\n controller._controlledReadableByteStream = stream;\n controller._pullAgain = false;\n controller._pulling = false;\n controller._byobRequest = undefined;\n controller._queue = controller._queueTotalSize = undefined;\n ResetQueue(controller);\n controller._closeRequested = false;\n controller._started = false;\n controller._strategyHWM = ValidateAndNormalizeHighWaterMark(highWaterMark);\n controller._pullAlgorithm = pullAlgorithm;\n controller._cancelAlgorithm = cancelAlgorithm;\n controller._autoAllocateChunkSize = autoAllocateChunkSize;\n controller._pendingPullIntos = new SimpleQueue();\n stream._readableStreamController = controller;\n var startResult = startAlgorithm();\n uponPromise(promiseResolvedWith(startResult), function () {\n controller._started = true;\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }, function (r) {\n ReadableByteStreamControllerError(controller, r);\n });\n }\n function SetUpReadableByteStreamControllerFromUnderlyingSource(stream, underlyingByteSource, highWaterMark) {\n var controller = Object.create(ReadableByteStreamController.prototype);\n function startAlgorithm() {\n return InvokeOrNoop(underlyingByteSource, 'start', [controller]);\n }\n var pullAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingByteSource, 'pull', 0, [controller]);\n var cancelAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingByteSource, 'cancel', 1, []);\n var autoAllocateChunkSize = underlyingByteSource.autoAllocateChunkSize;\n if (autoAllocateChunkSize !== undefined) {\n autoAllocateChunkSize = Number(autoAllocateChunkSize);\n if (NumberIsInteger(autoAllocateChunkSize) === false || autoAllocateChunkSize <= 0) {\n throw new RangeError('autoAllocateChunkSize must be a positive integer');\n }\n }\n SetUpReadableByteStreamController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, autoAllocateChunkSize);\n }\n function SetUpReadableStreamBYOBRequest(request, controller, view) {\n request._associatedReadableByteStreamController = controller;\n request._view = view;\n }\n function byobRequestBrandCheckException(name) {\n return new TypeError(\"ReadableStreamBYOBRequest.prototype.\" + name + \" can only be used on a ReadableStreamBYOBRequest\");\n }\n function byteStreamControllerBrandCheckException(name) {\n return new TypeError(\"ReadableByteStreamController.prototype.\" + name + \" can only be used on a ReadableByteStreamController\");\n }\n function AcquireReadableStreamBYOBReader(stream, forAuthorCode) {\n if (forAuthorCode === void 0) {\n forAuthorCode = false;\n }\n var reader = new ReadableStreamBYOBReader(stream);\n reader._forAuthorCode = forAuthorCode;\n return reader;\n }\n function ReadableStreamAddReadIntoRequest(stream) {\n var promise = newPromise(function (resolve, reject) {\n var readIntoRequest = {\n _resolve: resolve,\n _reject: reject\n };\n stream._reader._readIntoRequests.push(readIntoRequest);\n });\n return promise;\n }\n function ReadableStreamFulfillReadIntoRequest(stream, chunk, done) {\n var reader = stream._reader;\n var readIntoRequest = reader._readIntoRequests.shift();\n readIntoRequest._resolve(ReadableStreamCreateReadResult(chunk, done, reader._forAuthorCode));\n }\n function ReadableStreamGetNumReadIntoRequests(stream) {\n return stream._reader._readIntoRequests.length;\n }\n function ReadableStreamHasBYOBReader(stream) {\n var reader = stream._reader;\n if (reader === undefined) {\n return false;\n }\n if (!IsReadableStreamBYOBReader(reader)) {\n return false;\n }\n return true;\n }\n var ReadableStreamBYOBReader = function () {\n function ReadableStreamBYOBReader(stream) {\n if (!IsReadableStream(stream)) {\n throw new TypeError('ReadableStreamBYOBReader can only be constructed with a ReadableStream instance given a ' + 'byte source');\n }\n if (IsReadableByteStreamController(stream._readableStreamController) === false) {\n throw new TypeError('Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte ' + 'source');\n }\n if (IsReadableStreamLocked(stream)) {\n throw new TypeError('This stream has already been locked for exclusive reading by another reader');\n }\n ReadableStreamReaderGenericInitialize(this, stream);\n this._readIntoRequests = new SimpleQueue();\n }\n Object.defineProperty(ReadableStreamBYOBReader.prototype, \"closed\", {\n get: function () {\n if (!IsReadableStreamBYOBReader(this)) {\n return promiseRejectedWith(byobReaderBrandCheckException('closed'));\n }\n return this._closedPromise;\n },\n enumerable: true,\n configurable: true\n });\n ReadableStreamBYOBReader.prototype.cancel = function (reason) {\n if (!IsReadableStreamBYOBReader(this)) {\n return promiseRejectedWith(byobReaderBrandCheckException('cancel'));\n }\n if (this._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('cancel'));\n }\n return ReadableStreamReaderGenericCancel(this, reason);\n };\n ReadableStreamBYOBReader.prototype.read = function (view) {\n if (!IsReadableStreamBYOBReader(this)) {\n return promiseRejectedWith(byobReaderBrandCheckException('read'));\n }\n if (this._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('read from'));\n }\n if (!ArrayBuffer.isView(view)) {\n return promiseRejectedWith(new TypeError('view must be an array buffer view'));\n }\n if (IsDetachedBuffer(view.buffer) === true);\n if (view.byteLength === 0) {\n return promiseRejectedWith(new TypeError('view must have non-zero byteLength'));\n }\n return ReadableStreamBYOBReaderRead(this, view);\n };\n ReadableStreamBYOBReader.prototype.releaseLock = function () {\n if (!IsReadableStreamBYOBReader(this)) {\n throw byobReaderBrandCheckException('releaseLock');\n }\n if (this._ownerReadableStream === undefined) {\n return;\n }\n if (this._readIntoRequests.length > 0) {\n throw new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled');\n }\n ReadableStreamReaderGenericRelease(this);\n };\n return ReadableStreamBYOBReader;\n }();\n function IsReadableStreamBYOBReader(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_readIntoRequests')) {\n return false;\n }\n return true;\n }\n function ReadableStreamBYOBReaderRead(reader, view) {\n var stream = reader._ownerReadableStream;\n stream._disturbed = true;\n if (stream._state === 'errored') {\n return promiseRejectedWith(stream._storedError);\n }\n return ReadableByteStreamControllerPullInto(stream._readableStreamController, view);\n }\n function byobReaderBrandCheckException(name) {\n return new TypeError(\"ReadableStreamBYOBReader.prototype.\" + name + \" can only be used on a ReadableStreamBYOBReader\");\n }\n var ReadableStream = function () {\n function ReadableStream(underlyingSource, strategy) {\n if (underlyingSource === void 0) {\n underlyingSource = {};\n }\n if (strategy === void 0) {\n strategy = {};\n }\n InitializeReadableStream(this);\n var size = strategy.size;\n var highWaterMark = strategy.highWaterMark;\n var type = underlyingSource.type;\n var typeString = String(type);\n if (typeString === 'bytes') {\n if (size !== undefined) {\n throw new RangeError('The strategy for a byte stream cannot have a size function');\n }\n if (highWaterMark === undefined) {\n highWaterMark = 0;\n }\n highWaterMark = ValidateAndNormalizeHighWaterMark(highWaterMark);\n SetUpReadableByteStreamControllerFromUnderlyingSource(this, underlyingSource, highWaterMark);\n } else if (type === undefined) {\n var sizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(size);\n if (highWaterMark === undefined) {\n highWaterMark = 1;\n }\n highWaterMark = ValidateAndNormalizeHighWaterMark(highWaterMark);\n SetUpReadableStreamDefaultControllerFromUnderlyingSource(this, underlyingSource, highWaterMark, sizeAlgorithm);\n } else {\n throw new RangeError('Invalid type is specified');\n }\n }\n Object.defineProperty(ReadableStream.prototype, \"locked\", {\n get: function () {\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException$1('locked');\n }\n return IsReadableStreamLocked(this);\n },\n enumerable: true,\n configurable: true\n });\n ReadableStream.prototype.cancel = function (reason) {\n if (IsReadableStream(this) === false) {\n return promiseRejectedWith(streamBrandCheckException$1('cancel'));\n }\n if (IsReadableStreamLocked(this) === true) {\n return promiseRejectedWith(new TypeError('Cannot cancel a stream that already has a reader'));\n }\n return ReadableStreamCancel(this, reason);\n };\n ReadableStream.prototype.getReader = function (_a) {\n var mode = (_a === void 0 ? {} : _a).mode;\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException$1('getReader');\n }\n if (mode === undefined) {\n return AcquireReadableStreamDefaultReader(this, true);\n }\n mode = String(mode);\n if (mode === 'byob') {\n return AcquireReadableStreamBYOBReader(this, true);\n }\n throw new RangeError('Invalid mode is specified');\n };\n ReadableStream.prototype.pipeThrough = function (_a, _b) {\n var writable = _a.writable, readable = _a.readable;\n var _c = _b === void 0 ? {} : _b, preventClose = _c.preventClose, preventAbort = _c.preventAbort, preventCancel = _c.preventCancel, signal = _c.signal;\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException$1('pipeThrough');\n }\n if (IsWritableStream(writable) === false) {\n throw new TypeError('writable argument to pipeThrough must be a WritableStream');\n }\n if (IsReadableStream(readable) === false) {\n throw new TypeError('readable argument to pipeThrough must be a ReadableStream');\n }\n preventClose = Boolean(preventClose);\n preventAbort = Boolean(preventAbort);\n preventCancel = Boolean(preventCancel);\n if (signal !== undefined && !isAbortSignal(signal)) {\n throw new TypeError('ReadableStream.prototype.pipeThrough\\'s signal option must be an AbortSignal');\n }\n if (IsReadableStreamLocked(this) === true) {\n throw new TypeError('ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream');\n }\n if (IsWritableStreamLocked(writable) === true) {\n throw new TypeError('ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream');\n }\n var promise = ReadableStreamPipeTo(this, writable, preventClose, preventAbort, preventCancel, signal);\n setPromiseIsHandledToTrue(promise);\n return readable;\n };\n ReadableStream.prototype.pipeTo = function (dest, _a) {\n var _b = _a === void 0 ? {} : _a, preventClose = _b.preventClose, preventAbort = _b.preventAbort, preventCancel = _b.preventCancel, signal = _b.signal;\n if (IsReadableStream(this) === false) {\n return promiseRejectedWith(streamBrandCheckException$1('pipeTo'));\n }\n if (IsWritableStream(dest) === false) {\n return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo\\'s first argument must be a WritableStream'));\n }\n preventClose = Boolean(preventClose);\n preventAbort = Boolean(preventAbort);\n preventCancel = Boolean(preventCancel);\n if (signal !== undefined && !isAbortSignal(signal)) {\n return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo\\'s signal option must be an AbortSignal'));\n }\n if (IsReadableStreamLocked(this) === true) {\n return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream'));\n }\n if (IsWritableStreamLocked(dest) === true) {\n return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream'));\n }\n return ReadableStreamPipeTo(this, dest, preventClose, preventAbort, preventCancel, signal);\n };\n ReadableStream.prototype.tee = function () {\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException$1('tee');\n }\n var branches = ReadableStreamTee(this);\n return createArrayFromList(branches);\n };\n ReadableStream.prototype.getIterator = function (_a) {\n var _b = (_a === void 0 ? {} : _a).preventCancel, preventCancel = _b === void 0 ? false : _b;\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException$1('getIterator');\n }\n return AcquireReadableStreamAsyncIterator(this, preventCancel);\n };\n return ReadableStream;\n }();\n if (typeof SymbolPolyfill.asyncIterator === 'symbol') {\n Object.defineProperty(ReadableStream.prototype, SymbolPolyfill.asyncIterator, {\n value: ReadableStream.prototype.getIterator,\n enumerable: false,\n writable: true,\n configurable: true\n });\n }\n function CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm) {\n if (highWaterMark === void 0) {\n highWaterMark = 1;\n }\n if (sizeAlgorithm === void 0) {\n sizeAlgorithm = function () {\n return 1;\n };\n }\n var stream = Object.create(ReadableStream.prototype);\n InitializeReadableStream(stream);\n var controller = Object.create(ReadableStreamDefaultController.prototype);\n SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm);\n return stream;\n }\n function InitializeReadableStream(stream) {\n stream._state = 'readable';\n stream._reader = undefined;\n stream._storedError = undefined;\n stream._disturbed = false;\n }\n function IsReadableStream(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_readableStreamController')) {\n return false;\n }\n return true;\n }\n function IsReadableStreamLocked(stream) {\n if (stream._reader === undefined) {\n return false;\n }\n return true;\n }\n function ReadableStreamCancel(stream, reason) {\n stream._disturbed = true;\n if (stream._state === 'closed') {\n return promiseResolvedWith(undefined);\n }\n if (stream._state === 'errored') {\n return promiseRejectedWith(stream._storedError);\n }\n ReadableStreamClose(stream);\n var sourceCancelPromise = stream._readableStreamController[CancelSteps](reason);\n return transformPromiseWith(sourceCancelPromise, noop);\n }\n function ReadableStreamClose(stream) {\n stream._state = 'closed';\n var reader = stream._reader;\n if (reader === undefined) {\n return;\n }\n if (IsReadableStreamDefaultReader(reader)) {\n reader._readRequests.forEach(function (readRequest) {\n readRequest._resolve(ReadableStreamCreateReadResult(undefined, true, reader._forAuthorCode));\n });\n reader._readRequests = new SimpleQueue();\n }\n defaultReaderClosedPromiseResolve(reader);\n }\n function ReadableStreamError(stream, e) {\n stream._state = 'errored';\n stream._storedError = e;\n var reader = stream._reader;\n if (reader === undefined) {\n return;\n }\n if (IsReadableStreamDefaultReader(reader)) {\n reader._readRequests.forEach(function (readRequest) {\n readRequest._reject(e);\n });\n reader._readRequests = new SimpleQueue();\n } else {\n reader._readIntoRequests.forEach(function (readIntoRequest) {\n readIntoRequest._reject(e);\n });\n reader._readIntoRequests = new SimpleQueue();\n }\n defaultReaderClosedPromiseReject(reader, e);\n }\n function streamBrandCheckException$1(name) {\n return new TypeError(\"ReadableStream.prototype.\" + name + \" can only be used on a ReadableStream\");\n }\n var ByteLengthQueuingStrategy = function () {\n function ByteLengthQueuingStrategy(_a) {\n var highWaterMark = _a.highWaterMark;\n this.highWaterMark = highWaterMark;\n }\n ByteLengthQueuingStrategy.prototype.size = function (chunk) {\n return chunk.byteLength;\n };\n return ByteLengthQueuingStrategy;\n }();\n var CountQueuingStrategy = function () {\n function CountQueuingStrategy(_a) {\n var highWaterMark = _a.highWaterMark;\n this.highWaterMark = highWaterMark;\n }\n CountQueuingStrategy.prototype.size = function () {\n return 1;\n };\n return CountQueuingStrategy;\n }();\n var TransformStream = function () {\n function TransformStream(transformer, writableStrategy, readableStrategy) {\n if (transformer === void 0) {\n transformer = {};\n }\n if (writableStrategy === void 0) {\n writableStrategy = {};\n }\n if (readableStrategy === void 0) {\n readableStrategy = {};\n }\n var writableSizeFunction = writableStrategy.size;\n var writableHighWaterMark = writableStrategy.highWaterMark;\n var readableSizeFunction = readableStrategy.size;\n var readableHighWaterMark = readableStrategy.highWaterMark;\n var writableType = transformer.writableType;\n if (writableType !== undefined) {\n throw new RangeError('Invalid writable type specified');\n }\n var writableSizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(writableSizeFunction);\n if (writableHighWaterMark === undefined) {\n writableHighWaterMark = 1;\n }\n writableHighWaterMark = ValidateAndNormalizeHighWaterMark(writableHighWaterMark);\n var readableType = transformer.readableType;\n if (readableType !== undefined) {\n throw new RangeError('Invalid readable type specified');\n }\n var readableSizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(readableSizeFunction);\n if (readableHighWaterMark === undefined) {\n readableHighWaterMark = 0;\n }\n readableHighWaterMark = ValidateAndNormalizeHighWaterMark(readableHighWaterMark);\n var startPromise_resolve;\n var startPromise = newPromise(function (resolve) {\n startPromise_resolve = resolve;\n });\n InitializeTransformStream(this, startPromise, writableHighWaterMark, writableSizeAlgorithm, readableHighWaterMark, readableSizeAlgorithm);\n SetUpTransformStreamDefaultControllerFromTransformer(this, transformer);\n var startResult = InvokeOrNoop(transformer, 'start', [this._transformStreamController]);\n startPromise_resolve(startResult);\n }\n Object.defineProperty(TransformStream.prototype, \"readable\", {\n get: function () {\n if (IsTransformStream(this) === false) {\n throw streamBrandCheckException$2('readable');\n }\n return this._readable;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(TransformStream.prototype, \"writable\", {\n get: function () {\n if (IsTransformStream(this) === false) {\n throw streamBrandCheckException$2('writable');\n }\n return this._writable;\n },\n enumerable: true,\n configurable: true\n });\n return TransformStream;\n }();\n function InitializeTransformStream(stream, startPromise, writableHighWaterMark, writableSizeAlgorithm, readableHighWaterMark, readableSizeAlgorithm) {\n function startAlgorithm() {\n return startPromise;\n }\n function writeAlgorithm(chunk) {\n return TransformStreamDefaultSinkWriteAlgorithm(stream, chunk);\n }\n function abortAlgorithm(reason) {\n return TransformStreamDefaultSinkAbortAlgorithm(stream, reason);\n }\n function closeAlgorithm() {\n return TransformStreamDefaultSinkCloseAlgorithm(stream);\n }\n stream._writable = CreateWritableStream(startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, writableHighWaterMark, writableSizeAlgorithm);\n function pullAlgorithm() {\n return TransformStreamDefaultSourcePullAlgorithm(stream);\n }\n function cancelAlgorithm(reason) {\n TransformStreamErrorWritableAndUnblockWrite(stream, reason);\n return promiseResolvedWith(undefined);\n }\n stream._readable = CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, readableHighWaterMark, readableSizeAlgorithm);\n stream._backpressure = undefined;\n stream._backpressureChangePromise = undefined;\n stream._backpressureChangePromise_resolve = undefined;\n TransformStreamSetBackpressure(stream, true);\n stream._transformStreamController = undefined;\n }\n function IsTransformStream(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_transformStreamController')) {\n return false;\n }\n return true;\n }\n function TransformStreamError(stream, e) {\n ReadableStreamDefaultControllerError(stream._readable._readableStreamController, e);\n TransformStreamErrorWritableAndUnblockWrite(stream, e);\n }\n function TransformStreamErrorWritableAndUnblockWrite(stream, e) {\n TransformStreamDefaultControllerClearAlgorithms(stream._transformStreamController);\n WritableStreamDefaultControllerErrorIfNeeded(stream._writable._writableStreamController, e);\n if (stream._backpressure === true) {\n TransformStreamSetBackpressure(stream, false);\n }\n }\n function TransformStreamSetBackpressure(stream, backpressure) {\n if (stream._backpressureChangePromise !== undefined) {\n stream._backpressureChangePromise_resolve();\n }\n stream._backpressureChangePromise = newPromise(function (resolve) {\n stream._backpressureChangePromise_resolve = resolve;\n });\n stream._backpressure = backpressure;\n }\n var TransformStreamDefaultController = function () {\n function TransformStreamDefaultController() {\n throw new TypeError('TransformStreamDefaultController instances cannot be created directly');\n }\n Object.defineProperty(TransformStreamDefaultController.prototype, \"desiredSize\", {\n get: function () {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException$1('desiredSize');\n }\n var readableController = this._controlledTransformStream._readable._readableStreamController;\n return ReadableStreamDefaultControllerGetDesiredSize(readableController);\n },\n enumerable: true,\n configurable: true\n });\n TransformStreamDefaultController.prototype.enqueue = function (chunk) {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException$1('enqueue');\n }\n TransformStreamDefaultControllerEnqueue(this, chunk);\n };\n TransformStreamDefaultController.prototype.error = function (reason) {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException$1('error');\n }\n TransformStreamDefaultControllerError(this, reason);\n };\n TransformStreamDefaultController.prototype.terminate = function () {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException$1('terminate');\n }\n TransformStreamDefaultControllerTerminate(this);\n };\n return TransformStreamDefaultController;\n }();\n function IsTransformStreamDefaultController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_controlledTransformStream')) {\n return false;\n }\n return true;\n }\n function SetUpTransformStreamDefaultController(stream, controller, transformAlgorithm, flushAlgorithm) {\n controller._controlledTransformStream = stream;\n stream._transformStreamController = controller;\n controller._transformAlgorithm = transformAlgorithm;\n controller._flushAlgorithm = flushAlgorithm;\n }\n function SetUpTransformStreamDefaultControllerFromTransformer(stream, transformer) {\n var controller = Object.create(TransformStreamDefaultController.prototype);\n var transformAlgorithm = function (chunk) {\n try {\n TransformStreamDefaultControllerEnqueue(controller, chunk);\n return promiseResolvedWith(undefined);\n } catch (transformResultE) {\n return promiseRejectedWith(transformResultE);\n }\n };\n var transformMethod = transformer.transform;\n if (transformMethod !== undefined) {\n if (typeof transformMethod !== 'function') {\n throw new TypeError('transform is not a method');\n }\n transformAlgorithm = function (chunk) {\n return PromiseCall(transformMethod, transformer, [\n chunk,\n controller\n ]);\n };\n }\n var flushAlgorithm = CreateAlgorithmFromUnderlyingMethod(transformer, 'flush', 0, [controller]);\n SetUpTransformStreamDefaultController(stream, controller, transformAlgorithm, flushAlgorithm);\n }\n function TransformStreamDefaultControllerClearAlgorithms(controller) {\n controller._transformAlgorithm = undefined;\n controller._flushAlgorithm = undefined;\n }\n function TransformStreamDefaultControllerEnqueue(controller, chunk) {\n var stream = controller._controlledTransformStream;\n var readableController = stream._readable._readableStreamController;\n if (ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController) === false) {\n throw new TypeError('Readable side is not in a state that permits enqueue');\n }\n try {\n ReadableStreamDefaultControllerEnqueue(readableController, chunk);\n } catch (e) {\n TransformStreamErrorWritableAndUnblockWrite(stream, e);\n throw stream._readable._storedError;\n }\n var backpressure = ReadableStreamDefaultControllerHasBackpressure(readableController);\n if (backpressure !== stream._backpressure) {\n TransformStreamSetBackpressure(stream, true);\n }\n }\n function TransformStreamDefaultControllerError(controller, e) {\n TransformStreamError(controller._controlledTransformStream, e);\n }\n function TransformStreamDefaultControllerPerformTransform(controller, chunk) {\n var transformPromise = controller._transformAlgorithm(chunk);\n return transformPromiseWith(transformPromise, undefined, function (r) {\n TransformStreamError(controller._controlledTransformStream, r);\n throw r;\n });\n }\n function TransformStreamDefaultControllerTerminate(controller) {\n var stream = controller._controlledTransformStream;\n var readableController = stream._readable._readableStreamController;\n if (ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController) === true) {\n ReadableStreamDefaultControllerClose(readableController);\n }\n var error = new TypeError('TransformStream terminated');\n TransformStreamErrorWritableAndUnblockWrite(stream, error);\n }\n function TransformStreamDefaultSinkWriteAlgorithm(stream, chunk) {\n var controller = stream._transformStreamController;\n if (stream._backpressure === true) {\n var backpressureChangePromise = stream._backpressureChangePromise;\n return transformPromiseWith(backpressureChangePromise, function () {\n var writable = stream._writable;\n var state = writable._state;\n if (state === 'erroring') {\n throw writable._storedError;\n }\n return TransformStreamDefaultControllerPerformTransform(controller, chunk);\n });\n }\n return TransformStreamDefaultControllerPerformTransform(controller, chunk);\n }\n function TransformStreamDefaultSinkAbortAlgorithm(stream, reason) {\n TransformStreamError(stream, reason);\n return promiseResolvedWith(undefined);\n }\n function TransformStreamDefaultSinkCloseAlgorithm(stream) {\n var readable = stream._readable;\n var controller = stream._transformStreamController;\n var flushPromise = controller._flushAlgorithm();\n TransformStreamDefaultControllerClearAlgorithms(controller);\n return transformPromiseWith(flushPromise, function () {\n if (readable._state === 'errored') {\n throw readable._storedError;\n }\n var readableController = readable._readableStreamController;\n if (ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController) === true) {\n ReadableStreamDefaultControllerClose(readableController);\n }\n }, function (r) {\n TransformStreamError(stream, r);\n throw readable._storedError;\n });\n }\n function TransformStreamDefaultSourcePullAlgorithm(stream) {\n TransformStreamSetBackpressure(stream, false);\n return stream._backpressureChangePromise;\n }\n function defaultControllerBrandCheckException$1(name) {\n return new TypeError(\"TransformStreamDefaultController.prototype.\" + name + \" can only be used on a TransformStreamDefaultController\");\n }\n function streamBrandCheckException$2(name) {\n return new TypeError(\"TransformStream.prototype.\" + name + \" can only be used on a TransformStream\");\n }\n exports.ByteLengthQueuingStrategy = ByteLengthQueuingStrategy;\n exports.CountQueuingStrategy = CountQueuingStrategy;\n exports.ReadableStream = ReadableStream;\n exports.TransformStream = TransformStream;\n exports.WritableStream = WritableStream;\n Object.defineProperty(exports, '__esModule', { value: true });\n}));\n\n/***/ }),\n/* 144 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(145);\n__w_pdfjs_require__(114);\n__w_pdfjs_require__(77);\n__w_pdfjs_require__(116);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Map;\n\n/***/ }),\n/* 145 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar collection = __w_pdfjs_require__(146);\nvar collectionStrong = __w_pdfjs_require__(150);\nmodule.exports = collection('Map', function (init) {\n return function Map() {\n return init(this, arguments.length ? arguments[0] : undefined);\n };\n}, collectionStrong);\n\n/***/ }),\n/* 146 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar global = __w_pdfjs_require__(11);\nvar isForced = __w_pdfjs_require__(52);\nvar redefine = __w_pdfjs_require__(29);\nvar InternalMetadataModule = __w_pdfjs_require__(147);\nvar iterate = __w_pdfjs_require__(124);\nvar anInstance = __w_pdfjs_require__(123);\nvar isObject = __w_pdfjs_require__(22);\nvar fails = __w_pdfjs_require__(14);\nvar checkCorrectnessOfIteration = __w_pdfjs_require__(97);\nvar setToStringTag = __w_pdfjs_require__(85);\nvar inheritIfRequired = __w_pdfjs_require__(149);\nmodule.exports = function (CONSTRUCTOR_NAME, wrapper, common) {\n var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;\n var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;\n var ADDER = IS_MAP ? 'set' : 'add';\n var NativeConstructor = global[CONSTRUCTOR_NAME];\n var NativePrototype = NativeConstructor && NativeConstructor.prototype;\n var Constructor = NativeConstructor;\n var exported = {};\n var fixMethod = function (KEY) {\n var nativeMethod = NativePrototype[KEY];\n redefine(NativePrototype, KEY, KEY == 'add' ? function add(value) {\n nativeMethod.call(this, value === 0 ? 0 : value);\n return this;\n } : KEY == 'delete' ? function (key) {\n return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n } : KEY == 'get' ? function get(key) {\n return IS_WEAK && !isObject(key) ? undefined : nativeMethod.call(this, key === 0 ? 0 : key);\n } : KEY == 'has' ? function has(key) {\n return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n } : function set(key, value) {\n nativeMethod.call(this, key === 0 ? 0 : key, value);\n return this;\n });\n };\n if (isForced(CONSTRUCTOR_NAME, typeof NativeConstructor != 'function' || !(IS_WEAK || NativePrototype.forEach && !fails(function () {\n new NativeConstructor().entries().next();\n })))) {\n Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);\n InternalMetadataModule.REQUIRED = true;\n } else if (isForced(CONSTRUCTOR_NAME, true)) {\n var instance = new Constructor();\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n var THROWS_ON_PRIMITIVES = fails(function () {\n instance.has(1);\n });\n var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) {\n new NativeConstructor(iterable);\n });\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n var $instance = new NativeConstructor();\n var index = 5;\n while (index--)\n $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n if (!ACCEPT_ITERABLES) {\n Constructor = wrapper(function (dummy, iterable) {\n anInstance(dummy, Constructor, CONSTRUCTOR_NAME);\n var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);\n if (iterable != undefined)\n iterate(iterable, that[ADDER], that, IS_MAP);\n return that;\n });\n Constructor.prototype = NativePrototype;\n NativePrototype.constructor = Constructor;\n }\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n if (BUGGY_ZERO || HASNT_CHAINING)\n fixMethod(ADDER);\n if (IS_WEAK && NativePrototype.clear)\n delete NativePrototype.clear;\n }\n exported[CONSTRUCTOR_NAME] = Constructor;\n $({\n global: true,\n forced: Constructor != NativeConstructor\n }, exported);\n setToStringTag(Constructor, CONSTRUCTOR_NAME);\n if (!IS_WEAK)\n common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);\n return Constructor;\n};\n\n/***/ }),\n/* 147 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar hiddenKeys = __w_pdfjs_require__(39);\nvar isObject = __w_pdfjs_require__(22);\nvar has = __w_pdfjs_require__(23);\nvar defineProperty = __w_pdfjs_require__(27).f;\nvar uid = __w_pdfjs_require__(38);\nvar FREEZING = __w_pdfjs_require__(148);\nvar METADATA = uid('meta');\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar setMetadata = function (it) {\n defineProperty(it, METADATA, {\n value: {\n objectID: 'O' + ++id,\n weakData: {}\n }\n });\n};\nvar fastKey = function (it, create) {\n if (!isObject(it))\n return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, METADATA)) {\n if (!isExtensible(it))\n return 'F';\n if (!create)\n return 'E';\n setMetadata(it);\n }\n return it[METADATA].objectID;\n};\nvar getWeakData = function (it, create) {\n if (!has(it, METADATA)) {\n if (!isExtensible(it))\n return true;\n if (!create)\n return false;\n setMetadata(it);\n }\n return it[METADATA].weakData;\n};\nvar onFreeze = function (it) {\n if (FREEZING && meta.REQUIRED && isExtensible(it) && !has(it, METADATA))\n setMetadata(it);\n return it;\n};\nvar meta = module.exports = {\n REQUIRED: false,\n fastKey: fastKey,\n getWeakData: getWeakData,\n onFreeze: onFreeze\n};\nhiddenKeys[METADATA] = true;\n\n/***/ }),\n/* 148 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(14);\nmodule.exports = !fails(function () {\n return Object.isExtensible(Object.preventExtensions({}));\n});\n\n/***/ }),\n/* 149 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(22);\nvar setPrototypeOf = __w_pdfjs_require__(87);\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (setPrototypeOf && typeof (NewTarget = dummy.constructor) == 'function' && NewTarget !== Wrapper && isObject(NewTargetPrototype = NewTarget.prototype) && NewTargetPrototype !== Wrapper.prototype)\n setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n\n/***/ }),\n/* 150 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar defineProperty = __w_pdfjs_require__(27).f;\nvar create = __w_pdfjs_require__(71);\nvar redefineAll = __w_pdfjs_require__(121);\nvar bind = __w_pdfjs_require__(62);\nvar anInstance = __w_pdfjs_require__(123);\nvar iterate = __w_pdfjs_require__(124);\nvar defineIterator = __w_pdfjs_require__(79);\nvar setSpecies = __w_pdfjs_require__(122);\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar fastKey = __w_pdfjs_require__(147).fastKey;\nvar InternalStateModule = __w_pdfjs_require__(33);\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\nmodule.exports = {\n getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, CONSTRUCTOR_NAME);\n setInternalState(that, {\n type: CONSTRUCTOR_NAME,\n index: create(null),\n first: undefined,\n last: undefined,\n size: 0\n });\n if (!DESCRIPTORS)\n that.size = 0;\n if (iterable != undefined)\n iterate(iterable, that[ADDER], that, IS_MAP);\n });\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n var previous, index;\n if (entry) {\n entry.value = value;\n } else {\n state.last = entry = {\n index: index = fastKey(key, true),\n key: key,\n value: value,\n previous: previous = state.last,\n next: undefined,\n removed: false\n };\n if (!state.first)\n state.first = entry;\n if (previous)\n previous.next = entry;\n if (DESCRIPTORS)\n state.size++;\n else\n that.size++;\n if (index !== 'F')\n state.index[index] = entry;\n }\n return that;\n };\n var getEntry = function (that, key) {\n var state = getInternalState(that);\n var index = fastKey(key);\n var entry;\n if (index !== 'F')\n return state.index[index];\n for (entry = state.first; entry; entry = entry.next) {\n if (entry.key == key)\n return entry;\n }\n };\n redefineAll(C.prototype, {\n clear: function clear() {\n var that = this;\n var state = getInternalState(that);\n var data = state.index;\n var entry = state.first;\n while (entry) {\n entry.removed = true;\n if (entry.previous)\n entry.previous = entry.previous.next = undefined;\n delete data[entry.index];\n entry = entry.next;\n }\n state.first = state.last = undefined;\n if (DESCRIPTORS)\n state.size = 0;\n else\n that.size = 0;\n },\n 'delete': function (key) {\n var that = this;\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.next;\n var prev = entry.previous;\n delete state.index[entry.index];\n entry.removed = true;\n if (prev)\n prev.next = next;\n if (next)\n next.previous = prev;\n if (state.first == entry)\n state.first = next;\n if (state.last == entry)\n state.last = prev;\n if (DESCRIPTORS)\n state.size--;\n else\n that.size--;\n }\n return !!entry;\n },\n forEach: function forEach(callbackfn) {\n var state = getInternalState(this);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n var entry;\n while (entry = entry ? entry.next : state.first) {\n boundFunction(entry.value, entry.key, this);\n while (entry && entry.removed)\n entry = entry.previous;\n }\n },\n has: function has(key) {\n return !!getEntry(this, key);\n }\n });\n redefineAll(C.prototype, IS_MAP ? {\n get: function get(key) {\n var entry = getEntry(this, key);\n return entry && entry.value;\n },\n set: function set(key, value) {\n return define(this, key === 0 ? 0 : key, value);\n }\n } : {\n add: function add(value) {\n return define(this, value = value === 0 ? 0 : value, value);\n }\n });\n if (DESCRIPTORS)\n defineProperty(C.prototype, 'size', {\n get: function () {\n return getInternalState(this).size;\n }\n });\n return C;\n },\n setStrong: function (C, CONSTRUCTOR_NAME, IS_MAP) {\n var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';\n var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);\n var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME);\n defineIterator(C, CONSTRUCTOR_NAME, function (iterated, kind) {\n setInternalState(this, {\n type: ITERATOR_NAME,\n target: iterated,\n state: getInternalCollectionState(iterated),\n kind: kind,\n last: undefined\n });\n }, function () {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var entry = state.last;\n while (entry && entry.removed)\n entry = entry.previous;\n if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {\n state.target = undefined;\n return {\n value: undefined,\n done: true\n };\n }\n if (kind == 'keys')\n return {\n value: entry.key,\n done: false\n };\n if (kind == 'values')\n return {\n value: entry.value,\n done: false\n };\n return {\n value: [\n entry.key,\n entry.value\n ],\n done: false\n };\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n setSpecies(CONSTRUCTOR_NAME);\n }\n};\n\n/***/ }),\n/* 151 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(152);\n__w_pdfjs_require__(114);\n__w_pdfjs_require__(77);\n__w_pdfjs_require__(116);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Set;\n\n/***/ }),\n/* 152 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar collection = __w_pdfjs_require__(146);\nvar collectionStrong = __w_pdfjs_require__(150);\nmodule.exports = collection('Set', function (init) {\n return function Set() {\n return init(this, arguments.length ? arguments[0] : undefined);\n };\n}, collectionStrong);\n\n/***/ }),\n/* 153 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(114);\n__w_pdfjs_require__(154);\n__w_pdfjs_require__(116);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.WeakMap;\n\n/***/ }),\n/* 154 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar global = __w_pdfjs_require__(11);\nvar redefineAll = __w_pdfjs_require__(121);\nvar InternalMetadataModule = __w_pdfjs_require__(147);\nvar collection = __w_pdfjs_require__(146);\nvar collectionWeak = __w_pdfjs_require__(155);\nvar isObject = __w_pdfjs_require__(22);\nvar enforceIternalState = __w_pdfjs_require__(33).enforce;\nvar NATIVE_WEAK_MAP = __w_pdfjs_require__(34);\nvar IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global;\nvar isExtensible = Object.isExtensible;\nvar InternalWeakMap;\nvar wrapper = function (init) {\n return function WeakMap() {\n return init(this, arguments.length ? arguments[0] : undefined);\n };\n};\nvar $WeakMap = module.exports = collection('WeakMap', wrapper, collectionWeak);\nif (NATIVE_WEAK_MAP && IS_IE11) {\n InternalWeakMap = collectionWeak.getConstructor(wrapper, 'WeakMap', true);\n InternalMetadataModule.REQUIRED = true;\n var WeakMapPrototype = $WeakMap.prototype;\n var nativeDelete = WeakMapPrototype['delete'];\n var nativeHas = WeakMapPrototype.has;\n var nativeGet = WeakMapPrototype.get;\n var nativeSet = WeakMapPrototype.set;\n redefineAll(WeakMapPrototype, {\n 'delete': function (key) {\n if (isObject(key) && !isExtensible(key)) {\n var state = enforceIternalState(this);\n if (!state.frozen)\n state.frozen = new InternalWeakMap();\n return nativeDelete.call(this, key) || state.frozen['delete'](key);\n }\n return nativeDelete.call(this, key);\n },\n has: function has(key) {\n if (isObject(key) && !isExtensible(key)) {\n var state = enforceIternalState(this);\n if (!state.frozen)\n state.frozen = new InternalWeakMap();\n return nativeHas.call(this, key) || state.frozen.has(key);\n }\n return nativeHas.call(this, key);\n },\n get: function get(key) {\n if (isObject(key) && !isExtensible(key)) {\n var state = enforceIternalState(this);\n if (!state.frozen)\n state.frozen = new InternalWeakMap();\n return nativeHas.call(this, key) ? nativeGet.call(this, key) : state.frozen.get(key);\n }\n return nativeGet.call(this, key);\n },\n set: function set(key, value) {\n if (isObject(key) && !isExtensible(key)) {\n var state = enforceIternalState(this);\n if (!state.frozen)\n state.frozen = new InternalWeakMap();\n nativeHas.call(this, key) ? nativeSet.call(this, key, value) : state.frozen.set(key, value);\n } else\n nativeSet.call(this, key, value);\n return this;\n }\n });\n}\n\n/***/ }),\n/* 155 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar redefineAll = __w_pdfjs_require__(121);\nvar getWeakData = __w_pdfjs_require__(147).getWeakData;\nvar anObject = __w_pdfjs_require__(28);\nvar isObject = __w_pdfjs_require__(22);\nvar anInstance = __w_pdfjs_require__(123);\nvar iterate = __w_pdfjs_require__(124);\nvar ArrayIterationModule = __w_pdfjs_require__(156);\nvar $has = __w_pdfjs_require__(23);\nvar InternalStateModule = __w_pdfjs_require__(33);\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\nvar find = ArrayIterationModule.find;\nvar findIndex = ArrayIterationModule.findIndex;\nvar id = 0;\nvar uncaughtFrozenStore = function (store) {\n return store.frozen || (store.frozen = new UncaughtFrozenStore());\n};\nvar UncaughtFrozenStore = function () {\n this.entries = [];\n};\nvar findUncaughtFrozen = function (store, key) {\n return find(store.entries, function (it) {\n return it[0] === key;\n });\n};\nUncaughtFrozenStore.prototype = {\n get: function (key) {\n var entry = findUncaughtFrozen(this, key);\n if (entry)\n return entry[1];\n },\n has: function (key) {\n return !!findUncaughtFrozen(this, key);\n },\n set: function (key, value) {\n var entry = findUncaughtFrozen(this, key);\n if (entry)\n entry[1] = value;\n else\n this.entries.push([\n key,\n value\n ]);\n },\n 'delete': function (key) {\n var index = findIndex(this.entries, function (it) {\n return it[0] === key;\n });\n if (~index)\n this.entries.splice(index, 1);\n return !!~index;\n }\n};\nmodule.exports = {\n getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, CONSTRUCTOR_NAME);\n setInternalState(that, {\n type: CONSTRUCTOR_NAME,\n id: id++,\n frozen: undefined\n });\n if (iterable != undefined)\n iterate(iterable, that[ADDER], that, IS_MAP);\n });\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var data = getWeakData(anObject(key), true);\n if (data === true)\n uncaughtFrozenStore(state).set(key, value);\n else\n data[state.id] = value;\n return that;\n };\n redefineAll(C.prototype, {\n 'delete': function (key) {\n var state = getInternalState(this);\n if (!isObject(key))\n return false;\n var data = getWeakData(key);\n if (data === true)\n return uncaughtFrozenStore(state)['delete'](key);\n return data && $has(data, state.id) && delete data[state.id];\n },\n has: function has(key) {\n var state = getInternalState(this);\n if (!isObject(key))\n return false;\n var data = getWeakData(key);\n if (data === true)\n return uncaughtFrozenStore(state).has(key);\n return data && $has(data, state.id);\n }\n });\n redefineAll(C.prototype, IS_MAP ? {\n get: function get(key) {\n var state = getInternalState(this);\n if (isObject(key)) {\n var data = getWeakData(key);\n if (data === true)\n return uncaughtFrozenStore(state).get(key);\n return data ? data[state.id] : undefined;\n }\n },\n set: function set(key, value) {\n return define(this, key, value);\n }\n } : {\n add: function add(value) {\n return define(this, value, true);\n }\n });\n return C;\n }\n};\n\n/***/ }),\n/* 156 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar bind = __w_pdfjs_require__(62);\nvar IndexedObject = __w_pdfjs_require__(18);\nvar toObject = __w_pdfjs_require__(83);\nvar toLength = __w_pdfjs_require__(47);\nvar arraySpeciesCreate = __w_pdfjs_require__(157);\nvar push = [].push;\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var boundFunction = bind(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var value, result;\n for (; length > index; index++)\n if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP)\n target[index] = result;\n else if (result)\n switch (TYPE) {\n case 3:\n return true;\n case 5:\n return value;\n case 6:\n return index;\n case 2:\n push.call(target, value);\n }\n else if (IS_EVERY)\n return false;\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\nmodule.exports = {\n forEach: createMethod(0),\n map: createMethod(1),\n filter: createMethod(2),\n some: createMethod(3),\n every: createMethod(4),\n find: createMethod(5),\n findIndex: createMethod(6)\n};\n\n/***/ }),\n/* 157 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(22);\nvar isArray = __w_pdfjs_require__(158);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar SPECIES = wellKnownSymbol('species');\nmodule.exports = function (originalArray, length) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n if (typeof C == 'function' && (C === Array || isArray(C.prototype)))\n C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null)\n C = undefined;\n }\n }\n return new (C === undefined ? Array : C)(length === 0 ? 0 : length);\n};\n\n/***/ }),\n/* 158 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar classof = __w_pdfjs_require__(19);\nmodule.exports = Array.isArray || function isArray(arg) {\n return classof(arg) == 'Array';\n};\n\n/***/ }),\n/* 159 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(114);\n__w_pdfjs_require__(160);\n__w_pdfjs_require__(116);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.WeakSet;\n\n/***/ }),\n/* 160 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar collection = __w_pdfjs_require__(146);\nvar collectionWeak = __w_pdfjs_require__(155);\ncollection('WeakSet', function (init) {\n return function WeakSet() {\n return init(this, arguments.length ? arguments[0] : undefined);\n };\n}, collectionWeak);\n\n/***/ }),\n/* 161 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(162);\nvar entryUnbind = __w_pdfjs_require__(61);\nmodule.exports = entryUnbind('String', 'codePointAt');\n\n/***/ }),\n/* 162 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar codeAt = __w_pdfjs_require__(78).codeAt;\n$({\n target: 'String',\n proto: true\n}, {\n codePointAt: function codePointAt(pos) {\n return codeAt(this, pos);\n }\n});\n\n/***/ }),\n/* 163 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(164);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.String.fromCodePoint;\n\n/***/ }),\n/* 164 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\nvar toAbsoluteIndex = __w_pdfjs_require__(49);\nvar fromCharCode = String.fromCharCode;\nvar nativeFromCodePoint = String.fromCodePoint;\nvar INCORRECT_LENGTH = !!nativeFromCodePoint && nativeFromCodePoint.length != 1;\n$({\n target: 'String',\n stat: true,\n forced: INCORRECT_LENGTH\n}, {\n fromCodePoint: function fromCodePoint(x) {\n var elements = [];\n var length = arguments.length;\n var i = 0;\n var code;\n while (length > i) {\n code = +arguments[i++];\n if (toAbsoluteIndex(code, 0x10FFFF) !== code)\n throw RangeError(code + ' is not a valid code point');\n elements.push(code < 0x10000 ? fromCharCode(code) : fromCharCode(((code -= 0x10000) >> 10) + 0xD800, code % 0x400 + 0xDC00));\n }\n return elements.join('');\n }\n});\n\n/***/ }),\n/* 165 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(166);\n__w_pdfjs_require__(114);\n__w_pdfjs_require__(168);\n__w_pdfjs_require__(172);\n__w_pdfjs_require__(173);\n__w_pdfjs_require__(174);\n__w_pdfjs_require__(175);\n__w_pdfjs_require__(176);\n__w_pdfjs_require__(177);\n__w_pdfjs_require__(178);\n__w_pdfjs_require__(179);\n__w_pdfjs_require__(180);\n__w_pdfjs_require__(181);\n__w_pdfjs_require__(182);\n__w_pdfjs_require__(183);\n__w_pdfjs_require__(184);\n__w_pdfjs_require__(185);\n__w_pdfjs_require__(186);\n__w_pdfjs_require__(187);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Symbol;\n\n/***/ }),\n/* 166 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar fails = __w_pdfjs_require__(14);\nvar isArray = __w_pdfjs_require__(158);\nvar isObject = __w_pdfjs_require__(22);\nvar toObject = __w_pdfjs_require__(83);\nvar toLength = __w_pdfjs_require__(47);\nvar createProperty = __w_pdfjs_require__(93);\nvar arraySpeciesCreate = __w_pdfjs_require__(157);\nvar arrayMethodHasSpeciesSupport = __w_pdfjs_require__(167);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar V8_VERSION = __w_pdfjs_require__(133);\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';\nvar IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {\n var array = [];\n array[IS_CONCAT_SPREADABLE] = false;\n return array.concat()[0] !== array;\n});\nvar SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');\nvar isConcatSpreadable = function (O) {\n if (!isObject(O))\n return false;\n var spreadable = O[IS_CONCAT_SPREADABLE];\n return spreadable !== undefined ? !!spreadable : isArray(O);\n};\nvar FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;\n$({\n target: 'Array',\n proto: true,\n forced: FORCED\n}, {\n concat: function concat(arg) {\n var O = toObject(this);\n var A = arraySpeciesCreate(O, 0);\n var n = 0;\n var i, k, length, len, E;\n for (i = -1, length = arguments.length; i < length; i++) {\n E = i === -1 ? O : arguments[i];\n if (isConcatSpreadable(E)) {\n len = toLength(E.length);\n if (n + len > MAX_SAFE_INTEGER)\n throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n for (k = 0; k < len; k++, n++)\n if (k in E)\n createProperty(A, n, E[k]);\n } else {\n if (n >= MAX_SAFE_INTEGER)\n throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n createProperty(A, n++, E);\n }\n }\n A.length = n;\n return A;\n }\n});\n\n/***/ }),\n/* 167 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(14);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar V8_VERSION = __w_pdfjs_require__(133);\nvar SPECIES = wellKnownSymbol('species');\nmodule.exports = function (METHOD_NAME) {\n return V8_VERSION >= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n\n/***/ }),\n/* 168 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar global = __w_pdfjs_require__(11);\nvar getBuiltIn = __w_pdfjs_require__(42);\nvar IS_PURE = __w_pdfjs_require__(37);\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar NATIVE_SYMBOL = __w_pdfjs_require__(58);\nvar USE_SYMBOL_AS_UID = __w_pdfjs_require__(59);\nvar fails = __w_pdfjs_require__(14);\nvar has = __w_pdfjs_require__(23);\nvar isArray = __w_pdfjs_require__(158);\nvar isObject = __w_pdfjs_require__(22);\nvar anObject = __w_pdfjs_require__(28);\nvar toObject = __w_pdfjs_require__(83);\nvar toIndexedObject = __w_pdfjs_require__(17);\nvar toPrimitive = __w_pdfjs_require__(21);\nvar createPropertyDescriptor = __w_pdfjs_require__(16);\nvar nativeObjectCreate = __w_pdfjs_require__(71);\nvar objectKeys = __w_pdfjs_require__(73);\nvar getOwnPropertyNamesModule = __w_pdfjs_require__(44);\nvar getOwnPropertyNamesExternal = __w_pdfjs_require__(169);\nvar getOwnPropertySymbolsModule = __w_pdfjs_require__(51);\nvar getOwnPropertyDescriptorModule = __w_pdfjs_require__(12);\nvar definePropertyModule = __w_pdfjs_require__(27);\nvar propertyIsEnumerableModule = __w_pdfjs_require__(15);\nvar createNonEnumerableProperty = __w_pdfjs_require__(26);\nvar redefine = __w_pdfjs_require__(29);\nvar shared = __w_pdfjs_require__(36);\nvar sharedKey = __w_pdfjs_require__(35);\nvar hiddenKeys = __w_pdfjs_require__(39);\nvar uid = __w_pdfjs_require__(38);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar wrappedWellKnownSymbolModule = __w_pdfjs_require__(170);\nvar defineWellKnownSymbol = __w_pdfjs_require__(171);\nvar setToStringTag = __w_pdfjs_require__(85);\nvar InternalStateModule = __w_pdfjs_require__(33);\nvar $forEach = __w_pdfjs_require__(156).forEach;\nvar HIDDEN = sharedKey('hidden');\nvar SYMBOL = 'Symbol';\nvar PROTOTYPE = 'prototype';\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(SYMBOL);\nvar ObjectPrototype = Object[PROTOTYPE];\nvar $Symbol = global.Symbol;\nvar $stringify = getBuiltIn('JSON', 'stringify');\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;\nvar nativePropertyIsEnumerable = propertyIsEnumerableModule.f;\nvar AllSymbols = shared('symbols');\nvar ObjectPrototypeSymbols = shared('op-symbols');\nvar StringToSymbolRegistry = shared('string-to-symbol-registry');\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\nvar WellKnownSymbolsStore = shared('wks');\nvar QObject = global.QObject;\nvar USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\nvar setSymbolDescriptor = DESCRIPTORS && fails(function () {\n return nativeObjectCreate(nativeDefineProperty({}, 'a', {\n get: function () {\n return nativeDefineProperty(this, 'a', { value: 7 }).a;\n }\n })).a != 7;\n}) ? function (O, P, Attributes) {\n var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);\n if (ObjectPrototypeDescriptor)\n delete ObjectPrototype[P];\n nativeDefineProperty(O, P, Attributes);\n if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {\n nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);\n }\n} : nativeDefineProperty;\nvar wrap = function (tag, description) {\n var symbol = AllSymbols[tag] = nativeObjectCreate($Symbol[PROTOTYPE]);\n setInternalState(symbol, {\n type: SYMBOL,\n tag: tag,\n description: description\n });\n if (!DESCRIPTORS)\n symbol.description = description;\n return symbol;\n};\nvar isSymbol = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return Object(it) instanceof $Symbol;\n};\nvar $defineProperty = function defineProperty(O, P, Attributes) {\n if (O === ObjectPrototype)\n $defineProperty(ObjectPrototypeSymbols, P, Attributes);\n anObject(O);\n var key = toPrimitive(P, true);\n anObject(Attributes);\n if (has(AllSymbols, key)) {\n if (!Attributes.enumerable) {\n if (!has(O, HIDDEN))\n nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {}));\n O[HIDDEN][key] = true;\n } else {\n if (has(O, HIDDEN) && O[HIDDEN][key])\n O[HIDDEN][key] = false;\n Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });\n }\n return setSymbolDescriptor(O, key, Attributes);\n }\n return nativeDefineProperty(O, key, Attributes);\n};\nvar $defineProperties = function defineProperties(O, Properties) {\n anObject(O);\n var properties = toIndexedObject(Properties);\n var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));\n $forEach(keys, function (key) {\n if (!DESCRIPTORS || $propertyIsEnumerable.call(properties, key))\n $defineProperty(O, key, properties[key]);\n });\n return O;\n};\nvar $create = function create(O, Properties) {\n return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(V) {\n var P = toPrimitive(V, true);\n var enumerable = nativePropertyIsEnumerable.call(this, P);\n if (this === ObjectPrototype && has(AllSymbols, P) && !has(ObjectPrototypeSymbols, P))\n return false;\n return enumerable || !has(this, P) || !has(AllSymbols, P) || has(this, HIDDEN) && this[HIDDEN][P] ? enumerable : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {\n var it = toIndexedObject(O);\n var key = toPrimitive(P, true);\n if (it === ObjectPrototype && has(AllSymbols, key) && !has(ObjectPrototypeSymbols, key))\n return;\n var descriptor = nativeGetOwnPropertyDescriptor(it, key);\n if (descriptor && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) {\n descriptor.enumerable = true;\n }\n return descriptor;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(O) {\n var names = nativeGetOwnPropertyNames(toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (!has(AllSymbols, key) && !has(hiddenKeys, key))\n result.push(key);\n });\n return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(O) {\n var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;\n var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (has(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || has(ObjectPrototype, key))) {\n result.push(AllSymbols[key]);\n }\n });\n return result;\n};\nif (!NATIVE_SYMBOL) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol)\n throw TypeError('Symbol is not a constructor');\n var description = !arguments.length || arguments[0] === undefined ? undefined : String(arguments[0]);\n var tag = uid(description);\n var setter = function (value) {\n if (this === ObjectPrototype)\n setter.call(ObjectPrototypeSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag))\n this[HIDDEN][tag] = false;\n setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));\n };\n if (DESCRIPTORS && USE_SETTER)\n setSymbolDescriptor(ObjectPrototype, tag, {\n configurable: true,\n set: setter\n });\n return wrap(tag, description);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return getInternalState(this).tag;\n });\n redefine($Symbol, 'withoutSetter', function (description) {\n return wrap(uid(description), description);\n });\n propertyIsEnumerableModule.f = $propertyIsEnumerable;\n definePropertyModule.f = $defineProperty;\n getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;\n getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;\n getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;\n wrappedWellKnownSymbolModule.f = function (name) {\n return wrap(wellKnownSymbol(name), name);\n };\n if (DESCRIPTORS) {\n nativeDefineProperty($Symbol[PROTOTYPE], 'description', {\n configurable: true,\n get: function description() {\n return getInternalState(this).description;\n }\n });\n if (!IS_PURE) {\n redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });\n }\n }\n}\n$({\n global: true,\n wrap: true,\n forced: !NATIVE_SYMBOL,\n sham: !NATIVE_SYMBOL\n}, { Symbol: $Symbol });\n$forEach(objectKeys(WellKnownSymbolsStore), function (name) {\n defineWellKnownSymbol(name);\n});\n$({\n target: SYMBOL,\n stat: true,\n forced: !NATIVE_SYMBOL\n}, {\n 'for': function (key) {\n var string = String(key);\n if (has(StringToSymbolRegistry, string))\n return StringToSymbolRegistry[string];\n var symbol = $Symbol(string);\n StringToSymbolRegistry[string] = symbol;\n SymbolToStringRegistry[symbol] = string;\n return symbol;\n },\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym))\n throw TypeError(sym + ' is not a symbol');\n if (has(SymbolToStringRegistry, sym))\n return SymbolToStringRegistry[sym];\n },\n useSetter: function () {\n USE_SETTER = true;\n },\n useSimple: function () {\n USE_SETTER = false;\n }\n});\n$({\n target: 'Object',\n stat: true,\n forced: !NATIVE_SYMBOL,\n sham: !DESCRIPTORS\n}, {\n create: $create,\n defineProperty: $defineProperty,\n defineProperties: $defineProperties,\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor\n});\n$({\n target: 'Object',\n stat: true,\n forced: !NATIVE_SYMBOL\n}, {\n getOwnPropertyNames: $getOwnPropertyNames,\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n$({\n target: 'Object',\n stat: true,\n forced: fails(function () {\n getOwnPropertySymbolsModule.f(1);\n })\n}, {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n return getOwnPropertySymbolsModule.f(toObject(it));\n }\n});\nif ($stringify) {\n var FORCED_JSON_STRINGIFY = !NATIVE_SYMBOL || fails(function () {\n var symbol = $Symbol();\n return $stringify([symbol]) != '[null]' || $stringify({ a: symbol }) != '{}' || $stringify(Object(symbol)) != '{}';\n });\n $({\n target: 'JSON',\n stat: true,\n forced: FORCED_JSON_STRINGIFY\n }, {\n stringify: function stringify(it, replacer, space) {\n var args = [it];\n var index = 1;\n var $replacer;\n while (arguments.length > index)\n args.push(arguments[index++]);\n $replacer = replacer;\n if (!isObject(replacer) && it === undefined || isSymbol(it))\n return;\n if (!isArray(replacer))\n replacer = function (key, value) {\n if (typeof $replacer == 'function')\n value = $replacer.call(this, key, value);\n if (!isSymbol(value))\n return value;\n };\n args[1] = replacer;\n return $stringify.apply(null, args);\n }\n });\n}\nif (!$Symbol[PROTOTYPE][TO_PRIMITIVE]) {\n createNonEnumerableProperty($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n}\nsetToStringTag($Symbol, SYMBOL);\nhiddenKeys[HIDDEN] = true;\n\n/***/ }),\n/* 169 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar toIndexedObject = __w_pdfjs_require__(17);\nvar nativeGetOwnPropertyNames = __w_pdfjs_require__(44).f;\nvar toString = {}.toString;\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames ? Object.getOwnPropertyNames(window) : [];\nvar getWindowNames = function (it) {\n try {\n return nativeGetOwnPropertyNames(it);\n } catch (error) {\n return windowNames.slice();\n }\n};\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : nativeGetOwnPropertyNames(toIndexedObject(it));\n};\n\n/***/ }),\n/* 170 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nexports.f = wellKnownSymbol;\n\n/***/ }),\n/* 171 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar path = __w_pdfjs_require__(43);\nvar has = __w_pdfjs_require__(23);\nvar wrappedWellKnownSymbolModule = __w_pdfjs_require__(170);\nvar defineProperty = __w_pdfjs_require__(27).f;\nmodule.exports = function (NAME) {\n var Symbol = path.Symbol || (path.Symbol = {});\n if (!has(Symbol, NAME))\n defineProperty(Symbol, NAME, { value: wrappedWellKnownSymbolModule.f(NAME) });\n};\n\n/***/ }),\n/* 172 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(171);\ndefineWellKnownSymbol('asyncIterator');\n\n/***/ }),\n/* 173 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar global = __w_pdfjs_require__(11);\nvar has = __w_pdfjs_require__(23);\nvar isObject = __w_pdfjs_require__(22);\nvar defineProperty = __w_pdfjs_require__(27).f;\nvar copyConstructorProperties = __w_pdfjs_require__(40);\nvar NativeSymbol = global.Symbol;\nif (DESCRIPTORS && typeof NativeSymbol == 'function' && (!('description' in NativeSymbol.prototype) || NativeSymbol().description !== undefined)) {\n var EmptyStringDescriptionStore = {};\n var SymbolWrapper = function Symbol() {\n var description = arguments.length < 1 || arguments[0] === undefined ? undefined : String(arguments[0]);\n var result = this instanceof SymbolWrapper ? new NativeSymbol(description) : description === undefined ? NativeSymbol() : NativeSymbol(description);\n if (description === '')\n EmptyStringDescriptionStore[result] = true;\n return result;\n };\n copyConstructorProperties(SymbolWrapper, NativeSymbol);\n var symbolPrototype = SymbolWrapper.prototype = NativeSymbol.prototype;\n symbolPrototype.constructor = SymbolWrapper;\n var symbolToString = symbolPrototype.toString;\n var native = String(NativeSymbol('test')) == 'Symbol(test)';\n var regexp = /^Symbol\\((.*)\\)[^)]+$/;\n defineProperty(symbolPrototype, 'description', {\n configurable: true,\n get: function description() {\n var symbol = isObject(this) ? this.valueOf() : this;\n var string = symbolToString.call(symbol);\n if (has(EmptyStringDescriptionStore, symbol))\n return '';\n var desc = native ? string.slice(7, -1) : string.replace(regexp, '$1');\n return desc === '' ? undefined : desc;\n }\n });\n $({\n global: true,\n forced: true\n }, { Symbol: SymbolWrapper });\n}\n\n/***/ }),\n/* 174 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(171);\ndefineWellKnownSymbol('hasInstance');\n\n/***/ }),\n/* 175 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(171);\ndefineWellKnownSymbol('isConcatSpreadable');\n\n/***/ }),\n/* 176 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(171);\ndefineWellKnownSymbol('iterator');\n\n/***/ }),\n/* 177 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(171);\ndefineWellKnownSymbol('match');\n\n/***/ }),\n/* 178 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(171);\ndefineWellKnownSymbol('matchAll');\n\n/***/ }),\n/* 179 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(171);\ndefineWellKnownSymbol('replace');\n\n/***/ }),\n/* 180 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(171);\ndefineWellKnownSymbol('search');\n\n/***/ }),\n/* 181 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(171);\ndefineWellKnownSymbol('species');\n\n/***/ }),\n/* 182 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(171);\ndefineWellKnownSymbol('split');\n\n/***/ }),\n/* 183 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(171);\ndefineWellKnownSymbol('toPrimitive');\n\n/***/ }),\n/* 184 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(171);\ndefineWellKnownSymbol('toStringTag');\n\n/***/ }),\n/* 185 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(171);\ndefineWellKnownSymbol('unscopables');\n\n/***/ }),\n/* 186 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar setToStringTag = __w_pdfjs_require__(85);\nsetToStringTag(Math, 'Math', true);\n\n/***/ }),\n/* 187 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar setToStringTag = __w_pdfjs_require__(85);\nsetToStringTag(global.JSON, 'JSON', true);\n\n/***/ }),\n/* 188 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(189);\nvar entryUnbind = __w_pdfjs_require__(61);\nmodule.exports = entryUnbind('String', 'padStart');\n\n/***/ }),\n/* 189 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar $padStart = __w_pdfjs_require__(190).start;\nvar WEBKIT_BUG = __w_pdfjs_require__(192);\n$({\n target: 'String',\n proto: true,\n forced: WEBKIT_BUG\n}, {\n padStart: function padStart(maxLength) {\n return $padStart(this, maxLength, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n/***/ }),\n/* 190 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar toLength = __w_pdfjs_require__(47);\nvar repeat = __w_pdfjs_require__(191);\nvar requireObjectCoercible = __w_pdfjs_require__(20);\nvar ceil = Math.ceil;\nvar createMethod = function (IS_END) {\n return function ($this, maxLength, fillString) {\n var S = String(requireObjectCoercible($this));\n var stringLength = S.length;\n var fillStr = fillString === undefined ? ' ' : String(fillString);\n var intMaxLength = toLength(maxLength);\n var fillLen, stringFiller;\n if (intMaxLength <= stringLength || fillStr == '')\n return S;\n fillLen = intMaxLength - stringLength;\n stringFiller = repeat.call(fillStr, ceil(fillLen / fillStr.length));\n if (stringFiller.length > fillLen)\n stringFiller = stringFiller.slice(0, fillLen);\n return IS_END ? S + stringFiller : stringFiller + S;\n };\n};\nmodule.exports = {\n start: createMethod(false),\n end: createMethod(true)\n};\n\n/***/ }),\n/* 191 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar toInteger = __w_pdfjs_require__(48);\nvar requireObjectCoercible = __w_pdfjs_require__(20);\nmodule.exports = ''.repeat || function repeat(count) {\n var str = String(requireObjectCoercible(this));\n var result = '';\n var n = toInteger(count);\n if (n < 0 || n == Infinity)\n throw RangeError('Wrong number of repetitions');\n for (; n > 0; (n >>>= 1) && (str += str))\n if (n & 1)\n result += str;\n return result;\n};\n\n/***/ }),\n/* 192 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar userAgent = __w_pdfjs_require__(127);\nmodule.exports = /Version\\/10\\.\\d+(\\.\\d+)?( Mobile\\/\\w+)? Safari\\//.test(userAgent);\n\n/***/ }),\n/* 193 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(194);\nvar entryUnbind = __w_pdfjs_require__(61);\nmodule.exports = entryUnbind('String', 'padEnd');\n\n/***/ }),\n/* 194 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar $padEnd = __w_pdfjs_require__(190).end;\nvar WEBKIT_BUG = __w_pdfjs_require__(192);\n$({\n target: 'String',\n proto: true,\n forced: WEBKIT_BUG\n}, {\n padEnd: function padEnd(maxLength) {\n return $padEnd(this, maxLength, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n/***/ }),\n/* 195 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(196);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Object.values;\n\n/***/ }),\n/* 196 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\nvar $values = __w_pdfjs_require__(197).values;\n$({\n target: 'Object',\n stat: true\n}, {\n values: function values(O) {\n return $values(O);\n }\n});\n\n/***/ }),\n/* 197 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar objectKeys = __w_pdfjs_require__(73);\nvar toIndexedObject = __w_pdfjs_require__(17);\nvar propertyIsEnumerable = __w_pdfjs_require__(15).f;\nvar createMethod = function (TO_ENTRIES) {\n return function (it) {\n var O = toIndexedObject(it);\n var keys = objectKeys(O);\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n while (length > i) {\n key = keys[i++];\n if (!DESCRIPTORS || propertyIsEnumerable.call(O, key)) {\n result.push(TO_ENTRIES ? [\n key,\n O[key]\n ] : O[key]);\n }\n }\n return result;\n };\n};\nmodule.exports = {\n entries: createMethod(true),\n values: createMethod(false)\n};\n\n/***/ }),\n/* 198 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getDocument = getDocument;\nexports.setPDFNetworkStreamFactory = setPDFNetworkStreamFactory;\nexports.build = exports.version = exports.PDFPageProxy = exports.PDFDocumentProxy = exports.PDFWorker = exports.PDFDataRangeTransport = exports.LoopbackPort = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _display_utils = __w_pdfjs_require__(1);\n\nvar _font_loader = __w_pdfjs_require__(199);\n\nvar _api_compatibility = __w_pdfjs_require__(200);\n\nvar _canvas = __w_pdfjs_require__(201);\n\nvar _worker_options = __w_pdfjs_require__(203);\n\nvar _is_node = __w_pdfjs_require__(7);\n\nvar _message_handler = __w_pdfjs_require__(204);\n\nvar _metadata = __w_pdfjs_require__(205);\n\nvar _transport_stream = __w_pdfjs_require__(207);\n\nvar _webgl = __w_pdfjs_require__(208);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar DEFAULT_RANGE_CHUNK_SIZE = 65536;\nvar RENDERING_CANCELLED_TIMEOUT = 100;\nvar createPDFNetworkStream;\n\nfunction setPDFNetworkStreamFactory(pdfNetworkStreamFactory) {\n createPDFNetworkStream = pdfNetworkStreamFactory;\n}\n\nfunction getDocument(src) {\n var task = new PDFDocumentLoadingTask();\n var source;\n\n if (typeof src === \"string\") {\n source = {\n url: src\n };\n } else if ((0, _util.isArrayBuffer)(src)) {\n source = {\n data: src\n };\n } else if (src instanceof PDFDataRangeTransport) {\n source = {\n range: src\n };\n } else {\n if (_typeof(src) !== \"object\") {\n throw new Error(\"Invalid parameter in getDocument, \" + \"need either Uint8Array, string or a parameter object\");\n }\n\n if (!src.url && !src.data && !src.range) {\n throw new Error(\"Invalid parameter object: need either .data, .range or .url\");\n }\n\n source = src;\n }\n\n var params = Object.create(null);\n var rangeTransport = null,\n worker = null;\n\n for (var key in source) {\n if (key === \"url\" && typeof window !== \"undefined\") {\n params[key] = new URL(source[key], window.location).href;\n continue;\n } else if (key === \"range\") {\n rangeTransport = source[key];\n continue;\n } else if (key === \"worker\") {\n worker = source[key];\n continue;\n } else if (key === \"data\" && !(source[key] instanceof Uint8Array)) {\n var pdfBytes = source[key];\n\n if (typeof pdfBytes === \"string\") {\n params[key] = (0, _util.stringToBytes)(pdfBytes);\n } else if (_typeof(pdfBytes) === \"object\" && pdfBytes !== null && !isNaN(pdfBytes.length)) {\n params[key] = new Uint8Array(pdfBytes);\n } else if ((0, _util.isArrayBuffer)(pdfBytes)) {\n params[key] = new Uint8Array(pdfBytes);\n } else {\n throw new Error(\"Invalid PDF binary data: either typed array, \" + \"string or array-like object is expected in the \" + \"data property.\");\n }\n\n continue;\n }\n\n params[key] = source[key];\n }\n\n params.rangeChunkSize = params.rangeChunkSize || DEFAULT_RANGE_CHUNK_SIZE;\n params.CMapReaderFactory = params.CMapReaderFactory || _display_utils.DOMCMapReaderFactory;\n params.ignoreErrors = params.stopAtErrors !== true;\n params.fontExtraProperties = params.fontExtraProperties === true;\n params.pdfBug = params.pdfBug === true;\n\n if (!Number.isInteger(params.maxImageSize)) {\n params.maxImageSize = -1;\n }\n\n if (typeof params.isEvalSupported !== \"boolean\") {\n params.isEvalSupported = true;\n }\n\n if (typeof params.disableFontFace !== \"boolean\") {\n params.disableFontFace = _api_compatibility.apiCompatibilityParams.disableFontFace || false;\n }\n\n if (typeof params.disableRange !== \"boolean\") {\n params.disableRange = false;\n }\n\n if (typeof params.disableStream !== \"boolean\") {\n params.disableStream = false;\n }\n\n if (typeof params.disableAutoFetch !== \"boolean\") {\n params.disableAutoFetch = false;\n }\n\n (0, _util.setVerbosityLevel)(params.verbosity);\n\n if (!worker) {\n var workerParams = {\n verbosity: params.verbosity,\n port: _worker_options.GlobalWorkerOptions.workerPort\n };\n worker = workerParams.port ? PDFWorker.fromPort(workerParams) : new PDFWorker(workerParams);\n task._worker = worker;\n }\n\n var docId = task.docId;\n worker.promise.then(function () {\n if (task.destroyed) {\n throw new Error(\"Loading aborted\");\n }\n\n var workerIdPromise = _fetchDocument(worker, params, rangeTransport, docId);\n\n var networkStreamPromise = new Promise(function (resolve) {\n var networkStream;\n\n if (rangeTransport) {\n networkStream = new _transport_stream.PDFDataTransportStream({\n length: params.length,\n initialData: params.initialData,\n progressiveDone: params.progressiveDone,\n disableRange: params.disableRange,\n disableStream: params.disableStream\n }, rangeTransport);\n } else if (!params.data) {\n networkStream = createPDFNetworkStream({\n url: params.url,\n length: params.length,\n httpHeaders: params.httpHeaders,\n withCredentials: params.withCredentials,\n rangeChunkSize: params.rangeChunkSize,\n disableRange: params.disableRange,\n disableStream: params.disableStream\n });\n }\n\n resolve(networkStream);\n });\n return Promise.all([workerIdPromise, networkStreamPromise]).then(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n workerId = _ref2[0],\n networkStream = _ref2[1];\n\n if (task.destroyed) {\n throw new Error(\"Loading aborted\");\n }\n\n var messageHandler = new _message_handler.MessageHandler(docId, workerId, worker.port);\n messageHandler.postMessageTransfers = worker.postMessageTransfers;\n var transport = new WorkerTransport(messageHandler, task, networkStream, params);\n task._transport = transport;\n messageHandler.send(\"Ready\", null);\n });\n })[\"catch\"](task._capability.reject);\n return task;\n}\n\nfunction _fetchDocument(worker, source, pdfDataRangeTransport, docId) {\n if (worker.destroyed) {\n return Promise.reject(new Error(\"Worker was destroyed\"));\n }\n\n if (pdfDataRangeTransport) {\n source.length = pdfDataRangeTransport.length;\n source.initialData = pdfDataRangeTransport.initialData;\n source.progressiveDone = pdfDataRangeTransport.progressiveDone;\n }\n\n return worker.messageHandler.sendWithPromise(\"GetDocRequest\", {\n docId: docId,\n apiVersion: '2.5.207',\n source: {\n data: source.data,\n url: source.url,\n password: source.password,\n disableAutoFetch: source.disableAutoFetch,\n rangeChunkSize: source.rangeChunkSize,\n length: source.length\n },\n maxImageSize: source.maxImageSize,\n disableFontFace: source.disableFontFace,\n postMessageTransfers: worker.postMessageTransfers,\n docBaseUrl: source.docBaseUrl,\n ignoreErrors: source.ignoreErrors,\n isEvalSupported: source.isEvalSupported,\n fontExtraProperties: source.fontExtraProperties\n }).then(function (workerId) {\n if (worker.destroyed) {\n throw new Error(\"Worker was destroyed\");\n }\n\n return workerId;\n });\n}\n\nvar PDFDocumentLoadingTask = function PDFDocumentLoadingTaskClosure() {\n var nextDocumentId = 0;\n\n var PDFDocumentLoadingTask = /*#__PURE__*/function () {\n function PDFDocumentLoadingTask() {\n _classCallCheck(this, PDFDocumentLoadingTask);\n\n this._capability = (0, _util.createPromiseCapability)();\n this._transport = null;\n this._worker = null;\n this.docId = \"d\" + nextDocumentId++;\n this.destroyed = false;\n this.onPassword = null;\n this.onProgress = null;\n this.onUnsupportedFeature = null;\n }\n\n _createClass(PDFDocumentLoadingTask, [{\n key: \"destroy\",\n value: function destroy() {\n var _this = this;\n\n this.destroyed = true;\n var transportDestroyed = !this._transport ? Promise.resolve() : this._transport.destroy();\n return transportDestroyed.then(function () {\n _this._transport = null;\n\n if (_this._worker) {\n _this._worker.destroy();\n\n _this._worker = null;\n }\n });\n }\n }, {\n key: \"promise\",\n get: function get() {\n return this._capability.promise;\n }\n }]);\n\n return PDFDocumentLoadingTask;\n }();\n\n return PDFDocumentLoadingTask;\n}();\n\nvar PDFDataRangeTransport = /*#__PURE__*/function () {\n function PDFDataRangeTransport(length, initialData) {\n var progressiveDone = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n _classCallCheck(this, PDFDataRangeTransport);\n\n this.length = length;\n this.initialData = initialData;\n this.progressiveDone = progressiveDone;\n this._rangeListeners = [];\n this._progressListeners = [];\n this._progressiveReadListeners = [];\n this._progressiveDoneListeners = [];\n this._readyCapability = (0, _util.createPromiseCapability)();\n }\n\n _createClass(PDFDataRangeTransport, [{\n key: \"addRangeListener\",\n value: function addRangeListener(listener) {\n this._rangeListeners.push(listener);\n }\n }, {\n key: \"addProgressListener\",\n value: function addProgressListener(listener) {\n this._progressListeners.push(listener);\n }\n }, {\n key: \"addProgressiveReadListener\",\n value: function addProgressiveReadListener(listener) {\n this._progressiveReadListeners.push(listener);\n }\n }, {\n key: \"addProgressiveDoneListener\",\n value: function addProgressiveDoneListener(listener) {\n this._progressiveDoneListeners.push(listener);\n }\n }, {\n key: \"onDataRange\",\n value: function onDataRange(begin, chunk) {\n var _iterator = _createForOfIteratorHelper(this._rangeListeners),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var listener = _step.value;\n listener(begin, chunk);\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n }\n }, {\n key: \"onDataProgress\",\n value: function onDataProgress(loaded, total) {\n var _this2 = this;\n\n this._readyCapability.promise.then(function () {\n var _iterator2 = _createForOfIteratorHelper(_this2._progressListeners),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var listener = _step2.value;\n listener(loaded, total);\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n });\n }\n }, {\n key: \"onDataProgressiveRead\",\n value: function onDataProgressiveRead(chunk) {\n var _this3 = this;\n\n this._readyCapability.promise.then(function () {\n var _iterator3 = _createForOfIteratorHelper(_this3._progressiveReadListeners),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var listener = _step3.value;\n listener(chunk);\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n });\n }\n }, {\n key: \"onDataProgressiveDone\",\n value: function onDataProgressiveDone() {\n var _this4 = this;\n\n this._readyCapability.promise.then(function () {\n var _iterator4 = _createForOfIteratorHelper(_this4._progressiveDoneListeners),\n _step4;\n\n try {\n for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n var listener = _step4.value;\n listener();\n }\n } catch (err) {\n _iterator4.e(err);\n } finally {\n _iterator4.f();\n }\n });\n }\n }, {\n key: \"transportReady\",\n value: function transportReady() {\n this._readyCapability.resolve();\n }\n }, {\n key: \"requestDataRange\",\n value: function requestDataRange(begin, end) {\n (0, _util.unreachable)(\"Abstract method PDFDataRangeTransport.requestDataRange\");\n }\n }, {\n key: \"abort\",\n value: function abort() {}\n }]);\n\n return PDFDataRangeTransport;\n}();\n\nexports.PDFDataRangeTransport = PDFDataRangeTransport;\n\nvar PDFDocumentProxy = /*#__PURE__*/function () {\n function PDFDocumentProxy(pdfInfo, transport) {\n _classCallCheck(this, PDFDocumentProxy);\n\n this._pdfInfo = pdfInfo;\n this._transport = transport;\n }\n\n _createClass(PDFDocumentProxy, [{\n key: \"getPage\",\n value: function getPage(pageNumber) {\n return this._transport.getPage(pageNumber);\n }\n }, {\n key: \"getPageIndex\",\n value: function getPageIndex(ref) {\n return this._transport.getPageIndex(ref);\n }\n }, {\n key: \"getDestinations\",\n value: function getDestinations() {\n return this._transport.getDestinations();\n }\n }, {\n key: \"getDestination\",\n value: function getDestination(id) {\n return this._transport.getDestination(id);\n }\n }, {\n key: \"getPageLabels\",\n value: function getPageLabels() {\n return this._transport.getPageLabels();\n }\n }, {\n key: \"getPageLayout\",\n value: function getPageLayout() {\n return this._transport.getPageLayout();\n }\n }, {\n key: \"getPageMode\",\n value: function getPageMode() {\n return this._transport.getPageMode();\n }\n }, {\n key: \"getViewerPreferences\",\n value: function getViewerPreferences() {\n return this._transport.getViewerPreferences();\n }\n }, {\n key: \"getOpenAction\",\n value: function getOpenAction() {\n return this._transport.getOpenAction();\n }\n }, {\n key: \"getOpenActionDestination\",\n value: function getOpenActionDestination() {\n (0, _display_utils.deprecated)(\"getOpenActionDestination, use getOpenAction instead.\");\n return this.getOpenAction().then(function (openAction) {\n return openAction && openAction.dest ? openAction.dest : null;\n });\n }\n }, {\n key: \"getAttachments\",\n value: function getAttachments() {\n return this._transport.getAttachments();\n }\n }, {\n key: \"getJavaScript\",\n value: function getJavaScript() {\n return this._transport.getJavaScript();\n }\n }, {\n key: \"getOutline\",\n value: function getOutline() {\n return this._transport.getOutline();\n }\n }, {\n key: \"getPermissions\",\n value: function getPermissions() {\n return this._transport.getPermissions();\n }\n }, {\n key: \"getMetadata\",\n value: function getMetadata() {\n return this._transport.getMetadata();\n }\n }, {\n key: \"getData\",\n value: function getData() {\n return this._transport.getData();\n }\n }, {\n key: \"getDownloadInfo\",\n value: function getDownloadInfo() {\n return this._transport.downloadInfoCapability.promise;\n }\n }, {\n key: \"getStats\",\n value: function getStats() {\n return this._transport.getStats();\n }\n }, {\n key: \"cleanup\",\n value: function cleanup() {\n return this._transport.startCleanup();\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n return this.loadingTask.destroy();\n }\n }, {\n key: \"numPages\",\n get: function get() {\n return this._pdfInfo.numPages;\n }\n }, {\n key: \"fingerprint\",\n get: function get() {\n return this._pdfInfo.fingerprint;\n }\n }, {\n key: \"loadingParams\",\n get: function get() {\n return this._transport.loadingParams;\n }\n }, {\n key: \"loadingTask\",\n get: function get() {\n return this._transport.loadingTask;\n }\n }]);\n\n return PDFDocumentProxy;\n}();\n\nexports.PDFDocumentProxy = PDFDocumentProxy;\n\nvar PDFPageProxy = /*#__PURE__*/function () {\n function PDFPageProxy(pageIndex, pageInfo, transport) {\n var pdfBug = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n\n _classCallCheck(this, PDFPageProxy);\n\n this._pageIndex = pageIndex;\n this._pageInfo = pageInfo;\n this._transport = transport;\n this._stats = pdfBug ? new _display_utils.StatTimer() : null;\n this._pdfBug = pdfBug;\n this.commonObjs = transport.commonObjs;\n this.objs = new PDFObjects();\n this.cleanupAfterRender = false;\n this.pendingCleanup = false;\n this.intentStates = Object.create(null);\n this.destroyed = false;\n }\n\n _createClass(PDFPageProxy, [{\n key: \"getViewport\",\n value: function getViewport() {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n scale = _ref3.scale,\n _ref3$rotation = _ref3.rotation,\n rotation = _ref3$rotation === void 0 ? this.rotate : _ref3$rotation,\n _ref3$offsetX = _ref3.offsetX,\n offsetX = _ref3$offsetX === void 0 ? 0 : _ref3$offsetX,\n _ref3$offsetY = _ref3.offsetY,\n offsetY = _ref3$offsetY === void 0 ? 0 : _ref3$offsetY,\n _ref3$dontFlip = _ref3.dontFlip,\n dontFlip = _ref3$dontFlip === void 0 ? false : _ref3$dontFlip;\n\n return new _display_utils.PageViewport({\n viewBox: this.view,\n scale: scale,\n rotation: rotation,\n offsetX: offsetX,\n offsetY: offsetY,\n dontFlip: dontFlip\n });\n }\n }, {\n key: \"getAnnotations\",\n value: function getAnnotations() {\n var _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref4$intent = _ref4.intent,\n intent = _ref4$intent === void 0 ? null : _ref4$intent;\n\n if (!this.annotationsPromise || this.annotationsIntent !== intent) {\n this.annotationsPromise = this._transport.getAnnotations(this._pageIndex, intent);\n this.annotationsIntent = intent;\n }\n\n return this.annotationsPromise;\n }\n }, {\n key: \"render\",\n value: function render(_ref5) {\n var _this5 = this;\n\n var canvasContext = _ref5.canvasContext,\n viewport = _ref5.viewport,\n _ref5$intent = _ref5.intent,\n intent = _ref5$intent === void 0 ? \"display\" : _ref5$intent,\n _ref5$enableWebGL = _ref5.enableWebGL,\n enableWebGL = _ref5$enableWebGL === void 0 ? false : _ref5$enableWebGL,\n _ref5$renderInteracti = _ref5.renderInteractiveForms,\n renderInteractiveForms = _ref5$renderInteracti === void 0 ? false : _ref5$renderInteracti,\n _ref5$transform = _ref5.transform,\n transform = _ref5$transform === void 0 ? null : _ref5$transform,\n _ref5$imageLayer = _ref5.imageLayer,\n imageLayer = _ref5$imageLayer === void 0 ? null : _ref5$imageLayer,\n _ref5$canvasFactory = _ref5.canvasFactory,\n canvasFactory = _ref5$canvasFactory === void 0 ? null : _ref5$canvasFactory,\n _ref5$background = _ref5.background,\n background = _ref5$background === void 0 ? null : _ref5$background;\n\n if (this._stats) {\n this._stats.time(\"Overall\");\n }\n\n var renderingIntent = intent === \"print\" ? \"print\" : \"display\";\n this.pendingCleanup = false;\n\n if (!this.intentStates[renderingIntent]) {\n this.intentStates[renderingIntent] = Object.create(null);\n }\n\n var intentState = this.intentStates[renderingIntent];\n\n if (intentState.streamReaderCancelTimeout) {\n clearTimeout(intentState.streamReaderCancelTimeout);\n intentState.streamReaderCancelTimeout = null;\n }\n\n var canvasFactoryInstance = canvasFactory || new _display_utils.DOMCanvasFactory();\n var webGLContext = new _webgl.WebGLContext({\n enable: enableWebGL\n });\n\n if (!intentState.displayReadyCapability) {\n intentState.displayReadyCapability = (0, _util.createPromiseCapability)();\n intentState.operatorList = {\n fnArray: [],\n argsArray: [],\n lastChunk: false\n };\n\n if (this._stats) {\n this._stats.time(\"Page Request\");\n }\n\n this._pumpOperatorList({\n pageIndex: this._pageIndex,\n intent: renderingIntent,\n renderInteractiveForms: renderInteractiveForms === true\n });\n }\n\n var complete = function complete(error) {\n var i = intentState.renderTasks.indexOf(internalRenderTask);\n\n if (i >= 0) {\n intentState.renderTasks.splice(i, 1);\n }\n\n if (_this5.cleanupAfterRender || renderingIntent === \"print\") {\n _this5.pendingCleanup = true;\n }\n\n _this5._tryCleanup();\n\n if (error) {\n internalRenderTask.capability.reject(error);\n\n _this5._abortOperatorList({\n intentState: intentState,\n reason: error\n });\n } else {\n internalRenderTask.capability.resolve();\n }\n\n if (_this5._stats) {\n _this5._stats.timeEnd(\"Rendering\");\n\n _this5._stats.timeEnd(\"Overall\");\n }\n };\n\n var internalRenderTask = new InternalRenderTask({\n callback: complete,\n params: {\n canvasContext: canvasContext,\n viewport: viewport,\n transform: transform,\n imageLayer: imageLayer,\n background: background\n },\n objs: this.objs,\n commonObjs: this.commonObjs,\n operatorList: intentState.operatorList,\n pageIndex: this._pageIndex,\n canvasFactory: canvasFactoryInstance,\n webGLContext: webGLContext,\n useRequestAnimationFrame: renderingIntent !== \"print\",\n pdfBug: this._pdfBug\n });\n\n if (!intentState.renderTasks) {\n intentState.renderTasks = [];\n }\n\n intentState.renderTasks.push(internalRenderTask);\n var renderTask = internalRenderTask.task;\n intentState.displayReadyCapability.promise.then(function (transparency) {\n if (_this5.pendingCleanup) {\n complete();\n return;\n }\n\n if (_this5._stats) {\n _this5._stats.time(\"Rendering\");\n }\n\n internalRenderTask.initializeGraphics(transparency);\n internalRenderTask.operatorListChanged();\n })[\"catch\"](complete);\n return renderTask;\n }\n }, {\n key: \"getOperatorList\",\n value: function getOperatorList() {\n function operatorListChanged() {\n if (intentState.operatorList.lastChunk) {\n intentState.opListReadCapability.resolve(intentState.operatorList);\n var i = intentState.renderTasks.indexOf(opListTask);\n\n if (i >= 0) {\n intentState.renderTasks.splice(i, 1);\n }\n }\n }\n\n var renderingIntent = \"oplist\";\n\n if (!this.intentStates[renderingIntent]) {\n this.intentStates[renderingIntent] = Object.create(null);\n }\n\n var intentState = this.intentStates[renderingIntent];\n var opListTask;\n\n if (!intentState.opListReadCapability) {\n opListTask = {};\n opListTask.operatorListChanged = operatorListChanged;\n intentState.opListReadCapability = (0, _util.createPromiseCapability)();\n intentState.renderTasks = [];\n intentState.renderTasks.push(opListTask);\n intentState.operatorList = {\n fnArray: [],\n argsArray: [],\n lastChunk: false\n };\n\n if (this._stats) {\n this._stats.time(\"Page Request\");\n }\n\n this._pumpOperatorList({\n pageIndex: this._pageIndex,\n intent: renderingIntent\n });\n }\n\n return intentState.opListReadCapability.promise;\n }\n }, {\n key: \"streamTextContent\",\n value: function streamTextContent() {\n var _ref6 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref6$normalizeWhites = _ref6.normalizeWhitespace,\n normalizeWhitespace = _ref6$normalizeWhites === void 0 ? false : _ref6$normalizeWhites,\n _ref6$disableCombineT = _ref6.disableCombineTextItems,\n disableCombineTextItems = _ref6$disableCombineT === void 0 ? false : _ref6$disableCombineT;\n\n var TEXT_CONTENT_CHUNK_SIZE = 100;\n return this._transport.messageHandler.sendWithStream(\"GetTextContent\", {\n pageIndex: this._pageIndex,\n normalizeWhitespace: normalizeWhitespace === true,\n combineTextItems: disableCombineTextItems !== true\n }, {\n highWaterMark: TEXT_CONTENT_CHUNK_SIZE,\n size: function size(textContent) {\n return textContent.items.length;\n }\n });\n }\n }, {\n key: \"getTextContent\",\n value: function getTextContent() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var readableStream = this.streamTextContent(params);\n return new Promise(function (resolve, reject) {\n function pump() {\n reader.read().then(function (_ref7) {\n var _textContent$items;\n\n var value = _ref7.value,\n done = _ref7.done;\n\n if (done) {\n resolve(textContent);\n return;\n }\n\n Object.assign(textContent.styles, value.styles);\n\n (_textContent$items = textContent.items).push.apply(_textContent$items, _toConsumableArray(value.items));\n\n pump();\n }, reject);\n }\n\n var reader = readableStream.getReader();\n var textContent = {\n items: [],\n styles: Object.create(null)\n };\n pump();\n });\n }\n }, {\n key: \"_destroy\",\n value: function _destroy() {\n var _this6 = this;\n\n this.destroyed = true;\n this._transport.pageCache[this._pageIndex] = null;\n var waitOn = [];\n Object.keys(this.intentStates).forEach(function (intent) {\n var intentState = _this6.intentStates[intent];\n\n _this6._abortOperatorList({\n intentState: intentState,\n reason: new Error(\"Page was destroyed.\"),\n force: true\n });\n\n if (intent === \"oplist\") {\n return;\n }\n\n intentState.renderTasks.forEach(function (renderTask) {\n var renderCompleted = renderTask.capability.promise[\"catch\"](function () {});\n waitOn.push(renderCompleted);\n renderTask.cancel();\n });\n });\n this.objs.clear();\n this.annotationsPromise = null;\n this.pendingCleanup = false;\n return Promise.all(waitOn);\n }\n }, {\n key: \"cleanup\",\n value: function cleanup() {\n var resetStats = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n this.pendingCleanup = true;\n return this._tryCleanup(resetStats);\n }\n }, {\n key: \"_tryCleanup\",\n value: function _tryCleanup() {\n var _this7 = this;\n\n var resetStats = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (!this.pendingCleanup || Object.keys(this.intentStates).some(function (intent) {\n var intentState = _this7.intentStates[intent];\n return intentState.renderTasks.length !== 0 || !intentState.operatorList.lastChunk;\n })) {\n return false;\n }\n\n Object.keys(this.intentStates).forEach(function (intent) {\n delete _this7.intentStates[intent];\n });\n this.objs.clear();\n this.annotationsPromise = null;\n\n if (resetStats && this._stats) {\n this._stats = new _display_utils.StatTimer();\n }\n\n this.pendingCleanup = false;\n return true;\n }\n }, {\n key: \"_startRenderPage\",\n value: function _startRenderPage(transparency, intent) {\n var intentState = this.intentStates[intent];\n\n if (!intentState) {\n return;\n }\n\n if (this._stats) {\n this._stats.timeEnd(\"Page Request\");\n }\n\n if (intentState.displayReadyCapability) {\n intentState.displayReadyCapability.resolve(transparency);\n }\n }\n }, {\n key: \"_renderPageChunk\",\n value: function _renderPageChunk(operatorListChunk, intentState) {\n for (var i = 0, ii = operatorListChunk.length; i < ii; i++) {\n intentState.operatorList.fnArray.push(operatorListChunk.fnArray[i]);\n intentState.operatorList.argsArray.push(operatorListChunk.argsArray[i]);\n }\n\n intentState.operatorList.lastChunk = operatorListChunk.lastChunk;\n\n for (var _i2 = 0; _i2 < intentState.renderTasks.length; _i2++) {\n intentState.renderTasks[_i2].operatorListChanged();\n }\n\n if (operatorListChunk.lastChunk) {\n this._tryCleanup();\n }\n }\n }, {\n key: \"_pumpOperatorList\",\n value: function _pumpOperatorList(args) {\n var _this8 = this;\n\n (0, _util.assert)(args.intent, 'PDFPageProxy._pumpOperatorList: Expected \"intent\" argument.');\n\n var readableStream = this._transport.messageHandler.sendWithStream(\"GetOperatorList\", args);\n\n var reader = readableStream.getReader();\n var intentState = this.intentStates[args.intent];\n intentState.streamReader = reader;\n\n var pump = function pump() {\n reader.read().then(function (_ref8) {\n var value = _ref8.value,\n done = _ref8.done;\n\n if (done) {\n intentState.streamReader = null;\n return;\n }\n\n if (_this8._transport.destroyed) {\n return;\n }\n\n _this8._renderPageChunk(value, intentState);\n\n pump();\n }, function (reason) {\n intentState.streamReader = null;\n\n if (_this8._transport.destroyed) {\n return;\n }\n\n if (intentState.operatorList) {\n intentState.operatorList.lastChunk = true;\n\n for (var i = 0; i < intentState.renderTasks.length; i++) {\n intentState.renderTasks[i].operatorListChanged();\n }\n\n _this8._tryCleanup();\n }\n\n if (intentState.displayReadyCapability) {\n intentState.displayReadyCapability.reject(reason);\n } else if (intentState.opListReadCapability) {\n intentState.opListReadCapability.reject(reason);\n } else {\n throw reason;\n }\n });\n };\n\n pump();\n }\n }, {\n key: \"_abortOperatorList\",\n value: function _abortOperatorList(_ref9) {\n var _this9 = this;\n\n var intentState = _ref9.intentState,\n reason = _ref9.reason,\n _ref9$force = _ref9.force,\n force = _ref9$force === void 0 ? false : _ref9$force;\n (0, _util.assert)(reason instanceof Error || _typeof(reason) === \"object\" && reason !== null, 'PDFPageProxy._abortOperatorList: Expected \"reason\" argument.');\n\n if (!intentState.streamReader) {\n return;\n }\n\n if (!force) {\n if (intentState.renderTasks.length !== 0) {\n return;\n }\n\n if (reason instanceof _display_utils.RenderingCancelledException) {\n intentState.streamReaderCancelTimeout = setTimeout(function () {\n _this9._abortOperatorList({\n intentState: intentState,\n reason: reason,\n force: true\n });\n\n intentState.streamReaderCancelTimeout = null;\n }, RENDERING_CANCELLED_TIMEOUT);\n return;\n }\n }\n\n intentState.streamReader.cancel(new _util.AbortException(reason && reason.message));\n intentState.streamReader = null;\n\n if (this._transport.destroyed) {\n return;\n }\n\n Object.keys(this.intentStates).some(function (intent) {\n if (_this9.intentStates[intent] === intentState) {\n delete _this9.intentStates[intent];\n return true;\n }\n\n return false;\n });\n this.cleanup();\n }\n }, {\n key: \"pageNumber\",\n get: function get() {\n return this._pageIndex + 1;\n }\n }, {\n key: \"rotate\",\n get: function get() {\n return this._pageInfo.rotate;\n }\n }, {\n key: \"ref\",\n get: function get() {\n return this._pageInfo.ref;\n }\n }, {\n key: \"userUnit\",\n get: function get() {\n return this._pageInfo.userUnit;\n }\n }, {\n key: \"view\",\n get: function get() {\n return this._pageInfo.view;\n }\n }, {\n key: \"stats\",\n get: function get() {\n return this._stats;\n }\n }]);\n\n return PDFPageProxy;\n}();\n\nexports.PDFPageProxy = PDFPageProxy;\n\nvar LoopbackPort = /*#__PURE__*/function () {\n function LoopbackPort() {\n var defer = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n _classCallCheck(this, LoopbackPort);\n\n this._listeners = [];\n this._defer = defer;\n this._deferred = Promise.resolve(undefined);\n }\n\n _createClass(LoopbackPort, [{\n key: \"postMessage\",\n value: function postMessage(obj, transfers) {\n var _this10 = this;\n\n function cloneValue(value) {\n if (_typeof(value) !== \"object\" || value === null) {\n return value;\n }\n\n if (cloned.has(value)) {\n return cloned.get(value);\n }\n\n var buffer, result;\n\n if ((buffer = value.buffer) && (0, _util.isArrayBuffer)(buffer)) {\n var transferable = transfers && transfers.includes(buffer);\n\n if (transferable) {\n result = new value.constructor(buffer, value.byteOffset, value.byteLength);\n } else {\n result = new value.constructor(value);\n }\n\n cloned.set(value, result);\n return result;\n }\n\n result = Array.isArray(value) ? [] : {};\n cloned.set(value, result);\n\n for (var i in value) {\n var desc = void 0,\n p = value;\n\n while (!(desc = Object.getOwnPropertyDescriptor(p, i))) {\n p = Object.getPrototypeOf(p);\n }\n\n if (typeof desc.value === \"undefined\") {\n continue;\n }\n\n if (typeof desc.value === \"function\") {\n if (value.hasOwnProperty && value.hasOwnProperty(i)) {\n throw new Error(\"LoopbackPort.postMessage - cannot clone: \".concat(value[i]));\n }\n\n continue;\n }\n\n result[i] = cloneValue(desc.value);\n }\n\n return result;\n }\n\n if (!this._defer) {\n this._listeners.forEach(function (listener) {\n listener.call(_this10, {\n data: obj\n });\n });\n\n return;\n }\n\n var cloned = new WeakMap();\n var e = {\n data: cloneValue(obj)\n };\n\n this._deferred.then(function () {\n _this10._listeners.forEach(function (listener) {\n listener.call(_this10, e);\n });\n });\n }\n }, {\n key: \"addEventListener\",\n value: function addEventListener(name, listener) {\n this._listeners.push(listener);\n }\n }, {\n key: \"removeEventListener\",\n value: function removeEventListener(name, listener) {\n var i = this._listeners.indexOf(listener);\n\n this._listeners.splice(i, 1);\n }\n }, {\n key: \"terminate\",\n value: function terminate() {\n this._listeners.length = 0;\n }\n }]);\n\n return LoopbackPort;\n}();\n\nexports.LoopbackPort = LoopbackPort;\n\nvar PDFWorker = function PDFWorkerClosure() {\n var pdfWorkerPorts = new WeakMap();\n var isWorkerDisabled = false;\n var fallbackWorkerSrc;\n var nextFakeWorkerId = 0;\n var fakeWorkerCapability;\n\n if (_is_node.isNodeJS && typeof require === \"function\") {\n isWorkerDisabled = true;\n fallbackWorkerSrc = \"./pdf.worker.js\";\n } else if ((typeof document === \"undefined\" ? \"undefined\" : _typeof(document)) === \"object\" && \"currentScript\" in document) {\n var pdfjsFilePath = document.currentScript && document.currentScript.src;\n\n if (pdfjsFilePath) {\n fallbackWorkerSrc = pdfjsFilePath.replace(/(\\.(?:min\\.)?js)(\\?.*)?$/i, \".worker$1$2\");\n }\n }\n\n function _getWorkerSrc() {\n if (_worker_options.GlobalWorkerOptions.workerSrc) {\n return _worker_options.GlobalWorkerOptions.workerSrc;\n }\n\n if (typeof fallbackWorkerSrc !== \"undefined\") {\n if (!_is_node.isNodeJS) {\n (0, _display_utils.deprecated)('No \"GlobalWorkerOptions.workerSrc\" specified.');\n }\n\n return fallbackWorkerSrc;\n }\n\n throw new Error('No \"GlobalWorkerOptions.workerSrc\" specified.');\n }\n\n function getMainThreadWorkerMessageHandler() {\n var mainWorkerMessageHandler;\n\n try {\n mainWorkerMessageHandler = globalThis.pdfjsWorker && globalThis.pdfjsWorker.WorkerMessageHandler;\n } catch (ex) {}\n\n return mainWorkerMessageHandler || null;\n }\n\n function setupFakeWorkerGlobal() {\n if (fakeWorkerCapability) {\n return fakeWorkerCapability.promise;\n }\n\n fakeWorkerCapability = (0, _util.createPromiseCapability)();\n\n var loader = /*#__PURE__*/function () {\n var _ref10 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee() {\n var mainWorkerMessageHandler, worker;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n mainWorkerMessageHandler = getMainThreadWorkerMessageHandler();\n\n if (!mainWorkerMessageHandler) {\n _context.next = 3;\n break;\n }\n\n return _context.abrupt(\"return\", mainWorkerMessageHandler);\n\n case 3:\n if (!(_is_node.isNodeJS && typeof require === \"function\")) {\n _context.next = 6;\n break;\n }\n\n worker = eval(\"require\")(_getWorkerSrc());\n return _context.abrupt(\"return\", worker.WorkerMessageHandler);\n\n case 6:\n _context.next = 8;\n return (0, _display_utils.loadScript)(_getWorkerSrc());\n\n case 8:\n return _context.abrupt(\"return\", window.pdfjsWorker.WorkerMessageHandler);\n\n case 9:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function loader() {\n return _ref10.apply(this, arguments);\n };\n }();\n\n loader().then(fakeWorkerCapability.resolve, fakeWorkerCapability.reject);\n return fakeWorkerCapability.promise;\n }\n\n function createCDNWrapper(url) {\n var wrapper = \"importScripts('\" + url + \"');\";\n return URL.createObjectURL(new Blob([wrapper]));\n }\n\n var PDFWorker = /*#__PURE__*/function () {\n function PDFWorker() {\n var _ref11 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref11$name = _ref11.name,\n name = _ref11$name === void 0 ? null : _ref11$name,\n _ref11$port = _ref11.port,\n port = _ref11$port === void 0 ? null : _ref11$port,\n _ref11$verbosity = _ref11.verbosity,\n verbosity = _ref11$verbosity === void 0 ? (0, _util.getVerbosityLevel)() : _ref11$verbosity;\n\n _classCallCheck(this, PDFWorker);\n\n if (port && pdfWorkerPorts.has(port)) {\n throw new Error(\"Cannot use more than one PDFWorker per port\");\n }\n\n this.name = name;\n this.destroyed = false;\n this.postMessageTransfers = true;\n this.verbosity = verbosity;\n this._readyCapability = (0, _util.createPromiseCapability)();\n this._port = null;\n this._webWorker = null;\n this._messageHandler = null;\n\n if (port) {\n pdfWorkerPorts.set(port, this);\n\n this._initializeFromPort(port);\n\n return;\n }\n\n this._initialize();\n }\n\n _createClass(PDFWorker, [{\n key: \"_initializeFromPort\",\n value: function _initializeFromPort(port) {\n this._port = port;\n this._messageHandler = new _message_handler.MessageHandler(\"main\", \"worker\", port);\n\n this._messageHandler.on(\"ready\", function () {});\n\n this._readyCapability.resolve();\n }\n }, {\n key: \"_initialize\",\n value: function _initialize() {\n var _this11 = this;\n\n if (typeof Worker !== \"undefined\" && !isWorkerDisabled && !getMainThreadWorkerMessageHandler()) {\n var workerSrc = _getWorkerSrc();\n\n try {\n if (!(0, _util.isSameOrigin)(window.location.href, workerSrc)) {\n workerSrc = createCDNWrapper(new URL(workerSrc, window.location).href);\n }\n\n var worker = new Worker(workerSrc);\n var messageHandler = new _message_handler.MessageHandler(\"main\", \"worker\", worker);\n\n var terminateEarly = function terminateEarly() {\n worker.removeEventListener(\"error\", onWorkerError);\n messageHandler.destroy();\n worker.terminate();\n\n if (_this11.destroyed) {\n _this11._readyCapability.reject(new Error(\"Worker was destroyed\"));\n } else {\n _this11._setupFakeWorker();\n }\n };\n\n var onWorkerError = function onWorkerError() {\n if (!_this11._webWorker) {\n terminateEarly();\n }\n };\n\n worker.addEventListener(\"error\", onWorkerError);\n messageHandler.on(\"test\", function (data) {\n worker.removeEventListener(\"error\", onWorkerError);\n\n if (_this11.destroyed) {\n terminateEarly();\n return;\n }\n\n if (data) {\n _this11._messageHandler = messageHandler;\n _this11._port = worker;\n _this11._webWorker = worker;\n\n if (!data.supportTransfers) {\n _this11.postMessageTransfers = false;\n }\n\n _this11._readyCapability.resolve();\n\n messageHandler.send(\"configure\", {\n verbosity: _this11.verbosity\n });\n } else {\n _this11._setupFakeWorker();\n\n messageHandler.destroy();\n worker.terminate();\n }\n });\n messageHandler.on(\"ready\", function (data) {\n worker.removeEventListener(\"error\", onWorkerError);\n\n if (_this11.destroyed) {\n terminateEarly();\n return;\n }\n\n try {\n sendTest();\n } catch (e) {\n _this11._setupFakeWorker();\n }\n });\n\n var sendTest = function sendTest() {\n var testObj = new Uint8Array([_this11.postMessageTransfers ? 255 : 0]);\n\n try {\n messageHandler.send(\"test\", testObj, [testObj.buffer]);\n } catch (ex) {\n (0, _util.warn)(\"Cannot use postMessage transfers.\");\n testObj[0] = 0;\n messageHandler.send(\"test\", testObj);\n }\n };\n\n sendTest();\n return;\n } catch (e) {\n (0, _util.info)(\"The worker has been disabled.\");\n }\n }\n\n this._setupFakeWorker();\n }\n }, {\n key: \"_setupFakeWorker\",\n value: function _setupFakeWorker() {\n var _this12 = this;\n\n if (!isWorkerDisabled) {\n (0, _util.warn)(\"Setting up fake worker.\");\n isWorkerDisabled = true;\n }\n\n setupFakeWorkerGlobal().then(function (WorkerMessageHandler) {\n if (_this12.destroyed) {\n _this12._readyCapability.reject(new Error(\"Worker was destroyed\"));\n\n return;\n }\n\n var port = new LoopbackPort();\n _this12._port = port;\n var id = \"fake\" + nextFakeWorkerId++;\n var workerHandler = new _message_handler.MessageHandler(id + \"_worker\", id, port);\n WorkerMessageHandler.setup(workerHandler, port);\n var messageHandler = new _message_handler.MessageHandler(id, id + \"_worker\", port);\n _this12._messageHandler = messageHandler;\n\n _this12._readyCapability.resolve();\n\n messageHandler.send(\"configure\", {\n verbosity: _this12.verbosity\n });\n })[\"catch\"](function (reason) {\n _this12._readyCapability.reject(new Error(\"Setting up fake worker failed: \\\"\".concat(reason.message, \"\\\".\")));\n });\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n this.destroyed = true;\n\n if (this._webWorker) {\n this._webWorker.terminate();\n\n this._webWorker = null;\n }\n\n pdfWorkerPorts[\"delete\"](this._port);\n this._port = null;\n\n if (this._messageHandler) {\n this._messageHandler.destroy();\n\n this._messageHandler = null;\n }\n }\n }, {\n key: \"promise\",\n get: function get() {\n return this._readyCapability.promise;\n }\n }, {\n key: \"port\",\n get: function get() {\n return this._port;\n }\n }, {\n key: \"messageHandler\",\n get: function get() {\n return this._messageHandler;\n }\n }], [{\n key: \"fromPort\",\n value: function fromPort(params) {\n if (!params || !params.port) {\n throw new Error(\"PDFWorker.fromPort - invalid method signature.\");\n }\n\n if (pdfWorkerPorts.has(params.port)) {\n return pdfWorkerPorts.get(params.port);\n }\n\n return new PDFWorker(params);\n }\n }, {\n key: \"getWorkerSrc\",\n value: function getWorkerSrc() {\n return _getWorkerSrc();\n }\n }]);\n\n return PDFWorker;\n }();\n\n return PDFWorker;\n}();\n\nexports.PDFWorker = PDFWorker;\n\nvar WorkerTransport = /*#__PURE__*/function () {\n function WorkerTransport(messageHandler, loadingTask, networkStream, params) {\n _classCallCheck(this, WorkerTransport);\n\n this.messageHandler = messageHandler;\n this.loadingTask = loadingTask;\n this.commonObjs = new PDFObjects();\n this.fontLoader = new _font_loader.FontLoader({\n docId: loadingTask.docId,\n onUnsupportedFeature: this._onUnsupportedFeature.bind(this)\n });\n this._params = params;\n this.CMapReaderFactory = new params.CMapReaderFactory({\n baseUrl: params.cMapUrl,\n isCompressed: params.cMapPacked\n });\n this.destroyed = false;\n this.destroyCapability = null;\n this._passwordCapability = null;\n this._networkStream = networkStream;\n this._fullReader = null;\n this._lastProgress = null;\n this.pageCache = [];\n this.pagePromises = [];\n this.downloadInfoCapability = (0, _util.createPromiseCapability)();\n this.setupMessageHandler();\n }\n\n _createClass(WorkerTransport, [{\n key: \"destroy\",\n value: function destroy() {\n var _this13 = this;\n\n if (this.destroyCapability) {\n return this.destroyCapability.promise;\n }\n\n this.destroyed = true;\n this.destroyCapability = (0, _util.createPromiseCapability)();\n\n if (this._passwordCapability) {\n this._passwordCapability.reject(new Error(\"Worker was destroyed during onPassword callback\"));\n }\n\n var waitOn = [];\n this.pageCache.forEach(function (page) {\n if (page) {\n waitOn.push(page._destroy());\n }\n });\n this.pageCache.length = 0;\n this.pagePromises.length = 0;\n var terminated = this.messageHandler.sendWithPromise(\"Terminate\", null);\n waitOn.push(terminated);\n Promise.all(waitOn).then(function () {\n _this13.fontLoader.clear();\n\n if (_this13._networkStream) {\n _this13._networkStream.cancelAllRequests(new _util.AbortException(\"Worker was terminated.\"));\n }\n\n if (_this13.messageHandler) {\n _this13.messageHandler.destroy();\n\n _this13.messageHandler = null;\n }\n\n _this13.destroyCapability.resolve();\n }, this.destroyCapability.reject);\n return this.destroyCapability.promise;\n }\n }, {\n key: \"setupMessageHandler\",\n value: function setupMessageHandler() {\n var _this14 = this;\n\n var messageHandler = this.messageHandler,\n loadingTask = this.loadingTask;\n messageHandler.on(\"GetReader\", function (data, sink) {\n (0, _util.assert)(_this14._networkStream, \"GetReader - no `IPDFStream` instance available.\");\n _this14._fullReader = _this14._networkStream.getFullReader();\n\n _this14._fullReader.onProgress = function (evt) {\n _this14._lastProgress = {\n loaded: evt.loaded,\n total: evt.total\n };\n };\n\n sink.onPull = function () {\n _this14._fullReader.read().then(function (_ref12) {\n var value = _ref12.value,\n done = _ref12.done;\n\n if (done) {\n sink.close();\n return;\n }\n\n (0, _util.assert)((0, _util.isArrayBuffer)(value), \"GetReader - expected an ArrayBuffer.\");\n sink.enqueue(new Uint8Array(value), 1, [value]);\n })[\"catch\"](function (reason) {\n sink.error(reason);\n });\n };\n\n sink.onCancel = function (reason) {\n _this14._fullReader.cancel(reason);\n };\n });\n messageHandler.on(\"ReaderHeadersReady\", function (data) {\n var headersCapability = (0, _util.createPromiseCapability)();\n var fullReader = _this14._fullReader;\n fullReader.headersReady.then(function () {\n if (!fullReader.isStreamingSupported || !fullReader.isRangeSupported) {\n if (_this14._lastProgress && loadingTask.onProgress) {\n loadingTask.onProgress(_this14._lastProgress);\n }\n\n fullReader.onProgress = function (evt) {\n if (loadingTask.onProgress) {\n loadingTask.onProgress({\n loaded: evt.loaded,\n total: evt.total\n });\n }\n };\n }\n\n headersCapability.resolve({\n isStreamingSupported: fullReader.isStreamingSupported,\n isRangeSupported: fullReader.isRangeSupported,\n contentLength: fullReader.contentLength\n });\n }, headersCapability.reject);\n return headersCapability.promise;\n });\n messageHandler.on(\"GetRangeReader\", function (data, sink) {\n (0, _util.assert)(_this14._networkStream, \"GetRangeReader - no `IPDFStream` instance available.\");\n\n var rangeReader = _this14._networkStream.getRangeReader(data.begin, data.end);\n\n if (!rangeReader) {\n sink.close();\n return;\n }\n\n sink.onPull = function () {\n rangeReader.read().then(function (_ref13) {\n var value = _ref13.value,\n done = _ref13.done;\n\n if (done) {\n sink.close();\n return;\n }\n\n (0, _util.assert)((0, _util.isArrayBuffer)(value), \"GetRangeReader - expected an ArrayBuffer.\");\n sink.enqueue(new Uint8Array(value), 1, [value]);\n })[\"catch\"](function (reason) {\n sink.error(reason);\n });\n };\n\n sink.onCancel = function (reason) {\n rangeReader.cancel(reason);\n };\n });\n messageHandler.on(\"GetDoc\", function (_ref14) {\n var pdfInfo = _ref14.pdfInfo;\n _this14._numPages = pdfInfo.numPages;\n\n loadingTask._capability.resolve(new PDFDocumentProxy(pdfInfo, _this14));\n });\n messageHandler.on(\"DocException\", function (ex) {\n var reason;\n\n switch (ex.name) {\n case \"PasswordException\":\n reason = new _util.PasswordException(ex.message, ex.code);\n break;\n\n case \"InvalidPDFException\":\n reason = new _util.InvalidPDFException(ex.message);\n break;\n\n case \"MissingPDFException\":\n reason = new _util.MissingPDFException(ex.message);\n break;\n\n case \"UnexpectedResponseException\":\n reason = new _util.UnexpectedResponseException(ex.message, ex.status);\n break;\n\n case \"UnknownErrorException\":\n reason = new _util.UnknownErrorException(ex.message, ex.details);\n break;\n }\n\n loadingTask._capability.reject(reason);\n });\n messageHandler.on(\"PasswordRequest\", function (exception) {\n _this14._passwordCapability = (0, _util.createPromiseCapability)();\n\n if (loadingTask.onPassword) {\n var updatePassword = function updatePassword(password) {\n _this14._passwordCapability.resolve({\n password: password\n });\n };\n\n try {\n loadingTask.onPassword(updatePassword, exception.code);\n } catch (ex) {\n _this14._passwordCapability.reject(ex);\n }\n } else {\n _this14._passwordCapability.reject(new _util.PasswordException(exception.message, exception.code));\n }\n\n return _this14._passwordCapability.promise;\n });\n messageHandler.on(\"DataLoaded\", function (data) {\n if (loadingTask.onProgress) {\n loadingTask.onProgress({\n loaded: data.length,\n total: data.length\n });\n }\n\n _this14.downloadInfoCapability.resolve(data);\n });\n messageHandler.on(\"StartRenderPage\", function (data) {\n if (_this14.destroyed) {\n return;\n }\n\n var page = _this14.pageCache[data.pageIndex];\n\n page._startRenderPage(data.transparency, data.intent);\n });\n messageHandler.on(\"commonobj\", function (data) {\n if (_this14.destroyed) {\n return;\n }\n\n var _data = _slicedToArray(data, 3),\n id = _data[0],\n type = _data[1],\n exportedData = _data[2];\n\n if (_this14.commonObjs.has(id)) {\n return;\n }\n\n switch (type) {\n case \"Font\":\n var params = _this14._params;\n\n if (\"error\" in exportedData) {\n var exportedError = exportedData.error;\n (0, _util.warn)(\"Error during font loading: \".concat(exportedError));\n\n _this14.commonObjs.resolve(id, exportedError);\n\n break;\n }\n\n var fontRegistry = null;\n\n if (params.pdfBug && globalThis.FontInspector && globalThis.FontInspector.enabled) {\n fontRegistry = {\n registerFont: function registerFont(font, url) {\n globalThis.FontInspector.fontAdded(font, url);\n }\n };\n }\n\n var font = new _font_loader.FontFaceObject(exportedData, {\n isEvalSupported: params.isEvalSupported,\n disableFontFace: params.disableFontFace,\n ignoreErrors: params.ignoreErrors,\n onUnsupportedFeature: _this14._onUnsupportedFeature.bind(_this14),\n fontRegistry: fontRegistry\n });\n\n _this14.fontLoader.bind(font)[\"catch\"](function (reason) {\n return messageHandler.sendWithPromise(\"FontFallback\", {\n id: id\n });\n })[\"finally\"](function () {\n if (!params.fontExtraProperties && font.data) {\n font.data = null;\n }\n\n _this14.commonObjs.resolve(id, font);\n });\n\n break;\n\n case \"FontPath\":\n case \"FontType3Res\":\n case \"Image\":\n _this14.commonObjs.resolve(id, exportedData);\n\n break;\n\n default:\n throw new Error(\"Got unknown common object type \".concat(type));\n }\n });\n messageHandler.on(\"obj\", function (data) {\n if (_this14.destroyed) {\n return undefined;\n }\n\n var _data2 = _slicedToArray(data, 4),\n id = _data2[0],\n pageIndex = _data2[1],\n type = _data2[2],\n imageData = _data2[3];\n\n var pageProxy = _this14.pageCache[pageIndex];\n\n if (pageProxy.objs.has(id)) {\n return undefined;\n }\n\n switch (type) {\n case \"Image\":\n pageProxy.objs.resolve(id, imageData);\n var MAX_IMAGE_SIZE_TO_STORE = 8000000;\n\n if (imageData && \"data\" in imageData && imageData.data.length > MAX_IMAGE_SIZE_TO_STORE) {\n pageProxy.cleanupAfterRender = true;\n }\n\n break;\n\n default:\n throw new Error(\"Got unknown object type \".concat(type));\n }\n\n return undefined;\n });\n messageHandler.on(\"DocProgress\", function (data) {\n if (_this14.destroyed) {\n return;\n }\n\n if (loadingTask.onProgress) {\n loadingTask.onProgress({\n loaded: data.loaded,\n total: data.total\n });\n }\n });\n messageHandler.on(\"UnsupportedFeature\", this._onUnsupportedFeature.bind(this));\n messageHandler.on(\"FetchBuiltInCMap\", function (data, sink) {\n if (_this14.destroyed) {\n sink.error(new Error(\"Worker was destroyed\"));\n return;\n }\n\n var fetched = false;\n\n sink.onPull = function () {\n if (fetched) {\n sink.close();\n return;\n }\n\n fetched = true;\n\n _this14.CMapReaderFactory.fetch(data).then(function (builtInCMap) {\n sink.enqueue(builtInCMap, 1, [builtInCMap.cMapData.buffer]);\n })[\"catch\"](function (reason) {\n sink.error(reason);\n });\n };\n });\n }\n }, {\n key: \"_onUnsupportedFeature\",\n value: function _onUnsupportedFeature(_ref15) {\n var featureId = _ref15.featureId;\n\n if (this.destroyed) {\n return;\n }\n\n if (this.loadingTask.onUnsupportedFeature) {\n this.loadingTask.onUnsupportedFeature(featureId);\n }\n }\n }, {\n key: \"getData\",\n value: function getData() {\n return this.messageHandler.sendWithPromise(\"GetData\", null);\n }\n }, {\n key: \"getPage\",\n value: function getPage(pageNumber) {\n var _this15 = this;\n\n if (!Number.isInteger(pageNumber) || pageNumber <= 0 || pageNumber > this._numPages) {\n return Promise.reject(new Error(\"Invalid page request\"));\n }\n\n var pageIndex = pageNumber - 1;\n\n if (pageIndex in this.pagePromises) {\n return this.pagePromises[pageIndex];\n }\n\n var promise = this.messageHandler.sendWithPromise(\"GetPage\", {\n pageIndex: pageIndex\n }).then(function (pageInfo) {\n if (_this15.destroyed) {\n throw new Error(\"Transport destroyed\");\n }\n\n var page = new PDFPageProxy(pageIndex, pageInfo, _this15, _this15._params.pdfBug);\n _this15.pageCache[pageIndex] = page;\n return page;\n });\n this.pagePromises[pageIndex] = promise;\n return promise;\n }\n }, {\n key: \"getPageIndex\",\n value: function getPageIndex(ref) {\n return this.messageHandler.sendWithPromise(\"GetPageIndex\", {\n ref: ref\n })[\"catch\"](function (reason) {\n return Promise.reject(new Error(reason));\n });\n }\n }, {\n key: \"getAnnotations\",\n value: function getAnnotations(pageIndex, intent) {\n return this.messageHandler.sendWithPromise(\"GetAnnotations\", {\n pageIndex: pageIndex,\n intent: intent\n });\n }\n }, {\n key: \"getDestinations\",\n value: function getDestinations() {\n return this.messageHandler.sendWithPromise(\"GetDestinations\", null);\n }\n }, {\n key: \"getDestination\",\n value: function getDestination(id) {\n if (typeof id !== \"string\") {\n return Promise.reject(new Error(\"Invalid destination request.\"));\n }\n\n return this.messageHandler.sendWithPromise(\"GetDestination\", {\n id: id\n });\n }\n }, {\n key: \"getPageLabels\",\n value: function getPageLabels() {\n return this.messageHandler.sendWithPromise(\"GetPageLabels\", null);\n }\n }, {\n key: \"getPageLayout\",\n value: function getPageLayout() {\n return this.messageHandler.sendWithPromise(\"GetPageLayout\", null);\n }\n }, {\n key: \"getPageMode\",\n value: function getPageMode() {\n return this.messageHandler.sendWithPromise(\"GetPageMode\", null);\n }\n }, {\n key: \"getViewerPreferences\",\n value: function getViewerPreferences() {\n return this.messageHandler.sendWithPromise(\"GetViewerPreferences\", null);\n }\n }, {\n key: \"getOpenAction\",\n value: function getOpenAction() {\n return this.messageHandler.sendWithPromise(\"GetOpenAction\", null);\n }\n }, {\n key: \"getAttachments\",\n value: function getAttachments() {\n return this.messageHandler.sendWithPromise(\"GetAttachments\", null);\n }\n }, {\n key: \"getJavaScript\",\n value: function getJavaScript() {\n return this.messageHandler.sendWithPromise(\"GetJavaScript\", null);\n }\n }, {\n key: \"getOutline\",\n value: function getOutline() {\n return this.messageHandler.sendWithPromise(\"GetOutline\", null);\n }\n }, {\n key: \"getPermissions\",\n value: function getPermissions() {\n return this.messageHandler.sendWithPromise(\"GetPermissions\", null);\n }\n }, {\n key: \"getMetadata\",\n value: function getMetadata() {\n var _this16 = this;\n\n return this.messageHandler.sendWithPromise(\"GetMetadata\", null).then(function (results) {\n return {\n info: results[0],\n metadata: results[1] ? new _metadata.Metadata(results[1]) : null,\n contentDispositionFilename: _this16._fullReader ? _this16._fullReader.filename : null\n };\n });\n }\n }, {\n key: \"getStats\",\n value: function getStats() {\n return this.messageHandler.sendWithPromise(\"GetStats\", null);\n }\n }, {\n key: \"startCleanup\",\n value: function startCleanup() {\n var _this17 = this;\n\n return this.messageHandler.sendWithPromise(\"Cleanup\", null).then(function () {\n for (var i = 0, ii = _this17.pageCache.length; i < ii; i++) {\n var page = _this17.pageCache[i];\n\n if (page) {\n var cleanupSuccessful = page.cleanup();\n\n if (!cleanupSuccessful) {\n throw new Error(\"startCleanup: Page \".concat(i + 1, \" is currently rendering.\"));\n }\n }\n }\n\n _this17.commonObjs.clear();\n\n _this17.fontLoader.clear();\n });\n }\n }, {\n key: \"loadingParams\",\n get: function get() {\n var params = this._params;\n return (0, _util.shadow)(this, \"loadingParams\", {\n disableAutoFetch: params.disableAutoFetch,\n disableFontFace: params.disableFontFace\n });\n }\n }]);\n\n return WorkerTransport;\n}();\n\nvar PDFObjects = /*#__PURE__*/function () {\n function PDFObjects() {\n _classCallCheck(this, PDFObjects);\n\n this._objs = Object.create(null);\n }\n\n _createClass(PDFObjects, [{\n key: \"_ensureObj\",\n value: function _ensureObj(objId) {\n if (this._objs[objId]) {\n return this._objs[objId];\n }\n\n return this._objs[objId] = {\n capability: (0, _util.createPromiseCapability)(),\n data: null,\n resolved: false\n };\n }\n }, {\n key: \"get\",\n value: function get(objId) {\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n if (callback) {\n this._ensureObj(objId).capability.promise.then(callback);\n\n return null;\n }\n\n var obj = this._objs[objId];\n\n if (!obj || !obj.resolved) {\n throw new Error(\"Requesting object that isn't resolved yet \".concat(objId, \".\"));\n }\n\n return obj.data;\n }\n }, {\n key: \"has\",\n value: function has(objId) {\n var obj = this._objs[objId];\n return obj ? obj.resolved : false;\n }\n }, {\n key: \"resolve\",\n value: function resolve(objId, data) {\n var obj = this._ensureObj(objId);\n\n obj.resolved = true;\n obj.data = data;\n obj.capability.resolve(data);\n }\n }, {\n key: \"clear\",\n value: function clear() {\n this._objs = Object.create(null);\n }\n }]);\n\n return PDFObjects;\n}();\n\nvar RenderTask = /*#__PURE__*/function () {\n function RenderTask(internalRenderTask) {\n _classCallCheck(this, RenderTask);\n\n this._internalRenderTask = internalRenderTask;\n this.onContinue = null;\n }\n\n _createClass(RenderTask, [{\n key: \"cancel\",\n value: function cancel() {\n this._internalRenderTask.cancel();\n }\n }, {\n key: \"promise\",\n get: function get() {\n return this._internalRenderTask.capability.promise;\n }\n }]);\n\n return RenderTask;\n}();\n\nvar InternalRenderTask = function InternalRenderTaskClosure() {\n var canvasInRendering = new WeakSet();\n\n var InternalRenderTask = /*#__PURE__*/function () {\n function InternalRenderTask(_ref16) {\n var callback = _ref16.callback,\n params = _ref16.params,\n objs = _ref16.objs,\n commonObjs = _ref16.commonObjs,\n operatorList = _ref16.operatorList,\n pageIndex = _ref16.pageIndex,\n canvasFactory = _ref16.canvasFactory,\n webGLContext = _ref16.webGLContext,\n _ref16$useRequestAnim = _ref16.useRequestAnimationFrame,\n useRequestAnimationFrame = _ref16$useRequestAnim === void 0 ? false : _ref16$useRequestAnim,\n _ref16$pdfBug = _ref16.pdfBug,\n pdfBug = _ref16$pdfBug === void 0 ? false : _ref16$pdfBug;\n\n _classCallCheck(this, InternalRenderTask);\n\n this.callback = callback;\n this.params = params;\n this.objs = objs;\n this.commonObjs = commonObjs;\n this.operatorListIdx = null;\n this.operatorList = operatorList;\n this._pageIndex = pageIndex;\n this.canvasFactory = canvasFactory;\n this.webGLContext = webGLContext;\n this._pdfBug = pdfBug;\n this.running = false;\n this.graphicsReadyCallback = null;\n this.graphicsReady = false;\n this._useRequestAnimationFrame = useRequestAnimationFrame === true && typeof window !== \"undefined\";\n this.cancelled = false;\n this.capability = (0, _util.createPromiseCapability)();\n this.task = new RenderTask(this);\n this._continueBound = this._continue.bind(this);\n this._scheduleNextBound = this._scheduleNext.bind(this);\n this._nextBound = this._next.bind(this);\n this._canvas = params.canvasContext.canvas;\n }\n\n _createClass(InternalRenderTask, [{\n key: \"initializeGraphics\",\n value: function initializeGraphics() {\n var transparency = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (this.cancelled) {\n return;\n }\n\n if (this._canvas) {\n if (canvasInRendering.has(this._canvas)) {\n throw new Error(\"Cannot use the same canvas during multiple render() operations. \" + \"Use different canvas or ensure previous operations were \" + \"cancelled or completed.\");\n }\n\n canvasInRendering.add(this._canvas);\n }\n\n if (this._pdfBug && globalThis.StepperManager && globalThis.StepperManager.enabled) {\n this.stepper = globalThis.StepperManager.create(this._pageIndex);\n this.stepper.init(this.operatorList);\n this.stepper.nextBreakPoint = this.stepper.getNextBreakPoint();\n }\n\n var _this$params = this.params,\n canvasContext = _this$params.canvasContext,\n viewport = _this$params.viewport,\n transform = _this$params.transform,\n imageLayer = _this$params.imageLayer,\n background = _this$params.background;\n this.gfx = new _canvas.CanvasGraphics(canvasContext, this.commonObjs, this.objs, this.canvasFactory, this.webGLContext, imageLayer);\n this.gfx.beginDrawing({\n transform: transform,\n viewport: viewport,\n transparency: transparency,\n background: background\n });\n this.operatorListIdx = 0;\n this.graphicsReady = true;\n\n if (this.graphicsReadyCallback) {\n this.graphicsReadyCallback();\n }\n }\n }, {\n key: \"cancel\",\n value: function cancel() {\n var error = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n this.running = false;\n this.cancelled = true;\n\n if (this.gfx) {\n this.gfx.endDrawing();\n }\n\n if (this._canvas) {\n canvasInRendering[\"delete\"](this._canvas);\n }\n\n this.callback(error || new _display_utils.RenderingCancelledException(\"Rendering cancelled, page \".concat(this._pageIndex + 1), \"canvas\"));\n }\n }, {\n key: \"operatorListChanged\",\n value: function operatorListChanged() {\n if (!this.graphicsReady) {\n if (!this.graphicsReadyCallback) {\n this.graphicsReadyCallback = this._continueBound;\n }\n\n return;\n }\n\n if (this.stepper) {\n this.stepper.updateOperatorList(this.operatorList);\n }\n\n if (this.running) {\n return;\n }\n\n this._continue();\n }\n }, {\n key: \"_continue\",\n value: function _continue() {\n this.running = true;\n\n if (this.cancelled) {\n return;\n }\n\n if (this.task.onContinue) {\n this.task.onContinue(this._scheduleNextBound);\n } else {\n this._scheduleNext();\n }\n }\n }, {\n key: \"_scheduleNext\",\n value: function _scheduleNext() {\n var _this18 = this;\n\n if (this._useRequestAnimationFrame) {\n window.requestAnimationFrame(function () {\n _this18._nextBound()[\"catch\"](_this18.cancel.bind(_this18));\n });\n } else {\n Promise.resolve().then(this._nextBound)[\"catch\"](this.cancel.bind(this));\n }\n }\n }, {\n key: \"_next\",\n value: function () {\n var _next2 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2() {\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n if (!this.cancelled) {\n _context2.next = 2;\n break;\n }\n\n return _context2.abrupt(\"return\");\n\n case 2:\n this.operatorListIdx = this.gfx.executeOperatorList(this.operatorList, this.operatorListIdx, this._continueBound, this.stepper);\n\n if (this.operatorListIdx === this.operatorList.argsArray.length) {\n this.running = false;\n\n if (this.operatorList.lastChunk) {\n this.gfx.endDrawing();\n\n if (this._canvas) {\n canvasInRendering[\"delete\"](this._canvas);\n }\n\n this.callback();\n }\n }\n\n case 4:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function _next() {\n return _next2.apply(this, arguments);\n }\n\n return _next;\n }()\n }]);\n\n return InternalRenderTask;\n }();\n\n return InternalRenderTask;\n}();\n\nvar version = '2.5.207';\nexports.version = version;\nvar build = '0974d605';\nexports.build = build;\n\n/***/ }),\n/* 199 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.FontLoader = exports.FontFaceObject = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar BaseFontLoader = /*#__PURE__*/function () {\n function BaseFontLoader(_ref) {\n var docId = _ref.docId,\n onUnsupportedFeature = _ref.onUnsupportedFeature;\n\n _classCallCheck(this, BaseFontLoader);\n\n if (this.constructor === BaseFontLoader) {\n (0, _util.unreachable)(\"Cannot initialize BaseFontLoader.\");\n }\n\n this.docId = docId;\n this._onUnsupportedFeature = onUnsupportedFeature;\n this.nativeFontFaces = [];\n this.styleElement = null;\n }\n\n _createClass(BaseFontLoader, [{\n key: \"addNativeFontFace\",\n value: function addNativeFontFace(nativeFontFace) {\n this.nativeFontFaces.push(nativeFontFace);\n document.fonts.add(nativeFontFace);\n }\n }, {\n key: \"insertRule\",\n value: function insertRule(rule) {\n var styleElement = this.styleElement;\n\n if (!styleElement) {\n styleElement = this.styleElement = document.createElement(\"style\");\n styleElement.id = \"PDFJS_FONT_STYLE_TAG_\".concat(this.docId);\n document.documentElement.getElementsByTagName(\"head\")[0].appendChild(styleElement);\n }\n\n var styleSheet = styleElement.sheet;\n styleSheet.insertRule(rule, styleSheet.cssRules.length);\n }\n }, {\n key: \"clear\",\n value: function clear() {\n this.nativeFontFaces.forEach(function (nativeFontFace) {\n document.fonts[\"delete\"](nativeFontFace);\n });\n this.nativeFontFaces.length = 0;\n\n if (this.styleElement) {\n this.styleElement.remove();\n this.styleElement = null;\n }\n }\n }, {\n key: \"bind\",\n value: function () {\n var _bind = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee(font) {\n var _this = this;\n\n var nativeFontFace, rule;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (!(font.attached || font.missingFile)) {\n _context.next = 2;\n break;\n }\n\n return _context.abrupt(\"return\");\n\n case 2:\n font.attached = true;\n\n if (!this.isFontLoadingAPISupported) {\n _context.next = 19;\n break;\n }\n\n nativeFontFace = font.createNativeFontFace();\n\n if (!nativeFontFace) {\n _context.next = 18;\n break;\n }\n\n this.addNativeFontFace(nativeFontFace);\n _context.prev = 7;\n _context.next = 10;\n return nativeFontFace.loaded;\n\n case 10:\n _context.next = 18;\n break;\n\n case 12:\n _context.prev = 12;\n _context.t0 = _context[\"catch\"](7);\n\n this._onUnsupportedFeature({\n featureId: _util.UNSUPPORTED_FEATURES.errorFontLoadNative\n });\n\n (0, _util.warn)(\"Failed to load font '\".concat(nativeFontFace.family, \"': '\").concat(_context.t0, \"'.\"));\n font.disableFontFace = true;\n throw _context.t0;\n\n case 18:\n return _context.abrupt(\"return\");\n\n case 19:\n rule = font.createFontFaceRule();\n\n if (!rule) {\n _context.next = 26;\n break;\n }\n\n this.insertRule(rule);\n\n if (!this.isSyncFontLoadingSupported) {\n _context.next = 24;\n break;\n }\n\n return _context.abrupt(\"return\");\n\n case 24:\n _context.next = 26;\n return new Promise(function (resolve) {\n var request = _this._queueLoadingCallback(resolve);\n\n _this._prepareFontLoadEvent([rule], [font], request);\n });\n\n case 26:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this, [[7, 12]]);\n }));\n\n function bind(_x) {\n return _bind.apply(this, arguments);\n }\n\n return bind;\n }()\n }, {\n key: \"_queueLoadingCallback\",\n value: function _queueLoadingCallback(callback) {\n (0, _util.unreachable)(\"Abstract method `_queueLoadingCallback`.\");\n }\n }, {\n key: \"_prepareFontLoadEvent\",\n value: function _prepareFontLoadEvent(rules, fontsToLoad, request) {\n (0, _util.unreachable)(\"Abstract method `_prepareFontLoadEvent`.\");\n }\n }, {\n key: \"isFontLoadingAPISupported\",\n get: function get() {\n var supported = typeof document !== \"undefined\" && !!document.fonts;\n return (0, _util.shadow)(this, \"isFontLoadingAPISupported\", supported);\n }\n }, {\n key: \"isSyncFontLoadingSupported\",\n get: function get() {\n (0, _util.unreachable)(\"Abstract method `isSyncFontLoadingSupported`.\");\n }\n }, {\n key: \"_loadTestFont\",\n get: function get() {\n (0, _util.unreachable)(\"Abstract method `_loadTestFont`.\");\n }\n }]);\n\n return BaseFontLoader;\n}();\n\nvar FontLoader;\nexports.FontLoader = FontLoader;\n{\n exports.FontLoader = FontLoader = /*#__PURE__*/function (_BaseFontLoader) {\n _inherits(GenericFontLoader, _BaseFontLoader);\n\n var _super = _createSuper(GenericFontLoader);\n\n function GenericFontLoader(docId) {\n var _this2;\n\n _classCallCheck(this, GenericFontLoader);\n\n _this2 = _super.call(this, docId);\n _this2.loadingContext = {\n requests: [],\n nextRequestId: 0\n };\n _this2.loadTestFontId = 0;\n return _this2;\n }\n\n _createClass(GenericFontLoader, [{\n key: \"_queueLoadingCallback\",\n value: function _queueLoadingCallback(callback) {\n function completeRequest() {\n (0, _util.assert)(!request.done, \"completeRequest() cannot be called twice.\");\n request.done = true;\n\n while (context.requests.length > 0 && context.requests[0].done) {\n var otherRequest = context.requests.shift();\n setTimeout(otherRequest.callback, 0);\n }\n }\n\n var context = this.loadingContext;\n var request = {\n id: \"pdfjs-font-loading-\".concat(context.nextRequestId++),\n done: false,\n complete: completeRequest,\n callback: callback\n };\n context.requests.push(request);\n return request;\n }\n }, {\n key: \"_prepareFontLoadEvent\",\n value: function _prepareFontLoadEvent(rules, fonts, request) {\n function int32(data, offset) {\n return data.charCodeAt(offset) << 24 | data.charCodeAt(offset + 1) << 16 | data.charCodeAt(offset + 2) << 8 | data.charCodeAt(offset + 3) & 0xff;\n }\n\n function spliceString(s, offset, remove, insert) {\n var chunk1 = s.substring(0, offset);\n var chunk2 = s.substring(offset + remove);\n return chunk1 + insert + chunk2;\n }\n\n var i, ii;\n var canvas = document.createElement(\"canvas\");\n canvas.width = 1;\n canvas.height = 1;\n var ctx = canvas.getContext(\"2d\");\n var called = 0;\n\n function isFontReady(name, callback) {\n called++;\n\n if (called > 30) {\n (0, _util.warn)(\"Load test font never loaded.\");\n callback();\n return;\n }\n\n ctx.font = \"30px \" + name;\n ctx.fillText(\".\", 0, 20);\n var imageData = ctx.getImageData(0, 0, 1, 1);\n\n if (imageData.data[3] > 0) {\n callback();\n return;\n }\n\n setTimeout(isFontReady.bind(null, name, callback));\n }\n\n var loadTestFontId = \"lt\".concat(Date.now()).concat(this.loadTestFontId++);\n var data = this._loadTestFont;\n var COMMENT_OFFSET = 976;\n data = spliceString(data, COMMENT_OFFSET, loadTestFontId.length, loadTestFontId);\n var CFF_CHECKSUM_OFFSET = 16;\n var XXXX_VALUE = 0x58585858;\n var checksum = int32(data, CFF_CHECKSUM_OFFSET);\n\n for (i = 0, ii = loadTestFontId.length - 3; i < ii; i += 4) {\n checksum = checksum - XXXX_VALUE + int32(loadTestFontId, i) | 0;\n }\n\n if (i < loadTestFontId.length) {\n checksum = checksum - XXXX_VALUE + int32(loadTestFontId + \"XXX\", i) | 0;\n }\n\n data = spliceString(data, CFF_CHECKSUM_OFFSET, 4, (0, _util.string32)(checksum));\n var url = \"url(data:font/opentype;base64,\".concat(btoa(data), \");\");\n var rule = \"@font-face {font-family:\\\"\".concat(loadTestFontId, \"\\\";src:\").concat(url, \"}\");\n this.insertRule(rule);\n var names = [];\n\n for (i = 0, ii = fonts.length; i < ii; i++) {\n names.push(fonts[i].loadedName);\n }\n\n names.push(loadTestFontId);\n var div = document.createElement(\"div\");\n div.style.visibility = \"hidden\";\n div.style.width = div.style.height = \"10px\";\n div.style.position = \"absolute\";\n div.style.top = div.style.left = \"0px\";\n\n for (i = 0, ii = names.length; i < ii; ++i) {\n var span = document.createElement(\"span\");\n span.textContent = \"Hi\";\n span.style.fontFamily = names[i];\n div.appendChild(span);\n }\n\n document.body.appendChild(div);\n isFontReady(loadTestFontId, function () {\n document.body.removeChild(div);\n request.complete();\n });\n }\n }, {\n key: \"isSyncFontLoadingSupported\",\n get: function get() {\n var supported = false;\n\n if (typeof navigator === \"undefined\") {\n supported = true;\n } else {\n var m = /Mozilla\\/5.0.*?rv:(\\d+).*? Gecko/.exec(navigator.userAgent);\n\n if (m && m[1] >= 14) {\n supported = true;\n }\n }\n\n return (0, _util.shadow)(this, \"isSyncFontLoadingSupported\", supported);\n }\n }, {\n key: \"_loadTestFont\",\n get: function get() {\n var getLoadTestFont = function getLoadTestFont() {\n return atob(\"T1RUTwALAIAAAwAwQ0ZGIDHtZg4AAAOYAAAAgUZGVE1lkzZwAAAEHAAAABxHREVGABQA\" + \"FQAABDgAAAAeT1MvMlYNYwkAAAEgAAAAYGNtYXABDQLUAAACNAAAAUJoZWFk/xVFDQAA\" + \"ALwAAAA2aGhlYQdkA+oAAAD0AAAAJGhtdHgD6AAAAAAEWAAAAAZtYXhwAAJQAAAAARgA\" + \"AAAGbmFtZVjmdH4AAAGAAAAAsXBvc3T/hgAzAAADeAAAACAAAQAAAAEAALZRFsRfDzz1\" + \"AAsD6AAAAADOBOTLAAAAAM4KHDwAAAAAA+gDIQAAAAgAAgAAAAAAAAABAAADIQAAAFoD\" + \"6AAAAAAD6AABAAAAAAAAAAAAAAAAAAAAAQAAUAAAAgAAAAQD6AH0AAUAAAKKArwAAACM\" + \"AooCvAAAAeAAMQECAAACAAYJAAAAAAAAAAAAAQAAAAAAAAAAAAAAAFBmRWQAwAAuAC4D\" + \"IP84AFoDIQAAAAAAAQAAAAAAAAAAACAAIAABAAAADgCuAAEAAAAAAAAAAQAAAAEAAAAA\" + \"AAEAAQAAAAEAAAAAAAIAAQAAAAEAAAAAAAMAAQAAAAEAAAAAAAQAAQAAAAEAAAAAAAUA\" + \"AQAAAAEAAAAAAAYAAQAAAAMAAQQJAAAAAgABAAMAAQQJAAEAAgABAAMAAQQJAAIAAgAB\" + \"AAMAAQQJAAMAAgABAAMAAQQJAAQAAgABAAMAAQQJAAUAAgABAAMAAQQJAAYAAgABWABY\" + \"AAAAAAAAAwAAAAMAAAAcAAEAAAAAADwAAwABAAAAHAAEACAAAAAEAAQAAQAAAC7//wAA\" + \"AC7////TAAEAAAAAAAABBgAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAD/gwAyAAAAAQAAAAAAAAAAAAAAAAAA\" + \"AAABAAQEAAEBAQJYAAEBASH4DwD4GwHEAvgcA/gXBIwMAYuL+nz5tQXkD5j3CBLnEQAC\" + \"AQEBIVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYAAABAQAADwACAQEEE/t3\" + \"Dov6fAH6fAT+fPp8+nwHDosMCvm1Cvm1DAz6fBQAAAAAAAABAAAAAMmJbzEAAAAAzgTj\" + \"FQAAAADOBOQpAAEAAAAAAAAADAAUAAQAAAABAAAAAgABAAAAAAAAAAAD6AAAAAAAAA==\");\n };\n\n return (0, _util.shadow)(this, \"_loadTestFont\", getLoadTestFont());\n }\n }]);\n\n return GenericFontLoader;\n }(BaseFontLoader);\n}\n\nvar FontFaceObject = /*#__PURE__*/function () {\n function FontFaceObject(translatedData, _ref2) {\n var _ref2$isEvalSupported = _ref2.isEvalSupported,\n isEvalSupported = _ref2$isEvalSupported === void 0 ? true : _ref2$isEvalSupported,\n _ref2$disableFontFace = _ref2.disableFontFace,\n disableFontFace = _ref2$disableFontFace === void 0 ? false : _ref2$disableFontFace,\n _ref2$ignoreErrors = _ref2.ignoreErrors,\n ignoreErrors = _ref2$ignoreErrors === void 0 ? false : _ref2$ignoreErrors,\n _ref2$onUnsupportedFe = _ref2.onUnsupportedFeature,\n onUnsupportedFeature = _ref2$onUnsupportedFe === void 0 ? null : _ref2$onUnsupportedFe,\n _ref2$fontRegistry = _ref2.fontRegistry,\n fontRegistry = _ref2$fontRegistry === void 0 ? null : _ref2$fontRegistry;\n\n _classCallCheck(this, FontFaceObject);\n\n this.compiledGlyphs = Object.create(null);\n\n for (var i in translatedData) {\n this[i] = translatedData[i];\n }\n\n this.isEvalSupported = isEvalSupported !== false;\n this.disableFontFace = disableFontFace === true;\n this.ignoreErrors = ignoreErrors === true;\n this._onUnsupportedFeature = onUnsupportedFeature;\n this.fontRegistry = fontRegistry;\n }\n\n _createClass(FontFaceObject, [{\n key: \"createNativeFontFace\",\n value: function createNativeFontFace() {\n if (!this.data || this.disableFontFace) {\n return null;\n }\n\n var nativeFontFace = new FontFace(this.loadedName, this.data, {});\n\n if (this.fontRegistry) {\n this.fontRegistry.registerFont(this);\n }\n\n return nativeFontFace;\n }\n }, {\n key: \"createFontFaceRule\",\n value: function createFontFaceRule() {\n if (!this.data || this.disableFontFace) {\n return null;\n }\n\n var data = (0, _util.bytesToString)(new Uint8Array(this.data));\n var url = \"url(data:\".concat(this.mimetype, \";base64,\").concat(btoa(data), \");\");\n var rule = \"@font-face {font-family:\\\"\".concat(this.loadedName, \"\\\";src:\").concat(url, \"}\");\n\n if (this.fontRegistry) {\n this.fontRegistry.registerFont(this, url);\n }\n\n return rule;\n }\n }, {\n key: \"getPathGenerator\",\n value: function getPathGenerator(objs, character) {\n if (this.compiledGlyphs[character] !== undefined) {\n return this.compiledGlyphs[character];\n }\n\n var cmds, current;\n\n try {\n cmds = objs.get(this.loadedName + \"_path_\" + character);\n } catch (ex) {\n if (!this.ignoreErrors) {\n throw ex;\n }\n\n if (this._onUnsupportedFeature) {\n this._onUnsupportedFeature({\n featureId: _util.UNSUPPORTED_FEATURES.errorFontGetPath\n });\n }\n\n (0, _util.warn)(\"getPathGenerator - ignoring character: \\\"\".concat(ex, \"\\\".\"));\n return this.compiledGlyphs[character] = function (c, size) {};\n }\n\n if (this.isEvalSupported && _util.IsEvalSupportedCached.value) {\n var args,\n js = \"\";\n\n for (var i = 0, ii = cmds.length; i < ii; i++) {\n current = cmds[i];\n\n if (current.args !== undefined) {\n args = current.args.join(\",\");\n } else {\n args = \"\";\n }\n\n js += \"c.\" + current.cmd + \"(\" + args + \");\\n\";\n }\n\n return this.compiledGlyphs[character] = new Function(\"c\", \"size\", js);\n }\n\n return this.compiledGlyphs[character] = function (c, size) {\n for (var _i = 0, _ii = cmds.length; _i < _ii; _i++) {\n current = cmds[_i];\n\n if (current.cmd === \"scale\") {\n current.args = [size, -size];\n }\n\n c[current.cmd].apply(c, current.args);\n }\n };\n }\n }]);\n\n return FontFaceObject;\n}();\n\nexports.FontFaceObject = FontFaceObject;\n\n/***/ }),\n/* 200 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.apiCompatibilityParams = void 0;\n\nvar _is_node = __w_pdfjs_require__(7);\n\nvar compatibilityParams = Object.create(null);\n{\n (function checkFontFace() {\n if (_is_node.isNodeJS) {\n compatibilityParams.disableFontFace = true;\n }\n })();\n}\nvar apiCompatibilityParams = Object.freeze(compatibilityParams);\nexports.apiCompatibilityParams = apiCompatibilityParams;\n\n/***/ }),\n/* 201 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CanvasGraphics = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _pattern_helper = __w_pdfjs_require__(202);\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nvar MIN_FONT_SIZE = 16;\nvar MAX_FONT_SIZE = 100;\nvar MAX_GROUP_SIZE = 4096;\nvar MIN_WIDTH_FACTOR = 0.65;\nvar COMPILE_TYPE3_GLYPHS = true;\nvar MAX_SIZE_TO_COMPILE = 1000;\nvar FULL_CHUNK_HEIGHT = 16;\n\nfunction addContextCurrentTransform(ctx) {\n if (!ctx.mozCurrentTransform) {\n ctx._originalSave = ctx.save;\n ctx._originalRestore = ctx.restore;\n ctx._originalRotate = ctx.rotate;\n ctx._originalScale = ctx.scale;\n ctx._originalTranslate = ctx.translate;\n ctx._originalTransform = ctx.transform;\n ctx._originalSetTransform = ctx.setTransform;\n ctx._transformMatrix = ctx._transformMatrix || [1, 0, 0, 1, 0, 0];\n ctx._transformStack = [];\n Object.defineProperty(ctx, \"mozCurrentTransform\", {\n get: function getCurrentTransform() {\n return this._transformMatrix;\n }\n });\n Object.defineProperty(ctx, \"mozCurrentTransformInverse\", {\n get: function getCurrentTransformInverse() {\n var m = this._transformMatrix;\n var a = m[0],\n b = m[1],\n c = m[2],\n d = m[3],\n e = m[4],\n f = m[5];\n var ad_bc = a * d - b * c;\n var bc_ad = b * c - a * d;\n return [d / ad_bc, b / bc_ad, c / bc_ad, a / ad_bc, (d * e - c * f) / bc_ad, (b * e - a * f) / ad_bc];\n }\n });\n\n ctx.save = function ctxSave() {\n var old = this._transformMatrix;\n\n this._transformStack.push(old);\n\n this._transformMatrix = old.slice(0, 6);\n\n this._originalSave();\n };\n\n ctx.restore = function ctxRestore() {\n var prev = this._transformStack.pop();\n\n if (prev) {\n this._transformMatrix = prev;\n\n this._originalRestore();\n }\n };\n\n ctx.translate = function ctxTranslate(x, y) {\n var m = this._transformMatrix;\n m[4] = m[0] * x + m[2] * y + m[4];\n m[5] = m[1] * x + m[3] * y + m[5];\n\n this._originalTranslate(x, y);\n };\n\n ctx.scale = function ctxScale(x, y) {\n var m = this._transformMatrix;\n m[0] = m[0] * x;\n m[1] = m[1] * x;\n m[2] = m[2] * y;\n m[3] = m[3] * y;\n\n this._originalScale(x, y);\n };\n\n ctx.transform = function ctxTransform(a, b, c, d, e, f) {\n var m = this._transformMatrix;\n this._transformMatrix = [m[0] * a + m[2] * b, m[1] * a + m[3] * b, m[0] * c + m[2] * d, m[1] * c + m[3] * d, m[0] * e + m[2] * f + m[4], m[1] * e + m[3] * f + m[5]];\n\n ctx._originalTransform(a, b, c, d, e, f);\n };\n\n ctx.setTransform = function ctxSetTransform(a, b, c, d, e, f) {\n this._transformMatrix = [a, b, c, d, e, f];\n\n ctx._originalSetTransform(a, b, c, d, e, f);\n };\n\n ctx.rotate = function ctxRotate(angle) {\n var cosValue = Math.cos(angle);\n var sinValue = Math.sin(angle);\n var m = this._transformMatrix;\n this._transformMatrix = [m[0] * cosValue + m[2] * sinValue, m[1] * cosValue + m[3] * sinValue, m[0] * -sinValue + m[2] * cosValue, m[1] * -sinValue + m[3] * cosValue, m[4], m[5]];\n\n this._originalRotate(angle);\n };\n }\n}\n\nvar CachedCanvases = function CachedCanvasesClosure() {\n function CachedCanvases(canvasFactory) {\n this.canvasFactory = canvasFactory;\n this.cache = Object.create(null);\n }\n\n CachedCanvases.prototype = {\n getCanvas: function CachedCanvases_getCanvas(id, width, height, trackTransform) {\n var canvasEntry;\n\n if (this.cache[id] !== undefined) {\n canvasEntry = this.cache[id];\n this.canvasFactory.reset(canvasEntry, width, height);\n canvasEntry.context.setTransform(1, 0, 0, 1, 0, 0);\n } else {\n canvasEntry = this.canvasFactory.create(width, height);\n this.cache[id] = canvasEntry;\n }\n\n if (trackTransform) {\n addContextCurrentTransform(canvasEntry.context);\n }\n\n return canvasEntry;\n },\n clear: function clear() {\n for (var id in this.cache) {\n var canvasEntry = this.cache[id];\n this.canvasFactory.destroy(canvasEntry);\n delete this.cache[id];\n }\n }\n };\n return CachedCanvases;\n}();\n\nfunction compileType3Glyph(imgData) {\n var POINT_TO_PROCESS_LIMIT = 1000;\n var width = imgData.width,\n height = imgData.height;\n var i,\n j,\n j0,\n width1 = width + 1;\n var points = new Uint8Array(width1 * (height + 1));\n var POINT_TYPES = new Uint8Array([0, 2, 4, 0, 1, 0, 5, 4, 8, 10, 0, 8, 0, 2, 1, 0]);\n var lineSize = width + 7 & ~7,\n data0 = imgData.data;\n var data = new Uint8Array(lineSize * height),\n pos = 0,\n ii;\n\n for (i = 0, ii = data0.length; i < ii; i++) {\n var mask = 128,\n elem = data0[i];\n\n while (mask > 0) {\n data[pos++] = elem & mask ? 0 : 255;\n mask >>= 1;\n }\n }\n\n var count = 0;\n pos = 0;\n\n if (data[pos] !== 0) {\n points[0] = 1;\n ++count;\n }\n\n for (j = 1; j < width; j++) {\n if (data[pos] !== data[pos + 1]) {\n points[j] = data[pos] ? 2 : 1;\n ++count;\n }\n\n pos++;\n }\n\n if (data[pos] !== 0) {\n points[j] = 2;\n ++count;\n }\n\n for (i = 1; i < height; i++) {\n pos = i * lineSize;\n j0 = i * width1;\n\n if (data[pos - lineSize] !== data[pos]) {\n points[j0] = data[pos] ? 1 : 8;\n ++count;\n }\n\n var sum = (data[pos] ? 4 : 0) + (data[pos - lineSize] ? 8 : 0);\n\n for (j = 1; j < width; j++) {\n sum = (sum >> 2) + (data[pos + 1] ? 4 : 0) + (data[pos - lineSize + 1] ? 8 : 0);\n\n if (POINT_TYPES[sum]) {\n points[j0 + j] = POINT_TYPES[sum];\n ++count;\n }\n\n pos++;\n }\n\n if (data[pos - lineSize] !== data[pos]) {\n points[j0 + j] = data[pos] ? 2 : 4;\n ++count;\n }\n\n if (count > POINT_TO_PROCESS_LIMIT) {\n return null;\n }\n }\n\n pos = lineSize * (height - 1);\n j0 = i * width1;\n\n if (data[pos] !== 0) {\n points[j0] = 8;\n ++count;\n }\n\n for (j = 1; j < width; j++) {\n if (data[pos] !== data[pos + 1]) {\n points[j0 + j] = data[pos] ? 4 : 8;\n ++count;\n }\n\n pos++;\n }\n\n if (data[pos] !== 0) {\n points[j0 + j] = 4;\n ++count;\n }\n\n if (count > POINT_TO_PROCESS_LIMIT) {\n return null;\n }\n\n var steps = new Int32Array([0, width1, -1, 0, -width1, 0, 0, 0, 1]);\n var outlines = [];\n\n for (i = 0; count && i <= height; i++) {\n var p = i * width1;\n var end = p + width;\n\n while (p < end && !points[p]) {\n p++;\n }\n\n if (p === end) {\n continue;\n }\n\n var coords = [p % width1, i];\n var type = points[p],\n p0 = p,\n pp;\n\n do {\n var step = steps[type];\n\n do {\n p += step;\n } while (!points[p]);\n\n pp = points[p];\n\n if (pp !== 5 && pp !== 10) {\n type = pp;\n points[p] = 0;\n } else {\n type = pp & 0x33 * type >> 4;\n points[p] &= type >> 2 | type << 2;\n }\n\n coords.push(p % width1);\n coords.push(p / width1 | 0);\n\n if (!points[p]) {\n --count;\n }\n } while (p0 !== p);\n\n outlines.push(coords);\n --i;\n }\n\n var drawOutline = function drawOutline(c) {\n c.save();\n c.scale(1 / width, -1 / height);\n c.translate(0, -height);\n c.beginPath();\n\n for (var k = 0, kk = outlines.length; k < kk; k++) {\n var o = outlines[k];\n c.moveTo(o[0], o[1]);\n\n for (var l = 2, ll = o.length; l < ll; l += 2) {\n c.lineTo(o[l], o[l + 1]);\n }\n }\n\n c.fill();\n c.beginPath();\n c.restore();\n };\n\n return drawOutline;\n}\n\nvar CanvasExtraState = function CanvasExtraStateClosure() {\n function CanvasExtraState() {\n this.alphaIsShape = false;\n this.fontSize = 0;\n this.fontSizeScale = 1;\n this.textMatrix = _util.IDENTITY_MATRIX;\n this.textMatrixScale = 1;\n this.fontMatrix = _util.FONT_IDENTITY_MATRIX;\n this.leading = 0;\n this.x = 0;\n this.y = 0;\n this.lineX = 0;\n this.lineY = 0;\n this.charSpacing = 0;\n this.wordSpacing = 0;\n this.textHScale = 1;\n this.textRenderingMode = _util.TextRenderingMode.FILL;\n this.textRise = 0;\n this.fillColor = \"#000000\";\n this.strokeColor = \"#000000\";\n this.patternFill = false;\n this.fillAlpha = 1;\n this.strokeAlpha = 1;\n this.lineWidth = 1;\n this.activeSMask = null;\n this.resumeSMaskCtx = null;\n }\n\n CanvasExtraState.prototype = {\n clone: function CanvasExtraState_clone() {\n return Object.create(this);\n },\n setCurrentPoint: function CanvasExtraState_setCurrentPoint(x, y) {\n this.x = x;\n this.y = y;\n }\n };\n return CanvasExtraState;\n}();\n\nvar CanvasGraphics = function CanvasGraphicsClosure() {\n var EXECUTION_TIME = 15;\n var EXECUTION_STEPS = 10;\n\n function CanvasGraphics(canvasCtx, commonObjs, objs, canvasFactory, webGLContext, imageLayer) {\n this.ctx = canvasCtx;\n this.current = new CanvasExtraState();\n this.stateStack = [];\n this.pendingClip = null;\n this.pendingEOFill = false;\n this.res = null;\n this.xobjs = null;\n this.commonObjs = commonObjs;\n this.objs = objs;\n this.canvasFactory = canvasFactory;\n this.webGLContext = webGLContext;\n this.imageLayer = imageLayer;\n this.groupStack = [];\n this.processingType3 = null;\n this.baseTransform = null;\n this.baseTransformStack = [];\n this.groupLevel = 0;\n this.smaskStack = [];\n this.smaskCounter = 0;\n this.tempSMask = null;\n this.cachedCanvases = new CachedCanvases(this.canvasFactory);\n\n if (canvasCtx) {\n addContextCurrentTransform(canvasCtx);\n }\n\n this._cachedGetSinglePixelWidth = null;\n }\n\n function putBinaryImageData(ctx, imgData) {\n if (typeof ImageData !== \"undefined\" && imgData instanceof ImageData) {\n ctx.putImageData(imgData, 0, 0);\n return;\n }\n\n var height = imgData.height,\n width = imgData.width;\n var partialChunkHeight = height % FULL_CHUNK_HEIGHT;\n var fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT;\n var totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1;\n var chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT);\n var srcPos = 0,\n destPos;\n var src = imgData.data;\n var dest = chunkImgData.data;\n var i, j, thisChunkHeight, elemsInThisChunk;\n\n if (imgData.kind === _util.ImageKind.GRAYSCALE_1BPP) {\n var srcLength = src.byteLength;\n var dest32 = new Uint32Array(dest.buffer, 0, dest.byteLength >> 2);\n var dest32DataLength = dest32.length;\n var fullSrcDiff = width + 7 >> 3;\n var white = 0xffffffff;\n var black = _util.IsLittleEndianCached.value ? 0xff000000 : 0x000000ff;\n\n for (i = 0; i < totalChunks; i++) {\n thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;\n destPos = 0;\n\n for (j = 0; j < thisChunkHeight; j++) {\n var srcDiff = srcLength - srcPos;\n var k = 0;\n var kEnd = srcDiff > fullSrcDiff ? width : srcDiff * 8 - 7;\n var kEndUnrolled = kEnd & ~7;\n var mask = 0;\n var srcByte = 0;\n\n for (; k < kEndUnrolled; k += 8) {\n srcByte = src[srcPos++];\n dest32[destPos++] = srcByte & 128 ? white : black;\n dest32[destPos++] = srcByte & 64 ? white : black;\n dest32[destPos++] = srcByte & 32 ? white : black;\n dest32[destPos++] = srcByte & 16 ? white : black;\n dest32[destPos++] = srcByte & 8 ? white : black;\n dest32[destPos++] = srcByte & 4 ? white : black;\n dest32[destPos++] = srcByte & 2 ? white : black;\n dest32[destPos++] = srcByte & 1 ? white : black;\n }\n\n for (; k < kEnd; k++) {\n if (mask === 0) {\n srcByte = src[srcPos++];\n mask = 128;\n }\n\n dest32[destPos++] = srcByte & mask ? white : black;\n mask >>= 1;\n }\n }\n\n while (destPos < dest32DataLength) {\n dest32[destPos++] = 0;\n }\n\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n } else if (imgData.kind === _util.ImageKind.RGBA_32BPP) {\n j = 0;\n elemsInThisChunk = width * FULL_CHUNK_HEIGHT * 4;\n\n for (i = 0; i < fullChunks; i++) {\n dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk));\n srcPos += elemsInThisChunk;\n ctx.putImageData(chunkImgData, 0, j);\n j += FULL_CHUNK_HEIGHT;\n }\n\n if (i < totalChunks) {\n elemsInThisChunk = width * partialChunkHeight * 4;\n dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk));\n ctx.putImageData(chunkImgData, 0, j);\n }\n } else if (imgData.kind === _util.ImageKind.RGB_24BPP) {\n thisChunkHeight = FULL_CHUNK_HEIGHT;\n elemsInThisChunk = width * thisChunkHeight;\n\n for (i = 0; i < totalChunks; i++) {\n if (i >= fullChunks) {\n thisChunkHeight = partialChunkHeight;\n elemsInThisChunk = width * thisChunkHeight;\n }\n\n destPos = 0;\n\n for (j = elemsInThisChunk; j--;) {\n dest[destPos++] = src[srcPos++];\n dest[destPos++] = src[srcPos++];\n dest[destPos++] = src[srcPos++];\n dest[destPos++] = 255;\n }\n\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n } else {\n throw new Error(\"bad image kind: \".concat(imgData.kind));\n }\n }\n\n function putBinaryImageMask(ctx, imgData) {\n var height = imgData.height,\n width = imgData.width;\n var partialChunkHeight = height % FULL_CHUNK_HEIGHT;\n var fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT;\n var totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1;\n var chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT);\n var srcPos = 0;\n var src = imgData.data;\n var dest = chunkImgData.data;\n\n for (var i = 0; i < totalChunks; i++) {\n var thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;\n var destPos = 3;\n\n for (var j = 0; j < thisChunkHeight; j++) {\n var mask = 0;\n\n for (var k = 0; k < width; k++) {\n if (!mask) {\n var elem = src[srcPos++];\n mask = 128;\n }\n\n dest[destPos] = elem & mask ? 0 : 255;\n destPos += 4;\n mask >>= 1;\n }\n }\n\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n }\n\n function copyCtxState(sourceCtx, destCtx) {\n var properties = [\"strokeStyle\", \"fillStyle\", \"fillRule\", \"globalAlpha\", \"lineWidth\", \"lineCap\", \"lineJoin\", \"miterLimit\", \"globalCompositeOperation\", \"font\"];\n\n for (var i = 0, ii = properties.length; i < ii; i++) {\n var property = properties[i];\n\n if (sourceCtx[property] !== undefined) {\n destCtx[property] = sourceCtx[property];\n }\n }\n\n if (sourceCtx.setLineDash !== undefined) {\n destCtx.setLineDash(sourceCtx.getLineDash());\n destCtx.lineDashOffset = sourceCtx.lineDashOffset;\n }\n }\n\n function resetCtxToDefault(ctx) {\n ctx.strokeStyle = \"#000000\";\n ctx.fillStyle = \"#000000\";\n ctx.fillRule = \"nonzero\";\n ctx.globalAlpha = 1;\n ctx.lineWidth = 1;\n ctx.lineCap = \"butt\";\n ctx.lineJoin = \"miter\";\n ctx.miterLimit = 10;\n ctx.globalCompositeOperation = \"source-over\";\n ctx.font = \"10px sans-serif\";\n\n if (ctx.setLineDash !== undefined) {\n ctx.setLineDash([]);\n ctx.lineDashOffset = 0;\n }\n }\n\n function composeSMaskBackdrop(bytes, r0, g0, b0) {\n var length = bytes.length;\n\n for (var i = 3; i < length; i += 4) {\n var alpha = bytes[i];\n\n if (alpha === 0) {\n bytes[i - 3] = r0;\n bytes[i - 2] = g0;\n bytes[i - 1] = b0;\n } else if (alpha < 255) {\n var alpha_ = 255 - alpha;\n bytes[i - 3] = bytes[i - 3] * alpha + r0 * alpha_ >> 8;\n bytes[i - 2] = bytes[i - 2] * alpha + g0 * alpha_ >> 8;\n bytes[i - 1] = bytes[i - 1] * alpha + b0 * alpha_ >> 8;\n }\n }\n }\n\n function composeSMaskAlpha(maskData, layerData, transferMap) {\n var length = maskData.length;\n var scale = 1 / 255;\n\n for (var i = 3; i < length; i += 4) {\n var alpha = transferMap ? transferMap[maskData[i]] : maskData[i];\n layerData[i] = layerData[i] * alpha * scale | 0;\n }\n }\n\n function composeSMaskLuminosity(maskData, layerData, transferMap) {\n var length = maskData.length;\n\n for (var i = 3; i < length; i += 4) {\n var y = maskData[i - 3] * 77 + maskData[i - 2] * 152 + maskData[i - 1] * 28;\n layerData[i] = transferMap ? layerData[i] * transferMap[y >> 8] >> 8 : layerData[i] * y >> 16;\n }\n }\n\n function genericComposeSMask(maskCtx, layerCtx, width, height, subtype, backdrop, transferMap) {\n var hasBackdrop = !!backdrop;\n var r0 = hasBackdrop ? backdrop[0] : 0;\n var g0 = hasBackdrop ? backdrop[1] : 0;\n var b0 = hasBackdrop ? backdrop[2] : 0;\n var composeFn;\n\n if (subtype === \"Luminosity\") {\n composeFn = composeSMaskLuminosity;\n } else {\n composeFn = composeSMaskAlpha;\n }\n\n var PIXELS_TO_PROCESS = 1048576;\n var chunkSize = Math.min(height, Math.ceil(PIXELS_TO_PROCESS / width));\n\n for (var row = 0; row < height; row += chunkSize) {\n var chunkHeight = Math.min(chunkSize, height - row);\n var maskData = maskCtx.getImageData(0, row, width, chunkHeight);\n var layerData = layerCtx.getImageData(0, row, width, chunkHeight);\n\n if (hasBackdrop) {\n composeSMaskBackdrop(maskData.data, r0, g0, b0);\n }\n\n composeFn(maskData.data, layerData.data, transferMap);\n maskCtx.putImageData(layerData, 0, row);\n }\n }\n\n function composeSMask(ctx, smask, layerCtx, webGLContext) {\n var mask = smask.canvas;\n var maskCtx = smask.context;\n ctx.setTransform(smask.scaleX, 0, 0, smask.scaleY, smask.offsetX, smask.offsetY);\n var backdrop = smask.backdrop || null;\n\n if (!smask.transferMap && webGLContext.isEnabled) {\n var composed = webGLContext.composeSMask({\n layer: layerCtx.canvas,\n mask: mask,\n properties: {\n subtype: smask.subtype,\n backdrop: backdrop\n }\n });\n ctx.setTransform(1, 0, 0, 1, 0, 0);\n ctx.drawImage(composed, smask.offsetX, smask.offsetY);\n return;\n }\n\n genericComposeSMask(maskCtx, layerCtx, mask.width, mask.height, smask.subtype, backdrop, smask.transferMap);\n ctx.drawImage(mask, 0, 0);\n }\n\n var LINE_CAP_STYLES = [\"butt\", \"round\", \"square\"];\n var LINE_JOIN_STYLES = [\"miter\", \"round\", \"bevel\"];\n var NORMAL_CLIP = {};\n var EO_CLIP = {};\n CanvasGraphics.prototype = {\n beginDrawing: function beginDrawing(_ref) {\n var transform = _ref.transform,\n viewport = _ref.viewport,\n _ref$transparency = _ref.transparency,\n transparency = _ref$transparency === void 0 ? false : _ref$transparency,\n _ref$background = _ref.background,\n background = _ref$background === void 0 ? null : _ref$background;\n var width = this.ctx.canvas.width;\n var height = this.ctx.canvas.height;\n this.ctx.save();\n this.ctx.fillStyle = background || \"rgb(255, 255, 255)\";\n this.ctx.fillRect(0, 0, width, height);\n this.ctx.restore();\n\n if (transparency) {\n var transparentCanvas = this.cachedCanvases.getCanvas(\"transparent\", width, height, true);\n this.compositeCtx = this.ctx;\n this.transparentCanvas = transparentCanvas.canvas;\n this.ctx = transparentCanvas.context;\n this.ctx.save();\n this.ctx.transform.apply(this.ctx, this.compositeCtx.mozCurrentTransform);\n }\n\n this.ctx.save();\n resetCtxToDefault(this.ctx);\n\n if (transform) {\n this.ctx.transform.apply(this.ctx, transform);\n }\n\n this.ctx.transform.apply(this.ctx, viewport.transform);\n this.baseTransform = this.ctx.mozCurrentTransform.slice();\n\n if (this.imageLayer) {\n this.imageLayer.beginLayout();\n }\n },\n executeOperatorList: function CanvasGraphics_executeOperatorList(operatorList, executionStartIdx, continueCallback, stepper) {\n var argsArray = operatorList.argsArray;\n var fnArray = operatorList.fnArray;\n var i = executionStartIdx || 0;\n var argsArrayLen = argsArray.length;\n\n if (argsArrayLen === i) {\n return i;\n }\n\n var chunkOperations = argsArrayLen - i > EXECUTION_STEPS && typeof continueCallback === \"function\";\n var endTime = chunkOperations ? Date.now() + EXECUTION_TIME : 0;\n var steps = 0;\n var commonObjs = this.commonObjs;\n var objs = this.objs;\n var fnId;\n\n while (true) {\n if (stepper !== undefined && i === stepper.nextBreakPoint) {\n stepper.breakIt(i, continueCallback);\n return i;\n }\n\n fnId = fnArray[i];\n\n if (fnId !== _util.OPS.dependency) {\n this[fnId].apply(this, argsArray[i]);\n } else {\n var _iterator = _createForOfIteratorHelper(argsArray[i]),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var depObjId = _step.value;\n var objsPool = depObjId.startsWith(\"g_\") ? commonObjs : objs;\n\n if (!objsPool.has(depObjId)) {\n objsPool.get(depObjId, continueCallback);\n return i;\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n }\n\n i++;\n\n if (i === argsArrayLen) {\n return i;\n }\n\n if (chunkOperations && ++steps > EXECUTION_STEPS) {\n if (Date.now() > endTime) {\n continueCallback();\n return i;\n }\n\n steps = 0;\n }\n }\n },\n endDrawing: function CanvasGraphics_endDrawing() {\n if (this.current.activeSMask !== null) {\n this.endSMaskGroup();\n }\n\n this.ctx.restore();\n\n if (this.transparentCanvas) {\n this.ctx = this.compositeCtx;\n this.ctx.save();\n this.ctx.setTransform(1, 0, 0, 1, 0, 0);\n this.ctx.drawImage(this.transparentCanvas, 0, 0);\n this.ctx.restore();\n this.transparentCanvas = null;\n }\n\n this.cachedCanvases.clear();\n this.webGLContext.clear();\n\n if (this.imageLayer) {\n this.imageLayer.endLayout();\n }\n },\n setLineWidth: function CanvasGraphics_setLineWidth(width) {\n this.current.lineWidth = width;\n this.ctx.lineWidth = width;\n },\n setLineCap: function CanvasGraphics_setLineCap(style) {\n this.ctx.lineCap = LINE_CAP_STYLES[style];\n },\n setLineJoin: function CanvasGraphics_setLineJoin(style) {\n this.ctx.lineJoin = LINE_JOIN_STYLES[style];\n },\n setMiterLimit: function CanvasGraphics_setMiterLimit(limit) {\n this.ctx.miterLimit = limit;\n },\n setDash: function CanvasGraphics_setDash(dashArray, dashPhase) {\n var ctx = this.ctx;\n\n if (ctx.setLineDash !== undefined) {\n ctx.setLineDash(dashArray);\n ctx.lineDashOffset = dashPhase;\n }\n },\n setRenderingIntent: function setRenderingIntent(intent) {},\n setFlatness: function setFlatness(flatness) {},\n setGState: function CanvasGraphics_setGState(states) {\n for (var i = 0, ii = states.length; i < ii; i++) {\n var state = states[i];\n var key = state[0];\n var value = state[1];\n\n switch (key) {\n case \"LW\":\n this.setLineWidth(value);\n break;\n\n case \"LC\":\n this.setLineCap(value);\n break;\n\n case \"LJ\":\n this.setLineJoin(value);\n break;\n\n case \"ML\":\n this.setMiterLimit(value);\n break;\n\n case \"D\":\n this.setDash(value[0], value[1]);\n break;\n\n case \"RI\":\n this.setRenderingIntent(value);\n break;\n\n case \"FL\":\n this.setFlatness(value);\n break;\n\n case \"Font\":\n this.setFont(value[0], value[1]);\n break;\n\n case \"CA\":\n this.current.strokeAlpha = state[1];\n break;\n\n case \"ca\":\n this.current.fillAlpha = state[1];\n this.ctx.globalAlpha = state[1];\n break;\n\n case \"BM\":\n this.ctx.globalCompositeOperation = value;\n break;\n\n case \"SMask\":\n if (this.current.activeSMask) {\n if (this.stateStack.length > 0 && this.stateStack[this.stateStack.length - 1].activeSMask === this.current.activeSMask) {\n this.suspendSMaskGroup();\n } else {\n this.endSMaskGroup();\n }\n }\n\n this.current.activeSMask = value ? this.tempSMask : null;\n\n if (this.current.activeSMask) {\n this.beginSMaskGroup();\n }\n\n this.tempSMask = null;\n break;\n }\n }\n },\n beginSMaskGroup: function CanvasGraphics_beginSMaskGroup() {\n var activeSMask = this.current.activeSMask;\n var drawnWidth = activeSMask.canvas.width;\n var drawnHeight = activeSMask.canvas.height;\n var cacheId = \"smaskGroupAt\" + this.groupLevel;\n var scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight, true);\n var currentCtx = this.ctx;\n var currentTransform = currentCtx.mozCurrentTransform;\n this.ctx.save();\n var groupCtx = scratchCanvas.context;\n groupCtx.scale(1 / activeSMask.scaleX, 1 / activeSMask.scaleY);\n groupCtx.translate(-activeSMask.offsetX, -activeSMask.offsetY);\n groupCtx.transform.apply(groupCtx, currentTransform);\n activeSMask.startTransformInverse = groupCtx.mozCurrentTransformInverse;\n copyCtxState(currentCtx, groupCtx);\n this.ctx = groupCtx;\n this.setGState([[\"BM\", \"source-over\"], [\"ca\", 1], [\"CA\", 1]]);\n this.groupStack.push(currentCtx);\n this.groupLevel++;\n },\n suspendSMaskGroup: function CanvasGraphics_endSMaskGroup() {\n var groupCtx = this.ctx;\n this.groupLevel--;\n this.ctx = this.groupStack.pop();\n composeSMask(this.ctx, this.current.activeSMask, groupCtx, this.webGLContext);\n this.ctx.restore();\n this.ctx.save();\n copyCtxState(groupCtx, this.ctx);\n this.current.resumeSMaskCtx = groupCtx;\n\n var deltaTransform = _util.Util.transform(this.current.activeSMask.startTransformInverse, groupCtx.mozCurrentTransform);\n\n this.ctx.transform.apply(this.ctx, deltaTransform);\n groupCtx.save();\n groupCtx.setTransform(1, 0, 0, 1, 0, 0);\n groupCtx.clearRect(0, 0, groupCtx.canvas.width, groupCtx.canvas.height);\n groupCtx.restore();\n },\n resumeSMaskGroup: function CanvasGraphics_endSMaskGroup() {\n var groupCtx = this.current.resumeSMaskCtx;\n var currentCtx = this.ctx;\n this.ctx = groupCtx;\n this.groupStack.push(currentCtx);\n this.groupLevel++;\n },\n endSMaskGroup: function CanvasGraphics_endSMaskGroup() {\n var groupCtx = this.ctx;\n this.groupLevel--;\n this.ctx = this.groupStack.pop();\n composeSMask(this.ctx, this.current.activeSMask, groupCtx, this.webGLContext);\n this.ctx.restore();\n copyCtxState(groupCtx, this.ctx);\n\n var deltaTransform = _util.Util.transform(this.current.activeSMask.startTransformInverse, groupCtx.mozCurrentTransform);\n\n this.ctx.transform.apply(this.ctx, deltaTransform);\n },\n save: function CanvasGraphics_save() {\n this.ctx.save();\n var old = this.current;\n this.stateStack.push(old);\n this.current = old.clone();\n this.current.resumeSMaskCtx = null;\n },\n restore: function CanvasGraphics_restore() {\n if (this.current.resumeSMaskCtx) {\n this.resumeSMaskGroup();\n }\n\n if (this.current.activeSMask !== null && (this.stateStack.length === 0 || this.stateStack[this.stateStack.length - 1].activeSMask !== this.current.activeSMask)) {\n this.endSMaskGroup();\n }\n\n if (this.stateStack.length !== 0) {\n this.current = this.stateStack.pop();\n this.ctx.restore();\n this.pendingClip = null;\n this._cachedGetSinglePixelWidth = null;\n }\n },\n transform: function CanvasGraphics_transform(a, b, c, d, e, f) {\n this.ctx.transform(a, b, c, d, e, f);\n this._cachedGetSinglePixelWidth = null;\n },\n constructPath: function CanvasGraphics_constructPath(ops, args) {\n var ctx = this.ctx;\n var current = this.current;\n var x = current.x,\n y = current.y;\n\n for (var i = 0, j = 0, ii = ops.length; i < ii; i++) {\n switch (ops[i] | 0) {\n case _util.OPS.rectangle:\n x = args[j++];\n y = args[j++];\n var width = args[j++];\n var height = args[j++];\n\n if (width === 0) {\n width = this.getSinglePixelWidth();\n }\n\n if (height === 0) {\n height = this.getSinglePixelWidth();\n }\n\n var xw = x + width;\n var yh = y + height;\n this.ctx.moveTo(x, y);\n this.ctx.lineTo(xw, y);\n this.ctx.lineTo(xw, yh);\n this.ctx.lineTo(x, yh);\n this.ctx.lineTo(x, y);\n this.ctx.closePath();\n break;\n\n case _util.OPS.moveTo:\n x = args[j++];\n y = args[j++];\n ctx.moveTo(x, y);\n break;\n\n case _util.OPS.lineTo:\n x = args[j++];\n y = args[j++];\n ctx.lineTo(x, y);\n break;\n\n case _util.OPS.curveTo:\n x = args[j + 4];\n y = args[j + 5];\n ctx.bezierCurveTo(args[j], args[j + 1], args[j + 2], args[j + 3], x, y);\n j += 6;\n break;\n\n case _util.OPS.curveTo2:\n ctx.bezierCurveTo(x, y, args[j], args[j + 1], args[j + 2], args[j + 3]);\n x = args[j + 2];\n y = args[j + 3];\n j += 4;\n break;\n\n case _util.OPS.curveTo3:\n x = args[j + 2];\n y = args[j + 3];\n ctx.bezierCurveTo(args[j], args[j + 1], x, y, x, y);\n j += 4;\n break;\n\n case _util.OPS.closePath:\n ctx.closePath();\n break;\n }\n }\n\n current.setCurrentPoint(x, y);\n },\n closePath: function CanvasGraphics_closePath() {\n this.ctx.closePath();\n },\n stroke: function CanvasGraphics_stroke(consumePath) {\n consumePath = typeof consumePath !== \"undefined\" ? consumePath : true;\n var ctx = this.ctx;\n var strokeColor = this.current.strokeColor;\n ctx.globalAlpha = this.current.strokeAlpha;\n\n if (strokeColor && strokeColor.hasOwnProperty(\"type\") && strokeColor.type === \"Pattern\") {\n ctx.save();\n var transform = ctx.mozCurrentTransform;\n\n var scale = _util.Util.singularValueDecompose2dScale(transform)[0];\n\n ctx.strokeStyle = strokeColor.getPattern(ctx, this);\n ctx.lineWidth = Math.max(this.getSinglePixelWidth() * MIN_WIDTH_FACTOR, this.current.lineWidth * scale);\n ctx.stroke();\n ctx.restore();\n } else {\n ctx.lineWidth = Math.max(this.getSinglePixelWidth() * MIN_WIDTH_FACTOR, this.current.lineWidth);\n ctx.stroke();\n }\n\n if (consumePath) {\n this.consumePath();\n }\n\n ctx.globalAlpha = this.current.fillAlpha;\n },\n closeStroke: function CanvasGraphics_closeStroke() {\n this.closePath();\n this.stroke();\n },\n fill: function CanvasGraphics_fill(consumePath) {\n consumePath = typeof consumePath !== \"undefined\" ? consumePath : true;\n var ctx = this.ctx;\n var fillColor = this.current.fillColor;\n var isPatternFill = this.current.patternFill;\n var needRestore = false;\n\n if (isPatternFill) {\n ctx.save();\n\n if (this.baseTransform) {\n ctx.setTransform.apply(ctx, this.baseTransform);\n }\n\n ctx.fillStyle = fillColor.getPattern(ctx, this);\n needRestore = true;\n }\n\n if (this.pendingEOFill) {\n ctx.fill(\"evenodd\");\n this.pendingEOFill = false;\n } else {\n ctx.fill();\n }\n\n if (needRestore) {\n ctx.restore();\n }\n\n if (consumePath) {\n this.consumePath();\n }\n },\n eoFill: function CanvasGraphics_eoFill() {\n this.pendingEOFill = true;\n this.fill();\n },\n fillStroke: function CanvasGraphics_fillStroke() {\n this.fill(false);\n this.stroke(false);\n this.consumePath();\n },\n eoFillStroke: function CanvasGraphics_eoFillStroke() {\n this.pendingEOFill = true;\n this.fillStroke();\n },\n closeFillStroke: function CanvasGraphics_closeFillStroke() {\n this.closePath();\n this.fillStroke();\n },\n closeEOFillStroke: function CanvasGraphics_closeEOFillStroke() {\n this.pendingEOFill = true;\n this.closePath();\n this.fillStroke();\n },\n endPath: function CanvasGraphics_endPath() {\n this.consumePath();\n },\n clip: function CanvasGraphics_clip() {\n this.pendingClip = NORMAL_CLIP;\n },\n eoClip: function CanvasGraphics_eoClip() {\n this.pendingClip = EO_CLIP;\n },\n beginText: function CanvasGraphics_beginText() {\n this.current.textMatrix = _util.IDENTITY_MATRIX;\n this.current.textMatrixScale = 1;\n this.current.x = this.current.lineX = 0;\n this.current.y = this.current.lineY = 0;\n },\n endText: function CanvasGraphics_endText() {\n var paths = this.pendingTextPaths;\n var ctx = this.ctx;\n\n if (paths === undefined) {\n ctx.beginPath();\n return;\n }\n\n ctx.save();\n ctx.beginPath();\n\n for (var i = 0; i < paths.length; i++) {\n var path = paths[i];\n ctx.setTransform.apply(ctx, path.transform);\n ctx.translate(path.x, path.y);\n path.addToPath(ctx, path.fontSize);\n }\n\n ctx.restore();\n ctx.clip();\n ctx.beginPath();\n delete this.pendingTextPaths;\n },\n setCharSpacing: function CanvasGraphics_setCharSpacing(spacing) {\n this.current.charSpacing = spacing;\n },\n setWordSpacing: function CanvasGraphics_setWordSpacing(spacing) {\n this.current.wordSpacing = spacing;\n },\n setHScale: function CanvasGraphics_setHScale(scale) {\n this.current.textHScale = scale / 100;\n },\n setLeading: function CanvasGraphics_setLeading(leading) {\n this.current.leading = -leading;\n },\n setFont: function CanvasGraphics_setFont(fontRefName, size) {\n var fontObj = this.commonObjs.get(fontRefName);\n var current = this.current;\n\n if (!fontObj) {\n throw new Error(\"Can't find font for \".concat(fontRefName));\n }\n\n current.fontMatrix = fontObj.fontMatrix ? fontObj.fontMatrix : _util.FONT_IDENTITY_MATRIX;\n\n if (current.fontMatrix[0] === 0 || current.fontMatrix[3] === 0) {\n (0, _util.warn)(\"Invalid font matrix for font \" + fontRefName);\n }\n\n if (size < 0) {\n size = -size;\n current.fontDirection = -1;\n } else {\n current.fontDirection = 1;\n }\n\n this.current.font = fontObj;\n this.current.fontSize = size;\n\n if (fontObj.isType3Font) {\n return;\n }\n\n var name = fontObj.loadedName || \"sans-serif\";\n var bold = \"normal\";\n\n if (fontObj.black) {\n bold = \"900\";\n } else if (fontObj.bold) {\n bold = \"bold\";\n }\n\n var italic = fontObj.italic ? \"italic\" : \"normal\";\n var typeface = \"\\\"\".concat(name, \"\\\", \").concat(fontObj.fallbackName);\n var browserFontSize = size;\n\n if (size < MIN_FONT_SIZE) {\n browserFontSize = MIN_FONT_SIZE;\n } else if (size > MAX_FONT_SIZE) {\n browserFontSize = MAX_FONT_SIZE;\n }\n\n this.current.fontSizeScale = size / browserFontSize;\n this.ctx.font = \"\".concat(italic, \" \").concat(bold, \" \").concat(browserFontSize, \"px \").concat(typeface);\n },\n setTextRenderingMode: function CanvasGraphics_setTextRenderingMode(mode) {\n this.current.textRenderingMode = mode;\n },\n setTextRise: function CanvasGraphics_setTextRise(rise) {\n this.current.textRise = rise;\n },\n moveText: function CanvasGraphics_moveText(x, y) {\n this.current.x = this.current.lineX += x;\n this.current.y = this.current.lineY += y;\n },\n setLeadingMoveText: function CanvasGraphics_setLeadingMoveText(x, y) {\n this.setLeading(-y);\n this.moveText(x, y);\n },\n setTextMatrix: function CanvasGraphics_setTextMatrix(a, b, c, d, e, f) {\n this.current.textMatrix = [a, b, c, d, e, f];\n this.current.textMatrixScale = Math.sqrt(a * a + b * b);\n this.current.x = this.current.lineX = 0;\n this.current.y = this.current.lineY = 0;\n },\n nextLine: function CanvasGraphics_nextLine() {\n this.moveText(0, this.current.leading);\n },\n paintChar: function paintChar(character, x, y, patternTransform) {\n var ctx = this.ctx;\n var current = this.current;\n var font = current.font;\n var textRenderingMode = current.textRenderingMode;\n var fontSize = current.fontSize / current.fontSizeScale;\n var fillStrokeMode = textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n var isAddToPathSet = !!(textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG);\n var patternFill = current.patternFill && !font.missingFile;\n var addToPath;\n\n if (font.disableFontFace || isAddToPathSet || patternFill) {\n addToPath = font.getPathGenerator(this.commonObjs, character);\n }\n\n if (font.disableFontFace || patternFill) {\n ctx.save();\n ctx.translate(x, y);\n ctx.beginPath();\n addToPath(ctx, fontSize);\n\n if (patternTransform) {\n ctx.setTransform.apply(ctx, patternTransform);\n }\n\n if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.fill();\n }\n\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.stroke();\n }\n\n ctx.restore();\n } else {\n if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.fillText(character, x, y);\n }\n\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.strokeText(character, x, y);\n }\n }\n\n if (isAddToPathSet) {\n var paths = this.pendingTextPaths || (this.pendingTextPaths = []);\n paths.push({\n transform: ctx.mozCurrentTransform,\n x: x,\n y: y,\n fontSize: fontSize,\n addToPath: addToPath\n });\n }\n },\n\n get isFontSubpixelAAEnabled() {\n var _this$cachedCanvases$ = this.cachedCanvases.getCanvas(\"isFontSubpixelAAEnabled\", 10, 10),\n ctx = _this$cachedCanvases$.context;\n\n ctx.scale(1.5, 1);\n ctx.fillText(\"I\", 0, 10);\n var data = ctx.getImageData(0, 0, 10, 10).data;\n var enabled = false;\n\n for (var i = 3; i < data.length; i += 4) {\n if (data[i] > 0 && data[i] < 255) {\n enabled = true;\n break;\n }\n }\n\n return (0, _util.shadow)(this, \"isFontSubpixelAAEnabled\", enabled);\n },\n\n showText: function CanvasGraphics_showText(glyphs) {\n var current = this.current;\n var font = current.font;\n\n if (font.isType3Font) {\n return this.showType3Text(glyphs);\n }\n\n var fontSize = current.fontSize;\n\n if (fontSize === 0) {\n return undefined;\n }\n\n var ctx = this.ctx;\n var fontSizeScale = current.fontSizeScale;\n var charSpacing = current.charSpacing;\n var wordSpacing = current.wordSpacing;\n var fontDirection = current.fontDirection;\n var textHScale = current.textHScale * fontDirection;\n var glyphsLength = glyphs.length;\n var vertical = font.vertical;\n var spacingDir = vertical ? 1 : -1;\n var defaultVMetrics = font.defaultVMetrics;\n var widthAdvanceScale = fontSize * current.fontMatrix[0];\n var simpleFillText = current.textRenderingMode === _util.TextRenderingMode.FILL && !font.disableFontFace && !current.patternFill;\n ctx.save();\n var patternTransform;\n\n if (current.patternFill) {\n ctx.save();\n var pattern = current.fillColor.getPattern(ctx, this);\n patternTransform = ctx.mozCurrentTransform;\n ctx.restore();\n ctx.fillStyle = pattern;\n }\n\n ctx.transform.apply(ctx, current.textMatrix);\n ctx.translate(current.x, current.y + current.textRise);\n\n if (fontDirection > 0) {\n ctx.scale(textHScale, -1);\n } else {\n ctx.scale(textHScale, 1);\n }\n\n var lineWidth = current.lineWidth;\n var scale = current.textMatrixScale;\n\n if (scale === 0 || lineWidth === 0) {\n var fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n this._cachedGetSinglePixelWidth = null;\n lineWidth = this.getSinglePixelWidth() * MIN_WIDTH_FACTOR;\n }\n } else {\n lineWidth /= scale;\n }\n\n if (fontSizeScale !== 1.0) {\n ctx.scale(fontSizeScale, fontSizeScale);\n lineWidth /= fontSizeScale;\n }\n\n ctx.lineWidth = lineWidth;\n var x = 0,\n i;\n\n for (i = 0; i < glyphsLength; ++i) {\n var glyph = glyphs[i];\n\n if ((0, _util.isNum)(glyph)) {\n x += spacingDir * glyph * fontSize / 1000;\n continue;\n }\n\n var restoreNeeded = false;\n var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n var character = glyph.fontChar;\n var accent = glyph.accent;\n var scaledX, scaledY, scaledAccentX, scaledAccentY;\n var width = glyph.width;\n\n if (vertical) {\n var vmetric, vx, vy;\n vmetric = glyph.vmetric || defaultVMetrics;\n vx = glyph.vmetric ? vmetric[1] : width * 0.5;\n vx = -vx * widthAdvanceScale;\n vy = vmetric[2] * widthAdvanceScale;\n width = vmetric ? -vmetric[0] : width;\n scaledX = vx / fontSizeScale;\n scaledY = (x + vy) / fontSizeScale;\n } else {\n scaledX = x / fontSizeScale;\n scaledY = 0;\n }\n\n if (font.remeasure && width > 0) {\n var measuredWidth = ctx.measureText(character).width * 1000 / fontSize * fontSizeScale;\n\n if (width < measuredWidth && this.isFontSubpixelAAEnabled) {\n var characterScaleX = width / measuredWidth;\n restoreNeeded = true;\n ctx.save();\n ctx.scale(characterScaleX, 1);\n scaledX /= characterScaleX;\n } else if (width !== measuredWidth) {\n scaledX += (width - measuredWidth) / 2000 * fontSize / fontSizeScale;\n }\n }\n\n if (glyph.isInFont || font.missingFile) {\n if (simpleFillText && !accent) {\n ctx.fillText(character, scaledX, scaledY);\n } else {\n this.paintChar(character, scaledX, scaledY, patternTransform);\n\n if (accent) {\n scaledAccentX = scaledX + accent.offset.x / fontSizeScale;\n scaledAccentY = scaledY - accent.offset.y / fontSizeScale;\n this.paintChar(accent.fontChar, scaledAccentX, scaledAccentY, patternTransform);\n }\n }\n }\n\n var charWidth;\n\n if (vertical) {\n charWidth = width * widthAdvanceScale - spacing * fontDirection;\n } else {\n charWidth = width * widthAdvanceScale + spacing * fontDirection;\n }\n\n x += charWidth;\n\n if (restoreNeeded) {\n ctx.restore();\n }\n }\n\n if (vertical) {\n current.y -= x;\n } else {\n current.x += x * textHScale;\n }\n\n ctx.restore();\n },\n showType3Text: function CanvasGraphics_showType3Text(glyphs) {\n var ctx = this.ctx;\n var current = this.current;\n var font = current.font;\n var fontSize = current.fontSize;\n var fontDirection = current.fontDirection;\n var spacingDir = font.vertical ? 1 : -1;\n var charSpacing = current.charSpacing;\n var wordSpacing = current.wordSpacing;\n var textHScale = current.textHScale * fontDirection;\n var fontMatrix = current.fontMatrix || _util.FONT_IDENTITY_MATRIX;\n var glyphsLength = glyphs.length;\n var isTextInvisible = current.textRenderingMode === _util.TextRenderingMode.INVISIBLE;\n var i, glyph, width, spacingLength;\n\n if (isTextInvisible || fontSize === 0) {\n return;\n }\n\n this._cachedGetSinglePixelWidth = null;\n ctx.save();\n ctx.transform.apply(ctx, current.textMatrix);\n ctx.translate(current.x, current.y);\n ctx.scale(textHScale, fontDirection);\n\n for (i = 0; i < glyphsLength; ++i) {\n glyph = glyphs[i];\n\n if ((0, _util.isNum)(glyph)) {\n spacingLength = spacingDir * glyph * fontSize / 1000;\n this.ctx.translate(spacingLength, 0);\n current.x += spacingLength * textHScale;\n continue;\n }\n\n var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n var operatorList = font.charProcOperatorList[glyph.operatorListId];\n\n if (!operatorList) {\n (0, _util.warn)(\"Type3 character \\\"\".concat(glyph.operatorListId, \"\\\" is not available.\"));\n continue;\n }\n\n this.processingType3 = glyph;\n this.save();\n ctx.scale(fontSize, fontSize);\n ctx.transform.apply(ctx, fontMatrix);\n this.executeOperatorList(operatorList);\n this.restore();\n\n var transformed = _util.Util.applyTransform([glyph.width, 0], fontMatrix);\n\n width = transformed[0] * fontSize + spacing;\n ctx.translate(width, 0);\n current.x += width * textHScale;\n }\n\n ctx.restore();\n this.processingType3 = null;\n },\n setCharWidth: function CanvasGraphics_setCharWidth(xWidth, yWidth) {},\n setCharWidthAndBounds: function CanvasGraphics_setCharWidthAndBounds(xWidth, yWidth, llx, lly, urx, ury) {\n this.ctx.rect(llx, lly, urx - llx, ury - lly);\n this.clip();\n this.endPath();\n },\n getColorN_Pattern: function CanvasGraphics_getColorN_Pattern(IR) {\n var _this = this;\n\n var pattern;\n\n if (IR[0] === \"TilingPattern\") {\n var color = IR[1];\n var baseTransform = this.baseTransform || this.ctx.mozCurrentTransform.slice();\n var canvasGraphicsFactory = {\n createCanvasGraphics: function createCanvasGraphics(ctx) {\n return new CanvasGraphics(ctx, _this.commonObjs, _this.objs, _this.canvasFactory, _this.webGLContext);\n }\n };\n pattern = new _pattern_helper.TilingPattern(IR, color, this.ctx, canvasGraphicsFactory, baseTransform);\n } else {\n pattern = (0, _pattern_helper.getShadingPatternFromIR)(IR);\n }\n\n return pattern;\n },\n setStrokeColorN: function CanvasGraphics_setStrokeColorN() {\n this.current.strokeColor = this.getColorN_Pattern(arguments);\n },\n setFillColorN: function CanvasGraphics_setFillColorN() {\n this.current.fillColor = this.getColorN_Pattern(arguments);\n this.current.patternFill = true;\n },\n setStrokeRGBColor: function CanvasGraphics_setStrokeRGBColor(r, g, b) {\n var color = _util.Util.makeCssRgb(r, g, b);\n\n this.ctx.strokeStyle = color;\n this.current.strokeColor = color;\n },\n setFillRGBColor: function CanvasGraphics_setFillRGBColor(r, g, b) {\n var color = _util.Util.makeCssRgb(r, g, b);\n\n this.ctx.fillStyle = color;\n this.current.fillColor = color;\n this.current.patternFill = false;\n },\n shadingFill: function CanvasGraphics_shadingFill(patternIR) {\n var ctx = this.ctx;\n this.save();\n var pattern = (0, _pattern_helper.getShadingPatternFromIR)(patternIR);\n ctx.fillStyle = pattern.getPattern(ctx, this, true);\n var inv = ctx.mozCurrentTransformInverse;\n\n if (inv) {\n var canvas = ctx.canvas;\n var width = canvas.width;\n var height = canvas.height;\n\n var bl = _util.Util.applyTransform([0, 0], inv);\n\n var br = _util.Util.applyTransform([0, height], inv);\n\n var ul = _util.Util.applyTransform([width, 0], inv);\n\n var ur = _util.Util.applyTransform([width, height], inv);\n\n var x0 = Math.min(bl[0], br[0], ul[0], ur[0]);\n var y0 = Math.min(bl[1], br[1], ul[1], ur[1]);\n var x1 = Math.max(bl[0], br[0], ul[0], ur[0]);\n var y1 = Math.max(bl[1], br[1], ul[1], ur[1]);\n this.ctx.fillRect(x0, y0, x1 - x0, y1 - y0);\n } else {\n this.ctx.fillRect(-1e10, -1e10, 2e10, 2e10);\n }\n\n this.restore();\n },\n beginInlineImage: function CanvasGraphics_beginInlineImage() {\n (0, _util.unreachable)(\"Should not call beginInlineImage\");\n },\n beginImageData: function CanvasGraphics_beginImageData() {\n (0, _util.unreachable)(\"Should not call beginImageData\");\n },\n paintFormXObjectBegin: function CanvasGraphics_paintFormXObjectBegin(matrix, bbox) {\n this.save();\n this.baseTransformStack.push(this.baseTransform);\n\n if (Array.isArray(matrix) && matrix.length === 6) {\n this.transform.apply(this, matrix);\n }\n\n this.baseTransform = this.ctx.mozCurrentTransform;\n\n if (bbox) {\n var width = bbox[2] - bbox[0];\n var height = bbox[3] - bbox[1];\n this.ctx.rect(bbox[0], bbox[1], width, height);\n this.clip();\n this.endPath();\n }\n },\n paintFormXObjectEnd: function CanvasGraphics_paintFormXObjectEnd() {\n this.restore();\n this.baseTransform = this.baseTransformStack.pop();\n },\n beginGroup: function CanvasGraphics_beginGroup(group) {\n this.save();\n var currentCtx = this.ctx;\n\n if (!group.isolated) {\n (0, _util.info)(\"TODO: Support non-isolated groups.\");\n }\n\n if (group.knockout) {\n (0, _util.warn)(\"Knockout groups not supported.\");\n }\n\n var currentTransform = currentCtx.mozCurrentTransform;\n\n if (group.matrix) {\n currentCtx.transform.apply(currentCtx, group.matrix);\n }\n\n if (!group.bbox) {\n throw new Error(\"Bounding box is required.\");\n }\n\n var bounds = _util.Util.getAxialAlignedBoundingBox(group.bbox, currentCtx.mozCurrentTransform);\n\n var canvasBounds = [0, 0, currentCtx.canvas.width, currentCtx.canvas.height];\n bounds = _util.Util.intersect(bounds, canvasBounds) || [0, 0, 0, 0];\n var offsetX = Math.floor(bounds[0]);\n var offsetY = Math.floor(bounds[1]);\n var drawnWidth = Math.max(Math.ceil(bounds[2]) - offsetX, 1);\n var drawnHeight = Math.max(Math.ceil(bounds[3]) - offsetY, 1);\n var scaleX = 1,\n scaleY = 1;\n\n if (drawnWidth > MAX_GROUP_SIZE) {\n scaleX = drawnWidth / MAX_GROUP_SIZE;\n drawnWidth = MAX_GROUP_SIZE;\n }\n\n if (drawnHeight > MAX_GROUP_SIZE) {\n scaleY = drawnHeight / MAX_GROUP_SIZE;\n drawnHeight = MAX_GROUP_SIZE;\n }\n\n var cacheId = \"groupAt\" + this.groupLevel;\n\n if (group.smask) {\n cacheId += \"_smask_\" + this.smaskCounter++ % 2;\n }\n\n var scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight, true);\n var groupCtx = scratchCanvas.context;\n groupCtx.scale(1 / scaleX, 1 / scaleY);\n groupCtx.translate(-offsetX, -offsetY);\n groupCtx.transform.apply(groupCtx, currentTransform);\n\n if (group.smask) {\n this.smaskStack.push({\n canvas: scratchCanvas.canvas,\n context: groupCtx,\n offsetX: offsetX,\n offsetY: offsetY,\n scaleX: scaleX,\n scaleY: scaleY,\n subtype: group.smask.subtype,\n backdrop: group.smask.backdrop,\n transferMap: group.smask.transferMap || null,\n startTransformInverse: null\n });\n } else {\n currentCtx.setTransform(1, 0, 0, 1, 0, 0);\n currentCtx.translate(offsetX, offsetY);\n currentCtx.scale(scaleX, scaleY);\n }\n\n copyCtxState(currentCtx, groupCtx);\n this.ctx = groupCtx;\n this.setGState([[\"BM\", \"source-over\"], [\"ca\", 1], [\"CA\", 1]]);\n this.groupStack.push(currentCtx);\n this.groupLevel++;\n this.current.activeSMask = null;\n },\n endGroup: function CanvasGraphics_endGroup(group) {\n this.groupLevel--;\n var groupCtx = this.ctx;\n this.ctx = this.groupStack.pop();\n\n if (this.ctx.imageSmoothingEnabled !== undefined) {\n this.ctx.imageSmoothingEnabled = false;\n } else {\n this.ctx.mozImageSmoothingEnabled = false;\n }\n\n if (group.smask) {\n this.tempSMask = this.smaskStack.pop();\n } else {\n this.ctx.drawImage(groupCtx.canvas, 0, 0);\n }\n\n this.restore();\n },\n beginAnnotations: function CanvasGraphics_beginAnnotations() {\n this.save();\n\n if (this.baseTransform) {\n this.ctx.setTransform.apply(this.ctx, this.baseTransform);\n }\n },\n endAnnotations: function CanvasGraphics_endAnnotations() {\n this.restore();\n },\n beginAnnotation: function CanvasGraphics_beginAnnotation(rect, transform, matrix) {\n this.save();\n resetCtxToDefault(this.ctx);\n this.current = new CanvasExtraState();\n\n if (Array.isArray(rect) && rect.length === 4) {\n var width = rect[2] - rect[0];\n var height = rect[3] - rect[1];\n this.ctx.rect(rect[0], rect[1], width, height);\n this.clip();\n this.endPath();\n }\n\n this.transform.apply(this, transform);\n this.transform.apply(this, matrix);\n },\n endAnnotation: function CanvasGraphics_endAnnotation() {\n this.restore();\n },\n paintImageMaskXObject: function CanvasGraphics_paintImageMaskXObject(img) {\n var ctx = this.ctx;\n var width = img.width,\n height = img.height;\n var fillColor = this.current.fillColor;\n var isPatternFill = this.current.patternFill;\n var glyph = this.processingType3;\n\n if (COMPILE_TYPE3_GLYPHS && glyph && glyph.compiled === undefined) {\n if (width <= MAX_SIZE_TO_COMPILE && height <= MAX_SIZE_TO_COMPILE) {\n glyph.compiled = compileType3Glyph({\n data: img.data,\n width: width,\n height: height\n });\n } else {\n glyph.compiled = null;\n }\n }\n\n if (glyph && glyph.compiled) {\n glyph.compiled(ctx);\n return;\n }\n\n var maskCanvas = this.cachedCanvases.getCanvas(\"maskCanvas\", width, height);\n var maskCtx = maskCanvas.context;\n maskCtx.save();\n putBinaryImageMask(maskCtx, img);\n maskCtx.globalCompositeOperation = \"source-in\";\n maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this) : fillColor;\n maskCtx.fillRect(0, 0, width, height);\n maskCtx.restore();\n this.paintInlineImageXObject(maskCanvas.canvas);\n },\n paintImageMaskXObjectRepeat: function CanvasGraphics_paintImageMaskXObjectRepeat(imgData, scaleX, scaleY, positions) {\n var width = imgData.width;\n var height = imgData.height;\n var fillColor = this.current.fillColor;\n var isPatternFill = this.current.patternFill;\n var maskCanvas = this.cachedCanvases.getCanvas(\"maskCanvas\", width, height);\n var maskCtx = maskCanvas.context;\n maskCtx.save();\n putBinaryImageMask(maskCtx, imgData);\n maskCtx.globalCompositeOperation = \"source-in\";\n maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this) : fillColor;\n maskCtx.fillRect(0, 0, width, height);\n maskCtx.restore();\n var ctx = this.ctx;\n\n for (var i = 0, ii = positions.length; i < ii; i += 2) {\n ctx.save();\n ctx.transform(scaleX, 0, 0, scaleY, positions[i], positions[i + 1]);\n ctx.scale(1, -1);\n ctx.drawImage(maskCanvas.canvas, 0, 0, width, height, 0, -1, 1, 1);\n ctx.restore();\n }\n },\n paintImageMaskXObjectGroup: function CanvasGraphics_paintImageMaskXObjectGroup(images) {\n var ctx = this.ctx;\n var fillColor = this.current.fillColor;\n var isPatternFill = this.current.patternFill;\n\n for (var i = 0, ii = images.length; i < ii; i++) {\n var image = images[i];\n var width = image.width,\n height = image.height;\n var maskCanvas = this.cachedCanvases.getCanvas(\"maskCanvas\", width, height);\n var maskCtx = maskCanvas.context;\n maskCtx.save();\n putBinaryImageMask(maskCtx, image);\n maskCtx.globalCompositeOperation = \"source-in\";\n maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this) : fillColor;\n maskCtx.fillRect(0, 0, width, height);\n maskCtx.restore();\n ctx.save();\n ctx.transform.apply(ctx, image.transform);\n ctx.scale(1, -1);\n ctx.drawImage(maskCanvas.canvas, 0, 0, width, height, 0, -1, 1, 1);\n ctx.restore();\n }\n },\n paintImageXObject: function CanvasGraphics_paintImageXObject(objId) {\n var imgData = objId.startsWith(\"g_\") ? this.commonObjs.get(objId) : this.objs.get(objId);\n\n if (!imgData) {\n (0, _util.warn)(\"Dependent image isn't ready yet\");\n return;\n }\n\n this.paintInlineImageXObject(imgData);\n },\n paintImageXObjectRepeat: function CanvasGraphics_paintImageXObjectRepeat(objId, scaleX, scaleY, positions) {\n var imgData = objId.startsWith(\"g_\") ? this.commonObjs.get(objId) : this.objs.get(objId);\n\n if (!imgData) {\n (0, _util.warn)(\"Dependent image isn't ready yet\");\n return;\n }\n\n var width = imgData.width;\n var height = imgData.height;\n var map = [];\n\n for (var i = 0, ii = positions.length; i < ii; i += 2) {\n map.push({\n transform: [scaleX, 0, 0, scaleY, positions[i], positions[i + 1]],\n x: 0,\n y: 0,\n w: width,\n h: height\n });\n }\n\n this.paintInlineImageXObjectGroup(imgData, map);\n },\n paintInlineImageXObject: function CanvasGraphics_paintInlineImageXObject(imgData) {\n var width = imgData.width;\n var height = imgData.height;\n var ctx = this.ctx;\n this.save();\n ctx.scale(1 / width, -1 / height);\n var currentTransform = ctx.mozCurrentTransformInverse;\n var a = currentTransform[0],\n b = currentTransform[1];\n var widthScale = Math.max(Math.sqrt(a * a + b * b), 1);\n var c = currentTransform[2],\n d = currentTransform[3];\n var heightScale = Math.max(Math.sqrt(c * c + d * d), 1);\n var imgToPaint, tmpCanvas;\n\n if (typeof HTMLElement === \"function\" && imgData instanceof HTMLElement || !imgData.data) {\n imgToPaint = imgData;\n } else {\n tmpCanvas = this.cachedCanvases.getCanvas(\"inlineImage\", width, height);\n var tmpCtx = tmpCanvas.context;\n putBinaryImageData(tmpCtx, imgData);\n imgToPaint = tmpCanvas.canvas;\n }\n\n var paintWidth = width,\n paintHeight = height;\n var tmpCanvasId = \"prescale1\";\n\n while (widthScale > 2 && paintWidth > 1 || heightScale > 2 && paintHeight > 1) {\n var newWidth = paintWidth,\n newHeight = paintHeight;\n\n if (widthScale > 2 && paintWidth > 1) {\n newWidth = Math.ceil(paintWidth / 2);\n widthScale /= paintWidth / newWidth;\n }\n\n if (heightScale > 2 && paintHeight > 1) {\n newHeight = Math.ceil(paintHeight / 2);\n heightScale /= paintHeight / newHeight;\n }\n\n tmpCanvas = this.cachedCanvases.getCanvas(tmpCanvasId, newWidth, newHeight);\n tmpCtx = tmpCanvas.context;\n tmpCtx.clearRect(0, 0, newWidth, newHeight);\n tmpCtx.drawImage(imgToPaint, 0, 0, paintWidth, paintHeight, 0, 0, newWidth, newHeight);\n imgToPaint = tmpCanvas.canvas;\n paintWidth = newWidth;\n paintHeight = newHeight;\n tmpCanvasId = tmpCanvasId === \"prescale1\" ? \"prescale2\" : \"prescale1\";\n }\n\n ctx.drawImage(imgToPaint, 0, 0, paintWidth, paintHeight, 0, -height, width, height);\n\n if (this.imageLayer) {\n var position = this.getCanvasPosition(0, -height);\n this.imageLayer.appendImage({\n imgData: imgData,\n left: position[0],\n top: position[1],\n width: width / currentTransform[0],\n height: height / currentTransform[3]\n });\n }\n\n this.restore();\n },\n paintInlineImageXObjectGroup: function CanvasGraphics_paintInlineImageXObjectGroup(imgData, map) {\n var ctx = this.ctx;\n var w = imgData.width;\n var h = imgData.height;\n var tmpCanvas = this.cachedCanvases.getCanvas(\"inlineImage\", w, h);\n var tmpCtx = tmpCanvas.context;\n putBinaryImageData(tmpCtx, imgData);\n\n for (var i = 0, ii = map.length; i < ii; i++) {\n var entry = map[i];\n ctx.save();\n ctx.transform.apply(ctx, entry.transform);\n ctx.scale(1, -1);\n ctx.drawImage(tmpCanvas.canvas, entry.x, entry.y, entry.w, entry.h, 0, -1, 1, 1);\n\n if (this.imageLayer) {\n var position = this.getCanvasPosition(entry.x, entry.y);\n this.imageLayer.appendImage({\n imgData: imgData,\n left: position[0],\n top: position[1],\n width: w,\n height: h\n });\n }\n\n ctx.restore();\n }\n },\n paintSolidColorImageMask: function CanvasGraphics_paintSolidColorImageMask() {\n this.ctx.fillRect(0, 0, 1, 1);\n },\n paintXObject: function CanvasGraphics_paintXObject() {\n (0, _util.warn)(\"Unsupported 'paintXObject' command.\");\n },\n markPoint: function CanvasGraphics_markPoint(tag) {},\n markPointProps: function CanvasGraphics_markPointProps(tag, properties) {},\n beginMarkedContent: function CanvasGraphics_beginMarkedContent(tag) {},\n beginMarkedContentProps: function CanvasGraphics_beginMarkedContentProps(tag, properties) {},\n endMarkedContent: function CanvasGraphics_endMarkedContent() {},\n beginCompat: function CanvasGraphics_beginCompat() {},\n endCompat: function CanvasGraphics_endCompat() {},\n consumePath: function CanvasGraphics_consumePath() {\n var ctx = this.ctx;\n\n if (this.pendingClip) {\n if (this.pendingClip === EO_CLIP) {\n ctx.clip(\"evenodd\");\n } else {\n ctx.clip();\n }\n\n this.pendingClip = null;\n }\n\n ctx.beginPath();\n },\n getSinglePixelWidth: function getSinglePixelWidth(scale) {\n if (this._cachedGetSinglePixelWidth === null) {\n var inverse = this.ctx.mozCurrentTransformInverse;\n this._cachedGetSinglePixelWidth = Math.sqrt(Math.max(inverse[0] * inverse[0] + inverse[1] * inverse[1], inverse[2] * inverse[2] + inverse[3] * inverse[3]));\n }\n\n return this._cachedGetSinglePixelWidth;\n },\n getCanvasPosition: function CanvasGraphics_getCanvasPosition(x, y) {\n var transform = this.ctx.mozCurrentTransform;\n return [transform[0] * x + transform[2] * y + transform[4], transform[1] * x + transform[3] * y + transform[5]];\n }\n };\n\n for (var op in _util.OPS) {\n CanvasGraphics.prototype[_util.OPS[op]] = CanvasGraphics.prototype[op];\n }\n\n return CanvasGraphics;\n}();\n\nexports.CanvasGraphics = CanvasGraphics;\n\n/***/ }),\n/* 202 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getShadingPatternFromIR = getShadingPatternFromIR;\nexports.TilingPattern = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar ShadingIRs = {};\n\nfunction applyBoundingBox(ctx, bbox) {\n if (!bbox || typeof Path2D === \"undefined\") {\n return;\n }\n\n var width = bbox[2] - bbox[0];\n var height = bbox[3] - bbox[1];\n var region = new Path2D();\n region.rect(bbox[0], bbox[1], width, height);\n ctx.clip(region);\n}\n\nShadingIRs.RadialAxial = {\n fromIR: function RadialAxial_fromIR(raw) {\n var type = raw[1];\n var bbox = raw[2];\n var colorStops = raw[3];\n var p0 = raw[4];\n var p1 = raw[5];\n var r0 = raw[6];\n var r1 = raw[7];\n return {\n type: \"Pattern\",\n getPattern: function RadialAxial_getPattern(ctx) {\n applyBoundingBox(ctx, bbox);\n var grad;\n\n if (type === \"axial\") {\n grad = ctx.createLinearGradient(p0[0], p0[1], p1[0], p1[1]);\n } else if (type === \"radial\") {\n grad = ctx.createRadialGradient(p0[0], p0[1], r0, p1[0], p1[1], r1);\n }\n\n for (var i = 0, ii = colorStops.length; i < ii; ++i) {\n var c = colorStops[i];\n grad.addColorStop(c[0], c[1]);\n }\n\n return grad;\n }\n };\n }\n};\n\nvar createMeshCanvas = function createMeshCanvasClosure() {\n function drawTriangle(data, context, p1, p2, p3, c1, c2, c3) {\n var coords = context.coords,\n colors = context.colors;\n var bytes = data.data,\n rowSize = data.width * 4;\n var tmp;\n\n if (coords[p1 + 1] > coords[p2 + 1]) {\n tmp = p1;\n p1 = p2;\n p2 = tmp;\n tmp = c1;\n c1 = c2;\n c2 = tmp;\n }\n\n if (coords[p2 + 1] > coords[p3 + 1]) {\n tmp = p2;\n p2 = p3;\n p3 = tmp;\n tmp = c2;\n c2 = c3;\n c3 = tmp;\n }\n\n if (coords[p1 + 1] > coords[p2 + 1]) {\n tmp = p1;\n p1 = p2;\n p2 = tmp;\n tmp = c1;\n c1 = c2;\n c2 = tmp;\n }\n\n var x1 = (coords[p1] + context.offsetX) * context.scaleX;\n var y1 = (coords[p1 + 1] + context.offsetY) * context.scaleY;\n var x2 = (coords[p2] + context.offsetX) * context.scaleX;\n var y2 = (coords[p2 + 1] + context.offsetY) * context.scaleY;\n var x3 = (coords[p3] + context.offsetX) * context.scaleX;\n var y3 = (coords[p3 + 1] + context.offsetY) * context.scaleY;\n\n if (y1 >= y3) {\n return;\n }\n\n var c1r = colors[c1],\n c1g = colors[c1 + 1],\n c1b = colors[c1 + 2];\n var c2r = colors[c2],\n c2g = colors[c2 + 1],\n c2b = colors[c2 + 2];\n var c3r = colors[c3],\n c3g = colors[c3 + 1],\n c3b = colors[c3 + 2];\n var minY = Math.round(y1),\n maxY = Math.round(y3);\n var xa, car, cag, cab;\n var xb, cbr, cbg, cbb;\n\n for (var y = minY; y <= maxY; y++) {\n if (y < y2) {\n var _k = void 0;\n\n if (y < y1) {\n _k = 0;\n } else if (y1 === y2) {\n _k = 1;\n } else {\n _k = (y1 - y) / (y1 - y2);\n }\n\n xa = x1 - (x1 - x2) * _k;\n car = c1r - (c1r - c2r) * _k;\n cag = c1g - (c1g - c2g) * _k;\n cab = c1b - (c1b - c2b) * _k;\n } else {\n var _k2 = void 0;\n\n if (y > y3) {\n _k2 = 1;\n } else if (y2 === y3) {\n _k2 = 0;\n } else {\n _k2 = (y2 - y) / (y2 - y3);\n }\n\n xa = x2 - (x2 - x3) * _k2;\n car = c2r - (c2r - c3r) * _k2;\n cag = c2g - (c2g - c3g) * _k2;\n cab = c2b - (c2b - c3b) * _k2;\n }\n\n var k = void 0;\n\n if (y < y1) {\n k = 0;\n } else if (y > y3) {\n k = 1;\n } else {\n k = (y1 - y) / (y1 - y3);\n }\n\n xb = x1 - (x1 - x3) * k;\n cbr = c1r - (c1r - c3r) * k;\n cbg = c1g - (c1g - c3g) * k;\n cbb = c1b - (c1b - c3b) * k;\n var x1_ = Math.round(Math.min(xa, xb));\n var x2_ = Math.round(Math.max(xa, xb));\n var j = rowSize * y + x1_ * 4;\n\n for (var x = x1_; x <= x2_; x++) {\n k = (xa - x) / (xa - xb);\n\n if (k < 0) {\n k = 0;\n } else if (k > 1) {\n k = 1;\n }\n\n bytes[j++] = car - (car - cbr) * k | 0;\n bytes[j++] = cag - (cag - cbg) * k | 0;\n bytes[j++] = cab - (cab - cbb) * k | 0;\n bytes[j++] = 255;\n }\n }\n }\n\n function drawFigure(data, figure, context) {\n var ps = figure.coords;\n var cs = figure.colors;\n var i, ii;\n\n switch (figure.type) {\n case \"lattice\":\n var verticesPerRow = figure.verticesPerRow;\n var rows = Math.floor(ps.length / verticesPerRow) - 1;\n var cols = verticesPerRow - 1;\n\n for (i = 0; i < rows; i++) {\n var q = i * verticesPerRow;\n\n for (var j = 0; j < cols; j++, q++) {\n drawTriangle(data, context, ps[q], ps[q + 1], ps[q + verticesPerRow], cs[q], cs[q + 1], cs[q + verticesPerRow]);\n drawTriangle(data, context, ps[q + verticesPerRow + 1], ps[q + 1], ps[q + verticesPerRow], cs[q + verticesPerRow + 1], cs[q + 1], cs[q + verticesPerRow]);\n }\n }\n\n break;\n\n case \"triangles\":\n for (i = 0, ii = ps.length; i < ii; i += 3) {\n drawTriangle(data, context, ps[i], ps[i + 1], ps[i + 2], cs[i], cs[i + 1], cs[i + 2]);\n }\n\n break;\n\n default:\n throw new Error(\"illegal figure\");\n }\n }\n\n function createMeshCanvas(bounds, combinesScale, coords, colors, figures, backgroundColor, cachedCanvases, webGLContext) {\n var EXPECTED_SCALE = 1.1;\n var MAX_PATTERN_SIZE = 3000;\n var BORDER_SIZE = 2;\n var offsetX = Math.floor(bounds[0]);\n var offsetY = Math.floor(bounds[1]);\n var boundsWidth = Math.ceil(bounds[2]) - offsetX;\n var boundsHeight = Math.ceil(bounds[3]) - offsetY;\n var width = Math.min(Math.ceil(Math.abs(boundsWidth * combinesScale[0] * EXPECTED_SCALE)), MAX_PATTERN_SIZE);\n var height = Math.min(Math.ceil(Math.abs(boundsHeight * combinesScale[1] * EXPECTED_SCALE)), MAX_PATTERN_SIZE);\n var scaleX = boundsWidth / width;\n var scaleY = boundsHeight / height;\n var context = {\n coords: coords,\n colors: colors,\n offsetX: -offsetX,\n offsetY: -offsetY,\n scaleX: 1 / scaleX,\n scaleY: 1 / scaleY\n };\n var paddedWidth = width + BORDER_SIZE * 2;\n var paddedHeight = height + BORDER_SIZE * 2;\n var canvas, tmpCanvas, i, ii;\n\n if (webGLContext.isEnabled) {\n canvas = webGLContext.drawFigures({\n width: width,\n height: height,\n backgroundColor: backgroundColor,\n figures: figures,\n context: context\n });\n tmpCanvas = cachedCanvases.getCanvas(\"mesh\", paddedWidth, paddedHeight, false);\n tmpCanvas.context.drawImage(canvas, BORDER_SIZE, BORDER_SIZE);\n canvas = tmpCanvas.canvas;\n } else {\n tmpCanvas = cachedCanvases.getCanvas(\"mesh\", paddedWidth, paddedHeight, false);\n var tmpCtx = tmpCanvas.context;\n var data = tmpCtx.createImageData(width, height);\n\n if (backgroundColor) {\n var bytes = data.data;\n\n for (i = 0, ii = bytes.length; i < ii; i += 4) {\n bytes[i] = backgroundColor[0];\n bytes[i + 1] = backgroundColor[1];\n bytes[i + 2] = backgroundColor[2];\n bytes[i + 3] = 255;\n }\n }\n\n for (i = 0; i < figures.length; i++) {\n drawFigure(data, figures[i], context);\n }\n\n tmpCtx.putImageData(data, BORDER_SIZE, BORDER_SIZE);\n canvas = tmpCanvas.canvas;\n }\n\n return {\n canvas: canvas,\n offsetX: offsetX - BORDER_SIZE * scaleX,\n offsetY: offsetY - BORDER_SIZE * scaleY,\n scaleX: scaleX,\n scaleY: scaleY\n };\n }\n\n return createMeshCanvas;\n}();\n\nShadingIRs.Mesh = {\n fromIR: function Mesh_fromIR(raw) {\n var coords = raw[2];\n var colors = raw[3];\n var figures = raw[4];\n var bounds = raw[5];\n var matrix = raw[6];\n var bbox = raw[7];\n var background = raw[8];\n return {\n type: \"Pattern\",\n getPattern: function Mesh_getPattern(ctx, owner, shadingFill) {\n applyBoundingBox(ctx, bbox);\n var scale;\n\n if (shadingFill) {\n scale = _util.Util.singularValueDecompose2dScale(ctx.mozCurrentTransform);\n } else {\n scale = _util.Util.singularValueDecompose2dScale(owner.baseTransform);\n\n if (matrix) {\n var matrixScale = _util.Util.singularValueDecompose2dScale(matrix);\n\n scale = [scale[0] * matrixScale[0], scale[1] * matrixScale[1]];\n }\n }\n\n var temporaryPatternCanvas = createMeshCanvas(bounds, scale, coords, colors, figures, shadingFill ? null : background, owner.cachedCanvases, owner.webGLContext);\n\n if (!shadingFill) {\n ctx.setTransform.apply(ctx, owner.baseTransform);\n\n if (matrix) {\n ctx.transform.apply(ctx, matrix);\n }\n }\n\n ctx.translate(temporaryPatternCanvas.offsetX, temporaryPatternCanvas.offsetY);\n ctx.scale(temporaryPatternCanvas.scaleX, temporaryPatternCanvas.scaleY);\n return ctx.createPattern(temporaryPatternCanvas.canvas, \"no-repeat\");\n }\n };\n }\n};\nShadingIRs.Dummy = {\n fromIR: function Dummy_fromIR() {\n return {\n type: \"Pattern\",\n getPattern: function Dummy_fromIR_getPattern() {\n return \"hotpink\";\n }\n };\n }\n};\n\nfunction getShadingPatternFromIR(raw) {\n var shadingIR = ShadingIRs[raw[0]];\n\n if (!shadingIR) {\n throw new Error(\"Unknown IR type: \".concat(raw[0]));\n }\n\n return shadingIR.fromIR(raw);\n}\n\nvar TilingPattern = function TilingPatternClosure() {\n var PaintType = {\n COLORED: 1,\n UNCOLORED: 2\n };\n var MAX_PATTERN_SIZE = 3000;\n\n function TilingPattern(IR, color, ctx, canvasGraphicsFactory, baseTransform) {\n this.operatorList = IR[2];\n this.matrix = IR[3] || [1, 0, 0, 1, 0, 0];\n this.bbox = IR[4];\n this.xstep = IR[5];\n this.ystep = IR[6];\n this.paintType = IR[7];\n this.tilingType = IR[8];\n this.color = color;\n this.canvasGraphicsFactory = canvasGraphicsFactory;\n this.baseTransform = baseTransform;\n this.type = \"Pattern\";\n this.ctx = ctx;\n }\n\n TilingPattern.prototype = {\n createPatternCanvas: function TilinPattern_createPatternCanvas(owner) {\n var operatorList = this.operatorList;\n var bbox = this.bbox;\n var xstep = this.xstep;\n var ystep = this.ystep;\n var paintType = this.paintType;\n var tilingType = this.tilingType;\n var color = this.color;\n var canvasGraphicsFactory = this.canvasGraphicsFactory;\n (0, _util.info)(\"TilingType: \" + tilingType);\n var x0 = bbox[0],\n y0 = bbox[1],\n x1 = bbox[2],\n y1 = bbox[3];\n\n var matrixScale = _util.Util.singularValueDecompose2dScale(this.matrix);\n\n var curMatrixScale = _util.Util.singularValueDecompose2dScale(this.baseTransform);\n\n var combinedScale = [matrixScale[0] * curMatrixScale[0], matrixScale[1] * curMatrixScale[1]];\n var dimx = this.getSizeAndScale(xstep, this.ctx.canvas.width, combinedScale[0]);\n var dimy = this.getSizeAndScale(ystep, this.ctx.canvas.height, combinedScale[1]);\n var tmpCanvas = owner.cachedCanvases.getCanvas(\"pattern\", dimx.size, dimy.size, true);\n var tmpCtx = tmpCanvas.context;\n var graphics = canvasGraphicsFactory.createCanvasGraphics(tmpCtx);\n graphics.groupLevel = owner.groupLevel;\n this.setFillAndStrokeStyleToContext(graphics, paintType, color);\n graphics.transform(dimx.scale, 0, 0, dimy.scale, 0, 0);\n graphics.transform(1, 0, 0, 1, -x0, -y0);\n this.clipBbox(graphics, bbox, x0, y0, x1, y1);\n graphics.executeOperatorList(operatorList);\n this.ctx.transform(1, 0, 0, 1, x0, y0);\n this.ctx.scale(1 / dimx.scale, 1 / dimy.scale);\n return tmpCanvas.canvas;\n },\n getSizeAndScale: function TilingPattern_getSizeAndScale(step, realOutputSize, scale) {\n step = Math.abs(step);\n var maxSize = Math.max(MAX_PATTERN_SIZE, realOutputSize);\n var size = Math.ceil(step * scale);\n\n if (size >= maxSize) {\n size = maxSize;\n } else {\n scale = size / step;\n }\n\n return {\n scale: scale,\n size: size\n };\n },\n clipBbox: function clipBbox(graphics, bbox, x0, y0, x1, y1) {\n if (Array.isArray(bbox) && bbox.length === 4) {\n var bboxWidth = x1 - x0;\n var bboxHeight = y1 - y0;\n graphics.ctx.rect(x0, y0, bboxWidth, bboxHeight);\n graphics.clip();\n graphics.endPath();\n }\n },\n setFillAndStrokeStyleToContext: function setFillAndStrokeStyleToContext(graphics, paintType, color) {\n var context = graphics.ctx,\n current = graphics.current;\n\n switch (paintType) {\n case PaintType.COLORED:\n var ctx = this.ctx;\n context.fillStyle = ctx.fillStyle;\n context.strokeStyle = ctx.strokeStyle;\n current.fillColor = ctx.fillStyle;\n current.strokeColor = ctx.strokeStyle;\n break;\n\n case PaintType.UNCOLORED:\n var cssColor = _util.Util.makeCssRgb(color[0], color[1], color[2]);\n\n context.fillStyle = cssColor;\n context.strokeStyle = cssColor;\n current.fillColor = cssColor;\n current.strokeColor = cssColor;\n break;\n\n default:\n throw new _util.FormatError(\"Unsupported paint type: \".concat(paintType));\n }\n },\n getPattern: function TilingPattern_getPattern(ctx, owner) {\n ctx = this.ctx;\n ctx.setTransform.apply(ctx, this.baseTransform);\n ctx.transform.apply(ctx, this.matrix);\n var temporaryPatternCanvas = this.createPatternCanvas(owner);\n return ctx.createPattern(temporaryPatternCanvas, \"repeat\");\n }\n };\n return TilingPattern;\n}();\n\nexports.TilingPattern = TilingPattern;\n\n/***/ }),\n/* 203 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.GlobalWorkerOptions = void 0;\nvar GlobalWorkerOptions = Object.create(null);\nexports.GlobalWorkerOptions = GlobalWorkerOptions;\nGlobalWorkerOptions.workerPort = GlobalWorkerOptions.workerPort === undefined ? null : GlobalWorkerOptions.workerPort;\nGlobalWorkerOptions.workerSrc = GlobalWorkerOptions.workerSrc === undefined ? \"\" : GlobalWorkerOptions.workerSrc;\n\n/***/ }),\n/* 204 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.MessageHandler = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar CallbackKind = {\n UNKNOWN: 0,\n DATA: 1,\n ERROR: 2\n};\nvar StreamKind = {\n UNKNOWN: 0,\n CANCEL: 1,\n CANCEL_COMPLETE: 2,\n CLOSE: 3,\n ENQUEUE: 4,\n ERROR: 5,\n PULL: 6,\n PULL_COMPLETE: 7,\n START_COMPLETE: 8\n};\n\nfunction wrapReason(reason) {\n if (_typeof(reason) !== \"object\" || reason === null) {\n return reason;\n }\n\n switch (reason.name) {\n case \"AbortException\":\n return new _util.AbortException(reason.message);\n\n case \"MissingPDFException\":\n return new _util.MissingPDFException(reason.message);\n\n case \"UnexpectedResponseException\":\n return new _util.UnexpectedResponseException(reason.message, reason.status);\n\n case \"UnknownErrorException\":\n return new _util.UnknownErrorException(reason.message, reason.details);\n\n default:\n return new _util.UnknownErrorException(reason.message, reason.toString());\n }\n}\n\nvar MessageHandler = /*#__PURE__*/function () {\n function MessageHandler(sourceName, targetName, comObj) {\n var _this = this;\n\n _classCallCheck(this, MessageHandler);\n\n this.sourceName = sourceName;\n this.targetName = targetName;\n this.comObj = comObj;\n this.callbackId = 1;\n this.streamId = 1;\n this.postMessageTransfers = true;\n this.streamSinks = Object.create(null);\n this.streamControllers = Object.create(null);\n this.callbackCapabilities = Object.create(null);\n this.actionHandler = Object.create(null);\n\n this._onComObjOnMessage = function (event) {\n var data = event.data;\n\n if (data.targetName !== _this.sourceName) {\n return;\n }\n\n if (data.stream) {\n _this._processStreamMessage(data);\n\n return;\n }\n\n if (data.callback) {\n var callbackId = data.callbackId;\n var capability = _this.callbackCapabilities[callbackId];\n\n if (!capability) {\n throw new Error(\"Cannot resolve callback \".concat(callbackId));\n }\n\n delete _this.callbackCapabilities[callbackId];\n\n if (data.callback === CallbackKind.DATA) {\n capability.resolve(data.data);\n } else if (data.callback === CallbackKind.ERROR) {\n capability.reject(wrapReason(data.reason));\n } else {\n throw new Error(\"Unexpected callback case\");\n }\n\n return;\n }\n\n var action = _this.actionHandler[data.action];\n\n if (!action) {\n throw new Error(\"Unknown action from worker: \".concat(data.action));\n }\n\n if (data.callbackId) {\n var cbSourceName = _this.sourceName;\n var cbTargetName = data.sourceName;\n new Promise(function (resolve) {\n resolve(action(data.data));\n }).then(function (result) {\n comObj.postMessage({\n sourceName: cbSourceName,\n targetName: cbTargetName,\n callback: CallbackKind.DATA,\n callbackId: data.callbackId,\n data: result\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName: cbSourceName,\n targetName: cbTargetName,\n callback: CallbackKind.ERROR,\n callbackId: data.callbackId,\n reason: wrapReason(reason)\n });\n });\n return;\n }\n\n if (data.streamId) {\n _this._createStreamSink(data);\n\n return;\n }\n\n action(data.data);\n };\n\n comObj.addEventListener(\"message\", this._onComObjOnMessage);\n }\n\n _createClass(MessageHandler, [{\n key: \"on\",\n value: function on(actionName, handler) {\n var ah = this.actionHandler;\n\n if (ah[actionName]) {\n throw new Error(\"There is already an actionName called \\\"\".concat(actionName, \"\\\"\"));\n }\n\n ah[actionName] = handler;\n }\n }, {\n key: \"send\",\n value: function send(actionName, data, transfers) {\n this._postMessage({\n sourceName: this.sourceName,\n targetName: this.targetName,\n action: actionName,\n data: data\n }, transfers);\n }\n }, {\n key: \"sendWithPromise\",\n value: function sendWithPromise(actionName, data, transfers) {\n var callbackId = this.callbackId++;\n var capability = (0, _util.createPromiseCapability)();\n this.callbackCapabilities[callbackId] = capability;\n\n try {\n this._postMessage({\n sourceName: this.sourceName,\n targetName: this.targetName,\n action: actionName,\n callbackId: callbackId,\n data: data\n }, transfers);\n } catch (ex) {\n capability.reject(ex);\n }\n\n return capability.promise;\n }\n }, {\n key: \"sendWithStream\",\n value: function sendWithStream(actionName, data, queueingStrategy, transfers) {\n var _this2 = this;\n\n var streamId = this.streamId++;\n var sourceName = this.sourceName;\n var targetName = this.targetName;\n var comObj = this.comObj;\n return new ReadableStream({\n start: function start(controller) {\n var startCapability = (0, _util.createPromiseCapability)();\n _this2.streamControllers[streamId] = {\n controller: controller,\n startCall: startCapability,\n pullCall: null,\n cancelCall: null,\n isClosed: false\n };\n\n _this2._postMessage({\n sourceName: sourceName,\n targetName: targetName,\n action: actionName,\n streamId: streamId,\n data: data,\n desiredSize: controller.desiredSize\n }, transfers);\n\n return startCapability.promise;\n },\n pull: function pull(controller) {\n var pullCapability = (0, _util.createPromiseCapability)();\n _this2.streamControllers[streamId].pullCall = pullCapability;\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.PULL,\n streamId: streamId,\n desiredSize: controller.desiredSize\n });\n return pullCapability.promise;\n },\n cancel: function cancel(reason) {\n (0, _util.assert)(reason instanceof Error, \"cancel must have a valid reason\");\n var cancelCapability = (0, _util.createPromiseCapability)();\n _this2.streamControllers[streamId].cancelCall = cancelCapability;\n _this2.streamControllers[streamId].isClosed = true;\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.CANCEL,\n streamId: streamId,\n reason: wrapReason(reason)\n });\n return cancelCapability.promise;\n }\n }, queueingStrategy);\n }\n }, {\n key: \"_createStreamSink\",\n value: function _createStreamSink(data) {\n var self = this;\n var action = this.actionHandler[data.action];\n var streamId = data.streamId;\n var sourceName = this.sourceName;\n var targetName = data.sourceName;\n var comObj = this.comObj;\n var streamSink = {\n enqueue: function enqueue(chunk) {\n var size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n var transfers = arguments.length > 2 ? arguments[2] : undefined;\n\n if (this.isCancelled) {\n return;\n }\n\n var lastDesiredSize = this.desiredSize;\n this.desiredSize -= size;\n\n if (lastDesiredSize > 0 && this.desiredSize <= 0) {\n this.sinkCapability = (0, _util.createPromiseCapability)();\n this.ready = this.sinkCapability.promise;\n }\n\n self._postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.ENQUEUE,\n streamId: streamId,\n chunk: chunk\n }, transfers);\n },\n close: function close() {\n if (this.isCancelled) {\n return;\n }\n\n this.isCancelled = true;\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.CLOSE,\n streamId: streamId\n });\n delete self.streamSinks[streamId];\n },\n error: function error(reason) {\n (0, _util.assert)(reason instanceof Error, \"error must have a valid reason\");\n\n if (this.isCancelled) {\n return;\n }\n\n this.isCancelled = true;\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.ERROR,\n streamId: streamId,\n reason: wrapReason(reason)\n });\n },\n sinkCapability: (0, _util.createPromiseCapability)(),\n onPull: null,\n onCancel: null,\n isCancelled: false,\n desiredSize: data.desiredSize,\n ready: null\n };\n streamSink.sinkCapability.resolve();\n streamSink.ready = streamSink.sinkCapability.promise;\n this.streamSinks[streamId] = streamSink;\n new Promise(function (resolve) {\n resolve(action(data.data, streamSink));\n }).then(function () {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.START_COMPLETE,\n streamId: streamId,\n success: true\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.START_COMPLETE,\n streamId: streamId,\n reason: wrapReason(reason)\n });\n });\n }\n }, {\n key: \"_processStreamMessage\",\n value: function _processStreamMessage(data) {\n var streamId = data.streamId;\n var sourceName = this.sourceName;\n var targetName = data.sourceName;\n var comObj = this.comObj;\n\n switch (data.stream) {\n case StreamKind.START_COMPLETE:\n if (data.success) {\n this.streamControllers[streamId].startCall.resolve();\n } else {\n this.streamControllers[streamId].startCall.reject(wrapReason(data.reason));\n }\n\n break;\n\n case StreamKind.PULL_COMPLETE:\n if (data.success) {\n this.streamControllers[streamId].pullCall.resolve();\n } else {\n this.streamControllers[streamId].pullCall.reject(wrapReason(data.reason));\n }\n\n break;\n\n case StreamKind.PULL:\n if (!this.streamSinks[streamId]) {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId: streamId,\n success: true\n });\n break;\n }\n\n if (this.streamSinks[streamId].desiredSize <= 0 && data.desiredSize > 0) {\n this.streamSinks[streamId].sinkCapability.resolve();\n }\n\n this.streamSinks[streamId].desiredSize = data.desiredSize;\n var onPull = this.streamSinks[data.streamId].onPull;\n new Promise(function (resolve) {\n resolve(onPull && onPull());\n }).then(function () {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId: streamId,\n success: true\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId: streamId,\n reason: wrapReason(reason)\n });\n });\n break;\n\n case StreamKind.ENQUEUE:\n (0, _util.assert)(this.streamControllers[streamId], \"enqueue should have stream controller\");\n\n if (this.streamControllers[streamId].isClosed) {\n break;\n }\n\n this.streamControllers[streamId].controller.enqueue(data.chunk);\n break;\n\n case StreamKind.CLOSE:\n (0, _util.assert)(this.streamControllers[streamId], \"close should have stream controller\");\n\n if (this.streamControllers[streamId].isClosed) {\n break;\n }\n\n this.streamControllers[streamId].isClosed = true;\n this.streamControllers[streamId].controller.close();\n\n this._deleteStreamController(streamId);\n\n break;\n\n case StreamKind.ERROR:\n (0, _util.assert)(this.streamControllers[streamId], \"error should have stream controller\");\n this.streamControllers[streamId].controller.error(wrapReason(data.reason));\n\n this._deleteStreamController(streamId);\n\n break;\n\n case StreamKind.CANCEL_COMPLETE:\n if (data.success) {\n this.streamControllers[streamId].cancelCall.resolve();\n } else {\n this.streamControllers[streamId].cancelCall.reject(wrapReason(data.reason));\n }\n\n this._deleteStreamController(streamId);\n\n break;\n\n case StreamKind.CANCEL:\n if (!this.streamSinks[streamId]) {\n break;\n }\n\n var onCancel = this.streamSinks[data.streamId].onCancel;\n new Promise(function (resolve) {\n resolve(onCancel && onCancel(wrapReason(data.reason)));\n }).then(function () {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.CANCEL_COMPLETE,\n streamId: streamId,\n success: true\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.CANCEL_COMPLETE,\n streamId: streamId,\n reason: wrapReason(reason)\n });\n });\n this.streamSinks[streamId].sinkCapability.reject(wrapReason(data.reason));\n this.streamSinks[streamId].isCancelled = true;\n delete this.streamSinks[streamId];\n break;\n\n default:\n throw new Error(\"Unexpected stream case\");\n }\n }\n }, {\n key: \"_deleteStreamController\",\n value: function () {\n var _deleteStreamController2 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee(streamId) {\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return Promise.allSettled([this.streamControllers[streamId].startCall, this.streamControllers[streamId].pullCall, this.streamControllers[streamId].cancelCall].map(function (capability) {\n return capability && capability.promise;\n }));\n\n case 2:\n delete this.streamControllers[streamId];\n\n case 3:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function _deleteStreamController(_x) {\n return _deleteStreamController2.apply(this, arguments);\n }\n\n return _deleteStreamController;\n }()\n }, {\n key: \"_postMessage\",\n value: function _postMessage(message, transfers) {\n if (transfers && this.postMessageTransfers) {\n this.comObj.postMessage(message, transfers);\n } else {\n this.comObj.postMessage(message);\n }\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n this.comObj.removeEventListener(\"message\", this._onComObjOnMessage);\n }\n }]);\n\n return MessageHandler;\n}();\n\nexports.MessageHandler = MessageHandler;\n\n/***/ }),\n/* 205 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Metadata = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _xml_parser = __w_pdfjs_require__(206);\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar Metadata = /*#__PURE__*/function () {\n function Metadata(data) {\n _classCallCheck(this, Metadata);\n\n (0, _util.assert)(typeof data === \"string\", \"Metadata: input is not a string\");\n data = this._repair(data);\n var parser = new _xml_parser.SimpleXMLParser();\n var xmlDocument = parser.parseFromString(data);\n this._metadataMap = new Map();\n\n if (xmlDocument) {\n this._parse(xmlDocument);\n }\n }\n\n _createClass(Metadata, [{\n key: \"_repair\",\n value: function _repair(data) {\n return data.replace(/^[^<]+/, \"\").replace(/>\\\\376\\\\377([^<]+)/g, function (all, codes) {\n var bytes = codes.replace(/\\\\([0-3])([0-7])([0-7])/g, function (code, d1, d2, d3) {\n return String.fromCharCode(d1 * 64 + d2 * 8 + d3 * 1);\n }).replace(/&(amp|apos|gt|lt|quot);/g, function (str, name) {\n switch (name) {\n case \"amp\":\n return \"&\";\n\n case \"apos\":\n return \"'\";\n\n case \"gt\":\n return \">\";\n\n case \"lt\":\n return \"<\";\n\n case \"quot\":\n return '\"';\n }\n\n throw new Error(\"_repair: \".concat(name, \" isn't defined.\"));\n });\n var chars = \"\";\n\n for (var i = 0, ii = bytes.length; i < ii; i += 2) {\n var code = bytes.charCodeAt(i) * 256 + bytes.charCodeAt(i + 1);\n\n if (code >= 32 && code < 127 && code !== 60 && code !== 62 && code !== 38) {\n chars += String.fromCharCode(code);\n } else {\n chars += \"&#x\" + (0x10000 + code).toString(16).substring(1) + \";\";\n }\n }\n\n return \">\" + chars;\n });\n }\n }, {\n key: \"_parse\",\n value: function _parse(xmlDocument) {\n var rdf = xmlDocument.documentElement;\n\n if (rdf.nodeName.toLowerCase() !== \"rdf:rdf\") {\n rdf = rdf.firstChild;\n\n while (rdf && rdf.nodeName.toLowerCase() !== \"rdf:rdf\") {\n rdf = rdf.nextSibling;\n }\n }\n\n var nodeName = rdf ? rdf.nodeName.toLowerCase() : null;\n\n if (!rdf || nodeName !== \"rdf:rdf\" || !rdf.hasChildNodes()) {\n return;\n }\n\n var children = rdf.childNodes;\n\n for (var i = 0, ii = children.length; i < ii; i++) {\n var desc = children[i];\n\n if (desc.nodeName.toLowerCase() !== \"rdf:description\") {\n continue;\n }\n\n for (var j = 0, jj = desc.childNodes.length; j < jj; j++) {\n if (desc.childNodes[j].nodeName.toLowerCase() !== \"#text\") {\n var entry = desc.childNodes[j];\n var name = entry.nodeName.toLowerCase();\n\n this._metadataMap.set(name, entry.textContent.trim());\n }\n }\n }\n }\n }, {\n key: \"get\",\n value: function get(name) {\n return this._metadataMap.has(name) ? this._metadataMap.get(name) : null;\n }\n }, {\n key: \"getAll\",\n value: function getAll() {\n var obj = Object.create(null);\n\n var _iterator = _createForOfIteratorHelper(this._metadataMap),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var _step$value = _slicedToArray(_step.value, 2),\n key = _step$value[0],\n value = _step$value[1];\n\n obj[key] = value;\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n return obj;\n }\n }, {\n key: \"has\",\n value: function has(name) {\n return this._metadataMap.has(name);\n }\n }]);\n\n return Metadata;\n}();\n\nexports.Metadata = Metadata;\n\n/***/ }),\n/* 206 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SimpleXMLParser = void 0;\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _get(target, property, receiver) { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }\n\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar XMLParserErrorCode = {\n NoError: 0,\n EndOfDocument: -1,\n UnterminatedCdat: -2,\n UnterminatedXmlDeclaration: -3,\n UnterminatedDoctypeDeclaration: -4,\n UnterminatedComment: -5,\n MalformedElement: -6,\n OutOfMemory: -7,\n UnterminatedAttributeValue: -8,\n UnterminatedElement: -9,\n ElementNeverBegun: -10\n};\n\nfunction isWhitespace(s, index) {\n var ch = s[index];\n return ch === \" \" || ch === \"\\n\" || ch === \"\\r\" || ch === \"\\t\";\n}\n\nfunction isWhitespaceString(s) {\n for (var i = 0, ii = s.length; i < ii; i++) {\n if (!isWhitespace(s, i)) {\n return false;\n }\n }\n\n return true;\n}\n\nvar XMLParserBase = /*#__PURE__*/function () {\n function XMLParserBase() {\n _classCallCheck(this, XMLParserBase);\n }\n\n _createClass(XMLParserBase, [{\n key: \"_resolveEntities\",\n value: function _resolveEntities(s) {\n var _this = this;\n\n return s.replace(/&([^;]+);/g, function (all, entity) {\n if (entity.substring(0, 2) === \"#x\") {\n return String.fromCharCode(parseInt(entity.substring(2), 16));\n } else if (entity.substring(0, 1) === \"#\") {\n return String.fromCharCode(parseInt(entity.substring(1), 10));\n }\n\n switch (entity) {\n case \"lt\":\n return \"<\";\n\n case \"gt\":\n return \">\";\n\n case \"amp\":\n return \"&\";\n\n case \"quot\":\n return '\"';\n }\n\n return _this.onResolveEntity(entity);\n });\n }\n }, {\n key: \"_parseContent\",\n value: function _parseContent(s, start) {\n var attributes = [];\n var pos = start;\n\n function skipWs() {\n while (pos < s.length && isWhitespace(s, pos)) {\n ++pos;\n }\n }\n\n while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== \">\" && s[pos] !== \"/\") {\n ++pos;\n }\n\n var name = s.substring(start, pos);\n skipWs();\n\n while (pos < s.length && s[pos] !== \">\" && s[pos] !== \"/\" && s[pos] !== \"?\") {\n skipWs();\n var attrName = \"\",\n attrValue = \"\";\n\n while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== \"=\") {\n attrName += s[pos];\n ++pos;\n }\n\n skipWs();\n\n if (s[pos] !== \"=\") {\n return null;\n }\n\n ++pos;\n skipWs();\n var attrEndChar = s[pos];\n\n if (attrEndChar !== '\"' && attrEndChar !== \"'\") {\n return null;\n }\n\n var attrEndIndex = s.indexOf(attrEndChar, ++pos);\n\n if (attrEndIndex < 0) {\n return null;\n }\n\n attrValue = s.substring(pos, attrEndIndex);\n attributes.push({\n name: attrName,\n value: this._resolveEntities(attrValue)\n });\n pos = attrEndIndex + 1;\n skipWs();\n }\n\n return {\n name: name,\n attributes: attributes,\n parsed: pos - start\n };\n }\n }, {\n key: \"_parseProcessingInstruction\",\n value: function _parseProcessingInstruction(s, start) {\n var pos = start;\n\n function skipWs() {\n while (pos < s.length && isWhitespace(s, pos)) {\n ++pos;\n }\n }\n\n while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== \">\" && s[pos] !== \"/\") {\n ++pos;\n }\n\n var name = s.substring(start, pos);\n skipWs();\n var attrStart = pos;\n\n while (pos < s.length && (s[pos] !== \"?\" || s[pos + 1] !== \">\")) {\n ++pos;\n }\n\n var value = s.substring(attrStart, pos);\n return {\n name: name,\n value: value,\n parsed: pos - start\n };\n }\n }, {\n key: \"parseXml\",\n value: function parseXml(s) {\n var i = 0;\n\n while (i < s.length) {\n var ch = s[i];\n var j = i;\n\n if (ch === \"<\") {\n ++j;\n var ch2 = s[j];\n var q = void 0;\n\n switch (ch2) {\n case \"/\":\n ++j;\n q = s.indexOf(\">\", j);\n\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedElement);\n return;\n }\n\n this.onEndElement(s.substring(j, q));\n j = q + 1;\n break;\n\n case \"?\":\n ++j;\n\n var pi = this._parseProcessingInstruction(s, j);\n\n if (s.substring(j + pi.parsed, j + pi.parsed + 2) !== \"?>\") {\n this.onError(XMLParserErrorCode.UnterminatedXmlDeclaration);\n return;\n }\n\n this.onPi(pi.name, pi.value);\n j += pi.parsed + 2;\n break;\n\n case \"!\":\n if (s.substring(j + 1, j + 3) === \"--\") {\n q = s.indexOf(\"-->\", j + 3);\n\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedComment);\n return;\n }\n\n this.onComment(s.substring(j + 3, q));\n j = q + 3;\n } else if (s.substring(j + 1, j + 8) === \"[CDATA[\") {\n q = s.indexOf(\"]]>\", j + 8);\n\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedCdat);\n return;\n }\n\n this.onCdata(s.substring(j + 8, q));\n j = q + 3;\n } else if (s.substring(j + 1, j + 8) === \"DOCTYPE\") {\n var q2 = s.indexOf(\"[\", j + 8);\n var complexDoctype = false;\n q = s.indexOf(\">\", j + 8);\n\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedDoctypeDeclaration);\n return;\n }\n\n if (q2 > 0 && q > q2) {\n q = s.indexOf(\"]>\", j + 8);\n\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedDoctypeDeclaration);\n return;\n }\n\n complexDoctype = true;\n }\n\n var doctypeContent = s.substring(j + 8, q + (complexDoctype ? 1 : 0));\n this.onDoctype(doctypeContent);\n j = q + (complexDoctype ? 2 : 1);\n } else {\n this.onError(XMLParserErrorCode.MalformedElement);\n return;\n }\n\n break;\n\n default:\n var content = this._parseContent(s, j);\n\n if (content === null) {\n this.onError(XMLParserErrorCode.MalformedElement);\n return;\n }\n\n var isClosed = false;\n\n if (s.substring(j + content.parsed, j + content.parsed + 2) === \"/>\") {\n isClosed = true;\n } else if (s.substring(j + content.parsed, j + content.parsed + 1) !== \">\") {\n this.onError(XMLParserErrorCode.UnterminatedElement);\n return;\n }\n\n this.onBeginElement(content.name, content.attributes, isClosed);\n j += content.parsed + (isClosed ? 2 : 1);\n break;\n }\n } else {\n while (j < s.length && s[j] !== \"<\") {\n j++;\n }\n\n var text = s.substring(i, j);\n this.onText(this._resolveEntities(text));\n }\n\n i = j;\n }\n }\n }, {\n key: \"onResolveEntity\",\n value: function onResolveEntity(name) {\n return \"&\".concat(name, \";\");\n }\n }, {\n key: \"onPi\",\n value: function onPi(name, value) {}\n }, {\n key: \"onComment\",\n value: function onComment(text) {}\n }, {\n key: \"onCdata\",\n value: function onCdata(text) {}\n }, {\n key: \"onDoctype\",\n value: function onDoctype(doctypeContent) {}\n }, {\n key: \"onText\",\n value: function onText(text) {}\n }, {\n key: \"onBeginElement\",\n value: function onBeginElement(name, attributes, isEmpty) {}\n }, {\n key: \"onEndElement\",\n value: function onEndElement(name) {}\n }, {\n key: \"onError\",\n value: function onError(code) {}\n }]);\n\n return XMLParserBase;\n}();\n\nvar SimpleDOMNode = /*#__PURE__*/function () {\n function SimpleDOMNode(nodeName, nodeValue) {\n _classCallCheck(this, SimpleDOMNode);\n\n this.nodeName = nodeName;\n this.nodeValue = nodeValue;\n Object.defineProperty(this, \"parentNode\", {\n value: null,\n writable: true\n });\n }\n\n _createClass(SimpleDOMNode, [{\n key: \"hasChildNodes\",\n value: function hasChildNodes() {\n return this.childNodes && this.childNodes.length > 0;\n }\n }, {\n key: \"firstChild\",\n get: function get() {\n return this.childNodes && this.childNodes[0];\n }\n }, {\n key: \"nextSibling\",\n get: function get() {\n var childNodes = this.parentNode.childNodes;\n\n if (!childNodes) {\n return undefined;\n }\n\n var index = childNodes.indexOf(this);\n\n if (index === -1) {\n return undefined;\n }\n\n return childNodes[index + 1];\n }\n }, {\n key: \"textContent\",\n get: function get() {\n if (!this.childNodes) {\n return this.nodeValue || \"\";\n }\n\n return this.childNodes.map(function (child) {\n return child.textContent;\n }).join(\"\");\n }\n }]);\n\n return SimpleDOMNode;\n}();\n\nvar SimpleXMLParser = /*#__PURE__*/function (_XMLParserBase) {\n _inherits(SimpleXMLParser, _XMLParserBase);\n\n var _super = _createSuper(SimpleXMLParser);\n\n function SimpleXMLParser() {\n var _this2;\n\n _classCallCheck(this, SimpleXMLParser);\n\n _this2 = _super.call(this);\n _this2._currentFragment = null;\n _this2._stack = null;\n _this2._errorCode = XMLParserErrorCode.NoError;\n return _this2;\n }\n\n _createClass(SimpleXMLParser, [{\n key: \"parseFromString\",\n value: function parseFromString(data) {\n this._currentFragment = [];\n this._stack = [];\n this._errorCode = XMLParserErrorCode.NoError;\n this.parseXml(data);\n\n if (this._errorCode !== XMLParserErrorCode.NoError) {\n return undefined;\n }\n\n var _this$_currentFragmen = _slicedToArray(this._currentFragment, 1),\n documentElement = _this$_currentFragmen[0];\n\n if (!documentElement) {\n return undefined;\n }\n\n return {\n documentElement: documentElement\n };\n }\n }, {\n key: \"onResolveEntity\",\n value: function onResolveEntity(name) {\n switch (name) {\n case \"apos\":\n return \"'\";\n }\n\n return _get(_getPrototypeOf(SimpleXMLParser.prototype), \"onResolveEntity\", this).call(this, name);\n }\n }, {\n key: \"onText\",\n value: function onText(text) {\n if (isWhitespaceString(text)) {\n return;\n }\n\n var node = new SimpleDOMNode(\"#text\", text);\n\n this._currentFragment.push(node);\n }\n }, {\n key: \"onCdata\",\n value: function onCdata(text) {\n var node = new SimpleDOMNode(\"#text\", text);\n\n this._currentFragment.push(node);\n }\n }, {\n key: \"onBeginElement\",\n value: function onBeginElement(name, attributes, isEmpty) {\n var node = new SimpleDOMNode(name);\n node.childNodes = [];\n\n this._currentFragment.push(node);\n\n if (isEmpty) {\n return;\n }\n\n this._stack.push(this._currentFragment);\n\n this._currentFragment = node.childNodes;\n }\n }, {\n key: \"onEndElement\",\n value: function onEndElement(name) {\n this._currentFragment = this._stack.pop() || [];\n var lastElement = this._currentFragment[this._currentFragment.length - 1];\n\n if (!lastElement) {\n return;\n }\n\n for (var i = 0, ii = lastElement.childNodes.length; i < ii; i++) {\n lastElement.childNodes[i].parentNode = lastElement;\n }\n }\n }, {\n key: \"onError\",\n value: function onError(code) {\n this._errorCode = code;\n }\n }]);\n\n return SimpleXMLParser;\n}(XMLParserBase);\n\nexports.SimpleXMLParser = SimpleXMLParser;\n\n/***/ }),\n/* 207 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFDataTransportStream = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar PDFDataTransportStream = /*#__PURE__*/function () {\n function PDFDataTransportStream(params, pdfDataRangeTransport) {\n var _this = this;\n\n _classCallCheck(this, PDFDataTransportStream);\n\n (0, _util.assert)(pdfDataRangeTransport, 'PDFDataTransportStream - missing required \"pdfDataRangeTransport\" argument.');\n this._queuedChunks = [];\n this._progressiveDone = params.progressiveDone || false;\n var initialData = params.initialData;\n\n if (initialData && initialData.length > 0) {\n var buffer = new Uint8Array(initialData).buffer;\n\n this._queuedChunks.push(buffer);\n }\n\n this._pdfDataRangeTransport = pdfDataRangeTransport;\n this._isStreamingSupported = !params.disableStream;\n this._isRangeSupported = !params.disableRange;\n this._contentLength = params.length;\n this._fullRequestReader = null;\n this._rangeReaders = [];\n\n this._pdfDataRangeTransport.addRangeListener(function (begin, chunk) {\n _this._onReceiveData({\n begin: begin,\n chunk: chunk\n });\n });\n\n this._pdfDataRangeTransport.addProgressListener(function (loaded, total) {\n _this._onProgress({\n loaded: loaded,\n total: total\n });\n });\n\n this._pdfDataRangeTransport.addProgressiveReadListener(function (chunk) {\n _this._onReceiveData({\n chunk: chunk\n });\n });\n\n this._pdfDataRangeTransport.addProgressiveDoneListener(function () {\n _this._onProgressiveDone();\n });\n\n this._pdfDataRangeTransport.transportReady();\n }\n\n _createClass(PDFDataTransportStream, [{\n key: \"_onReceiveData\",\n value: function _onReceiveData(args) {\n var buffer = new Uint8Array(args.chunk).buffer;\n\n if (args.begin === undefined) {\n if (this._fullRequestReader) {\n this._fullRequestReader._enqueue(buffer);\n } else {\n this._queuedChunks.push(buffer);\n }\n } else {\n var found = this._rangeReaders.some(function (rangeReader) {\n if (rangeReader._begin !== args.begin) {\n return false;\n }\n\n rangeReader._enqueue(buffer);\n\n return true;\n });\n\n (0, _util.assert)(found, \"_onReceiveData - no `PDFDataTransportStreamRangeReader` instance found.\");\n }\n }\n }, {\n key: \"_onProgress\",\n value: function _onProgress(evt) {\n if (evt.total === undefined) {\n var firstReader = this._rangeReaders[0];\n\n if (firstReader && firstReader.onProgress) {\n firstReader.onProgress({\n loaded: evt.loaded\n });\n }\n } else {\n var fullReader = this._fullRequestReader;\n\n if (fullReader && fullReader.onProgress) {\n fullReader.onProgress({\n loaded: evt.loaded,\n total: evt.total\n });\n }\n }\n }\n }, {\n key: \"_onProgressiveDone\",\n value: function _onProgressiveDone() {\n if (this._fullRequestReader) {\n this._fullRequestReader.progressiveDone();\n }\n\n this._progressiveDone = true;\n }\n }, {\n key: \"_removeRangeReader\",\n value: function _removeRangeReader(reader) {\n var i = this._rangeReaders.indexOf(reader);\n\n if (i >= 0) {\n this._rangeReaders.splice(i, 1);\n }\n }\n }, {\n key: \"getFullReader\",\n value: function getFullReader() {\n (0, _util.assert)(!this._fullRequestReader, \"PDFDataTransportStream.getFullReader can only be called once.\");\n var queuedChunks = this._queuedChunks;\n this._queuedChunks = null;\n return new PDFDataTransportStreamReader(this, queuedChunks, this._progressiveDone);\n }\n }, {\n key: \"getRangeReader\",\n value: function getRangeReader(begin, end) {\n if (end <= this._progressiveDataLength) {\n return null;\n }\n\n var reader = new PDFDataTransportStreamRangeReader(this, begin, end);\n\n this._pdfDataRangeTransport.requestDataRange(begin, end);\n\n this._rangeReaders.push(reader);\n\n return reader;\n }\n }, {\n key: \"cancelAllRequests\",\n value: function cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n\n var readers = this._rangeReaders.slice(0);\n\n readers.forEach(function (rangeReader) {\n rangeReader.cancel(reason);\n });\n\n this._pdfDataRangeTransport.abort();\n }\n }, {\n key: \"_progressiveDataLength\",\n get: function get() {\n return this._fullRequestReader ? this._fullRequestReader._loaded : 0;\n }\n }]);\n\n return PDFDataTransportStream;\n}();\n\nexports.PDFDataTransportStream = PDFDataTransportStream;\n\nvar PDFDataTransportStreamReader = /*#__PURE__*/function () {\n function PDFDataTransportStreamReader(stream, queuedChunks) {\n var progressiveDone = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n _classCallCheck(this, PDFDataTransportStreamReader);\n\n this._stream = stream;\n this._done = progressiveDone || false;\n this._filename = null;\n this._queuedChunks = queuedChunks || [];\n this._loaded = 0;\n\n var _iterator = _createForOfIteratorHelper(this._queuedChunks),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var chunk = _step.value;\n this._loaded += chunk.byteLength;\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n this._requests = [];\n this._headersReady = Promise.resolve();\n stream._fullRequestReader = this;\n this.onProgress = null;\n }\n\n _createClass(PDFDataTransportStreamReader, [{\n key: \"_enqueue\",\n value: function _enqueue(chunk) {\n if (this._done) {\n return;\n }\n\n if (this._requests.length > 0) {\n var requestCapability = this._requests.shift();\n\n requestCapability.resolve({\n value: chunk,\n done: false\n });\n } else {\n this._queuedChunks.push(chunk);\n }\n\n this._loaded += chunk.byteLength;\n }\n }, {\n key: \"read\",\n value: function () {\n var _read = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee() {\n var chunk, requestCapability;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (!(this._queuedChunks.length > 0)) {\n _context.next = 3;\n break;\n }\n\n chunk = this._queuedChunks.shift();\n return _context.abrupt(\"return\", {\n value: chunk,\n done: false\n });\n\n case 3:\n if (!this._done) {\n _context.next = 5;\n break;\n }\n\n return _context.abrupt(\"return\", {\n value: undefined,\n done: true\n });\n\n case 5:\n requestCapability = (0, _util.createPromiseCapability)();\n\n this._requests.push(requestCapability);\n\n return _context.abrupt(\"return\", requestCapability.promise);\n\n case 8:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function read() {\n return _read.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n this._done = true;\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n }\n }, {\n key: \"progressiveDone\",\n value: function progressiveDone() {\n if (this._done) {\n return;\n }\n\n this._done = true;\n }\n }, {\n key: \"headersReady\",\n get: function get() {\n return this._headersReady;\n }\n }, {\n key: \"filename\",\n get: function get() {\n return this._filename;\n }\n }, {\n key: \"isRangeSupported\",\n get: function get() {\n return this._stream._isRangeSupported;\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return this._stream._isStreamingSupported;\n }\n }, {\n key: \"contentLength\",\n get: function get() {\n return this._stream._contentLength;\n }\n }]);\n\n return PDFDataTransportStreamReader;\n}();\n\nvar PDFDataTransportStreamRangeReader = /*#__PURE__*/function () {\n function PDFDataTransportStreamRangeReader(stream, begin, end) {\n _classCallCheck(this, PDFDataTransportStreamRangeReader);\n\n this._stream = stream;\n this._begin = begin;\n this._end = end;\n this._queuedChunk = null;\n this._requests = [];\n this._done = false;\n this.onProgress = null;\n }\n\n _createClass(PDFDataTransportStreamRangeReader, [{\n key: \"_enqueue\",\n value: function _enqueue(chunk) {\n if (this._done) {\n return;\n }\n\n if (this._requests.length === 0) {\n this._queuedChunk = chunk;\n } else {\n var requestsCapability = this._requests.shift();\n\n requestsCapability.resolve({\n value: chunk,\n done: false\n });\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n }\n\n this._done = true;\n\n this._stream._removeRangeReader(this);\n }\n }, {\n key: \"read\",\n value: function () {\n var _read2 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2() {\n var chunk, requestCapability;\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n if (!this._queuedChunk) {\n _context2.next = 4;\n break;\n }\n\n chunk = this._queuedChunk;\n this._queuedChunk = null;\n return _context2.abrupt(\"return\", {\n value: chunk,\n done: false\n });\n\n case 4:\n if (!this._done) {\n _context2.next = 6;\n break;\n }\n\n return _context2.abrupt(\"return\", {\n value: undefined,\n done: true\n });\n\n case 6:\n requestCapability = (0, _util.createPromiseCapability)();\n\n this._requests.push(requestCapability);\n\n return _context2.abrupt(\"return\", requestCapability.promise);\n\n case 9:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function read() {\n return _read2.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n this._done = true;\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n\n this._stream._removeRangeReader(this);\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return false;\n }\n }]);\n\n return PDFDataTransportStreamRangeReader;\n}();\n\n/***/ }),\n/* 208 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.WebGLContext = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar WebGLContext = /*#__PURE__*/function () {\n function WebGLContext(_ref) {\n var _ref$enable = _ref.enable,\n enable = _ref$enable === void 0 ? false : _ref$enable;\n\n _classCallCheck(this, WebGLContext);\n\n this._enabled = enable === true;\n }\n\n _createClass(WebGLContext, [{\n key: \"composeSMask\",\n value: function composeSMask(_ref2) {\n var layer = _ref2.layer,\n mask = _ref2.mask,\n properties = _ref2.properties;\n return WebGLUtils.composeSMask(layer, mask, properties);\n }\n }, {\n key: \"drawFigures\",\n value: function drawFigures(_ref3) {\n var width = _ref3.width,\n height = _ref3.height,\n backgroundColor = _ref3.backgroundColor,\n figures = _ref3.figures,\n context = _ref3.context;\n return WebGLUtils.drawFigures(width, height, backgroundColor, figures, context);\n }\n }, {\n key: \"clear\",\n value: function clear() {\n WebGLUtils.cleanup();\n }\n }, {\n key: \"isEnabled\",\n get: function get() {\n var enabled = this._enabled;\n\n if (enabled) {\n enabled = WebGLUtils.tryInitGL();\n }\n\n return (0, _util.shadow)(this, \"isEnabled\", enabled);\n }\n }]);\n\n return WebGLContext;\n}();\n\nexports.WebGLContext = WebGLContext;\n\nvar WebGLUtils = function WebGLUtilsClosure() {\n function loadShader(gl, code, shaderType) {\n var shader = gl.createShader(shaderType);\n gl.shaderSource(shader, code);\n gl.compileShader(shader);\n var compiled = gl.getShaderParameter(shader, gl.COMPILE_STATUS);\n\n if (!compiled) {\n var errorMsg = gl.getShaderInfoLog(shader);\n throw new Error(\"Error during shader compilation: \" + errorMsg);\n }\n\n return shader;\n }\n\n function createVertexShader(gl, code) {\n return loadShader(gl, code, gl.VERTEX_SHADER);\n }\n\n function createFragmentShader(gl, code) {\n return loadShader(gl, code, gl.FRAGMENT_SHADER);\n }\n\n function createProgram(gl, shaders) {\n var program = gl.createProgram();\n\n for (var i = 0, ii = shaders.length; i < ii; ++i) {\n gl.attachShader(program, shaders[i]);\n }\n\n gl.linkProgram(program);\n var linked = gl.getProgramParameter(program, gl.LINK_STATUS);\n\n if (!linked) {\n var errorMsg = gl.getProgramInfoLog(program);\n throw new Error(\"Error during program linking: \" + errorMsg);\n }\n\n return program;\n }\n\n function createTexture(gl, image, textureId) {\n gl.activeTexture(textureId);\n var texture = gl.createTexture();\n gl.bindTexture(gl.TEXTURE_2D, texture);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST);\n gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, image);\n return texture;\n }\n\n var currentGL, currentCanvas;\n\n function generateGL() {\n if (currentGL) {\n return;\n }\n\n currentCanvas = document.createElement(\"canvas\");\n currentGL = currentCanvas.getContext(\"webgl\", {\n premultipliedalpha: false\n });\n }\n\n var smaskVertexShaderCode = \"\\\n attribute vec2 a_position; \\\n attribute vec2 a_texCoord; \\\n \\\n uniform vec2 u_resolution; \\\n \\\n varying vec2 v_texCoord; \\\n \\\n void main() { \\\n vec2 clipSpace = (a_position / u_resolution) * 2.0 - 1.0; \\\n gl_Position = vec4(clipSpace * vec2(1, -1), 0, 1); \\\n \\\n v_texCoord = a_texCoord; \\\n } \";\n var smaskFragmentShaderCode = \"\\\n precision mediump float; \\\n \\\n uniform vec4 u_backdrop; \\\n uniform int u_subtype; \\\n uniform sampler2D u_image; \\\n uniform sampler2D u_mask; \\\n \\\n varying vec2 v_texCoord; \\\n \\\n void main() { \\\n vec4 imageColor = texture2D(u_image, v_texCoord); \\\n vec4 maskColor = texture2D(u_mask, v_texCoord); \\\n if (u_backdrop.a > 0.0) { \\\n maskColor.rgb = maskColor.rgb * maskColor.a + \\\n u_backdrop.rgb * (1.0 - maskColor.a); \\\n } \\\n float lum; \\\n if (u_subtype == 0) { \\\n lum = maskColor.a; \\\n } else { \\\n lum = maskColor.r * 0.3 + maskColor.g * 0.59 + \\\n maskColor.b * 0.11; \\\n } \\\n imageColor.a *= lum; \\\n imageColor.rgb *= imageColor.a; \\\n gl_FragColor = imageColor; \\\n } \";\n var smaskCache = null;\n\n function initSmaskGL() {\n var canvas, gl;\n generateGL();\n canvas = currentCanvas;\n currentCanvas = null;\n gl = currentGL;\n currentGL = null;\n var vertexShader = createVertexShader(gl, smaskVertexShaderCode);\n var fragmentShader = createFragmentShader(gl, smaskFragmentShaderCode);\n var program = createProgram(gl, [vertexShader, fragmentShader]);\n gl.useProgram(program);\n var cache = {};\n cache.gl = gl;\n cache.canvas = canvas;\n cache.resolutionLocation = gl.getUniformLocation(program, \"u_resolution\");\n cache.positionLocation = gl.getAttribLocation(program, \"a_position\");\n cache.backdropLocation = gl.getUniformLocation(program, \"u_backdrop\");\n cache.subtypeLocation = gl.getUniformLocation(program, \"u_subtype\");\n var texCoordLocation = gl.getAttribLocation(program, \"a_texCoord\");\n var texLayerLocation = gl.getUniformLocation(program, \"u_image\");\n var texMaskLocation = gl.getUniformLocation(program, \"u_mask\");\n var texCoordBuffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, texCoordBuffer);\n gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 1.0, 1.0, 0.0, 1.0, 1.0]), gl.STATIC_DRAW);\n gl.enableVertexAttribArray(texCoordLocation);\n gl.vertexAttribPointer(texCoordLocation, 2, gl.FLOAT, false, 0, 0);\n gl.uniform1i(texLayerLocation, 0);\n gl.uniform1i(texMaskLocation, 1);\n smaskCache = cache;\n }\n\n function composeSMask(layer, mask, properties) {\n var width = layer.width,\n height = layer.height;\n\n if (!smaskCache) {\n initSmaskGL();\n }\n\n var cache = smaskCache,\n canvas = cache.canvas,\n gl = cache.gl;\n canvas.width = width;\n canvas.height = height;\n gl.viewport(0, 0, gl.drawingBufferWidth, gl.drawingBufferHeight);\n gl.uniform2f(cache.resolutionLocation, width, height);\n\n if (properties.backdrop) {\n gl.uniform4f(cache.resolutionLocation, properties.backdrop[0], properties.backdrop[1], properties.backdrop[2], 1);\n } else {\n gl.uniform4f(cache.resolutionLocation, 0, 0, 0, 0);\n }\n\n gl.uniform1i(cache.subtypeLocation, properties.subtype === \"Luminosity\" ? 1 : 0);\n var texture = createTexture(gl, layer, gl.TEXTURE0);\n var maskTexture = createTexture(gl, mask, gl.TEXTURE1);\n var buffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, buffer);\n gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([0, 0, width, 0, 0, height, 0, height, width, 0, width, height]), gl.STATIC_DRAW);\n gl.enableVertexAttribArray(cache.positionLocation);\n gl.vertexAttribPointer(cache.positionLocation, 2, gl.FLOAT, false, 0, 0);\n gl.clearColor(0, 0, 0, 0);\n gl.enable(gl.BLEND);\n gl.blendFunc(gl.ONE, gl.ONE_MINUS_SRC_ALPHA);\n gl.clear(gl.COLOR_BUFFER_BIT);\n gl.drawArrays(gl.TRIANGLES, 0, 6);\n gl.flush();\n gl.deleteTexture(texture);\n gl.deleteTexture(maskTexture);\n gl.deleteBuffer(buffer);\n return canvas;\n }\n\n var figuresVertexShaderCode = \"\\\n attribute vec2 a_position; \\\n attribute vec3 a_color; \\\n \\\n uniform vec2 u_resolution; \\\n uniform vec2 u_scale; \\\n uniform vec2 u_offset; \\\n \\\n varying vec4 v_color; \\\n \\\n void main() { \\\n vec2 position = (a_position + u_offset) * u_scale; \\\n vec2 clipSpace = (position / u_resolution) * 2.0 - 1.0; \\\n gl_Position = vec4(clipSpace * vec2(1, -1), 0, 1); \\\n \\\n v_color = vec4(a_color / 255.0, 1.0); \\\n } \";\n var figuresFragmentShaderCode = \"\\\n precision mediump float; \\\n \\\n varying vec4 v_color; \\\n \\\n void main() { \\\n gl_FragColor = v_color; \\\n } \";\n var figuresCache = null;\n\n function initFiguresGL() {\n var canvas, gl;\n generateGL();\n canvas = currentCanvas;\n currentCanvas = null;\n gl = currentGL;\n currentGL = null;\n var vertexShader = createVertexShader(gl, figuresVertexShaderCode);\n var fragmentShader = createFragmentShader(gl, figuresFragmentShaderCode);\n var program = createProgram(gl, [vertexShader, fragmentShader]);\n gl.useProgram(program);\n var cache = {};\n cache.gl = gl;\n cache.canvas = canvas;\n cache.resolutionLocation = gl.getUniformLocation(program, \"u_resolution\");\n cache.scaleLocation = gl.getUniformLocation(program, \"u_scale\");\n cache.offsetLocation = gl.getUniformLocation(program, \"u_offset\");\n cache.positionLocation = gl.getAttribLocation(program, \"a_position\");\n cache.colorLocation = gl.getAttribLocation(program, \"a_color\");\n figuresCache = cache;\n }\n\n function drawFigures(width, height, backgroundColor, figures, context) {\n if (!figuresCache) {\n initFiguresGL();\n }\n\n var cache = figuresCache,\n canvas = cache.canvas,\n gl = cache.gl;\n canvas.width = width;\n canvas.height = height;\n gl.viewport(0, 0, gl.drawingBufferWidth, gl.drawingBufferHeight);\n gl.uniform2f(cache.resolutionLocation, width, height);\n var count = 0;\n var i, ii, rows;\n\n for (i = 0, ii = figures.length; i < ii; i++) {\n switch (figures[i].type) {\n case \"lattice\":\n rows = figures[i].coords.length / figures[i].verticesPerRow | 0;\n count += (rows - 1) * (figures[i].verticesPerRow - 1) * 6;\n break;\n\n case \"triangles\":\n count += figures[i].coords.length;\n break;\n }\n }\n\n var coords = new Float32Array(count * 2);\n var colors = new Uint8Array(count * 3);\n var coordsMap = context.coords,\n colorsMap = context.colors;\n var pIndex = 0,\n cIndex = 0;\n\n for (i = 0, ii = figures.length; i < ii; i++) {\n var figure = figures[i],\n ps = figure.coords,\n cs = figure.colors;\n\n switch (figure.type) {\n case \"lattice\":\n var cols = figure.verticesPerRow;\n rows = ps.length / cols | 0;\n\n for (var row = 1; row < rows; row++) {\n var offset = row * cols + 1;\n\n for (var col = 1; col < cols; col++, offset++) {\n coords[pIndex] = coordsMap[ps[offset - cols - 1]];\n coords[pIndex + 1] = coordsMap[ps[offset - cols - 1] + 1];\n coords[pIndex + 2] = coordsMap[ps[offset - cols]];\n coords[pIndex + 3] = coordsMap[ps[offset - cols] + 1];\n coords[pIndex + 4] = coordsMap[ps[offset - 1]];\n coords[pIndex + 5] = coordsMap[ps[offset - 1] + 1];\n colors[cIndex] = colorsMap[cs[offset - cols - 1]];\n colors[cIndex + 1] = colorsMap[cs[offset - cols - 1] + 1];\n colors[cIndex + 2] = colorsMap[cs[offset - cols - 1] + 2];\n colors[cIndex + 3] = colorsMap[cs[offset - cols]];\n colors[cIndex + 4] = colorsMap[cs[offset - cols] + 1];\n colors[cIndex + 5] = colorsMap[cs[offset - cols] + 2];\n colors[cIndex + 6] = colorsMap[cs[offset - 1]];\n colors[cIndex + 7] = colorsMap[cs[offset - 1] + 1];\n colors[cIndex + 8] = colorsMap[cs[offset - 1] + 2];\n coords[pIndex + 6] = coords[pIndex + 2];\n coords[pIndex + 7] = coords[pIndex + 3];\n coords[pIndex + 8] = coords[pIndex + 4];\n coords[pIndex + 9] = coords[pIndex + 5];\n coords[pIndex + 10] = coordsMap[ps[offset]];\n coords[pIndex + 11] = coordsMap[ps[offset] + 1];\n colors[cIndex + 9] = colors[cIndex + 3];\n colors[cIndex + 10] = colors[cIndex + 4];\n colors[cIndex + 11] = colors[cIndex + 5];\n colors[cIndex + 12] = colors[cIndex + 6];\n colors[cIndex + 13] = colors[cIndex + 7];\n colors[cIndex + 14] = colors[cIndex + 8];\n colors[cIndex + 15] = colorsMap[cs[offset]];\n colors[cIndex + 16] = colorsMap[cs[offset] + 1];\n colors[cIndex + 17] = colorsMap[cs[offset] + 2];\n pIndex += 12;\n cIndex += 18;\n }\n }\n\n break;\n\n case \"triangles\":\n for (var j = 0, jj = ps.length; j < jj; j++) {\n coords[pIndex] = coordsMap[ps[j]];\n coords[pIndex + 1] = coordsMap[ps[j] + 1];\n colors[cIndex] = colorsMap[cs[j]];\n colors[cIndex + 1] = colorsMap[cs[j] + 1];\n colors[cIndex + 2] = colorsMap[cs[j] + 2];\n pIndex += 2;\n cIndex += 3;\n }\n\n break;\n }\n }\n\n if (backgroundColor) {\n gl.clearColor(backgroundColor[0] / 255, backgroundColor[1] / 255, backgroundColor[2] / 255, 1.0);\n } else {\n gl.clearColor(0, 0, 0, 0);\n }\n\n gl.clear(gl.COLOR_BUFFER_BIT);\n var coordsBuffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, coordsBuffer);\n gl.bufferData(gl.ARRAY_BUFFER, coords, gl.STATIC_DRAW);\n gl.enableVertexAttribArray(cache.positionLocation);\n gl.vertexAttribPointer(cache.positionLocation, 2, gl.FLOAT, false, 0, 0);\n var colorsBuffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, colorsBuffer);\n gl.bufferData(gl.ARRAY_BUFFER, colors, gl.STATIC_DRAW);\n gl.enableVertexAttribArray(cache.colorLocation);\n gl.vertexAttribPointer(cache.colorLocation, 3, gl.UNSIGNED_BYTE, false, 0, 0);\n gl.uniform2f(cache.scaleLocation, context.scaleX, context.scaleY);\n gl.uniform2f(cache.offsetLocation, context.offsetX, context.offsetY);\n gl.drawArrays(gl.TRIANGLES, 0, count);\n gl.flush();\n gl.deleteBuffer(coordsBuffer);\n gl.deleteBuffer(colorsBuffer);\n return canvas;\n }\n\n return {\n tryInitGL: function tryInitGL() {\n try {\n generateGL();\n return !!currentGL;\n } catch (ex) {}\n\n return false;\n },\n composeSMask: composeSMask,\n drawFigures: drawFigures,\n cleanup: function cleanup() {\n if (smaskCache && smaskCache.canvas) {\n smaskCache.canvas.width = 0;\n smaskCache.canvas.height = 0;\n }\n\n if (figuresCache && figuresCache.canvas) {\n figuresCache.canvas.width = 0;\n figuresCache.canvas.height = 0;\n }\n\n smaskCache = null;\n figuresCache = null;\n }\n };\n}();\n\n/***/ }),\n/* 209 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.AnnotationLayer = void 0;\n\nvar _display_utils = __w_pdfjs_require__(1);\n\nvar _util = __w_pdfjs_require__(5);\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _get(target, property, receiver) { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }\n\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar AnnotationElementFactory = /*#__PURE__*/function () {\n function AnnotationElementFactory() {\n _classCallCheck(this, AnnotationElementFactory);\n }\n\n _createClass(AnnotationElementFactory, null, [{\n key: \"create\",\n value: function create(parameters) {\n var subtype = parameters.data.annotationType;\n\n switch (subtype) {\n case _util.AnnotationType.LINK:\n return new LinkAnnotationElement(parameters);\n\n case _util.AnnotationType.TEXT:\n return new TextAnnotationElement(parameters);\n\n case _util.AnnotationType.WIDGET:\n var fieldType = parameters.data.fieldType;\n\n switch (fieldType) {\n case \"Tx\":\n return new TextWidgetAnnotationElement(parameters);\n\n case \"Btn\":\n if (parameters.data.radioButton) {\n return new RadioButtonWidgetAnnotationElement(parameters);\n } else if (parameters.data.checkBox) {\n return new CheckboxWidgetAnnotationElement(parameters);\n }\n\n return new PushButtonWidgetAnnotationElement(parameters);\n\n case \"Ch\":\n return new ChoiceWidgetAnnotationElement(parameters);\n }\n\n return new WidgetAnnotationElement(parameters);\n\n case _util.AnnotationType.POPUP:\n return new PopupAnnotationElement(parameters);\n\n case _util.AnnotationType.FREETEXT:\n return new FreeTextAnnotationElement(parameters);\n\n case _util.AnnotationType.LINE:\n return new LineAnnotationElement(parameters);\n\n case _util.AnnotationType.SQUARE:\n return new SquareAnnotationElement(parameters);\n\n case _util.AnnotationType.CIRCLE:\n return new CircleAnnotationElement(parameters);\n\n case _util.AnnotationType.POLYLINE:\n return new PolylineAnnotationElement(parameters);\n\n case _util.AnnotationType.CARET:\n return new CaretAnnotationElement(parameters);\n\n case _util.AnnotationType.INK:\n return new InkAnnotationElement(parameters);\n\n case _util.AnnotationType.POLYGON:\n return new PolygonAnnotationElement(parameters);\n\n case _util.AnnotationType.HIGHLIGHT:\n return new HighlightAnnotationElement(parameters);\n\n case _util.AnnotationType.UNDERLINE:\n return new UnderlineAnnotationElement(parameters);\n\n case _util.AnnotationType.SQUIGGLY:\n return new SquigglyAnnotationElement(parameters);\n\n case _util.AnnotationType.STRIKEOUT:\n return new StrikeOutAnnotationElement(parameters);\n\n case _util.AnnotationType.STAMP:\n return new StampAnnotationElement(parameters);\n\n case _util.AnnotationType.FILEATTACHMENT:\n return new FileAttachmentAnnotationElement(parameters);\n\n default:\n return new AnnotationElement(parameters);\n }\n }\n }]);\n\n return AnnotationElementFactory;\n}();\n\nvar AnnotationElement = /*#__PURE__*/function () {\n function AnnotationElement(parameters) {\n var isRenderable = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var ignoreBorder = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n _classCallCheck(this, AnnotationElement);\n\n this.isRenderable = isRenderable;\n this.data = parameters.data;\n this.layer = parameters.layer;\n this.page = parameters.page;\n this.viewport = parameters.viewport;\n this.linkService = parameters.linkService;\n this.downloadManager = parameters.downloadManager;\n this.imageResourcesPath = parameters.imageResourcesPath;\n this.renderInteractiveForms = parameters.renderInteractiveForms;\n this.svgFactory = parameters.svgFactory;\n\n if (isRenderable) {\n this.container = this._createContainer(ignoreBorder);\n }\n }\n\n _createClass(AnnotationElement, [{\n key: \"_createContainer\",\n value: function _createContainer() {\n var ignoreBorder = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var data = this.data,\n page = this.page,\n viewport = this.viewport;\n var container = document.createElement(\"section\");\n var width = data.rect[2] - data.rect[0];\n var height = data.rect[3] - data.rect[1];\n container.setAttribute(\"data-annotation-id\", data.id);\n\n var rect = _util.Util.normalizeRect([data.rect[0], page.view[3] - data.rect[1] + page.view[1], data.rect[2], page.view[3] - data.rect[3] + page.view[1]]);\n\n container.style.transform = \"matrix(\".concat(viewport.transform.join(\",\"), \")\");\n container.style.transformOrigin = \"-\".concat(rect[0], \"px -\").concat(rect[1], \"px\");\n\n if (!ignoreBorder && data.borderStyle.width > 0) {\n container.style.borderWidth = \"\".concat(data.borderStyle.width, \"px\");\n\n if (data.borderStyle.style !== _util.AnnotationBorderStyleType.UNDERLINE) {\n width = width - 2 * data.borderStyle.width;\n height = height - 2 * data.borderStyle.width;\n }\n\n var horizontalRadius = data.borderStyle.horizontalCornerRadius;\n var verticalRadius = data.borderStyle.verticalCornerRadius;\n\n if (horizontalRadius > 0 || verticalRadius > 0) {\n var radius = \"\".concat(horizontalRadius, \"px / \").concat(verticalRadius, \"px\");\n container.style.borderRadius = radius;\n }\n\n switch (data.borderStyle.style) {\n case _util.AnnotationBorderStyleType.SOLID:\n container.style.borderStyle = \"solid\";\n break;\n\n case _util.AnnotationBorderStyleType.DASHED:\n container.style.borderStyle = \"dashed\";\n break;\n\n case _util.AnnotationBorderStyleType.BEVELED:\n (0, _util.warn)(\"Unimplemented border style: beveled\");\n break;\n\n case _util.AnnotationBorderStyleType.INSET:\n (0, _util.warn)(\"Unimplemented border style: inset\");\n break;\n\n case _util.AnnotationBorderStyleType.UNDERLINE:\n container.style.borderBottomStyle = \"solid\";\n break;\n\n default:\n break;\n }\n\n if (data.color) {\n container.style.borderColor = _util.Util.makeCssRgb(data.color[0] | 0, data.color[1] | 0, data.color[2] | 0);\n } else {\n container.style.borderWidth = 0;\n }\n }\n\n container.style.left = \"\".concat(rect[0], \"px\");\n container.style.top = \"\".concat(rect[1], \"px\");\n container.style.width = \"\".concat(width, \"px\");\n container.style.height = \"\".concat(height, \"px\");\n return container;\n }\n }, {\n key: \"_createPopup\",\n value: function _createPopup(container, trigger, data) {\n if (!trigger) {\n trigger = document.createElement(\"div\");\n trigger.style.height = container.style.height;\n trigger.style.width = container.style.width;\n container.appendChild(trigger);\n }\n\n var popupElement = new PopupElement({\n container: container,\n trigger: trigger,\n color: data.color,\n title: data.title,\n modificationDate: data.modificationDate,\n contents: data.contents,\n hideWrapper: true\n });\n var popup = popupElement.render();\n popup.style.left = container.style.width;\n container.appendChild(popup);\n }\n }, {\n key: \"render\",\n value: function render() {\n (0, _util.unreachable)(\"Abstract method `AnnotationElement.render` called\");\n }\n }]);\n\n return AnnotationElement;\n}();\n\nvar LinkAnnotationElement = /*#__PURE__*/function (_AnnotationElement) {\n _inherits(LinkAnnotationElement, _AnnotationElement);\n\n var _super = _createSuper(LinkAnnotationElement);\n\n function LinkAnnotationElement(parameters) {\n _classCallCheck(this, LinkAnnotationElement);\n\n var isRenderable = !!(parameters.data.url || parameters.data.dest || parameters.data.action);\n return _super.call(this, parameters, isRenderable);\n }\n\n _createClass(LinkAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"linkAnnotation\";\n var data = this.data,\n linkService = this.linkService;\n var link = document.createElement(\"a\");\n\n if (data.url) {\n (0, _display_utils.addLinkAttributes)(link, {\n url: data.url,\n target: data.newWindow ? _display_utils.LinkTarget.BLANK : linkService.externalLinkTarget,\n rel: linkService.externalLinkRel,\n enabled: linkService.externalLinkEnabled\n });\n } else if (data.action) {\n this._bindNamedAction(link, data.action);\n } else {\n this._bindLink(link, data.dest);\n }\n\n this.container.appendChild(link);\n return this.container;\n }\n }, {\n key: \"_bindLink\",\n value: function _bindLink(link, destination) {\n var _this = this;\n\n link.href = this.linkService.getDestinationHash(destination);\n\n link.onclick = function () {\n if (destination) {\n _this.linkService.navigateTo(destination);\n }\n\n return false;\n };\n\n if (destination) {\n link.className = \"internalLink\";\n }\n }\n }, {\n key: \"_bindNamedAction\",\n value: function _bindNamedAction(link, action) {\n var _this2 = this;\n\n link.href = this.linkService.getAnchorUrl(\"\");\n\n link.onclick = function () {\n _this2.linkService.executeNamedAction(action);\n\n return false;\n };\n\n link.className = \"internalLink\";\n }\n }]);\n\n return LinkAnnotationElement;\n}(AnnotationElement);\n\nvar TextAnnotationElement = /*#__PURE__*/function (_AnnotationElement2) {\n _inherits(TextAnnotationElement, _AnnotationElement2);\n\n var _super2 = _createSuper(TextAnnotationElement);\n\n function TextAnnotationElement(parameters) {\n _classCallCheck(this, TextAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super2.call(this, parameters, isRenderable);\n }\n\n _createClass(TextAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"textAnnotation\";\n var image = document.createElement(\"img\");\n image.style.height = this.container.style.height;\n image.style.width = this.container.style.width;\n image.src = this.imageResourcesPath + \"annotation-\" + this.data.name.toLowerCase() + \".svg\";\n image.alt = \"[{{type}} Annotation]\";\n image.dataset.l10nId = \"text_annotation_type\";\n image.dataset.l10nArgs = JSON.stringify({\n type: this.data.name\n });\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, image, this.data);\n }\n\n this.container.appendChild(image);\n return this.container;\n }\n }]);\n\n return TextAnnotationElement;\n}(AnnotationElement);\n\nvar WidgetAnnotationElement = /*#__PURE__*/function (_AnnotationElement3) {\n _inherits(WidgetAnnotationElement, _AnnotationElement3);\n\n var _super3 = _createSuper(WidgetAnnotationElement);\n\n function WidgetAnnotationElement() {\n _classCallCheck(this, WidgetAnnotationElement);\n\n return _super3.apply(this, arguments);\n }\n\n _createClass(WidgetAnnotationElement, [{\n key: \"render\",\n value: function render() {\n return this.container;\n }\n }]);\n\n return WidgetAnnotationElement;\n}(AnnotationElement);\n\nvar TextWidgetAnnotationElement = /*#__PURE__*/function (_WidgetAnnotationElem) {\n _inherits(TextWidgetAnnotationElement, _WidgetAnnotationElem);\n\n var _super4 = _createSuper(TextWidgetAnnotationElement);\n\n function TextWidgetAnnotationElement(parameters) {\n _classCallCheck(this, TextWidgetAnnotationElement);\n\n var isRenderable = parameters.renderInteractiveForms || !parameters.data.hasAppearance && !!parameters.data.fieldValue;\n return _super4.call(this, parameters, isRenderable);\n }\n\n _createClass(TextWidgetAnnotationElement, [{\n key: \"render\",\n value: function render() {\n var TEXT_ALIGNMENT = [\"left\", \"center\", \"right\"];\n this.container.className = \"textWidgetAnnotation\";\n var element = null;\n\n if (this.renderInteractiveForms) {\n if (this.data.multiLine) {\n element = document.createElement(\"textarea\");\n element.textContent = this.data.fieldValue;\n } else {\n element = document.createElement(\"input\");\n element.type = \"text\";\n element.setAttribute(\"value\", this.data.fieldValue);\n }\n\n element.disabled = this.data.readOnly;\n element.name = this.data.fieldName;\n\n if (this.data.maxLen !== null) {\n element.maxLength = this.data.maxLen;\n }\n\n if (this.data.comb) {\n var fieldWidth = this.data.rect[2] - this.data.rect[0];\n var combWidth = fieldWidth / this.data.maxLen;\n element.classList.add(\"comb\");\n element.style.letterSpacing = \"calc(\".concat(combWidth, \"px - 1ch)\");\n }\n } else {\n element = document.createElement(\"div\");\n element.textContent = this.data.fieldValue;\n element.style.verticalAlign = \"middle\";\n element.style.display = \"table-cell\";\n var font = null;\n\n if (this.data.fontRefName && this.page.commonObjs.has(this.data.fontRefName)) {\n font = this.page.commonObjs.get(this.data.fontRefName);\n }\n\n this._setTextStyle(element, font);\n }\n\n if (this.data.textAlignment !== null) {\n element.style.textAlign = TEXT_ALIGNMENT[this.data.textAlignment];\n }\n\n this.container.appendChild(element);\n return this.container;\n }\n }, {\n key: \"_setTextStyle\",\n value: function _setTextStyle(element, font) {\n var style = element.style;\n style.fontSize = \"\".concat(this.data.fontSize, \"px\");\n style.direction = this.data.fontDirection < 0 ? \"rtl\" : \"ltr\";\n\n if (!font) {\n return;\n }\n\n var bold = \"normal\";\n\n if (font.black) {\n bold = \"900\";\n } else if (font.bold) {\n bold = \"bold\";\n }\n\n style.fontWeight = bold;\n style.fontStyle = font.italic ? \"italic\" : \"normal\";\n var fontFamily = font.loadedName ? \"\\\"\".concat(font.loadedName, \"\\\", \") : \"\";\n var fallbackName = font.fallbackName || \"Helvetica, sans-serif\";\n style.fontFamily = fontFamily + fallbackName;\n }\n }]);\n\n return TextWidgetAnnotationElement;\n}(WidgetAnnotationElement);\n\nvar CheckboxWidgetAnnotationElement = /*#__PURE__*/function (_WidgetAnnotationElem2) {\n _inherits(CheckboxWidgetAnnotationElement, _WidgetAnnotationElem2);\n\n var _super5 = _createSuper(CheckboxWidgetAnnotationElement);\n\n function CheckboxWidgetAnnotationElement(parameters) {\n _classCallCheck(this, CheckboxWidgetAnnotationElement);\n\n return _super5.call(this, parameters, parameters.renderInteractiveForms);\n }\n\n _createClass(CheckboxWidgetAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"buttonWidgetAnnotation checkBox\";\n var element = document.createElement(\"input\");\n element.disabled = this.data.readOnly;\n element.type = \"checkbox\";\n element.name = this.data.fieldName;\n\n if (this.data.fieldValue && this.data.fieldValue !== \"Off\") {\n element.setAttribute(\"checked\", true);\n }\n\n this.container.appendChild(element);\n return this.container;\n }\n }]);\n\n return CheckboxWidgetAnnotationElement;\n}(WidgetAnnotationElement);\n\nvar RadioButtonWidgetAnnotationElement = /*#__PURE__*/function (_WidgetAnnotationElem3) {\n _inherits(RadioButtonWidgetAnnotationElement, _WidgetAnnotationElem3);\n\n var _super6 = _createSuper(RadioButtonWidgetAnnotationElement);\n\n function RadioButtonWidgetAnnotationElement(parameters) {\n _classCallCheck(this, RadioButtonWidgetAnnotationElement);\n\n return _super6.call(this, parameters, parameters.renderInteractiveForms);\n }\n\n _createClass(RadioButtonWidgetAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"buttonWidgetAnnotation radioButton\";\n var element = document.createElement(\"input\");\n element.disabled = this.data.readOnly;\n element.type = \"radio\";\n element.name = this.data.fieldName;\n\n if (this.data.fieldValue === this.data.buttonValue) {\n element.setAttribute(\"checked\", true);\n }\n\n this.container.appendChild(element);\n return this.container;\n }\n }]);\n\n return RadioButtonWidgetAnnotationElement;\n}(WidgetAnnotationElement);\n\nvar PushButtonWidgetAnnotationElement = /*#__PURE__*/function (_LinkAnnotationElemen) {\n _inherits(PushButtonWidgetAnnotationElement, _LinkAnnotationElemen);\n\n var _super7 = _createSuper(PushButtonWidgetAnnotationElement);\n\n function PushButtonWidgetAnnotationElement() {\n _classCallCheck(this, PushButtonWidgetAnnotationElement);\n\n return _super7.apply(this, arguments);\n }\n\n _createClass(PushButtonWidgetAnnotationElement, [{\n key: \"render\",\n value: function render() {\n var container = _get(_getPrototypeOf(PushButtonWidgetAnnotationElement.prototype), \"render\", this).call(this);\n\n container.className = \"buttonWidgetAnnotation pushButton\";\n return container;\n }\n }]);\n\n return PushButtonWidgetAnnotationElement;\n}(LinkAnnotationElement);\n\nvar ChoiceWidgetAnnotationElement = /*#__PURE__*/function (_WidgetAnnotationElem4) {\n _inherits(ChoiceWidgetAnnotationElement, _WidgetAnnotationElem4);\n\n var _super8 = _createSuper(ChoiceWidgetAnnotationElement);\n\n function ChoiceWidgetAnnotationElement(parameters) {\n _classCallCheck(this, ChoiceWidgetAnnotationElement);\n\n return _super8.call(this, parameters, parameters.renderInteractiveForms);\n }\n\n _createClass(ChoiceWidgetAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"choiceWidgetAnnotation\";\n var selectElement = document.createElement(\"select\");\n selectElement.disabled = this.data.readOnly;\n selectElement.name = this.data.fieldName;\n\n if (!this.data.combo) {\n selectElement.size = this.data.options.length;\n\n if (this.data.multiSelect) {\n selectElement.multiple = true;\n }\n }\n\n var _iterator = _createForOfIteratorHelper(this.data.options),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var option = _step.value;\n var optionElement = document.createElement(\"option\");\n optionElement.textContent = option.displayValue;\n optionElement.value = option.exportValue;\n\n if (this.data.fieldValue.includes(option.displayValue)) {\n optionElement.setAttribute(\"selected\", true);\n }\n\n selectElement.appendChild(optionElement);\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n this.container.appendChild(selectElement);\n return this.container;\n }\n }]);\n\n return ChoiceWidgetAnnotationElement;\n}(WidgetAnnotationElement);\n\nvar PopupAnnotationElement = /*#__PURE__*/function (_AnnotationElement4) {\n _inherits(PopupAnnotationElement, _AnnotationElement4);\n\n var _super9 = _createSuper(PopupAnnotationElement);\n\n function PopupAnnotationElement(parameters) {\n _classCallCheck(this, PopupAnnotationElement);\n\n var isRenderable = !!(parameters.data.title || parameters.data.contents);\n return _super9.call(this, parameters, isRenderable);\n }\n\n _createClass(PopupAnnotationElement, [{\n key: \"render\",\n value: function render() {\n var IGNORE_TYPES = [\"Line\", \"Square\", \"Circle\", \"PolyLine\", \"Polygon\", \"Ink\"];\n this.container.className = \"popupAnnotation\";\n\n if (IGNORE_TYPES.includes(this.data.parentType)) {\n return this.container;\n }\n\n var selector = \"[data-annotation-id=\\\"\".concat(this.data.parentId, \"\\\"]\");\n var parentElement = this.layer.querySelector(selector);\n\n if (!parentElement) {\n return this.container;\n }\n\n var popup = new PopupElement({\n container: this.container,\n trigger: parentElement,\n color: this.data.color,\n title: this.data.title,\n modificationDate: this.data.modificationDate,\n contents: this.data.contents\n });\n var parentLeft = parseFloat(parentElement.style.left);\n var parentWidth = parseFloat(parentElement.style.width);\n this.container.style.transformOrigin = \"-\".concat(parentLeft + parentWidth, \"px -\").concat(parentElement.style.top);\n this.container.style.left = \"\".concat(parentLeft + parentWidth, \"px\");\n this.container.appendChild(popup.render());\n return this.container;\n }\n }]);\n\n return PopupAnnotationElement;\n}(AnnotationElement);\n\nvar PopupElement = /*#__PURE__*/function () {\n function PopupElement(parameters) {\n _classCallCheck(this, PopupElement);\n\n this.container = parameters.container;\n this.trigger = parameters.trigger;\n this.color = parameters.color;\n this.title = parameters.title;\n this.modificationDate = parameters.modificationDate;\n this.contents = parameters.contents;\n this.hideWrapper = parameters.hideWrapper || false;\n this.pinned = false;\n }\n\n _createClass(PopupElement, [{\n key: \"render\",\n value: function render() {\n var BACKGROUND_ENLIGHT = 0.7;\n var wrapper = document.createElement(\"div\");\n wrapper.className = \"popupWrapper\";\n this.hideElement = this.hideWrapper ? wrapper : this.container;\n this.hideElement.setAttribute(\"hidden\", true);\n var popup = document.createElement(\"div\");\n popup.className = \"popup\";\n var color = this.color;\n\n if (color) {\n var r = BACKGROUND_ENLIGHT * (255 - color[0]) + color[0];\n var g = BACKGROUND_ENLIGHT * (255 - color[1]) + color[1];\n var b = BACKGROUND_ENLIGHT * (255 - color[2]) + color[2];\n popup.style.backgroundColor = _util.Util.makeCssRgb(r | 0, g | 0, b | 0);\n }\n\n var title = document.createElement(\"h1\");\n title.textContent = this.title;\n popup.appendChild(title);\n\n var dateObject = _display_utils.PDFDateString.toDateObject(this.modificationDate);\n\n if (dateObject) {\n var modificationDate = document.createElement(\"span\");\n modificationDate.textContent = \"{{date}}, {{time}}\";\n modificationDate.dataset.l10nId = \"annotation_date_string\";\n modificationDate.dataset.l10nArgs = JSON.stringify({\n date: dateObject.toLocaleDateString(),\n time: dateObject.toLocaleTimeString()\n });\n popup.appendChild(modificationDate);\n }\n\n var contents = this._formatContents(this.contents);\n\n popup.appendChild(contents);\n this.trigger.addEventListener(\"click\", this._toggle.bind(this));\n this.trigger.addEventListener(\"mouseover\", this._show.bind(this, false));\n this.trigger.addEventListener(\"mouseout\", this._hide.bind(this, false));\n popup.addEventListener(\"click\", this._hide.bind(this, true));\n wrapper.appendChild(popup);\n return wrapper;\n }\n }, {\n key: \"_formatContents\",\n value: function _formatContents(contents) {\n var p = document.createElement(\"p\");\n var lines = contents.split(/(?:\\r\\n?|\\n)/);\n\n for (var i = 0, ii = lines.length; i < ii; ++i) {\n var line = lines[i];\n p.appendChild(document.createTextNode(line));\n\n if (i < ii - 1) {\n p.appendChild(document.createElement(\"br\"));\n }\n }\n\n return p;\n }\n }, {\n key: \"_toggle\",\n value: function _toggle() {\n if (this.pinned) {\n this._hide(true);\n } else {\n this._show(true);\n }\n }\n }, {\n key: \"_show\",\n value: function _show() {\n var pin = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (pin) {\n this.pinned = true;\n }\n\n if (this.hideElement.hasAttribute(\"hidden\")) {\n this.hideElement.removeAttribute(\"hidden\");\n this.container.style.zIndex += 1;\n }\n }\n }, {\n key: \"_hide\",\n value: function _hide() {\n var unpin = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n if (unpin) {\n this.pinned = false;\n }\n\n if (!this.hideElement.hasAttribute(\"hidden\") && !this.pinned) {\n this.hideElement.setAttribute(\"hidden\", true);\n this.container.style.zIndex -= 1;\n }\n }\n }]);\n\n return PopupElement;\n}();\n\nvar FreeTextAnnotationElement = /*#__PURE__*/function (_AnnotationElement5) {\n _inherits(FreeTextAnnotationElement, _AnnotationElement5);\n\n var _super10 = _createSuper(FreeTextAnnotationElement);\n\n function FreeTextAnnotationElement(parameters) {\n _classCallCheck(this, FreeTextAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super10.call(this, parameters, isRenderable, true);\n }\n\n _createClass(FreeTextAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"freeTextAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return FreeTextAnnotationElement;\n}(AnnotationElement);\n\nvar LineAnnotationElement = /*#__PURE__*/function (_AnnotationElement6) {\n _inherits(LineAnnotationElement, _AnnotationElement6);\n\n var _super11 = _createSuper(LineAnnotationElement);\n\n function LineAnnotationElement(parameters) {\n _classCallCheck(this, LineAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super11.call(this, parameters, isRenderable, true);\n }\n\n _createClass(LineAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"lineAnnotation\";\n var data = this.data;\n var width = data.rect[2] - data.rect[0];\n var height = data.rect[3] - data.rect[1];\n var svg = this.svgFactory.create(width, height);\n var line = this.svgFactory.createElement(\"svg:line\");\n line.setAttribute(\"x1\", data.rect[2] - data.lineCoordinates[0]);\n line.setAttribute(\"y1\", data.rect[3] - data.lineCoordinates[1]);\n line.setAttribute(\"x2\", data.rect[2] - data.lineCoordinates[2]);\n line.setAttribute(\"y2\", data.rect[3] - data.lineCoordinates[3]);\n line.setAttribute(\"stroke-width\", data.borderStyle.width || 1);\n line.setAttribute(\"stroke\", \"transparent\");\n svg.appendChild(line);\n this.container.append(svg);\n\n this._createPopup(this.container, line, data);\n\n return this.container;\n }\n }]);\n\n return LineAnnotationElement;\n}(AnnotationElement);\n\nvar SquareAnnotationElement = /*#__PURE__*/function (_AnnotationElement7) {\n _inherits(SquareAnnotationElement, _AnnotationElement7);\n\n var _super12 = _createSuper(SquareAnnotationElement);\n\n function SquareAnnotationElement(parameters) {\n _classCallCheck(this, SquareAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super12.call(this, parameters, isRenderable, true);\n }\n\n _createClass(SquareAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"squareAnnotation\";\n var data = this.data;\n var width = data.rect[2] - data.rect[0];\n var height = data.rect[3] - data.rect[1];\n var svg = this.svgFactory.create(width, height);\n var borderWidth = data.borderStyle.width;\n var square = this.svgFactory.createElement(\"svg:rect\");\n square.setAttribute(\"x\", borderWidth / 2);\n square.setAttribute(\"y\", borderWidth / 2);\n square.setAttribute(\"width\", width - borderWidth);\n square.setAttribute(\"height\", height - borderWidth);\n square.setAttribute(\"stroke-width\", borderWidth || 1);\n square.setAttribute(\"stroke\", \"transparent\");\n square.setAttribute(\"fill\", \"none\");\n svg.appendChild(square);\n this.container.append(svg);\n\n this._createPopup(this.container, square, data);\n\n return this.container;\n }\n }]);\n\n return SquareAnnotationElement;\n}(AnnotationElement);\n\nvar CircleAnnotationElement = /*#__PURE__*/function (_AnnotationElement8) {\n _inherits(CircleAnnotationElement, _AnnotationElement8);\n\n var _super13 = _createSuper(CircleAnnotationElement);\n\n function CircleAnnotationElement(parameters) {\n _classCallCheck(this, CircleAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super13.call(this, parameters, isRenderable, true);\n }\n\n _createClass(CircleAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"circleAnnotation\";\n var data = this.data;\n var width = data.rect[2] - data.rect[0];\n var height = data.rect[3] - data.rect[1];\n var svg = this.svgFactory.create(width, height);\n var borderWidth = data.borderStyle.width;\n var circle = this.svgFactory.createElement(\"svg:ellipse\");\n circle.setAttribute(\"cx\", width / 2);\n circle.setAttribute(\"cy\", height / 2);\n circle.setAttribute(\"rx\", width / 2 - borderWidth / 2);\n circle.setAttribute(\"ry\", height / 2 - borderWidth / 2);\n circle.setAttribute(\"stroke-width\", borderWidth || 1);\n circle.setAttribute(\"stroke\", \"transparent\");\n circle.setAttribute(\"fill\", \"none\");\n svg.appendChild(circle);\n this.container.append(svg);\n\n this._createPopup(this.container, circle, data);\n\n return this.container;\n }\n }]);\n\n return CircleAnnotationElement;\n}(AnnotationElement);\n\nvar PolylineAnnotationElement = /*#__PURE__*/function (_AnnotationElement9) {\n _inherits(PolylineAnnotationElement, _AnnotationElement9);\n\n var _super14 = _createSuper(PolylineAnnotationElement);\n\n function PolylineAnnotationElement(parameters) {\n var _this3;\n\n _classCallCheck(this, PolylineAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n _this3 = _super14.call(this, parameters, isRenderable, true);\n _this3.containerClassName = \"polylineAnnotation\";\n _this3.svgElementName = \"svg:polyline\";\n return _this3;\n }\n\n _createClass(PolylineAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = this.containerClassName;\n var data = this.data;\n var width = data.rect[2] - data.rect[0];\n var height = data.rect[3] - data.rect[1];\n var svg = this.svgFactory.create(width, height);\n var points = [];\n\n var _iterator2 = _createForOfIteratorHelper(data.vertices),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var coordinate = _step2.value;\n var x = coordinate.x - data.rect[0];\n var y = data.rect[3] - coordinate.y;\n points.push(x + \",\" + y);\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n\n points = points.join(\" \");\n var polyline = this.svgFactory.createElement(this.svgElementName);\n polyline.setAttribute(\"points\", points);\n polyline.setAttribute(\"stroke-width\", data.borderStyle.width || 1);\n polyline.setAttribute(\"stroke\", \"transparent\");\n polyline.setAttribute(\"fill\", \"none\");\n svg.appendChild(polyline);\n this.container.append(svg);\n\n this._createPopup(this.container, polyline, data);\n\n return this.container;\n }\n }]);\n\n return PolylineAnnotationElement;\n}(AnnotationElement);\n\nvar PolygonAnnotationElement = /*#__PURE__*/function (_PolylineAnnotationEl) {\n _inherits(PolygonAnnotationElement, _PolylineAnnotationEl);\n\n var _super15 = _createSuper(PolygonAnnotationElement);\n\n function PolygonAnnotationElement(parameters) {\n var _this4;\n\n _classCallCheck(this, PolygonAnnotationElement);\n\n _this4 = _super15.call(this, parameters);\n _this4.containerClassName = \"polygonAnnotation\";\n _this4.svgElementName = \"svg:polygon\";\n return _this4;\n }\n\n return PolygonAnnotationElement;\n}(PolylineAnnotationElement);\n\nvar CaretAnnotationElement = /*#__PURE__*/function (_AnnotationElement10) {\n _inherits(CaretAnnotationElement, _AnnotationElement10);\n\n var _super16 = _createSuper(CaretAnnotationElement);\n\n function CaretAnnotationElement(parameters) {\n _classCallCheck(this, CaretAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super16.call(this, parameters, isRenderable, true);\n }\n\n _createClass(CaretAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"caretAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return CaretAnnotationElement;\n}(AnnotationElement);\n\nvar InkAnnotationElement = /*#__PURE__*/function (_AnnotationElement11) {\n _inherits(InkAnnotationElement, _AnnotationElement11);\n\n var _super17 = _createSuper(InkAnnotationElement);\n\n function InkAnnotationElement(parameters) {\n var _this5;\n\n _classCallCheck(this, InkAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n _this5 = _super17.call(this, parameters, isRenderable, true);\n _this5.containerClassName = \"inkAnnotation\";\n _this5.svgElementName = \"svg:polyline\";\n return _this5;\n }\n\n _createClass(InkAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = this.containerClassName;\n var data = this.data;\n var width = data.rect[2] - data.rect[0];\n var height = data.rect[3] - data.rect[1];\n var svg = this.svgFactory.create(width, height);\n\n var _iterator3 = _createForOfIteratorHelper(data.inkLists),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var inkList = _step3.value;\n var points = [];\n\n var _iterator4 = _createForOfIteratorHelper(inkList),\n _step4;\n\n try {\n for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n var coordinate = _step4.value;\n var x = coordinate.x - data.rect[0];\n var y = data.rect[3] - coordinate.y;\n points.push(\"\".concat(x, \",\").concat(y));\n }\n } catch (err) {\n _iterator4.e(err);\n } finally {\n _iterator4.f();\n }\n\n points = points.join(\" \");\n var polyline = this.svgFactory.createElement(this.svgElementName);\n polyline.setAttribute(\"points\", points);\n polyline.setAttribute(\"stroke-width\", data.borderStyle.width || 1);\n polyline.setAttribute(\"stroke\", \"transparent\");\n polyline.setAttribute(\"fill\", \"none\");\n\n this._createPopup(this.container, polyline, data);\n\n svg.appendChild(polyline);\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n\n this.container.append(svg);\n return this.container;\n }\n }]);\n\n return InkAnnotationElement;\n}(AnnotationElement);\n\nvar HighlightAnnotationElement = /*#__PURE__*/function (_AnnotationElement12) {\n _inherits(HighlightAnnotationElement, _AnnotationElement12);\n\n var _super18 = _createSuper(HighlightAnnotationElement);\n\n function HighlightAnnotationElement(parameters) {\n _classCallCheck(this, HighlightAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super18.call(this, parameters, isRenderable, true);\n }\n\n _createClass(HighlightAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"highlightAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return HighlightAnnotationElement;\n}(AnnotationElement);\n\nvar UnderlineAnnotationElement = /*#__PURE__*/function (_AnnotationElement13) {\n _inherits(UnderlineAnnotationElement, _AnnotationElement13);\n\n var _super19 = _createSuper(UnderlineAnnotationElement);\n\n function UnderlineAnnotationElement(parameters) {\n _classCallCheck(this, UnderlineAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super19.call(this, parameters, isRenderable, true);\n }\n\n _createClass(UnderlineAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"underlineAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return UnderlineAnnotationElement;\n}(AnnotationElement);\n\nvar SquigglyAnnotationElement = /*#__PURE__*/function (_AnnotationElement14) {\n _inherits(SquigglyAnnotationElement, _AnnotationElement14);\n\n var _super20 = _createSuper(SquigglyAnnotationElement);\n\n function SquigglyAnnotationElement(parameters) {\n _classCallCheck(this, SquigglyAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super20.call(this, parameters, isRenderable, true);\n }\n\n _createClass(SquigglyAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"squigglyAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return SquigglyAnnotationElement;\n}(AnnotationElement);\n\nvar StrikeOutAnnotationElement = /*#__PURE__*/function (_AnnotationElement15) {\n _inherits(StrikeOutAnnotationElement, _AnnotationElement15);\n\n var _super21 = _createSuper(StrikeOutAnnotationElement);\n\n function StrikeOutAnnotationElement(parameters) {\n _classCallCheck(this, StrikeOutAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super21.call(this, parameters, isRenderable, true);\n }\n\n _createClass(StrikeOutAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"strikeoutAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return StrikeOutAnnotationElement;\n}(AnnotationElement);\n\nvar StampAnnotationElement = /*#__PURE__*/function (_AnnotationElement16) {\n _inherits(StampAnnotationElement, _AnnotationElement16);\n\n var _super22 = _createSuper(StampAnnotationElement);\n\n function StampAnnotationElement(parameters) {\n _classCallCheck(this, StampAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super22.call(this, parameters, isRenderable, true);\n }\n\n _createClass(StampAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"stampAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return StampAnnotationElement;\n}(AnnotationElement);\n\nvar FileAttachmentAnnotationElement = /*#__PURE__*/function (_AnnotationElement17) {\n _inherits(FileAttachmentAnnotationElement, _AnnotationElement17);\n\n var _super23 = _createSuper(FileAttachmentAnnotationElement);\n\n function FileAttachmentAnnotationElement(parameters) {\n var _this6;\n\n _classCallCheck(this, FileAttachmentAnnotationElement);\n\n _this6 = _super23.call(this, parameters, true);\n var _this6$data$file = _this6.data.file,\n filename = _this6$data$file.filename,\n content = _this6$data$file.content;\n _this6.filename = (0, _display_utils.getFilenameFromUrl)(filename);\n _this6.content = content;\n\n if (_this6.linkService.eventBus) {\n _this6.linkService.eventBus.dispatch(\"fileattachmentannotation\", {\n source: _assertThisInitialized(_this6),\n id: (0, _util.stringToPDFString)(filename),\n filename: filename,\n content: content\n });\n }\n\n return _this6;\n }\n\n _createClass(FileAttachmentAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"fileAttachmentAnnotation\";\n var trigger = document.createElement(\"div\");\n trigger.style.height = this.container.style.height;\n trigger.style.width = this.container.style.width;\n trigger.addEventListener(\"dblclick\", this._download.bind(this));\n\n if (!this.data.hasPopup && (this.data.title || this.data.contents)) {\n this._createPopup(this.container, trigger, this.data);\n }\n\n this.container.appendChild(trigger);\n return this.container;\n }\n }, {\n key: \"_download\",\n value: function _download() {\n if (!this.downloadManager) {\n (0, _util.warn)(\"Download cannot be started due to unavailable download manager\");\n return;\n }\n\n this.downloadManager.downloadData(this.content, this.filename, \"\");\n }\n }]);\n\n return FileAttachmentAnnotationElement;\n}(AnnotationElement);\n\nvar AnnotationLayer = /*#__PURE__*/function () {\n function AnnotationLayer() {\n _classCallCheck(this, AnnotationLayer);\n }\n\n _createClass(AnnotationLayer, null, [{\n key: \"render\",\n value: function render(parameters) {\n var sortedAnnotations = [],\n popupAnnotations = [];\n\n var _iterator5 = _createForOfIteratorHelper(parameters.annotations),\n _step5;\n\n try {\n for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {\n var _data = _step5.value;\n\n if (!_data) {\n continue;\n }\n\n if (_data.annotationType === _util.AnnotationType.POPUP) {\n popupAnnotations.push(_data);\n continue;\n }\n\n sortedAnnotations.push(_data);\n }\n } catch (err) {\n _iterator5.e(err);\n } finally {\n _iterator5.f();\n }\n\n if (popupAnnotations.length) {\n sortedAnnotations.push.apply(sortedAnnotations, popupAnnotations);\n }\n\n for (var _i = 0, _sortedAnnotations = sortedAnnotations; _i < _sortedAnnotations.length; _i++) {\n var data = _sortedAnnotations[_i];\n var element = AnnotationElementFactory.create({\n data: data,\n layer: parameters.div,\n page: parameters.page,\n viewport: parameters.viewport,\n linkService: parameters.linkService,\n downloadManager: parameters.downloadManager,\n imageResourcesPath: parameters.imageResourcesPath || \"\",\n renderInteractiveForms: parameters.renderInteractiveForms || false,\n svgFactory: new _display_utils.DOMSVGFactory()\n });\n\n if (element.isRenderable) {\n parameters.div.appendChild(element.render());\n }\n }\n }\n }, {\n key: \"update\",\n value: function update(parameters) {\n var _iterator6 = _createForOfIteratorHelper(parameters.annotations),\n _step6;\n\n try {\n for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {\n var data = _step6.value;\n var element = parameters.div.querySelector(\"[data-annotation-id=\\\"\".concat(data.id, \"\\\"]\"));\n\n if (element) {\n element.style.transform = \"matrix(\".concat(parameters.viewport.transform.join(\",\"), \")\");\n }\n }\n } catch (err) {\n _iterator6.e(err);\n } finally {\n _iterator6.f();\n }\n\n parameters.div.removeAttribute(\"hidden\");\n }\n }]);\n\n return AnnotationLayer;\n}();\n\nexports.AnnotationLayer = AnnotationLayer;\n\n/***/ }),\n/* 210 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.renderTextLayer = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar renderTextLayer = function renderTextLayerClosure() {\n var MAX_TEXT_DIVS_TO_RENDER = 100000;\n var NonWhitespaceRegexp = /\\S/;\n\n function isAllWhitespace(str) {\n return !NonWhitespaceRegexp.test(str);\n }\n\n function appendText(task, geom, styles) {\n var textDiv = document.createElement(\"span\");\n var textDivProperties = {\n angle: 0,\n canvasWidth: 0,\n isWhitespace: false,\n originalTransform: null,\n paddingBottom: 0,\n paddingLeft: 0,\n paddingRight: 0,\n paddingTop: 0,\n scale: 1\n };\n\n task._textDivs.push(textDiv);\n\n if (isAllWhitespace(geom.str)) {\n textDivProperties.isWhitespace = true;\n\n task._textDivProperties.set(textDiv, textDivProperties);\n\n return;\n }\n\n var tx = _util.Util.transform(task._viewport.transform, geom.transform);\n\n var angle = Math.atan2(tx[1], tx[0]);\n var style = styles[geom.fontName];\n\n if (style.vertical) {\n angle += Math.PI / 2;\n }\n\n var fontHeight = Math.sqrt(tx[2] * tx[2] + tx[3] * tx[3]);\n var fontAscent = fontHeight;\n\n if (style.ascent) {\n fontAscent = style.ascent * fontAscent;\n } else if (style.descent) {\n fontAscent = (1 + style.descent) * fontAscent;\n }\n\n var left, top;\n\n if (angle === 0) {\n left = tx[4];\n top = tx[5] - fontAscent;\n } else {\n left = tx[4] + fontAscent * Math.sin(angle);\n top = tx[5] - fontAscent * Math.cos(angle);\n }\n\n textDiv.style.left = \"\".concat(left, \"px\");\n textDiv.style.top = \"\".concat(top, \"px\");\n textDiv.style.fontSize = \"\".concat(fontHeight, \"px\");\n textDiv.style.fontFamily = style.fontFamily;\n textDiv.textContent = geom.str;\n\n if (task._fontInspectorEnabled) {\n textDiv.dataset.fontName = geom.fontName;\n }\n\n if (angle !== 0) {\n textDivProperties.angle = angle * (180 / Math.PI);\n }\n\n var shouldScaleText = false;\n\n if (geom.str.length > 1) {\n shouldScaleText = true;\n } else if (geom.transform[0] !== geom.transform[3]) {\n var absScaleX = Math.abs(geom.transform[0]),\n absScaleY = Math.abs(geom.transform[3]);\n\n if (absScaleX !== absScaleY && Math.max(absScaleX, absScaleY) / Math.min(absScaleX, absScaleY) > 1.5) {\n shouldScaleText = true;\n }\n }\n\n if (shouldScaleText) {\n if (style.vertical) {\n textDivProperties.canvasWidth = geom.height * task._viewport.scale;\n } else {\n textDivProperties.canvasWidth = geom.width * task._viewport.scale;\n }\n }\n\n task._textDivProperties.set(textDiv, textDivProperties);\n\n if (task._textContentStream) {\n task._layoutText(textDiv);\n }\n\n if (task._enhanceTextSelection) {\n var angleCos = 1,\n angleSin = 0;\n\n if (angle !== 0) {\n angleCos = Math.cos(angle);\n angleSin = Math.sin(angle);\n }\n\n var divWidth = (style.vertical ? geom.height : geom.width) * task._viewport.scale;\n var divHeight = fontHeight;\n var m, b;\n\n if (angle !== 0) {\n m = [angleCos, angleSin, -angleSin, angleCos, left, top];\n b = _util.Util.getAxialAlignedBoundingBox([0, 0, divWidth, divHeight], m);\n } else {\n b = [left, top, left + divWidth, top + divHeight];\n }\n\n task._bounds.push({\n left: b[0],\n top: b[1],\n right: b[2],\n bottom: b[3],\n div: textDiv,\n size: [divWidth, divHeight],\n m: m\n });\n }\n }\n\n function render(task) {\n if (task._canceled) {\n return;\n }\n\n var textDivs = task._textDivs;\n var capability = task._capability;\n var textDivsLength = textDivs.length;\n\n if (textDivsLength > MAX_TEXT_DIVS_TO_RENDER) {\n task._renderingDone = true;\n capability.resolve();\n return;\n }\n\n if (!task._textContentStream) {\n for (var i = 0; i < textDivsLength; i++) {\n task._layoutText(textDivs[i]);\n }\n }\n\n task._renderingDone = true;\n capability.resolve();\n }\n\n function findPositiveMin(ts, offset, count) {\n var result = 0;\n\n for (var i = 0; i < count; i++) {\n var t = ts[offset++];\n\n if (t > 0) {\n result = result ? Math.min(t, result) : t;\n }\n }\n\n return result;\n }\n\n function expand(task) {\n var bounds = task._bounds;\n var viewport = task._viewport;\n var expanded = expandBounds(viewport.width, viewport.height, bounds);\n\n for (var i = 0; i < expanded.length; i++) {\n var div = bounds[i].div;\n\n var divProperties = task._textDivProperties.get(div);\n\n if (divProperties.angle === 0) {\n divProperties.paddingLeft = bounds[i].left - expanded[i].left;\n divProperties.paddingTop = bounds[i].top - expanded[i].top;\n divProperties.paddingRight = expanded[i].right - bounds[i].right;\n divProperties.paddingBottom = expanded[i].bottom - bounds[i].bottom;\n\n task._textDivProperties.set(div, divProperties);\n\n continue;\n }\n\n var e = expanded[i],\n b = bounds[i];\n var m = b.m,\n c = m[0],\n s = m[1];\n var points = [[0, 0], [0, b.size[1]], [b.size[0], 0], b.size];\n var ts = new Float64Array(64);\n points.forEach(function (p, j) {\n var t = _util.Util.applyTransform(p, m);\n\n ts[j + 0] = c && (e.left - t[0]) / c;\n ts[j + 4] = s && (e.top - t[1]) / s;\n ts[j + 8] = c && (e.right - t[0]) / c;\n ts[j + 12] = s && (e.bottom - t[1]) / s;\n ts[j + 16] = s && (e.left - t[0]) / -s;\n ts[j + 20] = c && (e.top - t[1]) / c;\n ts[j + 24] = s && (e.right - t[0]) / -s;\n ts[j + 28] = c && (e.bottom - t[1]) / c;\n ts[j + 32] = c && (e.left - t[0]) / -c;\n ts[j + 36] = s && (e.top - t[1]) / -s;\n ts[j + 40] = c && (e.right - t[0]) / -c;\n ts[j + 44] = s && (e.bottom - t[1]) / -s;\n ts[j + 48] = s && (e.left - t[0]) / s;\n ts[j + 52] = c && (e.top - t[1]) / -c;\n ts[j + 56] = s && (e.right - t[0]) / s;\n ts[j + 60] = c && (e.bottom - t[1]) / -c;\n });\n var boxScale = 1 + Math.min(Math.abs(c), Math.abs(s));\n divProperties.paddingLeft = findPositiveMin(ts, 32, 16) / boxScale;\n divProperties.paddingTop = findPositiveMin(ts, 48, 16) / boxScale;\n divProperties.paddingRight = findPositiveMin(ts, 0, 16) / boxScale;\n divProperties.paddingBottom = findPositiveMin(ts, 16, 16) / boxScale;\n\n task._textDivProperties.set(div, divProperties);\n }\n }\n\n function expandBounds(width, height, boxes) {\n var bounds = boxes.map(function (box, i) {\n return {\n x1: box.left,\n y1: box.top,\n x2: box.right,\n y2: box.bottom,\n index: i,\n x1New: undefined,\n x2New: undefined\n };\n });\n expandBoundsLTR(width, bounds);\n var expanded = new Array(boxes.length);\n bounds.forEach(function (b) {\n var i = b.index;\n expanded[i] = {\n left: b.x1New,\n top: 0,\n right: b.x2New,\n bottom: 0\n };\n });\n boxes.map(function (box, i) {\n var e = expanded[i],\n b = bounds[i];\n b.x1 = box.top;\n b.y1 = width - e.right;\n b.x2 = box.bottom;\n b.y2 = width - e.left;\n b.index = i;\n b.x1New = undefined;\n b.x2New = undefined;\n });\n expandBoundsLTR(height, bounds);\n bounds.forEach(function (b) {\n var i = b.index;\n expanded[i].top = b.x1New;\n expanded[i].bottom = b.x2New;\n });\n return expanded;\n }\n\n function expandBoundsLTR(width, bounds) {\n bounds.sort(function (a, b) {\n return a.x1 - b.x1 || a.index - b.index;\n });\n var fakeBoundary = {\n x1: -Infinity,\n y1: -Infinity,\n x2: 0,\n y2: Infinity,\n index: -1,\n x1New: 0,\n x2New: 0\n };\n var horizon = [{\n start: -Infinity,\n end: Infinity,\n boundary: fakeBoundary\n }];\n bounds.forEach(function (boundary) {\n var i = 0;\n\n while (i < horizon.length && horizon[i].end <= boundary.y1) {\n i++;\n }\n\n var j = horizon.length - 1;\n\n while (j >= 0 && horizon[j].start >= boundary.y2) {\n j--;\n }\n\n var horizonPart, affectedBoundary;\n var q,\n k,\n maxXNew = -Infinity;\n\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n var xNew;\n\n if (affectedBoundary.x2 > boundary.x1) {\n xNew = affectedBoundary.index > boundary.index ? affectedBoundary.x1New : boundary.x1;\n } else if (affectedBoundary.x2New === undefined) {\n xNew = (affectedBoundary.x2 + boundary.x1) / 2;\n } else {\n xNew = affectedBoundary.x2New;\n }\n\n if (xNew > maxXNew) {\n maxXNew = xNew;\n }\n }\n\n boundary.x1New = maxXNew;\n\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n\n if (affectedBoundary.x2New === undefined) {\n if (affectedBoundary.x2 > boundary.x1) {\n if (affectedBoundary.index > boundary.index) {\n affectedBoundary.x2New = affectedBoundary.x2;\n }\n } else {\n affectedBoundary.x2New = maxXNew;\n }\n } else if (affectedBoundary.x2New > maxXNew) {\n affectedBoundary.x2New = Math.max(maxXNew, affectedBoundary.x2);\n }\n }\n\n var changedHorizon = [],\n lastBoundary = null;\n\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n var useBoundary = affectedBoundary.x2 > boundary.x2 ? affectedBoundary : boundary;\n\n if (lastBoundary === useBoundary) {\n changedHorizon[changedHorizon.length - 1].end = horizonPart.end;\n } else {\n changedHorizon.push({\n start: horizonPart.start,\n end: horizonPart.end,\n boundary: useBoundary\n });\n lastBoundary = useBoundary;\n }\n }\n\n if (horizon[i].start < boundary.y1) {\n changedHorizon[0].start = boundary.y1;\n changedHorizon.unshift({\n start: horizon[i].start,\n end: boundary.y1,\n boundary: horizon[i].boundary\n });\n }\n\n if (boundary.y2 < horizon[j].end) {\n changedHorizon[changedHorizon.length - 1].end = boundary.y2;\n changedHorizon.push({\n start: boundary.y2,\n end: horizon[j].end,\n boundary: horizon[j].boundary\n });\n }\n\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n\n if (affectedBoundary.x2New !== undefined) {\n continue;\n }\n\n var used = false;\n\n for (k = i - 1; !used && k >= 0 && horizon[k].start >= affectedBoundary.y1; k--) {\n used = horizon[k].boundary === affectedBoundary;\n }\n\n for (k = j + 1; !used && k < horizon.length && horizon[k].end <= affectedBoundary.y2; k++) {\n used = horizon[k].boundary === affectedBoundary;\n }\n\n for (k = 0; !used && k < changedHorizon.length; k++) {\n used = changedHorizon[k].boundary === affectedBoundary;\n }\n\n if (!used) {\n affectedBoundary.x2New = maxXNew;\n }\n }\n\n Array.prototype.splice.apply(horizon, [i, j - i + 1].concat(changedHorizon));\n });\n horizon.forEach(function (horizonPart) {\n var affectedBoundary = horizonPart.boundary;\n\n if (affectedBoundary.x2New === undefined) {\n affectedBoundary.x2New = Math.max(width, affectedBoundary.x2);\n }\n });\n }\n\n function TextLayerRenderTask(_ref) {\n var _this = this;\n\n var textContent = _ref.textContent,\n textContentStream = _ref.textContentStream,\n container = _ref.container,\n viewport = _ref.viewport,\n textDivs = _ref.textDivs,\n textContentItemsStr = _ref.textContentItemsStr,\n enhanceTextSelection = _ref.enhanceTextSelection;\n this._textContent = textContent;\n this._textContentStream = textContentStream;\n this._container = container;\n this._viewport = viewport;\n this._textDivs = textDivs || [];\n this._textContentItemsStr = textContentItemsStr || [];\n this._enhanceTextSelection = !!enhanceTextSelection;\n this._fontInspectorEnabled = !!(globalThis.FontInspector && globalThis.FontInspector.enabled);\n this._reader = null;\n this._layoutTextLastFontSize = null;\n this._layoutTextLastFontFamily = null;\n this._layoutTextCtx = null;\n this._textDivProperties = new WeakMap();\n this._renderingDone = false;\n this._canceled = false;\n this._capability = (0, _util.createPromiseCapability)();\n this._renderTimer = null;\n this._bounds = [];\n\n this._capability.promise[\"finally\"](function () {\n if (_this._layoutTextCtx) {\n _this._layoutTextCtx.canvas.width = 0;\n _this._layoutTextCtx.canvas.height = 0;\n _this._layoutTextCtx = null;\n }\n })[\"catch\"](function () {});\n }\n\n TextLayerRenderTask.prototype = {\n get promise() {\n return this._capability.promise;\n },\n\n cancel: function TextLayer_cancel() {\n this._canceled = true;\n\n if (this._reader) {\n this._reader.cancel(new _util.AbortException(\"TextLayer task cancelled.\"));\n\n this._reader = null;\n }\n\n if (this._renderTimer !== null) {\n clearTimeout(this._renderTimer);\n this._renderTimer = null;\n }\n\n this._capability.reject(new Error(\"TextLayer task cancelled.\"));\n },\n _processItems: function _processItems(items, styleCache) {\n for (var i = 0, len = items.length; i < len; i++) {\n this._textContentItemsStr.push(items[i].str);\n\n appendText(this, items[i], styleCache);\n }\n },\n _layoutText: function _layoutText(textDiv) {\n var textDivProperties = this._textDivProperties.get(textDiv);\n\n if (textDivProperties.isWhitespace) {\n return;\n }\n\n var transform = \"\";\n\n if (textDivProperties.canvasWidth !== 0) {\n var _textDiv$style = textDiv.style,\n fontSize = _textDiv$style.fontSize,\n fontFamily = _textDiv$style.fontFamily;\n\n if (fontSize !== this._layoutTextLastFontSize || fontFamily !== this._layoutTextLastFontFamily) {\n this._layoutTextCtx.font = \"\".concat(fontSize, \" \").concat(fontFamily);\n this._layoutTextLastFontSize = fontSize;\n this._layoutTextLastFontFamily = fontFamily;\n }\n\n var _this$_layoutTextCtx$ = this._layoutTextCtx.measureText(textDiv.textContent),\n width = _this$_layoutTextCtx$.width;\n\n if (width > 0) {\n textDivProperties.scale = textDivProperties.canvasWidth / width;\n transform = \"scaleX(\".concat(textDivProperties.scale, \")\");\n }\n }\n\n if (textDivProperties.angle !== 0) {\n transform = \"rotate(\".concat(textDivProperties.angle, \"deg) \").concat(transform);\n }\n\n if (transform.length > 0) {\n if (this._enhanceTextSelection) {\n textDivProperties.originalTransform = transform;\n }\n\n textDiv.style.transform = transform;\n }\n\n this._textDivProperties.set(textDiv, textDivProperties);\n\n this._container.appendChild(textDiv);\n },\n _render: function TextLayer_render(timeout) {\n var _this2 = this;\n\n var capability = (0, _util.createPromiseCapability)();\n var styleCache = Object.create(null);\n var canvas = document.createElement(\"canvas\");\n canvas.mozOpaque = true;\n this._layoutTextCtx = canvas.getContext(\"2d\", {\n alpha: false\n });\n\n if (this._textContent) {\n var textItems = this._textContent.items;\n var textStyles = this._textContent.styles;\n\n this._processItems(textItems, textStyles);\n\n capability.resolve();\n } else if (this._textContentStream) {\n var pump = function pump() {\n _this2._reader.read().then(function (_ref2) {\n var value = _ref2.value,\n done = _ref2.done;\n\n if (done) {\n capability.resolve();\n return;\n }\n\n Object.assign(styleCache, value.styles);\n\n _this2._processItems(value.items, styleCache);\n\n pump();\n }, capability.reject);\n };\n\n this._reader = this._textContentStream.getReader();\n pump();\n } else {\n throw new Error('Neither \"textContent\" nor \"textContentStream\"' + \" parameters specified.\");\n }\n\n capability.promise.then(function () {\n styleCache = null;\n\n if (!timeout) {\n render(_this2);\n } else {\n _this2._renderTimer = setTimeout(function () {\n render(_this2);\n _this2._renderTimer = null;\n }, timeout);\n }\n }, this._capability.reject);\n },\n expandTextDivs: function TextLayer_expandTextDivs(expandDivs) {\n if (!this._enhanceTextSelection || !this._renderingDone) {\n return;\n }\n\n if (this._bounds !== null) {\n expand(this);\n this._bounds = null;\n }\n\n var transformBuf = [],\n paddingBuf = [];\n\n for (var i = 0, ii = this._textDivs.length; i < ii; i++) {\n var div = this._textDivs[i];\n\n var divProps = this._textDivProperties.get(div);\n\n if (divProps.isWhitespace) {\n continue;\n }\n\n if (expandDivs) {\n transformBuf.length = 0;\n paddingBuf.length = 0;\n\n if (divProps.originalTransform) {\n transformBuf.push(divProps.originalTransform);\n }\n\n if (divProps.paddingTop > 0) {\n paddingBuf.push(\"\".concat(divProps.paddingTop, \"px\"));\n transformBuf.push(\"translateY(\".concat(-divProps.paddingTop, \"px)\"));\n } else {\n paddingBuf.push(0);\n }\n\n if (divProps.paddingRight > 0) {\n paddingBuf.push(\"\".concat(divProps.paddingRight / divProps.scale, \"px\"));\n } else {\n paddingBuf.push(0);\n }\n\n if (divProps.paddingBottom > 0) {\n paddingBuf.push(\"\".concat(divProps.paddingBottom, \"px\"));\n } else {\n paddingBuf.push(0);\n }\n\n if (divProps.paddingLeft > 0) {\n paddingBuf.push(\"\".concat(divProps.paddingLeft / divProps.scale, \"px\"));\n transformBuf.push(\"translateX(\".concat(-divProps.paddingLeft / divProps.scale, \"px)\"));\n } else {\n paddingBuf.push(0);\n }\n\n div.style.padding = paddingBuf.join(\" \");\n\n if (transformBuf.length) {\n div.style.transform = transformBuf.join(\" \");\n }\n } else {\n div.style.padding = null;\n div.style.transform = divProps.originalTransform;\n }\n }\n }\n };\n\n function renderTextLayer(renderParameters) {\n var task = new TextLayerRenderTask({\n textContent: renderParameters.textContent,\n textContentStream: renderParameters.textContentStream,\n container: renderParameters.container,\n viewport: renderParameters.viewport,\n textDivs: renderParameters.textDivs,\n textContentItemsStr: renderParameters.textContentItemsStr,\n enhanceTextSelection: renderParameters.enhanceTextSelection\n });\n\n task._render(renderParameters.timeout);\n\n return task;\n }\n\n return renderTextLayer;\n}();\n\nexports.renderTextLayer = renderTextLayer;\n\n/***/ }),\n/* 211 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SVGGraphics = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _display_utils = __w_pdfjs_require__(1);\n\nvar _is_node = __w_pdfjs_require__(7);\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar SVGGraphics = function SVGGraphics() {\n throw new Error(\"Not implemented: SVGGraphics\");\n};\n\nexports.SVGGraphics = SVGGraphics;\n{\n var opListToTree = function opListToTree(opList) {\n var opTree = [];\n var tmp = [];\n\n var _iterator = _createForOfIteratorHelper(opList),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var opListElement = _step.value;\n\n if (opListElement.fn === \"save\") {\n opTree.push({\n fnId: 92,\n fn: \"group\",\n items: []\n });\n tmp.push(opTree);\n opTree = opTree[opTree.length - 1].items;\n continue;\n }\n\n if (opListElement.fn === \"restore\") {\n opTree = tmp.pop();\n } else {\n opTree.push(opListElement);\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n return opTree;\n };\n\n var pf = function pf(value) {\n if (Number.isInteger(value)) {\n return value.toString();\n }\n\n var s = value.toFixed(10);\n var i = s.length - 1;\n\n if (s[i] !== \"0\") {\n return s;\n }\n\n do {\n i--;\n } while (s[i] === \"0\");\n\n return s.substring(0, s[i] === \".\" ? i : i + 1);\n };\n\n var pm = function pm(m) {\n if (m[4] === 0 && m[5] === 0) {\n if (m[1] === 0 && m[2] === 0) {\n if (m[0] === 1 && m[3] === 1) {\n return \"\";\n }\n\n return \"scale(\".concat(pf(m[0]), \" \").concat(pf(m[3]), \")\");\n }\n\n if (m[0] === m[3] && m[1] === -m[2]) {\n var a = Math.acos(m[0]) * 180 / Math.PI;\n return \"rotate(\".concat(pf(a), \")\");\n }\n } else {\n if (m[0] === 1 && m[1] === 0 && m[2] === 0 && m[3] === 1) {\n return \"translate(\".concat(pf(m[4]), \" \").concat(pf(m[5]), \")\");\n }\n }\n\n return \"matrix(\".concat(pf(m[0]), \" \").concat(pf(m[1]), \" \").concat(pf(m[2]), \" \").concat(pf(m[3]), \" \").concat(pf(m[4]), \" \") + \"\".concat(pf(m[5]), \")\");\n };\n\n var SVG_DEFAULTS = {\n fontStyle: \"normal\",\n fontWeight: \"normal\",\n fillColor: \"#000000\"\n };\n var XML_NS = \"http://www.w3.org/XML/1998/namespace\";\n var XLINK_NS = \"http://www.w3.org/1999/xlink\";\n var LINE_CAP_STYLES = [\"butt\", \"round\", \"square\"];\n var LINE_JOIN_STYLES = [\"miter\", \"round\", \"bevel\"];\n\n var convertImgDataToPng = function () {\n var PNG_HEADER = new Uint8Array([0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a]);\n var CHUNK_WRAPPER_SIZE = 12;\n var crcTable = new Int32Array(256);\n\n for (var i = 0; i < 256; i++) {\n var c = i;\n\n for (var h = 0; h < 8; h++) {\n if (c & 1) {\n c = 0xedb88320 ^ c >> 1 & 0x7fffffff;\n } else {\n c = c >> 1 & 0x7fffffff;\n }\n }\n\n crcTable[i] = c;\n }\n\n function crc32(data, start, end) {\n var crc = -1;\n\n for (var _i = start; _i < end; _i++) {\n var a = (crc ^ data[_i]) & 0xff;\n var b = crcTable[a];\n crc = crc >>> 8 ^ b;\n }\n\n return crc ^ -1;\n }\n\n function writePngChunk(type, body, data, offset) {\n var p = offset;\n var len = body.length;\n data[p] = len >> 24 & 0xff;\n data[p + 1] = len >> 16 & 0xff;\n data[p + 2] = len >> 8 & 0xff;\n data[p + 3] = len & 0xff;\n p += 4;\n data[p] = type.charCodeAt(0) & 0xff;\n data[p + 1] = type.charCodeAt(1) & 0xff;\n data[p + 2] = type.charCodeAt(2) & 0xff;\n data[p + 3] = type.charCodeAt(3) & 0xff;\n p += 4;\n data.set(body, p);\n p += body.length;\n var crc = crc32(data, offset + 4, p);\n data[p] = crc >> 24 & 0xff;\n data[p + 1] = crc >> 16 & 0xff;\n data[p + 2] = crc >> 8 & 0xff;\n data[p + 3] = crc & 0xff;\n }\n\n function adler32(data, start, end) {\n var a = 1;\n var b = 0;\n\n for (var _i2 = start; _i2 < end; ++_i2) {\n a = (a + (data[_i2] & 0xff)) % 65521;\n b = (b + a) % 65521;\n }\n\n return b << 16 | a;\n }\n\n function deflateSync(literals) {\n if (!_is_node.isNodeJS) {\n return deflateSyncUncompressed(literals);\n }\n\n try {\n var input;\n\n if (parseInt(process.versions.node) >= 8) {\n input = literals;\n } else {\n input = Buffer.from(literals);\n }\n\n var output = require(\"zlib\").deflateSync(input, {\n level: 9\n });\n\n return output instanceof Uint8Array ? output : new Uint8Array(output);\n } catch (e) {\n (0, _util.warn)(\"Not compressing PNG because zlib.deflateSync is unavailable: \" + e);\n }\n\n return deflateSyncUncompressed(literals);\n }\n\n function deflateSyncUncompressed(literals) {\n var len = literals.length;\n var maxBlockLength = 0xffff;\n var deflateBlocks = Math.ceil(len / maxBlockLength);\n var idat = new Uint8Array(2 + len + deflateBlocks * 5 + 4);\n var pi = 0;\n idat[pi++] = 0x78;\n idat[pi++] = 0x9c;\n var pos = 0;\n\n while (len > maxBlockLength) {\n idat[pi++] = 0x00;\n idat[pi++] = 0xff;\n idat[pi++] = 0xff;\n idat[pi++] = 0x00;\n idat[pi++] = 0x00;\n idat.set(literals.subarray(pos, pos + maxBlockLength), pi);\n pi += maxBlockLength;\n pos += maxBlockLength;\n len -= maxBlockLength;\n }\n\n idat[pi++] = 0x01;\n idat[pi++] = len & 0xff;\n idat[pi++] = len >> 8 & 0xff;\n idat[pi++] = ~len & 0xffff & 0xff;\n idat[pi++] = (~len & 0xffff) >> 8 & 0xff;\n idat.set(literals.subarray(pos), pi);\n pi += literals.length - pos;\n var adler = adler32(literals, 0, literals.length);\n idat[pi++] = adler >> 24 & 0xff;\n idat[pi++] = adler >> 16 & 0xff;\n idat[pi++] = adler >> 8 & 0xff;\n idat[pi++] = adler & 0xff;\n return idat;\n }\n\n function encode(imgData, kind, forceDataSchema, isMask) {\n var width = imgData.width;\n var height = imgData.height;\n var bitDepth, colorType, lineSize;\n var bytes = imgData.data;\n\n switch (kind) {\n case _util.ImageKind.GRAYSCALE_1BPP:\n colorType = 0;\n bitDepth = 1;\n lineSize = width + 7 >> 3;\n break;\n\n case _util.ImageKind.RGB_24BPP:\n colorType = 2;\n bitDepth = 8;\n lineSize = width * 3;\n break;\n\n case _util.ImageKind.RGBA_32BPP:\n colorType = 6;\n bitDepth = 8;\n lineSize = width * 4;\n break;\n\n default:\n throw new Error(\"invalid format\");\n }\n\n var literals = new Uint8Array((1 + lineSize) * height);\n var offsetLiterals = 0,\n offsetBytes = 0;\n\n for (var y = 0; y < height; ++y) {\n literals[offsetLiterals++] = 0;\n literals.set(bytes.subarray(offsetBytes, offsetBytes + lineSize), offsetLiterals);\n offsetBytes += lineSize;\n offsetLiterals += lineSize;\n }\n\n if (kind === _util.ImageKind.GRAYSCALE_1BPP && isMask) {\n offsetLiterals = 0;\n\n for (var _y = 0; _y < height; _y++) {\n offsetLiterals++;\n\n for (var _i3 = 0; _i3 < lineSize; _i3++) {\n literals[offsetLiterals++] ^= 0xff;\n }\n }\n }\n\n var ihdr = new Uint8Array([width >> 24 & 0xff, width >> 16 & 0xff, width >> 8 & 0xff, width & 0xff, height >> 24 & 0xff, height >> 16 & 0xff, height >> 8 & 0xff, height & 0xff, bitDepth, colorType, 0x00, 0x00, 0x00]);\n var idat = deflateSync(literals);\n var pngLength = PNG_HEADER.length + CHUNK_WRAPPER_SIZE * 3 + ihdr.length + idat.length;\n var data = new Uint8Array(pngLength);\n var offset = 0;\n data.set(PNG_HEADER, offset);\n offset += PNG_HEADER.length;\n writePngChunk(\"IHDR\", ihdr, data, offset);\n offset += CHUNK_WRAPPER_SIZE + ihdr.length;\n writePngChunk(\"IDATA\", idat, data, offset);\n offset += CHUNK_WRAPPER_SIZE + idat.length;\n writePngChunk(\"IEND\", new Uint8Array(0), data, offset);\n return (0, _util.createObjectURL)(data, \"image/png\", forceDataSchema);\n }\n\n return function convertImgDataToPng(imgData, forceDataSchema, isMask) {\n var kind = imgData.kind === undefined ? _util.ImageKind.GRAYSCALE_1BPP : imgData.kind;\n return encode(imgData, kind, forceDataSchema, isMask);\n };\n }();\n\n var SVGExtraState = /*#__PURE__*/function () {\n function SVGExtraState() {\n _classCallCheck(this, SVGExtraState);\n\n this.fontSizeScale = 1;\n this.fontWeight = SVG_DEFAULTS.fontWeight;\n this.fontSize = 0;\n this.textMatrix = _util.IDENTITY_MATRIX;\n this.fontMatrix = _util.FONT_IDENTITY_MATRIX;\n this.leading = 0;\n this.textRenderingMode = _util.TextRenderingMode.FILL;\n this.textMatrixScale = 1;\n this.x = 0;\n this.y = 0;\n this.lineX = 0;\n this.lineY = 0;\n this.charSpacing = 0;\n this.wordSpacing = 0;\n this.textHScale = 1;\n this.textRise = 0;\n this.fillColor = SVG_DEFAULTS.fillColor;\n this.strokeColor = \"#000000\";\n this.fillAlpha = 1;\n this.strokeAlpha = 1;\n this.lineWidth = 1;\n this.lineJoin = \"\";\n this.lineCap = \"\";\n this.miterLimit = 0;\n this.dashArray = [];\n this.dashPhase = 0;\n this.dependencies = [];\n this.activeClipUrl = null;\n this.clipGroup = null;\n this.maskId = \"\";\n }\n\n _createClass(SVGExtraState, [{\n key: \"clone\",\n value: function clone() {\n return Object.create(this);\n }\n }, {\n key: \"setCurrentPoint\",\n value: function setCurrentPoint(x, y) {\n this.x = x;\n this.y = y;\n }\n }]);\n\n return SVGExtraState;\n }();\n\n var clipCount = 0;\n var maskCount = 0;\n var shadingCount = 0;\n\n exports.SVGGraphics = SVGGraphics = /*#__PURE__*/function () {\n function SVGGraphics(commonObjs, objs) {\n var forceDataSchema = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n _classCallCheck(this, SVGGraphics);\n\n this.svgFactory = new _display_utils.DOMSVGFactory();\n this.current = new SVGExtraState();\n this.transformMatrix = _util.IDENTITY_MATRIX;\n this.transformStack = [];\n this.extraStack = [];\n this.commonObjs = commonObjs;\n this.objs = objs;\n this.pendingClip = null;\n this.pendingEOFill = false;\n this.embedFonts = false;\n this.embeddedFonts = Object.create(null);\n this.cssStyle = null;\n this.forceDataSchema = !!forceDataSchema;\n this._operatorIdMapping = [];\n\n for (var op in _util.OPS) {\n this._operatorIdMapping[_util.OPS[op]] = op;\n }\n }\n\n _createClass(SVGGraphics, [{\n key: \"save\",\n value: function save() {\n this.transformStack.push(this.transformMatrix);\n var old = this.current;\n this.extraStack.push(old);\n this.current = old.clone();\n }\n }, {\n key: \"restore\",\n value: function restore() {\n this.transformMatrix = this.transformStack.pop();\n this.current = this.extraStack.pop();\n this.pendingClip = null;\n this.tgrp = null;\n }\n }, {\n key: \"group\",\n value: function group(items) {\n this.save();\n this.executeOpTree(items);\n this.restore();\n }\n }, {\n key: \"loadDependencies\",\n value: function loadDependencies(operatorList) {\n var _this = this;\n\n var fnArray = operatorList.fnArray;\n var argsArray = operatorList.argsArray;\n\n for (var i = 0, ii = fnArray.length; i < ii; i++) {\n if (fnArray[i] !== _util.OPS.dependency) {\n continue;\n }\n\n var _iterator2 = _createForOfIteratorHelper(argsArray[i]),\n _step2;\n\n try {\n var _loop = function _loop() {\n var obj = _step2.value;\n var objsPool = obj.startsWith(\"g_\") ? _this.commonObjs : _this.objs;\n var promise = new Promise(function (resolve) {\n objsPool.get(obj, resolve);\n });\n\n _this.current.dependencies.push(promise);\n };\n\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n _loop();\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n }\n\n return Promise.all(this.current.dependencies);\n }\n }, {\n key: \"transform\",\n value: function transform(a, b, c, d, e, f) {\n var transformMatrix = [a, b, c, d, e, f];\n this.transformMatrix = _util.Util.transform(this.transformMatrix, transformMatrix);\n this.tgrp = null;\n }\n }, {\n key: \"getSVG\",\n value: function getSVG(operatorList, viewport) {\n var _this2 = this;\n\n this.viewport = viewport;\n\n var svgElement = this._initialize(viewport);\n\n return this.loadDependencies(operatorList).then(function () {\n _this2.transformMatrix = _util.IDENTITY_MATRIX;\n\n _this2.executeOpTree(_this2.convertOpList(operatorList));\n\n return svgElement;\n });\n }\n }, {\n key: \"convertOpList\",\n value: function convertOpList(operatorList) {\n var operatorIdMapping = this._operatorIdMapping;\n var argsArray = operatorList.argsArray;\n var fnArray = operatorList.fnArray;\n var opList = [];\n\n for (var i = 0, ii = fnArray.length; i < ii; i++) {\n var fnId = fnArray[i];\n opList.push({\n fnId: fnId,\n fn: operatorIdMapping[fnId],\n args: argsArray[i]\n });\n }\n\n return opListToTree(opList);\n }\n }, {\n key: \"executeOpTree\",\n value: function executeOpTree(opTree) {\n var _iterator3 = _createForOfIteratorHelper(opTree),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var opTreeElement = _step3.value;\n var fn = opTreeElement.fn;\n var fnId = opTreeElement.fnId;\n var args = opTreeElement.args;\n\n switch (fnId | 0) {\n case _util.OPS.beginText:\n this.beginText();\n break;\n\n case _util.OPS.dependency:\n break;\n\n case _util.OPS.setLeading:\n this.setLeading(args);\n break;\n\n case _util.OPS.setLeadingMoveText:\n this.setLeadingMoveText(args[0], args[1]);\n break;\n\n case _util.OPS.setFont:\n this.setFont(args);\n break;\n\n case _util.OPS.showText:\n this.showText(args[0]);\n break;\n\n case _util.OPS.showSpacedText:\n this.showText(args[0]);\n break;\n\n case _util.OPS.endText:\n this.endText();\n break;\n\n case _util.OPS.moveText:\n this.moveText(args[0], args[1]);\n break;\n\n case _util.OPS.setCharSpacing:\n this.setCharSpacing(args[0]);\n break;\n\n case _util.OPS.setWordSpacing:\n this.setWordSpacing(args[0]);\n break;\n\n case _util.OPS.setHScale:\n this.setHScale(args[0]);\n break;\n\n case _util.OPS.setTextMatrix:\n this.setTextMatrix(args[0], args[1], args[2], args[3], args[4], args[5]);\n break;\n\n case _util.OPS.setTextRise:\n this.setTextRise(args[0]);\n break;\n\n case _util.OPS.setTextRenderingMode:\n this.setTextRenderingMode(args[0]);\n break;\n\n case _util.OPS.setLineWidth:\n this.setLineWidth(args[0]);\n break;\n\n case _util.OPS.setLineJoin:\n this.setLineJoin(args[0]);\n break;\n\n case _util.OPS.setLineCap:\n this.setLineCap(args[0]);\n break;\n\n case _util.OPS.setMiterLimit:\n this.setMiterLimit(args[0]);\n break;\n\n case _util.OPS.setFillRGBColor:\n this.setFillRGBColor(args[0], args[1], args[2]);\n break;\n\n case _util.OPS.setStrokeRGBColor:\n this.setStrokeRGBColor(args[0], args[1], args[2]);\n break;\n\n case _util.OPS.setStrokeColorN:\n this.setStrokeColorN(args);\n break;\n\n case _util.OPS.setFillColorN:\n this.setFillColorN(args);\n break;\n\n case _util.OPS.shadingFill:\n this.shadingFill(args[0]);\n break;\n\n case _util.OPS.setDash:\n this.setDash(args[0], args[1]);\n break;\n\n case _util.OPS.setRenderingIntent:\n this.setRenderingIntent(args[0]);\n break;\n\n case _util.OPS.setFlatness:\n this.setFlatness(args[0]);\n break;\n\n case _util.OPS.setGState:\n this.setGState(args[0]);\n break;\n\n case _util.OPS.fill:\n this.fill();\n break;\n\n case _util.OPS.eoFill:\n this.eoFill();\n break;\n\n case _util.OPS.stroke:\n this.stroke();\n break;\n\n case _util.OPS.fillStroke:\n this.fillStroke();\n break;\n\n case _util.OPS.eoFillStroke:\n this.eoFillStroke();\n break;\n\n case _util.OPS.clip:\n this.clip(\"nonzero\");\n break;\n\n case _util.OPS.eoClip:\n this.clip(\"evenodd\");\n break;\n\n case _util.OPS.paintSolidColorImageMask:\n this.paintSolidColorImageMask();\n break;\n\n case _util.OPS.paintImageXObject:\n this.paintImageXObject(args[0]);\n break;\n\n case _util.OPS.paintInlineImageXObject:\n this.paintInlineImageXObject(args[0]);\n break;\n\n case _util.OPS.paintImageMaskXObject:\n this.paintImageMaskXObject(args[0]);\n break;\n\n case _util.OPS.paintFormXObjectBegin:\n this.paintFormXObjectBegin(args[0], args[1]);\n break;\n\n case _util.OPS.paintFormXObjectEnd:\n this.paintFormXObjectEnd();\n break;\n\n case _util.OPS.closePath:\n this.closePath();\n break;\n\n case _util.OPS.closeStroke:\n this.closeStroke();\n break;\n\n case _util.OPS.closeFillStroke:\n this.closeFillStroke();\n break;\n\n case _util.OPS.closeEOFillStroke:\n this.closeEOFillStroke();\n break;\n\n case _util.OPS.nextLine:\n this.nextLine();\n break;\n\n case _util.OPS.transform:\n this.transform(args[0], args[1], args[2], args[3], args[4], args[5]);\n break;\n\n case _util.OPS.constructPath:\n this.constructPath(args[0], args[1]);\n break;\n\n case _util.OPS.endPath:\n this.endPath();\n break;\n\n case 92:\n this.group(opTreeElement.items);\n break;\n\n default:\n (0, _util.warn)(\"Unimplemented operator \".concat(fn));\n break;\n }\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n }\n }, {\n key: \"setWordSpacing\",\n value: function setWordSpacing(wordSpacing) {\n this.current.wordSpacing = wordSpacing;\n }\n }, {\n key: \"setCharSpacing\",\n value: function setCharSpacing(charSpacing) {\n this.current.charSpacing = charSpacing;\n }\n }, {\n key: \"nextLine\",\n value: function nextLine() {\n this.moveText(0, this.current.leading);\n }\n }, {\n key: \"setTextMatrix\",\n value: function setTextMatrix(a, b, c, d, e, f) {\n var current = this.current;\n current.textMatrix = current.lineMatrix = [a, b, c, d, e, f];\n current.textMatrixScale = Math.sqrt(a * a + b * b);\n current.x = current.lineX = 0;\n current.y = current.lineY = 0;\n current.xcoords = [];\n current.ycoords = [];\n current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n current.tspan.setAttributeNS(null, \"font-family\", current.fontFamily);\n current.tspan.setAttributeNS(null, \"font-size\", \"\".concat(pf(current.fontSize), \"px\"));\n current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n current.txtElement = this.svgFactory.createElement(\"svg:text\");\n current.txtElement.appendChild(current.tspan);\n }\n }, {\n key: \"beginText\",\n value: function beginText() {\n var current = this.current;\n current.x = current.lineX = 0;\n current.y = current.lineY = 0;\n current.textMatrix = _util.IDENTITY_MATRIX;\n current.lineMatrix = _util.IDENTITY_MATRIX;\n current.textMatrixScale = 1;\n current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n current.txtElement = this.svgFactory.createElement(\"svg:text\");\n current.txtgrp = this.svgFactory.createElement(\"svg:g\");\n current.xcoords = [];\n current.ycoords = [];\n }\n }, {\n key: \"moveText\",\n value: function moveText(x, y) {\n var current = this.current;\n current.x = current.lineX += x;\n current.y = current.lineY += y;\n current.xcoords = [];\n current.ycoords = [];\n current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n current.tspan.setAttributeNS(null, \"font-family\", current.fontFamily);\n current.tspan.setAttributeNS(null, \"font-size\", \"\".concat(pf(current.fontSize), \"px\"));\n current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n }\n }, {\n key: \"showText\",\n value: function showText(glyphs) {\n var current = this.current;\n var font = current.font;\n var fontSize = current.fontSize;\n\n if (fontSize === 0) {\n return;\n }\n\n var fontSizeScale = current.fontSizeScale;\n var charSpacing = current.charSpacing;\n var wordSpacing = current.wordSpacing;\n var fontDirection = current.fontDirection;\n var textHScale = current.textHScale * fontDirection;\n var vertical = font.vertical;\n var spacingDir = vertical ? 1 : -1;\n var defaultVMetrics = font.defaultVMetrics;\n var widthAdvanceScale = fontSize * current.fontMatrix[0];\n var x = 0;\n\n var _iterator4 = _createForOfIteratorHelper(glyphs),\n _step4;\n\n try {\n for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n var glyph = _step4.value;\n\n if (glyph === null) {\n x += fontDirection * wordSpacing;\n continue;\n } else if ((0, _util.isNum)(glyph)) {\n x += spacingDir * glyph * fontSize / 1000;\n continue;\n }\n\n var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n var character = glyph.fontChar;\n var scaledX = void 0,\n scaledY = void 0;\n var width = glyph.width;\n\n if (vertical) {\n var vx = void 0;\n var vmetric = glyph.vmetric || defaultVMetrics;\n vx = glyph.vmetric ? vmetric[1] : width * 0.5;\n vx = -vx * widthAdvanceScale;\n var vy = vmetric[2] * widthAdvanceScale;\n width = vmetric ? -vmetric[0] : width;\n scaledX = vx / fontSizeScale;\n scaledY = (x + vy) / fontSizeScale;\n } else {\n scaledX = x / fontSizeScale;\n scaledY = 0;\n }\n\n if (glyph.isInFont || font.missingFile) {\n current.xcoords.push(current.x + scaledX);\n\n if (vertical) {\n current.ycoords.push(-current.y + scaledY);\n }\n\n current.tspan.textContent += character;\n } else {}\n\n var charWidth = void 0;\n\n if (vertical) {\n charWidth = width * widthAdvanceScale - spacing * fontDirection;\n } else {\n charWidth = width * widthAdvanceScale + spacing * fontDirection;\n }\n\n x += charWidth;\n }\n } catch (err) {\n _iterator4.e(err);\n } finally {\n _iterator4.f();\n }\n\n current.tspan.setAttributeNS(null, \"x\", current.xcoords.map(pf).join(\" \"));\n\n if (vertical) {\n current.tspan.setAttributeNS(null, \"y\", current.ycoords.map(pf).join(\" \"));\n } else {\n current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n }\n\n if (vertical) {\n current.y -= x;\n } else {\n current.x += x * textHScale;\n }\n\n current.tspan.setAttributeNS(null, \"font-family\", current.fontFamily);\n current.tspan.setAttributeNS(null, \"font-size\", \"\".concat(pf(current.fontSize), \"px\"));\n\n if (current.fontStyle !== SVG_DEFAULTS.fontStyle) {\n current.tspan.setAttributeNS(null, \"font-style\", current.fontStyle);\n }\n\n if (current.fontWeight !== SVG_DEFAULTS.fontWeight) {\n current.tspan.setAttributeNS(null, \"font-weight\", current.fontWeight);\n }\n\n var fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n\n if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n if (current.fillColor !== SVG_DEFAULTS.fillColor) {\n current.tspan.setAttributeNS(null, \"fill\", current.fillColor);\n }\n\n if (current.fillAlpha < 1) {\n current.tspan.setAttributeNS(null, \"fill-opacity\", current.fillAlpha);\n }\n } else if (current.textRenderingMode === _util.TextRenderingMode.ADD_TO_PATH) {\n current.tspan.setAttributeNS(null, \"fill\", \"transparent\");\n } else {\n current.tspan.setAttributeNS(null, \"fill\", \"none\");\n }\n\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n var lineWidthScale = 1 / (current.textMatrixScale || 1);\n\n this._setStrokeAttributes(current.tspan, lineWidthScale);\n }\n\n var textMatrix = current.textMatrix;\n\n if (current.textRise !== 0) {\n textMatrix = textMatrix.slice();\n textMatrix[5] += current.textRise;\n }\n\n current.txtElement.setAttributeNS(null, \"transform\", \"\".concat(pm(textMatrix), \" scale(\").concat(pf(textHScale), \", -1)\"));\n current.txtElement.setAttributeNS(XML_NS, \"xml:space\", \"preserve\");\n current.txtElement.appendChild(current.tspan);\n current.txtgrp.appendChild(current.txtElement);\n\n this._ensureTransformGroup().appendChild(current.txtElement);\n }\n }, {\n key: \"setLeadingMoveText\",\n value: function setLeadingMoveText(x, y) {\n this.setLeading(-y);\n this.moveText(x, y);\n }\n }, {\n key: \"addFontStyle\",\n value: function addFontStyle(fontObj) {\n if (!fontObj.data) {\n throw new Error(\"addFontStyle: No font data available, \" + 'ensure that the \"fontExtraProperties\" API parameter is set.');\n }\n\n if (!this.cssStyle) {\n this.cssStyle = this.svgFactory.createElement(\"svg:style\");\n this.cssStyle.setAttributeNS(null, \"type\", \"text/css\");\n this.defs.appendChild(this.cssStyle);\n }\n\n var url = (0, _util.createObjectURL)(fontObj.data, fontObj.mimetype, this.forceDataSchema);\n this.cssStyle.textContent += \"@font-face { font-family: \\\"\".concat(fontObj.loadedName, \"\\\";\") + \" src: url(\".concat(url, \"); }\\n\");\n }\n }, {\n key: \"setFont\",\n value: function setFont(details) {\n var current = this.current;\n var fontObj = this.commonObjs.get(details[0]);\n var size = details[1];\n current.font = fontObj;\n\n if (this.embedFonts && !fontObj.missingFile && !this.embeddedFonts[fontObj.loadedName]) {\n this.addFontStyle(fontObj);\n this.embeddedFonts[fontObj.loadedName] = fontObj;\n }\n\n current.fontMatrix = fontObj.fontMatrix ? fontObj.fontMatrix : _util.FONT_IDENTITY_MATRIX;\n var bold = \"normal\";\n\n if (fontObj.black) {\n bold = \"900\";\n } else if (fontObj.bold) {\n bold = \"bold\";\n }\n\n var italic = fontObj.italic ? \"italic\" : \"normal\";\n\n if (size < 0) {\n size = -size;\n current.fontDirection = -1;\n } else {\n current.fontDirection = 1;\n }\n\n current.fontSize = size;\n current.fontFamily = fontObj.loadedName;\n current.fontWeight = bold;\n current.fontStyle = italic;\n current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n current.xcoords = [];\n current.ycoords = [];\n }\n }, {\n key: \"endText\",\n value: function endText() {\n var current = this.current;\n\n if (current.textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG && current.txtElement && current.txtElement.hasChildNodes()) {\n current.element = current.txtElement;\n this.clip(\"nonzero\");\n this.endPath();\n }\n }\n }, {\n key: \"setLineWidth\",\n value: function setLineWidth(width) {\n if (width > 0) {\n this.current.lineWidth = width;\n }\n }\n }, {\n key: \"setLineCap\",\n value: function setLineCap(style) {\n this.current.lineCap = LINE_CAP_STYLES[style];\n }\n }, {\n key: \"setLineJoin\",\n value: function setLineJoin(style) {\n this.current.lineJoin = LINE_JOIN_STYLES[style];\n }\n }, {\n key: \"setMiterLimit\",\n value: function setMiterLimit(limit) {\n this.current.miterLimit = limit;\n }\n }, {\n key: \"setStrokeAlpha\",\n value: function setStrokeAlpha(strokeAlpha) {\n this.current.strokeAlpha = strokeAlpha;\n }\n }, {\n key: \"setStrokeRGBColor\",\n value: function setStrokeRGBColor(r, g, b) {\n this.current.strokeColor = _util.Util.makeCssRgb(r, g, b);\n }\n }, {\n key: \"setFillAlpha\",\n value: function setFillAlpha(fillAlpha) {\n this.current.fillAlpha = fillAlpha;\n }\n }, {\n key: \"setFillRGBColor\",\n value: function setFillRGBColor(r, g, b) {\n this.current.fillColor = _util.Util.makeCssRgb(r, g, b);\n this.current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n this.current.xcoords = [];\n this.current.ycoords = [];\n }\n }, {\n key: \"setStrokeColorN\",\n value: function setStrokeColorN(args) {\n this.current.strokeColor = this._makeColorN_Pattern(args);\n }\n }, {\n key: \"setFillColorN\",\n value: function setFillColorN(args) {\n this.current.fillColor = this._makeColorN_Pattern(args);\n }\n }, {\n key: \"shadingFill\",\n value: function shadingFill(args) {\n var width = this.viewport.width;\n var height = this.viewport.height;\n\n var inv = _util.Util.inverseTransform(this.transformMatrix);\n\n var bl = _util.Util.applyTransform([0, 0], inv);\n\n var br = _util.Util.applyTransform([0, height], inv);\n\n var ul = _util.Util.applyTransform([width, 0], inv);\n\n var ur = _util.Util.applyTransform([width, height], inv);\n\n var x0 = Math.min(bl[0], br[0], ul[0], ur[0]);\n var y0 = Math.min(bl[1], br[1], ul[1], ur[1]);\n var x1 = Math.max(bl[0], br[0], ul[0], ur[0]);\n var y1 = Math.max(bl[1], br[1], ul[1], ur[1]);\n var rect = this.svgFactory.createElement(\"svg:rect\");\n rect.setAttributeNS(null, \"x\", x0);\n rect.setAttributeNS(null, \"y\", y0);\n rect.setAttributeNS(null, \"width\", x1 - x0);\n rect.setAttributeNS(null, \"height\", y1 - y0);\n rect.setAttributeNS(null, \"fill\", this._makeShadingPattern(args));\n\n if (this.current.fillAlpha < 1) {\n rect.setAttributeNS(null, \"fill-opacity\", this.current.fillAlpha);\n }\n\n this._ensureTransformGroup().appendChild(rect);\n }\n }, {\n key: \"_makeColorN_Pattern\",\n value: function _makeColorN_Pattern(args) {\n if (args[0] === \"TilingPattern\") {\n return this._makeTilingPattern(args);\n }\n\n return this._makeShadingPattern(args);\n }\n }, {\n key: \"_makeTilingPattern\",\n value: function _makeTilingPattern(args) {\n var color = args[1];\n var operatorList = args[2];\n var matrix = args[3] || _util.IDENTITY_MATRIX;\n\n var _args$ = _slicedToArray(args[4], 4),\n x0 = _args$[0],\n y0 = _args$[1],\n x1 = _args$[2],\n y1 = _args$[3];\n\n var xstep = args[5];\n var ystep = args[6];\n var paintType = args[7];\n var tilingId = \"shading\".concat(shadingCount++);\n\n var _Util$applyTransform = _util.Util.applyTransform([x0, y0], matrix),\n _Util$applyTransform2 = _slicedToArray(_Util$applyTransform, 2),\n tx0 = _Util$applyTransform2[0],\n ty0 = _Util$applyTransform2[1];\n\n var _Util$applyTransform3 = _util.Util.applyTransform([x1, y1], matrix),\n _Util$applyTransform4 = _slicedToArray(_Util$applyTransform3, 2),\n tx1 = _Util$applyTransform4[0],\n ty1 = _Util$applyTransform4[1];\n\n var _Util$singularValueDe = _util.Util.singularValueDecompose2dScale(matrix),\n _Util$singularValueDe2 = _slicedToArray(_Util$singularValueDe, 2),\n xscale = _Util$singularValueDe2[0],\n yscale = _Util$singularValueDe2[1];\n\n var txstep = xstep * xscale;\n var tystep = ystep * yscale;\n var tiling = this.svgFactory.createElement(\"svg:pattern\");\n tiling.setAttributeNS(null, \"id\", tilingId);\n tiling.setAttributeNS(null, \"patternUnits\", \"userSpaceOnUse\");\n tiling.setAttributeNS(null, \"width\", txstep);\n tiling.setAttributeNS(null, \"height\", tystep);\n tiling.setAttributeNS(null, \"x\", \"\".concat(tx0));\n tiling.setAttributeNS(null, \"y\", \"\".concat(ty0));\n var svg = this.svg;\n var transformMatrix = this.transformMatrix;\n var fillColor = this.current.fillColor;\n var strokeColor = this.current.strokeColor;\n var bbox = this.svgFactory.create(tx1 - tx0, ty1 - ty0);\n this.svg = bbox;\n this.transformMatrix = matrix;\n\n if (paintType === 2) {\n var cssColor = _util.Util.makeCssRgb.apply(_util.Util, _toConsumableArray(color));\n\n this.current.fillColor = cssColor;\n this.current.strokeColor = cssColor;\n }\n\n this.executeOpTree(this.convertOpList(operatorList));\n this.svg = svg;\n this.transformMatrix = transformMatrix;\n this.current.fillColor = fillColor;\n this.current.strokeColor = strokeColor;\n tiling.appendChild(bbox.childNodes[0]);\n this.defs.appendChild(tiling);\n return \"url(#\".concat(tilingId, \")\");\n }\n }, {\n key: \"_makeShadingPattern\",\n value: function _makeShadingPattern(args) {\n switch (args[0]) {\n case \"RadialAxial\":\n var shadingId = \"shading\".concat(shadingCount++);\n var colorStops = args[3];\n var gradient;\n\n switch (args[1]) {\n case \"axial\":\n var point0 = args[4];\n var point1 = args[5];\n gradient = this.svgFactory.createElement(\"svg:linearGradient\");\n gradient.setAttributeNS(null, \"id\", shadingId);\n gradient.setAttributeNS(null, \"gradientUnits\", \"userSpaceOnUse\");\n gradient.setAttributeNS(null, \"x1\", point0[0]);\n gradient.setAttributeNS(null, \"y1\", point0[1]);\n gradient.setAttributeNS(null, \"x2\", point1[0]);\n gradient.setAttributeNS(null, \"y2\", point1[1]);\n break;\n\n case \"radial\":\n var focalPoint = args[4];\n var circlePoint = args[5];\n var focalRadius = args[6];\n var circleRadius = args[7];\n gradient = this.svgFactory.createElement(\"svg:radialGradient\");\n gradient.setAttributeNS(null, \"id\", shadingId);\n gradient.setAttributeNS(null, \"gradientUnits\", \"userSpaceOnUse\");\n gradient.setAttributeNS(null, \"cx\", circlePoint[0]);\n gradient.setAttributeNS(null, \"cy\", circlePoint[1]);\n gradient.setAttributeNS(null, \"r\", circleRadius);\n gradient.setAttributeNS(null, \"fx\", focalPoint[0]);\n gradient.setAttributeNS(null, \"fy\", focalPoint[1]);\n gradient.setAttributeNS(null, \"fr\", focalRadius);\n break;\n\n default:\n throw new Error(\"Unknown RadialAxial type: \".concat(args[1]));\n }\n\n var _iterator5 = _createForOfIteratorHelper(colorStops),\n _step5;\n\n try {\n for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {\n var colorStop = _step5.value;\n var stop = this.svgFactory.createElement(\"svg:stop\");\n stop.setAttributeNS(null, \"offset\", colorStop[0]);\n stop.setAttributeNS(null, \"stop-color\", colorStop[1]);\n gradient.appendChild(stop);\n }\n } catch (err) {\n _iterator5.e(err);\n } finally {\n _iterator5.f();\n }\n\n this.defs.appendChild(gradient);\n return \"url(#\".concat(shadingId, \")\");\n\n case \"Mesh\":\n (0, _util.warn)(\"Unimplemented pattern Mesh\");\n return null;\n\n case \"Dummy\":\n return \"hotpink\";\n\n default:\n throw new Error(\"Unknown IR type: \".concat(args[0]));\n }\n }\n }, {\n key: \"setDash\",\n value: function setDash(dashArray, dashPhase) {\n this.current.dashArray = dashArray;\n this.current.dashPhase = dashPhase;\n }\n }, {\n key: \"constructPath\",\n value: function constructPath(ops, args) {\n var current = this.current;\n var x = current.x,\n y = current.y;\n var d = [];\n var j = 0;\n\n var _iterator6 = _createForOfIteratorHelper(ops),\n _step6;\n\n try {\n for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {\n var op = _step6.value;\n\n switch (op | 0) {\n case _util.OPS.rectangle:\n x = args[j++];\n y = args[j++];\n var width = args[j++];\n var height = args[j++];\n var xw = x + width;\n var yh = y + height;\n d.push(\"M\", pf(x), pf(y), \"L\", pf(xw), pf(y), \"L\", pf(xw), pf(yh), \"L\", pf(x), pf(yh), \"Z\");\n break;\n\n case _util.OPS.moveTo:\n x = args[j++];\n y = args[j++];\n d.push(\"M\", pf(x), pf(y));\n break;\n\n case _util.OPS.lineTo:\n x = args[j++];\n y = args[j++];\n d.push(\"L\", pf(x), pf(y));\n break;\n\n case _util.OPS.curveTo:\n x = args[j + 4];\n y = args[j + 5];\n d.push(\"C\", pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3]), pf(x), pf(y));\n j += 6;\n break;\n\n case _util.OPS.curveTo2:\n d.push(\"C\", pf(x), pf(y), pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3]));\n x = args[j + 2];\n y = args[j + 3];\n j += 4;\n break;\n\n case _util.OPS.curveTo3:\n x = args[j + 2];\n y = args[j + 3];\n d.push(\"C\", pf(args[j]), pf(args[j + 1]), pf(x), pf(y), pf(x), pf(y));\n j += 4;\n break;\n\n case _util.OPS.closePath:\n d.push(\"Z\");\n break;\n }\n }\n } catch (err) {\n _iterator6.e(err);\n } finally {\n _iterator6.f();\n }\n\n d = d.join(\" \");\n\n if (current.path && ops.length > 0 && ops[0] !== _util.OPS.rectangle && ops[0] !== _util.OPS.moveTo) {\n d = current.path.getAttributeNS(null, \"d\") + d;\n } else {\n current.path = this.svgFactory.createElement(\"svg:path\");\n\n this._ensureTransformGroup().appendChild(current.path);\n }\n\n current.path.setAttributeNS(null, \"d\", d);\n current.path.setAttributeNS(null, \"fill\", \"none\");\n current.element = current.path;\n current.setCurrentPoint(x, y);\n }\n }, {\n key: \"endPath\",\n value: function endPath() {\n var current = this.current;\n current.path = null;\n\n if (!this.pendingClip) {\n return;\n }\n\n if (!current.element) {\n this.pendingClip = null;\n return;\n }\n\n var clipId = \"clippath\".concat(clipCount++);\n var clipPath = this.svgFactory.createElement(\"svg:clipPath\");\n clipPath.setAttributeNS(null, \"id\", clipId);\n clipPath.setAttributeNS(null, \"transform\", pm(this.transformMatrix));\n var clipElement = current.element.cloneNode(true);\n\n if (this.pendingClip === \"evenodd\") {\n clipElement.setAttributeNS(null, \"clip-rule\", \"evenodd\");\n } else {\n clipElement.setAttributeNS(null, \"clip-rule\", \"nonzero\");\n }\n\n this.pendingClip = null;\n clipPath.appendChild(clipElement);\n this.defs.appendChild(clipPath);\n\n if (current.activeClipUrl) {\n current.clipGroup = null;\n this.extraStack.forEach(function (prev) {\n prev.clipGroup = null;\n });\n clipPath.setAttributeNS(null, \"clip-path\", current.activeClipUrl);\n }\n\n current.activeClipUrl = \"url(#\".concat(clipId, \")\");\n this.tgrp = null;\n }\n }, {\n key: \"clip\",\n value: function clip(type) {\n this.pendingClip = type;\n }\n }, {\n key: \"closePath\",\n value: function closePath() {\n var current = this.current;\n\n if (current.path) {\n var d = \"\".concat(current.path.getAttributeNS(null, \"d\"), \"Z\");\n current.path.setAttributeNS(null, \"d\", d);\n }\n }\n }, {\n key: \"setLeading\",\n value: function setLeading(leading) {\n this.current.leading = -leading;\n }\n }, {\n key: \"setTextRise\",\n value: function setTextRise(textRise) {\n this.current.textRise = textRise;\n }\n }, {\n key: \"setTextRenderingMode\",\n value: function setTextRenderingMode(textRenderingMode) {\n this.current.textRenderingMode = textRenderingMode;\n }\n }, {\n key: \"setHScale\",\n value: function setHScale(scale) {\n this.current.textHScale = scale / 100;\n }\n }, {\n key: \"setRenderingIntent\",\n value: function setRenderingIntent(intent) {}\n }, {\n key: \"setFlatness\",\n value: function setFlatness(flatness) {}\n }, {\n key: \"setGState\",\n value: function setGState(states) {\n var _iterator7 = _createForOfIteratorHelper(states),\n _step7;\n\n try {\n for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {\n var _step7$value = _slicedToArray(_step7.value, 2),\n key = _step7$value[0],\n value = _step7$value[1];\n\n switch (key) {\n case \"LW\":\n this.setLineWidth(value);\n break;\n\n case \"LC\":\n this.setLineCap(value);\n break;\n\n case \"LJ\":\n this.setLineJoin(value);\n break;\n\n case \"ML\":\n this.setMiterLimit(value);\n break;\n\n case \"D\":\n this.setDash(value[0], value[1]);\n break;\n\n case \"RI\":\n this.setRenderingIntent(value);\n break;\n\n case \"FL\":\n this.setFlatness(value);\n break;\n\n case \"Font\":\n this.setFont(value);\n break;\n\n case \"CA\":\n this.setStrokeAlpha(value);\n break;\n\n case \"ca\":\n this.setFillAlpha(value);\n break;\n\n default:\n (0, _util.warn)(\"Unimplemented graphic state operator \".concat(key));\n break;\n }\n }\n } catch (err) {\n _iterator7.e(err);\n } finally {\n _iterator7.f();\n }\n }\n }, {\n key: \"fill\",\n value: function fill() {\n var current = this.current;\n\n if (current.element) {\n current.element.setAttributeNS(null, \"fill\", current.fillColor);\n current.element.setAttributeNS(null, \"fill-opacity\", current.fillAlpha);\n this.endPath();\n }\n }\n }, {\n key: \"stroke\",\n value: function stroke() {\n var current = this.current;\n\n if (current.element) {\n this._setStrokeAttributes(current.element);\n\n current.element.setAttributeNS(null, \"fill\", \"none\");\n this.endPath();\n }\n }\n }, {\n key: \"_setStrokeAttributes\",\n value: function _setStrokeAttributes(element) {\n var lineWidthScale = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n var current = this.current;\n var dashArray = current.dashArray;\n\n if (lineWidthScale !== 1 && dashArray.length > 0) {\n dashArray = dashArray.map(function (value) {\n return lineWidthScale * value;\n });\n }\n\n element.setAttributeNS(null, \"stroke\", current.strokeColor);\n element.setAttributeNS(null, \"stroke-opacity\", current.strokeAlpha);\n element.setAttributeNS(null, \"stroke-miterlimit\", pf(current.miterLimit));\n element.setAttributeNS(null, \"stroke-linecap\", current.lineCap);\n element.setAttributeNS(null, \"stroke-linejoin\", current.lineJoin);\n element.setAttributeNS(null, \"stroke-width\", pf(lineWidthScale * current.lineWidth) + \"px\");\n element.setAttributeNS(null, \"stroke-dasharray\", dashArray.map(pf).join(\" \"));\n element.setAttributeNS(null, \"stroke-dashoffset\", pf(lineWidthScale * current.dashPhase) + \"px\");\n }\n }, {\n key: \"eoFill\",\n value: function eoFill() {\n if (this.current.element) {\n this.current.element.setAttributeNS(null, \"fill-rule\", \"evenodd\");\n }\n\n this.fill();\n }\n }, {\n key: \"fillStroke\",\n value: function fillStroke() {\n this.stroke();\n this.fill();\n }\n }, {\n key: \"eoFillStroke\",\n value: function eoFillStroke() {\n if (this.current.element) {\n this.current.element.setAttributeNS(null, \"fill-rule\", \"evenodd\");\n }\n\n this.fillStroke();\n }\n }, {\n key: \"closeStroke\",\n value: function closeStroke() {\n this.closePath();\n this.stroke();\n }\n }, {\n key: \"closeFillStroke\",\n value: function closeFillStroke() {\n this.closePath();\n this.fillStroke();\n }\n }, {\n key: \"closeEOFillStroke\",\n value: function closeEOFillStroke() {\n this.closePath();\n this.eoFillStroke();\n }\n }, {\n key: \"paintSolidColorImageMask\",\n value: function paintSolidColorImageMask() {\n var rect = this.svgFactory.createElement(\"svg:rect\");\n rect.setAttributeNS(null, \"x\", \"0\");\n rect.setAttributeNS(null, \"y\", \"0\");\n rect.setAttributeNS(null, \"width\", \"1px\");\n rect.setAttributeNS(null, \"height\", \"1px\");\n rect.setAttributeNS(null, \"fill\", this.current.fillColor);\n\n this._ensureTransformGroup().appendChild(rect);\n }\n }, {\n key: \"paintImageXObject\",\n value: function paintImageXObject(objId) {\n var imgData = this.objs.get(objId);\n\n if (!imgData) {\n (0, _util.warn)(\"Dependent image with object ID \".concat(objId, \" is not ready yet\"));\n return;\n }\n\n this.paintInlineImageXObject(imgData);\n }\n }, {\n key: \"paintInlineImageXObject\",\n value: function paintInlineImageXObject(imgData, mask) {\n var width = imgData.width;\n var height = imgData.height;\n var imgSrc = convertImgDataToPng(imgData, this.forceDataSchema, !!mask);\n var cliprect = this.svgFactory.createElement(\"svg:rect\");\n cliprect.setAttributeNS(null, \"x\", \"0\");\n cliprect.setAttributeNS(null, \"y\", \"0\");\n cliprect.setAttributeNS(null, \"width\", pf(width));\n cliprect.setAttributeNS(null, \"height\", pf(height));\n this.current.element = cliprect;\n this.clip(\"nonzero\");\n var imgEl = this.svgFactory.createElement(\"svg:image\");\n imgEl.setAttributeNS(XLINK_NS, \"xlink:href\", imgSrc);\n imgEl.setAttributeNS(null, \"x\", \"0\");\n imgEl.setAttributeNS(null, \"y\", pf(-height));\n imgEl.setAttributeNS(null, \"width\", pf(width) + \"px\");\n imgEl.setAttributeNS(null, \"height\", pf(height) + \"px\");\n imgEl.setAttributeNS(null, \"transform\", \"scale(\".concat(pf(1 / width), \" \").concat(pf(-1 / height), \")\"));\n\n if (mask) {\n mask.appendChild(imgEl);\n } else {\n this._ensureTransformGroup().appendChild(imgEl);\n }\n }\n }, {\n key: \"paintImageMaskXObject\",\n value: function paintImageMaskXObject(imgData) {\n var current = this.current;\n var width = imgData.width;\n var height = imgData.height;\n var fillColor = current.fillColor;\n current.maskId = \"mask\".concat(maskCount++);\n var mask = this.svgFactory.createElement(\"svg:mask\");\n mask.setAttributeNS(null, \"id\", current.maskId);\n var rect = this.svgFactory.createElement(\"svg:rect\");\n rect.setAttributeNS(null, \"x\", \"0\");\n rect.setAttributeNS(null, \"y\", \"0\");\n rect.setAttributeNS(null, \"width\", pf(width));\n rect.setAttributeNS(null, \"height\", pf(height));\n rect.setAttributeNS(null, \"fill\", fillColor);\n rect.setAttributeNS(null, \"mask\", \"url(#\".concat(current.maskId, \")\"));\n this.defs.appendChild(mask);\n\n this._ensureTransformGroup().appendChild(rect);\n\n this.paintInlineImageXObject(imgData, mask);\n }\n }, {\n key: \"paintFormXObjectBegin\",\n value: function paintFormXObjectBegin(matrix, bbox) {\n if (Array.isArray(matrix) && matrix.length === 6) {\n this.transform(matrix[0], matrix[1], matrix[2], matrix[3], matrix[4], matrix[5]);\n }\n\n if (bbox) {\n var width = bbox[2] - bbox[0];\n var height = bbox[3] - bbox[1];\n var cliprect = this.svgFactory.createElement(\"svg:rect\");\n cliprect.setAttributeNS(null, \"x\", bbox[0]);\n cliprect.setAttributeNS(null, \"y\", bbox[1]);\n cliprect.setAttributeNS(null, \"width\", pf(width));\n cliprect.setAttributeNS(null, \"height\", pf(height));\n this.current.element = cliprect;\n this.clip(\"nonzero\");\n this.endPath();\n }\n }\n }, {\n key: \"paintFormXObjectEnd\",\n value: function paintFormXObjectEnd() {}\n }, {\n key: \"_initialize\",\n value: function _initialize(viewport) {\n var svg = this.svgFactory.create(viewport.width, viewport.height);\n var definitions = this.svgFactory.createElement(\"svg:defs\");\n svg.appendChild(definitions);\n this.defs = definitions;\n var rootGroup = this.svgFactory.createElement(\"svg:g\");\n rootGroup.setAttributeNS(null, \"transform\", pm(viewport.transform));\n svg.appendChild(rootGroup);\n this.svg = rootGroup;\n return svg;\n }\n }, {\n key: \"_ensureClipGroup\",\n value: function _ensureClipGroup() {\n if (!this.current.clipGroup) {\n var clipGroup = this.svgFactory.createElement(\"svg:g\");\n clipGroup.setAttributeNS(null, \"clip-path\", this.current.activeClipUrl);\n this.svg.appendChild(clipGroup);\n this.current.clipGroup = clipGroup;\n }\n\n return this.current.clipGroup;\n }\n }, {\n key: \"_ensureTransformGroup\",\n value: function _ensureTransformGroup() {\n if (!this.tgrp) {\n this.tgrp = this.svgFactory.createElement(\"svg:g\");\n this.tgrp.setAttributeNS(null, \"transform\", pm(this.transformMatrix));\n\n if (this.current.activeClipUrl) {\n this._ensureClipGroup().appendChild(this.tgrp);\n } else {\n this.svg.appendChild(this.tgrp);\n }\n }\n\n return this.tgrp;\n }\n }]);\n\n return SVGGraphics;\n }();\n}\n\n/***/ }),\n/* 212 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFNodeStream = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _network_utils = __w_pdfjs_require__(213);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n;\n\nvar fs = require(\"fs\");\n\nvar http = require(\"http\");\n\nvar https = require(\"https\");\n\nvar url = require(\"url\");\n\nvar fileUriRegex = /^file:\\/\\/\\/[a-zA-Z]:\\//;\n\nfunction parseUrl(sourceUrl) {\n var parsedUrl = url.parse(sourceUrl);\n\n if (parsedUrl.protocol === \"file:\" || parsedUrl.host) {\n return parsedUrl;\n }\n\n if (/^[a-z]:[/\\\\]/i.test(sourceUrl)) {\n return url.parse(\"file:///\".concat(sourceUrl));\n }\n\n if (!parsedUrl.host) {\n parsedUrl.protocol = \"file:\";\n }\n\n return parsedUrl;\n}\n\nvar PDFNodeStream = /*#__PURE__*/function () {\n function PDFNodeStream(source) {\n _classCallCheck(this, PDFNodeStream);\n\n this.source = source;\n this.url = parseUrl(source.url);\n this.isHttp = this.url.protocol === \"http:\" || this.url.protocol === \"https:\";\n this.isFsUrl = this.url.protocol === \"file:\";\n this.httpHeaders = this.isHttp && source.httpHeaders || {};\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n\n _createClass(PDFNodeStream, [{\n key: \"getFullReader\",\n value: function getFullReader() {\n (0, _util.assert)(!this._fullRequestReader, \"PDFNodeStream.getFullReader can only be called once.\");\n this._fullRequestReader = this.isFsUrl ? new PDFNodeStreamFsFullReader(this) : new PDFNodeStreamFullReader(this);\n return this._fullRequestReader;\n }\n }, {\n key: \"getRangeReader\",\n value: function getRangeReader(start, end) {\n if (end <= this._progressiveDataLength) {\n return null;\n }\n\n var rangeReader = this.isFsUrl ? new PDFNodeStreamFsRangeReader(this, start, end) : new PDFNodeStreamRangeReader(this, start, end);\n\n this._rangeRequestReaders.push(rangeReader);\n\n return rangeReader;\n }\n }, {\n key: \"cancelAllRequests\",\n value: function cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n\n var readers = this._rangeRequestReaders.slice(0);\n\n readers.forEach(function (reader) {\n reader.cancel(reason);\n });\n }\n }, {\n key: \"_progressiveDataLength\",\n get: function get() {\n return this._fullRequestReader ? this._fullRequestReader._loaded : 0;\n }\n }]);\n\n return PDFNodeStream;\n}();\n\nexports.PDFNodeStream = PDFNodeStream;\n\nvar BaseFullReader = /*#__PURE__*/function () {\n function BaseFullReader(stream) {\n _classCallCheck(this, BaseFullReader);\n\n this._url = stream.url;\n this._done = false;\n this._storedError = null;\n this.onProgress = null;\n var source = stream.source;\n this._contentLength = source.length;\n this._loaded = 0;\n this._filename = null;\n this._disableRange = source.disableRange || false;\n this._rangeChunkSize = source.rangeChunkSize;\n\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n\n this._isStreamingSupported = !source.disableStream;\n this._isRangeSupported = !source.disableRange;\n this._readableStream = null;\n this._readCapability = (0, _util.createPromiseCapability)();\n this._headersCapability = (0, _util.createPromiseCapability)();\n }\n\n _createClass(BaseFullReader, [{\n key: \"read\",\n value: function () {\n var _read = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee() {\n var chunk, buffer;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return this._readCapability.promise;\n\n case 2:\n if (!this._done) {\n _context.next = 4;\n break;\n }\n\n return _context.abrupt(\"return\", {\n value: undefined,\n done: true\n });\n\n case 4:\n if (!this._storedError) {\n _context.next = 6;\n break;\n }\n\n throw this._storedError;\n\n case 6:\n chunk = this._readableStream.read();\n\n if (!(chunk === null)) {\n _context.next = 10;\n break;\n }\n\n this._readCapability = (0, _util.createPromiseCapability)();\n return _context.abrupt(\"return\", this.read());\n\n case 10:\n this._loaded += chunk.length;\n\n if (this.onProgress) {\n this.onProgress({\n loaded: this._loaded,\n total: this._contentLength\n });\n }\n\n buffer = new Uint8Array(chunk).buffer;\n return _context.abrupt(\"return\", {\n value: buffer,\n done: false\n });\n\n case 14:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function read() {\n return _read.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n if (!this._readableStream) {\n this._error(reason);\n\n return;\n }\n\n this._readableStream.destroy(reason);\n }\n }, {\n key: \"_error\",\n value: function _error(reason) {\n this._storedError = reason;\n\n this._readCapability.resolve();\n }\n }, {\n key: \"_setReadableStream\",\n value: function _setReadableStream(readableStream) {\n var _this = this;\n\n this._readableStream = readableStream;\n readableStream.on(\"readable\", function () {\n _this._readCapability.resolve();\n });\n readableStream.on(\"end\", function () {\n readableStream.destroy();\n _this._done = true;\n\n _this._readCapability.resolve();\n });\n readableStream.on(\"error\", function (reason) {\n _this._error(reason);\n });\n\n if (!this._isStreamingSupported && this._isRangeSupported) {\n this._error(new _util.AbortException(\"streaming is disabled\"));\n }\n\n if (this._storedError) {\n this._readableStream.destroy(this._storedError);\n }\n }\n }, {\n key: \"headersReady\",\n get: function get() {\n return this._headersCapability.promise;\n }\n }, {\n key: \"filename\",\n get: function get() {\n return this._filename;\n }\n }, {\n key: \"contentLength\",\n get: function get() {\n return this._contentLength;\n }\n }, {\n key: \"isRangeSupported\",\n get: function get() {\n return this._isRangeSupported;\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return this._isStreamingSupported;\n }\n }]);\n\n return BaseFullReader;\n}();\n\nvar BaseRangeReader = /*#__PURE__*/function () {\n function BaseRangeReader(stream) {\n _classCallCheck(this, BaseRangeReader);\n\n this._url = stream.url;\n this._done = false;\n this._storedError = null;\n this.onProgress = null;\n this._loaded = 0;\n this._readableStream = null;\n this._readCapability = (0, _util.createPromiseCapability)();\n var source = stream.source;\n this._isStreamingSupported = !source.disableStream;\n }\n\n _createClass(BaseRangeReader, [{\n key: \"read\",\n value: function () {\n var _read2 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2() {\n var chunk, buffer;\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return this._readCapability.promise;\n\n case 2:\n if (!this._done) {\n _context2.next = 4;\n break;\n }\n\n return _context2.abrupt(\"return\", {\n value: undefined,\n done: true\n });\n\n case 4:\n if (!this._storedError) {\n _context2.next = 6;\n break;\n }\n\n throw this._storedError;\n\n case 6:\n chunk = this._readableStream.read();\n\n if (!(chunk === null)) {\n _context2.next = 10;\n break;\n }\n\n this._readCapability = (0, _util.createPromiseCapability)();\n return _context2.abrupt(\"return\", this.read());\n\n case 10:\n this._loaded += chunk.length;\n\n if (this.onProgress) {\n this.onProgress({\n loaded: this._loaded\n });\n }\n\n buffer = new Uint8Array(chunk).buffer;\n return _context2.abrupt(\"return\", {\n value: buffer,\n done: false\n });\n\n case 14:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function read() {\n return _read2.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n if (!this._readableStream) {\n this._error(reason);\n\n return;\n }\n\n this._readableStream.destroy(reason);\n }\n }, {\n key: \"_error\",\n value: function _error(reason) {\n this._storedError = reason;\n\n this._readCapability.resolve();\n }\n }, {\n key: \"_setReadableStream\",\n value: function _setReadableStream(readableStream) {\n var _this2 = this;\n\n this._readableStream = readableStream;\n readableStream.on(\"readable\", function () {\n _this2._readCapability.resolve();\n });\n readableStream.on(\"end\", function () {\n readableStream.destroy();\n _this2._done = true;\n\n _this2._readCapability.resolve();\n });\n readableStream.on(\"error\", function (reason) {\n _this2._error(reason);\n });\n\n if (this._storedError) {\n this._readableStream.destroy(this._storedError);\n }\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return this._isStreamingSupported;\n }\n }]);\n\n return BaseRangeReader;\n}();\n\nfunction createRequestOptions(parsedUrl, headers) {\n return {\n protocol: parsedUrl.protocol,\n auth: parsedUrl.auth,\n host: parsedUrl.hostname,\n port: parsedUrl.port,\n path: parsedUrl.path,\n method: \"GET\",\n headers: headers\n };\n}\n\nvar PDFNodeStreamFullReader = /*#__PURE__*/function (_BaseFullReader) {\n _inherits(PDFNodeStreamFullReader, _BaseFullReader);\n\n var _super = _createSuper(PDFNodeStreamFullReader);\n\n function PDFNodeStreamFullReader(stream) {\n var _this3;\n\n _classCallCheck(this, PDFNodeStreamFullReader);\n\n _this3 = _super.call(this, stream);\n\n var handleResponse = function handleResponse(response) {\n if (response.statusCode === 404) {\n var error = new _util.MissingPDFException(\"Missing PDF \\\"\".concat(_this3._url, \"\\\".\"));\n _this3._storedError = error;\n\n _this3._headersCapability.reject(error);\n\n return;\n }\n\n _this3._headersCapability.resolve();\n\n _this3._setReadableStream(response);\n\n var getResponseHeader = function getResponseHeader(name) {\n return _this3._readableStream.headers[name.toLowerCase()];\n };\n\n var _validateRangeRequest = (0, _network_utils.validateRangeRequestCapabilities)({\n getResponseHeader: getResponseHeader,\n isHttp: stream.isHttp,\n rangeChunkSize: _this3._rangeChunkSize,\n disableRange: _this3._disableRange\n }),\n allowRangeRequests = _validateRangeRequest.allowRangeRequests,\n suggestedLength = _validateRangeRequest.suggestedLength;\n\n _this3._isRangeSupported = allowRangeRequests;\n _this3._contentLength = suggestedLength || _this3._contentLength;\n _this3._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);\n };\n\n _this3._request = null;\n\n if (_this3._url.protocol === \"http:\") {\n _this3._request = http.request(createRequestOptions(_this3._url, stream.httpHeaders), handleResponse);\n } else {\n _this3._request = https.request(createRequestOptions(_this3._url, stream.httpHeaders), handleResponse);\n }\n\n _this3._request.on(\"error\", function (reason) {\n _this3._storedError = reason;\n\n _this3._headersCapability.reject(reason);\n });\n\n _this3._request.end();\n\n return _this3;\n }\n\n return PDFNodeStreamFullReader;\n}(BaseFullReader);\n\nvar PDFNodeStreamRangeReader = /*#__PURE__*/function (_BaseRangeReader) {\n _inherits(PDFNodeStreamRangeReader, _BaseRangeReader);\n\n var _super2 = _createSuper(PDFNodeStreamRangeReader);\n\n function PDFNodeStreamRangeReader(stream, start, end) {\n var _this4;\n\n _classCallCheck(this, PDFNodeStreamRangeReader);\n\n _this4 = _super2.call(this, stream);\n _this4._httpHeaders = {};\n\n for (var property in stream.httpHeaders) {\n var value = stream.httpHeaders[property];\n\n if (typeof value === \"undefined\") {\n continue;\n }\n\n _this4._httpHeaders[property] = value;\n }\n\n _this4._httpHeaders.Range = \"bytes=\".concat(start, \"-\").concat(end - 1);\n\n var handleResponse = function handleResponse(response) {\n if (response.statusCode === 404) {\n var error = new _util.MissingPDFException(\"Missing PDF \\\"\".concat(_this4._url, \"\\\".\"));\n _this4._storedError = error;\n return;\n }\n\n _this4._setReadableStream(response);\n };\n\n _this4._request = null;\n\n if (_this4._url.protocol === \"http:\") {\n _this4._request = http.request(createRequestOptions(_this4._url, _this4._httpHeaders), handleResponse);\n } else {\n _this4._request = https.request(createRequestOptions(_this4._url, _this4._httpHeaders), handleResponse);\n }\n\n _this4._request.on(\"error\", function (reason) {\n _this4._storedError = reason;\n });\n\n _this4._request.end();\n\n return _this4;\n }\n\n return PDFNodeStreamRangeReader;\n}(BaseRangeReader);\n\nvar PDFNodeStreamFsFullReader = /*#__PURE__*/function (_BaseFullReader2) {\n _inherits(PDFNodeStreamFsFullReader, _BaseFullReader2);\n\n var _super3 = _createSuper(PDFNodeStreamFsFullReader);\n\n function PDFNodeStreamFsFullReader(stream) {\n var _this5;\n\n _classCallCheck(this, PDFNodeStreamFsFullReader);\n\n _this5 = _super3.call(this, stream);\n var path = decodeURIComponent(_this5._url.path);\n\n if (fileUriRegex.test(_this5._url.href)) {\n path = path.replace(/^\\//, \"\");\n }\n\n fs.lstat(path, function (error, stat) {\n if (error) {\n if (error.code === \"ENOENT\") {\n error = new _util.MissingPDFException(\"Missing PDF \\\"\".concat(path, \"\\\".\"));\n }\n\n _this5._storedError = error;\n\n _this5._headersCapability.reject(error);\n\n return;\n }\n\n _this5._contentLength = stat.size;\n\n _this5._setReadableStream(fs.createReadStream(path));\n\n _this5._headersCapability.resolve();\n });\n return _this5;\n }\n\n return PDFNodeStreamFsFullReader;\n}(BaseFullReader);\n\nvar PDFNodeStreamFsRangeReader = /*#__PURE__*/function (_BaseRangeReader2) {\n _inherits(PDFNodeStreamFsRangeReader, _BaseRangeReader2);\n\n var _super4 = _createSuper(PDFNodeStreamFsRangeReader);\n\n function PDFNodeStreamFsRangeReader(stream, start, end) {\n var _this6;\n\n _classCallCheck(this, PDFNodeStreamFsRangeReader);\n\n _this6 = _super4.call(this, stream);\n var path = decodeURIComponent(_this6._url.path);\n\n if (fileUriRegex.test(_this6._url.href)) {\n path = path.replace(/^\\//, \"\");\n }\n\n _this6._setReadableStream(fs.createReadStream(path, {\n start: start,\n end: end - 1\n }));\n\n return _this6;\n }\n\n return PDFNodeStreamFsRangeReader;\n}(BaseRangeReader);\n\n/***/ }),\n/* 213 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.createResponseStatusError = createResponseStatusError;\nexports.extractFilenameFromHeader = extractFilenameFromHeader;\nexports.validateRangeRequestCapabilities = validateRangeRequestCapabilities;\nexports.validateResponseStatus = validateResponseStatus;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _content_disposition = __w_pdfjs_require__(214);\n\nfunction validateRangeRequestCapabilities(_ref) {\n var getResponseHeader = _ref.getResponseHeader,\n isHttp = _ref.isHttp,\n rangeChunkSize = _ref.rangeChunkSize,\n disableRange = _ref.disableRange;\n (0, _util.assert)(rangeChunkSize > 0, \"Range chunk size must be larger than zero\");\n var returnValues = {\n allowRangeRequests: false,\n suggestedLength: undefined\n };\n var length = parseInt(getResponseHeader(\"Content-Length\"), 10);\n\n if (!Number.isInteger(length)) {\n return returnValues;\n }\n\n returnValues.suggestedLength = length;\n\n if (length <= 2 * rangeChunkSize) {\n return returnValues;\n }\n\n if (disableRange || !isHttp) {\n return returnValues;\n }\n\n if (getResponseHeader(\"Accept-Ranges\") !== \"bytes\") {\n return returnValues;\n }\n\n var contentEncoding = getResponseHeader(\"Content-Encoding\") || \"identity\";\n\n if (contentEncoding !== \"identity\") {\n return returnValues;\n }\n\n returnValues.allowRangeRequests = true;\n return returnValues;\n}\n\nfunction extractFilenameFromHeader(getResponseHeader) {\n var contentDisposition = getResponseHeader(\"Content-Disposition\");\n\n if (contentDisposition) {\n var filename = (0, _content_disposition.getFilenameFromContentDispositionHeader)(contentDisposition);\n\n if (filename.includes(\"%\")) {\n try {\n filename = decodeURIComponent(filename);\n } catch (ex) {}\n }\n\n if (/\\.pdf$/i.test(filename)) {\n return filename;\n }\n }\n\n return null;\n}\n\nfunction createResponseStatusError(status, url) {\n if (status === 404 || status === 0 && url.startsWith(\"file:\")) {\n return new _util.MissingPDFException('Missing PDF \"' + url + '\".');\n }\n\n return new _util.UnexpectedResponseException(\"Unexpected server response (\" + status + ') while retrieving PDF \"' + url + '\".', status);\n}\n\nfunction validateResponseStatus(status) {\n return status === 200 || status === 206;\n}\n\n/***/ }),\n/* 214 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getFilenameFromContentDispositionHeader = getFilenameFromContentDispositionHeader;\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction getFilenameFromContentDispositionHeader(contentDisposition) {\n var needsEncodingFixup = true;\n var tmp = toParamRegExp(\"filename\\\\*\", \"i\").exec(contentDisposition);\n\n if (tmp) {\n tmp = tmp[1];\n var filename = rfc2616unquote(tmp);\n filename = unescape(filename);\n filename = rfc5987decode(filename);\n filename = rfc2047decode(filename);\n return fixupEncoding(filename);\n }\n\n tmp = rfc2231getparam(contentDisposition);\n\n if (tmp) {\n var _filename = rfc2047decode(tmp);\n\n return fixupEncoding(_filename);\n }\n\n tmp = toParamRegExp(\"filename\", \"i\").exec(contentDisposition);\n\n if (tmp) {\n tmp = tmp[1];\n\n var _filename2 = rfc2616unquote(tmp);\n\n _filename2 = rfc2047decode(_filename2);\n return fixupEncoding(_filename2);\n }\n\n function toParamRegExp(attributePattern, flags) {\n return new RegExp(\"(?:^|;)\\\\s*\" + attributePattern + \"\\\\s*=\\\\s*\" + \"(\" + '[^\";\\\\s][^;\\\\s]*' + \"|\" + '\"(?:[^\"\\\\\\\\]|\\\\\\\\\"?)+\"?' + \")\", flags);\n }\n\n function textdecode(encoding, value) {\n if (encoding) {\n if (!/^[\\x00-\\xFF]+$/.test(value)) {\n return value;\n }\n\n try {\n var decoder = new TextDecoder(encoding, {\n fatal: true\n });\n var bytes = Array.from(value, function (ch) {\n return ch.charCodeAt(0) & 0xff;\n });\n value = decoder.decode(new Uint8Array(bytes));\n needsEncodingFixup = false;\n } catch (e) {\n if (/^utf-?8$/i.test(encoding)) {\n try {\n value = decodeURIComponent(escape(value));\n needsEncodingFixup = false;\n } catch (err) {}\n }\n }\n }\n\n return value;\n }\n\n function fixupEncoding(value) {\n if (needsEncodingFixup && /[\\x80-\\xff]/.test(value)) {\n value = textdecode(\"utf-8\", value);\n\n if (needsEncodingFixup) {\n value = textdecode(\"iso-8859-1\", value);\n }\n }\n\n return value;\n }\n\n function rfc2231getparam(contentDispositionStr) {\n var matches = [];\n var match;\n var iter = toParamRegExp(\"filename\\\\*((?!0\\\\d)\\\\d+)(\\\\*?)\", \"ig\");\n\n while ((match = iter.exec(contentDispositionStr)) !== null) {\n var _match = match,\n _match2 = _slicedToArray(_match, 4),\n n = _match2[1],\n quot = _match2[2],\n part = _match2[3];\n\n n = parseInt(n, 10);\n\n if (n in matches) {\n if (n === 0) {\n break;\n }\n\n continue;\n }\n\n matches[n] = [quot, part];\n }\n\n var parts = [];\n\n for (var _n2 = 0; _n2 < matches.length; ++_n2) {\n if (!(_n2 in matches)) {\n break;\n }\n\n var _matches$_n = _slicedToArray(matches[_n2], 2),\n _quot = _matches$_n[0],\n _part = _matches$_n[1];\n\n _part = rfc2616unquote(_part);\n\n if (_quot) {\n _part = unescape(_part);\n\n if (_n2 === 0) {\n _part = rfc5987decode(_part);\n }\n }\n\n parts.push(_part);\n }\n\n return parts.join(\"\");\n }\n\n function rfc2616unquote(value) {\n if (value.startsWith('\"')) {\n var parts = value.slice(1).split('\\\\\"');\n\n for (var i = 0; i < parts.length; ++i) {\n var quotindex = parts[i].indexOf('\"');\n\n if (quotindex !== -1) {\n parts[i] = parts[i].slice(0, quotindex);\n parts.length = i + 1;\n }\n\n parts[i] = parts[i].replace(/\\\\(.)/g, \"$1\");\n }\n\n value = parts.join('\"');\n }\n\n return value;\n }\n\n function rfc5987decode(extvalue) {\n var encodingend = extvalue.indexOf(\"'\");\n\n if (encodingend === -1) {\n return extvalue;\n }\n\n var encoding = extvalue.slice(0, encodingend);\n var langvalue = extvalue.slice(encodingend + 1);\n var value = langvalue.replace(/^[^']*'/, \"\");\n return textdecode(encoding, value);\n }\n\n function rfc2047decode(value) {\n if (!value.startsWith(\"=?\") || /[\\x00-\\x19\\x80-\\xff]/.test(value)) {\n return value;\n }\n\n return value.replace(/=\\?([\\w-]*)\\?([QqBb])\\?((?:[^?]|\\?(?!=))*)\\?=/g, function (matches, charset, encoding, text) {\n if (encoding === \"q\" || encoding === \"Q\") {\n text = text.replace(/_/g, \" \");\n text = text.replace(/=([0-9a-fA-F]{2})/g, function (match, hex) {\n return String.fromCharCode(parseInt(hex, 16));\n });\n return textdecode(charset, text);\n }\n\n try {\n text = atob(text);\n } catch (e) {}\n\n return textdecode(charset, text);\n });\n }\n\n return \"\";\n}\n\n/***/ }),\n/* 215 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFNetworkStream = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _network_utils = __w_pdfjs_require__(213);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n;\nvar OK_RESPONSE = 200;\nvar PARTIAL_CONTENT_RESPONSE = 206;\n\nfunction getArrayBuffer(xhr) {\n var data = xhr.response;\n\n if (typeof data !== \"string\") {\n return data;\n }\n\n var array = (0, _util.stringToBytes)(data);\n return array.buffer;\n}\n\nvar NetworkManager = /*#__PURE__*/function () {\n function NetworkManager(url, args) {\n _classCallCheck(this, NetworkManager);\n\n this.url = url;\n args = args || {};\n this.isHttp = /^https?:/i.test(url);\n this.httpHeaders = this.isHttp && args.httpHeaders || {};\n this.withCredentials = args.withCredentials || false;\n\n this.getXhr = args.getXhr || function NetworkManager_getXhr() {\n return new XMLHttpRequest();\n };\n\n this.currXhrId = 0;\n this.pendingRequests = Object.create(null);\n }\n\n _createClass(NetworkManager, [{\n key: \"requestRange\",\n value: function requestRange(begin, end, listeners) {\n var args = {\n begin: begin,\n end: end\n };\n\n for (var prop in listeners) {\n args[prop] = listeners[prop];\n }\n\n return this.request(args);\n }\n }, {\n key: \"requestFull\",\n value: function requestFull(listeners) {\n return this.request(listeners);\n }\n }, {\n key: \"request\",\n value: function request(args) {\n var xhr = this.getXhr();\n var xhrId = this.currXhrId++;\n var pendingRequest = this.pendingRequests[xhrId] = {\n xhr: xhr\n };\n xhr.open(\"GET\", this.url);\n xhr.withCredentials = this.withCredentials;\n\n for (var property in this.httpHeaders) {\n var value = this.httpHeaders[property];\n\n if (typeof value === \"undefined\") {\n continue;\n }\n\n xhr.setRequestHeader(property, value);\n }\n\n if (this.isHttp && \"begin\" in args && \"end\" in args) {\n xhr.setRequestHeader(\"Range\", \"bytes=\".concat(args.begin, \"-\").concat(args.end - 1));\n pendingRequest.expectedStatus = PARTIAL_CONTENT_RESPONSE;\n } else {\n pendingRequest.expectedStatus = OK_RESPONSE;\n }\n\n xhr.responseType = \"arraybuffer\";\n\n if (args.onError) {\n xhr.onerror = function (evt) {\n args.onError(xhr.status);\n };\n }\n\n xhr.onreadystatechange = this.onStateChange.bind(this, xhrId);\n xhr.onprogress = this.onProgress.bind(this, xhrId);\n pendingRequest.onHeadersReceived = args.onHeadersReceived;\n pendingRequest.onDone = args.onDone;\n pendingRequest.onError = args.onError;\n pendingRequest.onProgress = args.onProgress;\n xhr.send(null);\n return xhrId;\n }\n }, {\n key: \"onProgress\",\n value: function onProgress(xhrId, evt) {\n var pendingRequest = this.pendingRequests[xhrId];\n\n if (!pendingRequest) {\n return;\n }\n\n if (pendingRequest.onProgress) {\n pendingRequest.onProgress(evt);\n }\n }\n }, {\n key: \"onStateChange\",\n value: function onStateChange(xhrId, evt) {\n var pendingRequest = this.pendingRequests[xhrId];\n\n if (!pendingRequest) {\n return;\n }\n\n var xhr = pendingRequest.xhr;\n\n if (xhr.readyState >= 2 && pendingRequest.onHeadersReceived) {\n pendingRequest.onHeadersReceived();\n delete pendingRequest.onHeadersReceived;\n }\n\n if (xhr.readyState !== 4) {\n return;\n }\n\n if (!(xhrId in this.pendingRequests)) {\n return;\n }\n\n delete this.pendingRequests[xhrId];\n\n if (xhr.status === 0 && this.isHttp) {\n if (pendingRequest.onError) {\n pendingRequest.onError(xhr.status);\n }\n\n return;\n }\n\n var xhrStatus = xhr.status || OK_RESPONSE;\n var ok_response_on_range_request = xhrStatus === OK_RESPONSE && pendingRequest.expectedStatus === PARTIAL_CONTENT_RESPONSE;\n\n if (!ok_response_on_range_request && xhrStatus !== pendingRequest.expectedStatus) {\n if (pendingRequest.onError) {\n pendingRequest.onError(xhr.status);\n }\n\n return;\n }\n\n var chunk = getArrayBuffer(xhr);\n\n if (xhrStatus === PARTIAL_CONTENT_RESPONSE) {\n var rangeHeader = xhr.getResponseHeader(\"Content-Range\");\n var matches = /bytes (\\d+)-(\\d+)\\/(\\d+)/.exec(rangeHeader);\n pendingRequest.onDone({\n begin: parseInt(matches[1], 10),\n chunk: chunk\n });\n } else if (chunk) {\n pendingRequest.onDone({\n begin: 0,\n chunk: chunk\n });\n } else if (pendingRequest.onError) {\n pendingRequest.onError(xhr.status);\n }\n }\n }, {\n key: \"hasPendingRequests\",\n value: function hasPendingRequests() {\n for (var xhrId in this.pendingRequests) {\n return true;\n }\n\n return false;\n }\n }, {\n key: \"getRequestXhr\",\n value: function getRequestXhr(xhrId) {\n return this.pendingRequests[xhrId].xhr;\n }\n }, {\n key: \"isPendingRequest\",\n value: function isPendingRequest(xhrId) {\n return xhrId in this.pendingRequests;\n }\n }, {\n key: \"abortAllRequests\",\n value: function abortAllRequests() {\n for (var xhrId in this.pendingRequests) {\n this.abortRequest(xhrId | 0);\n }\n }\n }, {\n key: \"abortRequest\",\n value: function abortRequest(xhrId) {\n var xhr = this.pendingRequests[xhrId].xhr;\n delete this.pendingRequests[xhrId];\n xhr.abort();\n }\n }]);\n\n return NetworkManager;\n}();\n\nvar PDFNetworkStream = /*#__PURE__*/function () {\n function PDFNetworkStream(source) {\n _classCallCheck(this, PDFNetworkStream);\n\n this._source = source;\n this._manager = new NetworkManager(source.url, {\n httpHeaders: source.httpHeaders,\n withCredentials: source.withCredentials\n });\n this._rangeChunkSize = source.rangeChunkSize;\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n\n _createClass(PDFNetworkStream, [{\n key: \"_onRangeRequestReaderClosed\",\n value: function _onRangeRequestReaderClosed(reader) {\n var i = this._rangeRequestReaders.indexOf(reader);\n\n if (i >= 0) {\n this._rangeRequestReaders.splice(i, 1);\n }\n }\n }, {\n key: \"getFullReader\",\n value: function getFullReader() {\n (0, _util.assert)(!this._fullRequestReader, \"PDFNetworkStream.getFullReader can only be called once.\");\n this._fullRequestReader = new PDFNetworkStreamFullRequestReader(this._manager, this._source);\n return this._fullRequestReader;\n }\n }, {\n key: \"getRangeReader\",\n value: function getRangeReader(begin, end) {\n var reader = new PDFNetworkStreamRangeRequestReader(this._manager, begin, end);\n reader.onClosed = this._onRangeRequestReaderClosed.bind(this);\n\n this._rangeRequestReaders.push(reader);\n\n return reader;\n }\n }, {\n key: \"cancelAllRequests\",\n value: function cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n\n var readers = this._rangeRequestReaders.slice(0);\n\n readers.forEach(function (reader) {\n reader.cancel(reason);\n });\n }\n }]);\n\n return PDFNetworkStream;\n}();\n\nexports.PDFNetworkStream = PDFNetworkStream;\n\nvar PDFNetworkStreamFullRequestReader = /*#__PURE__*/function () {\n function PDFNetworkStreamFullRequestReader(manager, source) {\n _classCallCheck(this, PDFNetworkStreamFullRequestReader);\n\n this._manager = manager;\n var args = {\n onHeadersReceived: this._onHeadersReceived.bind(this),\n onDone: this._onDone.bind(this),\n onError: this._onError.bind(this),\n onProgress: this._onProgress.bind(this)\n };\n this._url = source.url;\n this._fullRequestId = manager.requestFull(args);\n this._headersReceivedCapability = (0, _util.createPromiseCapability)();\n this._disableRange = source.disableRange || false;\n this._contentLength = source.length;\n this._rangeChunkSize = source.rangeChunkSize;\n\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n\n this._isStreamingSupported = false;\n this._isRangeSupported = false;\n this._cachedChunks = [];\n this._requests = [];\n this._done = false;\n this._storedError = undefined;\n this._filename = null;\n this.onProgress = null;\n }\n\n _createClass(PDFNetworkStreamFullRequestReader, [{\n key: \"_onHeadersReceived\",\n value: function _onHeadersReceived() {\n var fullRequestXhrId = this._fullRequestId;\n\n var fullRequestXhr = this._manager.getRequestXhr(fullRequestXhrId);\n\n var getResponseHeader = function getResponseHeader(name) {\n return fullRequestXhr.getResponseHeader(name);\n };\n\n var _validateRangeRequest = (0, _network_utils.validateRangeRequestCapabilities)({\n getResponseHeader: getResponseHeader,\n isHttp: this._manager.isHttp,\n rangeChunkSize: this._rangeChunkSize,\n disableRange: this._disableRange\n }),\n allowRangeRequests = _validateRangeRequest.allowRangeRequests,\n suggestedLength = _validateRangeRequest.suggestedLength;\n\n if (allowRangeRequests) {\n this._isRangeSupported = true;\n }\n\n this._contentLength = suggestedLength || this._contentLength;\n this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);\n\n if (this._isRangeSupported) {\n this._manager.abortRequest(fullRequestXhrId);\n }\n\n this._headersReceivedCapability.resolve();\n }\n }, {\n key: \"_onDone\",\n value: function _onDone(args) {\n if (args) {\n if (this._requests.length > 0) {\n var requestCapability = this._requests.shift();\n\n requestCapability.resolve({\n value: args.chunk,\n done: false\n });\n } else {\n this._cachedChunks.push(args.chunk);\n }\n }\n\n this._done = true;\n\n if (this._cachedChunks.length > 0) {\n return;\n }\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n }\n }, {\n key: \"_onError\",\n value: function _onError(status) {\n var url = this._url;\n var exception = (0, _network_utils.createResponseStatusError)(status, url);\n this._storedError = exception;\n\n this._headersReceivedCapability.reject(exception);\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.reject(exception);\n });\n\n this._requests = [];\n this._cachedChunks = [];\n }\n }, {\n key: \"_onProgress\",\n value: function _onProgress(data) {\n if (this.onProgress) {\n this.onProgress({\n loaded: data.loaded,\n total: data.lengthComputable ? data.total : this._contentLength\n });\n }\n }\n }, {\n key: \"read\",\n value: function () {\n var _read = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee() {\n var chunk, requestCapability;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (!this._storedError) {\n _context.next = 2;\n break;\n }\n\n throw this._storedError;\n\n case 2:\n if (!(this._cachedChunks.length > 0)) {\n _context.next = 5;\n break;\n }\n\n chunk = this._cachedChunks.shift();\n return _context.abrupt(\"return\", {\n value: chunk,\n done: false\n });\n\n case 5:\n if (!this._done) {\n _context.next = 7;\n break;\n }\n\n return _context.abrupt(\"return\", {\n value: undefined,\n done: true\n });\n\n case 7:\n requestCapability = (0, _util.createPromiseCapability)();\n\n this._requests.push(requestCapability);\n\n return _context.abrupt(\"return\", requestCapability.promise);\n\n case 10:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function read() {\n return _read.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n this._done = true;\n\n this._headersReceivedCapability.reject(reason);\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n\n if (this._manager.isPendingRequest(this._fullRequestId)) {\n this._manager.abortRequest(this._fullRequestId);\n }\n\n this._fullRequestReader = null;\n }\n }, {\n key: \"filename\",\n get: function get() {\n return this._filename;\n }\n }, {\n key: \"isRangeSupported\",\n get: function get() {\n return this._isRangeSupported;\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return this._isStreamingSupported;\n }\n }, {\n key: \"contentLength\",\n get: function get() {\n return this._contentLength;\n }\n }, {\n key: \"headersReady\",\n get: function get() {\n return this._headersReceivedCapability.promise;\n }\n }]);\n\n return PDFNetworkStreamFullRequestReader;\n}();\n\nvar PDFNetworkStreamRangeRequestReader = /*#__PURE__*/function () {\n function PDFNetworkStreamRangeRequestReader(manager, begin, end) {\n _classCallCheck(this, PDFNetworkStreamRangeRequestReader);\n\n this._manager = manager;\n var args = {\n onDone: this._onDone.bind(this),\n onProgress: this._onProgress.bind(this)\n };\n this._requestId = manager.requestRange(begin, end, args);\n this._requests = [];\n this._queuedChunk = null;\n this._done = false;\n this.onProgress = null;\n this.onClosed = null;\n }\n\n _createClass(PDFNetworkStreamRangeRequestReader, [{\n key: \"_close\",\n value: function _close() {\n if (this.onClosed) {\n this.onClosed(this);\n }\n }\n }, {\n key: \"_onDone\",\n value: function _onDone(data) {\n var chunk = data.chunk;\n\n if (this._requests.length > 0) {\n var requestCapability = this._requests.shift();\n\n requestCapability.resolve({\n value: chunk,\n done: false\n });\n } else {\n this._queuedChunk = chunk;\n }\n\n this._done = true;\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n\n this._close();\n }\n }, {\n key: \"_onProgress\",\n value: function _onProgress(evt) {\n if (!this.isStreamingSupported && this.onProgress) {\n this.onProgress({\n loaded: evt.loaded\n });\n }\n }\n }, {\n key: \"read\",\n value: function () {\n var _read2 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2() {\n var chunk, requestCapability;\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n if (!(this._queuedChunk !== null)) {\n _context2.next = 4;\n break;\n }\n\n chunk = this._queuedChunk;\n this._queuedChunk = null;\n return _context2.abrupt(\"return\", {\n value: chunk,\n done: false\n });\n\n case 4:\n if (!this._done) {\n _context2.next = 6;\n break;\n }\n\n return _context2.abrupt(\"return\", {\n value: undefined,\n done: true\n });\n\n case 6:\n requestCapability = (0, _util.createPromiseCapability)();\n\n this._requests.push(requestCapability);\n\n return _context2.abrupt(\"return\", requestCapability.promise);\n\n case 9:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function read() {\n return _read2.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n this._done = true;\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n\n if (this._manager.isPendingRequest(this._requestId)) {\n this._manager.abortRequest(this._requestId);\n }\n\n this._close();\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return false;\n }\n }]);\n\n return PDFNetworkStreamRangeRequestReader;\n}();\n\n/***/ }),\n/* 216 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFFetchStream = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _network_utils = __w_pdfjs_require__(213);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n;\n\nfunction createFetchOptions(headers, withCredentials, abortController) {\n return {\n method: \"GET\",\n headers: headers,\n signal: abortController && abortController.signal,\n mode: \"cors\",\n credentials: withCredentials ? \"include\" : \"same-origin\",\n redirect: \"follow\"\n };\n}\n\nfunction createHeaders(httpHeaders) {\n var headers = new Headers();\n\n for (var property in httpHeaders) {\n var value = httpHeaders[property];\n\n if (typeof value === \"undefined\") {\n continue;\n }\n\n headers.append(property, value);\n }\n\n return headers;\n}\n\nvar PDFFetchStream = /*#__PURE__*/function () {\n function PDFFetchStream(source) {\n _classCallCheck(this, PDFFetchStream);\n\n this.source = source;\n this.isHttp = /^https?:/i.test(source.url);\n this.httpHeaders = this.isHttp && source.httpHeaders || {};\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n\n _createClass(PDFFetchStream, [{\n key: \"getFullReader\",\n value: function getFullReader() {\n (0, _util.assert)(!this._fullRequestReader, \"PDFFetchStream.getFullReader can only be called once.\");\n this._fullRequestReader = new PDFFetchStreamReader(this);\n return this._fullRequestReader;\n }\n }, {\n key: \"getRangeReader\",\n value: function getRangeReader(begin, end) {\n if (end <= this._progressiveDataLength) {\n return null;\n }\n\n var reader = new PDFFetchStreamRangeReader(this, begin, end);\n\n this._rangeRequestReaders.push(reader);\n\n return reader;\n }\n }, {\n key: \"cancelAllRequests\",\n value: function cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n\n var readers = this._rangeRequestReaders.slice(0);\n\n readers.forEach(function (reader) {\n reader.cancel(reason);\n });\n }\n }, {\n key: \"_progressiveDataLength\",\n get: function get() {\n return this._fullRequestReader ? this._fullRequestReader._loaded : 0;\n }\n }]);\n\n return PDFFetchStream;\n}();\n\nexports.PDFFetchStream = PDFFetchStream;\n\nvar PDFFetchStreamReader = /*#__PURE__*/function () {\n function PDFFetchStreamReader(stream) {\n var _this = this;\n\n _classCallCheck(this, PDFFetchStreamReader);\n\n this._stream = stream;\n this._reader = null;\n this._loaded = 0;\n this._filename = null;\n var source = stream.source;\n this._withCredentials = source.withCredentials || false;\n this._contentLength = source.length;\n this._headersCapability = (0, _util.createPromiseCapability)();\n this._disableRange = source.disableRange || false;\n this._rangeChunkSize = source.rangeChunkSize;\n\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n\n if (typeof AbortController !== \"undefined\") {\n this._abortController = new AbortController();\n }\n\n this._isStreamingSupported = !source.disableStream;\n this._isRangeSupported = !source.disableRange;\n this._headers = createHeaders(this._stream.httpHeaders);\n var url = source.url;\n fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(function (response) {\n if (!(0, _network_utils.validateResponseStatus)(response.status)) {\n throw (0, _network_utils.createResponseStatusError)(response.status, url);\n }\n\n _this._reader = response.body.getReader();\n\n _this._headersCapability.resolve();\n\n var getResponseHeader = function getResponseHeader(name) {\n return response.headers.get(name);\n };\n\n var _validateRangeRequest = (0, _network_utils.validateRangeRequestCapabilities)({\n getResponseHeader: getResponseHeader,\n isHttp: _this._stream.isHttp,\n rangeChunkSize: _this._rangeChunkSize,\n disableRange: _this._disableRange\n }),\n allowRangeRequests = _validateRangeRequest.allowRangeRequests,\n suggestedLength = _validateRangeRequest.suggestedLength;\n\n _this._isRangeSupported = allowRangeRequests;\n _this._contentLength = suggestedLength || _this._contentLength;\n _this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);\n\n if (!_this._isStreamingSupported && _this._isRangeSupported) {\n _this.cancel(new _util.AbortException(\"Streaming is disabled.\"));\n }\n })[\"catch\"](this._headersCapability.reject);\n this.onProgress = null;\n }\n\n _createClass(PDFFetchStreamReader, [{\n key: \"read\",\n value: function () {\n var _read = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee() {\n var _yield$this$_reader$r, value, done, buffer;\n\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return this._headersCapability.promise;\n\n case 2:\n _context.next = 4;\n return this._reader.read();\n\n case 4:\n _yield$this$_reader$r = _context.sent;\n value = _yield$this$_reader$r.value;\n done = _yield$this$_reader$r.done;\n\n if (!done) {\n _context.next = 9;\n break;\n }\n\n return _context.abrupt(\"return\", {\n value: value,\n done: done\n });\n\n case 9:\n this._loaded += value.byteLength;\n\n if (this.onProgress) {\n this.onProgress({\n loaded: this._loaded,\n total: this._contentLength\n });\n }\n\n buffer = new Uint8Array(value).buffer;\n return _context.abrupt(\"return\", {\n value: buffer,\n done: false\n });\n\n case 13:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function read() {\n return _read.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n if (this._reader) {\n this._reader.cancel(reason);\n }\n\n if (this._abortController) {\n this._abortController.abort();\n }\n }\n }, {\n key: \"headersReady\",\n get: function get() {\n return this._headersCapability.promise;\n }\n }, {\n key: \"filename\",\n get: function get() {\n return this._filename;\n }\n }, {\n key: \"contentLength\",\n get: function get() {\n return this._contentLength;\n }\n }, {\n key: \"isRangeSupported\",\n get: function get() {\n return this._isRangeSupported;\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return this._isStreamingSupported;\n }\n }]);\n\n return PDFFetchStreamReader;\n}();\n\nvar PDFFetchStreamRangeReader = /*#__PURE__*/function () {\n function PDFFetchStreamRangeReader(stream, begin, end) {\n var _this2 = this;\n\n _classCallCheck(this, PDFFetchStreamRangeReader);\n\n this._stream = stream;\n this._reader = null;\n this._loaded = 0;\n var source = stream.source;\n this._withCredentials = source.withCredentials || false;\n this._readCapability = (0, _util.createPromiseCapability)();\n this._isStreamingSupported = !source.disableStream;\n\n if (typeof AbortController !== \"undefined\") {\n this._abortController = new AbortController();\n }\n\n this._headers = createHeaders(this._stream.httpHeaders);\n\n this._headers.append(\"Range\", \"bytes=\".concat(begin, \"-\").concat(end - 1));\n\n var url = source.url;\n fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(function (response) {\n if (!(0, _network_utils.validateResponseStatus)(response.status)) {\n throw (0, _network_utils.createResponseStatusError)(response.status, url);\n }\n\n _this2._readCapability.resolve();\n\n _this2._reader = response.body.getReader();\n });\n this.onProgress = null;\n }\n\n _createClass(PDFFetchStreamRangeReader, [{\n key: \"read\",\n value: function () {\n var _read2 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2() {\n var _yield$this$_reader$r2, value, done, buffer;\n\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return this._readCapability.promise;\n\n case 2:\n _context2.next = 4;\n return this._reader.read();\n\n case 4:\n _yield$this$_reader$r2 = _context2.sent;\n value = _yield$this$_reader$r2.value;\n done = _yield$this$_reader$r2.done;\n\n if (!done) {\n _context2.next = 9;\n break;\n }\n\n return _context2.abrupt(\"return\", {\n value: value,\n done: done\n });\n\n case 9:\n this._loaded += value.byteLength;\n\n if (this.onProgress) {\n this.onProgress({\n loaded: this._loaded\n });\n }\n\n buffer = new Uint8Array(value).buffer;\n return _context2.abrupt(\"return\", {\n value: buffer,\n done: false\n });\n\n case 13:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function read() {\n return _read2.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n if (this._reader) {\n this._reader.cancel(reason);\n }\n\n if (this._abortController) {\n this._abortController.abort();\n }\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return this._isStreamingSupported;\n }\n }]);\n\n return PDFFetchStreamRangeReader;\n}();\n\n/***/ })\n/******/ ]);\n});\n//# sourceMappingURL=pdf.js.map","import mod 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&\"; export default mod; 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":""}