@seqyuan/annovibe 0.8.13 → 0.8.15

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.
Files changed (199) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +5 -4
  3. package/.next/build-manifest.json +3 -3
  4. package/.next/prerender-manifest.json +3 -3
  5. package/.next/react-loadable-manifest.json +6 -6
  6. package/.next/required-server-files.js +1 -1
  7. package/.next/required-server-files.json +1 -1
  8. package/.next/routes-manifest.json +6 -0
  9. package/.next/server/app/_global-error/page.js +3 -3
  10. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  11. package/.next/server/app/_global-error.html +1 -1
  12. package/.next/server/app/_global-error.rsc +1 -1
  13. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  14. package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  15. package/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  16. package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  17. package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  18. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  19. package/.next/server/app/_not-found/page.js +2 -2
  20. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  21. package/.next/server/app/_not-found.html +1 -1
  22. package/.next/server/app/_not-found.rsc +1 -1
  23. package/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
  24. package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  25. package/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
  26. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  27. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  28. package/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  29. package/.next/server/app/api/agent/[id]/events/route.js +2 -2
  30. package/.next/server/app/api/agent/[id]/route.js +1 -1
  31. package/.next/server/app/api/agent/new/route.js +1 -1
  32. package/.next/server/app/api/auth/all-providers/route.js +1 -1
  33. package/.next/server/app/api/auth/api-key/[provider]/route.js +1 -1
  34. package/.next/server/app/api/auth/login/[provider]/route.js +2 -2
  35. package/.next/server/app/api/auth/login/route.js +1 -1
  36. package/.next/server/app/api/auth/logout/[provider]/route.js +1 -1
  37. package/.next/server/app/api/auth/providers/route.js +1 -1
  38. package/.next/server/app/api/auth/status/route.js +1 -1
  39. package/.next/server/app/api/default-cwd/route.js +1 -1
  40. package/.next/server/app/api/files/[...path]/route.js +2 -2
  41. package/.next/server/app/api/harness/route.js +1 -1
  42. package/.next/server/app/api/home/route.js +1 -1
  43. package/.next/server/app/api/internal/runtime/route.js +1 -0
  44. package/.next/server/app/api/internal/runtime/route.js.nft.json +1 -0
  45. package/.next/server/app/api/internal/runtime/route_client-reference-manifest.js +1 -0
  46. package/.next/server/app/api/models/route.js +1 -1
  47. package/.next/server/app/api/models-config/discover/route.js +1 -1
  48. package/.next/server/app/api/models-config/route.js +1 -1
  49. package/.next/server/app/api/models-config/test/route.js +1 -1
  50. package/.next/server/app/api/plot-kernels/route.js +1 -1
  51. package/.next/server/app/api/plot-kernels/status/route.js +1 -1
  52. package/.next/server/app/api/plot-kernels/stop/route.js +1 -1
  53. package/.next/server/app/api/projects/browse/route.js +1 -1
  54. package/.next/server/app/api/projects/route.js +2 -2
  55. package/.next/server/app/api/reports/[id]/route.js +7 -4
  56. package/.next/server/app/api/search/route.js +1 -1
  57. package/.next/server/app/api/sessions/[id]/context/route.js +2 -2
  58. package/.next/server/app/api/sessions/[id]/route.js +1 -1
  59. package/.next/server/app/api/sessions/new/route.js +1 -1
  60. package/.next/server/app/api/sessions/route.js +2 -2
  61. package/.next/server/app/api/settings/route.js +1 -1
  62. package/.next/server/app/api/skills/install/route.js +1 -1
  63. package/.next/server/app/api/skills/route.js +2 -2
  64. package/.next/server/app/api/skills/search/route.js +1 -1
  65. package/.next/server/app/api/soul/route.js +1 -1
  66. package/.next/server/app/api/version/route.js +1 -1
  67. package/.next/server/app/favicon.ico/route.js +1 -1
  68. package/.next/server/app/index.html +1 -1
  69. package/.next/server/app/index.rsc +2 -2
  70. package/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  71. package/.next/server/app/index.segments/_full.segment.rsc +2 -2
  72. package/.next/server/app/index.segments/_head.segment.rsc +1 -1
  73. package/.next/server/app/index.segments/_index.segment.rsc +1 -1
  74. package/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  75. package/.next/server/app/login/page.js +2 -2
  76. package/.next/server/app/login/page_client-reference-manifest.js +1 -1
  77. package/.next/server/app/login.html +1 -1
  78. package/.next/server/app/login.rsc +1 -1
  79. package/.next/server/app/login.segments/_full.segment.rsc +1 -1
  80. package/.next/server/app/login.segments/_head.segment.rsc +1 -1
  81. package/.next/server/app/login.segments/_index.segment.rsc +1 -1
  82. package/.next/server/app/login.segments/_tree.segment.rsc +1 -1
  83. package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +1 -1
  84. package/.next/server/app/login.segments/login.segment.rsc +1 -1
  85. package/.next/server/app/page.js +13 -13
  86. package/.next/server/app/page.js.nft.json +1 -1
  87. package/.next/server/app/page_client-reference-manifest.js +1 -1
  88. package/.next/server/app-paths-manifest.json +5 -4
  89. package/.next/server/chunks/1688.js +45 -0
  90. package/.next/server/chunks/7601.js +18 -9
  91. package/.next/server/chunks/static/media/pdf.worker.min.c476e1a0.mjs +6 -0
  92. package/.next/server/middleware-build-manifest.js +1 -1
  93. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  94. package/.next/server/pages/404.html +1 -1
  95. package/.next/server/pages/500.html +1 -1
  96. package/.next/server/server-reference-manifest.json +1 -1
  97. package/.next/static/chunks/51fb665c.9f0b013f33bf4f6d.js +45 -0
  98. package/.next/static/chunks/8771-3e14b6810486df1f.js +1 -0
  99. package/.next/static/chunks/app/_global-error/page-7222ee8be0d45596.js +1 -0
  100. package/.next/static/chunks/app/api/agent/[id]/events/route-7222ee8be0d45596.js +1 -0
  101. package/.next/static/chunks/app/api/agent/[id]/route-7222ee8be0d45596.js +1 -0
  102. package/.next/static/chunks/app/api/agent/new/route-7222ee8be0d45596.js +1 -0
  103. package/.next/static/chunks/app/api/auth/all-providers/route-7222ee8be0d45596.js +1 -0
  104. package/.next/static/chunks/app/api/auth/api-key/[provider]/route-7222ee8be0d45596.js +1 -0
  105. package/.next/static/chunks/app/api/auth/login/[provider]/route-7222ee8be0d45596.js +1 -0
  106. package/.next/static/chunks/app/api/auth/login/route-7222ee8be0d45596.js +1 -0
  107. package/.next/static/chunks/app/api/auth/logout/[provider]/route-7222ee8be0d45596.js +1 -0
  108. package/.next/static/chunks/app/api/auth/providers/route-7222ee8be0d45596.js +1 -0
  109. package/.next/static/chunks/app/api/auth/status/route-7222ee8be0d45596.js +1 -0
  110. package/.next/static/chunks/app/api/default-cwd/route-7222ee8be0d45596.js +1 -0
  111. package/.next/static/chunks/app/api/files/[...path]/route-7222ee8be0d45596.js +1 -0
  112. package/.next/static/chunks/app/api/harness/route-7222ee8be0d45596.js +1 -0
  113. package/.next/static/chunks/app/api/home/route-7222ee8be0d45596.js +1 -0
  114. package/.next/static/chunks/app/api/internal/runtime/route-7222ee8be0d45596.js +1 -0
  115. package/.next/static/chunks/app/api/models/route-7222ee8be0d45596.js +1 -0
  116. package/.next/static/chunks/app/api/models-config/discover/route-7222ee8be0d45596.js +1 -0
  117. package/.next/static/chunks/app/api/models-config/route-7222ee8be0d45596.js +1 -0
  118. package/.next/static/chunks/app/api/models-config/test/route-7222ee8be0d45596.js +1 -0
  119. package/.next/static/chunks/app/api/plot-kernels/route-7222ee8be0d45596.js +1 -0
  120. package/.next/static/chunks/app/api/plot-kernels/status/route-7222ee8be0d45596.js +1 -0
  121. package/.next/static/chunks/app/api/plot-kernels/stop/route-7222ee8be0d45596.js +1 -0
  122. package/.next/static/chunks/app/api/projects/browse/route-7222ee8be0d45596.js +1 -0
  123. package/.next/static/chunks/app/api/projects/route-7222ee8be0d45596.js +1 -0
  124. package/.next/static/chunks/app/api/reports/[id]/route-7222ee8be0d45596.js +1 -0
  125. package/.next/static/chunks/app/api/search/route-7222ee8be0d45596.js +1 -0
  126. package/.next/static/chunks/app/api/sessions/[id]/context/route-7222ee8be0d45596.js +1 -0
  127. package/.next/static/chunks/app/api/sessions/[id]/route-7222ee8be0d45596.js +1 -0
  128. package/.next/static/chunks/app/api/sessions/new/route-7222ee8be0d45596.js +1 -0
  129. package/.next/static/chunks/app/api/sessions/route-7222ee8be0d45596.js +1 -0
  130. package/.next/static/chunks/app/api/settings/route-7222ee8be0d45596.js +1 -0
  131. package/.next/static/chunks/app/api/skills/install/route-7222ee8be0d45596.js +1 -0
  132. package/.next/static/chunks/app/api/skills/route-7222ee8be0d45596.js +1 -0
  133. package/.next/static/chunks/app/api/skills/search/route-7222ee8be0d45596.js +1 -0
  134. package/.next/static/chunks/app/api/soul/route-7222ee8be0d45596.js +1 -0
  135. package/.next/static/chunks/app/api/version/route-7222ee8be0d45596.js +1 -0
  136. package/.next/static/chunks/app/page-2b9d326c910bfdb1.js +270 -0
  137. package/.next/static/chunks/next/dist/client/components/builtin/app-error-7222ee8be0d45596.js +1 -0
  138. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-7222ee8be0d45596.js +1 -0
  139. package/.next/static/chunks/next/dist/client/components/builtin/not-found-7222ee8be0d45596.js +1 -0
  140. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-7222ee8be0d45596.js +1 -0
  141. package/.next/static/chunks/{webpack-5e677f60fa366b60.js → webpack-c223a77d0c5e1b9e.js} +1 -1
  142. package/.next/static/media/pdf.worker.min.29aaf158.mjs +6 -0
  143. package/.next/static/sll--ryodjD6y3JTZNo1d/_buildManifest.js +1 -0
  144. package/.next/trace +75 -74
  145. package/.next/trace-build +1 -1
  146. package/.next/types/app/api/internal/runtime/route.ts +351 -0
  147. package/.next/types/routes.d.ts +2 -1
  148. package/.next/types/validator.ts +9 -0
  149. package/README.md +2 -0
  150. package/bin/pi-web.js +293 -16
  151. package/package.json +1 -1
  152. package/.next/server/chunks/7270.js +0 -45
  153. package/.next/server/chunks/static/media/pdf.worker.min.9df6854a.mjs +0 -6
  154. package/.next/static/Vs4orkHEELAXCLtGxeeGM/_buildManifest.js +0 -1
  155. package/.next/static/chunks/7355-29eaa714eb390050.js +0 -1
  156. package/.next/static/chunks/9b0008ae.2918095672924572.js +0 -45
  157. package/.next/static/chunks/app/_global-error/page-be3bd0fd0e2e6ad6.js +0 -1
  158. package/.next/static/chunks/app/api/agent/[id]/events/route-be3bd0fd0e2e6ad6.js +0 -1
  159. package/.next/static/chunks/app/api/agent/[id]/route-be3bd0fd0e2e6ad6.js +0 -1
  160. package/.next/static/chunks/app/api/agent/new/route-be3bd0fd0e2e6ad6.js +0 -1
  161. package/.next/static/chunks/app/api/auth/all-providers/route-be3bd0fd0e2e6ad6.js +0 -1
  162. package/.next/static/chunks/app/api/auth/api-key/[provider]/route-be3bd0fd0e2e6ad6.js +0 -1
  163. package/.next/static/chunks/app/api/auth/login/[provider]/route-be3bd0fd0e2e6ad6.js +0 -1
  164. package/.next/static/chunks/app/api/auth/login/route-be3bd0fd0e2e6ad6.js +0 -1
  165. package/.next/static/chunks/app/api/auth/logout/[provider]/route-be3bd0fd0e2e6ad6.js +0 -1
  166. package/.next/static/chunks/app/api/auth/providers/route-be3bd0fd0e2e6ad6.js +0 -1
  167. package/.next/static/chunks/app/api/auth/status/route-be3bd0fd0e2e6ad6.js +0 -1
  168. package/.next/static/chunks/app/api/default-cwd/route-be3bd0fd0e2e6ad6.js +0 -1
  169. package/.next/static/chunks/app/api/files/[...path]/route-be3bd0fd0e2e6ad6.js +0 -1
  170. package/.next/static/chunks/app/api/harness/route-be3bd0fd0e2e6ad6.js +0 -1
  171. package/.next/static/chunks/app/api/home/route-be3bd0fd0e2e6ad6.js +0 -1
  172. package/.next/static/chunks/app/api/models/route-be3bd0fd0e2e6ad6.js +0 -1
  173. package/.next/static/chunks/app/api/models-config/discover/route-be3bd0fd0e2e6ad6.js +0 -1
  174. package/.next/static/chunks/app/api/models-config/route-be3bd0fd0e2e6ad6.js +0 -1
  175. package/.next/static/chunks/app/api/models-config/test/route-be3bd0fd0e2e6ad6.js +0 -1
  176. package/.next/static/chunks/app/api/plot-kernels/route-be3bd0fd0e2e6ad6.js +0 -1
  177. package/.next/static/chunks/app/api/plot-kernels/status/route-be3bd0fd0e2e6ad6.js +0 -1
  178. package/.next/static/chunks/app/api/plot-kernels/stop/route-be3bd0fd0e2e6ad6.js +0 -1
  179. package/.next/static/chunks/app/api/projects/browse/route-be3bd0fd0e2e6ad6.js +0 -1
  180. package/.next/static/chunks/app/api/projects/route-be3bd0fd0e2e6ad6.js +0 -1
  181. package/.next/static/chunks/app/api/reports/[id]/route-be3bd0fd0e2e6ad6.js +0 -1
  182. package/.next/static/chunks/app/api/search/route-be3bd0fd0e2e6ad6.js +0 -1
  183. package/.next/static/chunks/app/api/sessions/[id]/context/route-be3bd0fd0e2e6ad6.js +0 -1
  184. package/.next/static/chunks/app/api/sessions/[id]/route-be3bd0fd0e2e6ad6.js +0 -1
  185. package/.next/static/chunks/app/api/sessions/new/route-be3bd0fd0e2e6ad6.js +0 -1
  186. package/.next/static/chunks/app/api/sessions/route-be3bd0fd0e2e6ad6.js +0 -1
  187. package/.next/static/chunks/app/api/settings/route-be3bd0fd0e2e6ad6.js +0 -1
  188. package/.next/static/chunks/app/api/skills/install/route-be3bd0fd0e2e6ad6.js +0 -1
  189. package/.next/static/chunks/app/api/skills/route-be3bd0fd0e2e6ad6.js +0 -1
  190. package/.next/static/chunks/app/api/skills/search/route-be3bd0fd0e2e6ad6.js +0 -1
  191. package/.next/static/chunks/app/api/soul/route-be3bd0fd0e2e6ad6.js +0 -1
  192. package/.next/static/chunks/app/api/version/route-be3bd0fd0e2e6ad6.js +0 -1
  193. package/.next/static/chunks/app/page-7d26edc81d575249.js +0 -270
  194. package/.next/static/chunks/next/dist/client/components/builtin/app-error-be3bd0fd0e2e6ad6.js +0 -1
  195. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-be3bd0fd0e2e6ad6.js +0 -1
  196. package/.next/static/chunks/next/dist/client/components/builtin/not-found-be3bd0fd0e2e6ad6.js +0 -1
  197. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-be3bd0fd0e2e6ad6.js +0 -1
  198. package/.next/static/media/pdf.worker.min.5f98222a.mjs +0 -6
  199. /package/.next/static/{Vs4orkHEELAXCLtGxeeGM → sll--ryodjD6y3JTZNo1d}/_ssgManifest.js +0 -0
