{"version":3,"sources":["webpack://lcb-research-content/./node_modules/pdfjs-dist/build/pdf.js"],"names":["_assertThisInitialized","_get","_slicedToArray","_toConsumableArray","_regeneratorRuntime","_asyncToGenerator","_inherits","_possibleConstructorReturn","_getPrototypeOf","_classCallCheck","_createClass","factory","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","err","normalCompletion","didErr","call","step","next","_e2","return","minLen","_arrayLikeToArray","Object","prototype","toString","slice","constructor","name","from","test","arr","len","arr2","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","result","Super","NewTarget","this","Reflect","construct","arguments","apply","sham","Proxy","Boolean","valueOf","__webpack_modules__","__unused_webpack_module","exports","__w_pdfjs_require__","defineProperty","enumerable","get","_display_utils","addLinkAttributes","getFilenameFromUrl","LinkTarget","loadScript","PDFDateString","RenderingCancelledException","_api","build","getDocument","LoopbackPort","PDFDataRangeTransport","PDFWorker","version","_util","CMapCompressionType","createObjectURL","createPromiseCapability","createValidAbsoluteUrl","InvalidPDFException","MissingPDFException","OPS","PasswordResponses","PermissionFlag","removeNullCharacters","shadow","UnexpectedResponseException","UNSUPPORTED_FEATURES","Util","VerbosityLevel","_annotation_layer","AnnotationLayer","_api_compatibility","apiCompatibilityParams","_worker_options","GlobalWorkerOptions","_text_layer","renderTextLayer","_svg","SVGGraphics","isNodeJS","PDFNodeStream","setPDFNetworkStreamFactory","params","PDFFetchStream","PDFNetworkStream","isFetchSupported","isValidFetchUrl","url","link","_ref7","undefined","target","rel","_ref7$enabled","enabled","assert","urlNullRemoved","href","title","concat","onclick","targetStr","NONE","SELF","BLANK","PARENT","TOP","DEFAULT_LINK_REL","deprecated","details","console","log","anchor","indexOf","query","end","Math","min","substring","lastIndexOf","src","removeScriptElement","Promise","resolve","reject","script","document","createElement","onload","evt","remove","onerror","Error","head","documentElement","appendChild","StatTimer","PageViewport","DOMSVGFactory","DOMCMapReaderFactory","DOMCanvasFactory","BaseCMapReaderFactory","BaseCanvasFactory","SVG_NS","unreachable","key","width","height","canvasAndContext","canvas","context","_BaseCanvasFactory","_super","_this","_ref","_ref$ownerDocument","ownerDocument","globalThis","_document","getContext","_ref2","_ref2$baseUrl","baseUrl","_ref2$isCompressed","isCompressed","_fetch","mark","_callee","_ref3","compressionType","_this2","wrap","_context","prev","BINARY","abrupt","_fetchData","catch","reason","stop","_x","_BaseCMapReaderFactor","_super2","_this3","baseURI","fetch","then","_ref4","_callee2","response","cMapData","_context2","ok","statusText","t0","Uint8Array","arrayBuffer","t1","sent","t2","stringToBytes","text","t3","_x2","request","XMLHttpRequest","open","responseType","onreadystatechange","readyState","DONE","status","responseText","send","svg","createElementNS","setAttribute","type","_ref5","viewBox","scale","rotation","_ref5$offsetX","offsetX","_ref5$offsetY","offsetY","_ref5$dontFlip","dontFlip","rotateA","rotateB","rotateC","rotateD","offsetCanvasX","offsetCanvasY","centerX","centerY","abs","transform","_ref6","_ref6$scale","_ref6$rotation","_ref6$offsetX","_ref6$offsetY","_ref6$dontFlip","x","y","applyTransform","rect","topLeft","bottomRight","applyInverseTransform","_util$BaseException","_super3","msg","_this4","BaseException","pdfDateStringRegex","started","create","times","warn","Date","now","push","start","_step","outBuf","longest","_iterator","_step2","_iterator2","_time","duration","padEnd","join","Response","ReadableStream","protocol","URL","ex","input","isString","RegExp","matches","exec","year","parseInt","month","day","hour","minute","second","universalTimeRelation","offsetHour","offsetMinute","UTC","arrayByteLength","arraysToBytes","resultLength","pos","data","_i","item","itemLength","byteLength","set","bytesToString","bytes","MAX_ARGUMENT_COUNT","String","fromCharCode","strBuf","chunkEnd","chunk","subarray","capability","isSettled","promise","absoluteUrl","_isValidProtocol","encodeToXmlString","str","buffer","ii","char","codePointAt","entity","XMLEntities","toUpperCase","escapeString","replace","match","getModificationDate","date","getUTCFullYear","getUTCMonth","padStart","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","getVerbosityLevel","verbosity","info","INFOS","isArrayBuffer","v","isArrayEqual","arr1","every","element","index","isAscii","isBool","isNum","isSameOrigin","otherUrl","base","origin","other","objectFromEntries","iterable","assign","fromEntries","objectSize","obj","keys","NullCharactersRegExp","setVerbosityLevel","level","Number","isInteger","string32","stringToPDFString","charCodeAt","_i2","_i3","code","PDFStringTranslateTable","charAt","stringToUTF16BEString","buf","stringToUTF8String","decodeURIComponent","escape","utf8StringToString","unescape","encodeURIComponent","UnknownErrorException","TextRenderingMode","StreamType","PasswordException","PageActionEventType","IsLittleEndianCached","IsEvalSupportedCached","ImageKind","IDENTITY_MATRIX","FormatError","FontType","FONT_IDENTITY_MATRIX","DocumentActionEventType","AnnotationType","AnnotationStateModelType","AnnotationReviewState","AnnotationReplyType","AnnotationMarkedState","AnnotationFlag","AnnotationFieldFlag","AnnotationBorderStyleType","AnnotationActionEventType","AbortException","PRINT","MODIFY_CONTENTS","COPY","MODIFY_ANNOTATIONS","FILL_INTERACTIVE_FORMS","COPY_FOR_ACCESSIBILITY","ASSEMBLE","PRINT_HIGH_QUALITY","FILL","STROKE","FILL_STROKE","INVISIBLE","FILL_ADD_TO_PATH","STROKE_ADD_TO_PATH","FILL_STROKE_ADD_TO_PATH","ADD_TO_PATH","FILL_STROKE_MASK","ADD_TO_PATH_FLAG","GRAYSCALE_1BPP","RGB_24BPP","RGBA_32BPP","TEXT","LINK","FREETEXT","LINE","SQUARE","CIRCLE","POLYGON","POLYLINE","HIGHLIGHT","UNDERLINE","SQUIGGLY","STRIKEOUT","STAMP","CARET","INK","POPUP","FILEATTACHMENT","SOUND","MOVIE","WIDGET","SCREEN","PRINTERMARK","TRAPNET","WATERMARK","THREED","REDACT","MARKED","REVIEW","UNMARKED","ACCEPTED","REJECTED","CANCELLED","COMPLETED","GROUP","REPLY","HIDDEN","NOZOOM","NOROTATE","NOVIEW","READONLY","LOCKED","TOGGLENOVIEW","LOCKEDCONTENTS","REQUIRED","NOEXPORT","MULTILINE","PASSWORD","NOTOGGLETOOFF","RADIO","PUSHBUTTON","COMBO","EDIT","SORT","FILESELECT","MULTISELECT","DONOTSPELLCHECK","DONOTSCROLL","COMB","RICHTEXT","RADIOSINUNISON","COMMITONSELCHANGE","SOLID","DASHED","BEVELED","INSET","E","X","D","U","Fo","Bl","PO","PC","PV","PI","K","V","C","WC","WS","DS","WP","DP","O","UNKNOWN","FLATE","LZW","DCT","JPX","JBIG","A85","AHX","CCF","RLX","TYPE1","TYPE1C","CIDFONTTYPE0","CIDFONTTYPE0C","TRUETYPE","CIDFONTTYPE2","TYPE3","OPENTYPE","TYPE0","MMTYPE1","ERRORS","WARNINGS","STREAM","dependency","setLineWidth","setLineCap","setLineJoin","setMiterLimit","setDash","setRenderingIntent","setFlatness","setGState","save","restore","moveTo","lineTo","curveTo","curveTo2","curveTo3","closePath","rectangle","stroke","closeStroke","fill","eoFill","fillStroke","eoFillStroke","closeFillStroke","closeEOFillStroke","endPath","clip","eoClip","beginText","endText","setCharSpacing","setWordSpacing","setHScale","setLeading","setFont","setTextRenderingMode","setTextRise","moveText","setLeadingMoveText","setTextMatrix","nextLine","showText","showSpacedText","nextLineShowText","nextLineSetSpacingShowText","setCharWidth","setCharWidthAndBounds","setStrokeColorSpace","setFillColorSpace","setStrokeColor","setStrokeColorN","setFillColor","setFillColorN","setStrokeGray","setFillGray","setStrokeRGBColor","setFillRGBColor","setStrokeCMYKColor","setFillCMYKColor","shadingFill","beginInlineImage","beginImageData","endInlineImage","paintXObject","markPoint","markPointProps","beginMarkedContent","beginMarkedContentProps","endMarkedContent","beginCompat","endCompat","paintFormXObjectBegin","paintFormXObjectEnd","beginGroup","endGroup","beginAnnotations","endAnnotations","beginAnnotation","endAnnotation","paintJpegXObject","paintImageMaskXObject","paintImageMaskXObjectGroup","paintImageXObject","paintInlineImageXObject","paintInlineImageXObjectGroup","paintImageXObjectRepeat","paintImageMaskXObjectRepeat","paintSolidColorImageMask","constructPath","unknown","forms","javaScript","smask","shadingPattern","font","errorTilingPattern","errorExtGState","errorXObject","errorFontLoadType3","errorFontState","errorFontMissing","errorFontTranslate","errorColorSpace","errorOperatorList","errorFontToUnicode","errorFontLoadNative","errorFontGetPath","errorMarkedContent","NEED_PASSWORD","INCORRECT_PASSWORD","cond","prop","configurable","writable","message","_BaseException","_super4","_this5","_BaseException2","_super5","_this6","_BaseException3","_super6","_BaseException4","_super7","_BaseException5","_super8","_this7","_BaseException6","_super9","_BaseException7","_super10","buffer8","Uint32Array","Function","isEvalSupported","hexNumbers","map","r","g","b","m1","m2","p","m","d","p1","p2","p3","p4","max","transpose","a","c","first","sqrt","sx","sy","rect1","rect2","compare","orderedX","sort","orderedY","normalizeRect","digits","contentType","forceDataSchema","blob","Blob","b1","b2","b3","d1","d2","d3","d4","__unused_webpack_exports","process","versions","nw","electron","PDFPageProxy","PDFDocumentProxy","DefaultCMapReaderFactory","DefaultCanvasFactory","_font_loader","_node_utils","_annotation_storage","_canvas","_is_node","_message_handler","_metadata","_optional_content_config","_transport_stream","_webgl","DEFAULT_RANGE_CHUNK_SIZE","RENDERING_CANCELLED_TIMEOUT","NodeCanvasFactory","NodeCMapReaderFactory","createPDFNetworkStream","pdfNetworkStreamFactory","source","task","PDFDocumentLoadingTask","range","rangeTransport","worker","window","pdfBytes","isNaN","location","rangeChunkSize","CMapReaderFactory","ignoreErrors","stopAtErrors","fontExtraProperties","pdfBug","maxImageSize","disableFontFace","disableRange","disableStream","disableAutoFetch","workerParams","port","workerPort","fromPort","_worker","docId","destroyed","workerIdPromise","_fetchDocument","networkStreamPromise","networkStream","PDFDataTransportStream","initialData","progressiveDone","httpHeaders","withCredentials","all","_ref9","_ref10","workerId","messageHandler","MessageHandler","postMessageTransfers","transport","WorkerTransport","_transport","_capability","pdfDataRangeTransport","sendWithPromise","apiVersion","password","docBaseUrl","nextDocumentId","onPassword","onProgress","onUnsupportedFeature","_this8","destroy","_rangeListeners","_progressListeners","_progressiveReadListeners","_progressiveDoneListeners","_readyCapability","listener","begin","_step3","_iterator3","loaded","total","_this9","_step4","_iterator4","_this10","_step5","_iterator5","_this11","_step6","_iterator6","pdfInfo","_pdfInfo","AnnotationStorage","numPages","fingerprint","pageNumber","getPage","ref","getPageIndex","getDestinations","id","getDestination","getPageLabels","getPageLayout","getPageMode","getViewerPreferences","getOpenAction","getAttachments","getJavaScript","getDocJSActions","getOutline","getOptionalContentConfig","getPermissions","getMetadata","getMarkInfo","getData","downloadInfoCapability","getStats","startCleanup","loadingTask","loadingParams","annotationStorage","saveDocument","getFieldObjects","hasJSActions","getCalculationOrderIds","pageIndex","pageInfo","_pageIndex","_pageInfo","_ownerDocument","_stats","_pdfBug","commonObjs","objs","PDFObjects","cleanupAfterRender","pendingCleanup","_intentStates","Map","rotate","userUnit","view","_ref11","_ref11$rotation","_ref11$offsetX","_ref11$offsetY","_ref11$dontFlip","_ref12","_ref12$intent","intent","annotationsPromise","annotationsIntent","getAnnotations","_jsActionsPromise","getPageJSActions","_ref13","_this12","canvasContext","viewport","_ref13$intent","_ref13$enableWebGL","enableWebGL","_ref13$renderInteract","renderInteractiveForms","_ref13$transform","_ref13$imageLayer","imageLayer","_ref13$canvasFactory","canvasFactory","_ref13$background","background","_ref13$annotationStor","_ref13$optionalConten","optionalContentConfigPromise","time","renderingIntent","intentState","streamReaderCancelTimeout","clearTimeout","canvasFactoryInstance","webGLContext","WebGLContext","enable","displayReadyCapability","operatorList","fnArray","argsArray","lastChunk","_pumpOperatorList","getAll","complete","error","renderTasks","internalRenderTask","splice","_tryCleanup","_abortOperatorList","timeEnd","InternalRenderTask","callback","useRequestAnimationFrame","renderTask","_ref14","_ref15","transparency","optionalContentConfig","initializeGraphics","operatorListChanged","opListTask","opListReadCapability","_ref16","_ref16$normalizeWhite","normalizeWhitespace","_ref16$disableCombine","disableCombineTextItems","TEXT_CONTENT_CHUNK_SIZE","sendWithStream","combineTextItems","highWaterMark","size","textContent","items","readableStream","streamTextContent","reader","getReader","styles","pump","read","_ref17","_textContent$items","pageCache","_step7","waitOn","_iterator7","_step7$value","force","_step8","_iterator8","completed","cancel","clear","resetStats","_step9","_iterator9","values","_step9$value","operatorListChunk","_i4","args","_this13","streamReader","_ref18","_renderPageChunk","_ref19","_this14","_ref19$force","setTimeout","_step10","_iterator10","_step10$value","delete","cleanup","defer","_listeners","_defer","_deferred","transfers","_this15","cloned","WeakMap","cloneValue","has","includes","byteOffset","desc","getOwnPropertyDescriptor","getPrototypeOf","hasOwnProperty","forEach","PDFWorkerClosure","pdfWorkerPorts","isWorkerDisabled","fallbackWorkerSrc","nextFakeWorkerId","fakeWorkerCapability","_document$currentScri","pdfjsFilePath","currentScript","_getWorkerSrc","workerSrc","getMainThreadWorkerMessageHandler","mainWorkerMessageHandler","_globalThis$pdfjsWork","pdfjsWorker","WorkerMessageHandler","setupFakeWorkerGlobal","loader","_ref20","_callee3","_callee3$","_context3","eval","createCDNWrapper","wrapper","_ref21","_ref21$name","_ref21$port","_ref21$verbosity","_port","_webWorker","_messageHandler","_initializeFromPort","_initialize","on","_this16","Worker","terminateEarly","removeEventListener","onWorkerError","terminate","_setupFakeWorker","addEventListener","supportTransfers","sendTest","testObj","_this17","workerHandler","setup","fontLoader","FontLoader","_onUnsupportedFeature","bind","_params","cMapUrl","cMapPacked","destroyCapability","_passwordCapability","_networkStream","_fullReader","_lastProgress","pagePromises","setupMessageHandler","settled","_this18","page","_destroy","terminated","loadingTaskSettled","annotationStorageResetModified","pdfDocument","resetModified","_hasJSActionsPromise","cancelAllRequests","_this19","sink","getFullReader","onPull","_ref22","close","enqueue","onCancel","ready","readyReason","headersCapability","fullReader","headersReady","isStreamingSupported","isRangeSupported","contentLength","rangeReader","getRangeReader","_ref23","_ref24","_numPages","exception","_startRenderPage","_globalThis$FontInspe","_data","exportedData","exportedError","fontRegistry","FontInspector","registerFont","fontAdded","FontFaceObject","finally","_imageData$data","_data2","imageData","pageProxy","fetched","builtInCMap","_ref25","featureId","_this20","_this$_fullReader$fil","_this$_fullReader","filename","results","OptionalContentConfig","_this21","_this21$_fullReader$f","_this21$_fullReader","_this21$_fullReader$c","_this21$_fullReader2","metadata","Metadata","contentDispositionFilename","_this22","_objs","objId","resolved","_ensureObj","RenderTask","_internalRenderTask","onContinue","canvasInRendering","WeakSet","_ref26","_ref26$useRequestAnim","_ref26$pdfBug","operatorListIdx","running","graphicsReadyCallback","graphicsReady","_useRequestAnimationFrame","cancelled","_continueBound","_continue","_scheduleNextBound","_scheduleNext","_nextBound","_next","_next2","_ref27","_globalThis$StepperMa","_ref27$transparency","add","StepperManager","stepper","init","nextBreakPoint","getNextBreakPoint","_this$params","gfx","CanvasGraphics","beginDrawing","endDrawing","updateOperatorList","_this23","requestAnimationFrame","_callee4","_context4","executeOperatorList","BaseFontLoader","_ref28","_ref28$ownerDocument","nativeFontFaces","styleElement","_bind","nativeFontFace","fonts","rule","getElementsByTagName","styleSheet","sheet","insertRule","cssRules","_this24","_callee5","_this25","_context5","attached","missingFile","isFontLoadingAPISupported","createNativeFontFace","addNativeFontFace","family","createFontFaceRule","isSyncFontLoadingSupported","_queueLoadingCallback","_prepareFontLoadEvent","_x3","_this$_document","rules","fontsToLoad","_BaseFontLoader","GenericFontLoader","_super11","_this26","loadingContext","requests","nextRequestId","loadTestFontId","supported","navigator","userAgent","otherRequest","shift","atob","_this27","int32","offset","spliceString","insert","ctx","called","_loadTestFont","XXXX_VALUE","checksum","btoa","names","loadedName","div","style","visibility","position","top","left","span","fontFamily","body","isFontReady","fillText","getImageData","removeChild","translatedData","_ref29","_ref29$isEvalSupporte","_ref29$disableFontFac","_ref29$ignoreErrors","_ref29$onUnsupportedF","_ref29$fontRegistry","compiledGlyphs","FontFace","mimetype","character","cmds","current","js","cmd","_i5","_ii","_display_utils$BaseCa","_super12","createCanvas","_display_utils$BaseCM","_super13","readFile","_storage","_modified","onSetModified","onResetModified","defaultValue","modified","_i6","_Object$entries","entries","_Object$entries$_i","entry","val","_setModified","compatibilityParams","freeze","_pattern_helper","MAX_GROUP_SIZE","FULL_CHUNK_HEIGHT","addContextCurrentTransform","mozCurrentTransform","_originalSave","_originalRestore","_originalRotate","_originalScale","_originalTranslate","translate","_originalTransform","_originalSetTransform","setTransform","_transformMatrix","_transformStack","ad_bc","bc_ad","old","pop","angle","cosValue","cos","sinValue","sin","CachedCanvases","cache","getCanvas","trackTransform","canvasEntry","reset","CanvasExtraState","alphaIsShape","fontSize","fontSizeScale","textMatrix","textMatrixScale","fontMatrix","leading","lineX","lineY","charSpacing","wordSpacing","textHScale","textRenderingMode","textRise","fillColor","strokeColor","patternFill","fillAlpha","strokeAlpha","lineWidth","activeSMask","resumeSMaskCtx","transferMaps","clone","setCurrentPoint","canvasCtx","stateStack","pendingClip","pendingEOFill","res","xobjs","groupStack","processingType3","baseTransform","baseTransformStack","groupLevel","smaskStack","smaskCounter","tempSMask","contentVisible","markedContentStack","cachedCanvases","_cachedGetSinglePixelWidth","putBinaryImageData","imgData","ImageData","putImageData","destPos","j","thisChunkHeight","elemsInThisChunk","transferMapRed","transferMapGreen","transferMapBlue","transferMapGray","partialChunkHeight","fullChunks","totalChunks","chunkImgData","createImageData","srcPos","dest","kind","srcLength","dest32","dest32DataLength","fullSrcDiff","white","black","_ref30","srcDiff","k","kEnd","kEndUnrolled","mask","srcByte","hasTransferMaps","_k","_k2","_hasTransferMaps","_k3","putBinaryImageMask","elem","copyCtxState","sourceCtx","destCtx","properties","property","setLineDash","getLineDash","lineDashOffset","resetCtxToDefault","strokeStyle","fillStyle","fillRule","globalAlpha","lineCap","lineJoin","miterLimit","globalCompositeOperation","composeSMaskBackdrop","r0","g0","b0","alpha","alpha_","composeSMaskAlpha","maskData","layerData","transferMap","composeSMaskLuminosity","composeSMask","layerCtx","maskCtx","scaleX","scaleY","backdrop","isEnabled","composed","layer","subtype","drawImage","composeFn","hasBackdrop","chunkSize","ceil","row","chunkHeight","genericComposeSMask","LINE_CAP_STYLES","LINE_JOIN_STYLES","NORMAL_CLIP","EO_CLIP","op","_ref31","_ref31$transparency","_ref31$background","fillRect","transparentCanvas","compositeCtx","_combinedScaleFactor","hypot","beginLayout","executionStartIdx","continueCallback","argsArrayLen","fnId","chunkOperations","endTime","steps","breakIt","_step11","_iterator11","depObjId","objsPool","startsWith","endLayout","limit","dashArray","dashPhase","flatness","states","state","suspendSMaskGroup","endSMaskGroup","beginSMaskGroup","drawnWidth","drawnHeight","cacheId","scratchCanvas","currentCtx","currentTransform","groupCtx","startTransformInverse","mozCurrentTransformInverse","deltaTransform","clearRect","resumeSMaskGroup","ops","xw","yh","bezierCurveTo","consumePath","getPattern","singularValueDecompose2dScale","getSinglePixelWidth","scaledLineWidth","resetTransform","round","_lineWidth","needRestore","paths","pendingTextPaths","beginPath","path","addToPath","spacing","fontRefName","fontObj","fontDirection","isType3Font","bold","italic","typeface","fallbackName","browserFontSize","mode","rise","paintChar","patternTransform","resetLineWidthToOne","fillStrokeMode","isAddToPathSet","getPathGenerator","strokeText","glyphs","showType3Text","glyphsLength","vertical","spacingDir","defaultVMetrics","widthAdvanceScale","simpleFillText","pattern","glyph","restoreNeeded","isSpace","fontChar","accent","scaledX","scaledY","vmetric","vx","vy","remeasure","measuredWidth","measureText","isFontSubpixelAAEnabled","characterScaleX","isInFont","scaledAccentX","scaledAccentY","spacingLength","charProcOperatorList","operatorListId","xWidth","yWidth","llx","lly","urx","ury","getColorN_Pattern","IR","_this28","color","canvasGraphicsFactory","createCanvasGraphics","TilingPattern","getShadingPatternFromIR","makeHexColor","patternIR","inv","bl","br","ul","ur","x0","y0","x1","y1","matrix","bbox","group","isolated","knockout","bounds","getAxialAlignedBoundingBox","canvasBounds","intersect","floor","imageSmoothingEnabled","mozImageSmoothingEnabled","img","isPatternFill","compiled","j0","width1","points","POINT_TYPES","lineSize","data0","count","sum","Int32Array","outlines","coords","p0","pp","kk","l","ll","compileType3Glyph","maskCanvas","skewX","skewY","positions","images","image","w","h","imgToPaint","tmpCanvas","tmpCtx","widthScale","heightScale","HTMLElement","paintWidth","paintHeight","tmpCanvasId","newWidth","newHeight","getCanvasPosition","appendImage","tag","visible","isVisible","isContentVisible","absDet","sqNorm1","pow","sqNorm2","pixelHeight","EPSILON","raw","shadingIR","ShadingIRs","fromIR","applyBoundingBox","Path2D","region","RadialAxial","colorStops","r1","grad","createLinearGradient","createRadialGradient","addColorStop","createMeshCanvas","drawTriangle","c1","c2","c3","tmp","colors","rowSize","x2","y2","x3","y3","xa","car","cag","cab","xb","cbr","cbg","cbb","c1r","c1g","c1b","c2r","c2g","c2b","c3r","c3g","c3b","minY","maxY","_k4","_k5","x1_","x2_","drawFigure","figure","ps","cs","verticesPerRow","rows","cols","q","combinesScale","figures","backgroundColor","boundsWidth","boundsHeight","paddedWidth","BORDER_SIZE","paddedHeight","drawFigures","Mesh","owner","matrixScale","temporaryPatternCanvas","createPattern","Dummy","PaintType","xstep","ystep","paintType","tilingType","createPatternCanvas","curMatrixScale","combinedScale","dimx","getSizeAndScale","dimy","graphics","setFillAndStrokeStyleToContext","clipBbox","realOutputSize","maxSize","bboxWidth","bboxHeight","cssColor","CallbackKind","StreamKind","wrapReason","sourceName","targetName","comObj","_this29","callbackId","streamId","streamSinks","streamControllers","callbackCapabilities","actionHandler","_onComObjOnMessage","event","stream","_processStreamMessage","action","cbSourceName","cbTargetName","postMessage","_createStreamSink","_deleteStreamController2","actionName","handler","ah","_postMessage","queueingStrategy","_this30","controller","startCapability","startCall","pullCall","cancelCall","isClosed","desiredSize","pull","pullCapability","cancelCapability","self","streamSink","isCancelled","lastDesiredSize","sinkCapability","success","_deleteStreamController","_callee6","_context6","allSettled","_x4","_xml_parser","_repair","xmlDocument","SimpleXMLParser","lowerCaseName","parseFromString","_metadataMap","_parse","codes","chars","nodeName","childNodes","filter","node","hasChildNodes","seqNode","authors","_getSequence","trim","rdf","firstChild","nextSibling","_step12","_iterator12","_step13","_iterator13","_getCreators","_this$_metadataMap$ge","SimpleDOMNode","XMLParserErrorCode","isWhitespace","ch","XMLParserBase","_this31","fromCodePoint","onResolveEntity","attributes","skipWs","attrValue","attrName","attrEndChar","attrEndIndex","_resolveEntities","parsed","attrStart","onError","onEndElement","pi","_parseProcessingInstruction","onPi","onComment","onCdata","q2","complexDoctype","doctypeContent","onDoctype","content","_parseContent","onBeginElement","onText","isEmpty","nodeValue","parentNode","child","component","stack","_step14","_stack$pop","siblingPos","_iterator14","searchNode","_stack$pop3","_stack$pop4","_parent","newPos","_step15","_iterator15","attribute","_step16","_iterator16","dump","_XMLParserBase","_super14","_ref32","_this32","_ref32$hasAttributes","hasAttributes","_ref32$lowerCaseName","_currentFragment","_stack","_errorCode","_hasAttributes","_lowerCaseName","parseXml","isWhitespaceString","toLowerCase","lastElement","OptionalContentGroup","creator","_order","_groups","order","_step17","_iterator17","groups","_group","baseState","_step18","_iterator18","_step19","_iterator19","_step20","_iterator20","off","expression","policy","_step21","_iterator21","ids","_step22","_iterator22","_id","_step23","_iterator23","_id2","_step24","_iterator24","_id3","_this33","_queuedChunks","_progressiveDone","_pdfDataRangeTransport","_isStreamingSupported","_isRangeSupported","_contentLength","_fullRequestReader","_rangeReaders","addRangeListener","_onReceiveData","addProgressListener","_onProgress","addProgressiveReadListener","addProgressiveDoneListener","_onProgressiveDone","transportReady","_enqueue","found","some","_begin","_this$_fullRequestRea","_this$_fullRequestRea2","_loaded","firstReader","queuedChunks","PDFDataTransportStreamReader","_progressiveDataLength","PDFDataTransportStreamRangeReader","requestDataRange","abort","_stream","_done","_filename","_step25","_iterator25","_requests","_headersReady","_read","_callee7","requestCapability","_context7","_end","_queuedChunk","_read2","_removeRangeReader","_callee8","_context8","_ref33","_ref33$enable","_enabled","WebGLUtils","tryInitGL","_ref34","_ref35","loadShader","gl","shaderType","shader","createShader","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","errorMsg","getShaderInfoLog","createVertexShader","VERTEX_SHADER","createFragmentShader","FRAGMENT_SHADER","createProgram","shaders","program","attachShader","linkProgram","getProgramParameter","LINK_STATUS","getProgramInfoLog","createTexture","textureId","activeTexture","texture","bindTexture","TEXTURE_2D","texParameteri","TEXTURE_WRAP_S","CLAMP_TO_EDGE","TEXTURE_WRAP_T","TEXTURE_MIN_FILTER","NEAREST","TEXTURE_MAG_FILTER","texImage2D","RGBA","UNSIGNED_BYTE","currentGL","currentCanvas","generateGL","premultipliedalpha","smaskCache","figuresCache","useProgram","resolutionLocation","getUniformLocation","positionLocation","getAttribLocation","backdropLocation","subtypeLocation","texCoordLocation","texLayerLocation","texMaskLocation","texCoordBuffer","createBuffer","bindBuffer","ARRAY_BUFFER","bufferData","Float32Array","STATIC_DRAW","enableVertexAttribArray","vertexAttribPointer","FLOAT","uniform1i","initSmaskGL","drawingBufferWidth","drawingBufferHeight","uniform2f","uniform4f","TEXTURE0","maskTexture","TEXTURE1","clearColor","BLEND","blendFunc","ONE","ONE_MINUS_SRC_ALPHA","COLOR_BUFFER_BIT","drawArrays","TRIANGLES","flush","deleteTexture","deleteBuffer","scaleLocation","offsetLocation","colorLocation","initFiguresGL","coordsMap","colorsMap","pIndex","cIndex","_i7","_ii2","_rows","col","jj","coordsBuffer","colorsBuffer","_smaskCache","_figuresCache","_scripting_utils","AnnotationElementFactory","parameters","annotationType","LinkAnnotationElement","TextAnnotationElement","fieldType","TextWidgetAnnotationElement","radioButton","RadioButtonWidgetAnnotationElement","checkBox","CheckboxWidgetAnnotationElement","PushButtonWidgetAnnotationElement","ChoiceWidgetAnnotationElement","WidgetAnnotationElement","PopupAnnotationElement","FreeTextAnnotationElement","LineAnnotationElement","SquareAnnotationElement","CircleAnnotationElement","PolylineAnnotationElement","CaretAnnotationElement","InkAnnotationElement","PolygonAnnotationElement","HighlightAnnotationElement","UnderlineAnnotationElement","SquigglyAnnotationElement","StrikeOutAnnotationElement","StampAnnotationElement","FileAttachmentAnnotationElement","AnnotationElement","_ref36","_ref36$isRenderable","isRenderable","_ref36$ignoreBorder","ignoreBorder","_ref36$createQuadrila","createQuadrilaterals","linkService","downloadManager","imageResourcesPath","svgFactory","enableScripting","_mouseState","mouseState","container","_createContainer","quadrilaterals","_createQuadrilaterals","transformOrigin","borderStyle","borderWidth","horizontalRadius","horizontalCornerRadius","verticalRadius","verticalCornerRadius","radius","borderRadius","borderBottomStyle","borderColor","quadPoints","_step26","savedRect","_iterator26","quadPoint","trigger","popup","PopupElement","modificationDate","contents","hideWrapper","render","className","quadrilateral","_AnnotationElement","_super15","isTooltipOnly","actions","Action","newWindow","externalLinkTarget","externalLinkRel","externalLinkEnabled","_bindNamedAction","_bindLink","_bindJSAction","_renderQuadrilaterals","linkElement","cloneNode","destination","_this34","getDestinationHash","goToDestination","_this35","getAnchorUrl","executeNamedAction","_this36","_loop","_Object$keys","_i8","jsName","_this36$linkService$e","eventBus","dispatch","detail","_AnnotationElement2","_super16","hasPopup","alt","dataset","l10nId","l10nArgs","JSON","stringify","_createPopup","_AnnotationElement3","_super17","alternativeText","platform","ctrlKey","metaKey","baseName","eventName","valueGetter","_this37","_this37$linkService$e","shiftKey","modifier","_getKeyModifier","_this37$linkService$e2","checked","getter","_step27","_iterator27","_this$data$actions","_step27$value","_setEventListener","_WidgetAnnotationElem","_super18","hasAppearance","fieldValue","_this38","storage","getOrCreateValue","elementData","userValue","formattedValue","beforeInputSelectionRange","beforeInputValue","multiLine","setValue","blurListener","setSelectionRange","valueAsString","activeElement","focus","preventScroll","userName","hidden","editable","disabled","selRange","_detail$selRange","selStart","selEnd","ColorConverters","_this38$linkService$e","commitKey","willCommit","selectionStart","selectionEnd","_blurListener","_this38$linkService$e2","isDown","_this38$linkService$e3","_elementData$beforeIn","change","_setEventListeners","readOnly","fieldName","maxLen","maxLength","comb","combWidth","classList","letterSpacing","verticalAlign","display","_setTextStyle","_this$data$defaultApp","defaultAppearanceData","fontColor","textAlignment","textAlign","_WidgetAnnotationElem2","_super19","_step28","_iterator28","getElementsByName","checkbox","getAttribute","_WidgetAnnotationElem3","_super20","buttonValue","_step29","_iterator29","radio","_step30","_iterator30","radioId","_LinkAnnotationElemen","_super21","_WidgetAnnotationElem4","_super22","_this39","selectElement","combo","options","multiSelect","multiple","_step31","_iterator31","option","optionElement","displayValue","exportValue","getValue","selectedIndex","_this39$linkService$e","changeEx","keyDown","_AnnotationElement4","_super23","parentType","selector","parentId","parentElements","querySelectorAll","parentRect","popupLeft","popupTop","pinned","_this40","hideElement","dateObject","toDateObject","toLocaleDateString","toLocaleTimeString","_formatContents","_toggle","_show","_hide","lines","split","line","createTextNode","pin","hasAttribute","removeAttribute","zIndex","unpin","_AnnotationElement5","_super24","_AnnotationElement6","_super25","lineCoordinates","append","_AnnotationElement7","_super26","square","_AnnotationElement8","_super27","circle","_AnnotationElement9","_super28","_this41","containerClassName","svgElementName","_step32","_iterator32","vertices","coordinate","polyline","_PolylineAnnotationEl","_super29","_this42","_AnnotationElement10","_super30","_AnnotationElement11","_super31","_this43","_step33","_iterator33","inkLists","_step34","inkList","_iterator34","_AnnotationElement12","_super32","_AnnotationElement13","_super33","_AnnotationElement14","_super34","_AnnotationElement15","_super35","_AnnotationElement16","_super36","_AnnotationElement17","_super37","_this44$linkService$e","_this44","_this44$data$file","file","_download","downloadData","_step35","sortedAnnotations","popupAnnotations","_iterator35","annotations","_data3","_i9","_sortedAnnotations","rendered","_step36","_iterator36","renderedElement","prepend","_step37","_iterator37","elements","makeColorComp","_ref37","_ref38","_ref39","_ref41","_ref43","G","_ref45","_ref46","_ref47","_ref48","R","B","_ref49","_ref50","components","RGB_HTML","CMYK_RGB","_ref51","_ref52","NonWhitespaceRegexp","appendText","geom","textDiv","textDivProperties","canvasWidth","originalTransform","paddingBottom","paddingLeft","paddingRight","paddingTop","_textDivs","_textDivProperties","tx","_viewport","atan2","fontName","fontHeight","fontAscent","ascent","descent","_fontInspectorEnabled","shouldScaleText","absScaleX","absScaleY","_textContentStream","_layoutText","_enhanceTextSelection","angleCos","angleSin","divWidth","divHeight","_bounds","right","bottom","_canceled","textDivs","textDivsLength","_renderingDone","findPositiveMin","ts","t","expand","expanded","boxes","box","x1New","x2New","expandBoundsLTR","expandBounds","_loop2","divProperties","Float64Array","boxScale","horizon","Infinity","boundary","horizonPart","affectedBoundary","maxXNew","xNew","changedHorizon","lastBoundary","useBoundary","unshift","used","TextLayerRenderTask","_ref53","_globalThis$FontInspe2","_this45","textContentStream","textContentItemsStr","enhanceTextSelection","_textContent","_container","_textContentItemsStr","_reader","_layoutTextLastFontSize","_layoutTextLastFontFamily","_layoutTextCtx","_renderTimer","_processItems","styleCache","_textDiv$style","_render","timeout","_this46","mozOpaque","textItems","textStyles","_ref54","expandTextDivs","expandDivs","transformBuf","paddingBuf","divProps","padding","renderParameters","pf","toFixed","pm","acos","SVG_DEFAULTS","fontStyle","fontWeight","convertImgDataToPng","PNG_HEADER","crcTable","writePngChunk","crc","_i10","crc32","deflateSyncUncompressed","literals","maxBlockLength","deflateBlocks","idat","adler","_i11","adler32","encode","isMask","bitDepth","colorType","offsetLiterals","offsetBytes","_y","_i12","ihdr","Buffer","output","deflateSync","pngLength","CHUNK_WRAPPER_SIZE","SVGExtraState","dependencies","activeClipUrl","clipGroup","maskId","clipCount","maskCount","shadingCount","transformMatrix","transformStack","extraStack","embedFonts","embeddedFonts","cssStyle","_operatorIdMapping","tgrp","executeOpTree","_this47","_step39","_iterator39","_loop3","_this48","svgElement","loadDependencies","convertOpList","operatorIdMapping","opList","fn","_step38","opTree","_iterator38","opListElement","opListToTree","_step40","_iterator40","opTreeElement","lineMatrix","xcoords","ycoords","tspan","setAttributeNS","txtElement","txtgrp","_step41","_iterator41","lineWidthScale","_setStrokeAttributes","_ensureTransformGroup","defs","addFontStyle","_current$txtElement","_makeColorN_Pattern","inverseTransform","_makeShadingPattern","_makeTilingPattern","_args$","tilingId","_util$Util$applyTrans","_util$Util$applyTrans2","tx0","ty0","_util$Util$applyTrans3","_util$Util$applyTrans4","tx1","ty1","_util$Util$singularVa","_util$Util$singularVa2","txstep","tystep","tiling","_util$Util","gradient","shadingId","point0","point1","focalPoint","circlePoint","focalRadius","circleRadius","_step42","_iterator42","colorStop","_step43","_iterator43","getAttributeNS","clipId","clipPath","clipElement","_step44","_iterator44","_step44$value","setStrokeAlpha","setFillAlpha","imgSrc","cliprect","imgEl","definitions","rootGroup","_ensureClipGroup","_network_utils","fs","http","https","fileUriRegex","sourceUrl","parsedUrl","parse","host","isHttp","isFsUrl","_rangeRequestReaders","_this$_fullRequestRea3","_this$_fullRequestRea4","PDFNodeStreamFsFullReader","PDFNodeStreamFullReader","PDFNodeStreamFsRangeReader","PDFNodeStreamRangeReader","BaseFullReader","_url","_storedError","_disableRange","_rangeChunkSize","_readableStream","_readCapability","_headersCapability","_read3","_callee9","_context9","_error","_this49","BaseRangeReader","_read4","_callee10","_context10","_this50","createRequestOptions","headers","auth","hostname","method","_BaseFullReader","_super38","_this51","handleResponse","statusCode","_setReadableStream","getResponseHeader","_ref55","validateRangeRequestCapabilities","allowRangeRequests","suggestedLength","extractFilenameFromHeader","_request","_BaseRangeReader","_super39","_this52","_httpHeaders","Range","_BaseFullReader2","_super40","_this53","lstat","stat","createReadStream","_BaseRangeReader2","_super41","_this54","createResponseStatusError","contentDisposition","_content_disposition","getFilenameFromContentDispositionHeader","_ref56","returnValues","validateResponseStatus","needsEncodingFixup","toParamRegExp","rfc2616unquote","fixupEncoding","rfc2047decode","rfc5987decode","contentDispositionStr","iter","_match2","quot","part","parts","_n","_matches$_n","_quot","_part","rfc2231getparam","_filename2","attributePattern","flags","textdecode","encoding","decoder","TextDecoder","fatal","decode","quotindex","extvalue","encodingend","charset","hex","NetworkManager","getXhr","currXhrId","pendingRequests","listeners","xhr","xhrId","pendingRequest","setRequestHeader","expectedStatus","onStateChange","onprogress","onHeadersReceived","onDone","xhrStatus","getArrayBuffer","rangeHeader","_source","_manager","PDFNetworkStreamFullRequestReader","PDFNetworkStreamRangeRequestReader","onClosed","_onRangeRequestReaderClosed","manager","_onHeadersReceived","_onDone","_onError","_fullRequestId","requestFull","_headersReceivedCapability","_cachedChunks","_read5","fullRequestXhrId","fullRequestXhr","getRequestXhr","_ref57","abortRequest","lengthComputable","_callee11","_context11","isPendingRequest","_requestId","requestRange","_read6","_close","_callee12","_context12","createFetchOptions","abortController","signal","credentials","redirect","createHeaders","Headers","_this$_fullRequestRea5","_this$_fullRequestRea6","PDFFetchStreamReader","PDFFetchStreamRangeReader","_this55","_withCredentials","AbortController","_abortController","_headers","_ref58","_read7","_callee13","_yield$this$_reader$r","_context13","_this56","_read8","_callee14","_yield$this$_reader$r2","_context14","__webpack_module_cache__","moduleId","module"],"mappings":"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","file":"2b7b2d2a-b5c594cb758bc7504b5d.js","sourcesContent":["var _assertThisInitialized = require(\"C:/agent/_work/3/s/LCB/Research/Content/node_modules/@babel/runtime/helpers/assertThisInitialized.js\");\n\nvar _get = require(\"C:/agent/_work/3/s/LCB/Research/Content/node_modules/@babel/runtime/helpers/get.js\");\n\nvar _slicedToArray = require(\"C:/agent/_work/3/s/LCB/Research/Content/node_modules/@babel/runtime/helpers/slicedToArray.js\");\n\nvar _toConsumableArray = require(\"C:/agent/_work/3/s/LCB/Research/Content/node_modules/@babel/runtime/helpers/toConsumableArray.js\");\n\nvar _regeneratorRuntime = require(\"C:\\\\agent\\\\_work\\\\3\\\\s\\\\LCB\\\\Research\\\\Content\\\\node_modules\\\\@babel\\\\runtime\\\\regenerator\\\\index.js\");\n\nvar _asyncToGenerator = require(\"C:/agent/_work/3/s/LCB/Research/Content/node_modules/@babel/runtime/helpers/asyncToGenerator.js\");\n\nvar _inherits = require(\"C:/agent/_work/3/s/LCB/Research/Content/node_modules/@babel/runtime/helpers/inherits.js\");\n\nvar _possibleConstructorReturn = require(\"C:/agent/_work/3/s/LCB/Research/Content/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n\nvar _getPrototypeOf = require(\"C:/agent/_work/3/s/LCB/Research/Content/node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n\nvar _classCallCheck = require(\"C:/agent/_work/3/s/LCB/Research/Content/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"C:/agent/_work/3/s/LCB/Research/Content/node_modules/@babel/runtime/helpers/createClass.js\");\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { 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 = it.call(o); }, 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\nrequire(\"core-js/modules/esnext.global-this.js\");\n\nrequire(\"core-js/modules/es.object.from-entries.js\");\n\nrequire(\"core-js/modules/es.promise.finally.js\");\n\nrequire(\"core-js/modules/es.math.hypot.js\");\n\nrequire(\"core-js/modules/esnext.promise.all-settled.js\");\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 _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\n/**\n * @licstart The following is the entire license notice for the\n * Javascript code in this page\n *\n * Copyright 2020 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * @licend The above is the entire license notice for the\n * Javascript code in this page\n */\n(function webpackUniversalModuleDefinition(root, factory) {\n if (typeof exports === 'object' && typeof module === 'object') module.exports = factory();else if (typeof define === 'function' && define.amd) define(\"pdfjs-dist/build/pdf\", [], factory);else if (typeof exports === 'object') exports[\"pdfjs-dist/build/pdf\"] = factory();else root[\"pdfjs-dist/build/pdf\"] = root.pdfjsLib = factory();\n})(this, function () {\n return (\n /******/\n function () {\n // webpackBootstrap\n\n /******/\n \"use strict\";\n /******/\n\n var __webpack_modules__ = [\n /* 0 */\n\n /***/\n function (__unused_webpack_module, exports, __w_pdfjs_require__) {\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(exports, \"addLinkAttributes\", {\n enumerable: true,\n get: function get() {\n return _display_utils.addLinkAttributes;\n }\n });\n Object.defineProperty(exports, \"getFilenameFromUrl\", {\n enumerable: true,\n get: function get() {\n return _display_utils.getFilenameFromUrl;\n }\n });\n Object.defineProperty(exports, \"LinkTarget\", {\n enumerable: true,\n get: function get() {\n return _display_utils.LinkTarget;\n }\n });\n Object.defineProperty(exports, \"loadScript\", {\n enumerable: true,\n get: function get() {\n return _display_utils.loadScript;\n }\n });\n Object.defineProperty(exports, \"PDFDateString\", {\n enumerable: true,\n get: function get() {\n return _display_utils.PDFDateString;\n }\n });\n Object.defineProperty(exports, \"RenderingCancelledException\", {\n enumerable: true,\n get: function get() {\n return _display_utils.RenderingCancelledException;\n }\n });\n Object.defineProperty(exports, \"build\", {\n enumerable: true,\n get: function get() {\n return _api.build;\n }\n });\n Object.defineProperty(exports, \"getDocument\", {\n enumerable: true,\n get: function get() {\n return _api.getDocument;\n }\n });\n Object.defineProperty(exports, \"LoopbackPort\", {\n enumerable: true,\n get: function get() {\n return _api.LoopbackPort;\n }\n });\n Object.defineProperty(exports, \"PDFDataRangeTransport\", {\n enumerable: true,\n get: function get() {\n return _api.PDFDataRangeTransport;\n }\n });\n Object.defineProperty(exports, \"PDFWorker\", {\n enumerable: true,\n get: function get() {\n return _api.PDFWorker;\n }\n });\n Object.defineProperty(exports, \"version\", {\n enumerable: true,\n get: function get() {\n return _api.version;\n }\n });\n Object.defineProperty(exports, \"CMapCompressionType\", {\n enumerable: true,\n get: function get() {\n return _util.CMapCompressionType;\n }\n });\n Object.defineProperty(exports, \"createObjectURL\", {\n enumerable: true,\n get: function get() {\n return _util.createObjectURL;\n }\n });\n Object.defineProperty(exports, \"createPromiseCapability\", {\n enumerable: true,\n get: function get() {\n return _util.createPromiseCapability;\n }\n });\n Object.defineProperty(exports, \"createValidAbsoluteUrl\", {\n enumerable: true,\n get: function get() {\n return _util.createValidAbsoluteUrl;\n }\n });\n Object.defineProperty(exports, \"InvalidPDFException\", {\n enumerable: true,\n get: function get() {\n return _util.InvalidPDFException;\n }\n });\n Object.defineProperty(exports, \"MissingPDFException\", {\n enumerable: true,\n get: function get() {\n return _util.MissingPDFException;\n }\n });\n Object.defineProperty(exports, \"OPS\", {\n enumerable: true,\n get: function get() {\n return _util.OPS;\n }\n });\n Object.defineProperty(exports, \"PasswordResponses\", {\n enumerable: true,\n get: function get() {\n return _util.PasswordResponses;\n }\n });\n Object.defineProperty(exports, \"PermissionFlag\", {\n enumerable: true,\n get: function get() {\n return _util.PermissionFlag;\n }\n });\n Object.defineProperty(exports, \"removeNullCharacters\", {\n enumerable: true,\n get: function get() {\n return _util.removeNullCharacters;\n }\n });\n Object.defineProperty(exports, \"shadow\", {\n enumerable: true,\n get: function get() {\n return _util.shadow;\n }\n });\n Object.defineProperty(exports, \"UnexpectedResponseException\", {\n enumerable: true,\n get: function get() {\n return _util.UnexpectedResponseException;\n }\n });\n Object.defineProperty(exports, \"UNSUPPORTED_FEATURES\", {\n enumerable: true,\n get: function get() {\n return _util.UNSUPPORTED_FEATURES;\n }\n });\n Object.defineProperty(exports, \"Util\", {\n enumerable: true,\n get: function get() {\n return _util.Util;\n }\n });\n Object.defineProperty(exports, \"VerbosityLevel\", {\n enumerable: true,\n get: function get() {\n return _util.VerbosityLevel;\n }\n });\n Object.defineProperty(exports, \"AnnotationLayer\", {\n enumerable: true,\n get: function get() {\n return _annotation_layer.AnnotationLayer;\n }\n });\n Object.defineProperty(exports, \"apiCompatibilityParams\", {\n enumerable: true,\n get: function get() {\n return _api_compatibility.apiCompatibilityParams;\n }\n });\n Object.defineProperty(exports, \"GlobalWorkerOptions\", {\n enumerable: true,\n get: function get() {\n return _worker_options.GlobalWorkerOptions;\n }\n });\n Object.defineProperty(exports, \"renderTextLayer\", {\n enumerable: true,\n get: function get() {\n return _text_layer.renderTextLayer;\n }\n });\n Object.defineProperty(exports, \"SVGGraphics\", {\n enumerable: true,\n get: function get() {\n return _svg.SVGGraphics;\n }\n });\n\n var _display_utils = __w_pdfjs_require__(1);\n\n var _api = __w_pdfjs_require__(5);\n\n var _util = __w_pdfjs_require__(2);\n\n var _annotation_layer = __w_pdfjs_require__(19);\n\n var _api_compatibility = __w_pdfjs_require__(9);\n\n var _worker_options = __w_pdfjs_require__(12);\n\n var _text_layer = __w_pdfjs_require__(21);\n\n var _svg = __w_pdfjs_require__(22);\n\n var pdfjsVersion = '2.7.570';\n var pdfjsBuild = 'f2c7338b0';\n {\n var _w_pdfjs_require__ = __w_pdfjs_require__(4),\n isNodeJS = _w_pdfjs_require__.isNodeJS;\n\n if (isNodeJS) {\n var PDFNodeStream = __w_pdfjs_require__(23).PDFNodeStream;\n\n (0, _api.setPDFNetworkStreamFactory)(function (params) {\n return new PDFNodeStream(params);\n });\n } else {\n var PDFNetworkStream = __w_pdfjs_require__(26).PDFNetworkStream;\n\n var PDFFetchStream;\n\n if ((0, _display_utils.isFetchSupported)()) {\n PDFFetchStream = __w_pdfjs_require__(27).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\n /***/\n function (__unused_webpack_module, exports, __w_pdfjs_require__) {\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.addLinkAttributes = addLinkAttributes;\n exports.deprecated = deprecated;\n exports.getFilenameFromUrl = getFilenameFromUrl;\n exports.isFetchSupported = isFetchSupported;\n exports.isValidFetchUrl = isValidFetchUrl;\n exports.loadScript = loadScript;\n exports.StatTimer = exports.RenderingCancelledException = exports.PDFDateString = exports.PageViewport = exports.LinkTarget = exports.DOMSVGFactory = exports.DOMCMapReaderFactory = exports.DOMCanvasFactory = exports.DEFAULT_LINK_REL = exports.BaseCMapReaderFactory = exports.BaseCanvasFactory = void 0;\n\n var _util = __w_pdfjs_require__(2);\n\n var DEFAULT_LINK_REL = \"noopener noreferrer nofollow\";\n exports.DEFAULT_LINK_REL = DEFAULT_LINK_REL;\n var SVG_NS = \"http://www.w3.org/2000/svg\";\n\n var BaseCanvasFactory = /*#__PURE__*/function () {\n function BaseCanvasFactory() {\n _classCallCheck(this, BaseCanvasFactory);\n\n if (this.constructor === BaseCanvasFactory) {\n (0, _util.unreachable)(\"Cannot initialize BaseCanvasFactory.\");\n }\n }\n\n _createClass(BaseCanvasFactory, [{\n key: \"create\",\n value: function create(width, height) {\n (0, _util.unreachable)(\"Abstract method `create` called.\");\n }\n }, {\n key: \"reset\",\n value: function reset(canvasAndContext, width, height) {\n if (!canvasAndContext.canvas) {\n throw new Error(\"Canvas is not specified\");\n }\n\n if (width <= 0 || height <= 0) {\n throw new Error(\"Invalid canvas size\");\n }\n\n canvasAndContext.canvas.width = width;\n canvasAndContext.canvas.height = height;\n }\n }, {\n key: \"destroy\",\n value: function destroy(canvasAndContext) {\n if (!canvasAndContext.canvas) {\n throw new Error(\"Canvas is not specified\");\n }\n\n canvasAndContext.canvas.width = 0;\n canvasAndContext.canvas.height = 0;\n canvasAndContext.canvas = null;\n canvasAndContext.context = null;\n }\n }]);\n\n return BaseCanvasFactory;\n }();\n\n exports.BaseCanvasFactory = BaseCanvasFactory;\n\n var DOMCanvasFactory = /*#__PURE__*/function (_BaseCanvasFactory) {\n _inherits(DOMCanvasFactory, _BaseCanvasFactory);\n\n var _super = _createSuper(DOMCanvasFactory);\n\n function DOMCanvasFactory() {\n var _this;\n\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref$ownerDocument = _ref.ownerDocument,\n ownerDocument = _ref$ownerDocument === void 0 ? globalThis.document : _ref$ownerDocument;\n\n _classCallCheck(this, DOMCanvasFactory);\n\n _this = _super.call(this);\n _this._document = ownerDocument;\n return _this;\n }\n\n _createClass(DOMCanvasFactory, [{\n key: \"create\",\n value: function create(width, height) {\n if (width <= 0 || height <= 0) {\n throw new Error(\"Invalid canvas size\");\n }\n\n var canvas = this._document.createElement(\"canvas\");\n\n var context = canvas.getContext(\"2d\");\n canvas.width = width;\n canvas.height = height;\n return {\n canvas: canvas,\n context: context\n };\n }\n }]);\n\n return DOMCanvasFactory;\n }(BaseCanvasFactory);\n\n exports.DOMCanvasFactory = DOMCanvasFactory;\n\n var BaseCMapReaderFactory = /*#__PURE__*/function () {\n function BaseCMapReaderFactory(_ref2) {\n var _ref2$baseUrl = _ref2.baseUrl,\n baseUrl = _ref2$baseUrl === void 0 ? null : _ref2$baseUrl,\n _ref2$isCompressed = _ref2.isCompressed,\n isCompressed = _ref2$isCompressed === void 0 ? false : _ref2$isCompressed;\n\n _classCallCheck(this, BaseCMapReaderFactory);\n\n if (this.constructor === BaseCMapReaderFactory) {\n (0, _util.unreachable)(\"Cannot initialize BaseCMapReaderFactory.\");\n }\n\n this.baseUrl = baseUrl;\n this.isCompressed = isCompressed;\n }\n\n _createClass(BaseCMapReaderFactory, [{\n key: \"fetch\",\n value: function () {\n var _fetch = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref3) {\n var _this2 = this;\n\n var name, url, compressionType;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n name = _ref3.name;\n\n if (this.baseUrl) {\n _context.next = 3;\n break;\n }\n\n throw new Error('The CMap \"baseUrl\" parameter must be specified, ensure that ' + 'the \"cMapUrl\" and \"cMapPacked\" API parameters are provided.');\n\n case 3:\n if (name) {\n _context.next = 5;\n break;\n }\n\n throw new Error(\"CMap name must be specified.\");\n\n case 5:\n url = this.baseUrl + name + (this.isCompressed ? \".bcmap\" : \"\");\n compressionType = this.isCompressed ? _util.CMapCompressionType.BINARY : _util.CMapCompressionType.NONE;\n return _context.abrupt(\"return\", this._fetchData(url, compressionType).catch(function (reason) {\n throw new Error(\"Unable to load \".concat(_this2.isCompressed ? \"binary \" : \"\", \"CMap at: \").concat(url));\n }));\n\n case 8:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function fetch(_x) {\n return _fetch.apply(this, arguments);\n }\n\n return fetch;\n }()\n }, {\n key: \"_fetchData\",\n value: function _fetchData(url, compressionType) {\n (0, _util.unreachable)(\"Abstract method `_fetchData` called.\");\n }\n }]);\n\n return BaseCMapReaderFactory;\n }();\n\n exports.BaseCMapReaderFactory = BaseCMapReaderFactory;\n\n var DOMCMapReaderFactory = /*#__PURE__*/function (_BaseCMapReaderFactor) {\n _inherits(DOMCMapReaderFactory, _BaseCMapReaderFactor);\n\n var _super2 = _createSuper(DOMCMapReaderFactory);\n\n function DOMCMapReaderFactory() {\n _classCallCheck(this, DOMCMapReaderFactory);\n\n return _super2.apply(this, arguments);\n }\n\n _createClass(DOMCMapReaderFactory, [{\n key: \"_fetchData\",\n value: function _fetchData(url, compressionType) {\n var _this3 = this;\n\n if (isFetchSupported() && isValidFetchUrl(url, document.baseURI)) {\n return fetch(url).then( /*#__PURE__*/function () {\n var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(response) {\n var cMapData;\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n if (response.ok) {\n _context2.next = 2;\n break;\n }\n\n throw new Error(response.statusText);\n\n case 2:\n if (!_this3.isCompressed) {\n _context2.next = 10;\n break;\n }\n\n _context2.t0 = Uint8Array;\n _context2.next = 6;\n return response.arrayBuffer();\n\n case 6:\n _context2.t1 = _context2.sent;\n cMapData = new _context2.t0(_context2.t1);\n _context2.next = 15;\n break;\n\n case 10:\n _context2.t2 = (0, _util.stringToBytes);\n _context2.next = 13;\n return response.text();\n\n case 13:\n _context2.t3 = _context2.sent;\n cMapData = (0, _context2.t2)(_context2.t3);\n\n case 15:\n return _context2.abrupt(\"return\", {\n cMapData: cMapData,\n compressionType: compressionType\n });\n\n case 16:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }));\n\n return function (_x2) {\n return _ref4.apply(this, arguments);\n };\n }());\n }\n\n return new Promise(function (resolve, reject) {\n var request = new XMLHttpRequest();\n request.open(\"GET\", url, true);\n\n if (_this3.isCompressed) {\n request.responseType = \"arraybuffer\";\n }\n\n request.onreadystatechange = function () {\n if (request.readyState !== XMLHttpRequest.DONE) {\n return;\n }\n\n if (request.status === 200 || request.status === 0) {\n var cMapData;\n\n if (_this3.isCompressed && request.response) {\n cMapData = new Uint8Array(request.response);\n } else if (!_this3.isCompressed && request.responseText) {\n cMapData = (0, _util.stringToBytes)(request.responseText);\n }\n\n if (cMapData) {\n resolve({\n cMapData: cMapData,\n compressionType: compressionType\n });\n return;\n }\n }\n\n reject(new Error(request.statusText));\n };\n\n request.send(null);\n });\n }\n }]);\n\n return DOMCMapReaderFactory;\n }(BaseCMapReaderFactory);\n\n exports.DOMCMapReaderFactory = DOMCMapReaderFactory;\n\n var 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\n exports.DOMSVGFactory = DOMSVGFactory;\n\n var 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\n exports.PageViewport = PageViewport;\n\n var RenderingCancelledException = /*#__PURE__*/function (_util$BaseException) {\n _inherits(RenderingCancelledException, _util$BaseException);\n\n var _super3 = _createSuper(RenderingCancelledException);\n\n function RenderingCancelledException(msg, type) {\n var _this4;\n\n _classCallCheck(this, RenderingCancelledException);\n\n _this4 = _super3.call(this, msg);\n _this4.type = type;\n return _this4;\n }\n\n return _createClass(RenderingCancelledException);\n }(_util.BaseException);\n\n exports.RenderingCancelledException = RenderingCancelledException;\n var LinkTarget = {\n NONE: 0,\n SELF: 1,\n BLANK: 2,\n PARENT: 3,\n TOP: 4\n };\n exports.LinkTarget = LinkTarget;\n\n function 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\n function 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\n var 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\n exports.StatTimer = StatTimer;\n\n function isFetchSupported() {\n return typeof fetch !== \"undefined\" && typeof Response !== \"undefined\" && \"body\" in Response.prototype && typeof ReadableStream !== \"undefined\";\n }\n\n function 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\n function loadScript(src) {\n var removeScriptElement = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n return new Promise(function (resolve, reject) {\n var script = document.createElement(\"script\");\n script.src = src;\n\n script.onload = function (evt) {\n if (removeScriptElement) {\n script.remove();\n }\n\n resolve(evt);\n };\n\n script.onerror = function () {\n reject(new Error(\"Cannot load script at: \".concat(script.src)));\n };\n\n (document.head || document.documentElement).appendChild(script);\n });\n }\n\n function deprecated(details) {\n console.log(\"Deprecated API usage: \" + details);\n }\n\n var pdfDateStringRegex;\n\n var 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\n exports.PDFDateString = PDFDateString;\n /***/\n },\n /* 2 */\n\n /***/\n function (__unused_webpack_module, exports, __w_pdfjs_require__) {\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.arrayByteLength = arrayByteLength;\n exports.arraysToBytes = arraysToBytes;\n exports.assert = assert;\n exports.bytesToString = bytesToString;\n exports.createPromiseCapability = createPromiseCapability;\n exports.createValidAbsoluteUrl = createValidAbsoluteUrl;\n exports.encodeToXmlString = encodeToXmlString;\n exports.escapeString = escapeString;\n exports.getModificationDate = getModificationDate;\n exports.getVerbosityLevel = getVerbosityLevel;\n exports.info = info;\n exports.isArrayBuffer = isArrayBuffer;\n exports.isArrayEqual = isArrayEqual;\n exports.isAscii = isAscii;\n exports.isBool = isBool;\n exports.isNum = isNum;\n exports.isSameOrigin = isSameOrigin;\n exports.isString = isString;\n exports.objectFromEntries = objectFromEntries;\n exports.objectSize = objectSize;\n exports.removeNullCharacters = removeNullCharacters;\n exports.setVerbosityLevel = setVerbosityLevel;\n exports.shadow = shadow;\n exports.string32 = string32;\n exports.stringToBytes = stringToBytes;\n exports.stringToPDFString = stringToPDFString;\n exports.stringToUTF16BEString = stringToUTF16BEString;\n exports.stringToUTF8String = stringToUTF8String;\n exports.unreachable = unreachable;\n exports.utf8StringToString = utf8StringToString;\n exports.warn = warn;\n exports.VerbosityLevel = exports.Util = exports.UNSUPPORTED_FEATURES = exports.UnknownErrorException = exports.UnexpectedResponseException = exports.TextRenderingMode = exports.StreamType = exports.PermissionFlag = exports.PasswordResponses = exports.PasswordException = exports.PageActionEventType = exports.OPS = exports.MissingPDFException = exports.IsLittleEndianCached = exports.IsEvalSupportedCached = exports.InvalidPDFException = exports.ImageKind = exports.IDENTITY_MATRIX = exports.FormatError = exports.FontType = exports.FONT_IDENTITY_MATRIX = exports.DocumentActionEventType = exports.createObjectURL = exports.CMapCompressionType = exports.BaseException = exports.AnnotationType = exports.AnnotationStateModelType = exports.AnnotationReviewState = exports.AnnotationReplyType = exports.AnnotationMarkedState = exports.AnnotationFlag = exports.AnnotationFieldFlag = exports.AnnotationBorderStyleType = exports.AnnotationActionEventType = exports.AbortException = void 0;\n\n __w_pdfjs_require__(3);\n\n var IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0];\n exports.IDENTITY_MATRIX = IDENTITY_MATRIX;\n var FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0];\n exports.FONT_IDENTITY_MATRIX = FONT_IDENTITY_MATRIX;\n var 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 };\n exports.PermissionFlag = PermissionFlag;\n var 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 };\n exports.TextRenderingMode = TextRenderingMode;\n var ImageKind = {\n GRAYSCALE_1BPP: 1,\n RGB_24BPP: 2,\n RGBA_32BPP: 3\n };\n exports.ImageKind = ImageKind;\n var 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 };\n exports.AnnotationType = AnnotationType;\n var AnnotationStateModelType = {\n MARKED: \"Marked\",\n REVIEW: \"Review\"\n };\n exports.AnnotationStateModelType = AnnotationStateModelType;\n var AnnotationMarkedState = {\n MARKED: \"Marked\",\n UNMARKED: \"Unmarked\"\n };\n exports.AnnotationMarkedState = AnnotationMarkedState;\n var AnnotationReviewState = {\n ACCEPTED: \"Accepted\",\n REJECTED: \"Rejected\",\n CANCELLED: \"Cancelled\",\n COMPLETED: \"Completed\",\n NONE: \"None\"\n };\n exports.AnnotationReviewState = AnnotationReviewState;\n var AnnotationReplyType = {\n GROUP: \"Group\",\n REPLY: \"R\"\n };\n exports.AnnotationReplyType = AnnotationReplyType;\n var 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 };\n exports.AnnotationFlag = AnnotationFlag;\n var 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 };\n exports.AnnotationFieldFlag = AnnotationFieldFlag;\n var AnnotationBorderStyleType = {\n SOLID: 1,\n DASHED: 2,\n BEVELED: 3,\n INSET: 4,\n UNDERLINE: 5\n };\n exports.AnnotationBorderStyleType = AnnotationBorderStyleType;\n var AnnotationActionEventType = {\n E: \"Mouse Enter\",\n X: \"Mouse Exit\",\n D: \"Mouse Down\",\n U: \"Mouse Up\",\n Fo: \"Focus\",\n Bl: \"Blur\",\n PO: \"PageOpen\",\n PC: \"PageClose\",\n PV: \"PageVisible\",\n PI: \"PageInvisible\",\n K: \"Keystroke\",\n F: \"Format\",\n V: \"Validate\",\n C: \"Calculate\"\n };\n exports.AnnotationActionEventType = AnnotationActionEventType;\n var DocumentActionEventType = {\n WC: \"WillClose\",\n WS: \"WillSave\",\n DS: \"DidSave\",\n WP: \"WillPrint\",\n DP: \"DidPrint\"\n };\n exports.DocumentActionEventType = DocumentActionEventType;\n var PageActionEventType = {\n O: \"PageOpen\",\n C: \"PageClose\"\n };\n exports.PageActionEventType = PageActionEventType;\n var 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 };\n exports.StreamType = StreamType;\n var 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 };\n exports.FontType = FontType;\n var VerbosityLevel = {\n ERRORS: 0,\n WARNINGS: 1,\n INFOS: 5\n };\n exports.VerbosityLevel = VerbosityLevel;\n var CMapCompressionType = {\n NONE: 0,\n BINARY: 1,\n STREAM: 2\n };\n exports.CMapCompressionType = CMapCompressionType;\n var 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 };\n exports.OPS = OPS;\n var UNSUPPORTED_FEATURES = {\n unknown: \"unknown\",\n forms: \"forms\",\n javaScript: \"javaScript\",\n smask: \"smask\",\n shadingPattern: \"shadingPattern\",\n font: \"font\",\n errorTilingPattern: \"errorTilingPattern\",\n errorExtGState: \"errorExtGState\",\n errorXObject: \"errorXObject\",\n errorFontLoadType3: \"errorFontLoadType3\",\n errorFontState: \"errorFontState\",\n errorFontMissing: \"errorFontMissing\",\n errorFontTranslate: \"errorFontTranslate\",\n errorColorSpace: \"errorColorSpace\",\n errorOperatorList: \"errorOperatorList\",\n errorFontToUnicode: \"errorFontToUnicode\",\n errorFontLoadNative: \"errorFontLoadNative\",\n errorFontGetPath: \"errorFontGetPath\",\n errorMarkedContent: \"errorMarkedContent\"\n };\n exports.UNSUPPORTED_FEATURES = UNSUPPORTED_FEATURES;\n var PasswordResponses = {\n NEED_PASSWORD: 1,\n INCORRECT_PASSWORD: 2\n };\n exports.PasswordResponses = PasswordResponses;\n var verbosity = VerbosityLevel.WARNINGS;\n\n function setVerbosityLevel(level) {\n if (Number.isInteger(level)) {\n verbosity = level;\n }\n }\n\n function getVerbosityLevel() {\n return verbosity;\n }\n\n function info(msg) {\n if (verbosity >= VerbosityLevel.INFOS) {\n console.log(\"Info: \".concat(msg));\n }\n }\n\n function warn(msg) {\n if (verbosity >= VerbosityLevel.WARNINGS) {\n console.log(\"Warning: \".concat(msg));\n }\n }\n\n function unreachable(msg) {\n throw new Error(msg);\n }\n\n function assert(cond, msg) {\n if (!cond) {\n unreachable(msg);\n }\n }\n\n function 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\n function _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\n function 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\n function 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\n var 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\n exports.BaseException = BaseException;\n\n var PasswordException = /*#__PURE__*/function (_BaseException) {\n _inherits(PasswordException, _BaseException);\n\n var _super4 = _createSuper(PasswordException);\n\n function PasswordException(msg, code) {\n var _this5;\n\n _classCallCheck(this, PasswordException);\n\n _this5 = _super4.call(this, msg);\n _this5.code = code;\n return _this5;\n }\n\n return _createClass(PasswordException);\n }(BaseException);\n\n exports.PasswordException = PasswordException;\n\n var UnknownErrorException = /*#__PURE__*/function (_BaseException2) {\n _inherits(UnknownErrorException, _BaseException2);\n\n var _super5 = _createSuper(UnknownErrorException);\n\n function UnknownErrorException(msg, details) {\n var _this6;\n\n _classCallCheck(this, UnknownErrorException);\n\n _this6 = _super5.call(this, msg);\n _this6.details = details;\n return _this6;\n }\n\n return _createClass(UnknownErrorException);\n }(BaseException);\n\n exports.UnknownErrorException = UnknownErrorException;\n\n var InvalidPDFException = /*#__PURE__*/function (_BaseException3) {\n _inherits(InvalidPDFException, _BaseException3);\n\n var _super6 = _createSuper(InvalidPDFException);\n\n function InvalidPDFException() {\n _classCallCheck(this, InvalidPDFException);\n\n return _super6.apply(this, arguments);\n }\n\n return _createClass(InvalidPDFException);\n }(BaseException);\n\n exports.InvalidPDFException = InvalidPDFException;\n\n var MissingPDFException = /*#__PURE__*/function (_BaseException4) {\n _inherits(MissingPDFException, _BaseException4);\n\n var _super7 = _createSuper(MissingPDFException);\n\n function MissingPDFException() {\n _classCallCheck(this, MissingPDFException);\n\n return _super7.apply(this, arguments);\n }\n\n return _createClass(MissingPDFException);\n }(BaseException);\n\n exports.MissingPDFException = MissingPDFException;\n\n var UnexpectedResponseException = /*#__PURE__*/function (_BaseException5) {\n _inherits(UnexpectedResponseException, _BaseException5);\n\n var _super8 = _createSuper(UnexpectedResponseException);\n\n function UnexpectedResponseException(msg, status) {\n var _this7;\n\n _classCallCheck(this, UnexpectedResponseException);\n\n _this7 = _super8.call(this, msg);\n _this7.status = status;\n return _this7;\n }\n\n return _createClass(UnexpectedResponseException);\n }(BaseException);\n\n exports.UnexpectedResponseException = UnexpectedResponseException;\n\n var FormatError = /*#__PURE__*/function (_BaseException6) {\n _inherits(FormatError, _BaseException6);\n\n var _super9 = _createSuper(FormatError);\n\n function FormatError() {\n _classCallCheck(this, FormatError);\n\n return _super9.apply(this, arguments);\n }\n\n return _createClass(FormatError);\n }(BaseException);\n\n exports.FormatError = FormatError;\n\n var AbortException = /*#__PURE__*/function (_BaseException7) {\n _inherits(AbortException, _BaseException7);\n\n var _super10 = _createSuper(AbortException);\n\n function AbortException() {\n _classCallCheck(this, AbortException);\n\n return _super10.apply(this, arguments);\n }\n\n return _createClass(AbortException);\n }(BaseException);\n\n exports.AbortException = AbortException;\n var NullCharactersRegExp = /\\x00/g;\n\n function 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\n function 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\n function 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\n function 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\n function 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\n function string32(value) {\n return String.fromCharCode(value >> 24 & 0xff, value >> 16 & 0xff, value >> 8 & 0xff, value & 0xff);\n }\n\n function objectSize(obj) {\n return Object.keys(obj).length;\n }\n\n function objectFromEntries(iterable) {\n return Object.assign(Object.create(null), Object.fromEntries(iterable));\n }\n\n function 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\n var IsLittleEndianCached = {\n get value() {\n return shadow(this, \"value\", isLittleEndian());\n }\n\n };\n exports.IsLittleEndianCached = IsLittleEndianCached;\n\n function isEvalSupported() {\n try {\n new Function(\"\");\n return true;\n } catch (e) {\n return false;\n }\n }\n\n var IsEvalSupportedCached = {\n get value() {\n return shadow(this, \"value\", isEvalSupported());\n }\n\n };\n exports.IsEvalSupportedCached = IsEvalSupportedCached;\n\n var hexNumbers = _toConsumableArray(Array(256).keys()).map(function (n) {\n return n.toString(16).padStart(2, \"0\");\n });\n\n var Util = /*#__PURE__*/function () {\n function Util() {\n _classCallCheck(this, Util);\n }\n\n _createClass(Util, null, [{\n key: \"makeHexColor\",\n value: function makeHexColor(r, g, b) {\n return \"#\".concat(hexNumbers[r]).concat(hexNumbers[g]).concat(hexNumbers[b]);\n }\n }, {\n key: \"transform\",\n value: function transform(m1, m2) {\n return [m1[0] * m2[0] + m1[2] * m2[1], m1[1] * m2[0] + m1[3] * m2[1], m1[0] * m2[2] + m1[2] * m2[3], m1[1] * m2[2] + m1[3] * m2[3], m1[0] * m2[4] + m1[2] * m2[5] + m1[4], m1[1] * m2[4] + m1[3] * m2[5] + m1[5]];\n }\n }, {\n key: \"applyTransform\",\n value: function applyTransform(p, m) {\n var xt = p[0] * m[0] + p[1] * m[2] + m[4];\n var yt = p[0] * m[1] + p[1] * m[3] + m[5];\n return [xt, yt];\n }\n }, {\n key: \"applyInverseTransform\",\n value: function applyInverseTransform(p, m) {\n var d = m[0] * m[3] - m[1] * m[2];\n var xt = (p[0] * m[3] - p[1] * m[2] + m[2] * m[5] - m[4] * m[3]) / d;\n var yt = (-p[0] * m[1] + p[1] * m[0] + m[4] * m[1] - m[5] * m[0]) / d;\n return [xt, yt];\n }\n }, {\n key: \"getAxialAlignedBoundingBox\",\n value: function getAxialAlignedBoundingBox(r, m) {\n var p1 = Util.applyTransform(r, m);\n var p2 = Util.applyTransform(r.slice(2, 4), m);\n var p3 = Util.applyTransform([r[0], r[3]], m);\n var p4 = Util.applyTransform([r[2], r[1]], m);\n return [Math.min(p1[0], p2[0], p3[0], p4[0]), Math.min(p1[1], p2[1], p3[1], p4[1]), Math.max(p1[0], p2[0], p3[0], p4[0]), Math.max(p1[1], p2[1], p3[1], p4[1])];\n }\n }, {\n key: \"inverseTransform\",\n value: function inverseTransform(m) {\n var d = m[0] * m[3] - m[1] * m[2];\n return [m[3] / d, -m[1] / d, -m[2] / d, m[0] / d, (m[2] * m[5] - m[4] * m[3]) / d, (m[4] * m[1] - m[5] * m[0]) / d];\n }\n }, {\n key: \"apply3dTransform\",\n value: function apply3dTransform(m, v) {\n return [m[0] * v[0] + m[1] * v[1] + m[2] * v[2], m[3] * v[0] + m[4] * v[1] + m[5] * v[2], m[6] * v[0] + m[7] * v[1] + m[8] * v[2]];\n }\n }, {\n key: \"singularValueDecompose2dScale\",\n value: function singularValueDecompose2dScale(m) {\n var transpose = [m[0], m[2], m[1], m[3]];\n var a = m[0] * transpose[0] + m[1] * transpose[2];\n var b = m[0] * transpose[1] + m[1] * transpose[3];\n var c = m[2] * transpose[0] + m[3] * transpose[2];\n var d = m[2] * transpose[1] + m[3] * transpose[3];\n var first = (a + d) / 2;\n var second = Math.sqrt((a + d) * (a + d) - 4 * (a * d - c * b)) / 2;\n var sx = first + second || 1;\n var sy = first - second || 1;\n return [Math.sqrt(sx), Math.sqrt(sy)];\n }\n }, {\n key: \"normalizeRect\",\n value: function normalizeRect(rect) {\n var r = rect.slice(0);\n\n if (rect[0] > rect[2]) {\n r[0] = rect[2];\n r[2] = rect[0];\n }\n\n if (rect[1] > rect[3]) {\n r[1] = rect[3];\n r[3] = rect[1];\n }\n\n return r;\n }\n }, {\n key: \"intersect\",\n value: function intersect(rect1, rect2) {\n function compare(a, b) {\n return a - b;\n }\n\n var orderedX = [rect1[0], rect1[2], rect2[0], rect2[2]].sort(compare);\n var orderedY = [rect1[1], rect1[3], rect2[1], rect2[3]].sort(compare);\n var result = [];\n rect1 = Util.normalizeRect(rect1);\n rect2 = Util.normalizeRect(rect2);\n\n if (orderedX[0] === rect1[0] && orderedX[1] === rect2[0] || orderedX[0] === rect2[0] && orderedX[1] === rect1[0]) {\n result[0] = orderedX[1];\n result[2] = orderedX[2];\n } else {\n return null;\n }\n\n if (orderedY[0] === rect1[1] && orderedY[1] === rect2[1] || orderedY[0] === rect2[1] && orderedY[1] === rect1[1]) {\n result[1] = orderedY[1];\n result[3] = orderedY[2];\n } else {\n return null;\n }\n\n return result;\n }\n }]);\n\n return Util;\n }();\n\n exports.Util = Util;\n var 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\n function 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\n function escapeString(str) {\n return str.replace(/([()\\\\\\n\\r])/g, function (match) {\n if (match === \"\\n\") {\n return \"\\\\n\";\n } else if (match === \"\\r\") {\n return \"\\\\r\";\n }\n\n return \"\\\\\".concat(match);\n });\n }\n\n function isAscii(str) {\n return /^[\\x00-\\x7F]*$/.test(str);\n }\n\n function stringToUTF16BEString(str) {\n var buf = [\"\\xFE\\xFF\"];\n\n for (var i = 0, ii = str.length; i < ii; i++) {\n var char = str.charCodeAt(i);\n buf.push(String.fromCharCode(char >> 8 & 0xff));\n buf.push(String.fromCharCode(char & 0xff));\n }\n\n return buf.join(\"\");\n }\n\n function stringToUTF8String(str) {\n return decodeURIComponent(escape(str));\n }\n\n function utf8StringToString(str) {\n return unescape(encodeURIComponent(str));\n }\n\n function isBool(v) {\n return typeof v === \"boolean\";\n }\n\n function isNum(v) {\n return typeof v === \"number\";\n }\n\n function isString(v) {\n return typeof v === \"string\";\n }\n\n function isArrayBuffer(v) {\n return typeof v === \"object\" && v !== null && v.byteLength !== undefined;\n }\n\n function 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\n function getModificationDate() {\n var date = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : new Date();\n var buffer = [date.getUTCFullYear().toString(), (date.getUTCMonth() + 1).toString().padStart(2, \"0\"), date.getUTCDate().toString().padStart(2, \"0\"), date.getUTCHours().toString().padStart(2, \"0\"), date.getUTCMinutes().toString().padStart(2, \"0\"), date.getUTCSeconds().toString().padStart(2, \"0\")];\n return buffer.join(\"\");\n }\n\n function 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\n var 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\n exports.createObjectURL = createObjectURL;\n var XMLEntities = {\n 0x3c: \"<\",\n 0x3e: \">\",\n 0x26: \"&\",\n 0x22: \""\",\n 0x27: \"'\"\n };\n\n function encodeToXmlString(str) {\n var buffer = [];\n var start = 0;\n\n for (var i = 0, ii = str.length; i < ii; i++) {\n var char = str.codePointAt(i);\n\n if (0x20 <= char && char <= 0x7e) {\n var entity = XMLEntities[char];\n\n if (entity) {\n if (start < i) {\n buffer.push(str.substring(start, i));\n }\n\n buffer.push(entity);\n start = i + 1;\n }\n } else {\n if (start < i) {\n buffer.push(str.substring(start, i));\n }\n\n buffer.push(\"&#x\".concat(char.toString(16).toUpperCase(), \";\"));\n\n if (char > 0xd7ff && (char < 0xe000 || char > 0xfffd)) {\n i++;\n }\n\n start = i + 1;\n }\n }\n\n if (buffer.length === 0) {\n return str;\n }\n\n if (start < str.length) {\n buffer.push(str.substring(start, str.length));\n }\n\n return buffer.join(\"\");\n }\n /***/\n\n },\n /* 3 */\n\n /***/\n function (__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) {\n var _is_node = __w_pdfjs_require__(4);\n\n ;\n /***/\n },\n /* 4 */\n\n /***/\n function (__unused_webpack_module, exports) {\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.isNodeJS = void 0;\n var isNodeJS = typeof process === \"object\" && process + \"\" === \"[object process]\" && !process.versions.nw && !(process.versions.electron && process.type && process.type !== \"browser\");\n exports.isNodeJS = isNodeJS;\n /***/\n },\n /* 5 */\n\n /***/\n function (__unused_webpack_module, exports, __w_pdfjs_require__) {\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.getDocument = getDocument;\n exports.setPDFNetworkStreamFactory = setPDFNetworkStreamFactory;\n exports.version = exports.PDFWorker = exports.PDFPageProxy = exports.PDFDocumentProxy = exports.PDFDataRangeTransport = exports.LoopbackPort = exports.DefaultCMapReaderFactory = exports.DefaultCanvasFactory = exports.build = void 0;\n\n var _util = __w_pdfjs_require__(2);\n\n var _display_utils = __w_pdfjs_require__(1);\n\n var _font_loader = __w_pdfjs_require__(6);\n\n var _node_utils = __w_pdfjs_require__(7);\n\n var _annotation_storage = __w_pdfjs_require__(8);\n\n var _api_compatibility = __w_pdfjs_require__(9);\n\n var _canvas = __w_pdfjs_require__(10);\n\n var _worker_options = __w_pdfjs_require__(12);\n\n var _is_node = __w_pdfjs_require__(4);\n\n var _message_handler = __w_pdfjs_require__(13);\n\n var _metadata = __w_pdfjs_require__(14);\n\n var _optional_content_config = __w_pdfjs_require__(16);\n\n var _transport_stream = __w_pdfjs_require__(17);\n\n var _webgl = __w_pdfjs_require__(18);\n\n var DEFAULT_RANGE_CHUNK_SIZE = 65536;\n var RENDERING_CANCELLED_TIMEOUT = 100;\n var DefaultCanvasFactory = _is_node.isNodeJS ? _node_utils.NodeCanvasFactory : _display_utils.DOMCanvasFactory;\n exports.DefaultCanvasFactory = DefaultCanvasFactory;\n var DefaultCMapReaderFactory = _is_node.isNodeJS ? _node_utils.NodeCMapReaderFactory : _display_utils.DOMCMapReaderFactory;\n exports.DefaultCMapReaderFactory = DefaultCMapReaderFactory;\n var createPDFNetworkStream;\n\n function setPDFNetworkStreamFactory(pdfNetworkStreamFactory) {\n createPDFNetworkStream = pdfNetworkStreamFactory;\n }\n\n function getDocument(src) {\n var task = new PDFDocumentLoadingTask();\n var source;\n\n if (typeof src === \"string\") {\n source = {\n url: src\n };\n } else if ((0, _util.isArrayBuffer)(src)) {\n source = {\n data: src\n };\n } else if (src instanceof PDFDataRangeTransport) {\n source = {\n range: src\n };\n } else {\n if (typeof src !== \"object\") {\n throw new Error(\"Invalid parameter in getDocument, \" + \"need either Uint8Array, string or a parameter object\");\n }\n\n if (!src.url && !src.data && !src.range) {\n throw new Error(\"Invalid parameter object: need either .data, .range or .url\");\n }\n\n source = src;\n }\n\n var params = Object.create(null);\n var rangeTransport = null,\n worker = null;\n\n for (var key in source) {\n if (key === \"url\" && typeof window !== \"undefined\") {\n params[key] = new URL(source[key], window.location).href;\n continue;\n } else if (key === \"range\") {\n rangeTransport = source[key];\n continue;\n } else if (key === \"worker\") {\n worker = source[key];\n continue;\n } else if (key === \"data\" && !(source[key] instanceof Uint8Array)) {\n var pdfBytes = source[key];\n\n if (typeof pdfBytes === \"string\") {\n params[key] = (0, _util.stringToBytes)(pdfBytes);\n } else if (typeof pdfBytes === \"object\" && pdfBytes !== null && !isNaN(pdfBytes.length)) {\n params[key] = new Uint8Array(pdfBytes);\n } else if ((0, _util.isArrayBuffer)(pdfBytes)) {\n params[key] = new Uint8Array(pdfBytes);\n } else {\n throw new Error(\"Invalid PDF binary data: either typed array, \" + \"string or array-like object is expected in the \" + \"data property.\");\n }\n\n continue;\n }\n\n params[key] = source[key];\n }\n\n params.rangeChunkSize = params.rangeChunkSize || DEFAULT_RANGE_CHUNK_SIZE;\n params.CMapReaderFactory = params.CMapReaderFactory || DefaultCMapReaderFactory;\n params.ignoreErrors = params.stopAtErrors !== true;\n params.fontExtraProperties = params.fontExtraProperties === true;\n params.pdfBug = params.pdfBug === true;\n\n if (!Number.isInteger(params.maxImageSize)) {\n params.maxImageSize = -1;\n }\n\n if (typeof params.isEvalSupported !== \"boolean\") {\n params.isEvalSupported = true;\n }\n\n if (typeof params.disableFontFace !== \"boolean\") {\n params.disableFontFace = _api_compatibility.apiCompatibilityParams.disableFontFace || false;\n }\n\n if (typeof params.ownerDocument === \"undefined\") {\n params.ownerDocument = globalThis.document;\n }\n\n if (typeof params.disableRange !== \"boolean\") {\n params.disableRange = false;\n }\n\n if (typeof params.disableStream !== \"boolean\") {\n params.disableStream = false;\n }\n\n if (typeof params.disableAutoFetch !== \"boolean\") {\n params.disableAutoFetch = false;\n }\n\n (0, _util.setVerbosityLevel)(params.verbosity);\n\n if (!worker) {\n var workerParams = {\n verbosity: params.verbosity,\n port: _worker_options.GlobalWorkerOptions.workerPort\n };\n worker = workerParams.port ? PDFWorker.fromPort(workerParams) : new PDFWorker(workerParams);\n task._worker = worker;\n }\n\n var docId = task.docId;\n worker.promise.then(function () {\n if (task.destroyed) {\n throw new Error(\"Loading aborted\");\n }\n\n var workerIdPromise = _fetchDocument(worker, params, rangeTransport, docId);\n\n var networkStreamPromise = new Promise(function (resolve) {\n var networkStream;\n\n if (rangeTransport) {\n networkStream = new _transport_stream.PDFDataTransportStream({\n length: params.length,\n initialData: params.initialData,\n progressiveDone: params.progressiveDone,\n disableRange: params.disableRange,\n disableStream: params.disableStream\n }, rangeTransport);\n } else if (!params.data) {\n networkStream = createPDFNetworkStream({\n url: params.url,\n length: params.length,\n httpHeaders: params.httpHeaders,\n withCredentials: params.withCredentials,\n rangeChunkSize: params.rangeChunkSize,\n disableRange: params.disableRange,\n disableStream: params.disableStream\n });\n }\n\n resolve(networkStream);\n });\n return Promise.all([workerIdPromise, networkStreamPromise]).then(function (_ref9) {\n var _ref10 = _slicedToArray(_ref9, 2),\n workerId = _ref10[0],\n networkStream = _ref10[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\n function _fetchDocument(worker, source, pdfDataRangeTransport, docId) {\n if (worker.destroyed) {\n return Promise.reject(new Error(\"Worker was destroyed\"));\n }\n\n if (pdfDataRangeTransport) {\n source.length = pdfDataRangeTransport.length;\n source.initialData = pdfDataRangeTransport.initialData;\n source.progressiveDone = pdfDataRangeTransport.progressiveDone;\n }\n\n return worker.messageHandler.sendWithPromise(\"GetDocRequest\", {\n docId: docId,\n apiVersion: '2.7.570',\n source: {\n data: source.data,\n url: source.url,\n password: source.password,\n disableAutoFetch: source.disableAutoFetch,\n rangeChunkSize: source.rangeChunkSize,\n length: source.length\n },\n maxImageSize: source.maxImageSize,\n disableFontFace: source.disableFontFace,\n postMessageTransfers: worker.postMessageTransfers,\n docBaseUrl: source.docBaseUrl,\n ignoreErrors: source.ignoreErrors,\n isEvalSupported: source.isEvalSupported,\n fontExtraProperties: source.fontExtraProperties\n }).then(function (workerId) {\n if (worker.destroyed) {\n throw new Error(\"Worker was destroyed\");\n }\n\n return workerId;\n });\n }\n\n var 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: \"promise\",\n get: function get() {\n return this._capability.promise;\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n var _this8 = this;\n\n this.destroyed = true;\n var transportDestroyed = !this._transport ? Promise.resolve() : this._transport.destroy();\n return transportDestroyed.then(function () {\n _this8._transport = null;\n\n if (_this8._worker) {\n _this8._worker.destroy();\n\n _this8._worker = null;\n }\n });\n }\n }]);\n\n return PDFDocumentLoadingTask;\n }();\n\n return PDFDocumentLoadingTask;\n }();\n\n var 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 _iterator3 = _createForOfIteratorHelper(this._rangeListeners),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var listener = _step3.value;\n listener(begin, chunk);\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n }\n }, {\n key: \"onDataProgress\",\n value: function onDataProgress(loaded, total) {\n var _this9 = this;\n\n this._readyCapability.promise.then(function () {\n var _iterator4 = _createForOfIteratorHelper(_this9._progressListeners),\n _step4;\n\n try {\n for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n var listener = _step4.value;\n listener(loaded, total);\n }\n } catch (err) {\n _iterator4.e(err);\n } finally {\n _iterator4.f();\n }\n });\n }\n }, {\n key: \"onDataProgressiveRead\",\n value: function onDataProgressiveRead(chunk) {\n var _this10 = this;\n\n this._readyCapability.promise.then(function () {\n var _iterator5 = _createForOfIteratorHelper(_this10._progressiveReadListeners),\n _step5;\n\n try {\n for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {\n var listener = _step5.value;\n listener(chunk);\n }\n } catch (err) {\n _iterator5.e(err);\n } finally {\n _iterator5.f();\n }\n });\n }\n }, {\n key: \"onDataProgressiveDone\",\n value: function onDataProgressiveDone() {\n var _this11 = this;\n\n this._readyCapability.promise.then(function () {\n var _iterator6 = _createForOfIteratorHelper(_this11._progressiveDoneListeners),\n _step6;\n\n try {\n for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {\n var listener = _step6.value;\n listener();\n }\n } catch (err) {\n _iterator6.e(err);\n } finally {\n _iterator6.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\n exports.PDFDataRangeTransport = PDFDataRangeTransport;\n\n var 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: \"annotationStorage\",\n get: function get() {\n return (0, _util.shadow)(this, \"annotationStorage\", new _annotation_storage.AnnotationStorage());\n }\n }, {\n key: \"numPages\",\n get: function get() {\n return this._pdfInfo.numPages;\n }\n }, {\n key: \"fingerprint\",\n get: function get() {\n return this._pdfInfo.fingerprint;\n }\n }, {\n key: \"getPage\",\n value: function getPage(pageNumber) {\n return this._transport.getPage(pageNumber);\n }\n }, {\n key: \"getPageIndex\",\n value: function getPageIndex(ref) {\n return this._transport.getPageIndex(ref);\n }\n }, {\n key: \"getDestinations\",\n value: function getDestinations() {\n return this._transport.getDestinations();\n }\n }, {\n key: \"getDestination\",\n value: function getDestination(id) {\n return this._transport.getDestination(id);\n }\n }, {\n key: \"getPageLabels\",\n value: function getPageLabels() {\n return this._transport.getPageLabels();\n }\n }, {\n key: \"getPageLayout\",\n value: function getPageLayout() {\n return this._transport.getPageLayout();\n }\n }, {\n key: \"getPageMode\",\n value: function getPageMode() {\n return this._transport.getPageMode();\n }\n }, {\n key: \"getViewerPreferences\",\n value: function getViewerPreferences() {\n return this._transport.getViewerPreferences();\n }\n }, {\n key: \"getOpenAction\",\n value: function getOpenAction() {\n return this._transport.getOpenAction();\n }\n }, {\n key: \"getAttachments\",\n value: function getAttachments() {\n return this._transport.getAttachments();\n }\n }, {\n key: \"getJavaScript\",\n value: function getJavaScript() {\n return this._transport.getJavaScript();\n }\n }, {\n key: \"getJSActions\",\n value: function getJSActions() {\n return this._transport.getDocJSActions();\n }\n }, {\n key: \"getOutline\",\n value: function getOutline() {\n return this._transport.getOutline();\n }\n }, {\n key: \"getOptionalContentConfig\",\n value: function getOptionalContentConfig() {\n return this._transport.getOptionalContentConfig();\n }\n }, {\n key: \"getPermissions\",\n value: function getPermissions() {\n return this._transport.getPermissions();\n }\n }, {\n key: \"getMetadata\",\n value: function getMetadata() {\n return this._transport.getMetadata();\n }\n }, {\n key: \"getMarkInfo\",\n value: function getMarkInfo() {\n return this._transport.getMarkInfo();\n }\n }, {\n key: \"getData\",\n value: function getData() {\n return this._transport.getData();\n }\n }, {\n key: \"getDownloadInfo\",\n value: function getDownloadInfo() {\n return this._transport.downloadInfoCapability.promise;\n }\n }, {\n key: \"getStats\",\n value: function getStats() {\n return this._transport.getStats();\n }\n }, {\n key: \"cleanup\",\n value: function cleanup() {\n return this._transport.startCleanup();\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n return this.loadingTask.destroy();\n }\n }, {\n key: \"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 key: \"saveDocument\",\n value: function saveDocument(annotationStorage) {\n return this._transport.saveDocument(annotationStorage);\n }\n }, {\n key: \"getFieldObjects\",\n value: function getFieldObjects() {\n return this._transport.getFieldObjects();\n }\n }, {\n key: \"hasJSActions\",\n value: function hasJSActions() {\n return this._transport.hasJSActions();\n }\n }, {\n key: \"getCalculationOrderIds\",\n value: function getCalculationOrderIds() {\n return this._transport.getCalculationOrderIds();\n }\n }]);\n\n return PDFDocumentProxy;\n }();\n\n exports.PDFDocumentProxy = PDFDocumentProxy;\n\n var PDFPageProxy = /*#__PURE__*/function () {\n function PDFPageProxy(pageIndex, pageInfo, transport, ownerDocument) {\n var pdfBug = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n _classCallCheck(this, PDFPageProxy);\n\n this._pageIndex = pageIndex;\n this._pageInfo = pageInfo;\n this._ownerDocument = ownerDocument;\n this._transport = transport;\n this._stats = pdfBug ? new _display_utils.StatTimer() : null;\n this._pdfBug = pdfBug;\n this.commonObjs = transport.commonObjs;\n this.objs = new PDFObjects();\n this.cleanupAfterRender = false;\n this.pendingCleanup = false;\n this._intentStates = new Map();\n this.destroyed = false;\n }\n\n _createClass(PDFPageProxy, [{\n key: \"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: \"getViewport\",\n value: function getViewport() {\n var _ref11 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n scale = _ref11.scale,\n _ref11$rotation = _ref11.rotation,\n rotation = _ref11$rotation === void 0 ? this.rotate : _ref11$rotation,\n _ref11$offsetX = _ref11.offsetX,\n offsetX = _ref11$offsetX === void 0 ? 0 : _ref11$offsetX,\n _ref11$offsetY = _ref11.offsetY,\n offsetY = _ref11$offsetY === void 0 ? 0 : _ref11$offsetY,\n _ref11$dontFlip = _ref11.dontFlip,\n dontFlip = _ref11$dontFlip === void 0 ? false : _ref11$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 _ref12 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref12$intent = _ref12.intent,\n intent = _ref12$intent === void 0 ? null : _ref12$intent;\n\n if (!this.annotationsPromise || this.annotationsIntent !== intent) {\n this.annotationsPromise = this._transport.getAnnotations(this._pageIndex, intent);\n this.annotationsIntent = intent;\n }\n\n return this.annotationsPromise;\n }\n }, {\n key: \"getJSActions\",\n value: function getJSActions() {\n return this._jsActionsPromise || (this._jsActionsPromise = this._transport.getPageJSActions(this._pageIndex));\n }\n }, {\n key: \"render\",\n value: function render(_ref13) {\n var _this12 = this;\n\n var canvasContext = _ref13.canvasContext,\n viewport = _ref13.viewport,\n _ref13$intent = _ref13.intent,\n intent = _ref13$intent === void 0 ? \"display\" : _ref13$intent,\n _ref13$enableWebGL = _ref13.enableWebGL,\n enableWebGL = _ref13$enableWebGL === void 0 ? false : _ref13$enableWebGL,\n _ref13$renderInteract = _ref13.renderInteractiveForms,\n renderInteractiveForms = _ref13$renderInteract === void 0 ? false : _ref13$renderInteract,\n _ref13$transform = _ref13.transform,\n transform = _ref13$transform === void 0 ? null : _ref13$transform,\n _ref13$imageLayer = _ref13.imageLayer,\n imageLayer = _ref13$imageLayer === void 0 ? null : _ref13$imageLayer,\n _ref13$canvasFactory = _ref13.canvasFactory,\n canvasFactory = _ref13$canvasFactory === void 0 ? null : _ref13$canvasFactory,\n _ref13$background = _ref13.background,\n background = _ref13$background === void 0 ? null : _ref13$background,\n _ref13$annotationStor = _ref13.annotationStorage,\n annotationStorage = _ref13$annotationStor === void 0 ? null : _ref13$annotationStor,\n _ref13$optionalConten = _ref13.optionalContentConfigPromise,\n optionalContentConfigPromise = _ref13$optionalConten === void 0 ? null : _ref13$optionalConten;\n\n if (this._stats) {\n this._stats.time(\"Overall\");\n }\n\n var renderingIntent = intent === \"print\" ? \"print\" : \"display\";\n this.pendingCleanup = false;\n\n if (!optionalContentConfigPromise) {\n optionalContentConfigPromise = this._transport.getOptionalContentConfig();\n }\n\n var intentState = this._intentStates.get(renderingIntent);\n\n if (!intentState) {\n intentState = Object.create(null);\n\n this._intentStates.set(renderingIntent, intentState);\n }\n\n if (intentState.streamReaderCancelTimeout) {\n clearTimeout(intentState.streamReaderCancelTimeout);\n intentState.streamReaderCancelTimeout = null;\n }\n\n var canvasFactoryInstance = canvasFactory || new DefaultCanvasFactory({\n ownerDocument: this._ownerDocument\n });\n var webGLContext = new _webgl.WebGLContext({\n enable: enableWebGL\n });\n\n if (!intentState.displayReadyCapability) {\n intentState.displayReadyCapability = (0, _util.createPromiseCapability)();\n intentState.operatorList = {\n fnArray: [],\n argsArray: [],\n lastChunk: false\n };\n\n if (this._stats) {\n this._stats.time(\"Page Request\");\n }\n\n this._pumpOperatorList({\n pageIndex: this._pageIndex,\n intent: renderingIntent,\n renderInteractiveForms: renderInteractiveForms === true,\n annotationStorage: (annotationStorage === null || annotationStorage === void 0 ? void 0 : annotationStorage.getAll()) || null\n });\n }\n\n var complete = function complete(error) {\n var i = intentState.renderTasks.indexOf(internalRenderTask);\n\n if (i >= 0) {\n intentState.renderTasks.splice(i, 1);\n }\n\n if (_this12.cleanupAfterRender || renderingIntent === \"print\") {\n _this12.pendingCleanup = true;\n }\n\n _this12._tryCleanup();\n\n if (error) {\n internalRenderTask.capability.reject(error);\n\n _this12._abortOperatorList({\n intentState: intentState,\n reason: error\n });\n } else {\n internalRenderTask.capability.resolve();\n }\n\n if (_this12._stats) {\n _this12._stats.timeEnd(\"Rendering\");\n\n _this12._stats.timeEnd(\"Overall\");\n }\n };\n\n var internalRenderTask = new InternalRenderTask({\n callback: complete,\n params: {\n canvasContext: canvasContext,\n viewport: viewport,\n transform: transform,\n imageLayer: imageLayer,\n background: background\n },\n objs: this.objs,\n commonObjs: this.commonObjs,\n operatorList: intentState.operatorList,\n pageIndex: this._pageIndex,\n canvasFactory: canvasFactoryInstance,\n webGLContext: webGLContext,\n useRequestAnimationFrame: renderingIntent !== \"print\",\n pdfBug: this._pdfBug\n });\n\n if (!intentState.renderTasks) {\n intentState.renderTasks = [];\n }\n\n intentState.renderTasks.push(internalRenderTask);\n var renderTask = internalRenderTask.task;\n Promise.all([intentState.displayReadyCapability.promise, optionalContentConfigPromise]).then(function (_ref14) {\n var _ref15 = _slicedToArray(_ref14, 2),\n transparency = _ref15[0],\n optionalContentConfig = _ref15[1];\n\n if (_this12.pendingCleanup) {\n complete();\n return;\n }\n\n if (_this12._stats) {\n _this12._stats.time(\"Rendering\");\n }\n\n internalRenderTask.initializeGraphics({\n transparency: transparency,\n optionalContentConfig: optionalContentConfig\n });\n internalRenderTask.operatorListChanged();\n }).catch(complete);\n return renderTask;\n }\n }, {\n key: \"getOperatorList\",\n value: function getOperatorList() {\n function operatorListChanged() {\n if (intentState.operatorList.lastChunk) {\n intentState.opListReadCapability.resolve(intentState.operatorList);\n var i = intentState.renderTasks.indexOf(opListTask);\n\n if (i >= 0) {\n intentState.renderTasks.splice(i, 1);\n }\n }\n }\n\n var renderingIntent = \"oplist\";\n\n var intentState = this._intentStates.get(renderingIntent);\n\n if (!intentState) {\n intentState = Object.create(null);\n\n this._intentStates.set(renderingIntent, intentState);\n }\n\n var opListTask;\n\n if (!intentState.opListReadCapability) {\n opListTask = Object.create(null);\n opListTask.operatorListChanged = operatorListChanged;\n intentState.opListReadCapability = (0, _util.createPromiseCapability)();\n intentState.renderTasks = [];\n intentState.renderTasks.push(opListTask);\n intentState.operatorList = {\n fnArray: [],\n argsArray: [],\n lastChunk: false\n };\n\n if (this._stats) {\n this._stats.time(\"Page Request\");\n }\n\n this._pumpOperatorList({\n pageIndex: this._pageIndex,\n intent: renderingIntent\n });\n }\n\n return intentState.opListReadCapability.promise;\n }\n }, {\n key: \"streamTextContent\",\n value: function streamTextContent() {\n var _ref16 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref16$normalizeWhite = _ref16.normalizeWhitespace,\n normalizeWhitespace = _ref16$normalizeWhite === void 0 ? false : _ref16$normalizeWhite,\n _ref16$disableCombine = _ref16.disableCombineTextItems,\n disableCombineTextItems = _ref16$disableCombine === void 0 ? false : _ref16$disableCombine;\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 (_ref17) {\n var _textContent$items;\n\n var value = _ref17.value,\n done = _ref17.done;\n\n if (done) {\n resolve(textContent);\n return;\n }\n\n Object.assign(textContent.styles, value.styles);\n\n (_textContent$items = textContent.items).push.apply(_textContent$items, _toConsumableArray(value.items));\n\n pump();\n }, reject);\n }\n\n var reader = readableStream.getReader();\n var textContent = {\n items: [],\n styles: Object.create(null)\n };\n pump();\n });\n }\n }, {\n key: \"_destroy\",\n value: function _destroy() {\n this.destroyed = true;\n this._transport.pageCache[this._pageIndex] = null;\n var waitOn = [];\n\n var _iterator7 = _createForOfIteratorHelper(this._intentStates),\n _step7;\n\n try {\n for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {\n var _step7$value = _slicedToArray(_step7.value, 2),\n intent = _step7$value[0],\n intentState = _step7$value[1];\n\n this._abortOperatorList({\n intentState: intentState,\n reason: new Error(\"Page was destroyed.\"),\n force: true\n });\n\n if (intent === \"oplist\") {\n continue;\n }\n\n var _iterator8 = _createForOfIteratorHelper(intentState.renderTasks),\n _step8;\n\n try {\n for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {\n var internalRenderTask = _step8.value;\n waitOn.push(internalRenderTask.completed);\n internalRenderTask.cancel();\n }\n } catch (err) {\n _iterator8.e(err);\n } finally {\n _iterator8.f();\n }\n }\n } catch (err) {\n _iterator7.e(err);\n } finally {\n _iterator7.f();\n }\n\n this.objs.clear();\n this.annotationsPromise = null;\n this._jsActionsPromise = null;\n this.pendingCleanup = false;\n return Promise.all(waitOn);\n }\n }, {\n key: \"cleanup\",\n value: function cleanup() {\n var resetStats = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n this.pendingCleanup = true;\n return this._tryCleanup(resetStats);\n }\n }, {\n key: \"_tryCleanup\",\n value: function _tryCleanup() {\n var resetStats = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (!this.pendingCleanup) {\n return false;\n }\n\n var _iterator9 = _createForOfIteratorHelper(this._intentStates.values()),\n _step9;\n\n try {\n for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) {\n var _step9$value = _step9.value,\n renderTasks = _step9$value.renderTasks,\n operatorList = _step9$value.operatorList;\n\n if (renderTasks.length !== 0 || !operatorList.lastChunk) {\n return false;\n }\n }\n } catch (err) {\n _iterator9.e(err);\n } finally {\n _iterator9.f();\n }\n\n this._intentStates.clear();\n\n this.objs.clear();\n this.annotationsPromise = null;\n this._jsActionsPromise = null;\n\n if (resetStats && this._stats) {\n this._stats = new _display_utils.StatTimer();\n }\n\n this.pendingCleanup = false;\n return true;\n }\n }, {\n key: \"_startRenderPage\",\n value: function _startRenderPage(transparency, intent) {\n var intentState = this._intentStates.get(intent);\n\n if (!intentState) {\n return;\n }\n\n if (this._stats) {\n this._stats.timeEnd(\"Page Request\");\n }\n\n if (intentState.displayReadyCapability) {\n intentState.displayReadyCapability.resolve(transparency);\n }\n }\n }, {\n key: \"_renderPageChunk\",\n value: function _renderPageChunk(operatorListChunk, intentState) {\n for (var i = 0, ii = operatorListChunk.length; i < ii; i++) {\n intentState.operatorList.fnArray.push(operatorListChunk.fnArray[i]);\n intentState.operatorList.argsArray.push(operatorListChunk.argsArray[i]);\n }\n\n intentState.operatorList.lastChunk = operatorListChunk.lastChunk;\n\n for (var _i4 = 0; _i4 < intentState.renderTasks.length; _i4++) {\n intentState.renderTasks[_i4].operatorListChanged();\n }\n\n if (operatorListChunk.lastChunk) {\n this._tryCleanup();\n }\n }\n }, {\n key: \"_pumpOperatorList\",\n value: function _pumpOperatorList(args) {\n var _this13 = this;\n\n (0, _util.assert)(args.intent, 'PDFPageProxy._pumpOperatorList: Expected \"intent\" argument.');\n\n var readableStream = this._transport.messageHandler.sendWithStream(\"GetOperatorList\", args);\n\n var reader = readableStream.getReader();\n\n var intentState = this._intentStates.get(args.intent);\n\n intentState.streamReader = reader;\n\n var pump = function pump() {\n reader.read().then(function (_ref18) {\n var value = _ref18.value,\n done = _ref18.done;\n\n if (done) {\n intentState.streamReader = null;\n return;\n }\n\n if (_this13._transport.destroyed) {\n return;\n }\n\n _this13._renderPageChunk(value, intentState);\n\n pump();\n }, function (reason) {\n intentState.streamReader = null;\n\n if (_this13._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 _this13._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(_ref19) {\n var _this14 = this;\n\n var intentState = _ref19.intentState,\n reason = _ref19.reason,\n _ref19$force = _ref19.force,\n force = _ref19$force === void 0 ? false : _ref19$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 _this14._abortOperatorList({\n intentState: intentState,\n reason: reason,\n force: true\n });\n\n intentState.streamReaderCancelTimeout = null;\n }, RENDERING_CANCELLED_TIMEOUT);\n return;\n }\n }\n\n intentState.streamReader.cancel(new _util.AbortException(reason === null || reason === void 0 ? void 0 : reason.message));\n intentState.streamReader = null;\n\n if (this._transport.destroyed) {\n return;\n }\n\n var _iterator10 = _createForOfIteratorHelper(this._intentStates),\n _step10;\n\n try {\n for (_iterator10.s(); !(_step10 = _iterator10.n()).done;) {\n var _step10$value = _slicedToArray(_step10.value, 2),\n intent = _step10$value[0],\n curIntentState = _step10$value[1];\n\n if (curIntentState === intentState) {\n this._intentStates.delete(intent);\n\n break;\n }\n }\n } catch (err) {\n _iterator10.e(err);\n } finally {\n _iterator10.f();\n }\n\n this.cleanup();\n }\n }, {\n key: \"stats\",\n get: function get() {\n return this._stats;\n }\n }]);\n\n return PDFPageProxy;\n }();\n\n exports.PDFPageProxy = PDFPageProxy;\n\n var 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 _this15 = this;\n\n function cloneValue(value) {\n if (typeof value !== \"object\" || value === null) {\n return value;\n }\n\n if (cloned.has(value)) {\n return cloned.get(value);\n }\n\n var buffer, result;\n\n if ((buffer = value.buffer) && (0, _util.isArrayBuffer)(buffer)) {\n if (transfers !== null && transfers !== void 0 && transfers.includes(buffer)) {\n result = new value.constructor(buffer, value.byteOffset, value.byteLength);\n } else {\n result = new value.constructor(value);\n }\n\n cloned.set(value, result);\n return result;\n }\n\n result = Array.isArray(value) ? [] : {};\n cloned.set(value, result);\n\n for (var i in value) {\n var desc = void 0,\n p = value;\n\n while (!(desc = Object.getOwnPropertyDescriptor(p, i))) {\n p = Object.getPrototypeOf(p);\n }\n\n if (typeof desc.value === \"undefined\") {\n continue;\n }\n\n if (typeof desc.value === \"function\") {\n if (value.hasOwnProperty && value.hasOwnProperty(i)) {\n throw new Error(\"LoopbackPort.postMessage - cannot clone: \".concat(value[i]));\n }\n\n continue;\n }\n\n result[i] = cloneValue(desc.value);\n }\n\n return result;\n }\n\n if (!this._defer) {\n this._listeners.forEach(function (listener) {\n listener.call(_this15, {\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 _this15._listeners.forEach(function (listener) {\n listener.call(_this15, 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\n exports.LoopbackPort = LoopbackPort;\n\n var 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 === \"object\" && \"currentScript\" in document) {\n var _document$currentScri;\n\n var pdfjsFilePath = (_document$currentScri = document.currentScript) === null || _document$currentScri === void 0 ? void 0 : _document$currentScri.src;\n\n if (pdfjsFilePath) {\n fallbackWorkerSrc = pdfjsFilePath.replace(/(\\.(?:min\\.)?js)(\\?.*)?$/i, \".worker$1$2\");\n }\n }\n\n function _getWorkerSrc() {\n if (_worker_options.GlobalWorkerOptions.workerSrc) {\n return _worker_options.GlobalWorkerOptions.workerSrc;\n }\n\n if (typeof fallbackWorkerSrc !== \"undefined\") {\n if (!_is_node.isNodeJS) {\n (0, _display_utils.deprecated)('No \"GlobalWorkerOptions.workerSrc\" specified.');\n }\n\n return fallbackWorkerSrc;\n }\n\n throw new Error('No \"GlobalWorkerOptions.workerSrc\" specified.');\n }\n\n function getMainThreadWorkerMessageHandler() {\n var mainWorkerMessageHandler;\n\n try {\n var _globalThis$pdfjsWork;\n\n mainWorkerMessageHandler = (_globalThis$pdfjsWork = globalThis.pdfjsWorker) === null || _globalThis$pdfjsWork === void 0 ? void 0 : _globalThis$pdfjsWork.WorkerMessageHandler;\n } catch (ex) {}\n\n return mainWorkerMessageHandler || null;\n }\n\n function setupFakeWorkerGlobal() {\n if (fakeWorkerCapability) {\n return fakeWorkerCapability.promise;\n }\n\n fakeWorkerCapability = (0, _util.createPromiseCapability)();\n\n var loader = /*#__PURE__*/function () {\n var _ref20 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {\n var mainWorkerMessageHandler, worker;\n return _regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n mainWorkerMessageHandler = getMainThreadWorkerMessageHandler();\n\n if (!mainWorkerMessageHandler) {\n _context3.next = 3;\n break;\n }\n\n return _context3.abrupt(\"return\", mainWorkerMessageHandler);\n\n case 3:\n if (!(_is_node.isNodeJS && typeof require === \"function\")) {\n _context3.next = 6;\n break;\n }\n\n worker = eval(\"require\")(_getWorkerSrc());\n return _context3.abrupt(\"return\", worker.WorkerMessageHandler);\n\n case 6:\n _context3.next = 8;\n return (0, _display_utils.loadScript)(_getWorkerSrc());\n\n case 8:\n return _context3.abrupt(\"return\", window.pdfjsWorker.WorkerMessageHandler);\n\n case 9:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3);\n }));\n\n return function loader() {\n return _ref20.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 _ref21 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref21$name = _ref21.name,\n name = _ref21$name === void 0 ? null : _ref21$name,\n _ref21$port = _ref21.port,\n port = _ref21$port === void 0 ? null : _ref21$port,\n _ref21$verbosity = _ref21.verbosity,\n verbosity = _ref21$verbosity === void 0 ? (0, _util.getVerbosityLevel)() : _ref21$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: \"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: \"_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 _this16 = 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 (_this16.destroyed) {\n _this16._readyCapability.reject(new Error(\"Worker was destroyed\"));\n } else {\n _this16._setupFakeWorker();\n }\n };\n\n var onWorkerError = function onWorkerError() {\n if (!_this16._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 (_this16.destroyed) {\n terminateEarly();\n return;\n }\n\n if (data) {\n _this16._messageHandler = messageHandler;\n _this16._port = worker;\n _this16._webWorker = worker;\n\n if (!data.supportTransfers) {\n _this16.postMessageTransfers = false;\n }\n\n _this16._readyCapability.resolve();\n\n messageHandler.send(\"configure\", {\n verbosity: _this16.verbosity\n });\n } else {\n _this16._setupFakeWorker();\n\n messageHandler.destroy();\n worker.terminate();\n }\n });\n messageHandler.on(\"ready\", function (data) {\n worker.removeEventListener(\"error\", onWorkerError);\n\n if (_this16.destroyed) {\n terminateEarly();\n return;\n }\n\n try {\n sendTest();\n } catch (e) {\n _this16._setupFakeWorker();\n }\n });\n\n var sendTest = function sendTest() {\n var testObj = new Uint8Array([_this16.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 _this17 = 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 (_this17.destroyed) {\n _this17._readyCapability.reject(new Error(\"Worker was destroyed\"));\n\n return;\n }\n\n var port = new LoopbackPort();\n _this17._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 _this17._messageHandler = messageHandler;\n\n _this17._readyCapability.resolve();\n\n messageHandler.send(\"configure\", {\n verbosity: _this17.verbosity\n });\n }).catch(function (reason) {\n _this17._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: \"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\n exports.PDFWorker = PDFWorker;\n\n var WorkerTransport = /*#__PURE__*/function () {\n function WorkerTransport(messageHandler, loadingTask, networkStream, params) {\n _classCallCheck(this, WorkerTransport);\n\n this.messageHandler = messageHandler;\n this.loadingTask = loadingTask;\n this.commonObjs = new PDFObjects();\n this.fontLoader = new _font_loader.FontLoader({\n docId: loadingTask.docId,\n onUnsupportedFeature: this._onUnsupportedFeature.bind(this),\n ownerDocument: params.ownerDocument\n });\n this._params = params;\n this.CMapReaderFactory = new params.CMapReaderFactory({\n baseUrl: params.cMapUrl,\n isCompressed: params.cMapPacked\n });\n this.destroyed = false;\n this.destroyCapability = null;\n this._passwordCapability = null;\n this._networkStream = networkStream;\n this._fullReader = null;\n this._lastProgress = null;\n this.pageCache = [];\n this.pagePromises = [];\n this.downloadInfoCapability = (0, _util.createPromiseCapability)();\n this.setupMessageHandler();\n }\n\n _createClass(WorkerTransport, [{\n key: \"loadingTaskSettled\",\n get: function get() {\n return this.loadingTask._capability.settled;\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n var _this18 = this;\n\n if (this.destroyCapability) {\n return this.destroyCapability.promise;\n }\n\n this.destroyed = true;\n this.destroyCapability = (0, _util.createPromiseCapability)();\n\n if (this._passwordCapability) {\n this._passwordCapability.reject(new Error(\"Worker was destroyed during onPassword callback\"));\n }\n\n var waitOn = [];\n this.pageCache.forEach(function (page) {\n if (page) {\n waitOn.push(page._destroy());\n }\n });\n this.pageCache.length = 0;\n this.pagePromises.length = 0;\n var terminated = this.messageHandler.sendWithPromise(\"Terminate\", null);\n waitOn.push(terminated);\n\n if (this.loadingTaskSettled) {\n var annotationStorageResetModified = this.loadingTask.promise.then(function (pdfDocument) {\n if (pdfDocument.hasOwnProperty(\"annotationStorage\")) {\n pdfDocument.annotationStorage.resetModified();\n }\n }).catch(function () {});\n waitOn.push(annotationStorageResetModified);\n }\n\n Promise.all(waitOn).then(function () {\n _this18.commonObjs.clear();\n\n _this18.fontLoader.clear();\n\n _this18._hasJSActionsPromise = null;\n\n if (_this18._networkStream) {\n _this18._networkStream.cancelAllRequests(new _util.AbortException(\"Worker was terminated.\"));\n }\n\n if (_this18.messageHandler) {\n _this18.messageHandler.destroy();\n\n _this18.messageHandler = null;\n }\n\n _this18.destroyCapability.resolve();\n }, this.destroyCapability.reject);\n return this.destroyCapability.promise;\n }\n }, {\n key: \"setupMessageHandler\",\n value: function setupMessageHandler() {\n var _this19 = this;\n\n var messageHandler = this.messageHandler,\n loadingTask = this.loadingTask;\n messageHandler.on(\"GetReader\", function (data, sink) {\n (0, _util.assert)(_this19._networkStream, \"GetReader - no `IPDFStream` instance available.\");\n _this19._fullReader = _this19._networkStream.getFullReader();\n\n _this19._fullReader.onProgress = function (evt) {\n _this19._lastProgress = {\n loaded: evt.loaded,\n total: evt.total\n };\n };\n\n sink.onPull = function () {\n _this19._fullReader.read().then(function (_ref22) {\n var value = _ref22.value,\n done = _ref22.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 _this19._fullReader.cancel(reason);\n\n sink.ready.catch(function (readyReason) {\n if (_this19.destroyed) {\n return;\n }\n\n throw readyReason;\n });\n };\n });\n messageHandler.on(\"ReaderHeadersReady\", function (data) {\n var headersCapability = (0, _util.createPromiseCapability)();\n var fullReader = _this19._fullReader;\n fullReader.headersReady.then(function () {\n if (!fullReader.isStreamingSupported || !fullReader.isRangeSupported) {\n if (_this19._lastProgress && loadingTask.onProgress) {\n loadingTask.onProgress(_this19._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)(_this19._networkStream, \"GetRangeReader - no `IPDFStream` instance available.\");\n\n var rangeReader = _this19._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 (_ref23) {\n var value = _ref23.value,\n done = _ref23.done;\n\n if (done) {\n sink.close();\n return;\n }\n\n (0, _util.assert)((0, _util.isArrayBuffer)(value), \"GetRangeReader - expected an ArrayBuffer.\");\n sink.enqueue(new Uint8Array(value), 1, [value]);\n }).catch(function (reason) {\n sink.error(reason);\n });\n };\n\n sink.onCancel = function (reason) {\n rangeReader.cancel(reason);\n sink.ready.catch(function (readyReason) {\n if (_this19.destroyed) {\n return;\n }\n\n throw readyReason;\n });\n };\n });\n messageHandler.on(\"GetDoc\", function (_ref24) {\n var pdfInfo = _ref24.pdfInfo;\n _this19._numPages = pdfInfo.numPages;\n\n loadingTask._capability.resolve(new PDFDocumentProxy(pdfInfo, _this19));\n });\n messageHandler.on(\"DocException\", function (ex) {\n var reason;\n\n switch (ex.name) {\n case \"PasswordException\":\n reason = new _util.PasswordException(ex.message, ex.code);\n break;\n\n case \"InvalidPDFException\":\n reason = new _util.InvalidPDFException(ex.message);\n break;\n\n case \"MissingPDFException\":\n reason = new _util.MissingPDFException(ex.message);\n break;\n\n case \"UnexpectedResponseException\":\n reason = new _util.UnexpectedResponseException(ex.message, ex.status);\n break;\n\n case \"UnknownErrorException\":\n reason = new _util.UnknownErrorException(ex.message, ex.details);\n break;\n }\n\n if (!(reason instanceof Error)) {\n var msg = \"DocException - expected a valid Error.\";\n (0, _util.warn)(msg);\n }\n\n loadingTask._capability.reject(reason);\n });\n messageHandler.on(\"PasswordRequest\", function (exception) {\n _this19._passwordCapability = (0, _util.createPromiseCapability)();\n\n if (loadingTask.onPassword) {\n var updatePassword = function updatePassword(password) {\n _this19._passwordCapability.resolve({\n password: password\n });\n };\n\n try {\n loadingTask.onPassword(updatePassword, exception.code);\n } catch (ex) {\n _this19._passwordCapability.reject(ex);\n }\n } else {\n _this19._passwordCapability.reject(new _util.PasswordException(exception.message, exception.code));\n }\n\n return _this19._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 _this19.downloadInfoCapability.resolve(data);\n });\n messageHandler.on(\"StartRenderPage\", function (data) {\n if (_this19.destroyed) {\n return;\n }\n\n var page = _this19.pageCache[data.pageIndex];\n\n page._startRenderPage(data.transparency, data.intent);\n });\n messageHandler.on(\"commonobj\", function (data) {\n var _globalThis$FontInspe;\n\n if (_this19.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 (_this19.commonObjs.has(id)) {\n return;\n }\n\n switch (type) {\n case \"Font\":\n var params = _this19._params;\n\n if (\"error\" in exportedData) {\n var exportedError = exportedData.error;\n (0, _util.warn)(\"Error during font loading: \".concat(exportedError));\n\n _this19.commonObjs.resolve(id, exportedError);\n\n break;\n }\n\n var fontRegistry = null;\n\n if (params.pdfBug && (_globalThis$FontInspe = globalThis.FontInspector) !== null && _globalThis$FontInspe !== void 0 && _globalThis$FontInspe.enabled) {\n fontRegistry = {\n registerFont: function registerFont(font, url) {\n globalThis.FontInspector.fontAdded(font, url);\n }\n };\n }\n\n var font = new _font_loader.FontFaceObject(exportedData, {\n isEvalSupported: params.isEvalSupported,\n disableFontFace: params.disableFontFace,\n ignoreErrors: params.ignoreErrors,\n onUnsupportedFeature: _this19._onUnsupportedFeature.bind(_this19),\n fontRegistry: fontRegistry\n });\n\n _this19.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 _this19.commonObjs.resolve(id, font);\n });\n\n break;\n\n case \"FontPath\":\n case \"Image\":\n _this19.commonObjs.resolve(id, exportedData);\n\n break;\n\n default:\n throw new Error(\"Got unknown common object type \".concat(type));\n }\n });\n messageHandler.on(\"obj\", function (data) {\n var _imageData$data;\n\n if (_this19.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 = _this19.pageCache[pageIndex];\n\n if (pageProxy.objs.has(id)) {\n return undefined;\n }\n\n switch (type) {\n case \"Image\":\n pageProxy.objs.resolve(id, imageData);\n var MAX_IMAGE_SIZE_TO_STORE = 8000000;\n\n if ((imageData === null || imageData === void 0 ? void 0 : (_imageData$data = imageData.data) === null || _imageData$data === void 0 ? void 0 : _imageData$data.length) > MAX_IMAGE_SIZE_TO_STORE) {\n pageProxy.cleanupAfterRender = true;\n }\n\n break;\n\n default:\n throw new Error(\"Got unknown object type \".concat(type));\n }\n\n return undefined;\n });\n messageHandler.on(\"DocProgress\", function (data) {\n if (_this19.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 (_this19.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 _this19.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(_ref25) {\n var featureId = _ref25.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 _this20 = 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 (_this20.destroyed) {\n throw new Error(\"Transport destroyed\");\n }\n\n var page = new PDFPageProxy(pageIndex, pageInfo, _this20, _this20._params.ownerDocument, _this20._params.pdfBug);\n _this20.pageCache[pageIndex] = page;\n return page;\n });\n this.pagePromises[pageIndex] = promise;\n return promise;\n }\n }, {\n key: \"getPageIndex\",\n value: function getPageIndex(ref) {\n return this.messageHandler.sendWithPromise(\"GetPageIndex\", {\n ref: ref\n }).catch(function (reason) {\n return Promise.reject(new Error(reason));\n });\n }\n }, {\n key: \"getAnnotations\",\n value: function getAnnotations(pageIndex, intent) {\n return this.messageHandler.sendWithPromise(\"GetAnnotations\", {\n pageIndex: pageIndex,\n intent: intent\n });\n }\n }, {\n key: \"saveDocument\",\n value: function saveDocument(annotationStorage) {\n var _this$_fullReader$fil, _this$_fullReader;\n\n return this.messageHandler.sendWithPromise(\"SaveDocument\", {\n numPages: this._numPages,\n annotationStorage: (annotationStorage === null || annotationStorage === void 0 ? void 0 : annotationStorage.getAll()) || null,\n filename: (_this$_fullReader$fil = (_this$_fullReader = this._fullReader) === null || _this$_fullReader === void 0 ? void 0 : _this$_fullReader.filename) !== null && _this$_fullReader$fil !== void 0 ? _this$_fullReader$fil : null\n }).finally(function () {\n if (annotationStorage) {\n annotationStorage.resetModified();\n }\n });\n }\n }, {\n key: \"getFieldObjects\",\n value: function getFieldObjects() {\n return this.messageHandler.sendWithPromise(\"GetFieldObjects\", null);\n }\n }, {\n key: \"hasJSActions\",\n value: function hasJSActions() {\n return this._hasJSActionsPromise || (this._hasJSActionsPromise = this.messageHandler.sendWithPromise(\"HasJSActions\", null));\n }\n }, {\n key: \"getCalculationOrderIds\",\n value: function getCalculationOrderIds() {\n return this.messageHandler.sendWithPromise(\"GetCalculationOrderIds\", null);\n }\n }, {\n key: \"getDestinations\",\n value: function getDestinations() {\n return this.messageHandler.sendWithPromise(\"GetDestinations\", null);\n }\n }, {\n key: \"getDestination\",\n value: function getDestination(id) {\n if (typeof id !== \"string\") {\n return Promise.reject(new Error(\"Invalid destination request.\"));\n }\n\n return this.messageHandler.sendWithPromise(\"GetDestination\", {\n id: id\n });\n }\n }, {\n key: \"getPageLabels\",\n value: function getPageLabels() {\n return this.messageHandler.sendWithPromise(\"GetPageLabels\", null);\n }\n }, {\n key: \"getPageLayout\",\n value: function getPageLayout() {\n return this.messageHandler.sendWithPromise(\"GetPageLayout\", null);\n }\n }, {\n key: \"getPageMode\",\n value: function getPageMode() {\n return this.messageHandler.sendWithPromise(\"GetPageMode\", null);\n }\n }, {\n key: \"getViewerPreferences\",\n value: function getViewerPreferences() {\n return this.messageHandler.sendWithPromise(\"GetViewerPreferences\", null);\n }\n }, {\n key: \"getOpenAction\",\n value: function getOpenAction() {\n return this.messageHandler.sendWithPromise(\"GetOpenAction\", null);\n }\n }, {\n key: \"getAttachments\",\n value: function getAttachments() {\n return this.messageHandler.sendWithPromise(\"GetAttachments\", null);\n }\n }, {\n key: \"getJavaScript\",\n value: function getJavaScript() {\n return this.messageHandler.sendWithPromise(\"GetJavaScript\", null);\n }\n }, {\n key: \"getDocJSActions\",\n value: function getDocJSActions() {\n return this.messageHandler.sendWithPromise(\"GetDocJSActions\", null);\n }\n }, {\n key: \"getPageJSActions\",\n value: function getPageJSActions(pageIndex) {\n return this.messageHandler.sendWithPromise(\"GetPageJSActions\", {\n pageIndex: pageIndex\n });\n }\n }, {\n key: \"getOutline\",\n value: function getOutline() {\n return this.messageHandler.sendWithPromise(\"GetOutline\", null);\n }\n }, {\n key: \"getOptionalContentConfig\",\n value: function getOptionalContentConfig() {\n return this.messageHandler.sendWithPromise(\"GetOptionalContentConfig\", null).then(function (results) {\n return new _optional_content_config.OptionalContentConfig(results);\n });\n }\n }, {\n key: \"getPermissions\",\n value: function getPermissions() {\n return this.messageHandler.sendWithPromise(\"GetPermissions\", null);\n }\n }, {\n key: \"getMetadata\",\n value: function getMetadata() {\n var _this21 = this;\n\n return this.messageHandler.sendWithPromise(\"GetMetadata\", null).then(function (results) {\n var _this21$_fullReader$f, _this21$_fullReader, _this21$_fullReader$c, _this21$_fullReader2;\n\n return {\n info: results[0],\n metadata: results[1] ? new _metadata.Metadata(results[1]) : null,\n contentDispositionFilename: (_this21$_fullReader$f = (_this21$_fullReader = _this21._fullReader) === null || _this21$_fullReader === void 0 ? void 0 : _this21$_fullReader.filename) !== null && _this21$_fullReader$f !== void 0 ? _this21$_fullReader$f : null,\n contentLength: (_this21$_fullReader$c = (_this21$_fullReader2 = _this21._fullReader) === null || _this21$_fullReader2 === void 0 ? void 0 : _this21$_fullReader2.contentLength) !== null && _this21$_fullReader$c !== void 0 ? _this21$_fullReader$c : null\n };\n });\n }\n }, {\n key: \"getMarkInfo\",\n value: function getMarkInfo() {\n return this.messageHandler.sendWithPromise(\"GetMarkInfo\", null);\n }\n }, {\n key: \"getStats\",\n value: function getStats() {\n return this.messageHandler.sendWithPromise(\"GetStats\", null);\n }\n }, {\n key: \"startCleanup\",\n value: function startCleanup() {\n var _this22 = this;\n\n return this.messageHandler.sendWithPromise(\"Cleanup\", null).then(function () {\n for (var i = 0, ii = _this22.pageCache.length; i < ii; i++) {\n var page = _this22.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 _this22.commonObjs.clear();\n\n _this22.fontLoader.clear();\n\n _this22._hasJSActionsPromise = null;\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\n var PDFObjects = /*#__PURE__*/function () {\n function PDFObjects() {\n _classCallCheck(this, PDFObjects);\n\n this._objs = Object.create(null);\n }\n\n _createClass(PDFObjects, [{\n key: \"_ensureObj\",\n value: function _ensureObj(objId) {\n if (this._objs[objId]) {\n return this._objs[objId];\n }\n\n return this._objs[objId] = {\n capability: (0, _util.createPromiseCapability)(),\n data: null,\n resolved: false\n };\n }\n }, {\n key: \"get\",\n value: function get(objId) {\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n if (callback) {\n this._ensureObj(objId).capability.promise.then(callback);\n\n return null;\n }\n\n var obj = this._objs[objId];\n\n if (!obj || !obj.resolved) {\n throw new Error(\"Requesting object that isn't resolved yet \".concat(objId, \".\"));\n }\n\n return obj.data;\n }\n }, {\n key: \"has\",\n value: function has(objId) {\n var obj = this._objs[objId];\n return (obj === null || obj === void 0 ? void 0 : obj.resolved) || false;\n }\n }, {\n key: \"resolve\",\n value: function resolve(objId, data) {\n var obj = this._ensureObj(objId);\n\n obj.resolved = true;\n obj.data = data;\n obj.capability.resolve(data);\n }\n }, {\n key: \"clear\",\n value: function clear() {\n this._objs = Object.create(null);\n }\n }]);\n\n return PDFObjects;\n }();\n\n var 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: \"promise\",\n get: function get() {\n return this._internalRenderTask.capability.promise;\n }\n }, {\n key: \"cancel\",\n value: function cancel() {\n this._internalRenderTask.cancel();\n }\n }]);\n\n return RenderTask;\n }();\n\n var InternalRenderTask = function InternalRenderTaskClosure() {\n var canvasInRendering = new WeakSet();\n\n var InternalRenderTask = /*#__PURE__*/function () {\n function InternalRenderTask(_ref26) {\n var callback = _ref26.callback,\n params = _ref26.params,\n objs = _ref26.objs,\n commonObjs = _ref26.commonObjs,\n operatorList = _ref26.operatorList,\n pageIndex = _ref26.pageIndex,\n canvasFactory = _ref26.canvasFactory,\n webGLContext = _ref26.webGLContext,\n _ref26$useRequestAnim = _ref26.useRequestAnimationFrame,\n useRequestAnimationFrame = _ref26$useRequestAnim === void 0 ? false : _ref26$useRequestAnim,\n _ref26$pdfBug = _ref26.pdfBug,\n pdfBug = _ref26$pdfBug === void 0 ? false : _ref26$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: \"completed\",\n get: function get() {\n return this.capability.promise.catch(function () {});\n }\n }, {\n key: \"initializeGraphics\",\n value: function initializeGraphics(_ref27) {\n var _globalThis$StepperMa;\n\n var _ref27$transparency = _ref27.transparency,\n transparency = _ref27$transparency === void 0 ? false : _ref27$transparency,\n optionalContentConfig = _ref27.optionalContentConfig;\n\n if (this.cancelled) {\n return;\n }\n\n if (this._canvas) {\n if (canvasInRendering.has(this._canvas)) {\n throw new Error(\"Cannot use the same canvas during multiple render() operations. \" + \"Use different canvas or ensure previous operations were \" + \"cancelled or completed.\");\n }\n\n canvasInRendering.add(this._canvas);\n }\n\n if (this._pdfBug && (_globalThis$StepperMa = globalThis.StepperManager) !== null && _globalThis$StepperMa !== void 0 && _globalThis$StepperMa.enabled) {\n this.stepper = globalThis.StepperManager.create(this._pageIndex);\n this.stepper.init(this.operatorList);\n this.stepper.nextBreakPoint = this.stepper.getNextBreakPoint();\n }\n\n var _this$params = this.params,\n canvasContext = _this$params.canvasContext,\n viewport = _this$params.viewport,\n transform = _this$params.transform,\n imageLayer = _this$params.imageLayer,\n background = _this$params.background;\n this.gfx = new _canvas.CanvasGraphics(canvasContext, this.commonObjs, this.objs, this.canvasFactory, this.webGLContext, imageLayer, optionalContentConfig);\n this.gfx.beginDrawing({\n transform: transform,\n viewport: viewport,\n transparency: transparency,\n background: background\n });\n this.operatorListIdx = 0;\n this.graphicsReady = true;\n\n if (this.graphicsReadyCallback) {\n this.graphicsReadyCallback();\n }\n }\n }, {\n key: \"cancel\",\n value: function cancel() {\n var error = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n this.running = false;\n this.cancelled = true;\n\n if (this.gfx) {\n this.gfx.endDrawing();\n }\n\n if (this._canvas) {\n canvasInRendering.delete(this._canvas);\n }\n\n this.callback(error || new _display_utils.RenderingCancelledException(\"Rendering cancelled, page \".concat(this._pageIndex + 1), \"canvas\"));\n }\n }, {\n key: \"operatorListChanged\",\n value: function operatorListChanged() {\n if (!this.graphicsReady) {\n if (!this.graphicsReadyCallback) {\n this.graphicsReadyCallback = this._continueBound;\n }\n\n return;\n }\n\n if (this.stepper) {\n this.stepper.updateOperatorList(this.operatorList);\n }\n\n if (this.running) {\n return;\n }\n\n this._continue();\n }\n }, {\n key: \"_continue\",\n value: function _continue() {\n this.running = true;\n\n if (this.cancelled) {\n return;\n }\n\n if (this.task.onContinue) {\n this.task.onContinue(this._scheduleNextBound);\n } else {\n this._scheduleNext();\n }\n }\n }, {\n key: \"_scheduleNext\",\n value: function _scheduleNext() {\n var _this23 = this;\n\n if (this._useRequestAnimationFrame) {\n window.requestAnimationFrame(function () {\n _this23._nextBound().catch(_this23.cancel.bind(_this23));\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__*/_regeneratorRuntime.mark(function _callee4() {\n return _regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n if (!this.cancelled) {\n _context4.next = 2;\n break;\n }\n\n return _context4.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 _context4.stop();\n }\n }\n }, _callee4, 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\n var version = '2.7.570';\n exports.version = version;\n var build = 'f2c7338b0';\n exports.build = build;\n /***/\n },\n /* 6 */\n\n /***/\n function (__unused_webpack_module, exports, __w_pdfjs_require__) {\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.FontLoader = exports.FontFaceObject = void 0;\n\n var _util = __w_pdfjs_require__(2);\n\n var BaseFontLoader = /*#__PURE__*/function () {\n function BaseFontLoader(_ref28) {\n var docId = _ref28.docId,\n onUnsupportedFeature = _ref28.onUnsupportedFeature,\n _ref28$ownerDocument = _ref28.ownerDocument,\n ownerDocument = _ref28$ownerDocument === void 0 ? globalThis.document : _ref28$ownerDocument;\n\n _classCallCheck(this, BaseFontLoader);\n\n if (this.constructor === BaseFontLoader) {\n (0, _util.unreachable)(\"Cannot initialize BaseFontLoader.\");\n }\n\n this.docId = docId;\n this._onUnsupportedFeature = onUnsupportedFeature;\n this._document = ownerDocument;\n this.nativeFontFaces = [];\n this.styleElement = null;\n }\n\n _createClass(BaseFontLoader, [{\n key: \"addNativeFontFace\",\n value: function addNativeFontFace(nativeFontFace) {\n this.nativeFontFaces.push(nativeFontFace);\n\n this._document.fonts.add(nativeFontFace);\n }\n }, {\n key: \"insertRule\",\n value: function insertRule(rule) {\n var styleElement = this.styleElement;\n\n if (!styleElement) {\n styleElement = this.styleElement = this._document.createElement(\"style\");\n styleElement.id = \"PDFJS_FONT_STYLE_TAG_\".concat(this.docId);\n\n this._document.documentElement.getElementsByTagName(\"head\")[0].appendChild(styleElement);\n }\n\n var styleSheet = styleElement.sheet;\n styleSheet.insertRule(rule, styleSheet.cssRules.length);\n }\n }, {\n key: \"clear\",\n value: function clear() {\n var _this24 = this;\n\n this.nativeFontFaces.forEach(function (nativeFontFace) {\n _this24._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__*/_regeneratorRuntime.mark(function _callee5(font) {\n var _this25 = this;\n\n var nativeFontFace, rule;\n return _regeneratorRuntime.wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n if (!(font.attached || font.missingFile)) {\n _context5.next = 2;\n break;\n }\n\n return _context5.abrupt(\"return\");\n\n case 2:\n font.attached = true;\n\n if (!this.isFontLoadingAPISupported) {\n _context5.next = 19;\n break;\n }\n\n nativeFontFace = font.createNativeFontFace();\n\n if (!nativeFontFace) {\n _context5.next = 18;\n break;\n }\n\n this.addNativeFontFace(nativeFontFace);\n _context5.prev = 7;\n _context5.next = 10;\n return nativeFontFace.loaded;\n\n case 10:\n _context5.next = 18;\n break;\n\n case 12:\n _context5.prev = 12;\n _context5.t0 = _context5[\"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(_context5.t0, \"'.\"));\n font.disableFontFace = true;\n throw _context5.t0;\n\n case 18:\n return _context5.abrupt(\"return\");\n\n case 19:\n rule = font.createFontFaceRule();\n\n if (!rule) {\n _context5.next = 26;\n break;\n }\n\n this.insertRule(rule);\n\n if (!this.isSyncFontLoadingSupported) {\n _context5.next = 24;\n break;\n }\n\n return _context5.abrupt(\"return\");\n\n case 24:\n _context5.next = 26;\n return new Promise(function (resolve) {\n var request = _this25._queueLoadingCallback(resolve);\n\n _this25._prepareFontLoadEvent([rule], [font], request);\n });\n\n case 26:\n case \"end\":\n return _context5.stop();\n }\n }\n }, _callee5, this, [[7, 12]]);\n }));\n\n function bind(_x3) {\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: \"isFontLoadingAPISupported\",\n get: function get() {\n var _this$_document;\n\n return (0, _util.shadow)(this, \"isFontLoadingAPISupported\", !!((_this$_document = this._document) !== null && _this$_document !== void 0 && _this$_document.fonts));\n }\n }, {\n key: \"isSyncFontLoadingSupported\",\n get: function get() {\n (0, _util.unreachable)(\"Abstract method `isSyncFontLoadingSupported`.\");\n }\n }, {\n key: \"_loadTestFont\",\n get: function get() {\n (0, _util.unreachable)(\"Abstract method `_loadTestFont`.\");\n }\n }, {\n key: \"_prepareFontLoadEvent\",\n value: function _prepareFontLoadEvent(rules, fontsToLoad, request) {\n (0, _util.unreachable)(\"Abstract method `_prepareFontLoadEvent`.\");\n }\n }]);\n\n return BaseFontLoader;\n }();\n\n var FontLoader;\n exports.FontLoader = FontLoader;\n {\n exports.FontLoader = FontLoader = /*#__PURE__*/function (_BaseFontLoader) {\n _inherits(GenericFontLoader, _BaseFontLoader);\n\n var _super11 = _createSuper(GenericFontLoader);\n\n function GenericFontLoader(params) {\n var _this26;\n\n _classCallCheck(this, GenericFontLoader);\n\n _this26 = _super11.call(this, params);\n _this26.loadingContext = {\n requests: [],\n nextRequestId: 0\n };\n _this26.loadTestFontId = 0;\n return _this26;\n }\n\n _createClass(GenericFontLoader, [{\n key: \"isSyncFontLoadingSupported\",\n get: function get() {\n var supported = false;\n\n if (typeof navigator === \"undefined\") {\n supported = true;\n } else {\n var m = /Mozilla\\/5.0.*?rv:(\\d+).*? Gecko/.exec(navigator.userAgent);\n\n if ((m === null || m === void 0 ? void 0 : m[1]) >= 14) {\n supported = true;\n }\n }\n\n return (0, _util.shadow)(this, \"isSyncFontLoadingSupported\", supported);\n }\n }, {\n key: \"_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: \"_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 key: \"_prepareFontLoadEvent\",\n value: function _prepareFontLoadEvent(rules, fonts, request) {\n var _this27 = this;\n\n function int32(data, offset) {\n return data.charCodeAt(offset) << 24 | data.charCodeAt(offset + 1) << 16 | data.charCodeAt(offset + 2) << 8 | data.charCodeAt(offset + 3) & 0xff;\n }\n\n function spliceString(s, offset, remove, insert) {\n var chunk1 = s.substring(0, offset);\n var chunk2 = s.substring(offset + remove);\n return chunk1 + insert + chunk2;\n }\n\n var i, ii;\n\n var canvas = this._document.createElement(\"canvas\");\n\n canvas.width = 1;\n canvas.height = 1;\n var ctx = canvas.getContext(\"2d\");\n var called = 0;\n\n function isFontReady(name, callback) {\n called++;\n\n if (called > 30) {\n (0, _util.warn)(\"Load test font never loaded.\");\n callback();\n return;\n }\n\n ctx.font = \"30px \" + name;\n ctx.fillText(\".\", 0, 20);\n var imageData = ctx.getImageData(0, 0, 1, 1);\n\n if (imageData.data[3] > 0) {\n callback();\n return;\n }\n\n setTimeout(isFontReady.bind(null, name, callback));\n }\n\n var loadTestFontId = \"lt\".concat(Date.now()).concat(this.loadTestFontId++);\n var data = this._loadTestFont;\n var COMMENT_OFFSET = 976;\n data = spliceString(data, COMMENT_OFFSET, loadTestFontId.length, loadTestFontId);\n var CFF_CHECKSUM_OFFSET = 16;\n var XXXX_VALUE = 0x58585858;\n var checksum = int32(data, CFF_CHECKSUM_OFFSET);\n\n for (i = 0, ii = loadTestFontId.length - 3; i < ii; i += 4) {\n checksum = checksum - XXXX_VALUE + int32(loadTestFontId, i) | 0;\n }\n\n if (i < loadTestFontId.length) {\n checksum = checksum - XXXX_VALUE + int32(loadTestFontId + \"XXX\", i) | 0;\n }\n\n data = spliceString(data, CFF_CHECKSUM_OFFSET, 4, (0, _util.string32)(checksum));\n var url = \"url(data:font/opentype;base64,\".concat(btoa(data), \");\");\n var rule = \"@font-face {font-family:\\\"\".concat(loadTestFontId, \"\\\";src:\").concat(url, \"}\");\n this.insertRule(rule);\n var names = [];\n\n for (i = 0, ii = fonts.length; i < ii; i++) {\n names.push(fonts[i].loadedName);\n }\n\n names.push(loadTestFontId);\n\n var div = this._document.createElement(\"div\");\n\n div.style.visibility = \"hidden\";\n div.style.width = div.style.height = \"10px\";\n div.style.position = \"absolute\";\n div.style.top = div.style.left = \"0px\";\n\n for (i = 0, ii = names.length; i < ii; ++i) {\n var span = this._document.createElement(\"span\");\n\n span.textContent = \"Hi\";\n span.style.fontFamily = names[i];\n div.appendChild(span);\n }\n\n this._document.body.appendChild(div);\n\n isFontReady(loadTestFontId, function () {\n _this27._document.body.removeChild(div);\n\n request.complete();\n });\n }\n }]);\n\n return GenericFontLoader;\n }(BaseFontLoader);\n }\n\n var FontFaceObject = /*#__PURE__*/function () {\n function FontFaceObject(translatedData, _ref29) {\n var _ref29$isEvalSupporte = _ref29.isEvalSupported,\n isEvalSupported = _ref29$isEvalSupporte === void 0 ? true : _ref29$isEvalSupporte,\n _ref29$disableFontFac = _ref29.disableFontFace,\n disableFontFace = _ref29$disableFontFac === void 0 ? false : _ref29$disableFontFac,\n _ref29$ignoreErrors = _ref29.ignoreErrors,\n ignoreErrors = _ref29$ignoreErrors === void 0 ? false : _ref29$ignoreErrors,\n _ref29$onUnsupportedF = _ref29.onUnsupportedFeature,\n onUnsupportedFeature = _ref29$onUnsupportedF === void 0 ? null : _ref29$onUnsupportedF,\n _ref29$fontRegistry = _ref29.fontRegistry,\n fontRegistry = _ref29$fontRegistry === void 0 ? null : _ref29$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 _i5 = 0, _ii = cmds.length; _i5 < _ii; _i5++) {\n current = cmds[_i5];\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\n exports.FontFaceObject = FontFaceObject;\n /***/\n },\n /* 7 */\n\n /***/\n function (__unused_webpack_module, exports, __w_pdfjs_require__) {\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.NodeCMapReaderFactory = exports.NodeCanvasFactory = void 0;\n\n var _display_utils = __w_pdfjs_require__(1);\n\n var _is_node = __w_pdfjs_require__(4);\n\n var _util = __w_pdfjs_require__(2);\n\n var NodeCanvasFactory = /*#__PURE__*/_createClass(function NodeCanvasFactory() {\n _classCallCheck(this, NodeCanvasFactory);\n\n (0, _util.unreachable)(\"Not implemented: NodeCanvasFactory\");\n });\n\n exports.NodeCanvasFactory = NodeCanvasFactory;\n\n var NodeCMapReaderFactory = /*#__PURE__*/_createClass(function NodeCMapReaderFactory() {\n _classCallCheck(this, NodeCMapReaderFactory);\n\n (0, _util.unreachable)(\"Not implemented: NodeCMapReaderFactory\");\n });\n\n exports.NodeCMapReaderFactory = NodeCMapReaderFactory;\n\n if (_is_node.isNodeJS) {\n exports.NodeCanvasFactory = NodeCanvasFactory = /*#__PURE__*/function (_display_utils$BaseCa) {\n _inherits(NodeCanvasFactory, _display_utils$BaseCa);\n\n var _super12 = _createSuper(NodeCanvasFactory);\n\n function NodeCanvasFactory() {\n _classCallCheck(this, NodeCanvasFactory);\n\n return _super12.apply(this, arguments);\n }\n\n _createClass(NodeCanvasFactory, [{\n key: \"create\",\n value: function create(width, height) {\n if (width <= 0 || height <= 0) {\n throw new Error(\"Invalid canvas size\");\n }\n\n var Canvas = require(\"canvas\");\n\n var canvas = Canvas.createCanvas(width, height);\n return {\n canvas: canvas,\n context: canvas.getContext(\"2d\")\n };\n }\n }]);\n\n return NodeCanvasFactory;\n }(_display_utils.BaseCanvasFactory);\n\n exports.NodeCMapReaderFactory = NodeCMapReaderFactory = /*#__PURE__*/function (_display_utils$BaseCM) {\n _inherits(NodeCMapReaderFactory, _display_utils$BaseCM);\n\n var _super13 = _createSuper(NodeCMapReaderFactory);\n\n function NodeCMapReaderFactory() {\n _classCallCheck(this, NodeCMapReaderFactory);\n\n return _super13.apply(this, arguments);\n }\n\n _createClass(NodeCMapReaderFactory, [{\n key: \"_fetchData\",\n value: function _fetchData(url, compressionType) {\n return new Promise(function (resolve, reject) {\n var fs = require(\"fs\");\n\n fs.readFile(url, function (error, data) {\n if (error || !data) {\n reject(new Error(error));\n return;\n }\n\n resolve({\n cMapData: new Uint8Array(data),\n compressionType: compressionType\n });\n });\n });\n }\n }]);\n\n return NodeCMapReaderFactory;\n }(_display_utils.BaseCMapReaderFactory);\n }\n /***/\n\n },\n /* 8 */\n\n /***/\n function (__unused_webpack_module, exports, __w_pdfjs_require__) {\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.AnnotationStorage = void 0;\n\n var _util = __w_pdfjs_require__(2);\n\n var AnnotationStorage = /*#__PURE__*/function () {\n function AnnotationStorage() {\n _classCallCheck(this, AnnotationStorage);\n\n this._storage = new Map();\n this._modified = false;\n this.onSetModified = null;\n this.onResetModified = null;\n }\n\n _createClass(AnnotationStorage, [{\n key: \"getOrCreateValue\",\n value: function getOrCreateValue(key, defaultValue) {\n if (this._storage.has(key)) {\n return this._storage.get(key);\n }\n\n this._storage.set(key, defaultValue);\n\n return defaultValue;\n }\n }, {\n key: \"setValue\",\n value: function setValue(key, value) {\n var obj = this._storage.get(key);\n\n var modified = false;\n\n if (obj !== undefined) {\n for (var _i6 = 0, _Object$entries = Object.entries(value); _i6 < _Object$entries.length; _i6++) {\n var _Object$entries$_i = _slicedToArray(_Object$entries[_i6], 2),\n entry = _Object$entries$_i[0],\n val = _Object$entries$_i[1];\n\n if (obj[entry] !== val) {\n modified = true;\n obj[entry] = val;\n }\n }\n } else {\n this._storage.set(key, value);\n\n modified = true;\n }\n\n if (modified) {\n this._setModified();\n }\n }\n }, {\n key: \"getAll\",\n value: function getAll() {\n if (this._storage.size === 0) {\n return null;\n }\n\n return (0, _util.objectFromEntries)(this._storage);\n }\n }, {\n key: \"size\",\n get: function get() {\n return this._storage.size;\n }\n }, {\n key: \"_setModified\",\n value: function _setModified() {\n if (!this._modified) {\n this._modified = true;\n\n if (typeof this.onSetModified === \"function\") {\n this.onSetModified();\n }\n }\n }\n }, {\n key: \"resetModified\",\n value: function resetModified() {\n if (this._modified) {\n this._modified = false;\n\n if (typeof this.onResetModified === \"function\") {\n this.onResetModified();\n }\n }\n }\n }]);\n\n return AnnotationStorage;\n }();\n\n exports.AnnotationStorage = AnnotationStorage;\n /***/\n },\n /* 9 */\n\n /***/\n function (__unused_webpack_module, exports, __w_pdfjs_require__) {\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.apiCompatibilityParams = void 0;\n\n var _is_node = __w_pdfjs_require__(4);\n\n var compatibilityParams = Object.create(null);\n {\n (function checkFontFace() {\n if (_is_node.isNodeJS) {\n compatibilityParams.disableFontFace = true;\n }\n })();\n }\n var apiCompatibilityParams = Object.freeze(compatibilityParams);\n exports.apiCompatibilityParams = apiCompatibilityParams;\n /***/\n },\n /* 10 */\n\n /***/\n function (__unused_webpack_module, exports, __w_pdfjs_require__) {\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.CanvasGraphics = void 0;\n\n var _util = __w_pdfjs_require__(2);\n\n var _pattern_helper = __w_pdfjs_require__(11);\n\n var MIN_FONT_SIZE = 16;\n var MAX_FONT_SIZE = 100;\n var MAX_GROUP_SIZE = 4096;\n var COMPILE_TYPE3_GLYPHS = true;\n var MAX_SIZE_TO_COMPILE = 1000;\n var FULL_CHUNK_HEIGHT = 16;\n\n function 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\n var 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\n function compileType3Glyph(imgData) {\n var POINT_TO_PROCESS_LIMIT = 1000;\n var width = imgData.width,\n height = imgData.height,\n width1 = width + 1;\n var i, ii, j, j0;\n var points = new Uint8Array(width1 * (height + 1));\n var POINT_TYPES = new Uint8Array([0, 2, 4, 0, 1, 0, 5, 4, 8, 10, 0, 8, 0, 2, 1, 0]);\n var lineSize = width + 7 & ~7,\n data0 = imgData.data;\n var data = new Uint8Array(lineSize * height);\n var pos = 0;\n\n for (i = 0, ii = data0.length; i < ii; i++) {\n var elem = data0[i];\n var mask = 128;\n\n while (mask > 0) {\n data[pos++] = elem & mask ? 0 : 255;\n mask >>= 1;\n }\n }\n\n var count = 0;\n pos = 0;\n\n if (data[pos] !== 0) {\n points[0] = 1;\n ++count;\n }\n\n for (j = 1; j < width; j++) {\n if (data[pos] !== data[pos + 1]) {\n points[j] = data[pos] ? 2 : 1;\n ++count;\n }\n\n pos++;\n }\n\n if (data[pos] !== 0) {\n points[j] = 2;\n ++count;\n }\n\n for (i = 1; i < height; i++) {\n pos = i * lineSize;\n j0 = i * width1;\n\n if (data[pos - lineSize] !== data[pos]) {\n points[j0] = data[pos] ? 1 : 8;\n ++count;\n }\n\n var sum = (data[pos] ? 4 : 0) + (data[pos - lineSize] ? 8 : 0);\n\n for (j = 1; j < width; j++) {\n sum = (sum >> 2) + (data[pos + 1] ? 4 : 0) + (data[pos - lineSize + 1] ? 8 : 0);\n\n if (POINT_TYPES[sum]) {\n points[j0 + j] = POINT_TYPES[sum];\n ++count;\n }\n\n pos++;\n }\n\n if (data[pos - lineSize] !== data[pos]) {\n points[j0 + j] = data[pos] ? 2 : 4;\n ++count;\n }\n\n if (count > POINT_TO_PROCESS_LIMIT) {\n return null;\n }\n }\n\n pos = lineSize * (height - 1);\n j0 = i * width1;\n\n if (data[pos] !== 0) {\n points[j0] = 8;\n ++count;\n }\n\n for (j = 1; j < width; j++) {\n if (data[pos] !== data[pos + 1]) {\n points[j0 + j] = data[pos] ? 4 : 8;\n ++count;\n }\n\n pos++;\n }\n\n if (data[pos] !== 0) {\n points[j0 + j] = 4;\n ++count;\n }\n\n if (count > POINT_TO_PROCESS_LIMIT) {\n return null;\n }\n\n var steps = new Int32Array([0, width1, -1, 0, -width1, 0, 0, 0, 1]);\n var outlines = [];\n\n for (i = 0; count && i <= height; i++) {\n var p = i * width1;\n var end = p + width;\n\n while (p < end && !points[p]) {\n p++;\n }\n\n if (p === end) {\n continue;\n }\n\n var coords = [p % width1, i];\n var p0 = p;\n var type = points[p];\n\n do {\n var step = steps[type];\n\n do {\n p += step;\n } while (!points[p]);\n\n var pp = points[p];\n\n if (pp !== 5 && pp !== 10) {\n type = pp;\n points[p] = 0;\n } else {\n type = pp & 0x33 * type >> 4;\n points[p] &= type >> 2 | type << 2;\n }\n\n coords.push(p % width1);\n coords.push(p / width1 | 0);\n\n if (!points[p]) {\n --count;\n }\n } while (p0 !== p);\n\n outlines.push(coords);\n --i;\n }\n\n var drawOutline = function drawOutline(c) {\n c.save();\n c.scale(1 / width, -1 / height);\n c.translate(0, -height);\n c.beginPath();\n\n for (var k = 0, kk = outlines.length; k < kk; k++) {\n var o = outlines[k];\n c.moveTo(o[0], o[1]);\n\n for (var l = 2, ll = o.length; l < ll; l += 2) {\n c.lineTo(o[l], o[l + 1]);\n }\n }\n\n c.fill();\n c.beginPath();\n c.restore();\n };\n\n return drawOutline;\n }\n\n var CanvasExtraState = function CanvasExtraStateClosure() {\n function CanvasExtraState() {\n this.alphaIsShape = false;\n this.fontSize = 0;\n this.fontSizeScale = 1;\n this.textMatrix = _util.IDENTITY_MATRIX;\n this.textMatrixScale = 1;\n this.fontMatrix = _util.FONT_IDENTITY_MATRIX;\n this.leading = 0;\n this.x = 0;\n this.y = 0;\n this.lineX = 0;\n this.lineY = 0;\n this.charSpacing = 0;\n this.wordSpacing = 0;\n this.textHScale = 1;\n this.textRenderingMode = _util.TextRenderingMode.FILL;\n this.textRise = 0;\n this.fillColor = \"#000000\";\n this.strokeColor = \"#000000\";\n this.patternFill = false;\n this.fillAlpha = 1;\n this.strokeAlpha = 1;\n this.lineWidth = 1;\n this.activeSMask = null;\n this.resumeSMaskCtx = null;\n this.transferMaps = null;\n }\n\n CanvasExtraState.prototype = {\n clone: function CanvasExtraState_clone() {\n return Object.create(this);\n },\n setCurrentPoint: function CanvasExtraState_setCurrentPoint(x, y) {\n this.x = x;\n this.y = y;\n }\n };\n return CanvasExtraState;\n }();\n\n var CanvasGraphics = function CanvasGraphicsClosure() {\n var EXECUTION_TIME = 15;\n var EXECUTION_STEPS = 10;\n\n function CanvasGraphics(canvasCtx, commonObjs, objs, canvasFactory, webGLContext, imageLayer, optionalContentConfig) {\n this.ctx = canvasCtx;\n this.current = new CanvasExtraState();\n this.stateStack = [];\n this.pendingClip = null;\n this.pendingEOFill = false;\n this.res = null;\n this.xobjs = null;\n this.commonObjs = commonObjs;\n this.objs = objs;\n this.canvasFactory = canvasFactory;\n this.webGLContext = webGLContext;\n this.imageLayer = imageLayer;\n this.groupStack = [];\n this.processingType3 = null;\n this.baseTransform = null;\n this.baseTransformStack = [];\n this.groupLevel = 0;\n this.smaskStack = [];\n this.smaskCounter = 0;\n this.tempSMask = null;\n this.contentVisible = true;\n this.markedContentStack = [];\n this.optionalContentConfig = optionalContentConfig;\n this.cachedCanvases = new CachedCanvases(this.canvasFactory);\n\n if (canvasCtx) {\n addContextCurrentTransform(canvasCtx);\n }\n\n this._cachedGetSinglePixelWidth = null;\n }\n\n function putBinaryImageData(ctx, imgData) {\n var transferMaps = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n\n if (typeof ImageData !== \"undefined\" && imgData instanceof ImageData) {\n ctx.putImageData(imgData, 0, 0);\n return;\n }\n\n var height = imgData.height,\n width = imgData.width;\n var partialChunkHeight = height % FULL_CHUNK_HEIGHT;\n var fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT;\n var totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1;\n var chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT);\n var srcPos = 0,\n destPos;\n var src = imgData.data;\n var dest = chunkImgData.data;\n var i, j, thisChunkHeight, elemsInThisChunk;\n var transferMapRed, transferMapGreen, transferMapBlue, transferMapGray;\n\n if (transferMaps) {\n switch (transferMaps.length) {\n case 1:\n transferMapRed = transferMaps[0];\n transferMapGreen = transferMaps[0];\n transferMapBlue = transferMaps[0];\n transferMapGray = transferMaps[0];\n break;\n\n case 4:\n transferMapRed = transferMaps[0];\n transferMapGreen = transferMaps[1];\n transferMapBlue = transferMaps[2];\n transferMapGray = transferMaps[3];\n break;\n }\n }\n\n if (imgData.kind === _util.ImageKind.GRAYSCALE_1BPP) {\n var srcLength = src.byteLength;\n var dest32 = new Uint32Array(dest.buffer, 0, dest.byteLength >> 2);\n var dest32DataLength = dest32.length;\n var fullSrcDiff = width + 7 >> 3;\n var white = 0xffffffff;\n var black = _util.IsLittleEndianCached.value ? 0xff000000 : 0x000000ff;\n\n if (transferMapGray) {\n if (transferMapGray[0] === 0xff && transferMapGray[0xff] === 0) {\n var _ref30 = [black, white];\n white = _ref30[0];\n black = _ref30[1];\n }\n }\n\n for (i = 0; i < totalChunks; i++) {\n thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;\n destPos = 0;\n\n for (j = 0; j < thisChunkHeight; j++) {\n var srcDiff = srcLength - srcPos;\n var k = 0;\n var kEnd = srcDiff > fullSrcDiff ? width : srcDiff * 8 - 7;\n var kEndUnrolled = kEnd & ~7;\n var mask = 0;\n var srcByte = 0;\n\n for (; k < kEndUnrolled; k += 8) {\n srcByte = src[srcPos++];\n dest32[destPos++] = srcByte & 128 ? white : black;\n dest32[destPos++] = srcByte & 64 ? white : black;\n dest32[destPos++] = srcByte & 32 ? white : black;\n dest32[destPos++] = srcByte & 16 ? white : black;\n dest32[destPos++] = srcByte & 8 ? white : black;\n dest32[destPos++] = srcByte & 4 ? white : black;\n dest32[destPos++] = srcByte & 2 ? white : black;\n dest32[destPos++] = srcByte & 1 ? white : black;\n }\n\n for (; k < kEnd; k++) {\n if (mask === 0) {\n srcByte = src[srcPos++];\n mask = 128;\n }\n\n dest32[destPos++] = srcByte & mask ? white : black;\n mask >>= 1;\n }\n }\n\n while (destPos < dest32DataLength) {\n dest32[destPos++] = 0;\n }\n\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n } else if (imgData.kind === _util.ImageKind.RGBA_32BPP) {\n var hasTransferMaps = !!(transferMapRed || transferMapGreen || transferMapBlue);\n j = 0;\n elemsInThisChunk = width * FULL_CHUNK_HEIGHT * 4;\n\n for (i = 0; i < fullChunks; i++) {\n dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk));\n srcPos += elemsInThisChunk;\n\n if (hasTransferMaps) {\n for (var _k = 0; _k < elemsInThisChunk; _k += 4) {\n if (transferMapRed) {\n dest[_k + 0] = transferMapRed[dest[_k + 0]];\n }\n\n if (transferMapGreen) {\n dest[_k + 1] = transferMapGreen[dest[_k + 1]];\n }\n\n if (transferMapBlue) {\n dest[_k + 2] = transferMapBlue[dest[_k + 2]];\n }\n }\n }\n\n ctx.putImageData(chunkImgData, 0, j);\n j += FULL_CHUNK_HEIGHT;\n }\n\n if (i < totalChunks) {\n elemsInThisChunk = width * partialChunkHeight * 4;\n dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk));\n\n if (hasTransferMaps) {\n for (var _k2 = 0; _k2 < elemsInThisChunk; _k2 += 4) {\n if (transferMapRed) {\n dest[_k2 + 0] = transferMapRed[dest[_k2 + 0]];\n }\n\n if (transferMapGreen) {\n dest[_k2 + 1] = transferMapGreen[dest[_k2 + 1]];\n }\n\n if (transferMapBlue) {\n dest[_k2 + 2] = transferMapBlue[dest[_k2 + 2]];\n }\n }\n }\n\n ctx.putImageData(chunkImgData, 0, j);\n }\n } else if (imgData.kind === _util.ImageKind.RGB_24BPP) {\n var _hasTransferMaps = !!(transferMapRed || transferMapGreen || transferMapBlue);\n\n thisChunkHeight = FULL_CHUNK_HEIGHT;\n elemsInThisChunk = width * thisChunkHeight;\n\n for (i = 0; i < totalChunks; i++) {\n if (i >= fullChunks) {\n thisChunkHeight = partialChunkHeight;\n elemsInThisChunk = width * thisChunkHeight;\n }\n\n destPos = 0;\n\n for (j = elemsInThisChunk; j--;) {\n dest[destPos++] = src[srcPos++];\n dest[destPos++] = src[srcPos++];\n dest[destPos++] = src[srcPos++];\n dest[destPos++] = 255;\n }\n\n if (_hasTransferMaps) {\n for (var _k3 = 0; _k3 < destPos; _k3 += 4) {\n if (transferMapRed) {\n dest[_k3 + 0] = transferMapRed[dest[_k3 + 0]];\n }\n\n if (transferMapGreen) {\n dest[_k3 + 1] = transferMapGreen[dest[_k3 + 1]];\n }\n\n if (transferMapBlue) {\n dest[_k3 + 2] = transferMapBlue[dest[_k3 + 2]];\n }\n }\n }\n\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n } else {\n throw new Error(\"bad image kind: \".concat(imgData.kind));\n }\n }\n\n function putBinaryImageMask(ctx, imgData) {\n var height = imgData.height,\n width = imgData.width;\n var partialChunkHeight = height % FULL_CHUNK_HEIGHT;\n var fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT;\n var totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1;\n var chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT);\n var srcPos = 0;\n var src = imgData.data;\n var dest = chunkImgData.data;\n\n for (var i = 0; i < totalChunks; i++) {\n var thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;\n var destPos = 3;\n\n for (var j = 0; j < thisChunkHeight; j++) {\n var elem = void 0,\n mask = 0;\n\n for (var k = 0; k < width; k++) {\n if (!mask) {\n elem = src[srcPos++];\n mask = 128;\n }\n\n dest[destPos] = elem & mask ? 0 : 255;\n destPos += 4;\n mask >>= 1;\n }\n }\n\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n }\n\n function copyCtxState(sourceCtx, destCtx) {\n var properties = [\"strokeStyle\", \"fillStyle\", \"fillRule\", \"globalAlpha\", \"lineWidth\", \"lineCap\", \"lineJoin\", \"miterLimit\", \"globalCompositeOperation\", \"font\"];\n\n for (var i = 0, ii = properties.length; i < ii; i++) {\n var property = properties[i];\n\n if (sourceCtx[property] !== undefined) {\n destCtx[property] = sourceCtx[property];\n }\n }\n\n if (sourceCtx.setLineDash !== undefined) {\n destCtx.setLineDash(sourceCtx.getLineDash());\n destCtx.lineDashOffset = sourceCtx.lineDashOffset;\n }\n }\n\n function resetCtxToDefault(ctx) {\n ctx.strokeStyle = \"#000000\";\n ctx.fillStyle = \"#000000\";\n ctx.fillRule = \"nonzero\";\n ctx.globalAlpha = 1;\n ctx.lineWidth = 1;\n ctx.lineCap = \"butt\";\n ctx.lineJoin = \"miter\";\n ctx.miterLimit = 10;\n ctx.globalCompositeOperation = \"source-over\";\n ctx.font = \"10px sans-serif\";\n\n if (ctx.setLineDash !== undefined) {\n ctx.setLineDash([]);\n ctx.lineDashOffset = 0;\n }\n }\n\n function composeSMaskBackdrop(bytes, r0, g0, b0) {\n var length = bytes.length;\n\n for (var i = 3; i < length; i += 4) {\n var alpha = bytes[i];\n\n if (alpha === 0) {\n bytes[i - 3] = r0;\n bytes[i - 2] = g0;\n bytes[i - 1] = b0;\n } else if (alpha < 255) {\n var alpha_ = 255 - alpha;\n bytes[i - 3] = bytes[i - 3] * alpha + r0 * alpha_ >> 8;\n bytes[i - 2] = bytes[i - 2] * alpha + g0 * alpha_ >> 8;\n bytes[i - 1] = bytes[i - 1] * alpha + b0 * alpha_ >> 8;\n }\n }\n }\n\n function composeSMaskAlpha(maskData, layerData, transferMap) {\n var length = maskData.length;\n var scale = 1 / 255;\n\n for (var i = 3; i < length; i += 4) {\n var alpha = transferMap ? transferMap[maskData[i]] : maskData[i];\n layerData[i] = layerData[i] * alpha * scale | 0;\n }\n }\n\n function composeSMaskLuminosity(maskData, layerData, transferMap) {\n var length = maskData.length;\n\n for (var i = 3; i < length; i += 4) {\n var y = maskData[i - 3] * 77 + maskData[i - 2] * 152 + maskData[i - 1] * 28;\n layerData[i] = transferMap ? layerData[i] * transferMap[y >> 8] >> 8 : layerData[i] * y >> 16;\n }\n }\n\n function genericComposeSMask(maskCtx, layerCtx, width, height, subtype, backdrop, transferMap) {\n var hasBackdrop = !!backdrop;\n var r0 = hasBackdrop ? backdrop[0] : 0;\n var g0 = hasBackdrop ? backdrop[1] : 0;\n var b0 = hasBackdrop ? backdrop[2] : 0;\n var composeFn;\n\n if (subtype === \"Luminosity\") {\n composeFn = composeSMaskLuminosity;\n } else {\n composeFn = composeSMaskAlpha;\n }\n\n var PIXELS_TO_PROCESS = 1048576;\n var chunkSize = Math.min(height, Math.ceil(PIXELS_TO_PROCESS / width));\n\n for (var row = 0; row < height; row += chunkSize) {\n var chunkHeight = Math.min(chunkSize, height - row);\n var maskData = maskCtx.getImageData(0, row, width, chunkHeight);\n var layerData = layerCtx.getImageData(0, row, width, chunkHeight);\n\n if (hasBackdrop) {\n composeSMaskBackdrop(maskData.data, r0, g0, b0);\n }\n\n composeFn(maskData.data, layerData.data, transferMap);\n maskCtx.putImageData(layerData, 0, row);\n }\n }\n\n function composeSMask(ctx, smask, layerCtx, webGLContext) {\n var mask = smask.canvas;\n var maskCtx = smask.context;\n ctx.setTransform(smask.scaleX, 0, 0, smask.scaleY, smask.offsetX, smask.offsetY);\n var backdrop = smask.backdrop || null;\n\n if (!smask.transferMap && webGLContext.isEnabled) {\n var composed = webGLContext.composeSMask({\n layer: layerCtx.canvas,\n mask: mask,\n properties: {\n subtype: smask.subtype,\n backdrop: backdrop\n }\n });\n ctx.setTransform(1, 0, 0, 1, 0, 0);\n ctx.drawImage(composed, smask.offsetX, smask.offsetY);\n return;\n }\n\n genericComposeSMask(maskCtx, layerCtx, mask.width, mask.height, smask.subtype, backdrop, smask.transferMap);\n ctx.drawImage(mask, 0, 0);\n }\n\n var LINE_CAP_STYLES = [\"butt\", \"round\", \"square\"];\n var LINE_JOIN_STYLES = [\"miter\", \"round\", \"bevel\"];\n var NORMAL_CLIP = {};\n var EO_CLIP = {};\n CanvasGraphics.prototype = {\n beginDrawing: function beginDrawing(_ref31) {\n var transform = _ref31.transform,\n viewport = _ref31.viewport,\n _ref31$transparency = _ref31.transparency,\n transparency = _ref31$transparency === void 0 ? false : _ref31$transparency,\n _ref31$background = _ref31.background,\n background = _ref31$background === void 0 ? null : _ref31$background;\n var width = this.ctx.canvas.width;\n var height = this.ctx.canvas.height;\n this.ctx.save();\n this.ctx.fillStyle = background || \"rgb(255, 255, 255)\";\n this.ctx.fillRect(0, 0, width, height);\n this.ctx.restore();\n\n if (transparency) {\n var transparentCanvas = this.cachedCanvases.getCanvas(\"transparent\", width, height, true);\n this.compositeCtx = this.ctx;\n this.transparentCanvas = transparentCanvas.canvas;\n this.ctx = transparentCanvas.context;\n this.ctx.save();\n this.ctx.transform.apply(this.ctx, this.compositeCtx.mozCurrentTransform);\n }\n\n this.ctx.save();\n resetCtxToDefault(this.ctx);\n\n if (transform) {\n this.ctx.transform.apply(this.ctx, transform);\n }\n\n this.ctx.transform.apply(this.ctx, viewport.transform);\n this.baseTransform = this.ctx.mozCurrentTransform.slice();\n this._combinedScaleFactor = Math.hypot(this.baseTransform[0], this.baseTransform[2]);\n\n if (this.imageLayer) {\n this.imageLayer.beginLayout();\n }\n },\n executeOperatorList: function CanvasGraphics_executeOperatorList(operatorList, executionStartIdx, continueCallback, stepper) {\n var argsArray = operatorList.argsArray;\n var fnArray = operatorList.fnArray;\n var i = executionStartIdx || 0;\n var argsArrayLen = argsArray.length;\n\n if (argsArrayLen === i) {\n return i;\n }\n\n var chunkOperations = argsArrayLen - i > EXECUTION_STEPS && typeof continueCallback === \"function\";\n var endTime = chunkOperations ? Date.now() + EXECUTION_TIME : 0;\n var steps = 0;\n var commonObjs = this.commonObjs;\n var objs = this.objs;\n var fnId;\n\n while (true) {\n if (stepper !== undefined && i === stepper.nextBreakPoint) {\n stepper.breakIt(i, continueCallback);\n return i;\n }\n\n fnId = fnArray[i];\n\n if (fnId !== _util.OPS.dependency) {\n this[fnId].apply(this, argsArray[i]);\n } else {\n var _iterator11 = _createForOfIteratorHelper(argsArray[i]),\n _step11;\n\n try {\n for (_iterator11.s(); !(_step11 = _iterator11.n()).done;) {\n var depObjId = _step11.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 _iterator11.e(err);\n } finally {\n _iterator11.f();\n }\n }\n\n i++;\n\n if (i === argsArrayLen) {\n return i;\n }\n\n if (chunkOperations && ++steps > EXECUTION_STEPS) {\n if (Date.now() > endTime) {\n continueCallback();\n return i;\n }\n\n steps = 0;\n }\n }\n },\n endDrawing: function CanvasGraphics_endDrawing() {\n while (this.stateStack.length || this.current.activeSMask !== null) {\n this.restore();\n }\n\n this.ctx.restore();\n\n if (this.transparentCanvas) {\n this.ctx = this.compositeCtx;\n this.ctx.save();\n this.ctx.setTransform(1, 0, 0, 1, 0, 0);\n this.ctx.drawImage(this.transparentCanvas, 0, 0);\n this.ctx.restore();\n this.transparentCanvas = null;\n }\n\n this.cachedCanvases.clear();\n this.webGLContext.clear();\n\n if (this.imageLayer) {\n this.imageLayer.endLayout();\n }\n },\n setLineWidth: function CanvasGraphics_setLineWidth(width) {\n this.current.lineWidth = width;\n this.ctx.lineWidth = width;\n },\n setLineCap: function CanvasGraphics_setLineCap(style) {\n this.ctx.lineCap = LINE_CAP_STYLES[style];\n },\n setLineJoin: function CanvasGraphics_setLineJoin(style) {\n this.ctx.lineJoin = LINE_JOIN_STYLES[style];\n },\n setMiterLimit: function CanvasGraphics_setMiterLimit(limit) {\n this.ctx.miterLimit = limit;\n },\n setDash: function CanvasGraphics_setDash(dashArray, dashPhase) {\n var ctx = this.ctx;\n\n if (ctx.setLineDash !== undefined) {\n ctx.setLineDash(dashArray);\n ctx.lineDashOffset = dashPhase;\n }\n },\n setRenderingIntent: function setRenderingIntent(intent) {},\n setFlatness: function setFlatness(flatness) {},\n setGState: function CanvasGraphics_setGState(states) {\n for (var i = 0, ii = states.length; i < ii; i++) {\n var state = states[i];\n var key = state[0];\n var value = state[1];\n\n switch (key) {\n case \"LW\":\n this.setLineWidth(value);\n break;\n\n case \"LC\":\n this.setLineCap(value);\n break;\n\n case \"LJ\":\n this.setLineJoin(value);\n break;\n\n case \"ML\":\n this.setMiterLimit(value);\n break;\n\n case \"D\":\n this.setDash(value[0], value[1]);\n break;\n\n case \"RI\":\n this.setRenderingIntent(value);\n break;\n\n case \"FL\":\n this.setFlatness(value);\n break;\n\n case \"Font\":\n this.setFont(value[0], value[1]);\n break;\n\n case \"CA\":\n this.current.strokeAlpha = state[1];\n break;\n\n case \"ca\":\n this.current.fillAlpha = state[1];\n this.ctx.globalAlpha = state[1];\n break;\n\n case \"BM\":\n this.ctx.globalCompositeOperation = value;\n break;\n\n case \"SMask\":\n if (this.current.activeSMask) {\n if (this.stateStack.length > 0 && this.stateStack[this.stateStack.length - 1].activeSMask === this.current.activeSMask) {\n this.suspendSMaskGroup();\n } else {\n this.endSMaskGroup();\n }\n }\n\n this.current.activeSMask = value ? this.tempSMask : null;\n\n if (this.current.activeSMask) {\n this.beginSMaskGroup();\n }\n\n this.tempSMask = null;\n break;\n\n case \"TR\":\n this.current.transferMaps = value;\n }\n }\n },\n beginSMaskGroup: function CanvasGraphics_beginSMaskGroup() {\n var activeSMask = this.current.activeSMask;\n var drawnWidth = activeSMask.canvas.width;\n var drawnHeight = activeSMask.canvas.height;\n var cacheId = \"smaskGroupAt\" + this.groupLevel;\n var scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight, true);\n var currentCtx = this.ctx;\n var currentTransform = currentCtx.mozCurrentTransform;\n this.ctx.save();\n var groupCtx = scratchCanvas.context;\n groupCtx.scale(1 / activeSMask.scaleX, 1 / activeSMask.scaleY);\n groupCtx.translate(-activeSMask.offsetX, -activeSMask.offsetY);\n groupCtx.transform.apply(groupCtx, currentTransform);\n activeSMask.startTransformInverse = groupCtx.mozCurrentTransformInverse;\n copyCtxState(currentCtx, groupCtx);\n this.ctx = groupCtx;\n this.setGState([[\"BM\", \"source-over\"], [\"ca\", 1], [\"CA\", 1]]);\n this.groupStack.push(currentCtx);\n this.groupLevel++;\n },\n suspendSMaskGroup: function CanvasGraphics_endSMaskGroup() {\n var groupCtx = this.ctx;\n this.groupLevel--;\n this.ctx = this.groupStack.pop();\n composeSMask(this.ctx, this.current.activeSMask, groupCtx, this.webGLContext);\n this.ctx.restore();\n this.ctx.save();\n copyCtxState(groupCtx, this.ctx);\n this.current.resumeSMaskCtx = groupCtx;\n\n var deltaTransform = _util.Util.transform(this.current.activeSMask.startTransformInverse, groupCtx.mozCurrentTransform);\n\n this.ctx.transform.apply(this.ctx, deltaTransform);\n groupCtx.save();\n groupCtx.setTransform(1, 0, 0, 1, 0, 0);\n groupCtx.clearRect(0, 0, groupCtx.canvas.width, groupCtx.canvas.height);\n groupCtx.restore();\n },\n resumeSMaskGroup: function CanvasGraphics_resumeSMaskGroup() {\n var groupCtx = this.current.resumeSMaskCtx;\n var currentCtx = this.ctx;\n this.ctx = groupCtx;\n this.groupStack.push(currentCtx);\n this.groupLevel++;\n },\n endSMaskGroup: function CanvasGraphics_endSMaskGroup() {\n var groupCtx = this.ctx;\n this.groupLevel--;\n this.ctx = this.groupStack.pop();\n composeSMask(this.ctx, this.current.activeSMask, groupCtx, this.webGLContext);\n this.ctx.restore();\n copyCtxState(groupCtx, this.ctx);\n\n var deltaTransform = _util.Util.transform(this.current.activeSMask.startTransformInverse, groupCtx.mozCurrentTransform);\n\n this.ctx.transform.apply(this.ctx, deltaTransform);\n },\n save: function CanvasGraphics_save() {\n this.ctx.save();\n var old = this.current;\n this.stateStack.push(old);\n this.current = old.clone();\n this.current.resumeSMaskCtx = null;\n },\n restore: function CanvasGraphics_restore() {\n if (this.current.resumeSMaskCtx) {\n this.resumeSMaskGroup();\n }\n\n if (this.current.activeSMask !== null && (this.stateStack.length === 0 || this.stateStack[this.stateStack.length - 1].activeSMask !== this.current.activeSMask)) {\n this.endSMaskGroup();\n }\n\n if (this.stateStack.length !== 0) {\n this.current = this.stateStack.pop();\n this.ctx.restore();\n this.pendingClip = null;\n this._cachedGetSinglePixelWidth = null;\n } else {\n this.current.activeSMask = null;\n }\n },\n transform: function CanvasGraphics_transform(a, b, c, d, e, f) {\n this.ctx.transform(a, b, c, d, e, f);\n this._cachedGetSinglePixelWidth = null;\n },\n constructPath: function CanvasGraphics_constructPath(ops, args) {\n var ctx = this.ctx;\n var current = this.current;\n var x = current.x,\n y = current.y;\n\n for (var i = 0, j = 0, ii = ops.length; i < ii; i++) {\n switch (ops[i] | 0) {\n case _util.OPS.rectangle:\n x = args[j++];\n y = args[j++];\n var width = args[j++];\n var height = args[j++];\n var xw = x + width;\n var yh = y + height;\n ctx.moveTo(x, y);\n\n if (width === 0 || height === 0) {\n ctx.lineTo(xw, yh);\n } else {\n ctx.lineTo(xw, y);\n ctx.lineTo(xw, yh);\n ctx.lineTo(x, yh);\n }\n\n ctx.closePath();\n break;\n\n case _util.OPS.moveTo:\n x = args[j++];\n y = args[j++];\n ctx.moveTo(x, y);\n break;\n\n case _util.OPS.lineTo:\n x = args[j++];\n y = args[j++];\n ctx.lineTo(x, y);\n break;\n\n case _util.OPS.curveTo:\n x = args[j + 4];\n y = args[j + 5];\n ctx.bezierCurveTo(args[j], args[j + 1], args[j + 2], args[j + 3], x, y);\n j += 6;\n break;\n\n case _util.OPS.curveTo2:\n ctx.bezierCurveTo(x, y, args[j], args[j + 1], args[j + 2], args[j + 3]);\n x = args[j + 2];\n y = args[j + 3];\n j += 4;\n break;\n\n case _util.OPS.curveTo3:\n x = args[j + 2];\n y = args[j + 3];\n ctx.bezierCurveTo(args[j], args[j + 1], x, y, x, y);\n j += 4;\n break;\n\n case _util.OPS.closePath:\n ctx.closePath();\n break;\n }\n }\n\n current.setCurrentPoint(x, y);\n },\n closePath: function CanvasGraphics_closePath() {\n this.ctx.closePath();\n },\n stroke: function CanvasGraphics_stroke(consumePath) {\n consumePath = typeof consumePath !== \"undefined\" ? consumePath : true;\n var ctx = this.ctx;\n var strokeColor = this.current.strokeColor;\n ctx.globalAlpha = this.current.strokeAlpha;\n\n if (this.contentVisible) {\n if (typeof strokeColor === \"object\" && strokeColor !== null && strokeColor !== void 0 && strokeColor.getPattern) {\n ctx.save();\n var transform = ctx.mozCurrentTransform;\n\n var scale = _util.Util.singularValueDecompose2dScale(transform)[0];\n\n ctx.strokeStyle = strokeColor.getPattern(ctx, this);\n var lineWidth = this.getSinglePixelWidth();\n var scaledLineWidth = this.current.lineWidth * scale;\n\n if (lineWidth < 0 && -lineWidth >= scaledLineWidth) {\n ctx.resetTransform();\n ctx.lineWidth = Math.round(this._combinedScaleFactor);\n } else {\n ctx.lineWidth = Math.max(lineWidth, scaledLineWidth);\n }\n\n ctx.stroke();\n ctx.restore();\n } else {\n var _lineWidth = this.getSinglePixelWidth();\n\n if (_lineWidth < 0 && -_lineWidth >= this.current.lineWidth) {\n ctx.save();\n ctx.resetTransform();\n ctx.lineWidth = Math.round(this._combinedScaleFactor);\n ctx.stroke();\n ctx.restore();\n } else {\n ctx.lineWidth = Math.max(_lineWidth, this.current.lineWidth);\n ctx.stroke();\n }\n }\n }\n\n if (consumePath) {\n this.consumePath();\n }\n\n ctx.globalAlpha = this.current.fillAlpha;\n },\n closeStroke: function CanvasGraphics_closeStroke() {\n this.closePath();\n this.stroke();\n },\n fill: function CanvasGraphics_fill(consumePath) {\n consumePath = typeof consumePath !== \"undefined\" ? consumePath : true;\n var ctx = this.ctx;\n var fillColor = this.current.fillColor;\n var isPatternFill = this.current.patternFill;\n var needRestore = false;\n\n if (isPatternFill) {\n ctx.save();\n\n if (this.baseTransform) {\n ctx.setTransform.apply(ctx, this.baseTransform);\n }\n\n ctx.fillStyle = fillColor.getPattern(ctx, this);\n needRestore = true;\n }\n\n if (this.contentVisible) {\n if (this.pendingEOFill) {\n ctx.fill(\"evenodd\");\n this.pendingEOFill = false;\n } else {\n ctx.fill();\n }\n }\n\n if (needRestore) {\n ctx.restore();\n }\n\n if (consumePath) {\n this.consumePath();\n }\n },\n eoFill: function CanvasGraphics_eoFill() {\n this.pendingEOFill = true;\n this.fill();\n },\n fillStroke: function CanvasGraphics_fillStroke() {\n this.fill(false);\n this.stroke(false);\n this.consumePath();\n },\n eoFillStroke: function CanvasGraphics_eoFillStroke() {\n this.pendingEOFill = true;\n this.fillStroke();\n },\n closeFillStroke: function CanvasGraphics_closeFillStroke() {\n this.closePath();\n this.fillStroke();\n },\n closeEOFillStroke: function CanvasGraphics_closeEOFillStroke() {\n this.pendingEOFill = true;\n this.closePath();\n this.fillStroke();\n },\n endPath: function CanvasGraphics_endPath() {\n this.consumePath();\n },\n clip: function CanvasGraphics_clip() {\n this.pendingClip = NORMAL_CLIP;\n },\n eoClip: function CanvasGraphics_eoClip() {\n this.pendingClip = EO_CLIP;\n },\n beginText: function CanvasGraphics_beginText() {\n this.current.textMatrix = _util.IDENTITY_MATRIX;\n this.current.textMatrixScale = 1;\n this.current.x = this.current.lineX = 0;\n this.current.y = this.current.lineY = 0;\n },\n endText: function CanvasGraphics_endText() {\n var paths = this.pendingTextPaths;\n var ctx = this.ctx;\n\n if (paths === undefined) {\n ctx.beginPath();\n return;\n }\n\n ctx.save();\n ctx.beginPath();\n\n for (var i = 0; i < paths.length; i++) {\n var path = paths[i];\n ctx.setTransform.apply(ctx, path.transform);\n ctx.translate(path.x, path.y);\n path.addToPath(ctx, path.fontSize);\n }\n\n ctx.restore();\n ctx.clip();\n ctx.beginPath();\n delete this.pendingTextPaths;\n },\n setCharSpacing: function CanvasGraphics_setCharSpacing(spacing) {\n this.current.charSpacing = spacing;\n },\n setWordSpacing: function CanvasGraphics_setWordSpacing(spacing) {\n this.current.wordSpacing = spacing;\n },\n setHScale: function CanvasGraphics_setHScale(scale) {\n this.current.textHScale = scale / 100;\n },\n setLeading: function CanvasGraphics_setLeading(leading) {\n this.current.leading = -leading;\n },\n setFont: function CanvasGraphics_setFont(fontRefName, size) {\n var fontObj = this.commonObjs.get(fontRefName);\n var current = this.current;\n\n if (!fontObj) {\n throw new Error(\"Can't find font for \".concat(fontRefName));\n }\n\n current.fontMatrix = fontObj.fontMatrix || _util.FONT_IDENTITY_MATRIX;\n\n if (current.fontMatrix[0] === 0 || current.fontMatrix[3] === 0) {\n (0, _util.warn)(\"Invalid font matrix for font \" + fontRefName);\n }\n\n if (size < 0) {\n size = -size;\n current.fontDirection = -1;\n } else {\n current.fontDirection = 1;\n }\n\n this.current.font = fontObj;\n this.current.fontSize = size;\n\n if (fontObj.isType3Font) {\n return;\n }\n\n var name = fontObj.loadedName || \"sans-serif\";\n var bold = \"normal\";\n\n if (fontObj.black) {\n bold = \"900\";\n } else if (fontObj.bold) {\n bold = \"bold\";\n }\n\n var italic = fontObj.italic ? \"italic\" : \"normal\";\n var typeface = \"\\\"\".concat(name, \"\\\", \").concat(fontObj.fallbackName);\n var browserFontSize = size;\n\n if (size < MIN_FONT_SIZE) {\n browserFontSize = MIN_FONT_SIZE;\n } else if (size > MAX_FONT_SIZE) {\n browserFontSize = MAX_FONT_SIZE;\n }\n\n this.current.fontSizeScale = size / browserFontSize;\n this.ctx.font = \"\".concat(italic, \" \").concat(bold, \" \").concat(browserFontSize, \"px \").concat(typeface);\n },\n setTextRenderingMode: function CanvasGraphics_setTextRenderingMode(mode) {\n this.current.textRenderingMode = mode;\n },\n setTextRise: function CanvasGraphics_setTextRise(rise) {\n this.current.textRise = rise;\n },\n moveText: function CanvasGraphics_moveText(x, y) {\n this.current.x = this.current.lineX += x;\n this.current.y = this.current.lineY += y;\n },\n setLeadingMoveText: function CanvasGraphics_setLeadingMoveText(x, y) {\n this.setLeading(-y);\n this.moveText(x, y);\n },\n setTextMatrix: function CanvasGraphics_setTextMatrix(a, b, c, d, e, f) {\n this.current.textMatrix = [a, b, c, d, e, f];\n this.current.textMatrixScale = Math.sqrt(a * a + b * b);\n this.current.x = this.current.lineX = 0;\n this.current.y = this.current.lineY = 0;\n },\n nextLine: function CanvasGraphics_nextLine() {\n this.moveText(0, this.current.leading);\n },\n paintChar: function paintChar(character, x, y, patternTransform, resetLineWidthToOne) {\n var ctx = this.ctx;\n var current = this.current;\n var font = current.font;\n var textRenderingMode = current.textRenderingMode;\n var fontSize = current.fontSize / current.fontSizeScale;\n var fillStrokeMode = textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n var isAddToPathSet = !!(textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG);\n var patternFill = current.patternFill && !font.missingFile;\n var addToPath;\n\n if (font.disableFontFace || isAddToPathSet || patternFill) {\n addToPath = font.getPathGenerator(this.commonObjs, character);\n }\n\n if (font.disableFontFace || patternFill) {\n ctx.save();\n ctx.translate(x, y);\n ctx.beginPath();\n addToPath(ctx, fontSize);\n\n if (patternTransform) {\n ctx.setTransform.apply(ctx, patternTransform);\n }\n\n if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.fill();\n }\n\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n if (resetLineWidthToOne) {\n ctx.resetTransform();\n ctx.lineWidth = Math.round(this._combinedScaleFactor);\n }\n\n ctx.stroke();\n }\n\n ctx.restore();\n } else {\n if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.fillText(character, x, y);\n }\n\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n if (resetLineWidthToOne) {\n ctx.save();\n ctx.moveTo(x, y);\n ctx.resetTransform();\n ctx.lineWidth = Math.round(this._combinedScaleFactor);\n ctx.strokeText(character, 0, 0);\n ctx.restore();\n } else {\n ctx.strokeText(character, x, y);\n }\n }\n }\n\n if (isAddToPathSet) {\n var paths = this.pendingTextPaths || (this.pendingTextPaths = []);\n paths.push({\n transform: ctx.mozCurrentTransform,\n x: x,\n y: y,\n fontSize: fontSize,\n addToPath: addToPath\n });\n }\n },\n\n get isFontSubpixelAAEnabled() {\n var _this$cachedCanvases$ = this.cachedCanvases.getCanvas(\"isFontSubpixelAAEnabled\", 10, 10),\n ctx = _this$cachedCanvases$.context;\n\n ctx.scale(1.5, 1);\n ctx.fillText(\"I\", 0, 10);\n var data = ctx.getImageData(0, 0, 10, 10).data;\n var enabled = false;\n\n for (var i = 3; i < data.length; i += 4) {\n if (data[i] > 0 && data[i] < 255) {\n enabled = true;\n break;\n }\n }\n\n return (0, _util.shadow)(this, \"isFontSubpixelAAEnabled\", enabled);\n },\n\n showText: function CanvasGraphics_showText(glyphs) {\n var current = this.current;\n var font = current.font;\n\n if (font.isType3Font) {\n return this.showType3Text(glyphs);\n }\n\n var fontSize = current.fontSize;\n\n if (fontSize === 0) {\n return undefined;\n }\n\n var ctx = this.ctx;\n var fontSizeScale = current.fontSizeScale;\n var charSpacing = current.charSpacing;\n var wordSpacing = current.wordSpacing;\n var fontDirection = current.fontDirection;\n var textHScale = current.textHScale * fontDirection;\n var glyphsLength = glyphs.length;\n var vertical = font.vertical;\n var spacingDir = vertical ? 1 : -1;\n var defaultVMetrics = font.defaultVMetrics;\n var widthAdvanceScale = fontSize * current.fontMatrix[0];\n var simpleFillText = current.textRenderingMode === _util.TextRenderingMode.FILL && !font.disableFontFace && !current.patternFill;\n ctx.save();\n var patternTransform;\n\n if (current.patternFill) {\n ctx.save();\n var pattern = current.fillColor.getPattern(ctx, this);\n patternTransform = ctx.mozCurrentTransform;\n ctx.restore();\n ctx.fillStyle = pattern;\n }\n\n ctx.transform.apply(ctx, current.textMatrix);\n ctx.translate(current.x, current.y + current.textRise);\n\n if (fontDirection > 0) {\n ctx.scale(textHScale, -1);\n } else {\n ctx.scale(textHScale, 1);\n }\n\n var lineWidth = current.lineWidth;\n var resetLineWidthToOne = false;\n var scale = current.textMatrixScale;\n\n if (scale === 0 || lineWidth === 0) {\n var fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n this._cachedGetSinglePixelWidth = null;\n lineWidth = this.getSinglePixelWidth();\n resetLineWidthToOne = lineWidth < 0;\n }\n } else {\n lineWidth /= scale;\n }\n\n if (fontSizeScale !== 1.0) {\n ctx.scale(fontSizeScale, fontSizeScale);\n lineWidth /= fontSizeScale;\n }\n\n ctx.lineWidth = lineWidth;\n var x = 0,\n i;\n\n for (i = 0; i < glyphsLength; ++i) {\n var glyph = glyphs[i];\n\n if ((0, _util.isNum)(glyph)) {\n x += spacingDir * glyph * fontSize / 1000;\n continue;\n }\n\n var restoreNeeded = false;\n var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n var character = glyph.fontChar;\n var accent = glyph.accent;\n var scaledX = void 0,\n scaledY = void 0;\n var width = glyph.width;\n\n if (vertical) {\n var vmetric = glyph.vmetric || defaultVMetrics;\n var vx = -(glyph.vmetric ? vmetric[1] : width * 0.5) * widthAdvanceScale;\n var vy = vmetric[2] * widthAdvanceScale;\n width = vmetric ? -vmetric[0] : width;\n scaledX = vx / fontSizeScale;\n scaledY = (x + vy) / fontSizeScale;\n } else {\n scaledX = x / fontSizeScale;\n scaledY = 0;\n }\n\n if (font.remeasure && width > 0) {\n var measuredWidth = ctx.measureText(character).width * 1000 / fontSize * fontSizeScale;\n\n if (width < measuredWidth && this.isFontSubpixelAAEnabled) {\n var characterScaleX = width / measuredWidth;\n restoreNeeded = true;\n ctx.save();\n ctx.scale(characterScaleX, 1);\n scaledX /= characterScaleX;\n } else if (width !== measuredWidth) {\n scaledX += (width - measuredWidth) / 2000 * fontSize / fontSizeScale;\n }\n }\n\n if (this.contentVisible && (glyph.isInFont || font.missingFile)) {\n if (simpleFillText && !accent) {\n ctx.fillText(character, scaledX, scaledY);\n } else {\n this.paintChar(character, scaledX, scaledY, patternTransform, resetLineWidthToOne);\n\n if (accent) {\n var scaledAccentX = scaledX + fontSize * accent.offset.x / fontSizeScale;\n var scaledAccentY = scaledY - fontSize * accent.offset.y / fontSizeScale;\n this.paintChar(accent.fontChar, scaledAccentX, scaledAccentY, patternTransform, resetLineWidthToOne);\n }\n }\n }\n\n var charWidth = void 0;\n\n if (vertical) {\n charWidth = width * widthAdvanceScale - spacing * fontDirection;\n } else {\n charWidth = width * widthAdvanceScale + spacing * fontDirection;\n }\n\n x += charWidth;\n\n if (restoreNeeded) {\n ctx.restore();\n }\n }\n\n if (vertical) {\n current.y -= x;\n } else {\n current.x += x * textHScale;\n }\n\n ctx.restore();\n },\n showType3Text: function CanvasGraphics_showType3Text(glyphs) {\n var ctx = this.ctx;\n var current = this.current;\n var font = current.font;\n var fontSize = current.fontSize;\n var fontDirection = current.fontDirection;\n var spacingDir = font.vertical ? 1 : -1;\n var charSpacing = current.charSpacing;\n var wordSpacing = current.wordSpacing;\n var textHScale = current.textHScale * fontDirection;\n var fontMatrix = current.fontMatrix || _util.FONT_IDENTITY_MATRIX;\n var glyphsLength = glyphs.length;\n var isTextInvisible = current.textRenderingMode === _util.TextRenderingMode.INVISIBLE;\n var i, glyph, width, spacingLength;\n\n if (isTextInvisible || fontSize === 0) {\n return;\n }\n\n this._cachedGetSinglePixelWidth = null;\n ctx.save();\n ctx.transform.apply(ctx, current.textMatrix);\n ctx.translate(current.x, current.y);\n ctx.scale(textHScale, fontDirection);\n\n for (i = 0; i < glyphsLength; ++i) {\n glyph = glyphs[i];\n\n if ((0, _util.isNum)(glyph)) {\n spacingLength = spacingDir * glyph * fontSize / 1000;\n this.ctx.translate(spacingLength, 0);\n current.x += spacingLength * textHScale;\n continue;\n }\n\n var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n var operatorList = font.charProcOperatorList[glyph.operatorListId];\n\n if (!operatorList) {\n (0, _util.warn)(\"Type3 character \\\"\".concat(glyph.operatorListId, \"\\\" is not available.\"));\n continue;\n }\n\n if (this.contentVisible) {\n this.processingType3 = glyph;\n this.save();\n ctx.scale(fontSize, fontSize);\n ctx.transform.apply(ctx, fontMatrix);\n this.executeOperatorList(operatorList);\n this.restore();\n }\n\n var transformed = _util.Util.applyTransform([glyph.width, 0], fontMatrix);\n\n width = transformed[0] * fontSize + spacing;\n ctx.translate(width, 0);\n current.x += width * textHScale;\n }\n\n ctx.restore();\n this.processingType3 = null;\n },\n setCharWidth: function CanvasGraphics_setCharWidth(xWidth, yWidth) {},\n setCharWidthAndBounds: function CanvasGraphics_setCharWidthAndBounds(xWidth, yWidth, llx, lly, urx, ury) {\n this.ctx.rect(llx, lly, urx - llx, ury - lly);\n this.clip();\n this.endPath();\n },\n getColorN_Pattern: function CanvasGraphics_getColorN_Pattern(IR) {\n var _this28 = 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, _this28.commonObjs, _this28.objs, _this28.canvasFactory, _this28.webGLContext);\n }\n };\n pattern = new _pattern_helper.TilingPattern(IR, color, this.ctx, canvasGraphicsFactory, baseTransform);\n } else {\n pattern = (0, _pattern_helper.getShadingPatternFromIR)(IR);\n }\n\n return pattern;\n },\n setStrokeColorN: function CanvasGraphics_setStrokeColorN() {\n this.current.strokeColor = this.getColorN_Pattern(arguments);\n },\n setFillColorN: function CanvasGraphics_setFillColorN() {\n this.current.fillColor = this.getColorN_Pattern(arguments);\n this.current.patternFill = true;\n },\n setStrokeRGBColor: function CanvasGraphics_setStrokeRGBColor(r, g, b) {\n var color = _util.Util.makeHexColor(r, g, b);\n\n this.ctx.strokeStyle = color;\n this.current.strokeColor = color;\n },\n setFillRGBColor: function CanvasGraphics_setFillRGBColor(r, g, b) {\n var color = _util.Util.makeHexColor(r, g, b);\n\n this.ctx.fillStyle = color;\n this.current.fillColor = color;\n this.current.patternFill = false;\n },\n shadingFill: function CanvasGraphics_shadingFill(patternIR) {\n if (!this.contentVisible) {\n return;\n }\n\n var ctx = this.ctx;\n this.save();\n var pattern = (0, _pattern_helper.getShadingPatternFromIR)(patternIR);\n ctx.fillStyle = pattern.getPattern(ctx, this, true);\n var inv = ctx.mozCurrentTransformInverse;\n\n if (inv) {\n var canvas = ctx.canvas;\n var width = canvas.width;\n var height = canvas.height;\n\n var bl = _util.Util.applyTransform([0, 0], inv);\n\n var br = _util.Util.applyTransform([0, height], inv);\n\n var ul = _util.Util.applyTransform([width, 0], inv);\n\n var ur = _util.Util.applyTransform([width, height], inv);\n\n var x0 = Math.min(bl[0], br[0], ul[0], ur[0]);\n var y0 = Math.min(bl[1], br[1], ul[1], ur[1]);\n var x1 = Math.max(bl[0], br[0], ul[0], ur[0]);\n var y1 = Math.max(bl[1], br[1], ul[1], ur[1]);\n this.ctx.fillRect(x0, y0, x1 - x0, y1 - y0);\n } else {\n this.ctx.fillRect(-1e10, -1e10, 2e10, 2e10);\n }\n\n this.restore();\n },\n beginInlineImage: function CanvasGraphics_beginInlineImage() {\n (0, _util.unreachable)(\"Should not call beginInlineImage\");\n },\n beginImageData: function CanvasGraphics_beginImageData() {\n (0, _util.unreachable)(\"Should not call beginImageData\");\n },\n paintFormXObjectBegin: function CanvasGraphics_paintFormXObjectBegin(matrix, bbox) {\n if (!this.contentVisible) {\n return;\n }\n\n this.save();\n this.baseTransformStack.push(this.baseTransform);\n\n if (Array.isArray(matrix) && matrix.length === 6) {\n this.transform.apply(this, matrix);\n }\n\n this.baseTransform = this.ctx.mozCurrentTransform;\n\n if (bbox) {\n var width = bbox[2] - bbox[0];\n var height = bbox[3] - bbox[1];\n this.ctx.rect(bbox[0], bbox[1], width, height);\n this.clip();\n this.endPath();\n }\n },\n paintFormXObjectEnd: function CanvasGraphics_paintFormXObjectEnd() {\n if (!this.contentVisible) {\n return;\n }\n\n this.restore();\n this.baseTransform = this.baseTransformStack.pop();\n },\n beginGroup: function CanvasGraphics_beginGroup(group) {\n if (!this.contentVisible) {\n return;\n }\n\n this.save();\n var currentCtx = this.ctx;\n\n if (!group.isolated) {\n (0, _util.info)(\"TODO: Support non-isolated groups.\");\n }\n\n if (group.knockout) {\n (0, _util.warn)(\"Knockout groups not supported.\");\n }\n\n var currentTransform = currentCtx.mozCurrentTransform;\n\n if (group.matrix) {\n currentCtx.transform.apply(currentCtx, group.matrix);\n }\n\n if (!group.bbox) {\n throw new Error(\"Bounding box is required.\");\n }\n\n var bounds = _util.Util.getAxialAlignedBoundingBox(group.bbox, currentCtx.mozCurrentTransform);\n\n var canvasBounds = [0, 0, currentCtx.canvas.width, currentCtx.canvas.height];\n bounds = _util.Util.intersect(bounds, canvasBounds) || [0, 0, 0, 0];\n var offsetX = Math.floor(bounds[0]);\n var offsetY = Math.floor(bounds[1]);\n var drawnWidth = Math.max(Math.ceil(bounds[2]) - offsetX, 1);\n var drawnHeight = Math.max(Math.ceil(bounds[3]) - offsetY, 1);\n var scaleX = 1,\n scaleY = 1;\n\n if (drawnWidth > MAX_GROUP_SIZE) {\n scaleX = drawnWidth / MAX_GROUP_SIZE;\n drawnWidth = MAX_GROUP_SIZE;\n }\n\n if (drawnHeight > MAX_GROUP_SIZE) {\n scaleY = drawnHeight / MAX_GROUP_SIZE;\n drawnHeight = MAX_GROUP_SIZE;\n }\n\n var cacheId = \"groupAt\" + this.groupLevel;\n\n if (group.smask) {\n cacheId += \"_smask_\" + this.smaskCounter++ % 2;\n }\n\n var scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight, true);\n var groupCtx = scratchCanvas.context;\n groupCtx.scale(1 / scaleX, 1 / scaleY);\n groupCtx.translate(-offsetX, -offsetY);\n groupCtx.transform.apply(groupCtx, currentTransform);\n\n if (group.smask) {\n this.smaskStack.push({\n canvas: scratchCanvas.canvas,\n context: groupCtx,\n offsetX: offsetX,\n offsetY: offsetY,\n scaleX: scaleX,\n scaleY: scaleY,\n subtype: group.smask.subtype,\n backdrop: group.smask.backdrop,\n transferMap: group.smask.transferMap || null,\n startTransformInverse: null\n });\n } else {\n currentCtx.setTransform(1, 0, 0, 1, 0, 0);\n currentCtx.translate(offsetX, offsetY);\n currentCtx.scale(scaleX, scaleY);\n }\n\n copyCtxState(currentCtx, groupCtx);\n this.ctx = groupCtx;\n this.setGState([[\"BM\", \"source-over\"], [\"ca\", 1], [\"CA\", 1]]);\n this.groupStack.push(currentCtx);\n this.groupLevel++;\n this.current.activeSMask = null;\n },\n endGroup: function CanvasGraphics_endGroup(group) {\n if (!this.contentVisible) {\n return;\n }\n\n this.groupLevel--;\n var groupCtx = this.ctx;\n this.ctx = this.groupStack.pop();\n\n if (this.ctx.imageSmoothingEnabled !== undefined) {\n this.ctx.imageSmoothingEnabled = false;\n } else {\n this.ctx.mozImageSmoothingEnabled = false;\n }\n\n if (group.smask) {\n this.tempSMask = this.smaskStack.pop();\n } else {\n this.ctx.drawImage(groupCtx.canvas, 0, 0);\n }\n\n this.restore();\n },\n beginAnnotations: function CanvasGraphics_beginAnnotations() {\n this.save();\n\n if (this.baseTransform) {\n this.ctx.setTransform.apply(this.ctx, this.baseTransform);\n }\n },\n endAnnotations: function CanvasGraphics_endAnnotations() {\n this.restore();\n },\n beginAnnotation: function CanvasGraphics_beginAnnotation(rect, transform, matrix) {\n this.save();\n resetCtxToDefault(this.ctx);\n this.current = new CanvasExtraState();\n\n if (Array.isArray(rect) && rect.length === 4) {\n var width = rect[2] - rect[0];\n var height = rect[3] - rect[1];\n this.ctx.rect(rect[0], rect[1], width, height);\n this.clip();\n this.endPath();\n }\n\n this.transform.apply(this, transform);\n this.transform.apply(this, matrix);\n },\n endAnnotation: function CanvasGraphics_endAnnotation() {\n this.restore();\n },\n paintImageMaskXObject: function CanvasGraphics_paintImageMaskXObject(img) {\n if (!this.contentVisible) {\n return;\n }\n\n var ctx = this.ctx;\n var width = img.width,\n height = img.height;\n var fillColor = this.current.fillColor;\n var isPatternFill = this.current.patternFill;\n var glyph = this.processingType3;\n\n if (COMPILE_TYPE3_GLYPHS && glyph && glyph.compiled === undefined) {\n if (width <= MAX_SIZE_TO_COMPILE && height <= MAX_SIZE_TO_COMPILE) {\n glyph.compiled = compileType3Glyph({\n data: img.data,\n width: width,\n height: height\n });\n } else {\n glyph.compiled = null;\n }\n }\n\n if (glyph !== null && glyph !== void 0 && glyph.compiled) {\n glyph.compiled(ctx);\n return;\n }\n\n var maskCanvas = this.cachedCanvases.getCanvas(\"maskCanvas\", width, height);\n var maskCtx = maskCanvas.context;\n maskCtx.save();\n putBinaryImageMask(maskCtx, img);\n maskCtx.globalCompositeOperation = \"source-in\";\n maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this) : fillColor;\n maskCtx.fillRect(0, 0, width, height);\n maskCtx.restore();\n this.paintInlineImageXObject(maskCanvas.canvas);\n },\n paintImageMaskXObjectRepeat: function paintImageMaskXObjectRepeat(imgData, scaleX) {\n var skewX = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n var skewY = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n var scaleY = arguments.length > 4 ? arguments[4] : undefined;\n var positions = arguments.length > 5 ? arguments[5] : undefined;\n\n if (!this.contentVisible) {\n return;\n }\n\n var width = imgData.width;\n var height = imgData.height;\n var fillColor = this.current.fillColor;\n var isPatternFill = this.current.patternFill;\n var maskCanvas = this.cachedCanvases.getCanvas(\"maskCanvas\", width, height);\n var maskCtx = maskCanvas.context;\n maskCtx.save();\n putBinaryImageMask(maskCtx, imgData);\n maskCtx.globalCompositeOperation = \"source-in\";\n maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this) : fillColor;\n maskCtx.fillRect(0, 0, width, height);\n maskCtx.restore();\n var ctx = this.ctx;\n\n for (var i = 0, ii = positions.length; i < ii; i += 2) {\n ctx.save();\n ctx.transform(scaleX, skewX, skewY, scaleY, positions[i], positions[i + 1]);\n ctx.scale(1, -1);\n ctx.drawImage(maskCanvas.canvas, 0, 0, width, height, 0, -1, 1, 1);\n ctx.restore();\n }\n },\n paintImageMaskXObjectGroup: function CanvasGraphics_paintImageMaskXObjectGroup(images) {\n if (!this.contentVisible) {\n return;\n }\n\n var ctx = this.ctx;\n var fillColor = this.current.fillColor;\n var isPatternFill = this.current.patternFill;\n\n for (var i = 0, ii = images.length; i < ii; i++) {\n var image = images[i];\n var width = image.width,\n height = image.height;\n var maskCanvas = this.cachedCanvases.getCanvas(\"maskCanvas\", width, height);\n var maskCtx = maskCanvas.context;\n maskCtx.save();\n putBinaryImageMask(maskCtx, image);\n maskCtx.globalCompositeOperation = \"source-in\";\n maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this) : fillColor;\n maskCtx.fillRect(0, 0, width, height);\n maskCtx.restore();\n ctx.save();\n ctx.transform.apply(ctx, image.transform);\n ctx.scale(1, -1);\n ctx.drawImage(maskCanvas.canvas, 0, 0, width, height, 0, -1, 1, 1);\n ctx.restore();\n }\n },\n paintImageXObject: function CanvasGraphics_paintImageXObject(objId) {\n if (!this.contentVisible) {\n return;\n }\n\n var imgData = objId.startsWith(\"g_\") ? this.commonObjs.get(objId) : this.objs.get(objId);\n\n if (!imgData) {\n (0, _util.warn)(\"Dependent image isn't ready yet\");\n return;\n }\n\n this.paintInlineImageXObject(imgData);\n },\n paintImageXObjectRepeat: function CanvasGraphics_paintImageXObjectRepeat(objId, scaleX, scaleY, positions) {\n if (!this.contentVisible) {\n return;\n }\n\n var imgData = objId.startsWith(\"g_\") ? this.commonObjs.get(objId) : this.objs.get(objId);\n\n if (!imgData) {\n (0, _util.warn)(\"Dependent image isn't ready yet\");\n return;\n }\n\n var width = imgData.width;\n var height = imgData.height;\n var map = [];\n\n for (var i = 0, ii = positions.length; i < ii; i += 2) {\n map.push({\n transform: [scaleX, 0, 0, scaleY, positions[i], positions[i + 1]],\n x: 0,\n y: 0,\n w: width,\n h: height\n });\n }\n\n this.paintInlineImageXObjectGroup(imgData, map);\n },\n paintInlineImageXObject: function CanvasGraphics_paintInlineImageXObject(imgData) {\n if (!this.contentVisible) {\n return;\n }\n\n var width = imgData.width;\n var height = imgData.height;\n var ctx = this.ctx;\n this.save();\n ctx.scale(1 / width, -1 / height);\n var currentTransform = ctx.mozCurrentTransformInverse;\n var a = currentTransform[0],\n b = currentTransform[1];\n var widthScale = Math.max(Math.sqrt(a * a + b * b), 1);\n var c = currentTransform[2],\n d = currentTransform[3];\n var heightScale = Math.max(Math.sqrt(c * c + d * d), 1);\n var imgToPaint, tmpCanvas, tmpCtx;\n\n if (typeof HTMLElement === \"function\" && imgData instanceof HTMLElement || !imgData.data) {\n imgToPaint = imgData;\n } else {\n tmpCanvas = this.cachedCanvases.getCanvas(\"inlineImage\", width, height);\n tmpCtx = tmpCanvas.context;\n putBinaryImageData(tmpCtx, imgData, this.current.transferMaps);\n imgToPaint = tmpCanvas.canvas;\n }\n\n var paintWidth = width,\n paintHeight = height;\n var tmpCanvasId = \"prescale1\";\n\n while (widthScale > 2 && paintWidth > 1 || heightScale > 2 && paintHeight > 1) {\n var newWidth = paintWidth,\n newHeight = paintHeight;\n\n if (widthScale > 2 && paintWidth > 1) {\n newWidth = Math.ceil(paintWidth / 2);\n widthScale /= paintWidth / newWidth;\n }\n\n if (heightScale > 2 && paintHeight > 1) {\n newHeight = Math.ceil(paintHeight / 2);\n heightScale /= paintHeight / newHeight;\n }\n\n tmpCanvas = this.cachedCanvases.getCanvas(tmpCanvasId, newWidth, newHeight);\n tmpCtx = tmpCanvas.context;\n tmpCtx.clearRect(0, 0, newWidth, newHeight);\n tmpCtx.drawImage(imgToPaint, 0, 0, paintWidth, paintHeight, 0, 0, newWidth, newHeight);\n imgToPaint = tmpCanvas.canvas;\n paintWidth = newWidth;\n paintHeight = newHeight;\n tmpCanvasId = tmpCanvasId === \"prescale1\" ? \"prescale2\" : \"prescale1\";\n }\n\n ctx.drawImage(imgToPaint, 0, 0, paintWidth, paintHeight, 0, -height, width, height);\n\n if (this.imageLayer) {\n var position = this.getCanvasPosition(0, -height);\n this.imageLayer.appendImage({\n imgData: imgData,\n left: position[0],\n top: position[1],\n width: width / currentTransform[0],\n height: height / currentTransform[3]\n });\n }\n\n this.restore();\n },\n paintInlineImageXObjectGroup: function CanvasGraphics_paintInlineImageXObjectGroup(imgData, map) {\n if (!this.contentVisible) {\n return;\n }\n\n var ctx = this.ctx;\n var w = imgData.width;\n var h = imgData.height;\n var tmpCanvas = this.cachedCanvases.getCanvas(\"inlineImage\", w, h);\n var tmpCtx = tmpCanvas.context;\n putBinaryImageData(tmpCtx, imgData, this.current.transferMaps);\n\n for (var i = 0, ii = map.length; i < ii; i++) {\n var entry = map[i];\n ctx.save();\n ctx.transform.apply(ctx, entry.transform);\n ctx.scale(1, -1);\n ctx.drawImage(tmpCanvas.canvas, entry.x, entry.y, entry.w, entry.h, 0, -1, 1, 1);\n\n if (this.imageLayer) {\n var position = this.getCanvasPosition(entry.x, entry.y);\n this.imageLayer.appendImage({\n imgData: imgData,\n left: position[0],\n top: position[1],\n width: w,\n height: h\n });\n }\n\n ctx.restore();\n }\n },\n paintSolidColorImageMask: function CanvasGraphics_paintSolidColorImageMask() {\n if (!this.contentVisible) {\n return;\n }\n\n this.ctx.fillRect(0, 0, 1, 1);\n },\n markPoint: function CanvasGraphics_markPoint(tag) {},\n markPointProps: function CanvasGraphics_markPointProps(tag, properties) {},\n beginMarkedContent: function CanvasGraphics_beginMarkedContent(tag) {\n this.markedContentStack.push({\n visible: true\n });\n },\n beginMarkedContentProps: function CanvasGraphics_beginMarkedContentProps(tag, properties) {\n if (tag === \"OC\") {\n this.markedContentStack.push({\n visible: this.optionalContentConfig.isVisible(properties)\n });\n } else {\n this.markedContentStack.push({\n visible: true\n });\n }\n\n this.contentVisible = this.isContentVisible();\n },\n endMarkedContent: function CanvasGraphics_endMarkedContent() {\n this.markedContentStack.pop();\n this.contentVisible = this.isContentVisible();\n },\n beginCompat: function CanvasGraphics_beginCompat() {},\n endCompat: function CanvasGraphics_endCompat() {},\n consumePath: function CanvasGraphics_consumePath() {\n var ctx = this.ctx;\n\n if (this.pendingClip) {\n if (this.pendingClip === EO_CLIP) {\n ctx.clip(\"evenodd\");\n } else {\n ctx.clip();\n }\n\n this.pendingClip = null;\n }\n\n ctx.beginPath();\n },\n getSinglePixelWidth: function getSinglePixelWidth() {\n if (this._cachedGetSinglePixelWidth === null) {\n var m = this.ctx.mozCurrentTransform;\n var absDet = Math.abs(m[0] * m[3] - m[2] * m[1]);\n var sqNorm1 = Math.pow(m[0], 2) + Math.pow(m[2], 2);\n var sqNorm2 = Math.pow(m[1], 2) + Math.pow(m[3], 2);\n var pixelHeight = Math.sqrt(Math.max(sqNorm1, sqNorm2)) / absDet;\n\n if (sqNorm1 !== sqNorm2 && this._combinedScaleFactor * pixelHeight > 1) {\n this._cachedGetSinglePixelWidth = -(this._combinedScaleFactor * pixelHeight);\n } else if (absDet > Number.EPSILON) {\n this._cachedGetSinglePixelWidth = pixelHeight * 1.0000001;\n } else {\n this._cachedGetSinglePixelWidth = 1;\n }\n }\n\n return this._cachedGetSinglePixelWidth;\n },\n getCanvasPosition: function CanvasGraphics_getCanvasPosition(x, y) {\n var transform = this.ctx.mozCurrentTransform;\n return [transform[0] * x + transform[2] * y + transform[4], transform[1] * x + transform[3] * y + transform[5]];\n },\n isContentVisible: function CanvasGraphics_isContentVisible() {\n for (var i = this.markedContentStack.length - 1; i >= 0; i--) {\n if (!this.markedContentStack[i].visible) {\n return false;\n }\n }\n\n return true;\n }\n };\n\n for (var op in _util.OPS) {\n CanvasGraphics.prototype[_util.OPS[op]] = CanvasGraphics.prototype[op];\n }\n\n return CanvasGraphics;\n }();\n\n exports.CanvasGraphics = CanvasGraphics;\n /***/\n },\n /* 11 */\n\n /***/\n function (__unused_webpack_module, exports, __w_pdfjs_require__) {\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.getShadingPatternFromIR = getShadingPatternFromIR;\n exports.TilingPattern = void 0;\n\n var _util = __w_pdfjs_require__(2);\n\n var ShadingIRs = {};\n\n function 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\n ShadingIRs.RadialAxial = {\n fromIR: function RadialAxial_fromIR(raw) {\n var type = raw[1];\n var bbox = raw[2];\n var colorStops = raw[3];\n var p0 = raw[4];\n var p1 = raw[5];\n var r0 = raw[6];\n var r1 = raw[7];\n return {\n getPattern: function RadialAxial_getPattern(ctx) {\n applyBoundingBox(ctx, bbox);\n var grad;\n\n if (type === \"axial\") {\n grad = ctx.createLinearGradient(p0[0], p0[1], p1[0], p1[1]);\n } else if (type === \"radial\") {\n grad = ctx.createRadialGradient(p0[0], p0[1], r0, p1[0], p1[1], r1);\n }\n\n for (var i = 0, ii = colorStops.length; i < ii; ++i) {\n var c = colorStops[i];\n grad.addColorStop(c[0], c[1]);\n }\n\n return grad;\n }\n };\n }\n };\n\n var 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 _k4 = void 0;\n\n if (y < y1) {\n _k4 = 0;\n } else if (y1 === y2) {\n _k4 = 1;\n } else {\n _k4 = (y1 - y) / (y1 - y2);\n }\n\n xa = x1 - (x1 - x2) * _k4;\n car = c1r - (c1r - c2r) * _k4;\n cag = c1g - (c1g - c2g) * _k4;\n cab = c1b - (c1b - c2b) * _k4;\n } else {\n var _k5 = void 0;\n\n if (y > y3) {\n _k5 = 1;\n } else if (y2 === y3) {\n _k5 = 0;\n } else {\n _k5 = (y2 - y) / (y2 - y3);\n }\n\n xa = x2 - (x2 - x3) * _k5;\n car = c2r - (c2r - c3r) * _k5;\n cag = c2g - (c2g - c3g) * _k5;\n cab = c2b - (c2b - c3b) * _k5;\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\n ShadingIRs.Mesh = {\n fromIR: function Mesh_fromIR(raw) {\n var coords = raw[2];\n var colors = raw[3];\n var figures = raw[4];\n var bounds = raw[5];\n var matrix = raw[6];\n var bbox = raw[7];\n var background = raw[8];\n return {\n getPattern: function Mesh_getPattern(ctx, owner, shadingFill) {\n applyBoundingBox(ctx, bbox);\n var scale;\n\n if (shadingFill) {\n scale = _util.Util.singularValueDecompose2dScale(ctx.mozCurrentTransform);\n } else {\n scale = _util.Util.singularValueDecompose2dScale(owner.baseTransform);\n\n if (matrix) {\n var matrixScale = _util.Util.singularValueDecompose2dScale(matrix);\n\n scale = [scale[0] * matrixScale[0], scale[1] * matrixScale[1]];\n }\n }\n\n var temporaryPatternCanvas = createMeshCanvas(bounds, scale, coords, colors, figures, shadingFill ? null : background, owner.cachedCanvases, owner.webGLContext);\n\n if (!shadingFill) {\n ctx.setTransform.apply(ctx, owner.baseTransform);\n\n if (matrix) {\n ctx.transform.apply(ctx, matrix);\n }\n }\n\n ctx.translate(temporaryPatternCanvas.offsetX, temporaryPatternCanvas.offsetY);\n ctx.scale(temporaryPatternCanvas.scaleX, temporaryPatternCanvas.scaleY);\n return ctx.createPattern(temporaryPatternCanvas.canvas, \"no-repeat\");\n }\n };\n }\n };\n ShadingIRs.Dummy = {\n fromIR: function Dummy_fromIR() {\n return {\n getPattern: function Dummy_fromIR_getPattern() {\n return \"hotpink\";\n }\n };\n }\n };\n\n function 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\n var TilingPattern = function TilingPatternClosure() {\n var PaintType = {\n COLORED: 1,\n UNCOLORED: 2\n };\n var MAX_PATTERN_SIZE = 3000;\n\n function TilingPattern(IR, color, ctx, canvasGraphicsFactory, baseTransform) {\n this.operatorList = IR[2];\n this.matrix = IR[3] || [1, 0, 0, 1, 0, 0];\n this.bbox = IR[4];\n this.xstep = IR[5];\n this.ystep = IR[6];\n this.paintType = IR[7];\n this.tilingType = IR[8];\n this.color = color;\n this.canvasGraphicsFactory = canvasGraphicsFactory;\n this.baseTransform = baseTransform;\n this.ctx = ctx;\n }\n\n TilingPattern.prototype = {\n createPatternCanvas: function TilinPattern_createPatternCanvas(owner) {\n var operatorList = this.operatorList;\n var bbox = this.bbox;\n var xstep = this.xstep;\n var ystep = this.ystep;\n var paintType = this.paintType;\n var tilingType = this.tilingType;\n var color = this.color;\n var canvasGraphicsFactory = this.canvasGraphicsFactory;\n (0, _util.info)(\"TilingType: \" + tilingType);\n var x0 = bbox[0],\n y0 = bbox[1],\n x1 = bbox[2],\n y1 = bbox[3];\n\n var matrixScale = _util.Util.singularValueDecompose2dScale(this.matrix);\n\n var curMatrixScale = _util.Util.singularValueDecompose2dScale(this.baseTransform);\n\n var combinedScale = [matrixScale[0] * curMatrixScale[0], matrixScale[1] * curMatrixScale[1]];\n var dimx = this.getSizeAndScale(xstep, this.ctx.canvas.width, combinedScale[0]);\n var dimy = this.getSizeAndScale(ystep, this.ctx.canvas.height, combinedScale[1]);\n var tmpCanvas = owner.cachedCanvases.getCanvas(\"pattern\", dimx.size, dimy.size, true);\n var tmpCtx = tmpCanvas.context;\n var graphics = canvasGraphicsFactory.createCanvasGraphics(tmpCtx);\n graphics.groupLevel = owner.groupLevel;\n this.setFillAndStrokeStyleToContext(graphics, paintType, color);\n graphics.transform(dimx.scale, 0, 0, dimy.scale, 0, 0);\n graphics.transform(1, 0, 0, 1, -x0, -y0);\n this.clipBbox(graphics, bbox, x0, y0, x1, y1);\n graphics.executeOperatorList(operatorList);\n this.ctx.transform(1, 0, 0, 1, x0, y0);\n this.ctx.scale(1 / dimx.scale, 1 / dimy.scale);\n return tmpCanvas.canvas;\n },\n getSizeAndScale: function TilingPattern_getSizeAndScale(step, realOutputSize, scale) {\n step = Math.abs(step);\n var maxSize = Math.max(MAX_PATTERN_SIZE, realOutputSize);\n var size = Math.ceil(step * scale);\n\n if (size >= maxSize) {\n size = maxSize;\n } else {\n scale = size / step;\n }\n\n return {\n scale: scale,\n size: size\n };\n },\n clipBbox: function clipBbox(graphics, bbox, x0, y0, x1, y1) {\n if (Array.isArray(bbox) && bbox.length === 4) {\n var bboxWidth = x1 - x0;\n var bboxHeight = y1 - y0;\n graphics.ctx.rect(x0, y0, bboxWidth, bboxHeight);\n graphics.clip();\n graphics.endPath();\n }\n },\n setFillAndStrokeStyleToContext: function setFillAndStrokeStyleToContext(graphics, paintType, color) {\n var context = graphics.ctx,\n current = graphics.current;\n\n switch (paintType) {\n case PaintType.COLORED:\n var ctx = this.ctx;\n context.fillStyle = ctx.fillStyle;\n context.strokeStyle = ctx.strokeStyle;\n current.fillColor = ctx.fillStyle;\n current.strokeColor = ctx.strokeStyle;\n break;\n\n case PaintType.UNCOLORED:\n var cssColor = _util.Util.makeHexColor(color[0], color[1], color[2]);\n\n context.fillStyle = cssColor;\n context.strokeStyle = cssColor;\n current.fillColor = cssColor;\n current.strokeColor = cssColor;\n break;\n\n default:\n throw new _util.FormatError(\"Unsupported paint type: \".concat(paintType));\n }\n },\n getPattern: function TilingPattern_getPattern(ctx, owner) {\n ctx = this.ctx;\n ctx.setTransform.apply(ctx, this.baseTransform);\n ctx.transform.apply(ctx, this.matrix);\n var temporaryPatternCanvas = this.createPatternCanvas(owner);\n return ctx.createPattern(temporaryPatternCanvas, \"repeat\");\n }\n };\n return TilingPattern;\n }();\n\n exports.TilingPattern = TilingPattern;\n /***/\n },\n /* 12 */\n\n /***/\n function (__unused_webpack_module, exports) {\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.GlobalWorkerOptions = void 0;\n var GlobalWorkerOptions = Object.create(null);\n exports.GlobalWorkerOptions = GlobalWorkerOptions;\n GlobalWorkerOptions.workerPort = GlobalWorkerOptions.workerPort === undefined ? null : GlobalWorkerOptions.workerPort;\n GlobalWorkerOptions.workerSrc = GlobalWorkerOptions.workerSrc === undefined ? \"\" : GlobalWorkerOptions.workerSrc;\n /***/\n },\n /* 13 */\n\n /***/\n function (__unused_webpack_module, exports, __w_pdfjs_require__) {\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.MessageHandler = void 0;\n\n var _util = __w_pdfjs_require__(2);\n\n var CallbackKind = {\n UNKNOWN: 0,\n DATA: 1,\n ERROR: 2\n };\n var 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\n function 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\n var MessageHandler = /*#__PURE__*/function () {\n function MessageHandler(sourceName, targetName, comObj) {\n var _this29 = 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 !== _this29.sourceName) {\n return;\n }\n\n if (data.stream) {\n _this29._processStreamMessage(data);\n\n return;\n }\n\n if (data.callback) {\n var callbackId = data.callbackId;\n var capability = _this29.callbackCapabilities[callbackId];\n\n if (!capability) {\n throw new Error(\"Cannot resolve callback \".concat(callbackId));\n }\n\n delete _this29.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 = _this29.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 = _this29.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 _this29._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 _this30 = 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 _this30.streamControllers[streamId] = {\n controller: controller,\n startCall: startCapability,\n pullCall: null,\n cancelCall: null,\n isClosed: false\n };\n\n _this30._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 _this30.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 _this30.streamControllers[streamId].cancelCall = cancelCapability;\n _this30.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__*/_regeneratorRuntime.mark(function _callee6(streamId) {\n return _regeneratorRuntime.wrap(function _callee6$(_context6) {\n while (1) {\n switch (_context6.prev = _context6.next) {\n case 0:\n _context6.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 _context6.stop();\n }\n }\n }, _callee6, this);\n }));\n\n function _deleteStreamController(_x4) {\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\n exports.MessageHandler = MessageHandler;\n /***/\n },\n /* 14 */\n\n /***/\n function (__unused_webpack_module, exports, __w_pdfjs_require__) {\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.Metadata = void 0;\n\n var _util = __w_pdfjs_require__(2);\n\n var _xml_parser = __w_pdfjs_require__(15);\n\n var Metadata = /*#__PURE__*/function () {\n function Metadata(data) {\n _classCallCheck(this, Metadata);\n\n (0, _util.assert)(typeof data === \"string\", \"Metadata: input is not a string\");\n data = this._repair(data);\n var parser = new _xml_parser.SimpleXMLParser({\n lowerCaseName: true\n });\n var xmlDocument = parser.parseFromString(data);\n this._metadataMap = new Map();\n\n if (xmlDocument) {\n this._parse(xmlDocument);\n }\n\n this._data = data;\n }\n\n _createClass(Metadata, [{\n key: \"_repair\",\n value: function _repair(data) {\n return data.replace(/^[^<]+/, \"\").replace(/>\\\\376\\\\377([^<]+)/g, function (all, codes) {\n var bytes = codes.replace(/\\\\([0-3])([0-7])([0-7])/g, function (code, d1, d2, d3) {\n return String.fromCharCode(d1 * 64 + d2 * 8 + d3 * 1);\n }).replace(/&(amp|apos|gt|lt|quot);/g, function (str, name) {\n switch (name) {\n case \"amp\":\n return \"&\";\n\n case \"apos\":\n return \"'\";\n\n case \"gt\":\n return \">\";\n\n case \"lt\":\n return \"<\";\n\n case \"quot\":\n return '\"';\n }\n\n throw new Error(\"_repair: \".concat(name, \" isn't defined.\"));\n });\n var chars = \"\";\n\n for (var i = 0, ii = bytes.length; i < ii; i += 2) {\n var code = bytes.charCodeAt(i) * 256 + bytes.charCodeAt(i + 1);\n\n if (code >= 32 && code < 127 && code !== 60 && code !== 62 && code !== 38) {\n chars += String.fromCharCode(code);\n } else {\n chars += \"&#x\" + (0x10000 + code).toString(16).substring(1) + \";\";\n }\n }\n\n return \">\" + chars;\n });\n }\n }, {\n key: \"_getSequence\",\n value: function _getSequence(entry) {\n var name = entry.nodeName;\n\n if (name !== \"rdf:bag\" && name !== \"rdf:seq\" && name !== \"rdf:alt\") {\n return null;\n }\n\n return entry.childNodes.filter(function (node) {\n return node.nodeName === \"rdf:li\";\n });\n }\n }, {\n key: \"_getCreators\",\n value: function _getCreators(entry) {\n if (entry.nodeName !== \"dc:creator\") {\n return false;\n }\n\n if (!entry.hasChildNodes()) {\n return true;\n }\n\n var seqNode = entry.childNodes[0];\n var authors = this._getSequence(seqNode) || [];\n\n this._metadataMap.set(entry.nodeName, authors.map(function (node) {\n return node.textContent.trim();\n }));\n\n return true;\n }\n }, {\n key: \"_parse\",\n value: function _parse(xmlDocument) {\n var rdf = xmlDocument.documentElement;\n\n if (rdf.nodeName !== \"rdf:rdf\") {\n rdf = rdf.firstChild;\n\n while (rdf && rdf.nodeName !== \"rdf:rdf\") {\n rdf = rdf.nextSibling;\n }\n }\n\n if (!rdf || rdf.nodeName !== \"rdf:rdf\" || !rdf.hasChildNodes()) {\n return;\n }\n\n var _iterator12 = _createForOfIteratorHelper(rdf.childNodes),\n _step12;\n\n try {\n for (_iterator12.s(); !(_step12 = _iterator12.n()).done;) {\n var desc = _step12.value;\n\n if (desc.nodeName !== \"rdf:description\") {\n continue;\n }\n\n var _iterator13 = _createForOfIteratorHelper(desc.childNodes),\n _step13;\n\n try {\n for (_iterator13.s(); !(_step13 = _iterator13.n()).done;) {\n var entry = _step13.value;\n var name = entry.nodeName;\n\n if (name === \"#text\") {\n continue;\n }\n\n if (this._getCreators(entry)) {\n continue;\n }\n\n this._metadataMap.set(name, entry.textContent.trim());\n }\n } catch (err) {\n _iterator13.e(err);\n } finally {\n _iterator13.f();\n }\n }\n } catch (err) {\n _iterator12.e(err);\n } finally {\n _iterator12.f();\n }\n }\n }, {\n key: \"getRaw\",\n value: function getRaw() {\n return this._data;\n }\n }, {\n key: \"get\",\n value: function get(name) {\n var _this$_metadataMap$ge;\n\n return (_this$_metadataMap$ge = this._metadataMap.get(name)) !== null && _this$_metadataMap$ge !== void 0 ? _this$_metadataMap$ge : null;\n }\n }, {\n key: \"getAll\",\n value: function getAll() {\n return (0, _util.objectFromEntries)(this._metadataMap);\n }\n }, {\n key: \"has\",\n value: function has(name) {\n return this._metadataMap.has(name);\n }\n }]);\n\n return Metadata;\n }();\n\n exports.Metadata = Metadata;\n /***/\n },\n /* 15 */\n\n /***/\n function (__unused_webpack_module, exports, __w_pdfjs_require__) {\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.SimpleXMLParser = exports.SimpleDOMNode = void 0;\n\n var _util = __w_pdfjs_require__(2);\n\n var 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\n function isWhitespace(s, index) {\n var ch = s[index];\n return ch === \" \" || ch === \"\\n\" || ch === \"\\r\" || ch === \"\\t\";\n }\n\n function 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\n var 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 _this31 = this;\n\n return s.replace(/&([^;]+);/g, function (all, entity) {\n if (entity.substring(0, 2) === \"#x\") {\n return String.fromCodePoint(parseInt(entity.substring(2), 16));\n } else if (entity.substring(0, 1) === \"#\") {\n return String.fromCodePoint(parseInt(entity.substring(1), 10));\n }\n\n switch (entity) {\n case \"lt\":\n return \"<\";\n\n case \"gt\":\n return \">\";\n\n case \"amp\":\n return \"&\";\n\n case \"quot\":\n return '\"';\n }\n\n return _this31.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\n var 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: \"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 key: \"hasChildNodes\",\n value: function hasChildNodes() {\n return this.childNodes && this.childNodes.length > 0;\n }\n }, {\n key: \"searchNode\",\n value: function searchNode(paths, pos) {\n if (pos >= paths.length) {\n return this;\n }\n\n var component = paths[pos];\n var stack = [];\n var node = this;\n\n while (true) {\n if (component.name === node.nodeName) {\n if (component.pos === 0) {\n var res = node.searchNode(paths, pos + 1);\n\n if (res !== null) {\n return res;\n }\n } else if (stack.length === 0) {\n return null;\n } else {\n var _stack$pop = stack.pop(),\n _stack$pop2 = _slicedToArray(_stack$pop, 1),\n parent = _stack$pop2[0];\n\n var siblingPos = 0;\n\n var _iterator14 = _createForOfIteratorHelper(parent.childNodes),\n _step14;\n\n try {\n for (_iterator14.s(); !(_step14 = _iterator14.n()).done;) {\n var child = _step14.value;\n\n if (component.name === child.nodeName) {\n if (siblingPos === component.pos) {\n return child.searchNode(paths, pos + 1);\n }\n\n siblingPos++;\n }\n }\n } catch (err) {\n _iterator14.e(err);\n } finally {\n _iterator14.f();\n }\n\n return node.searchNode(paths, pos + 1);\n }\n }\n\n if (node.childNodes && node.childNodes.length !== 0) {\n stack.push([node, 0]);\n node = node.childNodes[0];\n } else if (stack.length === 0) {\n return null;\n } else {\n while (stack.length !== 0) {\n var _stack$pop3 = stack.pop(),\n _stack$pop4 = _slicedToArray(_stack$pop3, 2),\n _parent = _stack$pop4[0],\n currentPos = _stack$pop4[1];\n\n var newPos = currentPos + 1;\n\n if (newPos < _parent.childNodes.length) {\n stack.push([_parent, newPos]);\n node = _parent.childNodes[newPos];\n break;\n }\n }\n\n if (stack.length === 0) {\n return null;\n }\n }\n }\n }\n }, {\n key: \"dump\",\n value: function dump(buffer) {\n if (this.nodeName === \"#text\") {\n buffer.push((0, _util.encodeToXmlString)(this.nodeValue));\n return;\n }\n\n buffer.push(\"<\".concat(this.nodeName));\n\n if (this.attributes) {\n var _iterator15 = _createForOfIteratorHelper(this.attributes),\n _step15;\n\n try {\n for (_iterator15.s(); !(_step15 = _iterator15.n()).done;) {\n var attribute = _step15.value;\n buffer.push(\" \".concat(attribute.name, \"=\\\"\").concat((0, _util.encodeToXmlString)(attribute.value), \"\\\"\"));\n }\n } catch (err) {\n _iterator15.e(err);\n } finally {\n _iterator15.f();\n }\n }\n\n if (this.hasChildNodes()) {\n buffer.push(\">\");\n\n var _iterator16 = _createForOfIteratorHelper(this.childNodes),\n _step16;\n\n try {\n for (_iterator16.s(); !(_step16 = _iterator16.n()).done;) {\n var child = _step16.value;\n child.dump(buffer);\n }\n } catch (err) {\n _iterator16.e(err);\n } finally {\n _iterator16.f();\n }\n\n buffer.push(\"\"));\n } else if (this.nodeValue) {\n buffer.push(\">\".concat((0, _util.encodeToXmlString)(this.nodeValue), \"\"));\n } else {\n buffer.push(\"/>\");\n }\n }\n }]);\n\n return SimpleDOMNode;\n }();\n\n exports.SimpleDOMNode = SimpleDOMNode;\n\n var SimpleXMLParser = /*#__PURE__*/function (_XMLParserBase) {\n _inherits(SimpleXMLParser, _XMLParserBase);\n\n var _super14 = _createSuper(SimpleXMLParser);\n\n function SimpleXMLParser(_ref32) {\n var _this32;\n\n var _ref32$hasAttributes = _ref32.hasAttributes,\n hasAttributes = _ref32$hasAttributes === void 0 ? false : _ref32$hasAttributes,\n _ref32$lowerCaseName = _ref32.lowerCaseName,\n lowerCaseName = _ref32$lowerCaseName === void 0 ? false : _ref32$lowerCaseName;\n\n _classCallCheck(this, SimpleXMLParser);\n\n _this32 = _super14.call(this);\n _this32._currentFragment = null;\n _this32._stack = null;\n _this32._errorCode = XMLParserErrorCode.NoError;\n _this32._hasAttributes = hasAttributes;\n _this32._lowerCaseName = lowerCaseName;\n return _this32;\n }\n\n _createClass(SimpleXMLParser, [{\n key: \"parseFromString\",\n value: function parseFromString(data) {\n this._currentFragment = [];\n this._stack = [];\n this._errorCode = XMLParserErrorCode.NoError;\n this.parseXml(data);\n\n if (this._errorCode !== XMLParserErrorCode.NoError) {\n return undefined;\n }\n\n var _this$_currentFragmen = _slicedToArray(this._currentFragment, 1),\n documentElement = _this$_currentFragmen[0];\n\n if (!documentElement) {\n return undefined;\n }\n\n return {\n documentElement: documentElement\n };\n }\n }, {\n key: \"onResolveEntity\",\n value: function onResolveEntity(name) {\n switch (name) {\n case \"apos\":\n return \"'\";\n }\n\n return _get(_getPrototypeOf(SimpleXMLParser.prototype), \"onResolveEntity\", this).call(this, name);\n }\n }, {\n key: \"onText\",\n value: function onText(text) {\n if (isWhitespaceString(text)) {\n return;\n }\n\n var node = new SimpleDOMNode(\"#text\", text);\n\n this._currentFragment.push(node);\n }\n }, {\n key: \"onCdata\",\n value: function onCdata(text) {\n var node = new SimpleDOMNode(\"#text\", text);\n\n this._currentFragment.push(node);\n }\n }, {\n key: \"onBeginElement\",\n value: function onBeginElement(name, attributes, isEmpty) {\n if (this._lowerCaseName) {\n name = name.toLowerCase();\n }\n\n var node = new SimpleDOMNode(name);\n node.childNodes = [];\n\n if (this._hasAttributes) {\n node.attributes = attributes;\n }\n\n this._currentFragment.push(node);\n\n if (isEmpty) {\n return;\n }\n\n this._stack.push(this._currentFragment);\n\n this._currentFragment = node.childNodes;\n }\n }, {\n key: \"onEndElement\",\n value: function onEndElement(name) {\n this._currentFragment = this._stack.pop() || [];\n var lastElement = this._currentFragment[this._currentFragment.length - 1];\n\n if (!lastElement) {\n return;\n }\n\n for (var i = 0, ii = lastElement.childNodes.length; i < ii; i++) {\n lastElement.childNodes[i].parentNode = lastElement;\n }\n }\n }, {\n key: \"onError\",\n value: function onError(code) {\n this._errorCode = code;\n }\n }]);\n\n return SimpleXMLParser;\n }(XMLParserBase);\n\n exports.SimpleXMLParser = SimpleXMLParser;\n /***/\n },\n /* 16 */\n\n /***/\n function (__unused_webpack_module, exports, __w_pdfjs_require__) {\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.OptionalContentConfig = void 0;\n\n var _util = __w_pdfjs_require__(2);\n\n var OptionalContentGroup = /*#__PURE__*/_createClass(function OptionalContentGroup(name, intent) {\n _classCallCheck(this, OptionalContentGroup);\n\n this.visible = true;\n this.name = name;\n this.intent = intent;\n });\n\n var OptionalContentConfig = /*#__PURE__*/function () {\n function OptionalContentConfig(data) {\n _classCallCheck(this, OptionalContentConfig);\n\n this.name = null;\n this.creator = null;\n this._order = null;\n this._groups = new Map();\n\n if (data === null) {\n return;\n }\n\n this.name = data.name;\n this.creator = data.creator;\n this._order = data.order;\n\n var _iterator17 = _createForOfIteratorHelper(data.groups),\n _step17;\n\n try {\n for (_iterator17.s(); !(_step17 = _iterator17.n()).done;) {\n var _group = _step17.value;\n\n this._groups.set(_group.id, new OptionalContentGroup(_group.name, _group.intent));\n }\n } catch (err) {\n _iterator17.e(err);\n } finally {\n _iterator17.f();\n }\n\n if (data.baseState === \"OFF\") {\n var _iterator18 = _createForOfIteratorHelper(this._groups),\n _step18;\n\n try {\n for (_iterator18.s(); !(_step18 = _iterator18.n()).done;) {\n var group = _step18.value;\n group.visible = false;\n }\n } catch (err) {\n _iterator18.e(err);\n } finally {\n _iterator18.f();\n }\n }\n\n var _iterator19 = _createForOfIteratorHelper(data.on),\n _step19;\n\n try {\n for (_iterator19.s(); !(_step19 = _iterator19.n()).done;) {\n var on = _step19.value;\n this._groups.get(on).visible = true;\n }\n } catch (err) {\n _iterator19.e(err);\n } finally {\n _iterator19.f();\n }\n\n var _iterator20 = _createForOfIteratorHelper(data.off),\n _step20;\n\n try {\n for (_iterator20.s(); !(_step20 = _iterator20.n()).done;) {\n var off = _step20.value;\n this._groups.get(off).visible = false;\n }\n } catch (err) {\n _iterator20.e(err);\n } finally {\n _iterator20.f();\n }\n }\n\n _createClass(OptionalContentConfig, [{\n key: \"isVisible\",\n value: function isVisible(group) {\n if (group.type === \"OCG\") {\n if (!this._groups.has(group.id)) {\n (0, _util.warn)(\"Optional content group not found: \".concat(group.id));\n return true;\n }\n\n return this._groups.get(group.id).visible;\n } else if (group.type === \"OCMD\") {\n if (group.expression) {\n (0, _util.warn)(\"Visibility expression not supported yet.\");\n }\n\n if (!group.policy || group.policy === \"AnyOn\") {\n var _iterator21 = _createForOfIteratorHelper(group.ids),\n _step21;\n\n try {\n for (_iterator21.s(); !(_step21 = _iterator21.n()).done;) {\n var id = _step21.value;\n\n if (!this._groups.has(id)) {\n (0, _util.warn)(\"Optional content group not found: \".concat(id));\n return true;\n }\n\n if (this._groups.get(id).visible) {\n return true;\n }\n }\n } catch (err) {\n _iterator21.e(err);\n } finally {\n _iterator21.f();\n }\n\n return false;\n } else if (group.policy === \"AllOn\") {\n var _iterator22 = _createForOfIteratorHelper(group.ids),\n _step22;\n\n try {\n for (_iterator22.s(); !(_step22 = _iterator22.n()).done;) {\n var _id = _step22.value;\n\n if (!this._groups.has(_id)) {\n (0, _util.warn)(\"Optional content group not found: \".concat(_id));\n return true;\n }\n\n if (!this._groups.get(_id).visible) {\n return false;\n }\n }\n } catch (err) {\n _iterator22.e(err);\n } finally {\n _iterator22.f();\n }\n\n return true;\n } else if (group.policy === \"AnyOff\") {\n var _iterator23 = _createForOfIteratorHelper(group.ids),\n _step23;\n\n try {\n for (_iterator23.s(); !(_step23 = _iterator23.n()).done;) {\n var _id2 = _step23.value;\n\n if (!this._groups.has(_id2)) {\n (0, _util.warn)(\"Optional content group not found: \".concat(_id2));\n return true;\n }\n\n if (!this._groups.get(_id2).visible) {\n return true;\n }\n }\n } catch (err) {\n _iterator23.e(err);\n } finally {\n _iterator23.f();\n }\n\n return false;\n } else if (group.policy === \"AllOff\") {\n var _iterator24 = _createForOfIteratorHelper(group.ids),\n _step24;\n\n try {\n for (_iterator24.s(); !(_step24 = _iterator24.n()).done;) {\n var _id3 = _step24.value;\n\n if (!this._groups.has(_id3)) {\n (0, _util.warn)(\"Optional content group not found: \".concat(_id3));\n return true;\n }\n\n if (this._groups.get(_id3).visible) {\n return false;\n }\n }\n } catch (err) {\n _iterator24.e(err);\n } finally {\n _iterator24.f();\n }\n\n return true;\n }\n\n (0, _util.warn)(\"Unknown optional content policy \".concat(group.policy, \".\"));\n return true;\n }\n\n (0, _util.warn)(\"Unknown group type \".concat(group.type, \".\"));\n return true;\n }\n }, {\n key: \"setVisibility\",\n value: function setVisibility(id) {\n var visible = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n if (!this._groups.has(id)) {\n (0, _util.warn)(\"Optional content group not found: \".concat(id));\n return;\n }\n\n this._groups.get(id).visible = !!visible;\n }\n }, {\n key: \"getOrder\",\n value: function getOrder() {\n if (!this._groups.size) {\n return null;\n }\n\n if (this._order) {\n return this._order.slice();\n }\n\n return Array.from(this._groups.keys());\n }\n }, {\n key: \"getGroups\",\n value: function getGroups() {\n if (!this._groups.size) {\n return null;\n }\n\n return (0, _util.objectFromEntries)(this._groups);\n }\n }, {\n key: \"getGroup\",\n value: function getGroup(id) {\n return this._groups.get(id) || null;\n }\n }]);\n\n return OptionalContentConfig;\n }();\n\n exports.OptionalContentConfig = OptionalContentConfig;\n /***/\n },\n /* 17 */\n\n /***/\n function (__unused_webpack_module, exports, __w_pdfjs_require__) {\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.PDFDataTransportStream = void 0;\n\n var _util = __w_pdfjs_require__(2);\n\n var PDFDataTransportStream = /*#__PURE__*/function () {\n function PDFDataTransportStream(params, pdfDataRangeTransport) {\n var _this33 = this;\n\n _classCallCheck(this, PDFDataTransportStream);\n\n (0, _util.assert)(pdfDataRangeTransport, 'PDFDataTransportStream - missing required \"pdfDataRangeTransport\" argument.');\n this._queuedChunks = [];\n this._progressiveDone = params.progressiveDone || false;\n var initialData = params.initialData;\n\n if ((initialData === null || initialData === void 0 ? void 0 : initialData.length) > 0) {\n var buffer = new Uint8Array(initialData).buffer;\n\n this._queuedChunks.push(buffer);\n }\n\n this._pdfDataRangeTransport = pdfDataRangeTransport;\n this._isStreamingSupported = !params.disableStream;\n this._isRangeSupported = !params.disableRange;\n this._contentLength = params.length;\n this._fullRequestReader = null;\n this._rangeReaders = [];\n\n this._pdfDataRangeTransport.addRangeListener(function (begin, chunk) {\n _this33._onReceiveData({\n begin: begin,\n chunk: chunk\n });\n });\n\n this._pdfDataRangeTransport.addProgressListener(function (loaded, total) {\n _this33._onProgress({\n loaded: loaded,\n total: total\n });\n });\n\n this._pdfDataRangeTransport.addProgressiveReadListener(function (chunk) {\n _this33._onReceiveData({\n chunk: chunk\n });\n });\n\n this._pdfDataRangeTransport.addProgressiveDoneListener(function () {\n _this33._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: \"_progressiveDataLength\",\n get: function get() {\n var _this$_fullRequestRea, _this$_fullRequestRea2;\n\n return (_this$_fullRequestRea = (_this$_fullRequestRea2 = this._fullRequestReader) === null || _this$_fullRequestRea2 === void 0 ? void 0 : _this$_fullRequestRea2._loaded) !== null && _this$_fullRequestRea !== void 0 ? _this$_fullRequestRea : 0;\n }\n }, {\n key: \"_onProgress\",\n value: function _onProgress(evt) {\n if (evt.total === undefined) {\n var firstReader = this._rangeReaders[0];\n\n if (firstReader !== null && firstReader !== void 0 && firstReader.onProgress) {\n firstReader.onProgress({\n loaded: evt.loaded\n });\n }\n } else {\n var fullReader = this._fullRequestReader;\n\n if (fullReader !== null && fullReader !== void 0 && fullReader.onProgress) {\n fullReader.onProgress({\n loaded: evt.loaded,\n total: evt.total\n });\n }\n }\n }\n }, {\n key: \"_onProgressiveDone\",\n value: function _onProgressiveDone() {\n if (this._fullRequestReader) {\n this._fullRequestReader.progressiveDone();\n }\n\n this._progressiveDone = true;\n }\n }, {\n key: \"_removeRangeReader\",\n value: function _removeRangeReader(reader) {\n var i = this._rangeReaders.indexOf(reader);\n\n if (i >= 0) {\n this._rangeReaders.splice(i, 1);\n }\n }\n }, {\n key: \"getFullReader\",\n value: function getFullReader() {\n (0, _util.assert)(!this._fullRequestReader, \"PDFDataTransportStream.getFullReader can only be called once.\");\n var queuedChunks = this._queuedChunks;\n this._queuedChunks = null;\n return new PDFDataTransportStreamReader(this, queuedChunks, this._progressiveDone);\n }\n }, {\n key: \"getRangeReader\",\n value: function getRangeReader(begin, end) {\n if (end <= this._progressiveDataLength) {\n return null;\n }\n\n var reader = new PDFDataTransportStreamRangeReader(this, begin, end);\n\n this._pdfDataRangeTransport.requestDataRange(begin, end);\n\n this._rangeReaders.push(reader);\n\n return reader;\n }\n }, {\n key: \"cancelAllRequests\",\n value: function cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n\n var readers = this._rangeReaders.slice(0);\n\n readers.forEach(function (rangeReader) {\n rangeReader.cancel(reason);\n });\n\n this._pdfDataRangeTransport.abort();\n }\n }]);\n\n return PDFDataTransportStream;\n }();\n\n exports.PDFDataTransportStream = PDFDataTransportStream;\n\n var 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 _iterator25 = _createForOfIteratorHelper(this._queuedChunks),\n _step25;\n\n try {\n for (_iterator25.s(); !(_step25 = _iterator25.n()).done;) {\n var chunk = _step25.value;\n this._loaded += chunk.byteLength;\n }\n } catch (err) {\n _iterator25.e(err);\n } finally {\n _iterator25.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: \"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 key: \"read\",\n value: function () {\n var _read = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee7() {\n var chunk, requestCapability;\n return _regeneratorRuntime.wrap(function _callee7$(_context7) {\n while (1) {\n switch (_context7.prev = _context7.next) {\n case 0:\n if (!(this._queuedChunks.length > 0)) {\n _context7.next = 3;\n break;\n }\n\n chunk = this._queuedChunks.shift();\n return _context7.abrupt(\"return\", {\n value: chunk,\n done: false\n });\n\n case 3:\n if (!this._done) {\n _context7.next = 5;\n break;\n }\n\n return _context7.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 _context7.abrupt(\"return\", requestCapability.promise);\n\n case 8:\n case \"end\":\n return _context7.stop();\n }\n }\n }, _callee7, 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\n return PDFDataTransportStreamReader;\n }();\n\n var 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: \"isStreamingSupported\",\n get: function get() {\n return false;\n }\n }, {\n key: \"read\",\n value: function () {\n var _read2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee8() {\n var chunk, requestCapability;\n return _regeneratorRuntime.wrap(function _callee8$(_context8) {\n while (1) {\n switch (_context8.prev = _context8.next) {\n case 0:\n if (!this._queuedChunk) {\n _context8.next = 4;\n break;\n }\n\n chunk = this._queuedChunk;\n this._queuedChunk = null;\n return _context8.abrupt(\"return\", {\n value: chunk,\n done: false\n });\n\n case 4:\n if (!this._done) {\n _context8.next = 6;\n break;\n }\n\n return _context8.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 _context8.abrupt(\"return\", requestCapability.promise);\n\n case 9:\n case \"end\":\n return _context8.stop();\n }\n }\n }, _callee8, 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\n return PDFDataTransportStreamRangeReader;\n }();\n /***/\n\n },\n /* 18 */\n\n /***/\n function (__unused_webpack_module, exports, __w_pdfjs_require__) {\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.WebGLContext = void 0;\n\n var _util = __w_pdfjs_require__(2);\n\n var WebGLContext = /*#__PURE__*/function () {\n function WebGLContext(_ref33) {\n var _ref33$enable = _ref33.enable,\n enable = _ref33$enable === void 0 ? false : _ref33$enable;\n\n _classCallCheck(this, WebGLContext);\n\n this._enabled = enable === true;\n }\n\n _createClass(WebGLContext, [{\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 key: \"composeSMask\",\n value: function composeSMask(_ref34) {\n var layer = _ref34.layer,\n mask = _ref34.mask,\n properties = _ref34.properties;\n return WebGLUtils.composeSMask(layer, mask, properties);\n }\n }, {\n key: \"drawFigures\",\n value: function drawFigures(_ref35) {\n var width = _ref35.width,\n height = _ref35.height,\n backgroundColor = _ref35.backgroundColor,\n figures = _ref35.figures,\n context = _ref35.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\n return WebGLContext;\n }();\n\n exports.WebGLContext = WebGLContext;\n\n var WebGLUtils = function WebGLUtilsClosure() {\n function loadShader(gl, code, shaderType) {\n var shader = gl.createShader(shaderType);\n gl.shaderSource(shader, code);\n gl.compileShader(shader);\n var compiled = gl.getShaderParameter(shader, gl.COMPILE_STATUS);\n\n if (!compiled) {\n var errorMsg = gl.getShaderInfoLog(shader);\n throw new Error(\"Error during shader compilation: \" + errorMsg);\n }\n\n return shader;\n }\n\n function createVertexShader(gl, code) {\n return loadShader(gl, code, gl.VERTEX_SHADER);\n }\n\n function createFragmentShader(gl, code) {\n return loadShader(gl, code, gl.FRAGMENT_SHADER);\n }\n\n function createProgram(gl, shaders) {\n var program = gl.createProgram();\n\n for (var i = 0, ii = shaders.length; i < ii; ++i) {\n gl.attachShader(program, shaders[i]);\n }\n\n gl.linkProgram(program);\n var linked = gl.getProgramParameter(program, gl.LINK_STATUS);\n\n if (!linked) {\n var errorMsg = gl.getProgramInfoLog(program);\n throw new Error(\"Error during program linking: \" + errorMsg);\n }\n\n return program;\n }\n\n function createTexture(gl, image, textureId) {\n gl.activeTexture(textureId);\n var texture = gl.createTexture();\n gl.bindTexture(gl.TEXTURE_2D, texture);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST);\n gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, image);\n return texture;\n }\n\n var currentGL, currentCanvas;\n\n function generateGL() {\n if (currentGL) {\n return;\n }\n\n currentCanvas = document.createElement(\"canvas\");\n currentGL = currentCanvas.getContext(\"webgl\", {\n premultipliedalpha: false\n });\n }\n\n var smaskVertexShaderCode = \"\\\n attribute vec2 a_position; \\\n attribute vec2 a_texCoord; \\\n \\\n uniform vec2 u_resolution; \\\n \\\n varying vec2 v_texCoord; \\\n \\\n void main() { \\\n vec2 clipSpace = (a_position / u_resolution) * 2.0 - 1.0; \\\n gl_Position = vec4(clipSpace * vec2(1, -1), 0, 1); \\\n \\\n v_texCoord = a_texCoord; \\\n } \";\n var smaskFragmentShaderCode = \"\\\n precision mediump float; \\\n \\\n uniform vec4 u_backdrop; \\\n uniform int u_subtype; \\\n uniform sampler2D u_image; \\\n uniform sampler2D u_mask; \\\n \\\n varying vec2 v_texCoord; \\\n \\\n void main() { \\\n vec4 imageColor = texture2D(u_image, v_texCoord); \\\n vec4 maskColor = texture2D(u_mask, v_texCoord); \\\n if (u_backdrop.a > 0.0) { \\\n maskColor.rgb = maskColor.rgb * maskColor.a + \\\n u_backdrop.rgb * (1.0 - maskColor.a); \\\n } \\\n float lum; \\\n if (u_subtype == 0) { \\\n lum = maskColor.a; \\\n } else { \\\n lum = maskColor.r * 0.3 + maskColor.g * 0.59 + \\\n maskColor.b * 0.11; \\\n } \\\n imageColor.a *= lum; \\\n imageColor.rgb *= imageColor.a; \\\n gl_FragColor = imageColor; \\\n } \";\n var smaskCache = null;\n\n function initSmaskGL() {\n generateGL();\n var canvas = currentCanvas;\n currentCanvas = null;\n var gl = currentGL;\n currentGL = null;\n var vertexShader = createVertexShader(gl, smaskVertexShaderCode);\n var fragmentShader = createFragmentShader(gl, smaskFragmentShaderCode);\n var program = createProgram(gl, [vertexShader, fragmentShader]);\n gl.useProgram(program);\n var cache = {};\n cache.gl = gl;\n cache.canvas = canvas;\n cache.resolutionLocation = gl.getUniformLocation(program, \"u_resolution\");\n cache.positionLocation = gl.getAttribLocation(program, \"a_position\");\n cache.backdropLocation = gl.getUniformLocation(program, \"u_backdrop\");\n cache.subtypeLocation = gl.getUniformLocation(program, \"u_subtype\");\n var texCoordLocation = gl.getAttribLocation(program, \"a_texCoord\");\n var texLayerLocation = gl.getUniformLocation(program, \"u_image\");\n var texMaskLocation = gl.getUniformLocation(program, \"u_mask\");\n var texCoordBuffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, texCoordBuffer);\n gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 1.0, 1.0, 0.0, 1.0, 1.0]), gl.STATIC_DRAW);\n gl.enableVertexAttribArray(texCoordLocation);\n gl.vertexAttribPointer(texCoordLocation, 2, gl.FLOAT, false, 0, 0);\n gl.uniform1i(texLayerLocation, 0);\n gl.uniform1i(texMaskLocation, 1);\n smaskCache = cache;\n }\n\n function composeSMask(layer, mask, properties) {\n var width = layer.width,\n height = layer.height;\n\n if (!smaskCache) {\n initSmaskGL();\n }\n\n var cache = smaskCache,\n canvas = cache.canvas,\n gl = cache.gl;\n canvas.width = width;\n canvas.height = height;\n gl.viewport(0, 0, gl.drawingBufferWidth, gl.drawingBufferHeight);\n gl.uniform2f(cache.resolutionLocation, width, height);\n\n if (properties.backdrop) {\n gl.uniform4f(cache.resolutionLocation, properties.backdrop[0], properties.backdrop[1], properties.backdrop[2], 1);\n } else {\n gl.uniform4f(cache.resolutionLocation, 0, 0, 0, 0);\n }\n\n gl.uniform1i(cache.subtypeLocation, properties.subtype === \"Luminosity\" ? 1 : 0);\n var texture = createTexture(gl, layer, gl.TEXTURE0);\n var maskTexture = createTexture(gl, mask, gl.TEXTURE1);\n var buffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, buffer);\n gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([0, 0, width, 0, 0, height, 0, height, width, 0, width, height]), gl.STATIC_DRAW);\n gl.enableVertexAttribArray(cache.positionLocation);\n gl.vertexAttribPointer(cache.positionLocation, 2, gl.FLOAT, false, 0, 0);\n gl.clearColor(0, 0, 0, 0);\n gl.enable(gl.BLEND);\n gl.blendFunc(gl.ONE, gl.ONE_MINUS_SRC_ALPHA);\n gl.clear(gl.COLOR_BUFFER_BIT);\n gl.drawArrays(gl.TRIANGLES, 0, 6);\n gl.flush();\n gl.deleteTexture(texture);\n gl.deleteTexture(maskTexture);\n gl.deleteBuffer(buffer);\n return canvas;\n }\n\n var figuresVertexShaderCode = \"\\\n attribute vec2 a_position; \\\n attribute vec3 a_color; \\\n \\\n uniform vec2 u_resolution; \\\n uniform vec2 u_scale; \\\n uniform vec2 u_offset; \\\n \\\n varying vec4 v_color; \\\n \\\n void main() { \\\n vec2 position = (a_position + u_offset) * u_scale; \\\n vec2 clipSpace = (position / u_resolution) * 2.0 - 1.0; \\\n gl_Position = vec4(clipSpace * vec2(1, -1), 0, 1); \\\n \\\n v_color = vec4(a_color / 255.0, 1.0); \\\n } \";\n var figuresFragmentShaderCode = \"\\\n precision mediump float; \\\n \\\n varying vec4 v_color; \\\n \\\n void main() { \\\n gl_FragColor = v_color; \\\n } \";\n var figuresCache = null;\n\n function initFiguresGL() {\n generateGL();\n var canvas = currentCanvas;\n currentCanvas = null;\n var gl = currentGL;\n currentGL = null;\n var vertexShader = createVertexShader(gl, figuresVertexShaderCode);\n var fragmentShader = createFragmentShader(gl, figuresFragmentShaderCode);\n var program = createProgram(gl, [vertexShader, fragmentShader]);\n gl.useProgram(program);\n var cache = {};\n cache.gl = gl;\n cache.canvas = canvas;\n cache.resolutionLocation = gl.getUniformLocation(program, \"u_resolution\");\n cache.scaleLocation = gl.getUniformLocation(program, \"u_scale\");\n cache.offsetLocation = gl.getUniformLocation(program, \"u_offset\");\n cache.positionLocation = gl.getAttribLocation(program, \"a_position\");\n cache.colorLocation = gl.getAttribLocation(program, \"a_color\");\n figuresCache = cache;\n }\n\n function drawFigures(width, height, backgroundColor, figures, context) {\n if (!figuresCache) {\n initFiguresGL();\n }\n\n var cache = figuresCache,\n canvas = cache.canvas,\n gl = cache.gl;\n canvas.width = width;\n canvas.height = height;\n gl.viewport(0, 0, gl.drawingBufferWidth, gl.drawingBufferHeight);\n gl.uniform2f(cache.resolutionLocation, width, height);\n var count = 0;\n\n for (var i = 0, ii = figures.length; i < ii; i++) {\n switch (figures[i].type) {\n case \"lattice\":\n var rows = figures[i].coords.length / figures[i].verticesPerRow | 0;\n count += (rows - 1) * (figures[i].verticesPerRow - 1) * 6;\n break;\n\n case \"triangles\":\n count += figures[i].coords.length;\n break;\n }\n }\n\n var coords = new Float32Array(count * 2);\n var colors = new Uint8Array(count * 3);\n var coordsMap = context.coords,\n colorsMap = context.colors;\n var pIndex = 0,\n cIndex = 0;\n\n for (var _i7 = 0, _ii2 = figures.length; _i7 < _ii2; _i7++) {\n var figure = figures[_i7],\n ps = figure.coords,\n cs = figure.colors;\n\n switch (figure.type) {\n case \"lattice\":\n var cols = figure.verticesPerRow;\n\n var _rows = ps.length / cols | 0;\n\n for (var row = 1; row < _rows; row++) {\n var offset = row * cols + 1;\n\n for (var col = 1; col < cols; col++, offset++) {\n coords[pIndex] = coordsMap[ps[offset - cols - 1]];\n coords[pIndex + 1] = coordsMap[ps[offset - cols - 1] + 1];\n coords[pIndex + 2] = coordsMap[ps[offset - cols]];\n coords[pIndex + 3] = coordsMap[ps[offset - cols] + 1];\n coords[pIndex + 4] = coordsMap[ps[offset - 1]];\n coords[pIndex + 5] = coordsMap[ps[offset - 1] + 1];\n colors[cIndex] = colorsMap[cs[offset - cols - 1]];\n colors[cIndex + 1] = colorsMap[cs[offset - cols - 1] + 1];\n colors[cIndex + 2] = colorsMap[cs[offset - cols - 1] + 2];\n colors[cIndex + 3] = colorsMap[cs[offset - cols]];\n colors[cIndex + 4] = colorsMap[cs[offset - cols] + 1];\n colors[cIndex + 5] = colorsMap[cs[offset - cols] + 2];\n colors[cIndex + 6] = colorsMap[cs[offset - 1]];\n colors[cIndex + 7] = colorsMap[cs[offset - 1] + 1];\n colors[cIndex + 8] = colorsMap[cs[offset - 1] + 2];\n coords[pIndex + 6] = coords[pIndex + 2];\n coords[pIndex + 7] = coords[pIndex + 3];\n coords[pIndex + 8] = coords[pIndex + 4];\n coords[pIndex + 9] = coords[pIndex + 5];\n coords[pIndex + 10] = coordsMap[ps[offset]];\n coords[pIndex + 11] = coordsMap[ps[offset] + 1];\n colors[cIndex + 9] = colors[cIndex + 3];\n colors[cIndex + 10] = colors[cIndex + 4];\n colors[cIndex + 11] = colors[cIndex + 5];\n colors[cIndex + 12] = colors[cIndex + 6];\n colors[cIndex + 13] = colors[cIndex + 7];\n colors[cIndex + 14] = colors[cIndex + 8];\n colors[cIndex + 15] = colorsMap[cs[offset]];\n colors[cIndex + 16] = colorsMap[cs[offset] + 1];\n colors[cIndex + 17] = colorsMap[cs[offset] + 2];\n pIndex += 12;\n cIndex += 18;\n }\n }\n\n break;\n\n case \"triangles\":\n for (var j = 0, jj = ps.length; j < jj; j++) {\n coords[pIndex] = coordsMap[ps[j]];\n coords[pIndex + 1] = coordsMap[ps[j] + 1];\n colors[cIndex] = colorsMap[cs[j]];\n colors[cIndex + 1] = colorsMap[cs[j] + 1];\n colors[cIndex + 2] = colorsMap[cs[j] + 2];\n pIndex += 2;\n cIndex += 3;\n }\n\n break;\n }\n }\n\n if (backgroundColor) {\n gl.clearColor(backgroundColor[0] / 255, backgroundColor[1] / 255, backgroundColor[2] / 255, 1.0);\n } else {\n gl.clearColor(0, 0, 0, 0);\n }\n\n gl.clear(gl.COLOR_BUFFER_BIT);\n var coordsBuffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, coordsBuffer);\n gl.bufferData(gl.ARRAY_BUFFER, coords, gl.STATIC_DRAW);\n gl.enableVertexAttribArray(cache.positionLocation);\n gl.vertexAttribPointer(cache.positionLocation, 2, gl.FLOAT, false, 0, 0);\n var colorsBuffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, colorsBuffer);\n gl.bufferData(gl.ARRAY_BUFFER, colors, gl.STATIC_DRAW);\n gl.enableVertexAttribArray(cache.colorLocation);\n gl.vertexAttribPointer(cache.colorLocation, 3, gl.UNSIGNED_BYTE, false, 0, 0);\n gl.uniform2f(cache.scaleLocation, context.scaleX, context.scaleY);\n gl.uniform2f(cache.offsetLocation, context.offsetX, context.offsetY);\n gl.drawArrays(gl.TRIANGLES, 0, count);\n gl.flush();\n gl.deleteBuffer(coordsBuffer);\n gl.deleteBuffer(colorsBuffer);\n return canvas;\n }\n\n return {\n tryInitGL: function tryInitGL() {\n try {\n generateGL();\n return !!currentGL;\n } catch (ex) {}\n\n return false;\n },\n composeSMask: composeSMask,\n drawFigures: drawFigures,\n cleanup: function cleanup() {\n var _smaskCache, _figuresCache;\n\n if ((_smaskCache = smaskCache) !== null && _smaskCache !== void 0 && _smaskCache.canvas) {\n smaskCache.canvas.width = 0;\n smaskCache.canvas.height = 0;\n }\n\n if ((_figuresCache = figuresCache) !== null && _figuresCache !== void 0 && _figuresCache.canvas) {\n figuresCache.canvas.width = 0;\n figuresCache.canvas.height = 0;\n }\n\n smaskCache = null;\n figuresCache = null;\n }\n };\n }();\n /***/\n\n },\n /* 19 */\n\n /***/\n function (__unused_webpack_module, exports, __w_pdfjs_require__) {\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.AnnotationLayer = void 0;\n\n var _display_utils = __w_pdfjs_require__(1);\n\n var _util = __w_pdfjs_require__(2);\n\n var _annotation_storage = __w_pdfjs_require__(8);\n\n var _scripting_utils = __w_pdfjs_require__(20);\n\n var 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\n var AnnotationElement = /*#__PURE__*/function () {\n function AnnotationElement(parameters) {\n var _ref36 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n _ref36$isRenderable = _ref36.isRenderable,\n isRenderable = _ref36$isRenderable === void 0 ? false : _ref36$isRenderable,\n _ref36$ignoreBorder = _ref36.ignoreBorder,\n ignoreBorder = _ref36$ignoreBorder === void 0 ? false : _ref36$ignoreBorder,\n _ref36$createQuadrila = _ref36.createQuadrilaterals,\n createQuadrilaterals = _ref36$createQuadrila === void 0 ? false : _ref36$createQuadrila;\n\n _classCallCheck(this, AnnotationElement);\n\n this.isRenderable = isRenderable;\n this.data = parameters.data;\n this.layer = parameters.layer;\n this.page = parameters.page;\n this.viewport = parameters.viewport;\n this.linkService = parameters.linkService;\n this.downloadManager = parameters.downloadManager;\n this.imageResourcesPath = parameters.imageResourcesPath;\n this.renderInteractiveForms = parameters.renderInteractiveForms;\n this.svgFactory = parameters.svgFactory;\n this.annotationStorage = parameters.annotationStorage;\n this.enableScripting = parameters.enableScripting;\n this.hasJSActions = parameters.hasJSActions;\n this._mouseState = parameters.mouseState;\n\n if (isRenderable) {\n this.container = this._createContainer(ignoreBorder);\n }\n\n if (createQuadrilaterals) {\n this.quadrilaterals = this._createQuadrilaterals(ignoreBorder);\n }\n }\n\n _createClass(AnnotationElement, [{\n key: \"_createContainer\",\n value: function _createContainer() {\n var ignoreBorder = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var data = this.data,\n page = this.page,\n viewport = this.viewport;\n var container = document.createElement(\"section\");\n var width = data.rect[2] - data.rect[0];\n var height = data.rect[3] - data.rect[1];\n container.setAttribute(\"data-annotation-id\", data.id);\n\n var rect = _util.Util.normalizeRect([data.rect[0], page.view[3] - data.rect[1] + page.view[1], data.rect[2], page.view[3] - data.rect[3] + page.view[1]]);\n\n container.style.transform = \"matrix(\".concat(viewport.transform.join(\",\"), \")\");\n container.style.transformOrigin = \"\".concat(-rect[0], \"px \").concat(-rect[1], \"px\");\n\n if (!ignoreBorder && data.borderStyle.width > 0) {\n container.style.borderWidth = \"\".concat(data.borderStyle.width, \"px\");\n\n if (data.borderStyle.style !== _util.AnnotationBorderStyleType.UNDERLINE) {\n width = width - 2 * data.borderStyle.width;\n height = height - 2 * data.borderStyle.width;\n }\n\n var horizontalRadius = data.borderStyle.horizontalCornerRadius;\n var verticalRadius = data.borderStyle.verticalCornerRadius;\n\n if (horizontalRadius > 0 || verticalRadius > 0) {\n var radius = \"\".concat(horizontalRadius, \"px / \").concat(verticalRadius, \"px\");\n container.style.borderRadius = radius;\n }\n\n switch (data.borderStyle.style) {\n case _util.AnnotationBorderStyleType.SOLID:\n container.style.borderStyle = \"solid\";\n break;\n\n case _util.AnnotationBorderStyleType.DASHED:\n container.style.borderStyle = \"dashed\";\n break;\n\n case _util.AnnotationBorderStyleType.BEVELED:\n (0, _util.warn)(\"Unimplemented border style: beveled\");\n break;\n\n case _util.AnnotationBorderStyleType.INSET:\n (0, _util.warn)(\"Unimplemented border style: inset\");\n break;\n\n case _util.AnnotationBorderStyleType.UNDERLINE:\n container.style.borderBottomStyle = \"solid\";\n break;\n\n default:\n break;\n }\n\n if (data.color) {\n container.style.borderColor = _util.Util.makeHexColor(data.color[0] | 0, data.color[1] | 0, data.color[2] | 0);\n } else {\n container.style.borderWidth = 0;\n }\n }\n\n container.style.left = \"\".concat(rect[0], \"px\");\n container.style.top = \"\".concat(rect[1], \"px\");\n container.style.width = \"\".concat(width, \"px\");\n container.style.height = \"\".concat(height, \"px\");\n return container;\n }\n }, {\n key: \"_createQuadrilaterals\",\n value: function _createQuadrilaterals() {\n var ignoreBorder = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (!this.data.quadPoints) {\n return null;\n }\n\n var quadrilaterals = [];\n var savedRect = this.data.rect;\n\n var _iterator26 = _createForOfIteratorHelper(this.data.quadPoints),\n _step26;\n\n try {\n for (_iterator26.s(); !(_step26 = _iterator26.n()).done;) {\n var quadPoint = _step26.value;\n this.data.rect = [quadPoint[2].x, quadPoint[2].y, quadPoint[1].x, quadPoint[1].y];\n quadrilaterals.push(this._createContainer(ignoreBorder));\n }\n } catch (err) {\n _iterator26.e(err);\n } finally {\n _iterator26.f();\n }\n\n this.data.rect = savedRect;\n return quadrilaterals;\n }\n }, {\n key: \"_createPopup\",\n value: function _createPopup(trigger, data) {\n var container = this.container;\n\n if (this.quadrilaterals) {\n trigger = trigger || this.quadrilaterals;\n container = this.quadrilaterals[0];\n }\n\n if (!trigger) {\n trigger = document.createElement(\"div\");\n trigger.style.height = container.style.height;\n trigger.style.width = container.style.width;\n container.appendChild(trigger);\n }\n\n var popupElement = new PopupElement({\n container: container,\n trigger: trigger,\n color: data.color,\n title: data.title,\n modificationDate: data.modificationDate,\n contents: data.contents,\n hideWrapper: true\n });\n var popup = popupElement.render();\n popup.style.left = container.style.width;\n container.appendChild(popup);\n }\n }, {\n key: \"_renderQuadrilaterals\",\n value: function _renderQuadrilaterals(className) {\n this.quadrilaterals.forEach(function (quadrilateral) {\n quadrilateral.className = className;\n });\n return this.quadrilaterals;\n }\n }, {\n key: \"render\",\n value: function render() {\n (0, _util.unreachable)(\"Abstract method `AnnotationElement.render` called\");\n }\n }]);\n\n return AnnotationElement;\n }();\n\n var LinkAnnotationElement = /*#__PURE__*/function (_AnnotationElement) {\n _inherits(LinkAnnotationElement, _AnnotationElement);\n\n var _super15 = _createSuper(LinkAnnotationElement);\n\n function LinkAnnotationElement(parameters) {\n _classCallCheck(this, LinkAnnotationElement);\n\n var isRenderable = !!(parameters.data.url || parameters.data.dest || parameters.data.action || parameters.data.isTooltipOnly || parameters.data.actions && (parameters.data.actions.Action || parameters.data.actions[\"Mouse Up\"] || parameters.data.actions[\"Mouse Down\"]));\n return _super15.call(this, parameters, {\n isRenderable: isRenderable,\n createQuadrilaterals: true\n });\n }\n\n _createClass(LinkAnnotationElement, [{\n key: \"render\",\n value: function render() {\n var data = this.data,\n linkService = this.linkService;\n var link = document.createElement(\"a\");\n\n if (data.url) {\n (0, _display_utils.addLinkAttributes)(link, {\n url: data.url,\n target: data.newWindow ? _display_utils.LinkTarget.BLANK : linkService.externalLinkTarget,\n rel: linkService.externalLinkRel,\n enabled: linkService.externalLinkEnabled\n });\n } else if (data.action) {\n this._bindNamedAction(link, data.action);\n } else if (data.dest) {\n this._bindLink(link, data.dest);\n } else if (data.actions && (data.actions.Action || data.actions[\"Mouse Up\"] || data.actions[\"Mouse Down\"]) && this.enableScripting && this.hasJSActions) {\n this._bindJSAction(link, data);\n } else {\n this._bindLink(link, \"\");\n }\n\n if (this.quadrilaterals) {\n return this._renderQuadrilaterals(\"linkAnnotation\").map(function (quadrilateral, index) {\n var linkElement = index === 0 ? link : link.cloneNode();\n quadrilateral.appendChild(linkElement);\n return quadrilateral;\n });\n }\n\n this.container.className = \"linkAnnotation\";\n this.container.appendChild(link);\n return this.container;\n }\n }, {\n key: \"_bindLink\",\n value: function _bindLink(link, destination) {\n var _this34 = this;\n\n link.href = this.linkService.getDestinationHash(destination);\n\n link.onclick = function () {\n if (destination) {\n _this34.linkService.goToDestination(destination);\n }\n\n return false;\n };\n\n if (destination || destination === \"\") {\n link.className = \"internalLink\";\n }\n }\n }, {\n key: \"_bindNamedAction\",\n value: function _bindNamedAction(link, action) {\n var _this35 = this;\n\n link.href = this.linkService.getAnchorUrl(\"\");\n\n link.onclick = function () {\n _this35.linkService.executeNamedAction(action);\n\n return false;\n };\n\n link.className = \"internalLink\";\n }\n }, {\n key: \"_bindJSAction\",\n value: function _bindJSAction(link, data) {\n var _this36 = this;\n\n link.href = this.linkService.getAnchorUrl(\"\");\n var map = new Map([[\"Action\", \"onclick\"], [\"Mouse Up\", \"onmouseup\"], [\"Mouse Down\", \"onmousedown\"]]);\n\n var _loop = function _loop() {\n var name = _Object$keys[_i8];\n var jsName = map.get(name);\n\n if (!jsName) {\n return \"continue\";\n }\n\n link[jsName] = function () {\n var _this36$linkService$e;\n\n (_this36$linkService$e = _this36.linkService.eventBus) === null || _this36$linkService$e === void 0 ? void 0 : _this36$linkService$e.dispatch(\"dispatcheventinsandbox\", {\n source: _this36,\n detail: {\n id: data.id,\n name: name\n }\n });\n return false;\n };\n };\n\n for (var _i8 = 0, _Object$keys = Object.keys(data.actions); _i8 < _Object$keys.length; _i8++) {\n var _ret = _loop();\n\n if (_ret === \"continue\") continue;\n }\n\n link.className = \"internalLink\";\n }\n }]);\n\n return LinkAnnotationElement;\n }(AnnotationElement);\n\n var TextAnnotationElement = /*#__PURE__*/function (_AnnotationElement2) {\n _inherits(TextAnnotationElement, _AnnotationElement2);\n\n var _super16 = _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 _super16.call(this, parameters, {\n isRenderable: isRenderable\n });\n }\n\n _createClass(TextAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"textAnnotation\";\n var image = document.createElement(\"img\");\n image.style.height = this.container.style.height;\n image.style.width = this.container.style.width;\n image.src = this.imageResourcesPath + \"annotation-\" + this.data.name.toLowerCase() + \".svg\";\n image.alt = \"[{{type}} Annotation]\";\n image.dataset.l10nId = \"text_annotation_type\";\n image.dataset.l10nArgs = JSON.stringify({\n type: this.data.name\n });\n\n if (!this.data.hasPopup) {\n this._createPopup(image, this.data);\n }\n\n this.container.appendChild(image);\n return this.container;\n }\n }]);\n\n return TextAnnotationElement;\n }(AnnotationElement);\n\n var WidgetAnnotationElement = /*#__PURE__*/function (_AnnotationElement3) {\n _inherits(WidgetAnnotationElement, _AnnotationElement3);\n\n var _super17 = _createSuper(WidgetAnnotationElement);\n\n function WidgetAnnotationElement() {\n _classCallCheck(this, WidgetAnnotationElement);\n\n return _super17.apply(this, arguments);\n }\n\n _createClass(WidgetAnnotationElement, [{\n key: \"render\",\n value: function render() {\n if (this.data.alternativeText) {\n this.container.title = this.data.alternativeText;\n }\n\n return this.container;\n }\n }, {\n key: \"_getKeyModifier\",\n value: function _getKeyModifier(event) {\n return navigator.platform.includes(\"Win\") && event.ctrlKey || navigator.platform.includes(\"Mac\") && event.metaKey;\n }\n }, {\n key: \"_setEventListener\",\n value: function _setEventListener(element, baseName, eventName, valueGetter) {\n var _this37 = this;\n\n if (baseName.includes(\"mouse\")) {\n element.addEventListener(baseName, function (event) {\n var _this37$linkService$e;\n\n (_this37$linkService$e = _this37.linkService.eventBus) === null || _this37$linkService$e === void 0 ? void 0 : _this37$linkService$e.dispatch(\"dispatcheventinsandbox\", {\n source: _this37,\n detail: {\n id: _this37.data.id,\n name: eventName,\n value: valueGetter(event),\n shift: event.shiftKey,\n modifier: _this37._getKeyModifier(event)\n }\n });\n });\n } else {\n element.addEventListener(baseName, function (event) {\n var _this37$linkService$e2;\n\n (_this37$linkService$e2 = _this37.linkService.eventBus) === null || _this37$linkService$e2 === void 0 ? void 0 : _this37$linkService$e2.dispatch(\"dispatcheventinsandbox\", {\n source: _this37,\n detail: {\n id: _this37.data.id,\n name: eventName,\n value: event.target.checked\n }\n });\n });\n }\n }\n }, {\n key: \"_setEventListeners\",\n value: function _setEventListeners(element, names, getter) {\n var _iterator27 = _createForOfIteratorHelper(names),\n _step27;\n\n try {\n for (_iterator27.s(); !(_step27 = _iterator27.n()).done;) {\n var _this$data$actions;\n\n var _step27$value = _slicedToArray(_step27.value, 2),\n baseName = _step27$value[0],\n eventName = _step27$value[1];\n\n if (eventName === \"Action\" || (_this$data$actions = this.data.actions) !== null && _this$data$actions !== void 0 && _this$data$actions[eventName]) {\n this._setEventListener(element, baseName, eventName, getter);\n }\n }\n } catch (err) {\n _iterator27.e(err);\n } finally {\n _iterator27.f();\n }\n }\n }]);\n\n return WidgetAnnotationElement;\n }(AnnotationElement);\n\n var TextWidgetAnnotationElement = /*#__PURE__*/function (_WidgetAnnotationElem) {\n _inherits(TextWidgetAnnotationElement, _WidgetAnnotationElem);\n\n var _super18 = _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 _super18.call(this, parameters, {\n isRenderable: isRenderable\n });\n }\n\n _createClass(TextWidgetAnnotationElement, [{\n key: \"render\",\n value: function render() {\n var _this38 = this;\n\n var storage = this.annotationStorage;\n var id = this.data.id;\n this.container.className = \"textWidgetAnnotation\";\n var element = null;\n\n if (this.renderInteractiveForms) {\n var textContent = storage.getOrCreateValue(id, {\n value: this.data.fieldValue\n }).value;\n var elementData = {\n userValue: null,\n formattedValue: null,\n beforeInputSelectionRange: null,\n beforeInputValue: null\n };\n\n if (this.data.multiLine) {\n element = document.createElement(\"textarea\");\n element.textContent = textContent;\n } else {\n element = document.createElement(\"input\");\n element.type = \"text\";\n element.setAttribute(\"value\", textContent);\n }\n\n elementData.userValue = textContent;\n element.setAttribute(\"id\", id);\n element.addEventListener(\"input\", function (event) {\n storage.setValue(id, {\n value: event.target.value\n });\n });\n\n var blurListener = function blurListener(event) {\n if (elementData.formattedValue) {\n event.target.value = elementData.formattedValue;\n }\n\n event.target.setSelectionRange(0, 0);\n elementData.beforeInputSelectionRange = null;\n };\n\n if (this.enableScripting && this.hasJSActions) {\n element.addEventListener(\"focus\", function (event) {\n if (elementData.userValue) {\n event.target.value = elementData.userValue;\n }\n });\n element.addEventListener(\"updatefromsandbox\", function (event) {\n var detail = event.detail;\n var actions = {\n value: function value() {\n elementData.userValue = detail.value || \"\";\n storage.setValue(id, {\n value: elementData.userValue.toString()\n });\n\n if (!elementData.formattedValue) {\n event.target.value = elementData.userValue;\n }\n },\n valueAsString: function valueAsString() {\n elementData.formattedValue = detail.valueAsString || \"\";\n\n if (event.target !== document.activeElement) {\n event.target.value = elementData.formattedValue;\n }\n\n storage.setValue(id, {\n formattedValue: elementData.formattedValue\n });\n },\n focus: function focus() {\n setTimeout(function () {\n return event.target.focus({\n preventScroll: false\n });\n }, 0);\n },\n userName: function userName() {\n event.target.title = detail.userName;\n },\n hidden: function hidden() {\n event.target.style.visibility = detail.hidden ? \"hidden\" : \"visible\";\n storage.setValue(id, {\n hidden: detail.hidden\n });\n },\n editable: function editable() {\n event.target.disabled = !detail.editable;\n },\n selRange: function selRange() {\n var _detail$selRange = _slicedToArray(detail.selRange, 2),\n selStart = _detail$selRange[0],\n selEnd = _detail$selRange[1];\n\n if (selStart >= 0 && selEnd < event.target.value.length) {\n event.target.setSelectionRange(selStart, selEnd);\n }\n },\n strokeColor: function strokeColor() {\n var color = detail.strokeColor;\n event.target.style.color = _scripting_utils.ColorConverters[\"\".concat(color[0], \"_HTML\")](color.slice(1));\n }\n };\n Object.keys(detail).filter(function (name) {\n return name in actions;\n }).forEach(function (name) {\n return actions[name]();\n });\n });\n\n if (this.data.actions) {\n element.addEventListener(\"keydown\", function (event) {\n var _this38$linkService$e;\n\n elementData.beforeInputValue = event.target.value;\n var commitKey = -1;\n\n if (event.key === \"Escape\") {\n commitKey = 0;\n } else if (event.key === \"Enter\") {\n commitKey = 2;\n } else if (event.key === \"Tab\") {\n commitKey = 3;\n }\n\n if (commitKey === -1) {\n return;\n }\n\n elementData.userValue = event.target.value;\n (_this38$linkService$e = _this38.linkService.eventBus) === null || _this38$linkService$e === void 0 ? void 0 : _this38$linkService$e.dispatch(\"dispatcheventinsandbox\", {\n source: _this38,\n detail: {\n id: id,\n name: \"Keystroke\",\n value: event.target.value,\n willCommit: true,\n commitKey: commitKey,\n selStart: event.target.selectionStart,\n selEnd: event.target.selectionEnd\n }\n });\n });\n var _blurListener = blurListener;\n blurListener = null;\n element.addEventListener(\"blur\", function (event) {\n if (_this38._mouseState.isDown) {\n var _this38$linkService$e2;\n\n elementData.userValue = event.target.value;\n (_this38$linkService$e2 = _this38.linkService.eventBus) === null || _this38$linkService$e2 === void 0 ? void 0 : _this38$linkService$e2.dispatch(\"dispatcheventinsandbox\", {\n source: _this38,\n detail: {\n id: id,\n name: \"Keystroke\",\n value: event.target.value,\n willCommit: true,\n commitKey: 1,\n selStart: event.target.selectionStart,\n selEnd: event.target.selectionEnd\n }\n });\n }\n\n _blurListener(event);\n });\n element.addEventListener(\"mousedown\", function (event) {\n elementData.beforeInputValue = event.target.value;\n elementData.beforeInputSelectionRange = null;\n });\n element.addEventListener(\"keyup\", function (event) {\n if (event.target.selectionStart === event.target.selectionEnd) {\n elementData.beforeInputSelectionRange = null;\n }\n });\n element.addEventListener(\"select\", function (event) {\n elementData.beforeInputSelectionRange = [event.target.selectionStart, event.target.selectionEnd];\n });\n\n if (\"Keystroke\" in this.data.actions) {\n element.addEventListener(\"input\", function (event) {\n var _this38$linkService$e3;\n\n var selStart = -1;\n var selEnd = -1;\n\n if (elementData.beforeInputSelectionRange) {\n var _elementData$beforeIn = _slicedToArray(elementData.beforeInputSelectionRange, 2);\n\n selStart = _elementData$beforeIn[0];\n selEnd = _elementData$beforeIn[1];\n }\n\n (_this38$linkService$e3 = _this38.linkService.eventBus) === null || _this38$linkService$e3 === void 0 ? void 0 : _this38$linkService$e3.dispatch(\"dispatcheventinsandbox\", {\n source: _this38,\n detail: {\n id: id,\n name: \"Keystroke\",\n value: elementData.beforeInputValue,\n change: event.data,\n willCommit: false,\n selStart: selStart,\n selEnd: selEnd\n }\n });\n });\n }\n\n this._setEventListeners(element, [[\"focus\", \"Focus\"], [\"blur\", \"Blur\"], [\"mousedown\", \"Mouse Down\"], [\"mouseenter\", \"Mouse Enter\"], [\"mouseleave\", \"Mouse Exit\"], [\"mouseup\", \"Mouse Up\"]], function (event) {\n return event.target.value;\n });\n }\n }\n\n if (blurListener) {\n element.addEventListener(\"blur\", blurListener);\n }\n\n element.disabled = this.data.readOnly;\n element.name = this.data.fieldName;\n\n if (this.data.maxLen !== null) {\n element.maxLength = this.data.maxLen;\n }\n\n if (this.data.comb) {\n var fieldWidth = this.data.rect[2] - this.data.rect[0];\n var combWidth = fieldWidth / this.data.maxLen;\n element.classList.add(\"comb\");\n element.style.letterSpacing = \"calc(\".concat(combWidth, \"px - 1ch)\");\n }\n } else {\n element = document.createElement(\"div\");\n element.textContent = this.data.fieldValue;\n element.style.verticalAlign = \"middle\";\n element.style.display = \"table-cell\";\n }\n\n this._setTextStyle(element);\n\n this.container.appendChild(element);\n return this.container;\n }\n }, {\n key: \"_setTextStyle\",\n value: function _setTextStyle(element) {\n var TEXT_ALIGNMENT = [\"left\", \"center\", \"right\"];\n var _this$data$defaultApp = this.data.defaultAppearanceData,\n fontSize = _this$data$defaultApp.fontSize,\n fontColor = _this$data$defaultApp.fontColor;\n var style = element.style;\n\n if (fontSize) {\n style.fontSize = \"\".concat(fontSize, \"px\");\n }\n\n style.color = _util.Util.makeHexColor(fontColor[0], fontColor[1], fontColor[2]);\n\n if (this.data.textAlignment !== null) {\n style.textAlign = TEXT_ALIGNMENT[this.data.textAlignment];\n }\n }\n }]);\n\n return TextWidgetAnnotationElement;\n }(WidgetAnnotationElement);\n\n var CheckboxWidgetAnnotationElement = /*#__PURE__*/function (_WidgetAnnotationElem2) {\n _inherits(CheckboxWidgetAnnotationElement, _WidgetAnnotationElem2);\n\n var _super19 = _createSuper(CheckboxWidgetAnnotationElement);\n\n function CheckboxWidgetAnnotationElement(parameters) {\n _classCallCheck(this, CheckboxWidgetAnnotationElement);\n\n return _super19.call(this, parameters, {\n isRenderable: parameters.renderInteractiveForms\n });\n }\n\n _createClass(CheckboxWidgetAnnotationElement, [{\n key: \"render\",\n value: function render() {\n var storage = this.annotationStorage;\n var data = this.data;\n var id = data.id;\n var value = storage.getOrCreateValue(id, {\n value: data.fieldValue && data.fieldValue !== \"Off\"\n }).value;\n this.container.className = \"buttonWidgetAnnotation checkBox\";\n var element = document.createElement(\"input\");\n element.disabled = data.readOnly;\n element.type = \"checkbox\";\n element.name = this.data.fieldName;\n\n if (value) {\n element.setAttribute(\"checked\", true);\n }\n\n element.setAttribute(\"id\", id);\n element.addEventListener(\"change\", function (event) {\n var name = event.target.name;\n\n var _iterator28 = _createForOfIteratorHelper(document.getElementsByName(name)),\n _step28;\n\n try {\n for (_iterator28.s(); !(_step28 = _iterator28.n()).done;) {\n var checkbox = _step28.value;\n\n if (checkbox !== event.target) {\n checkbox.checked = false;\n storage.setValue(checkbox.parentNode.getAttribute(\"data-annotation-id\"), {\n value: false\n });\n }\n }\n } catch (err) {\n _iterator28.e(err);\n } finally {\n _iterator28.f();\n }\n\n storage.setValue(id, {\n value: event.target.checked\n });\n });\n\n if (this.enableScripting && this.hasJSActions) {\n element.addEventListener(\"updatefromsandbox\", function (event) {\n var detail = event.detail;\n var actions = {\n value: function value() {\n event.target.checked = detail.value !== \"Off\";\n storage.setValue(id, {\n value: event.target.checked\n });\n },\n focus: function focus() {\n setTimeout(function () {\n return event.target.focus({\n preventScroll: false\n });\n }, 0);\n },\n hidden: function hidden() {\n event.target.style.visibility = detail.hidden ? \"hidden\" : \"visible\";\n storage.setValue(id, {\n hidden: detail.hidden\n });\n },\n editable: function editable() {\n event.target.disabled = !detail.editable;\n }\n };\n Object.keys(detail).filter(function (name) {\n return name in actions;\n }).forEach(function (name) {\n return actions[name]();\n });\n });\n\n this._setEventListeners(element, [[\"change\", \"Validate\"], [\"change\", \"Action\"], [\"focus\", \"Focus\"], [\"blur\", \"Blur\"], [\"mousedown\", \"Mouse Down\"], [\"mouseenter\", \"Mouse Enter\"], [\"mouseleave\", \"Mouse Exit\"], [\"mouseup\", \"Mouse Up\"]], function (event) {\n return event.target.checked;\n });\n }\n\n this.container.appendChild(element);\n return this.container;\n }\n }]);\n\n return CheckboxWidgetAnnotationElement;\n }(WidgetAnnotationElement);\n\n var RadioButtonWidgetAnnotationElement = /*#__PURE__*/function (_WidgetAnnotationElem3) {\n _inherits(RadioButtonWidgetAnnotationElement, _WidgetAnnotationElem3);\n\n var _super20 = _createSuper(RadioButtonWidgetAnnotationElement);\n\n function RadioButtonWidgetAnnotationElement(parameters) {\n _classCallCheck(this, RadioButtonWidgetAnnotationElement);\n\n return _super20.call(this, parameters, {\n isRenderable: parameters.renderInteractiveForms\n });\n }\n\n _createClass(RadioButtonWidgetAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"buttonWidgetAnnotation radioButton\";\n var storage = this.annotationStorage;\n var data = this.data;\n var id = data.id;\n var value = storage.getOrCreateValue(id, {\n value: data.fieldValue === data.buttonValue\n }).value;\n var element = document.createElement(\"input\");\n element.disabled = data.readOnly;\n element.type = \"radio\";\n element.name = data.fieldName;\n\n if (value) {\n element.setAttribute(\"checked\", true);\n }\n\n element.setAttribute(\"pdfButtonValue\", data.buttonValue);\n element.setAttribute(\"id\", id);\n element.addEventListener(\"change\", function (event) {\n var target = event.target;\n\n var _iterator29 = _createForOfIteratorHelper(document.getElementsByName(target.name)),\n _step29;\n\n try {\n for (_iterator29.s(); !(_step29 = _iterator29.n()).done;) {\n var radio = _step29.value;\n\n if (radio !== target) {\n storage.setValue(radio.getAttribute(\"id\"), {\n value: false\n });\n }\n }\n } catch (err) {\n _iterator29.e(err);\n } finally {\n _iterator29.f();\n }\n\n storage.setValue(id, {\n value: target.checked\n });\n });\n\n if (this.enableScripting && this.hasJSActions) {\n element.addEventListener(\"updatefromsandbox\", function (event) {\n var detail = event.detail;\n var actions = {\n value: function value() {\n var fieldValue = detail.value;\n\n var _iterator30 = _createForOfIteratorHelper(document.getElementsByName(event.target.name)),\n _step30;\n\n try {\n for (_iterator30.s(); !(_step30 = _iterator30.n()).done;) {\n var radio = _step30.value;\n var radioId = radio.getAttribute(\"id\");\n\n if (fieldValue === radio.getAttribute(\"pdfButtonValue\")) {\n radio.setAttribute(\"checked\", true);\n storage.setValue(radioId, {\n value: true\n });\n } else {\n storage.setValue(radioId, {\n value: false\n });\n }\n }\n } catch (err) {\n _iterator30.e(err);\n } finally {\n _iterator30.f();\n }\n },\n focus: function focus() {\n setTimeout(function () {\n return event.target.focus({\n preventScroll: false\n });\n }, 0);\n },\n hidden: function hidden() {\n event.target.style.visibility = detail.hidden ? \"hidden\" : \"visible\";\n storage.setValue(id, {\n hidden: detail.hidden\n });\n },\n editable: function editable() {\n event.target.disabled = !detail.editable;\n }\n };\n Object.keys(detail).filter(function (name) {\n return name in actions;\n }).forEach(function (name) {\n return actions[name]();\n });\n });\n\n this._setEventListeners(element, [[\"change\", \"Validate\"], [\"change\", \"Action\"], [\"focus\", \"Focus\"], [\"blur\", \"Blur\"], [\"mousedown\", \"Mouse Down\"], [\"mouseenter\", \"Mouse Enter\"], [\"mouseleave\", \"Mouse Exit\"], [\"mouseup\", \"Mouse Up\"]], function (event) {\n return event.target.checked;\n });\n }\n\n this.container.appendChild(element);\n return this.container;\n }\n }]);\n\n return RadioButtonWidgetAnnotationElement;\n }(WidgetAnnotationElement);\n\n var PushButtonWidgetAnnotationElement = /*#__PURE__*/function (_LinkAnnotationElemen) {\n _inherits(PushButtonWidgetAnnotationElement, _LinkAnnotationElemen);\n\n var _super21 = _createSuper(PushButtonWidgetAnnotationElement);\n\n function PushButtonWidgetAnnotationElement() {\n _classCallCheck(this, PushButtonWidgetAnnotationElement);\n\n return _super21.apply(this, arguments);\n }\n\n _createClass(PushButtonWidgetAnnotationElement, [{\n key: \"render\",\n value: function render() {\n var container = _get(_getPrototypeOf(PushButtonWidgetAnnotationElement.prototype), \"render\", this).call(this);\n\n container.className = \"buttonWidgetAnnotation pushButton\";\n\n if (this.data.alternativeText) {\n container.title = this.data.alternativeText;\n }\n\n return container;\n }\n }]);\n\n return PushButtonWidgetAnnotationElement;\n }(LinkAnnotationElement);\n\n var ChoiceWidgetAnnotationElement = /*#__PURE__*/function (_WidgetAnnotationElem4) {\n _inherits(ChoiceWidgetAnnotationElement, _WidgetAnnotationElem4);\n\n var _super22 = _createSuper(ChoiceWidgetAnnotationElement);\n\n function ChoiceWidgetAnnotationElement(parameters) {\n _classCallCheck(this, ChoiceWidgetAnnotationElement);\n\n return _super22.call(this, parameters, {\n isRenderable: parameters.renderInteractiveForms\n });\n }\n\n _createClass(ChoiceWidgetAnnotationElement, [{\n key: \"render\",\n value: function render() {\n var _this39 = this;\n\n this.container.className = \"choiceWidgetAnnotation\";\n var storage = this.annotationStorage;\n var id = this.data.id;\n storage.getOrCreateValue(id, {\n value: this.data.fieldValue.length > 0 ? this.data.fieldValue[0] : undefined\n });\n var selectElement = document.createElement(\"select\");\n selectElement.disabled = this.data.readOnly;\n selectElement.name = this.data.fieldName;\n selectElement.setAttribute(\"id\", id);\n\n if (!this.data.combo) {\n selectElement.size = this.data.options.length;\n\n if (this.data.multiSelect) {\n selectElement.multiple = true;\n }\n }\n\n var _iterator31 = _createForOfIteratorHelper(this.data.options),\n _step31;\n\n try {\n for (_iterator31.s(); !(_step31 = _iterator31.n()).done;) {\n var option = _step31.value;\n var optionElement = document.createElement(\"option\");\n optionElement.textContent = option.displayValue;\n optionElement.value = option.exportValue;\n\n if (this.data.fieldValue.includes(option.exportValue)) {\n optionElement.setAttribute(\"selected\", true);\n }\n\n selectElement.appendChild(optionElement);\n }\n } catch (err) {\n _iterator31.e(err);\n } finally {\n _iterator31.f();\n }\n\n function getValue(event) {\n var options = event.target.options;\n return options[options.selectedIndex].value;\n }\n\n if (this.enableScripting && this.hasJSActions) {\n selectElement.addEventListener(\"updatefromsandbox\", function (event) {\n var detail = event.detail;\n var actions = {\n value: function value() {\n var options = event.target.options;\n var value = detail.value;\n var i = options.indexOf(value);\n\n if (i !== -1) {\n options.selectedIndex = i;\n storage.setValue(id, {\n value: value\n });\n }\n },\n focus: function focus() {\n setTimeout(function () {\n return event.target.focus({\n preventScroll: false\n });\n }, 0);\n },\n hidden: function hidden() {\n event.target.style.visibility = detail.hidden ? \"hidden\" : \"visible\";\n storage.setValue(id, {\n hidden: detail.hidden\n });\n },\n editable: function editable() {\n event.target.disabled = !detail.editable;\n }\n };\n Object.keys(detail).filter(function (name) {\n return name in actions;\n }).forEach(function (name) {\n return actions[name]();\n });\n });\n selectElement.addEventListener(\"input\", function (event) {\n var _this39$linkService$e;\n\n var value = getValue(event);\n storage.setValue(id, {\n value: value\n });\n (_this39$linkService$e = _this39.linkService.eventBus) === null || _this39$linkService$e === void 0 ? void 0 : _this39$linkService$e.dispatch(\"dispatcheventinsandbox\", {\n source: _this39,\n detail: {\n id: id,\n name: \"Keystroke\",\n changeEx: value,\n willCommit: true,\n commitKey: 1,\n keyDown: false\n }\n });\n });\n\n this._setEventListeners(selectElement, [[\"focus\", \"Focus\"], [\"blur\", \"Blur\"], [\"mousedown\", \"Mouse Down\"], [\"mouseenter\", \"Mouse Enter\"], [\"mouseleave\", \"Mouse Exit\"], [\"mouseup\", \"Mouse Up\"]], function (event) {\n return event.target.checked;\n });\n } else {\n selectElement.addEventListener(\"input\", function (event) {\n storage.setValue(id, {\n value: getValue(event)\n });\n });\n }\n\n this.container.appendChild(selectElement);\n return this.container;\n }\n }]);\n\n return ChoiceWidgetAnnotationElement;\n }(WidgetAnnotationElement);\n\n var PopupAnnotationElement = /*#__PURE__*/function (_AnnotationElement4) {\n _inherits(PopupAnnotationElement, _AnnotationElement4);\n\n var _super23 = _createSuper(PopupAnnotationElement);\n\n function PopupAnnotationElement(parameters) {\n _classCallCheck(this, PopupAnnotationElement);\n\n var isRenderable = !!(parameters.data.title || parameters.data.contents);\n return _super23.call(this, parameters, {\n isRenderable: isRenderable\n });\n }\n\n _createClass(PopupAnnotationElement, [{\n key: \"render\",\n value: function render() {\n var IGNORE_TYPES = [\"Line\", \"Square\", \"Circle\", \"PolyLine\", \"Polygon\", \"Ink\"];\n this.container.className = \"popupAnnotation\";\n\n if (IGNORE_TYPES.includes(this.data.parentType)) {\n return this.container;\n }\n\n var selector = \"[data-annotation-id=\\\"\".concat(this.data.parentId, \"\\\"]\");\n var parentElements = this.layer.querySelectorAll(selector);\n\n if (parentElements.length === 0) {\n return this.container;\n }\n\n var popup = new PopupElement({\n container: this.container,\n trigger: Array.from(parentElements),\n color: this.data.color,\n title: this.data.title,\n modificationDate: this.data.modificationDate,\n contents: this.data.contents\n });\n var page = this.page;\n\n var rect = _util.Util.normalizeRect([this.data.parentRect[0], page.view[3] - this.data.parentRect[1] + page.view[1], this.data.parentRect[2], page.view[3] - this.data.parentRect[3] + page.view[1]]);\n\n var popupLeft = rect[0] + this.data.parentRect[2] - this.data.parentRect[0];\n var popupTop = rect[1];\n this.container.style.transformOrigin = \"\".concat(-popupLeft, \"px \").concat(-popupTop, \"px\");\n this.container.style.left = \"\".concat(popupLeft, \"px\");\n this.container.style.top = \"\".concat(popupTop, \"px\");\n this.container.appendChild(popup.render());\n return this.container;\n }\n }]);\n\n return PopupAnnotationElement;\n }(AnnotationElement);\n\n var 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 _this40 = this;\n\n var BACKGROUND_ENLIGHT = 0.7;\n var wrapper = document.createElement(\"div\");\n wrapper.className = \"popupWrapper\";\n this.hideElement = this.hideWrapper ? wrapper : this.container;\n this.hideElement.setAttribute(\"hidden\", true);\n var popup = document.createElement(\"div\");\n popup.className = \"popup\";\n var color = this.color;\n\n if (color) {\n var r = BACKGROUND_ENLIGHT * (255 - color[0]) + color[0];\n var g = BACKGROUND_ENLIGHT * (255 - color[1]) + color[1];\n var b = BACKGROUND_ENLIGHT * (255 - color[2]) + color[2];\n popup.style.backgroundColor = _util.Util.makeHexColor(r | 0, g | 0, b | 0);\n }\n\n var title = document.createElement(\"h1\");\n title.textContent = this.title;\n popup.appendChild(title);\n\n var dateObject = _display_utils.PDFDateString.toDateObject(this.modificationDate);\n\n if (dateObject) {\n var modificationDate = document.createElement(\"span\");\n modificationDate.textContent = \"{{date}}, {{time}}\";\n modificationDate.dataset.l10nId = \"annotation_date_string\";\n modificationDate.dataset.l10nArgs = JSON.stringify({\n date: dateObject.toLocaleDateString(),\n time: dateObject.toLocaleTimeString()\n });\n popup.appendChild(modificationDate);\n }\n\n var contents = this._formatContents(this.contents);\n\n popup.appendChild(contents);\n\n if (!Array.isArray(this.trigger)) {\n this.trigger = [this.trigger];\n }\n\n this.trigger.forEach(function (element) {\n element.addEventListener(\"click\", _this40._toggle.bind(_this40));\n element.addEventListener(\"mouseover\", _this40._show.bind(_this40, false));\n element.addEventListener(\"mouseout\", _this40._hide.bind(_this40, false));\n });\n popup.addEventListener(\"click\", this._hide.bind(this, true));\n wrapper.appendChild(popup);\n return wrapper;\n }\n }, {\n key: \"_formatContents\",\n value: function _formatContents(contents) {\n var p = document.createElement(\"p\");\n var lines = contents.split(/(?:\\r\\n?|\\n)/);\n\n for (var i = 0, ii = lines.length; i < ii; ++i) {\n var line = lines[i];\n p.appendChild(document.createTextNode(line));\n\n if (i < ii - 1) {\n p.appendChild(document.createElement(\"br\"));\n }\n }\n\n return p;\n }\n }, {\n key: \"_toggle\",\n value: function _toggle() {\n if (this.pinned) {\n this._hide(true);\n } else {\n this._show(true);\n }\n }\n }, {\n key: \"_show\",\n value: function _show() {\n var pin = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (pin) {\n this.pinned = true;\n }\n\n if (this.hideElement.hasAttribute(\"hidden\")) {\n this.hideElement.removeAttribute(\"hidden\");\n this.container.style.zIndex += 1;\n }\n }\n }, {\n key: \"_hide\",\n value: function _hide() {\n var unpin = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n if (unpin) {\n this.pinned = false;\n }\n\n if (!this.hideElement.hasAttribute(\"hidden\") && !this.pinned) {\n this.hideElement.setAttribute(\"hidden\", true);\n this.container.style.zIndex -= 1;\n }\n }\n }]);\n\n return PopupElement;\n }();\n\n var FreeTextAnnotationElement = /*#__PURE__*/function (_AnnotationElement5) {\n _inherits(FreeTextAnnotationElement, _AnnotationElement5);\n\n var _super24 = _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 _super24.call(this, parameters, {\n isRenderable: isRenderable,\n ignoreBorder: true\n });\n }\n\n _createClass(FreeTextAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"freeTextAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return FreeTextAnnotationElement;\n }(AnnotationElement);\n\n var LineAnnotationElement = /*#__PURE__*/function (_AnnotationElement6) {\n _inherits(LineAnnotationElement, _AnnotationElement6);\n\n var _super25 = _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 _super25.call(this, parameters, {\n isRenderable: isRenderable,\n ignoreBorder: true\n });\n }\n\n _createClass(LineAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"lineAnnotation\";\n var data = this.data;\n var width = data.rect[2] - data.rect[0];\n var height = data.rect[3] - data.rect[1];\n var svg = this.svgFactory.create(width, height);\n var line = this.svgFactory.createElement(\"svg:line\");\n line.setAttribute(\"x1\", data.rect[2] - data.lineCoordinates[0]);\n line.setAttribute(\"y1\", data.rect[3] - data.lineCoordinates[1]);\n line.setAttribute(\"x2\", data.rect[2] - data.lineCoordinates[2]);\n line.setAttribute(\"y2\", data.rect[3] - data.lineCoordinates[3]);\n line.setAttribute(\"stroke-width\", data.borderStyle.width || 1);\n line.setAttribute(\"stroke\", \"transparent\");\n svg.appendChild(line);\n this.container.append(svg);\n\n this._createPopup(line, data);\n\n return this.container;\n }\n }]);\n\n return LineAnnotationElement;\n }(AnnotationElement);\n\n var SquareAnnotationElement = /*#__PURE__*/function (_AnnotationElement7) {\n _inherits(SquareAnnotationElement, _AnnotationElement7);\n\n var _super26 = _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 _super26.call(this, parameters, {\n isRenderable: isRenderable,\n ignoreBorder: true\n });\n }\n\n _createClass(SquareAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"squareAnnotation\";\n var data = this.data;\n var width = data.rect[2] - data.rect[0];\n var height = data.rect[3] - data.rect[1];\n var svg = this.svgFactory.create(width, height);\n var borderWidth = data.borderStyle.width;\n var square = this.svgFactory.createElement(\"svg:rect\");\n square.setAttribute(\"x\", borderWidth / 2);\n square.setAttribute(\"y\", borderWidth / 2);\n square.setAttribute(\"width\", width - borderWidth);\n square.setAttribute(\"height\", height - borderWidth);\n square.setAttribute(\"stroke-width\", borderWidth || 1);\n square.setAttribute(\"stroke\", \"transparent\");\n square.setAttribute(\"fill\", \"none\");\n svg.appendChild(square);\n this.container.append(svg);\n\n this._createPopup(square, data);\n\n return this.container;\n }\n }]);\n\n return SquareAnnotationElement;\n }(AnnotationElement);\n\n var CircleAnnotationElement = /*#__PURE__*/function (_AnnotationElement8) {\n _inherits(CircleAnnotationElement, _AnnotationElement8);\n\n var _super27 = _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 _super27.call(this, parameters, {\n isRenderable: isRenderable,\n ignoreBorder: true\n });\n }\n\n _createClass(CircleAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"circleAnnotation\";\n var data = this.data;\n var width = data.rect[2] - data.rect[0];\n var height = data.rect[3] - data.rect[1];\n var svg = this.svgFactory.create(width, height);\n var borderWidth = data.borderStyle.width;\n var circle = this.svgFactory.createElement(\"svg:ellipse\");\n circle.setAttribute(\"cx\", width / 2);\n circle.setAttribute(\"cy\", height / 2);\n circle.setAttribute(\"rx\", width / 2 - borderWidth / 2);\n circle.setAttribute(\"ry\", height / 2 - borderWidth / 2);\n circle.setAttribute(\"stroke-width\", borderWidth || 1);\n circle.setAttribute(\"stroke\", \"transparent\");\n circle.setAttribute(\"fill\", \"none\");\n svg.appendChild(circle);\n this.container.append(svg);\n\n this._createPopup(circle, data);\n\n return this.container;\n }\n }]);\n\n return CircleAnnotationElement;\n }(AnnotationElement);\n\n var PolylineAnnotationElement = /*#__PURE__*/function (_AnnotationElement9) {\n _inherits(PolylineAnnotationElement, _AnnotationElement9);\n\n var _super28 = _createSuper(PolylineAnnotationElement);\n\n function PolylineAnnotationElement(parameters) {\n var _this41;\n\n _classCallCheck(this, PolylineAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n _this41 = _super28.call(this, parameters, {\n isRenderable: isRenderable,\n ignoreBorder: true\n });\n _this41.containerClassName = \"polylineAnnotation\";\n _this41.svgElementName = \"svg:polyline\";\n return _this41;\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 _iterator32 = _createForOfIteratorHelper(data.vertices),\n _step32;\n\n try {\n for (_iterator32.s(); !(_step32 = _iterator32.n()).done;) {\n var coordinate = _step32.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 _iterator32.e(err);\n } finally {\n _iterator32.f();\n }\n\n points = points.join(\" \");\n var polyline = this.svgFactory.createElement(this.svgElementName);\n polyline.setAttribute(\"points\", points);\n polyline.setAttribute(\"stroke-width\", data.borderStyle.width || 1);\n polyline.setAttribute(\"stroke\", \"transparent\");\n polyline.setAttribute(\"fill\", \"none\");\n svg.appendChild(polyline);\n this.container.append(svg);\n\n this._createPopup(polyline, data);\n\n return this.container;\n }\n }]);\n\n return PolylineAnnotationElement;\n }(AnnotationElement);\n\n var PolygonAnnotationElement = /*#__PURE__*/function (_PolylineAnnotationEl) {\n _inherits(PolygonAnnotationElement, _PolylineAnnotationEl);\n\n var _super29 = _createSuper(PolygonAnnotationElement);\n\n function PolygonAnnotationElement(parameters) {\n var _this42;\n\n _classCallCheck(this, PolygonAnnotationElement);\n\n _this42 = _super29.call(this, parameters);\n _this42.containerClassName = \"polygonAnnotation\";\n _this42.svgElementName = \"svg:polygon\";\n return _this42;\n }\n\n return _createClass(PolygonAnnotationElement);\n }(PolylineAnnotationElement);\n\n var CaretAnnotationElement = /*#__PURE__*/function (_AnnotationElement10) {\n _inherits(CaretAnnotationElement, _AnnotationElement10);\n\n var _super30 = _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 _super30.call(this, parameters, {\n isRenderable: isRenderable,\n ignoreBorder: true\n });\n }\n\n _createClass(CaretAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"caretAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return CaretAnnotationElement;\n }(AnnotationElement);\n\n var InkAnnotationElement = /*#__PURE__*/function (_AnnotationElement11) {\n _inherits(InkAnnotationElement, _AnnotationElement11);\n\n var _super31 = _createSuper(InkAnnotationElement);\n\n function InkAnnotationElement(parameters) {\n var _this43;\n\n _classCallCheck(this, InkAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n _this43 = _super31.call(this, parameters, {\n isRenderable: isRenderable,\n ignoreBorder: true\n });\n _this43.containerClassName = \"inkAnnotation\";\n _this43.svgElementName = \"svg:polyline\";\n return _this43;\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 _iterator33 = _createForOfIteratorHelper(data.inkLists),\n _step33;\n\n try {\n for (_iterator33.s(); !(_step33 = _iterator33.n()).done;) {\n var inkList = _step33.value;\n var points = [];\n\n var _iterator34 = _createForOfIteratorHelper(inkList),\n _step34;\n\n try {\n for (_iterator34.s(); !(_step34 = _iterator34.n()).done;) {\n var coordinate = _step34.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 _iterator34.e(err);\n } finally {\n _iterator34.f();\n }\n\n points = points.join(\" \");\n var polyline = this.svgFactory.createElement(this.svgElementName);\n polyline.setAttribute(\"points\", points);\n polyline.setAttribute(\"stroke-width\", data.borderStyle.width || 1);\n polyline.setAttribute(\"stroke\", \"transparent\");\n polyline.setAttribute(\"fill\", \"none\");\n\n this._createPopup(polyline, data);\n\n svg.appendChild(polyline);\n }\n } catch (err) {\n _iterator33.e(err);\n } finally {\n _iterator33.f();\n }\n\n this.container.append(svg);\n return this.container;\n }\n }]);\n\n return InkAnnotationElement;\n }(AnnotationElement);\n\n var HighlightAnnotationElement = /*#__PURE__*/function (_AnnotationElement12) {\n _inherits(HighlightAnnotationElement, _AnnotationElement12);\n\n var _super32 = _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 _super32.call(this, parameters, {\n isRenderable: isRenderable,\n ignoreBorder: true,\n createQuadrilaterals: true\n });\n }\n\n _createClass(HighlightAnnotationElement, [{\n key: \"render\",\n value: function render() {\n if (!this.data.hasPopup) {\n this._createPopup(null, this.data);\n }\n\n if (this.quadrilaterals) {\n return this._renderQuadrilaterals(\"highlightAnnotation\");\n }\n\n this.container.className = \"highlightAnnotation\";\n return this.container;\n }\n }]);\n\n return HighlightAnnotationElement;\n }(AnnotationElement);\n\n var UnderlineAnnotationElement = /*#__PURE__*/function (_AnnotationElement13) {\n _inherits(UnderlineAnnotationElement, _AnnotationElement13);\n\n var _super33 = _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 _super33.call(this, parameters, {\n isRenderable: isRenderable,\n ignoreBorder: true,\n createQuadrilaterals: true\n });\n }\n\n _createClass(UnderlineAnnotationElement, [{\n key: \"render\",\n value: function render() {\n if (!this.data.hasPopup) {\n this._createPopup(null, this.data);\n }\n\n if (this.quadrilaterals) {\n return this._renderQuadrilaterals(\"underlineAnnotation\");\n }\n\n this.container.className = \"underlineAnnotation\";\n return this.container;\n }\n }]);\n\n return UnderlineAnnotationElement;\n }(AnnotationElement);\n\n var SquigglyAnnotationElement = /*#__PURE__*/function (_AnnotationElement14) {\n _inherits(SquigglyAnnotationElement, _AnnotationElement14);\n\n var _super34 = _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 _super34.call(this, parameters, {\n isRenderable: isRenderable,\n ignoreBorder: true,\n createQuadrilaterals: true\n });\n }\n\n _createClass(SquigglyAnnotationElement, [{\n key: \"render\",\n value: function render() {\n if (!this.data.hasPopup) {\n this._createPopup(null, this.data);\n }\n\n if (this.quadrilaterals) {\n return this._renderQuadrilaterals(\"squigglyAnnotation\");\n }\n\n this.container.className = \"squigglyAnnotation\";\n return this.container;\n }\n }]);\n\n return SquigglyAnnotationElement;\n }(AnnotationElement);\n\n var StrikeOutAnnotationElement = /*#__PURE__*/function (_AnnotationElement15) {\n _inherits(StrikeOutAnnotationElement, _AnnotationElement15);\n\n var _super35 = _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 _super35.call(this, parameters, {\n isRenderable: isRenderable,\n ignoreBorder: true,\n createQuadrilaterals: true\n });\n }\n\n _createClass(StrikeOutAnnotationElement, [{\n key: \"render\",\n value: function render() {\n if (!this.data.hasPopup) {\n this._createPopup(null, this.data);\n }\n\n if (this.quadrilaterals) {\n return this._renderQuadrilaterals(\"strikeoutAnnotation\");\n }\n\n this.container.className = \"strikeoutAnnotation\";\n return this.container;\n }\n }]);\n\n return StrikeOutAnnotationElement;\n }(AnnotationElement);\n\n var StampAnnotationElement = /*#__PURE__*/function (_AnnotationElement16) {\n _inherits(StampAnnotationElement, _AnnotationElement16);\n\n var _super36 = _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 _super36.call(this, parameters, {\n isRenderable: isRenderable,\n ignoreBorder: true\n });\n }\n\n _createClass(StampAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"stampAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return StampAnnotationElement;\n }(AnnotationElement);\n\n var FileAttachmentAnnotationElement = /*#__PURE__*/function (_AnnotationElement17) {\n _inherits(FileAttachmentAnnotationElement, _AnnotationElement17);\n\n var _super37 = _createSuper(FileAttachmentAnnotationElement);\n\n function FileAttachmentAnnotationElement(parameters) {\n var _this44$linkService$e;\n\n var _this44;\n\n _classCallCheck(this, FileAttachmentAnnotationElement);\n\n _this44 = _super37.call(this, parameters, {\n isRenderable: true\n });\n var _this44$data$file = _this44.data.file,\n filename = _this44$data$file.filename,\n content = _this44$data$file.content;\n _this44.filename = (0, _display_utils.getFilenameFromUrl)(filename);\n _this44.content = content;\n (_this44$linkService$e = _this44.linkService.eventBus) === null || _this44$linkService$e === void 0 ? void 0 : _this44$linkService$e.dispatch(\"fileattachmentannotation\", {\n source: _assertThisInitialized(_this44),\n id: (0, _util.stringToPDFString)(filename),\n filename: filename,\n content: content\n });\n return _this44;\n }\n\n _createClass(FileAttachmentAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"fileAttachmentAnnotation\";\n var trigger = document.createElement(\"div\");\n trigger.style.height = this.container.style.height;\n trigger.style.width = this.container.style.width;\n trigger.addEventListener(\"dblclick\", this._download.bind(this));\n\n if (!this.data.hasPopup && (this.data.title || this.data.contents)) {\n this._createPopup(trigger, this.data);\n }\n\n this.container.appendChild(trigger);\n return this.container;\n }\n }, {\n key: \"_download\",\n value: function _download() {\n if (!this.downloadManager) {\n (0, _util.warn)(\"Download cannot be started due to unavailable download manager\");\n return;\n }\n\n this.downloadManager.downloadData(this.content, this.filename, \"\");\n }\n }]);\n\n return FileAttachmentAnnotationElement;\n }(AnnotationElement);\n\n var 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 _iterator35 = _createForOfIteratorHelper(parameters.annotations),\n _step35;\n\n try {\n for (_iterator35.s(); !(_step35 = _iterator35.n()).done;) {\n var _data3 = _step35.value;\n\n if (!_data3) {\n continue;\n }\n\n if (_data3.annotationType === _util.AnnotationType.POPUP) {\n popupAnnotations.push(_data3);\n continue;\n }\n\n sortedAnnotations.push(_data3);\n }\n } catch (err) {\n _iterator35.e(err);\n } finally {\n _iterator35.f();\n }\n\n if (popupAnnotations.length) {\n sortedAnnotations.push.apply(sortedAnnotations, popupAnnotations);\n }\n\n for (var _i9 = 0, _sortedAnnotations = sortedAnnotations; _i9 < _sortedAnnotations.length; _i9++) {\n var data = _sortedAnnotations[_i9];\n var element = AnnotationElementFactory.create({\n data: data,\n layer: parameters.div,\n page: parameters.page,\n viewport: parameters.viewport,\n linkService: parameters.linkService,\n downloadManager: parameters.downloadManager,\n imageResourcesPath: parameters.imageResourcesPath || \"\",\n renderInteractiveForms: typeof parameters.renderInteractiveForms === \"boolean\" ? parameters.renderInteractiveForms : true,\n svgFactory: new _display_utils.DOMSVGFactory(),\n annotationStorage: parameters.annotationStorage || new _annotation_storage.AnnotationStorage(),\n enableScripting: parameters.enableScripting,\n hasJSActions: parameters.hasJSActions,\n mouseState: parameters.mouseState || {\n isDown: false\n }\n });\n\n if (element.isRenderable) {\n var rendered = element.render();\n\n if (data.hidden) {\n rendered.style.visibility = \"hidden\";\n }\n\n if (Array.isArray(rendered)) {\n var _iterator36 = _createForOfIteratorHelper(rendered),\n _step36;\n\n try {\n for (_iterator36.s(); !(_step36 = _iterator36.n()).done;) {\n var renderedElement = _step36.value;\n parameters.div.appendChild(renderedElement);\n }\n } catch (err) {\n _iterator36.e(err);\n } finally {\n _iterator36.f();\n }\n } else {\n if (element instanceof PopupAnnotationElement) {\n parameters.div.prepend(rendered);\n } else {\n parameters.div.appendChild(rendered);\n }\n }\n }\n }\n }\n }, {\n key: \"update\",\n value: function update(parameters) {\n var transform = \"matrix(\".concat(parameters.viewport.transform.join(\",\"), \")\");\n\n var _iterator37 = _createForOfIteratorHelper(parameters.annotations),\n _step37;\n\n try {\n for (_iterator37.s(); !(_step37 = _iterator37.n()).done;) {\n var data = _step37.value;\n var elements = parameters.div.querySelectorAll(\"[data-annotation-id=\\\"\".concat(data.id, \"\\\"]\"));\n\n if (elements) {\n elements.forEach(function (element) {\n element.style.transform = transform;\n });\n }\n }\n } catch (err) {\n _iterator37.e(err);\n } finally {\n _iterator37.f();\n }\n\n parameters.div.removeAttribute(\"hidden\");\n }\n }]);\n\n return AnnotationLayer;\n }();\n\n exports.AnnotationLayer = AnnotationLayer;\n /***/\n },\n /* 20 */\n\n /***/\n function (__unused_webpack_module, exports) {\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.ColorConverters = void 0;\n\n function makeColorComp(n) {\n return Math.floor(Math.max(0, Math.min(1, n)) * 255).toString(16).padStart(2, \"0\");\n }\n\n var ColorConverters = /*#__PURE__*/function () {\n function ColorConverters() {\n _classCallCheck(this, ColorConverters);\n }\n\n _createClass(ColorConverters, null, [{\n key: \"CMYK_G\",\n value: function CMYK_G(_ref37) {\n var _ref38 = _slicedToArray(_ref37, 4),\n c = _ref38[0],\n y = _ref38[1],\n m = _ref38[2],\n k = _ref38[3];\n\n return [\"G\", 1 - Math.min(1, 0.3 * c + 0.59 * m + 0.11 * y + k)];\n }\n }, {\n key: \"G_CMYK\",\n value: function G_CMYK(_ref39) {\n var _ref40 = _slicedToArray(_ref39, 1),\n g = _ref40[0];\n\n return [\"CMYK\", 0, 0, 0, 1 - g];\n }\n }, {\n key: \"G_RGB\",\n value: function G_RGB(_ref41) {\n var _ref42 = _slicedToArray(_ref41, 1),\n g = _ref42[0];\n\n return [\"RGB\", g, g, g];\n }\n }, {\n key: \"G_HTML\",\n value: function G_HTML(_ref43) {\n var _ref44 = _slicedToArray(_ref43, 1),\n g = _ref44[0];\n\n var G = makeColorComp(g);\n return \"#\".concat(G).concat(G).concat(G);\n }\n }, {\n key: \"RGB_G\",\n value: function RGB_G(_ref45) {\n var _ref46 = _slicedToArray(_ref45, 3),\n r = _ref46[0],\n g = _ref46[1],\n b = _ref46[2];\n\n return [\"G\", 0.3 * r + 0.59 * g + 0.11 * b];\n }\n }, {\n key: \"RGB_HTML\",\n value: function RGB_HTML(_ref47) {\n var _ref48 = _slicedToArray(_ref47, 3),\n r = _ref48[0],\n g = _ref48[1],\n b = _ref48[2];\n\n var R = makeColorComp(r);\n var G = makeColorComp(g);\n var B = makeColorComp(b);\n return \"#\".concat(R).concat(G).concat(B);\n }\n }, {\n key: \"T_HTML\",\n value: function T_HTML() {\n return \"#00000000\";\n }\n }, {\n key: \"CMYK_RGB\",\n value: function CMYK_RGB(_ref49) {\n var _ref50 = _slicedToArray(_ref49, 4),\n c = _ref50[0],\n y = _ref50[1],\n m = _ref50[2],\n k = _ref50[3];\n\n return [\"RGB\", 1 - Math.min(1, c + k), 1 - Math.min(1, m + k), 1 - Math.min(1, y + k)];\n }\n }, {\n key: \"CMYK_HTML\",\n value: function CMYK_HTML(components) {\n return this.RGB_HTML(this.CMYK_RGB(components));\n }\n }, {\n key: \"RGB_CMYK\",\n value: function RGB_CMYK(_ref51) {\n var _ref52 = _slicedToArray(_ref51, 3),\n r = _ref52[0],\n g = _ref52[1],\n b = _ref52[2];\n\n var c = 1 - r;\n var m = 1 - g;\n var y = 1 - b;\n var k = Math.min(c, m, y);\n return [\"CMYK\", c, m, y, k];\n }\n }]);\n\n return ColorConverters;\n }();\n\n exports.ColorConverters = ColorConverters;\n /***/\n },\n /* 21 */\n\n /***/\n function (__unused_webpack_module, exports, __w_pdfjs_require__) {\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.renderTextLayer = void 0;\n\n var _util = __w_pdfjs_require__(2);\n\n var renderTextLayer = function renderTextLayerClosure() {\n var MAX_TEXT_DIVS_TO_RENDER = 100000;\n var NonWhitespaceRegexp = /\\S/;\n\n function isAllWhitespace(str) {\n return !NonWhitespaceRegexp.test(str);\n }\n\n function appendText(task, geom, styles) {\n var textDiv = document.createElement(\"span\");\n var textDivProperties = {\n angle: 0,\n canvasWidth: 0,\n isWhitespace: false,\n originalTransform: null,\n paddingBottom: 0,\n paddingLeft: 0,\n paddingRight: 0,\n paddingTop: 0,\n scale: 1\n };\n\n task._textDivs.push(textDiv);\n\n if (isAllWhitespace(geom.str)) {\n textDivProperties.isWhitespace = true;\n\n task._textDivProperties.set(textDiv, textDivProperties);\n\n return;\n }\n\n var tx = _util.Util.transform(task._viewport.transform, geom.transform);\n\n var angle = Math.atan2(tx[1], tx[0]);\n var style = styles[geom.fontName];\n\n if (style.vertical) {\n angle += Math.PI / 2;\n }\n\n var fontHeight = Math.sqrt(tx[2] * tx[2] + tx[3] * tx[3]);\n var fontAscent = fontHeight;\n\n if (style.ascent) {\n fontAscent = style.ascent * fontAscent;\n } else if (style.descent) {\n fontAscent = (1 + style.descent) * fontAscent;\n }\n\n var left, top;\n\n if (angle === 0) {\n left = tx[4];\n top = tx[5] - fontAscent;\n } else {\n left = tx[4] + fontAscent * Math.sin(angle);\n top = tx[5] - fontAscent * Math.cos(angle);\n }\n\n textDiv.style.left = \"\".concat(left, \"px\");\n textDiv.style.top = \"\".concat(top, \"px\");\n textDiv.style.fontSize = \"\".concat(fontHeight, \"px\");\n textDiv.style.fontFamily = style.fontFamily;\n textDiv.textContent = geom.str;\n\n if (task._fontInspectorEnabled) {\n textDiv.dataset.fontName = geom.fontName;\n }\n\n if (angle !== 0) {\n textDivProperties.angle = angle * (180 / Math.PI);\n }\n\n var shouldScaleText = false;\n\n if (geom.str.length > 1) {\n shouldScaleText = true;\n } else if (geom.transform[0] !== geom.transform[3]) {\n var absScaleX = Math.abs(geom.transform[0]),\n absScaleY = Math.abs(geom.transform[3]);\n\n if (absScaleX !== absScaleY && Math.max(absScaleX, absScaleY) / Math.min(absScaleX, absScaleY) > 1.5) {\n shouldScaleText = true;\n }\n }\n\n if (shouldScaleText) {\n if (style.vertical) {\n textDivProperties.canvasWidth = geom.height * task._viewport.scale;\n } else {\n textDivProperties.canvasWidth = geom.width * task._viewport.scale;\n }\n }\n\n task._textDivProperties.set(textDiv, textDivProperties);\n\n if (task._textContentStream) {\n task._layoutText(textDiv);\n }\n\n if (task._enhanceTextSelection) {\n var angleCos = 1,\n angleSin = 0;\n\n if (angle !== 0) {\n angleCos = Math.cos(angle);\n angleSin = Math.sin(angle);\n }\n\n var divWidth = (style.vertical ? geom.height : geom.width) * task._viewport.scale;\n var divHeight = fontHeight;\n var m, b;\n\n if (angle !== 0) {\n m = [angleCos, angleSin, -angleSin, angleCos, left, top];\n b = _util.Util.getAxialAlignedBoundingBox([0, 0, divWidth, divHeight], m);\n } else {\n b = [left, top, left + divWidth, top + divHeight];\n }\n\n task._bounds.push({\n left: b[0],\n top: b[1],\n right: b[2],\n bottom: b[3],\n div: textDiv,\n size: [divWidth, divHeight],\n m: m\n });\n }\n }\n\n function render(task) {\n if (task._canceled) {\n return;\n }\n\n var textDivs = task._textDivs;\n var capability = task._capability;\n var textDivsLength = textDivs.length;\n\n if (textDivsLength > MAX_TEXT_DIVS_TO_RENDER) {\n task._renderingDone = true;\n capability.resolve();\n return;\n }\n\n if (!task._textContentStream) {\n for (var i = 0; i < textDivsLength; i++) {\n task._layoutText(textDivs[i]);\n }\n }\n\n task._renderingDone = true;\n capability.resolve();\n }\n\n function findPositiveMin(ts, offset, count) {\n var result = 0;\n\n for (var i = 0; i < count; i++) {\n var t = ts[offset++];\n\n if (t > 0) {\n result = result ? Math.min(t, result) : t;\n }\n }\n\n return result;\n }\n\n function expand(task) {\n var bounds = task._bounds;\n var viewport = task._viewport;\n var expanded = expandBounds(viewport.width, viewport.height, bounds);\n\n var _loop2 = function _loop2(i) {\n var div = bounds[i].div;\n\n var divProperties = task._textDivProperties.get(div);\n\n if (divProperties.angle === 0) {\n divProperties.paddingLeft = bounds[i].left - expanded[i].left;\n divProperties.paddingTop = bounds[i].top - expanded[i].top;\n divProperties.paddingRight = expanded[i].right - bounds[i].right;\n divProperties.paddingBottom = expanded[i].bottom - bounds[i].bottom;\n\n task._textDivProperties.set(div, divProperties);\n\n return \"continue\";\n }\n\n var e = expanded[i],\n b = bounds[i];\n var m = b.m,\n c = m[0],\n s = m[1];\n var points = [[0, 0], [0, b.size[1]], [b.size[0], 0], b.size];\n var ts = new Float64Array(64);\n points.forEach(function (p, j) {\n var t = _util.Util.applyTransform(p, m);\n\n ts[j + 0] = c && (e.left - t[0]) / c;\n ts[j + 4] = s && (e.top - t[1]) / s;\n ts[j + 8] = c && (e.right - t[0]) / c;\n ts[j + 12] = s && (e.bottom - t[1]) / s;\n ts[j + 16] = s && (e.left - t[0]) / -s;\n ts[j + 20] = c && (e.top - t[1]) / c;\n ts[j + 24] = s && (e.right - t[0]) / -s;\n ts[j + 28] = c && (e.bottom - t[1]) / c;\n ts[j + 32] = c && (e.left - t[0]) / -c;\n ts[j + 36] = s && (e.top - t[1]) / -s;\n ts[j + 40] = c && (e.right - t[0]) / -c;\n ts[j + 44] = s && (e.bottom - t[1]) / -s;\n ts[j + 48] = s && (e.left - t[0]) / s;\n ts[j + 52] = c && (e.top - t[1]) / -c;\n ts[j + 56] = s && (e.right - t[0]) / s;\n ts[j + 60] = c && (e.bottom - t[1]) / -c;\n });\n var boxScale = 1 + Math.min(Math.abs(c), Math.abs(s));\n divProperties.paddingLeft = findPositiveMin(ts, 32, 16) / boxScale;\n divProperties.paddingTop = findPositiveMin(ts, 48, 16) / boxScale;\n divProperties.paddingRight = findPositiveMin(ts, 0, 16) / boxScale;\n divProperties.paddingBottom = findPositiveMin(ts, 16, 16) / boxScale;\n\n task._textDivProperties.set(div, divProperties);\n };\n\n for (var i = 0; i < expanded.length; i++) {\n var _ret2 = _loop2(i);\n\n if (_ret2 === \"continue\") continue;\n }\n }\n\n function expandBounds(width, height, boxes) {\n var bounds = boxes.map(function (box, i) {\n return {\n x1: box.left,\n y1: box.top,\n x2: box.right,\n y2: box.bottom,\n index: i,\n x1New: undefined,\n x2New: undefined\n };\n });\n expandBoundsLTR(width, bounds);\n var expanded = new Array(boxes.length);\n bounds.forEach(function (b) {\n var i = b.index;\n expanded[i] = {\n left: b.x1New,\n top: 0,\n right: b.x2New,\n bottom: 0\n };\n });\n boxes.map(function (box, i) {\n var e = expanded[i],\n b = bounds[i];\n b.x1 = box.top;\n b.y1 = width - e.right;\n b.x2 = box.bottom;\n b.y2 = width - e.left;\n b.index = i;\n b.x1New = undefined;\n b.x2New = undefined;\n });\n expandBoundsLTR(height, bounds);\n bounds.forEach(function (b) {\n var i = b.index;\n expanded[i].top = b.x1New;\n expanded[i].bottom = b.x2New;\n });\n return expanded;\n }\n\n function expandBoundsLTR(width, bounds) {\n bounds.sort(function (a, b) {\n return a.x1 - b.x1 || a.index - b.index;\n });\n var fakeBoundary = {\n x1: -Infinity,\n y1: -Infinity,\n x2: 0,\n y2: Infinity,\n index: -1,\n x1New: 0,\n x2New: 0\n };\n var horizon = [{\n start: -Infinity,\n end: Infinity,\n boundary: fakeBoundary\n }];\n bounds.forEach(function (boundary) {\n var i = 0;\n\n while (i < horizon.length && horizon[i].end <= boundary.y1) {\n i++;\n }\n\n var j = horizon.length - 1;\n\n while (j >= 0 && horizon[j].start >= boundary.y2) {\n j--;\n }\n\n var horizonPart, affectedBoundary;\n var q,\n k,\n maxXNew = -Infinity;\n\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n var xNew = void 0;\n\n if (affectedBoundary.x2 > boundary.x1) {\n xNew = affectedBoundary.index > boundary.index ? affectedBoundary.x1New : boundary.x1;\n } else if (affectedBoundary.x2New === undefined) {\n xNew = (affectedBoundary.x2 + boundary.x1) / 2;\n } else {\n xNew = affectedBoundary.x2New;\n }\n\n if (xNew > maxXNew) {\n maxXNew = xNew;\n }\n }\n\n boundary.x1New = maxXNew;\n\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n\n if (affectedBoundary.x2New === undefined) {\n if (affectedBoundary.x2 > boundary.x1) {\n if (affectedBoundary.index > boundary.index) {\n affectedBoundary.x2New = affectedBoundary.x2;\n }\n } else {\n affectedBoundary.x2New = maxXNew;\n }\n } else if (affectedBoundary.x2New > maxXNew) {\n affectedBoundary.x2New = Math.max(maxXNew, affectedBoundary.x2);\n }\n }\n\n var changedHorizon = [];\n var lastBoundary = null;\n\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n var useBoundary = affectedBoundary.x2 > boundary.x2 ? affectedBoundary : boundary;\n\n if (lastBoundary === useBoundary) {\n changedHorizon[changedHorizon.length - 1].end = horizonPart.end;\n } else {\n changedHorizon.push({\n start: horizonPart.start,\n end: horizonPart.end,\n boundary: useBoundary\n });\n lastBoundary = useBoundary;\n }\n }\n\n if (horizon[i].start < boundary.y1) {\n changedHorizon[0].start = boundary.y1;\n changedHorizon.unshift({\n start: horizon[i].start,\n end: boundary.y1,\n boundary: horizon[i].boundary\n });\n }\n\n if (boundary.y2 < horizon[j].end) {\n changedHorizon[changedHorizon.length - 1].end = boundary.y2;\n changedHorizon.push({\n start: boundary.y2,\n end: horizon[j].end,\n boundary: horizon[j].boundary\n });\n }\n\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n\n if (affectedBoundary.x2New !== undefined) {\n continue;\n }\n\n var used = false;\n\n for (k = i - 1; !used && k >= 0 && horizon[k].start >= affectedBoundary.y1; k--) {\n used = horizon[k].boundary === affectedBoundary;\n }\n\n for (k = j + 1; !used && k < horizon.length && horizon[k].end <= affectedBoundary.y2; k++) {\n used = horizon[k].boundary === affectedBoundary;\n }\n\n for (k = 0; !used && k < changedHorizon.length; k++) {\n used = changedHorizon[k].boundary === affectedBoundary;\n }\n\n if (!used) {\n affectedBoundary.x2New = maxXNew;\n }\n }\n\n Array.prototype.splice.apply(horizon, [i, j - i + 1].concat(changedHorizon));\n });\n horizon.forEach(function (horizonPart) {\n var affectedBoundary = horizonPart.boundary;\n\n if (affectedBoundary.x2New === undefined) {\n affectedBoundary.x2New = Math.max(width, affectedBoundary.x2);\n }\n });\n }\n\n function TextLayerRenderTask(_ref53) {\n var _globalThis$FontInspe2,\n _this45 = this;\n\n var textContent = _ref53.textContent,\n textContentStream = _ref53.textContentStream,\n container = _ref53.container,\n viewport = _ref53.viewport,\n textDivs = _ref53.textDivs,\n textContentItemsStr = _ref53.textContentItemsStr,\n enhanceTextSelection = _ref53.enhanceTextSelection;\n this._textContent = textContent;\n this._textContentStream = textContentStream;\n this._container = container;\n this._document = container.ownerDocument;\n this._viewport = viewport;\n this._textDivs = textDivs || [];\n this._textContentItemsStr = textContentItemsStr || [];\n this._enhanceTextSelection = !!enhanceTextSelection;\n this._fontInspectorEnabled = !!((_globalThis$FontInspe2 = globalThis.FontInspector) !== null && _globalThis$FontInspe2 !== void 0 && _globalThis$FontInspe2.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 (_this45._layoutTextCtx) {\n _this45._layoutTextCtx.canvas.width = 0;\n _this45._layoutTextCtx.canvas.height = 0;\n _this45._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 _this46 = this;\n\n var capability = (0, _util.createPromiseCapability)();\n var styleCache = Object.create(null);\n\n var canvas = this._document.createElement(\"canvas\");\n\n canvas.mozOpaque = true;\n this._layoutTextCtx = canvas.getContext(\"2d\", {\n alpha: false\n });\n\n if (this._textContent) {\n var textItems = this._textContent.items;\n var textStyles = this._textContent.styles;\n\n this._processItems(textItems, textStyles);\n\n capability.resolve();\n } else if (this._textContentStream) {\n var pump = function pump() {\n _this46._reader.read().then(function (_ref54) {\n var value = _ref54.value,\n done = _ref54.done;\n\n if (done) {\n capability.resolve();\n return;\n }\n\n Object.assign(styleCache, value.styles);\n\n _this46._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(_this46);\n } else {\n _this46._renderTimer = setTimeout(function () {\n render(_this46);\n _this46._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\n exports.renderTextLayer = renderTextLayer;\n /***/\n },\n /* 22 */\n\n /***/\n function (__unused_webpack_module, exports, __w_pdfjs_require__) {\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.SVGGraphics = void 0;\n\n var _util = __w_pdfjs_require__(2);\n\n var _display_utils = __w_pdfjs_require__(1);\n\n var _is_node = __w_pdfjs_require__(4);\n\n var SVGGraphics = function SVGGraphics() {\n throw new Error(\"Not implemented: SVGGraphics\");\n };\n\n exports.SVGGraphics = SVGGraphics;\n {\n var opListToTree = function opListToTree(opList) {\n var opTree = [];\n var tmp = [];\n\n var _iterator38 = _createForOfIteratorHelper(opList),\n _step38;\n\n try {\n for (_iterator38.s(); !(_step38 = _iterator38.n()).done;) {\n var opListElement = _step38.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 _iterator38.e(err);\n } finally {\n _iterator38.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 _i10 = start; _i10 < end; _i10++) {\n var a = (crc ^ data[_i10]) & 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 _i11 = start; _i11 < end; ++_i11) {\n a = (a + (data[_i11] & 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 _i12 = 0; _i12 < lineSize; _i12++) {\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 _this47 = 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 _iterator39 = _createForOfIteratorHelper(argsArray[i]),\n _step39;\n\n try {\n var _loop3 = function _loop3() {\n var obj = _step39.value;\n var objsPool = obj.startsWith(\"g_\") ? _this47.commonObjs : _this47.objs;\n var promise = new Promise(function (resolve) {\n objsPool.get(obj, resolve);\n });\n\n _this47.current.dependencies.push(promise);\n };\n\n for (_iterator39.s(); !(_step39 = _iterator39.n()).done;) {\n _loop3();\n }\n } catch (err) {\n _iterator39.e(err);\n } finally {\n _iterator39.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 _this48 = this;\n\n this.viewport = viewport;\n\n var svgElement = this._initialize(viewport);\n\n return this.loadDependencies(operatorList).then(function () {\n _this48.transformMatrix = _util.IDENTITY_MATRIX;\n\n _this48.executeOpTree(_this48.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 _iterator40 = _createForOfIteratorHelper(opTree),\n _step40;\n\n try {\n for (_iterator40.s(); !(_step40 = _iterator40.n()).done;) {\n var opTreeElement = _step40.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 _iterator40.e(err);\n } finally {\n _iterator40.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 _iterator41 = _createForOfIteratorHelper(glyphs),\n _step41;\n\n try {\n for (_iterator41.s(); !(_step41 = _iterator41.n()).done;) {\n var glyph = _step41.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 _iterator41.e(err);\n } finally {\n _iterator41.f();\n }\n\n current.tspan.setAttributeNS(null, \"x\", current.xcoords.map(pf).join(\" \"));\n\n if (vertical) {\n current.tspan.setAttributeNS(null, \"y\", current.ycoords.map(pf).join(\" \"));\n } else {\n current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n }\n\n if (vertical) {\n current.y -= x;\n } else {\n current.x += x * textHScale;\n }\n\n current.tspan.setAttributeNS(null, \"font-family\", current.fontFamily);\n current.tspan.setAttributeNS(null, \"font-size\", \"\".concat(pf(current.fontSize), \"px\"));\n\n if (current.fontStyle !== SVG_DEFAULTS.fontStyle) {\n current.tspan.setAttributeNS(null, \"font-style\", current.fontStyle);\n }\n\n if (current.fontWeight !== SVG_DEFAULTS.fontWeight) {\n current.tspan.setAttributeNS(null, \"font-weight\", current.fontWeight);\n }\n\n var fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n\n if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n if (current.fillColor !== SVG_DEFAULTS.fillColor) {\n current.tspan.setAttributeNS(null, \"fill\", current.fillColor);\n }\n\n if (current.fillAlpha < 1) {\n current.tspan.setAttributeNS(null, \"fill-opacity\", current.fillAlpha);\n }\n } else if (current.textRenderingMode === _util.TextRenderingMode.ADD_TO_PATH) {\n current.tspan.setAttributeNS(null, \"fill\", \"transparent\");\n } else {\n current.tspan.setAttributeNS(null, \"fill\", \"none\");\n }\n\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n var lineWidthScale = 1 / (current.textMatrixScale || 1);\n\n this._setStrokeAttributes(current.tspan, lineWidthScale);\n }\n\n var textMatrix = current.textMatrix;\n\n if (current.textRise !== 0) {\n textMatrix = textMatrix.slice();\n textMatrix[5] += current.textRise;\n }\n\n current.txtElement.setAttributeNS(null, \"transform\", \"\".concat(pm(textMatrix), \" scale(\").concat(pf(textHScale), \", -1)\"));\n current.txtElement.setAttributeNS(XML_NS, \"xml:space\", \"preserve\");\n current.txtElement.appendChild(current.tspan);\n current.txtgrp.appendChild(current.txtElement);\n\n this._ensureTransformGroup().appendChild(current.txtElement);\n }\n }, {\n key: \"setLeadingMoveText\",\n value: function setLeadingMoveText(x, y) {\n this.setLeading(-y);\n this.moveText(x, y);\n }\n }, {\n key: \"addFontStyle\",\n value: function addFontStyle(fontObj) {\n if (!fontObj.data) {\n throw new Error(\"addFontStyle: No font data available, \" + 'ensure that the \"fontExtraProperties\" API parameter is set.');\n }\n\n if (!this.cssStyle) {\n this.cssStyle = this.svgFactory.createElement(\"svg:style\");\n this.cssStyle.setAttributeNS(null, \"type\", \"text/css\");\n this.defs.appendChild(this.cssStyle);\n }\n\n var url = (0, _util.createObjectURL)(fontObj.data, fontObj.mimetype, this.forceDataSchema);\n this.cssStyle.textContent += \"@font-face { font-family: \\\"\".concat(fontObj.loadedName, \"\\\";\") + \" src: url(\".concat(url, \"); }\\n\");\n }\n }, {\n key: \"setFont\",\n value: function setFont(details) {\n var current = this.current;\n var fontObj = this.commonObjs.get(details[0]);\n var size = details[1];\n current.font = fontObj;\n\n if (this.embedFonts && !fontObj.missingFile && !this.embeddedFonts[fontObj.loadedName]) {\n this.addFontStyle(fontObj);\n this.embeddedFonts[fontObj.loadedName] = fontObj;\n }\n\n current.fontMatrix = fontObj.fontMatrix || _util.FONT_IDENTITY_MATRIX;\n var bold = \"normal\";\n\n if (fontObj.black) {\n bold = \"900\";\n } else if (fontObj.bold) {\n bold = \"bold\";\n }\n\n var italic = fontObj.italic ? \"italic\" : \"normal\";\n\n if (size < 0) {\n size = -size;\n current.fontDirection = -1;\n } else {\n current.fontDirection = 1;\n }\n\n current.fontSize = size;\n current.fontFamily = fontObj.loadedName;\n current.fontWeight = bold;\n current.fontStyle = italic;\n current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n current.xcoords = [];\n current.ycoords = [];\n }\n }, {\n key: \"endText\",\n value: function endText() {\n var _current$txtElement;\n\n var current = this.current;\n\n if (current.textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG && (_current$txtElement = current.txtElement) !== null && _current$txtElement !== void 0 && _current$txtElement.hasChildNodes()) {\n current.element = current.txtElement;\n this.clip(\"nonzero\");\n this.endPath();\n }\n }\n }, {\n key: \"setLineWidth\",\n value: function setLineWidth(width) {\n if (width > 0) {\n this.current.lineWidth = width;\n }\n }\n }, {\n key: \"setLineCap\",\n value: function setLineCap(style) {\n this.current.lineCap = LINE_CAP_STYLES[style];\n }\n }, {\n key: \"setLineJoin\",\n value: function setLineJoin(style) {\n this.current.lineJoin = LINE_JOIN_STYLES[style];\n }\n }, {\n key: \"setMiterLimit\",\n value: function setMiterLimit(limit) {\n this.current.miterLimit = limit;\n }\n }, {\n key: \"setStrokeAlpha\",\n value: function setStrokeAlpha(strokeAlpha) {\n this.current.strokeAlpha = strokeAlpha;\n }\n }, {\n key: \"setStrokeRGBColor\",\n value: function setStrokeRGBColor(r, g, b) {\n this.current.strokeColor = _util.Util.makeHexColor(r, g, b);\n }\n }, {\n key: \"setFillAlpha\",\n value: function setFillAlpha(fillAlpha) {\n this.current.fillAlpha = fillAlpha;\n }\n }, {\n key: \"setFillRGBColor\",\n value: function setFillRGBColor(r, g, b) {\n this.current.fillColor = _util.Util.makeHexColor(r, g, b);\n this.current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n this.current.xcoords = [];\n this.current.ycoords = [];\n }\n }, {\n key: \"setStrokeColorN\",\n value: function setStrokeColorN(args) {\n this.current.strokeColor = this._makeColorN_Pattern(args);\n }\n }, {\n key: \"setFillColorN\",\n value: function setFillColorN(args) {\n this.current.fillColor = this._makeColorN_Pattern(args);\n }\n }, {\n key: \"shadingFill\",\n value: function shadingFill(args) {\n var width = this.viewport.width;\n var height = this.viewport.height;\n\n var inv = _util.Util.inverseTransform(this.transformMatrix);\n\n var bl = _util.Util.applyTransform([0, 0], inv);\n\n var br = _util.Util.applyTransform([0, height], inv);\n\n var ul = _util.Util.applyTransform([width, 0], inv);\n\n var ur = _util.Util.applyTransform([width, height], inv);\n\n var x0 = Math.min(bl[0], br[0], ul[0], ur[0]);\n var y0 = Math.min(bl[1], br[1], ul[1], ur[1]);\n var x1 = Math.max(bl[0], br[0], ul[0], ur[0]);\n var y1 = Math.max(bl[1], br[1], ul[1], ur[1]);\n var rect = this.svgFactory.createElement(\"svg:rect\");\n rect.setAttributeNS(null, \"x\", x0);\n rect.setAttributeNS(null, \"y\", y0);\n rect.setAttributeNS(null, \"width\", x1 - x0);\n rect.setAttributeNS(null, \"height\", y1 - y0);\n rect.setAttributeNS(null, \"fill\", this._makeShadingPattern(args));\n\n if (this.current.fillAlpha < 1) {\n rect.setAttributeNS(null, \"fill-opacity\", this.current.fillAlpha);\n }\n\n this._ensureTransformGroup().appendChild(rect);\n }\n }, {\n key: \"_makeColorN_Pattern\",\n value: function _makeColorN_Pattern(args) {\n if (args[0] === \"TilingPattern\") {\n return this._makeTilingPattern(args);\n }\n\n return this._makeShadingPattern(args);\n }\n }, {\n key: \"_makeTilingPattern\",\n value: function _makeTilingPattern(args) {\n var color = args[1];\n var operatorList = args[2];\n var matrix = args[3] || _util.IDENTITY_MATRIX;\n\n var _args$ = _slicedToArray(args[4], 4),\n x0 = _args$[0],\n y0 = _args$[1],\n x1 = _args$[2],\n y1 = _args$[3];\n\n var xstep = args[5];\n var ystep = args[6];\n var paintType = args[7];\n var tilingId = \"shading\".concat(shadingCount++);\n\n var _util$Util$applyTrans = _util.Util.applyTransform([x0, y0], matrix),\n _util$Util$applyTrans2 = _slicedToArray(_util$Util$applyTrans, 2),\n tx0 = _util$Util$applyTrans2[0],\n ty0 = _util$Util$applyTrans2[1];\n\n var _util$Util$applyTrans3 = _util.Util.applyTransform([x1, y1], matrix),\n _util$Util$applyTrans4 = _slicedToArray(_util$Util$applyTrans3, 2),\n tx1 = _util$Util$applyTrans4[0],\n ty1 = _util$Util$applyTrans4[1];\n\n var _util$Util$singularVa = _util.Util.singularValueDecompose2dScale(matrix),\n _util$Util$singularVa2 = _slicedToArray(_util$Util$singularVa, 2),\n xscale = _util$Util$singularVa2[0],\n yscale = _util$Util$singularVa2[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 _util$Util;\n\n var cssColor = (_util$Util = _util.Util).makeHexColor.apply(_util$Util, _toConsumableArray(color));\n\n this.current.fillColor = cssColor;\n this.current.strokeColor = cssColor;\n }\n\n this.executeOpTree(this.convertOpList(operatorList));\n this.svg = svg;\n this.transformMatrix = transformMatrix;\n this.current.fillColor = fillColor;\n this.current.strokeColor = strokeColor;\n tiling.appendChild(bbox.childNodes[0]);\n this.defs.appendChild(tiling);\n return \"url(#\".concat(tilingId, \")\");\n }\n }, {\n key: \"_makeShadingPattern\",\n value: function _makeShadingPattern(args) {\n switch (args[0]) {\n case \"RadialAxial\":\n var shadingId = \"shading\".concat(shadingCount++);\n var colorStops = args[3];\n var gradient;\n\n switch (args[1]) {\n case \"axial\":\n var point0 = args[4];\n var point1 = args[5];\n gradient = this.svgFactory.createElement(\"svg:linearGradient\");\n gradient.setAttributeNS(null, \"id\", shadingId);\n gradient.setAttributeNS(null, \"gradientUnits\", \"userSpaceOnUse\");\n gradient.setAttributeNS(null, \"x1\", point0[0]);\n gradient.setAttributeNS(null, \"y1\", point0[1]);\n gradient.setAttributeNS(null, \"x2\", point1[0]);\n gradient.setAttributeNS(null, \"y2\", point1[1]);\n break;\n\n case \"radial\":\n var focalPoint = args[4];\n var circlePoint = args[5];\n var focalRadius = args[6];\n var circleRadius = args[7];\n gradient = this.svgFactory.createElement(\"svg:radialGradient\");\n gradient.setAttributeNS(null, \"id\", shadingId);\n gradient.setAttributeNS(null, \"gradientUnits\", \"userSpaceOnUse\");\n gradient.setAttributeNS(null, \"cx\", circlePoint[0]);\n gradient.setAttributeNS(null, \"cy\", circlePoint[1]);\n gradient.setAttributeNS(null, \"r\", circleRadius);\n gradient.setAttributeNS(null, \"fx\", focalPoint[0]);\n gradient.setAttributeNS(null, \"fy\", focalPoint[1]);\n gradient.setAttributeNS(null, \"fr\", focalRadius);\n break;\n\n default:\n throw new Error(\"Unknown RadialAxial type: \".concat(args[1]));\n }\n\n var _iterator42 = _createForOfIteratorHelper(colorStops),\n _step42;\n\n try {\n for (_iterator42.s(); !(_step42 = _iterator42.n()).done;) {\n var colorStop = _step42.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 _iterator42.e(err);\n } finally {\n _iterator42.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 _iterator43 = _createForOfIteratorHelper(ops),\n _step43;\n\n try {\n for (_iterator43.s(); !(_step43 = _iterator43.n()).done;) {\n var op = _step43.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 _iterator43.e(err);\n } finally {\n _iterator43.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 _iterator44 = _createForOfIteratorHelper(states),\n _step44;\n\n try {\n for (_iterator44.s(); !(_step44 = _iterator44.n()).done;) {\n var _step44$value = _slicedToArray(_step44.value, 2),\n key = _step44$value[0],\n value = _step44$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 _iterator44.e(err);\n } finally {\n _iterator44.f();\n }\n }\n }, {\n key: \"fill\",\n value: function fill() {\n var current = this.current;\n\n if (current.element) {\n current.element.setAttributeNS(null, \"fill\", current.fillColor);\n current.element.setAttributeNS(null, \"fill-opacity\", current.fillAlpha);\n this.endPath();\n }\n }\n }, {\n key: \"stroke\",\n value: function stroke() {\n var current = this.current;\n\n if (current.element) {\n this._setStrokeAttributes(current.element);\n\n current.element.setAttributeNS(null, \"fill\", \"none\");\n this.endPath();\n }\n }\n }, {\n key: \"_setStrokeAttributes\",\n value: function _setStrokeAttributes(element) {\n var lineWidthScale = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n var current = this.current;\n var dashArray = current.dashArray;\n\n if (lineWidthScale !== 1 && dashArray.length > 0) {\n dashArray = dashArray.map(function (value) {\n return lineWidthScale * value;\n });\n }\n\n element.setAttributeNS(null, \"stroke\", current.strokeColor);\n element.setAttributeNS(null, \"stroke-opacity\", current.strokeAlpha);\n element.setAttributeNS(null, \"stroke-miterlimit\", pf(current.miterLimit));\n element.setAttributeNS(null, \"stroke-linecap\", current.lineCap);\n element.setAttributeNS(null, \"stroke-linejoin\", current.lineJoin);\n element.setAttributeNS(null, \"stroke-width\", pf(lineWidthScale * current.lineWidth) + \"px\");\n element.setAttributeNS(null, \"stroke-dasharray\", dashArray.map(pf).join(\" \"));\n element.setAttributeNS(null, \"stroke-dashoffset\", pf(lineWidthScale * current.dashPhase) + \"px\");\n }\n }, {\n key: \"eoFill\",\n value: function eoFill() {\n if (this.current.element) {\n this.current.element.setAttributeNS(null, \"fill-rule\", \"evenodd\");\n }\n\n this.fill();\n }\n }, {\n key: \"fillStroke\",\n value: function fillStroke() {\n this.stroke();\n this.fill();\n }\n }, {\n key: \"eoFillStroke\",\n value: function eoFillStroke() {\n if (this.current.element) {\n this.current.element.setAttributeNS(null, \"fill-rule\", \"evenodd\");\n }\n\n this.fillStroke();\n }\n }, {\n key: \"closeStroke\",\n value: function closeStroke() {\n this.closePath();\n this.stroke();\n }\n }, {\n key: \"closeFillStroke\",\n value: function closeFillStroke() {\n this.closePath();\n this.fillStroke();\n }\n }, {\n key: \"closeEOFillStroke\",\n value: function closeEOFillStroke() {\n this.closePath();\n this.eoFillStroke();\n }\n }, {\n key: \"paintSolidColorImageMask\",\n value: function paintSolidColorImageMask() {\n var rect = this.svgFactory.createElement(\"svg:rect\");\n rect.setAttributeNS(null, \"x\", \"0\");\n rect.setAttributeNS(null, \"y\", \"0\");\n rect.setAttributeNS(null, \"width\", \"1px\");\n rect.setAttributeNS(null, \"height\", \"1px\");\n rect.setAttributeNS(null, \"fill\", this.current.fillColor);\n\n this._ensureTransformGroup().appendChild(rect);\n }\n }, {\n key: \"paintImageXObject\",\n value: function paintImageXObject(objId) {\n var imgData = objId.startsWith(\"g_\") ? this.commonObjs.get(objId) : this.objs.get(objId);\n\n if (!imgData) {\n (0, _util.warn)(\"Dependent image with object ID \".concat(objId, \" is not ready yet\"));\n return;\n }\n\n this.paintInlineImageXObject(imgData);\n }\n }, {\n key: \"paintInlineImageXObject\",\n value: function paintInlineImageXObject(imgData, mask) {\n var width = imgData.width;\n var height = imgData.height;\n var imgSrc = convertImgDataToPng(imgData, this.forceDataSchema, !!mask);\n var cliprect = this.svgFactory.createElement(\"svg:rect\");\n cliprect.setAttributeNS(null, \"x\", \"0\");\n cliprect.setAttributeNS(null, \"y\", \"0\");\n cliprect.setAttributeNS(null, \"width\", pf(width));\n cliprect.setAttributeNS(null, \"height\", pf(height));\n this.current.element = cliprect;\n this.clip(\"nonzero\");\n var imgEl = this.svgFactory.createElement(\"svg:image\");\n imgEl.setAttributeNS(XLINK_NS, \"xlink:href\", imgSrc);\n imgEl.setAttributeNS(null, \"x\", \"0\");\n imgEl.setAttributeNS(null, \"y\", pf(-height));\n imgEl.setAttributeNS(null, \"width\", pf(width) + \"px\");\n imgEl.setAttributeNS(null, \"height\", pf(height) + \"px\");\n imgEl.setAttributeNS(null, \"transform\", \"scale(\".concat(pf(1 / width), \" \").concat(pf(-1 / height), \")\"));\n\n if (mask) {\n mask.appendChild(imgEl);\n } else {\n this._ensureTransformGroup().appendChild(imgEl);\n }\n }\n }, {\n key: \"paintImageMaskXObject\",\n value: function paintImageMaskXObject(imgData) {\n var current = this.current;\n var width = imgData.width;\n var height = imgData.height;\n var fillColor = current.fillColor;\n current.maskId = \"mask\".concat(maskCount++);\n var mask = this.svgFactory.createElement(\"svg:mask\");\n mask.setAttributeNS(null, \"id\", current.maskId);\n var rect = this.svgFactory.createElement(\"svg:rect\");\n rect.setAttributeNS(null, \"x\", \"0\");\n rect.setAttributeNS(null, \"y\", \"0\");\n rect.setAttributeNS(null, \"width\", pf(width));\n rect.setAttributeNS(null, \"height\", pf(height));\n rect.setAttributeNS(null, \"fill\", fillColor);\n rect.setAttributeNS(null, \"mask\", \"url(#\".concat(current.maskId, \")\"));\n this.defs.appendChild(mask);\n\n this._ensureTransformGroup().appendChild(rect);\n\n this.paintInlineImageXObject(imgData, mask);\n }\n }, {\n key: \"paintFormXObjectBegin\",\n value: function paintFormXObjectBegin(matrix, bbox) {\n if (Array.isArray(matrix) && matrix.length === 6) {\n this.transform(matrix[0], matrix[1], matrix[2], matrix[3], matrix[4], matrix[5]);\n }\n\n if (bbox) {\n var width = bbox[2] - bbox[0];\n var height = bbox[3] - bbox[1];\n var cliprect = this.svgFactory.createElement(\"svg:rect\");\n cliprect.setAttributeNS(null, \"x\", bbox[0]);\n cliprect.setAttributeNS(null, \"y\", bbox[1]);\n cliprect.setAttributeNS(null, \"width\", pf(width));\n cliprect.setAttributeNS(null, \"height\", pf(height));\n this.current.element = cliprect;\n this.clip(\"nonzero\");\n this.endPath();\n }\n }\n }, {\n key: \"paintFormXObjectEnd\",\n value: function paintFormXObjectEnd() {}\n }, {\n key: \"_initialize\",\n value: function _initialize(viewport) {\n var svg = this.svgFactory.create(viewport.width, viewport.height);\n var definitions = this.svgFactory.createElement(\"svg:defs\");\n svg.appendChild(definitions);\n this.defs = definitions;\n var rootGroup = this.svgFactory.createElement(\"svg:g\");\n rootGroup.setAttributeNS(null, \"transform\", pm(viewport.transform));\n svg.appendChild(rootGroup);\n this.svg = rootGroup;\n return svg;\n }\n }, {\n key: \"_ensureClipGroup\",\n value: function _ensureClipGroup() {\n if (!this.current.clipGroup) {\n var clipGroup = this.svgFactory.createElement(\"svg:g\");\n clipGroup.setAttributeNS(null, \"clip-path\", this.current.activeClipUrl);\n this.svg.appendChild(clipGroup);\n this.current.clipGroup = clipGroup;\n }\n\n return this.current.clipGroup;\n }\n }, {\n key: \"_ensureTransformGroup\",\n value: function _ensureTransformGroup() {\n if (!this.tgrp) {\n this.tgrp = this.svgFactory.createElement(\"svg:g\");\n this.tgrp.setAttributeNS(null, \"transform\", pm(this.transformMatrix));\n\n if (this.current.activeClipUrl) {\n this._ensureClipGroup().appendChild(this.tgrp);\n } else {\n this.svg.appendChild(this.tgrp);\n }\n }\n\n return this.tgrp;\n }\n }]);\n\n return SVGGraphics;\n }();\n }\n /***/\n },\n /* 23 */\n\n /***/\n function (__unused_webpack_module, exports, __w_pdfjs_require__) {\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.PDFNodeStream = void 0;\n\n var _util = __w_pdfjs_require__(2);\n\n var _network_utils = __w_pdfjs_require__(24);\n\n ;\n\n var fs = require(\"fs\");\n\n var http = require(\"http\");\n\n var https = require(\"https\");\n\n var url = require(\"url\");\n\n var fileUriRegex = /^file:\\/\\/\\/[a-zA-Z]:\\//;\n\n function 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\n var 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: \"_progressiveDataLength\",\n get: function get() {\n var _this$_fullRequestRea3, _this$_fullRequestRea4;\n\n return (_this$_fullRequestRea3 = (_this$_fullRequestRea4 = this._fullRequestReader) === null || _this$_fullRequestRea4 === void 0 ? void 0 : _this$_fullRequestRea4._loaded) !== null && _this$_fullRequestRea3 !== void 0 ? _this$_fullRequestRea3 : 0;\n }\n }, {\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\n return PDFNodeStream;\n }();\n\n exports.PDFNodeStream = PDFNodeStream;\n\n var 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: \"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 key: \"read\",\n value: function () {\n var _read3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee9() {\n var chunk, buffer;\n return _regeneratorRuntime.wrap(function _callee9$(_context9) {\n while (1) {\n switch (_context9.prev = _context9.next) {\n case 0:\n _context9.next = 2;\n return this._readCapability.promise;\n\n case 2:\n if (!this._done) {\n _context9.next = 4;\n break;\n }\n\n return _context9.abrupt(\"return\", {\n value: undefined,\n done: true\n });\n\n case 4:\n if (!this._storedError) {\n _context9.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 _context9.next = 10;\n break;\n }\n\n this._readCapability = (0, _util.createPromiseCapability)();\n return _context9.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 _context9.abrupt(\"return\", {\n value: buffer,\n done: false\n });\n\n case 14:\n case \"end\":\n return _context9.stop();\n }\n }\n }, _callee9, this);\n }));\n\n function read() {\n return _read3.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 _this49 = this;\n\n this._readableStream = readableStream;\n readableStream.on(\"readable\", function () {\n _this49._readCapability.resolve();\n });\n readableStream.on(\"end\", function () {\n readableStream.destroy();\n _this49._done = true;\n\n _this49._readCapability.resolve();\n });\n readableStream.on(\"error\", function (reason) {\n _this49._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\n return BaseFullReader;\n }();\n\n var 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: \"isStreamingSupported\",\n get: function get() {\n return this._isStreamingSupported;\n }\n }, {\n key: \"read\",\n value: function () {\n var _read4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee10() {\n var chunk, buffer;\n return _regeneratorRuntime.wrap(function _callee10$(_context10) {\n while (1) {\n switch (_context10.prev = _context10.next) {\n case 0:\n _context10.next = 2;\n return this._readCapability.promise;\n\n case 2:\n if (!this._done) {\n _context10.next = 4;\n break;\n }\n\n return _context10.abrupt(\"return\", {\n value: undefined,\n done: true\n });\n\n case 4:\n if (!this._storedError) {\n _context10.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 _context10.next = 10;\n break;\n }\n\n this._readCapability = (0, _util.createPromiseCapability)();\n return _context10.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 _context10.abrupt(\"return\", {\n value: buffer,\n done: false\n });\n\n case 14:\n case \"end\":\n return _context10.stop();\n }\n }\n }, _callee10, this);\n }));\n\n function read() {\n return _read4.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 _this50 = this;\n\n this._readableStream = readableStream;\n readableStream.on(\"readable\", function () {\n _this50._readCapability.resolve();\n });\n readableStream.on(\"end\", function () {\n readableStream.destroy();\n _this50._done = true;\n\n _this50._readCapability.resolve();\n });\n readableStream.on(\"error\", function (reason) {\n _this50._error(reason);\n });\n\n if (this._storedError) {\n this._readableStream.destroy(this._storedError);\n }\n }\n }]);\n\n return BaseRangeReader;\n }();\n\n function 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\n var PDFNodeStreamFullReader = /*#__PURE__*/function (_BaseFullReader) {\n _inherits(PDFNodeStreamFullReader, _BaseFullReader);\n\n var _super38 = _createSuper(PDFNodeStreamFullReader);\n\n function PDFNodeStreamFullReader(stream) {\n var _this51;\n\n _classCallCheck(this, PDFNodeStreamFullReader);\n\n _this51 = _super38.call(this, stream);\n\n var handleResponse = function handleResponse(response) {\n if (response.statusCode === 404) {\n var error = new _util.MissingPDFException(\"Missing PDF \\\"\".concat(_this51._url, \"\\\".\"));\n _this51._storedError = error;\n\n _this51._headersCapability.reject(error);\n\n return;\n }\n\n _this51._headersCapability.resolve();\n\n _this51._setReadableStream(response);\n\n var getResponseHeader = function getResponseHeader(name) {\n return _this51._readableStream.headers[name.toLowerCase()];\n };\n\n var _ref55 = (0, _network_utils.validateRangeRequestCapabilities)({\n getResponseHeader: getResponseHeader,\n isHttp: stream.isHttp,\n rangeChunkSize: _this51._rangeChunkSize,\n disableRange: _this51._disableRange\n }),\n allowRangeRequests = _ref55.allowRangeRequests,\n suggestedLength = _ref55.suggestedLength;\n\n _this51._isRangeSupported = allowRangeRequests;\n _this51._contentLength = suggestedLength || _this51._contentLength;\n _this51._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);\n };\n\n _this51._request = null;\n\n if (_this51._url.protocol === \"http:\") {\n _this51._request = http.request(createRequestOptions(_this51._url, stream.httpHeaders), handleResponse);\n } else {\n _this51._request = https.request(createRequestOptions(_this51._url, stream.httpHeaders), handleResponse);\n }\n\n _this51._request.on(\"error\", function (reason) {\n _this51._storedError = reason;\n\n _this51._headersCapability.reject(reason);\n });\n\n _this51._request.end();\n\n return _this51;\n }\n\n return _createClass(PDFNodeStreamFullReader);\n }(BaseFullReader);\n\n var PDFNodeStreamRangeReader = /*#__PURE__*/function (_BaseRangeReader) {\n _inherits(PDFNodeStreamRangeReader, _BaseRangeReader);\n\n var _super39 = _createSuper(PDFNodeStreamRangeReader);\n\n function PDFNodeStreamRangeReader(stream, start, end) {\n var _this52;\n\n _classCallCheck(this, PDFNodeStreamRangeReader);\n\n _this52 = _super39.call(this, stream);\n _this52._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 _this52._httpHeaders[property] = value;\n }\n\n _this52._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(_this52._url, \"\\\".\"));\n _this52._storedError = error;\n return;\n }\n\n _this52._setReadableStream(response);\n };\n\n _this52._request = null;\n\n if (_this52._url.protocol === \"http:\") {\n _this52._request = http.request(createRequestOptions(_this52._url, _this52._httpHeaders), handleResponse);\n } else {\n _this52._request = https.request(createRequestOptions(_this52._url, _this52._httpHeaders), handleResponse);\n }\n\n _this52._request.on(\"error\", function (reason) {\n _this52._storedError = reason;\n });\n\n _this52._request.end();\n\n return _this52;\n }\n\n return _createClass(PDFNodeStreamRangeReader);\n }(BaseRangeReader);\n\n var PDFNodeStreamFsFullReader = /*#__PURE__*/function (_BaseFullReader2) {\n _inherits(PDFNodeStreamFsFullReader, _BaseFullReader2);\n\n var _super40 = _createSuper(PDFNodeStreamFsFullReader);\n\n function PDFNodeStreamFsFullReader(stream) {\n var _this53;\n\n _classCallCheck(this, PDFNodeStreamFsFullReader);\n\n _this53 = _super40.call(this, stream);\n var path = decodeURIComponent(_this53._url.path);\n\n if (fileUriRegex.test(_this53._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 _this53._storedError = error;\n\n _this53._headersCapability.reject(error);\n\n return;\n }\n\n _this53._contentLength = stat.size;\n\n _this53._setReadableStream(fs.createReadStream(path));\n\n _this53._headersCapability.resolve();\n });\n return _this53;\n }\n\n return _createClass(PDFNodeStreamFsFullReader);\n }(BaseFullReader);\n\n var PDFNodeStreamFsRangeReader = /*#__PURE__*/function (_BaseRangeReader2) {\n _inherits(PDFNodeStreamFsRangeReader, _BaseRangeReader2);\n\n var _super41 = _createSuper(PDFNodeStreamFsRangeReader);\n\n function PDFNodeStreamFsRangeReader(stream, start, end) {\n var _this54;\n\n _classCallCheck(this, PDFNodeStreamFsRangeReader);\n\n _this54 = _super41.call(this, stream);\n var path = decodeURIComponent(_this54._url.path);\n\n if (fileUriRegex.test(_this54._url.href)) {\n path = path.replace(/^\\//, \"\");\n }\n\n _this54._setReadableStream(fs.createReadStream(path, {\n start: start,\n end: end - 1\n }));\n\n return _this54;\n }\n\n return _createClass(PDFNodeStreamFsRangeReader);\n }(BaseRangeReader);\n /***/\n\n },\n /* 24 */\n\n /***/\n function (__unused_webpack_module, exports, __w_pdfjs_require__) {\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.createResponseStatusError = createResponseStatusError;\n exports.extractFilenameFromHeader = extractFilenameFromHeader;\n exports.validateRangeRequestCapabilities = validateRangeRequestCapabilities;\n exports.validateResponseStatus = validateResponseStatus;\n\n var _util = __w_pdfjs_require__(2);\n\n var _content_disposition = __w_pdfjs_require__(25);\n\n function validateRangeRequestCapabilities(_ref56) {\n var getResponseHeader = _ref56.getResponseHeader,\n isHttp = _ref56.isHttp,\n rangeChunkSize = _ref56.rangeChunkSize,\n disableRange = _ref56.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\n function 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\n function 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\n function validateResponseStatus(status) {\n return status === 200 || status === 206;\n }\n /***/\n\n },\n /* 25 */\n\n /***/\n function (__unused_webpack_module, exports) {\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.getFilenameFromContentDispositionHeader = getFilenameFromContentDispositionHeader;\n\n function 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 _n = 0; _n < matches.length; ++_n) {\n if (!(_n in matches)) {\n break;\n }\n\n var _matches$_n = _slicedToArray(matches[_n], 2),\n _quot = _matches$_n[0],\n _part = _matches$_n[1];\n\n _part = rfc2616unquote(_part);\n\n if (_quot) {\n _part = unescape(_part);\n\n if (_n === 0) {\n _part = rfc5987decode(_part);\n }\n }\n\n parts.push(_part);\n }\n\n return parts.join(\"\");\n }\n\n function rfc2616unquote(value) {\n if (value.startsWith('\"')) {\n var parts = value.slice(1).split('\\\\\"');\n\n for (var i = 0; i < parts.length; ++i) {\n var quotindex = parts[i].indexOf('\"');\n\n if (quotindex !== -1) {\n parts[i] = parts[i].slice(0, quotindex);\n parts.length = i + 1;\n }\n\n parts[i] = parts[i].replace(/\\\\(.)/g, \"$1\");\n }\n\n value = parts.join('\"');\n }\n\n return value;\n }\n\n function rfc5987decode(extvalue) {\n var encodingend = extvalue.indexOf(\"'\");\n\n if (encodingend === -1) {\n return extvalue;\n }\n\n var encoding = extvalue.slice(0, encodingend);\n var langvalue = extvalue.slice(encodingend + 1);\n var value = langvalue.replace(/^[^']*'/, \"\");\n return textdecode(encoding, value);\n }\n\n function rfc2047decode(value) {\n if (!value.startsWith(\"=?\") || /[\\x00-\\x19\\x80-\\xff]/.test(value)) {\n return value;\n }\n\n return value.replace(/=\\?([\\w-]*)\\?([QqBb])\\?((?:[^?]|\\?(?!=))*)\\?=/g, function (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 },\n /* 26 */\n\n /***/\n function (__unused_webpack_module, exports, __w_pdfjs_require__) {\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.PDFNetworkStream = void 0;\n\n var _util = __w_pdfjs_require__(2);\n\n var _network_utils = __w_pdfjs_require__(24);\n\n ;\n var OK_RESPONSE = 200;\n var PARTIAL_CONTENT_RESPONSE = 206;\n\n function 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\n var NetworkManager = /*#__PURE__*/function () {\n function NetworkManager(url, args) {\n _classCallCheck(this, NetworkManager);\n\n this.url = url;\n args = args || {};\n this.isHttp = /^https?:/i.test(url);\n this.httpHeaders = this.isHttp && args.httpHeaders || {};\n this.withCredentials = args.withCredentials || false;\n\n this.getXhr = args.getXhr || function NetworkManager_getXhr() {\n return new XMLHttpRequest();\n };\n\n this.currXhrId = 0;\n this.pendingRequests = Object.create(null);\n }\n\n _createClass(NetworkManager, [{\n key: \"requestRange\",\n value: function requestRange(begin, end, listeners) {\n var args = {\n begin: begin,\n end: end\n };\n\n for (var prop in listeners) {\n args[prop] = listeners[prop];\n }\n\n return this.request(args);\n }\n }, {\n key: \"requestFull\",\n value: function requestFull(listeners) {\n return this.request(listeners);\n }\n }, {\n key: \"request\",\n value: function request(args) {\n var xhr = this.getXhr();\n var xhrId = this.currXhrId++;\n var pendingRequest = this.pendingRequests[xhrId] = {\n xhr: xhr\n };\n xhr.open(\"GET\", this.url);\n xhr.withCredentials = this.withCredentials;\n\n for (var property in this.httpHeaders) {\n var value = this.httpHeaders[property];\n\n if (typeof value === \"undefined\") {\n continue;\n }\n\n xhr.setRequestHeader(property, value);\n }\n\n if (this.isHttp && \"begin\" in args && \"end\" in args) {\n xhr.setRequestHeader(\"Range\", \"bytes=\".concat(args.begin, \"-\").concat(args.end - 1));\n pendingRequest.expectedStatus = PARTIAL_CONTENT_RESPONSE;\n } else {\n pendingRequest.expectedStatus = OK_RESPONSE;\n }\n\n xhr.responseType = \"arraybuffer\";\n\n if (args.onError) {\n xhr.onerror = function (evt) {\n args.onError(xhr.status);\n };\n }\n\n xhr.onreadystatechange = this.onStateChange.bind(this, xhrId);\n xhr.onprogress = this.onProgress.bind(this, xhrId);\n pendingRequest.onHeadersReceived = args.onHeadersReceived;\n pendingRequest.onDone = args.onDone;\n pendingRequest.onError = args.onError;\n pendingRequest.onProgress = args.onProgress;\n xhr.send(null);\n return xhrId;\n }\n }, {\n key: \"onProgress\",\n value: function onProgress(xhrId, evt) {\n var pendingRequest = this.pendingRequests[xhrId];\n\n if (!pendingRequest) {\n return;\n }\n\n if (pendingRequest.onProgress) {\n pendingRequest.onProgress(evt);\n }\n }\n }, {\n key: \"onStateChange\",\n value: function onStateChange(xhrId, evt) {\n var pendingRequest = this.pendingRequests[xhrId];\n\n if (!pendingRequest) {\n return;\n }\n\n var xhr = pendingRequest.xhr;\n\n if (xhr.readyState >= 2 && pendingRequest.onHeadersReceived) {\n pendingRequest.onHeadersReceived();\n delete pendingRequest.onHeadersReceived;\n }\n\n if (xhr.readyState !== 4) {\n return;\n }\n\n if (!(xhrId in this.pendingRequests)) {\n return;\n }\n\n delete this.pendingRequests[xhrId];\n\n if (xhr.status === 0 && this.isHttp) {\n if (pendingRequest.onError) {\n pendingRequest.onError(xhr.status);\n }\n\n return;\n }\n\n var xhrStatus = xhr.status || OK_RESPONSE;\n var ok_response_on_range_request = xhrStatus === OK_RESPONSE && pendingRequest.expectedStatus === PARTIAL_CONTENT_RESPONSE;\n\n if (!ok_response_on_range_request && xhrStatus !== pendingRequest.expectedStatus) {\n if (pendingRequest.onError) {\n pendingRequest.onError(xhr.status);\n }\n\n return;\n }\n\n var chunk = getArrayBuffer(xhr);\n\n if (xhrStatus === PARTIAL_CONTENT_RESPONSE) {\n var rangeHeader = xhr.getResponseHeader(\"Content-Range\");\n var matches = /bytes (\\d+)-(\\d+)\\/(\\d+)/.exec(rangeHeader);\n pendingRequest.onDone({\n begin: parseInt(matches[1], 10),\n chunk: chunk\n });\n } else if (chunk) {\n pendingRequest.onDone({\n begin: 0,\n chunk: chunk\n });\n } else if (pendingRequest.onError) {\n pendingRequest.onError(xhr.status);\n }\n }\n }, {\n key: \"getRequestXhr\",\n value: function getRequestXhr(xhrId) {\n return this.pendingRequests[xhrId].xhr;\n }\n }, {\n key: \"isPendingRequest\",\n value: function isPendingRequest(xhrId) {\n return xhrId in this.pendingRequests;\n }\n }, {\n key: \"abortRequest\",\n value: function abortRequest(xhrId) {\n var xhr = this.pendingRequests[xhrId].xhr;\n delete this.pendingRequests[xhrId];\n xhr.abort();\n }\n }]);\n\n return NetworkManager;\n }();\n\n var 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\n exports.PDFNetworkStream = PDFNetworkStream;\n\n var 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 _ref57 = (0, _network_utils.validateRangeRequestCapabilities)({\n getResponseHeader: getResponseHeader,\n isHttp: this._manager.isHttp,\n rangeChunkSize: this._rangeChunkSize,\n disableRange: this._disableRange\n }),\n allowRangeRequests = _ref57.allowRangeRequests,\n suggestedLength = _ref57.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: \"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 key: \"read\",\n value: function () {\n var _read5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee11() {\n var chunk, requestCapability;\n return _regeneratorRuntime.wrap(function _callee11$(_context11) {\n while (1) {\n switch (_context11.prev = _context11.next) {\n case 0:\n if (!this._storedError) {\n _context11.next = 2;\n break;\n }\n\n throw this._storedError;\n\n case 2:\n if (!(this._cachedChunks.length > 0)) {\n _context11.next = 5;\n break;\n }\n\n chunk = this._cachedChunks.shift();\n return _context11.abrupt(\"return\", {\n value: chunk,\n done: false\n });\n\n case 5:\n if (!this._done) {\n _context11.next = 7;\n break;\n }\n\n return _context11.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 _context11.abrupt(\"return\", requestCapability.promise);\n\n case 10:\n case \"end\":\n return _context11.stop();\n }\n }\n }, _callee11, this);\n }));\n\n function read() {\n return _read5.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\n return PDFNetworkStreamFullRequestReader;\n }();\n\n var 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: \"isStreamingSupported\",\n get: function get() {\n return false;\n }\n }, {\n key: \"read\",\n value: function () {\n var _read6 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee12() {\n var chunk, requestCapability;\n return _regeneratorRuntime.wrap(function _callee12$(_context12) {\n while (1) {\n switch (_context12.prev = _context12.next) {\n case 0:\n if (!(this._queuedChunk !== null)) {\n _context12.next = 4;\n break;\n }\n\n chunk = this._queuedChunk;\n this._queuedChunk = null;\n return _context12.abrupt(\"return\", {\n value: chunk,\n done: false\n });\n\n case 4:\n if (!this._done) {\n _context12.next = 6;\n break;\n }\n\n return _context12.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 _context12.abrupt(\"return\", requestCapability.promise);\n\n case 9:\n case \"end\":\n return _context12.stop();\n }\n }\n }, _callee12, this);\n }));\n\n function read() {\n return _read6.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\n return PDFNetworkStreamRangeRequestReader;\n }();\n /***/\n\n },\n /* 27 */\n\n /***/\n function (__unused_webpack_module, exports, __w_pdfjs_require__) {\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.PDFFetchStream = void 0;\n\n var _util = __w_pdfjs_require__(2);\n\n var _network_utils = __w_pdfjs_require__(24);\n\n ;\n\n function createFetchOptions(headers, withCredentials, abortController) {\n return {\n method: \"GET\",\n headers: headers,\n signal: abortController === null || abortController === void 0 ? void 0 : abortController.signal,\n mode: \"cors\",\n credentials: withCredentials ? \"include\" : \"same-origin\",\n redirect: \"follow\"\n };\n }\n\n function 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\n var 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: \"_progressiveDataLength\",\n get: function get() {\n var _this$_fullRequestRea5, _this$_fullRequestRea6;\n\n return (_this$_fullRequestRea5 = (_this$_fullRequestRea6 = this._fullRequestReader) === null || _this$_fullRequestRea6 === void 0 ? void 0 : _this$_fullRequestRea6._loaded) !== null && _this$_fullRequestRea5 !== void 0 ? _this$_fullRequestRea5 : 0;\n }\n }, {\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\n return PDFFetchStream;\n }();\n\n exports.PDFFetchStream = PDFFetchStream;\n\n var PDFFetchStreamReader = /*#__PURE__*/function () {\n function PDFFetchStreamReader(stream) {\n var _this55 = 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 _this55._reader = response.body.getReader();\n\n _this55._headersCapability.resolve();\n\n var getResponseHeader = function getResponseHeader(name) {\n return response.headers.get(name);\n };\n\n var _ref58 = (0, _network_utils.validateRangeRequestCapabilities)({\n getResponseHeader: getResponseHeader,\n isHttp: _this55._stream.isHttp,\n rangeChunkSize: _this55._rangeChunkSize,\n disableRange: _this55._disableRange\n }),\n allowRangeRequests = _ref58.allowRangeRequests,\n suggestedLength = _ref58.suggestedLength;\n\n _this55._isRangeSupported = allowRangeRequests;\n _this55._contentLength = suggestedLength || _this55._contentLength;\n _this55._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);\n\n if (!_this55._isStreamingSupported && _this55._isRangeSupported) {\n _this55.cancel(new _util.AbortException(\"Streaming is disabled.\"));\n }\n }).catch(this._headersCapability.reject);\n this.onProgress = null;\n }\n\n _createClass(PDFFetchStreamReader, [{\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 key: \"read\",\n value: function () {\n var _read7 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee13() {\n var _yield$this$_reader$r, value, done, buffer;\n\n return _regeneratorRuntime.wrap(function _callee13$(_context13) {\n while (1) {\n switch (_context13.prev = _context13.next) {\n case 0:\n _context13.next = 2;\n return this._headersCapability.promise;\n\n case 2:\n _context13.next = 4;\n return this._reader.read();\n\n case 4:\n _yield$this$_reader$r = _context13.sent;\n value = _yield$this$_reader$r.value;\n done = _yield$this$_reader$r.done;\n\n if (!done) {\n _context13.next = 9;\n break;\n }\n\n return _context13.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 _context13.abrupt(\"return\", {\n value: buffer,\n done: false\n });\n\n case 13:\n case \"end\":\n return _context13.stop();\n }\n }\n }, _callee13, this);\n }));\n\n function read() {\n return _read7.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\n return PDFFetchStreamReader;\n }();\n\n var PDFFetchStreamRangeReader = /*#__PURE__*/function () {\n function PDFFetchStreamRangeReader(stream, begin, end) {\n var _this56 = 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 _this56._readCapability.resolve();\n\n _this56._reader = response.body.getReader();\n }).catch(function (reason) {\n if ((reason === null || reason === void 0 ? void 0 : reason.name) === \"AbortError\") {\n return;\n }\n\n throw reason;\n });\n this.onProgress = null;\n }\n\n _createClass(PDFFetchStreamRangeReader, [{\n key: \"isStreamingSupported\",\n get: function get() {\n return this._isStreamingSupported;\n }\n }, {\n key: \"read\",\n value: function () {\n var _read8 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee14() {\n var _yield$this$_reader$r2, value, done, buffer;\n\n return _regeneratorRuntime.wrap(function _callee14$(_context14) {\n while (1) {\n switch (_context14.prev = _context14.next) {\n case 0:\n _context14.next = 2;\n return this._readCapability.promise;\n\n case 2:\n _context14.next = 4;\n return this._reader.read();\n\n case 4:\n _yield$this$_reader$r2 = _context14.sent;\n value = _yield$this$_reader$r2.value;\n done = _yield$this$_reader$r2.done;\n\n if (!done) {\n _context14.next = 9;\n break;\n }\n\n return _context14.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 _context14.abrupt(\"return\", {\n value: buffer,\n done: false\n });\n\n case 13:\n case \"end\":\n return _context14.stop();\n }\n }\n }, _callee14, this);\n }));\n\n function read() {\n return _read8.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\n return PDFFetchStreamRangeReader;\n }();\n /***/\n\n }\n /******/\n ];\n /************************************************************************/\n\n /******/\n // The module cache\n\n /******/\n\n var __webpack_module_cache__ = {};\n /******/\n\n /******/\n // The require function\n\n /******/\n\n function __w_pdfjs_require__(moduleId) {\n /******/\n // Check if module is in cache\n\n /******/\n if (__webpack_module_cache__[moduleId]) {\n /******/\n return __webpack_module_cache__[moduleId].exports;\n /******/\n }\n /******/\n // Create a new module (and put it into the cache)\n\n /******/\n\n\n var module = __webpack_module_cache__[moduleId] = {\n /******/\n // no module.id needed\n\n /******/\n // no module.loaded needed\n\n /******/\n exports: {}\n /******/\n\n };\n /******/\n\n /******/\n // Execute the module function\n\n /******/\n\n __webpack_modules__[moduleId](module, module.exports, __w_pdfjs_require__);\n /******/\n\n /******/\n // Return the exports of the module\n\n /******/\n\n\n return module.exports;\n /******/\n }\n /******/\n\n /************************************************************************/\n\n /******/\n // module exports must be returned from runtime so entry inlining is disabled\n\n /******/\n // startup\n\n /******/\n // Load entry module and return exports\n\n /******/\n\n\n return __w_pdfjs_require__(0);\n /******/\n }()\n );\n});"],"sourceRoot":""}