@surething/cockpit 1.0.235 → 1.0.236
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next-prod/BUILD_ID +1 -1
- package/.next-prod/app-path-routes-manifest.json +2 -2
- package/.next-prod/build-manifest.json +3 -3
- package/.next-prod/prerender-manifest.json +3 -3
- package/.next-prod/react-loadable-manifest.json +7 -0
- package/.next-prod/server/app/_global-error/page.js.nft.json +1 -1
- package/.next-prod/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/_global-error.html +1 -1
- package/.next-prod/server/app/_global-error.rsc +1 -1
- package/.next-prod/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next-prod/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/.next-prod/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
- package/.next-prod/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next-prod/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next-prod/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next-prod/server/app/_not-found/page.js +1 -1
- package/.next-prod/server/app/_not-found/page.js.nft.json +1 -1
- package/.next-prod/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/_not-found.html +2 -2
- package/.next-prod/server/app/_not-found.rsc +3 -3
- package/.next-prod/server/app/_not-found.segments/_full.segment.rsc +3 -3
- package/.next-prod/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/.next-prod/server/app/_not-found.segments/_index.segment.rsc +3 -3
- package/.next-prod/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/.next-prod/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/.next-prod/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/.next-prod/server/app/api/agent/test/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/bash/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/chat/codex/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/chat/deepseek/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/chat/kimi/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/chat/ollama/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/chat/pty-input/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/chat/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/chat/stop/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/claude-stats/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/commands/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/comments/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/db/columns/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/db/connect/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/db/disconnect/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/db/export/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/db/query/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/db/schemas/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/dev/spans/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/extension/version/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/file/route.js +1 -1
- package/.next-prod/server/app/api/file/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/files/blame/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/files/clipboard/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/files/copy/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/files/delete/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/files/expanded/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/files/index/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/files/init/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/files/paste/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/files/read/route.js +1 -1
- package/.next-prod/server/app/api/files/read/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/files/readdir/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/files/recent/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/files/save/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/files/search/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/files/stat/route.js +1 -1
- package/.next-prod/server/app/api/files/stat/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/files/text/route.js +1 -1
- package/.next-prod/server/app/api/files/text/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/git/branch-diff/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/git/branches/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/git/commit-diff/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/git/commits/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/git/current-branch/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/git/diff/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/git/discard/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/git/stage/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/git/status/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/git/unstage/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/git/worktree/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/global-state/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/health/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/jupyter/load/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/jupyter/save/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/jupyter/shutdown/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/lsp/definition/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/lsp/hover/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/lsp/references/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/lsp/status/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/lsp/warmup/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/mysql/columns/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/mysql/connect/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/mysql/disconnect/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/mysql/export/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/mysql/query/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/mysql/schemas/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/neo4j/connect/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/neo4j/disconnect/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/neo4j/query/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/neo4j/schema/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/note/route.js +1 -1
- package/.next-prod/server/app/api/note/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/ollama/models/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/ollama/start/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/open-cursor/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/open-vscode/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/pick-folder/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/pinned-sessions/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/project-settings/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/project-state/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/projectGraph/affected/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/projectGraph/callees/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/projectGraph/callers/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/projectGraph/coedit/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/projectGraph/context/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/projectGraph/file/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/projectGraph/file-functions/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/projectGraph/impact/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/projectGraph/related/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/projectGraph/risk/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/projectGraph/search/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/projects/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/push/public-key/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/push/subscribe/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/push/unsubscribe/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/redis/command/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/redis/connect/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/redis/delete/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/redis/disconnect/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/redis/get/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/redis/keys/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/redis/set/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/review/[id]/comments/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/review/[id]/replies/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/review/[id]/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/review/identify/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/review/order/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/review/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/review/share-info/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/review/users/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/scheduled-tasks/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/services/config/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/services/scripts/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/session/[sessionId]/fork/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/session/[sessionId]/history/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/session-by-path/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/sessions/projects/[encodedPath]/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/sessions/projects/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/sessions/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/settings/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/skills/[id]/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/skills/content/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/skills/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/terminal/aliases/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/terminal/autocomplete/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/terminal/bubble-order/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/terminal/env/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/terminal/history/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/version/route.js.nft.json +1 -1
- package/.next-prod/server/app/favicon.ico/route.js.nft.json +1 -1
- package/.next-prod/server/app/m/page.js +2 -2
- package/.next-prod/server/app/m/page.js.nft.json +1 -1
- package/.next-prod/server/app/m/page_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/manifest.webmanifest/route.js.nft.json +1 -1
- package/.next-prod/server/app/page.js +1 -1
- package/.next-prod/server/app/page.js.nft.json +1 -1
- package/.next-prod/server/app/page_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/project/page.js +1 -1
- package/.next-prod/server/app/project/page.js.nft.json +1 -1
- package/.next-prod/server/app/project/page_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/review/[id]/page.js +1 -1
- package/.next-prod/server/app/review/[id]/page.js.nft.json +1 -1
- package/.next-prod/server/app/review/[id]/page_client-reference-manifest.js +1 -1
- package/.next-prod/server/app-paths-manifest.json +2 -2
- package/.next-prod/server/chunks/2939.js +1 -1
- package/.next-prod/server/chunks/7270.js +45 -0
- package/.next-prod/server/chunks/{4257.js → 8523.js} +3 -3
- package/.next-prod/server/chunks/8916.js +1 -1
- package/.next-prod/server/chunks/9658.js +3 -3
- package/.next-prod/server/middleware-build-manifest.js +1 -1
- package/.next-prod/server/middleware-react-loadable-manifest.js +1 -1
- package/.next-prod/server/pages/404.html +2 -2
- package/.next-prod/server/pages/500.html +1 -1
- package/.next-prod/server/server-reference-manifest.json +1 -1
- package/.next-prod/static/chunks/{217-656e1fdbc820d9dd.js → 217-1bf54355c7c0c898.js} +1 -1
- package/.next-prod/static/chunks/3283-80d4d836a00d7bb4.js +25 -0
- package/.next-prod/static/chunks/6784-11888818d8e3114e.js +0 -0
- package/.next-prod/static/chunks/{9428-ffc16bc24c6e0da1.js → 6787-866a3046a4a0fa50.js} +3 -3
- package/.next-prod/static/chunks/9b0008ae.0167ac0019d88811.js +45 -0
- package/.next-prod/static/chunks/app/{layout-e9ada9458f95f29c.js → layout-3781fa5b8e04f272.js} +1 -1
- package/.next-prod/static/chunks/app/m/page-bf48756850ebe349.js +1 -0
- package/.next-prod/static/chunks/app/{page-8f349cc054af0d5b.js → page-e63d872a9af204ae.js} +1 -1
- package/.next-prod/static/chunks/app/project/{page-8f349cc054af0d5b.js → page-e63d872a9af204ae.js} +1 -1
- package/.next-prod/static/chunks/webpack-fb9d282647d95d0a.js +1 -0
- package/.next-prod/static/css/7ed891f30e531791.css +1 -0
- package/.next-prod/trace +13 -13
- package/.next-prod/trace-build +1 -1
- package/bin/postinstall.mjs +8 -0
- package/package.json +6 -3
- package/public/pdfjs/pdf.worker.min.mjs +29 -0
- package/scripts/copy-pdfjs-worker.mjs +74 -0
- package/.next-prod/static/chunks/2576-47a83a4d8066d196.js +0 -25
- package/.next-prod/static/chunks/6784-8a99d051f03bb100.js +0 -0
- package/.next-prod/static/chunks/app/m/page-06a5ea22c02892d1.js +0 -1
- package/.next-prod/static/chunks/webpack-2c71a79c277961bc.js +0 -1
- package/.next-prod/static/css/44a979b47b165c63.css +0 -1
- /package/.next-prod/static/{cfyYtf1Sz25gcv6tfZqFF → VRVzMV9rhbwaTwXonUCzN}/_buildManifest.js +0 -0
- /package/.next-prod/static/{cfyYtf1Sz25gcv6tfZqFF → VRVzMV9rhbwaTwXonUCzN}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";exports.id=7270,exports.ids=[7270],exports.modules={27270:(a,b,c)=>{c.r(b),c.d(b,{AbortException:()=>I,AnnotationEditorLayer:()=>dM,AnnotationEditorParamsType:()=>m,AnnotationEditorType:()=>l,AnnotationEditorUIManager:()=>aJ,AnnotationLayer:()=>dp,AnnotationMode:()=>i,AnnotationType:()=>p,CSSConstants:()=>ap,ColorPicker:()=>cO,DOMSVGFactory:()=>cU,DrawLayer:()=>dQ,FeatureTest:()=>K,GlobalWorkerOptions:()=>ct,ImageKind:()=>o,InvalidPDFException:()=>F,MathClamp:()=>T,OPS:()=>r,OutputScale:()=>am,PDFDataRangeTransport:()=>cF,PDFDateString:()=>ag,PDFWorker:()=>cI,PasswordException:()=>D,PasswordResponses:()=>s,PermissionFlag:()=>n,PixelsPerInch:()=>X,RenderingCancelledException:()=>Z,ResponseException:()=>G,SignatureExtractor:()=>dH,SupportedImageMimeTypes:()=>an,TextLayer:()=>cC,TextLayerImages:()=>dS,TouchManager:()=>aM,Util:()=>L,VerbosityLevel:()=>q,XfaLayer:()=>W,applyOpacity:()=>aq,build:()=>cN,createValidAbsoluteUrl:()=>y,fetchData:()=>Y,findContrastColor:()=>aw,getDocument:()=>cD,getFilenameFromUrl:()=>aa,getPdfFilenameFromUrl:()=>ab,getRGB:()=>ai,getRGBA:()=>ah,getUuid:()=>P,isDataScheme:()=>$,isPdfFile:()=>_,isValidExplicitDest:()=>bm,makeArr:()=>Q,makeMap:()=>R,makeObj:()=>S,noContextMenu:()=>ae,normalizeUnicode:()=>O,renderRichText:()=>ax,setLayerDimensions:()=>al,shadow:()=>B,stopEvent:()=>af,updateUrlHash:()=>z,version:()=>cM});let d="object"==typeof process&&process+""=="[object process]"&&!process.versions.nw&&!(process.versions.electron&&process.type&&"browser"!==process.type),e=[1/0,1/0,-1/0,-1/0],f=new Float32Array(e),g=[.001,0,0,.001,0,0],h="http://www.w3.org/2000/svg",i={DISABLE:0,ENABLE:1,ENABLE_FORMS:2,ENABLE_STORAGE:3},j="pdfjs_internal_id_",k="pdfjs_internal_editor_",l={DISABLE:-1,NONE:0,FREETEXT:3,HIGHLIGHT:9,STAMP:13,INK:15,POPUP:16,SIGNATURE:101,COMMENT:102},m={RESIZE:1,CREATE:2,FREETEXT_SIZE:11,FREETEXT_COLOR:12,FREETEXT_OPACITY:13,INK_COLOR:21,INK_THICKNESS:22,INK_OPACITY:23,INK_COLOR_AND_OPACITY:24,HIGHLIGHT_COLOR:31,HIGHLIGHT_THICKNESS:32,HIGHLIGHT_FREE:33,HIGHLIGHT_SHOW_ALL:34,DRAW_STEP:41},n={PRINT:4,MODIFY_CONTENTS:8,COPY:16,MODIFY_ANNOTATIONS:32,FILL_INTERACTIVE_FORMS:256,COPY_FOR_ACCESSIBILITY:512,ASSEMBLE:1024,PRINT_HIGH_QUALITY:2048},o={GRAYSCALE_1BPP:1,RGB_24BPP:2,RGBA_32BPP:3},p={TEXT:1,LINK:2,FREETEXT:3,LINE:4,SQUARE:5,CIRCLE:6,POLYGON:7,POLYLINE:8,HIGHLIGHT:9,UNDERLINE:10,SQUIGGLY:11,STRIKEOUT:12,STAMP:13,CARET:14,INK:15,POPUP:16,FILEATTACHMENT:17,SOUND:18,MOVIE:19,WIDGET:20,SCREEN:21,PRINTERMARK:22,TRAPNET:23,WATERMARK:24,THREED:25,REDACT:26,RICHMEDIA:27},q={ERRORS:0,WARNINGS:1,INFOS:5},r={dependency:1,setLineWidth:2,setLineCap:3,setLineJoin:4,setMiterLimit:5,setDash:6,setRenderingIntent:7,setFlatness:8,setGState:9,save:10,restore:11,transform:12,moveTo:13,lineTo:14,curveTo:15,curveTo2:16,curveTo3:17,closePath:18,rectangle:19,stroke:20,closeStroke:21,fill:22,eoFill:23,fillStroke:24,eoFillStroke:25,closeFillStroke:26,closeEOFillStroke:27,endPath:28,clip:29,eoClip:30,beginText:31,endText:32,setCharSpacing:33,setWordSpacing:34,setHScale:35,setLeading:36,setFont:37,setTextRenderingMode:38,setTextRise:39,moveText:40,setLeadingMoveText:41,setTextMatrix:42,nextLine:43,showText:44,showSpacedText:45,nextLineShowText:46,nextLineSetSpacingShowText:47,setCharWidth:48,setCharWidthAndBounds:49,setStrokeColorSpace:50,setFillColorSpace:51,setStrokeColor:52,setStrokeColorN:53,setFillColor:54,setFillColorN:55,setStrokeGray:56,setFillGray:57,setStrokeRGBColor:58,setFillRGBColor:59,setStrokeCMYKColor:60,setFillCMYKColor:61,shadingFill:62,beginInlineImage:63,beginImageData:64,endInlineImage:65,paintXObject:66,markPoint:67,markPointProps:68,beginMarkedContent:69,beginMarkedContentProps:70,endMarkedContent:71,beginCompat:72,endCompat:73,paintFormXObjectBegin:74,paintFormXObjectEnd:75,beginGroup:76,endGroup:77,beginAnnotation:80,endAnnotation:81,paintImageMaskXObject:83,paintImageMaskXObjectGroup:84,paintImageXObject:85,paintInlineImageXObject:86,paintInlineImageXObjectGroup:87,paintImageXObjectRepeat:88,paintImageMaskXObjectRepeat:89,paintSolidColorImageMask:90,constructPath:91,setStrokeTransparent:92,setFillTransparent:93,rawFillPath:94},s={NEED_PASSWORD:1,INCORRECT_PASSWORD:2},t=q.WARNINGS;function u(a){t>=q.INFOS&&console.info(`Info: ${a}`)}function v(a){t>=q.WARNINGS&&console.warn(`Warning: ${a}`)}function w(a){throw Error(a)}function x(a,b){a||w(b)}function y(a,b=null,c=null){if(!a)return null;if(c&&"string"==typeof a){if(c.addDefaultProtocol&&a.startsWith("www.")){let b=a.match(/\./g);b?.length>=2&&(a=`http://${a}`)}if(c.tryConvertEncoding)try{var d;d=a,a=decodeURIComponent(escape(d))}catch{}}let e=b?URL.parse(a,b):URL.parse(a);return!function(a){switch(a?.protocol){case"http:":case"https:":case"ftp:":case"mailto:":case"tel:":return!0;default:return!1}}(e)?null:e}function z(a,b,c=!1){let d=URL.parse(a);return d?(d.hash=b,d.href):c&&y(a,"http://example.com")?a.split("#",1)[0]+`${b?`#${b}`:""}`:""}function A(a){return a.substring(a.lastIndexOf("/")+1)}function B(a,b,c,d=!1){return Object.defineProperty(a,b,{value:c,enumerable:!d,configurable:!0,writable:!1}),c}let C=function(){function a(a,b){this.message=a,this.name=b}return a.prototype=Error(),a.constructor=a,a}();class D extends C{constructor(a,b){super(a,"PasswordException"),this.code=b}}class E extends C{constructor(a,b){super(a,"UnknownErrorException"),this.details=b}}class F extends C{constructor(a){super(a,"InvalidPDFException")}}class G extends C{constructor(a,b,c){super(a,"ResponseException"),this.status=b,this.missing=c}}class H extends C{constructor(a){super(a,"FormatError")}}class I extends C{constructor(a){super(a,"AbortException")}}function J(a){"string"!=typeof a&&w("Invalid argument for stringToBytes");let b=a.length,c=new Uint8Array(b);for(let d=0;d<b;++d)c[d]=255&a.charCodeAt(d);return c}class K{static get isLittleEndian(){let a=new Uint8Array(4);return a[0]=1,B(this,"isLittleEndian",1===new Uint32Array(a.buffer,0,1)[0])}static get isOffscreenCanvasSupported(){return B(this,"isOffscreenCanvasSupported","u">typeof OffscreenCanvas)}static get isImageDecoderSupported(){return B(this,"isImageDecoderSupported","u">typeof ImageDecoder)}static get isFloat16ArraySupported(){return B(this,"isFloat16ArraySupported","u">typeof Float16Array)}static get isSanitizerSupported(){return B(this,"isSanitizerSupported","u">typeof Sanitizer)}static get platform(){let{platform:a,userAgent:b}=navigator;return B(this,"platform",{isAndroid:b.includes("Android"),isLinux:a.includes("Linux"),isMac:a.includes("Mac"),isWindows:a.includes("Win"),isFirefox:b.includes("Firefox")})}static get isCanvasFilterSupported(){let a;return this.isOffscreenCanvasSupported?a=new OffscreenCanvas(1,1).getContext("2d"):"u">typeof document&&(a=document.createElement("canvas").getContext("2d")),B(this,"isCanvasFilterSupported",a?.filter!==void 0)}static get isAlphaColorInputSupported(){if("u"<typeof document)return B(this,"isAlphaColorInputSupported",!1);let a=document.createElement("input");return a.type="color",a.setAttribute("alpha",""),a.value="#ff000080",B(this,"isAlphaColorInputSupported","#ff0000"!==a.value)}static get isBackdropFilterSupported(){return B(this,"isBackdropFilterSupported","u">typeof CSS&&CSS.supports("backdrop-filter","blur(1px)"))}}class L{static get hexNums(){return B(this,"hexNums",Array.from(Array(256).keys(),a=>a.toString(16).padStart(2,"0")))}static makeHexColor(a,b,c){return`#${this.hexNums[a]}${this.hexNums[b]}${this.hexNums[c]}`}static transform(a,b){return[a[0]*b[0]+a[2]*b[1],a[1]*b[0]+a[3]*b[1],a[0]*b[2]+a[2]*b[3],a[1]*b[2]+a[3]*b[3],a[0]*b[4]+a[2]*b[5]+a[4],a[1]*b[4]+a[3]*b[5]+a[5]]}static multiplyByDOMMatrix(a,b){return[a[0]*b.a+a[2]*b.b,a[1]*b.a+a[3]*b.b,a[0]*b.c+a[2]*b.d,a[1]*b.c+a[3]*b.d,a[0]*b.e+a[2]*b.f+a[4],a[1]*b.e+a[3]*b.f+a[5]]}static applyTransform(a,b,c=0){let d=a[c],e=a[c+1];a[c]=d*b[0]+e*b[2]+b[4],a[c+1]=d*b[1]+e*b[3]+b[5]}static applyTransformToBezier(a,b,c=0){let d=b[0],e=b[1],f=b[2],g=b[3],h=b[4],i=b[5];for(let b=0;b<6;b+=2){let j=a[c+b],k=a[c+b+1];a[c+b]=j*d+k*f+h,a[c+b+1]=j*e+k*g+i}}static applyInverseTransform(a,b){let c=a[0],d=a[1],e=b[0]*b[3]-b[1]*b[2];a[0]=(c*b[3]-d*b[2]+b[2]*b[5]-b[4]*b[3])/e,a[1]=(-c*b[1]+d*b[0]+b[4]*b[1]-b[5]*b[0])/e}static axialAlignedBoundingBox(a,b,c){let d=b[0],e=b[1],f=b[2],g=b[3],h=b[4],i=b[5],j=a[0],k=a[1],l=a[2],m=a[3],n=d*j+h,o=n,p=d*l+h,q=p,r=g*k+i,s=r,t=g*m+i,u=t;if(0!==e||0!==f){let a=e*j,b=e*l,c=f*k,d=f*m;n+=c,q+=c,p+=d,o+=d,r+=a,u+=a,t+=b,s+=b}c[0]=Math.min(c[0],n,p,o,q),c[1]=Math.min(c[1],r,t,s,u),c[2]=Math.max(c[2],n,p,o,q),c[3]=Math.max(c[3],r,t,s,u)}static inverseTransform(a){let b=a[0]*a[3]-a[1]*a[2];return[a[3]/b,-a[1]/b,-a[2]/b,a[0]/b,(a[2]*a[5]-a[4]*a[3])/b,(a[4]*a[1]-a[5]*a[0])/b]}static singularValueDecompose2dScale(a,b){let c=a[0],d=a[1],e=a[2],f=a[3],g=c**2+d**2,h=e**2+f**2,i=(g+h)/2,j=Math.sqrt(i**2-(g*h-(c*e+d*f)**2));b[0]=Math.sqrt(i+j||1),b[1]=Math.sqrt(i-j||1)}static normalizeRect(a){let b=a.slice(0);return a[0]>a[2]&&(b[0]=a[2],b[2]=a[0]),a[1]>a[3]&&(b[1]=a[3],b[3]=a[1]),b}static intersect(a,b){let c=Math.max(Math.min(a[0],a[2]),Math.min(b[0],b[2])),d=Math.min(Math.max(a[0],a[2]),Math.max(b[0],b[2]));if(c>d)return null;let e=Math.max(Math.min(a[1],a[3]),Math.min(b[1],b[3])),f=Math.min(Math.max(a[1],a[3]),Math.max(b[1],b[3]));return e>f?null:[c,e,d,f]}static pointBoundingBox(a,b,c){c[0]=Math.min(c[0],a),c[1]=Math.min(c[1],b),c[2]=Math.max(c[2],a),c[3]=Math.max(c[3],b)}static rectBoundingBox(a,b,c,d,e){e[0]=Math.min(e[0],a,c),e[1]=Math.min(e[1],b,d),e[2]=Math.max(e[2],a,c),e[3]=Math.max(e[3],b,d)}static #a(a,b,c,d,e,f,g,h,i,j){if(i<=0||i>=1)return;let k=1-i,l=i*i,m=l*i,n=k*(k*(k*a+3*i*b)+3*l*c)+m*d,o=k*(k*(k*e+3*i*f)+3*l*g)+m*h;j[0]=Math.min(j[0],n),j[1]=Math.min(j[1],o),j[2]=Math.max(j[2],n),j[3]=Math.max(j[3],o)}static #b(a,b,c,d,e,f,g,h,i,j,k,l){if(1e-12>Math.abs(i)){Math.abs(j)>=1e-12&&this.#a(a,b,c,d,e,f,g,h,-k/j,l);return}let m=j**2-4*k*i;if(m<0)return;let n=Math.sqrt(m),o=2*i;this.#a(a,b,c,d,e,f,g,h,(-j+n)/o,l),this.#a(a,b,c,d,e,f,g,h,(-j-n)/o,l)}static bezierBoundingBox(a,b,c,d,e,f,g,h,i){i[0]=Math.min(i[0],a,g),i[1]=Math.min(i[1],b,h),i[2]=Math.max(i[2],a,g),i[3]=Math.max(i[3],b,h),this.#b(a,c,e,g,b,d,f,h,3*(-a+3*(c-e)+g),6*(a-2*c+e),3*(c-a),i),this.#b(a,c,e,g,b,d,f,h,3*(-b+3*(d-f)+h),6*(b-2*d+f),3*(d-b),i)}}let M=null,N=null;function O(a){return M||(M=/([\u00a0\u00b5\u037e\u0eb3\u2000-\u200a\u202f\u2126\ufb00-\ufb04\ufb06\ufb20-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufba1\ufba4-\ufba9\ufbae-\ufbb1\ufbd3-\ufbdc\ufbde-\ufbe7\ufbea-\ufbf8\ufbfc\ufbfd\ufc00-\ufc5d\ufc64-\ufcf1\ufcf5-\ufd3d\ufd88\ufdf4\ufdfa\ufdfb\ufe71\ufe77\ufe79\ufe7b\ufe7d]+)|(\ufb05+)/gu,N=new Map([["ſt","ſt"]])),a.replaceAll(M,(a,b,c)=>b?b.normalize("NFKC"):N.get(c))}function P(){if("function"==typeof crypto.randomUUID)return crypto.randomUUID();let a=new Uint8Array(32);return crypto.getRandomValues(a),function(a){("object"!=typeof a||a?.length===void 0)&&w("Invalid argument for bytesToString");let b=a.length;if(b<8192)return String.fromCharCode.apply(null,a);let c=[];for(let d=0;d<b;d+=8192){let e=Math.min(d+8192,b),f=a.subarray(d,e);c.push(String.fromCharCode.apply(null,f))}return c.join("")}(a)}let Q=()=>[],R=()=>new Map,S=()=>Object.create(null);function T(a,b,c){return Math.min(Math.max(a,b),c)}class U{constructor({viewBox:a,userUnit:b,scale:c,rotation:d,offsetX:e=0,offsetY:f=0,dontFlip:g=!1}){let h,i,j,k,l,m,n,o;this.viewBox=a,this.userUnit=b,this.scale=c,this.rotation=d,this.offsetX=e,this.offsetY=f,c*=b;const p=(a[2]+a[0])/2,q=(a[3]+a[1])/2;switch((d%=360)<0&&(d+=360),d){case 180:h=-1,i=0,j=0,k=1;break;case 90:h=0,i=1,j=1,k=0;break;case 270:h=0,i=-1,j=-1,k=0;break;case 0:h=1,i=0,j=0,k=-1;break;default:throw Error("PageViewport: Invalid rotation, must be a multiple of 90 degrees.")}g&&(j=-j,k=-k),0===h?(l=Math.abs(q-a[1])*c+e,m=Math.abs(p-a[0])*c+f,n=(a[3]-a[1])*c,o=(a[2]-a[0])*c):(l=Math.abs(p-a[0])*c+e,m=Math.abs(q-a[1])*c+f,n=(a[2]-a[0])*c,o=(a[3]-a[1])*c),this.transform=[h*c,i*c,j*c,k*c,l-h*c*p-j*c*q,m-i*c*p-k*c*q],this.width=n,this.height=o}get rawDims(){let a=this.viewBox;return B(this,"rawDims",{pageWidth:a[2]-a[0],pageHeight:a[3]-a[1],pageX:a[0],pageY:a[1]})}clone({scale:a=this.scale,rotation:b=this.rotation,offsetX:c=this.offsetX,offsetY:d=this.offsetY,dontFlip:e=!1}={}){return new U({viewBox:this.viewBox.slice(),userUnit:this.userUnit,scale:a,rotation:b,offsetX:c,offsetY:d,dontFlip:e})}convertToViewportPoint(a,b){let c=[a,b];return L.applyTransform(c,this.transform),c}convertToPdfPoint(a,b){let c=[a,b];return L.applyInverseTransform(c,this.transform),c}}class V{static textContent(a){let b=[],c={items:b,styles:Object.create(null)};return!function a(c){if(!c)return;let d=null,e=c.name;if("#text"===e)d=c.value;else{if(!V.shouldBuildText(e))return;c?.attributes?.textContent?d=c.attributes.textContent:c.value&&(d=c.value)}if(null!==d&&b.push({str:d}),c.children)for(let b of c.children)a(b)}(a),c}static shouldBuildText(a){return"textarea"!==a&&"input"!==a&&"option"!==a&&"select"!==a}}class W{static setupStorage(a,b,c,d,e){let f=d.getValue(b,{value:null});switch(c.name){case"textarea":if(null!==f.value&&(a.textContent=f.value),"print"===e)break;a.addEventListener("input",a=>{d.setValue(b,{value:a.target.value})});break;case"input":if("radio"===c.attributes.type||"checkbox"===c.attributes.type){if(f.value===c.attributes.xfaOn?a.setAttribute("checked",!0):f.value===c.attributes.xfaOff&&a.removeAttribute("checked"),"print"===e)break;a.addEventListener("change",a=>{d.setValue(b,{value:a.target.checked?a.target.getAttribute("xfaOn"):a.target.getAttribute("xfaOff")})})}else{if(null!==f.value&&a.setAttribute("value",f.value),"print"===e)break;a.addEventListener("input",a=>{d.setValue(b,{value:a.target.value})})}break;case"select":if(null!==f.value)for(let b of(a.setAttribute("value",f.value),c.children))b.attributes.value===f.value?b.attributes.selected=!0:Object.hasOwn(b.attributes,"selected")&&delete b.attributes.selected;a.addEventListener("input",a=>{let c=a.target.options,e=-1===c.selectedIndex?"":c[c.selectedIndex].value;d.setValue(b,{value:e})})}}static setAttributes({html:a,element:b,storage:c=null,intent:d,linkService:e}){let{attributes:f}=b,g=a instanceof HTMLAnchorElement;for(let[b,c]of("radio"===f.type&&(f.name=`${f.name}-${d}`),Object.entries(f)))if(null!=c)switch(b){case"class":c.length&&a.setAttribute(b,c.join(" "));break;case"dataId":break;case"id":a.setAttribute("data-element-id",c);break;case"style":Object.assign(a.style,c);break;case"textContent":a.textContent=c;break;default:g&&("href"===b||"newWindow"===b)||a.setAttribute(b,c)}g&&e.addLinkAttributes(a,f.href,f.newWindow),c&&f.dataId&&this.setupStorage(a,f.dataId,b,c)}static render(a){let b=a.annotationStorage,c=a.linkService,d=a.xfaHtml,e=a.intent||"display",f=document.createElement(d.name);d.attributes&&this.setAttributes({html:f,element:d,intent:e,linkService:c});let g="richText"!==e,h=a.div;if(h.append(f),a.viewport){let b=`matrix(${a.viewport.transform.join(",")})`;h.style.transform=b}g&&h.setAttribute("class","xfaLayer xfaFont");let i=[];if(0===d.children.length){if(d.value){let a=document.createTextNode(d.value);f.append(a),g&&V.shouldBuildText(d.name)&&i.push(a)}return{textDivs:i}}let j=[[d,-1,f]];for(;j.length>0;){let[a,d,f]=j.at(-1);if(d+1===a.children.length){j.pop();continue}let h=a.children[++j.at(-1)[1]];if(null===h)continue;let{name:k}=h;if("#text"===k){let a=document.createTextNode(h.value);i.push(a),f.append(a);continue}let l=h?.attributes?.xmlns?document.createElementNS(h.attributes.xmlns,k):document.createElement(k);if(f.append(l),h.attributes&&this.setAttributes({html:l,element:h,storage:b,intent:e,linkService:c}),h.children?.length>0)j.push([h,-1,l]);else if(h.value){let a=document.createTextNode(h.value);g&&V.shouldBuildText(k)&&i.push(a),l.append(a)}}for(let a of h.querySelectorAll(".xfaNonInteractive input, .xfaNonInteractive textarea"))a.setAttribute("readOnly",!0);return{textDivs:i}}static update(a){let b=`matrix(${a.viewport.transform.join(",")})`;a.div.style.transform=b,a.div.hidden=!1}static getPageViewport(a,{scale:b=1,rotation:c=0}){let{width:d,height:e}=a.attributes.style;return new U({viewBox:[0,0,parseInt(d,10),parseInt(e,10)],userUnit:1,scale:b,rotation:c})}}class X{static CSS=96;static PDF=72;static PDF_TO_CSS_UNITS=this.CSS/this.PDF}async function Y(a,b="text"){if(ad(a,document.baseURI)){let c=await fetch(a);if(!c.ok)throw Error(c.statusText);switch(b){case"blob":return c.blob();case"bytes":return c.bytes();case"json":return c.json()}return c.text()}return new Promise((c,d)=>{let e=new XMLHttpRequest;e.open("GET",a,!0),e.responseType="bytes"===b?"arraybuffer":b,e.onreadystatechange=()=>{if(e.readyState===XMLHttpRequest.DONE){if(200===e.status||0===e.status){switch(b){case"bytes":c(new Uint8Array(e.response));return;case"blob":case"json":c(e.response);return}c(e.responseText);return}d(Error(e.statusText))}},e.send(null)})}class Z extends C{constructor(a,b=0){super(a,"RenderingCancelledException"),this.extraDelay=b}}function $(a){let b=a.length,c=0;for(;c<b&&""===a[c].trim();)c++;return"data:"===a.substring(c,c+5).toLowerCase()}function _(a){return"string"==typeof a&&/\.pdf$/i.test(a)}function aa(a){return[a]=a.split(/[#?]/,1),A(a)}function ab(a,b="document.pdf"){if("string"!=typeof a)return b;if($(a))return v('getPdfFilenameFromUrl: ignore "data:"-URL for performance reasons.'),b;let c=(a=>{try{return new URL(a)}catch{}try{return new URL(decodeURIComponent(a))}catch{}try{return new URL(a,"https://foo.bar")}catch{}try{return new URL(decodeURIComponent(a),"https://foo.bar")}catch{}return null})(a);if(!c)return b;let d=a=>{try{let b=decodeURIComponent(a);if(b.includes("/")&&(b=A(b),4===b.length&&e.test(b)))return a;return b}catch{return a}},e=/\.pdf$/i,f=A(c.pathname);if(e.test(f))return d(f);if(c.searchParams.size>0){let a=a=>[...a].findLast(a=>e.test(a)),b=a(c.searchParams.values())??a(c.searchParams.keys());if(b)return d(b)}if(c.hash){let a=/[^/?#=]+\.pdf\b(?!.*\.pdf\b)/i.exec(c.hash);if(a)return d(a[0])}return b}class ac{#c=new Map;times=[];time(a){this.#c.has(a)&&v(`Timer is already running for ${a}`),this.#c.set(a,Date.now())}timeEnd(a){this.#c.has(a)||v(`Timer has not been started for ${a}`),this.times.push({name:a,start:this.#c.get(a),end:Date.now()}),this.#c.delete(a)}toString(){let a=Math.max(...this.times.map(a=>a.name.length));return this.times.map(b=>`${b.name.padEnd(a)} ${b.end-b.start}ms
|
|
2
|
+
`).join("")}}function ad(a,b){let c=b?URL.parse(a,b):URL.parse(a);return/https?:/.test(c?.protocol??"")}function ae(a){a.preventDefault()}function af(a){a.preventDefault(),a.stopPropagation()}class ag{static #d;static toDateObject(a){if(a instanceof Date)return a;if(!a||"string"!=typeof a)return null;this.#d||=RegExp("^D:(\\d{4})(\\d{2})?(\\d{2})?(\\d{2})?(\\d{2})?(\\d{2})?([Z|+\\-])?(\\d{2})?'?(\\d{2})?'?");let b=this.#d.exec(a);if(!b)return null;let c=parseInt(b[1],10),d=parseInt(b[2],10);d=d>=1&&d<=12?d-1:0;let e=parseInt(b[3],10);e=e>=1&&e<=31?e:1;let f=parseInt(b[4],10);f=f>=0&&f<=23?f:0;let g=parseInt(b[5],10);g=g>=0&&g<=59?g:0;let h=parseInt(b[6],10);h=h>=0&&h<=59?h:0;let i=b[7]||"Z",j=parseInt(b[8],10);j=j>=0&&j<=23?j:0;let k=parseInt(b[9],10)||0;return k=k>=0&&k<=59?k:0,"-"===i?(f+=j,g+=k):"+"===i&&(f-=j,g-=k),new Date(Date.UTC(c,d,e,f,g,h))}}function ah(a){if(a.startsWith("#")){let b=a.slice(1);return[parseInt(b.slice(0,2),16),parseInt(b.slice(2,4),16),parseInt(b.slice(4,6),16),b.length>=8?parseInt(b.slice(6,8),16)/255:1]}if(a.startsWith("rgb(")){let[b,c,d]=a.slice(4,-1).split(",").map(a=>parseInt(a,10));return[b,c,d,1]}if(a.startsWith("rgba(")){let b=a.slice(5,-1).split(",");return[parseInt(b[0],10),parseInt(b[1],10),parseInt(b[2],10),parseFloat(b[3])]}let b=a.match(/^color\(srgb\s+([\d.]+)\s+([\d.]+)\s+([\d.]+)(?:\s*\/\s*([\d.]+|none))?\)$/);return b?[Math.round(255*parseFloat(b[1])),Math.round(255*parseFloat(b[2])),Math.round(255*parseFloat(b[3])),void 0!==b[4]&&"none"!==b[4]?parseFloat(b[4]):1]:null}function ai(a){let b=ah(a);return b?b.slice(0,3):(v(`Not a valid color format: "${a}"`),[0,0,0])}function aj(a){let{a:b,b:c,c:d,d:e,e:f,f:g}=a.getTransform();return[b,c,d,e,f,g]}function ak(a){let{a:b,b:c,c:d,d:e,e:f,f:g}=a.getTransform().invertSelf();return[b,c,d,e,f,g]}function al(a,b,c=!1,d=!0){if(b instanceof U){let{pageWidth:d,pageHeight:e}=b.rawDims,{style:f}=a,g=`round(down, var(--total-scale-factor) * ${d}px, var(--scale-round-x))`,h=`round(down, var(--total-scale-factor) * ${e}px, var(--scale-round-y))`;c&&b.rotation%180!=0?(f.width=h,f.height=g):(f.width=g,f.height=h)}d&&a.setAttribute("data-main-rotation",b.rotation)}class am{constructor(){const{pixelRatio:a}=am;this.sx=a,this.sy=a}get scaled(){return 1!==this.sx||1!==this.sy}get symmetric(){return this.sx===this.sy}limitCanvas(a,b,c,d,e=-1){let f=1/0,g=1/0,h=1/0;(c=am.capPixels(c,e))>0&&(f=Math.sqrt(c/(a*b))),-1!==d&&(g=d/a,h=d/b);let i=Math.min(f,g,h);return(this.sx>i||this.sy>i)&&(this.sx=i,this.sy=i,!0)}static get pixelRatio(){return globalThis.devicePixelRatio||1}static capPixels(a,b){if(b>=0){let c=Math.ceil(window.screen.availWidth*window.screen.availHeight*this.pixelRatio**2*(1+b/100));return a>0?Math.min(a,c):c}return a}}let an=["image/apng","image/avif","image/bmp","image/gif","image/jpeg","image/png","image/svg+xml","image/webp","image/x-icon"];class ao{static get isDarkMode(){return B(this,"isDarkMode",!!window?.matchMedia?.("(prefers-color-scheme: dark)").matches)}}class ap{static get commentForegroundColor(){let a=document.createElement("span");a.classList.add("comment","sidebar");let{style:b}=a;b.width=b.height="0",b.display="none",b.color="var(--comment-fg-color)",document.body.append(a);let{color:c}=window.getComputedStyle(a);return a.remove(),B(this,"commentForegroundColor",ai(c))}}function aq(a,b){let c=255*(1-(b=T(b??1,0,1)));return a.map(a=>Math.round(a*b+c))}function ar(a,b){let c=a[0]/255,d=a[1]/255,e=a[2]/255,f=Math.max(c,d,e),g=Math.min(c,d,e),h=(f+g)/2;if(f===g)b[0]=b[1]=0;else{let a=f-g;switch(b[1]=h<.5?a/(f+g):a/(2-f-g),f){case c:b[0]=((d-e)/a+6*(d<e))*60;break;case d:b[0]=((e-c)/a+2)*60;break;case e:b[0]=((c-d)/a+4)*60}}b[2]=h}function as(a,b){let c=a[0],d=a[1],e=a[2],f=(1-Math.abs(2*e-1))*d,g=f*(1-Math.abs(c/60%2-1)),h=e-f/2;switch(Math.floor(c/60)){case 0:b[0]=f+h,b[1]=g+h,b[2]=h;break;case 1:b[0]=g+h,b[1]=f+h,b[2]=h;break;case 2:b[0]=h,b[1]=f+h,b[2]=g+h;break;case 3:b[0]=h,b[1]=g+h,b[2]=f+h;break;case 4:b[0]=g+h,b[1]=h,b[2]=f+h;break;case 5:case 6:b[0]=f+h,b[1]=h,b[2]=g+h}}function at(a){return a<=.03928?a/12.92:((a+.055)/1.055)**2.4}function au(a,b,c){as(a,c),c.map(at);let d=.2126*c[0]+.7152*c[1]+.0722*c[2];as(b,c),c.map(at);let e=.2126*c[0]+.7152*c[1]+.0722*c[2];return d>e?(d+.05)/(e+.05):(e+.05)/(d+.05)}let av=new Map;function aw(a,b){let c=a[0]+256*a[1]+65536*a[2]+0x1000000*b[0]+0x100000000*b[1]+0x10000000000*b[2],d=av.get(c);if(d)return d;let e=new Float32Array(9),f=e.subarray(0,3),g=e.subarray(3,6);ar(a,g);let h=e.subarray(6,9);ar(b,h);let i=h[2]<.5,j=i?12:4.5;if(g[2]=i?Math.sqrt(g[2]):1-Math.sqrt(1-g[2]),au(g,h,f)<j){let a,b;for(i?(a=g[2],b=1):(a=0,b=g[2]);b-a>.005;){let c=g[2]=(a+b)/2;i===au(g,h,f)<j?a=c:b=c}g[2]=i?b:a}return as(g,f),d=L.makeHexColor(Math.round(255*f[0]),Math.round(255*f[1]),Math.round(255*f[2])),av.set(c,d),d}function ax({html:a,dir:b,className:c},d){let e=document.createDocumentFragment();if("string"==typeof a){let c=document.createElement("p");c.dir=b||"auto";let d=a.split(/\r\n?|\n/);for(let a=0,b=d.length;a<b;++a){let e=d[a];c.append(document.createTextNode(e)),a<b-1&&c.append(document.createElement("br"))}e.append(c)}else W.render({xfaHtml:a,div:e,intent:"richText"});e.firstElementChild.classList.add("richText",c),d.append(e)}function ay(a){let b=new Path2D;if(!a)return b;for(let c=0,d=a.length;c<d;)switch(a[c++]){case 0:b.moveTo(a[c++],a[c++]);break;case 1:b.lineTo(a[c++],a[c++]);break;case 2:b.bezierCurveTo(a[c++],a[c++],a[c++],a[c++],a[c++],a[c++]);break;case 3:b.quadraticCurveTo(a[c++],a[c++],a[c++],a[c++]);break;case 4:b.closePath();break;default:v(`Unrecognized drawing path operator: ${a[c-1]}`)}return b}class az{#e=null;#f=null;#g;#h=null;#i=null;#j=null;#k=null;#l=null;static #m=null;constructor(a){this.#g=a,az.#m||=Object.freeze({freetext:"pdfjs-editor-remove-freetext-button",highlight:"pdfjs-editor-remove-highlight-button",ink:"pdfjs-editor-remove-ink-button",stamp:"pdfjs-editor-remove-stamp-button",signature:"pdfjs-editor-remove-signature-button"})}render(){let a=this.#e=document.createElement("div");a.classList.add("editToolbar","hidden"),a.setAttribute("role","toolbar");let b=this.#g._uiManager._signal;b instanceof AbortSignal&&!b.aborted&&(a.addEventListener("contextmenu",ae,{signal:b}),a.addEventListener("pointerdown",az.#n,{signal:b}));let c=this.#h=document.createElement("div");c.className="buttons",a.append(c);let d=this.#g.toolbarPosition;if(d){let{style:b}=a,c="ltr"===this.#g._uiManager.direction?1-d[0]:d[0];b.insetInlineEnd=`${100*c}%`,b.top=`calc(${100*d[1]}% + var(--editor-toolbar-vert-offset))`}return a}get div(){return this.#e}static #n(a){a.stopPropagation()}#o(a){this.#g._focusEventsAllowed=!1,af(a)}#p(a){this.#g._focusEventsAllowed=!0,af(a)}#q(a){let b=this.#g._uiManager._signal;return b instanceof AbortSignal&&!b.aborted&&(a.addEventListener("focusin",this.#o.bind(this),{capture:!0,signal:b}),a.addEventListener("focusout",this.#p.bind(this),{capture:!0,signal:b}),a.addEventListener("contextmenu",ae,{signal:b}),!0)}hide(){this.#e.classList.add("hidden"),this.#f?.hideDropdown()}show(){this.#e.classList.remove("hidden"),this.#i?.shown(),this.#j?.shown()}addDeleteButton(){let{editorType:a,_uiManager:b}=this.#g,c=document.createElement("button");c.classList.add("basic","deleteButton"),c.tabIndex=0,c.setAttribute("data-l10n-id",az.#m[a]),this.#q(c)&&c.addEventListener("click",a=>{b.delete()},{signal:b._signal}),this.#h.append(c)}get #r(){let a=document.createElement("div");return a.className="divider",a}async addAltText(a){let b=await a.render();this.#q(b),this.#h.append(b,this.#r),this.#i=a}addComment(a,b=null){if(this.#j)return;let c=a.renderForToolbar();if(!c)return;this.#q(c);let d=this.#k=this.#r;b?(this.#h.insertBefore(c,b),this.#h.insertBefore(d,b)):this.#h.append(c,d),this.#j=a,a.toolbar=this}addColorPicker(a){if(this.#f)return;this.#f=a;let b=a.renderButton();this.#q(b),this.#h.append(b,this.#r)}async addEditSignatureButton(a){let b=this.#l=await a.renderEditButton(this.#g);this.#q(b),this.#h.append(b,this.#r)}removeButton(a){"comment"===a&&(this.#j?.removeToolbarCommentButton(),this.#j=null,this.#k?.remove(),this.#k=null)}async addButton(a,b){switch(a){case"colorPicker":b&&this.addColorPicker(b);break;case"altText":b&&await this.addAltText(b);break;case"editSignature":b&&await this.addEditSignatureButton(b);break;case"delete":this.addDeleteButton();break;case"comment":b&&this.addComment(b)}}async addButtonBefore(a,b,c){if(!b&&"comment"===a)return;let d=this.#h.querySelector(c);d&&"comment"===a&&this.addComment(b,d)}updateEditSignatureButton(a){this.#l&&(this.#l.title=a)}remove(){this.#e.remove(),this.#f?.destroy(),this.#f=null}}class aA{#h=null;#e=null;#s;constructor(a){this.#s=a}#t(){let a=this.#e=document.createElement("div");a.className="editToolbar",a.setAttribute("role","toolbar");let b=this.#s._signal;b instanceof AbortSignal&&!b.aborted&&a.addEventListener("contextmenu",ae,{signal:b});let c=this.#h=document.createElement("div");return c.className="buttons",a.append(c),this.#s.hasCommentManager()&&this.#u("commentButton","pdfjs-comment-floating-button","pdfjs-comment-floating-button-label",()=>{this.#s.commentSelection("floating_button")}),this.#u("highlightButton","pdfjs-highlight-floating-button1","pdfjs-highlight-floating-button-label",()=>{this.#s.highlightSelection("floating_button")}),a}#v(a,b){let c=0,d=0;for(let e of a){let a=e.y+e.height;if(a<c)continue;let f=e.x+(b?e.width:0);if(a>c){d=f,c=a;continue}b?f>d&&(d=f):f<d&&(d=f)}return[b?1-d:d,c]}show(a,b,c){let[d,e]=this.#v(b,c),{style:f}=this.#e||=this.#t();a.append(this.#e),f.insetInlineEnd=`${100*d}%`,f.top=`calc(${100*e}% + var(--editor-toolbar-vert-offset))`}hide(){this.#e.remove()}#u(a,b,c,d){let e=document.createElement("button");e.classList.add("basic",a),e.tabIndex=0,e.setAttribute("data-l10n-id",b);let f=document.createElement("span");e.append(f),f.className="visuallyHidden",f.setAttribute("data-l10n-id",c);let g=this.#s._signal;g instanceof AbortSignal&&!g.aborted&&(e.addEventListener("contextmenu",ae,{signal:g}),e.addEventListener("click",d,{signal:g})),this.#h.append(e)}}let aB=Object.freeze({internal:"068f09d6-5b37-4f77-a97a-f8ff4f253b68"});function aC(a,b,c){for(let d of c)b.addEventListener(d,a[d].bind(a))}class aD{static #w=NaN;static #x=null;static #y=NaN;static #z=null;static initializeAndAddPointerId(a){(aD.#x||=new Set).add(a)}static setPointer(a,b){aD.#w||=b,aD.#z??=a}static setTimeStamp(a){aD.#y=a}static isSamePointerId(a){return aD.#w===a}static isSamePointerIdOrRemove(a){return aD.#w===a||(aD.#x?.delete(a),!1)}static isSamePointerType(a){return aD.#z===a}static isInitializedAndDifferentPointerType(a){return null!==aD.#z&&!aD.isSamePointerType(a)}static isSameTimeStamp(a){return aD.#y===a}static isUsingMultiplePointers(){return aD.#x?.size>=1}static clearPointerType(){aD.#z=null}static clearPointerIds(){aD.#w=NaN,aD.#x=null}static clearTimeStamp(){aD.#y=NaN}}class aE{#A=0;get id(){return`${k}${this.#A++}`}}class aF{#B=P();#A=0;#C=null;static get _isSVGFittingCanvas(){let a=`data:image/svg+xml;charset=UTF-8,<svg viewBox="0 0 1 1" width="1" height="1" xmlns="${h}"><rect width="1" height="1" style="fill:red;"/></svg>`,b=new OffscreenCanvas(1,3).getContext("2d",{willReadFrequently:!0}),c=new Image;return c.src=a,B(this,"_isSVGFittingCanvas",c.decode().then(()=>(b.drawImage(c,0,0,1,1,0,0,1,3),0===new Uint32Array(b.getImageData(0,0,1,1).data.buffer)[0])))}async #D(a,b){this.#C||=new Map;let c=this.#C.get(a);if(null===c)return null;if(c?.bitmap)return c.refCounter+=1,c;try{let a;if(c||={bitmap:null,id:`image_${this.#B}_${this.#A++}`,refCounter:0,isSvg:!1},"string"==typeof b?(c.url=b,a=await Y(b,"blob")):b instanceof File?a=c.file=b:b instanceof Blob&&(a=b),"image/svg+xml"===a.type){let b=aF._isSVGFittingCanvas,d=new FileReader,e=new Image,f=new Promise((a,f)=>{e.onload=()=>{c.bitmap=e,c.isSvg=!0,a()},d.onload=async()=>{let a=c.svgUrl=d.result;e.src=await b?`${a}#svgView(preserveAspectRatio(none))`:a},e.onerror=d.onerror=f});d.readAsDataURL(a),await f}else c.bitmap=await createImageBitmap(a);c.refCounter=1}catch(a){v(a),c=null}return this.#C.set(a,c),c&&this.#C.set(c.id,c),c}async getFromFile(a){let{lastModified:b,name:c,size:d,type:e}=a;return this.#D(`${b}_${c}_${d}_${e}`,a)}async getFromUrl(a){return this.#D(a,a)}async getFromBlob(a,b){let c=await b;return this.#D(a,c)}async getFromId(a){this.#C||=new Map;let b=this.#C.get(a);if(!b)return null;if(b.bitmap)return b.refCounter+=1,b;if(b.file)return this.getFromFile(b.file);if(b.blobPromise){let{blobPromise:a}=b;return delete b.blobPromise,this.getFromBlob(b.id,a)}return this.getFromUrl(b.url)}getFromCanvas(a,b){this.#C||=new Map;let c=this.#C.get(a);if(c?.bitmap)return c.refCounter+=1,c;let d=new OffscreenCanvas(b.width,b.height);return d.getContext("2d").drawImage(b,0,0),c={bitmap:d.transferToImageBitmap(),id:`image_${this.#B}_${this.#A++}`,refCounter:1,isSvg:!1},this.#C.set(a,c),this.#C.set(c.id,c),c}getSvgUrl(a){let b=this.#C.get(a);return b?.isSvg?b.svgUrl:null}deleteId(a){this.#C||=new Map;let b=this.#C.get(a);if(!b||(b.refCounter-=1,0!==b.refCounter))return;let{bitmap:c}=b;if(!b.url&&!b.file){let a=new OffscreenCanvas(c.width,c.height);a.getContext("bitmaprenderer").transferFromImageBitmap(c),b.blobPromise=a.convertToBlob()}c.close?.(),b.bitmap=null}isValidId(a){return a.startsWith(`image_${this.#B}_`)}}class aG{#E=[];#F=!1;#G;#H=-1;constructor(a=128){this.#G=a}add({cmd:a,undo:b,post:c,mustExec:d,type:e=NaN,overwriteIfSameType:f=!1,keepUndo:g=!1}){if(d&&a(),this.#F)return;let h={cmd:a,undo:b,post:c,type:e};if(-1===this.#H){this.#E.length>0&&(this.#E.length=0),this.#H=0,this.#E.push(h);return}if(f&&this.#E[this.#H].type===e){g&&(h.undo=this.#E[this.#H].undo),this.#E[this.#H]=h;return}let i=this.#H+1;i===this.#G?this.#E.splice(0,1):(this.#H=i,i<this.#E.length&&this.#E.splice(i)),this.#E.push(h)}undo(){if(-1===this.#H)return;this.#F=!0;let{undo:a,post:b}=this.#E[this.#H];a(),b?.(),this.#F=!1,this.#H-=1}redo(){if(this.#H<this.#E.length-1){this.#H+=1,this.#F=!0;let{cmd:a,post:b}=this.#E[this.#H];a(),b?.(),this.#F=!1}}hasSomethingToUndo(){return -1!==this.#H}hasSomethingToRedo(){return this.#H<this.#E.length-1}cleanType(a){if(-1!==this.#H){for(let b=this.#H;b>=0;b--)if(this.#E[b].type!==a){this.#E.splice(b+1,this.#H-b),this.#H=b;return}this.#E.length=0,this.#H=-1}}destroy(){this.#E=null}}class aH{static ALT=1;static CTRL=2;static META=4;static SHIFT=8;constructor(a){this.callbacks=new Map;const{isMac:b}=K.platform;for(const[c,d,e={}]of a){const a=c.some(a=>a.startsWith("mac+"));for(const f of c){let c=f;if(a){const a=f.startsWith("mac+");if(b!==a)continue;a&&(c=f.slice(4))}const[g,h]=aH.#I(c);null!==g&&this.callbacks.getOrInsertComputed(g,Q).push({callback:d,options:e,modifiers:h})}}}static #I(a){let b=null,c=0;for(let d of a.split("+")){if(!(d=d.trim()))continue;let e=d.toUpperCase(),f=aH[e];if(f){c|=f;continue}if(null!==b){v(`KeyboardManager: multiple keys in shortcut "${a}"`);break}b="SPACE"===e?" ":d}return null===b&&v(`KeyboardManager: no key found in shortcut "${a}"`),[b,c]}static #J(a){let b=/^(?:Key([A-Z])|(?:Digit|Numpad)(\d))$/.exec(a);return b?b[1]?.toLowerCase()??b[2]:null}exec(a,b){let c=this.callbacks.get(b.key);if(!c){if(/^[a-z]$/i.test(b.key))return;let a=aH.#J(b.code);if(null===a||a===b.key||!(c=this.callbacks.get(a)))return}let d=(b.altKey?aH.ALT:0)|(b.ctrlKey?aH.CTRL:0)|(b.metaKey?aH.META:0)|(b.shiftKey?aH.SHIFT:0),e=c.find(a=>a.modifiers===d);if(!e)return;let{callback:f,options:{bubbles:g=!1,args:h=[],checker:i=null}}=e;(!i||i(a,b))&&(f.bind(a,...h,b)(),g||af(b))}}class aI{static _colorsMapping=new Map([["CanvasText",[0,0,0]],["Canvas",[255,255,255]]]);get _colors(){let a=new Map([["CanvasText",null],["Canvas",null]]),b=document.createElement("span");for(let c of(b.style.visibility="hidden",b.style.colorScheme="only light",document.body.append(b),a.keys())){b.style.color=c;let d=window.getComputedStyle(b).color;a.set(c,ai(d))}return b.remove(),B(this,"_colors",a)}convert(a){let b=ai(a);if(!window.matchMedia("(forced-colors: active)").matches)return b;for(let[a,c]of this._colors)if(c.every((a,c)=>a===b[c]))return aI._colorsMapping.get(a);return b}getHexCode(a){let b=this._colors.get(a);return b?L.makeHexColor(...b):a}}class aJ{#K=new AbortController;#L=null;#M=null;#N=new Map;#O=new Map;#P=null;#Q=null;#R=null;#S=null;#T=new aG;#U=null;#V=null;#W=null;#X=0;#Y=new Set;#Z=null;#$=null;#_=new Set;_editorUndoBar=null;#aa=!1;#ab=!1;#ac=!1;#ad=null;#ae=null;#af=null;#ag=null;#ah=!1;#ai=null;#aj=new aE;#ak=!1;#al=!1;#am=!1;#an=null;#ao=null;#ap=null;#aq=null;#ar=null;#as=l.NONE;#at=new Set;#au=null;#av=null;#aw=null;#ax=null;#ay=null;#az={isEditing:!1,isEmpty:!0,hasSomethingToUndo:!1,hasSomethingToRedo:!1,hasSelectedEditor:!1,hasSelectedText:!1};#aA=[0,0];#aB=null;#aC=null;#aD=null;#aE=null;#aF=null;static TRANSLATE_SMALL=1;static TRANSLATE_BIG=10;static get _keyboardManager(){let a=aJ.prototype,b=a=>a.#aC.contains(document.activeElement)&&"BUTTON"!==document.activeElement.tagName&&a.hasSomethingToControl(),c=(a,{target:b})=>{if(b instanceof HTMLInputElement){let{type:a}=b;return"text"!==a&&"number"!==a}return!0},d=this.TRANSLATE_SMALL,e=this.TRANSLATE_BIG;return B(this,"_keyboardManager",new aH([[["ctrl+a","mac+meta+a"],a.selectAll,{checker:c}],[["ctrl+z","mac+meta+z"],a.undo,{checker:c}],[["ctrl+y","ctrl+shift+z","mac+meta+shift+z","ctrl+shift+Z","mac+meta+shift+Z"],a.redo,{checker:c}],[["Backspace","alt+Backspace","ctrl+Backspace","shift+Backspace","mac+Backspace","mac+alt+Backspace","mac+ctrl+Backspace","Delete","ctrl+Delete","shift+Delete","mac+Delete"],a.delete,{checker:c}],[["Enter"],a.addNewEditorFromKeyboard,{checker:(a,{target:b})=>!(b instanceof HTMLButtonElement)&&a.#aC.contains(b)&&!a.isEnterHandled}],[["Space"],a.addNewEditorFromKeyboard,{checker:(a,{target:b})=>!(b instanceof HTMLButtonElement)&&a.#aC.contains(document.activeElement)}],[["Escape"],a.unselectAll],[["ArrowLeft"],a.translateSelectedEditors,{args:[-d,0],checker:b}],[["ctrl+ArrowLeft","mac+shift+ArrowLeft"],a.translateSelectedEditors,{args:[-e,0],checker:b}],[["ArrowRight"],a.translateSelectedEditors,{args:[d,0],checker:b}],[["ctrl+ArrowRight","mac+shift+ArrowRight"],a.translateSelectedEditors,{args:[e,0],checker:b}],[["ArrowUp"],a.translateSelectedEditors,{args:[0,-d],checker:b}],[["ctrl+ArrowUp","mac+shift+ArrowUp"],a.translateSelectedEditors,{args:[0,-e],checker:b}],[["ArrowDown"],a.translateSelectedEditors,{args:[0,d],checker:b}],[["ctrl+ArrowDown","mac+shift+ArrowDown"],a.translateSelectedEditors,{args:[0,e],checker:b}]]))}constructor(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p){const q=this._signal=this.#K.signal;this.#aC=a,this.#aD=b,this.#aE=c,this.#Q=d,this.#U=e,this.#av=f,this.#ay=h,this._eventBus=g;const r={signal:q,...aB};g.on("editingaction",this.onEditingAction.bind(this),r),g.on("pagechanging",this.onPageChanging.bind(this),r),g.on("scalechanging",this.onScaleChanging.bind(this),r),g.on("rotationchanging",this.onRotationChanging.bind(this),r),g.on("setpreference",this.onSetPreference.bind(this),r),g.on("switchannotationeditorparams",a=>this.updateParams(a.type,a.value),r),window.addEventListener("pointerdown",()=>{this.#al=!0},{capture:!0,signal:q}),window.addEventListener("pointerup",()=>{this.#al=!1},{capture:!0,signal:q}),window.addEventListener("beforeunload",this.#aG.bind(this),{capture:!0,signal:q}),this.#aH(),this.#aI(),this.#aJ(),this.#R=h.annotationStorage,this.#ad=h.filterFactory,this.#aw=i,this.#ag=j||null,this.#aa=k,this.#ab=l,this.#ac=m,this.#ar=n||null,this.viewParameters={realScale:X.PDF_TO_CSS_UNITS,rotation:0},this.isShiftKeyDown=!1,this._editorUndoBar=o||null,this._supportsPinchToZoom=!1!==p,e?.setSidebarUiManager(this)}destroy(){for(let a of(this.#aF?.resolve(),this.#aF=null,this.#K?.abort(),this.#K=null,this._signal=null,this.#O.values()))a.destroy();this.#O.clear(),this.#N.clear(),this.#_.clear(),this.#aq?.clear(),this.#L=null,this.#at.clear(),this.#T.destroy(),this.#Q?.destroy(),this.#U?.destroy(),this.#av?.destroy(),this.#ai?.hide(),this.#ai=null,this.#ap?.destroy(),this.#ap=null,this.#M=null,this.#ae&&(clearTimeout(this.#ae),this.#ae=null),this.#aB&&(clearTimeout(this.#aB),this.#aB=null),this._editorUndoBar?.destroy(),this.#ay=null}combinedSignal(a){return AbortSignal.any([this._signal,a.signal])}get mlManager(){return this.#ar}get useNewAltTextFlow(){return this.#ab}get useNewAltTextWhenAddingImage(){return this.#ac}get hcmFilter(){return B(this,"hcmFilter",this.#aw?this.#ad.addHCMFilter(this.#aw.foreground,this.#aw.background):"none")}get direction(){return B(this,"direction",getComputedStyle(this.#aC).direction)}get _highlightColors(){return B(this,"_highlightColors",this.#ag?new Map(this.#ag.split(",").map(a=>((a=a.split("=").map(a=>a.trim()))[1]=a[1].toUpperCase(),a))):null)}get highlightColors(){let{_highlightColors:a}=this;if(!a)return B(this,"highlightColors",null);let b=new Map,c=!!this.#aw;for(let[d,e]of a){let a=d.endsWith("_HCM");if(c&&a){b.set(d.replace("_HCM",""),e);continue}c||a||b.set(d,e)}return B(this,"highlightColors",b)}get highlightColorNames(){return B(this,"highlightColorNames",this.highlightColors?new Map(Array.from(this.highlightColors,a=>a.reverse())):null)}getNonHCMColor(a){if(!this._highlightColors)return a;let b=this.highlightColorNames.get(a);return this._highlightColors.get(b)||a}getNonHCMColorName(a){return this.highlightColorNames.get(a)||a}setCurrentDrawingSession(a){a?(this.unselectAll(),this.disableUserSelect(!0)):this.disableUserSelect(!1),this.#W=a}setMainHighlightColorPicker(a){this.#ap=a}editAltText(a,b=!1){this.#Q?.editAltText(this,a,b)}hasCommentManager(){return!!this.#U}editComment(a,b,c,d){this.#U?.showDialog(this,a,b,c,d)}selectComment(a,b){let c=this.#O.get(a),d=c?.getEditorByUID(b);d?.toggleComment(!0,!0)}updateComment(a){this.#U?.updateComment(a.getData())}updatePopupColor(a){this.#U?.updatePopupColor(a)}removeComment(a){this.#U?.removeComments([a.uid])}deleteComment(a,b){let c=()=>{a.comment=b},d=()=>{this._editorUndoBar?.show(c,"comment"),this.toggleComment(null),a.comment=null};this.addCommands({cmd:d,undo:c,mustExec:!0})}toggleComment(a,b,c){this.#U?.toggleCommentPopup(a,b,c)}makeCommentColor(a,b){return a&&this.#U?.makeCommentColor(a,b)||null}getCommentDialogElement(){return this.#U?.dialogElement||null}async waitForEditorsRendered(a){if(this.#O.has(a-1))return;let{resolve:b,promise:c}=Promise.withResolvers(),d=c=>{c.pageNumber===a&&(this._eventBus.off("editorsrendered",d),b())};this._eventBus.on("editorsrendered",d,aB),await c}getSignature(a){this.#av?.getSignature({uiManager:this,editor:a})}get signatureManager(){return this.#av}switchToMode(a,b){this._eventBus.on("annotationeditormodechanged",b,{once:!0,signal:this._signal,...aB}),this._eventBus.dispatch("showannotationeditorui",{source:this,mode:a})}setPreference(a,b){this._eventBus.dispatch("setpreference",{source:this,name:a,value:b})}onSetPreference({name:a,value:b}){"enableNewAltTextWhenAddingImage"===a&&(this.#ac=b)}onPageChanging({pageNumber:a}){this.#X=a-1}deletePage(a){for(let b of this.getEditors(a))b.remove();this.#O.delete(a),this.#X===a&&(this.#X=0)}focusMainContainer(){this.#aC.focus()}findParent(a,b){for(let c of this.#O.values()){let{x:d,y:e,width:f,height:g}=c.div.getBoundingClientRect();if(a>=d&&a<=d+f&&b>=e&&b<=e+g)return c}return null}disableUserSelect(a=!1){this.#aD.classList.toggle("noUserSelect",a)}addShouldRescale(a){this.#_.add(a)}removeShouldRescale(a){this.#_.delete(a)}onScaleChanging({scale:a}){for(let b of(this.commitOrRemove(),this.viewParameters.realScale=a*X.PDF_TO_CSS_UNITS,this.#_))b.onScaleChanging();this.#W?.onScaleChanging()}onRotationChanging({pagesRotation:a}){this.commitOrRemove(),this.viewParameters.rotation=a}#aK({anchorNode:a}){return a.nodeType===Node.TEXT_NODE?a.parentElement:a}#aL(a){let{currentLayer:b}=this;if(b.hasTextLayer(a))return b;for(let b of this.#O.values())if(b.hasTextLayer(a))return b;return null}highlightSelection(a="",b=!1){let c=document.getSelection();if(!c||c.isCollapsed)return;let{anchorNode:d,anchorOffset:e,focusNode:f,focusOffset:g}=c,h=c.toString(),i=this.#aK(c).closest(".textLayer"),j=this.getSelectionBoxes(i);if(!j)return;c.empty();let k=this.#aL(i),m=this.#as===l.NONE,n=()=>{let c=k?.createAndAddNewEditor({x:0,y:0},!1,{methodOfCreation:a,boxes:j,anchorNode:d,anchorOffset:e,focusNode:f,focusOffset:g,text:h});m&&this.showAllEditors("highlight",!0,!0),b&&c?.editComment()};m?this.switchToMode(l.HIGHLIGHT,n):n()}commentSelection(a=""){this.highlightSelection(a,!0)}#aG(a){this.commitOrRemove(),this.currentLayer?.endDrawingSession(!1)}#aM(){let a=document.getSelection();if(!a||a.isCollapsed)return;let b=this.#aK(a).closest(".textLayer"),c=this.getSelectionBoxes(b);c&&(this.#ai||=new aA(this),this.#ai.show(b,c,"ltr"===this.direction))}getAndRemoveDataFromAnnotationStorage(a){if(!this.#R)return null;let b=`${k}${a}`,c=this.#R.getRawValue(b);return c&&this.#R.remove(b),c}addToAnnotationStorage(a){a.isEmpty()||!this.#R||this.#R.has(a.id)||this.#R.setValue(a.id,a)}a11yAlert(a,b=null){let c=this.#aE;c&&(c.setAttribute("data-l10n-id",a),b?c.setAttribute("data-l10n-args",JSON.stringify(b)):c.removeAttribute("data-l10n-args"))}#aN(){let a=document.getSelection();if(!a||a.isCollapsed){this.#au&&(this.#ai?.hide(),this.#au=null,this.#aO({hasSelectedText:!1}));return}let{anchorNode:b}=a;if(b===this.#au)return;let c=this.#aK(a).closest(".textLayer");if(!c){this.#au&&(this.#ai?.hide(),this.#au=null,this.#aO({hasSelectedText:!1}));return}if(this.#ai?.hide(),this.#au=b,this.#aO({hasSelectedText:!0}),(this.#as===l.HIGHLIGHT||this.#as===l.NONE)&&(this.#as===l.HIGHLIGHT&&this.showAllEditors("highlight",!0,!0),this.#ah=this.isShiftKeyDown,!this.isShiftKeyDown)){let a=this.#as===l.HIGHLIGHT?this.#aL(c):null;if(a?.toggleDrawing(),this.#al){let b=new AbortController,c=this.combinedSignal(b),d=c=>{("pointerup"!==c.type||0===c.button)&&(b.abort(),a?.toggleDrawing(!0),"pointerup"===c.type&&this.#aP("main_toolbar"))};window.addEventListener("pointerup",d,{signal:c}),window.addEventListener("blur",d,{signal:c})}else a?.toggleDrawing(!0),this.#aP("main_toolbar")}}#aP(a=""){this.#as===l.HIGHLIGHT?this.highlightSelection(a):this.#aa&&this.#aM()}#aH(){document.addEventListener("selectionchange",this.#aN.bind(this),{signal:this._signal})}#aQ(){if(this.#af)return;this.#af=new AbortController;let a=this.combinedSignal(this.#af);window.addEventListener("focus",this.focus.bind(this),{signal:a}),window.addEventListener("blur",this.blur.bind(this),{signal:a})}#aR(){this.#af?.abort(),this.#af=null}blur(){if(this.isShiftKeyDown=!1,this.#ah&&(this.#ah=!1,this.#aP("main_toolbar")),!this.hasSelection)return;let{activeElement:a}=document;for(let b of this.#at)if(b.div.contains(a)){this.#ao=[b,a],b._focusEventsAllowed=!1;break}}focus(){if(!this.#ao)return;let[a,b]=this.#ao;this.#ao=null,b.addEventListener("focusin",()=>{a._focusEventsAllowed=!0},{once:!0,signal:this._signal}),b.focus()}#aJ(){if(this.#an)return;this.#an=new AbortController;let a=this.combinedSignal(this.#an);window.addEventListener("keydown",this.keydown.bind(this),{signal:a}),window.addEventListener("keyup",this.keyup.bind(this),{signal:a})}#aS(){this.#an?.abort(),this.#an=null}#aT(){if(this.#V)return;this.#V=new AbortController;let a=this.combinedSignal(this.#V);document.addEventListener("copy",this.copy.bind(this),{signal:a}),document.addEventListener("cut",this.cut.bind(this),{signal:a}),document.addEventListener("paste",this.paste.bind(this),{signal:a})}#aU(){this.#V?.abort(),this.#V=null}#aI(){let a=this._signal;document.addEventListener("dragover",this.dragOver.bind(this),{signal:a}),document.addEventListener("drop",this.drop.bind(this),{signal:a})}addEditListeners(){this.#aJ(),this.setEditingState(!0)}removeEditListeners(){this.#aS(),this.setEditingState(!1)}dragOver(a){for(let{type:b}of a.dataTransfer.items)for(let c of this.#$)if(c.isHandlingMimeForPasting(b)){a.dataTransfer.dropEffect="copy",a.preventDefault();return}}drop(a){for(let b of a.dataTransfer.items)for(let c of this.#$)if(c.isHandlingMimeForPasting(b.type)){c.paste(b,this.currentLayer),a.preventDefault();return}}copy(a){if(a.preventDefault(),this.#L?.commitOrRemove(),!this.hasSelection)return;let b=[];for(let a of this.#at){let c=a.serialize(!0);c&&b.push(c)}0!==b.length&&a.clipboardData.setData("application/pdfjs",JSON.stringify(b))}cut(a){this.copy(a),this.delete()}async paste(a){a.preventDefault();let{clipboardData:b}=a;for(let a of b.items)for(let b of this.#$)if(b.isHandlingMimeForPasting(a.type))return void b.paste(a,this.currentLayer);let c=b.getData("application/pdfjs");if(!c)return;try{c=JSON.parse(c)}catch(a){v(`paste: "${a.message}".`);return}if(!Array.isArray(c))return;this.unselectAll();let d=this.currentLayer;try{let a=[];for(let b of c){let c=await d.deserialize(b);if(!c)return;a.push(c)}let b=()=>{for(let b of a)this.#aV(b);this.#aW(a)};this.addCommands({cmd:b,undo:()=>{for(let b of a)b.remove()},mustExec:!0})}catch(a){v(`paste: "${a.message}".`)}}keydown(a){this.isShiftKeyDown||"Shift"!==a.key||(this.isShiftKeyDown=!0),this.#as===l.NONE||this.isEditorHandlingKeyboard||aJ._keyboardManager.exec(this,a)}keyup(a){this.isShiftKeyDown&&"Shift"===a.key&&(this.isShiftKeyDown=!1,this.#ah&&(this.#ah=!1,this.#aP("main_toolbar")))}onEditingAction({name:a}){switch(a){case"undo":case"redo":case"delete":case"selectAll":this[a]();break;case"highlightSelection":this.highlightSelection("context_menu");break;case"commentSelection":this.commentSelection("context_menu")}}updatePageIndex(a,b){for(let c of this.getEditors(a))c.pageIndex=b;let c=this.#P.get(a);c&&(c.pageIndex=b,this.#O.set(b,c),this.#ak?c.enable():c.disable())}startUpdatePages(){this.#P=new Map(this.#O),this.#O.clear()}endUpdatePages(){this.#P=null}clonePage(a,b){for(let c of this.getEditors(a)){let a=c.serialize(c.mode!==l.HIGHLIGHT);a&&(a.pageIndex=b,a.id=this.getId(),a.isClone=!0,delete a.popupRef,this.#R.setValue(a.id,a))}}findClonesForPage(a){let b=[],{pageIndex:c}=a;for(let[d,e]of this.#R)e.pageIndex===c&&e.isClone&&(this.#R.remove(d),b.push(a.deserialize(e).then(b=>{b&&(b.isClone=!0,a.addOrRebuild(b))})));return Promise.all(b)}#aO(a){Object.entries(a).some(([a,b])=>this.#az[a]!==b)&&(this._eventBus.dispatch("editingstateschanged",{source:this,details:Object.assign(this.#az,a)}),this.#as===l.HIGHLIGHT&&!1===a.hasSelectedEditor&&this.#aX([[m.HIGHLIGHT_FREE,!0]]))}#aX(a){this._eventBus.dispatch("annotationeditorparamschanged",{source:this,details:a})}setEditingState(a){a?(this.#aQ(),this.#aT(),this.#aO({isEditing:this.#as!==l.NONE,isEmpty:this.#aY(),hasSomethingToUndo:this.#T.hasSomethingToUndo(),hasSomethingToRedo:this.#T.hasSomethingToRedo(),hasSelectedEditor:!1})):(this.#aR(),this.#aU(),this.#aO({isEditing:!1}),this.disableUserSelect(!1))}registerEditorTypes(a){if(!this.#$)for(let b of(this.#$=a,this.#$))this.#aX(b.defaultPropertiesToUpdate)}getId(){return this.#aj.id}get currentLayer(){return this.#O.get(this.#X)}getLayer(a){return this.#O.get(a)}get currentPageIndex(){return this.#X}addLayer(a){this.#O.set(a.pageIndex,a),this.#ak?a.enable():a.disable()}removeLayer(a){this.#O.delete(a.pageIndex)}async updateMode(a,b=null,c=!1,d=!1,e=!1,f=!1){if(this.#as!==a&&(!this.#aF||(await this.#aF.promise,this.#aF))){if(this.#aF=Promise.withResolvers(),this.#W?.commitOrRemove(),this.#as===l.POPUP&&this.#U?.hideSidebar(),this.#U?.destroyPopup(),this.#as=a,a===l.NONE){for(let a of(this.setEditingState(!1),this.#aZ(),this.#N.values()))a.hideStandaloneCommentButton();this._editorUndoBar?.hide(),this.toggleComment(null),this.#aF.resolve();return}for(let a of this.#N.values())a.addStandaloneCommentButton();for(let b of(a===l.SIGNATURE&&await this.#av?.loadSignatures(),c&&aD.clearPointerType(),this.setEditingState(!0),await this.#a$(),this.unselectAll(),this.#O.values()))b.updateMode(a);if(a===l.POPUP){this.#M||=await this.#ay.getAnnotationsByType(new Set(this.#$.map(a=>a._editorType)));let a=new Set,b=[];for(let c of this.#N.values()){let{annotationElementId:d,hasComment:e,deleted:f}=c;d&&a.add(d),e&&!f&&b.push(c.getData())}for(let c of this.#M){let{id:d,popupRef:e,contentsObj:f}=c;e&&f?.str&&!a.has(d)&&!this.#Y.has(d)&&b.push(c)}this.#U?.showSidebar(b)}if(!b){d&&this.addNewEditorFromKeyboard(),this.#aF.resolve();return}for(let a of this.#N.values())a.uid===b?(this.setSelected(a),f?a.editComment():e?a.enterInEditMode():a.focus()):a.unselect();this.#aF.resolve()}}addNewEditorFromKeyboard(){this.currentLayer.canCreateNewEmptyEditor()&&this.currentLayer.addNewEditor()}updateToolbar(a){a.mode!==this.#as&&this._eventBus.dispatch("switchannotationeditormode",{source:this,...a})}updateParams(a,b){if(this.#$){switch(a){case m.CREATE:this.currentLayer.addNewEditor(b);return;case m.HIGHLIGHT_SHOW_ALL:this._eventBus.dispatch("reporttelemetry",{source:this,details:{type:"editing",data:{type:"highlight",action:"toggle_visibility"}}}),(this.#ax||=new Map).set(a,b),this.showAllEditors("highlight",b)}if(this.hasSelection)for(let c of this.#at)c.updateParams(a,b);else for(let c of this.#$)c.updateDefaultParams(a,b)}}showAllEditors(a,b,c=!1){for(let c of this.#N.values())c.editorType===a&&c.show(b);(this.#ax?.get(m.HIGHLIGHT_SHOW_ALL)??!0)!==b&&this.#aX([[m.HIGHLIGHT_SHOW_ALL,b]])}enableWaiting(a=!1){if(this.#am!==a)for(let b of(this.#am=a,this.#O.values()))a?b.disableClick():b.enableClick(),b.div.classList.toggle("waiting",a)}async #a$(){if(!this.#ak){this.#ak=!0;let a=[];for(let b of this.#O.values())a.push(b.enable());for(let b of(await Promise.all(a),this.#N.values()))b.enable()}}#aZ(){if(this.unselectAll(),this.#ak){for(let a of(this.#ak=!1,this.#O.values()))a.disable();for(let a of this.#N.values())a.disable()}}*getEditors(a){for(let b of this.#N.values())b.pageIndex===a&&(yield b)}getEditor(a){return this.#N.get(a)}addEditor(a){this.#N.set(a.id,a)}removeEditor(a){a.div.contains(document.activeElement)&&(this.#ae&&clearTimeout(this.#ae),this.#ae=setTimeout(()=>{this.focusMainContainer(),this.#ae=null},0)),this.#N.delete(a.id),a.annotationElementId&&this.#aq?.delete(a.annotationElementId),this.unselect(a),a.annotationElementId&&this.#Y.has(a.annotationElementId)||this.#R?.remove(a.id)}addDeletedAnnotationElement(a){this.#Y.add(a.annotationElementId),this.addChangedExistingAnnotation(a),a.deleted=!0}isDeletedAnnotationElement(a){return this.#Y.has(a)}removeDeletedAnnotationElement(a){this.#Y.delete(a.annotationElementId),this.removeChangedExistingAnnotation(a),a.deleted=!1}#aV(a){let b=this.#O.get(a.pageIndex);b?b.addOrRebuild(a):(this.addEditor(a),this.addToAnnotationStorage(a))}setActiveEditor(a){this.#L!==a&&(this.#L=a,a&&this.#aX(a.propertiesToUpdate))}get #a_(){let a=null;for(a of this.#at);return a}updateUI(a){this.#a_===a&&this.#aX(a.propertiesToUpdate)}updateUIForDefaultProperties(a){this.#aX(a.defaultPropertiesToUpdate)}toggleSelected(a){if(this.#at.has(a)){this.#at.delete(a),a.unselect(),this.#aO({hasSelectedEditor:this.hasSelection});return}this.#at.add(a),a.select(),this.#aX(a.propertiesToUpdate),this.#aO({hasSelectedEditor:!0})}setSelected(a){for(let b of(this.updateToolbar({mode:a.mode,editId:a.uid}),this.#W?.commitOrRemove(),this.#at))b!==a&&b.unselect();this.#U?.destroyPopup(),this.#at.clear(),this.#at.add(a),a.select(),this.#aX(a.propertiesToUpdate),this.#aO({hasSelectedEditor:!0})}get firstSelectedEditor(){return this.#at.values().next().value}unselect(a){a.unselect(),this.#at.delete(a),this.#aO({hasSelectedEditor:this.hasSelection})}get hasSelection(){return 0!==this.#at.size}get isEnterHandled(){return 1===this.#at.size&&this.firstSelectedEditor.isEnterHandled}undo(){this.#T.undo(),this.#aO({hasSomethingToUndo:this.#T.hasSomethingToUndo(),hasSomethingToRedo:!0,isEmpty:this.#aY()}),this._editorUndoBar?.hide()}redo(){this.#T.redo(),this.#aO({hasSomethingToUndo:!0,hasSomethingToRedo:this.#T.hasSomethingToRedo(),isEmpty:this.#aY()})}addCommands(a){this.#T.add(a),this.#aO({hasSomethingToUndo:!0,hasSomethingToRedo:!1,isEmpty:this.#aY()})}cleanUndoStack(a){this.#T.cleanType(a)}#aY(){if(0===this.#N.size)return!0;if(1===this.#N.size)for(let a of this.#N.values())return a.isEmpty();return!1}delete(){this.commitOrRemove();let a=this.currentLayer?.endDrawingSession(!0);if(!this.hasSelection&&!a)return;let b=a?[a]:[...this.#at],c=()=>{for(let a of(this._editorUndoBar?.show(d,1===b.length?b[0].editorType:b.length),b))a.remove()},d=()=>{for(let a of b)this.#aV(a)};this.addCommands({cmd:c,undo:d,mustExec:!0})}commitOrRemove(){this.#L?.commitOrRemove()}hasSomethingToControl(){return this.#L||this.hasSelection}#aW(a){for(let a of this.#at)a.unselect();for(let b of(this.#at.clear(),a))b.isEmpty()||(this.#at.add(b),b.select());this.#aO({hasSelectedEditor:this.hasSelection})}selectAll(){for(let a of this.#at)a.commit();this.#aW(this.#N.values())}unselectAll(){if(!this.#L||(this.#L.commitOrRemove(),this.#as===l.NONE)){if(!this.#W?.commitOrRemove()&&(this.#U?.destroyPopup(),this.hasSelection)){for(let a of this.#at)a.unselect();this.#at.clear(),this.#aO({hasSelectedEditor:!1})}}}translateSelectedEditors(a,b,c=!1){if(c||this.commitOrRemove(),!this.hasSelection)return;this.#aA[0]+=a,this.#aA[1]+=b;let[d,e]=this.#aA,f=[...this.#at];for(let c of(this.#aB&&clearTimeout(this.#aB),this.#aB=setTimeout(()=>{this.#aB=null,this.#aA[0]=this.#aA[1]=0,this.addCommands({cmd:()=>{for(let a of f)this.#N.has(a.id)&&(a.translateInPage(d,e),a.translationDone())},undo:()=>{for(let a of f)this.#N.has(a.id)&&(a.translateInPage(-d,-e),a.translationDone())},mustExec:!1})},1e3),f))c.translateInPage(a,b),c.translationDone()}setUpDragSession(){if(this.hasSelection)for(let a of(this.disableUserSelect(!0),this.#Z=new Map,this.#at))this.#Z.set(a,{savedX:a.x,savedY:a.y,savedPageIndex:a.pageIndex,newX:0,newY:0,newPageIndex:-1})}endDragSession(){if(!this.#Z)return!1;this.disableUserSelect(!1);let a=this.#Z;this.#Z=null;let b=!1;for(let[{x:c,y:d,pageIndex:e},f]of a)f.newX=c,f.newY=d,f.newPageIndex=e,b||=c!==f.savedX||d!==f.savedY||e!==f.savedPageIndex;if(!b)return!1;let c=(a,b,c,d)=>{if(this.#N.has(a.id)){let e=this.#O.get(d);e?a._setParentAndPosition(e,b,c):(a.pageIndex=d,a.x=b,a.y=c)}};return this.addCommands({cmd:()=>{for(let[b,{newX:d,newY:e,newPageIndex:f}]of a)c(b,d,e,f)},undo:()=>{for(let[b,{savedX:d,savedY:e,savedPageIndex:f}]of a)c(b,d,e,f)},mustExec:!0}),!0}dragSelectedEditors(a,b){if(this.#Z)for(let c of this.#Z.keys())c.drag(a,b)}rebuild(a){if(null===a.parent){let b=this.getLayer(a.pageIndex);b?(b.changeParent(a),b.addOrRebuild(a)):(this.addEditor(a),this.addToAnnotationStorage(a),a.rebuild())}else a.parent.addOrRebuild(a)}get isEditorHandlingKeyboard(){return this.getActive()?.shouldGetKeyboardEvents()||1===this.#at.size&&this.firstSelectedEditor.shouldGetKeyboardEvents()}isActive(a){return this.#L===a}getActive(){return this.#L}getMode(){return this.#as}isEditingMode(){return this.#as!==l.NONE}get imageManager(){return B(this,"imageManager",new aF)}getSelectionBoxes(a){let b;if(!a)return null;let c=document.getSelection();for(let b=0,d=c.rangeCount;b<d;b++)if(!a.contains(c.getRangeAt(b).commonAncestorContainer))return null;let{x:d,y:e,width:f,height:g}=a.getBoundingClientRect();switch(a.getAttribute("data-main-rotation")){case"90":b=(a,b,c,h)=>({x:(b-e)/g,y:1-(a+c-d)/f,width:h/g,height:c/f});break;case"180":b=(a,b,c,h)=>({x:1-(a+c-d)/f,y:1-(b+h-e)/g,width:c/f,height:h/g});break;case"270":b=(a,b,c,h)=>({x:1-(b+h-e)/g,y:(a-d)/f,width:h/g,height:c/f});break;default:b=(a,b,c,h)=>({x:(a-d)/f,y:(b-e)/g,width:c/f,height:h/g})}let h=[];for(let a=0,d=c.rangeCount;a<d;a++){let d=c.getRangeAt(a);if(!d.collapsed)for(let{x:a,y:c,width:e,height:f}of d.getClientRects())0!==e&&0!==f&&h.push(b(a,c,e,f))}return 0===h.length?null:h}addChangedExistingAnnotation({annotationElementId:a,id:b}){(this.#S||=new Map).set(a,b)}removeChangedExistingAnnotation({annotationElementId:a}){this.#S?.delete(a)}renderAnnotationElement(a){let b=this.#S?.get(a.data.id);if(!b)return;let c=this.#R.getRawValue(b);!c||(this.#as!==l.NONE||c.hasBeenModified)&&c.renderAnnotationElement(a)}setMissingCanvas(a,b,c){let d=this.#aq?.get(a);d&&(d.setCanvas(b,c),this.#aq.delete(a))}addMissingCanvas(a,b){(this.#aq||=new Map).set(a,b)}}class aK{#i=null;#a0=!1;#a1=null;#a2=null;#a3=null;#a4=null;#a5=!1;#a6=null;#g=null;#a7=null;#a8=null;#a9=!1;static #ba=null;static _l10n=null;constructor(a){this.#g=a,this.#a9=a._uiManager.useNewAltTextFlow,aK.#ba||=Object.freeze({added:"pdfjs-editor-new-alt-text-added-button","added-label":"pdfjs-editor-new-alt-text-added-button-label",missing:"pdfjs-editor-new-alt-text-missing-button","missing-label":"pdfjs-editor-new-alt-text-missing-button-label",review:"pdfjs-editor-new-alt-text-to-review-button","review-label":"pdfjs-editor-new-alt-text-to-review-button-label"})}static initialize(a){aK._l10n??=a}async render(){let a=this.#a1=document.createElement("button");a.className="altText",a.tabIndex="0";let b=this.#a2=document.createElement("span");a.append(b),this.#a9?(a.classList.add("new"),a.setAttribute("data-l10n-id",aK.#ba.missing),b.setAttribute("data-l10n-id",aK.#ba["missing-label"])):(a.setAttribute("data-l10n-id","pdfjs-editor-alt-text-button"),b.setAttribute("data-l10n-id","pdfjs-editor-alt-text-button-label"));let c=this.#g._uiManager._signal;a.addEventListener("contextmenu",ae,{signal:c}),a.addEventListener("pointerdown",a=>a.stopPropagation(),{signal:c});let d=a=>{a.preventDefault(),this.#g._uiManager.editAltText(this.#g),this.#a9&&this.#g._reportTelemetry({action:"pdfjs.image.alt_text.image_status_label_clicked",data:{label:this.#bb}})};return a.addEventListener("click",d,{capture:!0,signal:c}),a.addEventListener("keydown",b=>{b.target===a&&"Enter"===b.key&&(this.#a5=!0,d(b))},{signal:c}),await this.#bc(),a}get #bb(){return this.#i&&"added"||null===this.#i&&this.guessedText&&"review"||"missing"}finish(){this.#a1&&(this.#a1.focus({focusVisible:this.#a5}),this.#a5=!1)}isEmpty(){return this.#a9?null===this.#i:!this.#i&&!this.#a0}hasData(){return this.#a9?null!==this.#i||!!this.#a7:this.isEmpty()}get guessedText(){return this.#a7}async setGuessedText(a){null===this.#i&&(this.#a7=a,this.#a8=await aK._l10n.get("pdfjs-editor-new-alt-text-generated-alt-text-with-disclaimer",{generatedAltText:a}),this.#bc())}toggleAltTextBadge(a=!1){if(!this.#a9||this.#i){this.#a6?.remove(),this.#a6=null;return}if(!this.#a6){let a=this.#a6=document.createElement("div");a.className="noAltTextBadge",this.#g.div.append(a)}this.#a6.classList.toggle("hidden",!a)}serialize(a){let b=this.#i;return a||this.#a7!==b||(b=this.#a8),{altText:b,decorative:this.#a0,guessedText:this.#a7,textWithDisclaimer:this.#a8}}get data(){return{altText:this.#i,decorative:this.#a0}}set data({altText:a,decorative:b,guessedText:c,textWithDisclaimer:d,cancel:e=!1}){c&&(this.#a7=c,this.#a8=d),(this.#i!==a||this.#a0!==b)&&(e||(this.#i=a,this.#a0=b),this.#bc())}toggle(a=!1){this.#a1&&(!a&&this.#a4&&(clearTimeout(this.#a4),this.#a4=null),this.#a1.disabled=!a)}shown(){this.#g._reportTelemetry({action:"pdfjs.image.alt_text.image_status_label_displayed",data:{label:this.#bb}})}destroy(){this.#a1?.remove(),this.#a1=null,this.#a2=null,this.#a3=null,this.#a6?.remove(),this.#a6=null}async #bc(){let a=this.#a1;if(!a)return;if(this.#a9){if(a.classList.toggle("done",!!this.#i),a.setAttribute("data-l10n-id",aK.#ba[this.#bb]),this.#a2?.setAttribute("data-l10n-id",aK.#ba[`${this.#bb}-label`]),!this.#i)return void this.#a3?.remove()}else{if(!this.#i&&!this.#a0){a.classList.remove("done"),this.#a3?.remove();return}a.classList.add("done"),a.setAttribute("data-l10n-id","pdfjs-editor-alt-text-edit-button")}let b=this.#a3;if(!b){this.#a3=b=document.createElement("span"),b.className="tooltip",b.setAttribute("role","tooltip"),b.id=`alt-text-tooltip-${this.#g.id}`;let c=this.#g._uiManager._signal;c.addEventListener("abort",()=>{clearTimeout(this.#a4),this.#a4=null},{once:!0}),a.addEventListener("mouseenter",()=>{this.#a4=setTimeout(()=>{this.#a4=null,this.#a3.classList.add("show"),this.#g._reportTelemetry({action:"alt_text_tooltip"})},100)},{signal:c}),a.addEventListener("mouseleave",()=>{this.#a4&&(clearTimeout(this.#a4),this.#a4=null),this.#a3?.classList.remove("show")},{signal:c})}this.#a0?b.setAttribute("data-l10n-id","pdfjs-editor-alt-text-decorative-tooltip"):(b.removeAttribute("data-l10n-id"),b.textContent=this.#i),b.parentNode||a.append(b);let c=this.#g.getElementForAltText();c?.setAttribute("aria-describedby",b.id)}}class aL{#bd=null;#be=null;#bf=!1;#g=null;#bg=null;#bh=null;#bi=null;#bj=null;#bk=!1;#bl=null;constructor(a){this.#g=a}renderForToolbar(){let a=this.#be=document.createElement("button");return a.className="comment",this.#t(a,!1)}renderForStandalone(){let a=this.#bd=document.createElement("button");a.className="annotationCommentButton";let b=this.#g.commentButtonPosition;if(b){let{style:c}=a;c.insetInlineEnd=`calc(${100*("ltr"===this.#g._uiManager.direction?1-b[0]:b[0])}% - var(--comment-button-dim))`,c.top=`calc(${100*b[1]}% - var(--comment-button-dim))`;let d=this.#g.commentButtonColor;d&&(c.backgroundColor=d)}return this.#t(a,!0)}focusButton(){setTimeout(()=>{(this.#bd??this.#be)?.focus()},0)}onUpdatedColor(){if(!this.#bd)return;let a=this.#g.commentButtonColor;a&&(this.#bd.style.backgroundColor=a),this.#g._uiManager.updatePopupColor(this.#g)}get commentButtonWidth(){return(this.#bd?.getBoundingClientRect().width??0)/this.#g.parent.boundingClientRect.width}get commentPopupPositionInLayer(){if(this.#bl)return this.#bl;if(!this.#bd)return null;let{x:a,y:b,height:c}=this.#bd.getBoundingClientRect(),{x:d,y:e,width:f,height:g}=this.#g.parent.boundingClientRect;return[(a-d)/f,(b+c-e)/g]}set commentPopupPositionInLayer(a){this.#bl=a}hasDefaultPopupPosition(){return null===this.#bl}removeStandaloneCommentButton(){this.#bd?.remove(),this.#bd=null}removeToolbarCommentButton(){this.#be?.remove(),this.#be=null}setCommentButtonStates({selected:a,hasPopup:b}){this.#bd&&(this.#bd.classList.toggle("selected",a),this.#bd.ariaExpanded=b)}#t(a,b){if(!this.#g._uiManager.hasCommentManager())return null;a.tabIndex="0",a.ariaHasPopup="dialog",b?(a.ariaControls="commentPopup",a.setAttribute("data-l10n-id","pdfjs-show-comment-button")):(a.ariaControlsElements=[this.#g._uiManager.getCommentDialogElement()],a.setAttribute("data-l10n-id","pdfjs-editor-add-comment-button"));let c=this.#g._uiManager._signal;if(!(c instanceof AbortSignal)||c.aborted)return a;a.addEventListener("contextmenu",ae,{signal:c}),b&&(a.addEventListener("focusin",a=>{this.#g._focusEventsAllowed=!1,af(a)},{capture:!0,signal:c}),a.addEventListener("focusout",a=>{this.#g._focusEventsAllowed=!0,af(a)},{capture:!0,signal:c})),a.addEventListener("pointerdown",a=>a.stopPropagation(),{signal:c});let d=b=>{b.preventDefault(),a===this.#be?this.edit():this.#g.toggleComment(!0)};return a.addEventListener("click",d,{capture:!0,signal:c}),a.addEventListener("keydown",b=>{b.target===a&&"Enter"===b.key&&(this.#bf=!0,d(b))},{signal:c}),a.addEventListener("pointerenter",()=>{this.#g.toggleComment(!1,!0)},{signal:c}),a.addEventListener("pointerleave",()=>{this.#g.toggleComment(!1,!1)},{signal:c}),a}edit(a){let b,c,d=this.commentPopupPositionInLayer;if(d)[b,c]=d;else{[b,c]=this.#g.commentButtonPosition;let{width:a,height:d,x:e,y:f}=this.#g;b=e+b*a,c=f+c*d}let e=this.#g.parent.boundingClientRect,{x:f,y:g,width:h,height:i}=e;this.#g._uiManager.editComment(this.#g,f+b*h,g+c*i,{...a,parentDimensions:e})}finish(){this.#be&&(this.#be.focus({focusVisible:this.#bf}),this.#bf=!1)}isDeleted(){return this.#bk||""===this.#bi}isEmpty(){return null===this.#bi}hasBeenEdited(){return this.isDeleted()||this.#bi!==this.#bg}serialize(){return this.data}get data(){return{text:this.#bi,richText:this.#bh,date:this.#bj,deleted:this.isDeleted()}}set data(a){if(a!==this.#bi&&(this.#bh=null),null===a){this.#bi="",this.#bk=!0;return}this.#bi=a,this.#bj=new Date,this.#bk=!1}restoreData({text:a,richText:b,date:c}){this.#bi=a,this.#bh=b,this.#bj=c,this.#bk=!1}setInitialText(a,b=null){this.#bg=a,this.data=a,this.#bj=null,this.#bh=b}shown(){}destroy(){this.#be?.remove(),this.#be=null,this.#bd?.remove(),this.#bd=null,this.#bi="",this.#bh=null,this.#bj=null,this.#g=null,this.#bf=!1,this.#bk=!1}}class aM{#aC;#bm=!1;#bn=null;#bo;#bp;#bq;#br;#bs=null;#bt;#bu=null;#bv;#bw=null;constructor({container:a,isPinchingDisabled:b=null,isPinchingStopped:c=null,onPinchStart:d=null,onPinching:e=null,onPinchEnd:f=null,signal:g}){this.#aC=a,this.#bn=c,this.#bo=b,this.#bp=d,this.#bq=e,this.#br=f,this.#bv=new AbortController,this.#bt=AbortSignal.any([g,this.#bv.signal]),a.addEventListener("touchstart",this.#bx.bind(this),{passive:!1,signal:this.#bt})}get MIN_TOUCH_DISTANCE_TO_PINCH(){return 35/am.pixelRatio}#bx(a){if(this.#bo?.())return;if(1===a.touches.length){if(this.#bs)return;let a=this.#bs=new AbortController,b=AbortSignal.any([this.#bt,a.signal]),c=this.#aC,d={capture:!0,signal:b,passive:!1},e=a=>{"touch"===a.pointerType&&(this.#bs?.abort(),this.#bs=null)};c.addEventListener("pointerdown",a=>{"touch"===a.pointerType&&(af(a),e(a))},d),c.addEventListener("pointerup",e,d),c.addEventListener("pointercancel",e,d);return}if(!this.#bw){this.#bw=new AbortController;let a=AbortSignal.any([this.#bt,this.#bw.signal]),b=this.#aC,c={signal:a,capture:!1,passive:!1};b.addEventListener("touchmove",this.#by.bind(this),c);let d=this.#bz.bind(this);b.addEventListener("touchend",d,c),b.addEventListener("touchcancel",d,c),c.capture=!0,b.addEventListener("pointerdown",af,c),b.addEventListener("pointermove",af,c),b.addEventListener("pointercancel",af,c),b.addEventListener("pointerup",af,c),this.#bp?.()}if(af(a),2!==a.touches.length||this.#bn?.()){this.#bu=null;return}let[b,c]=a.touches;b.identifier>c.identifier&&([b,c]=[c,b]),this.#bu={touch0X:b.screenX,touch0Y:b.screenY,touch1X:c.screenX,touch1Y:c.screenY}}#by(a){if(!this.#bu||2!==a.touches.length)return;af(a);let[b,c]=a.touches;b.identifier>c.identifier&&([b,c]=[c,b]);let{screenX:d,screenY:e}=b,{screenX:f,screenY:g}=c,h=this.#bu,{touch0X:i,touch0Y:j,touch1X:k,touch1Y:l}=h,m=Math.hypot(f-d,g-e)||1,n=Math.hypot(k-i,l-j)||1;if(!this.#bm&&Math.abs(n-m)<=aM.MIN_TOUCH_DISTANCE_TO_PINCH)return;if(h.touch0X=d,h.touch0Y=e,h.touch1X=f,h.touch1Y=g,!this.#bm){this.#bm=!0;return}let o=[(d+f)/2,(e+g)/2];this.#bq?.(o,n,m)}#bz(a){a.touches.length>=2||(this.#bw&&(this.#bw.abort(),this.#bw=null,this.#br?.()),this.#bu&&(af(a),this.#bu=null,this.#bm=!1))}destroy(){this.#bv?.abort(),this.#bv=null,this.#bs?.abort(),this.#bs=null}}class aN{#bA=null;#bB=null;#i=null;#j=null;#bd=null;#bC=!1;#bD=null;#bE="";#bF=null;#bG=null;#bH=null;#bI=null;#bJ=null;#bK="";#bL=!1;#bM=null;#bN=!1;#bO=!1;#bP=!1;#bQ=null;#bR=0;#bS=0;#bT=null;#bU=null;isSelected=!1;_isCopy=!1;_editToolbar=null;_initialOptions=Object.create(null);_initialData=null;_isVisible=!0;_uiManager=null;_focusEventsAllowed=!0;static _l10n=null;static _l10nAlert=null;static _l10nResizer=null;#bV=!1;#bW=aN._zIndex++;static _borderLineWidth=-1;static _colorManager=new aI;static _zIndex=1;static _telemetryTimeout=1e3;static get _resizerKeyboardManager(){let a=aN.prototype._resizeWithKeyboard,b=aJ.TRANSLATE_SMALL,c=aJ.TRANSLATE_BIG;return B(this,"_resizerKeyboardManager",new aH([[["ArrowLeft"],a,{args:[-b,0]}],[["ctrl+ArrowLeft","mac+shift+ArrowLeft"],a,{args:[-c,0]}],[["ArrowRight"],a,{args:[b,0]}],[["ctrl+ArrowRight","mac+shift+ArrowRight"],a,{args:[c,0]}],[["ArrowUp"],a,{args:[0,-b]}],[["ctrl+ArrowUp","mac+shift+ArrowUp"],a,{args:[0,-c]}],[["ArrowDown"],a,{args:[0,b]}],[["ctrl+ArrowDown","mac+shift+ArrowDown"],a,{args:[0,c]}],[["Escape"],aN.prototype._stopResizingWithKeyboard]]))}constructor(a){this.parent=a.parent,this.id=a.id,this.width=this.height=null,this.pageIndex=a.parent.pageIndex,this.name=a.name,this.div=null,this._uiManager=a.uiManager,this.annotationElementId=null,this._willKeepAspectRatio=!1,this._initialOptions.isCentered=a.isCentered,this._structTreeParentId=null,this.annotationElementId=a.annotationElementId||null,this.creationDate=a.creationDate||new Date,this.modificationDate=a.modificationDate||null,this.canAddComment=!0;const{rotation:b,rawDims:{pageWidth:c,pageHeight:d,pageX:e,pageY:f}}=this.parent.viewport;this.rotation=b,this.pageRotation=(360+b-this._uiManager.viewParameters.rotation)%360,this.pageDimensions=[c,d],this.pageTranslation=[e,f];const[g,h]=this.parentDimensions;this.x=a.x/g,this.y=a.y/h,this.isAttachedToDOM=!1,this.deleted=!1}updatePageIndex(a){this.pageIndex=a}get editorType(){return Object.getPrototypeOf(this).constructor._type}get mode(){return Object.getPrototypeOf(this).constructor._editorType}static get isDrawer(){return!1}static get _defaultLineColor(){return B(this,"_defaultLineColor",this._colorManager.getHexCode("CanvasText"))}static deleteAnnotationElement(a){let b=new aO({id:a._uiManager.getId(),parent:a.parent,uiManager:a._uiManager});b.annotationElementId=a.annotationElementId,b.deleted=!0,b._uiManager.addToAnnotationStorage(b)}static initialize(a,b){if(aN._l10n??=a,aN._l10nAlert??=Object.freeze({highlight:"pdfjs-editor-highlight-added-alert",freetext:"pdfjs-editor-freetext-added-alert",ink:"pdfjs-editor-ink-added-alert",stamp:"pdfjs-editor-stamp-added-alert",signature:"pdfjs-editor-signature-added-alert"}),aN._l10nResizer??=Object.freeze({topLeft:"pdfjs-editor-resizer-top-left",topMiddle:"pdfjs-editor-resizer-top-middle",topRight:"pdfjs-editor-resizer-top-right",middleRight:"pdfjs-editor-resizer-middle-right",bottomRight:"pdfjs-editor-resizer-bottom-right",bottomMiddle:"pdfjs-editor-resizer-bottom-middle",bottomLeft:"pdfjs-editor-resizer-bottom-left",middleLeft:"pdfjs-editor-resizer-middle-left"}),-1!==aN._borderLineWidth)return;let c=getComputedStyle(document.documentElement);aN._borderLineWidth=parseFloat(c.getPropertyValue("--outline-width"))||0}static updateDefaultParams(a,b){}static get defaultPropertiesToUpdate(){return[]}static isHandlingMimeForPasting(a){return!1}static paste(a,b){w("Not implemented")}get propertiesToUpdate(){return[]}get _isDraggable(){return this.#bV}set _isDraggable(a){this.#bV=a,this.div?.classList.toggle("draggable",a)}get uid(){return this.annotationElementId||this.id}get isEnterHandled(){return!0}center(){let[a,b]=this.pageDimensions;switch(this.parentRotation){case 90:this.x-=this.height*b/(2*a),this.y+=this.width*a/(2*b);break;case 180:this.x+=this.width/2,this.y+=this.height/2;break;case 270:this.x+=this.height*b/(2*a),this.y-=this.width*a/(2*b);break;default:this.x-=this.width/2,this.y-=this.height/2}this.fixAndSetPosition()}addCommands(a){this._uiManager.addCommands(a)}get currentLayer(){return this._uiManager.currentLayer}setInBackground(){this.div.style.zIndex=0}setInForeground(){this.div.style.zIndex=this.#bW}setParent(a){null!==a?(this.pageIndex=a.pageIndex,this.pageDimensions=a.pageDimensions):(this.#bX(),this.#bI?.remove(),this.#bI=null),this.parent=a}focusin(a){this._focusEventsAllowed&&(this.#bL?this.#bL=!1:this.parent.setSelected(this))}focusout(a){if(!this._focusEventsAllowed||!this.isAttachedToDOM)return;let b=a.relatedTarget;!b?.closest(`#${this.id}`)&&(a.preventDefault(),this.parent?.isMultipleSelection||this.commitOrRemove())}commitOrRemove(){this.isEmpty()?this.remove():this.commit()}commit(){this.isInEditMode()&&this.addToAnnotationStorage()}addToAnnotationStorage(){this._uiManager.addToAnnotationStorage(this)}setAt(a,b,c,d){let[e,f]=this.parentDimensions;[c,d]=this.screenToPageTranslation(c,d),this.x=(a+c)/e,this.y=(b+d)/f,this.fixAndSetPosition()}_moveAfterPaste(a,b){if(this.isClone)return void delete this.isClone;let[c,d]=this.parentDimensions;this.setAt(a*c,b*d,this.width*c,this.height*d),this._onTranslated()}#bY([a,b],c,d){[c,d]=this.screenToPageTranslation(c,d),this.x+=c/a,this.y+=d/b,this._onTranslating(this.x,this.y),this.fixAndSetPosition()}translate(a,b){this.#bY(this.parentDimensions,a,b)}translateInPage(a,b){this.#bM||=[this.x,this.y,this.width,this.height],this.#bY(this.pageDimensions,a,b),this.div.scrollIntoView({block:"nearest"})}translationDone(){this._onTranslated(this.x,this.y)}drag(a,b){this.#bM||=[this.x,this.y,this.width,this.height];let{div:c,parentDimensions:[d,e]}=this;if(this.x+=a/d,this.y+=b/e,this.parent&&(this.x<0||this.x>1||this.y<0||this.y>1)){let{x:a,y:b}=this.div.getBoundingClientRect();this.parent.findNewParent(this,a,b)&&(this.x-=Math.floor(this.x),this.y-=Math.floor(this.y))}let{x:f,y:g}=this,[h,i]=this.getBaseTranslation();f+=h,g+=i;let{style:j}=c;j.left=`${(100*f).toFixed(2)}%`,j.top=`${(100*g).toFixed(2)}%`,this._onTranslating(f,g),c.scrollIntoView({block:"nearest"})}_onTranslating(a,b){}_onTranslated(a,b){}get _hasBeenMoved(){return!!this.#bM&&(this.#bM[0]!==this.x||this.#bM[1]!==this.y)}get _hasBeenResized(){return!!this.#bM&&(this.#bM[2]!==this.width||this.#bM[3]!==this.height)}getBaseTranslation(){let[a,b]=this.parentDimensions,{_borderLineWidth:c}=aN,d=c/a,e=c/b;switch(this.rotation){case 90:return[-d,e];case 180:return[d,e];case 270:return[d,-e];default:return[-d,-e]}}get _mustFixPosition(){return!0}fixAndSetPosition(a=this.rotation){let{div:{style:b},pageDimensions:[c,d]}=this,{x:e,y:f,width:g,height:h}=this;if(g*=c,h*=d,e*=c,f*=d,this._mustFixPosition)switch(a){case 0:e=T(e,0,c-g),f=T(f,0,d-h);break;case 90:e=T(e,0,c-h),f=T(f,g,d);break;case 180:e=T(e,g,c),f=T(f,h,d);break;case 270:e=T(e,h,c),f=T(f,0,d-g)}this.x=e/=c,this.y=f/=d;let[i,j]=this.getBaseTranslation();e+=i,f+=j,b.left=`${(100*e).toFixed(2)}%`,b.top=`${(100*f).toFixed(2)}%`,this.moveInDOM()}static #bZ(a,b,c){switch(c){case 90:return[b,-a];case 180:return[-a,-b];case 270:return[-b,a];default:return[a,b]}}screenToPageTranslation(a,b){return aN.#bZ(a,b,this.parentRotation)}pageTranslationToScreen(a,b){return aN.#bZ(a,b,360-this.parentRotation)}#b$(a){switch(a){case 90:{let[a,b]=this.pageDimensions;return[0,-a/b,b/a,0]}case 180:return[-1,0,0,-1];case 270:{let[a,b]=this.pageDimensions;return[0,a/b,-b/a,0]}default:return[1,0,0,1]}}get parentScale(){return this._uiManager.viewParameters.realScale}get parentRotation(){return(this._uiManager.viewParameters.rotation+this.pageRotation)%360}get parentDimensions(){let{parentScale:a,pageDimensions:[b,c]}=this;return[b*a,c*a]}setDims(){let{div:{style:a},width:b,height:c}=this;a.width=`${(100*b).toFixed(2)}%`,a.height=`${(100*c).toFixed(2)}%`}getInitialTranslation(){return[0,0]}#b_(){if(this.#bF)return;this.#bF=document.createElement("div"),this.#bF.classList.add("resizers");let a=this._willKeepAspectRatio?["topLeft","topRight","bottomRight","bottomLeft"]:["topLeft","topMiddle","topRight","middleRight","bottomRight","bottomMiddle","bottomLeft","middleLeft"],b=this._uiManager._signal;for(let c of a){let a=document.createElement("div");this.#bF.append(a),a.classList.add("resizer",c),a.setAttribute("data-resizer-name",c),a.addEventListener("pointerdown",this.#b0.bind(this,c),{signal:b}),a.addEventListener("contextmenu",ae,{signal:b}),a.tabIndex=-1}this.div.prepend(this.#bF)}#b0(a,b){b.preventDefault();let{isMac:c}=K.platform;if(0!==b.button||b.ctrlKey&&c)return;this.#i?.toggle(!1);let d=this._isDraggable;this._isDraggable=!1,this.#bG=[b.screenX,b.screenY];let e=new AbortController,f=this._uiManager.combinedSignal(e);this.parent.togglePointerEvents(!1),window.addEventListener("pointermove",this.#b1.bind(this,a),{passive:!0,capture:!0,signal:f}),window.addEventListener("touchmove",af,{passive:!1,signal:f}),window.addEventListener("contextmenu",ae,{signal:f}),this.#bH={savedX:this.x,savedY:this.y,savedWidth:this.width,savedHeight:this.height};let g=this.parent.div.style.cursor,h=this.div.style.cursor;this.div.style.cursor=this.parent.div.style.cursor=window.getComputedStyle(b.target).cursor;let i=()=>{e.abort(),this.parent.togglePointerEvents(!0),this.#i?.toggle(!0),this._isDraggable=d,this.parent.div.style.cursor=g,this.div.style.cursor=h,this.#b2()};window.addEventListener("pointerup",i,{signal:f}),window.addEventListener("blur",i,{signal:f})}#b3(a,b,c,d){this.width=c,this.height=d,this.x=a,this.y=b,this.setDims(),this.fixAndSetPosition(),this._onResized()}_onResized(){}#b2(){if(!this.#bH)return;let{savedX:a,savedY:b,savedWidth:c,savedHeight:d}=this.#bH;this.#bH=null;let e=this.x,f=this.y,g=this.width,h=this.height;(e!==a||f!==b||g!==c||h!==d)&&this.addCommands({cmd:this.#b3.bind(this,e,f,g,h),undo:this.#b3.bind(this,a,b,c,d),mustExec:!0})}static _round(a){return Math.round(1e4*a)/1e4}#b1(a,b){let c,d,e,f,g,h,[i,j]=this.parentDimensions,k=this.x,l=this.y,m=this.width,n=this.height,o=aN.MIN_SIZE/i,p=aN.MIN_SIZE/j,q=this.#b$(this.rotation),r=(a,b)=>[q[0]*a+q[2]*b,q[1]*a+q[3]*b],s=this.#b$(360-this.rotation),t=!1,u=!1;switch(a){case"topLeft":t=!0,c=(a,b)=>[0,0],d=(a,b)=>[a,b];break;case"topMiddle":c=(a,b)=>[a/2,0],d=(a,b)=>[a/2,b];break;case"topRight":t=!0,c=(a,b)=>[a,0],d=(a,b)=>[0,b];break;case"middleRight":u=!0,c=(a,b)=>[a,b/2],d=(a,b)=>[0,b/2];break;case"bottomRight":t=!0,c=(a,b)=>[a,b],d=(a,b)=>[0,0];break;case"bottomMiddle":c=(a,b)=>[a/2,b],d=(a,b)=>[a/2,0];break;case"bottomLeft":t=!0,c=(a,b)=>[0,b],d=(a,b)=>[a,0];break;case"middleLeft":u=!0,c=(a,b)=>[0,b/2],d=(a,b)=>[a,b/2]}let v=c(m,n),w=d(m,n),x=r(...w),y=aN._round(k+x[0]),z=aN._round(l+x[1]),A=1,B=1;if(b.fromKeyboard)({deltaX:e,deltaY:f}=b);else{let{screenX:a,screenY:c}=b,[d,g]=this.#bG;[e,f]=this.screenToPageTranslation(a-d,c-g),this.#bG[0]=a,this.#bG[1]=c}if([e,f]=(g=e/i,h=f/j,[s[0]*g+s[2]*h,s[1]*g+s[3]*h]),t){let a=Math.hypot(m,n);A=B=Math.max(Math.min(Math.hypot(w[0]-v[0]-e,w[1]-v[1]-f)/a,1/m,1/n),o/m,p/n)}else u?A=T(Math.abs(w[0]-v[0]-e),o,1)/m:B=T(Math.abs(w[1]-v[1]-f),p,1)/n;let C=aN._round(m*A),D=aN._round(n*B),E=y-(x=r(...d(C,D)))[0],F=z-x[1];this.#bM||=[this.x,this.y,this.width,this.height],this.width=C,this.height=D,this.x=E,this.y=F,this.setDims(),this.fixAndSetPosition(),this._onResizing()}_onResizing(){}altTextFinish(){this.#i?.finish()}get toolbarButtons(){return null}async addEditToolbar(){if(this._editToolbar||this.#bO)return this._editToolbar;this._editToolbar=new az(this),this.div.append(this._editToolbar.render());let{toolbarButtons:a}=this;if(a)for(let[b,c]of a)await this._editToolbar.addButton(b,c);return this.hasComment||this._editToolbar.addButton("comment",this.addCommentButton()),this._editToolbar.addButton("delete"),this._editToolbar}addCommentButtonInToolbar(){this._editToolbar?.addButtonBefore("comment",this.addCommentButton(),".deleteButton")}removeCommentButtonFromToolbar(){this._editToolbar?.removeButton("comment")}removeEditToolbar(){this._editToolbar?.remove(),this._editToolbar=null,this.#i?.destroy()}addContainer(a){let b=this._editToolbar?.div;b?b.before(a):this.div.append(a)}getClientDimensions(){return this.div.getBoundingClientRect()}createAltText(){return!this.#i&&(aK.initialize(aN._l10n),this.#i=new aK(this),this.#bA&&(this.#i.data=this.#bA,this.#bA=null)),this.#i}get altTextData(){return this.#i?.data}set altTextData(a){this.#i&&(this.#i.data=a)}get guessedAltText(){return this.#i?.guessedText}async setGuessedAltText(a){await this.#i?.setGuessedText(a)}serializeAltText(a){return this.#i?.serialize(a)}hasAltText(){return!!this.#i&&!this.#i.isEmpty()}hasAltTextData(){return this.#i?.hasData()??!1}focusCommentButton(){this.#j?.focusButton()}addCommentButton(){return this.canAddComment?this.#j||=new aL(this):null}addStandaloneCommentButton(){if(this._uiManager.hasCommentManager()){if(this.#bd){this._uiManager.isEditingMode()&&this.#bd.classList.remove("hidden");return}this.hasComment&&(this.#bd=this.#j.renderForStandalone(),this.div.append(this.#bd))}}removeStandaloneCommentButton(){this.#j.removeStandaloneCommentButton(),this.#bd=null}hideStandaloneCommentButton(){this.#bd?.classList.add("hidden")}get comment(){if(!this.#j)return null;let{data:{richText:a,text:b,date:c,deleted:d}}=this.#j;return{text:b,richText:a,date:c,deleted:d,color:this.getNonHCMColor(),opacity:this.opacity??1}}set comment(a){this.#j||=new aL(this),"object"==typeof a&&null!==a?this.#j.restoreData(a):this.#j.data=a,this.hasComment?(this.removeCommentButtonFromToolbar(),this.addStandaloneCommentButton(),this._uiManager.updateComment(this)):(this.addCommentButtonInToolbar(),this.removeStandaloneCommentButton(),this._uiManager.removeComment(this))}setCommentData({comment:a,popupRef:b,richText:c}){if(!b||(this.#j||=new aL(this),this.#j.setInitialText(a,c),!this.annotationElementId))return;let d=this._uiManager.getAndRemoveDataFromAnnotationStorage(this.annotationElementId);d&&this.updateFromAnnotationLayer(d)}get hasEditedComment(){return this.#j?.hasBeenEdited()}get hasDeletedComment(){return this.#j?.isDeleted()}get hasComment(){return!!this.#j&&!this.#j.isEmpty()&&!this.#j.isDeleted()}async editComment(a){this.#j||=new aL(this),this.#j.edit(a)}toggleComment(a,b){this.hasComment&&this._uiManager.toggleComment(this,a,b)}setSelectedCommentButton(a){this.#j.setSelectedButton(a)}addComment(a){if(this.hasEditedComment){let[,,,b]=a.rect,[c]=this.pageDimensions,[d]=this.pageTranslation,e=d+c+1;a.popup={contents:this.comment.text,deleted:this.comment.deleted,rect:[e,b-100,e+180,b]}}}updateFromAnnotationLayer({popup:{contents:a,deleted:b}}){this.#j.data=b?null:a}get parentBoundingClientRect(){return this.parent.boundingClientRect}render(){let a=this.div=document.createElement("div");a.setAttribute("data-editor-rotation",(360-this.rotation)%360),a.className=this.name,a.setAttribute("id",this.id),a.tabIndex=this.#bC?-1:0,a.setAttribute("role","application"),this.defaultL10nId&&a.setAttribute("data-l10n-id",this.defaultL10nId),this._isVisible||a.classList.add("hidden"),this.setInForeground(),this.#b4();let[b,c]=this.parentDimensions;this.parentRotation%180!=0&&(a.style.maxWidth=`${(100*c/b).toFixed(2)}%`,a.style.maxHeight=`${(100*b/c).toFixed(2)}%`);let[d,e]=this.getInitialTranslation();return this.translate(d,e),aC(this,a,["keydown","pointerdown","dblclick"]),this.isResizable&&this._uiManager._supportsPinchToZoom&&(this.#bU||=new aM({container:a,isPinchingDisabled:()=>!this.isSelected,onPinchStart:this.#b5.bind(this),onPinching:this.#b6.bind(this),onPinchEnd:this.#b7.bind(this),signal:this._uiManager._signal})),this.addStandaloneCommentButton(),this._uiManager._editorUndoBar?.hide(),a}#b5(){this.#bH={savedX:this.x,savedY:this.y,savedWidth:this.width,savedHeight:this.height},this.#i?.toggle(!1),this.parent.togglePointerEvents(!1)}#b6(a,b,c){let d=c/b*.7+1-.7;if(1===d)return;let e=this.#b$(this.rotation),f=(a,b)=>[e[0]*a+e[2]*b,e[1]*a+e[3]*b],[g,h]=this.parentDimensions,i=this.x,j=this.y,k=this.width,l=this.height;d=Math.max(Math.min(d,1/k,1/l),aN.MIN_SIZE/g/k,aN.MIN_SIZE/h/l);let m=aN._round(k*d),n=aN._round(l*d);if(m===k&&n===l)return;this.#bM||=[i,j,k,l];let o=f(k/2,l/2),p=aN._round(i+o[0]),q=aN._round(j+o[1]),r=f(m/2,n/2);this.x=p-r[0],this.y=q-r[1],this.width=m,this.height=n,this.setDims(),this.fixAndSetPosition(),this._onResizing()}#b7(){this.#i?.toggle(!0),this.parent.togglePointerEvents(!0),this.#b2()}pointerdown(a){let{isMac:b}=K.platform;0!==a.button||a.ctrlKey&&b?a.preventDefault():(this.#bL=!0,this._isDraggable)?this.#b8(a):this.#b9(a)}#b9(a){let{isMac:b}=K.platform;a.ctrlKey&&!b||a.shiftKey||a.metaKey&&b?this.parent.toggleSelected(this):this.parent.setSelected(this)}#b8(a){let{isSelected:b}=this;this._uiManager.setUpDragSession();let c=!1,d=new AbortController,e=this._uiManager.combinedSignal(d),f={capture:!0,passive:!1,signal:e},g=a=>{d.abort(),this.#bD=null,this.#bL=!1,this._uiManager.endDragSession()||this.#b9(a),c&&this._onStopDragging()};b&&(this.#bR=a.clientX,this.#bS=a.clientY,this.#bD=a.pointerId,this.#bE=a.pointerType,window.addEventListener("pointermove",a=>{c||(c=!0,this._uiManager.toggleComment(this,!0,!1),this._onStartDragging());let{clientX:b,clientY:d,pointerId:e}=a;if(e!==this.#bD)return void af(a);let[f,g]=this.screenToPageTranslation(b-this.#bR,d-this.#bS);this.#bR=b,this.#bS=d,this._uiManager.dragSelectedEditors(f,g)},f),window.addEventListener("touchmove",af,f),window.addEventListener("pointerdown",a=>{a.pointerType===this.#bE&&(this.#bU||a.isPrimary)&&g(a),af(a)},f));let h=a=>{this.#bD&&this.#bD!==a.pointerId?af(a):g(a)};window.addEventListener("pointerup",h,{signal:e}),window.addEventListener("blur",h,{signal:e})}_onStartDragging(){}_onStopDragging(){}moveInDOM(){this.#bQ&&clearTimeout(this.#bQ),this.#bQ=setTimeout(()=>{this.#bQ=null,this.parent?.moveEditorInDOM(this)},0)}_setParentAndPosition(a,b,c){a.changeParent(this),this.x=b,this.y=c,this.fixAndSetPosition(),this._onTranslated()}getRect(a,b,c=this.rotation){let d=this.parentScale,[e,f]=this.pageDimensions,[g,h]=this.pageTranslation,i=a/d,j=b/d,k=this.x*e,l=this.y*f,m=this.width*e,n=this.height*f;switch(c){case 0:return[k+i+g,f-l-j-n+h,k+i+m+g,f-l-j+h];case 90:return[k+j+g,f-l+i+h,k+j+n+g,f-l+i+m+h];case 180:return[k-i-m+g,f-l+j+h,k-i+g,f-l+j+n+h];case 270:return[k-j-n+g,f-l-i-m+h,k-j+g,f-l-i+h];default:throw Error("Invalid rotation")}}getRectInCurrentCoords(a,b){let[c,d,e,f]=a,g=e-c,h=f-d;switch(this.rotation){case 0:return[c,b-f,g,h];case 90:return[c,b-d,h,g];case 180:return[e,b-d,g,h];case 270:return[e,b-f,h,g];default:throw Error("Invalid rotation")}}getPDFRect(){return this.getRect(0,0)}getNonHCMColor(){return this.color&&aN._colorManager.convert(this._uiManager.getNonHCMColor(this.color))}onUpdatedColor(){this.#j?.onUpdatedColor()}getData(){let{comment:{text:a,color:b,date:c,opacity:d,deleted:e,richText:f},uid:g,pageIndex:h,creationDate:i,modificationDate:j}=this;return{id:g,pageIndex:h,rect:this.getPDFRect(),richText:f,contentsObj:{str:a},creationDate:i,modificationDate:c||j,popupRef:!e,color:b,opacity:d}}onceAdded(a){}isEmpty(){return!1}enableEditMode(){return!this.isInEditMode()&&(this.parent.setEditingState(!1),this.#bO=!0,!0)}disableEditMode(){return!!this.isInEditMode()&&(this.parent.setEditingState(!0),this.#bO=!1,!0)}isInEditMode(){return this.#bO}shouldGetKeyboardEvents(){return this.#bP}needsToBeRebuilt(){return this.div&&!this.isAttachedToDOM}get isOnScreen(){let{top:a,left:b,bottom:c,right:d}=this.getClientDimensions(),{innerHeight:e,innerWidth:f}=window;return b<f&&d>0&&a<e&&c>0}#b4(){if(this.#bJ||!this.div)return;this.#bJ=new AbortController;let a=this._uiManager.combinedSignal(this.#bJ);this.div.addEventListener("focusin",this.focusin.bind(this),{signal:a}),this.div.addEventListener("focusout",this.focusout.bind(this),{signal:a})}rebuild(){this.#b4()}rotate(a){}resize(){}serializeDeleted(){return{id:this.annotationElementId,deleted:!0,pageIndex:this.pageIndex,popupRef:this._initialData?.popupRef||""}}serialize(a=!1,b=null){return{annotationType:this.mode,pageIndex:this.pageIndex,rect:this.getPDFRect(),rotation:this.rotation,structTreeParentId:this._structTreeParentId,popupRef:this._initialData?.popupRef||""}}static async deserialize(a,b,c){let d=new this.prototype.constructor({parent:b,id:c.getId(),uiManager:c,annotationElementId:a.annotationElementId,creationDate:a.creationDate,modificationDate:a.modificationDate});d.rotation=a.rotation,d.#bA=a.accessibilityData,d._isCopy=a.isCopy||!1;let[e,f]=d.pageDimensions,[g,h,i,j]=d.getRectInCurrentCoords(a.rect,f);return d.x=g/e,d.y=h/f,d.width=i/e,d.height=j/f,d}get hasBeenModified(){return!!this.annotationElementId&&(this.deleted||null!==this.serialize())}remove(){if(this.#bJ?.abort(),this.#bJ=null,this.isEmpty()||this.commit(),this.parent?this.parent.remove(this):this._uiManager.removeEditor(this),this.hideCommentPopup(),this.#bQ&&(clearTimeout(this.#bQ),this.#bQ=null),this.#bX(),this.removeEditToolbar(),this.#bT){for(let a of this.#bT.values())clearTimeout(a);this.#bT=null}this.parent=null,this.#bU?.destroy(),this.#bU=null,this.#bI?.remove(),this.#bI=null}get isResizable(){return!1}makeResizable(){this.isResizable&&(this.#b_(),this.#bF.classList.remove("hidden"))}get toolbarPosition(){return null}get commentButtonPosition(){return"ltr"===this._uiManager.direction?[1,0]:[0,0]}get commentButtonPositionInPage(){let{commentButtonPosition:[a,b]}=this,[c,d,e,f]=this.getPDFRect();return[aN._round(c+(e-c)*a),aN._round(d+(f-d)*(1-b))]}get commentButtonColor(){return this._uiManager.makeCommentColor(this.getNonHCMColor(),this.opacity)}get commentPopupPosition(){return this.#j.commentPopupPositionInLayer}set commentPopupPosition(a){this.#j.commentPopupPositionInLayer=a}hasDefaultPopupPosition(){return this.#j.hasDefaultPopupPosition()}get commentButtonWidth(){return this.#j.commentButtonWidth}get elementBeforePopup(){return this.div}setCommentButtonStates(a){this.#j?.setCommentButtonStates(a)}keydown(a){if(!this.isResizable||a.target!==this.div||"Enter"!==a.key)return;this._uiManager.setSelected(this),this.#bH={savedX:this.x,savedY:this.y,savedWidth:this.width,savedHeight:this.height};let b=this.#bF.children;if(!this.#bB){this.#bB=Array.from(b);let a=this.#ca.bind(this),c=this.#cb.bind(this),d=this._uiManager._signal;for(let b of this.#bB){let e=b.getAttribute("data-resizer-name");b.setAttribute("role","spinbutton"),b.addEventListener("keydown",a,{signal:d}),b.addEventListener("blur",c,{signal:d}),b.addEventListener("focus",this.#cc.bind(this,e),{signal:d}),b.setAttribute("data-l10n-id",aN._l10nResizer[e])}}let c=this.#bB[0],d=0;for(let a of b){if(a===c)break;d++}let e=(360-this.rotation+this.parentRotation)%360/90*(this.#bB.length/4);if(e!==d){if(e<d)for(let a=0;a<d-e;a++)this.#bF.append(this.#bF.firstElementChild);else if(e>d)for(let a=0;a<e-d;a++)this.#bF.firstElementChild.before(this.#bF.lastElementChild);let a=0;for(let c of b){let b=this.#bB[a++].getAttribute("data-resizer-name");c.setAttribute("data-l10n-id",aN._l10nResizer[b])}}this.#cd(0),this.#bP=!0,this.#bF.firstElementChild.focus({focusVisible:!0}),a.preventDefault(),a.stopImmediatePropagation()}#ca(a){aN._resizerKeyboardManager.exec(this,a)}#cb(a){this.#bP&&a.relatedTarget?.parentNode!==this.#bF&&this.#bX()}#cc(a){this.#bK=this.#bP?a:""}#cd(a){if(this.#bB)for(let b of this.#bB)b.tabIndex=a}_resizeWithKeyboard(a,b){this.#bP&&this.#b1(this.#bK,{deltaX:a,deltaY:b,fromKeyboard:!0})}#bX(){this.#bP=!1,this.#cd(-1),this.#b2()}_stopResizingWithKeyboard(){this.#bX(),this.div.focus()}select(){this.isSelected&&this._editToolbar?this._editToolbar.show():(this.isSelected=!0,this.makeResizable(),this.div?.classList.add("selectedEditor"),this._editToolbar)?(this._editToolbar?.show(),this.#i?.toggleAltTextBadge(!1)):this.addEditToolbar().then(()=>{this.div?.classList.contains("selectedEditor")&&this._editToolbar?.show()})}focus(){this.div&&!this.div.contains(document.activeElement)&&setTimeout(()=>this.div?.focus({preventScroll:!0}),0)}unselect(){this.isSelected&&(this.isSelected=!1,this.#bF?.classList.add("hidden"),this.div?.classList.remove("selectedEditor"),this.div?.contains(document.activeElement)&&this._uiManager.currentLayer.div.focus({preventScroll:!0}),this._editToolbar?.hide(),this.#i?.toggleAltTextBadge(!0),this.hideCommentPopup())}hideCommentPopup(){this.hasComment&&this._uiManager.toggleComment(null)}updateParams(a,b){}disableEditing(){}enableEditing(){}get canChangeContent(){return!1}enterInEditMode(){this.canChangeContent&&(this.enableEditMode(),this.div.focus())}dblclick(a){"BUTTON"!==a.target.nodeName&&(this.enterInEditMode(),this.parent.updateToolbar({mode:this.constructor._editorType,editId:this.uid}))}getElementForAltText(){return this.div}get contentDiv(){return this.div}get isEditing(){return this.#bN}set isEditing(a){this.#bN=a,this.parent&&(a?(this.parent.setSelected(this),this.parent.setActiveEditor(this)):this.parent.setActiveEditor(null))}static get MIN_SIZE(){return 16}static canCreateNewEmptyEditor(){return!0}get telemetryInitialData(){return{action:"added"}}get telemetryFinalData(){return null}_reportTelemetry(a,b=!1){if(b){this.#bT||=new Map;let{action:b}=a,c=this.#bT.get(b);c&&clearTimeout(c),c=setTimeout(()=>{this._reportTelemetry(a),this.#bT.delete(b),0===this.#bT.size&&(this.#bT=null)},aN._telemetryTimeout),this.#bT.set(b,c);return}a.type||=this.editorType,this._uiManager._eventBus.dispatch("reporttelemetry",{source:this,details:{type:"editing",data:a}})}show(a=this._isVisible){this.div.classList.toggle("hidden",!a),this._isVisible=a}enable(){this.div&&(this.div.tabIndex=0),this.#bC=!1}disable(){this.div&&(this.div.tabIndex=-1),this.#bC=!0}updateFakeAnnotationElement(a){if(!this.#bI&&!this.deleted){this.#bI=a.addFakeAnnotation(this);return}if(this.deleted){this.#bI.remove(),this.#bI=null;return}(this.hasEditedComment||this._hasBeenMoved||this._hasBeenResized)&&this.#bI.updateEdited({rect:this.getPDFRect(),popup:this.comment})}renderAnnotationElement(a){if(this.deleted)return a.hide(),null;let b=a.container.querySelector(".annotationContent");if(b){if("CANVAS"===b.nodeName){let a=b;(b=document.createElement("div")).classList.add("annotationContent",this.editorType),a.before(b)}}else(b=document.createElement("div")).classList.add("annotationContent",this.editorType),a.container.prepend(b);return b}resetAnnotationElement(a){let{firstElementChild:b}=a.container;b?.nodeName==="DIV"&&b.classList.contains("annotationContent")&&b.remove()}}class aO extends aN{constructor(a){super(a),this.annotationElementId=a.annotationElementId,this.deleted=!0}serialize(){return this.serializeDeleted()}}class aP{constructor(a){this.h1=a?0|a:0xc3d2e1f0,this.h2=a?0|a:0xc3d2e1f0}update(a){let b,c;if("string"==typeof a){b=new Uint8Array(2*a.length),c=0;for(let d=0,e=a.length;d<e;d++){let e=a.charCodeAt(d);e<=255?b[c++]=e:(b[c++]=e>>>8,b[c++]=255&e)}}else if(ArrayBuffer.isView(a))c=(b=a.slice()).byteLength;else throw Error("Invalid data format, must be a string or TypedArray.");let d=c>>2,e=c-4*d,f=new Uint32Array(b.buffer,0,d),g=0,h=0,i=this.h1,j=this.h2;for(let a=0;a<d;a++)1&a?(i^=g=0x1b873593*(g=(g=0xcc9e2d51*(g=f[a])&0xffff0000|11601*g&65535)<<15|g>>>17)&0xffff0000|13715*g&65535,i=5*(i=i<<13|i>>>19)+0xe6546b64):(j^=h=0x1b873593*(h=(h=0xcc9e2d51*(h=f[a])&0xffff0000|11601*h&65535)<<15|h>>>17)&0xffff0000|13715*h&65535,j=5*(j=j<<13|j>>>19)+0xe6546b64);switch(g=0,e){case 3:g^=b[4*d+2]<<16;case 2:g^=b[4*d+1]<<8;case 1:g^=b[4*d],g=0x1b873593*(g=(g=0xcc9e2d51*g&0xffff0000|11601*g&65535)<<15|g>>>17)&0xffff0000|13715*g&65535,1&d?i^=g:j^=g}this.h1=i,this.h2=j}hexdigest(){let a=this.h1,b=this.h2;return a^=b>>>1,b=0xff51afd7*b&0xffff0000|((b<<16|(a=0xed558ccd*a&0xffff0000|36045*a&65535)>>>16)*0xafd7ed55&0xffff0000)>>>16,a^=b>>>1,b=0xc4ceb9fe*b&0xffff0000|((b<<16|(a=0x1a85ec53*a&0xffff0000|60499*a&65535)>>>16)*0xb9fe1a85&0xffff0000)>>>16,((a^=b>>>1)>>>0).toString(16).padStart(8,"0")+(b>>>0).toString(16).padStart(8,"0")}}let aQ=Object.freeze({map:null,hash:"",transfer:void 0});class aR{#ce=!1;#cf=null;#cg=null;#ch=new Map;onSetModified=null;onResetModified=null;onAnnotationEditor=null;getValue(a,b){let c=this.#ch.get(a);return void 0===c?b:Object.assign(b,c)}getRawValue(a){return this.#ch.get(a)}remove(a){let b=this.#ch.get(a);void 0===b||(b instanceof aN&&this.#cg.delete(b.annotationElementId),this.#ch.delete(a),0===this.#ch.size&&this.resetModified(),this.#ch.values().some(a=>a instanceof aN)||this.onAnnotationEditor?.(null))}setValue(a,b){let c=this.#ch.get(a),d=!1;if(void 0!==c)for(let[a,e]of Object.entries(b))c[a]!==e&&(d=!0,c[a]=e);else d=!0,this.#ch.set(a,b);d&&this.#ci(),b instanceof aN&&((this.#cg||=new Map).set(b.annotationElementId,b),this.onAnnotationEditor?.(b.constructor._type))}has(a){return this.#ch.has(a)}get size(){return this.#ch.size}#ci(){this.#ce||(this.#ce=!0,this.onSetModified?.())}resetModified(){this.#ce&&(this.#ce=!1,this.onResetModified?.())}get print(){return new aS(this)}get serializable(){if(0===this.#ch.size)return aQ;let a=new Map,b=new aP,c=[],d=Object.create(null),e=!1;for(let[c,f]of this.#ch){let g=f instanceof aN?f.serialize(!1,d):f;f.page&&(f.pageIndex=f.page._pageIndex,delete f.page),g&&(a.set(c,g),b.update(`${c}:${JSON.stringify(g)}`),e||=!!g.bitmap)}if(e)for(let b of a.values())b.bitmap&&c.push(b.bitmap);return a.size>0?{map:a,hash:b.hexdigest(),transfer:c}:aQ}get editorStats(){let a=null,b=new Map,c=0,d=0;for(let e of this.#ch.values()){if(!(e instanceof aN)){e.popup&&(e.popup.deleted?d+=1:c+=1);continue}e.isCommentDeleted?d+=1:e.hasEditedComment&&(c+=1);let f=e.telemetryFinalData;if(!f)continue;let{type:g}=f;b.getOrInsertComputed(g,()=>Object.getPrototypeOf(e).constructor),a||=Object.create(null);let h=a[g]||=new Map;for(let[a,b]of Object.entries(f)){if("type"===a)continue;let c=h.getOrInsertComputed(a,R);c.set(b,(c.get(b)??0)+1)}}if((d>0||c>0)&&((a||=Object.create(null)).comments={deleted:d,edited:c}),!a)return null;for(let[c,d]of b)a[c]=d.computeTelemetryFinalData(a[c]);return a}resetModifiedIds(){this.#cf=null}updateEditor(a,b){let c=this.#cg?.get(a);return!!c&&(c.updateFromAnnotationLayer(b),!0)}getEditor(a){return this.#cg?.get(a)||null}get modifiedIds(){if(this.#cf)return this.#cf;let a=[];if(this.#cg)for(let b of this.#cg.values())b.serialize()&&a.push(b.annotationElementId);let b="";if(a.length){let c=new aP;c.update(a.join(",")),b=c.hexdigest()}return this.#cf={ids:new Set(a),hash:b}}[Symbol.iterator](){return this.#ch.entries()}}class aS extends aR{#cj=aQ;constructor(a){super();const{serializable:b}=a;if(b===aQ)return;const{map:c,hash:d,transfer:e}=b,f=structuredClone(c,e?{transfer:e}:null);this.#cj={map:f,hash:d,transfer:[]}}get print(){w("Should not call PrintAnnotationStorage.print")}get serializable(){return this.#cj}get modifiedIds(){return B(this,"modifiedIds",{ids:new Set,hash:""})}}let aT="__forcedDependency",{floor:aU,ceil:aV}=Math;function aW(a,b,c,d,e,f){a[4*b+0]=Math.min(a[4*b+0],c),a[4*b+1]=Math.min(a[4*b+1],d),a[4*b+2]=Math.max(a[4*b+2],e),a[4*b+3]=Math.max(a[4*b+3],f)}let aX=new Uint32Array(new Uint8Array([255,255,0,0]).buffer)[0];class aY{#ck;#cl;constructor(a,b){this.#ck=a,this.#cl=b}get length(){return this.#ck.length}isEmpty(a){return this.#ck[a]===aX}minX(a){return this.#cl[4*a+0]/256}minY(a){return this.#cl[4*a+1]/256}maxX(a){return(this.#cl[4*a+2]+1)/256}maxY(a){return(this.#cl[4*a+3]+1)/256}}let aZ=(a,b)=>a?.getOrInsertComputed(b,()=>({dependencies:new Set,isRenderingOperation:!1}));class a${#cm=[[1,0,0,1,0,0]];#cn=[-1/0,-1/0,1/0,1/0];#co=new Float64Array(e);_pendingBBoxIdx=-1;#cp;#cq;#cr;#ck;_savesStack=[];_markedContentStack=[];constructor(a,b){this.#cp=a.width,this.#cq=a.height,this.#cs(b)}growOperationsCount(a){a>=this.#ck.length&&this.#cs(a,this.#ck)}#cs(a,b){let c=new ArrayBuffer(4*a);this.#cr=new Uint8ClampedArray(c),this.#ck=new Uint32Array(c),b&&b.length>0?(this.#ck.set(b),this.#ck.fill(aX,b.length)):this.#ck.fill(aX)}get clipBox(){return this.#cn}save(a){return this.#cn={__proto__:this.#cn},this._savesStack.push(a),this}restore(a,b){let c=Object.getPrototypeOf(this.#cn);if(null===c)return this;this.#cn=c;let d=this._savesStack.pop();return void 0!==d&&(b?.(d,a),this.#ck[a]=this.#ck[d]),this}recordOpenMarker(a){return this._savesStack.push(a),this}getOpenMarker(){return 0===this._savesStack.length?null:this._savesStack.at(-1)}recordCloseMarker(a,b){let c=this._savesStack.pop();return void 0!==c&&(b?.(c,a),this.#ck[a]=this.#ck[c]),this}beginMarkedContent(a){return this._markedContentStack.push(a),this}endMarkedContent(a,b){let c=this._markedContentStack.pop();return void 0!==c&&(b?.(c,a),this.#ck[a]=this.#ck[c]),this}pushBaseTransform(a){return this.#cm.push(L.multiplyByDOMMatrix(this.#cm.at(-1),a.getTransform())),this}popBaseTransform(){return this.#cm.length>1&&this.#cm.pop(),this}resetBBox(a){return this._pendingBBoxIdx!==a&&(this._pendingBBoxIdx=a,this.#co.set(e,0)),this}recordClipBox(a,b,c,d,f,g){let h=L.multiplyByDOMMatrix(this.#cm.at(-1),b.getTransform()),i=e.slice();L.axialAlignedBoundingBox([c,f,d,g],h,i);let j=L.intersect(this.#cn,i);return j?(this.#cn[0]=j[0],this.#cn[1]=j[1],this.#cn[2]=j[2],this.#cn[3]=j[3]):(this.#cn[0]=this.#cn[1]=1/0,this.#cn[2]=this.#cn[3]=-1/0),this}recordBBox(a,b,c,d,f,g){let h=this.#cn;if(h[0]===1/0)return this;let i=L.multiplyByDOMMatrix(this.#cm.at(-1),b.getTransform());if(h[0]===-1/0)return L.axialAlignedBoundingBox([c,f,d,g],i,this.#co),this;let j=e.slice();return L.axialAlignedBoundingBox([c,f,d,g],i,j),this.#co[0]=T(j[0],h[0],this.#co[0]),this.#co[1]=T(j[1],h[1],this.#co[1]),this.#co[2]=T(j[2],this.#co[2],h[2]),this.#co[3]=T(j[3],this.#co[3],h[3]),this}recordFullPageBBox(a){return this.#co[0]=Math.max(0,this.#cn[0]),this.#co[1]=Math.max(0,this.#cn[1]),this.#co[2]=Math.min(this.#cp,this.#cn[2]),this.#co[3]=Math.min(this.#cq,this.#cn[3]),this}recordOperation(a,b=!1,c){if(this._pendingBBoxIdx!==a)return this;let d=aU(256*this.#co[0]/this.#cp),e=aU(256*this.#co[1]/this.#cq),f=aV(256*this.#co[2]/this.#cp),g=aV(256*this.#co[3]/this.#cq);if(aW(this.#cr,a,d,e,f,g),c)for(let b of c)for(let c of b)c!==a&&aW(this.#cr,c,d,e,f,g);return b||(this._pendingBBoxIdx=-1),this}bboxToClipBoxDropOperation(a){return this._pendingBBoxIdx===a&&(this._pendingBBoxIdx=-1,this.#cn[0]=Math.max(this.#cn[0],this.#co[0]),this.#cn[1]=Math.max(this.#cn[1],this.#co[1]),this.#cn[2]=Math.min(this.#cn[2],this.#co[2]),this.#cn[3]=Math.min(this.#cn[3],this.#co[3])),this}take(){return new aY(this.#ck,this.#cr)}takeDebugMetadata(){throw Error("Unreachable")}recordSimpleData(a,b){return this}recordIncrementalData(a,b){return this}resetIncrementalData(a,b){return this}recordNamedData(a,b){return this}recordSimpleDataFromNamed(a,b,c){return this}recordFutureForcedDependency(a,b){return this}inheritSimpleDataAsFutureForcedDependencies(a){return this}inheritPendingDependenciesAsFutureForcedDependencies(){return this}recordCharacterBBox(a,b,c,d=1,e=0,f=0,g){return this}getSimpleIndex(a){}recordDependencies(a,b){return this}recordNamedDependency(a,b){return this}recordShowTextOperation(a,b=!1){return this}}class a_{#ct={__proto__:null};#cu={__proto__:null,transform:[],moveText:[],sameLineText:[],[aT]:[]};#cv=new Map;#cw=new Set;#cx=new Map;#cy;#cz;#cA;constructor(a,b=!1){this.#cA=a,b&&(this.#cy=new Map,this.#cz=(a,b)=>{aZ(this.#cy,b).dependencies.add(a)})}get clipBox(){return this.#cA.clipBox}growOperationsCount(a){this.#cA.growOperationsCount(a)}save(a){return this.#ct={__proto__:this.#ct},this.#cu={__proto__:this.#cu,transform:{__proto__:this.#cu.transform},moveText:{__proto__:this.#cu.moveText},sameLineText:{__proto__:this.#cu.sameLineText},[aT]:{__proto__:this.#cu[aT]}},this.#cA.save(a),this}restore(a){this.#cA.restore(a,this.#cz);let b=Object.getPrototypeOf(this.#ct);return null===b||(this.#ct=b,this.#cu=Object.getPrototypeOf(this.#cu)),this}recordOpenMarker(a){return this.#cA.recordOpenMarker(a,this.#cz),this}getOpenMarker(){return this.#cA.getOpenMarker()}recordCloseMarker(a){return this.#cA.recordCloseMarker(a,this.#cz),this}beginMarkedContent(a){return this.#cA.beginMarkedContent(a),this}endMarkedContent(a){return this.#cA.endMarkedContent(a,this.#cz),this}pushBaseTransform(a){return this.#cA.pushBaseTransform(a),this}popBaseTransform(){return this.#cA.popBaseTransform(),this}recordSimpleData(a,b){return this.#ct[a]=b,this}recordIncrementalData(a,b){return this.#cu[a].push(b),this}resetIncrementalData(a,b){return this.#cu[a].length=0,this}recordNamedData(a,b){return this.#cv.set(a,b),this}recordSimpleDataFromNamed(a,b,c){this.#ct[a]=this.#cv.get(b)??c}recordFutureForcedDependency(a,b){return this.recordIncrementalData(aT,b),this}inheritSimpleDataAsFutureForcedDependencies(a){for(let b of a)b in this.#ct&&this.recordFutureForcedDependency(b,this.#ct[b]);return this}inheritPendingDependenciesAsFutureForcedDependencies(){for(let a of this.#cw)this.recordFutureForcedDependency(aT,a);return this}resetBBox(a){return this.#cA.resetBBox(a),this}recordClipBox(a,b,c,d,e,f){return this.#cA.recordClipBox(a,b,c,d,e,f),this}recordBBox(a,b,c,d,e,f){return this.#cA.recordBBox(a,b,c,d,e,f),this}recordCharacterBBox(a,b,c,d=1,e=0,f=0,g){let h,i,j=c.bbox;if(j&&!1!==(h=j[2]!==j[0]&&j[3]!==j[1]&&this.#cx.get(c))){var k,l;let g;if(i=[0,0,0,0],L.axialAlignedBoundingBox(j,c.fontMatrix,i),(1!==d||0!==e||0!==f)&&(k=-d,l=i,d?(d<0&&(g=l[0],l[0]=l[2],l[2]=g),l[0]*=d,l[2]*=d,k<0&&(g=l[1],l[1]=l[3],l[3]=g),l[1]*=k,l[3]*=k):l.fill(0),l[0]+=e,l[1]+=f,l[2]+=e,l[3]+=f),h)return this.recordBBox(a,b,i[0],i[2],i[1],i[3])}if(!g)return this.recordFullPageBBox(a);let m=g();return j&&i&&void 0===h&&(h=i[0]<=e-m.actualBoundingBoxLeft&&i[2]>=e+m.actualBoundingBoxRight&&i[1]<=f-m.actualBoundingBoxAscent&&i[3]>=f+m.actualBoundingBoxDescent,this.#cx.set(c,h),h)?this.recordBBox(a,b,i[0],i[2],i[1],i[3]):this.recordBBox(a,b,e-m.actualBoundingBoxLeft,e+m.actualBoundingBoxRight,f-m.actualBoundingBoxAscent,f+m.actualBoundingBoxDescent)}recordFullPageBBox(a){return this.#cA.recordFullPageBBox(a),this}getSimpleIndex(a){return this.#ct[a]}recordDependencies(a,b){let c=this.#cw,d=this.#ct,e=this.#cu;for(let a of b)a in this.#ct?c.add(d[a]):a in e&&e[a].forEach(c.add,c);return this}recordNamedDependency(a,b){return this.#cv.has(b)&&this.#cw.add(this.#cv.get(b)),this}recordOperation(a,b=!1){if(this.recordDependencies(a,[aT]),this.#cy){let b=aZ(this.#cy,a),{dependencies:c}=b;this.#cw.forEach(c.add,c),this.#cA._savesStack.forEach(c.add,c),this.#cA._markedContentStack.forEach(c.add,c),c.delete(a),b.isRenderingOperation=!0}let c=!b&&a===this.#cA._pendingBBoxIdx;return this.#cA.recordOperation(a,b,[this.#cw,this.#cA._savesStack,this.#cA._markedContentStack]),c&&this.#cw.clear(),this}recordShowTextOperation(a,b=!1){let c=Array.from(this.#cw);for(let d of(this.recordOperation(a,b),this.recordIncrementalData("sameLineText",a),c))this.recordIncrementalData("sameLineText",d);return this}bboxToClipBoxDropOperation(a,b=!1){let c=!b&&a===this.#cA._pendingBBoxIdx;return this.#cA.bboxToClipBoxDropOperation(a),c&&this.#cw.clear(),this}take(){return this.#cx.clear(),this.#cA.take()}takeDebugMetadata(){return this.#cy}}class a0{#cB;#cC;#cD;#cE=0;#cF=0;constructor(a,b,c){if(a instanceof a0&&!!c===a.#cD)return a;this.#cB=a,this.#cC=b,this.#cD=!!c}get clipBox(){return this.#cB.clipBox}growOperationsCount(){throw Error("Unreachable")}save(a){return this.#cF++,this.#cB.save(this.#cC),this}restore(a){return this.#cF>0&&(this.#cB.restore(this.#cC),this.#cF--),this}recordOpenMarker(a){return this.#cE++,this}getOpenMarker(){return this.#cE>0?this.#cC:this.#cB.getOpenMarker()}recordCloseMarker(a){return this.#cE--,this}beginMarkedContent(a){return this}endMarkedContent(a){return this}pushBaseTransform(a){return this.#cB.pushBaseTransform(a),this}popBaseTransform(){return this.#cB.popBaseTransform(),this}recordSimpleData(a,b){return this.#cB.recordSimpleData(a,this.#cC),this}recordIncrementalData(a,b){return this.#cB.recordIncrementalData(a,this.#cC),this}resetIncrementalData(a,b){return this.#cB.resetIncrementalData(a,this.#cC),this}recordNamedData(a,b){return this}recordSimpleDataFromNamed(a,b,c){return this.#cB.recordSimpleDataFromNamed(a,b,this.#cC),this}recordFutureForcedDependency(a,b){return this.#cB.recordFutureForcedDependency(a,this.#cC),this}inheritSimpleDataAsFutureForcedDependencies(a){return this.#cB.inheritSimpleDataAsFutureForcedDependencies(a),this}inheritPendingDependenciesAsFutureForcedDependencies(){return this.#cB.inheritPendingDependenciesAsFutureForcedDependencies(),this}resetBBox(a){return this.#cD||this.#cB.resetBBox(this.#cC),this}recordClipBox(a,b,c,d,e,f){return this.#cD||this.#cB.recordClipBox(this.#cC,b,c,d,e,f),this}recordBBox(a,b,c,d,e,f){return this.#cD||this.#cB.recordBBox(this.#cC,b,c,d,e,f),this}recordCharacterBBox(a,b,c,d,e,f,g){return this.#cD||this.#cB.recordCharacterBBox(this.#cC,b,c,d,e,f,g),this}recordFullPageBBox(a){return this.#cD||this.#cB.recordFullPageBBox(this.#cC),this}getSimpleIndex(a){return this.#cB.getSimpleIndex(a)}recordDependencies(a,b){return this.#cB.recordDependencies(this.#cC,b),this}recordNamedDependency(a,b){return this.#cB.recordNamedDependency(this.#cC,b),this}recordOperation(a){return this.#cB.recordOperation(this.#cC,!0),this}recordShowTextOperation(a){return this.#cB.recordShowTextOperation(this.#cC,!0),this}bboxToClipBoxDropOperation(a){return this.#cD||this.#cB.bboxToClipBoxDropOperation(this.#cC,!0),this}take(){throw Error("Unreachable")}takeDebugMetadata(){throw Error("Unreachable")}}let a1=["path","transform","filter","strokeColor","strokeAlpha","lineWidth","lineCap","lineJoin","miterLimit","dash"],a2=["path","transform","filter","fillColor","fillAlpha","globalCompositeOperation","SMask"],a3=["transform","SMask","filter","fillAlpha","strokeAlpha","globalCompositeOperation"],a4=["filter","fillColor","fillAlpha"],a5=["transform","leading","charSpacing","wordSpacing","hScale","textRise","moveText","textMatrix","font","fontObj","filter","fillColor","textRenderingMode","SMask","fillAlpha","strokeAlpha","globalCompositeOperation","sameLineText"],a6=["transform"],a7=["transform","fillColor"];class a8{#cp;#cq;#cG=4;#cH=0;#cl=new a8.#cI(6*this.#cG);static #cI=K.isFloat16ArraySupported?Float16Array:Float32Array;constructor(a){this.#cp=a.width,this.#cq=a.height}record(a,b,c,d){let f;if(this.#cH===this.#cG){this.#cG*=2;let a=new a8.#cI(6*this.#cG);a.set(this.#cl),this.#cl=a}let g=aj(a);if(d[0]!==1/0){let a=e.slice();L.axialAlignedBoundingBox([0,-c,b,0],g,a);let h=L.intersect(d,a);if(!h)return;let[i,j,k,l]=h;if(i!==a[0]||j!==a[1]||k!==a[2]||l!==a[3]){let a=Math.atan2(g[1],g[0]),b=Math.abs(Math.sin(a)),c=Math.abs(Math.cos(a));if(b<1e-6||c<1e-6||1e-6>Math.abs(b-c))f=[i,j,i,l,k,j];else{let a=k-i,d=l-j,e=b*b,g=c*c,h=c*b,m=g-e,n=(d*g-a*h)/m;f=[i+(d*h-a*e)/m,j,i,j+n,k,l-n]}}}f||(f=[0,-c,0,0,b,-c],L.applyTransform(f,g,0),L.applyTransform(f,g,2),L.applyTransform(f,g,4)),f[0]/=this.#cp,f[1]/=this.#cq,f[2]/=this.#cp,f[3]/=this.#cq,f[4]/=this.#cp,f[5]/=this.#cq,this.#cl.set(f,6*this.#cH),this.#cH++}take(){return this.#cl.subarray(0,6*this.#cH)}}class a9{#cJ=new Set;#cK=null;constructor({ownerDocument:a=globalThis.document,styleElement:b=null}){this._document=a,this.nativeFontFaces=new Set,this.styleElement=null,this.loadingRequests=[],this.loadTestFontId=0}addNativeFontFace(a){this.nativeFontFaces.add(a),this._document.fonts.add(a)}removeNativeFontFace(a){this.nativeFontFaces.delete(a),this._document.fonts.delete(a)}insertRule(a){let b=this.#cL();b.insertRule(a,b.cssRules.length)}#cL(){if(this.#cK)return this.#cK;let a=this._document.defaultView?.CSSStyleSheet||globalThis.CSSStyleSheet;if(!this.styleElement&&a){let{adoptedStyleSheets:b}=this._document;if(b){let c=new a;return b.push(c),this.#cK=c}}return this.styleElement||(this.styleElement=this._document.createElement("style"),this._document.documentElement.getElementsByTagName("head")[0].append(this.styleElement)),this.#cK=this.styleElement.sheet}clear(){for(let a of this.nativeFontFaces)this._document.fonts.delete(a);if(this.nativeFontFaces.clear(),this.#cJ.clear(),this.#cK){let{adoptedStyleSheets:a}=this._document;a?.includes(this.#cK)&&(this._document.adoptedStyleSheets=a.filter(a=>a!==this.#cK)),this.#cK=null}this.styleElement&&(this.styleElement.remove(),this.styleElement=null)}async loadSystemFont({systemFontInfo:a,disableFontFace:b,_inspectFont:c}){if(!(!a||this.#cJ.has(a.loadedName))){if(x(!b,"loadSystemFont shouldn't be called when `disableFontFace` is set."),this.isFontLoadingAPISupported){let{loadedName:b,src:d,style:e}=a,f=new FontFace(b,d,e);this.addNativeFontFace(f);try{await f.load(),this.#cJ.add(b),c?.(a)}catch{v(`Cannot load system font: ${a.baseFontName}, installing it could help to improve PDF rendering.`),this.removeNativeFontFace(f)}return}w("Not implemented: loadSystemFont without the Font Loading API.")}}async bind(a){if(a.attached||a.missingFile&&!a.systemFontInfo)return;if(a.attached=!0,a.systemFontInfo)return void await this.loadSystemFont(a);if(this.isFontLoadingAPISupported){let b=a.createNativeFontFace();if(b){this.addNativeFontFace(b);try{await b.loaded}catch(c){throw v(`Failed to load font '${b.family}': '${c}'.`),a.disableFontFace=!0,c}}return}let b=a.createFontFaceRule();if(b){if(this.insertRule(b),this.isSyncFontLoadingSupported)return;await new Promise(b=>{let c=this._queueLoadingCallback(b);this._prepareFontLoadEvent(a,c)})}}get isFontLoadingAPISupported(){return B(this,"isFontLoadingAPISupported",!!this._document?.fonts)}get isSyncFontLoadingSupported(){return B(this,"isSyncFontLoadingSupported",d||K.platform.isFirefox)}_queueLoadingCallback(a){let{loadingRequests:b}=this,c={done:!1,complete:function(){for(x(!c.done,"completeRequest() cannot be called twice."),c.done=!0;b.length>0&&b[0].done;)setTimeout(b.shift().callback,0)},callback:a};return b.push(c),c}get _loadTestFont(){return B(this,"_loadTestFont",atob("T1RUTwALAIAAAwAwQ0ZGIDHtZg4AAAOYAAAAgUZGVE1lkzZwAAAEHAAAABxHREVGABQAFQAABDgAAAAeT1MvMlYNYwkAAAEgAAAAYGNtYXABDQLUAAACNAAAAUJoZWFk/xVFDQAAALwAAAA2aGhlYQdkA+oAAAD0AAAAJGhtdHgD6AAAAAAEWAAAAAZtYXhwAAJQAAAAARgAAAAGbmFtZVjmdH4AAAGAAAAAsXBvc3T/hgAzAAADeAAAACAAAQAAAAEAALZRFsRfDzz1AAsD6AAAAADOBOTLAAAAAM4KHDwAAAAAA+gDIQAAAAgAAgAAAAAAAAABAAADIQAAAFoD6AAAAAAD6AABAAAAAAAAAAAAAAAAAAAAAQAAUAAAAgAAAAQD6AH0AAUAAAKKArwAAACMAooCvAAAAeAAMQECAAACAAYJAAAAAAAAAAAAAQAAAAAAAAAAAAAAAFBmRWQAwAAuAC4DIP84AFoDIQAAAAAAAQAAAAAAAAAAACAAIAABAAAADgCuAAEAAAAAAAAAAQAAAAEAAAAAAAEAAQAAAAEAAAAAAAIAAQAAAAEAAAAAAAMAAQAAAAEAAAAAAAQAAQAAAAEAAAAAAAUAAQAAAAEAAAAAAAYAAQAAAAMAAQQJAAAAAgABAAMAAQQJAAEAAgABAAMAAQQJAAIAAgABAAMAAQQJAAMAAgABAAMAAQQJAAQAAgABAAMAAQQJAAUAAgABAAMAAQQJAAYAAgABWABYAAAAAAAAAwAAAAMAAAAcAAEAAAAAADwAAwABAAAAHAAEACAAAAAEAAQAAQAAAC7//wAAAC7////TAAEAAAAAAAABBgAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAD/gwAyAAAAAQAAAAAAAAAAAAAAAAAAAAABAAQEAAEBAQJYAAEBASH4DwD4GwHEAvgcA/gXBIwMAYuL+nz5tQXkD5j3CBLnEQACAQEBIVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYAAABAQAADwACAQEEE/t3Dov6fAH6fAT+fPp8+nwHDosMCvm1Cvm1DAz6fBQAAAAAAAABAAAAAMmJbzEAAAAAzgTjFQAAAADOBOQpAAEAAAAAAAAADAAUAAQAAAABAAAAAgABAAAAAAAAAAAD6AAAAAAAAA=="))}_prepareFontLoadEvent(a,b){var c;let d,e;function f(a,b){return a.charCodeAt(b)<<24|a.charCodeAt(b+1)<<16|a.charCodeAt(b+2)<<8|255&a.charCodeAt(b+3)}function g(a,b,c,d){return a.substring(0,b)+d+a.substring(b+c)}let h=this._document.createElement("canvas");h.width=1,h.height=1;let i=h.getContext("2d"),j=0,k=`lt${Date.now()}${this.loadTestFontId++}`,l=this._loadTestFont,m=f(l=g(l,976,k.length,k),16);for(d=0,e=k.length-3;d<e;d+=4)m=m-0x58585858+f(k,d)|0;d<k.length&&(m=m-0x58585858+f(k+"XXX",d)|0),l=g(l,16,4,String.fromCharCode((c=m)>>24&255,c>>16&255,c>>8&255,255&c));let n=`url(data:font/opentype;base64,${btoa(l)});`,o=`@font-face {font-family:"${k}";src:${n}}`;this.insertRule(o);let p=this._document.createElement("div");for(let b of(p.style.visibility="hidden",p.style.width=p.style.height="10px",p.style.position="absolute",p.style.top=p.style.left="0px",[a.loadedName,k])){let a=this._document.createElement("span");a.textContent="Hi",a.style.fontFamily=b,p.append(a)}this._document.body.append(p),function a(b,c){if(++j>30){v("Load test font never loaded."),c();return}(i.font="30px "+b,i.fillText(".",0,20),i.getImageData(0,0,1,1).data[3]>0)?c():setTimeout(a.bind(null,b,c))}(k,()=>{p.remove(),b.complete()})}}class ba{compiledGlyphs=Object.create(null);#cM;constructor(a,b=null,c,d){this.#cM=a,this._inspectFont=b,c&&(this.charProcOperatorList=c),d&&Object.assign(this,d)}createNativeFontFace(){let a;if(!this.data||this.disableFontFace)return null;if(this.cssFontInfo){let b={weight:this.cssFontInfo.fontWeight};this.cssFontInfo.italicAngle&&(b.style=`oblique ${this.cssFontInfo.italicAngle}deg`),a=new FontFace(this.cssFontInfo.fontFamily,this.data,b)}else a=new FontFace(this.loadedName,this.data,{});return this._inspectFont?.(this),a}createFontFaceRule(){let a;if(!this.data||this.disableFontFace)return null;let b=`url(data:${this.mimetype};base64,${this.data.toBase64()});`;if(this.cssFontInfo){let c=`font-weight: ${this.cssFontInfo.fontWeight};`;this.cssFontInfo.italicAngle&&(c+=`font-style: oblique ${this.cssFontInfo.italicAngle}deg;`),a=`@font-face {font-family:"${this.cssFontInfo.fontFamily}";${c}src:${b}}`}else a=`@font-face {font-family:"${this.loadedName}";src:${b}}`;return this._inspectFont?.(this,b),a}getPathGenerator(a,b){let c;if(void 0!==this.compiledGlyphs[b])return this.compiledGlyphs[b];let d=this.loadedName+"_path_"+b;try{c=a.get(d)}catch(a){v(`getPathGenerator - ignoring character: "${a}".`)}let e=ay(c?.path);return this.fontExtraProperties||a.delete(d),this.compiledGlyphs[b]=e}get black(){return this.#cM.black}get bold(){return this.#cM.bold}get disableFontFace(){return this.#cM.disableFontFace}set disableFontFace(a){B(this,"disableFontFace",!!a)}get fontExtraProperties(){return this.#cM.fontExtraProperties}get isInvalidPDFjsFont(){return this.#cM.isInvalidPDFjsFont}get isType3Font(){return this.#cM.isType3Font}get italic(){return this.#cM.italic}get missingFile(){return this.#cM.missingFile}get remeasure(){return this.#cM.remeasure}get vertical(){return this.#cM.vertical}get ascent(){return this.#cM.ascent}get defaultWidth(){return this.#cM.defaultWidth}get descent(){return this.#cM.descent}get bbox(){return this.#cM.bbox}get fontMatrix(){return this.#cM.fontMatrix}get fallbackName(){return this.#cM.fallbackName}get loadedName(){return this.#cM.loadedName}get mimetype(){return this.#cM.mimetype}get name(){return this.#cM.name}get data(){return this.#cM.data}clearData(){this.#cM.clearData()}get cssFontInfo(){return this.#cM.cssFontInfo}get systemFontInfo(){return this.#cM.systemFontInfo}get defaultVMetrics(){return this.#cM.defaultVMetrics}}class bb{static strings=["fontFamily","fontWeight","italicAngle"]}class bc{static strings=["css","loadedName","baseFontName","src"]}class bd{static bools=["black","bold","disableFontFace","fontExtraProperties","isInvalidPDFjsFont","isType3Font","italic","missingFile","remeasure","vertical"];static numbers=["ascent","defaultWidth","descent"];static strings=["fallbackName","loadedName","mimetype","name"];static OFFSET_NUMBERS=Math.ceil(2*this.bools.length/8);static OFFSET_BBOX=this.OFFSET_NUMBERS+8*this.numbers.length;static OFFSET_FONT_MATRIX=this.OFFSET_BBOX+1+8;static OFFSET_DEFAULT_VMETRICS=this.OFFSET_FONT_MATRIX+1+48;static OFFSET_STRINGS=this.OFFSET_DEFAULT_VMETRICS+1+6}class be{static KIND=0;static HAS_BBOX=1;static HAS_BACKGROUND=2;static SHADING_TYPE=3;static N_COORD=4;static N_COLOR=8;static N_STOP=12;static N_FIGURES=16}class bf{#cN;#cO=new TextDecoder;#cP;constructor(a){this.#cN=a,this.#cP=new DataView(a)}#cQ(a){x(a<bb.strings.length,"Invalid string index");let b=0;for(let c=0;c<a;c++)b+=this.#cP.getUint32(b)+4;let c=this.#cP.getUint32(b);return this.#cO.decode(new Uint8Array(this.#cN,b+4,c))}get fontFamily(){return this.#cQ(0)}get fontWeight(){return this.#cQ(1)}get italicAngle(){return this.#cQ(2)}}class bg{#cN;#cO=new TextDecoder;#cP;constructor(a){this.#cN=a,this.#cP=new DataView(a)}get guessFallback(){return 0!==this.#cP.getUint8(0)}#cQ(a){x(a<bc.strings.length,"Invalid string index");let b=5;for(let c=0;c<a;c++)b+=this.#cP.getUint32(b)+4;let c=this.#cP.getUint32(b);return this.#cO.decode(new Uint8Array(this.#cN,b+4,c))}get css(){return this.#cQ(0)}get loadedName(){return this.#cQ(1)}get baseFontName(){return this.#cQ(2)}get src(){return this.#cQ(3)}get style(){let a=1;a+=4+this.#cP.getUint32(a);let b=this.#cP.getUint32(a),c=this.#cO.decode(new Uint8Array(this.#cN,a+4,b));a+=4+b;let d=this.#cP.getUint32(a),e=this.#cO.decode(new Uint8Array(this.#cN,a+4,d));return{style:c,weight:e}}}class bh{#cN;#cO=new TextDecoder;#cP;constructor({buffer:a,extra:b}){this.#cN=a,this.#cP=new DataView(a),b&&Object.assign(this,b)}#cR(a){x(a<bd.bools.length,"Invalid boolean index");let b=Math.floor(a/4),c=this.#cP.getUint8(b)>>2*a%8&3;return 0===c?void 0:2===c}get black(){return this.#cR(0)}get bold(){return this.#cR(1)}get disableFontFace(){return this.#cR(2)}get fontExtraProperties(){return this.#cR(3)}get isInvalidPDFjsFont(){return this.#cR(4)}get isType3Font(){return this.#cR(5)}get italic(){return this.#cR(6)}get missingFile(){return this.#cR(7)}get remeasure(){return this.#cR(8)}get vertical(){return this.#cR(9)}#cS(a){return x(a<bd.numbers.length,"Invalid number index"),this.#cP.getFloat64(bd.OFFSET_NUMBERS+8*a)}get ascent(){return this.#cS(0)}get defaultWidth(){return this.#cS(1)}get descent(){return this.#cS(2)}#cT(a,b,c,d){let e=this.#cP.getUint8(a);if(0===e)return;x(e===b,"Invalid array length."),a+=1;let f=Array(e);for(let b=0;b<e;b++)f[b]=this.#cP[c](a,!0),a+=d;return f}get bbox(){return this.#cT(bd.OFFSET_BBOX,4,"getInt16",2)}get fontMatrix(){return this.#cT(bd.OFFSET_FONT_MATRIX,6,"getFloat64",8)}get defaultVMetrics(){return this.#cT(bd.OFFSET_DEFAULT_VMETRICS,3,"getInt16",2)}#cQ(a){x(a<bd.strings.length,"Invalid string index");let b=bd.OFFSET_STRINGS+4;for(let c=0;c<a;c++)b+=this.#cP.getUint32(b)+4;let c=this.#cP.getUint32(b);return this.#cO.decode(new Uint8Array(this.#cN,b+4,c))}get fallbackName(){return this.#cQ(0)}get loadedName(){return this.#cQ(1)}get mimetype(){return this.#cQ(2)}get name(){return this.#cQ(3)}#cU(){let a=bd.OFFSET_STRINGS,b=this.#cP.getUint32(a);a+=4+b;let c=this.#cP.getUint32(a);a+=4+c;let d=this.#cP.getUint32(a);a+=4+d;let e=this.#cP.getUint32(a);return{offset:a,length:e}}get data(){let{offset:a,length:b}=this.#cU();return 0===b?void 0:new Uint8Array(this.#cN,a+4,b)}clearData(){let{offset:a,length:b}=this.#cU();0!==b&&(this.#cP.setUint32(a,0),this.#cN=new Uint8Array(this.#cN,0,a+4).slice().buffer,this.#cP=new DataView(this.#cN))}get cssFontInfo(){let a=bd.OFFSET_STRINGS,b=this.#cP.getUint32(a);a+=4+b;let c=this.#cP.getUint32(a);a+=4+c;let d=this.#cP.getUint32(a);if(0===d)return null;let e=new Uint8Array(d);return e.set(new Uint8Array(this.#cN,a+4,d)),new bf(e.buffer)}get systemFontInfo(){let a=bd.OFFSET_STRINGS,b=this.#cP.getUint32(a);a+=4+b;let c=this.#cP.getUint32(a);if(0===c)return null;let d=new Uint8Array(c);return d.set(new Uint8Array(this.#cN,a+4,c)),new bg(d.buffer)}}class bi{constructor(a){this.buffer=a,this.view=new DataView(a),this.data=new Uint8Array(a)}getIR(){let a=this.view,b=this.data[be.KIND],c=!!this.data[be.HAS_BBOX],d=!!this.data[be.HAS_BACKGROUND],f=a.getUint32(be.N_COORD,!0),g=a.getUint32(be.N_COLOR,!0),h=a.getUint32(be.N_STOP,!0),i=20,j=new Float32Array(this.buffer,i,2*f);i+=8*f;let k=new Uint8Array(this.buffer,i,4*g);i+=4*g;let l=[];for(let b=0;b<h;++b){let b=a.getFloat32(i,!0);i+=4;let c=a.getUint32(i,!0);i+=4,l.push([b,`#${c.toString(16).padStart(6,"0")}`])}let m=null;if(c){m=[];for(let b=0;b<4;++b)m.push(a.getFloat32(i,!0)),i+=4}let n=null;if(d&&(n=new Uint8Array(this.buffer,i,3),i+=3),1===b)return["RadialAxial","axial",m,l,Array.from(j.slice(0,2)),Array.from(j.slice(2,4)),null,null];if(2===b)return["RadialAxial","radial",m,l,[j[0],j[1]],[j[3],j[4]],j[2],j[5]];if(3===b){let a=this.data[be.SHADING_TYPE],b=null;if(j.length>0){b=e.slice();for(let a=0,c=j.length;a<c;a+=2)L.pointBoundingBox(j[a],j[a+1],b)}return["Mesh",a,j,k,f,b,m,n]}throw Error(`Unsupported pattern kind: ${b}`)}}class bj{#cN;constructor(a){this.#cN=a}get path(){return K.isFloat16ArraySupported?new Float16Array(this.#cN):new Float32Array(this.#cN)}}function bk(a){if("string"!=typeof a)return null;if(a.endsWith("/"))return a;throw Error(`Invalid factory url: "${a}" must include trailing slash.`)}let bl=a=>"object"==typeof a&&Number.isInteger(a?.num)&&a.num>=0&&Number.isInteger(a?.gen)&&a.gen>=0,bm=(function(a,b,c){if(!Array.isArray(c)||c.length<2)return!1;let[d,e,...f]=c;if(!a(d)&&!Number.isInteger(d)||!b(e))return!1;let g=f.length,h=!0;switch(e.name){case"XYZ":if(g<2||g>3)return!1;break;case"Fit":case"FitB":return 0===g;case"FitH":case"FitBH":case"FitV":case"FitBV":if(g>1)return!1;break;case"FitR":if(4!==g)return!1;h=!1;break;default:return!1}for(let a of f)if("number"!=typeof a&&(!h||null!==a))return!1;return!0}).bind(null,bl,a=>"object"==typeof a&&"string"==typeof a?.name);class bn{#cV=new Map;#cW=Promise.resolve();postMessage(a,b){let c={data:structuredClone(a,b?{transfer:b}:null)};this.#cW.then(()=>{for(let[a]of this.#cV)a.call(this,c)})}addEventListener(a,b,c=null){let d=null;if(c?.signal instanceof AbortSignal){let{signal:e}=c;if(e.aborted)return void v("LoopbackPort - cannot use an `aborted` signal.");let f=()=>this.removeEventListener(a,b);d=()=>e.removeEventListener("abort",f),e.addEventListener("abort",f)}this.#cV.set(b,d)}removeEventListener(a,b){let c=this.#cV.get(b);c?.(),this.#cV.delete(b)}terminate(){for(let[,a]of this.#cV)a?.();this.#cV.clear()}}function bo(){}function bp(a){if(a instanceof I||a instanceof F||a instanceof D||a instanceof G||a instanceof E)return a;switch(!(a instanceof Error||"object"==typeof a&&null!==a)&&w('wrapReason: Expected "reason" to be a (possibly cloned) Error.'),a.name){case"AbortException":return new I(a.message);case"InvalidPDFException":return new F(a.message);case"PasswordException":return new D(a.message,a.code);case"ResponseException":return new G(a.message,a.status,a.missing);case"UnknownErrorException":return new E(a.message,a.details)}return new E(a.message,a.toString())}class bq{#cX=new AbortController;constructor(a,b,c){this.sourceName=a,this.targetName=b,this.comObj=c,this.callbackId=1,this.streamId=1,this.streamSinks=Object.create(null),this.streamControllers=Object.create(null),this.callbackCapabilities=Object.create(null),this.actionHandler=Object.create(null),c.addEventListener("message",this.#cY.bind(this),{signal:this.#cX.signal})}#cY({data:a}){if(a.targetName!==this.sourceName)return;if(a.stream)return void this.#cZ(a);if(a.callback){let b=a.callbackId,c=this.callbackCapabilities[b];if(!c)throw Error(`Cannot resolve callback ${b}`);if(delete this.callbackCapabilities[b],1===a.callback)c.resolve(a.data);else if(2===a.callback)c.reject(bp(a.reason));else throw Error("Unexpected callback case");return}let b=this.actionHandler[a.action];if(!b)throw Error(`Unknown action from worker: ${a.action}`);if(a.callbackId){let c=this.sourceName,d=a.sourceName,e=this.comObj;Promise.try(b,a.data).then(function(b){e.postMessage({sourceName:c,targetName:d,callback:1,callbackId:a.callbackId,data:b})},function(b){e.postMessage({sourceName:c,targetName:d,callback:2,callbackId:a.callbackId,reason:bp(b)})});return}a.streamId?this.#c$(a):b(a.data)}on(a,b){let c=this.actionHandler;if(c[a])throw Error(`There is already an actionName called "${a}"`);c[a]=b}send(a,b,c){this.comObj.postMessage({sourceName:this.sourceName,targetName:this.targetName,action:a,data:b},c)}sendWithPromise(a,b,c){let d=this.callbackId++,e=Promise.withResolvers();this.callbackCapabilities[d]=e;try{this.comObj.postMessage({sourceName:this.sourceName,targetName:this.targetName,action:a,callbackId:d,data:b},c)}catch(a){e.reject(a)}return e.promise}sendWithStream(a,b,c,d){let e=this.streamId++,f=this.sourceName,g=this.targetName,h=this.comObj;return new ReadableStream({start:c=>{let i=Promise.withResolvers();return this.streamControllers[e]={controller:c,startCall:i,pullCall:null,cancelCall:null,isClosed:!1},h.postMessage({sourceName:f,targetName:g,action:a,streamId:e,data:b,desiredSize:c.desiredSize},d),i.promise},pull:a=>{let b=Promise.withResolvers();return this.streamControllers[e].pullCall=b,h.postMessage({sourceName:f,targetName:g,stream:6,streamId:e,desiredSize:a.desiredSize}),b.promise},cancel:a=>{x(a instanceof Error,"cancel must have a valid reason");let b=Promise.withResolvers();return this.streamControllers[e].cancelCall=b,this.streamControllers[e].isClosed=!0,h.postMessage({sourceName:f,targetName:g,stream:1,streamId:e,reason:bp(a)}),b.promise}},c)}#c$(a){let b=a.streamId,c=this.sourceName,d=a.sourceName,e=this.comObj,f=this,g=this.actionHandler[a.action],h={enqueue(a,f=1,g){if(this.isCancelled)return;let h=this.desiredSize;this.desiredSize-=f,h>0&&this.desiredSize<=0&&(this.sinkCapability=Promise.withResolvers(),this.ready=this.sinkCapability.promise),e.postMessage({sourceName:c,targetName:d,stream:4,streamId:b,chunk:a},g)},close(){this.isCancelled||(this.isCancelled=!0,e.postMessage({sourceName:c,targetName:d,stream:3,streamId:b}),delete f.streamSinks[b])},error(a){x(a instanceof Error,"error must have a valid reason"),this.isCancelled||(this.isCancelled=!0,e.postMessage({sourceName:c,targetName:d,stream:5,streamId:b,reason:bp(a)}))},sinkCapability:Promise.withResolvers(),onPull:null,onCancel:null,isCancelled:!1,desiredSize:a.desiredSize,ready:null};h.sinkCapability.resolve(),h.ready=h.sinkCapability.promise,this.streamSinks[b]=h,Promise.try(g,a.data,h).then(function(){e.postMessage({sourceName:c,targetName:d,stream:8,streamId:b,success:!0})},function(a){e.postMessage({sourceName:c,targetName:d,stream:8,streamId:b,reason:bp(a)})})}#cZ(a){let b=a.streamId,c=this.sourceName,d=a.sourceName,e=this.comObj,f=this.streamControllers[b],g=this.streamSinks[b];switch(a.stream){case 8:a.success?f.startCall.resolve():f.startCall.reject(bp(a.reason));break;case 7:a.success?f.pullCall.resolve():f.pullCall.reject(bp(a.reason));break;case 6:if(!g){e.postMessage({sourceName:c,targetName:d,stream:7,streamId:b,success:!0});break}g.desiredSize<=0&&a.desiredSize>0&&g.sinkCapability.resolve(),g.desiredSize=a.desiredSize,Promise.try(g.onPull||bo).then(function(){e.postMessage({sourceName:c,targetName:d,stream:7,streamId:b,success:!0})},function(a){e.postMessage({sourceName:c,targetName:d,stream:7,streamId:b,reason:bp(a)})});break;case 4:if(x(f,"enqueue should have stream controller"),f.isClosed)break;f.controller.enqueue(a.chunk);break;case 3:if(x(f,"close should have stream controller"),f.isClosed)break;f.isClosed=!0,f.controller.close(),this.#c_(f,b);break;case 5:x(f,"error should have stream controller"),f.controller.error(bp(a.reason)),this.#c_(f,b);break;case 2:a.success?f.cancelCall.resolve():f.cancelCall.reject(bp(a.reason)),this.#c_(f,b);break;case 1:if(!g)break;let h=bp(a.reason);Promise.try(g.onCancel||bo,h).then(function(){e.postMessage({sourceName:c,targetName:d,stream:2,streamId:b,success:!0})},function(a){e.postMessage({sourceName:c,targetName:d,stream:2,streamId:b,reason:bp(a)})}),g.sinkCapability.reject(h),g.isCancelled=!0,delete this.streamSinks[b];break;default:throw Error("Unexpected stream case")}}async #c_(a,b){await Promise.allSettled([a.startCall?.promise,a.pullCall?.promise,a.cancelCall?.promise]),delete this.streamControllers[b]}destroy(){this.#cX?.abort(),this.#cX=null}}class br{#c0=Object.freeze({cMapUrl:"CMap",standardFontDataUrl:"font",wasmUrl:"wasm"});constructor({cMapUrl:a=null,standardFontDataUrl:b=null,wasmUrl:c=null}){this.cMapUrl=a,this.standardFontDataUrl=b,this.wasmUrl=c}async fetch({kind:a,filename:b}){switch(a){case"cMapUrl":case"standardFontDataUrl":case"wasmUrl":break;default:w(`Not implemented: ${a}`)}let c=this[a];if(!c)throw Error(`Ensure that the \`${a}\` API parameter is provided.`);let d=`${c}${b}`;return this._fetch(d,a).catch(b=>{throw Error(`Unable to load ${this.#c0[a]} data at: ${d}`)})}async _fetch(a,b){w("Abstract method `_fetch` called.")}}class bs extends br{async _fetch(a,b){let c="cMapUrl"!==b||a.endsWith(".bcmap")?"bytes":"text",d=await Y(a,c);return d instanceof Uint8Array?d:J(d)}}class bt{#c1=!1;constructor({enableHWA:a=!1}){this.#c1=a}create(a,b){if(a<=0||b<=0)throw Error("Invalid canvas size");let c=this._createCanvas(a,b);return{canvas:c,context:c.getContext("2d",{willReadFrequently:!this.#c1})}}reset({canvas:a},b,c){if(!a)throw Error("Canvas is not specified");if(b<=0||c<=0)throw Error("Invalid canvas size");a.width=b,a.height=c}destroy(a){let{canvas:b}=a;if(!b)throw Error("Canvas is not specified");b.width=b.height=0,a.canvas=null,a.context=null}_createCanvas(a,b){w("Abstract method `_createCanvas` called.")}}class bu extends bt{constructor({ownerDocument:a=globalThis.document,enableHWA:b=!1}){super({enableHWA:b}),this._document=a}_createCanvas(a,b){let c=this._document.createElement("canvas");return c.width=a,c.height=b,c}}class bv{addFilter(a){return"none"}addHCMFilter(a,b){return"none"}addAlphaFilter(a){return"none"}addLuminosityFilter(a){return"none"}addKnockoutFilter(a=0){return"none"}addHighlightHCMFilter(a,b,c,d,e){return"none"}addSelectionHCMFilter(a,b){return"none"}addSelectionFilter(){return"none"}createSelectionStyle(a=null){return null}destroy(a=!1){}}class bw extends bv{#c2;#c3;#c4;#c5;#c6;#c7;#A=0;constructor({docId:a,ownerDocument:b=globalThis.document}){super(),this.#c5=a,this.#c6=b}get #C(){return this.#c3||=new Map}get #c8(){return this.#c7||=new Map}get #c9(){if(!this.#c4){let a=this.#c6.createElement("div"),{style:b}=a;b.colorScheme="only light",b.visibility="hidden",b.contain="strict",b.width=b.height=0,b.position="absolute",b.top=b.left=0,b.zIndex=-1;let c=this.#c6.createElementNS(h,"svg");c.setAttribute("width",0),c.setAttribute("height",0),this.#c4=this.#c6.createElementNS(h,"defs"),a.append(c),c.append(this.#c4),this.#c6.body.append(a)}return this.#c4}#da(a){if(1===a.length){let b=a[0],c=Array(256);for(let a=0;a<256;a++)c[a]=b[a]/255;let d=c.join(",");return[d,d,d]}let[b,c,d]=a,e=Array(256),f=Array(256),g=Array(256);for(let a=0;a<256;a++)e[a]=b[a]/255,f[a]=c[a]/255,g[a]=d[a]/255;return[e.join(","),f.join(","),g.join(",")]}#db(a){if(void 0===this.#c2){this.#c2="";let a=this.#c6.URL;a!==this.#c6.baseURI&&($(a)?v('#createUrl: ignore "data:"-URL for performance reasons.'):this.#c2=z(a,""))}return`url(${this.#c2}#${a})`}addFilter(a){if(!a)return"none";let b=this.#C.get(a);if(b)return b;let[c,d,e]=this.#da(a),f=1===a.length?c:`${c}${d}${e}`;if(b=this.#C.get(f))return this.#C.set(a,b),b;let g=`g_${this.#c5}_transfer_map_${this.#A++}`,h=this.#db(g);this.#C.set(a,h),this.#C.set(f,h);let i=this.#dc(g);return this.#dd(c,d,e,i),h}addHCMFilter(a,b){let c=`${a}-${b}`,d="base",e=this.#c8.get(d);if(e?.key===c||(e?(e.filter?.remove(),e.key=c,e.url="none",e.filter=null):(e={key:c,url:"none",filter:null},this.#c8.set(d,e)),!a||!b))return e.url;let f=this.#de(a);a=L.makeHexColor(...f);let g=this.#de(b);if(b=L.makeHexColor(...g),this.#c9.style.color="","#000000"===a&&"#ffffff"===b||a===b)return e.url;let h=Array(256);for(let a=0;a<=255;a++){let b=a/255;h[a]=b<=.03928?b/12.92:((b+.055)/1.055)**2.4}let i=h.join(","),j=`g_${this.#c5}_hcm_filter`,k=e.filter=this.#dc(j);this.#dd(i,i,i,k),this.#df(k);let l=(a,b)=>{let c=f[a]/255,d=g[a]/255,e=Array(b+1);for(let a=0;a<=b;a++)e[a]=c+a/b*(d-c);return e.join(",")};return this.#dd(l(0,5),l(1,5),l(2,5),k),e.url=this.#db(j),e.url}addSelectionHCMFilter(a,b){return this.addHighlightHCMFilter("selection",a,b,"HighlightText","Highlight")}addSelectionFilter(){return this.addHighlightHCMFilter("selection_default","black","white","HighlightText","Highlight")}createSelectionStyle(a=null){let b=a?this.addSelectionHCMFilter(a.foreground,a.background):this.addSelectionFilter();return"none"!==b&&K.platform.isFirefox?{"backdrop-filter":b,"background-color":"transparent"}:null}addAlphaFilter(a){let b=this.#C.get(a);if(b)return b;let[c]=this.#da([a]),d=`alpha_${c}`;if(b=this.#C.get(d))return this.#C.set(a,b),b;let e=`g_${this.#c5}_alpha_map_${this.#A++}`,f=this.#db(e);this.#C.set(a,f),this.#C.set(d,f);let g=this.#dc(e);return this.#dg(c,g),f}addLuminosityFilter(a){let b,c,d=this.#C.get(a||"luminosity");if(d)return d;if(a?([b]=this.#da([a]),c=`luminosity_${b}`):c="luminosity",d=this.#C.get(c))return this.#C.set(a,d),d;let e=`g_${this.#c5}_luminosity_map_${this.#A++}`,f=this.#db(e);this.#C.set(a,f),this.#C.set(c,f);let g=this.#dc(e);return this.#dh(g),a&&this.#dg(b,g),f}addKnockoutFilter(a=0){let b=a>0?Math.min(1/a,1e6):1e6,c=`knockout_${b}`,d=this.#C.get(c);if(d)return d;let e=`g_${this.#c5}_knockout_filter_${this.#A++}`,f=this.#db(e);this.#C.set(c,f);let g=this.#dc(e),i=this.#c6.createElementNS(h,"feComponentTransfer");g.append(i);let j=this.#c6.createElementNS(h,"feFuncA");return j.setAttribute("type","linear"),j.setAttribute("slope",`${b}`),j.setAttribute("intercept","0"),i.append(j),f}addHighlightHCMFilter(a,b,c,d,e){let f=`${b}-${c}-${d}-${e}`,g=this.#c8.get(a);if(g?.key===f||(g?(g.filter?.remove(),g.key=f,g.url="none",g.filter=null):(g={key:f,url:"none",filter:null},this.#c8.set(a,g)),!b||!c))return g.url;let[h,i]=[b,c].map(this.#de.bind(this)),j=Math.round(.2126*h[0]+.7152*h[1]+.0722*h[2]),k=Math.round(.2126*i[0]+.7152*i[1]+.0722*i[2]),[l,m]=[d,e].map(this.#di.bind(this));k<j&&([j,k,l,m]=[k,j,m,l]),this.#c9.style.color="";let n=(a,b,c)=>{let d=Array(256),e=(k-j)/c,f=a/255,g=(b-a)/(255*c),h=0;for(let a=0;a<=c;a++){let b=Math.round(j+a*e),c=f+a*g;for(let a=h;a<=b;a++)d[a]=c;h=b+1}for(let a=h;a<256;a++)d[a]=d[h-1];return d.join(",")},o=`g_${this.#c5}_hcm_${a}_filter`,p=g.filter=this.#dc(o);return this.#df(p),this.#dd(n(l[0],m[0],5),n(l[1],m[1],5),n(l[2],m[2],5),p),g.url=this.#db(o),g.url}destroy(a=!1){a&&this.#c7?.size||(this.#c4?.parentNode.parentNode.remove(),this.#c4=null,this.#c3?.clear(),this.#c3=null,this.#c7?.clear(),this.#c7=null,this.#A=0)}#dh(a){let b=this.#c6.createElementNS(h,"feColorMatrix");b.setAttribute("type","matrix"),b.setAttribute("values","0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.3 0.59 0.11 0 0"),a.append(b)}#df(a){let b=this.#c6.createElementNS(h,"feColorMatrix");b.setAttribute("type","matrix"),b.setAttribute("values","0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0 0 0 1 0"),a.append(b)}#dc(a){let b=this.#c6.createElementNS(h,"filter");return b.setAttribute("color-interpolation-filters","sRGB"),b.setAttribute("id",a),this.#c9.append(b),b}#dj(a,b,c){let d=this.#c6.createElementNS(h,b);d.setAttribute("type","discrete"),d.setAttribute("tableValues",c),a.append(d)}#dd(a,b,c,d){let e=this.#c6.createElementNS(h,"feComponentTransfer");d.append(e),this.#dj(e,"feFuncR",a),this.#dj(e,"feFuncG",b),this.#dj(e,"feFuncB",c)}#dg(a,b){let c=this.#c6.createElementNS(h,"feComponentTransfer");b.append(c),this.#dj(c,"feFuncA",a)}#de(a){return this.#c9.style.color=a,ai(getComputedStyle(this.#c9).getPropertyValue("color"))}#dk(a){return this.#c9.style.color=a,ah(getComputedStyle(this.#c9).getPropertyValue("color"))}#di(a){let[b,c,d,e]=this.#dk(a);if(1===e)return[b,c,d];let[f,g,h]=this.#de("Canvas");return[bx(b,f,e),bx(c,g,e),bx(d,h,e)]}}function bx(a,b,c){return Math.round(c*a+(1-c)*b)}async function by(a){let b=process.getBuiltinModule("fs/promises");return new Uint8Array(await b.readFile(a))}d&&v("Please use the `legacy` build in Node.js environments.");class bz extends bv{}class bA extends bt{_createCanvas(a,b){return process.getBuiltinModule("module").createRequire("file:///home/runner/work/cockpit/cockpit/node_modules/pdfjs-dist/build/pdf.mjs")("@napi-rs/canvas").createCanvas(a,b)}}class bB extends br{async _fetch(a,b){return by(a)}}function bC({src:a,srcPos:b=0,dest:c,width:d,height:e,nonBlackColor:f=0xffffffff,inverseDecode:g=!1}){let h=K.isLittleEndian?0xff000000:255,[i,j]=g?[f,h]:[h,f],k=d>>3,l=7&d,m=i^j,n=a.length;c=new Uint32Array(c.buffer);let o=0;for(let d=0;d<e;++d){for(let d=b+k;b<d;++b,o+=8){let d=a[b];c[o]=i^-(d>>7&1)&m,c[o+1]=i^-(d>>6&1)&m,c[o+2]=i^-(d>>5&1)&m,c[o+3]=i^-(d>>4&1)&m,c[o+4]=i^-(d>>3&1)&m,c[o+5]=i^-(d>>2&1)&m,c[o+6]=i^-(d>>1&1)&m,c[o+7]=i^-(1&d)&m}if(0===l)continue;let d=b<n?a[b++]:255;for(let a=0;a<l;++a,++o)c[o]=i^-(d>>7-a&1)&m}return{srcPos:b,destPos:o}}let bD=`
|
|
3
|
+
struct Uniforms {
|
|
4
|
+
offsetX : f32,
|
|
5
|
+
offsetY : f32,
|
|
6
|
+
scaleX : f32,
|
|
7
|
+
scaleY : f32,
|
|
8
|
+
paddedWidth : f32,
|
|
9
|
+
paddedHeight : f32,
|
|
10
|
+
borderSize : f32,
|
|
11
|
+
_pad : f32,
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
@group(0) @binding(0) var<uniform> u : Uniforms;
|
|
15
|
+
|
|
16
|
+
struct VertexInput {
|
|
17
|
+
@location(0) position : vec2<f32>,
|
|
18
|
+
@location(1) color : vec4<f32>,
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
struct VertexOutput {
|
|
22
|
+
@builtin(position) position : vec4<f32>,
|
|
23
|
+
@location(0) color : vec3<f32>,
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
@vertex
|
|
27
|
+
fn vs_main(in : VertexInput) -> VertexOutput {
|
|
28
|
+
var out : VertexOutput;
|
|
29
|
+
let cx = (in.position.x + u.offsetX) * u.scaleX;
|
|
30
|
+
let cy = (in.position.y + u.offsetY) * u.scaleY;
|
|
31
|
+
out.position = vec4<f32>(
|
|
32
|
+
((cx + u.borderSize) / u.paddedWidth) * 2.0 - 1.0,
|
|
33
|
+
1.0 - ((cy + u.borderSize) / u.paddedHeight) * 2.0,
|
|
34
|
+
0.0,
|
|
35
|
+
1.0
|
|
36
|
+
);
|
|
37
|
+
out.color = in.color.rgb;
|
|
38
|
+
return out;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
@fragment
|
|
42
|
+
fn fs_main(in : VertexOutput) -> @location(0) vec4<f32> {
|
|
43
|
+
return vec4<f32>(in.color, 1.0);
|
|
44
|
+
}
|
|
45
|
+
`;class bE{#dl=null;#dm=null;#dn=null;#dp=null;async #dq(){if(!globalThis.navigator?.gpu)return!1;try{let a=await navigator.gpu.requestAdapter();if(!a)return!1;return this.#dp=navigator.gpu.getPreferredCanvasFormat(),this.#dm=await a.requestDevice(),!0}catch{return!1}}init(){return this.#dl||=this.#dq()}get isReady(){return null!==this.#dm}loadMeshShader(){if(!this.#dm||this.#dn)return;let a=this.#dm.createShaderModule({code:bD});this.#dn=this.#dm.createRenderPipeline({layout:"auto",vertex:{module:a,entryPoint:"vs_main",buffers:[{arrayStride:8,attributes:[{shaderLocation:0,offset:0,format:"float32x2"}]},{arrayStride:4,attributes:[{shaderLocation:1,offset:0,format:"unorm8x4"}]}]},fragment:{module:a,entryPoint:"fs_main",targets:[{format:this.#dp}]},primitive:{topology:"triangle-list"}})}draw(a,b,c,d,e,f,g,h){this.loadMeshShader();let i=this.#dm,{offsetX:j,offsetY:k,scaleX:l,scaleY:m}=d,n=i.createBuffer({size:Math.max(a.byteLength,4),usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});a.byteLength>0&&i.queue.writeBuffer(n,0,a);let o=i.createBuffer({size:Math.max(b.byteLength,4),usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});b.byteLength>0&&i.queue.writeBuffer(o,0,b);let p=i.createBuffer({size:32,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST});i.queue.writeBuffer(p,0,new Float32Array([j,k,l,m,f,g,h,0]));let q=i.createBindGroup({layout:this.#dn.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:p}}]}),r=new OffscreenCanvas(f,g),s=r.getContext("webgpu");s.configure({device:i,format:this.#dp,alphaMode:e?"opaque":"premultiplied"});let t=e?{r:e[0]/255,g:e[1]/255,b:e[2]/255,a:1}:{r:0,g:0,b:0,a:0},u=i.createCommandEncoder(),v=u.beginRenderPass({colorAttachments:[{view:s.getCurrentTexture().createView(),clearValue:t,loadOp:"clear",storeOp:"store"}]});return c>0&&(v.setPipeline(this.#dn),v.setBindGroup(0,q),v.setVertexBuffer(0,n),v.setVertexBuffer(1,o),v.draw(c)),v.end(),i.queue.submit([u.finish()]),n.destroy(),o.destroy(),p.destroy(),r.transferToImageBitmap()}}let bF=new bE,bG="Fill",bH="Stroke",bI="Shading";function bJ(a,b){if(!b)return;let c=b[2]-b[0],d=b[3]-b[1],e=new Path2D;e.rect(b[0],b[1],c,d),a.clip(e)}class bK{isModifyingCurrentTransform(){return!1}getPattern(){w("Abstract method `getPattern` called.")}}class bL extends bK{constructor(a){super(),this._type=a[1],this._bbox=a[2],this._colorStops=a[3],this._p0=a[4],this._p1=a[5],this._r0=a[6],this._r1=a[7],this.matrix=null}isOriginBased(){return 0===this._p0[0]&&0===this._p0[1]&&(!this.isRadial()||0===this._p1[0]&&0===this._p1[1])}isRadial(){return"radial"===this._type}areConic(){if(!this.isRadial())return!1;let a=Math.hypot(this._p0[0]-this._p1[0],this._p0[1]-this._p1[1]);return a+this._r1>this._r0&&a+this._r0>this._r1}_createGradient(a,b=null){let c,d=this._p0,e=this._p1;if(b&&(d=d.slice(),e=e.slice(),L.applyTransform(d,b),L.applyTransform(e,b)),"axial"===this._type)c=a.createLinearGradient(d[0],d[1],e[0],e[1]);else if("radial"===this._type){let f=this._r0,g=this._r1;if(b){let a=new Float32Array(2);L.singularValueDecompose2dScale(b,a),f*=a[0],g*=a[0]}c=a.createRadialGradient(d[0],d[1],f,e[0],e[1],g)}for(let a of this._colorStops)c.addColorStop(a[0],a[1]);return c}_createReversedGradient(a,b=null){let c=this._p1,d=this._p0;b&&(c=c.slice(),d=d.slice(),L.applyTransform(c,b),L.applyTransform(d,b));let e=this._r1,f=this._r0;if(b){let a=new Float32Array(2);L.singularValueDecompose2dScale(b,a),e*=a[0],f*=a[0]}let g=a.createRadialGradient(c[0],c[1],e,d[0],d[1],f);for(let[a,b]of this._colorStops.map(([a,b])=>[1-a,b]).reverse())g.addColorStop(a,b);return g}getPattern(a,b,c,d){let e;if(d===bH||d===bG){if(this.isOriginBased()){let d=L.transform(c,b.baseTransform);this.matrix&&(d=L.transform(d,this.matrix));let e=Math.hypot(d[0],d[1]),f=Math.hypot(d[2],d[3]);if(.001>Math.abs((d[0]*d[2]+d[1]*d[3])/(e*f))){if(!this.isRadial())return this._createGradient(a,d);else if(.001>Math.abs(e-f))return this._createGradient(a,d)}}let f=b.current.getClippedPathBoundingBox(d,aj(a))||[0,0,0,0],g=Math.ceil(f[2]-f[0])||1,h=Math.ceil(f[3]-f[1])||1,i=b.canvasFactory.create(g,h),j=i.context;j.clearRect(0,0,j.canvas.width,j.canvas.height),j.beginPath(),j.rect(0,0,j.canvas.width,j.canvas.height),j.translate(-f[0],-f[1]),c=L.transform(c,[1,0,0,1,f[0],f[1]]),j.transform(...b.baseTransform),this.matrix&&j.transform(...this.matrix),bJ(j,this._bbox),this.areConic()&&(j.fillStyle=this._createReversedGradient(j),j.fill()),j.fillStyle=this._createGradient(j),j.fill(),e=a.createPattern(i.canvas,"no-repeat"),b.canvasFactory.destroy(i);let k=new DOMMatrix(c);e.setTransform(k)}else this.areConic()&&(a.save(),bJ(a,this._bbox),a.fillStyle=this._createReversedGradient(a),a.fillRect(-1e10,-1e10,2e10,2e10),a.restore()),bJ(a,this._bbox),e=this._createGradient(a);return e}}class bM extends bK{constructor(a){super(),this._posData=a[2],this._colData=a[3],this._vertexCount=a[4],this._bounds=a[5],this._bbox=a[6],this._background=a[7],this.matrix=null,bF.loadMeshShader()}_createMeshCanvas(a,b,c){let d=Math.floor(this._bounds[0]),e=Math.floor(this._bounds[1]),f=Math.ceil(this._bounds[2])-d,g=Math.ceil(this._bounds[3])-e,h=Math.min(Math.ceil(Math.abs(f*a[0]*1.1)),3e3)||1,i=Math.min(Math.ceil(Math.abs(g*a[1]*1.1)),3e3)||1,j=f?f/h:1,k=g?g/i:1,l={coords:this._posData,colors:this._colData,offsetX:-d,offsetY:-e,scaleX:1/j,scaleY:1/k},m=h+4,n=i+4,o=c.create(m,n);if(bF.isReady&&this._vertexCount>48){var p,q,r;o.context.drawImage((p=this._posData,q=this._colData,r=this._vertexCount,bF.draw(p,q,r,l,b,m,n,2)),0,0)}else{let a=o.context.createImageData(h,i);if(b){let c=a.data;for(let a=0,d=c.length;a<d;a+=4)c[a]=b[0],c[a+1]=b[1],c[a+2]=b[2],c[a+3]=255}for(let b=0,c=this._vertexCount;b<c;b+=3)!function(a,b,c,d,e,f,g,h){let i,j,k,l,m,n,o,p,q,r=b.coords,s=b.colors,t=a.data,u=4*a.width;r[2*c+1]>r[2*d+1]&&(i=c,c=d,d=i,i=f,f=g,g=i),r[2*d+1]>r[2*e+1]&&(i=d,d=e,e=i,i=g,g=h,h=i),r[2*c+1]>r[2*d+1]&&(i=c,c=d,d=i,i=f,f=g,g=i);let v=(r[2*c]+b.offsetX)*b.scaleX,w=(r[2*c+1]+b.offsetY)*b.scaleY,x=(r[2*d]+b.offsetX)*b.scaleX,y=(r[2*d+1]+b.offsetY)*b.scaleY,z=(r[2*e]+b.offsetX)*b.scaleX,A=(r[2*e+1]+b.offsetY)*b.scaleY;if(w>=A)return;let B=s[4*f],C=s[4*f+1],D=s[4*f+2],E=s[4*g],F=s[4*g+1],G=s[4*g+2],H=s[4*h],I=s[4*h+1],J=s[4*h+2],K=Math.round(w),L=Math.round(A);for(let a=K;a<=L;a++){let b;if(a<y){let b=a<w?0:(w-a)/(w-y);j=v-(v-x)*b,k=B-(B-E)*b,l=C-(C-F)*b,m=D-(D-G)*b}else{let b;j=x-(x-z)*(b=a>A?1:y===A?0:(y-a)/(y-A)),k=E-(E-H)*b,l=F-(F-I)*b,m=G-(G-J)*b}n=v-(v-z)*(b=a<w?0:a>A?1:(w-a)/(w-A)),o=B-(B-H)*b,p=C-(C-I)*b,q=D-(D-J)*b;let c=Math.round(Math.min(j,n)),d=Math.round(Math.max(j,n)),e=u*a+4*c;for(let a=c;a<=d;a++)(b=(j-a)/(j-n))<0?b=0:b>1&&(b=1),t[e++]=k-(k-o)*b|0,t[e++]=l-(l-p)*b|0,t[e++]=m-(m-q)*b|0,t[e++]=255}}(a,l,b,b+1,b+2,b,b+1,b+2);o.context.putImageData(a,2,2)}return{canvas:o.canvas,offsetX:d-2*j,offsetY:e-2*k,scaleX:j,scaleY:k}}isModifyingCurrentTransform(){return!0}getPattern(a,b,c,d){bJ(a,this._bbox);let e=new Float32Array(2);if(d===bI)L.singularValueDecompose2dScale(aj(a),e);else if(this.matrix){L.singularValueDecompose2dScale(this.matrix,e);let[a,c]=e;L.singularValueDecompose2dScale(b.baseTransform,e),e[0]*=a,e[1]*=c}else L.singularValueDecompose2dScale(b.baseTransform,e);let f=this._createMeshCanvas(e,d===bI?null:this._background,b.canvasFactory);d!==bI&&(a.setTransform(...b.baseTransform),this.matrix&&a.transform(...this.matrix)),a.translate(f.offsetX,f.offsetY),a.scale(f.scaleX,f.scaleY);let g=a.createPattern(f.canvas,"no-repeat");return b.canvasFactory.destroy(f),g}}class bN extends bK{getPattern(){return"hotpink"}}class bO{static MAX_PATTERN_SIZE=3e3;constructor(a,b,c,d){this.color=a[1],this.operatorList=a[2],this.matrix=a[3],this.bbox=a[4],this.xstep=a[5],this.ystep=a[6],this.paintType=a[7],this.tilingType=a[8],this.needsIsolation=a[9]??!0,this.ctx=b,this.canvasGraphicsFactory=c,this.baseTransform=d,this.patternBaseMatrix=this.matrix?L.transform(d,this.matrix):d}canSkipPatternCanvas([a,b,c,d]){let[e,f,g,h]=this.bbox,i=Math.abs(this.xstep),j=Math.abs(this.ystep);if(a>i+1e-6||b>j+1e-6)return null;let k=Math.floor((c-g)/i)+1,l=Math.floor((d-h)/j)+1,m=Math.ceil((d+b-f)/j)-1;return Math.ceil((c+a-e)/i)-1<=k&&m<=l?[k,l]:null}updatePatternDims(a,b){let c=L.inverseTransform(this.patternBaseMatrix),d=[a[0],a[1]],e=[a[2],a[3]];L.applyTransform(d,c),L.applyTransform(e,c),b[0]=Math.abs(e[0]-d[0]),b[1]=Math.abs(e[1]-d[1]),b[2]=Math.min(d[0],e[0]),b[3]=Math.min(d[1],e[1])}_renderTileCanvas(a,b,c,d){let[e,f,g,h]=this.bbox,i=a.canvasFactory.create(c.size,d.size),j=i.context,k=this.canvasGraphicsFactory.createCanvasGraphics(j,b);return k.groupLevel=a.groupLevel,this.setFillAndStrokeStyleToContext(k,this.paintType,this.color),j.translate(-c.scale*e,-d.scale*f),k.transform(0,c.scale,0,0,d.scale,0,0),j.save(),k.dependencyTracker?.save(),this.clipBbox(k,e,f,g,h),k.baseTransform=aj(k.ctx),k.executeOperatorList(this.operatorList),k.endDrawing(),k.dependencyTracker?.restore(),j.restore(),i}_getCombinedScales(){let a=new Float32Array(2);L.singularValueDecompose2dScale(this.matrix,a);let[b,c]=a;return L.singularValueDecompose2dScale(this.baseTransform,a),[b*a[0],c*a[1]]}drawPattern(a,b,c=!1,[d,e],f){let[g,h,i,j]=this.bbox,k=a.dependencyTracker;if(k&&(a.dependencyTracker=new a0(k,f)),a.save(),c?a.ctx.clip(b,"evenodd"):a.ctx.clip(b),a.ctx.setTransform(...this.patternBaseMatrix),a.ctx.translate(d*this.xstep,e*this.ystep),this.needsIsolation||1!==a.ctx.globalAlpha||"source-over"!==a.ctx.globalCompositeOperation||a.inSMaskMode){let b=i-g,c=j-h,[d,e]=this._getCombinedScales(),k=this.getSizeAndScale(b,this.ctx.canvas.width,d),l=this.getSizeAndScale(c,this.ctx.canvas.height,e),m=this._renderTileCanvas(a,f,k,l);a.ctx.drawImage(m.canvas,g,h,b,c),a.canvasFactory.destroy(m)}else this.setFillAndStrokeStyleToContext(a,this.paintType,this.color),this.clipBbox(a,g,h,i,j),a.baseTransformStack.push(a.baseTransform),a.baseTransform=aj(a.ctx),a.executeOperatorList(this.operatorList),a.baseTransform=a.baseTransformStack.pop();a.restore(),k&&(a.dependencyTracker=k)}createPatternCanvas(a,b){let[c,d,e,f]=this.bbox,g=e-c,h=f-d,{xstep:i,ystep:j}=this;i=Math.abs(i),j=Math.abs(j),u("TilingType: "+this.tilingType);let[k,l]=this._getCombinedScales(),m=g,n=h,o=!1,p=!1;Math.ceil(i*k)>=Math.ceil(g*k)?m=i:o=!0,Math.ceil(j*l)>=Math.ceil(h*l)?n=j:p=!0;let q=this.getSizeAndScale(m,this.ctx.canvas.width,k),r=this.getSizeAndScale(n,this.ctx.canvas.height,l),s=this._renderTileCanvas(a,b,q,r);if(o||p){let b=s.canvas;o&&(m=i),p&&(n=j);let e=this.getSizeAndScale(m,this.ctx.canvas.width,k),f=this.getSizeAndScale(n,this.ctx.canvas.height,l),q=e.size,r=f.size,t=a.canvasFactory.create(q,r),u=t.context,v=o?Math.floor(g/i):0,w=p?Math.floor(h/j):0;for(let a=0;a<=v;a++)for(let c=0;c<=w;c++)u.drawImage(b,q*a,r*c,q,r,0,0,q,r);return a.canvasFactory.destroy(s),{canvas:t.canvas,canvasEntry:t,scaleX:e.scale,scaleY:f.scale,offsetX:c,offsetY:d}}return{canvas:s.canvas,canvasEntry:s,scaleX:q.scale,scaleY:r.scale,offsetX:c,offsetY:d}}getSizeAndScale(a,b,c){let d=Math.max(bO.MAX_PATTERN_SIZE,b),e=Math.ceil(a*c);return e>=d?e=d:c=e/a,{scale:c,size:e}}clipBbox(a,b,c,d,e){let f=d-b,g=e-c,h=new Path2D;h.rect(b,c,f,g),L.axialAlignedBoundingBox([b,c,d,e],aj(a.ctx),a.current.minMax),a.ctx.clip(h),a.current.updateClipFromPath()}setFillAndStrokeStyleToContext(a,b,c){let d=a.ctx,e=a.current;switch(e.patternFill=e.patternStroke=!1,b){case 1:let{fillStyle:f,strokeStyle:g}=this.ctx;d.fillStyle=e.fillColor=f,d.strokeStyle=e.strokeColor=g;break;case 2:d.fillStyle=d.strokeStyle=c,e.fillColor=e.strokeColor=c;break;default:throw new H(`Unsupported paint type: ${b}`)}}isModifyingCurrentTransform(){return!1}getPattern(a,b,c,d,e){let f=d!==bI?L.transform(c,this.patternBaseMatrix):c,g=this.createPatternCanvas(b,e),h=new DOMMatrix(f);h=(h=h.translate(g.offsetX,g.offsetY)).scale(1/g.scaleX,1/g.scaleY);let i=a.createPattern(g.canvas,"repeat");return b.canvasFactory.destroy(g.canvasEntry),i.setTransform(h),i}}let bP=new DOMMatrix,bQ=new Float32Array(2);function bR(a,b){if(a._removeMirroring)throw Error("Context is already forwarding operations.");let c=new Map;for(let d of["save","restore","rotate","scale","translate","transform","setTransform","resetTransform","clip","moveTo","lineTo","bezierCurveTo","quadraticCurveTo","arc","arcTo","ellipse","rect","roundRect","closePath","beginPath"]){let e=a[d];"function"==typeof e&&"function"==typeof b[d]&&(c.set(d,e),a[d]=function(...a){return b[d](...a),e.apply(this,a)})}a._removeMirroring=()=>{for(let[b,d]of c)a[b]=d;delete a._removeMirroring}}function bS(a,b,c,d,e,f,g,h,i,j){let[k,l,m,n,o,p]=aj(a);if(0===l&&0===m){let q=Math.round(g*k+o),r=Math.round(h*n+p),s=Math.abs(Math.round((g+i)*k+o)-q)||1,t=Math.abs(Math.round((h+j)*n+p)-r)||1;return a.setTransform(Math.sign(k),0,0,Math.sign(n),q,r),a.drawImage(b,c,d,e,f,0,0,s,t),a.setTransform(k,l,m,n,o,p),[s,t]}if(0===k&&0===n){let q=Math.round(h*m+o),r=Math.round(g*l+p),s=Math.abs(Math.round((h+j)*m+o)-q)||1,t=Math.abs(Math.round((g+i)*l+p)-r)||1;return a.setTransform(0,Math.sign(l),Math.sign(m),0,q,r),a.drawImage(b,c,d,e,f,0,0,t,s),a.setTransform(k,l,m,n,o,p),[t,s]}return a.drawImage(b,c,d,e,f,g,h,i,j),[Math.hypot(k,l)*i,Math.hypot(m,n)*j]}class bT{alphaIsShape=!1;fontSize=0;fontSizeScale=1;textMatrix=null;textMatrixScale=1;fontMatrix=g;leading=0;x=0;y=0;lineX=0;lineY=0;charSpacing=0;wordSpacing=0;textHScale=1;textRenderingMode=0;textRise=0;fillColor="#000000";strokeColor="#000000";tilingPatternDims=null;patternFill=!1;patternStroke=!1;fillAlpha=1;strokeAlpha=1;lineWidth=1;activeSMask=null;transferMaps="none";minMax=f.slice();constructor(a,b){this.clipBox=new Float32Array([0,0,a,b])}clone(){let a=Object.create(this);return a.clipBox=this.clipBox.slice(),a.minMax=this.minMax.slice(),a.tilingPatternDims=this.tilingPatternDims?.slice(),a}getPathBoundingBox(a=bG,b=null){let c=this.minMax.slice();if(a===bH){b||w("Stroke bounding box must include transform."),L.singularValueDecompose2dScale(b,bQ);let a=bQ[0]*this.lineWidth/2,d=bQ[1]*this.lineWidth/2;c[0]-=a,c[1]-=d,c[2]+=a,c[3]+=d}return c}updateClipFromPath(){let a=L.intersect(this.clipBox,this.getPathBoundingBox());this.startNewPathAndClipBox(a||[0,0,0,0])}isEmptyClip(){return this.minMax[0]===1/0}startNewPathAndClipBox(a){this.clipBox.set(a,0),this.minMax.set(f,0)}getClippedPathBoundingBox(a=bG,b=null){return L.intersect(this.clipBox,this.getPathBoundingBox(a,b))}}function bU(a,b){let c,{width:d,height:e,kind:f}=b,g=e%16,h=(e-g)/16,i=0===g?h:h+1,j=a.createImageData(d,16),k=0,l=b.data,m=j.data;if(f===o.GRAYSCALE_1BPP)for(c=0;c<i;c++)({srcPos:k}=bC({src:l,srcPos:k,dest:m,width:d,height:c<h?16:g})),a.putImageData(j,0,16*c);else if(f===o.RGBA_32BPP){let b=0,e=16*d*4;for(c=0;c<h;c++)m.set(l.subarray(k,k+e)),k+=e,a.putImageData(j,0,b),b+=16;c<i&&(e=d*g*4,m.set(l.subarray(k,k+e)),a.putImageData(j,0,b))}else if(f===o.RGB_24BPP)for(c=0;c<i;c++)({srcPos:k}=function({src:a,srcPos:b=0,dest:c,destPos:d=0,width:e,height:f}){let g=0,h=e*f*3,i=h>>2,j=new Uint32Array(a.buffer,b,i),k=K.isLittleEndian?0xff000000:255;if(K.isLittleEndian){for(;g<i-2;g+=3,d+=4){let a=j[g],b=j[g+1],e=j[g+2];c[d]=a|k,c[d+1]=a>>>24|b<<8|k,c[d+2]=b>>>16|e<<16|k,c[d+3]=e>>>8|k}for(let e=4*g,f=b+h;e<f;e+=3)c[d++]=a[e]|a[e+1]<<8|a[e+2]<<16|k}else{for(;g<i-2;g+=3,d+=4){let a=j[g],b=j[g+1],e=j[g+2];c[d]=a|k,c[d+1]=a<<24|b>>>8|k,c[d+2]=b<<16|e>>>16|k,c[d+3]=e<<8|k}for(let e=4*g,f=b+h;e<f;e+=3)c[d++]=a[e]<<24|a[e+1]<<16|a[e+2]<<8|k}return{srcPos:b+h,destPos:d}}({src:l,srcPos:k,dest:new Uint32Array(m.buffer),width:d,height:c<h?16:g})),a.putImageData(j,0,16*c);else throw Error(`bad image kind: ${f}`)}function bV(a,b){if(b.bitmap)return void a.drawImage(b.bitmap,0,0);let{width:c,height:d}=b,e=d%16,f=(d-e)/16,g=0===e?f:f+1,h=a.createImageData(c,16),i=0,j=b.data,k=h.data;for(let b=0;b<g;b++)({srcPos:i}=bC({src:j,srcPos:i,dest:k,width:c,height:b<f?16:e,nonBlackColor:0})),a.putImageData(h,0,16*b)}function bW(a,b){for(let c of["strokeStyle","fillStyle","fillRule","globalAlpha","lineWidth","lineCap","lineJoin","miterLimit","globalCompositeOperation","font","filter"])void 0!==a[c]&&(b[c]=a[c]);void 0!==a.setLineDash&&(b.setLineDash(a.getLineDash()),b.lineDashOffset=a.lineDashOffset)}function bX(a){a.strokeStyle=a.fillStyle="#000000",a.fillRule="nonzero",a.globalAlpha=1,a.lineWidth=1,a.lineCap="butt",a.lineJoin="miter",a.miterLimit=10,a.globalCompositeOperation="source-over",a.font="10px sans-serif",void 0!==a.setLineDash&&(a.setLineDash([]),a.lineDashOffset=0);let{filter:b}=a;"none"!==b&&""!==b&&(a.filter="none")}function bY(a,b){if(b)return!0;L.singularValueDecompose2dScale(a,bQ);let c=Math.fround(am.pixelRatio*X.PDF_TO_CSS_UNITS);return bQ[0]<=c&&bQ[1]<=c}let bZ=["butt","round","square"],b$=["miter","round","bevel"],b_={},b0={};class b1{#dr=0;#ds=0;#dt=null;#du=null;#dv=null;#dw=null;#dx=1;#dy;#dz=null;#dA=[];constructor(a,b,c,d,e,{optionalContentConfig:f,markedContentStack:g=null},h,i,j,k){this.ctx=a,this.current=new bT(this.ctx.canvas.width,this.ctx.canvas.height),this.stateStack=[],this.pendingClip=null,this.pendingEOFill=!1,this.commonObjs=b,this.objs=c,this.canvasFactory=d,this.filterFactory=e,this.groupStack=[],this.baseTransform=null,this.baseTransformStack=[],this.groupLevel=0,this.smaskStack=[],this.tempSMask=null,this.smaskGroupCanvases=[],this.smaskPreparedEntry=null,this.smaskPreparedFor=null,this.smaskPreparedOffsetX=0,this.smaskPreparedOffsetY=0,this.smaskPreparedOOBAlpha=null,this.suspendedCtx=null,this.contentVisible=!0,this.markedContentStack=g||[],this.optionalContentConfig=f,this.cachedPatterns=new Map,this.annotationCanvasMap=h,this.viewportScale=1,this.outputScaleX=1,this.outputScaleY=1,this.pageColors=i,this._cachedScaleForStroking=[-1,0],this._cachedGetSinglePixelWidth=null,this._cachedBitmapsMap=new Map,this.dependencyTracker=j??null,this.imagesTracker=k??null}getObject(a,b,c=null){return"string"==typeof b?(this.dependencyTracker?.recordNamedDependency(a,b),b.startsWith("g_")?this.commonObjs.get(b):this.objs.get(b)):c}beginDrawing({transform:a,viewport:b,transparency:c=!1,background:d=null}){let e=this.ctx.canvas.width,f=this.ctx.canvas.height,g=this.ctx.fillStyle;if(this.ctx.fillStyle=d||"#ffffff",this.ctx.fillRect(0,0,e,f),this.ctx.fillStyle=g,c){let a=this.transparentCanvasEntry=this.canvasFactory.create(e,f);this.compositeCtx=this.ctx,({canvas:this.transparentCanvas,context:this.ctx}=a),this.ctx.save(),this.ctx.transform(...aj(this.compositeCtx))}this.ctx.save(),bX(this.ctx),a&&(this.ctx.transform(...a),this.outputScaleX=a[0],this.outputScaleY=a[3]),this.ctx.transform(...b.transform),this.viewportScale=b.scale,this.baseTransform=aj(this.ctx)}executeOperatorList(a,b,c,d,e){let f,g,h=a.argsArray,i=a.fnArray,j=b||0,k=h.length;if(k===j)return j;let l=k-j>10&&"function"==typeof c,m=l?Date.now()+15:0,n=0,o=this.commonObjs,p=this.objs;for(;;){if(void 0!==d){if(j===d.nextBreakPoint)return d.breakIt(j,c),j;if(d.shouldSkip(j)){if(++j===k)return j;continue}}if(!e||e(j))if(f=i[j],g=h[j]??null,f!==r.dependency)null===g?this[f](j):this[f](j,...g);else for(let a of g){this.dependencyTracker?.recordNamedData(a,j);let b=a.startsWith("g_")?o:p;if(!b.has(a))return b.get(a,c),j}if(++j===k)return j;if(l&&++n>10){if(Date.now()>m)return c(),j;n=0}}}#dB(){for(;this.stateStack.length||this.inSMaskMode;)this.restore();this.current.activeSMask=null,this.ctx.restore(),this.transparentCanvas&&(this.ctx=this.compositeCtx,this.ctx.save(),this.ctx.setTransform(1,0,0,1,0,0),this.ctx.drawImage(this.transparentCanvas,0,0),this.ctx.restore(),this.canvasFactory.destroy(this.transparentCanvasEntry),this.transparentCanvas=null,this.transparentCanvasEntry=null)}endDrawing(){for(let a of(this.#dB(),this.smaskGroupCanvases))this.canvasFactory.destroy(a);for(let a of(this.smaskGroupCanvases.length=0,this._clearPreparedSMask(),this.tempSMask=null,this.smaskStack.length=0,this.#dA))this.#dC(a);for(let a of(this.#dA.length=0,this.#dt=null,this.#du=null,this.#dv=null,this.#dw=null,this.#dx=1,this.#dz=null,this.#ds=0,this.#dr=0,this.cachedPatterns.clear(),this._cachedBitmapsMap.values())){for(let b of a.values())"u">typeof HTMLCanvasElement&&b instanceof HTMLCanvasElement&&(b.width=b.height=0);a.clear()}this._cachedBitmapsMap.clear(),this.#dD()}#dD(){if(this.pageColors){let a=this.filterFactory.addHCMFilter(this.pageColors.foreground,this.pageColors.background);if("none"!==a){let b=this.ctx.filter;this.ctx.filter=a,this.ctx.drawImage(this.ctx.canvas,0,0),this.ctx.filter=b}}}_scaleImage(a,b){let c=a.width??a.displayWidth,d=a.height??a.displayHeight,e=Math.max(Math.hypot(b[0],b[1]),1),f=Math.max(Math.hypot(b[2],b[3]),1),g=[],h=e,i=f,j=c,k=d;for(;h>2&&j>1||i>2&&k>1;){let a=j,b=k;h>2&&j>1&&(a=Math.ceil(j/2),h/=j/a),i>2&&k>1&&(b=Math.ceil(k/2),i/=k/b),g.push({newWidth:a,newHeight:b}),j=a,k=b}if(0===g.length)return{img:a,paintWidth:c,paintHeight:d,tmpCanvas:null};if(1===g.length){let{newWidth:b,newHeight:e}=g[0],f=this.canvasFactory.create(b,e);return f.context.drawImage(a,0,0,c,d,0,0,b,e),{img:f.canvas,paintWidth:b,paintHeight:e,tmpCanvas:f}}let l=this.canvasFactory.create(1,1),m=this.canvasFactory.create(1,1),n=c,o=d,p=a;for(let{newWidth:a,newHeight:b}of g)this.canvasFactory.reset(m,a,b),m.context.drawImage(p,0,0,n,o,0,0,a,b),[l,m]=[m,l],p=l.canvas,n=a,o=b;return this.canvasFactory.destroy(m),{img:l.canvas,paintWidth:n,paintHeight:o,tmpCanvas:l}}_createMaskCanvas(a,b){let c,d,e,g,h=this.ctx,{width:i,height:j}=b,k=this.current.fillColor,l=this.current.patternFill,m=aj(h);if((b.bitmap||b.data)&&b.count>1){let f=b.bitmap||b.data.buffer;d=JSON.stringify(l?m:[m.slice(0,4),k]);let g=(c=this._cachedBitmapsMap.getOrInsertComputed(f,R)).get(d);if(g&&!l){let b=Math.round(Math.min(m[0],m[2])+m[4]),c=Math.round(Math.min(m[1],m[3])+m[5]);return this.dependencyTracker?.recordDependencies(a,a7),{canvas:g,offsetX:b,offsetY:c}}e=g}e||bV((g=this.canvasFactory.create(i,j)).context,b);let n=L.transform(m,[1/i,0,0,-1/j,0,0]);n=L.transform(n,[1,0,0,1,0,-j]);let o=f.slice();L.axialAlignedBoundingBox([0,0,i,j],n,o);let[p,q,r,s]=o,t=Math.round(r-p)||1,u=Math.round(s-q)||1,v=this.canvasFactory.create(t,u),w=v.context;w.translate(-p,-q),w.transform(...n);let x=null;if(!e){let a=this._scaleImage(g.canvas,ak(w));e=a.img,x=a.tmpCanvas,e!==g.canvas&&(this.canvasFactory.destroy(g),g=null),c&&l&&(c.set(d,e),x=null,g=null)}w.imageSmoothingEnabled=bY(aj(w),b.interpolate),bS(w,e,0,0,e.width,e.height,0,0,i,j),x&&this.canvasFactory.destroy(x),g&&this.canvasFactory.destroy(g),w.globalCompositeOperation="source-in";let y=L.transform(ak(w),[1,0,0,1,-p,-q]);return w.fillStyle=l?k.getPattern(h,this,y,bG,a):k,w.fillRect(0,0,i,j),c&&!l&&c.set(d,v.canvas),this.dependencyTracker?.recordDependencies(a,a7),{canvas:v.canvas,canvasEntry:c&&!l?null:v,offsetX:Math.round(p),offsetY:Math.round(q)}}setLineWidth(a,b){this.dependencyTracker?.recordSimpleData("lineWidth",a),b!==this.current.lineWidth&&(this._cachedScaleForStroking[0]=-1),this.current.lineWidth=b,this.ctx.lineWidth=b}setLineCap(a,b){this.dependencyTracker?.recordSimpleData("lineCap",a),this.ctx.lineCap=bZ[b]}setLineJoin(a,b){this.dependencyTracker?.recordSimpleData("lineJoin",a),this.ctx.lineJoin=b$[b]}setMiterLimit(a,b){this.dependencyTracker?.recordSimpleData("miterLimit",a),this.ctx.miterLimit=b}setDash(a,b,c){this.dependencyTracker?.recordSimpleData("dash",a);let d=this.ctx;void 0!==d.setLineDash&&(d.setLineDash(b),d.lineDashOffset=c)}setRenderingIntent(a,b){}setFlatness(a,b){}setGState(a,b){for(let[c,d]of b)switch(c){case"LW":this.setLineWidth(a,d);break;case"LC":this.setLineCap(a,d);break;case"LJ":this.setLineJoin(a,d);break;case"ML":this.setMiterLimit(a,d);break;case"D":this.setDash(a,d[0],d[1]);break;case"RI":this.setRenderingIntent(a,d);break;case"FL":this.setFlatness(a,d);break;case"Font":this.setFont(a,d[0],d[1]);break;case"CA":this.dependencyTracker?.recordSimpleData("strokeAlpha",a),this.current.strokeAlpha=d;break;case"ca":this.dependencyTracker?.recordSimpleData("fillAlpha",a),this.ctx.globalAlpha=this.current.fillAlpha=d;break;case"BM":this.dependencyTracker?.recordSimpleData("globalCompositeOperation",a),this.ctx.globalCompositeOperation=d;break;case"SMask":this.dependencyTracker?.recordSimpleData("SMask",a),this.current.activeSMask=d?this.tempSMask:null,this.current.activeSMask&&(this.current.activeSMask.blendMode=this.ctx.globalCompositeOperation),this.tempSMask=null,this.checkSMaskState(a);break;case"TR":this.dependencyTracker?.recordSimpleData("filter",a),this.ctx.filter=this.current.transferMaps=this.filterFactory.addFilter(d)}}get inSMaskMode(){return!!this.suspendedCtx}_clearPreparedSMask(){this.smaskPreparedEntry&&(this.canvasFactory.destroy(this.smaskPreparedEntry),this.smaskPreparedEntry=null),this.smaskPreparedFor=null,this.smaskPreparedOffsetX=0,this.smaskPreparedOffsetY=0,this.smaskPreparedOOBAlpha=null}_ensurePreparedSMask(a){a!==this.smaskPreparedFor&&(this._clearPreparedSMask(),this._prepareSMaskCanvas(a))}checkSMaskState(a){let b=this.inSMaskMode;this.current.activeSMask&&!b?this.beginSMaskMode(a):!this.current.activeSMask&&b?this.endSMaskMode():this.current.activeSMask&&b&&this._ensurePreparedSMask(this.current.activeSMask)}_prepareSMaskCanvas(a){let b,c,d,e,{canvas:f,subtype:g,backdrop:h,transferMap:i}=a,j="Luminosity"===g||"Alpha"===g&&i;if(!j&&!("Luminosity"===g&&h)){this.smaskPreparedFor=a;return}if("Luminosity"===g&&h){let[a,c,d]=ah(h),e=Math.round(.3*a+.59*c+.11*d);b=i?.[e]??e}else b=i?.[0]??0;let{width:k,height:l}=this.ctx.canvas,m=k*l<4*(f.width*f.height),n=j?{url:"Alpha"===g?this.filterFactory.addAlphaFilter(i):this.filterFactory.addLuminosityFilter(i),subtype:g,transferMap:i}:null,o="Luminosity"===g?h:null;m?(c=this._bakeSMaskCanvas(f,a.offsetX,a.offsetY,k,l,o,n),d=0,e=0):(c=this._bakeSMaskCanvas(f,0,0,f.width,f.height,o,n),d=a.offsetX,e=a.offsetY),this.smaskPreparedEntry=c,this.smaskPreparedFor=a,this.smaskPreparedOffsetX=d,this.smaskPreparedOffsetY=e,this.smaskPreparedOOBAlpha=m||0===b?null:b}_bakeSMaskCanvas(a,b,c,d,e,f,g){f||g||w("_bakeSMaskCanvas with neither backdrop nor filter");let h=this.canvasFactory.create(d,e),i=h.context;if(i.drawImage(a,b,c),f&&(i.globalCompositeOperation="destination-atop",i.fillStyle=f,i.fillRect(0,0,d,e)),!g)return h;let j=this.canvasFactory.create(d,e),k=j.context;k.filter=g.url;let l=K.isCanvasFilterSupported&&"none"!==k.filter&&""!==k.filter;if(k.drawImage(h.canvas,0,0),K.isCanvasFilterSupported&&(k.filter="none"),!l){let a=k.getImageData(0,0,d,e),{data:b}=a,{transferMap:c}=g;if("Luminosity"===g.subtype)for(let a=0,d=b.length;a<d;a+=4){let d=.3*b[a]+.59*b[a+1]+.11*b[a+2]+.5|0;b[a]=b[a+1]=b[a+2]=0,b[a+3]=c?.[d]??d}else for(let a=3,d=b.length;a<d;a+=4)b[a]=c[b[a]];k.putImageData(a,0,0)}return this.canvasFactory.destroy(h),j}beginSMaskMode(a){if(this.inSMaskMode)throw Error("beginSMaskMode called while already in smask mode");let{width:b,height:c}=this.ctx.canvas,d=this.canvasFactory.create(b,c);this.smaskScratchCanvas=d,this.suspendedCtx=this.ctx;let e=this.ctx=d.context;e.setTransform(this.suspendedCtx.getTransform()),bW(this.suspendedCtx,e),bR(e,this.suspendedCtx),this._ensurePreparedSMask(this.current.activeSMask),this.setGState(a,[["BM","source-over"]])}endSMaskMode(){if(!this.inSMaskMode)throw Error("endSMaskMode called while not in smask mode");this.ctx._removeMirroring(),bW(this.ctx,this.suspendedCtx),this.ctx=this.suspendedCtx,this.suspendedCtx=null,this.canvasFactory.destroy(this.smaskScratchCanvas),this.smaskScratchCanvas=null,this._clearPreparedSMask()}#dE(a,b=null,c=1){let{width:d,height:e}=a,f=b??this.canvasFactory.create(d,e),g=f.context,h=(c=Math.round(255*c)/255)<1;h&&void 0===this.#dy&&(this.#dy=K.isCanvasFilterSupported?new Map:"none");let i="none";if(h&&this.#dy instanceof Map&&(i=this.#dy.getOrInsertComputed(c,()=>this.filterFactory.addKnockoutFilter(c))),!h||"none"!==i)return b&&(g.save(),g.setTransform(1,0,0,1,0,0),g.clearRect(0,0,d,e),g.restore()),g.filter=i,g.drawImage(a,0,0),g.filter="none",f;let j=a.getContext("2d",{willReadFrequently:!0}).getImageData(0,0,d,e),k=g.createImageData(d,e),l=j.data,m=k.data,n=c>0?1/c:1e6;for(let a=3,b=l.length;a<b;a+=4)m[a]=Math.min(Math.round(l[a]*n),255);return g.putImageData(k,0,0),f}#dF(a,b,c,d){let e=a?.[b]??null;if(e&&(e.canvas.width!==c||e.canvas.height!==d)&&(this.canvasFactory.destroy(e),e=null),!e)return e=this.canvasFactory.create(c,d),a&&(a[b]=e),e;let f=e.context;return f.save(),f.setTransform(1,0,0,1,0,0),f.clearRect(0,0,c,d),f.restore(),e}#dG(a,b,c={}){let{backdropCanvas:d=null,destTransform:e=[1,0,0,1,0,0],backdropOffset:f=[0,0],reuseMaskEntry:g=null,poolMeta:h=null,sourceAlpha:i=1,sourceFilter:j="none",knockoutAlpha:k=1}=c,{width:l,height:m}=b,n=this.#dE(b,g,k),o=a.globalCompositeOperation;if(a.save(),a.setTransform(...e),a.globalAlpha=1,K.isCanvasFilterSupported&&(a.filter="none"),a.globalCompositeOperation="destination-out",a.drawImage(n.canvas,0,0),d){let[b,c]=f,e=this.#dF(h,"knockoutBackdropEntry",l,m),g=e.context;g.drawImage(d,b,c,l,m,0,0,l,m),g.globalCompositeOperation="destination-in",g.drawImage(n.canvas,0,0),g.globalCompositeOperation="source-over",a.globalCompositeOperation="destination-over",a.drawImage(e.canvas,0,0),h||this.canvasFactory.destroy(e)}a.globalCompositeOperation=o,a.globalAlpha=i,K.isCanvasFilterSupported&&(a.filter=j??"none"),a.drawImage(b,0,0),a.restore(),g||this.canvasFactory.destroy(n)}#dH(a=1){if(0===this.#dr||this.#ds>0||!this.contentVisible)return!1;this.#ds++,this.#dx=a;let b=this.#dA.at(-1),{canvas:c}=this.ctx,d=this.#dF(b,"knockoutTempEntry",c.width,c.height);this.#dt=d;let e=d.context;return e.save(),e.setTransform(this.ctx.getTransform()),bW(this.ctx,e),this.#dw=e.globalCompositeOperation,e.globalCompositeOperation="source-over",bR(e,this.ctx),this.#dz=b,this.#du=this.ctx,this.#dv=this.suspendedCtx,this.ctx=e,this.inSMaskMode&&(this.suspendedCtx=e),!0}#dI(a){if(!a)return;let b=this.#dt,c=this.#du,d=this.#dv,e=b.context;this.#dt=null,this.#du=null,this.#dv=null,this.inSMaskMode&&this.suspendedCtx===e&&this.ctx!==e&&this.endSMaskMode(),this.inSMaskMode&&(this.suspendedCtx=d),this.ctx._removeMirroring(),this.ctx.globalCompositeOperation=this.#dw,this.#dw=null,bW(this.ctx,c),this.ctx=c;let f=this.#dz;this.#dz=null;let g=this.#dx;this.#dx=1;try{this.#dG(d??c,b.canvas,{backdropCanvas:f?.backdropCtx?.canvas??null,backdropOffset:f?.backdropCtx?[f.offsetX,f.offsetY]:[0,0],reuseMaskEntry:f?.knockoutMaskEntry??null,poolMeta:f,knockoutAlpha:g})}finally{e.restore(),this.#ds--,f||this.canvasFactory.destroy(b)}}compose(a){if(!this.current.activeSMask)return;a=a?[Math.floor(a[0]),Math.floor(a[1]),Math.ceil(a[2]),Math.ceil(a[3])]:[0,0,this.ctx.canvas.width,this.ctx.canvas.height];let b=this.current.activeSMask,c=this.suspendedCtx,d=this.#ds>0&&c===this.ctx;this.composeSMask(d?null:c,b,this.ctx,a),d||(this.ctx.save(),this.ctx.setTransform(1,0,0,1,0,0),this.ctx.clearRect(0,0,this.ctx.canvas.width,this.ctx.canvas.height),this.ctx.restore())}composeSMask(a,b,c,d){let e=d[0],f=d[1],g=d[2]-e,h=d[3]-f;if(0===g||0===h)return;let i=this.smaskPreparedEntry;if(i){let a=e,d=f,j=g,k=h,l=this.smaskPreparedOOBAlpha,m=null!==l;if(m){a=Math.max(e,b.offsetX),d=Math.max(f,b.offsetY);let c=Math.min(e+g,b.offsetX+b.canvas.width),i=Math.min(f+h,b.offsetY+b.canvas.height);j=c-a,k=i-d}if(j>0&&k>0){let b=a-this.smaskPreparedOffsetX,e=d-this.smaskPreparedOffsetY;c.save(),c.globalAlpha=1,c.setTransform(1,0,0,1,0,0);let f=new Path2D;f.rect(a,d,j,k),c.clip(f),c.globalCompositeOperation="destination-in",c.drawImage(i.canvas,b,e,j,k,a,d,j,k),c.restore()}m&&l<255&&this._applySMaskOOBAlpha(c,e,f,g,h,a,d,a+j,d+k,l)}else this.genericComposeSMask(b,c,g,h,e,f);a&&(a.save(),a.globalAlpha=1,a.globalCompositeOperation=b.blendMode||"source-over",a.setTransform(1,0,0,1,0,0),a.drawImage(c.canvas,e,f,g,h,e,f,g,h),a.restore())}_applySMaskOOBAlpha(a,b,c,d,e,f,g,h,i,j){let k=f<h&&g<i;if(k&&f===b&&g===c&&h===b+d&&i===c+e)return;let l=new Path2D;l.rect(b,c,d,e),k&&l.rect(f,g,h-f,i-g),a.save(),a.globalAlpha=j/255,a.setTransform(1,0,0,1,0,0),a.clip(l,"evenodd"),a.globalCompositeOperation="destination-in",a.fillStyle="#000000",a.fillRect(b,c,d,e),a.restore()}genericComposeSMask(a,b,c,d,e,f){let{context:g,offsetX:h,offsetY:i}=a;b.save(),b.globalAlpha=1,b.setTransform(1,0,0,1,0,0);let j=new Path2D;j.rect(e,f,c,d),b.clip(j),b.globalCompositeOperation="destination-in",b.drawImage(g.canvas,e-h,f-i,c,d,e,f,c,d),b.restore()}save(a){this.inSMaskMode&&bW(this.ctx,this.suspendedCtx),this.ctx.save();let b=this.current;this.stateStack.push(b),this.current=b.clone(),this.dependencyTracker?.save(a)}restore(a){if(this.dependencyTracker?.restore(a),0===this.stateStack.length){this.inSMaskMode&&this.endSMaskMode();return}this.current=this.stateStack.pop(),this.ctx.restore(),this.inSMaskMode&&(bW(this.suspendedCtx,this.ctx),this.ctx.setTransform(this.suspendedCtx.getTransform())),this.checkSMaskState(a),this.pendingClip=null,this._cachedScaleForStroking[0]=-1,this._cachedGetSinglePixelWidth=null}transform(a,b,c,d,e,f,g){this.dependencyTracker?.recordIncrementalData("transform",a),this.ctx.transform(b,c,d,e,f,g),this._cachedScaleForStroking[0]=-1,this._cachedGetSinglePixelWidth=null}constructPath(a,b,c,d){let[e]=c;if(!d){e||=c[0]=new Path2D,b!==r.stroke&&b!==r.closeStroke&&(this.current.tilingPatternDims=null),this[b](a,e);return}if(null!==this.dependencyTracker){let c=b===r.stroke?this.current.lineWidth/2:0;this.dependencyTracker.resetBBox(a).recordBBox(a,this.ctx,d[0]-c,d[2]+c,d[1]-c,d[3]+c).recordDependencies(a,["transform"])}e instanceof Path2D||(e=c[0]=ay(e)),L.axialAlignedBoundingBox(d,aj(this.ctx),this.current.minMax);let f=this.current.tilingPatternDims;if(f&&b!==r.stroke&&b!==r.closeStroke&&this.current.fillColor instanceof bO){let a=L.intersect(this.current.clipBox,this.current.minMax);a?this.current.fillColor.updatePatternDims(a,f):this.current.tilingPatternDims=null}this[b](a,e),this._pathStartIdx=a}closePath(a){this.ctx.closePath()}stroke(a,b,c=!0){let d=c&&this.#dH(this.current.strokeAlpha),e=this.ctx,f=this.current.strokeColor;if(e.globalAlpha=this.current.strokeAlpha,this.contentVisible)if("object"==typeof f&&f?.getPattern){let c=f.isModifyingCurrentTransform()?e.getTransform():null;if(e.save(),e.strokeStyle=f.getPattern(e,this,ak(e),bH,a),c){let a=new Path2D;a.addPath(b,e.getTransform().invertSelf().multiplySelf(c)),b=a}this.rescaleAndStroke(b,!1),e.restore()}else this.rescaleAndStroke(b,!0);this.dependencyTracker?.recordDependencies(a,a1),c&&this.consumePath(a,b,this.current.getClippedPathBoundingBox(bH,aj(this.ctx))),e.globalAlpha=this.current.fillAlpha,this.#dI(d)}closeStroke(a,b){this.stroke(a,b)}fill(a,b,c=!0){let d=c&&this.#dH(this.current.fillAlpha),e=this.ctx,f=this.current.fillColor,g=this.current.patternFill,h=!1,i=this.current.getClippedPathBoundingBox();if(this.dependencyTracker?.recordDependencies(a,a2),g){let g=this.current.tilingPatternDims,j=g&&f.canSkipPatternCanvas(g);if(j){f.drawPattern(this,b,this.pendingEOFill,j,a),this.pendingEOFill=!1,c&&this.consumePath(a,b,i),this.current.tilingPatternDims=null,this.#dI(d);return}let k=f.isModifyingCurrentTransform()?e.getTransform():null;if(this.dependencyTracker?.save(a),e.save(),e.fillStyle=f.getPattern(e,this,ak(e),bG,a),k){let a=new Path2D;a.addPath(b,e.getTransform().invertSelf().multiplySelf(k)),b=a}h=!0}this.contentVisible&&null!==i&&(this.pendingEOFill?(e.fill(b,"evenodd"),this.pendingEOFill=!1):e.fill(b)),h&&(e.restore(),this.dependencyTracker?.restore(a)),c&&this.consumePath(a,b,i),this.#dI(d)}eoFill(a,b){this.pendingEOFill=!0,this.fill(a,b)}fillStroke(a,b){let c=this.#dH(Math.min(this.current.fillAlpha,this.current.strokeAlpha));this.fill(a,b,!1),this.stroke(a,b,!1),this.consumePath(a,b),this.#dI(c)}eoFillStroke(a,b){this.pendingEOFill=!0,this.fillStroke(a,b)}closeFillStroke(a,b){this.fillStroke(a,b)}closeEOFillStroke(a,b){this.pendingEOFill=!0,this.fillStroke(a,b)}endPath(a,b){this.consumePath(a,b)}rawFillPath(a,b){let c=this.#dH(this.current.fillAlpha);this.ctx.fill(b),this.dependencyTracker?.recordDependencies(a,a4).recordOperation(a),this.#dI(c)}clip(a){this.dependencyTracker?.recordFutureForcedDependency("clipMode",a),this.pendingClip=b_}eoClip(a){this.dependencyTracker?.recordFutureForcedDependency("clipMode",a),this.pendingClip=b0}beginText(a){this.current.textMatrix=null,this.current.textMatrixScale=1,this.current.x=this.current.lineX=0,this.current.y=this.current.lineY=0,this.dependencyTracker?.recordOpenMarker(a).resetIncrementalData("sameLineText").resetIncrementalData("moveText",a)}endText(a){let b=this.pendingTextPaths,c=this.ctx;if(this.dependencyTracker){let{dependencyTracker:c}=this;void 0!==b&&c.recordFutureForcedDependency("textClip",c.getOpenMarker()).recordFutureForcedDependency("textClip",a),c.recordCloseMarker(a)}if(void 0!==b){let a=new Path2D,d=c.getTransform().invertSelf();for(let{transform:c,x:e,y:f,fontSize:g,path:h}of b)h&&a.addPath(h,new DOMMatrix(c).preMultiplySelf(d).translate(e,f).scale(g,-g));c.clip(a)}delete this.pendingTextPaths}setCharSpacing(a,b){this.dependencyTracker?.recordSimpleData("charSpacing",a),this.current.charSpacing=b}setWordSpacing(a,b){this.dependencyTracker?.recordSimpleData("wordSpacing",a),this.current.wordSpacing=b}setHScale(a,b){this.dependencyTracker?.recordSimpleData("hScale",a),this.current.textHScale=b/100}setLeading(a,b){this.dependencyTracker?.recordSimpleData("leading",a),this.current.leading=-b}setFont(a,b,c){this.dependencyTracker?.recordSimpleData("font",a).recordSimpleDataFromNamed("fontObj",b,a);let d=this.commonObjs.get(b),e=this.current;if(!d)throw Error(`Can't find font for ${b}`);if(e.fontMatrix=d.fontMatrix||g,(0===e.fontMatrix[0]||0===e.fontMatrix[3])&&v("Invalid font matrix for font "+b),c<0?(c=-c,e.fontDirection=-1):e.fontDirection=1,this.current.font=d,this.current.fontSize=c,d.isType3Font)return;let f=d.loadedName||"sans-serif",h=d.systemFontInfo?.css||`"${f}", ${d.fallbackName}`,i="normal";d.black?i="900":d.bold&&(i="bold");let j=d.italic?"italic":"normal",k=T(c,16,100);this.current.fontSizeScale=c/k,this.ctx.font=`${j} ${i} ${k}px ${h}`}setTextRenderingMode(a,b){this.dependencyTracker?.recordSimpleData("textRenderingMode",a),this.current.textRenderingMode=b}setTextRise(a,b){this.dependencyTracker?.recordSimpleData("textRise",a),this.current.textRise=b}moveText(a,b,c){this.dependencyTracker?.resetIncrementalData("sameLineText").recordIncrementalData("moveText",a),this.current.x=this.current.lineX+=b,this.current.y=this.current.lineY+=c}setLeadingMoveText(a,b,c){this.setLeading(a,-c),this.moveText(a,b,c)}setTextMatrix(a,b){this.dependencyTracker?.resetIncrementalData("sameLineText").recordSimpleData("textMatrix",a);let{current:c}=this;c.textMatrix=b,c.textMatrixScale=Math.hypot(b[0],b[1]),c.x=c.lineX=0,c.y=c.lineY=0}nextLine(a){this.moveText(a,0,this.current.leading),this.dependencyTracker?.recordIncrementalData("moveText",this.dependencyTracker.getSimpleIndex("leading")??a)}#dJ(a,b,c){let d=new Path2D;return d.addPath(a,new DOMMatrix(c).invertSelf().multiplySelf(b)),d}paintChar(a,b,c,d,e,f){let g,h=this.ctx,i=this.current,j=i.font,k=i.textRenderingMode,l=i.fontSize/i.fontSizeScale,m=3&k,n=!!(4&k),o=i.patternFill&&!j.missingFile,p=i.patternStroke&&!j.missingFile;if((j.disableFontFace||n||o||p)&&!j.missingFile&&(g=j.getPathGenerator(this.commonObjs,b)),g&&(j.disableFontFace||o||p)){let b;if(h.save(),h.translate(c,d),h.scale(l,-l),this.dependencyTracker?.recordCharacterBBox(a,h,j),0===m||2===m)if(e){b=h.getTransform(),h.setTransform(...e);let a=this.#dJ(g,b,e);h.fill(a)}else h.fill(g);if(1===m||2===m)if(f){b||=h.getTransform(),h.setTransform(...f);let{a,b:c,c:d,d:e}=b,i=L.inverseTransform(f),j=L.transform([a,c,d,e,0,0],i);L.singularValueDecompose2dScale(j,bQ),h.lineWidth*=Math.max(bQ[0],bQ[1])/l,h.stroke(this.#dJ(g,b,f))}else h.lineWidth/=l,h.stroke(g);h.restore()}else(0===m||2===m)&&(h.fillText(b,c,d),this.dependencyTracker?.recordCharacterBBox(a,h,j,l,c,d,()=>h.measureText(b))),(1===m||2===m)&&(this.dependencyTracker&&this.dependencyTracker?.recordCharacterBBox(a,h,j,l,c,d,()=>h.measureText(b)).recordDependencies(a,a1),h.strokeText(b,c,d));n&&((this.pendingTextPaths||=[]).push({transform:aj(h),x:c,y:d,fontSize:l,path:g}),this.dependencyTracker?.recordCharacterBBox(a,h,j,l,c,d))}get isFontSubpixelAAEnabled(){let a=this.canvasFactory.create(10,10),b=a.context;b.scale(1.5,1),b.fillText("I",0,10);let c=b.getImageData(0,0,10,10).data;this.canvasFactory.destroy(a);let d=!1;for(let a=3;a<c.length;a+=4)if(c[a]>0&&c[a]<255){d=!0;break}return B(this,"isFontSubpixelAAEnabled",d)}showText(a,b){let c,d;this.dependencyTracker&&(this.dependencyTracker.recordDependencies(a,a5).resetBBox(a),4&this.current.textRenderingMode&&this.dependencyTracker.recordFutureForcedDependency("textClip",a).inheritPendingDependenciesAsFutureForcedDependencies());let e=this.current,f=e.font;if(f.isType3Font){let c=this.#dH(e.fillAlpha);this.showType3Text(a,b),this.dependencyTracker?.recordShowTextOperation(a),this.#dI(c);return}let g=e.fontSize;if(0===g)return void this.dependencyTracker?.recordOperation(a);let h=this.#dH(e.fillAlpha),i=this.ctx,j=e.fontSizeScale,k=e.charSpacing,l=e.wordSpacing,m=e.fontDirection,n=e.textHScale*m,o=b.length,p=f.vertical,q=p?1:-1,r=f.defaultVMetrics,s=g*e.fontMatrix[0],t=0===e.textRenderingMode&&!f.disableFontFace&&!e.patternFill;i.save(),e.textMatrix&&i.transform(...e.textMatrix),i.translate(e.x,e.y+e.textRise),m>0?i.scale(n,-1):i.scale(n,1);let u=3&e.textRenderingMode,v=1===u||2===u,w=e.lineWidth,x=e.textMatrixScale;if(0===x||0===w?v&&(w=this.getSinglePixelWidth()):w/=x,1!==j&&(i.scale(j,j),w/=j),i.lineWidth=w,(0===u||2===u)&&e.patternFill){i.save();let b=e.fillColor.getPattern(i,this,ak(i),bG,a);c=aj(i),i.restore(),i.fillStyle=b}if(v&&e.patternStroke){i.save();let b=e.strokeColor.getPattern(i,this,ak(i),bH,a);d=aj(i),i.restore(),i.strokeStyle=b}if(f.isInvalidPDFjsFont){let c=[],d=0;for(let a of b)c.push(a.unicode),d+=a.width;let f=c.join("");if(i.fillText(f,0,0),null!==this.dependencyTracker){let b=i.measureText(f);this.dependencyTracker.recordBBox(a,this.ctx,-b.actualBoundingBoxLeft,b.actualBoundingBoxRight,-b.actualBoundingBoxAscent,b.actualBoundingBoxDescent).recordShowTextOperation(a)}e.x+=d*s*n,i.restore(),this.compose(),this.#dI(h);return}let y=0,z;for(z=0;z<o;++z){let e,h,n,o=b[z];if("number"==typeof o){y+=q*o*g/1e3;continue}let u=!1,v=(o.isSpace?l:0)+k,w=o.fontChar,x=o.accent,A=o.width;if(p){let a=o.vmetric||r,b=-(o.vmetric?a[1]:.5*A)*s,c=a[2]*s;A=a?-a[0]:A,e=b/j,h=(y+c)/j}else e=y/j,h=0;if(f.remeasure&&A>0){let a=1e3*(n=i.measureText(w)).width/g*j;if(A<a&&this.isFontSubpixelAAEnabled){let b=A/a;u=!0,i.save(),i.scale(b,1),e/=b}else A!==a&&(e+=(A-a)/2e3*g/j)}if(this.contentVisible&&(o.isInFont||f.missingFile)){if(t&&!x)i.fillText(w,e,h),this.dependencyTracker?.recordCharacterBBox(a,i,n?{bbox:null}:f,g/j,e,h,()=>n??i.measureText(w));else if(this.paintChar(a,w,e,h,c,d),x){let b=e+g*x.offset.x/j,f=h-g*x.offset.y/j;this.paintChar(a,x.fontChar,b,f,c,d)}}y+=p?A*s-v*m:A*s+v*m,u&&i.restore()}p?e.y-=y:e.x+=y*n,i.restore(),this.compose(),this.dependencyTracker?.recordShowTextOperation(a),this.#dI(h)}showType3Text(a,b){let c,d,e,f,h=this.ctx,i=this.current,j=i.font,k=i.fontSize,l=i.fontDirection,m=j.vertical?1:-1,n=i.charSpacing,o=i.wordSpacing,p=i.textHScale*l,q=i.fontMatrix||g,s=b.length;if(3===i.textRenderingMode||0===k)return;this._cachedScaleForStroking[0]=-1,this._cachedGetSinglePixelWidth=null,h.save(),i.textMatrix&&h.transform(...i.textMatrix),h.translate(i.x,i.y+i.textRise),h.scale(p,l);let t=this.dependencyTracker;for(c=0,this.dependencyTracker=t?new a0(t,a):null;c<s;++c){if("number"==typeof(d=b[c])){f=m*d*k/1e3,this.ctx.translate(f,0),i.x+=f*p;continue}let a=(d.isSpace?o:0)+n,g=j.charProcOperatorList[d.operatorListId];g?this.contentVisible&&(this.save(),g.fnArray[0]===r.setCharWidth&&(i.fillAlpha=i.strokeAlpha=1,h.globalAlpha=1),h.scale(k,k),h.transform(...q),this.executeOperatorList(g),this.restore()):v(`Type3 character "${d.operatorListId}" is not available.`);let l=[d.width,0];L.applyTransform(l,q),e=l[0]*k+a,h.translate(e,0),i.x+=e*p}h.restore(),t&&(this.dependencyTracker=t)}setCharWidth(a,b,c){}setCharWidthAndBounds(a,b,c,d,e,f,g){let h=new Path2D;h.rect(d,e,f-d,g-e),this.ctx.clip(h),this.dependencyTracker?.recordBBox(a,this.ctx,d,f,e,g).recordClipBox(a,this.ctx,d,f,e,g),this.endPath(a)}getColorN_Pattern(a,b){let c;if("TilingPattern"===b[0]){let a=this.baseTransform||aj(this.ctx);c=new bO(b,this.ctx,{createCanvasGraphics:(a,b)=>new b1(a,this.commonObjs,this.objs,this.canvasFactory,this.filterFactory,{optionalContentConfig:this.optionalContentConfig,markedContentStack:this.markedContentStack},void 0,void 0,this.dependencyTracker?new a0(this.dependencyTracker,b,!0):null)},a)}else c=this._getPattern(a,b[1],b[2]);return c}setStrokeColorN(a,...b){this.dependencyTracker?.recordSimpleData("strokeColor",a),this.current.strokeColor=this.getColorN_Pattern(a,b),this.current.patternStroke=!0}setFillColorN(a,...b){this.dependencyTracker?.recordSimpleData("fillColor",a);let c=this.current.fillColor=this.getColorN_Pattern(a,b);this.current.patternFill=!0,this.current.tilingPatternDims=c instanceof bO?[0,0,0,0]:null}setStrokeRGBColor(a,b){this.dependencyTracker?.recordSimpleData("strokeColor",a),this.ctx.strokeStyle=this.current.strokeColor=b,this.current.patternStroke=!1}setStrokeTransparent(a){this.dependencyTracker?.recordSimpleData("strokeColor",a),this.ctx.strokeStyle=this.current.strokeColor="transparent",this.current.patternStroke=!1}setFillRGBColor(a,b){this.dependencyTracker?.recordSimpleData("fillColor",a),this.ctx.fillStyle=this.current.fillColor=b,this.current.patternFill=!1,this.current.tilingPatternDims=null}setFillTransparent(a){this.dependencyTracker?.recordSimpleData("fillColor",a),this.ctx.fillStyle=this.current.fillColor="transparent",this.current.patternFill=!1,this.current.tilingPatternDims=null}_getPattern(a,b,c=null){let d;return this.cachedPatterns.has(b)?d=this.cachedPatterns.get(b):(d=function(a){switch(a[0]){case"RadialAxial":return new bL(a);case"Mesh":return new bM(a);case"Dummy":return new bN}throw Error(`Unknown IR type: ${a[0]}`)}(this.getObject(a,b)),this.cachedPatterns.set(b,d)),c&&(d.matrix=c),d}shadingFill(a,b){if(!this.contentVisible)return;let c=this.#dH(this.current.fillAlpha),d=this.ctx;this.save(a),d.fillStyle=this._getPattern(a,b).getPattern(d,this,ak(d),bI,a);let e=ak(d);if(e){let{width:a,height:b}=d.canvas,c=f.slice();L.axialAlignedBoundingBox([0,0,a,b],e,c);let[g,h,i,j]=c;this.ctx.fillRect(g,h,i-g,j-h)}else this.ctx.fillRect(-1e10,-1e10,2e10,2e10);this.dependencyTracker?.resetBBox(a).recordFullPageBBox(a).recordDependencies(a,a6).recordDependencies(a,a2).recordOperation(a),this.compose(this.current.getClippedPathBoundingBox()),this.restore(a),this.#dI(c)}beginInlineImage(){w("Should not call beginInlineImage")}beginImageData(){w("Should not call beginImageData")}paintFormXObjectBegin(a,b,c){if(this.contentVisible&&(this.save(a),this.baseTransformStack.push(this.baseTransform),b&&this.transform(a,...b),this.baseTransform=aj(this.ctx),c)){L.axialAlignedBoundingBox(c,this.baseTransform,this.current.minMax);let[b,d,e,f]=c,g=new Path2D;g.rect(b,d,e-b,f-d),this.ctx.clip(g),this.dependencyTracker?.recordClipBox(a,this.ctx,b,e,d,f),this.endPath(a)}}paintFormXObjectEnd(a){this.contentVisible&&(this.restore(a),this.baseTransform=this.baseTransformStack.pop())}beginGroup(a,b){let c;if(!this.contentVisible)return;this.save(a);let{inSMaskMode:d}=this;d&&(this.endSMaskMode(),this.current.activeSMask=null);let e=this.ctx;if((!b.needsIsolation||!b.isolated&&!b.hasSoftMask)&&!b.knockout&&!b.isGray&&0===this.#dr&&1===e.globalAlpha&&"source-over"===e.globalCompositeOperation&&!d){if(b.bbox){let a=new Path2D,[c,d,f,g]=b.bbox;if(a.rect(c,d,f-c,g-d),b.matrix){let c=new Path2D;c.addPath(a,new DOMMatrix(b.matrix)),a=c}e.clip(a)}this.groupStack.push(null),this.#dA.push(null),this.groupLevel++;return}b.isolated||b.knockout||0!==this.#dr||u("TODO: Fully support non-isolated non-knockout groups.");let g=aj(e);b.matrix&&e.transform(...b.matrix);let h=[0,0,e.canvas.width,e.canvas.height];b.bbox?(c=f.slice(),L.axialAlignedBoundingBox(b.bbox,aj(e),c),c=L.intersect(c,h)||[0,0,0,0]):c=h;let i=Math.floor(c[0]),j=Math.floor(c[1]),k=Math.max(Math.ceil(c[2])-i,1),l=Math.max(Math.ceil(c[3])-j,1);this.current.startNewPathAndClipBox([0,0,k,l]);let m=this.canvasFactory.create(k,l);b.smask&&this.smaskGroupCanvases.push(m);let n=m.context,o=b.knockout&&!b.isolated?e:null,p=!b.isolated&&!b.knockout&&!b.smask&&b.needsIsolation&&this.#dr>0,q=b.knockout?this.canvasFactory.create(k,l):null,r=this.#dr;if(b.knockout?this.#dr++:this.#dr=0,n.translate(-i,-j),n.transform(...g),!b.isolated&&!b.smask&&d&&b.needsIsolation&&(n.save(),n.setTransform(1,0,0,1,0,0),n.drawImage(e.canvas,-i,-j),n.restore()),b.bbox){let a=new Path2D,[c,d,e,f]=b.bbox;if(a.rect(c,d,e-c,f-d),b.matrix){let c=new Path2D;c.addPath(a,new DOMMatrix(b.matrix)),a=c}n.clip(a)}b.smask&&this.smaskStack.push({canvas:m.canvas,context:n,offsetX:i,offsetY:j,subtype:b.smask.subtype,backdrop:b.smask.backdrop,transferMap:b.smask.transferMap||null}),(!b.smask||this.dependencyTracker)&&(e.setTransform(1,0,0,1,0,0),e.translate(i,j),e.save()),bW(e,n),this.ctx=n,this.dependencyTracker?.inheritSimpleDataAsFutureForcedDependencies(["fillAlpha","strokeAlpha","globalCompositeOperation"]).pushBaseTransform(e),this.setGState(a,[["BM","source-over"],["ca",1],["CA",1],["TR",null]]),this.groupStack.push(e),this.#dA.push({backdropCtx:o,savedKnockoutLevel:r,offsetX:i,offsetY:j,hasInnerBackdrop:p,knockoutMaskEntry:q,knockoutTempEntry:null,knockoutBackdropEntry:null}),this.groupLevel++}endGroup(a,b){if(!this.contentVisible)return;this.groupLevel--;let c=this.ctx,d=this.groupStack.pop(),e=this.#dA.pop();if(e&&(this.#dr=e.savedKnockoutLevel),null===d)return void this.restore(a);if(b.isGray&&this.#dK(c),this.ctx=d,this.ctx.imageSmoothingEnabled=!1,this.dependencyTracker?.popBaseTransform(),b.smask)this.tempSMask=this.smaskStack.pop(),this.restore(a),this.dependencyTracker&&(this.ctx.restore(),this.inSMaskMode&&this.ctx.setTransform(this.suspendedCtx.getTransform())),this.#dC(e);else{this.ctx.restore();let b=aj(this.ctx);this.restore(a),this.ctx.save(),this.ctx.setTransform(...b);let g=f.slice();L.axialAlignedBoundingBox([0,0,c.canvas.width,c.canvas.height],b,g);let h=this.#dA.at(-1);if(this.#dr>0)if(e.hasInnerBackdrop){let{width:a,height:f}=c.canvas,g=this.canvasFactory.create(a,f),h=g.context;h.drawImage(d.canvas,e.offsetX,e.offsetY,a,f,0,0,a,f),h.globalCompositeOperation="source-over",h.drawImage(c.canvas,0,0);let i=this.#dE(c.canvas);h.globalCompositeOperation="destination-in",h.drawImage(i.canvas,0,0);let j=this.ctx.globalCompositeOperation,k=this.ctx.globalAlpha,l=this.ctx.filter;this.ctx.save(),this.ctx.setTransform(...b),this.ctx.globalAlpha=1,K.isCanvasFilterSupported&&(this.ctx.filter="none"),this.ctx.globalCompositeOperation="destination-out",this.ctx.drawImage(i.canvas,0,0),this.ctx.globalCompositeOperation=j,this.ctx.globalAlpha=k,K.isCanvasFilterSupported&&(this.ctx.filter=l??"none"),this.ctx.drawImage(g.canvas,0,0),this.ctx.restore(),this.canvasFactory.destroy(i),this.canvasFactory.destroy(g)}else{let a=h?.backdropCtx??null;this.#dG(this.ctx,c.canvas,{backdropCanvas:a?.canvas??null,destTransform:b,backdropOffset:a?[h.offsetX+e.offsetX,h.offsetY+e.offsetY]:[0,0],sourceAlpha:this.ctx.globalAlpha,sourceFilter:this.ctx.filter})}else this.ctx.drawImage(c.canvas,0,0);this.ctx.restore(),this.canvasFactory.destroy({canvas:c.canvas,context:c}),this.#dC(e),this.compose(g)}}#dK(a){let{canvas:b}=a,{width:c,height:d}=b;if(K.isCanvasFilterSupported){a.save(),a.setTransform(1,0,0,1,0,0),a.filter="grayscale(1)",a.globalAlpha=1,a.globalCompositeOperation="copy",a.drawImage(b,0,0),a.restore();return}let e=a.getImageData(0,0,c,d),{data:f}=e;for(let a=0,b=f.length;a<b;a+=4){let b=.2126*f[a]+.7152*f[a+1]+.0722*f[a+2]+.5|0;f[a]=f[a+1]=f[a+2]=b}a.putImageData(e,0,0)}#dC(a){a&&(a.knockoutMaskEntry&&(this.canvasFactory.destroy(a.knockoutMaskEntry),a.knockoutMaskEntry=null),a.knockoutTempEntry&&(this.canvasFactory.destroy(a.knockoutTempEntry),a.knockoutTempEntry=null),a.knockoutBackdropEntry&&(this.canvasFactory.destroy(a.knockoutBackdropEntry),a.knockoutBackdropEntry=null))}beginAnnotation(a,b,c,d,e,f,g){if(this.#dB(),bX(this.ctx),this.ctx.save(),this.save(a),this.baseTransform&&this.ctx.setTransform(...this.baseTransform),c){let e=c[2]-c[0],h=c[3]-c[1];if(f&&this.annotationCanvasMap){d=d.slice(),d[4]-=c[0],d[5]-=c[1],(c=c.slice())[0]=c[1]=0,c[2]=e,c[3]=h,L.singularValueDecompose2dScale(aj(this.ctx),bQ);let{viewportScale:a}=this,f=Math.ceil(e*this.outputScaleX*a),i=Math.ceil(h*this.outputScaleY*a);this.annotationCanvas=this.canvasFactory.create(f,i);let{canvas:j,context:k}=this.annotationCanvas;if(g){let a=this.annotationCanvasMap.getOrInsertComputed(b,Q);j.setAttribute("data-canvas-name",g);let c=a.findIndex(a=>a.getAttribute("data-canvas-name")===g);-1===c?a.push(j):a[c]=j}else this.annotationCanvasMap.set(b,j);this.annotationCanvas.savedCtx=this.ctx,this.ctx=k,this.ctx.save(),this.ctx.setTransform(bQ[0],0,0,-bQ[1],0,h*bQ[1]),bX(this.ctx)}else{bX(this.ctx),this.endPath(a);let b=new Path2D;b.rect(c[0],c[1],e,h),this.ctx.clip(b)}}this.current=new bT(this.ctx.canvas.width,this.ctx.canvas.height),this.baseTransformStack.push(this.baseTransform),this.transform(a,...d),this.transform(a,...e),this.baseTransform=aj(this.ctx)}endAnnotation(a){this.annotationCanvas&&(this.ctx.restore(),this.#dD(),this.ctx=this.annotationCanvas.savedCtx,delete this.annotationCanvas.savedCtx,delete this.annotationCanvas),this.baseTransform=this.baseTransformStack.pop()}paintImageMaskXObject(a,b){if(!this.contentVisible)return;let c=b.count;(b=this.getObject(a,b.data,b)).count=c;let d=this.#dH(this.current.fillAlpha),e=this.ctx,f=this._createMaskCanvas(a,b),g=f.canvas;e.save(),e.setTransform(1,0,0,1,0,0),e.drawImage(g,f.offsetX,f.offsetY),this.dependencyTracker?.resetBBox(a).recordBBox(a,this.ctx,f.offsetX,f.offsetX+g.width,f.offsetY,f.offsetY+g.height).recordOperation(a),e.restore(),f.canvasEntry&&this.canvasFactory.destroy(f.canvasEntry),this.compose(),this.#dI(d)}paintImageMaskXObjectRepeat(a,b,c,d=0,e=0,f,g){if(!this.contentVisible)return;b=this.getObject(a,b.data,b);let h=this.#dH(this.current.fillAlpha),i=this.ctx;i.save();let j=aj(i);i.transform(c,d,e,f,0,0);let k=this._createMaskCanvas(a,b);i.setTransform(1,0,0,1,k.offsetX-j[4],k.offsetY-j[5]),this.dependencyTracker?.resetBBox(a);for(let b=0,h=g.length;b<h;b+=2){let h=L.transform(j,[c,d,e,f,g[b],g[b+1]]);i.drawImage(k.canvas,h[4],h[5]),this.dependencyTracker?.recordBBox(a,this.ctx,h[4],h[4]+k.canvas.width,h[5],h[5]+k.canvas.height)}i.restore(),k.canvasEntry&&this.canvasFactory.destroy(k.canvasEntry),this.compose(),this.dependencyTracker?.recordOperation(a),this.#dI(h)}paintImageMaskXObjectGroup(a,b){if(!this.contentVisible)return;let c=this.#dH(this.current.fillAlpha),d=this.ctx,e=this.current.fillColor,f=this.current.patternFill;for(let c of(this.dependencyTracker?.resetBBox(a).recordDependencies(a,a7),b)){let{data:b,width:g,height:h,transform:i}=c,j=this.canvasFactory.create(g,h),k=j.context;k.save(),bV(k,this.getObject(a,b,c)),k.globalCompositeOperation="source-in",k.fillStyle=f?e.getPattern(k,this,ak(d),bG,a):e,k.fillRect(0,0,g,h),k.restore(),d.save(),d.transform(...i),d.scale(1,-1),bS(d,j.canvas,0,0,g,h,0,-1,1,1),this.canvasFactory.destroy(j),this.dependencyTracker?.recordBBox(a,d,0,g,0,h),d.restore()}this.compose(),this.dependencyTracker?.recordOperation(a),this.#dI(c)}paintImageXObject(a,b){if(!this.contentVisible)return;let c=this.getObject(a,b);c?this.paintInlineImageXObject(a,c):v("Dependent image isn't ready yet")}paintImageXObjectRepeat(a,b,c,d,e){if(!this.contentVisible)return;let f=this.getObject(a,b);if(!f)return void v("Dependent image isn't ready yet");let g=f.width,h=f.height,i=[];for(let a=0,b=e.length;a<b;a+=2)i.push({transform:[c,0,0,d,e[a],e[a+1]],x:0,y:0,w:g,h:h});this.paintInlineImageXObjectGroup(a,f,i)}applyTransferMapsToCanvas(a){return"none"!==this.current.transferMaps&&(a.filter=this.current.transferMaps,a.drawImage(a.canvas,0,0),a.filter="none"),a.canvas}applyTransferMapsToBitmap(a){if("none"===this.current.transferMaps)return{img:a.bitmap,canvasEntry:null};let{bitmap:b,width:c,height:d}=a,e=this.canvasFactory.create(c,d),f=e.context;return f.filter=this.current.transferMaps,f.drawImage(b,0,0),f.filter="none",{img:e.canvas,canvasEntry:e}}paintInlineImageXObject(a,b){let c;if(!this.contentVisible)return;let d=b.width,e=b.height,f=this.#dH(this.current.fillAlpha),g=this.ctx;this.save(a);let{filter:h}=g;"none"!==h&&""!==h&&(g.filter="none"),g.scale(1/d,-1/e);let i=null;if(b.bitmap){let a=this.applyTransferMapsToBitmap(b);c=a.img,i=a.canvasEntry}else{let a=this.canvasFactory.create(d,e);bU(a.context,b),c=this.applyTransferMapsToCanvas(a.context),i=a}let j=this._scaleImage(c,ak(g));g.imageSmoothingEnabled=bY(aj(g),b.interpolate),this.dependencyTracker&&(this.dependencyTracker.resetBBox(a).recordBBox(a,g,0,d,-e,0).recordDependencies(a,a3).recordOperation(a),this.imagesTracker?.record(g,d,e,this.dependencyTracker.clipBox)),bS(g,j.img,0,0,j.paintWidth,j.paintHeight,0,-e,d,e),j.tmpCanvas&&this.canvasFactory.destroy(j.tmpCanvas),i&&this.canvasFactory.destroy(i),this.compose(),this.restore(a),this.#dI(f)}paintInlineImageXObjectGroup(a,b,c){let d;if(!this.contentVisible)return;let e=this.#dH(this.current.fillAlpha),f=this.ctx,g=null;if(b.bitmap)d=b.bitmap;else{let a=b.width,c=b.height,e=this.canvasFactory.create(a,c);bU(e.context,b),d=this.applyTransferMapsToCanvas(e.context),g=e}for(let b of(this.dependencyTracker?.resetBBox(a),c))f.save(),f.transform(...b.transform),f.scale(1,-1),bS(f,d,b.x,b.y,b.w,b.h,0,-1,1,1),this.dependencyTracker?.recordBBox(a,f,0,1,-1,0),f.restore();g&&this.canvasFactory.destroy(g),this.dependencyTracker?.recordOperation(a),this.compose(),this.#dI(e)}paintSolidColorImageMask(a){if(!this.contentVisible)return;let b=this.#dH(this.current.fillAlpha);this.dependencyTracker?.resetBBox(a).recordBBox(a,this.ctx,0,1,0,1).recordDependencies(a,a2).recordOperation(a),this.ctx.fillRect(0,0,1,1),this.compose(),this.#dI(b)}markPoint(a,b){}markPointProps(a,b,c){}beginMarkedContent(a,b){this.dependencyTracker?.beginMarkedContent(a),this.markedContentStack.push({visible:!0})}beginMarkedContentProps(a,b,c){this.dependencyTracker?.beginMarkedContent(a),"OC"===b?this.markedContentStack.push({visible:this.optionalContentConfig.isVisible(c)}):this.markedContentStack.push({visible:!0}),this.contentVisible=this.isContentVisible()}endMarkedContent(a){this.dependencyTracker?.endMarkedContent(a),this.markedContentStack.pop(),this.contentVisible=this.isContentVisible()}beginCompat(a){}endCompat(a){}consumePath(a,b,c){let d=this.current.isEmptyClip();this.pendingClip&&this.current.updateClipFromPath(),this.pendingClip||this.compose(c);let e=this.ctx;this.pendingClip?(d||(this.pendingClip===b0?e.clip(b,"evenodd"):e.clip(b)),this.pendingClip=null,this.dependencyTracker?.bboxToClipBoxDropOperation(a).recordFutureForcedDependency("clipPath",a)):this.dependencyTracker?.recordOperation(a),this.current.startNewPathAndClipBox(this.current.clipBox)}getSinglePixelWidth(){if(!this._cachedGetSinglePixelWidth){let a=aj(this.ctx);if(0===a[1]&&0===a[2])this._cachedGetSinglePixelWidth=1/Math.min(Math.abs(a[0]),Math.abs(a[3]));else{let b=Math.abs(a[0]*a[3]-a[2]*a[1]),c=Math.hypot(a[0],a[2]),d=Math.hypot(a[1],a[3]);this._cachedGetSinglePixelWidth=Math.max(c,d)/b}}return this._cachedGetSinglePixelWidth}getScaleForStroking(){if(-1===this._cachedScaleForStroking[0]){let a,b,{lineWidth:c}=this.current,{a:d,b:e,c:f,d:g}=this.ctx.getTransform();if(0===e&&0===f){let e=Math.abs(d),f=Math.abs(g);if(e===f)if(0===c)a=b=1/e;else{let d=e*c;a=b=d<1?1/d:1}else if(0===c)a=1/e,b=1/f;else{let d=e*c,g=f*c;a=d<1?1/d:1,b=g<1?1/g:1}}else{let h=Math.abs(d*g-e*f),i=Math.hypot(d,e),j=Math.hypot(f,g);if(0===c)a=j/h,b=i/h;else{let d=c*h;a=j>d?j/d:1,b=i>d?i/d:1}}this._cachedScaleForStroking[0]=a,this._cachedScaleForStroking[1]=b}return this._cachedScaleForStroking}rescaleAndStroke(a,b){let{ctx:c,current:{lineWidth:d}}=this,[e,f]=this.getScaleForStroking();if(e===f){c.lineWidth=(d||1)*e,c.stroke(a);return}let g=c.getLineDash();b&&c.save(),c.scale(e,f),bP.a=1/e,bP.d=1/f;let h=new Path2D;if(h.addPath(a,bP),g.length>0){let a=Math.max(e,f);c.setLineDash(g.map(b=>b/a)),c.lineDashOffset/=a}c.lineWidth=d||1,c.stroke(h),b&&c.restore()}isContentVisible(){for(let a=this.markedContentStack.length-1;a>=0;a--)if(!this.markedContentStack[a].visible)return!1;return!0}}for(let a in r)void 0!==b1.prototype[a]&&(b1.prototype[r[a]]=b1.prototype[a]);class b2{#dL=null;#dM=null;_fullReader=null;_rangeReaders=new Set;_source=null;constructor(a,b,c){this._source=a,this.#dL=b,this.#dM=c}get _progressiveDataLength(){return this._fullReader?._loaded??0}getFullReader(){return x(!this._fullReader,"BasePDFStream.getFullReader can only be called once."),this._fullReader=new this.#dL(this)}getRangeReader(a,b){if(b<=this._progressiveDataLength)return null;let c=new this.#dM(this,a,b);return this._rangeReaders.add(c),c}cancelAllRequests(a){for(let b of(this._fullReader?.cancel(a),new Set(this._rangeReaders)))b.cancel(a)}}class b3{onProgress=null;_contentLength=0;_filename=null;_headersCapability=Promise.withResolvers();_isRangeSupported=!1;_isStreamingSupported=!1;_loaded=0;_stream=null;constructor(a){this._stream=a}_callOnProgress(){this.onProgress?.({loaded:this._loaded,total:this._contentLength})}get headersReady(){return this._headersCapability.promise}get filename(){return this._filename}get contentLength(){return this._contentLength}get isRangeSupported(){return this._isRangeSupported}get isStreamingSupported(){return this._isStreamingSupported}async read(){w("Abstract method `read` called")}cancel(a){w("Abstract method `cancel` called")}}class b4{_stream=null;constructor(a,b,c){this._stream=a}async read(){w("Abstract method `read` called")}cancel(a){w("Abstract method `cancel` called")}}function b5(a,b){let c=new Headers;if(!a||!b||"object"!=typeof b)return c;for(let a in b){let d=b[a];void 0!==d&&c.append(a,d)}return c}function b6(a){return URL.parse(a)?.origin??null}function b7({responseHeaders:a,isHttp:b,rangeChunkSize:c,disableRange:d}){let e={contentLength:0,isRangeSupported:!1},f=parseInt(a.get("Content-Length"),10);return Number.isInteger(f)&&(e.contentLength=f,f<=2*c||d||!b||"bytes"!==a.get("Accept-Ranges")||"identity"===(a.get("Content-Encoding")||"identity")&&(e.isRangeSupported=!0)),e}function b8(a){let b=a.get("Content-Disposition");if(b){let a=function(a){let b=!0,c=d("filename\\*","i").exec(a);if(c){let a=g(c=c[1]);return f(a=i(a=h(a=unescape(a))))}if(c=function(a){let b,c=[],e=d("filename\\*((?!0\\d)\\d+)(\\*?)","ig");for(;null!==(b=e.exec(a));){let[,a,d,e]=b;if((a=parseInt(a,10))in c){if(0===a)break;continue}c[a]=[d,e]}let f=[];for(let a=0;a<c.length&&a in c;++a){let[b,d]=c[a];d=g(d),b&&(d=unescape(d),0===a&&(d=h(d))),f.push(d)}return f.join("")}(a))return f(i(c));if(c=d("filename","i").exec(a)){let a=g(c=c[1]);return f(a=i(a))}function d(a,b){return RegExp("(?:^|;)\\s*"+a+'\\s*=\\s*([^";\\s][^;\\s]*|"(?:[^"\\\\]|\\\\"?)+"?)',b)}function e(a,c){if(a){if(!/^[\x00-\xFF]+$/.test(c))return c;try{let d=new TextDecoder(a,{fatal:!0}),e=J(c);c=d.decode(e),b=!1}catch{}}return c}function f(a){return b&&/[\x80-\xff]/.test(a)&&(a=e("utf-8",a),b&&(a=e("iso-8859-1",a))),a}function g(a){if(a.startsWith('"')){let b=a.slice(1).split('\\"');for(let a=0;a<b.length;++a){let c=b[a].indexOf('"');-1!==c&&(b[a]=b[a].slice(0,c),b.length=a+1),b[a]=b[a].replaceAll(/\\(.)/g,"$1")}a=b.join('"')}return a}function h(a){let b=a.indexOf("'");return -1===b?a:e(a.slice(0,b),a.slice(b+1).replace(/^[^']*'/,""))}function i(a){return!a.startsWith("=?")||/[\x00-\x19\x80-\xff]/.test(a)?a:a.replaceAll(/=\?([\w-]*)\?([QB])\?((?:[^?]|\?(?!=))*)\?=/gi,function(a,b,c,d){if("q"===c||"Q"===c)return e(b,d=(d=d.replaceAll("_"," ")).replaceAll(/=([0-9a-f]{2})/gi,function(a,b){return String.fromCharCode(parseInt(b,16))}));try{d=atob(d)}catch{}return e(b,d)})}return""}(b);if(a.includes("%"))try{a=decodeURIComponent(a)}catch{}if(_(a))return a}return null}function b9(a,b){return new G(`Unexpected server response (${a}) while retrieving PDF "${b.href}".`,a,404===a||0===a&&"file:"===b.protocol)}function ca(a,b){if(a!==b)throw Error(`Expected range response-origin "${a}" to match "${b}".`)}function cb(a,b,c,d){return fetch(a,{method:"GET",headers:b,signal:d.signal,mode:"cors",credentials:c?"include":"same-origin",redirect:"follow"})}function cc(a,b){if(200!==a&&206!==a)throw b9(a,b)}function cd(a){if(a instanceof Uint8Array)return a.buffer;if(a instanceof ArrayBuffer)return a;throw Error(`getArrayBuffer - unexpected data: ${a}`)}class ce extends b2{_responseOrigin=null;constructor(a){super(a,cf,cg);const{httpHeaders:b,url:c}=a;x(/https?:/.test(c.protocol),"PDFFetchStream only supports http(s):// URLs."),this.headers=b5(!0,b)}}class cf extends b3{_abortController=new AbortController;_reader=null;constructor(a){super(a);const{disableRange:b,disableStream:c,rangeChunkSize:d,url:e,withCredentials:f}=a._source;this._isStreamingSupported=!c,cb(e,new Headers(a.headers),f,this._abortController).then(c=>{a._responseOrigin=b6(c.url),cc(c.status,e),this._reader=c.body.getReader();let f=c.headers,{contentLength:g,isRangeSupported:h}=b7({responseHeaders:f,isHttp:!0,rangeChunkSize:d,disableRange:b});this._contentLength=g,this._isRangeSupported=h,this._filename=b8(f),!this._isStreamingSupported&&this._isRangeSupported&&this.cancel(new I("Streaming is disabled.")),this._headersCapability.resolve()}).catch(this._headersCapability.reject)}async read(){await this._headersCapability.promise;let{value:a,done:b}=await this._reader.read();return b?{value:a,done:b}:(this._loaded+=a.byteLength,this._callOnProgress(),{value:cd(a),done:!1})}cancel(a){this._reader?.cancel(a),this._abortController.abort()}}class cg extends b4{_abortController=new AbortController;_readCapability=Promise.withResolvers();_reader=null;constructor(a,b,c){super(a,b,c);const{url:d,withCredentials:e}=a._source,f=new Headers(a.headers);f.append("Range",`bytes=${b}-${c-1}`),cb(d,f,e,this._abortController).then(b=>{ca(b6(b.url),a._responseOrigin),cc(b.status,d),this._reader=b.body.getReader(),this._readCapability.resolve()}).catch(this._readCapability.reject)}async read(){await this._readCapability.promise;let{value:a,done:b}=await this._reader.read();return b?{value:a,done:b}:{value:cd(a),done:!1}}cancel(a){this._reader?.cancel(a),this._abortController.abort()}}function ch(a){return a instanceof Uint8Array&&a.byteLength===a.buffer.byteLength?a.buffer:new Uint8Array(a).buffer}function ci(){for(let a of this._requests)a.resolve({value:void 0,done:!0});this._requests.length=0}class cj extends b2{_progressiveDone=!1;_queuedChunks=[];constructor(a){super(a,ck,cl);const{pdfDataRangeTransport:b}=a,{initialData:c,progressiveDone:d}=b;if(c?.length>0){const a=ch(c);this._queuedChunks.push(a)}this._progressiveDone=d;const e=a=>{switch(a.type){case"range":case"progressiveRead":this.#dN(a.begin,a.chunk);break;case"progressiveDone":this._fullReader?.progressiveDone(),this._progressiveDone=!0}};b.transportReady(e)}#dN(a,b){let c=ch(b);if(void 0===a)this._fullReader?this._fullReader._enqueue(c):this._queuedChunks.push(c);else{let b=this._rangeReaders.keys().find(b=>b._begin===a);x(b,"#onReceiveData - no `PDFDataTransportStreamRangeReader` instance found."),b._enqueue(c)}}getFullReader(){let a=super.getFullReader();return this._queuedChunks=null,a}getRangeReader(a,b){let c=super.getRangeReader(a,b);return c&&(c.onDone=()=>this._rangeReaders.delete(c),this._source.pdfDataRangeTransport.requestDataRange(a,b)),c}cancelAllRequests(a){super.cancelAllRequests(a),this._source.pdfDataRangeTransport.abort()}}class ck extends b3{#dO=ci.bind(this);_done=!1;_queuedChunks=null;_requests=[];constructor(a){super(a);const{pdfDataRangeTransport:b,disableRange:c,disableStream:d}=a._source,{length:e,contentDispositionFilename:f}=b;for(const b of(this._queuedChunks=a._queuedChunks||[],this._queuedChunks))this._loaded+=b.byteLength;this._done=a._progressiveDone,this._contentLength=e,this._isStreamingSupported=!d,this._isRangeSupported=!c,_(f)&&(this._filename=f),this._headersCapability.resolve();const g=this._loaded;Promise.resolve().then(()=>{g>0&&this._loaded===g&&this._callOnProgress()})}_enqueue(a){this._done||(this._requests.length>0?this._requests.shift().resolve({value:a,done:!1}):this._queuedChunks.push(a),this._loaded+=a.byteLength,this._callOnProgress())}async read(){if(this._queuedChunks.length>0)return{value:this._queuedChunks.shift(),done:!1};if(this._done)return{value:void 0,done:!0};let a=Promise.withResolvers();return this._requests.push(a),a.promise}cancel(a){this._done=!0,this.#dO()}progressiveDone(){this._done||=!0,0===this._queuedChunks.length&&this.#dO()}}class cl extends b4{#dO=ci.bind(this);onDone=null;_begin=-1;_done=!1;_queuedChunk=null;_requests=[];constructor(a,b,c){super(a,b,c),this._begin=b}_enqueue(a){this._done||(0===this._requests.length?this._queuedChunk=a:(this._requests.shift().resolve({value:a,done:!1}),this.#dO()),this._done=!0,this.onDone?.())}async read(){if(this._queuedChunk){let a=this._queuedChunk;return this._queuedChunk=null,{value:a,done:!1}}if(this._done)return{value:void 0,done:!0};let a=Promise.withResolvers();return this._requests.push(a),a.promise}cancel(a){this._done=!0,this.#dO(),this.onDone?.()}}class cm extends b2{#dP=new WeakMap;_responseOrigin=null;constructor(a){super(a,cn,co);const{httpHeaders:b,url:c}=a;this.url=c,this.isHttp=/https?:/.test(c.protocol),this.headers=b5(this.isHttp,b)}_request(a){let b=new XMLHttpRequest,c={validateStatus:null,onHeadersReceived:a.onHeadersReceived,onDone:a.onDone,onError:a.onError,onProgress:a.onProgress};for(let[a,d]of(this.#dP.set(b,c),b.open("GET",this.url),b.withCredentials=this._source.withCredentials,this.headers))b.setRequestHeader(a,d);return this.isHttp&&"begin"in a&&"end"in a?(b.setRequestHeader("Range",`bytes=${a.begin}-${a.end-1}`),c.validateStatus=a=>206===a||200===a):c.validateStatus=a=>200===a,b.responseType="arraybuffer",x(a.onError,"Expected `onError` callback to be provided."),b.onerror=()=>a.onError(b.status),b.onreadystatechange=this.#dQ.bind(this,b),b.onprogress=this.#dR.bind(this,b),b.send(null),b}#dR(a,b){let c=this.#dP.get(a);c?.onProgress?.(b)}#dQ(a,b){var c;let d=this.#dP.get(a);if(!d||(a.readyState>=2&&d.onHeadersReceived&&(d.onHeadersReceived(),delete d.onHeadersReceived),4!==a.readyState||!this.#dP.has(a)))return;if(this.#dP.delete(a),0===a.status&&this.isHttp)return void d.onError(a.status);let e=a.status||200;if(!d.validateStatus(e))return void d.onError(a.status);let f="string"!=typeof(c=a.response)?c:J(c).buffer;if(206===e){let b=a.getResponseHeader("Content-Range");/bytes \d+-\d+\/\d+/.test(b)?d.onDone(f):(v('Missing or invalid "Content-Range" header.'),d.onError(0))}else f?d.onDone(f):d.onError(a.status)}_abortRequest(a){this.#dP.has(a)&&(this.#dP.delete(a),a.abort())}getRangeReader(a,b){let c=super.getRangeReader(a,b);return c&&(c.onClosed=()=>this._rangeReaders.delete(c)),c}}class cn extends b3{#dO=ci.bind(this);_cachedChunks=[];_done=!1;_requests=[];_storedError=null;constructor(a){super(a),this._fullRequestXhr=a._request({onHeadersReceived:this.#dS.bind(this),onDone:this.#dT.bind(this),onError:this.#dU.bind(this),onProgress:this.#dR.bind(this)})}#dS(){let a=this._stream,{disableRange:b,rangeChunkSize:c}=a._source,d=this._fullRequestXhr;a._responseOrigin=b6(d.responseURL);let e=d.getAllResponseHeaders(),f=new Headers(e?e.trimStart().replace(/[^\S ]+$/,"").split(/[\r\n]+/).map(a=>{let[b,...c]=a.split(": ");return[b,c.join(": ")]}):[]),{contentLength:g,isRangeSupported:h}=b7({responseHeaders:f,isHttp:a.isHttp,rangeChunkSize:c,disableRange:b});this._contentLength=g,this._isRangeSupported=h,this._filename=b8(f),this._isRangeSupported&&a._abortRequest(d),this._headersCapability.resolve()}#dT(a){this._requests.length>0?this._requests.shift().resolve({value:a,done:!1}):this._cachedChunks.push(a),this._done=!0,0===this._cachedChunks.length&&this.#dO()}#dU(a){for(let b of(this._storedError=b9(a,this._stream.url),this._headersCapability.reject(this._storedError),this._requests))b.reject(this._storedError);this._requests.length=0,this._cachedChunks.length=0}#dR(a){this.onProgress?.({loaded:a.loaded,total:a.lengthComputable?a.total:this._contentLength})}async read(){if(await this._headersCapability.promise,this._storedError)throw this._storedError;if(this._cachedChunks.length>0)return{value:this._cachedChunks.shift(),done:!1};if(this._done)return{value:void 0,done:!0};let a=Promise.withResolvers();return this._requests.push(a),a.promise}cancel(a){this._done=!0,this._headersCapability.reject(a),this.#dO(),this._stream._abortRequest(this._fullRequestXhr),this._fullRequestXhr=null}}class co extends b4{#dO=ci.bind(this);onClosed=null;_done=!1;_queuedChunk=null;_requests=[];_storedError=null;constructor(a,b,c){super(a,b,c),this._requestXhr=a._request({begin:b,end:c,onHeadersReceived:this.#dS.bind(this),onDone:this.#dT.bind(this),onError:this.#dU.bind(this),onProgress:null})}#dS(){let a=b6(this._requestXhr?.responseURL);try{ca(a,this._stream._responseOrigin)}catch(a){this._storedError=a,this.#dU(0)}}#dT(a){this._requests.length>0?this._requests.shift().resolve({value:a,done:!1}):this._queuedChunk=a,this._done=!0,this.#dO(),this.onClosed?.()}#dU(a){for(let b of(this._storedError??=b9(a,this._stream.url),this._requests))b.reject(this._storedError);this._requests.length=0,this._queuedChunk=null}async read(){if(this._storedError)throw this._storedError;if(null!==this._queuedChunk){let a=this._queuedChunk;return this._queuedChunk=null,{value:a,done:!1}}if(this._done)return{value:void 0,done:!0};let a=Promise.withResolvers();return this._requests.push(a),a.promise}cancel(a){this._done=!0,this.#dO(),this._stream._abortRequest(this._requestXhr),this.onClosed?.()}}function cp(a,b=null){let c=process.getBuiltinModule("fs"),{Readable:d}=process.getBuiltinModule("stream"),e=c.createReadStream(a,b);return d.toWeb(e)}class cq extends b2{constructor(a){super(a,cr,cs);const{url:b}=a;x("file:"===b.protocol,"PDFNodeStream only supports file:// URLs.")}}class cr extends b3{_reader=null;constructor(a){super(a);const{disableRange:b,disableStream:c,rangeChunkSize:d,url:e}=a._source;this._isStreamingSupported=!c,process.getBuiltinModule("fs/promises").lstat(e).then(a=>{let c=cp(e);this._reader=c.getReader();let{size:f}=a;this._contentLength=f,this._isRangeSupported=!b&&f>2*d,!this._isStreamingSupported&&this._isRangeSupported&&this.cancel(new I("Streaming is disabled.")),this._headersCapability.resolve()}).catch(a=>{"ENOENT"===a.code&&(a=b9(0,e)),this._headersCapability.reject(a)})}async read(){await this._headersCapability.promise;let{value:a,done:b}=await this._reader.read();return b?{value:a,done:b}:(this._loaded+=a.byteLength,this._callOnProgress(),{value:cd(a),done:!1})}cancel(a){this._reader?.cancel(a)}}class cs extends b4{_readCapability=Promise.withResolvers();_reader=null;constructor(a,b,c){super(a,b,c);const{url:d}=a._source;try{const a=cp(d,{start:b,end:c-1});this._reader=a.getReader(),this._readCapability.resolve()}catch(a){this._readCapability.reject(a)}}async read(){await this._readCapability.promise;let{value:a,done:b}=await this._reader.read();return b?{value:a,done:b}:{value:cd(a),done:!1}}cancel(a){this._reader?.cancel(a)}}class ct{static #dV=null;static #dW="";static get workerPort(){return this.#dV}static set workerPort(a){if(!("u">typeof Worker&&a instanceof Worker)&&null!==a)throw Error("Invalid `workerPort` type.");this.#dV=a}static get workerSrc(){return this.#dW}static set workerSrc(a){if("string"!=typeof a)throw Error("Invalid `workerSrc` type.");this.#dW=a}}class cu{#dX;#dY;constructor({parsedData:a,rawData:b}){this.#dX=a,this.#dY=b}getRaw(){return this.#dY}get(a){return this.#dX.get(a)??null}[Symbol.iterator](){return this.#dX.entries()}}let cv=Symbol("INTERNAL");class cw{#dZ=!1;#d$=!1;#d_=!1;#d0=!0;constructor(a,{name:b,intent:c,usage:d,rbGroups:e}){this.#dZ=!!(2&a),this.#d$=!!(4&a),this.name=b,this.intent=c,this.usage=d,this.rbGroups=e}get visible(){if(this.#d_)return this.#d0;if(!this.#d0)return!1;let{print:a,view:b}=this.usage;return this.#dZ?b?.viewState!=="OFF":!this.#d$||a?.printState!=="OFF"}_setVisible(a,b,c=!1){a!==cv&&w("Internal method `_setVisible` called."),this.#d_=c,this.#d0=b}get serializable(){return{userSet:this.#d_,visible:this.#d0}}}class cx{#d1=null;#d2=new Map;#d3=null;#d4=null;#d5;creator=null;name=null;constructor(a,b=2,c=null){if(this.#d5=a,this.renderingIntent=b,null===a)return;for(const c of(this.name=a.name,this.creator=a.creator,this.#d4=a.order,a.groups))this.#d2.set(c.id,new cw(b,c));if(c)for(const[a,b]of(c.size!==this.#d2.size&&w("Incorrect serialized groupState."),c))this.#d2.get(a)._setVisible(cv,b.visible,b.userSet);else{if("OFF"===a.baseState)for(const a of this.#d2.values())a._setVisible(cv,!1);for(const b of a.on)this.#d2.get(b)._setVisible(cv,!0);for(const b of a.off)this.#d2.get(b)._setVisible(cv,!1)}this.#d3=this.getHash()}#d6(a){let b=a.length;if(b<2)return!0;let c=a[0];for(let d=1;d<b;d++){let b,e=a[d];if(Array.isArray(e))b=this.#d6(e);else{if(!this.#d2.has(e))return v(`Optional content group not found: ${e}`),!0;b=this.#d2.get(e).visible}switch(c){case"And":if(!b)return!1;break;case"Or":if(b)return!0;break;case"Not":return!b;default:return!0}}return"And"===c}isVisible(a){if(0===this.#d2.size)return!0;if(!a)return u("Optional content group not defined."),!0;if("OCG"===a.type)return this.#d2.has(a.id)?this.#d2.get(a.id).visible:(v(`Optional content group not found: ${a.id}`),!0);if("OCMD"===a.type){if(a.expression)return this.#d6(a.expression);if(a.policy&&"AnyOn"!==a.policy){if("AllOn"===a.policy){for(let b of a.ids){if(!this.#d2.has(b)){v(`Optional content group not found: ${b}`);break}if(!this.#d2.get(b).visible)return!1}return!0}else if("AnyOff"===a.policy){for(let b of a.ids){if(!this.#d2.has(b))return v(`Optional content group not found: ${b}`),!0;if(!this.#d2.get(b).visible)return!0}return!1}else if("AllOff"===a.policy){for(let b of a.ids){if(!this.#d2.has(b)){v(`Optional content group not found: ${b}`);break}if(this.#d2.get(b).visible)return!1}return!0}}else{for(let b of a.ids){if(!this.#d2.has(b))return v(`Optional content group not found: ${b}`),!0;if(this.#d2.get(b).visible)return!0}return!1}return v(`Unknown optional content policy ${a.policy}.`),!0}return v(`Unknown group type ${a.type}.`),!0}setVisibility(a,b=!0,c=!0){let d=this.#d2.get(a);if(!d)return void v(`Optional content group not found: ${a}`);if(c&&b&&d.rbGroups.length)for(let b of d.rbGroups)for(let c of b)c!==a&&this.#d2.get(c)?._setVisible(cv,!1,!0);d._setVisible(cv,!!b,!0),this.#d1=null}setOCGState({state:a,preserveRB:b}){let c;for(let d of a){switch(d){case"ON":case"OFF":case"Toggle":c=d;continue}let a=this.#d2.get(d);if(a)switch(c){case"ON":this.setVisibility(d,!0,b);break;case"OFF":this.setVisibility(d,!1,b);break;case"Toggle":this.setVisibility(d,!a.visible,b)}}this.#d1=null}get hasInitialVisibility(){return null===this.#d3||this.getHash()===this.#d3}getOrder(){return this.#d2.size?this.#d4?this.#d4.slice():[...this.#d2.keys()]:null}getGroup(a){return this.#d2.get(a)||null}getHash(){if(null!==this.#d1)return this.#d1;let a=new aP;for(let[b,c]of this.#d2)a.update(`${b}:${c.visible}`);return this.#d1=a.hexdigest()}[Symbol.iterator](){return this.#d2.entries()}get serializable(){let a=new Map;for(let[b,c]of this.#d2)a.set(b,c.serializable);return{data:this.#d5,renderingIntent:this.renderingIntent,groupState:a}}static fromSerializable({data:a,renderingIntent:b,groupState:c}){return new cx(a,b,c)}}class cy{#d7=null;#d8=null;#d9=0;#ea=null;#eb=null;get pagesNumber(){return this.#d9}set pagesNumber(a){this.#d9!==a&&(this.#d9=a,this.#d7=null,this.#d8=null)}#ec(){if(this.#d7)return;let a=this.#d9,b=this.#d7=new Uint32Array(a);for(let c=0;c<a;c++)b[c]=c+1;this.#d8=new Int32Array(b)}#ed(){let a=new Map,b=this.#d7;for(let c=0,d=this.#d9;c<d;c++){let d=b[c],e=a.get(d);e?e.push(c+1):a.set(d,[c+1])}return a}movePages(a,b,c){this.#ec();let d=this.#d7,e=this.#ed(),f=b.length,g=new Uint32Array(f),h=0;for(let a=0;a<f;a++){let e=b[a]-1;g[a]=d[e],e<c&&h++}let i=this.#d9,j=i-f,k=T(c-h,0,j);for(let b=0,c=0;b<i;b++)a.has(b+1)||(d[c++]=d[b]);d.copyWithin(k+f,k,j),d.set(g,k),this.#ee(e),d.every((a,b)=>a===b+1)&&(this.#d7=null)}deletePages(a){this.#ec();let b=this.#d7,c=this.#ed();this.#eb={pageNumberToId:b.slice(),pagesNumber:this.#d9,prevPageNumbers:this.#d8.slice()};let d=this.#d9-a.length;this.#d9=d;let e=this.#d7=new Uint32Array(d);this.#d8=new Int32Array(d);let f=0,g=0;for(let c of a){let a=c-1;a!==f&&(e.set(b.subarray(f,a),g),g+=a-f),f=a+1}f<b.length&&e.set(b.subarray(f),g),this.#ee(c,new Set(a))}cancelDelete(){this.#eb&&(this.#d7=this.#eb.pageNumberToId,this.#d9=this.#eb.pagesNumber,this.#d8=this.#eb.prevPageNumbers,this.#eb=null)}cleanSavedData(){this.#eb=null}copyPages(a){this.#ec(),this.#ea={pageNumbers:a,pageIds:a.map(a=>this.#d7[a-1])}}cancelCopy(){this.#ea=null}pastePages(a){this.#ec();let b=this.#d7,c=this.#ed(),{pageNumbers:d,pageIds:e}=this.#ea,f=this.#d9+d.length;this.#d9=f;let g=this.#d7=new Uint32Array(f);this.#d8=new Int32Array(f),g.set(b.subarray(0,a),0),g.set(e,a),g.set(b.subarray(a),a+d.length),this.#ee(c,null,a,d),this.#ea=null}#ee(a,b=null,c=-1,d=null){let e=this.#d8,f=this.#d7,g=c+(d?.length??0),h=new Map;for(let i=0,j=this.#d9;i<j;i++){if(i>=c&&i<g){e[i]=-d[i-c];continue}let j=f[i],k=a.get(j),l=h.get(j)||0;if(b&&k)for(;l<k.length&&b.has(k[l]);)l++;e[i]=k?.[l],h.set(j,l+1)}}hasBeenAltered(){return null!==this.#d7}getPageMappingForSaving(a=null){a??=this.#ed();let b=0;for(let c of a.values())b=Math.max(b,c.length);let c=Array(b);for(let a=0;a<b;a++)c[a]={document:null,pageIndices:[],includePages:[]};for(let[b,d]of a)for(let a=0,e=d.length;a<e;a++)c[a].includePages.push([b-1,d[a]-1]);for(let{includePages:a,pageIndices:b}of c){a.sort((a,b)=>a[0]-b[0]);for(let c=0,d=a.length;c<d;c++)b.push(a[c][1]),a[c]=a[c][0]}return c}extractPages(a){a=Array.from(a).sort((a,b)=>a-b);let b=new Map;for(let c=0,d=a.length;c<d;c++){let d=this.getPageId(a[c]);b.getOrInsertComputed(d,Q).push(c+1)}return this.getPageMappingForSaving(b)}getPrevPageNumber(a){return this.#d8?.[a-1]??0}getPageNumber(a){if(!this.#d7)return a;let b=this.#d7;for(let c=0,d=this.#d9;c<d;c++)if(b[c]===a)return c+1;return 0}getPageId(a){return this.#d7?.[a-1]??a}getMapping(){return this.#d7?.subarray(0,this.pagesNumber)}}let cz=Symbol("INITIAL_DATA"),cA=()=>({...Promise.withResolvers(),data:cz});class cB{#ef=new Map;get(a,b=null){if(b){let c=this.#ef.getOrInsertComputed(a,cA);return c.promise.then(()=>b(c.data)),null}let c=this.#ef.get(a);if(!c||c.data===cz)throw Error(`Requesting object that isn't resolved yet ${a}.`);return c.data}has(a){let b=this.#ef.get(a);return!!b&&b.data!==cz}delete(a){let b=this.#ef.get(a);return!!b&&b.data!==cz&&(this.#ef.delete(a),!0)}resolve(a,b=null){let c=this.#ef.getOrInsertComputed(a,cA);if(c.data!==cz)throw Error(`Object already resolved ${a}.`);c.data=b,c.resolve()}clear(){for(let{data:a}of this.#ef.values())a?.bitmap?.close();this.#ef.clear()}*[Symbol.iterator](){for(let[a,{data:b}]of this.#ef)b!==cz&&(yield[a,b])}}class cC{#eg=Promise.withResolvers();#aC=null;#eh=!1;#ei=!!globalThis.FontInspector?.enabled;#ej=null;#ek=null;#el=null;#em=0;#en=0;#eo=null;#ep=null;#eq=0;#er=0;#es=Object.create(null);#et=[];#eu=null;#ev=[];#ew=new WeakMap;#ex=null;static #ey=new Map;static #ez=new Map;static #eA=new WeakMap;static #eB=null;static #eC=new Set;constructor({textContentSource:a,images:b,container:c,viewport:d}){if(a instanceof ReadableStream)this.#eu=a;else if("object"==typeof a)this.#eu=new ReadableStream({start(b){b.enqueue(a),b.close()}});else throw Error('No "textContentSource" parameter specified.');this.#aC=this.#ep=c,this.#ej=b,this.#er=d.scale*am.pixelRatio,this.#eq=d.rotation,this.#el={div:null,properties:null,ctx:null};const{pageWidth:e,pageHeight:f,pageX:g,pageY:h}=d.rawDims;this.#ex=[1,0,0,-1,-g,h+f],this.#en=e,this.#em=f,cC.#eD(),c.style.setProperty("--min-font-size",cC.#eB),al(c,d),this.#eg.promise.finally(()=>{cC.#eC.delete(this),this.#el=null,this.#es=null}).catch(()=>{})}static get fontFamilyMap(){let{isWindows:a,isFirefox:b}=K.platform;return B(this,"fontFamilyMap",new Map([["sans-serif",`${a&&b?"Calibri, ":""}sans-serif`],["monospace",`${a&&b?"Lucida Console, ":""}monospace`]]))}render(){this.#ej&&this.#aC.append(this.#ej.render());let a=()=>{this.#eo.read().then(({value:b,done:c})=>{c?this.#eg.resolve():(this.#ek??=b.lang,Object.assign(this.#es,b.styles),this.#eE(b.items),a())},this.#eg.reject)};return this.#eo=this.#eu.getReader(),cC.#eC.add(this),a(),this.#eg.promise}update({viewport:a,onBefore:b=null}){let c=a.scale*am.pixelRatio,d=a.rotation;if(d!==this.#eq&&(b?.(),this.#eq=d,al(this.#ep,{rotation:d})),c!==this.#er){b?.(),this.#er=c;let a={div:null,properties:null,ctx:cC.#eF(this.#ek)};for(let b of this.#ev)a.properties=this.#ew.get(b),a.div=b,this.#eG(a)}}cancel(){let a=new I("TextLayer task cancelled.");this.#eo?.cancel(a).catch(()=>{}),this.#eo=null,this.#eg.reject(a)}get textDivs(){return this.#ev}get textContentItemsStr(){return this.#et}#eE(a){if(this.#eh)return;this.#el.ctx??=cC.#eF(this.#ek);let b=this.#ev,c=this.#et;for(let d of a){if(b.length>1e5){v("Ignoring additional textDivs for performance reasons."),this.#eh=!0;return}if(void 0===d.str){if("beginMarkedContentProps"===d.type||"beginMarkedContent"===d.type){let a=this.#aC;this.#aC=document.createElement("span"),this.#aC.classList.add("markedContent"),d.id&&this.#aC.setAttribute("id",`${d.id}`),"Artifact"===d.tag&&(this.#aC.ariaHidden=!0),a.append(this.#aC)}else"endMarkedContent"===d.type&&(this.#aC=this.#aC.parentNode);continue}c.push(d.str),this.#eH(d)}}#eH(a){let b,c,d=document.createElement("span"),e={angle:0,canvasWidth:0,hasText:""!==a.str,hasEOL:a.hasEOL,fontSize:0};this.#ev.push(d);let f=L.transform(this.#ex,a.transform),g=Math.atan2(f[1],f[0]),h=this.#es[a.fontName];h.vertical&&(g+=Math.PI/2);let i=this.#ei&&h.fontSubstitution||h.fontFamily;i=cC.fontFamilyMap.get(i)||i;let j=Math.hypot(f[2],f[3]),k=j*cC.#eI(i,h,this.#ek);0===g?(b=f[4],c=f[5]-k):(b=f[4]+k*Math.sin(g),c=f[5]-k*Math.cos(g));let l=d.style;l.left=`${(100*b/this.#en).toFixed(2)}%`,l.top=`${(100*c/this.#em).toFixed(2)}%`,l.setProperty("--font-height",`${j.toFixed(2)}px`),l.fontFamily=i,e.fontSize=j,d.setAttribute("role","presentation"),d.textContent=a.str,d.dir=a.dir,this.#ei&&(d.dataset.fontName=h.fontSubstitutionLoadedName||a.fontName),0!==g&&(e.angle=180/Math.PI*g);let m=!1;if(a.str.length>1)m=!0;else if(" "!==a.str&&a.transform[0]!==a.transform[3]){let b=Math.abs(a.transform[0]),c=Math.abs(a.transform[3]);b!==c&&Math.max(b,c)/Math.min(b,c)>1.5&&(m=!0)}if(m&&(e.canvasWidth=h.vertical?a.height:a.width),this.#ew.set(d,e),this.#el.div=d,this.#el.properties=e,this.#eG(this.#el),e.hasText&&this.#aC.append(d),e.hasEOL){let a=document.createElement("br");a.setAttribute("role","presentation"),this.#aC.append(a)}}#eG(a){let{div:b,properties:c,ctx:d}=a,{style:e}=b;if(0!==c.canvasWidth&&c.hasText){let{fontFamily:a}=e,{canvasWidth:f,fontSize:g}=c;cC.#eJ(d,g*this.#er,a);let{width:h}=d.measureText(b.textContent);h>0&&e.setProperty("--scale-x",f*this.#er/h)}0!==c.angle&&e.setProperty("--rotate",`${c.angle}deg`)}static cleanup(){if(!(this.#eC.size>0)){for(let{canvas:a}of(this.#ey.clear(),this.#ez.values()))a.remove();this.#ez.clear()}}static #eF(a=null){let b=this.#ez.get(a||="");if(!b){let c=document.createElement("canvas");c.style.cssText="position:absolute;top:0;left:0;width:0;height:0;display:none;letter-spacing:normal;word-spacing:normal",c.lang=a,document.body.append(c),b=c.getContext("2d",{alpha:!1,willReadFrequently:!0}),this.#ez.set(a,b),this.#eA.set(b,{size:0,family:""})}return b}static #eJ(a,b,c){let d=this.#eA.get(a);(b!==d.size||c!==d.family)&&(a.font=`${b}px ${c}`,d.size=b,d.family=c)}static #eD(){if(null!==this.#eB)return;let a=document.createElement("div");a.style.opacity=0,a.style.lineHeight=1,a.style.fontSize="1px",a.style.position="absolute",a.textContent="X",document.body.append(a),this.#eB=a.getBoundingClientRect().height,a.remove()}static #eI(a,b,c){let d=this.#ey.get(a);if(d)return d;let e=this.#eF(c);e.canvas.width=e.canvas.height=30,this.#eJ(e,30,a);let f=e.measureText(""),g=f.fontBoundingBoxAscent,h=Math.abs(f.fontBoundingBoxDescent);e.canvas.width=e.canvas.height=0;let i=.8;return g?i=g/(g+h):(K.platform.isFirefox&&v("Enable the `dom.textMetrics.fontBoundingBox.enabled` preference in `about:config` to improve TextLayer rendering."),b.ascent?i=b.ascent:b.descent&&(i=1+b.descent)),this.#ey.set(a,i),i}}function cD(a={}){let b=new cE,{docId:c}=b,e=a.url?function(a){if(a instanceof URL)return a;if("string"==typeof a){if(d)return new URL(/^[a-z][a-z0-9\-+.]+:/i.test(a)?a:process.getBuiltinModule("url").pathToFileURL(a));let b=URL.parse(a,window.location);if(b)return b}throw Error("Invalid PDF url data: either string or URL-object is expected in the url property.")}(a.url):null,f=a.data?function(a){if(d&&"u">typeof Buffer&&a instanceof Buffer)throw Error("Please provide binary data as `Uint8Array`, rather than `Buffer`.");if(a instanceof Uint8Array&&a.byteLength===a.buffer.byteLength)return a;if("string"==typeof a)return J(a);if(a instanceof ArrayBuffer||ArrayBuffer.isView(a)||"object"==typeof a&&!isNaN(a?.length))return new Uint8Array(a);throw Error("Invalid PDF binary data: either TypedArray, string, or array-like object is expected in the data property.")}(a.data):null,g=a.httpHeaders||null,h=!0===a.withCredentials,i=a.password??null,j=a.range instanceof cF?a.range:null,k=Number.isInteger(a.rangeChunkSize)&&a.rangeChunkSize>0?a.rangeChunkSize:65536,l=a.worker instanceof cI?a.worker:null,m=a.verbosity,n="string"!=typeof a.docBaseUrl||$(a.docBaseUrl)?null:a.docBaseUrl,o=bk(a.cMapUrl),p=!1!==a.cMapPacked,q=bk(a.iccUrl),r=bk(a.standardFontDataUrl),s=bk(a.wasmUrl),u=!0!==a.stopAtErrors,v=Number.isInteger(a.maxImageSize)&&a.maxImageSize>-1?a.maxImageSize:-1,w="boolean"==typeof a.isOffscreenCanvasSupported?a.isOffscreenCanvasSupported:!d,x="boolean"==typeof a.isImageDecoderSupported?a.isImageDecoderSupported:!d,y=Number.isInteger(a.canvasMaxAreaInBytes)?a.canvasMaxAreaInBytes:-1,z="boolean"==typeof a.disableFontFace?a.disableFontFace:d,A=!0===a.fontExtraProperties,B=!0===a.enableXfa,C=a.ownerDocument||globalThis.document,D=!0===a.disableRange,E=!0===a.disableStream,F=!0===a.disableAutoFetch,G=!0===a.pdfBug,H=a.CanvasFactory||(d?bA:bu),I=a.FilterFactory||(d?bz:bw),K=a.BinaryDataFactory||(d?bB:bs),L=!0===a.enableHWA,M=!0===a.enableWebGPU?bF.init():Promise.resolve(!1),N=!1!==a.useWasm,O=a.pagesMapper||new cy,P="boolean"==typeof a.useSystemFonts?a.useSystemFonts:!d&&!z,Q="boolean"==typeof a.useWorkerFetch?a.useWorkerFetch:!!(K===bs&&o&&p&&r&&s&&ad(o,document.baseURI)&&ad(r,document.baseURI)&&ad(s,document.baseURI));Number.isInteger(m)&&(t=m);let R={canvasFactory:new H({ownerDocument:C,enableHWA:L}),filterFactory:new I({docId:c,ownerDocument:C}),binaryDataFactory:Q?null:new K({cMapUrl:o,standardFontDataUrl:r,wasmUrl:s})};l||(b._worker=l=cI.create({verbosity:m,port:ct.workerPort}));let S={docId:c,apiVersion:"6.1.200",data:f,password:i,disableAutoFetch:F,rangeChunkSize:k,docBaseUrl:n,enableXfa:B,evaluatorOptions:{maxImageSize:v,disableFontFace:z,ignoreErrors:u,isOffscreenCanvasSupported:w,isImageDecoderSupported:x,canvasMaxAreaInBytes:y,fontExtraProperties:A,useSystemFonts:P,useWasm:N,useWorkerFetch:Q,cMapUrl:o,cMapPacked:p,iccUrl:q,standardFontDataUrl:r,wasmUrl:s,hasGPU:!1}},T={ownerDocument:C,pdfBug:G,styleElement:null,enableHWA:L,loadingParams:{disableAutoFetch:F,enableXfa:B}};return Promise.all([l.promise,M]).then(function([,a]){let i;if(l.destroyed)throw Error("Worker was destroyed");S.evaluatorOptions.hasGPU=a;let m=l.messageHandler.sendWithPromise("GetDocRequest",S,f?[f.buffer]:null);if(f);else if(j)i=new cj({pdfDataRangeTransport:j,disableRange:D,disableStream:E});else if(e)i=new(ad(e)?ce:d?cq:cm)({url:e,httpHeaders:g,withCredentials:h,rangeChunkSize:k,disableRange:D,disableStream:E});else throw Error("getDocument - expected either `data`, `range`, or `url` parameter.");return m.then(a=>{if(l.destroyed)throw Error("Worker was destroyed");let d=new bq(c,a,l.port),e=new cJ(d,b,i,T,R,O);if(b._transport=e,b.destroyed)throw Error("Loading aborted");d.send("Ready",null)})}).catch(b._capability.reject).finally(b._setupCapability.resolve),b}class cE{static #c5=0;_capability=Promise.withResolvers();_setupCapability=Promise.withResolvers();_transport=null;_worker=null;docId=`d${cE.#c5++}`;destroyed=!1;onPassword=null;onProgress=null;get promise(){return this._capability.promise}async destroy(){this.destroyed=!0,this._capability.promise.catch(()=>{});try{this._worker?.port&&(this._worker._pendingDestroy=!0),await this._setupCapability.promise,await this._transport?.destroy()}catch(a){throw this._worker?.port&&delete this._worker._pendingDestroy,a}this._transport=null,this._worker?.destroy(),this._worker=null}async getData(){return this._transport.getData()}}class cF{#eg=Promise.withResolvers();#eK=null;constructor(a,b,c=!1,d=null){this.length=a,this.initialData=b,this.progressiveDone=c,this.contentDispositionFilename=d}onDataRange(a,b){this.#eK({type:"range",begin:a,chunk:b})}onDataProgressiveRead(a){this.#eg.promise.then(()=>{this.#eK({type:"progressiveRead",chunk:a})})}onDataProgressiveDone(){this.#eg.promise.then(()=>{this.#eK({type:"progressiveDone"})})}transportReady(a){this.#eK=a,this.#eg.resolve()}requestDataRange(a,b){w("Abstract method PDFDataRangeTransport.requestDataRange")}abort(){}}class cG{constructor(a,b){this._pdfInfo=a,this._transport=b}get pagesMapper(){return this._transport.pagesMapper}get annotationStorage(){return this._transport.annotationStorage}get canvasFactory(){return this._transport.canvasFactory}get filterFactory(){return this._transport.filterFactory}get numPages(){return this._pdfInfo.numPages}get fingerprints(){return this._pdfInfo.fingerprints}get isPureXfa(){return B(this,"isPureXfa",!!this._transport._htmlForXfa)}get allXfaHtml(){return this._transport._htmlForXfa}getPage(a){return this._transport.getPage(a)}getPageIndex(a){return this._transport.getPageIndex(a)}getDestinations(){return this._transport.getDestinations()}getDestination(a){return this._transport.getDestination(a)}getPageLabels(){return this._transport.getPageLabels()}getPageLayout(){return this._transport.getPageLayout()}getPageMode(){return this._transport.getPageMode()}getViewerPreferences(){return this._transport.getViewerPreferences()}getOpenAction(){return this._transport.getOpenAction()}getAttachments(){return this._transport.getAttachments()}getAttachmentContent(a){return this._transport.getAttachmentContent(a)}getAnnotationsByType(a,b){return this._transport.getAnnotationsByType(a,b)}getJSActions(){return this._transport.getDocJSActions()}getOutline(){return this._transport.getOutline()}getOptionalContentConfig({intent:a="display"}={}){let{renderingIntent:b}=this._transport.getRenderingIntent(a);return this._transport.getOptionalContentConfig(b)}getPermissions(){return this._transport.getPermissions()}getMetadata(){return this._transport.getMetadata()}getMarkInfo(){return this._transport.getMarkInfo()}getData(){return this._transport.getData()}saveDocument(){return this._transport.saveDocument()}extractPages(a){return this._transport.extractPages(a)}getDownloadInfo(){return this._transport.downloadInfoCapability.promise}getRawData(a){return this._transport.getRawData(a)}cleanup(a=!1){return this._transport.startCleanup(a||this.isPureXfa)}cachedPageNumber(a){return this._transport.cachedPageNumber(a)}get loadingParams(){return this._transport.loadingParams}get loadingTask(){return this._transport.loadingTask}getFieldObjects(){return this._transport.getFieldObjects()}hasJSActions(){return this._transport.hasJSActions()}getCalculationOrderIds(){return this._transport.getCalculationOrderIds()}}class cH{#eL=!1;#eM=null;constructor(a,b,c,d,e=!1){this._pageIndex=a,this._pageInfo=b,this._transport=c,this._stats=e?new ac:null,this._pdfBug=e,this.commonObjs=c.commonObjs,this.objs=new cB,this._intentStates=new Map,this.destroyed=!1,this.recordedBBoxes=null,this.#eM=d,this.imageCoordinates=null}clone(a){let b=new cH(a,this._pageInfo,this._transport,this.#eM,this._pdfBug);return b.clonedFromIndex=this.clonedFromIndex??this._pageIndex,this._transport.updatePage(b),b}get pageNumber(){return this._pageIndex+1}set pageNumber(a){this._pageIndex=a-1,this._transport.updatePage(this)}get rotate(){return this._pageInfo.rotate}get ref(){return this._pageInfo.ref}get userUnit(){return this._pageInfo.userUnit}get view(){return this._pageInfo.view}getViewport({scale:a,rotation:b=this.rotate,offsetX:c=0,offsetY:d=0,dontFlip:e=!1}={}){return new U({viewBox:this.view,userUnit:this.userUnit,scale:a,rotation:b,offsetX:c,offsetY:d,dontFlip:e})}getAnnotations({intent:a="display"}={}){let{renderingIntent:b}=this._transport.getRenderingIntent(a);return this._transport.getAnnotations(this._pageIndex,b)}getJSActions(){return this._transport.getPageJSActions(this._pageIndex)}get filterFactory(){return this._transport.filterFactory}get isPureXfa(){return B(this,"isPureXfa",!!this._transport._htmlForXfa)}async getXfa(){return this._transport._htmlForXfa?.children[this._pageIndex]||null}render({canvasContext:a,canvas:b=a.canvas,viewport:c,intent:d="display",annotationMode:e=i.ENABLE,transform:f=null,background:g=null,optionalContentConfigPromise:h=null,annotationCanvasMap:j=null,pageColors:k=null,printAnnotationStorage:l=null,isEditing:m=!1,recordImages:n=!1,recordOperations:o=!1,operationsFilter:p=null}){this._stats?.time("Overall");let q=this._transport.getRenderingIntent(d,e,l,m),{renderingIntent:r,cacheKey:s}=q;this.#eL=!1,h||=this._transport.getOptionalContentConfig(r);let t=this._intentStates.getOrInsertComputed(s,S);t.streamReaderCancelTimeout&&(clearTimeout(t.streamReaderCancelTimeout),t.streamReaderCancelTimeout=null);let u=!!(4&r);t.displayReadyCapability||(t.displayReadyCapability=Promise.withResolvers(),t.operatorList={fnArray:[],argsArray:[],lastChunk:!1,separateAnnots:null},this._stats?.time("Page Request"),this._pumpOperatorList(q));let v=!!(this._pdfBug&&globalThis.StepperManager?.enabled),w=!!b&&!this.recordedBBoxes&&(o||v),x=!!b&&!this.imageCoordinates&&n,y=a=>{if(t.renderTasks.delete(B),w){let a=B.gfx?.dependencyTracker.take();a&&(B.stepper?.setOperatorBBoxes(a,B.gfx.dependencyTracker.takeDebugMetadata()),o&&(this.recordedBBoxes=a))}x&&!a&&(this.imageCoordinates=B.gfx?.imagesTracker.take()),u&&(this.#eL=!0),this.#eN(),a?(B.capability.reject(a),this._abortOperatorList({intentState:t,reason:a instanceof Error?a:Error(a)})):B.capability.resolve(),this._stats&&(this._stats.timeEnd("Rendering"),this._stats.timeEnd("Overall"),globalThis.Stats?.enabled&&globalThis.Stats.add(this.pageNumber,this._stats))},z=null,A=null;(w||x)&&(A=new a$(b,t.operatorList.length)),w&&(z=new a_(A,v));let B=new cL({callback:y,params:{canvas:b,canvasContext:a,dependencyTracker:z??A,imagesTracker:x?new a8(b):null,viewport:c,transform:f,background:g},objs:this.objs,commonObjs:this.commonObjs,annotationCanvasMap:j,operatorList:t.operatorList,pageIndex:this._pageIndex,canvasFactory:this._transport.canvasFactory,filterFactory:this._transport.filterFactory,useRequestAnimationFrame:!u,pdfBug:this._pdfBug,pageColors:k,enableHWA:this._transport.enableHWA,operationsFilter:p});(t.renderTasks||=new Set).add(B);let C=B.task;return Promise.all([t.displayReadyCapability.promise,h]).then(([a,b])=>{if(this.destroyed)return void y();if(this._stats?.time("Rendering"),!(b.renderingIntent&r))throw Error("Must use the same `intent`-argument when calling the `PDFPageProxy.render` and `PDFDocumentProxy.getOptionalContentConfig` methods.");B.initializeGraphics({transparency:a,optionalContentConfig:b}),B.operatorListChanged()}).catch(y),C}getOperatorList({intent:a="display",annotationMode:b=i.ENABLE,printAnnotationStorage:c=null,isEditing:d=!1}={}){let e,f=this._transport.getRenderingIntent(a,b,c,d,!0),g=this._intentStates.getOrInsertComputed(f.cacheKey,S);return g.opListReadCapability||((e=Object.create(null)).operatorListChanged=function(){g.operatorList.lastChunk&&(g.opListReadCapability.resolve(g.operatorList),g.renderTasks.delete(e))},g.opListReadCapability=Promise.withResolvers(),(g.renderTasks||=new Set).add(e),g.operatorList={fnArray:[],argsArray:[],lastChunk:!1,separateAnnots:null},this._stats?.time("Page Request"),this._pumpOperatorList(f)),g.opListReadCapability.promise}streamTextContent({includeMarkedContent:a=!1,disableNormalization:b=!1}={}){return this._transport.messageHandler.sendWithStream("GetTextContent",{pageId:this.#eM.getPageId(this._pageIndex+1)-1,pageIndex:this._pageIndex,includeMarkedContent:!0===a,disableNormalization:!0===b},{highWaterMark:100,size:a=>a.items.length})}async getTextContent(a={}){if(this._transport._htmlForXfa)return this.getXfa().then(a=>V.textContent(a));let b=this.streamTextContent(a),c={items:[],styles:Object.create(null),lang:null};for await(let a of b)c.lang??=a.lang,Object.assign(c.styles,a.styles),c.items.push(...a.items);return c}getStructTree(){return this._transport.getStructTree(this._pageIndex)}_destroy(){this.destroyed=!0;let a=[];for(let b of this._intentStates.values())if(this._abortOperatorList({intentState:b,reason:Error("Page was destroyed."),force:!0}),!b.opListReadCapability)for(let c of b.renderTasks)a.push(c.completed),c.cancel();return this.objs.clear(),this.#eL=!1,Promise.all(a)}cleanup(a=!1){this.#eL=!0;let b=this.#eN();return a&&b&&(this._stats&&=new ac),b}#eN(){if(!this.#eL||this.destroyed)return!1;for(let{renderTasks:a,operatorList:b}of this._intentStates.values())if(a.size>0||!b.lastChunk)return!1;return this._intentStates.clear(),this.objs.clear(),this.#eL=!1,!0}_startRenderPage(a,b){let c=this._intentStates.get(b);c&&(this._stats?.timeEnd("Page Request"),c.displayReadyCapability?.resolve(a))}_renderPageChunk(a,b){for(let c=0,d=a.length;c<d;c++)b.operatorList.fnArray.push(a.fnArray[c]),b.operatorList.argsArray.push(a.argsArray[c]);for(let c of(b.operatorList.lastChunk=a.lastChunk,b.operatorList.separateAnnots=a.separateAnnots,b.renderTasks))c.operatorListChanged();a.lastChunk&&this.#eN()}_pumpOperatorList({renderingIntent:a,cacheKey:b,annotationStorageSerializable:c,modifiedIds:d}){let{map:e,transfer:f}=c,g=this._transport.messageHandler.sendWithStream("GetOperatorList",{pageId:this.#eM.getPageId(this._pageIndex+1)-1,pageIndex:this._pageIndex,intent:a,cacheKey:b,annotationStorage:e,modifiedIds:d},void 0,f).getReader(),h=this._intentStates.get(b);h.streamReader=g;let i=()=>{g.read().then(({value:a,done:b})=>{if(b){h.streamReader=null;return}this._transport.destroyed||(this._renderPageChunk(a,h),i())},a=>{if(h.streamReader=null,!this._transport.destroyed){if(h.operatorList){for(let a of(h.operatorList.lastChunk=!0,h.renderTasks))a.operatorListChanged();this.#eN()}if(h.displayReadyCapability)h.displayReadyCapability.reject(a);else if(h.opListReadCapability)h.opListReadCapability.reject(a);else throw a}})};i()}_abortOperatorList({intentState:a,reason:b,force:c=!1}){if(a.streamReader){if(a.streamReaderCancelTimeout&&(clearTimeout(a.streamReaderCancelTimeout),a.streamReaderCancelTimeout=null),!c){if(a.renderTasks.size>0)return;if(b instanceof Z){let c=100;b.extraDelay>0&&b.extraDelay<1e3&&(c+=b.extraDelay),a.streamReaderCancelTimeout=setTimeout(()=>{a.streamReaderCancelTimeout=null,this._abortOperatorList({intentState:a,reason:b,force:!0})},c);return}}if(a.streamReader.cancel(new I(b.message)).catch(()=>{}),a.streamReader=null,!this._transport.destroyed){for(let[b,c]of this._intentStates)if(c===a){this._intentStates.delete(b);break}this.cleanup()}}}get stats(){return this._stats}}class cI{#eg=Promise.withResolvers();#eO=null;#dV=null;#eP=null;static #eQ=0;static #eR=!1;static #eS=new WeakMap;static{d&&(this.#eR=!0,ct.workerSrc||="./pdf.worker.mjs"),this._isSameOrigin=(a,b)=>{let c=URL.parse(a);if(!c?.origin||"null"===c.origin)return!1;let d=new URL(b,c);return c.origin===d.origin},this._createCDNWrapper=a=>{let b=`await import("${a}");`;return URL.createObjectURL(new Blob([b],{type:"text/javascript"}))}}constructor({name:a=null,port:b=null,verbosity:c=t}={}){if(this.name=a,this.destroyed=!1,this.verbosity=c,b){if(cI.#eS.has(b))throw Error("Cannot use more than one PDFWorker per port.");cI.#eS.set(b,this),this.#eT(b)}else this.#eU()}get promise(){return this.#eg.promise}#eV(){this.#eg.resolve(),this.#eO.send("configure",{verbosity:this.verbosity})}get port(){return this.#dV}get messageHandler(){return this.#eO}#eT(a){this.#dV=a,this.#eO=new bq("main","worker",a),this.#eO.on("ready",()=>{}),this.#eV()}#eU(){if(cI.#eR||cI.#eW)return void this.#eX();let{workerSrc:a}=cI;try{cI._isSameOrigin(window.location,a)||(a=cI._createCDNWrapper(new URL(a,window.location).href));let b=new Worker(a,{type:"module"}),c=new bq("main","worker",b),d=()=>{e.abort(),c.destroy(),b.terminate(),this.destroyed?this.#eg.reject(Error("Worker was destroyed")):this.#eX()},e=new AbortController;b.addEventListener("error",()=>{this.#eP||d()},{signal:e.signal}),c.on("test",a=>{(e.abort(),this.destroyed||!a)?d():(this.#eO=c,this.#dV=b,this.#eP=b,this.#eV())}),c.on("ready",a=>{if(e.abort(),this.destroyed)return void d();try{f()}catch{this.#eX()}});let f=()=>{let a=new Uint8Array;c.send("test",a,[a.buffer])};f();return}catch{u("The worker has been disabled.")}this.#eX()}#eX(){cI.#eR||(v("Setting up fake worker."),cI.#eR=!0),cI._setupFakeWorkerGlobal.then(a=>{if(this.destroyed)return void this.#eg.reject(Error("Worker was destroyed"));let b=new bn;this.#dV=b;let c=`fake${cI.#eQ++}`,d=new bq(c+"_worker",c,b);a.setup(d,b),this.#eO=new bq(c,c+"_worker",b),this.#eV()}).catch(a=>{this.#eg.reject(Error(`Setting up fake worker failed: "${a.message}".`))})}destroy(){this.destroyed=!0,this.#eP?.terminate(),this.#eP=null,cI.#eS.delete(this.#dV),this.#dV=null,this.#eO?.destroy(),this.#eO=null}static create(a){let b=this.#eS.get(a?.port);if(b){if(b._pendingDestroy)throw Error("PDFWorker.create - the worker is being destroyed.\nPlease remember to await `PDFDocumentLoadingTask.destroy()`-calls.");return b}return new cI(a)}static get workerSrc(){if(ct.workerSrc)return ct.workerSrc;throw Error('No "GlobalWorkerOptions.workerSrc" specified.')}static get #eW(){try{return globalThis.pdfjsWorker?.WorkerMessageHandler||null}catch{return null}}static get _setupFakeWorkerGlobal(){return B(this,"_setupFakeWorkerGlobal",(async()=>this.#eW?this.#eW:(await import(this.workerSrc)).WorkerMessageHandler)())}}class cJ{downloadInfoCapability=Promise.withResolvers();#eY=null;#eZ=new Map;#e$=null;#e_=new Map;#e0=new Map;#e1=new Map;#e2=null;constructor(a,b,c,d,e,f){this.messageHandler=a,this.loadingTask=b,this.#e$=c,this.commonObjs=new cB,this.fontLoader=new a9({ownerDocument:d.ownerDocument,styleElement:d.styleElement}),this.enableHWA=d.enableHWA,this.loadingParams=d.loadingParams,this._params=d,this.canvasFactory=e.canvasFactory,this.filterFactory=e.filterFactory,this.binaryDataFactory=e.binaryDataFactory,this.pagesMapper=f,this.destroyed=!1,this.destroyCapability=null,this.setupMessageHandler()}updatePage(a){let{_pageIndex:b}=a;this.#e_.set(b,a),this.#e0.set(b,Promise.resolve(a))}#e3(a,b=null){return this.#eZ.getOrInsertComputed(a,()=>this.messageHandler.sendWithPromise(a,b))}#dR({loaded:a,total:b}){this.loadingTask.onProgress?.({loaded:a,total:b,percent:b?T(Math.round(a/b*100),0,100):NaN})}get annotationStorage(){return B(this,"annotationStorage",new aR)}getRenderingIntent(a,b=i.ENABLE,c=null,d=!1,e=!1){let f=2,g=aQ;switch(a){case"any":f=1;break;case"display":break;case"print":f=4;break;default:v(`getRenderingIntent - invalid intent: ${a}`)}let h=4&f&&c instanceof aS?c:this.annotationStorage;switch(b){case i.DISABLE:f+=64;break;case i.ENABLE:break;case i.ENABLE_FORMS:f+=16;break;case i.ENABLE_STORAGE:f+=32,g=h.serializable;break;default:v(`getRenderingIntent - invalid annotationMode: ${b}`)}d&&(f+=128),e&&(f+=256);let{ids:j,hash:k}=h.modifiedIds,l=[f,g.hash,k];return{renderingIntent:f,cacheKey:l.join("_"),annotationStorageSerializable:g,modifiedIds:j}}destroy(){if(this.destroyCapability)return this.destroyCapability.promise;this.destroyed=!0,this.destroyCapability=Promise.withResolvers(),this.#e2?.reject(Error("Worker was destroyed during onPassword callback"));let a=[];for(let b of this.#e_.values())a.push(b._destroy());this.#e_.clear(),this.#e0.clear(),this.#e1.clear(),Object.hasOwn(this,"annotationStorage")&&this.annotationStorage.resetModified();let b=this.messageHandler.sendWithPromise("Terminate",null);return a.push(b),Promise.all(a).then(()=>{this.commonObjs.clear(),this.fontLoader.clear(),this.#eZ.clear(),this.filterFactory.destroy(),cC.cleanup(),this.#e$?.cancelAllRequests(new I("Worker was terminated.")),this.messageHandler?.destroy(),this.messageHandler=null,this.destroyCapability.resolve()},this.destroyCapability.reject),this.destroyCapability.promise}setupMessageHandler(){let{messageHandler:a,loadingTask:b}=this;a.on("GetReader",(a,b)=>{x(this.#e$,"GetReader - no `BasePDFStream` instance available."),this.#eY=this.#e$.getFullReader(),this.#eY.onProgress=a=>this.#dR(a),b.onPull=()=>{this.#eY.read().then(function({value:a,done:c}){c?b.close():(x(a instanceof ArrayBuffer,"GetReader - expected an ArrayBuffer."),b.enqueue(new Uint8Array(a),1,[a]))}).catch(a=>{b.error(a)})},b.onCancel=a=>{this.#eY.cancel(a),b.ready.catch(a=>{if(!this.destroyed)throw a})}}),a.on("ReaderHeadersReady",async a=>{await this.#eY.headersReady;let{isStreamingSupported:b,isRangeSupported:c,contentLength:d}=this.#eY;return b&&c&&(this.#eY.onProgress=null),{isStreamingSupported:b,isRangeSupported:c,contentLength:d}}),a.on("GetRangeReader",(a,b)=>{x(this.#e$,"GetRangeReader - no `BasePDFStream` instance available.");let c=this.#e$.getRangeReader(a.begin,a.end);c?(b.onPull=()=>{c.read().then(function({value:a,done:c}){c?b.close():(x(a instanceof ArrayBuffer,"GetRangeReader - expected an ArrayBuffer."),b.enqueue(new Uint8Array(a),1,[a]))}).catch(a=>{b.error(a)})},b.onCancel=a=>{c.cancel(a),b.ready.catch(a=>{if(!this.destroyed)throw a})}):b.close()}),a.on("GetDoc",({pdfInfo:a})=>{this.pagesMapper.pagesNumber=a.numPages,this._numPages=a.numPages,this._htmlForXfa=a.htmlForXfa,delete a.htmlForXfa,b._capability.resolve(new cG(a,this))}),a.on("DocException",a=>{b._capability.reject(bp(a))}),a.on("PasswordRequest",a=>{this.#e2=Promise.withResolvers();try{if(!b.onPassword)throw bp(a);let c=a=>{a instanceof Error?this.#e2.reject(a):this.#e2.resolve({password:a})};b.onPassword(c,a.code)}catch(a){this.#e2.reject(a)}return this.#e2.promise}),a.on("DataLoaded",a=>{this.#dR({loaded:a.length,total:a.length}),this.downloadInfoCapability.resolve(a)}),a.on("StartRenderPage",a=>{this.destroyed||this.#e_.get(a.pageIndex)._startRenderPage(a.transparency,a.cacheKey)}),a.on("commonobj",([b,c,d])=>{if(this.destroyed||this.commonObjs.has(b))return null;switch(c){case"Font":if("error"in d){let a=d.error;v(`Error during font loading: ${a}`),this.commonObjs.resolve(b,a);break}let e=new ba(new bh(d),this._params.pdfBug&&globalThis.FontInspector?.enabled?(a,b)=>globalThis.FontInspector.fontAdded(a,b):null,d.charProcOperatorList,d.extra);this.fontLoader.bind(e).catch(()=>a.sendWithPromise("FontFallback",{id:b})).finally(()=>{e.fontExtraProperties||e.clearData(),this.commonObjs.resolve(b,e)});break;case"CopyLocalImage":let{imageRef:f}=d;for(let a of(x(f,"The imageRef must be defined."),this.#e_.values()))for(let[,c]of a.objs){if(c?.ref!==f)continue;if(!c.dataLen)return null;let a=structuredClone(c);return this.commonObjs.resolve(b,a),c.dataLen}break;case"FontPath":this.commonObjs.resolve(b,new bj(d));break;case"Image":this.commonObjs.resolve(b,d);break;case"Pattern":let g=new bi(d);this.commonObjs.resolve(b,g.getIR());break;default:throw Error(`Got unknown common object type ${c}`)}return null}),a.on("obj",([a,b,c,d])=>{if(this.destroyed)return;let e=this.#e_.get(b);if(!e.objs.has(a)){if(0===e._intentStates.size)return void d?.bitmap?.close();switch(c){case"Image":case"Pattern":e.objs.resolve(a,d);break;default:throw Error(`Got unknown object type ${c}`)}}}),a.on("DocProgress",a=>{this.destroyed||this.#dR(a)}),a.on("FetchBinaryData",async a=>{if(this.destroyed)throw Error("Worker was destroyed.");if(!this.binaryDataFactory)throw Error("`BinaryDataFactory` not initialized, see the `useWorkerFetch` parameter.");return this.binaryDataFactory.fetch(a)})}getData(){return this.messageHandler.sendWithPromise("GetData",null)}saveDocument(){this.annotationStorage.size<=0&&v("saveDocument called while `annotationStorage` is empty, please use the getData-method instead.");let{map:a,transfer:b}=this.annotationStorage.serializable;return this.messageHandler.sendWithPromise("SaveDocument",{isPureXfa:!!this._htmlForXfa,numPages:this._numPages,annotationStorage:a,filename:this.#eY?.filename??null},b).finally(()=>{this.annotationStorage.resetModified()})}extractPages(a){let b,c={pageInfos:a},d=globalThis.ImageBitmap;if("function"==typeof d)for(let c of Array.isArray(a)?a:[a])c?.image instanceof d&&(b||=[]).push(c.image);if(this.annotationStorage.size>0){let a=this.annotationStorage.serializable,{map:d}=a;a.transfer?.length&&(b?b.push(...a.transfer):b=a.transfer);let e=this.pagesMapper.getMapping();if(e){let a=new Map;for(let[b,c]of d){if(c?.pageIndex!==void 0&&c.pageIndex>=0&&c.pageIndex<e.length){let d=e[c.pageIndex]-1;if(d!==c.pageIndex){a.set(b,{...c,pageIndex:d});continue}}a.set(b,c)}d=a}c.annotationStorage=d}return this.messageHandler.sendWithPromise("ExtractPages",c,b).finally(()=>{this.annotationStorage.resetModified()})}getPage(a){if(!Number.isInteger(a)||a<=0||a>this.pagesMapper.pagesNumber)return Promise.reject(Error("Invalid page request."));let b=a-1,c=this.pagesMapper.getPageId(a)-1,d=this.#e0.get(b);if(d)return d;let e=this.messageHandler.sendWithPromise("GetPage",{pageIndex:c}).then(a=>{if(this.destroyed)throw Error("Transport destroyed");a.refStr&&this.#e1.set(a.refStr,c);let d=new cH(b,a,this,this.pagesMapper,this._params.pdfBug);return this.#e_.set(b,d),d});return this.#e0.set(b,e),e}async getPageIndex(a){if(!bl(a))throw Error("Invalid pageIndex request.");let b=await this.messageHandler.sendWithPromise("GetPageIndex",{num:a.num,gen:a.gen}),c=this.pagesMapper.getPageNumber(b+1);if(0===c)throw Error("GetPageIndex: page has been removed.");return c-1}getAnnotations(a,b){return this.messageHandler.sendWithPromise("GetAnnotations",{pageIndex:this.pagesMapper.getPageId(a+1)-1,intent:b})}getFieldObjects(){return this.#e3("GetFieldObjects")}hasJSActions(){return this.#e3("HasJSActions")}getCalculationOrderIds(){return this.messageHandler.sendWithPromise("GetCalculationOrderIds",null)}getDestinations(){return this.messageHandler.sendWithPromise("GetDestinations",null)}getDestination(a){return"string"!=typeof a?Promise.reject(Error("Invalid destination request.")):this.messageHandler.sendWithPromise("GetDestination",{id:a})}getPageLabels(){return this.messageHandler.sendWithPromise("GetPageLabels",null)}getPageLayout(){return this.messageHandler.sendWithPromise("GetPageLayout",null)}getPageMode(){return this.messageHandler.sendWithPromise("GetPageMode",null)}getViewerPreferences(){return this.messageHandler.sendWithPromise("GetViewerPreferences",null)}getOpenAction(){return this.messageHandler.sendWithPromise("GetOpenAction",null)}getAttachments(){return this.messageHandler.sendWithPromise("GetAttachments",null)}getAttachmentContent(a){return this.messageHandler.sendWithPromise("GetAttachmentContent",a)}getAnnotationsByType(a,b){return this.messageHandler.sendWithPromise("GetAnnotationsByType",{types:a,pageIndexesToSkip:b})}getDocJSActions(){return this.#e3("GetDocJSActions")}getPageJSActions(a){return this.messageHandler.sendWithPromise("GetPageJSActions",{pageIndex:this.pagesMapper.getPageId(a+1)-1})}getStructTree(a){return this.messageHandler.sendWithPromise("GetStructTree",{pageIndex:this.pagesMapper.getPageId(a+1)-1})}getOutline(){return this.messageHandler.sendWithPromise("GetOutline",null)}getOptionalContentConfig(a){return this.#e3("GetOptionalContentConfig").then(b=>new cx(b,a))}getPermissions(){return this.messageHandler.sendWithPromise("GetPermissions",null)}getMetadata(){let a="GetMetadata";return this.#eZ.getOrInsertComputed(a,()=>this.messageHandler.sendWithPromise(a,null).then(a=>({info:a[0],metadata:a[1]?new cu(a[1]):null,contentDispositionFilename:this.#eY?.filename??null,contentLength:this.#eY?.contentLength??null,hasStructTree:a[2]})))}getMarkInfo(){return this.messageHandler.sendWithPromise("GetMarkInfo",null)}getRawData(a){return this.messageHandler.sendWithPromise("GetRawData",a)}async startCleanup(a=!1){if(!this.destroyed){for(let a of(await this.messageHandler.sendWithPromise("Cleanup",null),this.#e_.values()))if(!a.cleanup())throw Error(`startCleanup: Page ${a.pageNumber} is currently rendering.`);this.commonObjs.clear(),a||this.fontLoader.clear(),this.#eZ.clear(),this.filterFactory.destroy(!0),cC.cleanup()}}cachedPageNumber(a){if(!bl(a))return null;let b=0===a.gen?`${a.num}R`:`${a.num}R${a.gen}`,c=this.#e1.get(b);if(c>=0){let a=this.pagesMapper.getPageNumber(c+1);if(0!==a)return a}return null}}class cK{_internalRenderTask=null;onContinue=null;onError=null;constructor(a){this._internalRenderTask=a}get promise(){return this._internalRenderTask.capability.promise}cancel(a=0){this._internalRenderTask.cancel(null,a)}get separateAnnots(){let{separateAnnots:a}=this._internalRenderTask.operatorList;if(!a)return!1;let{annotationCanvasMap:b}=this._internalRenderTask;return a.form||a.canvas&&b?.size>0}get imageCoordinates(){return this._internalRenderTask.imageCoordinates||null}}class cL{#e4=null;static #e5=new WeakSet;constructor({callback:a,params:b,objs:c,commonObjs:d,annotationCanvasMap:e,operatorList:f,pageIndex:g,canvasFactory:h,filterFactory:i,useRequestAnimationFrame:j=!1,pdfBug:k=!1,pageColors:l=null,enableHWA:m=!1,operationsFilter:n=null}){this.callback=a,this.params=b,this.objs=c,this.commonObjs=d,this.annotationCanvasMap=e,this.operatorListIdx=null,this.operatorList=f,this._pageIndex=g,this.canvasFactory=h,this.filterFactory=i,this._pdfBug=k,this.pageColors=l,this.running=!1,this.graphicsReadyCallback=null,this.graphicsReady=!1,this._useRequestAnimationFrame=!0===j&&"u">typeof window,this.cancelled=!1,this.capability=Promise.withResolvers(),this.task=new cK(this),this._cancelBound=this.cancel.bind(this),this._continueBound=this._continue.bind(this),this._scheduleNextBound=this._scheduleNext.bind(this),this._nextBound=this._next.bind(this),this._canvas=b.canvas,this._canvasContext=b.canvas?null:b.canvasContext,this._enableHWA=m,this._dependencyTracker=b.dependencyTracker,this._imagesTracker=b.imagesTracker,this._operationsFilter=n}get completed(){return this.capability.promise.catch(function(){})}initializeGraphics({transparency:a=!1,optionalContentConfig:b}){if(this.cancelled)return;if(this._canvas){if(cL.#e5.has(this._canvas))throw Error("Cannot use the same canvas during multiple render() operations. Use different canvas or ensure previous operations were cancelled or completed.");cL.#e5.add(this._canvas)}this._pdfBug&&globalThis.StepperManager?.enabled&&(this.stepper=globalThis.StepperManager.create(this._pageIndex),this.stepper.init(this.operatorList),this.stepper.nextBreakPoint=this.stepper.getNextBreakPoint());let{viewport:c,transform:d,background:e,dependencyTracker:f,imagesTracker:g}=this.params,h=this._canvasContext||this._canvas.getContext("2d",{alpha:!1,willReadFrequently:!this._enableHWA});this.gfx=new b1(h,this.commonObjs,this.objs,this.canvasFactory,this.filterFactory,{optionalContentConfig:b},this.annotationCanvasMap,this.pageColors,f,g),this.gfx.beginDrawing({transform:d,viewport:c,transparency:a,background:e}),this.operatorListIdx=0,this.graphicsReady=!0,this.graphicsReadyCallback?.()}cancel(a=null,b=0){this.running=!1,this.cancelled=!0,this.gfx?.endDrawing(),this.#e4&&(window.cancelAnimationFrame(this.#e4),this.#e4=null),cL.#e5.delete(this._canvas),a||=new Z(`Rendering cancelled, page ${this._pageIndex+1}`,b),this.callback(a),this.task.onError?.(a)}operatorListChanged(){if(!this.graphicsReady){this.graphicsReadyCallback||=this._continueBound;return}this.gfx.dependencyTracker?.growOperationsCount(this.operatorList.fnArray.length),this.stepper?.updateOperatorList(this.operatorList),this.running||this._continue()}_continue(){this.running=!0,this.cancelled||(this.task.onContinue?this.task.onContinue(this._scheduleNextBound):this._scheduleNext())}_scheduleNext(){this._useRequestAnimationFrame?this.#e4=window.requestAnimationFrame(()=>{this.#e4=null,this._nextBound().catch(this._cancelBound)}):Promise.resolve().then(this._nextBound).catch(this._cancelBound)}async _next(){!this.cancelled&&(this.operatorListIdx=this.gfx.executeOperatorList(this.operatorList,this.operatorListIdx,this._continueBound,this.stepper,this._operationsFilter),this.operatorListIdx===this.operatorList.argsArray.length&&(this.running=!1,this.operatorList.lastChunk&&(this.gfx.endDrawing(),cL.#e5.delete(this._canvas),this.callback())))}}let cM="6.1.200",cN="6353acefe";class cO{#e6=null;#e7=null;#e8;#e9=null;#fa=!1;#fb=!1;#g=null;#fc;#fd=null;#s=null;static #fe=null;static get _keyboardManager(){return B(this,"_keyboardManager",new aH([[["Escape"],cO.prototype._hideDropdownFromKeyboard],[["Space"],cO.prototype._colorSelectFromKeyboard],[["ArrowDown","ArrowRight"],cO.prototype._moveToNext],[["ArrowUp","ArrowLeft"],cO.prototype._moveToPrevious],[["Home"],cO.prototype._moveToBeginning],[["End"],cO.prototype._moveToEnd]]))}constructor({editor:a=null,uiManager:b=null}){a?(this.#fb=!1,this.#g=a):this.#fb=!0,this.#s=a?._uiManager||b,this.#fc=this.#s._eventBus,this.#e8=a?.color?.toUpperCase()||this.#s?.highlightColors.values().next().value||"#FFFF98",cO.#fe||=Object.freeze({blue:"pdfjs-editor-colorpicker-blue",green:"pdfjs-editor-colorpicker-green",pink:"pdfjs-editor-colorpicker-pink",red:"pdfjs-editor-colorpicker-red",yellow:"pdfjs-editor-colorpicker-yellow"})}renderButton(){let a=this.#e6=document.createElement("button");a.className="colorPicker",a.tabIndex="0",a.setAttribute("data-l10n-id","pdfjs-editor-colorpicker-button"),a.ariaHasPopup="true",this.#g&&(a.ariaControls=`${this.#g.id}_colorpicker_dropdown`);let b=this.#s._signal;a.addEventListener("click",this.#ff.bind(this),{signal:b}),a.addEventListener("keydown",this.#fg.bind(this),{signal:b});let c=this.#e7=document.createElement("span");return c.className="swatch",c.ariaHidden="true",c.style.backgroundColor=this.#e8,a.append(c),a}renderMainDropdown(){let a=this.#e9=this.#fh();return a.ariaOrientation="horizontal",a.ariaLabelledBy="highlightColorPickerLabel",a}#fh(){let a=document.createElement("div"),b=this.#s._signal;for(let[c,d]of(a.addEventListener("contextmenu",ae,{signal:b}),a.className="dropdown",a.role="listbox",a.ariaMultiSelectable="false",a.ariaOrientation="vertical",a.setAttribute("data-l10n-id","pdfjs-editor-colorpicker-dropdown"),this.#g&&(a.id=`${this.#g.id}_colorpicker_dropdown`),this.#s.highlightColors)){let e=document.createElement("button");e.tabIndex="0",e.role="option",e.setAttribute("data-color",d),e.title=c,e.setAttribute("data-l10n-id",cO.#fe[c]);let f=document.createElement("span");e.append(f),f.className="swatch",f.style.backgroundColor=d,e.ariaSelected=d===this.#e8,e.addEventListener("click",this.#fi.bind(this,d),{signal:b}),a.append(e)}return a.addEventListener("keydown",this.#fg.bind(this),{signal:b}),a}#fi(a,b){b.stopPropagation(),this.#fc.dispatch("switchannotationeditorparams",{source:this,type:m.HIGHLIGHT_COLOR,value:a}),this.updateColor(a)}_colorSelectFromKeyboard(a){if(a.target===this.#e6)return void this.#ff(a);let b=a.target.getAttribute("data-color");b&&this.#fi(b,a)}_moveToNext(a){this.#fj?a.target===this.#e6?this.#e9.firstElementChild?.focus():a.target.nextSibling?.focus():this.#ff(a)}_moveToPrevious(a){if(a.target===this.#e9?.firstElementChild||a.target===this.#e6){this.#fj&&this._hideDropdownFromKeyboard();return}this.#fj||this.#ff(a),a.target.previousSibling?.focus()}_moveToBeginning(a){this.#fj?this.#e9.firstElementChild?.focus():this.#ff(a)}_moveToEnd(a){this.#fj?this.#e9.lastElementChild?.focus():this.#ff(a)}#fg(a){cO._keyboardManager.exec(this,a)}#ff(a){if(this.#fj)return void this.hideDropdown();if(this.#fa=0===a.detail,this.#fd||(this.#fd=new AbortController,window.addEventListener("pointerdown",this.#n.bind(this),{signal:this.#s.combinedSignal(this.#fd)})),this.#e6.ariaExpanded="true",this.#e9)return void this.#e9.classList.remove("hidden");let b=this.#e9=this.#fh();this.#e6.append(b)}#n(a){this.#e9?.contains(a.target)||this.hideDropdown()}hideDropdown(){this.#e9?.classList.add("hidden"),this.#e6.ariaExpanded="false",this.#fd?.abort(),this.#fd=null}get #fj(){return this.#e9&&!this.#e9.classList.contains("hidden")}_hideDropdownFromKeyboard(){if(!this.#fb){if(!this.#fj)return void this.#g?.unselect();this.hideDropdown(),this.#e6.focus({preventScroll:!0,focusVisible:this.#fa})}}updateColor(a){if(this.#e7&&(this.#e7.style.backgroundColor=a),!this.#e9)return;let b=this.#s.highlightColors.values();for(let c of this.#e9.children)c.ariaSelected=b.next().value===a.toUpperCase()}destroy(){this.#e6?.remove(),this.#e6=null,this.#e7=null,this.#e9?.remove(),this.#e9=null}}class cP{#fk=null;#fl=!1;#g=null;#s=null;static #fe=null;constructor(a){this.#g=a,this.#s=a._uiManager,cP.#fe||=Object.freeze({freetext:"pdfjs-editor-color-picker-free-text-input",ink:"pdfjs-editor-color-picker-ink-input"})}renderButton(){if(this.#fk)return this.#fk;let{editorType:a,colorType:b,colorAndOpacityType:c,opacityType:d,color:e,opacity:f}=this.#g,g=this.#fl=K.isAlphaColorInputSupported&&void 0!==d,h=this.#fk=document.createElement("input");return h.type="color",g?(h.setAttribute("alpha",""),h.value=(e||"#000000")+L.hexNums[Math.round((f??1)*255)]):h.value=e||"#000000",h.className="basicColorPicker",h.tabIndex=0,h.setAttribute("data-l10n-id",cP.#fe[a]),h.addEventListener("input",()=>{if(g){let a=ah(h.value);if(!a)return;let[e,f,g,i]=a,j=L.makeHexColor(e,f,g);void 0!==c?this.#s.updateParams(c,{color:j,opacity:i}):(this.#s.updateParams(b,j),this.#s.updateParams(d,i))}else this.#s.updateParams(b,h.value)},{signal:this.#s._signal}),h}update(a){if(this.#fk)if(this.#fl){let b=L.hexNums[Math.round(255*this.#g.opacity)];this.#fk.value=a+b}else this.#fk.value=a}updateOpacity(a){if(!this.#fk||!this.#fl)return;let b=L.hexNums[Math.round(255*a)];this.#fk.value=this.#g.color+b}destroy(){this.#fk?.remove(),this.#fk=null}hideDropdown(){}}function cQ(a){return Math.floor(255*T(a,0,1)).toString(16).padStart(2,"0")}function cR(a){return 255*T(a,0,1)}class cS{static CMYK_G([a,b,c,d]){return["G",1-Math.min(1,.3*a+.59*c+.11*b+d)]}static G_CMYK([a]){return["CMYK",0,0,0,1-a]}static G_RGB([a]){return["RGB",a,a,a]}static G_rgb([a]){return[a=cR(a),a,a]}static G_HTML([a]){let b=cQ(a);return`#${b}${b}${b}`}static RGB_G([a,b,c]){return["G",.3*a+.59*b+.11*c]}static RGB_rgb(a){return a.map(cR)}static RGB_HTML(a){return`#${a.map(cQ).join("")}`}static T_HTML(){return"#00000000"}static T_rgb(){return[null]}static CMYK_RGB([a,b,c,d]){return["RGB",1-Math.min(1,a+d),1-Math.min(1,c+d),1-Math.min(1,b+d)]}static CMYK_rgb([a,b,c,d]){return[cR(1-Math.min(1,a+d)),cR(1-Math.min(1,c+d)),cR(1-Math.min(1,b+d))]}static CMYK_HTML(a){let b=this.CMYK_RGB(a).slice(1);return this.RGB_HTML(b)}static RGB_CMYK([a,b,c]){let d=1-a,e=1-b,f=1-c,g=Math.min(d,e,f);return["CMYK",d,e,f,g]}}class cT{create(a,b,c=!1){if(a<=0||b<=0)throw Error("Invalid SVG dimensions");let d=this._createSVG("svg:svg");return d.setAttribute("version","1.1"),c||(d.setAttribute("width",`${a}px`),d.setAttribute("height",`${b}px`)),d.setAttribute("preserveAspectRatio","none"),d.setAttribute("viewBox",`0 0 ${a} ${b}`),d}createElement(a){if("string"!=typeof a)throw Error("Invalid SVG element type");return this._createSVG(a)}_createSVG(a){w("Abstract method `_createSVG` called.")}}class cU extends cT{_createSVG(a){return document.createElementNS(h,a)}}let cV=new WeakSet,cW=60*new Date().getTimezoneOffset()*1e3;class cX{static create(a){switch(a.data.annotationType){case p.LINK:return new c$(a);case p.TEXT:return new c_(a);case p.WIDGET:switch(a.data.fieldType){case"Tx":return new c1(a);case"Btn":if(a.data.radioButton)return new c4(a);if(a.data.checkBox)return new c3(a);return new c5(a);case"Ch":return new c6(a);case"Sig":return new c2(a)}return new c0(a);case p.POPUP:return new c7(a);case p.FREETEXT:return new c9(a);case p.LINE:return new da(a);case p.SQUARE:return new db(a);case p.CIRCLE:return new dc(a);case p.POLYLINE:return new dd(a);case p.CARET:return new df(a);case p.INK:return new dg(a);case p.POLYGON:return new de(a);case p.HIGHLIGHT:return new dh(a);case p.UNDERLINE:return new di(a);case p.SQUIGGLY:return new dj(a);case p.STRIKEOUT:return new dk(a);case p.STAMP:return new dl(a);case p.FILEATTACHMENT:return new dm(a);case p.RICHMEDIA:case p.SCREEN:return new dn(a);default:return new cY(a)}}}class cY{#fm=null;#fn=!1;#fo=null;constructor(a,{isRenderable:b=!1,ignoreBorder:c=!1,createQuadrilaterals:d=!1}={}){this.isRenderable=b,this.data=a.data,this.layer=a.layer,this.linkService=a.linkService,this.downloadManager=a.downloadManager,this.imageResourcesPath=a.imageResourcesPath,this.renderForms=a.renderForms,this.svgFactory=a.svgFactory,this.annotationStorage=a.annotationStorage,this.enableComment=a.enableComment,this.enableScripting=a.enableScripting,this.hasJSActions=a.hasJSActions,this._fieldObjects=a.fieldObjects,this.parent=a.parent,this.hasOwnCommentButton=!1,b&&(this.contentElement=this.container=this._createContainer(c)),d&&this._createQuadrilaterals()}static _hasPopupData({contentsObj:a,richText:b}){return!!(a?.str||b?.str)}get _isEditable(){return this.data.isEditable}get hasPopupData(){return cY._hasPopupData(this.data)||this.enableComment&&!!this.commentText}get commentData(){let{data:a}=this,b=this.annotationStorage?.getEditor(a.id);return b?b.getData():a}get hasCommentButton(){return this.enableComment&&this.hasPopupElement}get commentButtonPosition(){let a=this.annotationStorage?.getEditor(this.data.id);if(a)return a.commentButtonPositionInPage;let{quadPoints:b,inkLists:c,rect:d}=this.data,e=-1/0,f=-1/0;if(b?.length>=8){for(let a=0;a<b.length;a+=8)b[a+1]>f?(f=b[a+1],e=b[a+2]):b[a+1]===f&&(e=Math.max(e,b[a+2]));return[e,f]}if(c?.length>=1){for(let a of c)for(let b=0,c=a.length;b<c;b+=2)a[b+1]>f?(f=a[b+1],e=a[b]):a[b+1]===f&&(e=Math.max(e,a[b]));if(e!==1/0)return[e,f]}return d?[d[2],d[3]]:null}_normalizePoint(a){let{page:{view:b},viewport:{rawDims:{pageWidth:c,pageHeight:d,pageX:e,pageY:f}}}=this.parent;return a[1]=b[3]-a[1]+b[1],a[0]=100*(a[0]-e)/c,a[1]=100*(a[1]-f)/d,a}get commentText(){let{data:a}=this;return this.annotationStorage.getRawValue(`${k}${a.id}`)?.popup?.contents||a.contentsObj?.str||""}set commentText(a){let{data:b}=this,c={deleted:!a,contents:a||""};this.annotationStorage.updateEditor(b.id,{popup:c})||this.annotationStorage.setValue(`${k}${b.id}`,{id:b.id,annotationType:b.annotationType,page:this.parent.page,popup:c,popupRef:b.popupRef,modificationDate:new Date}),a||this.removePopup()}removePopup(){(this.#fo?.popup||this.popup)?.remove(),this.#fo=this.popup=null}updateEdited(a){if(!this.container)return;a.rect&&(this.#fm||={rect:this.data.rect.slice(0)});let{rect:b,popup:c}=a;b&&this.#fp(b);let d=this.#fo?.popup||this.popup;!d&&c?.text&&(this._createPopup(c),d=this.#fo.popup),d&&(d.updateEdited(a),c?.deleted&&(d.remove(),this.#fo=null,this.popup=null))}resetEdited(){this.#fm&&(this.#fp(this.#fm.rect),this.#fo?.popup.resetEdited(),this.#fm=null)}#fp(a){let{container:{style:b},data:{rect:c,rotation:d},parent:{viewport:{rawDims:{pageWidth:e,pageHeight:f,pageX:g,pageY:h}}}}=this;c?.splice(0,4,...a),b.left=`${100*(a[0]-g)/e}%`,b.top=`${100*(f-a[3]+h)/f}%`,0===d?(b.width=`${100*(a[2]-a[0])/e}%`,b.height=`${100*(a[3]-a[1])/f}%`):this.setRotation(d)}_createContainer(a){let{data:b,parent:{page:c,viewport:d}}=this,e=document.createElement("section");e.setAttribute("data-annotation-id",b.id),this instanceof c0||this instanceof c$||this instanceof dn||(e.tabIndex=0);let{style:f}=e;if(f.zIndex=this.parent.zIndex,this.parent.zIndex+=2,b.alternativeText&&(e.title=b.alternativeText),b.noRotate&&e.classList.add("norotate"),!b.rect||this instanceof c7){let{rotation:a}=b;return b.hasOwnCanvas||0===a||this.setRotation(a,e),e}let{width:g,height:h}=this;if(!a&&b.borderStyle.width>0){f.borderWidth=`${b.borderStyle.width}px`;let a=b.borderStyle.horizontalCornerRadius,c=b.borderStyle.verticalCornerRadius;switch((a>0||c>0)&&(f.borderRadius=`calc(${a}px * var(--total-scale-factor)) / calc(${c}px * var(--total-scale-factor))`),b.borderStyle.style){case 1:f.borderStyle="solid";break;case 2:f.borderStyle="dashed";break;case 3:v("Unimplemented border style: beveled");break;case 4:v("Unimplemented border style: inset");break;case 5:f.borderBottomStyle="solid"}let d=b.borderColor||null;d?(this.#fn=!0,f.borderColor=L.makeHexColor(...d)):f.borderWidth=0}let i=L.normalizeRect([b.rect[0],c.view[3]-b.rect[1]+c.view[1],b.rect[2],c.view[3]-b.rect[3]+c.view[1]]),{pageWidth:j,pageHeight:k,pageX:l,pageY:m}=d.rawDims;f.left=`${100*(i[0]-l)/j}%`,f.top=`${100*(i[1]-m)/k}%`;let{rotation:n}=b;return b.hasOwnCanvas||0===n?(f.width=`${100*g/j}%`,f.height=`${100*h/k}%`):this.setRotation(n,e),e}setRotation(a,b=this.container){if(!this.data.rect)return;let{pageWidth:c,pageHeight:d}=this.parent.viewport.rawDims,{width:e,height:f}=this;a%180!=0&&([e,f]=[f,e]),b.style.width=`${100*e/c}%`,b.style.height=`${100*f/d}%`,b.setAttribute("data-main-rotation",(360-a)%360)}get _commonActions(){let a=(a,b,c)=>{let d=c.detail[a],e=d[0],f=d.slice(1);c.target.style[b]=cS[`${e}_HTML`](f),this.annotationStorage.setValue(this.data.id,{[b]:cS[`${e}_rgb`](f)})};return B(this,"_commonActions",{display:a=>{let{display:b}=a.detail,c=b%2==1;this.container.style.visibility=c?"hidden":"visible",this.annotationStorage.setValue(this.data.id,{noView:c,noPrint:1===b||2===b})},print:a=>{this.annotationStorage.setValue(this.data.id,{noPrint:!a.detail.print})},hidden:a=>{let{hidden:b}=a.detail;this.container.style.visibility=b?"hidden":"visible",this.annotationStorage.setValue(this.data.id,{noPrint:b,noView:b})},focus:a=>{setTimeout(()=>a.target.focus({preventScroll:!1}),0)},userName:a=>{a.target.title=a.detail.userName},readonly:a=>{a.target.disabled=a.detail.readonly},required:a=>{this._setRequired(a.target,a.detail.required)},bgColor:b=>{a("bgColor","backgroundColor",b)},fillColor:b=>{a("fillColor","backgroundColor",b)},fgColor:b=>{a("fgColor","color",b)},textColor:b=>{a("textColor","color",b)},borderColor:b=>{a("borderColor","borderColor",b)},strokeColor:b=>{a("strokeColor","borderColor",b)},rotation:a=>{let b=a.detail.rotation;this.setRotation(b),this.annotationStorage.setValue(this.data.id,{rotation:b})}})}_dispatchEventFromSandbox(a,b){let c=this._commonActions;for(let d of Object.keys(b.detail)){let e=a[d]||c[d];e?.(b)}}_setDefaultPropertiesFromJS(a){if(!this.enableScripting)return;let b=this.annotationStorage.getRawValue(this.data.id);if(!b)return;let c=this._commonActions;for(let[d,e]of Object.entries(b)){let f=c[d];f&&(f({detail:{[d]:e},target:a}),delete b[d])}}_createQuadrilaterals(){let a;if(!this.container)return;let{quadPoints:b}=this.data;if(!b)return;let[c,d,e,f]=this.data.rect.map(a=>Math.fround(a));if(8===b.length){let[a,g,h,i]=b.subarray(2,6);if(e===a&&f===g&&c===h&&d===i)return}let{style:g}=this.container;if(this.#fn){let{borderColor:b,borderWidth:c}=g;g.borderWidth=0,a=["url('data:image/svg+xml;utf8,",`<svg xmlns="${h}" preserveAspectRatio="none" viewBox="0 0 1 1">`,`<g fill="transparent" stroke="${b}" stroke-width="${c}">`],this.container.classList.add("hasBorder")}let i=e-c,j=f-d,{svgFactory:k}=this,l=k.createElement("svg");l.classList.add("quadrilateralsContainer"),l.setAttribute("width",0),l.setAttribute("height",0),l.role="none";let m=k.createElement("defs");l.append(m);let n=k.createElement("clipPath"),o=`clippath_${this.data.id}`;n.setAttribute("id",o),n.setAttribute("clipPathUnits","objectBoundingBox"),m.append(n);for(let d=2,e=b.length;d<e;d+=8){let e=b[d],g=b[d+1],h=b[d+2],l=b[d+3],m=k.createElement("rect"),o=(h-c)/i,p=(f-g)/j,q=(e-h)/i,r=(g-l)/j;m.setAttribute("x",o),m.setAttribute("y",p),m.setAttribute("width",q),m.setAttribute("height",r),n.append(m),a?.push(`<rect vector-effect="non-scaling-stroke" x="${o}" y="${p}" width="${q}" height="${r}"/>`)}this.#fn&&(a.push("</g></svg>')"),g.backgroundImage=a.join("")),this.container.append(l),this.container.style.clipPath=`url(#${o})`}_createPopup(a=null){let b,c,{data:d}=this;a?(b={str:a.text},c=a.date):(b=d.contentsObj,c=d.modificationDate),this.#fo=new c7({data:{color:d.color,titleObj:d.titleObj,modificationDate:c,contentsObj:b,richText:d.richText,parentRect:d.rect,borderStyle:0,id:`popup_${d.id}`,rotation:d.rotation,noRotate:!0},linkService:this.linkService,parent:this.parent,elements:[this]})}get hasPopupElement(){return!!(this.#fo||this.popup||this.data.popupRef)}get extraPopupElement(){return this.#fo}render(){w("Abstract method `AnnotationElement.render` called")}_getElementsByName(a,b=null){let c=[];if(this._fieldObjects){let d=this._fieldObjects[a];if(d)for(let{page:a,id:e,exportValues:f}of d){if(-1===a||e===b)continue;let d="string"==typeof f?f:null,g=document.querySelector(`[data-element-id="${e}"]`);if(g&&!cV.has(g)){v(`_getElementsByName - element not allowed: ${e}`);continue}c.push({id:e,exportValue:d,domElement:g})}return c}for(let d of document.getElementsByName(a)){let{exportValue:a}=d,e=d.getAttribute("data-element-id");e!==b&&cV.has(d)&&c.push({id:e,exportValue:a,domElement:d})}return c}show(){this.container&&(this.container.hidden=!1),this.popup?.maybeShow()}hide(){this.container&&(this.container.hidden=!0),this.popup?.forceHide()}getElementsToTriggerPopup(){return this.container}addHighlightArea(){let a=this.getElementsToTriggerPopup();if(Array.isArray(a))for(let b of a)b.classList.add("highlightArea");else a.classList.add("highlightArea")}_editOnDoubleClick(){if(!this._isEditable)return;let{annotationEditorType:a,data:{id:b}}=this;this.container.addEventListener("dblclick",()=>{this.linkService.eventBus?.dispatch("switchannotationeditormode",{source:this,mode:a,editId:b,mustEnterInEditMode:!0})})}updateOC(a){this.data.oc&&a&&(a.isVisible(this.data.oc)?this.show():this.hide())}get width(){return this.data.rect[2]-this.data.rect[0]}get height(){return this.data.rect[3]-this.data.rect[1]}_setBackgroundColor(a){let b=this.data.backgroundColor||null;a.style.backgroundColor=null===b?"transparent":L.makeHexColor(...b)}}class cZ extends cY{constructor(a){super(a,{isRenderable:!0,ignoreBorder:!0}),this.editor=a.editor}render(){return this.container.className="editorAnnotation",this.container}createOrUpdatePopup(){let{editor:a}=this;a.hasComment&&this._createPopup(a.comment)}get hasCommentButton(){return this.enableComment&&this.editor.hasComment}get commentButtonPosition(){return this.editor.commentButtonPositionInPage}get commentText(){return this.editor.comment.text}set commentText(a){this.editor.comment=a,a||this.removePopup()}get commentData(){return this.editor.getData()}remove(){this.parent.removeAnnotation(this.data.id),this.container.remove(),this.container=null,this.removePopup()}}class c$ extends cY{constructor(a,b=null){super(a,{isRenderable:!0,ignoreBorder:!!b?.ignoreBorder,createQuadrilaterals:!0}),this.isTooltipOnly=a.data.isTooltipOnly}render(){let{data:a,linkService:b}=this,c=document.createElement("a");c.setAttribute("data-element-id",a.id);let d=!1;return a.url?(b.addLinkAttributes(c,a.url,a.newWindow),d=!0):a.action?(this._bindNamedAction(c,a.action,a.overlaidText),d=!0):a.attachment?(this.#fq(c,a.attachmentId,a.attachment,a.overlaidText,a.attachmentDest),d=!0):a.setOCGState?(this.#fr(c,a.setOCGState,a.overlaidText),d=!0):a.dest?(this._bindLink(c,a.dest,a.overlaidText),d=!0):(a.actions&&(a.actions.Action||a.actions["Mouse Up"]||a.actions["Mouse Down"])&&this.enableScripting&&this.hasJSActions&&(this._bindJSAction(c,a),d=!0),a.resetForm?(this._bindResetFormAction(c,a.resetForm),d=!0):this.isTooltipOnly&&!d&&(this._bindLink(c,""),d=!0)),this.container.classList.add("linkAnnotation"),d&&(this.contentElement=c,this.container.append(c)),this.container}#fs(){this.container.setAttribute("data-internal-link","")}_bindLink(a,b,c=""){a.href=this.linkService.getDestinationHash(b),a.onclick=()=>(b&&this.linkService.goToDestination(b),!1),(b||""===b)&&this.#fs(),c&&(a.title=c)}_bindNamedAction(a,b,c=""){a.href=this.linkService.getAnchorUrl(""),a.onclick=()=>(this.linkService.executeNamedAction(b),!1),c&&(a.title=c),this.#fs()}#fq(a,b,c,d="",e=null){a.href=this.linkService.getAnchorUrl(""),c.description?a.title=c.description:d&&(a.title=d);let f=async()=>{let a=await this.linkService.getAttachmentContent(b);a&&this.downloadManager?.openOrDownloadData(a,c.filename,e)};a.onclick=()=>(f(),!1),this.#fs()}#fr(a,b,c=""){a.href=this.linkService.getAnchorUrl(""),a.onclick=()=>(this.linkService.executeSetOCGState(b),!1),c&&(a.title=c),this.#fs()}_bindJSAction(a,b){a.href=this.linkService.getAnchorUrl("");let c=new Map([["Action","onclick"],["Mouse Up","onmouseup"],["Mouse Down","onmousedown"]]);for(let d of Object.keys(b.actions)){let e=c.get(d);e&&(a[e]=()=>(this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:b.id,name:d}}),!1))}b.overlaidText&&(a.title=b.overlaidText),a.onclick||(a.onclick=()=>!1),this.#fs()}_bindResetFormAction(a,b){let c=a.onclick;if(c||(a.href=this.linkService.getAnchorUrl("")),this.#fs(),!this._fieldObjects){v('_bindResetFormAction - "resetForm" action not supported, ensure that the `fieldObjects` parameter is provided.'),c||(a.onclick=()=>!1);return}a.onclick=()=>{c?.();let{fields:a,refs:d,include:e}=b,f=[];if(0!==a.length||0!==d.length){let b=new Set(d);for(let c of a)for(let{id:a}of this._fieldObjects[c]||[])b.add(a);for(let a of Object.values(this._fieldObjects))for(let c of a)b.has(c.id)===e&&f.push(c)}else for(let a of Object.values(this._fieldObjects))f.push(...a);let g=this.annotationStorage,h=[];for(let a of f){let{id:b}=a;switch(h.push(b),a.type){case"text":{let c=a.defaultValue||"";g.setValue(b,{value:c});break}case"checkbox":case"radiobutton":{let c=a.defaultValue===a.exportValues;g.setValue(b,{value:c});break}case"combobox":case"listbox":{let c=a.defaultValue||"";g.setValue(b,{value:c});break}default:continue}let c=document.querySelector(`[data-element-id="${b}"]`);if(c){if(!cV.has(c)){v(`_bindResetFormAction - element not allowed: ${b}`);continue}c.dispatchEvent(new Event("resetform"))}}return this.enableScripting&&this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:"app",ids:h,name:"ResetForm"}}),!1}}}class c_ extends cY{constructor(a){super(a,{isRenderable:!0})}render(){this.container.classList.add("textAnnotation");let a=document.createElement("img");return a.src=this.imageResourcesPath+"annotation-"+this.data.name.toLowerCase()+".svg",a.setAttribute("data-l10n-id","pdfjs-text-annotation-type"),a.setAttribute("data-l10n-args",JSON.stringify({type:this.data.name})),!this.data.popupRef&&this.hasPopupData&&(this.hasOwnCommentButton=!0,this._createPopup()),this.container.append(a),this.container}}class c0 extends cY{render(){return this.container}_getKeyModifier(a){return K.platform.isMac?a.metaKey:a.ctrlKey}_setEventListener(a,b,c,d,e){c.includes("mouse")?a.addEventListener(c,a=>{this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:this.data.id,name:d,value:e(a),shift:a.shiftKey,modifier:this._getKeyModifier(a)}})}):a.addEventListener(c,a=>{if("blur"===c){if(!b.focused||!a.relatedTarget)return;b.focused=!1}else if("focus"===c){if(b.focused)return;b.focused=!0}e&&this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:this.data.id,name:d,value:e(a)}})})}_setEventListeners(a,b,c,d){for(let[e,f]of c)("Action"===f||this.data.actions?.[f])&&(("Focus"===f||"Blur"===f)&&(b||={focused:!1}),this._setEventListener(a,b,e,f,d),"Focus"!==f||this.data.actions?.Blur?"Blur"!==f||this.data.actions?.Focus||this._setEventListener(a,b,"focus","Focus",null):this._setEventListener(a,b,"blur","Blur",null))}_setTextStyle(a){let b,{fontColor:c}=this.data.defaultAppearanceData,d=this.data.defaultAppearanceData.fontSize||9,e=a.style,f=a=>Math.round(10*a)/10;if(this.data.multiLine){let a=Math.abs(this.data.rect[3]-this.data.rect[1]-2),c=Math.round(a/(1.35*d))||1;b=Math.min(d,f(a/c/1.35))}else b=Math.min(d,f(Math.abs(this.data.rect[3]-this.data.rect[1]-2)/1.35));e.fontSize=`calc(${b}px * var(--total-scale-factor))`,e.color=L.makeHexColor(...c),null===this.data.textAlignment||this.data.comb||(e.textAlign=["left","center","right"][this.data.textAlignment])}_setRequired(a,b){b?a.setAttribute("required",!0):a.removeAttribute("required"),a.setAttribute("aria-required",b)}}class c1 extends c0{constructor(a){const b=a.renderForms||a.data.hasOwnCanvas||!a.data.hasAppearance&&!!a.data.fieldValue;super(a,{isRenderable:b})}setPropertyOnSiblings(a,b,c,d){let e=this.annotationStorage;for(let f of this._getElementsByName(a.name,a.id))f.domElement&&(f.domElement[b]=c),e.setValue(f.id,{[d]:c})}render(){let a=this.annotationStorage,b=this.data.id;this.container.classList.add("textWidgetAnnotation");let c=null;if(this.renderForms){let d=a.getValue(b,{value:this.data.fieldValue}),e=d.value||"",f=a.getValue(b,{charLimit:this.data.maxLen}).charLimit;f&&e.length>f&&(e=e.slice(0,f));let g=d.formattedValue||this.data.textContent?.join("\n")||null;g&&this.data.comb&&(g=g.replaceAll(/\s+/g,""));let h={userValue:e,formattedValue:g,lastCommittedValue:null,commitKey:1,focused:!1};this.data.multiLine?((c=document.createElement("textarea")).textContent=g??e,this.data.doNotScroll&&(c.style.overflowY="hidden")):((c=document.createElement("input")).type=this.data.password?"password":"text",c.setAttribute("value",g??e),this.data.doNotScroll&&(c.style.overflowX="hidden")),this.data.hasOwnCanvas&&(this.container.classList.add("hasOwnCanvas"),a.has(b)&&this.container.classList.add("sandboxModified")),cV.add(c),this.contentElement=c,c.setAttribute("data-element-id",b),c.disabled=this.data.readOnly,c.name=this.data.fieldName,c.tabIndex=0;let{datetimeFormat:i,datetimeType:j,timeStep:k}=this.data,l=!!j&&this.enableScripting;i&&(c.title=i),this._setRequired(c,this.data.required),f&&(c.maxLength=f),c.addEventListener("input",d=>{a.setValue(b,{value:d.target.value}),this.setPropertyOnSiblings(c,"value",d.target.value,"value"),h.formattedValue=null}),c.addEventListener("resetform",a=>{let b=this.data.defaultFieldValue??"";c.value=h.userValue=b,h.formattedValue=null});let m=a=>{let{formattedValue:b}=h;null!=b&&(a.target.value=b),a.target.scrollLeft=0};if(this.enableScripting&&this.hasJSActions){c.addEventListener("focus",a=>{if(h.focused)return;let{target:b}=a;if(l&&(b.type=j,k&&(b.step=k)),h.userValue){let a=h.userValue;if(l)if("time"===j){let c=new Date(a);b.value=[c.getHours(),c.getMinutes(),c.getSeconds()].map(a=>a.toString().padStart(2,"0")).join(":")}else b.value=new Date(a-cW).toISOString().split("date"===j?"T":".",1)[0];else b.value=a}h.lastCommittedValue=b.value,h.commitKey=1,this.data.actions?.Focus||(h.focused=!0)}),c.addEventListener("updatefromsandbox",c=>{this.container.classList.add("sandboxModified"),this._dispatchEventFromSandbox({value(c){h.userValue=c.detail.value??"",l||a.setValue(b,{value:h.userValue.toString()}),c.target.value=h.userValue},formattedValue(c){let{formattedValue:d}=c.detail;h.formattedValue=d,null!=d&&c.target!==document.activeElement&&(c.target.value=d);let e={formattedValue:d};l&&(e.value=d),a.setValue(b,e)},selRange(a){a.target.setSelectionRange(...a.detail.selRange)},charLimit:c=>{let{charLimit:d}=c.detail,{target:e}=c;if(0===d)return void e.removeAttribute("maxLength");e.setAttribute("maxLength",d);let f=h.userValue;f&&!(f.length<=d)&&(e.value=h.userValue=f=f.slice(0,d),a.setValue(b,{value:f}),this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:b,name:"Keystroke",value:f,willCommit:!0,commitKey:1,selStart:e.selectionStart,selEnd:e.selectionEnd}}))}},c)}),c.addEventListener("keydown",a=>{h.commitKey=1;let c=-1;if("Escape"===a.key?c=0:"Enter"!==a.key||this.data.multiLine?"Tab"===a.key&&(h.commitKey=3):c=2,-1===c)return;let{value:d}=a.target;h.lastCommittedValue!==d&&(h.lastCommittedValue=d,h.userValue=d,this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:b,name:"Keystroke",value:d,willCommit:!0,commitKey:c,selStart:a.target.selectionStart,selEnd:a.target.selectionEnd}}))});let d=m;m=null,c.addEventListener("blur",a=>{if(!h.focused||!a.relatedTarget)return;this.data.actions?.Blur||(h.focused=!1);let{target:c}=a,{value:e}=c;if(l){if(e&&"time"===j){let a=e.split(":").map(a=>parseInt(a,10));e=new Date(2e3,0,1,a[0],a[1],a[2]||0).valueOf(),c.step=""}else e.includes("T")||(e=`${e}T00:00`),e=new Date(e).valueOf();c.type="text"}h.userValue=e,h.lastCommittedValue!==e&&this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:b,name:"Keystroke",value:e,willCommit:!0,commitKey:h.commitKey,selStart:a.target.selectionStart,selEnd:a.target.selectionEnd}}),d(a)}),this.data.actions?.Keystroke&&c.addEventListener("beforeinput",a=>{h.lastCommittedValue=null;let{data:c,target:d}=a,{value:e,selectionStart:f,selectionEnd:g}=d,i=f,j=g;switch(a.inputType){case"deleteWordBackward":{let a=e.substring(0,f).match(/\w*\W*$/);a&&(i-=a[0].length);break}case"deleteWordForward":{let a=e.substring(f).match(/^\W*\w*/);a&&(j+=a[0].length);break}case"deleteContentBackward":f===g&&(i-=1);break;case"deleteContentForward":f===g&&(j+=1)}a.preventDefault(),this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:b,name:"Keystroke",value:e,change:c||"",willCommit:!1,selStart:i,selEnd:j}})}),this._setEventListeners(c,h,[["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"]],a=>a.target.value)}if(m&&c.addEventListener("blur",m),this.data.comb){let a=(this.data.rect[2]-this.data.rect[0])/f;c.classList.add("comb"),c.style.setProperty("--comb-width",`calc(${a}px * var(--total-scale-factor))`);let b=this.data.textAlignment;if(1===b||2===b){let a=()=>{let a=f-c.value.length;c.style.setProperty("--comb-offset",`${1===b?a>>1:a}`)};for(let b of(a(),["input","blur","resetform","updatefromsandbox"]))c.addEventListener(b,a)}}}else(c=document.createElement("div")).textContent=this.data.fieldValue,c.style.verticalAlign="middle",c.style.display="table-cell",this.data.hasOwnCanvas&&(c.hidden=!0);return this._setTextStyle(c),this._setBackgroundColor(c),this._setDefaultPropertiesFromJS(c),this.container.append(c),this.container}}class c2 extends c0{constructor(a){super(a,{isRenderable:!!a.data.hasOwnCanvas})}}class c3 extends c0{constructor(a){super(a,{isRenderable:a.renderForms})}render(){let a=this.annotationStorage,b=this.data,c=b.id,d=a.getValue(c,{value:b.exportValue===b.fieldValue}).value;"string"==typeof d&&(d="Off"!==d,a.setValue(c,{value:d})),this.container.classList.add("buttonWidgetAnnotation","checkBox");let e=document.createElement("input");return cV.add(e),e.setAttribute("data-element-id",c),e.disabled=b.readOnly,this._setRequired(e,this.data.required),e.type="checkbox",e.name=b.fieldName,d&&e.setAttribute("checked",!0),e.setAttribute("exportValue",b.exportValue),e.tabIndex=0,e.addEventListener("change",d=>{let{name:e,checked:f}=d.target;for(let d of this._getElementsByName(e,c)){let c=f&&d.exportValue===b.exportValue;d.domElement&&(d.domElement.checked=c),a.setValue(d.id,{value:c})}a.setValue(c,{value:f})}),e.addEventListener("resetform",a=>{let c=b.defaultFieldValue||"Off";a.target.checked=c===b.exportValue}),this.enableScripting&&this.hasJSActions&&(e.addEventListener("updatefromsandbox",b=>{this._dispatchEventFromSandbox({value(b){b.target.checked="Off"!==b.detail.value,a.setValue(c,{value:b.target.checked})}},b)}),this._setEventListeners(e,null,[["change","Validate"],["change","Action"],["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"]],a=>a.target.checked)),this._setDefaultPropertiesFromJS(e),this.container.append(e),this.container}}class c4 extends c0{constructor(a){super(a,{isRenderable:a.renderForms})}render(){this.container.classList.add("buttonWidgetAnnotation","radioButton");let a=this.annotationStorage,b=this.data,c=b.id,d=a.getValue(c,{value:null!==b.buttonValue&&b.fieldValue===b.buttonValue}).value;if("string"==typeof d&&(d=d!==b.buttonValue,a.setValue(c,{value:d})),d)for(let d of this._getElementsByName(b.fieldName,c))a.setValue(d.id,{value:!1});let e=document.createElement("input");if(cV.add(e),e.setAttribute("data-element-id",c),e.disabled=b.readOnly,this._setRequired(e,this.data.required),e.type="radio",e.name=b.fieldName,d&&e.setAttribute("checked",!0),e.tabIndex=0,e.addEventListener("change",b=>{let{name:d,checked:e}=b.target;for(let b of this._getElementsByName(d,c))a.setValue(b.id,{value:!1});a.setValue(c,{value:e})}),e.addEventListener("resetform",a=>{let c=b.defaultFieldValue;a.target.checked=null!=c&&c===b.buttonValue}),this.enableScripting&&this.hasJSActions){let d=b.buttonValue;e.addEventListener("updatefromsandbox",b=>{this._dispatchEventFromSandbox({value:b=>{let e=d===b.detail.value;for(let d of this._getElementsByName(b.target.name)){let b=e&&d.id===c;d.domElement&&(d.domElement.checked=b),a.setValue(d.id,{value:b})}}},b)}),this._setEventListeners(e,null,[["change","Validate"],["change","Action"],["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"]],a=>a.target.checked)}return this._setDefaultPropertiesFromJS(e),this.container.append(e),this.container}}class c5 extends c${constructor(a){super(a,{ignoreBorder:a.data.hasAppearance})}render(){let a=super.render();a.classList.add("buttonWidgetAnnotation","pushButton");let b=a.lastChild;return this.enableScripting&&this.hasJSActions&&b&&(this._setDefaultPropertiesFromJS(b),b.addEventListener("updatefromsandbox",a=>{this._dispatchEventFromSandbox({},a)})),a}}class c6 extends c0{constructor(a){super(a,{isRenderable:a.renderForms})}render(){this.container.classList.add("choiceWidgetAnnotation");let a=this.annotationStorage,b=this.data.id,c=a.getValue(b,{value:this.data.fieldValue}),d=document.createElement("select");cV.add(d),d.setAttribute("data-element-id",b),d.disabled=this.data.readOnly,this._setRequired(d,this.data.required),d.name=this.data.fieldName,d.tabIndex=0;let e=this.data.combo&&this.data.options.length>0;!this.data.combo&&(d.size=this.data.options.length,this.data.multiSelect&&(d.multiple=!0)),d.addEventListener("resetform",a=>{let b=this.data.defaultFieldValue;for(let a of d.options)a.selected=a.value===b});let f=(a,b)=>{let c=b.replaceAll(" ","\xa0");a.textContent=c,c!==b&&a.setAttribute("display-value",b)};for(let a of this.data.options){let b=document.createElement("option");f(b,a.displayValue),b.value=a.exportValue,c.value.includes(a.exportValue)&&(b.setAttribute("selected",!0),e=!1),d.append(b)}let g=null;if(e){let a=document.createElement("option");a.value=" ",a.setAttribute("hidden",!0),a.setAttribute("selected",!0),d.prepend(a),g=()=>{a.remove(),d.removeEventListener("input",g),g=null},d.addEventListener("input",g)}let h=a=>{let b=a?"value":"textContent",{options:c,multiple:e}=d;return e?Array.prototype.filter.call(c,a=>a.selected).map(a=>a[b]):-1===c.selectedIndex?null:c[c.selectedIndex][b]},i=h(!1),j=a=>{let b=a.target.options;return Array.prototype.map.call(b,a=>({displayValue:a.getAttribute("display-value")||a.textContent,exportValue:a.value}))};return this.enableScripting&&this.hasJSActions?(d.addEventListener("updatefromsandbox",c=>{this._dispatchEventFromSandbox({value(c){g?.();let e=c.detail.value,f=new Set(Array.isArray(e)?e:[e]);for(let a of d.options)a.selected=f.has(a.value);a.setValue(b,{value:h(!0)}),i=h(!1)},multipleSelection(a){d.multiple=!0},remove(c){let e=d.options,f=c.detail.remove;e[f].selected=!1,d.remove(f),e.length>0&&-1===Array.prototype.findIndex.call(e,a=>a.selected)&&(e[0].selected=!0),a.setValue(b,{value:h(!0),items:j(c)}),i=h(!1)},clear(c){for(;0!==d.length;)d.remove(0);a.setValue(b,{value:null,items:[]}),i=h(!1)},insert(c){let{index:e,displayValue:g,exportValue:k}=c.detail.insert,l=d.children[e],m=document.createElement("option");f(m,g),m.value=k,l?l.before(m):d.append(m),a.setValue(b,{value:h(!0),items:j(c)}),i=h(!1)},items(c){let{items:e}=c.detail;for(;0!==d.length;)d.remove(0);for(let a of e){let{displayValue:b,exportValue:c}=a,e=document.createElement("option");f(e,b),e.value=c,d.append(e)}d.options.length>0&&(d.options[0].selected=!0),a.setValue(b,{value:h(!0),items:j(c)}),i=h(!1)},indices(c){let d=new Set(c.detail.indices);for(let a of c.target.options)a.selected=d.has(a.index);a.setValue(b,{value:h(!0)}),i=h(!1)},editable(a){a.target.disabled=!a.detail.editable}},c)}),d.addEventListener("input",c=>{let d=h(!0),e=h(!1);a.setValue(b,{value:d}),c.preventDefault(),this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:b,name:"Keystroke",value:i,change:e,changeEx:d,willCommit:!1,commitKey:1,keyDown:!1}})}),this._setEventListeners(d,null,[["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"],["input","Action"],["input","Validate"]],a=>a.target.value)):d.addEventListener("input",function(c){a.setValue(b,{value:h(!0)})}),this.data.combo&&this._setTextStyle(d),this._setBackgroundColor(d),this._setDefaultPropertiesFromJS(d),this.container.append(d),this.container}}class c7 extends cY{constructor(a){const{data:b,elements:c,parent:d}=a,e=!!d._commentManager;if(super(a,{isRenderable:!e&&cY._hasPopupData(b)}),this.elements=c,e&&cY._hasPopupData(b)){const a=this.popup=this.#ft();for(const b of c)b.popup=a}else this.popup=null}#ft(){return new c8({container:this.container,color:this.data.color,titleObj:this.data.titleObj,modificationDate:this.data.modificationDate||this.data.creationDate,contentsObj:this.data.contentsObj,richText:this.data.richText,rect:this.data.rect,parentRect:this.data.parentRect||null,parent:this.parent,elements:this.elements,open:this.data.open,commentManager:this.parent._commentManager})}render(){let{container:a}=this;a.classList.add("popupAnnotation"),a.role="comment";let b=this.popup=this.#ft(),c=[];for(let a of this.elements)a.popup=b,a.container.ariaHasPopup="dialog",c.push(a.data.id),a.addHighlightArea();return this.container.setAttribute("aria-controls",c.map(a=>`${j}${a}`).join(",")),this.container}}class c8{#U=null;#fu=this.#fg.bind(this);#fv=this.#fw.bind(this);#fx=this.#fy.bind(this);#fz=this.#fA.bind(this);#fB=null;#aC=null;#fC=null;#fD=null;#fE=null;#fF=null;#fG=null;#fH=!1;#fI=null;#fJ=null;#H=null;#fK=null;#fL=null;#bl=null;#fM=null;#bh=null;#fN=null;#fm=null;#fO=!1;#fP=null;#fQ=null;constructor({container:a,color:b,elements:c,titleObj:d,modificationDate:e,contentsObj:f,richText:g,parent:h,rect:i,parentRect:j,open:k,commentManager:l=null}){this.#aC=a,this.#fN=d,this.#fC=f,this.#bh=g,this.#fF=h,this.#fB=b,this.#fM=i,this.#fG=j,this.#fE=c,this.#U=l,this.#fP=c[0],this.#fD=ag.toDateObject(e),this.trigger=c.flatMap(a=>a.getElementsToTriggerPopup()),!l&&(this.#fR(),this.#aC.hidden=!0,k&&this.#fA())}#fR(){if(this.#fJ)return;this.#fJ=new AbortController;let{signal:a}=this.#fJ;for(let b of this.trigger)b.addEventListener("click",this.#fz,{signal:a}),b.addEventListener("pointerenter",this.#fx,{signal:a}),b.addEventListener("pointerleave",this.#fv,{signal:a}),b.classList.add("popupTriggerArea");for(let b of this.#fE)b.container?.addEventListener("keydown",this.#fu,{signal:a})}#fS(){let a=this.#fE.find(a=>a.hasCommentButton);a&&(this.#fL=a._normalizePoint(a.commentButtonPosition))}renderCommentButton(){if(this.#fK){this.#fK.parentNode||this.#fP.container.after(this.#fK);return}if(this.#fL||this.#fS(),!this.#fL)return;let{signal:a}=this.#fJ=new AbortController,b=this.#fP.hasOwnCommentButton,c=()=>{this.#U.toggleCommentPopup(this,!0,void 0,!b)},d=()=>{this.#U.toggleCommentPopup(this,!1,!0,!b)},e=()=>{this.#U.toggleCommentPopup(this,!1,!1)};if(b)for(let b of(this.#fK=this.#fP.container,this.trigger))b.ariaHasPopup="dialog",b.ariaControls="commentPopup",b.addEventListener("keydown",this.#fu,{signal:a}),b.addEventListener("click",c,{signal:a}),b.addEventListener("pointerenter",d,{signal:a}),b.addEventListener("pointerleave",e,{signal:a}),b.classList.add("popupTriggerArea");else{let b=this.#fK=document.createElement("button");b.className="annotationCommentButton";let f=this.#fP.container;b.style.zIndex=parseInt(f.style.zIndex,10)+1,b.tabIndex=0,b.ariaHasPopup="dialog",b.ariaControls="commentPopup",b.setAttribute("data-l10n-id","pdfjs-show-comment-button"),this.#fT(),this.#fU(),b.addEventListener("keydown",this.#fu,{signal:a}),b.addEventListener("click",c,{signal:a}),b.addEventListener("pointerenter",d,{signal:a}),b.addEventListener("pointerleave",e,{signal:a}),f.after(b)}}#fU(){if(this.#fP.extraPopupElement&&!this.#fP.editor)return;this.#fK||this.renderCommentButton();let[a,b]=this.#fL,{style:c}=this.#fK;c.left=`calc(${a}%)`,c.top=`calc(${b}% - var(--comment-button-dim))`}#fT(){this.#fP.extraPopupElement||(this.#fK||this.renderCommentButton(),this.#fK.style.backgroundColor=this.commentButtonColor||"")}get commentButtonColor(){let{color:a,opacity:b}=this.#fP.commentData;return a?this.#fF._commentManager.makeCommentColor(a,b):null}focusCommentButton(){setTimeout(()=>{this.#fK?.focus()},0)}getData(){let{richText:a,color:b,opacity:c,creationDate:d,modificationDate:e}=this.#fP.commentData;return{contentsObj:{str:this.comment},richText:a,color:b,opacity:c,creationDate:d,modificationDate:e}}get elementBeforePopup(){return this.#fK}get comment(){return this.#fQ||=this.#fP.commentText,this.#fQ}set comment(a){a!==this.comment&&(this.#fP.commentText=this.#fQ=a)}focus(){this.#fP.container?.focus()}get parentBoundingClientRect(){return this.#fP.layer.getBoundingClientRect()}setCommentButtonStates({selected:a,hasPopup:b}){this.#fK&&(this.#fK.classList.toggle("selected",a),this.#fK.ariaExpanded=b)}setSelectedCommentButton(a){this.#fK.classList.toggle("selected",a)}get commentPopupPosition(){if(this.#bl)return this.#bl;let{x:a,y:b,height:c}=this.#fK.getBoundingClientRect(),{x:d,y:e,width:f,height:g}=this.#fP.layer.getBoundingClientRect();return[(a-d)/f,(b+c-e)/g]}set commentPopupPosition(a){this.#bl=a}hasDefaultPopupPosition(){return null===this.#bl}get commentButtonPosition(){return this.#fL}get commentButtonWidth(){return this.#fK.getBoundingClientRect().width/this.parentBoundingClientRect.width}editComment(a){let[b,c]=this.#bl||this.commentButtonPosition.map(a=>a/100),d=this.parentBoundingClientRect,{x:e,y:f,width:g,height:h}=d;this.#U.showDialog(null,this,e+b*g,f+c*h,{...a,parentDimensions:d})}render(){if(this.#fI)return;let a=this.#fI=document.createElement("div");if(a.className="popup",this.#fB){let b=a.style.outlineColor=L.makeHexColor(...this.#fB);a.style.backgroundColor=`color-mix(in srgb, ${b} 30%, white)`}let b=document.createElement("span");if(b.className="header",this.#fN?.str){let a=document.createElement("span");a.className="title",b.append(a),{dir:a.dir,str:a.textContent}=this.#fN}if(a.append(b),this.#fD){let a=document.createElement("time");a.className="popupDate",a.setAttribute("data-l10n-id","pdfjs-annotation-date-time-string"),a.setAttribute("data-l10n-args",JSON.stringify({dateObj:this.#fD.valueOf()})),a.dateTime=this.#fD.toISOString(),b.append(a)}ax({html:this.#fV||this.#fC.str,dir:this.#fC?.dir,className:"popupContent"},a),this.#aC.append(a)}get #fV(){let a=this.#bh,b=this.#fC;return a?.str&&(!b?.str||b.str===a.str)&&this.#bh.html||null}get #fW(){return this.#fV?.attributes?.style?.fontSize||0}get #fX(){return this.#fV?.attributes?.style?.color||null}#fY(a){let b=[],c={style:{color:this.#fX,fontSize:this.#fW?`calc(${this.#fW}px * var(--total-scale-factor))`:""}};for(let d of a.split("\n"))b.push({name:"span",value:d,attributes:c});return{str:a,html:{name:"div",attributes:{dir:"auto"},children:[{name:"p",children:b}]}}}#fg(a){a.altKey||a.shiftKey||a.ctrlKey||a.metaKey||("Enter"===a.key||"Escape"===a.key&&this.#fH)&&this.#fA()}updateEdited({rect:a,popup:b,deleted:c}){if(this.#U){c?(this.remove(),this.#fQ=null):b&&(b.deleted?this.remove():(this.#fT(),this.#fQ=b.text)),a&&(this.#fL=null,this.#fS(),this.#fU());return}c||b?.deleted?this.remove():(this.#fR(),this.#fm||={contentsObj:this.#fC,richText:this.#bh},a&&(this.#H=null),b&&b.text&&(this.#bh=this.#fY(b.text),this.#fD=ag.toDateObject(b.date),this.#fC=null),this.#fI?.remove(),this.#fI=null)}resetEdited(){this.#fm&&({contentsObj:this.#fC,richText:this.#bh}=this.#fm,this.#fm=null,this.#fI?.remove(),this.#fI=null,this.#H=null)}remove(){if(this.#fJ?.abort(),this.#fJ=null,this.#fI?.remove(),this.#fI=null,this.#fO=!1,this.#fH=!1,this.#fK?.remove(),this.#fK=null,this.trigger)for(let a of this.trigger)a.classList.remove("popupTriggerArea")}#fZ(){if(null!==this.#H)return;let{page:{view:a},viewport:{rawDims:{pageWidth:b,pageHeight:c,pageX:d,pageY:e}}}=this.#fF,f=!!this.#fG,g=f?this.#fG:this.#fM;for(let a of this.#fE)if(!g||null!==L.intersect(a.data.rect,g)){g=a.data.rect,f=!0;break}let h=L.normalizeRect([g[0],a[3]-g[1]+a[1],g[2],a[3]-g[3]+a[1]]),i=f?g[2]-g[0]+5:0,j=h[0]+i,k=h[1];this.#H=[100*(j-d)/b,100*(k-e)/c];let{style:l}=this.#aC;l.left=`${this.#H[0]}%`,l.top=`${this.#H[1]}%`}#fA(){this.#U?this.#U.toggleCommentPopup(this,!1):(this.#fH=!this.#fH,this.#fH?(this.#fy(),this.#aC.addEventListener("click",this.#fz),this.#aC.addEventListener("keydown",this.#fu)):(this.#fw(),this.#aC.removeEventListener("click",this.#fz),this.#aC.removeEventListener("keydown",this.#fu)))}#fy(){this.#fI||this.render(),this.isVisible?this.#fH&&this.#aC.classList.add("focused"):(this.#fZ(),this.#aC.hidden=!1,this.#aC.style.zIndex=parseInt(this.#aC.style.zIndex,10)+1e3)}#fw(){this.#aC.classList.remove("focused"),!this.#fH&&this.isVisible&&(this.#aC.hidden=!0,this.#aC.style.zIndex=parseInt(this.#aC.style.zIndex,10)-1e3)}forceHide(){this.#fO=this.isVisible,this.#fO&&(this.#aC.hidden=!0)}maybeShow(){this.#U||(this.#fR(),this.#fO&&(this.#fI||this.#fy(),this.#fO=!1,this.#aC.hidden=!1))}get isVisible(){return!this.#U&&!1===this.#aC.hidden}}class c9 extends cY{constructor(a){super(a,{isRenderable:!0,ignoreBorder:!0}),this.textContent=a.data.textContent,this.textPosition=a.data.textPosition,this.annotationEditorType=l.FREETEXT}render(){if(this.container.classList.add("freeTextAnnotation"),this.textContent){let a=this.contentElement=document.createElement("div");for(let b of(a.classList.add("annotationTextContent"),a.setAttribute("role","comment"),this.textContent)){let c=document.createElement("span");c.textContent=b,a.append(c)}this.container.append(a)}return!this.data.popupRef&&this.hasPopupData&&(this.hasOwnCommentButton=!0,this._createPopup()),this._editOnDoubleClick(),this.container}}class da extends cY{#f$=null;constructor(a){super(a,{isRenderable:!0,ignoreBorder:!0})}render(){this.container.classList.add("lineAnnotation");let{data:a,width:b,height:c}=this,d=this.svgFactory.create(b,c,!0),e=this.#f$=this.svgFactory.createElement("svg:line");return e.setAttribute("x1",a.rect[2]-a.lineCoordinates[0]),e.setAttribute("y1",a.rect[3]-a.lineCoordinates[1]),e.setAttribute("x2",a.rect[2]-a.lineCoordinates[2]),e.setAttribute("y2",a.rect[3]-a.lineCoordinates[3]),e.setAttribute("stroke-width",a.borderStyle.width||1),e.setAttribute("stroke","transparent"),e.setAttribute("fill","transparent"),d.append(e),this.container.append(d),!a.popupRef&&this.hasPopupData&&(this.hasOwnCommentButton=!0,this._createPopup()),this.container}getElementsToTriggerPopup(){return this.#f$}addHighlightArea(){this.container.classList.add("highlightArea")}}class db extends cY{#f_=null;constructor(a){super(a,{isRenderable:!0,ignoreBorder:!0})}render(){this.container.classList.add("squareAnnotation");let{data:a,width:b,height:c}=this,d=this.svgFactory.create(b,c,!0),e=a.borderStyle.width,f=this.#f_=this.svgFactory.createElement("svg:rect");return f.setAttribute("x",e/2),f.setAttribute("y",e/2),f.setAttribute("width",b-e),f.setAttribute("height",c-e),f.setAttribute("stroke-width",e||1),f.setAttribute("stroke","transparent"),f.setAttribute("fill","transparent"),d.append(f),this.container.append(d),!a.popupRef&&this.hasPopupData&&(this.hasOwnCommentButton=!0,this._createPopup()),this.container}getElementsToTriggerPopup(){return this.#f_}addHighlightArea(){this.container.classList.add("highlightArea")}}class dc extends cY{#f0=null;constructor(a){super(a,{isRenderable:!0,ignoreBorder:!0})}render(){this.container.classList.add("circleAnnotation");let{data:a,width:b,height:c}=this,d=this.svgFactory.create(b,c,!0),e=a.borderStyle.width,f=this.#f0=this.svgFactory.createElement("svg:ellipse");return f.setAttribute("cx",b/2),f.setAttribute("cy",c/2),f.setAttribute("rx",b/2-e/2),f.setAttribute("ry",c/2-e/2),f.setAttribute("stroke-width",e||1),f.setAttribute("stroke","transparent"),f.setAttribute("fill","transparent"),d.append(f),this.container.append(d),!a.popupRef&&this.hasPopupData&&(this.hasOwnCommentButton=!0,this._createPopup()),this.container}getElementsToTriggerPopup(){return this.#f0}addHighlightArea(){this.container.classList.add("highlightArea")}}class dd extends cY{#f1=null;constructor(a){super(a,{isRenderable:!0,ignoreBorder:!0}),this.containerClassName="polylineAnnotation",this.svgElementName="svg:polyline"}render(){this.container.classList.add(this.containerClassName);let{data:{rect:a,vertices:b,borderStyle:c,popupRef:d},width:e,height:f}=this;if(!b)return this.container;let g=this.svgFactory.create(e,f,!0),h=[];for(let c=0,d=b.length;c<d;c+=2){let d=b[c]-a[0],e=a[3]-b[c+1];h.push(`${d},${e}`)}h=h.join(" ");let i=this.#f1=this.svgFactory.createElement(this.svgElementName);return i.setAttribute("points",h),i.setAttribute("stroke-width",c.width||1),i.setAttribute("stroke","transparent"),i.setAttribute("fill","transparent"),g.append(i),this.container.append(g),!d&&this.hasPopupData&&(this.hasOwnCommentButton=!0,this._createPopup()),this.container}getElementsToTriggerPopup(){return this.#f1}addHighlightArea(){this.container.classList.add("highlightArea")}}class de extends dd{constructor(a){super(a),this.containerClassName="polygonAnnotation",this.svgElementName="svg:polygon"}}class df extends cY{constructor(a){super(a,{isRenderable:!0,ignoreBorder:!0})}render(){return this.container.classList.add("caretAnnotation"),!this.data.popupRef&&this.hasPopupData&&(this.hasOwnCommentButton=!0,this._createPopup()),this.container}}class dg extends cY{#f2=null;#f3=[];constructor(a){super(a,{isRenderable:!0,ignoreBorder:!0}),this.containerClassName="inkAnnotation",this.svgElementName="svg:polyline",this.annotationEditorType="InkHighlight"===this.data.it?l.HIGHLIGHT:l.INK}#f4(a,b){switch(a){case 90:return{transform:`rotate(90) translate(${-b[0]},${b[1]}) scale(1,-1)`,width:b[3]-b[1],height:b[2]-b[0]};case 180:return{transform:`rotate(180) translate(${-b[2]},${b[1]}) scale(1,-1)`,width:b[2]-b[0],height:b[3]-b[1]};case 270:return{transform:`rotate(270) translate(${-b[2]},${b[3]}) scale(1,-1)`,width:b[3]-b[1],height:b[2]-b[0]};default:return{transform:`translate(${-b[0]},${b[3]}) scale(1,-1)`,width:b[2]-b[0],height:b[3]-b[1]}}}render(){this.container.classList.add(this.containerClassName);let{data:{rect:a,rotation:b,inkLists:c,borderStyle:d,popupRef:e}}=this,{transform:f,width:g,height:h}=this.#f4(b,a),i=this.svgFactory.create(g,h,!0),j=this.#f2=this.svgFactory.createElement("svg:g");i.append(j),j.setAttribute("stroke-width",d.width||1),j.setAttribute("stroke-linecap","round"),j.setAttribute("stroke-linejoin","round"),j.setAttribute("stroke-miterlimit",10),j.setAttribute("stroke","transparent"),j.setAttribute("fill","transparent"),j.setAttribute("transform",f);for(let a=0,b=c.length;a<b;a++){let b=this.svgFactory.createElement(this.svgElementName);this.#f3.push(b),b.setAttribute("points",c[a].join(",")),j.append(b)}return!e&&this.hasPopupData&&(this.hasOwnCommentButton=!0,this._createPopup()),this.container.append(i),this._editOnDoubleClick(),this.container}updateEdited(a){super.updateEdited(a);let{thickness:b,points:c,rect:d}=a,e=this.#f2;if(b>=0&&e.setAttribute("stroke-width",b||1),c)for(let a=0,b=this.#f3.length;a<b;a++)this.#f3[a].setAttribute("points",c[a].join(","));if(d){let{transform:a,width:b,height:c}=this.#f4(this.data.rotation,d);e.parentElement.setAttribute("viewBox",`0 0 ${b} ${c}`),e.setAttribute("transform",a)}}getElementsToTriggerPopup(){return this.#f3}addHighlightArea(){this.container.classList.add("highlightArea")}}class dh extends cY{constructor(a){super(a,{isRenderable:!0,ignoreBorder:!0,createQuadrilaterals:!0}),this.annotationEditorType=l.HIGHLIGHT}render(){let{data:{overlaidText:a,popupRef:b}}=this;if(!b&&this.hasPopupData&&(this.hasOwnCommentButton=!0,this._createPopup()),this.container.classList.add("highlightAnnotation"),this._editOnDoubleClick(),a){let b=document.createElement("mark");b.classList.add("overlaidText"),b.textContent=a,this.container.append(b)}return this.container}}class di extends cY{constructor(a){super(a,{isRenderable:!0,ignoreBorder:!0,createQuadrilaterals:!0})}render(){let{data:{overlaidText:a,popupRef:b}}=this;if(!b&&this.hasPopupData&&(this.hasOwnCommentButton=!0,this._createPopup()),this.container.classList.add("underlineAnnotation"),a){let b=document.createElement("u");b.classList.add("overlaidText"),b.textContent=a,this.container.append(b)}return this.container}}class dj extends cY{constructor(a){super(a,{isRenderable:!0,ignoreBorder:!0,createQuadrilaterals:!0})}render(){let{data:{overlaidText:a,popupRef:b}}=this;if(!b&&this.hasPopupData&&(this.hasOwnCommentButton=!0,this._createPopup()),this.container.classList.add("squigglyAnnotation"),a){let b=document.createElement("u");b.classList.add("overlaidText"),b.textContent=a,this.container.append(b)}return this.container}}class dk extends cY{constructor(a){super(a,{isRenderable:!0,ignoreBorder:!0,createQuadrilaterals:!0})}render(){let{data:{overlaidText:a,popupRef:b}}=this;if(!b&&this.hasPopupData&&(this.hasOwnCommentButton=!0,this._createPopup()),this.container.classList.add("strikeoutAnnotation"),a){let b=document.createElement("s");b.classList.add("overlaidText"),b.textContent=a,this.container.append(b)}return this.container}}class dl extends cY{constructor(a){super(a,{isRenderable:!0,ignoreBorder:!0}),this.annotationEditorType=l.STAMP}render(){return this.container.classList.add("stampAnnotation"),this.container.setAttribute("role","img"),!this.data.popupRef&&this.hasPopupData&&(this.hasOwnCommentButton=!0,this._createPopup()),this._editOnDoubleClick(),this.container}}class dm extends cY{#f5=null;constructor(a){super(a,{isRenderable:!0});const{fileId:b,file:c}=this.data;this.filename=c.filename,this.content=c.content,this.fileId=b,this.linkService.eventBus?.dispatch("fileattachmentannotation",{source:this,attachmentId:this.fileId,...c})}render(){let a;this.container.classList.add("fileAttachmentAnnotation");let{container:b,data:c}=this;c.hasAppearance||0===c.fillAlpha?a=document.createElement("div"):((a=document.createElement("img")).src=`${this.imageResourcesPath}annotation-${/paperclip/i.test(c.name)?"paperclip":"pushpin"}.svg`,c.fillAlpha&&c.fillAlpha<1&&(a.style=`filter: opacity(${Math.round(100*c.fillAlpha)}%);`)),a.addEventListener("dblclick",this.#f6.bind(this)),this.#f5=a;let{isMac:d}=K.platform;return b.addEventListener("keydown",a=>{"Enter"===a.key&&(d?a.metaKey:a.ctrlKey)&&this.#f6()}),!c.popupRef&&this.hasPopupData?(this.hasOwnCommentButton=!0,this._createPopup()):a.classList.add("popupTriggerArea"),b.append(a),b}getElementsToTriggerPopup(){return this.#f5}addHighlightArea(){this.container.classList.add("highlightArea")}async #f6(){let{fileId:a,filename:b,content:c}=this,d=await this.linkService.getAttachmentContent(a)||c;d&&this.downloadManager?.openOrDownloadData(d,b)}}class dn extends cY{#K=new AbortController;#f7=null;#f8=null;constructor(a){super(a,{isRenderable:!!a.data.richMedia})}render(){this.container.classList.add("mediaAnnotation");let{filename:a}=this.data.richMedia,b=document.createElement("button");return b.className="mediaPlayButton",b.type="button",b.title=b.ariaLabel=a,b.addEventListener("click",()=>this.#f9(b),{signal:this.#K.signal}),this.container.append(b),this.container}async #f9(a){let b,{fileId:c,filename:d,contentType:e}=this.data.richMedia;a.disabled=!0;try{b=await this.linkService.getAttachmentContent(c)}catch{return}finally{a.disabled=!1}if(!b||!a.isConnected)return;let{signal:f}=this.#K,g=URL.createObjectURL(new Blob([b],{type:e}));this.#f7=g;let h=e.startsWith("audio/"),i=document.createElement(h?"audio":"video");if(this.#f8=i,i.className="mediaContent",this._setBackgroundColor(i),i.src=g,i.title=d,i.controls=!0,i.autoplay=!0,i.tabIndex=0,h){let a=!1,b=!1,c=()=>{i.controls=a||b};this.container.addEventListener("pointerenter",()=>{a=!0,c()},{signal:f}),this.container.addEventListener("pointerleave",()=>{a=!1,c()},{signal:f}),this.container.addEventListener("focusin",()=>{b=!0,c()},{signal:f}),this.container.addEventListener("focusout",()=>{b=!1,c()},{signal:f})}i.addEventListener("emptied",()=>this.#ga(g),{once:!0,signal:f}),a.replaceWith(i),i.play().catch(()=>{})}#ga(a=this.#f7){a&&a===this.#f7&&(URL.revokeObjectURL(a),this.#f7=null)}destroy(){this.#K.abort(),this.#f8&&(this.#f8.pause(),this.#f8.removeAttribute("src"),this.#f8.load(),this.#f8=null),this.#ga()}}class dp{#gb=null;#gc=null;#R=null;#gd=new Map;#ge=null;#gf=null;#fE=[];#gg=!1;zIndex=0;constructor({div:a,accessibilityManager:b,annotationCanvasMap:c,annotationEditorUIManager:d,page:e,viewport:f,structTreeLayer:g,commentManager:h,linkService:i,annotationStorage:j}){this.div=a,this.#gb=b,this.#gc=c,this.#ge=g||null,this.#gf=i||null,this.#R=j||new aR,this.page=e,this.viewport=f,this._annotationEditorUIManager=d,this._commentManager=h||null}hasEditableAnnotations(){return this.#gd.size>0}async render(a){let{annotations:b,optionalContentConfig:c}=a,d=this.div;al(d,this.viewport);let e=new Map,f=[],g={data:null,layer:d,linkService:this.#gf,downloadManager:a.downloadManager,imageResourcesPath:a.imageResourcesPath||"",renderForms:!1!==a.renderForms,svgFactory:new cU,annotationStorage:this.#R,enableComment:!0===a.enableComment,enableScripting:!0===a.enableScripting,hasJSActions:a.hasJSActions,fieldObjects:a.fieldObjects,parent:this,elements:null};for(let a of b){if(a.noHTML)continue;let b=a.annotationType===p.POPUP;if(b){let b=e.get(a.id);if(!b)continue;if(!this._commentManager){f.push(a);continue}g.elements=b}else if(a.rect[2]===a.rect[0]||a.rect[3]===a.rect[1])continue;g.data=a;let d=cX.create(g);if(!d.isRenderable)continue;!b&&(this.#fE.push(d),a.popupRef&&e.getOrInsertComputed(a.popupRef,Q).push(d));let h=d.render();a.hidden&&(h.style.visibility="hidden"),d.updateOC(c),d._isEditable&&(this.#gd.set(d.data.id,d),this._annotationEditorUIManager?.renderAnnotationElement(d))}for(let a of(await this.#gh(),f)){let b=g.elements=e.get(a.id);g.data=a;let c=cX.create(g);if(!c.isRenderable)continue;let d=c.render();c.contentElement.id=`${j}${a.id}`,a.hidden&&(d.style.visibility="hidden"),b.at(-1).container.after(d)}this.#gi()}async #gh(){if(0===this.#fE.length)return;this.div.replaceChildren();let a=[];if(!this.#gg)for(let{contentElement:b,data:{id:c}}of(this.#gg=!0,this.#fE)){let d=b.id=`${j}${c}`;a.push(this.#ge?.getAriaAttributes(d).then(a=>{if(a)for(let[c,d]of a)b.setAttribute(c,d)}))}this.#fE.sort(({data:{rect:[a,b,c,d]}},{data:{rect:[e,f,g,h]}})=>{if(a===c&&b===d)return 1;if(e===g&&f===h)return -1;let i=(b+d)/2,j=(f+h)/2;return i>=h&&j<=b?-1:j>=d&&i<=f?1:(a+c)/2-(e+g)/2});let b=document.createDocumentFragment();for(let a of this.#fE)b.append(a.container),this._commentManager?(a.extraPopupElement?.popup||a.popup)?.renderCommentButton():a.extraPopupElement&&b.append(a.extraPopupElement.render());if(this.div.append(b),await Promise.all(a),this.#gb)for(let a of this.#fE)this.#gb.addPointerInTextLayer(a.contentElement,!1)}async addLinkAnnotations(a){let b={data:null,layer:this.div,linkService:this.#gf,svgFactory:new cU,parent:this};for(let c of a){c.borderStyle||=dp._defaultBorderStyle,b.data=c;let a=cX.create(b);a.isRenderable&&(a.render(),a.contentElement.id=`${j}${c.id}`,this.#fE.push(a))}await this.#gh()}update({viewport:a,optionalContentConfig:b}){let c=this.div;for(let d of(this.viewport=a,al(c,{rotation:a.rotation}),this.#fE))d.updateOC(b);this.#gi(),c.hidden=!1}destroy(){for(let a of this.#fE)a.destroy?.(),this.#gb?.removePointerInTextLayer(a.contentElement);this.#fE.length=0,this.#gd.clear(),this.div.replaceChildren()}#gi(){if(!this.#gc)return;let a=this.div;for(let[b,c]of this.#gc){let d=a.querySelector(`[data-annotation-id="${b}"]`);if(!d)continue;if(Array.isArray(c))for(let a of c)a.className="annotationContent",a.ariaHidden=!0;else c.className="annotationContent",c.ariaHidden=!0;let e=[];for(let a of d.children)"CANVAS"===a.nodeName&&e.push(a);for(let a of e)a.remove();let f=Array.isArray(c)?c[0]:c,{firstChild:g}=d;if(g?g.classList.contains("annotationContent")?g.after(f):g.before(f):d.append(f),Array.isArray(c)){let a=f;for(let b=1,d=c.length;b<d;b++)a.after(c[b]),a=c[b]}this.#gc.delete(b);let h=this.#gd.get(b);h&&(h._hasNoCanvas?(this._annotationEditorUIManager?.setMissingCanvas(b,d.id,c),h._hasNoCanvas=!1):h.canvas=c)}}refreshCanvases(){this.#gi()}getEditableAnnotations(){return this.#gd.values()}getEditableAnnotation(a){return this.#gd.get(a)}addFakeAnnotation(a){let{div:b}=this,{id:c,rotation:d}=a,e=new cZ({data:{id:c,rect:a.getPDFRect(),rotation:d},editor:a,layer:b,parent:this,enableComment:!!this._commentManager,linkService:this.#gf,annotationStorage:this.#R});return e.render(),e.contentElement.id=`${j}${c}`,e.createOrUpdatePopup(),this.#fE.push(e),e}removeAnnotation(a){let b=this.#fE.findIndex(b=>b.data.id===a);if(b<0)return;let[c]=this.#fE.splice(b,1);this.#gb?.removePointerInTextLayer(c.contentElement)}updateFakeAnnotations(a){if(0!==a.length){for(let b of a)b.updateFakeAnnotationElement(this);this.#gh()}}togglePointerEvents(a=!1){this.div.classList.toggle("disabled",!a)}static get _defaultBorderStyle(){return B(this,"_defaultBorderStyle",Object.freeze({width:1,rawWidth:1,style:1,dashArray:[3],horizontalCornerRadius:0,verticalCornerRadius:0}))}}let dq=/\r\n?|\n/g;class dr extends aN{#gj="";#gk=`${this.id}-editor`;#gl=null;#fW;_colorPicker=null;static _freeTextDefaultContent="";static _internalPadding=0;static _defaultColor=null;static _defaultFontSize=10;static get _keyboardManager(){let a=dr.prototype,b=a=>a.isEmpty(),c=aJ.TRANSLATE_SMALL,d=aJ.TRANSLATE_BIG;return B(this,"_keyboardManager",new aH([[["ctrl+s","mac+meta+s","ctrl+p","mac+meta+p"],a.commitOrRemove,{bubbles:!0}],[["ctrl+Enter","mac+meta+Enter"],a.commitOrRemove],[["Escape"],a.commitOrRemove],[["ArrowLeft"],a._translateEmpty,{args:[-c,0],checker:b}],[["ctrl+ArrowLeft","mac+shift+ArrowLeft"],a._translateEmpty,{args:[-d,0],checker:b}],[["ArrowRight"],a._translateEmpty,{args:[c,0],checker:b}],[["ctrl+ArrowRight","mac+shift+ArrowRight"],a._translateEmpty,{args:[d,0],checker:b}],[["ArrowUp"],a._translateEmpty,{args:[0,-c],checker:b}],[["ctrl+ArrowUp","mac+shift+ArrowUp"],a._translateEmpty,{args:[0,-d],checker:b}],[["ArrowDown"],a._translateEmpty,{args:[0,c],checker:b}],[["ctrl+ArrowDown","mac+shift+ArrowDown"],a._translateEmpty,{args:[0,d],checker:b}]]))}static _type="freetext";static _editorType=l.FREETEXT;constructor(a){super({...a,name:"freeTextEditor"}),this.color=a.color||dr._defaultColor||aN._defaultLineColor,this.#fW=a.fontSize||dr._defaultFontSize,this.annotationElementId||this._uiManager.a11yAlert(aN._l10nAlert.freetext),this.canAddComment=!1}static initialize(a,b){aN.initialize(a,b);let c=getComputedStyle(document.documentElement);this._internalPadding=parseFloat(c.getPropertyValue("--freetext-padding"))}static updateDefaultParams(a,b){switch(a){case m.FREETEXT_SIZE:dr._defaultFontSize=b;break;case m.FREETEXT_COLOR:dr._defaultColor=b}}updateParams(a,b){switch(a){case m.FREETEXT_SIZE:this.#gm(b);break;case m.FREETEXT_COLOR:this.#fT(b)}}static get defaultPropertiesToUpdate(){return[[m.FREETEXT_SIZE,dr._defaultFontSize],[m.FREETEXT_COLOR,dr._defaultColor||aN._defaultLineColor]]}get propertiesToUpdate(){return[[m.FREETEXT_SIZE,this.#fW],[m.FREETEXT_COLOR,this.color]]}get toolbarButtons(){return this._colorPicker||=new cP(this),[["colorPicker",this._colorPicker]]}get colorType(){return m.FREETEXT_COLOR}#gm(a){let b=a=>{this.editorDiv.style.fontSize=`calc(${a}px * var(--total-scale-factor))`,this.translate(0,-(a-this.#fW)*this.parentScale),this.#fW=a,this.#gn()},c=this.#fW;this.addCommands({cmd:b.bind(this,a),undo:b.bind(this,c),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:m.FREETEXT_SIZE,overwriteIfSameType:!0,keepUndo:!0})}onUpdatedColor(){this.editorDiv.style.color=this.color,this._colorPicker?.update(this.color),super.onUpdatedColor()}#fT(a){let b=a=>{this.color=a,this.onUpdatedColor()},c=this.color;this.addCommands({cmd:b.bind(this,a),undo:b.bind(this,c),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:m.FREETEXT_COLOR,overwriteIfSameType:!0,keepUndo:!0})}_translateEmpty(a,b){this._uiManager.translateSelectedEditors(a,b,!0)}getInitialTranslation(){let a=this.parentScale;return[-dr._internalPadding*a,-(dr._internalPadding+this.#fW)*a]}rebuild(){!this.parent||(super.rebuild(),null!==this.div&&(this.isAttachedToDOM||this.parent.add(this)))}enableEditMode(){if(!super.enableEditMode())return!1;this.overlayDiv.classList.remove("enabled"),this.editorDiv.contentEditable=!0,this._isDraggable=!1,this.div.removeAttribute("aria-activedescendant"),this.#gl=new AbortController;let a=this._uiManager.combinedSignal(this.#gl);return this.editorDiv.addEventListener("keydown",this.editorDivKeydown.bind(this),{signal:a}),this.editorDiv.addEventListener("focus",this.editorDivFocus.bind(this),{signal:a}),this.editorDiv.addEventListener("blur",this.editorDivBlur.bind(this),{signal:a}),this.editorDiv.addEventListener("input",this.editorDivInput.bind(this),{signal:a}),this.editorDiv.addEventListener("paste",this.editorDivPaste.bind(this),{signal:a}),!0}disableEditMode(){return!!super.disableEditMode()&&(this.overlayDiv.classList.add("enabled"),this.editorDiv.contentEditable=!1,this.div.setAttribute("aria-activedescendant",this.#gk),this._isDraggable=!0,this.#gl?.abort(),this.#gl=null,this.div.focus({preventScroll:!0}),this.isEditing=!1,this.parent.div.classList.add("freetextEditing"),!0)}focusin(a){this._focusEventsAllowed&&(super.focusin(a),a.target!==this.editorDiv&&this.editorDiv.focus())}onceAdded(a){this.width||(this.enableEditMode(),a&&this.editorDiv.focus(),this._initialOptions?.isCentered&&this.center(),this._initialOptions=null)}isEmpty(){return!this.editorDiv||""===this.editorDiv.innerText.trim()}remove(){this.isEditing=!1,this.parent&&(this.parent.setEditingState(!0),this.parent.div.classList.add("freetextEditing")),super.remove()}#go(){let a=[];this.editorDiv.normalize();let b=null;for(let c of this.editorDiv.childNodes)(b?.nodeType!==Node.TEXT_NODE||"BR"!==c.nodeName)&&(a.push(dr.#gp(c)),b=c);return a.join("\n")}#gn(){let a,[b,c]=this.parentDimensions;if(this.isAttachedToDOM)a=this.div.getBoundingClientRect();else{let{currentLayer:b,div:c}=this,d=c.style.display,e=c.classList.contains("hidden");c.classList.remove("hidden"),c.style.display="hidden",b.div.append(this.div),a=c.getBoundingClientRect(),c.remove(),c.style.display=d,c.classList.toggle("hidden",e)}this.rotation%180==this.parentRotation%180?(this.width=a.width/b,this.height=a.height/c):(this.width=a.height/b,this.height=a.width/c),this.fixAndSetPosition()}commit(){if(!this.isInEditMode())return;super.commit(),this.disableEditMode();let a=this.#gj,b=this.#gj=this.#go().trimEnd();if(a===b)return;let c=a=>{(this.#gj=a,a)?(this.#gq(),this._uiManager.rebuild(this),this.#gn()):this.remove()};this.addCommands({cmd:()=>{c(b)},undo:()=>{c(a)},mustExec:!1}),this.#gn()}shouldGetKeyboardEvents(){return this.isInEditMode()}enterInEditMode(){this.enableEditMode(),this.editorDiv.focus()}keydown(a){a.target===this.div&&"Enter"===a.key&&(this.enterInEditMode(),a.preventDefault())}editorDivKeydown(a){dr._keyboardManager.exec(this,a)}editorDivFocus(a){this.isEditing=!0}editorDivBlur(a){this.isEditing=!1}editorDivInput(a){this.parent.div.classList.toggle("freetextEditing",this.isEmpty())}disableEditing(){this.editorDiv.setAttribute("role","comment"),this.editorDiv.removeAttribute("aria-multiline")}enableEditing(){this.editorDiv.setAttribute("role","textbox"),this.editorDiv.setAttribute("aria-multiline",!0)}get canChangeContent(){return!0}render(){let a,b;if(this.div)return this.div;(this._isCopy||this.annotationElementId)&&(a=this.x,b=this.y),super.render(),this.editorDiv=document.createElement("div"),this.editorDiv.className="internal",this.editorDiv.setAttribute("id",this.#gk),this.editorDiv.setAttribute("data-l10n-id","pdfjs-free-text2"),this.editorDiv.setAttribute("data-l10n-attrs","default-content"),this.enableEditing(),this.editorDiv.contentEditable=!0;let{style:c}=this.editorDiv;if(c.fontSize=`calc(${this.#fW}px * var(--total-scale-factor))`,c.color=this.color,this.div.append(this.editorDiv),this.overlayDiv=document.createElement("div"),this.overlayDiv.classList.add("overlay","enabled"),this.div.append(this.overlayDiv),this._isCopy||this.annotationElementId){let[c,d]=this.parentDimensions;if(this.annotationElementId){let e,f,{position:g}=this._initialData,[h,i]=this.getInitialTranslation();[h,i]=this.pageTranslationToScreen(h,i);let[j,k]=this.pageDimensions,[l,m]=this.pageTranslation;switch(this.rotation){case 0:e=a+(g[0]-l)/j,f=b+this.height-(g[1]-m)/k;break;case 90:e=a+(g[0]-l)/j,f=b-(g[1]-m)/k,[h,i]=[i,-h];break;case 180:e=a-this.width+(g[0]-l)/j,f=b-(g[1]-m)/k,[h,i]=[-h,-i];break;case 270:e=a+(g[0]-l-this.height*k)/j,f=b+(g[1]-m-this.width*j)/k,[h,i]=[-i,h]}this.setAt(e*c,f*d,h,i)}else this._moveAfterPaste(a,b);this.#gq(),this._isDraggable=!0,this.editorDiv.contentEditable=!1}else this._isDraggable=!1,this.editorDiv.contentEditable=!0;return this.div}static #gp(a){return(a.nodeType===Node.TEXT_NODE?a.nodeValue:a.innerText).replaceAll(dq,"")}editorDivPaste(a){let b=a.clipboardData||window.clipboardData,{types:c}=b;if(1===c.length&&"text/plain"===c[0])return;a.preventDefault();let d=dr.#gr(b.getData("text")||"").replaceAll(dq,"\n");if(!d)return;let e=window.getSelection();if(!e.rangeCount)return;this.editorDiv.normalize(),e.deleteFromDocument();let f=e.getRangeAt(0);if(!d.includes("\n")){f.insertNode(document.createTextNode(d)),this.editorDiv.normalize(),e.collapseToStart();return}let{startContainer:g,startOffset:h}=f,i=[],j=[];if(g.nodeType===Node.TEXT_NODE){let a=g.parentElement;if(j.push(g.nodeValue.slice(h).replaceAll(dq,"")),a!==this.editorDiv){let b=i;for(let c of this.editorDiv.childNodes){if(c===a){b=j;continue}b.push(dr.#gp(c))}}i.push(g.nodeValue.slice(0,h).replaceAll(dq,""))}else if(g===this.editorDiv){let a=i,b=0;for(let c of this.editorDiv.childNodes)b++===h&&(a=j),a.push(dr.#gp(c))}this.#gj=`${i.join("\n")}${d}${j.join("\n")}`,this.#gq();let k=new Range,l=Math.sumPrecise(i.map(a=>a.length));for(let{firstChild:a}of this.editorDiv.childNodes)if(a.nodeType===Node.TEXT_NODE){let b=a.nodeValue.length;if(l<=b){k.setStart(a,l),k.setEnd(a,l);break}l-=b}e.removeAllRanges(),e.addRange(k)}#gq(){if(this.editorDiv.replaceChildren(),this.#gj)for(let a of this.#gj.split("\n")){let b=document.createElement("div");b.append(a?document.createTextNode(a):document.createElement("br")),this.editorDiv.append(b)}}#gs(){return this.#gj.replaceAll("\xa0"," ")}static #gr(a){return a.replaceAll(" ","\xa0")}get contentDiv(){return this.editorDiv}getPDFRect(){let a=dr._internalPadding*this.parentScale;return this.getRect(a,a)}static async deserialize(a,b,c){let d=null;if(a instanceof c9){let{data:{defaultAppearanceData:{fontSize:b,fontColor:c},rect:e,rotation:f,id:g,popupRef:h,richText:i,contentsObj:j,creationDate:k,modificationDate:m},textContent:n,textPosition:o,parent:{page:{pageNumber:p}}}=a;if(!n?.length)return null;d=a={annotationType:l.FREETEXT,color:Array.from(c),fontSize:b,value:n.join("\n"),position:o,pageIndex:p-1,rect:e.slice(0),rotation:f,annotationElementId:g,id:g,deleted:!1,popupRef:h,comment:j?.str||null,richText:i,creationDate:k,modificationDate:m}}let e=await super.deserialize(a,b,c);return e.#fW=a.fontSize,e.color=L.makeHexColor(...a.color),e.#gj=dr.#gr(a.value),e._initialData=d,a.comment&&e.setCommentData(a),e}serialize(a=!1){if(this.isEmpty())return null;if(this.deleted)return this.serializeDeleted();let b=aN._colorManager.convert(this.isAttachedToDOM?getComputedStyle(this.editorDiv).color:this.color),c=Object.assign(super.serialize(a),{color:b,fontSize:this.#fW,value:this.#gs()});return(this.addComment(c),a)?(c.isCopy=!0,c):this.annotationElementId&&!this.#gt(c)?null:(c.id=this.annotationElementId,c)}#gt(a){let{value:b,fontSize:c,color:d,pageIndex:e}=this._initialData;return this.hasEditedComment||this._hasBeenMoved||a.value!==b||a.fontSize!==c||a.color.some((a,b)=>a!==d[b])||a.pageIndex!==e}renderAnnotationElement(a){let b=super.renderAnnotationElement(a);if(!b)return null;let{style:c}=b;for(let a of(c.fontSize=`calc(${this.#fW}px * var(--total-scale-factor))`,c.color=this.color,b.replaceChildren(),this.#gj.split("\n"))){let c=document.createElement("div");c.append(a?document.createTextNode(a):document.createElement("br")),b.append(c)}return a.updateEdited({rect:this.getPDFRect(),popup:this._uiManager.hasCommentManager()||this.hasEditedComment?this.comment:{text:this.#gj}}),b}resetAnnotationElement(a){super.resetAnnotationElement(a),a.resetEdited()}}class ds{static PRECISION=1e-4;toSVGPath(){w("Abstract method `toSVGPath` must be implemented.")}get box(){w("Abstract getter `box` must be implemented.")}serialize(a,b){w("Abstract method `serialize` must be implemented.")}static _rescale(a,b,c,d,e,f){f||=new Float32Array(a.length);for(let g=0,h=a.length;g<h;g+=2)f[g]=b+a[g]*d,f[g+1]=c+a[g+1]*e;return f}static _rescaleAndSwap(a,b,c,d,e,f){f||=new Float32Array(a.length);for(let g=0,h=a.length;g<h;g+=2)f[g]=b+a[g+1]*d,f[g+1]=c+a[g]*e;return f}static _translate(a,b,c,d){d||=new Float32Array(a.length);for(let e=0,f=a.length;e<f;e+=2)d[e]=b+a[e],d[e+1]=c+a[e+1];return d}static svgRound(a){return Math.round(1e4*a)}static _normalizePoint(a,b,c,d,e){switch(e){case 90:return[1-b/c,a/d];case 180:return[1-a/c,1-b/d];case 270:return[b/c,1-a/d];default:return[a/c,b/d]}}static createBezierPoints(a,b,c,d,e,f){return[(a+5*c)/6,(b+5*d)/6,(5*c+e)/6,(5*d+f)/6,(c+e)/2,(d+f)/2]}}class dt{#gu;#gv=[];#gw;#gx;#gy=[];#gz=new Float32Array(18);#gA;#gB;#gC;#gD;#gE;#gF;#gG=[];static #gH=8;static #gI=2;static #gJ=dt.#gH+dt.#gI;constructor({x:a,y:b},c,d,e,f,g=0){this.#gu=c,this.#gF=e*d,this.#gx=f,this.#gz.set([NaN,NaN,NaN,NaN,a,b],6),this.#gw=g,this.#gD=dt.#gH*d,this.#gC=dt.#gJ*d,this.#gE=d,this.#gG.push(a,b)}isEmpty(){return isNaN(this.#gz[8])}#gK(){let a=this.#gz.subarray(4,6),b=this.#gz.subarray(16,18),[c,d,e,f]=this.#gu;return[(this.#gA+(a[0]-b[0])/2-c)/e,(this.#gB+(a[1]-b[1])/2-d)/f,(this.#gA+(b[0]-a[0])/2-c)/e,(this.#gB+(b[1]-a[1])/2-d)/f]}add({x:a,y:b}){this.#gA=a,this.#gB=b;let[c,d,e,f]=this.#gu,[g,h,i,j]=this.#gz.subarray(8,12),k=a-i,l=b-j,m=Math.hypot(k,l);if(m<this.#gC)return!1;let n=m-this.#gD,o=n/m,p=o*k,q=o*l,r=g,s=h;g=i,h=j,i+=p,j+=q,this.#gG?.push(a,b);let t=-q/n*this.#gF,u=p/n*this.#gF;return(this.#gz.set(this.#gz.subarray(2,8),0),this.#gz.set([i+t,j+u],4),this.#gz.set(this.#gz.subarray(14,18),12),this.#gz.set([i-t,j-u],16),isNaN(this.#gz[6]))?(0===this.#gy.length&&(this.#gz.set([g+t,h+u],2),this.#gy.push(NaN,NaN,NaN,NaN,(g+t-c)/e,(h+u-d)/f),this.#gz.set([g-t,h-u],14),this.#gv.push(NaN,NaN,NaN,NaN,(g-t-c)/e,(h-u-d)/f)),this.#gz.set([r,s,g,h,i,j],6),!this.isEmpty()):((this.#gz.set([r,s,g,h,i,j],6),Math.abs(Math.atan2(s-h,r-g)-Math.atan2(q,p))<Math.PI/2)?([g,h,i,j]=this.#gz.subarray(2,6),this.#gy.push(NaN,NaN,NaN,NaN,((g+i)/2-c)/e,((h+j)/2-d)/f),[g,h,r,s]=this.#gz.subarray(14,18),this.#gv.push(NaN,NaN,NaN,NaN,((r+g)/2-c)/e,((s+h)/2-d)/f)):([r,s,g,h,i,j]=this.#gz.subarray(0,6),this.#gy.push(((r+5*g)/6-c)/e,((s+5*h)/6-d)/f,((5*g+i)/6-c)/e,((5*h+j)/6-d)/f,((g+i)/2-c)/e,((h+j)/2-d)/f),[i,j,g,h,r,s]=this.#gz.subarray(12,18),this.#gv.push(((r+5*g)/6-c)/e,((s+5*h)/6-d)/f,((5*g+i)/6-c)/e,((5*h+j)/6-d)/f,((g+i)/2-c)/e,((h+j)/2-d)/f)),!0)}toSVGPath(){if(this.isEmpty())return"";let a=this.#gy,b=this.#gv;if(isNaN(this.#gz[6])&&!this.isEmpty())return this.#gL();let c=[];c.push(`M${a[4]} ${a[5]}`);for(let b=6;b<a.length;b+=6)isNaN(a[b])?c.push(`L${a[b+4]} ${a[b+5]}`):c.push(`C${a[b]} ${a[b+1]} ${a[b+2]} ${a[b+3]} ${a[b+4]} ${a[b+5]}`);this.#gM(c);for(let a=b.length-6;a>=6;a-=6)isNaN(b[a])?c.push(`L${b[a+4]} ${b[a+5]}`):c.push(`C${b[a]} ${b[a+1]} ${b[a+2]} ${b[a+3]} ${b[a+4]} ${b[a+5]}`);return this.#gN(c),c.join(" ")}#gL(){let[a,b,c,d]=this.#gu,[e,f,g,h]=this.#gK();return`M${(this.#gz[2]-a)/c} ${(this.#gz[3]-b)/d} L${(this.#gz[4]-a)/c} ${(this.#gz[5]-b)/d} L${e} ${f} L${g} ${h} L${(this.#gz[16]-a)/c} ${(this.#gz[17]-b)/d} L${(this.#gz[14]-a)/c} ${(this.#gz[15]-b)/d} Z`}#gN(a){let b=this.#gv;a.push(`L${b[4]} ${b[5]} Z`)}#gM(a){let[b,c,d,e]=this.#gu,f=this.#gz.subarray(4,6),g=this.#gz.subarray(16,18),[h,i,j,k]=this.#gK();a.push(`L${(f[0]-b)/d} ${(f[1]-c)/e} L${h} ${i} L${j} ${k} L${(g[0]-b)/d} ${(g[1]-c)/e}`)}newFreeDrawOutline(a,b,c,d,e,f){return new du(a,b,c,d,e,f)}getOutlines(){let a=this.#gy,b=this.#gv,c=this.#gz,[d,e,f,g]=this.#gu,h=new Float32Array((this.#gG?.length??0)+2);for(let a=0,b=h.length-2;a<b;a+=2)h[a]=(this.#gG[a]-d)/f,h[a+1]=(this.#gG[a+1]-e)/g;if(h[h.length-2]=(this.#gA-d)/f,h[h.length-1]=(this.#gB-e)/g,isNaN(c[6])&&!this.isEmpty())return this.#gO(h);let i=new Float32Array(this.#gy.length+24+this.#gv.length),j=a.length;for(let b=0;b<j;b+=2){if(isNaN(a[b])){i[b]=i[b+1]=NaN;continue}i[b]=a[b],i[b+1]=a[b+1]}j=this.#gP(i,j);for(let a=b.length-6;a>=6;a-=6)for(let c=0;c<6;c+=2){if(isNaN(b[a+c])){i[j]=i[j+1]=NaN,j+=2;continue}i[j]=b[a+c],i[j+1]=b[a+c+1],j+=2}return this.#gQ(i,j),this.newFreeDrawOutline(i,h,this.#gu,this.#gE,this.#gw,this.#gx)}#gO(a){let b=this.#gz,[c,d,e,f]=this.#gu,[g,h,i,j]=this.#gK(),k=new Float32Array(36);return k.set([NaN,NaN,NaN,NaN,(b[2]-c)/e,(b[3]-d)/f,NaN,NaN,NaN,NaN,(b[4]-c)/e,(b[5]-d)/f,NaN,NaN,NaN,NaN,g,h,NaN,NaN,NaN,NaN,i,j,NaN,NaN,NaN,NaN,(b[16]-c)/e,(b[17]-d)/f,NaN,NaN,NaN,NaN,(b[14]-c)/e,(b[15]-d)/f],0),this.newFreeDrawOutline(k,a,this.#gu,this.#gE,this.#gw,this.#gx)}#gQ(a,b){let c=this.#gv;return a.set([NaN,NaN,NaN,NaN,c[4],c[5]],b),b+=6}#gP(a,b){let c=this.#gz.subarray(4,6),d=this.#gz.subarray(16,18),[e,f,g,h]=this.#gu,[i,j,k,l]=this.#gK();return a.set([NaN,NaN,NaN,NaN,(c[0]-e)/g,(c[1]-f)/h,NaN,NaN,NaN,NaN,i,j,NaN,NaN,NaN,NaN,k,l,NaN,NaN,NaN,NaN,(d[0]-e)/g,(d[1]-f)/h],b),b+=24}}class du extends ds{#gu;#gR=new Float32Array(4);#gw;#gx;#gG;#gE;#gS;constructor(a,b,c,d,e,f){super(),this.#gS=a,this.#gG=b,this.#gu=c,this.#gE=d,this.#gw=e,this.#gx=f,this.firstPoint=[NaN,NaN],this.lastPoint=[NaN,NaN],this.#gT(f);const[g,h,i,j]=this.#gR;for(let b=0,c=a.length;b<c;b+=2)a[b]=(a[b]-g)/i,a[b+1]=(a[b+1]-h)/j;for(let a=0,c=b.length;a<c;a+=2)b[a]=(b[a]-g)/i,b[a+1]=(b[a+1]-h)/j}toSVGPath(){let a=[`M${this.#gS[4]} ${this.#gS[5]}`];for(let b=6,c=this.#gS.length;b<c;b+=6){if(isNaN(this.#gS[b])){a.push(`L${this.#gS[b+4]} ${this.#gS[b+5]}`);continue}a.push(`C${this.#gS[b]} ${this.#gS[b+1]} ${this.#gS[b+2]} ${this.#gS[b+3]} ${this.#gS[b+4]} ${this.#gS[b+5]}`)}return a.push("Z"),a.join(" ")}serialize([a,b,c,d],e){let f,g,h=c-a,i=d-b;switch(e){case 0:f=ds._rescale(this.#gS,a,d,h,-i),g=ds._rescale(this.#gG,a,d,h,-i);break;case 90:f=ds._rescaleAndSwap(this.#gS,a,b,h,i),g=ds._rescaleAndSwap(this.#gG,a,b,h,i);break;case 180:f=ds._rescale(this.#gS,c,b,-h,i),g=ds._rescale(this.#gG,c,b,-h,i);break;case 270:f=ds._rescaleAndSwap(this.#gS,c,d,-h,-i),g=ds._rescaleAndSwap(this.#gG,c,d,-h,-i)}return{outline:Array.from(f),points:[Array.from(g)]}}#gT(a){let b=this.#gS,c=b[4],d=b[5],f=[c,d,c,d],g=c,h=d,i=c,j=d,k=a?Math.max:Math.min,l=new Float32Array(4);for(let a=6,m=b.length;a<m;a+=6){let m=b[a+4],n=b[a+5];isNaN(b[a])?(L.pointBoundingBox(m,n,f),h>n?(g=m,h=n):h===n&&(g=k(g,m)),j<n?(i=m,j=n):j===n&&(i=k(i,m))):(l.set(e,0),L.bezierBoundingBox(c,d,...b.slice(a,a+6),l),L.rectBoundingBox(...l,f),h>l[1]?(g=l[0],h=l[1]):h===l[1]&&(g=k(g,l[0])),j<l[3]?(i=l[2],j=l[3]):j===l[3]&&(i=k(i,l[2]))),c=m,d=n}let m=this.#gR;m[0]=f[0]-this.#gw,m[1]=f[1]-this.#gw,m[2]=f[2]-f[0]+2*this.#gw,m[3]=f[3]-f[1]+2*this.#gw,this.firstPoint=[g,h],this.lastPoint=[i,j]}get box(){return this.#gR}newOutliner(a,b,c,d,e,f=0){return new dt(a,b,c,d,e,f)}getNewOutline(a,b){let[c,d,e,f]=this.#gR,[g,h,i,j]=this.#gu,k=e*i,l=f*j,m=c*i+g,n=d*j+h,o=this.newOutliner({x:this.#gG[0]*k+m,y:this.#gG[1]*l+n},this.#gu,this.#gE,a,this.#gx,b??this.#gw);for(let a=2;a<this.#gG.length;a+=2)o.add({x:this.#gG[a]*k+m,y:this.#gG[a+1]*l+n});return o.getOutlines()}}class dv{#gu;#gU;#gV;#gW=[];#gX=[];constructor(a,b=0,c=0,d=!0){const f=e.slice();for(const{x:c,y:d,width:e,height:g}of a){const a=1e-4*Math.floor((c-b)/1e-4),h=1e-4*Math.ceil((c+e+b)/1e-4),i=1e-4*Math.floor((d-b)/1e-4),j=1e-4*Math.ceil((d+g+b)/1e-4),k=[a,i,j,!0],l=[h,i,j,!1];this.#gW.push(k,l),L.rectBoundingBox(a,i,h,j,f)}const g=f[2]-f[0]+2*c,h=f[3]-f[1]+2*c,i=f[0]-c,j=f[1]-c;let k=d?-1/0:1/0,l=1/0;const m=this.#gW.at(d?-1:-2),n=[m[0],m[2]];for(const a of this.#gW){const[b,c,e,f]=a;!f&&d?c<l?(l=c,k=b):c===l&&(k=Math.max(k,b)):f&&!d&&(c<l?(l=c,k=b):c===l&&(k=Math.min(k,b))),a[0]=(b-i)/g,a[1]=(c-j)/h,a[2]=(e-j)/h}this.#gu=new Float32Array([i,j,g,h]),this.#gU=[k,l],this.#gV=n}getOutlines(){this.#gW.sort((a,b)=>a[0]-b[0]||a[1]-b[1]||a[2]-b[2]);let a=[];for(let b of this.#gW)b[3]?(a.push(...this.#gY(b)),this.#gZ(b)):(this.#g$(b),a.push(...this.#gY(b)));return this.#g_(a)}#g_(a){let b,c=[],d=new Set;for(let b of a){let[a,d,e]=b;c.push([a,d,b],[a,e,b])}c.sort((a,b)=>a[1]-b[1]||a[0]-b[0]);for(let a=0,b=c.length;a<b;a+=2){let b=c[a][2],e=c[a+1][2];b.push(e),e.push(b),d.add(b),d.add(e)}let e=[];for(;d.size>0;){let a=d.values().next().value,[c,f,g,h,i]=a;d.delete(a);let j=c,k=f;for(b=[c,g],e.push(b);;){let a;if(d.has(h))a=h;else if(d.has(i))a=i;else break;d.delete(a),[c,f,g,h,i]=a,j!==c&&(b.push(j,k,c,k===f?f:g),j=c),k=k===f?g:f}b.push(j,k)}return new dw(e,this.#gu,this.#gU,this.#gV)}#g0(a){let b=this.#gX,c=0,d=b.length-1;for(;c<=d;){let e=c+d>>1,f=b[e][0];if(f===a)return e;f<a?c=e+1:d=e-1}return d+1}#gZ([,a,b]){let c=this.#g0(a);this.#gX.splice(c,0,[a,b])}#g$([,a,b]){let c=this.#g0(a);for(let d=c;d<this.#gX.length;d++){let[c,e]=this.#gX[d];if(c!==a)break;if(c===a&&e===b)return void this.#gX.splice(d,1)}for(let d=c-1;d>=0;d--){let[c,e]=this.#gX[d];if(c!==a)break;if(c===a&&e===b)return void this.#gX.splice(d,1)}}#gY(a){let[b,c,d]=a,e=[[b,c,d]],f=this.#g0(d);for(let a=0;a<f;a++){let[c,d]=this.#gX[a];for(let a=0,f=e.length;a<f;a++){let[,g,h]=e[a];if(!(d<=g)&&!(h<=c)){if(g>=c){if(h>d)e[a][1]=d;else{if(1===f)return[];e.splice(a,1),a--,f--}continue}e[a][2]=c,h>d&&e.push([b,d,h])}}}return e}}class dw extends ds{#gu;#g1;constructor(a,b,c,d){super(),this.#g1=a,this.#gu=b,this.firstPoint=c,this.lastPoint=d}toSVGPath(){let a=[];for(let b of this.#g1){let[c,d]=b;a.push(`M${c} ${d}`);for(let e=2;e<b.length;e+=2){let f=b[e],g=b[e+1];f===c?(a.push(`V${g}`),d=g):g===d&&(a.push(`H${f}`),c=f)}a.push("Z")}return a.join(" ")}serialize([a,b,c,d],e){let f=[],g=c-a,h=d-b;for(let b of this.#g1){let c=Array(b.length);for(let e=0;e<b.length;e+=2)c[e]=a+b[e]*g,c[e+1]=d-b[e+1]*h;f.push(c)}return f}get box(){return this.#gu}}class dx extends dt{newFreeDrawOutline(a,b,c,d,e,f){return new dy(a,b,c,d,e,f)}}class dy extends du{newOutliner(a,b,c,d,e,f=0){return new dx(a,b,c,d,e,f)}}class dz extends aN{#g2=null;#g3=0;#g4;#g5=null;#f=null;#g6=null;#g7=null;#g8=0;#g9=null;#ha=null;#A=null;#hb=!1;#gU=null;#gV=null;#hc=null;#bi="";#gF;#hd="";static _defaultColor=null;static _defaultOpacity=1;static _defaultThickness=12;static _type="highlight";static _editorType=l.HIGHLIGHT;static _freeHighlightId=-1;static _freeHighlight=null;static _freeHighlightClipId="";static get _keyboardManager(){let a=dz.prototype;return B(this,"_keyboardManager",new aH([[["ArrowLeft"],a._moveCaret,{args:[0]}],[["ArrowRight"],a._moveCaret,{args:[1]}],[["ArrowUp"],a._moveCaret,{args:[2]}],[["ArrowDown"],a._moveCaret,{args:[3]}]]))}constructor(a){super({...a,name:"highlightEditor"}),this.color=a.color||dz._defaultColor,this.#gF=a.thickness||dz._defaultThickness,this.opacity=a.opacity||dz._defaultOpacity,this.#g4=a.boxes||null,this.#hd=a.methodOfCreation||"",this.#bi=a.text||"",this._isDraggable=!1,this.defaultL10nId="pdfjs-editor-highlight-editor",a.highlightId>-1?(this.#hb=!0,this.#he(a),this.#hf()):this.#g4&&(this.#g2=a.anchorNode,this.#g3=a.anchorOffset,this.#g7=a.focusNode,this.#g8=a.focusOffset,this.#hg(),this.#hf(),this.rotate(this.rotation)),this.annotationElementId||this._uiManager.a11yAlert(aN._l10nAlert.highlight)}get telemetryInitialData(){return{action:"added",type:this.#hb?"free_highlight":"highlight",color:this._uiManager.getNonHCMColorName(this.color),thickness:this.#gF,methodOfCreation:this.#hd}}get telemetryFinalData(){return{type:"highlight",color:this._uiManager.getNonHCMColorName(this.color)}}static computeTelemetryFinalData(a){return{numberOfColors:a.get("color").size}}#hg(){let a=new dv(this.#g4,.001);this.#ha=a.getOutlines(),[this.x,this.y,this.width,this.height]=this.#ha.box;let b=new dv(this.#g4,.0025,.001,"ltr"===this._uiManager.direction);this.#g6=b.getOutlines();let{firstPoint:c}=this.#ha;this.#gU=[(c[0]-this.x)/this.width,(c[1]-this.y)/this.height];let{lastPoint:d}=this.#g6;this.#gV=[(d[0]-this.x)/this.width,(d[1]-this.y)/this.height]}#he({highlightOutlines:a,highlightId:b,clipPathId:c}){if(this.#ha=a,this.#g6=a.getNewOutline(this.#gF/2+1.5,.0025),b>=0)this.#A=b,this.#g5=c,this.parent.drawLayer.finalizeDraw(b,{bbox:a.box,path:{d:a.toSVGPath()}}),this.#hc=this.parent.drawLayer.drawOutline({rootClass:{highlightOutline:!0,free:!0},bbox:this.#g6.box,path:{d:this.#g6.toSVGPath()}},!0);else if(this.parent){let b=this.parent.viewport.rotation;this.parent.drawLayer.updateProperties(this.#A,{bbox:dz.#hh(this.#ha.box,(b-this.rotation+360)%360),path:{d:a.toSVGPath()}}),this.parent.drawLayer.updateProperties(this.#hc,{bbox:dz.#hh(this.#g6.box,b),path:{d:this.#g6.toSVGPath()}})}let[d,e,f,g]=a.box;switch(this.rotation){case 0:this.x=d,this.y=e,this.width=f,this.height=g;break;case 90:{let[a,b]=this.parentDimensions;this.x=e,this.y=1-d,this.width=f*b/a,this.height=g*a/b;break}case 180:this.x=1-d,this.y=1-e,this.width=f,this.height=g;break;case 270:{let[a,b]=this.parentDimensions;this.x=1-e,this.y=d,this.width=f*b/a,this.height=g*a/b}}let{firstPoint:h}=a;this.#gU=[(h[0]-d)/f,(h[1]-e)/g];let{lastPoint:i}=this.#g6;this.#gV=[(i[0]-d)/f,(i[1]-e)/g]}static initialize(a,b){aN.initialize(a,b),dz._defaultColor||=b.highlightColors?.values().next().value||"#fff066"}static updateDefaultParams(a,b){switch(a){case m.HIGHLIGHT_COLOR:dz._defaultColor=b;break;case m.HIGHLIGHT_THICKNESS:dz._defaultThickness=b}}translateInPage(a,b){}get toolbarPosition(){return this.#gV}get commentButtonPosition(){return this.#gU}updateParams(a,b){switch(a){case m.HIGHLIGHT_COLOR:this.#fT(b);break;case m.HIGHLIGHT_THICKNESS:this.#hi(b)}}static get defaultPropertiesToUpdate(){return[[m.HIGHLIGHT_COLOR,dz._defaultColor],[m.HIGHLIGHT_THICKNESS,dz._defaultThickness]]}get propertiesToUpdate(){return[[m.HIGHLIGHT_COLOR,this.color||dz._defaultColor],[m.HIGHLIGHT_THICKNESS,this.#gF||dz._defaultThickness],[m.HIGHLIGHT_FREE,this.#hb]]}onUpdatedColor(){this.parent?.drawLayer.updateProperties(this.#A,{root:{fill:this.color,"fill-opacity":this.opacity}}),this.#f?.updateColor(this.color),super.onUpdatedColor()}#fT(a){let b=(a,b)=>{this.color=a,this.opacity=b,this.onUpdatedColor()},c=this.color,d=this.opacity;this.addCommands({cmd:b.bind(this,a,dz._defaultOpacity),undo:b.bind(this,c,d),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:m.HIGHLIGHT_COLOR,overwriteIfSameType:!0,keepUndo:!0}),this._reportTelemetry({action:"color_changed",color:this._uiManager.getNonHCMColorName(a)},!0)}#hi(a){let b=this.#gF,c=a=>{this.#gF=a,this.#hj(a)};this.addCommands({cmd:c.bind(this,a),undo:c.bind(this,b),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:m.INK_THICKNESS,overwriteIfSameType:!0,keepUndo:!0}),this._reportTelemetry({action:"thickness_changed",thickness:a},!0)}get toolbarButtons(){return this._uiManager.highlightColors?[["colorPicker",this.#f=new cO({editor:this})]]:super.toolbarButtons}disableEditing(){super.disableEditing(),this.div.classList.toggle("disabled",!0)}enableEditing(){super.enableEditing(),this.div.classList.toggle("disabled",!1)}fixAndSetPosition(){return super.fixAndSetPosition(this.#hk())}getBaseTranslation(){return[0,0]}getRect(a,b){return super.getRect(a,b,this.#hk())}onceAdded(a){this.annotationElementId||this.parent.addUndoableEditor(this),a&&this.div.focus()}remove(){this.#hl(),this._reportTelemetry({action:"deleted"}),super.remove()}rebuild(){!this.parent||(super.rebuild(),null!==this.div&&(this.#hf(),this.isAttachedToDOM||this.parent.add(this)))}setParent(a){let b=!1;this.parent&&!a?this.#hl():a&&(this.#hf(a),b=!this.parent&&this.div?.classList.contains("selectedEditor")),super.setParent(a),this.show(this._isVisible),b&&this.select()}#hj(a){this.#hb&&(this.#he({highlightOutlines:this.#ha.getNewOutline(a/2)}),this.fixAndSetPosition(),this.setDims())}#hl(){null!==this.#A&&this.parent&&(this.parent.drawLayer.remove(this.#A),this.#A=null,this.parent.drawLayer.remove(this.#hc),this.#hc=null)}#hf(a=this.parent){null===this.#A&&({id:this.#A,clipPathId:this.#g5}=a.drawLayer.draw({bbox:this.#ha.box,root:{viewBox:"0 0 1 1",fill:this.color,"fill-opacity":this.opacity},rootClass:{highlight:!0,free:this.#hb},path:{d:this.#ha.toSVGPath()}},!1,!0),this.#hc=a.drawLayer.drawOutline({rootClass:{highlightOutline:!0,free:this.#hb},bbox:this.#g6.box,path:{d:this.#g6.toSVGPath()}},this.#hb),this.#g9&&(this.#g9.style.clipPath=this.#g5))}static #hh([a,b,c,d],e){switch(e){case 90:return[1-b-d,a,d,c];case 180:return[1-a-c,1-b-d,c,d];case 270:return[b,1-a-c,d,c]}return[a,b,c,d]}rotate(a){let b,{drawLayer:c}=this.parent;this.#hb?(a=(a-this.rotation+360)%360,b=dz.#hh(this.#ha.box,a)):b=dz.#hh([this.x,this.y,this.width,this.height],a),c.updateProperties(this.#A,{bbox:b,root:{"data-main-rotation":a}}),c.updateProperties(this.#hc,{bbox:dz.#hh(this.#g6.box,a),root:{"data-main-rotation":a}})}render(){if(this.div)return this.div;let a=super.render();this.#bi&&(a.setAttribute("aria-label",this.#bi),a.setAttribute("role","mark")),this.#hb?a.classList.add("free"):this.div.addEventListener("keydown",this.#hm.bind(this),{signal:this._uiManager._signal});let b=this.#g9=document.createElement("div");return a.append(b),b.setAttribute("aria-hidden","true"),b.className="internal",b.style.clipPath=this.#g5,this.setDims(),aC(this,this.#g9,["pointerover","pointerleave"]),this.enableEditing(),a}pointerover(){this.isSelected||this.parent?.drawLayer.updateProperties(this.#hc,{rootClass:{hovered:!0}})}pointerleave(){this.isSelected||this.parent?.drawLayer.updateProperties(this.#hc,{rootClass:{hovered:!1}})}#hm(a){dz._keyboardManager.exec(this,a)}_moveCaret(a){switch(this.parent.unselect(this),a){case 0:case 2:this.#hn(!0);break;case 1:case 3:this.#hn(!1)}}#hn(a){if(!this.#g2)return;let b=window.getSelection();a?b.setPosition(this.#g2,this.#g3):b.setPosition(this.#g7,this.#g8)}select(){super.select(),this.#hc&&this.parent?.drawLayer.updateProperties(this.#hc,{rootClass:{hovered:!1,selected:!0}})}unselect(){super.unselect(),this.#hc&&(this.parent?.drawLayer.updateProperties(this.#hc,{rootClass:{selected:!1}}),this.#hb||this.#hn(!1))}get _mustFixPosition(){return!this.#hb}show(a=this._isVisible){super.show(a),this.parent&&(this.parent.drawLayer.updateProperties(this.#A,{rootClass:{hidden:!a}}),this.parent.drawLayer.updateProperties(this.#hc,{rootClass:{hidden:!a}}))}#hk(){return this.#hb?this.rotation:0}#ho(){if(this.#hb)return null;let[a,b]=this.pageDimensions,[c,d]=this.pageTranslation,e=this.#g4,f=new Float32Array(8*e.length),g=0;for(let{x:h,y:i,width:j,height:k}of e){let e=h*a+c,l=(1-i)*b+d;f[g]=f[g+4]=e,f[g+1]=f[g+3]=l,f[g+2]=f[g+6]=e+j*a,f[g+5]=f[g+7]=l-k*b,g+=8}return f}#hp(a){return this.#ha.serialize(a,this.#hk())}static startHighlighting(a,b,{target:c,x:d,y:e}){let{x:f,y:g,width:h,height:i}=c.getBoundingClientRect(),j=new AbortController,k=a.combinedSignal(j),l=b=>{j.abort(),this.#hq(a,b)};window.addEventListener("blur",l,{signal:k}),window.addEventListener("pointerup",l,{signal:k}),window.addEventListener("pointerdown",af,{capture:!0,passive:!1,signal:k}),window.addEventListener("contextmenu",ae,{signal:k}),c.addEventListener("pointermove",this.#hr.bind(this,a),{signal:k}),this._freeHighlight=new dx({x:d,y:e},[f,g,h,i],a.scale,this._defaultThickness/2,b,.001),{id:this._freeHighlightId,clipPathId:this._freeHighlightClipId}=a.drawLayer.draw({bbox:[0,0,1,1],root:{viewBox:"0 0 1 1",fill:this._defaultColor,"fill-opacity":this._defaultOpacity},rootClass:{highlight:!0,free:!0},path:{d:this._freeHighlight.toSVGPath()}},!0,!0)}static #hr(a,b){this._freeHighlight.add(b)&&a.drawLayer.updateProperties(this._freeHighlightId,{path:{d:this._freeHighlight.toSVGPath()}})}static #hq(a,b){this._freeHighlight.isEmpty()?a.drawLayer.remove(this._freeHighlightId):a.createAndAddNewEditor(b,!1,{highlightId:this._freeHighlightId,highlightOutlines:this._freeHighlight.getOutlines(),clipPathId:this._freeHighlightClipId,methodOfCreation:"main_toolbar"}),this._freeHighlightId=-1,this._freeHighlight=null,this._freeHighlightClipId=""}static async deserialize(a,b,c){let d=null;if(a instanceof dh){let{data:{quadPoints:b,rect:c,rotation:e,id:f,color:g,opacity:h,popupRef:i,richText:j,contentsObj:k,creationDate:m,modificationDate:n},parent:{page:{pageNumber:o}}}=a;d=a={annotationType:l.HIGHLIGHT,color:Array.from(g),opacity:h,quadPoints:b,boxes:null,pageIndex:o-1,rect:c.slice(0),rotation:e,annotationElementId:f,id:f,deleted:!1,popupRef:i,richText:j,comment:k?.str||null,creationDate:m,modificationDate:n}}else if(a instanceof dg){let{data:{inkLists:b,rect:c,rotation:e,id:f,color:g,borderStyle:{rawWidth:h},popupRef:i,richText:j,contentsObj:k,creationDate:m,modificationDate:n},parent:{page:{pageNumber:o}}}=a;d=a={annotationType:l.HIGHLIGHT,color:Array.from(g),thickness:h,inkLists:b,boxes:null,pageIndex:o-1,rect:c.slice(0),rotation:e,annotationElementId:f,id:f,deleted:!1,popupRef:i,richText:j,comment:k?.str||null,creationDate:m,modificationDate:n}}let{color:e,quadPoints:f,inkLists:g,outlines:h,opacity:i}=a,j=await super.deserialize(a,b,c);j.color=L.makeHexColor(...e),j.opacity=i||1,g&&(j.#gF=a.thickness),j._initialData=d,a.comment&&j.setCommentData(a);let[k,m]=j.pageDimensions,[n,o]=j.pageTranslation;if(f){let a=j.#g4=[];for(let b=0;b<f.length;b+=8)a.push({x:(f[b]-n)/k,y:1-(f[b+1]-o)/m,width:(f[b+2]-f[b])/k,height:(f[b+1]-f[b+5])/m});j.#hg(),j.#hf(),j.rotate(j.rotation)}else if(g||h){j.#hb=!0;let a=(g||h.points)[0],c={x:a[0]-n,y:m-(a[1]-o)},d=new dx(c,[0,0,k,m],1,j.#gF/2,!0,.001);for(let b=0,e=a.length;b<e;b+=2)c.x=a[b]-n,c.y=m-(a[b+1]-o),d.add(c);let{id:e,clipPathId:f}=b.drawLayer.draw({bbox:[0,0,1,1],root:{viewBox:"0 0 1 1",fill:j.color,"fill-opacity":j._defaultOpacity},rootClass:{highlight:!0,free:!0},path:{d:d.toSVGPath()}},!0,!0);j.#he({highlightOutlines:d.getOutlines(),highlightId:e,clipPathId:f}),j.#hf(),j.rotate(j.parentRotation)}return j}serialize(a=!1){if(this.isEmpty()||a)return null;if(this.deleted)return this.serializeDeleted();let b=aN._colorManager.convert(this._uiManager.getNonHCMColor(this.color)),c=super.serialize(a);return(Object.assign(c,{color:b,opacity:this.opacity,thickness:this.#gF,quadPoints:this.#ho(),outlines:this.#hp(c.rect)}),this.addComment(c),this.annotationElementId&&!this.#gt(c))?null:(c.id=this.annotationElementId,c)}#gt(a){let{color:b}=this._initialData;return this.hasEditedComment||a.color.some((a,c)=>a!==b[c])}renderAnnotationElement(a){return this.deleted?a.hide():a.updateEdited({rect:this.getPDFRect(),popup:this.comment}),null}static canCreateNewEmptyEditor(){return!1}}class dA{#hs=Object.create(null);updateProperty(a,b){this[a]=b,this.updateSVGProperty(a,b)}updateProperties(a){if(a)for(let[b,c]of Object.entries(a))b.startsWith("_")||this.updateProperty(b,c)}updateSVGProperty(a,b){this.#hs[a]=b}toSVGProperties(){let a=this.#hs;return this.#hs=Object.create(null),{root:a}}reset(){this.#hs=Object.create(null)}updateAll(a=this){this.updateProperties(a)}clone(){w("Not implemented")}}class dB extends aN{#ht=null;#hu;_colorPicker=null;_drawId=null;static _currentDrawId=-1;static _currentParent=null;static #hv=null;static #hw=null;static #hx=null;static _INNER_MARGIN=3;constructor(a){super(a),this.#hu=a.mustBeCommitted||!1,this._addOutlines(a)}onUpdatedColor(){this._colorPicker?.update(this.color),super.onUpdatedColor()}onUpdatedOpacity(){this._colorPicker?.updateOpacity?.(this.opacity)}_addOutlines(a){a.drawOutlines&&(this.#hy(a),this.#hf())}#hy({drawOutlines:a,drawId:b,drawingOptions:c}){this.#ht=a,this._drawingOptions||=c,this.annotationElementId||this._uiManager.a11yAlert(aN._l10nAlert[this.editorType]),b>=0?(this._drawId=b,this.parent.drawLayer.finalizeDraw(b,a.defaultProperties)):this._drawId=this.#hz(a,this.parent),this.#hA(a.box)}#hz(a,b){let{id:c}=b.drawLayer.draw(dB._mergeSVGProperties(this._drawingOptions.toSVGProperties(),a.defaultSVGProperties),!1,!1);return c}static _mergeSVGProperties(a,b){let c=new Set(Object.keys(a));for(let[d,e]of Object.entries(b))c.has(d)?Object.assign(a[d],e):a[d]=e;return a}static getDefaultDrawingOptions(a){w("Not implemented")}static get typesMap(){w("Not implemented")}static get isDrawer(){return!0}static get supportMultipleDrawings(){return!1}static updateDefaultParams(a,b){let c=this.typesMap.get(a);c&&this._defaultDrawingOptions.updateProperty(c,b),this._currentParent&&(dB.#hv.updateProperty(c,b),this._currentParent.drawLayer.updateProperties(this._currentDrawId,this._defaultDrawingOptions.toSVGProperties()))}updateParams(a,b){let c=this.constructor.typesMap.get(a);c&&this._updateProperty(a,c,b)}static get defaultPropertiesToUpdate(){let a=[],b=this._defaultDrawingOptions;for(let[c,d]of this.typesMap)a.push([c,b[d]]);return a}get propertiesToUpdate(){let a=[],{_drawingOptions:b}=this;for(let[c,d]of this.constructor.typesMap)a.push([c,b[d]]);return a}_updateProperty(a,b,c){let d=this._drawingOptions,e=d[b],f=c=>{d.updateProperty(b,c);let e=this.#ht.updateProperty(b,c);e&&this.#hA(e),this.parent?.drawLayer.updateProperties(this._drawId,d.toSVGProperties()),a===this.colorType?this.onUpdatedColor():a===this.opacityType&&this.onUpdatedOpacity()};this.addCommands({cmd:f.bind(this,c),undo:f.bind(this,e),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:a,overwriteIfSameType:!0,keepUndo:!0})}_updateColorAndOpacity(a,b){let c=this.constructor.typesMap.get(this.colorType),d=this.constructor.typesMap.get(this.opacityType),e=this._drawingOptions,f=e[c],g=e[d],h=(a,b)=>{e.updateProperty(c,a),e.updateProperty(d,b),this.#ht.updateProperty(c,a),this.#ht.updateProperty(d,b),this.parent?.drawLayer.updateProperties(this._drawId,e.toSVGProperties()),this.onUpdatedColor(),this.onUpdatedOpacity()};this.addCommands({cmd:h.bind(this,a,b),undo:h.bind(this,f,g),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:m.INK_COLOR_AND_OPACITY,overwriteIfSameType:!0,keepUndo:!0})}_onResizing(){this.parent?.drawLayer.updateProperties(this._drawId,dB._mergeSVGProperties(this.#ht.getPathResizingSVGProperties(this.#hB()),{bbox:this.#hC()}))}_onResized(){this.parent?.drawLayer.updateProperties(this._drawId,dB._mergeSVGProperties(this.#ht.getPathResizedSVGProperties(this.#hB()),{bbox:this.#hC()}))}_onTranslating(a,b){this.parent?.drawLayer.updateProperties(this._drawId,{bbox:this.#hC()})}_onTranslated(){this.parent?.drawLayer.updateProperties(this._drawId,dB._mergeSVGProperties(this.#ht.getPathTranslatedSVGProperties(this.#hB(),this.parentDimensions),{bbox:this.#hC()}))}_onStartDragging(){this.parent?.drawLayer.updateProperties(this._drawId,{rootClass:{moving:!0}})}_onStopDragging(){this.parent?.drawLayer.updateProperties(this._drawId,{rootClass:{moving:!1}})}commit(){super.commit(),this.disableEditMode(),this.disableEditing()}disableEditing(){super.disableEditing(),this.div.classList.toggle("disabled",!0)}enableEditing(){super.enableEditing(),this.div.classList.toggle("disabled",!1)}getBaseTranslation(){return[0,0]}get isResizable(){return!0}onceAdded(a){this.annotationElementId||this.parent.addUndoableEditor(this),this._isDraggable=!0,this.#hu&&(this.#hu=!1,this.commit(),this.parent.setSelected(this),a&&this.isOnScreen&&this.div.focus())}remove(){this.#hl(),super.remove()}rebuild(){!this.parent||(super.rebuild(),null!==this.div&&(this.#hf(),this.#hA(this.#ht.box),this.isAttachedToDOM||this.parent.add(this)))}setParent(a){let b=!1;this.parent&&!a?(this._uiManager.removeShouldRescale(this),this.#hl()):a&&(this._uiManager.addShouldRescale(this),this.#hf(a),b=!this.parent&&this.div?.classList.contains("selectedEditor")),super.setParent(a),b&&this.select()}#hl(){null!==this._drawId&&this.parent&&(this.parent.drawLayer.remove(this._drawId),this._drawId=null,this._drawingOptions.reset())}#hf(a=this.parent){if(null===this._drawId||this.parent!==a){if(null!==this._drawId)return void this.parent.drawLayer.updateParent(this._drawId,a.drawLayer);this._drawingOptions.updateAll(),this._drawId=this.#hz(this.#ht,a)}}#hD([a,b,c,d]){let{parentDimensions:[e,f],rotation:g}=this;switch(g){case 90:return[b,1-a,f/e*c,e/f*d];case 180:return[1-a,1-b,c,d];case 270:return[1-b,a,f/e*c,e/f*d];default:return[a,b,c,d]}}#hB(){let{x:a,y:b,width:c,height:d,parentDimensions:[e,f],rotation:g}=this;switch(g){case 90:return[1-b,a,e/f*c,f/e*d];case 180:return[1-a,1-b,c,d];case 270:return[b,1-a,e/f*c,f/e*d];default:return[a,b,c,d]}}#hA(a){[this.x,this.y,this.width,this.height]=this.#hD(a),this.div&&(this.fixAndSetPosition(),this.setDims()),this._onResized()}#hC(){let{x:a,y:b,width:c,height:d,rotation:e,parentRotation:f,parentDimensions:[g,h]}=this;switch((4*e+f)/90){case 1:return[1-b-d,a,d,c];case 2:return[1-a-c,1-b-d,c,d];case 3:return[b,1-a-c,d,c];case 4:return[a,b-g/h*c,h/g*d,g/h*c];case 5:return[1-b,a,g/h*c,h/g*d];case 6:return[1-a-h/g*d,1-b,h/g*d,g/h*c];case 7:return[b-g/h*c,1-a-h/g*d,g/h*c,h/g*d];case 8:return[a-c,b-d,c,d];case 9:return[1-b,a-c,d,c];case 10:return[1-a,1-b,c,d];case 11:return[b-d,1-a,d,c];case 12:return[a-h/g*d,b,h/g*d,g/h*c];case 13:return[1-b-g/h*c,a-h/g*d,g/h*c,h/g*d];case 14:return[1-a,1-b-g/h*c,h/g*d,g/h*c];case 15:return[b,1-a,g/h*c,h/g*d];default:return[a,b,c,d]}}rotate(){this.parent&&this.parent.drawLayer.updateProperties(this._drawId,dB._mergeSVGProperties({bbox:this.#hC()},this.#ht.updateRotation((this.parentRotation-this.rotation+360)%360)))}onScaleChanging(){this.parent&&this.#hA(this.#ht.updateParentDimensions(this.parentDimensions,this.parent.scale))}static onScaleChangingWhenDrawing(){}render(){let a,b;if(this.div)return this.div;this._isCopy&&(a=this.x,b=this.y);let c=super.render();c.classList.add("draw");let d=document.createElement("div");return c.append(d),d.setAttribute("aria-hidden","true"),d.className="internal",this.setDims(),this._uiManager.addShouldRescale(this),this.disableEditing(),this._isCopy&&this._moveAfterPaste(a,b),c}static createDrawerInstance(a,b,c,d,e){w("Not implemented")}static startDrawing(a,b,c,d){let{target:e,offsetX:f,offsetY:g,pointerId:h,pointerType:i}=d;if(aD.isInitializedAndDifferentPointerType(i))return;let{viewport:{rotation:j}}=a,{width:k,height:l}=e.getBoundingClientRect(),m=dB.#hw=new AbortController,n=a.combinedSignal(m);(aD.setPointer(i,h),window.addEventListener("pointerup",a=>{aD.isSamePointerIdOrRemove(a.pointerId)&&this._endDraw(a)},{signal:n}),window.addEventListener("pointercancel",a=>{aD.isSamePointerIdOrRemove(a.pointerId)&&this._currentParent.endDrawingSession()},{signal:n}),window.addEventListener("pointerdown",a=>{aD.isSamePointerType(a.pointerType)&&(aD.initializeAndAddPointerId(a.pointerId),dB.#hv.isCancellable()&&(dB.#hv.removeLastElement(),dB.#hv.isEmpty()?this._currentParent.endDrawingSession(!0):this._endDraw(null)))},{capture:!0,passive:!1,signal:n}),window.addEventListener("contextmenu",ae,{signal:n}),e.addEventListener("pointermove",this._drawMove.bind(this),{signal:n}),e.addEventListener("touchmove",a=>{aD.isSameTimeStamp(a.timeStamp)&&af(a)},{signal:n}),a.toggleDrawing(),b._editorUndoBar?.hide(),dB.#hv)?a.drawLayer.updateProperties(this._currentDrawId,dB.#hv.startNew(f,g,k,l,j)):(b.updateUIForDefaultProperties(this),dB.#hv=this.createDrawerInstance(f,g,k,l,j),dB.#hx=this.getDefaultDrawingOptions(),this._currentParent=a,{id:this._currentDrawId}=a.drawLayer.draw(this._mergeSVGProperties(dB.#hx.toSVGProperties(),dB.#hv.defaultSVGProperties),!0,!1))}static _drawMove(a){if(aD.isSameTimeStamp(a.timeStamp),!dB.#hv)return;let{offsetX:b,offsetY:c,pointerId:d}=a;if(aD.isSamePointerId(d)){if(aD.isUsingMultiplePointers())return void this._endDraw(a);this._currentParent.drawLayer.updateProperties(this._currentDrawId,dB.#hv.add(b,c)),aD.setTimeStamp(a.timeStamp),af(a)}}static _cleanup(a){a&&(this._currentDrawId=-1,this._currentParent=null,dB.#hv=null,dB.#hx=null,aD.clearTimeStamp()),dB.#hw&&(dB.#hw.abort(),dB.#hw=null,aD.clearPointerIds())}static _endDraw(a){let b=this._currentParent;if(b){if(b.toggleDrawing(!0),this._cleanup(!1),a?.target===b.div&&b.drawLayer.updateProperties(this._currentDrawId,dB.#hv.end(a.offsetX,a.offsetY)),this.supportMultipleDrawings){let a=dB.#hv,c=this._currentDrawId,d=a.getLastElement();b.addCommands({cmd:()=>{b.drawLayer.updateProperties(c,a.setLastElement(d))},undo:()=>{b.drawLayer.updateProperties(c,a.removeLastElement())},mustExec:!1,type:m.DRAW_STEP});return}this.endDrawing(!1)}}static endDrawing(a){let b=this._currentParent;if(!b)return null;if(b.toggleDrawing(!0),b.cleanUndoStack(m.DRAW_STEP),!dB.#hv.isEmpty()){let{pageDimensions:[c,d],scale:e}=b,f=b.createAndAddNewEditor({offsetX:0,offsetY:0},!1,{drawId:this._currentDrawId,drawOutlines:dB.#hv.getOutlines(c*e,d*e,e,this._INNER_MARGIN),drawingOptions:dB.#hx,mustBeCommitted:!a});return this._cleanup(!0),f}return b.drawLayer.remove(this._currentDrawId),this._cleanup(!0),null}createDrawingOptions(a){}static deserializeDraw(a,b,c,d,e,f){w("Not implemented")}static async deserialize(a,b,c){let{rawDims:{pageWidth:d,pageHeight:e,pageX:f,pageY:g}}=b.viewport,h=this.deserializeDraw(f,g,d,e,this._INNER_MARGIN,a),i=await super.deserialize(a,b,c);return i.createDrawingOptions(a),i.#hy({drawOutlines:h}),i.#hf(),i.onScaleChanging(),i.rotate(),i}serializeDraw(a){let[b,c]=this.pageTranslation,[d,e]=this.pageDimensions;return this.#ht.serialize([b,c,d,e],a)}renderAnnotationElement(a){return a.updateEdited({rect:this.getPDFRect()}),null}static canCreateNewEmptyEditor(){return!1}}class dC{#gz=new Float64Array(6);#f$;#hE;#eq;#gF;#gG;#hF="";#hG=0;#g1=new dD;#hH;#hI;constructor(a,b,c,d,e,f){this.#hH=c,this.#hI=d,this.#eq=e,this.#gF=f,[a,b]=this.#hJ(a,b);const g=this.#f$=[NaN,NaN,NaN,NaN,a,b];this.#gG=[a,b],this.#hE=[{line:g,points:this.#gG}],this.#gz.set(g,0)}updateProperty(a,b){"stroke-width"===a&&(this.#gF=b)}#hJ(a,b){return ds._normalizePoint(a,b,this.#hH,this.#hI,this.#eq)}isEmpty(){return!this.#hE?.length}isCancellable(){return this.#gG.length<=10}add(a,b){[a,b]=this.#hJ(a,b);let[c,d,e,f]=this.#gz.subarray(2,6),g=a-e,h=b-f;return 2>=Math.hypot(this.#hH*g,this.#hI*h)?null:((this.#gG.push(a,b),isNaN(c))?(this.#gz.set([e,f,a,b],2),this.#f$.push(NaN,NaN,NaN,NaN,a,b)):(isNaN(this.#gz[0])&&this.#f$.splice(6,6),this.#gz.set([c,d,e,f,a,b],0),this.#f$.push(...ds.createBezierPoints(c,d,e,f,a,b))),{path:{d:this.toSVGPath()}})}end(a,b){let c=this.add(a,b);return c||(2===this.#gG.length?{path:{d:this.toSVGPath()}}:null)}startNew(a,b,c,d,e){this.#hH=c,this.#hI=d,this.#eq=e,[a,b]=this.#hJ(a,b);let f=this.#f$=[NaN,NaN,NaN,NaN,a,b];this.#gG=[a,b];let g=this.#hE.at(-1);return g&&(g.line=new Float32Array(g.line),g.points=new Float32Array(g.points)),this.#hE.push({line:f,points:this.#gG}),this.#gz.set(f,0),this.#hG=0,this.toSVGPath(),null}getLastElement(){return this.#hE.at(-1)}setLastElement(a){return this.#hE?(this.#hE.push(a),this.#f$=a.line,this.#gG=a.points,this.#hG=0,{path:{d:this.toSVGPath()}}):this.#g1.setLastElement(a)}removeLastElement(){if(!this.#hE)return this.#g1.removeLastElement();this.#hE.pop(),this.#hF="";for(let a=0,b=this.#hE.length;a<b;a++){let{line:b,points:c}=this.#hE[a];this.#f$=b,this.#gG=c,this.#hG=0,this.toSVGPath()}return{path:{d:this.#hF}}}toSVGPath(){let a=ds.svgRound(this.#f$[4]),b=ds.svgRound(this.#f$[5]);if(2===this.#gG.length)return this.#hF=`${this.#hF} M ${a} ${b} Z`,this.#hF;if(this.#gG.length<=6){let c=this.#hF.lastIndexOf("M");this.#hF=`${this.#hF.slice(0,c)} M ${a} ${b}`,this.#hG=6}if(4===this.#gG.length){let a=ds.svgRound(this.#f$[10]),b=ds.svgRound(this.#f$[11]);return this.#hF=`${this.#hF} L ${a} ${b}`,this.#hG=12,this.#hF}let c=[];0===this.#hG&&(c.push(`M ${a} ${b}`),this.#hG=6);for(let a=this.#hG,b=this.#f$.length;a<b;a+=6){let[b,d,e,f,g,h]=this.#f$.slice(a,a+6).map(ds.svgRound);c.push(`C${b} ${d} ${e} ${f} ${g} ${h}`)}return this.#hF+=c.join(" "),this.#hG=this.#f$.length,this.#hF}getOutlines(a,b,c,d){let e=this.#hE.at(-1);return e.line=new Float32Array(e.line),e.points=new Float32Array(e.points),this.#g1.build(this.#hE,a,b,c,this.#eq,this.#gF,d),this.#gz=null,this.#f$=null,this.#hE=null,this.#hF=null,this.#g1}get defaultSVGProperties(){return{root:{viewBox:"0 0 10000 10000"},rootClass:{draw:!0},bbox:[0,0,1,1]}}}class dD extends ds{#gR;#hK=0;#gw;#hE;#hH;#hI;#hL;#eq;#gF;build(a,b,c,d,e,f,g){this.#hH=b,this.#hI=c,this.#hL=d,this.#eq=e,this.#gF=f,this.#gw=g??0,this.#hE=a,this.#hM()}get thickness(){return this.#gF}setLastElement(a){return this.#hE.push(a),{path:{d:this.toSVGPath()}}}removeLastElement(){return this.#hE.pop(),{path:{d:this.toSVGPath()}}}toSVGPath(){let a=[];for(let{line:b}of this.#hE){if(a.push(`M${ds.svgRound(b[4])} ${ds.svgRound(b[5])}`),6===b.length){a.push("Z");continue}if(12===b.length&&isNaN(b[6])){a.push(`L${ds.svgRound(b[10])} ${ds.svgRound(b[11])}`);continue}for(let c=6,d=b.length;c<d;c+=6){let[d,e,f,g,h,i]=b.subarray(c,c+6).map(ds.svgRound);a.push(`C${d} ${e} ${f} ${g} ${h} ${i}`)}}return a.join("")}serialize([a,b,c,d],e){let f,g,h,i,j,k,l,m,n,o=[],p=[],[q,r,s,t]=this.#hN();switch(this.#eq){case 0:n=ds._rescale,f=a,g=b+d,h=c,i=-d,j=a+q*c,k=b+(1-r-t)*d,l=a+(q+s)*c,m=b+(1-r)*d;break;case 90:n=ds._rescaleAndSwap,f=a,g=b,h=c,i=d,j=a+r*c,k=b+q*d,l=a+(r+t)*c,m=b+(q+s)*d;break;case 180:n=ds._rescale,f=a+c,g=b,h=-c,i=d,j=a+(1-q-s)*c,k=b+r*d,l=a+(1-q)*c,m=b+(r+t)*d;break;case 270:n=ds._rescaleAndSwap,f=a+c,g=b+d,h=-c,i=-d,j=a+(1-r-t)*c,k=b+(1-q-s)*d,l=a+(1-r)*c,m=b+(1-q)*d}for(let{line:a,points:b}of this.#hE)o.push(n(a,f,g,h,i,e?Array(a.length):null)),p.push(n(b,f,g,h,i,e?Array(b.length):null));return{lines:o,points:p,rect:[j,k,l,m]}}static deserialize(a,b,c,d,e,{paths:{lines:f,points:g},rotation:h,thickness:i}){let j,k,l,m,n,o=[];switch(h){case 0:n=ds._rescale,j=-a/c,k=b/d+1,l=1/c,m=-1/d;break;case 90:n=ds._rescaleAndSwap,j=-b/d,k=-a/c,l=1/d,m=1/c;break;case 180:n=ds._rescale,j=a/c+1,k=-b/d,l=-1/c,m=1/d;break;case 270:n=ds._rescaleAndSwap,j=b/d+1,k=a/c+1,l=-1/d,m=-1/c}if(!f)for(let a of(f=[],g)){let b=a.length;if(2===b){f.push(new Float32Array([NaN,NaN,NaN,NaN,a[0],a[1]]));continue}if(4===b){f.push(new Float32Array([NaN,NaN,NaN,NaN,a[0],a[1],NaN,NaN,NaN,NaN,a[2],a[3]]));continue}let c=new Float32Array(3*(b-2));f.push(c);let[d,e,g,h]=a.subarray(0,4);c.set([NaN,NaN,NaN,NaN,d,e],0);for(let f=4;f<b;f+=2){let b=a[f],i=a[f+1];c.set(ds.createBezierPoints(d,e,g,h,b,i),(f-2)*3),[d,e,g,h]=[g,h,b,i]}}for(let a=0,b=f.length;a<b;a++)o.push({line:n(f[a].map(a=>a??NaN),j,k,l,m),points:n(g[a].map(a=>a??NaN),j,k,l,m)});let p=new this.prototype.constructor;return p.build(o,c,d,1,h,i,e),p}#hO(a=this.#gF){let b=this.#gw+a/2*this.#hL;return this.#eq%180==0?[b/this.#hH,b/this.#hI]:[b/this.#hI,b/this.#hH]}#hN(){let[a,b,c,d]=this.#gR,[e,f]=this.#hO(0);return[a+e,b+f,c-2*e,d-2*f]}#hM(){let a=this.#gR=f.slice();for(let{line:b}of this.#hE){if(b.length<=12){for(let c=4,d=b.length;c<d;c+=6)L.pointBoundingBox(b[c],b[c+1],a);continue}let c=b[4],d=b[5];for(let e=6,f=b.length;e<f;e+=6){let[f,g,h,i,j,k]=b.subarray(e,e+6);L.bezierBoundingBox(c,d,f,g,h,i,j,k,a),c=j,d=k}}let[b,c]=this.#hO();a[0]=T(a[0]-b,0,1),a[1]=T(a[1]-c,0,1),a[2]=T(a[2]+b,0,1),a[3]=T(a[3]+c,0,1),a[2]-=a[0],a[3]-=a[1]}get box(){return this.#gR}updateProperty(a,b){return"stroke-width"===a?this.#hi(b):null}#hi(a){let[b,c]=this.#hO();this.#gF=a;let[d,e]=this.#hO(),[f,g]=[d-b,e-c],h=this.#gR;return h[0]-=f,h[1]-=g,h[2]+=2*f,h[3]+=2*g,h}updateParentDimensions([a,b],c){let[d,e]=this.#hO();this.#hH=a,this.#hI=b,this.#hL=c;let[f,g]=this.#hO(),h=f-d,i=g-e,j=this.#gR;return j[0]-=h,j[1]-=i,j[2]+=2*h,j[3]+=2*i,j}updateRotation(a){return this.#hK=a,{path:{transform:this.rotationTransform}}}get viewBox(){return this.#gR.map(ds.svgRound).join(" ")}get defaultProperties(){let[a,b]=this.#gR;return{root:{viewBox:this.viewBox},path:{"transform-origin":`${ds.svgRound(a)} ${ds.svgRound(b)}`}}}get rotationTransform(){let[,,a,b]=this.#gR,c=0,d=0,e=0,f=0,g=0,h=0;switch(this.#hK){case 90:d=b/a,e=-a/b,g=a;break;case 180:c=-1,f=-1,g=a,h=b;break;case 270:d=-b/a,e=a/b,h=b;break;default:return""}return`matrix(${c} ${d} ${e} ${f} ${ds.svgRound(g)} ${ds.svgRound(h)})`}getPathResizingSVGProperties([a,b,c,d]){let[e,f]=this.#hO(),[g,h,i,j]=this.#gR;if(Math.abs(i-e)<=ds.PRECISION||Math.abs(j-f)<=ds.PRECISION){let e=a+c/2-(g+i/2),f=b+d/2-(h+j/2);return{path:{"transform-origin":`${ds.svgRound(a)} ${ds.svgRound(b)}`,transform:`${this.rotationTransform} translate(${e} ${f})`}}}let k=(c-2*e)/(i-2*e),l=(d-2*f)/(j-2*f);return{path:{"transform-origin":`${ds.svgRound(g)} ${ds.svgRound(h)}`,transform:`${this.rotationTransform} scale(${i/c} ${j/d}) translate(${ds.svgRound(e)} ${ds.svgRound(f)}) scale(${k} ${l}) translate(${ds.svgRound(-e)} ${ds.svgRound(-f)})`}}}getPathResizedSVGProperties([a,b,c,d]){let[e,f]=this.#hO(),g=this.#gR,[h,i,j,k]=g;if(g[0]=a,g[1]=b,g[2]=c,g[3]=d,Math.abs(j-e)<=ds.PRECISION||Math.abs(k-f)<=ds.PRECISION){let e=a+c/2-(h+j/2),f=b+d/2-(i+k/2);for(let{line:a,points:b}of this.#hE)ds._translate(a,e,f,a),ds._translate(b,e,f,b);return{root:{viewBox:this.viewBox},path:{"transform-origin":`${ds.svgRound(a)} ${ds.svgRound(b)}`,transform:this.rotationTransform||null,d:this.toSVGPath()}}}let l=(c-2*e)/(j-2*e),m=(d-2*f)/(k-2*f),n=-l*(h+e)+a+e,o=-m*(i+f)+b+f;if(1!==l||1!==m||0!==n||0!==o)for(let{line:a,points:b}of this.#hE)ds._rescale(a,n,o,l,m,a),ds._rescale(b,n,o,l,m,b);return{root:{viewBox:this.viewBox},path:{"transform-origin":`${ds.svgRound(a)} ${ds.svgRound(b)}`,transform:this.rotationTransform||null,d:this.toSVGPath()}}}getPathTranslatedSVGProperties([a,b],c){let[d,e]=c,f=this.#gR,g=a-f[0],h=b-f[1];if(this.#hH===d&&this.#hI===e)for(let{line:a,points:b}of this.#hE)ds._translate(a,g,h,a),ds._translate(b,g,h,b);else{let a=this.#hH/d,b=this.#hI/e;for(let{line:c,points:f}of(this.#hH=d,this.#hI=e,this.#hE))ds._rescale(c,g,h,a,b,c),ds._rescale(f,g,h,a,b,f);f[2]*=a,f[3]*=b}return f[0]=a,f[1]=b,{root:{viewBox:this.viewBox},path:{d:this.toSVGPath(),"transform-origin":`${ds.svgRound(a)} ${ds.svgRound(b)}`}}}get defaultSVGProperties(){let a=this.#gR;return{root:{viewBox:this.viewBox},rootClass:{draw:!0},path:{d:this.toSVGPath(),"transform-origin":`${ds.svgRound(a[0])} ${ds.svgRound(a[1])}`,transform:this.rotationTransform||null},bbox:a}}}class dE extends dA{constructor(a){super(),this._viewParameters=a,super.updateProperties({fill:"none",stroke:aN._defaultLineColor,"stroke-opacity":1,"stroke-width":1,"stroke-linecap":"round","stroke-linejoin":"round","stroke-miterlimit":10})}updateSVGProperty(a,b){"stroke-width"===a&&(b??=this["stroke-width"],b*=this._viewParameters.realScale),super.updateSVGProperty(a,b)}clone(){let a=new dE(this._viewParameters);return a.updateAll(this),a}}class dF extends dB{static _type="ink";static _editorType=l.INK;static _defaultDrawingOptions=null;constructor(a){super({...a,name:"inkEditor"}),this._willKeepAspectRatio=!0,this.defaultL10nId="pdfjs-editor-ink-editor"}static initialize(a,b){aN.initialize(a,b),this._defaultDrawingOptions=new dE(b.viewParameters)}static getDefaultDrawingOptions(a){let b=this._defaultDrawingOptions.clone();return b.updateProperties(a),b}static get supportMultipleDrawings(){return!0}static get typesMap(){return B(this,"typesMap",new Map([[m.INK_THICKNESS,"stroke-width"],[m.INK_COLOR,"stroke"],[m.INK_OPACITY,"stroke-opacity"]]))}static createDrawerInstance(a,b,c,d,e){return new dC(a,b,c,d,e,this._defaultDrawingOptions["stroke-width"])}static deserializeDraw(a,b,c,d,e,f){return dD.deserialize(a,b,c,d,e,f)}static async deserialize(a,b,c){let d=null;if(a instanceof dg){let{data:{inkLists:b,rect:c,rotation:e,id:f,color:g,opacity:h,borderStyle:{rawWidth:i},popupRef:j,richText:k,contentsObj:m,creationDate:n,modificationDate:o},parent:{page:{pageNumber:p}}}=a;d=a={annotationType:l.INK,color:Array.from(g),thickness:i,opacity:h,paths:{points:b},boxes:null,pageIndex:p-1,rect:c.slice(0),rotation:e,annotationElementId:f,id:f,deleted:!1,popupRef:j,richText:k,comment:m?.str||null,creationDate:n,modificationDate:o}}let e=await super.deserialize(a,b,c);return e._initialData=d,a.comment&&e.setCommentData(a),e}get toolbarButtons(){return this._colorPicker||=new cP(this),[["colorPicker",this._colorPicker]]}get colorType(){return m.INK_COLOR}get colorAndOpacityType(){return m.INK_COLOR_AND_OPACITY}get opacityType(){return m.INK_OPACITY}updateParams(a,b){a===m.INK_COLOR_AND_OPACITY?this._updateColorAndOpacity(b.color,b.opacity):super.updateParams(a,b)}static updateDefaultParams(a,b){if(a===m.INK_COLOR_AND_OPACITY){super.updateDefaultParams(m.INK_COLOR,b.color),super.updateDefaultParams(m.INK_OPACITY,b.opacity);return}super.updateDefaultParams(a,b)}get color(){return this._drawingOptions.stroke}get opacity(){return this._drawingOptions["stroke-opacity"]}onScaleChanging(){if(!this.parent)return;super.onScaleChanging();let{_drawId:a,_drawingOptions:b,parent:c}=this;b.updateSVGProperty("stroke-width"),c.drawLayer.updateProperties(a,b.toSVGProperties())}static onScaleChangingWhenDrawing(){let a=this._currentParent;a&&(super.onScaleChangingWhenDrawing(),this._defaultDrawingOptions.updateSVGProperty("stroke-width"),a.drawLayer.updateProperties(this._currentDrawId,this._defaultDrawingOptions.toSVGProperties()))}createDrawingOptions({color:a,thickness:b,opacity:c}){this._drawingOptions=dF.getDefaultDrawingOptions({stroke:L.makeHexColor(...a),"stroke-width":b,"stroke-opacity":c})}serialize(a=!1){if(this.isEmpty())return null;if(this.deleted)return this.serializeDeleted();let{lines:b,points:c}=this.serializeDraw(a),{_drawingOptions:{stroke:d,"stroke-opacity":e,"stroke-width":f}}=this,g=Object.assign(super.serialize(a),{color:aN._colorManager.convert(d),opacity:e,thickness:f,paths:{lines:b,points:c}});return(this.addComment(g),a)?(g.isCopy=!0,g):this.annotationElementId&&!this.#gt(g)?null:(g.id=this.annotationElementId,g)}#gt(a){let{color:b,thickness:c,opacity:d,pageIndex:e}=this._initialData;return this.hasEditedComment||this._hasBeenMoved||this._hasBeenResized||a.color.some((a,c)=>a!==b[c])||a.thickness!==c||a.opacity!==d||a.pageIndex!==e}renderAnnotationElement(a){if(this.deleted)return a.hide(),null;let{points:b,rect:c}=this.serializeDraw(!1);return a.updateEdited({rect:c,thickness:this._drawingOptions["stroke-width"],points:b,popup:this.comment}),null}}class dG extends dD{toSVGPath(){let a=super.toSVGPath();return a.endsWith("Z")||(a+="Z"),a}}class dH{static #hP={maxDim:512,sigmaSFactor:.02,sigmaR:25,kernelSize:16};static #hQ(a,b,c,d){return(c-=a,d-=b,0===c)?d>0?0:4:1===c?d+6:2-d}static #hR=new Int32Array([0,1,-1,1,-1,0,-1,-1,0,-1,1,-1,1,0,1,1]);static #hS(a,b,c,d,e,f,g){let h=this.#hQ(c,d,e,f);for(let e=0;e<8;e++){let f=(-e+h-g+16)%8;if(0!==a[(c+this.#hR[2*f])*b+(d+this.#hR[2*f+1])])return f}return -1}static #hT(a,b,c,d,e,f,g){let h=this.#hQ(c,d,e,f);for(let e=0;e<8;e++){let f=(e+h+g+16)%8;if(0!==a[(c+this.#hR[2*f])*b+(d+this.#hR[2*f+1])])return f}return -1}static #hU(a,b,c,d){let e,f=a.length,g=new Int32Array(f);for(let b=0;b<f;b++)g[b]=+(a[b]<=d);for(let a=1;a<c-1;a++)g[a*b]=g[a*b+b-1]=0;for(let a=0;a<b;a++)g[a]=g[b*c-1-a]=0;let h=1,i=[];for(let a=1;a<c-1;a++){e=1;for(let c=1;c<b-1;c++){let d,f=a*b+c,j=g[f];if(0===j)continue;let k=a,l=c;if(1===j&&0===g[f-1])h+=1,l-=1;else if(j>=1&&0===g[f+1])h+=1,l+=1,j>1&&(e=j);else{1!==j&&(e=Math.abs(j));continue}let m=[c,a],n=l===c+1,o={isHole:n,points:m,id:h,parent:0};for(let a of(i.push(o),i))if(a.id===e){d=a;break}d?d.isHole?o.parent=n?d.parent:e:o.parent=n?e:d.parent:o.parent=n?e:0;let p=this.#hS(g,b,a,c,k,l,0);if(-1===p){g[f]=-h,1!==g[f]&&(e=Math.abs(g[f]));continue}let q=this.#hR[2*p],r=this.#hR[2*p+1],s=a+q,t=c+r;k=s,l=t;let u=a,v=c;for(;;){let d=this.#hT(g,b,u,v,k,l,1);q=this.#hR[2*d],r=this.#hR[2*d+1];let i=u+q,j=v+r;m.push(j,i);let n=u*b+v;if(0===g[n+1]?g[n]=-h:1===g[n]&&(g[n]=h),i===a&&j===c&&u===s&&v===t){1!==g[f]&&(e=Math.abs(g[f]));break}k=u,l=v,u=i,v=j}}}return i}static #hV(a,b,c,d){if(c-b<=4){for(let e=b;e<c-2;e+=2)d.push(a[e],a[e+1]);return}let e=a[b],f=a[b+1],g=a[c-4]-e,h=a[c-3]-f,i=Math.hypot(g,h),j=g/i,k=h/i,l=j*f-k*e,m=1/i,n=Math.atan(h/g),o=Math.cos(n),p=Math.sin(n),q=m*(Math.abs(o)+Math.abs(p)),r=m*(1-q+q**2),s=Math.max(Math.atan(Math.abs(p+o)*r),Math.atan(Math.abs(p-o)*r)),t=0,u=b;for(let d=b+2;d<c-2;d+=2){let b=Math.abs(l-j*a[d+1]+k*a[d]);b>t&&(u=d,t=b)}t>(i*s)**2?(this.#hV(a,b,u+2,d),this.#hV(a,u,c,d)):d.push(e,f)}static #hW(a){let b=[],c=a.length;return this.#hV(a,0,c,b),b.push(a[c-2],a[c-1]),b.length<=4?null:b}static #hX(a,b,c,d,e,f){let g=new Float32Array(f**2),h=-2*d**2,i=f>>1;for(let a=0;a<f;a++){let b=(a-i)**2;for(let c=0;c<f;c++)g[a*f+c]=Math.exp((b+(c-i)**2)/h)}let j=new Float32Array(256),k=-2*e**2;for(let a=0;a<256;a++)j[a]=Math.exp(a**2/k);let l=new Uint8Array(a.length),m=new Uint32Array(256);for(let d=0;d<c;d++)for(let e=0;e<b;e++){let h=d*b+e,k=a[h],n=0,o=0;for(let h=0;h<f;h++){let l=d+h-i;if(!(l<0)&&!(l>=c))for(let c=0;c<f;c++){let d=e+c-i;if(d<0||d>=b)continue;let m=a[l*b+d],p=g[h*f+c]*j[Math.abs(m-k)];n+=m*p,o+=p}}let p=l[h]=Math.round(n/o);m[p]++}return[l,m]}static #hY(a){let b=new Uint32Array(256);for(let c of a)b[c]++;return b}static #hZ(a){let b=new Uint8ClampedArray(a.length>>2),c=-1/0,d=1/0;for(let e=0,f=b.length;e<f;e++){let f=b[e]=a[e<<2];c=Math.max(c,f),d=Math.min(d,f)}let e=255/(c-d);for(let a=0,c=b.length;a<c;a++)b[a]=(b[a]-d)*e;return b}static #h$(a){let b,c=-1/0,d=-1/0,e=a.findIndex(a=>0!==a),f=e,g=e;for(b=e;b<256;b++){let e=a[b];e>c&&(b-f>d&&(d=b-f,g=b-1),c=e,f=b)}for(b=g-1;b>=0&&!(a[b]>a[b+1]);b--);return b}static #h_(a){let b=a,{width:c,height:d}=a,{maxDim:e}=this.#hP,f=c,g=d;if(c>e||d>e){let h=c,i=d,j=Math.log2(Math.max(c,d)/e),k=Math.floor(j);j=j===k?k-1:k;for(let c=0;c<j;c++){let c=new OffscreenCanvas(f=Math.ceil(h/2),g=Math.ceil(i/2));c.getContext("2d").drawImage(a,0,0,h,i,0,0,f,g),h=f,i=g,a!==b&&a.close(),a=c.transferToImageBitmap()}let l=Math.min(e/f,e/g);f=Math.round(f*l),g=Math.round(g*l)}let h=new OffscreenCanvas(f,g).getContext("2d",{willReadFrequently:!0});h.fillStyle="white",h.fillRect(0,0,f,g),h.filter="grayscale(1)",h.drawImage(a,0,0,a.width,a.height,0,0,f,g);let i=h.getImageData(0,0,f,g).data;return[this.#hZ(i),f,g]}static extractContoursFromText(a,{fontFamily:b,fontStyle:c,fontWeight:d},e,f,g,h){let i=new OffscreenCanvas(1,1),j=i.getContext("2d",{alpha:!1}),k=j.font=`${c} ${d} 200px ${b}`,{actualBoundingBoxLeft:l,actualBoundingBoxRight:m,actualBoundingBoxAscent:n,actualBoundingBoxDescent:o,fontBoundingBoxAscent:p,fontBoundingBoxDescent:q,width:r}=j.measureText(a),s=Math.ceil(1.5*Math.max(Math.abs(l)+Math.abs(m)||0,r)),t=Math.ceil(1.5*Math.max(Math.abs(n)+Math.abs(o)||200,Math.abs(p)+Math.abs(q)||200));(j=(i=new OffscreenCanvas(s,t)).getContext("2d",{alpha:!0,willReadFrequently:!0})).font=k,j.filter="grayscale(1)",j.fillStyle="white",j.fillRect(0,0,s,t),j.fillStyle="black",j.fillText(a,.5*s/2,1.5*t/2);let u=this.#hZ(j.getImageData(0,0,s,t).data),v=this.#hY(u),w=this.#h$(v),x=this.#hU(u,s,t,w);return this.processDrawnLines({lines:{curves:x,width:s,height:t},pageWidth:e,pageHeight:f,rotation:g,innerMargin:h,mustSmooth:!0,areContours:!0})}static process(a,b,c,d,e){let[f,g,h]=this.#h_(a),[i,j]=this.#hX(f,g,h,Math.hypot(g,h)*this.#hP.sigmaSFactor,this.#hP.sigmaR,this.#hP.kernelSize),k=this.#h$(j),l=this.#hU(i,g,h,k);return this.processDrawnLines({lines:{curves:l,width:g,height:h},pageWidth:b,pageHeight:c,rotation:d,innerMargin:e,mustSmooth:!0,areContours:!0})}static processDrawnLines({lines:a,pageWidth:b,pageHeight:c,rotation:d,innerMargin:e,mustSmooth:f,areContours:g}){d%180!=0&&([b,c]=[c,b]);let{curves:h,width:i,height:j}=a,k=a.thickness??0,l=[],m=Math.min(b/i,c/j),n=m/b,o=m/c,p=[];for(let{points:a}of h){let b=f?this.#hW(a):a;if(!b)continue;p.push(b);let c=b.length,d=new Float32Array(c),e=new Float32Array(3*(2===c?2:c-2));if(l.push({line:e,points:d}),2===c){d[0]=b[0]*n,d[1]=b[1]*o,e.set([NaN,NaN,NaN,NaN,d[0],d[1]],0);continue}let[g,h,i,j]=b;g*=n,h*=o,i*=n,j*=o,d.set([g,h,i,j],0),e.set([NaN,NaN,NaN,NaN,g,h],0);for(let a=4;a<c;a+=2){let c=d[a]=b[a]*n,f=d[a+1]=b[a+1]*o;e.set(ds.createBezierPoints(g,h,i,j,c,f),(a-2)*3),[g,h,i,j]=[i,j,c,f]}}if(0===l.length)return null;let q=g?new dG:new dD;return q.build(l,b,c,1,d,g?0:k,e),{outline:q,newCurves:p,areContours:g,thickness:k,width:i,height:j}}static async compressSignature({outlines:a,areContours:b,thickness:c,width:d,height:e}){let f,g=1/0,h=-1/0,i=0;for(let b of a){i+=b.length;for(let a=2,c=b.length;a<c;a++){let c=b[a]-b[a-2];g=Math.min(g,c),h=Math.max(h,c)}}f=g>=-128&&h<=127?Int8Array:g>=-32768&&h<=32767?Int16Array:Int32Array;let j=a.length,k=8+3*j,l=new Uint32Array(k),m=0;for(let g of(l[m++]=k*Uint32Array.BYTES_PER_ELEMENT+(i-2*j)*f.BYTES_PER_ELEMENT,l[m++]=0,l[m++]=d,l[m++]=e,l[m++]=+!b,l[m++]=Math.max(0,Math.floor(c??0)),l[m++]=j,l[m++]=f.BYTES_PER_ELEMENT,a))l[m++]=g.length-2,l[m++]=g[0],l[m++]=g[1];let n=new CompressionStream("deflate-raw"),o=n.writable.getWriter();await o.ready,o.write(l);let p=f.prototype.constructor;for(let b of a){let a=new p(b.length-2);for(let c=2,d=b.length;c<d;c++)a[c-2]=b[c]-b[c-2];o.write(a)}return o.close(),(await new Response(n.readable).bytes()).toBase64()}static async decompressSignature(a){try{let b,c=Uint8Array.fromBase64(a),{readable:d,writable:e}=new DecompressionStream("deflate-raw"),f=e.getWriter();await f.ready,f.write(c).then(async()=>{await f.ready,await f.close()}).catch(()=>{});let g=null,h=0;for await(let a of d)(g||=new Uint8Array(new Uint32Array(a.buffer,0,4)[0])).set(a,h),h+=a.length;let i=new Uint32Array(g.buffer,0,g.length>>2),j=i[1];if(0!==j)throw Error(`Invalid version: ${j}`);let k=i[2],l=i[3],m=0===i[4],n=i[5],o=i[6],p=i[7],q=[],r=(8+3*o)*Uint32Array.BYTES_PER_ELEMENT;switch(p){case Int8Array.BYTES_PER_ELEMENT:b=new Int8Array(g.buffer,r);break;case Int16Array.BYTES_PER_ELEMENT:b=new Int16Array(g.buffer,r);break;case Int32Array.BYTES_PER_ELEMENT:b=new Int32Array(g.buffer,r)}h=0;for(let a=0;a<o;a++){let c=i[3*a+8],d=new Float32Array(c+2);q.push(d);for(let b=0;b<2;b++)d[b]=i[3*a+8+b+1];for(let a=0;a<c;a++)d[a+2]=d[a]+b[h++]}return{areContours:m,thickness:n,outlines:q,width:k,height:l}}catch(a){return v(`decompressSignature: ${a}`),null}}}class dI extends dA{constructor(){super(),super.updateProperties({fill:aN._defaultLineColor,"stroke-width":0})}clone(){let a=new dI;return a.updateAll(this),a}}class dJ extends dE{constructor(a){super(a),super.updateProperties({stroke:aN._defaultLineColor,"stroke-width":1})}clone(){let a=new dJ(this._viewParameters);return a.updateAll(this),a}}class dK extends dB{#h0=!1;#h1=null;#h2=null;#h3=null;static _type="signature";static _editorType=l.SIGNATURE;static _defaultDrawingOptions=null;constructor(a){super({...a,mustBeCommitted:!0,name:"signatureEditor"}),this._willKeepAspectRatio=!0,this.#h2=a.signatureData||null,this.#h1=null,this.defaultL10nId="pdfjs-editor-signature-editor1"}static initialize(a,b){aN.initialize(a,b),this._defaultDrawingOptions=new dI,this._defaultDrawnSignatureOptions=new dJ(b.viewParameters)}static getDefaultDrawingOptions(a){let b=this._defaultDrawingOptions.clone();return b.updateProperties(a),b}static get supportMultipleDrawings(){return!1}static get typesMap(){return B(this,"typesMap",new Map)}static get isDrawer(){return!1}get telemetryFinalData(){return{type:"signature",hasDescription:!!this.#h1}}static computeTelemetryFinalData(a){let b=a.get("hasDescription");return{hasAltText:b.get(!0)??0,hasNoAltText:b.get(!1)??0}}get isResizable(){return!0}onScaleChanging(){null!==this._drawId&&super.onScaleChanging()}render(){let a,b;if(this.div)return this.div;let{_isCopy:c}=this;if(c&&(this._isCopy=!1,a=this.x,b=this.y),super.render(),null===this._drawId)if(this.#h2){let{lines:a,mustSmooth:b,areContours:c,description:d,uuid:e,heightInPage:f}=this.#h2,{rawDims:{pageWidth:g,pageHeight:h},rotation:i}=this.parent.viewport,j=dH.processDrawnLines({lines:a,pageWidth:g,pageHeight:h,rotation:i,innerMargin:dK._INNER_MARGIN,mustSmooth:b,areContours:c});this.addSignature(j,f,d,e)}else this.div.setAttribute("data-l10n-args",JSON.stringify({description:""})),this.div.hidden=!0,this._uiManager.getSignature(this);else this.div.setAttribute("data-l10n-args",JSON.stringify({description:this.#h1||""}));return c&&(this._isCopy=!0,this._moveAfterPaste(a,b)),this.div}setUuid(a){this.#h3=a,this.addEditToolbar()}getUuid(){return this.#h3}get description(){return this.#h1}set description(a){this.#h1=a,this.div&&(this.div.setAttribute("data-l10n-args",JSON.stringify({description:a})),super.addEditToolbar().then(b=>{b?.updateEditSignatureButton(a)}))}getSignaturePreview(){let{newCurves:a,areContours:b,thickness:c,width:d,height:e}=this.#h2,f=Math.max(d,e),g=dH.processDrawnLines({lines:{curves:a.map(a=>({points:a})),thickness:c,width:d,height:e},pageWidth:f,pageHeight:f,rotation:0,innerMargin:0,mustSmooth:!1,areContours:b});return{areContours:b,outline:g.outline}}get toolbarButtons(){return this._uiManager.signatureManager?[["editSignature",this._uiManager.signatureManager]]:super.toolbarButtons}addSignature(a,b,c,d){let e,{x:f,y:g}=this,{outline:h}=this.#h2=a;this.#h0=h instanceof dG,this.description=c,this.#h0?e=dK.getDefaultDrawingOptions():(e=dK._defaultDrawnSignatureOptions.clone()).updateProperties({"stroke-width":h.thickness}),this._addOutlines({drawOutlines:h,drawingOptions:e});let[,i]=this.pageDimensions,j=b/i;j=j>=1?.5:j,this.width*=j/this.height,this.width>=1&&(j*=.9/this.width,this.width=.9),this.height=j,this.setDims(),this.x=f,this.y=g,this.center(),this._onResized(),this.onScaleChanging(),this.rotate(),this._uiManager.addToAnnotationStorage(this),this.setUuid(d),this._reportTelemetry({action:"pdfjs.signature.inserted",data:{hasBeenSaved:!!d,hasDescription:!!c}}),this.div.hidden=!1}getFromImage(a){let{rawDims:{pageWidth:b,pageHeight:c},rotation:d}=this.parent.viewport;return dH.process(a,b,c,d,dK._INNER_MARGIN)}getFromText(a,b){let{rawDims:{pageWidth:c,pageHeight:d},rotation:e}=this.parent.viewport;return dH.extractContoursFromText(a,b,c,d,e,dK._INNER_MARGIN)}getDrawnSignature(a){let{rawDims:{pageWidth:b,pageHeight:c},rotation:d}=this.parent.viewport;return dH.processDrawnLines({lines:a,pageWidth:b,pageHeight:c,rotation:d,innerMargin:dK._INNER_MARGIN,mustSmooth:!1,areContours:!1})}createDrawingOptions({areContours:a,thickness:b}){a?this._drawingOptions=dK.getDefaultDrawingOptions():(this._drawingOptions=dK._defaultDrawnSignatureOptions.clone(),this._drawingOptions.updateProperties({"stroke-width":b}))}serialize(a=!1){if(this.isEmpty())return null;let{lines:b,points:c}=this.serializeDraw(a),{_drawingOptions:{"stroke-width":d}}=this,e=Object.assign(super.serialize(a),{isSignature:!0,areContours:this.#h0,color:[0,0,0],thickness:this.#h0?0:d});return this.addComment(e),a?(e.paths={lines:b,points:c},e.uuid=this.#h3,e.isCopy=!0):e.lines=b,this.#h1&&(e.accessibilityData={type:"Figure",alt:this.#h1}),e}static deserializeDraw(a,b,c,d,e,f){return f.areContours?dG.deserialize(a,b,c,d,e,f):dD.deserialize(a,b,c,d,e,f)}static async deserialize(a,b,c){let d=await super.deserialize(a,b,c);return d.#h0=a.areContours,d.description=a.accessibilityData?.alt||"",d.#h3=a.uuid,d}}class dL extends aN{#h4=null;#h5=null;#h6=null;#h7=null;#h8=null;#h9="";#ia=null;#ib=!1;#ic=null;#id=!1;#ie=!1;static _type="stamp";static _editorType=l.STAMP;constructor(a){super({...a,name:"stampEditor"}),this.#h7=a.bitmapUrl,this.#h8=a.bitmapFile,this.defaultL10nId="pdfjs-editor-stamp-editor"}static initialize(a,b){aN.initialize(a,b)}static isHandlingMimeForPasting(a){return an.includes(a)}static paste(a,b){b.pasteEditor({mode:l.STAMP},{bitmapFile:a.getAsFile()})}altTextFinish(){this._uiManager.useNewAltTextFlow&&(this.div.hidden=!1),super.altTextFinish()}get telemetryFinalData(){return{type:"stamp",hasAltText:!!this.altTextData?.altText}}static computeTelemetryFinalData(a){let b=a.get("hasAltText");return{hasAltText:b.get(!0)??0,hasNoAltText:b.get(!1)??0}}#ig(a,b=!1){a?(this.#h4=a.bitmap,b||(this.#h5=a.id,this.#id=a.isSvg),a.file&&(this.#h9=a.file.name),this.#ih()):this.remove()}#ii(){if(this.#h6=null,this._uiManager.enableWaiting(!1),this.#ia){if(this._uiManager.useNewAltTextWhenAddingImage&&this._uiManager.useNewAltTextFlow&&this.#h4)return void this.addEditToolbar().then(()=>{this._editToolbar.hide(),this._uiManager.editAltText(this,!0)});if(!this._uiManager.useNewAltTextWhenAddingImage&&this._uiManager.useNewAltTextFlow&&this.#h4){this._reportTelemetry({action:"pdfjs.image.image_added",data:{alt_text_modal:!1,alt_text_type:"empty"}});try{this.mlGuessAltText()}catch{}}this.div.focus()}}async mlGuessAltText(a=null,b=!0){if(this.hasAltTextData())return null;let{mlManager:c}=this._uiManager;if(!c)throw Error("No ML.");if(!await c.isEnabledFor("altText"))throw Error("ML isn't enabled for alt text.");let{data:d,width:e,height:f}=a||this.copyCanvas(null,null,!0).imageData,g=await c.guess({name:"altText",request:{data:d,width:e,height:f,channels:d.length/(e*f)}});if(!g)throw Error("No response from the AI service.");if(g.error)throw Error("Error from the AI service.");if(g.cancel)return null;if(!g.output)throw Error("No valid response from the AI service.");let h=g.output;return await this.setGuessedAltText(h),b&&!this.hasAltTextData()&&(this.altTextData={alt:h,decorative:!1}),h}#ij(){if(this.#h5){this._uiManager.enableWaiting(!0),this._uiManager.imageManager.getFromId(this.#h5).then(a=>this.#ig(a,!0)).finally(()=>this.#ii());return}if(this.#h7){let a=this.#h7;this.#h7=null,this._uiManager.enableWaiting(!0),this.#h6=this._uiManager.imageManager.getFromUrl(a).then(a=>this.#ig(a)).finally(()=>this.#ii());return}if(this.#h8){let a=this.#h8;this.#h8=null,this._uiManager.enableWaiting(!0),this.#h6=this._uiManager.imageManager.getFromFile(a).then(a=>this.#ig(a)).finally(()=>this.#ii());return}let a=document.createElement("input");a.type="file",a.accept=an.join(",");let b=this._uiManager._signal;this.#h6=new Promise(c=>{a.addEventListener("change",async()=>{if(a.files&&0!==a.files.length){this._uiManager.enableWaiting(!0);let b=await this._uiManager.imageManager.getFromFile(a.files[0]);this._reportTelemetry({action:"pdfjs.image.image_selected",data:{alt_text_modal:this._uiManager.useNewAltTextFlow}}),this.#ig(b)}else this.remove();c()},{signal:b}),a.addEventListener("cancel",()=>{this.remove(),c()},{signal:b})}).finally(()=>this.#ii()),a.click()}remove(){this.#h5&&(this.#h4=null,this._uiManager.imageManager.deleteId(this.#h5),this.#ia?.remove(),this.#ia=null,this.#ic&&(clearTimeout(this.#ic),this.#ic=null)),super.remove()}rebuild(){if(!this.parent){this.#h5&&this.#ij();return}super.rebuild(),null!==this.div&&(this.#h5&&null===this.#ia&&this.#ij(),this.isAttachedToDOM||this.parent.add(this))}onceAdded(a){this._isDraggable=!0,a&&this.div.focus()}isEmpty(){return!(this.#h6||this.#h4||this.#h7||this.#h8||this.#h5||this.#ib)}get toolbarButtons(){return[["altText",this.createAltText()]]}get isResizable(){return!0}render(){let a,b;return this.div||(this._isCopy&&(a=this.x,b=this.y),super.render(),this.div.hidden=!0,this.createAltText(),this.#ib||(this.#h4?this.#ih():this.#ij()),this._isCopy&&this._moveAfterPaste(a,b),this._uiManager.addShouldRescale(this)),this.div}setCanvas(a,b){let{id:c,bitmap:d}=this._uiManager.imageManager.getFromCanvas(a,b);b.remove(),c&&this._uiManager.imageManager.isValidId(c)&&(this.#h5=c,d&&(this.#h4=d),this.#ib=!1,this.#ih())}_onResized(){this.onScaleChanging()}onScaleChanging(){this.parent&&(null!==this.#ic&&clearTimeout(this.#ic),this.#ic=setTimeout(()=>{this.#ic=null,this.#ik()},200))}#ih(){let{div:a}=this,{width:b,height:c}=this.#h4,[d,e]=this.pageDimensions;if(this.width)b=this.width*d,c=this.height*e;else if(b>.75*d||c>.75*e){let a=Math.min(.75*d/b,.75*e/c);b*=a,c*=a}this._uiManager.enableWaiting(!1);let f=this.#ia=document.createElement("canvas");f.setAttribute("role","img"),this.addContainer(f),this.width=b/d,this.height=c/e,this.setDims(),this._initialOptions?.isCentered?this.center():this.fixAndSetPosition(),this._initialOptions=null,this._uiManager.useNewAltTextWhenAddingImage&&this._uiManager.useNewAltTextFlow&&!this.annotationElementId||(a.hidden=!1),this.#ik(),this.#ie||(this.parent.addUndoableEditor(this),this.#ie=!0),this._reportTelemetry({action:"inserted_image"}),this.#h9&&this.div.setAttribute("aria-description",this.#h9),this.annotationElementId||this._uiManager.a11yAlert(aN._l10nAlert.stamp)}copyCanvas(a,b,c=!1){a||(a=224);let{width:d,height:e}=this.#h4,f=new am,g=this.#h4,h=d,i=e,j=null;if(b){if(d>b||e>b){let a=Math.min(b/d,b/e);h=Math.floor(d*a),i=Math.floor(e*a)}let a=(j=document.createElement("canvas")).width=Math.ceil(h*f.sx),c=j.height=Math.ceil(i*f.sy);this.#id||(g=this.#il(a,c));let k=j.getContext("2d");k.filter=this._uiManager.hcmFilter;let l="white",m="#cfcfd8";"none"!==this._uiManager.hcmFilter?m="black":ao.isDarkMode&&(l="#8f8f9d",m="#42414d");let n=15*f.sx,o=15*f.sy,p=new OffscreenCanvas(2*n,2*o),q=p.getContext("2d");q.fillStyle=l,q.fillRect(0,0,2*n,2*o),q.fillStyle=m,q.fillRect(0,0,n,o),q.fillRect(n,o,n,o),k.fillStyle=k.createPattern(p,"repeat"),k.fillRect(0,0,a,c),k.drawImage(g,0,0,g.width,g.height,0,0,a,c)}let k=null;if(c){let b,c;if(f.symmetric&&g.width<a&&g.height<a)b=g.width,c=g.height;else if(g=this.#h4,d>a||e>a){let f=Math.min(a/d,a/e);b=Math.floor(d*f),c=Math.floor(e*f),this.#id||(g=this.#il(b,c))}let h=new OffscreenCanvas(b,c).getContext("2d",{willReadFrequently:!0});h.drawImage(g,0,0,g.width,g.height,0,0,b,c),k={width:b,height:c,data:h.getImageData(0,0,b,c).data}}return{canvas:j,width:h,height:i,imageData:k}}#il(a,b){let{width:c,height:d}=this.#h4,e=c,f=d,g=this.#h4;for(;e>2*a||f>2*b;){let c=e,d=f;e>2*a&&(e=Math.ceil(e/2)),f>2*b&&(f=Math.ceil(f/2));let h=new OffscreenCanvas(e,f);h.getContext("2d").drawImage(g,0,0,c,d,0,0,e,f),g=h.transferToImageBitmap()}return g}#ik(){let[a,b]=this.parentDimensions,{width:c,height:d}=this,e=new am,f=Math.ceil(c*a*e.sx),g=Math.ceil(d*b*e.sy),h=this.#ia;if(!h||h.width===f&&h.height===g)return;h.width=f,h.height=g;let i=this.#id?this.#h4:this.#il(f,g),j=h.getContext("2d");j.filter=this._uiManager.hcmFilter,j.drawImage(i,0,0,i.width,i.height,0,0,f,g)}#im(a){if(a){if(this.#id){let a=this._uiManager.imageManager.getSvgUrl(this.#h5);if(a)return a}let a=document.createElement("canvas");return{width:a.width,height:a.height}=this.#h4,a.getContext("2d").drawImage(this.#h4,0,0),a.toDataURL()}if(this.#id){let[a,b]=this.pageDimensions,c=Math.round(this.width*a*X.PDF_TO_CSS_UNITS),d=Math.round(this.height*b*X.PDF_TO_CSS_UNITS),e=new OffscreenCanvas(c,d);return e.getContext("2d").drawImage(this.#h4,0,0,this.#h4.width,this.#h4.height,0,0,c,d),e.transferToImageBitmap()}return structuredClone(this.#h4)}static async deserialize(a,b,c){let d=null,e=!1;if(a instanceof dl){let f,g,{data:{rect:h,rotation:i,id:k,structParent:m,popupRef:n,richText:o,contentsObj:p,creationDate:q,modificationDate:r},container:s,parent:{page:{pageNumber:t}},canvas:u}=a;u?(delete a.canvas,{id:f,bitmap:g}=c.imageManager.getFromCanvas(s.id,u),u.remove()):(e=!0,a._hasNoCanvas=!0);let v=(await b._structTree.getAriaAttributes(`${j}${k}`))?.get("aria-label")||"";d=a={annotationType:l.STAMP,bitmapId:f,bitmap:g,pageIndex:t-1,rect:h.slice(0),rotation:i,annotationElementId:k,id:k,deleted:!1,accessibilityData:{decorative:!1,altText:v},isSvg:!1,structParent:m,popupRef:n,richText:o,comment:p?.str||null,creationDate:q,modificationDate:r}}let f=await super.deserialize(a,b,c),{rect:g,bitmap:h,bitmapUrl:i,bitmapId:k,isSvg:m,accessibilityData:n}=a;e?(c.addMissingCanvas(a.id,f),f.#ib=!0):k&&c.imageManager.isValidId(k)?(f.#h5=k,h&&(f.#h4=h)):f.#h7=i,f.#id=m;let[o,p]=f.pageDimensions;return f.width=(g[2]-g[0])/o,f.height=(g[3]-g[1])/p,n&&(f.altTextData=n),f._initialData=d,a.comment&&f.setCommentData(a),f.#ie=!!d,f}serialize(a=!1,b=null){if(this.isEmpty())return null;if(this.deleted)return this.serializeDeleted();let c=Object.assign(super.serialize(a),{bitmapId:this.#h5,isSvg:this.#id});if(this.addComment(c),a)return c.bitmapUrl=this.#im(!0),c.accessibilityData=this.serializeAltText(!0),c.isCopy=!0,c;let{decorative:d,altText:e}=this.serializeAltText(!1);if(!d&&e&&(c.accessibilityData={type:"Figure",alt:e}),this.annotationElementId){let a=this.#gt(c);return a.isSame?null:(a.isSameAltText?delete c.accessibilityData:c.accessibilityData.structParent=this._initialData.structParent??-1,c.id=this.annotationElementId,delete c.bitmapId,c)}if(null===b)return c;b.stamps||=new Map;let f=this.#id?(c.rect[2]-c.rect[0])*(c.rect[3]-c.rect[1]):null;if(b.stamps.has(this.#h5)){if(this.#id){let a=b.stamps.get(this.#h5);f>a.area&&(a.area=f,a.serialized.bitmap.close(),a.serialized.bitmap=this.#im(!1))}}else b.stamps.set(this.#h5,{area:f,serialized:c}),c.bitmap=this.#im(!1);return c}#gt(a){let{pageIndex:b,accessibilityData:{altText:c}}=this._initialData,d=a.pageIndex===b,e=(a.accessibilityData?.alt||"")===c;return{isSame:!this.hasEditedComment&&!this._hasBeenMoved&&!this._hasBeenResized&&d&&e,isSameAltText:e}}renderAnnotationElement(a){return this.deleted?a.hide():a.updateEdited({rect:this.getPDFRect(),popup:this.comment}),null}}class dM{#gb;#io=!1;#ip=null;#iq=null;#ir=null;#is=new Map;#it=!1;#iu=!1;#iv=!1;#iw=null;#ix=null;#iy=null;#iz=null;#iA=null;#iB=-1;#s;static _initialized=!1;static #$=new Map([dr,dF,dL,dz,dK].map(a=>[a._editorType,a]));constructor({uiManager:a,pageIndex:b,div:c,structTreeLayer:d,accessibilityManager:e,annotationLayer:f,drawLayer:g,textLayer:h,viewport:i,l10n:j}){const k=[...dM.#$.values()];if(!dM._initialized)for(const b of(dM._initialized=!0,k))b.initialize(j,a);a.registerEditorTypes(k),this.#s=a,this.pageIndex=b,this.div=c,this.#gb=e,this.#ip=f,this.viewport=i,this.#iy=h,this.drawLayer=g,this._structTree=d,this.#s.addLayer(this)}get isEmpty(){return 0===this.#is.size}get isInvisible(){return this.isEmpty&&this.#s.getMode()===l.NONE}updateToolbar(a){this.#s.updateToolbar(a)}updateMode(a=this.#s.getMode()){switch(this.#iC(),a){case l.NONE:this.div.classList.toggle("nonEditing",!0),this.disableTextSelection(),this.togglePointerEvents(!1),this.toggleAnnotationLayerPointerEvents(!0),this.disableClick();return;case l.INK:this.disableTextSelection(),this.togglePointerEvents(!0),this.enableClick();break;case l.HIGHLIGHT:this.enableTextSelection(),this.togglePointerEvents(!1),this.disableClick();break;default:this.disableTextSelection(),this.togglePointerEvents(!0),this.enableClick()}this.toggleAnnotationLayerPointerEvents(!1);let{classList:b}=this.div;if(b.toggle("nonEditing",!1),a===l.POPUP)b.toggle("commentEditing",!0);else for(let c of(b.toggle("commentEditing",!1),dM.#$.values()))b.toggle(`${c._type}Editing`,a===c._editorType);this.div.hidden=!1}hasTextLayer(a){return a===this.#iy?.div}setEditingState(a){this.#s.setEditingState(a)}addCommands(a){this.#s.addCommands(a)}cleanUndoStack(a){this.#s.cleanUndoStack(a)}toggleDrawing(a=!1){this.div.classList.toggle("drawing",!a)}togglePointerEvents(a=!1){this.div.classList.toggle("disabled",!a)}toggleAnnotationLayerPointerEvents(a=!1){this.#ip?.togglePointerEvents(a)}get #iD(){return 0!==this.#is.size?this.#is.values():this.#s.getEditors(this.pageIndex)}async enable(){this.#iv=!0,this.div.tabIndex=0,this.togglePointerEvents(!0),this.div.classList.toggle("nonEditing",!1),this.#iA?.abort(),this.#iA=null;let a=new Set;for(let b of this.#iD)b.enableEditing(),b.show(!0),b.annotationElementId&&(this.#s.removeChangedExistingAnnotation(b),a.add(b.annotationElementId));let b=this.#ip;if(b)for(let c of b.getEditableAnnotations()){if(c.hide(),this.#s.isDeletedAnnotationElement(c.data.id)||a.has(c.data.id))continue;let b=await this.deserialize(c);b&&(this.addOrRebuild(b),b.enableEditing())}this.#iv=!1,this.#s._eventBus.dispatch("editorsrendered",{source:this,pageNumber:this.pageIndex+1})}disable(){if(this.#iu=!0,this.div.tabIndex=-1,this.togglePointerEvents(!1),this.div.classList.toggle("nonEditing",!0),this.#iy&&!this.#iA){this.#iA=new AbortController;let a=this.#s.combinedSignal(this.#iA);this.#iy.div.addEventListener("pointerdown",a=>{let b,{clientX:c,clientY:d,timeStamp:e}=a;if(e-this.#iB>500){this.#iB=e;return}this.#iB=-1;let{classList:f}=this.div;f.toggle("getElements",!0);let g=document.elementsFromPoint(c,d);if(f.toggle("getElements",!1),!this.div.contains(g[0]))return;let h=RegExp(`^${k}[0-9]+$`);for(let a of g)if(h.test(a.id)){b=a.id;break}if(!b)return;let i=this.#is.get(b);i?.annotationElementId===null&&(af(a),i.dblclick(a))},{signal:a,capture:!0})}let a=this.#ip,b=[];if(a){let c=new Map,d=new Map;for(let a of this.#iD){if(a.disableEditing(),!a.annotationElementId){b.push(a);continue}if(null!==a.serialize()){c.set(a.annotationElementId,a);continue}d.set(a.annotationElementId,a),this.getEditableAnnotation(a.annotationElementId)?.show(),a.remove()}for(let b of a.getEditableAnnotations()){let{id:a}=b.data;if(this.#s.isDeletedAnnotationElement(a)){b.updateEdited({deleted:!0});continue}let e=d.get(a);if(e){e.resetAnnotationElement(b),e.show(!1),b.show();continue}(e=c.get(a))&&(this.#s.addChangedExistingAnnotation(e),e.renderAnnotationElement(b)&&e.show(!1)),b.show()}}this.#iC(),this.isEmpty&&(this.div.hidden=!0);let{classList:c}=this.div;for(let a of dM.#$.values())c.remove(`${a._type}Editing`);this.disableTextSelection(),this.toggleAnnotationLayerPointerEvents(!0),a?.updateFakeAnnotations(b),this.#iu=!1}getEditableAnnotation(a){return this.#ip?.getEditableAnnotation(a)||null}setActiveEditor(a){this.#s.getActive()!==a&&this.#s.setActiveEditor(a)}enableTextSelection(){if(this.div.tabIndex=-1,this.#iy?.div&&!this.#iz){this.#iz=new AbortController;let a=this.#s.combinedSignal(this.#iz);this.#iy.div.addEventListener("pointerdown",this.#iE.bind(this),{signal:a}),this.#iy.div.classList.add("highlighting")}}disableTextSelection(){this.div.tabIndex=0,this.#iy?.div&&this.#iz&&(this.#iz.abort(),this.#iz=null,this.#iy.div.classList.remove("highlighting"))}#iE(a){this.#s.unselectAll();let{target:b}=a;if(b===this.#iy.div||("img"===b.getAttribute("role")||b.classList.contains("endOfContent")||b.classList.contains("textLayerImages")||b.classList.contains("textLayerImagePlaceholder"))&&this.#iy.div.contains(b)){let{isMac:b}=K.platform;if(0!==a.button||a.ctrlKey&&b)return;this.#s.showAllEditors("highlight",!0,!0),this.#iy.div.classList.add("free"),this.toggleDrawing(),dz.startHighlighting(this,"ltr"===this.#s.direction,{target:this.#iy.div,x:a.x,y:a.y}),this.#iy.div.addEventListener("pointerup",()=>{this.#iy.div.classList.remove("free"),this.toggleDrawing(!0)},{once:!0,signal:this.#s._signal}),a.preventDefault()}}enableClick(){if(this.#iq)return;this.#iq=new AbortController;let a=this.#s.combinedSignal(this.#iq);this.div.addEventListener("pointerdown",this.pointerdown.bind(this),{signal:a});let b=this.pointerup.bind(this);this.div.addEventListener("pointerup",b,{signal:a}),this.div.addEventListener("pointercancel",b,{signal:a})}disableClick(){this.#iq?.abort(),this.#iq=null}attach(a){this.#is.set(a.id,a);let{annotationElementId:b}=a;b&&this.#s.isDeletedAnnotationElement(b)&&this.#s.removeDeletedAnnotationElement(a)}detach(a){this.#is.delete(a.id),this.#gb?.removePointerInTextLayer(a.contentDiv),!this.#iu&&a.annotationElementId&&this.#s.addDeletedAnnotationElement(a)}remove(a){this.detach(a),this.#s.removeEditor(a),a.div.remove(),a.isAttachedToDOM=!1}changeParent(a){a.parent!==this&&(a.parent&&a.annotationElementId&&(this.#s.addDeletedAnnotationElement(a),aN.deleteAnnotationElement(a),a.annotationElementId=null),this.attach(a),a.parent?.detach(a),a.setParent(this),a.div&&a.isAttachedToDOM&&(a.div.remove(),this.div.append(a.div)))}add(a){if(a.parent!==this||!a.isAttachedToDOM){if(this.changeParent(a),this.#s.addEditor(a),this.attach(a),!a.isAttachedToDOM){let b=a.render();this.div.append(b),a.isAttachedToDOM=!0}a.fixAndSetPosition(),a.onceAdded(!this.#iv),this.#s.addToAnnotationStorage(a),a._reportTelemetry(a.telemetryInitialData)}}moveEditorInDOM(a){if(!a.isAttachedToDOM)return;let{activeElement:b}=document;a.div.contains(b)&&!this.#ir&&(a._focusEventsAllowed=!1,this.#ir=setTimeout(()=>{this.#ir=null,a.div.contains(document.activeElement)?a._focusEventsAllowed=!0:(a.div.addEventListener("focusin",()=>{a._focusEventsAllowed=!0},{once:!0,signal:this.#s._signal}),b.focus())},0)),a._structTreeParentId=this.#gb?.moveElementInDOM(this.div,a.div,a.contentDiv,!0)}addOrRebuild(a){a.needsToBeRebuilt()?(a.parent||=this,a.rebuild(),a.show()):this.add(a)}addUndoableEditor(a){this.addCommands({cmd:()=>a._uiManager.rebuild(a),undo:()=>{a.remove()},mustExec:!1})}getEditorByUID(a){for(let b of this.#is.values())if(b.uid===a)return b;return null}get #iF(){return dM.#$.get(this.#s.getMode())}combinedSignal(a){return this.#s.combinedSignal(a)}#iG(a){let b=this.#iF;return b?new b.prototype.constructor(a):null}canCreateNewEmptyEditor(){return this.#iF?.canCreateNewEmptyEditor()}async pasteEditor(a,b){this.updateToolbar(a),await this.#s.updateMode(a.mode);let{offsetX:c,offsetY:d}=this.#iH(),e=this.#s.getId(),f=this.#iG({parent:this,id:e,x:c,y:d,uiManager:this.#s,isCentered:!0,...b});f&&this.add(f)}async deserialize(a){return await dM.#$.get(a.annotationType??a.annotationEditorType)?.deserialize(a,this,this.#s)||null}createAndAddNewEditor(a,b,c={}){let d=this.#s.getId(),e=this.#iG({parent:this,id:d,x:a.offsetX,y:a.offsetY,uiManager:this.#s,isCentered:b,...c});return e&&this.add(e),e}get boundingClientRect(){return this.div.getBoundingClientRect()}#iH(){let{x:a,y:b,width:c,height:d}=this.boundingClientRect,e=Math.max(0,a),f=Math.max(0,b),g=Math.min(window.innerWidth,a+c),h=Math.min(window.innerHeight,b+d),i=(e+g)/2-a,j=(f+h)/2-b,[k,l]=this.viewport.rotation%180==0?[i,j]:[j,i];return{offsetX:k,offsetY:l}}addNewEditor(a={}){this.createAndAddNewEditor(this.#iH(),!0,a)}setSelected(a){this.#s.setSelected(a)}toggleSelected(a){this.#s.toggleSelected(a)}unselect(a){this.#s.unselect(a)}pointerup(a){let{isMac:b}=K.platform;if(0!==a.button||a.ctrlKey&&b||a.target!==this.div||!this.#it||(this.#it=!1,this.#iF?.isDrawer&&this.#iF.supportMultipleDrawings))return;if(!this.#io){this.#io=!0;return}let c=this.#s.getMode();c===l.STAMP||c===l.POPUP||c===l.SIGNATURE?this.#s.unselectAll():this.createAndAddNewEditor(a,!1)}pointerdown(a){if(this.#s.getMode()===l.HIGHLIGHT&&this.enableTextSelection(),this.#it){this.#it=!1;return}let{isMac:b}=K.platform;if(0!==a.button||a.ctrlKey&&b||a.target!==this.div)return;if(this.#it=!0,this.#iF?.isDrawer)return void this.startDrawingSession(a);let c=this.#s.getActive();this.#io=!c||c.isEmpty()}startDrawingSession(a){if(this.div.focus({preventScroll:!0}),this.#iw)return void this.#iF.startDrawing(this,this.#s,!1,a);this.#s.setCurrentDrawingSession(this),this.#iw=new AbortController;let b=this.#s.combinedSignal(this.#iw);this.div.addEventListener("blur",({relatedTarget:a})=>{a&&!this.div.contains(a)&&(this.#ix=null,this.commitOrRemove())},{signal:b}),this.#iF.startDrawing(this,this.#s,!1,a)}pause(a){if(a){let{activeElement:a}=document;this.div.contains(a)&&(this.#ix=a);return}this.#ix&&setTimeout(()=>{this.#ix?.focus(),this.#ix=null},0)}endDrawingSession(a=!1){return this.#iw?(this.#s.setCurrentDrawingSession(null),this.#iw.abort(),this.#iw=null,this.#ix=null,this.#iF.endDrawing(a)):null}findNewParent(a,b,c){let d=this.#s.findParent(b,c);return null!==d&&d!==this&&(d.changeParent(a),!0)}commitOrRemove(){return!!this.#iw&&(this.endDrawingSession(),!0)}onScaleChanging(){this.#iw&&this.#iF.onScaleChangingWhenDrawing(this)}destroy(){for(let a of(this.commitOrRemove(),this.#s.getActive()?.parent===this&&(this.#s.commitOrRemove(),this.#s.setActiveEditor(null)),this.#ir&&(clearTimeout(this.#ir),this.#ir=null),this.#is.values()))this.#gb?.removePointerInTextLayer(a.contentDiv),a.setParent(null),a.isAttachedToDOM=!1,a.div.remove();this.div=null,this.#is.clear(),this.#s.removeLayer(this)}#iC(){for(let a of this.#is.values())a.isEmpty()&&a.remove()}async render({viewport:a}){for(let b of(this.viewport=a,al(this.div,a),this.#s.getEditors(this.pageIndex)))this.add(b),b.rebuild();await this.#s.findClonesForPage(this),this.div.hidden=this.isEmpty,this.updateMode()}update({viewport:a}){this.#s.commitOrRemove(),this.#iC();let b=this.viewport.rotation,c=a.rotation;if(this.viewport=a,al(this.div,{rotation:c}),b!==c)for(let a of this.#is.values())a.rotate(c)}get pageDimensions(){let{pageWidth:a,pageHeight:b}=this.viewport.rawDims;return[a,b]}get scale(){return this.#s.viewParameters.realScale}}function dN(a,b){return a===b?0:a.compareDocumentPosition(b)&Node.DOCUMENT_POSITION_FOLLOWING?-1:1}function dO(a){return a?a.nodeType===Node.ELEMENT_NODE?a.closest(".textLayer"):a.parentElement?.closest(".textLayer")||null:null}function dP(a,b,c){if(a.nodeType!==Node.ELEMENT_NODE||!a.classList.contains("textLayer")||b!==a.childNodes.length)return{container:a,offset:b};let d=a.lastChild;return(d?.nodeType===Node.ELEMENT_NODE&&d.classList.contains("endOfContent")&&(d=d.previousSibling),d&&c.contains(d))?d.nodeType===Node.TEXT_NODE?{container:d,offset:d.textContent.length}:{container:d,offset:d.childNodes.length}:null}class dQ{#fF=null;#iI=new Map;#iy=null;#ad=null;#aw=null;#iJ=null;#iK=new Map;static #A=0;static #iL=0;static #iM=null;static #iN=new Set;static #iO=!1;static #iP=new Set;static #iQ=new WeakMap;constructor({filterFactory:a=null,pageColors:b=null,pageIndex:c,textLayer:d=null}){if(this.pageIndex=c,this.#ad=a,this.#aw=b,d){const a=dQ.#iQ.get(d);if(a?.selectionDiv&&(a.selectionDiv.remove(),dQ.#iN.delete(a.selectionDiv)),dQ.#iQ.set(d,{drawLayer:this}),dQ.#iP.add(d),this.#iy=d,this.#iJ=new MutationObserver(a=>{if(this.#fF&&this.#iy?.isConnected&&dQ.#iR()){for(let{addedNodes:b}of a)for(let a of b)if(a.nodeType===Node.ELEMENT_NODE&&a.classList.contains("endOfContent"))return void dQ.#aN()}}),this.#iJ.observe(d,{childList:!0}),null===dQ.#iM){dQ.#iM=new AbortController;const{signal:a}=dQ.#iM;document.addEventListener("selectionchange",dQ.#aN.bind(dQ),{signal:a}),document.addEventListener("pointerdown",()=>{dQ.#iO=!0},{signal:a}),document.addEventListener("pointerup",()=>{dQ.#iO=!1},{signal:a}),window.addEventListener("blur",()=>{dQ.#iO=!1},{signal:a})}}}setParent(a){if(!this.#fF){this.#fF=a,this.#iy?.isConnected&&dQ.#iR()&&dQ.#aN();return}if(this.#fF!==a){if(this.#iI.size>0)for(let b of this.#iI.values())b.remove(),a.append(b);this.#fF=a}}static #iS(a){let b=this.#iQ.get(a);b?.selectionDiv&&(b.selectionDiv.remove(),this.#iN.delete(b.selectionDiv),b.selectionDiv=null,b.path=null)}static #iR(){let a=document.getSelection();return!!a&&!a.isCollapsed}static #iT(){return[...this.#iP].filter(a=>a.isConnected).sort(dN)}static #aN(){let a=document.getSelection();if(!a||a.isCollapsed){for(let a of this.#iN)a.remove();this.#iN.clear();return}let b=new WeakMap,c=this.#iT(),d=[];for(let b=0,e=a.rangeCount;b<e;b++){let e=a.getRangeAt(b);if(e.collapsed)continue;let{startContainer:f,startOffset:g,endContainer:h,endOffset:i}=e,j=dO(f),k=dO(h),l=null===j,m=null===k;if(this.#iO&&l!==m)return;if(1===a.rangeCount){let{anchorNode:b,anchorOffset:c,focusNode:d,focusOffset:e}=a,l=dO(b),m=dO(d),n=function(a,b,c,d){if(a===c)return b<=d;let e=a.compareDocumentPosition(c);return!!(e&Node.DOCUMENT_POSITION_FOLLOWING)||!(e&Node.DOCUMENT_POSITION_PRECEDING)&&null}(b,c,d,e);l&&m&&null!==n&&(n?(f=b,g=c,j=l,h=d,i=e,k=m):(f=d,g=e,j=m,h=b,i=c,k=l))}let n=c.filter(a=>e.intersectsNode(a));if(0===n.length)continue;let o=!1;if(j||(f=j=n[0],g=0,o=!0),k||(h=k=n.at(-1),i=k.childNodes.length,o=!0),h.nodeType===Node.ELEMENT_NODE){if(h.classList.contains("endOfContent")){let a=h.previousSibling;if(!a)continue;h=a,i=a.nodeType===Node.TEXT_NODE?a.textContent.length:a.childNodes.length}else if(h.classList.contains("textLayer")&&h.childNodes.length===i){let a=dP(h,i,k);if(!a)continue;h=a.container,i=a.offset}}if(f.nodeType===Node.ELEMENT_NODE){let a=dP(f,g,j);if(!a)continue;f=a.container,g=a.offset}if(j===k&&!o&&n.includes(j)){d.push([e,j]);continue}for(let a of n){let b=a.firstChild;if(!b)continue;let c=document.createRange();if(a===j?c.setStart(f,g):c.setStartBefore(b),a===k)c.setEnd(h,i);else{let b=a.lastChild;if(!b)continue;if(b.nodeType===Node.ELEMENT_NODE&&b.classList.contains("endOfContent")){let a=b.previousSibling;if(!a)continue;c.setEndAfter(a)}else c.setEndAfter(b)}c.collapsed||d.push([c,a])}}let e=new Set(d.map(a=>a[1]));for(let a of this.#iP)e.has(a)||this.#iS(a);for(let[a,c]of d){let d=dQ.#iQ.get(c);if(!d)continue;let e=b.get(c);if(!e){let a=c.getBoundingClientRect();e=(b,c,d,e)=>({x:(b-a.x)/a.width,y:(c-a.y)/a.height,width:d/a.width,height:e/a.height}),b.set(c,e)}let f=[];for(let{x:b,y:c,width:d,height:g}of a.getClientRects())0!==d&&0!==g&&({x:b,y:c,width:d,height:g}=e(b,c,d,g),(1!==d||1!==g)&&f.push(`M${b} ${c} h${d} v${g} h-${d} Z`));if(0===f.length)continue;let g=d.drawLayer,h=d.selectionDiv,i=d.path;if(!h){let a=`clip_selection_${dQ.#iL++}`;(h=document.createElement("div")).className="selection",h.style.clipPath=`url(#${a})`;let b=g.#ad?.createSelectionStyle(g.#aw);if(b)for(let[a,c]of Object.entries(b))h.style.setProperty(a,c);let c=dQ._svgFactory.create(1,1,!0);c.setAttribute("aria-hidden","true"),c.setAttribute("width","100%"),c.setAttribute("height","100%");let e=dQ._svgFactory.createElement("clipPath");e.setAttribute("id",a),e.setAttribute("clipPathUnits","objectBoundingBox"),i=dQ._svgFactory.createElement("path"),e.append(i),c.append(e),h.append(c),d.path=i,d.selectionDiv=h}!h.parentNode&&g.#fF&&(g.#fF.append(h),this.#iN.add(h)),i.setAttribute("d",f.join(" "))}}static get _svgFactory(){return B(this,"_svgFactory",new cU)}static #iU(a,[b,c,d,e]){let{style:f}=a;f.top=`${100*c}%`,f.left=`${100*b}%`,f.width=`${100*d}%`,f.height=`${100*e}%`}#iV(){let a=dQ._svgFactory.create(1,1,!0);return this.#fF.append(a),a.setAttribute("aria-hidden","true"),a}#iW(a,b){let c=dQ._svgFactory.createElement("clipPath");a.append(c);let d=`clip_${b}`;c.setAttribute("id",d),c.setAttribute("clipPathUnits","objectBoundingBox");let e=dQ._svgFactory.createElement("use");return c.append(e),e.setAttribute("href",`#${b}`),e.classList.add("clip"),d}#iX(a,b){for(let[c,d]of Object.entries(b))null===d?a.removeAttribute(c):a.setAttribute(c,d)}draw(a,b=!1,c=!1){let d=dQ.#A++,e=this.#iV(),f=dQ._svgFactory.createElement("defs");e.append(f);let g=dQ._svgFactory.createElement("path");f.append(g);let h=`path_${d}`;g.setAttribute("id",h),g.setAttribute("vector-effect","non-scaling-stroke"),b&&this.#iK.set(d,g);let i=c?this.#iW(f,h):null,j=dQ._svgFactory.createElement("use");return e.append(j),j.setAttribute("href",`#${h}`),this.updateProperties(e,a),this.#iI.set(d,e),{id:d,clipPathId:`url(#${i})`}}drawOutline(a,b){let c,d=dQ.#A++,e=this.#iV(),f=dQ._svgFactory.createElement("defs");e.append(f);let g=dQ._svgFactory.createElement("path");f.append(g);let h=`path_${d}`;if(g.setAttribute("id",h),g.setAttribute("vector-effect","non-scaling-stroke"),b){let a=dQ._svgFactory.createElement("mask");f.append(a),c=`mask_${d}`,a.setAttribute("id",c),a.setAttribute("maskUnits","objectBoundingBox");let b=dQ._svgFactory.createElement("rect");a.append(b),b.setAttribute("width","1"),b.setAttribute("height","1"),b.setAttribute("fill","white");let e=dQ._svgFactory.createElement("use");a.append(e),e.setAttribute("href",`#${h}`),e.setAttribute("stroke","none"),e.setAttribute("fill","black"),e.setAttribute("fill-rule","nonzero"),e.classList.add("mask")}let i=dQ._svgFactory.createElement("use");e.append(i),i.setAttribute("href",`#${h}`),c&&i.setAttribute("mask",`url(#${c})`);let j=i.cloneNode();return e.append(j),i.classList.add("mainOutline"),j.classList.add("secondaryOutline"),this.updateProperties(e,a),this.#iI.set(d,e),d}finalizeDraw(a,b){this.#iK.delete(a),this.updateProperties(a,b)}updateProperties(a,b){if(!b)return;let{root:c,bbox:d,rootClass:e,path:f}=b,g="number"==typeof a?this.#iI.get(a):a;if(g){if(c&&this.#iX(g,c),d&&dQ.#iU(g,d),e){let{classList:a}=g;for(let[b,c]of Object.entries(e))a.toggle(b,c)}if(f){let a=g.firstElementChild.firstElementChild;this.#iX(a,f)}}}updateParent(a,b){if(b===this)return;let c=this.#iI.get(a);c&&(b.#fF.append(c),this.#iI.delete(a),b.#iI.set(a,c))}remove(a){this.#iK.delete(a),null!==this.#fF&&(this.#iI.get(a).remove(),this.#iI.delete(a))}destroy(){for(let a of(this.#fF=null,this.#iI.values()))a.remove();if(this.#iI.clear(),this.#iK.clear(),this.#iJ?.disconnect(),this.#iJ=null,this.#iy){let a=dQ.#iQ.get(this.#iy);a?.drawLayer===this&&(dQ.#iS(this.#iy),dQ.#iQ.delete(this.#iy),dQ.#iP.delete(this.#iy),0===dQ.#iP.size&&(dQ.#iM?.abort(),dQ.#iM=null,dQ.#iO=!1)),this.#iy=null}}}function dR(a){return`${(100*a).toFixed(2)}%`}class dS{#iY=[];#iZ=new Map;#i$=null;#i_=0;#en=0;#em=0;static #i0=null;constructor(a,b,c,d){this.#i_=a,this.#iY=b,this.#en=c.rawDims.pageWidth,this.#em=c.rawDims.pageHeight,this.#i$=d}render(){let a=document.createElement("div");a.className="textLayerImages";for(let b=0;b<this.#iY.length;b+=6){let c=this.#i1(this.#iY.subarray(b,b+6));c&&a.append(c)}return a.addEventListener("contextmenu",a=>{if(!(a.target instanceof HTMLCanvasElement))return;let b=a.target,c=this.#iZ.get(b);if(!c)return;let d=dS.#i0?.deref();if(d===b)return;d&&(d.width=0,d.height=0),dS.#i0=new WeakRef(b);let{inverseTransform:e,x1:f,y1:g,width:h,height:i}=c,j=this.#i$(),k=Math.ceil(f*j.width),l=Math.ceil(g*j.height),m=Math.floor((f+h/this.#en)*j.width),n=Math.floor((g+i/this.#em)*j.height);b.width=m-k,b.height=n-l;let o=b.getContext("2d");o.setTransform(...e),o.translate(-k,-l),o.drawImage(j,0,0)}),a}#i1([a,b,c,d,e,f]){let g=Math.hypot((e-a)*this.#en,(f-b)*this.#em),h=Math.hypot((c-a)*this.#en,(d-b)*this.#em);if(g<this.#i_||h<this.#i_)return null;let i=[(e-a)*this.#en/g,(f-b)*this.#em/g,(c-a)*this.#en/h,(d-b)*this.#em/h,0,0],j=L.inverseTransform(i),k=document.createElement("canvas");return k.className="textLayerImagePlaceholder",k.width=0,k.height=0,Object.assign(k.style,{opacity:0,position:"absolute",left:dR(a),top:dR(b),width:dR(g/this.#en),height:dR(h/this.#em),transformOrigin:"0% 0%",transform:`matrix(${i.join(",")})`}),this.#iZ.set(k,{inverseTransform:j,width:g,height:h,x1:a,y1:b}),k}}globalThis._pdfjsTestingUtils={HighlightOutliner:dv},globalThis.pdfjsLib={AbortException:I,AnnotationEditorLayer:dM,AnnotationEditorParamsType:m,AnnotationEditorType:l,AnnotationEditorUIManager:aJ,AnnotationLayer:dp,AnnotationMode:i,AnnotationType:p,applyOpacity:aq,build:cN,ColorPicker:cO,createValidAbsoluteUrl:y,CSSConstants:ap,DOMSVGFactory:cU,DrawLayer:dQ,FeatureTest:K,fetchData:Y,findContrastColor:aw,getDocument:cD,getFilenameFromUrl:aa,getPdfFilenameFromUrl:ab,getRGB:ai,getRGBA:ah,getUuid:P,GlobalWorkerOptions:ct,ImageKind:o,InvalidPDFException:F,isDataScheme:$,isPdfFile:_,isValidExplicitDest:bm,makeArr:Q,makeMap:R,makeObj:S,MathClamp:T,noContextMenu:ae,normalizeUnicode:O,OPS:r,OutputScale:am,PasswordException:D,PasswordResponses:s,PDFDataRangeTransport:cF,PDFDateString:ag,PDFWorker:cI,PermissionFlag:n,PixelsPerInch:X,RenderingCancelledException:Z,renderRichText:ax,ResponseException:G,setLayerDimensions:al,shadow:B,SignatureExtractor:dH,stopEvent:af,SupportedImageMimeTypes:an,TextLayer:cC,TextLayerImages:dS,TouchManager:aM,updateUrlHash:z,Util:L,VerbosityLevel:q,version:cM,XfaLayer:W}}};
|