@@ -1,45 +0,0 @@
1
- "use strict";exports.id=7270,exports.ids=[7270],exports.modules={27270:(a,b,c)=>{c.r(b),c.d(b,{AbortException:()=>H,AnnotationEditorLayer:()=>dJ,AnnotationEditorParamsType:()=>l,AnnotationEditorType:()=>k,AnnotationEditorUIManager:()=>aK,AnnotationLayer:()=>dl,AnnotationMode:()=>i,AnnotationType:()=>o,CSSConstants:()=>ar,ColorPicker:()=>cM,DOMSVGFactory:()=>cS,DrawLayer:()=>dK,FeatureTest:()=>J,GlobalWorkerOptions:()=>cr,ImageKind:()=>n,InvalidPDFException:()=>E,MathClamp:()=>T,OPS:()=>q,OutputScale:()=>ao,PDFDataRangeTransport:()=>cD,PDFDateString:()=>ah,PDFWorker:()=>cG,PasswordResponses:()=>r,PermissionFlag:()=>m,PixelsPerInch:()=>X,RenderingCancelledException:()=>$,ResponseException:()=>F,SignatureExtractor:()=>dE,SupportedImageMimeTypes:()=>ap,TextLayer:()=>cA,TextLayerImages:()=>dM,TouchManager:()=>aN,Util:()=>K,VerbosityLevel:()=>p,XfaLayer:()=>V,applyOpacity:()=>as,build:()=>cL,createValidAbsoluteUrl:()=>x,fetchData:()=>Y,findContrastColor:()=>ay,getDocument:()=>cB,getFilenameFromUrl:()=>ab,getPdfFilenameFromUrl:()=>ac,getRGB:()=>ak,getRGBA:()=>aj,getUuid:()=>O,getXfaPageViewport:()=>ai,isDataScheme:()=>_,isPdfFile:()=>aa,isValidExplicitDest:()=>bn,makeArr:()=>Q,makeMap:()=>R,makeObj:()=>S,noContextMenu:()=>af,normalizeUnicode:()=>N,renderRichText:()=>az,setLayerDimensions:()=>an,shadow:()=>A,stopEvent:()=>ag,updateUrlHash:()=>y,version:()=>cK});var d={};d.d=(a,b)=>{for(var c in b)d.o(b,c)&&!d.o(a,c)&&Object.defineProperty(a,c,{enumerable:!0,get:b[c]})},d.o=(a,b)=>Object.prototype.hasOwnProperty.call(a,b);let e="object"==typeof process&&process+""=="[object process]"&&!process.versions.nw&&!(process.versions.electron&&process.type&&"browser"!==process.type),f=[1/0,1/0,-1/0,-1/0],g=new Float32Array(f),h=[.001,0,0,.001,0,0],i={DISABLE:0,ENABLE:1,ENABLE_FORMS:2,ENABLE_STORAGE:3},j="pdfjs_internal_editor_",k={DISABLE:-1,NONE:0,FREETEXT:3,HIGHLIGHT:9,STAMP:13,INK:15,POPUP:16,SIGNATURE:101,COMMENT:102},l={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},m={PRINT:4,MODIFY_CONTENTS:8,COPY:16,MODIFY_ANNOTATIONS:32,FILL_INTERACTIVE_FORMS:256,COPY_FOR_ACCESSIBILITY:512,ASSEMBLE:1024,PRINT_HIGH_QUALITY:2048},n={GRAYSCALE_1BPP:1,RGB_24BPP:2,RGBA_32BPP:3},o={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},p={ERRORS:0,WARNINGS:1,INFOS:5},q={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},r={NEED_PASSWORD:1,INCORRECT_PASSWORD:2},s=p.WARNINGS;function t(a){s>=p.INFOS&&console.info(`Info: ${a}`)}function u(a){s>=p.WARNINGS&&console.warn(`Warning: ${a}`)}function v(a){throw Error(a)}function w(a,b){a||v(b)}function x(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 y(a,b,c=!1){let d=URL.parse(a);return d?(d.hash=b,d.href):c&&x(a,"http://example.com")?a.split("#",1)[0]+`${b?`#${b}`:""}`:""}function z(a){return a.substring(a.lastIndexOf("/")+1)}function A(a,b,c,d=!1){return Object.defineProperty(a,b,{value:c,enumerable:!d,configurable:!0,writable:!1}),c}let B=function(){function a(a,b){this.message=a,this.name=b}return a.prototype=Error(),a.constructor=a,a}();class C extends B{constructor(a,b){super(a,"PasswordException"),this.code=b}}class D extends B{constructor(a,b){super(a,"UnknownErrorException"),this.details=b}}class E extends B{constructor(a){super(a,"InvalidPDFException")}}class F extends B{constructor(a,b,c){super(a,"ResponseException"),this.status=b,this.missing=c}}class G extends B{constructor(a){super(a,"FormatError")}}class H extends B{constructor(a){super(a,"AbortException")}}function I(a){"string"!=typeof a&&v("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 J{static get isLittleEndian(){let a;return A(this,"isLittleEndian",((a=new Uint8Array(4))[0]=1,1===new Uint32Array(a.buffer,0,1)[0]))}static get isOffscreenCanvasSupported(){return A(this,"isOffscreenCanvasSupported","u">typeof OffscreenCanvas)}static get isImageDecoderSupported(){return A(this,"isImageDecoderSupported","u">typeof ImageDecoder)}static get isFloat16ArraySupported(){return A(this,"isFloat16ArraySupported","u">typeof Float16Array)}static get isSanitizerSupported(){return A(this,"isSanitizerSupported","u">typeof Sanitizer)}static get platform(){let{platform:a,userAgent:b}=navigator;return A(this,"platform",{isAndroid:b.includes("Android"),isLinux:a.includes("Linux"),isMac:a.includes("Mac"),isWindows:a.includes("Win"),isFirefox:b.includes("Firefox")})}static get isCSSRoundSupported(){return A(this,"isCSSRoundSupported",globalThis.CSS?.supports?.("width: round(1.5px, 1px)"))}static get isAlphaColorInputSupported(){return A(this,"isAlphaColorInputSupported",(()=>{if("u"<typeof document)return!1;let a=document.createElement("input");return a.type="color",a.setAttribute("alpha",""),a.value="#ff000080","#ff0000"!==a.value})())}}class K{static get hexNums(){return A(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 domMatrixToTransform(a){return[a.a,a.b,a.c,a.d,a.e,a.f]}static scaleMinMax(a,b){let c;a[0]?(a[0]<0&&(c=b[0],b[0]=b[2],b[2]=c),b[0]*=a[0],b[2]*=a[0],a[3]<0&&(c=b[1],b[1]=b[3],b[3]=c),b[1]*=a[3],b[3]*=a[3]):(c=b[0],b[0]=b[1],b[1]=c,c=b[2],b[2]=b[3],b[3]=c,a[1]<0&&(c=b[1],b[1]=b[3],b[3]=c),b[1]*=a[1],b[3]*=a[1],a[2]<0&&(c=b[0],b[0]=b[2],b[2]=c),b[0]*=a[2],b[2]*=a[2]),b[0]+=a[4],b[1]+=a[5],b[2]+=a[4],b[3]+=a[5]}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 L=null,M=null;function N(a){return L||(L=/([\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,M=new Map([["ſt","ſt"]])),a.replaceAll(L,(a,b,c)=>b?b.normalize("NFKC"):M.get(c))}function O(){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)&&v("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 P="pdfjs_internal_id_",Q=()=>[],R=()=>new Map,S=()=>Object.create(null);function T(a,b,c){return Math.min(Math.max(a,b),c)}class U{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(!U.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 V{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&&U.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&&U.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}}let W="http://www.w3.org/2000/svg";class X{static CSS=96;static PDF=72;static PDF_TO_CSS_UNITS=this.CSS/this.PDF}async function Y(a,b="text"){if(ae(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{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 A(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 Z({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 K.applyTransform(c,this.transform),c}convertToViewportRectangle(a){let b=[a[0],a[1]];K.applyTransform(b,this.transform);let c=[a[2],a[3]];return K.applyTransform(c,this.transform),[b[0],b[1],c[0],c[1]]}convertToPdfPoint(a,b){let c=[a,b];return K.applyInverseTransform(c,this.transform),c}}class $ extends B{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 aa(a){return"string"==typeof a&&/\.pdf$/i.test(a)}function ab(a){return[a]=a.split(/[#?]/,1),z(a)}function ac(a,b="document.pdf"){if("string"!=typeof a)return b;if(_(a))return u('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=z(b),/^\.pdf$/i.test(b)))return a;return b}catch{return a}},e=/\.pdf$/i,f=z(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 ad{#c=new Map;times=[];time(a){this.#c.has(a)&&u(`Timer is already running for ${a}`),this.#c.set(a,Date.now())}timeEnd(a){this.#c.has(a)||u(`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 ae(a,b){let c=b?URL.parse(a,b):URL.parse(a);return/https?:/.test(c?.protocol??"")}function af(a){a.preventDefault()}function ag(a){a.preventDefault(),a.stopPropagation()}class ah{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 ai(a,{scale:b=1,rotation:c=0}){let{width:d,height:e}=a.attributes.style;return new Z({viewBox:[0,0,parseInt(d,10),parseInt(e,10)],userUnit:1,scale:b,rotation:c})}function aj(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 ak(a){let b=aj(a);return b?b.slice(0,3):(u(`Not a valid color format: "${a}"`),[0,0,0])}function al(a){let{a:b,b:c,c:d,d:e,e:f,f:g}=a.getTransform();return[b,c,d,e,f,g]}function am(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 an(a,b,c=!1,d=!0){if(b instanceof Z){let{pageWidth:d,pageHeight:e}=b.rawDims,{style:f}=a,g=J.isCSSRoundSupported,h=`var(--total-scale-factor) * ${d}px`,i=`var(--total-scale-factor) * ${e}px`,j=g?`round(down, ${h}, var(--scale-round-x))`:`calc(${h})`,k=g?`round(down, ${i}, var(--scale-round-y))`:`calc(${i})`;c&&b.rotation%180!=0?(f.width=k,f.height=j):(f.width=j,f.height=k)}d&&a.setAttribute("data-main-rotation",b.rotation)}class ao{constructor(){const{pixelRatio:a}=ao;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=ao.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 ap=["image/apng","image/avif","image/bmp","image/gif","image/jpeg","image/png","image/svg+xml","image/webp","image/x-icon"];class aq{static get isDarkMode(){return A(this,"isDarkMode",!!window?.matchMedia?.("(prefers-color-scheme: dark)").matches)}}class ar{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(),A(this,"commentForegroundColor",ak(c))}}function as(a,b){let c=255*(1-(b=T(b??1,0,1)));return a.map(a=>Math.round(a*b+c))}function at(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 au(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 av(a){return a<=.03928?a/12.92:((a+.055)/1.055)**2.4}function aw(a,b,c){au(a,c),c.map(av);let d=.2126*c[0]+.7152*c[1]+.0722*c[2];au(b,c),c.map(av);let e=.2126*c[0]+.7152*c[1]+.0722*c[2];return d>e?(d+.05)/(e+.05):(e+.05)/(d+.05)}let ax=new Map;function ay(a,b){let c=a[0]+256*a[1]+65536*a[2]+0x1000000*b[0]+0x100000000*b[1]+0x10000000000*b[2],d=ax.get(c);if(d)return d;let e=new Float32Array(9),f=e.subarray(0,3),g=e.subarray(3,6);at(a,g);let h=e.subarray(6,9);at(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]),aw(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===aw(g,h,f)<j?a=c:b=c}g[2]=i?b:a}return au(g,f),d=K.makeHexColor(Math.round(255*f[0]),Math.round(255*f[1]),Math.round(255*f[2])),ax.set(c,d),d}function az({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 V.render({xfaHtml:a,div:e,intent:"richText"});e.firstElementChild.classList.add("richText",c),d.append(e)}function aA(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:u(`Unrecognized drawing path operator: ${a[c-1]}`)}return b}class aB{#e=null;#f=null;#g;#h=null;#i=null;#j=null;#k=null;#l=null;static #m=null;constructor(a){this.#g=a,aB.#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",af,{signal:b}),a.addEventListener("pointerdown",aB.#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,ag(a)}#p(a){this.#g._focusEventsAllowed=!0,ag(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",af,{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",aB.#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 aC{#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",af,{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",af,{signal:g}),e.addEventListener("click",d,{signal:g})),this.#h.append(e)}}function aD(a,b,c){for(let d of c)b.addEventListener(d,a[d].bind(a))}class aE{static #w=NaN;static #x=null;static #y=NaN;static #z=null;static initializeAndAddPointerId(a){(aE.#x||=new Set).add(a)}static setPointer(a,b){aE.#w||=b,aE.#z??=a}static setTimeStamp(a){aE.#y=a}static isSamePointerId(a){return aE.#w===a}static isSamePointerIdOrRemove(a){return aE.#w===a||(aE.#x?.delete(a),!1)}static isSamePointerType(a){return aE.#z===a}static isInitializedAndDifferentPointerType(a){return null!==aE.#z&&!aE.isSamePointerType(a)}static isSameTimeStamp(a){return aE.#y===a}static isUsingMultiplePointers(){return aE.#x?.size>=1}static clearPointerType(){aE.#z=null}static clearPointerIds(){aE.#w=NaN,aE.#x=null}static clearTimeStamp(){aE.#y=NaN}}class aF{#A=0;get id(){return`${j}${this.#A++}`}}class aG{#B=O();#A=0;#C=null;static get _isSVGFittingCanvas(){let a=new OffscreenCanvas(1,3).getContext("2d",{willReadFrequently:!0}),b=new Image;return b.src='data:image/svg+xml;charset=UTF-8,<svg viewBox="0 0 1 1" width="1" height="1" xmlns="http://www.w3.org/2000/svg"><rect width="1" height="1" style="fill:red;"/></svg>',A(this,"_isSVGFittingCanvas",b.decode().then(()=>(a.drawImage(b,0,0,1,1,0,0,1,3),0===new Uint32Array(a.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=aG._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){u(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 aH{#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 aI{constructor(a){this.buffer=[],this.callbacks=new Map,this.allKeys=new Set;const{isMac:b}=J.platform;for(const[c,d,e={}]of a)for(const a of c){const c=a.startsWith("mac+");b&&c?(this.callbacks.set(a.slice(4),{callback:d,options:e}),this.allKeys.add(a.split("+").at(-1))):b||c||(this.callbacks.set(a,{callback:d,options:e}),this.allKeys.add(a.split("+").at(-1)))}}#I(a){a.altKey&&this.buffer.push("alt"),a.ctrlKey&&this.buffer.push("ctrl"),a.metaKey&&this.buffer.push("meta"),a.shiftKey&&this.buffer.push("shift"),this.buffer.push(a.key);let b=this.buffer.join("+");return this.buffer.length=0,b}exec(a,b){if(!this.allKeys.has(b.key))return;let c=this.callbacks.get(this.#I(b));if(!c)return;let{callback:d,options:{bubbles:e=!1,args:f=[],checker:g=null}}=c;(!g||g(a,b))&&(d.bind(a,...f,b)(),e||ag(b))}}class aJ{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,ak(d))}return b.remove(),A(this,"_colors",a)}convert(a){let b=ak(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 aJ._colorsMapping.get(a);return b}getHexCode(a){let b=this._colors.get(a);return b?K.makeHexColor(...b):a}}class aK{#J=new AbortController;#K=null;#L=null;#M=new Map;#N=new Map;#O=null;#P=null;#Q=null;#R=null;#S=new aH;#T=null;#U=null;#V=null;#W=0;#X=new Set;#Y=null;#Z=null;#$=new Set;_editorUndoBar=null;#_=!1;#aa=!1;#ab=!1;#ac=null;#ad=null;#ae=null;#af=null;#ag=!1;#ah=null;#ai=new aF;#aj=!1;#ak=!1;#al=!1;#am=null;#an=null;#ao=null;#ap=null;#aq=null;#ar=k.NONE;#as=new Set;#at=null;#au=null;#av=null;#aw=null;#ax=null;#ay={isEditing:!1,isEmpty:!0,hasSomethingToUndo:!1,hasSomethingToRedo:!1,hasSelectedEditor:!1,hasSelectedText:!1};#az=[0,0];#aA=null;#aB=null;#aC=null;#aD=null;#aE=null;static TRANSLATE_SMALL=1;static TRANSLATE_BIG=10;static get _keyboardManager(){let a=aK.prototype,b=a=>a.#aB.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 A(this,"_keyboardManager",new aI([[["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","mac+Enter"],a.addNewEditorFromKeyboard,{checker:(a,{target:b})=>!(b instanceof HTMLButtonElement)&&a.#aB.contains(b)&&!a.isEnterHandled}],[[" ","mac+ "],a.addNewEditorFromKeyboard,{checker:(a,{target:b})=>!(b instanceof HTMLButtonElement)&&a.#aB.contains(document.activeElement)}],[["Escape","mac+Escape"],a.unselectAll],[["ArrowLeft","mac+ArrowLeft"],a.translateSelectedEditors,{args:[-d,0],checker:b}],[["ctrl+ArrowLeft","mac+shift+ArrowLeft"],a.translateSelectedEditors,{args:[-e,0],checker:b}],[["ArrowRight","mac+ArrowRight"],a.translateSelectedEditors,{args:[d,0],checker:b}],[["ctrl+ArrowRight","mac+shift+ArrowRight"],a.translateSelectedEditors,{args:[e,0],checker:b}],[["ArrowUp","mac+ArrowUp"],a.translateSelectedEditors,{args:[0,-d],checker:b}],[["ctrl+ArrowUp","mac+shift+ArrowUp"],a.translateSelectedEditors,{args:[0,-e],checker:b}],[["ArrowDown","mac+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.#J.signal;this.#aB=a,this.#aC=b,this.#aD=c,this.#P=d,this.#T=e,this.#au=f,this.#ax=h,this._eventBus=g,g._on("editingaction",this.onEditingAction.bind(this),{signal:q}),g._on("pagechanging",this.onPageChanging.bind(this),{signal:q}),g._on("scalechanging",this.onScaleChanging.bind(this),{signal:q}),g._on("rotationchanging",this.onRotationChanging.bind(this),{signal:q}),g._on("setpreference",this.onSetPreference.bind(this),{signal:q}),g._on("switchannotationeditorparams",a=>this.updateParams(a.type,a.value),{signal:q}),window.addEventListener("pointerdown",()=>{this.#ak=!0},{capture:!0,signal:q}),window.addEventListener("pointerup",()=>{this.#ak=!1},{capture:!0,signal:q}),window.addEventListener("beforeunload",this.#aF.bind(this),{capture:!0,signal:q}),this.#aG(),this.#aH(),this.#aI(),this.#Q=h.annotationStorage,this.#ac=h.filterFactory,this.#av=i,this.#af=j||null,this.#_=k,this.#aa=l,this.#ab=m,this.#aq=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.#aE?.resolve(),this.#aE=null,this.#J?.abort(),this.#J=null,this._signal=null,this.#N.values()))a.destroy();this.#N.clear(),this.#M.clear(),this.#$.clear(),this.#ap?.clear(),this.#K=null,this.#as.clear(),this.#S.destroy(),this.#P?.destroy(),this.#T?.destroy(),this.#au?.destroy(),this.#ah?.hide(),this.#ah=null,this.#ao?.destroy(),this.#ao=null,this.#L=null,this.#ad&&(clearTimeout(this.#ad),this.#ad=null),this.#aA&&(clearTimeout(this.#aA),this.#aA=null),this._editorUndoBar?.destroy(),this.#ax=null}combinedSignal(a){return AbortSignal.any([this._signal,a.signal])}get mlManager(){return this.#aq}get useNewAltTextFlow(){return this.#aa}get useNewAltTextWhenAddingImage(){return this.#ab}get hcmFilter(){return A(this,"hcmFilter",this.#av?this.#ac.addHCMFilter(this.#av.foreground,this.#av.background):"none")}get direction(){return A(this,"direction",getComputedStyle(this.#aB).direction)}get _highlightColors(){return A(this,"_highlightColors",this.#af?new Map(this.#af.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 A(this,"highlightColors",null);let b=new Map,c=!!this.#av;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 A(this,"highlightColors",b)}get highlightColorNames(){return A(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.#V=a}setMainHighlightColorPicker(a){this.#ao=a}editAltText(a,b=!1){this.#P?.editAltText(this,a,b)}hasCommentManager(){return!!this.#T}editComment(a,b,c,d){this.#T?.showDialog(this,a,b,c,d)}selectComment(a,b){let c=this.#N.get(a),d=c?.getEditorByUID(b);d?.toggleComment(!0,!0)}updateComment(a){this.#T?.updateComment(a.getData())}updatePopupColor(a){this.#T?.updatePopupColor(a)}removeComment(a){this.#T?.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.#T?.toggleCommentPopup(a,b,c)}makeCommentColor(a,b){return a&&this.#T?.makeCommentColor(a,b)||null}getCommentDialogElement(){return this.#T?.dialogElement||null}async waitForEditorsRendered(a){if(this.#N.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),await c}getSignature(a){this.#au?.getSignature({uiManager:this,editor:a})}get signatureManager(){return this.#au}switchToMode(a,b){this._eventBus.on("annotationeditormodechanged",b,{once:!0,signal:this._signal}),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.#ab=b)}onPageChanging({pageNumber:a}){this.#W=a-1}deletePage(a){for(let b of this.getEditors(a))b.remove();this.#N.delete(a),this.#W===a&&(this.#W=0)}focusMainContainer(){this.#aB.focus()}findParent(a,b){for(let c of this.#N.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.#aC.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.#V?.onScaleChanging()}onRotationChanging({pagesRotation:a}){this.commitOrRemove(),this.viewParameters.rotation=a}#aJ({anchorNode:a}){return a.nodeType===Node.TEXT_NODE?a.parentElement:a}#aK(a){let{currentLayer:b}=this;if(b.hasTextLayer(a))return b;for(let b of this.#N.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.#aJ(c).closest(".textLayer"),j=this.getSelectionBoxes(i);if(!j)return;c.empty();let l=this.#aK(i),m=this.#ar===k.NONE,n=()=>{let c=l?.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(k.HIGHLIGHT,n):n()}commentSelection(a=""){this.highlightSelection(a,!0)}#aF(a){this.commitOrRemove(),this.currentLayer?.endDrawingSession(!1)}#aL(){let a=document.getSelection();if(!a||a.isCollapsed)return;let b=this.#aJ(a).closest(".textLayer"),c=this.getSelectionBoxes(b);c&&(this.#ah||=new aC(this),this.#ah.show(b,c,"ltr"===this.direction))}getAndRemoveDataFromAnnotationStorage(a){if(!this.#Q)return null;let b=`${j}${a}`,c=this.#Q.getRawValue(b);return c&&this.#Q.remove(b),c}addToAnnotationStorage(a){a.isEmpty()||!this.#Q||this.#Q.has(a.id)||this.#Q.setValue(a.id,a)}a11yAlert(a,b=null){let c=this.#aD;c&&(c.setAttribute("data-l10n-id",a),b?c.setAttribute("data-l10n-args",JSON.stringify(b)):c.removeAttribute("data-l10n-args"))}#aM(){let a=document.getSelection();if(!a||a.isCollapsed){this.#at&&(this.#ah?.hide(),this.#at=null,this.#aN({hasSelectedText:!1}));return}let{anchorNode:b}=a;if(b===this.#at)return;let c=this.#aJ(a).closest(".textLayer");if(!c){this.#at&&(this.#ah?.hide(),this.#at=null,this.#aN({hasSelectedText:!1}));return}if(this.#ah?.hide(),this.#at=b,this.#aN({hasSelectedText:!0}),(this.#ar===k.HIGHLIGHT||this.#ar===k.NONE)&&(this.#ar===k.HIGHLIGHT&&this.showAllEditors("highlight",!0,!0),this.#ag=this.isShiftKeyDown,!this.isShiftKeyDown)){let a=this.#ar===k.HIGHLIGHT?this.#aK(c):null;if(a?.toggleDrawing(),this.#ak){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.#aO("main_toolbar"))};window.addEventListener("pointerup",d,{signal:c}),window.addEventListener("blur",d,{signal:c})}else a?.toggleDrawing(!0),this.#aO("main_toolbar")}}#aO(a=""){this.#ar===k.HIGHLIGHT?this.highlightSelection(a):this.#_&&this.#aL()}#aG(){document.addEventListener("selectionchange",this.#aM.bind(this),{signal:this._signal})}#aP(){if(this.#ae)return;this.#ae=new AbortController;let a=this.combinedSignal(this.#ae);window.addEventListener("focus",this.focus.bind(this),{signal:a}),window.addEventListener("blur",this.blur.bind(this),{signal:a})}#aQ(){this.#ae?.abort(),this.#ae=null}blur(){if(this.isShiftKeyDown=!1,this.#ag&&(this.#ag=!1,this.#aO("main_toolbar")),!this.hasSelection)return;let{activeElement:a}=document;for(let b of this.#as)if(b.div.contains(a)){this.#an=[b,a],b._focusEventsAllowed=!1;break}}focus(){if(!this.#an)return;let[a,b]=this.#an;this.#an=null,b.addEventListener("focusin",()=>{a._focusEventsAllowed=!0},{once:!0,signal:this._signal}),b.focus()}#aI(){if(this.#am)return;this.#am=new AbortController;let a=this.combinedSignal(this.#am);window.addEventListener("keydown",this.keydown.bind(this),{signal:a}),window.addEventListener("keyup",this.keyup.bind(this),{signal:a})}#aR(){this.#am?.abort(),this.#am=null}#aS(){if(this.#U)return;this.#U=new AbortController;let a=this.combinedSignal(this.#U);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})}#aT(){this.#U?.abort(),this.#U=null}#aH(){let a=this._signal;document.addEventListener("dragover",this.dragOver.bind(this),{signal:a}),document.addEventListener("drop",this.drop.bind(this),{signal:a})}addEditListeners(){this.#aI(),this.setEditingState(!0)}removeEditListeners(){this.#aR(),this.setEditingState(!1)}dragOver(a){for(let{type:b}of a.dataTransfer.items)for(let c of this.#Z)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.#Z)if(c.isHandlingMimeForPasting(b.type)){c.paste(b,this.currentLayer),a.preventDefault();return}}copy(a){if(a.preventDefault(),this.#K?.commitOrRemove(),!this.hasSelection)return;let b=[];for(let a of this.#as){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.#Z)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){u(`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.#aU(b);this.#aV(a)};this.addCommands({cmd:b,undo:()=>{for(let b of a)b.remove()},mustExec:!0})}catch(a){u(`paste: "${a.message}".`)}}keydown(a){this.isShiftKeyDown||"Shift"!==a.key||(this.isShiftKeyDown=!0),this.#ar===k.NONE||this.isEditorHandlingKeyboard||aK._keyboardManager.exec(this,a)}keyup(a){this.isShiftKeyDown&&"Shift"===a.key&&(this.isShiftKeyDown=!1,this.#ag&&(this.#ag=!1,this.#aO("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.#O.get(a);c&&(c.pageIndex=b,this.#N.set(b,c),this.#aj?c.enable():c.disable())}startUpdatePages(){this.#O=new Map(this.#N),this.#N.clear()}endUpdatePages(){this.#O=null}clonePage(a,b){for(let c of this.getEditors(a)){let a=c.serialize(c.mode!==k.HIGHLIGHT);a&&(a.pageIndex=b,a.id=this.getId(),a.isClone=!0,delete a.popupRef,this.#Q.setValue(a.id,a))}}findClonesForPage(a){let b=[],{pageIndex:c}=a;for(let[d,e]of this.#Q)e.pageIndex===c&&e.isClone&&(this.#Q.remove(d),b.push(a.deserialize(e).then(b=>{b&&(b.isClone=!0,a.addOrRebuild(b))})));return Promise.all(b)}#aN(a){Object.entries(a).some(([a,b])=>this.#ay[a]!==b)&&(this._eventBus.dispatch("editingstateschanged",{source:this,details:Object.assign(this.#ay,a)}),this.#ar===k.HIGHLIGHT&&!1===a.hasSelectedEditor&&this.#aW([[l.HIGHLIGHT_FREE,!0]]))}#aW(a){this._eventBus.dispatch("annotationeditorparamschanged",{source:this,details:a})}setEditingState(a){a?(this.#aP(),this.#aS(),this.#aN({isEditing:this.#ar!==k.NONE,isEmpty:this.#aX(),hasSomethingToUndo:this.#S.hasSomethingToUndo(),hasSomethingToRedo:this.#S.hasSomethingToRedo(),hasSelectedEditor:!1})):(this.#aQ(),this.#aT(),this.#aN({isEditing:!1}),this.disableUserSelect(!1))}registerEditorTypes(a){if(!this.#Z)for(let b of(this.#Z=a,this.#Z))this.#aW(b.defaultPropertiesToUpdate)}getId(){return this.#ai.id}get currentLayer(){return this.#N.get(this.#W)}getLayer(a){return this.#N.get(a)}get currentPageIndex(){return this.#W}addLayer(a){this.#N.set(a.pageIndex,a),this.#aj?a.enable():a.disable()}removeLayer(a){this.#N.delete(a.pageIndex)}async updateMode(a,b=null,c=!1,d=!1,e=!1,f=!1){if(this.#ar!==a&&(!this.#aE||(await this.#aE.promise,this.#aE))){if(this.#aE=Promise.withResolvers(),this.#V?.commitOrRemove(),this.#ar===k.POPUP&&this.#T?.hideSidebar(),this.#T?.destroyPopup(),this.#ar=a,a===k.NONE){for(let a of(this.setEditingState(!1),this.#aY(),this.#M.values()))a.hideStandaloneCommentButton();this._editorUndoBar?.hide(),this.toggleComment(null),this.#aE.resolve();return}for(let a of this.#M.values())a.addStandaloneCommentButton();for(let b of(a===k.SIGNATURE&&await this.#au?.loadSignatures(),c&&aE.clearPointerType(),this.setEditingState(!0),await this.#aZ(),this.unselectAll(),this.#N.values()))b.updateMode(a);if(a===k.POPUP){this.#L||=await this.#ax.getAnnotationsByType(new Set(this.#Z.map(a=>a._editorType)));let a=new Set,b=[];for(let c of this.#M.values()){let{annotationElementId:d,hasComment:e,deleted:f}=c;d&&a.add(d),e&&!f&&b.push(c.getData())}for(let c of this.#L){let{id:d,popupRef:e,contentsObj:f}=c;e&&f?.str&&!a.has(d)&&!this.#X.has(d)&&b.push(c)}this.#T?.showSidebar(b)}if(!b){d&&this.addNewEditorFromKeyboard(),this.#aE.resolve();return}for(let a of this.#M.values())a.uid===b?(this.setSelected(a),f?a.editComment():e?a.enterInEditMode():a.focus()):a.unselect();this.#aE.resolve()}}addNewEditorFromKeyboard(){this.currentLayer.canCreateNewEmptyEditor()&&this.currentLayer.addNewEditor()}updateToolbar(a){a.mode!==this.#ar&&this._eventBus.dispatch("switchannotationeditormode",{source:this,...a})}updateParams(a,b){if(this.#Z){switch(a){case l.CREATE:this.currentLayer.addNewEditor(b);return;case l.HIGHLIGHT_SHOW_ALL:this._eventBus.dispatch("reporttelemetry",{source:this,details:{type:"editing",data:{type:"highlight",action:"toggle_visibility"}}}),(this.#aw||=new Map).set(a,b),this.showAllEditors("highlight",b)}if(this.hasSelection)for(let c of this.#as)c.updateParams(a,b);else for(let c of this.#Z)c.updateDefaultParams(a,b)}}showAllEditors(a,b,c=!1){for(let c of this.#M.values())c.editorType===a&&c.show(b);(this.#aw?.get(l.HIGHLIGHT_SHOW_ALL)??!0)!==b&&this.#aW([[l.HIGHLIGHT_SHOW_ALL,b]])}enableWaiting(a=!1){if(this.#al!==a)for(let b of(this.#al=a,this.#N.values()))a?b.disableClick():b.enableClick(),b.div.classList.toggle("waiting",a)}async #aZ(){if(!this.#aj){this.#aj=!0;let a=[];for(let b of this.#N.values())a.push(b.enable());for(let b of(await Promise.all(a),this.#M.values()))b.enable()}}#aY(){if(this.unselectAll(),this.#aj){for(let a of(this.#aj=!1,this.#N.values()))a.disable();for(let a of this.#M.values())a.disable()}}*getEditors(a){for(let b of this.#M.values())b.pageIndex===a&&(yield b)}getEditor(a){return this.#M.get(a)}addEditor(a){this.#M.set(a.id,a)}removeEditor(a){a.div.contains(document.activeElement)&&(this.#ad&&clearTimeout(this.#ad),this.#ad=setTimeout(()=>{this.focusMainContainer(),this.#ad=null},0)),this.#M.delete(a.id),a.annotationElementId&&this.#ap?.delete(a.annotationElementId),this.unselect(a),a.annotationElementId&&this.#X.has(a.annotationElementId)||this.#Q?.remove(a.id)}addDeletedAnnotationElement(a){this.#X.add(a.annotationElementId),this.addChangedExistingAnnotation(a),a.deleted=!0}isDeletedAnnotationElement(a){return this.#X.has(a)}removeDeletedAnnotationElement(a){this.#X.delete(a.annotationElementId),this.removeChangedExistingAnnotation(a),a.deleted=!1}#aU(a){let b=this.#N.get(a.pageIndex);b?b.addOrRebuild(a):(this.addEditor(a),this.addToAnnotationStorage(a))}setActiveEditor(a){this.#K!==a&&(this.#K=a,a&&this.#aW(a.propertiesToUpdate))}get #a$(){let a=null;for(a of this.#as);return a}updateUI(a){this.#a$===a&&this.#aW(a.propertiesToUpdate)}updateUIForDefaultProperties(a){this.#aW(a.defaultPropertiesToUpdate)}toggleSelected(a){if(this.#as.has(a)){this.#as.delete(a),a.unselect(),this.#aN({hasSelectedEditor:this.hasSelection});return}this.#as.add(a),a.select(),this.#aW(a.propertiesToUpdate),this.#aN({hasSelectedEditor:!0})}setSelected(a){for(let b of(this.updateToolbar({mode:a.mode,editId:a.uid}),this.#V?.commitOrRemove(),this.#as))b!==a&&b.unselect();this.#T?.destroyPopup(),this.#as.clear(),this.#as.add(a),a.select(),this.#aW(a.propertiesToUpdate),this.#aN({hasSelectedEditor:!0})}isSelected(a){return this.#as.has(a)}get firstSelectedEditor(){return this.#as.values().next().value}unselect(a){a.unselect(),this.#as.delete(a),this.#aN({hasSelectedEditor:this.hasSelection})}get hasSelection(){return 0!==this.#as.size}get isEnterHandled(){return 1===this.#as.size&&this.firstSelectedEditor.isEnterHandled}undo(){this.#S.undo(),this.#aN({hasSomethingToUndo:this.#S.hasSomethingToUndo(),hasSomethingToRedo:!0,isEmpty:this.#aX()}),this._editorUndoBar?.hide()}redo(){this.#S.redo(),this.#aN({hasSomethingToUndo:!0,hasSomethingToRedo:this.#S.hasSomethingToRedo(),isEmpty:this.#aX()})}addCommands(a){this.#S.add(a),this.#aN({hasSomethingToUndo:!0,hasSomethingToRedo:!1,isEmpty:this.#aX()})}cleanUndoStack(a){this.#S.cleanType(a)}#aX(){if(0===this.#M.size)return!0;if(1===this.#M.size)for(let a of this.#M.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.#as],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.#aU(a)};this.addCommands({cmd:c,undo:d,mustExec:!0})}commitOrRemove(){this.#K?.commitOrRemove()}hasSomethingToControl(){return this.#K||this.hasSelection}#aV(a){for(let a of this.#as)a.unselect();for(let b of(this.#as.clear(),a))b.isEmpty()||(this.#as.add(b),b.select());this.#aN({hasSelectedEditor:this.hasSelection})}selectAll(){for(let a of this.#as)a.commit();this.#aV(this.#M.values())}unselectAll(){if(!this.#K||(this.#K.commitOrRemove(),this.#ar===k.NONE)){if(!this.#V?.commitOrRemove()&&(this.#T?.destroyPopup(),this.hasSelection)){for(let a of this.#as)a.unselect();this.#as.clear(),this.#aN({hasSelectedEditor:!1})}}}translateSelectedEditors(a,b,c=!1){if(c||this.commitOrRemove(),!this.hasSelection)return;this.#az[0]+=a,this.#az[1]+=b;let[d,e]=this.#az,f=[...this.#as];for(let c of(this.#aA&&clearTimeout(this.#aA),this.#aA=setTimeout(()=>{this.#aA=null,this.#az[0]=this.#az[1]=0,this.addCommands({cmd:()=>{for(let a of f)this.#M.has(a.id)&&(a.translateInPage(d,e),a.translationDone())},undo:()=>{for(let a of f)this.#M.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.#Y=new Map,this.#as))this.#Y.set(a,{savedX:a.x,savedY:a.y,savedPageIndex:a.pageIndex,newX:0,newY:0,newPageIndex:-1})}endDragSession(){if(!this.#Y)return!1;this.disableUserSelect(!1);let a=this.#Y;this.#Y=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.#M.has(a.id)){let e=this.#N.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.#Y)for(let c of this.#Y.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.#as.size&&this.firstSelectedEditor.shouldGetKeyboardEvents()}isActive(a){return this.#K===a}getActive(){return this.#K}getMode(){return this.#ar}isEditingMode(){return this.#ar!==k.NONE}get imageManager(){return A(this,"imageManager",new aG)}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.#R||=new Map).set(a,b)}removeChangedExistingAnnotation({annotationElementId:a}){this.#R?.delete(a)}renderAnnotationElement(a){let b=this.#R?.get(a.data.id);if(!b)return;let c=this.#Q.getRawValue(b);!c||(this.#ar!==k.NONE||c.hasBeenModified)&&c.renderAnnotationElement(a)}setMissingCanvas(a,b,c){let d=this.#ap?.get(a);d&&(d.setCanvas(b,c),this.#ap.delete(a))}addMissingCanvas(a,b){(this.#ap||=new Map).set(a,b)}}class aL{#i=null;#a_=!1;#a0=null;#a1=null;#a2=null;#a3=null;#a4=!1;#a5=null;#g=null;#a6=null;#a7=null;#a8=!1;static #a9=null;static _l10n=null;constructor(a){this.#g=a,this.#a8=a._uiManager.useNewAltTextFlow,aL.#a9||=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){aL._l10n??=a}async render(){let a=this.#a0=document.createElement("button");a.className="altText",a.tabIndex="0";let b=this.#a1=document.createElement("span");a.append(b),this.#a8?(a.classList.add("new"),a.setAttribute("data-l10n-id",aL.#a9.missing),b.setAttribute("data-l10n-id",aL.#a9["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",af,{signal:c}),a.addEventListener("pointerdown",a=>a.stopPropagation(),{signal:c});let d=a=>{a.preventDefault(),this.#g._uiManager.editAltText(this.#g),this.#a8&&this.#g._reportTelemetry({action:"pdfjs.image.alt_text.image_status_label_clicked",data:{label:this.#ba}})};return a.addEventListener("click",d,{capture:!0,signal:c}),a.addEventListener("keydown",b=>{b.target===a&&"Enter"===b.key&&(this.#a4=!0,d(b))},{signal:c}),await this.#bb(),a}get #ba(){return this.#i&&"added"||null===this.#i&&this.guessedText&&"review"||"missing"}finish(){this.#a0&&(this.#a0.focus({focusVisible:this.#a4}),this.#a4=!1)}isEmpty(){return this.#a8?null===this.#i:!this.#i&&!this.#a_}hasData(){return this.#a8?null!==this.#i||!!this.#a6:this.isEmpty()}get guessedText(){return this.#a6}async setGuessedText(a){null===this.#i&&(this.#a6=a,this.#a7=await aL._l10n.get("pdfjs-editor-new-alt-text-generated-alt-text-with-disclaimer",{generatedAltText:a}),this.#bb())}toggleAltTextBadge(a=!1){if(!this.#a8||this.#i){this.#a5?.remove(),this.#a5=null;return}if(!this.#a5){let a=this.#a5=document.createElement("div");a.className="noAltTextBadge",this.#g.div.append(a)}this.#a5.classList.toggle("hidden",!a)}serialize(a){let b=this.#i;return a||this.#a6!==b||(b=this.#a7),{altText:b,decorative:this.#a_,guessedText:this.#a6,textWithDisclaimer:this.#a7}}get data(){return{altText:this.#i,decorative:this.#a_}}set data({altText:a,decorative:b,guessedText:c,textWithDisclaimer:d,cancel:e=!1}){c&&(this.#a6=c,this.#a7=d),(this.#i!==a||this.#a_!==b)&&(e||(this.#i=a,this.#a_=b),this.#bb())}toggle(a=!1){this.#a0&&(!a&&this.#a3&&(clearTimeout(this.#a3),this.#a3=null),this.#a0.disabled=!a)}shown(){this.#g._reportTelemetry({action:"pdfjs.image.alt_text.image_status_label_displayed",data:{label:this.#ba}})}destroy(){this.#a0?.remove(),this.#a0=null,this.#a1=null,this.#a2=null,this.#a5?.remove(),this.#a5=null}async #bb(){let a=this.#a0;if(!a)return;if(this.#a8){if(a.classList.toggle("done",!!this.#i),a.setAttribute("data-l10n-id",aL.#a9[this.#ba]),this.#a1?.setAttribute("data-l10n-id",aL.#a9[`${this.#ba}-label`]),!this.#i)return void this.#a2?.remove()}else{if(!this.#i&&!this.#a_){a.classList.remove("done"),this.#a2?.remove();return}a.classList.add("done"),a.setAttribute("data-l10n-id","pdfjs-editor-alt-text-edit-button")}let b=this.#a2;if(!b){this.#a2=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.#a3),this.#a3=null},{once:!0}),a.addEventListener("mouseenter",()=>{this.#a3=setTimeout(()=>{this.#a3=null,this.#a2.classList.add("show"),this.#g._reportTelemetry({action:"alt_text_tooltip"})},100)},{signal:c}),a.addEventListener("mouseleave",()=>{this.#a3&&(clearTimeout(this.#a3),this.#a3=null),this.#a2?.classList.remove("show")},{signal:c})}this.#a_?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 aM{#bc=null;#bd=null;#be=!1;#g=null;#bf=null;#bg=null;#bh=null;#bi=null;#bj=!1;#bk=null;constructor(a){this.#g=a}renderForToolbar(){let a=this.#bd=document.createElement("button");return a.className="comment",this.#t(a,!1)}renderForStandalone(){let a=this.#bc=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.#bc??this.#bd)?.focus()},0)}onUpdatedColor(){if(!this.#bc)return;let a=this.#g.commentButtonColor;a&&(this.#bc.style.backgroundColor=a),this.#g._uiManager.updatePopupColor(this.#g)}get commentButtonWidth(){return(this.#bc?.getBoundingClientRect().width??0)/this.#g.parent.boundingClientRect.width}get commentPopupPositionInLayer(){if(this.#bk)return this.#bk;if(!this.#bc)return null;let{x:a,y:b,height:c}=this.#bc.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.#bk=a}hasDefaultPopupPosition(){return null===this.#bk}removeStandaloneCommentButton(){this.#bc?.remove(),this.#bc=null}removeToolbarCommentButton(){this.#bd?.remove(),this.#bd=null}setCommentButtonStates({selected:a,hasPopup:b}){this.#bc&&(this.#bc.classList.toggle("selected",a),this.#bc.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",af,{signal:c}),b&&(a.addEventListener("focusin",a=>{this.#g._focusEventsAllowed=!1,ag(a)},{capture:!0,signal:c}),a.addEventListener("focusout",a=>{this.#g._focusEventsAllowed=!0,ag(a)},{capture:!0,signal:c})),a.addEventListener("pointerdown",a=>a.stopPropagation(),{signal:c});let d=b=>{b.preventDefault(),a===this.#bd?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.#be=!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.#bd&&(this.#bd.focus({focusVisible:this.#be}),this.#be=!1)}isDeleted(){return this.#bj||""===this.#bh}isEmpty(){return null===this.#bh}hasBeenEdited(){return this.isDeleted()||this.#bh!==this.#bf}serialize(){return this.data}get data(){return{text:this.#bh,richText:this.#bg,date:this.#bi,deleted:this.isDeleted()}}set data(a){if(a!==this.#bh&&(this.#bg=null),null===a){this.#bh="",this.#bj=!0;return}this.#bh=a,this.#bi=new Date,this.#bj=!1}restoreData({text:a,richText:b,date:c}){this.#bh=a,this.#bg=b,this.#bi=c,this.#bj=!1}setInitialText(a,b=null){this.#bf=a,this.data=a,this.#bi=null,this.#bg=b}shown(){}destroy(){this.#bd?.remove(),this.#bd=null,this.#bc?.remove(),this.#bc=null,this.#bh="",this.#bg=null,this.#bi=null,this.#g=null,this.#be=!1,this.#bj=!1}}class aN{#aB;#bl=!1;#bm=null;#bn;#bo;#bp;#bq;#br=null;#bs;#bt=null;#bu;#bv=null;constructor({container:a,isPinchingDisabled:b=null,isPinchingStopped:c=null,onPinchStart:d=null,onPinching:e=null,onPinchEnd:f=null,signal:g}){this.#aB=a,this.#bm=c,this.#bn=b,this.#bo=d,this.#bp=e,this.#bq=f,this.#bu=new AbortController,this.#bs=AbortSignal.any([g,this.#bu.signal]),a.addEventListener("touchstart",this.#bw.bind(this),{passive:!1,signal:this.#bs})}get MIN_TOUCH_DISTANCE_TO_PINCH(){return 35/ao.pixelRatio}#bw(a){if(this.#bn?.())return;if(1===a.touches.length){if(this.#br)return;let a=this.#br=new AbortController,b=AbortSignal.any([this.#bs,a.signal]),c=this.#aB,d={capture:!0,signal:b,passive:!1},e=a=>{"touch"===a.pointerType&&(this.#br?.abort(),this.#br=null)};c.addEventListener("pointerdown",a=>{"touch"===a.pointerType&&(ag(a),e(a))},d),c.addEventListener("pointerup",e,d),c.addEventListener("pointercancel",e,d);return}if(!this.#bv){this.#bv=new AbortController;let a=AbortSignal.any([this.#bs,this.#bv.signal]),b=this.#aB,c={signal:a,capture:!1,passive:!1};b.addEventListener("touchmove",this.#bx.bind(this),c);let d=this.#by.bind(this);b.addEventListener("touchend",d,c),b.addEventListener("touchcancel",d,c),c.capture=!0,b.addEventListener("pointerdown",ag,c),b.addEventListener("pointermove",ag,c),b.addEventListener("pointercancel",ag,c),b.addEventListener("pointerup",ag,c),this.#bo?.()}if(ag(a),2!==a.touches.length||this.#bm?.()){this.#bt=null;return}let[b,c]=a.touches;b.identifier>c.identifier&&([b,c]=[c,b]),this.#bt={touch0X:b.screenX,touch0Y:b.screenY,touch1X:c.screenX,touch1Y:c.screenY}}#bx(a){if(!this.#bt||2!==a.touches.length)return;ag(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.#bt,{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.#bl&&Math.abs(n-m)<=aN.MIN_TOUCH_DISTANCE_TO_PINCH)return;if(h.touch0X=d,h.touch0Y=e,h.touch1X=f,h.touch1Y=g,!this.#bl){this.#bl=!0;return}let o=[(d+f)/2,(e+g)/2];this.#bp?.(o,n,m)}#by(a){a.touches.length>=2||(this.#bv&&(this.#bv.abort(),this.#bv=null,this.#bq?.()),this.#bt&&(ag(a),this.#bt=null,this.#bl=!1))}destroy(){this.#bu?.abort(),this.#bu=null,this.#br?.abort(),this.#br=null}}class aO{#bz=null;#bA=null;#i=null;#j=null;#bc=null;#bB=!1;#bC=null;#bD="";#bE=null;#bF=null;#bG=null;#bH=null;#bI=null;#bJ="";#bK=!1;#bL=null;#bM=!1;#bN=!1;#bO=!1;#bP=null;#bQ=0;#bR=0;#bS=null;#bT=null;isSelected=!1;_isCopy=!1;_editToolbar=null;_initialOptions=Object.create(null);_initialData=null;_isVisible=!0;_uiManager=null;_focusEventsAllowed=!0;static _l10n=null;static _l10nResizer=null;#bU=!1;#bV=aO._zIndex++;static _borderLineWidth=-1;static _colorManager=new aJ;static _zIndex=1;static _telemetryTimeout=1e3;static get _resizerKeyboardManager(){let a=aO.prototype._resizeWithKeyboard,b=aK.TRANSLATE_SMALL,c=aK.TRANSLATE_BIG;return A(this,"_resizerKeyboardManager",new aI([[["ArrowLeft","mac+ArrowLeft"],a,{args:[-b,0]}],[["ctrl+ArrowLeft","mac+shift+ArrowLeft"],a,{args:[-c,0]}],[["ArrowRight","mac+ArrowRight"],a,{args:[b,0]}],[["ctrl+ArrowRight","mac+shift+ArrowRight"],a,{args:[c,0]}],[["ArrowUp","mac+ArrowUp"],a,{args:[0,-b]}],[["ctrl+ArrowUp","mac+shift+ArrowUp"],a,{args:[0,-c]}],[["ArrowDown","mac+ArrowDown"],a,{args:[0,b]}],[["ctrl+ArrowDown","mac+shift+ArrowDown"],a,{args:[0,c]}],[["Escape","mac+Escape"],aO.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 A(this,"_defaultLineColor",this._colorManager.getHexCode("CanvasText"))}static deleteAnnotationElement(a){let b=new aP({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(aO._l10n??=a,aO._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!==aO._borderLineWidth)return;let c=getComputedStyle(document.documentElement);aO._borderLineWidth=parseFloat(c.getPropertyValue("--outline-width"))||0}static updateDefaultParams(a,b){}static get defaultPropertiesToUpdate(){return[]}static isHandlingMimeForPasting(a){return!1}static paste(a,b){v("Not implemented")}get propertiesToUpdate(){return[]}get _isDraggable(){return this.#bU}set _isDraggable(a){this.#bU=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.#bV}setParent(a){null!==a?(this.pageIndex=a.pageIndex,this.pageDimensions=a.pageDimensions):(this.#bW(),this.#bH?.remove(),this.#bH=null),this.parent=a}focusin(a){this._focusEventsAllowed&&(this.#bK?this.#bK=!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()}#bX([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.#bX(this.parentDimensions,a,b)}translateInPage(a,b){this.#bL||=[this.x,this.y,this.width,this.height],this.#bX(this.pageDimensions,a,b),this.div.scrollIntoView({block:"nearest"})}translationDone(){this._onTranslated(this.x,this.y)}drag(a,b){this.#bL||=[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.#bL&&(this.#bL[0]!==this.x||this.#bL[1]!==this.y)}get _hasBeenResized(){return!!this.#bL&&(this.#bL[2]!==this.width||this.#bL[3]!==this.height)}getBaseTranslation(){let[a,b]=this.parentDimensions,{_borderLineWidth:c}=aO,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 #bY(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 aO.#bY(a,b,this.parentRotation)}pageTranslationToScreen(a,b){return aO.#bY(a,b,360-this.parentRotation)}#bZ(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.#bE)return;this.#bE=document.createElement("div"),this.#bE.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.#bE.append(a),a.classList.add("resizer",c),a.setAttribute("data-resizer-name",c),a.addEventListener("pointerdown",this.#b_.bind(this,c),{signal:b}),a.addEventListener("contextmenu",af,{signal:b}),a.tabIndex=-1}this.div.prepend(this.#bE)}#b_(a,b){b.preventDefault();let{isMac:c}=J.platform;if(0!==b.button||b.ctrlKey&&c)return;this.#i?.toggle(!1);let d=this._isDraggable;this._isDraggable=!1,this.#bF=[b.screenX,b.screenY];let e=new AbortController,f=this._uiManager.combinedSignal(e);this.parent.togglePointerEvents(!1),window.addEventListener("pointermove",this.#b0.bind(this,a),{passive:!0,capture:!0,signal:f}),window.addEventListener("touchmove",ag,{passive:!1,signal:f}),window.addEventListener("contextmenu",af,{signal:f}),this.#bG={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.#b1()};window.addEventListener("pointerup",i,{signal:f}),window.addEventListener("blur",i,{signal:f})}#b2(a,b,c,d){this.width=c,this.height=d,this.x=a,this.y=b,this.setDims(),this.fixAndSetPosition(),this._onResized()}_onResized(){}#b1(){if(!this.#bG)return;let{savedX:a,savedY:b,savedWidth:c,savedHeight:d}=this.#bG;this.#bG=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.#b2.bind(this,e,f,g,h),undo:this.#b2.bind(this,a,b,c,d),mustExec:!0})}static _round(a){return Math.round(1e4*a)/1e4}#b0(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=aO.MIN_SIZE/i,p=aO.MIN_SIZE/j,q=this.#bZ(this.rotation),r=(a,b)=>[q[0]*a+q[2]*b,q[1]*a+q[3]*b],s=this.#bZ(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=aO._round(k+x[0]),z=aO._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.#bF;[e,f]=this.screenToPageTranslation(a-d,c-g),this.#bF[0]=a,this.#bF[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=aO._round(m*A),D=aO._round(n*B),E=y-(x=r(...d(C,D)))[0],F=z-x[1];this.#bL||=[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.#bN)return this._editToolbar;this._editToolbar=new aB(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&&(aL.initialize(aO._l10n),this.#i=new aL(this),this.#bz&&(this.#i.data=this.#bz,this.#bz=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 aM(this):null}addStandaloneCommentButton(){if(this._uiManager.hasCommentManager()){if(this.#bc){this._uiManager.isEditingMode()&&this.#bc.classList.remove("hidden");return}this.hasComment&&(this.#bc=this.#j.renderForStandalone(),this.div.append(this.#bc))}}removeStandaloneCommentButton(){this.#j.removeStandaloneCommentButton(),this.#bc=null}hideStandaloneCommentButton(){this.#bc?.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 aM(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 aM(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 aM(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.#bB?-1:0,a.setAttribute("role","application"),this.defaultL10nId&&a.setAttribute("data-l10n-id",this.defaultL10nId),this._isVisible||a.classList.add("hidden"),this.setInForeground(),this.#b3();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),aD(this,a,["keydown","pointerdown","dblclick"]),this.isResizable&&this._uiManager._supportsPinchToZoom&&(this.#bT||=new aN({container:a,isPinchingDisabled:()=>!this.isSelected,onPinchStart:this.#b4.bind(this),onPinching:this.#b5.bind(this),onPinchEnd:this.#b6.bind(this),signal:this._uiManager._signal})),this.addStandaloneCommentButton(),this._uiManager._editorUndoBar?.hide(),a}#b4(){this.#bG={savedX:this.x,savedY:this.y,savedWidth:this.width,savedHeight:this.height},this.#i?.toggle(!1),this.parent.togglePointerEvents(!1)}#b5(a,b,c){let d=c/b*.7+1-.7;if(1===d)return;let e=this.#bZ(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),aO.MIN_SIZE/g/k,aO.MIN_SIZE/h/l);let m=aO._round(k*d),n=aO._round(l*d);if(m===k&&n===l)return;this.#bL||=[i,j,k,l];let o=f(k/2,l/2),p=aO._round(i+o[0]),q=aO._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()}#b6(){this.#i?.toggle(!0),this.parent.togglePointerEvents(!0),this.#b1()}pointerdown(a){let{isMac:b}=J.platform;0!==a.button||a.ctrlKey&&b?a.preventDefault():(this.#bK=!0,this._isDraggable)?this.#b7(a):this.#b8(a)}#b8(a){let{isMac:b}=J.platform;a.ctrlKey&&!b||a.shiftKey||a.metaKey&&b?this.parent.toggleSelected(this):this.parent.setSelected(this)}#b7(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.#bC=null,this.#bK=!1,this._uiManager.endDragSession()||this.#b8(a),c&&this._onStopDragging()};b&&(this.#bQ=a.clientX,this.#bR=a.clientY,this.#bC=a.pointerId,this.#bD=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.#bC)return void ag(a);let[f,g]=this.screenToPageTranslation(b-this.#bQ,d-this.#bR);this.#bQ=b,this.#bR=d,this._uiManager.dragSelectedEditors(f,g)},f),window.addEventListener("touchmove",ag,f),window.addEventListener("pointerdown",a=>{a.pointerType===this.#bD&&(this.#bT||a.isPrimary)&&g(a),ag(a)},f));let h=a=>{this.#bC&&this.#bC!==a.pointerId?ag(a):g(a)};window.addEventListener("pointerup",h,{signal:e}),window.addEventListener("blur",h,{signal:e})}_onStartDragging(){}_onStopDragging(){}moveInDOM(){this.#bP&&clearTimeout(this.#bP),this.#bP=setTimeout(()=>{this.#bP=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&&aO._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.#bN=!0,!0)}disableEditMode(){return!!this.isInEditMode()&&(this.parent.setEditingState(!0),this.#bN=!1,!0)}isInEditMode(){return this.#bN}shouldGetKeyboardEvents(){return this.#bO}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}#b3(){if(this.#bI||!this.div)return;this.#bI=new AbortController;let a=this._uiManager.combinedSignal(this.#bI);this.div.addEventListener("focusin",this.focusin.bind(this),{signal:a}),this.div.addEventListener("focusout",this.focusout.bind(this),{signal:a})}rebuild(){this.#b3()}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.#bz=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.#bI?.abort(),this.#bI=null,this.isEmpty()||this.commit(),this.parent?this.parent.remove(this):this._uiManager.removeEditor(this),this.hideCommentPopup(),this.#bP&&(clearTimeout(this.#bP),this.#bP=null),this.#bW(),this.removeEditToolbar(),this.#bS){for(let a of this.#bS.values())clearTimeout(a);this.#bS=null}this.parent=null,this.#bT?.destroy(),this.#bT=null,this.#bH?.remove(),this.#bH=null}get isResizable(){return!1}makeResizable(){this.isResizable&&(this.#b$(),this.#bE.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[aO._round(c+(e-c)*a),aO._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.#bG={savedX:this.x,savedY:this.y,savedWidth:this.width,savedHeight:this.height};let b=this.#bE.children;if(!this.#bA){this.#bA=Array.from(b);let a=this.#b9.bind(this),c=this.#ca.bind(this),d=this._uiManager._signal;for(let b of this.#bA){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.#cb.bind(this,e),{signal:d}),b.setAttribute("data-l10n-id",aO._l10nResizer[e])}}let c=this.#bA[0],d=0;for(let a of b){if(a===c)break;d++}let e=(360-this.rotation+this.parentRotation)%360/90*(this.#bA.length/4);if(e!==d){if(e<d)for(let a=0;a<d-e;a++)this.#bE.append(this.#bE.firstElementChild);else if(e>d)for(let a=0;a<e-d;a++)this.#bE.firstElementChild.before(this.#bE.lastElementChild);let a=0;for(let c of b){let b=this.#bA[a++].getAttribute("data-resizer-name");c.setAttribute("data-l10n-id",aO._l10nResizer[b])}}this.#cc(0),this.#bO=!0,this.#bE.firstElementChild.focus({focusVisible:!0}),a.preventDefault(),a.stopImmediatePropagation()}#b9(a){aO._resizerKeyboardManager.exec(this,a)}#ca(a){this.#bO&&a.relatedTarget?.parentNode!==this.#bE&&this.#bW()}#cb(a){this.#bJ=this.#bO?a:""}#cc(a){if(this.#bA)for(let b of this.#bA)b.tabIndex=a}_resizeWithKeyboard(a,b){this.#bO&&this.#b0(this.#bJ,{deltaX:a,deltaY:b,fromKeyboard:!0})}#bW(){this.#bO=!1,this.#cc(-1),this.#b1()}_stopResizingWithKeyboard(){this.#bW(),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.#bE?.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.#bM}set isEditing(a){this.#bM=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.#bS||=new Map;let{action:b}=a,c=this.#bS.get(b);c&&clearTimeout(c),c=setTimeout(()=>{this._reportTelemetry(a),this.#bS.delete(b),0===this.#bS.size&&(this.#bS=null)},aO._telemetryTimeout),this.#bS.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.#bB=!1}disable(){this.div&&(this.div.tabIndex=-1),this.#bB=!0}updateFakeAnnotationElement(a){if(!this.#bH&&!this.deleted){this.#bH=a.addFakeAnnotation(this);return}if(this.deleted){this.#bH.remove(),this.#bH=null;return}(this.hasEditedComment||this._hasBeenMoved||this._hasBeenResized)&&this.#bH.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 aP extends aO{constructor(a){super(a),this.annotationElementId=a.annotationElementId,this.deleted=!0}serialize(){return this.serializeDeleted()}}class aQ{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 aR=Object.freeze({map:null,hash:"",transfer:void 0});class aS{#cd=!1;#ce=null;#cf=null;#cg=new Map;onSetModified=null;onResetModified=null;onAnnotationEditor=null;getValue(a,b){let c=this.#cg.get(a);return void 0===c?b:Object.assign(b,c)}getRawValue(a){return this.#cg.get(a)}remove(a){let b=this.#cg.get(a);void 0===b||(b instanceof aO&&this.#cf.delete(b.annotationElementId),this.#cg.delete(a),0===this.#cg.size&&this.resetModified(),this.#cg.values().some(a=>a instanceof aO)||this.onAnnotationEditor?.(null))}setValue(a,b){let c=this.#cg.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.#cg.set(a,b);d&&this.#ch(),b instanceof aO&&((this.#cf||=new Map).set(b.annotationElementId,b),this.onAnnotationEditor?.(b.constructor._type))}has(a){return this.#cg.has(a)}get size(){return this.#cg.size}#ch(){this.#cd||(this.#cd=!0,this.onSetModified?.())}resetModified(){this.#cd&&(this.#cd=!1,this.onResetModified?.())}get print(){return new aT(this)}get serializable(){if(0===this.#cg.size)return aR;let a=new Map,b=new aQ,c=[],d=Object.create(null),e=!1;for(let[c,f]of this.#cg){let g=f instanceof aO?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}:aR}get editorStats(){let a=null,b=new Map,c=0,d=0;for(let e of this.#cg.values()){if(!(e instanceof aO)){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.has(g)||b.set(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.#ce=null}updateEditor(a,b){let c=this.#cf?.get(a);return!!c&&(c.updateFromAnnotationLayer(b),!0)}getEditor(a){return this.#cf?.get(a)||null}get modifiedIds(){if(this.#ce)return this.#ce;let a=[];if(this.#cf)for(let b of this.#cf.values())b.serialize()&&a.push(b.annotationElementId);let b="";if(a.length){let c=new aQ;c.update(a.join(",")),b=c.hexdigest()}return this.#ce={ids:new Set(a),hash:b}}[Symbol.iterator](){return this.#cg.entries()}}class aT extends aS{#ci=aR;constructor(a){super();const{serializable:b}=a;if(b===aR)return;const{map:c,hash:d,transfer:e}=b,f=structuredClone(c,e?{transfer:e}:null);this.#ci={map:f,hash:d,transfer:[]}}get print(){v("Should not call PrintAnnotationStorage.print")}get serializable(){return this.#ci}get modifiedIds(){return A(this,"modifiedIds",{ids:new Set,hash:""})}}let aU="__forcedDependency",{floor:aV,ceil:aW}=Math;function aX(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 aY=new Uint32Array(new Uint8Array([255,255,0,0]).buffer)[0];class aZ{#cj;#ck;constructor(a,b){this.#cj=a,this.#ck=b}get length(){return this.#cj.length}isEmpty(a){return this.#cj[a]===aY}minX(a){return this.#ck[4*a+0]/256}minY(a){return this.#ck[4*a+1]/256}maxX(a){return(this.#ck[4*a+2]+1)/256}maxY(a){return(this.#ck[4*a+3]+1)/256}}let a$=(a,b)=>a?.getOrInsertComputed(b,()=>({dependencies:new Set,isRenderingOperation:!1}));class a_{#cl=[[1,0,0,1,0,0]];#cm=[-1/0,-1/0,1/0,1/0];#cn=new Float64Array(f);_pendingBBoxIdx=-1;#co;#cp;#cq;#cj;_savesStack=[];_markedContentStack=[];constructor(a,b){this.#co=a.width,this.#cp=a.height,this.#cr(b)}growOperationsCount(a){a>=this.#cj.length&&this.#cr(a,this.#cj)}#cr(a,b){let c=new ArrayBuffer(4*a);this.#cq=new Uint8ClampedArray(c),this.#cj=new Uint32Array(c),b&&b.length>0?(this.#cj.set(b),this.#cj.fill(aY,b.length)):this.#cj.fill(aY)}get clipBox(){return this.#cm}save(a){return this.#cm={__proto__:this.#cm},this._savesStack.push(a),this}restore(a,b){let c=Object.getPrototypeOf(this.#cm);if(null===c)return this;this.#cm=c;let d=this._savesStack.pop();return void 0!==d&&(b?.(d,a),this.#cj[a]=this.#cj[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.#cj[a]=this.#cj[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.#cj[a]=this.#cj[c]),this}pushBaseTransform(a){return this.#cl.push(K.multiplyByDOMMatrix(this.#cl.at(-1),a.getTransform())),this}popBaseTransform(){return this.#cl.length>1&&this.#cl.pop(),this}resetBBox(a){return this._pendingBBoxIdx!==a&&(this._pendingBBoxIdx=a,this.#cn.set(f,0)),this}recordClipBox(a,b,c,d,e,g){let h=K.multiplyByDOMMatrix(this.#cl.at(-1),b.getTransform()),i=f.slice();K.axialAlignedBoundingBox([c,e,d,g],h,i);let j=K.intersect(this.#cm,i);return j?(this.#cm[0]=j[0],this.#cm[1]=j[1],this.#cm[2]=j[2],this.#cm[3]=j[3]):(this.#cm[0]=this.#cm[1]=1/0,this.#cm[2]=this.#cm[3]=-1/0),this}recordBBox(a,b,c,d,e,g){let h=this.#cm;if(h[0]===1/0)return this;let i=K.multiplyByDOMMatrix(this.#cl.at(-1),b.getTransform());if(h[0]===-1/0)return K.axialAlignedBoundingBox([c,e,d,g],i,this.#cn),this;let j=f.slice();return K.axialAlignedBoundingBox([c,e,d,g],i,j),this.#cn[0]=T(j[0],h[0],this.#cn[0]),this.#cn[1]=T(j[1],h[1],this.#cn[1]),this.#cn[2]=T(j[2],this.#cn[2],h[2]),this.#cn[3]=T(j[3],this.#cn[3],h[3]),this}recordFullPageBBox(a){return this.#cn[0]=Math.max(0,this.#cm[0]),this.#cn[1]=Math.max(0,this.#cm[1]),this.#cn[2]=Math.min(this.#co,this.#cm[2]),this.#cn[3]=Math.min(this.#cp,this.#cm[3]),this}recordOperation(a,b=!1,c){if(this._pendingBBoxIdx!==a)return this;let d=aV(256*this.#cn[0]/this.#co),e=aV(256*this.#cn[1]/this.#cp),f=aW(256*this.#cn[2]/this.#co),g=aW(256*this.#cn[3]/this.#cp);if(aX(this.#cq,a,d,e,f,g),c)for(let b of c)for(let c of b)c!==a&&aX(this.#cq,c,d,e,f,g);return b||(this._pendingBBoxIdx=-1),this}bboxToClipBoxDropOperation(a){return this._pendingBBoxIdx===a&&(this._pendingBBoxIdx=-1,this.#cm[0]=Math.max(this.#cm[0],this.#cn[0]),this.#cm[1]=Math.max(this.#cm[1],this.#cn[1]),this.#cm[2]=Math.min(this.#cm[2],this.#cn[2]),this.#cm[3]=Math.min(this.#cm[3],this.#cn[3])),this}take(){return new aZ(this.#cj,this.#cq)}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 a0{#cs={__proto__:null};#ct={__proto__:null,transform:[],moveText:[],sameLineText:[],[aU]:[]};#cu=new Map;#cv=new Set;#cw=new Map;#cx;#cy;#cz;constructor(a,b=!1){this.#cz=a,b&&(this.#cx=new Map,this.#cy=(a,b)=>{a$(this.#cx,b).dependencies.add(a)})}get clipBox(){return this.#cz.clipBox}growOperationsCount(a){this.#cz.growOperationsCount(a)}save(a){return this.#cs={__proto__:this.#cs},this.#ct={__proto__:this.#ct,transform:{__proto__:this.#ct.transform},moveText:{__proto__:this.#ct.moveText},sameLineText:{__proto__:this.#ct.sameLineText},[aU]:{__proto__:this.#ct[aU]}},this.#cz.save(a),this}restore(a){this.#cz.restore(a,this.#cy);let b=Object.getPrototypeOf(this.#cs);return null===b||(this.#cs=b,this.#ct=Object.getPrototypeOf(this.#ct)),this}recordOpenMarker(a){return this.#cz.recordOpenMarker(a,this.#cy),this}getOpenMarker(){return this.#cz.getOpenMarker()}recordCloseMarker(a){return this.#cz.recordCloseMarker(a,this.#cy),this}beginMarkedContent(a){return this.#cz.beginMarkedContent(a),this}endMarkedContent(a){return this.#cz.endMarkedContent(a,this.#cy),this}pushBaseTransform(a){return this.#cz.pushBaseTransform(a),this}popBaseTransform(){return this.#cz.popBaseTransform(),this}recordSimpleData(a,b){return this.#cs[a]=b,this}recordIncrementalData(a,b){return this.#ct[a].push(b),this}resetIncrementalData(a,b){return this.#ct[a].length=0,this}recordNamedData(a,b){return this.#cu.set(a,b),this}recordSimpleDataFromNamed(a,b,c){this.#cs[a]=this.#cu.get(b)??c}recordFutureForcedDependency(a,b){return this.recordIncrementalData(aU,b),this}inheritSimpleDataAsFutureForcedDependencies(a){for(let b of a)b in this.#cs&&this.recordFutureForcedDependency(b,this.#cs[b]);return this}inheritPendingDependenciesAsFutureForcedDependencies(){for(let a of this.#cv)this.recordFutureForcedDependency(aU,a);return this}resetBBox(a){return this.#cz.resetBBox(a),this}recordClipBox(a,b,c,d,e,f){return this.#cz.recordClipBox(a,b,c,d,e,f),this}recordBBox(a,b,c,d,e,f){return this.#cz.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.#cw.get(c))&&(i=[0,0,0,0],K.axialAlignedBoundingBox(j,c.fontMatrix,i),(1!==d||0!==e||0!==f)&&K.scaleMinMax([d,0,0,-d,e,f],i),h))return this.recordBBox(a,b,i[0],i[2],i[1],i[3]);if(!g)return this.recordFullPageBBox(a);let k=g();return j&&i&&void 0===h&&(h=i[0]<=e-k.actualBoundingBoxLeft&&i[2]>=e+k.actualBoundingBoxRight&&i[1]<=f-k.actualBoundingBoxAscent&&i[3]>=f+k.actualBoundingBoxDescent,this.#cw.set(c,h),h)?this.recordBBox(a,b,i[0],i[2],i[1],i[3]):this.recordBBox(a,b,e-k.actualBoundingBoxLeft,e+k.actualBoundingBoxRight,f-k.actualBoundingBoxAscent,f+k.actualBoundingBoxDescent)}recordFullPageBBox(a){return this.#cz.recordFullPageBBox(a),this}getSimpleIndex(a){return this.#cs[a]}recordDependencies(a,b){let c=this.#cv,d=this.#cs,e=this.#ct;for(let a of b)a in this.#cs?c.add(d[a]):a in e&&e[a].forEach(c.add,c);return this}recordNamedDependency(a,b){return this.#cu.has(b)&&this.#cv.add(this.#cu.get(b)),this}recordOperation(a,b=!1){if(this.recordDependencies(a,[aU]),this.#cx){let b=a$(this.#cx,a),{dependencies:c}=b;this.#cv.forEach(c.add,c),this.#cz._savesStack.forEach(c.add,c),this.#cz._markedContentStack.forEach(c.add,c),c.delete(a),b.isRenderingOperation=!0}let c=!b&&a===this.#cz._pendingBBoxIdx;return this.#cz.recordOperation(a,b,[this.#cv,this.#cz._savesStack,this.#cz._markedContentStack]),c&&this.#cv.clear(),this}recordShowTextOperation(a,b=!1){let c=Array.from(this.#cv);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.#cz._pendingBBoxIdx;return this.#cz.bboxToClipBoxDropOperation(a),c&&this.#cv.clear(),this}take(){return this.#cw.clear(),this.#cz.take()}takeDebugMetadata(){return this.#cx}}class a1{#cA;#cB;#cC;#cD=0;#cE=0;constructor(a,b,c){if(a instanceof a1&&!!c===a.#cC)return a;this.#cA=a,this.#cB=b,this.#cC=!!c}get clipBox(){return this.#cA.clipBox}growOperationsCount(){throw Error("Unreachable")}save(a){return this.#cE++,this.#cA.save(this.#cB),this}restore(a){return this.#cE>0&&(this.#cA.restore(this.#cB),this.#cE--),this}recordOpenMarker(a){return this.#cD++,this}getOpenMarker(){return this.#cD>0?this.#cB:this.#cA.getOpenMarker()}recordCloseMarker(a){return this.#cD--,this}beginMarkedContent(a){return this}endMarkedContent(a){return this}pushBaseTransform(a){return this.#cA.pushBaseTransform(a),this}popBaseTransform(){return this.#cA.popBaseTransform(),this}recordSimpleData(a,b){return this.#cA.recordSimpleData(a,this.#cB),this}recordIncrementalData(a,b){return this.#cA.recordIncrementalData(a,this.#cB),this}resetIncrementalData(a,b){return this.#cA.resetIncrementalData(a,this.#cB),this}recordNamedData(a,b){return this}recordSimpleDataFromNamed(a,b,c){return this.#cA.recordSimpleDataFromNamed(a,b,this.#cB),this}recordFutureForcedDependency(a,b){return this.#cA.recordFutureForcedDependency(a,this.#cB),this}inheritSimpleDataAsFutureForcedDependencies(a){return this.#cA.inheritSimpleDataAsFutureForcedDependencies(a),this}inheritPendingDependenciesAsFutureForcedDependencies(){return this.#cA.inheritPendingDependenciesAsFutureForcedDependencies(),this}resetBBox(a){return this.#cC||this.#cA.resetBBox(this.#cB),this}recordClipBox(a,b,c,d,e,f){return this.#cC||this.#cA.recordClipBox(this.#cB,b,c,d,e,f),this}recordBBox(a,b,c,d,e,f){return this.#cC||this.#cA.recordBBox(this.#cB,b,c,d,e,f),this}recordCharacterBBox(a,b,c,d,e,f,g){return this.#cC||this.#cA.recordCharacterBBox(this.#cB,b,c,d,e,f,g),this}recordFullPageBBox(a){return this.#cC||this.#cA.recordFullPageBBox(this.#cB),this}getSimpleIndex(a){return this.#cA.getSimpleIndex(a)}recordDependencies(a,b){return this.#cA.recordDependencies(this.#cB,b),this}recordNamedDependency(a,b){return this.#cA.recordNamedDependency(this.#cB,b),this}recordOperation(a){return this.#cA.recordOperation(this.#cB,!0),this}recordShowTextOperation(a){return this.#cA.recordShowTextOperation(this.#cB,!0),this}bboxToClipBoxDropOperation(a){return this.#cC||this.#cA.bboxToClipBoxDropOperation(this.#cB,!0),this}take(){throw Error("Unreachable")}takeDebugMetadata(){throw Error("Unreachable")}}let a2=["path","transform","filter","strokeColor","strokeAlpha","lineWidth","lineCap","lineJoin","miterLimit","dash"],a3=["path","transform","filter","fillColor","fillAlpha","globalCompositeOperation","SMask"],a4=["transform","SMask","filter","fillAlpha","strokeAlpha","globalCompositeOperation"],a5=["filter","fillColor","fillAlpha"],a6=["transform","leading","charSpacing","wordSpacing","hScale","textRise","moveText","textMatrix","font","fontObj","filter","fillColor","textRenderingMode","SMask","fillAlpha","strokeAlpha","globalCompositeOperation","sameLineText"],a7=["transform"],a8=["transform","fillColor"];class a9{#co;#cp;#cF=4;#cG=0;#ck=new a9.#cH(6*this.#cF);static #cH=J.isFloat16ArraySupported?Float16Array:Float32Array;constructor(a){this.#co=a.width,this.#cp=a.height}record(a,b,c,d){let e;if(this.#cG===this.#cF){this.#cF*=2;let a=new a9.#cH(6*this.#cF);a.set(this.#ck),this.#ck=a}let g=K.domMatrixToTransform(a.getTransform());if(d[0]!==1/0){let a=f.slice();K.axialAlignedBoundingBox([0,-c,b,0],g,a);let h=K.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))e=[i,j,i,l,k,j];else{let a=k-i,d=l-j,f=b*b,g=c*c,h=c*b,m=g-f,n=(d*g-a*h)/m;e=[i+(d*h-a*f)/m,j,i,j+n,k,l-n]}}}e||(e=[0,-c,0,0,b,-c],K.applyTransform(e,g,0),K.applyTransform(e,g,2),K.applyTransform(e,g,4)),e[0]/=this.#co,e[1]/=this.#cp,e[2]/=this.#co,e[3]/=this.#cp,e[4]/=this.#co,e[5]/=this.#cp,this.#ck.set(e,6*this.#cG),this.#cG++}take(){return this.#ck.subarray(0,6*this.#cG)}}class ba{#cI=new Set;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){this.styleElement||(this.styleElement=this._document.createElement("style"),this._document.documentElement.getElementsByTagName("head")[0].append(this.styleElement));let b=this.styleElement.sheet;b.insertRule(a,b.cssRules.length)}clear(){for(let a of this.nativeFontFaces)this._document.fonts.delete(a);this.nativeFontFaces.clear(),this.#cI.clear(),this.styleElement&&(this.styleElement.remove(),this.styleElement=null)}async loadSystemFont({systemFontInfo:a,disableFontFace:b,_inspectFont:c}){if(!(!a||this.#cI.has(a.loadedName))){if(w(!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.#cI.add(b),c?.(a)}catch{u(`Cannot load system font: ${a.baseFontName}, installing it could help to improve PDF rendering.`),this.removeNativeFontFace(f)}return}v("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 u(`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 A(this,"isFontLoadingAPISupported",!!this._document?.fonts)}get isSyncFontLoadingSupported(){return A(this,"isSyncFontLoadingSupported",e||J.platform.isFirefox)}_queueLoadingCallback(a){let{loadingRequests:b}=this,c={done:!1,complete:function(){for(w(!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 A(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){u("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 bb{compiledGlyphs=Object.create(null);#cJ;constructor(a,b=null,c,d){this.#cJ=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){u(`getPathGenerator - ignoring character: "${a}".`)}let e=aA(c?.path);return this.fontExtraProperties||a.delete(d),this.compiledGlyphs[b]=e}get black(){return this.#cJ.black}get bold(){return this.#cJ.bold}get disableFontFace(){return this.#cJ.disableFontFace}set disableFontFace(a){A(this,"disableFontFace",!!a)}get fontExtraProperties(){return this.#cJ.fontExtraProperties}get isInvalidPDFjsFont(){return this.#cJ.isInvalidPDFjsFont}get isType3Font(){return this.#cJ.isType3Font}get italic(){return this.#cJ.italic}get missingFile(){return this.#cJ.missingFile}get remeasure(){return this.#cJ.remeasure}get vertical(){return this.#cJ.vertical}get ascent(){return this.#cJ.ascent}get defaultWidth(){return this.#cJ.defaultWidth}get descent(){return this.#cJ.descent}get bbox(){return this.#cJ.bbox}get fontMatrix(){return this.#cJ.fontMatrix}get fallbackName(){return this.#cJ.fallbackName}get loadedName(){return this.#cJ.loadedName}get mimetype(){return this.#cJ.mimetype}get name(){return this.#cJ.name}get data(){return this.#cJ.data}clearData(){this.#cJ.clearData()}get cssFontInfo(){return this.#cJ.cssFontInfo}get systemFontInfo(){return this.#cJ.systemFontInfo}get defaultVMetrics(){return this.#cJ.defaultVMetrics}}class bc{static strings=["fontFamily","fontWeight","italicAngle"]}class bd{static strings=["css","loadedName","baseFontName","src"]}class be{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 bf{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 bg{#cK;#cL=new TextDecoder;#cM;constructor(a){this.#cK=a,this.#cM=new DataView(a)}#cN(a){w(a<bc.strings.length,"Invalid string index");let b=0;for(let c=0;c<a;c++)b+=this.#cM.getUint32(b)+4;let c=this.#cM.getUint32(b);return this.#cL.decode(new Uint8Array(this.#cK,b+4,c))}get fontFamily(){return this.#cN(0)}get fontWeight(){return this.#cN(1)}get italicAngle(){return this.#cN(2)}}class bh{#cK;#cL=new TextDecoder;#cM;constructor(a){this.#cK=a,this.#cM=new DataView(a)}get guessFallback(){return 0!==this.#cM.getUint8(0)}#cN(a){w(a<bd.strings.length,"Invalid string index");let b=5;for(let c=0;c<a;c++)b+=this.#cM.getUint32(b)+4;let c=this.#cM.getUint32(b);return this.#cL.decode(new Uint8Array(this.#cK,b+4,c))}get css(){return this.#cN(0)}get loadedName(){return this.#cN(1)}get baseFontName(){return this.#cN(2)}get src(){return this.#cN(3)}get style(){let a=1;a+=4+this.#cM.getUint32(a);let b=this.#cM.getUint32(a),c=this.#cL.decode(new Uint8Array(this.#cK,a+4,b));a+=4+b;let d=this.#cM.getUint32(a),e=this.#cL.decode(new Uint8Array(this.#cK,a+4,d));return{style:c,weight:e}}}class bi{#cK;#cL=new TextDecoder;#cM;constructor({buffer:a,extra:b}){this.#cK=a,this.#cM=new DataView(a),b&&Object.assign(this,b)}#cO(a){w(a<be.bools.length,"Invalid boolean index");let b=Math.floor(a/4),c=this.#cM.getUint8(b)>>2*a%8&3;return 0===c?void 0:2===c}get black(){return this.#cO(0)}get bold(){return this.#cO(1)}get disableFontFace(){return this.#cO(2)}get fontExtraProperties(){return this.#cO(3)}get isInvalidPDFjsFont(){return this.#cO(4)}get isType3Font(){return this.#cO(5)}get italic(){return this.#cO(6)}get missingFile(){return this.#cO(7)}get remeasure(){return this.#cO(8)}get vertical(){return this.#cO(9)}#cP(a){return w(a<be.numbers.length,"Invalid number index"),this.#cM.getFloat64(be.OFFSET_NUMBERS+8*a)}get ascent(){return this.#cP(0)}get defaultWidth(){return this.#cP(1)}get descent(){return this.#cP(2)}#cQ(a,b,c,d){let e=this.#cM.getUint8(a);if(0===e)return;w(e===b,"Invalid array length."),a+=1;let f=Array(e);for(let b=0;b<e;b++)f[b]=this.#cM[c](a,!0),a+=d;return f}get bbox(){return this.#cQ(be.OFFSET_BBOX,4,"getInt16",2)}get fontMatrix(){return this.#cQ(be.OFFSET_FONT_MATRIX,6,"getFloat64",8)}get defaultVMetrics(){return this.#cQ(be.OFFSET_DEFAULT_VMETRICS,3,"getInt16",2)}#cN(a){w(a<be.strings.length,"Invalid string index");let b=be.OFFSET_STRINGS+4;for(let c=0;c<a;c++)b+=this.#cM.getUint32(b)+4;let c=this.#cM.getUint32(b);return this.#cL.decode(new Uint8Array(this.#cK,b+4,c))}get fallbackName(){return this.#cN(0)}get loadedName(){return this.#cN(1)}get mimetype(){return this.#cN(2)}get name(){return this.#cN(3)}#cR(){let a=be.OFFSET_STRINGS,b=this.#cM.getUint32(a);a+=4+b;let c=this.#cM.getUint32(a);a+=4+c;let d=this.#cM.getUint32(a);a+=4+d;let e=this.#cM.getUint32(a);return{offset:a,length:e}}get data(){let{offset:a,length:b}=this.#cR();return 0===b?void 0:new Uint8Array(this.#cK,a+4,b)}clearData(){let{offset:a,length:b}=this.#cR();0!==b&&(this.#cM.setUint32(a,0),this.#cK=new Uint8Array(this.#cK,0,a+4).slice().buffer,this.#cM=new DataView(this.#cK))}get cssFontInfo(){let a=be.OFFSET_STRINGS,b=this.#cM.getUint32(a);a+=4+b;let c=this.#cM.getUint32(a);a+=4+c;let d=this.#cM.getUint32(a);if(0===d)return null;let e=new Uint8Array(d);return e.set(new Uint8Array(this.#cK,a+4,d)),new bg(e.buffer)}get systemFontInfo(){let a=be.OFFSET_STRINGS,b=this.#cM.getUint32(a);a+=4+b;let c=this.#cM.getUint32(a);if(0===c)return null;let d=new Uint8Array(c);return d.set(new Uint8Array(this.#cK,a+4,c)),new bh(d.buffer)}}class bj{constructor(a){this.buffer=a,this.view=new DataView(a),this.data=new Uint8Array(a)}getIR(){let a=this.view,b=this.data[bf.KIND],c=!!this.data[bf.HAS_BBOX],d=!!this.data[bf.HAS_BACKGROUND],e=a.getUint32(bf.N_COORD,!0),g=a.getUint32(bf.N_COLOR,!0),h=a.getUint32(bf.N_STOP,!0),i=20,j=new Float32Array(this.buffer,i,2*e);i+=8*e;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[bf.SHADING_TYPE],b=null;if(j.length>0){b=f.slice();for(let a=0,c=j.length;a<c;a+=2)K.pointBoundingBox(j[a],j[a+1],b)}return["Mesh",a,j,k,e,b,m,n]}throw Error(`Unsupported pattern kind: ${b}`)}}class bk{#cK;constructor(a){this.#cK=a}get path(){return J.isFloat16ArraySupported?new Float16Array(this.#cK):new Float32Array(this.#cK)}}function bl(a){if("string"!=typeof a)return null;if(a.endsWith("/"))return a;throw Error(`Invalid factory url: "${a}" must include trailing slash.`)}let bm=a=>"object"==typeof a&&Number.isInteger(a?.num)&&a.num>=0&&Number.isInteger(a?.gen)&&a.gen>=0,bn=(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,bm,a=>"object"==typeof a&&"string"==typeof a?.name);class bo{#cS=new Map;#cT=Promise.resolve();postMessage(a,b){let c={data:structuredClone(a,b?{transfer:b}:null)};this.#cT.then(()=>{for(let[a]of this.#cS)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 u("LoopbackPort - cannot use an `aborted` signal.");let f=()=>this.removeEventListener(a,b);d=()=>e.removeEventListener("abort",f),e.addEventListener("abort",f)}this.#cS.set(b,d)}removeEventListener(a,b){let c=this.#cS.get(b);c?.(),this.#cS.delete(b)}terminate(){for(let[,a]of this.#cS)a?.();this.#cS.clear()}}function bp(){}function bq(a){if(a instanceof H||a instanceof E||a instanceof C||a instanceof F||a instanceof D)return a;switch(!(a instanceof Error||"object"==typeof a&&null!==a)&&v('wrapReason: Expected "reason" to be a (possibly cloned) Error.'),a.name){case"AbortException":return new H(a.message);case"InvalidPDFException":return new E(a.message);case"PasswordException":return new C(a.message,a.code);case"ResponseException":return new F(a.message,a.status,a.missing);case"UnknownErrorException":return new D(a.message,a.details)}return new D(a.message,a.toString())}class br{#cU=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.#cV.bind(this),{signal:this.#cU.signal})}#cV({data:a}){if(a.targetName!==this.sourceName)return;if(a.stream)return void this.#cW(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(bq(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:bq(b)})});return}a.streamId?this.#cX(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=>{w(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:bq(a)}),b.promise}},c)}#cX(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){w(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:bq(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:bq(a)})})}#cW(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(bq(a.reason));break;case 7:a.success?f.pullCall.resolve():f.pullCall.reject(bq(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||bp).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:bq(a)})});break;case 4:if(w(f,"enqueue should have stream controller"),f.isClosed)break;f.controller.enqueue(a.chunk);break;case 3:if(w(f,"close should have stream controller"),f.isClosed)break;f.isClosed=!0,f.controller.close(),this.#cY(f,b);break;case 5:w(f,"error should have stream controller"),f.controller.error(bq(a.reason)),this.#cY(f,b);break;case 2:a.success?f.cancelCall.resolve():f.cancelCall.reject(bq(a.reason)),this.#cY(f,b);break;case 1:if(!g)break;let h=bq(a.reason);Promise.try(g.onCancel||bp,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:bq(a)})}),g.sinkCapability.reject(h),g.isCancelled=!0,delete this.streamSinks[b];break;default:throw Error("Unexpected stream case")}}async #cY(a,b){await Promise.allSettled([a.startCall?.promise,a.pullCall?.promise,a.cancelCall?.promise]),delete this.streamControllers[b]}destroy(){this.#cU?.abort(),this.#cU=null}}class bs{#cZ=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:v(`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.#cZ[a]} data at: ${d}`)})}async _fetch(a,b){v("Abstract method `_fetch` called.")}}class bt extends bs{async _fetch(a,b){let c="cMapUrl"!==b||a.endsWith(".bcmap")?"bytes":"text",d=await Y(a,c);return d instanceof Uint8Array?d:I(d)}}class bu{#c$=!1;constructor({enableHWA:a=!1}){this.#c$=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.#c$})}}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){v("Abstract method `_createCanvas` called.")}}class bv extends bu{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 bw{addFilter(a){return"none"}addHCMFilter(a,b){return"none"}addAlphaFilter(a){return"none"}addLuminosityFilter(a){return"none"}addHighlightHCMFilter(a,b,c,d,e){return"none"}destroy(a=!1){}}class bx extends bw{#c_;#c0;#c1;#c2;#c3;#c4;#A=0;constructor({docId:a,ownerDocument:b=globalThis.document}){super(),this.#c2=a,this.#c3=b}get #C(){return this.#c0||=new Map}get #c5(){return this.#c4||=new Map}get #c6(){if(!this.#c1){let a=this.#c3.createElement("div"),{style:b}=a;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.#c3.createElementNS(W,"svg");c.setAttribute("width",0),c.setAttribute("height",0),this.#c1=this.#c3.createElementNS(W,"defs"),a.append(c),c.append(this.#c1),this.#c3.body.append(a)}return this.#c1}#c7(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(",")]}#c8(a){if(void 0===this.#c_){this.#c_="";let a=this.#c3.URL;a!==this.#c3.baseURI&&(_(a)?u('#createUrl: ignore "data:"-URL for performance reasons.'):this.#c_=y(a,""))}return`url(${this.#c_}#${a})`}addFilter(a){if(!a)return"none";let b=this.#C.get(a);if(b)return b;let[c,d,e]=this.#c7(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.#c2}_transfer_map_${this.#A++}`,h=this.#c8(g);this.#C.set(a,h),this.#C.set(f,h);let i=this.#c9(g);return this.#da(c,d,e,i),h}addHCMFilter(a,b){let c=`${a}-${b}`,d="base",e=this.#c5.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.#c5.set(d,e)),!a||!b))return e.url;let f=this.#db(a);a=K.makeHexColor(...f);let g=this.#db(b);if(b=K.makeHexColor(...g),this.#c6.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.#c2}_hcm_filter`,k=e.filter=this.#c9(j);this.#da(i,i,i,k),this.#dc(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.#da(l(0,5),l(1,5),l(2,5),k),e.url=this.#c8(j),e.url}addAlphaFilter(a){let b=this.#C.get(a);if(b)return b;let[c]=this.#c7([a]),d=`alpha_${c}`;if(b=this.#C.get(d))return this.#C.set(a,b),b;let e=`g_${this.#c2}_alpha_map_${this.#A++}`,f=this.#c8(e);this.#C.set(a,f),this.#C.set(d,f);let g=this.#c9(e);return this.#dd(c,g),f}addLuminosityFilter(a){let b,c,d=this.#C.get(a||"luminosity");if(d)return d;if(a?([b]=this.#c7([a]),c=`luminosity_${b}`):c="luminosity",d=this.#C.get(c))return this.#C.set(a,d),d;let e=`g_${this.#c2}_luminosity_map_${this.#A++}`,f=this.#c8(e);this.#C.set(a,f),this.#C.set(c,f);let g=this.#c9(e);return this.#de(g),a&&this.#dd(b,g),f}addHighlightHCMFilter(a,b,c,d,e){let f=`${b}-${c}-${d}-${e}`,g=this.#c5.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.#c5.set(a,g)),!b||!c))return g.url;let[h,i]=[b,c].map(this.#db.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.#db.bind(this));k<j&&([j,k,l,m]=[k,j,m,l]),this.#c6.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.#c2}_hcm_${a}_filter`,p=g.filter=this.#c9(o);return this.#dc(p),this.#da(n(l[0],m[0],5),n(l[1],m[1],5),n(l[2],m[2],5),p),g.url=this.#c8(o),g.url}destroy(a=!1){a&&this.#c4?.size||(this.#c1?.parentNode.parentNode.remove(),this.#c1=null,this.#c0?.clear(),this.#c0=null,this.#c4?.clear(),this.#c4=null,this.#A=0)}#de(a){let b=this.#c3.createElementNS(W,"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)}#dc(a){let b=this.#c3.createElementNS(W,"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)}#c9(a){let b=this.#c3.createElementNS(W,"filter");return b.setAttribute("color-interpolation-filters","sRGB"),b.setAttribute("id",a),this.#c6.append(b),b}#df(a,b,c){let d=this.#c3.createElementNS(W,b);d.setAttribute("type","discrete"),d.setAttribute("tableValues",c),a.append(d)}#da(a,b,c,d){let e=this.#c3.createElementNS(W,"feComponentTransfer");d.append(e),this.#df(e,"feFuncR",a),this.#df(e,"feFuncG",b),this.#df(e,"feFuncB",c)}#dd(a,b){let c=this.#c3.createElementNS(W,"feComponentTransfer");b.append(c),this.#df(c,"feFuncA",a)}#db(a){return this.#c6.style.color=a,ak(getComputedStyle(this.#c6).getPropertyValue("color"))}}async function by(a){let b=process.getBuiltinModule("fs/promises");return new Uint8Array(await b.readFile(a))}e&&u("Please use the `legacy` build in Node.js environments.");class bz extends bw{}class bA extends bu{_createCanvas(a,b){return process.getBuiltinModule("module").createRequire("file:///home/runner/work/pidex/pidex/node_modules/pdfjs-dist/build/pdf.mjs")("@napi-rs/canvas").createCanvas(a,b)}}class bB extends bs{async _fetch(a,b){return by(a)}}let bC=`
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 bD{#dg=null;#dh=null;#di=null;#dj=null;async #dk(){if(!globalThis.navigator?.gpu)return!1;try{let a=await navigator.gpu.requestAdapter();if(!a)return!1;return this.#dj=navigator.gpu.getPreferredCanvasFormat(),this.#dh=await a.requestDevice(),!0}catch{return!1}}init(){return this.#dg||=this.#dk()}get isReady(){return null!==this.#dh}loadMeshShader(){if(!this.#dh||this.#di)return;let a=this.#dh.createShaderModule({code:bC});this.#di=this.#dh.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.#dj}]},primitive:{topology:"triangle-list"}})}draw(a,b,c,d,e,f,g,h){this.loadMeshShader();let i=this.#dh,{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.#di.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:p}}]}),r=new OffscreenCanvas(f,g),s=r.getContext("webgpu");s.configure({device:i,format:this.#dj,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.#di),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 bE=new bD,bF="Fill",bG="Stroke",bH="Shading";function bI(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 bJ{isModifyingCurrentTransform(){return!1}getPattern(){v("Abstract method `getPattern` called.")}}class bK extends bJ{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(),K.applyTransform(d,b),K.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);K.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(),K.applyTransform(c,b),K.applyTransform(d,b));let e=this._r1,f=this._r0;if(b){let a=new Float32Array(2);K.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===bG||d===bF){if(this.isOriginBased()){let d=K.transform(c,b.baseTransform);this.matrix&&(d=K.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,al(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=K.transform(c,[1,0,0,1,f[0],f[1]]),j.transform(...b.baseTransform),this.matrix&&j.transform(...this.matrix),bI(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(),bI(a,this._bbox),a.fillStyle=this._createReversedGradient(a),a.fillRect(-1e10,-1e10,2e10,2e10),a.restore()),bI(a,this._bbox),e=this._createGradient(a);return e}}class bL extends bJ{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,bE.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(bE.isReady&&this._vertexCount>48){var p,q,r;o.context.drawImage((p=this._posData,q=this._colData,r=this._vertexCount,bE.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){bI(a,this._bbox);let e=new Float32Array(2);if(d===bH)K.singularValueDecompose2dScale(al(a),e);else if(this.matrix){K.singularValueDecompose2dScale(this.matrix,e);let[a,c]=e;K.singularValueDecompose2dScale(b.baseTransform,e),e[0]*=a,e[1]*=c}else K.singularValueDecompose2dScale(b.baseTransform,e);let f=this._createMeshCanvas(e,d===bH?null:this._background,b.canvasFactory);d!==bH&&(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 bM extends bJ{getPattern(){return"hotpink"}}class bN{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?K.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=K.inverseTransform(this.patternBaseMatrix),d=[a[0],a[1]],e=[a[2],a[3]];K.applyTransform(d,c),K.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=al(k.ctx),k.executeOperatorList(this.operatorList),k.endDrawing(),k.dependencyTracker?.restore(),j.restore(),i}_getCombinedScales(){let a=new Float32Array(2);K.singularValueDecompose2dScale(this.matrix,a);let[b,c]=a;return K.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 a1(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=al(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),t("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(bN.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),K.axialAlignedBoundingBox([b,c,d,e],al(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 G(`Unsupported paint type: ${b}`)}}isModifyingCurrentTransform(){return!1}getPattern(a,b,c,d,e){let f=d!==bH?K.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 bO=new DOMMatrix,bP=new Float32Array(2);function bQ(a,b,c,d,e,f,g,h,i,j){let[k,l,m,n,o,p]=al(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 bR{alphaIsShape=!1;fontSize=0;fontSizeScale=1;textMatrix=null;textMatrixScale=1;fontMatrix=h;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=g.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=bF,b=null){let c=this.minMax.slice();if(a===bG){b||v("Stroke bounding box must include transform."),K.singularValueDecompose2dScale(b,bP);let a=bP[0]*this.lineWidth/2,d=bP[1]*this.lineWidth/2;c[0]-=a,c[1]-=d,c[2]+=a,c[3]+=d}return c}updateClipFromPath(){let a=K.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(g,0)}getClippedPathBoundingBox(a=bF,b=null){return K.intersect(this.clipBox,this.getPathBoundingBox(a,b))}}function bS(a,b){let c,d,e,f;if(b instanceof ImageData)return void a.putImageData(b,0,0);let g=b.height,h=b.width,i=g%16,j=(g-i)/16,k=0===i?j:j+1,l=a.createImageData(h,16),m=0,o,p=b.data,q=l.data;if(b.kind===n.GRAYSCALE_1BPP){let b=p.byteLength,f=new Uint32Array(q.buffer,0,q.byteLength>>2),g=f.length,n=h+7>>3,r=J.isLittleEndian?0xff000000:255;for(c=0;c<k;c++){for(d=0,e=c<j?16:i,o=0;d<e;d++){let a=b-m,c=0,d=a>n?h:8*a-7,e=-8&d,g=0,i=0;for(;c<e;c+=8)i=p[m++],f[o++]=128&i?0xffffffff:r,f[o++]=64&i?0xffffffff:r,f[o++]=32&i?0xffffffff:r,f[o++]=16&i?0xffffffff:r,f[o++]=8&i?0xffffffff:r,f[o++]=4&i?0xffffffff:r,f[o++]=2&i?0xffffffff:r,f[o++]=1&i?0xffffffff:r;for(;c<d;c++)0===g&&(i=p[m++],g=128),f[o++]=i&g?0xffffffff:r,g>>=1}for(;o<g;)f[o++]=0;a.putImageData(l,0,16*c)}}else if(b.kind===n.RGBA_32BPP){for(c=0,d=0,f=16*h*4;c<j;c++)q.set(p.subarray(m,m+f)),m+=f,a.putImageData(l,0,d),d+=16;c<k&&(f=h*i*4,q.set(p.subarray(m,m+f)),a.putImageData(l,0,d))}else if(b.kind===n.RGB_24BPP)for(c=0,f=h*(e=16);c<k;c++){for(c>=j&&(f=h*(e=i)),o=0,d=f;d--;)q[o++]=p[m++],q[o++]=p[m++],q[o++]=p[m++],q[o++]=255;a.putImageData(l,0,16*c)}else throw Error(`bad image kind: ${b.kind}`)}function bT(a,b){if(b.bitmap)return void a.drawImage(b.bitmap,0,0);let c=b.height,d=b.width,e=c%16,f=(c-e)/16,g=0===e?f:f+1,h=a.createImageData(d,16),i=0,j=b.data,k=h.data;for(let b=0;b<g;b++){let c=b<f?16:e;({srcPos:i}=function({src:a,srcPos:b=0,dest:c,width:d,height:e,nonBlackColor:f=0xffffffff,inverseDecode:g=!1}){let h=J.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}}({src:j,srcPos:i,dest:k,width:d,height:c,nonBlackColor:0})),a.putImageData(h,0,16*b)}}function bU(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 bV(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 bW(a,b){if(b)return!0;K.singularValueDecompose2dScale(a,bP);let c=Math.fround(ao.pixelRatio*X.PDF_TO_CSS_UNITS);return bP[0]<=c&&bP[1]<=c}let bX=["butt","round","square"],bY=["miter","round","bevel"],bZ={},b$={};class b_{constructor(a,b,c,d,e,{optionalContentConfig:f,markedContentStack:g=null},h,i,j,k){this.ctx=a,this.current=new bR(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.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(...al(this.compositeCtx))}this.ctx.save(),bV(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=al(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!==q.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}}}#dl(){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.#dl(),this.smaskGroupCanvases))this.canvasFactory.destroy(a);for(let a of(this.smaskGroupCanvases.length=0,this._clearPreparedSMask(),this.tempSMask=null,this.smaskStack.length=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.#dm()}#dm(){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,f,h=this.ctx,{width:i,height:j}=b,k=this.current.fillColor,l=this.current.patternFill,m=al(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,a8),{canvas:g,offsetX:b,offsetY:c}}e=g}e||bT((f=this.canvasFactory.create(i,j)).context,b);let n=K.transform(m,[1/i,0,0,-1/j,0,0]);n=K.transform(n,[1,0,0,1,0,-j]);let o=g.slice();K.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(f.canvas,am(w));e=a.img,x=a.tmpCanvas,e!==f.canvas&&(this.canvasFactory.destroy(f),f=null),c&&l&&(c.set(d,e),x=null,f=null)}w.imageSmoothingEnabled=bW(al(w),b.interpolate),bQ(w,e,0,0,e.width,e.height,0,0,i,j),x&&this.canvasFactory.destroy(x),f&&this.canvasFactory.destroy(f),w.globalCompositeOperation="source-in";let y=K.transform(am(w),[1,0,0,1,-p,-q]);return w.fillStyle=l?k.getPattern(h,this,y,bF,a):k,w.fillRect(0,0,i,j),c&&!l&&c.set(d,v.canvas),this.dependencyTracker?.recordDependencies(a,a8),{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=bX[b]}setLineJoin(a,b){this.dependencyTracker?.recordSimpleData("lineJoin",a),this.ctx.lineJoin=bY[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}_ensurePreparedSMask(a,b,c){a!==this.smaskPreparedFor&&(this._clearPreparedSMask(),this._prepareSMaskCanvas(a,b,c))}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,this.ctx.canvas.width,this.ctx.canvas.height)}_prepareSMaskCanvas(a,b,c){let d,e,f,{canvas:g,subtype:h,backdrop:i,transferMap:j}=a,k="Luminosity"===h||"Alpha"===h&&j;if(!i&&!k){this.smaskPreparedFor=a;return}if(i&&k){let k=this.canvasFactory.create(b,c),l=k.context;l.drawImage(g,a.offsetX,a.offsetY),l.globalCompositeOperation="destination-atop",l.fillStyle=i,l.fillRect(0,0,b,c),l.globalCompositeOperation="source-over";let m=(d=this.canvasFactory.create(b,c)).context;m.filter="Alpha"===h?this.filterFactory.addAlphaFilter(j):this.filterFactory.addLuminosityFilter(j),m.drawImage(k.canvas,0,0),m.filter="none",this.canvasFactory.destroy(k),e=f=0}else if(k){let b=(d=this.canvasFactory.create(g.width,g.height)).context;b.filter="Alpha"===h?this.filterFactory.addAlphaFilter(j):this.filterFactory.addLuminosityFilter(j),b.drawImage(g,0,0),b.filter="none",{offsetX:e,offsetY:f}=a}else{let h=(d=this.canvasFactory.create(b,c)).context;h.drawImage(g,a.offsetX,a.offsetY),h.globalCompositeOperation="destination-atop",h.fillStyle=i,h.fillRect(0,0,b,c),h.globalCompositeOperation="source-over",e=f=0}this.smaskPreparedEntry=d,this.smaskPreparedFor=a,this.smaskPreparedOffsetX=e,this.smaskPreparedOffsetY=f}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()),bU(this.suspendedCtx,e);var f=this.suspendedCtx;if(e._removeMirroring)throw Error("Context is already forwarding operations.");e.__originalSave=e.save,e.__originalRestore=e.restore,e.__originalRotate=e.rotate,e.__originalScale=e.scale,e.__originalTranslate=e.translate,e.__originalTransform=e.transform,e.__originalSetTransform=e.setTransform,e.__originalResetTransform=e.resetTransform,e.__originalClip=e.clip,e.__originalMoveTo=e.moveTo,e.__originalLineTo=e.lineTo,e.__originalBezierCurveTo=e.bezierCurveTo,e.__originalRect=e.rect,e.__originalClosePath=e.closePath,e.__originalBeginPath=e.beginPath,e._removeMirroring=()=>{e.save=e.__originalSave,e.restore=e.__originalRestore,e.rotate=e.__originalRotate,e.scale=e.__originalScale,e.translate=e.__originalTranslate,e.transform=e.__originalTransform,e.setTransform=e.__originalSetTransform,e.resetTransform=e.__originalResetTransform,e.clip=e.__originalClip,e.moveTo=e.__originalMoveTo,e.lineTo=e.__originalLineTo,e.bezierCurveTo=e.__originalBezierCurveTo,e.rect=e.__originalRect,e.closePath=e.__originalClosePath,e.beginPath=e.__originalBeginPath,delete e._removeMirroring},e.save=function(){f.save(),this.__originalSave()},e.restore=function(){f.restore(),this.__originalRestore()},e.translate=function(a,b){f.translate(a,b),this.__originalTranslate(a,b)},e.scale=function(a,b){f.scale(a,b),this.__originalScale(a,b)},e.transform=function(a,b,c,d,e,g){f.transform(a,b,c,d,e,g),this.__originalTransform(a,b,c,d,e,g)},e.setTransform=function(a,b,c,d,e,g){void 0===b?(f.setTransform(a),this.__originalSetTransform(a)):(f.setTransform(a,b,c,d,e,g),this.__originalSetTransform(a,b,c,d,e,g))},e.resetTransform=function(){f.resetTransform(),this.__originalResetTransform()},e.rotate=function(a){f.rotate(a),this.__originalRotate(a)},e.clip=function(a){f.clip(a),this.__originalClip(a)},e.moveTo=function(a,b){f.moveTo(a,b),this.__originalMoveTo(a,b)},e.lineTo=function(a,b){f.lineTo(a,b),this.__originalLineTo(a,b)},e.bezierCurveTo=function(a,b,c,d,e,g){f.bezierCurveTo(a,b,c,d,e,g),this.__originalBezierCurveTo(a,b,c,d,e,g)},e.rect=function(a,b,c,d){f.rect(a,b,c,d),this.__originalRect(a,b,c,d)},e.closePath=function(){f.closePath(),this.__originalClosePath()},e.beginPath=function(){f.beginPath(),this.__originalBeginPath()},this._ensurePreparedSMask(this.current.activeSMask,b,c),this.setGState(a,[["BM","source-over"]])}endSMaskMode(){if(!this.inSMaskMode)throw Error("endSMaskMode called while not in smask mode");this.ctx._removeMirroring(),bU(this.ctx,this.suspendedCtx),this.ctx=this.suspendedCtx,this.suspendedCtx=null,this.canvasFactory.destroy(this.smaskScratchCanvas),this.smaskScratchCanvas=null,this._clearPreparedSMask()}compose(a){if(!this.current.activeSMask)return;a?(a[0]=Math.floor(a[0]),a[1]=Math.floor(a[1]),a[2]=Math.ceil(a[2]),a[3]=Math.ceil(a[3])):a=[0,0,this.ctx.canvas.width,this.ctx.canvas.height];let b=this.current.activeSMask,c=this.suspendedCtx;this.composeSMask(c,b,this.ctx,a),this.ctx.save(),this.ctx.setTransform(1,0,0,1,0,0),this.ctx.clearRect(a[0],a[1],a[2]-a[0],a[3]-a[1]),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-this.smaskPreparedOffsetX,b=f-this.smaskPreparedOffsetY;c.save(),c.globalAlpha=1,c.setTransform(1,0,0,1,0,0);let d=new Path2D;d.rect(e,f,g,h),c.clip(d),c.globalCompositeOperation="destination-in",c.drawImage(i.canvas,a,b,g,h,e,f,g,h),c.restore()}else this.genericComposeSMask(b.context,c,g,h,e,f,b.offsetX,b.offsetY);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()}genericComposeSMask(a,b,c,d,e,f,g,h){let i=a.canvas,j=e-g,k=f-h;b.save(),b.globalAlpha=1,b.setTransform(1,0,0,1,0,0);let l=new Path2D;l.rect(e,f,c,d),b.clip(l),b.globalCompositeOperation="destination-in",b.drawImage(i,j,k,c,d,e,f,c,d),b.restore()}save(a){this.inSMaskMode&&bU(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&&(bU(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!==q.stroke&&b!==q.closeStroke&&(this.current.tilingPatternDims=null),this[b](a,e);return}if(null!==this.dependencyTracker){let c=b===q.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]=aA(e)),K.axialAlignedBoundingBox(d,al(this.ctx),this.current.minMax);let f=this.current.tilingPatternDims;if(f&&b!==q.stroke&&b!==q.closeStroke&&this.current.fillColor instanceof bN){let a=K.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=this.ctx,e=this.current.strokeColor;if(d.globalAlpha=this.current.strokeAlpha,this.contentVisible)if("object"==typeof e&&e?.getPattern){let c=e.isModifyingCurrentTransform()?d.getTransform():null;if(d.save(),d.strokeStyle=e.getPattern(d,this,am(d),bG,a),c){let a=new Path2D;a.addPath(b,d.getTransform().invertSelf().multiplySelf(c)),b=a}this.rescaleAndStroke(b,!1),d.restore()}else this.rescaleAndStroke(b,!0);this.dependencyTracker?.recordDependencies(a,a2),c&&this.consumePath(a,b,this.current.getClippedPathBoundingBox(bG,al(this.ctx))),d.globalAlpha=this.current.fillAlpha}closeStroke(a,b){this.stroke(a,b)}fill(a,b,c=!0){let d=this.ctx,e=this.current.fillColor,f=this.current.patternFill,g=!1,h=this.current.getClippedPathBoundingBox();if(this.dependencyTracker?.recordDependencies(a,a3),f){let f=this.current.tilingPatternDims,i=f&&e.canSkipPatternCanvas(f);if(i){e.drawPattern(this,b,this.pendingEOFill,i,a),this.pendingEOFill=!1,c&&this.consumePath(a,b,h),this.current.tilingPatternDims=null;return}let j=e.isModifyingCurrentTransform()?d.getTransform():null;if(this.dependencyTracker?.save(a),d.save(),d.fillStyle=e.getPattern(d,this,am(d),bF,a),j){let a=new Path2D;a.addPath(b,d.getTransform().invertSelf().multiplySelf(j)),b=a}g=!0}this.contentVisible&&null!==h&&(this.pendingEOFill?(d.fill(b,"evenodd"),this.pendingEOFill=!1):d.fill(b)),g&&(d.restore(),this.dependencyTracker?.restore(a)),c&&this.consumePath(a,b,h)}eoFill(a,b){this.pendingEOFill=!0,this.fill(a,b)}fillStroke(a,b){this.fill(a,b,!1),this.stroke(a,b,!1),this.consumePath(a,b)}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){this.ctx.fill(b),this.dependencyTracker?.recordDependencies(a,a5).recordOperation(a)}clip(a){this.dependencyTracker?.recordFutureForcedDependency("clipMode",a),this.pendingClip=bZ}eoClip(a){this.dependencyTracker?.recordFutureForcedDependency("clipMode",a),this.pendingClip=b$}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||h,(0===e.fontMatrix[0]||0===e.fontMatrix[3])&&u("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",g=d.systemFontInfo?.css||`"${f}", ${d.fallbackName}`,i="normal";d.black?i="900":d.bold&&(i="bold");let j=d.italic?"italic":"normal",k=c;c<16?k=16:c>100&&(k=100),this.current.fontSizeScale=c/k,this.ctx.font=`${j} ${i} ${k}px ${g}`}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)}#dn(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.#dn(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=K.inverseTransform(f),j=K.transform([a,c,d,e,0,0],i);K.singularValueDecompose2dScale(j,bP),h.lineWidth*=Math.max(bP[0],bP[1])/l,h.stroke(this.#dn(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,a2),h.strokeText(b,c,d));n&&((this.pendingTextPaths||=[]).push({transform:al(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 A(this,"isFontSubpixelAAEnabled",d)}showText(a,b){let c,d;this.dependencyTracker&&(this.dependencyTracker.recordDependencies(a,a6).resetBBox(a),4&this.current.textRenderingMode&&this.dependencyTracker.recordFutureForcedDependency("textClip",a).inheritPendingDependenciesAsFutureForcedDependencies());let e=this.current,f=e.font;if(f.isType3Font){this.showType3Text(a,b),this.dependencyTracker?.recordShowTextOperation(a);return}let g=e.fontSize;if(0===g)return void this.dependencyTracker?.recordOperation(a);let h=this.ctx,i=e.fontSizeScale,j=e.charSpacing,k=e.wordSpacing,l=e.fontDirection,m=e.textHScale*l,n=b.length,o=f.vertical,p=o?1:-1,q=f.defaultVMetrics,r=g*e.fontMatrix[0],s=0===e.textRenderingMode&&!f.disableFontFace&&!e.patternFill;h.save(),e.textMatrix&&h.transform(...e.textMatrix),h.translate(e.x,e.y+e.textRise),l>0?h.scale(m,-1):h.scale(m,1);let t=3&e.textRenderingMode,u=1===t||2===t,v=e.lineWidth,w=e.textMatrixScale;if(0===w||0===v?u&&(v=this.getSinglePixelWidth()):v/=w,1!==i&&(h.scale(i,i),v/=i),h.lineWidth=v,(0===t||2===t)&&e.patternFill){h.save();let b=e.fillColor.getPattern(h,this,am(h),bF,a);c=al(h),h.restore(),h.fillStyle=b}if(u&&e.patternStroke){h.save();let b=e.strokeColor.getPattern(h,this,am(h),bG,a);d=al(h),h.restore(),h.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(h.fillText(f,0,0),null!==this.dependencyTracker){let b=h.measureText(f);this.dependencyTracker.recordBBox(a,this.ctx,-b.actualBoundingBoxLeft,b.actualBoundingBoxRight,-b.actualBoundingBoxAscent,b.actualBoundingBoxDescent).recordShowTextOperation(a)}e.x+=d*r*m,h.restore(),this.compose();return}let x=0,y;for(y=0;y<n;++y){let e,m,n,t=b[y];if("number"==typeof t){x+=p*t*g/1e3;continue}let u=!1,v=(t.isSpace?k:0)+j,w=t.fontChar,z=t.accent,A=t.width;if(o){let a=t.vmetric||q,b=-(t.vmetric?a[1]:.5*A)*r,c=a[2]*r;A=a?-a[0]:A,e=b/i,m=(x+c)/i}else e=x/i,m=0;if(f.remeasure&&A>0){let a=1e3*(n=h.measureText(w)).width/g*i;if(A<a&&this.isFontSubpixelAAEnabled){let b=A/a;u=!0,h.save(),h.scale(b,1),e/=b}else A!==a&&(e+=(A-a)/2e3*g/i)}if(this.contentVisible&&(t.isInFont||f.missingFile)){if(s&&!z)h.fillText(w,e,m),this.dependencyTracker?.recordCharacterBBox(a,h,n?{bbox:null}:f,g/i,e,m,()=>n??h.measureText(w));else if(this.paintChar(a,w,e,m,c,d),z){let b=e+g*z.offset.x/i,f=m-g*z.offset.y/i;this.paintChar(a,z.fontChar,b,f,c,d)}}x+=o?A*r-v*l:A*r+v*l,u&&h.restore()}o?e.y-=x:e.x+=x*m,h.restore(),this.compose(),this.dependencyTracker?.recordShowTextOperation(a)}showType3Text(a,b){let c,d,e,f,g=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||h,r=b.length;if(3===i.textRenderingMode||0===k)return;this._cachedScaleForStroking[0]=-1,this._cachedGetSinglePixelWidth=null,g.save(),i.textMatrix&&g.transform(...i.textMatrix),g.translate(i.x,i.y+i.textRise),g.scale(p,l);let s=this.dependencyTracker;for(c=0,this.dependencyTracker=s?new a1(s,a):null;c<r;++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,h=j.charProcOperatorList[d.operatorListId];h?this.contentVisible&&(this.save(),g.scale(k,k),g.transform(...q),this.executeOperatorList(h),this.restore()):u(`Type3 character "${d.operatorListId}" is not available.`);let l=[d.width,0];K.applyTransform(l,q),e=l[0]*k+a,g.translate(e,0),i.x+=e*p}g.restore(),s&&(this.dependencyTracker=s)}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||al(this.ctx);c=new bN(b,this.ctx,{createCanvasGraphics:(a,b)=>new b_(a,this.commonObjs,this.objs,this.canvasFactory,this.filterFactory,{optionalContentConfig:this.optionalContentConfig,markedContentStack:this.markedContentStack},void 0,void 0,this.dependencyTracker?new a1(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 bN?[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 bK(a);case"Mesh":return new bL(a);case"Dummy":return new bM}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.ctx;this.save(a),c.fillStyle=this._getPattern(a,b).getPattern(c,this,am(c),bH,a);let d=am(c);if(d){let{width:a,height:b}=c.canvas,e=g.slice();K.axialAlignedBoundingBox([0,0,a,b],d,e);let[f,h,i,j]=e;this.ctx.fillRect(f,h,i-f,j-h)}else this.ctx.fillRect(-1e10,-1e10,2e10,2e10);this.dependencyTracker?.resetBBox(a).recordFullPageBBox(a).recordDependencies(a,a7).recordDependencies(a,a3).recordOperation(a),this.compose(this.current.getClippedPathBoundingBox()),this.restore(a)}beginInlineImage(){v("Should not call beginInlineImage")}beginImageData(){v("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=al(this.ctx),c)){K.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.isolated||t("TODO: Support non-isolated groups."),b.knockout&&u("Knockout groups not supported."),!b.needsIsolation&&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.groupLevel++;return}let f=al(e);b.matrix&&e.transform(...b.matrix);let h=[0,0,e.canvas.width,e.canvas.height];b.bbox?(c=g.slice(),K.axialAlignedBoundingBox(b.bbox,al(e),c),c=K.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;if(n.translate(-i,-j),n.transform(...f),!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()),bU(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.groupLevel++}endGroup(a,b){if(!this.contentVisible)return;this.groupLevel--;let c=this.ctx,d=this.groupStack.pop();if(null===d)return void this.restore(a);if(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()));else{this.ctx.restore();let b=al(this.ctx);this.restore(a),this.ctx.save(),this.ctx.setTransform(...b);let d=g.slice();K.axialAlignedBoundingBox([0,0,c.canvas.width,c.canvas.height],b,d),this.ctx.drawImage(c.canvas,0,0),this.ctx.restore(),this.canvasFactory.destroy({canvas:c.canvas,context:c}),this.compose(d)}}beginAnnotation(a,b,c,d,e,f){if(this.#dl(),bV(this.ctx),this.ctx.save(),this.save(a),this.baseTransform&&this.ctx.setTransform(...this.baseTransform),c){let e=c[2]-c[0],g=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]=g,K.singularValueDecompose2dScale(al(this.ctx),bP);let{viewportScale:a}=this,f=Math.ceil(e*this.outputScaleX*a),h=Math.ceil(g*this.outputScaleY*a);this.annotationCanvas=this.canvasFactory.create(f,h);let{canvas:i,context:j}=this.annotationCanvas;this.annotationCanvasMap.set(b,i),this.annotationCanvas.savedCtx=this.ctx,this.ctx=j,this.ctx.save(),this.ctx.setTransform(bP[0],0,0,-bP[1],0,g*bP[1]),bV(this.ctx)}else{bV(this.ctx),this.endPath(a);let b=new Path2D;b.rect(c[0],c[1],e,g),this.ctx.clip(b)}}this.current=new bR(this.ctx.canvas.width,this.ctx.canvas.height),this.baseTransformStack.push(this.baseTransform),this.transform(a,...d),this.transform(a,...e),this.baseTransform=al(this.ctx)}endAnnotation(a){this.annotationCanvas&&(this.ctx.restore(),this.#dm(),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.ctx,e=this._createMaskCanvas(a,b),f=e.canvas;d.save(),d.setTransform(1,0,0,1,0,0),d.drawImage(f,e.offsetX,e.offsetY),this.dependencyTracker?.resetBBox(a).recordBBox(a,this.ctx,e.offsetX,e.offsetX+f.width,e.offsetY,e.offsetY+f.height).recordOperation(a),d.restore(),e.canvasEntry&&this.canvasFactory.destroy(e.canvasEntry),this.compose()}paintImageMaskXObjectRepeat(a,b,c,d=0,e=0,f,g){if(!this.contentVisible)return;b=this.getObject(a,b.data,b);let h=this.ctx;h.save();let i=al(h);h.transform(c,d,e,f,0,0);let j=this._createMaskCanvas(a,b);h.setTransform(1,0,0,1,j.offsetX-i[4],j.offsetY-i[5]),this.dependencyTracker?.resetBBox(a);for(let b=0,k=g.length;b<k;b+=2){let k=K.transform(i,[c,d,e,f,g[b],g[b+1]]);h.drawImage(j.canvas,k[4],k[5]),this.dependencyTracker?.recordBBox(a,this.ctx,k[4],k[4]+j.canvas.width,k[5],k[5]+j.canvas.height)}h.restore(),j.canvasEntry&&this.canvasFactory.destroy(j.canvasEntry),this.compose(),this.dependencyTracker?.recordOperation(a)}paintImageMaskXObjectGroup(a,b){if(!this.contentVisible)return;let c=this.ctx,d=this.current.fillColor,e=this.current.patternFill;for(let f of(this.dependencyTracker?.resetBBox(a).recordDependencies(a,a8),b)){let{data:b,width:g,height:h,transform:i}=f,j=this.canvasFactory.create(g,h),k=j.context;k.save(),bT(k,this.getObject(a,b,f)),k.globalCompositeOperation="source-in",k.fillStyle=e?d.getPattern(k,this,am(c),bF,a):d,k.fillRect(0,0,g,h),k.restore(),c.save(),c.transform(...i),c.scale(1,-1),bQ(c,j.canvas,0,0,g,h,0,-1,1,1),this.canvasFactory.destroy(j),this.dependencyTracker?.recordBBox(a,c,0,g,0,h),c.restore()}this.compose(),this.dependencyTracker?.recordOperation(a)}paintImageXObject(a,b){if(!this.contentVisible)return;let c=this.getObject(a,b);c?this.paintInlineImageXObject(a,c):u("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 u("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.ctx;this.save(a);let{filter:g}=f;"none"!==g&&""!==g&&(f.filter="none"),f.scale(1/d,-1/e);let h=null;if(b.bitmap){let a=this.applyTransferMapsToBitmap(b);c=a.img,h=a.canvasEntry}else if("function"==typeof HTMLElement&&b instanceof HTMLElement||!b.data)c=b;else{let a=this.canvasFactory.create(d,e);bS(a.context,b),c=this.applyTransferMapsToCanvas(a.context),h=a}let i=this._scaleImage(c,am(f));f.imageSmoothingEnabled=bW(al(f),b.interpolate),this.dependencyTracker&&(this.dependencyTracker.resetBBox(a).recordBBox(a,f,0,d,-e,0).recordDependencies(a,a4).recordOperation(a),this.imagesTracker?.record(f,d,e,this.dependencyTracker.clipBox)),bQ(f,i.img,0,0,i.paintWidth,i.paintHeight,0,-e,d,e),i.tmpCanvas&&this.canvasFactory.destroy(i.tmpCanvas),h&&this.canvasFactory.destroy(h),this.compose(),this.restore(a)}paintInlineImageXObjectGroup(a,b,c){let d;if(!this.contentVisible)return;let e=this.ctx,f=null;if(b.bitmap)d=b.bitmap;else{let a=b.width,c=b.height,e=this.canvasFactory.create(a,c);bS(e.context,b),d=this.applyTransferMapsToCanvas(e.context),f=e}for(let b of(this.dependencyTracker?.resetBBox(a),c))e.save(),e.transform(...b.transform),e.scale(1,-1),bQ(e,d,b.x,b.y,b.w,b.h,0,-1,1,1),this.dependencyTracker?.recordBBox(a,e,0,1,-1,0),e.restore();f&&this.canvasFactory.destroy(f),this.dependencyTracker?.recordOperation(a),this.compose()}paintSolidColorImageMask(a){this.contentVisible&&(this.dependencyTracker?.resetBBox(a).recordBBox(a,this.ctx,0,1,0,1).recordDependencies(a,a3).recordOperation(a),this.ctx.fillRect(0,0,1,1),this.compose())}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===b$?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=al(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),bO.a=1/e,bO.d=1/f;let h=new Path2D;if(h.addPath(a,bO),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 q)void 0!==b_.prototype[a]&&(b_.prototype[q[a]]=b_.prototype[a]);class b0{#dp=null;#dq=null;_fullReader=null;_rangeReaders=new Set;_source=null;constructor(a,b,c){this._source=a,this.#dp=b,this.#dq=c}get _progressiveDataLength(){return this._fullReader?._loaded??0}getFullReader(){return w(!this._fullReader,"BasePDFStream.getFullReader can only be called once."),this._fullReader=new this.#dp(this)}getRangeReader(a,b){if(b<=this._progressiveDataLength)return null;let c=new this.#dq(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 b1{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(){v("Abstract method `read` called")}cancel(a){v("Abstract method `cancel` called")}}class b2{_stream=null;constructor(a,b,c){this._stream=a}async read(){v("Abstract method `read` called")}cancel(a){v("Abstract method `cancel` called")}}function b3(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 b4(a){return URL.parse(a)?.origin??null}function b5({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 b6(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=I(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-]*)\?([QqBb])\?((?:[^?]|\?(?!=))*)\?=/g,function(a,b,c,d){if("q"===c||"Q"===c)return e(b,d=(d=d.replaceAll("_"," ")).replaceAll(/=([0-9a-fA-F]{2})/g,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(aa(a))return a}return null}function b7(a,b){return new F(`Unexpected server response (${a}) while retrieving PDF "${b.href}".`,a,404===a||0===a&&"file:"===b.protocol)}function b8(a,b){if(a!==b)throw Error(`Expected range response-origin "${a}" to match "${b}".`)}function b9(a,b,c,d){return fetch(a,{method:"GET",headers:b,signal:d.signal,mode:"cors",credentials:c?"include":"same-origin",redirect:"follow"})}function ca(a,b){if(200!==a&&206!==a)throw b7(a,b)}function cb(a){if(a instanceof Uint8Array)return a.buffer;if(a instanceof ArrayBuffer)return a;throw Error(`getArrayBuffer - unexpected data: ${a}`)}class cc extends b0{_responseOrigin=null;constructor(a){super(a,cd,ce);const{httpHeaders:b,url:c}=a;w(/https?:/.test(c.protocol),"PDFFetchStream only supports http(s):// URLs."),this.headers=b3(!0,b)}}class cd extends b1{_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,b9(e,new Headers(a.headers),f,this._abortController).then(c=>{a._responseOrigin=b4(c.url),ca(c.status,e),this._reader=c.body.getReader();let f=c.headers,{contentLength:g,isRangeSupported:h}=b5({responseHeaders:f,isHttp:!0,rangeChunkSize:d,disableRange:b});this._contentLength=g,this._isRangeSupported=h,this._filename=b6(f),!this._isStreamingSupported&&this._isRangeSupported&&this.cancel(new H("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:cb(a),done:!1})}cancel(a){this._reader?.cancel(a),this._abortController.abort()}}class ce extends b2{_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}`),b9(d,f,e,this._abortController).then(b=>{b8(b4(b.url),a._responseOrigin),ca(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:cb(a),done:!1}}cancel(a){this._reader?.cancel(a),this._abortController.abort()}}function cf(a){return a instanceof Uint8Array&&a.byteLength===a.buffer.byteLength?a.buffer:new Uint8Array(a).buffer}function cg(){for(let a of this._requests)a.resolve({value:void 0,done:!0});this._requests.length=0}class ch extends b0{_progressiveDone=!1;_queuedChunks=[];constructor(a){super(a,ci,cj);const{pdfDataRangeTransport:b}=a,{initialData:c,progressiveDone:d}=b;if(c?.length>0){const a=cf(c);this._queuedChunks.push(a)}this._progressiveDone=d;const e=a=>{switch(a.type){case"range":case"progressiveRead":this.#dr(a.begin,a.chunk);break;case"progressiveDone":this._fullReader?.progressiveDone(),this._progressiveDone=!0}};b.transportReady(e)}#dr(a,b){let c=cf(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);w(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 ci extends b1{#ds=cg.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,aa(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.#ds()}progressiveDone(){this._done||=!0,0===this._queuedChunks.length&&this.#ds()}}class cj extends b2{#ds=cg.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.#ds()),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.#ds(),this.onDone?.()}}class ck extends b0{#dt=new WeakMap;_responseOrigin=null;constructor(a){super(a,cl,cm);const{httpHeaders:b,url:c}=a;this.url=c,this.isHttp=/https?:/.test(c.protocol),this.headers=b3(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.#dt.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",w(a.onError,"Expected `onError` callback to be provided."),b.onerror=()=>a.onError(b.status),b.onreadystatechange=this.#du.bind(this,b),b.onprogress=this.#dv.bind(this,b),b.send(null),b}#dv(a,b){let c=this.#dt.get(a);c?.onProgress?.(b)}#du(a,b){var c;let d=this.#dt.get(a);if(!d||(a.readyState>=2&&d.onHeadersReceived&&(d.onHeadersReceived(),delete d.onHeadersReceived),4!==a.readyState||!this.#dt.has(a)))return;if(this.#dt.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:I(c).buffer;if(206===e){let b=a.getResponseHeader("Content-Range");/bytes (\d+)-(\d+)\/(\d+)/.test(b)?d.onDone(f):(u('Missing or invalid "Content-Range" header.'),d.onError(0))}else f?d.onDone(f):d.onError(a.status)}_abortRequest(a){this.#dt.has(a)&&(this.#dt.delete(a),a.abort())}getRangeReader(a,b){let c=super.getRangeReader(a,b);return c&&(c.onClosed=()=>this._rangeReaders.delete(c)),c}}class cl extends b1{#ds=cg.bind(this);_cachedChunks=[];_done=!1;_requests=[];_storedError=null;constructor(a){super(a),this._fullRequestXhr=a._request({onHeadersReceived:this.#dw.bind(this),onDone:this.#dx.bind(this),onError:this.#dy.bind(this),onProgress:this.#dv.bind(this)})}#dw(){let a=this._stream,{disableRange:b,rangeChunkSize:c}=a._source,d=this._fullRequestXhr;a._responseOrigin=b4(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}=b5({responseHeaders:f,isHttp:a.isHttp,rangeChunkSize:c,disableRange:b});this._contentLength=g,this._isRangeSupported=h,this._filename=b6(f),this._isRangeSupported&&a._abortRequest(d),this._headersCapability.resolve()}#dx(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.#ds()}#dy(a){for(let b of(this._storedError=b7(a,this._stream.url),this._headersCapability.reject(this._storedError),this._requests))b.reject(this._storedError);this._requests.length=0,this._cachedChunks.length=0}#dv(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.#ds(),this._stream._abortRequest(this._fullRequestXhr),this._fullRequestXhr=null}}class cm extends b2{#ds=cg.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.#dw.bind(this),onDone:this.#dx.bind(this),onError:this.#dy.bind(this),onProgress:null})}#dw(){let a=b4(this._requestXhr?.responseURL);try{b8(a,this._stream._responseOrigin)}catch(a){this._storedError=a,this.#dy(0)}}#dx(a){this._requests.length>0?this._requests.shift().resolve({value:a,done:!1}):this._queuedChunk=a,this._done=!0,this.#ds(),this.onClosed?.()}#dy(a){for(let b of(this._storedError??=b7(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.#ds(),this._stream._abortRequest(this._requestXhr),this.onClosed?.()}}function cn(a,b=null){let c=process.getBuiltinModule("fs"),{Readable:d}=process.getBuiltinModule("stream"),e=c.createReadStream(a,b);return d.toWeb(e)}class co extends b0{constructor(a){super(a,cp,cq);const{url:b}=a;w("file:"===b.protocol,"PDFNodeStream only supports file:// URLs.")}}class cp extends b1{_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=cn(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 H("Streaming is disabled.")),this._headersCapability.resolve()}).catch(a=>{"ENOENT"===a.code&&(a=b7(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:cb(a),done:!1})}cancel(a){this._reader?.cancel(a)}}class cq extends b2{_readCapability=Promise.withResolvers();_reader=null;constructor(a,b,c){super(a,b,c);const{url:d}=a._source;try{const a=cn(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:cb(a),done:!1}}cancel(a){this._reader?.cancel(a)}}class cr{static #dz=null;static #dA="";static get workerPort(){return this.#dz}static set workerPort(a){if(!("u">typeof Worker&&a instanceof Worker)&&null!==a)throw Error("Invalid `workerPort` type.");this.#dz=a}static get workerSrc(){return this.#dA}static set workerSrc(a){if("string"!=typeof a)throw Error("Invalid `workerSrc` type.");this.#dA=a}}class cs{#dB;#dC;constructor({parsedData:a,rawData:b}){this.#dB=a,this.#dC=b}getRaw(){return this.#dC}get(a){return this.#dB.get(a)??null}[Symbol.iterator](){return this.#dB.entries()}}let ct=Symbol("INTERNAL");class cu{#dD=!1;#dE=!1;#dF=!1;#dG=!0;constructor(a,{name:b,intent:c,usage:d,rbGroups:e}){this.#dD=!!(2&a),this.#dE=!!(4&a),this.name=b,this.intent=c,this.usage=d,this.rbGroups=e}get visible(){if(this.#dF)return this.#dG;if(!this.#dG)return!1;let{print:a,view:b}=this.usage;return this.#dD?b?.viewState!=="OFF":!this.#dE||a?.printState!=="OFF"}_setVisible(a,b,c=!1){a!==ct&&v("Internal method `_setVisible` called."),this.#dF=c,this.#dG=b}}class cv{#dH=null;#dI=new Map;#dJ=null;#dK=null;constructor(a,b=2){if(this.renderingIntent=b,this.name=null,this.creator=null,null===a)return;for(const c of(this.name=a.name,this.creator=a.creator,this.#dK=a.order,a.groups))this.#dI.set(c.id,new cu(b,c));if("OFF"===a.baseState)for(const a of this.#dI.values())a._setVisible(ct,!1);for(const b of a.on)this.#dI.get(b)._setVisible(ct,!0);for(const b of a.off)this.#dI.get(b)._setVisible(ct,!1);this.#dJ=this.getHash()}#dL(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.#dL(e);else{if(!this.#dI.has(e))return u(`Optional content group not found: ${e}`),!0;b=this.#dI.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.#dI.size)return!0;if(!a)return t("Optional content group not defined."),!0;if("OCG"===a.type)return this.#dI.has(a.id)?this.#dI.get(a.id).visible:(u(`Optional content group not found: ${a.id}`),!0);if("OCMD"===a.type){if(a.expression)return this.#dL(a.expression);if(a.policy&&"AnyOn"!==a.policy){if("AllOn"===a.policy){for(let b of a.ids){if(!this.#dI.has(b)){u(`Optional content group not found: ${b}`);break}if(!this.#dI.get(b).visible)return!1}return!0}else if("AnyOff"===a.policy){for(let b of a.ids){if(!this.#dI.has(b))return u(`Optional content group not found: ${b}`),!0;if(!this.#dI.get(b).visible)return!0}return!1}else if("AllOff"===a.policy){for(let b of a.ids){if(!this.#dI.has(b)){u(`Optional content group not found: ${b}`);break}if(this.#dI.get(b).visible)return!1}return!0}}else{for(let b of a.ids){if(!this.#dI.has(b))return u(`Optional content group not found: ${b}`),!0;if(this.#dI.get(b).visible)return!0}return!1}return u(`Unknown optional content policy ${a.policy}.`),!0}return u(`Unknown group type ${a.type}.`),!0}setVisibility(a,b=!0,c=!0){let d=this.#dI.get(a);if(!d)return void u(`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.#dI.get(c)?._setVisible(ct,!1,!0);d._setVisible(ct,!!b,!0),this.#dH=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.#dI.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.#dH=null}get hasInitialVisibility(){return null===this.#dJ||this.getHash()===this.#dJ}getOrder(){return this.#dI.size?this.#dK?this.#dK.slice():[...this.#dI.keys()]:null}getGroup(a){return this.#dI.get(a)||null}getHash(){if(null!==this.#dH)return this.#dH;let a=new aQ;for(let[b,c]of this.#dI)a.update(`${b}:${c.visible}`);return this.#dH=a.hexdigest()}[Symbol.iterator](){return this.#dI.entries()}}class cw{#dM=null;#dN=null;#dO=0;#dP=null;#dQ=null;get pagesNumber(){return this.#dO}set pagesNumber(a){this.#dO!==a&&(this.#dO=a,this.#dM=null,this.#dN=null)}#dR(){if(this.#dM)return;let a=this.#dO,b=this.#dM=new Uint32Array(a);for(let c=0;c<a;c++)b[c]=c+1;this.#dN=new Int32Array(b)}#dS(){let a=new Map,b=this.#dM;for(let c=0,d=this.#dO;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.#dR();let d=this.#dM,e=this.#dS(),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.#dO,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.#dT(e),d.every((a,b)=>a===b+1)&&(this.#dM=null)}deletePages(a){this.#dR();let b=this.#dM,c=this.#dS();this.#dQ={pageNumberToId:b.slice(),pagesNumber:this.#dO,prevPageNumbers:this.#dN.slice()};let d=this.#dO-a.length;this.#dO=d;let e=this.#dM=new Uint32Array(d);this.#dN=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.#dT(c,new Set(a))}cancelDelete(){this.#dQ&&(this.#dM=this.#dQ.pageNumberToId,this.#dO=this.#dQ.pagesNumber,this.#dN=this.#dQ.prevPageNumbers,this.#dQ=null)}cleanSavedData(){this.#dQ=null}copyPages(a){this.#dR(),this.#dP={pageNumbers:a,pageIds:a.map(a=>this.#dM[a-1])}}cancelCopy(){this.#dP=null}pastePages(a){this.#dR();let b=this.#dM,c=this.#dS(),{pageNumbers:d,pageIds:e}=this.#dP,f=this.#dO+d.length;this.#dO=f;let g=this.#dM=new Uint32Array(f);this.#dN=new Int32Array(f),g.set(b.subarray(0,a),0),g.set(e,a),g.set(b.subarray(a),a+d.length),this.#dT(c,null,a,d),this.#dP=null}#dT(a,b=null,c=-1,d=null){let e=this.#dN,f=this.#dM,g=c+(d?.length??0),h=new Map;for(let i=0,j=this.#dO;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.#dM}getPageMappingForSaving(a=null){a??=this.#dS();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.#dN?.[a-1]??0}getPageNumber(a){if(!this.#dM)return a;let b=this.#dM;for(let c=0,d=this.#dO;c<d;c++)if(b[c]===a)return c+1;return 0}getPageId(a){return this.#dM?.[a-1]??a}getMapping(){return this.#dM?.subarray(0,this.pagesNumber)}}let cx=Symbol("INITIAL_DATA"),cy=()=>({...Promise.withResolvers(),data:cx});class cz{#dU=new Map;get(a,b=null){if(b){let c=this.#dU.getOrInsertComputed(a,cy);return c.promise.then(()=>b(c.data)),null}let c=this.#dU.get(a);if(!c||c.data===cx)throw Error(`Requesting object that isn't resolved yet ${a}.`);return c.data}has(a){let b=this.#dU.get(a);return!!b&&b.data!==cx}delete(a){let b=this.#dU.get(a);return!!b&&b.data!==cx&&(this.#dU.delete(a),!0)}resolve(a,b=null){let c=this.#dU.getOrInsertComputed(a,cy);if(c.data!==cx)throw Error(`Object already resolved ${a}.`);c.data=b,c.resolve()}clear(){for(let{data:a}of this.#dU.values())a?.bitmap?.close();this.#dU.clear()}*[Symbol.iterator](){for(let[a,{data:b}]of this.#dU)b!==cx&&(yield[a,b])}}class cA{#dV=Promise.withResolvers();#aB=null;#dW=!1;#dX=!!globalThis.FontInspector?.enabled;#dY=null;#dZ=null;#d$=null;#d_=0;#d0=0;#d1=null;#d2=null;#d3=0;#d4=0;#d5=Object.create(null);#d6=[];#d7=null;#d8=[];#d9=new WeakMap;#ea=null;static #eb=new Map;static #ec=new Map;static #ed=new WeakMap;static #ee=null;static #ef=new Set;constructor({textContentSource:a,images:b,container:c,viewport:d}){if(a instanceof ReadableStream)this.#d7=a;else if("object"==typeof a)this.#d7=new ReadableStream({start(b){b.enqueue(a),b.close()}});else throw Error('No "textContentSource" parameter specified.');this.#aB=this.#d2=c,this.#dY=b,this.#d4=d.scale*ao.pixelRatio,this.#d3=d.rotation,this.#d$={div:null,properties:null,ctx:null};const{pageWidth:e,pageHeight:f,pageX:g,pageY:h}=d.rawDims;this.#ea=[1,0,0,-1,-g,h+f],this.#d0=e,this.#d_=f,cA.#eg(),c.style.setProperty("--min-font-size",cA.#ee),an(c,d),this.#dV.promise.finally(()=>{cA.#ef.delete(this),this.#d$=null,this.#d5=null}).catch(()=>{})}static get fontFamilyMap(){let{isWindows:a,isFirefox:b}=J.platform;return A(this,"fontFamilyMap",new Map([["sans-serif",`${a&&b?"Calibri, ":""}sans-serif`],["monospace",`${a&&b?"Lucida Console, ":""}monospace`]]))}render(){this.#dY&&this.#aB.append(this.#dY.render());let a=()=>{this.#d1.read().then(({value:b,done:c})=>{c?this.#dV.resolve():(this.#dZ??=b.lang,Object.assign(this.#d5,b.styles),this.#eh(b.items),a())},this.#dV.reject)};return this.#d1=this.#d7.getReader(),cA.#ef.add(this),a(),this.#dV.promise}update({viewport:a,onBefore:b=null}){let c=a.scale*ao.pixelRatio,d=a.rotation;if(d!==this.#d3&&(b?.(),this.#d3=d,an(this.#d2,{rotation:d})),c!==this.#d4){b?.(),this.#d4=c;let a={div:null,properties:null,ctx:cA.#ei(this.#dZ)};for(let b of this.#d8)a.properties=this.#d9.get(b),a.div=b,this.#ej(a)}}cancel(){let a=new H("TextLayer task cancelled.");this.#d1?.cancel(a).catch(()=>{}),this.#d1=null,this.#dV.reject(a)}get textDivs(){return this.#d8}get textContentItemsStr(){return this.#d6}#eh(a){if(this.#dW)return;this.#d$.ctx??=cA.#ei(this.#dZ);let b=this.#d8,c=this.#d6;for(let d of a){if(b.length>1e5){u("Ignoring additional textDivs for performance reasons."),this.#dW=!0;return}if(void 0===d.str){if("beginMarkedContentProps"===d.type||"beginMarkedContent"===d.type){let a=this.#aB;this.#aB=document.createElement("span"),this.#aB.classList.add("markedContent"),d.id&&this.#aB.setAttribute("id",`${d.id}`),"Artifact"===d.tag&&(this.#aB.ariaHidden=!0),a.append(this.#aB)}else"endMarkedContent"===d.type&&(this.#aB=this.#aB.parentNode);continue}c.push(d.str),this.#ek(d)}}#ek(a){let b,c,d=document.createElement("span"),e={angle:0,canvasWidth:0,hasText:""!==a.str,hasEOL:a.hasEOL,fontSize:0};this.#d8.push(d);let f=K.transform(this.#ea,a.transform),g=Math.atan2(f[1],f[0]),h=this.#d5[a.fontName];h.vertical&&(g+=Math.PI/2);let i=this.#dX&&h.fontSubstitution||h.fontFamily;i=cA.fontFamilyMap.get(i)||i;let j=Math.hypot(f[2],f[3]),k=j*cA.#el(i,h,this.#dZ);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.#d0).toFixed(2)}%`,l.top=`${(100*c/this.#d_).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.#dX&&(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.#d9.set(d,e),this.#d$.div=d,this.#d$.properties=e,this.#ej(this.#d$),e.hasText&&this.#aB.append(d),e.hasEOL){let a=document.createElement("br");a.setAttribute("role","presentation"),this.#aB.append(a)}}#ej(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;cA.#em(d,g*this.#d4,a);let{width:h}=d.measureText(b.textContent);h>0&&e.setProperty("--scale-x",f*this.#d4/h)}0!==c.angle&&e.setProperty("--rotate",`${c.angle}deg`)}static cleanup(){if(!(this.#ef.size>0)){for(let{canvas:a}of(this.#eb.clear(),this.#ec.values()))a.remove();this.#ec.clear()}}static #ei(a=null){let b=this.#ec.get(a||="");if(!b){let c=document.createElement("canvas");c.className="hiddenCanvasElement",c.lang=a,document.body.append(c),b=c.getContext("2d",{alpha:!1,willReadFrequently:!0}),this.#ec.set(a,b),this.#ed.set(b,{size:0,family:""})}return b}static #em(a,b,c){let d=this.#ed.get(a);(b!==d.size||c!==d.family)&&(a.font=`${b}px ${c}`,d.size=b,d.family=c)}static #eg(){if(null!==this.#ee)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.#ee=a.getBoundingClientRect().height,a.remove()}static #el(a,b,c){let d=this.#eb.get(a);if(d)return d;let e=this.#ei(c);e.canvas.width=e.canvas.height=30,this.#em(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):(J.platform.isFirefox&&u("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.#eb.set(a,i),i}}function cB(a={}){"string"==typeof a||a instanceof URL?a={url:a}:(a instanceof ArrayBuffer||ArrayBuffer.isView(a))&&(a={data:a});let b=new cC,{docId:c}=b,d=a.url?function(a){if(a instanceof URL)return a;if("string"==typeof a){if(e)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(e&&"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 I(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 cD?a.range:null,k=Number.isInteger(a.rangeChunkSize)&&a.rangeChunkSize>0?a.rangeChunkSize:65536,l=a.worker instanceof cG?a.worker:null,m=a.verbosity,n="string"!=typeof a.docBaseUrl||_(a.docBaseUrl)?null:a.docBaseUrl,o=bl(a.cMapUrl),p=!1!==a.cMapPacked,q=bl(a.iccUrl),r=bl(a.standardFontDataUrl),t=bl(a.wasmUrl),u=!0!==a.stopAtErrors,v=Number.isInteger(a.maxImageSize)&&a.maxImageSize>-1?a.maxImageSize:-1,w="boolean"==typeof a.isOffscreenCanvasSupported?a.isOffscreenCanvasSupported:!e,x="boolean"==typeof a.isImageDecoderSupported?a.isImageDecoderSupported:!e&&(J.platform.isFirefox||!globalThis.chrome),y=Number.isInteger(a.canvasMaxAreaInBytes)?a.canvasMaxAreaInBytes:-1,z="boolean"==typeof a.disableFontFace?a.disableFontFace:e,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||(e?bA:bv),K=a.FilterFactory||(e?bz:bx),L=a.BinaryDataFactory||(e?bB:bt),M=!0===a.enableHWA,N=!0===a.enableWebGPU?bE.init():Promise.resolve(!1),O=!1!==a.useWasm,P=a.pagesMapper||new cw,Q="boolean"==typeof a.useSystemFonts?a.useSystemFonts:!e&&!z,R="boolean"==typeof a.useWorkerFetch?a.useWorkerFetch:!!(L===bt&&o&&p&&r&&t&&ae(o,document.baseURI)&&ae(r,document.baseURI)&&ae(t,document.baseURI));Number.isInteger(m)&&(s=m);let S={canvasFactory:new H({ownerDocument:C,enableHWA:M}),filterFactory:new K({docId:c,ownerDocument:C}),binaryDataFactory:R?null:new L({cMapUrl:o,standardFontDataUrl:r,wasmUrl:t})};l||(b._worker=l=cG.create({verbosity:m,port:cr.workerPort}));let T={docId:c,apiVersion:"5.7.284",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:Q,useWasm:O,useWorkerFetch:R,cMapUrl:o,cMapPacked:p,iccUrl:q,standardFontDataUrl:r,wasmUrl:t,hasGPU:!1}},U={ownerDocument:C,pdfBug:G,styleElement:null,enableHWA:M,loadingParams:{disableAutoFetch:F,enableXfa:B}};return Promise.all([l.promise,N]).then(function([,a]){let i;if(b.destroyed)throw Error("Loading aborted");if(l.destroyed)throw Error("Worker was destroyed");T.evaluatorOptions.hasGPU=a;let m=l.messageHandler.sendWithPromise("GetDocRequest",T,f?[f.buffer]:null);if(f);else if(j)i=new ch({pdfDataRangeTransport:j,disableRange:D,disableStream:E});else if(d)i=new(ae(d)?cc:e?co:ck)({url:d,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(b.destroyed)throw Error("Loading aborted");if(l.destroyed)throw Error("Worker was destroyed");let d=new br(c,a,l.port),e=new cH(d,b,i,U,S,P);b._transport=e,d.send("Ready",null)})}).catch(b._capability.reject),b}class cC{static #c2=0;_capability=Promise.withResolvers();_transport=null;_worker=null;docId=`d${cC.#c2++}`;destroyed=!1;onPassword=null;onProgress=null;get promise(){return this._capability.promise}async destroy(){this.destroyed=!0;try{this._worker?.port&&(this._worker._pendingDestroy=!0),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 cD{#dV=Promise.withResolvers();#en=null;constructor(a,b,c=!1,d=null){this.length=a,this.initialData=b,this.progressiveDone=c,this.contentDispositionFilename=d,Object.defineProperty(this,"onDataProgress",{value:()=>{console.log("Deprecated API usage: `PDFDataRangeTransport.prototype.onDataProgress` - method was removed, since loading progress is now reported automatically through the `PDFDataTransportStream` class (and related code).")}})}onDataRange(a,b){this.#en({type:"range",begin:a,chunk:b})}onDataProgressiveRead(a){this.#dV.promise.then(()=>{this.#en({type:"progressiveRead",chunk:a})})}onDataProgressiveDone(){this.#dV.promise.then(()=>{this.#en({type:"progressiveDone"})})}transportReady(a){this.#en=a,this.#dV.resolve()}requestDataRange(a,b){v("Abstract method PDFDataRangeTransport.requestDataRange")}abort(){}}class cE{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 A(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()}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)}destroy(){return this.loadingTask.destroy()}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 cF{#eo=!1;#ep=null;constructor(a,b,c,d,e=!1){this._pageIndex=a,this._pageInfo=b,this._transport=c,this._stats=e?new ad:null,this._pdfBug=e,this.commonObjs=c.commonObjs,this.objs=new cz,this._intentStates=new Map,this.destroyed=!1,this.recordedBBoxes=null,this.#ep=d,this.imageCoordinates=null}clone(a){let b=new cF(a,this._pageInfo,this._transport,this.#ep,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 Z({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 A(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.#eo=!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.#eo=!0),this.#eq(),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 a0(A,v));let B=new cJ({callback:y,params:{canvas:b,canvasContext:a,dependencyTracker:z??A,imagesTracker:x?new a9(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.#ep.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=>U.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.#eo=!1,Promise.all(a)}cleanup(a=!1){this.#eo=!0;let b=this.#eq();return a&&b&&(this._stats&&=new ad),b}#eq(){if(!this.#eo||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.#eo=!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.#eq()}_pumpOperatorList({renderingIntent:a,cacheKey:b,annotationStorageSerializable:c,modifiedIds:d}){let{map:e,transfer:f}=c,g=this._transport.messageHandler.sendWithStream("GetOperatorList",{pageId:this.#ep.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.#eq()}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 $){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 H(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 cG{#dV=Promise.withResolvers();#er=null;#dz=null;#es=null;static #et=0;static #eu=!1;static #ev=new WeakMap;static{e&&(this.#eu=!0,cr.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=s}={}){if(this.name=a,this.destroyed=!1,this.verbosity=c,b){if(cG.#ev.has(b))throw Error("Cannot use more than one PDFWorker per port.");cG.#ev.set(b,this),this.#ew(b)}else this.#ex()}get promise(){return this.#dV.promise}#ey(){this.#dV.resolve(),this.#er.send("configure",{verbosity:this.verbosity})}get port(){return this.#dz}get messageHandler(){return this.#er}#ew(a){this.#dz=a,this.#er=new br("main","worker",a),this.#er.on("ready",()=>{}),this.#ey()}#ex(){if(cG.#eu||cG.#ez)return void this.#eA();let{workerSrc:a}=cG;try{cG._isSameOrigin(window.location,a)||(a=cG._createCDNWrapper(new URL(a,window.location).href));let b=new Worker(a,{type:"module"}),c=new br("main","worker",b),d=()=>{e.abort(),c.destroy(),b.terminate(),this.destroyed?this.#dV.reject(Error("Worker was destroyed")):this.#eA()},e=new AbortController;b.addEventListener("error",()=>{this.#es||d()},{signal:e.signal}),c.on("test",a=>{(e.abort(),this.destroyed||!a)?d():(this.#er=c,this.#dz=b,this.#es=b,this.#ey())}),c.on("ready",a=>{if(e.abort(),this.destroyed)return void d();try{f()}catch{this.#eA()}});let f=()=>{let a=new Uint8Array;c.send("test",a,[a.buffer])};f();return}catch{t("The worker has been disabled.")}this.#eA()}#eA(){cG.#eu||(u("Setting up fake worker."),cG.#eu=!0),cG._setupFakeWorkerGlobal.then(a=>{if(this.destroyed)return void this.#dV.reject(Error("Worker was destroyed"));let b=new bo;this.#dz=b;let c=`fake${cG.#et++}`,d=new br(c+"_worker",c,b);a.setup(d,b),this.#er=new br(c,c+"_worker",b),this.#ey()}).catch(a=>{this.#dV.reject(Error(`Setting up fake worker failed: "${a.message}".`))})}destroy(){this.destroyed=!0,this.#es?.terminate(),this.#es=null,cG.#ev.delete(this.#dz),this.#dz=null,this.#er?.destroy(),this.#er=null}static create(a){let b=this.#ev.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 cG(a)}static get workerSrc(){if(cr.workerSrc)return cr.workerSrc;throw Error('No "GlobalWorkerOptions.workerSrc" specified.')}static get #ez(){try{return globalThis.pdfjsWorker?.WorkerMessageHandler||null}catch{return null}}static get _setupFakeWorkerGlobal(){return A(this,"_setupFakeWorkerGlobal",(async()=>this.#ez?this.#ez:(await import(this.workerSrc)).WorkerMessageHandler)())}}class cH{downloadInfoCapability=Promise.withResolvers();#eB=null;#eC=new Map;#eD=null;#eE=new Map;#eF=new Map;#eG=new Map;#eH=null;constructor(a,b,c,d,e,f){this.messageHandler=a,this.loadingTask=b,this.#eD=c,this.commonObjs=new cz,this.fontLoader=new ba({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.#eE.set(b,a),this.#eF.set(b,Promise.resolve(a))}#eI(a,b=null){return this.#eC.getOrInsertComputed(a,()=>this.messageHandler.sendWithPromise(a,b))}#dv({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 A(this,"annotationStorage",new aS)}getRenderingIntent(a,b=i.ENABLE,c=null,d=!1,e=!1){let f=2,g=aR;switch(a){case"any":f=1;break;case"display":break;case"print":f=4;break;default:u(`getRenderingIntent - invalid intent: ${a}`)}let h=4&f&&c instanceof aT?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:u(`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.#eH?.reject(Error("Worker was destroyed during onPassword callback"));let a=[];for(let b of this.#eE.values())a.push(b._destroy());this.#eE.clear(),this.#eF.clear(),this.#eG.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.#eC.clear(),this.filterFactory.destroy(),cA.cleanup(),this.#eD?.cancelAllRequests(new H("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)=>{w(this.#eD,"GetReader - no `BasePDFStream` instance available."),this.#eB=this.#eD.getFullReader(),this.#eB.onProgress=a=>this.#dv(a),b.onPull=()=>{this.#eB.read().then(function({value:a,done:c}){c?b.close():(w(a instanceof ArrayBuffer,"GetReader - expected an ArrayBuffer."),b.enqueue(new Uint8Array(a),1,[a]))}).catch(a=>{b.error(a)})},b.onCancel=a=>{this.#eB.cancel(a),b.ready.catch(a=>{if(!this.destroyed)throw a})}}),a.on("ReaderHeadersReady",async a=>{await this.#eB.headersReady;let{isStreamingSupported:b,isRangeSupported:c,contentLength:d}=this.#eB;return b&&c&&(this.#eB.onProgress=null),{isStreamingSupported:b,isRangeSupported:c,contentLength:d}}),a.on("GetRangeReader",(a,b)=>{w(this.#eD,"GetRangeReader - no `BasePDFStream` instance available.");let c=this.#eD.getRangeReader(a.begin,a.end);c?(b.onPull=()=>{c.read().then(function({value:a,done:c}){c?b.close():(w(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 cE(a,this))}),a.on("DocException",a=>{b._capability.reject(bq(a))}),a.on("PasswordRequest",a=>{this.#eH=Promise.withResolvers();try{if(!b.onPassword)throw bq(a);let c=a=>{a instanceof Error?this.#eH.reject(a):this.#eH.resolve({password:a})};b.onPassword(c,a.code)}catch(a){this.#eH.reject(a)}return this.#eH.promise}),a.on("DataLoaded",a=>{this.#dv({loaded:a.length,total:a.length}),this.downloadInfoCapability.resolve(a)}),a.on("StartRenderPage",a=>{this.destroyed||this.#eE.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;u(`Error during font loading: ${a}`),this.commonObjs.resolve(b,a);break}let e=new bb(new bi(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(w(f,"The imageRef must be defined."),this.#eE.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 bk(d));break;case"Image":this.commonObjs.resolve(b,d);break;case"Pattern":let g=new bj(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.#eE.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.#dv(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&&u("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.#eB?.filename??null},b).finally(()=>{this.annotationStorage.resetModified()})}extractPages(a){let b,c={pageInfos:a};if(this.annotationStorage.size>0){let{map:a,transfer:d}=this.annotationStorage.serializable;c.annotationStorage=a,b=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.#eF.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.#eG.set(a.refStr,c);let d=new cF(b,a,this,this.pagesMapper,this._params.pdfBug);return this.#eE.set(b,d),d});return this.#eF.set(b,e),e}async getPageIndex(a){if(!bm(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.#eI("GetFieldObjects")}hasJSActions(){return this.#eI("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)}getAnnotationsByType(a,b){return this.messageHandler.sendWithPromise("GetAnnotationsByType",{types:a,pageIndexesToSkip:b})}getDocJSActions(){return this.#eI("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.#eI("GetOptionalContentConfig").then(b=>new cv(b,a))}getPermissions(){return this.messageHandler.sendWithPromise("GetPermissions",null)}getMetadata(){let a="GetMetadata";return this.#eC.getOrInsertComputed(a,()=>this.messageHandler.sendWithPromise(a,null).then(a=>({info:a[0],metadata:a[1]?new cs(a[1]):null,contentDispositionFilename:this.#eB?.filename??null,contentLength:this.#eB?.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.#eE.values()))if(!a.cleanup())throw Error(`startCleanup: Page ${a.pageNumber} is currently rendering.`);this.commonObjs.clear(),a||this.fontLoader.clear(),this.#eC.clear(),this.filterFactory.destroy(!0),cA.cleanup()}}cachedPageNumber(a){if(!bm(a))return null;let b=0===a.gen?`${a.num}R`:`${a.num}R${a.gen}`,c=this.#eG.get(b);if(c>=0){let a=this.pagesMapper.getPageNumber(c+1);if(0!==a)return a}return null}}class cI{_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 cJ{#eJ=null;static #eK=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 cI(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(cJ.#eK.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.");cJ.#eK.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 b_(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.#eJ&&(window.cancelAnimationFrame(this.#eJ),this.#eJ=null),cJ.#eK.delete(this._canvas),a||=new $(`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.#eJ=window.requestAnimationFrame(()=>{this.#eJ=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(),cJ.#eK.delete(this._canvas),this.callback())))}}let cK="5.7.284",cL="7e5b36c2d";class cM{#eL=null;#eM=null;#eN;#eO=null;#eP=!1;#eQ=!1;#g=null;#eR;#eS=null;#s=null;static #eT=null;static get _keyboardManager(){return A(this,"_keyboardManager",new aI([[["Escape","mac+Escape"],cM.prototype._hideDropdownFromKeyboard],[[" ","mac+ "],cM.prototype._colorSelectFromKeyboard],[["ArrowDown","ArrowRight","mac+ArrowDown","mac+ArrowRight"],cM.prototype._moveToNext],[["ArrowUp","ArrowLeft","mac+ArrowUp","mac+ArrowLeft"],cM.prototype._moveToPrevious],[["Home","mac+Home"],cM.prototype._moveToBeginning],[["End","mac+End"],cM.prototype._moveToEnd]]))}constructor({editor:a=null,uiManager:b=null}){a?(this.#eQ=!1,this.#g=a):this.#eQ=!0,this.#s=a?._uiManager||b,this.#eR=this.#s._eventBus,this.#eN=a?.color?.toUpperCase()||this.#s?.highlightColors.values().next().value||"#FFFF98",cM.#eT||=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.#eL=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.#eU.bind(this),{signal:b}),a.addEventListener("keydown",this.#eV.bind(this),{signal:b});let c=this.#eM=document.createElement("span");return c.className="swatch",c.ariaHidden="true",c.style.backgroundColor=this.#eN,a.append(c),a}renderMainDropdown(){let a=this.#eO=this.#eW();return a.ariaOrientation="horizontal",a.ariaLabelledBy="highlightColorPickerLabel",a}#eW(){let a=document.createElement("div"),b=this.#s._signal;for(let[c,d]of(a.addEventListener("contextmenu",af,{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",cM.#eT[c]);let f=document.createElement("span");e.append(f),f.className="swatch",f.style.backgroundColor=d,e.ariaSelected=d===this.#eN,e.addEventListener("click",this.#eX.bind(this,d),{signal:b}),a.append(e)}return a.addEventListener("keydown",this.#eV.bind(this),{signal:b}),a}#eX(a,b){b.stopPropagation(),this.#eR.dispatch("switchannotationeditorparams",{source:this,type:l.HIGHLIGHT_COLOR,value:a}),this.updateColor(a)}_colorSelectFromKeyboard(a){if(a.target===this.#eL)return void this.#eU(a);let b=a.target.getAttribute("data-color");b&&this.#eX(b,a)}_moveToNext(a){this.#eY?a.target===this.#eL?this.#eO.firstElementChild?.focus():a.target.nextSibling?.focus():this.#eU(a)}_moveToPrevious(a){if(a.target===this.#eO?.firstElementChild||a.target===this.#eL){this.#eY&&this._hideDropdownFromKeyboard();return}this.#eY||this.#eU(a),a.target.previousSibling?.focus()}_moveToBeginning(a){this.#eY?this.#eO.firstElementChild?.focus():this.#eU(a)}_moveToEnd(a){this.#eY?this.#eO.lastElementChild?.focus():this.#eU(a)}#eV(a){cM._keyboardManager.exec(this,a)}#eU(a){if(this.#eY)return void this.hideDropdown();if(this.#eP=0===a.detail,this.#eS||(this.#eS=new AbortController,window.addEventListener("pointerdown",this.#n.bind(this),{signal:this.#s.combinedSignal(this.#eS)})),this.#eL.ariaExpanded="true",this.#eO)return void this.#eO.classList.remove("hidden");let b=this.#eO=this.#eW();this.#eL.append(b)}#n(a){this.#eO?.contains(a.target)||this.hideDropdown()}hideDropdown(){this.#eO?.classList.add("hidden"),this.#eL.ariaExpanded="false",this.#eS?.abort(),this.#eS=null}get #eY(){return this.#eO&&!this.#eO.classList.contains("hidden")}_hideDropdownFromKeyboard(){if(!this.#eQ){if(!this.#eY)return void this.#g?.unselect();this.hideDropdown(),this.#eL.focus({preventScroll:!0,focusVisible:this.#eP})}}updateColor(a){if(this.#eM&&(this.#eM.style.backgroundColor=a),!this.#eO)return;let b=this.#s.highlightColors.values();for(let c of this.#eO.children)c.ariaSelected=b.next().value===a.toUpperCase()}destroy(){this.#eL?.remove(),this.#eL=null,this.#eM=null,this.#eO?.remove(),this.#eO=null}}class cN{#eZ=null;#e$=!1;#g=null;#s=null;static #eT=null;constructor(a){this.#g=a,this.#s=a._uiManager,cN.#eT||=Object.freeze({freetext:"pdfjs-editor-color-picker-free-text-input",ink:"pdfjs-editor-color-picker-ink-input"})}renderButton(){if(this.#eZ)return this.#eZ;let{editorType:a,colorType:b,colorAndOpacityType:c,opacityType:d,color:e,opacity:f}=this.#g,g=this.#e$=J.isAlphaColorInputSupported&&void 0!==d,h=this.#eZ=document.createElement("input");return h.type="color",g?(h.setAttribute("alpha",""),h.value=(e||"#000000")+K.hexNums[Math.round((f??1)*255)]):h.value=e||"#000000",h.className="basicColorPicker",h.tabIndex=0,h.setAttribute("data-l10n-id",cN.#eT[a]),h.addEventListener("input",()=>{if(g){let a=aj(h.value);if(!a)return;let[e,f,g,i]=a,j=K.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.#eZ)if(this.#e$){let b=K.hexNums[Math.round(255*this.#g.opacity)];this.#eZ.value=a+b}else this.#eZ.value=a}updateOpacity(a){if(!this.#eZ||!this.#e$)return;let b=K.hexNums[Math.round(255*a)];this.#eZ.value=this.#g.color+b}destroy(){this.#eZ?.remove(),this.#eZ=null}hideDropdown(){}}function cO(a){return Math.floor(255*T(a,0,1)).toString(16).padStart(2,"0")}function cP(a){return 255*T(a,0,1)}class cQ{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=cP(a),a,a]}static G_HTML([a]){let b=cO(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(cP)}static RGB_HTML(a){return`#${a.map(cO).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[cP(1-Math.min(1,a+d)),cP(1-Math.min(1,c+d)),cP(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 cR{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){v("Abstract method `_createSVG` called.")}}class cS extends cR{_createSVG(a){return document.createElementNS(W,a)}}let cT=new WeakSet,cU=60*new Date().getTimezoneOffset()*1e3;class cV{static create(a){switch(a.data.annotationType){case o.LINK:return new cY(a);case o.TEXT:return new cZ(a);case o.WIDGET:switch(a.data.fieldType){case"Tx":return new c_(a);case"Btn":if(a.data.radioButton)return new c2(a);if(a.data.checkBox)return new c1(a);return new c3(a);case"Ch":return new c4(a);case"Sig":return new c0(a)}return new c$(a);case o.POPUP:return new c5(a);case o.FREETEXT:return new c7(a);case o.LINE:return new c8(a);case o.SQUARE:return new c9(a);case o.CIRCLE:return new da(a);case o.POLYLINE:return new db(a);case o.CARET:return new dd(a);case o.INK:return new de(a);case o.POLYGON:return new dc(a);case o.HIGHLIGHT:return new df(a);case o.UNDERLINE:return new dg(a);case o.SQUIGGLY:return new dh(a);case o.STRIKEOUT:return new di(a);case o.STAMP:return new dj(a);case o.FILEATTACHMENT:return new dk(a);default:return new cW(a)}}}class cW{#e_=null;#e0=!1;#e1=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 cW._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(`${j}${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(`${j}${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.#e1?.popup||this.popup)?.remove(),this.#e1=this.popup=null}updateEdited(a){if(!this.container)return;a.rect&&(this.#e_||={rect:this.data.rect.slice(0)});let{rect:b,popup:c}=a;b&&this.#e2(b);let d=this.#e1?.popup||this.popup;!d&&c?.text&&(this._createPopup(c),d=this.#e1.popup),d&&(d.updateEdited(a),c?.deleted&&(d.remove(),this.#e1=null,this.popup=null))}resetEdited(){this.#e_&&(this.#e2(this.#e_.rect),this.#e1?.popup.resetEdited(),this.#e_=null)}#e2(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 c$||this instanceof cY||(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 c5){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))`:this instanceof c2&&(f.borderRadius=`calc(${g}px * var(--total-scale-factor)) / calc(${h}px * var(--total-scale-factor))`),b.borderStyle.style){case 1:f.borderStyle="solid";break;case 2:f.borderStyle="dashed";break;case 3:u("Unimplemented border style: beveled");break;case 4:u("Unimplemented border style: inset");break;case 5:f.borderBottomStyle="solid"}let d=b.borderColor||null;d?(this.#e0=!0,f.borderColor=K.makeHexColor(...d)):f.borderWidth=0}let i=K.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]=cQ[`${e}_HTML`](f),this.annotationStorage.setValue(this.data.id,{[b]:cQ[`${e}_rgb`](f)})};return A(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.#e0){let{borderColor:b,borderWidth:c}=g;g.borderWidth=0,a=["url('data:image/svg+xml;utf8,",'<svg xmlns="http://www.w3.org/2000/svg"',' preserveAspectRatio="none" viewBox="0 0 1 1">',`<g fill="transparent" stroke="${b}" stroke-width="${c}">`],this.container.classList.add("hasBorder")}let h=e-c,i=f-d,{svgFactory:j}=this,k=j.createElement("svg");k.classList.add("quadrilateralsContainer"),k.setAttribute("width",0),k.setAttribute("height",0),k.role="none";let l=j.createElement("defs");k.append(l);let m=j.createElement("clipPath"),n=`clippath_${this.data.id}`;m.setAttribute("id",n),m.setAttribute("clipPathUnits","objectBoundingBox"),l.append(m);for(let d=2,e=b.length;d<e;d+=8){let e=b[d],g=b[d+1],k=b[d+2],l=b[d+3],n=j.createElement("rect"),o=(k-c)/h,p=(f-g)/i,q=(e-k)/h,r=(g-l)/i;n.setAttribute("x",o),n.setAttribute("y",p),n.setAttribute("width",q),n.setAttribute("height",r),m.append(n),a?.push(`<rect vector-effect="non-scaling-stroke" x="${o}" y="${p}" width="${q}" height="${r}"/>`)}this.#e0&&(a.push("</g></svg>')"),g.backgroundImage=a.join("")),this.container.append(k),this.container.style.clipPath=`url(#${n})`}_createPopup(a=null){let b,c,{data:d}=this;a?(b={str:a.text},c=a.date):(b=d.contentsObj,c=d.modificationDate),this.#e1=new c5({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.#e1||this.popup||this.data.popupRef)}get extraPopupElement(){return this.#e1}render(){v("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&&!cT.has(g)){u(`_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&&cT.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})})}get width(){return this.data.rect[2]-this.data.rect[0]}get height(){return this.data.rect[3]-this.data.rect[1]}}class cX extends cW{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 cY extends cW{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.#e3(c,a.attachment,a.overlaidText,a.attachmentDest),d=!0):a.setOCGState?(this.#e4(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}#e5(){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.#e5(),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.#e5()}#e3(a,b,c="",d=null){a.href=this.linkService.getAnchorUrl(""),b.description?a.title=b.description:c&&(a.title=c),a.onclick=()=>(this.downloadManager?.openOrDownloadData(b.content,b.filename,d),!1),this.#e5()}#e4(a,b,c=""){a.href=this.linkService.getAnchorUrl(""),a.onclick=()=>(this.linkService.executeSetOCGState(b),!1),c&&(a.title=c),this.#e5()}_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.#e5()}_bindResetFormAction(a,b){let c=a.onclick;if(c||(a.href=this.linkService.getAnchorUrl("")),this.#e5(),!this._fieldObjects){u('_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(!cT.has(c)){u(`_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 cZ extends cW{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 c$ extends cW{render(){return this.container}showElementAndHideCanvas(a){this.data.hasOwnCanvas&&(a.previousSibling?.nodeName==="CANVAS"&&(a.previousSibling.hidden=!0),a.hidden=!1)}_getKeyModifier(a){return J.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))}_setBackgroundColor(a){let b=this.data.backgroundColor||null;a.style.backgroundColor=null===b?"transparent":K.makeHexColor(...b)}_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=K.makeHexColor(...c),null!==this.data.textAlignment&&(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 c_ extends c${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&&(c.hidden=!0),cT.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-cU).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.showElementAndHideCanvas(c.target),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.letterSpacing=`calc(${a}px * var(--total-scale-factor) - 1ch)`}}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 c0 extends c${constructor(a){super(a,{isRenderable:!!a.data.hasOwnCanvas})}}class c1 extends c${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 cT.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._setBackgroundColor(e),this._setDefaultPropertiesFromJS(e),this.container.append(e),this.container}}class c2 extends c${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: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(cT.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._setBackgroundColor(e),this._setDefaultPropertiesFromJS(e),this.container.append(e),this.container}}class c3 extends cY{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 c4 extends c${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");cT.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 c5 extends cW{constructor(a){const{data:b,elements:c,parent:d}=a,e=!!d._commentManager;if(super(a,{isRenderable:!e&&cW._hasPopupData(b)}),this.elements=c,e&&cW._hasPopupData(b)){const a=this.popup=this.#e6();for(const b of c)b.popup=a}else this.popup=null}#e6(){return new c6({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.#e6(),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=>`${P}${a}`).join(",")),this.container}}class c6{#T=null;#e7=this.#eV.bind(this);#e8=this.#e9.bind(this);#fa=this.#fb.bind(this);#fc=this.#fd.bind(this);#fe=null;#aB=null;#ff=null;#fg=null;#fh=null;#fi=null;#fj=null;#fk=!1;#fl=null;#fm=null;#H=null;#fn=null;#fo=null;#bk=null;#fp=null;#bg=null;#fq=null;#e_=null;#fr=!1;#fs=null;#ft=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.#aB=a,this.#fq=d,this.#ff=f,this.#bg=g,this.#fi=h,this.#fe=b,this.#fp=i,this.#fj=j,this.#fh=c,this.#T=l,this.#fs=c[0],this.#fg=ah.toDateObject(e),this.trigger=c.flatMap(a=>a.getElementsToTriggerPopup()),!l&&(this.#fu(),this.#aB.hidden=!0,k&&this.#fd())}#fu(){if(this.#fm)return;this.#fm=new AbortController;let{signal:a}=this.#fm;for(let b of this.trigger)b.addEventListener("click",this.#fc,{signal:a}),b.addEventListener("pointerenter",this.#fa,{signal:a}),b.addEventListener("pointerleave",this.#e8,{signal:a}),b.classList.add("popupTriggerArea");for(let b of this.#fh)b.container?.addEventListener("keydown",this.#e7,{signal:a})}#fv(){let a=this.#fh.find(a=>a.hasCommentButton);a&&(this.#fo=a._normalizePoint(a.commentButtonPosition))}renderCommentButton(){if(this.#fn){this.#fn.parentNode||this.#fs.container.after(this.#fn);return}if(this.#fo||this.#fv(),!this.#fo)return;let{signal:a}=this.#fm=new AbortController,b=this.#fs.hasOwnCommentButton,c=()=>{this.#T.toggleCommentPopup(this,!0,void 0,!b)},d=()=>{this.#T.toggleCommentPopup(this,!1,!0,!b)},e=()=>{this.#T.toggleCommentPopup(this,!1,!1)};if(b)for(let b of(this.#fn=this.#fs.container,this.trigger))b.ariaHasPopup="dialog",b.ariaControls="commentPopup",b.addEventListener("keydown",this.#e7,{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.#fn=document.createElement("button");b.className="annotationCommentButton";let f=this.#fs.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.#fw(),this.#fx(),b.addEventListener("keydown",this.#e7,{signal:a}),b.addEventListener("click",c,{signal:a}),b.addEventListener("pointerenter",d,{signal:a}),b.addEventListener("pointerleave",e,{signal:a}),f.after(b)}}#fx(){if(this.#fs.extraPopupElement&&!this.#fs.editor)return;this.#fn||this.renderCommentButton();let[a,b]=this.#fo,{style:c}=this.#fn;c.left=`calc(${a}%)`,c.top=`calc(${b}% - var(--comment-button-dim))`}#fw(){this.#fs.extraPopupElement||(this.#fn||this.renderCommentButton(),this.#fn.style.backgroundColor=this.commentButtonColor||"")}get commentButtonColor(){let{color:a,opacity:b}=this.#fs.commentData;return a?this.#fi._commentManager.makeCommentColor(a,b):null}focusCommentButton(){setTimeout(()=>{this.#fn?.focus()},0)}getData(){let{richText:a,color:b,opacity:c,creationDate:d,modificationDate:e}=this.#fs.commentData;return{contentsObj:{str:this.comment},richText:a,color:b,opacity:c,creationDate:d,modificationDate:e}}get elementBeforePopup(){return this.#fn}get comment(){return this.#ft||=this.#fs.commentText,this.#ft}set comment(a){a!==this.comment&&(this.#fs.commentText=this.#ft=a)}focus(){this.#fs.container?.focus()}get parentBoundingClientRect(){return this.#fs.layer.getBoundingClientRect()}setCommentButtonStates({selected:a,hasPopup:b}){this.#fn&&(this.#fn.classList.toggle("selected",a),this.#fn.ariaExpanded=b)}setSelectedCommentButton(a){this.#fn.classList.toggle("selected",a)}get commentPopupPosition(){if(this.#bk)return this.#bk;let{x:a,y:b,height:c}=this.#fn.getBoundingClientRect(),{x:d,y:e,width:f,height:g}=this.#fs.layer.getBoundingClientRect();return[(a-d)/f,(b+c-e)/g]}set commentPopupPosition(a){this.#bk=a}hasDefaultPopupPosition(){return null===this.#bk}get commentButtonPosition(){return this.#fo}get commentButtonWidth(){return this.#fn.getBoundingClientRect().width/this.parentBoundingClientRect.width}editComment(a){let[b,c]=this.#bk||this.commentButtonPosition.map(a=>a/100),d=this.parentBoundingClientRect,{x:e,y:f,width:g,height:h}=d;this.#T.showDialog(null,this,e+b*g,f+c*h,{...a,parentDimensions:d})}render(){if(this.#fl)return;let a=this.#fl=document.createElement("div");if(a.className="popup",this.#fe){let b=a.style.outlineColor=K.makeHexColor(...this.#fe);a.style.backgroundColor=`color-mix(in srgb, ${b} 30%, white)`}let b=document.createElement("span");if(b.className="header",this.#fq?.str){let a=document.createElement("span");a.className="title",b.append(a),{dir:a.dir,str:a.textContent}=this.#fq}if(a.append(b),this.#fg){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.#fg.valueOf()})),a.dateTime=this.#fg.toISOString(),b.append(a)}az({html:this.#fy||this.#ff.str,dir:this.#ff?.dir,className:"popupContent"},a),this.#aB.append(a)}get #fy(){let a=this.#bg,b=this.#ff;return a?.str&&(!b?.str||b.str===a.str)&&this.#bg.html||null}get #fz(){return this.#fy?.attributes?.style?.fontSize||0}get #fA(){return this.#fy?.attributes?.style?.color||null}#fB(a){let b=[],c={style:{color:this.#fA,fontSize:this.#fz?`calc(${this.#fz}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}]}}}#eV(a){a.altKey||a.shiftKey||a.ctrlKey||a.metaKey||("Enter"===a.key||"Escape"===a.key&&this.#fk)&&this.#fd()}updateEdited({rect:a,popup:b,deleted:c}){if(this.#T){c?(this.remove(),this.#ft=null):b&&(b.deleted?this.remove():(this.#fw(),this.#ft=b.text)),a&&(this.#fo=null,this.#fv(),this.#fx());return}c||b?.deleted?this.remove():(this.#fu(),this.#e_||={contentsObj:this.#ff,richText:this.#bg},a&&(this.#H=null),b&&b.text&&(this.#bg=this.#fB(b.text),this.#fg=ah.toDateObject(b.date),this.#ff=null),this.#fl?.remove(),this.#fl=null)}resetEdited(){this.#e_&&({contentsObj:this.#ff,richText:this.#bg}=this.#e_,this.#e_=null,this.#fl?.remove(),this.#fl=null,this.#H=null)}remove(){if(this.#fm?.abort(),this.#fm=null,this.#fl?.remove(),this.#fl=null,this.#fr=!1,this.#fk=!1,this.#fn?.remove(),this.#fn=null,this.trigger)for(let a of this.trigger)a.classList.remove("popupTriggerArea")}#fC(){if(null!==this.#H)return;let{page:{view:a},viewport:{rawDims:{pageWidth:b,pageHeight:c,pageX:d,pageY:e}}}=this.#fi,f=!!this.#fj,g=f?this.#fj:this.#fp;for(let a of this.#fh)if(!g||null!==K.intersect(a.data.rect,g)){g=a.data.rect,f=!0;break}let h=K.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.#aB;l.left=`${this.#H[0]}%`,l.top=`${this.#H[1]}%`}#fd(){this.#T?this.#T.toggleCommentPopup(this,!1):(this.#fk=!this.#fk,this.#fk?(this.#fb(),this.#aB.addEventListener("click",this.#fc),this.#aB.addEventListener("keydown",this.#e7)):(this.#e9(),this.#aB.removeEventListener("click",this.#fc),this.#aB.removeEventListener("keydown",this.#e7)))}#fb(){this.#fl||this.render(),this.isVisible?this.#fk&&this.#aB.classList.add("focused"):(this.#fC(),this.#aB.hidden=!1,this.#aB.style.zIndex=parseInt(this.#aB.style.zIndex,10)+1e3)}#e9(){this.#aB.classList.remove("focused"),!this.#fk&&this.isVisible&&(this.#aB.hidden=!0,this.#aB.style.zIndex=parseInt(this.#aB.style.zIndex,10)-1e3)}forceHide(){this.#fr=this.isVisible,this.#fr&&(this.#aB.hidden=!0)}maybeShow(){this.#T||(this.#fu(),this.#fr&&(this.#fl||this.#fb(),this.#fr=!1,this.#aB.hidden=!1))}get isVisible(){return!this.#T&&!1===this.#aB.hidden}}class c7 extends cW{constructor(a){super(a,{isRenderable:!0,ignoreBorder:!0}),this.textContent=a.data.textContent,this.textPosition=a.data.textPosition,this.annotationEditorType=k.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 c8 extends cW{#fD=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.#fD=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.#fD}addHighlightArea(){this.container.classList.add("highlightArea")}}class c9 extends cW{#fE=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.#fE=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.#fE}addHighlightArea(){this.container.classList.add("highlightArea")}}class da extends cW{#fF=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.#fF=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.#fF}addHighlightArea(){this.container.classList.add("highlightArea")}}class db extends cW{#fG=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.#fG=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.#fG}addHighlightArea(){this.container.classList.add("highlightArea")}}class dc extends db{constructor(a){super(a),this.containerClassName="polygonAnnotation",this.svgElementName="svg:polygon"}}class dd extends cW{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 de extends cW{#fH=null;#fI=[];constructor(a){super(a,{isRenderable:!0,ignoreBorder:!0}),this.containerClassName="inkAnnotation",this.svgElementName="svg:polyline",this.annotationEditorType="InkHighlight"===this.data.it?k.HIGHLIGHT:k.INK}#fJ(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.#fJ(b,a),i=this.svgFactory.create(g,h,!0),j=this.#fH=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.#fI.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.#fH;if(b>=0&&e.setAttribute("stroke-width",b||1),c)for(let a=0,b=this.#fI.length;a<b;a++)this.#fI[a].setAttribute("points",c[a].join(","));if(d){let{transform:a,width:b,height:c}=this.#fJ(this.data.rotation,d);e.parentElement.setAttribute("viewBox",`0 0 ${b} ${c}`),e.setAttribute("transform",a)}}getElementsToTriggerPopup(){return this.#fI}addHighlightArea(){this.container.classList.add("highlightArea")}}class df extends cW{constructor(a){super(a,{isRenderable:!0,ignoreBorder:!0,createQuadrilaterals:!0}),this.annotationEditorType=k.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 dg extends cW{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 dh extends cW{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 di extends cW{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 dj extends cW{constructor(a){super(a,{isRenderable:!0,ignoreBorder:!0}),this.annotationEditorType=k.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 dk extends cW{#fK=null;constructor(a){super(a,{isRenderable:!0});const{file:b}=this.data;this.filename=b.filename,this.content=b.content,this.linkService.eventBus?.dispatch("fileattachmentannotation",{source:this,...b})}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.#fL.bind(this)),this.#fK=a;let{isMac:d}=J.platform;return b.addEventListener("keydown",a=>{"Enter"===a.key&&(d?a.metaKey:a.ctrlKey)&&this.#fL()}),!c.popupRef&&this.hasPopupData?(this.hasOwnCommentButton=!0,this._createPopup()):a.classList.add("popupTriggerArea"),b.append(a),b}getElementsToTriggerPopup(){return this.#fK}addHighlightArea(){this.container.classList.add("highlightArea")}#fL(){this.downloadManager?.openOrDownloadData(this.content,this.filename)}}class dl{#fM=null;#fN=null;#Q=null;#fO=new Map;#fP=null;#fQ=null;#fh=[];#fR=!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.#fM=b,this.#fN=c,this.#fP=g||null,this.#fQ=i||null,this.#Q=j||new aS,this.page=e,this.viewport=f,this._annotationEditorUIManager=d,this._commentManager=h||null}hasEditableAnnotations(){return this.#fO.size>0}async render(a){let{annotations:b}=a,c=this.div;an(c,this.viewport);let d=new Map,e=[],f={data:null,layer:c,linkService:this.#fQ,downloadManager:a.downloadManager,imageResourcesPath:a.imageResourcesPath||"",renderForms:!1!==a.renderForms,svgFactory:new cS,annotationStorage:this.#Q,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===o.POPUP;if(b){let b=d.get(a.id);if(!b)continue;if(!this._commentManager){e.push(a);continue}f.elements=b}else if(a.rect[2]===a.rect[0]||a.rect[3]===a.rect[1])continue;f.data=a;let c=cV.create(f);if(!c.isRenderable)continue;!b&&(this.#fh.push(c),a.popupRef&&d.getOrInsertComputed(a.popupRef,Q).push(c));let g=c.render();a.hidden&&(g.style.visibility="hidden"),c._isEditable&&(this.#fO.set(c.data.id,c),this._annotationEditorUIManager?.renderAnnotationElement(c))}for(let a of(await this.#fS(),e)){let b=f.elements=d.get(a.id);f.data=a;let c=cV.create(f);if(!c.isRenderable)continue;let e=c.render();c.contentElement.id=`${P}${a.id}`,a.hidden&&(e.style.visibility="hidden"),b.at(-1).container.after(e)}this.#fT()}async #fS(){if(0===this.#fh.length)return;this.div.replaceChildren();let a=[];if(!this.#fR)for(let{contentElement:b,data:{id:c}}of(this.#fR=!0,this.#fh)){let d=b.id=`${P}${c}`;a.push(this.#fP?.getAriaAttributes(d).then(a=>{if(a)for(let[c,d]of a)b.setAttribute(c,d)}))}this.#fh.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.#fh)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.#fM)for(let a of this.#fh)this.#fM.addPointerInTextLayer(a.contentElement,!1)}async addLinkAnnotations(a){let b={data:null,layer:this.div,linkService:this.#fQ,svgFactory:new cS,parent:this};for(let c of a){c.borderStyle||=dl._defaultBorderStyle,b.data=c;let a=cV.create(b);a.isRenderable&&(a.render(),a.contentElement.id=`${P}${c.id}`,this.#fh.push(a))}await this.#fS()}update({viewport:a}){let b=this.div;this.viewport=a,an(b,{rotation:a.rotation}),this.#fT(),b.hidden=!1}#fT(){if(!this.#fN)return;let a=this.div;for(let[b,c]of this.#fN){let d=a.querySelector(`[data-annotation-id="${b}"]`);if(!d)continue;c.className="annotationContent";let{firstChild:e}=d;e?"CANVAS"===e.nodeName?e.replaceWith(c):e.classList.contains("annotationContent")?e.after(c):e.before(c):d.append(c);let f=this.#fO.get(b);f&&(f._hasNoCanvas?(this._annotationEditorUIManager?.setMissingCanvas(b,d.id,c),f._hasNoCanvas=!1):f.canvas=c)}this.#fN.clear()}getEditableAnnotations(){return this.#fO.values()}getEditableAnnotation(a){return this.#fO.get(a)}addFakeAnnotation(a){let{div:b}=this,{id:c,rotation:d}=a,e=new cX({data:{id:c,rect:a.getPDFRect(),rotation:d},editor:a,layer:b,parent:this,enableComment:!!this._commentManager,linkService:this.#fQ,annotationStorage:this.#Q});return e.render(),e.contentElement.id=`${P}${c}`,e.createOrUpdatePopup(),this.#fh.push(e),e}removeAnnotation(a){let b=this.#fh.findIndex(b=>b.data.id===a);if(b<0)return;let[c]=this.#fh.splice(b,1);this.#fM?.removePointerInTextLayer(c.contentElement)}updateFakeAnnotations(a){if(0!==a.length){for(let b of a)b.updateFakeAnnotationElement(this);this.#fS()}}togglePointerEvents(a=!1){this.div.classList.toggle("disabled",!a)}static get _defaultBorderStyle(){return A(this,"_defaultBorderStyle",Object.freeze({width:1,rawWidth:1,style:1,dashArray:[3],horizontalCornerRadius:0,verticalCornerRadius:0}))}}let dm=/\r\n?|\n/g;class dn extends aO{#fU="";#fV=`${this.id}-editor`;#fW=null;#fz;_colorPicker=null;static _freeTextDefaultContent="";static _internalPadding=0;static _defaultColor=null;static _defaultFontSize=10;static get _keyboardManager(){let a=dn.prototype,b=a=>a.isEmpty(),c=aK.TRANSLATE_SMALL,d=aK.TRANSLATE_BIG;return A(this,"_keyboardManager",new aI([[["ctrl+s","mac+meta+s","ctrl+p","mac+meta+p"],a.commitOrRemove,{bubbles:!0}],[["ctrl+Enter","mac+meta+Enter","Escape","mac+Escape"],a.commitOrRemove],[["ArrowLeft","mac+ArrowLeft"],a._translateEmpty,{args:[-c,0],checker:b}],[["ctrl+ArrowLeft","mac+shift+ArrowLeft"],a._translateEmpty,{args:[-d,0],checker:b}],[["ArrowRight","mac+ArrowRight"],a._translateEmpty,{args:[c,0],checker:b}],[["ctrl+ArrowRight","mac+shift+ArrowRight"],a._translateEmpty,{args:[d,0],checker:b}],[["ArrowUp","mac+ArrowUp"],a._translateEmpty,{args:[0,-c],checker:b}],[["ctrl+ArrowUp","mac+shift+ArrowUp"],a._translateEmpty,{args:[0,-d],checker:b}],[["ArrowDown","mac+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=k.FREETEXT;constructor(a){super({...a,name:"freeTextEditor"}),this.color=a.color||dn._defaultColor||aO._defaultLineColor,this.#fz=a.fontSize||dn._defaultFontSize,this.annotationElementId||this._uiManager.a11yAlert("pdfjs-editor-freetext-added-alert"),this.canAddComment=!1}static initialize(a,b){aO.initialize(a,b);let c=getComputedStyle(document.documentElement);this._internalPadding=parseFloat(c.getPropertyValue("--freetext-padding"))}static updateDefaultParams(a,b){switch(a){case l.FREETEXT_SIZE:dn._defaultFontSize=b;break;case l.FREETEXT_COLOR:dn._defaultColor=b}}updateParams(a,b){switch(a){case l.FREETEXT_SIZE:this.#fX(b);break;case l.FREETEXT_COLOR:this.#fw(b)}}static get defaultPropertiesToUpdate(){return[[l.FREETEXT_SIZE,dn._defaultFontSize],[l.FREETEXT_COLOR,dn._defaultColor||aO._defaultLineColor]]}get propertiesToUpdate(){return[[l.FREETEXT_SIZE,this.#fz],[l.FREETEXT_COLOR,this.color]]}get toolbarButtons(){return this._colorPicker||=new cN(this),[["colorPicker",this._colorPicker]]}get colorType(){return l.FREETEXT_COLOR}#fX(a){let b=a=>{this.editorDiv.style.fontSize=`calc(${a}px * var(--total-scale-factor))`,this.translate(0,-(a-this.#fz)*this.parentScale),this.#fz=a,this.#fY()},c=this.#fz;this.addCommands({cmd:b.bind(this,a),undo:b.bind(this,c),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:l.FREETEXT_SIZE,overwriteIfSameType:!0,keepUndo:!0})}onUpdatedColor(){this.editorDiv.style.color=this.color,this._colorPicker?.update(this.color),super.onUpdatedColor()}#fw(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:l.FREETEXT_COLOR,overwriteIfSameType:!0,keepUndo:!0})}_translateEmpty(a,b){this._uiManager.translateSelectedEditors(a,b,!0)}getInitialTranslation(){let a=this.parentScale;return[-dn._internalPadding*a,-(dn._internalPadding+this.#fz)*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.#fW=new AbortController;let a=this._uiManager.combinedSignal(this.#fW);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.#fV),this._isDraggable=!0,this.#fW?.abort(),this.#fW=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()}#fZ(){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(dn.#f$(c)),b=c);return a.join("\n")}#fY(){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.#fU,b=this.#fU=this.#fZ().trimEnd();if(a===b)return;let c=a=>{(this.#fU=a,a)?(this.#f_(),this._uiManager.rebuild(this),this.#fY()):this.remove()};this.addCommands({cmd:()=>{c(b)},undo:()=>{c(a)},mustExec:!1}),this.#fY()}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){dn._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.#fV),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.#fz}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.#f_(),this._isDraggable=!0,this.editorDiv.contentEditable=!1}else this._isDraggable=!1,this.editorDiv.contentEditable=!0;return this.div}static #f$(a){return(a.nodeType===Node.TEXT_NODE?a.nodeValue:a.innerText).replaceAll(dm,"")}editorDivPaste(a){let b=a.clipboardData||window.clipboardData,{types:c}=b;if(1===c.length&&"text/plain"===c[0])return;a.preventDefault();let d=dn.#f0(b.getData("text")||"").replaceAll(dm,"\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(dm,"")),a!==this.editorDiv){let b=i;for(let c of this.editorDiv.childNodes){if(c===a){b=j;continue}b.push(dn.#f$(c))}}i.push(g.nodeValue.slice(0,h).replaceAll(dm,""))}else if(g===this.editorDiv){let a=i,b=0;for(let c of this.editorDiv.childNodes)b++===h&&(a=j),a.push(dn.#f$(c))}this.#fU=`${i.join("\n")}${d}${j.join("\n")}`,this.#f_();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)}#f_(){if(this.editorDiv.replaceChildren(),this.#fU)for(let a of this.#fU.split("\n")){let b=document.createElement("div");b.append(a?document.createTextNode(a):document.createElement("br")),this.editorDiv.append(b)}}#f1(){return this.#fU.replaceAll("\xa0"," ")}static #f0(a){return a.replaceAll(" ","\xa0")}get contentDiv(){return this.editorDiv}getPDFRect(){let a=dn._internalPadding*this.parentScale;return this.getRect(a,a)}static async deserialize(a,b,c){let d=null;if(a instanceof c7){let{data:{defaultAppearanceData:{fontSize:b,fontColor:c},rect:e,rotation:f,id:g,popupRef:h,richText:i,contentsObj:j,creationDate:l,modificationDate:m},textContent:n,textPosition:o,parent:{page:{pageNumber:p}}}=a;if(!n||0===n.length)return null;d=a={annotationType:k.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:l,modificationDate:m}}let e=await super.deserialize(a,b,c);return e.#fz=a.fontSize,e.color=K.makeHexColor(...a.color),e.#fU=dn.#f0(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=aO._colorManager.convert(this.isAttachedToDOM?getComputedStyle(this.editorDiv).color:this.color),c=Object.assign(super.serialize(a),{color:b,fontSize:this.#fz,value:this.#f1()});return(this.addComment(c),a)?(c.isCopy=!0,c):this.annotationElementId&&!this.#f2(c)?null:(c.id=this.annotationElementId,c)}#f2(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.#fz}px * var(--total-scale-factor))`,c.color=this.color,b.replaceChildren(),this.#fU.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.#fU}}),b}resetAnnotationElement(a){super.resetAnnotationElement(a),a.resetEdited()}}class dp{static PRECISION=1e-4;toSVGPath(){v("Abstract method `toSVGPath` must be implemented.")}get box(){v("Abstract getter `box` must be implemented.")}serialize(a,b){v("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 _normalizePagePoint(a,b,c){switch(c){case 90:return[1-b,a];case 180:return[1-a,1-b];case 270:return[b,1-a];default:return[a,b]}}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 dq{#f3;#f4=[];#f5;#f6;#f7=[];#f8=new Float32Array(18);#f9;#ga;#gb;#gc;#gd;#ge;#gf=[];static #gg=8;static #gh=2;static #gi=dq.#gg+dq.#gh;constructor({x:a,y:b},c,d,e,f,g=0){this.#f3=c,this.#ge=e*d,this.#f6=f,this.#f8.set([NaN,NaN,NaN,NaN,a,b],6),this.#f5=g,this.#gc=dq.#gg*d,this.#gb=dq.#gi*d,this.#gd=d,this.#gf.push(a,b)}isEmpty(){return isNaN(this.#f8[8])}#gj(){let a=this.#f8.subarray(4,6),b=this.#f8.subarray(16,18),[c,d,e,f]=this.#f3;return[(this.#f9+(a[0]-b[0])/2-c)/e,(this.#ga+(a[1]-b[1])/2-d)/f,(this.#f9+(b[0]-a[0])/2-c)/e,(this.#ga+(b[1]-a[1])/2-d)/f]}add({x:a,y:b}){this.#f9=a,this.#ga=b;let[c,d,e,f]=this.#f3,[g,h,i,j]=this.#f8.subarray(8,12),k=a-i,l=b-j,m=Math.hypot(k,l);if(m<this.#gb)return!1;let n=m-this.#gc,o=n/m,p=o*k,q=o*l,r=g,s=h;g=i,h=j,i+=p,j+=q,this.#gf?.push(a,b);let t=-q/n*this.#ge,u=p/n*this.#ge;return(this.#f8.set(this.#f8.subarray(2,8),0),this.#f8.set([i+t,j+u],4),this.#f8.set(this.#f8.subarray(14,18),12),this.#f8.set([i-t,j-u],16),isNaN(this.#f8[6]))?(0===this.#f7.length&&(this.#f8.set([g+t,h+u],2),this.#f7.push(NaN,NaN,NaN,NaN,(g+t-c)/e,(h+u-d)/f),this.#f8.set([g-t,h-u],14),this.#f4.push(NaN,NaN,NaN,NaN,(g-t-c)/e,(h-u-d)/f)),this.#f8.set([r,s,g,h,i,j],6),!this.isEmpty()):((this.#f8.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.#f8.subarray(2,6),this.#f7.push(NaN,NaN,NaN,NaN,((g+i)/2-c)/e,((h+j)/2-d)/f),[g,h,r,s]=this.#f8.subarray(14,18),this.#f4.push(NaN,NaN,NaN,NaN,((r+g)/2-c)/e,((s+h)/2-d)/f)):([r,s,g,h,i,j]=this.#f8.subarray(0,6),this.#f7.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.#f8.subarray(12,18),this.#f4.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.#f7,b=this.#f4;if(isNaN(this.#f8[6])&&!this.isEmpty())return this.#gk();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.#gl(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.#gm(c),c.join(" ")}#gk(){let[a,b,c,d]=this.#f3,[e,f,g,h]=this.#gj();return`M${(this.#f8[2]-a)/c} ${(this.#f8[3]-b)/d} L${(this.#f8[4]-a)/c} ${(this.#f8[5]-b)/d} L${e} ${f} L${g} ${h} L${(this.#f8[16]-a)/c} ${(this.#f8[17]-b)/d} L${(this.#f8[14]-a)/c} ${(this.#f8[15]-b)/d} Z`}#gm(a){let b=this.#f4;a.push(`L${b[4]} ${b[5]} Z`)}#gl(a){let[b,c,d,e]=this.#f3,f=this.#f8.subarray(4,6),g=this.#f8.subarray(16,18),[h,i,j,k]=this.#gj();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 dr(a,b,c,d,e,f)}getOutlines(){let a=this.#f7,b=this.#f4,c=this.#f8,[d,e,f,g]=this.#f3,h=new Float32Array((this.#gf?.length??0)+2);for(let a=0,b=h.length-2;a<b;a+=2)h[a]=(this.#gf[a]-d)/f,h[a+1]=(this.#gf[a+1]-e)/g;if(h[h.length-2]=(this.#f9-d)/f,h[h.length-1]=(this.#ga-e)/g,isNaN(c[6])&&!this.isEmpty())return this.#gn(h);let i=new Float32Array(this.#f7.length+24+this.#f4.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.#go(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.#gp(i,j),this.newFreeDrawOutline(i,h,this.#f3,this.#gd,this.#f5,this.#f6)}#gn(a){let b=this.#f8,[c,d,e,f]=this.#f3,[g,h,i,j]=this.#gj(),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.#f3,this.#gd,this.#f5,this.#f6)}#gp(a,b){let c=this.#f4;return a.set([NaN,NaN,NaN,NaN,c[4],c[5]],b),b+=6}#go(a,b){let c=this.#f8.subarray(4,6),d=this.#f8.subarray(16,18),[e,f,g,h]=this.#f3,[i,j,k,l]=this.#gj();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 dr extends dp{#f3;#gq=new Float32Array(4);#f5;#f6;#gf;#gd;#gr;constructor(a,b,c,d,e,f){super(),this.#gr=a,this.#gf=b,this.#f3=c,this.#gd=d,this.#f5=e,this.#f6=f,this.firstPoint=[NaN,NaN],this.lastPoint=[NaN,NaN],this.#gs(f);const[g,h,i,j]=this.#gq;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.#gr[4]} ${this.#gr[5]}`];for(let b=6,c=this.#gr.length;b<c;b+=6){if(isNaN(this.#gr[b])){a.push(`L${this.#gr[b+4]} ${this.#gr[b+5]}`);continue}a.push(`C${this.#gr[b]} ${this.#gr[b+1]} ${this.#gr[b+2]} ${this.#gr[b+3]} ${this.#gr[b+4]} ${this.#gr[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=dp._rescale(this.#gr,a,d,h,-i),g=dp._rescale(this.#gf,a,d,h,-i);break;case 90:f=dp._rescaleAndSwap(this.#gr,a,b,h,i),g=dp._rescaleAndSwap(this.#gf,a,b,h,i);break;case 180:f=dp._rescale(this.#gr,c,b,-h,i),g=dp._rescale(this.#gf,c,b,-h,i);break;case 270:f=dp._rescaleAndSwap(this.#gr,c,d,-h,-i),g=dp._rescaleAndSwap(this.#gf,c,d,-h,-i)}return{outline:Array.from(f),points:[Array.from(g)]}}#gs(a){let b=this.#gr,c=b[4],d=b[5],e=[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])?(K.pointBoundingBox(m,n,e),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(f,0),K.bezierBoundingBox(c,d,...b.slice(a,a+6),l),K.rectBoundingBox(...l,e),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.#gq;m[0]=e[0]-this.#f5,m[1]=e[1]-this.#f5,m[2]=e[2]-e[0]+2*this.#f5,m[3]=e[3]-e[1]+2*this.#f5,this.firstPoint=[g,h],this.lastPoint=[i,j]}get box(){return this.#gq}newOutliner(a,b,c,d,e,f=0){return new dq(a,b,c,d,e,f)}getNewOutline(a,b){let[c,d,e,f]=this.#gq,[g,h,i,j]=this.#f3,k=e*i,l=f*j,m=c*i+g,n=d*j+h,o=this.newOutliner({x:this.#gf[0]*k+m,y:this.#gf[1]*l+n},this.#f3,this.#gd,a,this.#f6,b??this.#f5);for(let a=2;a<this.#gf.length;a+=2)o.add({x:this.#gf[a]*k+m,y:this.#gf[a+1]*l+n});return o.getOutlines()}}class ds{#f3;#gt;#gu;#gv=[];#gw=[];constructor(a,b=0,c=0,d=!0){const e=f.slice();for(const{x:c,y:d,width:f,height:g}of a){const a=1e-4*Math.floor((c-b)/1e-4),h=1e-4*Math.ceil((c+f+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.#gv.push(k,l),K.rectBoundingBox(a,i,h,j,e)}const g=e[2]-e[0]+2*c,h=e[3]-e[1]+2*c,i=e[0]-c,j=e[1]-c;let k=d?-1/0:1/0,l=1/0;const m=this.#gv.at(d?-1:-2),n=[m[0],m[2]];for(const a of this.#gv){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.#f3=new Float32Array([i,j,g,h]),this.#gt=[k,l],this.#gu=n}getOutlines(){this.#gv.sort((a,b)=>a[0]-b[0]||a[1]-b[1]||a[2]-b[2]);let a=[];for(let b of this.#gv)b[3]?(a.push(...this.#gx(b)),this.#gy(b)):(this.#gz(b),a.push(...this.#gx(b)));return this.#gA(a)}#gA(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 dt(e,this.#f3,this.#gt,this.#gu)}#gB(a){let b=this.#gw,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}#gy([,a,b]){let c=this.#gB(a);this.#gw.splice(c,0,[a,b])}#gz([,a,b]){let c=this.#gB(a);for(let d=c;d<this.#gw.length;d++){let[c,e]=this.#gw[d];if(c!==a)break;if(c===a&&e===b)return void this.#gw.splice(d,1)}for(let d=c-1;d>=0;d--){let[c,e]=this.#gw[d];if(c!==a)break;if(c===a&&e===b)return void this.#gw.splice(d,1)}}#gx(a){let[b,c,d]=a,e=[[b,c,d]],f=this.#gB(d);for(let a=0;a<f;a++){let[c,d]=this.#gw[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 dt extends dp{#f3;#gC;constructor(a,b,c,d){super(),this.#gC=a,this.#f3=b,this.firstPoint=c,this.lastPoint=d}toSVGPath(){let a=[];for(let b of this.#gC){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.#gC){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.#f3}get classNamesForOutlining(){return["highlightOutline"]}}class du extends dq{newFreeDrawOutline(a,b,c,d,e,f){return new dv(a,b,c,d,e,f)}}class dv extends dr{newOutliner(a,b,c,d,e,f=0){return new du(a,b,c,d,e,f)}}class dw extends aO{#gD=null;#gE=0;#gF;#gG=null;#f=null;#gH=null;#gI=null;#gJ=0;#gK=null;#gL=null;#A=null;#gM=!1;#gt=null;#gu=null;#gN=null;#bh="";#ge;#gO="";static _defaultColor=null;static _defaultOpacity=1;static _defaultThickness=12;static _type="highlight";static _editorType=k.HIGHLIGHT;static _freeHighlightId=-1;static _freeHighlight=null;static _freeHighlightClipId="";static get _keyboardManager(){let a=dw.prototype;return A(this,"_keyboardManager",new aI([[["ArrowLeft","mac+ArrowLeft"],a._moveCaret,{args:[0]}],[["ArrowRight","mac+ArrowRight"],a._moveCaret,{args:[1]}],[["ArrowUp","mac+ArrowUp"],a._moveCaret,{args:[2]}],[["ArrowDown","mac+ArrowDown"],a._moveCaret,{args:[3]}]]))}constructor(a){super({...a,name:"highlightEditor"}),this.color=a.color||dw._defaultColor,this.#ge=a.thickness||dw._defaultThickness,this.opacity=a.opacity||dw._defaultOpacity,this.#gF=a.boxes||null,this.#gO=a.methodOfCreation||"",this.#bh=a.text||"",this._isDraggable=!1,this.defaultL10nId="pdfjs-editor-highlight-editor",a.highlightId>-1?(this.#gM=!0,this.#gP(a),this.#gQ()):this.#gF&&(this.#gD=a.anchorNode,this.#gE=a.anchorOffset,this.#gI=a.focusNode,this.#gJ=a.focusOffset,this.#gR(),this.#gQ(),this.rotate(this.rotation)),this.annotationElementId||this._uiManager.a11yAlert("pdfjs-editor-highlight-added-alert")}get telemetryInitialData(){return{action:"added",type:this.#gM?"free_highlight":"highlight",color:this._uiManager.getNonHCMColorName(this.color),thickness:this.#ge,methodOfCreation:this.#gO}}get telemetryFinalData(){return{type:"highlight",color:this._uiManager.getNonHCMColorName(this.color)}}static computeTelemetryFinalData(a){return{numberOfColors:a.get("color").size}}#gR(){let a=new ds(this.#gF,.001);this.#gL=a.getOutlines(),[this.x,this.y,this.width,this.height]=this.#gL.box;let b=new ds(this.#gF,.0025,.001,"ltr"===this._uiManager.direction);this.#gH=b.getOutlines();let{firstPoint:c}=this.#gL;this.#gt=[(c[0]-this.x)/this.width,(c[1]-this.y)/this.height];let{lastPoint:d}=this.#gH;this.#gu=[(d[0]-this.x)/this.width,(d[1]-this.y)/this.height]}#gP({highlightOutlines:a,highlightId:b,clipPathId:c}){if(this.#gL=a,this.#gH=a.getNewOutline(this.#ge/2+1.5,.0025),b>=0)this.#A=b,this.#gG=c,this.parent.drawLayer.finalizeDraw(b,{bbox:a.box,path:{d:a.toSVGPath()}}),this.#gN=this.parent.drawLayer.drawOutline({rootClass:{highlightOutline:!0,free:!0},bbox:this.#gH.box,path:{d:this.#gH.toSVGPath()}},!0);else if(this.parent){let b=this.parent.viewport.rotation;this.parent.drawLayer.updateProperties(this.#A,{bbox:dw.#gS(this.#gL.box,(b-this.rotation+360)%360),path:{d:a.toSVGPath()}}),this.parent.drawLayer.updateProperties(this.#gN,{bbox:dw.#gS(this.#gH.box,b),path:{d:this.#gH.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.#gt=[(h[0]-d)/f,(h[1]-e)/g];let{lastPoint:i}=this.#gH;this.#gu=[(i[0]-d)/f,(i[1]-e)/g]}static initialize(a,b){aO.initialize(a,b),dw._defaultColor||=b.highlightColors?.values().next().value||"#fff066"}static updateDefaultParams(a,b){switch(a){case l.HIGHLIGHT_COLOR:dw._defaultColor=b;break;case l.HIGHLIGHT_THICKNESS:dw._defaultThickness=b}}translateInPage(a,b){}get toolbarPosition(){return this.#gu}get commentButtonPosition(){return this.#gt}updateParams(a,b){switch(a){case l.HIGHLIGHT_COLOR:this.#fw(b);break;case l.HIGHLIGHT_THICKNESS:this.#gT(b)}}static get defaultPropertiesToUpdate(){return[[l.HIGHLIGHT_COLOR,dw._defaultColor],[l.HIGHLIGHT_THICKNESS,dw._defaultThickness]]}get propertiesToUpdate(){return[[l.HIGHLIGHT_COLOR,this.color||dw._defaultColor],[l.HIGHLIGHT_THICKNESS,this.#ge||dw._defaultThickness],[l.HIGHLIGHT_FREE,this.#gM]]}onUpdatedColor(){this.parent?.drawLayer.updateProperties(this.#A,{root:{fill:this.color,"fill-opacity":this.opacity}}),this.#f?.updateColor(this.color),super.onUpdatedColor()}#fw(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,dw._defaultOpacity),undo:b.bind(this,c,d),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:l.HIGHLIGHT_COLOR,overwriteIfSameType:!0,keepUndo:!0}),this._reportTelemetry({action:"color_changed",color:this._uiManager.getNonHCMColorName(a)},!0)}#gT(a){let b=this.#ge,c=a=>{this.#ge=a,this.#gU(a)};this.addCommands({cmd:c.bind(this,a),undo:c.bind(this,b),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:l.INK_THICKNESS,overwriteIfSameType:!0,keepUndo:!0}),this._reportTelemetry({action:"thickness_changed",thickness:a},!0)}get toolbarButtons(){return this._uiManager.highlightColors?[["colorPicker",this.#f=new cM({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.#gV())}getBaseTranslation(){return[0,0]}getRect(a,b){return super.getRect(a,b,this.#gV())}onceAdded(a){this.annotationElementId||this.parent.addUndoableEditor(this),a&&this.div.focus()}remove(){this.#gW(),this._reportTelemetry({action:"deleted"}),super.remove()}rebuild(){!this.parent||(super.rebuild(),null!==this.div&&(this.#gQ(),this.isAttachedToDOM||this.parent.add(this)))}setParent(a){let b=!1;this.parent&&!a?this.#gW():a&&(this.#gQ(a),b=!this.parent&&this.div?.classList.contains("selectedEditor")),super.setParent(a),this.show(this._isVisible),b&&this.select()}#gU(a){this.#gM&&(this.#gP({highlightOutlines:this.#gL.getNewOutline(a/2)}),this.fixAndSetPosition(),this.setDims())}#gW(){null!==this.#A&&this.parent&&(this.parent.drawLayer.remove(this.#A),this.#A=null,this.parent.drawLayer.remove(this.#gN),this.#gN=null)}#gQ(a=this.parent){null===this.#A&&({id:this.#A,clipPathId:this.#gG}=a.drawLayer.draw({bbox:this.#gL.box,root:{viewBox:"0 0 1 1",fill:this.color,"fill-opacity":this.opacity},rootClass:{highlight:!0,free:this.#gM},path:{d:this.#gL.toSVGPath()}},!1,!0),this.#gN=a.drawLayer.drawOutline({rootClass:{highlightOutline:!0,free:this.#gM},bbox:this.#gH.box,path:{d:this.#gH.toSVGPath()}},this.#gM),this.#gK&&(this.#gK.style.clipPath=this.#gG))}static #gS([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.#gM?(a=(a-this.rotation+360)%360,b=dw.#gS(this.#gL.box,a)):b=dw.#gS([this.x,this.y,this.width,this.height],a),c.updateProperties(this.#A,{bbox:b,root:{"data-main-rotation":a}}),c.updateProperties(this.#gN,{bbox:dw.#gS(this.#gH.box,a),root:{"data-main-rotation":a}})}render(){if(this.div)return this.div;let a=super.render();this.#bh&&(a.setAttribute("aria-label",this.#bh),a.setAttribute("role","mark")),this.#gM?a.classList.add("free"):this.div.addEventListener("keydown",this.#gX.bind(this),{signal:this._uiManager._signal});let b=this.#gK=document.createElement("div");return a.append(b),b.setAttribute("aria-hidden","true"),b.className="internal",b.style.clipPath=this.#gG,this.setDims(),aD(this,this.#gK,["pointerover","pointerleave"]),this.enableEditing(),a}pointerover(){this.isSelected||this.parent?.drawLayer.updateProperties(this.#gN,{rootClass:{hovered:!0}})}pointerleave(){this.isSelected||this.parent?.drawLayer.updateProperties(this.#gN,{rootClass:{hovered:!1}})}#gX(a){dw._keyboardManager.exec(this,a)}_moveCaret(a){switch(this.parent.unselect(this),a){case 0:case 2:this.#gY(!0);break;case 1:case 3:this.#gY(!1)}}#gY(a){if(!this.#gD)return;let b=window.getSelection();a?b.setPosition(this.#gD,this.#gE):b.setPosition(this.#gI,this.#gJ)}select(){super.select(),this.#gN&&this.parent?.drawLayer.updateProperties(this.#gN,{rootClass:{hovered:!1,selected:!0}})}unselect(){super.unselect(),this.#gN&&(this.parent?.drawLayer.updateProperties(this.#gN,{rootClass:{selected:!1}}),this.#gM||this.#gY(!1))}get _mustFixPosition(){return!this.#gM}show(a=this._isVisible){super.show(a),this.parent&&(this.parent.drawLayer.updateProperties(this.#A,{rootClass:{hidden:!a}}),this.parent.drawLayer.updateProperties(this.#gN,{rootClass:{hidden:!a}}))}#gV(){return this.#gM?this.rotation:0}#gZ(){if(this.#gM)return null;let[a,b]=this.pageDimensions,[c,d]=this.pageTranslation,e=this.#gF,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}#g$(a){return this.#gL.serialize(a,this.#gV())}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.#g_(a,b)};window.addEventListener("blur",l,{signal:k}),window.addEventListener("pointerup",l,{signal:k}),window.addEventListener("pointerdown",ag,{capture:!0,passive:!1,signal:k}),window.addEventListener("contextmenu",af,{signal:k}),c.addEventListener("pointermove",this.#g0.bind(this,a),{signal:k}),this._freeHighlight=new du({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 #g0(a,b){this._freeHighlight.add(b)&&a.drawLayer.updateProperties(this._freeHighlightId,{path:{d:this._freeHighlight.toSVGPath()}})}static #g_(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 df){let{data:{quadPoints:b,rect:c,rotation:e,id:f,color:g,opacity:h,popupRef:i,richText:j,contentsObj:l,creationDate:m,modificationDate:n},parent:{page:{pageNumber:o}}}=a;d=a={annotationType:k.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:l?.str||null,creationDate:m,modificationDate:n}}else if(a instanceof de){let{data:{inkLists:b,rect:c,rotation:e,id:f,color:g,borderStyle:{rawWidth:h},popupRef:i,richText:j,contentsObj:l,creationDate:m,modificationDate:n},parent:{page:{pageNumber:o}}}=a;d=a={annotationType:k.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:l?.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=K.makeHexColor(...e),j.opacity=i||1,g&&(j.#ge=a.thickness),j._initialData=d,a.comment&&j.setCommentData(a);let[l,m]=j.pageDimensions,[n,o]=j.pageTranslation;if(f){let a=j.#gF=[];for(let b=0;b<f.length;b+=8)a.push({x:(f[b]-n)/l,y:1-(f[b+1]-o)/m,width:(f[b+2]-f[b])/l,height:(f[b+1]-f[b+5])/m});j.#gR(),j.#gQ(),j.rotate(j.rotation)}else if(g||h){j.#gM=!0;let a=(g||h.points)[0],c={x:a[0]-n,y:m-(a[1]-o)},d=new du(c,[0,0,l,m],1,j.#ge/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.#gP({highlightOutlines:d.getOutlines(),highlightId:e,clipPathId:f}),j.#gQ(),j.rotate(j.parentRotation)}return j}serialize(a=!1){if(this.isEmpty()||a)return null;if(this.deleted)return this.serializeDeleted();let b=aO._colorManager.convert(this._uiManager.getNonHCMColor(this.color)),c=super.serialize(a);return(Object.assign(c,{color:b,opacity:this.opacity,thickness:this.#ge,quadPoints:this.#gZ(),outlines:this.#g$(c.rect)}),this.addComment(c),this.annotationElementId&&!this.#f2(c))?null:(c.id=this.annotationElementId,c)}#f2(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 dx{#g1=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.#g1[a]=b}toSVGProperties(){let a=this.#g1;return this.#g1=Object.create(null),{root:a}}reset(){this.#g1=Object.create(null)}updateAll(a=this){this.updateProperties(a)}clone(){v("Not implemented")}}class dy extends aO{#g2=null;#g3;_colorPicker=null;_drawId=null;static _currentDrawId=-1;static _currentParent=null;static #g4=null;static #g5=null;static #g6=null;static _INNER_MARGIN=3;constructor(a){super(a),this.#g3=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.#g7(a),this.#gQ())}#g7({drawOutlines:a,drawId:b,drawingOptions:c}){this.#g2=a,this._drawingOptions||=c,this.annotationElementId||this._uiManager.a11yAlert(`pdfjs-editor-${this.editorType}-added-alert`),b>=0?(this._drawId=b,this.parent.drawLayer.finalizeDraw(b,a.defaultProperties)):this._drawId=this.#g8(a,this.parent),this.#g9(a.box)}#g8(a,b){let{id:c}=b.drawLayer.draw(dy._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){v("Not implemented")}static get typesMap(){v("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&&(dy.#g4.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.#g2.updateProperty(b,c);e&&this.#g9(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.#g2.updateProperty(c,a),this.#g2.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:l.INK_COLOR_AND_OPACITY,overwriteIfSameType:!0,keepUndo:!0})}_onResizing(){this.parent?.drawLayer.updateProperties(this._drawId,dy._mergeSVGProperties(this.#g2.getPathResizingSVGProperties(this.#ha()),{bbox:this.#hb()}))}_onResized(){this.parent?.drawLayer.updateProperties(this._drawId,dy._mergeSVGProperties(this.#g2.getPathResizedSVGProperties(this.#ha()),{bbox:this.#hb()}))}_onTranslating(a,b){this.parent?.drawLayer.updateProperties(this._drawId,{bbox:this.#hb()})}_onTranslated(){this.parent?.drawLayer.updateProperties(this._drawId,dy._mergeSVGProperties(this.#g2.getPathTranslatedSVGProperties(this.#ha(),this.parentDimensions),{bbox:this.#hb()}))}_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.#g3&&(this.#g3=!1,this.commit(),this.parent.setSelected(this),a&&this.isOnScreen&&this.div.focus())}remove(){this.#gW(),super.remove()}rebuild(){!this.parent||(super.rebuild(),null!==this.div&&(this.#gQ(),this.#g9(this.#g2.box),this.isAttachedToDOM||this.parent.add(this)))}setParent(a){let b=!1;this.parent&&!a?(this._uiManager.removeShouldRescale(this),this.#gW()):a&&(this._uiManager.addShouldRescale(this),this.#gQ(a),b=!this.parent&&this.div?.classList.contains("selectedEditor")),super.setParent(a),b&&this.select()}#gW(){null!==this._drawId&&this.parent&&(this.parent.drawLayer.remove(this._drawId),this._drawId=null,this._drawingOptions.reset())}#gQ(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.#g8(this.#g2,a)}}#hc([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]}}#ha(){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]}}#g9(a){[this.x,this.y,this.width,this.height]=this.#hc(a),this.div&&(this.fixAndSetPosition(),this.setDims()),this._onResized()}#hb(){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,dy._mergeSVGProperties({bbox:this.#hb()},this.#g2.updateRotation((this.parentRotation-this.rotation+360)%360)))}onScaleChanging(){this.parent&&this.#g9(this.#g2.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){v("Not implemented")}static startDrawing(a,b,c,d){let{target:e,offsetX:f,offsetY:g,pointerId:h,pointerType:i}=d;if(aE.isInitializedAndDifferentPointerType(i))return;let{viewport:{rotation:j}}=a,{width:k,height:l}=e.getBoundingClientRect(),m=dy.#g5=new AbortController,n=a.combinedSignal(m);(aE.setPointer(i,h),window.addEventListener("pointerup",a=>{aE.isSamePointerIdOrRemove(a.pointerId)&&this._endDraw(a)},{signal:n}),window.addEventListener("pointercancel",a=>{aE.isSamePointerIdOrRemove(a.pointerId)&&this._currentParent.endDrawingSession()},{signal:n}),window.addEventListener("pointerdown",a=>{aE.isSamePointerType(a.pointerType)&&(aE.initializeAndAddPointerId(a.pointerId),dy.#g4.isCancellable()&&(dy.#g4.removeLastElement(),dy.#g4.isEmpty()?this._currentParent.endDrawingSession(!0):this._endDraw(null)))},{capture:!0,passive:!1,signal:n}),window.addEventListener("contextmenu",af,{signal:n}),e.addEventListener("pointermove",this._drawMove.bind(this),{signal:n}),e.addEventListener("touchmove",a=>{aE.isSameTimeStamp(a.timeStamp)&&ag(a)},{signal:n}),a.toggleDrawing(),b._editorUndoBar?.hide(),dy.#g4)?a.drawLayer.updateProperties(this._currentDrawId,dy.#g4.startNew(f,g,k,l,j)):(b.updateUIForDefaultProperties(this),dy.#g4=this.createDrawerInstance(f,g,k,l,j),dy.#g6=this.getDefaultDrawingOptions(),this._currentParent=a,{id:this._currentDrawId}=a.drawLayer.draw(this._mergeSVGProperties(dy.#g6.toSVGProperties(),dy.#g4.defaultSVGProperties),!0,!1))}static _drawMove(a){if(aE.isSameTimeStamp(a.timeStamp),!dy.#g4)return;let{offsetX:b,offsetY:c,pointerId:d}=a;if(aE.isSamePointerId(d)){if(aE.isUsingMultiplePointers())return void this._endDraw(a);this._currentParent.drawLayer.updateProperties(this._currentDrawId,dy.#g4.add(b,c)),aE.setTimeStamp(a.timeStamp),ag(a)}}static _cleanup(a){a&&(this._currentDrawId=-1,this._currentParent=null,dy.#g4=null,dy.#g6=null,aE.clearTimeStamp()),dy.#g5&&(dy.#g5.abort(),dy.#g5=null,aE.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,dy.#g4.end(a.offsetX,a.offsetY)),this.supportMultipleDrawings){let a=dy.#g4,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:l.DRAW_STEP});return}this.endDrawing(!1)}}static endDrawing(a){let b=this._currentParent;if(!b)return null;if(b.toggleDrawing(!0),b.cleanUndoStack(l.DRAW_STEP),!dy.#g4.isEmpty()){let{pageDimensions:[c,d],scale:e}=b,f=b.createAndAddNewEditor({offsetX:0,offsetY:0},!1,{drawId:this._currentDrawId,drawOutlines:dy.#g4.getOutlines(c*e,d*e,e,this._INNER_MARGIN),drawingOptions:dy.#g6,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){v("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.#g7({drawOutlines:h}),i.#gQ(),i.onScaleChanging(),i.rotate(),i}serializeDraw(a){let[b,c]=this.pageTranslation,[d,e]=this.pageDimensions;return this.#g2.serialize([b,c,d,e],a)}renderAnnotationElement(a){return a.updateEdited({rect:this.getPDFRect()}),null}static canCreateNewEmptyEditor(){return!1}}class dz{#f8=new Float64Array(6);#fD;#hd;#d3;#ge;#gf;#he="";#hf=0;#gC=new dA;#hg;#hh;constructor(a,b,c,d,e,f){this.#hg=c,this.#hh=d,this.#d3=e,this.#ge=f,[a,b]=this.#hi(a,b);const g=this.#fD=[NaN,NaN,NaN,NaN,a,b];this.#gf=[a,b],this.#hd=[{line:g,points:this.#gf}],this.#f8.set(g,0)}updateProperty(a,b){"stroke-width"===a&&(this.#ge=b)}#hi(a,b){return dp._normalizePoint(a,b,this.#hg,this.#hh,this.#d3)}isEmpty(){return!this.#hd||0===this.#hd.length}isCancellable(){return this.#gf.length<=10}add(a,b){[a,b]=this.#hi(a,b);let[c,d,e,f]=this.#f8.subarray(2,6),g=a-e,h=b-f;return 2>=Math.hypot(this.#hg*g,this.#hh*h)?null:((this.#gf.push(a,b),isNaN(c))?(this.#f8.set([e,f,a,b],2),this.#fD.push(NaN,NaN,NaN,NaN,a,b)):(isNaN(this.#f8[0])&&this.#fD.splice(6,6),this.#f8.set([c,d,e,f,a,b],0),this.#fD.push(...dp.createBezierPoints(c,d,e,f,a,b))),{path:{d:this.toSVGPath()}})}end(a,b){let c=this.add(a,b);return c||(2===this.#gf.length?{path:{d:this.toSVGPath()}}:null)}startNew(a,b,c,d,e){this.#hg=c,this.#hh=d,this.#d3=e,[a,b]=this.#hi(a,b);let f=this.#fD=[NaN,NaN,NaN,NaN,a,b];this.#gf=[a,b];let g=this.#hd.at(-1);return g&&(g.line=new Float32Array(g.line),g.points=new Float32Array(g.points)),this.#hd.push({line:f,points:this.#gf}),this.#f8.set(f,0),this.#hf=0,this.toSVGPath(),null}getLastElement(){return this.#hd.at(-1)}setLastElement(a){return this.#hd?(this.#hd.push(a),this.#fD=a.line,this.#gf=a.points,this.#hf=0,{path:{d:this.toSVGPath()}}):this.#gC.setLastElement(a)}removeLastElement(){if(!this.#hd)return this.#gC.removeLastElement();this.#hd.pop(),this.#he="";for(let a=0,b=this.#hd.length;a<b;a++){let{line:b,points:c}=this.#hd[a];this.#fD=b,this.#gf=c,this.#hf=0,this.toSVGPath()}return{path:{d:this.#he}}}toSVGPath(){let a=dp.svgRound(this.#fD[4]),b=dp.svgRound(this.#fD[5]);if(2===this.#gf.length)return this.#he=`${this.#he} M ${a} ${b} Z`,this.#he;if(this.#gf.length<=6){let c=this.#he.lastIndexOf("M");this.#he=`${this.#he.slice(0,c)} M ${a} ${b}`,this.#hf=6}if(4===this.#gf.length){let a=dp.svgRound(this.#fD[10]),b=dp.svgRound(this.#fD[11]);return this.#he=`${this.#he} L ${a} ${b}`,this.#hf=12,this.#he}let c=[];0===this.#hf&&(c.push(`M ${a} ${b}`),this.#hf=6);for(let a=this.#hf,b=this.#fD.length;a<b;a+=6){let[b,d,e,f,g,h]=this.#fD.slice(a,a+6).map(dp.svgRound);c.push(`C${b} ${d} ${e} ${f} ${g} ${h}`)}return this.#he+=c.join(" "),this.#hf=this.#fD.length,this.#he}getOutlines(a,b,c,d){let e=this.#hd.at(-1);return e.line=new Float32Array(e.line),e.points=new Float32Array(e.points),this.#gC.build(this.#hd,a,b,c,this.#d3,this.#ge,d),this.#f8=null,this.#fD=null,this.#hd=null,this.#he=null,this.#gC}get defaultSVGProperties(){return{root:{viewBox:"0 0 10000 10000"},rootClass:{draw:!0},bbox:[0,0,1,1]}}}class dA extends dp{#gq;#hj=0;#f5;#hd;#hg;#hh;#hk;#d3;#ge;build(a,b,c,d,e,f,g){this.#hg=b,this.#hh=c,this.#hk=d,this.#d3=e,this.#ge=f,this.#f5=g??0,this.#hd=a,this.#hl()}get thickness(){return this.#ge}setLastElement(a){return this.#hd.push(a),{path:{d:this.toSVGPath()}}}removeLastElement(){return this.#hd.pop(),{path:{d:this.toSVGPath()}}}toSVGPath(){let a=[];for(let{line:b}of this.#hd){if(a.push(`M${dp.svgRound(b[4])} ${dp.svgRound(b[5])}`),6===b.length){a.push("Z");continue}if(12===b.length&&isNaN(b[6])){a.push(`L${dp.svgRound(b[10])} ${dp.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(dp.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.#hm();switch(this.#d3){case 0:n=dp._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=dp._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=dp._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=dp._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.#hd)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=dp._rescale,j=-a/c,k=b/d+1,l=1/c,m=-1/d;break;case 90:n=dp._rescaleAndSwap,j=-b/d,k=-a/c,l=1/d,m=1/c;break;case 180:n=dp._rescale,j=a/c+1,k=-b/d,l=-1/c,m=1/d;break;case 270:n=dp._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(dp.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}#hn(a=this.#ge){let b=this.#f5+a/2*this.#hk;return this.#d3%180==0?[b/this.#hg,b/this.#hh]:[b/this.#hh,b/this.#hg]}#hm(){let[a,b,c,d]=this.#gq,[e,f]=this.#hn(0);return[a+e,b+f,c-2*e,d-2*f]}#hl(){let a=this.#gq=g.slice();for(let{line:b}of this.#hd){if(b.length<=12){for(let c=4,d=b.length;c<d;c+=6)K.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);K.bezierBoundingBox(c,d,f,g,h,i,j,k,a),c=j,d=k}}let[b,c]=this.#hn();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.#gq}updateProperty(a,b){return"stroke-width"===a?this.#gT(b):null}#gT(a){let[b,c]=this.#hn();this.#ge=a;let[d,e]=this.#hn(),[f,g]=[d-b,e-c],h=this.#gq;return h[0]-=f,h[1]-=g,h[2]+=2*f,h[3]+=2*g,h}updateParentDimensions([a,b],c){let[d,e]=this.#hn();this.#hg=a,this.#hh=b,this.#hk=c;let[f,g]=this.#hn(),h=f-d,i=g-e,j=this.#gq;return j[0]-=h,j[1]-=i,j[2]+=2*h,j[3]+=2*i,j}updateRotation(a){return this.#hj=a,{path:{transform:this.rotationTransform}}}get viewBox(){return this.#gq.map(dp.svgRound).join(" ")}get defaultProperties(){let[a,b]=this.#gq;return{root:{viewBox:this.viewBox},path:{"transform-origin":`${dp.svgRound(a)} ${dp.svgRound(b)}`}}}get rotationTransform(){let[,,a,b]=this.#gq,c=0,d=0,e=0,f=0,g=0,h=0;switch(this.#hj){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} ${dp.svgRound(g)} ${dp.svgRound(h)})`}getPathResizingSVGProperties([a,b,c,d]){let[e,f]=this.#hn(),[g,h,i,j]=this.#gq;if(Math.abs(i-e)<=dp.PRECISION||Math.abs(j-f)<=dp.PRECISION){let e=a+c/2-(g+i/2),f=b+d/2-(h+j/2);return{path:{"transform-origin":`${dp.svgRound(a)} ${dp.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":`${dp.svgRound(g)} ${dp.svgRound(h)}`,transform:`${this.rotationTransform} scale(${i/c} ${j/d}) translate(${dp.svgRound(e)} ${dp.svgRound(f)}) scale(${k} ${l}) translate(${dp.svgRound(-e)} ${dp.svgRound(-f)})`}}}getPathResizedSVGProperties([a,b,c,d]){let[e,f]=this.#hn(),g=this.#gq,[h,i,j,k]=g;if(g[0]=a,g[1]=b,g[2]=c,g[3]=d,Math.abs(j-e)<=dp.PRECISION||Math.abs(k-f)<=dp.PRECISION){let e=a+c/2-(h+j/2),f=b+d/2-(i+k/2);for(let{line:a,points:b}of this.#hd)dp._translate(a,e,f,a),dp._translate(b,e,f,b);return{root:{viewBox:this.viewBox},path:{"transform-origin":`${dp.svgRound(a)} ${dp.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.#hd)dp._rescale(a,n,o,l,m,a),dp._rescale(b,n,o,l,m,b);return{root:{viewBox:this.viewBox},path:{"transform-origin":`${dp.svgRound(a)} ${dp.svgRound(b)}`,transform:this.rotationTransform||null,d:this.toSVGPath()}}}getPathTranslatedSVGProperties([a,b],c){let[d,e]=c,f=this.#gq,g=a-f[0],h=b-f[1];if(this.#hg===d&&this.#hh===e)for(let{line:a,points:b}of this.#hd)dp._translate(a,g,h,a),dp._translate(b,g,h,b);else{let a=this.#hg/d,b=this.#hh/e;for(let{line:c,points:f}of(this.#hg=d,this.#hh=e,this.#hd))dp._rescale(c,g,h,a,b,c),dp._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":`${dp.svgRound(a)} ${dp.svgRound(b)}`}}}get defaultSVGProperties(){let a=this.#gq;return{root:{viewBox:this.viewBox},rootClass:{draw:!0},path:{d:this.toSVGPath(),"transform-origin":`${dp.svgRound(a[0])} ${dp.svgRound(a[1])}`,transform:this.rotationTransform||null},bbox:a}}}class dB extends dx{constructor(a){super(),this._viewParameters=a,super.updateProperties({fill:"none",stroke:aO._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 dB(this._viewParameters);return a.updateAll(this),a}}class dC extends dy{static _type="ink";static _editorType=k.INK;static _defaultDrawingOptions=null;constructor(a){super({...a,name:"inkEditor"}),this._willKeepAspectRatio=!0,this.defaultL10nId="pdfjs-editor-ink-editor"}static initialize(a,b){aO.initialize(a,b),this._defaultDrawingOptions=new dB(b.viewParameters)}static getDefaultDrawingOptions(a){let b=this._defaultDrawingOptions.clone();return b.updateProperties(a),b}static get supportMultipleDrawings(){return!0}static get typesMap(){return A(this,"typesMap",new Map([[l.INK_THICKNESS,"stroke-width"],[l.INK_COLOR,"stroke"],[l.INK_OPACITY,"stroke-opacity"]]))}static createDrawerInstance(a,b,c,d,e){return new dz(a,b,c,d,e,this._defaultDrawingOptions["stroke-width"])}static deserializeDraw(a,b,c,d,e,f){return dA.deserialize(a,b,c,d,e,f)}static async deserialize(a,b,c){let d=null;if(a instanceof de){let{data:{inkLists:b,rect:c,rotation:e,id:f,color:g,opacity:h,borderStyle:{rawWidth:i},popupRef:j,richText:l,contentsObj:m,creationDate:n,modificationDate:o},parent:{page:{pageNumber:p}}}=a;d=a={annotationType:k.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:l,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 cN(this),[["colorPicker",this._colorPicker]]}get colorType(){return l.INK_COLOR}get colorAndOpacityType(){return l.INK_COLOR_AND_OPACITY}get opacityType(){return l.INK_OPACITY}updateParams(a,b){a===l.INK_COLOR_AND_OPACITY?this._updateColorAndOpacity(b.color,b.opacity):super.updateParams(a,b)}static updateDefaultParams(a,b){if(a===l.INK_COLOR_AND_OPACITY){super.updateDefaultParams(l.INK_COLOR,b.color),super.updateDefaultParams(l.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=dC.getDefaultDrawingOptions({stroke:K.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:aO._colorManager.convert(d),opacity:e,thickness:f,paths:{lines:b,points:c}});return(this.addComment(g),a)?(g.isCopy=!0,g):this.annotationElementId&&!this.#f2(g)?null:(g.id=this.annotationElementId,g)}#f2(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 dD extends dA{toSVGPath(){let a=super.toSVGPath();return a.endsWith("Z")||(a+="Z"),a}}class dE{static #ho={maxDim:512,sigmaSFactor:.02,sigmaR:25,kernelSize:16};static #hp(a,b,c,d){return(c-=a,d-=b,0===c)?d>0?0:4:1===c?d+6:2-d}static #hq=new Int32Array([0,1,-1,1,-1,0,-1,-1,0,-1,1,-1,1,0,1,1]);static #hr(a,b,c,d,e,f,g){let h=this.#hp(c,d,e,f);for(let e=0;e<8;e++){let f=(-e+h-g+16)%8;if(0!==a[(c+this.#hq[2*f])*b+(d+this.#hq[2*f+1])])return f}return -1}static #hs(a,b,c,d,e,f,g){let h=this.#hp(c,d,e,f);for(let e=0;e<8;e++){let f=(e+h+g+16)%8;if(0!==a[(c+this.#hq[2*f])*b+(d+this.#hq[2*f+1])])return f}return -1}static #ht(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.#hr(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.#hq[2*p],r=this.#hq[2*p+1],s=a+q,t=c+r;k=s,l=t;let u=a,v=c;for(;;){let d=this.#hs(g,b,u,v,k,l,1);q=this.#hq[2*d],r=this.#hq[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 #hu(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.#hu(a,b,u+2,d),this.#hu(a,u,c,d)):d.push(e,f)}static #hv(a){let b=[],c=a.length;return this.#hu(a,0,c,b),b.push(a[c-2],a[c-1]),b.length<=4?null:b}static #hw(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 #hx(a){let b=new Uint32Array(256);for(let c of a)b[c]++;return b}static #hy(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 #hz(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 #hA(a){let b=a,{width:c,height:d}=a,{maxDim:e}=this.#ho,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.#hy(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.#hy(j.getImageData(0,0,s,t).data),v=this.#hx(u),w=this.#hz(v),x=this.#ht(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.#hA(a),[i,j]=this.#hw(f,g,h,Math.hypot(g,h)*this.#ho.sigmaSFactor,this.#ho.sigmaR,this.#ho.kernelSize),k=this.#hz(j),l=this.#ht(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.#hv(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(dp.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 dD:new dA;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 u(`decompressSignature: ${a}`),null}}}class dF extends dx{constructor(){super(),super.updateProperties({fill:aO._defaultLineColor,"stroke-width":0})}clone(){let a=new dF;return a.updateAll(this),a}}class dG extends dB{constructor(a){super(a),super.updateProperties({stroke:aO._defaultLineColor,"stroke-width":1})}clone(){let a=new dG(this._viewParameters);return a.updateAll(this),a}}class dH extends dy{#hB=!1;#hC=null;#hD=null;#hE=null;static _type="signature";static _editorType=k.SIGNATURE;static _defaultDrawingOptions=null;constructor(a){super({...a,mustBeCommitted:!0,name:"signatureEditor"}),this._willKeepAspectRatio=!0,this.#hD=a.signatureData||null,this.#hC=null,this.defaultL10nId="pdfjs-editor-signature-editor1"}static initialize(a,b){aO.initialize(a,b),this._defaultDrawingOptions=new dF,this._defaultDrawnSignatureOptions=new dG(b.viewParameters)}static getDefaultDrawingOptions(a){let b=this._defaultDrawingOptions.clone();return b.updateProperties(a),b}static get supportMultipleDrawings(){return!1}static get typesMap(){return A(this,"typesMap",new Map)}static get isDrawer(){return!1}get telemetryFinalData(){return{type:"signature",hasDescription:!!this.#hC}}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.#hD){let{lines:a,mustSmooth:b,areContours:c,description:d,uuid:e,heightInPage:f}=this.#hD,{rawDims:{pageWidth:g,pageHeight:h},rotation:i}=this.parent.viewport,j=dE.processDrawnLines({lines:a,pageWidth:g,pageHeight:h,rotation:i,innerMargin:dH._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.#hC||""}));return c&&(this._isCopy=!0,this._moveAfterPaste(a,b)),this.div}setUuid(a){this.#hE=a,this.addEditToolbar()}getUuid(){return this.#hE}get description(){return this.#hC}set description(a){this.#hC=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.#hD,f=Math.max(d,e),g=dE.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.#hD=a;this.#hB=h instanceof dD,this.description=c,this.#hB?e=dH.getDefaultDrawingOptions():(e=dH._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 dE.process(a,b,c,d,dH._INNER_MARGIN)}getFromText(a,b){let{rawDims:{pageWidth:c,pageHeight:d},rotation:e}=this.parent.viewport;return dE.extractContoursFromText(a,b,c,d,e,dH._INNER_MARGIN)}getDrawnSignature(a){let{rawDims:{pageWidth:b,pageHeight:c},rotation:d}=this.parent.viewport;return dE.processDrawnLines({lines:a,pageWidth:b,pageHeight:c,rotation:d,innerMargin:dH._INNER_MARGIN,mustSmooth:!1,areContours:!1})}createDrawingOptions({areContours:a,thickness:b}){a?this._drawingOptions=dH.getDefaultDrawingOptions():(this._drawingOptions=dH._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.#hB,color:[0,0,0],thickness:this.#hB?0:d});return this.addComment(e),a?(e.paths={lines:b,points:c},e.uuid=this.#hE,e.isCopy=!0):e.lines=b,this.#hC&&(e.accessibilityData={type:"Figure",alt:this.#hC}),e}static deserializeDraw(a,b,c,d,e,f){return f.areContours?dD.deserialize(a,b,c,d,e,f):dA.deserialize(a,b,c,d,e,f)}static async deserialize(a,b,c){let d=await super.deserialize(a,b,c);return d.#hB=a.areContours,d.description=a.accessibilityData?.alt||"",d.#hE=a.uuid,d}}class dI extends aO{#hF=null;#hG=null;#hH=null;#hI=null;#hJ=null;#hK="";#hL=null;#hM=!1;#hN=null;#hO=!1;#hP=!1;static _type="stamp";static _editorType=k.STAMP;constructor(a){super({...a,name:"stampEditor"}),this.#hI=a.bitmapUrl,this.#hJ=a.bitmapFile,this.defaultL10nId="pdfjs-editor-stamp-editor"}static initialize(a,b){aO.initialize(a,b)}static isHandlingMimeForPasting(a){return ap.includes(a)}static paste(a,b){b.pasteEditor({mode:k.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}}#hQ(a,b=!1){a?(this.#hF=a.bitmap,b||(this.#hG=a.id,this.#hO=a.isSvg),a.file&&(this.#hK=a.file.name),this.#hR()):this.remove()}#hS(){if(this.#hH=null,this._uiManager.enableWaiting(!1),this.#hL){if(this._uiManager.useNewAltTextWhenAddingImage&&this._uiManager.useNewAltTextFlow&&this.#hF)return void this.addEditToolbar().then(()=>{this._editToolbar.hide(),this._uiManager.editAltText(this,!0)});if(!this._uiManager.useNewAltTextWhenAddingImage&&this._uiManager.useNewAltTextFlow&&this.#hF){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}#hT(){if(this.#hG){this._uiManager.enableWaiting(!0),this._uiManager.imageManager.getFromId(this.#hG).then(a=>this.#hQ(a,!0)).finally(()=>this.#hS());return}if(this.#hI){let a=this.#hI;this.#hI=null,this._uiManager.enableWaiting(!0),this.#hH=this._uiManager.imageManager.getFromUrl(a).then(a=>this.#hQ(a)).finally(()=>this.#hS());return}if(this.#hJ){let a=this.#hJ;this.#hJ=null,this._uiManager.enableWaiting(!0),this.#hH=this._uiManager.imageManager.getFromFile(a).then(a=>this.#hQ(a)).finally(()=>this.#hS());return}let a=document.createElement("input");a.type="file",a.accept=ap.join(",");let b=this._uiManager._signal;this.#hH=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.#hQ(b)}else this.remove();c()},{signal:b}),a.addEventListener("cancel",()=>{this.remove(),c()},{signal:b})}).finally(()=>this.#hS()),a.click()}remove(){this.#hG&&(this.#hF=null,this._uiManager.imageManager.deleteId(this.#hG),this.#hL?.remove(),this.#hL=null,this.#hN&&(clearTimeout(this.#hN),this.#hN=null)),super.remove()}rebuild(){if(!this.parent){this.#hG&&this.#hT();return}super.rebuild(),null!==this.div&&(this.#hG&&null===this.#hL&&this.#hT(),this.isAttachedToDOM||this.parent.add(this))}onceAdded(a){this._isDraggable=!0,a&&this.div.focus()}isEmpty(){return!(this.#hH||this.#hF||this.#hI||this.#hJ||this.#hG||this.#hM)}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.#hM||(this.#hF?this.#hR():this.#hT()),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.#hG=c,d&&(this.#hF=d),this.#hM=!1,this.#hR())}_onResized(){this.onScaleChanging()}onScaleChanging(){this.parent&&(null!==this.#hN&&clearTimeout(this.#hN),this.#hN=setTimeout(()=>{this.#hN=null,this.#hU()},200))}#hR(){let{div:a}=this,{width:b,height:c}=this.#hF,[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.#hL=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.#hU(),this.#hP||(this.parent.addUndoableEditor(this),this.#hP=!0),this._reportTelemetry({action:"inserted_image"}),this.#hK&&this.div.setAttribute("aria-description",this.#hK),this.annotationElementId||this._uiManager.a11yAlert("pdfjs-editor-stamp-added-alert")}copyCanvas(a,b,c=!1){a||(a=224);let{width:d,height:e}=this.#hF,f=new ao,g=this.#hF,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.#hO||(g=this.#hV(a,c));let k=j.getContext("2d");k.filter=this._uiManager.hcmFilter;let l="white",m="#cfcfd8";"none"!==this._uiManager.hcmFilter?m="black":aq.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.#hF,d>a||e>a){let f=Math.min(a/d,a/e);b=Math.floor(d*f),c=Math.floor(e*f),this.#hO||(g=this.#hV(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}}#hV(a,b){let{width:c,height:d}=this.#hF,e=c,f=d,g=this.#hF;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}#hU(){let[a,b]=this.parentDimensions,{width:c,height:d}=this,e=new ao,f=Math.ceil(c*a*e.sx),g=Math.ceil(d*b*e.sy),h=this.#hL;if(!h||h.width===f&&h.height===g)return;h.width=f,h.height=g;let i=this.#hO?this.#hF:this.#hV(f,g),j=h.getContext("2d");j.filter=this._uiManager.hcmFilter,j.drawImage(i,0,0,i.width,i.height,0,0,f,g)}#hW(a){if(a){if(this.#hO){let a=this._uiManager.imageManager.getSvgUrl(this.#hG);if(a)return a}let a=document.createElement("canvas");return{width:a.width,height:a.height}=this.#hF,a.getContext("2d").drawImage(this.#hF,0,0),a.toDataURL()}if(this.#hO){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.#hF,0,0,this.#hF.width,this.#hF.height,0,0,c,d),e.transferToImageBitmap()}return structuredClone(this.#hF)}static async deserialize(a,b,c){let d=null,e=!1;if(a instanceof dj){let f,g,{data:{rect:h,rotation:i,id:j,structParent:l,popupRef:m,richText:n,contentsObj:o,creationDate:p,modificationDate:q},container:r,parent:{page:{pageNumber:s}},canvas:t}=a;t?(delete a.canvas,{id:f,bitmap:g}=c.imageManager.getFromCanvas(r.id,t),t.remove()):(e=!0,a._hasNoCanvas=!0);let u=(await b._structTree.getAriaAttributes(`${P}${j}`))?.get("aria-label")||"";d=a={annotationType:k.STAMP,bitmapId:f,bitmap:g,pageIndex:s-1,rect:h.slice(0),rotation:i,annotationElementId:j,id:j,deleted:!1,accessibilityData:{decorative:!1,altText:u},isSvg:!1,structParent:l,popupRef:m,richText:n,comment:o?.str||null,creationDate:p,modificationDate:q}}let f=await super.deserialize(a,b,c),{rect:g,bitmap:h,bitmapUrl:i,bitmapId:j,isSvg:l,accessibilityData:m}=a;e?(c.addMissingCanvas(a.id,f),f.#hM=!0):j&&c.imageManager.isValidId(j)?(f.#hG=j,h&&(f.#hF=h)):f.#hI=i,f.#hO=l;let[n,o]=f.pageDimensions;return f.width=(g[2]-g[0])/n,f.height=(g[3]-g[1])/o,m&&(f.altTextData=m),f._initialData=d,a.comment&&f.setCommentData(a),f.#hP=!!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.#hG,isSvg:this.#hO});if(this.addComment(c),a)return c.bitmapUrl=this.#hW(!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.#f2(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.#hO?(c.rect[2]-c.rect[0])*(c.rect[3]-c.rect[1]):null;if(b.stamps.has(this.#hG)){if(this.#hO){let a=b.stamps.get(this.#hG);f>a.area&&(a.area=f,a.serialized.bitmap.close(),a.serialized.bitmap=this.#hW(!1))}}else b.stamps.set(this.#hG,{area:f,serialized:c}),c.bitmap=this.#hW(!1);return c}#f2(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 dJ{#fM;#hX=!1;#hY=null;#hZ=null;#h$=null;#h_=new Map;#h0=!1;#h1=!1;#h2=!1;#h3=null;#h4=null;#h5=null;#h6=null;#h7=null;#h8=-1;#s;static _initialized=!1;static #Z=new Map([dn,dC,dI,dw,dH].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=[...dJ.#Z.values()];if(!dJ._initialized)for(const b of(dJ._initialized=!0,k))b.initialize(j,a);a.registerEditorTypes(k),this.#s=a,this.pageIndex=b,this.div=c,this.#fM=e,this.#hY=f,this.viewport=i,this.#h5=h,this.drawLayer=g,this._structTree=d,this.#s.addLayer(this)}get isEmpty(){return 0===this.#h_.size}get isInvisible(){return this.isEmpty&&this.#s.getMode()===k.NONE}updateToolbar(a){this.#s.updateToolbar(a)}updateMode(a=this.#s.getMode()){switch(this.#h9(),a){case k.NONE:this.div.classList.toggle("nonEditing",!0),this.disableTextSelection(),this.togglePointerEvents(!1),this.toggleAnnotationLayerPointerEvents(!0),this.disableClick();return;case k.INK:this.disableTextSelection(),this.togglePointerEvents(!0),this.enableClick();break;case k.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===k.POPUP)b.toggle("commentEditing",!0);else for(let c of(b.toggle("commentEditing",!1),dJ.#Z.values()))b.toggle(`${c._type}Editing`,a===c._editorType);this.div.hidden=!1}hasTextLayer(a){return a===this.#h5?.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.#hY?.togglePointerEvents(a)}get #ia(){return 0!==this.#h_.size?this.#h_.values():this.#s.getEditors(this.pageIndex)}async enable(){this.#h2=!0,this.div.tabIndex=0,this.togglePointerEvents(!0),this.div.classList.toggle("nonEditing",!1),this.#h7?.abort(),this.#h7=null;let a=new Set;for(let b of this.#ia)b.enableEditing(),b.show(!0),b.annotationElementId&&(this.#s.removeChangedExistingAnnotation(b),a.add(b.annotationElementId));let b=this.#hY;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.#h2=!1,this.#s._eventBus.dispatch("editorsrendered",{source:this,pageNumber:this.pageIndex+1})}disable(){if(this.#h1=!0,this.div.tabIndex=-1,this.togglePointerEvents(!1),this.div.classList.toggle("nonEditing",!0),this.#h5&&!this.#h7){this.#h7=new AbortController;let a=this.#s.combinedSignal(this.#h7);this.#h5.div.addEventListener("pointerdown",a=>{let b,{clientX:c,clientY:d,timeStamp:e}=a;if(e-this.#h8>500){this.#h8=e;return}this.#h8=-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(`^${j}[0-9]+$`);for(let a of g)if(h.test(a.id)){b=a.id;break}if(!b)return;let i=this.#h_.get(b);i?.annotationElementId===null&&(ag(a),i.dblclick(a))},{signal:a,capture:!0})}let a=this.#hY,b=[];if(a){let c=new Map,d=new Map;for(let a of this.#ia){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.#h9(),this.isEmpty&&(this.div.hidden=!0);let{classList:c}=this.div;for(let a of dJ.#Z.values())c.remove(`${a._type}Editing`);this.disableTextSelection(),this.toggleAnnotationLayerPointerEvents(!0),a?.updateFakeAnnotations(b),this.#h1=!1}getEditableAnnotation(a){return this.#hY?.getEditableAnnotation(a)||null}setActiveEditor(a){this.#s.getActive()!==a&&this.#s.setActiveEditor(a)}enableTextSelection(){if(this.div.tabIndex=-1,this.#h5?.div&&!this.#h6){this.#h6=new AbortController;let a=this.#s.combinedSignal(this.#h6);this.#h5.div.addEventListener("pointerdown",this.#ib.bind(this),{signal:a}),this.#h5.div.classList.add("highlighting")}}disableTextSelection(){this.div.tabIndex=0,this.#h5?.div&&this.#h6&&(this.#h6.abort(),this.#h6=null,this.#h5.div.classList.remove("highlighting"))}#ib(a){this.#s.unselectAll();let{target:b}=a;if(b===this.#h5.div||("img"===b.getAttribute("role")||b.classList.contains("endOfContent")||b.classList.contains("textLayerImagePlaceholder"))&&this.#h5.div.contains(b)){let{isMac:b}=J.platform;if(0!==a.button||a.ctrlKey&&b)return;this.#s.showAllEditors("highlight",!0,!0),this.#h5.div.classList.add("free"),this.toggleDrawing(),dw.startHighlighting(this,"ltr"===this.#s.direction,{target:this.#h5.div,x:a.x,y:a.y}),this.#h5.div.addEventListener("pointerup",()=>{this.#h5.div.classList.remove("free"),this.toggleDrawing(!0)},{once:!0,signal:this.#s._signal}),a.preventDefault()}}enableClick(){if(this.#hZ)return;this.#hZ=new AbortController;let a=this.#s.combinedSignal(this.#hZ);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.#hZ?.abort(),this.#hZ=null}attach(a){this.#h_.set(a.id,a);let{annotationElementId:b}=a;b&&this.#s.isDeletedAnnotationElement(b)&&this.#s.removeDeletedAnnotationElement(a)}detach(a){this.#h_.delete(a.id),this.#fM?.removePointerInTextLayer(a.contentDiv),!this.#h1&&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),aO.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.#h2),this.#s.addToAnnotationStorage(a),a._reportTelemetry(a.telemetryInitialData)}}moveEditorInDOM(a){if(!a.isAttachedToDOM)return;let{activeElement:b}=document;a.div.contains(b)&&!this.#h$&&(a._focusEventsAllowed=!1,this.#h$=setTimeout(()=>{this.#h$=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.#fM?.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.#h_.values())if(b.uid===a)return b;return null}get #ic(){return dJ.#Z.get(this.#s.getMode())}combinedSignal(a){return this.#s.combinedSignal(a)}#id(a){let b=this.#ic;return b?new b.prototype.constructor(a):null}canCreateNewEmptyEditor(){return this.#ic?.canCreateNewEmptyEditor()}async pasteEditor(a,b){this.updateToolbar(a),await this.#s.updateMode(a.mode);let{offsetX:c,offsetY:d}=this.#ie(),e=this.#s.getId(),f=this.#id({parent:this,id:e,x:c,y:d,uiManager:this.#s,isCentered:!0,...b});f&&this.add(f)}async deserialize(a){return await dJ.#Z.get(a.annotationType??a.annotationEditorType)?.deserialize(a,this,this.#s)||null}createAndAddNewEditor(a,b,c={}){let d=this.#s.getId(),e=this.#id({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()}#ie(){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.#ie(),!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}=J.platform;if(0!==a.button||a.ctrlKey&&b||a.target!==this.div||!this.#h0||(this.#h0=!1,this.#ic?.isDrawer&&this.#ic.supportMultipleDrawings))return;if(!this.#hX){this.#hX=!0;return}let c=this.#s.getMode();c===k.STAMP||c===k.POPUP||c===k.SIGNATURE?this.#s.unselectAll():this.createAndAddNewEditor(a,!1)}pointerdown(a){if(this.#s.getMode()===k.HIGHLIGHT&&this.enableTextSelection(),this.#h0){this.#h0=!1;return}let{isMac:b}=J.platform;if(0!==a.button||a.ctrlKey&&b||a.target!==this.div)return;if(this.#h0=!0,this.#ic?.isDrawer)return void this.startDrawingSession(a);let c=this.#s.getActive();this.#hX=!c||c.isEmpty()}startDrawingSession(a){if(this.div.focus({preventScroll:!0}),this.#h3)return void this.#ic.startDrawing(this,this.#s,!1,a);this.#s.setCurrentDrawingSession(this),this.#h3=new AbortController;let b=this.#s.combinedSignal(this.#h3);this.div.addEventListener("blur",({relatedTarget:a})=>{a&&!this.div.contains(a)&&(this.#h4=null,this.commitOrRemove())},{signal:b}),this.#ic.startDrawing(this,this.#s,!1,a)}pause(a){if(a){let{activeElement:a}=document;this.div.contains(a)&&(this.#h4=a);return}this.#h4&&setTimeout(()=>{this.#h4?.focus(),this.#h4=null},0)}endDrawingSession(a=!1){return this.#h3?(this.#s.setCurrentDrawingSession(null),this.#h3.abort(),this.#h3=null,this.#h4=null,this.#ic.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.#h3&&(this.endDrawingSession(),!0)}onScaleChanging(){this.#h3&&this.#ic.onScaleChangingWhenDrawing(this)}destroy(){for(let a of(this.commitOrRemove(),this.#s.getActive()?.parent===this&&(this.#s.commitOrRemove(),this.#s.setActiveEditor(null)),this.#h$&&(clearTimeout(this.#h$),this.#h$=null),this.#h_.values()))this.#fM?.removePointerInTextLayer(a.contentDiv),a.setParent(null),a.isAttachedToDOM=!1,a.div.remove();this.div=null,this.#h_.clear(),this.#s.removeLayer(this)}#h9(){for(let a of this.#h_.values())a.isEmpty()&&a.remove()}async render({viewport:a}){for(let b of(this.viewport=a,an(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.#h9();let b=this.viewport.rotation,c=a.rotation;if(this.viewport=a,an(this.div,{rotation:c}),b!==c)for(let a of this.#h_.values())a.rotate(c)}get pageDimensions(){let{pageWidth:a,pageHeight:b}=this.viewport.rawDims;return[a,b]}get scale(){return this.#s.viewParameters.realScale}}class dK{#fi=null;#ig=new Map;#ih=new Map;static #A=0;setParent(a){if(!this.#fi){this.#fi=a;return}if(this.#fi!==a){if(this.#ig.size>0)for(let b of this.#ig.values())b.remove(),a.append(b);this.#fi=a}}static get _svgFactory(){return A(this,"_svgFactory",new cS)}static #ii(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}%`}#ij(){let a=dK._svgFactory.create(1,1,!0);return this.#fi.append(a),a.setAttribute("aria-hidden",!0),a}#ik(a,b){let c=dK._svgFactory.createElement("clipPath");a.append(c);let d=`clip_${b}`;c.setAttribute("id",d),c.setAttribute("clipPathUnits","objectBoundingBox");let e=dK._svgFactory.createElement("use");return c.append(e),e.setAttribute("href",`#${b}`),e.classList.add("clip"),d}#il(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=dK.#A++,e=this.#ij(),f=dK._svgFactory.createElement("defs");e.append(f);let g=dK._svgFactory.createElement("path");f.append(g);let h=`path_${d}`;g.setAttribute("id",h),g.setAttribute("vector-effect","non-scaling-stroke"),b&&this.#ih.set(d,g);let i=c?this.#ik(f,h):null,j=dK._svgFactory.createElement("use");return e.append(j),j.setAttribute("href",`#${h}`),this.updateProperties(e,a),this.#ig.set(d,e),{id:d,clipPathId:`url(#${i})`}}drawOutline(a,b){let c,d=dK.#A++,e=this.#ij(),f=dK._svgFactory.createElement("defs");e.append(f);let g=dK._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=dK._svgFactory.createElement("mask");f.append(a),c=`mask_${d}`,a.setAttribute("id",c),a.setAttribute("maskUnits","objectBoundingBox");let b=dK._svgFactory.createElement("rect");a.append(b),b.setAttribute("width","1"),b.setAttribute("height","1"),b.setAttribute("fill","white");let e=dK._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=dK._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.#ig.set(d,e),d}finalizeDraw(a,b){this.#ih.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.#ig.get(a):a;if(g){if(c&&this.#il(g,c),d&&dK.#ii(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.#il(a,f)}}}updateParent(a,b){if(b===this)return;let c=this.#ig.get(a);c&&(b.#fi.append(c),this.#ig.delete(a),b.#ig.set(a,c))}remove(a){this.#ih.delete(a),null!==this.#fi&&(this.#ig.get(a).remove(),this.#ig.delete(a))}destroy(){for(let a of(this.#fi=null,this.#ig.values()))a.remove();this.#ig.clear(),this.#ih.clear()}}function dL(a){return`${(100*a).toFixed(2)}%`}class dM{#im=[];#io=new Map;#ip=null;#iq=0;#d0=0;#d_=0;static #ir=null;constructor(a,b,c,d){this.#iq=a,this.#im=b,this.#d0=c.rawDims.pageWidth,this.#d_=c.rawDims.pageHeight,this.#ip=d}render(){let a=document.createElement("div");a.className="textLayerImages";for(let b=0;b<this.#im.length;b+=6){let c=this.#is(this.#im.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.#io.get(b);if(!c)return;let d=dM.#ir?.deref();if(d===b)return;d&&(d.width=0,d.height=0),dM.#ir=new WeakRef(b);let{inverseTransform:e,x1:f,y1:g,width:h,height:i}=c,j=this.#ip(),k=Math.ceil(f*j.width),l=Math.ceil(g*j.height),m=Math.floor((f+h/this.#d0)*j.width),n=Math.floor((g+i/this.#d_)*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}#is([a,b,c,d,e,f]){let g=Math.hypot((e-a)*this.#d0,(f-b)*this.#d_),h=Math.hypot((c-a)*this.#d0,(d-b)*this.#d_);if(g<this.#iq||h<this.#iq)return null;let i=[(e-a)*this.#d0/g,(f-b)*this.#d_/g,(c-a)*this.#d0/h,(d-b)*this.#d_/h,0,0],j=K.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:dL(a),top:dL(b),width:dL(g/this.#d0),height:dL(h/this.#d_),transformOrigin:"0% 0%",transform:`matrix(${i.join(",")})`}),this.#io.set(k,{inverseTransform:j,width:g,height:h,x1:a,y1:b}),k}}globalThis._pdfjsTestingUtils={HighlightOutliner:ds},globalThis.pdfjsLib={AbortException:H,AnnotationEditorLayer:dJ,AnnotationEditorParamsType:l,AnnotationEditorType:k,AnnotationEditorUIManager:aK,AnnotationLayer:dl,AnnotationMode:i,AnnotationType:o,applyOpacity:as,build:cL,ColorPicker:cM,createValidAbsoluteUrl:x,CSSConstants:ar,DOMSVGFactory:cS,DrawLayer:dK,FeatureTest:J,fetchData:Y,findContrastColor:ay,getDocument:cB,getFilenameFromUrl:ab,getPdfFilenameFromUrl:ac,getRGB:ak,getRGBA:aj,getUuid:O,getXfaPageViewport:ai,GlobalWorkerOptions:cr,ImageKind:n,InvalidPDFException:E,isDataScheme:_,isPdfFile:aa,isValidExplicitDest:bn,makeArr:Q,makeMap:R,makeObj:S,MathClamp:T,noContextMenu:af,normalizeUnicode:N,OPS:q,OutputScale:ao,PasswordResponses:r,PDFDataRangeTransport:cD,PDFDateString:ah,PDFWorker:cG,PermissionFlag:m,PixelsPerInch:X,RenderingCancelledException:$,renderRichText:az,ResponseException:F,setLayerDimensions:an,shadow:A,SignatureExtractor:dE,stopEvent:ag,SupportedImageMimeTypes:ap,TextLayer:cA,TextLayerImages:dM,TouchManager:aN,updateUrlHash:y,Util:K,VerbosityLevel:p,version:cK,XfaLayer:V}}};