@humain/terminal 0.0.5 → 0.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +62 -0
- package/README.md +10 -4
- package/dist/bundle/chunks/anthropic-messages-GDMGYAZB.js +6 -0
- package/dist/bundle/chunks/anthropic.js +75 -0
- package/dist/bundle/chunks/azure-openai-responses-ZN52D6YC.js +2 -0
- package/dist/bundle/chunks/bedrock-converse-stream.js +77 -0
- package/dist/bundle/chunks/chunk-3D3G2X5U.js +6 -0
- package/dist/bundle/chunks/chunk-3VI4HD7D.js +31 -0
- package/dist/bundle/chunks/chunk-6R7UI4IY.js +2 -0
- package/dist/bundle/chunks/chunk-72KO4OMP.js +2 -0
- package/dist/bundle/chunks/chunk-7DDKXS2Q.js +2 -0
- package/dist/bundle/chunks/chunk-ARF4OE6X.js +105 -0
- package/dist/bundle/chunks/chunk-BOW22LW6.js +42 -0
- package/dist/bundle/chunks/chunk-BZQ53VGE.js +70 -0
- package/dist/bundle/chunks/chunk-CBHC6EL7.js +133 -0
- package/dist/bundle/chunks/chunk-D7XAASZM.js +4 -0
- package/dist/bundle/chunks/chunk-ECWELYBH.js +17 -0
- package/dist/bundle/chunks/chunk-GMWCTUPB.js +2 -0
- package/dist/bundle/chunks/chunk-H2O6VOXT.js +11 -0
- package/dist/bundle/chunks/chunk-HNVPY4LZ.js +5995 -0
- package/dist/bundle/chunks/chunk-JUUC5AZY.js +2 -0
- package/dist/bundle/chunks/chunk-JXWJOIH4.js +2 -0
- package/dist/bundle/chunks/chunk-L2ZPNLYD.js +2 -0
- package/dist/bundle/chunks/chunk-LVVZS2NO.js +12 -0
- package/dist/bundle/chunks/chunk-M2GYSCCG.js +44 -0
- package/dist/bundle/chunks/chunk-MA4UUCYX.js +18 -0
- package/dist/bundle/chunks/chunk-PGXDEOVV.js +2 -0
- package/dist/bundle/chunks/chunk-PJACZCIR.js +2 -0
- package/dist/bundle/chunks/chunk-PRRNXB7S.js +2 -0
- package/dist/bundle/chunks/chunk-SGTGQNNP.js +4 -0
- package/dist/bundle/chunks/chunk-TEPMHNKQ.js +2 -0
- package/dist/bundle/chunks/chunk-TXBQIIIO.js +2 -0
- package/dist/bundle/chunks/chunk-WJZ4KLGL.js +2 -0
- package/dist/bundle/chunks/chunk-XNGRGP62.js +2 -0
- package/dist/bundle/chunks/dist-7DSXV2TY.js +9 -0
- package/dist/bundle/chunks/dist-BXEVYJIO.js +7 -0
- package/dist/bundle/chunks/es-P2KNSZYR.js +9 -0
- package/dist/bundle/chunks/es5-FGTJ7ZFW.js +2 -0
- package/dist/bundle/chunks/event-streams-JOSQQSII.js +2 -0
- package/dist/bundle/chunks/extract-2L7ZVN7F.js +106 -0
- package/dist/bundle/chunks/github-copilot.js +2 -0
- package/dist/bundle/chunks/google-generative-ai-XT7NQJ2E.js +2 -0
- package/dist/bundle/chunks/google-vertex-IDQ6Z53W.js +2 -0
- package/dist/bundle/chunks/image-resize-worker.js +2 -0
- package/dist/bundle/chunks/kimi-coding.js +2 -0
- package/dist/bundle/chunks/mistral-conversations-HHDZ4FHR.js +5 -0
- package/dist/bundle/chunks/multipart-parser-FMGQ7342.js +3 -0
- package/dist/bundle/chunks/node-XY3CBY3C.js +294 -0
- package/dist/bundle/chunks/node-ZHY4LHC7.js +15 -0
- package/dist/bundle/chunks/openai-codex-responses-HRVCDY54.js +8 -0
- package/dist/bundle/chunks/openai-codex.js +75 -0
- package/dist/bundle/chunks/openai-completions-6QBYTBXY.js +7 -0
- package/dist/bundle/chunks/openai-responses-4MWLJHIK.js +2 -0
- package/dist/bundle/chunks/openrouter-images-Y2PCWAQH.js +2 -0
- package/dist/bundle/chunks/openrouter.js +75 -0
- package/dist/bundle/chunks/pdfjs-UKQT3OWY.js +107 -0
- package/dist/bundle/chunks/pi-messages-57K43J6J.js +8 -0
- package/dist/bundle/chunks/promise-J5TGSM32.js +2 -0
- package/dist/bundle/chunks/radius.js +75 -0
- package/dist/bundle/chunks/src-QKGKDFSU.js +4 -0
- package/dist/bundle/chunks/undici-D6ABF53Q.js +2 -0
- package/dist/bundle/chunks/webapi-AFS5FDJJ.js +5 -0
- package/dist/bundle/chunks/xai.js +2 -0
- package/dist/bundle/cli.js +3 -0
- package/dist/bundle/client.js +2 -0
- package/dist/bundle/index.js +2 -0
- package/dist/bundle/rpc-entry.js +3 -0
- package/dist/cli/args.d.ts +1 -0
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +29 -9
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/file-processor.d.ts.map +1 -1
- package/dist/cli/file-processor.js +2 -1
- package/dist/cli/file-processor.js.map +1 -1
- package/dist/config.d.ts +1 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +19 -11
- package/dist/config.js.map +1 -1
- package/dist/core/agent-session.d.ts +50 -14
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +163 -95
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/auth-storage.d.ts.map +1 -1
- package/dist/core/auth-storage.js +6 -7
- package/dist/core/auth-storage.js.map +1 -1
- package/dist/core/compaction/branch-summarization.d.ts.map +1 -1
- package/dist/core/compaction/branch-summarization.js +3 -0
- package/dist/core/compaction/branch-summarization.js.map +1 -1
- package/dist/core/compaction/compaction.d.ts +4 -3
- package/dist/core/compaction/compaction.d.ts.map +1 -1
- package/dist/core/compaction/compaction.js +41 -32
- package/dist/core/compaction/compaction.js.map +1 -1
- package/dist/core/defaults.d.ts +1 -0
- package/dist/core/defaults.d.ts.map +1 -1
- package/dist/core/defaults.js +9 -0
- package/dist/core/defaults.js.map +1 -1
- package/dist/core/extensions/index.d.ts +2 -2
- package/dist/core/extensions/index.d.ts.map +1 -1
- package/dist/core/extensions/index.js +1 -1
- package/dist/core/extensions/index.js.map +1 -1
- package/dist/core/extensions/loader.d.ts.map +1 -1
- package/dist/core/extensions/loader.js +115 -48
- package/dist/core/extensions/loader.js.map +1 -1
- package/dist/core/extensions/types.d.ts +38 -9
- package/dist/core/extensions/types.d.ts.map +1 -1
- package/dist/core/extensions/types.js +3 -0
- package/dist/core/extensions/types.js.map +1 -1
- package/dist/core/footer-data-provider.d.ts +1 -1
- package/dist/core/footer-data-provider.js +1 -1
- package/dist/core/footer-data-provider.js.map +1 -1
- package/dist/core/keybindings.d.ts +20 -19
- package/dist/core/keybindings.d.ts.map +1 -1
- package/dist/core/keybindings.js +26 -5
- package/dist/core/keybindings.js.map +1 -1
- package/dist/core/model-config.d.ts +5 -0
- package/dist/core/model-config.d.ts.map +1 -1
- package/dist/core/model-config.js +3 -1
- package/dist/core/model-config.js.map +1 -1
- package/dist/core/model-resolver.d.ts +1 -0
- package/dist/core/model-resolver.d.ts.map +1 -1
- package/dist/core/model-resolver.js +18 -8
- package/dist/core/model-resolver.js.map +1 -1
- package/dist/core/models-store.d.ts.map +1 -1
- package/dist/core/models-store.js +2 -1
- package/dist/core/models-store.js.map +1 -1
- package/dist/core/package-manager.d.ts.map +1 -1
- package/dist/core/package-manager.js +22 -14
- package/dist/core/package-manager.js.map +1 -1
- package/dist/core/pi-manifest.d.ts.map +1 -1
- package/dist/core/pi-manifest.js +2 -1
- package/dist/core/pi-manifest.js.map +1 -1
- package/dist/core/remote-catalog-provider.d.ts.map +1 -1
- package/dist/core/remote-catalog-provider.js +2 -1
- package/dist/core/remote-catalog-provider.js.map +1 -1
- package/dist/core/resource-loader.d.ts.map +1 -1
- package/dist/core/resource-loader.js +3 -2
- package/dist/core/resource-loader.js.map +1 -1
- package/dist/core/sdk.d.ts +2 -2
- package/dist/core/sdk.d.ts.map +1 -1
- package/dist/core/sdk.js +10 -3
- package/dist/core/sdk.js.map +1 -1
- package/dist/core/session-export.d.ts +4 -0
- package/dist/core/session-export.d.ts.map +1 -0
- package/dist/core/session-export.js +32 -0
- package/dist/core/session-export.js.map +1 -0
- package/dist/core/session-manager.d.ts.map +1 -1
- package/dist/core/session-manager.js +2 -1
- package/dist/core/session-manager.js.map +1 -1
- package/dist/core/settings-diagnostics.d.ts +9 -0
- package/dist/core/settings-diagnostics.d.ts.map +1 -0
- package/dist/core/settings-diagnostics.js +21 -0
- package/dist/core/settings-diagnostics.js.map +1 -0
- package/dist/core/settings-manager.d.ts +9 -0
- package/dist/core/settings-manager.d.ts.map +1 -1
- package/dist/core/settings-manager.js +51 -10
- package/dist/core/settings-manager.js.map +1 -1
- package/dist/core/skills.d.ts.map +1 -1
- package/dist/core/skills.js +51 -33
- package/dist/core/skills.js.map +1 -1
- package/dist/core/slash-commands.d.ts.map +1 -1
- package/dist/core/slash-commands.js +2 -1
- package/dist/core/slash-commands.js.map +1 -1
- package/dist/core/system-prompt.d.ts.map +1 -1
- package/dist/core/system-prompt.js +11 -2
- package/dist/core/system-prompt.js.map +1 -1
- package/dist/core/tools/bash.d.ts +16 -3
- package/dist/core/tools/bash.d.ts.map +1 -1
- package/dist/core/tools/bash.js +62 -29
- package/dist/core/tools/bash.js.map +1 -1
- package/dist/core/tools/edit-diff.d.ts +0 -5
- package/dist/core/tools/edit-diff.d.ts.map +1 -1
- package/dist/core/tools/edit-diff.js +2 -5
- package/dist/core/tools/edit-diff.js.map +1 -1
- package/dist/core/tools/edit.d.ts.map +1 -1
- package/dist/core/tools/edit.js +20 -4
- package/dist/core/tools/edit.js.map +1 -1
- package/dist/core/tools/index.d.ts +4 -1
- package/dist/core/tools/index.d.ts.map +1 -1
- package/dist/core/tools/index.js +19 -1
- package/dist/core/tools/index.js.map +1 -1
- package/dist/core/tools/powershell.d.ts +16 -0
- package/dist/core/tools/powershell.d.ts.map +1 -0
- package/dist/core/tools/powershell.js +39 -0
- package/dist/core/tools/powershell.js.map +1 -0
- package/dist/core/tools/subagent.d.ts.map +1 -1
- package/dist/core/tools/subagent.js +21 -28
- package/dist/core/tools/subagent.js.map +1 -1
- package/dist/core/trust-manager.d.ts.map +1 -1
- package/dist/core/trust-manager.js +2 -1
- package/dist/core/trust-manager.js.map +1 -1
- package/dist/extensions/llama/index.d.ts.map +1 -1
- package/dist/extensions/llama/index.js +2 -0
- package/dist/extensions/llama/index.js.map +1 -1
- package/dist/extensions/llama/provider.d.ts.map +1 -1
- package/dist/extensions/llama/provider.js +6 -2
- package/dist/extensions/llama/provider.js.map +1 -1
- package/dist/humain/agent-execution-protocol.d.ts +1 -217
- package/dist/humain/agent-execution-protocol.d.ts.map +1 -1
- package/dist/humain/agent-execution-protocol.js +1 -203
- package/dist/humain/agent-execution-protocol.js.map +1 -1
- package/dist/humain/bedrock-provider/vendor/index.bundle.mjs +107 -16
- package/dist/humain/mcp-adapter/vendor/CHANGELOG.md +82 -0
- package/dist/humain/mcp-adapter/vendor/README.md +47 -15
- package/dist/humain/mcp-adapter/vendor/cli.js +4 -4
- package/dist/humain/mcp-adapter/vendor/commands.ts +5 -3
- package/dist/humain/mcp-adapter/vendor/config.ts +46 -5
- package/dist/humain/mcp-adapter/vendor/direct-tools.ts +103 -92
- package/dist/humain/mcp-adapter/vendor/dist/agent-dir.d.ts +10 -0
- package/dist/humain/mcp-adapter/vendor/dist/agent-dir.js +63 -0
- package/dist/humain/mcp-adapter/vendor/dist/agent-dir.js.map +1 -0
- package/dist/humain/mcp-adapter/vendor/dist/agent-plugin-loader.d.ts +8 -0
- package/dist/humain/mcp-adapter/vendor/dist/agent-plugin-loader.js +356 -0
- package/dist/humain/mcp-adapter/vendor/dist/agent-plugin-loader.js.map +1 -0
- package/dist/humain/mcp-adapter/vendor/dist/config.d.ts +123 -0
- package/dist/humain/mcp-adapter/vendor/dist/config.js +1088 -0
- package/dist/humain/mcp-adapter/vendor/dist/config.js.map +1 -0
- package/dist/humain/mcp-adapter/vendor/dist/mcp-bearer-store.d.ts +24 -0
- package/dist/humain/mcp-adapter/vendor/dist/mcp-bearer-store.js +336 -0
- package/dist/humain/mcp-adapter/vendor/dist/mcp-bearer-store.js.map +1 -0
- package/dist/humain/mcp-adapter/vendor/dist/metadata-cache.d.ts +19 -0
- package/dist/humain/mcp-adapter/vendor/dist/metadata-cache.js +319 -0
- package/dist/humain/mcp-adapter/vendor/dist/metadata-cache.js.map +1 -0
- package/dist/humain/mcp-adapter/vendor/dist/package-mcp-loader.d.ts +2 -0
- package/dist/humain/mcp-adapter/vendor/dist/package-mcp-loader.js +156 -0
- package/dist/humain/mcp-adapter/vendor/dist/package-mcp-loader.js.map +1 -0
- package/dist/humain/mcp-adapter/vendor/dist/resource-tools.d.ts +1 -0
- package/dist/humain/mcp-adapter/vendor/dist/resource-tools.js +15 -0
- package/dist/humain/mcp-adapter/vendor/dist/resource-tools.js.map +1 -0
- package/dist/humain/mcp-adapter/vendor/dist/types.d.ts +566 -0
- package/dist/humain/mcp-adapter/vendor/dist/types.js +287 -0
- package/dist/humain/mcp-adapter/vendor/dist/types.js.map +1 -0
- package/dist/humain/mcp-adapter/vendor/dist/ui-app-bridge-helpers.d.ts +6 -0
- package/dist/humain/mcp-adapter/vendor/dist/ui-app-bridge-helpers.js +37 -0
- package/dist/humain/mcp-adapter/vendor/dist/ui-app-bridge-helpers.js.map +1 -0
- package/dist/humain/mcp-adapter/vendor/dist/ui-stream-types.d.ts +104 -0
- package/dist/humain/mcp-adapter/vendor/dist/ui-stream-types.js +59 -0
- package/dist/humain/mcp-adapter/vendor/dist/ui-stream-types.js.map +1 -0
- package/dist/humain/mcp-adapter/vendor/dist/ui-tool-visibility.d.ts +4 -0
- package/dist/humain/mcp-adapter/vendor/dist/ui-tool-visibility.js +27 -0
- package/dist/humain/mcp-adapter/vendor/dist/ui-tool-visibility.js.map +1 -0
- package/dist/humain/mcp-adapter/vendor/dist/utils.d.ts +32 -0
- package/dist/humain/mcp-adapter/vendor/dist/utils.js +338 -0
- package/dist/humain/mcp-adapter/vendor/dist/utils.js.map +1 -0
- package/dist/humain/mcp-adapter/vendor/failure-backoff.ts +23 -0
- package/dist/humain/mcp-adapter/vendor/index.bundle.mjs +4870 -3878
- package/dist/humain/mcp-adapter/vendor/index.ts +294 -88
- package/dist/humain/mcp-adapter/vendor/init.ts +41 -30
- package/dist/humain/mcp-adapter/vendor/lifecycle.ts +16 -8
- package/dist/humain/mcp-adapter/vendor/mcp-auth-flow.ts +124 -32
- package/dist/humain/mcp-adapter/vendor/mcp-bearer-store.ts +0 -2
- package/dist/humain/mcp-adapter/vendor/mcp-code.ts +2 -0
- package/dist/humain/mcp-adapter/vendor/mcp-oauth-provider.ts +155 -16
- package/dist/humain/mcp-adapter/vendor/mcp-output-guard.ts +95 -7
- package/dist/humain/mcp-adapter/vendor/mcp-probe.ts +18 -4
- package/dist/humain/mcp-adapter/vendor/mcp-references.ts +376 -0
- package/dist/humain/mcp-adapter/vendor/mcp-status.ts +8 -19
- package/dist/humain/mcp-adapter/vendor/metadata-cache.ts +20 -12
- package/dist/humain/mcp-adapter/vendor/namespace-tools.ts +276 -0
- package/dist/humain/mcp-adapter/vendor/package.json +26 -8
- package/dist/humain/mcp-adapter/vendor/proxy-modes.ts +128 -32
- package/dist/humain/mcp-adapter/vendor/request-headers-command.ts +1 -1
- package/dist/humain/mcp-adapter/vendor/search-ranking.ts +2 -0
- package/dist/humain/mcp-adapter/vendor/server-manager.ts +69 -12
- package/dist/humain/mcp-adapter/vendor/state.ts +1 -3
- package/dist/humain/mcp-adapter/vendor/tool-result-renderer.ts +16 -2
- package/dist/humain/mcp-adapter/vendor/types.ts +51 -2
- package/dist/humain/mcp-adapter/vendor/ui-server.ts +3 -19
- package/dist/humain/mcp-adapter/vendor/ui-session.ts +2 -1
- package/dist/humain/mcp-adapter/vendor/utils.ts +21 -19
- package/dist/humain/mcp-adapter.d.ts.map +1 -1
- package/dist/humain/mcp-adapter.js +4 -0
- package/dist/humain/mcp-adapter.js.map +1 -1
- package/dist/humain/web-access/vendor/chrome-cookies.d.ts +14 -0
- package/dist/humain/web-access/vendor/chrome-cookies.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/chrome-cookies.js +85 -33
- package/dist/humain/web-access/vendor/chrome-cookies.js.map +1 -1
- package/dist/humain/web-access/vendor/credential-source.d.ts +1 -1
- package/dist/humain/web-access/vendor/credential-source.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/credential-source.js +3 -1
- package/dist/humain/web-access/vendor/credential-source.js.map +1 -1
- package/dist/humain/web-access/vendor/curator-page.d.ts +2 -29
- package/dist/humain/web-access/vendor/curator-page.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/curator-page.js +10 -1
- package/dist/humain/web-access/vendor/curator-page.js.map +1 -1
- package/dist/humain/web-access/vendor/curator-server.d.ts +2 -29
- package/dist/humain/web-access/vendor/curator-server.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/curator-server.js +4 -0
- package/dist/humain/web-access/vendor/curator-server.js.map +1 -1
- package/dist/humain/web-access/vendor/extract.d.ts +11 -0
- package/dist/humain/web-access/vendor/extract.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/extract.js +163 -20
- package/dist/humain/web-access/vendor/extract.js.map +1 -1
- package/dist/humain/web-access/vendor/fetch-params.d.ts +2 -0
- package/dist/humain/web-access/vendor/fetch-params.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/fetch-params.js +11 -0
- package/dist/humain/web-access/vendor/fetch-params.js.map +1 -1
- package/dist/humain/web-access/vendor/gemini-adc.d.ts +10 -0
- package/dist/humain/web-access/vendor/gemini-adc.d.ts.map +1 -0
- package/dist/humain/web-access/vendor/gemini-adc.js +268 -0
- package/dist/humain/web-access/vendor/gemini-adc.js.map +1 -0
- package/dist/humain/web-access/vendor/gemini-api.d.ts +7 -1
- package/dist/humain/web-access/vendor/gemini-api.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/gemini-api.js +51 -15
- package/dist/humain/web-access/vendor/gemini-api.js.map +1 -1
- package/dist/humain/web-access/vendor/gemini-search.d.ts +9 -4
- package/dist/humain/web-access/vendor/gemini-search.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/gemini-search.js +63 -21
- package/dist/humain/web-access/vendor/gemini-search.js.map +1 -1
- package/dist/humain/web-access/vendor/gemini-url-context.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/gemini-url-context.js +3 -2
- package/dist/humain/web-access/vendor/gemini-url-context.js.map +1 -1
- package/dist/humain/web-access/vendor/gemini-web-config.d.ts +8 -1
- package/dist/humain/web-access/vendor/gemini-web-config.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/gemini-web-config.js +49 -4
- package/dist/humain/web-access/vendor/gemini-web-config.js.map +1 -1
- package/dist/humain/web-access/vendor/gemini-web.d.ts +2 -1
- package/dist/humain/web-access/vendor/gemini-web.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/gemini-web.js +8 -3
- package/dist/humain/web-access/vendor/gemini-web.js.map +1 -1
- package/dist/humain/web-access/vendor/github-api.d.ts +1 -1
- package/dist/humain/web-access/vendor/github-api.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/github-api.js +6 -4
- package/dist/humain/web-access/vendor/github-api.js.map +1 -1
- package/dist/humain/web-access/vendor/github-extract.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/github-extract.js +50 -3
- package/dist/humain/web-access/vendor/github-extract.js.map +1 -1
- package/dist/humain/web-access/vendor/github-issue-pr.d.ts +27 -0
- package/dist/humain/web-access/vendor/github-issue-pr.d.ts.map +1 -0
- package/dist/humain/web-access/vendor/github-issue-pr.js +701 -0
- package/dist/humain/web-access/vendor/github-issue-pr.js.map +1 -0
- package/dist/humain/web-access/vendor/index.d.ts +3 -31
- package/dist/humain/web-access/vendor/index.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/index.js +643 -530
- package/dist/humain/web-access/vendor/index.js.map +1 -1
- package/dist/humain/web-access/vendor/kimi-search.d.ts +5 -0
- package/dist/humain/web-access/vendor/kimi-search.d.ts.map +1 -0
- package/dist/humain/web-access/vendor/kimi-search.js +228 -0
- package/dist/humain/web-access/vendor/kimi-search.js.map +1 -0
- package/dist/humain/web-access/vendor/openai-search.d.ts +3 -0
- package/dist/humain/web-access/vendor/openai-search.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/openai-search.js +89 -16
- package/dist/humain/web-access/vendor/openai-search.js.map +1 -1
- package/dist/humain/web-access/vendor/page-query.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/page-query.js +56 -8
- package/dist/humain/web-access/vendor/page-query.js.map +1 -1
- package/dist/humain/web-access/vendor/ssrf-protection.js +6 -1
- package/dist/humain/web-access/vendor/ssrf-protection.js.map +1 -1
- package/dist/humain/web-access/vendor/utils.d.ts +12 -0
- package/dist/humain/web-access/vendor/utils.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/utils.js +343 -1
- package/dist/humain/web-access/vendor/utils.js.map +1 -1
- package/dist/humain/web-access/vendor/xcrawl.d.ts +4 -0
- package/dist/humain/web-access/vendor/xcrawl.d.ts.map +1 -0
- package/dist/humain/web-access/vendor/xcrawl.js +251 -0
- package/dist/humain/web-access/vendor/xcrawl.js.map +1 -0
- package/dist/humain/web-access/vendor/youtube-extract.js +2 -2
- package/dist/humain/web-access/vendor/youtube-extract.js.map +1 -1
- package/dist/index.d.ts +5 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -4
- package/dist/index.js.map +1 -1
- package/dist/main.d.ts +3 -0
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +17 -14
- package/dist/main.js.map +1 -1
- package/dist/migrations.d.ts.map +1 -1
- package/dist/migrations.js +4 -3
- package/dist/migrations.js.map +1 -1
- package/dist/modes/interactive/components/model-selector.d.ts +9 -3
- package/dist/modes/interactive/components/model-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/model-selector.js +53 -10
- package/dist/modes/interactive/components/model-selector.js.map +1 -1
- package/dist/modes/interactive/components/settings-selector.d.ts +7 -2
- package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/settings-selector.js +118 -55
- package/dist/modes/interactive/components/settings-selector.js.map +1 -1
- package/dist/modes/interactive/components/settings-submenu.d.ts +72 -0
- package/dist/modes/interactive/components/settings-submenu.d.ts.map +1 -0
- package/dist/modes/interactive/components/settings-submenu.js +151 -0
- package/dist/modes/interactive/components/settings-submenu.js.map +1 -0
- package/dist/modes/interactive/components/thinking-selector.d.ts +15 -3
- package/dist/modes/interactive/components/thinking-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/thinking-selector.js +68 -17
- package/dist/modes/interactive/components/thinking-selector.js.map +1 -1
- package/dist/modes/interactive/external-editor.d.ts.map +1 -1
- package/dist/modes/interactive/external-editor.js +2 -1
- package/dist/modes/interactive/external-editor.js.map +1 -1
- package/dist/modes/interactive/interactive-mode.d.ts +11 -0
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +176 -106
- package/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/dist/modes/interactive/session-share.d.ts +16 -0
- package/dist/modes/interactive/session-share.d.ts.map +1 -0
- package/dist/modes/interactive/session-share.js +188 -0
- package/dist/modes/interactive/session-share.js.map +1 -0
- package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
- package/dist/modes/interactive/theme/theme.js +6 -5
- package/dist/modes/interactive/theme/theme.js.map +1 -1
- package/dist/modes/json-event.d.ts +16 -13
- package/dist/modes/json-event.d.ts.map +1 -1
- package/dist/modes/json-event.js +20 -6
- package/dist/modes/json-event.js.map +1 -1
- package/dist/modes/rpc/rpc-client.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-client.js +3 -2
- package/dist/modes/rpc/rpc-client.js.map +1 -1
- package/dist/modes/rpc/rpc-types.d.ts +2 -7
- package/dist/modes/rpc/rpc-types.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-types.js.map +1 -1
- package/dist/package-manager-cli.d.ts +1 -0
- package/dist/package-manager-cli.d.ts.map +1 -1
- package/dist/package-manager-cli.js +189 -3
- package/dist/package-manager-cli.js.map +1 -1
- package/dist/utils/changelog.d.ts +1 -1
- package/dist/utils/changelog.d.ts.map +1 -1
- package/dist/utils/changelog.js +12 -2
- package/dist/utils/changelog.js.map +1 -1
- package/dist/utils/frontmatter.d.ts.map +1 -1
- package/dist/utils/frontmatter.js +2 -1
- package/dist/utils/frontmatter.js.map +1 -1
- package/dist/utils/management-http.d.ts +5 -3
- package/dist/utils/management-http.d.ts.map +1 -1
- package/dist/utils/management-http.js +14 -10
- package/dist/utils/management-http.js.map +1 -1
- package/dist/utils/shell.d.ts +3 -0
- package/dist/utils/shell.d.ts.map +1 -1
- package/dist/utils/shell.js +17 -5
- package/dist/utils/shell.js.map +1 -1
- package/dist/utils/syntax-highlight.d.ts +1 -0
- package/dist/utils/syntax-highlight.d.ts.map +1 -1
- package/dist/utils/syntax-highlight.js +64 -1
- package/dist/utils/syntax-highlight.js.map +1 -1
- package/dist/utils/text.d.ts +8 -0
- package/dist/utils/text.d.ts.map +1 -0
- package/dist/utils/text.js +9 -0
- package/dist/utils/text.js.map +1 -0
- package/dist/utils/version-check.js +4 -4
- package/dist/utils/version-check.js.map +1 -1
- package/docs/compaction.md +15 -0
- package/docs/custom-provider.md +5 -2
- package/docs/environment-variables.md +7 -7
- package/docs/extensions.md +17 -7
- package/docs/json.md +7 -2
- package/docs/keybindings.md +8 -8
- package/docs/llama-cpp.md +2 -0
- package/docs/models.md +8 -2
- package/docs/packages.md +2 -2
- package/docs/rpc.md +9 -3
- package/docs/sdk.md +7 -2
- package/docs/settings.md +11 -3
- package/docs/skills.md +3 -2
- package/docs/terminal-setup.md +8 -0
- package/docs/usage.md +10 -7
- package/docs/windows.md +15 -1
- package/examples/extensions/border-status-editor.ts +1 -1
- package/examples/extensions/custom-provider-anthropic/package-lock.json +70 -8
- package/examples/extensions/custom-provider-anthropic/package.json +2 -2
- package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
- package/examples/extensions/git-checkpoint.ts +2 -2
- package/examples/extensions/gondolin/package-lock.json +2 -2
- package/examples/extensions/gondolin/package.json +1 -1
- package/examples/extensions/notify.ts +3 -1
- package/examples/extensions/sandbox/package-lock.json +14 -40
- package/examples/extensions/sandbox/package.json +2 -2
- package/examples/extensions/titlebar-spinner.ts +1 -1
- package/examples/extensions/with-deps/package-lock.json +4 -4
- package/examples/extensions/with-deps/package.json +1 -1
- package/examples/rpc-extension-ui.ts +1 -1
- package/examples/sdk/06-extensions.ts +1 -1
- package/examples/sdk/README.md +1 -1
- package/npm-shrinkwrap.json +293 -221
- package/package.json +21 -18
- package/src/humain/mcp-adapter/UPSTREAM.md +15 -5
- package/src/humain/mcp-adapter/upstream.json +4 -3
- package/src/humain/mcp-adapter/vendor/CHANGELOG.md +82 -0
- package/src/humain/web-access/UPSTREAM.md +1 -1
- package/src/humain/web-access/upstream.json +6 -4
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { createRequire as __piCreateRequire } from "node:module"; const require = __piCreateRequire(import.meta.url);
|
|
2
|
+
import"./chunk-JXWJOIH4.js";function polyfillDOMMatrix(){globalThis.DOMMatrix===void 0&&(globalThis.DOMMatrix=class{constructor(e2){Array.isArray(e2)&&e2.length===6?(this.a=e2[0],this.b=e2[1],this.c=e2[2],this.d=e2[3],this.e=e2[4],this.f=e2[5]):(this.a=1,this.b=0,this.c=0,this.d=1,this.e=0,this.f=0)}translateSelf(e2,t2=0){return this.e=this.a*e2+this.c*t2+this.e,this.f=this.b*e2+this.d*t2+this.f,this}scaleSelf(e2,t2=e2){return this.a*=e2,this.b*=e2,this.c*=t2,this.d*=t2,this}})}if(polyfillDOMMatrix(),globalThis.FinalizationRegistry===void 0&&(globalThis.FinalizationRegistry=class{register(){}unregister(){}}),globalThis.navigator??={},globalThis.navigator.platform??="",globalThis.navigator.userAgent??="",Promise.withResolvers===void 0&&(Promise.withResolvers=function(){let e2,t2;return{promise:new Promise((n2,r2)=>{e2=n2,t2=r2}),resolve:e2,reject:t2}}),Promise.try===void 0&&(Promise.try=function(e2,...t2){return new Promise(n2=>n2(e2(...t2)))}),Map.prototype.getOrInsertComputed===void 0&&Object.defineProperty(Map.prototype,"getOrInsertComputed",{value(e2,t2){if(this.has(e2))return this.get(e2);let n2=t2(e2);return this.set(e2,n2),n2},writable:!0,configurable:!0}),Uint8Array.prototype.toHex===void 0&&Object.defineProperty(Uint8Array.prototype,"toHex",{value(){let e2="";for(let t2=0;t2<this.length;t2++)e2+=this[t2].toString(16).padStart(2,"0");return e2},writable:!0,configurable:!0}),Math.sumPrecise===void 0&&Object.defineProperty(Math,"sumPrecise",{value(e2){let t2=0;for(let n2 of e2)t2+=n2;return t2},writable:!0,configurable:!0}),typeof ReadableStream<"u"&&ReadableStream.prototype[Symbol.asyncIterator]===void 0){let asyncIterator=function({preventCancel:e2=!1}={}){let t2=this.getReader(),n2=!1,r2=Promise.resolve(),next=()=>n2?Promise.resolve({value:void 0,done:!0}):t2.read().then(e3=>(e3.done&&(n2=!0,t2.releaseLock()),e3),e3=>{throw n2=!0,t2.releaseLock(),e3}),doReturn=r3=>{if(n2)return Promise.resolve({value:r3,done:!0});if(n2=!0,e2)return t2.releaseLock(),Promise.resolve({value:r3,done:!0});let i2=t2.cancel(r3);return t2.releaseLock(),i2.then(()=>({value:r3,done:!0}))};return{next(){return r2=r2.then(next,next)},return(e3){return r2=r2.then(()=>doReturn(e3),()=>doReturn(e3))},[Symbol.asyncIterator](){return this}}};for(let e2 of[Symbol.asyncIterator,"values"])Object.defineProperty(ReadableStream.prototype,e2,{value:asyncIterator,writable:!0,configurable:!0})}var e=typeof process=="object"&&process+""=="[object process]"&&!process.versions.nw&&!(process.versions.electron&&process.type&&process.type!=="browser"),t=[1/0,1/0,-1/0,-1/0],n=new Float32Array(t),r=[.001,0,0,.001,0,0],i=1.35,a=.35,o=a/i,s="http://www.w3.org/2000/svg",c={ANY:1,DISPLAY:2,PRINT:4,SAVE:8,ANNOTATIONS_FORMS:16,ANNOTATIONS_STORAGE:32,ANNOTATIONS_DISABLE:64,IS_EDITING:128,OPLIST:256},l="pdfjs_internal_editor_",u={DISABLE:-1,NONE:0,FREETEXT:3,HIGHLIGHT:9,STAMP:13,INK:15,POPUP:16,SIGNATURE:101,COMMENT:102},d={PRINT:4,MODIFY_CONTENTS:8,COPY:16,MODIFY_ANNOTATIONS:32,FILL_INTERACTIVE_FORMS:256,COPY_FOR_ACCESSIBILITY:512,ASSEMBLE:1024,PRINT_HIGH_QUALITY:2048},f={TRIANGLES:1,LATTICE:2,PATCH:3},p={FILL:0,STROKE:1,FILL_STROKE:2,INVISIBLE:3,FILL_ADD_TO_PATH:4,STROKE_ADD_TO_PATH:5,FILL_STROKE_ADD_TO_PATH:6,ADD_TO_PATH:7,FILL_STROKE_MASK:3,ADD_TO_PATH_FLAG:4},m={GRAYSCALE_1BPP:1,RGB_24BPP:2,RGBA_32BPP:3},h={TEXT:1,LINK:2,FREETEXT:3,LINE:4,SQUARE:5,CIRCLE:6,POLYGON:7,POLYLINE:8,HIGHLIGHT:9,UNDERLINE:10,SQUIGGLY:11,STRIKEOUT:12,STAMP:13,CARET:14,INK:15,POPUP:16,FILEATTACHMENT:17,SOUND:18,MOVIE:19,WIDGET:20,SCREEN:21,PRINTERMARK:22,TRAPNET:23,WATERMARK:24,THREED:25,REDACT:26,RICHMEDIA:27},g={GROUP:"Group",REPLY:"R"},_={PLAY_OR_RESUME:0,STOP:1,PAUSE:2,RESUME:3,PLAY:4},v={INVISIBLE:1,HIDDEN:2,PRINT:4,NOZOOM:8,NOROTATE:16,NOVIEW:32,READONLY:64,LOCKED:128,TOGGLENOVIEW:256,LOCKEDCONTENTS:512},y={READONLY:1,REQUIRED:2,NOEXPORT:4,MULTILINE:4096,PASSWORD:8192,NOTOGGLETOOFF:16384,RADIO:32768,PUSHBUTTON:65536,COMBO:131072,EDIT:262144,SORT:524288,FILESELECT:1048576,MULTISELECT:2097152,DONOTSPELLCHECK:4194304,DONOTSCROLL:8388608,COMB:16777216,RICHTEXT:33554432,RADIOSINUNISON:33554432,COMMITONSELCHANGE:67108864},b={SOLID:1,DASHED:2,BEVELED:3,INSET:4,UNDERLINE:5},x={E:"Mouse Enter",X:"Mouse Exit",D:"Mouse Down",U:"Mouse Up",Fo:"Focus",Bl:"Blur",PO:"PageOpen",PC:"PageClose",PV:"PageVisible",PI:"PageInvisible",K:"Keystroke",F:"Format",V:"Validate",C:"Calculate"},S={WC:"WillClose",WS:"WillSave",DS:"DidSave",WP:"WillPrint",DP:"DidPrint"},C={O:"PageOpen",C:"PageClose"},w={ERRORS:0,WARNINGS:1,INFOS:5},T={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},E={moveTo:0,lineTo:1,curveTo:2,quadraticCurveTo:3,closePath:4},D={NEED_PASSWORD:1,INCORRECT_PASSWORD:2},O=w.WARNINGS;function setVerbosityLevel$1(e2){Number.isInteger(e2)&&(O=e2)}function getVerbosityLevel$1(){return O}function info$1(e2){O>=w.INFOS&&console.info(`Info: ${e2}`)}function warn$1(e2){O>=w.WARNINGS&&console.warn(`Warning: ${e2}`)}function unreachable$1(e2){throw Error(e2)}function assert$1(e2,t2){e2||unreachable$1(t2)}function _isValidProtocol$1(e2){switch(e2?.protocol){case"http:":case"https:":case"ftp:":case"mailto:":case"tel:":return!0;default:return!1}}function createValidAbsoluteUrl$1(e2,t2=null,n2=null){if(!e2)return null;if(n2&&typeof e2=="string"&&(n2.addDefaultProtocol&&e2.startsWith("www.")&&e2.match(/\./g)?.length>=2&&(e2=`http://${e2}`),n2.tryConvertEncoding))try{e2=stringToUTF8String$1(e2)}catch{}let r2=t2?URL.parse(e2,t2):URL.parse(e2);return _isValidProtocol$1(r2)?r2:null}function stripPath$1(e2){return e2.substring(e2.lastIndexOf("/")+1)}function shadow$1(e2,t2,n2,r2=!1){return Object.defineProperty(e2,t2,{value:n2,enumerable:!r2,configurable:!0,writable:!1}),n2}var k=(function(){function BaseException(e2,t2){this.message=e2,this.name=t2}return BaseException.prototype=Error(),BaseException.constructor=BaseException,BaseException})(),PasswordException$1=class extends k{constructor(e2,t2){super(e2,"PasswordException"),this.code=t2}},UnknownErrorException$1=class extends k{constructor(e2,t2){super(e2,"UnknownErrorException"),this.details=t2}},InvalidPDFException$1=class extends k{constructor(e2){super(e2,"InvalidPDFException")}},ResponseException$1=class extends k{constructor(e2,t2,n2){super(e2,"ResponseException"),this.status=t2,this.missing=n2}},FormatError$1=class extends k{constructor(e2){super(e2,"FormatError")}},AbortException$1=class extends k{constructor(e2){super(e2,"AbortException")}};function bytesToString$1(e2){(typeof e2!="object"||e2?.length===void 0)&&unreachable$1("Invalid argument for bytesToString");let t2=e2.length,n2=8192;if(t2<n2)return String.fromCharCode.apply(null,e2);let r2=[];for(let i2=0;i2<t2;i2+=n2){let a2=Math.min(i2+n2,t2),o2=e2.subarray(i2,a2);r2.push(String.fromCharCode.apply(null,o2))}return r2.join("")}function stringToBytes$1(e2){typeof e2!="string"&&unreachable$1("Invalid argument for stringToBytes");let t2=e2.length,n2=new Uint8Array(t2);for(let r2=0;r2<t2;++r2)n2[r2]=e2.charCodeAt(r2)&255;return n2}function objectSize(e2){return Object.keys(e2).length}var FeatureTest$1=class{static get isLittleEndian(){let e2=new Uint8Array(4);e2[0]=1;let t2=new Uint32Array(e2.buffer,0,1);return shadow$1(this,"isLittleEndian",t2[0]===1)}static get isOffscreenCanvasSupported(){return shadow$1(this,"isOffscreenCanvasSupported",typeof OffscreenCanvas<"u")}static get isImageDecoderSupported(){return shadow$1(this,"isImageDecoderSupported",typeof ImageDecoder<"u")}static get isFloat16ArraySupported(){return shadow$1(this,"isFloat16ArraySupported",typeof Float16Array<"u")}static get isSanitizerSupported(){return shadow$1(this,"isSanitizerSupported",typeof Sanitizer<"u")}static get platform(){let{platform:e2,userAgent:t2}=navigator;return shadow$1(this,"platform",{isAndroid:t2.includes("Android"),isLinux:e2.includes("Linux"),isMac:e2.includes("Mac"),isWindows:e2.includes("Win"),isFirefox:t2.includes("Firefox")})}static get isCanvasFilterSupported(){let e2;return this.isOffscreenCanvasSupported&&(e2=new OffscreenCanvas(1,1).getContext("2d")),shadow$1(this,"isCanvasFilterSupported",e2?.filter!==void 0)}static get isAlphaColorInputSupported(){return shadow$1(this,"isAlphaColorInputSupported",!1)}static get isBackdropFilterSupported(){return shadow$1(this,"isBackdropFilterSupported",typeof CSS<"u"&&CSS.supports("backdrop-filter","blur(1px)"))}},Util$1=class{static get hexNums(){return shadow$1(this,"hexNums",Array.from(Array(256).keys(),e2=>e2.toString(16).padStart(2,"0")))}static makeHexColor(e2,t2,n2){return`#${this.hexNums[e2]}${this.hexNums[t2]}${this.hexNums[n2]}`}static transform(e2,t2){return[e2[0]*t2[0]+e2[2]*t2[1],e2[1]*t2[0]+e2[3]*t2[1],e2[0]*t2[2]+e2[2]*t2[3],e2[1]*t2[2]+e2[3]*t2[3],e2[0]*t2[4]+e2[2]*t2[5]+e2[4],e2[1]*t2[4]+e2[3]*t2[5]+e2[5]]}static multiplyByDOMMatrix(e2,t2){return[e2[0]*t2.a+e2[2]*t2.b,e2[1]*t2.a+e2[3]*t2.b,e2[0]*t2.c+e2[2]*t2.d,e2[1]*t2.c+e2[3]*t2.d,e2[0]*t2.e+e2[2]*t2.f+e2[4],e2[1]*t2.e+e2[3]*t2.f+e2[5]]}static applyTransform(e2,t2,n2=0){let r2=e2[n2],i2=e2[n2+1];e2[n2]=r2*t2[0]+i2*t2[2]+t2[4],e2[n2+1]=r2*t2[1]+i2*t2[3]+t2[5]}static applyTransformToBezier(e2,t2,n2=0){let r2=t2[0],i2=t2[1],a2=t2[2],o2=t2[3],s2=t2[4],c2=t2[5];for(let t3=0;t3<6;t3+=2){let l2=e2[n2+t3],u2=e2[n2+t3+1];e2[n2+t3]=l2*r2+u2*a2+s2,e2[n2+t3+1]=l2*i2+u2*o2+c2}}static applyInverseTransform(e2,t2){let n2=e2[0],r2=e2[1],i2=t2[0]*t2[3]-t2[1]*t2[2];e2[0]=(n2*t2[3]-r2*t2[2]+t2[2]*t2[5]-t2[4]*t2[3])/i2,e2[1]=(-n2*t2[1]+r2*t2[0]+t2[4]*t2[1]-t2[5]*t2[0])/i2}static axialAlignedBoundingBox(e2,t2,n2){let r2=t2[0],i2=t2[1],a2=t2[2],o2=t2[3],s2=t2[4],c2=t2[5],l2=e2[0],u2=e2[1],d2=e2[2],f2=e2[3],p2=r2*l2+s2,m2=p2,h2=r2*d2+s2,g2=h2,_2=o2*u2+c2,v2=_2,y2=o2*f2+c2,b2=y2;if(i2!==0||a2!==0){let e3=i2*l2,t3=i2*d2,n3=a2*u2,r3=a2*f2;p2+=n3,g2+=n3,h2+=r3,m2+=r3,_2+=e3,b2+=e3,y2+=t3,v2+=t3}n2[0]=Math.min(n2[0],p2,h2,m2,g2),n2[1]=Math.min(n2[1],_2,y2,v2,b2),n2[2]=Math.max(n2[2],p2,h2,m2,g2),n2[3]=Math.max(n2[3],_2,y2,v2,b2)}static inverseTransform(e2){let t2=e2[0]*e2[3]-e2[1]*e2[2];return[e2[3]/t2,-e2[1]/t2,-e2[2]/t2,e2[0]/t2,(e2[2]*e2[5]-e2[4]*e2[3])/t2,(e2[4]*e2[1]-e2[5]*e2[0])/t2]}static singularValueDecompose2dScale(e2,t2){let n2=e2[0],r2=e2[1],i2=e2[2],a2=e2[3],o2=n2**2+r2**2,s2=n2*i2+r2*a2,c2=i2**2+a2**2,l2=(o2+c2)/2,u2=Math.sqrt(l2**2-(o2*c2-s2**2));t2[0]=Math.sqrt(l2+u2||1),t2[1]=Math.sqrt(l2-u2||1)}static normalizeRect(e2){let t2=e2.slice(0);return e2[0]>e2[2]&&(t2[0]=e2[2],t2[2]=e2[0]),e2[1]>e2[3]&&(t2[1]=e2[3],t2[3]=e2[1]),t2}static intersect(e2,t2){let n2=Math.max(Math.min(e2[0],e2[2]),Math.min(t2[0],t2[2])),r2=Math.min(Math.max(e2[0],e2[2]),Math.max(t2[0],t2[2]));if(n2>r2)return null;let i2=Math.max(Math.min(e2[1],e2[3]),Math.min(t2[1],t2[3])),a2=Math.min(Math.max(e2[1],e2[3]),Math.max(t2[1],t2[3]));return i2>a2?null:[n2,i2,r2,a2]}static pointBoundingBox(e2,t2,n2){n2[0]=Math.min(n2[0],e2),n2[1]=Math.min(n2[1],t2),n2[2]=Math.max(n2[2],e2),n2[3]=Math.max(n2[3],t2)}static rectBoundingBox(e2,t2,n2,r2,i2){i2[0]=Math.min(i2[0],e2,n2),i2[1]=Math.min(i2[1],t2,r2),i2[2]=Math.max(i2[2],e2,n2),i2[3]=Math.max(i2[3],t2,r2)}static#e(e2,t2,n2,r2,i2,a2,o2,s2,c2,l2){if(c2<=0||c2>=1)return;let u2=1-c2,d2=c2*c2,f2=d2*c2,p2=u2*(u2*(u2*e2+3*c2*t2)+3*d2*n2)+f2*r2,m2=u2*(u2*(u2*i2+3*c2*a2)+3*d2*o2)+f2*s2;l2[0]=Math.min(l2[0],p2),l2[1]=Math.min(l2[1],m2),l2[2]=Math.max(l2[2],p2),l2[3]=Math.max(l2[3],m2)}static#t(e2,t2,n2,r2,i2,a2,o2,s2,c2,l2,u2,d2){if(Math.abs(c2)<1e-12){Math.abs(l2)>=1e-12&&this.#e(e2,t2,n2,r2,i2,a2,o2,s2,-u2/l2,d2);return}let f2=l2**2-4*u2*c2;if(f2<0)return;let p2=Math.sqrt(f2),m2=2*c2;this.#e(e2,t2,n2,r2,i2,a2,o2,s2,(-l2+p2)/m2,d2),this.#e(e2,t2,n2,r2,i2,a2,o2,s2,(-l2-p2)/m2,d2)}static bezierBoundingBox(e2,t2,n2,r2,i2,a2,o2,s2,c2){c2[0]=Math.min(c2[0],e2,o2),c2[1]=Math.min(c2[1],t2,s2),c2[2]=Math.max(c2[2],e2,o2),c2[3]=Math.max(c2[3],t2,s2),this.#t(e2,n2,i2,o2,t2,r2,a2,s2,3*(-e2+3*(n2-i2)+o2),6*(e2-2*n2+i2),3*(n2-e2),c2),this.#t(e2,n2,i2,o2,t2,r2,a2,s2,3*(-t2+3*(r2-a2)+s2),6*(t2-2*r2+a2),3*(r2-t2),c2)}};function stringToUTF8String$1(e2){return decodeURIComponent(escape(e2))}function utf8StringToString(e2){return unescape(encodeURIComponent(e2))}function isArrayEqual(e2,t2){if(e2.length!==t2.length)return!1;for(let n2=0,r2=e2.length;n2<r2;n2++)if(e2[n2]!==t2[n2])return!1;return!0}var j=null,ee=null;function normalizeUnicode$1(e2){return j||(j=/([\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,ee=new Map([["\uFB05","\u017Ft"]])),e2.replaceAll(j,(e3,t2,n2)=>t2?t2.normalize("NFKC"):ee.get(n2))}function _isValidExplicitDest$1(e2,t2,n2){if(!Array.isArray(n2)||n2.length<2)return!1;let[r2,i2,...a2]=n2;if(!e2(r2)&&!Number.isInteger(r2)||!t2(i2))return!1;let o2=a2.length,s2=!0;switch(i2.name){case"XYZ":if(o2<2||o2>3)return!1;break;case"Fit":case"FitB":return o2===0;case"FitH":case"FitBH":case"FitV":case"FitBV":if(o2>1)return!1;break;case"FitR":if(o2!==4)return!1;s2=!1;break;default:return!1}for(let e3 of a2)if(!(typeof e3=="number"||s2&&e3===null))return!1;return!0}var makeArr$1=()=>[],makeMap$1=()=>new Map,makeObj$1=()=>Object.create(null),M=Symbol("CIRCULAR_REF"),te=Symbol("EOF"),ne=Object.create(null),re=Object.create(null),ie=Object.create(null);function clearPrimitiveCaches(){ne=Object.create(null),re=Object.create(null),ie=Object.create(null)}var N=class Name{constructor(e2){this.name=e2}static get(e2){return re[e2]||=new Name(e2)}},ae=class Cmd{constructor(e2){this.cmd=e2}static get(e2){return ne[e2]||=new Cmd(e2)}},oe=function(){return oe},F=class Dict{__nonSerializable__=oe;#e=new Map;objId=null;suppressEncryption=!1;xref;constructor(e2=null){this.xref=e2}assignXref(e2){this.xref=e2}get size(){return this.#e.size}#t(e2,t2,n2,r2){let i2=this.#e.get(t2);return i2===void 0&&n2!==void 0&&(i2=this.#e.get(n2),i2===void 0&&r2!==void 0&&(i2=this.#e.get(r2))),i2 instanceof L&&this.xref?e2?this.xref.fetchAsync(i2,this.suppressEncryption):this.xref.fetch(i2,this.suppressEncryption):i2}get(e2,t2,n2){return this.#t(!1,e2,t2,n2)}async getAsync(e2,t2,n2){return this.#t(!0,e2,t2,n2)}getArray(e2,t2,n2){let r2=this.#t(!1,e2,t2,n2);if(Array.isArray(r2)){r2=r2.slice();for(let e3=0,t3=r2.length;e3<t3;e3++)r2[e3]instanceof L&&this.xref&&(r2[e3]=this.xref.fetch(r2[e3],this.suppressEncryption))}return r2}getRaw(e2){return this.#e.get(e2)}getKeys(){return this.#e.keys()}getRawValues(){return this.#e.values()}getRawEntries(){return this.#e.entries()}set(e2,t2){this.#e.set(e2,t2)}setIfNotExists(e2,t2){this.has(e2)||this.set(e2,t2)}setIfNumber(e2,t2){typeof t2=="number"&&this.set(e2,t2)}setIfArray(e2,t2){(Array.isArray(t2)||ArrayBuffer.isView(t2))&&this.set(e2,t2)}setIfDefined(e2,t2){t2!=null&&this.set(e2,t2)}setIfName(e2,t2){typeof t2=="string"?this.set(e2,N.get(t2)):t2 instanceof N&&this.set(e2,t2)}setIfDict(e2,t2){t2 instanceof Dict&&this.set(e2,t2)}has(e2){return this.#e.has(e2)}*[Symbol.iterator](){for(let[e2,t2]of this.#e)yield[e2,t2 instanceof L&&this.xref?this.xref.fetch(t2,this.suppressEncryption):t2]}static get empty(){let e2=new Dict(null);return e2.set=(e3,t2)=>{unreachable$1("Should not call `set` on the empty dictionary.")},shadow$1(this,"empty",e2)}static merge({xref:e2,dictArray:t2,mergeSubDicts:n2=!1}){let r2=new Dict(e2),i2=new Map;for(let e3 of t2)if(e3 instanceof Dict)for(let[t3,r3]of e3.getRawEntries()){let e4=i2.getOrInsertComputed(t3,makeArr$1);e4.length&&!(n2&&r3 instanceof Dict)||e4.push(r3)}for(let[t3,n3]of i2){if(n3.length===1||!(n3[0]instanceof Dict)){r2.set(t3,n3[0]);continue}let i3=new Dict(e2);for(let e3 of n3)for(let[t4,n4]of e3.getRawEntries())i3.setIfNotExists(t4,n4);i3.size>0&&r2.set(t3,i3)}return i2.clear(),r2.size>0?r2:Dict.empty}clone(){let e2=new Dict(this.xref);for(let[t2,n2]of this.#e)e2.set(t2,n2);return e2}delete(e2){this.#e.delete(e2)}},L=class Ref{constructor(e2,t2){this.num=e2,this.gen=t2}toString(){return this.gen===0?`${this.num}R`:`${this.num}R${this.gen}`}static fromString(e2){let t2=ie[e2];if(t2)return t2;let n2=/^(\d+)R(\d*)$/.exec(e2);return!n2||n2[1]==="0"?null:ie[e2]=new Ref(parseInt(n2[1],10),n2[2]?parseInt(n2[2],10):0)}static get(e2,t2){let n2=t2===0?`${e2}R`:`${e2}R${t2}`;return ie[n2]||=new Ref(e2,t2)}},RefSet=class{constructor(e2=null){this._set=new Set(e2?._set)}has(e2){return this._set.has(e2.toString())}put(e2){this._set.add(e2.toString())}remove(e2){this._set.delete(e2.toString())}[Symbol.iterator](){return this._set.values()}clear(){this._set.clear()}},RefSetCache=class{_map=new Map;get size(){return this._map.size}get(e2){return this._map.get(e2.toString())}has(e2){return this._map.has(e2.toString())}put(e2,t2){this._map.set(e2.toString(),t2)}putAlias(e2,t2){this._map.set(e2.toString(),this.get(t2))}[Symbol.iterator](){return this._map.values()}clear(){this._map.clear()}*values(){yield*this._map.values()}*items(){for(let[e2,t2]of this._map)yield[L.fromString(e2),t2]}*keys(){for(let e2 of this._map.keys())yield L.fromString(e2)}};function isName(e2,t2){return e2 instanceof N&&(t2===void 0||e2.name===t2)}function isCmd(e2,t2){return e2 instanceof ae&&(t2===void 0||e2.cmd===t2)}function isDict(e2,t2){return e2 instanceof F&&(t2===void 0||isName(e2.get("Type"),t2))}function isRefsEqual(e2,t2){return e2.num===t2.num&&e2.gen===t2.gen}var BaseStream=class{get length(){unreachable$1("Abstract getter `length` accessed")}get isEmpty(){unreachable$1("Abstract getter `isEmpty` accessed")}get isDataLoaded(){return shadow$1(this,"isDataLoaded",!0)}getByte(){unreachable$1("Abstract method `getByte` called")}getBytes(e2){unreachable$1("Abstract method `getBytes` called")}async getImageData(e2,t2){return this.getBytes(e2,t2)}async asyncGetBytes(){unreachable$1("Abstract method `asyncGetBytes` called")}get isAsync(){return!1}get isAsyncDecoder(){return!1}get isImageStream(){return!1}get canAsyncDecodeImageFromBuffer(){return!1}async getTransferableImage(){return null}peekByte(){let e2=this.getByte();return e2!==-1&&this.pos--,e2}peekBytes(e2){let t2=this.getBytes(e2);return this.pos-=t2.length,t2}getUint16(){let e2=this.getByte(),t2=this.getByte();return e2===-1||t2===-1?-1:(e2<<8)+t2}getInt32(){let e2=this.getByte(),t2=this.getByte(),n2=this.getByte(),r2=this.getByte();return(e2<<24)+(t2<<16)+(n2<<8)+r2}getByteRange(e2,t2){unreachable$1("Abstract method `getByteRange` called")}getString(e2){return bytesToString$1(this.getBytes(e2))}skip(e2){this.pos+=e2||1}reset(){unreachable$1("Abstract method `reset` called")}moveStart(){unreachable$1("Abstract method `moveStart` called")}makeSubStream(e2,t2,n2=null){unreachable$1("Abstract method `makeSubStream` called")}clone(){unreachable$1("Abstract method `clone` called")}getBaseStreams(){return null}getOriginalStream(){return this.stream?.getOriginalStream()||this}};function isAscii(e2){return typeof e2=="string"&&(!e2||/^[\x00-\x7F]*$/.test(e2))}function stringToAsciiOrUTF16BE(e2){return e2==null||isAscii(e2)?e2:stringToUTF16String(e2,!0)}function stringToUTF16HexString(e2){let t2=[];for(let n2=0,r2=e2.length;n2<r2;n2++){let r3=e2.charCodeAt(n2);t2.push(Util$1.hexNums[r3>>8&255],Util$1.hexNums[r3&255])}return t2.join("")}function stringToUTF16String(e2,t2=!1){let n2=[];t2&&n2.push("\xFE\xFF");for(let t3=0,r2=e2.length;t3<r2;t3++){let r3=e2.charCodeAt(t3);n2.push(String.fromCharCode(r3>>8&255),String.fromCharCode(r3&255))}return n2.join("")}var se=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,728,711,710,729,733,731,730,732,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8226,8224,8225,8230,8212,8211,402,8260,8249,8250,8722,8240,8222,8220,8221,8216,8217,8218,8482,64257,64258,321,338,352,376,381,305,322,339,353,382,0,8364];function stringToPDFString(e2,t2=!1){if(e2[0]>="\xEF"){let n3;if(e2[0]==="\xFE"&&e2[1]==="\xFF"?(n3="utf-16be",e2.length%2==1&&(e2=e2.slice(0,-1))):e2[0]==="\xFF"&&e2[1]==="\xFE"?(n3="utf-16le",e2.length%2==1&&(e2=e2.slice(0,-1))):e2[0]==="\xEF"&&e2[1]==="\xBB"&&e2[2]==="\xBF"&&(n3="utf-8"),n3)try{let r2=new TextDecoder(n3,{fatal:!0}),i2=stringToBytes$1(e2),a2=r2.decode(i2);return t2||!a2.includes("\x1B")?a2:a2.replaceAll(/\x1b[^\x1b]*(?:\x1b|$)/g,"")}catch(e3){warn$1(`stringToPDFString: "${e3}".`)}}let n2=[];for(let r2=0,i2=e2.length;r2<i2;r2++){let a2=e2.charCodeAt(r2);if(!t2&&a2===27){for(;++r2<i2&&e2.charCodeAt(r2)!==27;);continue}let o2=se[a2];n2.push(o2?String.fromCharCode(o2):e2.charAt(r2))}return n2.join("")}var ce=/^[1-9]\.\d$/,le=2**31-1,ue=[1,0,0,1,0,0],de=["ColorSpace","ExtGState","Font","Pattern","Properties","Shading","XObject"],fe=["ExtGState","Font","Properties","XObject"];function getLookupTableFactory(e2){let t2;return function(){return e2&&=(t2=Object.create(null),e2(t2),null),t2}}var MissingDataException=class extends k{constructor(e2,t2){super(`Missing data [${e2}, ${t2})`,"MissingDataException"),this.begin=e2,this.end=t2}},ParserEOFException=class extends k{constructor(e2){super(e2,"ParserEOFException")}},XRefEntryException=class extends k{constructor(e2){super(e2,"XRefEntryException")}},XRefParseException=class extends k{constructor(e2){super(e2,"XRefParseException")}};function arrayBuffersToBytes(e2){let t2=e2.length;if(t2===0)return new Uint8Array;if(t2===1)return new Uint8Array(e2[0]);let n2=0;for(let r3=0;r3<t2;r3++)n2+=e2[r3].byteLength;let r2=new Uint8Array(n2),i2=0;for(let n3=0;n3<t2;n3++){let t3=new Uint8Array(e2[n3]);r2.set(t3,i2),i2+=t3.byteLength}return r2}async function fetchBinaryData(e2){let t2=await fetch(e2);if(!t2.ok)throw Error(`Failed to fetch file "${e2}" with "${t2.statusText}".`);return t2.bytes()}function getInheritableProperty({dict:e2,key:t2,getArray:n2=!1,stopWhenFound:r2=!0}){let i2,a2=new RefSet;for(;e2 instanceof F&&!(e2.objId&&a2.has(e2.objId));){e2.objId&&a2.put(e2.objId);let o2=n2?e2.getArray(t2):e2.get(t2);if(o2!==void 0){if(r2)return o2;(i2||=[]).push(o2)}e2=e2.get("Parent")}return i2}function getParentToUpdate(e2,t2,n2){let r2=new RefSet,i2=e2,a2={dict:null,ref:null};for(;e2 instanceof F&&!r2.has(t2)&&(r2.put(t2),!e2.has("T"));){if(t2=e2.getRaw("Parent"),!(t2 instanceof L))return a2;e2=n2.fetch(t2)}return e2 instanceof F&&e2!==i2&&(a2.dict=e2,a2.ref=t2),a2}function deepCompare(e2,t2){if(e2===t2)return!0;if(e2 instanceof L&&t2 instanceof L)return isRefsEqual(e2,t2);if(e2 instanceof N&&t2 instanceof N)return e2.name===t2.name;if(e2 instanceof F&&t2 instanceof F){if(e2.size!==t2.size)return!1;for(let[n2,r2]of e2.getRawEntries()){let e3=t2.getRaw(n2);if(e3===void 0||!deepCompare(r2,e3))return!1}return!0}if(Array.isArray(e2)&&Array.isArray(t2)){if(e2.length!==t2.length)return!1;for(let n2=0,r2=e2.length;n2<r2;n2++)if(!deepCompare(e2[n2],t2[n2]))return!1;return!0}return!1}var pe=".C.CC.CCC.CD.D.DC.DCC.DCCC.CM..X.XX.XXX.XL.L.LX.LXX.LXXX.XC..I.II.III.IV.V.VI.VII.VIII.IX".split(".");function toRomanNumerals(e2,t2=!1){assert$1(Number.isInteger(e2)&&e2>0,"The number should be a positive integer.");let n2="M".repeat(e2/1e3|0)+pe[e2%1e3/100|0]+pe[10+(e2%100/10|0)]+pe[20+e2%10];return t2?n2.toLowerCase():n2}function isWhiteSpace(e2){return e2===32||e2===9||e2===13||e2===10}function isBooleanArray(e2,t2){return Array.isArray(e2)&&(t2===null||e2.length===t2)&&e2.every(e3=>typeof e3=="boolean")}function isNumberArray(e2,t2){return Array.isArray(e2)?(t2===null||e2.length===t2)&&e2.every(e3=>typeof e3=="number"):ArrayBuffer.isView(e2)&&!(e2 instanceof BigInt64Array||e2 instanceof BigUint64Array)&&(t2===null||e2.length===t2)}function lookupMatrix(e2,t2){return isNumberArray(e2,6)?e2:t2}function lookupRect(e2,t2){return isNumberArray(e2,4)?e2:t2}function lookupNormalRect(e2,t2){return isNumberArray(e2,4)?Util$1.normalizeRect(e2):t2}function parseXFAPath(e2){let t2=/(.+)\[(\d+)\]$/;return e2.split(".").map(e3=>{let n2=e3.match(t2);return n2?{name:n2[1],pos:parseInt(n2[2],10)}:{name:e3,pos:0}})}function escapePDFName(e2){let t2=[],n2=0;for(let r2=0,i2=e2.length;r2<i2;r2++){let i3=e2.charCodeAt(r2);(i3<33||i3>126||i3===35||i3===40||i3===41||i3===60||i3===62||i3===91||i3===93||i3===123||i3===125||i3===47||i3===37)&&(n2<r2&&t2.push(e2.substring(n2,r2)),t2.push(`#${i3.toString(16)}`),n2=r2+1)}return t2.length===0?e2:(n2<e2.length&&t2.push(e2.substring(n2)),t2.join(""))}function escapeString(e2){return e2.replaceAll(/([()\\\n\r])/g,e3=>e3===`
|
|
3
|
+
`?"\\n":e3==="\r"?"\\r":`\\${e3}`)}function _collectJS(e2,t2,n2,r2){if(!e2)return;let i2=null;if(e2 instanceof L){if(r2.has(e2))return;i2=e2,r2.put(i2),e2=t2.fetch(e2)}if(Array.isArray(e2))for(let i3 of e2)_collectJS(i3,t2,n2,r2);else if(e2 instanceof F){if(isName(e2.get("S"),"JavaScript")){let t3=e2.get("JS"),r3;t3 instanceof BaseStream?r3=t3.getString():typeof t3=="string"&&(r3=t3),r3&&=stringToPDFString(r3,!0).replaceAll("\0",""),r3&&n2.push(r3.trim())}_collectJS(e2.getRaw("Next"),t2,n2,r2)}i2&&r2.remove(i2)}function collectActions(e2,t2,n2){let r2=Object.create(null),i2=getInheritableProperty({dict:t2,key:"AA",stopWhenFound:!1});if(i2)for(let t3=i2.length-1;t3>=0;t3--){let a2=i2[t3];if(a2 instanceof F)for(let[t4,i3]of a2.getRawEntries()){let a3=n2[t4];if(!a3)continue;let o2=new RefSet,s2=[];_collectJS(i3,e2,s2,o2),s2.length>0&&(r2[a3]=s2)}}if(t2.has("A")){let n3=t2.get("A"),i3=new RefSet,a2=[];_collectJS(n3,e2,a2,i3),a2.length>0&&(r2.Action=a2)}return objectSize(r2)>0?r2:null}var me={60:"<",62:">",38:"&",34:""",39:"'"};function*codePointIter(e2){for(let t2=0,n2=e2.length;t2<n2;t2++){let n3=e2.codePointAt(t2);n3>55295&&(n3<57344||n3>65533)&&t2++,yield n3}}function encodeToXmlString(e2){let t2=[],n2=0;for(let r2=0,i2=e2.length;r2<i2;r2++){let i3=e2.codePointAt(r2);if(32<=i3&&i3<=126){let a2=me[i3];a2&&(n2<r2&&t2.push(e2.substring(n2,r2)),t2.push(a2),n2=r2+1)}else n2<r2&&t2.push(e2.substring(n2,r2)),t2.push(`&#x${i3.toString(16).toUpperCase()};`),i3>55295&&(i3<57344||i3>65533)&&r2++,n2=r2+1}return t2.length===0?e2:(n2<e2.length&&t2.push(e2.substring(n2)),t2.join(""))}function validateFontName(e2,t2=!1){let n2=/^("|').*("|')$/.exec(e2);if(n2&&n2[1]===n2[2]){if(RegExp(`[^\\\\]${n2[1]}`).test(e2.slice(1,-1)))return t2&&warn$1(`FontFamily contains unescaped ${n2[1]}: ${e2}.`),!1}else for(let n3 of e2.split(/[ \t]+/))if(/^(?:\d|-[\d-])/.test(n3)||!/^[\w\\-]+$/.test(n3))return t2&&warn$1(`FontFamily contains invalid <custom-ident>: ${e2}.`),!1;return!0}function validateCSSFont(e2){let t2=new Set(["100","200","300","400","500","600","700","800","900","1000","normal","bold","bolder","lighter"]),{fontFamily:n2,fontWeight:r2,italicAngle:i2}=e2;if(!validateFontName(n2,!0))return!1;let a2=r2?r2.toString():"";e2.fontWeight=t2.has(a2)?a2:"400";let o2=parseFloat(i2);return e2.italicAngle=isNaN(o2)||o2<-90||o2>90?"14":i2.toString(),!0}function recoverJsURL(e2){let t2=RegExp("^\\s*("+["app.launchURL","window.open","xfa.host.gotoURL"].join("|").replaceAll(".","\\.")+`)\\((?:'|")([^'"]*)(?:'|")(?:,\\s*(\\w+)\\)|\\))`,"i").exec(e2);return t2?.[2]?{url:t2[2],newWindow:t2[1]==="app.launchURL"&&t2[3]==="true"}:null}function numberToString(e2){if(Number.isInteger(e2))return e2.toString();let t2=Math.round(e2*100);return t2%100==0?(t2/100).toString():t2%10==0?e2.toFixed(1):e2.toFixed(2)}function getNewAnnotationsMap(e2){if(!e2)return null;let t2=new Map;for(let[n2,r2]of e2)n2.startsWith(l)&&t2.getOrInsertComputed(r2.pageIndex,makeArr$1).push(r2);return t2.size>0?t2:null}function getModificationDate(e2=new Date){return e2 instanceof Date||(e2=new Date(e2)),[e2.getUTCFullYear().toString(),(e2.getUTCMonth()+1).toString().padStart(2,"0"),e2.getUTCDate().toString().padStart(2,"0"),e2.getUTCHours().toString().padStart(2,"0"),e2.getUTCMinutes().toString().padStart(2,"0"),e2.getUTCSeconds().toString().padStart(2,"0")].join("")}function getRotationMatrix(e2,t2,n2){switch(e2){case 90:return[0,1,-1,0,t2,0];case 180:return[-1,0,0,-1,t2,n2];case 270:return[0,-1,1,0,0,n2];default:throw Error("Invalid rotation")}}function getSizeInBytes(e2){return Math.ceil(Math.ceil(Math.log2(1+e2))/8)}var QCMS=class{static#e=null;static _memory=null;static _mustAddAlpha=!1;static _destBuffer=null;static _destOffset=0;static _destLength=0;static _cssColor="";static _makeHexColor=null;static get _memoryArray(){let e2=this.#e;return e2?.byteLength?e2:this.#e=new Uint8Array(this._memory.buffer)}};function copy_result(e2,t2){let{_mustAddAlpha:n2,_destBuffer:r2,_destOffset:i2,_destLength:a2,_memoryArray:o2}=QCMS;if(t2===a2){r2.set(o2.subarray(e2,e2+t2),i2);return}if(n2)for(let n3=e2,a3=e2+t2,s2=i2;n3<a3;n3+=3,s2+=4)r2[s2]=o2[n3],r2[s2+1]=o2[n3+1],r2[s2+2]=o2[n3+2],r2[s2+3]=255;else for(let n3=e2,a3=e2+t2,s2=i2;n3<a3;n3+=3,s2+=4)r2[s2]=o2[n3],r2[s2+1]=o2[n3+1],r2[s2+2]=o2[n3+2]}function copy_rgb(e2){let{_destBuffer:t2,_destOffset:n2,_memoryArray:r2}=QCMS;t2[n2]=r2[e2],t2[n2+1]=r2[e2+1],t2[n2+2]=r2[e2+2]}function make_cssRGB(e2){let{_memoryArray:t2}=QCMS;QCMS._cssColor=QCMS._makeHexColor(t2[e2],t2[e2+1],t2[e2+2])}var he=Object.freeze({RGB8:0,0:"RGB8",RGBA8:1,1:"RGBA8",BGRA8:2,2:"BGRA8",Gray8:3,3:"Gray8",GrayA8:4,4:"GrayA8",CMYK:5,5:"CMYK"}),ge=Object.freeze({Perceptual:0,0:"Perceptual",RelativeColorimetric:1,1:"RelativeColorimetric",Saturation:2,2:"Saturation",AbsoluteColorimetric:3,3:"AbsoluteColorimetric"});function qcms_convert_array(e2,t2){let n2=passArray8ToWasm0(t2,xe.__wbindgen_malloc),r2=be;xe.qcms_convert_array(e2,n2,r2)}function qcms_convert_four(e2,t2,n2,r2,i2,a2){xe.qcms_convert_four(e2,t2,n2,r2,i2,a2)}function qcms_convert_one(e2,t2,n2){xe.qcms_convert_one(e2,t2,n2)}function qcms_convert_three(e2,t2,n2,r2,i2){xe.qcms_convert_three(e2,t2,n2,r2,i2)}function qcms_drop_transformer(e2){xe.qcms_drop_transformer(e2)}function qcms_transformer_from_memory(e2,t2,n2){let r2=passArray8ToWasm0(e2,xe.__wbindgen_malloc),i2=be;return xe.qcms_transformer_from_memory(r2,i2,t2,n2)>>>0}function __wbg_get_imports(){return{__proto__:null,"./qcms_bg.js":{__proto__:null,__wbg___wbindgen_throw_6b64449b9b9ed33c:function(e2,t2){throw Error(getStringFromWasm0(e2,t2))},__wbg_copy_result_0d15f3bf9d9012ae:function(e2,t2){copy_result(e2>>>0,t2>>>0)},__wbg_copy_rgb_0106d9d9464fce43:function(e2){copy_rgb(e2>>>0)},__wbg_make_cssRGB_8e24b34f71f5363e:function(e2){make_cssRGB(e2>>>0)},__wbindgen_init_externref_table:function(){let e2=xe.__wbindgen_externrefs,t2=e2.grow(4);e2.set(0,void 0),e2.set(t2+0,void 0),e2.set(t2+1,null),e2.set(t2+2,!0),e2.set(t2+3,!1)}}}}function getStringFromWasm0(e2,t2){return e2>>>=0,decodeText(e2,t2)}var _e=null;function getUint8ArrayMemory0(){return(_e===null||_e.byteLength===0)&&(_e=new Uint8Array(xe.memory.buffer)),_e}function passArray8ToWasm0(e2,t2){let n2=t2(e2.length*1,1)>>>0;return getUint8ArrayMemory0().set(e2,n2/1),be=e2.length,n2}var ve=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0});ve.decode();var ye=0;function decodeText(e2,t2){return ye+=t2,ye>=2146435072&&(ve=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}),ve.decode(),ye=t2),ve.decode(getUint8ArrayMemory0().subarray(e2,e2+t2))}var be=0,xe;function __wbg_finalize_init(e2,t2){return xe=e2.exports,_e=null,xe.__wbindgen_start(),xe}function initSync(e2){if(xe!==void 0)return xe;e2!==void 0&&(Object.getPrototypeOf(e2)===Object.prototype?{module:e2}=e2:console.warn("using deprecated parameters for `initSync()`; pass a single object instead"));let t2=__wbg_get_imports();return e2 instanceof WebAssembly.Module||(e2=new WebAssembly.Module(e2)),__wbg_finalize_init(new WebAssembly.Instance(e2,t2),e2)}function MathClamp$1(e2,t2,n2){return Math.min(Math.max(e2,t2),n2)}function resizeRgbImage(e2,t2,n2,r2,i2,a2,o2){o2=o2===1?o2:0;let s2=n2/i2,c2=r2/a2,l2=0,u2,d2=new Uint16Array(i2),f2=n2*3;for(let e3=0;e3<i2;e3++)d2[e3]=Math.floor(e3*s2)*3;for(let n3=0;n3<a2;n3++){let r3=Math.floor(n3*c2)*f2;for(let n4=0;n4<i2;n4++)u2=r3+d2[n4],t2[l2++]=e2[u2++],t2[l2++]=e2[u2++],t2[l2++]=e2[u2++],l2+=o2}}function resizeRgbaImage(e2,t2,n2,r2,i2,a2,o2){let s2=n2/i2,c2=r2/a2,l2=0,u2=new Uint16Array(i2);if(o2===1){for(let e3=0;e3<i2;e3++)u2[e3]=Math.floor(e3*s2);let r3=new Uint32Array(e2.buffer),o3=new Uint32Array(t2.buffer),d2=FeatureTest$1.isLittleEndian?16777215:4294967040;for(let e3=0;e3<a2;e3++){let t3=r3.subarray(Math.floor(e3*c2)*n2);for(let e4=0;e4<i2;e4++)o3[l2++]|=t3[u2[e4]]&d2}}else{let r3=n2*4;for(let e3=0;e3<i2;e3++)u2[e3]=Math.floor(e3*s2)*4;for(let n3=0;n3<a2;n3++){let a3=e2.subarray(Math.floor(n3*c2)*r3);for(let e3=0;e3<i2;e3++){let n4=u2[e3];t2[l2++]=a3[n4],t2[l2++]=a3[n4+1],t2[l2++]=a3[n4+2]}}}}function copyRgbaImage(e2,t2,n2){if(n2===1){let n3=new Uint32Array(e2.buffer),r2=new Uint32Array(t2.buffer),i2=FeatureTest$1.isLittleEndian?16777215:4294967040;for(let e3=0,t3=n3.length;e3<t3;e3++)r2[e3]|=n3[e3]&i2}else{let n3=0;for(let r2=0,i2=e2.length;r2<i2;r2+=4)t2[n3++]=e2[r2],t2[n3++]=e2[r2+1],t2[n3++]=e2[r2+2]}}function isDefaultDecodeHelper(e2,t2){if(!Array.isArray(e2))return!0;let n2=e2.length;return n2<t2?(warn$1("Decode map length is too short."),!0):(n2>t2&&(info$1("Truncating too long decode map."),e2.length=t2),!1)}var Se=class ColorSpace{static#e=new Uint8ClampedArray(3);constructor(e2,t2){this.name=e2,this.numComps=t2}getRgb(e2,t2,n2=new Uint8ClampedArray(3)){return this.getRgbItem(e2,t2,n2,0),n2}getRgbHex(e2,t2){let n2=this.getRgb(e2,t2,ColorSpace.#e);return Util$1.makeHexColor(n2[0],n2[1],n2[2])}getRgbItem(e2,t2,n2,r2){unreachable$1("Should not call ColorSpace.getRgbItem")}getRgbBuffer(e2,t2,n2,r2,i2,a2,o2){unreachable$1("Should not call ColorSpace.getRgbBuffer")}getOutputLength(e2,t2){unreachable$1("Should not call ColorSpace.getOutputLength")}isPassthrough(e2){return!1}isDefaultDecode(e2,t2){return ColorSpace.isDefaultDecode(e2,this.numComps)}fillRgb(e2,t2,n2,r2,i2,a2,o2,s2,c2){let l2=t2*n2,u2=null,d2=1<<o2,f2=n2!==i2||t2!==r2;if(this.isPassthrough(o2))u2=s2;else if(this.numComps===1&&l2>d2&&this.name!=="DeviceGray"&&this.name!=="DeviceRGB"){let t3=o2<=8?new Uint8Array(d2):new Uint16Array(d2);for(let e3=0;e3<d2;e3++)t3[e3]=e3;let n3=new Uint8ClampedArray(d2*3);if(this.getRgbBuffer(t3,0,d2,n3,0,o2,0),f2){u2=new Uint8Array(l2*3);let e3=0;for(let t4=0;t4<l2;++t4){let r3=s2[t4]*3;u2[e3++]=n3[r3],u2[e3++]=n3[r3+1],u2[e3++]=n3[r3+2]}}else{let t4=0;for(let r3=0;r3<l2;++r3){let i3=s2[r3]*3;e2[t4++]=n3[i3],e2[t4++]=n3[i3+1],e2[t4++]=n3[i3+2],t4+=c2}}}else f2?(u2=new Uint8ClampedArray(l2*3),this.getRgbBuffer(s2,0,l2,u2,0,o2,0)):this.getRgbBuffer(s2,0,r2*a2,e2,0,o2,c2);if(u2)if(f2)resizeRgbImage(u2,e2,t2,n2,r2,i2,c2);else{let t3=0,n3=0;for(let i3=0,o3=r2*a2;i3<o3;i3++)e2[t3++]=u2[n3++],e2[t3++]=u2[n3++],e2[t3++]=u2[n3++],t3+=c2}}get usesZeroToOneRange(){return shadow$1(this,"usesZeroToOneRange",!0)}static isDefaultDecode(e2,t2){if(isDefaultDecodeHelper(e2,t2*2))return!0;for(let t3=0,n2=e2.length;t3<n2;t3+=2)if(e2[t3]!==0||e2[t3+1]!==1)return!1;return!0}},AlternateCS=class extends Se{constructor(e2,t2,n2){super("Alternate",e2),this.base=t2,this.tintFn=n2,this.tmpBuf=new Float32Array(t2.numComps)}getRgbItem(e2,t2,n2,r2){let i2=this.tmpBuf;this.tintFn(e2,t2,i2,0),this.base.getRgbItem(i2,0,n2,r2)}getRgbBuffer(e2,t2,n2,r2,i2,a2,o2){let s2=this.tintFn,c2=this.base,l2=1/((1<<a2)-1),u2=c2.numComps,d2=c2.usesZeroToOneRange,f2=(c2.isPassthrough(8)||!d2)&&o2===0,p2=f2?i2:0,m2=f2?r2:new Uint8ClampedArray(u2*n2),h2=this.numComps,g2=new Float32Array(h2),_2=new Float32Array(u2),v2,y2;for(v2=0;v2<n2;v2++){for(y2=0;y2<h2;y2++)g2[y2]=e2[t2++]*l2;if(s2(g2,0,_2,0),d2)for(y2=0;y2<u2;y2++)m2[p2++]=_2[y2]*255;else c2.getRgbItem(_2,0,m2,p2),p2+=u2}f2||c2.getRgbBuffer(m2,0,n2,r2,i2,8,o2)}getOutputLength(e2,t2){return this.base.getOutputLength(e2*this.base.numComps/this.numComps,t2)}},PatternCS=class extends Se{constructor(e2){super("Pattern",null),this.base=e2}isDefaultDecode(e2,t2){unreachable$1("Should not call PatternCS.isDefaultDecode")}},IndexedCS=class extends Se{constructor(e2,t2,n2){super("Indexed",1),this.base=e2,this.highVal=t2;let r2=e2.numComps*(t2+1);if(this.lookup=new Uint8Array(r2),n2 instanceof BaseStream){let e3=n2.getBytes(r2);this.lookup.set(e3)}else if(typeof n2=="string")for(let e3=0;e3<r2;++e3)this.lookup[e3]=n2.charCodeAt(e3)&255;else throw new FormatError$1(`IndexedCS - unrecognized lookup table: ${n2}`)}getRgbItem(e2,t2,n2,r2){let{base:i2,highVal:a2,lookup:o2}=this,s2=MathClamp$1(Math.round(e2[t2]),0,a2)*i2.numComps;i2.getRgbBuffer(o2,s2,1,n2,r2,8,0)}getRgbBuffer(e2,t2,n2,r2,i2,a2,o2){let{base:s2,highVal:c2,lookup:l2}=this,{numComps:u2}=s2,d2=s2.getOutputLength(u2,o2);for(let a3=0;a3<n2;++a3){let n3=MathClamp$1(Math.round(e2[t2++]),0,c2)*u2;s2.getRgbBuffer(l2,n3,1,r2,i2,8,o2),i2+=d2}}getOutputLength(e2,t2){return this.base.getOutputLength(e2*this.base.numComps,t2)}isDefaultDecode(e2,t2){return isDefaultDecodeHelper(e2,2)?!0:!Number.isInteger(t2)||t2<1?(warn$1("Bits per component is not correct"),!0):e2[0]===0&&e2[1]===(1<<t2)-1}},DeviceGrayCS=class extends Se{constructor(){super("DeviceGray",1)}getRgbItem(e2,t2,n2,r2){let i2=e2[t2]*255;n2[r2]=n2[r2+1]=n2[r2+2]=i2}getRgbBuffer(e2,t2,n2,r2,i2,a2,o2){let s2=255/((1<<a2)-1),c2=t2,l2=i2;for(let t3=0;t3<n2;++t3){let t4=s2*e2[c2++];r2[l2++]=t4,r2[l2++]=t4,r2[l2++]=t4,l2+=o2}}getOutputLength(e2,t2){return e2*(3+t2)}},DeviceRgbCS=class extends Se{constructor(){super("DeviceRGB",3)}getRgbItem(e2,t2,n2,r2){n2[r2]=e2[t2]*255,n2[r2+1]=e2[t2+1]*255,n2[r2+2]=e2[t2+2]*255}getRgbBuffer(e2,t2,n2,r2,i2,a2,o2){if(a2===8&&o2===0){r2.set(e2.subarray(t2,t2+n2*3),i2);return}let s2=255/((1<<a2)-1),c2=t2,l2=i2;for(let t3=0;t3<n2;++t3)r2[l2++]=s2*e2[c2++],r2[l2++]=s2*e2[c2++],r2[l2++]=s2*e2[c2++],l2+=o2}getOutputLength(e2,t2){return e2*(3+t2)/3|0}isPassthrough(e2){return e2===8}},DeviceRgbaCS=class extends Se{constructor(){super("DeviceRGBA",4)}getOutputLength(e2,t2){return e2*4}isPassthrough(e2){return e2===8}fillRgb(e2,t2,n2,r2,i2,a2,o2,s2,c2){n2!==i2||t2!==r2?resizeRgbaImage(s2,e2,t2,n2,r2,i2,c2):copyRgbaImage(s2,e2,c2)}},DeviceCmykCS=class extends Se{constructor(){super("DeviceCMYK",4)}#e(e2,t2,n2,r2,i2){let a2=e2[t2]*n2,o2=e2[t2+1]*n2,s2=e2[t2+2]*n2,c2=e2[t2+3]*n2;r2[i2]=255+a2*(-4.387332384609988*a2+54.48615194189176*o2+18.82290502165302*s2+212.25662451639585*c2+-285.2331026137004)+o2*(1.7149763477362134*o2-5.6096736904047315*s2+-17.873870861415444*c2-5.497006427196366)+s2*(-2.5217340131683033*s2-21.248923337353073*c2+17.5119270841813)+c2*(-21.86122147463605*c2-189.48180835922747),r2[i2+1]=255+a2*(8.841041422036149*a2+60.118027045597366*o2+6.871425592049007*s2+31.159100130055922*c2+-79.2970844816548)+o2*(-15.310361306967817*o2+17.575251261109482*s2+131.35250912493976*c2-190.9453302588951)+s2*(4.444339102852739*s2+9.8632861493405*c2-24.86741582555878)+c2*(-20.737325471181034*c2-187.80453709719578),r2[i2+2]=255+a2*(.8842522430003296*a2+8.078677503112928*o2+30.89978309703729*s2-.23883238689178934*c2+-14.183576799673286)+o2*(10.49593273432072*o2+63.02378494754052*s2+50.606957656360734*c2-112.23884253719248)+s2*(.03296041114873217*s2+115.60384449646641*c2+-193.58209356861505)+c2*(-22.33816807309886*c2-180.12613974708367)}getRgbItem(e2,t2,n2,r2){this.#e(e2,t2,1,n2,r2)}getRgbBuffer(e2,t2,n2,r2,i2,a2,o2){let s2=1/((1<<a2)-1);for(let a3=0;a3<n2;a3++)this.#e(e2,t2,s2,r2,i2),t2+=4,i2+=3+o2}getOutputLength(e2,t2){return e2/4*(3+t2)|0}},CalGrayCS=class extends Se{constructor(e2,t2,n2){if(super("CalGray",1),!e2)throw new FormatError$1("WhitePoint missing - required for color space CalGray");if([this.XW,this.YW,this.ZW]=e2,[this.XB,this.YB,this.ZB]=t2||[0,0,0],this.G=n2||1,this.XW<0||this.ZW<0||this.YW!==1)throw new FormatError$1(`Invalid WhitePoint components for ${this.name}, no fallback available`);(this.XB<0||this.YB<0||this.ZB<0)&&(info$1(`Invalid BlackPoint for ${this.name}, falling back to default.`),this.XB=this.YB=this.ZB=0),(this.XB!==0||this.YB!==0||this.ZB!==0)&&warn$1(`${this.name}, BlackPoint: XB: ${this.XB}, YB: ${this.YB}, ZB: ${this.ZB}, only default values are supported.`),this.G<1&&(info$1(`Invalid Gamma: ${this.G} for ${this.name}, falling back to default.`),this.G=1)}#e(e2,t2,n2,r2,i2){let a2=(e2[t2]*i2)**this.G,o2=this.YW*a2,s2=Math.max(295.8*o2**.3333333333333333-40.8,0);n2[r2]=s2,n2[r2+1]=s2,n2[r2+2]=s2}getRgbItem(e2,t2,n2,r2){this.#e(e2,t2,n2,r2,1)}getRgbBuffer(e2,t2,n2,r2,i2,a2,o2){let s2=1/((1<<a2)-1);for(let a3=0;a3<n2;++a3)this.#e(e2,t2,r2,i2,s2),t2+=1,i2+=3+o2}getOutputLength(e2,t2){return e2*(3+t2)}},Ce=class CalRGBCS extends Se{static#e=new Float32Array([.8951,.2664,-.1614,-.7502,1.7135,.0367,.0389,-.0685,1.0296]);static#t=new Float32Array([.9869929,-.1470543,.1599627,.4323053,.5183603,.0492912,-.0085287,.0400428,.9684867]);static#n=new Float32Array([3.2404542,-1.5371385,-.4985314,-.969266,1.8760108,.041556,.0556434,-.2040259,1.0572252]);static#r=new Float32Array([1,1,1]);static#i=new Float32Array(3);static#a=new Float32Array(3);static#o=new Float32Array(3);static#s=(24/116)**3/8;constructor(e2,t2,n2,r2){if(super("CalRGB",3),!e2)throw new FormatError$1("WhitePoint missing - required for color space CalRGB");let[i2,a2,o2]=this.whitePoint=e2,[s2,c2,l2]=this.blackPoint=t2||new Float32Array(3);if([this.GR,this.GG,this.GB]=n2||new Float32Array([1,1,1]),[this.MXA,this.MYA,this.MZA,this.MXB,this.MYB,this.MZB,this.MXC,this.MYC,this.MZC]=r2||new Float32Array([1,0,0,0,1,0,0,0,1]),i2<0||o2<0||a2!==1)throw new FormatError$1(`Invalid WhitePoint components for ${this.name}, no fallback available`);(s2<0||c2<0||l2<0)&&(info$1(`Invalid BlackPoint for ${this.name} [${s2}, ${c2}, ${l2}], falling back to default.`),this.blackPoint=new Float32Array(3)),(this.GR<0||this.GG<0||this.GB<0)&&(info$1(`Invalid Gamma [${this.GR}, ${this.GG}, ${this.GB}] for ${this.name}, falling back to default.`),this.GR=this.GG=this.GB=1)}#c(e2,t2,n2){n2[0]=e2[0]*t2[0]+e2[1]*t2[1]+e2[2]*t2[2],n2[1]=e2[3]*t2[0]+e2[4]*t2[1]+e2[5]*t2[2],n2[2]=e2[6]*t2[0]+e2[7]*t2[1]+e2[8]*t2[2]}#l(e2,t2,n2){n2[0]=t2[0]*1/e2[0],n2[1]=t2[1]*1/e2[1],n2[2]=t2[2]*1/e2[2]}#u(e2,t2,n2){n2[0]=t2[0]*.95047/e2[0],n2[1]=t2[1]*1/e2[1],n2[2]=t2[2]*1.08883/e2[2]}#d(e2){return e2<=.0031308?MathClamp$1(12.92*e2,0,1):e2>=.99554525?1:MathClamp$1(1.055*e2**(1/2.4)-.055,0,1)}#f(e2){return e2<0?-this.#f(-e2):e2>8?((e2+16)/116)**3:e2*CalRGBCS.#s}#p(e2,t2,n2){if(e2[0]===0&&e2[1]===0&&e2[2]===0){n2[0]=t2[0],n2[1]=t2[1],n2[2]=t2[2];return}let r2=this.#f(0),i2=r2,a2=this.#f(e2[0]),o2=r2,s2=this.#f(e2[1]),c2=r2,l2=this.#f(e2[2]),u2=(1-i2)/(1-a2),d2=1-u2,f2=(1-o2)/(1-s2),p2=1-f2,m2=(1-c2)/(1-l2),h2=1-m2;n2[0]=t2[0]*u2+d2,n2[1]=t2[1]*f2+p2,n2[2]=t2[2]*m2+h2}#m(e2,t2,n2){if(e2[0]===1&&e2[2]===1){n2[0]=t2[0],n2[1]=t2[1],n2[2]=t2[2];return}let r2=n2;this.#c(CalRGBCS.#e,t2,r2);let i2=CalRGBCS.#i;this.#l(e2,r2,i2),this.#c(CalRGBCS.#t,i2,n2)}#h(e2,t2,n2){let r2=n2;this.#c(CalRGBCS.#e,t2,r2);let i2=CalRGBCS.#i;this.#u(e2,r2,i2),this.#c(CalRGBCS.#t,i2,n2)}#g(e2,t2,n2,r2,i2){let a2=MathClamp$1(e2[t2]*i2,0,1),o2=MathClamp$1(e2[t2+1]*i2,0,1),s2=MathClamp$1(e2[t2+2]*i2,0,1),c2=a2===1?1:a2**this.GR,l2=o2===1?1:o2**this.GG,u2=s2===1?1:s2**this.GB,d2=this.MXA*c2+this.MXB*l2+this.MXC*u2,f2=this.MYA*c2+this.MYB*l2+this.MYC*u2,p2=this.MZA*c2+this.MZB*l2+this.MZC*u2,m2=CalRGBCS.#a;m2[0]=d2,m2[1]=f2,m2[2]=p2;let h2=CalRGBCS.#o;this.#m(this.whitePoint,m2,h2);let g2=CalRGBCS.#a;this.#p(this.blackPoint,h2,g2);let _2=CalRGBCS.#o;this.#h(CalRGBCS.#r,g2,_2);let v2=CalRGBCS.#a;this.#c(CalRGBCS.#n,_2,v2),n2[r2]=this.#d(v2[0])*255,n2[r2+1]=this.#d(v2[1])*255,n2[r2+2]=this.#d(v2[2])*255}getRgbItem(e2,t2,n2,r2){this.#g(e2,t2,n2,r2,1)}getRgbBuffer(e2,t2,n2,r2,i2,a2,o2){let s2=1/((1<<a2)-1);for(let a3=0;a3<n2;++a3)this.#g(e2,t2,r2,i2,s2),t2+=3,i2+=3+o2}getOutputLength(e2,t2){return e2*(3+t2)/3|0}},LabCS=class extends Se{constructor(e2,t2,n2){if(super("Lab",3),!e2)throw new FormatError$1("WhitePoint missing - required for color space Lab");if([this.XW,this.YW,this.ZW]=e2,[this.amin,this.amax,this.bmin,this.bmax]=n2||[-100,100,-100,100],[this.XB,this.YB,this.ZB]=t2||[0,0,0],this.XW<0||this.ZW<0||this.YW!==1)throw new FormatError$1("Invalid WhitePoint components, no fallback available");(this.XB<0||this.YB<0||this.ZB<0)&&(info$1("Invalid BlackPoint, falling back to default"),this.XB=this.YB=this.ZB=0),(this.amin>this.amax||this.bmin>this.bmax)&&(info$1("Invalid Range, falling back to defaults"),this.amin=-100,this.amax=100,this.bmin=-100,this.bmax=100)}#e(e2){return e2>=6/29?e2**3:108/841*(e2-4/29)}#t(e2,t2,n2,r2){return n2+e2*(r2-n2)/t2}#n(e2,t2,n2,r2,i2){let a2=e2[t2],o2=e2[t2+1],s2=e2[t2+2];n2!==!1&&(a2=this.#t(a2,n2,0,100),o2=this.#t(o2,n2,this.amin,this.amax),s2=this.#t(s2,n2,this.bmin,this.bmax)),o2>this.amax?o2=this.amax:o2<this.amin&&(o2=this.amin),s2>this.bmax?s2=this.bmax:s2<this.bmin&&(s2=this.bmin);let c2=(a2+16)/116,l2=c2+o2/500,u2=c2-s2/200,d2=this.XW*this.#e(l2),f2=this.YW*this.#e(c2),p2=this.ZW*this.#e(u2),m2,h2,g2;this.ZW<1?(m2=d2*3.1339+f2*-1.617+p2*-.4906,h2=d2*-.9785+f2*1.916+p2*.0333,g2=d2*.072+f2*-.229+p2*1.4057):(m2=d2*3.2406+f2*-1.5372+p2*-.4986,h2=d2*-.9689+f2*1.8758+p2*.0415,g2=d2*.0557+f2*-.204+p2*1.057),r2[i2]=Math.sqrt(m2)*255,r2[i2+1]=Math.sqrt(h2)*255,r2[i2+2]=Math.sqrt(g2)*255}getRgbItem(e2,t2,n2,r2){this.#n(e2,t2,!1,n2,r2)}getRgbBuffer(e2,t2,n2,r2,i2,a2,o2){let s2=(1<<a2)-1;for(let a3=0;a3<n2;a3++)this.#n(e2,t2,s2,r2,i2),t2+=3,i2+=3+o2}getOutputLength(e2,t2){return e2*(3+t2)/3|0}isDefaultDecode(e2,t2){return!0}get usesZeroToOneRange(){return shadow$1(this,"usesZeroToOneRange",!1)}};function fetchSync(e2){let t2=new XMLHttpRequest;return t2.open("GET",e2,!1),t2.responseType="arraybuffer",t2.send(null),t2.response}var we=class IccColorSpace extends Se{#e;#t;static#n=!0;static#r=null;static#i=null;constructor(e2,t2,n2){if(!IccColorSpace.isUsable)throw Error("No ICC color space support");super(t2,n2);let r2;switch(n2){case 1:r2=he.Gray8,this.#t=(e3,t3,n3)=>qcms_convert_one(this.#e,e3[t3]*255,n3);break;case 3:r2=he.RGB8,this.#t=(e3,t3,n3)=>qcms_convert_three(this.#e,e3[t3]*255,e3[t3+1]*255,e3[t3+2]*255,n3);break;case 4:r2=he.CMYK,this.#t=(e3,t3,n3)=>qcms_convert_four(this.#e,e3[t3]*255,e3[t3+1]*255,e3[t3+2]*255,e3[t3+3]*255,n3);break;default:throw Error(`Unsupported number of components: ${n2}`)}if(this.#e=qcms_transformer_from_memory(e2,r2,ge.Perceptual),!this.#e)throw Error("Failed to create ICC color space");IccColorSpace.#i||=new FinalizationRegistry(e3=>{qcms_drop_transformer(e3)}),IccColorSpace.#i.register(this,this.#e)}getRgbHex(e2,t2){return this.#t(e2,t2,!0),QCMS._cssColor}getRgbItem(e2,t2,n2,r2){QCMS._destBuffer=n2,QCMS._destOffset=r2,QCMS._destLength=3,this.#t(e2,t2,!1),QCMS._destBuffer=null}getRgbBuffer(e2,t2,n2,r2,i2,a2,o2){if(e2=e2.subarray(t2,t2+n2*this.numComps),a2!==8){let t3=255/((1<<a2)-1);for(let n3=0,r3=e2.length;n3<r3;n3++)e2[n3]*=t3}QCMS._mustAddAlpha=o2&&r2.buffer===e2.buffer,QCMS._destBuffer=r2,QCMS._destOffset=i2,QCMS._destLength=n2*(3+o2),qcms_convert_array(this.#e,e2),QCMS._mustAddAlpha=!1,QCMS._destBuffer=null}getOutputLength(e2,t2){return e2/this.numComps*(3+t2)|0}static setOptions({useWasm:e2,useWorkerFetch:t2,wasmUrl:n2}){if(!t2){this.#n=!1;return}this.#n=e2,this.#r=n2}static get isUsable(){let e2=!1;if(this.#n)if(this.#r)try{this._module=initSync({module:fetchSync(`${this.#r}qcms_bg.wasm`)}),e2=!!this._module,QCMS._memory=this._module.memory,QCMS._makeHexColor=Util$1.makeHexColor.bind(Util$1)}catch(e3){warn$1(`ICCBased color space: "${e3}".`)}else warn$1("No ICC color space support due to missing `wasmUrl` API option");return shadow$1(this,"isUsable",e2)}},Te=class CmykICCBasedCS extends we{static#e;constructor(){let e2=new Uint8Array(fetchSync(`${CmykICCBasedCS.#e}CGATS001Compat-v2-micro.icc`));super(e2,"DeviceCMYK",4)}static setOptions({iccUrl:e2}){this.#e=e2}static get isUsable(){let e2=!1;return we.isUsable&&(this.#e?e2=!0:warn$1("No CMYK ICC profile support due to missing `iccUrl` API option")),shadow$1(this,"isUsable",e2)}},Ee=class Stream extends BaseStream{constructor(e2,t2,n2,r2){super(),this.bytes=e2 instanceof Uint8Array?e2:new Uint8Array(e2),this.start=t2||0,this.pos=this.start,this.end=t2+n2||this.bytes.length,this.dict=r2}get length(){return this.end-this.start}get isEmpty(){return this.length===0}getByte(){return this.pos>=this.end?-1:this.bytes[this.pos++]}getBytes(e2){let t2=this.pos,n2=e2?Math.min(t2+e2,this.end):this.end;return this.pos=n2,this.bytes.subarray(t2,n2)}getByteRange(e2,t2){return e2<0&&(e2=0),t2>this.end&&(t2=this.end),this.bytes.subarray(e2,t2)}reset(){this.pos=this.start}moveStart(){this.start=this.pos}makeSubStream(e2,t2,n2=null){return new Stream(this.bytes.buffer,e2,t2,n2)}clone(){return new Stream(this.bytes.buffer,this.start,this.length,this.dict?.clone())}},StringStream=class extends Ee{constructor(e2,t2=null){super(stringToBytes$1(e2),NaN,NaN,t2)}},NullStream=class extends Ee{constructor(){super(new Uint8Array)}},ChunkedStream=class extends Ee{progressiveDataLength=0;_lastSuccessfulEnsureByteChunk=-1;_loadedChunks=new Set;constructor(e2,t2,n2){super(new Uint8Array(e2),0,e2,null),this.chunkSize=t2,this.numChunks=Math.ceil(e2/t2),this.manager=n2}getMissingChunks(){let e2=[];for(let t2=0,n2=this.numChunks;t2<n2;++t2)this._loadedChunks.has(t2)||e2.push(t2);return e2}get numChunksLoaded(){return this._loadedChunks.size}get isDataLoaded(){return this.numChunksLoaded===this.numChunks}onReceiveData(e2,t2){let n2=this.chunkSize;if(e2%n2!==0)throw Error(`Bad begin offset: ${e2}`);let r2=e2+t2.byteLength;if(r2%n2!==0&&r2!==this.bytes.length)throw Error(`Bad end offset: ${r2}`);this.bytes.set(new Uint8Array(t2),e2);let i2=Math.floor(e2/n2),a2=Math.floor((r2-1)/n2)+1;for(let e3=i2;e3<a2;++e3)this._loadedChunks.add(e3)}onReceiveProgressiveData(e2){let t2=this.progressiveDataLength,n2=Math.floor(t2/this.chunkSize);this.bytes.set(new Uint8Array(e2),t2),t2+=e2.byteLength,this.progressiveDataLength=t2;let r2=t2>=this.end?this.numChunks:Math.floor(t2/this.chunkSize);for(let e3=n2;e3<r2;++e3)this._loadedChunks.add(e3)}ensureByte(e2){if(e2<this.progressiveDataLength)return;let t2=Math.floor(e2/this.chunkSize);if(!(t2>this.numChunks)&&t2!==this._lastSuccessfulEnsureByteChunk){if(!this._loadedChunks.has(t2))throw new MissingDataException(e2,e2+1);this._lastSuccessfulEnsureByteChunk=t2}}ensureRange(e2,t2){if(e2>=t2||t2<=this.progressiveDataLength)return;let n2=Math.floor(e2/this.chunkSize);if(n2>this.numChunks)return;let r2=Math.min(Math.floor((t2-1)/this.chunkSize)+1,this.numChunks);for(let i2=n2;i2<r2;++i2)if(!this._loadedChunks.has(i2))throw new MissingDataException(e2,t2)}nextEmptyChunk(e2){let t2=this.numChunks;for(let n2=0;n2<t2;++n2){let r2=(e2+n2)%t2;if(!this._loadedChunks.has(r2))return r2}return null}hasChunk(e2){return this._loadedChunks.has(e2)}getByte(){let e2=this.pos;return e2>=this.end?-1:(e2>=this.progressiveDataLength&&this.ensureByte(e2),this.bytes[this.pos++])}getBytes(e2){let t2=this.pos,n2=e2?Math.min(t2+e2,this.end):this.end;return n2>this.progressiveDataLength&&this.ensureRange(t2,n2),this.pos=n2,this.bytes.subarray(t2,n2)}getByteRange(e2,t2){return e2<0&&(e2=0),t2>this.end&&(t2=this.end),t2>this.progressiveDataLength&&this.ensureRange(e2,t2),this.bytes.subarray(e2,t2)}makeSubStream(e2,t2,n2=null){t2?e2+t2>this.progressiveDataLength&&this.ensureRange(e2,e2+t2):e2>=this.progressiveDataLength&&this.ensureByte(e2);function ChunkedStreamSubstream(){}ChunkedStreamSubstream.prototype=Object.create(this),ChunkedStreamSubstream.prototype.getMissingChunks=function(){let e3=this.chunkSize,t3=Math.floor(this.start/e3),n3=Math.floor((this.end-1)/e3)+1,r3=[];for(let e4=t3;e4<n3;++e4)this._loadedChunks.has(e4)||r3.push(e4);return r3},Object.defineProperty(ChunkedStreamSubstream.prototype,"isDataLoaded",{get(){return this.numChunksLoaded===this.numChunks||this.getMissingChunks().length===0},configurable:!0});let r2=new ChunkedStreamSubstream;return r2.pos=r2.start=e2,r2.end=e2+t2||this.end,r2.dict=n2,r2}getBaseStreams(){return[this]}},ChunkedStreamManager=class{#e=!1;currRequestId=0;_chunksNeededByRequest=new Map;#t=Promise.withResolvers();_promisesByRequest=new Map;_requestsByChunk=new Map;constructor(e2,t2){this.length=t2.length,this.chunkSize=t2.rangeChunkSize,this.stream=new ChunkedStream(this.length,this.chunkSize,this),this.pdfStream=e2,this.disableAutoFetch=t2.disableAutoFetch,this.msgHandler=t2.msgHandler}async sendRequest(e2,t2){let n2=this.pdfStream.getRangeReader(e2,t2),r2=[];for(;;){let{value:e3,done:t3}=await n2.read();if(this.#e){r2=null;return}if(t3)break;r2.push(e3)}if(r2.length===0&&this.disableAutoFetch)return;let i2=arrayBuffersToBytes(r2);r2=null,this.onReceiveData({chunk:i2.buffer,begin:e2})}requestAllChunks(e2=!1){if(!e2){let e3=this.stream.getMissingChunks();this._requestChunks(e3)}return this.#t.promise}_requestChunks(e2){let t2=this.currRequestId++,n2=new Set;this._chunksNeededByRequest.set(t2,n2);for(let t3 of e2)this.stream.hasChunk(t3)||n2.add(t3);if(n2.size===0)return Promise.resolve();let r2=Promise.withResolvers();this._promisesByRequest.set(t2,r2);let i2=[];for(let e3 of n2)this._requestsByChunk.getOrInsertComputed(e3,()=>(i2.push(e3),[])).push(t2);if(i2.length>0){let e3=this.groupChunks(i2);for(let t3 of e3){let e4=t3.beginChunk*this.chunkSize,n3=Math.min(t3.endChunk*this.chunkSize,this.length);this.sendRequest(e4,n3).catch(r2.reject)}}return r2.promise.catch(e3=>{if(!this.#e)throw e3})}getStream(){return this.stream}requestRange(e2,t2){t2=Math.min(t2,this.length);let n2=this.getBeginChunk(e2),r2=this.getEndChunk(t2),i2=[];for(let e3=n2;e3<r2;++e3)i2.push(e3);return this._requestChunks(i2)}requestRanges(e2=[]){let t2=[];for(let n2 of e2){let e3=this.getBeginChunk(n2.begin),r2=this.getEndChunk(n2.end);for(let n3=e3;n3<r2;++n3)t2.includes(n3)||t2.push(n3)}return t2.sort((e3,t3)=>e3-t3),this._requestChunks(t2)}groupChunks(e2){let t2=[],n2=-1,r2=-1;for(let i2=0,a2=e2.length;i2<a2;++i2){let a3=e2[i2];n2<0&&(n2=a3),r2>=0&&r2+1!==a3&&(t2.push({beginChunk:n2,endChunk:r2+1}),n2=a3),i2+1===e2.length&&t2.push({beginChunk:n2,endChunk:a3+1}),r2=a3}return t2}onReceiveData(e2){let{chunkSize:t2,length:n2,stream:r2}=this,i2=e2.chunk,a2=e2.begin===void 0,o2=a2?r2.progressiveDataLength:e2.begin,s2=o2+i2.byteLength,c2=Math.floor(o2/t2),l2=s2<n2?Math.floor(s2/t2):Math.ceil(s2/t2);a2?r2.onReceiveProgressiveData(i2):r2.onReceiveData(o2,i2),r2.isDataLoaded&&this.#t.resolve(r2);let u2=[];for(let e3=c2;e3<l2;++e3){let t3=this._requestsByChunk.get(e3);if(t3){this._requestsByChunk.delete(e3);for(let n3 of t3){let t4=this._chunksNeededByRequest.get(n3);t4.has(e3)&&t4.delete(e3),!(t4.size>0)&&u2.push(n3)}}}if(!this.disableAutoFetch&&this._requestsByChunk.size===0){let e3;if(r2.numChunksLoaded===1){let t3=r2.numChunks-1;r2.hasChunk(t3)||(e3=t3)}else e3=r2.nextEmptyChunk(l2);Number.isInteger(e3)&&this._requestChunks([e3])}for(let e3 of u2){let t3=this._promisesByRequest.get(e3);this._promisesByRequest.delete(e3),t3.resolve()}this.msgHandler.send("DocProgress",{loaded:MathClamp$1(r2.numChunksLoaded*t2,r2.progressiveDataLength,n2),total:n2})}getBeginChunk(e2){return Math.floor(e2/this.chunkSize)}getEndChunk(e2){return Math.floor((e2-1)/this.chunkSize)+1}abort(e2){this.#e=!0,this.pdfStream?.cancelAllRequests(e2);for(let t2 of this._promisesByRequest.values())t2.reject(e2);this.#t.reject(e2)}};function convertToRGBA(e2){switch(e2.kind){case m.GRAYSCALE_1BPP:return convertBlackAndWhiteToRGBA$1(e2);case m.RGB_24BPP:return convertRGBToRGBA$1(e2)}return null}function convertBlackAndWhiteToRGBA$1({src:e2,srcPos:t2=0,dest:n2,width:r2,height:i2,nonBlackColor:a2=4294967295,inverseDecode:o2=!1}){let s2=FeatureTest$1.isLittleEndian?4278190080:255,[c2,l2]=o2?[a2,s2]:[s2,a2],u2=r2>>3,d2=r2&7,f2=c2^l2,p2=e2.length;n2=new Uint32Array(n2.buffer);let m2=0;for(let r3=0;r3<i2;++r3){for(let r5=t2+u2;t2<r5;++t2,m2+=8){let r6=e2[t2];n2[m2]=c2^-(r6>>7&1)&f2,n2[m2+1]=c2^-(r6>>6&1)&f2,n2[m2+2]=c2^-(r6>>5&1)&f2,n2[m2+3]=c2^-(r6>>4&1)&f2,n2[m2+4]=c2^-(r6>>3&1)&f2,n2[m2+5]=c2^-(r6>>2&1)&f2,n2[m2+6]=c2^-(r6>>1&1)&f2,n2[m2+7]=c2^-(r6&1)&f2}if(d2===0)continue;let r4=t2<p2?e2[t2++]:255;for(let e3=0;e3<d2;++e3,++m2)n2[m2]=c2^-(r4>>7-e3&1)&f2}return{srcPos:t2,destPos:m2}}function convertRGBToRGBA$1({src:e2,srcPos:t2=0,dest:n2,destPos:r2=0,width:i2,height:a2}){let o2=0,s2=i2*a2*3,c2=s2>>2,l2=new Uint32Array(e2.buffer,t2,c2),u2=FeatureTest$1.isLittleEndian?4278190080:255;if(FeatureTest$1.isLittleEndian){for(;o2<c2-2;o2+=3,r2+=4){let e3=l2[o2],t3=l2[o2+1],i3=l2[o2+2];n2[r2]=e3|u2,n2[r2+1]=e3>>>24|t3<<8|u2,n2[r2+2]=t3>>>16|i3<<16|u2,n2[r2+3]=i3>>>8|u2}for(let i3=o2*4,a3=t2+s2;i3<a3;i3+=3)n2[r2++]=e2[i3]|e2[i3+1]<<8|e2[i3+2]<<16|u2}else{for(;o2<c2-2;o2+=3,r2+=4){let e3=l2[o2],t3=l2[o2+1],i3=l2[o2+2];n2[r2]=e3|u2,n2[r2+1]=e3<<24|t3>>>8|u2,n2[r2+2]=t3<<16|i3>>>16|u2,n2[r2+3]=i3<<8|u2}for(let i3=o2*4,a3=t2+s2;i3<a3;i3+=3)n2[r2++]=e2[i3]<<24|e2[i3+1]<<16|e2[i3+2]<<8|u2}return{srcPos:t2+s2,destPos:r2}}function grayToRGBA(e2,t2){if(FeatureTest$1.isLittleEndian)for(let n2=0,r2=e2.length;n2<r2;n2++)t2[n2]=e2[n2]*65793|4278190080;else for(let n2=0,r2=e2.length;n2<r2;n2++)t2[n2]=e2[n2]*16843008|255}var De=2048,Oe=class ImageResizer{static#e=De;static#t=FeatureTest$1.isImageDecoderSupported;constructor(e2,t2){this._imgData=e2,this._isMask=t2}static get canUseImageDecoder(){return shadow$1(this,"canUseImageDecoder",this.#t?ImageDecoder.isTypeSupported("image/bmp"):Promise.resolve(!1))}static needsToBeResized(e2,t2){if(e2<=this.#e&&t2<=this.#e)return!1;let{MAX_DIM:n2}=this;if(e2>n2||t2>n2)return!0;let r2=e2*t2;return this._hasMaxArea?r2>this.MAX_AREA:r2<this.#e**2?!1:this._areGoodDims(e2,t2)?(this.#e=Math.max(this.#e,Math.floor(Math.sqrt(e2*t2))),!1):(this.#e=this._guessMax(this.#e,n2,128,0),r2>(this.MAX_AREA=this.#e**2))}static getReducePowerForJPX(e2,t2,n2){let r2=e2*t2,i2=2**30/(n2*4);if(!this.needsToBeResized(e2,t2))return r2>i2?Math.ceil(Math.log2(r2/i2)):0;let{MAX_DIM:a2,MAX_AREA:o2}=this,s2=Math.max(e2/a2,t2/a2,Math.sqrt(r2/Math.min(i2,o2)));return Math.ceil(Math.log2(s2))}static get MAX_DIM(){return shadow$1(this,"MAX_DIM",this._guessMax(De,32768,0,1))}static get MAX_AREA(){return this._hasMaxArea=!0,shadow$1(this,"MAX_AREA",this._guessMax(this.#e,this.MAX_DIM,128,0)**2)}static set MAX_AREA(e2){e2>=0&&(this._hasMaxArea=!0,shadow$1(this,"MAX_AREA",e2))}static setOptions({canvasMaxAreaInBytes:e2=-1,isImageDecoderSupported:t2=!1}){this._hasMaxArea||(this.MAX_AREA=e2>>2),this.#t=t2}static _areGoodDims(e2,t2){try{let n2=new OffscreenCanvas(e2,t2),r2=n2.getContext("2d");r2.fillRect(0,0,1,1);let i2=r2.getImageData(0,0,1,1).data[3];return n2.width=n2.height=1,i2!==0}catch{return!1}}static _guessMax(e2,t2,n2,r2){for(;e2+n2+1<t2;){let n3=Math.floor((e2+t2)/2),i2=r2||n3;this._areGoodDims(n3,i2)?e2=n3:t2=n3}return e2}static async createImage(e2,t2=!1){return new ImageResizer(e2,t2)._createImage()}async _createImage(){let{_imgData:e2}=this,{width:t2,height:n2}=e2;if(t2*n2*4>le){let e3=this.#n();if(e3)return e3}let r2=this._encodeBMP(),i2,a2;await ImageResizer.canUseImageDecoder?(i2=new ImageDecoder({data:r2,type:"image/bmp",preferAnimation:!1,transfer:[r2.buffer]}),a2=i2.decode().catch(e3=>(warn$1(`BMP image decoding failed: ${e3}`),createImageBitmap(new Blob([this._encodeBMP().buffer],{type:"image/bmp"})))).finally(()=>{i2.close()})):a2=createImageBitmap(new Blob([r2.buffer],{type:"image/bmp"}));let{MAX_AREA:o2,MAX_DIM:s2}=ImageResizer,c2=Math.max(t2/s2,n2/s2,Math.sqrt(t2*n2/o2)),l2=Math.max(c2,2),u2=Math.round(10*(c2+1.25))/10/l2,d2=Math.floor(Math.log2(u2)),f2=Array(d2+2).fill(2);f2[0]=l2,f2.splice(-1,1,u2/(1<<d2));let p2=t2,m2=n2,h2=await a2,g2=h2.image||h2;for(let e3 of f2){let t3=p2,n3=m2;p2=Math.floor(p2/e3),m2=Math.floor(m2/e3);let r3=new OffscreenCanvas(p2,m2);r3.getContext("2d").drawImage(g2,0,0,t3,n3,0,0,p2,m2),g2.close(),g2=r3.transferToImageBitmap()}return e2.data=null,e2.bitmap=g2,e2.width=p2,e2.height=m2,e2}#n(){let{_imgData:e2}=this,{data:t2,width:n2,height:r2,kind:i2}=e2,a2=n2*r2*4,o2=Math.ceil(Math.log2(a2/le)),s2=n2>>o2,c2=r2>>o2,l2,u2=r2;try{l2=new Uint8Array(a2)}catch{let e3=Math.floor(Math.log2(a2+1));for(;;)try{l2=new Uint8Array(2**e3-1);break}catch{--e3}u2=Math.floor((2**e3-1)/(n2*4));let t3=n2*u2*4;t3<l2.length&&(l2=new Uint8Array(t3))}let d2=new Uint32Array(l2.buffer),f2=new Uint32Array(s2*c2),p2=0,h2=0,g2=Math.ceil(r2/u2),_2=r2%u2===0?r2:r2%u2;for(let e3=0;e3<g2;e3++){let r3=e3<g2-1?u2:_2;({srcPos:p2}=convertToRGBA({kind:i2,src:t2,dest:d2,width:n2,height:r3,inverseDecode:this._isMask,srcPos:p2}));for(let e4=0,t3=r3>>o2;e4<t3;e4++){let t4=d2.subarray((e4<<o2)*n2);for(let e5=0;e5<s2;e5++)f2[h2++]=t4[e5<<o2]}}if(ImageResizer.needsToBeResized(s2,c2))return e2.data=f2,e2.width=s2,e2.height=c2,e2.kind=m.RGBA_32BPP,null;let v2=new OffscreenCanvas(s2,c2);return v2.getContext("2d",{willReadFrequently:!0}).putImageData(new ImageData(new Uint8ClampedArray(f2.buffer),s2,c2),0,0),e2.data=null,e2.bitmap=v2.transferToImageBitmap(),e2.width=s2,e2.height=c2,e2}_encodeBMP(){let{width:e2,height:t2,kind:n2}=this._imgData,r2=this._imgData.data,i2,a2=new Uint8Array,o2=a2,s2=0;switch(n2){case m.GRAYSCALE_1BPP:{i2=1,a2=new Uint8Array(this._isMask?[255,255,255,255,0,0,0,0]:[0,0,0,0,255,255,255,255]);let n4=e2+7>>3,o3=n4+3&-4;if(n4!==o3){let e3=new Uint8Array(o3*t2),i3=0;for(let a3=0,s3=t2*n4;a3<s3;a3+=n4,i3+=o3)e3.set(r2.subarray(a3,a3+n4),i3);r2=e3}break}case m.RGB_24BPP:if(i2=24,e2&3){let n4=3*e2,i3=n4+3&-4,a3=i3-n4,o3=new Uint8Array(i3*t2),s3=0;for(let e3=0,i4=t2*n4;e3<i4;e3+=n4){let t3=r2.subarray(e3,e3+n4);for(let e4=0;e4<n4;e4+=3)o3[s3++]=t3[e4+2],o3[s3++]=t3[e4+1],o3[s3++]=t3[e4];s3+=a3}r2=o3}else for(let e3=0,t3=r2.length;e3<t3;e3+=3){let t4=r2[e3];r2[e3]=r2[e3+2],r2[e3+2]=t4}break;case m.RGBA_32BPP:i2=32,s2=3,o2=new Uint8Array(68);let n3=new DataView(o2.buffer);FeatureTest$1.isLittleEndian?(n3.setUint32(0,255,!0),n3.setUint32(4,65280,!0),n3.setUint32(8,16711680,!0),n3.setUint32(12,4278190080,!0)):(n3.setUint32(0,4278190080,!0),n3.setUint32(4,16711680,!0),n3.setUint32(8,65280,!0),n3.setUint32(12,255,!0));break;default:throw Error("invalid format")}let c2=0,l2=40+o2.length,u2=14+l2+a2.length+r2.length,d2=new Uint8Array(u2),f2=new DataView(d2.buffer);return f2.setUint16(c2,19778,!0),c2+=2,f2.setUint32(c2,u2,!0),c2+=4,f2.setUint32(c2,0,!0),c2+=4,f2.setUint32(c2,14+l2+a2.length,!0),c2+=4,f2.setUint32(c2,l2,!0),c2+=4,f2.setInt32(c2,e2,!0),c2+=4,f2.setInt32(c2,-t2,!0),c2+=4,f2.setUint16(c2,1,!0),c2+=2,f2.setUint16(c2,i2,!0),c2+=2,f2.setUint32(c2,s2,!0),c2+=4,f2.setUint32(c2,0,!0),c2+=4,f2.setInt32(c2,0,!0),c2+=4,f2.setInt32(c2,0,!0),c2+=4,f2.setUint32(c2,a2.length/4,!0),c2+=4,f2.setUint32(c2,0,!0),c2+=4,d2.set(o2,c2),c2+=o2.length,d2.set(a2,c2),c2+=a2.length,d2.set(r2,c2),d2}},ke=new Uint8Array,DecodeStream=class extends BaseStream{buffer=ke;bufferLength=0;eof=!1;minBufferLength=512;pos=0;constructor(e2){if(super(),this._rawMinBufferLength=e2||0,e2)for(;this.minBufferLength<e2;)this.minBufferLength*=2}readBlock(){unreachable$1("Abstract method `readBlock` called")}get isEmpty(){for(;!this.eof&&this.bufferLength===0;)this.readBlock();return this.bufferLength===0}ensureBuffer(e2){let t2=this.buffer;if(e2<=t2.byteLength)return t2;let n2=this.minBufferLength;for(;n2<e2;)n2*=2;let r2=new Uint8Array(n2);return r2.set(t2),this.buffer=r2}getByte(){let e2=this.pos;for(;this.bufferLength<=e2;){if(this.eof)return-1;this.readBlock()}return this.buffer[this.pos++]}getBytes(e2,t2=null){let n2=this.pos,r2;if(e2){for(this.ensureBuffer(n2+e2),r2=n2+e2;!this.eof&&this.bufferLength<r2;)this.readBlock(t2);let i2=this.bufferLength;r2>i2&&(r2=i2)}else{for(;!this.eof;)this.readBlock(t2);r2=this.bufferLength}return this.pos=r2,this.buffer.subarray(n2,r2)}async getImageData(e2,t2){if(!this.canAsyncDecodeImageFromBuffer)return this.isAsyncDecoder?this.decodeImage(null,e2,t2):this.getBytes(e2,t2);let n2=await this.stream.asyncGetBytes();return this.decodeImage(n2,e2,t2)}async asyncGetBytesFromDecompressionStream(e2){this.stream.reset();let t2=this.stream.isAsync?await this.stream.asyncGetBytes():this.stream.getBytes();try{let{readable:n2,writable:r2}=new DecompressionStream(e2),i2=r2.getWriter();await i2.ready,i2.write(t2).then(async()=>{await i2.ready,await i2.close()}).catch(()=>{});let a2=[],o2=0;for await(let e3 of n2)a2.push(e3),o2+=e3.byteLength;let s2=new Uint8Array(o2),c2=0;for(let e3 of a2)s2.set(e3,c2),c2+=e3.byteLength;return{decompressed:s2,compressed:t2}}catch{return{decompressed:null,compressed:t2}}}reset(){this.pos=0}makeSubStream(e2,t2,n2=null){if(t2===void 0)for(;!this.eof;)this.readBlock();else{let n3=e2+t2;for(;this.bufferLength<=n3&&!this.eof;)this.readBlock()}return new Ee(this.buffer,e2,t2,n2)}clone(){for(;!this.eof;)this.readBlock();return new Ee(this.buffer,0,this.bufferLength,this.dict?.clone())}getBaseStreams(){return this.stream?this.stream.getBaseStreams():null}},StreamsSequenceStream=class extends DecodeStream{constructor(e2,t2=null){e2=e2.filter(e3=>e3 instanceof BaseStream&&!e3.isImageStream);let n2=0;for(let t3 of e2)n2+=t3 instanceof DecodeStream?t3._rawMinBufferLength:t3.length;super(n2),this.streams=e2,this._onError=t2}readBlock(){let e2=this.streams;if(e2.length===0){this.eof=!0;return}let t2=e2.shift(),n2;try{n2=t2.getBytes()}catch(e3){if(this._onError){this._onError(e3,t2.dict?.objId);return}throw e3}let r2=this.bufferLength,i2=r2+n2.length;this.ensureBuffer(i2).set(n2,r2),this.bufferLength=i2}getBaseStreams(){let e2=[];for(let t2 of this.streams){let n2=t2.getBaseStreams();n2&&e2.push(...n2)}return e2.length>0?e2:null}},ColorSpaceUtils=class{static parse({cs:e2,xref:t2,resources:n2=null,pdfFunctionFactory:r2,globalColorSpaceCache:i2,localColorSpaceCache:a2,asyncIfNotCached:o2=!1}){let s2={xref:t2,resources:n2,pdfFunctionFactory:r2,globalColorSpaceCache:i2,localColorSpaceCache:a2},c2,l2,u2;if(e2 instanceof L){l2=e2;let n3=i2.getByRef(l2)||a2.getByRef(l2);if(n3)return n3;e2=t2.fetch(e2)}if(e2 instanceof N){c2=e2.name;let t3=a2.getByName(c2);if(t3)return t3}try{u2=this.#t(e2,s2)}catch(e3){if(o2&&!(e3 instanceof MissingDataException))return Promise.reject(e3);throw e3}return(c2||l2)&&(a2.set(c2,l2,u2),l2&&i2.set(null,l2,u2)),o2?Promise.resolve(u2):u2}static#e(e2,t2){let{globalColorSpaceCache:n2}=t2,r2;if(e2 instanceof L){r2=e2;let t3=n2.getByRef(r2);if(t3)return t3}let i2=this.#t(e2,t2);return r2&&n2.set(null,r2,i2),i2}static#t(e2,t2){let{xref:n2,resources:r2,pdfFunctionFactory:i2,globalColorSpaceCache:a2}=t2;if(e2=n2.fetchIfRef(e2),e2 instanceof N)switch(e2.name){case"G":case"DeviceGray":return this.gray;case"RGB":case"DeviceRGB":return this.rgb;case"DeviceRGBA":return this.rgba;case"CMYK":case"DeviceCMYK":return this.cmyk;case"Pattern":return new PatternCS(null);default:if(r2 instanceof F){let n3=r2.get("ColorSpace");if(n3 instanceof F){let r3=n3.get(e2.name);if(r3){if(r3 instanceof N)return this.#t(r3,t2);e2=r3;break}}}return warn$1(`Unrecognized ColorSpace: ${e2.name}`),this.gray}if(Array.isArray(e2)){let r3=n2.fetchIfRef(e2[0]).name,o2,s2,c2,l2,u2,d2;switch(r3){case"G":case"DeviceGray":return this.gray;case"RGB":case"DeviceRGB":return this.rgb;case"CMYK":case"DeviceCMYK":return this.cmyk;case"CalGray":return o2=n2.fetchIfRef(e2[1]),l2=o2.getArray("WhitePoint"),u2=o2.getArray("BlackPoint"),d2=o2.get("Gamma"),new CalGrayCS(l2,u2,d2);case"CalRGB":o2=n2.fetchIfRef(e2[1]),l2=o2.getArray("WhitePoint"),u2=o2.getArray("BlackPoint"),d2=o2.getArray("Gamma");let f2=o2.getArray("Matrix");return new Ce(l2,u2,d2,f2);case"ICCBased":let p2=e2[1]instanceof L;if(p2){let t3=a2.getByRef(e2[1]);if(t3)return t3}let m2=n2.fetchIfRef(e2[1]),h2=m2.dict;if(s2=h2.get("N"),we.isUsable)try{let t3=new we(m2.getBytes(),"ICCBased",s2);return p2&&a2.set(null,e2[1],t3),t3}catch(t3){if(t3 instanceof MissingDataException)throw t3;warn$1(`ICCBased color space (${e2[1]}): "${t3}".`)}let g2=h2.getRaw("Alternate");if(g2){let e3=this.#e(g2,t2);if(e3.numComps===s2)return e3;warn$1("ICCBased color space: Ignoring incorrect /Alternate entry.")}if(s2===1)return this.gray;if(s2===3)return this.rgb;if(s2===4)return this.cmyk;break;case"Pattern":return c2=e2[1]||null,c2&&=this.#e(c2,t2),new PatternCS(c2);case"I":case"Indexed":c2=this.#e(e2[1],t2);let _2=MathClamp$1(n2.fetchIfRef(e2[2]),0,255),v2=n2.fetchIfRef(e2[3]);return new IndexedCS(c2,_2,v2);case"Separation":case"DeviceN":let y2=n2.fetchIfRef(e2[1]);s2=Array.isArray(y2)?y2.length:1,c2=this.#e(e2[2],t2);let b2=i2.create(e2[3]);return new AlternateCS(s2,c2,b2);case"Lab":o2=n2.fetchIfRef(e2[1]),l2=o2.getArray("WhitePoint"),u2=o2.getArray("BlackPoint");let x2=o2.getArray("Range");return new LabCS(l2,u2,x2);default:return warn$1(`Unimplemented ColorSpace object: ${r3}`),this.gray}}return warn$1(`Unrecognized ColorSpace object: ${e2}`),this.gray}static get gray(){return shadow$1(this,"gray",new DeviceGrayCS)}static get rgb(){return shadow$1(this,"rgb",new DeviceRgbCS)}static get rgba(){return shadow$1(this,"rgba",new DeviceRgbaCS)}static get cmyk(){if(Te.isUsable)try{return shadow$1(this,"cmyk",new Te)}catch{warn$1("CMYK fallback: DeviceCMYK")}return shadow$1(this,"cmyk",new DeviceCmykCS)}},JpegError=class extends k{constructor(e2){super(e2,"JpegError")}},DNLMarkerError=class extends k{constructor(e2,t2){super(e2,"DNLMarkerError"),this.scanLines=t2}},EOIMarkerError=class extends k{constructor(e2){super(e2,"EOIMarkerError")}},Ae=new Uint8Array([0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63]),je=4017,Me=3406,Ne=2276,Pe=1567,Fe=3784,Ie=5793,Le=2896;function buildHuffmanTable(e2,t2){let n2=0,r2,i2,a2=16;for(;a2>0&&!e2[a2-1];)a2--;let o2=[{children:[],index:0}],s2=o2[0],c2;for(r2=0;r2<a2;r2++){for(i2=0;i2<e2[r2];i2++){for(s2=o2.pop(),s2.children[s2.index]=t2[n2];s2.index>0;)s2=o2.pop();for(s2.index++,o2.push(s2);o2.length<=r2;)o2.push(c2={children:[],index:0}),s2.children[s2.index]=c2.children,s2=c2;n2++}r2+1<a2&&(o2.push(c2={children:[],index:0}),s2.children[s2.index]=c2.children,s2=c2)}return o2[0].children}function getBlockBufferOffset(e2,t2,n2){return 64*((e2.blocksPerLine+1)*t2+n2)}function decodeScan(e2,t2,n2,r2,i2,a2,o2,s2,c2,l2,u2=!1){let d2=r2.mcusPerLine,f2=r2.progressive,p2=n2,m2=0,h2=0;function readBit(){if(h2>0)return h2--,m2>>h2&1;if(m2=e2[n2++],m2===255){let i3=e2[n2++];if(i3){if(i3===220&&u2){n2+=2;let e3=t2.getUint16(n2);if(n2+=2,e3>0&&e3!==r2.scanLines)throw new DNLMarkerError("Found DNL marker (0xFFDC) while parsing scan data",e3)}else if(i3===217){if(u2){let e3=y2*(r2.precision===8?8:0);if(e3>0&&Math.round(r2.scanLines/e3)>=5)throw new DNLMarkerError("Found EOI marker (0xFFD9) while parsing scan data, possibly caused by incorrect `scanLines` parameter",e3)}throw new EOIMarkerError("Found EOI marker (0xFFD9) while parsing scan data")}throw new JpegError(`unexpected marker ${(m2<<8|i3).toString(16)}`)}}return h2=7,m2>>>7}function decodeHuffman(e3){let t3=e3;for(;;){switch(t3=t3[readBit()],typeof t3){case"number":return t3;case"object":continue}throw new JpegError("invalid huffman sequence")}}function receive(e3){let t3=0;for(;e3>0;)t3=t3<<1|readBit(),e3--;return t3}function receiveAndExtend(e3){if(e3===1)return readBit()===1?1:-1;let t3=receive(e3);return t3>=1<<e3-1?t3:t3+(-1<<e3)+1}function decodeBaseline(e3,t3){let n3=decodeHuffman(e3.huffmanTableDC),r3=n3===0?0:receiveAndExtend(n3);e3.blockData[t3]=e3.pred+=r3;let i3=1;for(;i3<64;){let n4=decodeHuffman(e3.huffmanTableAC),r4=n4&15,a3=n4>>4;if(r4===0){if(a3<15)break;i3+=16;continue}i3+=a3;let o3=Ae[i3];e3.blockData[t3+o3]=receiveAndExtend(r4),i3++}}function decodeDCFirst(e3,t3){let n3=decodeHuffman(e3.huffmanTableDC),r3=n3===0?0:receiveAndExtend(n3)<<l2;e3.blockData[t3]=e3.pred+=r3}function decodeDCSuccessive(e3,t3){e3.blockData[t3]|=readBit()<<l2}let g2=0;function decodeACFirst(e3,t3){if(g2>0){g2--;return}let n3=o2,r3=s2;for(;n3<=r3;){let r4=decodeHuffman(e3.huffmanTableAC),i3=r4&15,a3=r4>>4;if(i3===0){if(a3<15){g2=receive(a3)+(1<<a3)-1;break}n3+=16;continue}n3+=a3;let o3=Ae[n3];e3.blockData[t3+o3]=receiveAndExtend(i3)*(1<<l2),n3++}}let _2=0,v2;function decodeACSuccessive(e3,t3){let n3=o2,r3=s2,i3=0,a3,c3;for(;n3<=r3;){let r4=t3+Ae[n3],o3=e3.blockData[r4]<0?-1:1;switch(_2){case 0:if(c3=decodeHuffman(e3.huffmanTableAC),a3=c3&15,i3=c3>>4,a3===0)i3<15?(g2=receive(i3)+(1<<i3),_2=4):(i3=16,_2=1);else{if(a3!==1)throw new JpegError("invalid ACn encoding");v2=receiveAndExtend(a3),_2=i3?2:3}continue;case 1:case 2:e3.blockData[r4]?e3.blockData[r4]+=o3*(readBit()<<l2):(i3--,i3===0&&(_2=_2===2?3:0));break;case 3:e3.blockData[r4]?e3.blockData[r4]+=o3*(readBit()<<l2):(e3.blockData[r4]=v2<<l2,_2=0);break;case 4:e3.blockData[r4]&&(e3.blockData[r4]+=o3*(readBit()<<l2));break}n3++}_2===4&&(g2--,g2===0&&(_2=0))}let y2=0;function decodeMcu(e3,t3,n3,r3,i3){let a3=n3/d2|0,o3=n3%d2;y2=a3*e3.v+r3;let s3=o3*e3.h+i3;t3(e3,getBlockBufferOffset(e3,y2,s3))}function decodeBlock(e3,t3,n3){y2=n3/e3.blocksPerLine|0;let r3=n3%e3.blocksPerLine;t3(e3,getBlockBufferOffset(e3,y2,r3))}let b2=i2.length,x2,S2,C2,w2,T2,E2;E2=f2?o2===0?c2===0?decodeDCFirst:decodeDCSuccessive:c2===0?decodeACFirst:decodeACSuccessive:decodeBaseline;let D2=0,O2,k2=b2===1?i2[0].blocksPerLine*i2[0].blocksPerColumn:d2*r2.mcusPerColumn,j2,ee2;for(;D2<=k2;){let r3=a2?Math.min(k2-D2,a2):k2;if(r3>0){for(S2=0;S2<b2;S2++)i2[S2].pred=0;if(g2=0,b2===1)for(x2=i2[0],T2=0;T2<r3;T2++)decodeBlock(x2,E2,D2),D2++;else for(T2=0;T2<r3;T2++){for(S2=0;S2<b2;S2++)for(x2=i2[S2],j2=x2.h,ee2=x2.v,C2=0;C2<ee2;C2++)for(w2=0;w2<j2;w2++)decodeMcu(x2,E2,D2,C2,w2);D2++}}if(h2=0,O2=findNextFileMarker(e2,t2,n2),!O2)break;if(O2.invalid&&(warn$1(`decodeScan - ${r3>0?"unexpected":"excessive"} MCU data, current marker is: ${O2.invalid}`),n2=O2.offset),O2.marker>=65488&&O2.marker<=65495)n2+=2;else break}return n2-p2}function quantizeAndInverse(e2,t2,n2){let r2=e2.quantizationTable,i2=e2.blockData,a2,o2,s2,c2,l2,u2,d2,f2,p2,m2,h2,g2,_2,v2,y2,b2,x2;if(!r2)throw new JpegError("missing required Quantization Table.");for(let e3=0;e3<64;e3+=8){if(p2=i2[t2+e3],m2=i2[t2+e3+1],h2=i2[t2+e3+2],g2=i2[t2+e3+3],_2=i2[t2+e3+4],v2=i2[t2+e3+5],y2=i2[t2+e3+6],b2=i2[t2+e3+7],p2*=r2[e3],(m2|h2|g2|_2|v2|y2|b2)===0){x2=Ie*p2+512>>10,n2[e3]=x2,n2[e3+1]=x2,n2[e3+2]=x2,n2[e3+3]=x2,n2[e3+4]=x2,n2[e3+5]=x2,n2[e3+6]=x2,n2[e3+7]=x2;continue}m2*=r2[e3+1],h2*=r2[e3+2],g2*=r2[e3+3],_2*=r2[e3+4],v2*=r2[e3+5],y2*=r2[e3+6],b2*=r2[e3+7],a2=Ie*p2+128>>8,o2=Ie*_2+128>>8,s2=h2,c2=y2,l2=Le*(m2-b2)+128>>8,f2=Le*(m2+b2)+128>>8,u2=g2<<4,d2=v2<<4,a2=a2+o2+1>>1,o2=a2-o2,x2=s2*Fe+c2*Pe+128>>8,s2=s2*Pe-c2*Fe+128>>8,c2=x2,l2=l2+d2+1>>1,d2=l2-d2,f2=f2+u2+1>>1,u2=f2-u2,a2=a2+c2+1>>1,c2=a2-c2,o2=o2+s2+1>>1,s2=o2-s2,x2=l2*Ne+f2*Me+2048>>12,l2=l2*Me-f2*Ne+2048>>12,f2=x2,x2=u2*799+d2*je+2048>>12,u2=u2*je-d2*799+2048>>12,d2=x2,n2[e3]=a2+f2,n2[e3+7]=a2-f2,n2[e3+1]=o2+d2,n2[e3+6]=o2-d2,n2[e3+2]=s2+u2,n2[e3+5]=s2-u2,n2[e3+3]=c2+l2,n2[e3+4]=c2-l2}for(let e3=0;e3<8;++e3){if(p2=n2[e3],m2=n2[e3+8],h2=n2[e3+16],g2=n2[e3+24],_2=n2[e3+32],v2=n2[e3+40],y2=n2[e3+48],b2=n2[e3+56],(m2|h2|g2|_2|v2|y2|b2)===0){x2=Ie*p2+8192>>14,x2=x2<-2040?0:x2>=2024?255:x2+2056>>4,i2[t2+e3]=x2,i2[t2+e3+8]=x2,i2[t2+e3+16]=x2,i2[t2+e3+24]=x2,i2[t2+e3+32]=x2,i2[t2+e3+40]=x2,i2[t2+e3+48]=x2,i2[t2+e3+56]=x2;continue}a2=Ie*p2+2048>>12,o2=Ie*_2+2048>>12,s2=h2,c2=y2,l2=Le*(m2-b2)+2048>>12,f2=Le*(m2+b2)+2048>>12,u2=g2,d2=v2,a2=(a2+o2+1>>1)+4112,o2=a2-o2,x2=s2*Fe+c2*Pe+2048>>12,s2=s2*Pe-c2*Fe+2048>>12,c2=x2,l2=l2+d2+1>>1,d2=l2-d2,f2=f2+u2+1>>1,u2=f2-u2,a2=a2+c2+1>>1,c2=a2-c2,o2=o2+s2+1>>1,s2=o2-s2,x2=l2*Ne+f2*Me+2048>>12,l2=l2*Me-f2*Ne+2048>>12,f2=x2,x2=u2*799+d2*je+2048>>12,u2=u2*je-d2*799+2048>>12,d2=x2,p2=a2+f2,b2=a2-f2,m2=o2+d2,y2=o2-d2,h2=s2+u2,v2=s2-u2,g2=c2+l2,_2=c2-l2,p2<16?p2=0:p2>=4080?p2=255:p2>>=4,m2<16?m2=0:m2>=4080?m2=255:m2>>=4,h2<16?h2=0:h2>=4080?h2=255:h2>>=4,g2<16?g2=0:g2>=4080?g2=255:g2>>=4,_2<16?_2=0:_2>=4080?_2=255:_2>>=4,v2<16?v2=0:v2>=4080?v2=255:v2>>=4,y2<16?y2=0:y2>=4080?y2=255:y2>>=4,b2<16?b2=0:b2>=4080?b2=255:b2>>=4,i2[t2+e3]=p2,i2[t2+e3+8]=m2,i2[t2+e3+16]=h2,i2[t2+e3+24]=g2,i2[t2+e3+32]=_2,i2[t2+e3+40]=v2,i2[t2+e3+48]=y2,i2[t2+e3+56]=b2}}function buildComponentData(e2,t2){let n2=t2.blocksPerLine,r2=t2.blocksPerColumn,i2=new Int16Array(64);for(let e3=0;e3<r2;e3++)for(let r3=0;r3<n2;r3++)quantizeAndInverse(t2,getBlockBufferOffset(t2,e3,r3),i2);return t2.blockData}function findNextFileMarker(e2,t2,n2,r2=n2){let i2=e2.length-1,a2=r2<n2?r2:n2;if(n2>=i2)return null;let o2=t2.getUint16(n2);if(o2>=65472&&o2<=65534)return{invalid:null,marker:o2,offset:n2};let s2=t2.getUint16(a2);for(;!(s2>=65472&&s2<=65534);){if(++a2>=i2)return null;s2=t2.getUint16(a2)}return{invalid:o2.toString(16),marker:s2,offset:a2}}function prepareComponents(e2){let t2=Math.ceil(e2.samplesPerLine/8/e2.maxH),n2=Math.ceil(e2.scanLines/8/e2.maxV);for(let r2 of e2.components){let i2=Math.ceil(Math.ceil(e2.samplesPerLine/8)*r2.h/e2.maxH),a2=Math.ceil(Math.ceil(e2.scanLines/8)*r2.v/e2.maxV),o2=t2*r2.h,s2=64*(n2*r2.v)*(o2+1);r2.blockData=new Int16Array(s2),r2.blocksPerLine=i2,r2.blocksPerColumn=a2}e2.mcusPerLine=t2,e2.mcusPerColumn=n2}function readDataBlock(e2,t2,n2){let r2=t2.getUint16(n2);n2+=2;let i2=n2+r2-2,a2=findNextFileMarker(e2,t2,i2,n2);a2?.invalid&&(warn$1("readDataBlock - incorrect length, current marker is: "+a2.invalid),i2=a2.offset);let o2=e2.subarray(n2,i2);return{appData:o2,oldOffset:n2,newOffset:n2+o2.length}}function skipData(e2,t2,n2){let r2=t2.getUint16(n2);n2+=2;let i2=n2+r2-2,a2=findNextFileMarker(e2,t2,i2,n2);return a2?.invalid?a2.offset:i2}var JpegImage=class{constructor({decodeTransform:e2=null,colorTransform:t2=-1}={}){this._decodeTransform=e2,this._colorTransform=t2}static canUseImageDecoder(e2,t2=-1){let n2=new DataView(e2.buffer,e2.byteOffset,e2.byteLength),r2=null,i2=0,a2=null,o2=n2.getUint16(i2);if(i2+=2,o2!==65496)throw new JpegError("SOI not found");o2=n2.getUint16(i2),i2+=2;markerLoop:for(;o2!==65497;){switch(o2){case 65505:let{appData:t3,oldOffset:s2,newOffset:c2}=readDataBlock(e2,n2,i2);if(i2=c2,t3[0]===69&&t3[1]===120&&t3[2]===105&&t3[3]===102&&t3[4]===0&&t3[5]===0){if(r2)throw new JpegError("Duplicate EXIF-blocks found.");r2={exifStart:s2+6,exifEnd:c2}}o2=n2.getUint16(i2),i2+=2;continue;case 65472:case 65473:case 65474:a2=e2[i2+7];break markerLoop;case 65535:e2[i2]!==255&&i2--;break}i2=skipData(e2,n2,i2),o2=n2.getUint16(i2),i2+=2}return a2===4||a2===3&&t2===0?null:r2||{}}parse(e2,{dnlScanLines:t2=null}={}){let n2=new DataView(e2.buffer,e2.byteOffset,e2.byteLength),r2=e2.length-1,i2=0,a2=null,o2=null,s2,c2,l2=0,u2=[],d2=[],f2=[],p2=n2.getUint16(i2);if(i2+=2,p2!==65496)throw new JpegError("SOI not found");p2=n2.getUint16(i2),i2+=2;markerLoop:for(;p2!==65497;){let m2,h2,g2;switch(p2){case 65504:case 65505:case 65506:case 65507:case 65508:case 65509:case 65510:case 65511:case 65512:case 65513:case 65514:case 65515:case 65516:case 65517:case 65518:case 65519:case 65534:let{appData:_2,newOffset:v2}=readDataBlock(e2,n2,i2);i2=v2,p2===65504&&_2[0]===74&&_2[1]===70&&_2[2]===73&&_2[3]===70&&_2[4]===0&&(a2={version:{major:_2[5],minor:_2[6]},densityUnits:_2[7],xDensity:_2[8]<<8|_2[9],yDensity:_2[10]<<8|_2[11],thumbWidth:_2[12],thumbHeight:_2[13],thumbData:_2.subarray(14,14+3*_2[12]*_2[13])}),p2===65518&&_2[0]===65&&_2[1]===100&&_2[2]===111&&_2[3]===98&&_2[4]===101&&(o2={version:_2[5]<<8|_2[6],flags0:_2[7]<<8|_2[8],flags1:_2[9]<<8|_2[10],transformCode:_2[11]});break;case 65499:let y2=n2.getUint16(i2);i2+=2;let b2=y2+i2-2,x2;for(;i2<b2;){let t3=e2[i2++],r3=new Uint16Array(64);if(t3>>4)if(t3>>4==1)for(h2=0;h2<64;h2++)x2=Ae[h2],r3[x2]=n2.getUint16(i2),i2+=2;else throw new JpegError("DQT - invalid table spec");else for(h2=0;h2<64;h2++)x2=Ae[h2],r3[x2]=e2[i2++];u2[t3&15]=r3}break;case 65472:case 65473:case 65474:if(s2)throw new JpegError("Only single frame JPEGs supported");i2+=2,s2={},s2.extended=p2===65473,s2.progressive=p2===65474,s2.precision=e2[i2++];let S2=n2.getUint16(i2);i2+=2,s2.scanLines=t2||S2,s2.samplesPerLine=n2.getUint16(i2),i2+=2,s2.components=[],s2.componentIds={};let C2=e2[i2++],w2=0,T2=0;for(m2=0;m2<C2;m2++){let t3=e2[i2],n3=e2[i2+1]>>4,r3=e2[i2+1]&15;w2<n3&&(w2=n3),T2<r3&&(T2=r3);let a3=e2[i2+2];g2=s2.components.push({h:n3,v:r3,quantizationId:a3,quantizationTable:null}),s2.componentIds[t3]=g2-1,i2+=3}s2.maxH=w2,s2.maxV=T2,prepareComponents(s2);break;case 65476:let E2=n2.getUint16(i2);for(i2+=2,m2=2;m2<E2;){let t3=e2[i2++],n3=new Uint8Array(16),r3=0;for(h2=0;h2<16;h2++,i2++)r3+=n3[h2]=e2[i2];let a3=new Uint8Array(r3);for(h2=0;h2<r3;h2++,i2++)a3[h2]=e2[i2];m2+=17+r3,(t3>>4?d2:f2)[t3&15]=buildHuffmanTable(n3,a3)}break;case 65501:i2+=2,c2=n2.getUint16(i2),i2+=2;break;case 65498:let D2=++l2===1&&!t2;i2+=2;let O2=e2[i2++],k2=[];for(m2=0;m2<O2;m2++){let t3=e2[i2++],n3=s2.componentIds[t3],r3=s2.components[n3];r3.index=t3;let a3=e2[i2++];r3.huffmanTableDC=f2[a3>>4],r3.huffmanTableAC=d2[a3&15],k2.push(r3)}let j2=e2[i2++],ee2=e2[i2++],M2=e2[i2++];try{let t3=decodeScan(e2,n2,i2,s2,k2,c2,j2,ee2,M2>>4,M2&15,D2);i2+=t3}catch(t3){if(t3 instanceof DNLMarkerError)return warn$1(`${t3.message} -- attempting to re-parse the JPEG image.`),this.parse(e2,{dnlScanLines:t3.scanLines});if(t3 instanceof EOIMarkerError){warn$1(`${t3.message} -- ignoring the rest of the image data.`);break markerLoop}throw t3}break;case 65500:i2+=4;break;case 65535:e2[i2]!==255&&i2--;break;default:let te2=findNextFileMarker(e2,n2,i2-2,i2-3);if(te2?.invalid){warn$1("JpegImage.parse - unexpected data, current marker is: "+te2.invalid),i2=te2.offset;break}if(!te2||i2>=r2){warn$1("JpegImage.parse - reached the end of the image data without finding an EOI marker (0xFFD9).");break markerLoop}throw new JpegError("JpegImage.parse - unknown marker: "+p2.toString(16))}i2<r2?(p2=n2.getUint16(i2),i2+=2):p2=0}if(!s2)throw new JpegError("JpegImage.parse - no frame data found.");this.width=s2.samplesPerLine,this.height=s2.scanLines,this.jfif=a2,this.adobe=o2,this.components=[];for(let e3 of s2.components){let t3=u2[e3.quantizationId];t3&&(e3.quantizationTable=t3),this.components.push({index:e3.index,output:buildComponentData(s2,e3),scaleX:e3.h/s2.maxH,scaleY:e3.v/s2.maxV,blocksPerLine:e3.blocksPerLine,blocksPerColumn:e3.blocksPerColumn})}this.numComponents=this.components.length}#e(e2,t2,n2){let r2=this.width/e2,i2=this.height/t2,a2,o2,s2,c2,l2,u2,d2,f2,p2,m2,h2=0,g2,_2=this.components.length,v2=e2*t2*_2,y2=new Uint8ClampedArray(v2),b2=new Uint32Array(e2),x2=4294967288,S2;for(d2=0;d2<_2;d2++){if(a2=this.components[d2],o2=a2.scaleX*r2,s2=a2.scaleY*i2,h2=d2,g2=a2.output,c2=a2.blocksPerLine+1<<3,o2!==S2){for(l2=0;l2<e2;l2++)f2=0|l2*o2,b2[l2]=(f2&x2)<<3|f2&7;S2=o2}for(u2=0;u2<t2;u2++)for(f2=0|u2*s2,m2=c2*(f2&x2)|(f2&7)<<3,l2=0;l2<e2;l2++)y2[h2]=g2[m2+b2[l2]],h2+=_2}let C2=this._decodeTransform;if(C2)for(d2=0;d2<v2;)for(f2=0,p2=0;f2<_2;f2++,d2++,p2+=2)y2[d2]=(y2[d2]*C2[p2]>>8)+C2[p2+1];return y2}get _isColorConversionNeeded(){return this.adobe?!!this.adobe.transformCode:this.numComponents===3?this._colorTransform===0?!1:this.components[0].index!==82||this.components[1].index!==71||this.components[2].index!==66:this._colorTransform===1}_convertYccToRgb(e2){let t2,n2,r2;for(let i2=0,a2=e2.length;i2<a2;i2+=3)t2=e2[i2],n2=e2[i2+1],r2=e2[i2+2],e2[i2]=t2-179.456+1.402*r2,e2[i2+1]=t2+135.459-.344*n2-.714*r2,e2[i2+2]=t2-226.816+1.772*n2;return e2}_convertYccToRgba(e2,t2){for(let n2=0,r2=0,i2=e2.length;n2<i2;n2+=3,r2+=4){let i3=e2[n2],a2=e2[n2+1],o2=e2[n2+2];t2[r2]=i3-179.456+1.402*o2,t2[r2+1]=i3+135.459-.344*a2-.714*o2,t2[r2+2]=i3-226.816+1.772*a2,t2[r2+3]=255}return t2}_convertYcckToRgb(e2){return this._convertYcckToCmyk(e2),this._convertCmykToRgb(e2)}_convertYcckToRgba(e2){return this._convertYcckToCmyk(e2),this._convertCmykToRgba(e2)}_convertYcckToCmyk(e2){let t2,n2,r2;for(let i2=0,a2=e2.length;i2<a2;i2+=4)t2=e2[i2],n2=e2[i2+1],r2=e2[i2+2],e2[i2]=434.456-t2-1.402*r2,e2[i2+1]=119.541-t2+.344*n2+.714*r2,e2[i2+2]=481.816-t2-1.772*n2;return e2}_convertCmykToRgb(e2){let t2=e2.length/4;return ColorSpaceUtils.cmyk.getRgbBuffer(e2,0,t2,e2,0,8,0),e2.subarray(0,t2*3)}_convertCmykToRgba(e2){if(ColorSpaceUtils.cmyk.getRgbBuffer(e2,0,e2.length/4,e2,0,8,1),ColorSpaceUtils.cmyk instanceof DeviceCmykCS)for(let t2=3,n2=e2.length;t2<n2;t2+=4)e2[t2]=255;return e2}getData({width:e2,height:t2,forceRGBA:n2=!1,forceRGB:r2=!1,isSourcePDF:i2=!0}){if(this.numComponents>4)throw new JpegError("Unsupported color mode");let a2=this.#e(e2,t2,i2);if(this.numComponents===1&&(n2||r2)){let e3=a2.length*(n2?4:3),t3=new Uint8ClampedArray(e3),r3=0;if(n2)grayToRGBA(a2,new Uint32Array(t3.buffer));else for(let e4 of a2)t3[r3++]=e4,t3[r3++]=e4,t3[r3++]=e4;return t3}else if(this.numComponents===3&&this._isColorConversionNeeded){if(n2){let e3=new Uint8ClampedArray(a2.length/3*4);return this._convertYccToRgba(a2,e3)}return this._convertYccToRgb(a2)}else if(this.numComponents===4){if(this._isColorConversionNeeded)return n2?this._convertYcckToRgba(a2):r2?this._convertYcckToRgb(a2):this._convertYcckToCmyk(a2);if(n2)return this._convertCmykToRgba(a2);if(r2)return this._convertCmykToRgb(a2)}return a2}},Re=class JpegStream extends DecodeStream{static#e=FeatureTest$1.isImageDecoderSupported;constructor(e2,t2,n2){super(t2),this.stream=e2,this.dict=e2.dict,this.maybeLength=t2,this.params=n2}static get canUseImageDecoder(){return shadow$1(this,"canUseImageDecoder",this.#e?ImageDecoder.isTypeSupported("image/jpeg"):Promise.resolve(!1))}static setOptions({isImageDecoderSupported:e2=!1}){this.#e=e2}get bytes(){return shadow$1(this,"bytes",this.stream.getBytes(this.maybeLength))}ensureBuffer(e2){}readBlock(){this.decodeImage()}get jpegOptions(){let e2={decodeTransform:void 0,colorTransform:void 0},t2=this.dict.getArray("D","Decode");if((this.forceRGBA||this.forceRGB)&&Array.isArray(t2)){let n2=this.dict.get("BPC","BitsPerComponent")||8,r2=t2.length,i2=new Int32Array(r2),a2=!1,o2=(1<<n2)-1;for(let e3=0;e3<r2;e3+=2)i2[e3]=(t2[e3+1]-t2[e3])*256|0,i2[e3+1]=t2[e3]*o2|0,(i2[e3]!==256||i2[e3+1]!==0)&&(a2=!0);a2&&(e2.decodeTransform=i2)}if(this.params instanceof F){let t3=this.params.get("ColorTransform");Number.isInteger(t3)&&(e2.colorTransform=t3)}return shadow$1(this,"jpegOptions",e2)}#t(e2){for(let t2=0,n2=e2.length-1;t2<n2;t2++)if(e2[t2]===255&&e2[t2+1]===216){t2>0&&(e2=e2.subarray(t2));break}return e2}decodeImage(e2){if(this.eof)return this.buffer;e2=this.#t(e2||this.bytes);let t2=new JpegImage(this.jpegOptions);t2.parse(e2);let n2=t2.getData({width:this.drawWidth,height:this.drawHeight,forceRGBA:this.forceRGBA,forceRGB:this.forceRGB});return this.buffer=n2,this.bufferLength=n2.length,this.eof=!0,this.buffer}get canAsyncDecodeImageFromBuffer(){return this.stream.isAsync}async getTransferableImage(){if(!await JpegStream.canUseImageDecoder)return null;let e2=this.jpegOptions;if(e2.decodeTransform)return null;let t2;try{let n2=this.canAsyncDecodeImageFromBuffer&&await this.stream.asyncGetBytes()||this.bytes;if(!n2)return null;let r2=this.#t(n2),i2=JpegImage.canUseImageDecoder(r2,e2.colorTransform);return i2?(i2.exifStart&&(r2=r2.slice(),r2.fill(0,i2.exifStart,i2.exifEnd)),t2=new ImageDecoder({data:r2,type:"image/jpeg",preferAnimation:!1}),(await t2.decode()).image):null}catch(e3){return warn$1(`getTransferableImage - failed: "${e3}".`),null}finally{t2?.close()}}get isImageStream(){return!0}};function addState(e2,t2,n2,r2,i2){let a2=e2;for(let e3=0,n3=t2.length-1;e3<n3;e3++){let n4=t2[e3];a2=a2[n4]||=[]}a2[t2.at(-1)]={checkFn:n2,iterateFn:r2,processFn:i2}}var ze=[];addState(ze,[T.save,T.transform,T.paintInlineImageXObject,T.restore],null,function(e2,t2){let n2=e2.fnArray,r2=(t2-(e2.iCurr-3))%4;switch(r2){case 0:return n2[t2]===T.save;case 1:return n2[t2]===T.transform;case 2:return n2[t2]===T.paintInlineImageXObject;case 3:return n2[t2]===T.restore}throw Error(`iterateInlineImageGroup - invalid pos: ${r2}`)},function(e2,t2){let n2=e2.fnArray,r2=e2.argsArray,i2=e2.iCurr,a2=i2-3,o2=i2-2,s2=i2-1,c2=Math.min(Math.floor((t2-a2)/4),200);if(c2<10)return t2-(t2-a2)%4;let l2=0,u2=[],d2=0,f2=1,p2=1;for(let e3=0;e3<c2;e3++){let t3=r2[o2+(e3<<2)],n3=r2[s2+(e3<<2)][0];f2+n3.width>1e3&&(l2=Math.max(l2,f2),p2+=d2+2,f2=0,d2=0),u2.push({transform:t3,x:f2,y:p2,w:n3.width,h:n3.height}),f2+=n3.width+2,d2=Math.max(d2,n3.height)}let h2=Math.max(l2,f2)+1,g2=p2+d2+1,_2=new Uint8Array(h2*g2*4),v2=h2<<2;for(let e3=0;e3<c2;e3++){let t3=r2[s2+(e3<<2)][0].data,n3=u2[e3].w<<2,i3=0,a3=u2[e3].x+u2[e3].y*h2<<2;_2.set(t3.subarray(0,n3),a3-v2);for(let r3=0,o3=u2[e3].h;r3<o3;r3++)_2.set(t3.subarray(i3,i3+n3),a3),i3+=n3,a3+=v2;for(_2.set(t3.subarray(i3-n3,i3),a3);a3>=0;)t3[a3-4]=t3[a3],t3[a3-3]=t3[a3+1],t3[a3-2]=t3[a3+2],t3[a3-1]=t3[a3+3],t3[a3+n3]=t3[a3+n3-4],t3[a3+n3+1]=t3[a3+n3-3],t3[a3+n3+2]=t3[a3+n3-2],t3[a3+n3+3]=t3[a3+n3-1],a3-=v2}let y2={width:h2,height:g2};if(e2.isOffscreenCanvasSupported){let e3=new OffscreenCanvas(h2,g2);e3.getContext("2d").putImageData(new ImageData(new Uint8ClampedArray(_2.buffer),h2,g2),0,0),y2.bitmap=e3.transferToImageBitmap(),y2.data=null}else y2.kind=m.RGBA_32BPP,y2.data=_2;return n2.splice(a2,c2*4,T.paintInlineImageXObjectGroup),r2.splice(a2,c2*4,[y2,u2]),a2+1}),addState(ze,[T.save,T.transform,T.paintImageMaskXObject,T.restore],null,function(e2,t2){let n2=e2.fnArray,r2=(t2-(e2.iCurr-3))%4;switch(r2){case 0:return n2[t2]===T.save;case 1:return n2[t2]===T.transform;case 2:return n2[t2]===T.paintImageMaskXObject;case 3:return n2[t2]===T.restore}throw Error(`iterateImageMaskGroup - invalid pos: ${r2}`)},function(e2,t2){let n2=e2.fnArray,r2=e2.argsArray,i2=e2.iCurr,a2=i2-3,o2=i2-2,s2=i2-1,c2=Math.floor((t2-a2)/4);if(c2<10)return t2-(t2-a2)%4;let l2=!1,u2,d2,f2=r2[s2][0],p2=r2[o2][0],m2=r2[o2][1],h2=r2[o2][2],g2=r2[o2][3];if(m2===h2){l2=!0,u2=o2+4;let e3=s2+4;for(let t3=1;t3<c2;t3++,u2+=4,e3+=4)if(d2=r2[u2],r2[e3][0]!==f2||d2[0]!==p2||d2[1]!==m2||d2[2]!==h2||d2[3]!==g2){t3<10?l2=!1:c2=t3;break}}if(l2){c2=Math.min(c2,1e3);let e3=new Float32Array(c2*2);u2=o2;for(let t3=0;t3<c2;t3++,u2+=4)d2=r2[u2],e3[t3<<1]=d2[4],e3[(t3<<1)+1]=d2[5];n2.splice(a2,c2*4,T.paintImageMaskXObjectRepeat),r2.splice(a2,c2*4,[f2,p2,m2,h2,g2,e3])}else{c2=Math.min(c2,100);let e3=[];for(let t3=0;t3<c2;t3++){d2=r2[o2+(t3<<2)];let n3=r2[s2+(t3<<2)][0];e3.push({data:n3.data,width:n3.width,height:n3.height,interpolate:n3.interpolate,count:n3.count,transform:d2})}n2.splice(a2,c2*4,T.paintImageMaskXObjectGroup),r2.splice(a2,c2*4,[e3])}return a2+1}),addState(ze,[T.save,T.transform,T.paintImageXObject,T.restore],function(e2){let t2=e2.argsArray,n2=e2.iCurr-2;return t2[n2][1]===0&&t2[n2][2]===0},function(e2,t2){let n2=e2.fnArray,r2=e2.argsArray,i2=(t2-(e2.iCurr-3))%4;switch(i2){case 0:return n2[t2]===T.save;case 1:if(n2[t2]!==T.transform)return!1;let i3=e2.iCurr-2,a2=r2[i3][0],o2=r2[i3][3];return r2[t2][0]===a2&&r2[t2][1]===0&&r2[t2][2]===0&&r2[t2][3]===o2;case 2:if(n2[t2]!==T.paintImageXObject)return!1;let s2=r2[e2.iCurr-1][0];return r2[t2][0]===s2;case 3:return n2[t2]===T.restore}throw Error(`iterateImageGroup - invalid pos: ${i2}`)},function(e2,t2){let n2=e2.fnArray,r2=e2.argsArray,i2=e2.iCurr,a2=i2-3,o2=i2-2,s2=r2[i2-1][0],c2=r2[o2][0],l2=r2[o2][3],u2=Math.min(Math.floor((t2-a2)/4),1e3);if(u2<3)return t2-(t2-a2)%4;let d2=new Float32Array(u2*2),f2=o2;for(let e3=0;e3<u2;e3++,f2+=4){let t3=r2[f2];d2[e3<<1]=t3[4],d2[(e3<<1)+1]=t3[5]}let p2=[s2,c2,l2,d2];return n2.splice(a2,u2*4,T.paintImageXObjectRepeat),r2.splice(a2,u2*4,p2),a2+1}),addState(ze,[T.beginText,T.setFont,T.setTextMatrix,T.showText,T.endText],null,function(e2,t2){let n2=e2.fnArray,r2=e2.argsArray,i2=(t2-(e2.iCurr-4))%5;switch(i2){case 0:return n2[t2]===T.beginText;case 1:return n2[t2]===T.setFont;case 2:return n2[t2]===T.setTextMatrix;case 3:if(n2[t2]!==T.showText)return!1;let i3=e2.iCurr-3,a2=r2[i3][0],o2=r2[i3][1];return r2[t2][0]===a2&&r2[t2][1]===o2;case 4:return n2[t2]===T.endText}throw Error(`iterateShowTextGroup - invalid pos: ${i2}`)},function(e2,t2){let n2=e2.fnArray,r2=e2.argsArray,i2=e2.iCurr,a2=i2-4,o2=i2-3,s2=i2-2,c2=i2-1,l2=i2,u2=r2[o2][0],d2=r2[o2][1],f2=Math.min(Math.floor((t2-a2)/5),1e3);if(f2<3)return t2-(t2-a2)%5;let p2=a2;a2>=4&&n2[a2-4]===n2[o2]&&n2[a2-3]===n2[s2]&&n2[a2-2]===n2[c2]&&n2[a2-1]===n2[l2]&&r2[a2-4][0]===u2&&r2[a2-4][1]===d2&&(f2++,p2-=5);let m2=p2+4;for(let e3=1;e3<f2;e3++)n2.splice(m2,3),r2.splice(m2,3),m2+=2;return m2+1}),addState(ze,[T.save,T.transform,T.constructPath,T.restore],e2=>{let t2=e2.argsArray,n2=t2[e2.iCurr-1][0];if(n2!==T.stroke&&n2!==T.closeStroke&&n2!==T.fillStroke&&n2!==T.eoFillStroke&&n2!==T.closeFillStroke&&n2!==T.closeEOFillStroke)return!0;let r2=t2[e2.iCurr-2];return r2[0]===1&&r2[1]===0&&r2[2]===0&&r2[3]===1},()=>!1,(e2,t2)=>{let{fnArray:r2,argsArray:i2}=e2,a2=e2.iCurr,o2=a2-3,s2=a2-2,c2=i2[a2-1],l2=i2[s2],[,[u2],d2]=c2;if(d2){let e3=n.slice();Util$1.axialAlignedBoundingBox(d2,l2,e3),d2.set(e3);for(let e4=0,t3=u2.length;e4<t3;)switch(u2[e4++]){case E.moveTo:case E.lineTo:Util$1.applyTransform(u2,l2,e4),e4+=2;break;case E.curveTo:Util$1.applyTransformToBezier(u2,l2,e4),e4+=6;break}}return r2.splice(o2,4,T.constructPath),i2.splice(o2,4,c2),o2+1});var NullOptimizer=class{constructor(e2){this.queue=e2}_optimize(){}push(e2,t2){this.queue.fnArray.push(e2),this.queue.argsArray.push(t2),this._optimize()}flush(){}reset(){}},QueueOptimizer=class extends NullOptimizer{constructor(e2){super(e2),this.state=null,this.context={iCurr:0,fnArray:e2.fnArray,argsArray:e2.argsArray,isOffscreenCanvasSupported:Be.isOffscreenCanvasSupported},this.match=null,this.lastProcessed=0}_optimize(){let e2=this.queue.fnArray,t2=this.lastProcessed,n2=e2.length,r2=this.state,i2=this.match;if(!r2&&!i2&&t2+1===n2&&!ze[e2[t2]]){this.lastProcessed=n2;return}let a2=this.context;for(;t2<n2;){if(i2){if((0,i2.iterateFn)(a2,t2)){t2++;continue}if(t2=(0,i2.processFn)(a2,t2+1),n2=e2.length,i2=null,r2=null,t2>=n2)break}if(r2=(r2||ze)[e2[t2]],!r2||Array.isArray(r2)){t2++;continue}if(a2.iCurr=t2,t2++,r2.checkFn&&!(0,r2.checkFn)(a2)){r2=null;continue}i2=r2,r2=null}this.state=r2,this.match=i2,this.lastProcessed=t2}flush(){for(;this.match;){let e2=this.queue.fnArray.length;this.lastProcessed=(0,this.match.processFn)(this.context,e2),this.match=null,this.state=null,this._optimize()}}reset(){this.state=null,this.match=null,this.lastProcessed=0}},Be=class OperatorList{static CHUNK_SIZE=1e3;static CHUNK_SIZE_ABOUT=this.CHUNK_SIZE-5;static isOffscreenCanvasSupported=!1;constructor(e2=0,t2){this._streamSink=t2,this.fnArray=[],this.argsArray=[],this.optimizer=t2&&!(e2&c.OPLIST)?new QueueOptimizer(this):new NullOptimizer(this),this.dependencies=new Set,this._totalLength=0,this.weight=0,this._resolved=t2?null:Promise.resolve()}static setOptions({isOffscreenCanvasSupported:e2}){this.isOffscreenCanvasSupported=e2}get length(){return this.argsArray.length}get ready(){return this._resolved||this._streamSink.ready}get totalLength(){return this._totalLength+this.length}addOp(e2,t2){this.optimizer.push(e2,t2),this.weight++,this._streamSink&&(this.weight>=OperatorList.CHUNK_SIZE||this.weight>=OperatorList.CHUNK_SIZE_ABOUT&&(e2===T.restore||e2===T.endText))&&this.flush()}addImageOps(e2,t2,n2,r2=!1){r2&&(this.addOp(T.save),this.addOp(T.setGState,[[["SMask",!1]]])),n2!==void 0&&this.addOp(T.beginMarkedContentProps,["OC",n2]),this.addOp(e2,t2),n2!==void 0&&this.addOp(T.endMarkedContent,[]),r2&&this.addOp(T.restore)}addDependency(e2){this.dependencies.has(e2)||(this.dependencies.add(e2),this.addOp(T.dependency,[e2]))}addDependencies(e2){for(let t2 of e2)this.addDependency(t2)}addOpList(e2){if(!(e2 instanceof OperatorList)){warn$1('addOpList - ignoring invalid "opList" parameter.');return}for(let t2 of e2.dependencies)this.dependencies.add(t2);for(let t2=0,n2=e2.length;t2<n2;t2++)this.addOp(e2.fnArray[t2],e2.argsArray[t2])}getIR(){return{fnArray:this.fnArray,argsArray:this.argsArray,length:this.length}}get _transfers(){let e2=[],{fnArray:t2,argsArray:n2,length:r2}=this;for(let i2=0;i2<r2;i2++)switch(t2[i2]){case T.paintInlineImageXObject:case T.paintInlineImageXObjectGroup:case T.paintImageMaskXObject:{let{bitmap:t4,data:r4}=n2[i2][0];(t4||r4?.buffer)&&e2.push(t4||r4.buffer);break}case T.constructPath:{let[,[t4],r4]=n2[i2];t4&&e2.push(t4.buffer,r4.buffer);break}case T.paintFormXObjectBegin:let[t3,r3]=n2[i2];t3&&e2.push(t3.buffer),r3&&e2.push(r3.buffer);break;case T.setTextMatrix:e2.push(n2[i2][0].buffer);break}return e2}flush(e2=!1,t2=null){this.optimizer.flush();let n2=this.length;this._totalLength+=n2,this._streamSink.enqueue({fnArray:this.fnArray,argsArray:this.argsArray,lastChunk:e2,separateAnnots:t2,length:n2},1,this._transfers),this.dependencies.clear(),this.fnArray.length=0,this.argsArray.length=0,this.weight=0,this.optimizer.reset()}},CheckedOperatorList=class extends Be{needsIsolation=!1;hasSoftMask=!1;addOp(e2,t2){if(!this.needsIsolation||!this.hasSoftMask){if(e2===T.beginGroup)this.needsIsolation||=t2[0].needsIsolation,this.hasSoftMask||=t2[0].hasSoftMask;else if(e2===T.setGState)for(let[e3,n2]of t2[0])e3==="BM"&&n2!=="source-over"?this.needsIsolation=!0:e3==="SMask"&&n2!==!1&&(this.needsIsolation=!0,this.hasSoftMask=!0)}super.addOp(e2,t2)}},Ve={FUNCTION_BASED:1,AXIAL:2,RADIAL:3,FREE_FORM_MESH:4,LATTICE_FORM_MESH:5,COONS_PATCH_MESH:6,TENSOR_PATCH_MESH:7},Pattern=class{static#e=!1;constructor(){unreachable$1("Cannot initialize Pattern.")}static setOptions({hasGPU:e2}){this.#e=e2}static parseShading(e2,t2,n2,r2,i2,a2){let o2=e2 instanceof BaseStream?e2.dict:e2,s2=o2.get("ShadingType");try{switch(s2){case Ve.FUNCTION_BASED:return new He(o2,t2,n2,r2,i2,a2);case Ve.AXIAL:case Ve.RADIAL:return new RadialAxialShading(o2,t2,n2,r2,i2,a2);case Ve.FREE_FORM_MESH:case Ve.LATTICE_FORM_MESH:case Ve.COONS_PATCH_MESH:case Ve.TENSOR_PATCH_MESH:return new We(e2,t2,n2,r2,i2,a2);default:throw new FormatError$1("Unsupported ShadingType: "+s2)}}catch(e3){if(e3 instanceof MissingDataException)throw e3;return warn$1(e3),new DummyShading}}},BaseShading=class{static SMALL_NUMBER=1e-6;getIR(){unreachable$1("Abstract method `getIR` called.")}},RadialAxialShading=class extends BaseShading{constructor(e2,t2,n2,r2,i2,a2){super(),this.shadingType=e2.get("ShadingType");let o2=0;if(this.shadingType===Ve.AXIAL?o2=4:this.shadingType===Ve.RADIAL&&(o2=6),this.coordsArr=e2.getArray("Coords"),!isNumberArray(this.coordsArr,o2))throw new FormatError$1("RadialAxialShading: Invalid /Coords array.");let s2=ColorSpaceUtils.parse({cs:e2.getRaw("CS")||e2.getRaw("ColorSpace"),xref:t2,resources:n2,pdfFunctionFactory:r2,globalColorSpaceCache:i2,localColorSpaceCache:a2});this.bbox=lookupNormalRect(e2.getArray("BBox"),null);let c2=0,l2=1,u2=e2.getArray("Domain");isNumberArray(u2,2)&&([c2,l2]=u2);let d2=!1,f2=!1,p2=e2.getArray("Extend");isBooleanArray(p2,2)&&([d2,f2]=p2),this.extendStart=d2,this.extendEnd=f2;let m2=e2.getRaw("Function"),h2=r2.create(m2,!0),g2=(l2-c2)/840,_2=this.colorStops=[];if(c2>=l2||g2<=0){info$1("Bad shading domain.");return}let v2=new Float32Array(s2.numComps),y2=new Float32Array(1),b2=0;y2[0]=c2,h2(y2,0,v2,0);let x2=new Uint8ClampedArray(3);s2.getRgb(v2,0,x2);let[S2,C2,w2]=x2;_2.push([0,Util$1.makeHexColor(S2,C2,w2)]);let T2=1;y2[0]=c2+g2,h2(y2,0,v2,0),s2.getRgb(v2,0,x2);let[E2,D2,O2]=x2,k2=E2-S2+1,j2=D2-C2+1,ee2=O2-w2+1,M2=E2-S2-1,te2=D2-C2-1,ne2=O2-w2-1;for(let e3=2;e3<840;e3++){y2[0]=c2+e3*g2,h2(y2,0,v2,0),s2.getRgb(v2,0,x2);let[t3,n3,r3]=x2,i3=e3-b2;if(k2=Math.min(k2,(t3-S2+1)/i3),j2=Math.min(j2,(n3-C2+1)/i3),ee2=Math.min(ee2,(r3-w2+1)/i3),M2=Math.max(M2,(t3-S2-1)/i3),te2=Math.max(te2,(n3-C2-1)/i3),ne2=Math.max(ne2,(r3-w2-1)/i3),!(M2<=k2&&te2<=j2&&ne2<=ee2)){let e4=Util$1.makeHexColor(E2,D2,O2);_2.push([T2/840,e4]),k2=t3-E2+1,j2=n3-D2+1,ee2=r3-O2+1,M2=t3-E2-1,te2=n3-D2-1,ne2=r3-O2-1,b2=T2,S2=E2,C2=D2,w2=O2}T2=e3,E2=t3,D2=n3,O2=r3}_2.push([1,Util$1.makeHexColor(E2,D2,O2)]);let re2=e2.has("Background")?s2.getRgbHex(e2.get("Background"),0):"transparent";d2||(_2.unshift([0,re2]),_2[1][0]+=BaseShading.SMALL_NUMBER),f2||(_2.at(-1)[0]-=BaseShading.SMALL_NUMBER,_2.push([1,re2])),this.colorStops=_2}getIR(){let{coordsArr:e2,shadingType:t2}=this,n2,r2,i2,a2,o2;return t2===Ve.AXIAL?(r2=[e2[0],e2[1]],i2=[e2[2],e2[3]],a2=null,o2=null,n2="axial"):t2===Ve.RADIAL?(r2=[e2[0],e2[1]],i2=[e2[3],e2[4]],a2=e2[2],o2=e2[5],n2="radial"):unreachable$1(`getPattern type unknown: ${t2}`),["RadialAxial",n2,this.bbox,this.colorStops,r2,i2,a2,o2]}};function meshUpdateBounds(e2){let t2=e2.coords[0][0],n2=e2.coords[0][1],r2=t2,i2=n2;for(let a2=1,o2=e2.coords.length;a2<o2;a2++){let o3=e2.coords[a2][0],s2=e2.coords[a2][1];t2=t2>o3?o3:t2,n2=n2>s2?s2:n2,r2=r2<o3?o3:r2,i2=i2<s2?s2:i2}e2.bounds=[t2,n2,r2,i2]}function meshPackData(e2){let t2,n2,r2,i2=e2.coords,a2=new Float32Array(i2.length*2);for(t2=0,n2=0,r2=i2.length;t2<r2;t2++){let e3=i2[t2];a2[n2++]=e3[0],a2[n2++]=e3[1]}e2.coords=a2;let o2=e2.colors,s2=new Uint8Array(o2.length*4);for(t2=0,n2=0,r2=o2.length;t2<r2;t2++){let e3=o2[t2];s2[n2++]=e3[0],s2[n2++]=e3[1],s2[n2++]=e3[2],n2++}e2.colors=s2;for(let t3 of e2.figures)t3.coords=new Uint32Array(t3.coords),t3.colors=new Uint32Array(t3.colors)}function buildMeshVertexData(e2,t2,n2){let r2=0;for(let e3 of n2)if(e3.type===f.TRIANGLES)r2+=e3.coords.length;else if(e3.type===f.LATTICE){let t3=e3.verticesPerRow;r2+=(Math.floor(e3.coords.length/t3)-1)*(t3-1)*6}let i2=new Float32Array(r2*2),a2=new Uint8Array(r2*4),o2=0,s2=0,addVertex=(n3,r3)=>{i2[o2++]=e2[n3*2],i2[o2++]=e2[n3*2+1],a2[s2++]=t2[r3*4],a2[s2++]=t2[r3*4+1],a2[s2++]=t2[r3*4+2],s2++};for(let e3 of n2){let t3=e3.coords,n3=e3.colors;if(e3.type===f.TRIANGLES)for(let e4=0,r3=t3.length;e4<r3;e4++)addVertex(t3[e4],n3[e4]);else if(e3.type===f.LATTICE){let r3=e3.verticesPerRow,i3=Math.floor(t3.length/r3)-1,a3=r3-1;for(let e4=0;e4<i3;e4++){let i4=e4*r3;for(let e5=0;e5<a3;e5++,i4++)addVertex(t3[i4],n3[i4]),addVertex(t3[i4+1],n3[i4+1]),addVertex(t3[i4+r3],n3[i4+r3]),addVertex(t3[i4+r3+1],n3[i4+r3+1]),addVertex(t3[i4+1],n3[i4+1]),addVertex(t3[i4+r3],n3[i4+r3])}}}return{posData:i2,colData:a2,vertexCount:r2}}var He=class FunctionBasedShading extends BaseShading{static MAX_STEP_COUNT=512;constructor(e2,n2,r2,i2,a2,o2){super(),this.bbox=lookupNormalRect(e2.getArray("BBox"),null);let s2=ColorSpaceUtils.parse({cs:e2.getRaw("CS")||e2.getRaw("ColorSpace"),xref:n2,resources:r2,pdfFunctionFactory:i2,globalColorSpaceCache:a2,localColorSpaceCache:o2});this.background=e2.has("Background")?s2.getRgb(e2.get("Background"),0):null;let c2=e2.getRaw("Function");if(!c2)throw new FormatError$1("FunctionBasedShading: missing /Function");let l2=i2.create(c2,!0),[u2,d2,p2,m2]=lookupRect(e2.getArray("Domain"),[0,1,0,1]),h2=lookupMatrix(e2.getArray("Matrix"),ue);this.bounds=t.slice(),Util$1.axialAlignedBoundingBox([u2,p2,d2,m2],h2,this.bounds);let g2=this.bounds[2]-this.bounds[0],_2=this.bounds[3]-this.bounds[1],v2=MathClamp$1(Math.ceil(g2),1,FunctionBasedShading.MAX_STEP_COUNT),y2=MathClamp$1(Math.ceil(_2),1,FunctionBasedShading.MAX_STEP_COUNT),b2=v2+1,x2=(y2+1)*b2,S2=this.coords=new Float32Array(x2*2),C2=this.colors=new Uint8ClampedArray(x2*4),w2=new Float32Array(2),T2=new Float32Array(s2.numComps),E2=(d2-u2)/v2,D2=(m2-p2)/y2,O2=E2/2,k2=D2/2,j2=0,ee2=0;for(let e3=0;e3<=y2;e3++){let t2=p2+D2*e3;w2[1]=e3===y2?t2-k2:t2;for(let e4=0;e4<=v2;e4++){let n3=u2+E2*e4;w2[0]=e4===v2?n3-O2:n3,l2(w2,0,T2,0),S2[j2]=n3,S2[j2+1]=t2,Util$1.applyTransform(S2,h2,j2),j2+=2,s2.getRgbItem(T2,0,C2,ee2),ee2+=4}}let M2=new Uint32Array(x2);for(let e3=0;e3<x2;e3++)M2[e3]=e3;this.figures=[{type:f.LATTICE,coords:M2,colors:new Uint32Array(M2),verticesPerRow:b2}]}getIR(){let{posData:e2,colData:t2,vertexCount:n2}=buildMeshVertexData(this.coords,this.colors,this.figures);return["Mesh",Ve.FUNCTION_BASED,e2,t2,n2,this.bounds,this.bbox,this.background]}},MeshStreamReader=class{constructor(e2,t2){this.stream=e2,this.context=t2,this.buffer=0,this.bufferLength=0;let n2=t2.numComps;this.tmpCompsBuf=new Float32Array(n2);let r2=t2.colorSpace.numComps;this.tmpCsCompsBuf=t2.colorFn?new Float32Array(r2):this.tmpCompsBuf}get hasData(){if(this.stream.end)return this.stream.pos<this.stream.end;if(this.bufferLength>0)return!0;let e2=this.stream.getByte();return e2<0?!1:(this.buffer=e2,this.bufferLength=8,!0)}readBits(e2){let{stream:t2}=this,{buffer:n2,bufferLength:r2}=this;if(e2===32){if(r2===0)return t2.getInt32()>>>0;n2=n2<<24|t2.getByte()<<16|t2.getByte()<<8|t2.getByte();let e3=t2.getByte();return this.buffer=e3&(1<<r2)-1,(n2<<8-r2|(e3&255)>>r2)>>>0}if(e2===8&&r2===0)return t2.getByte();for(;r2<e2;)n2=n2<<8|t2.getByte(),r2+=8;return r2-=e2,this.bufferLength=r2,this.buffer=n2&(1<<r2)-1,n2>>r2}align(){this.buffer=0,this.bufferLength=0}readFlag(){return this.readBits(this.context.bitsPerFlag)}readCoordinate(){let{bitsPerCoordinate:e2,decode:t2}=this.context,n2=this.readBits(e2),r2=this.readBits(e2),i2=e2<32?1/((1<<e2)-1):23283064365386963e-26;return[n2*i2*(t2[1]-t2[0])+t2[0],r2*i2*(t2[3]-t2[2])+t2[2]]}readComponents(){let{bitsPerComponent:e2,colorFn:t2,colorSpace:n2,decode:r2,numComps:i2}=this.context,a2=e2<32?1/((1<<e2)-1):23283064365386963e-26,o2=this.tmpCompsBuf;for(let t3=0,n3=4;t3<i2;t3++,n3+=2)o2[t3]=this.readBits(e2)*a2*(r2[n3+1]-r2[n3])+r2[n3];let s2=this.tmpCsCompsBuf;return t2?.(o2,0,s2,0),n2.getRgb(s2,0)}},Ue=Object.create(null);function buildB(e2){let t2=[];for(let n2=0;n2<=e2;n2++){let r2=n2/e2,i2=1-r2;t2.push(new Float32Array([i2**3,3*r2*i2**2,3*r2**2*i2,r2**3]))}return t2}function getB(e2){return Ue[e2]||=buildB(e2)}function clearPatternCaches(){Ue=Object.create(null)}var We=class MeshShading extends BaseShading{static MIN_SPLIT_PATCH_CHUNKS_AMOUNT=3;static MAX_SPLIT_PATCH_CHUNKS_AMOUNT=20;static TRIANGLE_DENSITY=20;constructor(e2,t2,n2,r2,i2,a2){if(super(),!(e2 instanceof BaseStream))throw new FormatError$1("Mesh data is not a stream");let o2=e2.dict;this.shadingType=o2.get("ShadingType"),this.bbox=lookupNormalRect(o2.getArray("BBox"),null);let s2=ColorSpaceUtils.parse({cs:o2.getRaw("CS")||o2.getRaw("ColorSpace"),xref:t2,resources:n2,pdfFunctionFactory:r2,globalColorSpaceCache:i2,localColorSpaceCache:a2});this.background=o2.has("Background")?s2.getRgb(o2.get("Background"),0):null;let c2=o2.getRaw("Function"),l2=c2?r2.create(c2,!0):null;this.coords=[],this.colors=[],this.figures=[];let u2=new MeshStreamReader(e2,{bitsPerCoordinate:o2.get("BitsPerCoordinate"),bitsPerComponent:o2.get("BitsPerComponent"),bitsPerFlag:o2.get("BitsPerFlag"),decode:o2.getArray("Decode"),colorFn:l2,colorSpace:s2,numComps:l2?1:s2.numComps}),d2=!1;switch(this.shadingType){case Ve.FREE_FORM_MESH:this._decodeType4Shading(u2);break;case Ve.LATTICE_FORM_MESH:let e3=o2.get("VerticesPerRow")|0;if(e3<2)throw new FormatError$1("Invalid VerticesPerRow");this._decodeType5Shading(u2,e3);break;case Ve.COONS_PATCH_MESH:this._decodeType6Shading(u2),d2=!0;break;case Ve.TENSOR_PATCH_MESH:this._decodeType7Shading(u2),d2=!0;break;default:unreachable$1("Unsupported mesh type.");break}if(d2){this._updateBounds();for(let e3=0,t3=this.figures.length;e3<t3;e3++)this._buildFigureFromPatch(e3)}this._updateBounds(),this._packData()}_decodeType4Shading(e2){let t2=this.coords,n2=this.colors,r2=[],i2=[],a2=0;for(;e2.hasData;){let o2=e2.readFlag(),s2=e2.readCoordinate(),c2=e2.readComponents();if(a2===0){if(!(0<=o2&&o2<=2))throw new FormatError$1("Unknown type4 flag");switch(o2){case 0:a2=3;break;case 1:i2.push(i2.at(-2),i2.at(-1)),a2=1;break;case 2:i2.push(i2.at(-3),i2.at(-1)),a2=1;break}r2.push(o2)}i2.push(t2.length),t2.push(s2),n2.push(c2),a2--,e2.align()}this.figures.push({type:f.TRIANGLES,coords:new Int32Array(i2),colors:new Int32Array(i2)})}_decodeType5Shading(e2,t2){let n2=this.coords,r2=this.colors,i2=[];for(;e2.hasData;){let t3=e2.readCoordinate(),a2=e2.readComponents();i2.push(n2.length),n2.push(t3),r2.push(a2)}this.figures.push({type:f.LATTICE,coords:new Int32Array(i2),colors:new Int32Array(i2),verticesPerRow:t2})}_decodeType6Shading(e2){let t2=this.coords,n2=this.colors,r2=new Int32Array(16),i2=new Int32Array(4);for(;e2.hasData;){let a2=e2.readFlag();if(!(0<=a2&&a2<=3))throw new FormatError$1("Unknown type6 flag");let o2=t2.length;for(let n3=0,r3=a2===0?12:8;n3<r3;n3++)t2.push(e2.readCoordinate());let s2=n2.length;for(let t3=0,r3=a2===0?4:2;t3<r3;t3++)n2.push(e2.readComponents());let c2,l2,u2,d2;switch(a2){case 0:r2[12]=o2+3,r2[13]=o2+4,r2[14]=o2+5,r2[15]=o2+6,r2[8]=o2+2,r2[11]=o2+7,r2[4]=o2+1,r2[7]=o2+8,r2[0]=o2,r2[1]=o2+11,r2[2]=o2+10,r2[3]=o2+9,i2[2]=s2+1,i2[3]=s2+2,i2[0]=s2,i2[1]=s2+3;break;case 1:c2=r2[12],l2=r2[13],u2=r2[14],d2=r2[15],r2[12]=d2,r2[13]=o2+0,r2[14]=o2+1,r2[15]=o2+2,r2[8]=u2,r2[11]=o2+3,r2[4]=l2,r2[7]=o2+4,r2[0]=c2,r2[1]=o2+7,r2[2]=o2+6,r2[3]=o2+5,c2=i2[2],l2=i2[3],i2[2]=l2,i2[3]=s2,i2[0]=c2,i2[1]=s2+1;break;case 2:c2=r2[15],l2=r2[11],r2[12]=r2[3],r2[13]=o2+0,r2[14]=o2+1,r2[15]=o2+2,r2[8]=r2[7],r2[11]=o2+3,r2[4]=l2,r2[7]=o2+4,r2[0]=c2,r2[1]=o2+7,r2[2]=o2+6,r2[3]=o2+5,c2=i2[3],i2[2]=i2[1],i2[3]=s2,i2[0]=c2,i2[1]=s2+1;break;case 3:r2[12]=r2[0],r2[13]=o2+0,r2[14]=o2+1,r2[15]=o2+2,r2[8]=r2[1],r2[11]=o2+3,r2[4]=r2[2],r2[7]=o2+4,r2[0]=r2[3],r2[1]=o2+7,r2[2]=o2+6,r2[3]=o2+5,i2[2]=i2[0],i2[3]=s2,i2[0]=i2[1],i2[1]=s2+1;break}r2[5]=t2.length,t2.push([(-4*t2[r2[0]][0]-t2[r2[15]][0]+6*(t2[r2[4]][0]+t2[r2[1]][0])-2*(t2[r2[12]][0]+t2[r2[3]][0])+3*(t2[r2[13]][0]+t2[r2[7]][0]))/9,(-4*t2[r2[0]][1]-t2[r2[15]][1]+6*(t2[r2[4]][1]+t2[r2[1]][1])-2*(t2[r2[12]][1]+t2[r2[3]][1])+3*(t2[r2[13]][1]+t2[r2[7]][1]))/9]),r2[6]=t2.length,t2.push([(-4*t2[r2[3]][0]-t2[r2[12]][0]+6*(t2[r2[2]][0]+t2[r2[7]][0])-2*(t2[r2[0]][0]+t2[r2[15]][0])+3*(t2[r2[4]][0]+t2[r2[14]][0]))/9,(-4*t2[r2[3]][1]-t2[r2[12]][1]+6*(t2[r2[2]][1]+t2[r2[7]][1])-2*(t2[r2[0]][1]+t2[r2[15]][1])+3*(t2[r2[4]][1]+t2[r2[14]][1]))/9]),r2[9]=t2.length,t2.push([(-4*t2[r2[12]][0]-t2[r2[3]][0]+6*(t2[r2[8]][0]+t2[r2[13]][0])-2*(t2[r2[0]][0]+t2[r2[15]][0])+3*(t2[r2[11]][0]+t2[r2[1]][0]))/9,(-4*t2[r2[12]][1]-t2[r2[3]][1]+6*(t2[r2[8]][1]+t2[r2[13]][1])-2*(t2[r2[0]][1]+t2[r2[15]][1])+3*(t2[r2[11]][1]+t2[r2[1]][1]))/9]),r2[10]=t2.length,t2.push([(-4*t2[r2[15]][0]-t2[r2[0]][0]+6*(t2[r2[11]][0]+t2[r2[14]][0])-2*(t2[r2[12]][0]+t2[r2[3]][0])+3*(t2[r2[2]][0]+t2[r2[8]][0]))/9,(-4*t2[r2[15]][1]-t2[r2[0]][1]+6*(t2[r2[11]][1]+t2[r2[14]][1])-2*(t2[r2[12]][1]+t2[r2[3]][1])+3*(t2[r2[2]][1]+t2[r2[8]][1]))/9]),this.figures.push({type:f.PATCH,coords:new Int32Array(r2),colors:new Int32Array(i2)})}}_decodeType7Shading(e2){let t2=this.coords,n2=this.colors,r2=new Int32Array(16),i2=new Int32Array(4);for(;e2.hasData;){let a2=e2.readFlag();if(!(0<=a2&&a2<=3))throw new FormatError$1("Unknown type7 flag");let o2=t2.length;for(let n3=0,r3=a2===0?16:12;n3<r3;n3++)t2.push(e2.readCoordinate());let s2=n2.length;for(let t3=0,r3=a2===0?4:2;t3<r3;t3++)n2.push(e2.readComponents());let c2,l2,u2,d2;switch(a2){case 0:r2[12]=o2+3,r2[13]=o2+4,r2[14]=o2+5,r2[15]=o2+6,r2[8]=o2+2,r2[9]=o2+13,r2[10]=o2+14,r2[11]=o2+7,r2[4]=o2+1,r2[5]=o2+12,r2[6]=o2+15,r2[7]=o2+8,r2[0]=o2,r2[1]=o2+11,r2[2]=o2+10,r2[3]=o2+9,i2[2]=s2+1,i2[3]=s2+2,i2[0]=s2,i2[1]=s2+3;break;case 1:c2=r2[12],l2=r2[13],u2=r2[14],d2=r2[15],r2[12]=d2,r2[13]=o2+0,r2[14]=o2+1,r2[15]=o2+2,r2[8]=u2,r2[9]=o2+9,r2[10]=o2+10,r2[11]=o2+3,r2[4]=l2,r2[5]=o2+8,r2[6]=o2+11,r2[7]=o2+4,r2[0]=c2,r2[1]=o2+7,r2[2]=o2+6,r2[3]=o2+5,c2=i2[2],l2=i2[3],i2[2]=l2,i2[3]=s2,i2[0]=c2,i2[1]=s2+1;break;case 2:c2=r2[15],l2=r2[11],r2[12]=r2[3],r2[13]=o2+0,r2[14]=o2+1,r2[15]=o2+2,r2[8]=r2[7],r2[9]=o2+9,r2[10]=o2+10,r2[11]=o2+3,r2[4]=l2,r2[5]=o2+8,r2[6]=o2+11,r2[7]=o2+4,r2[0]=c2,r2[1]=o2+7,r2[2]=o2+6,r2[3]=o2+5,c2=i2[3],i2[2]=i2[1],i2[3]=s2,i2[0]=c2,i2[1]=s2+1;break;case 3:r2[12]=r2[0],r2[13]=o2+0,r2[14]=o2+1,r2[15]=o2+2,r2[8]=r2[1],r2[9]=o2+9,r2[10]=o2+10,r2[11]=o2+3,r2[4]=r2[2],r2[5]=o2+8,r2[6]=o2+11,r2[7]=o2+4,r2[0]=r2[3],r2[1]=o2+7,r2[2]=o2+6,r2[3]=o2+5,i2[2]=i2[0],i2[3]=s2,i2[0]=i2[1],i2[1]=s2+1;break}this.figures.push({type:f.PATCH,coords:new Int32Array(r2),colors:new Int32Array(i2)})}}_buildFigureFromPatch(e2){let t2=this.figures[e2];assert$1(t2.type===f.PATCH,"Unexpected patch mesh figure");let n2=this.coords,r2=this.colors,i2=t2.coords,a2=t2.colors,o2=Math.min(n2[i2[0]][0],n2[i2[3]][0],n2[i2[12]][0],n2[i2[15]][0]),s2=Math.min(n2[i2[0]][1],n2[i2[3]][1],n2[i2[12]][1],n2[i2[15]][1]),c2=Math.max(n2[i2[0]][0],n2[i2[3]][0],n2[i2[12]][0],n2[i2[15]][0]),l2=Math.max(n2[i2[0]][1],n2[i2[3]][1],n2[i2[12]][1],n2[i2[15]][1]),u2=Math.ceil((c2-o2)*MeshShading.TRIANGLE_DENSITY/(this.bounds[2]-this.bounds[0]));u2=MathClamp$1(u2,MeshShading.MIN_SPLIT_PATCH_CHUNKS_AMOUNT,MeshShading.MAX_SPLIT_PATCH_CHUNKS_AMOUNT);let d2=Math.ceil((l2-s2)*MeshShading.TRIANGLE_DENSITY/(this.bounds[3]-this.bounds[1]));d2=MathClamp$1(d2,MeshShading.MIN_SPLIT_PATCH_CHUNKS_AMOUNT,MeshShading.MAX_SPLIT_PATCH_CHUNKS_AMOUNT);let p2=u2+1,m2=new Int32Array((d2+1)*p2),h2=new Int32Array((d2+1)*p2),g2=0,_2=new Uint8Array(3),v2=new Uint8Array(3),y2=r2[a2[0]],b2=r2[a2[1]],x2=r2[a2[2]],S2=r2[a2[3]],C2=getB(d2),w2=getB(u2);for(let e3=0;e3<=d2;e3++){_2[0]=(y2[0]*(d2-e3)+x2[0]*e3)/d2|0,_2[1]=(y2[1]*(d2-e3)+x2[1]*e3)/d2|0,_2[2]=(y2[2]*(d2-e3)+x2[2]*e3)/d2|0,v2[0]=(b2[0]*(d2-e3)+S2[0]*e3)/d2|0,v2[1]=(b2[1]*(d2-e3)+S2[1]*e3)/d2|0,v2[2]=(b2[2]*(d2-e3)+S2[2]*e3)/d2|0;for(let t3=0;t3<=u2;t3++,g2++){if((e3===0||e3===d2)&&(t3===0||t3===u2))continue;let a3=0,o3=0,s3=0;for(let r3=0;r3<=3;r3++)for(let c4=0;c4<=3;c4++,s3++){let l3=C2[e3][r3]*w2[t3][c4];a3+=n2[i2[s3]][0]*l3,o3+=n2[i2[s3]][1]*l3}m2[g2]=n2.length,n2.push([a3,o3]),h2[g2]=r2.length;let c3=new Uint8Array(3);c3[0]=(_2[0]*(u2-t3)+v2[0]*t3)/u2|0,c3[1]=(_2[1]*(u2-t3)+v2[1]*t3)/u2|0,c3[2]=(_2[2]*(u2-t3)+v2[2]*t3)/u2|0,r2.push(c3)}}m2[0]=i2[0],h2[0]=a2[0],m2[u2]=i2[3],h2[u2]=a2[1],m2[p2*d2]=i2[12],h2[p2*d2]=a2[2],m2[p2*d2+u2]=i2[15],h2[p2*d2+u2]=a2[3],this.figures[e2]={type:f.LATTICE,coords:m2,colors:h2,verticesPerRow:p2}}_updateBounds(){meshUpdateBounds(this)}_packData(){meshPackData(this)}getIR(){let{posData:e2,colData:t2,vertexCount:n2}=buildMeshVertexData(this.coords,this.colors,this.figures);return["Mesh",this.shadingType,e2,t2,n2,this.bounds,this.bbox,this.background]}},DummyShading=class extends BaseShading{getIR(){return["Dummy"]}};function getTilingPatternIR(e2,t2,n2,r2=!0){let i2=lookupMatrix(t2.getArray("Matrix"),ue),a2=lookupNormalRect(t2.getArray("BBox"),null);if(!a2||a2[2]-a2[0]===0||a2[3]-a2[1]===0)throw new FormatError$1("Invalid getTilingPatternIR /BBox array.");let o2=t2.get("XStep");if(typeof o2!="number")throw new FormatError$1("Invalid getTilingPatternIR /XStep value.");let s2=t2.get("YStep");if(typeof s2!="number")throw new FormatError$1("Invalid getTilingPatternIR /YStep value.");let c2=t2.get("PaintType");if(!Number.isInteger(c2))throw new FormatError$1("Invalid getTilingPatternIR /PaintType value.");let l2=t2.get("TilingType");if(!Number.isInteger(l2))throw new FormatError$1("Invalid getTilingPatternIR /TilingType value.");return["TilingPattern",n2,e2,i2,a2,o2,s2,c2,l2,r2]}function hexToInt(e2,t2){let n2=0;for(let r2=0;r2<=t2;r2++)n2=n2<<8|e2[r2];return n2>>>0}function hexToStr(e2,t2){return t2===1?String.fromCharCode(e2[0],e2[1]):t2===3?String.fromCharCode(e2[0],e2[1],e2[2],e2[3]):String.fromCharCode(...e2.subarray(0,t2+1))}function addHex(e2,t2,n2){let r2=0;for(let i2=n2;i2>=0;i2--)r2+=e2[i2]+t2[i2],e2[i2]=r2&255,r2>>=8}function incHex(e2,t2){let n2=1;for(let r2=t2;r2>=0&&n2>0;r2--)n2+=e2[r2],e2[r2]=n2&255,n2>>=8}var BinaryCMapStream=class extends Ee{tmpBuf=new Uint8Array(19);constructor(e2){super(e2,0,e2.length,null)}readNumber(){let e2=0,t2;do{let n2=this.getByte();if(n2<0)throw new FormatError$1("unexpected EOF in bcmap");t2=!(n2&128),e2=e2<<7|n2&127}while(!t2);return e2}readSigned(){let e2=this.readNumber();return e2&1?~(e2>>>1):e2>>>1}readHex(e2,t2){e2.set(this.getBytes(t2+1))}readHexNumber(e2,t2){let n2,r2=this.tmpBuf,i2=0;do{let e3=this.getByte();if(e3<0)throw new FormatError$1("unexpected EOF in bcmap");n2=!(e3&128),r2[i2++]=e3&127}while(!n2);let a2=t2,o2=0,s2=0;for(;a2>=0;){for(;s2<8&&r2.length>0;)o2|=r2[--i2]<<s2,s2+=7;e2[a2]=o2&255,a2--,o2>>=8,s2-=8}}readHexSigned(e2,t2){this.readHexNumber(e2,t2);let n2=e2[t2]&1?255:0,r2=0;for(let i2=0;i2<=t2;i2++)r2=(r2&1)<<8|e2[i2],e2[i2]=r2>>1^n2}readString(){let e2=this.readNumber(),t2=Array(e2);for(let n2=0;n2<e2;n2++)t2[n2]=this.readNumber();return String.fromCharCode(...t2)}},BinaryCMapReader=class{async process(e2,t2,n2){let r2=new BinaryCMapStream(e2);t2.vertical=!!(r2.getByte()&1);let i2=null,a2=new Uint8Array(16),o2=new Uint8Array(16),s2=new Uint8Array(16),c2=new Uint8Array(16),l2=new Uint8Array(16),u2,d2;for(;(d2=r2.getByte())>=0;){let e3=d2>>5;if(e3===7){switch(d2&31){case 0:r2.readString();break;case 1:i2=r2.readString();break}continue}let n3=!!(d2&16),f2=d2&15;if(f2+1>16)throw Error("BinaryCMapReader.process: Invalid dataSize.");let p2=r2.readNumber();switch(e3){case 0:r2.readHex(a2,f2),r2.readHexNumber(o2,f2),addHex(o2,a2,f2),t2.addCodespaceRange(f2+1,hexToInt(a2,f2),hexToInt(o2,f2));for(let e4=1;e4<p2;e4++)incHex(o2,f2),r2.readHexNumber(a2,f2),addHex(a2,o2,f2),r2.readHexNumber(o2,f2),addHex(o2,a2,f2),t2.addCodespaceRange(f2+1,hexToInt(a2,f2),hexToInt(o2,f2));break;case 1:r2.readHex(a2,f2),r2.readHexNumber(o2,f2),addHex(o2,a2,f2),r2.readNumber();for(let e4=1;e4<p2;e4++)incHex(o2,f2),r2.readHexNumber(a2,f2),addHex(a2,o2,f2),r2.readHexNumber(o2,f2),addHex(o2,a2,f2),r2.readNumber();break;case 2:r2.readHex(s2,f2),u2=r2.readNumber(),t2.mapOne(hexToInt(s2,f2),u2);for(let e4=1;e4<p2;e4++)incHex(s2,f2),n3||(r2.readHexNumber(l2,f2),addHex(s2,l2,f2)),u2=r2.readSigned()+(u2+1),t2.mapOne(hexToInt(s2,f2),u2);break;case 3:r2.readHex(a2,f2),r2.readHexNumber(o2,f2),addHex(o2,a2,f2),u2=r2.readNumber(),t2.mapCidRange(hexToInt(a2,f2),hexToInt(o2,f2),u2);for(let e4=1;e4<p2;e4++)incHex(o2,f2),n3?a2.set(o2):(r2.readHexNumber(a2,f2),addHex(a2,o2,f2)),r2.readHexNumber(o2,f2),addHex(o2,a2,f2),u2=r2.readNumber(),t2.mapCidRange(hexToInt(a2,f2),hexToInt(o2,f2),u2);break;case 4:r2.readHex(s2,1),r2.readHex(c2,f2),t2.mapOne(hexToInt(s2,1),hexToStr(c2,f2));for(let e4=1;e4<p2;e4++)incHex(s2,1),n3||(r2.readHexNumber(l2,1),addHex(s2,l2,1)),incHex(c2,f2),r2.readHexSigned(l2,f2),addHex(c2,l2,f2),t2.mapOne(hexToInt(s2,1),hexToStr(c2,f2));break;case 5:r2.readHex(a2,1),r2.readHexNumber(o2,1),addHex(o2,a2,1),r2.readHex(c2,f2),t2.mapBfRange(hexToInt(a2,1),hexToInt(o2,1),hexToStr(c2,f2));for(let e4=1;e4<p2;e4++)incHex(o2,1),n3?a2.set(o2):(r2.readHexNumber(a2,1),addHex(a2,o2,1)),r2.readHexNumber(o2,1),addHex(o2,a2,1),r2.readHex(c2,f2),t2.mapBfRange(hexToInt(a2,1),hexToInt(o2,1),hexToStr(c2,f2));break;default:throw Error(`BinaryCMapReader.process - unknown type: ${e3}`)}}return i2?n2(i2):t2}},Ascii85Stream=class extends DecodeStream{#e=new Uint8Array(5);constructor(e2,t2){t2&&(t2*=.8),super(t2),this.stream=e2,this.dict=e2.dict}readBlock(){let e2=this.stream,t2=e2.getByte();for(;isWhiteSpace(t2);)t2=e2.getByte();if(t2===-1||t2===126){this.eof=!0;return}let n2=this.bufferLength,r2,i2;if(t2===122)r2=this.ensureBuffer(n2+4),r2.fill(0,n2,n2+4),this.bufferLength+=4;else{let a2=this.#e;for(a2[0]=t2,i2=1;i2<5;++i2){for(t2=e2.getByte();isWhiteSpace(t2);)t2=e2.getByte();if(a2[i2]=t2,t2===-1||t2===126)break}r2=this.ensureBuffer(n2+i2-1),this.bufferLength+=i2-1,i2<5&&(a2.fill(117,i2,5),this.eof=!0);let o2=0;for(i2=0;i2<5;++i2)o2=o2*85+(a2[i2]-33);for(i2=3;i2>=0;--i2)r2[n2+i2]=o2&255,o2>>=8}}},AsciiHexStream=class extends DecodeStream{constructor(e2,t2){t2&&(t2*=.5),super(t2),this.stream=e2,this.dict=e2.dict,this.firstDigit=-1}readBlock(){let e2=this.stream.getBytes(8e3);if(!e2.length){this.eof=!0;return}let t2=e2.length+1>>1,n2=this.ensureBuffer(this.bufferLength+t2),r2=this.bufferLength,i2=this.firstDigit;for(let t3 of e2){let e3;if(t3>=48&&t3<=57)e3=t3&15;else if(t3>=65&&t3<=70||t3>=97&&t3<=102)e3=(t3&15)+9;else if(t3===62){this.eof=!0;break}else continue;i2<0?i2=e3:(n2[r2++]=i2<<4|e3,i2=-1)}i2>=0&&this.eof&&(n2[r2++]=i2<<4,i2=-1),this.firstDigit=i2,this.bufferLength=r2}},makeBrotliDecode=()=>{let e2=Int32Array.from([256,402,436,468,500,534,566,598,630,662,694,726,758,790,822,854,886,920,952,984,1016,1048,1080]),t2=Int32Array.from([1,2,3,4,0,5,17,6,16,7,8,9,10,11,12,13,14,15]),n2=Int32Array.from([0,3,2,1,0,0,0,0,0,0,3,3,3,3,3,3]),r2=Int32Array.from([0,0,0,0,-1,1,-2,2,-3,3,-1,1,-2,2,-3,3]),i2=Int32Array.from([131072,131076,131075,196610,131072,131076,131075,262145,131072,131076,131075,196610,131072,131076,131075,262149]),a2=Int32Array.from([1,5,9,13,17,25,33,41,49,65,81,97,113,145,177,209,241,305,369,497,753,1265,2289,4337,8433,16625]),o2=Int32Array.from([2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,6,6,7,8,9,10,11,12,13,24]),s2=Int16Array.from([0,0,0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,7,8,9,10,12,14,24]),c2=Int16Array.from([0,0,0,0,0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,7,8,9,10,24]),l2=new Int16Array(2816);unpackCommandLookupTable(l2);function log2floor(e3){let t3=-1,n3=16,r3=e3;for(;n3>0;){let e4=r3>>n3;e4!==0&&(t3+=n3,r3=e4),n3>>=1}return t3+r3}function calculateDistanceAlphabetSize(e3,t3,n3){return 16+t3+2*(n3<<e3)}function calculateDistanceAlphabetLimit(e3,t3,n3,r3){if(t3<r3+(2<<n3))return makeError(e3,-23);let i3=(t3-r3>>n3)+4,a3=log2floor(i3)-1;return((a3-1<<1|i3>>a3&1)-1<<n3)+(1<<n3)+r3+16}function unpackCommandLookupTable(e3){let t3=new Int32Array(24),n3=new Int32Array(24);n3[0]=2;for(let e4=0;e4<23;++e4)t3[e4+1]=t3[e4]+(1<<s2[e4]),n3[e4+1]=n3[e4]+(1<<c2[e4]);for(let r3=0;r3<704;++r3){let i3=r3>>6,a3=-4;i3>=2&&(i3-=2,a3=0);let o3=(170064>>i3*2&3)<<3|r3>>3&7,l3=(156228>>i3*2&3)<<3|r3&7,u3=n3[l3],d3=a3+Math.min(u3,5)-2,f3=r3*4;e3[f3]=s2[o3]|c2[l3]<<8,e3[f3+1]=t3[o3],e3[f3+2]=n3[l3],e3[f3+3]=d3}}function decodeWindowBits(e3){let t3=e3.isLargeWindow;if(e3.isLargeWindow=0,e3.bitOffset>=16&&(e3.accumulator32=e3.shortBuffer[e3.halfOffset++]<<16|e3.accumulator32>>>16,e3.bitOffset-=16),readFewBits(e3,1)===0)return 16;let n3=readFewBits(e3,3);return n3===0?(n3=readFewBits(e3,3),n3===0?17:n3===1?t3===0||(e3.isLargeWindow=1,readFewBits(e3,1)===1)||(n3=readFewBits(e3,6),n3<10||n3>30)?-1:n3:8+n3):17+n3}function attachDictionaryChunk(e3,t3){return e3.runningState===1?(e3.cdNumChunks===0&&(e3.cdChunks=Array(16),e3.cdChunkOffsets=new Int32Array(16),e3.cdBlockBits=-1),e3.cdNumChunks===15?makeError(e3,-27):(e3.cdChunks[e3.cdNumChunks]=t3,e3.cdNumChunks++,e3.cdTotalSize+=t3.length,e3.cdChunkOffsets[e3.cdNumChunks]=e3.cdTotalSize,0)):makeError(e3,-24)}function initState(e3){if(e3.runningState!==0)return makeError(e3,-26);e3.blockTrees=new Int32Array(3091),e3.blockTrees[0]=7,e3.distRbIdx=3;let t3=calculateDistanceAlphabetLimit(e3,2147483644,3,120);if(t3<0)return t3;let n3=t3;return e3.distExtraBits=new Int8Array(n3),e3.distOffset=new Int32Array(n3),t3=initBitReader(e3),t3<0?t3:(e3.runningState=1,0)}function close(e3){return e3.runningState===0?makeError(e3,-25):(e3.runningState>0&&(e3.runningState=11),0)}function decodeVarLenUnsignedByte(e3){if(e3.bitOffset>=16&&(e3.accumulator32=e3.shortBuffer[e3.halfOffset++]<<16|e3.accumulator32>>>16,e3.bitOffset-=16),readFewBits(e3,1)!==0){let t3=readFewBits(e3,3);return t3===0?1:readFewBits(e3,t3)+(1<<t3)}return 0}function decodeMetaBlockLength(e3){if(e3.bitOffset>=16&&(e3.accumulator32=e3.shortBuffer[e3.halfOffset++]<<16|e3.accumulator32>>>16,e3.bitOffset-=16),e3.inputEnd=readFewBits(e3,1),e3.metaBlockLength=0,e3.isUncompressed=0,e3.isMetadata=0,e3.inputEnd!==0&&readFewBits(e3,1)!==0)return 0;let t3=readFewBits(e3,2)+4;if(t3===7){if(e3.isMetadata=1,readFewBits(e3,1)!==0)return makeError(e3,-6);let t4=readFewBits(e3,2);if(t4===0)return 0;for(let n3=0;n3<t4;++n3){e3.bitOffset>=16&&(e3.accumulator32=e3.shortBuffer[e3.halfOffset++]<<16|e3.accumulator32>>>16,e3.bitOffset-=16);let r3=readFewBits(e3,8);if(r3===0&&n3+1===t4&&t4>1)return makeError(e3,-8);e3.metaBlockLength+=r3<<n3*8}}else for(let n3=0;n3<t3;++n3){e3.bitOffset>=16&&(e3.accumulator32=e3.shortBuffer[e3.halfOffset++]<<16|e3.accumulator32>>>16,e3.bitOffset-=16);let r3=readFewBits(e3,4);if(r3===0&&n3+1===t3&&t3>4)return makeError(e3,-8);e3.metaBlockLength+=r3<<n3*4}return e3.metaBlockLength++,e3.inputEnd===0&&(e3.isUncompressed=readFewBits(e3,1)),0}function readSymbol(e3,t3,n3){let r3=e3[t3],i3=n3.accumulator32>>>n3.bitOffset;r3+=i3&255;let a3=e3[r3]>>16,o3=e3[r3]&65535;if(a3<=8)return n3.bitOffset+=a3,o3;r3+=o3;let s3=(1<<a3)-1;return r3+=(i3&s3)>>>8,n3.bitOffset+=(e3[r3]>>16)+8,e3[r3]&65535}function readBlockLength(e3,t3,n3){n3.bitOffset>=16&&(n3.accumulator32=n3.shortBuffer[n3.halfOffset++]<<16|n3.accumulator32>>>16,n3.bitOffset-=16);let r3=readSymbol(e3,t3,n3),i3=o2[r3];return n3.bitOffset>=16&&(n3.accumulator32=n3.shortBuffer[n3.halfOffset++]<<16|n3.accumulator32>>>16,n3.bitOffset-=16),a2[r3]+(i3<=16?readFewBits(n3,i3):readManyBits(n3,i3))}function moveToFront(e3,t3){let n3=t3,r3=e3[n3];for(;n3>0;)e3[n3]=e3[n3-1],n3--;e3[0]=r3}function inverseMoveToFrontTransform(e3,t3){let n3=new Int32Array(256);for(let e4=0;e4<256;++e4)n3[e4]=e4;for(let r3=0;r3<t3;++r3){let t4=e3[r3]&255;e3[r3]=n3[t4],t4!==0&&moveToFront(n3,t4)}}function readHuffmanCodeLengths(e3,t3,n3,r3){let i3=0,a3=8,o3=0,s3=0,c3=32768,l3=new Int32Array(33);for(buildHuffmanTable2(l3,l3.length-1,5,e3,18);i3<t3&&c3>0;){if(r3.halfOffset>2030){let e5=readMoreInput(r3);if(e5<0)return e5}r3.bitOffset>=16&&(r3.accumulator32=r3.shortBuffer[r3.halfOffset++]<<16|r3.accumulator32>>>16,r3.bitOffset-=16);let e4=r3.accumulator32>>>r3.bitOffset&31;r3.bitOffset+=l3[e4]>>16;let u3=l3[e4]&65535;if(u3<16)o3=0,n3[i3++]=u3,u3!==0&&(a3=u3,c3-=32768>>u3);else{let e5=u3-14,l4=0;u3===16&&(l4=a3),s3!==l4&&(o3=0,s3=l4);let d3=o3;o3>0&&(o3-=2,o3<<=e5),r3.bitOffset>=16&&(r3.accumulator32=r3.shortBuffer[r3.halfOffset++]<<16|r3.accumulator32>>>16,r3.bitOffset-=16),o3+=readFewBits(r3,e5)+3;let f3=o3-d3;if(i3+f3>t3)return makeError(r3,-2);for(let e6=0;e6<f3;++e6)n3[i3++]=s3;s3!==0&&(c3-=f3<<15-s3)}}return c3===0?(n3.fill(0,i3,t3),0):makeError(r3,-18)}function checkDupes(e3,t3,n3){for(let r3=0;r3<n3-1;++r3)for(let i3=r3+1;i3<n3;++i3)if(t3[r3]===t3[i3])return makeError(e3,-7);return 0}function readSimpleHuffmanCode(e3,t3,n3,r3,i3){let a3=new Int32Array(t3),o3=new Int32Array(4),s3=1+log2floor(e3-1),c3=readFewBits(i3,2)+1;for(let e4=0;e4<c3;++e4){i3.bitOffset>=16&&(i3.accumulator32=i3.shortBuffer[i3.halfOffset++]<<16|i3.accumulator32>>>16,i3.bitOffset-=16);let n4=readFewBits(i3,s3);if(n4>=t3)return makeError(i3,-15);o3[e4]=n4}let l3=checkDupes(i3,o3,c3);if(l3<0)return l3;let u3=c3;switch(c3===4&&(u3+=readFewBits(i3,1)),u3){case 1:a3[o3[0]]=1;break;case 2:a3[o3[0]]=1,a3[o3[1]]=1;break;case 3:a3[o3[0]]=1,a3[o3[1]]=2,a3[o3[2]]=2;break;case 4:a3[o3[0]]=2,a3[o3[1]]=2,a3[o3[2]]=2,a3[o3[3]]=2;break;case 5:a3[o3[0]]=1,a3[o3[1]]=2,a3[o3[2]]=3,a3[o3[3]]=3;break;default:break}return buildHuffmanTable2(n3,r3,8,a3,t3)}function readComplexHuffmanCode(e3,n3,r3,a3,o3){let s3=new Int32Array(e3),c3=new Int32Array(18),l3=32,u3=0;for(let e4=n3;e4<18;++e4){let n4=t2[e4];o3.bitOffset>=16&&(o3.accumulator32=o3.shortBuffer[o3.halfOffset++]<<16|o3.accumulator32>>>16,o3.bitOffset-=16);let r4=o3.accumulator32>>>o3.bitOffset&15;o3.bitOffset+=i2[r4]>>16;let a4=i2[r4]&65535;if(c3[n4]=a4,a4!==0&&(l3-=32>>a4,u3++,l3<=0))break}if(l3!==0&&u3!==1)return makeError(o3,-4);let d3=readHuffmanCodeLengths(c3,e3,s3,o3);return d3<0?d3:buildHuffmanTable2(r3,a3,8,s3,e3)}function readHuffmanCode(e3,t3,n3,r3,i3){if(i3.halfOffset>2030){let e4=readMoreInput(i3);if(e4<0)return e4}i3.bitOffset>=16&&(i3.accumulator32=i3.shortBuffer[i3.halfOffset++]<<16|i3.accumulator32>>>16,i3.bitOffset-=16);let a3=readFewBits(i3,2);return a3===1?readSimpleHuffmanCode(e3,t3,n3,r3,i3):readComplexHuffmanCode(t3,a3,n3,r3,i3)}function decodeContextMap(t3,n3,r3){let i3;if(r3.halfOffset>2030&&(i3=readMoreInput(r3),i3<0))return i3;let a3=decodeVarLenUnsignedByte(r3)+1;if(a3===1)return n3.fill(0,0,t3),a3;r3.bitOffset>=16&&(r3.accumulator32=r3.shortBuffer[r3.halfOffset++]<<16|r3.accumulator32>>>16,r3.bitOffset-=16);let o3=readFewBits(r3,1),s3=0;o3!==0&&(s3=readFewBits(r3,4)+1);let c3=a3+s3,l3=e2[c3+31>>5],u3=new Int32Array(l3+1),d3=u3.length-1;if(i3=readHuffmanCode(c3,c3,u3,d3,r3),i3<0)return i3;let f3=0;for(;f3<t3;){if(r3.halfOffset>2030&&(i3=readMoreInput(r3),i3<0))return i3;r3.bitOffset>=16&&(r3.accumulator32=r3.shortBuffer[r3.halfOffset++]<<16|r3.accumulator32>>>16,r3.bitOffset-=16);let e3=readSymbol(u3,d3,r3);if(e3===0)n3[f3]=0,f3++;else if(e3<=s3){r3.bitOffset>=16&&(r3.accumulator32=r3.shortBuffer[r3.halfOffset++]<<16|r3.accumulator32>>>16,r3.bitOffset-=16);let i4=(1<<e3)+readFewBits(r3,e3);for(;i4!==0;){if(f3>=t3)return makeError(r3,-3);n3[f3]=0,f3++,i4--}}else n3[f3]=e3-s3,f3++}return r3.bitOffset>=16&&(r3.accumulator32=r3.shortBuffer[r3.halfOffset++]<<16|r3.accumulator32>>>16,r3.bitOffset-=16),readFewBits(r3,1)===1&&inverseMoveToFrontTransform(n3,t3),a3}function decodeBlockTypeAndLength(e3,t3,n3){let r3=e3.rings,i3=4+t3*2;e3.bitOffset>=16&&(e3.accumulator32=e3.shortBuffer[e3.halfOffset++]<<16|e3.accumulator32>>>16,e3.bitOffset-=16);let a3=readSymbol(e3.blockTrees,2*t3,e3),o3=readBlockLength(e3.blockTrees,2*t3+1,e3);return a3===1?a3=r3[i3+1]+1:a3===0?a3=r3[i3]:a3-=2,a3>=n3&&(a3-=n3),r3[i3]=r3[i3+1],r3[i3+1]=a3,o3}function decodeLiteralBlockSwitch(e3){e3.literalBlockLength=decodeBlockTypeAndLength(e3,0,e3.numLiteralBlockTypes);let t3=e3.rings[5];e3.contextMapSlice=t3<<6,e3.literalTreeIdx=e3.contextMap[e3.contextMapSlice]&255,e3.contextLookupOffset1=e3.contextModes[t3]<<9,e3.contextLookupOffset2=e3.contextLookupOffset1+256}function decodeCommandBlockSwitch(e3){e3.commandBlockLength=decodeBlockTypeAndLength(e3,1,e3.numCommandBlockTypes),e3.commandTreeIdx=e3.rings[7]}function decodeDistanceBlockSwitch(e3){e3.distanceBlockLength=decodeBlockTypeAndLength(e3,2,e3.numDistanceBlockTypes),e3.distContextMapSlice=e3.rings[9]<<2}function maybeReallocateRingBuffer(e3){let t3=e3.maxRingBufferSize;if(t3>e3.expectedTotalSize){let n4=e3.expectedTotalSize;for(;t3>>1>n4;)t3>>=1;e3.inputEnd===0&&t3<16384&&e3.maxRingBufferSize>=16384&&(t3=16384)}if(t3<=e3.ringBufferSize)return;let n3=t3+37,r3=new Int8Array(n3),i3=e3.ringBuffer;i3.length!==0&&r3.set(i3.subarray(0,e3.ringBufferSize),0),e3.ringBuffer=r3,e3.ringBufferSize=t3}function readNextMetablockHeader(e3){if(e3.inputEnd!==0)return e3.nextRunningState=10,e3.runningState=12,0;e3.literalTreeGroup=new Int32Array,e3.commandTreeGroup=new Int32Array,e3.distanceTreeGroup=new Int32Array;let t3;if(e3.halfOffset>2030&&(t3=readMoreInput(e3),t3<0)||(t3=decodeMetaBlockLength(e3),t3<0))return t3;if(e3.metaBlockLength===0&&e3.isMetadata===0)return 0;if(e3.isUncompressed!==0||e3.isMetadata!==0){if(t3=jumpToByteBoundary(e3),t3<0)return t3;e3.isMetadata===0?e3.runningState=6:e3.runningState=5}else e3.runningState=3;return e3.isMetadata===0&&(e3.expectedTotalSize+=e3.metaBlockLength,e3.expectedTotalSize>1<<30&&(e3.expectedTotalSize=1<<30),e3.ringBufferSize<e3.maxRingBufferSize&&maybeReallocateRingBuffer(e3)),0}function readMetablockPartition(e3,t3,n3){let r3=e3.blockTrees[2*t3];if(n3<=1)return e3.blockTrees[2*t3+1]=r3,e3.blockTrees[2*t3+2]=r3,1<<28;let i3=n3+2,a3=readHuffmanCode(i3,i3,e3.blockTrees,2*t3,e3);return a3<0?a3:(r3+=a3,e3.blockTrees[2*t3+1]=r3,a3=readHuffmanCode(26,26,e3.blockTrees,2*t3+1,e3),a3<0?a3:(r3+=a3,e3.blockTrees[2*t3+2]=r3,readBlockLength(e3.blockTrees,2*t3+1,e3)))}function calculateDistanceLut(e3,t3){let n3=e3.distExtraBits,r3=e3.distOffset,i3=e3.distancePostfixBits,a3=e3.numDirectDistanceCodes,o3=1<<i3,s3=1,c3=0,l3=16;for(let e4=0;e4<a3;++e4)n3[l3]=0,r3[l3]=e4+1,++l3;for(;l3<t3;){let e4=a3+((2+c3<<s3)-4<<i3)+1;for(let t4=0;t4<o3;++t4)n3[l3]=s3,r3[l3]=e4+t4,++l3;s3+=c3,c3^=1}}function readMetablockHuffmanCodesAndContextMaps(e3){e3.numLiteralBlockTypes=decodeVarLenUnsignedByte(e3)+1;let t3=readMetablockPartition(e3,0,e3.numLiteralBlockTypes);if(t3<0||(e3.literalBlockLength=t3,e3.numCommandBlockTypes=decodeVarLenUnsignedByte(e3)+1,t3=readMetablockPartition(e3,1,e3.numCommandBlockTypes),t3<0)||(e3.commandBlockLength=t3,e3.numDistanceBlockTypes=decodeVarLenUnsignedByte(e3)+1,t3=readMetablockPartition(e3,2,e3.numDistanceBlockTypes),t3<0)||(e3.distanceBlockLength=t3,e3.halfOffset>2030&&(t3=readMoreInput(e3),t3<0)))return t3;e3.bitOffset>=16&&(e3.accumulator32=e3.shortBuffer[e3.halfOffset++]<<16|e3.accumulator32>>>16,e3.bitOffset-=16),e3.distancePostfixBits=readFewBits(e3,2),e3.numDirectDistanceCodes=readFewBits(e3,4)<<e3.distancePostfixBits,e3.contextModes=new Int8Array(e3.numLiteralBlockTypes);let n3=0;for(;n3<e3.numLiteralBlockTypes;){let r4=Math.min(n3+96,e3.numLiteralBlockTypes);for(;n3<r4;)e3.bitOffset>=16&&(e3.accumulator32=e3.shortBuffer[e3.halfOffset++]<<16|e3.accumulator32>>>16,e3.bitOffset-=16),e3.contextModes[n3]=readFewBits(e3,2),n3++;if(e3.halfOffset>2030&&(t3=readMoreInput(e3),t3<0))return t3}let r3=e3.numLiteralBlockTypes<<6;if(e3.contextMap=new Int8Array(r3),t3=decodeContextMap(r3,e3.contextMap,e3),t3<0)return t3;let i3=t3;e3.trivialLiteralContext=1;for(let t4=0;t4<r3;++t4)if(e3.contextMap[t4]!==t4>>6){e3.trivialLiteralContext=0;break}if(e3.distContextMap=new Int8Array(e3.numDistanceBlockTypes<<2),t3=decodeContextMap(e3.numDistanceBlockTypes<<2,e3.distContextMap,e3),t3<0)return t3;let a3=t3;if(e3.literalTreeGroup=new Int32Array(huffmanTreeGroupAllocSize(256,i3)),t3=decodeHuffmanTreeGroup(256,256,i3,e3,e3.literalTreeGroup),t3<0||(e3.commandTreeGroup=new Int32Array(huffmanTreeGroupAllocSize(704,e3.numCommandBlockTypes)),t3=decodeHuffmanTreeGroup(704,704,e3.numCommandBlockTypes,e3,e3.commandTreeGroup),t3<0))return t3;let o3=calculateDistanceAlphabetSize(e3.distancePostfixBits,e3.numDirectDistanceCodes,24),s3=o3;if(e3.isLargeWindow===1){if(o3=calculateDistanceAlphabetSize(e3.distancePostfixBits,e3.numDirectDistanceCodes,62),t3=calculateDistanceAlphabetLimit(e3,2147483644,e3.distancePostfixBits,e3.numDirectDistanceCodes),t3<0)return t3;s3=t3}return e3.distanceTreeGroup=new Int32Array(huffmanTreeGroupAllocSize(s3,a3)),t3=decodeHuffmanTreeGroup(o3,s3,a3,e3,e3.distanceTreeGroup),t3<0?t3:(calculateDistanceLut(e3,s3),e3.contextMapSlice=0,e3.distContextMapSlice=0,e3.contextLookupOffset1=e3.contextModes[0]*512,e3.contextLookupOffset2=e3.contextLookupOffset1+256,e3.literalTreeIdx=0,e3.commandTreeIdx=0,e3.rings[4]=1,e3.rings[5]=0,e3.rings[6]=1,e3.rings[7]=0,e3.rings[8]=1,e3.rings[9]=0,0)}function copyUncompressedData(e3){let t3=e3.ringBuffer,n3;if(e3.metaBlockLength<=0)return n3=reload(e3),n3<0?n3:(e3.runningState=2,0);let r3=Math.min(e3.ringBufferSize-e3.pos,e3.metaBlockLength);return n3=copyRawBytes(e3,t3,e3.pos,r3),n3<0?n3:(e3.metaBlockLength-=r3,e3.pos+=r3,e3.pos===e3.ringBufferSize?(e3.nextRunningState=6,e3.runningState=12,0):(n3=reload(e3),n3<0?n3:(e3.runningState=2,0)))}function writeRingBuffer(e3){let t3=Math.min(e3.outputLength-e3.outputUsed,e3.ringBufferBytesReady-e3.ringBufferBytesWritten);return t3!==0&&(e3.output.set(e3.ringBuffer.subarray(e3.ringBufferBytesWritten,e3.ringBufferBytesWritten+t3),e3.outputOffset+e3.outputUsed),e3.outputUsed+=t3,e3.ringBufferBytesWritten+=t3),e3.outputUsed<e3.outputLength?0:2}function huffmanTreeGroupAllocSize(t3,n3){return n3+n3*e2[t3+31>>5]}function decodeHuffmanTreeGroup(e3,t3,n3,r3,i3){let a3=n3;for(let o3=0;o3<n3;++o3){i3[o3]=a3;let n4=readHuffmanCode(e3,t3,i3,o3,r3);if(n4<0)return n4;a3+=n4}return 0}function calculateFence(e3){let t3=e3.ringBufferSize;return e3.isEager!==0&&(t3=Math.min(t3,e3.ringBufferBytesWritten+e3.outputLength-e3.outputUsed)),t3}function doUseDictionary(e3,t3){if(e3.distance>2147483644)return makeError(e3,-9);let n3=e3.distance-e3.maxDistance-1-e3.cdTotalSize;if(n3<0){let t4=initializeCompoundDictionaryCopy(e3,-n3-1,e3.copyLength);if(t4<0)return t4;e3.runningState=14}else{let r3=f2,i3=e3.copyLength;if(i3>31)return makeError(e3,-9);let a3=m2[i3];if(a3===0)return makeError(e3,-9);let o3=p2[i3],s3=n3&(1<<a3)-1,c3=n3>>a3;o3+=s3*i3;let l3=u2;if(c3>=l3.numTransforms)return makeError(e3,-9);let d3=transformDictionaryWord(e3.ringBuffer,e3.pos,r3,o3,i3,l3,c3);if(e3.pos+=d3,e3.metaBlockLength-=d3,e3.pos>=t3)return e3.nextRunningState=4,e3.runningState=12,0;e3.runningState=4}return 0}function initializeCompoundDictionary(e3){e3.cdBlockMap=new Int8Array(256);let t3=8;for(;e3.cdTotalSize-1>>t3;)t3++;t3-=8,e3.cdBlockBits=t3;let n3=0,r3=0;for(;n3<e3.cdTotalSize;){for(;e3.cdChunkOffsets[r3+1]<n3;)r3++;e3.cdBlockMap[n3>>t3]=r3,n3+=1<<t3}}function initializeCompoundDictionaryCopy(e3,t3,n3){e3.cdBlockBits===-1&&initializeCompoundDictionary(e3);let r3=e3.cdBlockMap[t3>>e3.cdBlockBits];for(;t3>=e3.cdChunkOffsets[r3+1];)r3++;return e3.cdTotalSize>t3+n3?makeError(e3,-9):(e3.distRbIdx=e3.distRbIdx+1&3,e3.rings[e3.distRbIdx]=e3.distance,e3.metaBlockLength-=n3,e3.cdBrIndex=r3,e3.cdBrOffset=t3-e3.cdChunkOffsets[r3],e3.cdBrLength=n3,e3.cdBrCopied=0,0)}function copyFromCompoundDictionary(e3,t3){let n3=e3.pos,r3=n3;for(;e3.cdBrLength!==e3.cdBrCopied;){let r4=t3-n3,i3=e3.cdChunkOffsets[e3.cdBrIndex+1]-e3.cdChunkOffsets[e3.cdBrIndex]-e3.cdBrOffset,a3=e3.cdBrLength-e3.cdBrCopied;if(a3>i3&&(a3=i3),a3>r4&&(a3=r4),e3.ringBuffer.set(e3.cdChunks[e3.cdBrIndex].subarray(e3.cdBrOffset,e3.cdBrOffset+a3),n3),n3+=a3,e3.cdBrOffset+=a3,e3.cdBrCopied+=a3,a3===i3&&(e3.cdBrIndex++,e3.cdBrOffset=0),n3>=t3)break}return n3-r3}function decompress(e3){let t3;if(e3.runningState===0)return makeError(e3,-25);if(e3.runningState<0)return makeError(e3,-28);if(e3.runningState===11)return makeError(e3,-22);if(e3.runningState===1){let t4=decodeWindowBits(e3);if(t4===-1)return makeError(e3,-11);e3.maxRingBufferSize=1<<t4,e3.maxBackwardDistance=e3.maxRingBufferSize-16,e3.runningState=2}let i3=calculateFence(e3),a3=e3.ringBufferSize-1,o3=e3.ringBuffer;for(;e3.runningState!==10;)switch(e3.runningState){case 2:if(e3.metaBlockLength<0)return makeError(e3,-10);if(t3=readNextMetablockHeader(e3),t3<0)return t3;i3=calculateFence(e3),a3=e3.ringBufferSize-1,o3=e3.ringBuffer;continue;case 3:if(t3=readMetablockHuffmanCodesAndContextMaps(e3),t3<0)return t3;e3.runningState=4;continue;case 4:if(e3.metaBlockLength<=0){e3.runningState=2;continue}if(e3.halfOffset>2030&&(t3=readMoreInput(e3),t3<0))return t3;e3.commandBlockLength===0&&decodeCommandBlockSwitch(e3),e3.commandBlockLength--,e3.bitOffset>=16&&(e3.accumulator32=e3.shortBuffer[e3.halfOffset++]<<16|e3.accumulator32>>>16,e3.bitOffset-=16);let s3=readSymbol(e3.commandTreeGroup,e3.commandTreeIdx,e3)<<2,c3=l2[s3],u3=l2[s3+1],f3=l2[s3+2];e3.distanceCode=l2[s3+3],e3.bitOffset>=16&&(e3.accumulator32=e3.shortBuffer[e3.halfOffset++]<<16|e3.accumulator32>>>16,e3.bitOffset-=16);let p3=c3&255;e3.insertLength=u3+(p3<=16?readFewBits(e3,p3):readManyBits(e3,p3)),e3.bitOffset>=16&&(e3.accumulator32=e3.shortBuffer[e3.halfOffset++]<<16|e3.accumulator32>>>16,e3.bitOffset-=16);let m3=c3>>8;e3.copyLength=f3+(m3<=16?readFewBits(e3,m3):readManyBits(e3,m3)),e3.j=0,e3.runningState=7;continue;case 7:if(e3.trivialLiteralContext!==0)for(;e3.j<e3.insertLength;){if(e3.halfOffset>2030&&(t3=readMoreInput(e3),t3<0))return t3;if(e3.literalBlockLength===0&&decodeLiteralBlockSwitch(e3),e3.literalBlockLength--,e3.bitOffset>=16&&(e3.accumulator32=e3.shortBuffer[e3.halfOffset++]<<16|e3.accumulator32>>>16,e3.bitOffset-=16),o3[e3.pos]=readSymbol(e3.literalTreeGroup,e3.literalTreeIdx,e3),e3.pos++,e3.j++,e3.pos>=i3){e3.nextRunningState=7,e3.runningState=12;break}}else{let n3=o3[e3.pos-1&a3]&255,r3=o3[e3.pos-2&a3]&255;for(;e3.j<e3.insertLength;){if(e3.halfOffset>2030&&(t3=readMoreInput(e3),t3<0))return t3;e3.literalBlockLength===0&&decodeLiteralBlockSwitch(e3);let a4=d2[e3.contextLookupOffset1+n3]|d2[e3.contextLookupOffset2+r3],s4=e3.contextMap[e3.contextMapSlice+a4]&255;if(e3.literalBlockLength--,r3=n3,e3.bitOffset>=16&&(e3.accumulator32=e3.shortBuffer[e3.halfOffset++]<<16|e3.accumulator32>>>16,e3.bitOffset-=16),n3=readSymbol(e3.literalTreeGroup,s4,e3),o3[e3.pos]=n3,e3.pos++,e3.j++,e3.pos>=i3){e3.nextRunningState=7,e3.runningState=12;break}}}if(e3.runningState!==7)continue;if(e3.metaBlockLength-=e3.insertLength,e3.metaBlockLength<=0){e3.runningState=4;continue}let h3=e3.distanceCode;if(h3<0)e3.distance=e3.rings[e3.distRbIdx];else{if(e3.halfOffset>2030&&(t3=readMoreInput(e3),t3<0))return t3;e3.distanceBlockLength===0&&decodeDistanceBlockSwitch(e3),e3.distanceBlockLength--,e3.bitOffset>=16&&(e3.accumulator32=e3.shortBuffer[e3.halfOffset++]<<16|e3.accumulator32>>>16,e3.bitOffset-=16);let i4=e3.distContextMap[e3.distContextMapSlice+h3]&255;if(h3=readSymbol(e3.distanceTreeGroup,i4,e3),h3<16){let t4=e3.distRbIdx+n2[h3]&3;if(e3.distance=e3.rings[t4]+r2[h3],e3.distance<0)return makeError(e3,-12)}else{let t4=e3.distExtraBits[h3],n3;e3.bitOffset+t4<=32?n3=readFewBits(e3,t4):(e3.bitOffset>=16&&(e3.accumulator32=e3.shortBuffer[e3.halfOffset++]<<16|e3.accumulator32>>>16,e3.bitOffset-=16),n3=t4<=16?readFewBits(e3,t4):readManyBits(e3,t4)),e3.distance=e3.distOffset[h3]+(n3<<e3.distancePostfixBits)}}if(e3.maxDistance!==e3.maxBackwardDistance&&e3.pos<e3.maxBackwardDistance?e3.maxDistance=e3.pos:e3.maxDistance=e3.maxBackwardDistance,e3.distance>e3.maxDistance){e3.runningState=9;continue}if(h3>0&&(e3.distRbIdx=e3.distRbIdx+1&3,e3.rings[e3.distRbIdx]=e3.distance),e3.copyLength>e3.metaBlockLength)return makeError(e3,-9);e3.j=0,e3.runningState=8;continue;case 8:let g3=e3.pos-e3.distance&a3,_2=e3.pos,v2=e3.copyLength-e3.j,y2=g3+v2,b2=_2+v2;if(y2<a3&&b2<a3){if(v2<12||y2>_2&&b2>g3){let e4=v2+3>>2;for(let t4=0;t4<e4;++t4)o3[_2++]=o3[g3++],o3[_2++]=o3[g3++],o3[_2++]=o3[g3++],o3[_2++]=o3[g3++]}else o3.copyWithin(_2,g3,y2);e3.j+=v2,e3.metaBlockLength-=v2,e3.pos+=v2}else for(;e3.j<e3.copyLength;)if(o3[e3.pos]=o3[e3.pos-e3.distance&a3],e3.metaBlockLength--,e3.pos++,e3.j++,e3.pos>=i3){e3.nextRunningState=8,e3.runningState=12;break}e3.runningState===8&&(e3.runningState=4);continue;case 9:if(t3=doUseDictionary(e3,i3),t3<0)return t3;continue;case 14:if(e3.pos+=copyFromCompoundDictionary(e3,i3),e3.pos>=i3)return e3.nextRunningState=14,e3.runningState=12,2;e3.runningState=4;continue;case 5:for(;e3.metaBlockLength>0;){if(e3.halfOffset>2030&&(t3=readMoreInput(e3),t3<0))return t3;e3.bitOffset>=16&&(e3.accumulator32=e3.shortBuffer[e3.halfOffset++]<<16|e3.accumulator32>>>16,e3.bitOffset-=16),readFewBits(e3,8),e3.metaBlockLength--}e3.runningState=2;continue;case 6:if(t3=copyUncompressedData(e3),t3<0)return t3;continue;case 12:e3.ringBufferBytesReady=Math.min(e3.pos,e3.ringBufferSize),e3.runningState=13;continue;case 13:if(t3=writeRingBuffer(e3),t3!==0)return t3;e3.pos>=e3.maxBackwardDistance&&(e3.maxDistance=e3.maxBackwardDistance),e3.pos>=e3.ringBufferSize&&(e3.pos>e3.ringBufferSize&&o3.copyWithin(0,e3.ringBufferSize,e3.pos),e3.pos&=a3,e3.ringBufferBytesWritten=0),e3.runningState=e3.nextRunningState;continue;default:return makeError(e3,-28)}return e3.runningState===10?e3.metaBlockLength<0?makeError(e3,-10):(t3=jumpToByteBoundary(e3),t3!==0||(t3=checkHealth(e3,1),t3!==0)?t3:1):makeError(e3,-29)}function Transforms(e3,t3,n3){this.numTransforms=0,this.triplets=new Int32Array,this.prefixSuffixStorage=new Int8Array,this.prefixSuffixHeads=new Int32Array,this.params=new Int16Array,this.numTransforms=e3,this.triplets=new Int32Array(e3*3),this.params=new Int16Array(e3),this.prefixSuffixStorage=new Int8Array(t3),this.prefixSuffixHeads=new Int32Array(n3+1)}let u2=new Transforms(121,167,50);function unpackTransforms(e3,t3,n3,r3,i3){let a3=toUtf8Runes(r3),o3=a3.length,s3=1,c3=0;for(let n4=0;n4<o3;++n4){let r4=a3[n4];r4===35?t3[s3++]=c3:e3[c3++]=r4}for(let e4=0;e4<363;++e4)n3[e4]=i3.charCodeAt(e4)-32}unpackTransforms(u2.prefixSuffixStorage,u2.prefixSuffixHeads,u2.triplets,`# #s #, #e #.# the #.com/#\xC2\xA0# of # and # in # to #"#">#
|
|
4
|
+
#]# for # a # that #. # with #'# from # by #. The # on # as # is #ing #
|
|
5
|
+
#:#ed #(# at #ly #="# of the #. This #,# not #er #al #='#ful #ive #less #est #ize #ous #`,` !! ! , *! &! " ! ) * * - ! # ! #!*! + ,$ ! - % . / # 0 1 . " 2 3!* 4% ! # / 5 6 7 8 0 1 & $ 9 + : ; < ' != > ?! 4 @ 4 2 & A *# ( B C& ) % ) !*# *-% A +! *. D! %' & E *6 F G% ! *A *% H! D I!+! J!+ K +- *4! A L!*4 M N +6 O!*% +.! K *G P +%( ! G *D +D Q +# *K!*G!+D!+# +G +A +4!+% +K!+4!*D!+K!*K`);function transformDictionaryWord(e3,t3,n3,r3,i3,a3,o3){let s3=t3,c3=a3.triplets,l3=a3.prefixSuffixStorage,u3=a3.prefixSuffixHeads,d3=3*o3,f3=c3[d3],p3=c3[d3+1],m3=c3[d3+2],h3=u3[f3],g3=u3[f3+1],_2=u3[m3],v2=u3[m3+1],y2=p3-11,b2=p3;for((y2<1||y2>9)&&(y2=0),(b2<1||b2>9)&&(b2=0);h3!==g3;)e3[s3++]=l3[h3++];let x2=i3;y2>x2&&(y2=x2);let S2=r3+y2;x2-=y2,x2-=b2;let C2=x2;for(;C2>0;)e3[s3++]=n3[S2++],C2--;if(p3===10||p3===11){let t4=s3-x2;for(p3===10&&(x2=1);x2>0;){let n4=e3[t4]&255;n4<192?(n4>=97&&n4<=122&&(e3[t4]=e3[t4]^32),t4+=1,--x2):n4<224?(e3[t4+1]=e3[t4+1]^32,t4+=2,x2-=2):(e3[t4+2]=e3[t4+2]^5,t4+=3,x2-=3)}}else if(p3===21||p3===22){let t4=s3-x2,n4=a3.params[o3],r4=(n4&32767)+(16777216-(n4&32768));for(;x2>0;){let n5=1,i4=e3[t4]&255;if(i4<128)r4+=i4,e3[t4]=r4&127;else if(!(i4<192)){if(i4<224)if(x2>=2){let a4=e3[t4+1];r4+=a4&63|(i4&31)<<6,e3[t4]=192|r4>>6&31,e3[t4+1]=a4&192|r4&63,n5=2}else n5=x2;else if(i4<240)if(x2>=3){let a4=e3[t4+1],o4=e3[t4+2];r4+=o4&63|(a4&63)<<6|(i4&15)<<12,e3[t4]=224|r4>>12&15,e3[t4+1]=a4&192|r4>>6&63,e3[t4+2]=o4&192|r4&63,n5=3}else n5=x2;else if(i4<248)if(x2>=4){let a4=e3[t4+1],o4=e3[t4+2],s4=e3[t4+3];r4+=s4&63|(o4&63)<<6|(a4&63)<<12|(i4&7)<<18,e3[t4]=240|r4>>18&7,e3[t4+1]=a4&192|r4>>12&63,e3[t4+2]=o4&192|r4>>6&63,e3[t4+3]=s4&192|r4&63,n5=4}else n5=x2}t4+=n5,x2-=n5,p3===21&&(x2=0)}}for(;_2!==v2;)e3[s3++]=l3[_2++];return s3-t3}function getNextKey(e3,t3){let n3=1<<t3-1;for(;(e3&n3)!==0;)n3>>=1;return(e3&n3-1)+n3}function replicateValue(e3,t3,n3,r3,i3){let a3=r3;for(;a3>0;)a3-=n3,e3[t3+a3]=i3}function nextTableBitSize(e3,t3,n3){let r3=t3,i3=1<<r3-n3;for(;r3<15&&(i3-=e3[r3],!(i3<=0));)r3++,i3<<=1;return r3-n3}function buildHuffmanTable2(e3,t3,n3,r3,i3){let a3=e3[t3],o3=new Int32Array(i3),s3=new Int32Array(16),c3=new Int32Array(16);for(let e4=0;e4<i3;++e4)s3[r3[e4]]++;c3[1]=0;for(let e4=1;e4<15;++e4)c3[e4+1]=c3[e4]+s3[e4];for(let e4=0;e4<i3;++e4)r3[e4]!==0&&(o3[c3[r3[e4]]++]=e4);let l3=n3,u3=1<<l3,d3=u3;if(c3[15]===1){for(let t4=0;t4<d3;++t4)e3[a3+t4]=o3[0];return d3}let f3=0,p3=0,m3=1;for(let t4=1;t4<=n3;++t4)for(m3<<=1;s3[t4]>0;)replicateValue(e3,a3+f3,m3,u3,t4<<16|o3[p3++]),f3=getNextKey(f3,t4),s3[t4]--;let h3=d3-1,g3=-1,_2=a3;m3=1;for(let t4=n3+1;t4<=15;++t4)for(m3<<=1;s3[t4]>0;)(f3&h3)!==g3&&(_2+=u3,l3=nextTableBitSize(s3,t4,n3),u3=1<<l3,d3+=u3,g3=f3&h3,e3[a3+g3]=l3+n3<<16|_2-a3-g3),replicateValue(e3,_2+(f3>>n3),m3,u3,t4-n3<<16|o3[p3++]),f3=getNextKey(f3,t4),s3[t4]--;return d3}function readMoreInput(e3){if(e3.endOfStreamReached!==0)return halfAvailable(e3)>=-2?0:makeError(e3,-16);let t3=e3.halfOffset<<1,n3=4096-t3;for(e3.byteBuffer.copyWithin(0,t3,4096),e3.halfOffset=0;n3<4096;){let t4=4096-n3,r3=readInput(e3,e3.byteBuffer,n3,t4);if(r3<-1)return r3;if(r3<=0){e3.endOfStreamReached=1,e3.tailBytes=n3,n3+=1;break}n3+=r3}return bytesToNibbles(e3,n3),0}function checkHealth(e3,t3){if(e3.endOfStreamReached===0)return 0;let n3=(e3.halfOffset<<1)+(e3.bitOffset+7>>3)-4;return n3>e3.tailBytes?makeError(e3,-13):t3!==0&&n3!==e3.tailBytes?makeError(e3,-17):0}function readFewBits(e3,t3){let n3=e3.accumulator32>>>e3.bitOffset&(1<<t3)-1;return e3.bitOffset+=t3,n3}function readManyBits(e3,t3){let n3=readFewBits(e3,16);return e3.accumulator32=e3.shortBuffer[e3.halfOffset++]<<16|e3.accumulator32>>>16,e3.bitOffset-=16,n3|readFewBits(e3,t3-16)<<16}function initBitReader(e3){return e3.byteBuffer=new Int8Array(4160),e3.accumulator32=0,e3.shortBuffer=new Int16Array(2080),e3.bitOffset=32,e3.halfOffset=2048,e3.endOfStreamReached=0,prepare(e3)}function prepare(e3){if(e3.halfOffset>2030){let t4=readMoreInput(e3);if(t4!==0)return t4}let t3=checkHealth(e3,0);return t3===0?(e3.accumulator32=e3.shortBuffer[e3.halfOffset++]<<16|e3.accumulator32>>>16,e3.bitOffset-=16,e3.accumulator32=e3.shortBuffer[e3.halfOffset++]<<16|e3.accumulator32>>>16,e3.bitOffset-=16,0):t3}function reload(e3){return e3.bitOffset===32?prepare(e3):0}function jumpToByteBoundary(e3){let t3=32-e3.bitOffset&7;return t3!==0&&readFewBits(e3,t3)!==0?makeError(e3,-5):0}function halfAvailable(e3){let t3=2048;return e3.endOfStreamReached!==0&&(t3=e3.tailBytes+1>>1),t3-e3.halfOffset}function copyRawBytes(e3,t3,n3,r3){let i3=n3,a3=r3;if(e3.bitOffset&7)return makeError(e3,-30);for(;e3.bitOffset!==32&&a3!==0;)t3[i3++]=e3.accumulator32>>>e3.bitOffset,e3.bitOffset+=8,a3--;if(a3===0)return 0;let o3=Math.min(halfAvailable(e3),a3>>1);if(o3>0){let n4=e3.halfOffset<<1,r4=o3<<1;t3.set(e3.byteBuffer.subarray(n4,n4+r4),i3),i3+=r4,a3-=r4,e3.halfOffset+=o3}if(a3===0)return 0;if(halfAvailable(e3)>0){for(e3.bitOffset>=16&&(e3.accumulator32=e3.shortBuffer[e3.halfOffset++]<<16|e3.accumulator32>>>16,e3.bitOffset-=16);a3!==0;)t3[i3++]=e3.accumulator32>>>e3.bitOffset,e3.bitOffset+=8,a3--;return checkHealth(e3,0)}for(;a3>0;){let n4=readInput(e3,t3,i3,a3);if(n4<-1)return n4;if(n4<=0)return makeError(e3,-16);i3+=n4,a3-=n4}return 0}function bytesToNibbles(e3,t3){let n3=e3.byteBuffer,r3=t3>>1,i3=e3.shortBuffer;for(let e4=0;e4<r3;++e4)i3[e4]=n3[e4*2]&255|(n3[e4*2+1]&255)<<8}let d2=new Int32Array(2048);function unpackLookupTable(e3,t3,n3){for(let t4=0;t4<256;++t4)e3[t4]=t4&63,e3[512+t4]=t4>>2,e3[1792+t4]=2+(t4>>6);for(let n4=0;n4<128;++n4)e3[1024+n4]=4*(t3.charCodeAt(n4)-32);for(let t4=0;t4<64;++t4)e3[1152+t4]=t4&1,e3[1216+t4]=2+(t4&1);let r3=1280;for(let t4=0;t4<19;++t4){let i3=t4&3,a3=n3.charCodeAt(t4)-32;for(let t5=0;t5<a3;++t5)e3[r3++]=i3}for(let t4=0;t4<16;++t4)e3[1792+t4]=1,e3[2032+t4]=6;e3[1792]=0,e3[2047]=7;for(let t4=0;t4<256;++t4)e3[1536+t4]=e3[1792+t4]<<3}unpackLookupTable(d2,` !! ! "#$##%#$&'##(#)#++++++++++((&*'##,---,---,-----,-----,-----&#'###.///.///./////./////./////&#'# `,"A/* ': & : $ \x81 @");function State(){this.ringBuffer=new Int8Array,this.contextModes=new Int8Array,this.contextMap=new Int8Array,this.distContextMap=new Int8Array,this.distExtraBits=new Int8Array,this.output=new Int8Array,this.byteBuffer=new Int8Array,this.shortBuffer=new Int16Array,this.intBuffer=new Int32Array,this.rings=new Int32Array,this.blockTrees=new Int32Array,this.literalTreeGroup=new Int32Array,this.commandTreeGroup=new Int32Array,this.distanceTreeGroup=new Int32Array,this.distOffset=new Int32Array,this.accumulator64=0,this.runningState=0,this.nextRunningState=0,this.accumulator32=0,this.bitOffset=0,this.halfOffset=0,this.tailBytes=0,this.endOfStreamReached=0,this.metaBlockLength=0,this.inputEnd=0,this.isUncompressed=0,this.isMetadata=0,this.literalBlockLength=0,this.numLiteralBlockTypes=0,this.commandBlockLength=0,this.numCommandBlockTypes=0,this.distanceBlockLength=0,this.numDistanceBlockTypes=0,this.pos=0,this.maxDistance=0,this.distRbIdx=0,this.trivialLiteralContext=0,this.literalTreeIdx=0,this.commandTreeIdx=0,this.j=0,this.insertLength=0,this.contextMapSlice=0,this.distContextMapSlice=0,this.contextLookupOffset1=0,this.contextLookupOffset2=0,this.distanceCode=0,this.numDirectDistanceCodes=0,this.distancePostfixBits=0,this.distance=0,this.copyLength=0,this.maxBackwardDistance=0,this.maxRingBufferSize=0,this.ringBufferSize=0,this.expectedTotalSize=0,this.outputOffset=0,this.outputLength=0,this.outputUsed=0,this.ringBufferBytesWritten=0,this.ringBufferBytesReady=0,this.isEager=0,this.isLargeWindow=0,this.cdNumChunks=0,this.cdTotalSize=0,this.cdBrIndex=0,this.cdBrOffset=0,this.cdBrLength=0,this.cdBrCopied=0,this.cdChunks=[],this.cdChunkOffsets=new Int32Array,this.cdBlockBits=0,this.cdBlockMap=new Int8Array,this.input=new InputStream(new Int8Array),this.ringBuffer=new Int8Array,this.rings=new Int32Array(10),this.rings[0]=16,this.rings[1]=15,this.rings[2]=11,this.rings[3]=4}let f2=new Int8Array,p2=new Int32Array(32),m2=new Int32Array(32);function setData(e3,t3){let n3=p2,r3=m2;for(let e4=0;e4<t3.length;++e4)r3[e4]=t3[e4];let i3=0;for(let e4=0;e4<t3.length;++e4){n3[e4]=i3;let t4=r3[e4];t4!==0&&(i3+=e4<<(t4&31))}for(let e4=t3.length;e4<32;++e4)n3[e4]=i3;f2=e3}function unpackDictionaryData(e3,t3,n3,r3,i3,a3){let o3=toUsAsciiBytes(t3+n3),s3=toUtf8Runes(r3),c3=0,l3=s3.length>>1;for(let e4=0;e4<l3;++e4){let t4=s3[2*e4]-36,n4=s3[2*e4+1]-36;for(let e5=0;e5<t4;++e5)o3[c3]=o3[c3]^3,c3++;for(let e5=0;e5<n4;++e5)o3[c3]=o3[c3]^236,c3++}for(let e4=0;e4<a3.length;++e4)i3[e4]=a3.charCodeAt(e4)-65;e3.set(o3)}let h2=new Int8Array(122784),g2=new Int32Array(25);unpackDictionaryData(h2,'wjnfgltmojefofewab`h`lgfgbwbpkltlmozpjwf`jwzlsfmivpwojhfeqfftlqhwf{wzfbqlufqalgzolufelqnallhsobzojufojmfkfosklnfpjgfnlqftlqgolmdwkfnujftejmgsbdfgbzpevookfbgwfqnfb`kbqfbeqlnwqvfnbqhbaofvslmkjdkgbwfobmgmftpfufmmf{w`bpfalwkslpwvpfgnbgfkbmgkfqftkbwmbnfOjmhaoldpjyfabpfkfognbhfnbjmvpfq$*#(klogfmgptjwkMftpqfbgtfqfpjdmwbhfkbufdbnfpffm`boosbwktfoosovpnfmvejonsbqwiljmwkjpojpwdllgmffgtbzptfpwilapnjmgboploldlqj`kvpfpobpwwfbnbqnzellghjmdtjoofbpwtbqgafpwejqfSbdfhmltbtbz-smdnlufwkbmolbgdjufpfoemlwfnv`keffgnbmzql`hj`lmlm`follhkjgfgjfgKlnfqvofklpwbib{jmel`ovaobtpofppkboeplnfpv`kylmf233&lmfp`bqfWjnfqb`faovfelvqtffheb`fklsfdbufkbqgolpwtkfmsbqhhfswsbpppkjsqllnKWNOsobmWzsfglmfpbufhffseobdojmhplogejufwllhqbwfwltmivnswkvpgbqh`bqgejofefbqpwbzhjoowkbweboobvwlfufq-`lnwbohpklsulwfgffsnlgfqfpwwvqmalqmabmgefooqlpfvqo+phjmqlof`lnfb`wpbdfpnffwdlog-isdjwfnubqzefowwkfmpfmggqlsUjft`lsz2-3!?,b=pwlsfopfojfpwlvqsb`h-djesbpw`pp<dqbznfbm%dw8qjgfpklwobwfpbjgqlbgubq#effoilkmqj`hslqwebpw$VB.gfbg?,a=sllqajoowzsfV-P-tllgnvpw1s{8JmelqbmhtjgftbmwtbooofbgX3^8sbvotbufpvqf\'+$ tbjwnbppbqnpdlfpdbjmobmdsbjg"..#ol`hvmjwqllwtbohejqntjef{no!plmdwfpw13s{hjmgqltpwlloelmwnbjopbefpwbqnbsp`lqfqbjmeoltabazpsbmpbzp7s{85s{8bqwpellwqfbotjhjkfbwpwfswqjslqd,obhftfbhwlogElqn`bpwebmpabmhufqzqvmpivozwbph2s{8dlbodqftpoltfgdfjg>!pfwp6s{8-ip<73s{je#+pllmpfbwmlmfwvafyfqlpfmwqffgeb`wjmwldjewkbqn2;s{`bnfkjooalogyllnuljgfbpzqjmdejoosfbhjmjw`lpw0s{8ib`hwbdpajwpqloofgjwhmftmfbq?"..dqltIPLMgvwzMbnfpbofzlv#olwpsbjmibyy`logfzfpejpkttt-qjphwbapsqfu23s{qjpf16s{Aovfgjmd033/abooelqgfbqmtjogal{-ebjqob`hufqpsbjqivmfwf`kje+"sj`hfujo\'+! tbqnolqgglfpsvoo/333jgfbgqbtkvdfpslwevmgavqmkqfe`foohfzpwj`hklvqolppevfo21s{pvjwgfboQPP!bdfgdqfzDFW!fbpfbjnpdjqobjgp;s{8mbuzdqjgwjsp :::tbqpobgz`bqp*8#~sks<kfoowbootklnyk9 ), #233kboo- B4s{8svpk`kbw3s{8`qft),?,kbpk46s{eobwqbqf#%%#wfoo`bnslmwlobjgnjppphjswfmwejmfnbofdfwpsolw733/ `lloeffw-sks?aq=fqj`nlpwdvjgafoogfp`kbjqnbwkbwln,jnd% ;1ov`h`fmw3338wjmzdlmfkwnopfoogqvdEQFFmlgfmj`h<jg>olpfmvooubpwtjmgQPP#tfbqqfozaffmpbnfgvhfmbpb`bsftjpkdvoeW109kjwppolwdbwfhj`haovqwkfz26s{$$*8*8!=npjftjmpajqgplqwafwbpffhW2;9lqgpwqffnboo53s{ebqnlupalzpX3^-$*8!SLPWafbqhjgp*8~~nbqzwfmg+VH*rvbgyk9\n.pjy....sqls$*8ojewW2:9uj`fbmgzgfaw=QPPsllomf`haoltW259gllqfuboW249ofwpebjolqbosloomlub`lopdfmf#lxplewqlnfwjooqlpp?k0=slvqebgfsjmh?wq=njmj*\x7F"+njmfyk9abqpkfbq33*8njoh#..=jqlmeqfggjphtfmwpljosvwp,ip,klozW119JPAMW139bgbnpffp?k1=iplm$/#$`lmwW129#QPPollsbpjbnllm?,s=plvoOJMFelqw`bqwW279?k2=;3s{"..?:s{8W379njhf975Ymj`fjm`kZlqhqj`fyk9\b$**8svqfnbdfsbqbwlmfalmg904Y\\le\\$^*8333/yk9\vwbmhzbqgaltoavpk965YIbub03s{ \x7F~ &@0&907YifeeF[SJ`bpkujpbdloepmltyk9rvfq-`pppj`hnfbwnjm-ajmggfookjqfsj`pqfmw905YKWWS.132elwltloeFMG#{al{967YALGZgj`h8 ~ f{jw906Yubqpafbw$~*8gjfw:::8bmmf~~?,Xj^-Obmdhn.^tjqfwlzpbggppfbobof{8 \n~f`klmjmf-lqd336*wlmziftppbmgofdpqlle333*#133tjmfdfbqgldpallwdbqz`vwpwzofwfnswjlm-{no`l`hdbmd\'+$-63s{Sk-Gnjp`bobmolbmgfphnjofqzbmvmj{gjp`*8~ gvpw`ojs*- 43s{.133GUGp4^=?wbsfgfnlj((*tbdffvqlskjolswpklofEBRpbpjm.15WobapsfwpVQO#avoh`llh8~ KFBGX3^*baaqivbm+2:;ofpkwtjm?,j=plmzdvzpev`hsjsf\x7F. "331*mgltX2^8X^8 Old#pbow \n\nabmdwqjnabwk*x 33s{ ~*8hl9\0effpbg=p9,,#X^8wloosovd+*x x #-ip$133sgvboalbw-ISD*8 ~rvlw*8 $*8 ~1327132613251324132;132:13131312131113101317131613151314131;131:130313021301130013071306130513041320132113221323133:133;133413351336133713301331133213332:::2::;2::42::52::62::72::02::12::22::32:;:2:;;2:;42:;52:;62:;72:;02:;12:;22:;32:4:2:4;2:442:452:462:472:402:412:422:432:5:2:5;2:542:552:562:572:502:512:522:532:6:2:6;2:642:652:662:672:602:612:622:632333231720:73333::::`lnln/Mpfpwffpwbsfqlwlglkb`f`bgbb/]lajfmg/Abbp/Aujgb`bpllwqlelqlplollwqb`vbogjilpjgldqbmwjslwfnbgfafbodlrv/Efpwlmbgbwqfpsl`l`bpbabilwlgbpjmlbdvbsvfpvmlpbmwfgj`fovjpfoobnbzlylmbbnlqsjpllaqb`oj`foolgjlpklqb`bpj<[<\\<Q<\\<R<P=l<\\=l=o=n<\\<Q<Y<S<R<R=n<T<[<Q<R<X<R=n<R<Z<Y<R<Q<T=i<q<\\<Y<Y<]=g<P=g<~=g=m<R<^=g<^<R<q<R<R<]<s<R<W<T<Q<T<L<H<q<Y<p=g=n=g<r<Q<T<P<X<\\<{<\\<x<\\<q=o<r<]=n<Y<t<[<Y<U<Q=o<P<P<N=g=o<Z5m5f4O5j5i4K5i4U5o5h4O5d4]4C5f4K5m5e5k5d5h5i5h5o4K5d5h5k4D4_4K5h4I5j5k5f4O5f5n4C5k5h4G5i4D5k5h5d5h5f4D5h4K5f4D5o4X5f4K5i4O5i5j4F4D5f5h5j4A4D5k5i5i4X5d4Xejqpwujgflojdkwtlqognfgjbtkjwf`olpfaob`hqjdkwpnbooallhpsob`fnvpj`ejfoglqgfqsljmwubovfofufowbaofalbqgklvpfdqlvstlqhpzfbqppwbwfwlgbztbwfqpwbqwpwzofgfbwksltfqsklmfmjdkwfqqlqjmsvwbalvwwfqnpwjwofwllopfufmwol`bowjnfpobqdftlqgpdbnfppklqwpsb`fel`vp`ofbqnlgfoaol`hdvjgfqbgjlpkbqftlnfmbdbjmnlmfzjnbdfmbnfpzlvmdojmfpobwfq`lolqdqffmeqlmw%bns8tbw`kelq`fsqj`fqvofpafdjmbewfqujpjwjppvfbqfbpafoltjmgf{wlwboklvqpobafosqjmwsqfppavjowojmhppsffgpwvgzwqbgfelvmgpfmpfvmgfqpkltmelqnpqbmdfbggfgpwjoonlufgwbhfmbalufeobpkej{fglewfmlwkfqujftp`kf`hofdboqjufqjwfnprvj`hpkbsfkvnbmf{jpwdljmdnlujfwkjqgabpj`sfb`fpwbdftjgwkoldjmjgfbptqlwfsbdfpvpfqpgqjufpwlqfaqfbhplvwkulj`fpjwfpnlmwktkfqfavjogtkj`kfbqwkelqvnwkqffpslqwsbqwz@oj`holtfqojufp`obppobzfqfmwqzpwlqzvpbdfplvmg`lvqwzlvq#ajqwkslsvswzsfpbssozJnbdfafjmdvssfqmlwfpfufqzpkltpnfbmpf{wqbnbw`kwqb`hhmltmfbqozafdbmpvsfqsbsfqmlqwkofbqmdjufmmbnfgfmgfgWfqnpsbqwpDqlvsaqbmgvpjmdtlnbmebopfqfbgzbvgjlwbhfptkjof-`ln,ojufg`bpfpgbjoz`kjogdqfbwivgdfwklpfvmjwpmfufqaqlbg`lbpw`lufqbssofejofp`z`ofp`fmfsobmp`oj`htqjwfrvffmsjf`ffnbjoeqbnflogfqsklwlojnjw`b`kf`jujop`boffmwfqwkfnfwkfqfwlv`kalvmgqlzbobphfgtklofpjm`fpwl`h#mbnfebjwkkfbqwfnswzleefqp`lsfltmfgnjdkwboavnwkjmhaollgbqqbznbilqwqvpw`bmlmvmjlm`lvmwubojgpwlmfPwzofOldjmkbsszl``vqofew9eqfpkrvjwfejonpdqbgfmffgpvqabmejdkwabpjpklufqbvwl8qlvwf-kwnonj{fgejmboZlvq#pojgfwlsj`aqltmbolmfgqbtmpsojwqfb`kQjdkwgbwfpnbq`krvlwfdllgpOjmhpglvawbpzm`wkvnaboolt`kjfezlvwkmlufo23s{8pfqufvmwjokbmgp@kf`hPsb`frvfqzibnfpfrvbowtj`f3/333Pwbqwsbmfoplmdpqlvmgfjdkwpkjewtlqwkslpwpofbgptffhpbuljgwkfpfnjofpsobmfpnbqwboskbsobmwnbqhpqbwfpsobzp`objnpbofpwf{wppwbqptqlmd?,k0=wkjmd-lqd,nvowjkfbqgSltfqpwbmgwlhfmplojg+wkjpaqjmdpkjsppwbeewqjfg`boopevoozeb`wpbdfmwWkjp#,,..=bgnjmfdzswFufmw26s{8Fnbjowqvf!`qlpppsfmwaoldpal{!=mlwfgofbuf`kjmbpjyfpdvfpw?,k7=qlalwkfbuzwqvf/pfufmdqbmg`qjnfpjdmpbtbqfgbm`fskbpf=?"..fm\\VP% 0:8133s{\\mbnfobwjmfmilzbib{-bwjlmpnjwkV-P-#klogpsfwfqjmgjbmbu!=`kbjmp`lqf`lnfpgljmdsqjlqPkbqf2::3pqlnbmojpwpibsbmeboopwqjboltmfqbdqff?,k1=bavpfbofqwlsfqb!.,,T`bqgpkjoopwfbnpSklwlwqvwk`ofbm-sks<pbjmwnfwboolvjpnfbmwsqlleaqjfeqlt!=dfmqfwqv`hollhpUbovfEqbnf-mfw,..= ?wqz#x ubq#nbhfp`lpwpsobjmbgvowrvfpwwqbjmobalqkfosp`bvpfnbdj`nlwlqwkfjq163s{ofbpwpwfsp@lvmw`lvogdobpppjgfpevmgpklwfobtbqgnlvwknlufpsbqjpdjufpgvw`kwf{bpeqvjwmvoo/\x7F\x7FX^8wls!= ?"..SLPW!l`fbm?aq,=eollqpsfbhgfswk#pjyfabmhp`bw`k`kbqw13s{8bojdmgfboptlvog63s{8vqo>!sbqhpnlvpfNlpw#---?,bnlmdaqbjmalgz#mlmf8abpfg`bqqzgqbewqfefqsbdf\\klnf-nfwfqgfobzgqfbnsqlufiljmw?,wq=gqvdp?"..#bsqjojgfboboofmf{b`welqwk`lgfpoldj`Ujft#pffnpaobmhslqwp#+133pbufg\\ojmhdlbopdqbmwdqffhklnfpqjmdpqbwfg03s{8tklpfsbqpf+*8!#Aol`hojmv{ilmfpsj{fo$*8!=*8je+.ofewgbujgklqpfEl`vpqbjpfal{fpWqb`hfnfmw?,fn=abq!=-pq`>wltfqbow>!`baofkfmqz17s{8pfwvsjwbozpkbqsnjmlqwbpwftbmwpwkjp-qfpfwtkffodjqop,`pp,233&8`ovappwveeajaofulwfp#2333hlqfb~*8 abmgprvfvf>#x~8;3s{8`hjmdx \n\nbkfbg`ol`hjqjpkojhf#qbwjlpwbwpElqn!zbkll*X3^8Balvwejmgp?,k2=gfavdwbphpVQO#>`foop~*+*821s{8sqjnfwfoopwvqmp3{533-isd!psbjmafb`kwb{fpnj`qlbmdfo..=?,djewppwfuf.ojmhalgz-~*8 \nnlvmw#+2::EBR?,qldfqeqbmh@obpp1;s{8effgp?k2=?p`lwwwfpwp11s{8gqjmh*#\x7F\x7F#oftjppkboo 30:8#elq#olufgtbpwf33s{8ib9npjnlm?elmwqfsoznffwpvmwfq`kfbswjdkwAqbmg*#">#gqfpp`ojspqllnplmhfznlajonbjm-Mbnf#sobwfevmmzwqffp`ln,!2-isdtnlgfsbqbnPWBQWofew#jggfm/#132*8 ~ elqn-ujqvp`kbjqwqbmptlqpwSbdfpjwjlmsbw`k?".. l.`b`ejqnpwlvqp/333#bpjbmj((*xbglaf$*X3^jg>23alwk8nfmv#-1-nj-smd!hfujm`lb`k@kjogaqv`f1-isdVQO*(-isd\x7Fpvjwfpoj`fkbqqz213!#ptffwwq= mbnf>gjfdlsbdf#ptjpp..= eee8!=Old-`ln!wqfbwpkffw*#%%#27s{8poffsmwfmwejofgib9ojg>!`Mbnf!tlqpfpklwp.al{.gfowb %ow8afbqp97;Y?gbwb.qvqbo?,b=#psfmgabhfqpklsp>#!!8sks!=`wjlm20s{8aqjbmkfoolpjyf>l>&1E#iljmnbzaf?jnd#jnd!=/#eipjnd!#!*X3^NWlsAWzsf!mftozGbmph`yf`kwqbjohmltp?,k6=ebr!=yk.`m23*8 .2!*8wzsf>aovfpwqvozgbujp-ip$8= ?"pwffo#zlv#k1= elqn#ifpvp233&#nfmv- \n tbofpqjphpvnfmwggjmda.ojhwfb`kdje!#ufdbpgbmphffpwjpkrjspvlnjplaqfgfpgffmwqfwlglpsvfgfb/]lpfpw/Mwjfmfkbpwblwqlpsbqwfglmgfmvfulkb`fqelqnbnjpnlnfilqnvmglbrv/Ag/Abpp/_olbzvgbef`kbwlgbpwbmwlnfmlpgbwlplwqbppjwjlnv`klbklqbovdbqnbzlqfpwlpklqbpwfmfqbmwfpelwlpfpwbpsb/Apmvfubpbovgelqlpnfgjlrvjfmnfpfpslgfq`kjofpfq/Muf`fpgf`jqilp/Efpwbqufmwbdqvslkf`klfoolpwfmdlbnjdl`lpbpmjufodfmwfnjpnbbjqfpivojlwfnbpkb`jbebulqivmjlojaqfsvmwlavfmlbvwlqbaqjoavfmbwf{wlnbqylpbafqojpwbovfdl`/_nlfmfqlivfdlsfq/Vkbafqfpwlzmvm`bnvifqubolqevfqbojaqldvpwbjdvboulwlp`bplpdv/Absvfglplnlpbujplvpwfggfafmml`kfavp`bebowbfvqlppfqjfgj`kl`vqpl`obuf`bpbpof/_msobylobqdllaqbpujpwbbslzlivmwlwqbwbujpwl`qfbq`bnslkfnlp`jm`l`bqdlsjplplqgfmkb`fm/Mqfbgjp`lsfgql`fq`bsvfgbsbsfonfmlq/Vwjo`obqlilqdf`boofslmfqwbqgfmbgjfnbq`bpjdvffoobppjdol`l`kfnlwlpnbgqf`obpfqfpwlmj/]lrvfgbsbpbqabm`lkjilpujbifsbaol/Epwfujfmfqfjmlgfibqelmgl`bmbomlqwfofwqb`bvpbwlnbqnbmlpovmfpbvwlpujoobufmglsfpbqwjslpwfmdbnbq`loofubsbgqfvmjglubnlpylmbpbnalpabmgbnbqjbbavplnv`kbpvajqqjlibujujqdqbgl`kj`bboo/Ailufmgj`kbfpwbmwbofppbojqpvfolsfplpejmfpoobnbavp`l/Epwboofdbmfdqlsobybkvnlqsbdbqivmwbglaofjpobpalopbab/]lkbaobov`kb/mqfbgj`fmivdbqmlwbpuboofboo/M`bqdbglolqbabilfpw/Edvpwlnfmwfnbqjlejqnb`lpwlej`kbsobwbkldbqbqwfpofzfpbrvfonvpflabpfpsl`lpnjwbg`jfol`kj`lnjfgldbmbqpbmwlfwbsbgfafpsobzbqfgfppjfwf`lqwf`lqfbgvgbpgfpflujfilgfpfbbdvbp%rvlw8glnbjm`lnnlmpwbwvpfufmwpnbpwfqpzpwfnb`wjlmabmmfqqfnlufp`qloovsgbwfdolabonfgjvnejowfqmvnafq`kbmdfqfpvowsvaoj`p`qffm`kllpfmlqnbowqbufojppvfpplvq`fwbqdfwpsqjmdnlgvofnlajofptjw`ksklwlpalqgfqqfdjlmjwpfoepl`jbob`wjuf`lovnmqf`lqgelooltwjwof=fjwkfqofmdwkebnjozeqjfmgobzlvwbvwklq`qfbwfqfujftpvnnfqpfqufqsobzfgsobzfqf{sbmgsloj`zelqnbwglvaofsljmwppfqjfpsfqplmojujmdgfpjdmnlmwkpelq`fpvmjrvftfjdkwsflsoffmfqdzmbwvqfpfbq`kejdvqfkbujmd`vpwlnleepfwofwwfqtjmgltpvanjwqfmgfqdqlvspvsolbgkfbowknfwklgujgflpp`klloevwvqfpkbgltgfabwfubovfpLaif`wlwkfqpqjdkwpofbdvf`kqlnfpjnsofmlwj`fpkbqfgfmgjmdpfbplmqfslqwlmojmfprvbqfavwwlmjnbdfpfmbaofnlujmdobwfpwtjmwfqEqbm`fsfqjlgpwqlmdqfsfbwOlmglmgfwbjoelqnfggfnbmgpf`vqfsbppfgwlddofsob`fpgfuj`fpwbwj``jwjfppwqfbnzfooltbwwb`hpwqffweojdkwkjggfmjmel!=lsfmfgvpfevouboofz`bvpfpofbgfqpf`qfwpf`lmggbnbdfpslqwpf{`fswqbwjmdpjdmfgwkjmdpfeef`wejfogppwbwfpleej`fujpvbofgjwlqulovnfQfslqwnvpfvnnlujfpsbqfmwb``fppnlpwoznlwkfq!#jg>!nbqhfwdqlvmg`kbm`fpvqufzafelqfpznalonlnfmwpsff`knlwjlmjmpjgfnbwwfq@fmwfqlaif`wf{jpwpnjggofFvqlsfdqltwkofdb`znbmmfqfmlvdk`bqffqbmptfqlqjdjmslqwbo`ojfmwpfof`wqbmgln`olpfgwlsj`p`lnjmdebwkfqlswjlmpjnsozqbjpfgfp`bsf`klpfm`kvq`kgfejmfqfbplm`lqmfqlvwsvwnfnlqzjeqbnfsloj`fnlgfopMvnafqgvqjmdleefqppwzofphjoofgojpwfg`boofgpjoufqnbqdjmgfofwfafwwfqaqltpfojnjwpDolabopjmdoftjgdfw`fmwfqavgdfwmltqbs`qfgjw`objnpfmdjmfpbefwz`klj`fpsjqjw.pwzofpsqfbgnbhjmdmffgfgqvppjbsofbpff{wfmwP`qjswaqlhfmbooltp`kbqdfgjujgfeb`wlqnfnafq.abpfgwkflqz`lmejdbqlvmgtlqhfgkfosfg@kvq`kjnsb`wpklvogbotbzpoldl!#alwwlnojpw!=*xubq#sqfej{lqbmdfKfbgfq-svpk+`lvsofdbqgfmaqjgdfobvm`kQfujftwbhjmdujpjlmojwwofgbwjmdAvwwlmafbvwzwkfnfpelqdlwPfbq`kbm`klqbonlpwolbgfg@kbmdfqfwvqmpwqjmdqfolbgNlajofjm`lnfpvssozPlvq`flqgfqpujftfg%maps8`lvqpfBalvw#jpobmg?kwno#`llhjfmbnf>!bnbylmnlgfqmbguj`fjm?,b=9#Wkf#gjboldklvpfpAFDJM#Nf{j`lpwbqwp`fmwqfkfjdkwbggjmdJpobmgbppfwpFnsjqfP`kllofeelqwgjqf`wmfbqoznbmvboPfof`w- Lmfiljmfgnfmv!=SkjojsbtbqgpkbmgofjnslqwLeej`fqfdbqgphjoopmbwjlmPslqwpgfdqfftffhoz#+f-d-afkjmggl`wlqolddfgvmjwfg?,a=?,afdjmpsobmwpbppjpwbqwjpwjppvfg033s{\x7F`bmbgbbdfm`zp`kfnfqfnbjmAqbyjopbnsofoldl!=afzlmg.p`bofb``fswpfqufgnbqjmfEllwfq`bnfqb?,k2= \\elqn!ofbufppwqfpp!#,= -dje!#lmolbgolbgfqL{elqgpjpwfqpvqujuojpwfmefnbofGfpjdmpjyf>!bssfbowf{w!=ofufopwkbmhpkjdkfqelq`fgbmjnbobmzlmfBeqj`bbdqffgqf`fmwSflsof?aq#,=tlmgfqsqj`fpwvqmfg\x7F\x7F#x~8nbjm!=jmojmfpvmgbztqbs!=ebjofg`fmpvpnjmvwfafb`lmrvlwfp263s{\x7Ffpwbwfqfnlwffnbjo!ojmhfgqjdkw8pjdmboelqnbo2-kwnopjdmvssqjm`feolbw9-smd!#elqvn-B``fppsbsfqpplvmgpf{wfmgKfjdkwpojgfqVWE.;!%bns8#Afelqf-#TjwkpwvgjlltmfqpnbmbdfsqlejwiRvfqzbmmvbosbqbnpalvdkwebnlvpdlldofolmdfqj((*#xjpqbfopbzjmdgf`jgfklnf!=kfbgfqfmpvqfaqbm`ksjf`fpaol`h8pwbwfgwls!=?qb`jmdqfpjyf..%dw8sb`jwzpf{vboavqfbv-isd!#23/333lawbjmwjwofpbnlvmw/#Jm`-`lnfgznfmv!#ozqj`pwlgbz-jmgffg`lvmwz\\oldl-EbnjozollhfgNbqhfwopf#jeSobzfqwvqhfz*8ubq#elqfpwdjujmdfqqlqpGlnbjm~fopfxjmpfqwAold?,ellwfqoldjm-ebpwfqbdfmwp?algz#23s{#3sqbdnbeqjgbzivmjlqgloobqsob`fg`lufqpsovdjm6/333#sbdf!=alpwlm-wfpw+bubwbqwfpwfg\\`lvmwelqvnpp`kfnbjmgf{/ejoofgpkbqfpqfbgfqbofqw+bssfbqPvanjwojmf!=algz!= )#WkfWklvdkpffjmdifqpfzMftp?,ufqjezf{sfqwjmivqztjgwk>@llhjfPWBQW#b`qlpp\\jnbdfwkqfbgmbwjufsl`hfwal{!= Pzpwfn#Gbujg`bm`fqwbaofpsqlufgBsqjo#qfboozgqjufqjwfn!=nlqf!=albqgp`lolqp`bnsvpejqpw#\x7F\x7F#X^8nfgjb-dvjwbqejmjpktjgwk9pkltfgLwkfq#-sks!#bppvnfobzfqptjoplmpwlqfpqfojfeptfgfm@vpwlnfbpjoz#zlvq#Pwqjmd Tkjowbzolq`ofbq9qfplqweqfm`kwklvdk!*#(#!?algz=avzjmdaqbmgpNfnafqmbnf!=lssjmdpf`wlq6s{8!=upsb`fslpwfqnbilq#`leeffnbqwjmnbwvqfkbssfm?,mbu=hbmpbpojmh!=Jnbdfp>ebopftkjof#kpsb`f3%bns8# Jm##sltfqSlophj.`lolqilqgbmAlwwlnPwbqw#.`lvmw1-kwnomftp!=32-isdLmojmf.qjdkwnjoofqpfmjlqJPAM#33/333#dvjgfpubovf*f`wjlmqfsbjq-{no!##qjdkwp-kwno.aol`hqfdF{s9klufqtjwkjmujqdjmsklmfp?,wq=vpjmd# \nubq#=$*8 \n?,wg= ?,wq= abkbpbaqbpjodbofdlnbdzbqslophjpqsphj4]4C5d\bTA\nzk\vBl\bQ\x7F\vUmGx\bSM\nmC\bTA wQ\nd}\bW@\bTl\bTF i@ cT\vBM\v|jBV qw cC\bWI\npa fM\n{Z{X\bTF\bVV\bVK \x7FmkF []\bPm\bTv\nsI\vpg [I\bQpmx\v_W\n^M\npe\vQ}\vGu\nel\npeChBV\bTA So\nzk\vGL\vxD\nd[JzMY\bQpli\nfl\npC{BNt\vwT i_\bTgQQ\n|p\vXN\bQS\vxDQC\bWZ pD\vVS\bTWNtYh\nzuKjN} wr Ha\n_D j`\vQ}\vWp\nxZ{c ji BU\nbDa| Tn pV\nZd\nmC\vEV{X c} To\bWl\bUd IQ cg\vxs\nXW wR\vek c} ]y Jn\nrp\neg\npV\nz\\{W\npl\nz\\\nzU Pc `{\bV@\nc|\bRw i_\bVb\nwX HvSu\bTF\v_W\vWs\vsIm\x7F\nTT\ndc US }f iZ\bWz c}MD Be iD\v@@\bTl\bPv }tSwM`\vnU kW\ved\nqo\vxY A|\bTz\vy`BRBM iaXU\nyun^ fL iI\nXW fD\bWz\bW@ yj \x7Fm av BN\vb\\ pD\bTf\nY[ Jn\bQy [^\vWc\vyuDlCJ\vWj\vHR `V\vuW Qy\np@\vGuplJm\bW[\nLP\nxC\n`m wQui\x7FR\nbI wQ BZ WVBR\npg cgtiCW\n_y Rg\bQa\vQB\vWc\nYble\ngESu\nL[ Q\x7F ea dj\v]W\nb~M` wL\bTV\bVH\nt\x7F\npl |bs_\bU|\bTaoQlvSkM`\bTv\vK}\nfl cCoQBR Hk |d\bQp HK BZ\vHR\bPv\vLx\vEZ\bT\x7F\bTv iDoDMU\vwBSuk`St\ntC Pl Kg\noi jY\vxYh}\nzk\bWZ \x7Fm\ve` TB fE\nzk `zYh\nV| HK AJ AJ\bUL p\\ ql\nYcKd\nfyYh [I\vDgJm\n]n\nlb\bUd\n{Z lu fsoQ\bTWJm\vwB eaYhBC sb Tn\nzU\n_y\vxY Q]\ngwmt O\\\ntb\bWW\bQy mI V[\ny\\\naB\vRb wQ\n]QQJ\bWg\vWa\bQj\ntC\bVH\nYm\vxs\bVK\nel\bWI\vxYCq\ntR\vHV\bTl\bVw ay\bQa\bVV }t dj\nr| p\\ wR\n{i\nTT [I i[ AJ\vxs\v_W d{\vQ} cg Tz A| Cj\vLmN}m\x7F\nbK dZ p\\ `V sV\np@ iD wQ\vQ}\bTfkaJm\v@@\bV` zp\n@NSw iI cg\noiSu\bVwloCy c}\vb\\ sUBA\bWI\bTf\nxS Vp\nd|\bTV\vbC NoJu\nTC |`\n{Z D]\bU| c}lm\bTl Bv Pl c}\bQp \x7Fm\nLk kj\n@NSbKO j_ p\\\nzU\bTl\bTg\bWI cfXO\bWW\ndzli BN\nd[\bWOMD\vKC dj I_\bVV\ny\\\vLmxl xB kV\vb\\\vJW\vVS Vx\vxD d{MD\bTa |`\vPzR}\vWsBM\nsICN\bTaJm\npe i_\npV\nrh Rd Hv\n~A\nxR\vWh\vWk\nxS\vAz\vwX\nbIoQ fw\nqI\nV|\nunz\x7F\vpg d\\\voA{D i_xB\bT\x7F `Vqr TTg]CA\vuR VJ T`\npw\vRb I_\nCxRo\vsICjKh Bv WVBBoD{D\nhcKm\v^R QE\n{I\np@\nc|Gt c}Dl\nzUqN sVk} Hh\v|j\nqou| Q]\vek\x7FZM`St\npe dj\bVG\veE \x7Fm\vWc|I\n[W fL\bT\x7F BZSu\vKaCqNtY[\nqI\bTv fM i@ }fB\\ Qy\vBl\bWgXDkc\vx[\bVV Q] \x7Fa Py\vxD\nfI }foD dj SGls ~DCN\n{Z \\v\n_D\nhc\vx_C[ AJ\nLM VxCI bj c^ cF\ntCSx wrXA\bU\\ |a\vK\\\bTV\bVj\nd| fsCX\ntb\bRw Vx AE A|\bT\x7FNt\vDg Vc\bTld@\npo \x7FM cF\npe iZ Bo\bSq\nfHl`\bTx\bWf HE\vF{ cO fD\nlm\vfZ\nlm\veU dGBH\bTV SiMW\nwX\nz\\ \\cCX\nd} l}\bQp\bTV F~\bQ\x7F `i\ng@nO\bUd\bTl\nL[ wQ ji\ntC |J\nLU\naB\vxYKj AJuN i[\npeSk\vDg\vx]\bVb\bVV\nea kV\nqI\bTaSk\nAO pD\ntb\nts\nyi\bVg i_\v_W\nLkNt yj fMR\x7F iI\bTl\vwX sV\vMl\nyu AJ\bVjKO WV\vA}\vW\x7F\nrp iD\v|olv\vsIBM d~ CU\bVbeV\npC\vwT j` c}\vxs\vps\vvh WV\vGg\vAe\vVK\v]W rg\vWcF` Br\vb\\ dZ\bQp\nqIkF\nLk\vAR\bWI\bTg bs dw\n{L\n_y iZ\bTA lg\bVV\bTl dk\n`k a{ i_{Awj wN\v@@\bTe i_\n_D wL\nAH\viK\vek\n[] p_ yj\bTv US [r\n{I\npsGt\vVK\nplS}\vWP |dMD\vHV\bT\x7FR}M`\bTV\bVHlvCh\bW[Ke R{\v^R ab BZ VA B`\nd|\nhsKe BeOi R{ d\\nB\bWZ dZ VJOs \x7FmuQ\vhZQ@QQ\nfI\bW[B\\li\nzU\nMdM`\nxS\bVV\n\\}\vxD \x7Fm\bTpIS\nc| kVi~ V{\vhZ |b\bWt\n@R\voA\vnU\bWI ea B` iD c} TzBR\vQBNj CP [I\bTv `WuN\vpg\vpg\vWc iT bs wL U_ c\\ |h\vKa Nr fL\nq|\nzu\nz\\ Nr\bUg |bm`\bTv\nyd\nrp\bWf UXBV\nzk\nd} wQ }fCe\ved\bTW\bSB\nxU cn\bTb\ne\x7F a\\ SG\bU|\npV\nN\\Kn\vnU At pD\v^R\vIrb[ R{ dE\vxD\vWK\vWA\bQL\bW@Su\bUd\nDM PcCADloQ Hswiub\n\x7Fa\bQpOb\nLP\bTlY[\vK} AJ\bQ\x7Fn^\vsA\bSM\nqM\bWZ\n^W\vz{S| fD\bVK\bTv\bPvBB CPdF id\vxsmx\vws cC\ntC ycM`\vW\x7F\nrh\bQp\vxD\\o\nsI_k\nzukF fDXsXO jp\bTvBS{B Br\nzQ\nbI c{BDBVnO\bTF caJd fL PV I_\nlK`o wX\npa gu\bP}{^\bWf\n{I BN\npaKl\vpg cn fL\vvhCq\bTl\vnU\bSqCm wR\bUJ\npe\nyd\nYgCy\vKW fD\neaoQ j_ BvnM\vID\bTa\nzApl\n]n\bTa R{ fr\n_y\bUg{Xkk\vxD|Ixl\nfyCe\vwB\nLk\vd]\noi\n}h Q]\npe\bVwHkOQ\nzk AJ\npV\bPv\ny\\ A{Oi\bSBXA\veE jp\nq} iDqN\v^R \x7Fm iZ Br\bVg\noi\n\\X U_\nc|\vHV\bTf Tn\\N\\N\nuBlv\nyu Td\bTf\bPL\v]W dG\nA`\nw^\ngI\npe dw\nz\\ia\bWZ cFJm\n{Z\bWO_kDfRR d\\\bVV\vxsBNtilm Td ]y\vHV So\v|jXX A|\vZ^\vGu\bTWM`kF\vhZ\vVK dG\vBl ay\nxUqEnO\bVw\nqICX\ne\x7F Pl\bWO\vLm dLuHCm dTfn\vwBka\vnU\n@M\nyT Hv \\}Kh d~Yhk}\neR d\\\bWI |b HK iD\bTWMY\npl\bQ_ wr\vAx HE\bTg\bSqvp\vb\\\bWO\nOl\nsI\nfy\vID \\c\n{Z\n^~\npe\nAO TT\vxvk_\bWO\v|j\vwB Qy i@ Pl Ha dZk}ra UT\vJc\ved\np@ QN\nd| kj HkM`\noi wr d\\\nlq\no_\nlb\nL[ acBBBHCm\npl IQ\bVK\vxs\n`e\viK\npaOi US\bTp fD\nPGkkXA\nz\\\neg\vWh wRqN\nqS cnlo\nxS\n^W BU\nt\x7F HE p\\ fF fw\bVV\bW@ ak\vVKls VJ\bVV\veE\\o\nyX\nYmM`lL\nd|\nzk A{sE wQXT\nt\x7F Pl ]y\vwT{pMD\vb\\ Q]Kj Jn\nAH\vRb BU HK \\c\nfIm\x7F\nqM\n@R So\noiBT Hv\n_yKh BZ ]i\bUJ V{Sr\nbI\vGg a_\bTR\nfI\nfl [K IIS|\vuW iI\bWI\nqI\v|jBV\bVg\bWZkF\vx]\bTA ab fr i@ Jd Jd\vps\nAO\bTaxu iD\nzk |d |`\bW[ lP dG\bVV\vw}\vqO i[\bQ\x7F\bTz\vVF wNts dw\bTv\neS\ngi NryS\npe\bVV\bSq\n`m yj BZ\vWX\bSB c\\\nUR [J c_nM\bWQ\vAx\nMd Brui\vxY\bSM\vWc\v|j\vxs }Q BO\bPL\bWW fM\nAO Pc\veUe^\bTg\nqI ac\bPv cFoQ Q\x7F\vhZka\nz\\ iK BU\n`k CPS|M`\n{I S{_O BZZiSk ps p\\\nYu\n]s\nxC\bWt\nbD kV\vGuyS\nqA [r\neKM` dZlL\bUg\bTl\nbD US\vb\\ pV\nccS\\ ct `z\bPL\vWs\nA`\neg\bSquECR\vDg `W\vz{\vWcSkSk bW\bUg ea\nxZ iI UX VJ\nqn S{\vRb\bTQ\nplGt\vuWuj\npF\nqI fL [I iaXO\nyu\vDg\ved q{VG\bQ\x7Fka Vj kV xB\nd|\np@ QN Pc ps]j kV oU\bTp\nzUnB\vB] a{\bV@\n]nm` cz R{m`\bQa\vwT\bSMMYqN dj~s\vQ}MY\vMB Bv wR\bRg\vQ} ql\vKC\nrmxuCC\vwB\vvh BqXq\npV i_ObuE\nbd\nqo\v{i\nC~ BL\veEuH\bVjEyGz\vzR\v{i cf\n{Z\n]nXA\vGu\vnU hS\vGI\nCc HE\bTA HBBHCj\nCc\bTF HE\nXI A{\bQ\x7F c\\\vmO\vWX\nfH\np@MY\bTF\nlK Bt\nzU TTKm\vwT\npV\ndt\vyI Vx Q\x7F Rg Td\nzU\bRS\nLM wAnM Tn\ndS ]g\nLc\vwB }t [I CPkX\vFm\vhZm\x7F i[\np@\vQ}\vW\x7F |d\nMO\nMd f_ fD cJ Hz\vRb io PyY[\nxU ct\v@@ ww\bPvBMFF\ntbv|\vKm Bq BqKh`o\nZdXU i] |` StB\\\bQ\x7F\v_W TJ\nqI |a A{\vuPMD Pl\nxR fL\vws c{ d\\\bV`\neg HKkc\nd|\bVV\ny\\kc i]\bVG `V ss I_ AE bs du\nel pD\vW\x7F\nqslv\bSMZi\vVKia\vQB Q\x7F\n{Z\bPt\vKl\nlK\nhs\ndS\bVKmf\nd^ kV cO\nc|\bVH \\]\bTv\bSq mI\vDg VJ cn\ny\\\bVg\bTv\nyX\bTF ]]\bTp\noi\nhs\veU\nBf djMr\n|p \\g ]r\bVb{D\nd[XN fM O\\s_ cf iZXN\vWc qv\n`m U^oD\nd|\vGg dE\vwflou}\nd|oQ `iOi\vxD\ndZ\nCxYw\nzk\ntb\ngw yj B`\nyX\vps\ntC\vpP\vqw\bPu\bPX Dm\npwNj ss aG\vxs\bPt\noLGz Ok i@ i]eC IQ ii dj\v@J |duh\bWZ\veU\vnU\bTa cCg]\nzkYh\bVK\nLU\np@\ntb\ntR Cj\vNP i@\bP{\n\\}\n{c\nwX fL\bVG c{ |` AJ |C fDln |d bs\nqI{B\vAx\np@\nzk\vRbOs\vWSe^\vD_ Bv\vWd\bVb\vxs\veE\bRw\n]n\n|p\vg| fwkc\bTIka\n\\TSp ju\vps\npeu|\vGr\bVe CU]MXU\vxD\bTa IQ\vWq CU am dj\bSoSw\vnUCh Q]s_\bPt fS\bTa \\}\n@OYc UZ\bTx\npe\vnU\nzU |} iD\nz\\\bSM\vxDBR\nzQ QN]MYh\nLP\vFm\vLXvc\vqlka HK\bVb\ntC\nCy\bTv\nuVoQ `z [I B`\vRb yj sb\vWs\bTl kV\ved\ne\x7FlL\vxN \x7Fm\nJn jY\vxD\bVb\bSq\vyu wL\vXL\bTA pg At nDXX wR\npl\nhwyS\nps cO\bW[\v|jXN sV p\\ Be\nb~\nAJ\n]ek`qN dw WV HE\vEVJz id B` zhE] fD\bTgqN\bTa jaCv\bSM\nhc\bUet_ ieg] wQ\nPn\bVB jw\bVg\vbE BZ\vRH\bP{ jp\n\\} a_ cC |a\vD] BZ i[ fD\vxW\no_ d\\\n_D\ntb \\c AJ\nlKoQlo\vLx\vM@\bWZKn\vpg\nTi\nIv\n|r\v@}JzLmWhk}ln\vxD\n]sgc\vps Br\bTW\vBMtZ\nBYDW jf\vSWC}\nqo dE mv IQ\bPP\bUblvBC\nzQ [I\vgl\nig\bUsBT\vbC\bSq sU iW\nJn SY HK rg\npV\vID\v|jKO `S |a`vbmglfmujbqnbgqjgavp`bqjmj`jlwjfnslslqrvf`vfmwbfpwbglsvfgfmivfdlp`lmwqbfpw/Mmmlnaqfwjfmfmsfqejonbmfqbbnjdlp`jvgbg`fmwqlbvmrvfsvfgfpgfmwqlsqjnfqsqf`jlpfd/Vmavfmlpuloufqsvmwlppfnbmbkba/Abbdlpwlmvfulpvmjglp`bqolpfrvjslmj/]lpnv`klpbodvmb`lqqfljnbdfmsbqwjqbqqjabnbq/Abklnaqffnsoflufqgbg`bnajlnv`kbpevfqlmsbpbglo/Amfbsbqf`fmvfubp`vqplpfpwbabrvjfqlojaqlp`vbmwlb``fplnjdvfoubqjlp`vbwqlwjfmfpdqvslppfq/Mmfvqlsbnfgjlpeqfmwfb`fq`bgfn/Mplefqwb`l`kfpnlgfoljwbojbofwqbpbod/Vm`lnsqb`vbofpf{jpwf`vfqslpjfmglsqfmpboofdbqujbifpgjmfqlnvq`jbslgq/Msvfpwlgjbqjlsvfaolrvjfqfnbmvfosqlsjl`qjpjp`jfqwlpfdvqlnvfqwfevfmwf`fqqbqdqbmgffef`wlsbqwfpnfgjgbsqlsjbleqf`fwjfqqbf.nbjoubqjbpelqnbpevwvqllaifwlpfdvjqqjfpdlmlqnbpnjpnlp/Vmj`l`bnjmlpjwjlpqby/_mgfajglsqvfabwlofglwfm/Abifp/Vpfpsfql`l`jmblqjdfmwjfmgb`jfmwl`/Mgjykbaobqpfq/Abobwjmbevfqybfpwjoldvfqqbfmwqbq/E{jwlo/_sfybdfmgbu/Agflfujwbqsbdjmbnfwqlpibujfqsbgqfpe/M`jo`bafyb/Mqfbppbojgbfmu/Alibs/_mbavplpajfmfpwf{wlpoofubqsvfgbmevfqwf`ln/Vm`obpfpkvnbmlwfmjglajoablvmjgbgfpw/Mpfgjwbq`qfbgl<X<W=c=k=n<R<V<\\<V<T<W<T=a=n<R<^=m<Y<Y<_<R<S=l<T=n<\\<V<Y=e<Y=o<Z<Y<v<\\<V<]<Y<[<]=g<W<R<Q<T<~=m<Y<S<R<X<A=n<R=n<R<P=k<Y<P<Q<Y=n<W<Y=n=l<\\<[<R<Q<\\<_<X<Y<P<Q<Y<x<W=c<s=l<T<Q<\\=m<Q<T=i=n<Y<P<V=n<R<_<R<X<^<R=n=n<\\<P<M<D<|<P<\\=c<K=n<R<^<\\=m<^<\\<P<Y<P=o<N<\\<V<X<^<\\<Q<\\<P=a=n<T=a=n=o<~<\\<P=n<Y=i<S=l<R=n=o=n<Q<\\<X<X<Q=c<~<R=n=n=l<T<Q<Y<U<~<\\=m<Q<T<P=m<\\<P=n<R=n=l=o<]<r<Q<T<P<T=l<Q<Y<Y<r<r<r<W<T=j=a=n<\\<r<Q<\\<Q<Y<P<X<R<P<P<R<U<X<^<Y<R<Q<R=m=o<X\fHy\fIk\fHU\fId\fHy\fIl\fHT\fIk\fHy\fHR\fHy\fIg\fHx\fH\\\fHF\fH\\\fHD\fIk\fHc\fHy\fHy\fHS\fHA\fIl\fHk\fHT\fHy\fH\\\fHH\fIg\fHU\fIg\fHj\fHF\fHU\fIl\fHC\fHU\fHC\fHR\fHH\fHy\fHI\fHRibdqbm\fHj\fHp\fHp\fIg\fHi\fH@\fHJ\fIg\fH{\fHd\fHp\fHR\fH{\fHc\fHU\fHB\fHk\fHD\fHY\fHU\fHC\fIk\fHI\fIk\fHI\fIl\fHt\fH\\\fHp\fH@\fHJ\fIl\fHy\fHd\fHp\fIl\fHY\fIk\fHD\fHd\fHD\fHc\fHU\fH\\\fHe\fHT\fHB\fIk\fHy\fHB\fHY\fIg\fH^\fIk\fHT\fH@\fHB\fHd\fHJ\fIk\fH\x7F\fH\\\fHj\fHB\fH@\fHT\fHA\fH\\\fH@\fHD\fHv\fH^\fHB\fHD\fHj\fH{\fHT\fIl\fH^\fIl4U5h5e4I5h5e5k4\\4K4N4B4]4U4C4C4K5h5e5k4\\5k4Y5d4]4V5f4]5o4K5j5d5h4K4D5f5j4U4]4Z4\\5h5o5k5j4K5f5d5i5n4K5h4U5h5f4K5j4K5h5o5j4A4F5e5n4D5h5d4A4E4K4B4]5m5n4[4U4D4C4]5o5j4I4\\4K5o5i4K4K4A4C4I5h4K5m5f5k4D4U4Z5o5f5m4D4A4G5d5i5j5d5k5d4O5j4K4@4C4K5h5k4K4_5h5i4U5j4C5h5f4_4U4D4]4Y5h5e5i5j4\\4D5k4K4O5j5k5i4G5h5o5j4F4K5h4K4A5f4G5i4Y4]4X4]4A4A5d5h5d5m5f4K4\\4K5h5o5h5i4]4E4K5j4F4K5h5m4O4D5d4B4K4Y4O5j4F4K5j5k4K5h5f4U4Z5d5d5n4C4K4D5j4B5f4]4D5j4F5h5o5i4X4K4M5d5k5f4K4D5d5n4Y4Y5d5i4K4]5n5i4O4A4C5j4A5j4U4C5i4]4O5f4K4A4E5o4F4D4C5d5j5f4@4D5i5j5k4F4A4F4@5k4E4_5j4E5f4F5i5o4]4E4V4^4E5j5m4_4D5f4F5h5h5k5h5j4K4F5h5o5n5h4D5h5i4K4U5j5k4O5d5h4X5f4M5j5d4]4O5i4K5m5f5o4D5o5h4\\4K4F4]4F4D4D4O5j5k5i4_4K5j5o4D5f4U5m5n4C4A4_5j5h5k5i4X4U4]4O5k5h4X5k4]5n4[4]4[5h4Dsqlejofpfquj`fgfebvowkjnpfoegfwbjop`lmwfmwpvsslqwpwbqwfgnfppbdfpv``fppebpkjlm?wjwof=`lvmwqzb``lvmw`qfbwfgpwlqjfpqfpvowpqvmmjmdsql`fpptqjwjmdlaif`wpujpjaoftfo`lnfbqwj`ofvmhmltmmfwtlqh`lnsbmzgzmbnj`aqltpfqsqjub`zsqlaofnPfquj`fqfpsf`wgjpsobzqfrvfpwqfpfquftfapjwfkjpwlqzeqjfmgplswjlmptlqhjmdufqpjlmnjoojlm`kbmmfotjmglt-bggqfppujpjwfgtfbwkfq`lqqf`wsqlgv`wfgjqf`welqtbqgzlv#`bmqfnlufgpvaif`w`lmwqlobq`kjuf`vqqfmwqfbgjmdojaqbqzojnjwfgnbmbdfqevqwkfqpvnnbqznb`kjmfnjmvwfpsqjubwf`lmwf{wsqldqbnpl`jfwzmvnafqptqjwwfmfmbaofgwqjddfqplvq`fpolbgjmdfofnfmwsbqwmfqejmboozsfqef`wnfbmjmdpzpwfnphffsjmd`vowvqf%rvlw8/ilvqmbosqlif`wpvqeb`fp%rvlw8f{sjqfpqfujftpabobm`fFmdojpk@lmwfmwwkqlvdkSofbpf#lsjmjlm`lmwb`wbufqbdfsqjnbqzujoobdfPsbmjpkdboofqzgf`ojmfnffwjmdnjppjlmslsvobqrvbojwznfbpvqfdfmfqbopsf`jfppfppjlmpf`wjlmtqjwfqp`lvmwfqjmjwjboqfslqwpejdvqfpnfnafqpklogjmdgjpsvwffbqojfqf{sqfppgjdjwbosj`wvqfBmlwkfqnbqqjfgwqbeej`ofbgjmd`kbmdfg`fmwqbouj`wlqzjnbdfp,qfbplmppwvgjfpefbwvqfojpwjmdnvpw#afp`kllopUfqpjlmvpvboozfsjplgfsobzjmddqltjmdlaujlvplufqobzsqfpfmwb`wjlmp?,vo= tqbssfqboqfbgz`fqwbjmqfbojwzpwlqbdfbmlwkfqgfphwlsleefqfgsbwwfqmvmvpvboGjdjwbo`bsjwboTfapjwfebjovqf`lmmf`wqfgv`fgBmgqljggf`bgfpqfdvobq#%bns8#bmjnbopqfofbpfBvwlnbwdfwwjmdnfwklgpmlwkjmdSlsvobq`bswjlmofwwfqp`bswvqfp`jfm`foj`fmpf`kbmdfpFmdobmg>2%bns8Kjpwlqz#>#mft#@fmwqbovsgbwfgPsf`jboMfwtlqhqfrvjqf`lnnfmwtbqmjmd@loofdfwlloabqqfnbjmpaf`bvpffof`wfgGfvwp`kejmbm`ftlqhfqprvj`hozafwtffmf{b`wozpfwwjmdgjpfbpfPl`jfwztfbslmpf{kjajw%ow8"..@lmwqlo`obppfp`lufqfglvwojmfbwwb`hpgfuj`fp+tjmgltsvqslpfwjwof>!Nlajof#hjoojmdpkltjmdJwbojbmgqlssfgkfbujozfeef`wp.2$^*8 `lmejqn@vqqfmwbgubm`fpkbqjmdlsfmjmdgqbtjmdajoojlmlqgfqfgDfqnbmzqfobwfg?,elqn=jm`ovgftkfwkfqgfejmfgP`jfm`f`bwboldBqwj`ofavwwlmpobqdfpwvmjelqnilvqmfzpjgfabq@kj`bdlklojgbzDfmfqbosbppbdf/%rvlw8bmjnbwfeffojmdbqqjufgsbppjmdmbwvqboqlvdkoz- Wkf#avw#mlwgfmpjwzAqjwbjm@kjmfpfob`h#lewqjavwfJqfobmg!#gbwb.eb`wlqpqf`fjufwkbw#jpOjaqbqzkvpabmgjm#eb`wbeebjqp@kbqofpqbgj`boaqlvdkwejmgjmdobmgjmd9obmd>!qfwvqm#ofbgfqpsobmmfgsqfnjvnsb`hbdfBnfqj`bFgjwjlm^%rvlw8Nfppbdfmffg#wlubovf>!`lnsof{ollhjmdpwbwjlmafojfufpnboofq.nlajofqf`lqgptbmw#wlhjmg#leEjqfel{zlv#bqfpjnjobqpwvgjfgnb{jnvnkfbgjmdqbsjgoz`ojnbwfhjmdglnfnfqdfgbnlvmwpelvmgfgsjlmffqelqnvobgzmbpwzklt#wl#Pvsslqwqfufmvff`lmlnzQfpvowpaqlwkfqplogjfqobqdfoz`boojmd-%rvlw8B``lvmwFgtbqg#pfdnfmwQlafqw#feelqwpSb`jej`ofbqmfgvs#tjwkkfjdkw9tf#kbufBmdfofpmbwjlmp\\pfbq`kbssojfgb`rvjqfnbppjufdqbmwfg9#ebopfwqfbwfgajddfpwafmfejwgqjujmdPwvgjfpnjmjnvnsfqkbspnlqmjmdpfoojmdjp#vpfgqfufqpfubqjbmw#qlof>!njppjmdb`kjfufsqlnlwfpwvgfmwplnflmff{wqfnfqfpwlqfalwwln9fuloufgboo#wkfpjwfnbsfmdojpktbz#wl##Bvdvpwpznalop@lnsbmznbwwfqpnvpj`bobdbjmpwpfqujmd~*+*8 sbznfmwwqlvaof`lm`fsw`lnsbqfsbqfmwpsobzfqpqfdjlmpnlmjwlq#$$Wkf#tjmmjmdf{solqfbgbswfgDboofqzsqlgv`fbajojwzfmkbm`f`bqffqp*-#Wkf#`loof`wPfbq`k#bm`jfmwf{jpwfgellwfq#kbmgofqsqjmwfg`lmplofFbpwfqmf{slqwptjmgltp@kbmmfojoofdbomfvwqbopvddfpw\\kfbgfqpjdmjmd-kwno!=pfwwofgtfpwfqm`bvpjmd.tfahjw`objnfgIvpwj`f`kbswfquj`wjnpWklnbp#nlyjoobsqlnjpfsbqwjfpfgjwjlmlvwpjgf9ebopf/kvmgqfgLoznsj`\\avwwlmbvwklqpqfb`kfg`kqlmj`gfnbmgppf`lmgpsqlwf`wbglswfgsqfsbqfmfjwkfqdqfbwozdqfbwfqlufqboojnsqluf`lnnbmgpsf`jbopfbq`k-tlqpkjsevmgjmdwklvdkwkjdkfpwjmpwfbgvwjojwzrvbqwfq@vowvqfwfpwjmd`ofbqozf{slpfgAqltpfqojafqbo~#`bw`kSqlif`wf{bnsofkjgf+*8EolqjgbbmptfqpbooltfgFnsfqlqgfefmpfpfqjlvpeqffglnPfufqbo.avwwlmEvqwkfqlvw#le#">#mvoowqbjmfgGfmnbqhuljg+3*,boo-ipsqfufmwQfrvfpwPwfskfm Tkfm#lapfquf?,k1= Nlgfqm#sqlujgf!#bow>!alqgfqp- Elq# Nbmz#bqwjpwpsltfqfgsfqelqnej`wjlmwzsf#lenfgj`bowj`hfwplsslpfg@lvm`jotjwmfppivpwj`fDflqdf#Afodjvn---?,b=wtjwwfqmlwbaoztbjwjmdtbqebqf#Lwkfq#qbmhjmdskqbpfpnfmwjlmpvqujufp`klobq?,s= #@lvmwqzjdmlqfgolpp#leivpw#bpDflqdjbpwqbmdf?kfbg=?pwlssfg2$^*8 jpobmgpmlwbaofalqgfq9ojpw#le`bqqjfg233/333?,k0= #pfufqboaf`lnfppfof`w#tfggjmd33-kwnonlmbq`klee#wkfwfb`kfqkjdkoz#ajloldzojef#lelq#fufmqjpf#le%qbrvl8sovplmfkvmwjmd+wklvdkGlvdobpiljmjmd`jq`ofpElq#wkfBm`jfmwUjfwmbnufkj`ofpv`k#bp`qzpwboubovf#>Tjmgltpfmilzfgb#pnboobppvnfg?b#jg>!elqfjdm#Boo#qjklt#wkfGjpsobzqfwjqfgkltfufqkjggfm8abwwofppffhjmd`bajmfwtbp#mlwollh#bw`lmgv`wdfw#wkfIbmvbqzkbssfmpwvqmjmdb9klufqLmojmf#Eqfm`k#ob`hjmdwzsj`bof{wqb`wfmfnjfpfufm#jedfmfqbwgf`jgfgbqf#mlw,pfbq`kafojfep.jnbdf9ol`bwfgpwbwj`-oldjm!=`lmufqwujlofmwfmwfqfgejqpw!=`jq`vjwEjmobmg`kfnjpwpkf#tbp23s{8!=bp#pv`kgjujgfg?,psbm=tjoo#afojmf#leb#dqfbwnzpwfqz,jmgf{-eboojmdgvf#wl#qbjotbz`loofdfnlmpwfqgfp`fmwjw#tjwkmv`ofbqIftjpk#sqlwfpwAqjwjpkeoltfqpsqfgj`wqfelqnpavwwlm#tkl#tbpof`wvqfjmpwbmwpvj`jgfdfmfqj`sfqjlgpnbqhfwpPl`jbo#ejpkjmd`lnajmfdqbskj`tjmmfqp?aq#,=?az#wkf#MbwvqboSqjub`z`llhjfplvw`lnfqfploufPtfgjpkaqjfeozSfqpjbmpl#nv`k@fmwvqzgfsj`wp`lovnmpklvpjmdp`qjswpmf{w#wlafbqjmdnbssjmdqfujpfgiRvfqz+.tjgwk9wjwof!=wllowjsPf`wjlmgfpjdmpWvqhjpkzlvmdfq-nbw`k+~*+*8 avqmjmdlsfqbwfgfdqffpplvq`f>Qj`kbqg`olpfozsobpwj`fmwqjfp?,wq= `lolq9 vo#jg>!slppfppqloojmdskzpj`pebjojmdf{f`vwf`lmwfpwojmh#wlGfebvow?aq#,= 9#wqvf/`kbqwfqwlvqjpn`obppj`sql`ffgf{sobjm?,k2= lmojmf-<{no#ufkfosjmdgjbnlmgvpf#wkfbjqojmffmg#..=*-bwwq+qfbgfqpklpwjmd eeeeeeqfbojyfUjm`fmwpjdmbop#pq`>!,Sqlgv`wgfpsjwfgjufqpfwfoojmdSvaoj`#kfog#jmIlpfsk#wkfbwqfbeef`wp?pwzof=b#obqdfglfpm$wobwfq/#Fofnfmwebuj`lm`qfbwlqKvmdbqzBjqslqwpff#wkfpl#wkbwNj`kbfoPzpwfnpSqldqbnp/#bmg##tjgwk>f%rvlw8wqbgjmdofew!= sfqplmpDlogfm#Beebjqpdqbnnbqelqnjmdgfpwqlzjgfb#le`bpf#lelogfpw#wkjp#jp-pq`#>#`bqwllmqfdjpwq@lnnlmpNvpojnpTkbw#jpjm#nbmznbqhjmdqfufbopJmgffg/frvbooz,pklt\\blvwgllqfp`bsf+Bvpwqjbdfmfwj`pzpwfn/Jm#wkf#pjwwjmdKf#boplJpobmgpB`bgfnz \n\n?"..Gbmjfo#ajmgjmdaol`h!=jnslpfgvwjojyfBaqbkbn+f{`fswxtjgwk9svwwjmd*-kwno+\x7F\x7F#X^8 GBWBX#)hjw`kfmnlvmwfgb`wvbo#gjbof`wnbjmoz#\\aobmh$jmpwboof{sfqwpje+wzsfJw#bopl%`lsz8#!=Wfqnpalqm#jmLswjlmpfbpwfqmwbohjmd`lm`fqmdbjmfg#lmdljmdivpwjez`qjwj`peb`wlqzjwp#ltmbppbvowjmujwfgobpwjmdkjp#ltmkqfe>!,!#qfo>!gfufols`lm`fqwgjbdqbngloobqp`ovpwfqsks<jg>bo`lklo*8~*+*8vpjmd#b=?psbm=ufppfopqfujuboBggqfppbnbwfvqbmgqljgboofdfgjoomfpptbohjmd`fmwfqprvbojeznbw`kfpvmjejfgf{wjm`wGfefmpfgjfg#jm \n?"..#`vpwlnpojmhjmdOjwwof#Allh#lefufmjmdnjm-ip<bqf#wkfhlmwbhwwlgbz$p-kwno!#wbqdfw>tfbqjmdBoo#Qjd8 ~*+*8qbjpjmd#Bopl/#`qv`jbobalvw!=gf`obqf..= ?p`ejqfel{bp#nv`kbssojfpjmgf{/#p/#avw#wzsf#># ?"..wltbqgpQf`lqgpSqjubwfElqfjdmSqfnjfq`klj`fpUjqwvboqfwvqmp@lnnfmwSltfqfgjmojmf8slufqwz`kbnafqOjujmd#ulovnfpBmwklmzoldjm!#QfobwfgF`lmlnzqfb`kfp`vwwjmddqbujwzojef#jm@kbswfq.pkbgltMlwbaof?,wg= #qfwvqmpwbgjvntjgdfwpubqzjmdwqbufopkfog#aztkl#bqftlqh#jmeb`vowzbmdvobqtkl#kbgbjqslqwwltm#le Plnf#$`oj`h$`kbqdfphfztlqgjw#tjoo`jwz#le+wkjp*8Bmgqft#vmjrvf#`kf`hfglq#nlqf033s{8#qfwvqm8qpjlm>!sovdjmptjwkjm#kfqpfoePwbwjlmEfgfqboufmwvqfsvaojpkpfmw#wlwfmpjlmb`wqfpp`lnf#wlejmdfqpGvhf#lesflsof/f{soljwtkbw#jpkbqnlmzb#nbilq!9!kwwsjm#kjp#nfmv!= nlmwkozleej`fq`lvm`jodbjmjmdfufm#jmPvnnbqzgbwf#leolzbowzejwmfppbmg#tbpfnsfqlqpvsqfnfPf`lmg#kfbqjmdQvppjbmolmdfpwBoafqwbobwfqbopfw#le#pnboo!=-bssfmggl#tjwkefgfqboabmh#leafmfbwkGfpsjwf@bsjwbodqlvmgp*/#bmg#sfq`fmwjw#eqln`olpjmd`lmwbjmJmpwfbgejewffmbp#tfoo-zbkll-qfpslmgejdkwfqlap`vqfqfeof`wlqdbmj`>#Nbwk-fgjwjmdlmojmf#sbggjmdb#tkloflmfqqlqzfbq#lefmg#le#abqqjfqtkfm#jwkfbgfq#klnf#leqfpvnfgqfmbnfgpwqlmd=kfbwjmdqfwbjmp`olvgeqtbz#le#Nbq`k#2hmltjmdjm#sbqwAfwtffmofpplmp`olpfpwujqwvboojmhp!=`qlppfgFMG#..=ebnlvp#btbqgfgOj`fmpfKfbowk#ebjqoz#tfbowkznjmjnboBeqj`bm`lnsfwfobafo!=pjmdjmdebqnfqpAqbpjo*gjp`vppqfsob`fDqfdlqzelmw#`lsvqpvfgbssfbqpnbhf#vsqlvmgfgalwk#leaol`hfgpbt#wkfleej`fp`lolvqpje+gl`vtkfm#kffmelq`fsvpk+evBvdvpw#VWE.;!=Ebmwbpzjm#nlpwjmivqfgVpvboozebqnjmd`olpvqflaif`w#gfefm`fvpf#le#Nfgj`bo?algz= fujgfmwaf#vpfghfz@lgfpj{wffmJpobnj` 333333fmwjqf#tjgfoz#b`wjuf#+wzsflelmf#`bm`lolq#>psfbhfqf{wfmgpSkzpj`pwfqqbjm?walgz=evmfqboujftjmdnjggof#`qj`hfwsqlskfwpkjewfggl`wlqpQvppfoo#wbqdfw`lnsb`wbodfaqbpl`jbo.avoh#lenbm#bmg?,wg= #kf#ofew*-ubo+*ebopf*8oldj`boabmhjmdklnf#wlmbnjmd#Bqjylmb`qfgjwp*8 ~*8 elvmgfqjm#wvqm@loojmpafelqf#Avw#wkf`kbqdfgWjwof!=@bswbjmpsfoofgdlggfppWbd#..=Bggjmd9avw#tbpQf`fmw#sbwjfmwab`h#jm>ebopf%Ojm`lomtf#hmlt@lvmwfqIvgbjpnp`qjsw#bowfqfg$^*8 ##kbp#wkfvm`ofbqFufmw$/alwk#jmmlw#boo ?"..#sob`jmdkbqg#wl#`fmwfqplqw#le`ojfmwppwqffwpAfqmbqgbppfqwpwfmg#wlebmwbpzgltm#jmkbqalvqEqffglniftfoqz,balvw--pfbq`kofdfmgpjp#nbgfnlgfqm#lmoz#lmlmoz#wljnbdf!#ojmfbq#sbjmwfqbmg#mlwqbqfoz#b`qlmzngfojufqpklqwfq33%bns8bp#nbmztjgwk>!,)#?"X@wjwof#>le#wkf#oltfpw#sj`hfg#fp`bsfgvpfp#lesflsofp#Svaoj`Nbwwkftwb`wj`pgbnbdfgtbz#elqobtp#lefbpz#wl#tjmgltpwqlmd##pjnsof~`bw`k+pfufmwkjmelal{tfmw#wlsbjmwfg`jwjyfmJ#glm$wqfwqfbw-#Plnf#tt-!*8 alnajmdnbjowl9nbgf#jm-#Nbmz#`bqqjfp\x7F\x7Fx~8tjtlqh#lepzmlmzngfefbwpebulqfglswj`bosbdfWqbvmofpp#pfmgjmdofew!=?`lnP`lqBoo#wkfiRvfqz-wlvqjpw@obppj`ebopf!#Tjokfonpvavqapdfmvjmfajpklsp-psojw+dolabo#elooltpalgz#lemlnjmbo@lmwb`wpf`vobqofew#wl`kjfeoz.kjggfm.abmmfq?,oj= -#Tkfm#jm#alwkgjpnjppF{solqfbotbzp#ujb#wkfpsb/]lotfoebqfqvojmd#bqqbmdf`bswbjmkjp#plmqvof#lekf#wllhjwpfoe/>3%bns8+`boofgpbnsofpwl#nbhf`ln,sbdNbqwjm#Hfmmfgzb``fswpevoo#lekbmgofgAfpjgfp,,..=?,baof#wlwbqdfwpfppfm`fkjn#wl#jwp#az#`lnnlm-njmfqbowl#wbhftbzp#wlp-lqd,obgujpfgsfmbowzpjnsof9je#wkfzOfwwfqpb#pklqwKfqafqwpwqjhfp#dqlvsp-ofmdwkeojdkwplufqobspoltoz#ofppfq#pl`jbo#?,s= \n\njw#jmwlqbmhfg#qbwf#levo= ##bwwfnswsbjq#lenbhf#jwHlmwbhwBmwlmjlkbujmd#qbwjmdp#b`wjufpwqfbnpwqbssfg!*-`pp+klpwjofofbg#wlojwwof#dqlvsp/Sj`wvqf..= #qltp>!#laif`wjmufqpf?ellwfq@vpwlnU=?_,p`qploujmd@kbnafqpobufqztlvmgfgtkfqfbp">#$vmgelq#boosbqwoz#.qjdkw9Bqbajbmab`hfg#`fmwvqzvmjw#lenlajof.Fvqlsf/jp#klnfqjph#legfpjqfg@ojmwlm`lpw#lebdf#le#af`lnf#mlmf#les%rvlw8Njggof#fbg$*X3@qjwj`ppwvgjlp=%`lsz8dqlvs!=bppfnaonbhjmd#sqfppfgtjgdfw-sp9!#<#qfavjowaz#plnfElqnfq#fgjwlqpgfobzfg@bmlmj`kbg#wkfsvpkjmd`obpp>!avw#bqfsbqwjboAbazolmalwwln#`bqqjfq@lnnbmgjwp#vpfBp#tjwk`lvqpfpb#wkjqggfmlwfpbopl#jmKlvpwlm13s{8!=b``vpfgglvaof#dlbo#leEbnlvp#*-ajmg+sqjfpwp#Lmojmfjm#Ivozpw#(#!d`lmpvowgf`jnbokfosevoqfujufgjp#ufqzq$($jswolpjmd#efnbofpjp#boplpwqjmdpgbzp#lebqqjuboevwvqf#?laif`welq`jmdPwqjmd+!#,= \n\nkfqf#jpfm`lgfg-##Wkf#aboollmglmf#az,`lnnlmad`lolqobt#le#Jmgjbmbbuljgfgavw#wkf1s{#0s{irvfqz-bewfq#bsloj`z-nfm#bmgellwfq.>#wqvf8elq#vpfp`qffm-Jmgjbm#jnbdf#>ebnjoz/kwws9,,#%maps8gqjufqpfwfqmbopbnf#bpmlwj`fgujftfqp~*+*8 #jp#nlqfpfbplmpelqnfq#wkf#mftjp#ivpw`lmpfmw#Pfbq`ktbp#wkftkz#wkfpkjssfgaq=?aq=tjgwk9#kfjdkw>nbgf#le`vjpjmfjp#wkbwb#ufqz#Bgnjqbo#ej{fg8mlqnbo#NjppjlmSqfpp/#lmwbqjl`kbqpfwwqz#wl#jmubgfg>!wqvf!psb`jmdjp#nlpwb#nlqf#wlwboozeboo#le~*8 ##jnnfmpfwjnf#jmpfw#lvwpbwjpezwl#ejmggltm#wlolw#le#Sobzfqpjm#Ivmfrvbmwvnmlw#wkfwjnf#wlgjpwbmwEjmmjpkpq`#>#+pjmdof#kfos#leDfqnbm#obt#bmgobafofgelqfpwp`llhjmdpsb`f!=kfbgfq.tfoo#bpPwbmofzaqjgdfp,dolabo@qlbwjb#Balvw#X3^8 ##jw/#bmgdqlvsfgafjmd#b*xwkqltkf#nbgfojdkwfqfwkj`boEEEEEE!alwwln!ojhf#b#fnsolzpojuf#jmbp#pffmsqjmwfqnlpw#leva.ojmhqfif`wpbmg#vpfjnbdf!=pv``ffgeffgjmdMv`ofbqjmelqnbwl#kfosTlnfm$pMfjwkfqNf{j`bmsqlwfjm?wbaof#az#nbmzkfbowkzobtpvjwgfujpfg-svpk+xpfoofqppjnsoz#Wkqlvdk-`llhjf#Jnbdf+logfq!=vp-ip!=#Pjm`f#vmjufqpobqdfq#lsfm#wl"..#fmgojfp#jm$^*8 ##nbqhfwtkl#jp#+!GLN@lnbmbdfglmf#elqwzsfle#Hjmdglnsqlejwpsqlslpfwl#pklt`fmwfq8nbgf#jwgqfppfgtfqf#jmnj{wvqfsqf`jpfbqjpjmdpq`#>#$nbhf#b#pf`vqfgAbswjpwulwjmd# \n\nubq#Nbq`k#1dqft#vs@ojnbwf-qfnlufphjoofgtbz#wkf?,kfbg=eb`f#leb`wjmd#qjdkw!=wl#tlqhqfgv`fpkbp#kbgfqf`wfgpklt+*8b`wjlm>allh#lebm#bqfb>>#!kww?kfbgfq ?kwno=`lmelqneb`jmd#`llhjf-qfoz#lmklpwfg#-`vpwlnkf#tfmwavw#elqpsqfbg#Ebnjoz#b#nfbmplvw#wkfelqvnp-ellwbdf!=Nlajo@ofnfmwp!#jg>!bp#kjdkjmwfmpf..=?"..efnbof#jp#pffmjnsojfgpfw#wkfb#pwbwfbmg#kjpebpwfpwafpjgfpavwwlm\\alvmgfg!=?jnd#Jmelal{fufmwp/b#zlvmdbmg#bqfMbwjuf#`kfbsfqWjnflvwbmg#kbpfmdjmfptlm#wkf+nlpwozqjdkw9#ejmg#b#.alwwlnSqjm`f#bqfb#lenlqf#lepfbq`k\\mbwvqf/ofdboozsfqjlg/obmg#lelq#tjwkjmgv`fgsqlujmdnjppjofol`boozBdbjmpwwkf#tbzh%rvlw8s{8!= svpkfg#babmglmmvnfqbo@fqwbjmJm#wkjpnlqf#jmlq#plnfmbnf#jpbmg/#jm`qltmfgJPAM#3.`qfbwfpL`wlafqnbz#mlw`fmwfq#obwf#jmGfefm`ffmb`wfgtjpk#wlaqlbgoz`llojmdlmolbg>jw-#Wkfqf`lufqNfnafqpkfjdkw#bppvnfp?kwno= sflsof-jm#lmf#>tjmgltellwfq\\b#dllg#qfhobnblwkfqp/wl#wkjp\\`llhjfsbmfo!=Olmglm/gfejmfp`qvpkfgabswjpn`lbpwbopwbwvp#wjwof!#nluf#wlolpw#jmafwwfq#jnsojfpqjuboqzpfqufqp#PzpwfnSfqkbspfp#bmg#`lmwfmgeoltjmdobpwfg#qjpf#jmDfmfpjpujft#leqjpjmd#pffn#wlavw#jm#ab`hjmdkf#tjoodjufm#bdjujmd#`jwjfp-eolt#le#Obwfq#boo#avwKjdktbzlmoz#azpjdm#lekf#glfpgjeefqpabwwfqz%bns8obpjmdofpwkqfbwpjmwfdfqwbhf#lmqfevpfg`boofg#>VP%bnsPff#wkfmbwjufpaz#wkjppzpwfn-kfbg#le9klufq/ofpajbmpvqmbnfbmg#boo`lnnlm,kfbgfq\\\\sbqbnpKbqubqg,sj{fo-qfnlubopl#olmdqlof#leiljmwozphzp`qbVmj`lgfaq#,= Bwobmwbmv`ofvp@lvmwz/svqfoz#`lvmw!=fbpjoz#avjog#blm`oj`hb#djufmsljmwfqk%rvlw8fufmwp#fopf#x gjwjlmpmlt#wkf/#tjwk#nbm#tkllqd,Tfalmf#bmg`buboqzKf#gjfgpfbwwof33/333#xtjmgltkbuf#wlje+tjmgbmg#jwpplofoz#n%rvlw8qfmftfgGfwqljwbnlmdpwfjwkfq#wkfn#jmPfmbwlqVp?,b=?Hjmd#leEqbm`jp.sqlgv`kf#vpfgbqw#bmgkjn#bmgvpfg#azp`lqjmdbw#klnfwl#kbufqfobwfpjajojwzeb`wjlmAveebolojmh!=?tkbw#kfeqff#wl@jwz#le`lnf#jmpf`wlqp`lvmwfglmf#gbzmfqulvpprvbqf#~8je+dljm#tkbwjnd!#bojp#lmozpfbq`k,wvfpgbzollpfozPlolnlmpf{vbo#.#?b#kqnfgjvn!GL#MLW#Eqbm`f/tjwk#b#tbq#bmgpf`lmg#wbhf#b#= nbqhfw-kjdktbzglmf#jm`wjujwz!obpw!=laojdfgqjpf#wl!vmgfejnbgf#wl#Fbqoz#sqbjpfgjm#jwp#elq#kjpbwkofwfIvsjwfqZbkll"#wfqnfg#pl#nbmzqfbooz#p-#Wkf#b#tlnbm<ubovf>gjqf`w#qjdkw!#aj`z`ofb`jmd>!gbz#bmgpwbwjmdQbwkfq/kjdkfq#Leej`f#bqf#mltwjnfp/#tkfm#b#sbz#elqlm#wkjp.ojmh!=8alqgfqbqlvmg#bmmvbo#wkf#Mftsvw#wkf-`ln!#wbhjm#wlb#aqjfe+jm#wkfdqlvsp-8#tjgwkfmyznfppjnsof#jm#obwfxqfwvqmwkfqbszb#sljmwabmmjmdjmhp!= +*8!#qfb#sob`f_v330@bbalvw#bwq= \n\n``lvmw#djufp#b?P@QJSWQbjotbzwkfnfp,wlloal{AzJg+!{kvnbmp/tbw`kfpjm#plnf#je#+tj`lnjmd#elqnbwp#Vmgfq#avw#kbpkbmgfg#nbgf#azwkbm#jmefbq#legfmlwfg,jeqbnfofew#jmulowbdfjm#fb`kb%rvlw8abpf#leJm#nbmzvmgfqdlqfdjnfpb`wjlm#?,s= ?vpwlnUb8%dw8?,jnslqwplq#wkbwnlpwoz#%bns8qf#pjyf>!?,b=?,kb#`obppsbppjufKlpw#>#TkfwkfqefqwjofUbqjlvp>X^8+ev`bnfqbp,=?,wg=b`wp#bpJm#plnf= ?"lqdbmjp#?aq#,=Afjijmd`bwbo/Lgfvwp`kfvqlsfvfvphbqbdbfjodfpufmphbfpsb/]bnfmpbifvpvbqjlwqbabiln/E{j`ls/Mdjmbpjfnsqfpjpwfnbl`wvaqfgvqbmwfb/]bgjqfnsqfpbnlnfmwlmvfpwqlsqjnfqbwqbu/Epdqb`jbpmvfpwqbsql`fplfpwbglp`bojgbgsfqplmbm/Vnfqlb`vfqgln/Vpj`bnjfnaqllefqwbpbodvmlpsb/Apfpfifnsolgfqf`klbgfn/Mpsqjubglbdqfdbqfmob`fpslpjaofklwfofppfujoobsqjnfql/Vowjnlfufmwlpbq`kjul`vowvqbnvifqfpfmwqbgbbmvm`jlfnabqdlnfq`bgldqbmgfpfpwvgjlnfilqfpefaqfqlgjpf/]lwvqjpnl`/_gjdlslqwbgbfpsb`jlebnjojbbmwlmjlsfqnjwfdvbqgbqbodvmbpsqf`jlpbodvjfmpfmwjglujpjwbpw/Awvol`lml`fqpfdvmgl`lmpfileqbm`jbnjmvwlppfdvmgbwfmfnlpfef`wlpn/Mobdbpfpj/_mqfujpwbdqbmbgb`lnsqbqjmdqfpldbq`/Abb``j/_mf`vbglqrvjfmfpjm`ovplgfafq/Mnbwfqjbklnaqfpnvfpwqbslgq/Abnb/]bmb/Vowjnbfpwbnlplej`jbowbnajfmmjmd/Vmpbovglpslgfnlpnfilqbqslpjwjlmavpjmfppklnfsbdfpf`vqjwzobmdvbdfpwbmgbqg`bnsbjdmefbwvqfp`bwfdlqzf{wfqmbo`kjogqfmqfpfqufgqfpfbq`kf{`kbmdfebulqjwfwfnsobwfnjojwbqzjmgvpwqzpfquj`fpnbwfqjbosqlgv`wpy.jmgf{9`lnnfmwpplewtbqf`lnsofwf`bofmgbqsobwelqnbqwj`ofpqfrvjqfgnlufnfmwrvfpwjlmavjogjmdslojwj`pslppjaofqfojdjlmskzpj`boeffgab`hqfdjpwfqsj`wvqfpgjpbaofgsqlwl`lobvgjfm`fpfwwjmdpb`wjujwzfofnfmwpofbqmjmdbmzwkjmdbapwqb`wsqldqfpplufqujftnbdbyjmff`lmlnj`wqbjmjmdsqfppvqfubqjlvp#?pwqlmd=sqlsfqwzpklssjmdwldfwkfqbgubm`fgafkbujlqgltmolbgefbwvqfgellwaboopfof`wfgObmdvbdfgjpwbm`fqfnfnafqwqb`hjmdsbpptlqgnlgjejfgpwvgfmwpgjqf`wozejdkwjmdmlqwkfqmgbwbabpfefpwjuboaqfbhjmdol`bwjlmjmwfqmfwgqlsgltmsqb`wj`ffujgfm`fevm`wjlmnbqqjbdfqfpslmpfsqlaofnpmfdbwjufsqldqbnpbmbozpjpqfofbpfgabmmfq!=svq`kbpfsloj`jfpqfdjlmbo`qfbwjufbqdvnfmwallhnbqhqfefqqfq`kfnj`bogjujpjlm`booab`hpfsbqbwfsqlif`wp`lmeoj`wkbqgtbqfjmwfqfpwgfojufqznlvmwbjmlawbjmfg>#ebopf8elq+ubq#b``fswfg`bsb`jwz`lnsvwfqjgfmwjwzbjq`qbewfnsolzfgsqlslpfgglnfpwj`jm`ovgfpsqlujgfgklpsjwboufqwj`bo`loobspfbssqlb`ksbqwmfqpoldl!=?bgbvdkwfqbvwklq!#`vowvqboebnjojfp,jnbdfp,bppfnaozsltfqevowfb`kjmdejmjpkfggjpwqj`w`qjwj`bo`dj.ajm,svqslpfpqfrvjqfpfof`wjlmaf`lnjmdsqlujgfpb`bgfnj`f{fq`jpfb`wvbooznfgj`jmf`lmpwbmwb``jgfmwNbdbyjmfgl`vnfmwpwbqwjmdalwwln!=lapfqufg9#%rvlw8f{wfmgfgsqfujlvpPlewtbqf`vpwlnfqgf`jpjlmpwqfmdwkgfwbjofgpojdkwozsobmmjmdwf{wbqfb`vqqfm`zfufqzlmfpwqbjdkwwqbmpefqslpjwjufsqlgv`fgkfqjwbdfpkjssjmdbaplovwfqf`fjufgqfofubmwavwwlm!#ujlofm`fbmztkfqfafmfejwpobvm`kfgqf`fmwozboojbm`felooltfgnvowjsofavoofwjmjm`ovgfgl``vqqfgjmwfqmbo\'+wkjp*-qfsvaoj`=?wq=?wg`lmdqfppqf`lqgfgvowjnbwfplovwjlm?vo#jg>!gjp`lufqKlnf?,b=tfapjwfpmfwtlqhpbowklvdkfmwjqfoznfnlqjbonfppbdfp`lmwjmvfb`wjuf!=plnftkbwuj`wlqjbTfpwfqm##wjwof>!Ol`bwjlm`lmwqb`wujpjwlqpGltmolbgtjwklvw#qjdkw!= nfbpvqfptjgwk#>#ubqjbaofjmuloufgujqdjmjbmlqnboozkbssfmfgb``lvmwppwbmgjmdmbwjlmboQfdjpwfqsqfsbqfg`lmwqlopb``vqbwfajqwkgbzpwqbwfdzleej`jbodqbskj`p`qjnjmboslppjaoz`lmpvnfqSfqplmbopsfbhjmdubojgbwfb`kjfufg-isd!#,=nb`kjmfp?,k1= ##hfztlqgpeqjfmgozaqlwkfqp`lnajmfglqjdjmbo`lnslpfgf{sf`wfgbgfrvbwfsbhjpwbmeloolt!#ubovbaof?,obafo=qfobwjufaqjmdjmdjm`qfbpfdlufqmlqsovdjmp,Ojpw#le#Kfbgfq!=!#mbnf>!#+%rvlw8dqbgvbwf?,kfbg= `lnnfq`fnbobzpjbgjqf`wlqnbjmwbjm8kfjdkw9p`kfgvof`kbmdjmdab`h#wl#`bwkloj`sbwwfqmp`lolq9# dqfbwfpwpvssojfpqfojbaof?,vo= \n\n?pfof`w#`jwjyfmp`olwkjmdtbw`kjmd?oj#jg>!psf`jej``bqqzjmdpfmwfm`f?`fmwfq=`lmwqbpwwkjmhjmd`bw`k+f*plvwkfqmNj`kbfo#nfq`kbmw`bqlvpfosbggjmd9jmwfqjlq-psojw+!ojybwjlmL`wlafq#*xqfwvqmjnsqlufg..%dw8 `lufqbdf`kbjqnbm-smd!#,=pvaif`wpQj`kbqg#tkbwfufqsqlabaozqf`lufqzabpfabooivgdnfmw`lmmf`w--`pp!#,=#tfapjwfqfslqwfggfebvow!,=?,b= fof`wqj`p`lwobmg`qfbwjlmrvbmwjwz-#JPAM#3gjg#mlw#jmpwbm`f.pfbq`k.!#obmd>!psfbhfqp@lnsvwfq`lmwbjmpbq`kjufpnjmjpwfqqfb`wjlmgjp`lvmwJwbojbml`qjwfqjbpwqlmdoz9#$kwws9$p`qjsw$`lufqjmdleefqjmdbssfbqfgAqjwjpk#jgfmwjezEb`fallhmvnfqlvpufkj`ofp`lm`fqmpBnfqj`bmkbmgojmdgju#jg>!Tjoojbn#sqlujgfq\\`lmwfmwb``vqb`zpf`wjlm#bmgfqplmeof{jaof@bwfdlqzobtqfm`f?p`qjsw=obzlvw>!bssqlufg#nb{jnvnkfbgfq!=?,wbaof=Pfquj`fpkbnjowlm`vqqfmw#`bmbgjbm`kbmmfop,wkfnfp,,bqwj`oflswjlmboslqwvdboubovf>!!jmwfqubotjqfofppfmwjwofgbdfm`jfpPfbq`k!#nfbpvqfgwklvpbmgpsfmgjmd%kfoojs8mft#Gbwf!#pjyf>!sbdfMbnfnjggof!#!#,=?,b=kjggfm!=pfrvfm`fsfqplmbolufqeoltlsjmjlmpjoojmljpojmhp!= \n?wjwof=ufqpjlmppbwvqgbzwfqnjmbojwfnsqlsfmdjmffqpf`wjlmpgfpjdmfqsqlslpbo>!ebopf!Fpsb/]loqfofbpfppvanjw!#fq%rvlw8bggjwjlmpznswlnplqjfmwfgqfplvq`fqjdkw!=?sofbpvqfpwbwjlmpkjpwlqz-ofbujmd##alqgfq>`lmwfmwp`fmwfq!=- Plnf#gjqf`wfgpvjwbaofavodbqjb-pklt+*8gfpjdmfgDfmfqbo#`lm`fswpF{bnsofptjoojbnpLqjdjmbo!=?psbm=pfbq`k!=lsfqbwlqqfrvfpwpb#%rvlw8booltjmdGl`vnfmwqfujpjlm-# Wkf#zlvqpfoe@lmwb`w#nj`kjdbmFmdojpk#`lovnajbsqjlqjwzsqjmwjmdgqjmhjmdeb`jojwzqfwvqmfg@lmwfmw#leej`fqpQvppjbm#dfmfqbwf.;;6:.2!jmgj`bwfebnjojbq#rvbojwznbqdjm93#`lmwfmwujftslqw`lmwb`wp.wjwof!=slqwbaof-ofmdwk#fojdjaofjmuloufpbwobmwj`lmolbg>!gfebvow-pvssojfgsbznfmwpdolppbqz Bewfq#dvjgbm`f?,wg=?wgfm`lgjmdnjggof!=`bnf#wl#gjpsobzpp`lwwjpkilmbwkbmnbilqjwztjgdfwp-`ojmj`bowkbjobmgwfb`kfqp?kfbg= \nbeef`wfgpvsslqwpsljmwfq8wlPwqjmd?,pnboo=lhobklnbtjoo#af#jmufpwlq3!#bow>!klojgbzpQfplvq`foj`fmpfg#+tkj`k#-#Bewfq#`lmpjgfqujpjwjmdf{solqfqsqjnbqz#pfbq`k!#bmgqljg!rvj`hoz#nffwjmdpfpwjnbwf8qfwvqm#8`lolq9 #kfjdkw>bssqlubo/#%rvlw8#`kf`hfg-njm-ip!nbdmfwj`=?,b=?,kelqf`bpw-#Tkjof#wkvqpgbzgufqwjpf%fb`vwf8kbp@obppfubovbwflqgfqjmdf{jpwjmdsbwjfmwp#Lmojmf#`lolqbglLswjlmp!`bnsafoo?"..#fmg?,psbm=??aq#,= \\slsvsp\x7Fp`jfm`fp/%rvlw8#rvbojwz#Tjmgltp#bppjdmfgkfjdkw9#?a#`obppof%rvlw8#ubovf>!#@lnsbmzf{bnsofp?jeqbnf#afojfufpsqfpfmwpnbqpkboosbqw#le#sqlsfqoz*- Wkf#wb{lmlnznv`k#le#?,psbm= !#gbwb.pqwvdv/Fpp`qlooWl#sqlif`w?kfbg= bwwlqmfzfnskbpjppslmplqpebm`zal{tlqog$p#tjogojef`kf`hfg>pfppjlmpsqldqbnns{8elmw.#Sqlif`wilvqmbopafojfufgub`bwjlmwklnsplmojdkwjmdbmg#wkf#psf`jbo#alqgfq>3`kf`hjmd?,walgz=?avwwlm#@lnsofwf`ofbqej{ ?kfbg= bqwj`of#?pf`wjlmejmgjmdpqlof#jm#slsvobq##L`wlafqtfapjwf#f{slpvqfvpfg#wl##`kbmdfplsfqbwfg`oj`hjmdfmwfqjmd`lnnbmgpjmelqnfg#mvnafqp##?,gju=`qfbwjmdlmPvanjwnbqzobmg`loofdfpbmbozwj`ojpwjmdp`lmwb`w-olddfgJmbgujplqzpjaojmdp`lmwfmw!p%rvlw8*p-#Wkjp#sb`hbdfp`kf`hal{pvddfpwpsqfdmbmwwlnlqqltpsb`jmd>j`lm-smdibsbmfpf`lgfabpfavwwlm!=dbnaojmdpv`k#bp#/#tkjof#?,psbm=#njpplvqjpslqwjmdwls92s{#-?,psbm=wfmpjlmptjgwk>!1obyzolbgmlufnafqvpfg#jm#kfjdkw>!`qjsw!= %maps8?,?wq=?wg#kfjdkw91,sqlgv`w`lvmwqz#jm`ovgf#ellwfq!#%ow8"..#wjwof!=?,irvfqz-?,elqn= +\vBl\bQ\x7F*+\vUmGx*kqubwphjjwbojbmlqln/Nm(ow/Pqh/Kf4K4]4C5dwbnaj/Emmlwj`jbpnfmpbifpsfqplmbpgfqf`klpmb`jlmbopfquj`jl`lmwb`wlvpvbqjlpsqldqbnbdlajfqmlfnsqfpbpbmvm`jlpubofm`jb`lolnajbgfpsv/Epgfslqwfpsqlzf`wlsqlgv`wls/Vaoj`lmlplwqlpkjpwlqjbsqfpfmwfnjoolmfpnfgjbmwfsqfdvmwbbmwfqjlqqf`vqplpsqlaofnbpbmwjbdlmvfpwqlplsjmj/_mjnsqjnjqnjfmwqbpbn/Eqj`bufmgfglqpl`jfgbgqfpsf`wlqfbojybqqfdjpwqlsbobaqbpjmwfq/Epfmwlm`fpfpsf`jbonjfnaqlpqfbojgbg`/_qglabybqbdlybs/Mdjmbppl`jbofpaolrvfbqdfpwj/_mborvjofqpjpwfnbp`jfm`jbp`lnsofwlufqpj/_m`lnsofwbfpwvgjlps/Vaoj`blaifwjulboj`bmwfavp`bglq`bmwjgbgfmwqbgbpb``jlmfpbq`kjulppvsfqjlqnbzlq/Abbofnbmjbevm`j/_m/Vowjnlpkb`jfmglbrvfoolpfgj`j/_mefqmbmglbnajfmwfeb`fallhmvfpwqbp`ojfmwfpsql`fplpabpwbmwfsqfpfmwbqfslqwbq`lmdqfplsvaoj`bq`lnfq`jl`lmwqbwli/_ufmfpgjpwqjwlw/E`mj`b`lmivmwlfmfqd/Abwqbabibqbpwvqjbpqf`jfmwfvwjojybqalofw/Ampboubglq`lqqf`wbwqbabilpsqjnfqlpmfdl`jlpojafqwbggfwboofpsbmwboobsq/_{jnlbonfq/Abbmjnbofprvj/Emfp`lqby/_mpf``j/_mavp`bmglls`jlmfpf{wfqjlq`lm`fswlwlgbu/Abdbofq/Abfp`qjajqnfgj`jmboj`fm`jb`lmpvowbbpsf`wlp`q/Awj`bg/_obqfpivpwj`jbgfafq/Mmsfq/Alglmf`fpjwbnbmwfmfqsfrvf/]lqf`jajgbwqjavmbowfmfqjef`bm`j/_m`bmbqjbpgfp`bqdbgjufqplpnboolq`bqfrvjfqfw/E`mj`lgfafq/Abujujfmgbejmbmybpbgfobmwfevm`jlmb`lmpfilpgje/A`jo`jvgbgfpbmwjdvbpbubmybgbw/Eqnjmlvmjgbgfpp/Mm`kfy`bnsb/]bplewlmj`qfujpwbp`lmwjfmfpf`wlqfpnlnfmwlpeb`vowbg`q/Egjwlgjufqpbppvsvfpwleb`wlqfppfdvmglpsfrvf/]b<_<R<X<\\<Y=m<W<T<Y=m=n=`<]=g<W<R<]=g=n=`=a=n<R<P<y=m<W<T=n<R<_<R<P<Y<Q=c<^=m<Y=i=a=n<R<U<X<\\<Z<Y<]=g<W<T<_<R<X=o<X<Y<Q=`=a=n<R=n<]=g<W<\\=m<Y<]=c<R<X<T<Q=m<Y<]<Y<Q<\\<X<R=m<\\<U=n=h<R=n<R<Q<Y<_<R=m<^<R<T=m<^<R<U<T<_=l=g=n<R<Z<Y<^=m<Y<P=m<^<R=b<W<T=d=`=a=n<T=i<S<R<V<\\<X<Q<Y<U<X<R<P<\\<P<T=l<\\<W<T<]<R=n<Y<P=o=i<R=n=c<X<^=o=i=m<Y=n<T<W=b<X<T<X<Y<W<R<P<T=l<Y=n<Y<]=c=m<^<R<Y<^<T<X<Y=k<Y<_<R=a=n<T<P=m=k<Y=n=n<Y<P=g=j<Y<Q=g=m=n<\\<W<^<Y<X=`=n<Y<P<Y<^<R<X=g=n<Y<]<Y<^=g=d<Y<Q<\\<P<T=n<T<S<\\=n<R<P=o<S=l<\\<^<W<T=j<\\<R<X<Q<\\<_<R<X=g<[<Q<\\=b<P<R<_=o<X=l=o<_<^=m<Y<U<T<X<Y=n<V<T<Q<R<R<X<Q<R<X<Y<W<\\<X<Y<W<Y=m=l<R<V<T=b<Q=c<^<Y=m=`<y=m=n=`=l<\\<[<\\<Q<\\=d<T4K5h5h5k4K5h4F5f4@5i5f4U4B4K4Y4E4K5h4\\5f4U5h5f5k4@4C5f4C4K5h4N5j4K5h4]4C4F4A5o5i4Y5m4A4E5o4K5j4F4K5h5h5f5f5o5d5j4X4D5o4E5m5f5k4K4D5j4K4F4A5d4K4M4O5o4G4]4B5h4K5h4K5h4A4D4C5h5f5h4C4]5d4_4K4Z4V4[4F5o5d5j5k5j4K5o4_4K4A4E5j4K4C5f4K5h4[4D4U5h5f5o4X5o4]4K5f5i5o5j5i5j5k4K4X4]5o4E4]4J5f4_5j4X5f4[5i4K4\\4K4K5h5m5j4X4D4K4D4F4U4D4]4]4A5i4E5o4K5m4E5f5n5d5h5i4]5o4^5o5h5i4E4O4A5i4C5n5h4D5f5f4U5j5f4Y5d4]4E4[4]5f5n4X4K4]5o4@5d4K5h4O4B4]5e5i4U5j4K4K4D4A4G4U4]5d4Z4D4X5o5h5i4_4@5h4D5j4K5j4B4K5h4C5o4F4K4D5o5h5f4E4D4C5d5j4O5f4Z4K5f5d4@4C5m4]5f5n5o4F4D4F4O5m4Z5h5i4[4D4B4K5o4G4]4D4K4]5o4K5m4Z5h4K4A5h5e5j5m4_5k4O5f4K5i4]4C5d4C4O5j5k4K4C5f5j4K4K5h4K5j5i4U4]4Z4F4U5h5i4C4K4B5h5i5i5o5j\x07\x07\x07\x07\0\x07\x07\0\v\n \b\r\f\f\r\b \n\v\x1B\x1B\0\v\v\v\v\0\x07qfplvq`fp`lvmwqjfprvfpwjlmpfrvjsnfmw`lnnvmjwzbubjobaofkjdkojdkwGWG,{kwnonbqhfwjmdhmltofgdfplnfwkjmd`lmwbjmfqgjqf`wjlmpvap`qjafbgufqwjpf`kbqb`wfq!#ubovf>!?,pfof`w=Bvpwqbojb!#`obpp>!pjwvbwjlmbvwklqjwzelooltjmdsqjnbqjozlsfqbwjlm`kboofmdfgfufolsfgbmlmznlvpevm`wjlm#evm`wjlmp`lnsbmjfppwqv`wvqfbdqffnfmw!#wjwof>!slwfmwjbofgv`bwjlmbqdvnfmwppf`lmgbqz`lszqjdkwobmdvbdfpf{`ovpjuf`lmgjwjlm?,elqn= pwbwfnfmwbwwfmwjlmAjldqbskz~#fopf#x plovwjlmptkfm#wkf#Bmbozwj`pwfnsobwfpgbmdfqlvppbwfoojwfgl`vnfmwpsvaojpkfqjnslqwbmwsqlwlwzsfjmeovfm`f%qbrvl8?,feef`wjufdfmfqboozwqbmpelqnafbvwjevowqbmpslqwlqdbmjyfgsvaojpkfgsqlnjmfmwvmwjo#wkfwkvnambjoMbwjlmbo#-el`vp+*8lufq#wkf#njdqbwjlmbmmlvm`fgellwfq!= f{`fswjlmofpp#wkbmf{sfmpjufelqnbwjlmeqbnftlqhwfqqjwlqzmgj`bwjlm`vqqfmwoz`obppMbnf`qjwj`jpnwqbgjwjlmfopftkfqfBof{bmgfqbssljmwfgnbwfqjbopaqlbg`bpwnfmwjlmfgbeejojbwf?,lswjlm=wqfbwnfmwgjeefqfmw,gfebvow-Sqfpjgfmwlm`oj`h>!ajldqbskzlwkfqtjpfsfqnbmfmwEqbm/KbjpKlooztllgf{sbmpjlmpwbmgbqgp?,pwzof= qfgv`wjlmGf`fnafq#sqfefqqfg@bnaqjgdflsslmfmwpAvpjmfpp#`lmevpjlm= ?wjwof=sqfpfmwfgf{sobjmfgglfp#mlw#tlqogtjgfjmwfqeb`fslpjwjlmpmftpsbsfq?,wbaof= nlvmwbjmpojhf#wkf#fppfmwjboejmbm`jbopfof`wjlmb`wjlm>!,babmglmfgFgv`bwjlmsbqpfJmw+pwbajojwzvmbaof#wl?,wjwof= qfobwjlmpMlwf#wkbwfeej`jfmwsfqelqnfgwtl#zfbqpPjm`f#wkfwkfqfelqftqbssfq!=bowfqmbwfjm`qfbpfgAbwwof#lesfq`fjufgwqzjmd#wlmf`fppbqzslqwqbzfgfof`wjlmpFojybafwk?,jeqbnf=gjp`lufqzjmpvqbm`fp-ofmdwk8ofdfmgbqzDfldqbskz`bmgjgbwf`lqslqbwfplnfwjnfppfquj`fp-jmkfqjwfg?,pwqlmd=@lnnvmjwzqfojdjlvpol`bwjlmp@lnnjwwffavjogjmdpwkf#tlqogml#olmdfqafdjmmjmdqfefqfm`f`bmmlw#afeqfrvfm`zwzsj`boozjmwl#wkf#qfobwjuf8qf`lqgjmdsqfpjgfmwjmjwjboozwf`kmjrvfwkf#lwkfqjw#`bm#aff{jpwfm`fvmgfqojmfwkjp#wjnfwfofsklmfjwfnp`lsfsqb`wj`fpbgubmwbdf*8qfwvqm#Elq#lwkfqsqlujgjmdgfnl`qb`zalwk#wkf#f{wfmpjufpveefqjmdpvsslqwfg`lnsvwfqp#evm`wjlmsqb`wj`bopbjg#wkbwjw#nbz#afFmdojpk?,eqln#wkf#p`kfgvofggltmolbgp?,obafo= pvpsf`wfgnbqdjm9#3psjqjwvbo?,kfbg= nj`qlplewdqbgvboozgjp`vppfgkf#af`bnff{f`vwjufirvfqz-ipklvpfklog`lmejqnfgsvq`kbpfgojwfqboozgfpwqlzfgvs#wl#wkfubqjbwjlmqfnbjmjmdjw#jp#mlw`fmwvqjfpIbsbmfpf#bnlmd#wkf`lnsofwfgbodlqjwknjmwfqfpwpqfafoojlmvmgfejmfgfm`lvqbdfqfpjybaofjmuloujmdpfmpjwjufvmjufqpbosqlujpjlm+bowklvdkefbwvqjmd`lmgv`wfg*/#tkj`k#`lmwjmvfg.kfbgfq!=Efaqvbqz#mvnfqlvp#lufqeolt9`lnslmfmweqbdnfmwpf{`foofmw`lopsbm>!wf`kmj`bomfbq#wkf#Bgubm`fg#plvq`f#lef{sqfppfgKlmd#Hlmd#Eb`fallhnvowjsof#nf`kbmjpnfofubwjlmleefmpjuf?,elqn= \npslmplqfggl`vnfmw-lq#%rvlw8wkfqf#bqfwklpf#tklnlufnfmwpsql`fppfpgjeej`vowpvanjwwfgqf`lnnfmg`lmujm`fgsqlnlwjmd!#tjgwk>!-qfsob`f+`obppj`bo`lbojwjlmkjp#ejqpwgf`jpjlmpbppjpwbmwjmgj`bwfgfulovwjlm.tqbssfq!fmlvdk#wlbolmd#wkfgfojufqfg..= ?"..Bnfqj`bm#sqlwf`wfgMlufnafq#?,pwzof=?evqmjwvqfJmwfqmfw##lmaovq>!pvpsfmgfgqf`jsjfmwabpfg#lm#Nlqflufq/balojpkfg`loof`wfgtfqf#nbgffnlwjlmbofnfqdfm`zmbqqbwjufbgul`bwfps{8alqgfq`lnnjwwfggjq>!owq!fnsolzffpqfpfbq`k-#pfof`wfgpv``fpplq`vpwlnfqpgjpsobzfgPfswfnafqbgg@obpp+Eb`fallh#pvddfpwfgbmg#obwfqlsfqbwjmdfobalqbwfPlnfwjnfpJmpwjwvwf`fqwbjmozjmpwboofgelooltfqpIfqvpbofnwkfz#kbuf`lnsvwjmddfmfqbwfgsqlujm`fpdvbqbmwffbqajwqbqzqf`ldmjyftbmwfg#wls{8tjgwk9wkflqz#leafkbujlvqTkjof#wkffpwjnbwfgafdbm#wl#jw#af`bnfnbdmjwvgfnvpw#kbufnlqf#wkbmGjqf`wlqzf{wfmpjlmpf`qfwbqzmbwvqboozl``vqqjmdubqjbaofpdjufm#wkfsobwelqn-?,obafo=?ebjofg#wl`lnslvmgphjmgp#le#pl`jfwjfpbolmdpjgf#..%dw8 plvwktfpwwkf#qjdkwqbgjbwjlmnbz#kbuf#vmfp`bsf+pslhfm#jm!#kqfe>!,sqldqbnnflmoz#wkf#`lnf#eqlngjqf`wlqzavqjfg#jmb#pjnjobqwkfz#tfqf?,elmw=?,Mlqtfdjbmpsf`jejfgsqlgv`jmdsbppfmdfq+mft#Gbwfwfnslqbqzej`wjlmboBewfq#wkffrvbwjlmpgltmolbg-qfdvobqozgfufolsfqbaluf#wkfojmhfg#wlskfmlnfmbsfqjlg#lewllowjs!=pvapwbm`fbvwlnbwj`bpsf`w#leBnlmd#wkf`lmmf`wfgfpwjnbwfpBjq#Elq`fpzpwfn#lelaif`wjufjnnfgjbwfnbhjmd#jwsbjmwjmdp`lmrvfqfgbqf#pwjoosql`fgvqfdqltwk#lekfbgfg#azFvqlsfbm#gjujpjlmpnlof`vofpeqbm`kjpfjmwfmwjlmbwwqb`wfg`kjogkllgbopl#vpfggfgj`bwfgpjmdbslqfgfdqff#leebwkfq#le`lmeoj`wp?,b=?,s= `bnf#eqlntfqf#vpfgmlwf#wkbwqf`fjujmdF{f`vwjuffufm#nlqfb``fpp#wl`lnnbmgfqSlojwj`bonvpj`jbmpgfoj`jlvpsqjplmfqpbgufmw#leVWE.;!#,=?"X@GBWBX!=@lmwb`wPlvwkfqm#ad`lolq>!pfqjfp#le-#Jw#tbp#jm#Fvqlsfsfqnjwwfgubojgbwf-bssfbqjmdleej`jboppfqjlvpoz.obmdvbdfjmjwjbwfgf{wfmgjmdolmd.wfqnjmeobwjlmpv`k#wkbwdfw@llhjfnbqhfg#az?,avwwlm=jnsofnfmwavw#jw#jpjm`qfbpfpgltm#wkf#qfrvjqjmdgfsfmgfmw..= ?"..#jmwfqujftTjwk#wkf#`lsjfp#le`lmpfmpvptbp#avjowUfmfyvfob+elqnfqozwkf#pwbwfsfqplmmfopwqbwfdj`ebulvq#lejmufmwjlmTjhjsfgjb`lmwjmfmwujqwvbooztkj`k#tbpsqjm`jsof@lnsofwf#jgfmwj`bopklt#wkbwsqjnjwjufbtbz#eqlnnlof`vobqsqf`jpfozgjpploufgVmgfq#wkfufqpjlm>!=%maps8?,Jw#jp#wkf#Wkjp#jp#tjoo#kbuflqdbmjpnpplnf#wjnfEqjfgqj`ktbp#ejqpwwkf#lmoz#eb`w#wkbwelqn#jg>!sqf`fgjmdWf`kmj`boskzpj`jpwl``vqp#jmmbujdbwlqpf`wjlm!=psbm#jg>!plvdkw#wlafolt#wkfpvqujujmd~?,pwzof=kjp#gfbwkbp#jm#wkf`bvpfg#azsbqwjboozf{jpwjmd#vpjmd#wkftbp#djufmb#ojpw#leofufop#lemlwjlm#leLeej`jbo#gjpnjppfgp`jfmwjpwqfpfnaofpgvsoj`bwff{solpjufqf`lufqfgboo#lwkfqdboofqjfpxsbggjmd9sflsof#leqfdjlm#lebggqfppfpbppl`jbwfjnd#bow>!jm#nlgfqmpklvog#afnfwklg#leqfslqwjmdwjnfpwbnsmffgfg#wlwkf#Dqfbwqfdbqgjmdpffnfg#wlujftfg#bpjnsb`w#lmjgfb#wkbwwkf#Tlqogkfjdkw#lef{sbmgjmdWkfpf#bqf`vqqfmw!=`bqfevooznbjmwbjmp`kbqdf#le@obppj`bobggqfppfgsqfgj`wfgltmfqpkjs?gju#jg>!qjdkw!= qfpjgfm`fofbuf#wkf`lmwfmw!=bqf#lewfm##~*+*8 sqlabaoz#Sqlefpplq.avwwlm!#qfpslmgfgpbzp#wkbwkbg#wl#afsob`fg#jmKvmdbqjbmpwbwvp#lepfqufp#bpVmjufqpbof{f`vwjlmbddqfdbwfelq#tkj`kjmef`wjlmbdqffg#wlkltfufq/#slsvobq!=sob`fg#lm`lmpwqv`wfof`wlqbopznalo#lejm`ovgjmdqfwvqm#wlbq`kjwf`w@kqjpwjbmsqfujlvp#ojujmd#jmfbpjfq#wlsqlefpplq %ow8"..#feef`w#lebmbozwj`ptbp#wbhfmtkfqf#wkfwllh#lufqafojfe#jmBeqjhbbmpbp#ebq#bpsqfufmwfgtlqh#tjwkb#psf`jbo?ejfogpfw@kqjpwnbpQfwqjfufg Jm#wkf#ab`h#jmwlmlqwkfbpwnbdbyjmfp=?pwqlmd=`lnnjwwffdlufqmjmddqlvsp#lepwlqfg#jmfpwbaojpkb#dfmfqbojwp#ejqpwwkfjq#ltmslsvobwfgbm#laif`w@bqjaafbmboolt#wkfgjpwqj`wptjp`lmpjmol`bwjlm-8#tjgwk9#jmkbajwfgPl`jbojpwIbmvbqz#2?,ellwfq=pjnjobqoz`klj`f#lewkf#pbnf#psf`jej`#avpjmfpp#Wkf#ejqpw-ofmdwk8#gfpjqf#wlgfbo#tjwkpjm`f#wkfvpfqBdfmw`lm`fjufgjmgf{-sksbp#%rvlw8fmdbdf#jmqf`fmwoz/eft#zfbqptfqf#bopl ?kfbg= ?fgjwfg#azbqf#hmltm`jwjfp#jmb``fpphfz`lmgfnmfgbopl#kbufpfquj`fp/ebnjoz#leP`kllo#le`lmufqwfgmbwvqf#le#obmdvbdfnjmjpwfqp?,laif`w=wkfqf#jp#b#slsvobqpfrvfm`fpbgul`bwfgWkfz#tfqfbmz#lwkfqol`bwjlm>fmwfq#wkfnv`k#nlqfqfeof`wfgtbp#mbnfglqjdjmbo#b#wzsj`botkfm#wkfzfmdjmffqp`lvog#mlwqfpjgfmwptfgmfpgbzwkf#wkjqg#sqlgv`wpIbmvbqz#1tkbw#wkfzb#`fqwbjmqfb`wjlmpsql`fpplqbewfq#kjpwkf#obpw#`lmwbjmfg!=?,gju= ?,b=?,wg=gfsfmg#lmpfbq`k!= sjf`fp#le`lnsfwjmdQfefqfm`fwfmmfppfftkj`k#kbp#ufqpjlm>?,psbm=#??,kfbgfq=djufp#wkfkjpwlqjbmubovf>!!=sbggjmd93ujft#wkbwwldfwkfq/wkf#nlpw#tbp#elvmgpvapfw#lebwwb`h#lm`kjogqfm/sljmwp#lesfqplmbo#slpjwjlm9boofdfgoz@ofufobmgtbp#obwfqbmg#bewfqbqf#djufmtbp#pwjoop`qloojmdgfpjdm#lenbhfp#wkfnv`k#ofppBnfqj`bmp- Bewfq#/#avw#wkfNvpfvn#leolvjpjbmb+eqln#wkfnjmmfplwbsbqwj`ofpb#sql`fppGlnjmj`bmulovnf#leqfwvqmjmdgfefmpjuf33s{\x7Fqjdknbgf#eqlnnlvpflufq!#pwzof>!pwbwfp#le+tkj`k#jp`lmwjmvfpEqbm`jp`lavjogjmd#tjwklvw#btjwk#plnftkl#tlvogb#elqn#leb#sbqw#leafelqf#jwhmltm#bp##Pfquj`fpol`bwjlm#bmg#lewfmnfbpvqjmdbmg#jw#jpsbsfqab`hubovfp#le ?wjwof=>#tjmglt-gfwfqnjmffq%rvlw8#sobzfg#azbmg#fbqoz?,`fmwfq=eqln#wkjpwkf#wkqffsltfq#bmgle#%rvlw8jmmfqKWNO?b#kqfe>!z9jmojmf8@kvq`k#lewkf#fufmwufqz#kjdkleej`jbo#.kfjdkw9#`lmwfmw>!,`dj.ajm,wl#`qfbwfbeqjhbbmpfpsfqbmwleqbm/Kbjpobwujf)Mvojfwvuj)_(`f)Mwjmb(af)Mwjmb\fUh\fT{\fTN\n{I\np@Fr\vBl\bQ\x7F A{\vUmGx A{ypYA\0zX\bTV\bWl\bUdBM\vB{\npV\v@xB\\\np@DbGz al\npa fM uD\bV~mx\vQ}\ndS p\\\bVK\bS]\bU|oD kV\ved\vHR\nb~M`\nJpoD|Q\nLPSw\bTl\nAI\nxC\bWt BqF`Cm\vLm Kx }t\bPv\ny\\\naB V\x7F\nZdXUli fr i@ BHBDBV `V\n[] p_ Tn\n~A\nxR uD `{\bV@ Tn HK AJ\vxsZf\nqIZf\vBM\v|j }t\bSM\nmC\vQ}pfquj`jlpbqw/A`volbqdfmwjmbabq`folmb`vborvjfqsvaoj`bglsqlgv`wlpslo/Awj`bqfpsvfpwbtjhjsfgjbpjdvjfmwfa/Vprvfgb`lnvmjgbgpfdvqjgbgsqjm`jsbosqfdvmwbp`lmwfmjglqfpslmgfqufmfyvfobsqlaofnbpgj`jfnaqfqfob`j/_mmlujfnaqfpjnjobqfpsqlzf`wlpsqldqbnbpjmpwjwvwlb`wjujgbgfm`vfmwqbf`lmln/Abjn/Mdfmfp`lmwb`wbqgfp`bqdbqmf`fpbqjlbwfm`j/_mwfo/Eelml`lnjpj/_m`bm`jlmfp`bsb`jgbgfm`lmwqbqbm/Mojpjpebulqjwlpw/Eqnjmlpsqlujm`jbfwjrvfwbpfofnfmwlpevm`jlmfpqfpvowbgl`bq/M`wfqsqlsjfgbgsqjm`jsjlmf`fpjgbgnvmj`jsbo`qfb`j/_mgfp`bqdbpsqfpfm`jb`lnfq`jbolsjmjlmfpfifq`j`jlfgjwlqjbopbobnbm`bdlmy/Mofygl`vnfmwlsfo/A`vobqf`jfmwfpdfmfqbofpwbqqbdlmbsq/M`wj`bmlufgbgfpsqlsvfpwbsb`jfmwfpw/E`mj`bplaifwjulp`lmwb`wlp\fHB\fIk\fHn\fH^\fHS\fHc\fHU\fId\fHn\fH{\fHC\fHR\fHT\fHR\fHI\fHc\fHY\fHn\fH\\\fHU\fIk\fHy\fIg\fHd\fHy\fIm\fHw\fH\\\fHU\fHR\fH@\fHR\fHJ\fHy\fHU\fHR\fHT\fHA\fIl\fHU\fIm\fHc\fH\\\fHU\fIl\fHB\fId\fHn\fHJ\fHS\fHD\fH@\fHR\fHHgjsolgl`p\fHT\fHB\fHC\fH\\\fIn\fHF\fHD\fHR\fHB\fHF\fHH\fHR\fHG\fHS\fH\\\fHx\fHT\fHH\fHH\fH\\\fHU\fH^\fIg\fH{\fHU\fIm\fHj\fH@\fHR\fH\\\fHJ\fIk\fHZ\fHU\fIm\fHd\fHz\fIk\fH^\fHC\fHJ\fHS\fHy\fHR\fHB\fHY\fIk\fH@\fHH\fIl\fHD\fH@\fIl\fHv\fHB\fI`\fHH\fHT\fHR\fH^\fH^\fIk\fHz\fHp\fIe\fH@\fHB\fHJ\fHJ\fHH\fHI\fHR\fHD\fHU\fIl\fHZ\fHU\fH\\\fHi\fH^\fH{\fHy\fHA\fIl\fHD\fH{\fH\\\fHF\fHR\fHT\fH\\\fHR\fHH\fHy\fHS\fHc\fHe\fHT\fIk\fH{\fHC\fIl\fHU\fIn\fHm\fHj\fH{\fIk\fHs\fIl\fHB\fHz\fIg\fHp\fHy\fHR\fH\\\fHi\fHA\fIl\fH{\fHC\fIk\fHH\fIm\fHB\fHY\fIg\fHs\fHJ\fIk\fHn\fHi\fH{\fH\\\fH|\fHT\fIk\fHB\fIk\fH^\fH^\fH{\fHR\fHU\fHR\fH^\fHf\fHF\fH\\\fHv\fHR\fH\\\fH|\fHT\fHR\fHJ\fIk\fH\\\fHp\fHS\fHT\fHJ\fHS\fH^\fH@\fHn\fHJ\fH@\fHD\fHR\fHU\fIn\fHn\fH^\fHR\fHz\fHp\fIl\fHH\fH@\fHs\fHD\fHB\fHS\fH^\fHk\fHT\fIk\fHj\fHD\fIk\fHD\fHC\fHR\fHy\fIm\fH^\fH^\fIe\fH{\fHA\fHR\fH{\fH\\\fIk\fH^\fHp\fH{\fHU\fH\\\fHR\fHB\fH^\fH{\fIk\fHF\fIk\fHp\fHU\fHR\fHI\fHk\fHT\fIl\fHT\fHU\fIl\fHy\fH^\fHR\fHL\fIl\fHy\fHU\fHR\fHm\fHJ\fIn\fH\\\fHH\fHU\fHH\fHT\fHR\fHH\fHC\fHR\fHJ\fHj\fHC\fHR\fHF\fHR\fHy\fHy\fI`\fHD\fHZ\fHR\fHB\fHJ\fIk\fHz\fHC\fHU\fIl\fH\\\fHR\fHC\fHz\fIm\fHJ\fH^\fH{\fIl`bwfdlqjfpf{sfqjfm`f?,wjwof= @lszqjdkw#ibubp`qjsw`lmgjwjlmpfufqzwkjmd?s#`obpp>!wf`kmloldzab`hdqlvmg?b#`obpp>!nbmbdfnfmw%`lsz8#132ibubP`qjsw`kbqb`wfqpaqfbg`qvnawkfnpfoufpklqjylmwbodlufqmnfmw@bojelqmjbb`wjujwjfpgjp`lufqfgMbujdbwjlmwqbmpjwjlm`lmmf`wjlmmbujdbwjlmbssfbqbm`f?,wjwof=?n`kf`hal{!#wf`kmjrvfpsqlwf`wjlmbssbqfmwozbp#tfoo#bpvmw$/#$VB.qfplovwjlmlsfqbwjlmpwfofujpjlmwqbmpobwfgTbpkjmdwlmmbujdbwlq-#>#tjmglt-jnsqfppjlm%ow8aq%dw8ojwfqbwvqfslsvobwjlmad`lolq>! fpsf`jbooz#`lmwfmw>!sqlgv`wjlmmftpofwwfqsqlsfqwjfpgfejmjwjlmofbgfqpkjsWf`kmloldzSbqojbnfmw`lnsbqjplmvo#`obpp>!-jmgf{Le+!`lm`ovpjlmgjp`vppjlm`lnslmfmwpajloldj`boQfulovwjlm\\`lmwbjmfqvmgfqpwllgmlp`qjsw=?sfqnjppjlmfb`k#lwkfqbwnlpskfqf#lmel`vp>!?elqn#jg>!sql`fppjmdwkjp-ubovfdfmfqbwjlm@lmefqfm`fpvapfrvfmwtfoo.hmltmubqjbwjlmpqfsvwbwjlmskfmlnfmlmgjp`jsojmfoldl-smd!#+gl`vnfmw/alvmgbqjfpf{sqfppjlmpfwwofnfmwAb`hdqlvmglvw#le#wkffmwfqsqjpf+!kwwsp9!#vmfp`bsf+!sbpptlqg!#gfnl`qbwj`?b#kqfe>!,tqbssfq!= nfnafqpkjsojmdvjpwj`s{8sbggjmdskjolplskzbppjpwbm`fvmjufqpjwzeb`jojwjfpqf`ldmjyfgsqfefqfm`fje#+wzsflenbjmwbjmfgul`bavobqzkzslwkfpjp-pvanjw+*8%bns8maps8bmmlwbwjlmafkjmg#wkfElvmgbwjlmsvaojpkfq!bppvnswjlmjmwqlgv`fg`lqqvswjlmp`jfmwjpwpf{soj`jwozjmpwfbg#legjnfmpjlmp#lm@oj`h>!`lmpjgfqfggfsbqwnfmwl``vsbwjlmpllm#bewfqjmufpwnfmwsqlmlvm`fgjgfmwjejfgf{sfqjnfmwNbmbdfnfmwdfldqbskj`!#kfjdkw>!ojmh#qfo>!-qfsob`f+,gfsqfppjlm`lmefqfm`fsvmjpknfmwfojnjmbwfgqfpjpwbm`fbgbswbwjlmlsslpjwjlmtfoo#hmltmpvssofnfmwgfwfqnjmfgk2#`obpp>!3s{8nbqdjmnf`kbmj`bopwbwjpwj`p`fofaqbwfgDlufqmnfmw Gvqjmd#wgfufolsfqpbqwjej`jbofrvjubofmwlqjdjmbwfg@lnnjppjlmbwwb`knfmw?psbm#jg>!wkfqf#tfqfMfgfqobmgpafzlmg#wkfqfdjpwfqfgilvqmbojpweqfrvfmwozboo#le#wkfobmd>!fm!#?,pwzof= baplovwf8#pvsslqwjmdf{wqfnfoz#nbjmpwqfbn?,pwqlmd=#slsvobqjwzfnsolznfmw?,wbaof= #`lopsbm>!?,elqn= ##`lmufqpjlmbalvw#wkf#?,s=?,gju=jmwfdqbwfg!#obmd>!fmSlqwvdvfpfpvapwjwvwfjmgjujgvbojnslppjaofnvowjnfgjbbonlpw#boos{#plojg# bsbqw#eqlnpvaif`w#wljm#Fmdojpk`qjwj`jyfgf{`fsw#elqdvjgfojmfplqjdjmboozqfnbqhbaofwkf#pf`lmgk1#`obpp>!?b#wjwof>!+jm`ovgjmdsbqbnfwfqpsqlkjajwfg>#!kwws9,,gj`wjlmbqzsfq`fswjlmqfulovwjlmelvmgbwjlms{8kfjdkw9pv``fppevopvsslqwfqpnjoofmmjvnkjp#ebwkfqwkf#%rvlw8ml.qfsfbw8`lnnfq`jbojmgvpwqjbofm`lvqbdfgbnlvmw#le#vmleej`jbofeej`jfm`zQfefqfm`fp`llqgjmbwfgjp`objnfqf{sfgjwjlmgfufolsjmd`bo`vobwfgpjnsojejfgofdjwjnbwfpvapwqjmd+3!#`obpp>!`lnsofwfozjoovpwqbwfejuf#zfbqpjmpwqvnfmwSvaojpkjmd2!#`obpp>!spz`kloldz`lmejgfm`fmvnafq#le#bapfm`f#leel`vpfg#lmiljmfg#wkfpwqv`wvqfpsqfujlvpoz=?,jeqbnf=lm`f#bdbjmavw#qbwkfqjnnjdqbmwple#`lvqpf/b#dqlvs#leOjwfqbwvqfVmojhf#wkf?,b=%maps8 evm`wjlm#jw#tbp#wkf@lmufmwjlmbvwlnlajofSqlwfpwbmwbddqfppjufbewfq#wkf#Pjnjobqoz/!#,=?,gju=`loof`wjlm evm`wjlmujpjajojwzwkf#vpf#leulovmwffqpbwwqb`wjlmvmgfq#wkf#wkqfbwfmfg)?"X@GBWBXjnslqwbm`fjm#dfmfqbowkf#obwwfq?,elqn= ?,-jmgf{Le+$j#>#38#j#?gjeefqfm`fgfulwfg#wlwqbgjwjlmppfbq`k#elqvowjnbwfozwlvqmbnfmwbwwqjavwfppl.`boofg#~ ?,pwzof=fubovbwjlmfnskbpjyfgb``fppjaof?,pf`wjlm=pv``fppjlmbolmd#tjwkNfbmtkjof/jmgvpwqjfp?,b=?aq#,=kbp#af`lnfbpsf`wp#leWfofujpjlmpveej`jfmwabphfwabooalwk#pjgfp`lmwjmvjmdbm#bqwj`of?jnd#bow>!bgufmwvqfpkjp#nlwkfqnbm`kfpwfqsqjm`jsofpsbqwj`vobq`lnnfmwbqzfeef`wp#legf`jgfg#wl!=?pwqlmd=svaojpkfqpIlvqmbo#legjeej`vowzeb`jojwbwfb``fswbaofpwzof-`pp!\nevm`wjlm#jmmlubwjlm=@lszqjdkwpjwvbwjlmptlvog#kbufavpjmfppfpGj`wjlmbqzpwbwfnfmwplewfm#vpfgsfqpjpwfmwjm#Ibmvbqz`lnsqjpjmd?,wjwof= \ngjsolnbwj``lmwbjmjmdsfqelqnjmdf{wfmpjlmpnbz#mlw#af`lm`fsw#le#lm`oj`h>!Jw#jp#boplejmbm`jbo#nbhjmd#wkfOv{fnalvqdbggjwjlmbobqf#`boofgfmdbdfg#jm!p`qjsw!*8avw#jw#tbpfof`wqlmj`lmpvanjw>! ?"..#Fmg#fof`wqj`boleej`jboozpvddfpwjlmwls#le#wkfvmojhf#wkfBvpwqbojbmLqjdjmboozqfefqfm`fp ?,kfbg= qf`ldmjpfgjmjwjbojyfojnjwfg#wlBof{bmgqjbqfwjqfnfmwBgufmwvqfpelvq#zfbqp %ow8"..#jm`qfbpjmdgf`lqbwjlmk0#`obpp>!lqjdjmp#lelaojdbwjlmqfdvobwjlm`obppjejfg+evm`wjlm+bgubmwbdfpafjmd#wkf#kjpwlqjbmp?abpf#kqfeqfsfbwfgoztjoojmd#wl`lnsbqbaofgfpjdmbwfgmlnjmbwjlmevm`wjlmbojmpjgf#wkfqfufobwjlmfmg#le#wkfp#elq#wkf#bvwklqjyfgqfevpfg#wlwbhf#sob`fbvwlmlnlvp`lnsqlnjpfslojwj`bo#qfpwbvqbmwwtl#le#wkfEfaqvbqz#1rvbojwz#leptelaif`w-vmgfqpwbmgmfbqoz#bootqjwwfm#azjmwfqujftp!#tjgwk>!2tjwkgqbtboeolbw9ofewjp#vpvbooz`bmgjgbwfpmftpsbsfqpnzpwfqjlvpGfsbqwnfmwafpw#hmltmsbqojbnfmwpvssqfppfg`lmufmjfmwqfnfnafqfggjeefqfmw#pzpwfnbwj`kbp#ofg#wlsqlsbdbmgb`lmwqloofgjmeovfm`fp`fqfnlmjbosql`objnfgSqlwf`wjlmoj#`obpp>!P`jfmwjej``obpp>!ml.wqbgfnbqhpnlqf#wkbm#tjgfpsqfbgOjafqbwjlmwllh#sob`fgbz#le#wkfbp#olmd#bpjnsqjplmfgBggjwjlmbo ?kfbg= ?nObalqbwlqzMlufnafq#1f{`fswjlmpJmgvpwqjboubqjfwz#leeolbw9#ofeGvqjmd#wkfbppfppnfmwkbuf#affm#gfbop#tjwkPwbwjpwj`pl``vqqfm`f,vo=?,gju=`ofbqej{!=wkf#svaoj`nbmz#zfbqptkj`k#tfqflufq#wjnf/pzmlmznlvp`lmwfmw!= sqfpvnbaozkjp#ebnjozvpfqBdfmw-vmf{sf`wfgjm`ovgjmd#`kboofmdfgb#njmlqjwzvmgfejmfg!afolmdp#wlwbhfm#eqlnjm#L`wlafqslpjwjlm9#pbjg#wl#afqfojdjlvp#Efgfqbwjlm#qltpsbm>!lmoz#b#eftnfbmw#wkbwofg#wl#wkf..= ?gju#?ejfogpfw=Bq`kajpkls#`obpp>!mlafjmd#vpfgbssqlb`kfpsqjujofdfpmlp`qjsw= qfpvowp#jmnbz#af#wkfFbpwfq#fddnf`kbmjpnpqfbplmbaofSlsvobwjlm@loof`wjlmpfof`wfg!=mlp`qjsw=,jmgf{-sksbqqjubo#le.ippgh$**8nbmbdfg#wljm`lnsofwf`bpvbowjfp`lnsofwjlm@kqjpwjbmpPfswfnafq#bqjwknfwj`sql`fgvqfpnjdkw#kbufSqlgv`wjlmjw#bssfbqpSkjolplskzeqjfmgpkjsofbgjmd#wldjujmd#wkfwltbqg#wkfdvbqbmwffggl`vnfmwfg`lolq9 333ujgfl#dbnf`lnnjppjlmqfeof`wjmd`kbmdf#wkfbppl`jbwfgpbmp.pfqjelmhfzsqfpp8#sbggjmd9Kf#tbp#wkfvmgfqozjmdwzsj`booz#/#bmg#wkf#pq`Fofnfmwpv``fppjufpjm`f#wkf#pklvog#af#mfwtlqhjmdb``lvmwjmdvpf#le#wkfoltfq#wkbmpkltp#wkbw?,psbm= \n\n`lnsobjmwp`lmwjmvlvprvbmwjwjfpbpwqlmlnfqkf#gjg#mlwgvf#wl#jwpbssojfg#wlbm#bufqbdffeelqwp#wlwkf#evwvqfbwwfnsw#wlWkfqfelqf/`bsbajojwzQfsvaoj`bmtbp#elqnfgFof`wqlmj`hjolnfwfqp`kboofmdfpsvaojpkjmdwkf#elqnfqjmgjdfmlvpgjqf`wjlmppvapjgjbqz`lmpsjqb`zgfwbjop#lebmg#jm#wkfbeelqgbaofpvapwbm`fpqfbplm#elq`lmufmwjlmjwfnwzsf>!baplovwfozpvsslpfgozqfnbjmfg#bbwwqb`wjufwqbufoojmdpfsbqbwfozel`vpfp#lmfofnfmwbqzbssoj`baofelvmg#wkbwpwzofpkffwnbmvp`qjswpwbmgp#elq#ml.qfsfbw+plnfwjnfp@lnnfq`jbojm#Bnfqj`bvmgfqwbhfmrvbqwfq#lebm#f{bnsofsfqplmboozjmgf{-sks<?,avwwlm= sfq`fmwbdfafpw.hmltm`qfbwjmd#b!#gjq>!owqOjfvwfmbmw ?gju#jg>!wkfz#tlvogbajojwz#lenbgf#vs#lemlwfg#wkbw`ofbq#wkbwbqdvf#wkbwwl#bmlwkfq`kjogqfm$psvqslpf#leelqnvobwfgabpfg#vslmwkf#qfdjlmpvaif`w#lesbppfmdfqpslppfppjlm- Jm#wkf#Afelqf#wkfbewfqtbqgp`vqqfmwoz#b`qlpp#wkfp`jfmwjej``lnnvmjwz-`bsjwbojpnjm#Dfqnbmzqjdkw.tjmdwkf#pzpwfnPl`jfwz#leslojwj`jbmgjqf`wjlm9tfmw#lm#wlqfnlubo#le#Mft#Zlqh#bsbqwnfmwpjmgj`bwjlmgvqjmd#wkfvmofpp#wkfkjpwlqj`bokbg#affm#bgfejmjwjufjmdqfgjfmwbwwfmgbm`f@fmwfq#elqsqlnjmfm`fqfbgzPwbwfpwqbwfdjfpavw#jm#wkfbp#sbqw#le`lmpwjwvwf`objn#wkbwobalqbwlqz`lnsbwjaofebjovqf#le/#pv`k#bp#afdbm#tjwkvpjmd#wkf#wl#sqlujgfefbwvqf#leeqln#tkj`k,!#`obpp>!dfloldj`bopfufqbo#legfojafqbwfjnslqwbmw#klogp#wkbwjmd%rvlw8#ubojdm>wlswkf#Dfqnbmlvwpjgf#lemfdlwjbwfgkjp#`bqffqpfsbqbwjlmjg>!pfbq`ktbp#`boofgwkf#elvqwkqf`qfbwjlmlwkfq#wkbmsqfufmwjlmtkjof#wkf#fgv`bwjlm/`lmmf`wjmdb``vqbwfoztfqf#avjowtbp#hjoofgbdqffnfmwpnv`k#nlqf#Gvf#wl#wkftjgwk9#233plnf#lwkfqHjmdgln#lewkf#fmwjqfebnlvp#elqwl#`lmmf`wlaif`wjufpwkf#Eqfm`ksflsof#bmgefbwvqfg!=jp#pbjg#wlpwqv`wvqboqfefqfmgvnnlpw#lewfmb#pfsbqbwf.= ?gju#jg#Leej`jbo#tlqogtjgf-bqjb.obafowkf#sobmfwbmg#jw#tbpg!#ubovf>!ollhjmd#bwafmfej`jbobqf#jm#wkfnlmjwlqjmdqfslqwfgozwkf#nlgfqmtlqhjmd#lmbooltfg#wltkfqf#wkf#jmmlubwjuf?,b=?,gju=plvmgwqb`hpfbq`kElqnwfmg#wl#afjmsvw#jg>!lsfmjmd#leqfpwqj`wfgbglswfg#azbggqfppjmdwkfloldjbmnfwklgp#leubqjbmw#le@kqjpwjbm#ufqz#obqdfbvwlnlwjufaz#ebq#wkfqbmdf#eqlnsvqpvjw#leeloolt#wkfaqlvdkw#wljm#Fmdobmgbdqff#wkbwb``vpfg#le`lnfp#eqlnsqfufmwjmdgju#pwzof>kjp#lq#kfqwqfnfmglvpeqffgln#le`lm`fqmjmd3#2fn#2fn8Abphfwaboo,pwzof-`ppbm#fbqojfqfufm#bewfq,!#wjwof>!-`ln,jmgf{wbhjmd#wkfsjwwpavqdk`lmwfmw!=?p`qjsw=+ewvqmfg#lvwkbujmd#wkf?,psbm= #l``bpjlmboaf`bvpf#jwpwbqwfg#wlskzpj`booz=?,gju= ##`qfbwfg#az@vqqfmwoz/#ad`lolq>!wbajmgf{>!gjpbpwqlvpBmbozwj`p#bopl#kbp#b=?gju#jg>!?,pwzof= ?`boofg#elqpjmdfq#bmg-pq`#>#!,,ujlobwjlmpwkjp#sljmw`lmpwbmwozjp#ol`bwfgqf`lqgjmdpg#eqln#wkfmfgfqobmgpslqwvdv/Fp;N;};D;u;F5m4K4]4_7`gfpbqqlool`lnfmwbqjlfgv`b`j/_mpfswjfnaqfqfdjpwqbglgjqf``j/_mvaj`b`j/_msvaoj`jgbgqfpsvfpwbpqfpvowbglpjnslqwbmwfqfpfqubglpbqw/A`volpgjefqfmwfppjdvjfmwfpqfs/Vaoj`bpjwvb`j/_mnjmjpwfqjlsqjub`jgbggjqf`wlqjlelqnb`j/_mslaob`j/_msqfpjgfmwf`lmw','fmjglpb``fplqjlpwf`kmlqbwjsfqplmbofp`bwfdlq/Abfpsf`jbofpgjpslmjaofb`wvbojgbgqfefqfm`jbuboobglojgajaojlwf`bqfob`jlmfp`bofmgbqjlslo/Awj`bpbmwfqjlqfpgl`vnfmwlpmbwvqbofybnbwfqjbofpgjefqfm`jbf`lm/_nj`bwqbmpslqwfqlgq/Advfysbqwj`jsbqfm`vfmwqbmgjp`vpj/_mfpwqv`wvqbevmgb`j/_meqf`vfmwfpsfqnbmfmwfwlwbonfmwf<P<R<Z<Q<R<]=o<X<Y=n<P<R<Z<Y=n<^=l<Y<P=c=n<\\<V<Z<Y=k=n<R<]=g<]<R<W<Y<Y<R=k<Y<Q=`=a=n<R<_<R<V<R<_<X<\\<S<R=m<W<Y<^=m<Y<_<R=m<\\<U=n<Y=k<Y=l<Y<[<P<R<_=o=n=m<\\<U=n<\\<Z<T<[<Q<T<P<Y<Z<X=o<]=o<X=o=n<s<R<T=m<V<[<X<Y=m=`<^<T<X<Y<R=m<^=c<[<T<Q=o<Z<Q<R=m<^<R<Y<U<W=b<X<Y<U<S<R=l<Q<R<P<Q<R<_<R<X<Y=n<Y<U=m<^<R<T=i<S=l<\\<^<\\=n<\\<V<R<U<P<Y=m=n<R<T<P<Y<Y=n<Z<T<[<Q=`<R<X<Q<R<U<W=o=k=d<Y<S<Y=l<Y<X=k<\\=m=n<T=k<\\=m=n=`=l<\\<]<R=n<Q<R<^=g=i<S=l<\\<^<R=m<R<]<R<U<S<R=n<R<P<P<Y<Q<Y<Y=k<T=m<W<Y<Q<R<^=g<Y=o=m<W=o<_<R<V<R<W<R<Q<\\<[<\\<X=n<\\<V<R<Y=n<R<_<X<\\<S<R=k=n<T<s<R=m<W<Y=n<\\<V<T<Y<Q<R<^=g<U=m=n<R<T=n=n<\\<V<T=i=m=l<\\<[=o<M<\\<Q<V=n=h<R=l=o<P<v<R<_<X<\\<V<Q<T<_<T=m<W<R<^<\\<Q<\\=d<Y<U<Q<\\<U=n<T=m<^<R<T<P=m<^=c<[=`<W=b<]<R<U=k<\\=m=n<R=m=l<Y<X<T<v=l<R<P<Y<H<R=l=o<P=l=g<Q<V<Y=m=n<\\<W<T<S<R<T=m<V=n=g=m=c=k<P<Y=m=c=j=j<Y<Q=n=l=n=l=o<X<\\=m<\\<P=g=i=l=g<Q<V<\\<q<R<^=g<U=k<\\=m<R<^<P<Y=m=n<\\=h<T<W=`<P<P<\\=l=n<\\=m=n=l<\\<Q<P<Y=m=n<Y=n<Y<V=m=n<Q<\\=d<T=i<P<T<Q=o=n<T<P<Y<Q<T<T<P<Y=b=n<Q<R<P<Y=l<_<R=l<R<X=m<\\<P<R<P=a=n<R<P=o<V<R<Q=j<Y=m<^<R<Y<P<V<\\<V<R<U<|=l=i<T<^5i5j4F4C5e4I4]4_4K5h4]4_4K5h4E4K5h4U4K5i5o4F4D5k4K4D4]4K5i4@4K5h5f5d5i4K5h4Y5d4]4@4C5f4C4E4K5h4U4Z5d4I4Z4K5m4E4K5h5n4_5i4K5h4U4K4D4F4A5i5f5h5i5h5m4K4F5i5h4F5n5e4F4U4C5f5h4K5h4X4U4]4O4B4D4K4]4F4[5d5f4]4U5h5f5o5i4I4]5m4K5n4[5h4D4K4F4K5h5h4V4E4F4]4F5f4D4K5h5j4K4_4K5h4X5f4B5i5j4F4C5f4K5h4U4]4D4K5h5n4Y4Y4K5m5h4K5i4U5h5f5k4K4F4A4C5f4G4K5h5h5k5i4K5h4U5i5h5i5o4F4D4E5f5i5o5j5o4K5h4[5m5h5m5f4C5f5d4I4C4K4]4E4F4K4]5f4B4K5h4Y4A4E4F4_4@5f5h4K5h5d5n4F4U5j4C5i4K5i4C5f5j4E4F4Y5i5f5i4O4]4X5f5m4K5h4\\5f5j4U4]4D5f4E4D5d4K4D4E4O5h4U4K4D4K5h4_5m4]5i4X4K5o5h4F4U4K5h5e4K5h4O5d5h4K5h4_5j4E4@4K5i4U4E4K5h4Y4A5m4K5h4C5f5j5o5h5i4K4F4K5h4B4K4Y4K5h5i5h5m4O4U4Z4K4M5o4F4K4D4E4K5h4B5f4]4]4_4K4J5h4K5h5n5h4D4K5h4O4C4D5i5n4K4[4U5i4]4K4_5h5i5j4[5n4E4K5h5o4F4D4K5h4]4@5h4K4X4F4]5o4K5h5n4C5i5f4U4[5f5opAzWbdMbnf+-isd!#bow>!2s{#plojg# -dje!#bow>!wqbmpsbqfmwjmelqnbwjlmbssoj`bwjlm!#lm`oj`h>!fpwbaojpkfgbgufqwjpjmd-smd!#bow>!fmujqlmnfmwsfqelqnbm`fbssqlsqjbwf%bns8ngbpk8jnnfgjbwfoz?,pwqlmd=?,qbwkfq#wkbmwfnsfqbwvqfgfufolsnfmw`lnsfwjwjlmsob`fklogfqujpjajojwz9`lszqjdkw!=3!#kfjdkw>!fufm#wklvdkqfsob`fnfmwgfpwjmbwjlm@lqslqbwjlm?vo#`obpp>!Bppl`jbwjlmjmgjujgvbopsfqpsf`wjufpfwWjnflvw+vqo+kwws9,,nbwkfnbwj`pnbqdjm.wls9fufmwvbooz#gfp`qjswjlm*#ml.qfsfbw`loof`wjlmp-ISD\x7Fwkvna\x7Fsbqwj`jsbwf,kfbg=?algzeolbw9ofew8?oj#`obpp>!kvmgqfgp#le Kltfufq/#`lnslpjwjlm`ofbq9alwk8`llsfqbwjlmtjwkjm#wkf#obafo#elq>!alqgfq.wls9Mft#Yfbobmgqf`lnnfmgfgsklwldqbskzjmwfqfpwjmd%ow8pvs%dw8`lmwqlufqpzMfwkfqobmgpbowfqmbwjufnb{ofmdwk>!ptjwyfqobmgGfufolsnfmwfppfmwjbooz Bowklvdk#?,wf{wbqfb=wkvmgfqajqgqfsqfpfmwfg%bns8mgbpk8psf`vobwjlm`lnnvmjwjfpofdjpobwjlmfof`wqlmj`p \n?gju#jg>!joovpwqbwfgfmdjmffqjmdwfqqjwlqjfpbvwklqjwjfpgjpwqjavwfg5!#kfjdkw>!pbmp.pfqje8`bsbaof#le#gjpbssfbqfgjmwfqb`wjufollhjmd#elqjw#tlvog#afBedkbmjpwbmtbp#`qfbwfgNbwk-eollq+pvqqlvmgjmd`bm#bopl#aflapfqubwjlmnbjmwfmbm`ffm`lvmwfqfg?k1#`obpp>!nlqf#qf`fmwjw#kbp#affmjmubpjlm#le*-dfwWjnf+*evmgbnfmwboGfpsjwf#wkf!=?gju#jg>!jmpsjqbwjlmf{bnjmbwjlmsqfsbqbwjlmf{sobmbwjlm?jmsvw#jg>!?,b=?,psbm=ufqpjlmp#lejmpwqvnfmwpafelqf#wkf##>#$kwws9,,Gfp`qjswjlmqfobwjufoz#-pvapwqjmd+fb`k#le#wkff{sfqjnfmwpjmeovfmwjbojmwfdqbwjlmnbmz#sflsofgvf#wl#wkf#`lnajmbwjlmgl#mlw#kbufNjggof#Fbpw?mlp`qjsw=?`lszqjdkw!#sfqkbsp#wkfjmpwjwvwjlmjm#Gf`fnafqbqqbmdfnfmwnlpw#ebnlvpsfqplmbojwz`qfbwjlm#leojnjwbwjlmpf{`ovpjufozplufqfjdmwz.`lmwfmw!= ?wg#`obpp>!vmgfqdqlvmgsbqboofo#wlgl`wqjmf#lel``vsjfg#azwfqnjmloldzQfmbjppbm`fb#mvnafq#lepvsslqw#elqf{solqbwjlmqf`ldmjwjlmsqfgf`fpplq?jnd#pq`>!,?k2#`obpp>!svaoj`bwjlmnbz#bopl#afpsf`jbojyfg?,ejfogpfw=sqldqfppjufnjoojlmp#lepwbwfp#wkbwfmelq`fnfmwbqlvmg#wkf#lmf#bmlwkfq-sbqfmwMlgfbdqj`vowvqfBowfqmbwjufqfpfbq`kfqpwltbqgp#wkfNlpw#le#wkfnbmz#lwkfq#+fpsf`jbooz?wg#tjgwk>!8tjgwk9233&jmgfsfmgfmw?k0#`obpp>!#lm`kbmdf>!*-bgg@obpp+jmwfqb`wjlmLmf#le#wkf#gbvdkwfq#leb``fpplqjfpaqbm`kfp#le ?gju#jg>!wkf#obqdfpwgf`obqbwjlmqfdvobwjlmpJmelqnbwjlmwqbmpobwjlmgl`vnfmwbqzjm#lqgfq#wl!= ?kfbg= ?!#kfjdkw>!2b`qlpp#wkf#lqjfmwbwjlm*8?,p`qjsw=jnsofnfmwfg`bm#af#pffmwkfqf#tbp#bgfnlmpwqbwf`lmwbjmfq!=`lmmf`wjlmpwkf#Aqjwjpktbp#tqjwwfm"jnslqwbmw8s{8#nbqdjm.elooltfg#azbajojwz#wl#`lnsoj`bwfggvqjmd#wkf#jnnjdqbwjlmbopl#`boofg?k7#`obpp>!gjpwjm`wjlmqfsob`fg#azdlufqmnfmwpol`bwjlm#lejm#Mlufnafqtkfwkfq#wkf?,s= ?,gju=b`rvjpjwjlm`boofg#wkf#sfqpf`vwjlmgfpjdmbwjlmxelmw.pjyf9bssfbqfg#jmjmufpwjdbwff{sfqjfm`fgnlpw#ojhfoztjgfoz#vpfggjp`vppjlmpsqfpfm`f#le#+gl`vnfmw-f{wfmpjufozJw#kbp#affmjw#glfp#mlw`lmwqbqz#wljmkbajwbmwpjnsqlufnfmwp`klobqpkjs`lmpvnswjlmjmpwqv`wjlmelq#f{bnsoflmf#lq#nlqfs{8#sbggjmdwkf#`vqqfmwb#pfqjfp#lebqf#vpvboozqlof#jm#wkfsqfujlvpoz#gfqjubwjufpfujgfm`f#lef{sfqjfm`fp`lolqp`kfnfpwbwfg#wkbw`fqwjej`bwf?,b=?,gju= #pfof`wfg>!kjdk#p`klloqfpslmpf#wl`lnelqwbaofbglswjlm#lewkqff#zfbqpwkf#`lvmwqzjm#Efaqvbqzpl#wkbw#wkfsflsof#tkl#sqlujgfg#az?sbqbn#mbnfbeef`wfg#azjm#wfqnp#lebssljmwnfmwJPL.;;6:.2!tbp#alqm#jmkjpwlqj`bo#qfdbqgfg#bpnfbpvqfnfmwjp#abpfg#lm#bmg#lwkfq#9#evm`wjlm+pjdmjej`bmw`fofaqbwjlmwqbmpnjwwfg,ip,irvfqz-jp#hmltm#bpwkflqfwj`bo#wbajmgf{>!jw#`lvog#af?mlp`qjsw= kbujmd#affm ?kfbg= ?#%rvlw8Wkf#`lnsjobwjlmkf#kbg#affmsqlgv`fg#azskjolplskfq`lmpwqv`wfgjmwfmgfg#wlbnlmd#lwkfq`lnsbqfg#wlwl#pbz#wkbwFmdjmffqjmdb#gjeefqfmwqfefqqfg#wlgjeefqfm`fpafojfe#wkbwsklwldqbskpjgfmwjezjmdKjpwlqz#le#Qfsvaoj`#lemf`fppbqjozsqlabajojwzwf`kmj`boozofbujmd#wkfpsf`wb`vobqeqb`wjlm#lefof`wqj`jwzkfbg#le#wkfqfpwbvqbmwpsbqwmfqpkjsfnskbpjp#lmnlpw#qf`fmwpkbqf#tjwk#pbzjmd#wkbwejoofg#tjwkgfpjdmfg#wljw#jp#lewfm!=?,jeqbnf=bp#elooltp9nfqdfg#tjwkwkqlvdk#wkf`lnnfq`jbo#sljmwfg#lvwlsslqwvmjwzujft#le#wkfqfrvjqfnfmwgjujpjlm#lesqldqbnnjmdkf#qf`fjufgpfwJmwfqubo!=?,psbm=?,jm#Mft#Zlqhbggjwjlmbo#`lnsqfppjlm ?gju#jg>!jm`lqslqbwf8?,p`qjsw=?bwwb`kFufmwaf`bnf#wkf#!#wbqdfw>!\\`bqqjfg#lvwPlnf#le#wkfp`jfm`f#bmgwkf#wjnf#le@lmwbjmfq!=nbjmwbjmjmd@kqjpwlskfqNv`k#le#wkftqjwjmdp#le!#kfjdkw>!1pjyf#le#wkfufqpjlm#le#nj{wvqf#le#afwtffm#wkfF{bnsofp#lefgv`bwjlmbo`lnsfwjwjuf#lmpvanjw>!gjqf`wlq#legjpwjm`wjuf,GWG#[KWNO#qfobwjmd#wlwfmgfm`z#wlsqlujm`f#letkj`k#tlvoggfpsjwf#wkfp`jfmwjej`#ofdjpobwvqf-jmmfqKWNO#boofdbwjlmpBdqj`vowvqftbp#vpfg#jmbssqlb`k#wljmwfoojdfmwzfbqp#obwfq/pbmp.pfqjegfwfqnjmjmdSfqelqnbm`fbssfbqbm`fp/#tkj`k#jp#elvmgbwjlmpbaaqfujbwfgkjdkfq#wkbmp#eqln#wkf#jmgjujgvbo#`lnslpfg#lepvsslpfg#wl`objnp#wkbwbwwqjavwjlmelmw.pjyf92fofnfmwp#leKjpwlqj`bo#kjp#aqlwkfqbw#wkf#wjnfbmmjufqpbqzdlufqmfg#azqfobwfg#wl#vowjnbwfoz#jmmlubwjlmpjw#jp#pwjoo`bm#lmoz#afgfejmjwjlmpwlDNWPwqjmdB#mvnafq#lejnd#`obpp>!Fufmwvbooz/tbp#`kbmdfgl``vqqfg#jmmfjdkalqjmdgjpwjmdvjpktkfm#kf#tbpjmwqlgv`jmdwfqqfpwqjboNbmz#le#wkfbqdvfp#wkbwbm#Bnfqj`bm`lmrvfpw#letjgfpsqfbg#tfqf#hjoofgp`qffm#bmg#Jm#lqgfq#wlf{sf`wfg#wlgfp`fmgbmwpbqf#ol`bwfgofdjpobwjufdfmfqbwjlmp#ab`hdqlvmgnlpw#sflsofzfbqp#bewfqwkfqf#jp#mlwkf#kjdkfpweqfrvfmwoz#wkfz#gl#mlwbqdvfg#wkbwpkltfg#wkbwsqfglnjmbmwwkfloldj`boaz#wkf#wjnf`lmpjgfqjmdpklqw.ojufg?,psbm=?,b=`bm#af#vpfgufqz#ojwwoflmf#le#wkf#kbg#boqfbgzjmwfqsqfwfg`lnnvmj`bwfefbwvqfp#ledlufqmnfmw/?,mlp`qjsw=fmwfqfg#wkf!#kfjdkw>!0Jmgfsfmgfmwslsvobwjlmpobqdf.p`bof-#Bowklvdk#vpfg#jm#wkfgfpwqv`wjlmslppjajojwzpwbqwjmd#jmwtl#lq#nlqff{sqfppjlmppvalqgjmbwfobqdfq#wkbmkjpwlqz#bmg?,lswjlm= @lmwjmfmwbofojnjmbwjmdtjoo#mlw#afsqb`wj`f#lejm#eqlmw#lepjwf#le#wkffmpvqf#wkbwwl#`qfbwf#bnjppjppjssjslwfmwjboozlvwpwbmgjmdafwwfq#wkbmtkbw#jp#mltpjwvbwfg#jmnfwb#mbnf>!WqbgjwjlmbopvddfpwjlmpWqbmpobwjlmwkf#elqn#lebwnlpskfqj`jgfloldj`bofmwfqsqjpfp`bo`vobwjmdfbpw#le#wkfqfnmbmwp#lesovdjmpsbdf,jmgf{-sks<qfnbjmfg#jmwqbmpelqnfgKf#tbp#bopltbp#boqfbgzpwbwjpwj`bojm#ebulq#leNjmjpwqz#lenlufnfmw#leelqnvobwjlmjp#qfrvjqfg?ojmh#qfo>!Wkjp#jp#wkf#?b#kqfe>!,slsvobqjyfgjmuloufg#jmbqf#vpfg#wlbmg#pfufqbonbgf#az#wkfpffnp#wl#afojhfoz#wkbwSbofpwjmjbmmbnfg#bewfqjw#kbg#affmnlpw#`lnnlmwl#qfefq#wlavw#wkjp#jp`lmpf`vwjufwfnslqbqjozJm#dfmfqbo/`lmufmwjlmpwbhfp#sob`fpvagjujpjlmwfqqjwlqjbolsfqbwjlmbosfqnbmfmwoztbp#obqdfozlvwaqfbh#lejm#wkf#sbpwelooltjmd#b#{nomp9ld>!=?b#`obpp>!`obpp>!wf{w@lmufqpjlm#nbz#af#vpfgnbmveb`wvqfbewfq#afjmd`ofbqej{!= rvfpwjlm#letbp#fof`wfgwl#af`lnf#baf`bvpf#le#plnf#sflsofjmpsjqfg#azpv``fppevo#b#wjnf#tkfmnlqf#`lnnlmbnlmdpw#wkfbm#leej`jbotjgwk9233&8wf`kmloldz/tbp#bglswfgwl#hffs#wkfpfwwofnfmwpojuf#ajqwkpjmgf{-kwno!@lmmf`wj`vwbppjdmfg#wl%bns8wjnfp8b``lvmw#elqbojdm>qjdkwwkf#`lnsbmzbotbzp#affmqfwvqmfg#wljmuloufnfmwAf`bvpf#wkfwkjp#sfqjlg!#mbnf>!r!#`lmejmfg#wlb#qfpvow#leubovf>!!#,=jp#b`wvboozFmujqlmnfmw ?,kfbg= @lmufqpfoz/= ?gju#jg>!3!#tjgwk>!2jp#sqlabaozkbuf#af`lnf`lmwqloojmdwkf#sqlaofn`jwjyfmp#leslojwj`jbmpqfb`kfg#wkfbp#fbqoz#bp9mlmf8#lufq?wbaof#`fooubojgjwz#legjqf`woz#wllmnlvpfgltmtkfqf#jw#jptkfm#jw#tbpnfnafqp#le#qfobwjlm#wlb``lnnlgbwfbolmd#tjwk#Jm#wkf#obwfwkf#Fmdojpkgfoj`jlvp!=wkjp#jp#mlwwkf#sqfpfmwje#wkfz#bqfbmg#ejmboozb#nbwwfq#le \n?,gju= ?,p`qjsw=ebpwfq#wkbmnbilqjwz#lebewfq#tkj`k`lnsbqbwjufwl#nbjmwbjmjnsqluf#wkfbtbqgfg#wkffq!#`obpp>!eqbnfalqgfqqfpwlqbwjlmjm#wkf#pbnfbmbozpjp#lewkfjq#ejqpwGvqjmd#wkf#`lmwjmfmwbopfrvfm`f#leevm`wjlm+*xelmw.pjyf9#tlqh#lm#wkf?,p`qjsw= ?afdjmp#tjwkibubp`qjsw9`lmpwjwvfmwtbp#elvmgfgfrvjojaqjvnbppvnf#wkbwjp#djufm#azmffgp#wl#af`llqgjmbwfpwkf#ubqjlvpbqf#sbqw#lelmoz#jm#wkfpf`wjlmp#lejp#b#`lnnlmwkflqjfp#legjp`lufqjfpbppl`jbwjlmfgdf#le#wkfpwqfmdwk#leslpjwjlm#jmsqfpfmw.gbzvmjufqpboozwl#elqn#wkfavw#jmpwfbg`lqslqbwjlmbwwb`kfg#wljp#`lnnlmozqfbplmp#elq#%rvlw8wkf#`bm#af#nbgftbp#baof#wltkj`k#nfbmpavw#gjg#mlwlmNlvpfLufqbp#slppjaoflsfqbwfg#az`lnjmd#eqlnwkf#sqjnbqzbggjwjlm#leelq#pfufqbowqbmpefqqfgb#sfqjlg#lebqf#baof#wlkltfufq/#jwpklvog#kbufnv`k#obqdfq \n?,p`qjsw=bglswfg#wkfsqlsfqwz#legjqf`wfg#azfeef`wjufoztbp#aqlvdkw`kjogqfm#leSqldqbnnjmdolmdfq#wkbmnbmvp`qjswptbq#bdbjmpwaz#nfbmp#lebmg#nlpw#lepjnjobq#wl#sqlsqjfwbqzlqjdjmbwjmdsqfpwjdjlvpdqbnnbwj`bof{sfqjfm`f-wl#nbhf#wkfJw#tbp#bopljp#elvmg#jm`lnsfwjwlqpjm#wkf#V-P-qfsob`f#wkfaqlvdkw#wkf`bo`vobwjlmeboo#le#wkfwkf#dfmfqbosqb`wj`boozjm#klmlq#leqfofbpfg#jmqfpjgfmwjbobmg#plnf#lehjmd#le#wkfqfb`wjlm#wl2pw#Fbqo#le`vowvqf#bmgsqjm`jsbooz?,wjwof= ##wkfz#`bm#afab`h#wl#wkfplnf#le#kjpf{slpvqf#wlbqf#pjnjobqelqn#le#wkfbggEbulqjwf`jwjyfmpkjssbqw#jm#wkfsflsof#tjwkjm#sqb`wj`fwl#`lmwjmvf%bns8njmvp8bssqlufg#az#wkf#ejqpw#booltfg#wkfbmg#elq#wkfevm`wjlmjmdsobzjmd#wkfplovwjlm#wlkfjdkw>!3!#jm#kjp#allhnlqf#wkbm#belooltp#wkf`qfbwfg#wkfsqfpfm`f#jm%maps8?,wg=mbwjlmbojpwwkf#jgfb#leb#`kbqb`wfqtfqf#elq`fg#`obpp>!awmgbzp#le#wkfefbwvqfg#jmpkltjmd#wkfjmwfqfpw#jmjm#sob`f#lewvqm#le#wkfwkf#kfbg#leOlqg#le#wkfslojwj`boozkbp#jwp#ltmFgv`bwjlmbobssqlubo#leplnf#le#wkffb`k#lwkfq/afkbujlq#lebmg#af`bvpfbmg#bmlwkfqbssfbqfg#lmqf`lqgfg#jmaob`h%rvlw8nbz#jm`ovgfwkf#tlqog$p`bm#ofbg#wlqfefqp#wl#balqgfq>!3!#dlufqmnfmw#tjmmjmd#wkfqfpvowfg#jm#tkjof#wkf#Tbpkjmdwlm/wkf#pvaif`w`jwz#jm#wkf=?,gju= \n\nqfeof`w#wkfwl#`lnsofwfaf`bnf#nlqfqbgjlb`wjufqfif`wfg#aztjwklvw#bmzkjp#ebwkfq/tkj`k#`lvog`lsz#le#wkfwl#jmgj`bwfb#slojwj`bob``lvmwp#le`lmpwjwvwfptlqhfg#tjwkfq?,b=?,oj=le#kjp#ojefb``lnsbmjfg`ojfmwTjgwksqfufmw#wkfOfdjpobwjufgjeefqfmwozwldfwkfq#jmkbp#pfufqboelq#bmlwkfqwf{w#le#wkfelvmgfg#wkff#tjwk#wkf#jp#vpfg#elq`kbmdfg#wkfvpvbooz#wkfsob`f#tkfqftkfqfbp#wkf=#?b#kqfe>!!=?b#kqfe>!wkfnpfoufp/bowklvdk#kfwkbw#`bm#afwqbgjwjlmboqlof#le#wkfbp#b#qfpvowqfnluf@kjoggfpjdmfg#aztfpw#le#wkfPlnf#sflsofsqlgv`wjlm/pjgf#le#wkfmftpofwwfqpvpfg#az#wkfgltm#wl#wkfb``fswfg#azojuf#jm#wkfbwwfnswp#wllvwpjgf#wkfeqfrvfm`jfpKltfufq/#jmsqldqbnnfqpbw#ofbpw#jmbssql{jnbwfbowklvdk#jwtbp#sbqw#lebmg#ubqjlvpDlufqmlq#lewkf#bqwj`ofwvqmfg#jmwl=?b#kqfe>!,wkf#f`lmlnzjp#wkf#nlpwnlpw#tjgfoztlvog#obwfqbmg#sfqkbspqjpf#wl#wkfl``vqp#tkfmvmgfq#tkj`k`lmgjwjlmp-wkf#tfpwfqmwkflqz#wkbwjp#sqlgv`fgwkf#`jwz#lejm#tkj`k#kfpffm#jm#wkfwkf#`fmwqboavjogjmd#lenbmz#le#kjpbqfb#le#wkfjp#wkf#lmoznlpw#le#wkfnbmz#le#wkfwkf#TfpwfqmWkfqf#jp#mlf{wfmgfg#wlPwbwjpwj`bo`lopsbm>1#\x7Fpklqw#pwlqzslppjaof#wlwlsloldj`bo`qjwj`bo#leqfslqwfg#wlb#@kqjpwjbmgf`jpjlm#wljp#frvbo#wlsqlaofnp#leWkjp#`bm#afnfq`kbmgjpfelq#nlpw#leml#fujgfm`ffgjwjlmp#lefofnfmwp#jm%rvlw8-#Wkf`ln,jnbdfp,tkj`k#nbhfpwkf#sql`fppqfnbjmp#wkfojwfqbwvqf/jp#b#nfnafqwkf#slsvobqwkf#bm`jfmwsqlaofnp#jmwjnf#le#wkfgfefbwfg#azalgz#le#wkfb#eft#zfbqpnv`k#le#wkfwkf#tlqh#le@bojelqmjb/pfqufg#bp#bdlufqmnfmw-`lm`fswp#lenlufnfmw#jm\n\n?gju#jg>!jw!#ubovf>!obmdvbdf#lebp#wkfz#bqfsqlgv`fg#jmjp#wkbw#wkff{sobjm#wkfgju=?,gju= Kltfufq#wkfofbg#wl#wkf\n?b#kqfe>!,tbp#dqbmwfgsflsof#kbuf`lmwjmvbooztbp#pffm#bpbmg#qfobwfgwkf#qlof#lesqlslpfg#azle#wkf#afpwfb`k#lwkfq-@lmpwbmwjmfsflsof#eqlngjbof`wp#lewl#qfujpjlmtbp#qfmbnfgb#plvq`f#lewkf#jmjwjboobvm`kfg#jmsqlujgf#wkfwl#wkf#tfpwtkfqf#wkfqfbmg#pjnjobqafwtffm#wtljp#bopl#wkfFmdojpk#bmg`lmgjwjlmp/wkbw#jw#tbpfmwjwofg#wlwkfnpfoufp-rvbmwjwz#leqbmpsbqfm`zwkf#pbnf#bpwl#iljm#wkf`lvmwqz#bmgwkjp#jp#wkfWkjp#ofg#wlb#pwbwfnfmw`lmwqbpw#wlobpwJmgf{Lewkqlvdk#kjpjp#gfpjdmfgwkf#wfqn#jpjp#sqlujgfgsqlwf`w#wkfmd?,b=?,oj=Wkf#`vqqfmwwkf#pjwf#lepvapwbmwjbof{sfqjfm`f/jm#wkf#Tfpwwkfz#pklvogpolufm(ajmb`lnfmwbqjlpvmjufqpjgbg`lmgj`jlmfpb`wjujgbgfpf{sfqjfm`jbwf`mlold/Absqlgv``j/_msvmwvb`j/_mbsoj`b`j/_m`lmwqbpf/]b`bwfdlq/Abpqfdjpwqbqpfsqlefpjlmbowqbwbnjfmwlqfd/Apwqbwfpf`qfwbq/Absqjm`jsbofpsqlwf``j/_mjnslqwbmwfpjnslqwbm`jbslpjajojgbgjmwfqfpbmwf`qf`jnjfmwlmf`fpjgbgfppvp`qjajqpfbpl`jb`j/_mgjpslmjaofpfubovb`j/_mfpwvgjbmwfpqfpslmpbaofqfplov`j/_mdvbgbobibqbqfdjpwqbglplslqwvmjgbg`lnfq`jbofpelwldqbe/Abbvwlqjgbgfpjmdfmjfq/Abwfofujpj/_m`lnsfwfm`jblsfqb`jlmfpfpwbaof`jglpjnsofnfmwfb`wvbonfmwfmbufdb`j/_m`lmelqnjgbgojmf.kfjdkw9elmw.ebnjoz9!#9#!kwws9,,bssoj`bwjlmpojmh!#kqfe>!psf`jej`booz,,?"X@GBWBX Lqdbmjybwjlmgjpwqjavwjlm3s{8#kfjdkw9qfobwjlmpkjsgfuj`f.tjgwk?gju#`obpp>!?obafo#elq>!qfdjpwqbwjlm?,mlp`qjsw= ,jmgf{-kwno!tjmglt-lsfm+#"jnslqwbmw8bssoj`bwjlm,jmgfsfmgfm`f,,ttt-dlldoflqdbmjybwjlmbvwl`lnsofwfqfrvjqfnfmwp`lmpfqubwjuf?elqn#mbnf>!jmwfoof`wvbonbqdjm.ofew92;wk#`fmwvqzbm#jnslqwbmwjmpwjwvwjlmpbaaqfujbwjlm?jnd#`obpp>!lqdbmjpbwjlm`jujojybwjlm2:wk#`fmwvqzbq`kjwf`wvqfjm`lqslqbwfg13wk#`fmwvqz.`lmwbjmfq!=nlpw#mlwbaoz,=?,b=?,gju=mlwjej`bwjlm$vmgfejmfg$*Evqwkfqnlqf/afojfuf#wkbwjmmfqKWNO#>#sqjlq#wl#wkfgqbnbwj`boozqfefqqjmd#wlmfdlwjbwjlmpkfbgrvbqwfqpPlvwk#Beqj`bvmpv``fppevoSfmmpzoubmjbBp#b#qfpvow/?kwno#obmd>!%ow8,pvs%dw8gfbojmd#tjwkskjobgfoskjbkjpwlqj`booz*8?,p`qjsw= sbggjmd.wls9f{sfqjnfmwbodfwBwwqjavwfjmpwqv`wjlmpwf`kmloldjfpsbqw#le#wkf#>evm`wjlm+*xpvap`qjswjlmo-gwg!= ?kwdfldqbskj`bo@lmpwjwvwjlm$/#evm`wjlm+pvsslqwfg#azbdqj`vowvqbo`lmpwqv`wjlmsvaoj`bwjlmpelmw.pjyf9#2b#ubqjfwz#le?gju#pwzof>!Fm`z`olsfgjbjeqbnf#pq`>!gfnlmpwqbwfgb``lnsojpkfgvmjufqpjwjfpGfnldqbskj`p*8?,p`qjsw=?gfgj`bwfg#wlhmltofgdf#lepbwjpeb`wjlmsbqwj`vobqoz?,gju=?,gju=Fmdojpk#+VP*bssfmg@kjog+wqbmpnjppjlmp-#Kltfufq/#jmwfoojdfm`f!#wbajmgf{>!eolbw9qjdkw8@lnnlmtfbowkqbmdjmd#eqlnjm#tkj`k#wkfbw#ofbpw#lmfqfsqlgv`wjlmfm`z`olsfgjb8elmw.pjyf92ivqjpgj`wjlmbw#wkbw#wjnf!=?b#`obpp>!Jm#bggjwjlm/gfp`qjswjlm(`lmufqpbwjlm`lmwb`w#tjwkjp#dfmfqboozq!#`lmwfmw>!qfsqfpfmwjmd%ow8nbwk%dw8sqfpfmwbwjlml``bpjlmbooz?jnd#tjgwk>!mbujdbwjlm!=`lnsfmpbwjlm`kbnsjlmpkjsnfgjb>!boo!#ujlobwjlm#leqfefqfm`f#wlqfwvqm#wqvf8Pwqj`w,,FM!#wqbmpb`wjlmpjmwfqufmwjlmufqjej`bwjlmJmelqnbwjlm#gjeej`vowjfp@kbnsjlmpkjs`bsbajojwjfp?"Xfmgje^..=~ ?,p`qjsw= @kqjpwjbmjwzelq#f{bnsof/Sqlefppjlmboqfpwqj`wjlmppvddfpw#wkbwtbp#qfofbpfg+pv`k#bp#wkfqfnluf@obpp+vmfnsolznfmwwkf#Bnfqj`bmpwqv`wvqf#le,jmgf{-kwno#svaojpkfg#jmpsbm#`obpp>!!=?b#kqfe>!,jmwqlgv`wjlmafolmdjmd#wl`objnfg#wkbw`lmpfrvfm`fp?nfwb#mbnf>!Dvjgf#wl#wkflufqtkfonjmdbdbjmpw#wkf#`lm`fmwqbwfg/ -mlmwlv`k#lapfqubwjlmp?,b= ?,gju= e#+gl`vnfmw-alqgfq9#2s{#xelmw.pjyf92wqfbwnfmw#le3!#kfjdkw>!2nlgjej`bwjlmJmgfsfmgfm`fgjujgfg#jmwldqfbwfq#wkbmb`kjfufnfmwpfpwbaojpkjmdIbubP`qjsw!#mfufqwkfofpppjdmjej`bm`fAqlbg`bpwjmd=%maps8?,wg=`lmwbjmfq!= pv`k#bp#wkf#jmeovfm`f#leb#sbqwj`vobqpq`>$kwws9,,mbujdbwjlm!#kboe#le#wkf#pvapwbmwjbo#%maps8?,gju=bgubmwbdf#legjp`lufqz#leevmgbnfmwbo#nfwqlslojwbmwkf#lsslpjwf!#{no9obmd>!gfojafqbwfozbojdm>`fmwfqfulovwjlm#lesqfpfqubwjlmjnsqlufnfmwpafdjmmjmd#jmIfpvp#@kqjpwSvaoj`bwjlmpgjpbdqffnfmwwf{w.bojdm9q/#evm`wjlm+*pjnjobqjwjfpalgz=?,kwno=jp#`vqqfmwozboskbafwj`bojp#plnfwjnfpwzsf>!jnbdf,nbmz#le#wkf#eolt9kjggfm8bubjobaof#jmgfp`qjaf#wkff{jpwfm`f#leboo#lufq#wkfwkf#Jmwfqmfw\n?vo#`obpp>!jmpwboobwjlmmfjdkalqkllgbqnfg#elq`fpqfgv`jmd#wkf`lmwjmvfp#wlMlmfwkfofpp/wfnsfqbwvqfp \n\n?b#kqfe>!`olpf#wl#wkff{bnsofp#le#jp#balvw#wkf+pff#afolt*-!#jg>!pfbq`ksqlefppjlmbojp#bubjobaofwkf#leej`jbo\n\n?,p`qjsw= \n\n?gju#jg>!b``fofqbwjlmwkqlvdk#wkf#Kboo#le#Ebnfgfp`qjswjlmpwqbmpobwjlmpjmwfqefqfm`f#wzsf>$wf{w,qf`fmw#zfbqpjm#wkf#tlqogufqz#slsvobqxab`hdqlvmg9wqbgjwjlmbo#plnf#le#wkf#`lmmf`wfg#wlf{soljwbwjlmfnfqdfm`f#le`lmpwjwvwjlmB#Kjpwlqz#lepjdmjej`bmw#nbmveb`wvqfgf{sf`wbwjlmp=?mlp`qjsw=?`bm#af#elvmgaf`bvpf#wkf#kbp#mlw#affmmfjdkalvqjmdtjwklvw#wkf#bggfg#wl#wkf\n?oj#`obpp>!jmpwqvnfmwboPlujfw#Vmjlmb`hmltofgdfgtkj`k#`bm#afmbnf#elq#wkfbwwfmwjlm#wlbwwfnswp#wl#gfufolsnfmwpJm#eb`w/#wkf?oj#`obpp>!bjnsoj`bwjlmppvjwbaof#elqnv`k#le#wkf#`lolmjybwjlmsqfpjgfmwjbo`bm`foAvaaof#Jmelqnbwjlmnlpw#le#wkf#jp#gfp`qjafgqfpw#le#wkf#nlqf#lq#ofppjm#PfswfnafqJmwfoojdfm`fpq`>!kwws9,,s{8#kfjdkw9#bubjobaof#wlnbmveb`wvqfqkvnbm#qjdkwpojmh#kqfe>!,bubjobajojwzsqlslqwjlmbolvwpjgf#wkf#bpwqlmlnj`bokvnbm#afjmdpmbnf#le#wkf#bqf#elvmg#jmbqf#abpfg#lmpnboofq#wkbmb#sfqplm#tklf{sbmpjlm#lebqdvjmd#wkbwmlt#hmltm#bpJm#wkf#fbqozjmwfqnfgjbwfgfqjufg#eqlnP`bmgjmbujbm?,b=?,gju= `lmpjgfq#wkfbm#fpwjnbwfgwkf#Mbwjlmbo?gju#jg>!sbdqfpvowjmd#jm`lnnjppjlmfgbmboldlvp#wlbqf#qfrvjqfg,vo= ?,gju= tbp#abpfg#lmbmg#af`bnf#b%maps8%maps8w!#ubovf>!!#tbp#`bswvqfgml#nlqf#wkbmqfpsf`wjufoz`lmwjmvf#wl#= ?kfbg= ?tfqf#`qfbwfgnlqf#dfmfqbojmelqnbwjlm#vpfg#elq#wkfjmgfsfmgfmw#wkf#Jnsfqjbo`lnslmfmw#lewl#wkf#mlqwkjm`ovgf#wkf#@lmpwqv`wjlmpjgf#le#wkf#tlvog#mlw#afelq#jmpwbm`fjmufmwjlm#lenlqf#`lnsof{`loof`wjufozab`hdqlvmg9#wf{w.bojdm9#jwp#lqjdjmbojmwl#b``lvmwwkjp#sql`fppbm#f{wfmpjufkltfufq/#wkfwkfz#bqf#mlwqfif`wfg#wkf`qjwj`jpn#legvqjmd#tkj`ksqlabaoz#wkfwkjp#bqwj`of+evm`wjlm+*xJw#pklvog#afbm#bdqffnfmwb``jgfmwboozgjeefqp#eqlnBq`kjwf`wvqfafwwfq#hmltmbqqbmdfnfmwpjmeovfm`f#lmbwwfmgfg#wkfjgfmwj`bo#wlplvwk#le#wkfsbpp#wkqlvdk{no!#wjwof>!tfjdkw9alog8`qfbwjmd#wkfgjpsobz9mlmfqfsob`fg#wkf?jnd#pq`>!,jkwwsp9,,ttt-Tlqog#Tbq#JJwfpwjnlmjbopelvmg#jm#wkfqfrvjqfg#wl#bmg#wkbw#wkfafwtffm#wkf#tbp#gfpjdmfg`lmpjpwp#le#`lmpjgfqbaozsvaojpkfg#azwkf#obmdvbdf@lmpfqubwjlm`lmpjpwfg#leqfefq#wl#wkfab`h#wl#wkf#`pp!#nfgjb>!Sflsof#eqln#bubjobaof#lmsqlufg#wl#afpvddfpwjlmp!tbp#hmltm#bpubqjfwjfp#leojhfoz#wl#af`lnsqjpfg#lepvsslqw#wkf#kbmgp#le#wkf`lvsofg#tjwk`lmmf`w#bmg#alqgfq9mlmf8sfqelqnbm`fpafelqf#afjmdobwfq#af`bnf`bo`vobwjlmplewfm#`boofgqfpjgfmwp#lenfbmjmd#wkbw=?oj#`obpp>!fujgfm`f#elqf{sobmbwjlmpfmujqlmnfmwp!=?,b=?,gju=tkj`k#booltpJmwqlgv`wjlmgfufolsfg#azb#tjgf#qbmdflm#afkboe#leubojdm>!wls!sqjm`jsof#lebw#wkf#wjnf/?,mlp`qjsw=pbjg#wl#kbufjm#wkf#ejqpwtkjof#lwkfqpkzslwkfwj`boskjolplskfqpsltfq#le#wkf`lmwbjmfg#jmsfqelqnfg#azjmbajojwz#wltfqf#tqjwwfmpsbm#pwzof>!jmsvw#mbnf>!wkf#rvfpwjlmjmwfmgfg#elqqfif`wjlm#lejnsojfp#wkbwjmufmwfg#wkfwkf#pwbmgbqgtbp#sqlabaozojmh#afwtffmsqlefpplq#lejmwfqb`wjlmp`kbmdjmd#wkfJmgjbm#L`fbm#`obpp>!obpwtlqhjmd#tjwk$kwws9,,ttt-zfbqp#afelqfWkjp#tbp#wkfqf`qfbwjlmbofmwfqjmd#wkfnfbpvqfnfmwpbm#f{wqfnfozubovf#le#wkfpwbqw#le#wkf ?,p`qjsw= bm#feelqw#wljm`qfbpf#wkfwl#wkf#plvwkpsb`jmd>!3!=pveej`jfmwozwkf#Fvqlsfbm`lmufqwfg#wl`ofbqWjnflvwgjg#mlw#kbuf`lmpfrvfmwozelq#wkf#mf{wf{wfmpjlm#lef`lmlnj`#bmgbowklvdk#wkfbqf#sqlgv`fgbmg#tjwk#wkfjmpveej`jfmwdjufm#az#wkfpwbwjmd#wkbwf{sfmgjwvqfp?,psbm=?,b= wklvdkw#wkbwlm#wkf#abpjp`foosbggjmd>jnbdf#le#wkfqfwvqmjmd#wljmelqnbwjlm/pfsbqbwfg#azbppbppjmbwfgp!#`lmwfmw>!bvwklqjwz#lemlqwktfpwfqm?,gju= ?gju#!=?,gju= ##`lmpvowbwjlm`lnnvmjwz#lewkf#mbwjlmbojw#pklvog#afsbqwj`jsbmwp#bojdm>!ofewwkf#dqfbwfpwpfof`wjlm#lepvsfqmbwvqbogfsfmgfmw#lmjp#nfmwjlmfgbooltjmd#wkftbp#jmufmwfgb``lnsbmzjmdkjp#sfqplmbobubjobaof#bwpwvgz#le#wkflm#wkf#lwkfqf{f`vwjlm#leKvnbm#Qjdkwpwfqnp#le#wkfbppl`jbwjlmpqfpfbq`k#bmgpv``ffgfg#azgfefbwfg#wkfbmg#eqln#wkfavw#wkfz#bqf`lnnbmgfq#lepwbwf#le#wkfzfbqp#le#bdfwkf#pwvgz#le?vo#`obpp>!psob`f#jm#wkftkfqf#kf#tbp?oj#`obpp>!ewkfqf#bqf#mltkj`k#af`bnfkf#svaojpkfgf{sqfppfg#jmwl#tkj`k#wkf`lnnjppjlmfqelmw.tfjdkw9wfqqjwlqz#lef{wfmpjlmp!=Qlnbm#Fnsjqffrvbo#wl#wkfJm#`lmwqbpw/kltfufq/#bmgjp#wzsj`boozbmg#kjp#tjef+bopl#`boofg=?vo#`obpp>!feef`wjufoz#fuloufg#jmwlpffn#wl#kbuftkj`k#jp#wkfwkfqf#tbp#mlbm#f{`foofmwboo#le#wkfpfgfp`qjafg#azJm#sqb`wj`f/aqlbg`bpwjmd`kbqdfg#tjwkqfeof`wfg#jmpvaif`wfg#wlnjojwbqz#bmgwl#wkf#sljmwf`lmlnj`boozpfwWbqdfwjmdbqf#b`wvboozuj`wlqz#lufq+*8?,p`qjsw=`lmwjmvlvpozqfrvjqfg#elqfulovwjlmbqzbm#feef`wjufmlqwk#le#wkf/#tkj`k#tbp#eqlmw#le#wkflq#lwkfqtjpfplnf#elqn#lekbg#mlw#affmdfmfqbwfg#azjmelqnbwjlm-sfqnjwwfg#wljm`ovgfp#wkfgfufolsnfmw/fmwfqfg#jmwlwkf#sqfujlvp`lmpjpwfmwozbqf#hmltm#bpwkf#ejfog#lewkjp#wzsf#ledjufm#wl#wkfwkf#wjwof#le`lmwbjmp#wkfjmpwbm`fp#lejm#wkf#mlqwkgvf#wl#wkfjqbqf#gfpjdmfg`lqslqbwjlmptbp#wkbw#wkflmf#le#wkfpfnlqf#slsvobqpv``ffgfg#jmpvsslqw#eqlnjm#gjeefqfmwglnjmbwfg#azgfpjdmfg#elqltmfqpkjs#lebmg#slppjaozpwbmgbqgjyfgqfpslmpfWf{wtbp#jmwfmgfgqf`fjufg#wkfbppvnfg#wkbwbqfbp#le#wkfsqjnbqjoz#jmwkf#abpjp#lejm#wkf#pfmpfb``lvmwp#elqgfpwqlzfg#azbw#ofbpw#wtltbp#gf`obqfg`lvog#mlw#afPf`qfwbqz#lebssfbq#wl#afnbqdjm.wls92,]_p(\x7F_p(\',df*xwkqlt#f~8wkf#pwbqw#lewtl#pfsbqbwfobmdvbdf#bmgtkl#kbg#affmlsfqbwjlm#legfbwk#le#wkfqfbo#mvnafqp\n?ojmh#qfo>!sqlujgfg#wkfwkf#pwlqz#le`lnsfwjwjlmpfmdojpk#+VH*fmdojpk#+VP*<p<R<Q<_<R<W<M=l<S=m<V<T=m=l<S=m<V<T=m=l<S=m<V<R5h4U4]4D5f4E\nAOGx\bTA\nzk\vBl\bQ\x7F\bTA\nzk\vUm\bQ\x7F\bTA\nzk\npeu| i@ cT\bVV\n\\}\nxS VptSk` [X [X\vHR\bPv\bTW\bUe\n\x7Fa\bQp\v_W\vWs\nxS\vAz\n_yKhjmelqnb`j/_mkfqqbnjfmwbpfof`wq/_mj`lgfp`qjs`j/_m`obpjej`bglp`lml`jnjfmwlsvaoj`b`j/_mqfob`jlmbgbpjmelqn/Mwj`bqfob`jlmbglpgfsbqwbnfmwlwqbabibglqfpgjqf`wbnfmwfbzvmwbnjfmwlnfq`bglOjaqf`lmw/M`wfmlpkbajwb`jlmfp`vnsojnjfmwlqfpwbvqbmwfpgjpslpj`j/_m`lmpf`vfm`jbfof`wq/_mj`bbsoj`b`jlmfpgfp`lmf`wbgljmpwbob`j/_mqfbojyb`j/_mvwjojyb`j/_mfm`j`olsfgjbfmefqnfgbgfpjmpwqvnfmwlpf{sfqjfm`jbpjmpwjwv`j/_msbqwj`vobqfppva`bwfdlqjb=n<R<W=`<V<R<L<R=m=m<T<T=l<\\<]<R=n=g<]<R<W=`=d<Y<S=l<R=m=n<R<P<R<Z<Y=n<Y<X=l=o<_<T=i=m<W=o=k<\\<Y=m<Y<U=k<\\=m<^=m<Y<_<X<\\<L<R=m=m<T=c<p<R=m<V<^<Y<X=l=o<_<T<Y<_<R=l<R<X<\\<^<R<S=l<R=m<X<\\<Q<Q=g=i<X<R<W<Z<Q=g<T<P<Y<Q<Q<R<p<R=m<V<^=g=l=o<]<W<Y<U<p<R=m<V<^<\\=m=n=l<\\<Q=g<Q<T=k<Y<_<R=l<\\<]<R=n<Y<X<R<W<Z<Y<Q=o=m<W=o<_<T=n<Y<S<Y=l=`<r<X<Q<\\<V<R<S<R=n<R<P=o=l<\\<]<R=n=o<\\<S=l<Y<W=c<^<R<R<]=e<Y<R<X<Q<R<_<R=m<^<R<Y<_<R=m=n<\\=n=`<T<X=l=o<_<R<U=h<R=l=o<P<Y=i<R=l<R=d<R<S=l<R=n<T<^=m=m=g<W<V<\\<V<\\<Z<X=g<U<^<W<\\=m=n<T<_=l=o<S<S=g<^<P<Y=m=n<Y=l<\\<]<R=n<\\=m<V<\\<[<\\<W<S<Y=l<^=g<U<X<Y<W<\\=n=`<X<Y<Q=`<_<T<S<Y=l<T<R<X<]<T<[<Q<Y=m<R=m<Q<R<^<Y<P<R<P<Y<Q=n<V=o<S<T=n=`<X<R<W<Z<Q<\\=l<\\<P<V<\\=i<Q<\\=k<\\<W<R<L<\\<]<R=n<\\<N<R<W=`<V<R=m<R<^=m<Y<P<^=n<R=l<R<U<Q<\\=k<\\<W<\\=m<S<T=m<R<V=m<W=o<Z<]=g=m<T=m=n<Y<P<S<Y=k<\\=n<T<Q<R<^<R<_<R<S<R<P<R=e<T=m<\\<U=n<R<^<S<R=k<Y<P=o<S<R<P<R=e=`<X<R<W<Z<Q<R=m=m=g<W<V<T<]=g=m=n=l<R<X<\\<Q<Q=g<Y<P<Q<R<_<T<Y<S=l<R<Y<V=n<M<Y<U=k<\\=m<P<R<X<Y<W<T=n<\\<V<R<_<R<R<Q<W<\\<U<Q<_<R=l<R<X<Y<^<Y=l=m<T=c=m=n=l<\\<Q<Y=h<T<W=`<P=g=o=l<R<^<Q=c=l<\\<[<Q=g=i<T=m<V<\\=n=`<Q<Y<X<Y<W=b=c<Q<^<\\=l=c<P<Y<Q=`=d<Y<P<Q<R<_<T=i<X<\\<Q<Q<R<U<[<Q<\\=k<T=n<Q<Y<W=`<[=c=h<R=l=o<P<\\<N<Y<S<Y=l=`<P<Y=m=c=j<\\<[<\\=e<T=n=g<w=o=k=d<T<Y\fHD\fHU\fIl\fHn\fHy\fH\\\fHD\fIk\fHi\fHF\fHD\fIk\fHy\fHS\fHC\fHR\fHy\fH\\\fIk\fHn\fHi\fHD\fIa\fHC\fHy\fIa\fHC\fHR\fH{\fHR\fHk\fHM\fH@\fHR\fH\\\fIk\fHy\fHS\fHT\fIl\fHJ\fHS\fHC\fHR\fHF\fHU\fH^\fIk\fHT\fHS\fHn\fHU\fHA\fHR\fH\\\fHH\fHi\fHF\fHD\fIl\fHY\fHR\fH^\fIk\fHT\fIk\fHY\fHR\fHy\fH\\\fHH\fIk\fHB\fIk\fH\\\fIk\fHU\fIg\fHD\fIk\fHT\fHy\fHH\fIk\fH@\fHU\fIm\fHH\fHT\fHR\fHk\fHs\fHU\fIg\fH{\fHR\fHp\fHR\fHD\fIk\fHB\fHS\fHD\fHs\fHy\fH\\\fHH\fHR\fHy\fH\\\fHD\fHR\fHe\fHD\fHy\fIk\fHC\fHU\fHR\fHm\fHT\fH@\fHT\fIk\fHA\fHR\fH[\fHR\fHj\fHF\fHy\fIk\fH^\fHS\fHC\fIk\fHZ\fIm\fH\\\fIn\fHk\fHT\fHy\fIk\fHt\fHn\fHs\fIk\fHB\fIk\fH\\\fIl\fHT\fHy\fHH\fHR\fHB\fIk\fH\\\fHR\fH^\fIk\fHy\fH\\\fHi\fHK\fHS\fHy\fHi\fHF\fHD\fHR\fHT\fHB\fHR\fHp\fHB\fIm\fHq\fIk\fHy\fHR\fH\\\fHO\fHU\fIg\fHH\fHR\fHy\fHM\fHP\fIl\fHC\fHU\fHR\fHn\fHU\fIg\fHs\fH^\fHZ\fH@\fIa\fHJ\fH^\fHS\fHC\fHR\fHp\fIl\fHY\fHD\fHp\fHR\fHH\fHR\fHy\fId\fHT\fIk\fHj\fHF\fHy\fHR\fHY\fHR\fH^\fIl\fHJ\fIk\fHD\fIk\fHF\fIn\fH\\\fIl\fHF\fHR\fHD\fIl\fHe\fHT\fHy\fIk\fHU\fIg\fH{\fIl\fH@\fId\fHL\fHy\fHj\fHF\fHy\fIl\fHY\fH\\\fIa\fH[\fH{\fHR\fHn\fHY\fHj\fHF\fHy\fIg\fHp\fHS\fH^\fHR\fHp\fHR\fHD\fHR\fHT\fHU\fHB\fHH\fHU\fHB\fIk\fHn\fHe\fHD\fHy\fIl\fHC\fHR\fHU\fIn\fHJ\fH\\\fIa\fHp\fHT\fIn\fHv\fIl\fHF\fHT\fHn\fHJ\fHT\fHY\fHR\fH^\fHU\fIg\fHD\fHR\fHU\fIg\fHH\fIl\fHp\fId\fHT\fIk\fHY\fHR\fHF\fHT\fHp\fHD\fHH\fHR\fHD\fIk\fHH\fHR\fHp\fHR\fH\\\fIl\fHt\fHR\fHC\fH^\fHp\fHS\fH^\fIk\fHD\fIl\fHv\fIk\fHp\fHR\fHn\fHv\fHF\fHH\fIa\fH\\\fH{\fIn\fH{\fH^\fHp\fHR\fHH\fIk\fH@\fHR\fHU\fH\\\fHj\fHF\fHD\fIk\fHY\fHR\fHU\fHD\fHk\fHT\fHy\fHR\fHT\fIm\fH@\fHU\fH\\\fHU\fHD\fIk\fHk\fHT\fHT\fIk\fHT\fHU\fHS\fHH\fH@\fHM\fHP\fIk\fHt\fHs\fHD\fHR\fHH\fH^\fHR\fHZ\fHF\fHR\fHn\fHv\fHZ\fIa\fH\\\fIl\fH@\fHM\fHP\fIl\fHU\fIg\fHH\fIk\fHT\fHR\fHd\fHs\fHZ\fHR\fHC\fHJ\fHT\fHy\fHH\fIl\fHp\fHR\fHH\fIl\fHY\fHR\fH^\fHR\fHU\fHp\fHR\fH\\\fHF\fHs\fHD\fHR\fH\\\fHz\fHD\fIk\fHT\fHM\fHP\fHy\fHB\fHS\fH^\fHR\fHe\fHT\fHy\fIl\fHy\fIk\fHY\fH^\fH^\fH{\fHH\fHR\fHz\fHR\fHD\fHR\fHi\fH\\\fIa\fHI\fHp\fHU\fHR\fHn\fHJ\fIk\fHz\fHR\fHF\fHU\fH^\fIl\fHD\fHS\fHC\fHB\fH@\fHS\fHD\fHR\fH@\fId\fHn\fHy\fHy\fHU\fIl\fHn\fHy\fHU\fHD\fHR\fHJ\fIk\fHH\fHR\fHU\fHB\fH^\fIk\fHy\fHR\fHG\fIl\fHp\fH@\fHy\fHS\fHH\fIm\fH\\\fHH\fHB\fHR\fHn\fH{\fHY\fHU\fIl\fHn\fH\\\fIg\fHp\fHP\fHB\fHS\fH^\fIl\fHj\fH\\\fIg\fHF\fHT\fIk\fHD\fHR\fHC\fHR\fHJ\fHY\fH^\fIk\fHD\fIk\fHz\fHR\fHH\fHR\fHy\fH\\\fIl\fH@\fHe\fHD\fHy\fHR\fHp\fHY\fHR\fH@\fHF\fIn\fH\\\fHR\fH@\fHM\fHP\fHR\fHT\fI`\fHJ\fHR\fHZ\fIk\fHC\fH\\\fHy\fHS\fHC\fIk\fHy\fHU\fHR\fHn\fHi\fHy\fHT\fH\\\fH@\fHD\fHR\fHc\fHY\fHU\fHR\fHn\fHT\fIa\fHI\fH^\fHB\fHS\fH^\fIk\fH^\fIk\fHz\fHy\fHY\fHS\fH[\fHC\fHy\fIa\fH\\\fHn\fHT\fHB\fIn\fHU\fHI\fHR\fHD\fHR4F4_4F4[5f4U5i4X4K4]5o4E4D5d4K4_4[4E4K5h4Y5m4A4E5i5d4K4Z5f4U4K5h4B4K4Y4E4K5h5i4^5f4C4K5h4U4K5i4E4K5h5o4K4F4D4K5h4]4C5d4C4D4]5j4K5i4@4K5h4C5d5h4E4K5h4U4K5h5i4K5h5i5d5n4U4K5h4U4]4D5f4K5h4_4]5f4U4K5h4@5d4K5h4K5h4\\5k4K4D4K5h4A5f4K4E4K5h4A5n5d5n4K5h5o4]5f5i4K5h4U4]4K5n5i4A5m5d4T4E4K5h4G4K5j5f5i4X4K5k4C4E4K5h5i4]4O4E4K5h5n4]4N5j4K5h4X4D4K4D4K5h4A5d4K4]4K5h4@4C5f4C4K5h4O4_4]4E4K5h4U5h5d5i5i4@5i5d4U4E4K5h4]4A5i5j4K5h5j5n4K4[5m5h4_4[5f5j4K5h5o5d5f4F4K5h4C5j5f4K4D4]5o4K4F5k4K5h4]5f4K4Z4F4A5f4K4F5f4D4F5d5n5f4F4K5h4O5d5h5e4K5h4D4]5f4C4K5h5o5h4K5i4K5h4]4K4D4[4K5h4X4B4Y5f4_5f4K4]4K4F4K5h4G4K5h4G4K5h4Y5h4K4E4K5h4A4C5f4G4K5h4^5d4K4]4K5h4B5h5f4@4K5h4@5i5f4U4K5h4U4K5i5k4K5h4@5i4K5h4K5h4_4K4U4E5i4X4K5k4C5k4K5h4]4J5f4_4K5h4C4B5d5h4K5h5m5j5f4E4K5h5o4F4K4D4K5h4C5d4]5f4K5h4C4]5d4_4K4_4F4V4]5n4F4Y4K5i5f5i4K5h4D5j4K4F4K5h4U4T5f5ifmwfqwbjmnfmwvmgfqpwbmgjmd#>#evm`wjlm+*-isd!#tjgwk>!`lmejdvqbwjlm-smd!#tjgwk>!?algz#`obpp>!Nbwk-qbmgln+*`lmwfnslqbqz#Vmjwfg#Pwbwfp`jq`vnpwbm`fp-bssfmg@kjog+lqdbmjybwjlmp?psbm#`obpp>!!=?jnd#pq`>!,gjpwjmdvjpkfgwklvpbmgp#le#`lnnvmj`bwjlm`ofbq!=?,gju=jmufpwjdbwjlmebuj`lm-j`l!#nbqdjm.qjdkw9abpfg#lm#wkf#Nbppb`kvpfwwpwbaof#alqgfq>jmwfqmbwjlmbobopl#hmltm#bpsqlmvm`jbwjlmab`hdqlvmg9 esbggjmd.ofew9Elq#f{bnsof/#njp`foobmflvp%ow8,nbwk%dw8spz`kloldj`bojm#sbqwj`vobqfbq`k!#wzsf>!elqn#nfwklg>!bp#lsslpfg#wlPvsqfnf#@lvqwl``bpjlmbooz#Bggjwjlmbooz/Mlqwk#Bnfqj`bs{8ab`hdqlvmglsslqwvmjwjfpFmwfqwbjmnfmw-wlOltfq@bpf+nbmveb`wvqjmdsqlefppjlmbo#`lnajmfg#tjwkElq#jmpwbm`f/`lmpjpwjmd#le!#nb{ofmdwk>!qfwvqm#ebopf8`lmp`jlvpmfppNfgjwfqqbmfbmf{wqblqgjmbqzbppbppjmbwjlmpvapfrvfmwoz#avwwlm#wzsf>!wkf#mvnafq#lewkf#lqjdjmbo#`lnsqfkfmpjufqfefqp#wl#wkf?,vo= ?,gju= skjolplskj`bool`bwjlm-kqfetbp#svaojpkfgPbm#Eqbm`jp`l+evm`wjlm+*x ?gju#jg>!nbjmplskjpwj`bwfgnbwkfnbwj`bo#,kfbg= ?algzpvddfpwp#wkbwgl`vnfmwbwjlm`lm`fmwqbwjlmqfobwjlmpkjspnbz#kbuf#affm+elq#f{bnsof/Wkjp#bqwj`of#jm#plnf#`bpfpsbqwp#le#wkf#gfejmjwjlm#leDqfbw#Aqjwbjm#`foosbggjmd>frvjubofmw#wlsob`fklogfq>!8#elmw.pjyf9#ivpwjej`bwjlmafojfufg#wkbwpveefqfg#eqlnbwwfnswfg#wl#ofbgfq#le#wkf`qjsw!#pq`>!,+evm`wjlm+*#xbqf#bubjobaof \n?ojmh#qfo>!#pq`>$kwws9,,jmwfqfpwfg#jm`lmufmwjlmbo#!#bow>!!#,=?,bqf#dfmfqboozkbp#bopl#affmnlpw#slsvobq#`lqqfpslmgjmd`qfgjwfg#tjwkwzof>!alqgfq9?,b=?,psbm=?,-dje!#tjgwk>!?jeqbnf#pq`>!wbaof#`obpp>!jmojmf.aol`h8b``lqgjmd#wl#wldfwkfq#tjwkbssql{jnbwfozsbqojbnfmwbqznlqf#bmg#nlqfgjpsobz9mlmf8wqbgjwjlmboozsqfglnjmbmwoz%maps8\x7F%maps8%maps8?,psbm=#`foopsb`jmd>?jmsvw#mbnf>!lq!#`lmwfmw>!`lmwqlufqpjbosqlsfqwz>!ld9,{.pkl`htbuf.gfnlmpwqbwjlmpvqqlvmgfg#azMfufqwkfofpp/tbp#wkf#ejqpw`lmpjgfqbaof#Bowklvdk#wkf#`loobalqbwjlmpklvog#mlw#afsqlslqwjlm#le?psbm#pwzof>!hmltm#bp#wkf#pklqwoz#bewfqelq#jmpwbm`f/gfp`qjafg#bp#,kfbg= ?algz#pwbqwjmd#tjwkjm`qfbpjmdoz#wkf#eb`w#wkbwgjp`vppjlm#lenjggof#le#wkfbm#jmgjujgvbogjeej`vow#wl#sljmw#le#ujftklnlpf{vbojwzb``fswbm`f#le?,psbm=?,gju=nbmveb`wvqfqplqjdjm#le#wkf`lnnlmoz#vpfgjnslqwbm`f#legfmlnjmbwjlmpab`hdqlvmg9# ofmdwk#le#wkfgfwfqnjmbwjlmb#pjdmjej`bmw!#alqgfq>!3!=qfulovwjlmbqzsqjm`jsofp#lejp#`lmpjgfqfgtbp#gfufolsfgJmgl.Fvqlsfbmuvomfqbaof#wlsqlslmfmwp#lebqf#plnfwjnfp`olpfq#wl#wkfMft#Zlqh#@jwz#mbnf>!pfbq`kbwwqjavwfg#wl`lvqpf#le#wkfnbwkfnbwj`jbmaz#wkf#fmg#lebw#wkf#fmg#le!#alqgfq>!3!#wf`kmloldj`bo-qfnluf@obpp+aqbm`k#le#wkffujgfm`f#wkbw"Xfmgje^..= Jmpwjwvwf#le#jmwl#b#pjmdofqfpsf`wjufoz-bmg#wkfqfelqfsqlsfqwjfp#lejp#ol`bwfg#jmplnf#le#tkj`kWkfqf#jp#bopl`lmwjmvfg#wl#bssfbqbm`f#le#%bns8mgbpk8#gfp`qjafp#wkf`lmpjgfqbwjlmbvwklq#le#wkfjmgfsfmgfmwozfrvjssfg#tjwkglfp#mlw#kbuf?,b=?b#kqfe>!`lmevpfg#tjwk?ojmh#kqfe>!,bw#wkf#bdf#lebssfbq#jm#wkfWkfpf#jm`ovgfqfdbqgofpp#le`lvog#af#vpfg#pwzof>%rvlw8pfufqbo#wjnfpqfsqfpfmw#wkfalgz= ?,kwno=wklvdkw#wl#afslsvobwjlm#leslppjajojwjfpsfq`fmwbdf#leb``fpp#wl#wkfbm#bwwfnsw#wlsqlgv`wjlm#leirvfqz,irvfqzwtl#gjeefqfmwafolmd#wl#wkffpwbaojpknfmwqfsob`jmd#wkfgfp`qjswjlm!#gfwfqnjmf#wkfbubjobaof#elqB``lqgjmd#wl#tjgf#qbmdf#le\n?gju#`obpp>!nlqf#`lnnlmozlqdbmjpbwjlmpevm`wjlmbojwztbp#`lnsofwfg#%bns8ngbpk8#sbqwj`jsbwjlmwkf#`kbqb`wfqbm#bggjwjlmbobssfbqp#wl#afeb`w#wkbw#wkfbm#f{bnsof#lepjdmjej`bmwozlmnlvpflufq>!af`bvpf#wkfz#bpzm`#>#wqvf8sqlaofnp#tjwkpffnp#wl#kbufwkf#qfpvow#le#pq`>!kwws9,,ebnjojbq#tjwkslppfppjlm#leevm`wjlm#+*#xwllh#sob`f#jmbmg#plnfwjnfppvapwbmwjbooz?psbm=?,psbm=jp#lewfm#vpfgjm#bm#bwwfnswdqfbw#gfbo#leFmujqlmnfmwbopv``fppevooz#ujqwvbooz#boo13wk#`fmwvqz/sqlefppjlmbopmf`fppbqz#wl#gfwfqnjmfg#az`lnsbwjajojwzaf`bvpf#jw#jpGj`wjlmbqz#lenlgjej`bwjlmpWkf#elooltjmdnbz#qfefq#wl9@lmpfrvfmwoz/Jmwfqmbwjlmbobowklvdk#plnfwkbw#tlvog#aftlqog$p#ejqpw`obppjejfg#bpalwwln#le#wkf+sbqwj`vobqozbojdm>!ofew!#nlpw#`lnnlmozabpjp#elq#wkfelvmgbwjlm#le`lmwqjavwjlmpslsvobqjwz#le`fmwfq#le#wkfwl#qfgv`f#wkfivqjpgj`wjlmpbssql{jnbwjlm#lmnlvpflvw>!Mft#Wfpwbnfmw`loof`wjlm#le?,psbm=?,b=?,jm#wkf#Vmjwfgejon#gjqf`wlq.pwqj`w-gwg!=kbp#affm#vpfgqfwvqm#wl#wkfbowklvdk#wkjp`kbmdf#jm#wkfpfufqbo#lwkfqavw#wkfqf#bqfvmsqf`fgfmwfgjp#pjnjobq#wlfpsf`jbooz#jmtfjdkw9#alog8jp#`boofg#wkf`lnsvwbwjlmbojmgj`bwf#wkbwqfpwqj`wfg#wl\n?nfwb#mbnf>!bqf#wzsj`booz`lmeoj`w#tjwkKltfufq/#wkf#Bm#f{bnsof#le`lnsbqfg#tjwkrvbmwjwjfp#leqbwkfq#wkbm#b`lmpwfoobwjlmmf`fppbqz#elqqfslqwfg#wkbwpsf`jej`bwjlmslojwj`bo#bmg%maps8%maps8?qfefqfm`fp#wlwkf#pbnf#zfbqDlufqmnfmw#ledfmfqbwjlm#lekbuf#mlw#affmpfufqbo#zfbqp`lnnjwnfmw#wl\n\n?vo#`obpp>!ujpvbojybwjlm2:wk#`fmwvqz/sqb`wjwjlmfqpwkbw#kf#tlvogbmg#`lmwjmvfgl``vsbwjlm#lejp#gfejmfg#bp`fmwqf#le#wkfwkf#bnlvmw#le=?gju#pwzof>!frvjubofmw#legjeefqfmwjbwfaqlvdkw#balvwnbqdjm.ofew9#bvwlnbwj`boozwklvdkw#le#bpPlnf#le#wkfpf ?gju#`obpp>!jmsvw#`obpp>!qfsob`fg#tjwkjp#lmf#le#wkffgv`bwjlm#bmgjmeovfm`fg#azqfsvwbwjlm#bp ?nfwb#mbnf>!b``lnnlgbwjlm?,gju= ?,gju=obqdf#sbqw#leJmpwjwvwf#elqwkf#pl.`boofg#bdbjmpw#wkf#Jm#wkjp#`bpf/tbp#bssljmwfg`objnfg#wl#afKltfufq/#wkjpGfsbqwnfmw#lewkf#qfnbjmjmdfeef`w#lm#wkfsbqwj`vobqoz#gfbo#tjwk#wkf ?gju#pwzof>!bonlpw#botbzpbqf#`vqqfmwozf{sqfppjlm#leskjolplskz#leelq#nlqf#wkbm`jujojybwjlmplm#wkf#jpobmgpfof`wfgJmgf{`bm#qfpvow#jm!#ubovf>!!#,=wkf#pwqv`wvqf#,=?,b=?,gju=Nbmz#le#wkfpf`bvpfg#az#wkfle#wkf#Vmjwfgpsbm#`obpp>!n`bm#af#wqb`fgjp#qfobwfg#wlaf`bnf#lmf#lejp#eqfrvfmwozojujmd#jm#wkfwkflqfwj`boozElooltjmd#wkfQfulovwjlmbqzdlufqmnfmw#jmjp#gfwfqnjmfgwkf#slojwj`bojmwqlgv`fg#jmpveej`jfmw#wlgfp`qjswjlm!=pklqw#pwlqjfppfsbqbwjlm#lebp#wl#tkfwkfqhmltm#elq#jwptbp#jmjwjboozgjpsobz9aol`hjp#bm#f{bnsofwkf#sqjm`jsbo`lmpjpwp#le#bqf`ldmjyfg#bp,algz=?,kwno=b#pvapwbmwjboqf`lmpwqv`wfgkfbg#le#pwbwfqfpjpwbm`f#wlvmgfqdqbgvbwfWkfqf#bqf#wtldqbujwbwjlmbobqf#gfp`qjafgjmwfmwjlmboozpfqufg#bp#wkf`obpp>!kfbgfqlsslpjwjlm#wlevmgbnfmwboozglnjmbwfg#wkfbmg#wkf#lwkfqboojbm`f#tjwktbp#elq`fg#wlqfpsf`wjufoz/bmg#slojwj`bojm#pvsslqw#lesflsof#jm#wkf13wk#`fmwvqz-bmg#svaojpkfgolbg@kbqwafbwwl#vmgfqpwbmgnfnafq#pwbwfpfmujqlmnfmwboejqpw#kboe#le`lvmwqjfp#bmgbq`kjwf`wvqboaf#`lmpjgfqfg`kbqb`wfqjyfg`ofbqJmwfqubobvwklqjwbwjufEfgfqbwjlm#letbp#pv``ffgfgbmg#wkfqf#bqfb#`lmpfrvfm`fwkf#Sqfpjgfmwbopl#jm`ovgfgeqff#plewtbqfpv``fppjlm#legfufolsfg#wkftbp#gfpwqlzfgbtbz#eqln#wkf8 ?,p`qjsw= ?bowklvdk#wkfzelooltfg#az#bnlqf#sltfqevoqfpvowfg#jm#bVmjufqpjwz#leKltfufq/#nbmzwkf#sqfpjgfmwKltfufq/#plnfjp#wklvdkw#wlvmwjo#wkf#fmgtbp#bmmlvm`fgbqf#jnslqwbmwbopl#jm`ovgfp=?jmsvw#wzsf>wkf#`fmwfq#le#GL#MLW#BOWFQvpfg#wl#qfefqwkfnfp,<plqw>wkbw#kbg#affmwkf#abpjp#elqkbp#gfufolsfgjm#wkf#pvnnfq`lnsbqbwjufozgfp`qjafg#wkfpv`k#bp#wklpfwkf#qfpvowjmdjp#jnslppjaofubqjlvp#lwkfqPlvwk#Beqj`bmkbuf#wkf#pbnffeef`wjufmfppjm#tkj`k#`bpf8#wf{w.bojdm9pwqv`wvqf#bmg8#ab`hdqlvmg9qfdbqgjmd#wkfpvsslqwfg#wkfjp#bopl#hmltmpwzof>!nbqdjmjm`ovgjmd#wkfabkbpb#Nfobzvmlqph#alhn/Iomlqph#mzmlqphpolufm)M(ajmbjmwfqmb`jlmbo`bojej`b`j/_m`lnvmj`b`j/_m`lmpwqv``j/_m!=?gju#`obpp>!gjpbnajdvbwjlmGlnbjmMbnf$/#$bgnjmjpwqbwjlmpjnvowbmflvpozwqbmpslqwbwjlmJmwfqmbwjlmbo#nbqdjm.alwwln9qfpslmpjajojwz?"Xfmgje^..= ?,=?nfwb#mbnf>!jnsofnfmwbwjlmjmeqbpwqv`wvqfqfsqfpfmwbwjlmalqgfq.alwwln9?,kfbg= ?algz=>kwws&0B&1E&1E?elqn#nfwklg>!nfwklg>!slpw!#,ebuj`lm-j`l!#~*8 ?,p`qjsw= -pfwBwwqjavwf+Bgnjmjpwqbwjlm>#mft#Bqqbz+*8?"Xfmgje^..= gjpsobz9aol`h8Vmelqwvmbwfoz/!=%maps8?,gju=,ebuj`lm-j`l!=>$pwzofpkffw$#jgfmwjej`bwjlm/#elq#f{bnsof/?oj=?b#kqfe>!,bm#bowfqmbwjufbp#b#qfpvow#lesw!=?,p`qjsw= wzsf>!pvanjw!# +evm`wjlm+*#xqf`lnnfmgbwjlmelqn#b`wjlm>!,wqbmpelqnbwjlmqf`lmpwqv`wjlm-pwzof-gjpsobz#B``lqgjmd#wl#kjggfm!#mbnf>!bolmd#tjwk#wkfgl`vnfmw-algz-bssql{jnbwfoz#@lnnvmj`bwjlmpslpw!#b`wjlm>!nfbmjmd#%rvlw8..?"Xfmgje^..=Sqjnf#Njmjpwfq`kbqb`wfqjpwj`?,b=#?b#`obpp>wkf#kjpwlqz#le#lmnlvpflufq>!wkf#dlufqmnfmwkqfe>!kwwsp9,,tbp#lqjdjmbooztbp#jmwqlgv`fg`obppjej`bwjlmqfsqfpfmwbwjufbqf#`lmpjgfqfg?"Xfmgje^..= gfsfmgp#lm#wkfVmjufqpjwz#le#jm#`lmwqbpw#wl#sob`fklogfq>!jm#wkf#`bpf#lejmwfqmbwjlmbo#`lmpwjwvwjlmbopwzof>!alqgfq.9#evm`wjlm+*#xAf`bvpf#le#wkf.pwqj`w-gwg!= ?wbaof#`obpp>!b``lnsbmjfg#azb``lvmw#le#wkf?p`qjsw#pq`>!,mbwvqf#le#wkf#wkf#sflsof#jm#jm#bggjwjlm#wlp*8#ip-jg#>#jg!#tjgwk>!233&!qfdbqgjmd#wkf#Qlnbm#@bwkloj`bm#jmgfsfmgfmwelooltjmd#wkf#-dje!#tjgwk>!2wkf#elooltjmd#gjp`qjnjmbwjlmbq`kbfloldj`bosqjnf#njmjpwfq-ip!=?,p`qjsw=`lnajmbwjlm#le#nbqdjmtjgwk>!`qfbwfFofnfmw+t-bwwb`kFufmw+?,b=?,wg=?,wq=pq`>!kwwsp9,,bJm#sbqwj`vobq/#bojdm>!ofew!#@yf`k#Qfsvaoj`Vmjwfg#Hjmdgln`lqqfpslmgfm`f`lm`ovgfg#wkbw-kwno!#wjwof>!+evm`wjlm#+*#x`lnfp#eqln#wkfbssoj`bwjlm#le?psbm#`obpp>!pafojfufg#wl#affnfmw+$p`qjsw$?,b= ?,oj= ?ojufqz#gjeefqfmw=?psbm#`obpp>!lswjlm#ubovf>!+bopl#hmltm#bp\n?oj=?b#kqfe>!=?jmsvw#mbnf>!pfsbqbwfg#eqlnqfefqqfg#wl#bp#ubojdm>!wls!=elvmgfq#le#wkfbwwfnswjmd#wl#`bqalm#gjl{jgf ?gju#`obpp>!`obpp>!pfbq`k.,algz= ?,kwno=lsslqwvmjwz#wl`lnnvmj`bwjlmp?,kfbg= ?algz#pwzof>!tjgwk9Wj\rVSmd#Uj\rWkw`kbmdfp#jm#wkfalqgfq.`lolq9 3!#alqgfq>!3!#?,psbm=?,gju=?tbp#gjp`lufqfg!#wzsf>!wf{w!#*8 ?,p`qjsw= Gfsbqwnfmw#le#f``ofpjbpwj`bowkfqf#kbp#affmqfpvowjmd#eqln?,algz=?,kwno=kbp#mfufq#affmwkf#ejqpw#wjnfjm#qfpslmpf#wlbvwlnbwj`booz#?,gju= ?gju#jtbp#`lmpjgfqfgsfq`fmw#le#wkf!#,=?,b=?,gju=`loof`wjlm#le#gfp`fmgfg#eqlnpf`wjlm#le#wkfb``fsw.`kbqpfwwl#af#`lmevpfgnfnafq#le#wkf#sbggjmd.qjdkw9wqbmpobwjlm#lejmwfqsqfwbwjlm#kqfe>$kwws9,,tkfwkfq#lq#mlwWkfqf#bqf#boplwkfqf#bqf#nbmzb#pnboo#mvnafqlwkfq#sbqwp#lejnslppjaof#wl##`obpp>!avwwlmol`bwfg#jm#wkf-#Kltfufq/#wkfbmg#fufmwvboozBw#wkf#fmg#le#af`bvpf#le#jwpqfsqfpfmwp#wkf?elqn#b`wjlm>!#nfwklg>!slpw!jw#jp#slppjaofnlqf#ojhfoz#wlbm#jm`qfbpf#jmkbuf#bopl#affm`lqqfpslmgp#wlbmmlvm`fg#wkbwbojdm>!qjdkw!=nbmz#`lvmwqjfpelq#nbmz#zfbqpfbqojfpw#hmltmaf`bvpf#jw#tbpsw!=?,p`qjsw=#ubojdm>!wls!#jmkbajwbmwp#leelooltjmd#zfbq ?gju#`obpp>!njoojlm#sflsof`lmwqlufqpjbo#`lm`fqmjmd#wkfbqdvf#wkbw#wkfdlufqmnfmw#bmgb#qfefqfm`f#wlwqbmpefqqfg#wlgfp`qjajmd#wkf#pwzof>!`lolq9bowklvdk#wkfqfafpw#hmltm#elqpvanjw!#mbnf>!nvowjsoj`bwjlmnlqf#wkbm#lmf#qf`ldmjwjlm#le@lvm`jo#le#wkffgjwjlm#le#wkf##?nfwb#mbnf>!Fmwfqwbjmnfmw#btbz#eqln#wkf#8nbqdjm.qjdkw9bw#wkf#wjnf#lejmufpwjdbwjlmp`lmmf`wfg#tjwkbmg#nbmz#lwkfqbowklvdk#jw#jpafdjmmjmd#tjwk#?psbm#`obpp>!gfp`fmgbmwp#le?psbm#`obpp>!j#bojdm>!qjdkw!?,kfbg= ?algz#bpsf`wp#le#wkfkbp#pjm`f#affmFvqlsfbm#Vmjlmqfnjmjp`fmw#lenlqf#gjeej`vowUj`f#Sqfpjgfmw`lnslpjwjlm#lesbppfg#wkqlvdknlqf#jnslqwbmwelmw.pjyf922s{f{sobmbwjlm#lewkf#`lm`fsw#letqjwwfm#jm#wkf\n?psbm#`obpp>!jp#lmf#le#wkf#qfpfnaobm`f#wllm#wkf#dqlvmgptkj`k#`lmwbjmpjm`ovgjmd#wkf#gfejmfg#az#wkfsvaoj`bwjlm#lenfbmp#wkbw#wkflvwpjgf#le#wkfpvsslqw#le#wkf?jmsvw#`obpp>!?psbm#`obpp>!w+Nbwk-qbmgln+*nlpw#sqlnjmfmwgfp`qjswjlm#le@lmpwbmwjmlsoftfqf#svaojpkfg?gju#`obpp>!pfbssfbqp#jm#wkf2!#kfjdkw>!2!#nlpw#jnslqwbmwtkj`k#jm`ovgfptkj`k#kbg#affmgfpwqv`wjlm#lewkf#slsvobwjlm \n?gju#`obpp>!slppjajojwz#leplnfwjnfp#vpfgbssfbq#wl#kbufpv``fpp#le#wkfjmwfmgfg#wl#afsqfpfmw#jm#wkfpwzof>!`ofbq9a ?,p`qjsw= ?tbp#elvmgfg#jmjmwfqujft#tjwk\\jg!#`lmwfmw>!`bsjwbo#le#wkf ?ojmh#qfo>!pqfofbpf#le#wkfsljmw#lvw#wkbw{NOKwwsQfrvfpwbmg#pvapfrvfmwpf`lmg#obqdfpwufqz#jnslqwbmwpsf`jej`bwjlmppvqeb`f#le#wkfbssojfg#wl#wkfelqfjdm#sloj`z\\pfwGlnbjmMbnffpwbaojpkfg#jmjp#afojfufg#wlJm#bggjwjlm#wlnfbmjmd#le#wkfjp#mbnfg#bewfqwl#sqlwf`w#wkfjp#qfsqfpfmwfgGf`obqbwjlm#lenlqf#feej`jfmw@obppjej`bwjlmlwkfq#elqnp#lekf#qfwvqmfg#wl?psbm#`obpp>!`sfqelqnbm`f#le+evm`wjlm+*#xje#bmg#lmoz#jeqfdjlmp#le#wkfofbgjmd#wl#wkfqfobwjlmp#tjwkVmjwfg#Mbwjlmppwzof>!kfjdkw9lwkfq#wkbm#wkfzsf!#`lmwfmw>!Bppl`jbwjlm#le ?,kfbg= ?algzol`bwfg#lm#wkfjp#qfefqqfg#wl+jm`ovgjmd#wkf`lm`fmwqbwjlmpwkf#jmgjujgvbobnlmd#wkf#nlpwwkbm#bmz#lwkfq,= ?ojmh#qfo>!#qfwvqm#ebopf8wkf#svqslpf#lewkf#bajojwz#wl8`lolq9 eee~ - ?psbm#`obpp>!wkf#pvaif`w#legfejmjwjlmp#le= ?ojmh#qfo>!`objn#wkbw#wkfkbuf#gfufolsfg?wbaof#tjgwk>!`fofaqbwjlm#leElooltjmd#wkf#wl#gjpwjmdvjpk?psbm#`obpp>!awbhfp#sob`f#jmvmgfq#wkf#mbnfmlwfg#wkbw#wkf=?"Xfmgje^..= pwzof>!nbqdjm.jmpwfbg#le#wkfjmwqlgv`fg#wkfwkf#sql`fpp#lejm`qfbpjmd#wkfgjeefqfm`fp#jmfpwjnbwfg#wkbwfpsf`jbooz#wkf,gju=?gju#jg>!tbp#fufmwvboozwkqlvdklvw#kjpwkf#gjeefqfm`fplnfwkjmd#wkbwpsbm=?,psbm=?,pjdmjej`bmwoz#=?,p`qjsw= fmujqlmnfmwbo#wl#sqfufmw#wkfkbuf#affm#vpfgfpsf`jbooz#elqvmgfqpwbmg#wkfjp#fppfmwjbooztfqf#wkf#ejqpwjp#wkf#obqdfpwkbuf#affm#nbgf!#pq`>!kwws9,,jmwfqsqfwfg#bppf`lmg#kboe#le`qloojmd>!ml!#jp#`lnslpfg#leJJ/#Kloz#Qlnbmjp#f{sf`wfg#wlkbuf#wkfjq#ltmgfejmfg#bp#wkfwqbgjwjlmbooz#kbuf#gjeefqfmwbqf#lewfm#vpfgwl#fmpvqf#wkbwbdqffnfmw#tjwk`lmwbjmjmd#wkfbqf#eqfrvfmwozjmelqnbwjlm#lmf{bnsof#jp#wkfqfpvowjmd#jm#b?,b=?,oj=?,vo=#`obpp>!ellwfqbmg#fpsf`jboozwzsf>!avwwlm!#?,psbm=?,psbm=tkj`k#jm`ovgfg= ?nfwb#mbnf>!`lmpjgfqfg#wkf`bqqjfg#lvw#azKltfufq/#jw#jpaf`bnf#sbqw#lejm#qfobwjlm#wlslsvobq#jm#wkfwkf#`bsjwbo#letbp#leej`jbooztkj`k#kbp#affmwkf#Kjpwlqz#lebowfqmbwjuf#wlgjeefqfmw#eqlnwl#pvsslqw#wkfpvddfpwfg#wkbwjm#wkf#sql`fpp##?gju#`obpp>!wkf#elvmgbwjlmaf`bvpf#le#kjp`lm`fqmfg#tjwkwkf#vmjufqpjwzlsslpfg#wl#wkfwkf#`lmwf{w#le?psbm#`obpp>!swf{w!#mbnf>!r!\n\n?gju#`obpp>!wkf#p`jfmwjej`qfsqfpfmwfg#aznbwkfnbwj`jbmpfof`wfg#az#wkfwkbw#kbuf#affm=?gju#`obpp>!`gju#jg>!kfbgfqjm#sbqwj`vobq/`lmufqwfg#jmwl*8 ?,p`qjsw= ?skjolplskj`bo#pqsphlkqubwphjwj\rVSmd#Uj\rWkw<L=o=m=m<V<T<U=l=o=m=m<V<T<Ujmufpwjdb`j/_msbqwj`jsb`j/_m<V<R=n<R=l=g<Y<R<]<W<\\=m=n<T<V<R=n<R=l=g<U=k<Y<W<R<^<Y<V=m<T=m=n<Y<P=g<q<R<^<R=m=n<T<V<R=n<R=l=g=i<R<]<W<\\=m=n=`<^=l<Y<P<Y<Q<T<V<R=n<R=l<\\=c=m<Y<_<R<X<Q=c=m<V<\\=k<\\=n=`<Q<R<^<R=m=n<T<O<V=l<\\<T<Q=g<^<R<S=l<R=m=g<V<R=n<R=l<R<U=m<X<Y<W<\\=n=`<S<R<P<R=e=`=b=m=l<Y<X=m=n<^<R<]=l<\\<[<R<P=m=n<R=l<R<Q=g=o=k<\\=m=n<T<Y=n<Y=k<Y<Q<T<Y<\x7F<W<\\<^<Q<\\=c<T=m=n<R=l<T<T=m<T=m=n<Y<P<\\=l<Y=d<Y<Q<T=c<M<V<\\=k<\\=n=`<S<R=a=n<R<P=o=m<W<Y<X=o<Y=n=m<V<\\<[<\\=n=`=n<R<^<\\=l<R<^<V<R<Q<Y=k<Q<R=l<Y=d<Y<Q<T<Y<V<R=n<R=l<R<Y<R=l<_<\\<Q<R<^<V<R=n<R=l<R<P<L<Y<V<W<\\<P<\\4K5h5i5j4F4C5e5i5j4F4C5f4K4F4K5h5i5d4Z5d4U4K5h4D4]4K5i4@4K5h5i5d4K5n4U4K5h4]4_4K4J5h5i4X4K4]5o4K4F4K5h4O4U4Z4K4M4K5h4]5f4K4Z4E4K5h4F4Y5i5f5i4K5h4K4U4Z4K4M4K5h5j4F4K4J4@4K5h4O5h4U4K4D4K5h4F4_4@5f5h4K5h4O5n4_4K5i4K5h4Z4V4[4K4F4K5h5m5f4C5f5d4K5h4F4]4A5f4D4K5h4@4C5f4C4E4K5h4F4U5h5f5i4K5h4O4B4D4K4]4K5h4K5m5h4K5i4K5h4O5m5h4K5i4K5h4F4K4]5f4B4K5h4F5n5j5f4E4K5h4K5h4U4K4D4K5h4B5d4K4[4]4K5h5i4@4F5i4U4K5h4C5f5o5d4]4K5h4_5f4K4A4E4U4D4C4K5h5h5k4K5h4F4]4D5f4E4K5h4]5d4K4D4[4K5h4O4C4D5f4E4K5h4K4B4D4K4]4K5h5i4F4A4C4E4K5h4K4V4K5j5f`vqplq9sljmwfq8?,wjwof= ?nfwb#!#kqfe>!kwws9,,!=?psbm#`obpp>!nfnafqp#le#wkf#tjmglt-ol`bwjlmufqwj`bo.bojdm9,b=#\x7F#?b#kqfe>!?"gl`wzsf#kwno=nfgjb>!p`qffm!#?lswjlm#ubovf>!ebuj`lm-j`l!#,= \n\n?gju#`obpp>!`kbqb`wfqjpwj`p!#nfwklg>!dfw!#,algz= ?,kwno= pklqw`vw#j`lm!#gl`vnfmw-tqjwf+sbggjmd.alwwln9qfsqfpfmwbwjufppvanjw!#ubovf>!bojdm>!`fmwfq!#wkqlvdklvw#wkf#p`jfm`f#ej`wjlm ##?gju#`obpp>!pvanjw!#`obpp>!lmf#le#wkf#nlpw#ubojdm>!wls!=?tbp#fpwbaojpkfg*8 ?,p`qjsw= qfwvqm#ebopf8!=*-pwzof-gjpsobzaf`bvpf#le#wkf#gl`vnfmw-`llhjf?elqn#b`wjlm>!,~algzxnbqdjm938Fm`z`olsfgjb#leufqpjlm#le#wkf#-`qfbwfFofnfmw+mbnf!#`lmwfmw>!?,gju= ?,gju= bgnjmjpwqbwjuf#?,algz= ?,kwno=kjpwlqz#le#wkf#!=?jmsvw#wzsf>!slqwjlm#le#wkf#bp#sbqw#le#wkf#%maps8?b#kqfe>!lwkfq#`lvmwqjfp!= ?gju#`obpp>!?,psbm=?,psbm=?Jm#lwkfq#tlqgp/gjpsobz9#aol`h8`lmwqlo#le#wkf#jmwqlgv`wjlm#le,= ?nfwb#mbnf>!bp#tfoo#bp#wkf#jm#qf`fmw#zfbqp \n?gju#`obpp>!?,gju= \n?,gju= jmpsjqfg#az#wkfwkf#fmg#le#wkf#`lnsbwjaof#tjwkaf`bnf#hmltm#bp#pwzof>!nbqdjm9-ip!=?,p`qjsw=?#Jmwfqmbwjlmbo#wkfqf#kbuf#affmDfqnbm#obmdvbdf#pwzof>!`lolq9 @lnnvmjpw#Sbqwz`lmpjpwfmw#tjwkalqgfq>!3!#`foo#nbqdjmkfjdkw>!wkf#nbilqjwz#le!#bojdm>!`fmwfqqfobwfg#wl#wkf#nbmz#gjeefqfmw#Lqwklgl{#@kvq`kpjnjobq#wl#wkf#,= ?ojmh#qfo>!ptbp#lmf#le#wkf#vmwjo#kjp#gfbwk~*+*8 ?,p`qjsw=lwkfq#obmdvbdfp`lnsbqfg#wl#wkfslqwjlmp#le#wkfwkf#Mfwkfqobmgpwkf#nlpw#`lnnlmab`hdqlvmg9vqo+bqdvfg#wkbw#wkfp`qloojmd>!ml!#jm`ovgfg#jm#wkfMlqwk#Bnfqj`bm#wkf#mbnf#le#wkfjmwfqsqfwbwjlmpwkf#wqbgjwjlmbogfufolsnfmw#le#eqfrvfmwoz#vpfgb#`loof`wjlm#leufqz#pjnjobq#wlpvqqlvmgjmd#wkff{bnsof#le#wkjpbojdm>!`fmwfq!=tlvog#kbuf#affmjnbdf\\`bswjlm#>bwwb`kfg#wl#wkfpvddfpwjmd#wkbwjm#wkf#elqn#le#jmuloufg#jm#wkfjp#gfqjufg#eqlnmbnfg#bewfq#wkfJmwqlgv`wjlm#wlqfpwqj`wjlmp#lm#pwzof>!tjgwk9#`bm#af#vpfg#wl#wkf#`qfbwjlm#lenlpw#jnslqwbmw#jmelqnbwjlm#bmgqfpvowfg#jm#wkf`loobspf#le#wkfWkjp#nfbmp#wkbwfofnfmwp#le#wkftbp#qfsob`fg#azbmbozpjp#le#wkfjmpsjqbwjlm#elqqfdbqgfg#bp#wkfnlpw#pv``fppevohmltm#bp#%rvlw8b#`lnsqfkfmpjufKjpwlqz#le#wkf#tfqf#`lmpjgfqfgqfwvqmfg#wl#wkfbqf#qfefqqfg#wlVmplvq`fg#jnbdf= \n?gju#`obpp>!`lmpjpwp#le#wkfpwlsSqlsbdbwjlmjmwfqfpw#jm#wkfbubjobajojwz#lebssfbqp#wl#kbuffof`wqlnbdmfwj`fmbaofPfquj`fp+evm`wjlm#le#wkfJw#jp#jnslqwbmw?,p`qjsw=?,gju=evm`wjlm+*xubq#qfobwjuf#wl#wkfbp#b#qfpvow#le#wkf#slpjwjlm#leElq#f{bnsof/#jm#nfwklg>!slpw!#tbp#elooltfg#az%bns8ngbpk8#wkfwkf#bssoj`bwjlmip!=?,p`qjsw= vo=?,gju=?,gju=bewfq#wkf#gfbwktjwk#qfpsf`w#wlpwzof>!sbggjmd9jp#sbqwj`vobqozgjpsobz9jmojmf8#wzsf>!pvanjw!#jp#gjujgfg#jmwl\bTA\nzk#+\vBl\bQ\x7F*qfpslmpbajojgbgbgnjmjpwqb`j/_mjmwfqmb`jlmbofp`lqqfpslmgjfmwf\fHe\fHF\fHC\fIg\fH{\fHF\fIn\fH\\\fIa\fHY\fHU\fHB\fHR\fH\\\fIk\fH^\fIg\fH{\fIg\fHn\fHv\fIm\fHD\fHR\fHY\fH^\fIk\fHy\fHS\fHD\fHT\fH\\\fHy\fHR\fH\\\fHF\fIm\fH^\fHS\fHT\fHz\fIg\fHp\fIk\fHn\fHv\fHR\fHU\fHS\fHc\fHA\fIk\fHp\fIk\fHn\fHZ\fHR\fHB\fHS\fH^\fHU\fHB\fHR\fH\\\fIl\fHp\fHR\fH{\fH\\\fHO\fH@\fHD\fHR\fHD\fIk\fHy\fIm\fHB\fHR\fH\\\fH@\fIa\fH^\fIe\fH{\fHB\fHR\fH^\fHS\fHy\fHB\fHU\fHS\fH^\fHR\fHF\fIo\fH[\fIa\fHL\fH@\fHN\fHP\fHH\fIk\fHA\fHR\fHp\fHF\fHR\fHy\fIa\fH^\fHS\fHy\fHs\fIa\fH\\\fIk\fHD\fHz\fHS\fH^\fHR\fHG\fHJ\fI`\fH\\\fHR\fHD\fHB\fHR\fHB\fH^\fIk\fHB\fHH\fHJ\fHR\fHD\fH@\fHR\fHp\fHR\fH\\\fHY\fHS\fHy\fHR\fHT\fHy\fIa\fHC\fIg\fHn\fHv\fHR\fHU\fHH\fIk\fHF\fHU\fIm\fHm\fHv\fH@\fHH\fHR\fHC\fHR\fHT\fHn\fHY\fHR\fHJ\fHJ\fIk\fHz\fHD\fIk\fHF\fHS\fHw\fH^\fIk\fHY\fHS\fHZ\fIk\fH[\fH\\\fHR\fHp\fIa\fHC\fHe\fHH\fIa\fHH\fH\\\fHB\fIm\fHn\fH@\fHd\fHJ\fIg\fHD\fIg\fHn\fHe\fHF\fHy\fH\\\fHO\fHF\fHN\fHP\fIk\fHn\fHT\fIa\fHI\fHS\fHH\fHG\fHS\fH^\fIa\fHB\fHB\fIm\fHz\fIa\fHC\fHi\fHv\fIa\fHw\fHR\fHw\fIn\fHs\fHH\fIl\fHT\fHn\fH{\fIl\fHH\fHp\fHR\fHc\fH{\fHR\fHY\fHS\fHA\fHR\fH{\fHt\fHO\fIa\fHs\fIk\fHJ\fIn\fHT\fH\\\fIk\fHJ\fHS\fHD\fIg\fHn\fHU\fHH\fIa\fHC\fHR\fHT\fIk\fHy\fIa\fHT\fH{\fHR\fHn\fHK\fIl\fHY\fHS\fHZ\fIa\fHY\fH\\\fHR\fHH\fIk\fHn\fHJ\fId\fHs\fIa\fHT\fHD\fHy\fIa\fHZ\fHR\fHT\fHR\fHB\fHD\fIk\fHi\fHJ\fHR\fH^\fHH\fH@\fHS\fHp\fH^\fIl\fHF\fIm\fH\\\fIn\fH[\fHU\fHS\fHn\fHJ\fIl\fHB\fHS\fHH\fIa\fH\\\fHy\fHY\fHS\fHH\fHR\fH\\\fIm\fHF\fHC\fIk\fHT\fIa\fHI\fHR\fHD\fHy\fH\\\fIg\fHM\fHP\fHB\fIm\fHy\fIa\fHH\fHC\fIg\fHp\fHD\fHR\fHy\fIo\fHF\fHC\fHR\fHF\fIg\fHT\fIa\fHs\fHt\fH\\\fIk\fH^\fIn\fHy\fHR\fH\\\fIa\fHC\fHY\fHS\fHv\fHR\fH\\\fHT\fIn\fHv\fHD\fHR\fHB\fIn\fH^\fIa\fHC\fHJ\fIk\fHz\fIk\fHn\fHU\fHB\fIk\fHZ\fHR\fHT\fIa\fHy\fIn\fH^\fHB\fId\fHn\fHD\fIk\fHH\fId\fHC\fHR\fH\\\fHp\fHS\fHT\fHy\fIkqpp({no!#wjwof>!.wzsf!#`lmwfmw>!wjwof!#`lmwfmw>!bw#wkf#pbnf#wjnf-ip!=?,p`qjsw= ?!#nfwklg>!slpw!#?,psbm=?,b=?,oj=ufqwj`bo.bojdm9w,irvfqz-njm-ip!=-`oj`h+evm`wjlm+#pwzof>!sbggjmd.~*+*8 ?,p`qjsw= ?,psbm=?b#kqfe>!?b#kqfe>!kwws9,,*8#qfwvqm#ebopf8wf{w.gf`lqbwjlm9#p`qloojmd>!ml!#alqgfq.`loobspf9bppl`jbwfg#tjwk#Abkbpb#JmglmfpjbFmdojpk#obmdvbdf?wf{w#{no9psb`f>-dje!#alqgfq>!3!?,algz= ?,kwno= lufqeolt9kjggfm8jnd#pq`>!kwws9,,bggFufmwOjpwfmfqqfpslmpjaof#elq#p-ip!=?,p`qjsw= ,ebuj`lm-j`l!#,=lsfqbwjmd#pzpwfn!#pwzof>!tjgwk92wbqdfw>!\\aobmh!=Pwbwf#Vmjufqpjwzwf{w.bojdm9ofew8 gl`vnfmw-tqjwf+/#jm`ovgjmd#wkf#bqlvmg#wkf#tlqog*8 ?,p`qjsw= ?!#pwzof>!kfjdkw98lufqeolt9kjggfmnlqf#jmelqnbwjlmbm#jmwfqmbwjlmbob#nfnafq#le#wkf#lmf#le#wkf#ejqpw`bm#af#elvmg#jm#?,gju= \n\n?,gju= gjpsobz9#mlmf8!=!#,= ?ojmh#qfo>! ##+evm`wjlm+*#xwkf#26wk#`fmwvqz-sqfufmwGfebvow+obqdf#mvnafq#le#Azybmwjmf#Fnsjqf-isd\x7Fwkvna\x7Fofew\x7Fubpw#nbilqjwz#lenbilqjwz#le#wkf##bojdm>!`fmwfq!=Vmjufqpjwz#Sqfppglnjmbwfg#az#wkfPf`lmg#Tlqog#Tbqgjpwqjavwjlm#le#pwzof>!slpjwjlm9wkf#qfpw#le#wkf#`kbqb`wfqjyfg#az#qfo>!mleloolt!=gfqjufp#eqln#wkfqbwkfq#wkbm#wkf#b#`lnajmbwjlm#lepwzof>!tjgwk9233Fmdojpk.psfbhjmd`lnsvwfq#p`jfm`falqgfq>!3!#bow>!wkf#f{jpwfm`f#leGfnl`qbwj`#Sbqwz!#pwzof>!nbqdjm.Elq#wkjp#qfbplm/-ip!=?,p`qjsw= \npAzWbdMbnf+p*X3^ip!=?,p`qjsw= ?-ip!=?,p`qjsw= ojmh#qfo>!j`lm!#$#bow>$$#`obpp>$elqnbwjlm#le#wkfufqpjlmp#le#wkf#?,b=?,gju=?,gju=,sbdf= ##?sbdf= ?gju#`obpp>!`lmwaf`bnf#wkf#ejqpwabkbpb#Jmglmfpjbfmdojpk#+pjnsof*"y"W"W"["Q"U"V"@=i=l<^<\\=n=m<V<T<V<R<P<S<\\<Q<T<T=c<^<W=c<Y=n=m=c<x<R<]<\\<^<T=n=`=k<Y<W<R<^<Y<V<\\=l<\\<[<^<T=n<T=c<t<Q=n<Y=l<Q<Y=n<r=n<^<Y=n<T=n=`<Q<\\<S=l<T<P<Y=l<T<Q=n<Y=l<Q<Y=n<V<R=n<R=l<R<_<R=m=n=l<\\<Q<T=j=g<V<\\=k<Y=m=n<^<Y=o=m<W<R<^<T=c=i<S=l<R<]<W<Y<P=g<S<R<W=o=k<T=n=`=c<^<W=c=b=n=m=c<Q<\\<T<]<R<W<Y<Y<V<R<P<S<\\<Q<T=c<^<Q<T<P<\\<Q<T<Y=m=l<Y<X=m=n<^<\\4K5h5i5d4K4Z5f4U4K5h4]4J5f4_5f4E4K5h4K5j4F5n4K5h5i4X4K4]5o4K4F5o4K5h4_5f4K4]4K4F4K5h5i5o4F5d4D4E4K5h4_4U5d4C5f4E4K4A4Y4K4J5f4K4F4K5h4U4K5h5i5f4E4K5h4Y5d4F5f4K4F4K5h4K5j4F4]5j4F4K5h4F4Y4K5i5f5i4K5h4I4_5h4K5i5f4K5h5i4X4K4]5o4E4K5h5i4]4J5f4K4Fqlalwp!#`lmwfmw>!?gju#jg>!ellwfq!=wkf#Vmjwfg#Pwbwfp?jnd#pq`>!kwws9,,-isd\x7Fqjdkw\x7Fwkvna\x7F-ip!=?,p`qjsw= ?ol`bwjlm-sqlwl`loeqbnfalqgfq>!3!#p!#,= ?nfwb#mbnf>!?,b=?,gju=?,gju=?elmw.tfjdkw9alog8%rvlw8#bmg#%rvlw8gfsfmgjmd#lm#wkf#nbqdjm938sbggjmd9!#qfo>!mleloolt!#Sqfpjgfmw#le#wkf#wtfmwjfwk#`fmwvqzfujpjlm= ##?,sbdfJmwfqmfw#F{solqfqb-bpzm`#>#wqvf8 jmelqnbwjlm#balvw?gju#jg>!kfbgfq!=!#b`wjlm>!kwws9,,?b#kqfe>!kwwsp9,,?gju#jg>!`lmwfmw!?,gju= ?,gju= ?gfqjufg#eqln#wkf#?jnd#pq`>$kwws9,,b``lqgjmd#wl#wkf# ?,algz= ?,kwno= pwzof>!elmw.pjyf9p`qjsw#obmdvbdf>!Bqjbo/#Kfoufwj`b/?,b=?psbm#`obpp>!?,p`qjsw=?p`qjsw#slojwj`bo#sbqwjfpwg=?,wq=?,wbaof=?kqfe>!kwws9,,ttt-jmwfqsqfwbwjlm#leqfo>!pwzofpkffw!#gl`vnfmw-tqjwf+$?`kbqpfw>!vwe.;!= afdjmmjmd#le#wkf#qfufbofg#wkbw#wkfwfofujpjlm#pfqjfp!#qfo>!mleloolt!=#wbqdfw>!\\aobmh!=`objnjmd#wkbw#wkfkwws&0B&1E&1Ettt-nbmjefpwbwjlmp#leSqjnf#Njmjpwfq#lejmeovfm`fg#az#wkf`obpp>!`ofbqej{!=,gju= ?,gju= wkqff.gjnfmpjlmbo@kvq`k#le#Fmdobmgle#Mlqwk#@bqlojmbprvbqf#hjolnfwqfp-bggFufmwOjpwfmfqgjpwjm`w#eqln#wkf`lnnlmoz#hmltm#bpSklmfwj`#Boskbafwgf`obqfg#wkbw#wkf`lmwqloofg#az#wkfAfmibnjm#Eqbmhojmqlof.sobzjmd#dbnfwkf#Vmjufqpjwz#lejm#Tfpwfqm#Fvqlsfsfqplmbo#`lnsvwfqSqlif`w#Dvwfmafqdqfdbqgofpp#le#wkfkbp#affm#sqlslpfgwldfwkfq#tjwk#wkf=?,oj=?oj#`obpp>!jm#plnf#`lvmwqjfpnjm-ip!=?,p`qjsw=le#wkf#slsvobwjlmleej`jbo#obmdvbdf?jnd#pq`>!jnbdfp,jgfmwjejfg#az#wkfmbwvqbo#qfplvq`fp`obppjej`bwjlm#le`bm#af#`lmpjgfqfgrvbmwvn#nf`kbmj`pMfufqwkfofpp/#wkfnjoojlm#zfbqp#bdl?,algz= ?,kwno="y"W"W"["Q"U"V"@ wbhf#bgubmwbdf#lebmg/#b``lqgjmd#wlbwwqjavwfg#wl#wkfNj`qlplew#Tjmgltpwkf#ejqpw#`fmwvqzvmgfq#wkf#`lmwqlogju#`obpp>!kfbgfqpklqwoz#bewfq#wkfmlwbaof#f{`fswjlmwfmp#le#wklvpbmgppfufqbo#gjeefqfmwbqlvmg#wkf#tlqog-qfb`kjmd#njojwbqzjplobwfg#eqln#wkflsslpjwjlm#wl#wkfwkf#Log#WfpwbnfmwBeqj`bm#Bnfqj`bmpjmpfqwfg#jmwl#wkfpfsbqbwf#eqln#wkfnfwqlslojwbm#bqfbnbhfp#jw#slppjaofb`hmltofgdfg#wkbwbqdvbaoz#wkf#nlpwwzsf>!wf{w,`pp!= wkf#JmwfqmbwjlmboB``lqgjmd#wl#wkf#sf>!wf{w,`pp!#,= `ljm`jgf#tjwk#wkfwtl.wkjqgp#le#wkfGvqjmd#wkjp#wjnf/gvqjmd#wkf#sfqjlgbmmlvm`fg#wkbw#kfwkf#jmwfqmbwjlmbobmg#nlqf#qf`fmwozafojfufg#wkbw#wkf`lmp`jlvpmfpp#bmgelqnfqoz#hmltm#bppvqqlvmgfg#az#wkfejqpw#bssfbqfg#jml``bpjlmbooz#vpfgslpjwjlm9baplovwf8!#wbqdfw>!\\aobmh!#slpjwjlm9qfobwjuf8wf{w.bojdm9`fmwfq8ib{,ojap,irvfqz,2-ab`hdqlvmg.`lolq9 wzsf>!bssoj`bwjlm,bmdvbdf!#`lmwfmw>!?nfwb#kwws.frvju>!Sqjub`z#Sloj`z?,b=f+!&0@p`qjsw#pq`>$!#wbqdfw>!\\aobmh!=Lm#wkf#lwkfq#kbmg/-isd\x7Fwkvna\x7Fqjdkw\x7F1?,gju=?gju#`obpp>!?gju#pwzof>!eolbw9mjmfwffmwk#`fmwvqz?,algz= ?,kwno= ?jnd#pq`>!kwws9,,p8wf{w.bojdm9`fmwfqelmw.tfjdkw9#alog8#B``lqgjmd#wl#wkf#gjeefqfm`f#afwtffm!#eqbnfalqgfq>!3!#!#pwzof>!slpjwjlm9ojmh#kqfe>!kwws9,,kwno7,ollpf-gwg!= gvqjmd#wkjp#sfqjlg?,wg=?,wq=?,wbaof=`olpfoz#qfobwfg#wlelq#wkf#ejqpw#wjnf8elmw.tfjdkw9alog8jmsvw#wzsf>!wf{w!#?psbm#pwzof>!elmw.lmqfbgzpwbwf`kbmdf\n?gju#`obpp>!`ofbqgl`vnfmw-ol`bwjlm-#Elq#f{bnsof/#wkf#b#tjgf#ubqjfwz#le#?"GL@WZSF#kwno= ?%maps8%maps8%maps8!=?b#kqfe>!kwws9,,pwzof>!eolbw9ofew8`lm`fqmfg#tjwk#wkf>kwws&0B&1E&1Ettt-jm#slsvobq#`vowvqfwzsf>!wf{w,`pp!#,=jw#jp#slppjaof#wl#Kbqubqg#Vmjufqpjwzwzofpkffw!#kqfe>!,wkf#nbjm#`kbqb`wfqL{elqg#Vmjufqpjwz##mbnf>!hfztlqgp!#`pwzof>!wf{w.bojdm9wkf#Vmjwfg#Hjmdglnefgfqbo#dlufqmnfmw?gju#pwzof>!nbqdjm#gfsfmgjmd#lm#wkf#gfp`qjswjlm#le#wkf?gju#`obpp>!kfbgfq-njm-ip!=?,p`qjsw=gfpwqv`wjlm#le#wkfpojdkwoz#gjeefqfmwjm#b``lqgbm`f#tjwkwfof`lnnvmj`bwjlmpjmgj`bwfp#wkbw#wkfpklqwoz#wkfqfbewfqfpsf`jbooz#jm#wkf#Fvqlsfbm#`lvmwqjfpKltfufq/#wkfqf#bqfpq`>!kwws9,,pwbwj`pvddfpwfg#wkbw#wkf!#pq`>!kwws9,,ttt-b#obqdf#mvnafq#le#Wfof`lnnvmj`bwjlmp!#qfo>!mleloolt!#wKloz#Qlnbm#Fnsfqlqbonlpw#f{`ovpjufoz!#alqgfq>!3!#bow>!Pf`qfwbqz#le#Pwbwf`vonjmbwjmd#jm#wkf@JB#Tlqog#Eb`wallhwkf#nlpw#jnslqwbmwbmmjufqpbqz#le#wkfpwzof>!ab`hdqlvmg.?oj=?fn=?b#kqfe>!,wkf#Bwobmwj`#L`fbmpwqj`woz#psfbhjmd/pklqwoz#afelqf#wkfgjeefqfmw#wzsfp#lewkf#Lwwlnbm#Fnsjqf=?jnd#pq`>!kwws9,,Bm#Jmwqlgv`wjlm#wl`lmpfrvfm`f#le#wkfgfsbqwvqf#eqln#wkf@lmefgfqbwf#Pwbwfpjmgjdfmlvp#sflsofpSql`ffgjmdp#le#wkfjmelqnbwjlm#lm#wkfwkflqjfp#kbuf#affmjmuloufnfmw#jm#wkfgjujgfg#jmwl#wkqffbgib`fmw#`lvmwqjfpjp#qfpslmpjaof#elqgjpplovwjlm#le#wkf`loobalqbwjlm#tjwktjgfoz#qfdbqgfg#bpkjp#`lmwfnslqbqjfpelvmgjmd#nfnafq#leGlnjmj`bm#Qfsvaoj`dfmfqbooz#b``fswfgwkf#slppjajojwz#lebqf#bopl#bubjobaofvmgfq#`lmpwqv`wjlmqfpwlqbwjlm#le#wkfwkf#dfmfqbo#svaoj`jp#bonlpw#fmwjqfozsbppfp#wkqlvdk#wkfkbp#affm#pvddfpwfg`lnsvwfq#bmg#ujgflDfqnbmj`#obmdvbdfp#b``lqgjmd#wl#wkf#gjeefqfmw#eqln#wkfpklqwoz#bewfqtbqgpkqfe>!kwwsp9,,ttt-qf`fmw#gfufolsnfmwAlbqg#le#Gjqf`wlqp?gju#`obpp>!pfbq`k\x7F#?b#kqfe>!kwws9,,Jm#sbqwj`vobq/#wkfNvowjsof#ellwmlwfplq#lwkfq#pvapwbm`fwklvpbmgp#le#zfbqpwqbmpobwjlm#le#wkf?,gju= ?,gju= ?b#kqfe>!jmgf{-skstbp#fpwbaojpkfg#jmnjm-ip!=?,p`qjsw= sbqwj`jsbwf#jm#wkfb#pwqlmd#jmeovfm`fpwzof>!nbqdjm.wls9qfsqfpfmwfg#az#wkfdqbgvbwfg#eqln#wkfWqbgjwjlmbooz/#wkfFofnfmw+!p`qjsw!*8Kltfufq/#pjm`f#wkf,gju= ?,gju= ?gju#ofew8#nbqdjm.ofew9sqlwf`wjlm#bdbjmpw38#ufqwj`bo.bojdm9Vmelqwvmbwfoz/#wkfwzsf>!jnbdf,{.j`lm,gju= ?gju#`obpp>!#`obpp>!`ofbqej{!=?gju#`obpp>!ellwfq\n\n?,gju= \n\n?,gju= wkf#nlwjlm#sj`wvqf<}=f<W<_<\\=l=m<V<T<]=f<W<_<\\=l=m<V<T<H<Y<X<Y=l<\\=j<T<T<Q<Y=m<V<R<W=`<V<R=m<R<R<]=e<Y<Q<T<Y=m<R<R<]=e<Y<Q<T=c<S=l<R<_=l<\\<P<P=g<r=n<S=l<\\<^<T=n=`<]<Y=m<S<W<\\=n<Q<R<P<\\=n<Y=l<T<\\<W=g<S<R<[<^<R<W=c<Y=n<S<R=m<W<Y<X<Q<T<Y=l<\\<[<W<T=k<Q=g=i<S=l<R<X=o<V=j<T<T<S=l<R<_=l<\\<P<P<\\<S<R<W<Q<R=m=n=`=b<Q<\\=i<R<X<T=n=m=c<T<[<]=l<\\<Q<Q<R<Y<Q<\\=m<Y<W<Y<Q<T=c<T<[<P<Y<Q<Y<Q<T=c<V<\\=n<Y<_<R=l<T<T<|<W<Y<V=m<\\<Q<X=l\fHJ\fIa\fHY\fHR\fH\\\fHR\fHB\fId\fHD\fIm\fHi\fH^\fHF\fIa\fH\\\fHJ\fHR\fHD\fHA\fHR\fH\\\fHH\fIl\fHC\fHi\fHD\fIm\fHJ\fIk\fHZ\fHU\fHS\fHD\fIa\fHJ\fIl\fHk\fHn\fHM\fHS\fHC\fHR\fHJ\fHS\fH^\fIa\fH^\fIl\fHi\fHK\fHS\fHy\fHR\fH\\\fHY\fIl\fHM\fHS\fHC\fIg\fHv\fHS\fHs\fIa\fHL\fIk\fHT\fHB\fHR\fHv\fHR\fH\\\fHp\fHn\fHy\fIa\fHZ\fHD\fHJ\fIm\fHD\fHS\fHC\fHR\fHF\fIa\fH\\\fHC\fIg\fH{\fHi\fHD\fIm\fHT\fHR\fH\\\fH}\fHD\fH^\fHR\fHk\fHD\fHF\fHR\fH\\\fIa\fHs\fIl\fHZ\fH\\\fIa\fHH\fIg\fHn\fH^\fIg\fHy\fHT\fHA\fHR\fHG\fHP\fIa\fH^\fId\fHZ\fHZ\fH\\\fIa\fHH\fIk\fHn\fHF\fIa\fH\\\fHJ\fIk\fHZ\fHF\fIa\fH^\fIk\fHC\fH\\\fHy\fIk\fHn\fHJ\fIa\fH\\\fHT\fIa\fHI\fHS\fHH\fHS\fHe\fHH\fIa\fHF\fHR\fHJ\fHe\fHD\fIa\fHU\fIk\fHn\fHv\fHS\fHs\fIa\fHL\fHR\fHC\fHR\fHH\fIa\fH\\\fHR\fHp\fIa\fHC\fHR\fHJ\fHR\fHF\fIm\fH\\\fHR\fHD\fIk\fHp\fIg\fHM\fHP\fIk\fHn\fHi\fHD\fIm\fHY\fHR\fHJ\fHZ\fIa\fH\\\fIk\fHO\fIl\fHZ\fHS\fHy\fIa\fH[\fHR\fHT\fH\\\fHy\fHR\fH\\\fIl\fHT\fHn\fH{\fIa\fH\\\fHU\fHF\fH\\\fHS\fHO\fHR\fHB\fH@\fIa\fH\\\fHR\fHn\fHM\fH@\fHv\fIa\fHv\fIg\fHn\fHe\fHF\fH^\fH@\fIa\fHK\fHB\fHn\fHH\fIa\fH\\\fIl\fHT\fHn\fHF\fH\\\fIa\fHy\fHe\fHB\fIa\fHB\fIl\fHJ\fHB\fHR\fHK\fIa\fHC\fHB\fHT\fHU\fHR\fHC\fHH\fHR\fHZ\fH@\fIa\fHJ\fIg\fHn\fHB\fIl\fHM\fHS\fHC\fHR\fHj\fHd\fHF\fIl\fHc\fH^\fHB\fIg\fH@\fHR\fHk\fH^\fHT\fHn\fHz\fIa\fHC\fHR\fHj\fHF\fH\\\fIk\fHZ\fHD\fHi\fHD\fIm\fH@\fHn\fHK\fH@\fHR\fHp\fHP\fHR\fH\\\fHD\fHY\fIl\fHD\fHH\fHB\fHF\fIa\fH\\\fHB\fIm\fHz\fHF\fIa\fH\\\fHZ\fIa\fHD\fHF\fH\\\fHS\fHY\fHR\fH\\\fHD\fIm\fHy\fHT\fHR\fHD\fHT\fHB\fH\\\fIa\fHI\fHD\fHj\fHC\fIg\fHp\fHS\fHH\fHT\fIg\fHB\fHY\fHR\fH\\4K5h5i4X4K4]5o4K4F4K5h5i5j4F4C5f4K4F4K5h5o5i4D5f5d4F4]4K5h5i4X4K5k4C4K4F4U4C4C4K5h4^5d4K4]4U4C4C4K5h4]4C5d4C4K5h4I4_5h4K5i5f4E4K5h5m5d4F5d4X5d4D4K5h5i4_4K4D5n4K4F4K5h5i4U5h5d5i4K4F4K5h5i4_5h4_5h4K4F4K5h4@4]4K5m5f5o4_4K5h4K4_5h4K5i5f4E4K5h4K4F4Y4K5h4K4Fhfztlqgp!#`lmwfmw>!t0-lqd,2:::,{kwno!=?b#wbqdfw>!\\aobmh!#wf{w,kwno8#`kbqpfw>!#wbqdfw>!\\aobmh!=?wbaof#`foosbggjmd>!bvwl`lnsofwf>!lee!#wf{w.bojdm9#`fmwfq8wl#obpw#ufqpjlm#az#ab`hdqlvmg.`lolq9# !#kqfe>!kwws9,,ttt-,gju=?,gju=?gju#jg>?b#kqfe>! !#`obpp>!!=?jnd#pq`>!kwws9,,`qjsw!#pq`>!kwws9,, ?p`qjsw#obmdvbdf>!,,FM!#!kwws9,,ttt-tfm`lgfVQJ@lnslmfmw+!#kqfe>!ibubp`qjsw9?gju#`obpp>!`lmwfmwgl`vnfmw-tqjwf+$?p`slpjwjlm9#baplovwf8p`qjsw#pq`>!kwws9,,#pwzof>!nbqdjm.wls9-njm-ip!=?,p`qjsw= ?,gju= ?gju#`obpp>!t0-lqd,2:::,{kwno!# ?,algz= ?,kwno=gjpwjm`wjlm#afwtffm,!#wbqdfw>!\\aobmh!=?ojmh#kqfe>!kwws9,,fm`lgjmd>!vwe.;!<= t-bggFufmwOjpwfmfq<b`wjlm>!kwws9,,ttt-j`lm!#kqfe>!kwws9,,#pwzof>!ab`hdqlvmg9wzsf>!wf{w,`pp!#,= nfwb#sqlsfqwz>!ld9w?jmsvw#wzsf>!wf{w!##pwzof>!wf{w.bojdm9wkf#gfufolsnfmw#le#wzofpkffw!#wzsf>!wfkwno8#`kbqpfw>vwe.;jp#`lmpjgfqfg#wl#afwbaof#tjgwk>!233&!#Jm#bggjwjlm#wl#wkf#`lmwqjavwfg#wl#wkf#gjeefqfm`fp#afwtffmgfufolsnfmw#le#wkf#Jw#jp#jnslqwbmw#wl#?,p`qjsw= ?p`qjsw##pwzof>!elmw.pjyf92=?,psbm=?psbm#jg>daOjaqbqz#le#@lmdqfpp?jnd#pq`>!kwws9,,jnFmdojpk#wqbmpobwjlmB`bgfnz#le#P`jfm`fpgju#pwzof>!gjpsobz9`lmpwqv`wjlm#le#wkf-dfwFofnfmwAzJg+jg*jm#`lmivm`wjlm#tjwkFofnfmw+$p`qjsw$*8#?nfwb#sqlsfqwz>!ld9<}=f<W<_<\\=l=m<V<T #wzsf>!wf{w!#mbnf>!=Sqjub`z#Sloj`z?,b=bgnjmjpwfqfg#az#wkffmbaofPjmdofQfrvfpwpwzof>%rvlw8nbqdjm9?,gju=?,gju=?,gju=?=?jnd#pq`>!kwws9,,j#pwzof>%rvlw8eolbw9qfefqqfg#wl#bp#wkf#wlwbo#slsvobwjlm#lejm#Tbpkjmdwlm/#G-@-#pwzof>!ab`hdqlvmg.bnlmd#lwkfq#wkjmdp/lqdbmjybwjlm#le#wkfsbqwj`jsbwfg#jm#wkfwkf#jmwqlgv`wjlm#lejgfmwjejfg#tjwk#wkfej`wjlmbo#`kbqb`wfq#L{elqg#Vmjufqpjwz#njpvmgfqpwbmgjmd#leWkfqf#bqf/#kltfufq/pwzofpkffw!#kqfe>!,@lovnajb#Vmjufqpjwzf{sbmgfg#wl#jm`ovgfvpvbooz#qfefqqfg#wljmgj`bwjmd#wkbw#wkfkbuf#pvddfpwfg#wkbwbeejojbwfg#tjwk#wkf`lqqfobwjlm#afwtffmmvnafq#le#gjeefqfmw=?,wg=?,wq=?,wbaof=Qfsvaoj`#le#Jqfobmg ?,p`qjsw= ?p`qjsw#vmgfq#wkf#jmeovfm`f`lmwqjavwjlm#wl#wkfLeej`jbo#tfapjwf#lekfbgrvbqwfqp#le#wkf`fmwfqfg#bqlvmg#wkfjnsoj`bwjlmp#le#wkfkbuf#affm#gfufolsfgEfgfqbo#Qfsvaoj`#leaf`bnf#jm`qfbpjmdoz`lmwjmvbwjlm#le#wkfMlwf/#kltfufq/#wkbwpjnjobq#wl#wkbw#le#`bsbajojwjfp#le#wkfb``lqgbm`f#tjwk#wkfsbqwj`jsbmwp#jm#wkfevqwkfq#gfufolsnfmwvmgfq#wkf#gjqf`wjlmjp#lewfm#`lmpjgfqfgkjp#zlvmdfq#aqlwkfq?,wg=?,wq=?,wbaof=?b#kwws.frvju>![.VB.skzpj`bo#sqlsfqwjfple#Aqjwjpk#@lovnajbkbp#affm#`qjwj`jyfg+tjwk#wkf#f{`fswjlmrvfpwjlmp#balvw#wkfsbppjmd#wkqlvdk#wkf3!#`foosbggjmd>!3!#wklvpbmgp#le#sflsofqfgjqf`wp#kfqf-#Elqkbuf#`kjogqfm#vmgfq&0F&0@,p`qjsw&0F!**8?b#kqfe>!kwws9,,ttt-?oj=?b#kqfe>!kwws9,,pjwf\\mbnf!#`lmwfmw>!wf{w.gf`lqbwjlm9mlmfpwzof>!gjpsobz9#mlmf?nfwb#kwws.frvju>![.mft#Gbwf+*-dfwWjnf+*#wzsf>!jnbdf,{.j`lm!?,psbm=?psbm#`obpp>!obmdvbdf>!ibubp`qjswtjmglt-ol`bwjlm-kqfe?b#kqfe>!ibubp`qjsw9..= ?p`qjsw#wzsf>!w?b#kqfe>$kwws9,,ttt-klqw`vw#j`lm!#kqfe>!?,gju= ?gju#`obpp>!?p`qjsw#pq`>!kwws9,,!#qfo>!pwzofpkffw!#w?,gju= ?p`qjsw#wzsf>,b=#?b#kqfe>!kwws9,,#booltWqbmpsbqfm`z>![.VB.@lnsbwjaof!#`lmqfobwjlmpkjs#afwtffm ?,p`qjsw= ?p`qjsw#?,b=?,oj=?,vo=?,gju=bppl`jbwfg#tjwk#wkf#sqldqbnnjmd#obmdvbdf?,b=?b#kqfe>!kwws9,,?,b=?,oj=?oj#`obpp>!elqn#b`wjlm>!kwws9,,?gju#pwzof>!gjpsobz9wzsf>!wf{w!#mbnf>!r!?wbaof#tjgwk>!233&!#ab`hdqlvmg.slpjwjlm9!#alqgfq>!3!#tjgwk>!qfo>!pklqw`vw#j`lm!#k5=?vo=?oj=?b#kqfe>!##?nfwb#kwws.frvju>!`pp!#nfgjb>!p`qffm!#qfpslmpjaof#elq#wkf#!#wzsf>!bssoj`bwjlm,!#pwzof>!ab`hdqlvmg.kwno8#`kbqpfw>vwe.;!#booltwqbmpsbqfm`z>!pwzofpkffw!#wzsf>!wf ?nfwb#kwws.frvju>!=?,psbm=?psbm#`obpp>!3!#`foopsb`jmd>!3!=8 ?,p`qjsw= ?p`qjsw#plnfwjnfp#`boofg#wkfglfp#mlw#mf`fppbqjozElq#nlqf#jmelqnbwjlmbw#wkf#afdjmmjmd#le#?"GL@WZSF#kwno=?kwnosbqwj`vobqoz#jm#wkf#wzsf>!kjggfm!#mbnf>!ibubp`qjsw9uljg+3*8!feef`wjufmfpp#le#wkf#bvwl`lnsofwf>!lee!#dfmfqbooz#`lmpjgfqfg=?jmsvw#wzsf>!wf{w!#!=?,p`qjsw= ?p`qjswwkqlvdklvw#wkf#tlqog`lnnlm#njp`lm`fswjlmbppl`jbwjlm#tjwk#wkf?,gju= ?,gju= ?gju#`gvqjmd#kjp#ojefwjnf/`lqqfpslmgjmd#wl#wkfwzsf>!jnbdf,{.j`lm!#bm#jm`qfbpjmd#mvnafqgjsolnbwj`#qfobwjlmpbqf#lewfm#`lmpjgfqfgnfwb#`kbqpfw>!vwe.;!#?jmsvw#wzsf>!wf{w!#f{bnsofp#jm`ovgf#wkf!=?jnd#pq`>!kwws9,,jsbqwj`jsbwjlm#jm#wkfwkf#fpwbaojpknfmw#le ?,gju= ?gju#`obpp>!%bns8maps8%bns8maps8wl#gfwfqnjmf#tkfwkfqrvjwf#gjeefqfmw#eqlnnbqhfg#wkf#afdjmmjmdgjpwbm`f#afwtffm#wkf`lmwqjavwjlmp#wl#wkf`lmeoj`w#afwtffm#wkftjgfoz#`lmpjgfqfg#wltbp#lmf#le#wkf#ejqpwtjwk#ubqzjmd#gfdqffpkbuf#psf`vobwfg#wkbw+gl`vnfmw-dfwFofnfmwsbqwj`jsbwjmd#jm#wkflqjdjmbooz#gfufolsfgfwb#`kbqpfw>!vwe.;!=#wzsf>!wf{w,`pp!#,= jmwfq`kbmdfbaoz#tjwknlqf#`olpfoz#qfobwfgpl`jbo#bmg#slojwj`bowkbw#tlvog#lwkfqtjpfsfqsfmgj`vobq#wl#wkfpwzof#wzsf>!wf{w,`ppwzsf>!pvanjw!#mbnf>!ebnjojfp#qfpjgjmd#jmgfufolsjmd#`lvmwqjfp`lnsvwfq#sqldqbnnjmdf`lmlnj`#gfufolsnfmwgfwfqnjmbwjlm#le#wkfelq#nlqf#jmelqnbwjlmlm#pfufqbo#l``bpjlmpslqwvdv/Fp#+Fvqlsfv*<O<V=l<\\={<Q=m=`<V<\\=o<V=l<\\={<Q=m=`<V<\\<L<R=m=m<T<U=m<V<R<U<P<\\=n<Y=l<T<\\<W<R<^<T<Q=h<R=l<P<\\=j<T<T=o<S=l<\\<^<W<Y<Q<T=c<Q<Y<R<]=i<R<X<T<P<R<T<Q=h<R=l<P<\\=j<T=c<t<Q=h<R=l<P<\\=j<T=c<L<Y=m<S=o<]<W<T<V<T<V<R<W<T=k<Y=m=n<^<R<T<Q=h<R=l<P<\\=j<T=b=n<Y=l=l<T=n<R=l<T<T<X<R=m=n<\\=n<R=k<Q<R4K5h5i4F5d4K4@4C5d5j4K5h4K4X4F4]4K5o4K4F4K5h4K5n4F4]4K4A4K4Fkwno8#`kbqpfw>VWE.;!#pfwWjnflvw+evm`wjlm+*gjpsobz9jmojmf.aol`h8?jmsvw#wzsf>!pvanjw!#wzsf#>#$wf{w,ibubp`qj?jnd#pq`>!kwws9,,ttt-!#!kwws9,,ttt-t0-lqd,pklqw`vw#j`lm!#kqfe>!!#bvwl`lnsofwf>!lee!#?,b=?,gju=?gju#`obpp>?,b=?,oj= ?oj#`obpp>!`pp!#wzsf>!wf{w,`pp!#?elqn#b`wjlm>!kwws9,,{w,`pp!#kqfe>!kwws9,,ojmh#qfo>!bowfqmbwf!# ?p`qjsw#wzsf>!wf{w,#lm`oj`h>!ibubp`qjsw9+mft#Gbwf*-dfwWjnf+*~kfjdkw>!2!#tjgwk>!2!#Sflsof$p#Qfsvaoj`#le##?b#kqfe>!kwws9,,ttt-wf{w.gf`lqbwjlm9vmgfqwkf#afdjmmjmd#le#wkf#?,gju= ?,gju= ?,gju= fpwbaojpknfmw#le#wkf#?,gju=?,gju=?,gju=?,g ujftslqwxnjm.kfjdkw9 ?p`qjsw#pq`>!kwws9,,lswjlm=?lswjlm#ubovf>lewfm#qfefqqfg#wl#bp#,lswjlm= ?lswjlm#ubov?"GL@WZSF#kwno= ?"..XJmwfqmbwjlmbo#Bjqslqw= ?b#kqfe>!kwws9,,ttt?,b=?b#kqfe>!kwws9,,t\fTL\fT^\fTE\fT^\fUh\fT{\fTN\roI\ro|\roL\ro{\roO\rov\rot\nAOGx\bTA\nzk#+\vUmGx*\fHD\fHS\fH\\\fIa\fHJ\fIk\fHZ\fHM\fHR\fHe\fHD\fH^\fIg\fHM\fHy\fIa\fH[\fIk\fHH\fIa\fH\\\fHp\fHR\fHD\fHy\fHR\fH\\\fIl\fHT\fHn\fH@\fHn\fHK\fHS\fHH\fHT\fIa\fHI\fHR\fHF\fHD\fHR\fHT\fIa\fHY\fIl\fHy\fHR\fH\\\fHT\fHn\fHT\fIa\fHy\fH\\\fHO\fHT\fHR\fHB\fH{\fIa\fH\\\fIl\fHv\fHS\fHs\fIa\fHL\fIg\fHn\fHY\fHS\fHp\fIa\fHr\fHR\fHD\fHi\fHB\fIk\fH\\\fHS\fHy\fHR\fHY\fHS\fHA\fHS\fHD\fIa\fHD\fH{\fHR\fHM\fHS\fHC\fHR\fHm\fHy\fIa\fHC\fIg\fHn\fHy\fHS\fHT\fIm\fH\\\fHy\fIa\fH[\fHR\fHF\fHU\fIm\fHm\fHv\fHH\fIl\fHF\fIa\fH\\\fH@\fHn\fHK\fHD\fHs\fHS\fHF\fIa\fHF\fHO\fIl\fHy\fIa\fH\\\fHS\fHy\fIk\fHs\fHF\fIa\fH\\\fHR\fH\\\fHn\fHA\fHF\fIa\fH\\\fHR\fHF\fIa\fHH\fHB\fHR\fH^\fHS\fHy\fIg\fHn\fH\\\fHG\fHP\fIa\fHH\fHR\fH\\\fHD\fHS\fH\\\fIa\fHB\fHR\fHO\fH^\fHS\fHB\fHS\fHs\fIk\fHMgfp`qjswjlm!#`lmwfmw>!gl`vnfmw-ol`bwjlm-sqlw-dfwFofnfmwpAzWbdMbnf+?"GL@WZSF#kwno= ?kwno#?nfwb#`kbqpfw>!vwe.;!=9vqo!#`lmwfmw>!kwws9,,-`pp!#qfo>!pwzofpkffw!pwzof#wzsf>!wf{w,`pp!=wzsf>!wf{w,`pp!#kqfe>!t0-lqd,2:::,{kwno!#{nowzsf>!wf{w,ibubp`qjsw!#nfwklg>!dfw!#b`wjlm>!ojmh#qfo>!pwzofpkffw!##>#gl`vnfmw-dfwFofnfmwwzsf>!jnbdf,{.j`lm!#,=`foosbggjmd>!3!#`foops-`pp!#wzsf>!wf{w,`pp!#?,b=?,oj=?oj=?b#kqfe>!!#tjgwk>!2!#kfjdkw>!2!!=?b#kqfe>!kwws9,,ttt-pwzof>!gjpsobz9mlmf8!=bowfqmbwf!#wzsf>!bssoj.,,T0@,,GWG#[KWNO#2-3#foopsb`jmd>!3!#`foosbg#wzsf>!kjggfm!#ubovf>!,b=%maps8?psbm#qlof>!p ?jmsvw#wzsf>!kjggfm!#obmdvbdf>!IbubP`qjsw!##gl`vnfmw-dfwFofnfmwpAd>!3!#`foopsb`jmd>!3!#zsf>!wf{w,`pp!#nfgjb>!wzsf>$wf{w,ibubp`qjsw$tjwk#wkf#f{`fswjlm#le#zsf>!wf{w,`pp!#qfo>!pw#kfjdkw>!2!#tjgwk>!2!#>$(fm`lgfVQJ@lnslmfmw+?ojmh#qfo>!bowfqmbwf!# algz/#wq/#jmsvw/#wf{wnfwb#mbnf>!qlalwp!#`lmnfwklg>!slpw!#b`wjlm>!= ?b#kqfe>!kwws9,,ttt-`pp!#qfo>!pwzofpkffw!#?,gju=?,gju=?gju#`obppobmdvbdf>!ibubp`qjsw!=bqjb.kjggfm>!wqvf!=.[?qjsw!#wzsf>!wf{w,ibubpo>38~*+*8 +evm`wjlm+*xab`hdqlvmg.jnbdf9#vqo+,b=?,oj=?oj=?b#kqfe>!k\n\n?oj=?b#kqfe>!kwws9,,bwlq!#bqjb.kjggfm>!wqv=#?b#kqfe>!kwws9,,ttt-obmdvbdf>!ibubp`qjsw!#,lswjlm= ?lswjlm#ubovf,gju=?,gju=?gju#`obpp>qbwlq!#bqjb.kjggfm>!wqf>+mft#Gbwf*-dfwWjnf+*slqwvdv/Fp#+gl#Aqbpjo*<R=l<_<\\<Q<T<[<\\=j<T<T<^<R<[<P<R<Z<Q<R=m=n=`<R<]=l<\\<[<R<^<\\<Q<T=c=l<Y<_<T=m=n=l<\\=j<T<T<^<R<[<P<R<Z<Q<R=m=n<T<R<]=c<[<\\=n<Y<W=`<Q<\\?"GL@WZSF#kwno#SVAOJ@#!mw.Wzsf!#`lmwfmw>!wf{w,?nfwb#kwws.frvju>!@lmwfqbmpjwjlmbo,,FM!#!kwws9?kwno#{nomp>!kwws9,,ttt.,,T0@,,GWG#[KWNO#2-3#WGWG,{kwno2.wqbmpjwjlmbo,,ttt-t0-lqd,WQ,{kwno2,sf#>#$wf{w,ibubp`qjsw$8?nfwb#mbnf>!gfp`qjswjlmsbqfmwMlgf-jmpfqwAfelqf?jmsvw#wzsf>!kjggfm!#mbip!#wzsf>!wf{w,ibubp`qj+gl`vnfmw*-qfbgz+evm`wjp`qjsw#wzsf>!wf{w,ibubpjnbdf!#`lmwfmw>!kwws9,,VB.@lnsbwjaof!#`lmwfmw>wno8#`kbqpfw>vwe.;!#,= ojmh#qfo>!pklqw`vw#j`lm?ojmh#qfo>!pwzofpkffw!#?,p`qjsw= ?p`qjsw#wzsf>>#gl`vnfmw-`qfbwfFofnfm?b#wbqdfw>!\\aobmh!#kqfe>#gl`vnfmw-dfwFofnfmwpAjmsvw#wzsf>!wf{w!#mbnf>b-wzsf#>#$wf{w,ibubp`qjmsvw#wzsf>!kjggfm!#mbnfkwno8#`kbqpfw>vwe.;!#,=gwg!= ?kwno#{nomp>!kwws.,,T0@,,GWG#KWNO#7-32#WfmwpAzWbdMbnf+$p`qjsw$*jmsvw#wzsf>!kjggfm!#mbn?p`qjsw#wzsf>!wf{w,ibubp!#pwzof>!gjpsobz9mlmf8!=gl`vnfmw-dfwFofnfmwAzJg+>gl`vnfmw-`qfbwfFofnfmw+$#wzsf>$wf{w,ibubp`qjsw$jmsvw#wzsf>!wf{w!#mbnf>!g-dfwFofnfmwpAzWbdMbnf+pmj`bo!#kqfe>!kwws9,,ttt-@,,GWG#KWNO#7-32#Wqbmpjw?pwzof#wzsf>!wf{w,`pp!= ?pwzof#wzsf>!wf{w,`pp!=jlmbo-gwg!= ?kwno#{nomp>kwws.frvju>!@lmwfmw.Wzsfgjmd>!3!#`foopsb`jmd>!3!kwno8#`kbqpfw>vwe.;!#,= #pwzof>!gjpsobz9mlmf8!=??oj=?b#kqfe>!kwws9,,ttt-#wzsf>$wf{w,ibubp`qjsw$=<X<Y=c=n<Y<W=`<Q<R=m=n<T=m<R<R=n<^<Y=n=m=n<^<T<T<S=l<R<T<[<^<R<X=m=n<^<\\<]<Y<[<R<S<\\=m<Q<R=m=n<T\fHF\fIm\fHT\fIa\fHH\fHS\fHy\fHR\fHy\fHR\fHn\fH{\fIa\fH\\\fIk\fHT\fHe\fHD\fIa\fHU\fIg\fHn\fHD\fIk\fHY\fHS\fHK\fHR\fHD\fHT\fHA\fHR\fHG\fHS\fHy\fIa\fHT\fHS\fHn\fH{\fHT\fIm\fH\\\fHy\fIa\fH[\fHS\fHH\fHy\fIe\fHF\fIl\fH\\\fHR\fHk\fHs\fHY\fHS\fHp\fIa\fHr\fHR\fHF\fHD\fHy\fHR\fH\\\fIa\fH\\\fHY\fHR\fHd\fHT\fHy\fIa\fH\\\fHS\fHC\fHH\fHR',"\u06F7%\u018C'T%\x85'W%\xD7%O%g%\xA6&\u0193%\u01E5&>&*&'&^&\x88\u0178\u0C3E&\u01AD&\u0192&)&^&%&'&\x82&P&1&\xB1&3&]&m&u&E&t&C&\xCF&V&V&/&>&6&\u0F76\u177Co&p&@&E&M&P&x&@&F&e&\xCC&7&:&(&D&0&C&)&.&F&-&1&(&L&F&1\u025E*\u03EA\u21F3&\u1372&K&;&)&E&H&P&0&?&9&V&\x81&-&v&a&,&E&)&?&=&'&'&B&\u0D2E&\u0503&\u0316*&*8&%&%&&&%,)&\x9A&>&\x86&7&]&F&2&>&J&6&n&2&%&?&\x8E&2&6&J&g&-&0&,&*&J&*&O&)&6&(&<&B&N&.&P&@&2&.&W&M&%\u053C\x84(,(<&,&\u03DA&\u18C7&-&,(%&(&%&(\u013B0&X&D&\x81&j&'&J&(&.&B&3&Z&R&h&3&E&E&<\xC6-\u0360\u1EF3&%8?&@&,&Z&@&0&J&,&^&x&_&6&C&6&C\u072C\u2A25&f&-&-&-&-&,&J&2&8&z&8&C&Y&8&-&d&\u1E78\xCC-&7&1&F&7&t&W&7&I&.&.&^&=\u0F9C\u19D3&8(>&/&/&\u077B')'\u1065')'%@/&0&%\u043E\u09C0*&*@&C\u053D\u05D4\u0274\u05EB4\u0DD7\u071A\u04D16\u0D84&/\u0178\u0303Z&*%\u0246\u03FF&\u0134&1\xA8\u04B4\u0174",g2,"AAAAKKLLKKKKKJJIHHIHHGGFF"),setData(h2,g2);function InputStream(e3){this.data=new Int8Array,this.offset=0,this.data=e3}function readInput(e3,t3,n3,r3){if(e3.input===null)return-1;let i3=e3.input,a3=Math.min(i3.offset+r3,i3.data.length),o3=a3-i3.offset;return t3.set(i3.data.subarray(i3.offset,a3),n3),i3.offset+=o3,o3}function closeInput(e3){e3.input=new InputStream(new Int8Array)}function toUsAsciiBytes(e3){let t3=e3.length,n3=new Int8Array(t3);for(let r3=0;r3<t3;++r3)n3[r3]=e3.charCodeAt(r3);return n3}function toUtf8Runes(e3){let t3=e3.length,n3=new Int32Array(t3);for(let r3=0;r3<t3;++r3)n3[r3]=e3.charCodeAt(r3);return n3}function makeError(e3,t3){if(t3>=0)return t3;throw e3.runningState>=0&&(e3.runningState=t3),Error("Brotli error code: "+t3)}function decode(e3,t3){let n3=new State;if(n3.input=new InputStream(e3),initState(n3),t3){let e4=t3.customDictionary;e4&&attachDictionaryChunk(n3,e4)}let r3=0,i3=[];for(;;){let e4=new Int8Array(16384);if(i3.push(e4),n3.output=e4,n3.outputOffset=0,n3.outputLength=16384,n3.outputUsed=0,decompress(n3),r3+=n3.outputUsed,n3.outputUsed<16384)break}close(n3),closeInput(n3);let a3=new Int8Array(r3),o3=0;for(let e4=0;e4<i3.length;++e4){let t4=i3[e4],n4=Math.min(r3,o3+16384)-o3;n4<16384?a3.set(t4.subarray(0,n4),o3):a3.set(t4,o3),o3+=n4}return a3}return decode},Ge=makeBrotliDecode(),BrotliStream=class extends DecodeStream{#e=!0;constructor(e2,t2){super(t2),this.stream=e2,this.dict=e2.dict}readBlock(){let e2=this.stream.getBytes(),t2=Ge(new Int8Array(e2.buffer,e2.byteOffset,e2.length));this.buffer=new Uint8Array(t2.buffer,t2.byteOffset,t2.length),this.bufferLength=this.buffer.length,this.eof=!0}async getImageData(e2,t2){let n2=await this.asyncGetBytes();return n2?n2.length<=e2?n2:n2.subarray(0,e2):this.getBytes(e2)}async asyncGetBytes(){let{decompressed:e2,compressed:t2}=await this.asyncGetBytesFromDecompressionStream("brotli");return e2||(this.#e=!1,this.stream=new Ee(t2,0,t2.length,this.stream.dict),this.reset(),null)}get isAsync(){return this.#e}};async function JBig2(e2={}){var t2,n2=e2,r2=!0,i2=import.meta.url;if(r2)try{new URL(".",i2).href}catch{}console.log.bind(console),console.error.bind(console);var a2,o2,s2=!1;function preRun(){if(n2.preRun)for(typeof n2.preRun=="function"&&(n2.preRun=[n2.preRun]);n2.preRun.length;)addOnPreRun(n2.preRun.shift());callRuntimeCallbacks(l2)}function initRuntime(){s2=!0,u2.j()}function postRun(){if(n2.postRun)for(typeof n2.postRun=="function"&&(n2.postRun=[n2.postRun]);n2.postRun.length;)addOnPostRun(n2.postRun.shift());callRuntimeCallbacks(c2)}var callRuntimeCallbacks=e3=>{for(;e3.length>0;)e3.shift()(n2)},c2=[],addOnPostRun=e3=>c2.push(e3),l2=[],addOnPreRun=e3=>l2.push(e3),writeArrayToMemory=(e3,t3)=>{o2.set(e3,t3)};if(n2.noExitRuntime&&n2.noExitRuntime,n2.print&&n2.print,n2.printErr&&n2.printErr,n2.wasmBinary&&n2.wasmBinary,n2.arguments&&n2.arguments,n2.thisProgram&&n2.thisProgram,n2.preInit)for(typeof n2.preInit=="function"&&(n2.preInit=[n2.preInit]);n2.preInit.length>0;)n2.preInit.shift()();n2.writeArrayToMemory=writeArrayToMemory;function run(){preRun();function doRun(){n2.calledRun=!0,initRuntime(),a2?.(n2),n2.onRuntimeInitialized?.(),postRun()}n2.setStatus?(n2.setStatus("Running..."),setTimeout(()=>{setTimeout(()=>n2.setStatus(""),1),doRun()},1)):doRun()}var u2={}();return run(),t2=s2?n2:new Promise((e3,t3)=>{a2=e3}),t2}var Ke=JBig2,qe=class WasmImage{static#e=null;static#t=new Set;static#n=!0;static#r=!0;static#i=null;#a=null;_filename=null;_noWasmFilename=null;static setOptions({handler:e2,useWasm:t2,useWorkerFetch:n2,wasmUrl:r2}){WasmImage.#n=t2,WasmImage.#r=n2,WasmImage.#i=r2,n2||(WasmImage.#e=e2)}static get instance(){unreachable$1("Abstract getter `instance` accessed")}static cleanup(){for(let e2 of WasmImage.#t)e2.#a=null}constructor(e2=!1){e2&&WasmImage.#t.add(this)}_getModule(e2){return this.#a}async decode(e2,t2){unreachable$1("Abstract method `decode` called")}},Jbig2Error=class extends k{constructor(e2){super(e2,"Jbig2Error")}},Je=class JBig2CCITTFaxImage extends qe{_filename="jbig2.wasm";_noWasmFilename="jbig2_nowasm_fallback.js";static get instance(){return shadow$1(this,"instance",new JBig2CCITTFaxImage(!0))}async decode(e2,t2,n2,r2,i2){let a2=await this._getModule(Ke);if(!a2)throw new Jbig2Error("JBig2 failed to initialize");let o2,s2;try{let c2=e2.length;if(o2=a2._malloc(c2),a2.writeArrayToMemory(e2,o2),i2)a2._ccitt_decode(o2,c2,t2,n2,i2.K,+!!i2.EndOfLine,+!!i2.EncodedByteAlign,+!!i2.BlackIs1,i2.Columns,i2.Rows);else{let e3=r2?r2.length:0;e3>0&&(s2=a2._malloc(e3),a2.writeArrayToMemory(r2,s2)),a2._jbig2_decode(o2,c2,t2,n2,s2,e3)}if(!a2.imageData)throw new Jbig2Error("Unknown error");let{imageData:l2}=a2;return a2.imageData=null,l2}finally{o2&&a2._free(o2),s2&&a2._free(s2)}}},CCITTFaxStream=class extends DecodeStream{constructor(e2,t2,n2){super(t2),this.stream=e2,this.maybeLength=t2,this.dict=e2.dict,n2 instanceof F||(n2=F.empty),this.params={K:n2.get("K")||0,EndOfLine:!!n2.get("EndOfLine"),EncodedByteAlign:!!n2.get("EncodedByteAlign"),Columns:n2.get("Columns")||1728,Rows:n2.get("Rows")||0,EndOfBlock:!!(n2.get("EndOfBlock")??!0),BlackIs1:!!n2.get("BlackIs1")}}get bytes(){return shadow$1(this,"bytes",this.stream.getBytes(this.maybeLength))}get isImageStream(){return!0}get isAsyncDecoder(){return!0}async decodeImage(e2,t2,n2){return this.eof?this.buffer:(e2||=this.stream.isAsync&&await this.stream.asyncGetBytes()||this.bytes,this.buffer=await Je.instance.decode(e2,this.dict.get("W","Width"),this.dict.get("H","Height"),null,this.params),this.bufferLength=this.buffer.length,this.eof=!0,this.buffer)}},Ye=new Int32Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Xe=new Int32Array([3,4,5,6,7,8,9,10,65547,65549,65551,65553,131091,131095,131099,131103,196643,196651,196659,196667,262211,262227,262243,262259,327811,327843,327875,327907,258,258,258]),Ze=new Int32Array([1,2,3,4,65541,65543,131081,131085,196625,196633,262177,262193,327745,327777,393345,393409,459009,459137,524801,525057,590849,591361,657409,658433,724993,727041,794625,798721,868353,876545]),Qe=[new Int32Array([459008,524368,524304,524568,459024,524400,524336,590016,459016,524384,524320,589984,524288,524416,524352,590048,459012,524376,524312,589968,459028,524408,524344,590032,459020,524392,524328,59e4,524296,524424,524360,590064,459010,524372,524308,524572,459026,524404,524340,590024,459018,524388,524324,589992,524292,524420,524356,590056,459014,524380,524316,589976,459030,524412,524348,590040,459022,524396,524332,590008,524300,524428,524364,590072,459009,524370,524306,524570,459025,524402,524338,590020,459017,524386,524322,589988,524290,524418,524354,590052,459013,524378,524314,589972,459029,524410,524346,590036,459021,524394,524330,590004,524298,524426,524362,590068,459011,524374,524310,524574,459027,524406,524342,590028,459019,524390,524326,589996,524294,524422,524358,590060,459015,524382,524318,589980,459031,524414,524350,590044,459023,524398,524334,590012,524302,524430,524366,590076,459008,524369,524305,524569,459024,524401,524337,590018,459016,524385,524321,589986,524289,524417,524353,590050,459012,524377,524313,589970,459028,524409,524345,590034,459020,524393,524329,590002,524297,524425,524361,590066,459010,524373,524309,524573,459026,524405,524341,590026,459018,524389,524325,589994,524293,524421,524357,590058,459014,524381,524317,589978,459030,524413,524349,590042,459022,524397,524333,590010,524301,524429,524365,590074,459009,524371,524307,524571,459025,524403,524339,590022,459017,524387,524323,589990,524291,524419,524355,590054,459013,524379,524315,589974,459029,524411,524347,590038,459021,524395,524331,590006,524299,524427,524363,590070,459011,524375,524311,524575,459027,524407,524343,590030,459019,524391,524327,589998,524295,524423,524359,590062,459015,524383,524319,589982,459031,524415,524351,590046,459023,524399,524335,590014,524303,524431,524367,590078,459008,524368,524304,524568,459024,524400,524336,590017,459016,524384,524320,589985,524288,524416,524352,590049,459012,524376,524312,589969,459028,524408,524344,590033,459020,524392,524328,590001,524296,524424,524360,590065,459010,524372,524308,524572,459026,524404,524340,590025,459018,524388,524324,589993,524292,524420,524356,590057,459014,524380,524316,589977,459030,524412,524348,590041,459022,524396,524332,590009,524300,524428,524364,590073,459009,524370,524306,524570,459025,524402,524338,590021,459017,524386,524322,589989,524290,524418,524354,590053,459013,524378,524314,589973,459029,524410,524346,590037,459021,524394,524330,590005,524298,524426,524362,590069,459011,524374,524310,524574,459027,524406,524342,590029,459019,524390,524326,589997,524294,524422,524358,590061,459015,524382,524318,589981,459031,524414,524350,590045,459023,524398,524334,590013,524302,524430,524366,590077,459008,524369,524305,524569,459024,524401,524337,590019,459016,524385,524321,589987,524289,524417,524353,590051,459012,524377,524313,589971,459028,524409,524345,590035,459020,524393,524329,590003,524297,524425,524361,590067,459010,524373,524309,524573,459026,524405,524341,590027,459018,524389,524325,589995,524293,524421,524357,590059,459014,524381,524317,589979,459030,524413,524349,590043,459022,524397,524333,590011,524301,524429,524365,590075,459009,524371,524307,524571,459025,524403,524339,590023,459017,524387,524323,589991,524291,524419,524355,590055,459013,524379,524315,589975,459029,524411,524347,590039,459021,524395,524331,590007,524299,524427,524363,590071,459011,524375,524311,524575,459027,524407,524343,590031,459019,524391,524327,589999,524295,524423,524359,590063,459015,524383,524319,589983,459031,524415,524351,590047,459023,524399,524335,590015,524303,524431,524367,590079]),9],$e=[new Int32Array([327680,327696,327688,327704,327684,327700,327692,327708,327682,327698,327690,327706,327686,327702,327694,0,327681,327697,327689,327705,327685,327701,327693,327709,327683,327699,327691,327707,327687,327703,327695,0]),5],FlateStream=class extends DecodeStream{#e=!0;constructor(e2,t2){super(t2),this.stream=e2,this.dict=e2.dict;let n2=e2.getByte(),r2=e2.getByte();if(n2===-1||r2===-1)throw new FormatError$1(`Invalid header in flate stream: ${n2}, ${r2}`);if((n2&15)!=8)throw new FormatError$1(`Unknown compression method in flate stream: ${n2}, ${r2}`);if(((n2<<8)+r2)%31!=0)throw new FormatError$1(`Bad FCHECK in flate stream: ${n2}, ${r2}`);if(r2&32)throw new FormatError$1(`FDICT bit set in flate stream: ${n2}, ${r2}`);this.codeSize=0,this.codeBuf=0}async getImageData(e2,t2){let n2=await this.asyncGetBytes();return n2?n2.length<=e2?n2:n2.subarray(0,e2):this.getBytes(e2)}async asyncGetBytes(){let{decompressed:e2,compressed:t2}=await this.asyncGetBytesFromDecompressionStream("deflate");return e2||(this.#e=!1,this.stream=new Ee(t2,2,t2.length,this.stream.dict),this.reset(),null)}get isAsync(){return this.#e}getBits(e2){let t2=this.stream,n2=this.codeSize,r2=this.codeBuf,i2;for(;n2<e2;){if((i2=t2.getByte())===-1)throw new FormatError$1("Bad encoding in flate stream");r2|=i2<<n2,n2+=8}return i2=r2&(1<<e2)-1,this.codeBuf=r2>>e2,this.codeSize=n2-=e2,i2}getCode(e2){let t2=this.stream,n2=e2[0],r2=e2[1],i2=this.codeSize,a2=this.codeBuf,o2;for(;i2<r2&&(o2=t2.getByte())!==-1;)a2|=o2<<i2,i2+=8;let s2=n2[a2&(1<<r2)-1],c2=s2>>16,l2=s2&65535;if(c2<1||i2<c2)throw new FormatError$1("Bad encoding in flate stream");return this.codeBuf=a2>>c2,this.codeSize=i2-c2,l2}generateHuffmanTable(e2){let t2=e2.length,n2=0,r2;for(r2=0;r2<t2;++r2)e2[r2]>n2&&(n2=e2[r2]);let i2=1<<n2,a2=new Int32Array(i2);for(let o2=1,s2=0,c2=2;o2<=n2;++o2,s2<<=1,c2<<=1)for(let n3=0;n3<t2;++n3)if(e2[n3]===o2){let e3=0,t3=s2;for(r2=0;r2<o2;++r2)e3=e3<<1|t3&1,t3>>=1;for(r2=e3;r2<i2;r2+=c2)a2[r2]=o2<<16|n3;++s2}return[a2,n2]}#t(e2){info$1(e2),this.eof=!0}readBlock(){let e2,t2,n2,r2=this.stream;try{t2=this.getBits(3)}catch(e3){this.#t(e3.message);return}if(t2&1&&(this.eof=!0),t2>>=1,t2===0){let t3;if((t3=r2.getByte())===-1){this.#t("Bad block header in flate stream");return}let n3=t3;if((t3=r2.getByte())===-1){this.#t("Bad block header in flate stream");return}if(n3|=t3<<8,(t3=r2.getByte())===-1){this.#t("Bad block header in flate stream");return}let i3=t3;if((t3=r2.getByte())===-1){this.#t("Bad block header in flate stream");return}if(i3|=t3<<8,i3!==(~n3&65535)&&(n3!==0||i3!==0))throw new FormatError$1("Bad uncompressed block length in flate stream");this.codeBuf=0,this.codeSize=0;let a3=this.bufferLength,o3=a3+n3;if(e2=this.ensureBuffer(o3),this.bufferLength=o3,n3===0)r2.peekByte()===-1&&(this.eof=!0);else{let t4=r2.getBytes(n3);e2.set(t4,a3),t4.length<n3&&(this.eof=!0)}return}let i2,a2;if(t2===1)i2=Qe,a2=$e;else if(t2===2){let e3=this.getBits(5)+257,t3=this.getBits(5)+1,r3=this.getBits(4)+4,o3=new Uint8Array(Ye.length),s3;for(s3=0;s3<r3;++s3)o3[Ye[s3]]=this.getBits(3);let c2=this.generateHuffmanTable(o3);n2=0,s3=0;let l2=e3+t3,u2=new Uint8Array(l2),d2,f2,p2;for(;s3<l2;){let e4=this.getCode(c2);if(e4===16)d2=2,f2=3,p2=n2;else if(e4===17)d2=3,f2=3,p2=n2=0;else if(e4===18)d2=7,f2=11,p2=n2=0;else{u2[s3++]=n2=e4;continue}let t4=this.getBits(d2)+f2;for(;t4-- >0;)u2[s3++]=p2}i2=this.generateHuffmanTable(u2.subarray(0,e3)),a2=this.generateHuffmanTable(u2.subarray(e3,l2))}else throw new FormatError$1("Unknown block type in flate stream");e2=this.buffer;let o2=e2?e2.length:0,s2=this.bufferLength;for(;;){let t3=this.getCode(i2);if(t3<256){s2+1>=o2&&(e2=this.ensureBuffer(s2+1),o2=e2.length),e2[s2++]=t3;continue}if(t3===256){this.bufferLength=s2;return}t3-=257,t3=Xe[t3];let r3=t3>>16;r3>0&&(r3=this.getBits(r3)),n2=(t3&65535)+r3,t3=this.getCode(a2),t3=Ze[t3],r3=t3>>16,r3>0&&(r3=this.getBits(r3));let c2=(t3&65535)+r3;s2+n2>=o2&&(e2=this.ensureBuffer(s2+n2),o2=e2.length);for(let t4=0;t4<n2;++t4,++s2)e2[s2]=e2[s2-c2]}}},et=class Jbig2Stream extends DecodeStream{constructor(e2,t2,n2){super(t2),this.stream=e2,this.dict=e2.dict,this.maybeLength=t2,this.params=n2}get bytes(){return shadow$1(this,"bytes",this.stream.getBytes(this.maybeLength))}ensureBuffer(e2){}get isAsyncDecoder(){return!0}get isImageStream(){return!0}static stripFileHeader(e2){if(e2.length>=9&&e2[0]===151&&e2[1]===74&&e2[2]===66&&e2[3]===50&&e2[4]===13&&e2[5]===10&&e2[6]===26&&e2[7]===10){let t2=e2[8]&2?9:13;return e2.subarray(t2)}return e2}async decodeImage(e2,t2,n2){if(this.eof)return this.buffer;e2=Jbig2Stream.stripFileHeader(e2||this.bytes);let r2=null;if(this.params instanceof F){let e3=this.params.get("JBIG2Globals");e3 instanceof BaseStream&&(r2=Jbig2Stream.stripFileHeader(e3.getBytes()))}return this.buffer=await Je.instance.decode(e2,this.dict.get("Width"),this.dict.get("Height"),r2),this.bufferLength=this.buffer.length,this.eof=!0,this.buffer}get canAsyncDecodeImageFromBuffer(){return this.stream.isAsync}};async function OpenJPEG(e2={}){var t2,n2=e2,r2=!0,i2="./this.program",a2=import.meta.url;if(r2)try{new URL(".",a2).href}catch{}console.log.bind(console),console.error.bind(console);class EmscriptenEH{}class EmscriptenSjLj extends EmscriptenEH{}var o2,s2=!1;function preRun(){if(n2.preRun)for(typeof n2.preRun=="function"&&(n2.preRun=[n2.preRun]);n2.preRun.length;)addOnPreRun(n2.preRun.shift());callRuntimeCallbacks(u2)}function initRuntime(){s2=!0,f2.s()}function postRun(){if(n2.postRun)for(typeof n2.postRun=="function"&&(n2.postRun=[n2.postRun]);n2.postRun.length;)addOnPostRun(n2.postRun.shift());callRuntimeCallbacks(l2)}var c2,callRuntimeCallbacks=e3=>{for(;e3.length>0;)e3.shift()(n2)},l2=[],addOnPostRun=e3=>l2.push(e3),u2=[],addOnPreRun=e3=>u2.push(e3),d2={},getExecutableName=()=>i2||"./this.program",getEnvStrings=()=>{if(!getEnvStrings.strings){var e3={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:(globalThis.navigator?.language??"C").replace("-","_")+".UTF-8",_:getExecutableName()};for(var t3 in d2)d2[t3]===void 0?delete e3[t3]:e3[t3]=d2[t3];var n3=[];for(var t3 in e3)n3.push(`${t3}=${e3[t3]}`);getEnvStrings.strings=n3}return getEnvStrings.strings};globalThis.TextDecoder&&new TextDecoder;var writeArrayToMemory=(e3,t3)=>{c2.set(e3,t3)};if(n2.noExitRuntime&&n2.noExitRuntime,n2.print&&n2.print,n2.printErr&&n2.printErr,n2.wasmBinary&&n2.wasmBinary,n2.arguments&&n2.arguments,n2.thisProgram&&(i2=n2.thisProgram),n2.preInit)for(typeof n2.preInit=="function"&&(n2.preInit=[n2.preInit]);n2.preInit.length>0;)n2.preInit.shift()();n2.writeArrayToMemory=writeArrayToMemory;function run(){preRun();function doRun(){n2.calledRun=!0,initRuntime(),o2?.(n2),n2.onRuntimeInitialized?.(),postRun()}n2.setStatus?(n2.setStatus("Running..."),setTimeout(()=>{setTimeout(()=>n2.setStatus(""),1),doRun()},1)):doRun()}var f2={}();return run(),t2=s2?n2:new Promise((e3,t3)=>{o2=e3}),t2}var tt=OpenJPEG,JpxError=class extends k{constructor(e2){super(e2,"JpxError")}},nt=class JpxImage extends qe{_filename="openjpeg.wasm";_noWasmFilename="openjpeg_nowasm_fallback.js";static get instance(){return shadow$1(this,"instance",new JpxImage(!0))}async decode(e2,{numComponents:t2=4,isIndexedColormap:n2=!1,smaskInData:r2=!1,reducePower:i2=0}={}){let a2=await this._getModule(tt);if(!a2)throw new JpxError("OpenJPEG failed to initialize");let o2;try{let s2=e2.length;if(o2=a2._malloc(s2),a2.writeArrayToMemory(e2,o2),a2._jp2_decode(o2,s2,t2>0?t2:0,!!n2,!!r2,i2)){let{errorMessages:e3}=a2;throw e3?(delete a2.errorMessages,new JpxError(e3)):new JpxError("Unknown error")}let{imageData:c2}=a2;return a2.imageData=null,c2}finally{o2&&a2._free(o2)}}static parseImageProperties(e2){let t2=e2.getByte();for(;t2>=0;){let n2=t2;if(t2=e2.getByte(),(n2<<8|t2)==65361){e2.skip(4);let t3=e2.getInt32()>>>0,n3=e2.getInt32()>>>0,r2=e2.getInt32()>>>0,i2=e2.getInt32()>>>0;e2.skip(16);let a2=e2.getUint16();return{width:t3-r2,height:n3-i2,bitsPerComponent:8,componentsCount:a2}}}throw new JpxError("No size marker found in JPX stream")}},JpxStream=class extends DecodeStream{constructor(e2,t2){super(t2),this.stream=e2,this.dict=e2.dict,this.maybeLength=t2}get bytes(){return shadow$1(this,"bytes",this.stream.getBytes(this.maybeLength))}ensureBuffer(e2){}get isAsyncDecoder(){return!0}async decodeImage(e2,t2,n2){return this.eof?this.buffer:(e2||=this.bytes,this.buffer=await nt.instance.decode(e2,n2),this.bufferLength=this.buffer.length,this.eof=!0,this.buffer)}get canAsyncDecodeImageFromBuffer(){return this.stream.isAsync}get isImageStream(){return!0}},LZWStream=class extends DecodeStream{constructor(e2,t2,n2){super(t2),this.stream=e2,this.dict=e2.dict,this.cachedData=0,this.bitsCached=0;let r2=4096,i2={earlyChange:n2,codeLength:9,nextCode:258,dictionaryValues:new Uint8Array(r2),dictionaryLengths:new Uint16Array(r2),dictionaryPrevCodes:new Uint16Array(r2),currentSequence:new Uint8Array(r2),currentSequenceLength:0};for(let e3=0;e3<256;++e3)i2.dictionaryValues[e3]=e3,i2.dictionaryLengths[e3]=1;this.lzwState=i2}readBits(e2){let t2=this.bitsCached,n2=this.cachedData;for(;t2<e2;){let e3=this.stream.getByte();if(e3===-1)return this.eof=!0,null;n2=n2<<8|e3,t2+=8}return this.bitsCached=t2-=e2,this.cachedData=n2,n2>>>t2&(1<<e2)-1}readBlock(){let e2=1024,t2,n2,r2,i2=this.lzwState;if(!i2)return;let a2=i2.earlyChange,o2=i2.nextCode,s2=i2.dictionaryValues,c2=i2.dictionaryLengths,l2=i2.dictionaryPrevCodes,u2=i2.codeLength,d2=i2.prevCode,f2=i2.currentSequence,p2=i2.currentSequenceLength,m2=0,h2=this.bufferLength,g2=this.ensureBuffer(this.bufferLength+e2);for(t2=0;t2<512;t2++){let t3=this.readBits(u2),i3=p2>0;if(t3<256)f2[0]=t3,p2=1;else if(t3>=258)if(t3<o2)for(p2=c2[t3],n2=p2-1,r2=t3;n2>=0;n2--)f2[n2]=s2[r2],r2=l2[r2];else f2[p2++]=f2[0];else if(t3===256){u2=9,o2=258,p2=0;continue}else{this.eof=!0,delete this.lzwState;break}if(i3&&(l2[o2]=d2,c2[o2]=c2[d2]+1,s2[o2]=f2[0],o2++,u2=o2+a2&o2+a2-1?u2:Math.min(Math.log(o2+a2)/.6931471805599453+1,12)|0),d2=t3,m2+=p2,e2<m2){do e2+=512;while(e2<m2);g2=this.ensureBuffer(this.bufferLength+e2)}for(n2=0;n2<p2;n2++)g2[h2++]=f2[n2]}i2.nextCode=o2,i2.codeLength=u2,i2.prevCode=d2,i2.currentSequenceLength=p2,this.bufferLength=h2}},PredictorStream=class extends DecodeStream{constructor(e2,t2,n2){if(super(t2),!(n2 instanceof F))return e2;let r2=this.predictor=n2.get("Predictor")||1;if(r2<=1)return e2;if(r2!==2&&(r2<10||r2>15))throw new FormatError$1(`Unsupported predictor: ${r2}`);this.readBlock=r2===2?this.readBlockTiff:this.readBlockPng,this.stream=e2,this.dict=e2.dict;let i2=this.colors=n2.get("Colors")||1,a2=this.bits=n2.get("BPC","BitsPerComponent")||8,o2=this.columns=n2.get("Columns")||1;return this.pixBytes=i2*a2+7>>3,this.rowBytes=o2*i2*a2+7>>3,this}readBlockTiff(){let e2=this.rowBytes,t2=this.bufferLength,n2=this.ensureBuffer(t2+e2),r2=this.bits,i2=this.colors,a2=this.stream.getBytes(e2);if(this.eof=!a2.length,this.eof)return;let o2=0,s2=0,c2=0,l2=0,u2=t2,d2;if(r2===1&&i2===1)for(d2=0;d2<e2;++d2){let e3=a2[d2]^o2;e3^=e3>>1,e3^=e3>>2,e3^=e3>>4,o2=(e3&1)<<7,n2[u2++]=e3}else if(r2===8){for(d2=0;d2<i2;++d2)n2[u2++]=a2[d2];for(;d2<e2;++d2)n2[u2]=n2[u2-i2]+a2[d2],u2++}else if(r2===16){let t3=i2*2;for(d2=0;d2<t3;++d2)n2[u2++]=a2[d2];for(;d2<e2;d2+=2){let e3=((a2[d2]&255)<<8)+(a2[d2+1]&255)+((n2[u2-t3]&255)<<8)+(n2[u2-t3+1]&255);n2[u2++]=e3>>8&255,n2[u2++]=e3&255}}else{let e3=new Uint8Array(i2+1),u3=(1<<r2)-1,f2=0,p2=t2,m2=this.columns;for(d2=0;d2<m2;++d2)for(let t3=0;t3<i2;++t3)c2<r2&&(o2=o2<<8|a2[f2++]&255,c2+=8),e3[t3]=e3[t3]+(o2>>c2-r2)&u3,c2-=r2,s2=s2<<r2|e3[t3],l2+=r2,l2>=8&&(n2[p2++]=s2>>l2-8&255,l2-=8);l2>0&&(n2[p2++]=(s2<<8-l2)+(o2&(1<<8-l2)-1))}this.bufferLength+=e2}readBlockPng(){let e2=this.rowBytes,t2=this.pixBytes,n2=this.stream.getByte(),r2=this.stream.getBytes(e2);if(this.eof=!r2.length,this.eof)return;let i2=this.bufferLength,a2=this.ensureBuffer(i2+e2),o2=a2.subarray(i2-e2,i2);o2.length===0&&(o2=new Uint8Array(e2));let s2,c2=i2,l2,u2;switch(n2){case 0:for(s2=0;s2<e2;++s2)a2[c2++]=r2[s2];break;case 1:for(s2=0;s2<t2;++s2)a2[c2++]=r2[s2];for(;s2<e2;++s2)a2[c2]=a2[c2-t2]+r2[s2]&255,c2++;break;case 2:for(s2=0;s2<e2;++s2)a2[c2++]=o2[s2]+r2[s2]&255;break;case 3:for(s2=0;s2<t2;++s2)a2[c2++]=(o2[s2]>>1)+r2[s2];for(;s2<e2;++s2)a2[c2]=(o2[s2]+a2[c2-t2]>>1)+r2[s2]&255,c2++;break;case 4:for(s2=0;s2<t2;++s2)l2=o2[s2],u2=r2[s2],a2[c2++]=l2+u2;for(;s2<e2;++s2){l2=o2[s2];let e3=o2[s2-t2],n3=a2[c2-t2],i3=n3+l2-e3,d2=i3-n3;d2<0&&(d2=-d2);let f2=i3-l2;f2<0&&(f2=-f2);let p2=i3-e3;p2<0&&(p2=-p2),u2=r2[s2],d2<=f2&&d2<=p2?a2[c2++]=n3+u2:f2<=p2?a2[c2++]=l2+u2:a2[c2++]=e3+u2}break;default:throw new FormatError$1(`Unsupported predictor: ${n2}`)}this.bufferLength+=e2}},RunLengthStream=class extends DecodeStream{constructor(e2,t2){super(t2),this.stream=e2,this.dict=e2.dict}readBlock(){let e2=this.stream.getBytes(2);if(!e2||e2.length<2||e2[0]===128){this.eof=!0;return}let t2,n2=this.bufferLength,r2=e2[0];if(r2<128){if(t2=this.ensureBuffer(n2+r2+1),t2[n2++]=e2[1],r2>0){let e3=this.stream.getBytes(r2);t2.set(e3,n2),n2+=r2}}else r2=257-r2,t2=this.ensureBuffer(n2+r2+1),t2.fill(e2[1],n2,n2+r2),n2+=r2;this.bufferLength=n2}};function getInlineImageCacheKey(e2){let t2=[],n2=e2.length,r2=0;for(;r2<n2-1;)t2.push(e2[r2++]<<8|e2[r2++]);return r2<n2&&t2.push(e2[r2]),n2+"_"+String.fromCharCode.apply(null,t2)}var Parser=class{constructor({lexer:e2,xref:t2,allowStreams:n2=!1,recoveryMode:r2=!1}){this.lexer=e2,this.xref=t2,this.allowStreams=n2,this.recoveryMode=r2,this.imageCache=Object.create(null),this._imageId=0,this.refill()}refill(){this.buf1=this.lexer.getObj(),this.buf2=this.lexer.getObj()}shift(){this.buf2 instanceof ae&&this.buf2.cmd==="ID"?(this.buf1=this.buf2,this.buf2=null):(this.buf1=this.buf2,this.buf2=this.lexer.getObj())}tryShift(){try{return this.shift(),!0}catch(e2){if(e2 instanceof MissingDataException)throw e2;return!1}}getObj(e2=null){let t2=this.buf1;if(this.shift(),t2 instanceof ae)switch(t2.cmd){case"BI":return this.makeInlineImage(e2);case"[":let n2=[];for(;!isCmd(this.buf1,"]")&&this.buf1!==te;)n2.push(this.getObj(e2));if(this.buf1===te){if(this.recoveryMode)return n2;throw new ParserEOFException("End of file inside array.")}return this.shift(),n2;case"<<":let r2=new F(this.xref);for(;!isCmd(this.buf1,">>")&&this.buf1!==te;){if(!(this.buf1 instanceof N)){info$1("Malformed dictionary: key must be a name object"),this.shift();continue}let t3=this.buf1.name;if(this.shift(),this.buf1===te)break;r2.set(t3,this.getObj(e2))}if(this.buf1===te){if(this.recoveryMode)return r2;throw new ParserEOFException("End of file inside dictionary.")}return isCmd(this.buf2,"stream")?this.allowStreams?this.makeStream(r2,e2):r2:(this.shift(),r2);default:return t2}if(Number.isInteger(t2)){if(Number.isInteger(this.buf1)&&isCmd(this.buf2,"R")){let e3=L.get(t2,this.buf1);return this.shift(),this.shift(),e3}return t2}return typeof t2=="string"&&e2?e2.decryptString(t2):t2}findDefaultInlineStreamEnd(e2){let{knownCommands:t2}=this.lexer,n2=e2.pos,r2=0,i2,a2;for(;(i2=e2.getByte())!==-1;)if(r2===0)r2=+(i2===69);else if(r2===1)r2=i2===73?2:0;else if(i2===32||i2===10||i2===13){a2=e2.pos;let n3=e2.peekBytes(15),o3=n3.length;if(o3===0)break;for(let e3=0;e3<o3;e3++)if(i2=n3[e3],(i2!==0||n3[e3+1]===0)&&i2!==10&&i2!==13&&(i2<32||i2>127)){r2=0;break}if(r2!==2)continue;if(!t2){warn$1("findDefaultInlineStreamEnd - `lexer.knownCommands` is undefined.");continue}let s2=new Lexer(new Ee(e2.peekBytes(75)),t2);s2._hexStringWarn=()=>{};let c2=0;for(;;){let e3=s2.getObj();if(e3===te){r2=0;break}if(e3 instanceof ae){let n4=t2[e3.cmd];if(n4){if(n4.variableArgs?c2<=n4.numArgs:c2===n4.numArgs)break}else{r2=0;break}c2=0;continue}c2++}if(r2===2)break}else r2=0;i2===-1&&(warn$1("findDefaultInlineStreamEnd: Reached the end of the stream without finding a valid EI marker"),a2&&(warn$1('... trying to recover by using the last "EI" occurrence.'),e2.skip(-(e2.pos-a2))));let o2=4;return e2.skip(-o2),i2=e2.peekByte(),e2.skip(o2),isWhiteSpace(i2)||o2--,e2.pos-o2-n2}findDCTDecodeInlineStreamEnd(e2){let t2=e2.pos,n2=!1,r2,i2;for(;(r2=e2.getByte())!==-1;)if(r2===255){switch(e2.getByte()){case 0:break;case 255:e2.skip(-1);break;case 217:n2=!0;break;case 192:case 193:case 194:case 195:case 197:case 198:case 199:case 201:case 202:case 203:case 205:case 206:case 207:case 196:case 204:case 218:case 219:case 220:case 221:case 222:case 223:case 224:case 225:case 226:case 227:case 228:case 229:case 230:case 231:case 232:case 233:case 234:case 235:case 236:case 237:case 238:case 239:case 254:i2=e2.getUint16(),i2>2?e2.skip(i2-2):e2.skip(-2);break}if(n2)break}let a2=e2.pos-t2;return r2===-1?(warn$1("Inline DCTDecode image stream: EOI marker not found, searching for /EI/ instead."),e2.skip(-a2),this.findDefaultInlineStreamEnd(e2)):(this.inlineStreamSkipEI(e2),a2)}findASCII85DecodeInlineStreamEnd(e2){let t2=e2.pos,n2;for(;(n2=e2.getByte())!==-1;)if(n2===126){let t3=e2.pos;for(n2=e2.peekByte();isWhiteSpace(n2);)e2.skip(),n2=e2.peekByte();if(n2===62){e2.skip();break}if(e2.pos>t3){let t4=e2.peekBytes(2);if(t4[0]===69&&t4[1]===73)break}}let r2=e2.pos-t2;return n2===-1?(warn$1("Inline ASCII85Decode image stream: EOD marker not found, searching for /EI/ instead."),e2.skip(-r2),this.findDefaultInlineStreamEnd(e2)):(this.inlineStreamSkipEI(e2),r2)}findASCIIHexDecodeInlineStreamEnd(e2){let t2=e2.pos,n2;for(;(n2=e2.getByte())!==-1&&n2!==62;);let r2=e2.pos-t2;return n2===-1?(warn$1("Inline ASCIIHexDecode image stream: EOD marker not found, searching for /EI/ instead."),e2.skip(-r2),this.findDefaultInlineStreamEnd(e2)):(this.inlineStreamSkipEI(e2),r2)}inlineStreamSkipEI(e2){let t2=0,n2;for(;(n2=e2.getByte())!==-1;)if(t2===0)t2=+(n2===69);else if(t2===1)t2=n2===73?2:0;else if(t2===2)break}makeInlineImage(e2){let t2=this.lexer,n2=t2.stream,r2=Object.create(null),i2;for(;!isCmd(this.buf1,"ID")&&this.buf1!==te;){if(!(this.buf1 instanceof N))throw new FormatError$1("Dictionary key must be a name object");let t3=this.buf1.name;if(this.shift(),this.buf1===te)break;r2[t3]=this.getObj(e2)}t2.beginInlineImagePos!==-1&&(i2=n2.pos-t2.beginInlineImagePos);let a2=this.#e(r2.F||r2.Filter),o2;if(a2 instanceof N)o2=a2.name;else if(Array.isArray(a2)){let e3=this.#e(a2[0]);e3 instanceof N&&(o2=e3.name)}let s2=n2.pos,c2;switch(o2){case"DCT":case"DCTDecode":c2=this.findDCTDecodeInlineStreamEnd(n2);break;case"A85":case"ASCII85Decode":c2=this.findASCII85DecodeInlineStreamEnd(n2);break;case"AHx":case"ASCIIHexDecode":c2=this.findASCIIHexDecodeInlineStreamEnd(n2);break;default:c2=this.findDefaultInlineStreamEnd(n2)}let l2;if(c2<1e3&&i2>0){let e3=n2.pos;n2.pos=t2.beginInlineImagePos,l2=getInlineImageCacheKey(n2.getBytes(i2+c2)),n2.pos=e3;let r3=this.imageCache[l2];if(r3!==void 0)return this.buf2=ae.get("EI"),this.shift(),r3.reset(),r3}let u2=new F(this.xref);for(let e3 in r2)u2.set(e3,r2[e3]);let d2=n2.makeSubStream(s2,c2,u2);return e2&&!this.#t(a2)&&(d2=e2.createStream(d2,c2)),d2=this.filter(d2,u2,c2,e2),d2.dict=u2,l2!==void 0&&(d2.cacheKey=`inline_img_${++this._imageId}`,this.imageCache[l2]=d2),this.buf2=ae.get("EI"),this.shift(),d2}#e(e2){return this.xref?this.xref.fetchIfRef(e2):e2}#t(e2){if(!Array.isArray(e2))return isName(e2,"Crypt");for(let t2 of e2)if(isName(this.#e(t2),"Crypt"))return!0;return!1}#n(e2){let{stream:t2}=this.lexer;t2.pos=e2;let n2=new Uint8Array([101,110,100]),r2=n2.length,i2=[new Uint8Array([115,116,114,101,97,109]),new Uint8Array([115,116,101,97,109]),new Uint8Array([115,116,114,101,97])],a2=9-r2;for(;t2.pos<t2.end;){let o2=t2.peekBytes(2048),s2=o2.length-9;if(s2<=0)break;let c2=0;for(;c2<s2;){let s3=0;for(;s3<r2&&o2[c2+s3]===n2[s3];)s3++;if(s3>=r2){let r3=!1;for(let e3 of i2){let t3=e3.length,i3=0;for(;i3<t3&&o2[c2+s3+i3]===e3[i3];)i3++;if(i3>=a2){r3=!0;break}if(i3>=t3){let t4=o2[c2+s3+i3];isWhiteSpace(t4)&&(info$1(`Found "${bytesToString$1([...n2,...e3])}" when searching for endstream command.`),r3=!0);break}}if(r3)return t2.pos+=c2,t2.pos-e2}c2++}t2.pos+=s2}return-1}makeStream(e2,t2){let n2=this.lexer,r2=n2.stream;n2.skipToNextLine();let i2=r2.pos-1,a2=e2.get("Length");if(Number.isInteger(a2)||(info$1(`Bad length "${a2&&a2.toString()}" in stream.`),a2=0),r2.pos=i2+a2,n2.nextChar(),this.tryShift()&&isCmd(this.buf2,"endstream"))this.shift();else{if(a2=this.#n(i2),a2<0)throw new FormatError$1("Missing endstream command.");n2.nextChar(),this.shift(),this.shift()}this.shift(),r2=r2.makeSubStream(i2,a2,e2);let o2=e2.get("F","Filter");return t2&&!this.#t(o2)&&(r2=t2.createStream(r2,a2)),r2=this.filter(r2,e2,a2,t2),r2.dict=e2,r2}filter(e2,t2,n2,r2=null){let i2=t2.get("F","Filter"),a2=t2.get("DP","DecodeParms");if(i2 instanceof N)return Array.isArray(a2)&&warn$1("/DecodeParms should not be an Array, when /Filter is a Name."),this.makeFilter(e2,i2.name,n2,a2,r2);let o2=n2;if(Array.isArray(i2)){let t3=i2,n3=a2;for(let s2=0,c2=t3.length;s2<c2;++s2){if(i2=this.#e(t3[s2]),!(i2 instanceof N))throw new FormatError$1(`Bad filter name "${i2}"`);a2=null,Array.isArray(n3)&&s2 in n3&&(a2=this.#e(n3[s2])),e2=this.makeFilter(e2,i2.name,o2,a2,r2),o2=null}}return e2}makeFilter(e2,t2,n2,r2,i2=null){if(n2===0)return warn$1(`Empty "${t2}" stream.`),new NullStream;try{switch(t2){case"Fl":case"FlateDecode":return r2?new PredictorStream(new FlateStream(e2,n2),n2,r2):new FlateStream(e2,n2);case"LZW":case"LZWDecode":let t3=1;return r2?(r2.has("EarlyChange")&&(t3=r2.get("EarlyChange")),new PredictorStream(new LZWStream(e2,n2,t3),n2,r2)):new LZWStream(e2,n2,t3);case"DCT":case"DCTDecode":return new Re(e2,n2,r2);case"JPX":case"JPXDecode":return new JpxStream(e2,n2);case"A85":case"ASCII85Decode":return new Ascii85Stream(e2,n2);case"AHx":case"ASCIIHexDecode":return new AsciiHexStream(e2,n2);case"CCF":case"CCITTFaxDecode":return new CCITTFaxStream(e2,n2,r2);case"RL":case"RunLengthDecode":return new RunLengthStream(e2,n2);case"JBIG2Decode":return new et(e2,n2,r2);case"BrotliDecode":return new BrotliStream(e2,n2);case"Crypt":{if(!i2)return warn$1('Filter "Crypt" is missing a cipher transform.'),e2;let t4=r2 instanceof F?r2.get("Name"):null,a2=t4 instanceof N?t4:N.get("Identity");return i2.createStream(e2,n2,a2)}}return warn$1(`Filter "${t2}" is not supported.`),e2}catch(e3){if(e3 instanceof MissingDataException)throw e3;return warn$1(`Invalid stream: "${e3}"`),new NullStream}}},rt=[1,0,0,0,0,0,0,0,0,1,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,2,0,0,2,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,2,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];function toHexDigit(e2){return e2>=48&&e2<=57?e2&15:e2>=65&&e2<=70||e2>=97&&e2<=102?(e2&15)+9:-1}var Lexer=class{constructor(e2,t2=null){this.stream=e2,this.nextChar(),this.strBuf=[],this.knownCommands=t2,this._hexStringNumWarn=0,this.beginInlineImagePos=-1}nextChar(){return this.currentChar=this.stream.getByte()}peekChar(){return this.stream.peekByte()}getNumber(){let e2=this.currentChar,t2=0,n2=1;if(e2===45?(n2=-1,e2=this.nextChar(),e2===45&&(e2=this.nextChar())):e2===43&&(e2=this.nextChar()),e2===10||e2===13)do e2=this.nextChar();while(e2===10||e2===13);if(e2===46&&(t2=10,e2=this.nextChar()),e2<48||e2>57){let t3=`Invalid number: ${String.fromCharCode(e2)} (charCode ${e2})`;if(isWhiteSpace(e2)||e2===40||e2===60||e2===-1)return info$1(`Lexer.getNumber - "${t3}".`),0;throw new FormatError$1(t3)}let r2=e2-48;for(;(e2=this.nextChar())>=0;)if(e2>=48&&e2<=57){let n3=e2-48;t2!==0&&(t2*=10),r2=r2*10+n3}else if(e2===46)if(t2===0)t2=1;else break;else if(e2===45)warn$1("Badly formatted number: minus sign in the middle");else break;return t2!==0&&(r2/=t2),n2*r2}getString(){let e2=1,t2=!1,n2=this.strBuf;n2.length=0;let r2=this.nextChar();for(;;){let i2=!1;switch(r2|0){case-1:warn$1("Unterminated string"),t2=!0;break;case 40:++e2,n2.push("(");break;case 41:--e2===0?(this.nextChar(),t2=!0):n2.push(")");break;case 92:switch(r2=this.nextChar(),r2){case-1:warn$1("Unterminated string"),t2=!0;break;case 110:n2.push(`
|
|
6
|
+
`);break;case 114:n2.push("\r");break;case 116:n2.push(" ");break;case 98:n2.push("\b");break;case 102:n2.push("\f");break;case 92:case 40:case 41:n2.push(String.fromCharCode(r2));break;case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:let e3=r2&15;r2=this.nextChar(),i2=!0,r2>=48&&r2<=55&&(e3=(e3<<3)+(r2&15),r2=this.nextChar(),r2>=48&&r2<=55&&(i2=!1,e3=(e3<<3)+(r2&15))),n2.push(String.fromCharCode(e3));break;case 13:this.peekChar()===10&&this.nextChar();break;case 10:break;default:n2.push(String.fromCharCode(r2));break}break;default:n2.push(String.fromCharCode(r2));break}if(t2)break;i2||(r2=this.nextChar())}return n2.join("")}getName(){let e2,t2,n2=this.strBuf;for(n2.length=0;(e2=this.nextChar())>=0&&!rt[e2];)if(e2===35){if(e2=this.nextChar(),rt[e2]){warn$1("Lexer_getName: NUMBER SIGN (#) should be followed by a hexadecimal number."),n2.push("#");break}let r2=toHexDigit(e2);if(r2!==-1){t2=e2,e2=this.nextChar();let i2=toHexDigit(e2);if(i2===-1){if(warn$1(`Lexer_getName: Illegal digit (${String.fromCharCode(e2)}) in hexadecimal number.`),n2.push("#",String.fromCharCode(t2)),rt[e2])break;n2.push(String.fromCharCode(e2));continue}n2.push(String.fromCharCode(r2<<4|i2))}else n2.push("#",String.fromCharCode(e2))}else n2.push(String.fromCharCode(e2));return n2.length>127&&warn$1(`Name token is longer than allowed by the spec: ${n2.length}`),N.get(n2.join(""))}_hexStringWarn(e2){if(this._hexStringNumWarn++===5){warn$1("getHexString - ignoring additional invalid characters.");return}this._hexStringNumWarn>5||warn$1(`getHexString - ignoring invalid character: ${e2}`)}getHexString(){let e2=this.strBuf;e2.length=0;let t2=this.currentChar,n2=-1,r2=-1;for(this._hexStringNumWarn=0;;)if(t2<0){warn$1("Unterminated hex string");break}else if(t2===62){this.nextChar();break}else if(rt[t2]===1){t2=this.nextChar();continue}else r2=toHexDigit(t2),r2===-1?this._hexStringWarn(t2):n2===-1?n2=r2:(e2.push(String.fromCharCode(n2<<4|r2)),n2=-1),t2=this.nextChar();return n2!==-1&&e2.push(String.fromCharCode(n2<<4)),e2.join("")}getObj(){let e2=!1,t2=this.currentChar;for(;;){if(t2<0)return te;if(e2)(t2===10||t2===13)&&(e2=!1);else if(t2===37)e2=!0;else if(rt[t2]!==1)break;t2=this.nextChar()}switch(t2|0){case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:case 43:case 45:case 46:return this.getNumber();case 40:return this.getString();case 47:return this.getName();case 91:return this.nextChar(),ae.get("[");case 93:return this.nextChar(),ae.get("]");case 60:return t2=this.nextChar(),t2===60?(this.nextChar(),ae.get("<<")):this.getHexString();case 62:return t2=this.nextChar(),t2===62?(this.nextChar(),ae.get(">>")):ae.get(">");case 123:return this.nextChar(),ae.get("{");case 125:return this.nextChar(),ae.get("}");case 41:throw this.nextChar(),new FormatError$1(`Illegal character: ${t2}`)}let n2=String.fromCharCode(t2);if(t2<32||t2>127){let e3=this.peekChar();if(e3>=32&&e3<=127)return this.nextChar(),ae.get(n2)}let r2=this.knownCommands,i2=r2?.[n2]!==void 0;for(;(t2=this.nextChar())>=0&&!rt[t2];){let e3=n2+String.fromCharCode(t2);if(i2&&r2[e3]===void 0)break;if(n2.length===128)throw new FormatError$1(`Command token too long: ${n2.length}`);n2=e3,i2=r2?.[n2]!==void 0}return n2==="true"?!0:n2==="false"?!1:n2==="null"?null:(n2==="BI"&&(this.beginInlineImagePos=this.stream.pos),ae.get(n2))}skipToNextLine(){let e2=this.currentChar;for(;e2>=0;){if(e2===13){e2=this.nextChar(),e2===10&&this.nextChar();break}else if(e2===10){this.nextChar();break}e2=this.nextChar()}}},Linearization=class{static create(e2){function getInt(e3,t3,n3=!1){let r3=e3.get(t3);if(Number.isInteger(r3)&&(n3?r3>=0:r3>0))return r3;throw Error(`The "${t3}" parameter in the linearization dictionary is invalid.`)}function getHints(e3){let t3=e3.get("H"),n3;if(Array.isArray(t3)&&((n3=t3.length)===2||n3===4)){for(let e4=0;e4<n3;e4++){let n4=t3[e4];if(!(Number.isInteger(n4)&&n4>0))throw Error(`Hint (${e4}) in the linearization dictionary is invalid.`)}return t3}throw Error("Hint array in the linearization dictionary is invalid.")}let t2=new Parser({lexer:new Lexer(e2),xref:null}),n2=t2.getObj(),r2=t2.getObj(),i2=t2.getObj(),a2=t2.getObj(),o2,s2;if(!(Number.isInteger(n2)&&Number.isInteger(r2)&&isCmd(i2,"obj")&&a2 instanceof F&&typeof(o2=a2.get("Linearized"))=="number"&&o2>0))return null;if((s2=getInt(a2,"L"))!==e2.length)throw Error('The "L" parameter in the linearization dictionary does not equal the stream length.');return{length:s2,hints:getHints(a2),objectNumberFirst:getInt(a2,"O"),endFirst:getInt(a2,"E"),numPages:getInt(a2,"N"),mainXRefEntriesOffset:getInt(a2,"T"),pageFirst:a2.has("P")?getInt(a2,"P",!0):0}}},it="Adobe-GB1-UCS2.Adobe-CNS1-UCS2.Adobe-Japan1-UCS2.Adobe-Korea1-UCS2.78-EUC-H.78-EUC-V.78-H.78-RKSJ-H.78-RKSJ-V.78-V.78ms-RKSJ-H.78ms-RKSJ-V.83pv-RKSJ-H.90ms-RKSJ-H.90ms-RKSJ-V.90msp-RKSJ-H.90msp-RKSJ-V.90pv-RKSJ-H.90pv-RKSJ-V.Add-H.Add-RKSJ-H.Add-RKSJ-V.Add-V.Adobe-CNS1-0.Adobe-CNS1-1.Adobe-CNS1-2.Adobe-CNS1-3.Adobe-CNS1-4.Adobe-CNS1-5.Adobe-CNS1-6.Adobe-GB1-0.Adobe-GB1-1.Adobe-GB1-2.Adobe-GB1-3.Adobe-GB1-4.Adobe-GB1-5.Adobe-Japan1-0.Adobe-Japan1-1.Adobe-Japan1-2.Adobe-Japan1-3.Adobe-Japan1-4.Adobe-Japan1-5.Adobe-Japan1-6.Adobe-Korea1-0.Adobe-Korea1-1.Adobe-Korea1-2.B5-H.B5-V.B5pc-H.B5pc-V.CNS-EUC-H.CNS-EUC-V.CNS1-H.CNS1-V.CNS2-H.CNS2-V.ETHK-B5-H.ETHK-B5-V.ETen-B5-H.ETen-B5-V.ETenms-B5-H.ETenms-B5-V.EUC-H.EUC-V.Ext-H.Ext-RKSJ-H.Ext-RKSJ-V.Ext-V.GB-EUC-H.GB-EUC-V.GB-H.GB-V.GBK-EUC-H.GBK-EUC-V.GBK2K-H.GBK2K-V.GBKp-EUC-H.GBKp-EUC-V.GBT-EUC-H.GBT-EUC-V.GBT-H.GBT-V.GBTpc-EUC-H.GBTpc-EUC-V.GBpc-EUC-H.GBpc-EUC-V.H.HKdla-B5-H.HKdla-B5-V.HKdlb-B5-H.HKdlb-B5-V.HKgccs-B5-H.HKgccs-B5-V.HKm314-B5-H.HKm314-B5-V.HKm471-B5-H.HKm471-B5-V.HKscs-B5-H.HKscs-B5-V.Hankaku.Hiragana.KSC-EUC-H.KSC-EUC-V.KSC-H.KSC-Johab-H.KSC-Johab-V.KSC-V.KSCms-UHC-H.KSCms-UHC-HW-H.KSCms-UHC-HW-V.KSCms-UHC-V.KSCpc-EUC-H.KSCpc-EUC-V.Katakana.NWP-H.NWP-V.RKSJ-H.RKSJ-V.Roman.UniCNS-UCS2-H.UniCNS-UCS2-V.UniCNS-UTF16-H.UniCNS-UTF16-V.UniCNS-UTF32-H.UniCNS-UTF32-V.UniCNS-UTF8-H.UniCNS-UTF8-V.UniGB-UCS2-H.UniGB-UCS2-V.UniGB-UTF16-H.UniGB-UTF16-V.UniGB-UTF32-H.UniGB-UTF32-V.UniGB-UTF8-H.UniGB-UTF8-V.UniJIS-UCS2-H.UniJIS-UCS2-HW-H.UniJIS-UCS2-HW-V.UniJIS-UCS2-V.UniJIS-UTF16-H.UniJIS-UTF16-V.UniJIS-UTF32-H.UniJIS-UTF32-V.UniJIS-UTF8-H.UniJIS-UTF8-V.UniJIS2004-UTF16-H.UniJIS2004-UTF16-V.UniJIS2004-UTF32-H.UniJIS2004-UTF32-V.UniJIS2004-UTF8-H.UniJIS2004-UTF8-V.UniJISPro-UCS2-HW-V.UniJISPro-UCS2-V.UniJISPro-UTF8-V.UniJISX0213-UTF32-H.UniJISX0213-UTF32-V.UniJISX02132004-UTF32-H.UniJISX02132004-UTF32-V.UniKS-UCS2-H.UniKS-UCS2-V.UniKS-UTF16-H.UniKS-UTF16-V.UniKS-UTF32-H.UniKS-UTF32-V.UniKS-UTF8-H.UniKS-UTF8-V.V.WP-Symbol".split("."),at=2**24-1,CMap=class{constructor(e2=!1){this.codespaceRanges=[[],[],[],[]],this.numCodespaceRanges=0,this._map=[],this.name="",this.vertical=!1,this.useCMap=null,this.builtInCMap=e2}addCodespaceRange(e2,t2,n2){this.codespaceRanges[e2-1].push(t2,n2),this.numCodespaceRanges++}mapCidRange(e2,t2,n2){if(t2-e2>at)throw Error("mapCidRange - ignoring data above MAX_MAP_RANGE.");for(;e2<=t2;)this._map[e2++]=n2++}mapBfRange(e2,t2,n2){if(t2-e2>at)throw Error("mapBfRange - ignoring data above MAX_MAP_RANGE.");let r2=n2.length-1;for(;e2<=t2;){this._map[e2++]=n2;let t3=n2.charCodeAt(r2)+1;if(t3>255){n2=n2.substring(0,r2-1)+String.fromCharCode(n2.charCodeAt(r2-1)+1)+"\0";continue}n2=n2.substring(0,r2)+String.fromCharCode(t3)}}mapBfRangeToArray(e2,t2,n2){if(t2-e2>at)throw Error("mapBfRangeToArray - ignoring data above MAX_MAP_RANGE.");let r2=n2.length,i2=0;for(;e2<=t2&&i2<r2;)this._map[e2]=n2[i2++],++e2}mapOne(e2,t2){this._map[e2]=t2}lookup(e2){return this._map[e2]}contains(e2){return this._map[e2]!==void 0}forEach(e2){let t2=this._map,n2=t2.length;if(n2<=65536)for(let r2=0;r2<n2;r2++)t2[r2]!==void 0&&e2(r2,t2[r2]);else for(let n3 in t2)e2(n3,t2[n3])}charCodeOf(e2){let t2=this._map;if(t2.length<=65536)return t2.indexOf(e2);for(let n2 in t2)if(t2[n2]===e2)return n2|0;return-1}getMap(){return this._map}readCharCode(e2,t2,n2){let r2=0,i2=this.codespaceRanges;for(let a2=0,o2=i2.length;a2<o2;a2++){r2=(r2<<8|e2.charCodeAt(t2+a2))>>>0;let o3=i2[a2];for(let e3=0,t3=o3.length;e3<t3;){let t4=o3[e3++],i3=o3[e3++];if(r2>=t4&&r2<=i3){n2.charcode=r2,n2.length=a2+1;return}}}n2.charcode=0,n2.length=1}getCharCodeLength(e2){let t2=this.codespaceRanges;for(let n2=0,r2=t2.length;n2<r2;n2++){let r3=t2[n2];for(let t3=0,i2=r3.length;t3<i2;){let i3=r3[t3++],a2=r3[t3++];if(e2>=i3&&e2<=a2)return n2+1}}return 1}get length(){return this._map.length}get isIdentityCMap(){if(this.name!=="Identity-H"&&this.name!=="Identity-V"||this._map.length!==65536)return!1;for(let e2=0;e2<65536;e2++)if(this._map[e2]!==e2)return!1;return!0}},IdentityCMap=class extends CMap{constructor(e2,t2){super(),this.vertical=e2,this.addCodespaceRange(t2,0,65535)}mapCidRange(e2,t2,n2){unreachable$1("should not call mapCidRange")}mapBfRange(e2,t2,n2){unreachable$1("should not call mapBfRange")}mapBfRangeToArray(e2,t2,n2){unreachable$1("should not call mapBfRangeToArray")}mapOne(e2,t2){unreachable$1("should not call mapCidOne")}lookup(e2){return Number.isInteger(e2)&&e2<=65535?e2:void 0}contains(e2){return Number.isInteger(e2)&&e2<=65535}forEach(e2){for(let t2=0;t2<=65535;t2++)e2(t2,t2)}charCodeOf(e2){return Number.isInteger(e2)&&e2<=65535?e2:-1}getMap(){let e2=Array(65536);for(let t2=0;t2<=65535;t2++)e2[t2]=t2;return e2}get length(){return 65536}get isIdentityCMap(){unreachable$1("should not access .isIdentityCMap")}};function strToInt(e2){let t2=0;for(let n2=0;n2<e2.length;n2++)t2=t2<<8|e2.charCodeAt(n2);return t2>>>0}function expectString(e2){if(typeof e2!="string")throw new FormatError$1("Malformed CMap: expected string.")}function expectInt(e2){if(!Number.isInteger(e2))throw new FormatError$1("Malformed CMap: expected int.")}function parseBfChar(e2,t2){for(;;){let n2=t2.getObj();if(n2===te)break;if(isCmd(n2,"endbfchar"))return;expectString(n2);let r2=strToInt(n2);n2=t2.getObj(),expectString(n2);let i2=n2;e2.mapOne(r2,i2)}}function parseBfRange(e2,t2){for(;;){let n2=t2.getObj();if(n2===te)break;if(isCmd(n2,"endbfrange"))return;expectString(n2);let r2=strToInt(n2);n2=t2.getObj(),expectString(n2);let i2=strToInt(n2);if(n2=t2.getObj(),Number.isInteger(n2)||typeof n2=="string"){let t3=Number.isInteger(n2)?String.fromCharCode(n2):n2;e2.mapBfRange(r2,i2,t3)}else if(isCmd(n2,"[")){n2=t2.getObj();let a2=[];for(;!isCmd(n2,"]")&&n2!==te;)a2.push(n2),n2=t2.getObj();e2.mapBfRangeToArray(r2,i2,a2)}else break}throw new FormatError$1("Invalid bf range.")}function parseCidChar(e2,t2){for(;;){let n2=t2.getObj();if(n2===te)break;if(isCmd(n2,"endcidchar"))return;expectString(n2);let r2=strToInt(n2);n2=t2.getObj(),expectInt(n2);let i2=n2;e2.mapOne(r2,i2)}}function parseCidRange(e2,t2){for(;;){let n2=t2.getObj();if(n2===te)break;if(isCmd(n2,"endcidrange"))return;expectString(n2);let r2=strToInt(n2);n2=t2.getObj(),expectString(n2);let i2=strToInt(n2);n2=t2.getObj(),expectInt(n2);let a2=n2;e2.mapCidRange(r2,i2,a2)}}function parseCodespaceRange(e2,t2){for(;;){let n2=t2.getObj();if(n2===te)break;if(isCmd(n2,"endcodespacerange"))return;if(typeof n2!="string")break;let r2=strToInt(n2);if(n2=t2.getObj(),typeof n2!="string")break;let i2=strToInt(n2);e2.addCodespaceRange(n2.length,r2,i2)}throw new FormatError$1("Invalid codespace range.")}function parseWMode(e2,t2){let n2=t2.getObj();Number.isInteger(n2)&&(e2.vertical=!!n2)}function parseCMapName(e2,t2){let n2=t2.getObj();n2 instanceof N&&(e2.name=n2.name)}async function parseCMap(e2,t2,n2,r2){let i2,a2;objLoop:for(;;)try{let n3=t2.getObj();if(n3===te)break;if(n3 instanceof N)n3.name==="WMode"?parseWMode(e2,t2):n3.name==="CMapName"&&parseCMapName(e2,t2),i2=n3;else if(n3 instanceof ae)switch(n3.cmd){case"endcmap":break objLoop;case"usecmap":i2 instanceof N&&(a2=i2.name);break;case"begincodespacerange":parseCodespaceRange(e2,t2);break;case"beginbfchar":parseBfChar(e2,t2);break;case"begincidchar":parseCidChar(e2,t2);break;case"beginbfrange":parseBfRange(e2,t2);break;case"begincidrange":parseCidRange(e2,t2);break}}catch(e3){if(e3 instanceof MissingDataException)throw e3;warn$1("Invalid cMap data: "+e3);continue}return!r2&&a2&&(r2=a2),r2?extendCMap(e2,n2,r2):e2}async function extendCMap(e2,t2,n2){if(e2.useCMap=await createBuiltInCMap(n2,t2),e2.numCodespaceRanges===0){let t3=e2.useCMap.codespaceRanges;for(let n3=0;n3<t3.length;n3++)e2.codespaceRanges[n3]=t3[n3].slice();e2.numCodespaceRanges=e2.useCMap.numCodespaceRanges}return e2.useCMap.forEach(function(t3,n3){e2.contains(t3)||e2.mapOne(t3,n3)}),e2}async function createBuiltInCMap(e2,t2){if(e2==="Identity-H")return new IdentityCMap(!1,2);if(e2==="Identity-V")return new IdentityCMap(!0,2);if(!it.includes(e2))throw Error("Unknown CMap name: "+e2);if(!t2)throw Error("Built-in CMap parameters are not provided.");let{cMapData:n2,isCompressed:r2}=await t2(e2),i2=new CMap(!0);return r2?new BinaryCMapReader().process(n2,i2,e3=>extendCMap(i2,t2,e3)):parseCMap(i2,new Lexer(new Ee(n2)),t2,null)}var CMapFactory=class{static async create({encoding:e2,fetchBuiltInCMap:t2,useCMap:n2}){if(e2 instanceof N)return createBuiltInCMap(e2.name,t2);if(e2 instanceof BaseStream){if(e2.isAsync){let t3=await e2.asyncGetBytes();t3&&(e2=new Ee(t3,0,t3.length,e2.dict))}let r2=await parseCMap(new CMap,new Lexer(e2),t2,n2);return r2.isIdentityCMap?createBuiltInCMap(r2.name,t2):r2}throw Error("Encoding required.")}},CSS_FONT_INFO$1=class{static strings=["fontFamily","fontWeight","italicAngle"]},SYSTEM_FONT_INFO$1=class{static strings=["css","loadedName","baseFontName","src"]},FONT_INFO$1=class{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(this.bools.length*2/8);static OFFSET_BBOX=this.OFFSET_NUMBERS+this.numbers.length*8;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},PATTERN_INFO$1=class{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};function compileCssFontInfo(e2){let t2=new TextEncoder,n2={},r2=0;for(let i3 of CSS_FONT_INFO$1.strings){let a3=t2.encode(e2[i3]);n2[i3]=a3,r2+=4+a3.length}let i2=new ArrayBuffer(r2),a2=new Uint8Array(i2),o2=new DataView(i2),s2=0;for(let e3 of CSS_FONT_INFO$1.strings){let t3=n2[e3],r3=t3.length;o2.setUint32(s2,r3),a2.set(t3,s2+4),s2+=4+r3}return assert$1(s2===i2.byteLength,"compileCssFontInfo: Buffer overflow"),i2}function compileSystemFontInfo(e2){let t2=new TextEncoder,n2={},r2=0;for(let i3 of SYSTEM_FONT_INFO$1.strings){let a3=t2.encode(e2[i3]);n2[i3]=a3,r2+=4+a3.length}r2+=4;let i2,a2,o2=1+r2;e2.style&&(i2=t2.encode(e2.style.style),a2=t2.encode(e2.style.weight),o2+=4+i2.length+4+a2.length);let s2=new ArrayBuffer(o2),c2=new Uint8Array(s2),l2=new DataView(s2),u2=0;l2.setUint8(u2++,+!!e2.guessFallback),l2.setUint32(u2,0),u2+=4,r2=0;for(let e3 of SYSTEM_FONT_INFO$1.strings){let t3=n2[e3],i3=t3.length;r2+=4+i3,l2.setUint32(u2,i3),c2.set(t3,u2+4),u2+=4+i3}return l2.setUint32(u2-r2-4,r2),e2.style&&(l2.setUint32(u2,i2.length),c2.set(i2,u2+4),u2+=4+i2.length,l2.setUint32(u2,a2.length),c2.set(a2,u2+4),u2+=4+a2.length),assert$1(u2<=s2.byteLength,"compileSystemFontInfo: Buffer overflow"),s2.transferToFixedLength(u2)}function compileFontInfo(e2){let t2=e2.systemFontInfo?compileSystemFontInfo(e2.systemFontInfo):null,n2=e2.cssFontInfo?compileCssFontInfo(e2.cssFontInfo):null,r2=new TextEncoder,i2={},a2=0;for(let t3 of FONT_INFO$1.strings)i2[t3]=r2.encode(e2[t3]),a2+=4+i2[t3].length;let o2=FONT_INFO$1.OFFSET_STRINGS+4+a2+4+(t2?.byteLength??0)+4+(n2?.byteLength??0)+4+(e2.data?.length??0),s2=new ArrayBuffer(o2),c2=new Uint8Array(s2),l2=new DataView(s2),u2=0,d2=FONT_INFO$1.bools.length,f2=0,p2=0;for(let t3=0;t3<d2;t3++){let n3=e2[FONT_INFO$1.bools[t3]];f2|=(n3===void 0?0:n3?2:1)<<p2,p2+=2,(p2===8||t3===d2-1)&&(l2.setUint8(u2++,f2),f2=0,p2=0)}assert$1(u2===FONT_INFO$1.OFFSET_NUMBERS,"compileFontInfo: Boolean properties offset mismatch");for(let t3 of FONT_INFO$1.numbers)l2.setFloat64(u2,e2[t3]),u2+=8;if(assert$1(u2===FONT_INFO$1.OFFSET_BBOX,"compileFontInfo: Number properties offset mismatch"),e2.bbox){l2.setUint8(u2++,4);for(let t3 of e2.bbox)l2.setInt16(u2,t3,!0),u2+=2}else l2.setUint8(u2++,0),u2+=8;if(assert$1(u2===FONT_INFO$1.OFFSET_FONT_MATRIX,"compileFontInfo: BBox properties offset mismatch"),e2.fontMatrix){l2.setUint8(u2++,6);for(let t3 of e2.fontMatrix)l2.setFloat64(u2,t3,!0),u2+=8}else l2.setUint8(u2++,0),u2+=48;if(assert$1(u2===FONT_INFO$1.OFFSET_DEFAULT_VMETRICS,"compileFontInfo: FontMatrix properties offset mismatch"),e2.defaultVMetrics){l2.setUint8(u2++,3);for(let t3 of e2.defaultVMetrics)l2.setInt16(u2,t3,!0),u2+=2}else l2.setUint8(u2++,0),u2+=6;assert$1(u2===FONT_INFO$1.OFFSET_STRINGS,"compileFontInfo: DefaultVMetrics properties offset mismatch"),l2.setUint32(FONT_INFO$1.OFFSET_STRINGS,0),u2+=4;for(let e3 of FONT_INFO$1.strings){let t3=i2[e3],n3=t3.length;l2.setUint32(u2,n3),c2.set(t3,u2+4),u2+=4+n3}if(l2.setUint32(FONT_INFO$1.OFFSET_STRINGS,u2-FONT_INFO$1.OFFSET_STRINGS-4),!t2)l2.setUint32(u2,0),u2+=4;else{let e3=t2.byteLength;l2.setUint32(u2,e3),assert$1(u2+4+e3<=s2.byteLength,"compileFontInfo: Buffer overflow at systemFontInfo"),c2.set(new Uint8Array(t2),u2+4),u2+=4+e3}if(!n2)l2.setUint32(u2,0),u2+=4;else{let e3=n2.byteLength;l2.setUint32(u2,e3),assert$1(u2+4+e3<=s2.byteLength,"compileFontInfo: Buffer overflow at cssFontInfo"),c2.set(new Uint8Array(n2),u2+4),u2+=4+e3}return e2.data===void 0?(l2.setUint32(u2,0),u2+=4):(l2.setUint32(u2,e2.data.length),c2.set(e2.data,u2+4),u2+=4+e2.data.length),assert$1(u2<=s2.byteLength,"compileFontInfo: Buffer overflow"),s2.transferToFixedLength(u2)}function compilePatternInfo(e2){let t2,n2=null,r2=[],i2=[],a2=[],o2=null,s2=null;switch(e2[0]){case"RadialAxial":t2=e2[1]==="axial"?1:2,n2=e2[2],a2=e2[3],t2===1?r2.push(...e2[4],...e2[5]):r2.push(e2[4][0],e2[4][1],e2[6],e2[5][0],e2[5][1],e2[7]);break;case"Mesh":t2=3,o2=e2[1],r2=e2[2],i2=e2[3],n2=e2[6],s2=e2[7];break;default:throw Error(`Unsupported pattern type: ${e2[0]}`)}let c2=Math.floor(r2.length/2),l2=Math.floor(i2.length/4),u2=a2.length,d2=20+c2*8+l2*4+u2*8+(n2?16:0)+(s2?3:0),f2=new ArrayBuffer(d2),p2=new DataView(f2),m2=new Uint8Array(f2);p2.setUint8(PATTERN_INFO$1.KIND,t2),p2.setUint8(PATTERN_INFO$1.HAS_BBOX,+!!n2),p2.setUint8(PATTERN_INFO$1.HAS_BACKGROUND,+!!s2),p2.setUint8(PATTERN_INFO$1.SHADING_TYPE,o2),p2.setUint32(PATTERN_INFO$1.N_COORD,c2,!0),p2.setUint32(PATTERN_INFO$1.N_COLOR,l2,!0),p2.setUint32(PATTERN_INFO$1.N_STOP,u2,!0),p2.setUint32(PATTERN_INFO$1.N_FIGURES,0,!0);let h2=20;new Float32Array(f2,h2,c2*2).set(r2),h2+=c2*8,m2.set(i2,h2),h2+=l2*4;for(let[e3,t3]of a2)p2.setFloat32(h2,e3,!0),h2+=4,p2.setUint32(h2,parseInt(t3.slice(1),16),!0),h2+=4;if(n2)for(let e3 of n2)p2.setFloat32(h2,e3,!0),h2+=4;return s2&&m2.set(s2,h2),f2}function compileFontPathInfo(e2){return e2.slice().buffer}var ot="................................space.exclamsmall.Hungarumlautsmall..dollaroldstyle.dollarsuperior.ampersandsmall.Acutesmall.parenleftsuperior.parenrightsuperior.twodotenleader.onedotenleader.comma.hyphen.period.fraction.zerooldstyle.oneoldstyle.twooldstyle.threeoldstyle.fouroldstyle.fiveoldstyle.sixoldstyle.sevenoldstyle.eightoldstyle.nineoldstyle.colon.semicolon.commasuperior.threequartersemdash.periodsuperior.questionsmall..asuperior.bsuperior.centsuperior.dsuperior.esuperior....isuperior...lsuperior.msuperior.nsuperior.osuperior...rsuperior.ssuperior.tsuperior..ff.fi.fl.ffi.ffl.parenleftinferior..parenrightinferior.Circumflexsmall.hyphensuperior.Gravesmall.Asmall.Bsmall.Csmall.Dsmall.Esmall.Fsmall.Gsmall.Hsmall.Ismall.Jsmall.Ksmall.Lsmall.Msmall.Nsmall.Osmall.Psmall.Qsmall.Rsmall.Ssmall.Tsmall.Usmall.Vsmall.Wsmall.Xsmall.Ysmall.Zsmall.colonmonetary.onefitted.rupiah.Tildesmall...................................exclamdownsmall.centoldstyle.Lslashsmall...Scaronsmall.Zcaronsmall.Dieresissmall.Brevesmall.Caronsmall..Dotaccentsmall...Macronsmall...figuredash.hypheninferior...Ogoneksmall.Ringsmall.Cedillasmall....onequarter.onehalf.threequarters.questiondownsmall.oneeighth.threeeighths.fiveeighths.seveneighths.onethird.twothirds...zerosuperior.onesuperior.twosuperior.threesuperior.foursuperior.fivesuperior.sixsuperior.sevensuperior.eightsuperior.ninesuperior.zeroinferior.oneinferior.twoinferior.threeinferior.fourinferior.fiveinferior.sixinferior.seveninferior.eightinferior.nineinferior.centinferior.dollarinferior.periodinferior.commainferior.Agravesmall.Aacutesmall.Acircumflexsmall.Atildesmall.Adieresissmall.Aringsmall.AEsmall.Ccedillasmall.Egravesmall.Eacutesmall.Ecircumflexsmall.Edieresissmall.Igravesmall.Iacutesmall.Icircumflexsmall.Idieresissmall.Ethsmall.Ntildesmall.Ogravesmall.Oacutesmall.Ocircumflexsmall.Otildesmall.Odieresissmall.OEsmall.Oslashsmall.Ugravesmall.Uacutesmall.Ucircumflexsmall.Udieresissmall.Yacutesmall.Thornsmall.Ydieresissmall".split("."),st="................................space.exclamsmall.Hungarumlautsmall.centoldstyle.dollaroldstyle.dollarsuperior.ampersandsmall.Acutesmall.parenleftsuperior.parenrightsuperior.twodotenleader.onedotenleader.comma.hyphen.period.fraction.zerooldstyle.oneoldstyle.twooldstyle.threeoldstyle.fouroldstyle.fiveoldstyle.sixoldstyle.sevenoldstyle.eightoldstyle.nineoldstyle.colon.semicolon..threequartersemdash..questionsmall.....Ethsmall...onequarter.onehalf.threequarters.oneeighth.threeeighths.fiveeighths.seveneighths.onethird.twothirds.......ff.fi.fl.ffi.ffl.parenleftinferior..parenrightinferior.Circumflexsmall.hypheninferior.Gravesmall.Asmall.Bsmall.Csmall.Dsmall.Esmall.Fsmall.Gsmall.Hsmall.Ismall.Jsmall.Ksmall.Lsmall.Msmall.Nsmall.Osmall.Psmall.Qsmall.Rsmall.Ssmall.Tsmall.Usmall.Vsmall.Wsmall.Xsmall.Ysmall.Zsmall.colonmonetary.onefitted.rupiah.Tildesmall...asuperior.centsuperior.....Aacutesmall.Agravesmall.Acircumflexsmall.Adieresissmall.Atildesmall.Aringsmall.Ccedillasmall.Eacutesmall.Egravesmall.Ecircumflexsmall.Edieresissmall.Iacutesmall.Igravesmall.Icircumflexsmall.Idieresissmall.Ntildesmall.Oacutesmall.Ogravesmall.Ocircumflexsmall.Odieresissmall.Otildesmall.Uacutesmall.Ugravesmall.Ucircumflexsmall.Udieresissmall..eightsuperior.fourinferior.threeinferior.sixinferior.eightinferior.seveninferior.Scaronsmall..centinferior.twoinferior..Dieresissmall..Caronsmall.osuperior.fiveinferior..commainferior.periodinferior.Yacutesmall..dollarinferior...Thornsmall..nineinferior.zeroinferior.Zcaronsmall.AEsmall.Oslashsmall.questiondownsmall.oneinferior.Lslashsmall.......Cedillasmall......OEsmall.figuredash.hyphensuperior.....exclamdownsmall..Ydieresissmall..onesuperior.twosuperior.threesuperior.foursuperior.fivesuperior.sixsuperior.sevensuperior.ninesuperior.zerosuperior..esuperior.rsuperior.tsuperior...isuperior.ssuperior.dsuperior......lsuperior.Ogoneksmall.Brevesmall.Macronsmall.bsuperior.nsuperior.msuperior.commasuperior.periodsuperior.Dotaccentsmall.Ringsmall....".split("."),ct="................................space.exclam.quotedbl.numbersign.dollar.percent.ampersand.quotesingle.parenleft.parenright.asterisk.plus.comma.hyphen.period.slash.zero.one.two.three.four.five.six.seven.eight.nine.colon.semicolon.less.equal.greater.question.at.A.B.C.D.E.F.G.H.I.J.K.L.M.N.O.P.Q.R.S.T.U.V.W.X.Y.Z.bracketleft.backslash.bracketright.asciicircum.underscore.grave.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.w.x.y.z.braceleft.bar.braceright.asciitilde..Adieresis.Aring.Ccedilla.Eacute.Ntilde.Odieresis.Udieresis.aacute.agrave.acircumflex.adieresis.atilde.aring.ccedilla.eacute.egrave.ecircumflex.edieresis.iacute.igrave.icircumflex.idieresis.ntilde.oacute.ograve.ocircumflex.odieresis.otilde.uacute.ugrave.ucircumflex.udieresis.dagger.degree.cent.sterling.section.bullet.paragraph.germandbls.registered.copyright.trademark.acute.dieresis.notequal.AE.Oslash.infinity.plusminus.lessequal.greaterequal.yen.mu.partialdiff.summation.product.pi.integral.ordfeminine.ordmasculine.Omega.ae.oslash.questiondown.exclamdown.logicalnot.radical.florin.approxequal.Delta.guillemotleft.guillemotright.ellipsis.space.Agrave.Atilde.Otilde.OE.oe.endash.emdash.quotedblleft.quotedblright.quoteleft.quoteright.divide.lozenge.ydieresis.Ydieresis.fraction.currency.guilsinglleft.guilsinglright.fi.fl.daggerdbl.periodcentered.quotesinglbase.quotedblbase.perthousand.Acircumflex.Ecircumflex.Aacute.Edieresis.Egrave.Iacute.Icircumflex.Idieresis.Igrave.Oacute.Ocircumflex.apple.Ograve.Uacute.Ucircumflex.Ugrave.dotlessi.circumflex.tilde.macron.breve.dotaccent.ring.cedilla.hungarumlaut.ogonek.caron".split("."),lt="................................space.exclam.quotedbl.numbersign.dollar.percent.ampersand.quoteright.parenleft.parenright.asterisk.plus.comma.hyphen.period.slash.zero.one.two.three.four.five.six.seven.eight.nine.colon.semicolon.less.equal.greater.question.at.A.B.C.D.E.F.G.H.I.J.K.L.M.N.O.P.Q.R.S.T.U.V.W.X.Y.Z.bracketleft.backslash.bracketright.asciicircum.underscore.quoteleft.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.w.x.y.z.braceleft.bar.braceright.asciitilde...................................exclamdown.cent.sterling.fraction.yen.florin.section.currency.quotesingle.quotedblleft.guillemotleft.guilsinglleft.guilsinglright.fi.fl..endash.dagger.daggerdbl.periodcentered..paragraph.bullet.quotesinglbase.quotedblbase.quotedblright.guillemotright.ellipsis.perthousand..questiondown..grave.acute.circumflex.tilde.macron.breve.dotaccent.dieresis..ring.cedilla..hungarumlaut.ogonek.caron.emdash.................AE..ordfeminine.....Lslash.Oslash.OE.ordmasculine......ae....dotlessi...lslash.oslash.oe.germandbls....".split("."),ut="................................space.exclam.quotedbl.numbersign.dollar.percent.ampersand.quotesingle.parenleft.parenright.asterisk.plus.comma.hyphen.period.slash.zero.one.two.three.four.five.six.seven.eight.nine.colon.semicolon.less.equal.greater.question.at.A.B.C.D.E.F.G.H.I.J.K.L.M.N.O.P.Q.R.S.T.U.V.W.X.Y.Z.bracketleft.backslash.bracketright.asciicircum.underscore.grave.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.w.x.y.z.braceleft.bar.braceright.asciitilde.bullet.Euro.bullet.quotesinglbase.florin.quotedblbase.ellipsis.dagger.daggerdbl.circumflex.perthousand.Scaron.guilsinglleft.OE.bullet.Zcaron.bullet.bullet.quoteleft.quoteright.quotedblleft.quotedblright.bullet.endash.emdash.tilde.trademark.scaron.guilsinglright.oe.bullet.zcaron.Ydieresis.space.exclamdown.cent.sterling.currency.yen.brokenbar.section.dieresis.copyright.ordfeminine.guillemotleft.logicalnot.hyphen.registered.macron.degree.plusminus.twosuperior.threesuperior.acute.mu.paragraph.periodcentered.cedilla.onesuperior.ordmasculine.guillemotright.onequarter.onehalf.threequarters.questiondown.Agrave.Aacute.Acircumflex.Atilde.Adieresis.Aring.AE.Ccedilla.Egrave.Eacute.Ecircumflex.Edieresis.Igrave.Iacute.Icircumflex.Idieresis.Eth.Ntilde.Ograve.Oacute.Ocircumflex.Otilde.Odieresis.multiply.Oslash.Ugrave.Uacute.Ucircumflex.Udieresis.Yacute.Thorn.germandbls.agrave.aacute.acircumflex.atilde.adieresis.aring.ae.ccedilla.egrave.eacute.ecircumflex.edieresis.igrave.iacute.icircumflex.idieresis.eth.ntilde.ograve.oacute.ocircumflex.otilde.odieresis.divide.oslash.ugrave.uacute.ucircumflex.udieresis.yacute.thorn.ydieresis".split("."),dt="................................space.exclam.universal.numbersign.existential.percent.ampersand.suchthat.parenleft.parenright.asteriskmath.plus.comma.minus.period.slash.zero.one.two.three.four.five.six.seven.eight.nine.colon.semicolon.less.equal.greater.question.congruent.Alpha.Beta.Chi.Delta.Epsilon.Phi.Gamma.Eta.Iota.theta1.Kappa.Lambda.Mu.Nu.Omicron.Pi.Theta.Rho.Sigma.Tau.Upsilon.sigma1.Omega.Xi.Psi.Zeta.bracketleft.therefore.bracketright.perpendicular.underscore.radicalex.alpha.beta.chi.delta.epsilon.phi.gamma.eta.iota.phi1.kappa.lambda.mu.nu.omicron.pi.theta.rho.sigma.tau.upsilon.omega1.omega.xi.psi.zeta.braceleft.bar.braceright.similar..................................Euro.Upsilon1.minute.lessequal.fraction.infinity.florin.club.diamond.heart.spade.arrowboth.arrowleft.arrowup.arrowright.arrowdown.degree.plusminus.second.greaterequal.multiply.proportional.partialdiff.bullet.divide.notequal.equivalence.approxequal.ellipsis.arrowvertex.arrowhorizex.carriagereturn.aleph.Ifraktur.Rfraktur.weierstrass.circlemultiply.circleplus.emptyset.intersection.union.propersuperset.reflexsuperset.notsubset.propersubset.reflexsubset.element.notelement.angle.gradient.registerserif.copyrightserif.trademarkserif.product.radical.dotmath.logicalnot.logicaland.logicalor.arrowdblboth.arrowdblleft.arrowdblup.arrowdblright.arrowdbldown.lozenge.angleleft.registersans.copyrightsans.trademarksans.summation.parenlefttp.parenleftex.parenleftbt.bracketlefttp.bracketleftex.bracketleftbt.bracelefttp.braceleftmid.braceleftbt.braceex..angleright.integral.integraltp.integralex.integralbt.parenrighttp.parenrightex.parenrightbt.bracketrighttp.bracketrightex.bracketrightbt.bracerighttp.bracerightmid.bracerightbt.".split("."),ft="................................space.a1.a2.a202.a3.a4.a5.a119.a118.a117.a11.a12.a13.a14.a15.a16.a105.a17.a18.a19.a20.a21.a22.a23.a24.a25.a26.a27.a28.a6.a7.a8.a9.a10.a29.a30.a31.a32.a33.a34.a35.a36.a37.a38.a39.a40.a41.a42.a43.a44.a45.a46.a47.a48.a49.a50.a51.a52.a53.a54.a55.a56.a57.a58.a59.a60.a61.a62.a63.a64.a65.a66.a67.a68.a69.a70.a71.a72.a73.a74.a203.a75.a204.a76.a77.a78.a79.a81.a82.a83.a84.a97.a98.a99.a100..a89.a90.a93.a94.a91.a92.a205.a85.a206.a86.a87.a88.a95.a96....................a101.a102.a103.a104.a106.a107.a108.a112.a111.a110.a109.a120.a121.a122.a123.a124.a125.a126.a127.a128.a129.a130.a131.a132.a133.a134.a135.a136.a137.a138.a139.a140.a141.a142.a143.a144.a145.a146.a147.a148.a149.a150.a151.a152.a153.a154.a155.a156.a157.a158.a159.a160.a161.a163.a164.a196.a165.a192.a166.a167.a168.a169.a170.a171.a172.a173.a162.a174.a175.a176.a177.a178.a179.a193.a180.a199.a181.a200.a182..a201.a183.a184.a197.a185.a194.a198.a186.a195.a187.a188.a189.a190.a191.".split(".");function getEncoding(e2){switch(e2){case"WinAnsiEncoding":return ut;case"StandardEncoding":return lt;case"MacRomanEncoding":return ct;case"SymbolSetEncoding":return dt;case"ZapfDingbatsEncoding":return ft;case"ExpertEncoding":return ot;case"MacExpertEncoding":return st;default:return null}}var pt=getLookupTableFactory(function(e2){e2.A=65,e2.AE=198,e2.AEacute=508,e2.AEmacron=482,e2.AEsmall=63462,e2.Aacute=193,e2.Aacutesmall=63457,e2.Abreve=258,e2.Abreveacute=7854,e2.Abrevecyrillic=1232,e2.Abrevedotbelow=7862,e2.Abrevegrave=7856,e2.Abrevehookabove=7858,e2.Abrevetilde=7860,e2.Acaron=461,e2.Acircle=9398,e2.Acircumflex=194,e2.Acircumflexacute=7844,e2.Acircumflexdotbelow=7852,e2.Acircumflexgrave=7846,e2.Acircumflexhookabove=7848,e2.Acircumflexsmall=63458,e2.Acircumflextilde=7850,e2.Acute=63177,e2.Acutesmall=63412,e2.Acyrillic=1040,e2.Adblgrave=512,e2.Adieresis=196,e2.Adieresiscyrillic=1234,e2.Adieresismacron=478,e2.Adieresissmall=63460,e2.Adotbelow=7840,e2.Adotmacron=480,e2.Agrave=192,e2.Agravesmall=63456,e2.Ahookabove=7842,e2.Aiecyrillic=1236,e2.Ainvertedbreve=514,e2.Alpha=913,e2.Alphatonos=902,e2.Amacron=256,e2.Amonospace=65313,e2.Aogonek=260,e2.Aring=197,e2.Aringacute=506,e2.Aringbelow=7680,e2.Aringsmall=63461,e2.Asmall=63329,e2.Atilde=195,e2.Atildesmall=63459,e2.Aybarmenian=1329,e2.B=66,e2.Bcircle=9399,e2.Bdotaccent=7682,e2.Bdotbelow=7684,e2.Becyrillic=1041,e2.Benarmenian=1330,e2.Beta=914,e2.Bhook=385,e2.Blinebelow=7686,e2.Bmonospace=65314,e2.Brevesmall=63220,e2.Bsmall=63330,e2.Btopbar=386,e2.C=67,e2.Caarmenian=1342,e2.Cacute=262,e2.Caron=63178,e2.Caronsmall=63221,e2.Ccaron=268,e2.Ccedilla=199,e2.Ccedillaacute=7688,e2.Ccedillasmall=63463,e2.Ccircle=9400,e2.Ccircumflex=264,e2.Cdot=266,e2.Cdotaccent=266,e2.Cedillasmall=63416,e2.Chaarmenian=1353,e2.Cheabkhasiancyrillic=1212,e2.Checyrillic=1063,e2.Chedescenderabkhasiancyrillic=1214,e2.Chedescendercyrillic=1206,e2.Chedieresiscyrillic=1268,e2.Cheharmenian=1347,e2.Chekhakassiancyrillic=1227,e2.Cheverticalstrokecyrillic=1208,e2.Chi=935,e2.Chook=391,e2.Circumflexsmall=63222,e2.Cmonospace=65315,e2.Coarmenian=1361,e2.Csmall=63331,e2.D=68,e2.DZ=497,e2.DZcaron=452,e2.Daarmenian=1332,e2.Dafrican=393,e2.Dcaron=270,e2.Dcedilla=7696,e2.Dcircle=9401,e2.Dcircumflexbelow=7698,e2.Dcroat=272,e2.Ddotaccent=7690,e2.Ddotbelow=7692,e2.Decyrillic=1044,e2.Deicoptic=1006,e2.Delta=8710,e2.Deltagreek=916,e2.Dhook=394,e2.Dieresis=63179,e2.DieresisAcute=63180,e2.DieresisGrave=63181,e2.Dieresissmall=63400,e2.Digammagreek=988,e2.Djecyrillic=1026,e2.Dlinebelow=7694,e2.Dmonospace=65316,e2.Dotaccentsmall=63223,e2.Dslash=272,e2.Dsmall=63332,e2.Dtopbar=395,e2.Dz=498,e2.Dzcaron=453,e2.Dzeabkhasiancyrillic=1248,e2.Dzecyrillic=1029,e2.Dzhecyrillic=1039,e2.E=69,e2.Eacute=201,e2.Eacutesmall=63465,e2.Ebreve=276,e2.Ecaron=282,e2.Ecedillabreve=7708,e2.Echarmenian=1333,e2.Ecircle=9402,e2.Ecircumflex=202,e2.Ecircumflexacute=7870,e2.Ecircumflexbelow=7704,e2.Ecircumflexdotbelow=7878,e2.Ecircumflexgrave=7872,e2.Ecircumflexhookabove=7874,e2.Ecircumflexsmall=63466,e2.Ecircumflextilde=7876,e2.Ecyrillic=1028,e2.Edblgrave=516,e2.Edieresis=203,e2.Edieresissmall=63467,e2.Edot=278,e2.Edotaccent=278,e2.Edotbelow=7864,e2.Efcyrillic=1060,e2.Egrave=200,e2.Egravesmall=63464,e2.Eharmenian=1335,e2.Ehookabove=7866,e2.Eightroman=8551,e2.Einvertedbreve=518,e2.Eiotifiedcyrillic=1124,e2.Elcyrillic=1051,e2.Elevenroman=8554,e2.Emacron=274,e2.Emacronacute=7702,e2.Emacrongrave=7700,e2.Emcyrillic=1052,e2.Emonospace=65317,e2.Encyrillic=1053,e2.Endescendercyrillic=1186,e2.Eng=330,e2.Enghecyrillic=1188,e2.Enhookcyrillic=1223,e2.Eogonek=280,e2.Eopen=400,e2.Epsilon=917,e2.Epsilontonos=904,e2.Ercyrillic=1056,e2.Ereversed=398,e2.Ereversedcyrillic=1069,e2.Escyrillic=1057,e2.Esdescendercyrillic=1194,e2.Esh=425,e2.Esmall=63333,e2.Eta=919,e2.Etarmenian=1336,e2.Etatonos=905,e2.Eth=208,e2.Ethsmall=63472,e2.Etilde=7868,e2.Etildebelow=7706,e2.Euro=8364,e2.Ezh=439,e2.Ezhcaron=494,e2.Ezhreversed=440,e2.F=70,e2.Fcircle=9403,e2.Fdotaccent=7710,e2.Feharmenian=1366,e2.Feicoptic=996,e2.Fhook=401,e2.Fitacyrillic=1138,e2.Fiveroman=8548,e2.Fmonospace=65318,e2.Fourroman=8547,e2.Fsmall=63334,e2.G=71,e2.GBsquare=13191,e2.Gacute=500,e2.Gamma=915,e2.Gammaafrican=404,e2.Gangiacoptic=1002,e2.Gbreve=286,e2.Gcaron=486,e2.Gcedilla=290,e2.Gcircle=9404,e2.Gcircumflex=284,e2.Gcommaaccent=290,e2.Gdot=288,e2.Gdotaccent=288,e2.Gecyrillic=1043,e2.Ghadarmenian=1346,e2.Ghemiddlehookcyrillic=1172,e2.Ghestrokecyrillic=1170,e2.Gheupturncyrillic=1168,e2.Ghook=403,e2.Gimarmenian=1331,e2.Gjecyrillic=1027,e2.Gmacron=7712,e2.Gmonospace=65319,e2.Grave=63182,e2.Gravesmall=63328,e2.Gsmall=63335,e2.Gsmallhook=667,e2.Gstroke=484,e2.H=72,e2.H18533=9679,e2.H18543=9642,e2.H18551=9643,e2.H22073=9633,e2.HPsquare=13259,e2.Haabkhasiancyrillic=1192,e2.Hadescendercyrillic=1202,e2.Hardsigncyrillic=1066,e2.Hbar=294,e2.Hbrevebelow=7722,e2.Hcedilla=7720,e2.Hcircle=9405,e2.Hcircumflex=292,e2.Hdieresis=7718,e2.Hdotaccent=7714,e2.Hdotbelow=7716,e2.Hmonospace=65320,e2.Hoarmenian=1344,e2.Horicoptic=1e3,e2.Hsmall=63336,e2.Hungarumlaut=63183,e2.Hungarumlautsmall=63224,e2.Hzsquare=13200,e2.I=73,e2.IAcyrillic=1071,e2.IJ=306,e2.IUcyrillic=1070,e2.Iacute=205,e2.Iacutesmall=63469,e2.Ibreve=300,e2.Icaron=463,e2.Icircle=9406,e2.Icircumflex=206,e2.Icircumflexsmall=63470,e2.Icyrillic=1030,e2.Idblgrave=520,e2.Idieresis=207,e2.Idieresisacute=7726,e2.Idieresiscyrillic=1252,e2.Idieresissmall=63471,e2.Idot=304,e2.Idotaccent=304,e2.Idotbelow=7882,e2.Iebrevecyrillic=1238,e2.Iecyrillic=1045,e2.Ifraktur=8465,e2.Igrave=204,e2.Igravesmall=63468,e2.Ihookabove=7880,e2.Iicyrillic=1048,e2.Iinvertedbreve=522,e2.Iishortcyrillic=1049,e2.Imacron=298,e2.Imacroncyrillic=1250,e2.Imonospace=65321,e2.Iniarmenian=1339,e2.Iocyrillic=1025,e2.Iogonek=302,e2.Iota=921,e2.Iotaafrican=406,e2.Iotadieresis=938,e2.Iotatonos=906,e2.Ismall=63337,e2.Istroke=407,e2.Itilde=296,e2.Itildebelow=7724,e2.Izhitsacyrillic=1140,e2.Izhitsadblgravecyrillic=1142,e2.J=74,e2.Jaarmenian=1345,e2.Jcircle=9407,e2.Jcircumflex=308,e2.Jecyrillic=1032,e2.Jheharmenian=1355,e2.Jmonospace=65322,e2.Jsmall=63338,e2.K=75,e2.KBsquare=13189,e2.KKsquare=13261,e2.Kabashkircyrillic=1184,e2.Kacute=7728,e2.Kacyrillic=1050,e2.Kadescendercyrillic=1178,e2.Kahookcyrillic=1219,e2.Kappa=922,e2.Kastrokecyrillic=1182,e2.Kaverticalstrokecyrillic=1180,e2.Kcaron=488,e2.Kcedilla=310,e2.Kcircle=9408,e2.Kcommaaccent=310,e2.Kdotbelow=7730,e2.Keharmenian=1364,e2.Kenarmenian=1343,e2.Khacyrillic=1061,e2.Kheicoptic=998,e2.Khook=408,e2.Kjecyrillic=1036,e2.Klinebelow=7732,e2.Kmonospace=65323,e2.Koppacyrillic=1152,e2.Koppagreek=990,e2.Ksicyrillic=1134,e2.Ksmall=63339,e2.L=76,e2.LJ=455,e2.LL=63167,e2.Lacute=313,e2.Lambda=923,e2.Lcaron=317,e2.Lcedilla=315,e2.Lcircle=9409,e2.Lcircumflexbelow=7740,e2.Lcommaaccent=315,e2.Ldot=319,e2.Ldotaccent=319,e2.Ldotbelow=7734,e2.Ldotbelowmacron=7736,e2.Liwnarmenian=1340,e2.Lj=456,e2.Ljecyrillic=1033,e2.Llinebelow=7738,e2.Lmonospace=65324,e2.Lslash=321,e2.Lslashsmall=63225,e2.Lsmall=63340,e2.M=77,e2.MBsquare=13190,e2.Macron=63184,e2.Macronsmall=63407,e2.Macute=7742,e2.Mcircle=9410,e2.Mdotaccent=7744,e2.Mdotbelow=7746,e2.Menarmenian=1348,e2.Mmonospace=65325,e2.Msmall=63341,e2.Mturned=412,e2.Mu=924,e2.N=78,e2.NJ=458,e2.Nacute=323,e2.Ncaron=327,e2.Ncedilla=325,e2.Ncircle=9411,e2.Ncircumflexbelow=7754,e2.Ncommaaccent=325,e2.Ndotaccent=7748,e2.Ndotbelow=7750,e2.Nhookleft=413,e2.Nineroman=8552,e2.Nj=459,e2.Njecyrillic=1034,e2.Nlinebelow=7752,e2.Nmonospace=65326,e2.Nowarmenian=1350,e2.Nsmall=63342,e2.Ntilde=209,e2.Ntildesmall=63473,e2.Nu=925,e2.O=79,e2.OE=338,e2.OEsmall=63226,e2.Oacute=211,e2.Oacutesmall=63475,e2.Obarredcyrillic=1256,e2.Obarreddieresiscyrillic=1258,e2.Obreve=334,e2.Ocaron=465,e2.Ocenteredtilde=415,e2.Ocircle=9412,e2.Ocircumflex=212,e2.Ocircumflexacute=7888,e2.Ocircumflexdotbelow=7896,e2.Ocircumflexgrave=7890,e2.Ocircumflexhookabove=7892,e2.Ocircumflexsmall=63476,e2.Ocircumflextilde=7894,e2.Ocyrillic=1054,e2.Odblacute=336,e2.Odblgrave=524,e2.Odieresis=214,e2.Odieresiscyrillic=1254,e2.Odieresissmall=63478,e2.Odotbelow=7884,e2.Ogoneksmall=63227,e2.Ograve=210,e2.Ogravesmall=63474,e2.Oharmenian=1365,e2.Ohm=8486,e2.Ohookabove=7886,e2.Ohorn=416,e2.Ohornacute=7898,e2.Ohorndotbelow=7906,e2.Ohorngrave=7900,e2.Ohornhookabove=7902,e2.Ohorntilde=7904,e2.Ohungarumlaut=336,e2.Oi=418,e2.Oinvertedbreve=526,e2.Omacron=332,e2.Omacronacute=7762,e2.Omacrongrave=7760,e2.Omega=8486,e2.Omegacyrillic=1120,e2.Omegagreek=937,e2.Omegaroundcyrillic=1146,e2.Omegatitlocyrillic=1148,e2.Omegatonos=911,e2.Omicron=927,e2.Omicrontonos=908,e2.Omonospace=65327,e2.Oneroman=8544,e2.Oogonek=490,e2.Oogonekmacron=492,e2.Oopen=390,e2.Oslash=216,e2.Oslashacute=510,e2.Oslashsmall=63480,e2.Osmall=63343,e2.Ostrokeacute=510,e2.Otcyrillic=1150,e2.Otilde=213,e2.Otildeacute=7756,e2.Otildedieresis=7758,e2.Otildesmall=63477,e2.P=80,e2.Pacute=7764,e2.Pcircle=9413,e2.Pdotaccent=7766,e2.Pecyrillic=1055,e2.Peharmenian=1354,e2.Pemiddlehookcyrillic=1190,e2.Phi=934,e2.Phook=420,e2.Pi=928,e2.Piwrarmenian=1363,e2.Pmonospace=65328,e2.Psi=936,e2.Psicyrillic=1136,e2.Psmall=63344,e2.Q=81,e2.Qcircle=9414,e2.Qmonospace=65329,e2.Qsmall=63345,e2.R=82,e2.Raarmenian=1356,e2.Racute=340,e2.Rcaron=344,e2.Rcedilla=342,e2.Rcircle=9415,e2.Rcommaaccent=342,e2.Rdblgrave=528,e2.Rdotaccent=7768,e2.Rdotbelow=7770,e2.Rdotbelowmacron=7772,e2.Reharmenian=1360,e2.Rfraktur=8476,e2.Rho=929,e2.Ringsmall=63228,e2.Rinvertedbreve=530,e2.Rlinebelow=7774,e2.Rmonospace=65330,e2.Rsmall=63346,e2.Rsmallinverted=641,e2.Rsmallinvertedsuperior=694,e2.S=83,e2.SF010000=9484,e2.SF020000=9492,e2.SF030000=9488,e2.SF040000=9496,e2.SF050000=9532,e2.SF060000=9516,e2.SF070000=9524,e2.SF080000=9500,e2.SF090000=9508,e2.SF100000=9472,e2.SF110000=9474,e2.SF190000=9569,e2.SF200000=9570,e2.SF210000=9558,e2.SF220000=9557,e2.SF230000=9571,e2.SF240000=9553,e2.SF250000=9559,e2.SF260000=9565,e2.SF270000=9564,e2.SF280000=9563,e2.SF360000=9566,e2.SF370000=9567,e2.SF380000=9562,e2.SF390000=9556,e2.SF400000=9577,e2.SF410000=9574,e2.SF420000=9568,e2.SF430000=9552,e2.SF440000=9580,e2.SF450000=9575,e2.SF460000=9576,e2.SF470000=9572,e2.SF480000=9573,e2.SF490000=9561,e2.SF500000=9560,e2.SF510000=9554,e2.SF520000=9555,e2.SF530000=9579,e2.SF540000=9578,e2.Sacute=346,e2.Sacutedotaccent=7780,e2.Sampigreek=992,e2.Scaron=352,e2.Scarondotaccent=7782,e2.Scaronsmall=63229,e2.Scedilla=350,e2.Schwa=399,e2.Schwacyrillic=1240,e2.Schwadieresiscyrillic=1242,e2.Scircle=9416,e2.Scircumflex=348,e2.Scommaaccent=536,e2.Sdotaccent=7776,e2.Sdotbelow=7778,e2.Sdotbelowdotaccent=7784,e2.Seharmenian=1357,e2.Sevenroman=8550,e2.Shaarmenian=1351,e2.Shacyrillic=1064,e2.Shchacyrillic=1065,e2.Sheicoptic=994,e2.Shhacyrillic=1210,e2.Shimacoptic=1004,e2.Sigma=931,e2.Sixroman=8549,e2.Smonospace=65331,e2.Softsigncyrillic=1068,e2.Ssmall=63347,e2.Stigmagreek=986,e2.T=84,e2.Tau=932,e2.Tbar=358,e2.Tcaron=356,e2.Tcedilla=354,e2.Tcircle=9417,e2.Tcircumflexbelow=7792,e2.Tcommaaccent=354,e2.Tdotaccent=7786,e2.Tdotbelow=7788,e2.Tecyrillic=1058,e2.Tedescendercyrillic=1196,e2.Tenroman=8553,e2.Tetsecyrillic=1204,e2.Theta=920,e2.Thook=428,e2.Thorn=222,e2.Thornsmall=63486,e2.Threeroman=8546,e2.Tildesmall=63230,e2.Tiwnarmenian=1359,e2.Tlinebelow=7790,e2.Tmonospace=65332,e2.Toarmenian=1337,e2.Tonefive=444,e2.Tonesix=388,e2.Tonetwo=423,e2.Tretroflexhook=430,e2.Tsecyrillic=1062,e2.Tshecyrillic=1035,e2.Tsmall=63348,e2.Twelveroman=8555,e2.Tworoman=8545,e2.U=85,e2.Uacute=218,e2.Uacutesmall=63482,e2.Ubreve=364,e2.Ucaron=467,e2.Ucircle=9418,e2.Ucircumflex=219,e2.Ucircumflexbelow=7798,e2.Ucircumflexsmall=63483,e2.Ucyrillic=1059,e2.Udblacute=368,e2.Udblgrave=532,e2.Udieresis=220,e2.Udieresisacute=471,e2.Udieresisbelow=7794,e2.Udieresiscaron=473,e2.Udieresiscyrillic=1264,e2.Udieresisgrave=475,e2.Udieresismacron=469,e2.Udieresissmall=63484,e2.Udotbelow=7908,e2.Ugrave=217,e2.Ugravesmall=63481,e2.Uhookabove=7910,e2.Uhorn=431,e2.Uhornacute=7912,e2.Uhorndotbelow=7920,e2.Uhorngrave=7914,e2.Uhornhookabove=7916,e2.Uhorntilde=7918,e2.Uhungarumlaut=368,e2.Uhungarumlautcyrillic=1266,e2.Uinvertedbreve=534,e2.Ukcyrillic=1144,e2.Umacron=362,e2.Umacroncyrillic=1262,e2.Umacrondieresis=7802,e2.Umonospace=65333,e2.Uogonek=370,e2.Upsilon=933,e2.Upsilon1=978,e2.Upsilonacutehooksymbolgreek=979,e2.Upsilonafrican=433,e2.Upsilondieresis=939,e2.Upsilondieresishooksymbolgreek=980,e2.Upsilonhooksymbol=978,e2.Upsilontonos=910,e2.Uring=366,e2.Ushortcyrillic=1038,e2.Usmall=63349,e2.Ustraightcyrillic=1198,e2.Ustraightstrokecyrillic=1200,e2.Utilde=360,e2.Utildeacute=7800,e2.Utildebelow=7796,e2.V=86,e2.Vcircle=9419,e2.Vdotbelow=7806,e2.Vecyrillic=1042,e2.Vewarmenian=1358,e2.Vhook=434,e2.Vmonospace=65334,e2.Voarmenian=1352,e2.Vsmall=63350,e2.Vtilde=7804,e2.W=87,e2.Wacute=7810,e2.Wcircle=9420,e2.Wcircumflex=372,e2.Wdieresis=7812,e2.Wdotaccent=7814,e2.Wdotbelow=7816,e2.Wgrave=7808,e2.Wmonospace=65335,e2.Wsmall=63351,e2.X=88,e2.Xcircle=9421,e2.Xdieresis=7820,e2.Xdotaccent=7818,e2.Xeharmenian=1341,e2.Xi=926,e2.Xmonospace=65336,e2.Xsmall=63352,e2.Y=89,e2.Yacute=221,e2.Yacutesmall=63485,e2.Yatcyrillic=1122,e2.Ycircle=9422,e2.Ycircumflex=374,e2.Ydieresis=376,e2.Ydieresissmall=63487,e2.Ydotaccent=7822,e2.Ydotbelow=7924,e2.Yericyrillic=1067,e2.Yerudieresiscyrillic=1272,e2.Ygrave=7922,e2.Yhook=435,e2.Yhookabove=7926,e2.Yiarmenian=1349,e2.Yicyrillic=1031,e2.Yiwnarmenian=1362,e2.Ymonospace=65337,e2.Ysmall=63353,e2.Ytilde=7928,e2.Yusbigcyrillic=1130,e2.Yusbigiotifiedcyrillic=1132,e2.Yuslittlecyrillic=1126,e2.Yuslittleiotifiedcyrillic=1128,e2.Z=90,e2.Zaarmenian=1334,e2.Zacute=377,e2.Zcaron=381,e2.Zcaronsmall=63231,e2.Zcircle=9423,e2.Zcircumflex=7824,e2.Zdot=379,e2.Zdotaccent=379,e2.Zdotbelow=7826,e2.Zecyrillic=1047,e2.Zedescendercyrillic=1176,e2.Zedieresiscyrillic=1246,e2.Zeta=918,e2.Zhearmenian=1338,e2.Zhebrevecyrillic=1217,e2.Zhecyrillic=1046,e2.Zhedescendercyrillic=1174,e2.Zhedieresiscyrillic=1244,e2.Zlinebelow=7828,e2.Zmonospace=65338,e2.Zsmall=63354,e2.Zstroke=437,e2.a=97,e2.aabengali=2438,e2.aacute=225,e2.aadeva=2310,e2.aagujarati=2694,e2.aagurmukhi=2566,e2.aamatragurmukhi=2622,e2.aarusquare=13059,e2.aavowelsignbengali=2494,e2.aavowelsigndeva=2366,e2.aavowelsigngujarati=2750,e2.abbreviationmarkarmenian=1375,e2.abbreviationsigndeva=2416,e2.abengali=2437,e2.abopomofo=12570,e2.abreve=259,e2.abreveacute=7855,e2.abrevecyrillic=1233,e2.abrevedotbelow=7863,e2.abrevegrave=7857,e2.abrevehookabove=7859,e2.abrevetilde=7861,e2.acaron=462,e2.acircle=9424,e2.acircumflex=226,e2.acircumflexacute=7845,e2.acircumflexdotbelow=7853,e2.acircumflexgrave=7847,e2.acircumflexhookabove=7849,e2.acircumflextilde=7851,e2.acute=180,e2.acutebelowcmb=791,e2.acutecmb=769,e2.acutecomb=769,e2.acutedeva=2388,e2.acutelowmod=719,e2.acutetonecmb=833,e2.acyrillic=1072,e2.adblgrave=513,e2.addakgurmukhi=2673,e2.adeva=2309,e2.adieresis=228,e2.adieresiscyrillic=1235,e2.adieresismacron=479,e2.adotbelow=7841,e2.adotmacron=481,e2.ae=230,e2.aeacute=509,e2.aekorean=12624,e2.aemacron=483,e2.afii00208=8213,e2.afii08941=8356,e2.afii10017=1040,e2.afii10018=1041,e2.afii10019=1042,e2.afii10020=1043,e2.afii10021=1044,e2.afii10022=1045,e2.afii10023=1025,e2.afii10024=1046,e2.afii10025=1047,e2.afii10026=1048,e2.afii10027=1049,e2.afii10028=1050,e2.afii10029=1051,e2.afii10030=1052,e2.afii10031=1053,e2.afii10032=1054,e2.afii10033=1055,e2.afii10034=1056,e2.afii10035=1057,e2.afii10036=1058,e2.afii10037=1059,e2.afii10038=1060,e2.afii10039=1061,e2.afii10040=1062,e2.afii10041=1063,e2.afii10042=1064,e2.afii10043=1065,e2.afii10044=1066,e2.afii10045=1067,e2.afii10046=1068,e2.afii10047=1069,e2.afii10048=1070,e2.afii10049=1071,e2.afii10050=1168,e2.afii10051=1026,e2.afii10052=1027,e2.afii10053=1028,e2.afii10054=1029,e2.afii10055=1030,e2.afii10056=1031,e2.afii10057=1032,e2.afii10058=1033,e2.afii10059=1034,e2.afii10060=1035,e2.afii10061=1036,e2.afii10062=1038,e2.afii10063=63172,e2.afii10064=63173,e2.afii10065=1072,e2.afii10066=1073,e2.afii10067=1074,e2.afii10068=1075,e2.afii10069=1076,e2.afii10070=1077,e2.afii10071=1105,e2.afii10072=1078,e2.afii10073=1079,e2.afii10074=1080,e2.afii10075=1081,e2.afii10076=1082,e2.afii10077=1083,e2.afii10078=1084,e2.afii10079=1085,e2.afii10080=1086,e2.afii10081=1087,e2.afii10082=1088,e2.afii10083=1089,e2.afii10084=1090,e2.afii10085=1091,e2.afii10086=1092,e2.afii10087=1093,e2.afii10088=1094,e2.afii10089=1095,e2.afii10090=1096,e2.afii10091=1097,e2.afii10092=1098,e2.afii10093=1099,e2.afii10094=1100,e2.afii10095=1101,e2.afii10096=1102,e2.afii10097=1103,e2.afii10098=1169,e2.afii10099=1106,e2.afii10100=1107,e2.afii10101=1108,e2.afii10102=1109,e2.afii10103=1110,e2.afii10104=1111,e2.afii10105=1112,e2.afii10106=1113,e2.afii10107=1114,e2.afii10108=1115,e2.afii10109=1116,e2.afii10110=1118,e2.afii10145=1039,e2.afii10146=1122,e2.afii10147=1138,e2.afii10148=1140,e2.afii10192=63174,e2.afii10193=1119,e2.afii10194=1123,e2.afii10195=1139,e2.afii10196=1141,e2.afii10831=63175,e2.afii10832=63176,e2.afii10846=1241,e2.afii299=8206,e2.afii300=8207,e2.afii301=8205,e2.afii57381=1642,e2.afii57388=1548,e2.afii57392=1632,e2.afii57393=1633,e2.afii57394=1634,e2.afii57395=1635,e2.afii57396=1636,e2.afii57397=1637,e2.afii57398=1638,e2.afii57399=1639,e2.afii57400=1640,e2.afii57401=1641,e2.afii57403=1563,e2.afii57407=1567,e2.afii57409=1569,e2.afii57410=1570,e2.afii57411=1571,e2.afii57412=1572,e2.afii57413=1573,e2.afii57414=1574,e2.afii57415=1575,e2.afii57416=1576,e2.afii57417=1577,e2.afii57418=1578,e2.afii57419=1579,e2.afii57420=1580,e2.afii57421=1581,e2.afii57422=1582,e2.afii57423=1583,e2.afii57424=1584,e2.afii57425=1585,e2.afii57426=1586,e2.afii57427=1587,e2.afii57428=1588,e2.afii57429=1589,e2.afii57430=1590,e2.afii57431=1591,e2.afii57432=1592,e2.afii57433=1593,e2.afii57434=1594,e2.afii57440=1600,e2.afii57441=1601,e2.afii57442=1602,e2.afii57443=1603,e2.afii57444=1604,e2.afii57445=1605,e2.afii57446=1606,e2.afii57448=1608,e2.afii57449=1609,e2.afii57450=1610,e2.afii57451=1611,e2.afii57452=1612,e2.afii57453=1613,e2.afii57454=1614,e2.afii57455=1615,e2.afii57456=1616,e2.afii57457=1617,e2.afii57458=1618,e2.afii57470=1607,e2.afii57505=1700,e2.afii57506=1662,e2.afii57507=1670,e2.afii57508=1688,e2.afii57509=1711,e2.afii57511=1657,e2.afii57512=1672,e2.afii57513=1681,e2.afii57514=1722,e2.afii57519=1746,e2.afii57534=1749,e2.afii57636=8362,e2.afii57645=1470,e2.afii57658=1475,e2.afii57664=1488,e2.afii57665=1489,e2.afii57666=1490,e2.afii57667=1491,e2.afii57668=1492,e2.afii57669=1493,e2.afii57670=1494,e2.afii57671=1495,e2.afii57672=1496,e2.afii57673=1497,e2.afii57674=1498,e2.afii57675=1499,e2.afii57676=1500,e2.afii57677=1501,e2.afii57678=1502,e2.afii57679=1503,e2.afii57680=1504,e2.afii57681=1505,e2.afii57682=1506,e2.afii57683=1507,e2.afii57684=1508,e2.afii57685=1509,e2.afii57686=1510,e2.afii57687=1511,e2.afii57688=1512,e2.afii57689=1513,e2.afii57690=1514,e2.afii57694=64298,e2.afii57695=64299,e2.afii57700=64331,e2.afii57705=64287,e2.afii57716=1520,e2.afii57717=1521,e2.afii57718=1522,e2.afii57723=64309,e2.afii57793=1460,e2.afii57794=1461,e2.afii57795=1462,e2.afii57796=1467,e2.afii57797=1464,e2.afii57798=1463,e2.afii57799=1456,e2.afii57800=1458,e2.afii57801=1457,e2.afii57802=1459,e2.afii57803=1474,e2.afii57804=1473,e2.afii57806=1465,e2.afii57807=1468,e2.afii57839=1469,e2.afii57841=1471,e2.afii57842=1472,e2.afii57929=700,e2.afii61248=8453,e2.afii61289=8467,e2.afii61352=8470,e2.afii61573=8236,e2.afii61574=8237,e2.afii61575=8238,e2.afii61664=8204,e2.afii63167=1645,e2.afii64937=701,e2.agrave=224,e2.agujarati=2693,e2.agurmukhi=2565,e2.ahiragana=12354,e2.ahookabove=7843,e2.aibengali=2448,e2.aibopomofo=12574,e2.aideva=2320,e2.aiecyrillic=1237,e2.aigujarati=2704,e2.aigurmukhi=2576,e2.aimatragurmukhi=2632,e2.ainarabic=1593,e2.ainfinalarabic=65226,e2.aininitialarabic=65227,e2.ainmedialarabic=65228,e2.ainvertedbreve=515,e2.aivowelsignbengali=2504,e2.aivowelsigndeva=2376,e2.aivowelsigngujarati=2760,e2.akatakana=12450,e2.akatakanahalfwidth=65393,e2.akorean=12623,e2.alef=1488,e2.alefarabic=1575,e2.alefdageshhebrew=64304,e2.aleffinalarabic=65166,e2.alefhamzaabovearabic=1571,e2.alefhamzaabovefinalarabic=65156,e2.alefhamzabelowarabic=1573,e2.alefhamzabelowfinalarabic=65160,e2.alefhebrew=1488,e2.aleflamedhebrew=64335,e2.alefmaddaabovearabic=1570,e2.alefmaddaabovefinalarabic=65154,e2.alefmaksuraarabic=1609,e2.alefmaksurafinalarabic=65264,e2.alefmaksurainitialarabic=65267,e2.alefmaksuramedialarabic=65268,e2.alefpatahhebrew=64302,e2.alefqamatshebrew=64303,e2.aleph=8501,e2.allequal=8780,e2.alpha=945,e2.alphatonos=940,e2.amacron=257,e2.amonospace=65345,e2.ampersand=38,e2.ampersandmonospace=65286,e2.ampersandsmall=63270,e2.amsquare=13250,e2.anbopomofo=12578,e2.angbopomofo=12580,e2.angbracketleft=12296,e2.angbracketright=12297,e2.angkhankhuthai=3674,e2.angle=8736,e2.anglebracketleft=12296,e2.anglebracketleftvertical=65087,e2.anglebracketright=12297,e2.anglebracketrightvertical=65088,e2.angleleft=9001,e2.angleright=9002,e2.angstrom=8491,e2.anoteleia=903,e2.anudattadeva=2386,e2.anusvarabengali=2434,e2.anusvaradeva=2306,e2.anusvaragujarati=2690,e2.aogonek=261,e2.apaatosquare=13056,e2.aparen=9372,e2.apostrophearmenian=1370,e2.apostrophemod=700,e2.apple=63743,e2.approaches=8784,e2.approxequal=8776,e2.approxequalorimage=8786,e2.approximatelyequal=8773,e2.araeaekorean=12686,e2.araeakorean=12685,e2.arc=8978,e2.arighthalfring=7834,e2.aring=229,e2.aringacute=507,e2.aringbelow=7681,e2.arrowboth=8596,e2.arrowdashdown=8675,e2.arrowdashleft=8672,e2.arrowdashright=8674,e2.arrowdashup=8673,e2.arrowdblboth=8660,e2.arrowdbldown=8659,e2.arrowdblleft=8656,e2.arrowdblright=8658,e2.arrowdblup=8657,e2.arrowdown=8595,e2.arrowdownleft=8601,e2.arrowdownright=8600,e2.arrowdownwhite=8681,e2.arrowheaddownmod=709,e2.arrowheadleftmod=706,e2.arrowheadrightmod=707,e2.arrowheadupmod=708,e2.arrowhorizex=63719,e2.arrowleft=8592,e2.arrowleftdbl=8656,e2.arrowleftdblstroke=8653,e2.arrowleftoverright=8646,e2.arrowleftwhite=8678,e2.arrowright=8594,e2.arrowrightdblstroke=8655,e2.arrowrightheavy=10142,e2.arrowrightoverleft=8644,e2.arrowrightwhite=8680,e2.arrowtableft=8676,e2.arrowtabright=8677,e2.arrowup=8593,e2.arrowupdn=8597,e2.arrowupdnbse=8616,e2.arrowupdownbase=8616,e2.arrowupleft=8598,e2.arrowupleftofdown=8645,e2.arrowupright=8599,e2.arrowupwhite=8679,e2.arrowvertex=63718,e2.asciicircum=94,e2.asciicircummonospace=65342,e2.asciitilde=126,e2.asciitildemonospace=65374,e2.ascript=593,e2.ascriptturned=594,e2.asmallhiragana=12353,e2.asmallkatakana=12449,e2.asmallkatakanahalfwidth=65383,e2.asterisk=42,e2.asteriskaltonearabic=1645,e2.asteriskarabic=1645,e2.asteriskmath=8727,e2.asteriskmonospace=65290,e2.asterisksmall=65121,e2.asterism=8258,e2.asuperior=63209,e2.asymptoticallyequal=8771,e2.at=64,e2.atilde=227,e2.atmonospace=65312,e2.atsmall=65131,e2.aturned=592,e2.aubengali=2452,e2.aubopomofo=12576,e2.audeva=2324,e2.augujarati=2708,e2.augurmukhi=2580,e2.aulengthmarkbengali=2519,e2.aumatragurmukhi=2636,e2.auvowelsignbengali=2508,e2.auvowelsigndeva=2380,e2.auvowelsigngujarati=2764,e2.avagrahadeva=2365,e2.aybarmenian=1377,e2.ayin=1506,e2.ayinaltonehebrew=64288,e2.ayinhebrew=1506,e2.b=98,e2.babengali=2476,e2.backslash=92,e2.backslashmonospace=65340,e2.badeva=2348,e2.bagujarati=2732,e2.bagurmukhi=2604,e2.bahiragana=12400,e2.bahtthai=3647,e2.bakatakana=12496,e2.bar=124,e2.barmonospace=65372,e2.bbopomofo=12549,e2.bcircle=9425,e2.bdotaccent=7683,e2.bdotbelow=7685,e2.beamedsixteenthnotes=9836,e2.because=8757,e2.becyrillic=1073,e2.beharabic=1576,e2.behfinalarabic=65168,e2.behinitialarabic=65169,e2.behiragana=12409,e2.behmedialarabic=65170,e2.behmeeminitialarabic=64671,e2.behmeemisolatedarabic=64520,e2.behnoonfinalarabic=64621,e2.bekatakana=12505,e2.benarmenian=1378,e2.bet=1489,e2.beta=946,e2.betasymbolgreek=976,e2.betdagesh=64305,e2.betdageshhebrew=64305,e2.bethebrew=1489,e2.betrafehebrew=64332,e2.bhabengali=2477,e2.bhadeva=2349,e2.bhagujarati=2733,e2.bhagurmukhi=2605,e2.bhook=595,e2.bihiragana=12403,e2.bikatakana=12499,e2.bilabialclick=664,e2.bindigurmukhi=2562,e2.birusquare=13105,e2.blackcircle=9679,e2.blackdiamond=9670,e2.blackdownpointingtriangle=9660,e2.blackleftpointingpointer=9668,e2.blackleftpointingtriangle=9664,e2.blacklenticularbracketleft=12304,e2.blacklenticularbracketleftvertical=65083,e2.blacklenticularbracketright=12305,e2.blacklenticularbracketrightvertical=65084,e2.blacklowerlefttriangle=9699,e2.blacklowerrighttriangle=9698,e2.blackrectangle=9644,e2.blackrightpointingpointer=9658,e2.blackrightpointingtriangle=9654,e2.blacksmallsquare=9642,e2.blacksmilingface=9787,e2.blacksquare=9632,e2.blackstar=9733,e2.blackupperlefttriangle=9700,e2.blackupperrighttriangle=9701,e2.blackuppointingsmalltriangle=9652,e2.blackuppointingtriangle=9650,e2.blank=9251,e2.blinebelow=7687,e2.block=9608,e2.bmonospace=65346,e2.bobaimaithai=3610,e2.bohiragana=12412,e2.bokatakana=12508,e2.bparen=9373,e2.bqsquare=13251,e2.braceex=63732,e2.braceleft=123,e2.braceleftbt=63731,e2.braceleftmid=63730,e2.braceleftmonospace=65371,e2.braceleftsmall=65115,e2.bracelefttp=63729,e2.braceleftvertical=65079,e2.braceright=125,e2.bracerightbt=63742,e2.bracerightmid=63741,e2.bracerightmonospace=65373,e2.bracerightsmall=65116,e2.bracerighttp=63740,e2.bracerightvertical=65080,e2.bracketleft=91,e2.bracketleftbt=63728,e2.bracketleftex=63727,e2.bracketleftmonospace=65339,e2.bracketlefttp=63726,e2.bracketright=93,e2.bracketrightbt=63739,e2.bracketrightex=63738,e2.bracketrightmonospace=65341,e2.bracketrighttp=63737,e2.breve=728,e2.brevebelowcmb=814,e2.brevecmb=774,e2.breveinvertedbelowcmb=815,e2.breveinvertedcmb=785,e2.breveinverteddoublecmb=865,e2.bridgebelowcmb=810,e2.bridgeinvertedbelowcmb=826,e2.brokenbar=166,e2.bstroke=384,e2.bsuperior=63210,e2.btopbar=387,e2.buhiragana=12406,e2.bukatakana=12502,e2.bullet=8226,e2.bulletinverse=9688,e2.bulletoperator=8729,e2.bullseye=9678,e2.c=99,e2.caarmenian=1390,e2.cabengali=2458,e2.cacute=263,e2.cadeva=2330,e2.cagujarati=2714,e2.cagurmukhi=2586,e2.calsquare=13192,e2.candrabindubengali=2433,e2.candrabinducmb=784,e2.candrabindudeva=2305,e2.candrabindugujarati=2689,e2.capslock=8682,e2.careof=8453,e2.caron=711,e2.caronbelowcmb=812,e2.caroncmb=780,e2.carriagereturn=8629,e2.cbopomofo=12568,e2.ccaron=269,e2.ccedilla=231,e2.ccedillaacute=7689,e2.ccircle=9426,e2.ccircumflex=265,e2.ccurl=597,e2.cdot=267,e2.cdotaccent=267,e2.cdsquare=13253,e2.cedilla=184,e2.cedillacmb=807,e2.cent=162,e2.centigrade=8451,e2.centinferior=63199,e2.centmonospace=65504,e2.centoldstyle=63394,e2.centsuperior=63200,e2.chaarmenian=1401,e2.chabengali=2459,e2.chadeva=2331,e2.chagujarati=2715,e2.chagurmukhi=2587,e2.chbopomofo=12564,e2.cheabkhasiancyrillic=1213,e2.checkmark=10003,e2.checyrillic=1095,e2.chedescenderabkhasiancyrillic=1215,e2.chedescendercyrillic=1207,e2.chedieresiscyrillic=1269,e2.cheharmenian=1395,e2.chekhakassiancyrillic=1228,e2.cheverticalstrokecyrillic=1209,e2.chi=967,e2.chieuchacirclekorean=12919,e2.chieuchaparenkorean=12823,e2.chieuchcirclekorean=12905,e2.chieuchkorean=12618,e2.chieuchparenkorean=12809,e2.chochangthai=3594,e2.chochanthai=3592,e2.chochingthai=3593,e2.chochoethai=3596,e2.chook=392,e2.cieucacirclekorean=12918,e2.cieucaparenkorean=12822,e2.cieuccirclekorean=12904,e2.cieuckorean=12616,e2.cieucparenkorean=12808,e2.cieucuparenkorean=12828,e2.circle=9675,e2.circlecopyrt=169,e2.circlemultiply=8855,e2.circleot=8857,e2.circleplus=8853,e2.circlepostalmark=12342,e2.circlewithlefthalfblack=9680,e2.circlewithrighthalfblack=9681,e2.circumflex=710,e2.circumflexbelowcmb=813,e2.circumflexcmb=770,e2.clear=8999,e2.clickalveolar=450,e2.clickdental=448,e2.clicklateral=449,e2.clickretroflex=451,e2.club=9827,e2.clubsuitblack=9827,e2.clubsuitwhite=9831,e2.cmcubedsquare=13220,e2.cmonospace=65347,e2.cmsquaredsquare=13216,e2.coarmenian=1409,e2.colon=58,e2.colonmonetary=8353,e2.colonmonospace=65306,e2.colonsign=8353,e2.colonsmall=65109,e2.colontriangularhalfmod=721,e2.colontriangularmod=720,e2.comma=44,e2.commaabovecmb=787,e2.commaaboverightcmb=789,e2.commaaccent=63171,e2.commaarabic=1548,e2.commaarmenian=1373,e2.commainferior=63201,e2.commamonospace=65292,e2.commareversedabovecmb=788,e2.commareversedmod=701,e2.commasmall=65104,e2.commasuperior=63202,e2.commaturnedabovecmb=786,e2.commaturnedmod=699,e2.compass=9788,e2.congruent=8773,e2.contourintegral=8750,e2.control=8963,e2.controlACK=6,e2.controlBEL=7,e2.controlBS=8,e2.controlCAN=24,e2.controlCR=13,e2.controlDC1=17,e2.controlDC2=18,e2.controlDC3=19,e2.controlDC4=20,e2.controlDEL=127,e2.controlDLE=16,e2.controlEM=25,e2.controlENQ=5,e2.controlEOT=4,e2.controlESC=27,e2.controlETB=23,e2.controlETX=3,e2.controlFF=12,e2.controlFS=28,e2.controlGS=29,e2.controlHT=9,e2.controlLF=10,e2.controlNAK=21,e2.controlNULL=0,e2.controlRS=30,e2.controlSI=15,e2.controlSO=14,e2.controlSOT=2,e2.controlSTX=1,e2.controlSUB=26,e2.controlSYN=22,e2.controlUS=31,e2.controlVT=11,e2.copyright=169,e2.copyrightsans=63721,e2.copyrightserif=63193,e2.cornerbracketleft=12300,e2.cornerbracketlefthalfwidth=65378,e2.cornerbracketleftvertical=65089,e2.cornerbracketright=12301,e2.cornerbracketrighthalfwidth=65379,e2.cornerbracketrightvertical=65090,e2.corporationsquare=13183,e2.cosquare=13255,e2.coverkgsquare=13254,e2.cparen=9374,e2.cruzeiro=8354,e2.cstretched=663,e2.curlyand=8911,e2.curlyor=8910,e2.currency=164,e2.cyrBreve=63185,e2.cyrFlex=63186,e2.cyrbreve=63188,e2.cyrflex=63189,e2.d=100,e2.daarmenian=1380,e2.dabengali=2470,e2.dadarabic=1590,e2.dadeva=2342,e2.dadfinalarabic=65214,e2.dadinitialarabic=65215,e2.dadmedialarabic=65216,e2.dagesh=1468,e2.dageshhebrew=1468,e2.dagger=8224,e2.daggerdbl=8225,e2.dagujarati=2726,e2.dagurmukhi=2598,e2.dahiragana=12384,e2.dakatakana=12480,e2.dalarabic=1583,e2.dalet=1491,e2.daletdagesh=64307,e2.daletdageshhebrew=64307,e2.dalethebrew=1491,e2.dalfinalarabic=65194,e2.dammaarabic=1615,e2.dammalowarabic=1615,e2.dammatanaltonearabic=1612,e2.dammatanarabic=1612,e2.danda=2404,e2.dargahebrew=1447,e2.dargalefthebrew=1447,e2.dasiapneumatacyrilliccmb=1157,e2.dblGrave=63187,e2.dblanglebracketleft=12298,e2.dblanglebracketleftvertical=65085,e2.dblanglebracketright=12299,e2.dblanglebracketrightvertical=65086,e2.dblarchinvertedbelowcmb=811,e2.dblarrowleft=8660,e2.dblarrowright=8658,e2.dbldanda=2405,e2.dblgrave=63190,e2.dblgravecmb=783,e2.dblintegral=8748,e2.dbllowline=8215,e2.dbllowlinecmb=819,e2.dbloverlinecmb=831,e2.dblprimemod=698,e2.dblverticalbar=8214,e2.dblverticallineabovecmb=782,e2.dbopomofo=12553,e2.dbsquare=13256,e2.dcaron=271,e2.dcedilla=7697,e2.dcircle=9427,e2.dcircumflexbelow=7699,e2.dcroat=273,e2.ddabengali=2465,e2.ddadeva=2337,e2.ddagujarati=2721,e2.ddagurmukhi=2593,e2.ddalarabic=1672,e2.ddalfinalarabic=64393,e2.dddhadeva=2396,e2.ddhabengali=2466,e2.ddhadeva=2338,e2.ddhagujarati=2722,e2.ddhagurmukhi=2594,e2.ddotaccent=7691,e2.ddotbelow=7693,e2.decimalseparatorarabic=1643,e2.decimalseparatorpersian=1643,e2.decyrillic=1076,e2.degree=176,e2.dehihebrew=1453,e2.dehiragana=12391,e2.deicoptic=1007,e2.dekatakana=12487,e2.deleteleft=9003,e2.deleteright=8998,e2.delta=948,e2.deltaturned=397,e2.denominatorminusonenumeratorbengali=2552,e2.dezh=676,e2.dhabengali=2471,e2.dhadeva=2343,e2.dhagujarati=2727,e2.dhagurmukhi=2599,e2.dhook=599,e2.dialytikatonos=901,e2.dialytikatonoscmb=836,e2.diamond=9830,e2.diamondsuitwhite=9826,e2.dieresis=168,e2.dieresisacute=63191,e2.dieresisbelowcmb=804,e2.dieresiscmb=776,e2.dieresisgrave=63192,e2.dieresistonos=901,e2.dihiragana=12386,e2.dikatakana=12482,e2.dittomark=12291,e2.divide=247,e2.divides=8739,e2.divisionslash=8725,e2.djecyrillic=1106,e2.dkshade=9619,e2.dlinebelow=7695,e2.dlsquare=13207,e2.dmacron=273,e2.dmonospace=65348,e2.dnblock=9604,e2.dochadathai=3598,e2.dodekthai=3604,e2.dohiragana=12393,e2.dokatakana=12489,e2.dollar=36,e2.dollarinferior=63203,e2.dollarmonospace=65284,e2.dollaroldstyle=63268,e2.dollarsmall=65129,e2.dollarsuperior=63204,e2.dong=8363,e2.dorusquare=13094,e2.dotaccent=729,e2.dotaccentcmb=775,e2.dotbelowcmb=803,e2.dotbelowcomb=803,e2.dotkatakana=12539,e2.dotlessi=305,e2.dotlessj=63166,e2.dotlessjstrokehook=644,e2.dotmath=8901,e2.dottedcircle=9676,e2.doubleyodpatah=64287,e2.doubleyodpatahhebrew=64287,e2.downtackbelowcmb=798,e2.downtackmod=725,e2.dparen=9375,e2.dsuperior=63211,e2.dtail=598,e2.dtopbar=396,e2.duhiragana=12389,e2.dukatakana=12485,e2.dz=499,e2.dzaltone=675,e2.dzcaron=454,e2.dzcurl=677,e2.dzeabkhasiancyrillic=1249,e2.dzecyrillic=1109,e2.dzhecyrillic=1119,e2.e=101,e2.eacute=233,e2.earth=9793,e2.ebengali=2447,e2.ebopomofo=12572,e2.ebreve=277,e2.ecandradeva=2317,e2.ecandragujarati=2701,e2.ecandravowelsigndeva=2373,e2.ecandravowelsigngujarati=2757,e2.ecaron=283,e2.ecedillabreve=7709,e2.echarmenian=1381,e2.echyiwnarmenian=1415,e2.ecircle=9428,e2.ecircumflex=234,e2.ecircumflexacute=7871,e2.ecircumflexbelow=7705,e2.ecircumflexdotbelow=7879,e2.ecircumflexgrave=7873,e2.ecircumflexhookabove=7875,e2.ecircumflextilde=7877,e2.ecyrillic=1108,e2.edblgrave=517,e2.edeva=2319,e2.edieresis=235,e2.edot=279,e2.edotaccent=279,e2.edotbelow=7865,e2.eegurmukhi=2575,e2.eematragurmukhi=2631,e2.efcyrillic=1092,e2.egrave=232,e2.egujarati=2703,e2.eharmenian=1383,e2.ehbopomofo=12573,e2.ehiragana=12360,e2.ehookabove=7867,e2.eibopomofo=12575,e2.eight=56,e2.eightarabic=1640,e2.eightbengali=2542,e2.eightcircle=9319,e2.eightcircleinversesansserif=10129,e2.eightdeva=2414,e2.eighteencircle=9329,e2.eighteenparen=9349,e2.eighteenperiod=9369,e2.eightgujarati=2798,e2.eightgurmukhi=2670,e2.eighthackarabic=1640,e2.eighthangzhou=12328,e2.eighthnotebeamed=9835,e2.eightideographicparen=12839,e2.eightinferior=8328,e2.eightmonospace=65304,e2.eightoldstyle=63288,e2.eightparen=9339,e2.eightperiod=9359,e2.eightpersian=1784,e2.eightroman=8567,e2.eightsuperior=8312,e2.eightthai=3672,e2.einvertedbreve=519,e2.eiotifiedcyrillic=1125,e2.ekatakana=12456,e2.ekatakanahalfwidth=65396,e2.ekonkargurmukhi=2676,e2.ekorean=12628,e2.elcyrillic=1083,e2.element=8712,e2.elevencircle=9322,e2.elevenparen=9342,e2.elevenperiod=9362,e2.elevenroman=8570,e2.ellipsis=8230,e2.ellipsisvertical=8942,e2.emacron=275,e2.emacronacute=7703,e2.emacrongrave=7701,e2.emcyrillic=1084,e2.emdash=8212,e2.emdashvertical=65073,e2.emonospace=65349,e2.emphasismarkarmenian=1371,e2.emptyset=8709,e2.enbopomofo=12579,e2.encyrillic=1085,e2.endash=8211,e2.endashvertical=65074,e2.endescendercyrillic=1187,e2.eng=331,e2.engbopomofo=12581,e2.enghecyrillic=1189,e2.enhookcyrillic=1224,e2.enspace=8194,e2.eogonek=281,e2.eokorean=12627,e2.eopen=603,e2.eopenclosed=666,e2.eopenreversed=604,e2.eopenreversedclosed=606,e2.eopenreversedhook=605,e2.eparen=9376,e2.epsilon=949,e2.epsilontonos=941,e2.equal=61,e2.equalmonospace=65309,e2.equalsmall=65126,e2.equalsuperior=8316,e2.equivalence=8801,e2.erbopomofo=12582,e2.ercyrillic=1088,e2.ereversed=600,e2.ereversedcyrillic=1101,e2.escyrillic=1089,e2.esdescendercyrillic=1195,e2.esh=643,e2.eshcurl=646,e2.eshortdeva=2318,e2.eshortvowelsigndeva=2374,e2.eshreversedloop=426,e2.eshsquatreversed=645,e2.esmallhiragana=12359,e2.esmallkatakana=12455,e2.esmallkatakanahalfwidth=65386,e2.estimated=8494,e2.esuperior=63212,e2.eta=951,e2.etarmenian=1384,e2.etatonos=942,e2.eth=240,e2.etilde=7869,e2.etildebelow=7707,e2.etnahtafoukhhebrew=1425,e2.etnahtafoukhlefthebrew=1425,e2.etnahtahebrew=1425,e2.etnahtalefthebrew=1425,e2.eturned=477,e2.eukorean=12641,e2.euro=8364,e2.evowelsignbengali=2503,e2.evowelsigndeva=2375,e2.evowelsigngujarati=2759,e2.exclam=33,e2.exclamarmenian=1372,e2.exclamdbl=8252,e2.exclamdown=161,e2.exclamdownsmall=63393,e2.exclammonospace=65281,e2.exclamsmall=63265,e2.existential=8707,e2.ezh=658,e2.ezhcaron=495,e2.ezhcurl=659,e2.ezhreversed=441,e2.ezhtail=442,e2.f=102,e2.fadeva=2398,e2.fagurmukhi=2654,e2.fahrenheit=8457,e2.fathaarabic=1614,e2.fathalowarabic=1614,e2.fathatanarabic=1611,e2.fbopomofo=12552,e2.fcircle=9429,e2.fdotaccent=7711,e2.feharabic=1601,e2.feharmenian=1414,e2.fehfinalarabic=65234,e2.fehinitialarabic=65235,e2.fehmedialarabic=65236,e2.feicoptic=997,e2.female=9792,e2.ff=64256,e2.f_f=64256,e2.ffi=64259,e2.f_f_i=64259,e2.ffl=64260,e2.f_f_l=64260,e2.fi=64257,e2.f_i=64257,e2.fifteencircle=9326,e2.fifteenparen=9346,e2.fifteenperiod=9366,e2.figuredash=8210,e2.filledbox=9632,e2.filledrect=9644,e2.finalkaf=1498,e2.finalkafdagesh=64314,e2.finalkafdageshhebrew=64314,e2.finalkafhebrew=1498,e2.finalmem=1501,e2.finalmemhebrew=1501,e2.finalnun=1503,e2.finalnunhebrew=1503,e2.finalpe=1507,e2.finalpehebrew=1507,e2.finaltsadi=1509,e2.finaltsadihebrew=1509,e2.firsttonechinese=713,e2.fisheye=9673,e2.fitacyrillic=1139,e2.five=53,e2.fivearabic=1637,e2.fivebengali=2539,e2.fivecircle=9316,e2.fivecircleinversesansserif=10126,e2.fivedeva=2411,e2.fiveeighths=8541,e2.fivegujarati=2795,e2.fivegurmukhi=2667,e2.fivehackarabic=1637,e2.fivehangzhou=12325,e2.fiveideographicparen=12836,e2.fiveinferior=8325,e2.fivemonospace=65301,e2.fiveoldstyle=63285,e2.fiveparen=9336,e2.fiveperiod=9356,e2.fivepersian=1781,e2.fiveroman=8564,e2.fivesuperior=8309,e2.fivethai=3669,e2.fl=64258,e2.f_l=64258,e2.florin=402,e2.fmonospace=65350,e2.fmsquare=13209,e2.fofanthai=3615,e2.fofathai=3613,e2.fongmanthai=3663,e2.forall=8704,e2.four=52,e2.fourarabic=1636,e2.fourbengali=2538,e2.fourcircle=9315,e2.fourcircleinversesansserif=10125,e2.fourdeva=2410,e2.fourgujarati=2794,e2.fourgurmukhi=2666,e2.fourhackarabic=1636,e2.fourhangzhou=12324,e2.fourideographicparen=12835,e2.fourinferior=8324,e2.fourmonospace=65300,e2.fournumeratorbengali=2551,e2.fouroldstyle=63284,e2.fourparen=9335,e2.fourperiod=9355,e2.fourpersian=1780,e2.fourroman=8563,e2.foursuperior=8308,e2.fourteencircle=9325,e2.fourteenparen=9345,e2.fourteenperiod=9365,e2.fourthai=3668,e2.fourthtonechinese=715,e2.fparen=9377,e2.fraction=8260,e2.franc=8355,e2.g=103,e2.gabengali=2455,e2.gacute=501,e2.gadeva=2327,e2.gafarabic=1711,e2.gaffinalarabic=64403,e2.gafinitialarabic=64404,e2.gafmedialarabic=64405,e2.gagujarati=2711,e2.gagurmukhi=2583,e2.gahiragana=12364,e2.gakatakana=12460,e2.gamma=947,e2.gammalatinsmall=611,e2.gammasuperior=736,e2.gangiacoptic=1003,e2.gbopomofo=12557,e2.gbreve=287,e2.gcaron=487,e2.gcedilla=291,e2.gcircle=9430,e2.gcircumflex=285,e2.gcommaaccent=291,e2.gdot=289,e2.gdotaccent=289,e2.gecyrillic=1075,e2.gehiragana=12370,e2.gekatakana=12466,e2.geometricallyequal=8785,e2.gereshaccenthebrew=1436,e2.gereshhebrew=1523,e2.gereshmuqdamhebrew=1437,e2.germandbls=223,e2.gershayimaccenthebrew=1438,e2.gershayimhebrew=1524,e2.getamark=12307,e2.ghabengali=2456,e2.ghadarmenian=1394,e2.ghadeva=2328,e2.ghagujarati=2712,e2.ghagurmukhi=2584,e2.ghainarabic=1594,e2.ghainfinalarabic=65230,e2.ghaininitialarabic=65231,e2.ghainmedialarabic=65232,e2.ghemiddlehookcyrillic=1173,e2.ghestrokecyrillic=1171,e2.gheupturncyrillic=1169,e2.ghhadeva=2394,e2.ghhagurmukhi=2650,e2.ghook=608,e2.ghzsquare=13203,e2.gihiragana=12366,e2.gikatakana=12462,e2.gimarmenian=1379,e2.gimel=1490,e2.gimeldagesh=64306,e2.gimeldageshhebrew=64306,e2.gimelhebrew=1490,e2.gjecyrillic=1107,e2.glottalinvertedstroke=446,e2.glottalstop=660,e2.glottalstopinverted=662,e2.glottalstopmod=704,e2.glottalstopreversed=661,e2.glottalstopreversedmod=705,e2.glottalstopreversedsuperior=740,e2.glottalstopstroke=673,e2.glottalstopstrokereversed=674,e2.gmacron=7713,e2.gmonospace=65351,e2.gohiragana=12372,e2.gokatakana=12468,e2.gparen=9378,e2.gpasquare=13228,e2.gradient=8711,e2.grave=96,e2.gravebelowcmb=790,e2.gravecmb=768,e2.gravecomb=768,e2.gravedeva=2387,e2.gravelowmod=718,e2.gravemonospace=65344,e2.gravetonecmb=832,e2.greater=62,e2.greaterequal=8805,e2.greaterequalorless=8923,e2.greatermonospace=65310,e2.greaterorequivalent=8819,e2.greaterorless=8823,e2.greateroverequal=8807,e2.greatersmall=65125,e2.gscript=609,e2.gstroke=485,e2.guhiragana=12368,e2.guillemotleft=171,e2.guillemotright=187,e2.guilsinglleft=8249,e2.guilsinglright=8250,e2.gukatakana=12464,e2.guramusquare=13080,e2.gysquare=13257,e2.h=104,e2.haabkhasiancyrillic=1193,e2.haaltonearabic=1729,e2.habengali=2489,e2.hadescendercyrillic=1203,e2.hadeva=2361,e2.hagujarati=2745,e2.hagurmukhi=2617,e2.haharabic=1581,e2.hahfinalarabic=65186,e2.hahinitialarabic=65187,e2.hahiragana=12399,e2.hahmedialarabic=65188,e2.haitusquare=13098,e2.hakatakana=12495,e2.hakatakanahalfwidth=65418,e2.halantgurmukhi=2637,e2.hamzaarabic=1569,e2.hamzalowarabic=1569,e2.hangulfiller=12644,e2.hardsigncyrillic=1098,e2.harpoonleftbarbup=8636,e2.harpoonrightbarbup=8640,e2.hasquare=13258,e2.hatafpatah=1458,e2.hatafpatah16=1458,e2.hatafpatah23=1458,e2.hatafpatah2f=1458,e2.hatafpatahhebrew=1458,e2.hatafpatahnarrowhebrew=1458,e2.hatafpatahquarterhebrew=1458,e2.hatafpatahwidehebrew=1458,e2.hatafqamats=1459,e2.hatafqamats1b=1459,e2.hatafqamats28=1459,e2.hatafqamats34=1459,e2.hatafqamatshebrew=1459,e2.hatafqamatsnarrowhebrew=1459,e2.hatafqamatsquarterhebrew=1459,e2.hatafqamatswidehebrew=1459,e2.hatafsegol=1457,e2.hatafsegol17=1457,e2.hatafsegol24=1457,e2.hatafsegol30=1457,e2.hatafsegolhebrew=1457,e2.hatafsegolnarrowhebrew=1457,e2.hatafsegolquarterhebrew=1457,e2.hatafsegolwidehebrew=1457,e2.hbar=295,e2.hbopomofo=12559,e2.hbrevebelow=7723,e2.hcedilla=7721,e2.hcircle=9431,e2.hcircumflex=293,e2.hdieresis=7719,e2.hdotaccent=7715,e2.hdotbelow=7717,e2.he=1492,e2.heart=9829,e2.heartsuitblack=9829,e2.heartsuitwhite=9825,e2.hedagesh=64308,e2.hedageshhebrew=64308,e2.hehaltonearabic=1729,e2.heharabic=1607,e2.hehebrew=1492,e2.hehfinalaltonearabic=64423,e2.hehfinalalttwoarabic=65258,e2.hehfinalarabic=65258,e2.hehhamzaabovefinalarabic=64421,e2.hehhamzaaboveisolatedarabic=64420,e2.hehinitialaltonearabic=64424,e2.hehinitialarabic=65259,e2.hehiragana=12408,e2.hehmedialaltonearabic=64425,e2.hehmedialarabic=65260,e2.heiseierasquare=13179,e2.hekatakana=12504,e2.hekatakanahalfwidth=65421,e2.hekutaarusquare=13110,e2.henghook=615,e2.herutusquare=13113,e2.het=1495,e2.hethebrew=1495,e2.hhook=614,e2.hhooksuperior=689,e2.hieuhacirclekorean=12923,e2.hieuhaparenkorean=12827,e2.hieuhcirclekorean=12909,e2.hieuhkorean=12622,e2.hieuhparenkorean=12813,e2.hihiragana=12402,e2.hikatakana=12498,e2.hikatakanahalfwidth=65419,e2.hiriq=1460,e2.hiriq14=1460,e2.hiriq21=1460,e2.hiriq2d=1460,e2.hiriqhebrew=1460,e2.hiriqnarrowhebrew=1460,e2.hiriqquarterhebrew=1460,e2.hiriqwidehebrew=1460,e2.hlinebelow=7830,e2.hmonospace=65352,e2.hoarmenian=1392,e2.hohipthai=3627,e2.hohiragana=12411,e2.hokatakana=12507,e2.hokatakanahalfwidth=65422,e2.holam=1465,e2.holam19=1465,e2.holam26=1465,e2.holam32=1465,e2.holamhebrew=1465,e2.holamnarrowhebrew=1465,e2.holamquarterhebrew=1465,e2.holamwidehebrew=1465,e2.honokhukthai=3630,e2.hookabovecomb=777,e2.hookcmb=777,e2.hookpalatalizedbelowcmb=801,e2.hookretroflexbelowcmb=802,e2.hoonsquare=13122,e2.horicoptic=1001,e2.horizontalbar=8213,e2.horncmb=795,e2.hotsprings=9832,e2.house=8962,e2.hparen=9379,e2.hsuperior=688,e2.hturned=613,e2.huhiragana=12405,e2.huiitosquare=13107,e2.hukatakana=12501,e2.hukatakanahalfwidth=65420,e2.hungarumlaut=733,e2.hungarumlautcmb=779,e2.hv=405,e2.hyphen=45,e2.hypheninferior=63205,e2.hyphenmonospace=65293,e2.hyphensmall=65123,e2.hyphensuperior=63206,e2.hyphentwo=8208,e2.i=105,e2.iacute=237,e2.iacyrillic=1103,e2.ibengali=2439,e2.ibopomofo=12583,e2.ibreve=301,e2.icaron=464,e2.icircle=9432,e2.icircumflex=238,e2.icyrillic=1110,e2.idblgrave=521,e2.ideographearthcircle=12943,e2.ideographfirecircle=12939,e2.ideographicallianceparen=12863,e2.ideographiccallparen=12858,e2.ideographiccentrecircle=12965,e2.ideographicclose=12294,e2.ideographiccomma=12289,e2.ideographiccommaleft=65380,e2.ideographiccongratulationparen=12855,e2.ideographiccorrectcircle=12963,e2.ideographicearthparen=12847,e2.ideographicenterpriseparen=12861,e2.ideographicexcellentcircle=12957,e2.ideographicfestivalparen=12864,e2.ideographicfinancialcircle=12950,e2.ideographicfinancialparen=12854,e2.ideographicfireparen=12843,e2.ideographichaveparen=12850,e2.ideographichighcircle=12964,e2.ideographiciterationmark=12293,e2.ideographiclaborcircle=12952,e2.ideographiclaborparen=12856,e2.ideographicleftcircle=12967,e2.ideographiclowcircle=12966,e2.ideographicmedicinecircle=12969,e2.ideographicmetalparen=12846,e2.ideographicmoonparen=12842,e2.ideographicnameparen=12852,e2.ideographicperiod=12290,e2.ideographicprintcircle=12958,e2.ideographicreachparen=12867,e2.ideographicrepresentparen=12857,e2.ideographicresourceparen=12862,e2.ideographicrightcircle=12968,e2.ideographicsecretcircle=12953,e2.ideographicselfparen=12866,e2.ideographicsocietyparen=12851,e2.ideographicspace=12288,e2.ideographicspecialparen=12853,e2.ideographicstockparen=12849,e2.ideographicstudyparen=12859,e2.ideographicsunparen=12848,e2.ideographicsuperviseparen=12860,e2.ideographicwaterparen=12844,e2.ideographicwoodparen=12845,e2.ideographiczero=12295,e2.ideographmetalcircle=12942,e2.ideographmooncircle=12938,e2.ideographnamecircle=12948,e2.ideographsuncircle=12944,e2.ideographwatercircle=12940,e2.ideographwoodcircle=12941,e2.ideva=2311,e2.idieresis=239,e2.idieresisacute=7727,e2.idieresiscyrillic=1253,e2.idotbelow=7883,e2.iebrevecyrillic=1239,e2.iecyrillic=1077,e2.ieungacirclekorean=12917,e2.ieungaparenkorean=12821,e2.ieungcirclekorean=12903,e2.ieungkorean=12615,e2.ieungparenkorean=12807,e2.igrave=236,e2.igujarati=2695,e2.igurmukhi=2567,e2.ihiragana=12356,e2.ihookabove=7881,e2.iibengali=2440,e2.iicyrillic=1080,e2.iideva=2312,e2.iigujarati=2696,e2.iigurmukhi=2568,e2.iimatragurmukhi=2624,e2.iinvertedbreve=523,e2.iishortcyrillic=1081,e2.iivowelsignbengali=2496,e2.iivowelsigndeva=2368,e2.iivowelsigngujarati=2752,e2.ij=307,e2.ikatakana=12452,e2.ikatakanahalfwidth=65394,e2.ikorean=12643,e2.ilde=732,e2.iluyhebrew=1452,e2.imacron=299,e2.imacroncyrillic=1251,e2.imageorapproximatelyequal=8787,e2.imatragurmukhi=2623,e2.imonospace=65353,e2.increment=8710,e2.infinity=8734,e2.iniarmenian=1387,e2.integral=8747,e2.integralbottom=8993,e2.integralbt=8993,e2.integralex=63733,e2.integraltop=8992,e2.integraltp=8992,e2.intersection=8745,e2.intisquare=13061,e2.invbullet=9688,e2.invcircle=9689,e2.invsmileface=9787,e2.iocyrillic=1105,e2.iogonek=303,e2.iota=953,e2.iotadieresis=970,e2.iotadieresistonos=912,e2.iotalatin=617,e2.iotatonos=943,e2.iparen=9380,e2.irigurmukhi=2674,e2.ismallhiragana=12355,e2.ismallkatakana=12451,e2.ismallkatakanahalfwidth=65384,e2.issharbengali=2554,e2.istroke=616,e2.isuperior=63213,e2.iterationhiragana=12445,e2.iterationkatakana=12541,e2.itilde=297,e2.itildebelow=7725,e2.iubopomofo=12585,e2.iucyrillic=1102,e2.ivowelsignbengali=2495,e2.ivowelsigndeva=2367,e2.ivowelsigngujarati=2751,e2.izhitsacyrillic=1141,e2.izhitsadblgravecyrillic=1143,e2.j=106,e2.jaarmenian=1393,e2.jabengali=2460,e2.jadeva=2332,e2.jagujarati=2716,e2.jagurmukhi=2588,e2.jbopomofo=12560,e2.jcaron=496,e2.jcircle=9433,e2.jcircumflex=309,e2.jcrossedtail=669,e2.jdotlessstroke=607,e2.jecyrillic=1112,e2.jeemarabic=1580,e2.jeemfinalarabic=65182,e2.jeeminitialarabic=65183,e2.jeemmedialarabic=65184,e2.jeharabic=1688,e2.jehfinalarabic=64395,e2.jhabengali=2461,e2.jhadeva=2333,e2.jhagujarati=2717,e2.jhagurmukhi=2589,e2.jheharmenian=1403,e2.jis=12292,e2.jmonospace=65354,e2.jparen=9381,e2.jsuperior=690,e2.k=107,e2.kabashkircyrillic=1185,e2.kabengali=2453,e2.kacute=7729,e2.kacyrillic=1082,e2.kadescendercyrillic=1179,e2.kadeva=2325,e2.kaf=1499,e2.kafarabic=1603,e2.kafdagesh=64315,e2.kafdageshhebrew=64315,e2.kaffinalarabic=65242,e2.kafhebrew=1499,e2.kafinitialarabic=65243,e2.kafmedialarabic=65244,e2.kafrafehebrew=64333,e2.kagujarati=2709,e2.kagurmukhi=2581,e2.kahiragana=12363,e2.kahookcyrillic=1220,e2.kakatakana=12459,e2.kakatakanahalfwidth=65398,e2.kappa=954,e2.kappasymbolgreek=1008,e2.kapyeounmieumkorean=12657,e2.kapyeounphieuphkorean=12676,e2.kapyeounpieupkorean=12664,e2.kapyeounssangpieupkorean=12665,e2.karoriisquare=13069,e2.kashidaautoarabic=1600,e2.kashidaautonosidebearingarabic=1600,e2.kasmallkatakana=12533,e2.kasquare=13188,e2.kasraarabic=1616,e2.kasratanarabic=1613,e2.kastrokecyrillic=1183,e2.katahiraprolongmarkhalfwidth=65392,e2.kaverticalstrokecyrillic=1181,e2.kbopomofo=12558,e2.kcalsquare=13193,e2.kcaron=489,e2.kcedilla=311,e2.kcircle=9434,e2.kcommaaccent=311,e2.kdotbelow=7731,e2.keharmenian=1412,e2.kehiragana=12369,e2.kekatakana=12465,e2.kekatakanahalfwidth=65401,e2.kenarmenian=1391,e2.kesmallkatakana=12534,e2.kgreenlandic=312,e2.khabengali=2454,e2.khacyrillic=1093,e2.khadeva=2326,e2.khagujarati=2710,e2.khagurmukhi=2582,e2.khaharabic=1582,e2.khahfinalarabic=65190,e2.khahinitialarabic=65191,e2.khahmedialarabic=65192,e2.kheicoptic=999,e2.khhadeva=2393,e2.khhagurmukhi=2649,e2.khieukhacirclekorean=12920,e2.khieukhaparenkorean=12824,e2.khieukhcirclekorean=12906,e2.khieukhkorean=12619,e2.khieukhparenkorean=12810,e2.khokhaithai=3586,e2.khokhonthai=3589,e2.khokhuatthai=3587,e2.khokhwaithai=3588,e2.khomutthai=3675,e2.khook=409,e2.khorakhangthai=3590,e2.khzsquare=13201,e2.kihiragana=12365,e2.kikatakana=12461,e2.kikatakanahalfwidth=65399,e2.kiroguramusquare=13077,e2.kiromeetorusquare=13078,e2.kirosquare=13076,e2.kiyeokacirclekorean=12910,e2.kiyeokaparenkorean=12814,e2.kiyeokcirclekorean=12896,e2.kiyeokkorean=12593,e2.kiyeokparenkorean=12800,e2.kiyeoksioskorean=12595,e2.kjecyrillic=1116,e2.klinebelow=7733,e2.klsquare=13208,e2.kmcubedsquare=13222,e2.kmonospace=65355,e2.kmsquaredsquare=13218,e2.kohiragana=12371,e2.kohmsquare=13248,e2.kokaithai=3585,e2.kokatakana=12467,e2.kokatakanahalfwidth=65402,e2.kooposquare=13086,e2.koppacyrillic=1153,e2.koreanstandardsymbol=12927,e2.koroniscmb=835,e2.kparen=9382,e2.kpasquare=13226,e2.ksicyrillic=1135,e2.ktsquare=13263,e2.kturned=670,e2.kuhiragana=12367,e2.kukatakana=12463,e2.kukatakanahalfwidth=65400,e2.kvsquare=13240,e2.kwsquare=13246,e2.l=108,e2.labengali=2482,e2.lacute=314,e2.ladeva=2354,e2.lagujarati=2738,e2.lagurmukhi=2610,e2.lakkhangyaothai=3653,e2.lamaleffinalarabic=65276,e2.lamalefhamzaabovefinalarabic=65272,e2.lamalefhamzaaboveisolatedarabic=65271,e2.lamalefhamzabelowfinalarabic=65274,e2.lamalefhamzabelowisolatedarabic=65273,e2.lamalefisolatedarabic=65275,e2.lamalefmaddaabovefinalarabic=65270,e2.lamalefmaddaaboveisolatedarabic=65269,e2.lamarabic=1604,e2.lambda=955,e2.lambdastroke=411,e2.lamed=1500,e2.lameddagesh=64316,e2.lameddageshhebrew=64316,e2.lamedhebrew=1500,e2.lamfinalarabic=65246,e2.lamhahinitialarabic=64714,e2.laminitialarabic=65247,e2.lamjeeminitialarabic=64713,e2.lamkhahinitialarabic=64715,e2.lamlamhehisolatedarabic=65010,e2.lammedialarabic=65248,e2.lammeemhahinitialarabic=64904,e2.lammeeminitialarabic=64716,e2.largecircle=9711,e2.lbar=410,e2.lbelt=620,e2.lbopomofo=12556,e2.lcaron=318,e2.lcedilla=316,e2.lcircle=9435,e2.lcircumflexbelow=7741,e2.lcommaaccent=316,e2.ldot=320,e2.ldotaccent=320,e2.ldotbelow=7735,e2.ldotbelowmacron=7737,e2.leftangleabovecmb=794,e2.lefttackbelowcmb=792,e2.less=60,e2.lessequal=8804,e2.lessequalorgreater=8922,e2.lessmonospace=65308,e2.lessorequivalent=8818,e2.lessorgreater=8822,e2.lessoverequal=8806,e2.lesssmall=65124,e2.lezh=622,e2.lfblock=9612,e2.lhookretroflex=621,e2.lira=8356,e2.liwnarmenian=1388,e2.lj=457,e2.ljecyrillic=1113,e2.ll=63168,e2.lladeva=2355,e2.llagujarati=2739,e2.llinebelow=7739,e2.llladeva=2356,e2.llvocalicbengali=2529,e2.llvocalicdeva=2401,e2.llvocalicvowelsignbengali=2531,e2.llvocalicvowelsigndeva=2403,e2.lmiddletilde=619,e2.lmonospace=65356,e2.lmsquare=13264,e2.lochulathai=3628,e2.logicaland=8743,e2.logicalnot=172,e2.logicalnotreversed=8976,e2.logicalor=8744,e2.lolingthai=3621,e2.longs=383,e2.lowlinecenterline=65102,e2.lowlinecmb=818,e2.lowlinedashed=65101,e2.lozenge=9674,e2.lparen=9383,e2.lslash=322,e2.lsquare=8467,e2.lsuperior=63214,e2.ltshade=9617,e2.luthai=3622,e2.lvocalicbengali=2444,e2.lvocalicdeva=2316,e2.lvocalicvowelsignbengali=2530,e2.lvocalicvowelsigndeva=2402,e2.lxsquare=13267,e2.m=109,e2.mabengali=2478,e2.macron=175,e2.macronbelowcmb=817,e2.macroncmb=772,e2.macronlowmod=717,e2.macronmonospace=65507,e2.macute=7743,e2.madeva=2350,e2.magujarati=2734,e2.magurmukhi=2606,e2.mahapakhhebrew=1444,e2.mahapakhlefthebrew=1444,e2.mahiragana=12414,e2.maichattawalowleftthai=63637,e2.maichattawalowrightthai=63636,e2.maichattawathai=3659,e2.maichattawaupperleftthai=63635,e2.maieklowleftthai=63628,e2.maieklowrightthai=63627,e2.maiekthai=3656,e2.maiekupperleftthai=63626,e2.maihanakatleftthai=63620,e2.maihanakatthai=3633,e2.maitaikhuleftthai=63625,e2.maitaikhuthai=3655,e2.maitholowleftthai=63631,e2.maitholowrightthai=63630,e2.maithothai=3657,e2.maithoupperleftthai=63629,e2.maitrilowleftthai=63634,e2.maitrilowrightthai=63633,e2.maitrithai=3658,e2.maitriupperleftthai=63632,e2.maiyamokthai=3654,e2.makatakana=12510,e2.makatakanahalfwidth=65423,e2.male=9794,e2.mansyonsquare=13127,e2.maqafhebrew=1470,e2.mars=9794,e2.masoracirclehebrew=1455,e2.masquare=13187,e2.mbopomofo=12551,e2.mbsquare=13268,e2.mcircle=9436,e2.mcubedsquare=13221,e2.mdotaccent=7745,e2.mdotbelow=7747,e2.meemarabic=1605,e2.meemfinalarabic=65250,e2.meeminitialarabic=65251,e2.meemmedialarabic=65252,e2.meemmeeminitialarabic=64721,e2.meemmeemisolatedarabic=64584,e2.meetorusquare=13133,e2.mehiragana=12417,e2.meizierasquare=13182,e2.mekatakana=12513,e2.mekatakanahalfwidth=65426,e2.mem=1502,e2.memdagesh=64318,e2.memdageshhebrew=64318,e2.memhebrew=1502,e2.menarmenian=1396,e2.merkhahebrew=1445,e2.merkhakefulahebrew=1446,e2.merkhakefulalefthebrew=1446,e2.merkhalefthebrew=1445,e2.mhook=625,e2.mhzsquare=13202,e2.middledotkatakanahalfwidth=65381,e2.middot=183,e2.mieumacirclekorean=12914,e2.mieumaparenkorean=12818,e2.mieumcirclekorean=12900,e2.mieumkorean=12609,e2.mieumpansioskorean=12656,e2.mieumparenkorean=12804,e2.mieumpieupkorean=12654,e2.mieumsioskorean=12655,e2.mihiragana=12415,e2.mikatakana=12511,e2.mikatakanahalfwidth=65424,e2.minus=8722,e2.minusbelowcmb=800,e2.minuscircle=8854,e2.minusmod=727,e2.minusplus=8723,e2.minute=8242,e2.miribaarusquare=13130,e2.mirisquare=13129,e2.mlonglegturned=624,e2.mlsquare=13206,e2.mmcubedsquare=13219,e2.mmonospace=65357,e2.mmsquaredsquare=13215,e2.mohiragana=12418,e2.mohmsquare=13249,e2.mokatakana=12514,e2.mokatakanahalfwidth=65427,e2.molsquare=13270,e2.momathai=3617,e2.moverssquare=13223,e2.moverssquaredsquare=13224,e2.mparen=9384,e2.mpasquare=13227,e2.mssquare=13235,e2.msuperior=63215,e2.mturned=623,e2.mu=181,e2.mu1=181,e2.muasquare=13186,e2.muchgreater=8811,e2.muchless=8810,e2.mufsquare=13196,e2.mugreek=956,e2.mugsquare=13197,e2.muhiragana=12416,e2.mukatakana=12512,e2.mukatakanahalfwidth=65425,e2.mulsquare=13205,e2.multiply=215,e2.mumsquare=13211,e2.munahhebrew=1443,e2.munahlefthebrew=1443,e2.musicalnote=9834,e2.musicalnotedbl=9835,e2.musicflatsign=9837,e2.musicsharpsign=9839,e2.mussquare=13234,e2.muvsquare=13238,e2.muwsquare=13244,e2.mvmegasquare=13241,e2.mvsquare=13239,e2.mwmegasquare=13247,e2.mwsquare=13245,e2.n=110,e2.nabengali=2472,e2.nabla=8711,e2.nacute=324,e2.nadeva=2344,e2.nagujarati=2728,e2.nagurmukhi=2600,e2.nahiragana=12394,e2.nakatakana=12490,e2.nakatakanahalfwidth=65413,e2.napostrophe=329,e2.nasquare=13185,e2.nbopomofo=12555,e2.nbspace=160,e2.ncaron=328,e2.ncedilla=326,e2.ncircle=9437,e2.ncircumflexbelow=7755,e2.ncommaaccent=326,e2.ndotaccent=7749,e2.ndotbelow=7751,e2.nehiragana=12397,e2.nekatakana=12493,e2.nekatakanahalfwidth=65416,e2.newsheqelsign=8362,e2.nfsquare=13195,e2.ngabengali=2457,e2.ngadeva=2329,e2.ngagujarati=2713,e2.ngagurmukhi=2585,e2.ngonguthai=3591,e2.nhiragana=12435,e2.nhookleft=626,e2.nhookretroflex=627,e2.nieunacirclekorean=12911,e2.nieunaparenkorean=12815,e2.nieuncieuckorean=12597,e2.nieuncirclekorean=12897,e2.nieunhieuhkorean=12598,e2.nieunkorean=12596,e2.nieunpansioskorean=12648,e2.nieunparenkorean=12801,e2.nieunsioskorean=12647,e2.nieuntikeutkorean=12646,e2.nihiragana=12395,e2.nikatakana=12491,e2.nikatakanahalfwidth=65414,e2.nikhahitleftthai=63641,e2.nikhahitthai=3661,e2.nine=57,e2.ninearabic=1641,e2.ninebengali=2543,e2.ninecircle=9320,e2.ninecircleinversesansserif=10130,e2.ninedeva=2415,e2.ninegujarati=2799,e2.ninegurmukhi=2671,e2.ninehackarabic=1641,e2.ninehangzhou=12329,e2.nineideographicparen=12840,e2.nineinferior=8329,e2.ninemonospace=65305,e2.nineoldstyle=63289,e2.nineparen=9340,e2.nineperiod=9360,e2.ninepersian=1785,e2.nineroman=8568,e2.ninesuperior=8313,e2.nineteencircle=9330,e2.nineteenparen=9350,e2.nineteenperiod=9370,e2.ninethai=3673,e2.nj=460,e2.njecyrillic=1114,e2.nkatakana=12531,e2.nkatakanahalfwidth=65437,e2.nlegrightlong=414,e2.nlinebelow=7753,e2.nmonospace=65358,e2.nmsquare=13210,e2.nnabengali=2467,e2.nnadeva=2339,e2.nnagujarati=2723,e2.nnagurmukhi=2595,e2.nnnadeva=2345,e2.nohiragana=12398,e2.nokatakana=12494,e2.nokatakanahalfwidth=65417,e2.nonbreakingspace=160,e2.nonenthai=3603,e2.nonuthai=3609,e2.noonarabic=1606,e2.noonfinalarabic=65254,e2.noonghunnaarabic=1722,e2.noonghunnafinalarabic=64415,e2.nooninitialarabic=65255,e2.noonjeeminitialarabic=64722,e2.noonjeemisolatedarabic=64587,e2.noonmedialarabic=65256,e2.noonmeeminitialarabic=64725,e2.noonmeemisolatedarabic=64590,e2.noonnoonfinalarabic=64653,e2.notcontains=8716,e2.notelement=8713,e2.notelementof=8713,e2.notequal=8800,e2.notgreater=8815,e2.notgreaternorequal=8817,e2.notgreaternorless=8825,e2.notidentical=8802,e2.notless=8814,e2.notlessnorequal=8816,e2.notparallel=8742,e2.notprecedes=8832,e2.notsubset=8836,e2.notsucceeds=8833,e2.notsuperset=8837,e2.nowarmenian=1398,e2.nparen=9385,e2.nssquare=13233,e2.nsuperior=8319,e2.ntilde=241,e2.nu=957,e2.nuhiragana=12396,e2.nukatakana=12492,e2.nukatakanahalfwidth=65415,e2.nuktabengali=2492,e2.nuktadeva=2364,e2.nuktagujarati=2748,e2.nuktagurmukhi=2620,e2.numbersign=35,e2.numbersignmonospace=65283,e2.numbersignsmall=65119,e2.numeralsigngreek=884,e2.numeralsignlowergreek=885,e2.numero=8470,e2.nun=1504,e2.nundagesh=64320,e2.nundageshhebrew=64320,e2.nunhebrew=1504,e2.nvsquare=13237,e2.nwsquare=13243,e2.nyabengali=2462,e2.nyadeva=2334,e2.nyagujarati=2718,e2.nyagurmukhi=2590,e2.o=111,e2.oacute=243,e2.oangthai=3629,e2.obarred=629,e2.obarredcyrillic=1257,e2.obarreddieresiscyrillic=1259,e2.obengali=2451,e2.obopomofo=12571,e2.obreve=335,e2.ocandradeva=2321,e2.ocandragujarati=2705,e2.ocandravowelsigndeva=2377,e2.ocandravowelsigngujarati=2761,e2.ocaron=466,e2.ocircle=9438,e2.ocircumflex=244,e2.ocircumflexacute=7889,e2.ocircumflexdotbelow=7897,e2.ocircumflexgrave=7891,e2.ocircumflexhookabove=7893,e2.ocircumflextilde=7895,e2.ocyrillic=1086,e2.odblacute=337,e2.odblgrave=525,e2.odeva=2323,e2.odieresis=246,e2.odieresiscyrillic=1255,e2.odotbelow=7885,e2.oe=339,e2.oekorean=12634,e2.ogonek=731,e2.ogonekcmb=808,e2.ograve=242,e2.ogujarati=2707,e2.oharmenian=1413,e2.ohiragana=12362,e2.ohookabove=7887,e2.ohorn=417,e2.ohornacute=7899,e2.ohorndotbelow=7907,e2.ohorngrave=7901,e2.ohornhookabove=7903,e2.ohorntilde=7905,e2.ohungarumlaut=337,e2.oi=419,e2.oinvertedbreve=527,e2.okatakana=12458,e2.okatakanahalfwidth=65397,e2.okorean=12631,e2.olehebrew=1451,e2.omacron=333,e2.omacronacute=7763,e2.omacrongrave=7761,e2.omdeva=2384,e2.omega=969,e2.omega1=982,e2.omegacyrillic=1121,e2.omegalatinclosed=631,e2.omegaroundcyrillic=1147,e2.omegatitlocyrillic=1149,e2.omegatonos=974,e2.omgujarati=2768,e2.omicron=959,e2.omicrontonos=972,e2.omonospace=65359,e2.one=49,e2.onearabic=1633,e2.onebengali=2535,e2.onecircle=9312,e2.onecircleinversesansserif=10122,e2.onedeva=2407,e2.onedotenleader=8228,e2.oneeighth=8539,e2.onefitted=63196,e2.onegujarati=2791,e2.onegurmukhi=2663,e2.onehackarabic=1633,e2.onehalf=189,e2.onehangzhou=12321,e2.oneideographicparen=12832,e2.oneinferior=8321,e2.onemonospace=65297,e2.onenumeratorbengali=2548,e2.oneoldstyle=63281,e2.oneparen=9332,e2.oneperiod=9352,e2.onepersian=1777,e2.onequarter=188,e2.oneroman=8560,e2.onesuperior=185,e2.onethai=3665,e2.onethird=8531,e2.oogonek=491,e2.oogonekmacron=493,e2.oogurmukhi=2579,e2.oomatragurmukhi=2635,e2.oopen=596,e2.oparen=9386,e2.openbullet=9702,e2.option=8997,e2.ordfeminine=170,e2.ordmasculine=186,e2.orthogonal=8735,e2.oshortdeva=2322,e2.oshortvowelsigndeva=2378,e2.oslash=248,e2.oslashacute=511,e2.osmallhiragana=12361,e2.osmallkatakana=12457,e2.osmallkatakanahalfwidth=65387,e2.ostrokeacute=511,e2.osuperior=63216,e2.otcyrillic=1151,e2.otilde=245,e2.otildeacute=7757,e2.otildedieresis=7759,e2.oubopomofo=12577,e2.overline=8254,e2.overlinecenterline=65098,e2.overlinecmb=773,e2.overlinedashed=65097,e2.overlinedblwavy=65100,e2.overlinewavy=65099,e2.overscore=175,e2.ovowelsignbengali=2507,e2.ovowelsigndeva=2379,e2.ovowelsigngujarati=2763,e2.p=112,e2.paampssquare=13184,e2.paasentosquare=13099,e2.pabengali=2474,e2.pacute=7765,e2.padeva=2346,e2.pagedown=8671,e2.pageup=8670,e2.pagujarati=2730,e2.pagurmukhi=2602,e2.pahiragana=12401,e2.paiyannoithai=3631,e2.pakatakana=12497,e2.palatalizationcyrilliccmb=1156,e2.palochkacyrillic=1216,e2.pansioskorean=12671,e2.paragraph=182,e2.parallel=8741,e2.parenleft=40,e2.parenleftaltonearabic=64830,e2.parenleftbt=63725,e2.parenleftex=63724,e2.parenleftinferior=8333,e2.parenleftmonospace=65288,e2.parenleftsmall=65113,e2.parenleftsuperior=8317,e2.parenlefttp=63723,e2.parenleftvertical=65077,e2.parenright=41,e2.parenrightaltonearabic=64831,e2.parenrightbt=63736,e2.parenrightex=63735,e2.parenrightinferior=8334,e2.parenrightmonospace=65289,e2.parenrightsmall=65114,e2.parenrightsuperior=8318,e2.parenrighttp=63734,e2.parenrightvertical=65078,e2.partialdiff=8706,e2.paseqhebrew=1472,e2.pashtahebrew=1433,e2.pasquare=13225,e2.patah=1463,e2.patah11=1463,e2.patah1d=1463,e2.patah2a=1463,e2.patahhebrew=1463,e2.patahnarrowhebrew=1463,e2.patahquarterhebrew=1463,e2.patahwidehebrew=1463,e2.pazerhebrew=1441,e2.pbopomofo=12550,e2.pcircle=9439,e2.pdotaccent=7767,e2.pe=1508,e2.pecyrillic=1087,e2.pedagesh=64324,e2.pedageshhebrew=64324,e2.peezisquare=13115,e2.pefinaldageshhebrew=64323,e2.peharabic=1662,e2.peharmenian=1402,e2.pehebrew=1508,e2.pehfinalarabic=64343,e2.pehinitialarabic=64344,e2.pehiragana=12410,e2.pehmedialarabic=64345,e2.pekatakana=12506,e2.pemiddlehookcyrillic=1191,e2.perafehebrew=64334,e2.percent=37,e2.percentarabic=1642,e2.percentmonospace=65285,e2.percentsmall=65130,e2.period=46,e2.periodarmenian=1417,e2.periodcentered=183,e2.periodhalfwidth=65377,e2.periodinferior=63207,e2.periodmonospace=65294,e2.periodsmall=65106,e2.periodsuperior=63208,e2.perispomenigreekcmb=834,e2.perpendicular=8869,e2.perthousand=8240,e2.peseta=8359,e2.pfsquare=13194,e2.phabengali=2475,e2.phadeva=2347,e2.phagujarati=2731,e2.phagurmukhi=2603,e2.phi=966,e2.phi1=981,e2.phieuphacirclekorean=12922,e2.phieuphaparenkorean=12826,e2.phieuphcirclekorean=12908,e2.phieuphkorean=12621,e2.phieuphparenkorean=12812,e2.philatin=632,e2.phinthuthai=3642,e2.phisymbolgreek=981,e2.phook=421,e2.phophanthai=3614,e2.phophungthai=3612,e2.phosamphaothai=3616,e2.pi=960,e2.pieupacirclekorean=12915,e2.pieupaparenkorean=12819,e2.pieupcieuckorean=12662,e2.pieupcirclekorean=12901,e2.pieupkiyeokkorean=12658,e2.pieupkorean=12610,e2.pieupparenkorean=12805,e2.pieupsioskiyeokkorean=12660,e2.pieupsioskorean=12612,e2.pieupsiostikeutkorean=12661,e2.pieupthieuthkorean=12663,e2.pieuptikeutkorean=12659,e2.pihiragana=12404,e2.pikatakana=12500,e2.pisymbolgreek=982,e2.piwrarmenian=1411,e2.planckover2pi=8463,e2.planckover2pi1=8463,e2.plus=43,e2.plusbelowcmb=799,e2.pluscircle=8853,e2.plusminus=177,e2.plusmod=726,e2.plusmonospace=65291,e2.plussmall=65122,e2.plussuperior=8314,e2.pmonospace=65360,e2.pmsquare=13272,e2.pohiragana=12413,e2.pointingindexdownwhite=9759,e2.pointingindexleftwhite=9756,e2.pointingindexrightwhite=9758,e2.pointingindexupwhite=9757,e2.pokatakana=12509,e2.poplathai=3611,e2.postalmark=12306,e2.postalmarkface=12320,e2.pparen=9387,e2.precedes=8826,e2.prescription=8478,e2.primemod=697,e2.primereversed=8245,e2.product=8719,e2.projective=8965,e2.prolongedkana=12540,e2.propellor=8984,e2.propersubset=8834,e2.propersuperset=8835,e2.proportion=8759,e2.proportional=8733,e2.psi=968,e2.psicyrillic=1137,e2.psilipneumatacyrilliccmb=1158,e2.pssquare=13232,e2.puhiragana=12407,e2.pukatakana=12503,e2.pvsquare=13236,e2.pwsquare=13242,e2.q=113,e2.qadeva=2392,e2.qadmahebrew=1448,e2.qafarabic=1602,e2.qaffinalarabic=65238,e2.qafinitialarabic=65239,e2.qafmedialarabic=65240,e2.qamats=1464,e2.qamats10=1464,e2.qamats1a=1464,e2.qamats1c=1464,e2.qamats27=1464,e2.qamats29=1464,e2.qamats33=1464,e2.qamatsde=1464,e2.qamatshebrew=1464,e2.qamatsnarrowhebrew=1464,e2.qamatsqatanhebrew=1464,e2.qamatsqatannarrowhebrew=1464,e2.qamatsqatanquarterhebrew=1464,e2.qamatsqatanwidehebrew=1464,e2.qamatsquarterhebrew=1464,e2.qamatswidehebrew=1464,e2.qarneyparahebrew=1439,e2.qbopomofo=12561,e2.qcircle=9440,e2.qhook=672,e2.qmonospace=65361,e2.qof=1511,e2.qofdagesh=64327,e2.qofdageshhebrew=64327,e2.qofhebrew=1511,e2.qparen=9388,e2.quarternote=9833,e2.qubuts=1467,e2.qubuts18=1467,e2.qubuts25=1467,e2.qubuts31=1467,e2.qubutshebrew=1467,e2.qubutsnarrowhebrew=1467,e2.qubutsquarterhebrew=1467,e2.qubutswidehebrew=1467,e2.question=63,e2.questionarabic=1567,e2.questionarmenian=1374,e2.questiondown=191,e2.questiondownsmall=63423,e2.questiongreek=894,e2.questionmonospace=65311,e2.questionsmall=63295,e2.quotedbl=34,e2.quotedblbase=8222,e2.quotedblleft=8220,e2.quotedblmonospace=65282,e2.quotedblprime=12318,e2.quotedblprimereversed=12317,e2.quotedblright=8221,e2.quoteleft=8216,e2.quoteleftreversed=8219,e2.quotereversed=8219,e2.quoteright=8217,e2.quoterightn=329,e2.quotesinglbase=8218,e2.quotesingle=39,e2.quotesinglemonospace=65287,e2.r=114,e2.raarmenian=1404,e2.rabengali=2480,e2.racute=341,e2.radeva=2352,e2.radical=8730,e2.radicalex=63717,e2.radoverssquare=13230,e2.radoverssquaredsquare=13231,e2.radsquare=13229,e2.rafe=1471,e2.rafehebrew=1471,e2.ragujarati=2736,e2.ragurmukhi=2608,e2.rahiragana=12425,e2.rakatakana=12521,e2.rakatakanahalfwidth=65431,e2.ralowerdiagonalbengali=2545,e2.ramiddlediagonalbengali=2544,e2.ramshorn=612,e2.ratio=8758,e2.rbopomofo=12566,e2.rcaron=345,e2.rcedilla=343,e2.rcircle=9441,e2.rcommaaccent=343,e2.rdblgrave=529,e2.rdotaccent=7769,e2.rdotbelow=7771,e2.rdotbelowmacron=7773,e2.referencemark=8251,e2.reflexsubset=8838,e2.reflexsuperset=8839,e2.registered=174,e2.registersans=63720,e2.registerserif=63194,e2.reharabic=1585,e2.reharmenian=1408,e2.rehfinalarabic=65198,e2.rehiragana=12428,e2.rekatakana=12524,e2.rekatakanahalfwidth=65434,e2.resh=1512,e2.reshdageshhebrew=64328,e2.reshhebrew=1512,e2.reversedtilde=8765,e2.reviahebrew=1431,e2.reviamugrashhebrew=1431,e2.revlogicalnot=8976,e2.rfishhook=638,e2.rfishhookreversed=639,e2.rhabengali=2525,e2.rhadeva=2397,e2.rho=961,e2.rhook=637,e2.rhookturned=635,e2.rhookturnedsuperior=693,e2.rhosymbolgreek=1009,e2.rhotichookmod=734,e2.rieulacirclekorean=12913,e2.rieulaparenkorean=12817,e2.rieulcirclekorean=12899,e2.rieulhieuhkorean=12608,e2.rieulkiyeokkorean=12602,e2.rieulkiyeoksioskorean=12649,e2.rieulkorean=12601,e2.rieulmieumkorean=12603,e2.rieulpansioskorean=12652,e2.rieulparenkorean=12803,e2.rieulphieuphkorean=12607,e2.rieulpieupkorean=12604,e2.rieulpieupsioskorean=12651,e2.rieulsioskorean=12605,e2.rieulthieuthkorean=12606,e2.rieultikeutkorean=12650,e2.rieulyeorinhieuhkorean=12653,e2.rightangle=8735,e2.righttackbelowcmb=793,e2.righttriangle=8895,e2.rihiragana=12426,e2.rikatakana=12522,e2.rikatakanahalfwidth=65432,e2.ring=730,e2.ringbelowcmb=805,e2.ringcmb=778,e2.ringhalfleft=703,e2.ringhalfleftarmenian=1369,e2.ringhalfleftbelowcmb=796,e2.ringhalfleftcentered=723,e2.ringhalfright=702,e2.ringhalfrightbelowcmb=825,e2.ringhalfrightcentered=722,e2.rinvertedbreve=531,e2.rittorusquare=13137,e2.rlinebelow=7775,e2.rlongleg=636,e2.rlonglegturned=634,e2.rmonospace=65362,e2.rohiragana=12429,e2.rokatakana=12525,e2.rokatakanahalfwidth=65435,e2.roruathai=3619,e2.rparen=9389,e2.rrabengali=2524,e2.rradeva=2353,e2.rragurmukhi=2652,e2.rreharabic=1681,e2.rrehfinalarabic=64397,e2.rrvocalicbengali=2528,e2.rrvocalicdeva=2400,e2.rrvocalicgujarati=2784,e2.rrvocalicvowelsignbengali=2500,e2.rrvocalicvowelsigndeva=2372,e2.rrvocalicvowelsigngujarati=2756,e2.rsuperior=63217,e2.rtblock=9616,e2.rturned=633,e2.rturnedsuperior=692,e2.ruhiragana=12427,e2.rukatakana=12523,e2.rukatakanahalfwidth=65433,e2.rupeemarkbengali=2546,e2.rupeesignbengali=2547,e2.rupiah=63197,e2.ruthai=3620,e2.rvocalicbengali=2443,e2.rvocalicdeva=2315,e2.rvocalicgujarati=2699,e2.rvocalicvowelsignbengali=2499,e2.rvocalicvowelsigndeva=2371,e2.rvocalicvowelsigngujarati=2755,e2.s=115,e2.sabengali=2488,e2.sacute=347,e2.sacutedotaccent=7781,e2.sadarabic=1589,e2.sadeva=2360,e2.sadfinalarabic=65210,e2.sadinitialarabic=65211,e2.sadmedialarabic=65212,e2.sagujarati=2744,e2.sagurmukhi=2616,e2.sahiragana=12373,e2.sakatakana=12469,e2.sakatakanahalfwidth=65403,e2.sallallahoualayhewasallamarabic=65018,e2.samekh=1505,e2.samekhdagesh=64321,e2.samekhdageshhebrew=64321,e2.samekhhebrew=1505,e2.saraaathai=3634,e2.saraaethai=3649,e2.saraaimaimalaithai=3652,e2.saraaimaimuanthai=3651,e2.saraamthai=3635,e2.saraathai=3632,e2.saraethai=3648,e2.saraiileftthai=63622,e2.saraiithai=3637,e2.saraileftthai=63621,e2.saraithai=3636,e2.saraothai=3650,e2.saraueeleftthai=63624,e2.saraueethai=3639,e2.saraueleftthai=63623,e2.sarauethai=3638,e2.sarauthai=3640,e2.sarauuthai=3641,e2.sbopomofo=12569,e2.scaron=353,e2.scarondotaccent=7783,e2.scedilla=351,e2.schwa=601,e2.schwacyrillic=1241,e2.schwadieresiscyrillic=1243,e2.schwahook=602,e2.scircle=9442,e2.scircumflex=349,e2.scommaaccent=537,e2.sdotaccent=7777,e2.sdotbelow=7779,e2.sdotbelowdotaccent=7785,e2.seagullbelowcmb=828,e2.second=8243,e2.secondtonechinese=714,e2.section=167,e2.seenarabic=1587,e2.seenfinalarabic=65202,e2.seeninitialarabic=65203,e2.seenmedialarabic=65204,e2.segol=1462,e2.segol13=1462,e2.segol1f=1462,e2.segol2c=1462,e2.segolhebrew=1462,e2.segolnarrowhebrew=1462,e2.segolquarterhebrew=1462,e2.segoltahebrew=1426,e2.segolwidehebrew=1462,e2.seharmenian=1405,e2.sehiragana=12379,e2.sekatakana=12475,e2.sekatakanahalfwidth=65406,e2.semicolon=59,e2.semicolonarabic=1563,e2.semicolonmonospace=65307,e2.semicolonsmall=65108,e2.semivoicedmarkkana=12444,e2.semivoicedmarkkanahalfwidth=65439,e2.sentisquare=13090,e2.sentosquare=13091,e2.seven=55,e2.sevenarabic=1639,e2.sevenbengali=2541,e2.sevencircle=9318,e2.sevencircleinversesansserif=10128,e2.sevendeva=2413,e2.seveneighths=8542,e2.sevengujarati=2797,e2.sevengurmukhi=2669,e2.sevenhackarabic=1639,e2.sevenhangzhou=12327,e2.sevenideographicparen=12838,e2.seveninferior=8327,e2.sevenmonospace=65303,e2.sevenoldstyle=63287,e2.sevenparen=9338,e2.sevenperiod=9358,e2.sevenpersian=1783,e2.sevenroman=8566,e2.sevensuperior=8311,e2.seventeencircle=9328,e2.seventeenparen=9348,e2.seventeenperiod=9368,e2.seventhai=3671,e2.sfthyphen=173,e2.shaarmenian=1399,e2.shabengali=2486,e2.shacyrillic=1096,e2.shaddaarabic=1617,e2.shaddadammaarabic=64609,e2.shaddadammatanarabic=64606,e2.shaddafathaarabic=64608,e2.shaddakasraarabic=64610,e2.shaddakasratanarabic=64607,e2.shade=9618,e2.shadedark=9619,e2.shadelight=9617,e2.shademedium=9618,e2.shadeva=2358,e2.shagujarati=2742,e2.shagurmukhi=2614,e2.shalshelethebrew=1427,e2.shbopomofo=12565,e2.shchacyrillic=1097,e2.sheenarabic=1588,e2.sheenfinalarabic=65206,e2.sheeninitialarabic=65207,e2.sheenmedialarabic=65208,e2.sheicoptic=995,e2.sheqel=8362,e2.sheqelhebrew=8362,e2.sheva=1456,e2.sheva115=1456,e2.sheva15=1456,e2.sheva22=1456,e2.sheva2e=1456,e2.shevahebrew=1456,e2.shevanarrowhebrew=1456,e2.shevaquarterhebrew=1456,e2.shevawidehebrew=1456,e2.shhacyrillic=1211,e2.shimacoptic=1005,e2.shin=1513,e2.shindagesh=64329,e2.shindageshhebrew=64329,e2.shindageshshindot=64300,e2.shindageshshindothebrew=64300,e2.shindageshsindot=64301,e2.shindageshsindothebrew=64301,e2.shindothebrew=1473,e2.shinhebrew=1513,e2.shinshindot=64298,e2.shinshindothebrew=64298,e2.shinsindot=64299,e2.shinsindothebrew=64299,e2.shook=642,e2.sigma=963,e2.sigma1=962,e2.sigmafinal=962,e2.sigmalunatesymbolgreek=1010,e2.sihiragana=12375,e2.sikatakana=12471,e2.sikatakanahalfwidth=65404,e2.siluqhebrew=1469,e2.siluqlefthebrew=1469,e2.similar=8764,e2.sindothebrew=1474,e2.siosacirclekorean=12916,e2.siosaparenkorean=12820,e2.sioscieuckorean=12670,e2.sioscirclekorean=12902,e2.sioskiyeokkorean=12666,e2.sioskorean=12613,e2.siosnieunkorean=12667,e2.siosparenkorean=12806,e2.siospieupkorean=12669,e2.siostikeutkorean=12668,e2.six=54,e2.sixarabic=1638,e2.sixbengali=2540,e2.sixcircle=9317,e2.sixcircleinversesansserif=10127,e2.sixdeva=2412,e2.sixgujarati=2796,e2.sixgurmukhi=2668,e2.sixhackarabic=1638,e2.sixhangzhou=12326,e2.sixideographicparen=12837,e2.sixinferior=8326,e2.sixmonospace=65302,e2.sixoldstyle=63286,e2.sixparen=9337,e2.sixperiod=9357,e2.sixpersian=1782,e2.sixroman=8565,e2.sixsuperior=8310,e2.sixteencircle=9327,e2.sixteencurrencydenominatorbengali=2553,e2.sixteenparen=9347,e2.sixteenperiod=9367,e2.sixthai=3670,e2.slash=47,e2.slashmonospace=65295,e2.slong=383,e2.slongdotaccent=7835,e2.smileface=9786,e2.smonospace=65363,e2.sofpasuqhebrew=1475,e2.softhyphen=173,e2.softsigncyrillic=1100,e2.sohiragana=12381,e2.sokatakana=12477,e2.sokatakanahalfwidth=65407,e2.soliduslongoverlaycmb=824,e2.solidusshortoverlaycmb=823,e2.sorusithai=3625,e2.sosalathai=3624,e2.sosothai=3595,e2.sosuathai=3626,e2.space=32,e2.spacehackarabic=32,e2.spade=9824,e2.spadesuitblack=9824,e2.spadesuitwhite=9828,e2.sparen=9390,e2.squarebelowcmb=827,e2.squarecc=13252,e2.squarecm=13213,e2.squarediagonalcrosshatchfill=9641,e2.squarehorizontalfill=9636,e2.squarekg=13199,e2.squarekm=13214,e2.squarekmcapital=13262,e2.squareln=13265,e2.squarelog=13266,e2.squaremg=13198,e2.squaremil=13269,e2.squaremm=13212,e2.squaremsquared=13217,e2.squareorthogonalcrosshatchfill=9638,e2.squareupperlefttolowerrightfill=9639,e2.squareupperrighttolowerleftfill=9640,e2.squareverticalfill=9637,e2.squarewhitewithsmallblack=9635,e2.srsquare=13275,e2.ssabengali=2487,e2.ssadeva=2359,e2.ssagujarati=2743,e2.ssangcieuckorean=12617,e2.ssanghieuhkorean=12677,e2.ssangieungkorean=12672,e2.ssangkiyeokkorean=12594,e2.ssangnieunkorean=12645,e2.ssangpieupkorean=12611,e2.ssangsioskorean=12614,e2.ssangtikeutkorean=12600,e2.ssuperior=63218,e2.sterling=163,e2.sterlingmonospace=65505,e2.strokelongoverlaycmb=822,e2.strokeshortoverlaycmb=821,e2.subset=8834,e2.subsetnotequal=8842,e2.subsetorequal=8838,e2.succeeds=8827,e2.suchthat=8715,e2.suhiragana=12377,e2.sukatakana=12473,e2.sukatakanahalfwidth=65405,e2.sukunarabic=1618,e2.summation=8721,e2.sun=9788,e2.superset=8835,e2.supersetnotequal=8843,e2.supersetorequal=8839,e2.svsquare=13276,e2.syouwaerasquare=13180,e2.t=116,e2.tabengali=2468,e2.tackdown=8868,e2.tackleft=8867,e2.tadeva=2340,e2.tagujarati=2724,e2.tagurmukhi=2596,e2.taharabic=1591,e2.tahfinalarabic=65218,e2.tahinitialarabic=65219,e2.tahiragana=12383,e2.tahmedialarabic=65220,e2.taisyouerasquare=13181,e2.takatakana=12479,e2.takatakanahalfwidth=65408,e2.tatweelarabic=1600,e2.tau=964,e2.tav=1514,e2.tavdages=64330,e2.tavdagesh=64330,e2.tavdageshhebrew=64330,e2.tavhebrew=1514,e2.tbar=359,e2.tbopomofo=12554,e2.tcaron=357,e2.tccurl=680,e2.tcedilla=355,e2.tcheharabic=1670,e2.tchehfinalarabic=64379,e2.tchehinitialarabic=64380,e2.tchehmedialarabic=64381,e2.tcircle=9443,e2.tcircumflexbelow=7793,e2.tcommaaccent=355,e2.tdieresis=7831,e2.tdotaccent=7787,e2.tdotbelow=7789,e2.tecyrillic=1090,e2.tedescendercyrillic=1197,e2.teharabic=1578,e2.tehfinalarabic=65174,e2.tehhahinitialarabic=64674,e2.tehhahisolatedarabic=64524,e2.tehinitialarabic=65175,e2.tehiragana=12390,e2.tehjeeminitialarabic=64673,e2.tehjeemisolatedarabic=64523,e2.tehmarbutaarabic=1577,e2.tehmarbutafinalarabic=65172,e2.tehmedialarabic=65176,e2.tehmeeminitialarabic=64676,e2.tehmeemisolatedarabic=64526,e2.tehnoonfinalarabic=64627,e2.tekatakana=12486,e2.tekatakanahalfwidth=65411,e2.telephone=8481,e2.telephoneblack=9742,e2.telishagedolahebrew=1440,e2.telishaqetanahebrew=1449,e2.tencircle=9321,e2.tenideographicparen=12841,e2.tenparen=9341,e2.tenperiod=9361,e2.tenroman=8569,e2.tesh=679,e2.tet=1496,e2.tetdagesh=64312,e2.tetdageshhebrew=64312,e2.tethebrew=1496,e2.tetsecyrillic=1205,e2.tevirhebrew=1435,e2.tevirlefthebrew=1435,e2.thabengali=2469,e2.thadeva=2341,e2.thagujarati=2725,e2.thagurmukhi=2597,e2.thalarabic=1584,e2.thalfinalarabic=65196,e2.thanthakhatlowleftthai=63640,e2.thanthakhatlowrightthai=63639,e2.thanthakhatthai=3660,e2.thanthakhatupperleftthai=63638,e2.theharabic=1579,e2.thehfinalarabic=65178,e2.thehinitialarabic=65179,e2.thehmedialarabic=65180,e2.thereexists=8707,e2.therefore=8756,e2.theta=952,e2.theta1=977,e2.thetasymbolgreek=977,e2.thieuthacirclekorean=12921,e2.thieuthaparenkorean=12825,e2.thieuthcirclekorean=12907,e2.thieuthkorean=12620,e2.thieuthparenkorean=12811,e2.thirteencircle=9324,e2.thirteenparen=9344,e2.thirteenperiod=9364,e2.thonangmonthothai=3601,e2.thook=429,e2.thophuthaothai=3602,e2.thorn=254,e2.thothahanthai=3607,e2.thothanthai=3600,e2.thothongthai=3608,e2.thothungthai=3606,e2.thousandcyrillic=1154,e2.thousandsseparatorarabic=1644,e2.thousandsseparatorpersian=1644,e2.three=51,e2.threearabic=1635,e2.threebengali=2537,e2.threecircle=9314,e2.threecircleinversesansserif=10124,e2.threedeva=2409,e2.threeeighths=8540,e2.threegujarati=2793,e2.threegurmukhi=2665,e2.threehackarabic=1635,e2.threehangzhou=12323,e2.threeideographicparen=12834,e2.threeinferior=8323,e2.threemonospace=65299,e2.threenumeratorbengali=2550,e2.threeoldstyle=63283,e2.threeparen=9334,e2.threeperiod=9354,e2.threepersian=1779,e2.threequarters=190,e2.threequartersemdash=63198,e2.threeroman=8562,e2.threesuperior=179,e2.threethai=3667,e2.thzsquare=13204,e2.tihiragana=12385,e2.tikatakana=12481,e2.tikatakanahalfwidth=65409,e2.tikeutacirclekorean=12912,e2.tikeutaparenkorean=12816,e2.tikeutcirclekorean=12898,e2.tikeutkorean=12599,e2.tikeutparenkorean=12802,e2.tilde=732,e2.tildebelowcmb=816,e2.tildecmb=771,e2.tildecomb=771,e2.tildedoublecmb=864,e2.tildeoperator=8764,e2.tildeoverlaycmb=820,e2.tildeverticalcmb=830,e2.timescircle=8855,e2.tipehahebrew=1430,e2.tipehalefthebrew=1430,e2.tippigurmukhi=2672,e2.titlocyrilliccmb=1155,e2.tiwnarmenian=1407,e2.tlinebelow=7791,e2.tmonospace=65364,e2.toarmenian=1385,e2.tohiragana=12392,e2.tokatakana=12488,e2.tokatakanahalfwidth=65412,e2.tonebarextrahighmod=741,e2.tonebarextralowmod=745,e2.tonebarhighmod=742,e2.tonebarlowmod=744,e2.tonebarmidmod=743,e2.tonefive=445,e2.tonesix=389,e2.tonetwo=424,e2.tonos=900,e2.tonsquare=13095,e2.topatakthai=3599,e2.tortoiseshellbracketleft=12308,e2.tortoiseshellbracketleftsmall=65117,e2.tortoiseshellbracketleftvertical=65081,e2.tortoiseshellbracketright=12309,e2.tortoiseshellbracketrightsmall=65118,e2.tortoiseshellbracketrightvertical=65082,e2.totaothai=3605,e2.tpalatalhook=427,e2.tparen=9391,e2.trademark=8482,e2.trademarksans=63722,e2.trademarkserif=63195,e2.tretroflexhook=648,e2.triagdn=9660,e2.triaglf=9668,e2.triagrt=9658,e2.triagup=9650,e2.ts=678,e2.tsadi=1510,e2.tsadidagesh=64326,e2.tsadidageshhebrew=64326,e2.tsadihebrew=1510,e2.tsecyrillic=1094,e2.tsere=1461,e2.tsere12=1461,e2.tsere1e=1461,e2.tsere2b=1461,e2.tserehebrew=1461,e2.tserenarrowhebrew=1461,e2.tserequarterhebrew=1461,e2.tserewidehebrew=1461,e2.tshecyrillic=1115,e2.tsuperior=63219,e2.ttabengali=2463,e2.ttadeva=2335,e2.ttagujarati=2719,e2.ttagurmukhi=2591,e2.tteharabic=1657,e2.ttehfinalarabic=64359,e2.ttehinitialarabic=64360,e2.ttehmedialarabic=64361,e2.tthabengali=2464,e2.tthadeva=2336,e2.tthagujarati=2720,e2.tthagurmukhi=2592,e2.tturned=647,e2.tuhiragana=12388,e2.tukatakana=12484,e2.tukatakanahalfwidth=65410,e2.tusmallhiragana=12387,e2.tusmallkatakana=12483,e2.tusmallkatakanahalfwidth=65391,e2.twelvecircle=9323,e2.twelveparen=9343,e2.twelveperiod=9363,e2.twelveroman=8571,e2.twentycircle=9331,e2.twentyhangzhou=21316,e2.twentyparen=9351,e2.twentyperiod=9371,e2.two=50,e2.twoarabic=1634,e2.twobengali=2536,e2.twocircle=9313,e2.twocircleinversesansserif=10123,e2.twodeva=2408,e2.twodotenleader=8229,e2.twodotleader=8229,e2.twodotleadervertical=65072,e2.twogujarati=2792,e2.twogurmukhi=2664,e2.twohackarabic=1634,e2.twohangzhou=12322,e2.twoideographicparen=12833,e2.twoinferior=8322,e2.twomonospace=65298,e2.twonumeratorbengali=2549,e2.twooldstyle=63282,e2.twoparen=9333,e2.twoperiod=9353,e2.twopersian=1778,e2.tworoman=8561,e2.twostroke=443,e2.twosuperior=178,e2.twothai=3666,e2.twothirds=8532,e2.u=117,e2.uacute=250,e2.ubar=649,e2.ubengali=2441,e2.ubopomofo=12584,e2.ubreve=365,e2.ucaron=468,e2.ucircle=9444,e2.ucircumflex=251,e2.ucircumflexbelow=7799,e2.ucyrillic=1091,e2.udattadeva=2385,e2.udblacute=369,e2.udblgrave=533,e2.udeva=2313,e2.udieresis=252,e2.udieresisacute=472,e2.udieresisbelow=7795,e2.udieresiscaron=474,e2.udieresiscyrillic=1265,e2.udieresisgrave=476,e2.udieresismacron=470,e2.udotbelow=7909,e2.ugrave=249,e2.ugujarati=2697,e2.ugurmukhi=2569,e2.uhiragana=12358,e2.uhookabove=7911,e2.uhorn=432,e2.uhornacute=7913,e2.uhorndotbelow=7921,e2.uhorngrave=7915,e2.uhornhookabove=7917,e2.uhorntilde=7919,e2.uhungarumlaut=369,e2.uhungarumlautcyrillic=1267,e2.uinvertedbreve=535,e2.ukatakana=12454,e2.ukatakanahalfwidth=65395,e2.ukcyrillic=1145,e2.ukorean=12636,e2.umacron=363,e2.umacroncyrillic=1263,e2.umacrondieresis=7803,e2.umatragurmukhi=2625,e2.umonospace=65365,e2.underscore=95,e2.underscoredbl=8215,e2.underscoremonospace=65343,e2.underscorevertical=65075,e2.underscorewavy=65103,e2.union=8746,e2.universal=8704,e2.uogonek=371,e2.uparen=9392,e2.upblock=9600,e2.upperdothebrew=1476,e2.upsilon=965,e2.upsilondieresis=971,e2.upsilondieresistonos=944,e2.upsilonlatin=650,e2.upsilontonos=973,e2.uptackbelowcmb=797,e2.uptackmod=724,e2.uragurmukhi=2675,e2.uring=367,e2.ushortcyrillic=1118,e2.usmallhiragana=12357,e2.usmallkatakana=12453,e2.usmallkatakanahalfwidth=65385,e2.ustraightcyrillic=1199,e2.ustraightstrokecyrillic=1201,e2.utilde=361,e2.utildeacute=7801,e2.utildebelow=7797,e2.uubengali=2442,e2.uudeva=2314,e2.uugujarati=2698,e2.uugurmukhi=2570,e2.uumatragurmukhi=2626,e2.uuvowelsignbengali=2498,e2.uuvowelsigndeva=2370,e2.uuvowelsigngujarati=2754,e2.uvowelsignbengali=2497,e2.uvowelsigndeva=2369,e2.uvowelsigngujarati=2753,e2.v=118,e2.vadeva=2357,e2.vagujarati=2741,e2.vagurmukhi=2613,e2.vakatakana=12535,e2.vav=1493,e2.vavdagesh=64309,e2.vavdagesh65=64309,e2.vavdageshhebrew=64309,e2.vavhebrew=1493,e2.vavholam=64331,e2.vavholamhebrew=64331,e2.vavvavhebrew=1520,e2.vavyodhebrew=1521,e2.vcircle=9445,e2.vdotbelow=7807,e2.vecyrillic=1074,e2.veharabic=1700,e2.vehfinalarabic=64363,e2.vehinitialarabic=64364,e2.vehmedialarabic=64365,e2.vekatakana=12537,e2.venus=9792,e2.verticalbar=124,e2.verticallineabovecmb=781,e2.verticallinebelowcmb=809,e2.verticallinelowmod=716,e2.verticallinemod=712,e2.vewarmenian=1406,e2.vhook=651,e2.vikatakana=12536,e2.viramabengali=2509,e2.viramadeva=2381,e2.viramagujarati=2765,e2.visargabengali=2435,e2.visargadeva=2307,e2.visargagujarati=2691,e2.vmonospace=65366,e2.voarmenian=1400,e2.voicediterationhiragana=12446,e2.voicediterationkatakana=12542,e2.voicedmarkkana=12443,e2.voicedmarkkanahalfwidth=65438,e2.vokatakana=12538,e2.vparen=9393,e2.vtilde=7805,e2.vturned=652,e2.vuhiragana=12436,e2.vukatakana=12532,e2.w=119,e2.wacute=7811,e2.waekorean=12633,e2.wahiragana=12431,e2.wakatakana=12527,e2.wakatakanahalfwidth=65436,e2.wakorean=12632,e2.wasmallhiragana=12430,e2.wasmallkatakana=12526,e2.wattosquare=13143,e2.wavedash=12316,e2.wavyunderscorevertical=65076,e2.wawarabic=1608,e2.wawfinalarabic=65262,e2.wawhamzaabovearabic=1572,e2.wawhamzaabovefinalarabic=65158,e2.wbsquare=13277,e2.wcircle=9446,e2.wcircumflex=373,e2.wdieresis=7813,e2.wdotaccent=7815,e2.wdotbelow=7817,e2.wehiragana=12433,e2.weierstrass=8472,e2.wekatakana=12529,e2.wekorean=12638,e2.weokorean=12637,e2.wgrave=7809,e2.whitebullet=9702,e2.whitecircle=9675,e2.whitecircleinverse=9689,e2.whitecornerbracketleft=12302,e2.whitecornerbracketleftvertical=65091,e2.whitecornerbracketright=12303,e2.whitecornerbracketrightvertical=65092,e2.whitediamond=9671,e2.whitediamondcontainingblacksmalldiamond=9672,e2.whitedownpointingsmalltriangle=9663,e2.whitedownpointingtriangle=9661,e2.whiteleftpointingsmalltriangle=9667,e2.whiteleftpointingtriangle=9665,e2.whitelenticularbracketleft=12310,e2.whitelenticularbracketright=12311,e2.whiterightpointingsmalltriangle=9657,e2.whiterightpointingtriangle=9655,e2.whitesmallsquare=9643,e2.whitesmilingface=9786,e2.whitesquare=9633,e2.whitestar=9734,e2.whitetelephone=9743,e2.whitetortoiseshellbracketleft=12312,e2.whitetortoiseshellbracketright=12313,e2.whiteuppointingsmalltriangle=9653,e2.whiteuppointingtriangle=9651,e2.wihiragana=12432,e2.wikatakana=12528,e2.wikorean=12639,e2.wmonospace=65367,e2.wohiragana=12434,e2.wokatakana=12530,e2.wokatakanahalfwidth=65382,e2.won=8361,e2.wonmonospace=65510,e2.wowaenthai=3623,e2.wparen=9394,e2.wring=7832,e2.wsuperior=695,e2.wturned=653,e2.wynn=447,e2.x=120,e2.xabovecmb=829,e2.xbopomofo=12562,e2.xcircle=9447,e2.xdieresis=7821,e2.xdotaccent=7819,e2.xeharmenian=1389,e2.xi=958,e2.xmonospace=65368,e2.xparen=9395,e2.xsuperior=739,e2.y=121,e2.yaadosquare=13134,e2.yabengali=2479,e2.yacute=253,e2.yadeva=2351,e2.yaekorean=12626,e2.yagujarati=2735,e2.yagurmukhi=2607,e2.yahiragana=12420,e2.yakatakana=12516,e2.yakatakanahalfwidth=65428,e2.yakorean=12625,e2.yamakkanthai=3662,e2.yasmallhiragana=12419,e2.yasmallkatakana=12515,e2.yasmallkatakanahalfwidth=65388,e2.yatcyrillic=1123,e2.ycircle=9448,e2.ycircumflex=375,e2.ydieresis=255,e2.ydotaccent=7823,e2.ydotbelow=7925,e2.yeharabic=1610,e2.yehbarreearabic=1746,e2.yehbarreefinalarabic=64431,e2.yehfinalarabic=65266,e2.yehhamzaabovearabic=1574,e2.yehhamzaabovefinalarabic=65162,e2.yehhamzaaboveinitialarabic=65163,e2.yehhamzaabovemedialarabic=65164,e2.yehinitialarabic=65267,e2.yehmedialarabic=65268,e2.yehmeeminitialarabic=64733,e2.yehmeemisolatedarabic=64600,e2.yehnoonfinalarabic=64660,e2.yehthreedotsbelowarabic=1745,e2.yekorean=12630,e2.yen=165,e2.yenmonospace=65509,e2.yeokorean=12629,e2.yeorinhieuhkorean=12678,e2.yerahbenyomohebrew=1450,e2.yerahbenyomolefthebrew=1450,e2.yericyrillic=1099,e2.yerudieresiscyrillic=1273,e2.yesieungkorean=12673,e2.yesieungpansioskorean=12675,e2.yesieungsioskorean=12674,e2.yetivhebrew=1434,e2.ygrave=7923,e2.yhook=436,e2.yhookabove=7927,e2.yiarmenian=1397,e2.yicyrillic=1111,e2.yikorean=12642,e2.yinyang=9775,e2.yiwnarmenian=1410,e2.ymonospace=65369,e2.yod=1497,e2.yoddagesh=64313,e2.yoddageshhebrew=64313,e2.yodhebrew=1497,e2.yodyodhebrew=1522,e2.yodyodpatahhebrew=64287,e2.yohiragana=12424,e2.yoikorean=12681,e2.yokatakana=12520,e2.yokatakanahalfwidth=65430,e2.yokorean=12635,e2.yosmallhiragana=12423,e2.yosmallkatakana=12519,e2.yosmallkatakanahalfwidth=65390,e2.yotgreek=1011,e2.yoyaekorean=12680,e2.yoyakorean=12679,e2.yoyakthai=3618,e2.yoyingthai=3597,e2.yparen=9396,e2.ypogegrammeni=890,e2.ypogegrammenigreekcmb=837,e2.yr=422,e2.yring=7833,e2.ysuperior=696,e2.ytilde=7929,e2.yturned=654,e2.yuhiragana=12422,e2.yuikorean=12684,e2.yukatakana=12518,e2.yukatakanahalfwidth=65429,e2.yukorean=12640,e2.yusbigcyrillic=1131,e2.yusbigiotifiedcyrillic=1133,e2.yuslittlecyrillic=1127,e2.yuslittleiotifiedcyrillic=1129,e2.yusmallhiragana=12421,e2.yusmallkatakana=12517,e2.yusmallkatakanahalfwidth=65389,e2.yuyekorean=12683,e2.yuyeokorean=12682,e2.yyabengali=2527,e2.yyadeva=2399,e2.z=122,e2.zaarmenian=1382,e2.zacute=378,e2.zadeva=2395,e2.zagurmukhi=2651,e2.zaharabic=1592,e2.zahfinalarabic=65222,e2.zahinitialarabic=65223,e2.zahiragana=12374,e2.zahmedialarabic=65224,e2.zainarabic=1586,e2.zainfinalarabic=65200,e2.zakatakana=12470,e2.zaqefgadolhebrew=1429,e2.zaqefqatanhebrew=1428,e2.zarqahebrew=1432,e2.zayin=1494,e2.zayindagesh=64310,e2.zayindageshhebrew=64310,e2.zayinhebrew=1494,e2.zbopomofo=12567,e2.zcaron=382,e2.zcircle=9449,e2.zcircumflex=7825,e2.zcurl=657,e2.zdot=380,e2.zdotaccent=380,e2.zdotbelow=7827,e2.zecyrillic=1079,e2.zedescendercyrillic=1177,e2.zedieresiscyrillic=1247,e2.zehiragana=12380,e2.zekatakana=12476,e2.zero=48,e2.zeroarabic=1632,e2.zerobengali=2534,e2.zerodeva=2406,e2.zerogujarati=2790,e2.zerogurmukhi=2662,e2.zerohackarabic=1632,e2.zeroinferior=8320,e2.zeromonospace=65296,e2.zerooldstyle=63280,e2.zeropersian=1776,e2.zerosuperior=8304,e2.zerothai=3664,e2.zerowidthjoiner=65279,e2.zerowidthnonjoiner=8204,e2.zerowidthspace=8203,e2.zeta=950,e2.zhbopomofo=12563,e2.zhearmenian=1386,e2.zhebrevecyrillic=1218,e2.zhecyrillic=1078,e2.zhedescendercyrillic=1175,e2.zhedieresiscyrillic=1245,e2.zihiragana=12376,e2.zikatakana=12472,e2.zinorhebrew=1454,e2.zlinebelow=7829,e2.zmonospace=65370,e2.zohiragana=12382,e2.zokatakana=12478,e2.zparen=9397,e2.zretroflexhook=656,e2.zstroke=438,e2.zuhiragana=12378,e2.zukatakana=12474,e2[".notdef"]=0,e2.angbracketleftbig=9001,e2.angbracketleftBig=9001,e2.angbracketleftbigg=9001,e2.angbracketleftBigg=9001,e2.angbracketrightBig=9002,e2.angbracketrightbig=9002,e2.angbracketrightBigg=9002,e2.angbracketrightbigg=9002,e2.arrowhookleft=8618,e2.arrowhookright=8617,e2.arrowlefttophalf=8636,e2.arrowleftbothalf=8637,e2.arrownortheast=8599,e2.arrownorthwest=8598,e2.arrowrighttophalf=8640,e2.arrowrightbothalf=8641,e2.arrowsoutheast=8600,e2.arrowsouthwest=8601,e2.backslashbig=8726,e2.backslashBig=8726,e2.backslashBigg=8726,e2.backslashbigg=8726,e2.bardbl=8214,e2.bracehtipdownleft=65079,e2.bracehtipdownright=65079,e2.bracehtipupleft=65080,e2.bracehtipupright=65080,e2.braceleftBig=123,e2.braceleftbig=123,e2.braceleftbigg=123,e2.braceleftBigg=123,e2.bracerightBig=125,e2.bracerightbig=125,e2.bracerightbigg=125,e2.bracerightBigg=125,e2.bracketleftbig=91,e2.bracketleftBig=91,e2.bracketleftbigg=91,e2.bracketleftBigg=91,e2.bracketrightBig=93,e2.bracketrightbig=93,e2.bracketrightbigg=93,e2.bracketrightBigg=93,e2.ceilingleftbig=8968,e2.ceilingleftBig=8968,e2.ceilingleftBigg=8968,e2.ceilingleftbigg=8968,e2.ceilingrightbig=8969,e2.ceilingrightBig=8969,e2.ceilingrightbigg=8969,e2.ceilingrightBigg=8969,e2.circledotdisplay=8857,e2.circledottext=8857,e2.circlemultiplydisplay=8855,e2.circlemultiplytext=8855,e2.circleplusdisplay=8853,e2.circleplustext=8853,e2.contintegraldisplay=8750,e2.contintegraltext=8750,e2.coproductdisplay=8720,e2.coproducttext=8720,e2.floorleftBig=8970,e2.floorleftbig=8970,e2.floorleftbigg=8970,e2.floorleftBigg=8970,e2.floorrightbig=8971,e2.floorrightBig=8971,e2.floorrightBigg=8971,e2.floorrightbigg=8971,e2.hatwide=770,e2.hatwider=770,e2.hatwidest=770,e2.intercal=7488,e2.integraldisplay=8747,e2.integraltext=8747,e2.intersectiondisplay=8898,e2.intersectiontext=8898,e2.logicalanddisplay=8743,e2.logicalandtext=8743,e2.logicalordisplay=8744,e2.logicalortext=8744,e2.parenleftBig=40,e2.parenleftbig=40,e2.parenleftBigg=40,e2.parenleftbigg=40,e2.parenrightBig=41,e2.parenrightbig=41,e2.parenrightBigg=41,e2.parenrightbigg=41,e2.prime=8242,e2.productdisplay=8719,e2.producttext=8719,e2.radicalbig=8730,e2.radicalBig=8730,e2.radicalBigg=8730,e2.radicalbigg=8730,e2.radicalbt=8730,e2.radicaltp=8730,e2.radicalvertex=8730,e2.slashbig=47,e2.slashBig=47,e2.slashBigg=47,e2.slashbigg=47,e2.summationdisplay=8721,e2.summationtext=8721,e2.tildewide=732,e2.tildewider=732,e2.tildewidest=732,e2.uniondisplay=8899,e2.unionmultidisplay=8846,e2.unionmultitext=8846,e2.unionsqdisplay=8852,e2.unionsqtext=8852,e2.uniontext=8899,e2.vextenddouble=8741,e2.vextendsingle=8739}),mt=getLookupTableFactory(function(e2){e2.space=32,e2.a1=9985,e2.a2=9986,e2.a202=9987,e2.a3=9988,e2.a4=9742,e2.a5=9990,e2.a119=9991,e2.a118=9992,e2.a117=9993,e2.a11=9755,e2.a12=9758,e2.a13=9996,e2.a14=9997,e2.a15=9998,e2.a16=9999,e2.a105=1e4,e2.a17=10001,e2.a18=10002,e2.a19=10003,e2.a20=10004,e2.a21=10005,e2.a22=10006,e2.a23=10007,e2.a24=10008,e2.a25=10009,e2.a26=10010,e2.a27=10011,e2.a28=10012,e2.a6=10013,e2.a7=10014,e2.a8=10015,e2.a9=10016,e2.a10=10017,e2.a29=10018,e2.a30=10019,e2.a31=10020,e2.a32=10021,e2.a33=10022,e2.a34=10023,e2.a35=9733,e2.a36=10025,e2.a37=10026,e2.a38=10027,e2.a39=10028,e2.a40=10029,e2.a41=10030,e2.a42=10031,e2.a43=10032,e2.a44=10033,e2.a45=10034,e2.a46=10035,e2.a47=10036,e2.a48=10037,e2.a49=10038,e2.a50=10039,e2.a51=10040,e2.a52=10041,e2.a53=10042,e2.a54=10043,e2.a55=10044,e2.a56=10045,e2.a57=10046,e2.a58=10047,e2.a59=10048,e2.a60=10049,e2.a61=10050,e2.a62=10051,e2.a63=10052,e2.a64=10053,e2.a65=10054,e2.a66=10055,e2.a67=10056,e2.a68=10057,e2.a69=10058,e2.a70=10059,e2.a71=9679,e2.a72=10061,e2.a73=9632,e2.a74=10063,e2.a203=10064,e2.a75=10065,e2.a204=10066,e2.a76=9650,e2.a77=9660,e2.a78=9670,e2.a79=10070,e2.a81=9687,e2.a82=10072,e2.a83=10073,e2.a84=10074,e2.a97=10075,e2.a98=10076,e2.a99=10077,e2.a100=10078,e2.a101=10081,e2.a102=10082,e2.a103=10083,e2.a104=10084,e2.a106=10085,e2.a107=10086,e2.a108=10087,e2.a112=9827,e2.a111=9830,e2.a110=9829,e2.a109=9824,e2.a120=9312,e2.a121=9313,e2.a122=9314,e2.a123=9315,e2.a124=9316,e2.a125=9317,e2.a126=9318,e2.a127=9319,e2.a128=9320,e2.a129=9321,e2.a130=10102,e2.a131=10103,e2.a132=10104,e2.a133=10105,e2.a134=10106,e2.a135=10107,e2.a136=10108,e2.a137=10109,e2.a138=10110,e2.a139=10111,e2.a140=10112,e2.a141=10113,e2.a142=10114,e2.a143=10115,e2.a144=10116,e2.a145=10117,e2.a146=10118,e2.a147=10119,e2.a148=10120,e2.a149=10121,e2.a150=10122,e2.a151=10123,e2.a152=10124,e2.a153=10125,e2.a154=10126,e2.a155=10127,e2.a156=10128,e2.a157=10129,e2.a158=10130,e2.a159=10131,e2.a160=10132,e2.a161=8594,e2.a163=8596,e2.a164=8597,e2.a196=10136,e2.a165=10137,e2.a192=10138,e2.a166=10139,e2.a167=10140,e2.a168=10141,e2.a169=10142,e2.a170=10143,e2.a171=10144,e2.a172=10145,e2.a173=10146,e2.a162=10147,e2.a174=10148,e2.a175=10149,e2.a176=10150,e2.a177=10151,e2.a178=10152,e2.a179=10153,e2.a193=10154,e2.a180=10155,e2.a199=10156,e2.a181=10157,e2.a200=10158,e2.a182=10159,e2.a201=10161,e2.a183=10162,e2.a184=10163,e2.a197=10164,e2.a185=10165,e2.a194=10166,e2.a198=10167,e2.a186=10168,e2.a195=10169,e2.a187=10170,e2.a188=10171,e2.a189=10172,e2.a190=10173,e2.a191=10174,e2.a89=10088,e2.a90=10089,e2.a93=10090,e2.a94=10091,e2.a91=10092,e2.a92=10093,e2.a205=10094,e2.a85=10095,e2.a206=10096,e2.a86=10097,e2.a87=10098,e2.a88=10099,e2.a95=10100,e2.a96=10101,e2[".notdef"]=0}),ht=getLookupTableFactory(function(e2){e2[63721]=169,e2[63193]=169,e2[63720]=174,e2[63194]=174,e2[63722]=8482,e2[63195]=8482,e2[63729]=9127,e2[63730]=9128,e2[63731]=9129,e2[63740]=9131,e2[63741]=9132,e2[63742]=9133,e2[63726]=9121,e2[63727]=9122,e2[63728]=9123,e2[63737]=9124,e2[63738]=9125,e2[63739]=9126,e2[63723]=9115,e2[63724]=9116,e2[63725]=9117,e2[63734]=9118,e2[63735]=9119,e2[63736]=9120});function mapSpecialUnicodeValues(e2){return e2>=65520&&e2<=65535?0:e2>=62976&&e2<=63743?ht()[e2]||e2:e2===173?45:e2}function getUnicodeForGlyph(e2,t2){let n2=t2[e2];if(n2!==void 0)return n2;if(!e2)return-1;if(e2[0]==="u"){let t3=e2.length,r2;if(t3===7&&e2[1]==="n"&&e2[2]==="i")r2=e2.substring(3);else if(t3>=5&&t3<=7)r2=e2.substring(1);else return-1;if(r2===r2.toUpperCase()&&(n2=parseInt(r2,16),n2>=0))return n2}return-1}var gt=[[0,127],[128,255],[256,383],[384,591],[592,687,7424,7551,7552,7615],[688,767,42752,42783],[768,879,7616,7679],[880,1023],[11392,11519],[1024,1279,1280,1327,11744,11775,42560,42655],[1328,1423],[1424,1535],[42240,42559],[1536,1791,1872,1919],[1984,2047],[2304,2431],[2432,2559],[2560,2687],[2688,2815],[2816,2943],[2944,3071],[3072,3199],[3200,3327],[3328,3455],[3584,3711],[3712,3839],[4256,4351,11520,11567],[6912,7039],[4352,4607],[7680,7935,11360,11391,42784,43007],[7936,8191],[8192,8303,11776,11903],[8304,8351],[8352,8399],[8400,8447],[8448,8527],[8528,8591],[8592,8703,10224,10239,10496,10623,11008,11263],[8704,8959,10752,11007,10176,10223,10624,10751],[8960,9215],[9216,9279],[9280,9311],[9312,9471],[9472,9599],[9600,9631],[9632,9727],[9728,9983],[9984,10175],[12288,12351],[12352,12447],[12448,12543,12784,12799],[12544,12591,12704,12735],[12592,12687],[43072,43135],[12800,13055],[13056,13311],[44032,55215],[55296,57343],[67840,67871],[19968,40959,11904,12031,12032,12255,12272,12287,13312,19903,131072,173791,12688,12703],[57344,63743],[12736,12783,63744,64255,194560,195103],[64256,64335],[64336,65023],[65056,65071],[65040,65055],[65104,65135],[65136,65279],[65280,65519],[65520,65535],[3840,4095],[1792,1871],[1920,1983],[3456,3583],[4096,4255],[4608,4991,4992,5023,11648,11743],[5024,5119],[5120,5759],[5760,5791],[5792,5887],[6016,6143],[6144,6319],[10240,10495],[40960,42127],[5888,5919,5920,5951,5952,5983,5984,6015],[66304,66351],[66352,66383],[66560,66639],[118784,119039,119040,119295,119296,119375],[119808,120831],[1044480,1048573],[65024,65039,917760,917999],[917504,917631],[6400,6479],[6480,6527],[6528,6623],[6656,6687],[11264,11359],[11568,11647],[19904,19967],[43008,43055],[65536,65663,65664,65791,65792,65855],[65856,65935],[66432,66463],[66464,66527],[66640,66687],[66688,66735],[67584,67647],[68096,68191],[119552,119647],[73728,74751,74752,74879],[119648,119679],[7040,7103],[7168,7247],[7248,7295],[43136,43231],[43264,43311],[43312,43359],[43520,43615],[65936,65999],[66e3,66047],[66208,66271,66176,66207,67872,67903],[127024,127135,126976,127023]];function getUnicodeRangeFor(e2,t2=-1){if(t2!==-1){let n2=gt[t2];for(let r2=0,i2=n2.length;r2<i2;r2+=2)if(e2>=n2[r2]&&e2<=n2[r2+1])return t2}for(let t3=0,n2=gt.length;t3<n2;t3++){let n3=gt[t3];for(let r2=0,i2=n3.length;r2<i2;r2+=2)if(e2>=n3[r2]&&e2<=n3[r2+1])return t3}return-1}var _t=new RegExp("^(\\s)|(\\p{Mn})|(\\p{Cf})$","u"),vt=new Map;function getCharUnicodeCategory(e2){let t2=vt.get(e2);if(t2)return t2;let n2=e2.match(_t),r2={isWhitespace:!!n2?.[1],isZeroWidthDiacritic:!!n2?.[2],isInvisibleFormatMark:!!n2?.[3]};return vt.set(e2,r2),r2}function clearUnicodeCaches(){vt.clear()}var yt={FixedPitch:1,Serif:2,Symbolic:4,Script:8,Nonsymbolic:32,Italic:64,AllCap:65536,SmallCap:131072,ForceBold:262144},bt=".notdef,.null,nonmarkingreturn,space,exclam,quotedbl,numbersign,dollar,percent,ampersand,quotesingle,parenleft,parenright,asterisk,plus,comma,hyphen,period,slash,zero,one,two,three,four,five,six,seven,eight,nine,colon,semicolon,less,equal,greater,question,at,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,bracketleft,backslash,bracketright,asciicircum,underscore,grave,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,braceleft,bar,braceright,asciitilde,Adieresis,Aring,Ccedilla,Eacute,Ntilde,Odieresis,Udieresis,aacute,agrave,acircumflex,adieresis,atilde,aring,ccedilla,eacute,egrave,ecircumflex,edieresis,iacute,igrave,icircumflex,idieresis,ntilde,oacute,ograve,ocircumflex,odieresis,otilde,uacute,ugrave,ucircumflex,udieresis,dagger,degree,cent,sterling,section,bullet,paragraph,germandbls,registered,copyright,trademark,acute,dieresis,notequal,AE,Oslash,infinity,plusminus,lessequal,greaterequal,yen,mu,partialdiff,summation,product,pi,integral,ordfeminine,ordmasculine,Omega,ae,oslash,questiondown,exclamdown,logicalnot,radical,florin,approxequal,Delta,guillemotleft,guillemotright,ellipsis,nonbreakingspace,Agrave,Atilde,Otilde,OE,oe,endash,emdash,quotedblleft,quotedblright,quoteleft,quoteright,divide,lozenge,ydieresis,Ydieresis,fraction,currency,guilsinglleft,guilsinglright,fi,fl,daggerdbl,periodcentered,quotesinglbase,quotedblbase,perthousand,Acircumflex,Ecircumflex,Aacute,Edieresis,Egrave,Iacute,Icircumflex,Idieresis,Igrave,Oacute,Ocircumflex,apple,Ograve,Uacute,Ucircumflex,Ugrave,dotlessi,circumflex,tilde,macron,breve,dotaccent,ring,cedilla,hungarumlaut,ogonek,caron,Lslash,lslash,Scaron,scaron,Zcaron,zcaron,brokenbar,Eth,eth,Yacute,yacute,Thorn,thorn,minus,multiply,onesuperior,twosuperior,threesuperior,onehalf,onequarter,threequarters,franc,Gbreve,gbreve,Idotaccent,Scedilla,scedilla,Cacute,cacute,Ccaron,ccaron,dcroat".split(",");function recoverGlyphName(e2,t2){if(t2[e2]!==void 0)return e2;let n2=getUnicodeForGlyph(e2,t2);if(n2!==-1){for(let e3 in t2)if(t2[e3]===n2)return e3}return info$1("Unable to recover a standard glyph name for: "+e2),e2}function type1FontGlyphMapping(e2,t2,n2){let r2=Object.create(null),i2,a2,o2,s2=!!(e2.flags&yt.Symbolic);if(e2.isInternalFont)for(o2=t2,a2=0;a2<o2.length;a2++)i2=n2.indexOf(o2[a2]),r2[a2]=i2>=0?i2:0;else if(e2.baseEncodingName)for(o2=getEncoding(e2.baseEncodingName),a2=0;a2<o2.length;a2++)i2=n2.indexOf(o2[a2]),r2[a2]=i2>=0?i2:0;else if(s2)for(a2 in t2)r2[a2]=t2[a2];else for(o2=lt,a2=0;a2<o2.length;a2++)i2=n2.indexOf(o2[a2]),r2[a2]=i2>=0?i2:0;let c2=e2.differences,l2;if(c2)for(a2 in c2){let e3=c2[a2];if(i2=n2.indexOf(e3),i2===-1){l2||=pt();let t3=recoverGlyphName(e3,l2);t3!==e3&&(i2=n2.indexOf(t3))}r2[a2]=i2>=0?i2:0}return r2}function normalizeFontName(e2){return e2.replaceAll(/[,_]/g,"-").replaceAll(/\s/g,"")}var xt=getLookupTableFactory(e2=>{e2[8211]=65074,e2[8212]=65073,e2[8229]=65072,e2[8230]=65049,e2[12289]=65041,e2[12290]=65042,e2[12296]=65087,e2[12297]=65088,e2[12298]=65085,e2[12299]=65086,e2[12300]=65089,e2[12301]=65090,e2[12302]=65091,e2[12303]=65092,e2[12304]=65083,e2[12305]=65084,e2[12308]=65081,e2[12309]=65082,e2[12310]=65047,e2[12311]=65048,e2[65103]=65076,e2[65281]=65045,e2[65288]=65077,e2[65289]=65078,e2[65292]=65040,e2[65306]=65043,e2[65307]=65044,e2[65311]=65046,e2[65339]=65095,e2[65341]=65096,e2[65343]=65075,e2[65371]=65079,e2[65373]=65080}),St=1e3;function compileType3Glyph({data:e2,width:t2,height:n2}){if(t2>St||n2>St)return null;let r2=1e3,i2=new Uint8Array([0,2,4,0,1,0,5,4,8,10,0,8,0,2,1,0]),a2=t2+1,o2=new Uint8Array(a2*(n2+1)),s2,c2,l2,u2=t2+7&-8,d2=new Uint8Array(u2*n2),f2=0;for(let t3 of e2){let e3=128;for(;e3>0;)d2[f2++]=t3&e3?0:255,e3>>=1}let p2=0;for(f2=0,d2[f2]!==0&&(o2[0]=1,++p2),c2=1;c2<t2;c2++)d2[f2]!==d2[f2+1]&&(o2[c2]=d2[f2]?2:1,++p2),f2++;for(d2[f2]!==0&&(o2[c2]=2,++p2),s2=1;s2<n2;s2++){f2=s2*u2,l2=s2*a2,d2[f2-u2]!==d2[f2]&&(o2[l2]=d2[f2]?1:8,++p2);let e3=(d2[f2]?4:0)+(d2[f2-u2]?8:0);for(c2=1;c2<t2;c2++)e3=(e3>>2)+(d2[f2+1]?4:0)+(d2[f2-u2+1]?8:0),i2[e3]&&(o2[l2+c2]=i2[e3],++p2),f2++;if(d2[f2-u2]!==d2[f2]&&(o2[l2+c2]=d2[f2]?2:4,++p2),p2>r2)return null}for(f2=u2*(n2-1),l2=s2*a2,d2[f2]!==0&&(o2[l2]=8,++p2),c2=1;c2<t2;c2++)d2[f2]!==d2[f2+1]&&(o2[l2+c2]=d2[f2]?4:8,++p2),f2++;if(d2[f2]!==0&&(o2[l2+c2]=4,++p2),p2>r2)return null;let m2=new Int32Array([0,a2,-1,0,-a2,0,0,0,1]),h2=[],{a:g2,b:_2,c:v2,d:y2,e:b2,f:x2}=new DOMMatrix().scaleSelf(1/t2,-1/n2).translateSelf(0,-n2);for(s2=0;p2&&s2<=n2;s2++){let e3=s2*a2,n3=e3+t2;for(;e3<n3&&!o2[e3];)e3++;if(e3===n3)continue;let r3=e3%a2,i3=s2;h2.push(E.moveTo,g2*r3+v2*i3+b2,_2*r3+y2*i3+x2);let c3=e3,l3=o2[e3];do{let t3=m2[l3];do e3+=t3;while(!o2[e3]);let n4=o2[e3];n4!==5&&n4!==10?(l3=n4,o2[e3]=0):(l3=n4&51*l3>>4,o2[e3]&=l3>>2|l3<<2),r3=e3%a2,i3=e3/a2|0,h2.push(E.lineTo,g2*r3+v2*i3+b2,_2*r3+y2*i3+x2),o2[e3]||--p2}while(c3!==e3);--s2}return[T.rawFillPath,[new Float32Array(h2)],new Float32Array([0,0,t2,n2])]}var Ct=".notdef,space,exclam,quotedbl,numbersign,dollar,percent,ampersand,quoteright,parenleft,parenright,asterisk,plus,comma,hyphen,period,slash,zero,one,two,three,four,five,six,seven,eight,nine,colon,semicolon,less,equal,greater,question,at,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,bracketleft,backslash,bracketright,asciicircum,underscore,quoteleft,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,braceleft,bar,braceright,asciitilde,exclamdown,cent,sterling,fraction,yen,florin,section,currency,quotesingle,quotedblleft,guillemotleft,guilsinglleft,guilsinglright,fi,fl,endash,dagger,daggerdbl,periodcentered,paragraph,bullet,quotesinglbase,quotedblbase,quotedblright,guillemotright,ellipsis,perthousand,questiondown,grave,acute,circumflex,tilde,macron,breve,dotaccent,dieresis,ring,cedilla,hungarumlaut,ogonek,caron,emdash,AE,ordfeminine,Lslash,Oslash,OE,ordmasculine,ae,dotlessi,lslash,oslash,oe,germandbls,onesuperior,logicalnot,mu,trademark,Eth,onehalf,plusminus,Thorn,onequarter,divide,brokenbar,degree,thorn,threequarters,twosuperior,registered,minus,eth,multiply,threesuperior,copyright,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,Ccedilla,Eacute,Ecircumflex,Edieresis,Egrave,Iacute,Icircumflex,Idieresis,Igrave,Ntilde,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,Scaron,Uacute,Ucircumflex,Udieresis,Ugrave,Yacute,Ydieresis,Zcaron,aacute,acircumflex,adieresis,agrave,aring,atilde,ccedilla,eacute,ecircumflex,edieresis,egrave,iacute,icircumflex,idieresis,igrave,ntilde,oacute,ocircumflex,odieresis,ograve,otilde,scaron,uacute,ucircumflex,udieresis,ugrave,yacute,ydieresis,zcaron".split(","),wt=".notdef,space,exclamsmall,Hungarumlautsmall,dollaroldstyle,dollarsuperior,ampersandsmall,Acutesmall,parenleftsuperior,parenrightsuperior,twodotenleader,onedotenleader,comma,hyphen,period,fraction,zerooldstyle,oneoldstyle,twooldstyle,threeoldstyle,fouroldstyle,fiveoldstyle,sixoldstyle,sevenoldstyle,eightoldstyle,nineoldstyle,colon,semicolon,commasuperior,threequartersemdash,periodsuperior,questionsmall,asuperior,bsuperior,centsuperior,dsuperior,esuperior,isuperior,lsuperior,msuperior,nsuperior,osuperior,rsuperior,ssuperior,tsuperior,ff,fi,fl,ffi,ffl,parenleftinferior,parenrightinferior,Circumflexsmall,hyphensuperior,Gravesmall,Asmall,Bsmall,Csmall,Dsmall,Esmall,Fsmall,Gsmall,Hsmall,Ismall,Jsmall,Ksmall,Lsmall,Msmall,Nsmall,Osmall,Psmall,Qsmall,Rsmall,Ssmall,Tsmall,Usmall,Vsmall,Wsmall,Xsmall,Ysmall,Zsmall,colonmonetary,onefitted,rupiah,Tildesmall,exclamdownsmall,centoldstyle,Lslashsmall,Scaronsmall,Zcaronsmall,Dieresissmall,Brevesmall,Caronsmall,Dotaccentsmall,Macronsmall,figuredash,hypheninferior,Ogoneksmall,Ringsmall,Cedillasmall,onequarter,onehalf,threequarters,questiondownsmall,oneeighth,threeeighths,fiveeighths,seveneighths,onethird,twothirds,zerosuperior,onesuperior,twosuperior,threesuperior,foursuperior,fivesuperior,sixsuperior,sevensuperior,eightsuperior,ninesuperior,zeroinferior,oneinferior,twoinferior,threeinferior,fourinferior,fiveinferior,sixinferior,seveninferior,eightinferior,nineinferior,centinferior,dollarinferior,periodinferior,commainferior,Agravesmall,Aacutesmall,Acircumflexsmall,Atildesmall,Adieresissmall,Aringsmall,AEsmall,Ccedillasmall,Egravesmall,Eacutesmall,Ecircumflexsmall,Edieresissmall,Igravesmall,Iacutesmall,Icircumflexsmall,Idieresissmall,Ethsmall,Ntildesmall,Ogravesmall,Oacutesmall,Ocircumflexsmall,Otildesmall,Odieresissmall,OEsmall,Oslashsmall,Ugravesmall,Uacutesmall,Ucircumflexsmall,Udieresissmall,Yacutesmall,Thornsmall,Ydieresissmall".split(","),Tt=".notdef,space,dollaroldstyle,dollarsuperior,parenleftsuperior,parenrightsuperior,twodotenleader,onedotenleader,comma,hyphen,period,fraction,zerooldstyle,oneoldstyle,twooldstyle,threeoldstyle,fouroldstyle,fiveoldstyle,sixoldstyle,sevenoldstyle,eightoldstyle,nineoldstyle,colon,semicolon,commasuperior,threequartersemdash,periodsuperior,asuperior,bsuperior,centsuperior,dsuperior,esuperior,isuperior,lsuperior,msuperior,nsuperior,osuperior,rsuperior,ssuperior,tsuperior,ff,fi,fl,ffi,ffl,parenleftinferior,parenrightinferior,hyphensuperior,colonmonetary,onefitted,rupiah,centoldstyle,figuredash,hypheninferior,onequarter,onehalf,threequarters,oneeighth,threeeighths,fiveeighths,seveneighths,onethird,twothirds,zerosuperior,onesuperior,twosuperior,threesuperior,foursuperior,fivesuperior,sixsuperior,sevensuperior,eightsuperior,ninesuperior,zeroinferior,oneinferior,twoinferior,threeinferior,fourinferior,fiveinferior,sixinferior,seveninferior,eightinferior,nineinferior,centinferior,dollarinferior,periodinferior,commainferior".split(","),DataBuilder=class{#e;#t=1024;#n=!1;#r=0;#i;constructor({exactLength:e2=0,minLength:t2=0}){this.#n=!!e2,this.#a(e2||t2)}#a(e2){if(this.#n)this.#t=e2;else for(;this.#t<e2;)this.#t*=2;let t2=new Uint8Array(this.#t);this.#e&&t2.set(this.#e,0),this.#e=t2,this.#i=new DataView(t2.buffer)}get data(){return this.#e.subarray(0,this.#r)}get length(){return this.#r}skip(e2){this.#r+=e2}setArray(e2){let t2=this.#r+e2.length;!this.#n&&t2>this.#t&&this.#a(t2),this.#e.set(e2,this.#r),this.#r=t2}setInt16(e2){let t2=this.#r+2;!this.#n&&t2>this.#t&&this.#a(t2),this.#i.setInt16(this.#r,e2),this.#r=t2}setSafeInt16(e2){let t2=this.#r+2;!this.#n&&t2>this.#t&&this.#a(t2),this.#i.setInt16(this.#r,MathClamp$1(e2,-32768,32767)),this.#r=t2}setInt32(e2){let t2=this.#r+4;!this.#n&&t2>this.#t&&this.#a(t2),this.#i.setInt32(this.#r,e2),this.#r=t2}};function looksLikeUnsigned16BitNegative(e2){return e2>32767&&e2<=65535}function recoverSigned16BitBBox(e2,t2=!1){return Util$1.normalizeRect(e2.map((e3,n2)=>(!t2||n2<2)&&looksLikeUnsigned16BitNegative(e3)?e3-65536:e3))}var Et=".notdef,space,exclam,quotedbl,numbersign,dollar,percent,ampersand,quoteright,parenleft,parenright,asterisk,plus,comma,hyphen,period,slash,zero,one,two,three,four,five,six,seven,eight,nine,colon,semicolon,less,equal,greater,question,at,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,bracketleft,backslash,bracketright,asciicircum,underscore,quoteleft,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,braceleft,bar,braceright,asciitilde,exclamdown,cent,sterling,fraction,yen,florin,section,currency,quotesingle,quotedblleft,guillemotleft,guilsinglleft,guilsinglright,fi,fl,endash,dagger,daggerdbl,periodcentered,paragraph,bullet,quotesinglbase,quotedblbase,quotedblright,guillemotright,ellipsis,perthousand,questiondown,grave,acute,circumflex,tilde,macron,breve,dotaccent,dieresis,ring,cedilla,hungarumlaut,ogonek,caron,emdash,AE,ordfeminine,Lslash,Oslash,OE,ordmasculine,ae,dotlessi,lslash,oslash,oe,germandbls,onesuperior,logicalnot,mu,trademark,Eth,onehalf,plusminus,Thorn,onequarter,divide,brokenbar,degree,thorn,threequarters,twosuperior,registered,minus,eth,multiply,threesuperior,copyright,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,Ccedilla,Eacute,Ecircumflex,Edieresis,Egrave,Iacute,Icircumflex,Idieresis,Igrave,Ntilde,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,Scaron,Uacute,Ucircumflex,Udieresis,Ugrave,Yacute,Ydieresis,Zcaron,aacute,acircumflex,adieresis,agrave,aring,atilde,ccedilla,eacute,ecircumflex,edieresis,egrave,iacute,icircumflex,idieresis,igrave,ntilde,oacute,ocircumflex,odieresis,ograve,otilde,scaron,uacute,ucircumflex,udieresis,ugrave,yacute,ydieresis,zcaron,exclamsmall,Hungarumlautsmall,dollaroldstyle,dollarsuperior,ampersandsmall,Acutesmall,parenleftsuperior,parenrightsuperior,twodotenleader,onedotenleader,zerooldstyle,oneoldstyle,twooldstyle,threeoldstyle,fouroldstyle,fiveoldstyle,sixoldstyle,sevenoldstyle,eightoldstyle,nineoldstyle,commasuperior,threequartersemdash,periodsuperior,questionsmall,asuperior,bsuperior,centsuperior,dsuperior,esuperior,isuperior,lsuperior,msuperior,nsuperior,osuperior,rsuperior,ssuperior,tsuperior,ff,ffi,ffl,parenleftinferior,parenrightinferior,Circumflexsmall,hyphensuperior,Gravesmall,Asmall,Bsmall,Csmall,Dsmall,Esmall,Fsmall,Gsmall,Hsmall,Ismall,Jsmall,Ksmall,Lsmall,Msmall,Nsmall,Osmall,Psmall,Qsmall,Rsmall,Ssmall,Tsmall,Usmall,Vsmall,Wsmall,Xsmall,Ysmall,Zsmall,colonmonetary,onefitted,rupiah,Tildesmall,exclamdownsmall,centoldstyle,Lslashsmall,Scaronsmall,Zcaronsmall,Dieresissmall,Brevesmall,Caronsmall,Dotaccentsmall,Macronsmall,figuredash,hypheninferior,Ogoneksmall,Ringsmall,Cedillasmall,questiondownsmall,oneeighth,threeeighths,fiveeighths,seveneighths,onethird,twothirds,zerosuperior,foursuperior,fivesuperior,sixsuperior,sevensuperior,eightsuperior,ninesuperior,zeroinferior,oneinferior,twoinferior,threeinferior,fourinferior,fiveinferior,sixinferior,seveninferior,eightinferior,nineinferior,centinferior,dollarinferior,periodinferior,commainferior,Agravesmall,Aacutesmall,Acircumflexsmall,Atildesmall,Adieresissmall,Aringsmall,AEsmall,Ccedillasmall,Egravesmall,Eacutesmall,Ecircumflexsmall,Edieresissmall,Igravesmall,Iacutesmall,Icircumflexsmall,Idieresissmall,Ethsmall,Ntildesmall,Ogravesmall,Oacutesmall,Ocircumflexsmall,Otildesmall,Odieresissmall,OEsmall,Oslashsmall,Ugravesmall,Uacutesmall,Ucircumflexsmall,Udieresissmall,Yacutesmall,Thornsmall,Ydieresissmall,001.000,001.001,001.002,001.003,Black,Bold,Book,Light,Medium,Regular,Roman,Semibold".split(","),Dt=.039625,Ot=.06,kt=[null,{id:"hstem",min:2,stackClearing:!0,stem:!0},null,{id:"vstem",min:2,stackClearing:!0,stem:!0},{id:"vmoveto",min:1,stackClearing:!0},{id:"rlineto",min:2,resetStack:!0},{id:"hlineto",min:1,resetStack:!0},{id:"vlineto",min:1,resetStack:!0},{id:"rrcurveto",min:6,resetStack:!0},null,{id:"callsubr",min:1},{id:"return",min:0},null,null,{id:"endchar",min:0,stackClearing:!0},null,null,null,{id:"hstemhm",min:2,stackClearing:!0,stem:!0},{id:"hintmask",min:0,stackClearing:!0},{id:"cntrmask",min:0,stackClearing:!0},{id:"rmoveto",min:2,stackClearing:!0},{id:"hmoveto",min:1,stackClearing:!0},{id:"vstemhm",min:2,stackClearing:!0,stem:!0},{id:"rcurveline",min:8,resetStack:!0},{id:"rlinecurve",min:8,resetStack:!0},{id:"vvcurveto",min:4,resetStack:!0},{id:"hhcurveto",min:4,resetStack:!0},null,{id:"callgsubr",min:1},{id:"vhcurveto",min:4,resetStack:!0},{id:"hvcurveto",min:4,resetStack:!0}],At=[null,null,null,{id:"and",min:2,stackDelta:-1},{id:"or",min:2,stackDelta:-1},{id:"not",min:1,stackDelta:0},null,null,null,{id:"abs",min:1,stackDelta:0},{id:"add",min:2,stackDelta:-1,stackFn(e2,t2){e2[t2-2]=e2[t2-2]+e2[t2-1]}},{id:"sub",min:2,stackDelta:-1,stackFn(e2,t2){e2[t2-2]=e2[t2-2]-e2[t2-1]}},{id:"div",min:2,stackDelta:-1,stackFn(e2,t2){e2[t2-2]=e2[t2-2]/e2[t2-1]}},null,{id:"neg",min:1,stackDelta:0,stackFn(e2,t2){e2[t2-1]=-e2[t2-1]}},{id:"eq",min:2,stackDelta:-1},null,null,{id:"drop",min:1,stackDelta:-1},null,{id:"put",min:2,stackDelta:-2},{id:"get",min:1,stackDelta:0},{id:"ifelse",min:4,stackDelta:-3},{id:"random",min:0,stackDelta:1},{id:"mul",min:2,stackDelta:-1,stackFn(e2,t2){e2[t2-2]=e2[t2-2]*e2[t2-1]}},null,{id:"sqrt",min:1,stackDelta:0},{id:"dup",min:1,stackDelta:1},{id:"exch",min:2,stackDelta:0},{id:"index",min:2,stackDelta:0},{id:"roll",min:3,stackDelta:-2},null,null,null,{id:"hflex",min:7,resetStack:!0},{id:"flex",min:13,resetStack:!0},{id:"hflex1",min:9,resetStack:!0},{id:"flex1",min:11,resetStack:!0}],CFFParser=class{constructor(e2,t2,n2){this.bytes=e2.getBytes(),this.properties=t2,this.seacAnalysisEnabled=!!n2}parse(){let e2=this.properties,t2=new CFF(this.bytes.length);this.cff=t2;let n2=this.parseHeader(),r2=this.parseIndex(n2.endPos),i2=this.parseIndex(r2.endPos),a2=this.parseIndex(i2.endPos),o2=this.parseIndex(a2.endPos),s2=this.parseDict(i2.obj.get(0)),c2=this.createDict(Mt,s2,t2.strings);t2.header=n2.obj,t2.names=this.parseNameIndex(r2.obj),t2.strings=this.parseStringIndex(a2.obj),t2.topDict=c2,t2.globalSubrIndex=o2.obj,this.parsePrivateDict(t2.topDict),t2.isCIDFont=c2.hasName("ROS");let l2=c2.getByName("CharStrings"),u2=this.parseIndex(l2).obj;t2.charStringCount=u2.count;let d2=c2.getByName("FontMatrix");d2&&(e2.fontMatrix=d2);let f2=c2.getByName("FontBBox"),p2=e2.bbox?.some(e3=>e3!==0)?recoverSigned16BitBBox(e2.bbox):null,m2=f2?.slice(0,2).some(looksLikeUnsigned16BitNegative),h2=f2?.some(looksLikeUnsigned16BitNegative);if(f2?.every(e3=>e3===0)&&p2)f2=p2,c2.setByName("FontBBox",f2);else if(h2){let t3=recoverSigned16BitBBox(f2),n3=p2&&e2.bbox.some(e3=>e3<0)&&!e2.bbox.some(looksLikeUnsigned16BitNegative)&&isArrayEqual(t3,p2);(n3||m2)&&(f2=n3?t3:recoverSigned16BitBBox(f2,!0),c2.setByName("FontBBox",f2))}f2?.some(e3=>e3!==0)&&(e2.ascent=Math.max(f2[3],f2[1]),e2.descent=Math.min(f2[1],f2[3]),e2.ascentScaled=!0);let g2,_2;if(t2.isCIDFont){let e3=this.parseIndex(c2.getByName("FDArray")).obj;for(let n3=0,r3=e3.count;n3<r3;++n3){let r4=e3.get(n3),i3=this.createDict(Mt,this.parseDict(r4),t2.strings);this.parsePrivateDict(i3),t2.fdArray.push(i3)}_2=null,g2=this.parseCharsets(c2.getByName("charset"),u2.count,t2.strings,!0),t2.fdSelect=this.parseFDSelect(c2.getByName("FDSelect"),u2.count)}else g2=this.parseCharsets(c2.getByName("charset"),u2.count,t2.strings,!1),_2=this.parseEncoding(c2.getByName("Encoding"),e2,t2.strings,g2.charset);t2.charset=g2,t2.encoding=_2;let v2=this.parseCharStrings({charStrings:u2,localSubrIndex:c2.privateDict.subrsIndex,globalSubrIndex:o2.obj,fdSelect:t2.fdSelect,fdArray:t2.fdArray,privateDict:c2.privateDict});return t2.charStrings=v2.charStrings,t2.seacs=v2.seacs,t2.widths=v2.widths,t2}parseHeader(){let e2=this.bytes,t2=e2.length,n2=0;for(;n2<t2&&e2[n2]!==1;)++n2;if(n2>=t2)throw new FormatError$1("Invalid CFF header");n2!==0&&(info$1("cff data is shifted"),e2=e2.subarray(n2),this.bytes=e2);let r2=e2[0],i2=e2[1],a2=e2[2],o2=e2[3];return{obj:new CFFHeader(r2,i2,a2,o2),endPos:a2}}parseDict(e2){let t2=new DataView(e2.buffer,e2.byteOffset,e2.bytesLength),n2=0;function parseOperand(){let r3=e2[n2++];return r3===30?parseFloatOperand():r3===28?(r3=t2.getInt16(n2),n2+=2,r3):r3===29?(r3=t2.getInt32(n2),n2+=4,r3):r3>=32&&r3<=246?r3-139:r3>=247&&r3<=250?(r3-247)*256+e2[n2++]+108:r3>=251&&r3<=254?-((r3-251)*256)-e2[n2++]-108:(warn$1(`CFFParser.parseDict: "${r3}" is a reserved command.`),NaN)}function parseFloatOperand(){let t3="",r3=["0","1","2","3","4","5","6","7","8","9",".","E","E-",null,"-"],i3=e2.length;for(;n2<i3;){let i4=e2[n2++],a3=i4>>4,o2=i4&15;if(a3===15||(t3+=r3[a3],o2===15))break;t3+=r3[o2]}return parseFloat(t3)}let r2=[],i2=[];n2=0;let a2=e2.length;for(;n2<a2;){let t3=e2[n2];t3<=21?(t3===12&&(t3=t3<<8|e2[++n2]),i2.push([t3,r2]),r2=[],++n2):r2.push(parseOperand())}return i2}parseIndex(e2){let t2=new CFFIndex,n2=this.bytes,r2=n2[e2++]<<8|n2[e2++],i2=[],a2=e2,o2,s2;if(r2!==0){let t3=n2[e2++],c2=e2+(r2+1)*t3-1;for(o2=0,s2=r2+1;o2<s2;++o2){let r3=0;for(let i3=0;i3<t3;++i3)r3<<=8,r3+=n2[e2++];i2.push(c2+r3)}a2=i2[r2]}for(o2=0,s2=i2.length-1;o2<s2;++o2){let e3=i2[o2],r3=i2[o2+1];t2.add(n2.subarray(e3,r3))}return{obj:t2,endPos:a2}}parseNameIndex(e2){let t2=[];for(let n2=0,r2=e2.count;n2<r2;++n2){let r3=e2.get(n2);t2.push(bytesToString$1(r3))}return t2}parseStringIndex(e2){let t2=new CFFStrings;for(let n2=0,r2=e2.count;n2<r2;++n2){let r3=e2.get(n2);t2.add(bytesToString$1(r3))}return t2}createDict(e2,t2,n2){let r2=new e2(n2);for(let[e3,n3]of t2)r2.setByKey(e3,n3);return r2}parseCharString(e2,t2,n2,r2){if(!t2||e2.callDepth>10)return!1;let i2=new DataView(t2.buffer,t2.byteOffset,t2.bytesLength),a2=e2.stackSize,o2=e2.stack,s2=t2.length;for(let c2=0;c2<s2;){let l2=t2[c2++],u2=null;if(l2===12){let e3=t2[c2++];e3===0?(t2[c2-2]=139,t2[c2-1]=22,a2=0):u2=At[e3]}else if(l2===28)o2[a2]=i2.getInt16(c2),c2+=2,a2++;else if(l2===14){if(a2>=4&&(a2-=4,this.seacAnalysisEnabled))return e2.seac=o2.slice(a2,a2+4),!1;u2=kt[l2]}else if(l2>=32&&l2<=246)o2[a2]=l2-139,a2++;else if(l2>=247&&l2<=254)o2[a2]=l2<251?(l2-247<<8)+t2[c2]+108:-(l2-251<<8)-t2[c2]-108,c2++,a2++;else if(l2===255)o2[a2]=i2.getInt32(c2)/65536,c2+=4,a2++;else if(l2===19||l2===20){if(e2.hints+=a2>>1,e2.hints===0){t2.copyWithin(c2-1,c2,-1),--c2,--s2;continue}c2+=e2.hints+7>>3,a2%=2,u2=kt[l2]}else if(l2===10||l2===29){let t3=l2===10?n2:r2;if(!t3)return u2=kt[l2],warn$1("Missing subrsIndex for "+u2.id),!1;let i3=32768;t3.count<1240?i3=107:t3.count<33900&&(i3=1131);let s3=o2[--a2]+i3;if(s3<0||s3>=t3.count||isNaN(s3))return u2=kt[l2],warn$1("Out of bounds subrIndex for "+u2.id),!1;if(e2.stackSize=a2,e2.callDepth++,!this.parseCharString(e2,t3.get(s3),n2,r2))return!1;e2.callDepth--,a2=e2.stackSize;continue}else{if(l2===11)return e2.stackSize=a2,!0;if(l2===0&&c2===t2.length)t2[c2-1]=14,u2=kt[14];else if(l2===9){t2.copyWithin(c2-1,c2,-1),--c2,--s2;continue}else u2=kt[l2]}if(u2){if(u2.stem&&(e2.hints+=a2>>1,l2===3||l2===23?e2.hasVStems=!0:e2.hasVStems&&(l2===1||l2===18)&&(warn$1("CFF stem hints are in wrong order"),t2[c2-1]=l2===1?3:23)),a2<u2.min)return warn$1("Not enough parameters for "+u2.id+"; actual: "+a2+", expected: "+u2.min),a2===0?(t2[c2-1]=14,!0):!1;e2.firstStackClearing&&u2.stackClearing&&(e2.firstStackClearing=!1,a2-=u2.min,a2>=2&&u2.stem?a2%=2:a2>1&&warn$1("Found too many parameters for stack-clearing command"),a2>0&&(e2.width=o2[a2-1])),"stackDelta"in u2?("stackFn"in u2&&u2.stackFn(o2,a2),a2+=u2.stackDelta):(u2.stackClearing||u2.resetStack)&&(a2=0)}}return s2<t2.length&&t2.fill(14,s2),e2.stackSize=a2,!0}parseCharStrings({charStrings:e2,localSubrIndex:t2,globalSubrIndex:n2,fdSelect:r2,fdArray:i2,privateDict:a2}){let o2=[],s2=[],c2=e2.count;for(let l2=0;l2<c2;l2++){let c3=e2.get(l2),u2={callDepth:0,stackSize:0,stack:[],hints:0,firstStackClearing:!0,seac:null,width:null,hasVStems:!1},d2=!0,f2=null,p2=a2;if(r2&&i2.length){let e3=r2.getFDIndex(l2);e3===-1&&(warn$1("Glyph index is not in fd select."),d2=!1),e3>=i2.length&&(warn$1("Invalid fd index for glyph index."),d2=!1),d2&&(p2=i2[e3].privateDict,f2=p2.subrsIndex)}else t2&&(f2=t2);d2&&=this.parseCharString(u2,c3,f2,n2),u2.width===null?s2[l2]=p2.getByName("defaultWidthX"):s2[l2]=p2.getByName("nominalWidthX")+u2.width,u2.seac!==null&&(o2[l2]=u2.seac),d2||e2.set(l2,new Uint8Array([14]))}return{charStrings:e2,seacs:o2,widths:s2}}emptyPrivateDictionary(e2){let t2=this.createDict(Pt,[],e2.strings);e2.setByKey(18,[0,0]),e2.privateDict=t2}parsePrivateDict(e2){if(!e2.hasName("Private")){this.emptyPrivateDictionary(e2);return}let t2=e2.getByName("Private");if(!Array.isArray(t2)||t2.length!==2){e2.removeByName("Private");return}let n2=t2[0],r2=t2[1];if(n2===0||r2>=this.bytes.length){this.emptyPrivateDictionary(e2);return}if(r2+n2>this.bytes.length)throw new FormatError$1("CFF Private DICT extends past end of font");let i2=r2+n2,a2=this.bytes.subarray(r2,i2),o2=this.parseDict(a2),s2=this.createDict(Pt,o2,e2.strings);e2.privateDict=s2;let c2=s2.getByName("BlueScale"),l2=s2.getByName("BlueShift"),u2=s2.getByName("BlueFuzz"),d2=s2.getByName("ExpansionFactor");if(c2===0&&l2===0&&u2===0&&d2===0&&(s2.setByName("BlueScale",Dt),s2.setByName("BlueShift",7),s2.setByName("BlueFuzz",1)),d2===0&&s2.setByName("ExpansionFactor",Ot),c2>0){let e3=0;for(let t3 of[s2.getByName("BlueValues"),s2.getByName("OtherBlues")])if(t3)for(let n3=1;n3<t3.length;n3+=2)t3[n3]>e3&&(e3=t3[n3]);if(e3>0){let t3=1e5,n3=.5/e3,r3=MathClamp$1(c2,n3<=Dt?Math.ceil(n3*t3)/t3:-1/0,Math.floor(t3/e3)/t3);r3!==c2&&s2.setByName("BlueScale",r3)}}if(!s2.getByName("Subrs"))return;let f2=s2.getByName("Subrs"),p2=r2+f2;if(f2===0||p2>=this.bytes.length){this.emptyPrivateDictionary(e2);return}s2.subrsIndex=this.parseIndex(p2).obj}parseCharsets(e2,t2,n2,r2){if(e2===0)return new CFFCharset(!0,Ft.ISO_ADOBE,Ct);if(e2===1)return new CFFCharset(!0,Ft.EXPERT,wt);if(e2===2)return new CFFCharset(!0,Ft.EXPERT_SUBSET,Tt);let{bytes:i2}=this,a2=i2[e2++],o2=[r2?0:".notdef"],s2,c2,l2;switch(--t2,a2){case 0:for(l2=0;l2<t2;l2++)s2=i2[e2++]<<8|i2[e2++],o2.push(r2?s2:n2.get(s2));break;case 1:for(;o2.length<=t2;)for(s2=i2[e2++]<<8|i2[e2++],c2=i2[e2++],l2=0;l2<=c2;l2++)o2.push(r2?s2++:n2.get(s2++));break;case 2:for(;o2.length<=t2;)for(s2=i2[e2++]<<8|i2[e2++],c2=i2[e2++]<<8|i2[e2++],l2=0;l2<=c2;l2++)o2.push(r2?s2++:n2.get(s2++));break;default:throw new FormatError$1("Unknown charset format")}return new CFFCharset(!1,a2,o2)}parseEncoding(e2,t2,n2,r2){let i2=Object.create(null),a2=this.bytes,o2=!1,s2,c2,l2,u2=null;function readSupplement(){let t3=a2[e2++];for(c2=0;c2<t3;c2++){let t4=a2[e2++],o3=(a2[e2++]<<8)+(a2[e2++]&255);i2[t4]=r2.indexOf(n2.get(o3))}}if(e2===0||e2===1){o2=!0,s2=e2;let t3=e2?ot:lt;for(c2=0,l2=r2.length;c2<l2;c2++){let e3=t3.indexOf(r2[c2]);e3!==-1&&(i2[e3]=c2)}}else{let t3=e2;switch(s2=a2[e2++],s2&127){case 0:let t4=a2[e2++];for(c2=1;c2<=t4;c2++)i2[a2[e2++]]=c2;break;case 1:let n4=a2[e2++],r3=1;for(c2=0;c2<n4;c2++){let t5=a2[e2++],n5=a2[e2++];for(let e3=t5;e3<=t5+n5;e3++)i2[e3]=r3++}break;default:throw new FormatError$1(`Unknown encoding format: ${s2} in CFF`)}let n3=e2;s2&128&&(a2[t3]&=127,readSupplement()),u2=a2.subarray(t3,n3)}return s2&=127,new CFFEncoding(o2,s2,i2,u2)}parseFDSelect(e2,t2){let n2=this.bytes,r2=n2[e2++],i2=[],a2;switch(r2){case 0:for(a2=0;a2<t2;++a2){let t3=n2[e2++];i2.push(t3)}break;case 3:let o2=n2[e2++]<<8|n2[e2++];for(a2=0;a2<o2;++a2){let t3=n2[e2++]<<8|n2[e2++];a2===0&&t3!==0&&(warn$1("parseFDSelect: The first range must have a first GID of 0 -- trying to recover."),t3=0);let r3=n2[e2++],o3=n2[e2]<<8|n2[e2+1];for(let e3=t3;e3<o3;++e3)i2.push(r3)}e2+=2;break;default:throw new FormatError$1(`parseFDSelect: Unknown format "${r2}".`)}if(i2.length!==t2)throw new FormatError$1("parseFDSelect: Invalid font data.");return new CFFFDSelect(r2,i2)}},CFF=class{header=null;names=[];topDict=null;strings=new CFFStrings;globalSubrIndex=null;encoding=null;charset=null;charStrings=null;fdArray=[];fdSelect=null;isCIDFont=!1;charStringCount=0;constructor(e2=0){this.rawFileLength=e2}duplicateFirstGlyph(){if(this.charStrings.count>=65535){warn$1("Not enough space in charstrings to duplicate first glyph.");return}let e2=this.charStrings.get(0);this.charStrings.add(e2),this.isCIDFont&&this.fdSelect.fdSelect.push(this.fdSelect.fdSelect[0])}hasGlyphId(e2){return e2<0||e2>=this.charStrings.count?!1:this.charStrings.get(e2).length>0}},CFFHeader=class{constructor(e2,t2,n2,r2){this.major=e2,this.minor=t2,this.hdrSize=n2,this.offSize=r2}},CFFStrings=class{strings=[];get(e2){return e2>=0&&e2<=390?Et[e2]:e2-391<=this.strings.length?this.strings[e2-391]:Et[0]}getSID(e2){let t2=Et.indexOf(e2);return t2===-1?(t2=this.strings.indexOf(e2),t2===-1?-1:t2+391):t2}add(e2){this.strings.push(e2)}get count(){return this.strings.length}},CFFIndex=class{objects=[];length=0;add(e2){this.length+=e2.length,this.objects.push(e2)}set(e2,t2){this.length+=t2.length-this.objects[e2].length,this.objects[e2]=t2}get(e2){return this.objects[e2]}get count(){return this.objects.length}},CFFDict=class{constructor(e2,t2){this.keyToNameMap=e2.keyToNameMap,this.nameToKeyMap=e2.nameToKeyMap,this.defaults=e2.defaults,this.types=e2.types,this.opcodes=e2.opcodes,this.order=e2.order,this.strings=t2,this.values=Object.create(null)}setByKey(e2,t2){if(!(e2 in this.keyToNameMap))return!1;if(t2.length===0)return!0;for(let n3 of t2)if(isNaN(n3))return warn$1(`Invalid CFFDict value: "${t2}" for key "${e2}".`),!0;let n2=this.types[e2];return(n2==="num"||n2==="sid"||n2==="offset")&&(t2=t2[0]),this.values[e2]=t2,!0}setByName(e2,t2){if(!(e2 in this.nameToKeyMap))throw new FormatError$1(`Invalid dictionary name "${e2}"`);this.values[this.nameToKeyMap[e2]]=t2}hasName(e2){return this.nameToKeyMap[e2]in this.values}getByName(e2){if(!(e2 in this.nameToKeyMap))throw new FormatError$1(`Invalid dictionary name ${e2}"`);let t2=this.nameToKeyMap[e2];return t2 in this.values?this.values[t2]:this.defaults[t2]}removeByName(e2){delete this.values[this.nameToKeyMap[e2]]}static createTables(e2){let t2={keyToNameMap:{},nameToKeyMap:{},defaults:{},types:{},opcodes:{},order:[]};for(let n2 of e2){let e3=Array.isArray(n2[0])?(n2[0][0]<<8)+n2[0][1]:n2[0];t2.keyToNameMap[e3]=n2[1],t2.nameToKeyMap[n2[1]]=e3,t2.types[e3]=n2[2],t2.defaults[e3]=n2[3],t2.opcodes[e3]=Array.isArray(n2[0])?n2[0]:[n2[0]],t2.order.push(e3)}return t2}},jt=[[[12,30],"ROS",["sid","sid","num"],null],[[12,20],"SyntheticBase","num",null],[0,"version","sid",null],[1,"Notice","sid",null],[[12,0],"Copyright","sid",null],[2,"FullName","sid",null],[3,"FamilyName","sid",null],[4,"Weight","sid",null],[[12,1],"isFixedPitch","num",0],[[12,2],"ItalicAngle","num",0],[[12,3],"UnderlinePosition","num",-100],[[12,4],"UnderlineThickness","num",50],[[12,5],"PaintType","num",0],[[12,6],"CharstringType","num",2],[[12,7],"FontMatrix",["num","num","num","num","num","num"],[.001,0,0,.001,0,0]],[13,"UniqueID","num",null],[5,"FontBBox",["num","num","num","num"],[0,0,0,0]],[[12,8],"StrokeWidth","num",0],[14,"XUID","array",null],[15,"charset","offset",0],[16,"Encoding","offset",0],[17,"CharStrings","offset",0],[18,"Private",["offset","offset"],null],[[12,21],"PostScript","sid",null],[[12,22],"BaseFontName","sid",null],[[12,23],"BaseFontBlend","delta",null],[[12,31],"CIDFontVersion","num",0],[[12,32],"CIDFontRevision","num",0],[[12,33],"CIDFontType","num",0],[[12,34],"CIDCount","num",8720],[[12,35],"UIDBase","num",null],[[12,37],"FDSelect","offset",null],[[12,36],"FDArray","offset",null],[[12,38],"FontName","sid",null]],Mt=class CFFTopDict extends CFFDict{static get tables(){return shadow$1(this,"tables",this.createTables(jt))}constructor(e2){super(CFFTopDict.tables,e2),this.privateDict=null}},Nt=[[6,"BlueValues","delta",null],[7,"OtherBlues","delta",null],[8,"FamilyBlues","delta",null],[9,"FamilyOtherBlues","delta",null],[[12,9],"BlueScale","num",Dt],[[12,10],"BlueShift","num",7],[[12,11],"BlueFuzz","num",1],[10,"StdHW","num",null],[11,"StdVW","num",null],[[12,12],"StemSnapH","delta",null],[[12,13],"StemSnapV","delta",null],[[12,14],"ForceBold","num",0],[[12,17],"LanguageGroup","num",0],[[12,18],"ExpansionFactor","num",Ot],[[12,19],"initialRandomSeed","num",0],[20,"defaultWidthX","num",0],[21,"nominalWidthX","num",0],[19,"Subrs","offset",null]],Pt=class CFFPrivateDict extends CFFDict{static get tables(){return shadow$1(this,"tables",this.createTables(Nt))}constructor(e2){super(CFFPrivateDict.tables,e2),this.subrsIndex=null}},Ft={ISO_ADOBE:0,EXPERT:1,EXPERT_SUBSET:2},CFFCharset=class{constructor(e2,t2,n2){this.predefined=e2,this.format=t2,this.charset=n2}},CFFEncoding=class{constructor(e2,t2,n2,r2){this.predefined=e2,this.format=t2,this.encoding=n2,this.raw=r2}},CFFFDSelect=class{constructor(e2,t2){this.format=e2,this.fdSelect=t2}getFDIndex(e2){return e2<0||e2>=this.fdSelect.length?-1:this.fdSelect[e2]}},CFFOffsetTracker=class{offsets=Object.create(null);isTracking(e2){return e2 in this.offsets}track(e2,t2){if(e2 in this.offsets)throw new FormatError$1(`Already tracking location of ${e2}`);this.offsets[e2]=t2}offset(e2){for(let t2 in this.offsets)this.offsets[t2]+=e2}setEntryLocation(e2,t2,n2){if(!(e2 in this.offsets))throw new FormatError$1(`Not tracking location of ${e2}`);let r2=n2.data,i2=this.offsets[e2];for(let e3=0,n3=t2.length;e3<n3;++e3){let n4=e3*5+i2,a2=n4+1,o2=n4+2,s2=n4+3,c2=n4+4;if(r2[n4]!==29||r2[a2]!==0||r2[o2]!==0||r2[s2]!==0||r2[c2]!==0)throw new FormatError$1("writing to an offset that is not empty");let l2=t2[e3];r2[n4]=29,r2[a2]=l2>>24&255,r2[o2]=l2>>16&255,r2[s2]=l2>>8&255,r2[c2]=l2&255}}},It=class CFFCompiler{constructor(e2){this.cff=e2}compile(){let e2=this.cff,t2=new DataBuilder({minLength:e2.rawFileLength}),n2=this.compileHeader(e2.header);t2.setArray(n2);let r2=this.compileNameIndex(e2.names);if(t2.setArray(r2),e2.isCIDFont&&e2.topDict.hasName("FontMatrix")){let t3=e2.topDict.getByName("FontMatrix");e2.topDict.removeByName("FontMatrix");for(let n3 of e2.fdArray){let e3=t3.slice(0);n3.hasName("FontMatrix")&&(e3=Util$1.transform(e3,n3.getByName("FontMatrix"))),n3.setByName("FontMatrix",e3)}}e2.topDict.getByName("XUID")?.length>16&&e2.topDict.removeByName("XUID"),e2.topDict.setByName("charset",0);let i2=this.compileTopDicts([e2.topDict],t2.length,e2.isCIDFont);t2.setArray(i2.output);let a2=i2.trackers[0],o2=this.compileStringIndex(e2.strings.strings);t2.setArray(o2);let s2=this.compileIndex(e2.globalSubrIndex);if(t2.setArray(s2),e2.encoding&&e2.topDict.hasName("Encoding"))if(e2.encoding.predefined)a2.setEntryLocation("Encoding",[e2.encoding.format],t2);else{let n3=this.compileEncoding(e2.encoding);a2.setEntryLocation("Encoding",[t2.length],t2),t2.setArray(n3)}let c2=this.compileCharset(e2.charset,e2.charStrings.count,e2.strings,e2.isCIDFont);a2.setEntryLocation("charset",[t2.length],t2),t2.setArray(c2);let l2=this.compileCharStrings(e2.charStrings);if(a2.setEntryLocation("CharStrings",[t2.length],t2),t2.setArray(l2),e2.isCIDFont){a2.setEntryLocation("FDSelect",[t2.length],t2);let n3=this.compileFDSelect(e2.fdSelect);t2.setArray(n3),i2=this.compileTopDicts(e2.fdArray,t2.length,!0),a2.setEntryLocation("FDArray",[t2.length],t2),t2.setArray(i2.output);let r3=i2.trackers;this.compilePrivateDicts(e2.fdArray,r3,t2)}return this.compilePrivateDicts([e2.topDict],[a2],t2),t2.setArray([0]),t2.data}encodeNumber(e2){return Number.isInteger(e2)?this.encodeInteger(e2):this.encodeFloat(e2)}static get EncodeFloatRegExp(){return shadow$1(this,"EncodeFloatRegExp",/\.(\d*?)(?:9{5,20}|0{5,20})\d{0,2}(?:e(.+)|$)/)}encodeFloat(e2){let t2=e2.toString(),n2=CFFCompiler.EncodeFloatRegExp.exec(t2);if(n2){let r3=parseFloat("1e"+((n2[2]?+n2[2]:0)+n2[1].length));t2=(Math.round(e2*r3)/r3).toString()}let r2="",i2,a2;for(i2=0,a2=t2.length;i2<a2;++i2){let e3=t2[i2];e3==="e"?r2+=t2[++i2]==="-"?"c":"b":e3==="."?r2+="a":e3==="-"?r2+="e":r2+=e3}r2+=r2.length&1?"f":"ff";let o2=[30];for(i2=0,a2=r2.length;i2<a2;i2+=2)o2.push(parseInt(r2.substring(i2,i2+2),16));return o2}encodeInteger(e2){let t2;return e2>=-107&&e2<=107?t2=[e2+139]:e2>=108&&e2<=1131?(e2-=108,t2=[(e2>>8)+247,e2&255]):e2>=-1131&&e2<=-108?(e2=-e2-108,t2=[(e2>>8)+251,e2&255]):t2=e2>=-32768&&e2<=32767?[28,e2>>8&255,e2&255]:[29,e2>>24&255,e2>>16&255,e2>>8&255,e2&255],t2}compileHeader(e2){return[e2.major,e2.minor,4,e2.offSize]}compileNameIndex(e2){let t2=new CFFIndex;for(let n2 of e2){let e3=Math.min(n2.length,127),r2=Array(e3);for(let t3=0;t3<e3;t3++){let e4=n2[t3];(e4<"!"||e4>"~"||e4==="["||e4==="]"||e4==="("||e4===")"||e4==="{"||e4==="}"||e4==="<"||e4===">"||e4==="/"||e4==="%")&&(e4="_"),r2[t3]=e4}r2=r2.join(""),r2===""&&(r2="Bad_Font_Name"),t2.add(stringToBytes$1(r2))}return this.compileIndex(t2)}compileTopDicts(e2,t2,n2){let r2=[],i2=new CFFIndex;for(let a2 of e2){n2&&(a2.removeByName("CIDFontVersion"),a2.removeByName("CIDFontRevision"),a2.removeByName("CIDFontType"),a2.removeByName("CIDCount"),a2.removeByName("UIDBase"));let e3=new CFFOffsetTracker,o2=this.compileDict(a2,e3);r2.push(e3),i2.add(o2),e3.offset(t2)}return i2=this.compileIndex(i2,r2),{trackers:r2,output:i2}}compilePrivateDicts(e2,t2,n2){for(let r2=0,i2=e2.length;r2<i2;++r2){let i3=e2[r2],a2=i3.privateDict;if(!a2||!i3.hasName("Private"))throw new FormatError$1("There must be a private dictionary.");let o2=new CFFOffsetTracker,s2=this.compileDict(a2,o2),c2=n2.length;if(o2.offset(c2),s2.length||(c2=0),t2[r2].setEntryLocation("Private",[s2.length,c2],n2),n2.setArray(s2),a2.subrsIndex&&a2.hasName("Subrs")){let e3=this.compileIndex(a2.subrsIndex);o2.setEntryLocation("Subrs",[s2.length],n2),n2.setArray(e3)}}}compileDict(e2,t2){let n2=[];for(let r2 of e2.order){if(!(r2 in e2.values))continue;let i2=e2.values[r2],a2=e2.types[r2];if(Array.isArray(a2)||(a2=[a2]),Array.isArray(i2)||(i2=[i2]),i2.length!==0){for(let o2=0,s2=a2.length;o2<s2;++o2){let s3=a2[o2],c2=i2[o2];switch(s3){case"num":case"sid":n2.push(...this.encodeNumber(c2));break;case"offset":let a3=e2.keyToNameMap[r2];t2.isTracking(a3)||t2.track(a3,n2.length),n2.push(29,0,0,0,0);break;case"array":case"delta":n2.push(...this.encodeNumber(c2));for(let e3=1,t3=i2.length;e3<t3;++e3)n2.push(...this.encodeNumber(i2[e3]));break;default:throw new FormatError$1(`Unknown data type of ${s3}`)}}n2.push(...e2.opcodes[r2])}}return n2}compileStringIndex(e2){let t2=new CFFIndex;for(let n2 of e2)t2.add(stringToBytes$1(n2));return this.compileIndex(t2)}compileCharStrings(e2){let t2=new CFFIndex;for(let n2=0;n2<e2.count;n2++){let r2=e2.get(n2);if(r2.length===0){t2.add(new Uint8Array([139,14]));continue}t2.add(r2)}return this.compileIndex(t2)}compileCharset(e2,t2,n2,r2){let i2,a2=t2-1;if(r2){let e3=a2-1;i2=new Uint8Array([2,0,1,e3>>8&255,e3&255])}else{let t3=1+a2*2;i2=new Uint8Array(t3);let r3=0,o2=e2.charset.length,s2=!1;for(let t4=1;t4<i2.length;t4+=2){let a3=0;if(r3<o2){let t5=e2.charset[r3++];a3=n2.getSID(t5),a3===-1&&(a3=0,s2||(s2=!0,warn$1(`Couldn't find ${t5} in CFF strings`)))}i2[t4]=a3>>8&255,i2[t4+1]=a3&255}}return i2}compileEncoding(e2){return e2.raw}compileFDSelect(e2){let t2=e2.format,n2,r2;switch(t2){case 0:n2=new Uint8Array(1+e2.fdSelect.length),n2[0]=t2,n2.set(e2.fdSelect,1);break;case 3:let i2=e2.fdSelect[0],a2=[t2,0,0,0,0,i2];for(r2=1;r2<e2.fdSelect.length;r2++){let t3=e2.fdSelect[r2];t3!==i2&&(a2.push(r2>>8&255,r2&255,t3),i2=t3)}let o2=(a2.length-3)/3;a2[1]=o2>>8&255,a2[2]=o2&255,a2.push(r2>>8&255,r2&255),n2=new Uint8Array(a2);break}return n2}compileIndex(e2,t2=[]){let n2=e2.objects,r2=n2.length;if(r2===0)return new Uint8Array(2);let i2=1,a2;for(a2=0;a2<r2;++a2)i2+=n2[a2].length;let o2;o2=i2<256?1:i2<65536?2:i2<16777216?3:4;let s2=new Uint8Array(2+o2*(r2+1)+i2),c2=0;s2[c2++]=r2>>8&255,s2[c2++]=r2&255,s2[c2++]=o2;let l2=1;for(a2=0;a2<r2+1;a2++)o2===1?s2[c2++]=l2&255:o2===2?(s2[c2++]=l2>>8&255,s2[c2++]=l2&255):o2===3?(s2[c2++]=l2>>16&255,s2[c2++]=l2>>8&255,s2[c2++]=l2&255):(s2[c2++]=l2>>>24&255,s2[c2++]=l2>>16&255,s2[c2++]=l2>>8&255,s2[c2++]=l2&255),n2[a2]&&(l2+=n2[a2].length);for(a2=0;a2<r2;a2++)t2[a2]?.offset(c2),s2.set(n2[a2],c2),c2+=n2[a2].length;return s2}},Lt=getLookupTableFactory(function(e2){e2["Times-Roman"]="Times-Roman",e2.Helvetica="Helvetica",e2.Courier="Courier",e2.Symbol="Symbol",e2["Times-Bold"]="Times-Bold",e2["Helvetica-Bold"]="Helvetica-Bold",e2["Courier-Bold"]="Courier-Bold",e2.ZapfDingbats="ZapfDingbats",e2["Times-Italic"]="Times-Italic",e2["Helvetica-Oblique"]="Helvetica-Oblique",e2["Courier-Oblique"]="Courier-Oblique",e2["Times-BoldItalic"]="Times-BoldItalic",e2["Helvetica-BoldOblique"]="Helvetica-BoldOblique",e2["Courier-BoldOblique"]="Courier-BoldOblique",e2.ArialNarrow="Helvetica",e2["ArialNarrow-Bold"]="Helvetica-Bold",e2["ArialNarrow-BoldItalic"]="Helvetica-BoldOblique",e2["ArialNarrow-Italic"]="Helvetica-Oblique",e2.ArialBlack="Helvetica",e2["ArialBlack-Bold"]="Helvetica-Bold",e2["ArialBlack-BoldItalic"]="Helvetica-BoldOblique",e2["ArialBlack-Italic"]="Helvetica-Oblique",e2["Arial-Black"]="Helvetica",e2["Arial-Black-Bold"]="Helvetica-Bold",e2["Arial-Black-BoldItalic"]="Helvetica-BoldOblique",e2["Arial-Black-Italic"]="Helvetica-Oblique",e2.Arial="Helvetica",e2["Arial-Bold"]="Helvetica-Bold",e2["Arial-BoldItalic"]="Helvetica-BoldOblique",e2["Arial-Italic"]="Helvetica-Oblique",e2.ArialMT="Helvetica",e2["Arial-BoldItalicMT"]="Helvetica-BoldOblique",e2["Arial-BoldMT"]="Helvetica-Bold",e2["Arial-ItalicMT"]="Helvetica-Oblique",e2["Arial-BoldItalicMT-BoldItalic"]="Helvetica-BoldOblique",e2["Arial-BoldMT-Bold"]="Helvetica-Bold",e2["Arial-ItalicMT-Italic"]="Helvetica-Oblique",e2.ArialUnicodeMS="Helvetica",e2["ArialUnicodeMS-Bold"]="Helvetica-Bold",e2["ArialUnicodeMS-BoldItalic"]="Helvetica-BoldOblique",e2["ArialUnicodeMS-Italic"]="Helvetica-Oblique",e2["Courier-BoldItalic"]="Courier-BoldOblique",e2["Courier-Italic"]="Courier-Oblique",e2.CourierNew="Courier",e2["CourierNew-Bold"]="Courier-Bold",e2["CourierNew-BoldItalic"]="Courier-BoldOblique",e2["CourierNew-Italic"]="Courier-Oblique",e2["CourierNewPS-BoldItalicMT"]="Courier-BoldOblique",e2["CourierNewPS-BoldMT"]="Courier-Bold",e2["CourierNewPS-ItalicMT"]="Courier-Oblique",e2.CourierNewPSMT="Courier",e2["Helvetica-BoldItalic"]="Helvetica-BoldOblique",e2["Helvetica-Italic"]="Helvetica-Oblique",e2["HelveticaLTStd-Bold"]="Helvetica-Bold",e2["Symbol-Bold"]="Symbol",e2["Symbol-BoldItalic"]="Symbol",e2["Symbol-Italic"]="Symbol",e2.TimesNewRoman="Times-Roman",e2["TimesNewRoman-Bold"]="Times-Bold",e2["TimesNewRoman-BoldItalic"]="Times-BoldItalic",e2["TimesNewRoman-Italic"]="Times-Italic",e2.TimesNewRomanPS="Times-Roman",e2["TimesNewRomanPS-Bold"]="Times-Bold",e2["TimesNewRomanPS-BoldItalic"]="Times-BoldItalic",e2["TimesNewRomanPS-BoldItalicMT"]="Times-BoldItalic",e2["TimesNewRomanPS-BoldMT"]="Times-Bold",e2["TimesNewRomanPS-Italic"]="Times-Italic",e2["TimesNewRomanPS-ItalicMT"]="Times-Italic",e2.TimesNewRomanPSMT="Times-Roman",e2["TimesNewRomanPSMT-Bold"]="Times-Bold",e2["TimesNewRomanPSMT-BoldItalic"]="Times-BoldItalic",e2["TimesNewRomanPSMT-Italic"]="Times-Italic"}),Rt=getLookupTableFactory(function(e2){e2.Courier="FoxitFixed.pfb",e2["Courier-Bold"]="FoxitFixedBold.pfb",e2["Courier-BoldOblique"]="FoxitFixedBoldItalic.pfb",e2["Courier-Oblique"]="FoxitFixedItalic.pfb",e2.Helvetica="LiberationSans-Regular.ttf",e2["Helvetica-Bold"]="LiberationSans-Bold.ttf",e2["Helvetica-BoldOblique"]="LiberationSans-BoldItalic.ttf",e2["Helvetica-Oblique"]="LiberationSans-Italic.ttf",e2["Times-Roman"]="FoxitSerif.pfb",e2["Times-Bold"]="FoxitSerifBold.pfb",e2["Times-BoldItalic"]="FoxitSerifBoldItalic.pfb",e2["Times-Italic"]="FoxitSerifItalic.pfb",e2.Symbol="FoxitSymbol.pfb",e2.ZapfDingbats="FoxitDingbats.pfb",e2["LiberationSans-Regular"]="LiberationSans-Regular.ttf",e2["LiberationSans-Bold"]="LiberationSans-Bold.ttf",e2["LiberationSans-Italic"]="LiberationSans-Italic.ttf",e2["LiberationSans-BoldItalic"]="LiberationSans-BoldItalic.ttf"}),zt=getLookupTableFactory(function(e2){e2.Calibri="Helvetica",e2["Calibri-Bold"]="Helvetica-Bold",e2["Calibri-BoldItalic"]="Helvetica-BoldOblique",e2["Calibri-Italic"]="Helvetica-Oblique",e2.CenturyGothic="Helvetica",e2["CenturyGothic-Bold"]="Helvetica-Bold",e2["CenturyGothic-BoldItalic"]="Helvetica-BoldOblique",e2["CenturyGothic-Italic"]="Helvetica-Oblique",e2.ComicSansMS="Comic Sans MS",e2["ComicSansMS-Bold"]="Comic Sans MS-Bold",e2["ComicSansMS-BoldItalic"]="Comic Sans MS-BoldItalic",e2["ComicSansMS-Italic"]="Comic Sans MS-Italic",e2.GillSansMT="Helvetica",e2["GillSansMT-Bold"]="Helvetica-Bold",e2["GillSansMT-BoldItalic"]="Helvetica-BoldOblique",e2["GillSansMT-Italic"]="Helvetica-Oblique",e2.Impact="Helvetica",e2["ItcSymbol-Bold"]="Helvetica-Bold",e2["ItcSymbol-BoldItalic"]="Helvetica-BoldOblique",e2["ItcSymbol-Book"]="Helvetica",e2["ItcSymbol-BookItalic"]="Helvetica-Oblique",e2["ItcSymbol-Medium"]="Helvetica",e2["ItcSymbol-MediumItalic"]="Helvetica-Oblique",e2.LucidaConsole="Courier",e2["LucidaConsole-Bold"]="Courier-Bold",e2["LucidaConsole-BoldItalic"]="Courier-BoldOblique",e2["LucidaConsole-Italic"]="Courier-Oblique",e2["LucidaSans-Demi"]="Helvetica-Bold",e2["MS-Gothic"]="MS Gothic",e2["MS-Gothic-Bold"]="MS Gothic-Bold",e2["MS-Gothic-BoldItalic"]="MS Gothic-BoldItalic",e2["MS-Gothic-Italic"]="MS Gothic-Italic",e2["MS-Mincho"]="MS Mincho",e2["MS-Mincho-Bold"]="MS Mincho-Bold",e2["MS-Mincho-BoldItalic"]="MS Mincho-BoldItalic",e2["MS-Mincho-Italic"]="MS Mincho-Italic",e2["MS-PGothic"]="MS PGothic",e2["MS-PGothic-Bold"]="MS PGothic-Bold",e2["MS-PGothic-BoldItalic"]="MS PGothic-BoldItalic",e2["MS-PGothic-Italic"]="MS PGothic-Italic",e2["MS-PMincho"]="MS PMincho",e2["MS-PMincho-Bold"]="MS PMincho-Bold",e2["MS-PMincho-BoldItalic"]="MS PMincho-BoldItalic",e2["MS-PMincho-Italic"]="MS PMincho-Italic",e2.NuptialScript="Times-Italic",e2.SegoeUISymbol="Helvetica"}),Bt=getLookupTableFactory(function(e2){e2["Adobe Jenson"]=!0,e2["Adobe Text"]=!0,e2.Albertus=!0,e2.Aldus=!0,e2.Alexandria=!0,e2.Algerian=!0,e2["American Typewriter"]=!0,e2.Antiqua=!0,e2.Apex=!0,e2.Arno=!0,e2.Aster=!0,e2.Aurora=!0,e2.Baskerville=!0,e2.Bell=!0,e2.Bembo=!0,e2["Bembo Schoolbook"]=!0,e2.Benguiat=!0,e2["Berkeley Old Style"]=!0,e2["Bernhard Modern"]=!0,e2["Berthold City"]=!0,e2.Bodoni=!0,e2["Bauer Bodoni"]=!0,e2["Book Antiqua"]=!0,e2.Bookman=!0,e2["Bordeaux Roman"]=!0,e2["Californian FB"]=!0,e2.Calisto=!0,e2.Calvert=!0,e2.Capitals=!0,e2.Cambria=!0,e2.Cartier=!0,e2.Caslon=!0,e2.Catull=!0,e2.Centaur=!0,e2["Century Old Style"]=!0,e2["Century Schoolbook"]=!0,e2.Chaparral=!0,e2["Charis SIL"]=!0,e2.Cheltenham=!0,e2["Cholla Slab"]=!0,e2.Clarendon=!0,e2.Clearface=!0,e2.Cochin=!0,e2.Colonna=!0,e2["Computer Modern"]=!0,e2["Concrete Roman"]=!0,e2.Constantia=!0,e2["Cooper Black"]=!0,e2.Corona=!0,e2.Ecotype=!0,e2.Egyptienne=!0,e2.Elephant=!0,e2.Excelsior=!0,e2.Fairfield=!0,e2["FF Scala"]=!0,e2.Folkard=!0,e2.Footlight=!0,e2.FreeSerif=!0,e2["Friz Quadrata"]=!0,e2.Garamond=!0,e2.Gentium=!0,e2.Georgia=!0,e2.Gloucester=!0,e2["Goudy Old Style"]=!0,e2["Goudy Schoolbook"]=!0,e2["Goudy Pro Font"]=!0,e2.Granjon=!0,e2["Guardian Egyptian"]=!0,e2.Heather=!0,e2.Hercules=!0,e2["High Tower Text"]=!0,e2.Hiroshige=!0,e2["Hoefler Text"]=!0,e2["Humana Serif"]=!0,e2.Imprint=!0,e2["Ionic No. 5"]=!0,e2.Janson=!0,e2.Joanna=!0,e2.Korinna=!0,e2.Lexicon=!0,e2.LiberationSerif=!0,e2["Liberation Serif"]=!0,e2["Linux Libertine"]=!0,e2.Literaturnaya=!0,e2.Lucida=!0,e2["Lucida Bright"]=!0,e2.Melior=!0,e2.Memphis=!0,e2.Miller=!0,e2.Minion=!0,e2.Modern=!0,e2["Mona Lisa"]=!0,e2["Mrs Eaves"]=!0,e2["MS Serif"]=!0,e2["Museo Slab"]=!0,e2["New York"]=!0,e2["Nimbus Roman"]=!0,e2["NPS Rawlinson Roadway"]=!0,e2.NuptialScript=!0,e2.Palatino=!0,e2.Perpetua=!0,e2.Plantin=!0,e2["Plantin Schoolbook"]=!0,e2.Playbill=!0,e2["Poor Richard"]=!0,e2["Rawlinson Roadway"]=!0,e2.Renault=!0,e2.Requiem=!0,e2.Rockwell=!0,e2.Roman=!0,e2["Rotis Serif"]=!0,e2.Sabon=!0,e2.Scala=!0,e2.Seagull=!0,e2.Sistina=!0,e2.Souvenir=!0,e2.STIX=!0,e2["Stone Informal"]=!0,e2["Stone Serif"]=!0,e2.Sylfaen=!0,e2.Times=!0,e2.Trajan=!0,e2.Trinit\u00E9=!0,e2["Trump Mediaeval"]=!0,e2.Utopia=!0,e2["Vale Type"]=!0,e2["Bitstream Vera"]=!0,e2["Vera Serif"]=!0,e2.Versailles=!0,e2.Wanted=!0,e2.Weiss=!0,e2["Wide Latin"]=!0,e2.Windsor=!0,e2.XITS=!0}),Vt=getLookupTableFactory(function(e2){e2.Dingbats=!0,e2.Symbol=!0,e2.ZapfDingbats=!0,e2.Wingdings=!0,e2["Wingdings-Bold"]=!0,e2["Wingdings-Regular"]=!0}),Ht=getLookupTableFactory(function(e2){e2[2]=10,e2[3]=32,e2[4]=33,e2[5]=34,e2[6]=35,e2[7]=36,e2[8]=37,e2[9]=38,e2[10]=39,e2[11]=40,e2[12]=41,e2[13]=42,e2[14]=43,e2[15]=44,e2[16]=45,e2[17]=46,e2[18]=47,e2[19]=48,e2[20]=49,e2[21]=50,e2[22]=51,e2[23]=52,e2[24]=53,e2[25]=54,e2[26]=55,e2[27]=56,e2[28]=57,e2[29]=58,e2[30]=894,e2[31]=60,e2[32]=61,e2[33]=62,e2[34]=63,e2[35]=64,e2[36]=65,e2[37]=66,e2[38]=67,e2[39]=68,e2[40]=69,e2[41]=70,e2[42]=71,e2[43]=72,e2[44]=73,e2[45]=74,e2[46]=75,e2[47]=76,e2[48]=77,e2[49]=78,e2[50]=79,e2[51]=80,e2[52]=81,e2[53]=82,e2[54]=83,e2[55]=84,e2[56]=85,e2[57]=86,e2[58]=87,e2[59]=88,e2[60]=89,e2[61]=90,e2[62]=91,e2[63]=92,e2[64]=93,e2[65]=94,e2[66]=95,e2[67]=96,e2[68]=97,e2[69]=98,e2[70]=99,e2[71]=100,e2[72]=101,e2[73]=102,e2[74]=103,e2[75]=104,e2[76]=105,e2[77]=106,e2[78]=107,e2[79]=108,e2[80]=109,e2[81]=110,e2[82]=111,e2[83]=112,e2[84]=113,e2[85]=114,e2[86]=115,e2[87]=116,e2[88]=117,e2[89]=118,e2[90]=119,e2[91]=120,e2[92]=121,e2[93]=122,e2[94]=123,e2[95]=124,e2[96]=125,e2[97]=126,e2[98]=196,e2[99]=197,e2[100]=199,e2[101]=201,e2[102]=209,e2[103]=214,e2[104]=220,e2[105]=225,e2[106]=224,e2[107]=226,e2[108]=228,e2[109]=227,e2[110]=229,e2[111]=231,e2[112]=233,e2[113]=232,e2[114]=234,e2[115]=235,e2[116]=237,e2[117]=236,e2[118]=238,e2[119]=239,e2[120]=241,e2[121]=243,e2[122]=242,e2[123]=244,e2[124]=246,e2[125]=245,e2[126]=250,e2[127]=249,e2[128]=251,e2[129]=252,e2[130]=8224,e2[131]=176,e2[132]=162,e2[133]=163,e2[134]=167,e2[135]=8226,e2[136]=182,e2[137]=223,e2[138]=174,e2[139]=169,e2[140]=8482,e2[141]=180,e2[142]=168,e2[143]=8800,e2[144]=198,e2[145]=216,e2[146]=8734,e2[147]=177,e2[148]=8804,e2[149]=8805,e2[150]=165,e2[151]=181,e2[152]=8706,e2[153]=8721,e2[154]=8719,e2[156]=8747,e2[157]=170,e2[158]=186,e2[159]=8486,e2[160]=230,e2[161]=248,e2[162]=191,e2[163]=161,e2[164]=172,e2[165]=8730,e2[166]=402,e2[167]=8776,e2[168]=8710,e2[169]=171,e2[170]=187,e2[171]=8230,e2[179]=8220,e2[180]=8221,e2[181]=8216,e2[182]=8217,e2[200]=193,e2[203]=205,e2[207]=211,e2[210]=218,e2[223]=711,e2[224]=321,e2[225]=322,e2[226]=352,e2[227]=353,e2[228]=381,e2[229]=382,e2[233]=221,e2[234]=253,e2[252]=263,e2[253]=268,e2[254]=269,e2[258]=258,e2[260]=260,e2[261]=261,e2[265]=280,e2[266]=281,e2[267]=282,e2[268]=283,e2[269]=313,e2[275]=323,e2[276]=324,e2[278]=328,e2[283]=344,e2[284]=345,e2[285]=346,e2[286]=347,e2[292]=367,e2[295]=377,e2[296]=378,e2[298]=380,e2[305]=963,e2[306]=964,e2[307]=966,e2[308]=8215,e2[309]=8252,e2[310]=8319,e2[311]=8359,e2[312]=8592,e2[313]=8593,e2[337]=9552,e2[493]=1039,e2[494]=1040,e2[570]=1040,e2[571]=1041,e2[572]=1042,e2[573]=1043,e2[574]=1044,e2[575]=1045,e2[576]=1046,e2[577]=1047,e2[578]=1048,e2[579]=1049,e2[580]=1050,e2[581]=1051,e2[582]=1052,e2[583]=1053,e2[584]=1054,e2[585]=1055,e2[586]=1056,e2[587]=1057,e2[588]=1058,e2[589]=1059,e2[590]=1060,e2[591]=1061,e2[592]=1062,e2[593]=1063,e2[594]=1064,e2[595]=1065,e2[596]=1066,e2[597]=1067,e2[598]=1068,e2[599]=1069,e2[600]=1070,e2[601]=1071,e2[602]=1072,e2[603]=1073,e2[604]=1074,e2[605]=1075,e2[606]=1076,e2[607]=1077,e2[608]=1078,e2[609]=1079,e2[610]=1080,e2[611]=1081,e2[612]=1082,e2[613]=1083,e2[614]=1084,e2[615]=1085,e2[616]=1086,e2[617]=1087,e2[618]=1088,e2[619]=1089,e2[620]=1090,e2[621]=1091,e2[622]=1092,e2[623]=1093,e2[624]=1094,e2[625]=1095,e2[626]=1096,e2[627]=1097,e2[628]=1098,e2[629]=1099,e2[630]=1100,e2[631]=1101,e2[632]=1102,e2[633]=1103,e2[672]=1488,e2[673]=1489,e2[674]=1490,e2[675]=1491,e2[676]=1492,e2[677]=1493,e2[678]=1494,e2[679]=1495,e2[680]=1496,e2[681]=1497,e2[682]=1498,e2[683]=1499,e2[684]=1500,e2[685]=1501,e2[686]=1502,e2[687]=1503,e2[688]=1504,e2[689]=1505,e2[690]=1506,e2[691]=1507,e2[692]=1508,e2[693]=1509,e2[694]=1510,e2[695]=1511,e2[696]=1512,e2[697]=1513,e2[698]=1514,e2[705]=1524,e2[706]=8362,e2[710]=64288,e2[711]=64298,e2[759]=1617,e2[761]=1776,e2[763]=1778,e2[775]=1652,e2[777]=1764,e2[778]=1780,e2[779]=1781,e2[780]=1782,e2[782]=771,e2[783]=64726,e2[786]=8363,e2[788]=8532,e2[790]=768,e2[791]=769,e2[792]=768,e2[795]=803,e2[797]=64336,e2[798]=64337,e2[799]=64342,e2[800]=64343,e2[801]=64344,e2[802]=64345,e2[803]=64362,e2[804]=64363,e2[805]=64364,e2[2424]=7821,e2[2425]=7822,e2[2426]=7823,e2[2427]=7824,e2[2428]=7825,e2[2429]=7826,e2[2430]=7827,e2[2433]=7682,e2[2678]=8045,e2[2679]=8046,e2[2830]=1552,e2[2838]=686,e2[2840]=751,e2[2842]=753,e2[2843]=754,e2[2844]=755,e2[2846]=757,e2[2856]=767,e2[2857]=848,e2[2858]=849,e2[2862]=853,e2[2863]=854,e2[2864]=855,e2[2865]=861,e2[2866]=862,e2[2906]=7460,e2[2908]=7462,e2[2909]=7463,e2[2910]=7464,e2[2912]=7466,e2[2913]=7467,e2[2914]=7468,e2[2916]=7470,e2[2917]=7471,e2[2918]=7472,e2[2920]=7474,e2[2921]=7475,e2[2922]=7476,e2[2924]=7478,e2[2925]=7479,e2[2926]=7480,e2[2928]=7482,e2[2929]=7483,e2[2930]=7484,e2[2932]=7486,e2[2933]=7487,e2[2934]=7488,e2[2936]=7490,e2[2937]=7491,e2[2938]=7492,e2[2940]=7494,e2[2941]=7495,e2[2942]=7496,e2[2944]=7498,e2[2946]=7500,e2[2948]=7502,e2[2950]=7504,e2[2951]=7505,e2[2952]=7506,e2[2954]=7508,e2[2955]=7509,e2[2956]=7510,e2[2958]=7512,e2[2959]=7513,e2[2960]=7514,e2[2962]=7516,e2[2963]=7517,e2[2964]=7518,e2[2966]=7520,e2[2967]=7521,e2[2968]=7522,e2[2970]=7524,e2[2971]=7525,e2[2972]=7526,e2[2974]=7528,e2[2975]=7529,e2[2976]=7530,e2[2978]=1537,e2[2979]=1538,e2[2980]=1539,e2[2982]=1549,e2[2983]=1551,e2[2984]=1552,e2[2986]=1554,e2[2987]=1555,e2[2988]=1556,e2[2990]=1623,e2[2991]=1624,e2[2995]=1775,e2[2999]=1791,e2[3002]=64290,e2[3003]=64291,e2[3004]=64292,e2[3006]=64294,e2[3007]=64295,e2[3008]=64296,e2[3011]=1900,e2[3014]=8223,e2[3015]=8244,e2[3017]=7532,e2[3018]=7533,e2[3019]=7534,e2[3075]=7590,e2[3076]=7591,e2[3079]=7594,e2[3080]=7595,e2[3083]=7598,e2[3084]=7599,e2[3087]=7602,e2[3088]=7603,e2[3091]=7606,e2[3092]=7607,e2[3095]=7610,e2[3096]=7611,e2[3099]=7614,e2[3100]=7615,e2[3103]=7618,e2[3104]=7619,e2[3107]=8337,e2[3108]=8338,e2[3116]=1884,e2[3119]=1885,e2[3120]=1885,e2[3123]=1886,e2[3124]=1886,e2[3127]=1887,e2[3128]=1887,e2[3131]=1888,e2[3132]=1888,e2[3135]=1889,e2[3136]=1889,e2[3139]=1890,e2[3140]=1890,e2[3143]=1891,e2[3144]=1891,e2[3147]=1892,e2[3148]=1892,e2[3153]=580,e2[3154]=581,e2[3157]=584,e2[3158]=585,e2[3161]=588,e2[3162]=589,e2[3165]=891,e2[3166]=892,e2[3169]=1274,e2[3170]=1275,e2[3173]=1278,e2[3174]=1279,e2[3181]=7622,e2[3182]=7623,e2[3282]=11799,e2[3316]=578,e2[3379]=42785,e2[3393]=1159,e2[3416]=8377}),Ut=getLookupTableFactory(function(e2){e2[227]=322,e2[264]=261,e2[291]=346}),Wt=getLookupTableFactory(function(e2){e2[1]=32,e2[4]=65,e2[5]=192,e2[6]=193,e2[9]=196,e2[17]=66,e2[18]=67,e2[21]=268,e2[24]=68,e2[28]=69,e2[29]=200,e2[30]=201,e2[32]=282,e2[38]=70,e2[39]=71,e2[44]=72,e2[47]=73,e2[48]=204,e2[49]=205,e2[58]=74,e2[60]=75,e2[62]=76,e2[68]=77,e2[69]=78,e2[75]=79,e2[76]=210,e2[80]=214,e2[87]=80,e2[89]=81,e2[90]=82,e2[92]=344,e2[94]=83,e2[97]=352,e2[100]=84,e2[104]=85,e2[109]=220,e2[115]=86,e2[116]=87,e2[121]=88,e2[122]=89,e2[124]=221,e2[127]=90,e2[129]=381,e2[258]=97,e2[259]=224,e2[260]=225,e2[263]=228,e2[268]=261,e2[271]=98,e2[272]=99,e2[273]=263,e2[275]=269,e2[282]=100,e2[286]=101,e2[287]=232,e2[288]=233,e2[290]=283,e2[295]=281,e2[296]=102,e2[336]=103,e2[346]=104,e2[349]=105,e2[350]=236,e2[351]=237,e2[361]=106,e2[364]=107,e2[367]=108,e2[371]=322,e2[373]=109,e2[374]=110,e2[381]=111,e2[382]=242,e2[383]=243,e2[386]=246,e2[393]=112,e2[395]=113,e2[396]=114,e2[398]=345,e2[400]=115,e2[401]=347,e2[403]=353,e2[410]=116,e2[437]=117,e2[442]=252,e2[448]=118,e2[449]=119,e2[454]=120,e2[455]=121,e2[457]=253,e2[460]=122,e2[462]=382,e2[463]=380,e2[853]=44,e2[855]=58,e2[856]=46,e2[876]=47,e2[878]=45,e2[882]=45,e2[894]=40,e2[895]=41,e2[896]=91,e2[897]=93,e2[923]=64,e2[940]=163,e2[1004]=48,e2[1005]=49,e2[1006]=50,e2[1007]=51,e2[1008]=52,e2[1009]=53,e2[1010]=54,e2[1011]=55,e2[1012]=56,e2[1013]=57,e2[1081]=37,e2[1085]=43,e2[1086]=45});function getStandardFontName(e2){let t2=normalizeFontName(e2);return Lt()[t2]}function isKnownFontName(e2){let t2=normalizeFontName(e2);return!!(Lt()[t2]||zt()[t2]||Bt()[t2]||Vt()[t2])}var GlyfTable=class{constructor({glyfTable:e2,isGlyphLocationsLong:t2,locaTable:n2,numGlyphs:r2}){this.glyphs=[];let i2=new DataView(n2.buffer,n2.byteOffset,n2.byteLength),a2=new DataView(e2.buffer,e2.byteOffset,e2.byteLength),o2=t2?4:2,s2=t2?i2.getUint32(0):2*i2.getUint16(0),c2=0;for(let e3=0;e3<r2;e3++){c2+=o2;let e4=t2?i2.getUint32(c2):2*i2.getUint16(c2);if(e4===s2){this.glyphs.push(new Gt({}));continue}let n3=Gt.parse(s2,a2);this.glyphs.push(n3),s2=e4}}getSize(){return Math.sumPrecise(this.glyphs.map(e2=>e2.getSize()+3&-4))}write(){let e2=this.getSize(),t2=new DataView(new ArrayBuffer(e2)),n2=e2>131070,r2=n2?4:2,i2=new DataView(new ArrayBuffer((this.glyphs.length+1)*r2));n2?i2.setUint32(0,0):i2.setUint16(0,0);let a2=0,o2=0;for(let e3 of this.glyphs)a2+=e3.write(a2,t2),a2=a2+3&-4,o2+=r2,n2?i2.setUint32(o2,a2):i2.setUint16(o2,a2>>1);return{isLocationLong:n2,loca:new Uint8Array(i2.buffer),glyf:new Uint8Array(t2.buffer)}}scale(e2){for(let t2=0,n2=this.glyphs.length;t2<n2;t2++)this.glyphs[t2].scale(e2[t2])}},Gt=class Glyph{constructor({header:e2=null,simple:t2=null,composites:n2=null}){this.header=e2,this.simple=t2,this.composites=n2}static parse(e2,t2){let[n2,r2]=Kt.parse(e2,t2);if(e2+=n2,r2.numberOfContours<0){let n3=[];for(;;){let[r3,i3]=Jt.parse(e2,t2);if(e2+=r3,n3.push(i3),!(i3.flags&32))break}return new Glyph({header:r2,composites:n3})}let i2=qt.parse(e2,t2,r2.numberOfContours);return new Glyph({header:r2,simple:i2})}getSize(){if(!this.header)return 0;let e2=this.simple?this.simple.getSize():Math.sumPrecise(this.composites.map(e3=>e3.getSize()));return this.header.getSize()+e2}write(e2,t2){if(!this.header)return 0;let n2=e2;if(e2+=this.header.write(e2,t2),this.simple)e2+=this.simple.write(e2,t2);else for(let n3 of this.composites)e2+=n3.write(e2,t2);return e2-n2}scale(e2){if(!this.header)return;let t2=(this.header.xMin+this.header.xMax)/2;if(this.header.scale(t2,e2),this.simple)this.simple.scale(t2,e2);else for(let n2 of this.composites)n2.scale(t2,e2)}},Kt=class GlyphHeader{constructor({numberOfContours:e2,xMin:t2,yMin:n2,xMax:r2,yMax:i2}){this.numberOfContours=e2,this.xMin=t2,this.yMin=n2,this.xMax=r2,this.yMax=i2}static parse(e2,t2){return[10,new GlyphHeader({numberOfContours:t2.getInt16(e2),xMin:t2.getInt16(e2+2),yMin:t2.getInt16(e2+4),xMax:t2.getInt16(e2+6),yMax:t2.getInt16(e2+8)})]}getSize(){return 10}write(e2,t2){return t2.setInt16(e2,this.numberOfContours),t2.setInt16(e2+2,this.xMin),t2.setInt16(e2+4,this.yMin),t2.setInt16(e2+6,this.xMax),t2.setInt16(e2+8,this.yMax),10}scale(e2,t2){this.xMin=Math.round(e2+(this.xMin-e2)*t2),this.xMax=Math.round(e2+(this.xMax-e2)*t2)}},Contour=class{constructor({flags:e2,xCoordinates:t2,yCoordinates:n2}){this.xCoordinates=t2,this.yCoordinates=n2,this.flags=e2}},qt=class SimpleGlyph{constructor({contours:e2,instructions:t2}){this.contours=e2,this.instructions=t2}static parse(e2,t2,n2){let r2=[];for(let i3=0;i3<n2;i3++){let n3=t2.getUint16(e2);e2+=2,r2.push(n3)}let i2=r2[n2-1]+1,a2=t2.getUint16(e2);e2+=2;let o2=new Uint8Array(t2).slice(e2,e2+a2);e2+=a2;let s2=[];for(let n3=0;n3<i2;e2++,n3++){let r3=t2.getUint8(e2);if(s2.push(r3),r3&8){let i3=t2.getUint8(++e2);r3^=8;for(let e3=0;e3<i3;e3++)s2.push(r3);n3+=i3}}let c2=[],l2=[],u2=[],d2=[],f2=[],p2=0,m2=0;for(let n3=0;n3<i2;n3++){let i3=s2[n3];if(i3&2){let n4=t2.getUint8(e2++);m2+=i3&16?n4:-n4,l2.push(m2)}else i3&16||(m2+=t2.getInt16(e2),e2+=2),l2.push(m2);r2[p2]===n3&&(p2++,c2.push(l2),l2=[])}m2=0,p2=0;for(let n3=0;n3<i2;n3++){let i3=s2[n3];if(i3&4){let n4=t2.getUint8(e2++);m2+=i3&32?n4:-n4,u2.push(m2)}else i3&32||(m2+=t2.getInt16(e2),e2+=2),u2.push(m2);d2.push(i3&1|i3&64),r2[p2]===n3&&(l2=c2[p2],p2++,f2.push(new Contour({flags:d2,xCoordinates:l2,yCoordinates:u2})),u2=[],d2=[])}return new SimpleGlyph({contours:f2,instructions:o2})}getSize(){let e2=this.contours.length*2+2+this.instructions.length,t2=0,n2=0;for(let r2 of this.contours){e2+=r2.flags.length;for(let i2=0,a2=r2.xCoordinates.length;i2<a2;i2++){let a3=r2.xCoordinates[i2],o2=r2.yCoordinates[i2],s2=Math.abs(a3-t2);s2>255?e2+=2:s2>0&&(e2+=1),t2=a3,s2=Math.abs(o2-n2),s2>255?e2+=2:s2>0&&(e2+=1),n2=o2}}return e2}write(e2,t2){let n2=e2,r2=[],i2=[],a2=[],o2=0,s2=0;for(let n3 of this.contours){for(let e3=0,t3=n3.xCoordinates.length;e3<t3;e3++){let t4=n3.flags[e3],c2=n3.xCoordinates[e3],l2=c2-o2;if(l2===0)t4|=16,r2.push(0);else{let e4=Math.abs(l2);e4<=255?(t4|=l2>=0?18:2,r2.push(e4)):r2.push(l2)}o2=c2;let u2=n3.yCoordinates[e3];if(l2=u2-s2,l2===0)t4|=32,i2.push(0);else{let e4=Math.abs(l2);e4<=255?(t4|=l2>=0?36:4,i2.push(e4)):i2.push(l2)}s2=u2,a2.push(t4)}t2.setUint16(e2,r2.length-1),e2+=2}t2.setUint16(e2,this.instructions.length),e2+=2,this.instructions.length&&(new Uint8Array(t2.buffer,0,t2.buffer.byteLength).set(this.instructions,e2),e2+=this.instructions.length);for(let n3 of a2)t2.setUint8(e2++,n3);for(let n3=0,i3=r2.length;n3<i3;n3++){let i4=r2[n3],o3=a2[n3];o3&2?t2.setUint8(e2++,i4):o3&16||(t2.setInt16(e2,i4),e2+=2)}for(let n3=0,r3=i2.length;n3<r3;n3++){let r4=i2[n3],o3=a2[n3];o3&4?t2.setUint8(e2++,r4):o3&32||(t2.setInt16(e2,r4),e2+=2)}return e2-n2}scale(e2,t2){for(let n2 of this.contours)if(n2.xCoordinates.length!==0)for(let r2=0,i2=n2.xCoordinates.length;r2<i2;r2++)n2.xCoordinates[r2]=Math.round(e2+(n2.xCoordinates[r2]-e2)*t2)}},Jt=class CompositeGlyph{constructor({flags:e2,glyphIndex:t2,argument1:n2,argument2:r2,transf:i2,instructions:a2}){this.flags=e2,this.glyphIndex=t2,this.argument1=n2,this.argument2=r2,this.transf=i2,this.instructions=a2}static parse(e2,t2){let n2=e2,r2=[],i2=t2.getUint16(e2),a2=t2.getUint16(e2+2);e2+=4;let o2,s2;i2&1?(i2&2?(o2=t2.getInt16(e2),s2=t2.getInt16(e2+2)):(o2=t2.getUint16(e2),s2=t2.getUint16(e2+2)),e2+=4,i2^=1):(i2&2?(o2=t2.getInt8(e2),s2=t2.getInt8(e2+1)):(o2=t2.getUint8(e2),s2=t2.getUint8(e2+1)),e2+=2),i2&8?(r2.push(t2.getUint16(e2)),e2+=2):i2&64?(r2.push(t2.getUint16(e2),t2.getUint16(e2+2)),e2+=4):i2&128&&(r2.push(t2.getUint16(e2),t2.getUint16(e2+2),t2.getUint16(e2+4),t2.getUint16(e2+6)),e2+=8);let c2=null;if(i2&256){let n3=t2.getUint16(e2);e2+=2,c2=new Uint8Array(t2).slice(e2,e2+n3),e2+=n3}return[e2-n2,new CompositeGlyph({flags:i2,glyphIndex:a2,argument1:o2,argument2:s2,transf:r2,instructions:c2})]}getSize(){let e2=4+this.transf.length*2;return this.flags&256&&(e2+=2+this.instructions.length),e2+=2,this.flags&2?this.argument1>=-128&&this.argument1<=127&&this.argument2>=-128&&this.argument2<=127||(e2+=2):this.argument1>=0&&this.argument1<=255&&this.argument2>=0&&this.argument2<=255||(e2+=2),e2}write(e2,t2){let n2=e2;return this.flags&2?this.argument1>=-128&&this.argument1<=127&&this.argument2>=-128&&this.argument2<=127||(this.flags|=1):this.argument1>=0&&this.argument1<=255&&this.argument2>=0&&this.argument2<=255||(this.flags|=1),t2.setUint16(e2,this.flags),t2.setUint16(e2+2,this.glyphIndex),e2+=4,this.flags&1?(this.flags&2?(t2.setInt16(e2,this.argument1),t2.setInt16(e2+2,this.argument2)):(t2.setUint16(e2,this.argument1),t2.setUint16(e2+2,this.argument2)),e2+=4):(t2.setUint8(e2,this.argument1),t2.setUint8(e2+1,this.argument2),e2+=2),this.flags&256&&(t2.setUint16(e2,this.instructions.length),e2+=2,this.instructions.length&&(new Uint8Array(t2.buffer,0,t2.buffer.byteLength).set(this.instructions,e2),e2+=this.instructions.length)),e2-n2}scale(e2,t2){}};function pruneCompositeGlyphCycles(e2,t2,n2){let r2=new DataView(e2.buffer,e2.byteOffset,e2.byteLength),i2=Array(n2);for(let e3=0;e3<n2;e3++){let n3=t2[e3].offset,a3=Math.min(t2[e3].endOffset,r2.byteLength);if(a3-n3<=10||r2.getInt16(n3)>=0)continue;let o3=[],s3=n3+10;for(;s3+4<=a3;){let e4=r2.getUint16(s3),t3=r2.getUint16(s3+2),n4=4+(e4&1?4:2);if(e4&8?n4+=2:e4&64?n4+=4:e4&128&&(n4+=8),o3.push({gid:t3,offset:s3,size:n4,flags:e4}),s3+=n4,!(e4&32))break}o3.length&&(i2[e3]=o3)}let a2=new Uint8Array(n2),o2=new Map;for(let e3=0;e3<n2;e3++){if(a2[e3]!==0||!i2[e3])continue;let t3=[{node:e3,idx:0}];for(a2[e3]=1;t3.length>0;){let e4=t3.at(-1),r3=i2[e4.node];if(!r3||e4.idx>=r3.length){a2[e4.node]=2,t3.pop();continue}let s3=e4.idx++,c2=r3[s3].gid;if(c2>=n2||a2[c2]===2)continue;if(a2[c2]===0){a2[c2]=1,t3.push({node:c2,idx:0});continue}let l2=o2.get(e4.node);l2||(l2=new Set,o2.set(e4.node,l2)),l2.add(s3)}}let s2=new Set;for(let[n3,a3]of o2){let o3=i2[n3],c2=[];for(let e3=0;e3<o3.length;e3++)a3.has(e3)||c2.push(o3[e3]);if(c2.length===0){s2.add(n3);continue}let l2=t2[n3].offset,u2=Math.min(t2[n3].endOffset,r2.byteLength),d2=l2+10;for(let t3=0;t3<c2.length;t3++){let n4=c2[t3],i3=t3===c2.length-1,a4=n4.flags&-257;a4=i3?a4&-33:a4|32,d2!==n4.offset&&e2.copyWithin(d2,n4.offset,n4.offset+n4.size),r2.setUint16(d2,a4),d2+=n4.size}d2<u2&&e2.fill(0,d2,u2)}return s2}var ToUnicodeMap=class{constructor(e2=[]){this._map=e2}get length(){return this._map.length}forEach(e2){for(let t2 in this._map)e2(t2,this._map[t2].codePointAt(0))}has(e2){return this._map[e2]!==void 0}get(e2){return this._map[e2]}charCodeOf(e2){let t2=this._map;if(t2.length<=65536)return t2.indexOf(e2);for(let n2 in t2)if(t2[n2]===e2)return n2|0;return-1}amend(e2){for(let t2 in e2)this._map[t2]=e2[t2]}},IdentityToUnicodeMap=class{constructor(e2,t2){this.firstChar=e2,this.lastChar=t2}get length(){return this.lastChar+1-this.firstChar}forEach(e2){for(let t2=this.firstChar,n2=this.lastChar;t2<=n2;t2++)e2(t2,t2)}has(e2){return this.firstChar<=e2&&e2<=this.lastChar}get(e2){if(this.firstChar<=e2&&e2<=this.lastChar)return String.fromCharCode(e2)}charCodeOf(e2){return Number.isInteger(e2)&&e2>=this.firstChar&&e2<=this.lastChar?e2:-1}amend(e2){unreachable$1("Should not call amend()")}},CFFFont=class{constructor(e2,t2){this.properties=t2;let n2=new CFFParser(e2,t2,!0);this.cff=n2.parse(),this.cff.duplicateFirstGlyph();let r2=new It(this.cff);this.seacs=this.cff.seacs;try{this.data=r2.compile()}catch(n3){warn$1(`Failed to compile font "${t2.loadedName}": "${n3}".`),e2.reset(),this.data=e2.getBytes()}this._createBuiltInEncoding()}get numGlyphs(){return this.cff.charStrings.count}getCharset(){return this.cff.charset.charset}getGlyphMapping(){let e2=this.cff,t2=this.properties,{cidToGidMap:n2,cMap:r2}=t2,i2=e2.charset.charset,a2,o2;if(t2.composite){let t3;if(n2?.length>0){t3=Object.create(null);for(let e3=0,r3=n2.length;e3<r3;e3++){let r4=n2[e3];r4!==void 0&&(t3[r4]=e3)}}a2=Object.create(null);let s3;if(e2.isCIDFont)for(o2=0;o2<i2.length;o2++){let e3=i2[o2];s3=r2.charCodeOf(e3),t3?.[s3]!==void 0&&(s3=t3[s3]),a2[s3]=o2}else for(o2=0;o2<e2.charStrings.count;o2++)s3=r2.charCodeOf(o2),a2[s3]=o2;return a2}let s2=e2.encoding?e2.encoding.encoding:null;return t2.isInternalFont&&(s2=t2.defaultEncoding),a2=type1FontGlyphMapping(t2,s2,i2),a2}hasGlyphId(e2){return this.cff.hasGlyphId(e2)}_createBuiltInEncoding(){let{charset:e2,encoding:t2}=this.cff;if(!e2||!t2)return;let n2=e2.charset,r2=t2.encoding,i2=[];for(let e3 in r2){let t3=r2[e3];if(t3>=0){let r3=n2[t3];r3&&(i2[e3]=r3)}}i2.length>0&&(this.properties.builtInEncoding=i2)}};function getFloat214(e2,t2){return e2.getInt16(t2)/16384}function getSubroutineBias(e2){let t2=e2.length;return t2>=33900?32768:t2<1240?107:1131}function parseCmap(e2,t2,n2){let r2=new DataView(e2.buffer,e2.byteOffset,e2.byteLength),i2=r2.getUint16(t2+2)===1?r2.getUint32(t2+8):r2.getUint32(t2+16),a2=r2.getUint16(t2+i2),o2,s2,c2;if(a2===4){let e3=r2.getUint16(t2+i2+6)>>1;for(s2=t2+i2+14,o2=[],c2=0;c2<e3;c2++,s2+=2)o2[c2]={end:r2.getUint16(s2)};for(s2+=2,c2=0;c2<e3;c2++,s2+=2)o2[c2].start=r2.getUint16(s2);for(c2=0;c2<e3;c2++,s2+=2)o2[c2].idDelta=r2.getUint16(s2);for(c2=0;c2<e3;c2++,s2+=2){let e4=r2.getUint16(s2);if(e4!==0){o2[c2].ids=[];for(let t3=0,n3=o2[c2].end-o2[c2].start+1;t3<n3;t3++)o2[c2].ids[t3]=r2.getUint16(s2+e4),e4+=2}}return o2}else if(a2===12){let e3=r2.getUint32(t2+i2+12);for(s2=t2+i2+16,o2=[],c2=0;c2<e3;c2++)t2=r2.getUint32(s2),o2.push({start:t2,end:r2.getUint32(s2+4),idDelta:r2.getUint32(s2+8)-t2}),s2+=12;return o2}throw new FormatError$1(`unsupported cmap: ${a2}`)}function parseCff(e2,t2,n2,r2){let i2=new CFFParser(new Ee(e2,t2,n2-t2),{},r2).parse();return{glyphs:i2.charStrings.objects,subrs:i2.topDict.privateDict?.subrsIndex?.objects,gsubrs:i2.globalSubrIndex?.objects,isCFFCIDFont:i2.isCIDFont,fdSelect:i2.fdSelect,fdArray:i2.fdArray}}function parseGlyfTable(e2,t2,n2){let r2=new DataView(t2.buffer,t2.byteOffset,t2.byteLength),i2,itemDecode;n2?(i2=4,itemDecode=(e3,t3)=>e3.getUint32(t3)):(i2=2,itemDecode=(e3,t3)=>2*e3.getUint16(t3));let a2=[],o2=itemDecode(r2,0);for(let n3=i2;n3<t2.length;n3+=i2){let t3=itemDecode(r2,n3);a2.push(e2.subarray(o2,t3)),o2=t3}return a2}function lookupCmap(e2,t2){let n2=t2.codePointAt(0),r2=0,i2=0,a2=e2.length-1;for(;i2<a2;){let t3=i2+a2+1>>1;n2<e2[t3].start?a2=t3-1:i2=t3}return e2[i2].start<=n2&&n2<=e2[i2].end&&(r2=e2[i2].idDelta+(e2[i2].ids?e2[i2].ids[n2-e2[i2].start]:n2)&65535),{charCode:n2,glyphId:r2}}function compileGlyf(e2,t2,n2,r2=new Set){if(!e2?.length)return;if(r2.has(e2)){warn$1("compileGlyf: skipping recursive composite glyph reference.");return}r2.add(e2);function moveTo(e3,n3){c2&&t2.add(E.lineTo,c2),c2=[e3,n3],t2.add(E.moveTo,[e3,n3])}function lineTo(e3,n3){t2.add(E.lineTo,[e3,n3])}function quadraticCurveTo(e3,n3,r3,i3){t2.add(E.quadraticCurveTo,[e3,n3,r3,i3])}let i2=new DataView(e2.buffer,e2.byteOffset,e2.byteLength),a2=0,o2=i2.getInt16(a2),s2,c2=null,l2=0,u2=0;if(a2+=10,o2<0)do{s2=i2.getUint16(a2);let o3=i2.getUint16(a2+2);a2+=4;let c3,d2;s2&1?(s2&2?(c3=i2.getInt16(a2),d2=i2.getInt16(a2+2)):(c3=i2.getUint16(a2),d2=i2.getUint16(a2+2)),a2+=4):s2&2?(c3=i2.getInt8(a2++),d2=i2.getInt8(a2++)):(c3=e2[a2++],d2=e2[a2++]),s2&2?(l2=c3,u2=d2):(l2=0,u2=0);let f2=1,p2=1,m2=0,h2=0;s2&8?(f2=p2=getFloat214(i2,a2),a2+=2):s2&64?(f2=getFloat214(i2,a2),p2=getFloat214(i2,a2+2),a2+=4):s2&128&&(f2=getFloat214(i2,a2),m2=getFloat214(i2,a2+2),h2=getFloat214(i2,a2+4),p2=getFloat214(i2,a2+6),a2+=8);let g2=n2.glyphs[o3];g2&&(t2.save(),t2.transform([f2,m2,h2,p2,l2,u2]),s2&2,compileGlyf(g2,t2,n2,r2),t2.restore())}while(s2&32);else{let t3=[],n3,r3;for(n3=0;n3<o2;n3++)t3.push(i2.getUint16(a2)),a2+=2;let c3=i2.getUint16(a2);a2+=2+c3;let d2=t3.at(-1)+1,f2=[];for(;f2.length<d2;){s2=e2[a2++];let t4=1;for(s2&8&&(t4+=e2[a2++]);t4-- >0;)f2.push({flags:s2})}for(n3=0;n3<d2;n3++){switch(f2[n3].flags&18){case 0:l2+=i2.getInt16(a2),a2+=2;break;case 2:l2-=e2[a2++];break;case 18:l2+=e2[a2++];break}f2[n3].x=l2}for(n3=0;n3<d2;n3++){switch(f2[n3].flags&36){case 0:u2+=i2.getInt16(a2),a2+=2;break;case 4:u2-=e2[a2++];break;case 36:u2+=e2[a2++];break}f2[n3].y=u2}let p2=0;for(a2=0;a2<o2;a2++){let e3=t3[a2],i3=f2.slice(p2,e3+1);if(i3[0].flags&1)i3.push(i3[0]);else if(i3.at(-1).flags&1)i3.unshift(i3.at(-1));else{let e4={flags:1,x:(i3[0].x+i3.at(-1).x)/2,y:(i3[0].y+i3.at(-1).y)/2};i3.unshift(e4),i3.push(e4)}for(moveTo(i3[0].x,i3[0].y),n3=1,r3=i3.length;n3<r3;n3++)i3[n3].flags&1?lineTo(i3[n3].x,i3[n3].y):i3[n3+1].flags&1?(quadraticCurveTo(i3[n3].x,i3[n3].y,i3[n3+1].x,i3[n3+1].y),n3++):quadraticCurveTo(i3[n3].x,i3[n3].y,(i3[n3].x+i3[n3+1].x)/2,(i3[n3].y+i3[n3+1].y)/2);p2=e3+1}}r2.delete(e2)}function compileCharString(e2,t2,n2,r2){function moveTo(e3,n3){c2&&t2.add(E.lineTo,c2),c2=[e3,n3],t2.add(E.moveTo,[e3,n3])}function lineTo(e3,n3){t2.add(E.lineTo,[e3,n3])}function bezierCurveTo(e3,n3,r3,i3,a3,o3){t2.add(E.curveTo,[e3,n3,r3,i3,a3,o3])}let i2=[],a2=0,o2=0,s2=0,c2=null;function parse(e3){let c3=new DataView(e3.buffer,e3.byteOffset,e3.byteLength),l2=0;for(;l2<e3.length;){let u2=!1,d2=e3[l2++],f2,p2,m2,h2,g2,_2,v2,y2,b2;switch(d2){case 1:s2+=i2.length>>1,u2=!0;break;case 3:s2+=i2.length>>1,u2=!0;break;case 4:o2+=i2.pop(),moveTo(a2,o2),u2=!0;break;case 5:for(;i2.length>0;)a2+=i2.shift(),o2+=i2.shift(),lineTo(a2,o2);break;case 6:for(;i2.length>0&&(a2+=i2.shift(),lineTo(a2,o2),i2.length!==0);)o2+=i2.shift(),lineTo(a2,o2);break;case 7:for(;i2.length>0&&(o2+=i2.shift(),lineTo(a2,o2),i2.length!==0);)a2+=i2.shift(),lineTo(a2,o2);break;case 8:for(;i2.length>0;)f2=a2+i2.shift(),m2=o2+i2.shift(),p2=f2+i2.shift(),h2=m2+i2.shift(),a2=p2+i2.shift(),o2=h2+i2.shift(),bezierCurveTo(f2,m2,p2,h2,a2,o2);break;case 10:if(y2=i2.pop(),b2=null,n2.isCFFCIDFont){let e4=n2.fdSelect.getFDIndex(r2);if(e4>=0&&e4<n2.fdArray.length){let t3=n2.fdArray[e4],r3;t3.privateDict?.subrsIndex&&(r3=t3.privateDict.subrsIndex.objects),r3&&(y2+=getSubroutineBias(r3),b2=r3[y2])}else warn$1("Invalid fd index for glyph index.")}else b2=n2.subrs[y2+n2.subrsBias];b2&&parse(b2);break;case 11:return;case 12:switch(d2=e3[l2++],d2){case 34:f2=a2+i2.shift(),p2=f2+i2.shift(),g2=o2+i2.shift(),a2=p2+i2.shift(),bezierCurveTo(f2,o2,p2,g2,a2,g2),f2=a2+i2.shift(),p2=f2+i2.shift(),a2=p2+i2.shift(),bezierCurveTo(f2,g2,p2,o2,a2,o2);break;case 35:f2=a2+i2.shift(),m2=o2+i2.shift(),p2=f2+i2.shift(),h2=m2+i2.shift(),a2=p2+i2.shift(),o2=h2+i2.shift(),bezierCurveTo(f2,m2,p2,h2,a2,o2),f2=a2+i2.shift(),m2=o2+i2.shift(),p2=f2+i2.shift(),h2=m2+i2.shift(),a2=p2+i2.shift(),o2=h2+i2.shift(),bezierCurveTo(f2,m2,p2,h2,a2,o2),i2.pop();break;case 36:f2=a2+i2.shift(),g2=o2+i2.shift(),p2=f2+i2.shift(),_2=g2+i2.shift(),a2=p2+i2.shift(),bezierCurveTo(f2,g2,p2,_2,a2,_2),f2=a2+i2.shift(),p2=f2+i2.shift(),v2=_2+i2.shift(),a2=p2+i2.shift(),bezierCurveTo(f2,_2,p2,v2,a2,o2);break;case 37:let e4=a2,t3=o2;f2=a2+i2.shift(),m2=o2+i2.shift(),p2=f2+i2.shift(),h2=m2+i2.shift(),a2=p2+i2.shift(),o2=h2+i2.shift(),bezierCurveTo(f2,m2,p2,h2,a2,o2),f2=a2+i2.shift(),m2=o2+i2.shift(),p2=f2+i2.shift(),h2=m2+i2.shift(),a2=p2,o2=h2,Math.abs(a2-e4)>Math.abs(o2-t3)?a2+=i2.shift():o2+=i2.shift(),bezierCurveTo(f2,m2,p2,h2,a2,o2);break;default:throw new FormatError$1(`unknown operator: 12 ${d2}`)}break;case 14:if(i2.length>=4){let e4=i2.pop(),r3=i2.pop();o2=i2.pop(),a2=i2.pop(),t2.save(),t2.translate(a2,o2);let s3=lookupCmap(n2.cmap,String.fromCharCode(n2.glyphNameMap[lt[e4]]));compileCharString(n2.glyphs[s3.glyphId],t2,n2,s3.glyphId),t2.restore(),s3=lookupCmap(n2.cmap,String.fromCharCode(n2.glyphNameMap[lt[r3]])),compileCharString(n2.glyphs[s3.glyphId],t2,n2,s3.glyphId)}return;case 18:s2+=i2.length>>1,u2=!0;break;case 19:s2+=i2.length>>1,l2+=s2+7>>3,u2=!0;break;case 20:s2+=i2.length>>1,l2+=s2+7>>3,u2=!0;break;case 21:o2+=i2.pop(),a2+=i2.pop(),moveTo(a2,o2),u2=!0;break;case 22:a2+=i2.pop(),moveTo(a2,o2),u2=!0;break;case 23:s2+=i2.length>>1,u2=!0;break;case 24:for(;i2.length>2;)f2=a2+i2.shift(),m2=o2+i2.shift(),p2=f2+i2.shift(),h2=m2+i2.shift(),a2=p2+i2.shift(),o2=h2+i2.shift(),bezierCurveTo(f2,m2,p2,h2,a2,o2);a2+=i2.shift(),o2+=i2.shift(),lineTo(a2,o2);break;case 25:for(;i2.length>6;)a2+=i2.shift(),o2+=i2.shift(),lineTo(a2,o2);f2=a2+i2.shift(),m2=o2+i2.shift(),p2=f2+i2.shift(),h2=m2+i2.shift(),a2=p2+i2.shift(),o2=h2+i2.shift(),bezierCurveTo(f2,m2,p2,h2,a2,o2);break;case 26:for(i2.length%2&&(a2+=i2.shift());i2.length>0;)f2=a2,m2=o2+i2.shift(),p2=f2+i2.shift(),h2=m2+i2.shift(),a2=p2,o2=h2+i2.shift(),bezierCurveTo(f2,m2,p2,h2,a2,o2);break;case 27:for(i2.length%2&&(o2+=i2.shift());i2.length>0;)f2=a2+i2.shift(),m2=o2,p2=f2+i2.shift(),h2=m2+i2.shift(),a2=p2+i2.shift(),o2=h2,bezierCurveTo(f2,m2,p2,h2,a2,o2);break;case 28:i2.push(c3.getInt16(l2)),l2+=2;break;case 29:y2=i2.pop()+n2.gsubrsBias,b2=n2.gsubrs[y2],b2&&parse(b2);break;case 30:for(;i2.length>0&&(f2=a2,m2=o2+i2.shift(),p2=f2+i2.shift(),h2=m2+i2.shift(),a2=p2+i2.shift(),o2=h2+(i2.length===1?i2.shift():0),bezierCurveTo(f2,m2,p2,h2,a2,o2),i2.length!==0);)f2=a2+i2.shift(),m2=o2,p2=f2+i2.shift(),h2=m2+i2.shift(),o2=h2+i2.shift(),a2=p2+(i2.length===1?i2.shift():0),bezierCurveTo(f2,m2,p2,h2,a2,o2);break;case 31:for(;i2.length>0&&(f2=a2+i2.shift(),m2=o2,p2=f2+i2.shift(),h2=m2+i2.shift(),o2=h2+i2.shift(),a2=p2+(i2.length===1?i2.shift():0),bezierCurveTo(f2,m2,p2,h2,a2,o2),i2.length!==0);)f2=a2,m2=o2+i2.shift(),p2=f2+i2.shift(),h2=m2+i2.shift(),a2=p2+i2.shift(),o2=h2+(i2.length===1?i2.shift():0),bezierCurveTo(f2,m2,p2,h2,a2,o2);break;default:if(d2<32)throw new FormatError$1(`unknown operator: ${d2}`);d2<247?i2.push(d2-139):d2<251?i2.push((d2-247)*256+e3[l2++]+108):d2<255?i2.push(-(d2-251)*256-e3[l2++]-108):(i2.push(c3.getInt32(l2)/65536),l2+=4);break}u2&&(i2.length=0)}}parse(e2)}var Commands=class{cmds=[];transformStack=[];currentTransform=[1,0,0,1,0,0];add(e2,t2){if(t2){let{currentTransform:n2}=this;for(let e3=0,r2=t2.length;e3<r2;e3+=2)Util$1.applyTransform(t2,n2,e3);this.cmds.push(e2,...t2)}else this.cmds.push(e2)}transform(e2){this.currentTransform=Util$1.transform(this.currentTransform,e2)}translate(e2,t2){this.transform([1,0,0,1,e2,t2])}save(){this.transformStack.push(this.currentTransform.slice())}restore(){this.currentTransform=this.transformStack.pop()||[1,0,0,1,0,0]}getPath(){return FeatureTest$1.isFloat16ArraySupported?new Float16Array(this.cmds):new Float32Array(this.cmds)}},Yt=class CompiledFont{constructor(e2){this.fontMatrix=e2,this.compiledGlyphs=Object.create(null),this.compiledCharCodeToGlyphId=Object.create(null)}static get NOOP(){return shadow$1(this,"NOOP",FeatureTest$1.isFloat16ArraySupported?new Float16Array(0):new Float32Array)}getPathJs(e2){let{charCode:t2,glyphId:n2}=lookupCmap(this.cmap,e2),r2=this.compiledGlyphs[n2],i2;if(r2===void 0){try{r2=this.compileGlyph(this.glyphs[n2],n2)}catch(e3){r2=CompiledFont.NOOP,i2=e3}this.compiledGlyphs[n2]=r2}if(this.compiledCharCodeToGlyphId[t2]??=n2,i2)throw i2;return r2}compileGlyph(e2,t2){if(!e2?.length||e2[0]===14)return CompiledFont.NOOP;let n2=this.fontMatrix;if(this.isCFFCIDFont){let e3=this.fdSelect.getFDIndex(t2);e3>=0&&e3<this.fdArray.length?n2=this.fdArray[e3].getByName("FontMatrix")||r:warn$1("Invalid fd index for glyph index.")}assert$1(isNumberArray(n2,6),"Expected a valid fontMatrix.");let i2=new Commands;return i2.transform(n2.slice()),this.compileGlyphImpl(e2,i2,t2),i2.add(E.closePath),i2.getPath()}compileGlyphImpl(){unreachable$1("Children classes should implement this.")}hasBuiltPath(e2){let{charCode:t2,glyphId:n2}=lookupCmap(this.cmap,e2);return this.compiledGlyphs[n2]!==void 0&&this.compiledCharCodeToGlyphId[t2]!==void 0}},TrueTypeCompiled=class extends Yt{constructor(e2,t2,n2){super(n2||[488e-6,0,0,488e-6,0,0]),this.glyphs=e2,this.cmap=t2}compileGlyphImpl(e2,t2){compileGlyf(e2,t2,this)}},Type2Compiled=class extends Yt{constructor(e2,t2,n2){super(n2||[.001,0,0,.001,0,0]),this.glyphs=e2.glyphs,this.gsubrs=e2.gsubrs||[],this.subrs=e2.subrs||[],this.cmap=t2,this.glyphNameMap=pt(),this.gsubrsBias=getSubroutineBias(this.gsubrs),this.subrsBias=getSubroutineBias(this.subrs),this.isCFFCIDFont=e2.isCFFCIDFont,this.fdSelect=e2.fdSelect,this.fdArray=e2.fdArray}compileGlyphImpl(e2,t2,n2){compileCharString(e2,t2,this,n2)}},FontRendererFactory=class{static create(e2,t2){let n2=new Uint8Array(e2.data),r2=new DataView(n2.buffer),i2,a2,o2,s2,c2,l2,u2=r2.getUint16(4);for(let e3=0,d2=12;e3<u2;e3++,d2+=16){let e4=bytesToString$1(n2.subarray(d2,d2+4)),u3=r2.getUint32(d2+8),f2=r2.getUint32(d2+12);switch(e4){case"cmap":i2=parseCmap(n2,u3,u3+f2);break;case"glyf":a2=n2.subarray(u3,u3+f2);break;case"loca":o2=n2.subarray(u3,u3+f2);break;case"head":l2=r2.getUint16(u3+18),c2=r2.getUint16(u3+50);break;case"CFF ":s2=parseCff(n2,u3,u3+f2,t2);break}}if(a2){let t3=l2?[1/l2,0,0,1/l2,0,0]:e2.fontMatrix;return new TrueTypeCompiled(parseGlyfTable(a2,o2,c2),i2,t3)}return new Type2Compiled(s2,i2,e2.fontMatrix)}},Xt=getLookupTableFactory(function(e2){e2.Courier=600,e2["Courier-Bold"]=600,e2["Courier-BoldOblique"]=600,e2["Courier-Oblique"]=600,e2.Helvetica=getLookupTableFactory(function(e3){e3.space=278,e3.exclam=278,e3.quotedbl=355,e3.numbersign=556,e3.dollar=556,e3.percent=889,e3.ampersand=667,e3.quoteright=222,e3.parenleft=333,e3.parenright=333,e3.asterisk=389,e3.plus=584,e3.comma=278,e3.hyphen=333,e3.period=278,e3.slash=278,e3.zero=556,e3.one=556,e3.two=556,e3.three=556,e3.four=556,e3.five=556,e3.six=556,e3.seven=556,e3.eight=556,e3.nine=556,e3.colon=278,e3.semicolon=278,e3.less=584,e3.equal=584,e3.greater=584,e3.question=556,e3.at=1015,e3.A=667,e3.B=667,e3.C=722,e3.D=722,e3.E=667,e3.F=611,e3.G=778,e3.H=722,e3.I=278,e3.J=500,e3.K=667,e3.L=556,e3.M=833,e3.N=722,e3.O=778,e3.P=667,e3.Q=778,e3.R=722,e3.S=667,e3.T=611,e3.U=722,e3.V=667,e3.W=944,e3.X=667,e3.Y=667,e3.Z=611,e3.bracketleft=278,e3.backslash=278,e3.bracketright=278,e3.asciicircum=469,e3.underscore=556,e3.quoteleft=222,e3.a=556,e3.b=556,e3.c=500,e3.d=556,e3.e=556,e3.f=278,e3.g=556,e3.h=556,e3.i=222,e3.j=222,e3.k=500,e3.l=222,e3.m=833,e3.n=556,e3.o=556,e3.p=556,e3.q=556,e3.r=333,e3.s=500,e3.t=278,e3.u=556,e3.v=500,e3.w=722,e3.x=500,e3.y=500,e3.z=500,e3.braceleft=334,e3.bar=260,e3.braceright=334,e3.asciitilde=584,e3.exclamdown=333,e3.cent=556,e3.sterling=556,e3.fraction=167,e3.yen=556,e3.florin=556,e3.section=556,e3.currency=556,e3.quotesingle=191,e3.quotedblleft=333,e3.guillemotleft=556,e3.guilsinglleft=333,e3.guilsinglright=333,e3.fi=500,e3.fl=500,e3.endash=556,e3.dagger=556,e3.daggerdbl=556,e3.periodcentered=278,e3.paragraph=537,e3.bullet=350,e3.quotesinglbase=222,e3.quotedblbase=333,e3.quotedblright=333,e3.guillemotright=556,e3.ellipsis=1e3,e3.perthousand=1e3,e3.questiondown=611,e3.grave=333,e3.acute=333,e3.circumflex=333,e3.tilde=333,e3.macron=333,e3.breve=333,e3.dotaccent=333,e3.dieresis=333,e3.ring=333,e3.cedilla=333,e3.hungarumlaut=333,e3.ogonek=333,e3.caron=333,e3.emdash=1e3,e3.AE=1e3,e3.ordfeminine=370,e3.Lslash=556,e3.Oslash=778,e3.OE=1e3,e3.ordmasculine=365,e3.ae=889,e3.dotlessi=278,e3.lslash=222,e3.oslash=611,e3.oe=944,e3.germandbls=611,e3.Idieresis=278,e3.eacute=556,e3.abreve=556,e3.uhungarumlaut=556,e3.ecaron=556,e3.Ydieresis=667,e3.divide=584,e3.Yacute=667,e3.Acircumflex=667,e3.aacute=556,e3.Ucircumflex=722,e3.yacute=500,e3.scommaaccent=500,e3.ecircumflex=556,e3.Uring=722,e3.Udieresis=722,e3.aogonek=556,e3.Uacute=722,e3.uogonek=556,e3.Edieresis=667,e3.Dcroat=722,e3.commaaccent=250,e3.copyright=737,e3.Emacron=667,e3.ccaron=500,e3.aring=556,e3.Ncommaaccent=722,e3.lacute=222,e3.agrave=556,e3.Tcommaaccent=611,e3.Cacute=722,e3.atilde=556,e3.Edotaccent=667,e3.scaron=500,e3.scedilla=500,e3.iacute=278,e3.lozenge=471,e3.Rcaron=722,e3.Gcommaaccent=778,e3.ucircumflex=556,e3.acircumflex=556,e3.Amacron=667,e3.rcaron=333,e3.ccedilla=500,e3.Zdotaccent=611,e3.Thorn=667,e3.Omacron=778,e3.Racute=722,e3.Sacute=667,e3.dcaron=643,e3.Umacron=722,e3.uring=556,e3.threesuperior=333,e3.Ograve=778,e3.Agrave=667,e3.Abreve=667,e3.multiply=584,e3.uacute=556,e3.Tcaron=611,e3.partialdiff=476,e3.ydieresis=500,e3.Nacute=722,e3.icircumflex=278,e3.Ecircumflex=667,e3.adieresis=556,e3.edieresis=556,e3.cacute=500,e3.nacute=556,e3.umacron=556,e3.Ncaron=722,e3.Iacute=278,e3.plusminus=584,e3.brokenbar=260,e3.registered=737,e3.Gbreve=778,e3.Idotaccent=278,e3.summation=600,e3.Egrave=667,e3.racute=333,e3.omacron=556,e3.Zacute=611,e3.Zcaron=611,e3.greaterequal=549,e3.Eth=722,e3.Ccedilla=722,e3.lcommaaccent=222,e3.tcaron=317,e3.eogonek=556,e3.Uogonek=722,e3.Aacute=667,e3.Adieresis=667,e3.egrave=556,e3.zacute=500,e3.iogonek=222,e3.Oacute=778,e3.oacute=556,e3.amacron=556,e3.sacute=500,e3.idieresis=278,e3.Ocircumflex=778,e3.Ugrave=722,e3.Delta=612,e3.thorn=556,e3.twosuperior=333,e3.Odieresis=778,e3.mu=556,e3.igrave=278,e3.ohungarumlaut=556,e3.Eogonek=667,e3.dcroat=556,e3.threequarters=834,e3.Scedilla=667,e3.lcaron=299,e3.Kcommaaccent=667,e3.Lacute=556,e3.trademark=1e3,e3.edotaccent=556,e3.Igrave=278,e3.Imacron=278,e3.Lcaron=556,e3.onehalf=834,e3.lessequal=549,e3.ocircumflex=556,e3.ntilde=556,e3.Uhungarumlaut=722,e3.Eacute=667,e3.emacron=556,e3.gbreve=556,e3.onequarter=834,e3.Scaron=667,e3.Scommaaccent=667,e3.Ohungarumlaut=778,e3.degree=400,e3.ograve=556,e3.Ccaron=722,e3.ugrave=556,e3.radical=453,e3.Dcaron=722,e3.rcommaaccent=333,e3.Ntilde=722,e3.otilde=556,e3.Rcommaaccent=722,e3.Lcommaaccent=556,e3.Atilde=667,e3.Aogonek=667,e3.Aring=667,e3.Otilde=778,e3.zdotaccent=500,e3.Ecaron=667,e3.Iogonek=278,e3.kcommaaccent=500,e3.minus=584,e3.Icircumflex=278,e3.ncaron=556,e3.tcommaaccent=278,e3.logicalnot=584,e3.odieresis=556,e3.udieresis=556,e3.notequal=549,e3.gcommaaccent=556,e3.eth=556,e3.zcaron=500,e3.ncommaaccent=556,e3.onesuperior=333,e3.imacron=278,e3.Euro=556}),e2["Helvetica-Bold"]=getLookupTableFactory(function(e3){e3.space=278,e3.exclam=333,e3.quotedbl=474,e3.numbersign=556,e3.dollar=556,e3.percent=889,e3.ampersand=722,e3.quoteright=278,e3.parenleft=333,e3.parenright=333,e3.asterisk=389,e3.plus=584,e3.comma=278,e3.hyphen=333,e3.period=278,e3.slash=278,e3.zero=556,e3.one=556,e3.two=556,e3.three=556,e3.four=556,e3.five=556,e3.six=556,e3.seven=556,e3.eight=556,e3.nine=556,e3.colon=333,e3.semicolon=333,e3.less=584,e3.equal=584,e3.greater=584,e3.question=611,e3.at=975,e3.A=722,e3.B=722,e3.C=722,e3.D=722,e3.E=667,e3.F=611,e3.G=778,e3.H=722,e3.I=278,e3.J=556,e3.K=722,e3.L=611,e3.M=833,e3.N=722,e3.O=778,e3.P=667,e3.Q=778,e3.R=722,e3.S=667,e3.T=611,e3.U=722,e3.V=667,e3.W=944,e3.X=667,e3.Y=667,e3.Z=611,e3.bracketleft=333,e3.backslash=278,e3.bracketright=333,e3.asciicircum=584,e3.underscore=556,e3.quoteleft=278,e3.a=556,e3.b=611,e3.c=556,e3.d=611,e3.e=556,e3.f=333,e3.g=611,e3.h=611,e3.i=278,e3.j=278,e3.k=556,e3.l=278,e3.m=889,e3.n=611,e3.o=611,e3.p=611,e3.q=611,e3.r=389,e3.s=556,e3.t=333,e3.u=611,e3.v=556,e3.w=778,e3.x=556,e3.y=556,e3.z=500,e3.braceleft=389,e3.bar=280,e3.braceright=389,e3.asciitilde=584,e3.exclamdown=333,e3.cent=556,e3.sterling=556,e3.fraction=167,e3.yen=556,e3.florin=556,e3.section=556,e3.currency=556,e3.quotesingle=238,e3.quotedblleft=500,e3.guillemotleft=556,e3.guilsinglleft=333,e3.guilsinglright=333,e3.fi=611,e3.fl=611,e3.endash=556,e3.dagger=556,e3.daggerdbl=556,e3.periodcentered=278,e3.paragraph=556,e3.bullet=350,e3.quotesinglbase=278,e3.quotedblbase=500,e3.quotedblright=500,e3.guillemotright=556,e3.ellipsis=1e3,e3.perthousand=1e3,e3.questiondown=611,e3.grave=333,e3.acute=333,e3.circumflex=333,e3.tilde=333,e3.macron=333,e3.breve=333,e3.dotaccent=333,e3.dieresis=333,e3.ring=333,e3.cedilla=333,e3.hungarumlaut=333,e3.ogonek=333,e3.caron=333,e3.emdash=1e3,e3.AE=1e3,e3.ordfeminine=370,e3.Lslash=611,e3.Oslash=778,e3.OE=1e3,e3.ordmasculine=365,e3.ae=889,e3.dotlessi=278,e3.lslash=278,e3.oslash=611,e3.oe=944,e3.germandbls=611,e3.Idieresis=278,e3.eacute=556,e3.abreve=556,e3.uhungarumlaut=611,e3.ecaron=556,e3.Ydieresis=667,e3.divide=584,e3.Yacute=667,e3.Acircumflex=722,e3.aacute=556,e3.Ucircumflex=722,e3.yacute=556,e3.scommaaccent=556,e3.ecircumflex=556,e3.Uring=722,e3.Udieresis=722,e3.aogonek=556,e3.Uacute=722,e3.uogonek=611,e3.Edieresis=667,e3.Dcroat=722,e3.commaaccent=250,e3.copyright=737,e3.Emacron=667,e3.ccaron=556,e3.aring=556,e3.Ncommaaccent=722,e3.lacute=278,e3.agrave=556,e3.Tcommaaccent=611,e3.Cacute=722,e3.atilde=556,e3.Edotaccent=667,e3.scaron=556,e3.scedilla=556,e3.iacute=278,e3.lozenge=494,e3.Rcaron=722,e3.Gcommaaccent=778,e3.ucircumflex=611,e3.acircumflex=556,e3.Amacron=722,e3.rcaron=389,e3.ccedilla=556,e3.Zdotaccent=611,e3.Thorn=667,e3.Omacron=778,e3.Racute=722,e3.Sacute=667,e3.dcaron=743,e3.Umacron=722,e3.uring=611,e3.threesuperior=333,e3.Ograve=778,e3.Agrave=722,e3.Abreve=722,e3.multiply=584,e3.uacute=611,e3.Tcaron=611,e3.partialdiff=494,e3.ydieresis=556,e3.Nacute=722,e3.icircumflex=278,e3.Ecircumflex=667,e3.adieresis=556,e3.edieresis=556,e3.cacute=556,e3.nacute=611,e3.umacron=611,e3.Ncaron=722,e3.Iacute=278,e3.plusminus=584,e3.brokenbar=280,e3.registered=737,e3.Gbreve=778,e3.Idotaccent=278,e3.summation=600,e3.Egrave=667,e3.racute=389,e3.omacron=611,e3.Zacute=611,e3.Zcaron=611,e3.greaterequal=549,e3.Eth=722,e3.Ccedilla=722,e3.lcommaaccent=278,e3.tcaron=389,e3.eogonek=556,e3.Uogonek=722,e3.Aacute=722,e3.Adieresis=722,e3.egrave=556,e3.zacute=500,e3.iogonek=278,e3.Oacute=778,e3.oacute=611,e3.amacron=556,e3.sacute=556,e3.idieresis=278,e3.Ocircumflex=778,e3.Ugrave=722,e3.Delta=612,e3.thorn=611,e3.twosuperior=333,e3.Odieresis=778,e3.mu=611,e3.igrave=278,e3.ohungarumlaut=611,e3.Eogonek=667,e3.dcroat=611,e3.threequarters=834,e3.Scedilla=667,e3.lcaron=400,e3.Kcommaaccent=722,e3.Lacute=611,e3.trademark=1e3,e3.edotaccent=556,e3.Igrave=278,e3.Imacron=278,e3.Lcaron=611,e3.onehalf=834,e3.lessequal=549,e3.ocircumflex=611,e3.ntilde=611,e3.Uhungarumlaut=722,e3.Eacute=667,e3.emacron=556,e3.gbreve=611,e3.onequarter=834,e3.Scaron=667,e3.Scommaaccent=667,e3.Ohungarumlaut=778,e3.degree=400,e3.ograve=611,e3.Ccaron=722,e3.ugrave=611,e3.radical=549,e3.Dcaron=722,e3.rcommaaccent=389,e3.Ntilde=722,e3.otilde=611,e3.Rcommaaccent=722,e3.Lcommaaccent=611,e3.Atilde=722,e3.Aogonek=722,e3.Aring=722,e3.Otilde=778,e3.zdotaccent=500,e3.Ecaron=667,e3.Iogonek=278,e3.kcommaaccent=556,e3.minus=584,e3.Icircumflex=278,e3.ncaron=611,e3.tcommaaccent=333,e3.logicalnot=584,e3.odieresis=611,e3.udieresis=611,e3.notequal=549,e3.gcommaaccent=611,e3.eth=611,e3.zcaron=500,e3.ncommaaccent=611,e3.onesuperior=333,e3.imacron=278,e3.Euro=556}),e2["Helvetica-BoldOblique"]=getLookupTableFactory(function(e3){e3.space=278,e3.exclam=333,e3.quotedbl=474,e3.numbersign=556,e3.dollar=556,e3.percent=889,e3.ampersand=722,e3.quoteright=278,e3.parenleft=333,e3.parenright=333,e3.asterisk=389,e3.plus=584,e3.comma=278,e3.hyphen=333,e3.period=278,e3.slash=278,e3.zero=556,e3.one=556,e3.two=556,e3.three=556,e3.four=556,e3.five=556,e3.six=556,e3.seven=556,e3.eight=556,e3.nine=556,e3.colon=333,e3.semicolon=333,e3.less=584,e3.equal=584,e3.greater=584,e3.question=611,e3.at=975,e3.A=722,e3.B=722,e3.C=722,e3.D=722,e3.E=667,e3.F=611,e3.G=778,e3.H=722,e3.I=278,e3.J=556,e3.K=722,e3.L=611,e3.M=833,e3.N=722,e3.O=778,e3.P=667,e3.Q=778,e3.R=722,e3.S=667,e3.T=611,e3.U=722,e3.V=667,e3.W=944,e3.X=667,e3.Y=667,e3.Z=611,e3.bracketleft=333,e3.backslash=278,e3.bracketright=333,e3.asciicircum=584,e3.underscore=556,e3.quoteleft=278,e3.a=556,e3.b=611,e3.c=556,e3.d=611,e3.e=556,e3.f=333,e3.g=611,e3.h=611,e3.i=278,e3.j=278,e3.k=556,e3.l=278,e3.m=889,e3.n=611,e3.o=611,e3.p=611,e3.q=611,e3.r=389,e3.s=556,e3.t=333,e3.u=611,e3.v=556,e3.w=778,e3.x=556,e3.y=556,e3.z=500,e3.braceleft=389,e3.bar=280,e3.braceright=389,e3.asciitilde=584,e3.exclamdown=333,e3.cent=556,e3.sterling=556,e3.fraction=167,e3.yen=556,e3.florin=556,e3.section=556,e3.currency=556,e3.quotesingle=238,e3.quotedblleft=500,e3.guillemotleft=556,e3.guilsinglleft=333,e3.guilsinglright=333,e3.fi=611,e3.fl=611,e3.endash=556,e3.dagger=556,e3.daggerdbl=556,e3.periodcentered=278,e3.paragraph=556,e3.bullet=350,e3.quotesinglbase=278,e3.quotedblbase=500,e3.quotedblright=500,e3.guillemotright=556,e3.ellipsis=1e3,e3.perthousand=1e3,e3.questiondown=611,e3.grave=333,e3.acute=333,e3.circumflex=333,e3.tilde=333,e3.macron=333,e3.breve=333,e3.dotaccent=333,e3.dieresis=333,e3.ring=333,e3.cedilla=333,e3.hungarumlaut=333,e3.ogonek=333,e3.caron=333,e3.emdash=1e3,e3.AE=1e3,e3.ordfeminine=370,e3.Lslash=611,e3.Oslash=778,e3.OE=1e3,e3.ordmasculine=365,e3.ae=889,e3.dotlessi=278,e3.lslash=278,e3.oslash=611,e3.oe=944,e3.germandbls=611,e3.Idieresis=278,e3.eacute=556,e3.abreve=556,e3.uhungarumlaut=611,e3.ecaron=556,e3.Ydieresis=667,e3.divide=584,e3.Yacute=667,e3.Acircumflex=722,e3.aacute=556,e3.Ucircumflex=722,e3.yacute=556,e3.scommaaccent=556,e3.ecircumflex=556,e3.Uring=722,e3.Udieresis=722,e3.aogonek=556,e3.Uacute=722,e3.uogonek=611,e3.Edieresis=667,e3.Dcroat=722,e3.commaaccent=250,e3.copyright=737,e3.Emacron=667,e3.ccaron=556,e3.aring=556,e3.Ncommaaccent=722,e3.lacute=278,e3.agrave=556,e3.Tcommaaccent=611,e3.Cacute=722,e3.atilde=556,e3.Edotaccent=667,e3.scaron=556,e3.scedilla=556,e3.iacute=278,e3.lozenge=494,e3.Rcaron=722,e3.Gcommaaccent=778,e3.ucircumflex=611,e3.acircumflex=556,e3.Amacron=722,e3.rcaron=389,e3.ccedilla=556,e3.Zdotaccent=611,e3.Thorn=667,e3.Omacron=778,e3.Racute=722,e3.Sacute=667,e3.dcaron=743,e3.Umacron=722,e3.uring=611,e3.threesuperior=333,e3.Ograve=778,e3.Agrave=722,e3.Abreve=722,e3.multiply=584,e3.uacute=611,e3.Tcaron=611,e3.partialdiff=494,e3.ydieresis=556,e3.Nacute=722,e3.icircumflex=278,e3.Ecircumflex=667,e3.adieresis=556,e3.edieresis=556,e3.cacute=556,e3.nacute=611,e3.umacron=611,e3.Ncaron=722,e3.Iacute=278,e3.plusminus=584,e3.brokenbar=280,e3.registered=737,e3.Gbreve=778,e3.Idotaccent=278,e3.summation=600,e3.Egrave=667,e3.racute=389,e3.omacron=611,e3.Zacute=611,e3.Zcaron=611,e3.greaterequal=549,e3.Eth=722,e3.Ccedilla=722,e3.lcommaaccent=278,e3.tcaron=389,e3.eogonek=556,e3.Uogonek=722,e3.Aacute=722,e3.Adieresis=722,e3.egrave=556,e3.zacute=500,e3.iogonek=278,e3.Oacute=778,e3.oacute=611,e3.amacron=556,e3.sacute=556,e3.idieresis=278,e3.Ocircumflex=778,e3.Ugrave=722,e3.Delta=612,e3.thorn=611,e3.twosuperior=333,e3.Odieresis=778,e3.mu=611,e3.igrave=278,e3.ohungarumlaut=611,e3.Eogonek=667,e3.dcroat=611,e3.threequarters=834,e3.Scedilla=667,e3.lcaron=400,e3.Kcommaaccent=722,e3.Lacute=611,e3.trademark=1e3,e3.edotaccent=556,e3.Igrave=278,e3.Imacron=278,e3.Lcaron=611,e3.onehalf=834,e3.lessequal=549,e3.ocircumflex=611,e3.ntilde=611,e3.Uhungarumlaut=722,e3.Eacute=667,e3.emacron=556,e3.gbreve=611,e3.onequarter=834,e3.Scaron=667,e3.Scommaaccent=667,e3.Ohungarumlaut=778,e3.degree=400,e3.ograve=611,e3.Ccaron=722,e3.ugrave=611,e3.radical=549,e3.Dcaron=722,e3.rcommaaccent=389,e3.Ntilde=722,e3.otilde=611,e3.Rcommaaccent=722,e3.Lcommaaccent=611,e3.Atilde=722,e3.Aogonek=722,e3.Aring=722,e3.Otilde=778,e3.zdotaccent=500,e3.Ecaron=667,e3.Iogonek=278,e3.kcommaaccent=556,e3.minus=584,e3.Icircumflex=278,e3.ncaron=611,e3.tcommaaccent=333,e3.logicalnot=584,e3.odieresis=611,e3.udieresis=611,e3.notequal=549,e3.gcommaaccent=611,e3.eth=611,e3.zcaron=500,e3.ncommaaccent=611,e3.onesuperior=333,e3.imacron=278,e3.Euro=556}),e2["Helvetica-Oblique"]=getLookupTableFactory(function(e3){e3.space=278,e3.exclam=278,e3.quotedbl=355,e3.numbersign=556,e3.dollar=556,e3.percent=889,e3.ampersand=667,e3.quoteright=222,e3.parenleft=333,e3.parenright=333,e3.asterisk=389,e3.plus=584,e3.comma=278,e3.hyphen=333,e3.period=278,e3.slash=278,e3.zero=556,e3.one=556,e3.two=556,e3.three=556,e3.four=556,e3.five=556,e3.six=556,e3.seven=556,e3.eight=556,e3.nine=556,e3.colon=278,e3.semicolon=278,e3.less=584,e3.equal=584,e3.greater=584,e3.question=556,e3.at=1015,e3.A=667,e3.B=667,e3.C=722,e3.D=722,e3.E=667,e3.F=611,e3.G=778,e3.H=722,e3.I=278,e3.J=500,e3.K=667,e3.L=556,e3.M=833,e3.N=722,e3.O=778,e3.P=667,e3.Q=778,e3.R=722,e3.S=667,e3.T=611,e3.U=722,e3.V=667,e3.W=944,e3.X=667,e3.Y=667,e3.Z=611,e3.bracketleft=278,e3.backslash=278,e3.bracketright=278,e3.asciicircum=469,e3.underscore=556,e3.quoteleft=222,e3.a=556,e3.b=556,e3.c=500,e3.d=556,e3.e=556,e3.f=278,e3.g=556,e3.h=556,e3.i=222,e3.j=222,e3.k=500,e3.l=222,e3.m=833,e3.n=556,e3.o=556,e3.p=556,e3.q=556,e3.r=333,e3.s=500,e3.t=278,e3.u=556,e3.v=500,e3.w=722,e3.x=500,e3.y=500,e3.z=500,e3.braceleft=334,e3.bar=260,e3.braceright=334,e3.asciitilde=584,e3.exclamdown=333,e3.cent=556,e3.sterling=556,e3.fraction=167,e3.yen=556,e3.florin=556,e3.section=556,e3.currency=556,e3.quotesingle=191,e3.quotedblleft=333,e3.guillemotleft=556,e3.guilsinglleft=333,e3.guilsinglright=333,e3.fi=500,e3.fl=500,e3.endash=556,e3.dagger=556,e3.daggerdbl=556,e3.periodcentered=278,e3.paragraph=537,e3.bullet=350,e3.quotesinglbase=222,e3.quotedblbase=333,e3.quotedblright=333,e3.guillemotright=556,e3.ellipsis=1e3,e3.perthousand=1e3,e3.questiondown=611,e3.grave=333,e3.acute=333,e3.circumflex=333,e3.tilde=333,e3.macron=333,e3.breve=333,e3.dotaccent=333,e3.dieresis=333,e3.ring=333,e3.cedilla=333,e3.hungarumlaut=333,e3.ogonek=333,e3.caron=333,e3.emdash=1e3,e3.AE=1e3,e3.ordfeminine=370,e3.Lslash=556,e3.Oslash=778,e3.OE=1e3,e3.ordmasculine=365,e3.ae=889,e3.dotlessi=278,e3.lslash=222,e3.oslash=611,e3.oe=944,e3.germandbls=611,e3.Idieresis=278,e3.eacute=556,e3.abreve=556,e3.uhungarumlaut=556,e3.ecaron=556,e3.Ydieresis=667,e3.divide=584,e3.Yacute=667,e3.Acircumflex=667,e3.aacute=556,e3.Ucircumflex=722,e3.yacute=500,e3.scommaaccent=500,e3.ecircumflex=556,e3.Uring=722,e3.Udieresis=722,e3.aogonek=556,e3.Uacute=722,e3.uogonek=556,e3.Edieresis=667,e3.Dcroat=722,e3.commaaccent=250,e3.copyright=737,e3.Emacron=667,e3.ccaron=500,e3.aring=556,e3.Ncommaaccent=722,e3.lacute=222,e3.agrave=556,e3.Tcommaaccent=611,e3.Cacute=722,e3.atilde=556,e3.Edotaccent=667,e3.scaron=500,e3.scedilla=500,e3.iacute=278,e3.lozenge=471,e3.Rcaron=722,e3.Gcommaaccent=778,e3.ucircumflex=556,e3.acircumflex=556,e3.Amacron=667,e3.rcaron=333,e3.ccedilla=500,e3.Zdotaccent=611,e3.Thorn=667,e3.Omacron=778,e3.Racute=722,e3.Sacute=667,e3.dcaron=643,e3.Umacron=722,e3.uring=556,e3.threesuperior=333,e3.Ograve=778,e3.Agrave=667,e3.Abreve=667,e3.multiply=584,e3.uacute=556,e3.Tcaron=611,e3.partialdiff=476,e3.ydieresis=500,e3.Nacute=722,e3.icircumflex=278,e3.Ecircumflex=667,e3.adieresis=556,e3.edieresis=556,e3.cacute=500,e3.nacute=556,e3.umacron=556,e3.Ncaron=722,e3.Iacute=278,e3.plusminus=584,e3.brokenbar=260,e3.registered=737,e3.Gbreve=778,e3.Idotaccent=278,e3.summation=600,e3.Egrave=667,e3.racute=333,e3.omacron=556,e3.Zacute=611,e3.Zcaron=611,e3.greaterequal=549,e3.Eth=722,e3.Ccedilla=722,e3.lcommaaccent=222,e3.tcaron=317,e3.eogonek=556,e3.Uogonek=722,e3.Aacute=667,e3.Adieresis=667,e3.egrave=556,e3.zacute=500,e3.iogonek=222,e3.Oacute=778,e3.oacute=556,e3.amacron=556,e3.sacute=500,e3.idieresis=278,e3.Ocircumflex=778,e3.Ugrave=722,e3.Delta=612,e3.thorn=556,e3.twosuperior=333,e3.Odieresis=778,e3.mu=556,e3.igrave=278,e3.ohungarumlaut=556,e3.Eogonek=667,e3.dcroat=556,e3.threequarters=834,e3.Scedilla=667,e3.lcaron=299,e3.Kcommaaccent=667,e3.Lacute=556,e3.trademark=1e3,e3.edotaccent=556,e3.Igrave=278,e3.Imacron=278,e3.Lcaron=556,e3.onehalf=834,e3.lessequal=549,e3.ocircumflex=556,e3.ntilde=556,e3.Uhungarumlaut=722,e3.Eacute=667,e3.emacron=556,e3.gbreve=556,e3.onequarter=834,e3.Scaron=667,e3.Scommaaccent=667,e3.Ohungarumlaut=778,e3.degree=400,e3.ograve=556,e3.Ccaron=722,e3.ugrave=556,e3.radical=453,e3.Dcaron=722,e3.rcommaaccent=333,e3.Ntilde=722,e3.otilde=556,e3.Rcommaaccent=722,e3.Lcommaaccent=556,e3.Atilde=667,e3.Aogonek=667,e3.Aring=667,e3.Otilde=778,e3.zdotaccent=500,e3.Ecaron=667,e3.Iogonek=278,e3.kcommaaccent=500,e3.minus=584,e3.Icircumflex=278,e3.ncaron=556,e3.tcommaaccent=278,e3.logicalnot=584,e3.odieresis=556,e3.udieresis=556,e3.notequal=549,e3.gcommaaccent=556,e3.eth=556,e3.zcaron=500,e3.ncommaaccent=556,e3.onesuperior=333,e3.imacron=278,e3.Euro=556}),e2.Symbol=getLookupTableFactory(function(e3){e3.space=250,e3.exclam=333,e3.universal=713,e3.numbersign=500,e3.existential=549,e3.percent=833,e3.ampersand=778,e3.suchthat=439,e3.parenleft=333,e3.parenright=333,e3.asteriskmath=500,e3.plus=549,e3.comma=250,e3.minus=549,e3.period=250,e3.slash=278,e3.zero=500,e3.one=500,e3.two=500,e3.three=500,e3.four=500,e3.five=500,e3.six=500,e3.seven=500,e3.eight=500,e3.nine=500,e3.colon=278,e3.semicolon=278,e3.less=549,e3.equal=549,e3.greater=549,e3.question=444,e3.congruent=549,e3.Alpha=722,e3.Beta=667,e3.Chi=722,e3.Delta=612,e3.Epsilon=611,e3.Phi=763,e3.Gamma=603,e3.Eta=722,e3.Iota=333,e3.theta1=631,e3.Kappa=722,e3.Lambda=686,e3.Mu=889,e3.Nu=722,e3.Omicron=722,e3.Pi=768,e3.Theta=741,e3.Rho=556,e3.Sigma=592,e3.Tau=611,e3.Upsilon=690,e3.sigma1=439,e3.Omega=768,e3.Xi=645,e3.Psi=795,e3.Zeta=611,e3.bracketleft=333,e3.therefore=863,e3.bracketright=333,e3.perpendicular=658,e3.underscore=500,e3.radicalex=500,e3.alpha=631,e3.beta=549,e3.chi=549,e3.delta=494,e3.epsilon=439,e3.phi=521,e3.gamma=411,e3.eta=603,e3.iota=329,e3.phi1=603,e3.kappa=549,e3.lambda=549,e3.mu=576,e3.nu=521,e3.omicron=549,e3.pi=549,e3.theta=521,e3.rho=549,e3.sigma=603,e3.tau=439,e3.upsilon=576,e3.omega1=713,e3.omega=686,e3.xi=493,e3.psi=686,e3.zeta=494,e3.braceleft=480,e3.bar=200,e3.braceright=480,e3.similar=549,e3.Euro=750,e3.Upsilon1=620,e3.minute=247,e3.lessequal=549,e3.fraction=167,e3.infinity=713,e3.florin=500,e3.club=753,e3.diamond=753,e3.heart=753,e3.spade=753,e3.arrowboth=1042,e3.arrowleft=987,e3.arrowup=603,e3.arrowright=987,e3.arrowdown=603,e3.degree=400,e3.plusminus=549,e3.second=411,e3.greaterequal=549,e3.multiply=549,e3.proportional=713,e3.partialdiff=494,e3.bullet=460,e3.divide=549,e3.notequal=549,e3.equivalence=549,e3.approxequal=549,e3.ellipsis=1e3,e3.arrowvertex=603,e3.arrowhorizex=1e3,e3.carriagereturn=658,e3.aleph=823,e3.Ifraktur=686,e3.Rfraktur=795,e3.weierstrass=987,e3.circlemultiply=768,e3.circleplus=768,e3.emptyset=823,e3.intersection=768,e3.union=768,e3.propersuperset=713,e3.reflexsuperset=713,e3.notsubset=713,e3.propersubset=713,e3.reflexsubset=713,e3.element=713,e3.notelement=713,e3.angle=768,e3.gradient=713,e3.registerserif=790,e3.copyrightserif=790,e3.trademarkserif=890,e3.product=823,e3.radical=549,e3.dotmath=250,e3.logicalnot=713,e3.logicaland=603,e3.logicalor=603,e3.arrowdblboth=1042,e3.arrowdblleft=987,e3.arrowdblup=603,e3.arrowdblright=987,e3.arrowdbldown=603,e3.lozenge=494,e3.angleleft=329,e3.registersans=790,e3.copyrightsans=790,e3.trademarksans=786,e3.summation=713,e3.parenlefttp=384,e3.parenleftex=384,e3.parenleftbt=384,e3.bracketlefttp=384,e3.bracketleftex=384,e3.bracketleftbt=384,e3.bracelefttp=494,e3.braceleftmid=494,e3.braceleftbt=494,e3.braceex=494,e3.angleright=329,e3.integral=274,e3.integraltp=686,e3.integralex=686,e3.integralbt=686,e3.parenrighttp=384,e3.parenrightex=384,e3.parenrightbt=384,e3.bracketrighttp=384,e3.bracketrightex=384,e3.bracketrightbt=384,e3.bracerighttp=494,e3.bracerightmid=494,e3.bracerightbt=494,e3.apple=790}),e2["Times-Roman"]=getLookupTableFactory(function(e3){e3.space=250,e3.exclam=333,e3.quotedbl=408,e3.numbersign=500,e3.dollar=500,e3.percent=833,e3.ampersand=778,e3.quoteright=333,e3.parenleft=333,e3.parenright=333,e3.asterisk=500,e3.plus=564,e3.comma=250,e3.hyphen=333,e3.period=250,e3.slash=278,e3.zero=500,e3.one=500,e3.two=500,e3.three=500,e3.four=500,e3.five=500,e3.six=500,e3.seven=500,e3.eight=500,e3.nine=500,e3.colon=278,e3.semicolon=278,e3.less=564,e3.equal=564,e3.greater=564,e3.question=444,e3.at=921,e3.A=722,e3.B=667,e3.C=667,e3.D=722,e3.E=611,e3.F=556,e3.G=722,e3.H=722,e3.I=333,e3.J=389,e3.K=722,e3.L=611,e3.M=889,e3.N=722,e3.O=722,e3.P=556,e3.Q=722,e3.R=667,e3.S=556,e3.T=611,e3.U=722,e3.V=722,e3.W=944,e3.X=722,e3.Y=722,e3.Z=611,e3.bracketleft=333,e3.backslash=278,e3.bracketright=333,e3.asciicircum=469,e3.underscore=500,e3.quoteleft=333,e3.a=444,e3.b=500,e3.c=444,e3.d=500,e3.e=444,e3.f=333,e3.g=500,e3.h=500,e3.i=278,e3.j=278,e3.k=500,e3.l=278,e3.m=778,e3.n=500,e3.o=500,e3.p=500,e3.q=500,e3.r=333,e3.s=389,e3.t=278,e3.u=500,e3.v=500,e3.w=722,e3.x=500,e3.y=500,e3.z=444,e3.braceleft=480,e3.bar=200,e3.braceright=480,e3.asciitilde=541,e3.exclamdown=333,e3.cent=500,e3.sterling=500,e3.fraction=167,e3.yen=500,e3.florin=500,e3.section=500,e3.currency=500,e3.quotesingle=180,e3.quotedblleft=444,e3.guillemotleft=500,e3.guilsinglleft=333,e3.guilsinglright=333,e3.fi=556,e3.fl=556,e3.endash=500,e3.dagger=500,e3.daggerdbl=500,e3.periodcentered=250,e3.paragraph=453,e3.bullet=350,e3.quotesinglbase=333,e3.quotedblbase=444,e3.quotedblright=444,e3.guillemotright=500,e3.ellipsis=1e3,e3.perthousand=1e3,e3.questiondown=444,e3.grave=333,e3.acute=333,e3.circumflex=333,e3.tilde=333,e3.macron=333,e3.breve=333,e3.dotaccent=333,e3.dieresis=333,e3.ring=333,e3.cedilla=333,e3.hungarumlaut=333,e3.ogonek=333,e3.caron=333,e3.emdash=1e3,e3.AE=889,e3.ordfeminine=276,e3.Lslash=611,e3.Oslash=722,e3.OE=889,e3.ordmasculine=310,e3.ae=667,e3.dotlessi=278,e3.lslash=278,e3.oslash=500,e3.oe=722,e3.germandbls=500,e3.Idieresis=333,e3.eacute=444,e3.abreve=444,e3.uhungarumlaut=500,e3.ecaron=444,e3.Ydieresis=722,e3.divide=564,e3.Yacute=722,e3.Acircumflex=722,e3.aacute=444,e3.Ucircumflex=722,e3.yacute=500,e3.scommaaccent=389,e3.ecircumflex=444,e3.Uring=722,e3.Udieresis=722,e3.aogonek=444,e3.Uacute=722,e3.uogonek=500,e3.Edieresis=611,e3.Dcroat=722,e3.commaaccent=250,e3.copyright=760,e3.Emacron=611,e3.ccaron=444,e3.aring=444,e3.Ncommaaccent=722,e3.lacute=278,e3.agrave=444,e3.Tcommaaccent=611,e3.Cacute=667,e3.atilde=444,e3.Edotaccent=611,e3.scaron=389,e3.scedilla=389,e3.iacute=278,e3.lozenge=471,e3.Rcaron=667,e3.Gcommaaccent=722,e3.ucircumflex=500,e3.acircumflex=444,e3.Amacron=722,e3.rcaron=333,e3.ccedilla=444,e3.Zdotaccent=611,e3.Thorn=556,e3.Omacron=722,e3.Racute=667,e3.Sacute=556,e3.dcaron=588,e3.Umacron=722,e3.uring=500,e3.threesuperior=300,e3.Ograve=722,e3.Agrave=722,e3.Abreve=722,e3.multiply=564,e3.uacute=500,e3.Tcaron=611,e3.partialdiff=476,e3.ydieresis=500,e3.Nacute=722,e3.icircumflex=278,e3.Ecircumflex=611,e3.adieresis=444,e3.edieresis=444,e3.cacute=444,e3.nacute=500,e3.umacron=500,e3.Ncaron=722,e3.Iacute=333,e3.plusminus=564,e3.brokenbar=200,e3.registered=760,e3.Gbreve=722,e3.Idotaccent=333,e3.summation=600,e3.Egrave=611,e3.racute=333,e3.omacron=500,e3.Zacute=611,e3.Zcaron=611,e3.greaterequal=549,e3.Eth=722,e3.Ccedilla=667,e3.lcommaaccent=278,e3.tcaron=326,e3.eogonek=444,e3.Uogonek=722,e3.Aacute=722,e3.Adieresis=722,e3.egrave=444,e3.zacute=444,e3.iogonek=278,e3.Oacute=722,e3.oacute=500,e3.amacron=444,e3.sacute=389,e3.idieresis=278,e3.Ocircumflex=722,e3.Ugrave=722,e3.Delta=612,e3.thorn=500,e3.twosuperior=300,e3.Odieresis=722,e3.mu=500,e3.igrave=278,e3.ohungarumlaut=500,e3.Eogonek=611,e3.dcroat=500,e3.threequarters=750,e3.Scedilla=556,e3.lcaron=344,e3.Kcommaaccent=722,e3.Lacute=611,e3.trademark=980,e3.edotaccent=444,e3.Igrave=333,e3.Imacron=333,e3.Lcaron=611,e3.onehalf=750,e3.lessequal=549,e3.ocircumflex=500,e3.ntilde=500,e3.Uhungarumlaut=722,e3.Eacute=611,e3.emacron=444,e3.gbreve=500,e3.onequarter=750,e3.Scaron=556,e3.Scommaaccent=556,e3.Ohungarumlaut=722,e3.degree=400,e3.ograve=500,e3.Ccaron=667,e3.ugrave=500,e3.radical=453,e3.Dcaron=722,e3.rcommaaccent=333,e3.Ntilde=722,e3.otilde=500,e3.Rcommaaccent=667,e3.Lcommaaccent=611,e3.Atilde=722,e3.Aogonek=722,e3.Aring=722,e3.Otilde=722,e3.zdotaccent=444,e3.Ecaron=611,e3.Iogonek=333,e3.kcommaaccent=500,e3.minus=564,e3.Icircumflex=333,e3.ncaron=500,e3.tcommaaccent=278,e3.logicalnot=564,e3.odieresis=500,e3.udieresis=500,e3.notequal=549,e3.gcommaaccent=500,e3.eth=500,e3.zcaron=444,e3.ncommaaccent=500,e3.onesuperior=300,e3.imacron=278,e3.Euro=500}),e2["Times-Bold"]=getLookupTableFactory(function(e3){e3.space=250,e3.exclam=333,e3.quotedbl=555,e3.numbersign=500,e3.dollar=500,e3.percent=1e3,e3.ampersand=833,e3.quoteright=333,e3.parenleft=333,e3.parenright=333,e3.asterisk=500,e3.plus=570,e3.comma=250,e3.hyphen=333,e3.period=250,e3.slash=278,e3.zero=500,e3.one=500,e3.two=500,e3.three=500,e3.four=500,e3.five=500,e3.six=500,e3.seven=500,e3.eight=500,e3.nine=500,e3.colon=333,e3.semicolon=333,e3.less=570,e3.equal=570,e3.greater=570,e3.question=500,e3.at=930,e3.A=722,e3.B=667,e3.C=722,e3.D=722,e3.E=667,e3.F=611,e3.G=778,e3.H=778,e3.I=389,e3.J=500,e3.K=778,e3.L=667,e3.M=944,e3.N=722,e3.O=778,e3.P=611,e3.Q=778,e3.R=722,e3.S=556,e3.T=667,e3.U=722,e3.V=722,e3.W=1e3,e3.X=722,e3.Y=722,e3.Z=667,e3.bracketleft=333,e3.backslash=278,e3.bracketright=333,e3.asciicircum=581,e3.underscore=500,e3.quoteleft=333,e3.a=500,e3.b=556,e3.c=444,e3.d=556,e3.e=444,e3.f=333,e3.g=500,e3.h=556,e3.i=278,e3.j=333,e3.k=556,e3.l=278,e3.m=833,e3.n=556,e3.o=500,e3.p=556,e3.q=556,e3.r=444,e3.s=389,e3.t=333,e3.u=556,e3.v=500,e3.w=722,e3.x=500,e3.y=500,e3.z=444,e3.braceleft=394,e3.bar=220,e3.braceright=394,e3.asciitilde=520,e3.exclamdown=333,e3.cent=500,e3.sterling=500,e3.fraction=167,e3.yen=500,e3.florin=500,e3.section=500,e3.currency=500,e3.quotesingle=278,e3.quotedblleft=500,e3.guillemotleft=500,e3.guilsinglleft=333,e3.guilsinglright=333,e3.fi=556,e3.fl=556,e3.endash=500,e3.dagger=500,e3.daggerdbl=500,e3.periodcentered=250,e3.paragraph=540,e3.bullet=350,e3.quotesinglbase=333,e3.quotedblbase=500,e3.quotedblright=500,e3.guillemotright=500,e3.ellipsis=1e3,e3.perthousand=1e3,e3.questiondown=500,e3.grave=333,e3.acute=333,e3.circumflex=333,e3.tilde=333,e3.macron=333,e3.breve=333,e3.dotaccent=333,e3.dieresis=333,e3.ring=333,e3.cedilla=333,e3.hungarumlaut=333,e3.ogonek=333,e3.caron=333,e3.emdash=1e3,e3.AE=1e3,e3.ordfeminine=300,e3.Lslash=667,e3.Oslash=778,e3.OE=1e3,e3.ordmasculine=330,e3.ae=722,e3.dotlessi=278,e3.lslash=278,e3.oslash=500,e3.oe=722,e3.germandbls=556,e3.Idieresis=389,e3.eacute=444,e3.abreve=500,e3.uhungarumlaut=556,e3.ecaron=444,e3.Ydieresis=722,e3.divide=570,e3.Yacute=722,e3.Acircumflex=722,e3.aacute=500,e3.Ucircumflex=722,e3.yacute=500,e3.scommaaccent=389,e3.ecircumflex=444,e3.Uring=722,e3.Udieresis=722,e3.aogonek=500,e3.Uacute=722,e3.uogonek=556,e3.Edieresis=667,e3.Dcroat=722,e3.commaaccent=250,e3.copyright=747,e3.Emacron=667,e3.ccaron=444,e3.aring=500,e3.Ncommaaccent=722,e3.lacute=278,e3.agrave=500,e3.Tcommaaccent=667,e3.Cacute=722,e3.atilde=500,e3.Edotaccent=667,e3.scaron=389,e3.scedilla=389,e3.iacute=278,e3.lozenge=494,e3.Rcaron=722,e3.Gcommaaccent=778,e3.ucircumflex=556,e3.acircumflex=500,e3.Amacron=722,e3.rcaron=444,e3.ccedilla=444,e3.Zdotaccent=667,e3.Thorn=611,e3.Omacron=778,e3.Racute=722,e3.Sacute=556,e3.dcaron=672,e3.Umacron=722,e3.uring=556,e3.threesuperior=300,e3.Ograve=778,e3.Agrave=722,e3.Abreve=722,e3.multiply=570,e3.uacute=556,e3.Tcaron=667,e3.partialdiff=494,e3.ydieresis=500,e3.Nacute=722,e3.icircumflex=278,e3.Ecircumflex=667,e3.adieresis=500,e3.edieresis=444,e3.cacute=444,e3.nacute=556,e3.umacron=556,e3.Ncaron=722,e3.Iacute=389,e3.plusminus=570,e3.brokenbar=220,e3.registered=747,e3.Gbreve=778,e3.Idotaccent=389,e3.summation=600,e3.Egrave=667,e3.racute=444,e3.omacron=500,e3.Zacute=667,e3.Zcaron=667,e3.greaterequal=549,e3.Eth=722,e3.Ccedilla=722,e3.lcommaaccent=278,e3.tcaron=416,e3.eogonek=444,e3.Uogonek=722,e3.Aacute=722,e3.Adieresis=722,e3.egrave=444,e3.zacute=444,e3.iogonek=278,e3.Oacute=778,e3.oacute=500,e3.amacron=500,e3.sacute=389,e3.idieresis=278,e3.Ocircumflex=778,e3.Ugrave=722,e3.Delta=612,e3.thorn=556,e3.twosuperior=300,e3.Odieresis=778,e3.mu=556,e3.igrave=278,e3.ohungarumlaut=500,e3.Eogonek=667,e3.dcroat=556,e3.threequarters=750,e3.Scedilla=556,e3.lcaron=394,e3.Kcommaaccent=778,e3.Lacute=667,e3.trademark=1e3,e3.edotaccent=444,e3.Igrave=389,e3.Imacron=389,e3.Lcaron=667,e3.onehalf=750,e3.lessequal=549,e3.ocircumflex=500,e3.ntilde=556,e3.Uhungarumlaut=722,e3.Eacute=667,e3.emacron=444,e3.gbreve=500,e3.onequarter=750,e3.Scaron=556,e3.Scommaaccent=556,e3.Ohungarumlaut=778,e3.degree=400,e3.ograve=500,e3.Ccaron=722,e3.ugrave=556,e3.radical=549,e3.Dcaron=722,e3.rcommaaccent=444,e3.Ntilde=722,e3.otilde=500,e3.Rcommaaccent=722,e3.Lcommaaccent=667,e3.Atilde=722,e3.Aogonek=722,e3.Aring=722,e3.Otilde=778,e3.zdotaccent=444,e3.Ecaron=667,e3.Iogonek=389,e3.kcommaaccent=556,e3.minus=570,e3.Icircumflex=389,e3.ncaron=556,e3.tcommaaccent=333,e3.logicalnot=570,e3.odieresis=500,e3.udieresis=556,e3.notequal=549,e3.gcommaaccent=500,e3.eth=500,e3.zcaron=444,e3.ncommaaccent=556,e3.onesuperior=300,e3.imacron=278,e3.Euro=500}),e2["Times-BoldItalic"]=getLookupTableFactory(function(e3){e3.space=250,e3.exclam=389,e3.quotedbl=555,e3.numbersign=500,e3.dollar=500,e3.percent=833,e3.ampersand=778,e3.quoteright=333,e3.parenleft=333,e3.parenright=333,e3.asterisk=500,e3.plus=570,e3.comma=250,e3.hyphen=333,e3.period=250,e3.slash=278,e3.zero=500,e3.one=500,e3.two=500,e3.three=500,e3.four=500,e3.five=500,e3.six=500,e3.seven=500,e3.eight=500,e3.nine=500,e3.colon=333,e3.semicolon=333,e3.less=570,e3.equal=570,e3.greater=570,e3.question=500,e3.at=832,e3.A=667,e3.B=667,e3.C=667,e3.D=722,e3.E=667,e3.F=667,e3.G=722,e3.H=778,e3.I=389,e3.J=500,e3.K=667,e3.L=611,e3.M=889,e3.N=722,e3.O=722,e3.P=611,e3.Q=722,e3.R=667,e3.S=556,e3.T=611,e3.U=722,e3.V=667,e3.W=889,e3.X=667,e3.Y=611,e3.Z=611,e3.bracketleft=333,e3.backslash=278,e3.bracketright=333,e3.asciicircum=570,e3.underscore=500,e3.quoteleft=333,e3.a=500,e3.b=500,e3.c=444,e3.d=500,e3.e=444,e3.f=333,e3.g=500,e3.h=556,e3.i=278,e3.j=278,e3.k=500,e3.l=278,e3.m=778,e3.n=556,e3.o=500,e3.p=500,e3.q=500,e3.r=389,e3.s=389,e3.t=278,e3.u=556,e3.v=444,e3.w=667,e3.x=500,e3.y=444,e3.z=389,e3.braceleft=348,e3.bar=220,e3.braceright=348,e3.asciitilde=570,e3.exclamdown=389,e3.cent=500,e3.sterling=500,e3.fraction=167,e3.yen=500,e3.florin=500,e3.section=500,e3.currency=500,e3.quotesingle=278,e3.quotedblleft=500,e3.guillemotleft=500,e3.guilsinglleft=333,e3.guilsinglright=333,e3.fi=556,e3.fl=556,e3.endash=500,e3.dagger=500,e3.daggerdbl=500,e3.periodcentered=250,e3.paragraph=500,e3.bullet=350,e3.quotesinglbase=333,e3.quotedblbase=500,e3.quotedblright=500,e3.guillemotright=500,e3.ellipsis=1e3,e3.perthousand=1e3,e3.questiondown=500,e3.grave=333,e3.acute=333,e3.circumflex=333,e3.tilde=333,e3.macron=333,e3.breve=333,e3.dotaccent=333,e3.dieresis=333,e3.ring=333,e3.cedilla=333,e3.hungarumlaut=333,e3.ogonek=333,e3.caron=333,e3.emdash=1e3,e3.AE=944,e3.ordfeminine=266,e3.Lslash=611,e3.Oslash=722,e3.OE=944,e3.ordmasculine=300,e3.ae=722,e3.dotlessi=278,e3.lslash=278,e3.oslash=500,e3.oe=722,e3.germandbls=500,e3.Idieresis=389,e3.eacute=444,e3.abreve=500,e3.uhungarumlaut=556,e3.ecaron=444,e3.Ydieresis=611,e3.divide=570,e3.Yacute=611,e3.Acircumflex=667,e3.aacute=500,e3.Ucircumflex=722,e3.yacute=444,e3.scommaaccent=389,e3.ecircumflex=444,e3.Uring=722,e3.Udieresis=722,e3.aogonek=500,e3.Uacute=722,e3.uogonek=556,e3.Edieresis=667,e3.Dcroat=722,e3.commaaccent=250,e3.copyright=747,e3.Emacron=667,e3.ccaron=444,e3.aring=500,e3.Ncommaaccent=722,e3.lacute=278,e3.agrave=500,e3.Tcommaaccent=611,e3.Cacute=667,e3.atilde=500,e3.Edotaccent=667,e3.scaron=389,e3.scedilla=389,e3.iacute=278,e3.lozenge=494,e3.Rcaron=667,e3.Gcommaaccent=722,e3.ucircumflex=556,e3.acircumflex=500,e3.Amacron=667,e3.rcaron=389,e3.ccedilla=444,e3.Zdotaccent=611,e3.Thorn=611,e3.Omacron=722,e3.Racute=667,e3.Sacute=556,e3.dcaron=608,e3.Umacron=722,e3.uring=556,e3.threesuperior=300,e3.Ograve=722,e3.Agrave=667,e3.Abreve=667,e3.multiply=570,e3.uacute=556,e3.Tcaron=611,e3.partialdiff=494,e3.ydieresis=444,e3.Nacute=722,e3.icircumflex=278,e3.Ecircumflex=667,e3.adieresis=500,e3.edieresis=444,e3.cacute=444,e3.nacute=556,e3.umacron=556,e3.Ncaron=722,e3.Iacute=389,e3.plusminus=570,e3.brokenbar=220,e3.registered=747,e3.Gbreve=722,e3.Idotaccent=389,e3.summation=600,e3.Egrave=667,e3.racute=389,e3.omacron=500,e3.Zacute=611,e3.Zcaron=611,e3.greaterequal=549,e3.Eth=722,e3.Ccedilla=667,e3.lcommaaccent=278,e3.tcaron=366,e3.eogonek=444,e3.Uogonek=722,e3.Aacute=667,e3.Adieresis=667,e3.egrave=444,e3.zacute=389,e3.iogonek=278,e3.Oacute=722,e3.oacute=500,e3.amacron=500,e3.sacute=389,e3.idieresis=278,e3.Ocircumflex=722,e3.Ugrave=722,e3.Delta=612,e3.thorn=500,e3.twosuperior=300,e3.Odieresis=722,e3.mu=576,e3.igrave=278,e3.ohungarumlaut=500,e3.Eogonek=667,e3.dcroat=500,e3.threequarters=750,e3.Scedilla=556,e3.lcaron=382,e3.Kcommaaccent=667,e3.Lacute=611,e3.trademark=1e3,e3.edotaccent=444,e3.Igrave=389,e3.Imacron=389,e3.Lcaron=611,e3.onehalf=750,e3.lessequal=549,e3.ocircumflex=500,e3.ntilde=556,e3.Uhungarumlaut=722,e3.Eacute=667,e3.emacron=444,e3.gbreve=500,e3.onequarter=750,e3.Scaron=556,e3.Scommaaccent=556,e3.Ohungarumlaut=722,e3.degree=400,e3.ograve=500,e3.Ccaron=667,e3.ugrave=556,e3.radical=549,e3.Dcaron=722,e3.rcommaaccent=389,e3.Ntilde=722,e3.otilde=500,e3.Rcommaaccent=667,e3.Lcommaaccent=611,e3.Atilde=667,e3.Aogonek=667,e3.Aring=667,e3.Otilde=722,e3.zdotaccent=389,e3.Ecaron=667,e3.Iogonek=389,e3.kcommaaccent=500,e3.minus=606,e3.Icircumflex=389,e3.ncaron=556,e3.tcommaaccent=278,e3.logicalnot=606,e3.odieresis=500,e3.udieresis=556,e3.notequal=549,e3.gcommaaccent=500,e3.eth=500,e3.zcaron=389,e3.ncommaaccent=556,e3.onesuperior=300,e3.imacron=278,e3.Euro=500}),e2["Times-Italic"]=getLookupTableFactory(function(e3){e3.space=250,e3.exclam=333,e3.quotedbl=420,e3.numbersign=500,e3.dollar=500,e3.percent=833,e3.ampersand=778,e3.quoteright=333,e3.parenleft=333,e3.parenright=333,e3.asterisk=500,e3.plus=675,e3.comma=250,e3.hyphen=333,e3.period=250,e3.slash=278,e3.zero=500,e3.one=500,e3.two=500,e3.three=500,e3.four=500,e3.five=500,e3.six=500,e3.seven=500,e3.eight=500,e3.nine=500,e3.colon=333,e3.semicolon=333,e3.less=675,e3.equal=675,e3.greater=675,e3.question=500,e3.at=920,e3.A=611,e3.B=611,e3.C=667,e3.D=722,e3.E=611,e3.F=611,e3.G=722,e3.H=722,e3.I=333,e3.J=444,e3.K=667,e3.L=556,e3.M=833,e3.N=667,e3.O=722,e3.P=611,e3.Q=722,e3.R=611,e3.S=500,e3.T=556,e3.U=722,e3.V=611,e3.W=833,e3.X=611,e3.Y=556,e3.Z=556,e3.bracketleft=389,e3.backslash=278,e3.bracketright=389,e3.asciicircum=422,e3.underscore=500,e3.quoteleft=333,e3.a=500,e3.b=500,e3.c=444,e3.d=500,e3.e=444,e3.f=278,e3.g=500,e3.h=500,e3.i=278,e3.j=278,e3.k=444,e3.l=278,e3.m=722,e3.n=500,e3.o=500,e3.p=500,e3.q=500,e3.r=389,e3.s=389,e3.t=278,e3.u=500,e3.v=444,e3.w=667,e3.x=444,e3.y=444,e3.z=389,e3.braceleft=400,e3.bar=275,e3.braceright=400,e3.asciitilde=541,e3.exclamdown=389,e3.cent=500,e3.sterling=500,e3.fraction=167,e3.yen=500,e3.florin=500,e3.section=500,e3.currency=500,e3.quotesingle=214,e3.quotedblleft=556,e3.guillemotleft=500,e3.guilsinglleft=333,e3.guilsinglright=333,e3.fi=500,e3.fl=500,e3.endash=500,e3.dagger=500,e3.daggerdbl=500,e3.periodcentered=250,e3.paragraph=523,e3.bullet=350,e3.quotesinglbase=333,e3.quotedblbase=556,e3.quotedblright=556,e3.guillemotright=500,e3.ellipsis=889,e3.perthousand=1e3,e3.questiondown=500,e3.grave=333,e3.acute=333,e3.circumflex=333,e3.tilde=333,e3.macron=333,e3.breve=333,e3.dotaccent=333,e3.dieresis=333,e3.ring=333,e3.cedilla=333,e3.hungarumlaut=333,e3.ogonek=333,e3.caron=333,e3.emdash=889,e3.AE=889,e3.ordfeminine=276,e3.Lslash=556,e3.Oslash=722,e3.OE=944,e3.ordmasculine=310,e3.ae=667,e3.dotlessi=278,e3.lslash=278,e3.oslash=500,e3.oe=667,e3.germandbls=500,e3.Idieresis=333,e3.eacute=444,e3.abreve=500,e3.uhungarumlaut=500,e3.ecaron=444,e3.Ydieresis=556,e3.divide=675,e3.Yacute=556,e3.Acircumflex=611,e3.aacute=500,e3.Ucircumflex=722,e3.yacute=444,e3.scommaaccent=389,e3.ecircumflex=444,e3.Uring=722,e3.Udieresis=722,e3.aogonek=500,e3.Uacute=722,e3.uogonek=500,e3.Edieresis=611,e3.Dcroat=722,e3.commaaccent=250,e3.copyright=760,e3.Emacron=611,e3.ccaron=444,e3.aring=500,e3.Ncommaaccent=667,e3.lacute=278,e3.agrave=500,e3.Tcommaaccent=556,e3.Cacute=667,e3.atilde=500,e3.Edotaccent=611,e3.scaron=389,e3.scedilla=389,e3.iacute=278,e3.lozenge=471,e3.Rcaron=611,e3.Gcommaaccent=722,e3.ucircumflex=500,e3.acircumflex=500,e3.Amacron=611,e3.rcaron=389,e3.ccedilla=444,e3.Zdotaccent=556,e3.Thorn=611,e3.Omacron=722,e3.Racute=611,e3.Sacute=500,e3.dcaron=544,e3.Umacron=722,e3.uring=500,e3.threesuperior=300,e3.Ograve=722,e3.Agrave=611,e3.Abreve=611,e3.multiply=675,e3.uacute=500,e3.Tcaron=556,e3.partialdiff=476,e3.ydieresis=444,e3.Nacute=667,e3.icircumflex=278,e3.Ecircumflex=611,e3.adieresis=500,e3.edieresis=444,e3.cacute=444,e3.nacute=500,e3.umacron=500,e3.Ncaron=667,e3.Iacute=333,e3.plusminus=675,e3.brokenbar=275,e3.registered=760,e3.Gbreve=722,e3.Idotaccent=333,e3.summation=600,e3.Egrave=611,e3.racute=389,e3.omacron=500,e3.Zacute=556,e3.Zcaron=556,e3.greaterequal=549,e3.Eth=722,e3.Ccedilla=667,e3.lcommaaccent=278,e3.tcaron=300,e3.eogonek=444,e3.Uogonek=722,e3.Aacute=611,e3.Adieresis=611,e3.egrave=444,e3.zacute=389,e3.iogonek=278,e3.Oacute=722,e3.oacute=500,e3.amacron=500,e3.sacute=389,e3.idieresis=278,e3.Ocircumflex=722,e3.Ugrave=722,e3.Delta=612,e3.thorn=500,e3.twosuperior=300,e3.Odieresis=722,e3.mu=500,e3.igrave=278,e3.ohungarumlaut=500,e3.Eogonek=611,e3.dcroat=500,e3.threequarters=750,e3.Scedilla=500,e3.lcaron=300,e3.Kcommaaccent=667,e3.Lacute=556,e3.trademark=980,e3.edotaccent=444,e3.Igrave=333,e3.Imacron=333,e3.Lcaron=611,e3.onehalf=750,e3.lessequal=549,e3.ocircumflex=500,e3.ntilde=500,e3.Uhungarumlaut=722,e3.Eacute=611,e3.emacron=444,e3.gbreve=500,e3.onequarter=750,e3.Scaron=500,e3.Scommaaccent=500,e3.Ohungarumlaut=722,e3.degree=400,e3.ograve=500,e3.Ccaron=667,e3.ugrave=500,e3.radical=453,e3.Dcaron=722,e3.rcommaaccent=389,e3.Ntilde=667,e3.otilde=500,e3.Rcommaaccent=611,e3.Lcommaaccent=556,e3.Atilde=611,e3.Aogonek=611,e3.Aring=611,e3.Otilde=722,e3.zdotaccent=389,e3.Ecaron=611,e3.Iogonek=333,e3.kcommaaccent=444,e3.minus=675,e3.Icircumflex=333,e3.ncaron=500,e3.tcommaaccent=278,e3.logicalnot=675,e3.odieresis=500,e3.udieresis=500,e3.notequal=549,e3.gcommaaccent=500,e3.eth=500,e3.zcaron=389,e3.ncommaaccent=500,e3.onesuperior=300,e3.imacron=278,e3.Euro=500}),e2.ZapfDingbats=getLookupTableFactory(function(e3){e3.space=278,e3.a1=974,e3.a2=961,e3.a202=974,e3.a3=980,e3.a4=719,e3.a5=789,e3.a119=790,e3.a118=791,e3.a117=690,e3.a11=960,e3.a12=939,e3.a13=549,e3.a14=855,e3.a15=911,e3.a16=933,e3.a105=911,e3.a17=945,e3.a18=974,e3.a19=755,e3.a20=846,e3.a21=762,e3.a22=761,e3.a23=571,e3.a24=677,e3.a25=763,e3.a26=760,e3.a27=759,e3.a28=754,e3.a6=494,e3.a7=552,e3.a8=537,e3.a9=577,e3.a10=692,e3.a29=786,e3.a30=788,e3.a31=788,e3.a32=790,e3.a33=793,e3.a34=794,e3.a35=816,e3.a36=823,e3.a37=789,e3.a38=841,e3.a39=823,e3.a40=833,e3.a41=816,e3.a42=831,e3.a43=923,e3.a44=744,e3.a45=723,e3.a46=749,e3.a47=790,e3.a48=792,e3.a49=695,e3.a50=776,e3.a51=768,e3.a52=792,e3.a53=759,e3.a54=707,e3.a55=708,e3.a56=682,e3.a57=701,e3.a58=826,e3.a59=815,e3.a60=789,e3.a61=789,e3.a62=707,e3.a63=687,e3.a64=696,e3.a65=689,e3.a66=786,e3.a67=787,e3.a68=713,e3.a69=791,e3.a70=785,e3.a71=791,e3.a72=873,e3.a73=761,e3.a74=762,e3.a203=762,e3.a75=759,e3.a204=759,e3.a76=892,e3.a77=892,e3.a78=788,e3.a79=784,e3.a81=438,e3.a82=138,e3.a83=277,e3.a84=415,e3.a97=392,e3.a98=392,e3.a99=668,e3.a100=668,e3.a89=390,e3.a90=390,e3.a93=317,e3.a94=317,e3.a91=276,e3.a92=276,e3.a205=509,e3.a85=509,e3.a206=410,e3.a86=410,e3.a87=234,e3.a88=234,e3.a95=334,e3.a96=334,e3.a101=732,e3.a102=544,e3.a103=544,e3.a104=910,e3.a106=667,e3.a107=760,e3.a108=760,e3.a112=776,e3.a111=595,e3.a110=694,e3.a109=626,e3.a120=788,e3.a121=788,e3.a122=788,e3.a123=788,e3.a124=788,e3.a125=788,e3.a126=788,e3.a127=788,e3.a128=788,e3.a129=788,e3.a130=788,e3.a131=788,e3.a132=788,e3.a133=788,e3.a134=788,e3.a135=788,e3.a136=788,e3.a137=788,e3.a138=788,e3.a139=788,e3.a140=788,e3.a141=788,e3.a142=788,e3.a143=788,e3.a144=788,e3.a145=788,e3.a146=788,e3.a147=788,e3.a148=788,e3.a149=788,e3.a150=788,e3.a151=788,e3.a152=788,e3.a153=788,e3.a154=788,e3.a155=788,e3.a156=788,e3.a157=788,e3.a158=788,e3.a159=788,e3.a160=894,e3.a161=838,e3.a163=1016,e3.a164=458,e3.a196=748,e3.a165=924,e3.a192=748,e3.a166=918,e3.a167=927,e3.a168=928,e3.a169=928,e3.a170=834,e3.a171=873,e3.a172=828,e3.a173=924,e3.a162=924,e3.a174=917,e3.a175=930,e3.a176=931,e3.a177=463,e3.a178=883,e3.a179=836,e3.a193=836,e3.a180=867,e3.a199=867,e3.a181=696,e3.a200=696,e3.a182=874,e3.a201=874,e3.a183=760,e3.a184=946,e3.a197=771,e3.a185=865,e3.a194=771,e3.a198=888,e3.a186=967,e3.a195=888,e3.a187=831,e3.a188=873,e3.a189=927,e3.a190=970,e3.a191=918})}),Zt=getLookupTableFactory(function(e2){e2.Courier={ascent:629,descent:-157,capHeight:562,xHeight:-426},e2["Courier-Bold"]={ascent:629,descent:-157,capHeight:562,xHeight:439},e2["Courier-Oblique"]={ascent:629,descent:-157,capHeight:562,xHeight:426},e2["Courier-BoldOblique"]={ascent:629,descent:-157,capHeight:562,xHeight:426},e2.Helvetica={ascent:718,descent:-207,capHeight:718,xHeight:523},e2["Helvetica-Bold"]={ascent:718,descent:-207,capHeight:718,xHeight:532},e2["Helvetica-Oblique"]={ascent:718,descent:-207,capHeight:718,xHeight:523},e2["Helvetica-BoldOblique"]={ascent:718,descent:-207,capHeight:718,xHeight:532},e2["Times-Roman"]={ascent:683,descent:-217,capHeight:662,xHeight:450},e2["Times-Bold"]={ascent:683,descent:-217,capHeight:676,xHeight:461},e2["Times-Italic"]={ascent:683,descent:-217,capHeight:653,xHeight:441},e2["Times-BoldItalic"]={ascent:683,descent:-217,capHeight:669,xHeight:462},e2.Symbol={ascent:Math.NaN,descent:Math.NaN,capHeight:Math.NaN,xHeight:Math.NaN},e2.ZapfDingbats={ascent:Math.NaN,descent:Math.NaN,capHeight:Math.NaN,xHeight:Math.NaN}}),Qt=class OpenTypeFileBuilder{#e=new Map;constructor(e2){this.sfnt=e2}static getSearchParams(e2,t2){let n2=1,r2=0;for(;(n2^e2)>n2;)n2<<=1,r2++;let i2=n2*t2;return{range:i2,entry:r2,rangeShift:t2*e2-i2}}toArray(){let e2=this.sfnt,t2=this.#e,n2=[...t2.keys()].sort(),r2=n2.length,i2=12+r2*16,a2=[i2];for(let e3=0;e3<r2;e3++){let r3=(t2.get(n2[e3]).length+3&-4)>>>0;i2+=r3,a2.push(i2)}let o2=new Uint8Array(i2),s2=new DataView(o2.buffer);for(let e3=0;e3<r2;e3++){let r3=t2.get(n2[e3]);o2.set(r3,a2[e3])}e2==="true"&&(e2="\0\0\0"),o2.set(stringToBytes$1(e2),0),s2.setInt16(4,r2);let c2=OpenTypeFileBuilder.getSearchParams(r2,16);s2.setInt16(6,c2.range),s2.setInt16(8,c2.entry),s2.setInt16(10,c2.rangeShift),i2=12;for(let e3=0;e3<r2;e3++){let r3=n2[e3];o2.set(stringToBytes$1(r3),i2);let c3=0;for(let t3=a2[e3],n3=a2[e3+1];t3<n3;t3+=4){let e4=s2.getUint32(t3);c3=c3+e4>>>0}s2.setInt32(i2+4,c3),s2.setInt32(i2+8,a2[e3]),s2.setInt32(i2+12,t2.get(r3).length),i2+=16}return this.#e.clear(),o2}addTable(e2,t2){if(this.#e.has(e2))throw Error(`Table ${e2} already exists`);this.#e.set(e2,t2)}},$t={hstem:[1],vstem:[3],vmoveto:[4],rlineto:[5],hlineto:[6],vlineto:[7],rrcurveto:[8],callsubr:[10],flex:[12,35],drop:[12,18],endchar:[14],rmoveto:[21],hmoveto:[22],vhcurveto:[30],hvcurveto:[31]},Type1CharString=class{width=0;lsb=0;flexing=!1;output=[];stack=[];convert(e2,t2,n2){let r2=e2.length,i2=!1,a2,o2,s2;for(let c2=0;c2<r2;c2++){let r3=e2[c2];if(r3<32){switch(r3===12&&(r3=(r3<<8)+e2[++c2]),r3){case 1:this.stack=[];break;case 3:this.stack=[];break;case 4:if(this.flexing){if(this.stack.length<1){i2=!0;break}let e4=this.stack.pop();this.stack.push(0,e4);break}i2=this.executeCommand(1,$t.vmoveto);break;case 5:i2=this.executeCommand(2,$t.rlineto);break;case 6:i2=this.executeCommand(1,$t.hlineto);break;case 7:i2=this.executeCommand(1,$t.vlineto);break;case 8:i2=this.executeCommand(6,$t.rrcurveto);break;case 9:this.stack=[];break;case 10:if(this.stack.length<1){i2=!0;break}if(s2=this.stack.pop(),!t2[s2]){i2=!0;break}i2=this.convert(t2[s2],t2,n2);break;case 11:return i2;case 13:if(this.stack.length<2){i2=!0;break}a2=this.stack.pop(),o2=this.stack.pop(),this.lsb=o2,this.width=a2,this.stack.push(a2,o2),i2=this.executeCommand(2,$t.hmoveto);break;case 14:this.output.push($t.endchar[0]);break;case 21:if(this.flexing)break;i2=this.executeCommand(2,$t.rmoveto);break;case 22:if(this.flexing){this.stack.push(0);break}i2=this.executeCommand(1,$t.hmoveto);break;case 30:i2=this.executeCommand(4,$t.vhcurveto);break;case 31:i2=this.executeCommand(4,$t.hvcurveto);break;case 3072:this.stack=[];break;case 3073:this.stack=[];break;case 3074:this.stack=[];break;case 3078:if(n2){let e4=this.stack.at(-5);this.seac=this.stack.splice(-4,4),this.seac[0]+=this.lsb-e4,i2=this.executeCommand(0,$t.endchar)}else i2=this.executeCommand(4,$t.endchar);break;case 3079:if(this.stack.length<4){i2=!0;break}this.stack.pop(),a2=this.stack.pop();let e3=this.stack.pop();o2=this.stack.pop(),this.lsb=o2,this.width=a2,this.stack.push(a2,o2,e3),i2=this.executeCommand(3,$t.rmoveto);break;case 3084:if(this.stack.length<2){i2=!0;break}let c3=this.stack.pop(),l2=this.stack.pop();this.stack.push(l2/c3);break;case 3088:if(this.stack.length<2){i2=!0;break}s2=this.stack.pop();let u2=this.stack.pop();if(s2===0&&u2===3){let e4=this.stack.splice(-17,17);this.stack.push(e4[2]+e4[0],e4[3]+e4[1],e4[4],e4[5],e4[6],e4[7],e4[8],e4[9],e4[10],e4[11],e4[12],e4[13],e4[14]),i2=this.executeCommand(13,$t.flex,!0),this.flexing=!1,this.stack.push(e4[15],e4[16])}else s2===1&&u2===0&&(this.flexing=!0);break;case 3089:break;case 3105:this.stack=[];break;default:warn$1('Unknown type 1 charstring command of "'+r3+'"');break}if(i2)break;continue}else r3<=246?r3-=139:r3=r3<=250?(r3-247)*256+e2[++c2]+108:r3<=254?-((r3-251)*256)-e2[++c2]-108:(e2[++c2]&255)<<24|(e2[++c2]&255)<<16|(e2[++c2]&255)<<8|(e2[++c2]&255)<<0;this.stack.push(r3)}return i2}executeCommand(e2,t2,n2){let r2=this.stack.length;if(e2>r2)return!0;let i2=r2-e2;for(let e3=i2;e3<r2;e3++){let t3=this.stack[e3];Number.isInteger(t3)?this.output.push(28,t3>>8&255,t3&255):(t3=65536*t3|0,this.output.push(255,t3>>24&255,t3>>16&255,t3>>8&255,t3&255))}return this.output.push(...t2),n2?this.stack.splice(i2,e2):this.stack.length=0,!1}},en=55665;function isHexDigit(e2){return e2>=48&&e2<=57||e2>=65&&e2<=70||e2>=97&&e2<=102}function decrypt(e2,t2,n2){if(n2>=e2.length)return new Uint8Array;let r2=52845,i2=22719,a2=t2|0,o2,s2;for(o2=0;o2<n2;o2++)a2=(e2[o2]+a2)*r2+i2&65535;let c2=e2.length-n2,l2=new Uint8Array(c2);for(o2=n2,s2=0;s2<c2;o2++,s2++){let t3=e2[o2];l2[s2]=t3^a2>>8,a2=(t3+a2)*r2+i2&65535}return l2}function decryptAscii(e2,t2,n2){let r2=t2|0,i2=e2.length,a2=i2>>>1,o2=new Uint8Array(a2),s2,c2;for(s2=0,c2=0;s2<i2;s2++){let t3=e2[s2];if(!isHexDigit(t3))continue;s2++;let n3;for(;s2<i2&&!isHexDigit(n3=e2[s2]);)s2++;if(s2<i2){let e3=parseInt(String.fromCharCode(t3,n3),16);o2[c2++]=e3^r2>>8,r2=(e3+r2)*52845+22719&65535}}return o2.slice(n2,c2)}function isSpecial(e2){return e2===47||e2===91||e2===93||e2===123||e2===125||e2===40||e2===41}var Type1Parser=class{constructor(e2,t2,n2){if(t2){let t3=e2.getBytes();e2=new Ee((isHexDigit(t3[0])||isWhiteSpace(t3[0]))&&isHexDigit(t3[1])&&isHexDigit(t3[2])&&isHexDigit(t3[3])&&isHexDigit(t3[4])&&isHexDigit(t3[5])&&isHexDigit(t3[6])&&isHexDigit(t3[7])?decryptAscii(t3,en,4):decrypt(t3,en,4))}this.seacAnalysisEnabled=!!n2,this.stream=e2,this.nextChar()}readNumberArray(){this.getToken();let e2=[];for(;;){let t2=this.getToken();if(t2===null||t2==="]"||t2==="}")break;e2.push(parseFloat(t2||0))}return e2}readNumber(){let e2=this.getToken();return parseFloat(e2||0)}readInt(){let e2=this.getToken();return parseInt(e2||0,10)|0}readBoolean(){return+(this.getToken()==="true")}nextChar(){return this.currentChar=this.stream.getByte()}prevChar(){return this.stream.skip(-2),this.currentChar=this.stream.getByte()}getToken(){let e2=!1,t2=this.currentChar;for(;;){if(t2===-1)return null;if(e2)(t2===10||t2===13)&&(e2=!1);else if(t2===37)e2=!0;else if(!isWhiteSpace(t2))break;t2=this.nextChar()}if(isSpecial(t2))return this.nextChar(),String.fromCharCode(t2);let n2="";do n2+=String.fromCharCode(t2),t2=this.nextChar();while(t2>=0&&!isWhiteSpace(t2)&&!isSpecial(t2));return n2}readCharStrings(e2,t2){return t2===-1?e2:decrypt(e2,4330,t2)}extractFontProgram(e2){let t2=this.stream,n2=[],r2=[],i2=new Map([["lenIV",4]]),a2={subrs:[],charstrings:[],properties:{privateData:i2}},o2,s2,c2,l2,u2=!1,d2=!1;for(;(o2=this.getToken())!==null;)if(o2==="/")switch(o2=this.getToken(),o2){case"CharStrings":if(d2)break;for(d2=!0,this.getToken(),this.getToken(),this.getToken(),this.getToken();o2=this.getToken(),o2!==null&&o2!=="end";){if(o2!=="/")continue;let e4=this.getToken();s2=this.readInt(),this.getToken(),c2=s2>0?t2.getBytes(s2):new Uint8Array,l2=i2.get("lenIV");let n3=this.readCharStrings(c2,l2);this.nextChar(),o2=this.getToken(),o2==="noaccess"?this.getToken():o2==="/"&&this.prevChar(),r2.push({glyph:e4,encoded:n3})}break;case"Subrs":if(u2)break;for(u2=!0,this.readInt(),this.getToken();this.getToken()==="dup";){let e4=this.readInt();s2=this.readInt(),this.getToken(),c2=s2>0?t2.getBytes(s2):new Uint8Array,l2=i2.get("lenIV");let r3=this.readCharStrings(c2,l2);this.nextChar(),o2=this.getToken(),o2==="noaccess"&&this.getToken(),n2[e4]=r3}break;case"BlueValues":case"OtherBlues":case"FamilyBlues":case"FamilyOtherBlues":let e3=this.readNumberArray();e3.length>0&&e3.length%2;break;case"StemSnapH":case"StemSnapV":i2.set(o2,this.readNumberArray());break;case"StdHW":case"StdVW":i2.set(o2,this.readNumberArray()[0]);break;case"BlueShift":case"lenIV":case"BlueFuzz":case"BlueScale":case"LanguageGroup":i2.set(o2,this.readNumber());break;case"ExpansionFactor":i2.set(o2,this.readNumber()||.06);break;case"ForceBold":i2.set(o2,this.readBoolean());break}for(let{encoded:t3,glyph:i3}of r2){let r3=new Type1CharString,o3={glyphName:i3,charstring:r3.convert(t3,n2,this.seacAnalysisEnabled)?[14]:r3.output,width:r3.width,lsb:r3.lsb,seac:r3.seac};if(i3===".notdef"?a2.charstrings.unshift(o3):a2.charstrings.push(o3),e2.builtInEncoding){let t4=e2.builtInEncoding.indexOf(i3);t4>-1&&e2.widths[t4]===void 0&&t4>=e2.firstChar&&t4<=e2.lastChar&&(e2.widths[t4]=r3.width)}}return a2}extractCidKeyedFontProgram(e2){let t2=this.stream,n2=new Map([["lenIV",4]]),r2={subrs:[],charstrings:[],properties:{privateData:n2}},i2=0,a2=-1,o2=1,s2=0,c2=-1,l2=0,u2=0,d2=0,f2=!1,p2=!1,m2=[];function rememberToken(e3){m2.push(e3),m2.length>4&&m2.shift()}let h2;for(;(h2=this.getToken())!==null;){if(h2==="StartData"){let e3=m2.at(-3),t3=m2.at(-1);if(m2.at(-4)!=="("||m2.at(-2)!==")"||e3!=="Binary"&&e3!=="Hex"||!/^\d+$/.test(t3)||(d2=parseInt(t3,10),d2<=0))return null;f2=e3==="Hex",p2=!0;break}if(rememberToken(h2),h2==="/")switch(h2=this.getToken(),rememberToken(h2),h2){case"FontMatrix":e2.fontMatrix=this.readNumberArray();break;case"FontBBox":let t3=this.readNumberArray();e2.ascent=Math.max(t3[3],t3[1]),e2.descent=Math.min(t3[1],t3[3]),e2.ascentScaled=!0;break;case"CIDCount":i2=this.readInt();break;case"CIDMapOffset":a2=this.readInt();break;case"FDBytes":o2=this.readInt();break;case"GDBytes":s2=this.readInt();break;case"SubrMapOffset":c2=this.readInt();break;case"SDBytes":l2=this.readInt();break;case"SubrCount":u2=this.readInt();break;case"BlueValues":case"OtherBlues":case"FamilyBlues":case"FamilyOtherBlues":this.readNumberArray();break;case"StemSnapH":case"StemSnapV":n2.set(h2,this.readNumberArray());break;case"StdHW":case"StdVW":n2.set(h2,this.readNumberArray()[0]);break;case"BlueShift":case"lenIV":case"BlueFuzz":case"BlueScale":case"LanguageGroup":n2.set(h2,this.readNumber());break;case"ExpansionFactor":n2.set(h2,this.readNumber()||.06);break;case"ForceBold":n2.set(h2,this.readBoolean());break}}if(!p2||i2<=0||a2<0||o2<0||o2>4||s2<1||s2>4)return null;let g2=t2.end-t2.pos;if(d2>g2){if(!f2)d2=g2;else if(d2>2*g2)return null}let _2=t2.getBytes(f2?void 0:d2);if(f2){let e3=new Uint8Array(d2),t3=-1,n3=0;for(let r3=0,i3=_2.length;r3<i3&&n3<d2;r3++){let i4=_2[r3];if(isHexDigit(i4)){if(t3<0){t3=i4;continue}e3[n3++]=parseInt(String.fromCharCode(t3,i4),16),t3=-1}}if(n3!==d2)return null;_2=e3}let v2=n2.get("lenIV"),y2=o2+s2,b2=[];function readUint(e3,t3){let n3=0;for(let r3=0;r3<t3;r3++)n3=n3<<8|_2[e3+r3];return n3>>>0}if(a2+(i2+1)*y2>_2.length||u2>0&&(c2<0||l2<1||l2>4||c2+(u2+1)*l2>_2.length))return null;if(o2>0){for(let e3=0;e3<i2;e3++)if(readUint(a2+e3*y2,o2)!==0)return null}if(u2>0){let e3=Array(u2+1);for(let t3=0;t3<=u2;t3++)e3[t3]=readUint(c2+t3*l2,l2);for(let t3=0;t3<u2;t3++){let n3=e3[t3],r3=e3[t3+1];if(r3>_2.length||r3<n3){b2[t3]=new Uint8Array;continue}b2[t3]=this.readCharStrings(_2.subarray(n3,r3),v2)}}let x2=[],S2=readUint(a2+o2,s2);for(let e3=0;e3<i2;e3++){let t3=readUint(a2+(e3+1)*y2+o2,s2),n3=e3===0?".notdef":`cid${e3}`;if(t3>S2&&t3<=_2.length){let e4=this.readCharStrings(_2.subarray(S2,t3),v2),r3=new Type1CharString,i3=r3.convert(e4,b2,this.seacAnalysisEnabled);x2.push({glyphName:n3,charstring:i3?[14]:r3.output,width:r3.width,lsb:r3.lsb,seac:r3.seac})}else{let e4=x2[0];x2.push({glyphName:n3,charstring:e4?.charstring.slice()||[139,14],width:e4?.width||0,lsb:e4?.lsb||0})}S2=t3}return r2.subrs=b2,r2.charstrings=x2,r2}extractFontHeader(e2){let t2;for(;(t2=this.getToken())!==null;)if(t2==="/")switch(t2=this.getToken(),t2){case"FontMatrix":e2.fontMatrix=this.readNumberArray();break;case"Encoding":let n2=this.getToken(),r2;if(!/^\d+$/.test(n2))r2=getEncoding(n2);else{r2=[];let e3=parseInt(n2,10)|0;this.getToken();for(let n3=0;n3<e3;n3++){for(t2=this.getToken();t2!=="dup"&&t2!=="def";)if(t2=this.getToken(),t2===null)return;if(t2==="def")break;let e4=this.readInt();this.getToken();let n4=this.getToken();r2[e4]=n4,this.getToken()}}e2.builtInEncoding=r2;break;case"FontBBox":let i2=this.readNumberArray();e2.ascent=Math.max(i2[3],i2[1]),e2.descent=Math.min(i2[1],i2[3]),e2.ascentScaled=!0;break}}};function findBlock(e2,t2,n2){let r2=e2.length,i2=t2.length,a2=r2-i2,o2=n2,s2=!1;for(;o2<a2;){let n3=0;for(;n3<i2&&e2[o2+n3]===t2[n3];)n3++;if(n3>=i2){for(o2+=n3;o2<r2&&isWhiteSpace(e2[o2]);)o2++;s2=!0;break}o2++}return{found:s2,length:o2}}function getHeaderBlock(e2,t2){let n2=[101,101,120,101,99],r2=e2.pos,i2,a2,o2;try{i2=e2.getBytes(t2),a2=i2.length}catch{}if(a2===t2&&(o2=findBlock(i2,n2,t2-2*n2.length),o2.found&&o2.length===t2))return{stream:new Ee(i2),length:t2};warn$1('Invalid "Length1" property in Type1 font -- trying to recover.'),e2.pos=r2;let s2;for(;o2=findBlock(e2.peekBytes(2048),n2,0),o2.length!==0;)if(e2.pos+=o2.length,o2.found){s2=e2.pos-r2;break}return e2.pos=r2,s2?{stream:new Ee(e2.getBytes(s2)),length:s2}:(warn$1('Unable to recover "Length1" property in Type1 font -- using as is.'),{stream:new Ee(e2.getBytes(t2)),length:t2})}function getEexecBlock(e2,t2){let n2=e2.getBytes();if(n2.length===0)throw new FormatError$1("getEexecBlock - no font program found.");return{stream:new Ee(n2),length:n2.length}}function isCidKeyedType1File(e2){let t2=e2.peekBytes(2048);if(t2.length<2||t2[0]!==37||t2[1]!==33)return!1;let n2=bytesToString$1(t2);return n2.includes("Resource-CIDFont")||/\/CIDFontType\s+0\b/.test(n2)}var Type1Font=class{#e;constructor(e2,t2,n2){let r2;n2.composite&&isCidKeyedType1File(t2)&&(r2=this.#n(t2,n2)),r2||=this.#t(t2,n2);for(let e3 in r2.properties)n2[e3]=r2.properties[e3];let i2=r2.charstrings,a2=this.getType2Charstrings(i2),o2=this.getType2Subrs(r2.subrs);this.charstrings=i2,this.data=this.wrap(e2,a2,this.charstrings,o2,n2),this.seacs=this.getSeacs(r2.charstrings)}#t(e2,t2){let n2=t2.length1,r2=t2.length2,i2=e2.peekBytes(6),a2=i2[0]===128&&i2[1]===1;a2&&(e2.skip(6),n2=i2[5]<<24|i2[4]<<16|i2[3]<<8|i2[2]);let o2=getHeaderBlock(e2,n2);new Type1Parser(o2.stream,!1,!0).extractFontHeader(t2),a2&&(i2=e2.getBytes(6),r2=i2[5]<<24|i2[4]<<16|i2[3]<<8|i2[2]);let s2=getEexecBlock(e2,r2),c2=new Type1Parser(s2.stream,!0,!0).extractFontProgram(t2);return this.#e=o2.length+s2.length,c2}#n(e2,t2){let n2=e2.pos,r2=e2.end-n2,i2=new Type1Parser(e2,!1,!0).extractCidKeyedFontProgram(t2);return i2?(this.#e=r2,i2):(e2.pos=n2,warn$1("Type1Font: unable to parse CID-keyed Type 1 font."),null)}get numGlyphs(){return this.charstrings.length+1}getCharset(){let e2=[".notdef"];for(let{glyphName:t2}of this.charstrings)e2.push(t2);return e2}getGlyphMapping(e2){let t2=this.charstrings;if(e2.composite){let n3=Object.create(null);for(let r3=0,i3=t2.length;r3<i3;r3++){let t3=e2.cMap.charCodeOf(r3);n3[t3]=r3+1}return n3}let n2=[".notdef"],r2,i2;for(i2=0;i2<t2.length;i2++)n2.push(t2[i2].glyphName);let a2=e2.builtInEncoding;if(a2){r2=Object.create(null);for(let e3 in a2)i2=n2.indexOf(a2[e3]),i2>=0&&(r2[e3]=i2)}return type1FontGlyphMapping(e2,r2,n2)}hasGlyphId(e2){return e2<0||e2>=this.numGlyphs?!1:e2===0||this.charstrings[e2-1].charstring.length>0}getSeacs(e2){let t2=[];for(let n2=0,r2=e2.length;n2<r2;n2++){let r3=e2[n2];r3.seac&&(t2[n2+1]=r3.seac)}return t2}getType2Charstrings(e2){let t2=[];for(let n2 of e2)t2.push(n2.charstring);return t2}getType2Subrs(e2){let t2=0,n2=e2.length;t2=n2<1133?107:n2<33769?1131:32768;let r2=[],i2;for(i2=0;i2<t2;i2++)r2.push([11]);for(i2=0;i2<n2;i2++)r2.push(e2[i2]);return r2}wrap(e2,t2,n2,r2,i2){let a2=new CFF(this.#e);a2.header=new CFFHeader(1,0,4,4),a2.names=[e2];let o2=new Mt;o2.setByName("version",391),o2.setByName("Notice",392),o2.setByName("FullName",393),o2.setByName("FamilyName",394),o2.setByName("Weight",395),o2.setByName("Encoding",null),o2.setByName("FontMatrix",i2.fontMatrix),o2.setByName("FontBBox",i2.bbox),o2.setByName("charset",null),o2.setByName("CharStrings",null),o2.setByName("Private",null),a2.topDict=o2;let s2=new CFFStrings;s2.add("Version 0.11"),s2.add("See original notice"),s2.add(e2),s2.add(e2),s2.add("Medium"),a2.strings=s2,a2.globalSubrIndex=new CFFIndex;let c2=t2.length,l2=[".notdef"];for(let e3=0;e3<c2;e3++){let{glyphName:t3}=n2[e3];Et.indexOf(t3)===-1&&s2.add(t3),l2.push(t3)}a2.charset=new CFFCharset(!1,0,l2);let u2=new CFFIndex;u2.add([139,14]);for(let e3=0;e3<c2;e3++)u2.add(t2[e3]);a2.charStrings=u2;let d2=new Pt;d2.setByName("Subrs",null);for(let e3 of["BlueValues","OtherBlues","FamilyBlues","FamilyOtherBlues","StemSnapH","StemSnapV","BlueShift","BlueFuzz","BlueScale","LanguageGroup","ExpansionFactor","ForceBold","StdHW","StdVW"]){if(!i2.privateData.has(e3))continue;let t3=i2.privateData.get(e3);if(Array.isArray(t3))for(let e4=t3.length-1;e4>0;e4--)t3[e4]-=t3[e4-1];d2.setByName(e3,t3)}a2.topDict.privateDict=d2;let f2=new CFFIndex;for(let e3 of r2)f2.add(e3);return d2.subrsIndex=f2,new It(a2).compile()}},tn=[[57344,63743],[1048576,1114109]],nn=1e3,rn=["ascent","bbox","black","bold","cssFontInfo","data","defaultVMetrics","defaultWidth","descent","disableFontFace","fallbackName","fontExtraProperties","fontMatrix","isInvalidPDFjsFont","isType3Font","italic","loadedName","mimetype","missingFile","name","remeasure","systemFontInfo","vertical"],an=["cMap","composite","defaultEncoding","differences","isMonospace","isSerifFont","isSymbolicFont","seacMap","subtype","toFontChar","toUnicode","type","vmetrics","widths"];function adjustWidths(e2){if(!e2.fontMatrix||e2.fontMatrix[0]===r[0])return;let t2=.001/e2.fontMatrix[0],n2=e2.widths;for(let e3 in n2)n2[e3]*=t2;e2.defaultWidth*=t2}function adjustTrueTypeToUnicode(e2,t2,n2){if(e2.isInternalFont||e2.hasIncludedToUnicodeMap||e2.hasEncoding||e2.toUnicode instanceof IdentityToUnicodeMap||!t2||n2.length===0||e2.defaultEncoding===ut)return;for(let e3 of n2)if(!isWinNameRecord(e3))return;let r2=ut,i2=[],a2=pt();for(let e3 in r2){let t3=r2[e3];if(t3==="")continue;let n3=a2[t3];n3!==void 0&&(i2[e3]=String.fromCharCode(n3))}i2.length>0&&e2.toUnicode.amend(i2)}function adjustType1ToUnicode(e2,t2){if(e2.isInternalFont||e2.hasIncludedToUnicodeMap||t2===e2.defaultEncoding||e2.toUnicode instanceof IdentityToUnicodeMap)return;let n2=[],r2=pt();for(let i2 in t2){if(e2.hasEncoding&&(e2.baseEncodingName||e2.differences[i2]!==void 0))continue;let a2=t2[i2],o2=getUnicodeForGlyph(a2,r2);o2!==-1&&(n2[i2]=String.fromCharCode(o2))}n2.length>0&&e2.toUnicode.amend(n2)}function amendFallbackToUnicode(e2){if(!e2.fallbackToUnicode||e2.toUnicode instanceof IdentityToUnicodeMap)return;let t2=[];for(let n2 in e2.fallbackToUnicode)e2.toUnicode.has(n2)||(t2[n2]=e2.fallbackToUnicode[n2]);t2.length>0&&e2.toUnicode.amend(t2)}var fonts_Glyph=class{constructor(e2,t2,n2,r2,i2,a2,o2,s2,c2){this.originalCharCode=e2,this.fontChar=t2,this.unicode=n2,this.accent=r2,this.width=i2,this.vmetric=a2,this.operatorListId=o2,this.isSpace=s2,this.isInFont=c2}get category(){return shadow$1(this,"category",getCharUnicodeCategory(this.unicode),!0)}};function int16(e2,t2){return(e2<<8)+t2}function writeSignedInt16(e2,t2,n2){e2[t2+1]=n2,e2[t2]=n2>>>8}function signedInt16(e2,t2){let n2=(e2<<8)+t2;return n2&32768?n2-65536:n2}function writeUint32(e2,t2,n2){e2[t2+3]=n2&255,e2[t2+2]=n2>>>8,e2[t2+1]=n2>>>16,e2[t2]=n2>>>24}function isTrueTypeFile(e2){let t2=bytesToString$1(e2.peekBytes(4));return t2==="\0\0\0"||t2==="true"}function isTrueTypeCollectionFile(e2){return bytesToString$1(e2.peekBytes(4))==="ttcf"}function isOpenTypeFile(e2){return bytesToString$1(e2.peekBytes(4))==="OTTO"}function isType1File(e2){let t2=e2.peekBytes(2);return t2[0]===37&&t2[1]===33||t2[0]===128&&t2[1]===1}function isCFFFile(e2){let t2=e2.peekBytes(4);return t2[0]>=1&&t2[3]>=1&&t2[3]<=4}function getFontFileType(e2,{type:t2,subtype:n2,composite:r2}){let i2,a2;return isTrueTypeFile(e2)||isTrueTypeCollectionFile(e2)?i2=r2?"CIDFontType2":"TrueType":isOpenTypeFile(e2)?i2=r2?"CIDFontType2":"OpenType":isType1File(e2)?i2=r2?"CIDFontType0":t2==="MMType1"?"MMType1":"Type1":isCFFFile(e2)?r2?(i2="CIDFontType0",a2="CIDFontType0C"):(i2=t2==="MMType1"?"MMType1":"Type1",a2="Type1C"):(warn$1("getFontFileType: Unable to detect correct font file Type/Subtype."),i2=t2,a2=n2),[i2,a2]}function applyStandardFontGlyphMap(e2,t2){for(let n2 in t2)e2[+n2]=t2[n2]}function buildToFontChar(e2,t2,n2){let r2=[],i2;for(let n3=0,a2=e2.length;n3<a2;n3++)i2=getUnicodeForGlyph(e2[n3],t2),i2!==-1&&(r2[n3]=i2);for(let e3 in n2)i2=getUnicodeForGlyph(n2[e3],t2),i2!==-1&&(r2[+e3]=i2);return r2}function isMacNameRecord(e2){return e2.platform===1&&e2.encoding===0&&e2.language===0}function isWinNameRecord(e2){return e2.platform===3&&e2.encoding===1&&e2.language===1033}function convertCidString(e2,t2,n2=!1){switch(t2.length){case 1:return t2.charCodeAt(0);case 2:return t2.charCodeAt(0)<<8|t2.charCodeAt(1)}let r2=`Unsupported CID string (charCode ${e2}): "${t2}".`;if(n2)throw new FormatError$1(r2);return warn$1(r2),t2}function adjustMapping(e2,t2,n2,r2){let i2=Object.create(null),a2=new Map,o2=[],s2=new Set,c2=0,l2=tn[c2][0],u2=tn[c2][1],isInPrivateArea=e3=>tn[0][0]<=e3&&e3<=tn[0][1]||tn[1][0]<=e3&&e3<=tn[1][1],d2=null;for(let f2 in e2){let p2=e2[f2];if(!t2(p2))continue;if(l2>u2){if(c2++,c2>=tn.length){warn$1("Ran out of space in font private use area.");break}l2=tn[c2][0],u2=tn[c2][1]}let m2=l2++;p2===0&&(p2=n2);let h2=r2.get(f2);if(typeof h2=="string")if(h2.length===1)h2=h2.codePointAt(0);else{if(!d2){d2=new Map;for(let e3=64256;e3<=64335;e3++){let t3=String.fromCharCode(e3).normalize("NFKD");t3.length>1&&d2.set(t3,e3)}}h2=d2.get(h2)||h2.codePointAt(0)}h2&&!isInPrivateArea(h2)&&!s2.has(p2)&&(a2.set(h2,p2),s2.add(p2)),i2[m2]=p2,o2[f2]=m2}return{toFontChar:o2,charCodeToGlyphId:i2,toUnicodeExtraMap:a2,nextAvailableFontCharCode:l2}}function getRanges(e2,t2,n2){let r2=[];for(let t3 in e2)e2[t3]>=n2||r2.push({fontCharCode:t3|0,glyphId:e2[t3]});if(t2)for(let[e3,i3]of t2)i3>=n2||r2.push({fontCharCode:e3,glyphId:i3});r2.length===0&&r2.push({fontCharCode:0,glyphId:0}),r2.sort((e3,t3)=>e3.fontCharCode-t3.fontCharCode);let i2=[],a2=r2.length;for(let e3=0;e3<a2;){let t3=r2[e3].fontCharCode,n3=[r2[e3].glyphId];++e3;let o2=t3;for(;e3<a2&&o2+1===r2[e3].fontCharCode&&(n3.push(r2[e3].glyphId),++o2,++e3,o2!==65535););i2.push([t3,o2,n3])}return i2}function createCmapTable(e2,t2,n2){let r2=getRanges(e2,t2,n2),i2=r2.at(-1)[1]>65535,a2,o2,s2,c2;for(a2=r2.length-1;a2>=0&&!(r2[a2][0]<=65535);--a2);let l2=a2+1;r2[a2][0]<65535&&r2[a2][1]===65535&&(r2[a2][1]=65534);let u2=+(r2[a2][1]<65535),d2=l2+u2,f2=Qt.getSearchParams(d2,2),p2=l2*2+u2*2,m2=new DataBuilder({exactLength:p2}),h2=new DataBuilder({exactLength:p2}),g2=new DataBuilder({exactLength:p2}),_2=new DataBuilder({exactLength:p2}),v2=new DataBuilder({}),y2=0,b2=!1;for(a2=0,o2=l2;a2<o2;a2++){let[e3,t3,n3]=r2[a2];m2.setInt16(e3),h2.setInt16(t3);let i3=!0;for(s2=1,c2=n3.length;s2<c2;++s2)if(n3[s2]!==n3[s2-1]+1){i3=!1;break}if(i3){let t4=n3[0];g2.setInt16(t4-e3&65535),_2.skip(2)}else{let r3=(d2-a2)*2+y2*2;for(y2+=t3-e3+1,g2.skip(2),r3>65535?(b2=!0,_2.skip(2)):_2.setInt16(r3),s2=0,c2=n3.length;s2<c2;++s2)v2.setInt16(n3[s2])}}u2>0&&(h2.setArray([255,255]),m2.setArray([255,255]),g2.setArray([0,1]),_2.skip(2));let x2=new DataBuilder({exactLength:12+m2.length+h2.length+g2.length+_2.length+v2.length});x2.skip(2),x2.setInt16(2*d2),x2.setInt16(f2.range),x2.setInt16(f2.entry),x2.setInt16(f2.rangeShift),x2.setArray(h2.data),x2.skip(2),x2.setArray(m2.data),x2.setArray(g2.data),x2.setArray(_2.data),x2.setArray(v2.data);let S2=!b2&&x2.length+4<=65535,C2=i2||!S2,w2=+!!S2+ +!!C2,T2=null,E2=null;if(C2){T2=new DataBuilder({});for(let e3 of r2){let t3=e3[0],n3=e3[2],r3=n3[0];for(s2=1,c2=n3.length;s2<c2;++s2)if(n3[s2]!==n3[s2-1]+1){let i3=e3[0]+s2-1;T2.setInt32(t3),T2.setInt32(i3),T2.setInt32(r3),t3=i3+1,r3=n3[s2]}T2.setInt32(t3),T2.setInt32(e3[1]),T2.setInt32(r3)}E2=new DataBuilder({exactLength:16}),E2.setArray([0,12]),E2.skip(2),E2.setInt32(T2.length+16),E2.skip(4),E2.setInt32(T2.length/12)}let D2=4+w2*8,O2=S2?4+x2.length:0,k2=new DataBuilder({exactLength:D2});k2.skip(2),k2.setInt16(w2);let j2=D2;S2&&(k2.setArray([0,3]),k2.setArray([0,1]),k2.setInt32(j2),j2+=O2),C2&&(k2.setArray([0,3]),k2.setArray([0,10]),k2.setInt32(j2));let ee2=new DataBuilder({exactLength:k2.length+O2+(E2?.length??0)+(T2?.length??0)});return ee2.setArray(k2.data),S2&&(ee2.setArray([0,4]),ee2.setInt16(x2.length+4),ee2.setArray(x2.data)),C2&&(ee2.setArray(E2.data),ee2.setArray(T2.data)),ee2.data}function validateOS2Table(e2,t2){t2.pos=(t2.start||0)+e2.offset;let n2=t2.getUint16(),r2=[78,86,96,96,96,100][n2];if(r2===void 0||e2.length<r2)return!1;t2.skip(60);let i2=t2.getUint16();return n2<4&&i2&768||t2.getUint16()>t2.getUint16()||(t2.skip(6),t2.getUint16()===0)?!1:(e2.data[8]=e2.data[9]=0,!0)}function createOS2Table(e2,t2,n2){n2||={unitsPerEm:0,yMax:0,yMin:0,ascent:0,descent:0};let r2=0,i2=0,a2=0,o2=0,s2=null,c2=0,l2=-1;if(t2){for(let e3 in t2)if(e3|=0,(s2>e3||!s2)&&(s2=e3),c2<e3&&(c2=e3),l2=getUnicodeRangeFor(e3,l2),l2<32)r2|=1<<l2;else if(l2<64)i2|=1<<l2-32;else if(l2<96)a2|=1<<l2-64;else if(l2<123)o2|=1<<l2-96;else throw new FormatError$1("Unicode ranges Bits > 123 are reserved for internal usage");c2>65535&&(c2=65535)}else s2=0,c2=255;let u2=e2.bbox||[0,0,0,0],d2=n2.unitsPerEm||(e2.fontMatrix?1/Math.max(...e2.fontMatrix.slice(0,4).map(Math.abs)):1e3),f2=e2.ascentScaled?1:d2/nn,p2=n2.ascent||Math.round(f2*(e2.ascent||u2[3])),m2=n2.descent||Math.round(f2*(e2.descent||u2[1]));m2>0&&e2.descent>0&&u2[1]<0&&(m2=-m2);let h2=n2.yMax||p2,g2=-n2.yMin||-m2,_2=new DataBuilder({exactLength:96});return _2.setArray([0,3]),_2.setArray([2,36]),_2.setArray([1,244]),_2.setArray([0,5]),_2.skip(2),_2.setArray([2,138]),_2.setArray([2,187]),_2.skip(2),_2.setArray([0,140]),_2.setArray([2,138]),_2.setArray([2,187]),_2.skip(2),_2.setArray([1,223]),_2.setArray([0,49]),_2.setArray([1,2]),_2.skip(2),_2.setArray([0,0,6,e2.fixedPitch?9:0,0,0,0,0,0,0]),_2.setInt32(r2),_2.setInt32(i2),_2.setInt32(a2),_2.setInt32(o2),_2.setArray([42,50,49,42]),_2.setInt16(+!!e2.italicAngle),_2.setInt16(s2||e2.firstChar),_2.setInt16(c2||e2.lastChar),_2.setInt16(p2),_2.setInt16(m2),_2.setArray([0,100]),_2.setInt16(h2),_2.setInt16(g2),_2.skip(8),_2.setInt16(e2.xHeight),_2.setInt16(e2.capHeight),_2.skip(2),_2.setInt16(s2||e2.firstChar),_2.setArray([0,3]),_2.data}function createPostTable(e2){let t2=new DataBuilder({exactLength:32});return t2.setArray([0,3,0,0]),t2.setInt32(Math.floor(e2.italicAngle*2**16)),t2.skip(4),t2.setInt32(+!!e2.fixedPitch),t2.skip(16),t2.data}function createPostscriptName(e2){return e2.replaceAll(/[^\x21-\x7E]|[[\](){}<>/%]/g,"").slice(0,63)}function createNameTable(e2,t2){t2||=[[],[]];let n2=[t2[0][0]||"Original licence",t2[0][1]||e2,t2[0][2]||"Unknown",t2[0][3]||"uniqueID",t2[0][4]||e2,t2[0][5]||"Version 0.11",t2[0][6]||createPostscriptName(e2),t2[0][7]||"Unknown",t2[0][8]||"Unknown",t2[0][9]||"Unknown"],r2=n2.map(e3=>stringToBytes$1(e3)),i2=Array(n2.length),a2,o2,s2,c2,l2;for(a2=0,o2=n2.length;a2<o2;a2++){l2=t2[1][a2]||n2[a2];let e3=new DataBuilder({exactLength:l2.length*2});for(s2=0,c2=l2.length;s2<c2;s2++)e3.setInt16(l2.charCodeAt(s2));i2[a2]=e3.data}let u2=[r2,i2],d2=[[0,1],[0,3]],f2=[[0,0],[0,1]],p2=[[0,0],[4,9]],m2=[],h2=0;for(a2=0,o2=d2.length;a2<o2;a2++){let e3=u2[a2];for(s2=0,c2=e3.length;s2<c2;s2++){l2=e3[s2];let t3=new DataBuilder({exactLength:6+d2[a2].length+f2[a2].length+p2[a2].length});t3.setArray(d2[a2]),t3.setArray(f2[a2]),t3.setArray(p2[a2]),t3.setInt16(s2),t3.setInt16(l2.length),t3.setInt16(h2),m2.push(t3.data),h2+=l2.length}}let g2=r2.length*d2.length,_2=new DataBuilder({exactLength:6+Math.sumPrecise(m2.map(e3=>e3.length))+Math.sumPrecise(r2.map(e3=>e3.length))+Math.sumPrecise(i2.map(e3=>e3.length))});_2.skip(2),_2.setInt16(g2),_2.setInt16(g2*12+6);for(let e3 of m2)_2.setArray(e3);for(let e3 of r2)_2.setArray(e3);for(let e3 of i2)_2.setArray(e3);return _2.data}var Font=class{#e=new Map;#t=new Map;charProcOperatorList;constructor(e2,t2,n2,r2){this.name=e2,this.psName=null,this.mimetype=null,this.disableFontFace=r2.disableFontFace,this.fontExtraProperties=r2.fontExtraProperties,this.loadedName=n2.loadedName,this.isType3Font=n2.isType3Font,this.missingFile=!1,this.cssFontInfo=n2.cssFontInfo;let i2=!!(n2.flags&yt.Serif);if(!i2&&!n2.isSimulatedFlags){let t3=Lt(),n3=zt(),r3=Bt();for(let a3 of e2.split("+")){let e3=normalizeFontName(a3);if(e3=t3[e3]||n3[e3]||e3,e3=e3.split("-",1)[0],r3[e3]){i2=!0;break}}}this.isSerifFont=i2,this.isSymbolicFont=!!(n2.flags&yt.Symbolic),this.isMonospace=!!(n2.flags&yt.FixedPitch);let{type:a2,subtype:o2}=n2;this.type=a2,this.subtype=o2,this.systemFontInfo=n2.systemFontInfo;let s2=e2.match(/^InvalidPDFjsFont_(.*)_\d+$/);if(this.isInvalidPDFjsFont=!!s2,this.isInvalidPDFjsFont?this.fallbackName=s2[1]:this.isMonospace?this.fallbackName="monospace":this.isSerifFont?this.fallbackName="serif":this.fallbackName="sans-serif",this.systemFontInfo?.guessFallback&&(this.systemFontInfo.guessFallback=!1,this.systemFontInfo.css+=`,${this.fallbackName}`),this.differences=n2.differences,this.widths=n2.widths,this.defaultWidth=n2.defaultWidth,this.composite=n2.composite,this.cMap=n2.cMap,this.capHeight=n2.capHeight/nn,this.ascent=n2.ascent/nn,this.descent=n2.descent/nn,this.lineHeight=this.ascent-this.descent,this.fontMatrix=n2.fontMatrix,this.bbox=n2.bbox,this.defaultEncoding=n2.defaultEncoding,this.toUnicode=n2.toUnicode,this.toFontChar=[],n2.type==="Type3"){for(let e3=0;e3<256;e3++)this.toFontChar[e3]=this.differences[e3]||n2.defaultEncoding[e3];return}if(this.cidEncoding=n2.cidEncoding||"",this.vertical=!!n2.vertical,this.vertical&&(this.vmetrics=n2.vmetrics,this.defaultVMetrics=n2.defaultVMetrics),!t2||t2.isEmpty){t2&&warn$1('Font file is empty in "'+e2+'" ('+this.loadedName+")"),this.fallbackToSystemFont(n2);return}[a2,o2]=getFontFileType(t2,n2),(a2!==this.type||o2!==this.subtype)&&info$1(`Inconsistent font file Type/SubType, expected: ${this.type}/${this.subtype} but found: ${a2}/${o2}.`);let c2;try{switch(a2){case"MMType1":info$1("MMType1 font ("+e2+"), falling back to Type1.");case"Type1":case"CIDFontType0":this.mimetype="font/opentype";let r3=o2==="Type1C"||o2==="CIDFontType0C"?new CFFFont(t2,n2):new Type1Font(e2,t2,n2);adjustWidths(n2),c2=this.convert(e2,r3,n2);break;case"OpenType":case"TrueType":case"CIDFontType2":this.mimetype="font/opentype",c2=this.checkAndRepair(e2,t2,n2),adjustWidths(n2),this.isOpenType&&(a2="OpenType");break;default:throw new FormatError$1(`Font ${a2} is not supported`)}}catch(e3){warn$1(e3),this.fallbackToSystemFont(n2);return}amendFallbackToUnicode(n2),this.data=c2,this.type=a2,this.subtype=o2,this.fontMatrix=n2.fontMatrix,this.widths=n2.widths,this.defaultWidth=n2.defaultWidth,this.toUnicode=n2.toUnicode,this.seacMap=n2.seacMap}get renderer(){let e2=FontRendererFactory.create(this,!0);return shadow$1(this,"renderer",e2)}#n(e2){let t2=Object.create(null);for(let n2 of e2){let e3=this[n2];e3!==void 0&&(t2[n2]=e3)}return t2}exportData(){return{buffer:compileFontInfo(this.#n(rn)),charProcOperatorList:this.charProcOperatorList,extra:this.fontExtraProperties?this.#n(an):void 0}}fallbackToSystemFont(e2){this.missingFile=!0;let{name:t2,type:n2}=this,r2=normalizeFontName(t2),i2=Lt(),a2=zt(),o2=!!i2[r2],s2=!!(a2[r2]&&i2[a2[r2]]);r2=i2[r2]||a2[r2]||r2;let c2=Zt()[r2];c2&&(isNaN(this.ascent)&&(this.ascent=c2.ascent/nn),isNaN(this.descent)&&(this.descent=c2.descent/nn),isNaN(this.capHeight)&&(this.capHeight=c2.capHeight/nn)),this.bold=/bold/i.test(r2),this.italic=/oblique|italic/i.test(r2),this.black=/Black/.test(t2);let l2=/Narrow/.test(t2);if(this.remeasure=(!o2||l2)&&Object.keys(this.widths).length>0,(o2||s2)&&n2==="CIDFontType2"&&this.cidEncoding.startsWith("Identity-")){let n3=e2.cidToGidMap,r3=[];if(applyStandardFontGlyphMap(r3,Ht()),/Arial-?Black/i.test(t2)?applyStandardFontGlyphMap(r3,Ut()):/Calibri/i.test(t2)&&applyStandardFontGlyphMap(r3,Wt()),n3){for(let e3 in r3){let t3=r3[e3];n3[t3]!==void 0&&(r3[+e3]=n3[t3])}n3.length!==this.toUnicode.length&&e2.hasIncludedToUnicodeMap&&this.toUnicode instanceof IdentityToUnicodeMap&&this.toUnicode.forEach(function(e3,t3){let i3=r3[e3];n3[i3]===void 0&&(r3[+e3]=t3)})}this.toUnicode instanceof IdentityToUnicodeMap||this.toUnicode.forEach(function(e3,t3){r3[+e3]=t3}),this.toFontChar=r3,this.toUnicode=new ToUnicodeMap(r3)}else if(/Symbol/i.test(r2))this.toFontChar=buildToFontChar(dt,pt(),this.differences);else if(/Dingbats/i.test(r2))this.toFontChar=buildToFontChar(ft,mt(),this.differences);else if(o2||s2){let e3=buildToFontChar(this.defaultEncoding,pt(),this.differences);n2==="CIDFontType2"&&!this.cidEncoding.startsWith("Identity-")&&!(this.toUnicode instanceof IdentityToUnicodeMap)&&this.toUnicode.forEach(function(t3,n3){e3[+t3]=n3}),this.toFontChar=e3}else{let e3=pt(),n3=[];this.toUnicode.forEach((t3,r3)=>{if(!this.composite){let n4=getUnicodeForGlyph(this.differences[t3]||this.defaultEncoding[t3],e3);n4!==-1&&(r3=n4)}n3[+t3]=r3}),this.composite&&this.toUnicode instanceof IdentityToUnicodeMap&&/Tahoma|Verdana/i.test(t2)&&applyStandardFontGlyphMap(n3,Ht()),this.toFontChar=n3}amendFallbackToUnicode(e2),this.loadedName=r2.split("-",1)[0]}checkAndRepair(e2,t2,n2){let r2=["OS/2","cmap","head","hhea","hmtx","maxp","name","post","loca","glyf","fpgm","prep","cvt ","CFF "];function readTables(e3,t3){let n3=Object.create(null);n3["OS/2"]=null,n3.cmap=null,n3.head=null,n3.hhea=null,n3.hmtx=null,n3.maxp=null,n3.name=null,n3.post=null;for(let i3=0;i3<t3;i3++){let t4=readTableEntry(e3);r2.includes(t4.tag)&&t4.length!==0&&(n3[t4.tag]=t4)}return n3}function readTableEntry(e3){let t3=e3.getString(4),n3=e3.getInt32()>>>0,r3=e3.getInt32()>>>0,i3=e3.getInt32()>>>0,a3=e3.pos;e3.pos=e3.start||0,e3.skip(r3);let o3=e3.getBytes(i3);return e3.pos=a3,t3==="head"&&(o3[8]=o3[9]=o3[10]=o3[11]=0,o3[17]|=32),{tag:t3,checksum:n3,length:i3,offset:r3,data:o3,view:t3==="CFF "?null:new DataView(o3.buffer,o3.byteOffset,o3.byteLength)}}function readOpenTypeHeader(e3){return{version:e3.getString(4),numTables:e3.getUint16(),searchRange:e3.getUint16(),entrySelector:e3.getUint16(),rangeShift:e3.getUint16()}}function readTrueTypeCollectionHeader(e3){let t3=e3.getString(4);assert$1(t3==="ttcf","Must be a TrueType Collection font.");let n3=e3.getUint16(),r3=e3.getUint16(),i3=e3.getInt32()>>>0,a3=[];for(let t4=0;t4<i3;t4++)a3.push(e3.getInt32()>>>0);let o3={ttcTag:t3,majorVersion:n3,minorVersion:r3,numFonts:i3,offsetTable:a3};switch(n3){case 1:return o3;case 2:return o3.dsigTag=e3.getInt32()>>>0,o3.dsigLength=e3.getInt32()>>>0,o3.dsigOffset=e3.getInt32()>>>0,o3}throw new FormatError$1(`Invalid TrueType Collection majorVersion: ${n3}.`)}function readTrueTypeCollectionData(e3,t3){let{numFonts:n3,offsetTable:r3}=readTrueTypeCollectionHeader(e3),i3=t3.split("+"),a3;for(let o3=0;o3<n3;o3++){e3.pos=(e3.start||0)+r3[o3];let n4=readOpenTypeHeader(e3),s3=readTables(e3,n4.numTables);if(!s3.name)throw new FormatError$1('TrueType Collection font must contain a "name" table.');let[c3]=readNameTable(s3.name);for(let e4=0,r4=c3.length;e4<r4;e4++)for(let r5=0,o4=c3[e4].length;r5<o4;r5++){let o5=c3[e4][r5]?.replaceAll(/\s/g,"");if(o5){if(o5===t3)return{header:n4,tables:s3};if(!(i3.length<2))for(let e5 of i3)o5===e5&&(a3={name:e5,header:n4,tables:s3})}}}if(a3)return warn$1(`TrueType Collection does not contain "${t3}" font, falling back to "${a3.name}" font instead.`),{header:a3.header,tables:a3.tables};throw new FormatError$1(`TrueType Collection does not contain "${t3}" font.`)}function readCmapTable(e3,t3,n3,r3){if(!e3)return warn$1("No cmap table available."),{platformId:-1,encodingId:-1,mappings:[],hasShortCmap:!1};let i3,a3=(t3.start||0)+e3.offset;t3.pos=a3,t3.skip(2);let o3=t3.getUint16(),s3,c3=!1;for(let e4=0;e4<o3;e4++){let i4=t3.getUint16(),a4=t3.getUint16(),l4=t3.getInt32()>>>0,u4=!1;if(s3?.platformId!==i4||s3?.encodingId!==a4){if(i4===0&&(a4===0||a4===1||a4===3))u4=!0;else if(i4===1&&a4===0)u4=!0;else if(i4===3&&a4===1&&(r3||!s3))u4=!0,n3||(c3=!0);else if(n3&&i4===3&&a4===0){u4=!0;let n4=!0;if(e4<o3-1){let e5=t3.peekBytes(2);int16(e5[0],e5[1])<i4&&(n4=!1)}n4&&(c3=!0)}if(u4&&(s3={platformId:i4,encodingId:a4,offset:l4}),c3)break}}if(s3&&(t3.pos=a3+s3.offset),!s3||t3.peekByte()===-1)return warn$1("Could not find a preferred cmap table."),{platformId:-1,encodingId:-1,mappings:[],hasShortCmap:!1};let l3=t3.getUint16(),u3=!1,d3=[],f3,p3;if(l3===0){for(t3.skip(4),f3=0;f3<256;f3++){let e4=t3.getByte();e4&&d3.push({charCode:f3,glyphId:e4})}u3=!0}else if(l3===2){t3.skip(4);let e4=[],n4=0;for(let r5=0;r5<256;r5++){let r6=t3.getUint16()>>3;e4.push(r6),n4=Math.max(r6,n4)}let r4=[];for(let e5=0;e5<=n4;e5++)r4.push({firstCode:t3.getUint16(),entryCount:t3.getUint16(),idDelta:signedInt16(t3.getByte(),t3.getByte()),idRangePos:t3.pos+t3.getUint16()});for(let n5=0;n5<256;n5++)if(e4[n5]===0)t3.pos=r4[0].idRangePos+2*n5,p3=t3.getUint16(),d3.push({charCode:n5,glyphId:p3});else{let i4=r4[e4[n5]];for(f3=0;f3<i4.entryCount;f3++){let e5=(n5<<8)+f3+i4.firstCode;t3.pos=i4.idRangePos+2*f3,p3=t3.getUint16(),p3!==0&&(p3=(p3+i4.idDelta)%65536),d3.push({charCode:e5,glyphId:p3})}}}else if(l3===4){t3.skip(4);let e4=t3.getUint16()>>1;t3.skip(6);let n4=[],r4;for(r4=0;r4<e4;r4++)n4.push({end:t3.getUint16()});for(t3.skip(2),r4=0;r4<e4;r4++)n4[r4].start=t3.getUint16();for(r4=0;r4<e4;r4++)n4[r4].delta=t3.getUint16();let o4=0,s4;for(r4=0;r4<e4;r4++){i3=n4[r4];let a4=t3.getUint16();if(!a4){i3.offsetIndex=-1;continue}s4=(a4>>1)-(e4-r4),i3.offsetIndex=s4,o4=Math.max(o4,s4+i3.end-i3.start+1)}let c4=[];for(f3=0;f3<o4;f3++)c4.push(t3.getUint16());for(r4=0;r4<e4;r4++){i3=n4[r4],a3=i3.start;let e5=i3.end,t4=i3.delta;for(s4=i3.offsetIndex,f3=a3;f3<=e5;f3++)f3!==65535&&(p3=s4<0?f3:c4[s4+f3-a3],p3=p3+t4&65535,d3.push({charCode:f3,glyphId:p3}))}}else if(l3===6){t3.skip(4);let e4=t3.getUint16(),n4=t3.getUint16();for(f3=0;f3<n4;f3++){p3=t3.getUint16();let n5=e4+f3;d3.push({charCode:n5,glyphId:p3})}}else if(l3===12){t3.skip(10);let e4=t3.getInt32()>>>0;for(f3=0;f3<e4;f3++){let e5=t3.getInt32()>>>0,n4=t3.getInt32()>>>0,r4=t3.getInt32()>>>0;for(let t4=e5;t4<=n4;t4++)d3.push({charCode:t4,glyphId:r4++})}}else return warn$1("cmap table has unsupported format: "+l3),{platformId:-1,encodingId:-1,mappings:[],hasShortCmap:!1};let m3=[],h3=new Set;for(let e4 of d3){let{charCode:t4}=e4;h3.has(t4)||(h3.add(t4),m3.push(e4))}return{platformId:s3.platformId,encodingId:s3.encodingId,mappings:m3.sort((e4,t4)=>e4.charCode-t4.charCode),hasShortCmap:u3}}function sanitizeMetrics(e3,t3,n3,r3,i3,a3){if(!t3){n3&&(n3.data=null);return}e3.pos=(e3.start||0)+t3.offset,e3.pos+=4,e3.pos+=2,e3.pos+=2,e3.pos+=2,e3.pos+=2,e3.pos+=2,e3.pos+=2,e3.pos+=2,e3.pos+=2,e3.pos+=2;let o3=e3.getUint16();e3.pos+=8,e3.pos+=2;let s3=e3.getUint16();o3!==0&&(int16(r3.data[44],r3.data[45])&2||(t3.data[22]=0,t3.data[23]=0)),s3>i3&&(info$1(`The numOfMetrics (${s3}) should not be greater than the numGlyphs (${i3}).`),s3=i3,t3.data[34]=(s3&65280)>>8,t3.data[35]=s3&255);let c3=i3-s3-(n3.length-s3*4>>1);if(c3>0){let e4=new Uint8Array(n3.length+c3*2);e4.set(n3.data),a3&&(e4[n3.length]=n3.data[2],e4[n3.length+1]=n3.data[3]),n3.data=e4}}function sanitizeGlyph(e3,t3,n3,r3,i3,a3){let o3={length:0,sizeOfInstructions:0};if(t3<0||t3>=e3.length||n3>e3.length||n3-t3<=12)return o3;let s3=e3.subarray(t3,n3),c3=signedInt16(s3[2],s3[3]),l3=signedInt16(s3[4],s3[5]),u3=signedInt16(s3[6],s3[7]),d3=signedInt16(s3[8],s3[9]);c3>u3&&(writeSignedInt16(s3,2,u3),writeSignedInt16(s3,6,c3)),l3>d3&&(writeSignedInt16(s3,4,d3),writeSignedInt16(s3,8,l3));let f3=signedInt16(s3[0],s3[1]);if(f3<0)return f3<-1||(r3.set(s3,i3),o3.length=s3.length),o3;let p3,m3=10,h3=0;for(p3=0;p3<f3;p3++)h3=(s3[m3]<<8|s3[m3+1])+1,m3+=2;let g3=m3,_3=s3[m3]<<8|s3[m3+1];o3.sizeOfInstructions=_3,m3+=2+_3;let v3=m3,y3=0;for(p3=0;p3<h3;p3++){let e4=s3[m3++];e4&192&&(s3[m3-1]=e4&63);let t4=2;e4&2?t4=1:e4&16&&(t4=0);let n4=2;e4&4?n4=1:e4&32&&(n4=0);let r4=t4+n4;if(y3+=r4,e4&8){let e5=s3[m3++];e5===0&&(s3[m3-1]^=8),p3+=e5,y3+=e5*r4}}if(y3===0)return o3;let b3=m3+y3;return b3>s3.length?o3:!a3&&_3>0?(r3.set(s3.subarray(0,g3),i3),r3.set([0,0],i3+g3),r3.set(s3.subarray(v3,b3),i3+g3+2),b3-=_3,s3.length-b3>3&&(b3=b3+3&-4),o3.length=b3,o3):s3.length-b3>3?(b3=b3+3&-4,r3.set(s3.subarray(0,b3),i3),o3.length=b3,o3):(r3.set(s3,i3),o3.length=s3.length,o3)}function sanitizeHead(e3,t3,n3){let{data:r3,view:i3}=e3,a3=i3.getInt32(0);a3>>16!=1&&(info$1("Attempting to fix invalid version in head table: "+a3),i3.setInt32(0,65536));let o3=signedInt16(r3[50],r3[51]);if(o3<0||o3>1){info$1("Attempting to fix invalid indexToLocFormat in head table: "+o3);let e4=t3+1;if(n3===e4<<1)r3[50]=0,r3[51]=0;else if(n3===e4<<2)r3[50]=0,r3[51]=1;else throw new FormatError$1("Could not fix indexToLocFormat: "+o3)}}function sanitizeGlyphLocations(e3,t3,n3,r3,i3,a3,o3){let s3,c3,l3;r3?(s3=4,c3=function(e4,t4){return e4[t4]<<24|e4[t4+1]<<16|e4[t4+2]<<8|e4[t4+3]},l3=function(e4,t4,n4){e4[t4]=n4>>>24&255,e4[t4+1]=n4>>16&255,e4[t4+2]=n4>>8&255,e4[t4+3]=n4&255}):(s3=2,c3=function(e4,t4){return e4[t4]<<9|e4[t4+1]<<1},l3=function(e4,t4,n4){e4[t4]=n4>>9&255,e4[t4+1]=n4>>1&255});let u3=a3?n3+1:n3,d3=s3*(1+u3),f3=new Uint8Array(d3);f3.set(e3.data.subarray(0,d3)),e3.data=f3;let p3=t3.data,m3=p3.length,h3=new Uint8Array(m3),g3,_3,v3=[];for(g3=0,_3=0;g3<n3+1;g3++,_3+=s3){let e4=c3(f3,_3);e4>m3&&(e4=m3),v3.push({index:g3,offset:e4,endOffset:0})}for(v3.sort((e4,t4)=>e4.offset-t4.offset),g3=0;g3<n3;g3++)v3[g3].endOffset=v3[g3+1].offset;for(v3.sort((e4,t4)=>e4.index-t4.index),g3=0;g3<n3;g3++){let{offset:e4,endOffset:t4}=v3[g3];if(e4!==0||t4!==0)break;let n4=v3[g3+1].offset;if(n4!==0){v3[g3].endOffset=n4;break}}let y3=v3.at(-2);y3.offset!==0&&y3.endOffset===0&&(y3.endOffset=m3);let b3=pruneCompositeGlyphCycles(p3,v3,n3),x3=Object.create(null),S3=0;for(l3(f3,0,S3),g3=0,_3=s3;g3<n3;g3++,_3+=s3){let e4=b3.has(g3)?{length:0,sizeOfInstructions:0}:sanitizeGlyph(p3,v3[g3].offset,v3[g3].endOffset,h3,S3,i3),t4=e4.length;t4===0&&(x3[g3]=!0),e4.sizeOfInstructions>o3&&(o3=e4.sizeOfInstructions),S3+=t4,l3(f3,_3,S3)}if(S3===0){let e4=new Uint8Array([0,1,0,0,0,0,0,0,0,0,0,0,0,0,49,0]);for(g3=0,_3=s3;g3<u3;g3++,_3+=s3)l3(f3,_3,e4.length);t3.data=e4}else if(a3){let n4=c3(f3,s3);h3.length>n4+S3?t3.data=h3.subarray(0,n4+S3):(t3.data=new Uint8Array(n4+S3),t3.data.set(h3.subarray(0,S3))),t3.data.set(h3.subarray(0,n4),S3),l3(e3.data,f3.length-s3,S3+n4)}else t3.data=h3.subarray(0,S3);return{missingGlyphs:x3,maxSizeOfInstructions:o3}}function readPostScriptTable(e3,n3,r3){let i3=(t2.start||0)+e3.offset;t2.pos=i3;let a3=i3+e3.length,o3=t2.getInt32();t2.skip(28);let s3,c3=!0,l3;switch(o3){case 65536:s3=bt;break;case 131072:let e4=t2.getUint16();if(e4!==r3){c3=!1;break}let i4=[];for(l3=0;l3<e4;++l3){let e5=t2.getUint16();if(e5>=32768){c3=!1;break}i4.push(e5)}if(!c3)break;let u3=[];for(;t2.pos<a3;){let e5=t2.getByte(),n4=t2.getString(e5);u3.push(n4)}for(s3=[],l3=0;l3<e4;++l3){let e5=i4[l3];if(e5<258){s3.push(bt[e5]);continue}s3.push(u3[e5-258])}break;case 196608:break;default:warn$1("Unknown/unsupported post table version "+o3),c3=!1,n3.defaultEncoding&&(s3=n3.defaultEncoding);break}return n3.glyphNames=s3,c3}function readNameTable(e3){let n3=(t2.start||0)+e3.offset;t2.pos=n3;let r3=[[],[]],i3=[],a3=e3.length,o3=n3+a3;if(t2.getUint16()!==0||a3<6)return[r3,i3];let s3=t2.getUint16(),c3=t2.getUint16(),l3,u3;for(l3=0;l3<s3&&t2.pos+12<=o3;l3++){let e4={platform:t2.getUint16(),encoding:t2.getUint16(),language:t2.getUint16(),name:t2.getUint16(),length:t2.getUint16(),offset:t2.getUint16()};(isMacNameRecord(e4)||isWinNameRecord(e4))&&i3.push(e4)}for(l3=0,u3=i3.length;l3<u3;l3++){let e4=i3[l3];if(e4.length<=0)continue;let a4=n3+c3+e4.offset;if(a4+e4.length>o3)continue;t2.pos=a4;let s4=e4.name;if(e4.encoding){let n4="";for(let r4=0,i4=e4.length;r4<i4;r4+=2)n4+=String.fromCharCode(t2.getUint16());r3[1][s4]=n4}else r3[0][s4]=t2.getString(e4.length)}return[r3,i3]}let i2=[0,0,0,0,0,0,0,0,-2,-2,-2,-2,0,0,-2,-5,-1,-1,-1,-1,-1,-1,-1,-1,0,0,-1,0,-1,-1,-1,-1,1,-1,-999,0,1,0,-1,-2,0,-1,-2,-1,-1,0,-1,-1,0,0,-999,-999,-1,-1,-1,-1,-2,-999,-2,-2,-999,0,-2,-2,0,0,-2,0,-2,0,0,0,-2,-1,-1,1,1,0,0,-1,-1,-1,-1,-1,-1,-1,0,0,-1,0,-1,-1,0,-999,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,-2,-999,-999,-999,-999,-999,-1,-1,-2,-2,0,0,0,0,-1,-1,-999,-2,-2,0,0,-1,-2,-2,0,0,0,-1,-1,-1,-2];function sanitizeTTProgram(e3,t3){let n3=e3.data,r3=0,a3,o3,s3,c3,l3,u3=0,d3=0,f3=[],p3=[],m3=[],h3=t3.tooComplexToFollowFunctions,g3=!1,_3=0,v3=0;for(let e4=n3.length;r3<e4;){let e5=n3[r3++];if(e5===64)if(o3=n3[r3++],g3||v3)r3+=o3;else for(a3=0;a3<o3;a3++)f3.push(n3[r3++]);else if(e5===65)if(o3=n3[r3++],g3||v3)r3+=o3*2;else for(a3=0;a3<o3;a3++)s3=n3[r3++],f3.push(signedInt16(s3,n3[r3++]));else if((e5&248)==176)if(o3=e5-176+1,g3||v3)r3+=o3;else for(a3=0;a3<o3;a3++)f3.push(n3[r3++]);else if((e5&248)==184)if(o3=e5-184+1,g3||v3)r3+=o3*2;else for(a3=0;a3<o3;a3++)s3=n3[r3++],f3.push(signedInt16(s3,n3[r3++]));else if(e5===43&&!h3){if(!g3&&!v3){if(c3=f3.at(-1),isNaN(c3))info$1("TT: CALL empty stack (or invalid entry).");else if(t3.functionsUsed[c3]=!0,c3 in t3.functionsStackDeltas){let e6=f3.length+t3.functionsStackDeltas[c3];if(e6<0){warn$1("TT: CALL invalid functions stack delta."),t3.hintsValid=!1;return}f3.length=e6}else if(c3 in t3.functionsDefined&&!m3.includes(c3)){if(p3.push({data:n3,i:r3,stackTop:f3.length-1}),m3.push(c3),l3=t3.functionsDefined[c3],!l3){warn$1("TT: CALL non-existent function"),t3.hintsValid=!1;return}n3=l3.data,r3=l3.i}}}else if(e5===44&&!h3)(g3||v3)&&(warn$1("TT: nested FDEFs not allowed"),h3=!0),g3=!0,d3=r3,c3=f3.pop(),t3.functionsDefined[c3]={data:n3,i:r3};else if(e5===45)if(g3)g3=!1,u3=r3;else{if(l3=p3.pop(),!l3){warn$1("TT: ENDF bad stack"),t3.hintsValid=!1;return}c3=m3.pop(),n3=l3.data,r3=l3.i,t3.functionsStackDeltas[c3]=f3.length-l3.stackTop}else if(e5===137)(g3||v3)&&(warn$1("TT: nested IDEFs not allowed"),h3=!0),g3=!0,d3=r3;else if(e5===88)++_3;else if(e5===27)v3=_3;else if(e5===89)v3===_3&&(v3=0),--_3;else if(e5===28&&!g3&&!v3){let e6=f3.at(-1);e6>0&&(r3+=e6-1)}if(!g3&&!v3){let t4=0;for(e5<=142?t4=i2[e5]:e5>=192&&e5<=223?t4=-1:e5>=224&&(t4=-2),e5>=113&&e5<=117&&(o3=f3.pop(),isNaN(o3)||(t4=-o3*2));t4<0&&f3.length>0;)f3.pop(),t4++;for(;t4>0;)f3.push(NaN),t4--}}t3.tooComplexToFollowFunctions=h3;let y3=[n3];r3>n3.length&&y3.push(new Uint8Array(r3-n3.length)),d3>u3&&(warn$1("TT: complementing a missing function tail"),y3.push(new Uint8Array([34,45]))),foldTTTable(e3,y3)}function checkInvalidFunctions(e3,t3){if(!e3.tooComplexToFollowFunctions){if(e3.functionsDefined.length>t3){warn$1("TT: more functions defined than expected"),e3.hintsValid=!1;return}for(let n3=0,r3=e3.functionsUsed.length;n3<r3;n3++){if(n3>t3){warn$1("TT: invalid function id: "+n3),e3.hintsValid=!1;return}if(e3.functionsUsed[n3]&&!e3.functionsDefined[n3]){warn$1("TT: undefined function: "+n3),e3.hintsValid=!1;return}}}}function foldTTTable(e3,t3){if(t3.length>1){let n3=0,r3,i3;for(r3=0,i3=t3.length;r3<i3;r3++)n3+=t3[r3].length;n3=n3+3&-4;let a3=new Uint8Array(n3),o3=0;for(r3=0,i3=t3.length;r3<i3;r3++)a3.set(t3[r3],o3),o3+=t3[r3].length;e3.data=a3,e3.length=n3}}function sanitizeTTPrograms(e3,t3,n3,r3){let i3={functionsDefined:[],functionsUsed:[],functionsStackDeltas:[],tooComplexToFollowFunctions:!1,hintsValid:!0};if(e3&&sanitizeTTProgram(e3,i3),t3&&sanitizeTTProgram(t3,i3),e3&&checkInvalidFunctions(i3,r3),n3&&n3.length&1){let e4=new Uint8Array(n3.length+1);e4.set(n3.data),n3.data=e4}return i3.hintsValid}t2=new Ee(new Uint8Array(t2.getBytes()));let a2,o2;if(isTrueTypeCollectionFile(t2)){let e3=readTrueTypeCollectionData(t2,this.name);a2=e3.header,o2=e3.tables}else a2=readOpenTypeHeader(t2),o2=readTables(t2,a2.numTables);let s2=!o2["CFF "],c2=null;if(s2){if(!o2.loca)throw new FormatError$1('Required "loca" table is not found');o2.glyf||(warn$1('Required "glyf" table is not found -- trying to recover.'),o2.glyf={tag:"glyf",data:new Uint8Array}),this.isOpenType=!1}else{try{c2=new CFFParser(new Ee(o2["CFF "].data),n2,!0).parse()}catch{warn$1("Failed to parse font "+n2.loadedName)}if(a2.version==="OTTO"&&(!n2.composite||n2.fontFileN==="FontFile3"&&c2?.isCIDFont)||!o2.head||!o2.hhea||!o2.maxp||!o2.post)return this.convert(e2,new CFFFont(new Ee(o2["CFF "].data),n2),n2);delete o2.glyf,delete o2.loca,delete o2.fpgm,delete o2.prep,delete o2["cvt "],this.isOpenType=!0}if(!o2.maxp)throw new FormatError$1('Required "maxp" table is not found');let l2;if(c2)try{c2.duplicateFirstGlyph(),o2["CFF "].data=new It(c2).compile(),l2=c2.charStringCount}catch{warn$1("Failed to compile font "+n2.loadedName)}t2.pos=(t2.start||0)+o2.maxp.offset;let u2=t2.getInt32(),d2=l2??t2.getUint16();if(u2===20480&&o2.maxp.length!==6&&(o2.maxp.data=o2.maxp.data.subarray(0,6),o2.maxp.length=6),u2!==65536&&u2!==20480){if(o2.maxp.length===6)u2=20480;else if(o2.maxp.length>=32)u2=65536;else throw new FormatError$1('"maxp" table has a wrong version number');writeUint32(o2.maxp.data,0,u2)}let f2=int16(o2.head.data[50],o2.head.data[51]);if(o2.loca){let e3=f2?(d2+1)*4:(d2+1)*2;if(o2.loca.length!==e3){warn$1("Incorrect 'loca' table length -- attempting to fix it.");let n3=Object.values(o2).filter(Boolean).sort((e4,t3)=>e4.offset-t3.offset),r3=n3[n3.indexOf(o2.loca)+1]||null;if(r3&&o2.loca.offset+e3<r3.offset){let n4=t2.pos;t2.pos=t2.start||0,t2.skip(o2.loca.offset),o2.loca.data=t2.getBytes(e3),o2.loca.length=e3,t2.pos=n4}}}if(n2.scaleFactors?.length===d2&&s2){let{scaleFactors:e3}=n2,t3=new GlyfTable({glyfTable:o2.glyf.data,isGlyphLocationsLong:f2,locaTable:o2.loca.data,numGlyphs:d2});t3.scale(e3);let{glyf:r3,loca:i3,isLocationLong:a3}=t3.write();o2.glyf.data=r3,o2.loca.data=i3,a3!==!!f2&&(o2.head.data[50]=0,f2=o2.head.data[51]=+!!a3);let s3=o2.hmtx.data;for(let t4=0;t4<d2;t4++){let n3=4*t4,r4=Math.round(e3[t4]*int16(s3[n3],s3[n3+1]));s3[n3]=r4>>8&255,s3[n3+1]=r4&255;let i4=Math.round(e3[t4]*signedInt16(s3[n3+2],s3[n3+3]));writeSignedInt16(s3,n3+2,i4)}}let p2=d2+1,m2=!0;p2>65535&&(m2=!1,p2=d2,warn$1("Not enough space in glyfs to duplicate first glyph."));let h2=0,g2=0;if(u2>=65536&&o2.maxp.length>=32)t2.pos+=8,t2.getUint16()>2&&(o2.maxp.data[14]=0,o2.maxp.data[15]=2),t2.pos+=4,h2=t2.getUint16(),t2.pos+=4,g2=t2.getUint16();else if(s2&&u2===20480){let e3=new Uint8Array(32);writeUint32(e3,0,65536),e3[4]=d2>>8&255,e3[5]=d2&255,e3.fill(255,6,14),e3[15]=2,e3[28]=255,e3[29]=255,e3[31]=16,o2.maxp.data=e3,o2.maxp.length=32,u2=65536}o2.maxp.data[4]=p2>>8,o2.maxp.data[5]=p2&255;let _2=sanitizeTTPrograms(o2.fpgm,o2.prep,o2["cvt "],h2);if(_2||(delete o2.fpgm,delete o2.prep,delete o2["cvt "]),sanitizeMetrics(t2,o2.hhea,o2.hmtx,o2.head,p2,m2),!o2.head)throw new FormatError$1('Required "head" table is not found');sanitizeHead(o2.head,d2,s2?o2.loca.length:0);let v2=Object.create(null);if(s2){let e3=sanitizeGlyphLocations(o2.loca,o2.glyf,d2,f2,_2,m2,g2);v2=e3.missingGlyphs,u2>=65536&&o2.maxp.length>=32&&(o2.maxp.data[26]=e3.maxSizeOfInstructions>>8,o2.maxp.data[27]=e3.maxSizeOfInstructions&255)}if(!o2.hhea)throw new FormatError$1('Required "hhea" table is not found');o2.hhea.data[10]===0&&o2.hhea.data[11]===0&&(o2.hhea.data[10]=255,o2.hhea.data[11]=255);let y2={unitsPerEm:int16(o2.head.data[18],o2.head.data[19]),yMax:signedInt16(o2.head.data[42],o2.head.data[43]),yMin:signedInt16(o2.head.data[38],o2.head.data[39]),ascent:signedInt16(o2.hhea.data[4],o2.hhea.data[5]),descent:signedInt16(o2.hhea.data[6],o2.hhea.data[7]),lineGap:signedInt16(o2.hhea.data[8],o2.hhea.data[9])};this.ascent=y2.ascent/y2.unitsPerEm,this.descent=y2.descent/y2.unitsPerEm,this.lineGap=y2.lineGap/y2.unitsPerEm,this.cssFontInfo?.lineHeight?(this.lineHeight=this.cssFontInfo.metrics.lineHeight,this.lineGap=this.cssFontInfo.metrics.lineGap):this.lineHeight=this.ascent-this.descent+this.lineGap,o2.post&&readPostScriptTable(o2.post,n2,d2),o2.post={tag:"post",data:createPostTable(n2)};let b2=Object.create(null);function hasGlyph(e3){return!v2[e3]}if(n2.composite){let e3=n2.cidToGidMap||[],t3=e3.length===0;n2.cMap.forEach(function(n3,r3){if(typeof r3=="string"&&(r3=convertCidString(n3,r3,!0)),r3>65535)throw new FormatError$1("Max size of CID is 65,535");let i3=-1;t3?i3=r3:e3[r3]!==void 0&&(i3=e3[r3]),i3>=0&&i3<d2&&hasGlyph(i3)&&(b2[n3]=i3)})}else{let e3=readCmapTable(o2.cmap,t2,this.isSymbolicFont,n2.hasEncoding),r3=e3.platformId,i3=e3.encodingId,a3=e3.mappings,s3=[],c3=!1;if(n2.hasEncoding&&(n2.baseEncodingName==="MacRomanEncoding"||n2.baseEncodingName==="WinAnsiEncoding")&&(s3=getEncoding(n2.baseEncodingName)),n2.hasEncoding&&!this.isSymbolicFont&&(r3===3&&i3===1||r3===1&&i3===0)){let e4=pt();for(let t3=0;t3<256;t3++){let o3;if(o3=this.differences[t3]===void 0?s3.length&&s3[t3]!==""?s3[t3]:lt[t3]:this.differences[t3],!o3)continue;let c4=recoverGlyphName(o3,e4),l3;if(r3===3&&i3===1?l3=e4[c4]:r3===1&&i3===0&&(l3=ct.indexOf(c4)),l3===void 0){if(!n2.glyphNames&&n2.hasIncludedToUnicodeMap&&!(this.toUnicode instanceof IdentityToUnicodeMap)){let e5=this.toUnicode.get(t3);e5&&(l3=e5.codePointAt(0))}if(l3===void 0)continue}for(let e5 of a3)if(e5.charCode===l3){b2[t3]=e5.glyphId;break}}}else if(r3===0){for(let e4 of a3)b2[e4.charCode]=e4.glyphId;c3=!0}else if(r3===3&&i3===0)for(let e4 of a3){let t3=e4.charCode;t3>=61440&&t3<=61695&&(t3&=255),b2[t3]=e4.glyphId}else for(let e4 of a3)b2[e4.charCode]=e4.glyphId;if(n2.glyphNames&&(s3.length||this.differences.length))for(let e4=0;e4<256;++e4){if(!c3&&b2[e4]!==void 0)continue;let t3=this.differences[e4]||s3[e4];if(!t3)continue;let r4=n2.glyphNames.indexOf(t3);r4>0&&hasGlyph(r4)&&(b2[e4]=r4)}!n2.isInternalFont&&b2[0]===void 0&&hasGlyph(0)&&(b2[0]=0)}b2.length===0&&(b2[0]=0);let x2=m2?p2-1:0;if(!n2.cssFontInfo){let e3=adjustMapping(b2,hasGlyph,x2,this.toUnicode);this.toFontChar=e3.toFontChar,o2.cmap={tag:"cmap",data:createCmapTable(e3.charCodeToGlyphId,e3.toUnicodeExtraMap,p2)},(!o2["OS/2"]||!validateOS2Table(o2["OS/2"],t2))&&(o2["OS/2"]={tag:"OS/2",data:createOS2Table(n2,e3.charCodeToGlyphId,y2)})}if(!o2.name)o2.name={tag:"name",data:createNameTable(this.name)};else{let[t3,r3]=readNameTable(o2.name);o2.name.data=createNameTable(e2,t3),this.psName=t3[0][6]||null,n2.composite||adjustTrueTypeToUnicode(n2,this.isSymbolicFont,r3)}let S2=new Qt(a2.version);for(let e3 in o2)S2.addTable(e3,o2[e3].data);return S2.toArray()}convert(e2,t2,n2){n2.fixedPitch=!1,n2.builtInEncoding&&adjustType1ToUnicode(n2,n2.builtInEncoding);let i2=t2 instanceof CFFFont?t2.numGlyphs-1:1,a2=t2.getGlyphMapping(n2),o2=null,s2=a2,c2=null;n2.cssFontInfo||(o2=adjustMapping(a2,t2.hasGlyphId.bind(t2),i2,this.toUnicode),this.toFontChar=o2.toFontChar,s2=o2.charCodeToGlyphId,c2=o2.toUnicodeExtraMap);let l2=t2.numGlyphs;function getCharCodes(e3,t3){let n3=null;for(let r2 in e3)t3===e3[r2]&&(n3||=[]).push(r2|0);return n3}function createCharCode(e3,t3){for(let n3 in e3)if(t3===e3[n3])return n3|0;return o2.charCodeToGlyphId[o2.nextAvailableFontCharCode]=t3,o2.nextAvailableFontCharCode++}let u2=t2.seacs;if(o2&&u2?.length){let e3=n2.fontMatrix||r,i3=t2.getCharset(),s3=Object.create(null);for(let t3 in u2){t3|=0;let n3=u2[t3],r2=lt[n3[2]],c3=lt[n3[3]],l3=i3.indexOf(r2),d3=i3.indexOf(c3);if(l3<0||d3<0)continue;let f3={x:n3[0]*e3[0]+n3[1]*e3[2]+e3[4],y:n3[0]*e3[1]+n3[1]*e3[3]+e3[5]},p2=getCharCodes(a2,t3);if(p2)for(let e4 of p2){let t4=o2.charCodeToGlyphId;s3[e4]={baseFontCharCode:createCharCode(t4,l3),accentFontCharCode:createCharCode(t4,d3),accentOffset:f3}}}n2.seacMap=s3}let d2=n2.fontMatrix?1/Math.max(...n2.fontMatrix.slice(0,4).map(Math.abs)):1e3,f2=new Qt("OTTO");return f2.addTable("CFF ",t2.data),f2.addTable("OS/2",createOS2Table(n2,s2)),f2.addTable("cmap",createCmapTable(s2,c2,l2)),f2.addTable("head",(function(){let e3=[0,0,0,0,158,11,126,39],t3=new DataBuilder({exactLength:54});return t3.setArray([0,1,0,0]),t3.setArray([0,0,16,0]),t3.skip(4),t3.setArray([95,15,60,245]),t3.skip(2),t3.setSafeInt16(d2),t3.setArray(e3),t3.setArray(e3),t3.skip(2),t3.setSafeInt16(n2.descent),t3.setArray([15,255]),t3.setSafeInt16(n2.ascent),t3.setInt16(n2.italicAngle?2:0),t3.setArray([0,17]),t3.skip(6),t3.data})()),f2.addTable("hhea",(function(){let e3=new DataBuilder({exactLength:36});return e3.setArray([0,1,0,0]),e3.setSafeInt16(n2.ascent),e3.setSafeInt16(n2.descent),e3.skip(2),e3.setArray([255,255]),e3.skip(6),e3.setSafeInt16(n2.capHeight),e3.setSafeInt16(Math.tan(n2.italicAngle)*n2.xHeight),e3.skip(12),e3.setInt16(l2),e3.data})()),f2.addTable("hmtx",(function(){let e3=t2.charstrings,n3=t2.cff?.widths??null,r2=new DataBuilder({exactLength:l2*4});r2.skip(4);for(let t3=1,i3=l2;t3<i3;t3++){let i4=0;e3?i4=e3[t3-1].width||0:n3&&(i4=Math.ceil(n3[t3]||0)),r2.setInt16(i4),r2.skip(2)}return r2.data})()),f2.addTable("maxp",(function(){let e3=new DataBuilder({exactLength:6});return e3.setArray([0,0,80,0]),e3.setInt16(l2),e3.data})()),f2.addTable("name",createNameTable(e2)),f2.addTable("post",createPostTable(n2)),f2.toArray()}get _spaceWidth(){let e2=["space","minus","one","i","I"],t2;for(let n2 of e2){if(n2 in this.widths){t2=this.widths[n2];break}let e3=pt()[n2],r2=0;if(this.composite&&this.cMap.contains(e3)&&(r2=this.cMap.lookup(e3),typeof r2=="string"&&(r2=convertCidString(e3,r2))),!r2&&this.toUnicode&&(r2=this.toUnicode.charCodeOf(e3)),r2<=0&&(r2=e3),t2=this.widths[r2],t2)break}return shadow$1(this,"_spaceWidth",t2||this.defaultWidth)}_charToGlyph(e2,t2=!1){let n2=this.#t.get(e2);if(n2?.isSpace===t2)return n2;let r2,i2,a2,o2=e2;this.cMap?.contains(e2)&&(o2=this.cMap.lookup(e2),typeof o2=="string"&&(o2=convertCidString(e2,o2))),i2=this.widths[o2],typeof i2!="number"&&(i2=this.defaultWidth);let s2=this.vmetrics?.[o2]||this.defaultVMetrics,c2=this.toUnicode.get(e2)||e2;typeof c2=="number"&&(c2=String.fromCharCode(c2));let l2=this.toFontChar[e2]!==void 0;if(r2=this.toFontChar[e2]||e2,this.missingFile){let t3=this.differences[e2]||this.defaultEncoding[e2];(t3===".notdef"||t3==="")&&this.type==="Type1"&&(r2=32,t3===""&&(i2||=this._spaceWidth,c2=String.fromCharCode(r2))),r2=mapSpecialUnicodeValues(r2)}this.isType3Font&&(a2=r2);let u2=null;if(this.seacMap?.[e2]){l2=!0;let t3=this.seacMap[e2];r2=t3.baseFontCharCode,u2={fontChar:String.fromCodePoint(t3.accentFontCharCode),offset:t3.accentOffset}}let d2="";if(typeof r2=="number"&&(r2<=1114111?d2=String.fromCodePoint(r2):warn$1(`charToGlyph - invalid fontCharCode: ${r2}`)),this.missingFile&&this.vertical&&d2.length===1){let e3=xt()[d2.charCodeAt(0)];e3&&(d2=c2=String.fromCharCode(e3))}return n2=new fonts_Glyph(e2,d2,c2,u2,i2,s2,a2,t2,l2),this.#t.set(e2,n2),n2}charsToGlyphs(e2){let t2=this.#e.get(e2);if(t2)return t2;if(t2=[],this.cMap){let n2=Object.create(null),r2=e2.length,i2=0;for(;i2<r2;){this.cMap.readCharCode(e2,i2,n2);let{charcode:r3,length:a2}=n2;i2+=a2;let o2=this._charToGlyph(r3,a2===1&&e2.charCodeAt(i2-1)===32);t2.push(o2)}}else for(let n2=0,r2=e2.length;n2<r2;++n2){let r3=e2.charCodeAt(n2),i2=this._charToGlyph(r3,r3===32);t2.push(i2)}return this.#e.set(e2,t2),t2}getCharPositions(e2){let t2=[];if(this.cMap){let n2=Object.create(null),r2=0;for(;r2<e2.length;){this.cMap.readCharCode(e2,r2,n2);let i2=n2.length;t2.push([r2,r2+i2]),r2+=i2}}else for(let n2=0,r2=e2.length;n2<r2;++n2)t2.push([n2,n2+1]);return t2}get glyphCacheValues(){return this.#t.values()}encodeString(e2){let t2=[],n2=[],hasCurrentBufErrors=()=>t2.length%2==1,r2=this.toUnicode instanceof IdentityToUnicodeMap?e3=>this.toUnicode.charCodeOf(e3):e3=>this.toUnicode.charCodeOf(String.fromCodePoint(e3));for(let i2=0,a2=e2.length;i2<a2;i2++){let a3=e2.codePointAt(i2);if(a3>55295&&(a3<57344||a3>65533)&&i2++,this.toUnicode){let e3=r2(a3);if(e3!==-1){hasCurrentBufErrors()&&(t2.push(n2.join("")),n2.length=0);let r3=this.cMap?this.cMap.getCharCodeLength(e3):1;for(let t3=r3-1;t3>=0;t3--)n2.push(String.fromCharCode(e3>>8*t3&255));continue}}hasCurrentBufErrors()||(t2.push(n2.join("")),n2.length=0),n2.push(String.fromCodePoint(a3))}return t2.push(n2.join("")),t2}},ErrorFont=class{constructor(e2){this.error=e2,this.loadedName="g_font_error",this.missingFile=!0}charsToGlyphs(){return[]}encodeString(e2){return[e2]}exportData(){return{error:this.error}}},on=[1.3877,1,1,1,.97801,.92482,.89552,.91133,.81988,.97566,.98152,.93548,.93548,1.2798,.85284,.92794,1,.96134,1.54657,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.82845,.82845,.85284,.85284,.85284,.75859,.92138,.83908,.7762,.73293,.87289,.73133,.7514,.81921,.87356,.95958,.59526,.75727,.69225,1.04924,.9121,.86943,.79795,.88198,.77958,.70864,.81055,.90399,.88653,.96017,.82577,.77892,.78257,.97507,1.54657,.97507,.85284,.89552,.90176,.88762,.8785,.75241,.8785,.90518,.95015,.77618,.8785,.88401,.91916,.86304,.88401,.91488,.8785,.8801,.8785,.8785,.91343,.7173,1.04106,.8785,.85075,.95794,.82616,.85162,.79492,.88331,1.69808,.88331,.85284,.97801,.89552,.91133,.89552,.91133,1.7801,.89552,1.24487,1.13254,1.12401,.96839,.85284,.68787,.70645,.85592,.90747,1.01466,1.0088,.90323,1,1.07463,1,.91056,.75806,1.19118,.96839,.78864,.82845,.84133,.75859,.83908,.83908,.83908,.83908,.83908,.83908,.77539,.73293,.73133,.73133,.73133,.73133,.95958,.95958,.95958,.95958,.88506,.9121,.86943,.86943,.86943,.86943,.86943,.85284,.87508,.90399,.90399,.90399,.90399,.77892,.79795,.90807,.88762,.88762,.88762,.88762,.88762,.88762,.8715,.75241,.90518,.90518,.90518,.90518,.88401,.88401,.88401,.88401,.8785,.8785,.8801,.8801,.8801,.8801,.8801,.90747,.89049,.8785,.8785,.8785,.8785,.85162,.8785,.85162,.83908,.88762,.83908,.88762,.83908,.88762,.73293,.75241,.73293,.75241,.73293,.75241,.73293,.75241,.87289,.83016,.88506,.93125,.73133,.90518,.73133,.90518,.73133,.90518,.73133,.90518,.73133,.90518,.81921,.77618,.81921,.77618,.81921,.77618,1,1,.87356,.8785,.91075,.89608,.95958,.88401,.95958,.88401,.95958,.88401,.95958,.88401,.95958,.88401,.76229,.90167,.59526,.91916,1,1,.86304,.69225,.88401,1,1,.70424,.79468,.91926,.88175,.70823,.94903,.9121,.8785,1,1,.9121,.8785,.87802,.88656,.8785,.86943,.8801,.86943,.8801,.86943,.8801,.87402,.89291,.77958,.91343,1,1,.77958,.91343,.70864,.7173,.70864,.7173,.70864,.7173,.70864,.7173,1,1,.81055,.75841,.81055,1.06452,.90399,.8785,.90399,.8785,.90399,.8785,.90399,.8785,.90399,.8785,.90399,.8785,.96017,.95794,.77892,.85162,.77892,.78257,.79492,.78257,.79492,.78257,.79492,.9297,.56892,.83908,.88762,.77539,.8715,.87508,.89049,1,1,.81055,1.04106,1.20528,1.20528,1,1.15543,.70674,.98387,.94721,1.33431,1.45894,.95161,1.06303,.83908,.80352,.57184,.6965,.56289,.82001,.56029,.81235,1.02988,.83908,.7762,.68156,.80367,.73133,.78257,.87356,.86943,.95958,.75727,.89019,1.04924,.9121,.7648,.86943,.87356,.79795,.78275,.81055,.77892,.9762,.82577,.99819,.84896,.95958,.77892,.96108,1.01407,.89049,1.02988,.94211,.96108,.8936,.84021,.87842,.96399,.79109,.89049,1.00813,1.02988,.86077,.87445,.92099,.84723,.86513,.8801,.75638,.85714,.78216,.79586,.87965,.94211,.97747,.78287,.97926,.84971,1.02988,.94211,.8801,.94211,.84971,.73133,1,1,1,1,1,1,1,1,1,1,1,1,.90264,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.90518,1,1,1,1,1,1,1,1,1,1,1,1,.90548,1,1,1,1,1,1,.96017,.95794,.96017,.95794,.96017,.95794,.77892,.85162,1,1,.89552,.90527,1,.90363,.92794,.92794,.92794,.92794,.87012,.87012,.87012,.89552,.89552,1.42259,.71143,1.06152,1,1,1.03372,1.03372,.97171,1.4956,2.2807,.93835,.83406,.91133,.84107,.91133,1,1,1,.72021,1,1.23108,.83489,.88525,.88525,.81499,.90527,1.81055,.90527,1.81055,1.31006,1.53711,.94434,1.08696,1,.95018,.77192,.85284,.90747,1.17534,.69825,.9716,1.37077,.90747,.90747,.85356,.90747,.90747,1.44947,.85284,.8941,.8941,.70572,.8,.70572,.70572,.70572,.70572,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.99862,.99862,1,1,1,1,1,1.08004,.91027,1,1,1,.99862,1,1,1,1,1,1,1,1,1,1,1,1,.90727,.90727,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],sn={lineHeight:1.2207,lineGap:.2207},cn=[1.3877,1,1,1,.97801,.92482,.89552,.91133,.81988,.97566,.98152,.93548,.93548,1.2798,.85284,.92794,1,.96134,1.56239,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.82845,.82845,.85284,.85284,.85284,.75859,.92138,.83908,.7762,.71805,.87289,.73133,.7514,.81921,.87356,.95958,.59526,.75727,.69225,1.04924,.90872,.85938,.79795,.87068,.77958,.69766,.81055,.90399,.88653,.96068,.82577,.77892,.78257,.97507,1.529,.97507,.85284,.89552,.90176,.94908,.86411,.74012,.86411,.88323,.95015,.86411,.86331,.88401,.91916,.86304,.88401,.9039,.86331,.86331,.86411,.86411,.90464,.70852,1.04106,.86331,.84372,.95794,.82616,.84548,.79492,.88331,1.69808,.88331,.85284,.97801,.89552,.91133,.89552,.91133,1.7801,.89552,1.24487,1.13254,1.19129,.96839,.85284,.68787,.70645,.85592,.90747,1.01466,1.0088,.90323,1,1.07463,1,.91056,.75806,1.19118,.96839,.78864,.82845,.84133,.75859,.83908,.83908,.83908,.83908,.83908,.83908,.77539,.71805,.73133,.73133,.73133,.73133,.95958,.95958,.95958,.95958,.88506,.90872,.85938,.85938,.85938,.85938,.85938,.85284,.87068,.90399,.90399,.90399,.90399,.77892,.79795,.90807,.94908,.94908,.94908,.94908,.94908,.94908,.85887,.74012,.88323,.88323,.88323,.88323,.88401,.88401,.88401,.88401,.8785,.86331,.86331,.86331,.86331,.86331,.86331,.90747,.89049,.86331,.86331,.86331,.86331,.84548,.86411,.84548,.83908,.94908,.83908,.94908,.83908,.94908,.71805,.74012,.71805,.74012,.71805,.74012,.71805,.74012,.87289,.79538,.88506,.92726,.73133,.88323,.73133,.88323,.73133,.88323,.73133,.88323,.73133,.88323,.81921,.86411,.81921,.86411,.81921,.86411,1,1,.87356,.86331,.91075,.8777,.95958,.88401,.95958,.88401,.95958,.88401,.95958,.88401,.95958,.88401,.76467,.90167,.59526,.91916,1,1,.86304,.69225,.88401,1,1,.70424,.77312,.91926,.88175,.70823,.94903,.90872,.86331,1,1,.90872,.86331,.86906,.88116,.86331,.85938,.86331,.85938,.86331,.85938,.86331,.87402,.86549,.77958,.90464,1,1,.77958,.90464,.69766,.70852,.69766,.70852,.69766,.70852,.69766,.70852,1,1,.81055,.75841,.81055,1.06452,.90399,.86331,.90399,.86331,.90399,.86331,.90399,.86331,.90399,.86331,.90399,.86331,.96068,.95794,.77892,.84548,.77892,.78257,.79492,.78257,.79492,.78257,.79492,.9297,.56892,.83908,.94908,.77539,.85887,.87068,.89049,1,1,.81055,1.04106,1.20528,1.20528,1,1.15543,.70088,.98387,.94721,1.33431,1.45894,.95161,1.48387,.83908,.80352,.57118,.6965,.56347,.79179,.55853,.80346,1.02988,.83908,.7762,.67174,.86036,.73133,.78257,.87356,.86441,.95958,.75727,.89019,1.04924,.90872,.74889,.85938,.87891,.79795,.7957,.81055,.77892,.97447,.82577,.97466,.87179,.95958,.77892,.94252,.95612,.8753,1.02988,.92733,.94252,.87411,.84021,.8728,.95612,.74081,.8753,1.02189,1.02988,.84814,.87445,.91822,.84723,.85668,.86331,.81344,.87581,.76422,.82046,.96057,.92733,.99375,.78022,.95452,.86015,1.02988,.92733,.86331,.92733,.86015,.73133,1,1,1,1,1,1,1,1,1,1,1,1,.90631,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.88323,1,1,1,1,1,1,1,1,1,1,1,1,.85174,1,1,1,1,1,1,.96068,.95794,.96068,.95794,.96068,.95794,.77892,.84548,1,1,.89552,.90527,1,.90363,.92794,.92794,.92794,.89807,.87012,.87012,.87012,.89552,.89552,1.42259,.71094,1.06152,1,1,1.03372,1.03372,.97171,1.4956,2.2807,.92972,.83406,.91133,.83326,.91133,1,1,1,.72021,1,1.23108,.83489,.88525,.88525,.81499,.90616,1.81055,.90527,1.81055,1.3107,1.53711,.94434,1.08696,1,.95018,.77192,.85284,.90747,1.17534,.69825,.9716,1.37077,.90747,.90747,.85356,.90747,.90747,1.44947,.85284,.8941,.8941,.70572,.8,.70572,.70572,.70572,.70572,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.99862,.99862,1,1,1,1,1,1.08004,.91027,1,1,1,.99862,1,1,1,1,1,1,1,1,1,1,1,1,.90727,.90727,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],ln={lineHeight:1.2207,lineGap:.2207},un=[1.3877,1,1,1,1.17223,1.1293,.89552,.91133,.80395,1.02269,1.15601,.91056,.91056,1.2798,.85284,.89807,1,.90861,1.39543,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.96309,.96309,.85284,.85284,.85284,.83319,.88071,.8675,.81552,.72346,.85193,.73206,.7522,.81105,.86275,.90685,.6377,.77892,.75593,1.02638,.89249,.84118,.77452,.85374,.75186,.67789,.79776,.88844,.85066,.94309,.77818,.7306,.76659,1.10369,1.38313,1.10369,1.06139,.89552,.8739,.9245,.9245,.83203,.9245,.85865,1.09842,.9245,.9245,1.03297,1.07692,.90918,1.03297,.94959,.9245,.92274,.9245,.9245,1.02933,.77832,1.20562,.9245,.8916,.98986,.86621,.89453,.79004,.94152,1.77256,.94152,.85284,.97801,.89552,.91133,.89552,.91133,1.91729,.89552,1.17889,1.13254,1.16359,.92098,.85284,.68787,.71353,.84737,.90747,1.0088,1.0044,.87683,1,1.09091,1,.92229,.739,1.15642,.92098,.76288,.80504,.80972,.75859,.8675,.8675,.8675,.8675,.8675,.8675,.76318,.72346,.73206,.73206,.73206,.73206,.90685,.90685,.90685,.90685,.86477,.89249,.84118,.84118,.84118,.84118,.84118,.85284,.84557,.88844,.88844,.88844,.88844,.7306,.77452,.86331,.9245,.9245,.9245,.9245,.9245,.9245,.84843,.83203,.85865,.85865,.85865,.85865,.82601,.82601,.82601,.82601,.94469,.9245,.92274,.92274,.92274,.92274,.92274,.90747,.86651,.9245,.9245,.9245,.9245,.89453,.9245,.89453,.8675,.9245,.8675,.9245,.8675,.9245,.72346,.83203,.72346,.83203,.72346,.83203,.72346,.83203,.85193,.8875,.86477,.99034,.73206,.85865,.73206,.85865,.73206,.85865,.73206,.85865,.73206,.85865,.81105,.9245,.81105,.9245,.81105,.9245,1,1,.86275,.9245,.90872,.93591,.90685,.82601,.90685,.82601,.90685,.82601,.90685,1.03297,.90685,.82601,.77896,1.05611,.6377,1.07692,1,1,.90918,.75593,1.03297,1,1,.76032,.9375,.98156,.93407,.77261,1.11429,.89249,.9245,1,1,.89249,.9245,.92534,.86698,.9245,.84118,.92274,.84118,.92274,.84118,.92274,.8667,.86291,.75186,1.02933,1,1,.75186,1.02933,.67789,.77832,.67789,.77832,.67789,.77832,.67789,.77832,1,1,.79776,.97655,.79776,1.23023,.88844,.9245,.88844,.9245,.88844,.9245,.88844,.9245,.88844,.9245,.88844,.9245,.94309,.98986,.7306,.89453,.7306,.76659,.79004,.76659,.79004,.76659,.79004,1.09231,.54873,.8675,.9245,.76318,.84843,.84557,.86651,1,1,.79776,1.20562,1.18622,1.18622,1,1.1437,.67009,.96334,.93695,1.35191,1.40909,.95161,1.48387,.8675,.90861,.6192,.7363,.64824,.82411,.56321,.85696,1.23516,.8675,.81552,.7286,.84134,.73206,.76659,.86275,.84369,.90685,.77892,.85871,1.02638,.89249,.75828,.84118,.85984,.77452,.76466,.79776,.7306,.90782,.77818,.903,.87291,.90685,.7306,.99058,1.03667,.94635,1.23516,.9849,.99058,.92393,.8916,.942,1.03667,.75026,.94635,1.0297,1.23516,.90918,.94048,.98217,.89746,.84153,.92274,.82507,.88832,.84438,.88178,1.03525,.9849,1.00225,.78086,.97248,.89404,1.23516,.9849,.92274,.9849,.89404,.73206,1,1,1,1,1,1,1,1,1,1,1,1,.89693,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.85865,1,1,1,1,1,1,1,1,1,1,1,1,.90933,1,1,1,1,1,1,.94309,.98986,.94309,.98986,.94309,.98986,.7306,.89453,1,1,.89552,.90527,1,.90186,1.12308,1.12308,1.12308,1.12308,1.2566,1.2566,1.2566,.89552,.89552,1.42259,.68994,1.03809,1,1,1.0176,1.0176,1.11523,1.4956,2.01462,.97858,.82616,.91133,.83437,.91133,1,1,1,.70508,1,1.23108,.79801,.84426,.84426,.774,.90572,1.81055,.90749,1.81055,1.28809,1.55469,.94434,1.07806,1,.97094,.7589,.85284,.90747,1.19658,.69825,.97622,1.33512,.90747,.90747,.85284,.90747,.90747,1.44947,.85284,.8941,.8941,.70572,.8,.70572,.70572,.70572,.70572,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.99862,.99862,1,1,1,1,1,1.0336,.91027,1,1,1,.99862,1,1,1,1,1,1,1,1,1,1,1,1,1.05859,1.05859,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],dn={lineHeight:1.2207,lineGap:.2207},fn=[1.3877,1,1,1,1.17223,1.1293,.89552,.91133,.80395,1.02269,1.15601,.91056,.91056,1.2798,.85284,.89807,1,.90861,1.39016,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.96309,.96309,.85284,.85284,.85284,.83319,.88071,.8675,.81552,.73834,.85193,.73206,.7522,.81105,.86275,.90685,.6377,.77892,.75593,1.02638,.89385,.85122,.77452,.86503,.75186,.68887,.79776,.88844,.85066,.94258,.77818,.7306,.76659,1.10369,1.39016,1.10369,1.06139,.89552,.8739,.86128,.94469,.8457,.94469,.89464,1.09842,.84636,.94469,1.03297,1.07692,.90918,1.03297,.95897,.94469,.9482,.94469,.94469,1.04692,.78223,1.20562,.94469,.90332,.98986,.86621,.90527,.79004,.94152,1.77256,.94152,.85284,.97801,.89552,.91133,.89552,.91133,1.91729,.89552,1.17889,1.13254,1.08707,.92098,.85284,.68787,.71353,.84737,.90747,1.0088,1.0044,.87683,1,1.09091,1,.92229,.739,1.15642,.92098,.76288,.80504,.80972,.75859,.8675,.8675,.8675,.8675,.8675,.8675,.76318,.73834,.73206,.73206,.73206,.73206,.90685,.90685,.90685,.90685,.86477,.89385,.85122,.85122,.85122,.85122,.85122,.85284,.85311,.88844,.88844,.88844,.88844,.7306,.77452,.86331,.86128,.86128,.86128,.86128,.86128,.86128,.8693,.8457,.89464,.89464,.89464,.89464,.82601,.82601,.82601,.82601,.94469,.94469,.9482,.9482,.9482,.9482,.9482,.90747,.86651,.94469,.94469,.94469,.94469,.90527,.94469,.90527,.8675,.86128,.8675,.86128,.8675,.86128,.73834,.8457,.73834,.8457,.73834,.8457,.73834,.8457,.85193,.92454,.86477,.9921,.73206,.89464,.73206,.89464,.73206,.89464,.73206,.89464,.73206,.89464,.81105,.84636,.81105,.84636,.81105,.84636,1,1,.86275,.94469,.90872,.95786,.90685,.82601,.90685,.82601,.90685,.82601,.90685,1.03297,.90685,.82601,.77741,1.05611,.6377,1.07692,1,1,.90918,.75593,1.03297,1,1,.76032,.90452,.98156,1.11842,.77261,1.11429,.89385,.94469,1,1,.89385,.94469,.95877,.86901,.94469,.85122,.9482,.85122,.9482,.85122,.9482,.8667,.90016,.75186,1.04692,1,1,.75186,1.04692,.68887,.78223,.68887,.78223,.68887,.78223,.68887,.78223,1,1,.79776,.92188,.79776,1.23023,.88844,.94469,.88844,.94469,.88844,.94469,.88844,.94469,.88844,.94469,.88844,.94469,.94258,.98986,.7306,.90527,.7306,.76659,.79004,.76659,.79004,.76659,.79004,1.09231,.54873,.8675,.86128,.76318,.8693,.85311,.86651,1,1,.79776,1.20562,1.18622,1.18622,1,1.1437,.67742,.96334,.93695,1.35191,1.40909,.95161,1.48387,.86686,.90861,.62267,.74359,.65649,.85498,.56963,.88254,1.23516,.8675,.81552,.75443,.84503,.73206,.76659,.86275,.85122,.90685,.77892,.85746,1.02638,.89385,.75657,.85122,.86275,.77452,.74171,.79776,.7306,.95165,.77818,.89772,.88831,.90685,.7306,.98142,1.02191,.96576,1.23516,.99018,.98142,.9236,.89258,.94035,1.02191,.78848,.96576,.9561,1.23516,.90918,.92578,.95424,.89746,.83969,.9482,.80113,.89442,.85208,.86155,.98022,.99018,1.00452,.81209,.99247,.89181,1.23516,.99018,.9482,.99018,.89181,.73206,1,1,1,1,1,1,1,1,1,1,1,1,.88844,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.89464,1,1,1,1,1,1,1,1,1,1,1,1,.96766,1,1,1,1,1,1,.94258,.98986,.94258,.98986,.94258,.98986,.7306,.90527,1,1,.89552,.90527,1,.90186,1.12308,1.12308,1.12308,1.12308,1.2566,1.2566,1.2566,.89552,.89552,1.42259,.69043,1.03809,1,1,1.0176,1.0176,1.11523,1.4956,2.01462,.99331,.82616,.91133,.84286,.91133,1,1,1,.70508,1,1.23108,.79801,.84426,.84426,.774,.90527,1.81055,.90527,1.81055,1.28809,1.55469,.94434,1.07806,1,.97094,.7589,.85284,.90747,1.19658,.69825,.97622,1.33512,.90747,.90747,.85356,.90747,.90747,1.44947,.85284,.8941,.8941,.70572,.8,.70572,.70572,.70572,.70572,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.99862,.99862,1,1,1,1,1,1.0336,.91027,1,1,1,.99862,1,1,1,1,1,1,1,1,1,1,1,1,1.05859,1.05859,1,1,1,1.07185,.99413,.96334,1.08065,1,1,1,1,1,1,1,1,1,1,1],pn={lineHeight:1.2207,lineGap:.2207},mn=[.76116,1,1,1.0006,.99998,.99974,.99973,.99973,.99982,.99977,1.00087,.99998,.99998,.99959,1.00003,1.0006,.99998,1.0006,1.0006,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99998,1,1.00003,1.00003,1.00003,1.00026,.9999,.99977,.99977,.99977,.99977,1.00001,1.00026,1.00022,.99977,1.0006,.99973,.99977,1.00026,.99999,.99977,1.00022,1.00001,1.00022,.99977,1.00001,1.00026,.99977,1.00001,1.00016,1.00001,1.00001,1.00026,.99998,1.0006,.99998,1.00003,.99973,.99998,.99973,1.00026,.99973,1.00026,.99973,.99998,1.00026,1.00026,1.0006,1.0006,.99973,1.0006,.99982,1.00026,1.00026,1.00026,1.00026,.99959,.99973,.99998,1.00026,.99973,1.00022,.99973,.99973,1,.99959,1.00077,.99959,1.00003,.99998,.99973,.99973,.99973,.99973,1.00077,.99973,.99998,1.00025,.99968,.99973,1.00003,1.00025,.60299,1.00024,1.06409,1,1,.99998,1,.99973,1.0006,.99998,1,.99936,.99973,1.00002,1.00002,1.00002,1.00026,.99977,.99977,.99977,.99977,.99977,.99977,1,.99977,1.00001,1.00001,1.00001,1.00001,1.0006,1.0006,1.0006,1.0006,.99977,.99977,1.00022,1.00022,1.00022,1.00022,1.00022,1.00003,1.00022,.99977,.99977,.99977,.99977,1.00001,1.00001,1.00026,.99973,.99973,.99973,.99973,.99973,.99973,.99982,.99973,.99973,.99973,.99973,.99973,1.0006,1.0006,1.0006,1.0006,1.00026,1.00026,1.00026,1.00026,1.00026,1.00026,1.00026,1.06409,1.00026,1.00026,1.00026,1.00026,1.00026,.99973,1.00026,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,1.03374,.99977,1.00026,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00022,1.00026,1.00022,1.00026,1.00022,1.00026,1.00022,1.00026,.99977,1.00026,.99977,1.00026,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,1.00042,.99973,.99973,1.0006,.99977,.99973,.99973,1.00026,1.0006,1.00026,1.0006,1.00026,1.03828,1.00026,.99999,1.00026,1.0006,.99977,1.00026,.99977,1.00026,.99977,1.00026,.9993,.9998,1.00026,1.00022,1.00026,1.00022,1.00026,1.00022,1.00026,1,1.00016,.99977,.99959,.99977,.99959,.99977,.99959,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00026,.99998,1.00026,.8121,1.00026,.99998,.99977,1.00026,.99977,1.00026,.99977,1.00026,.99977,1.00026,.99977,1.00026,.99977,1.00026,1.00016,1.00022,1.00001,.99973,1.00001,1.00026,1,1.00026,1,1.00026,1,1.0006,.99973,.99977,.99973,1,.99982,1.00022,1.00026,1.00001,.99973,1.00026,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,1.00034,.99977,1,.99997,1.00026,1.00078,1.00036,.99973,1.00013,1.0006,.99977,.99977,.99988,.85148,1.00001,1.00026,.99977,1.00022,1.0006,.99977,1.00001,.99999,.99977,1.00069,1.00022,.99977,1.00001,.99984,1.00026,1.00001,1.00024,1.00001,.9999,1,1.0006,1.00001,1.00041,.99962,1.00026,1.0006,.99995,1.00041,.99942,.99973,.99927,1.00082,.99902,1.00026,1.00087,1.0006,1.00069,.99973,.99867,.99973,.9993,1.00026,1.00049,1.00056,1,.99988,.99935,.99995,.99954,1.00055,.99945,1.00032,1.0006,.99995,1.00026,.99995,1.00032,1.00001,1.00008,.99971,1.00019,.9994,1.00001,1.0006,1.00044,.99973,1.00023,1.00047,1,.99942,.99561,.99989,1.00035,.99977,1.00035,.99977,1.00019,.99944,1.00001,1.00021,.99926,1.00035,1.00035,.99942,1.00048,.99999,.99977,1.00022,1.00035,1.00001,.99977,1.00026,.99989,1.00057,1.00001,.99936,1.00052,1.00012,.99996,1.00043,1,1.00035,.9994,.99976,1.00035,.99973,1.00052,1.00041,1.00119,1.00037,.99973,1.00002,.99986,1.00041,1.00041,.99902,.9996,1.00034,.99999,1.00026,.99999,1.00026,.99973,1.00052,.99973,1,.99973,1.00041,1.00075,.9994,1.0003,.99999,1,1.00041,.99955,1,.99915,.99973,.99973,1.00026,1.00119,.99955,.99973,1.0006,.99911,1.0006,1.00026,.99972,1.00026,.99902,1.00041,.99973,.99999,1,1,1.00038,1.0005,1.00016,1.00022,1.00016,1.00022,1.00016,1.00022,1.00001,.99973,1,1,.99973,1,1,.99955,1.0006,1.0006,1.0006,1.0006,1,1,1,.99973,.99973,.99972,1,1,1.00106,.99999,.99998,.99998,.99999,.99998,1.66475,1,.99973,.99973,1.00023,.99973,.99971,1.00047,1.00023,1,.99991,.99984,1.00002,1.00002,1.00002,1.00002,1,1,1,1,1,1,1,.99972,1,1.20985,1.39713,1.00003,1.00031,1.00015,1,.99561,1.00027,1.00031,1.00031,.99915,1.00031,1.00031,.99999,1.00003,.99999,.99999,1.41144,1.6,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.40579,1.40579,1.36625,.99999,1,.99861,.99861,1,1.00026,1.00026,1.00026,1.00026,.99972,.99999,.99999,.99999,.99999,1.40483,1,.99977,1.00054,1,1,.99953,.99962,1.00042,.9995,1,1,1,1,1,1,1,1,.99998,.99998,.99998,.99998,1,1,1,1,1,1,1,1,1,1,1],hn={lineHeight:1.2,lineGap:.2},gn=[.76116,1,1,1.0006,.99998,.99974,.99973,.99973,.99982,.99977,1.00087,.99998,.99998,.99959,1.00003,1.0006,.99998,1.0006,1.0006,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99998,1,1.00003,1.00003,1.00003,1.00026,.9999,.99977,.99977,.99977,.99977,1.00001,1.00026,1.00022,.99977,1.0006,.99973,.99977,1.00026,.99999,.99977,1.00022,1.00001,1.00022,.99977,1.00001,1.00026,.99977,1.00001,1.00016,1.00001,1.00001,1.00026,.99998,1.0006,.99998,1.00003,.99973,.99998,.99973,1.00026,.99973,1.00026,.99973,.99998,1.00026,1.00026,1.0006,1.0006,.99973,1.0006,.99982,1.00026,1.00026,1.00026,1.00026,.99959,.99973,.99998,1.00026,.99973,1.00022,.99973,.99973,1,.99959,1.00077,.99959,1.00003,.99998,.99973,.99973,.99973,.99973,1.00077,.99973,.99998,1.00025,.99968,.99973,1.00003,1.00025,.60299,1.00024,1.06409,1,1,.99998,1,.99973,1.0006,.99998,1,.99936,.99973,1.00002,1.00002,1.00002,1.00026,.99977,.99977,.99977,.99977,.99977,.99977,1,.99977,1.00001,1.00001,1.00001,1.00001,1.0006,1.0006,1.0006,1.0006,.99977,.99977,1.00022,1.00022,1.00022,1.00022,1.00022,1.00003,1.00022,.99977,.99977,.99977,.99977,1.00001,1.00001,1.00026,.99973,.99973,.99973,.99973,.99973,.99973,.99982,.99973,.99973,.99973,.99973,.99973,1.0006,1.0006,1.0006,1.0006,1.00026,1.00026,1.00026,1.00026,1.00026,1.00026,1.00026,1.06409,1.00026,1.00026,1.00026,1.00026,1.00026,.99973,1.00026,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,1.0044,.99977,1.00026,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00022,1.00026,1.00022,1.00026,1.00022,1.00026,1.00022,1.00026,.99977,1.00026,.99977,1.00026,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,.99971,.99973,.99973,1.0006,.99977,.99973,.99973,1.00026,1.0006,1.00026,1.0006,1.00026,1.01011,1.00026,.99999,1.00026,1.0006,.99977,1.00026,.99977,1.00026,.99977,1.00026,.9993,.9998,1.00026,1.00022,1.00026,1.00022,1.00026,1.00022,1.00026,1,1.00016,.99977,.99959,.99977,.99959,.99977,.99959,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00026,.99998,1.00026,.8121,1.00026,.99998,.99977,1.00026,.99977,1.00026,.99977,1.00026,.99977,1.00026,.99977,1.00026,.99977,1.00026,1.00016,1.00022,1.00001,.99973,1.00001,1.00026,1,1.00026,1,1.00026,1,1.0006,.99973,.99977,.99973,1,.99982,1.00022,1.00026,1.00001,.99973,1.00026,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99977,1,1,1.00026,.99969,.99972,.99981,.9998,1.0006,.99977,.99977,1.00022,.91155,1.00001,1.00026,.99977,1.00022,1.0006,.99977,1.00001,.99999,.99977,.99966,1.00022,1.00032,1.00001,.99944,1.00026,1.00001,.99968,1.00001,1.00047,1,1.0006,1.00001,.99981,1.00101,1.00026,1.0006,.99948,.99981,1.00064,.99973,.99942,1.00101,1.00061,1.00026,1.00069,1.0006,1.00014,.99973,1.01322,.99973,1.00065,1.00026,1.00012,.99923,1,1.00064,1.00076,.99948,1.00055,1.00063,1.00007,.99943,1.0006,.99948,1.00026,.99948,.99943,1.00001,1.00001,1.00029,1.00038,1.00035,1.00001,1.0006,1.0006,.99973,.99978,1.00001,1.00057,.99989,.99967,.99964,.99967,.99977,.99999,.99977,1.00038,.99977,1.00001,.99973,1.00066,.99967,.99967,1.00041,.99998,.99999,.99977,1.00022,.99967,1.00001,.99977,1.00026,.99964,1.00031,1.00001,.99999,.99999,1,1.00023,1,1,.99999,1.00035,1.00001,.99999,.99973,.99977,.99999,1.00058,.99973,.99973,.99955,.9995,1.00026,1.00026,1.00032,.99989,1.00034,.99999,1.00026,1.00026,1.00026,.99973,.45998,.99973,1.00026,.99973,1.00001,.99999,.99982,.99994,.99996,1,1.00042,1.00044,1.00029,1.00023,.99973,.99973,1.00026,.99949,1.00002,.99973,1.0006,1.0006,1.0006,.99975,1.00026,1.00026,1.00032,.98685,.99973,1.00026,1,1,.99966,1.00044,1.00016,1.00022,1.00016,1.00022,1.00016,1.00022,1.00001,.99973,1,1,.99973,1,1,.99955,1.0006,1.0006,1.0006,1.0006,1,1,1,.99973,.99973,.99972,1,1,1.00106,.99999,.99998,.99998,.99999,.99998,1.66475,1,.99973,.99973,1,.99973,.99971,.99978,1,1,.99991,.99984,1.00002,1.00002,1.00002,1.00002,1.00098,1,1,1,1.00049,1,1,.99972,1,1.20985,1.39713,1.00003,1.00031,1.00015,1,.99561,1.00027,1.00031,1.00031,.99915,1.00031,1.00031,.99999,1.00003,.99999,.99999,1.41144,1.6,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.40579,1.40579,1.36625,.99999,1,.99861,.99861,1,1.00026,1.00026,1.00026,1.00026,.99972,.99999,.99999,.99999,.99999,1.40483,1,.99977,1.00054,1,1,.99953,.99962,1.00042,.9995,1,1,1,1,1,1,1,1,.99998,.99998,.99998,.99998,1,1,1,1,1,1,1,1,1,1,1],_n={lineHeight:1.35,lineGap:.2},vn=[.76116,1,1,1.0006,1.0006,1.00006,.99973,.99973,.99982,1.00001,1.00043,.99998,.99998,.99959,1.00003,1.0006,.99998,1.0006,1.0006,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99973,1.0006,1,1.00003,1.00003,1.00003,.99973,.99987,1.00001,1.00001,.99977,.99977,1.00001,1.00026,1.00022,.99977,1.0006,1,1.00001,.99973,.99999,.99977,1.00022,1.00001,1.00022,.99977,1.00001,1.00026,.99977,1.00001,1.00016,1.00001,1.00001,1.00026,1.0006,1.0006,1.0006,.99949,.99973,.99998,.99973,.99973,1,.99973,.99973,1.0006,.99973,.99973,.99924,.99924,1,.99924,.99999,.99973,.99973,.99973,.99973,.99998,1,1.0006,.99973,1,.99977,1,1,1,1.00005,1.0009,1.00005,1.00003,.99998,.99973,.99973,.99973,.99973,1.0009,.99973,.99998,1.00025,.99968,.99973,1.00003,1.00025,.60299,1.00024,1.06409,1,1,.99998,1,.9998,1.0006,.99998,1,.99936,.99973,1.00002,1.00002,1.00002,1.00026,1.00001,1.00001,1.00001,1.00001,1.00001,1.00001,1,.99977,1.00001,1.00001,1.00001,1.00001,1.0006,1.0006,1.0006,1.0006,.99977,.99977,1.00022,1.00022,1.00022,1.00022,1.00022,1.00003,1.00022,.99977,.99977,.99977,.99977,1.00001,1.00001,1.00026,.99973,.99973,.99973,.99973,.99973,.99973,.99982,1,.99973,.99973,.99973,.99973,1.0006,1.0006,1.0006,1.0006,.99973,.99973,.99973,.99973,.99973,.99973,.99973,1.06409,1.00026,.99973,.99973,.99973,.99973,1,.99973,1,1.00001,.99973,1.00001,.99973,1.00001,.99973,.99977,1,.99977,1,.99977,1,.99977,1,.99977,1.0288,.99977,.99973,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00022,.99973,1.00022,.99973,1.00022,.99973,1.00022,.99973,.99977,.99973,.99977,.99973,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,.99924,1.0006,1.0006,.99946,1.00034,1,.99924,1.00001,1,1,.99973,.99924,.99973,.99924,.99973,1.06311,.99973,1.00024,.99973,.99924,.99977,.99973,.99977,.99973,.99977,.99973,1.00041,.9998,.99973,1.00022,.99973,1.00022,.99973,1.00022,.99973,1,1.00016,.99977,.99998,.99977,.99998,.99977,.99998,1.00001,1,1.00001,1,1.00001,1,1.00001,1,1.00026,1.0006,1.00026,.89547,1.00026,1.0006,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,1.00016,.99977,1.00001,1,1.00001,1.00026,1,1.00026,1,1.00026,1,.99924,.99973,1.00001,.99973,1,.99982,1.00022,1.00026,1.00001,1,1.00026,1.0006,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,1.00001,1,1.00054,.99977,1.00084,1.00007,.99973,1.00013,.99924,1.00001,1.00001,.99945,.91221,1.00001,1.00026,.99977,1.00022,1.0006,1.00001,1.00001,.99999,.99977,.99933,1.00022,1.00054,1.00001,1.00065,1.00026,1.00001,1.0001,1.00001,1.00052,1,1.0006,1.00001,.99945,.99897,.99968,.99924,1.00036,.99945,.99949,1,1.0006,.99897,.99918,.99968,.99911,.99924,1,.99962,1.01487,1,1.0005,.99973,1.00012,1.00043,1,.99995,.99994,1.00036,.99947,1.00019,1.00063,1.00025,.99924,1.00036,.99973,1.00036,1.00025,1.00001,1.00001,1.00027,1.0001,1.00068,1.00001,1.0006,1.0006,1,1.00008,.99957,.99972,.9994,.99954,.99975,1.00051,1.00001,1.00019,1.00001,1.0001,.99986,1.00001,1.00001,1.00038,.99954,.99954,.9994,1.00066,.99999,.99977,1.00022,1.00054,1.00001,.99977,1.00026,.99975,1.0001,1.00001,.99993,.9995,.99955,1.00016,.99978,.99974,1.00019,1.00022,.99955,1.00053,.99973,1.00089,1.00005,.99967,1.00048,.99973,1.00002,1.00034,.99973,.99973,.99964,1.00006,1.00066,.99947,.99973,.98894,.99973,1,.44898,1,.99946,1,1.00039,1.00082,.99991,.99991,.99985,1.00022,1.00023,1.00061,1.00006,.99966,.99973,.99973,.99973,1.00019,1.0008,1,.99924,.99924,.99924,.99983,1.00044,.99973,.99964,.98332,1,.99973,1,1,.99962,.99895,1.00016,.99977,1.00016,.99977,1.00016,.99977,1.00001,1,1,1,.99973,1,1,.99955,.99924,.99924,.99924,.99924,.99998,.99998,.99998,.99973,.99973,.99972,1,1,1.00267,.99999,.99998,.99998,1,.99998,1.66475,1,.99973,.99973,1.00023,.99973,1.00423,.99925,.99999,1,.99991,.99984,1.00002,1.00002,1.00002,1.00002,1.00049,1,1.00245,1,1,1,1,.96329,1,1.20985,1.39713,1.00003,.8254,1.00015,1,1.00035,1.00027,1.00031,1.00031,1.00003,1.00031,1.00031,.99999,1.00003,.99999,.99999,1.41144,1.6,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.40579,1.40579,1.36625,.99999,1,.99861,.99861,1,1.00026,1.00026,1.00026,1.00026,.95317,.99999,.99999,.99999,.99999,1.40483,1,.99977,1.00054,1,1,.99953,.99962,1.00042,.9995,1,1,1,1,1,1,1,1,.99998,.99998,.99998,.99998,1,1,1,1,1,1,1,1,1,1,1],yn={lineHeight:1.35,lineGap:.2},bn=[.76116,1,1,1.0006,1.0006,1.00006,.99973,.99973,.99982,1.00001,1.00043,.99998,.99998,.99959,1.00003,1.0006,.99998,1.0006,1.0006,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99973,1.0006,1,1.00003,1.00003,1.00003,.99973,.99987,1.00001,1.00001,.99977,.99977,1.00001,1.00026,1.00022,.99977,1.0006,1,1.00001,.99973,.99999,.99977,1.00022,1.00001,1.00022,.99977,1.00001,1.00026,.99977,1.00001,1.00016,1.00001,1.00001,1.00026,1.0006,1.0006,1.0006,.99949,.99973,.99998,.99973,.99973,1,.99973,.99973,1.0006,.99973,.99973,.99924,.99924,1,.99924,.99999,.99973,.99973,.99973,.99973,.99998,1,1.0006,.99973,1,.99977,1,1,1,1.00005,1.0009,1.00005,1.00003,.99998,.99973,.99973,.99973,.99973,1.0009,.99973,.99998,1.00025,.99968,.99973,1.00003,1.00025,.60299,1.00024,1.06409,1,1,.99998,1,.9998,1.0006,.99998,1,.99936,.99973,1.00002,1.00002,1.00002,1.00026,1.00001,1.00001,1.00001,1.00001,1.00001,1.00001,1,.99977,1.00001,1.00001,1.00001,1.00001,1.0006,1.0006,1.0006,1.0006,.99977,.99977,1.00022,1.00022,1.00022,1.00022,1.00022,1.00003,1.00022,.99977,.99977,.99977,.99977,1.00001,1.00001,1.00026,.99973,.99973,.99973,.99973,.99973,.99973,.99982,1,.99973,.99973,.99973,.99973,1.0006,1.0006,1.0006,1.0006,.99973,.99973,.99973,.99973,.99973,.99973,.99973,1.06409,1.00026,.99973,.99973,.99973,.99973,1,.99973,1,1.00001,.99973,1.00001,.99973,1.00001,.99973,.99977,1,.99977,1,.99977,1,.99977,1,.99977,1.04596,.99977,.99973,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00022,.99973,1.00022,.99973,1.00022,.99973,1.00022,.99973,.99977,.99973,.99977,.99973,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,.99924,1.0006,1.0006,1.00019,1.00034,1,.99924,1.00001,1,1,.99973,.99924,.99973,.99924,.99973,1.02572,.99973,1.00005,.99973,.99924,.99977,.99973,.99977,.99973,.99977,.99973,.99999,.9998,.99973,1.00022,.99973,1.00022,.99973,1.00022,.99973,1,1.00016,.99977,.99998,.99977,.99998,.99977,.99998,1.00001,1,1.00001,1,1.00001,1,1.00001,1,1.00026,1.0006,1.00026,.84533,1.00026,1.0006,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,1.00016,.99977,1.00001,1,1.00001,1.00026,1,1.00026,1,1.00026,1,.99924,.99973,1.00001,.99973,1,.99982,1.00022,1.00026,1.00001,1,1.00026,1.0006,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99928,1,.99977,1.00013,1.00055,.99947,.99945,.99941,.99924,1.00001,1.00001,1.0004,.91621,1.00001,1.00026,.99977,1.00022,1.0006,1.00001,1.00005,.99999,.99977,1.00015,1.00022,.99977,1.00001,.99973,1.00026,1.00001,1.00019,1.00001,.99946,1,1.0006,1.00001,.99978,1.00045,.99973,.99924,1.00023,.99978,.99966,1,1.00065,1.00045,1.00019,.99973,.99973,.99924,1,1,.96499,1,1.00055,.99973,1.00008,1.00027,1,.9997,.99995,1.00023,.99933,1.00019,1.00015,1.00031,.99924,1.00023,.99973,1.00023,1.00031,1.00001,.99928,1.00029,1.00092,1.00035,1.00001,1.0006,1.0006,1,.99988,.99975,1,1.00082,.99561,.9996,1.00035,1.00001,.99962,1.00001,1.00092,.99964,1.00001,.99963,.99999,1.00035,1.00035,1.00082,.99962,.99999,.99977,1.00022,1.00035,1.00001,.99977,1.00026,.9996,.99967,1.00001,1.00034,1.00074,1.00054,1.00053,1.00063,.99971,.99962,1.00035,.99975,.99977,.99973,1.00043,.99953,1.0007,.99915,.99973,1.00008,.99892,1.00073,1.00073,1.00114,.99915,1.00073,.99955,.99973,1.00092,.99973,1,.99998,1,1.0003,1,1.00043,1.00001,.99969,1.0003,1,1.00035,1.00001,.9995,1,1.00092,.99973,.99973,.99973,1.0007,.9995,1,.99924,1.0006,.99924,.99972,1.00062,.99973,1.00114,1.00073,1,.99955,1,1,1.00047,.99968,1.00016,.99977,1.00016,.99977,1.00016,.99977,1.00001,1,1,1,.99973,1,1,.99955,.99924,.99924,.99924,.99924,.99998,.99998,.99998,.99973,.99973,.99972,1,1,1.00267,.99999,.99998,.99998,1,.99998,1.66475,1,.99973,.99973,1.00023,.99973,.99971,.99925,1.00023,1,.99991,.99984,1.00002,1.00002,1.00002,1.00002,1,1,1,1,1,1,1,.96329,1,1.20985,1.39713,1.00003,.8254,1.00015,1,1.00035,1.00027,1.00031,1.00031,.99915,1.00031,1.00031,.99999,1.00003,.99999,.99999,1.41144,1.6,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.40579,1.40579,1.36625,.99999,1,.99861,.99861,1,1.00026,1.00026,1.00026,1.00026,.95317,.99999,.99999,.99999,.99999,1.40483,1,.99977,1.00054,1,1,.99953,.99962,1.00042,.9995,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],xn={lineHeight:1.2,lineGap:.2},Sn=[365,0,333,278,333,474,556,556,889,722,238,333,333,389,584,278,333,278,278,556,556,556,556,556,556,556,556,556,556,333,333,584,584,584,611,975,722,722,722,722,667,611,778,722,278,556,722,611,833,722,778,667,778,722,667,611,722,667,944,667,667,611,333,278,333,584,556,333,556,611,556,611,556,333,611,611,278,278,556,278,889,611,611,611,611,389,556,333,611,556,778,556,556,500,389,280,389,584,333,556,556,556,556,280,556,333,737,370,556,584,737,552,400,549,333,333,333,576,556,278,333,333,365,556,834,834,834,611,722,722,722,722,722,722,1e3,722,667,667,667,667,278,278,278,278,722,722,778,778,778,778,778,584,778,722,722,722,722,667,667,611,556,556,556,556,556,556,889,556,556,556,556,556,278,278,278,278,611,611,611,611,611,611,611,549,611,611,611,611,611,556,611,556,722,556,722,556,722,556,722,556,722,556,722,556,722,556,722,719,722,611,667,556,667,556,667,556,667,556,667,556,778,611,778,611,778,611,778,611,722,611,722,611,278,278,278,278,278,278,278,278,278,278,785,556,556,278,722,556,556,611,278,611,278,611,385,611,479,611,278,722,611,722,611,722,611,708,723,611,778,611,778,611,778,611,1e3,944,722,389,722,389,722,389,667,556,667,556,667,556,667,556,611,333,611,479,611,333,722,611,722,611,722,611,722,611,722,611,722,611,944,778,667,556,667,611,500,611,500,611,500,278,556,722,556,1e3,889,778,611,667,556,611,333,333,333,333,333,333,333,333,333,333,333,465,722,333,853,906,474,825,927,838,278,722,722,601,719,667,611,722,778,278,722,667,833,722,644,778,722,667,600,611,667,821,667,809,802,278,667,615,451,611,278,582,615,610,556,606,475,460,611,541,278,558,556,612,556,445,611,766,619,520,684,446,582,715,576,753,845,278,582,611,582,845,667,669,885,567,711,667,278,276,556,1094,1062,875,610,722,622,719,722,719,722,567,712,667,904,626,719,719,610,702,833,722,778,719,667,722,611,622,854,667,730,703,1005,1019,870,979,719,711,1031,719,556,618,615,417,635,556,709,497,615,615,500,635,740,604,611,604,611,556,490,556,875,556,615,581,833,844,729,854,615,552,854,583,556,556,611,417,552,556,278,281,278,969,906,611,500,615,556,604,778,611,487,447,944,778,944,778,944,778,667,556,333,333,556,1e3,1e3,552,278,278,278,278,500,500,500,556,556,350,1e3,1e3,240,479,333,333,604,333,167,396,556,556,1094,556,885,489,1115,1e3,768,600,834,834,834,834,1e3,500,1e3,500,1e3,500,500,494,612,823,713,584,549,713,979,722,274,549,549,583,549,549,604,584,604,604,708,625,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,729,604,604,354,354,1e3,990,990,990,990,494,604,604,604,604,354,1021,1052,917,750,750,531,656,594,510,500,750,750,611,611,333,333,333,333,333,333,333,333,222,222,333,333,333,333,333,333,333,333],Cn=[-1,-1,-1,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,161,162,163,164,165,166,167,168,169,170,171,172,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,402,506,507,508,509,510,511,536,537,538,539,710,711,713,728,729,730,731,732,733,900,901,902,903,904,905,906,908,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1138,1139,1168,1169,7808,7809,7810,7811,7812,7813,7922,7923,8208,8209,8211,8212,8213,8215,8216,8217,8218,8219,8220,8221,8222,8224,8225,8226,8230,8240,8242,8243,8249,8250,8252,8254,8260,8319,8355,8356,8359,8364,8453,8467,8470,8482,8486,8494,8539,8540,8541,8542,8592,8593,8594,8595,8596,8597,8616,8706,8710,8719,8721,8722,8730,8734,8735,8745,8747,8776,8800,8801,8804,8805,8962,8976,8992,8993,9472,9474,9484,9488,9492,9496,9500,9508,9516,9524,9532,9552,9553,9554,9555,9556,9557,9558,9559,9560,9561,9562,9563,9564,9565,9566,9567,9568,9569,9570,9571,9572,9573,9574,9575,9576,9577,9578,9579,9580,9600,9604,9608,9612,9616,9617,9618,9619,9632,9633,9642,9643,9644,9650,9658,9660,9668,9674,9675,9679,9688,9689,9702,9786,9787,9788,9792,9794,9824,9827,9829,9830,9834,9835,9836,61441,61442,61445,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],wn=[365,0,333,278,333,474,556,556,889,722,238,333,333,389,584,278,333,278,278,556,556,556,556,556,556,556,556,556,556,333,333,584,584,584,611,975,722,722,722,722,667,611,778,722,278,556,722,611,833,722,778,667,778,722,667,611,722,667,944,667,667,611,333,278,333,584,556,333,556,611,556,611,556,333,611,611,278,278,556,278,889,611,611,611,611,389,556,333,611,556,778,556,556,500,389,280,389,584,333,556,556,556,556,280,556,333,737,370,556,584,737,552,400,549,333,333,333,576,556,278,333,333,365,556,834,834,834,611,722,722,722,722,722,722,1e3,722,667,667,667,667,278,278,278,278,722,722,778,778,778,778,778,584,778,722,722,722,722,667,667,611,556,556,556,556,556,556,889,556,556,556,556,556,278,278,278,278,611,611,611,611,611,611,611,549,611,611,611,611,611,556,611,556,722,556,722,556,722,556,722,556,722,556,722,556,722,556,722,740,722,611,667,556,667,556,667,556,667,556,667,556,778,611,778,611,778,611,778,611,722,611,722,611,278,278,278,278,278,278,278,278,278,278,782,556,556,278,722,556,556,611,278,611,278,611,396,611,479,611,278,722,611,722,611,722,611,708,723,611,778,611,778,611,778,611,1e3,944,722,389,722,389,722,389,667,556,667,556,667,556,667,556,611,333,611,479,611,333,722,611,722,611,722,611,722,611,722,611,722,611,944,778,667,556,667,611,500,611,500,611,500,278,556,722,556,1e3,889,778,611,667,556,611,333,333,333,333,333,333,333,333,333,333,333,333,722,333,854,906,473,844,930,847,278,722,722,610,671,667,611,722,778,278,722,667,833,722,657,778,718,667,590,611,667,822,667,829,781,278,667,620,479,611,278,591,620,621,556,610,479,492,611,558,278,566,556,603,556,450,611,712,605,532,664,409,591,704,578,773,834,278,591,611,591,834,667,667,886,614,719,667,278,278,556,1094,1042,854,622,719,677,719,722,708,722,614,722,667,927,643,719,719,615,687,833,722,778,719,667,722,611,677,781,667,729,708,979,989,854,1e3,708,719,1042,729,556,619,604,534,618,556,736,510,611,611,507,622,740,604,611,611,611,556,889,556,885,556,646,583,889,935,707,854,594,552,865,589,556,556,611,469,563,556,278,278,278,969,906,611,507,619,556,611,778,611,575,467,944,778,944,778,944,778,667,556,333,333,556,1e3,1e3,552,278,278,278,278,500,500,500,556,556,350,1e3,1e3,240,479,333,333,604,333,167,396,556,556,1104,556,885,516,1146,1e3,768,600,834,834,834,834,999,500,1e3,500,1e3,500,500,494,612,823,713,584,549,713,979,722,274,549,549,583,549,549,604,584,604,604,708,625,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,729,604,604,354,354,1e3,990,990,990,990,494,604,604,604,604,354,1021,1052,917,750,750,531,656,594,510,500,750,750,611,611,333,333,333,333,333,333,333,333,222,222,333,333,333,333,333,333,333,333],Tn=[-1,-1,-1,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,161,162,163,164,165,166,167,168,169,170,171,172,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,402,506,507,508,509,510,511,536,537,538,539,710,711,713,728,729,730,731,732,733,900,901,902,903,904,905,906,908,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1138,1139,1168,1169,7808,7809,7810,7811,7812,7813,7922,7923,8208,8209,8211,8212,8213,8215,8216,8217,8218,8219,8220,8221,8222,8224,8225,8226,8230,8240,8242,8243,8249,8250,8252,8254,8260,8319,8355,8356,8359,8364,8453,8467,8470,8482,8486,8494,8539,8540,8541,8542,8592,8593,8594,8595,8596,8597,8616,8706,8710,8719,8721,8722,8730,8734,8735,8745,8747,8776,8800,8801,8804,8805,8962,8976,8992,8993,9472,9474,9484,9488,9492,9496,9500,9508,9516,9524,9532,9552,9553,9554,9555,9556,9557,9558,9559,9560,9561,9562,9563,9564,9565,9566,9567,9568,9569,9570,9571,9572,9573,9574,9575,9576,9577,9578,9579,9580,9600,9604,9608,9612,9616,9617,9618,9619,9632,9633,9642,9643,9644,9650,9658,9660,9668,9674,9675,9679,9688,9689,9702,9786,9787,9788,9792,9794,9824,9827,9829,9830,9834,9835,9836,61441,61442,61445,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],En=[365,0,333,278,278,355,556,556,889,667,191,333,333,389,584,278,333,278,278,556,556,556,556,556,556,556,556,556,556,278,278,584,584,584,556,1015,667,667,722,722,667,611,778,722,278,500,667,556,833,722,778,667,778,722,667,611,722,667,944,667,667,611,278,278,278,469,556,333,556,556,500,556,556,278,556,556,222,222,500,222,833,556,556,556,556,333,500,278,556,500,722,500,500,500,334,260,334,584,333,556,556,556,556,260,556,333,737,370,556,584,737,552,400,549,333,333,333,576,537,278,333,333,365,556,834,834,834,611,667,667,667,667,667,667,1e3,722,667,667,667,667,278,278,278,278,722,722,778,778,778,778,778,584,778,722,722,722,722,667,667,611,556,556,556,556,556,556,889,500,556,556,556,556,278,278,278,278,556,556,556,556,556,556,556,549,611,556,556,556,556,500,556,500,667,556,667,556,667,556,722,500,722,500,722,500,722,500,722,625,722,556,667,556,667,556,667,556,667,556,667,556,778,556,778,556,778,556,778,556,722,556,722,556,278,278,278,278,278,278,278,222,278,278,733,444,500,222,667,500,500,556,222,556,222,556,281,556,400,556,222,722,556,722,556,722,556,615,723,556,778,556,778,556,778,556,1e3,944,722,333,722,333,722,333,667,500,667,500,667,500,667,500,611,278,611,354,611,278,722,556,722,556,722,556,722,556,722,556,722,556,944,722,667,500,667,611,500,611,500,611,500,222,556,667,556,1e3,889,778,611,667,500,611,278,333,333,333,333,333,333,333,333,333,333,333,667,278,789,846,389,794,865,775,222,667,667,570,671,667,611,722,778,278,667,667,833,722,648,778,725,667,600,611,667,837,667,831,761,278,667,570,439,555,222,550,570,571,500,556,439,463,555,542,222,500,492,548,500,447,556,670,573,486,603,374,550,652,546,728,779,222,550,556,550,779,667,667,843,544,708,667,278,278,500,1066,982,844,589,715,639,724,667,651,667,544,704,667,917,614,715,715,589,686,833,722,778,725,667,722,611,639,795,667,727,673,920,923,805,886,651,694,1022,682,556,562,522,493,553,556,688,465,556,556,472,564,686,550,556,556,556,500,833,500,835,500,572,518,830,851,621,736,526,492,752,534,556,556,556,378,496,500,222,222,222,910,828,556,472,565,500,556,778,556,492,339,944,722,944,722,944,722,667,500,333,333,556,1e3,1e3,552,222,222,222,222,333,333,333,556,556,350,1e3,1e3,188,354,333,333,500,333,167,365,556,556,1094,556,885,323,1083,1e3,768,600,834,834,834,834,1e3,500,998,500,1e3,500,500,494,612,823,713,584,549,713,979,719,274,549,549,584,549,549,604,584,604,604,708,625,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,729,604,604,354,354,1e3,990,990,990,990,494,604,604,604,604,354,1021,1052,917,750,750,531,656,594,510,500,750,750,500,500,333,333,333,333,333,333,333,333,222,222,294,294,324,324,316,328,398,285],Dn=[-1,-1,-1,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,161,162,163,164,165,166,167,168,169,170,171,172,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,402,506,507,508,509,510,511,536,537,538,539,710,711,713,728,729,730,731,732,733,900,901,902,903,904,905,906,908,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1138,1139,1168,1169,7808,7809,7810,7811,7812,7813,7922,7923,8208,8209,8211,8212,8213,8215,8216,8217,8218,8219,8220,8221,8222,8224,8225,8226,8230,8240,8242,8243,8249,8250,8252,8254,8260,8319,8355,8356,8359,8364,8453,8467,8470,8482,8486,8494,8539,8540,8541,8542,8592,8593,8594,8595,8596,8597,8616,8706,8710,8719,8721,8722,8730,8734,8735,8745,8747,8776,8800,8801,8804,8805,8962,8976,8992,8993,9472,9474,9484,9488,9492,9496,9500,9508,9516,9524,9532,9552,9553,9554,9555,9556,9557,9558,9559,9560,9561,9562,9563,9564,9565,9566,9567,9568,9569,9570,9571,9572,9573,9574,9575,9576,9577,9578,9579,9580,9600,9604,9608,9612,9616,9617,9618,9619,9632,9633,9642,9643,9644,9650,9658,9660,9668,9674,9675,9679,9688,9689,9702,9786,9787,9788,9792,9794,9824,9827,9829,9830,9834,9835,9836,61441,61442,61445,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],On=[365,0,333,278,278,355,556,556,889,667,191,333,333,389,584,278,333,278,278,556,556,556,556,556,556,556,556,556,556,278,278,584,584,584,556,1015,667,667,722,722,667,611,778,722,278,500,667,556,833,722,778,667,778,722,667,611,722,667,944,667,667,611,278,278,278,469,556,333,556,556,500,556,556,278,556,556,222,222,500,222,833,556,556,556,556,333,500,278,556,500,722,500,500,500,334,260,334,584,333,556,556,556,556,260,556,333,737,370,556,584,737,552,400,549,333,333,333,576,537,278,333,333,365,556,834,834,834,611,667,667,667,667,667,667,1e3,722,667,667,667,667,278,278,278,278,722,722,778,778,778,778,778,584,778,722,722,722,722,667,667,611,556,556,556,556,556,556,889,500,556,556,556,556,278,278,278,278,556,556,556,556,556,556,556,549,611,556,556,556,556,500,556,500,667,556,667,556,667,556,722,500,722,500,722,500,722,500,722,615,722,556,667,556,667,556,667,556,667,556,667,556,778,556,778,556,778,556,778,556,722,556,722,556,278,278,278,278,278,278,278,222,278,278,735,444,500,222,667,500,500,556,222,556,222,556,292,556,334,556,222,722,556,722,556,722,556,604,723,556,778,556,778,556,778,556,1e3,944,722,333,722,333,722,333,667,500,667,500,667,500,667,500,611,278,611,375,611,278,722,556,722,556,722,556,722,556,722,556,722,556,944,722,667,500,667,611,500,611,500,611,500,222,556,667,556,1e3,889,778,611,667,500,611,278,333,333,333,333,333,333,333,333,333,333,333,667,278,784,838,384,774,855,752,222,667,667,551,668,667,611,722,778,278,667,668,833,722,650,778,722,667,618,611,667,798,667,835,748,278,667,578,446,556,222,547,578,575,500,557,446,441,556,556,222,500,500,576,500,448,556,690,569,482,617,395,547,648,525,713,781,222,547,556,547,781,667,667,865,542,719,667,278,278,500,1057,1010,854,583,722,635,719,667,656,667,542,677,667,923,604,719,719,583,656,833,722,778,719,667,722,611,635,760,667,740,667,917,938,792,885,656,719,1010,722,556,573,531,365,583,556,669,458,559,559,438,583,688,552,556,542,556,500,458,500,823,500,573,521,802,823,625,719,521,510,750,542,556,556,556,365,510,500,222,278,222,906,812,556,438,559,500,552,778,556,489,411,944,722,944,722,944,722,667,500,333,333,556,1e3,1e3,552,222,222,222,222,333,333,333,556,556,350,1e3,1e3,188,354,333,333,500,333,167,365,556,556,1094,556,885,323,1073,1e3,768,600,834,834,834,834,1e3,500,1e3,500,1e3,500,500,494,612,823,713,584,549,713,979,719,274,549,549,583,549,549,604,584,604,604,708,625,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,729,604,604,354,354,1e3,990,990,990,990,494,604,604,604,604,354,1021,1052,917,750,750,531,656,594,510,500,750,750,500,500,333,333,333,333,333,333,333,333,222,222,294,294,324,324,316,328,398,285],kn=[-1,-1,-1,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,161,162,163,164,165,166,167,168,169,170,171,172,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,402,506,507,508,509,510,511,536,537,538,539,710,711,713,728,729,730,731,732,733,900,901,902,903,904,905,906,908,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1138,1139,1168,1169,7808,7809,7810,7811,7812,7813,7922,7923,8208,8209,8211,8212,8213,8215,8216,8217,8218,8219,8220,8221,8222,8224,8225,8226,8230,8240,8242,8243,8249,8250,8252,8254,8260,8319,8355,8356,8359,8364,8453,8467,8470,8482,8486,8494,8539,8540,8541,8542,8592,8593,8594,8595,8596,8597,8616,8706,8710,8719,8721,8722,8730,8734,8735,8745,8747,8776,8800,8801,8804,8805,8962,8976,8992,8993,9472,9474,9484,9488,9492,9496,9500,9508,9516,9524,9532,9552,9553,9554,9555,9556,9557,9558,9559,9560,9561,9562,9563,9564,9565,9566,9567,9568,9569,9570,9571,9572,9573,9574,9575,9576,9577,9578,9579,9580,9600,9604,9608,9612,9616,9617,9618,9619,9632,9633,9642,9643,9644,9650,9658,9660,9668,9674,9675,9679,9688,9689,9702,9786,9787,9788,9792,9794,9824,9827,9829,9830,9834,9835,9836,61441,61442,61445,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],An=[1.36898,1,1,.72706,.80479,.83734,.98894,.99793,.9897,.93884,.86209,.94292,.94292,1.16661,1.02058,.93582,.96694,.93582,1.19137,.99793,.99793,.99793,.99793,.99793,.99793,.99793,.99793,.99793,.99793,.78076,.78076,1.02058,1.02058,1.02058,.72851,.78966,.90838,.83637,.82391,.96376,.80061,.86275,.8768,.95407,1.0258,.73901,.85022,.83655,1.0156,.95546,.92179,.87107,.92179,.82114,.8096,.89713,.94438,.95353,.94083,.91905,.90406,.9446,.94292,1.18777,.94292,1.02058,.89903,.90088,.94938,.97898,.81093,.97571,.94938,1.024,.9577,.95933,.98621,1.0474,.97455,.98981,.9672,.95933,.9446,.97898,.97407,.97646,.78036,1.10208,.95442,.95298,.97579,.9332,.94039,.938,.80687,1.01149,.80687,1.02058,.80479,.99793,.99793,.99793,.99793,1.01149,1.00872,.90088,.91882,1.0213,.8361,1.02058,.62295,.54324,.89022,1.08595,1,1,.90088,1,.97455,.93582,.90088,1,1.05686,.8361,.99642,.99642,.99642,.72851,.90838,.90838,.90838,.90838,.90838,.90838,.868,.82391,.80061,.80061,.80061,.80061,1.0258,1.0258,1.0258,1.0258,.97484,.95546,.92179,.92179,.92179,.92179,.92179,1.02058,.92179,.94438,.94438,.94438,.94438,.90406,.86958,.98225,.94938,.94938,.94938,.94938,.94938,.94938,.9031,.81093,.94938,.94938,.94938,.94938,.98621,.98621,.98621,.98621,.93969,.95933,.9446,.9446,.9446,.9446,.9446,1.08595,.9446,.95442,.95442,.95442,.95442,.94039,.97898,.94039,.90838,.94938,.90838,.94938,.90838,.94938,.82391,.81093,.82391,.81093,.82391,.81093,.82391,.81093,.96376,.84313,.97484,.97571,.80061,.94938,.80061,.94938,.80061,.94938,.80061,.94938,.80061,.94938,.8768,.9577,.8768,.9577,.8768,.9577,1,1,.95407,.95933,.97069,.95933,1.0258,.98621,1.0258,.98621,1.0258,.98621,1.0258,.98621,1.0258,.98621,.887,1.01591,.73901,1.0474,1,1,.97455,.83655,.98981,1,1,.83655,.73977,.83655,.73903,.84638,1.033,.95546,.95933,1,1,.95546,.95933,.8271,.95417,.95933,.92179,.9446,.92179,.9446,.92179,.9446,.936,.91964,.82114,.97646,1,1,.82114,.97646,.8096,.78036,.8096,.78036,1,1,.8096,.78036,1,1,.89713,.77452,.89713,1.10208,.94438,.95442,.94438,.95442,.94438,.95442,.94438,.95442,.94438,.95442,.94438,.95442,.94083,.97579,.90406,.94039,.90406,.9446,.938,.9446,.938,.9446,.938,1,.99793,.90838,.94938,.868,.9031,.92179,.9446,1,1,.89713,1.10208,.90088,.90088,.90088,.90088,.90088,.90088,.90088,.90088,.90088,.90989,.9358,.91945,.83181,.75261,.87992,.82976,.96034,.83689,.97268,1.0078,.90838,.83637,.8019,.90157,.80061,.9446,.95407,.92436,1.0258,.85022,.97153,1.0156,.95546,.89192,.92179,.92361,.87107,.96318,.89713,.93704,.95638,.91905,.91709,.92796,1.0258,.93704,.94836,1.0373,.95933,1.0078,.95871,.94836,.96174,.92601,.9498,.98607,.95776,.95933,1.05453,1.0078,.98275,.9314,.95617,.91701,1.05993,.9446,.78367,.9553,1,.86832,1.0128,.95871,.99394,.87548,.96361,.86774,1.0078,.95871,.9446,.95871,.86774,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.94083,.97579,.94083,.97579,.94083,.97579,.90406,.94039,.96694,1,.89903,1,1,1,.93582,.93582,.93582,1,.908,.908,.918,.94219,.94219,.96544,1,1.285,1,1,.81079,.81079,1,1,.74854,1,1,1,1,.99793,1,1,1,.65,1,1.36145,1,1,1,1,1,1,1,1,1,1,1,1.17173,1,.80535,.76169,1.02058,1.0732,1.05486,1,1,1.30692,1.08595,1.08595,1,1.08595,1.08595,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1.16161,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],jn={lineHeight:1.2,lineGap:.2},Mn=[1.36898,1,1,.66227,.80779,.81625,.97276,.97276,.97733,.92222,.83266,.94292,.94292,1.16148,1.02058,.93582,.96694,.93582,1.17337,.97276,.97276,.97276,.97276,.97276,.97276,.97276,.97276,.97276,.97276,.78076,.78076,1.02058,1.02058,1.02058,.71541,.76813,.85576,.80591,.80729,.94299,.77512,.83655,.86523,.92222,.98621,.71743,.81698,.79726,.98558,.92222,.90637,.83809,.90637,.80729,.76463,.86275,.90699,.91605,.9154,.85308,.85458,.90531,.94292,1.21296,.94292,1.02058,.89903,1.18616,.99613,.91677,.78216,.91677,.90083,.98796,.9135,.92168,.95381,.98981,.95298,.95381,.93459,.92168,.91513,.92004,.91677,.95077,.748,1.04502,.91677,.92061,.94236,.89544,.89364,.9,.80687,.8578,.80687,1.02058,.80779,.97276,.97276,.97276,.97276,.8578,.99973,1.18616,.91339,1.08074,.82891,1.02058,.55509,.71526,.89022,1.08595,1,1,1.18616,1,.96736,.93582,1.18616,1,1.04864,.82711,.99043,.99043,.99043,.71541,.85576,.85576,.85576,.85576,.85576,.85576,.845,.80729,.77512,.77512,.77512,.77512,.98621,.98621,.98621,.98621,.95961,.92222,.90637,.90637,.90637,.90637,.90637,1.02058,.90251,.90699,.90699,.90699,.90699,.85458,.83659,.94951,.99613,.99613,.99613,.99613,.99613,.99613,.85811,.78216,.90083,.90083,.90083,.90083,.95381,.95381,.95381,.95381,.9135,.92168,.91513,.91513,.91513,.91513,.91513,1.08595,.91677,.91677,.91677,.91677,.91677,.89364,.92332,.89364,.85576,.99613,.85576,.99613,.85576,.99613,.80729,.78216,.80729,.78216,.80729,.78216,.80729,.78216,.94299,.76783,.95961,.91677,.77512,.90083,.77512,.90083,.77512,.90083,.77512,.90083,.77512,.90083,.86523,.9135,.86523,.9135,.86523,.9135,1,1,.92222,.92168,.92222,.92168,.98621,.95381,.98621,.95381,.98621,.95381,.98621,.95381,.98621,.95381,.86036,.97096,.71743,.98981,1,1,.95298,.79726,.95381,1,1,.79726,.6894,.79726,.74321,.81691,1.0006,.92222,.92168,1,1,.92222,.92168,.79464,.92098,.92168,.90637,.91513,.90637,.91513,.90637,.91513,.909,.87514,.80729,.95077,1,1,.80729,.95077,.76463,.748,.76463,.748,1,1,.76463,.748,1,1,.86275,.72651,.86275,1.04502,.90699,.91677,.90699,.91677,.90699,.91677,.90699,.91677,.90699,.91677,.90699,.91677,.9154,.94236,.85458,.89364,.85458,.90531,.9,.90531,.9,.90531,.9,1,.97276,.85576,.99613,.845,.85811,.90251,.91677,1,1,.86275,1.04502,1.18616,1.18616,1.18616,1.18616,1.18616,1.18616,1.18616,1.18616,1.18616,1.00899,1.30628,.85576,.80178,.66862,.7927,.69323,.88127,.72459,.89711,.95381,.85576,.80591,.7805,.94729,.77512,.90531,.92222,.90637,.98621,.81698,.92655,.98558,.92222,.85359,.90637,.90976,.83809,.94523,.86275,.83509,.93157,.85308,.83392,.92346,.98621,.83509,.92886,.91324,.92168,.95381,.90646,.92886,.90557,.86847,.90276,.91324,.86842,.92168,.99531,.95381,.9224,.85408,.92699,.86847,1.0051,.91513,.80487,.93481,1,.88159,1.05214,.90646,.97355,.81539,.89398,.85923,.95381,.90646,.91513,.90646,.85923,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.9154,.94236,.9154,.94236,.9154,.94236,.85458,.89364,.96694,1,.89903,1,1,1,.91782,.91782,.91782,1,.896,.896,.896,.9332,.9332,.95973,1,1.26,1,1,.80479,.80178,1,1,.85633,1,1,1,1,.97276,1,1,1,.698,1,1.36145,1,1,1,1,1,1,1,1,1,1,1,1.14542,1,.79199,.78694,1.02058,1.03493,1.05486,1,1,1.23026,1.08595,1.08595,1,1.08595,1.08595,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1.20006,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],Nn={lineHeight:1.2,lineGap:.2},Pn=[1.36898,1,1,.65507,.84943,.85639,.88465,.88465,.86936,.88307,.86948,.85283,.85283,1.06383,1.02058,.75945,.9219,.75945,1.17337,.88465,.88465,.88465,.88465,.88465,.88465,.88465,.88465,.88465,.88465,.75945,.75945,1.02058,1.02058,1.02058,.69046,.70926,.85158,.77812,.76852,.89591,.70466,.76125,.80094,.86822,.83864,.728,.77212,.79475,.93637,.87514,.8588,.76013,.8588,.72421,.69866,.77598,.85991,.80811,.87832,.78112,.77512,.8562,1.0222,1.18417,1.0222,1.27014,.89903,1.15012,.93859,.94399,.846,.94399,.81453,1.0186,.94219,.96017,1.03075,1.02175,.912,1.03075,.96998,.96017,.93859,.94399,.94399,.95493,.746,1.12658,.94578,.91,.979,.882,.882,.83,.85034,.83537,.85034,1.02058,.70869,.88465,.88465,.88465,.88465,.83537,.90083,1.15012,.9161,.94565,.73541,1.02058,.53609,.69353,.79519,1.08595,1,1,1.15012,1,.91974,.75945,1.15012,1,.9446,.73361,.9005,.9005,.9005,.62864,.85158,.85158,.85158,.85158,.85158,.85158,.773,.76852,.70466,.70466,.70466,.70466,.83864,.83864,.83864,.83864,.90561,.87514,.8588,.8588,.8588,.8588,.8588,1.02058,.85751,.85991,.85991,.85991,.85991,.77512,.76013,.88075,.93859,.93859,.93859,.93859,.93859,.93859,.8075,.846,.81453,.81453,.81453,.81453,.82424,.82424,.82424,.82424,.9278,.96017,.93859,.93859,.93859,.93859,.93859,1.08595,.8562,.94578,.94578,.94578,.94578,.882,.94578,.882,.85158,.93859,.85158,.93859,.85158,.93859,.76852,.846,.76852,.846,.76852,.846,.76852,.846,.89591,.8544,.90561,.94399,.70466,.81453,.70466,.81453,.70466,.81453,.70466,.81453,.70466,.81453,.80094,.94219,.80094,.94219,.80094,.94219,1,1,.86822,.96017,.86822,.96017,.83864,.82424,.83864,.82424,.83864,.82424,.83864,1.03075,.83864,.82424,.81402,1.02738,.728,1.02175,1,1,.912,.79475,1.03075,1,1,.79475,.83911,.79475,.66266,.80553,1.06676,.87514,.96017,1,1,.87514,.96017,.86865,.87396,.96017,.8588,.93859,.8588,.93859,.8588,.93859,.867,.84759,.72421,.95493,1,1,.72421,.95493,.69866,.746,.69866,.746,1,1,.69866,.746,1,1,.77598,.88417,.77598,1.12658,.85991,.94578,.85991,.94578,.85991,.94578,.85991,.94578,.85991,.94578,.85991,.94578,.87832,.979,.77512,.882,.77512,.8562,.83,.8562,.83,.8562,.83,1,.88465,.85158,.93859,.773,.8075,.85751,.8562,1,1,.77598,1.12658,1.15012,1.15012,1.15012,1.15012,1.15012,1.15313,1.15012,1.15012,1.15012,1.08106,1.03901,.85158,.77025,.62264,.7646,.65351,.86026,.69461,.89947,1.03075,.85158,.77812,.76449,.88836,.70466,.8562,.86822,.8588,.83864,.77212,.85308,.93637,.87514,.82352,.8588,.85701,.76013,.89058,.77598,.8156,.82565,.78112,.77899,.89386,.83864,.8156,.9486,.92388,.96186,1.03075,.91123,.9486,.93298,.878,.93942,.92388,.84596,.96186,.95119,1.03075,.922,.88787,.95829,.88,.93559,.93859,.78815,.93758,1,.89217,1.03737,.91123,.93969,.77487,.85769,.86799,1.03075,.91123,.93859,.91123,.86799,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.87832,.979,.87832,.979,.87832,.979,.77512,.882,.9219,1,.89903,1,1,1,.87321,.87321,.87321,1,1.027,1.027,1.027,.86847,.86847,.79121,1,1.124,1,1,.73572,.73572,1,1,.85034,1,1,1,1,.88465,1,1,1,.669,1,1.36145,1,1,1,1,1,1,1,1,1,1,1,1.04828,1,.74948,.75187,1.02058,.98391,1.02119,1,1,1.06233,1.08595,1.08595,1,1.08595,1.08595,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1.05233,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],Fn={lineHeight:1.2,lineGap:.2},In=[1.36898,1,1,.76305,.82784,.94935,.89364,.92241,.89073,.90706,.98472,.85283,.85283,1.0664,1.02058,.74505,.9219,.74505,1.23456,.92241,.92241,.92241,.92241,.92241,.92241,.92241,.92241,.92241,.92241,.74505,.74505,1.02058,1.02058,1.02058,.73002,.72601,.91755,.8126,.80314,.92222,.73764,.79726,.83051,.90284,.86023,.74,.8126,.84869,.96518,.91115,.8858,.79761,.8858,.74498,.73914,.81363,.89591,.83659,.89633,.85608,.8111,.90531,1.0222,1.22736,1.0222,1.27014,.89903,.90088,.86667,1.0231,.896,1.01411,.90083,1.05099,1.00512,.99793,1.05326,1.09377,.938,1.06226,1.00119,.99793,.98714,1.0231,1.01231,.98196,.792,1.19137,.99074,.962,1.01915,.926,.942,.856,.85034,.92006,.85034,1.02058,.69067,.92241,.92241,.92241,.92241,.92006,.9332,.90088,.91882,.93484,.75339,1.02058,.56866,.54324,.79519,1.08595,1,1,.90088,1,.95325,.74505,.90088,1,.97198,.75339,.91009,.91009,.91009,.66466,.91755,.91755,.91755,.91755,.91755,.91755,.788,.80314,.73764,.73764,.73764,.73764,.86023,.86023,.86023,.86023,.92915,.91115,.8858,.8858,.8858,.8858,.8858,1.02058,.8858,.89591,.89591,.89591,.89591,.8111,.79611,.89713,.86667,.86667,.86667,.86667,.86667,.86667,.86936,.896,.90083,.90083,.90083,.90083,.84224,.84224,.84224,.84224,.97276,.99793,.98714,.98714,.98714,.98714,.98714,1.08595,.89876,.99074,.99074,.99074,.99074,.942,1.0231,.942,.91755,.86667,.91755,.86667,.91755,.86667,.80314,.896,.80314,.896,.80314,.896,.80314,.896,.92222,.93372,.92915,1.01411,.73764,.90083,.73764,.90083,.73764,.90083,.73764,.90083,.73764,.90083,.83051,1.00512,.83051,1.00512,.83051,1.00512,1,1,.90284,.99793,.90976,.99793,.86023,.84224,.86023,.84224,.86023,.84224,.86023,1.05326,.86023,.84224,.82873,1.07469,.74,1.09377,1,1,.938,.84869,1.06226,1,1,.84869,.83704,.84869,.81441,.85588,1.08927,.91115,.99793,1,1,.91115,.99793,.91887,.90991,.99793,.8858,.98714,.8858,.98714,.8858,.98714,.894,.91434,.74498,.98196,1,1,.74498,.98196,.73914,.792,.73914,.792,1,1,.73914,.792,1,1,.81363,.904,.81363,1.19137,.89591,.99074,.89591,.99074,.89591,.99074,.89591,.99074,.89591,.99074,.89591,.99074,.89633,1.01915,.8111,.942,.8111,.90531,.856,.90531,.856,.90531,.856,1,.92241,.91755,.86667,.788,.86936,.8858,.89876,1,1,.81363,1.19137,.90088,.90088,.90088,.90088,.90088,.90088,.90088,.90088,.90088,.90388,1.03901,.92138,.78105,.7154,.86169,.80513,.94007,.82528,.98612,1.06226,.91755,.8126,.81884,.92819,.73764,.90531,.90284,.8858,.86023,.8126,.91172,.96518,.91115,.83089,.8858,.87791,.79761,.89297,.81363,.88157,.89992,.85608,.81992,.94307,.86023,.88157,.95308,.98699,.99793,1.06226,.95817,.95308,.97358,.928,.98088,.98699,.92761,.99793,.96017,1.06226,.986,.944,.95978,.938,.96705,.98714,.80442,.98972,1,.89762,1.04552,.95817,.99007,.87064,.91879,.88888,1.06226,.95817,.98714,.95817,.88888,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.89633,1.01915,.89633,1.01915,.89633,1.01915,.8111,.942,.9219,1,.89903,1,1,1,.93173,.93173,.93173,1,1.06304,1.06304,1.06904,.89903,.89903,.80549,1,1.156,1,1,.76575,.76575,1,1,.72458,1,1,1,1,.92241,1,1,1,.619,1,1.36145,1,1,1,1,1,1,1,1,1,1,1,1.07257,1,.74705,.71119,1.02058,1.024,1.02119,1,1,1.1536,1.08595,1.08595,1,1.08595,1.08595,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1.05638,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],Ln={lineHeight:1.2,lineGap:.2},Rn=[1.76738,1,1,.99297,.9824,1.04016,1.06497,1.03424,.97529,1.17647,1.23203,1.1085,1.1085,1.16939,1.2107,.9754,1.21408,.9754,1.59578,1.03424,1.03424,1.03424,1.03424,1.03424,1.03424,1.03424,1.03424,1.03424,1.03424,.81378,.81378,1.2107,1.2107,1.2107,.71703,.97847,.97363,.88776,.8641,1.02096,.79795,.85132,.914,1.06085,1.1406,.8007,.89858,.83693,1.14889,1.09398,.97489,.92094,.97489,.90399,.84041,.95923,1.00135,1,1.06467,.98243,.90996,.99361,1.1085,1.56942,1.1085,1.2107,.74627,.94282,.96752,1.01519,.86304,1.01359,.97278,1.15103,1.01359,.98561,1.02285,1.02285,1.00527,1.02285,1.0302,.99041,1.0008,1.01519,1.01359,1.02258,.79104,1.16862,.99041,.97454,1.02511,.99298,.96752,.95801,.94856,1.16579,.94856,1.2107,.9824,1.03424,1.03424,1,1.03424,1.16579,.8727,1.3871,1.18622,1.10818,1.04478,1.2107,1.18622,.75155,.94994,1.28826,1.21408,1.21408,.91056,1,.91572,.9754,.64663,1.18328,1.24866,1.04478,1.14169,1.15749,1.17389,.71703,.97363,.97363,.97363,.97363,.97363,.97363,.93506,.8641,.79795,.79795,.79795,.79795,1.1406,1.1406,1.1406,1.1406,1.02096,1.09398,.97426,.97426,.97426,.97426,.97426,1.2107,.97489,1.00135,1.00135,1.00135,1.00135,.90996,.92094,1.02798,.96752,.96752,.96752,.96752,.96752,.96752,.93136,.86304,.97278,.97278,.97278,.97278,1.02285,1.02285,1.02285,1.02285,.97122,.99041,1,1,1,1,1,1.28826,1.0008,.99041,.99041,.99041,.99041,.96752,1.01519,.96752,.97363,.96752,.97363,.96752,.97363,.96752,.8641,.86304,.8641,.86304,.8641,.86304,.8641,.86304,1.02096,1.03057,1.02096,1.03517,.79795,.97278,.79795,.97278,.79795,.97278,.79795,.97278,.79795,.97278,.914,1.01359,.914,1.01359,.914,1.01359,1,1,1.06085,.98561,1.06085,1.00879,1.1406,1.02285,1.1406,1.02285,1.1406,1.02285,1.1406,1.02285,1.1406,1.02285,.97138,1.08692,.8007,1.02285,1,1,1.00527,.83693,1.02285,1,1,.83693,.9455,.83693,.90418,.83693,1.13005,1.09398,.99041,1,1,1.09398,.99041,.96692,1.09251,.99041,.97489,1.0008,.97489,1.0008,.97489,1.0008,.93994,.97931,.90399,1.02258,1,1,.90399,1.02258,.84041,.79104,.84041,.79104,.84041,.79104,.84041,.79104,1,1,.95923,1.07034,.95923,1.16862,1.00135,.99041,1.00135,.99041,1.00135,.99041,1.00135,.99041,1.00135,.99041,1.00135,.99041,1.06467,1.02511,.90996,.96752,.90996,.99361,.95801,.99361,.95801,.99361,.95801,1.07733,1.03424,.97363,.96752,.93506,.93136,.97489,1.0008,1,1,.95923,1.16862,1.15103,1.15103,1.01173,1.03959,.75953,.81378,.79912,1.15103,1.21994,.95161,.87815,1.01149,.81525,.7676,.98167,1.01134,1.02546,.84097,1.03089,1.18102,.97363,.88776,.85134,.97826,.79795,.99361,1.06085,.97489,1.1406,.89858,1.0388,1.14889,1.09398,.86039,.97489,1.0595,.92094,.94793,.95923,.90996,.99346,.98243,1.02112,.95493,1.1406,.90996,1.03574,1.02597,1.0008,1.18102,1.06628,1.03574,1.0192,1.01932,1.00886,.97531,1.0106,1.0008,1.13189,1.18102,1.02277,.98683,1.0016,.99561,1.07237,1.0008,.90434,.99921,.93803,.8965,1.23085,1.06628,1.04983,.96268,1.0499,.98439,1.18102,1.06628,1.0008,1.06628,.98439,.79795,1,1,1,1,1,1,1,1,1,1,1,1,1.09466,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.97278,1,1,1,1,1,1,1,1,1,1,1,1,1.02065,1,1,1,1,1,1,1.06467,1.02511,1.06467,1.02511,1.06467,1.02511,.90996,.96752,1,1.21408,.89903,1,1,.75155,1.04394,1.04394,1.04394,1.04394,.98633,.98633,.98633,.73047,.73047,1.20642,.91211,1.25635,1.222,1.02956,1.03372,1.03372,.96039,1.24633,1,1.12454,.93503,1.03424,1.19687,1.03424,1,1,1,.771,1,1,1.15749,1.15749,1.15749,1.10948,.86279,.94434,.86279,.94434,.86182,1,1,1.16897,1,.96085,.90137,1.2107,1.18416,1.13973,.69825,.9716,2.10339,1.29004,1.29004,1.21172,1.29004,1.29004,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1.42603,1,.99862,.99862,1,.87025,.87025,.87025,.87025,1.18874,1.42603,1,1.42603,1.42603,.99862,1,1,1,1,1,1.2886,1.04315,1.15296,1.34163,1,1,1,1.09193,1.09193,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],zn={lineHeight:1.33008,lineGap:0},Bn=[1.76738,1,1,.98946,1.03959,1.04016,1.02809,1.036,.97639,1.10953,1.23203,1.11144,1.11144,1.16939,1.21237,.9754,1.21261,.9754,1.59754,1.036,1.036,1.036,1.036,1.036,1.036,1.036,1.036,1.036,1.036,.81378,.81378,1.21237,1.21237,1.21237,.73541,.97847,.97363,.89723,.87897,1.0426,.79429,.85292,.91149,1.05815,1.1406,.79631,.90128,.83853,1.04396,1.10615,.97552,.94436,.97552,.88641,.80527,.96083,1.00135,1,1.06777,.9817,.91142,.99361,1.11144,1.57293,1.11144,1.21237,.74627,1.31818,1.06585,.97042,.83055,.97042,.93503,1.1261,.97042,.97922,1.14236,.94552,1.01054,1.14236,1.02471,.97922,.94165,.97042,.97042,1.0276,.78929,1.1261,.97922,.95874,1.02197,.98507,.96752,.97168,.95107,1.16579,.95107,1.21237,1.03959,1.036,1.036,1,1.036,1.16579,.87357,1.31818,1.18754,1.26781,1.05356,1.21237,1.18622,.79487,.94994,1.29004,1.24047,1.24047,1.31818,1,.91484,.9754,1.31818,1.1349,1.24866,1.05356,1.13934,1.15574,1.17389,.73541,.97363,.97363,.97363,.97363,.97363,.97363,.94385,.87897,.79429,.79429,.79429,.79429,1.1406,1.1406,1.1406,1.1406,1.0426,1.10615,.97552,.97552,.97552,.97552,.97552,1.21237,.97552,1.00135,1.00135,1.00135,1.00135,.91142,.94436,.98721,1.06585,1.06585,1.06585,1.06585,1.06585,1.06585,.96705,.83055,.93503,.93503,.93503,.93503,1.14236,1.14236,1.14236,1.14236,.93125,.97922,.94165,.94165,.94165,.94165,.94165,1.29004,.94165,.97922,.97922,.97922,.97922,.96752,.97042,.96752,.97363,1.06585,.97363,1.06585,.97363,1.06585,.87897,.83055,.87897,.83055,.87897,.83055,.87897,.83055,1.0426,1.0033,1.0426,.97042,.79429,.93503,.79429,.93503,.79429,.93503,.79429,.93503,.79429,.93503,.91149,.97042,.91149,.97042,.91149,.97042,1,1,1.05815,.97922,1.05815,.97922,1.1406,1.14236,1.1406,1.14236,1.1406,1.14236,1.1406,1.14236,1.1406,1.14236,.97441,1.04302,.79631,1.01582,1,1,1.01054,.83853,1.14236,1,1,.83853,1.09125,.83853,.90418,.83853,1.19508,1.10615,.97922,1,1,1.10615,.97922,1.01034,1.10466,.97922,.97552,.94165,.97552,.94165,.97552,.94165,.91602,.91981,.88641,1.0276,1,1,.88641,1.0276,.80527,.78929,.80527,.78929,.80527,.78929,.80527,.78929,1,1,.96083,1.05403,.95923,1.16862,1.00135,.97922,1.00135,.97922,1.00135,.97922,1.00135,.97922,1.00135,.97922,1.00135,.97922,1.06777,1.02197,.91142,.96752,.91142,.99361,.97168,.99361,.97168,.99361,.97168,1.23199,1.036,.97363,1.06585,.94385,.96705,.97552,.94165,1,1,.96083,1.1261,1.31818,1.31818,1.31818,1.31818,1.31818,1.31818,1.31818,1.31818,1.31818,.95161,1.27126,1.00811,.83284,.77702,.99137,.95253,1.0347,.86142,1.07205,1.14236,.97363,.89723,.86869,1.09818,.79429,.99361,1.05815,.97552,1.1406,.90128,1.06662,1.04396,1.10615,.84918,.97552,1.04694,.94436,.98015,.96083,.91142,1.00356,.9817,1.01945,.98999,1.1406,.91142,1.04961,.9898,1.00639,1.14236,1.07514,1.04961,.99607,1.02897,1.008,.9898,.95134,1.00639,1.11121,1.14236,1.00518,.97981,1.02186,1,1.08578,.94165,.99314,.98387,.93028,.93377,1.35125,1.07514,1.10687,.93491,1.04232,1.00351,1.14236,1.07514,.94165,1.07514,1.00351,.79429,1,1,1,1,1,1,1,1,1,1,1,1,1.09097,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.93503,1,1,1,1,1,1,1,1,1,1,1,1,.96609,1,1,1,1,1,1,1.06777,1.02197,1.06777,1.02197,1.06777,1.02197,.91142,.96752,1,1.21261,.89903,1,1,.75155,1.04745,1.04745,1.04745,1.04394,.98633,.98633,.98633,.72959,.72959,1.20502,.91406,1.26514,1.222,1.02956,1.03372,1.03372,.96039,1.24633,1,1.09125,.93327,1.03336,1.16541,1.036,1,1,1,.771,1,1,1.15574,1.15574,1.15574,1.15574,.86364,.94434,.86279,.94434,.86224,1,1,1.16798,1,.96085,.90068,1.21237,1.18416,1.13904,.69825,.9716,2.10339,1.29004,1.29004,1.21339,1.29004,1.29004,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1.42603,1,.99862,.99862,1,.87025,.87025,.87025,.87025,1.18775,1.42603,1,1.42603,1.42603,.99862,1,1,1,1,1,1.2886,1.04315,1.15296,1.34163,1,1,1,1.13269,1.13269,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],Vn={lineHeight:1.33008,lineGap:0},Hn=[1.76738,1,1,.98946,1.14763,1.05365,1.06234,.96927,.92586,1.15373,1.18414,.91349,.91349,1.07403,1.17308,.78383,1.20088,.78383,1.42531,.96927,.96927,.96927,.96927,.96927,.96927,.96927,.96927,.96927,.96927,.78383,.78383,1.17308,1.17308,1.17308,.77349,.94565,.94729,.85944,.88506,.9858,.74817,.80016,.88449,.98039,.95782,.69238,.89898,.83231,.98183,1.03989,.96924,.86237,.96924,.80595,.74524,.86091,.95402,.94143,.98448,.8858,.83089,.93285,1.0949,1.39016,1.0949,1.45994,.74627,1.04839,.97454,.97454,.87207,.97454,.87533,1.06151,.97454,1.00176,1.16484,1.08132,.98047,1.16484,1.02989,1.01054,.96225,.97454,.97454,1.06598,.79004,1.16344,1.00351,.94629,.9973,.91016,.96777,.9043,.91082,.92481,.91082,1.17308,.95748,.96927,.96927,1,.96927,.92481,.80597,1.04839,1.23393,1.1781,.9245,1.17308,1.20808,.63218,.94261,1.24822,1.09971,1.09971,1.04839,1,.85273,.78032,1.04839,1.09971,1.22326,.9245,1.09836,1.13525,1.15222,.70424,.94729,.94729,.94729,.94729,.94729,.94729,.85498,.88506,.74817,.74817,.74817,.74817,.95782,.95782,.95782,.95782,.9858,1.03989,.96924,.96924,.96924,.96924,.96924,1.17308,.96924,.95402,.95402,.95402,.95402,.83089,.86237,.88409,.97454,.97454,.97454,.97454,.97454,.97454,.92916,.87207,.87533,.87533,.87533,.87533,.93146,.93146,.93146,.93146,.93854,1.01054,.96225,.96225,.96225,.96225,.96225,1.24822,.8761,1.00351,1.00351,1.00351,1.00351,.96777,.97454,.96777,.94729,.97454,.94729,.97454,.94729,.97454,.88506,.87207,.88506,.87207,.88506,.87207,.88506,.87207,.9858,.95391,.9858,.97454,.74817,.87533,.74817,.87533,.74817,.87533,.74817,.87533,.74817,.87533,.88449,.97454,.88449,.97454,.88449,.97454,1,1,.98039,1.00176,.98039,1.00176,.95782,.93146,.95782,.93146,.95782,.93146,.95782,1.16484,.95782,.93146,.84421,1.12761,.69238,1.08132,1,1,.98047,.83231,1.16484,1,1,.84723,1.04861,.84723,.78755,.83231,1.23736,1.03989,1.01054,1,1,1.03989,1.01054,.9857,1.03849,1.01054,.96924,.96225,.96924,.96225,.96924,.96225,.92383,.90171,.80595,1.06598,1,1,.80595,1.06598,.74524,.79004,.74524,.79004,.74524,.79004,.74524,.79004,1,1,.86091,1.02759,.85771,1.16344,.95402,1.00351,.95402,1.00351,.95402,1.00351,.95402,1.00351,.95402,1.00351,.95402,1.00351,.98448,.9973,.83089,.96777,.83089,.93285,.9043,.93285,.9043,.93285,.9043,1.31868,.96927,.94729,.97454,.85498,.92916,.96924,.8761,1,1,.86091,1.16344,1.04839,1.04839,1.04839,1.04839,1.04839,1.04839,1.04839,1.04839,1.04839,.81965,.81965,.94729,.78032,.71022,.90883,.84171,.99877,.77596,1.05734,1.2,.94729,.85944,.82791,.9607,.74817,.93285,.98039,.96924,.95782,.89898,.98316,.98183,1.03989,.78614,.96924,.97642,.86237,.86075,.86091,.83089,.90082,.8858,.97296,1.01284,.95782,.83089,1.0976,1.04,1.03342,1.2,1.0675,1.0976,.98205,1.03809,1.05097,1.04,.95364,1.03342,1.05401,1.2,1.02148,1.0119,1.04724,1.0127,1.02732,.96225,.8965,.97783,.93574,.94818,1.30679,1.0675,1.11826,.99821,1.0557,1.0326,1.2,1.0675,.96225,1.0675,1.0326,.74817,1,1,1,1,1,1,1,1,1,1,1,1,1.03754,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.87533,1,1,1,1,1,1,1,1,1,1,1,1,.98705,1,1,1,1,1,1,.98448,.9973,.98448,.9973,.98448,.9973,.83089,.96777,1,1.20088,.89903,1,1,.75155,.94945,.94945,.94945,.94945,1.12317,1.12317,1.12317,.67603,.67603,1.15621,.73584,1.21191,1.22135,1.06483,.94868,.94868,.95996,1.24633,1,1.07497,.87709,.96927,1.01473,.96927,1,1,1,.77295,1,1,1.09836,1.09836,1.09836,1.01522,.86321,.94434,.8649,.94434,.86182,1,1,1.083,1,.91578,.86438,1.17308,1.18416,1.14589,.69825,.97622,1.96791,1.24822,1.24822,1.17308,1.24822,1.24822,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1.42603,1,.99862,.99862,1,.87025,.87025,.87025,.87025,1.17984,1.42603,1,1.42603,1.42603,.99862,1,1,1,1,1,1.2886,1.04315,1.15296,1.34163,1,1,1,1.10742,1.10742,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],Un={lineHeight:1.33008,lineGap:0},Wn=[1.76738,1,1,.98594,1.02285,1.10454,1.06234,.96927,.92037,1.19985,1.2046,.90616,.90616,1.07152,1.1714,.78032,1.20088,.78032,1.40246,.96927,.96927,.96927,.96927,.96927,.96927,.96927,.96927,.96927,.96927,.78032,.78032,1.1714,1.1714,1.1714,.80597,.94084,.96706,.85944,.85734,.97093,.75842,.79936,.88198,.9831,.95782,.71387,.86969,.84636,1.07796,1.03584,.96924,.83968,.96924,.82826,.79649,.85771,.95132,.93119,.98965,.88433,.8287,.93365,1.08612,1.3638,1.08612,1.45786,.74627,.80499,.91484,1.05707,.92383,1.05882,.9403,1.12654,1.05882,1.01756,1.09011,1.09011,.99414,1.09011,1.034,1.01756,1.05356,1.05707,1.05882,1.04399,.84863,1.21968,1.01756,.95801,1.00068,.91797,.96777,.9043,.90351,.92105,.90351,1.1714,.85337,.96927,.96927,.99912,.96927,.92105,.80597,1.2434,1.20808,1.05937,.90957,1.1714,1.20808,.75155,.94261,1.24644,1.09971,1.09971,.84751,1,.85273,.78032,.61584,1.05425,1.17914,.90957,1.08665,1.11593,1.14169,.73381,.96706,.96706,.96706,.96706,.96706,.96706,.86035,.85734,.75842,.75842,.75842,.75842,.95782,.95782,.95782,.95782,.97093,1.03584,.96924,.96924,.96924,.96924,.96924,1.1714,.96924,.95132,.95132,.95132,.95132,.8287,.83968,.89049,.91484,.91484,.91484,.91484,.91484,.91484,.93575,.92383,.9403,.9403,.9403,.9403,.8717,.8717,.8717,.8717,1.00527,1.01756,1.05356,1.05356,1.05356,1.05356,1.05356,1.24644,.95923,1.01756,1.01756,1.01756,1.01756,.96777,1.05707,.96777,.96706,.91484,.96706,.91484,.96706,.91484,.85734,.92383,.85734,.92383,.85734,.92383,.85734,.92383,.97093,1.0969,.97093,1.05882,.75842,.9403,.75842,.9403,.75842,.9403,.75842,.9403,.75842,.9403,.88198,1.05882,.88198,1.05882,.88198,1.05882,1,1,.9831,1.01756,.9831,1.01756,.95782,.8717,.95782,.8717,.95782,.8717,.95782,1.09011,.95782,.8717,.84784,1.11551,.71387,1.09011,1,1,.99414,.84636,1.09011,1,1,.84636,1.0536,.84636,.94298,.84636,1.23297,1.03584,1.01756,1,1,1.03584,1.01756,1.00323,1.03444,1.01756,.96924,1.05356,.96924,1.05356,.96924,1.05356,.93066,.98293,.82826,1.04399,1,1,.82826,1.04399,.79649,.84863,.79649,.84863,.79649,.84863,.79649,.84863,1,1,.85771,1.17318,.85771,1.21968,.95132,1.01756,.95132,1.01756,.95132,1.01756,.95132,1.01756,.95132,1.01756,.95132,1.01756,.98965,1.00068,.8287,.96777,.8287,.93365,.9043,.93365,.9043,.93365,.9043,1.08571,.96927,.96706,.91484,.86035,.93575,.96924,.95923,1,1,.85771,1.21968,1.11437,1.11437,.93109,.91202,.60411,.84164,.55572,1.01173,.97361,.81818,.81818,.96635,.78032,.72727,.92366,.98601,1.03405,.77968,1.09799,1.2,.96706,.85944,.85638,.96491,.75842,.93365,.9831,.96924,.95782,.86969,.94152,1.07796,1.03584,.78437,.96924,.98715,.83968,.83491,.85771,.8287,.94492,.88433,.9287,1.0098,.95782,.8287,1.0625,.98248,1.03424,1.2,1.01071,1.0625,.95246,1.03809,1.04912,.98248,1.00221,1.03424,1.05443,1.2,1.04785,.99609,1.00169,1.05176,.99346,1.05356,.9087,1.03004,.95542,.93117,1.23362,1.01071,1.07831,1.02512,1.05205,1.03502,1.2,1.01071,1.05356,1.01071,1.03502,.75842,1,1,1,1,1,1,1,1,1,1,1,1,1.03719,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.9403,1,1,1,1,1,1,1,1,1,1,1,1,1.04021,1,1,1,1,1,1,.98965,1.00068,.98965,1.00068,.98965,1.00068,.8287,.96777,1,1.20088,.89903,1,1,.75155,1.03077,1.03077,1.03077,1.03077,1.13196,1.13196,1.13196,.67428,.67428,1.16039,.73291,1.20996,1.22135,1.06483,.94868,.94868,.95996,1.24633,1,1.07497,.87796,.96927,1.01518,.96927,1,1,1,.77295,1,1,1.10539,1.10539,1.11358,1.06967,.86279,.94434,.86279,.94434,.86182,1,1,1.083,1,.91578,.86507,1.1714,1.18416,1.14589,.69825,.97622,1.9697,1.24822,1.24822,1.17238,1.24822,1.24822,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1.42603,1,.99862,.99862,1,.87025,.87025,.87025,.87025,1.18083,1.42603,1,1.42603,1.42603,.99862,1,1,1,1,1,1.2886,1.04315,1.15296,1.34163,1,1,1,1.10938,1.10938,1,1,1,1.05425,1.09971,1.09971,1.09971,1,1,1,1,1,1,1,1,1,1,1],Gn={lineHeight:1.33008,lineGap:0},Kn=getLookupTableFactory(function(e2){e2["MyriadPro-Regular"]=e2["PdfJS-Fallback-Regular"]={name:"LiberationSans-Regular",factors:In,baseWidths:On,baseMapping:kn,metrics:Ln},e2["MyriadPro-Bold"]=e2["PdfJS-Fallback-Bold"]={name:"LiberationSans-Bold",factors:An,baseWidths:Sn,baseMapping:Cn,metrics:jn},e2["MyriadPro-It"]=e2["MyriadPro-Italic"]=e2["PdfJS-Fallback-Italic"]={name:"LiberationSans-Italic",factors:Pn,baseWidths:En,baseMapping:Dn,metrics:Fn},e2["MyriadPro-BoldIt"]=e2["MyriadPro-BoldItalic"]=e2["PdfJS-Fallback-BoldItalic"]={name:"LiberationSans-BoldItalic",factors:Mn,baseWidths:wn,baseMapping:Tn,metrics:Nn},e2.ArialMT=e2.Arial=e2["Arial-Regular"]={name:"LiberationSans-Regular",baseWidths:On,baseMapping:kn},e2["Arial-BoldMT"]=e2["Arial-Bold"]={name:"LiberationSans-Bold",baseWidths:Sn,baseMapping:Cn},e2["Arial-ItalicMT"]=e2["Arial-Italic"]={name:"LiberationSans-Italic",baseWidths:En,baseMapping:Dn},e2["Arial-BoldItalicMT"]=e2["Arial-BoldItalic"]={name:"LiberationSans-BoldItalic",baseWidths:wn,baseMapping:Tn},e2["Calibri-Regular"]={name:"LiberationSans-Regular",factors:fn,baseWidths:On,baseMapping:kn,metrics:pn},e2["Calibri-Bold"]={name:"LiberationSans-Bold",factors:on,baseWidths:Sn,baseMapping:Cn,metrics:sn},e2["Calibri-Italic"]={name:"LiberationSans-Italic",factors:un,baseWidths:En,baseMapping:Dn,metrics:dn},e2["Calibri-BoldItalic"]={name:"LiberationSans-BoldItalic",factors:cn,baseWidths:wn,baseMapping:Tn,metrics:ln},e2["Segoeui-Regular"]={name:"LiberationSans-Regular",factors:Wn,baseWidths:On,baseMapping:kn,metrics:Gn},e2["Segoeui-Bold"]={name:"LiberationSans-Bold",factors:Rn,baseWidths:Sn,baseMapping:Cn,metrics:zn},e2["Segoeui-Italic"]={name:"LiberationSans-Italic",factors:Hn,baseWidths:En,baseMapping:Dn,metrics:Un},e2["Segoeui-BoldItalic"]={name:"LiberationSans-BoldItalic",factors:Bn,baseWidths:wn,baseMapping:Tn,metrics:Vn},e2["Helvetica-Regular"]=e2.Helvetica={name:"LiberationSans-Regular",factors:bn,baseWidths:On,baseMapping:kn,metrics:xn},e2["Helvetica-Bold"]={name:"LiberationSans-Bold",factors:mn,baseWidths:Sn,baseMapping:Cn,metrics:hn},e2["Helvetica-Italic"]={name:"LiberationSans-Italic",factors:vn,baseWidths:En,baseMapping:Dn,metrics:yn},e2["Helvetica-BoldItalic"]={name:"LiberationSans-BoldItalic",factors:gn,baseWidths:wn,baseMapping:Tn,metrics:_n}});function getXfaFontName(e2){let t2=normalizeFontName(e2);return Kn()[t2]}function getXfaFontWidths(e2){let t2=getXfaFontName(e2);if(!t2)return null;let{baseWidths:n2,baseMapping:r2,factors:i2}=t2,a2=i2?n2.map((e3,t3)=>e3*i2[t3]):n2,o2=-2,s2,c2=[];for(let[e3,t3]of r2.map((e4,t4)=>[e4,t4]).sort(([e4],[t4])=>e4-t4))e3!==-1&&(e3===o2+1?(s2.push(a2[t3]),o2+=1):(o2=e3,s2=[a2[t3]],c2.push(e3,s2)));return c2}function getXfaFontDict(e2){let t2=getXfaFontWidths(e2),n2=new F(null);n2.set("BaseFont",N.get(e2)),n2.set("Type",N.get("Font")),n2.set("Subtype",N.get("CIDFontType2")),n2.set("Encoding",N.get("Identity-H")),n2.set("CIDToGIDMap",N.get("Identity")),n2.set("W",t2),n2.set("FirstChar",t2[0]),n2.set("LastChar",t2.at(-2)+t2.at(-1).length-1);let r2=new F(null);n2.set("FontDescriptor",r2);let i2=new F(null);return i2.set("Ordering","Identity"),i2.set("Registry","Adobe"),i2.set("Supplement",0),n2.set("CIDSystemInfo",i2),n2}var R={number:0,lbrace:1,rbrace:2,true:3,false:4,add:5,sub:6,mul:7,div:8,idiv:9,mod:10,exp:11,eq:12,ne:13,gt:14,ge:15,lt:16,le:17,and:18,or:19,xor:20,bitshift:21,abs:22,neg:23,ceiling:24,floor:25,round:26,truncate:27,not:28,sqrt:29,sin:30,cos:31,ln:32,log:33,atan:34,cvi:35,cvr:36,dup:37,exch:38,pop:39,copy:40,index:41,roll:42,if:43,ifelse:44,eof:45,min:46,max:47},Token=class{constructor(e2,t2=null){this.id=e2,this.value=t2}},qn=class lexer_Lexer{static#e=null;static#t=null;static#n(){let e2=Object.create(null),t2=Object.create(null);for(let[n2,r2]of Object.entries(R)){if(n2==="number")continue;let i2=r2>=R.true&&r2<=R.ifelse,a2=new Token(r2,i2?n2:null);e2[n2]=a2,i2&&(t2[n2]=a2)}this.#e=e2,this.#t=t2}constructor(e2){lexer_Lexer.#e||lexer_Lexer.#n(),this.data=e2,this.pos=0,this.len=e2.length,this._numberPattern=/[+-]?(?:\d+\.?\d*|\.\d+)(?:e[+-]?\d+)?/iy,this._identifierPattern=/[a-z]+/y}_skipComment(){let e2=this.data.indexOf(`
|
|
7
|
+
`,this.pos),t2=this.data.indexOf("\r",this.pos),n2=Math.min(e2<0?this.len:e2,t2<0?this.len:t2);this.pos=Math.min(n2+1,this.len)}_getNumber(){this._numberPattern.lastIndex=this.pos;let e2=this._numberPattern.exec(this.data);if(!e2)return new Token(R.number,0);let t2=parseFloat(e2[0]);return Number.isFinite(t2)?(this.pos=this._numberPattern.lastIndex,new Token(R.number,t2)):new Token(R.number,0)}_getOperator(){this._identifierPattern.lastIndex=this.pos;let e2=this._identifierPattern.exec(this.data);if(!e2)return new Token(R.number,0);this.pos=this._identifierPattern.lastIndex;let t2=e2[0];return lexer_Lexer.#t[t2]||new Token(R.number,0)}next(){for(;this.pos<this.len;){let e2=this.data.charCodeAt(this.pos++);switch(e2){case 0:case 9:case 10:case 12:case 13:case 32:break;case 37:this._skipComment();break;case 123:return lexer_Lexer.#e.lbrace;case 125:return lexer_Lexer.#e.rbrace;case 43:case 45:return this.pos--,this._getNumber();case 46:return this.pos--,this._getNumber();default:return e2>=48&&e2<=57?(this.pos--,this._getNumber()):e2>=97&&e2<=122?(this.pos--,this._getOperator()):new Token(R.number,0)}}return lexer_Lexer.#e.eof}},Jn={numeric:0,boolean:1,unknown:2},z={program:0,block:1,number:2,operator:3,if:4,ifelse:5,arg:6,const:7,unary:8,binary:9,ternary:10},PsNode=class{constructor(e2){this.type=e2}},PsProgram=class extends PsNode{constructor(e2){super(z.program),this.body=e2}},PsBlock=class extends PsNode{constructor(e2){super(z.block),this.instructions=e2}},PsNumber=class extends PsNode{constructor(e2){super(z.number),this.value=e2}},PsOperator=class extends PsNode{constructor(e2){super(z.operator),this.op=e2}},PsIf=class extends PsNode{constructor(e2){super(z.if),this.then=e2}},PsIfElse=class extends PsNode{constructor(e2,t2){super(z.ifelse),this.then=e2,this.otherwise=t2}},PsArgNode=class extends PsNode{constructor(e2){super(z.arg),this.index=e2,this.valueType=Jn.numeric}},PsConstNode=class extends PsNode{constructor(e2){super(z.const),this.value=e2,this.valueType=typeof e2=="boolean"?Jn.boolean:Jn.numeric}},PsUnaryNode=class extends PsNode{constructor(e2,t2,n2=Jn.unknown){super(z.unary),this.op=e2,this.operand=t2,this.valueType=n2}},PsBinaryNode=class extends PsNode{constructor(e2,t2,n2,r2=Jn.unknown){super(z.binary),this.op=e2,this.first=t2,this.second=n2,this.valueType=r2}},PsTernaryNode=class extends PsNode{constructor(e2,t2,n2,r2=Jn.unknown){super(z.ternary),this.cond=e2,this.then=t2,this.otherwise=n2,this.valueType=r2}},Yn=class ast_Parser{constructor(e2){this.lexer=e2,this._token=null}static _isRegularOperator(e2){return e2>=R.true&&e2<R.if}_advance(){this._token=this.lexer.next()}_expect(e2){if(this._token.id!==e2)throw new FormatError$1(`PostScript function: expected token id ${e2}, got ${this._token.id}.`);let t2=this._token;return this._advance(),t2}parse(){this._advance(),this._expect(R.lbrace);let e2=this._parseBlock();return this._expect(R.rbrace),this._token.id!==R.eof&&warn$1("PostScript function: unexpected content after closing brace."),new PsProgram(e2)}_parseBlock(){let e2=[];for(;;){let t2=this._token;switch(t2.id){case R.number:e2.push(new PsNumber(t2.value)),this._advance();break;case R.lbrace:{this._advance();let t3=this._parseBlock();if(this._expect(R.rbrace),this._token.id===R.if)this._advance(),e2.push(new PsIf(t3));else if(this._token.id===R.lbrace){this._advance();let n2=this._parseBlock();this._expect(R.rbrace),this._expect(R.ifelse),e2.push(new PsIfElse(t3,n2))}else throw new FormatError$1("PostScript function: a procedure block must be followed by 'if' or '{\u2026} ifelse'.");break}case R.rbrace:case R.eof:return new PsBlock(e2);case R.if:case R.ifelse:throw new FormatError$1(`PostScript function: unexpected '${t2.value}' operator.`);default:if(ast_Parser._isRegularOperator(t2.id)){e2.push(new PsOperator(t2.id)),this._advance();break}throw new FormatError$1(`PostScript function: unexpected token id ${t2.id}.`)}}}};function parsePostScriptFunction(e2){return new Yn(new qn(e2)).parse()}function _nodesEqual(e2,t2){if(e2===t2)return!0;if(e2.type!==t2.type)return!1;switch(e2.type){case z.arg:return e2.index===t2.index;case z.const:return e2.value===t2.value;case z.unary:return e2.op===t2.op&&_nodesEqual(e2.operand,t2.operand);case z.binary:return e2.op===t2.op&&_nodesEqual(e2.first,t2.first)&&_nodesEqual(e2.second,t2.second);case z.ternary:return _nodesEqual(e2.cond,t2.cond)&&_nodesEqual(e2.then,t2.then)&&_nodesEqual(e2.otherwise,t2.otherwise);default:return!1}}function _evalBinaryConst(e2,t2,n2){switch(e2){case R.add:return t2+n2;case R.sub:return t2-n2;case R.mul:return t2*n2;case R.div:return n2===0?0:t2/n2;case R.idiv:return n2===0?0:Math.trunc(t2/n2);case R.mod:return n2===0?0:t2-Math.trunc(t2/n2)*n2;case R.exp:{let e3=t2**n2;return Number.isFinite(e3)?e3:void 0}case R.atan:{let e3=180/Math.PI*Math.atan2(t2,n2);return e3<0&&(e3+=360),e3}case R.eq:return t2===n2;case R.ne:return t2!==n2;case R.gt:return t2>n2;case R.ge:return t2>=n2;case R.lt:return t2<n2;case R.le:return t2<=n2;case R.and:return typeof t2=="boolean"?t2&&n2:t2&n2|0;case R.or:return typeof t2=="boolean"?t2||n2:t2|n2|0;case R.xor:return typeof t2=="boolean"?t2!==n2:t2^n2|0;case R.bitshift:return n2>=0?t2<<n2|0:t2>>-n2|0;case R.min:return Math.min(t2,n2);case R.max:return Math.max(t2,n2);default:return}}function _evalUnaryConst(e2,t2){switch(e2){case R.abs:return Math.abs(t2);case R.neg:return-t2;case R.ceiling:return Math.ceil(t2);case R.floor:return Math.floor(t2);case R.round:return Math.round(t2);case R.truncate:return Math.trunc(t2);case R.sqrt:{let e3=Math.sqrt(t2);return Number.isFinite(e3)?e3:void 0}case R.sin:return Math.sin(t2%360*Math.PI/180);case R.cos:return Math.cos(t2%360*Math.PI/180);case R.ln:{let e3=Math.log(t2);return Number.isFinite(e3)?e3:void 0}case R.log:{let e3=Math.log10(t2);return Number.isFinite(e3)?e3:void 0}case R.cvi:return Math.trunc(t2);case R.cvr:return t2;case R.not:return typeof t2=="boolean"?!t2:~t2;default:return}}function _unaryValueType(e2,t2){return e2===R.not?t2:Jn.numeric}function _binaryValueType(e2,t2,n2){switch(e2){case R.eq:case R.ne:case R.gt:case R.ge:case R.lt:case R.le:return Jn.boolean;case R.and:case R.or:case R.xor:return t2===n2&&t2!==Jn.unknown?t2:Jn.unknown;default:return Jn.numeric}}var Xn=class PSStackToTree{static#e=null;static#t=null;static#n=null;static#r=null;static#i(){this.#e=new Set([R.add,R.sub,R.mul,R.div,R.idiv,R.mod,R.exp,R.atan,R.eq,R.ne,R.gt,R.ge,R.lt,R.le,R.and,R.or,R.xor,R.bitshift]),this.#t=new Set([R.abs,R.neg,R.ceiling,R.floor,R.round,R.truncate,R.sqrt,R.sin,R.cos,R.ln,R.log,R.cvi,R.cvr,R.not]),this.#n=new Set([R.abs,R.ceiling,R.cvi,R.cvr,R.floor,R.round,R.truncate]),this.#r=new Map([[R.eq,R.ne],[R.ne,R.eq],[R.lt,R.ge],[R.le,R.gt],[R.gt,R.le],[R.ge,R.lt]])}evaluate(e2,t2){if(PSStackToTree.#e||PSStackToTree.#i(),this._failed=!1,t2>100)return null;let n2=[];for(let e3=0;e3<t2;e3++)n2.push(new PsArgNode(e3));return this._evalBlock(e2.body,n2),this._failed?null:(PSStackToTree.#a(n2),n2)}static#a(e2){let t2=new Map,visit=e3=>{if(!e3||e3.type===z.arg||e3.type===z.const)return;let n2=t2.get(e3)??0;if(t2.set(e3,n2+1),!(n2>0))switch(e3.type){case z.unary:visit(e3.operand);break;case z.binary:visit(e3.first),visit(e3.second);break;case z.ternary:visit(e3.cond),visit(e3.then),visit(e3.otherwise);break}};for(let t3 of e2)visit(t3);for(let[e3,n2]of t2)n2>1&&(e3.shared=!0,e3.sharedCount=n2)}_evalBlock(e2,t2){this._evalBlockFrom(e2.instructions,0,t2)}_evalBlockFrom(e2,t2,n2){for(let r2=t2;r2<e2.length&&!this._failed;r2++){let t3=e2[r2];switch(t3.type){case z.number:n2.push(new PsConstNode(t3.value)),n2.length>100&&(this._failed=!0);break;case z.operator:this._evalOp(t3.op,n2);break;case z.if:{if(n2.length<1){this._failed=!0;break}let i2=n2.pop(),a2=n2.slice();if(this._evalBlock(t3.then,n2),this._failed)break;if(n2.length===a2.length)for(let e3=0;e3<n2.length;e3++)n2[e3]!==a2[e3]&&(n2[e3]=this._makeTernary(i2,n2[e3],a2[e3]));else if(n2.length>a2.length){if(i2.type===z.const){i2.value||(n2.length=0,n2.push(...a2));break}let t4=n2.slice();if(this._evalBlockFrom(e2,r2+1,t4),this._failed)break;let o2=a2;if(this._evalBlockFrom(e2,r2+1,o2),this._failed)break;if(t4.length!==o2.length){let e3=new PsConstNode(0);for(;t4.length<o2.length;)t4.push(e3);for(;o2.length<t4.length;)o2.push(e3)}n2.length=0;for(let e3=0;e3<t4.length;e3++)n2.push(this._makeTernary(i2,t4[e3],o2[e3]));return}else this._failed=!0;break}case z.ifelse:{if(n2.length<1){this._failed=!0;break}let e3=n2.pop(),r3=n2.slice(),i2=r3.slice();if(this._evalBlock(t3.then,i2),this._failed)break;let a2=r3.slice();if(this._evalBlock(t3.otherwise,a2),this._failed)break;if(i2.length!==a2.length){let e4=new PsConstNode(0);for(;i2.length<a2.length;)i2.push(e4);for(;a2.length<i2.length;)a2.push(e4)}n2.length=0;for(let t4=0;t4<i2.length;t4++)n2.push(this._makeTernary(e3,i2[t4],a2[t4]));break}}}}_evalOp(e2,t2){if(PSStackToTree.#e.has(e2)){if(t2.length<2){this._failed=!0;return}let n2=t2.pop(),r2=t2.pop();t2.push(this._makeBinary(e2,n2,r2));return}if(PSStackToTree.#t.has(e2)){if(t2.length<1){this._failed=!0;return}t2.push(this._makeUnary(e2,t2.pop()));return}switch(e2){case R.true:t2.push(new PsConstNode(!0)),t2.length>100&&(this._failed=!0);break;case R.false:t2.push(new PsConstNode(!1)),t2.length>100&&(this._failed=!0);break;case R.dup:if(t2.length<1){this._failed=!0;break}t2.push(t2.at(-1)),t2.length>100&&(this._failed=!0);break;case R.exch:{if(t2.length<2){this._failed=!0;break}let e3=t2.pop(),n2=t2.pop();t2.push(e3,n2);break}case R.pop:if(t2.length<1){this._failed=!0;break}t2.pop();break;case R.copy:{if(t2.length<1){this._failed=!0;break}let e3=t2.pop();if(e3.type===z.const){let n2=e3.value|0;n2===0||(n2<0||n2>t2.length?this._failed=!0:(t2.push(...t2.slice(-n2)),t2.length>100&&(this._failed=!0)))}else this._failed=!0;break}case R.index:{if(t2.length<1){this._failed=!0;break}let e3=t2.pop();if(e3.type===z.const){let n2=e3.value|0;n2<0||n2>=t2.length?this._failed=!0:t2.push(t2.at(-n2-1))}else this._failed=!0;break}case R.roll:{if(t2.length<2){this._failed=!0;break}let e3=t2.pop(),n2=t2.pop();if(n2.type===z.const&&e3.type===z.const){let r2=n2.value|0;if(r2!==0)if(r2<0||r2>t2.length)this._failed=!0;else{let n3=((e3.value|0)%r2+r2)%r2;if(n3>0){let e4=t2.splice(-r2,r2);t2.push(...e4.slice(r2-n3),...e4.slice(0,r2-n3))}}}else this._failed=!0;break}default:this._failed=!0;break}}_makeBinary(e2,t2,n2){if(t2.type===z.const&&n2.type===z.const){let r2=_evalBinaryConst(e2,n2.value,t2.value);if(r2!==void 0)return new PsConstNode(r2)}if(_nodesEqual(t2,n2))switch(e2){case R.sub:return new PsConstNode(0);case R.xor:return new PsConstNode(t2.valueType!==Jn.boolean&&0);case R.and:case R.or:return t2;case R.min:case R.max:return t2;case R.eq:case R.ge:case R.le:return new PsConstNode(!0);case R.ne:case R.gt:case R.lt:return new PsConstNode(!1)}if(t2.type===z.const){let r2=t2.value;switch(e2){case R.add:if(r2===0)return n2;break;case R.sub:if(r2===0)return n2;break;case R.mul:if(r2===1)return n2;if(r2===0)return t2;if(r2===-1)return this._makeUnary(R.neg,n2);break;case R.div:if(r2!==0)return this._makeBinary(R.mul,new PsConstNode(1/r2),n2);break;case R.idiv:if(r2===1)return n2;break;case R.exp:if(r2===1)return n2;if(r2===-1)return this._makeBinary(R.div,n2,new PsConstNode(1));if(r2===.5)return this._makeUnary(R.sqrt,n2);if(r2===.25){let e3=this._makeUnary(R.sqrt,n2);return this._makeUnary(R.sqrt,e3)}if(r2===2)return this._makeBinary(R.mul,n2,n2);if(r2===3)return this._makeBinary(R.mul,this._makeBinary(R.mul,n2,n2),n2);if(r2===4){let e3=this._makeBinary(R.mul,n2,n2);return this._makeBinary(R.mul,e3,e3)}if(r2===0)return new PsConstNode(1);break;case R.and:if(r2===!0)return n2;if(r2===!1)return t2;break;case R.or:if(r2===!1)return n2;if(r2===!0)return t2;break;case R.min:if(n2.type===z.binary&&n2.op===R.max&&n2.first.type===z.const&&n2.first.value>=r2)return t2;break;case R.max:if(n2.type===z.binary&&n2.op===R.min&&n2.first.type===z.const&&n2.first.value<=r2)return t2;break}}if(n2.type===z.const){let r2=n2.value;switch(e2){case R.add:if(r2===0)return t2;break;case R.sub:if(r2===0)return this._makeUnary(R.neg,t2);break;case R.mul:if(r2===1)return t2;if(r2===0)return n2;if(r2===-1)return this._makeUnary(R.neg,t2);break;case R.and:if(r2===!0)return t2;if(r2===!1)return n2;break;case R.or:if(r2===!1)return t2;if(r2===!0)return n2;break}}return new PsBinaryNode(e2,t2,n2,_binaryValueType(e2,t2.valueType,n2.valueType))}_makeUnary(e2,t2){if(t2.type===z.const){let n2=_evalUnaryConst(e2,t2.value);if(n2!==void 0)return new PsConstNode(n2)}if(e2===R.not&&t2.type===z.binary){let e3=PSStackToTree.#r.get(t2.op);if(e3!==void 0)return new PsBinaryNode(e3,t2.first,t2.second,Jn.boolean)}if(e2===R.neg&&t2.type===z.binary&&t2.op===R.sub)return this._makeBinary(R.sub,t2.second,t2.first);if(t2.type===z.unary){if(e2===R.neg&&t2.op===R.neg||e2===R.not&&t2.op===R.not)return t2.operand;if(e2===R.abs&&t2.op===R.neg)return this._makeUnary(R.abs,t2.operand);if(PSStackToTree.#n.has(e2)&&e2===t2.op)return t2}return new PsUnaryNode(e2,t2,_unaryValueType(e2,t2.valueType))}_makeTernary(e2,t2,n2){if(e2.type===z.const)return e2.value?t2:n2;if(_nodesEqual(t2,n2))return t2;if(t2.type===z.const&&n2.type===z.const){if(t2.value===!0&&n2.value===!1)return e2;if(t2.value===!1&&n2.value===!0)return this._makeUnary(R.not,e2)}if(e2.type===z.binary){let{op:r2,first:i2,second:a2}=e2;if(r2===R.gt||r2===R.ge){if(_nodesEqual(t2,i2)&&_nodesEqual(n2,a2))return this._makeBinary(R.min,i2,a2);if(_nodesEqual(t2,a2)&&_nodesEqual(n2,i2))return this._makeBinary(R.max,i2,a2)}else if(r2===R.lt||r2===R.le){if(_nodesEqual(t2,i2)&&_nodesEqual(n2,a2))return this._makeBinary(R.max,i2,a2);if(_nodesEqual(t2,a2)&&_nodesEqual(n2,i2))return this._makeBinary(R.min,i2,a2)}}return new PsTernaryNode(e2,t2,n2,t2.valueType===n2.valueType?t2.valueType:Jn.unknown)}},V={ARG:0,CONST:1,STORE:2,IF:3,JUMP:4,ABS:5,NEG:6,CEIL:7,FLOOR:8,ROUND:9,TRUNC:10,NOT_B:11,NOT_N:12,SQRT:13,SIN:14,COS:15,LN:16,LOG10:17,CVI:18,SHIFT:19,ADD:20,SUB:21,MUL:22,DIV:23,IDIV:24,MOD:25,POW:26,EQ:27,NE:28,GT:29,GE:30,LT:31,LE:32,AND:33,OR:34,XOR:35,ATAN:36,MIN:37,MAX:38,TEE_TMP:39,LOAD_TMP:40},Zn=Math.PI/180,Qn=180/Math.PI,PsJsCompiler=class{static#e=new Float64Array(64);static#t=new Float64Array(64);constructor(e2,t2){this.nIn=e2.length>>1,this.nOut=t2.length>>1,this.range=t2,this.ir=[],this._tmpMap=new Map,this._nextTmp=0}_compileNode(e2){if(e2.shared){let t2=this._tmpMap.get(e2);if(t2!==void 0)return this.ir.push(V.LOAD_TMP,t2),!0;if(!this._compileNodeImpl(e2))return!1;let n2=this._nextTmp++;return this._tmpMap.set(e2,n2),this.ir.push(V.TEE_TMP,n2),!0}return this._compileNodeImpl(e2)}_compileNodeImpl(e2){switch(e2.type){case z.arg:return this.ir.push(V.ARG,e2.index),!0;case z.const:{let t2=e2.value;return this.ir.push(V.CONST,typeof t2=="boolean"?Number(t2):t2),!0}case z.unary:return this._compileUnary(e2);case z.binary:return this._compileBinary(e2);case z.ternary:return this._compileTernary(e2);default:return!1}}_compileUnary(e2){let{op:t2,operand:n2,valueType:r2}=e2;if(t2===R.cvr)return this._compileNode(n2);if(!this._compileNode(n2))return!1;switch(t2){case R.abs:this.ir.push(V.ABS);break;case R.neg:this.ir.push(V.NEG);break;case R.ceiling:this.ir.push(V.CEIL);break;case R.floor:this.ir.push(V.FLOOR);break;case R.round:this.ir.push(V.ROUND);break;case R.truncate:this.ir.push(V.TRUNC);break;case R.sqrt:this.ir.push(V.SQRT);break;case R.sin:this.ir.push(V.SIN);break;case R.cos:this.ir.push(V.COS);break;case R.ln:this.ir.push(V.LN);break;case R.log:this.ir.push(V.LOG10);break;case R.cvi:this.ir.push(V.CVI);break;case R.not:if(r2===Jn.boolean)this.ir.push(V.NOT_B);else if(r2===Jn.numeric)this.ir.push(V.NOT_N);else return!1;break;default:return!1}return!0}_compileBinary(e2){let{op:t2,first:n2,second:r2}=e2;if(t2===R.bitshift)return n2.type!==z.const||!Number.isInteger(n2.value)||!this._compileNode(r2)?!1:(this.ir.push(V.SHIFT,n2.value),!0);if(!this._compileNode(r2)||!this._compileNode(n2))return!1;switch(t2){case R.add:this.ir.push(V.ADD);break;case R.sub:this.ir.push(V.SUB);break;case R.mul:this.ir.push(V.MUL);break;case R.div:this.ir.push(V.DIV);break;case R.idiv:this.ir.push(V.IDIV);break;case R.mod:this.ir.push(V.MOD);break;case R.exp:this.ir.push(V.POW);break;case R.eq:this.ir.push(V.EQ);break;case R.ne:this.ir.push(V.NE);break;case R.gt:this.ir.push(V.GT);break;case R.ge:this.ir.push(V.GE);break;case R.lt:this.ir.push(V.LT);break;case R.le:this.ir.push(V.LE);break;case R.and:this.ir.push(V.AND);break;case R.or:this.ir.push(V.OR);break;case R.xor:this.ir.push(V.XOR);break;case R.atan:this.ir.push(V.ATAN);break;case R.min:this.ir.push(V.MIN);break;case R.max:this.ir.push(V.MAX);break;default:return!1}return!0}_compileTernary(e2){if(!this._compileNode(e2.cond))return!1;this.ir.push(V.IF,0);let t2=this.ir.length-1;if(!this._compileNode(e2.then))return!1;this.ir.push(V.JUMP,0);let n2=this.ir.length-1;return this.ir[t2]=this.ir.length,this._compileNode(e2.otherwise)?(this.ir[n2]=this.ir.length,!0):!1}compile(e2){let t2=new Xn().evaluate(e2,this.nIn);if(!t2||t2.length<this.nOut)return null;for(let e3=0;e3<this.nOut;e3++){if(!this._compileNode(t2[e3]))return null;let n2=this.range[e3*2],r2=this.range[e3*2+1];this.ir.push(V.STORE,e3,n2,r2)}return new Float64Array(this.ir)}static execute(e2,t2,n2,r2,i2){let a2=0,o2=0,s2=e2.length,c2=this.#e,l2=this.#t;for(;a2<s2;)switch(e2[a2++]|0){case V.ARG:c2[o2++]=t2[n2+(e2[a2++]|0)];break;case V.CONST:c2[o2++]=e2[a2++];break;case V.STORE:{let t3=e2[a2++]|0,n3=e2[a2++],s3=e2[a2++];r2[i2+t3]=MathClamp$1(c2[--o2],n3,s3);break}case V.IF:{let t3=e2[a2++];c2[--o2]===0&&(a2=t3);break}case V.JUMP:a2=e2[a2];break;case V.ABS:c2[o2-1]=Math.abs(c2[o2-1]);break;case V.NEG:c2[o2-1]=-c2[o2-1];break;case V.CEIL:c2[o2-1]=Math.ceil(c2[o2-1]);break;case V.FLOOR:c2[o2-1]=Math.floor(c2[o2-1]);break;case V.ROUND:c2[o2-1]=Math.floor(c2[o2-1]+.5);break;case V.TRUNC:c2[o2-1]=Math.trunc(c2[o2-1]);break;case V.NOT_B:c2[o2-1]=+(c2[o2-1]===0);break;case V.NOT_N:c2[o2-1]=~(c2[o2-1]|0);break;case V.SQRT:c2[o2-1]=Math.sqrt(c2[o2-1]);break;case V.SIN:c2[o2-1]=Math.sin(c2[o2-1]%360*Zn);break;case V.COS:c2[o2-1]=Math.cos(c2[o2-1]%360*Zn);break;case V.LN:c2[o2-1]=Math.log(c2[o2-1]);break;case V.LOG10:c2[o2-1]=Math.log10(c2[o2-1]);break;case V.CVI:c2[o2-1]=Math.trunc(c2[o2-1])|0;break;case V.SHIFT:{let t3=e2[a2++],n3=c2[o2-1]|0;t3>0?c2[o2-1]=n3<<t3:t3<0?c2[o2-1]=n3>>-t3:c2[o2-1]=n3;break}case V.ADD:{let e3=c2[--o2];c2[o2-1]+=e3;break}case V.SUB:{let e3=c2[--o2];c2[o2-1]-=e3;break}case V.MUL:{let e3=c2[--o2];c2[o2-1]*=e3;break}case V.DIV:{let e3=c2[--o2];c2[o2-1]=e3===0?0:c2[o2-1]/e3;break}case V.IDIV:{let e3=c2[--o2];c2[o2-1]=e3===0?0:Math.trunc(c2[o2-1]/e3);break}case V.MOD:{let e3=c2[--o2];c2[o2-1]=e3===0?0:c2[o2-1]%e3;break}case V.POW:{let e3=c2[--o2];c2[o2-1]**=e3;break}case V.EQ:{let e3=c2[--o2];c2[o2-1]=+(c2[o2-1]===e3);break}case V.NE:{let e3=c2[--o2];c2[o2-1]=c2[o2-1]===e3?0:1;break}case V.GT:{let e3=c2[--o2];c2[o2-1]=+(c2[o2-1]>e3);break}case V.GE:{let e3=c2[--o2];c2[o2-1]=+(c2[o2-1]>=e3);break}case V.LT:{let e3=c2[--o2];c2[o2-1]=+(c2[o2-1]<e3);break}case V.LE:{let e3=c2[--o2];c2[o2-1]=+(c2[o2-1]<=e3);break}case V.AND:{let e3=c2[--o2]|0;c2[o2-1]=(c2[o2-1]|0)&e3;break}case V.OR:{let e3=c2[--o2]|0;c2[o2-1]=c2[o2-1]|0|e3;break}case V.XOR:{let e3=c2[--o2]|0;c2[o2-1]=(c2[o2-1]|0)^e3;break}case V.ATAN:{let e3=c2[--o2],t3=Math.atan2(c2[o2-1],e3)*Qn;c2[o2-1]=t3<0?t3+360:t3;break}case V.MIN:{let e3=c2[--o2];c2[o2-1]=Math.min(c2[o2-1],e3);break}case V.MAX:{let e3=c2[--o2];c2[o2-1]=Math.max(c2[o2-1],e3);break}case V.TEE_TMP:l2[e2[a2++]|0]=c2[o2-1];break;case V.LOAD_TMP:c2[o2++]=l2[e2[a2++]|0];break}}},PSStackBasedInterpreter=class{static#e=new Float64Array(100);static#t=0;static#n(e2){this.#t<this.#e.length&&(this.#e[this.#t++]=e2)}static#r(e2){let t2=this.#e;switch(e2){case R.true:this.#n(1);break;case R.false:this.#n(0);break;case R.abs:t2[this.#t-1]=Math.abs(t2[this.#t-1]);break;case R.neg:t2[this.#t-1]=-t2[this.#t-1];break;case R.ceiling:t2[this.#t-1]=Math.ceil(t2[this.#t-1]);break;case R.floor:t2[this.#t-1]=Math.floor(t2[this.#t-1]);break;case R.round:t2[this.#t-1]=Math.floor(t2[this.#t-1]+.5);break;case R.truncate:t2[this.#t-1]=Math.trunc(t2[this.#t-1]);break;case R.sqrt:t2[this.#t-1]=Math.sqrt(t2[this.#t-1]);break;case R.sin:t2[this.#t-1]=Math.sin(t2[this.#t-1]%360*Zn);break;case R.cos:t2[this.#t-1]=Math.cos(t2[this.#t-1]%360*Zn);break;case R.ln:t2[this.#t-1]=Math.log(t2[this.#t-1]);break;case R.log:t2[this.#t-1]=Math.log10(t2[this.#t-1]);break;case R.cvi:t2[this.#t-1]=Math.trunc(t2[this.#t-1])|0;break;case R.cvr:break;case R.not:{let e3=t2[this.#t-1];t2[this.#t-1]=e3===0||e3===1?1-e3:~(e3|0);break}case R.add:{let e3=t2[--this.#t];t2[this.#t-1]+=e3;break}case R.sub:{let e3=t2[--this.#t];t2[this.#t-1]-=e3;break}case R.mul:{let e3=t2[--this.#t];t2[this.#t-1]*=e3;break}case R.div:{let e3=t2[--this.#t];t2[this.#t-1]=e3===0?0:t2[this.#t-1]/e3;break}case R.idiv:{let e3=t2[--this.#t];t2[this.#t-1]=e3===0?0:Math.trunc(t2[this.#t-1]/e3);break}case R.mod:{let e3=t2[--this.#t];t2[this.#t-1]=e3===0?0:t2[this.#t-1]%e3;break}case R.exp:{let e3=t2[--this.#t];t2[this.#t-1]**=e3;break}case R.atan:{let e3=t2[--this.#t],n2=Math.atan2(t2[this.#t-1],e3)*Qn;t2[this.#t-1]=n2<0?n2+360:n2;break}case R.eq:{let e3=t2[--this.#t];t2[this.#t-1]=+(t2[this.#t-1]===e3);break}case R.ne:{let e3=t2[--this.#t];t2[this.#t-1]=t2[this.#t-1]===e3?0:1;break}case R.gt:{let e3=t2[--this.#t];t2[this.#t-1]=+(t2[this.#t-1]>e3);break}case R.ge:{let e3=t2[--this.#t];t2[this.#t-1]=+(t2[this.#t-1]>=e3);break}case R.lt:{let e3=t2[--this.#t];t2[this.#t-1]=+(t2[this.#t-1]<e3);break}case R.le:{let e3=t2[--this.#t];t2[this.#t-1]=+(t2[this.#t-1]<=e3);break}case R.and:{let e3=t2[--this.#t]|0;t2[this.#t-1]=(t2[this.#t-1]|0)&e3;break}case R.or:{let e3=t2[--this.#t]|0;t2[this.#t-1]=t2[this.#t-1]|0|e3;break}case R.xor:{let e3=t2[--this.#t]|0;t2[this.#t-1]=(t2[this.#t-1]|0)^e3;break}case R.bitshift:{let e3=t2[--this.#t]|0,n2=t2[this.#t-1]|0;t2[this.#t-1]=e3>0?n2<<e3:n2>>-e3;break}case R.min:{let e3=t2[--this.#t];t2[this.#t-1]=Math.min(t2[this.#t-1],e3);break}case R.max:{let e3=t2[--this.#t];t2[this.#t-1]=Math.max(t2[this.#t-1],e3);break}case R.dup:this.#n(t2[this.#t-1]);break;case R.exch:{let e3=t2[--this.#t],n2=t2[--this.#t];this.#n(e3),this.#n(n2);break}case R.pop:this.#t--;break;case R.copy:{let e3=Math.trunc(t2[--this.#t]),n2=this.#t-e3;for(let r2=0;r2<e3;r2++)this.#n(t2[n2+r2]);break}case R.index:{let e3=Math.trunc(t2[--this.#t]);this.#n(t2[this.#t-1-e3]);break}case R.roll:{let e3=Math.trunc(t2[--this.#t]),n2=Math.trunc(t2[--this.#t]);if(n2>1&&e3!==0){let r2=(e3%n2+n2)%n2;if(r2!==0){let e4=this.#t-n2,i2=t2.slice(e4,this.#t);for(let a2=0;a2<n2;a2++)t2[e4+a2]=i2[(a2-r2+n2)%n2]}}break}}}static#i(e2){for(let t2 of e2)switch(t2.type){case z.number:this.#n(t2.value);break;case z.operator:this.#r(t2.op);break;case z.if:this.#e[--this.#t]!==0&&this.#i(t2.then.instructions);break;case z.ifelse:this.#e[--this.#t]===0?this.#i(t2.otherwise.instructions):this.#i(t2.then.instructions);break}}static build(e2,t2,n2){let r2=t2.length>>1,i2=n2.length>>1,{instructions:a2}=e2.body;return(e3,t3,o2,s2)=>{this.#t=0;for(let n3=0;n3<r2;n3++)this.#n(e3[t3+n3]);this.#i(a2);let c2=this.#t-i2;for(let e4=0;e4<i2;e4++){let t4=c2+e4>=0?this.#e[c2+e4]:0;o2[s2+e4]=MathClamp$1(n2[e4*2+1],n2[e4*2],t4)}}}};function buildPostScriptJsFunction(e2,t2,n2,r2=!1){let i2=parsePostScriptFunction(e2),a2=!r2&&new PsJsCompiler(t2,n2).compile(i2);return a2?(e3,t3,n3,r3)=>{PsJsCompiler.execute(a2,e3,t3,n3,r3)}:PSStackBasedInterpreter.build(i2,t2,n2)}var H={if:4,else:5,end:11,select:27,call:16,local_get:32,local_set:33,local_tee:34,i32_const:65,i32_eqz:69,i32_and:113,i32_or:114,i32_xor:115,i32_shl:116,i32_shr_s:117,i32_trunc_f64_s:170,f64_const:68,f64_eq:97,f64_ne:98,f64_lt:99,f64_gt:100,f64_le:101,f64_ge:102,f64_abs:153,f64_neg:154,f64_ceil:155,f64_floor:156,f64_trunc:157,f64_nearest:158,f64_sqrt:159,f64_add:160,f64_sub:161,f64_mul:162,f64_div:163,f64_min:164,f64_max:165,f64_convert_i32_s:183,f64_store:57},$n={type:1,import:2,function:3,memory:5,export:7,code:10};function unsignedLEB128(e2){let t2=[];do{let n2=e2&127;e2>>>=7,e2!==0&&(n2|=128),t2.push(n2)}while(e2!==0);return t2}function encodeASCIIString(e2){return[...unsignedLEB128(e2.length),...Array.from(e2,e3=>e3.charCodeAt(0))]}function section(e2,t2){return[e2,...unsignedLEB128(t2.length),...t2]}function vec(e2){let t2=unsignedLEB128(e2.length);for(let n2 of e2){if(typeof n2=="number"){t2.push(n2);continue}for(let e3 of n2)t2.push(e3)}return t2}var er=[["sin","Math","sin",[124],[124]],["cos","Math","cos",[124],[124]],["atan2","Math","atan2",[124,124],[124]],["log","Math","log",[124],[124]],["log10","Math","log10",[124],[124]],["pow","Math","pow",[124,124],[124]]],tr={Math:Object.fromEntries(er.map(([e2])=>[e2,Math[e2]]))},nr=class PsWasmCompiler{static#e=!1;static#t=null;static#n=null;static#r=0;static#i=0;static#a=null;static#o=null;static#s=null;static#c=null;static#l=null;static#u=null;static#d=null;static#f=null;static#p(){this.#t=new Map([[R.eq,H.f64_eq],[R.ne,H.f64_ne],[R.lt,H.f64_lt],[R.le,H.f64_le],[R.gt,H.f64_gt],[R.ge,H.f64_ge]]),this.#n=Object.create(null);for(let e3=0;e3<er.length;e3++)this.#n[er[e3][0]]=e3;this.#r=Math.PI/180,this.#i=180/Math.PI,this.#a=er.map(([,,,e3,t2])=>[96,...vec(e3),...vec(t2)]),this.#o=new Uint8Array(section($n.import,vec(er.map(([,e3,t2],n2)=>[...encodeASCIIString(e3),...encodeASCIIString(t2),0,...unsignedLEB128(n2+1)])))),this.#s=new Uint8Array(section($n.function,vec([[0]]))),this.#c=new Uint8Array(section($n.memory,vec([[0,1]]))),this.#l=new Uint8Array(section($n.export,vec([[...encodeASCIIString("fn"),0,...unsignedLEB128(er.length)],[...encodeASCIIString("mem"),2,0]]))),this.#u=new Uint8Array([0,97,115,109,1,0,0,0]);let e2=new ArrayBuffer(8);this.#d=new DataView(e2),this.#f=new Uint8Array(e2),this.#e=!0}constructor(e2,t2){PsWasmCompiler.#e||PsWasmCompiler.#p(),this._nIn=e2.length>>1,this._nOut=t2.length>>1,this._range=t2,this._code=[],this._nextLocal=this._nIn,this._freeLocals=[],this._sharedLocals=new Map}_allocLocal(){return this._freeLocals.pop()??this._nextLocal++}_releaseLocal(e2){this._freeLocals.push(e2)}_emitULEB128(e2){do{let t2=e2&127;e2>>>=7,e2!==0&&(t2|=128),this._code.push(t2)}while(e2!==0)}_emitF64Const(e2){this._code.push(H.f64_const),PsWasmCompiler.#d.setFloat64(0,e2,!0);for(let e3=0;e3<8;e3++)this._code.push(PsWasmCompiler.#f[e3])}_emitLocalGet(e2){this._code.push(H.local_get),this._emitULEB128(e2)}_emitLocalSet(e2){this._code.push(H.local_set),this._emitULEB128(e2)}_emitLocalTee(e2){this._code.push(H.local_tee),this._emitULEB128(e2)}_compileNode(e2){if(e2.shared){let t2=this._sharedLocals.get(e2);if(t2!==void 0)return this._emitLocalGet(t2.local),--t2.remaining===0&&this._releaseLocal(t2.local),!0;if(!this._compileNodeImpl(e2))return!1;let n2=this._allocLocal();return this._sharedLocals.set(e2,{local:n2,remaining:e2.sharedCount-1}),this._emitLocalTee(n2),!0}return this._compileNodeImpl(e2)}_compileNodeImpl(e2){switch(e2.type){case z.arg:return this._emitLocalGet(e2.index),!0;case z.const:{let t2=e2.value;return typeof t2=="boolean"&&(t2=+!!t2),this._emitF64Const(t2),!0}case z.unary:return this._compileUnaryNode(e2);case z.binary:return this._compileBinaryNode(e2);case z.ternary:return this._compileTernaryNode(e2);default:return!1}}_compileSinCosNode(e2){let t2=this._allocLocal();try{if(!this._compileNode(e2.operand))return!1;let n2=this._code;return this._emitLocalSet(t2),this._emitLocalGet(t2),this._emitLocalGet(t2),this._emitF64Const(360),n2.push(H.f64_div,H.f64_trunc),this._emitF64Const(360),n2.push(H.f64_mul,H.f64_sub),this._emitF64Const(PsWasmCompiler.#r),n2.push(H.f64_mul,H.call),this._emitULEB128(PsWasmCompiler.#n[e2.op===R.sin?"sin":"cos"]),!0}finally{this._releaseLocal(t2)}}_compileUnaryNode(e2){let t2=this._code;if(e2.op===R.sin||e2.op===R.cos)return this._compileSinCosNode(e2);if(e2.op===R.not)return e2.valueType===Jn.boolean?this._compileNodeAsBoolI32(e2.operand)?(t2.push(H.i32_eqz,H.f64_convert_i32_s),!0):!1:e2.valueType===Jn.numeric&&this._compileNode(e2.operand)?(t2.push(H.i32_trunc_f64_s,H.i32_const,127,H.i32_xor,H.f64_convert_i32_s),!0):!1;if(!this._compileNode(e2.operand))return!1;switch(e2.op){case R.abs:t2.push(H.f64_abs);break;case R.neg:t2.push(H.f64_neg);break;case R.sqrt:t2.push(H.f64_sqrt);break;case R.floor:t2.push(H.f64_floor);break;case R.ceiling:t2.push(H.f64_ceil);break;case R.round:this._emitF64Const(.5),t2.push(H.f64_add,H.f64_floor);break;case R.truncate:t2.push(H.f64_trunc);break;case R.cvi:t2.push(H.i32_trunc_f64_s,H.f64_convert_i32_s);break;case R.cvr:break;case R.ln:t2.push(H.call),this._emitULEB128(PsWasmCompiler.#n.log);break;case R.log:t2.push(H.call),this._emitULEB128(PsWasmCompiler.#n.log10);break;default:return!1}return!0}_compileSafeDivNode(e2,t2){let n2=this._allocLocal();try{if(!this._compileNode(t2)||!this._compileNode(e2))return!1;let r2=this._code;return this._emitLocalTee(n2),r2.push(H.f64_div),this._emitF64Const(0),this._emitLocalGet(n2),this._emitF64Const(0),r2.push(H.f64_ne,H.select),!0}finally{this._releaseLocal(n2)}}_compileSafeIdivNode(e2,t2){let n2=this._allocLocal();try{if(!this._compileNode(t2)||!this._compileNode(e2))return!1;let r2=this._code;return this._emitLocalTee(n2),r2.push(H.f64_div,H.f64_trunc),this._emitF64Const(0),this._emitLocalGet(n2),this._emitF64Const(0),r2.push(H.f64_ne,H.select),!0}finally{this._releaseLocal(n2)}}_compileBitshiftNode(e2,t2){if(e2.type!==z.const||!Number.isInteger(e2.value)||!this._compileNode(t2))return!1;let n2=this._code;n2.push(H.i32_trunc_f64_s);let r2=e2.value;return r2>0?(n2.push(H.i32_const),this._emitULEB128(r2),n2.push(H.i32_shl)):r2<0&&(n2.push(H.i32_const),this._emitULEB128(-r2),n2.push(H.i32_shr_s)),n2.push(H.f64_convert_i32_s),!0}_compileModNode(e2,t2){if(e2.type===z.const&&e2.value===0)return this._compileNode(t2)?(this._code.push(H.drop),this._emitF64Const(0),!0):!1;let n2=this._allocLocal();try{if(!this._compileNode(t2))return!1;this._emitLocalTee(n2);let r2=this._code;if(e2.type===z.const)this._emitLocalGet(n2),this._emitF64Const(e2.value),r2.push(H.f64_div,H.f64_trunc),this._emitF64Const(e2.value),r2.push(H.f64_mul,H.f64_sub);else{let t3=this._allocLocal();try{if(!this._compileNode(e2))return!1;this._emitLocalSet(t3),this._emitLocalGet(n2),this._emitLocalGet(t3),r2.push(H.f64_div,H.f64_trunc),this._emitLocalGet(t3),r2.push(H.f64_mul,H.f64_sub),this._emitF64Const(0),this._emitLocalGet(t3),this._emitF64Const(0),r2.push(H.f64_ne,H.select)}finally{this._releaseLocal(t3)}}return!0}finally{this._releaseLocal(n2)}}_compileAtanNode(e2,t2){let n2=this._allocLocal();try{if(!this._compileNode(t2)||!this._compileNode(e2))return!1;let r2=this._code;return r2.push(H.call),this._emitULEB128(PsWasmCompiler.#n.atan2),this._emitF64Const(PsWasmCompiler.#i),r2.push(H.f64_mul),this._emitLocalTee(n2),this._emitF64Const(0),r2.push(H.f64_lt,H.if,124),this._emitLocalGet(n2),this._emitF64Const(360),r2.push(H.f64_add,H.else),this._emitLocalGet(n2),r2.push(H.end),!0}finally{this._releaseLocal(n2)}}_compileBitwiseNode(e2,t2,n2){if(!this._compileBitwiseOperandI32(n2)||!this._compileBitwiseOperandI32(t2))return!1;let r2=this._code;switch(e2){case R.and:r2.push(H.i32_and);break;case R.or:r2.push(H.i32_or);break;case R.xor:r2.push(H.i32_xor);break;default:return!1}return r2.push(H.f64_convert_i32_s),!0}_compileBitwiseOperandI32(e2){return e2.valueType===Jn.boolean?this._compileNodeAsBoolI32(e2):this._compileNode(e2)?(this._code.push(H.i32_trunc_f64_s),!0):!1}_compileStandardBinaryNode(e2,t2,n2){if(t2===n2&&t2.type!==z.arg&&t2.type!==z.const&&!t2.shared){let e3=this._allocLocal();try{if(!this._compileNode(t2))return!1;this._emitLocalTee(e3),this._emitLocalGet(e3)}finally{this._releaseLocal(e3)}}else if(!this._compileNode(n2)||!this._compileNode(t2))return!1;let r2=this._code;switch(e2){case R.add:r2.push(H.f64_add);break;case R.sub:r2.push(H.f64_sub);break;case R.mul:r2.push(H.f64_mul);break;case R.exp:r2.push(H.call),this._emitULEB128(PsWasmCompiler.#n.pow);break;case R.eq:r2.push(H.f64_eq,H.f64_convert_i32_s);break;case R.ne:r2.push(H.f64_ne,H.f64_convert_i32_s);break;case R.lt:r2.push(H.f64_lt,H.f64_convert_i32_s);break;case R.le:r2.push(H.f64_le,H.f64_convert_i32_s);break;case R.gt:r2.push(H.f64_gt,H.f64_convert_i32_s);break;case R.ge:r2.push(H.f64_ge,H.f64_convert_i32_s);break;case R.min:r2.push(H.f64_min);break;case R.max:r2.push(H.f64_max);break;default:return!1}return!0}_compileBinaryNode(e2){let{op:t2,first:n2,second:r2}=e2;return t2===R.bitshift?this._compileBitshiftNode(n2,r2):t2===R.div?this._compileSafeDivNode(n2,r2):t2===R.idiv?this._compileSafeIdivNode(n2,r2):t2===R.mod?this._compileModNode(n2,r2):t2===R.atan?this._compileAtanNode(n2,r2):t2===R.and||t2===R.or||t2===R.xor?this._compileBitwiseNode(t2,n2,r2):this._compileStandardBinaryNode(t2,n2,r2)}_compileNodeAsBoolI32(e2){if(e2.type===z.binary){let t2=PsWasmCompiler.#t.get(e2.op);if(t2!==void 0)return!this._compileNode(e2.second)||!this._compileNode(e2.first)?!1:(this._code.push(t2),!0);if(e2.valueType===Jn.boolean&&(e2.op===R.and||e2.op===R.or||e2.op===R.xor)){if(!this._compileNodeAsBoolI32(e2.second)||!this._compileNodeAsBoolI32(e2.first))return!1;switch(e2.op){case R.and:this._code.push(H.i32_and);break;case R.or:this._code.push(H.i32_or);break;case R.xor:this._code.push(H.i32_xor);break}return!0}}return e2.type===z.unary&&e2.op===R.not&&e2.valueType===Jn.boolean?this._compileNodeAsBoolI32(e2.operand)?(this._code.push(H.i32_eqz),!0):!1:this._compileNode(e2)?(e2.valueType===Jn.boolean?this._code.push(H.i32_trunc_f64_s):(this._emitF64Const(0),this._code.push(H.f64_ne)),!0):!1}_compileTernaryNode(e2){return!this._compileNodeAsBoolI32(e2.cond)||(this._code.push(H.if,124),!this._compileNode(e2.then))||(this._code.push(H.else),!this._compileNode(e2.otherwise))?!1:(this._code.push(H.end),!0)}compile(e2){let t2=new Xn().evaluate(e2,this._nIn);if(!t2||t2.length<this._nOut)return null;let n2=this._code;for(let e3=0;e3<this._nOut;e3++){let r3=this._range[e3*2],i3=this._range[e3*2+1];if(n2.push(H.i32_const),this._emitULEB128(e3*8),!this._compileNode(t2[e3]))return null;this._emitF64Const(i3),n2.push(H.f64_min),this._emitF64Const(r3),n2.push(H.f64_max,H.f64_store,3,0)}n2.push(H.end);let r2=this._nIn,i2=this._nextLocal-r2,a2=Array(r2).fill(124),o2=[],s2=[96,...vec(a2),...vec(o2)],c2=new Uint8Array(section($n.type,vec([s2,...PsWasmCompiler.#a]))),l2=vec(i2>0?[[...unsignedLEB128(i2),124]]:[]),u2=l2.length+n2.length,d2=new Uint8Array(section($n.code,vec([[...unsignedLEB128(u2),...l2,...n2]]))),f2=PsWasmCompiler.#u,p2=PsWasmCompiler.#o,m2=PsWasmCompiler.#s,h2=PsWasmCompiler.#c,g2=PsWasmCompiler.#l,_2=f2.length+c2.length+p2.length+m2.length+h2.length+g2.length+d2.length,v2=new Uint8Array(_2),y2=0;return v2.set(f2,y2),y2+=f2.length,v2.set(c2,y2),y2+=c2.length,v2.set(p2,y2),y2+=p2.length,v2.set(m2,y2),y2+=m2.length,v2.set(h2,y2),y2+=h2.length,v2.set(g2,y2),y2+=g2.length,v2.set(d2,y2),v2}};function compilePostScriptToWasm(e2,t2,n2){return new nr(t2,n2).compile(parsePostScriptFunction(e2))}function _makeWrapper(e2,t2,n2){let{fn:r2,mem:i2}=e2,a2=new Float64Array(i2.buffer,0,n2),writeOut;switch(n2){case 1:writeOut=(e3,t3)=>{e3[t3]=a2[0]};break;case 2:writeOut=(e3,t3)=>{e3[t3]=a2[0],e3[t3+1]=a2[1]};break;case 3:writeOut=(e3,t3)=>{e3[t3]=a2[0],e3[t3+1]=a2[1],e3[t3+2]=a2[2]};break;case 4:writeOut=(e3,t3)=>{e3[t3]=a2[0],e3[t3+1]=a2[1],e3[t3+2]=a2[2],e3[t3+3]=a2[3]};break;default:writeOut=(e3,t3)=>{for(let r3=0;r3<n2;r3++)e3[t3+r3]=a2[r3]}}switch(t2){case 1:return(e3,t3,n3,i3)=>{r2(e3[t3]),writeOut(n3,i3)};case 2:return(e3,t3,n3,i3)=>{r2(e3[t3],e3[t3+1]),writeOut(n3,i3)};case 3:return(e3,t3,n3,i3)=>{r2(e3[t3],e3[t3+1],e3[t3+2]),writeOut(n3,i3)};case 4:return(e3,t3,n3,i3)=>{r2(e3[t3],e3[t3+1],e3[t3+2],e3[t3+3]),writeOut(n3,i3)};default:{let e3=new Float64Array(t2);return(n3,i3,a3,o2)=>{for(let r3=0;r3<t2;r3++)e3[r3]=n3[i3+r3];r2(...e3),writeOut(a3,o2)}}}}function buildPostScriptWasmFunction(e2,t2,n2){let r2=compilePostScriptToWasm(e2,t2,n2);if(!r2)return null;try{return _makeWrapper(new WebAssembly.Instance(new WebAssembly.Module(r2),tr).exports,t2.length>>1,n2.length>>1)}catch{return null}}var BaseLocalCache=class{constructor(e2){this._onlyRefs=e2?.onlyRefs===!0,this._onlyRefs||(this._nameRefMap=new Map,this._imageMap=new Map),this._imageCache=new RefSetCache}getByName(e2){this._onlyRefs&&unreachable$1("Should not call `getByName` method.");let t2=this._nameRefMap.get(e2);return t2?this.getByRef(t2):this._imageMap.get(e2)||null}getByRef(e2){return this._imageCache.get(e2)||null}set(e2,t2,n2){unreachable$1("Abstract method `set` called.")}},LocalImageCache=class extends BaseLocalCache{set(e2,t2=null,n2){if(typeof e2!="string")throw Error('LocalImageCache.set - expected "name" argument.');if(t2){if(this._imageCache.has(t2))return;this._nameRefMap.set(e2,t2),this._imageCache.put(t2,n2);return}this._imageMap.has(e2)||this._imageMap.set(e2,n2)}},LocalColorSpaceCache=class extends BaseLocalCache{set(e2=null,t2=null,n2){if(typeof e2!="string"&&!t2)throw Error('LocalColorSpaceCache.set - expected "name" and/or "ref" argument.');if(t2){if(this._imageCache.has(t2))return;e2!==null&&this._nameRefMap.set(e2,t2),this._imageCache.put(t2,n2);return}this._imageMap.has(e2)||this._imageMap.set(e2,n2)}},LocalFunctionCache=class extends BaseLocalCache{constructor(e2){super({onlyRefs:!0})}set(e2=null,t2,n2){if(!t2)throw Error('LocalFunctionCache.set - expected "ref" argument.');this._imageCache.has(t2)||this._imageCache.put(t2,n2)}},LocalGStateCache=class extends BaseLocalCache{set(e2,t2=null,n2){if(typeof e2!="string")throw Error('LocalGStateCache.set - expected "name" argument.');if(t2){if(this._imageCache.has(t2))return;this._nameRefMap.set(e2,t2),this._imageCache.put(t2,n2);return}this._imageMap.has(e2)||this._imageMap.set(e2,n2)}},LocalTilingPatternCache=class extends BaseLocalCache{constructor(e2){super({onlyRefs:!0})}set(e2=null,t2,n2){if(!t2)throw Error('LocalTilingPatternCache.set - expected "ref" argument.');this._imageCache.has(t2)||this._imageCache.put(t2,n2)}},RegionalImageCache=class extends BaseLocalCache{constructor(e2){super({onlyRefs:!0})}set(e2=null,t2,n2){if(!t2)throw Error('RegionalImageCache.set - expected "ref" argument.');this._imageCache.has(t2)||this._imageCache.put(t2,n2)}},GlobalColorSpaceCache=class extends BaseLocalCache{constructor(e2){super({onlyRefs:!0})}set(e2=null,t2,n2){if(!t2)throw Error('GlobalColorSpaceCache.set - expected "ref" argument.');this._imageCache.has(t2)||this._imageCache.put(t2,n2)}clear(){this._imageCache.clear()}},rr=class GlobalImageCache{static NUM_PAGES_THRESHOLD=2;static MIN_IMAGES_TO_CACHE=10;static MAX_BYTE_SIZE=5e7;#e=new RefSet;constructor(){this._refCache=new RefSetCache,this._imageCache=new RefSetCache}get#t(){let e2=0;for(let t2 of this._imageCache)e2+=t2.byteSize;return e2}get#n(){return!(this._imageCache.size<GlobalImageCache.MIN_IMAGES_TO_CACHE||this.#t<GlobalImageCache.MAX_BYTE_SIZE)}shouldCache(e2,t2){let n2=this._refCache.get(e2);return n2||(n2=new Set,this._refCache.put(e2,n2)),n2.add(t2),!(n2.size<GlobalImageCache.NUM_PAGES_THRESHOLD||!this._imageCache.has(e2)&&this.#n)}addDecodeFailed(e2){this.#e.put(e2)}hasDecodeFailed(e2){return this.#e.has(e2)}addByteSize(e2,t2){let n2=this._imageCache.get(e2);n2&&(n2.byteSize||=t2)}getData(e2,t2){let n2=this._refCache.get(e2);if(!n2||n2.size<GlobalImageCache.NUM_PAGES_THRESHOLD)return null;let r2=this._imageCache.get(e2);return r2?(n2.add(t2),r2):null}setData(e2,t2){if(!this._refCache.has(e2))throw Error('GlobalImageCache.setData - expected "shouldCache" to have been called.');if(!this._imageCache.has(e2)){if(this.#n){warn$1("GlobalImageCache.setData - cache limit reached.");return}this._imageCache.put(e2,t2)}}clear(e2=!1){e2||(this.#e.clear(),this._refCache.clear()),this._imageCache.clear()}},ir={SAMPLED:0,EXPONENTIAL_INTERPOLATION:2,STITCHING:3,POSTSCRIPT_CALCULATOR:4},ar=class PDFFunctionFactory{static#e=!0;static setOptions({useWasm:e2}){this.#e=e2}constructor({xref:e2}){this.xref=e2}get useWasm(){return PDFFunctionFactory.#e}create(e2,t2=!1){let n2,r2;if(e2 instanceof L?n2=e2:e2 instanceof F?n2=e2.objId:e2 instanceof BaseStream&&(n2=e2.dict?.objId),n2){let e3=this._localFunctionCache.getByRef(n2);if(e3)return e3}let i2=this.xref.fetchIfRef(e2);if(Array.isArray(i2)){if(!t2)throw Error('PDFFunctionFactory.create - expected "parseArray" argument.');r2=PDFFunction.parseArray(this,i2)}else r2=PDFFunction.parse(this,i2);return n2&&this._localFunctionCache.set(null,n2,r2),r2}get _localFunctionCache(){return shadow$1(this,"_localFunctionCache",new LocalFunctionCache)}};function toNumberArray(e2){return Array.isArray(e2)?isNumberArray(e2,null)?e2:e2.map(e3=>+e3):null}var PDFFunction=class{static getSampleArray(e2,t2,n2,r2){let i2=t2;for(let t3 of e2)i2*=t3;let a2=Array(i2),o2=0,s2=0,c2=1/(2**n2-1),l2=r2.getBytes((i2*n2+7)/8),u2=0;for(let e3=0;e3<i2;e3++){for(;o2<n2;)s2<<=8,s2|=l2[u2++],o2+=8;o2-=n2,a2[e3]=(s2>>o2)*c2,s2&=(1<<o2)-1}return a2}static parse(e2,t2){let n2=t2.dict||t2,r2=n2.get("FunctionType");switch(r2){case ir.SAMPLED:return this.constructSampled(e2,t2,n2);case ir.EXPONENTIAL_INTERPOLATION:return this.constructInterpolated(e2,n2);case ir.STITCHING:return this.constructStiched(e2,n2);case ir.POSTSCRIPT_CALCULATOR:return this.constructPostScript(e2,t2,n2)}throw new FormatError$1(`Unknown function type: ${r2}`)}static parseArray(e2,t2){let{xref:n2}=e2,r2=[];for(let i2 of t2)r2.push(this.parse(e2,n2.fetchIfRef(i2)));return function(e3,t3,n3,i2){for(let a2=0,o2=r2.length;a2<o2;a2++)r2[a2](e3,t3,n3,i2+a2)}}static constructSampled(e2,t2,n2){function interpolate(e3,t3,n3,r3,i3){return r3+(e3-t3)*((i3-r3)/(n3-t3))}let r2=toNumberArray(n2.getArray("Domain")),i2=toNumberArray(n2.getArray("Range"));if(!r2||!i2)throw new FormatError$1("No domain or range");let a2=r2.length/2,o2=i2.length/2,s2=toNumberArray(n2.getArray("Size")),c2=n2.get("BitsPerSample"),l2=n2.get("Order")||1;l2!==1&&info$1("No support for cubic spline interpolation: "+l2);let u2=toNumberArray(n2.getArray("Encode"));if(!u2){u2=[];for(let e3=0;e3<a2;++e3)u2.push(0,s2[e3]-1)}let d2=toNumberArray(n2.getArray("Decode"))||i2,f2=this.getSampleArray(s2,o2,c2,t2);return function(e3,t3,n3,c3){let l3=1<<a2,p2=new Float64Array(l3).fill(1),m2=new Uint32Array(l3),h2,g2,_2=o2,v2=1;for(h2=0;h2<a2;++h2){let n4=r2[2*h2],i3=r2[2*h2+1],a3=interpolate(MathClamp$1(e3[t3+h2],n4,i3),n4,i3,u2[2*h2],u2[2*h2+1]),o3=s2[h2];a3=MathClamp$1(a3,0,o3-1);let c4=a3<o3-1?Math.floor(a3):a3-1,d3=c4+1-a3,f3=a3-c4,y2=c4*_2,b2=y2+_2;for(g2=0;g2<l3;g2++)g2&v2?(p2[g2]*=f3,m2[g2]+=b2):(p2[g2]*=d3,m2[g2]+=y2);_2*=o3,v2<<=1}for(g2=0;g2<o2;++g2){let e4=0;for(h2=0;h2<l3;h2++)e4+=f2[m2[h2]+g2]*p2[h2];e4=interpolate(e4,0,1,d2[2*g2],d2[2*g2+1]),n3[c3+g2]=MathClamp$1(e4,i2[2*g2],i2[2*g2+1])}}}static constructInterpolated(e2,t2){let n2=toNumberArray(t2.getArray("C0"))||[0],r2=toNumberArray(t2.getArray("C1"))||[1],i2=t2.get("N"),a2=[];for(let e3=0,t3=n2.length;e3<t3;++e3)a2.push(r2[e3]-n2[e3]);let o2=a2.length;return function(e3,t3,r3,s2){let c2=i2===1?e3[t3]:e3[t3]**i2;for(let e4=0;e4<o2;++e4)r3[s2+e4]=n2[e4]+c2*a2[e4]}}static constructStiched(e2,t2){let n2=toNumberArray(t2.getArray("Domain"));if(!n2)throw new FormatError$1("No domain");if(n2.length/2!=1)throw new FormatError$1("Bad domain for stiched function");let{xref:r2}=e2,i2=[];for(let n3 of t2.get("Functions"))i2.push(this.parse(e2,r2.fetchIfRef(n3)));let a2=toNumberArray(t2.getArray("Bounds")),o2=toNumberArray(t2.getArray("Encode")),s2=new Float32Array(1);return function(e3,t3,r3,c2){let l2=MathClamp$1(e3[t3],n2[0],n2[1]),u2=a2.length,d2;for(d2=0;d2<u2&&!(l2<a2[d2]);++d2);let f2=d2>0?a2[d2-1]:n2[0],p2=d2<u2?a2[d2]:n2[1],m2=o2[2*d2],h2=o2[2*d2+1];s2[0]=f2===p2?m2:m2+(l2-f2)*(h2-m2)/(p2-f2),i2[d2](s2,0,r3,c2)}}static constructPostScript(e2,t2,n2){let r2=toNumberArray(n2.getArray("Domain")),i2=toNumberArray(n2.getArray("Range"));if(!r2)throw new FormatError$1("No domain.");if(!i2)throw new FormatError$1("No range.");let a2=t2.getString();try{if(e2.useWasm){let e3=buildPostScriptWasmFunction(a2,r2,i2);if(e3)return e3}}catch{}return warn$1("Failed to compile PostScript function to wasm, falling back to JS"),buildPostScriptJsFunction(a2,r2,i2)}};function isPDFFunction(e2){let t2;if(e2 instanceof F)t2=e2;else if(e2 instanceof BaseStream)t2=e2.dict;else return!1;return t2.has("FunctionType")}function textSinkWrapper(e2){let t2=e2?null:Promise.resolve();return{enqueueInvoked:!1,enqueue(t3,n2){this.enqueueInvoked=!0,e2?.enqueue(t3,n2)},get desiredSize(){return e2?.desiredSize??100},get ready(){return e2?.ready??t2}}}function _parseVisibilityExpression(e2,t2,n2,r2){if(++n2>10){warn$1("Visibility expression is too deeply nested");return}let i2=t2.length,a2=e2.fetchIfRef(t2[0]);if(i2<2||!(a2 instanceof N)){warn$1("Invalid visibility expression");return}switch(a2.name){case"And":case"Or":case"Not":r2.push(a2.name);break;default:warn$1(`Invalid operator ${a2.name} in visibility expression`);return}for(let a3=1;a3<i2;a3++){let i3=t2[a3],o2=e2.fetchIfRef(i3);if(Array.isArray(o2)){let t3=[];r2.push(t3),_parseVisibilityExpression(e2,o2,n2,t3)}else i3 instanceof L&&r2.push(i3.toString())}}function parseMarkedContentProps(e2,t2,n2){let r2;if(t2 instanceof N)r2=n2.get("Properties").get(t2.name);else if(t2 instanceof F)r2=t2;else throw new FormatError$1("Optional content properties malformed.");let i2=r2.get("Type")?.name;if(i2==="OCG")return{type:i2,id:r2.objId};if(i2==="OCMD"){let t3=r2.get("VE");if(Array.isArray(t3)){let n4=[];if(_parseVisibilityExpression(e2,t3,0,n4),n4.length>0)return{type:"OCMD",expression:n4}}let n3=r2.get("OCGs");if(Array.isArray(n3)||n3 instanceof F){let e3=[];if(Array.isArray(n3))for(let t5 of n3)e3.push(t5.toString());else e3.push(n3.objId);let t4=r2.get("P");return{type:i2,ids:e3,policy:t4 instanceof N?t4.name:null,expression:null}}else if(n3 instanceof L)return{type:i2,id:n3.toString()}}return null}var or="BN.BN.BN.BN.BN.BN.BN.BN.BN.S.B.S.WS.B.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.B.B.B.S.WS.ON.ON.ET.ET.ET.ON.ON.ON.ON.ON.ES.CS.ES.CS.CS.EN.EN.EN.EN.EN.EN.EN.EN.EN.EN.CS.ON.ON.ON.ON.ON.ON.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.ON.ON.ON.ON.ON.ON.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.ON.ON.ON.ON.BN.BN.BN.BN.BN.BN.B.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.BN.CS.ON.ET.ET.ET.ET.ON.ON.ON.ON.L.ON.ON.BN.ON.ON.ET.ET.EN.EN.ON.L.ON.ON.ON.EN.L.ON.ON.ON.ON.ON.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.ON.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.ON.L.L.L.L.L.L.L.L".split("."),sr="AN.AN.AN.AN.AN.AN.ON.ON.AL.ET.ET.AL.CS.AL.ON.ON.NSM.NSM.NSM.NSM.NSM.NSM.NSM.NSM.NSM.NSM.NSM.AL.AL..AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.NSM.NSM.NSM.NSM.NSM.NSM.NSM.NSM.NSM.NSM.NSM.NSM.NSM.NSM.NSM.NSM.NSM.NSM.NSM.NSM.NSM.AN.AN.AN.AN.AN.AN.AN.AN.AN.AN.ET.AN.AN.AL.AL.AL.NSM.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.AL.NSM.NSM.NSM.NSM.NSM.NSM.NSM.AN.ON.NSM.NSM.NSM.NSM.NSM.NSM.AL.AL.NSM.NSM.ON.NSM.NSM.NSM.NSM.AL.AL.EN.EN.EN.EN.EN.EN.EN.EN.EN.EN.AL.AL.AL.AL.AL.AL".split(".");function isOdd(e2){return(e2&1)!=0}function isEven(e2){return(e2&1)==0}function findUnequal(e2,t2,n2){let r2,i2;for(r2=t2,i2=e2.length;r2<i2;++r2)if(e2[r2]!==n2)return r2;return r2}function reverseValues(e2,t2,n2){for(let r2=t2,i2=n2-1;r2<i2;++r2,--i2){let t3=e2[r2];e2[r2]=e2[i2],e2[i2]=t3}}function createBidiText(e2,t2,n2=!1){let r2="ltr";return n2?r2="ttb":t2||(r2="rtl"),{str:e2,dir:r2}}var cr=[],lr=[];function bidi(e2,t2=-1,n2=!1){let r2=!0,i2=e2.length;if(i2===0||n2)return createBidiText(e2,r2,n2);cr.length=i2,lr.length=i2;let a2=0,o2,s2;for(o2=0;o2<i2;++o2){cr[o2]=e2.charAt(o2);let t3=e2.charCodeAt(o2),n3="L";t3<=255?n3=or[t3]:1424<=t3&&t3<=1524?n3="R":1536<=t3&&t3<=1791?(n3=sr[t3&255],n3||warn$1("Bidi: invalid Unicode character "+t3.toString(16))):(1792<=t3&&t3<=2220||64336<=t3&&t3<=65023||65136<=t3&&t3<=65279)&&(n3="AL"),(n3==="R"||n3==="AL"||n3==="AN")&&a2++,lr[o2]=n3}if(a2===0)return r2=!0,createBidiText(e2,r2);t2===-1&&(a2/i2<.3&&i2>4?(r2=!0,t2=0):(r2=!1,t2=1));let c2=[];for(o2=0;o2<i2;++o2)c2[o2]=t2;let l2=isOdd(t2)?"R":"L",u2=l2,d2=u2,f2=u2;for(o2=0;o2<i2;++o2)lr[o2]==="NSM"?lr[o2]=f2:f2=lr[o2];f2=u2;let p2;for(o2=0;o2<i2;++o2)p2=lr[o2],p2==="EN"?lr[o2]=f2==="AL"?"AN":"EN":(p2==="R"||p2==="L"||p2==="AL")&&(f2=p2);for(o2=0;o2<i2;++o2)p2=lr[o2],p2==="AL"&&(lr[o2]="R");for(o2=1;o2<i2-1;++o2)lr[o2]==="ES"&&lr[o2-1]==="EN"&&lr[o2+1]==="EN"&&(lr[o2]="EN"),lr[o2]==="CS"&&(lr[o2-1]==="EN"||lr[o2-1]==="AN")&&lr[o2+1]===lr[o2-1]&&(lr[o2]=lr[o2-1]);for(o2=0;o2<i2;++o2)if(lr[o2]==="EN"){for(let e3=o2-1;e3>=0&&lr[e3]==="ET";--e3)lr[e3]="EN";for(let e3=o2+1;e3<i2&&lr[e3]==="ET";++e3)lr[e3]="EN"}for(o2=0;o2<i2;++o2)p2=lr[o2],(p2==="WS"||p2==="ES"||p2==="ET"||p2==="CS")&&(lr[o2]="ON");for(f2=u2,o2=0;o2<i2;++o2)p2=lr[o2],p2==="EN"?lr[o2]=f2==="L"?"L":"EN":(p2==="R"||p2==="L")&&(f2=p2);for(o2=0;o2<i2;++o2)if(lr[o2]==="ON"){let e3=findUnequal(lr,o2+1,"ON"),t3=u2;for(let e4=o2-1;e4>=0;e4--){let n4=lr[e4];if(n4==="L"){t3="L";break}if(n4==="R"||n4==="EN"||n4==="AN"){t3="R";break}}let n3=d2;for(let t4=e3;t4<i2;t4++){let e4=lr[t4];if(e4==="L"){n3="L";break}if(e4==="R"||e4==="EN"||e4==="AN"){n3="R";break}}t3===n3&&lr.fill(t3,o2,e3),o2=e3-1}for(o2=0;o2<i2;++o2)lr[o2]==="ON"&&(lr[o2]=l2);for(o2=0;o2<i2;++o2)p2=lr[o2],isEven(c2[o2])?p2==="R"?c2[o2]+=1:(p2==="AN"||p2==="EN")&&(c2[o2]+=2):(p2==="L"||p2==="AN"||p2==="EN")&&(c2[o2]+=1);let m2=-1,h2=99,g2;for(o2=0,s2=c2.length;o2<s2;++o2)g2=c2[o2],m2<g2&&(m2=g2),h2>g2&&isOdd(g2)&&(h2=g2);for(g2=m2;g2>=h2;--g2){let e3=-1;for(o2=0,s2=c2.length;o2<s2;++o2)c2[o2]<g2?e3>=0&&(reverseValues(cr,e3,o2),e3=-1):e3<0&&(e3=o2);e3>=0&&reverseValues(cr,e3,c2.length)}for(o2=0,s2=cr.length;o2<s2;++o2){let e3=cr[o2];(e3==="<"||e3===">")&&(cr[o2]="")}return createBidiText(cr.join(""),r2)}var ur={style:"normal",weight:"normal"},dr={style:"normal",weight:"500"},fr={style:"normal",weight:"bold"},pr={style:"italic",weight:"normal"},mr={style:"italic",weight:"bold"},hr=new Map([["Times-Roman",{local:["Times New Roman","Times-Roman","Times","Liberation Serif","Nimbus Roman","Nimbus Roman L","Tinos","Thorndale","TeX Gyre Termes","FreeSerif","Linux Libertine O","Libertinus Serif","PT Astra Serif","DejaVu Serif","Bitstream Vera Serif","Ubuntu"],style:ur,ultimate:"serif"}],["Times-Bold",{alias:"Times-Roman",style:fr,ultimate:"serif"}],["Times-Italic",{alias:"Times-Roman",style:pr,ultimate:"serif"}],["Times-BoldItalic",{alias:"Times-Roman",style:mr,ultimate:"serif"}],["Helvetica",{local:["Helvetica","Helvetica Neue","Arial","Arial Nova","Liberation Sans","Arimo","Nimbus Sans","Nimbus Sans L","A030","TeX Gyre Heros","FreeSans","DejaVu Sans","Albany","Bitstream Vera Sans","Arial Unicode MS","Microsoft Sans Serif","Apple Symbols","Cantarell"],path:"LiberationSans-Regular.ttf",style:ur,ultimate:"sans-serif"}],["Helvetica-Bold",{alias:"Helvetica",path:"LiberationSans-Bold.ttf",style:fr,ultimate:"sans-serif"}],["Helvetica-Oblique",{alias:"Helvetica",path:"LiberationSans-Italic.ttf",style:pr,ultimate:"sans-serif"}],["Helvetica-BoldOblique",{alias:"Helvetica",path:"LiberationSans-BoldItalic.ttf",style:mr,ultimate:"sans-serif"}],["Courier",{local:["Courier","Courier New","Liberation Mono","Nimbus Mono","Nimbus Mono L","Cousine","Cumberland","TeX Gyre Cursor","FreeMono","Linux Libertine Mono O","Libertinus Mono"],style:ur,ultimate:"monospace"}],["Courier-Bold",{alias:"Courier",style:fr,ultimate:"monospace"}],["Courier-Oblique",{alias:"Courier",style:pr,ultimate:"monospace"}],["Courier-BoldOblique",{alias:"Courier",style:mr,ultimate:"monospace"}],["ArialBlack",{local:["Arial Black"],style:{style:"normal",weight:"900"},fallback:"Helvetica-Bold"}],["ArialBlack-Bold",{alias:"ArialBlack"}],["ArialBlack-Italic",{alias:"ArialBlack",style:{style:"italic",weight:"900"},fallback:"Helvetica-BoldOblique"}],["ArialBlack-BoldItalic",{alias:"ArialBlack-Italic"}],["ArialNarrow",{local:["Arial Narrow","Liberation Sans Narrow","Helvetica Condensed","Nimbus Sans Narrow","TeX Gyre Heros Cn"],style:ur,fallback:"Helvetica"}],["ArialNarrow-Bold",{alias:"ArialNarrow",style:fr,fallback:"Helvetica-Bold"}],["ArialNarrow-Italic",{alias:"ArialNarrow",style:pr,fallback:"Helvetica-Oblique"}],["ArialNarrow-BoldItalic",{alias:"ArialNarrow",style:mr,fallback:"Helvetica-BoldOblique"}],["Calibri",{local:["Calibri","Carlito"],style:ur,fallback:"Helvetica"}],["Calibri-Bold",{alias:"Calibri",style:fr,fallback:"Helvetica-Bold"}],["Calibri-Italic",{alias:"Calibri",style:pr,fallback:"Helvetica-Oblique"}],["Calibri-BoldItalic",{alias:"Calibri",style:mr,fallback:"Helvetica-BoldOblique"}],["Wingdings",{local:["Wingdings","URW Dingbats"],style:ur}],["Wingdings-Regular",{alias:"Wingdings"}],["Wingdings-Bold",{alias:"Wingdings"}],["\xCB\xCE\xCC\xE5",{local:["SimSun","SimSun Regular","NSimSun"],style:ur,ultimate:"serif"}],["\xBA\xDA\xCC\xE5",{local:["SimHei","SimHei Regular"],style:ur,ultimate:"sans-serif"}],["\xBF\xAC\xCC\xE5",{local:["KaiTi","SimKai","SimKai Regular"],style:ur,ultimate:"sans-serif"}],["\xB7\xC2\xCB\xCE",{local:["FangSong","SimFang","SimFang Regular"],style:ur,ultimate:"serif"}],["\xBF\xAC\xCC\xE5_GB2312",{alias:"\xBF\xAC\xCC\xE5"}],["\xB7\xC2\xCB\xCE_GB2312",{alias:"\xB7\xC2\xCB\xCE"}],["\xC1\xA5\xCA\xE9",{local:["SimLi","SimLi Regular"],style:ur,ultimate:"serif"}],["\xD0\xC2\xCB\xCE",{alias:"\xCB\xCE\xCC\xE5"}],["HeiseiMin-W3",{local:["Hiragino Mincho ProN","Hiragino Mincho Pro","Yu Mincho","YuMincho","Source Han Serif JP","Noto Serif JP","Noto Serif CJK JP","IPAexMincho","IPAMincho","Takao Mincho","MS Mincho","MS PMincho"],style:ur,ultimate:"serif"}],["HeiseiKakuGo-W5",{local:["Hiragino Kaku Gothic ProN","Hiragino Kaku Gothic Pro","Hiragino Sans","Yu Gothic","YuGothic","Source Han Sans JP","Noto Sans JP","Noto Sans CJK JP","IPAexGothic","IPAGothic","Takao Gothic","Meiryo","MS Gothic","MS PGothic"],style:dr,ultimate:"sans-serif"}],["HeiseiMin-W3-Acro",{alias:"HeiseiMin-W3"}],["HeiseiKakuGo-W5-Acro",{alias:"HeiseiKakuGo-W5"}],["KozMinPro-Regular",{alias:"HeiseiMin-W3"}],["KozMinProVI-Regular",{alias:"HeiseiMin-W3"}],["KozMinPr6N-Regular",{alias:"HeiseiMin-W3"}],["KozGoPro-Regular",{alias:"HeiseiKakuGo-W5"}],["KozGoProVI-Regular",{alias:"HeiseiKakuGo-W5"}],["KozGoPr6N-Regular",{alias:"HeiseiKakuGo-W5"}],["STSong-Light",{local:["STSong","Songti SC","Source Han Serif SC","Source Han Serif CN","Noto Serif SC","Noto Serif CJK SC","AR PL UMing CN","SimSun","NSimSun"],style:ur,ultimate:"serif"}],["STHeiti-Regular",{local:["STHeiti","Heiti SC","PingFang SC","Source Han Sans SC","Source Han Sans CN","Noto Sans SC","Noto Sans CJK SC","Microsoft YaHei","SimHei","WenQuanYi Zen Hei"],style:ur,ultimate:"sans-serif"}],["STSongStd-Light",{alias:"STSong-Light"}],["AdobeSongStd-Light",{alias:"STSong-Light"}],["AdobeHeitiStd-Regular",{alias:"STHeiti-Regular"}],["AdobeKaitiStd-Regular",{alias:"\xBF\xAC\xCC\xE5"}],["AdobeFangsongStd-Regular",{alias:"\xB7\xC2\xCB\xCE"}],["MSung-Light",{local:["Songti TC","LiSong Pro","Source Han Serif TC","Source Han Serif TW","Noto Serif TC","Noto Serif CJK TC","AR PL UMing TW","PMingLiU","MingLiU","MingLiU_HKSCS"],style:ur,ultimate:"serif"}],["MHei-Medium",{local:["Heiti TC","STHeiti","Source Han Sans TC","Source Han Sans TW","Noto Sans TC","Noto Sans CJK TC","PingFang TC","Microsoft JhengHei"],style:dr,ultimate:"sans-serif"}],["MSungStd-Light",{alias:"MSung-Light"}],["AdobeMingStd-Light",{alias:"MSung-Light"}],["HYSMyeongJo-Medium",{local:["AppleMyungjo","Source Han Serif KR","Noto Serif KR","Noto Serif CJK KR","Nanum Myeongjo","Batang"],style:dr,ultimate:"serif"}],["HYGoThic-Medium",{local:["Apple SD Gothic Neo","AppleGothic","Source Han Sans KR","Noto Sans KR","Noto Sans CJK KR","Nanum Gothic","Malgun Gothic","Dotum","Gulim"],style:dr,ultimate:"sans-serif"}],["HYSMyeongJoStd-Medium",{alias:"HYSMyeongJo-Medium"}],["AdobeMyungjoStd-Medium",{alias:"HYSMyeongJo-Medium"}],["HYGoThic-Bold",{alias:"HYGoThic-Medium",style:fr}],["AdobeGothicStd-Bold",{alias:"HYGoThic-Medium",style:fr}]]),gr=new Map([["Arial-Black","ArialBlack"]]);function getStyleToAppend(e2){switch(e2){case fr:return"Bold";case pr:return"Italic";case mr:return"Bold Italic";default:if(e2?.weight==="bold")return"Bold";if(e2?.style==="italic")return"Italic"}return""}function getFamilyName(e2){let t2=new Set("thin.extralight.ultralight.demilight.semilight.light.book.regular.normal.medium.demibold.semibold.bold.extrabold.ultrabold.black.heavy.extrablack.ultrablack.roman.italic.oblique.ultracondensed.extracondensed.condensed.semicondensed.normal.semiexpanded.expanded.extraexpanded.ultraexpanded.bolditalic".split("."));return e2.split(/[- ,+]+/g).filter(e3=>!t2.has(e3.toLowerCase())).join(" ")}function generateFont({alias:e2,local:t2,path:n2,fallback:r2,style:i2,ultimate:a2},o2,s2,c2=!0,l2=!0,u2=""){let d2={style:null,ultimate:null};if(t2){let e3=u2?` ${u2}`:"";for(let n3 of t2)o2.push(`local(${n3}${e3})`)}if(e2){let t3=hr.get(e2),a3=u2||getStyleToAppend(i2);Object.assign(d2,generateFont(t3,o2,s2,c2&&!r2,l2&&!n2,a3))}if(i2&&(d2.style=i2),a2&&(d2.ultimate=a2),c2&&r2){let{ultimate:e3}=generateFont(hr.get(r2),o2,s2,c2,l2&&!n2,u2);d2.ultimate||=e3}return l2&&n2&&s2&&o2.push(`url(${s2}${n2})`),d2}function getFontSubstitution(e2,t2,n2,r2,i2,a2){if(r2.startsWith("InvalidPDFjsFont_"))return null;(a2==="TrueType"||a2==="Type1")&&/^[A-Z]{6}\+/.test(r2)&&(r2=r2.slice(7)),r2=normalizeFontName(r2);let o2=r2,s2=e2.get(o2);if(s2)return s2;let c2=hr.get(r2);if(!c2){for(let[e3,t3]of gr)if(r2.startsWith(e3)){r2=`${t3}${r2.substring(e3.length)}`,c2=hr.get(r2);break}}let l2=!1;c2||(c2=hr.get(i2),l2=!0);let u2=`${t2.getDocId()}_s${t2.createFontId()}`;if(!c2){if(!validateFontName(r2))return warn$1(`Cannot substitute the font because of its name: ${r2}`),e2.set(o2,null),null;let t3=/bold/i.test(r2),n3=/oblique|italic/i.test(r2),i3=t3&&n3&&mr||t3&&fr||n3&&pr||ur;return s2={css:`"${getFamilyName(r2)}",${u2}`,guessFallback:!0,loadedName:u2,baseFontName:r2,src:`local(${r2})`,style:i3},e2.set(o2,s2),s2}let d2=[];l2&&validateFontName(r2)&&d2.push(`local(${r2})`);let{style:f2,ultimate:p2}=generateFont(c2,d2,n2),m2=p2===null,h2=m2?"":`,${p2}`;return s2={css:`"${getFamilyName(r2)}",${u2}${h2}`,guessFallback:m2,loadedName:u2,baseFontName:r2,src:d2.join(","),style:f2},e2.set(o2,s2),s2}var _r=3285377520,vr=4294901760,yr=65535,MurmurHash3_64$1=class{constructor(e2){this.h1=e2?e2&4294967295:_r,this.h2=e2?e2&4294967295:_r}update(e2){let t2,n2;if(typeof e2=="string"){t2=new Uint8Array(e2.length*2),n2=0;for(let r3=0,i3=e2.length;r3<i3;r3++){let i4=e2.charCodeAt(r3);i4<=255?t2[n2++]=i4:(t2[n2++]=i4>>>8,t2[n2++]=i4&255)}}else if(ArrayBuffer.isView(e2))t2=e2.slice(),n2=t2.byteLength;else throw Error("Invalid data format, must be a string or TypedArray.");let r2=n2>>2,i2=n2-r2*4,a2=new Uint32Array(t2.buffer,0,r2),o2=0,s2=0,c2=this.h1,l2=this.h2,u2=3432918353,d2=461845907,f2=11601,p2=13715;for(let e3=0;e3<r2;e3++)e3&1?(o2=a2[e3],o2=o2*u2&vr|o2*f2&yr,o2=o2<<15|o2>>>17,o2=o2*d2&vr|o2*p2&yr,c2^=o2,c2=c2<<13|c2>>>19,c2=c2*5+3864292196):(s2=a2[e3],s2=s2*u2&vr|s2*f2&yr,s2=s2<<15|s2>>>17,s2=s2*d2&vr|s2*p2&yr,l2^=s2,l2=l2<<13|l2>>>19,l2=l2*5+3864292196);switch(o2=0,i2){case 3:o2^=t2[r2*4+2]<<16;case 2:o2^=t2[r2*4+1]<<8;case 1:o2^=t2[r2*4],o2=o2*u2&vr|o2*f2&yr,o2=o2<<15|o2>>>17,o2=o2*d2&vr|o2*p2&yr,r2&1?c2^=o2:l2^=o2}this.h1=c2,this.h2=l2}hexdigest(){let e2=this.h1,t2=this.h2;return e2^=t2>>>1,e2=e2*3981806797&vr|e2*36045&yr,t2=t2*4283543511&vr|((t2<<16|e2>>>16)*2950163797&vr)>>>16,e2^=t2>>>1,e2=e2*444984403&vr|e2*60499&yr,t2=t2*3301882366&vr|((t2<<16|e2>>>16)*3120437893&vr)>>>16,e2^=t2>>>1,(e2>>>0).toString(16).padStart(8,"0")+(t2>>>0).toString(16).padStart(8,"0")}},br=class PDFImage{constructor({xref:e2,res:t2,image:n2,isInline:r2=!1,smask:i2=null,mask:a2=null,isMask:o2=!1,pdfFunctionFactory:s2,globalColorSpaceCache:c2,localColorSpaceCache:l2}){this.image=n2;let u2=n2.dict,d2=u2.get("F","Filter"),f2;if(d2 instanceof N)f2=d2.name;else if(Array.isArray(d2)){let t3=e2.fetchIfRef(d2[0]);t3 instanceof N&&(f2=t3.name)}switch(f2){case"JPXDecode":({width:n2.width,height:n2.height,componentsCount:n2.numComps,bitsPerComponent:n2.bitsPerComponent}=nt.parseImageProperties(n2.stream)),n2.stream.reset();let e3=Oe.getReducePowerForJPX(n2.width,n2.height,n2.numComps);if(this.jpxDecoderOptions={numComponents:0,isIndexedColormap:!1,smaskInData:u2.has("SMaskInData"),reducePower:e3},e3){let t3=2**e3;n2.width=Math.ceil(n2.width/t3),n2.height=Math.ceil(n2.height/t3)}break;case"JBIG2Decode":n2.bitsPerComponent=1,n2.numComps=1;break}let p2=u2.get("W","Width"),m2=u2.get("H","Height");if(Number.isInteger(n2.width)&&n2.width>0&&Number.isInteger(n2.height)&&n2.height>0&&(n2.width!==p2||n2.height!==m2))warn$1("PDFImage - using the Width/Height of the image data, rather than the image dictionary."),p2=n2.width,m2=n2.height;else{let e3=typeof p2=="number"&&p2>0,t3=typeof m2=="number"&&m2>0;if(!e3||!t3){if(!n2.fallbackDims)throw new FormatError$1(`Invalid image width: ${p2} or height: ${m2}`);warn$1("PDFImage - using the Width/Height of the parent image, for SMask/Mask data."),e3||(p2=n2.fallbackDims.width),t3||(m2=n2.fallbackDims.height)}}this.width=p2,this.height=m2,this.interpolate=u2.get("I","Interpolate"),this.imageMask=u2.get("IM","ImageMask")||!1,this.matte=u2.get("Matte")||!1;let h2=n2.bitsPerComponent;if(!h2&&(h2=u2.get("BPC","BitsPerComponent"),!h2))if(this.imageMask)h2=1;else throw new FormatError$1(`Bits per component missing in image: ${this.imageMask}`);if(this.bpc=h2,this.imageMask)this.numComps=1;else{let i3=u2.getRaw("CS")||u2.getRaw("ColorSpace"),a3=!!i3;if(a3)this.jpxDecoderOptions?.smaskInData&&(i3=N.get("DeviceRGBA"));else if(this.jpxDecoderOptions)i3=N.get("DeviceRGBA");else switch(n2.numComps){case 1:i3=N.get("DeviceGray");break;case 3:i3=N.get("DeviceRGB");break;case 4:i3=N.get("DeviceCMYK");break;default:throw Error(`Images with ${n2.numComps} color components not supported.`)}this.colorSpace=ColorSpaceUtils.parse({cs:i3,xref:e2,resources:r2?t2:null,pdfFunctionFactory:s2,globalColorSpaceCache:c2,localColorSpaceCache:l2}),this.numComps=this.colorSpace.numComps,this.jpxDecoderOptions&&(this.jpxDecoderOptions.numComponents=a3?this.numComps:0,this.jpxDecoderOptions.isIndexedColormap=this.colorSpace.name==="Indexed")}if(this.decode=u2.getArray("D","Decode"),this.needsDecode=!1,this.decode&&(this.colorSpace&&!this.colorSpace.isDefaultDecode(this.decode,h2)||o2&&!Se.isDefaultDecode(this.decode,1))){this.needsDecode=!0;let e3=(1<<h2)-1;this.decodeCoefficients=[],this.decodeAddends=[];let t3=this.colorSpace?.name==="Indexed";for(let n3=0,r3=0;n3<this.decode.length;n3+=2,++r3){let i3=this.decode[n3],a3=this.decode[n3+1];this.decodeCoefficients[r3]=t3?(a3-i3)/e3:a3-i3,this.decodeAddends[r3]=t3?i3:e3*i3}}i2?(i2.fallbackDims??={width:p2,height:m2},this.smask=new PDFImage({xref:e2,res:t2,image:i2,isInline:r2,pdfFunctionFactory:s2,globalColorSpaceCache:c2,localColorSpaceCache:l2})):a2&&(a2 instanceof BaseStream?a2.dict.get("IM","ImageMask")?(a2.fallbackDims??={width:p2,height:m2},this.mask=new PDFImage({xref:e2,res:t2,image:a2,isInline:r2,isMask:!0,pdfFunctionFactory:s2,globalColorSpaceCache:c2,localColorSpaceCache:l2})):warn$1("Ignoring /Mask in image without /ImageMask."):this.mask=a2)}static async buildImage({xref:e2,res:t2,image:n2,isInline:r2=!1,pdfFunctionFactory:i2,globalColorSpaceCache:a2,localColorSpaceCache:o2}){let s2=n2,c2=null,l2=null,u2=n2.dict.get("SMask"),d2=n2.dict.get("Mask");return u2?u2 instanceof BaseStream?c2=u2:warn$1("Unsupported /SMask format."):d2&&(d2 instanceof BaseStream||Array.isArray(d2)?l2=d2:warn$1("Unsupported /Mask format.")),new PDFImage({xref:e2,res:t2,image:s2,isInline:r2,smask:c2,mask:l2,pdfFunctionFactory:i2,globalColorSpaceCache:a2,localColorSpaceCache:o2})}static async createMask({image:e2,isOffscreenCanvasSupported:t2=!1}){let{dict:n2}=e2,r2=n2.get("W","Width"),i2=n2.get("H","Height"),a2=n2.get("I","Interpolate"),o2=n2.getArray("D","Decode")?.[0]>0,s2=(r2+7>>3)*i2,c2=await e2.getImageData(s2),l2=r2===1&&i2===1&&o2===(c2.length===0||!!(c2[0]&128));if(l2)return{isSingleOpaquePixel:l2};if(t2){if(Oe.needsToBeResized(r2,i2)){let e4=new Uint8ClampedArray(r2*i2*4);return convertBlackAndWhiteToRGBA$1({src:c2,dest:e4,width:r2,height:i2,nonBlackColor:0,inverseDecode:o2}),Oe.createImage({kind:m.RGBA_32BPP,data:e4,width:r2,height:i2,interpolate:a2})}let e3=new OffscreenCanvas(r2,i2),t3=e3.getContext("2d"),n3=t3.createImageData(r2,i2);return convertBlackAndWhiteToRGBA$1({src:c2,dest:n3.data,width:r2,height:i2,nonBlackColor:0,inverseDecode:o2}),t3.putImageData(n3,0,0),{data:null,width:r2,height:i2,interpolate:a2,bitmap:e3.transferToImageBitmap()}}let u2=c2.byteLength,d2=s2===u2,f2;if(e2 instanceof DecodeStream&&(!o2||d2)?f2=c2:o2?(f2=new Uint8Array(s2),f2.set(c2),f2.fill(255,u2)):f2=new Uint8Array(c2),o2)for(let e3=0;e3<u2;e3++)f2[e3]^=255;return{data:f2,width:r2,height:i2,interpolate:a2}}get drawWidth(){return Math.max(this.width,this.smask?.width||0,this.mask?.width||0)}get drawHeight(){return Math.max(this.height,this.smask?.height||0,this.mask?.height||0)}decodeBuffer(e2){let t2=this.bpc,n2=this.numComps,r2=this.decodeAddends,i2=this.decodeCoefficients,a2=(1<<t2)-1,o2,s2;if(t2===1){for(o2=0,s2=e2.length;o2<s2;o2++)e2[o2]=+!e2[o2];return}let c2=0;for(o2=0,s2=this.width*this.height;o2<s2;o2++)for(let t3=0;t3<n2;t3++)e2[c2]=MathClamp$1(r2[t3]+e2[c2]*i2[t3],0,a2),c2++}getComponents(e2){let t2=this.bpc;if(t2===8)return e2;let n2=this.width,r2=this.height,i2=this.numComps,a2=n2*r2*i2,o2=0,s2;s2=t2<=8?new Uint8Array(a2):t2<=16?new Uint16Array(a2):new Uint32Array(a2);let c2=n2*i2,l2=(1<<t2)-1,u2=0,d2,f2;if(t2===1){let t3,n3,i3;for(let a3=0;a3<r2;a3++){for(n3=u2+(c2&-8),i3=u2+c2;u2<n3;)f2=e2[o2++],s2[u2]=f2>>7&1,s2[u2+1]=f2>>6&1,s2[u2+2]=f2>>5&1,s2[u2+3]=f2>>4&1,s2[u2+4]=f2>>3&1,s2[u2+5]=f2>>2&1,s2[u2+6]=f2>>1&1,s2[u2+7]=f2&1,u2+=8;if(u2<i3)for(f2=e2[o2++],t3=128;u2<i3;)s2[u2++]=+!!(f2&t3),t3>>=1}}else{let n3=0;for(f2=0,u2=0,d2=a2;u2<d2;++u2){for(u2%c2===0&&(f2=0,n3=0);n3<t2;)f2=f2<<8|e2[o2++],n3+=8;let r3=n3-t2,i3=f2>>r3;i3<0?i3=0:i3>l2&&(i3=l2),s2[u2]=i3,f2&=(1<<r3)-1,n3=r3}}return s2}async fillOpacity(e2,t2,n2,r2,i2){let apply;if(this.smask)apply=(e3,r3)=>this.smask.fillGrayBuffer(e3,{...r3,destWidth:t2,destHeight:n2});else if(this.mask)if(this.mask instanceof PDFImage)apply=(e3,r3)=>this.mask.fillGrayBuffer(e3,{...r3,invertOutput:!0,destWidth:t2,destHeight:n2});else if(Array.isArray(this.mask))apply=(e3,{maxRows:n3,offset:r3,stride:a2})=>{for(let o2=0,s2=t2*n3;o2<s2;++o2){let t3=0,n4=o2*this.numComps;for(let e4=0;e4<this.numComps;++e4){let r4=i2[n4+e4],a3=e4*2;if(r4<this.mask[a3]||r4>this.mask[a3+1]){t3=255;break}}e3[o2*a2+r3]=t3}};else throw new FormatError$1("Unknown mask format.");else apply=(e3,{maxRows:n3,offset:r3,stride:i3})=>{for(let a2=0,o2=t2*n3;a2<o2;++a2)e3[a2*i3+r3]=255};await apply(e2,{maxRows:r2,offset:3,stride:4})}undoPreblend(e2,t2,n2){let r2=this.smask?.matte;if(!r2)return;let i2=this.colorSpace.getRgb(r2,0),a2=i2[0],o2=i2[1],s2=i2[2],c2=t2*n2*4;for(let t3=0;t3<c2;t3+=4){let n3=e2[t3+3];if(n3===0){e2[t3]=255,e2[t3+1]=255,e2[t3+2]=255;continue}let r3=255/n3;e2[t3]=(e2[t3]-a2)*r3+a2,e2[t3+1]=(e2[t3+1]-o2)*r3+o2,e2[t3+2]=(e2[t3+2]-s2)*r3+s2}}async createImageData(e2=!1,t2=!1){let n2=this.drawWidth,r2=this.drawHeight,i2={width:n2,height:r2,interpolate:this.interpolate,kind:0,data:null},a2=this.numComps,o2=this.width,s2=this.height,c2=this.bpc,l2=o2*a2*c2+7>>3,u2=t2&&Oe.needsToBeResized(n2,r2);if(!this.smask&&!this.mask&&this.colorSpace.name==="DeviceRGBA"){i2.kind=m.RGBA_32BPP;let e3=i2.data=await this.getImageBytes(s2*o2*4,{internal:t2&&u2});return t2?u2?Oe.createImage(i2,!1):this.createBitmap(m.RGBA_32BPP,n2,r2,e3):i2}if(!e2){let e3;if(this.colorSpace.name==="DeviceGray"&&c2===1?e3=m.GRAYSCALE_1BPP:this.colorSpace.name==="DeviceRGB"&&c2===8&&!this.needsDecode&&(e3=m.RGB_24BPP),e3&&!this.smask&&!this.mask&&n2===o2&&r2===s2){let a3=await this.#e(o2,s2);if(a3)return a3;let c3=await this.getImageBytes(s2*l2,{internal:t2&&u2});if(t2)return u2?Oe.createImage({data:c3,kind:e3,width:n2,height:r2,interpolate:this.interpolate},this.needsDecode):this.createBitmap(e3,o2,s2,c3);if(i2.kind=e3,i2.data=c3,this.needsDecode){assert$1(e3===m.GRAYSCALE_1BPP,"PDFImage.createImageData: The image must be grayscale.");let t3=i2.data;for(let e4=0,n3=t3.length;e4<n3;e4++)t3[e4]^=255}return i2}if(this.image instanceof Re&&!this.smask&&!this.mask&&!this.needsDecode){let e4=s2*l2;if(t2&&!u2){let t3=!1;switch(this.colorSpace.name){case"DeviceGray":e4*=4,t3=!0;break;case"DeviceRGB":e4=e4/3*4,t3=!0;break;case"DeviceCMYK":t3=!0;break}if(t3){let t4=await this.#e(n2,r2);if(t4)return t4;let i3=await this.getImageBytes(e4,{drawWidth:n2,drawHeight:r2,forceRGBA:!0,internal:!0});return this.createBitmap(m.RGBA_32BPP,n2,r2,i3)}}else switch(this.colorSpace.name){case"DeviceGray":e4*=3;case"DeviceRGB":case"DeviceCMYK":return i2.kind=m.RGB_24BPP,i2.data=await this.getImageBytes(e4,{drawWidth:n2,drawHeight:r2,forceRGB:!0,internal:u2}),u2?Oe.createImage(i2):i2}}}let d2=await this.getImageBytes(s2*l2,{internal:!0}),f2=0|d2.length/l2*r2/s2,p2=this.getComponents(d2),h2,g2,_2,v2,y2,b2;return t2&&!u2&&(_2=new OffscreenCanvas(n2,r2),v2=_2.getContext("2d"),y2=v2.createImageData(n2,r2),b2=y2.data),i2.kind=m.RGBA_32BPP,!e2&&!this.smask&&!this.mask?(!t2||u2?(i2.kind=m.RGB_24BPP,b2=new Uint8ClampedArray(n2*r2*3),h2=0):(new Uint32Array(b2.buffer).fill(FeatureTest$1.isLittleEndian?4278190080:255),h2=1),g2=!1):((!t2||u2)&&(b2=new Uint8ClampedArray(n2*r2*4)),h2=1,g2=!0,await this.fillOpacity(b2,n2,r2,f2,p2)),this.needsDecode&&this.decodeBuffer(p2),this.colorSpace.fillRgb(b2,o2,s2,n2,r2,f2,c2,p2,h2),g2&&this.undoPreblend(b2,n2,f2),t2&&!u2?(v2.putImageData(y2,0,0),{data:null,width:n2,height:r2,bitmap:_2.transferToImageBitmap(),interpolate:this.interpolate}):(i2.data=b2,u2?Oe.createImage(i2):i2)}async fillGrayBuffer(e2,{destWidth:t2,destHeight:n2,invertOutput:r2,maxRows:i2,offset:a2=0,stride:o2=1}={}){let s2=this.numComps;if(s2!==1)throw new FormatError$1(`Reading gray scale from a color image: ${s2}`);let c2=this.width,l2=this.height,u2=this.bpc,d2=c2*s2*u2+7>>3,f2=await this.getImageBytes(l2*d2,{internal:!0}),p2=this.getComponents(f2),m2=t2??c2,h2=n2??l2,g2=m2!==c2||h2!==l2,_2=i2===void 0?h2:Math.min(h2,i2),v2=c2,y2=0,b2=null;if(g2){v2=m2,y2=l2/h2;let e3=c2/m2;b2=new Uint32Array(m2);for(let t3=0;t3<m2;t3++)b2[t3]=Math.floor(t3*e3)}let x2=r2?255:0;if(u2===1){if(b2){let t3=b2,n3=a2;if(this.needsDecode)for(let r3=0;r3<_2;r3++){let i3=Math.floor(r3*y2)*c2;for(let r4=0;r4<v2;r4++)e2[n3]=p2[i3+t3[r4]]-1&255^x2,n3+=o2}else for(let r3=0;r3<_2;r3++){let i3=Math.floor(r3*y2)*c2;for(let r4=0;r4<v2;r4++)e2[n3]=-p2[i3+t3[r4]]&255^x2,n3+=o2}}else{let t3=v2*_2;if(this.needsDecode)for(let n3=0;n3<t3;++n3)e2[n3*o2+a2]=p2[n3]-1&255^x2;else for(let n3=0;n3<t3;++n3)e2[n3*o2+a2]=-p2[n3]&255^x2}return}this.needsDecode&&this.decodeBuffer(p2);let S2=255/((1<<u2)-1);if(b2){let t3=b2,n3=a2;for(let r3=0;r3<_2;r3++){let i3=Math.floor(r3*y2)*c2;for(let r4=0;r4<v2;r4++)e2[n3]=S2*p2[i3+t3[r4]]^x2,n3+=o2}}else{let t3=v2*_2;for(let n3=0;n3<t3;++n3)e2[n3*o2+a2]=S2*p2[n3]^x2}}createBitmap(e2,t2,n2,r2){let i2=new OffscreenCanvas(t2,n2),a2=i2.getContext("2d"),o2;return e2===m.RGBA_32BPP?o2=new ImageData(r2,t2,n2):(o2=a2.createImageData(t2,n2),convertToRGBA({kind:e2,src:r2,dest:new Uint32Array(o2.data.buffer),width:t2,height:n2,inverseDecode:this.needsDecode})),a2.putImageData(o2,0,0),{data:null,width:t2,height:n2,bitmap:i2.transferToImageBitmap(),interpolate:this.interpolate}}async#e(e2,t2){let n2=await this.image.getTransferableImage();return n2?{data:null,width:e2,height:t2,bitmap:n2,interpolate:this.interpolate}:null}async getImageBytes(e2,{drawWidth:t2,drawHeight:n2,forceRGBA:r2=!1,forceRGB:i2=!1,internal:a2=!1}){this.image.reset(),this.image.drawWidth=t2||this.width,this.image.drawHeight=n2||this.height,this.image.forceRGBA=!!r2,this.image.forceRGB=!!i2;let o2=await this.image.getImageData(e2,this.jpxDecoderOptions);return a2||this.image instanceof DecodeStream?o2:(assert$1(o2 instanceof Uint8Array,'PDFImage.getImageBytes: Unsupported "imageBytes" type.'),new Uint8Array(o2))}},xr=Object.freeze({maxImageSize:-1,disableFontFace:!1,ignoreErrors:!1,isOffscreenCanvasSupported:!1,isImageDecoderSupported:!1,canvasMaxAreaInBytes:-1,fontExtraProperties:!1,useSystemFonts:!0,useWasm:!0,useWorkerFetch:!0,cMapUrl:null,cMapPacked:!0,iccUrl:null,standardFontDataUrl:null,wasmUrl:null,hasGPU:!1}),Sr={TILING:1,SHADING:2},Cr=Promise.resolve();function normalizeBlendMode(e2,t2=!1){if(Array.isArray(e2)){for(let t3 of e2){let e3=normalizeBlendMode(t3,!0);if(e3)return e3}return warn$1(`Unsupported blend mode Array: ${e2}`),"source-over"}if(!(e2 instanceof N))return t2?null:"source-over";switch(e2.name){case"Normal":case"Compatible":return"source-over";case"Multiply":return"multiply";case"Screen":return"screen";case"Overlay":return"overlay";case"Darken":return"darken";case"Lighten":return"lighten";case"ColorDodge":return"color-dodge";case"ColorBurn":return"color-burn";case"HardLight":return"hard-light";case"SoftLight":return"soft-light";case"Difference":return"difference";case"Exclusion":return"exclusion";case"Hue":return"hue";case"Saturation":return"saturation";case"Color":return"color";case"Luminosity":return"luminosity"}return t2?null:(warn$1(`Unsupported blend mode: ${e2.name}`),"source-over")}function addCachedImageOps(e2,{objId:t2,fn:n2,args:r2,optionalContent:i2,hasMask:a2}){t2&&e2.addDependency(t2),e2.addImageOps(n2,r2,i2,a2),n2===T.paintImageMaskXObject&&r2[0]?.count>0&&r2[0].count++}var wr=class TimeSlotManager{static TIME_SLOT_DURATION_MS=20;static CHECK_TIME_EVERY=100;constructor(){this.reset()}check(){return++this.checked<TimeSlotManager.CHECK_TIME_EVERY?!1:(this.checked=0,this.endTime<=Date.now())}reset(){this.endTime=Date.now()+TimeSlotManager.TIME_SLOT_DURATION_MS,this.checked=0}},Tr=class PartialEvaluator{constructor({xref:e2,handler:t2,pageIndex:n2,idFactory:r2,fontCache:i2,builtInCMapCache:a2,standardFontDataCache:o2,globalColorSpaceCache:s2,globalImageCache:c2,systemFontCache:l2,options:u2=null}){this.xref=e2,this.handler=t2,this.pageIndex=n2,this.idFactory=r2,this.fontCache=i2,this.builtInCMapCache=a2,this.standardFontDataCache=o2,this.globalColorSpaceCache=s2,this.globalImageCache=c2,this.systemFontCache=l2,this.options=u2||xr,this.type3FontRefs=null,this._regionalImageCache=new RegionalImageCache,this._fetchBuiltInCMapBound=this.fetchBuiltInCMap.bind(this)}get _pdfFunctionFactory(){return shadow$1(this,"_pdfFunctionFactory",new ar({xref:this.xref}))}get parsingType3Font(){return!!this.type3FontRefs}clone(e2=null){let t2=Object.create(this);return t2.options=Object.assign(Object.create(null),this.options,e2),t2}hasBlendModes(e2,t2){if(!(e2 instanceof F)||e2.objId&&t2.has(e2.objId))return!1;let n2=new RefSet(t2);e2.objId&&n2.put(e2.objId);let r2=[e2],i2=this.xref;for(;r2.length;){let e3=r2.shift(),t3=e3.get("ExtGState");if(t3 instanceof F)for(let e4 of t3.getRawValues()){if(e4 instanceof L){if(n2.has(e4))continue;try{e4=i2.fetch(e4)}catch(t5){n2.put(e4),info$1(`hasBlendModes - ignoring ExtGState: "${t5}".`);continue}}if(!(e4 instanceof F))continue;e4.objId&&n2.put(e4.objId);let t4=e4.get("BM");if(t4 instanceof N){if(t4.name!=="Normal")return!0;continue}if(t4!==void 0&&Array.isArray(t4)){for(let e5 of t4)if(e5 instanceof N&&e5.name!=="Normal")return!0}}let a2=e3.get("XObject");if(a2 instanceof F)for(let e4 of a2.getRawValues()){if(e4 instanceof L){if(n2.has(e4))continue;try{e4=i2.fetch(e4)}catch(t5){n2.put(e4),info$1(`hasBlendModes - ignoring XObject: "${t5}".`);continue}}if(!(e4 instanceof BaseStream))continue;e4.dict.objId&&n2.put(e4.dict.objId);let t4=e4.dict.get("Resources");t4 instanceof F&&(t4.objId&&n2.has(t4.objId)||(r2.push(t4),t4.objId&&n2.put(t4.objId)))}}for(let e3 of n2)t2.put(e3);return!1}async fetchBuiltInCMap(e2){let t2=this.builtInCMapCache.get(e2);if(t2)return t2;let n2;return n2=this.options.useWorkerFetch?{cMapData:await fetchBinaryData(`${this.options.cMapUrl}${e2}.bcmap`),isCompressed:!0}:{cMapData:await this.handler.sendWithPromise("FetchBinaryData",{kind:"cMapUrl",filename:`${e2}${this.options.cMapPacked?".bcmap":""}`}),isCompressed:this.options.cMapPacked},this.builtInCMapCache.set(e2,n2),n2}async fetchStandardFontData(e2){let t2=this.standardFontDataCache.get(e2);if(t2)return new Ee(t2);if(this.options.useSystemFonts&&e2!=="Symbol"&&e2!=="ZapfDingbats")return null;let n2=Rt()[e2],r2;try{r2=this.options.useWorkerFetch?await fetchBinaryData(`${this.options.standardFontDataUrl}${n2}`):await this.handler.sendWithPromise("FetchBinaryData",{kind:"standardFontDataUrl",filename:n2})}catch(e3){return warn$1(e3),null}return this.standardFontDataCache.set(e2,r2),new Ee(r2)}async buildFormXObject(e2,t2,n2,r2,i2,a2,o2,s2){let{dict:c2}=t2,l2=lookupMatrix(c2.getArray("Matrix"),null),u2=lookupNormalRect(c2.getArray("BBox"),null),d2=u2&&new Float32Array(u2);d2?.some(e3=>!isFinite(e3))&&(d2=null);let f2,p2;c2.has("OC")&&(f2=await this.parseMarkedContentProps(c2.get("OC"),e2)),f2!==void 0&&r2.addOp(T.beginMarkedContentProps,["OC",f2]);let m2=c2.get("Group"),h2,g2=[l2&&new Float32Array(l2),!m2&&d2||null],_2=c2.get("Resources");if(m2){p2={matrix:l2,bbox:d2,smask:n2,isolated:!1,knockout:!1,needsIsolation:!1,hasSoftMask:!1,isGray:!1};let t3=m2.get("S"),r3=null;if(isName(t3,"Transparency")&&(p2.isolated=m2.get("I")||!1,p2.knockout=m2.get("K")||!1,m2.has("CS"))){let t4=this._getColorSpace(m2.getRaw("CS"),e2,o2);r3=t4 instanceof Se?t4:await this._handleColorSpace(t4)}p2.isGray=r3?.numComps===1,n2?.backdrop?(r3||=ColorSpaceUtils.rgb,n2.backdrop=r3.getRgbHex(n2.backdrop,0)):n2?.subtype==="Luminosity"&&(n2.backdrop="#000000"),h2=new CheckedOperatorList}else h2=r2,r2.addOp(T.paintFormXObjectBegin,g2);await this.getOperatorList({stream:t2,task:i2,resources:_2 instanceof F?_2:e2,operatorList:h2,initialState:a2,prevRefs:s2}),m2?(p2.needsIsolation=h2.needsIsolation||!!n2,p2.hasSoftMask=h2.hasSoftMask||!!n2,r2.addOp(T.beginGroup,[p2]),r2.addOp(T.paintFormXObjectBegin,g2),r2.addOpList(h2),r2.addOp(T.paintFormXObjectEnd,[]),r2.addOp(T.endGroup,[p2])):r2.addOp(T.paintFormXObjectEnd,[]),f2!==void 0&&r2.addOp(T.endMarkedContent,[])}_sendImgData(e2,t2,n2=!1){let r2=t2?[t2.bitmap||t2.data.buffer]:null;return this.parsingType3Font||n2?this.handler.send("commonobj",[e2,"Image",t2],r2):this.handler.send("obj",[e2,this.pageIndex,"Image",t2],r2)}async buildPaintImageXObject({resources:e2,image:t2,isInline:n2=!1,operatorList:r2,cacheKey:i2,localImageCache:a2,localColorSpaceCache:o2}){let{maxImageSize:s2,ignoreErrors:c2,isOffscreenCanvasSupported:l2}=this.options,{dict:u2}=t2,d2=u2.objId,f2=u2.get("W","Width"),p2=u2.get("H","Height");if(!(f2&&typeof f2=="number")||!(p2&&typeof p2=="number")){warn$1("Image dimensions are missing, or not numbers.");return}if(s2!==-1&&f2*p2>s2){let e3="Image exceeded maximum allowed size and was removed.";if(!c2)throw Error(e3);warn$1(e3);return}let m2;u2.has("OC")&&(m2=await this.parseMarkedContentProps(u2.get("OC"),e2));let h2=u2.get("IM","ImageMask")||!1,g2,_2,v2;if(h2){if(g2=await br.createMask({image:t2,isOffscreenCanvasSupported:l2&&!this.parsingType3Font}),g2.isSingleOpaquePixel){if(_2=T.paintSolidColorImageMask,v2=[],r2.addImageOps(_2,v2,m2),i2){let e4={fn:_2,args:v2,optionalContent:m2};a2.set(i2,d2,e4),d2&&this._regionalImageCache.set(null,d2,e4)}return}if(this.parsingType3Font){if(v2=compileType3Glyph(g2),v2){r2.addImageOps(T.constructPath,v2,m2);return}warn$1("Cannot compile Type3 glyph."),r2.addImageOps(T.paintImageMaskXObject,[g2],m2);return}let e3=`mask_${this.idFactory.createObjId()}`;if(r2.addDependency(e3),g2.dataLen=g2.bitmap?g2.width*g2.height*4:g2.data.length,this._sendImgData(e3,g2),_2=T.paintImageMaskXObject,v2=[{data:e3,width:g2.width,height:g2.height,interpolate:g2.interpolate,count:1}],r2.addImageOps(_2,v2,m2),i2){let t3={objId:e3,fn:_2,args:v2,optionalContent:m2};a2.set(i2,d2,t3),d2&&this._regionalImageCache.set(null,d2,t3)}return}let y2=u2.has("SMask")||u2.has("Mask");if(n2&&f2+p2<200&&!y2){try{g2=await new br({xref:this.xref,res:e2,image:t2,isInline:n2,pdfFunctionFactory:this._pdfFunctionFactory,globalColorSpaceCache:this.globalColorSpaceCache,localColorSpaceCache:o2}).createImageData(!0,!1),r2.addImageOps(T.paintInlineImageXObject,[g2],m2)}catch(e3){let t3=`Unable to decode inline image: "${e3}".`;if(!c2)throw Error(t3);warn$1(t3)}return}let b2=`img_${this.idFactory.createObjId()}`,x2=!1,S2=null;if(this.parsingType3Font?b2=`${this.idFactory.getDocId()}_type3_${b2}`:i2&&d2&&(x2=this.globalImageCache.shouldCache(d2,this.pageIndex),x2&&(assert$1(!n2,"Cannot cache an inline image globally."),b2=`${this.idFactory.getDocId()}_${b2}`)),r2.addDependency(b2),_2=T.paintImageXObject,v2=[b2,f2,p2],r2.addImageOps(_2,v2,m2,y2),x2){if(S2={objId:b2,fn:_2,args:v2,optionalContent:m2,hasMask:y2,byteSize:0},this.globalImageCache.hasDecodeFailed(d2)){this.globalImageCache.setData(d2,S2),this._sendImgData(b2,null,x2);return}if(f2*p2>25e4||y2){let e3=await this.handler.sendWithPromise("commonobj",[b2,"CopyLocalImage",{imageRef:d2}]);if(e3){this.globalImageCache.setData(d2,S2),this.globalImageCache.addByteSize(d2,e3);return}}}if(br.buildImage({xref:this.xref,res:e2,image:t2,isInline:n2,pdfFunctionFactory:this._pdfFunctionFactory,globalColorSpaceCache:this.globalColorSpaceCache,localColorSpaceCache:o2}).then(async e3=>(g2=await e3.createImageData(!1,l2),g2.dataLen=g2.bitmap?g2.width*g2.height*4:g2.data.length,g2.ref=d2,x2&&this.globalImageCache.addByteSize(d2,g2.dataLen),this._sendImgData(b2,g2,x2))).catch(e3=>(warn$1(`Unable to decode image "${b2}": "${e3}".`),d2&&this.globalImageCache.addDecodeFailed(d2),this._sendImgData(b2,null,x2))),i2){let e3={objId:b2,fn:_2,args:v2,optionalContent:m2,hasMask:y2};a2.set(i2,d2,e3),d2&&(this._regionalImageCache.set(null,d2,e3),x2&&(assert$1(S2,"The global cache-data must be available."),this.globalImageCache.setData(d2,S2)))}}handleSMask(e2,t2,n2,r2,i2,a2,o2){let s2=e2.get("G"),c2={subtype:e2.get("S").name,backdrop:e2.get("BC")},l2=e2.get("TR");if(isPDFFunction(l2)){let e3=this._pdfFunctionFactory.create(l2),t3=new Uint8Array(256),n3=new Float32Array(1);for(let r3=0;r3<256;r3++)n3[0]=r3/255,e3(n3,0,n3,0),t3[r3]=n3[0]*255|0;c2.transferMap=t3}return this.buildFormXObject(t2,s2,c2,n2,r2,i2.state.clone({newPath:!0}),a2,o2)}handleTransferFunction(e2){let t2;if(Array.isArray(e2))t2=e2,e2.length>1&&e2.every(t3=>t3===e2[0])&&(t2=[e2[0]]);else if(isPDFFunction(e2))t2=[e2];else return null;let n2=[],r2=0,i2=0;for(let e3 of t2){let t3=this.xref.fetchIfRef(e3);if(r2++,isName(t3,"Identity")){n2.push(null);continue}else if(!isPDFFunction(t3))return null;let a2=this._pdfFunctionFactory.create(t3),o2=new Uint8Array(256),s2=new Float32Array(1);for(let e4=0;e4<256;e4++)s2[0]=e4/255,a2(s2,0,s2,0),o2[e4]=s2[0]*255|0;n2.push(o2),i2++}return r2!==1&&r2!==4||i2===0?null:n2}handleTilingType(e2,t2,n2,r2,i2,a2,o2,s2,c2){let l2=new CheckedOperatorList,u2=F.merge({xref:this.xref,dictArray:[i2.get("Resources"),n2]});return this.getOperatorList({stream:r2,task:o2,resources:u2,operatorList:l2,prevRefs:c2}).then(function(){let n3=l2.getIR(),{needsIsolation:r3}=l2,o3=getTilingPatternIR(n3,i2,t2,r3);a2.addDependencies(l2.dependencies),a2.addOp(e2,o3),i2.objId&&s2.set(null,i2.objId,{operatorListIR:n3,needsIsolation:r3,dict:i2})}).catch(e3=>{if(!(e3 instanceof AbortException$1)){if(this.options.ignoreErrors){warn$1(`handleTilingType - ignoring pattern: "${e3}".`);return}throw e3}})}async handleSetFont(e2,t2,n2,r2,i2,a2,o2=null,s2=null,c2=null){let l2=t2?.[0]instanceof N?t2[0].name:null,u2=await this.loadFont(l2,n2,e2,i2,o2,s2,c2);return u2.font.isType3Font&&r2.addDependencies(u2.type3Dependencies),a2.font=u2.font,u2.send(this.handler),u2.loadedName}handleText(e2,t2){let n2=t2.font,r2=n2.charsToGlyphs(e2);return n2.data&&(t2.textRenderingMode&p.ADD_TO_PATH_FLAG||t2.fillColorSpace.name==="Pattern"||t2.strokeColorSpace.name==="Pattern"||n2.disableFontFace)&&PartialEvaluator.buildFontPaths(n2,r2,this.handler,this.options),r2}ensureStateFont(e2){if(e2.font)return;let t2=new FormatError$1("Missing setFont (Tf) operator before text rendering operator.");if(this.options.ignoreErrors){warn$1(`ensureStateFont: "${t2}".`);return}throw t2}async setGState({resources:e2,gState:t2,operatorList:n2,cacheKey:r2,task:i2,stateManager:a2,localGStateCache:o2,localColorSpaceCache:s2,seenRefs:c2}){let l2=t2.objId,u2=!0,d2=[],f2=Promise.resolve();for(let[r3,o3]of t2)switch(r3){case"Type":break;case"LW":if(typeof o3!="number"){warn$1(`Invalid LW (line width): ${o3}`);break}d2.push([r3,Math.abs(o3)]);break;case"LC":case"LJ":case"ML":case"D":case"RI":case"FL":case"CA":case"ca":d2.push([r3,o3]);break;case"Font":u2=!1,f2=f2.then(()=>this.handleSetFont(e2,null,o3[0],n2,i2,a2.state,null,null,c2).then(function(e3){n2.addDependency(e3),d2.push([r3,[e3,o3[1]]])}));break;case"BM":d2.push([r3,normalizeBlendMode(o3)]);break;case"SMask":if(isName(o3,"None")){d2.push([r3,!1]);break}o3 instanceof F?(u2=!1,f2=f2.then(()=>this.handleSMask(o3,e2,n2,i2,a2,s2,c2)),d2.push([r3,!0])):warn$1("Unsupported SMask type");break;case"TR":case"TR2":{if(r3==="TR"&&t2.has("TR2"))break;let e3=this.handleTransferFunction(o3);d2.push(["TR",e3]);break}case"OP":case"op":case"OPM":case"BG":case"BG2":case"UCR":case"UCR2":case"HT":case"SM":case"SA":case"AIS":case"TK":info$1("graphic state operator "+r3);break;default:info$1("Unknown graphic state operator "+r3);break}await f2,d2.length>0&&n2.addOp(T.setGState,[d2]),u2&&o2.set(r2,l2,d2)}loadFont(e2,t2,n2,r2,i2=null,a2=null,o2=null){let errorFont=async()=>new TranslatedFont({loadedName:"g_font_error",font:new ErrorFont(`Font "${e2}" is not available.`),dict:t2}),s2;if(t2)t2 instanceof L&&(s2=t2);else{let t3=n2.get("Font");t3&&(s2=t3.getRaw(e2))}if(s2){if(this.type3FontRefs?.has(s2))return errorFont();if(this.fontCache.has(s2))return this.fontCache.get(s2);try{t2=this.xref.fetchIfRef(s2)}catch(e3){warn$1(`loadFont - lookup failed: "${e3}".`)}}if(!(t2 instanceof F)){if(!this.options.ignoreErrors&&!this.parsingType3Font)return warn$1(`Font "${e2}" is not available.`),errorFont();warn$1(`Font "${e2}" is not available -- attempting to fallback to a default font.`),t2=i2||PartialEvaluator.fallbackFontDict}if(t2.cacheKey&&this.fontCache.has(t2.cacheKey))return this.fontCache.get(t2.cacheKey);let{promise:c2,resolve:l2}=Promise.withResolvers(),u2;try{u2=this.preEvaluateFont(t2),u2.cssFontInfo=a2}catch(e3){return warn$1(`loadFont - preEvaluateFont failed: "${e3}".`),errorFont()}let{descriptor:d2,hash:f2}=u2,p2=s2 instanceof L,m2;if(f2&&d2 instanceof F){let e3=d2.fontAliases||=Object.create(null);if(e3[f2]){let t3=e3[f2].aliasRef;if(p2&&t3&&this.fontCache.has(t3))return this.fontCache.putAlias(s2,t3),this.fontCache.get(s2)}else e3[f2]={fontID:this.idFactory.createFontId()};p2&&(e3[f2].aliasRef=s2),m2=e3[f2].fontID}else m2=this.idFactory.createFontId();return assert$1(m2?.startsWith("f"),'The "fontID" must be (correctly) defined.'),p2?this.fontCache.put(s2,c2):(t2.cacheKey=`cacheKey_${m2}`,this.fontCache.put(t2.cacheKey,c2)),t2.loadedName=`${this.idFactory.getDocId()}_${m2}`,this.translateFont(u2).then(async e3=>{let i3=new TranslatedFont({loadedName:t2.loadedName,font:e3,dict:t2});if(e3.isType3Font)try{await i3.loadType3Data(this,n2,r2,o2)}catch(e4){throw Error(`Type3 font load error: ${e4}`)}l2(i3)}).catch(e3=>{warn$1(`loadFont - translateFont failed: "${e3}".`),l2(new TranslatedFont({loadedName:t2.loadedName,font:new ErrorFont(e3?.message),dict:t2}))}),c2}buildPath(e2,t2,n2){let{pathMinMax:r2,pathBuffer:i2}=n2;switch(e2|0){case T.rectangle:{let e3=n2.currentPointX=t2[0],a2=n2.currentPointY=t2[1],o2=t2[2],s2=t2[3],c2=e3+o2,l2=a2+s2;o2===0||s2===0?i2.push(E.moveTo,e3,a2,E.lineTo,c2,l2,E.closePath):i2.push(E.moveTo,e3,a2,E.lineTo,c2,a2,E.lineTo,c2,l2,E.lineTo,e3,l2,E.closePath),Util$1.rectBoundingBox(e3,a2,c2,l2,r2);break}case T.moveTo:{let e3=n2.currentPointX=t2[0],a2=n2.currentPointY=t2[1];i2.push(E.moveTo,e3,a2),Util$1.pointBoundingBox(e3,a2,r2);break}case T.lineTo:{let e3=n2.currentPointX=t2[0],a2=n2.currentPointY=t2[1];i2.push(E.lineTo,e3,a2),Util$1.pointBoundingBox(e3,a2,r2);break}case T.curveTo:{let e3=n2.currentPointX,a2=n2.currentPointY,[o2,s2,c2,l2,u2,d2]=t2;n2.currentPointX=u2,n2.currentPointY=d2,i2.push(E.curveTo,o2,s2,c2,l2,u2,d2),Util$1.bezierBoundingBox(e3,a2,o2,s2,c2,l2,u2,d2,r2);break}case T.curveTo2:{let e3=n2.currentPointX,a2=n2.currentPointY,[o2,s2,c2,l2]=t2;n2.currentPointX=c2,n2.currentPointY=l2,i2.push(E.curveTo,e3,a2,o2,s2,c2,l2),Util$1.bezierBoundingBox(e3,a2,e3,a2,o2,s2,c2,l2,r2);break}case T.curveTo3:{let e3=n2.currentPointX,a2=n2.currentPointY,[o2,s2,c2,l2]=t2;n2.currentPointX=c2,n2.currentPointY=l2,i2.push(E.curveTo,o2,s2,c2,l2,c2,l2),Util$1.bezierBoundingBox(e3,a2,o2,s2,c2,l2,c2,l2,r2);break}case T.closePath:i2.push(E.closePath);break}}_getColorSpace(e2,t2,n2){return ColorSpaceUtils.parse({cs:e2,xref:this.xref,resources:t2,pdfFunctionFactory:this._pdfFunctionFactory,globalColorSpaceCache:this.globalColorSpaceCache,localColorSpaceCache:n2,asyncIfNotCached:!0})}async _handleColorSpace(e2){try{return await e2}catch(e3){if(e3 instanceof AbortException$1)return null;if(this.options.ignoreErrors)return warn$1(`_handleColorSpace - ignoring ColorSpace: "${e3}".`),null;throw e3}}parseShading({shading:e2,resources:t2,localColorSpaceCache:n2,localShadingPatternCache:r2}){let i2=r2.get(e2);if(i2)return i2;let a2;try{a2=Pattern.parseShading(e2,this.xref,t2,this._pdfFunctionFactory,this.globalColorSpaceCache,n2).getIR()}catch(t3){if(t3 instanceof AbortException$1)return null;if(this.options.ignoreErrors)return warn$1(`parseShading - ignoring shading: "${t3}".`),r2.set(e2,null),null;throw t3}if(i2=`pattern_${this.idFactory.createObjId()}`,this.parsingType3Font&&(i2=`${this.idFactory.getDocId()}_type3_${i2}`),r2.set(e2,i2),this.parsingType3Font){let e3=compilePatternInfo(a2);this.handler.send("commonobj",[i2,"Pattern",e3],[e3])}else this.handler.send("obj",[i2,this.pageIndex,"Pattern",a2]);return i2}handleColorN(e2,t2,n2,r2,i2,a2,o2,s2,c2,l2,u2){let d2=n2.pop();if(d2 instanceof N){let f2=i2.getRaw(d2.name),p2=f2 instanceof L&&c2.getByRef(f2);if(p2)try{let i3=r2.base?r2.base.getRgbHex(n2,0):null,a3=getTilingPatternIR(p2.operatorListIR,p2.dict,i3,p2.needsIsolation);e2.addOp(t2,a3);return}catch{}let m2=this.xref.fetchIfRef(f2);if(m2){let i3=m2 instanceof BaseStream?m2.dict:m2,d3=i3.get("PatternType");if(d3===Sr.TILING){let s3=r2.base?r2.base.getRgbHex(n2,0):null;return this.handleTilingType(t2,s3,a2,m2,i3,e2,o2,c2,u2)}else if(d3===Sr.SHADING){let n3=i3.get("Shading"),r3=this.parseShading({shading:n3,resources:a2,localColorSpaceCache:s2,localShadingPatternCache:l2});if(r3){let n4=lookupMatrix(i3.getArray("Matrix"),null);e2.addOp(t2,["Shading",r3,n4])}return}throw new FormatError$1(`Unknown PatternType: ${d3}`)}}throw new FormatError$1(`Unknown PatternName: ${d2}`)}async parseMarkedContentProps(e2,t2){return parseMarkedContentProps(this.xref,e2,t2)}async getOperatorList({stream:e2,task:n2,resources:r2,operatorList:i2,initialState:a2=null,fallbackFontDict:o2=null,prevRefs:s2=null}){if(e2.isAsync){let t2=await e2.asyncGetBytes();t2&&(e2=new Ee(t2,0,t2.length,e2.dict))}let c2=e2.dict?.objId,l2=new RefSet(s2);if(c2){if(s2?.has(c2))throw Error(`getOperatorList - ignoring circular reference: ${c2}`);l2.put(c2)}if(r2||=F.empty,a2||=new EvalState,!i2)throw Error('getOperatorList: missing "operatorList" parameter');let u2=this,d2=this.xref,f2=new LocalImageCache,p2=new LocalColorSpaceCache,m2=new LocalGStateCache,h2=new LocalTilingPatternCache,g2=new Map,_2=r2.get("XObject")||F.empty,v2=r2.get("Pattern")||F.empty,y2=new StateManager(a2),b2=new Er(e2,d2,y2),x2=new wr;function closePendingRestoreOPS(e3){for(let e4=0,t2=b2.savedStatesDepth;e4<t2;e4++)i2.addOp(T.restore,[])}return new Promise(function promiseBody(e3,a3){let next=function(t2){Promise.all([t2,i2.ready]).then(function(){try{promiseBody(e3,a3)}catch(e4){a3(e4)}},a3)};n2.ensureNotTerminated(),x2.reset();let s3={},c3,S2,C2,w2,D2,O2;for(;!(c3=x2.check())&&(s3.args=null,b2.read(s3));){let e4=s3.args,a4=s3.fn;switch(a4|0){case T.paintXObject:if(O2=e4[0]instanceof N,D2=e4[0].name,O2){let t2=f2.getByName(D2);if(t2){addCachedImageOps(i2,t2),e4=null;continue}}next(new Promise(function(e5,t2){if(!O2)throw new FormatError$1("XObject must be referred to by name.");let a5=_2.getRaw(D2);if(a5 instanceof L){let t3=f2.getByRef(a5)||u2._regionalImageCache.getByRef(a5)||u2.globalImageCache.getData(a5,u2.pageIndex);if(t3){addCachedImageOps(i2,t3),e5();return}a5=d2.fetch(a5)}if(!(a5 instanceof BaseStream))throw new FormatError$1("XObject should be a stream");let o3=a5.dict.get("Subtype");if(!(o3 instanceof N))throw new FormatError$1("XObject should have a Name subtype");if(o3.name==="Form"){y2.save(),u2.buildFormXObject(r2,a5,null,i2,n2,y2.state.clone({newPath:!0}),p2,l2).then(function(){y2.restore(),e5()},t2);return}else if(o3.name==="Image"){u2.buildPaintImageXObject({resources:r2,image:a5,operatorList:i2,cacheKey:D2,localImageCache:f2,localColorSpaceCache:p2}).then(e5,t2);return}else if(o3.name==="PS")info$1("Ignored XObject subtype PS");else throw new FormatError$1(`Unhandled XObject subtype ${o3.name}`);e5()}).catch(function(e5){if(!(e5 instanceof AbortException$1)){if(u2.options.ignoreErrors){warn$1(`getOperatorList - ignoring XObject: "${e5}".`);return}throw e5}}));return;case T.setFont:let s4=e4[1];next(u2.handleSetFont(r2,e4,null,i2,n2,y2.state,o2,null,l2).then(function(e5){i2.addDependency(e5),i2.addOp(T.setFont,[e5,s4])}));return;case T.endInlineImage:let c4=e4[0].cacheKey;if(c4){let t2=f2.getByName(c4);if(t2){addCachedImageOps(i2,t2),e4=null;continue}}next(u2.buildPaintImageXObject({resources:r2,image:e4[0],isInline:!0,operatorList:i2,cacheKey:c4,localImageCache:f2,localColorSpaceCache:p2}));return;case T.showText:if(!y2.state.font){u2.ensureStateFont(y2.state);continue}e4[0]=u2.handleText(e4[0],y2.state);break;case T.showSpacedText:if(!y2.state.font){u2.ensureStateFont(y2.state);continue}let b3=[],x3=y2.state;for(let t2 of e4[0])typeof t2=="string"?b3.push(...u2.handleText(t2,x3)):typeof t2=="number"&&b3.push(t2);e4[0]=b3,a4=T.showText;break;case T.nextLineShowText:if(!y2.state.font){u2.ensureStateFont(y2.state);continue}i2.addOp(T.nextLine),e4[0]=u2.handleText(e4[0],y2.state),a4=T.showText;break;case T.nextLineSetSpacingShowText:if(!y2.state.font){u2.ensureStateFont(y2.state);continue}i2.addOp(T.nextLine),i2.addOp(T.setWordSpacing,[e4.shift()]),i2.addOp(T.setCharSpacing,[e4.shift()]),e4[0]=u2.handleText(e4[0],y2.state),a4=T.showText;break;case T.setTextRenderingMode:y2.state.textRenderingMode=e4[0];break;case T.setFillColorSpace:{let t2=u2._getColorSpace(e4[0],r2,p2);if(t2 instanceof Se){y2.state.fillColorSpace=t2;continue}next(u2._handleColorSpace(t2).then(e5=>{y2.state.fillColorSpace=e5||ColorSpaceUtils.gray}));return}case T.setStrokeColorSpace:{let t2=u2._getColorSpace(e4[0],r2,p2);if(t2 instanceof Se){y2.state.strokeColorSpace=t2;continue}next(u2._handleColorSpace(t2).then(e5=>{y2.state.strokeColorSpace=e5||ColorSpaceUtils.gray}));return}case T.setFillColor:w2=y2.state.fillColorSpace,e4=[w2.getRgbHex(e4,0)],a4=T.setFillRGBColor;break;case T.setStrokeColor:w2=y2.state.strokeColorSpace,e4=[w2.getRgbHex(e4,0)],a4=T.setStrokeRGBColor;break;case T.setFillGray:y2.state.fillColorSpace=ColorSpaceUtils.gray,e4=[ColorSpaceUtils.gray.getRgbHex(e4,0)],a4=T.setFillRGBColor;break;case T.setStrokeGray:y2.state.strokeColorSpace=ColorSpaceUtils.gray,e4=[ColorSpaceUtils.gray.getRgbHex(e4,0)],a4=T.setStrokeRGBColor;break;case T.setFillCMYKColor:y2.state.fillColorSpace=ColorSpaceUtils.cmyk,e4=[ColorSpaceUtils.cmyk.getRgbHex(e4,0)],a4=T.setFillRGBColor;break;case T.setStrokeCMYKColor:y2.state.strokeColorSpace=ColorSpaceUtils.cmyk,e4=[ColorSpaceUtils.cmyk.getRgbHex(e4,0)],a4=T.setStrokeRGBColor;break;case T.setFillRGBColor:y2.state.fillColorSpace=ColorSpaceUtils.rgb,e4=[ColorSpaceUtils.rgb.getRgbHex(e4,0)];break;case T.setStrokeRGBColor:y2.state.strokeColorSpace=ColorSpaceUtils.rgb,e4=[ColorSpaceUtils.rgb.getRgbHex(e4,0)];break;case T.setFillColorN:if(w2=y2.state.patternFillColorSpace,!w2){if(isNumberArray(e4,null)){e4=[ColorSpaceUtils.gray.getRgbHex(e4,0)],a4=T.setFillRGBColor;break}e4=[],a4=T.setFillTransparent;break}if(w2.name==="Pattern"){next(u2.handleColorN(i2,T.setFillColorN,e4,w2,v2,r2,n2,p2,h2,g2,l2));return}e4=[w2.getRgbHex(e4,0)],a4=T.setFillRGBColor;break;case T.setStrokeColorN:if(w2=y2.state.patternStrokeColorSpace,!w2){if(isNumberArray(e4,null)){e4=[ColorSpaceUtils.gray.getRgbHex(e4,0)],a4=T.setStrokeRGBColor;break}e4=[],a4=T.setStrokeTransparent;break}if(w2.name==="Pattern"){next(u2.handleColorN(i2,T.setStrokeColorN,e4,w2,v2,r2,n2,p2,h2,g2,l2));return}e4=[w2.getRgbHex(e4,0)],a4=T.setStrokeRGBColor;break;case T.shadingFill:let k2;try{let t2=r2.get("Shading");if(!t2)throw new FormatError$1("No shading resource found");if(k2=t2.get(e4[0].name),!k2)throw new FormatError$1("No shading object found")}catch(e5){if(e5 instanceof AbortException$1)continue;if(u2.options.ignoreErrors){warn$1(`getOperatorList - ignoring Shading: "${e5}".`);continue}throw e5}let j2=u2.parseShading({shading:k2,resources:r2,localColorSpaceCache:p2,localShadingPatternCache:g2});if(!j2)continue;e4=[j2],a4=T.shadingFill;break;case T.setGState:if(O2=e4[0]instanceof N,D2=e4[0].name,O2){let t2=m2.getByName(D2);if(t2){t2.length>0&&i2.addOp(T.setGState,[t2]),e4=null;continue}}next(new Promise(function(e5,t2){if(!O2)throw new FormatError$1("GState must be referred to by name.");let a5=r2.get("ExtGState");if(!(a5 instanceof F))throw new FormatError$1("ExtGState should be a dictionary.");let o3=a5.get(D2);if(!(o3 instanceof F))throw new FormatError$1("GState should be a dictionary.");u2.setGState({resources:r2,gState:o3,operatorList:i2,cacheKey:D2,task:n2,stateManager:y2,localGStateCache:m2,localColorSpaceCache:p2,seenRefs:l2}).then(e5,t2)}).catch(function(e5){if(!(e5 instanceof AbortException$1)){if(u2.options.ignoreErrors){warn$1(`getOperatorList - ignoring ExtGState: "${e5}".`);return}throw e5}}));return;case T.setLineWidth:{let[t2]=e4;if(typeof t2!="number"){warn$1(`Invalid setLineWidth: ${t2}`);continue}e4[0]=Math.abs(t2);break}case T.setDash:{let t2=e4[1];if(typeof t2!="number"){warn$1(`Invalid setDash: ${t2}`);continue}let n3=e4[0];if(!Array.isArray(n3)){warn$1(`Invalid setDash: ${n3}`);continue}n3.some(e5=>typeof e5!="number")&&(e4[0]=n3.filter(e5=>typeof e5=="number"));break}case T.moveTo:case T.lineTo:case T.curveTo:case T.curveTo2:case T.curveTo3:case T.closePath:case T.rectangle:u2.buildPath(a4,e4,y2.state);continue;case T.stroke:case T.closeStroke:case T.fill:case T.eoFill:case T.fillStroke:case T.eoFillStroke:case T.closeFillStroke:case T.closeEOFillStroke:case T.endPath:{let{state:{pathBuffer:e5,pathMinMax:n3}}=y2;(a4===T.closeStroke||a4===T.closeFillStroke||a4===T.closeEOFillStroke)&&e5.push(E.closePath),e5.length===0?i2.addOp(T.constructPath,[a4,[null],null]):(i2.addOp(T.constructPath,[a4,[new Float32Array(e5)],n3.slice()]),e5.length=0,n3.set(t,0));continue}case T.setTextMatrix:i2.addOp(a4,[new Float32Array(e4)]);continue;case T.markPoint:case T.markPointProps:case T.beginCompat:case T.endCompat:continue;case T.beginMarkedContentProps:if(!(e4[0]instanceof N)){warn$1(`Expected name for beginMarkedContentProps arg0=${e4[0]}`),i2.addOp(T.beginMarkedContentProps,["OC",null]);continue}if(e4[0].name==="OC"){next(u2.parseMarkedContentProps(e4[1],r2).then(e5=>{i2.addOp(T.beginMarkedContentProps,["OC",e5])}).catch(e5=>{if(!(e5 instanceof AbortException$1)){if(u2.options.ignoreErrors){warn$1(`getOperatorList - ignoring beginMarkedContentProps: "${e5}".`),i2.addOp(T.beginMarkedContentProps,["OC",null]);return}throw e5}}));return}e4=[e4[0].name,e4[1]instanceof F?e4[1].get("MCID"):null];break;case T.beginMarkedContent:case T.endMarkedContent:default:if(e4!==null){for(S2=0,C2=e4.length;S2<C2&&!(e4[S2]instanceof F);S2++);if(S2<C2){warn$1("getOperatorList - ignoring operator: "+a4);continue}}}i2.addOp(a4,e4)}if(c3){next(Cr);return}closePendingRestoreOPS(),e3()}).catch(e3=>{if(!(e3 instanceof AbortException$1)){if(this.options.ignoreErrors){warn$1(`getOperatorList - ignoring errors during "${n2.name}" task: "${e3}".`),closePendingRestoreOPS();return}throw e3}})}async getTextContent({stream:e2,task:t2,resources:n2,stateManager:i2=null,includeMarkedContent:a2=!1,sink:o2,seenStyles:s2=new Set,viewBox:c2,lang:l2=null,markedContentData:u2=null,disableNormalization:d2=!1,keepWhiteSpace:f2=!1,prevRefs:p2=null,intersector:m2=null}){if(e2.isAsync){let t3=await e2.asyncGetBytes();t3&&(e2=new Ee(t3,0,t3.length,e2.dict))}o2??=textSinkWrapper(null);let h2=e2.dict?.objId,g2=new RefSet(p2);if(h2){if(p2?.has(h2))throw Error(`getTextContent - ignoring circular reference: ${h2}`);g2.put(h2)}n2||=F.empty,i2||=new StateManager(new TextState),a2&&(u2||={level:0});let _2={items:[],styles:Object.create(null),lang:l2},v2={initialized:!1,str:[],totalWidth:0,totalHeight:0,width:0,height:0,vertical:!1,prevTransform:null,prevTextRise:0,textAdvanceScale:0,spaceInFlowMin:0,spaceInFlowMax:0,trackingSpaceMin:1/0,negativeSpaceMax:-1/0,notASpace:-1/0,transform:null,fontName:null,hasEOL:!1},y2=[" "," "],b2=0;function saveLastChar(e3){let t3=(b2+1)%2,n3=y2[b2]!==" "&&y2[t3]===" ";return y2[b2]=e3,b2=t3,!f2&&n3}function shouldAddWhitepsace(){return!f2&&y2[b2]!==" "&&y2[(b2+1)%2]===" "}function resetLastChars(){y2[0]=y2[1]=" ",b2=0}let x2=.25,S2=this,C2=this.xref,w2=[],E2=null,D2=new LocalImageCache,O2=new LocalGStateCache,k2=new Er(e2,C2,i2),j2,ee2;function pushWhitespace({width:e3=0,height:t3=0,transform:n3=v2.prevTransform,fontName:r2=v2.fontName}){m2?.addExtraChar(" "),_2.items.push({str:" ",dir:"ltr",width:e3,height:t3,transform:n3,fontName:r2,hasEOL:!1})}function getCurrentTextTransform(){let e3=j2.font,t3=[j2.fontSize*j2.textHScale,0,0,j2.fontSize,0,j2.textRise];if(e3.isType3Font&&(j2.fontSize<=1||e3.isCharBBox)&&!isArrayEqual(j2.fontMatrix,r)){let n3=e3.bbox[3]-e3.bbox[1];n3>0&&(t3[3]*=n3*j2.fontMatrix[3])}return Util$1.transform(j2.ctm,Util$1.transform(j2.textMatrix,t3))}function ensureTextContentItem(){if(v2.initialized)return v2;let{font:e3,loadedName:t3}=j2;if(!s2.has(t3)&&(s2.add(t3),_2.styles[t3]={fontFamily:e3.fallbackName,ascent:e3.ascent,descent:e3.descent,vertical:e3.vertical},S2.options.fontExtraProperties&&e3.systemFontInfo)){let n4=_2.styles[t3];n4.fontSubstitution=e3.systemFontInfo.css,n4.fontSubstitutionLoadedName=e3.systemFontInfo.loadedName}v2.fontName=t3;let n3=v2.transform=getCurrentTextTransform();e3.vertical?(v2.width=v2.totalWidth=Math.hypot(n3[0],n3[1]),v2.height=v2.totalHeight=0,v2.vertical=!0):(v2.width=v2.totalWidth=0,v2.height=v2.totalHeight=Math.hypot(n3[2],n3[3]),v2.vertical=!1);let r2=Math.hypot(j2.textLineMatrix[0],j2.textLineMatrix[1]),i3=Math.hypot(j2.ctm[0],j2.ctm[1]);v2.textAdvanceScale=i3*r2;let{fontSize:a3}=j2;return v2.trackingSpaceMin=a3*.102,v2.notASpace=a3*.03,v2.negativeSpaceMax=a3*-.2,v2.spaceInFlowMin=a3*.102,v2.spaceInFlowMax=a3*.6,v2.hasEOL=!1,v2.initialized=!0,v2}function updateAdvanceScale(){if(!v2.initialized)return;let e3=Math.hypot(j2.textLineMatrix[0],j2.textLineMatrix[1]),t3=Math.hypot(j2.ctm[0],j2.ctm[1])*e3;t3!==v2.textAdvanceScale&&(v2.vertical?(v2.totalHeight+=v2.height*v2.textAdvanceScale,v2.height=0):(v2.totalWidth+=v2.width*v2.textAdvanceScale,v2.width=0),v2.textAdvanceScale=t3)}function runBidiTransform(e3){let t3=e3.str.join("");d2||(t3=normalizeUnicode$1(t3));let n3=bidi(t3,-1,e3.vertical);return{str:n3.str,dir:n3.dir,width:Math.abs(e3.totalWidth),height:Math.abs(e3.totalHeight),transform:e3.transform,fontName:e3.fontName,hasEOL:e3.hasEOL}}async function handleSetFont(e3,i3){let a3=await S2.loadFont(e3,i3,n2,t2,null,null,g2);j2.loadedName=a3.loadedName,j2.font=a3.font,j2.fontMatrix=a3.font.fontMatrix||r}function applyInverseRotation(e3,t3,n3){let r2=Math.hypot(n3[0],n3[1]);return[(n3[0]*e3+n3[1]*t3)/r2,(n3[2]*e3+n3[3]*t3)/r2]}function compareWithLastPosition(e3){let t3=getCurrentTextTransform(),n3=t3[4],r2=t3[5];if(j2.font?.vertical){if(n3<c2[0]||n3>c2[2]||r2+e3<c2[1]||r2>c2[3])return!1}else if(n3+e3<c2[0]||n3>c2[2]||r2<c2[1]||r2>c2[3])return!1;if(!j2.font||!v2.prevTransform)return!0;let i3=v2.prevTransform[4],a3=v2.prevTransform[5];if(i3===n3&&a3===r2)return!0;let o3=-1;switch(t3[0]&&t3[1]===0&&t3[2]===0?o3=t3[0]>0?0:180:t3[1]&&t3[0]===0&&t3[3]===0&&(o3=t3[1]>0?90:270),o3){case 0:break;case 90:[n3,r2]=[r2,n3],[i3,a3]=[a3,i3];break;case 180:[n3,r2,i3,a3]=[-n3,-r2,-i3,-a3];break;case 270:[n3,r2]=[-r2,-n3],[i3,a3]=[-a3,-i3];break;default:[n3,r2]=applyInverseRotation(n3,r2,t3),[i3,a3]=applyInverseRotation(i3,a3,v2.prevTransform)}if(j2.font.vertical){let e4=(a3-r2)/v2.textAdvanceScale,t4=n3-i3,o4=Math.sign(v2.height||v2.totalHeight);return e4<o4*v2.negativeSpaceMax?Math.abs(t4)>.5*v2.width?(appendEOL(),!0):(resetLastChars(),flushTextContentItem(),!0):Math.abs(t4)>v2.width?(appendEOL(),!0):(e4<=o4*v2.notASpace&&resetLastChars(),e4<=o4*v2.trackingSpaceMin?shouldAddWhitepsace()?(resetLastChars(),flushTextContentItem(),pushWhitespace({height:Math.abs(e4)})):v2.height+=e4:addFakeSpaces(e4,v2.prevTransform,o4)||(v2.str.length===0?(resetLastChars(),pushWhitespace({height:Math.abs(e4)})):v2.height+=e4),Math.abs(t4)>v2.width*x2&&flushTextContentItem(),!0)}let s3=(n3-i3)/v2.textAdvanceScale,l3=r2-a3,u3=Math.sign(v2.width||v2.totalWidth);if(s3<u3*v2.negativeSpaceMax)return Math.abs(l3)>.5*v2.height?(appendEOL(),!0):(resetLastChars(),flushTextContentItem(),!0);let d3=j2.textRise-v2.prevTextRise,f3=d3===0?l3:l3-t3[3]/j2.fontSize*d3;return Math.abs(f3)>v2.height?(appendEOL(),!0):(s3<=u3*v2.notASpace&&resetLastChars(),s3<=u3*v2.trackingSpaceMin?shouldAddWhitepsace()?(resetLastChars(),flushTextContentItem(),pushWhitespace({width:Math.abs(s3)})):v2.width+=s3:addFakeSpaces(s3,v2.prevTransform,u3)||(v2.str.length===0?(resetLastChars(),pushWhitespace({width:Math.abs(s3)})):v2.width+=s3),Math.abs(l3)>v2.height*x2&&flushTextContentItem(),!0)}function buildTextContentItem({chars:e3,extraSpacing:t3}){ee2!==j2&&(ee2.fontSize!==j2.fontSize||ee2.fontName!==j2.fontName&&(ee2.font.name!==j2.font.name||ee2.font.vertical!==j2.font.vertical))&&(flushTextContentItem(),ee2=j2.clone());let n3=j2.font,r2=n3.vertical?-j2.charSpacing:j2.charSpacing;if(!e3){let e4=r2+t3;e4&&(n3.vertical?j2.translateTextMatrix(0,-e4):j2.translateTextMatrix(e4*j2.textHScale,0)),f2&&compareWithLastPosition(0);return}let i3=n3.charsToGlyphs(e3),a3=j2.fontMatrix[0]*j2.fontSize;for(let e4=0,o3=i3.length;e4<o3;e4++){let s3=i3[e4],{category:c3,originalCharCode:l3}=s3;if(c3.isInvisibleFormatMark)continue;let u3=r2+(e4+1===o3?t3:0),d3=s3.width;n3.vertical&&(d3=s3.vmetric?s3.vmetric[0]:-d3);let p3=d3*a3;if(l3===32&&(u3+=j2.wordSpacing),!f2&&c3.isWhitespace){n3.vertical?(u3+=-p3,j2.translateTextMatrix(0,-u3)):(u3+=p3,j2.translateTextMatrix(u3*j2.textHScale,0)),saveLastChar(" ");continue}if(!c3.isZeroWidthDiacritic&&!compareWithLastPosition(p3)){n3.vertical?j2.translateTextMatrix(0,p3):j2.translateTextMatrix(p3*j2.textHScale,0);continue}let h3=ensureTextContentItem();c3.isZeroWidthDiacritic&&(p3=0),n3.vertical?(m2?.addGlyph(getCurrentTextTransform(),0,p3,s3.unicode),j2.translateTextMatrix(0,p3),p3=Math.abs(p3),h3.height+=p3):(p3*=j2.textHScale,m2?.addGlyph(getCurrentTextTransform(),p3,0,s3.unicode),j2.translateTextMatrix(p3,0),h3.width+=p3),p3&&(h3.prevTransform=getCurrentTextTransform(),h3.prevTextRise=j2.textRise);let g3=s3.unicode;saveLastChar(g3)&&(h3.str.push(" "),m2?.addExtraChar(" ")),m2||h3.str.push(g3),u3&&(n3.vertical?j2.translateTextMatrix(0,-u3):j2.translateTextMatrix(u3*j2.textHScale,0))}}function appendEOL(){m2?.addExtraChar(`
|
|
8
|
+
`),resetLastChars(),v2.initialized?(v2.hasEOL=!0,flushTextContentItem()):_2.items.push({str:"",dir:"ltr",width:0,height:0,transform:getCurrentTextTransform(),fontName:j2.loadedName,hasEOL:!0})}function addFakeSpaces(e3,t3,n3){if(n3*v2.spaceInFlowMin<=e3&&e3<=n3*v2.spaceInFlowMax)return v2.initialized&&(resetLastChars(),v2.str.push(" "),m2?.addExtraChar(" ")),!1;let r2=v2.fontName,i3=0;return v2.vertical&&(i3=e3,e3=0),flushTextContentItem(),resetLastChars(),pushWhitespace({width:Math.abs(e3),height:Math.abs(i3),transform:t3||getCurrentTextTransform(),fontName:r2}),!0}function flushTextContentItem(){!v2.initialized||!v2.str||(v2.vertical?v2.totalHeight+=v2.height*v2.textAdvanceScale:v2.totalWidth+=v2.width*v2.textAdvanceScale,_2.items.push(runBidiTransform(v2)),v2.initialized=!1,v2.str.length=0)}function enqueueChunk(e3=!1){let t3=_2.items.length;t3!==0&&(e3&&t3<10||(o2.enqueue(_2,t3),_2.items=[],_2.styles=Object.create(null)))}let M2=new wr;return new Promise(function promiseBody(e3,r2){let next=function(t3){enqueueChunk(!0),Promise.all([t3,o2.ready]).then(function(){try{promiseBody(e3,r2)}catch(e4){r2(e4)}},r2)};t2.ensureNotTerminated(),M2.reset();let p3={},m3,h3,v3,y3=[];for(;!(m3=M2.check())&&(y3.length=0,p3.args=y3,k2.read(p3));){j2=i2.state,ee2||=j2.clone();let e4=p3.fn;switch(y3=p3.args,e4|0){case T.setFont:let e5=y3[0].name,r3=y3[1];if(j2.font&&e5===j2.fontName&&r3===j2.fontSize)break;j2.fontName=e5,j2.fontSize=r3,next(handleSetFont(e5,null));return;case T.setTextRise:j2.textRise=y3[0];break;case T.setHScale:j2.textHScale=y3[0]/100;break;case T.setLeading:j2.leading=y3[0];break;case T.moveText:j2.translateTextLineMatrix(y3[0],y3[1]),j2.textMatrix=j2.textLineMatrix.slice();break;case T.setLeadingMoveText:j2.leading=-y3[1],j2.translateTextLineMatrix(y3[0],y3[1]),j2.textMatrix=j2.textLineMatrix.slice();break;case T.nextLine:j2.carriageReturn();break;case T.setTextMatrix:j2.setTextMatrix(y3[0],y3[1],y3[2],y3[3],y3[4],y3[5]),j2.setTextLineMatrix(y3[0],y3[1],y3[2],y3[3],y3[4],y3[5]),updateAdvanceScale();break;case T.setCharSpacing:j2.charSpacing=y3[0];break;case T.setWordSpacing:j2.wordSpacing=y3[0];break;case T.beginText:j2.textMatrix=ue.slice(),j2.textLineMatrix=ue.slice();break;case T.showSpacedText:if(!i2.state.font){S2.ensureStateFont(i2.state);continue}let p4=(j2.font.vertical?1:-1)*j2.fontSize/1e3,m4=y3[0];for(let e6=0,t3=m4.length;e6<t3;e6++){let t4=m4[e6];if(typeof t4=="string")w2.push(t4);else if(typeof t4=="number"&&t4!==0){let e7=w2.join("");w2.length=0,buildTextContentItem({chars:e7,extraSpacing:t4*p4})}}if(w2.length>0){let e6=w2.join("");w2.length=0,buildTextContentItem({chars:e6,extraSpacing:0})}break;case T.showText:if(!i2.state.font){S2.ensureStateFont(i2.state);continue}buildTextContentItem({chars:y3[0],extraSpacing:0});break;case T.nextLineShowText:if(!i2.state.font){S2.ensureStateFont(i2.state);continue}j2.carriageReturn(),buildTextContentItem({chars:y3[0],extraSpacing:0});break;case T.nextLineSetSpacingShowText:if(!i2.state.font){S2.ensureStateFont(i2.state);continue}j2.wordSpacing=y3[0],j2.charSpacing=y3[1],j2.carriageReturn(),buildTextContentItem({chars:y3[2],extraSpacing:0});break;case T.paintXObject:if(flushTextContentItem(),E2??=n2.get("XObject")||F.empty,v3=y3[0]instanceof N,h3=y3[0].name,v3&&D2.getByName(h3))break;next(new Promise(function(e6,r4){if(!v3)throw new FormatError$1("XObject must be referred to by name.");let p5=E2.getRaw(h3);if(p5 instanceof L){if(D2.getByRef(p5)){e6();return}if(S2.globalImageCache.getData(p5,S2.pageIndex)){e6();return}p5=C2.fetch(p5)}if(!(p5 instanceof BaseStream))throw new FormatError$1("XObject should be a stream");let{dict:m5}=p5,_3=m5.get("Subtype");if(!(_3 instanceof N))throw new FormatError$1("XObject should have a Name subtype");if(_3.name!=="Form"){D2.set(h3,m5.objId,!0),e6();return}let y4=new StateManager(i2.state.clone()),b3=lookupMatrix(m5.getArray("Matrix"),null);b3&&y4.transform(b3);let x3=m5.get("Resources");enqueueChunk();let w3=textSinkWrapper(o2);S2.getTextContent({stream:p5,task:t2,resources:x3 instanceof F?x3:n2,stateManager:y4,includeMarkedContent:a2,sink:w3,seenStyles:s2,viewBox:c2,lang:l2,markedContentData:u2,disableNormalization:d2,keepWhiteSpace:f2,prevRefs:g2}).then(function(){w3.enqueueInvoked||D2.set(h3,m5.objId,!0),e6()},r4)}).catch(function(e6){if(!(e6 instanceof AbortException$1)){if(S2.options.ignoreErrors){warn$1(`getTextContent - ignoring XObject: "${e6}".`);return}throw e6}}));return;case T.setGState:if(v3=y3[0]instanceof N,h3=y3[0].name,v3&&O2.getByName(h3))break;next(new Promise(function(e6,t3){if(!v3)throw new FormatError$1("GState must be referred to by name.");let r4=n2.get("ExtGState");if(!(r4 instanceof F))throw new FormatError$1("ExtGState should be a dictionary.");let i3=r4.get(h3);if(!(i3 instanceof F))throw new FormatError$1("GState should be a dictionary.");let a3=i3.get("Font");if(!a3){O2.set(h3,i3.objId,!0),e6();return}flushTextContentItem(),j2.fontName=null,j2.fontSize=a3[1],handleSetFont(null,a3[0]).then(e6,t3)}).catch(function(e6){if(!(e6 instanceof AbortException$1)){if(S2.options.ignoreErrors){warn$1(`getTextContent - ignoring ExtGState: "${e6}".`);return}throw e6}}));return;case T.beginMarkedContent:flushTextContentItem(),a2&&(u2.level++,_2.items.push({type:"beginMarkedContent",tag:y3[0]instanceof N?y3[0].name:null}));break;case T.beginMarkedContentProps:if(flushTextContentItem(),a2){u2.level++;let e6=y3[1]instanceof F?y3[1].get("MCID"):null;_2.items.push({type:"beginMarkedContentProps",id:Number.isInteger(e6)?`${S2.idFactory.getPageObjId()}_mc${e6}`:null,tag:y3[0]instanceof N?y3[0].name:null})}break;case T.endMarkedContent:if(flushTextContentItem(),a2){if(u2.level===0)break;u2.level--,_2.items.push({type:"endMarkedContent"})}break}if(_2.items.length>=o2.desiredSize){m3=!0;break}}if(m3){next(Cr);return}flushTextContentItem(),enqueueChunk(),e3()}).catch(e3=>{if(!(e3 instanceof AbortException$1)){if(this.options.ignoreErrors){warn$1(`getTextContent - ignoring errors during "${t2.name}" task: "${e3}".`),flushTextContentItem(),enqueueChunk();return}throw e3}})}async extractDataStructures(e2,t2){let n2=this.xref,r2,i2=this.readToUnicode(t2.toUnicode);if(t2.composite){let n3=e2.get("CIDSystemInfo");n3 instanceof F&&!t2.cidSystemInfo&&(t2.cidSystemInfo={registry:stringToPDFString(n3.get("Registry")),ordering:stringToPDFString(n3.get("Ordering")),supplement:n3.get("Supplement")});try{let t3=e2.get("CIDToGIDMap");t3 instanceof BaseStream&&(r2=t3.getBytes())}catch(e3){if(!this.options.ignoreErrors)throw e3;warn$1(`extractDataStructures - ignoring CIDToGIDMap data: "${e3}".`)}}let a2=[],o2=null,s2;if(e2.has("Encoding")){if(s2=e2.get("Encoding"),s2 instanceof F){if(o2=s2.get("BaseEncoding"),o2=o2 instanceof N?o2.name:null,s2.has("Differences")){let e3=s2.get("Differences"),t3=0;for(let r3 of e3){let e4=n2.fetchIfRef(r3);if(typeof e4=="number")t3=e4;else if(e4 instanceof N)a2[t3++]=e4.name;else throw new FormatError$1(`Invalid entry in 'Differences' array: ${e4}`)}}}else if(s2 instanceof N)o2=s2.name;else{let e3="Encoding is not a Name nor a Dict";if(!this.options.ignoreErrors)throw new FormatError$1(e3);warn$1(e3)}o2!=="MacRomanEncoding"&&o2!=="MacExpertEncoding"&&o2!=="WinAnsiEncoding"&&(o2=null)}let c2=!t2.file||t2.isInternalFont,l2=Vt()[t2.name];if(o2&&c2&&l2&&(o2=null),o2==="WinAnsiEncoding"&&c2&&t2.name?.charCodeAt(0)>=183){let e3=t2.name;["\xCB\xCE\xCC\xE5","\xBA\xDA\xCC\xE5","\xBF\xAC\xCC\xE5","\xB7\xC2\xCB\xCE","\xBF\xAC\xCC\xE5_GB2312","\xB7\xC2\xCB\xCE_GB2312","\xC1\xA5\xCA\xE9","\xD0\xC2\xCB\xCE","\xB7\xC2\xCB\xCE\xCC\xE5","\xD0\xA1\xB1\xEA\xCB\xCE"].includes(e3)&&(o2=null,t2.defaultEncoding="Adobe-GB1-UCS2",t2.composite=!0,t2.cidEncoding=N.get("GBK-EUC-H"),t2.cMap=await CMapFactory.create({encoding:t2.cidEncoding,fetchBuiltInCMap:this._fetchBuiltInCMapBound,useCMap:null}),t2.vertical=t2.cMap.vertical,t2.cidSystemInfo={registry:"Adobe",ordering:"GB1",supplement:0})}if(o2)t2.defaultEncoding=getEncoding(o2);else{let e3=!!(t2.flags&yt.Symbolic),n3=!!(t2.flags&yt.Nonsymbolic);t2.type==="TrueType"&&e3&&n3&&a2.length!==0&&(t2.flags&=~yt.Symbolic,e3=!1),s2=lt,t2.type==="TrueType"&&!n3&&(s2=ut),(e3||l2)&&(s2=ct,c2&&(/Symbol/i.test(t2.name)?s2=dt:/Dingbats/i.test(t2.name)?s2=ft:/Wingdings/i.test(t2.name)&&(s2=ut))),t2.defaultEncoding=s2}t2.differences=a2,t2.baseEncodingName=o2,t2.hasEncoding=!!o2||a2.length>0,t2.dict=e2,t2.toUnicode=await i2;let u2=await this.buildToUnicode(t2);return t2.toUnicode=u2,r2&&(t2.cidToGidMap=this.readCidToGidMap(r2,u2)),t2}_simpleFontToUnicode(e2,t2=!1){assert$1(!e2.composite,"Must be a simple font.");let n2=[],r2=e2.defaultEncoding.slice(),i2=e2.baseEncodingName,a2=e2.differences;for(let e3 in a2){let t3=a2[e3];t3!==".notdef"&&(r2[e3]=t3)}let o2=pt();for(let a3 in r2){let s2=r2[a3];if(s2==="")continue;let c2=o2[s2];if(c2!==void 0){n2[a3]=String.fromCharCode(c2);continue}let l2=0;switch(s2[0]){case"G":s2.length===3&&(l2=parseInt(s2.substring(1),16));break;case"g":s2.length===5&&(l2=parseInt(s2.substring(1),16));break;case"C":case"c":if(s2.length>=3&&s2.length<=4){let n3=s2.substring(1);if(t2){l2=parseInt(n3,16);break}if(l2=+n3,Number.isNaN(l2)&&Number.isInteger(parseInt(n3,16)))return this._simpleFontToUnicode(e2,!0)}break;case"u":c2=getUnicodeForGlyph(s2,o2),c2!==-1&&(l2=c2);break;default:switch(s2){case"f_h":case"f_t":case"T_h":n2[a3]=s2.replaceAll("_","");continue}break}if(l2>0&&l2<=1114111&&Number.isInteger(l2)){if(i2&&l2===+a3){let e3=getEncoding(i2);if(e3&&(s2=e3[a3])){n2[a3]=String.fromCharCode(o2[s2]);continue}}n2[a3]=String.fromCodePoint(l2)}}return n2}async buildToUnicode(e2){if(e2.hasIncludedToUnicodeMap=e2.toUnicode?.length>0,e2.hasIncludedToUnicodeMap)return!e2.composite&&e2.hasEncoding&&(e2.fallbackToUnicode=this._simpleFontToUnicode(e2)),e2.toUnicode;if(!e2.composite)return new ToUnicodeMap(this._simpleFontToUnicode(e2));if(e2.composite&&(e2.cMap.builtInCMap&&!(e2.cMap instanceof IdentityCMap)||e2.cidSystemInfo?.registry==="Adobe"&&(e2.cidSystemInfo.ordering==="GB1"||e2.cidSystemInfo.ordering==="CNS1"||e2.cidSystemInfo.ordering==="Japan1"||e2.cidSystemInfo.ordering==="Korea1"))){let{registry:t2,ordering:n2}=e2.cidSystemInfo,r2=N.get(`${t2}-${n2}-UCS2`),i2=await CMapFactory.create({encoding:r2,fetchBuiltInCMap:this._fetchBuiltInCMapBound,useCMap:null}),a2=[],o2=[];return e2.cMap.forEach(function(e3,t3){if(t3>65535)throw new FormatError$1("Max size of CID is 65,535");let n3=i2.lookup(t3);if(n3){o2.length=0;for(let e4=0,t4=n3.length;e4<t4;e4+=2)o2.push((n3.charCodeAt(e4)<<8)+n3.charCodeAt(e4+1));a2[e3]=String.fromCharCode(...o2)}}),new ToUnicodeMap(a2)}return new IdentityToUnicodeMap(e2.firstChar,e2.lastChar)}async readToUnicode(e2){if(!e2)return null;if(e2 instanceof N){let t2=await CMapFactory.create({encoding:e2,fetchBuiltInCMap:this._fetchBuiltInCMapBound,useCMap:null});return t2 instanceof IdentityCMap?new IdentityToUnicodeMap(0,65535):new ToUnicodeMap(t2.getMap())}if(e2 instanceof BaseStream)try{let t2=await CMapFactory.create({encoding:e2,fetchBuiltInCMap:this._fetchBuiltInCMapBound,useCMap:null});if(t2 instanceof IdentityCMap)return new IdentityToUnicodeMap(0,65535);let n2=Array(t2.length);return t2.forEach(function(e3,t3){if(typeof t3=="number"){n2[e3]=String.fromCodePoint(t3);return}t3.length%2!=0&&(t3="\0"+t3);let r2=[];for(let e4=0;e4<t3.length;e4+=2){let n3=t3.charCodeAt(e4)<<8|t3.charCodeAt(e4+1);if((n3&63488)!=55296){r2.push(n3);continue}e4+=2;let i2=t3.charCodeAt(e4)<<8|t3.charCodeAt(e4+1);r2.push(((n3&1023)<<10)+(i2&1023)+65536)}n2[e3]=String.fromCodePoint(...r2)}),new ToUnicodeMap(n2)}catch(e3){if(e3 instanceof AbortException$1)return null;if(this.options.ignoreErrors)return warn$1(`readToUnicode - ignoring ToUnicode data: "${e3}".`),null;throw e3}return null}readCidToGidMap(e2,t2){let n2=[];for(let r2=0,i2=e2.length;r2<i2;r2++){let i3=e2[r2++]<<8|e2[r2],a2=r2>>1;i3===0&&!t2.has(a2)||(n2[a2]=i3)}return n2}extractWidths(e2,t2,n2){let r2=this.xref,i2=[],a2=0,o2=[],s2;if(n2.composite){let t3=e2.get("DW");a2=typeof t3=="number"?Math.ceil(t3):1e3;let c3=e2.get("W");if(Array.isArray(c3))for(let e3=0,t4=c3.length;e3<t4;e3++){let t5=r2.fetchIfRef(c3[e3++]);if(!Number.isInteger(t5))break;let n3=r2.fetchIfRef(c3[e3]);if(Array.isArray(n3))for(let e4 of n3){let n4=r2.fetchIfRef(e4);typeof n4=="number"&&(i2[t5]=n4),t5++}else if(Number.isInteger(n3)){let a3=r2.fetchIfRef(c3[++e3]);if(typeof a3!="number")continue;for(let e4=t5;e4<=n3;e4++)i2[e4]=a3}else break}if(n2.vertical){let t4=e2.getArray("DW2"),n3=isNumberArray(t4,2)?t4:[880,-1e3];if(s2=[n3[1],a2*.5,n3[0]],n3=e2.get("W2"),Array.isArray(n3))for(let e3=0,t5=n3.length;e3<t5;e3++){let t6=r2.fetchIfRef(n3[e3++]);if(!Number.isInteger(t6))break;let i3=r2.fetchIfRef(n3[e3]);if(Array.isArray(i3))for(let e4=0,n4=i3.length;e4<n4;e4++){let n5=[r2.fetchIfRef(i3[e4++]),r2.fetchIfRef(i3[e4++]),r2.fetchIfRef(i3[e4])];isNumberArray(n5,null)&&(o2[t6]=n5),t6++}else if(Number.isInteger(i3)){let a3=[r2.fetchIfRef(n3[++e3]),r2.fetchIfRef(n3[++e3]),r2.fetchIfRef(n3[++e3])];if(!isNumberArray(a3,null))continue;for(let e4=t6;e4<=i3;e4++)o2[e4]=a3}else break}}}else{let o3=e2.get("Widths");if(Array.isArray(o3)){let e3=n2.firstChar;for(let t3 of o3){let n3=r2.fetchIfRef(t3);typeof n3=="number"&&(i2[e3]=n3),e3++}let s3=t2.get("MissingWidth");a2=typeof s3=="number"?s3:0}else{let t3=e2.get("BaseFont");if(t3 instanceof N){let e3=this.getBaseFontMetrics(t3.name);i2=this.buildCharCodeToWidth(e3.widths,n2),a2=e3.defaultWidth}}}let c2=!0,l2=a2;for(let e3 in i2){let t3=i2[e3];if(t3){if(!l2){l2=t3;continue}if(l2!==t3){c2=!1;break}}}c2?n2.flags|=yt.FixedPitch:n2.flags&=~yt.FixedPitch,n2.defaultWidth=a2,n2.widths=i2,n2.defaultVMetrics=s2,n2.vmetrics=o2}isSerifFont(e2){let t2=e2.split("-",1)[0];return t2 in Bt()||/serif/i.test(t2)}getBaseFontMetrics(e2){let t2=0,n2=Object.create(null),r2=!1,i2=normalizeFontName(e2);i2=Lt()[i2]||i2;let a2=Xt(),o2=a2[i2]??a2[this.isSerifFont(e2)?"Times-Roman":"Helvetica"];return typeof o2=="number"?(t2=o2,r2=!0):n2=o2(),{defaultWidth:t2,monospace:r2,widths:n2}}buildCharCodeToWidth(e2,t2){let n2=Object.create(null),r2=t2.differences,i2=t2.defaultEncoding;for(let t3=0;t3<256;t3++){if(t3 in r2&&e2[r2[t3]]){n2[t3]=e2[r2[t3]];continue}if(t3 in i2&&e2[i2[t3]]){n2[t3]=e2[i2[t3]];continue}}return n2}preEvaluateFont(e2){let t2=e2,n2=e2.get("Subtype");if(!(n2 instanceof N))throw new FormatError$1("invalid font Subtype");let r2=!1,i2;if(n2.name==="Type0"){let t3=e2.get("DescendantFonts");if(!t3)throw new FormatError$1("Descendant fonts are not specified");if(e2=Array.isArray(t3)?this.xref.fetchIfRef(t3[0]):t3,!(e2 instanceof F))throw new FormatError$1("Descendant font is not a dictionary.");if(n2=e2.get("Subtype"),!(n2 instanceof N))throw new FormatError$1("invalid font Subtype");r2=!0}let a2=e2.get("FirstChar");Number.isInteger(a2)||(a2=0);let o2=e2.get("LastChar");Number.isInteger(o2)||(o2=r2?65535:255);let s2=e2.get("FontDescriptor"),c2=e2.get("ToUnicode")||t2.get("ToUnicode");if(s2){i2=new MurmurHash3_64$1;let s3=t2.getRaw("Encoding");if(s3 instanceof N)i2.update(s3.name);else if(s3 instanceof L)i2.update(s3.toString());else if(s3 instanceof F){for(let e3 of s3.getRawValues())if(e3 instanceof N)i2.update(e3.name);else if(e3 instanceof L)i2.update(e3.toString());else if(Array.isArray(e3)){let t3=e3.length,n3=Array(t3);for(let r3=0;r3<t3;r3++){let t4=e3[r3];t4 instanceof N?n3[r3]=t4.name:(typeof t4=="number"||t4 instanceof L)&&(n3[r3]=t4.toString())}i2.update(n3.join())}}if(i2.update(`${a2}-${o2}`),c2 instanceof BaseStream){let e3=c2.stream||c2,t3=e3.buffer?new Uint8Array(e3.buffer.buffer,0,e3.bufferLength):new Uint8Array(e3.bytes.buffer,e3.start,e3.end-e3.start);i2.update(t3)}else c2 instanceof N&&i2.update(c2.name);let l2=e2.get("Widths")||t2.get("Widths");if(Array.isArray(l2)){let e3=[];for(let t3 of l2)(typeof t3=="number"||t3 instanceof L)&&e3.push(t3.toString());i2.update(e3.join())}if(r2){i2.update("compositeFont");let n3=e2.get("W")||t2.get("W");if(Array.isArray(n3)){let e3=[];for(let t3 of n3)if(typeof t3=="number"||t3 instanceof L)e3.push(t3.toString());else if(Array.isArray(t3)){let n4=[];for(let e4 of t3)(typeof e4=="number"||e4 instanceof L)&&n4.push(e4.toString());e3.push(`[${n4.join()}]`)}i2.update(e3.join())}let r3=e2.getRaw("CIDToGIDMap")||t2.getRaw("CIDToGIDMap");r3 instanceof N?i2.update(r3.name):r3 instanceof L?i2.update(r3.toString()):r3 instanceof BaseStream&&i2.update(r3.peekBytes())}if(n2.name==="Type3"){let e3=t2.get("CharProcs");if(e3 instanceof F)for(let[t3,n3]of e3.getRawEntries())i2.update(n3 instanceof L?`${t3}\0${n3}`:t3)}}return{descriptor:s2,dict:e2,baseDict:t2,composite:r2,type:n2.name,firstChar:a2,lastChar:o2,toUnicode:c2,hash:i2?i2.hexdigest():""}}async translateFont({descriptor:e2,dict:t2,baseDict:n2,composite:i2,type:a2,firstChar:o2,lastChar:s2,toUnicode:c2,cssFontInfo:l2}){let u2=a2==="Type3";if(!e2)if(u2)e2=F.empty;else if(i2)e2=F.empty;else{let e3=t2.get("BaseFont");if(!(e3 instanceof N))throw new FormatError$1("Base font is not specified");e3=normalizeFontName(e3.name);let r2=this.getBaseFontMetrics(e3),i3=e3.split("-",1)[0],l3=(this.isSerifFont(i3)?yt.Serif:0)|(r2.monospace?yt.FixedPitch:0)|(Vt()[i3]?yt.Symbolic:yt.Nonsymbolic),d3={type:a2,name:e3,loadedName:n2.loadedName,systemFontInfo:null,widths:r2.widths,defaultWidth:r2.defaultWidth,isSimulatedFlags:!0,flags:l3,firstChar:o2,lastChar:s2,toUnicode:c2,xHeight:0,capHeight:0,italicAngle:0,isType3Font:u2},f3=t2.get("Widths"),p3=getStandardFontName(e3),m3=null;p3&&(m3=await this.fetchStandardFontData(p3),d3.isInternalFont=!!m3),!d3.isInternalFont&&this.options.useSystemFonts&&(d3.systemFontInfo=getFontSubstitution(this.systemFontCache,this.idFactory,this.options.standardFontDataUrl,e3,p3,a2));let h3=await this.extractDataStructures(t2,d3);if(Array.isArray(f3)){let e4=[],t3=o2;for(let n3 of f3){let r3=this.xref.fetchIfRef(n3);typeof r3=="number"&&(e4[t3]=r3),t3++}h3.widths=e4}else h3.widths=this.buildCharCodeToWidth(r2.widths,h3);return new Font(e3,m3,h3,this.options)}let d2=e2.get("FontName"),f2=t2.get("BaseFont");typeof d2=="string"&&(d2=N.get(d2)),typeof f2=="string"&&(f2=N.get(f2));let p2=d2?.name,m2=f2?.name;if(u2?p2||(d2=N.get(a2)):p2!==m2&&(info$1(`The FontDescriptor's FontName is "${p2}" but should be the same as the Font's BaseFont "${m2}".`),p2&&m2&&(m2.startsWith(p2)||!isKnownFontName(p2)&&isKnownFontName(m2))&&(d2=null),d2||=f2),!(d2 instanceof N))throw new FormatError$1("invalid font name");let h2,g2,_2,v2,y2,b2;try{for(let t3 of["FontFile","FontFile2","FontFile3"])if(h2=e2.get(t3),h2){g2=t3;break}if(h2)if(h2 instanceof BaseStream){if(h2.isAsync){let e3=await h2.asyncGetBytes();e3&&(h2=new Ee(e3,0,e3.length,h2.dict))}if(h2.isEmpty)throw new FormatError$1("FontFile is empty")}else throw new FormatError$1("FontFile should be a stream")}catch(e3){if(!this.options.ignoreErrors)throw e3;warn$1(`translateFont - fetching "${d2.name}" font file: "${e3}".`),h2=null}let x2=!1,S2=null,C2=null;if(h2){if(h2.dict){let e3=h2.dict.get("Subtype");e3 instanceof N&&(_2=e3.name),v2=h2.dict.get("Length1"),y2=h2.dict.get("Length2"),b2=h2.dict.get("Length3")}}else if(l2){let e3=getXfaFontName(d2.name);e3&&(l2.fontFamily=`${l2.fontFamily}-PdfJS-XFA`,l2.metrics=e3.metrics||null,S2=e3.factors||null,h2=await this.fetchStandardFontData(e3.name),x2=!!h2,n2=t2=getXfaFontDict(d2.name),i2=!0)}else if(!u2){let e3=getStandardFontName(d2.name);e3&&(h2=await this.fetchStandardFontData(e3),x2=!!h2),!x2&&this.options.useSystemFonts&&(C2=getFontSubstitution(this.systemFontCache,this.idFactory,this.options.standardFontDataUrl,d2.name,e3,a2))}let w2=lookupMatrix(t2.getArray("FontMatrix"),r),T2=lookupNormalRect(e2.getArray("FontBBox")||t2.getArray("FontBBox"),u2?[0,0,0,0]:void 0),E2=e2.get("Ascent");typeof E2!="number"&&(E2=void 0);let D2=e2.get("Descent");typeof D2!="number"&&(D2=void 0);let O2=e2.get("XHeight");typeof O2!="number"&&(O2=0);let k2=e2.get("CapHeight");typeof k2!="number"&&(k2=0);let j2=e2.get("Flags");Number.isInteger(j2)||(j2=0);let ee2=e2.get("ItalicAngle");typeof ee2!="number"&&(ee2=0);let M2={type:a2,name:d2.name,subtype:_2,file:h2,fontFileN:g2,length1:v2,length2:y2,length3:b2,isInternalFont:x2,loadedName:n2.loadedName,composite:i2,fixedPitch:!1,fontMatrix:w2,firstChar:o2,lastChar:s2,toUnicode:c2,bbox:T2,ascent:E2,descent:D2,xHeight:O2,capHeight:k2,flags:j2,italicAngle:ee2,isType3Font:u2,cssFontInfo:l2,scaleFactors:S2,systemFontInfo:C2};if(i2){let e3=n2.get("Encoding");e3 instanceof N&&(M2.cidEncoding=e3.name),M2.cMap=await CMapFactory.create({encoding:e3,fetchBuiltInCMap:this._fetchBuiltInCMapBound,useCMap:null}),M2.vertical=M2.cMap.vertical}let te2=await this.extractDataStructures(t2,M2);this.extractWidths(t2,e2,te2);let ne2=new Font(d2.name,h2,te2,this.options);if(ne2.missingFile&&!ne2.systemFontInfo&&!u2&&this.options.useSystemFonts){let e3=getStandardFontName(d2.name),t3=getFontSubstitution(this.systemFontCache,this.idFactory,this.options.standardFontDataUrl,d2.name,e3,a2);t3&&(t3.guessFallback&&(t3.guessFallback=!1,t3.css+=`,${ne2.fallbackName}`),ne2.systemFontInfo=t3)}return ne2}static buildFontPaths(e2,t2,n2,r2){function buildPath(t3){let i2=`${e2.loadedName}_path_${t3}`;try{if(e2.renderer.hasBuiltPath(t3))return;let r3=compileFontPathInfo(e2.renderer.getPathJs(t3));n2.send("commonobj",[i2,"FontPath",r3],[r3])}catch(e3){if(r2.ignoreErrors){warn$1(`buildFontPaths - ignoring ${i2} glyph: "${e3}".`);return}throw e3}}for(let e3 of t2){buildPath(e3.fontChar);let t3=e3.accent;t3?.fontChar&&buildPath(t3.fontChar)}}static get fallbackFontDict(){let e2=new F;return e2.set("BaseFont",N.get("Helvetica")),e2.set("Type",N.get("FallbackType")),e2.set("Subtype",N.get("FallbackType")),e2.set("Encoding",N.get("WinAnsiEncoding")),shadow$1(this,"fallbackFontDict",e2)}},TranslatedFont=class{#e=!1;#t=null;constructor({loadedName:e2,font:t2,dict:n2}){this.loadedName=e2,this.font=t2,this.dict=n2,this.type3Dependencies=t2.isType3Font?new Set:null}send(e2){if(this.#e)return;this.#e=!0;let t2=this.font.exportData(),n2=t2.buffer?[t2.buffer]:null;e2.send("commonobj",[this.loadedName,"Font",t2],n2)}fallback(e2,t2){this.font.data&&(this.font.disableFontFace=!0,Tr.buildFontPaths(this.font,this.font.glyphCacheValues,e2,t2))}loadType3Data(e2,t2,n2,r2=null){if(this.#t)return this.#t;let{font:i2,type3Dependencies:a2}=this;assert$1(i2.isType3Font,"Must be a Type3 font.");let o2=e2.clone({ignoreErrors:!1}),s2=new RefSet(e2.type3FontRefs);this.dict.objId&&!s2.has(this.dict.objId)&&s2.put(this.dict.objId),o2.type3FontRefs=s2;let c2=Promise.resolve(),l2=this.dict.get("CharProcs"),u2=this.dict.get("Resources")||t2,d2=Object.create(null),[f2,p2,m2,h2]=i2.bbox,g2=m2-f2,_2=h2-p2,v2=Math.hypot(g2,_2);for(let e3 of l2.getKeys())c2=c2.then(()=>{let t3=l2.get(e3),i3=new Be;return o2.getOperatorList({stream:t3,task:n2,resources:u2,operatorList:i3,prevRefs:r2}).then(()=>{switch(i3.fnArray[0]){case T.setCharWidthAndBounds:this.#n(i3,v2);break;case T.setCharWidth:v2||this.#r(i3);break}d2[e3]=i3.getIR();for(let e4 of i3.dependencies)a2.add(e4)}).catch(function(t4){warn$1(`Type3 font resource "${e3}" is not available.`);let n3=new Be;d2[e3]=n3.getIR()})});return this.#t=c2.then(()=>{i2.charProcOperatorList=d2,this._bbox&&(i2.isCharBBox=!0,i2.bbox=this._bbox)}),this.#t}#n(e2,n2=NaN){let r2=Util$1.normalizeRect(e2.argsArray[0].slice(2)),i2=r2[2]-r2[0],a2=r2[3]-r2[1];i2===0||a2===0?(e2.fnArray.splice(0,1),e2.argsArray.splice(0,1)):(n2===0||Math.round(Math.hypot(i2,a2)/n2)>=10)&&(this._bbox??=t.slice(),Util$1.rectBoundingBox(...r2,this._bbox));let o2=0,s2=e2.length;for(;o2<s2;){switch(e2.fnArray[o2]){case T.setCharWidthAndBounds:break;case T.setStrokeColorSpace:case T.setFillColorSpace:case T.setStrokeColor:case T.setStrokeColorN:case T.setFillColor:case T.setFillColorN:case T.setStrokeGray:case T.setFillGray:case T.setStrokeRGBColor:case T.setFillRGBColor:case T.setStrokeCMYKColor:case T.setFillCMYKColor:case T.shadingFill:case T.setRenderingIntent:e2.fnArray.splice(o2,1),e2.argsArray.splice(o2,1),s2--;continue;case T.setGState:let[t2]=e2.argsArray[o2],n3=0,r3=t2.length;for(;n3<r3;){let[e3]=t2[n3];switch(e3){case"TR":case"TR2":case"HT":case"BG":case"BG2":case"UCR":case"UCR2":t2.splice(n3,1),r3--;continue}n3++}break}o2++}}#r(e2){let n2=1,r2=e2.length;for(;n2<r2;){if(e2.fnArray[n2]===T.constructPath){let r3=e2.argsArray[n2][2];this._bbox??=t.slice(),Util$1.rectBoundingBox(...r3,this._bbox)}n2++}}},StateManager=class{constructor(e2=new EvalState){this.state=e2,this.stateStack=[]}save(){let e2=this.state;this.stateStack.push(this.state),this.state=e2.clone()}restore(){let e2=this.stateStack.pop();e2&&(this.state=e2)}transform(e2){this.state.ctm=Util$1.transform(this.state.ctm,e2)}},TextState=class{ctm=new Float32Array(ue);fontName=null;fontSize=0;loadedName=null;font=null;fontMatrix=r;textMatrix=ue.slice();textLineMatrix=ue.slice();charSpacing=0;wordSpacing=0;leading=0;textHScale=1;textRise=0;setTextMatrix(e2,t2,n2,r2,i2,a2){let o2=this.textMatrix;o2[0]=e2,o2[1]=t2,o2[2]=n2,o2[3]=r2,o2[4]=i2,o2[5]=a2}setTextLineMatrix(e2,t2,n2,r2,i2,a2){let o2=this.textLineMatrix;o2[0]=e2,o2[1]=t2,o2[2]=n2,o2[3]=r2,o2[4]=i2,o2[5]=a2}translateTextMatrix(e2,t2){let n2=this.textMatrix;n2[4]=n2[0]*e2+n2[2]*t2+n2[4],n2[5]=n2[1]*e2+n2[3]*t2+n2[5]}translateTextLineMatrix(e2,t2){let n2=this.textLineMatrix;n2[4]=n2[0]*e2+n2[2]*t2+n2[4],n2[5]=n2[1]*e2+n2[3]*t2+n2[5]}carriageReturn(){this.translateTextLineMatrix(0,-this.leading),this.textMatrix=this.textLineMatrix.slice()}clone(){let e2=Object.assign(Object.create(this),this);return e2.textMatrix=this.textMatrix.slice(),e2.textLineMatrix=this.textLineMatrix.slice(),e2.fontMatrix=this.fontMatrix.slice(),e2}},EvalState=class{ctm=new Float32Array(ue);font=null;textRenderingMode=p.FILL;_fillColorSpace=ColorSpaceUtils.gray;_strokeColorSpace=ColorSpaceUtils.gray;patternFillColorSpace=null;patternStrokeColorSpace=null;currentPointX=0;currentPointY=0;pathMinMax=n.slice();pathBuffer=[];get fillColorSpace(){return this._fillColorSpace}set fillColorSpace(e2){this._fillColorSpace=this.patternFillColorSpace=e2}get strokeColorSpace(){return this._strokeColorSpace}set strokeColorSpace(e2){this._strokeColorSpace=this.patternStrokeColorSpace=e2}clone({newPath:e2=!1}={}){let t2=Object.create(this);return e2&&(t2.pathBuffer=[],t2.pathMinMax=n.slice()),t2}},Er=class EvaluatorPreprocessor{static get opMap(){return shadow$1(this,"opMap",Object.assign(Object.create(null),{w:{id:T.setLineWidth,numArgs:1,variableArgs:!1},J:{id:T.setLineCap,numArgs:1,variableArgs:!1},j:{id:T.setLineJoin,numArgs:1,variableArgs:!1},M:{id:T.setMiterLimit,numArgs:1,variableArgs:!1},d:{id:T.setDash,numArgs:2,variableArgs:!1},ri:{id:T.setRenderingIntent,numArgs:1,variableArgs:!1},i:{id:T.setFlatness,numArgs:1,variableArgs:!1},gs:{id:T.setGState,numArgs:1,variableArgs:!1},q:{id:T.save,numArgs:0,variableArgs:!1},Q:{id:T.restore,numArgs:0,variableArgs:!1},cm:{id:T.transform,numArgs:6,variableArgs:!1},m:{id:T.moveTo,numArgs:2,variableArgs:!1},l:{id:T.lineTo,numArgs:2,variableArgs:!1},c:{id:T.curveTo,numArgs:6,variableArgs:!1},v:{id:T.curveTo2,numArgs:4,variableArgs:!1},y:{id:T.curveTo3,numArgs:4,variableArgs:!1},h:{id:T.closePath,numArgs:0,variableArgs:!1},re:{id:T.rectangle,numArgs:4,variableArgs:!1},S:{id:T.stroke,numArgs:0,variableArgs:!1},s:{id:T.closeStroke,numArgs:0,variableArgs:!1},f:{id:T.fill,numArgs:0,variableArgs:!1},F:{id:T.fill,numArgs:0,variableArgs:!1},"f*":{id:T.eoFill,numArgs:0,variableArgs:!1},B:{id:T.fillStroke,numArgs:0,variableArgs:!1},"B*":{id:T.eoFillStroke,numArgs:0,variableArgs:!1},b:{id:T.closeFillStroke,numArgs:0,variableArgs:!1},"b*":{id:T.closeEOFillStroke,numArgs:0,variableArgs:!1},n:{id:T.endPath,numArgs:0,variableArgs:!1},W:{id:T.clip,numArgs:0,variableArgs:!1},"W*":{id:T.eoClip,numArgs:0,variableArgs:!1},BT:{id:T.beginText,numArgs:0,variableArgs:!1},ET:{id:T.endText,numArgs:0,variableArgs:!1},Tc:{id:T.setCharSpacing,numArgs:1,variableArgs:!1},Tw:{id:T.setWordSpacing,numArgs:1,variableArgs:!1},Tz:{id:T.setHScale,numArgs:1,variableArgs:!1},TL:{id:T.setLeading,numArgs:1,variableArgs:!1},Tf:{id:T.setFont,numArgs:2,variableArgs:!1},Tr:{id:T.setTextRenderingMode,numArgs:1,variableArgs:!1},Ts:{id:T.setTextRise,numArgs:1,variableArgs:!1},Td:{id:T.moveText,numArgs:2,variableArgs:!1},TD:{id:T.setLeadingMoveText,numArgs:2,variableArgs:!1},Tm:{id:T.setTextMatrix,numArgs:6,variableArgs:!1},"T*":{id:T.nextLine,numArgs:0,variableArgs:!1},Tj:{id:T.showText,numArgs:1,variableArgs:!1},TJ:{id:T.showSpacedText,numArgs:1,variableArgs:!1},"'":{id:T.nextLineShowText,numArgs:1,variableArgs:!1},'"':{id:T.nextLineSetSpacingShowText,numArgs:3,variableArgs:!1},d0:{id:T.setCharWidth,numArgs:2,variableArgs:!1},d1:{id:T.setCharWidthAndBounds,numArgs:6,variableArgs:!1},CS:{id:T.setStrokeColorSpace,numArgs:1,variableArgs:!1},cs:{id:T.setFillColorSpace,numArgs:1,variableArgs:!1},SC:{id:T.setStrokeColor,numArgs:4,variableArgs:!0},SCN:{id:T.setStrokeColorN,numArgs:33,variableArgs:!0},sc:{id:T.setFillColor,numArgs:4,variableArgs:!0},scn:{id:T.setFillColorN,numArgs:33,variableArgs:!0},G:{id:T.setStrokeGray,numArgs:1,variableArgs:!1},g:{id:T.setFillGray,numArgs:1,variableArgs:!1},RG:{id:T.setStrokeRGBColor,numArgs:3,variableArgs:!1},rg:{id:T.setFillRGBColor,numArgs:3,variableArgs:!1},K:{id:T.setStrokeCMYKColor,numArgs:4,variableArgs:!1},k:{id:T.setFillCMYKColor,numArgs:4,variableArgs:!1},sh:{id:T.shadingFill,numArgs:1,variableArgs:!1},BI:{id:T.beginInlineImage,numArgs:0,variableArgs:!1},ID:{id:T.beginImageData,numArgs:0,variableArgs:!1},EI:{id:T.endInlineImage,numArgs:1,variableArgs:!1},Do:{id:T.paintXObject,numArgs:1,variableArgs:!1},MP:{id:T.markPoint,numArgs:1,variableArgs:!1},DP:{id:T.markPointProps,numArgs:2,variableArgs:!1},BMC:{id:T.beginMarkedContent,numArgs:1,variableArgs:!1},BDC:{id:T.beginMarkedContentProps,numArgs:2,variableArgs:!1},EMC:{id:T.endMarkedContent,numArgs:0,variableArgs:!1},BX:{id:T.beginCompat,numArgs:0,variableArgs:!1},EX:{id:T.endCompat,numArgs:0,variableArgs:!1},BM:null,BD:null,true:null,fa:null,fal:null,fals:null,false:null,nu:null,nul:null,null:null}))}static MAX_INVALID_PATH_OPS=10;constructor(e2,t2,n2=new StateManager){this.parser=new Parser({lexer:new Lexer(e2,EvaluatorPreprocessor.opMap),xref:t2}),this.stateManager=n2,this.nonProcessedArgs=[],this._isPathOp=!1,this._numInvalidPathOPS=0}get savedStatesDepth(){return this.stateManager.stateStack.length}read(e2){let t2=e2.args;for(;;){let n2=this.parser.getObj();if(n2 instanceof ae){let r2=n2.cmd,i2=EvaluatorPreprocessor.opMap[r2];if(!i2){warn$1(`Unknown command "${r2}".`);continue}let a2=i2.id,o2=i2.numArgs,s2=t2===null?0:t2.length;if(this._isPathOp||(this._numInvalidPathOPS=0),this._isPathOp=a2>=T.moveTo&&a2<=T.endPath,i2.variableArgs)s2>o2&&info$1(`Command ${r2}: expected [0, ${o2}] args, but received ${s2} args.`);else{if(s2!==o2){let e3=this.nonProcessedArgs;for(;s2>o2;)e3.push(t2.shift()),s2--;for(;s2<o2&&e3.length!==0;)t2===null&&(t2=[]),t2.unshift(e3.pop()),s2++}if(s2<o2){let e3=`command ${r2}: expected ${o2} args, but received ${s2} args.`;if(this._isPathOp&&++this._numInvalidPathOPS>EvaluatorPreprocessor.MAX_INVALID_PATH_OPS)throw new FormatError$1(`Invalid ${e3}`);warn$1(`Skipping ${e3}`),t2!==null&&(t2.length=0);continue}}return this.preprocessCommand(a2,t2),e2.fn=a2,e2.args=t2,!0}if(n2===te)return!1;if(n2!==null&&(t2===null&&(t2=[]),t2.push(n2),t2.length>33))throw new FormatError$1("Too many arguments")}}preprocessCommand(e2,t2){switch(e2|0){case T.save:this.stateManager.save();break;case T.restore:this.stateManager.restore();break;case T.transform:this.stateManager.transform(t2);break}}},DefaultAppearanceEvaluator=class extends Er{constructor(e2){super(new StringStream(e2))}parse(){let e2={fn:0,args:[]},t2={fontSize:0,fontName:"",fontColor:new Uint8ClampedArray(3)};try{for(;e2.args.length=0,this.read(e2);){if(this.savedStatesDepth!==0)continue;let{fn:n2,args:r2}=e2;switch(n2|0){case T.setFont:let[e3,n3]=r2;e3 instanceof N&&(t2.fontName=e3.name),typeof n3=="number"&&n3>0&&(t2.fontSize=n3);break;case T.setFillRGBColor:ColorSpaceUtils.rgb.getRgbItem(r2,0,t2.fontColor,0);break;case T.setFillGray:ColorSpaceUtils.gray.getRgbItem(r2,0,t2.fontColor,0);break;case T.setFillCMYKColor:ColorSpaceUtils.cmyk.getRgbItem(r2,0,t2.fontColor,0);break}}}catch(e3){warn$1(`parseDefaultAppearance - ignoring errors: "${e3}".`)}return t2}};function parseDefaultAppearance(e2){return new DefaultAppearanceEvaluator(e2).parse()}var AppearanceStreamEvaluator=class extends Er{constructor(e2,t2,n2){super(e2),this.stream=e2,this.xref=t2,this.globalColorSpaceCache=n2,this.resources=e2.dict?.get("Resources")}parse(){let e2={fn:0,args:[]},t2={scaleFactor:1,fontSize:0,fontName:"",fontColor:new Uint8ClampedArray(3),fillColorSpace:ColorSpaceUtils.gray},n2=!1,r2=[];try{for(;e2.args.length=0,!(n2||!this.read(e2));){let{fn:i2,args:a2}=e2;switch(i2|0){case T.save:r2.push({scaleFactor:t2.scaleFactor,fontSize:t2.fontSize,fontName:t2.fontName,fontColor:t2.fontColor.slice(),fillColorSpace:t2.fillColorSpace});break;case T.restore:t2=r2.pop()||t2;break;case T.setTextMatrix:t2.scaleFactor*=Math.hypot(a2[0],a2[1]);break;case T.setFont:let[e3,i3]=a2;e3 instanceof N&&(t2.fontName=e3.name),typeof i3=="number"&&i3>0&&(t2.fontSize=i3*t2.scaleFactor);break;case T.setFillColorSpace:t2.fillColorSpace=ColorSpaceUtils.parse({cs:a2[0],xref:this.xref,resources:this.resources,pdfFunctionFactory:this._pdfFunctionFactory,globalColorSpaceCache:this.globalColorSpaceCache,localColorSpaceCache:this._localColorSpaceCache});break;case T.setFillColor:t2.fillColorSpace.getRgbItem(a2,0,t2.fontColor,0);break;case T.setFillRGBColor:ColorSpaceUtils.rgb.getRgbItem(a2,0,t2.fontColor,0);break;case T.setFillGray:ColorSpaceUtils.gray.getRgbItem(a2,0,t2.fontColor,0);break;case T.setFillCMYKColor:ColorSpaceUtils.cmyk.getRgbItem(a2,0,t2.fontColor,0);break;case T.showText:case T.showSpacedText:case T.nextLineShowText:case T.nextLineSetSpacingShowText:n2=!0;break}}}catch(e3){warn$1(`parseAppearanceStream - ignoring errors: "${e3}".`)}return this.stream.reset(),delete t2.scaleFactor,delete t2.fillColorSpace,t2}get _localColorSpaceCache(){return shadow$1(this,"_localColorSpaceCache",new LocalColorSpaceCache)}get _pdfFunctionFactory(){return shadow$1(this,"_pdfFunctionFactory",new ar({xref:this.xref}))}};function parseAppearanceStream(e2,t2,n2){return new AppearanceStreamEvaluator(e2,t2,n2).parse()}function getPdfColor(e2,t2){return e2[0]===e2[1]&&e2[1]===e2[2]?`${numberToString(e2[0]/255)} ${t2?"g":"G"}`:Array.from(e2,e3=>numberToString(e3/255)).join(" ")+` ${t2?"rg":"RG"}`}function createDefaultAppearance({fontSize:e2,fontName:t2,fontColor:n2}){return`/${escapePDFName(t2)} ${e2} Tf ${getPdfColor(n2,!0)}`}var Dr=class FakeUnicodeFont{static#e=1;constructor(e2,t2){this.xref=e2,this.widths=null,this.firstChar=1/0,this.lastChar=-1/0,this.fontFamily=t2;let n2=new OffscreenCanvas(1,1);this.ctxMeasure=n2.getContext("2d",{willReadFrequently:!0}),this.fontName=N.get(`InvalidPDFjsFont_${t2}_${FakeUnicodeFont.#e++}`)}get fontDescriptorRef(){if(!FakeUnicodeFont._fontDescriptorRef){let e2=new F(this.xref);e2.setIfName("Type","FontDescriptor"),e2.set("FontName",this.fontName),e2.set("FontFamily","MyriadPro Regular"),e2.set("FontBBox",[0,0,0,0]),e2.setIfName("FontStretch","Normal"),e2.set("FontWeight",400),e2.set("ItalicAngle",0),FakeUnicodeFont._fontDescriptorRef=this.xref.getNewPersistentRef(e2)}return FakeUnicodeFont._fontDescriptorRef}get descendantFontRef(){let e2=new F(this.xref);e2.set("BaseFont",this.fontName),e2.setIfName("Type","Font"),e2.setIfName("Subtype","CIDFontType0"),e2.setIfName("CIDToGIDMap","Identity"),e2.set("FirstChar",this.firstChar),e2.set("LastChar",this.lastChar),e2.set("FontDescriptor",this.fontDescriptorRef),e2.set("DW",1e3);let t2=[],n2=[...this.widths].sort(),r2=null,i2=null;for(let[e3,a3]of n2){if(!r2){r2=e3,i2=[a3];continue}e3===r2+i2.length?i2.push(a3):(t2.push(r2,i2),r2=e3,i2=[a3])}r2&&t2.push(r2,i2),e2.set("W",t2);let a2=new F(this.xref);return a2.set("Ordering","Identity"),a2.set("Registry","Adobe"),a2.set("Supplement",0),e2.set("CIDSystemInfo",a2),this.xref.getNewPersistentRef(e2)}get baseFontRef(){let e2=new F(this.xref);return e2.set("BaseFont",this.fontName),e2.setIfName("Type","Font"),e2.setIfName("Subtype","Type0"),e2.setIfName("Encoding","Identity-H"),e2.set("DescendantFonts",[this.descendantFontRef]),e2.setIfName("ToUnicode","Identity-H"),this.xref.getNewPersistentRef(e2)}get resources(){let e2=new F(this.xref),t2=new F(this.xref);return t2.set(this.fontName.name,this.baseFontRef),e2.set("Font",t2),e2}_createContext(){return this.widths=new Map,this.ctxMeasure.font=`1000px ${this.fontFamily}`,this.ctxMeasure}createFontResources(e2){let t2=this._createContext();for(let n2 of e2.split(/\r\n?|\n/))for(let e3 of n2.split("")){let n3=e3.charCodeAt(0);if(this.widths.has(n3))continue;let r2=t2.measureText(e3),i2=Math.ceil(r2.width);this.widths.set(n3,i2),this.firstChar=Math.min(n3,this.firstChar),this.lastChar=Math.max(n3,this.lastChar)}return this.resources}static getFirstPositionInfo(e2,t2,n2){let[r2,o2,s2,c2]=e2,l2=s2-r2,u2=c2-o2;t2%180!=0&&([l2,u2]=[u2,l2]);let d2=i*n2,f2=a*n2;return{coords:[0,u2+f2-d2],bbox:[0,0,l2,u2],matrix:t2===0?void 0:getRotationMatrix(t2,u2,d2)}}createAppearance(e2,t2,n2,r2,o2,s2){let c2=this._createContext(),l2=[],u2=-1/0;for(let t3 of e2.split(/\r\n?|\n/)){l2.push(t3);let e3=c2.measureText(t3).width;u2=Math.max(u2,e3);for(let e4 of codePointIter(t3)){let t4=String.fromCodePoint(e4),n3=this.widths.get(e4);if(n3===void 0){let r3=c2.measureText(t4);n3=Math.ceil(r3.width),this.widths.set(e4,n3),this.firstChar=Math.min(e4,this.firstChar),this.lastChar=Math.max(e4,this.lastChar)}}}u2*=r2/1e3;let[d2,f2,p2,m2]=t2,h2=p2-d2,g2=m2-f2;n2%180!=0&&([h2,g2]=[g2,h2]);let _2=u2>h2?h2/u2:1,v2=1,y2=i*r2,b2=a*r2,x2=y2*l2.length;x2>g2&&(v2=g2/x2);let S2=r2*Math.min(_2,v2),C2=["q",`0 0 ${numberToString(h2)} ${numberToString(g2)} re W n`,"BT",`1 0 0 1 0 ${numberToString(g2+b2)} Tm 0 Tc ${getPdfColor(o2,!0)}`,`/${this.fontName.name} ${numberToString(S2)} Tf`],{resources:w2}=this;if(s2=typeof s2=="number"&&s2>=0&&s2<=1?s2:1,s2!==1){C2.push("/R0 gs");let e3=new F(this.xref),t3=new F(this.xref);t3.set("ca",s2),t3.set("CA",s2),t3.setIfName("Type","ExtGState"),e3.set("R0",t3),w2.set("ExtGState",e3)}let T2=numberToString(y2);for(let e3 of l2)C2.push(`0 -${T2} Td <${stringToUTF16HexString(e3)}> Tj`);C2.push("ET","Q");let E2=C2.join(`
|
|
9
|
+
`),D2=new F(this.xref);if(D2.setIfName("Subtype","Form"),D2.setIfName("Type","XObject"),D2.set("BBox",[0,0,h2,g2]),D2.set("Length",E2.length),D2.set("Resources",w2),n2){let e3=getRotationMatrix(n2,h2,g2);D2.set("Matrix",e3)}return new StringStream(E2,D2)}},Or=["m/d","m/d/yy","mm/dd/yy","mm/yy","d-mmm","d-mmm-yy","dd-mmm-yy","yy-mm-dd","mmm-yy","mmmm-yy","mmm d, yyyy","mmmm d, yyyy","m/d/yy h:MM tt","m/d/yy HH:MM"],kr=["HH:MM","h:MM tt","HH:MM:ss","h:MM:ss tt"],NameOrNumberTree=class{constructor(e2,t2,n2){this.root=e2,this.xref=t2,this._type=n2}getAll(e2=!1){let t2=new Map;if(!this.root)return t2;let n2=this.xref,r2=new RefSet;this.root instanceof L&&r2.put(this.root);let i2=[this.root];for(let a2 of i2){let o2=n2.fetchIfRef(a2);if(!(o2 instanceof F))continue;if(o2.has("Kids")){let e3=o2.get("Kids");if(!Array.isArray(e3))continue;for(let t3 of e3){if(t3 instanceof L){if(r2.has(t3))throw new FormatError$1(`Duplicate entry in "${this._type}" tree.`);r2.put(t3)}i2.push(t3)}continue}let s2=o2.get(this._type);if(Array.isArray(s2))for(let r3=0,i3=s2.length;r3<i3;r3+=2)t2.set(e2?s2[r3]:n2.fetchIfRef(s2[r3]),e2?s2[r3+1]:n2.fetchIfRef(s2[r3+1]))}return t2}getRaw(e2){if(!this.root)return null;let t2=this.xref,n2=t2.fetchIfRef(this.root),r2=0;for(;n2.has("Kids");){if(++r2>10)return warn$1(`Search depth limit reached for "${this._type}" tree.`),null;let i3=n2.get("Kids");if(!Array.isArray(i3))return null;let a2=0,o2=i3.length-1;for(;a2<=o2;){let r3=a2+o2>>1,s2=t2.fetchIfRef(i3[r3]),c2=s2.get("Limits");if(e2<t2.fetchIfRef(c2[0]))o2=r3-1;else if(e2>t2.fetchIfRef(c2[1]))a2=r3+1;else{n2=s2;break}}if(a2>o2)return null}let i2=n2.get(this._type);if(Array.isArray(i2)){let n3=0,r3=i2.length-2;for(;n3<=r3;){let a2=n3+r3>>1,o2=a2+(a2&1),s2=t2.fetchIfRef(i2[o2]);if(e2<s2)r3=o2-2;else if(e2>s2)n3=o2+2;else return i2[o2+1]}}return null}get(e2){return this.xref.fetchIfRef(this.getRaw(e2))}},NameTree=class extends NameOrNumberTree{constructor(e2,t2){super(e2,t2,"Names")}},NumberTree=class extends NameOrNumberTree{constructor(e2,t2){super(e2,t2,"Nums")}};function clearGlobalCaches(){clearPatternCaches(),clearPrimitiveCaches(),clearUnicodeCaches(),qe.cleanup()}var Ar=class FileSpec{constructor(e2){e2 instanceof F&&(this.root=e2,e2.has("FS")&&(this.fs=e2.get("FS")),e2.has("RF")&&warn$1("Related file specifications are not supported"))}get filename(){let e2=FileSpec.pickPlatformItem(this.root);return e2&&typeof e2=="string"?stringToPDFString(e2,!0).replaceAll("\\\\","\\").replaceAll("\\/","/").replaceAll("\\","/"):""}get description(){let e2=this.root?.get("Desc");return e2&&typeof e2=="string"?stringToPDFString(e2):""}get serializable(){let{filename:e2,description:t2}=this;return{rawFilename:e2,filename:stripPath$1(e2)||"unnamed",description:t2}}static pickPlatformItem(e2,t2=!1){if(e2 instanceof F){for(let n2 of["UF","F","Unix","Mac","DOS"])if(e2.has(n2))return t2?e2.getRaw(n2):e2.get(n2)}return null}static hasEmbeddedFile(e2){return this.pickPlatformItem(e2.get("EF"))instanceof BaseStream}static readContent(e2){if(!(e2 instanceof F))return null;let t2=this.pickPlatformItem(e2.get("EF"));return t2 instanceof BaseStream?this.readStreamContent(t2):(warn$1("Embedded file specification points to non-existing/invalid content"),null)}static readStreamContent(e2){if(e2.dict?.xref?.encrypt?.encryptionKey===null)throw new PasswordException$1("No password given",D.NEED_PASSWORD);return e2.getBytes()}},jr={NoError:0,EndOfDocument:-1,UnterminatedCdat:-2,UnterminatedXmlDeclaration:-3,UnterminatedDoctypeDeclaration:-4,UnterminatedComment:-5,MalformedElement:-6,OutOfMemory:-7,UnterminatedAttributeValue:-8,UnterminatedElement:-9,ElementNeverBegun:-10};function isWhitespace(e2,t2){let n2=e2[t2];return n2===" "||n2===`
|
|
10
|
+
`||n2==="\r"||n2===" "}function isWhitespaceString(e2){for(let t2=0,n2=e2.length;t2<n2;t2++)if(!isWhitespace(e2,t2))return!1;return!0}var Mr=class XMLParserBase{static get _entityRegex(){return shadow$1(this,"_entityRegex",/&(?:#x([^;]+)|#([^;]+)|([^;]+));/g)}_resolveEntities(e2){return e2.replaceAll(XMLParserBase._entityRegex,(e3,t2,n2,r2)=>{if(t2)return String.fromCodePoint(parseInt(t2,16));if(n2)return String.fromCodePoint(parseInt(n2,10));switch(r2){case"lt":return"<";case"gt":return">";case"amp":return"&";case"quot":return'"';case"apos":return"'"}return this.onResolveEntity(r2)})}_parseContent(e2,t2){let n2=[],r2=t2;function skipWs(){for(;r2<e2.length&&isWhitespace(e2,r2);)++r2}for(;r2<e2.length&&!isWhitespace(e2,r2)&&e2[r2]!==">"&&e2[r2]!=="/";)++r2;let i2=e2.substring(t2,r2);for(skipWs();r2<e2.length&&e2[r2]!==">"&&e2[r2]!=="/"&&e2[r2]!=="?";){skipWs();let t3="",i3="";for(;r2<e2.length&&!isWhitespace(e2,r2)&&e2[r2]!=="=";)t3+=e2[r2],++r2;if(skipWs(),e2[r2]!=="=")return null;++r2,skipWs();let a2=e2[r2];if(a2!=='"'&&a2!=="'")return null;let o2=e2.indexOf(a2,++r2);if(o2<0)return null;i3=e2.substring(r2,o2),n2.push({name:t3,value:this._resolveEntities(i3)}),r2=o2+1,skipWs()}return{name:i2,attributes:n2,parsed:r2-t2}}_parseProcessingInstruction(e2,t2){let n2=t2;function skipWs(){for(;n2<e2.length&&isWhitespace(e2,n2);)++n2}for(;n2<e2.length&&!isWhitespace(e2,n2)&&e2[n2]!==">"&&e2[n2]!=="?"&&e2[n2]!=="/";)++n2;let r2=e2.substring(t2,n2);skipWs();let i2=n2;for(;n2<e2.length&&(e2[n2]!=="?"||e2[n2+1]!==">");)++n2;return{name:r2,value:e2.substring(i2,n2),parsed:n2-t2}}parseXml(e2){let t2=0;for(;t2<e2.length;){let n2=e2[t2],r2=t2;if(n2==="<"){++r2;let t3=e2[r2],n3;switch(t3){case"/":if(++r2,n3=e2.indexOf(">",r2),n3<0){this.onError(jr.UnterminatedElement);return}this.onEndElement(e2.substring(r2,n3)),r2=n3+1;break;case"?":++r2;let t4=this._parseProcessingInstruction(e2,r2);if(e2.substring(r2+t4.parsed,r2+t4.parsed+2)!=="?>"){this.onError(jr.UnterminatedXmlDeclaration);return}this.onPi(t4.name,t4.value),r2+=t4.parsed+2;break;case"!":if(e2.substring(r2+1,r2+3)==="--"){if(n3=e2.indexOf("-->",r2+3),n3<0){this.onError(jr.UnterminatedComment);return}this.onComment(e2.substring(r2+3,n3)),r2=n3+3}else if(e2.substring(r2+1,r2+8)==="[CDATA["){if(n3=e2.indexOf("]]>",r2+8),n3<0){this.onError(jr.UnterminatedCdat);return}this.onCdata(e2.substring(r2+8,n3)),r2=n3+3}else if(e2.substring(r2+1,r2+8)==="DOCTYPE"){let t5=e2.indexOf("[",r2+8),i3=!1;if(n3=e2.indexOf(">",r2+8),n3<0){this.onError(jr.UnterminatedDoctypeDeclaration);return}if(t5>0&&n3>t5){if(n3=e2.indexOf("]>",r2+8),n3<0){this.onError(jr.UnterminatedDoctypeDeclaration);return}i3=!0}let a3=e2.substring(r2+8,n3+ +!!i3);this.onDoctype(a3),r2=n3+(i3?2:1)}else{this.onError(jr.MalformedElement);return}break;default:let i2=this._parseContent(e2,r2);if(i2===null){this.onError(jr.MalformedElement);return}let a2=!1;if(e2.substring(r2+i2.parsed,r2+i2.parsed+2)==="/>")a2=!0;else if(e2.substring(r2+i2.parsed,r2+i2.parsed+1)!==">"){this.onError(jr.UnterminatedElement);return}this.onBeginElement(i2.name,i2.attributes,a2),r2+=i2.parsed+(a2?2:1);break}}else{for(;r2<e2.length&&e2[r2]!=="<";)r2++;let n3=e2.substring(t2,r2);this.onText(this._resolveEntities(n3))}t2=r2}}onResolveEntity(e2){return`&${e2};`}onPi(e2,t2){}onComment(e2){}onCdata(e2){}onDoctype(e2){}onText(e2){}onBeginElement(e2,t2,n2){}onEndElement(e2){}onError(e2){}},SimpleDOMNode=class{constructor(e2,t2){this.nodeName=e2,this.nodeValue=t2,Object.defineProperty(this,"parentNode",{value:null,writable:!0})}get firstChild(){return this.childNodes?.[0]}get nextSibling(){let e2=this.parentNode.childNodes;if(!e2)return;let t2=e2.indexOf(this);if(t2!==-1)return e2[t2+1]}get textContent(){return this.childNodes?this.childNodes.map(e2=>e2.textContent).join(""):this.nodeValue||""}get children(){return this.childNodes||[]}hasChildNodes(){return this.childNodes?.length>0}searchNode(e2,t2){if(t2>=e2.length)return this;let n2=e2[t2];if(n2.name.startsWith("#")&&t2<e2.length-1)return this.searchNode(e2,t2+1);let r2=[],i2=this;for(;;){if(n2.name===i2.nodeName)if(n2.pos===0){let n3=i2.searchNode(e2,t2+1);if(n3!==null)return n3}else{if(r2.length===0)return null;{let[a2]=r2.pop(),o2=0;for(let r3 of a2.childNodes)if(n2.name===r3.nodeName){if(o2===n2.pos)return r3.searchNode(e2,t2+1);o2++}return i2.searchNode(e2,t2+1)}}if(i2.childNodes?.length>0)r2.push([i2,0]),i2=i2.childNodes[0];else{if(r2.length===0)return null;for(;r2.length!==0;){let[e3,t3]=r2.pop(),n3=t3+1;if(n3<e3.childNodes.length){r2.push([e3,n3]),i2=e3.childNodes[n3];break}}if(r2.length===0)return null}}}dump(e2){if(this.nodeName==="#text"){e2.push(encodeToXmlString(this.nodeValue));return}if(e2.push(`<${this.nodeName}`),this.attributes)for(let t2 of this.attributes)e2.push(` ${t2.name}="${encodeToXmlString(t2.value)}"`);if(this.hasChildNodes()){e2.push(">");for(let t2 of this.childNodes)t2.dump(e2);e2.push(`</${this.nodeName}>`)}else this.nodeValue?e2.push(`>${encodeToXmlString(this.nodeValue)}</${this.nodeName}>`):e2.push("/>")}},SimpleXMLParser=class extends Mr{constructor({hasAttributes:e2=!1,lowerCaseName:t2=!1}){super(),this._currentFragment=null,this._stack=null,this._errorCode=jr.NoError,this._hasAttributes=e2,this._lowerCaseName=t2}parseFromString(e2){if(this._currentFragment=[],this._stack=[],this._errorCode=jr.NoError,this.parseXml(e2),this._errorCode!==jr.NoError)return;let[t2]=this._currentFragment;if(t2)return{documentElement:t2}}onText(e2){if(isWhitespaceString(e2))return;let t2=new SimpleDOMNode("#text",e2);this._currentFragment.push(t2)}onCdata(e2){let t2=new SimpleDOMNode("#text",e2);this._currentFragment.push(t2)}onBeginElement(e2,t2,n2){this._lowerCaseName&&(e2=e2.toLowerCase());let r2=new SimpleDOMNode(e2);r2.childNodes=[],this._hasAttributes&&(r2.attributes=t2),this._currentFragment.push(r2),!n2&&(this._stack.push(this._currentFragment),this._currentFragment=r2.childNodes)}onEndElement(e2){this._currentFragment=this._stack.pop()||[];let t2=this._currentFragment.at(-1);if(!t2)return null;for(let e3 of t2.childNodes)e3.parentNode=t2;return t2}onError(e2){this._errorCode=e2}},MetadataParser=class{constructor(e2){e2=this._repair(e2);let t2=new SimpleXMLParser({lowerCaseName:!0}).parseFromString(e2);this._metadataMap=new Map,this._data=e2,t2&&this._parse(t2)}_repair(e2){return e2.replace(/^[^<]+/,"").replaceAll(/>\\376\\377([^<]+)/g,function(e3,t2){let n2=t2.replaceAll(/\\([0-3])([0-7])([0-7])/g,function(e4,t3,n3,r3){return String.fromCharCode(t3*64+n3*8+r3*1)}).replaceAll(/&(amp|apos|gt|lt|quot);/g,function(e4,t3){switch(t3){case"amp":return"&";case"apos":return"'";case"gt":return">";case"lt":return"<";case"quot":return'"'}throw Error(`_repair: ${t3} isn't defined.`)}),r2=[">"];for(let e4=0,t3=n2.length;e4<t3;e4+=2){let t4=n2.charCodeAt(e4)*256+n2.charCodeAt(e4+1);t4>=32&&t4<127&&t4!==60&&t4!==62&&t4!==38?r2.push(String.fromCharCode(t4)):r2.push("&#x"+(65536+t4).toString(16).substring(1)+";")}return r2.join("")})}_getSequence(e2){let t2=e2.nodeName;return t2!=="rdf:bag"&&t2!=="rdf:seq"&&t2!=="rdf:alt"?null:e2.childNodes.filter(e3=>e3.nodeName==="rdf:li")}_parseArray(e2){if(!e2.hasChildNodes())return;let[t2]=e2.childNodes,n2=this._getSequence(t2)||[];this._metadataMap.set(e2.nodeName,n2.map(e3=>e3.textContent.trim()))}_parse(e2){let t2=e2.documentElement;if(t2.nodeName!=="rdf:rdf")for(t2=t2.firstChild;t2&&t2.nodeName!=="rdf:rdf";)t2=t2.nextSibling;if(!(!t2||t2.nodeName!=="rdf:rdf"||!t2.hasChildNodes())){for(let e3 of t2.childNodes)if(e3.nodeName==="rdf:description")for(let t3 of e3.childNodes){let e4=t3.nodeName;switch(e4){case"#text":continue;case"dc:creator":case"dc:subject":this._parseArray(t3);continue}this._metadataMap.set(e4,t3.textContent.trim())}}}get serializable(){return{parsedData:this._metadataMap,rawData:this._data}}},Nr={PAGE_CONTENT:1,STREAM_CONTENT:2,OBJECT:3,ANNOTATION:4,ELEMENT:5},Pr=class StructTreeRoot{kidRefToPosition=void 0;parentTree=null;roleMap=new Map;structParentIds=null;constructor(e2,t2,n2){this.xref=e2,this.dict=t2,this.ref=n2 instanceof L?n2:null;let r2=t2.get("RoleMap");if(r2 instanceof F)for(let[e3,t3]of r2)t3 instanceof N&&this.roleMap.set(e3,t3.name);let i2=t2.getRaw("ParentTree");i2&&(this.parentTree=new NumberTree(i2,e2))}getKidPosition(e2){if(this.kidRefToPosition===void 0){let e3=this.dict.get("K");if(Array.isArray(e3)){let t2=this.kidRefToPosition=new Map;for(let n2=0,r2=e3.length;n2<r2;n2++){let r3=e3[n2];r3&&t2.set(r3.toString(),n2)}}else e3 instanceof F?this.kidRefToPosition=new Map([[e3.objId,0]]):e3?this.kidRefToPosition=null:this.kidRefToPosition=new Map}return this.kidRefToPosition?this.kidRefToPosition.get(e2)??NaN:-1}#e(e2,t2,n2){if(!(e2 instanceof L)||t2<0)return;this.structParentIds||=new RefSetCache;let r2=this.structParentIds.get(e2);r2||(r2=[],this.structParentIds.put(e2,r2)),r2.push([t2,n2])}addAnnotationIdToPage(e2,t2){this.#e(e2,t2,Nr.ANNOTATION)}static async canCreateStructureTree({catalogRef:e2,pdfManager:t2,newAnnotationsByPage:n2}){if(!(e2 instanceof L))return warn$1("Cannot save the struct tree: no catalog reference."),!1;let r2=0,i2=!0;for(let[e3,a2]of n2){let{ref:n3}=await t2.getPage(e3);if(!(n3 instanceof L)){warn$1(`Cannot save the struct tree: page ${e3} has no ref.`),i2=!0;break}for(let e4 of a2)e4.accessibilityData?.type&&(e4.parentTreeId=r2++,i2=!1)}if(i2){for(let e3 of n2.values())for(let t3 of e3)delete t3.parentTreeId;return!1}return!0}static async createStructureTree({newAnnotationsByPage:e2,xref:t2,catalogRef:n2,pdfManager:r2,changes:i2}){let a2=await r2.ensureCatalog("cloneDict"),o2=new RefSetCache;o2.put(n2,a2);let s2=t2.getNewTemporaryRef();a2.set("StructTreeRoot",s2);let c2=new F(t2);c2.set("Type",N.get("StructTreeRoot"));let l2=t2.getNewTemporaryRef();c2.set("ParentTree",l2);let u2=[];c2.set("K",u2),o2.put(s2,c2);let d2=new F(t2),f2=[];d2.set("Nums",f2);let p2=await this.#t({newAnnotationsByPage:e2,structTreeRootRef:s2,structTreeRoot:null,kids:u2,nums:f2,xref:t2,pdfManager:r2,changes:i2,cache:o2});c2.set("ParentTreeNextKey",p2),o2.put(l2,d2);for(let[e3,t3]of o2.items())i2.put(e3,{data:t3})}async canUpdateStructTree({pdfManager:e2,newAnnotationsByPage:t2}){if(!this.ref)return warn$1("Cannot update the struct tree: no root reference."),!1;let n2=this.dict.get("ParentTreeNextKey");if(!Number.isInteger(n2)||n2<0)return warn$1("Cannot update the struct tree: invalid next key."),!1;let r2=this.dict.get("ParentTree");if(!(r2 instanceof F))return warn$1("Cannot update the struct tree: ParentTree isn't a dict."),!1;let i2=r2.get("Nums");if(!Array.isArray(i2))return warn$1("Cannot update the struct tree: nums isn't an array."),!1;let a2=new NumberTree(r2,this.xref);for(let n3 of t2.keys()){let{pageDict:t3}=await e2.getPage(n3);if(!t3.has("StructParents"))continue;let r3=t3.get("StructParents");if(!Number.isInteger(r3)||!Array.isArray(a2.get(r3)))return warn$1(`Cannot save the struct tree: page ${n3} has a wrong id.`),!1}let o2=!0;for(let[r3,i3]of t2){let{pageDict:t3}=await e2.getPage(r3);StructTreeRoot.#r({elements:i3,xref:this.xref,pageDict:t3,numberTree:a2});for(let e3 of i3)e3.accessibilityData?.type&&(e3.accessibilityData.structParent>=0||(e3.parentTreeId=n2++),o2=!1)}if(o2){for(let e3 of t2.values())for(let t3 of e3)delete t3.parentTreeId,delete t3.structTreeParent;return!1}return!0}async updateStructureTree({newAnnotationsByPage:e2,pdfManager:t2,changes:n2}){let{ref:r2,xref:i2}=this,a2=this.dict.clone(),o2=new RefSetCache;o2.put(r2,a2);let s2=a2.getRaw("ParentTree"),c2;s2 instanceof L?c2=i2.fetch(s2):(c2=s2,s2=i2.getNewTemporaryRef(),a2.set("ParentTree",s2)),c2=c2.clone(),o2.put(s2,c2);let l2=c2.getRaw("Nums"),u2=null;l2 instanceof L&&(u2=l2,l2=i2.fetch(u2)),l2=l2.slice(),u2||c2.set("Nums",l2);let d2=await StructTreeRoot.#t({newAnnotationsByPage:e2,structTreeRootRef:r2,structTreeRoot:this,kids:null,nums:l2,xref:i2,pdfManager:t2,changes:n2,cache:o2});if(d2!==-1){a2.set("ParentTreeNextKey",d2),u2&&o2.put(u2,l2);for(let[e3,t3]of o2.items())n2.put(e3,{data:t3})}}static async#t({newAnnotationsByPage:e2,structTreeRootRef:t2,structTreeRoot:n2,kids:r2,nums:i2,xref:a2,pdfManager:o2,changes:s2,cache:c2}){let l2=N.get("OBJR"),u2=-1,d2;for(let[f2,p2]of e2){let e3=await o2.getPage(f2),{ref:m2}=e3,h2=m2 instanceof L;for(let{accessibilityData:o3,ref:g2,parentTreeId:_2,structTreeParent:v2}of p2){if(!o3?.type)continue;let{structParent:p3}=o3;if(n2&&Number.isInteger(p3)&&p3>=0){let t3=(d2||=new Map).get(f2);t3===void 0&&(t3=new StructTreePage(n2,e3.pageDict).collectObjects(m2),d2.set(f2,t3));let r3=t3?.get(p3);if(r3){let e4=a2.fetch(r3).clone();StructTreeRoot.#n(e4,o3),s2.put(r3,{data:e4});continue}}u2=Math.max(u2,_2);let y2=a2.getNewTemporaryRef(),b2=new F(a2);StructTreeRoot.#n(b2,o3),await this.#i({structTreeParent:v2,tagDict:b2,newTagRef:y2,structTreeRootRef:t2,fallbackKids:r2,xref:a2,cache:c2});let x2=new F(a2);b2.set("K",x2),x2.set("Type",l2),h2&&x2.set("Pg",m2),x2.set("Obj",g2),c2.put(y2,b2),i2.push(_2,y2)}}return u2+1}static#n(e2,{type:t2,title:n2,lang:r2,alt:i2,expanded:a2,actualText:o2}){e2.set("S",N.get(t2)),n2&&e2.set("T",stringToAsciiOrUTF16BE(n2)),r2&&e2.set("Lang",stringToAsciiOrUTF16BE(r2)),i2&&e2.set("Alt",stringToAsciiOrUTF16BE(i2)),a2&&e2.set("E",stringToAsciiOrUTF16BE(a2)),o2&&e2.set("ActualText",stringToAsciiOrUTF16BE(o2))}static#r({elements:e2,xref:t2,pageDict:n2,numberTree:r2}){let i2=new Map;for(let t3 of e2)if(t3.structTreeParentId){let e3=parseInt(t3.structTreeParentId.split("_mc")[1],10);i2.getOrInsertComputed(e3,makeArr$1).push(t3)}let a2=n2.get("StructParents");if(!Number.isInteger(a2))return;let o2=r2.get(a2),updateElement=(e3,n3,r3)=>{let a3=i2.get(e3);if(a3){let e4=n3.getRaw("P"),i3=t2.fetchIfRef(e4);if(e4 instanceof L&&i3 instanceof F){let e5={ref:r3,dict:n3};for(let t3 of a3)t3.structTreeParent=e5}return!0}return!1};for(let e3 of o2){if(!(e3 instanceof L))continue;let n3=t2.fetch(e3),r3=n3.get("K");if(Number.isInteger(r3)){updateElement(r3,n3,e3);continue}if(Array.isArray(r3))for(let i3 of r3){if(i3=t2.fetchIfRef(i3),Number.isInteger(i3)&&updateElement(i3,n3,e3))break;if(!(i3 instanceof F))continue;if(!isName(i3.get("Type"),"MCR"))break;let r4=i3.get("MCID");if(Number.isInteger(r4)&&updateElement(r4,n3,e3))break}}}static async#i({structTreeParent:e2,tagDict:t2,newTagRef:n2,structTreeRootRef:r2,fallbackKids:i2,xref:a2,cache:o2}){let s2=null,c2;e2?({ref:s2}=e2,c2=e2.dict.getRaw("P")||r2):c2=r2,t2.set("P",c2);let l2=a2.fetchIfRef(c2);if(!l2){i2.push(n2);return}let u2=o2.get(c2);u2||(u2=l2.clone(),o2.put(c2,u2));let d2=u2.getRaw("K"),f2=d2 instanceof L?o2.get(d2):null;if(!f2){f2=a2.fetchIfRef(d2),f2=Array.isArray(f2)?f2.slice():[d2];let e3=a2.getNewTemporaryRef();u2.set("K",e3),o2.put(e3,f2)}let p2=f2.indexOf(s2);f2.splice(p2>=0?p2+1:f2.length,0,n2)}},StructElementNode=class{constructor(e2,t2){this.tree=e2,this.xref=e2.xref,this.dict=t2,this.kids=[],this.parseKids()}get role(){let e2=this.dict.get("S"),t2=e2 instanceof N?e2.name:"",{root:n2}=this.tree;return n2.roleMap.get(t2)??t2}get mathML(){let e2=this.dict.get("AF")||[];Array.isArray(e2)||(e2=[e2]);for(let t3 of e2){if(t3=this.xref.fetchIfRef(t3),!isDict(t3,"Filespec")||!isName(t3.get("AFRelationship"),"Supplement"))continue;let e3=Ar.pickPlatformItem(t3.get("EF"));if(!(!(e3 instanceof BaseStream)||!isDict(e3.dict,"EmbeddedFile")||!isName(e3.dict.get("Subtype"),"application/mathml+xml")))return stringToUTF8String$1(e3.getString())}let t2=this.dict.get("A");if(t2 instanceof F&&isName(t2.get("O"),"MSFT_Office")){let e3=t2.get("MSFT_MathML");return e3?stringToPDFString(e3):null}return null}parseKids(){let e2=null,t2=this.dict.getRaw("Pg");t2 instanceof L&&(e2=t2.toString());let n2=this.dict.get("K");if(Array.isArray(n2))for(let t3 of n2){let n3=this.parseKid(e2,this.xref.fetchIfRef(t3));n3&&this.kids.push(n3)}else{let t3=this.parseKid(e2,n2);t3&&this.kids.push(t3)}}parseKid(e2,t2){if(Number.isInteger(t2))return this.tree.pageDict.objId===e2?new StructElement({type:Nr.PAGE_CONTENT,mcid:t2,pageObjId:e2}):null;if(!(t2 instanceof F))return null;let n2=t2.getRaw("Pg");n2 instanceof L&&(e2=n2.toString());let r2=t2.get("Type")instanceof N?t2.get("Type").name:null;if(r2==="MCR"){if(this.tree.pageDict.objId!==e2)return null;let n3=t2.getRaw("Stm");return new StructElement({type:Nr.STREAM_CONTENT,refObjId:n3 instanceof L?n3.toString():null,pageObjId:e2,mcid:t2.get("MCID")})}if(r2==="OBJR"){if(this.tree.pageDict.objId!==e2)return null;let n3=t2.getRaw("Obj");return new StructElement({type:Nr.OBJECT,refObjId:n3 instanceof L?n3.toString():null,pageObjId:e2})}return new StructElement({type:Nr.ELEMENT,dict:t2})}},StructElement=class{constructor({type:e2,dict:t2=null,mcid:n2=null,pageObjId:r2=null,refObjId:i2=null}){this.type=e2,this.dict=t2,this.mcid=n2,this.pageObjId=r2,this.refObjId=i2,this.parentNode=null}},StructTreePage=class{constructor(e2,t2){this.root=e2,this.xref=e2?.xref??null,this.rootDict=e2?.dict??null,this.pageDict=t2,this.nodes=[]}collectObjects(e2){if(!this.root||!this.rootDict||!(e2 instanceof L))return null;let t2=this.rootDict.get("ParentTree");if(!t2)return null;let n2=this.root.structParentIds?.get(e2);if(!n2)return null;let r2=new Map,i2=new NumberTree(t2,this.xref);for(let[e3]of n2){let t3=i2.getRaw(e3);t3 instanceof L&&r2.set(e3,t3)}return r2}parse(e2){if(!this.root||!this.rootDict||!(e2 instanceof L))return;let{parentTree:t2}=this.root;if(!t2)return;let n2=this.pageDict.get("StructParents"),r2=this.root.structParentIds?.get(e2);if(!Number.isInteger(n2)&&!r2)return;let i2=new Map;if(Number.isInteger(n2)){let e3=t2.get(n2);if(Array.isArray(e3))for(let t3 of e3)t3 instanceof L&&this.addNode(this.xref.fetch(t3),i2)}if(r2)for(let[e3,n3]of r2){let r3=t2.get(e3);if(r3){let e4=this.addNode(this.xref.fetchIfRef(r3),i2);e4?.kids?.length===1&&e4.kids[0].type===Nr.OBJECT&&(e4.kids[0].type=n3)}}}addNode(e2,t2,n2=0){if(n2>40)return warn$1("StructTree MAX_DEPTH reached."),null;if(!(e2 instanceof F))return null;if(t2.has(e2))return t2.get(e2);let r2=new StructElementNode(this,e2);switch(t2.set(e2,r2),r2.role){case"L":case"LBody":case"LI":case"Table":case"THead":case"TBody":case"TFoot":case"TR":for(let e3 of r2.kids)e3.type===Nr.ELEMENT&&this.addNode(e3.dict,t2,n2-1)}let i2=e2.get("P");if(!(i2 instanceof F)||isName(i2.get("Type"),"StructTreeRoot"))return this.addTopLevelNode(e2,r2)||t2.delete(e2),r2;let a2=this.addNode(i2,t2,n2+1);if(!a2)return r2;let o2=!1;for(let t3 of a2.kids)t3.type===Nr.ELEMENT&&t3.dict===e2&&(t3.parentNode=r2,o2=!0);return o2||t2.delete(e2),r2}addTopLevelNode(e2,t2){let n2=this.root.getKidPosition(e2.objId);return isNaN(n2)?!1:(n2!==-1&&(this.nodes[n2]=t2),!0)}get serializable(){function nodeToSerializable(e3,t2,n2=0){if(n2>40){warn$1("StructTree too deep to be fully serialized.");return}let r2=Object.create(null);r2.role=e3.role,r2.children=[],t2.children.push(r2);let i2=e3.dict.get("Alt");if(typeof i2!="string"&&(i2=e3.dict.get("ActualText")),typeof i2=="string"&&(r2.alt=stringToPDFString(i2)),r2.role==="Formula")try{let{mathML:t3}=e3;t3&&(r2.mathML=t3)}catch(e4){if(e4 instanceof MissingDataException)throw e4;warn$1(`Ignoring mathML: "${e4}".`)}let a2=e3.dict.get("A");if(a2 instanceof F){let e4=lookupNormalRect(a2.getArray("BBox"),null);if(e4)r2.bbox=e4;else{let e5=a2.get("Width"),t3=a2.get("Height");typeof e5=="number"&&e5>0&&typeof t3=="number"&&t3>0&&(r2.bbox=[0,0,e5,t3])}}let o2=e3.dict.get("Lang");typeof o2=="string"&&(r2.lang=stringToPDFString(o2));for(let t3 of e3.kids){let e4=t3.type===Nr.ELEMENT?t3.parentNode:null;if(e4){nodeToSerializable(e4,r2,n2+1);continue}else t3.type===Nr.PAGE_CONTENT||t3.type===Nr.STREAM_CONTENT?r2.children.push({type:"content",id:`p${t3.pageObjId}_mc${t3.mcid}`}):t3.type===Nr.OBJECT?r2.children.push({type:"object",id:t3.refObjId}):t3.type===Nr.ANNOTATION&&r2.children.push({type:"annotation",id:`pdfjs_internal_id_${t3.refObjId}`})}}let e2=Object.create(null);e2.children=[],e2.role="Root";for(let t2 of this.nodes)t2&&nodeToSerializable(t2,e2);return e2}},isRef=e2=>e2 instanceof L,Fr=_isValidExplicitDest$1.bind(null,isRef,isName);function fetchDest(e2){return e2 instanceof F&&(e2=e2.get("D")),Fr(e2)?e2:null}function fetchRemoteDest(e2){let t2=e2.get("D");if(t2){if(t2 instanceof N&&(t2=t2.name),typeof t2=="string")return stringToPDFString(t2,!0);if(Fr(t2))return JSON.stringify(t2)}return null}var Ir=class Catalog{#e=null;#t=new RefSetCache;#n=new Map;#r=null;builtInCMapCache=new Map;fontCache=new RefSetCache;globalColorSpaceCache=new GlobalColorSpaceCache;globalImageCache=new rr;nonBlendModesSet=new RefSet;pageDictCache=new RefSetCache;pageIndexCache=new RefSetCache;pageKidsCountCache=new RefSetCache;standardFontDataCache=new Map;systemFontCache=new Map;constructor(e2,t2){if(this.pdfManager=e2,this.xref=t2,this.#r=t2.getCatalogObj(),!(this.#r instanceof F))throw new FormatError$1("Catalog object is not a dictionary.");this.toplevelPagesDict}cloneDict(){return this.#r.clone()}getAttachmentIdForAnnotation(e2){let t2=this.#t.get(e2);if(t2)return t2;let n2=`attachmentRef:${e2.toString()}`;t2=n2;let r2=1;for(;this.#n.has(t2)||this.attachments?.has(t2);)t2=`${n2}-${r2++}`;return this.#t.put(e2,t2),this.#n.set(t2,e2),t2}get version(){let e2=this.#r.get("Version");if(e2 instanceof N){if(ce.test(e2.name))return shadow$1(this,"version",e2.name);warn$1(`Invalid PDF catalog version: ${e2.name}`)}return shadow$1(this,"version",null)}get lang(){let e2=this.#r.get("Lang");return shadow$1(this,"lang",e2&&typeof e2=="string"?stringToPDFString(e2):null)}get needsRendering(){let e2=this.#r.get("NeedsRendering");return shadow$1(this,"needsRendering",typeof e2=="boolean"&&e2)}get collection(){let e2=null;try{let t2=this.#r.get("Collection");t2 instanceof F&&t2.size>0&&(e2=t2)}catch(e3){if(e3 instanceof MissingDataException)throw e3;info$1("Cannot fetch Collection entry; assuming no collection is present.")}return shadow$1(this,"collection",e2)}get acroForm(){let e2=null;try{let t2=this.#r.get("AcroForm");t2 instanceof F&&t2.size>0&&(e2=t2)}catch(e3){if(e3 instanceof MissingDataException)throw e3;info$1("Cannot fetch AcroForm entry; assuming no forms are present.")}return shadow$1(this,"acroForm",e2)}get acroFormRef(){let e2=this.#r.getRaw("AcroForm");return shadow$1(this,"acroFormRef",e2 instanceof L?e2:null)}get metadata(){let e2=this.#r.getRaw("Metadata");if(!(e2 instanceof L))return shadow$1(this,"metadata",null);let t2=null;try{let n2=this.xref.fetch(e2,!this.xref.encrypt?.encryptMetadata);if(n2 instanceof BaseStream&&isDict(n2.dict,"Metadata")&&isName(n2.dict.get("Subtype"),"XML")){let e3=stringToUTF8String$1(n2.getString());e3&&(t2=new MetadataParser(e3).serializable)}}catch(e3){if(e3 instanceof MissingDataException)throw e3;info$1(`Skipping invalid Metadata: "${e3}".`)}return shadow$1(this,"metadata",t2)}get markInfo(){let e2=null;try{e2=this.#i()}catch(e3){if(e3 instanceof MissingDataException)throw e3;warn$1("Unable to read mark info.")}return shadow$1(this,"markInfo",e2)}#i(){let e2=this.#r.get("MarkInfo");if(!(e2 instanceof F))return null;let t2={Marked:!1,UserProperties:!1,Suspects:!1};for(let n2 in t2){let r2=e2.get(n2);typeof r2=="boolean"&&(t2[n2]=r2)}return t2}get hasStructTree(){return this.#r.has("StructTreeRoot")}get structTreeRoot(){let e2=null;try{e2=this.#a()}catch(e3){if(e3 instanceof MissingDataException)throw e3;warn$1("Unable read to structTreeRoot info.")}return shadow$1(this,"structTreeRoot",e2)}#a(){let e2=this.#r.getRaw("StructTreeRoot"),t2=this.xref.fetchIfRef(e2);return t2 instanceof F?new Pr(this.xref,t2,e2):null}get toplevelPagesDict(){let e2=this.#r.get("Pages");if(!(e2 instanceof F))throw new FormatError$1("Invalid top-level pages dictionary.");return shadow$1(this,"toplevelPagesDict",e2)}get documentOutline(){let e2=null;try{e2=this.#o()}catch(e3){if(e3 instanceof MissingDataException)throw e3;warn$1("Unable to read document outline.")}return shadow$1(this,"documentOutline",e2)}#o(e2={}){let t2=this.#r.get("Outlines");if(!(t2 instanceof F)||(t2=t2.getRaw("First"),!(t2 instanceof L)))return null;let n2={items:[]},r2=[{obj:t2,parent:n2}],i2=new RefSet;i2.put(t2);let a2=this.xref,o2=new Uint8ClampedArray(3);for(;r2.length>0;){let n3=r2.shift(),s2=a2.fetchIfRef(n3.obj);if(s2===null)continue;s2.has("Title")||warn$1("Invalid outline item encountered.");let c2={url:null,dest:null,action:null};Catalog.parseDestDictionary({destDict:s2,resultObj:c2,docBaseUrl:this.baseUrl,docAttachments:this.attachments});let l2=s2.get("Title"),u2=s2.get("F")||0,d2=s2.getArray("C"),f2=s2.get("Count"),p2=o2;isNumberArray(d2,3)&&(d2[0]!==0||d2[1]!==0||d2[2]!==0)&&(p2=ColorSpaceUtils.rgb.getRgb(d2,0));let m2={action:c2.action,attachmentId:c2.attachmentId,attachment:c2.attachment,dest:c2.dest,url:c2.url,unsafeUrl:c2.unsafeUrl,newWindow:c2.newWindow,setOCGState:c2.setOCGState,title:typeof l2=="string"?stringToPDFString(l2):"",color:p2,count:Number.isInteger(f2)?f2:void 0,bold:!!(u2&2),italic:!!(u2&1),items:[]};e2.keepRawDict&&(m2.rawDict=s2),n3.parent.items.push(m2),t2=s2.getRaw("First"),t2 instanceof L&&!i2.has(t2)&&(r2.push({obj:t2,parent:m2}),i2.put(t2)),t2=s2.getRaw("Next"),t2 instanceof L&&!i2.has(t2)&&(r2.push({obj:t2,parent:n3.parent}),i2.put(t2))}return n2.items.length>0?n2.items:null}get documentOutlineForEditor(){let e2=null;try{e2=this.#o({keepRawDict:!0})}catch(e3){if(e3 instanceof MissingDataException)throw e3;warn$1("Unable to read document outline.")}return shadow$1(this,"documentOutlineForEditor",e2)}get permissions(){let e2=null;try{e2=this.#s()}catch(e3){if(e3 instanceof MissingDataException)throw e3;warn$1("Unable to read permissions.")}return shadow$1(this,"permissions",e2)}#s(){let e2=this.xref.trailer.get("Encrypt");if(!(e2 instanceof F))return null;let t2=e2.get("P");if(typeof t2!="number")return null;t2+=2**32;let n2=[];for(let e3 in d){let r2=d[e3];t2&r2&&n2.push(r2)}return n2}get optionalContentConfig(){let e2=null;try{let t2=this.#r.get("OCProperties");if(!t2)return shadow$1(this,"optionalContentConfig",null);let n2=t2.get("D");if(!n2)return shadow$1(this,"optionalContentConfig",null);let r2=t2.get("OCGs");if(!Array.isArray(r2))return shadow$1(this,"optionalContentConfig",null);let i2=new RefSetCache;for(let e3 of r2)!(e3 instanceof L)||i2.has(e3)||i2.put(e3,this.#c(e3));e2=this.#l(n2,i2)}catch(e3){if(e3 instanceof MissingDataException)throw e3;warn$1(`Unable to read optional content config: ${e3}`)}return shadow$1(this,"optionalContentConfig",e2)}#c(e2){let t2=this.xref.fetch(e2),n2={id:e2.toString(),name:null,intent:null,usage:{print:null,view:null},rbGroups:[]},r2=t2.get("Name");typeof r2=="string"&&(n2.name=stringToPDFString(r2));let i2=t2.getArray("Intent");Array.isArray(i2)||(i2=[i2]),i2.every(e3=>e3 instanceof N)&&(n2.intent=i2.map(e3=>e3.name));let a2=t2.get("Usage");if(!(a2 instanceof F))return n2;let o2=n2.usage,s2=a2.get("Print");if(s2 instanceof F){let e3=s2.get("PrintState");if(e3 instanceof N)switch(e3.name){case"ON":case"OFF":o2.print={printState:e3.name}}}let c2=a2.get("View");if(c2 instanceof F){let e3=c2.get("ViewState");if(e3 instanceof N)switch(e3.name){case"ON":case"OFF":o2.view={viewState:e3.name}}}return n2}#l(e2,t2){function parseOnOff(e3){let n3=[];if(Array.isArray(e3))for(let r3 of e3)r3 instanceof L&&t2.has(r3)&&n3.push(r3.toString());return n3}function parseOrder(e3,n3=0){if(!Array.isArray(e3))return null;let i3=[];for(let a3 of e3){if(a3 instanceof L&&t2.has(a3)){r2.put(a3),i3.push(a3.toString());continue}let e4=parseNestedOrder(a3,n3);e4&&i3.push(e4)}if(n3>0)return i3;let a2=[];for(let[e4]of t2.items())r2.has(e4)||a2.push(e4.toString());return a2.length&&i3.push({name:null,order:a2}),i3}function parseNestedOrder(e3,t3){if(++t3>i2)return warn$1("parseNestedOrder - reached MAX_NESTED_LEVELS."),null;let r3=n2.fetchIfRef(e3);if(!Array.isArray(r3))return null;let a2=n2.fetchIfRef(r3[0]);if(typeof a2!="string")return null;let o2=parseOrder(r3.slice(1),t3);return o2?.length?{name:stringToPDFString(a2),order:o2}:null}function parseRBGroups(e3){if(Array.isArray(e3))for(let r3 of e3){let e4=n2.fetchIfRef(r3);if(!Array.isArray(e4)||!e4.length)continue;let i3=new Set;for(let n3 of e4)n3 instanceof L&&t2.has(n3)&&!i3.has(n3.toString())&&(i3.add(n3.toString()),t2.get(n3).rbGroups.push(i3))}}let n2=this.xref,r2=new RefSet,i2=10;return parseRBGroups(e2.get("RBGroups")),{name:typeof e2.get("Name")=="string"?stringToPDFString(e2.get("Name")):null,creator:typeof e2.get("Creator")=="string"?stringToPDFString(e2.get("Creator")):null,baseState:e2.get("BaseState")instanceof N?e2.get("BaseState").name:null,on:parseOnOff(e2.get("ON")),off:parseOnOff(e2.get("OFF")),order:parseOrder(e2.get("Order")),groups:[...t2]}}setActualNumPages(e2=null){this.#e=e2}get hasActualNumPages(){return this.#e!==null}get _pagesCount(){let e2=this.toplevelPagesDict.get("Count");if(!Number.isInteger(e2))throw new FormatError$1("Page count in top-level pages dictionary is not an integer.");return shadow$1(this,"_pagesCount",e2)}get numPages(){return this.#e??this._pagesCount}get destinations(){let e2=this.#u(),t2=Object.create(null);for(let n2 of e2)if(n2 instanceof NameTree)for(let[e3,r2]of n2.getAll()){let n3=fetchDest(r2);n3&&(t2[stringToPDFString(e3,!0)]=n3)}else if(n2 instanceof F)for(let[e3,r2]of n2){let n3=fetchDest(r2);n3&&(t2[stringToPDFString(e3,!0)]||=n3)}return shadow$1(this,"destinations",t2)}getDestination(e2){if(Object.hasOwn(this,"destinations"))return this.destinations[e2]??null;let t2=this.#u();for(let n2 of t2)if(n2 instanceof NameTree||n2 instanceof F){let t3=fetchDest(n2.get(e2));if(t3)return t3}if(t2.length){let t3=this.destinations[e2];if(t3)return t3}return null}#u(){let e2=this.#r.get("Names"),t2=[];return e2?.has("Dests")&&t2.push(new NameTree(e2.getRaw("Dests"),this.xref)),this.#r.has("Dests")&&t2.push(this.#r.get("Dests")),t2}get rawPageLabels(){let e2=this.#r.getRaw("PageLabels");return e2?new NumberTree(e2,this.xref).getAll():null}get pageLabels(){let e2=null;try{e2=this.#d()}catch(e3){if(e3 instanceof MissingDataException)throw e3;warn$1("Unable to read page labels.")}return shadow$1(this,"pageLabels",e2)}#d(){let e2=this.rawPageLabels;if(!e2)return null;let t2=Array(this.numPages),n2=null,r2="",i2="",a2=1;for(let o2=0,s2=this.numPages;o2<s2;o2++){let s3=e2.get(o2);if(s3!==void 0){if(!(s3 instanceof F))throw new FormatError$1("PageLabel is not a dictionary.");if(s3.has("Type")&&!isName(s3.get("Type"),"PageLabel"))throw new FormatError$1("Invalid type in PageLabel dictionary.");if(s3.has("S")){let e3=s3.get("S");if(!(e3 instanceof N))throw new FormatError$1("Invalid style in PageLabel dictionary.");n2=e3.name}else n2=null;if(s3.has("P")){let e3=s3.get("P");if(typeof e3!="string")throw new FormatError$1("Invalid prefix in PageLabel dictionary.");r2=stringToPDFString(e3)}else r2="";if(s3.has("St")){let e3=s3.get("St");if(!(Number.isInteger(e3)&&e3>=1))throw new FormatError$1("Invalid start in PageLabel dictionary.");a2=e3}else a2=1}switch(n2){case"D":i2=a2;break;case"R":case"r":i2=toRomanNumerals(a2,n2==="r");break;case"A":case"a":let e3=n2==="a"?97:65,t3=a2-1;i2=String.fromCharCode(e3+t3%26).repeat(Math.floor(t3/26)+1);break;default:if(n2)throw new FormatError$1(`Invalid style "${n2}" in PageLabel dictionary.`);i2=""}t2[o2]=r2+i2,a2++}return t2}get pageLayout(){let e2=this.#r.get("PageLayout"),t2="";if(e2 instanceof N)switch(e2.name){case"SinglePage":case"OneColumn":case"TwoColumnLeft":case"TwoColumnRight":case"TwoPageLeft":case"TwoPageRight":t2=e2.name}return shadow$1(this,"pageLayout",t2)}get pageMode(){let e2=this.#r.get("PageMode"),t2="UseNone";if(e2 instanceof N)switch(e2.name){case"UseNone":case"UseOutlines":case"UseThumbs":case"FullScreen":case"UseOC":case"UseAttachments":t2=e2.name}return shadow$1(this,"pageMode",t2)}get viewerPreferences(){let e2=this.#r.get("ViewerPreferences");if(!(e2 instanceof F))return shadow$1(this,"viewerPreferences",null);let t2=null;for(let[n2,r2]of e2){let e3;switch(n2){case"HideToolbar":case"HideMenubar":case"HideWindowUI":case"FitWindow":case"CenterWindow":case"DisplayDocTitle":case"PickTrayByPDFSize":typeof r2=="boolean"&&(e3=r2);break;case"NonFullScreenPageMode":if(r2 instanceof N)switch(r2.name){case"UseNone":case"UseOutlines":case"UseThumbs":case"UseOC":e3=r2.name;break;default:e3="UseNone"}break;case"Direction":if(r2 instanceof N)switch(r2.name){case"L2R":case"R2L":e3=r2.name;break;default:e3="L2R"}break;case"ViewArea":case"ViewClip":case"PrintArea":case"PrintClip":if(r2 instanceof N)switch(r2.name){case"MediaBox":case"CropBox":case"BleedBox":case"TrimBox":case"ArtBox":e3=r2.name;break;default:e3="CropBox"}break;case"PrintScaling":if(r2 instanceof N)switch(r2.name){case"None":case"AppDefault":e3=r2.name;break;default:e3="AppDefault"}break;case"Duplex":if(r2 instanceof N)switch(r2.name){case"Simplex":case"DuplexFlipShortEdge":case"DuplexFlipLongEdge":e3=r2.name;break;default:e3="None"}break;case"PrintPageRange":Array.isArray(r2)&&r2.length%2==0&&r2.every((e4,t3,n3)=>Number.isInteger(e4)&&e4>0&&(t3===0||e4>=n3[t3-1])&&e4<=this.numPages)&&(e3=r2);break;case"NumCopies":Number.isInteger(r2)&&r2>0&&(e3=r2);break;default:warn$1(`Ignoring non-standard key in ViewerPreferences: ${n2}.`);continue}if(e3===void 0){warn$1(`Bad value, for key "${n2}", in ViewerPreferences: ${r2}.`);continue}t2??=Object.create(null),t2[n2]=e3}return shadow$1(this,"viewerPreferences",t2)}get openAction(){let e2=this.#r.get("OpenAction"),t2=Object.create(null);if(e2 instanceof F){let n2=new F(this.xref);n2.set("A",e2);let r2={url:null,dest:null,action:null};Catalog.parseDestDictionary({destDict:n2,resultObj:r2}),Array.isArray(r2.dest)?t2.dest=r2.dest:r2.action&&(t2.action=r2.action)}else Fr(e2)&&(t2.dest=e2);return shadow$1(this,"openAction",objectSize(t2)>0?t2:null)}get attachments(){let e2=this.#r.get("Names"),t2=null;if(e2 instanceof F&&e2.has("EmbeddedFiles")){let n2=new NameTree(e2.getRaw("EmbeddedFiles"),this.xref);for(let[e3,r2]of n2.getAll())(t2??=new Map).set(stringToPDFString(e3,!0),new Ar(r2).serializable)}return shadow$1(this,"attachments",t2)}#f(e2){let t2=this.#r.get("Names");if(t2 instanceof F&&t2.has("EmbeddedFiles")){let n2=new NameTree(t2.getRaw("EmbeddedFiles"),this.xref);for(let[t3,r2]of n2.getAll())if(stringToPDFString(t3,!0)===e2)return Ar.readContent(r2)}}attachmentContent(e2){let t2=this.#f(e2);if(t2!==void 0)return t2;let n2=this.#n.get(e2);if(n2){let e3=this.xref.fetch(n2);return e3 instanceof BaseStream?Ar.readStreamContent(e3):e3 instanceof F?Ar.readContent(e3):null}return null}get rawEmbeddedFiles(){let e2=this.#r.get("Names");return!(e2 instanceof F)||!e2.has("EmbeddedFiles")?null:new NameTree(e2.getRaw("EmbeddedFiles"),this.xref).getAll(!0)}get xfaImages(){let e2=this.#r.get("Names"),t2=null;if(e2 instanceof F&&e2.has("XFAImages")){let n2=new NameTree(e2.getRaw("XFAImages"),this.xref);for(let[e3,r2]of n2.getAll())r2 instanceof BaseStream&&(t2??=new Map,t2.set(stringToPDFString(e3,!0),r2.getBytes()))}return shadow$1(this,"xfaImages",t2)}#p(){let e2=this.#r.get("Names"),t2=null;function appendIfJavaScriptDict(e3,n3){if(!(n3 instanceof F)||!isName(n3.get("S"),"JavaScript"))return;let r2=n3.get("JS");if(r2 instanceof BaseStream)r2=r2.getString();else if(typeof r2!="string")return;r2=stringToPDFString(r2,!0).replaceAll("\0",""),r2&&(t2||=new Map).set(e3,r2)}if(e2 instanceof F&&e2.has("JavaScript")){let t3=new NameTree(e2.getRaw("JavaScript"),this.xref);for(let[e3,n3]of t3.getAll())appendIfJavaScriptDict(stringToPDFString(e3,!0),n3)}let n2=this.#r.get("OpenAction");return n2&&appendIfJavaScriptDict("OpenAction",n2),t2}get jsActions(){let e2=this.#p(),t2=collectActions(this.xref,this.#r,S);if(e2){t2||=Object.create(null);for(let[n2,r2]of e2)n2 in t2?t2[n2].push(r2):t2[n2]=[r2]}return shadow$1(this,"jsActions",t2)}async cleanup(e2=!1){clearGlobalCaches(),this.globalColorSpaceCache.clear(),this.globalImageCache.clear(e2),this.pageKidsCountCache.clear(),this.pageIndexCache.clear(),this.pageDictCache.clear(),this.nonBlendModesSet.clear();for(let{dict:e3}of await Promise.all(this.fontCache))delete e3.cacheKey;this.fontCache.clear(),this.builtInCMapCache.clear(),this.standardFontDataCache.clear(),this.systemFontCache.clear()}async getPageDict(e2){let t2=[this.toplevelPagesDict],n2=new RefSet,r2=this.#r.getRaw("Pages");r2 instanceof L&&n2.put(r2);let i2=this.xref,a2=this.pageKidsCountCache,o2=this.pageIndexCache,s2=this.pageDictCache,c2=0;for(;t2.length;){let r3=t2.pop();if(r3 instanceof L){let l3=a2.get(r3);if(l3>=0&&c2+l3<=e2){c2+=l3;continue}if(n2.has(r3))throw new FormatError$1("Pages tree contains circular reference.");n2.put(r3);let u3=await(s2.get(r3)||i2.fetchAsync(r3));if(u3 instanceof F){let t3=u3.getRaw("Type");if(t3 instanceof L&&(t3=await i2.fetchAsync(t3)),isName(t3,"Page")||!u3.has("Kids")){if(a2.has(r3)||a2.put(r3,1),o2.has(r3)||o2.put(r3,c2),c2===e2)return[u3,r3];c2++;continue}}t2.push(u3);continue}if(!(r3 instanceof F))throw new FormatError$1("Page dictionary kid reference points to wrong type of object.");let{objId:l2}=r3,u2=r3.getRaw("Count");if(u2 instanceof L&&(u2=await i2.fetchAsync(u2)),Number.isInteger(u2)&&u2>=0&&(l2&&!a2.has(l2)&&a2.put(l2,u2),c2+u2<=e2)){c2+=u2;continue}let d2=r3.getRaw("Kids");if(d2 instanceof L&&(d2=await i2.fetchAsync(d2)),!Array.isArray(d2)){let t3=r3.getRaw("Type");if(t3 instanceof L&&(t3=await i2.fetchAsync(t3)),isName(t3,"Page")||!r3.has("Kids")){if(c2===e2)return[r3,null];c2++;continue}throw new FormatError$1("Page dictionary kids object is not an array.")}for(let e3=d2.length-1;e3>=0;e3--){let n3=d2[e3];t2.push(n3),r3===this.toplevelPagesDict&&n3 instanceof L&&!s2.has(n3)&&s2.put(n3,i2.fetchAsync(n3))}}throw Error(`Page index ${e2} not found.`)}async getAllPageDicts(e2=!1){let{ignoreErrors:t2}=this.pdfManager.evaluatorOptions,n2=[{currentNode:this.toplevelPagesDict,posInKids:0}],r2=new RefSet,i2=this.#r.getRaw("Pages");i2 instanceof L&&r2.put(i2);let a2=new Map,o2=this.xref,s2=this.pageIndexCache,c2=0;function addPageDict(e3,t3){t3&&!s2.has(t3)&&s2.put(t3,c2),a2.set(c2++,[e3,t3])}function addPageError(n3){if(n3 instanceof XRefEntryException&&!e2)throw n3;e2&&t2&&c2===0&&(warn$1(`getAllPageDicts - Skipping invalid first page: "${n3}".`),n3=F.empty),a2.set(c2++,[n3,null])}for(;n2.length>0;){let e3=n2.at(-1),{currentNode:t3,posInKids:i3}=e3,a3=t3.getRaw("Kids");if(a3 instanceof L)try{a3=await o2.fetchAsync(a3)}catch(e4){addPageError(e4);break}if(!Array.isArray(a3)){let e4=t3.getRaw("Type");if(e4 instanceof L)try{e4=await o2.fetchAsync(e4)}catch(e5){addPageError(e5);break}if(isName(e4,"Page")||!t3.has("Kids")){addPageDict(t3,null);break}addPageError(new FormatError$1("Page dictionary kids object is not an array."));break}if(i3>=a3.length){n2.pop();continue}let s3=a3[i3],c3;if(s3 instanceof L){if(r2.has(s3)){addPageError(new FormatError$1("Pages tree contains circular reference."));break}r2.put(s3);try{c3=await o2.fetchAsync(s3)}catch(e4){addPageError(e4);break}}else c3=s3;if(!(c3 instanceof F)){addPageError(new FormatError$1("Page dictionary kid reference points to wrong type of object."));break}let l2=c3.getRaw("Type");if(l2 instanceof L)try{l2=await o2.fetchAsync(l2)}catch(e4){addPageError(e4);break}isName(l2,"Page")||!c3.has("Kids")?addPageDict(c3,s3 instanceof L?s3:null):n2.push({currentNode:c3,posInKids:0}),e3.posInKids++}return a2}async getPageIndex(e2){let t2=this.pageIndexCache.get(e2);if(t2!==void 0)return t2;let n2=this.xref,r2=0,i2=e2;for(;;){let t3=await n2.fetchAsync(i2);if(isRefsEqual(i2,e2)&&!isDict(t3,"Page")&&!(t3 instanceof F&&!t3.has("Type")&&t3.has("Contents")))throw new FormatError$1("The reference does not point to a /Page dictionary.");if(!t3)break;if(!(t3 instanceof F))throw new FormatError$1("Node must be a dictionary.");let a2=t3.getRaw("Parent"),o2=await t3.getAsync("Parent");if(!o2)break;if(!(o2 instanceof F))throw new FormatError$1("Parent must be a dictionary.");let s2=await o2.getAsync("Kids");if(!s2)break;if(!Array.isArray(s2))throw new FormatError$1("Kids must be an array.");let c2=[],l2=!1;for(let e3 of s2){if(!(e3 instanceof L))throw new FormatError$1("Kid must be a reference.");if(isRefsEqual(e3,i2)){l2=!0;break}c2.push(n2.fetchAsync(e3).then(e4=>{if(!(e4 instanceof F))throw new FormatError$1("Kid node must be a dictionary.");if(e4.has("Count")){let t4=e4.get("Count");if(Number.isInteger(t4)&&t4>=0){r2+=t4;return}throw new FormatError$1("Count must be a (positive) integer.")}r2++}))}if(!l2)throw new FormatError$1("Kid reference not found in parent's kids.");await Promise.all(c2),i2=a2}return this.pageIndexCache.put(e2,r2),r2}get baseUrl(){let e2=this.#r.get("URI");if(e2 instanceof F){let t2=e2.get("Base");if(typeof t2=="string"){let e3=createValidAbsoluteUrl$1(t2,null,{tryConvertEncoding:!0});if(e3)return shadow$1(this,"baseUrl",e3.href)}}return shadow$1(this,"baseUrl",this.pdfManager.docBaseUrl)}static#m(e2,t2){let n2=e2.fetchIfRef(t2);if(!(n2 instanceof F))return null;let r2=null,i2=n2.getRaw("Pg");if(i2 instanceof L&&(r2=i2),!r2){let t3=[n2];for(;t3.length>0&&!r2;){let n3=t3.shift().get("K"),i3;if(Array.isArray(n3))i3=n3;else if(n3)i3=[n3];else continue;for(let n4 of i3){let i4=e2.fetchIfRef(n4);if(!(i4 instanceof F))continue;let a3=i4.getRaw("Pg");if(a3 instanceof L){r2=a3;break}t3.push(i4)}}}if(!r2){let t3=n2;for(let n3=0;n3<40;n3++){let n4=t3.getRaw("P");if(!(n4 instanceof L))break;let i3=e2.fetch(n4);if(!(i3 instanceof F)||isName(i3.get("Type"),"StructTreeRoot"))break;let a3=i3.getRaw("Pg");if(a3 instanceof L){r2=a3;break}t3=i3}}if(!r2)return null;let a2=null,o2=null,s2=n2.get("A");if(s2 instanceof F){let e3=lookupRect(s2.getArray("BBox"),null);e3&&(a2=e3[0],o2=e3[3])}return[r2,{name:"XYZ"},a2,o2,null]}static parseDestDictionary({destDict:e2,resultObj:t2,docBaseUrl:n2=null,docAttachments:r2=null}){if(!(e2 instanceof F)){warn$1("parseDestDictionary: `destDict` must be a dictionary.");return}let i2=e2.get("A"),a2,o2;if(i2 instanceof F||(e2.has("Dest")?i2=e2.get("Dest"):(i2=e2.get("AA"),i2 instanceof F&&(i2.has("D")?i2=i2.get("D"):i2.has("U")&&(i2=i2.get("U"))))),i2 instanceof F){let e3=i2.get("S");if(!(e3 instanceof N)){warn$1("parseDestDictionary: Invalid type in Action dictionary.");return}let n3=e3.name;switch(n3){case"ResetForm":let e4=i2.get("Flags"),s2=((typeof e4=="number"?e4:0)&1)==0,c2=[],l2=[];for(let e5 of i2.get("Fields")||[])e5 instanceof L?l2.push(e5.toString()):typeof e5=="string"&&c2.push(stringToPDFString(e5));t2.resetForm={fields:c2,refs:l2,include:s2};break;case"URI":a2=i2.get("URI"),a2 instanceof N&&(a2="/"+a2.name);break;case"GoTo":o2=i2.get("D");break;case"Launch":case"GoToR":let u2=i2.get("F");if(u2 instanceof F)a2=new Ar(u2).filename;else if(typeof u2=="string")a2=u2;else break;let d2=fetchRemoteDest(i2);d2&&(a2=a2.split("#",1)[0]+"#"+d2);let f2=i2.get("NewWindow");typeof f2=="boolean"&&(t2.newWindow=f2);break;case"GoToE":let p2=i2.get("T"),m2=null;if(p2 instanceof F){let e5=p2.get("R"),t3=p2.get("N");isName(e5,"C")&&typeof t3=="string"&&(m2=stringToPDFString(t3,!0))}if(r2&&m2){t2.attachmentId=m2,t2.attachment=r2.get(m2);let e5=fetchRemoteDest(i2);e5&&(t2.attachmentDest=e5)}else warn$1('parseDestDictionary - unimplemented "GoToE" action.');break;case"Named":let h2=i2.get("N");h2 instanceof N&&(t2.action=h2.name);break;case"SetOCGState":let g2=i2.get("State"),_2=i2.get("PreserveRB");if(!Array.isArray(g2)||g2.length===0)break;let v2=[];for(let e5 of g2)if(e5 instanceof N)switch(e5.name){case"ON":case"OFF":case"Toggle":v2.push(e5.name);break}else e5 instanceof L&&v2.push(e5.toString());if(v2.length!==g2.length)break;t2.setOCGState={state:v2,preserveRB:typeof _2!="boolean"||_2};break;case"JavaScript":let y2=i2.get("JS"),b2;y2 instanceof BaseStream?b2=y2.getString():typeof y2=="string"&&(b2=y2);let x2=b2&&recoverJsURL(stringToPDFString(b2,!0));if(x2){a2=x2.url,t2.newWindow=x2.newWindow;break}default:if(n3==="JavaScript"||n3==="SubmitForm")break;warn$1(`parseDestDictionary - unsupported action: "${n3}".`);break}}else e2.has("Dest")&&(o2=e2.get("Dest"));if(typeof a2=="string"){let e3=createValidAbsoluteUrl$1(a2,n2,{addDefaultProtocol:!0,tryConvertEncoding:!0});e3&&(t2.url=e3.href),t2.unsafeUrl=a2}if(o2&&(o2 instanceof N&&(o2=o2.name),typeof o2=="string"?t2.dest=stringToPDFString(o2,!0):Fr(o2)&&(t2.dest=o2)),!t2.dest&&!t2.url&&!t2.action&&!t2.attachment&&!t2.setOCGState&&!t2.resetForm){let n3=e2.getRaw("SE");if(n3 instanceof L)try{let r3=Catalog.#m(e2.xref,n3);r3&&(t2.dest=r3)}catch(e3){if(e3 instanceof MissingDataException)throw e3;info$1("SE parsing failed.")}}}};function createImageDict(e2,t2,n2,r2){let i2=new F(e2);return i2.set("Type",N.get("XObject")),i2.set("Subtype",N.get("Image")),i2.set("BitsPerComponent",8),i2.setIfName("ColorSpace",r2),i2.set("Width",t2),i2.set("Height",n2),i2}function createRawImage(e2,t2){return new Ee(e2,0,e2.length,t2)}function paethPredictor(e2,t2,n2){let r2=e2+t2-n2,i2=Math.abs(r2-e2),a2=Math.abs(r2-t2),o2=Math.abs(r2-n2);return i2<=a2&&i2<=o2?e2:a2<=o2?t2:n2}function applyPNGOptimumFilter(e2,t2,n2,r2){let i2=t2*r2,a2=new Uint8Array(n2*(i2+1)),o2=[new Uint8Array(i2),new Uint8Array(i2),new Uint8Array(i2),new Uint8Array(i2),new Uint8Array(i2)];for(let t3=0;t3<n2;t3++){let n3=t3*i2,s2=n3-i2,c2=[0,0,0,0,0];for(let a3=0;a3<i2;a3++){let i3=n3+a3,l3=e2[i3],u3=a3>=r2?e2[i3-r2]:0,d2=t3>0?e2[s2+a3]:0,f2=t3>0&&a3>=r2?e2[s2+a3-r2]:0;o2[0][a3]=l3,o2[1][a3]=l3-u3&255,o2[2][a3]=l3-d2&255,o2[3][a3]=l3-(u3+d2>>1)&255,o2[4][a3]=l3-paethPredictor(u3,d2,f2)&255;for(let e3=0;e3<5;e3++){let t4=o2[e3][a3];c2[e3]+=t4<128?t4:256-t4}}let l2=0;for(let e3=1;e3<5;e3++)c2[e3]<c2[l2]&&(l2=e3);let u2=t3*(i2+1);a2[u2]=l2,a2.set(o2[l2],u2+1)}return a2}async function deflate(e2){let t2=new CompressionStream("deflate"),n2=t2.writable.getWriter(),r2=(async()=>{try{await n2.ready,await n2.write(e2),await n2.ready,await n2.close()}catch(e3){throw await n2.abort(e3).catch(()=>{}),e3}})(),[i2]=await Promise.all([new Response(t2.readable).bytes(),r2.then(()=>null)]);return i2}async function createPNGLikeImage(e2,t2,n2,r2){let i2=e2.length/(t2*n2),a2;if(typeof CompressionStream=="function")try{a2=await deflate(applyPNGOptimumFilter(e2,t2,n2,i2))}catch{}if(!a2)return createRawImage(e2,r2);r2.setIfName("Filter","FlateDecode");let o2=new F(r2.xref);return o2.set("Predictor",15),o2.set("Columns",t2),o2.set("Colors",i2),o2.set("BitsPerComponent",8),r2.set("DecodeParms",o2),createRawImage(a2,r2)}async function createImage(e2,t2,{closeBitmap:n2=!1}={}){let{width:r2,height:i2}=e2;if(!Number.isInteger(r2)||!Number.isInteger(i2)||r2<=0||i2<=0)throw n2&&e2.close?.(),Error(`createImage: invalid bitmap dimensions ${r2}x${i2}`);let a2=new OffscreenCanvas(r2,i2),o2=a2.getContext("2d",{alpha:!0,willReadFrequently:!0}),s2;try{o2.drawImage(e2,0,0),s2=o2.getImageData(0,0,r2,i2).data}finally{n2&&e2.close?.()}let c2=new Uint32Array(s2.buffer,s2.byteOffset,s2.byteLength>>2),l2=FeatureTest$1.isLittleEndian,u2=l2?16777215:4294967040,d2=new Set,f2=!1,p2=!0;for(let e3=0,t3=c2.length;e3<t3;e3++){let t4=c2[e3];if((l2?t4>>>24:t4&255)!=255){f2=!0;break}p2&&(d2.add((t4&u2)>>>0),d2.size>16384&&(p2=!1,d2.clear()))}f2&&(p2=!0);let m2=createImageDict(t2,r2,i2,"DeviceRGB"),h2,g2=null;if(p2){let e3=new Uint8Array(r2*i2*3);for(let t3=0,n3=0,r3=s2.length;t3<r3;t3+=4,n3+=3)e3[n3]=s2[t3],e3[n3+1]=s2[t3+1],e3[n3+2]=s2[t3+2];h2=createPNGLikeImage(e3,r2,i2,m2),g2=createRawImage(e3,createImageDict(t2,r2,i2,"DeviceRGB"))}else m2.setIfName("Filter","DCTDecode"),h2=a2.convertToBlob({type:"image/jpeg",quality:1}).then(e3=>e3.bytes()).then(e3=>createRawImage(e3,m2));let _2=Promise.resolve(null),v2=null;if(f2){let e3=new Uint8Array(c2.length);if(l2)for(let t3=0,n4=c2.length;t3<n4;t3++)e3[t3]=c2[t3]>>>24;else for(let t3=0,n4=c2.length;t3<n4;t3++)e3[t3]=c2[t3]&255;let n3=createImageDict(t2,r2,i2,"DeviceGray"),a3=createImageDict(t2,r2,i2,"DeviceGray");_2=createPNGLikeImage(e3,r2,i2,n3),v2=createRawImage(e3,a3)}let[y2,b2]=await Promise.all([h2,_2]);return{imageStream:y2,imageRenderStream:g2,smaskStream:b2,smaskRenderStream:v2,width:r2,height:i2}}function mayHaveChildren(e2){return e2 instanceof L||e2 instanceof F||e2 instanceof BaseStream||Array.isArray(e2)}function addChildren(e2,t2){if(e2 instanceof F)e2=e2.getRawValues();else if(e2 instanceof BaseStream)e2=e2.dict.getRawValues();else if(!Array.isArray(e2))return;for(let n2 of e2)mayHaveChildren(n2)&&t2.push(n2)}var Lr=class ObjectLoader{refSet=new RefSet;constructor(e2,t2,n2){this.dict=e2,this.keys=t2,this.xref=n2}async load(){let{keys:e2,dict:t2}=this,n2=[];for(let r2 of e2){let e3=t2.getRaw(r2);e3!==void 0&&n2.push(e3)}await this.#e(n2),this.refSet=null}async#e(e2){let t2=[],n2=[];for(;e2.length;){let r2=e2.pop();if(r2 instanceof L){if(this.refSet.has(r2))continue;try{this.refSet.put(r2),r2=this.xref.fetch(r2)}catch(e3){if(!(e3 instanceof MissingDataException)){warn$1(`ObjectLoader.#walk - requesting all data: "${e3}".`),await this.xref.stream.manager.requestAllChunks();return}t2.push(r2),n2.push({begin:e3.begin,end:e3.end})}}if(r2 instanceof BaseStream){let e3=r2.getBaseStreams();if(e3){let i2=!1;for(let t3 of e3)t3.isDataLoaded||(i2=!0,n2.push({begin:t3.start,end:t3.end}));i2&&t2.push(r2)}}addChildren(r2,e2)}if(n2.length){await this.xref.stream.manager.requestRanges(n2);for(let e3 of t2)e3 instanceof L&&this.refSet.remove(e3);await this.#e(t2)}}static async load(e2,t2,n2){n2.stream.isDataLoaded||await new ObjectLoader(e2,t2,n2).load()}},Rr=Symbol(),zr=Symbol(),Vr=Symbol(),Hr=Symbol(),Ur=Symbol(),Wr=Symbol(),Gr=Symbol(),Kr=Symbol(),qr=Symbol(),U=Symbol("content"),Jr=Symbol("data"),Yr=Symbol(),W=Symbol("extra"),Xr=Symbol(),Zr=Symbol(),Qr=Symbol(),$r=Symbol(),ei=Symbol(),ti=Symbol(),ni=Symbol(),ri=Symbol(),ii=Symbol(),ai=Symbol(),oi=Symbol(),si=Symbol(),ci=Symbol(),li=Symbol(),ui=Symbol(),G=Symbol(),di=Symbol(),fi=Symbol(),pi=Symbol(),mi=Symbol(),hi=Symbol(),gi=Symbol(),_i=Symbol(),vi=Symbol(),yi=Symbol(),bi=Symbol(),xi=Symbol(),Si=Symbol(),Ci=Symbol(),wi=Symbol(),Ti=Symbol(),Ei=Symbol(),Di=Symbol("namespaceId"),Oi=Symbol("nodeName"),ki=Symbol(),Ai=Symbol(),ji=Symbol(),Mi=Symbol(),Ni=Symbol(),Pi=Symbol(),Fi=Symbol(),Ii=Symbol(),Ri=Symbol("root"),zi=Symbol(),Bi=Symbol(),Vi=Symbol(),Hi=Symbol(),Wi=Symbol(),Gi=Symbol(),Ki=Symbol(),qi=Symbol(),K=Symbol(),Ji=Symbol(),Yi=Symbol(),Xi=Symbol("uid"),Zi=Symbol(),Qi={config:{id:0,check:e2=>e2.startsWith("http://www.xfa.org/schema/xci/")},connectionSet:{id:1,check:e2=>e2.startsWith("http://www.xfa.org/schema/xfa-connection-set/")},datasets:{id:2,check:e2=>e2.startsWith("http://www.xfa.org/schema/xfa-data/")},form:{id:3,check:e2=>e2.startsWith("http://www.xfa.org/schema/xfa-form/")},localeSet:{id:4,check:e2=>e2.startsWith("http://www.xfa.org/schema/xfa-locale-set/")},pdf:{id:5,check:e2=>e2==="http://ns.adobe.com/xdp/pdf/"},signature:{id:6,check:e2=>e2==="http://www.w3.org/2000/09/xmldsig#"},sourceSet:{id:7,check:e2=>e2.startsWith("http://www.xfa.org/schema/xfa-source-set/")},stylesheet:{id:8,check:e2=>e2==="http://www.w3.org/1999/XSL/Transform"},template:{id:9,check:e2=>e2.startsWith("http://www.xfa.org/schema/xfa-template/")},xdc:{id:10,check:e2=>e2.startsWith("http://www.xfa.org/schema/xdc/")},xdp:{id:11,check:e2=>e2==="http://ns.adobe.com/xdp/"},xfdf:{id:12,check:e2=>e2==="http://ns.adobe.com/xfdf/"},xhtml:{id:13,check:e2=>e2==="http://www.w3.org/1999/xhtml"},xmpmeta:{id:14,check:e2=>e2==="http://ns.adobe.com/xmpmeta/"}},$i={pt:e2=>e2,cm:e2=>e2/2.54*72,mm:e2=>e2/(10*2.54)*72,in:e2=>e2*72,px:e2=>e2},ea=/([+-]?\d+\.?\d*)(.*)/;function stripQuotes(e2){return e2.startsWith("'")||e2.startsWith('"')?e2.slice(1,-1):e2}function getInteger({data:e2,defaultValue:t2,validate:n2}){if(!e2)return t2;e2=e2.trim();let r2=parseInt(e2,10);return!isNaN(r2)&&n2(r2)?r2:t2}function getFloat({data:e2,defaultValue:t2,validate:n2}){if(!e2)return t2;e2=e2.trim();let r2=parseFloat(e2);return!isNaN(r2)&&n2(r2)?r2:t2}function getKeyword({data:e2,defaultValue:t2,validate:n2}){return e2?(e2=e2.trim(),n2(e2)?e2:t2):t2}function getStringOption(e2,t2){return getKeyword({data:e2,defaultValue:t2[0],validate:e3=>t2.includes(e3)})}function getMeasurement(e2,t2="0"){if(t2||="0",!e2)return getMeasurement(t2);let n2=e2.trim().match(ea);if(!n2)return getMeasurement(t2);let[,r2,i2]=n2,a2=parseFloat(r2);if(isNaN(a2))return getMeasurement(t2);if(a2===0)return 0;let o2=$i[i2];return o2?o2(a2):a2}function getRatio(e2){if(!e2)return{num:1,den:1};let t2=e2.split(":",2).map(e3=>parseFloat(e3.trim())).filter(e3=>!isNaN(e3));if(t2.length===1&&t2.push(1),t2.length===0)return{num:1,den:1};let[n2,r2]=t2;return{num:n2,den:r2}}function getRelevant(e2){return e2?e2.trim().split(/\s+/).map(e3=>({excluded:e3[0]==="-",viewname:e3.substring(1)})):[]}function getColor(e2,t2=[0,0,0]){let[n2,r2,i2]=t2;if(!e2)return{r:n2,g:r2,b:i2};let a2=e2.split(",",3).map(e3=>MathClamp$1(parseInt(e3.trim(),10),0,255)).map(e3=>isNaN(e3)?0:e3);return a2.length<3||([n2,r2,i2]=a2),{r:n2,g:r2,b:i2}}function getBBox(e2){if(!e2)return{x:-1,y:-1,width:-1,height:-1};let t2=e2.split(",",4).map(e3=>getMeasurement(e3.trim(),"-1"));if(t2.length<4||t2[2]<0||t2[3]<0)return{x:-1,y:-1,width:-1,height:-1};let[n2,r2,i2,a2]=t2;return{x:n2,y:r2,width:i2,height:a2}}var q=class HTMLResult{static get FAILURE(){return shadow$1(this,"FAILURE",new HTMLResult(!1,null,null,null))}static get EMPTY(){return shadow$1(this,"EMPTY",new HTMLResult(!0,null,null,null))}constructor(e2,t2,n2,r2){this.success=e2,this.html=t2,this.bbox=n2,this.breakNode=r2}isBreak(){return!!this.breakNode}static breakNode(e2){return new HTMLResult(!1,null,null,e2)}static success(e2,t2=null){return new HTMLResult(!0,e2,t2,null)}},FontFinder=class{constructor(e2){this.fonts=new Map,this.cache=new Map,this.warned=new Set,this.defaultFont=null,this.add(e2)}add(e2,t2=null){for(let t3 of e2)this.addPdfFont(t3);for(let e3 of this.fonts.values())e3.regular||=e3.italic||e3.bold||e3.bolditalic;if(!t2||t2.size===0)return;let n2=this.fonts.get("PdfJS-Fallback-PdfJS-XFA");for(let e3 of t2)this.fonts.set(e3,n2)}addPdfFont(e2){let t2=e2.cssFontInfo,n2=t2.fontFamily,r2=this.fonts.getOrInsertComputed(n2,makeObj$1);this.defaultFont??=r2;let i2="",a2=parseFloat(t2.fontWeight);parseFloat(t2.italicAngle)===0?a2>=700&&(i2="bold"):i2=a2>=700?"bolditalic":"italic",i2||((e2.name.includes("Bold")||e2.psName?.includes("Bold"))&&(i2="bold"),(e2.name.includes("Italic")||e2.name.endsWith("It")||e2.psName?.includes("Italic")||e2.psName?.endsWith("It"))&&(i2+="italic")),i2||="regular",r2[i2]=e2}getDefault(){return this.defaultFont}find(e2,t2=!0){let n2=this.fonts.get(e2)||this.cache.get(e2);if(n2)return n2;let r2=/[,\-_ ]|bolditalic|bold|italic|regular|it/gi,i2=e2.replaceAll(r2,"");if(n2=this.fonts.get(i2),n2)return this.cache.set(e2,n2),n2;i2=i2.toLowerCase();let a2=[];for(let[e3,t3]of this.fonts)e3.replaceAll(r2,"").toLowerCase().startsWith(i2)&&a2.push(t3);if(a2.length===0)for(let e3 of this.fonts.values())e3.regular.name?.replaceAll(r2,"").toLowerCase().startsWith(i2)&&a2.push(e3);if(a2.length===0){i2=i2.replaceAll(/psmt|mt/gi,"");for(let[e3,t3]of this.fonts)e3.replaceAll(r2,"").toLowerCase().startsWith(i2)&&a2.push(t3)}if(a2.length===0)for(let e3 of this.fonts.values())e3.regular.name?.replaceAll(r2,"").toLowerCase().startsWith(i2)&&a2.push(e3);return a2.length>=1?(a2.length!==1&&t2&&warn$1(`XFA - Too many choices to guess the correct font: ${e2}`),this.cache.set(e2,a2[0]),a2[0]):(t2&&!this.warned.has(e2)&&(this.warned.add(e2),warn$1(`XFA - Cannot find the font: ${e2}`)),null)}};function selectFont(e2,t2){return e2.posture==="italic"?e2.weight==="bold"?t2.bolditalic:t2.italic:e2.weight==="bold"?t2.bold:t2.regular}function fonts_getMetrics(e2,t2=!1){let n2=null;if(e2){let t3=stripQuotes(e2.typeface);n2=selectFont(e2,e2[fi].fontFinder.find(t3))}if(!n2)return{lineHeight:12,lineGap:2,lineNoGap:10};let r2=e2.size||10,i2=n2.lineHeight?Math.max(t2?0:1.2,n2.lineHeight):1.2,a2=n2.lineGap===void 0?.2:n2.lineGap;return{lineHeight:i2*r2,lineGap:a2*r2,lineNoGap:Math.max(1,i2-a2)*r2}}var FontInfo$1=class{constructor(e2,t2,n2,r2){if(this.lineHeight=n2,this.paraMargin=t2||{top:0,bottom:0,left:0,right:0},!e2){[this.pdfFont,this.xfaFont]=this.defaultFont(r2);return}this.xfaFont={typeface:e2.typeface,posture:e2.posture,weight:e2.weight,size:e2.size,letterSpacing:e2.letterSpacing};let i2=r2.find(e2.typeface);if(!i2){[this.pdfFont,this.xfaFont]=this.defaultFont(r2);return}this.pdfFont=selectFont(e2,i2),this.pdfFont||([this.pdfFont,this.xfaFont]=this.defaultFont(r2))}defaultFont(e2){let t2=e2.find("Helvetica",!1)||e2.find("Myriad Pro",!1)||e2.find("Arial",!1)||e2.getDefault();if(t2?.regular){let e3=t2.regular;return[e3,{typeface:e3.cssFontInfo.fontFamily,posture:"normal",weight:"normal",size:10,letterSpacing:0}]}return[null,{typeface:"Courier",posture:"normal",weight:"normal",size:10,letterSpacing:0}]}},FontSelector=class{constructor(e2,t2,n2,r2){this.fontFinder=r2,this.stack=[new FontInfo$1(e2,t2,n2,r2)]}pushData(e2,t2,n2){let r2=this.stack.at(-1);for(let t3 of["typeface","posture","weight","size","letterSpacing"])e2[t3]||=r2.xfaFont[t3];for(let e3 of["top","bottom","left","right"])isNaN(t2[e3])&&(t2[e3]=r2.paraMargin[e3]);let i2=new FontInfo$1(e2,t2,n2||r2.lineHeight,this.fontFinder);i2.pdfFont||=r2.pdfFont,this.stack.push(i2)}popFont(){this.stack.pop()}topFont(){return this.stack.at(-1)}},TextMeasure=class{constructor(e2,t2,n2,r2){this.glyphs=[],this.fontSelector=new FontSelector(e2,t2,n2,r2),this.extraHeight=0}pushData(e2,t2,n2){this.fontSelector.pushData(e2,t2,n2)}popFont(e2){return this.fontSelector.popFont()}addPara(){let e2=this.fontSelector.topFont();this.extraHeight+=e2.paraMargin.top+e2.paraMargin.bottom}addString(e2){if(!e2)return;let t2=this.fontSelector.topFont(),n2=t2.xfaFont.size;if(t2.pdfFont){let r2=t2.xfaFont.letterSpacing,i2=t2.pdfFont,a2=i2.lineHeight||1.2,o2=t2.lineHeight||Math.max(1.2,a2)*n2,s2=a2-(i2.lineGap===void 0?.2:i2.lineGap),c2=Math.max(1,s2)*n2,l2=n2/1e3,u2=i2.defaultWidth||i2.charsToGlyphs(" ")[0].width;for(let t3 of e2.split(/[\u2029\n]/)){let e3=i2.encodeString(t3).join(""),n3=i2.charsToGlyphs(e3);for(let e4 of n3){let t4=e4.width||u2;this.glyphs.push([t4*l2+r2,o2,c2,e4.unicode,!1])}this.glyphs.push([0,0,0,`
|
|
11
|
+
`,!0])}this.glyphs.pop();return}for(let t3 of e2.split(/[\u2029\n]/)){for(let e3 of t3.split(""))this.glyphs.push([n2,1.2*n2,n2,e3,!1]);this.glyphs.push([0,0,0,`
|
|
12
|
+
`,!0])}this.glyphs.pop()}compute(e2){let t2=-1,n2=0,r2=0,i2=0,a2=0,o2=0,s2=!1,c2=!0;for(let l2=0,u2=this.glyphs.length;l2<u2;l2++){let[u3,d2,f2,p2,m2]=this.glyphs[l2],h2=p2===" ",g2=c2?f2:d2;if(m2){r2=Math.max(r2,a2),a2=0,i2+=o2,o2=g2,t2=-1,n2=0,c2=!1;continue}if(h2){a2+u3>e2?(r2=Math.max(r2,a2),a2=0,i2+=o2,o2=g2,t2=-1,n2=0,s2=!0,c2=!1):(o2=Math.max(g2,o2),n2=a2,a2+=u3,t2=l2);continue}if(a2+u3>e2){i2+=o2,o2=g2,t2===-1?(r2=Math.max(r2,a2),a2=u3):(l2=t2,r2=Math.max(r2,n2),a2=0,t2=-1,n2=0),s2=!0,c2=!1;continue}a2+=u3,o2=Math.max(g2,o2)}return r2=Math.max(r2,a2),i2+=o2+this.extraHeight,{width:1.02*r2,height:i2,isBroken:s2}}},ta=/^[^.[]+/,na=/^[^\]]+/,ra={dot:0,dotDot:1,dotHash:2,dotBracket:3,dotParen:4},ia=new Map([["$data",(e2,t2)=>e2.datasets?e2.datasets.data:e2],["$record",(e2,t2)=>(e2.datasets?e2.datasets.data:e2)[si]()[0]],["$template",(e2,t2)=>e2.template],["$connectionSet",(e2,t2)=>e2.connectionSet],["$form",(e2,t2)=>e2.form],["$layout",(e2,t2)=>e2.layout],["$host",(e2,t2)=>e2.host],["$dataWindow",(e2,t2)=>e2.dataWindow],["$event",(e2,t2)=>e2.event],["!",(e2,t2)=>e2.datasets],["$xfa",(e2,t2)=>e2],["xfa",(e2,t2)=>e2],["$",(e2,t2)=>t2]]),aa=new WeakMap;function parseIndex(e2){return e2=e2.trim(),e2==="*"?1/0:parseInt(e2,10)||0}function parseExpression(e2,t2,n2=!0){let r2=e2.match(ta);if(!r2)return null;let[i2]=r2,a2=[{name:i2,cacheName:"."+i2,index:0,js:null,formCalc:null,operator:ra.dot}],o2=i2.length;for(;o2<e2.length;){let s2=o2;if(e2.charAt(o2++)==="["){if(r2=e2.slice(o2).match(na),!r2)return warn$1("XFA - Invalid index in SOM expression"),null;a2.at(-1).index=parseIndex(r2[0]),o2+=r2[0].length+1;continue}let c2;switch(e2.charAt(o2)){case".":if(!t2)return null;o2++,c2=ra.dotDot;break;case"#":o2++,c2=ra.dotHash;break;case"[":if(n2)return warn$1("XFA - SOM expression contains a FormCalc subexpression which is not supported for now."),null;c2=ra.dotBracket;break;case"(":if(n2)return warn$1("XFA - SOM expression contains a JavaScript subexpression which is not supported for now."),null;c2=ra.dotParen;break;default:c2=ra.dot;break}if(r2=e2.slice(o2).match(ta),!r2)break;[i2]=r2,o2+=i2.length,a2.push({name:i2,cacheName:e2.slice(s2,o2),operator:c2,index:0,js:null,formCalc:null})}return a2}function searchNode(e2,t2,n2,r2=!0,i2=!0){let a2=parseExpression(n2,r2);if(!a2)return null;let o2=ia.get(a2[0].name),s2=0,c2;o2?(c2=!0,e2=[o2(e2,t2)],s2=1):(c2=t2===null,e2=[t2||e2]);for(let n3=a2.length;s2<n3;s2++){let{name:n4,cacheName:r3,operator:o3,index:l2}=a2[s2],u2=[];for(let t3 of e2){if(!t3.isXFAObject)continue;let e3,a3;if(i2&&(a3=aa.getOrInsertComputed(t3,makeMap$1),e3=a3.get(r3)),!e3){switch(o3){case ra.dot:e3=t3[ni](n4,!1);break;case ra.dotDot:e3=t3[ni](n4,!0);break;case ra.dotHash:e3=t3[ti](n4),e3=e3.isXFAObjectArray?e3.children:[e3];break;default:break}i2&&a3.set(r3,e3)}e3.length>0&&u2.push(e3)}if(u2.length===0&&!c2&&s2===0){if(t2=t2[G](),!t2)return null;s2=-1,e2=[t2];continue}e2=isFinite(l2)?u2.filter(e3=>l2<e3.length).map(e3=>e3[l2]):u2.flat()}return e2.length===0?null:e2}function createDataNode(e2,t2,n2){let r2=parseExpression(n2);if(!r2||r2.some(e3=>e3.operator===ra.dotDot))return null;let i2=ia.get(r2[0].name),a2=0;i2?(e2=i2(e2,t2),a2=1):e2=t2||e2;for(let t3=r2.length;a2<t3;a2++){let{name:t4,operator:n3,index:i3}=r2[a2];if(!isFinite(i3))return r2[a2].index=0,e2.createNodes(r2.slice(a2));let o2;switch(n3){case ra.dot:o2=e2[ni](t4,!1);break;case ra.dotDot:o2=e2[ni](t4,!0);break;case ra.dotHash:o2=e2[ti](t4),o2=o2.isXFAObjectArray?o2.children:[o2];break;default:break}if(o2.length===0)return e2.createNodes(r2.slice(a2));if(i3<o2.length){let t5=o2[i3];if(!t5.isXFAObject)return warn$1("XFA - Cannot create a node."),null;e2=t5}else return r2[a2].index=i3-o2.length,e2.createNodes(r2.slice(a2))}return null}var oa=Symbol(),sa=Symbol(),ca=Symbol(),J=Symbol("_children"),la=Symbol(),ua=Symbol(),da=Symbol(),fa=Symbol(),pa=Symbol(),ma=Symbol(),ha=Symbol(),ga=Symbol(),_a=Symbol(),va=Symbol("parent"),ya=Symbol(),ba=Symbol(),xa=Symbol(),Sa=0,Ca=Qi.datasets.id,Y=class XFAObject{constructor(e2,t2,n2=!1){this[Di]=e2,this[Oi]=t2,this[ha]=n2,this[va]=null,this[J]=[],this[Xi]=`${t2}${Sa++}`,this[fi]=null}get isXFAObject(){return!0}get isXFAObjectArray(){return!1}createNodes(e2){let t2=this,n2=null;for(let{name:r2,index:i2}of e2){for(let e3=0,a2=isFinite(i2)?i2:0;e3<=a2;e3++)n2=new wa(t2[Di]===Ca?-1:t2[Di],r2),t2[Vr](n2);t2=n2}return n2}[Ai](e2){if(!this[ha]||!this[ji](e2))return!1;let t2=e2[Oi],n2=this[t2];if(n2 instanceof X){if(n2.push(e2))return this[Vr](e2),!0}else return n2!==null&&this[Ii](n2),this[t2]=e2,this[Vr](e2),!0;let r2="";return this.id?r2=` (id: ${this.id})`:this.name&&(r2=` (name: ${this.name} ${this.h.value})`),warn$1(`XFA - node "${this[Oi]}"${r2} has already enough "${t2}"!`),!1}[ji](e2){return Object.hasOwn(this,e2[Oi])&&e2[Di]===this[Di]}[xi](){return!1}[Rr](){return!1}[_i](){return!1}[vi](){return!1}[Pi](){this.para&&this[di]()[W].paraStack.pop()}[Fi](){this[di]()[W].paraStack.push(this.para)}[Vi](e2){this.id&&this[Di]===Qi.template.id&&e2.set(this.id,this)}[di](){return this[fi].template}[Si](){return!1}[Ci](){return!1}[Vr](e2){e2[va]=this,this[J].push(e2),!e2[fi]&&this[fi]&&(e2[fi]=this[fi])}[Ii](e2){let t2=this[J].indexOf(e2);this[J].splice(t2,1)}[pi](){return Object.hasOwn(this,"value")}[Wi](e2){}[Mi](e2){}[Xr](){}[Ur](e2){delete this[ha],this[Gr]&&(e2.clean(this[Gr]),delete this[Gr])}[hi](e2){return this[J].indexOf(e2)}[gi](e2,t2){t2[va]=this,this[J].splice(e2,0,t2),!t2[fi]&&this[fi]&&(t2[fi]=this[fi])}[wi](){return!this.name}[Ei](){return""}[Ki](){return this[J].length===0?this[U]:this[J].map(e2=>e2[Ki]()).join("")}get[ca](){let e2=Object.getPrototypeOf(this);if(!e2._attributes){let t2=e2._attributes=new Set;for(let e3 of Object.getOwnPropertyNames(this)){if(this[e3]===null||this[e3]instanceof XFAObject||this[e3]instanceof X)break;t2.add(e3)}}return shadow$1(this,ca,e2._attributes)}[bi](e2){let t2=this;for(;t2;){if(t2===e2)return!0;t2=t2[G]()}return!1}[G](){return this[va]}[ui](){return this[G]()}[si](e2=null){return e2?this[e2]:this[J]}[Yr](){let e2=Object.create(null);this[U]&&(e2.$content=this[U]);for(let t2 of Object.getOwnPropertyNames(this)){let n2=this[t2];n2!==null&&(n2 instanceof XFAObject?e2[t2]=n2[Yr]():n2 instanceof X?n2.isEmpty()||(e2[t2]=n2.dump()):e2[t2]=n2)}return e2}[Yi](){return null}[K](){return q.EMPTY}*[ci](){for(let e2 of this[si]())yield e2}*[fa](e2,t2){for(let n2 of this[ci]())if(!e2||t2===e2.has(n2[Oi])){let e3=this[ei](),t3=n2[K](e3);t3.success||(this[W].failingNode=n2),yield t3}}[Zr](){return null}[zr](e2,t2){this[W].children.push(e2)}[ei](){}[Hr]({filter:e2=null,include:t2=!0}){if(!this[W].generator)this[W].generator=this[fa](e2,t2);else{let e3=this[ei](),t3=this[W].failingNode[K](e3);if(!t3.success)return t3;t3.html&&this[zr](t3.html,t3.bbox),delete this[W].failingNode}for(;;){let e3=this[W].generator.next();if(e3.done)break;let t3=e3.value;if(!t3.success)return t3;t3.html&&this[zr](t3.html,t3.bbox)}return this[W].generator=null,q.EMPTY}[Hi](e2){this[ba]=new Set(Object.keys(e2))}[ma](e2){let t2=this[ca],n2=this[ba];return[...e2].filter(e3=>t2.has(e3)&&!n2.has(e3))}[zi](e2,t2=new Set){for(let n2 of this[J])n2[ya](e2,t2)}[ya](e2,t2){let n2=this[pa](e2,t2);n2?this[oa](n2,e2,t2):this[zi](e2,t2)}[pa](e2,t2){let{use:n2,usehref:r2}=this;if(!n2&&!r2)return null;let i2=null,a2=null,o2=null,s2=n2;if(r2?(s2=r2,r2.startsWith("#som(")&&r2.endsWith(")")?a2=r2.slice(5,-1):r2.startsWith(".#som(")&&r2.endsWith(")")?a2=r2.slice(6,-1):r2.startsWith("#")?o2=r2.slice(1):r2.startsWith(".#")&&(o2=r2.slice(2))):n2.startsWith("#")?o2=n2.slice(1):a2=n2,this.use=this.usehref="",o2?i2=e2.get(o2):(i2=searchNode(e2.get(Ri),this,a2,!0,!1),i2&&=i2[0]),!i2)return warn$1(`XFA - Invalid prototype reference: ${s2}.`),null;if(i2[Oi]!==this[Oi])return warn$1(`XFA - Incompatible prototype: ${i2[Oi]} !== ${this[Oi]}.`),null;if(t2.has(i2))return warn$1("XFA - Cycle detected in prototypes use."),null;t2.add(i2);let c2=i2[pa](e2,t2);return c2&&i2[oa](c2,e2,t2),i2[zi](e2,t2),t2.delete(i2),i2}[oa](e2,t2,n2){if(n2.has(e2)){warn$1("XFA - Cycle detected in prototypes use.");return}!this[U]&&e2[U]&&(this[U]=e2[U]),new Set(n2).add(e2);for(let t3 of this[ma](e2[ba]))this[t3]=e2[t3],this[ba]&&this[ba].add(t3);for(let r2 of Object.getOwnPropertyNames(this)){if(this[ca].has(r2))continue;let i2=this[r2],a2=e2[r2];if(i2 instanceof X){for(let e3 of i2[J])e3[ya](t2,n2);for(let r3=i2[J].length,o2=a2[J].length;r3<o2;r3++){let a3=e2[J][r3][Kr]();if(i2.push(a3))a3[va]=this,this[J].push(a3),a3[ya](t2,n2);else break}continue}if(i2!==null){i2[zi](t2,n2),a2&&i2[oa](a2,t2,n2);continue}if(a2!==null){let e3=a2[Kr]();e3[va]=this,this[r2]=e3,this[J].push(e3),e3[ya](t2,n2)}}}static[la](e2){return Array.isArray(e2)?e2.map(e3=>XFAObject[la](e3)):typeof e2=="object"&&e2?Object.assign({},e2):e2}[Kr](){let e2=Object.create(Object.getPrototypeOf(this));for(let t2 of Object.getOwnPropertySymbols(this))try{e2[t2]=this[t2]}catch{shadow$1(e2,t2,this[t2])}e2[Xi]=`${e2[Oi]}${Sa++}`,e2[J]=[];for(let t2 of Object.getOwnPropertyNames(this)){if(this[ca].has(t2)){e2[t2]=XFAObject[la](this[t2]);continue}let n2=this[t2];e2[t2]=n2 instanceof X?new X(n2[ga]):null}for(let t2 of this[J]){let n2=t2[Oi],r2=t2[Kr]();e2[J].push(r2),r2[va]=e2,e2[n2]===null?e2[n2]=r2:e2[n2][J].push(r2)}return e2}[si](e2=null){return e2?this[J].filter(t2=>t2[Oi]===e2):this[J]}[ti](e2){return this[e2]}[ni](e2,t2,n2=!0){return Array.from(this[ri](e2,t2,n2))}*[ri](e2,t2,n2=!0){if(e2==="parent"){yield this[va];return}for(let n3 of this[J])n3[Oi]===e2&&(yield n3),n3.name===e2&&(yield n3),(t2||n3[wi]())&&(yield*n3[ri](e2,t2,!1));n2&&this[ca].has(e2)&&(yield new XFAAttribute(this,e2,this[e2]))}},X=class XFAObjectArray{constructor(e2=1/0){this[ga]=e2,this[J]=[]}get isXFAObject(){return!1}get isXFAObjectArray(){return!0}push(e2){return this[J].length<=this[ga]?(this[J].push(e2),!0):(warn$1(`XFA - node "${e2[Oi]}" accepts no more than ${this[ga]} children`),!1)}isEmpty(){return this[J].length===0}dump(){return this[J].length===1?this[J][0][Yr]():this[J].map(e2=>e2[Yr]())}[Kr](){let e2=new XFAObjectArray(this[ga]);return e2[J]=this[J].map(e3=>e3[Kr]()),e2}get children(){return this[J]}clear(){this[J].length=0}},XFAAttribute=class{constructor(e2,t2,n2){this[va]=e2,this[Oi]=t2,this[U]=n2,this[qr]=!1,this[Xi]=`attribute${Sa++}`}[G](){return this[va]}[yi](){return!0}[ii](){return this[U].trim()}[Wi](e2){e2=e2.value||"",this[U]=e2.toString()}[Ki](){return this[U]}[bi](e2){return this[va]===e2||this[va][bi](e2)}},wa=class XmlObject extends Y{constructor(e2,t2,n2={}){if(super(e2,t2),this[U]="",this[ua]=null,t2!=="#text"){let e3=new Map;this[sa]=e3;for(let[t3,r2]of Object.entries(n2))e3.set(t3,new XFAAttribute(this,t3,r2));if(Object.hasOwn(n2,ki)){let e4=n2[ki].xfa.dataNode;e4!==void 0&&(e4==="dataGroup"?this[ua]=!1:e4==="dataValue"&&(this[ua]=!0))}}this[qr]=!1}[Ji](e2){let t2=this[Oi];if(t2==="#text"){e2.push(encodeToXmlString(this[U]));return}let n2=utf8StringToString(t2),r2=this[Di]===Ca?"xfa:":"";e2.push(`<${r2}${n2}`);for(let[t3,n3]of this[sa]){let r3=utf8StringToString(t3);e2.push(` ${r3}="${encodeToXmlString(n3[U])}"`)}if(this[ua]!==null&&(this[ua]?e2.push(' xfa:dataNode="dataValue"'):e2.push(' xfa:dataNode="dataGroup"')),!this[U]&&this[J].length===0){e2.push("/>");return}if(e2.push(">"),this[U])typeof this[U]=="string"?e2.push(encodeToXmlString(this[U])):this[U][Ji](e2);else for(let t3 of this[J])t3[Ji](e2);e2.push(`</${r2}${n2}>`)}[Ai](e2){if(this[U]){let e3=new XmlObject(this[Di],"#text");this[Vr](e3),e3[U]=this[U],this[U]=""}return this[Vr](e2),!0}[Mi](e2){this[U]+=e2}[Xr](){if(this[U]&&this[J].length>0){let e2=new XmlObject(this[Di],"#text");this[Vr](e2),e2[U]=this[U],delete this[U]}}[K](){return this[Oi]==="#text"?q.success({name:"#text",value:this[U]}):q.EMPTY}[si](e2=null){return e2?this[J].filter(t2=>t2[Oi]===e2):this[J]}[$r](){return this[sa]}[ti](e2){let t2=this[sa].get(e2);return t2===void 0?this[si](e2):t2}*[ri](e2,t2){let n2=this[sa].get(e2);n2&&(yield n2);for(let n3 of this[J])n3[Oi]===e2&&(yield n3),t2&&(yield*n3[ri](e2,t2))}*[Qr](e2,t2){let n2=this[sa].get(e2);n2&&(!t2||!n2[qr])&&(yield n2);for(let n3 of this[J])yield*n3[Qr](e2,t2)}*[oi](e2,t2,n2){for(let r2 of this[J])r2[Oi]===e2&&(!n2||!r2[qr])&&(yield r2),t2&&(yield*r2[oi](e2,t2,n2))}[yi](){return this[ua]===null?this[J].length===0||this[J][0][Di]===Qi.xhtml.id:this[ua]}[ii](){return this[ua]===null?this[J].length===0?this[U].trim():this[J][0][Di]===Qi.xhtml.id?this[J][0][Ki]().trim():null:this[U].trim()}[Wi](e2){e2=e2.value||"",this[U]=e2.toString()}[Yr](e2=!1){let t2=Object.create(null);e2&&(t2.$ns=this[Di]),this[U]&&(t2.$content=this[U]),t2.$name=this[Oi],t2.children=[];for(let n2 of this[J])t2.children.push(n2[Yr](e2));t2.attributes=Object.create(null);for(let[e3,n2]of this[sa])t2.attributes[e3]=n2[U];return t2}},ContentObject=class extends Y{constructor(e2,t2){super(e2,t2),this[U]=""}[Mi](e2){this[U]+=e2}[Xr](){}},OptionObject=class extends ContentObject{constructor(e2,t2,n2){super(e2,t2),this[_a]=n2}[Xr](){this[U]=getKeyword({data:this[U],defaultValue:this[_a][0],validate:e2=>this[_a].includes(e2)})}[Ur](e2){super[Ur](e2),delete this[_a]}},StringObject=class extends ContentObject{[Xr](){this[U]=this[U].trim()}},IntegerObject=class extends ContentObject{constructor(e2,t2,n2,r2){super(e2,t2),this[da]=n2,this[xa]=r2}[Xr](){this[U]=getInteger({data:this[U],defaultValue:this[da],validate:this[xa]})}[Ur](e2){super[Ur](e2),delete this[da],delete this[xa]}},Option01=class extends IntegerObject{constructor(e2,t2){super(e2,t2,0,e3=>e3===1)}},Option10=class extends IntegerObject{constructor(e2,t2){super(e2,t2,1,e3=>e3===0)}};function measureToString(e2){return typeof e2=="string"?"0px":Number.isInteger(e2)?`${e2}px`:`${e2.toFixed(2)}px`}var Ta={anchorType(e2,t2){let n2=e2[ui]();if(!(!n2||n2.layout&&n2.layout!=="position"))switch("transform"in t2||(t2.transform=""),e2.anchorType){case"bottomCenter":t2.transform+="translate(-50%, -100%)";break;case"bottomLeft":t2.transform+="translate(0,-100%)";break;case"bottomRight":t2.transform+="translate(-100%,-100%)";break;case"middleCenter":t2.transform+="translate(-50%,-50%)";break;case"middleLeft":t2.transform+="translate(0,-50%)";break;case"middleRight":t2.transform+="translate(-100%,-50%)";break;case"topCenter":t2.transform+="translate(-50%,0)";break;case"topRight":t2.transform+="translate(-100%,0)";break}},dimensions(e2,t2){let n2=e2[ui](),r2=e2.w,i2=e2.h;if(n2.layout?.includes("row")){let t3=n2[W],i3=e2.colSpan,a2;i3===-1?(a2=Math.sumPrecise(t3.columnWidths.slice(t3.currentColumn)),t3.currentColumn=0):(a2=Math.sumPrecise(t3.columnWidths.slice(t3.currentColumn,t3.currentColumn+i3)),t3.currentColumn=(t3.currentColumn+e2.colSpan)%t3.columnWidths.length),isNaN(a2)||(r2=e2.w=a2)}t2.width=r2===""?"auto":measureToString(r2),t2.height=i2===""?"auto":measureToString(i2)},position(e2,t2){let n2=e2[ui]();n2?.layout&&n2.layout!=="position"||(t2.position="absolute",t2.left=measureToString(e2.x),t2.top=measureToString(e2.y))},rotate(e2,t2){e2.rotate&&("transform"in t2||(t2.transform=""),t2.transform+=`rotate(-${e2.rotate}deg)`,t2.transformOrigin="top left")},presence(e2,t2){switch(e2.presence){case"invisible":t2.visibility="hidden";break;case"hidden":case"inactive":t2.display="none";break}},hAlign(e2,t2){if(e2[Oi]==="para")switch(e2.hAlign){case"justifyAll":t2.textAlign="justify-all";break;case"radix":t2.textAlign="left";break;default:t2.textAlign=e2.hAlign}else switch(e2.hAlign){case"left":t2.alignSelf="start";break;case"center":t2.alignSelf="center";break;case"right":t2.alignSelf="end";break}},margin(e2,t2){e2.margin&&(t2.margin=e2.margin[Yi]().margin)}};function setMinMaxDimensions(e2,t2){e2[ui]().layout==="position"&&(e2.minW>0&&(t2.minWidth=measureToString(e2.minW)),e2.maxW>0&&(t2.maxWidth=measureToString(e2.maxW)),e2.minH>0&&(t2.minHeight=measureToString(e2.minH)),e2.maxH>0&&(t2.maxHeight=measureToString(e2.maxH)))}function layoutText(e2,t2,n2,r2,i2,a2){let o2=new TextMeasure(t2,n2,r2,i2);return typeof e2=="string"?o2.addString(e2):e2[Ni](o2),o2.compute(a2)}function layoutNode(e2,t2){let n2=null,r2=null,i2=!1;if((!e2.w||!e2.h)&&e2.value){let a2=0,o2=0;e2.margin&&(a2=e2.margin.leftInset+e2.margin.rightInset,o2=e2.margin.topInset+e2.margin.bottomInset);let s2=null,c2=null;e2.para&&(c2=Object.create(null),s2=e2.para.lineHeight===""?null:e2.para.lineHeight,c2.top=e2.para.spaceAbove===""?0:e2.para.spaceAbove,c2.bottom=e2.para.spaceBelow===""?0:e2.para.spaceBelow,c2.left=e2.para.marginLeft===""?0:e2.para.marginLeft,c2.right=e2.para.marginRight===""?0:e2.para.marginRight);let l2=e2.font;if(!l2){let t3=e2[di](),n3=e2[G]();for(;n3&&n3!==t3;){if(n3.font){l2=n3.font;break}n3=n3[G]()}}let u2=(e2.w||t2.width)-a2,d2=e2[fi].fontFinder;if(e2.value.exData&&e2.value.exData[U]&&e2.value.exData.contentType==="text/html"){let t3=layoutText(e2.value.exData[U],l2,c2,s2,d2,u2);r2=t3.width,n2=t3.height,i2=t3.isBroken}else{let t3=e2.value[Ki]();if(t3){let e3=layoutText(t3,l2,c2,s2,d2,u2);r2=e3.width,n2=e3.height,i2=e3.isBroken}}r2!==null&&!e2.w&&(r2+=a2),n2!==null&&!e2.h&&(n2+=o2)}return{w:r2,h:n2,isBroken:i2}}function computeBbox(e2,t2,n2){let r2;if(e2.w!==""&&e2.h!=="")r2=[e2.x,e2.y,e2.w,e2.h];else{if(!n2)return null;let i2=e2.w;if(i2===""){if(e2.maxW===0){let t3=e2[ui]();i2=t3.layout==="position"&&t3.w!==""?0:e2.minW}else i2=Math.min(e2.maxW,n2.width);t2.attributes.style.width=measureToString(i2)}let a2=e2.h;if(a2===""){if(e2.maxH===0){let t3=e2[ui]();a2=t3.layout==="position"&&t3.h!==""?0:e2.minH}else a2=Math.min(e2.maxH,n2.height);t2.attributes.style.height=measureToString(a2)}r2=[e2.x,e2.y,i2,a2]}return r2}function fixDimensions(e2){let t2=e2[ui]();if(t2.layout?.includes("row")){let n2=t2[W],r2=e2.colSpan,i2;i2=r2===-1?Math.sumPrecise(n2.columnWidths.slice(n2.currentColumn)):Math.sumPrecise(n2.columnWidths.slice(n2.currentColumn,n2.currentColumn+r2)),isNaN(i2)||(e2.w=i2)}t2.layout&&t2.layout!=="position"&&(e2.x=e2.y=0),e2.layout==="table"&&e2.w===""&&Array.isArray(e2.columnWidths)&&(e2.w=Math.sumPrecise(e2.columnWidths))}function layoutClass(e2){switch(e2.layout){case"position":return"xfaPosition";case"lr-tb":return"xfaLrTb";case"rl-row":return"xfaRlRow";case"rl-tb":return"xfaRlTb";case"row":return"xfaRow";case"table":return"xfaTable";case"tb":return"xfaTb";default:return"xfaPosition"}}function toStyle(e2,...t2){let n2=Object.create(null);for(let r2 of t2){let t3=e2[r2];if(t3!==null){if(Object.hasOwn(Ta,r2)){Ta[r2](e2,n2);continue}if(t3 instanceof Y){let e3=t3[Yi]();e3?Object.assign(n2,e3):warn$1(`(DEBUG) - XFA - style for ${r2} not implemented yet`)}}}return n2}function createWrapper(e2,t2){let{attributes:n2}=t2,{style:r2}=n2,i2={name:"div",attributes:{class:["xfaWrapper"],style:Object.create(null)},children:[]};if(n2.class.push("xfaWrapped"),e2.border){let{widths:n3,insets:a2}=e2.border[W],o2,s2,c2=a2[0],l2=a2[3],u2=a2[0]+a2[2],d2=a2[1]+a2[3];switch(e2.border.hand){case"even":c2-=n3[0]/2,l2-=n3[3]/2,o2=`calc(100% + ${(n3[1]+n3[3])/2-d2}px)`,s2=`calc(100% + ${(n3[0]+n3[2])/2-u2}px)`;break;case"left":c2-=n3[0],l2-=n3[3],o2=`calc(100% + ${n3[1]+n3[3]-d2}px)`,s2=`calc(100% + ${n3[0]+n3[2]-u2}px)`;break;case"right":o2=d2?`calc(100% - ${d2}px)`:"100%",s2=u2?`calc(100% - ${u2}px)`:"100%";break}let f2=["xfaBorder"];isPrintOnly(e2.border)&&f2.push("xfaPrintOnly");let p2={name:"div",attributes:{class:f2,style:{top:`${c2}px`,left:`${l2}px`,width:o2,height:s2}},children:[]};for(let e3 of["border","borderWidth","borderColor","borderRadius","borderStyle"])r2[e3]!==void 0&&(p2.attributes.style[e3]=r2[e3],delete r2[e3]);i2.children.push(p2,t2)}else i2.children.push(t2);for(let e3 of["background","backgroundClip","top","left","width","height","minWidth","minHeight","maxWidth","maxHeight","transform","transformOrigin","visibility"])r2[e3]!==void 0&&(i2.attributes.style[e3]=r2[e3],delete r2[e3]);return i2.attributes.style.position=r2.position==="absolute"?"absolute":"relative",delete r2.position,r2.alignSelf&&(i2.attributes.style.alignSelf=r2.alignSelf,delete r2.alignSelf),i2}function fixTextIndent(e2){let t2=getMeasurement(e2.textIndent,"0px");if(t2>=0)return;let n2="padding"+((e2.textAlign==="right"?"right":"left")=="left"?"Left":"Right");e2[n2]=`${getMeasurement(e2[n2],"0px")-t2}px`}function setAccess(e2,t2){switch(e2.access){case"nonInteractive":t2.push("xfaNonInteractive");break;case"readOnly":t2.push("xfaReadOnly");break;case"protected":t2.push("xfaDisabled");break}}function isPrintOnly(e2){return e2.relevant.length>0&&!e2.relevant[0].excluded&&e2.relevant[0].viewname==="print"}function getCurrentPara(e2){let t2=e2[di]()[W].paraStack;return t2.length?t2.at(-1):null}function setPara(e2,t2,n2){if(n2.attributes.class?.includes("xfaRich")){t2&&(e2.h===""&&(t2.height="auto"),e2.w===""&&(t2.width="auto"));let r2=getCurrentPara(e2);if(r2){let e3=n2.attributes.style;switch(e3.display="flex",e3.flexDirection="column",r2.vAlign){case"top":e3.justifyContent="start";break;case"bottom":e3.justifyContent="end";break;case"middle":e3.justifyContent="center";break}let t3=r2[Yi]();for(let[n3,r3]of Object.entries(t3))n3 in e3||(e3[n3]=r3)}}}function setFontFamily(e2,t2,n2,r2){if(!n2){delete r2.fontFamily;return}let i2=stripQuotes(e2.typeface);r2.fontFamily=`"${i2}"`;let a2=n2.find(i2);if(a2){let{fontFamily:n3}=a2.regular.cssFontInfo;n3!==i2&&(r2.fontFamily=`"${n3}"`);let o2=getCurrentPara(t2);if(o2&&o2.lineHeight!==""||r2.lineHeight)return;let s2=selectFont(e2,a2);s2&&(r2.lineHeight=Math.max(1.2,s2.lineHeight))}}function fixURL(e2){let t2=createValidAbsoluteUrl$1(e2,null,{addDefaultProtocol:!0,tryConvertEncoding:!0});return t2?t2.href:null}function createLine(e2,t2){return{name:"div",attributes:{class:[e2.layout==="lr-tb"?"xfaLr":"xfaRl"]},children:t2}}function flushHTML(e2){if(!e2[W])return null;let t2={name:"div",attributes:e2[W].attributes,children:e2[W].children};if(e2[W].failingNode){let n2=e2[W].failingNode[Zr]();n2&&(e2.layout.endsWith("-tb")?t2.children.push(createLine(e2,[n2])):t2.children.push(n2))}return t2.children.length===0?null:t2}function addHTML(e2,t2,n2){let r2=e2[W],i2=r2.availableSpace,[a2,o2,s2,c2]=n2;switch(e2.layout){case"position":r2.width=Math.max(r2.width,a2+s2),r2.height=Math.max(r2.height,o2+c2),r2.children.push(t2);break;case"lr-tb":case"rl-tb":(!r2.line||r2.attempt===1)&&(r2.line=createLine(e2,[]),r2.children.push(r2.line),r2.numberInLine=0),r2.numberInLine+=1,r2.line.children.push(t2),r2.attempt===0?(r2.currentWidth+=s2,r2.height=Math.max(r2.height,r2.prevHeight+c2)):(r2.currentWidth=s2,r2.prevHeight=r2.height,r2.height+=c2,r2.attempt=0),r2.width=Math.max(r2.width,r2.currentWidth);break;case"rl-row":case"row":{r2.children.push(t2),r2.width+=s2,r2.height=Math.max(r2.height,c2);let e3=measureToString(r2.height);for(let t3 of r2.children)t3.attributes.style.height=e3;break}case"table":r2.width=MathClamp$1(s2,r2.width,i2.width),r2.height+=c2,r2.children.push(t2);break;case"tb":r2.width=MathClamp$1(s2,r2.width,i2.width),r2.height+=c2,r2.children.push(t2);break}}function getAvailableSpace(e2){let t2=e2[W].availableSpace,n2=e2.margin?e2.margin.topInset+e2.margin.bottomInset:0,r2=e2.margin?e2.margin.leftInset+e2.margin.rightInset:0;switch(e2.layout){case"lr-tb":case"rl-tb":return e2[W].attempt===0?{width:t2.width-r2-e2[W].currentWidth,height:t2.height-n2-e2[W].prevHeight}:{width:t2.width-r2,height:t2.height-n2-e2[W].height};case"rl-row":case"row":return{width:Math.sumPrecise(e2[W].columnWidths.slice(e2[W].currentColumn)),height:t2.height-r2};case"table":case"tb":return{width:t2.width-r2,height:t2.height-n2-e2[W].height};default:return t2}}function getTransformedBBox(e2){let t2=e2.w===""?NaN:e2.w,n2=e2.h===""?NaN:e2.h,[r2,i2]=[0,0];switch(e2.anchorType||""){case"bottomCenter":[r2,i2]=[t2/2,n2];break;case"bottomLeft":[r2,i2]=[0,n2];break;case"bottomRight":[r2,i2]=[t2,n2];break;case"middleCenter":[r2,i2]=[t2/2,n2/2];break;case"middleLeft":[r2,i2]=[0,n2/2];break;case"middleRight":[r2,i2]=[t2,n2/2];break;case"topCenter":[r2,i2]=[t2/2,0];break;case"topRight":[r2,i2]=[t2,0];break}let a2,o2;switch(e2.rotate||0){case 0:[a2,o2]=[-r2,-i2];break;case 90:[a2,o2]=[-i2,r2],[t2,n2]=[n2,-t2];break;case 180:[a2,o2]=[r2,i2],[t2,n2]=[-t2,-n2];break;case 270:[a2,o2]=[i2,-r2],[t2,n2]=[-n2,t2];break}return[e2.x+a2+Math.min(0,t2),e2.y+o2+Math.min(0,n2),Math.abs(t2),Math.abs(n2)]}function checkDimensions(e2,t2){if(e2[di]()[W].firstUnsplittable===null||e2.w===0||e2.h===0)return!0;let n2=e2[ui](),r2=n2[W]?.attempt||0,[,i2,a2,o2]=getTransformedBBox(e2);switch(n2.layout){case"lr-tb":case"rl-tb":return r2===0?e2[di]()[W].noLayoutFailure?e2.w===""?t2.width>2:Math.round(a2-t2.width)<=2:e2.h!==""&&Math.round(o2-t2.height)>2?!1:e2.w===""?t2.width>2:Math.round(a2-t2.width)<=2||n2[W].numberInLine===0&&t2.height>2:e2[di]()[W].noLayoutFailure?!0:e2.h!==""&&Math.round(o2-t2.height)>2?!1:(e2.w===""||Math.round(a2-t2.width)<=2||!n2[Ci]())&&t2.height>2;case"table":case"tb":return e2[di]()[W].noLayoutFailure?!0:e2.h!==""&&!e2[Si]()?Math.round(o2-t2.height)<=2:(e2.w===""||Math.round(a2-t2.width)<=2||!n2[Ci]())&&t2.height>2;case"position":if(e2[di]()[W].noLayoutFailure||e2.h===""||Math.round(o2+i2-t2.height)<=2)return!0;let s2=e2[di]()[W].currentContentArea;return o2+i2>s2.h;case"rl-row":case"row":return e2[di]()[W].noLayoutFailure?!0:e2.h===""||Math.round(o2-t2.height)<=2;default:return!0}}var Z=Qi.template.id,Ea=/^H(\d+)$/,Da=new Set(["image/gif","image/jpeg","image/jpg","image/pjpeg","image/png","image/apng","image/x-png","image/bmp","image/x-ms-bmp","image/tiff","image/tif","application/octet-stream"]),Oa=[[[66,77],"image/bmp"],[[255,216,255],"image/jpeg"],[[73,73,42,0],"image/tiff"],[[77,77,0,42],"image/tiff"],[[71,73,70,56,57,97],"image/gif"],[[137,80,78,71,13,10,26,10],"image/png"]];function getBorderDims(e2){if(!e2||!e2.border)return{w:0,h:0};let t2=e2.border[ai]();return t2?{w:t2.widths[0]+t2.widths[2]+t2.insets[0]+t2.insets[2],h:t2.widths[1]+t2.widths[3]+t2.insets[1]+t2.insets[3]}:{w:0,h:0}}function hasMargin(e2){return e2.margin&&(e2.margin.topInset||e2.margin.rightInset||e2.margin.bottomInset||e2.margin.leftInset)}function _setValue(e2,t2){if(!e2.value){let t3=new Value({});e2[Vr](t3),e2.value=t3}e2.value[Wi](t2)}function*getContainedChildren(e2){for(let t2 of e2[si]()){if(t2 instanceof SubformSet){yield*t2[ci]();continue}yield t2}}function isRequired(e2){return e2.validate?.nullTest==="error"}function setTabIndex(e2){for(;e2;){if(!e2.traversal){e2[Gi]=e2[G]()[Gi];return}if(e2[Gi])return;let t2=null;for(let n3 of e2.traversal[si]())if(n3.operation==="next"){t2=n3;break}if(!t2||!t2.ref){e2[Gi]=e2[G]()[Gi];return}let n2=e2[di]();e2[Gi]=++n2[Gi];let r2=n2[Bi](t2.ref,e2);if(!r2)return;e2=r2[0]}}function applyAssist(e2,t2){let n2=e2.assist;if(n2){let e3=n2[K]();e3&&(t2.title=e3);let r2=n2.role.match(Ea);if(r2){let e4=r2[1];t2.role="heading",t2["aria-level"]=e4}}if(e2.layout==="table")t2.role="table";else if(e2.layout==="row")t2.role="row";else{let n3=e2[G]();n3.layout==="row"&&(t2.role=n3.assist?.role==="TH"?"columnheader":"cell")}}function ariaLabel(e2){if(!e2.assist)return null;let t2=e2.assist;return t2.speak&&t2.speak[U]!==""?t2.speak[U]:t2.toolTip?t2.toolTip[U]:null}function valueToHtml(e2){return q.success({name:"div",attributes:{class:["xfaRich"],style:Object.create(null)},children:[{name:"span",attributes:{style:Object.create(null)},value:e2}]})}function setFirstUnsplittable(e2){let t2=e2[di]();t2[W].firstUnsplittable===null&&(t2[W].firstUnsplittable=e2,t2[W].noLayoutFailure=!0)}function unsetFirstUnsplittable(e2){let t2=e2[di]();t2[W].firstUnsplittable===e2&&(t2[W].noLayoutFailure=!1)}function handleBreak(e2){if(e2[W]||(e2[W]=Object.create(null),e2.targetType==="auto"))return!1;let t2=e2[di](),n2=null;if(e2.target){if(n2=t2[Bi](e2.target,e2[G]()),!n2)return!1;n2=n2[0]}let{currentPageArea:r2,currentContentArea:i2}=t2[W];if(e2.targetType==="pageArea")return n2 instanceof PageArea||(n2=null),e2.startNew?(e2[W].target=n2||r2,!0):n2&&n2!==r2?(e2[W].target=n2,!0):!1;n2 instanceof ContentArea||(n2=null);let a2=n2&&n2[G](),o2,s2=a2;if(e2.startNew)if(n2){let e3=a2.contentArea.children,t3=e3.indexOf(i2),r3=e3.indexOf(n2);t3!==-1&&t3<r3&&(s2=null),o2=r3-1}else o2=r2.contentArea.children.indexOf(i2);else if(n2&&n2!==i2)o2=a2.contentArea.children.indexOf(n2)-1,s2=a2===r2?null:a2;else return!1;return e2[W].target=s2,e2[W].index=o2,!0}function handleOverflow(e2,t2,n2){let r2=e2[di](),i2=r2[W].noLayoutFailure,a2=t2[ui];t2[ui]=()=>e2,r2[W].noLayoutFailure=!0;let o2=t2[K](n2);e2[zr](o2.html,o2.bbox),r2[W].noLayoutFailure=i2,t2[ui]=a2}var AppearanceFilter=class extends StringObject{constructor(e2){super(Z,"appearanceFilter"),this.id=e2.id||"",this.type=getStringOption(e2.type,["optional","required"]),this.use=e2.use||"",this.usehref=e2.usehref||""}},Arc=class extends Y{constructor(e2){super(Z,"arc",!0),this.circular=getInteger({data:e2.circular,defaultValue:0,validate:e3=>e3===1}),this.hand=getStringOption(e2.hand,["even","left","right"]),this.id=e2.id||"",this.startAngle=getFloat({data:e2.startAngle,defaultValue:0,validate:e3=>!0}),this.sweepAngle=getFloat({data:e2.sweepAngle,defaultValue:360,validate:e3=>!0}),this.use=e2.use||"",this.usehref=e2.usehref||"",this.edge=null,this.fill=null}[K](){let e2=this.edge||new Edge({}),t2=e2[Yi](),n2=Object.create(null);this.fill?.presence==="visible"?Object.assign(n2,this.fill[Yi]()):n2.fill="transparent",n2.strokeWidth=measureToString(e2.presence==="visible"?e2.thickness:0),n2.stroke=t2.color;let r2,i2={xmlns:s,style:{width:"100%",height:"100%",overflow:"visible"}};if(this.sweepAngle===360)r2={name:"ellipse",attributes:{xmlns:s,cx:"50%",cy:"50%",rx:"50%",ry:"50%",style:n2}};else{let e3=this.startAngle*Math.PI/180,t3=this.sweepAngle*Math.PI/180,a3=+(this.sweepAngle>180),[o2,c2,l2,u2]=[50*(1+Math.cos(e3)),50*(1-Math.sin(e3)),50*(1+Math.cos(e3+t3)),50*(1-Math.sin(e3+t3))];r2={name:"path",attributes:{xmlns:s,d:`M ${o2} ${c2} A 50 50 0 ${a3} 0 ${l2} ${u2}`,vectorEffect:"non-scaling-stroke",style:n2}},Object.assign(i2,{viewBox:"0 0 100 100",preserveAspectRatio:"none"})}let a2={name:"svg",children:[r2],attributes:i2};return hasMargin(this[G]()[G]())?q.success({name:"div",attributes:{style:{display:"inline",width:"100%",height:"100%"}},children:[a2]}):(a2.attributes.style.position="absolute",q.success(a2))}},Area=class extends Y{constructor(e2){super(Z,"area",!0),this.colSpan=getInteger({data:e2.colSpan,defaultValue:1,validate:e3=>e3>=1||e3===-1}),this.id=e2.id||"",this.name=e2.name||"",this.relevant=getRelevant(e2.relevant),this.use=e2.use||"",this.usehref=e2.usehref||"",this.x=getMeasurement(e2.x,"0pt"),this.y=getMeasurement(e2.y,"0pt"),this.desc=null,this.extras=null,this.area=new X,this.draw=new X,this.exObject=new X,this.exclGroup=new X,this.field=new X,this.subform=new X,this.subformSet=new X}*[ci](){yield*getContainedChildren(this)}[wi](){return!0}[vi](){return!0}[zr](e2,t2){let[n2,r2,i2,a2]=t2;this[W].width=Math.max(this[W].width,n2+i2),this[W].height=Math.max(this[W].height,r2+a2),this[W].children.push(e2)}[ei](){return this[W].availableSpace}[K](e2){let t2=toStyle(this,"position"),n2={style:t2,id:this[Xi],class:["xfaArea"]};isPrintOnly(this)&&n2.class.push("xfaPrintOnly"),this.name&&(n2.xfaName=this.name);let r2=[];this[W]={children:r2,width:0,height:0,availableSpace:e2};let i2=this[Hr]({filter:new Set(["area","draw","field","exclGroup","subform","subformSet"]),include:!0});if(!i2.success)return i2.isBreak()?i2:(delete this[W],q.FAILURE);t2.width=measureToString(this[W].width),t2.height=measureToString(this[W].height);let a2={name:"div",attributes:n2,children:r2},o2=[this.x,this.y,this[W].width,this[W].height];return delete this[W],q.success(a2,o2)}},Assist=class extends Y{constructor(e2){super(Z,"assist",!0),this.id=e2.id||"",this.role=e2.role||"",this.use=e2.use||"",this.usehref=e2.usehref||"",this.speak=null,this.toolTip=null}[K](){return this.toolTip?.[U]||null}},Barcode=class extends Y{constructor(e2){super(Z,"barcode",!0),this.charEncoding=getKeyword({data:e2.charEncoding?e2.charEncoding.toLowerCase():"",defaultValue:"",validate:e3=>["utf-8","big-five","fontspecific","gbk","gb-18030","gb-2312","ksc-5601","none","shift-jis","ucs-2","utf-16"].includes(e3)||e3.match(/iso-8859-\d{2}/)}),this.checksum=getStringOption(e2.checksum,["none","1mod10","1mod10_1mod11","2mod10","auto"]),this.dataColumnCount=getInteger({data:e2.dataColumnCount,defaultValue:-1,validate:e3=>e3>=0}),this.dataLength=getInteger({data:e2.dataLength,defaultValue:-1,validate:e3=>e3>=0}),this.dataPrep=getStringOption(e2.dataPrep,["none","flateCompress"]),this.dataRowCount=getInteger({data:e2.dataRowCount,defaultValue:-1,validate:e3=>e3>=0}),this.endChar=e2.endChar||"",this.errorCorrectionLevel=getInteger({data:e2.errorCorrectionLevel,defaultValue:-1,validate:e3=>e3>=0&&e3<=8}),this.id=e2.id||"",this.moduleHeight=getMeasurement(e2.moduleHeight,"5mm"),this.moduleWidth=getMeasurement(e2.moduleWidth,"0.25mm"),this.printCheckDigit=getInteger({data:e2.printCheckDigit,defaultValue:0,validate:e3=>e3===1}),this.rowColumnRatio=getRatio(e2.rowColumnRatio),this.startChar=e2.startChar||"",this.textLocation=getStringOption(e2.textLocation,["below","above","aboveEmbedded","belowEmbedded","none"]),this.truncate=getInteger({data:e2.truncate,defaultValue:0,validate:e3=>e3===1}),this.type=getStringOption(e2.type?e2.type.toLowerCase():"","aztec.codabar.code2of5industrial.code2of5interleaved.code2of5matrix.code2of5standard.code3of9.code3of9extended.code11.code49.code93.code128.code128a.code128b.code128c.code128sscc.datamatrix.ean8.ean8add2.ean8add5.ean13.ean13add2.ean13add5.ean13pwcd.fim.logmars.maxicode.msi.pdf417.pdf417macro.plessey.postauscust2.postauscust3.postausreplypaid.postausstandard.postukrm4scc.postusdpbc.postusimb.postusstandard.postus5zip.qrcode.rfid.rss14.rss14expanded.rss14limited.rss14stacked.rss14stackedomni.rss14truncated.telepen.ucc128.ucc128random.ucc128sscc.upca.upcaadd2.upcaadd5.upcapwcd.upce.upceadd2.upceadd5.upcean2.upcean5.upsmaxicode".split(".")),this.upsMode=getStringOption(e2.upsMode,["usCarrier","internationalCarrier","secureSymbol","standardSymbol"]),this.use=e2.use||"",this.usehref=e2.usehref||"",this.wideNarrowRatio=getRatio(e2.wideNarrowRatio),this.encrypt=null,this.extras=null}},Bind=class extends Y{constructor(e2){super(Z,"bind",!0),this.match=getStringOption(e2.match,["once","dataRef","global","none"]),this.ref=e2.ref||"",this.picture=null}},BindItems=class extends Y{constructor(e2){super(Z,"bindItems"),this.connection=e2.connection||"",this.labelRef=e2.labelRef||"",this.ref=e2.ref||"",this.valueRef=e2.valueRef||""}},Bookend=class extends Y{constructor(e2){super(Z,"bookend"),this.id=e2.id||"",this.leader=e2.leader||"",this.trailer=e2.trailer||"",this.use=e2.use||"",this.usehref=e2.usehref||""}},BooleanElement=class extends Option01{constructor(e2){super(Z,"boolean"),this.id=e2.id||"",this.name=e2.name||"",this.use=e2.use||"",this.usehref=e2.usehref||""}[K](e2){return valueToHtml(this[U]===1?"1":"0")}},Border=class extends Y{constructor(e2){super(Z,"border",!0),this.break=getStringOption(e2.break,["close","open"]),this.hand=getStringOption(e2.hand,["even","left","right"]),this.id=e2.id||"",this.presence=getStringOption(e2.presence,["visible","hidden","inactive","invisible"]),this.relevant=getRelevant(e2.relevant),this.use=e2.use||"",this.usehref=e2.usehref||"",this.corner=new X(4),this.edge=new X(4),this.extras=null,this.fill=null,this.margin=null}[ai](){if(!this[W]){let e2=this.edge.children.slice();if(e2.length<4){let t3=e2.at(-1)||new Edge({});for(let n3=e2.length;n3<4;n3++)e2.push(t3)}let t2=e2.map(e3=>e3.thickness),n2=[0,0,0,0];this.margin&&(n2[0]=this.margin.topInset,n2[1]=this.margin.rightInset,n2[2]=this.margin.bottomInset,n2[3]=this.margin.leftInset),this[W]={widths:t2,insets:n2,edges:e2}}return this[W]}[Yi](){let{edges:e2}=this[ai](),t2=e2.map(e3=>{let t3=e3[Yi]();return t3.color||="#000000",t3}),n2=Object.create(null);if(this.margin&&Object.assign(n2,this.margin[Yi]()),this.fill?.presence==="visible"&&Object.assign(n2,this.fill[Yi]()),this.corner.children.some(e3=>e3.radius!==0)){let e3=this.corner.children.map(e4=>e4[Yi]());if(e3.length===2||e3.length===3){let t3=e3.at(-1);for(let n3=e3.length;n3<4;n3++)e3.push(t3)}n2.borderRadius=e3.map(e4=>e4.radius).join(" ")}switch(this.presence){case"invisible":case"hidden":n2.borderStyle="";break;case"inactive":n2.borderStyle="none";break;default:n2.borderStyle=t2.map(e3=>e3.style).join(" ");break}return n2.borderWidth=t2.map(e3=>e3.width).join(" "),n2.borderColor=t2.map(e3=>e3.color).join(" "),n2}},Break=class extends Y{constructor(e2){super(Z,"break",!0),this.after=getStringOption(e2.after,["auto","contentArea","pageArea","pageEven","pageOdd"]),this.afterTarget=e2.afterTarget||"",this.before=getStringOption(e2.before,["auto","contentArea","pageArea","pageEven","pageOdd"]),this.beforeTarget=e2.beforeTarget||"",this.bookendLeader=e2.bookendLeader||"",this.bookendTrailer=e2.bookendTrailer||"",this.id=e2.id||"",this.overflowLeader=e2.overflowLeader||"",this.overflowTarget=e2.overflowTarget||"",this.overflowTrailer=e2.overflowTrailer||"",this.startNew=getInteger({data:e2.startNew,defaultValue:0,validate:e3=>e3===1}),this.use=e2.use||"",this.usehref=e2.usehref||"",this.extras=null}},BreakAfter=class extends Y{constructor(e2){super(Z,"breakAfter",!0),this.id=e2.id||"",this.leader=e2.leader||"",this.startNew=getInteger({data:e2.startNew,defaultValue:0,validate:e3=>e3===1}),this.target=e2.target||"",this.targetType=getStringOption(e2.targetType,["auto","contentArea","pageArea"]),this.trailer=e2.trailer||"",this.use=e2.use||"",this.usehref=e2.usehref||"",this.script=null}},BreakBefore=class extends Y{constructor(e2){super(Z,"breakBefore",!0),this.id=e2.id||"",this.leader=e2.leader||"",this.startNew=getInteger({data:e2.startNew,defaultValue:0,validate:e3=>e3===1}),this.target=e2.target||"",this.targetType=getStringOption(e2.targetType,["auto","contentArea","pageArea"]),this.trailer=e2.trailer||"",this.use=e2.use||"",this.usehref=e2.usehref||"",this.script=null}[K](e2){return this[W]={},q.FAILURE}},Button=class extends Y{constructor(e2){super(Z,"button",!0),this.highlight=getStringOption(e2.highlight,["inverted","none","outline","push"]),this.id=e2.id||"",this.use=e2.use||"",this.usehref=e2.usehref||"",this.extras=null}[K](e2){let t2=this[G]()[G](),n2={name:"button",attributes:{id:this[Xi],class:["xfaButton"],style:{}},children:[]};for(let e3 of t2.event.children){if(e3.activity!=="click"||!e3.script)continue;let t3=recoverJsURL(e3.script[U]);if(!t3)continue;let r2=fixURL(t3.url);r2&&n2.children.push({name:"a",attributes:{id:"link"+this[Xi],href:r2,newWindow:t3.newWindow,class:["xfaLink"],style:{}},children:[]})}return q.success(n2)}},Calculate=class extends Y{constructor(e2){super(Z,"calculate",!0),this.id=e2.id||"",this.override=getStringOption(e2.override,["disabled","error","ignore","warning"]),this.use=e2.use||"",this.usehref=e2.usehref||"",this.extras=null,this.message=null,this.script=null}},Caption=class extends Y{constructor(e2){super(Z,"caption",!0),this.id=e2.id||"",this.placement=getStringOption(e2.placement,["left","bottom","inline","right","top"]),this.presence=getStringOption(e2.presence,["visible","hidden","inactive","invisible"]),this.reserve=Math.ceil(getMeasurement(e2.reserve)),this.use=e2.use||"",this.usehref=e2.usehref||"",this.extras=null,this.font=null,this.margin=null,this.para=null,this.value=null}[Wi](e2){_setValue(this,e2)}[ai](e2){if(!this[W]){let{width:t2,height:n2}=e2;switch(this.placement){case"left":case"right":case"inline":t2=this.reserve<=0?t2:this.reserve;break;case"top":case"bottom":n2=this.reserve<=0?n2:this.reserve;break}this[W]=layoutNode(this,{width:t2,height:n2})}return this[W]}[K](e2){if(!this.value)return q.EMPTY;this[Fi]();let t2=this.value[K](e2).html;if(!t2)return this[Pi](),q.EMPTY;let n2=this.reserve;if(this.reserve<=0){let{w:t3,h:n3}=this[ai](e2);switch(this.placement){case"left":case"right":case"inline":this.reserve=t3;break;case"top":case"bottom":this.reserve=n3;break}}let r2=[];typeof t2=="string"?r2.push({name:"#text",value:t2}):r2.push(t2);let i2=toStyle(this,"font","margin","visibility");switch(this.placement){case"left":case"right":this.reserve>0&&(i2.width=measureToString(this.reserve));break;case"top":case"bottom":this.reserve>0&&(i2.height=measureToString(this.reserve));break}return setPara(this,null,t2),this[Pi](),this.reserve=n2,q.success({name:"div",attributes:{style:i2,class:["xfaCaption"]},children:r2})}},Certificate=class extends StringObject{constructor(e2){super(Z,"certificate"),this.id=e2.id||"",this.name=e2.name||"",this.use=e2.use||"",this.usehref=e2.usehref||""}},Certificates=class extends Y{constructor(e2){super(Z,"certificates",!0),this.credentialServerPolicy=getStringOption(e2.credentialServerPolicy,["optional","required"]),this.id=e2.id||"",this.url=e2.url||"",this.urlPolicy=e2.urlPolicy||"",this.use=e2.use||"",this.usehref=e2.usehref||"",this.encryption=null,this.issuers=null,this.keyUsage=null,this.oids=null,this.signing=null,this.subjectDNs=null}},CheckButton=class extends Y{constructor(e2){super(Z,"checkButton",!0),this.id=e2.id||"",this.mark=getStringOption(e2.mark,["default","check","circle","cross","diamond","square","star"]),this.shape=getStringOption(e2.shape,["square","round"]),this.size=getMeasurement(e2.size,"10pt"),this.use=e2.use||"",this.usehref=e2.usehref||"",this.border=null,this.extras=null,this.margin=null}[K](e2){let t2=toStyle(this,"margin");t2.width=t2.height=measureToString(this.size);let n2,r2,i2,a2=this[G]()[G](),o2=a2.items.children.length&&a2.items.children[0][K]().html||[],s2={on:(o2[0]===void 0?"on":o2[0]).toString(),off:(o2[1]===void 0?"off":o2[1]).toString()},c2=(a2.value?.[Ki]()||"off")===s2.on||void 0,l2=a2[ui](),u2=a2[Xi],d2;l2 instanceof ExclGroup?(i2=l2[Xi],n2="radio",r2="xfaRadio",d2=l2[Jr]?.[Xi]||l2[Xi]):(n2="checkbox",r2="xfaCheckbox",d2=a2[Jr]?.[Xi]||a2[Xi]);let f2={name:"input",attributes:{class:[r2],style:t2,fieldId:u2,dataId:d2,type:n2,checked:c2,xfaOn:s2.on,xfaOff:s2.off,"aria-label":ariaLabel(a2),"aria-required":!1}};return i2&&(f2.attributes.name=i2),isRequired(a2)&&(f2.attributes["aria-required"]=!0,f2.attributes.required=!0),q.success({name:"label",attributes:{class:["xfaLabel"]},children:[f2]})}},ChoiceList=class extends Y{constructor(e2){super(Z,"choiceList",!0),this.commitOn=getStringOption(e2.commitOn,["select","exit"]),this.id=e2.id||"",this.open=getStringOption(e2.open,["userControl","always","multiSelect","onEntry"]),this.textEntry=getInteger({data:e2.textEntry,defaultValue:0,validate:e3=>e3===1}),this.use=e2.use||"",this.usehref=e2.usehref||"",this.border=null,this.extras=null,this.margin=null}[K](e2){let t2=toStyle(this,"border","margin"),n2=this[G]()[G](),r2={fontSize:`calc(${n2.font?.size||10}px * var(--total-scale-factor))`},i2=[];if(n2.items.children.length>0){let e3=n2.items,t3=0,a3=0;e3.children.length===2&&(t3=e3.children[0].save,a3=1-t3);let o2=e3.children[t3][K]().html,s2=e3.children[a3][K]().html,c2=!1,l2=n2.value?.[Ki]()||"";for(let e4=0,t4=o2.length;e4<t4;e4++){let t5={name:"option",attributes:{value:s2[e4]||o2[e4],style:r2},value:o2[e4]};s2[e4]===l2&&(t5.attributes.selected=c2=!0),i2.push(t5)}c2||i2.splice(0,0,{name:"option",attributes:{hidden:!0,selected:!0},value:" "})}let a2={class:["xfaSelect"],fieldId:n2[Xi],dataId:n2[Jr]?.[Xi]||n2[Xi],style:t2,"aria-label":ariaLabel(n2),"aria-required":!1};return isRequired(n2)&&(a2["aria-required"]=!0,a2.required=!0),this.open==="multiSelect"&&(a2.multiple=!0),q.success({name:"label",attributes:{class:["xfaLabel"]},children:[{name:"select",children:i2,attributes:a2}]})}},Color=class extends Y{constructor(e2){super(Z,"color",!0),this.cSpace=getStringOption(e2.cSpace,["SRGB"]),this.id=e2.id||"",this.use=e2.use||"",this.usehref=e2.usehref||"",this.value=e2.value?getColor(e2.value):"",this.extras=null}[pi](){return!1}[Yi](){return this.value?Util$1.makeHexColor(this.value.r,this.value.g,this.value.b):null}},Comb=class extends Y{constructor(e2){super(Z,"comb"),this.id=e2.id||"",this.numberOfCells=getInteger({data:e2.numberOfCells,defaultValue:0,validate:e3=>e3>=0}),this.use=e2.use||"",this.usehref=e2.usehref||""}},Connect=class extends Y{constructor(e2){super(Z,"connect",!0),this.connection=e2.connection||"",this.id=e2.id||"",this.ref=e2.ref||"",this.usage=getStringOption(e2.usage,["exportAndImport","exportOnly","importOnly"]),this.use=e2.use||"",this.usehref=e2.usehref||"",this.picture=null}},ContentArea=class extends Y{constructor(e2){super(Z,"contentArea",!0),this.h=getMeasurement(e2.h),this.id=e2.id||"",this.name=e2.name||"",this.relevant=getRelevant(e2.relevant),this.use=e2.use||"",this.usehref=e2.usehref||"",this.w=getMeasurement(e2.w),this.x=getMeasurement(e2.x,"0pt"),this.y=getMeasurement(e2.y,"0pt"),this.desc=null,this.extras=null}[K](e2){let t2={left:measureToString(this.x),top:measureToString(this.y),width:measureToString(this.w),height:measureToString(this.h)},n2=["xfaContentarea"];return isPrintOnly(this)&&n2.push("xfaPrintOnly"),q.success({name:"div",children:[],attributes:{style:t2,class:n2,id:this[Xi]}})}},Corner=class extends Y{constructor(e2){super(Z,"corner",!0),this.id=e2.id||"",this.inverted=getInteger({data:e2.inverted,defaultValue:0,validate:e3=>e3===1}),this.join=getStringOption(e2.join,["square","round"]),this.presence=getStringOption(e2.presence,["visible","hidden","inactive","invisible"]),this.radius=getMeasurement(e2.radius),this.stroke=getStringOption(e2.stroke,["solid","dashDot","dashDotDot","dashed","dotted","embossed","etched","lowered","raised"]),this.thickness=getMeasurement(e2.thickness,"0.5pt"),this.use=e2.use||"",this.usehref=e2.usehref||"",this.color=null,this.extras=null}[Yi](){let e2=toStyle(this,"visibility");return e2.radius=measureToString(this.join==="square"?0:this.radius),e2}},DateElement=class extends ContentObject{constructor(e2){super(Z,"date"),this.id=e2.id||"",this.name=e2.name||"",this.use=e2.use||"",this.usehref=e2.usehref||""}[Xr](){let e2=this[U].trim();this[U]=e2?new Date(e2):null}[K](e2){return valueToHtml(this[U]?this[U].toString():"")}},DateTime=class extends ContentObject{constructor(e2){super(Z,"dateTime"),this.id=e2.id||"",this.name=e2.name||"",this.use=e2.use||"",this.usehref=e2.usehref||""}[Xr](){let e2=this[U].trim();this[U]=e2?new Date(e2):null}[K](e2){return valueToHtml(this[U]?this[U].toString():"")}},DateTimeEdit=class extends Y{constructor(e2){super(Z,"dateTimeEdit",!0),this.hScrollPolicy=getStringOption(e2.hScrollPolicy,["auto","off","on"]),this.id=e2.id||"",this.picker=getStringOption(e2.picker,["host","none"]),this.use=e2.use||"",this.usehref=e2.usehref||"",this.border=null,this.comb=null,this.extras=null,this.margin=null}[K](e2){let t2=toStyle(this,"border","font","margin"),n2=this[G]()[G](),r2={name:"input",attributes:{type:"text",fieldId:n2[Xi],dataId:n2[Jr]?.[Xi]||n2[Xi],class:["xfaTextfield"],style:t2,"aria-label":ariaLabel(n2),"aria-required":!1}};return isRequired(n2)&&(r2.attributes["aria-required"]=!0,r2.attributes.required=!0),q.success({name:"label",attributes:{class:["xfaLabel"]},children:[r2]})}},Decimal=class extends ContentObject{constructor(e2){super(Z,"decimal"),this.fracDigits=getInteger({data:e2.fracDigits,defaultValue:2,validate:e3=>!0}),this.id=e2.id||"",this.leadDigits=getInteger({data:e2.leadDigits,defaultValue:-1,validate:e3=>!0}),this.name=e2.name||"",this.use=e2.use||"",this.usehref=e2.usehref||""}[Xr](){let e2=parseFloat(this[U].trim());this[U]=isNaN(e2)?null:e2}[K](e2){return valueToHtml(this[U]===null?"":this[U].toString())}},DefaultUi=class extends Y{constructor(e2){super(Z,"defaultUi",!0),this.id=e2.id||"",this.use=e2.use||"",this.usehref=e2.usehref||"",this.extras=null}},Desc=class extends Y{constructor(e2){super(Z,"desc",!0),this.id=e2.id||"",this.use=e2.use||"",this.usehref=e2.usehref||"",this.boolean=new X,this.date=new X,this.dateTime=new X,this.decimal=new X,this.exData=new X,this.float=new X,this.image=new X,this.integer=new X,this.text=new X,this.time=new X}},DigestMethod=class extends OptionObject{constructor(e2){super(Z,"digestMethod",["","SHA1","SHA256","SHA512","RIPEMD160"]),this.id=e2.id||"",this.use=e2.use||"",this.usehref=e2.usehref||""}},DigestMethods=class extends Y{constructor(e2){super(Z,"digestMethods",!0),this.id=e2.id||"",this.type=getStringOption(e2.type,["optional","required"]),this.use=e2.use||"",this.usehref=e2.usehref||"",this.digestMethod=new X}},Draw=class extends Y{constructor(e2){super(Z,"draw",!0),this.anchorType=getStringOption(e2.anchorType,["topLeft","bottomCenter","bottomLeft","bottomRight","middleCenter","middleLeft","middleRight","topCenter","topRight"]),this.colSpan=getInteger({data:e2.colSpan,defaultValue:1,validate:e3=>e3>=1||e3===-1}),this.h=e2.h?getMeasurement(e2.h):"",this.hAlign=getStringOption(e2.hAlign,["left","center","justify","justifyAll","radix","right"]),this.id=e2.id||"",this.locale=e2.locale||"",this.maxH=getMeasurement(e2.maxH,"0pt"),this.maxW=getMeasurement(e2.maxW,"0pt"),this.minH=getMeasurement(e2.minH,"0pt"),this.minW=getMeasurement(e2.minW,"0pt"),this.name=e2.name||"",this.presence=getStringOption(e2.presence,["visible","hidden","inactive","invisible"]),this.relevant=getRelevant(e2.relevant),this.rotate=getInteger({data:e2.rotate,defaultValue:0,validate:e3=>e3%90==0}),this.use=e2.use||"",this.usehref=e2.usehref||"",this.w=e2.w?getMeasurement(e2.w):"",this.x=getMeasurement(e2.x,"0pt"),this.y=getMeasurement(e2.y,"0pt"),this.assist=null,this.border=null,this.caption=null,this.desc=null,this.extras=null,this.font=null,this.keep=null,this.margin=null,this.para=null,this.traversal=null,this.ui=null,this.value=null,this.setProperty=new X}[Wi](e2){_setValue(this,e2)}[K](e2){if(setTabIndex(this),this.presence==="hidden"||this.presence==="inactive")return q.EMPTY;fixDimensions(this),this[Fi]();let t2=this.w,n2=this.h,{w:r2,h:i2,isBroken:a2}=layoutNode(this,e2);if(r2&&this.w===""){if(a2&&this[ui]()[Ci]())return this[Pi](),q.FAILURE;this.w=r2}if(i2&&this.h===""&&(this.h=i2),setFirstUnsplittable(this),!checkDimensions(this,e2))return this.w=t2,this.h=n2,this[Pi](),q.FAILURE;unsetFirstUnsplittable(this);let o2=toStyle(this,"font","hAlign","dimensions","position","presence","rotate","anchorType","border","margin");setMinMaxDimensions(this,o2),o2.margin&&(o2.padding=o2.margin,delete o2.margin);let s2=["xfaDraw"];this.font&&s2.push("xfaFont"),isPrintOnly(this)&&s2.push("xfaPrintOnly");let c2={style:o2,id:this[Xi],class:s2};this.name&&(c2.xfaName=this.name);let l2={name:"div",attributes:c2,children:[]};applyAssist(this,c2);let u2=computeBbox(this,l2,e2),d2=this.value?this.value[K](e2).html:null;return d2===null?(this.w=t2,this.h=n2,this[Pi](),q.success(createWrapper(this,l2),u2)):(l2.children.push(d2),setPara(this,o2,d2),this.w=t2,this.h=n2,this[Pi](),q.success(createWrapper(this,l2),u2))}},Edge=class extends Y{constructor(e2){super(Z,"edge",!0),this.cap=getStringOption(e2.cap,["square","butt","round"]),this.id=e2.id||"",this.presence=getStringOption(e2.presence,["visible","hidden","inactive","invisible"]),this.stroke=getStringOption(e2.stroke,["solid","dashDot","dashDotDot","dashed","dotted","embossed","etched","lowered","raised"]),this.thickness=getMeasurement(e2.thickness,"0.5pt"),this.use=e2.use||"",this.usehref=e2.usehref||"",this.color=null,this.extras=null}[Yi](){let e2=toStyle(this,"visibility");if(Object.assign(e2,{linecap:this.cap,width:measureToString(this.thickness),color:this.color?this.color[Yi]():"#000000",style:""}),this.presence!=="visible")e2.style="none";else switch(this.stroke){case"solid":e2.style="solid";break;case"dashDot":e2.style="dashed";break;case"dashDotDot":e2.style="dashed";break;case"dashed":e2.style="dashed";break;case"dotted":e2.style="dotted";break;case"embossed":e2.style="ridge";break;case"etched":e2.style="groove";break;case"lowered":e2.style="inset";break;case"raised":e2.style="outset";break}return e2}},Encoding=class extends OptionObject{constructor(e2){super(Z,"encoding",["adbe.x509.rsa_sha1","adbe.pkcs7.detached","adbe.pkcs7.sha1"]),this.id=e2.id||"",this.use=e2.use||"",this.usehref=e2.usehref||""}},Encodings=class extends Y{constructor(e2){super(Z,"encodings",!0),this.id=e2.id||"",this.type=getStringOption(e2.type,["optional","required"]),this.use=e2.use||"",this.usehref=e2.usehref||"",this.encoding=new X}},Encrypt=class extends Y{constructor(e2){super(Z,"encrypt",!0),this.id=e2.id||"",this.use=e2.use||"",this.usehref=e2.usehref||"",this.certificate=null}},EncryptData=class extends Y{constructor(e2){super(Z,"encryptData",!0),this.id=e2.id||"",this.operation=getStringOption(e2.operation,["encrypt","decrypt"]),this.target=e2.target||"",this.use=e2.use||"",this.usehref=e2.usehref||"",this.filter=null,this.manifest=null}},Encryption=class extends Y{constructor(e2){super(Z,"encryption",!0),this.id=e2.id||"",this.type=getStringOption(e2.type,["optional","required"]),this.use=e2.use||"",this.usehref=e2.usehref||"",this.certificate=new X}},EncryptionMethod=class extends OptionObject{constructor(e2){super(Z,"encryptionMethod",["","AES256-CBC","TRIPLEDES-CBC","AES128-CBC","AES192-CBC"]),this.id=e2.id||"",this.use=e2.use||"",this.usehref=e2.usehref||""}},EncryptionMethods=class extends Y{constructor(e2){super(Z,"encryptionMethods",!0),this.id=e2.id||"",this.type=getStringOption(e2.type,["optional","required"]),this.use=e2.use||"",this.usehref=e2.usehref||"",this.encryptionMethod=new X}},Event$1=class extends Y{constructor(e2){super(Z,"event",!0),this.activity=getStringOption(e2.activity,"click.change.docClose.docReady.enter.exit.full.indexChange.initialize.mouseDown.mouseEnter.mouseExit.mouseUp.postExecute.postOpen.postPrint.postSave.postSign.postSubmit.preExecute.preOpen.prePrint.preSave.preSign.preSubmit.ready.validationState".split(".")),this.id=e2.id||"",this.listen=getStringOption(e2.listen,["refOnly","refAndDescendents"]),this.name=e2.name||"",this.ref=e2.ref||"",this.use=e2.use||"",this.usehref=e2.usehref||"",this.extras=null,this.encryptData=null,this.execute=null,this.script=null,this.signData=null,this.submit=null}},ExData=class extends ContentObject{constructor(e2){super(Z,"exData"),this.contentType=e2.contentType||"",this.href=e2.href||"",this.id=e2.id||"",this.maxLength=getInteger({data:e2.maxLength,defaultValue:-1,validate:e3=>e3>=-1}),this.name=e2.name||"",this.rid=e2.rid||"",this.transferEncoding=getStringOption(e2.transferEncoding,["none","base64","package"]),this.use=e2.use||"",this.usehref=e2.usehref||""}[_i](){return this.contentType==="text/html"}[Ai](e2){return this.contentType==="text/html"&&e2[Di]===Qi.xhtml.id||this.contentType==="text/xml"?(this[U]=e2,!0):!1}[K](e2){return this.contentType!=="text/html"||!this[U]?q.EMPTY:this[U][K](e2)}},ExObject=class extends Y{constructor(e2){super(Z,"exObject",!0),this.archive=e2.archive||"",this.classId=e2.classId||"",this.codeBase=e2.codeBase||"",this.codeType=e2.codeType||"",this.id=e2.id||"",this.name=e2.name||"",this.use=e2.use||"",this.usehref=e2.usehref||"",this.extras=null,this.boolean=new X,this.date=new X,this.dateTime=new X,this.decimal=new X,this.exData=new X,this.exObject=new X,this.float=new X,this.image=new X,this.integer=new X,this.text=new X,this.time=new X}},ExclGroup=class extends Y{constructor(e2){super(Z,"exclGroup",!0),this.access=getStringOption(e2.access,["open","nonInteractive","protected","readOnly"]),this.accessKey=e2.accessKey||"",this.anchorType=getStringOption(e2.anchorType,["topLeft","bottomCenter","bottomLeft","bottomRight","middleCenter","middleLeft","middleRight","topCenter","topRight"]),this.colSpan=getInteger({data:e2.colSpan,defaultValue:1,validate:e3=>e3>=1||e3===-1}),this.h=e2.h?getMeasurement(e2.h):"",this.hAlign=getStringOption(e2.hAlign,["left","center","justify","justifyAll","radix","right"]),this.id=e2.id||"",this.layout=getStringOption(e2.layout,["position","lr-tb","rl-row","rl-tb","row","table","tb"]),this.maxH=getMeasurement(e2.maxH,"0pt"),this.maxW=getMeasurement(e2.maxW,"0pt"),this.minH=getMeasurement(e2.minH,"0pt"),this.minW=getMeasurement(e2.minW,"0pt"),this.name=e2.name||"",this.presence=getStringOption(e2.presence,["visible","hidden","inactive","invisible"]),this.relevant=getRelevant(e2.relevant),this.use=e2.use||"",this.usehref=e2.usehref||"",this.w=e2.w?getMeasurement(e2.w):"",this.x=getMeasurement(e2.x,"0pt"),this.y=getMeasurement(e2.y,"0pt"),this.assist=null,this.bind=null,this.border=null,this.calculate=null,this.caption=null,this.desc=null,this.extras=null,this.margin=null,this.para=null,this.traversal=null,this.validate=null,this.connect=new X,this.event=new X,this.field=new X,this.setProperty=new X}[vi](){return!0}[pi](){return!0}[Wi](e2){for(let t2 of this.field.children){if(!t2.value){let e3=new Value({});t2[Vr](e3),t2.value=e3}t2.value[Wi](e2)}}[Ci](){return this.layout.endsWith("-tb")&&this[W].attempt===0&&this[W].numberInLine>0||this[G]()[Ci]()}[Si](){let e2=this[ui]();return e2[Si]()?this[W]._isSplittable===void 0?this.layout==="position"||this.layout.includes("row")?(this[W]._isSplittable=!1,!1):e2.layout?.endsWith("-tb")&&e2[W].numberInLine!==0?!1:(this[W]._isSplittable=!0,!0):this[W]._isSplittable:!1}[Zr](){return flushHTML(this)}[zr](e2,t2){addHTML(this,e2,t2)}[ei](){return getAvailableSpace(this)}[K](e2){if(setTabIndex(this),this.presence==="hidden"||this.presence==="inactive"||this.h===0||this.w===0)return q.EMPTY;fixDimensions(this);let t2=[],n2={id:this[Xi],class:[]};setAccess(this,n2.class),this[W]||=Object.create(null),Object.assign(this[W],{children:t2,attributes:n2,attempt:0,line:null,numberInLine:0,availableSpace:{width:Math.min(this.w||1/0,e2.width),height:Math.min(this.h||1/0,e2.height)},width:0,height:0,prevHeight:0,currentWidth:0});let r2=this[Si]();if(r2||setFirstUnsplittable(this),!checkDimensions(this,e2))return q.FAILURE;let i2=new Set(["field"]);if(this.layout.includes("row")){let e3=this[ui]().columnWidths;Array.isArray(e3)&&e3.length>0&&(this[W].columnWidths=e3,this[W].currentColumn=0)}let a2=toStyle(this,"anchorType","dimensions","position","presence","border","margin","hAlign"),o2=["xfaExclgroup"],s2=layoutClass(this);s2&&o2.push(s2),isPrintOnly(this)&&o2.push("xfaPrintOnly"),n2.style=a2,n2.class=o2,this.name&&(n2.xfaName=this.name),this[Fi]();let c2=this.layout==="lr-tb"||this.layout==="rl-tb",l2=c2?2:1;for(;this[W].attempt<l2;this[W].attempt++){c2&&this[W].attempt===1&&(this[W].numberInLine=0);let e3=this[Hr]({filter:i2,include:!0});if(e3.success)break;if(e3.isBreak())return this[Pi](),e3;if(c2&&this[W].attempt===0&&this[W].numberInLine===0&&!this[di]()[W].noLayoutFailure){this[W].attempt=l2;break}}if(this[Pi](),r2||unsetFirstUnsplittable(this),this[W].attempt===l2)return r2||delete this[W],q.FAILURE;let u2=0,d2=0;this.margin&&(u2=this.margin.leftInset+this.margin.rightInset,d2=this.margin.topInset+this.margin.bottomInset);let f2=Math.max(this[W].width+u2,this.w||0),p2=Math.max(this[W].height+d2,this.h||0),m2=[this.x,this.y,f2,p2];this.w===""&&(a2.width=measureToString(f2)),this.h===""&&(a2.height=measureToString(p2));let h2={name:"div",attributes:n2,children:t2};return applyAssist(this,n2),delete this[W],q.success(createWrapper(this,h2),m2)}},Execute=class extends Y{constructor(e2){super(Z,"execute"),this.connection=e2.connection||"",this.executeType=getStringOption(e2.executeType,["import","remerge"]),this.id=e2.id||"",this.runAt=getStringOption(e2.runAt,["client","both","server"]),this.use=e2.use||"",this.usehref=e2.usehref||""}},Extras=class extends Y{constructor(e2){super(Z,"extras",!0),this.id=e2.id||"",this.name=e2.name||"",this.use=e2.use||"",this.usehref=e2.usehref||"",this.boolean=new X,this.date=new X,this.dateTime=new X,this.decimal=new X,this.exData=new X,this.extras=new X,this.float=new X,this.image=new X,this.integer=new X,this.text=new X,this.time=new X}},Field=class extends Y{constructor(e2){super(Z,"field",!0),this.access=getStringOption(e2.access,["open","nonInteractive","protected","readOnly"]),this.accessKey=e2.accessKey||"",this.anchorType=getStringOption(e2.anchorType,["topLeft","bottomCenter","bottomLeft","bottomRight","middleCenter","middleLeft","middleRight","topCenter","topRight"]),this.colSpan=getInteger({data:e2.colSpan,defaultValue:1,validate:e3=>e3>=1||e3===-1}),this.h=e2.h?getMeasurement(e2.h):"",this.hAlign=getStringOption(e2.hAlign,["left","center","justify","justifyAll","radix","right"]),this.id=e2.id||"",this.locale=e2.locale||"",this.maxH=getMeasurement(e2.maxH,"0pt"),this.maxW=getMeasurement(e2.maxW,"0pt"),this.minH=getMeasurement(e2.minH,"0pt"),this.minW=getMeasurement(e2.minW,"0pt"),this.name=e2.name||"",this.presence=getStringOption(e2.presence,["visible","hidden","inactive","invisible"]),this.relevant=getRelevant(e2.relevant),this.rotate=getInteger({data:e2.rotate,defaultValue:0,validate:e3=>e3%90==0}),this.use=e2.use||"",this.usehref=e2.usehref||"",this.w=e2.w?getMeasurement(e2.w):"",this.x=getMeasurement(e2.x,"0pt"),this.y=getMeasurement(e2.y,"0pt"),this.assist=null,this.bind=null,this.border=null,this.calculate=null,this.caption=null,this.desc=null,this.extras=null,this.font=null,this.format=null,this.items=new X(2),this.keep=null,this.margin=null,this.para=null,this.traversal=null,this.ui=null,this.validate=null,this.value=null,this.bindItems=new X,this.connect=new X,this.event=new X,this.setProperty=new X}[vi](){return!0}[Wi](e2){_setValue(this,e2)}[K](e2){if(setTabIndex(this),!this.ui){this.ui=new Ui({}),this.ui[fi]=this[fi],this[Vr](this.ui);let e3;switch(this.items.children.length){case 0:e3=new TextEdit({}),this.ui.textEdit=e3;break;case 1:e3=new CheckButton({}),this.ui.checkButton=e3;break;case 2:e3=new ChoiceList({}),this.ui.choiceList=e3;break}this.ui[Vr](e3)}if(!this.ui||this.presence==="hidden"||this.presence==="inactive"||this.h===0||this.w===0)return q.EMPTY;this.caption&&delete this.caption[W],this[Fi]();let t2=this.caption?this.caption[K](e2).html:null,n2=this.w,r2=this.h,i2=0,a2=0;this.margin&&(i2=this.margin.leftInset+this.margin.rightInset,a2=this.margin.topInset+this.margin.bottomInset);let o2=null;if(this.w===""||this.h===""){let t3=null,n3=null,r3=0,s3=0;if(this.ui.checkButton)r3=s3=this.ui.checkButton.size;else{let{w:t4,h:n4}=layoutNode(this,e2);t4===null?s3=fonts_getMetrics(this.font,!0).lineNoGap:(r3=t4,s3=n4)}if(o2=getBorderDims(this.ui[ai]()),r3+=o2.w,s3+=o2.h,this.caption){let{w:i3,h:a3,isBroken:o3}=this.caption[ai](e2);if(o3&&this[ui]()[Ci]())return this[Pi](),q.FAILURE;switch(t3=i3,n3=a3,this.caption.placement){case"left":case"right":case"inline":t3+=r3;break;case"top":case"bottom":n3+=s3;break}}else t3=r3,n3=s3;t3&&this.w===""&&(t3+=i2,this.w=Math.min(this.maxW<=0?1/0:this.maxW,this.minW+1<t3?t3:this.minW)),n3&&this.h===""&&(n3+=a2,this.h=Math.min(this.maxH<=0?1/0:this.maxH,this.minH+1<n3?n3:this.minH))}if(this[Pi](),fixDimensions(this),setFirstUnsplittable(this),!checkDimensions(this,e2))return this.w=n2,this.h=r2,this[Pi](),q.FAILURE;unsetFirstUnsplittable(this);let s2=toStyle(this,"font","dimensions","position","rotate","anchorType","presence","margin","hAlign");setMinMaxDimensions(this,s2);let c2=["xfaField"];this.font&&c2.push("xfaFont"),isPrintOnly(this)&&c2.push("xfaPrintOnly");let l2={style:s2,id:this[Xi],class:c2};s2.margin&&(s2.padding=s2.margin,delete s2.margin),setAccess(this,c2),this.name&&(l2.xfaName=this.name);let u2=[],d2={name:"div",attributes:l2,children:u2};applyAssist(this,l2);let f2=this.border?this.border[Yi]():null,p2=computeBbox(this,d2,e2),m2=this.ui[K]().html;if(!m2)return Object.assign(s2,f2),q.success(createWrapper(this,d2),p2);this[Gi]&&(m2.children?.[0]?m2.children[0].attributes.tabindex=this[Gi]:m2.attributes.tabindex=this[Gi]),m2.attributes.style||=Object.create(null);let h2=null;if(this.ui.button?(m2.children.length===1&&([h2]=m2.children.splice(0,1)),Object.assign(m2.attributes.style,f2)):Object.assign(s2,f2),u2.push(m2),this.value){if(this.ui.imageEdit)m2.children.push(this.value[K]().html);else if(!this.ui.button){let e3="";if(this.value.exData)e3=this.value.exData[Ki]();else if(this.value.text)e3=this.value.text[ai]();else{let t3=this.value[K]().html;t3!==null&&(e3=t3.children[0].value)}this.ui.textEdit&&this.value.text?.maxChars&&(m2.children[0].attributes.maxLength=this.value.text.maxChars),e3&&(this.ui.numericEdit&&(e3=parseFloat(e3),e3=isNaN(e3)?"":e3.toString()),m2.children[0].name==="textarea"?m2.children[0].attributes.textContent=e3:m2.children[0].attributes.value=e3)}}if(!this.ui.imageEdit&&m2.children?.[0]&&this.h){o2||=getBorderDims(this.ui[ai]());let t3=0;if(this.caption&&["top","bottom"].includes(this.caption.placement)){t3=this.caption.reserve,t3<=0&&(t3=this.caption[ai](e2).h);let n3=this.h-t3-a2-o2.h;m2.children[0].attributes.style.height=measureToString(n3)}else m2.children[0].attributes.style.height="100%"}if(h2&&m2.children.push(h2),!t2)return m2.attributes.class&&m2.attributes.class.push("xfaLeft"),this.w=n2,this.h=r2,q.success(createWrapper(this,d2),p2);if(this.ui.button)return s2.padding&&delete s2.padding,t2.name==="div"&&(t2.name="span"),m2.children.push(t2),q.success(d2,p2);switch(this.ui.checkButton&&(t2.attributes.class[0]="xfaCaptionForCheckButton"),m2.attributes.class||=[],m2.children.splice(0,0,t2),this.caption.placement){case"left":m2.attributes.class.push("xfaLeft");break;case"right":m2.attributes.class.push("xfaRight");break;case"top":m2.attributes.class.push("xfaTop");break;case"bottom":m2.attributes.class.push("xfaBottom");break;case"inline":m2.attributes.class.push("xfaLeft");break}return this.w=n2,this.h=r2,q.success(createWrapper(this,d2),p2)}},Fill=class extends Y{constructor(e2){super(Z,"fill",!0),this.id=e2.id||"",this.presence=getStringOption(e2.presence,["visible","hidden","inactive","invisible"]),this.use=e2.use||"",this.usehref=e2.usehref||"",this.color=null,this.extras=null,this.linear=null,this.pattern=null,this.radial=null,this.solid=null,this.stipple=null}[Yi](){let e2=this[G](),t2=e2[G]()[G](),n2=Object.create(null),r2="color",i2=r2;e2 instanceof Border&&(r2="background-color",i2="background",t2 instanceof Ui&&(n2.backgroundColor="white")),(e2 instanceof Rectangle||e2 instanceof Arc)&&(r2=i2="fill",n2.fill="white");for(let e3 of Object.getOwnPropertyNames(this)){if(e3==="extras"||e3==="color")continue;let t3=this[e3];if(!(t3 instanceof Y))continue;let a2=t3[Yi](this.color);return a2&&(n2[a2.startsWith("#")?r2:i2]=a2),n2}if(this.color?.value){let e3=this.color[Yi]();n2[e3.startsWith("#")?r2:i2]=e3}return n2}},Filter=class extends Y{constructor(e2){super(Z,"filter",!0),this.addRevocationInfo=getStringOption(e2.addRevocationInfo,["","required","optional","none"]),this.id=e2.id||"",this.name=e2.name||"",this.use=e2.use||"",this.usehref=e2.usehref||"",this.version=getInteger({data:this.version,defaultValue:5,validate:e3=>e3>=1&&e3<=5}),this.appearanceFilter=null,this.certificates=null,this.digestMethods=null,this.encodings=null,this.encryptionMethods=null,this.handler=null,this.lockDocument=null,this.mdp=null,this.reasons=null,this.timeStamp=null}},Float=class extends ContentObject{constructor(e2){super(Z,"float"),this.id=e2.id||"",this.name=e2.name||"",this.use=e2.use||"",this.usehref=e2.usehref||""}[Xr](){let e2=parseFloat(this[U].trim());this[U]=isNaN(e2)?null:e2}[K](e2){return valueToHtml(this[U]===null?"":this[U].toString())}},template_Font=class extends Y{constructor(e2){super(Z,"font",!0),this.baselineShift=getMeasurement(e2.baselineShift),this.fontHorizontalScale=getFloat({data:e2.fontHorizontalScale,defaultValue:100,validate:e3=>e3>=0}),this.fontVerticalScale=getFloat({data:e2.fontVerticalScale,defaultValue:100,validate:e3=>e3>=0}),this.id=e2.id||"",this.kerningMode=getStringOption(e2.kerningMode,["none","pair"]),this.letterSpacing=getMeasurement(e2.letterSpacing,"0"),this.lineThrough=getInteger({data:e2.lineThrough,defaultValue:0,validate:e3=>e3===1||e3===2}),this.lineThroughPeriod=getStringOption(e2.lineThroughPeriod,["all","word"]),this.overline=getInteger({data:e2.overline,defaultValue:0,validate:e3=>e3===1||e3===2}),this.overlinePeriod=getStringOption(e2.overlinePeriod,["all","word"]),this.posture=getStringOption(e2.posture,["normal","italic"]),this.size=getMeasurement(e2.size,"10pt"),this.typeface=e2.typeface||"Courier",this.underline=getInteger({data:e2.underline,defaultValue:0,validate:e3=>e3===1||e3===2}),this.underlinePeriod=getStringOption(e2.underlinePeriod,["all","word"]),this.use=e2.use||"",this.usehref=e2.usehref||"",this.weight=getStringOption(e2.weight,["normal","bold"]),this.extras=null,this.fill=null}[Ur](e2){super[Ur](e2),this[fi].usedTypefaces.add(this.typeface)}[Yi](){let e2=toStyle(this,"fill"),t2=e2.color;return t2&&(t2==="#000000"?delete e2.color:t2.startsWith("#")||(e2.background=t2,e2.backgroundClip="text",e2.color="transparent")),this.baselineShift&&(e2.verticalAlign=measureToString(this.baselineShift)),e2.fontKerning=this.kerningMode==="none"?"none":"normal",e2.letterSpacing=measureToString(this.letterSpacing),this.lineThrough!==0&&(e2.textDecoration="line-through",this.lineThrough===2&&(e2.textDecorationStyle="double")),this.overline!==0&&(e2.textDecoration="overline",this.overline===2&&(e2.textDecorationStyle="double")),e2.fontStyle=this.posture,e2.fontSize=measureToString(.99*this.size),setFontFamily(this,this,this[fi].fontFinder,e2),this.underline!==0&&(e2.textDecoration="underline",this.underline===2&&(e2.textDecorationStyle="double")),e2.fontWeight=this.weight,e2}},Format=class extends Y{constructor(e2){super(Z,"format",!0),this.id=e2.id||"",this.use=e2.use||"",this.usehref=e2.usehref||"",this.extras=null,this.picture=null}},Handler=class extends StringObject{constructor(e2){super(Z,"handler"),this.id=e2.id||"",this.type=getStringOption(e2.type,["optional","required"]),this.use=e2.use||"",this.usehref=e2.usehref||""}},Hyphenation=class extends Y{constructor(e2){super(Z,"hyphenation"),this.excludeAllCaps=getInteger({data:e2.excludeAllCaps,defaultValue:0,validate:e3=>e3===1}),this.excludeInitialCap=getInteger({data:e2.excludeInitialCap,defaultValue:0,validate:e3=>e3===1}),this.hyphenate=getInteger({data:e2.hyphenate,defaultValue:0,validate:e3=>e3===1}),this.id=e2.id||"",this.pushCharacterCount=getInteger({data:e2.pushCharacterCount,defaultValue:3,validate:e3=>e3>=0}),this.remainCharacterCount=getInteger({data:e2.remainCharacterCount,defaultValue:3,validate:e3=>e3>=0}),this.use=e2.use||"",this.usehref=e2.usehref||"",this.wordCharacterCount=getInteger({data:e2.wordCharacterCount,defaultValue:7,validate:e3=>e3>=0})}},Image$1=class extends StringObject{constructor(e2){super(Z,"image"),this.aspect=getStringOption(e2.aspect,["fit","actual","height","none","width"]),this.contentType=e2.contentType||"",this.href=e2.href||"",this.id=e2.id||"",this.name=e2.name||"",this.transferEncoding=getStringOption(e2.transferEncoding,["base64","none","package"]),this.use=e2.use||"",this.usehref=e2.usehref||""}[K](){if(this.contentType&&!Da.has(this.contentType.toLowerCase()))return q.EMPTY;let e2=this[fi].images?.get(this.href);if(!e2&&(this.href||!this[U])||(!e2&&this.transferEncoding==="base64"&&(e2=Uint8Array.fromBase64(this[U])),!e2))return q.EMPTY;if(!this.contentType){for(let[t3,n3]of Oa)if(e2.length>t3.length&&t3.every((t4,n4)=>t4===e2[n4])){this.contentType=n3;break}if(!this.contentType)return q.EMPTY}let t2=new Blob([e2],{type:this.contentType}),n2;switch(this.aspect){case"fit":case"actual":break;case"height":n2={height:"100%",objectFit:"fill"};break;case"none":n2={width:"100%",height:"100%",objectFit:"fill"};break;case"width":n2={width:"100%",objectFit:"fill"};break}let r2=this[G]();return q.success({name:"img",attributes:{class:["xfaImage"],style:n2,src:URL.createObjectURL(t2),alt:r2?ariaLabel(r2[G]()):null}})}},ImageEdit=class extends Y{constructor(e2){super(Z,"imageEdit",!0),this.data=getStringOption(e2.data,["link","embed"]),this.id=e2.id||"",this.use=e2.use||"",this.usehref=e2.usehref||"",this.border=null,this.extras=null,this.margin=null}[K](e2){return this.data==="embed"?q.success({name:"div",children:[],attributes:{}}):q.EMPTY}},Integer=class extends ContentObject{constructor(e2){super(Z,"integer"),this.id=e2.id||"",this.name=e2.name||"",this.use=e2.use||"",this.usehref=e2.usehref||""}[Xr](){let e2=parseInt(this[U].trim(),10);this[U]=isNaN(e2)?null:e2}[K](e2){return valueToHtml(this[U]===null?"":this[U].toString())}},Issuers=class extends Y{constructor(e2){super(Z,"issuers",!0),this.id=e2.id||"",this.type=getStringOption(e2.type,["optional","required"]),this.use=e2.use||"",this.usehref=e2.usehref||"",this.certificate=new X}},Items=class extends Y{constructor(e2){super(Z,"items",!0),this.id=e2.id||"",this.name=e2.name||"",this.presence=getStringOption(e2.presence,["visible","hidden","inactive","invisible"]),this.ref=e2.ref||"",this.save=getInteger({data:e2.save,defaultValue:0,validate:e3=>e3===1}),this.use=e2.use||"",this.usehref=e2.usehref||"",this.boolean=new X,this.date=new X,this.dateTime=new X,this.decimal=new X,this.exData=new X,this.float=new X,this.image=new X,this.integer=new X,this.text=new X,this.time=new X}[K](){let e2=[];for(let t2 of this[si]())e2.push(t2[Ki]());return q.success(e2)}},Keep=class extends Y{constructor(e2){super(Z,"keep",!0),this.id=e2.id||"";let t2=["none","contentArea","pageArea"];this.intact=getStringOption(e2.intact,t2),this.next=getStringOption(e2.next,t2),this.previous=getStringOption(e2.previous,t2),this.use=e2.use||"",this.usehref=e2.usehref||"",this.extras=null}},KeyUsage=class extends Y{constructor(e2){super(Z,"keyUsage");let t2=["","yes","no"];this.crlSign=getStringOption(e2.crlSign,t2),this.dataEncipherment=getStringOption(e2.dataEncipherment,t2),this.decipherOnly=getStringOption(e2.decipherOnly,t2),this.digitalSignature=getStringOption(e2.digitalSignature,t2),this.encipherOnly=getStringOption(e2.encipherOnly,t2),this.id=e2.id||"",this.keyAgreement=getStringOption(e2.keyAgreement,t2),this.keyCertSign=getStringOption(e2.keyCertSign,t2),this.keyEncipherment=getStringOption(e2.keyEncipherment,t2),this.nonRepudiation=getStringOption(e2.nonRepudiation,t2),this.type=getStringOption(e2.type,["optional","required"]),this.use=e2.use||"",this.usehref=e2.usehref||""}},Line=class extends Y{constructor(e2){super(Z,"line",!0),this.hand=getStringOption(e2.hand,["even","left","right"]),this.id=e2.id||"",this.slope=getStringOption(e2.slope,["\\","/"]),this.use=e2.use||"",this.usehref=e2.usehref||"",this.edge=null}[K](){let e2=this[G]()[G](),t2=this.edge||new Edge({}),n2=t2[Yi](),r2=Object.create(null),i2=t2.presence==="visible"?t2.thickness:0;r2.strokeWidth=measureToString(i2),r2.stroke=n2.color;let a2,o2,c2,l2,u2="100%",d2="100%";e2.w<=i2?([a2,o2,c2,l2]=["50%",0,"50%","100%"],u2=r2.strokeWidth):e2.h<=i2?([a2,o2,c2,l2]=[0,"50%","100%","50%"],d2=r2.strokeWidth):this.slope==="\\"?[a2,o2,c2,l2]=[0,0,"100%","100%"]:[a2,o2,c2,l2]=[0,"100%","100%",0];let f2={name:"svg",children:[{name:"line",attributes:{xmlns:s,x1:a2,y1:o2,x2:c2,y2:l2,style:r2}}],attributes:{xmlns:s,width:u2,height:d2,style:{overflow:"visible"}}};return hasMargin(e2)?q.success({name:"div",attributes:{style:{display:"inline",width:"100%",height:"100%"}},children:[f2]}):(f2.attributes.style.position="absolute",q.success(f2))}},Linear=class extends Y{constructor(e2){super(Z,"linear",!0),this.id=e2.id||"",this.type=getStringOption(e2.type,["toRight","toBottom","toLeft","toTop"]),this.use=e2.use||"",this.usehref=e2.usehref||"",this.color=null,this.extras=null}[Yi](e2){e2=e2?e2[Yi]():"#FFFFFF";let t2=this.type.replace(/([RBLT])/," $1").toLowerCase(),n2=this.color?this.color[Yi]():"#000000";return`linear-gradient(${t2}, ${e2}, ${n2})`}},LockDocument=class extends ContentObject{constructor(e2){super(Z,"lockDocument"),this.id=e2.id||"",this.type=getStringOption(e2.type,["optional","required"]),this.use=e2.use||"",this.usehref=e2.usehref||""}[Xr](){this[U]=getStringOption(this[U],["auto","0","1"])}},Manifest=class extends Y{constructor(e2){super(Z,"manifest",!0),this.action=getStringOption(e2.action,["include","all","exclude"]),this.id=e2.id||"",this.name=e2.name||"",this.use=e2.use||"",this.usehref=e2.usehref||"",this.extras=null,this.ref=new X}},Margin=class extends Y{constructor(e2){super(Z,"margin",!0),this.bottomInset=getMeasurement(e2.bottomInset,"0"),this.id=e2.id||"",this.leftInset=getMeasurement(e2.leftInset,"0"),this.rightInset=getMeasurement(e2.rightInset,"0"),this.topInset=getMeasurement(e2.topInset,"0"),this.use=e2.use||"",this.usehref=e2.usehref||"",this.extras=null}[Yi](){return{margin:measureToString(this.topInset)+" "+measureToString(this.rightInset)+" "+measureToString(this.bottomInset)+" "+measureToString(this.leftInset)}}},Mdp=class extends Y{constructor(e2){super(Z,"mdp"),this.id=e2.id||"",this.permissions=getInteger({data:e2.permissions,defaultValue:2,validate:e3=>e3===1||e3===3}),this.signatureType=getStringOption(e2.signatureType,["filler","author"]),this.use=e2.use||"",this.usehref=e2.usehref||""}},Medium=class extends Y{constructor(e2){super(Z,"medium"),this.id=e2.id||"",this.imagingBBox=getBBox(e2.imagingBBox),this.long=getMeasurement(e2.long),this.orientation=getStringOption(e2.orientation,["portrait","landscape"]),this.short=getMeasurement(e2.short),this.stock=e2.stock||"",this.trayIn=getStringOption(e2.trayIn,["auto","delegate","pageFront"]),this.trayOut=getStringOption(e2.trayOut,["auto","delegate"]),this.use=e2.use||"",this.usehref=e2.usehref||""}},Message=class extends Y{constructor(e2){super(Z,"message",!0),this.id=e2.id||"",this.use=e2.use||"",this.usehref=e2.usehref||"",this.text=new X}},NumericEdit=class extends Y{constructor(e2){super(Z,"numericEdit",!0),this.hScrollPolicy=getStringOption(e2.hScrollPolicy,["auto","off","on"]),this.id=e2.id||"",this.use=e2.use||"",this.usehref=e2.usehref||"",this.border=null,this.comb=null,this.extras=null,this.margin=null}[K](e2){let t2=toStyle(this,"border","font","margin"),n2=this[G]()[G](),r2={name:"input",attributes:{type:"text",fieldId:n2[Xi],dataId:n2[Jr]?.[Xi]||n2[Xi],class:["xfaTextfield"],style:t2,"aria-label":ariaLabel(n2),"aria-required":!1}};return isRequired(n2)&&(r2.attributes["aria-required"]=!0,r2.attributes.required=!0),q.success({name:"label",attributes:{class:["xfaLabel"]},children:[r2]})}},Occur=class extends Y{constructor(e2){super(Z,"occur",!0),this.id=e2.id||"",this.initial=e2.initial===""?"":getInteger({data:e2.initial,defaultValue:"",validate:e3=>!0}),this.max=e2.max===""?"":getInteger({data:e2.max,defaultValue:-1,validate:e3=>!0}),this.min=e2.min===""?"":getInteger({data:e2.min,defaultValue:1,validate:e3=>!0}),this.use=e2.use||"",this.usehref=e2.usehref||"",this.extras=null}[Ur](){let e2=this[G](),t2=this.min;this.min===""&&(this.min=e2 instanceof PageArea||e2 instanceof ka?0:1),this.max===""&&(t2===""?this.max=e2 instanceof PageArea||e2 instanceof ka?-1:1:this.max=this.min),this.max!==-1&&this.max<this.min&&(this.max=this.min),this.initial===""&&(this.initial=e2 instanceof Template?1:this.min)}},Oid=class extends StringObject{constructor(e2){super(Z,"oid"),this.id=e2.id||"",this.name=e2.name||"",this.use=e2.use||"",this.usehref=e2.usehref||""}},Oids=class extends Y{constructor(e2){super(Z,"oids",!0),this.id=e2.id||"",this.type=getStringOption(e2.type,["optional","required"]),this.use=e2.use||"",this.usehref=e2.usehref||"",this.oid=new X}},Overflow=class extends Y{constructor(e2){super(Z,"overflow"),this.id=e2.id||"",this.leader=e2.leader||"",this.target=e2.target||"",this.trailer=e2.trailer||"",this.use=e2.use||"",this.usehref=e2.usehref||""}[ai](){if(!this[W]){let e2=this[G](),t2=this[di](),n2=t2[Bi](this.target,e2),r2=t2[Bi](this.leader,e2),i2=t2[Bi](this.trailer,e2);this[W]={target:n2?.[0]||null,leader:r2?.[0]||null,trailer:i2?.[0]||null,addLeader:!1,addTrailer:!1}}return this[W]}},PageArea=class extends Y{constructor(e2){super(Z,"pageArea",!0),this.blankOrNotBlank=getStringOption(e2.blankOrNotBlank,["any","blank","notBlank"]),this.id=e2.id||"",this.initialNumber=getInteger({data:e2.initialNumber,defaultValue:1,validate:e3=>!0}),this.name=e2.name||"",this.numbered=getInteger({data:e2.numbered,defaultValue:1,validate:e3=>!0}),this.oddOrEven=getStringOption(e2.oddOrEven,["any","even","odd"]),this.pagePosition=getStringOption(e2.pagePosition,["any","first","last","only","rest"]),this.relevant=getRelevant(e2.relevant),this.use=e2.use||"",this.usehref=e2.usehref||"",this.desc=null,this.extras=null,this.medium=null,this.occur=null,this.area=new X,this.contentArea=new X,this.draw=new X,this.exclGroup=new X,this.field=new X,this.subform=new X}[Ti](){return this[W]?!this.occur||this.occur.max===-1||this[W].numberOfUse<this.occur.max:(this[W]={numberOfUse:0},!0)}[Wr](){delete this[W]}[li](){this[W]||={numberOfUse:0};let e2=this[G]();return e2.relation==="orderedOccurrence"&&this[Ti]()?(this[W].numberOfUse+=1,this):e2[li]()}[ei](){return this[W].space||{width:0,height:0}}[K](){this[W]||={numberOfUse:1};let e2=[];this[W].children=e2;let t2=Object.create(null);if(this.medium&&this.medium.short&&this.medium.long){if(t2.width=measureToString(this.medium.short),t2.height=measureToString(this.medium.long),this[W].space={width:this.medium.short,height:this.medium.long},this.medium.orientation==="landscape"){let e3=t2.width;t2.width=t2.height,t2.height=e3,this[W].space={width:this.medium.long,height:this.medium.short}}}else warn$1("XFA - No medium specified in pageArea: please file a bug.");return this[Hr]({filter:new Set(["area","draw","field","subform"]),include:!0}),this[Hr]({filter:new Set(["contentArea"]),include:!0}),q.success({name:"div",children:e2,attributes:{class:["xfaPage"],id:this[Xi],style:t2,xfaName:this.name}})}},ka=class PageSet extends Y{constructor(e2){super(Z,"pageSet",!0),this.duplexImposition=getStringOption(e2.duplexImposition,["longEdge","shortEdge"]),this.id=e2.id||"",this.name=e2.name||"",this.relation=getStringOption(e2.relation,["orderedOccurrence","duplexPaginated","simplexPaginated"]),this.relevant=getRelevant(e2.relevant),this.use=e2.use||"",this.usehref=e2.usehref||"",this.extras=null,this.occur=null,this.pageArea=new X,this.pageSet=new X}[Wr](){for(let e2 of this.pageArea.children)e2[Wr]();for(let e2 of this.pageSet.children)e2[Wr]()}[Ti](){return!this.occur||this.occur.max===-1||this[W].numberOfUse<this.occur.max}[li](){if(this[W]||={numberOfUse:1,pageIndex:-1,pageSetIndex:-1},this.relation==="orderedOccurrence"){if(this[W].pageIndex+1<this.pageArea.children.length)return this[W].pageIndex+=1,this.pageArea.children[this[W].pageIndex][li]();if(this[W].pageSetIndex+1<this.pageSet.children.length)return this[W].pageSetIndex+=1,this.pageSet.children[this[W].pageSetIndex][li]();if(this[Ti]())return this[W].numberOfUse+=1,this[W].pageIndex=-1,this[W].pageSetIndex=-1,this[li]();let e3=this[G]();return e3 instanceof PageSet?e3[li]():(this[Wr](),this[li]())}let e2=this[di]()[W].pageNumber,t2=e2%2==0?"even":"odd",n2=e2===0?"first":"rest",r2=this.pageArea.children.find(e3=>e3.oddOrEven===t2&&e3.pagePosition===n2);return r2||(r2=this.pageArea.children.find(e3=>e3.oddOrEven==="any"&&e3.pagePosition===n2),r2)||(r2=this.pageArea.children.find(e3=>e3.oddOrEven==="any"&&e3.pagePosition==="any"),r2)?r2:this.pageArea.children[0]}},Para=class extends Y{constructor(e2){super(Z,"para",!0),this.hAlign=getStringOption(e2.hAlign,["left","center","justify","justifyAll","radix","right"]),this.id=e2.id||"",this.lineHeight=e2.lineHeight?getMeasurement(e2.lineHeight,"0pt"):"",this.marginLeft=e2.marginLeft?getMeasurement(e2.marginLeft,"0pt"):"",this.marginRight=e2.marginRight?getMeasurement(e2.marginRight,"0pt"):"",this.orphans=getInteger({data:e2.orphans,defaultValue:0,validate:e3=>e3>=0}),this.preserve=e2.preserve||"",this.radixOffset=e2.radixOffset?getMeasurement(e2.radixOffset,"0pt"):"",this.spaceAbove=e2.spaceAbove?getMeasurement(e2.spaceAbove,"0pt"):"",this.spaceBelow=e2.spaceBelow?getMeasurement(e2.spaceBelow,"0pt"):"",this.tabDefault=e2.tabDefault?getMeasurement(this.tabDefault):"",this.tabStops=(e2.tabStops||"").trim().split(/\s+/).map((e3,t2)=>t2%2==1?getMeasurement(e3):e3),this.textIndent=e2.textIndent?getMeasurement(e2.textIndent,"0pt"):"",this.use=e2.use||"",this.usehref=e2.usehref||"",this.vAlign=getStringOption(e2.vAlign,["top","bottom","middle"]),this.widows=getInteger({data:e2.widows,defaultValue:0,validate:e3=>e3>=0}),this.hyphenation=null}[Yi](){let e2=toStyle(this,"hAlign");return this.marginLeft!==""&&(e2.paddingLeft=measureToString(this.marginLeft)),this.marginRight!==""&&(e2.paddingRight=measureToString(this.marginRight)),this.spaceAbove!==""&&(e2.paddingTop=measureToString(this.spaceAbove)),this.spaceBelow!==""&&(e2.paddingBottom=measureToString(this.spaceBelow)),this.textIndent!==""&&(e2.textIndent=measureToString(this.textIndent),fixTextIndent(e2)),this.lineHeight>0&&(e2.lineHeight=measureToString(this.lineHeight)),this.tabDefault!==""&&(e2.tabSize=measureToString(this.tabDefault)),this.tabStops.length,this.hyphenatation&&Object.assign(e2,this.hyphenatation[Yi]()),e2}},PasswordEdit=class extends Y{constructor(e2){super(Z,"passwordEdit",!0),this.hScrollPolicy=getStringOption(e2.hScrollPolicy,["auto","off","on"]),this.id=e2.id||"",this.passwordChar=e2.passwordChar||"*",this.use=e2.use||"",this.usehref=e2.usehref||"",this.border=null,this.extras=null,this.margin=null}},template_Pattern=class extends Y{constructor(e2){super(Z,"pattern",!0),this.id=e2.id||"",this.type=getStringOption(e2.type,["crossHatch","crossDiagonal","diagonalLeft","diagonalRight","horizontal","vertical"]),this.use=e2.use||"",this.usehref=e2.usehref||"",this.color=null,this.extras=null}[Yi](e2){e2=e2?e2[Yi]():"#FFFFFF";let t2=this.color?this.color[Yi]():"#000000",n2="repeating-linear-gradient",r2=`${e2},${e2} 5px,${t2} 5px,${t2} 10px`;switch(this.type){case"crossHatch":return`${n2}(to top,${r2}) ${n2}(to right,${r2})`;case"crossDiagonal":return`${n2}(45deg,${r2}) ${n2}(-45deg,${r2})`;case"diagonalLeft":return`${n2}(45deg,${r2})`;case"diagonalRight":return`${n2}(-45deg,${r2})`;case"horizontal":return`${n2}(to top,${r2})`;case"vertical":return`${n2}(to right,${r2})`}return""}},Picture=class extends StringObject{constructor(e2){super(Z,"picture"),this.id=e2.id||"",this.use=e2.use||"",this.usehref=e2.usehref||""}},Proto=class extends Y{constructor(e2){super(Z,"proto",!0),this.appearanceFilter=new X,this.arc=new X,this.area=new X,this.assist=new X,this.barcode=new X,this.bindItems=new X,this.bookend=new X,this.boolean=new X,this.border=new X,this.break=new X,this.breakAfter=new X,this.breakBefore=new X,this.button=new X,this.calculate=new X,this.caption=new X,this.certificate=new X,this.certificates=new X,this.checkButton=new X,this.choiceList=new X,this.color=new X,this.comb=new X,this.connect=new X,this.contentArea=new X,this.corner=new X,this.date=new X,this.dateTime=new X,this.dateTimeEdit=new X,this.decimal=new X,this.defaultUi=new X,this.desc=new X,this.digestMethod=new X,this.digestMethods=new X,this.draw=new X,this.edge=new X,this.encoding=new X,this.encodings=new X,this.encrypt=new X,this.encryptData=new X,this.encryption=new X,this.encryptionMethod=new X,this.encryptionMethods=new X,this.event=new X,this.exData=new X,this.exObject=new X,this.exclGroup=new X,this.execute=new X,this.extras=new X,this.field=new X,this.fill=new X,this.filter=new X,this.float=new X,this.font=new X,this.format=new X,this.handler=new X,this.hyphenation=new X,this.image=new X,this.imageEdit=new X,this.integer=new X,this.issuers=new X,this.items=new X,this.keep=new X,this.keyUsage=new X,this.line=new X,this.linear=new X,this.lockDocument=new X,this.manifest=new X,this.margin=new X,this.mdp=new X,this.medium=new X,this.message=new X,this.numericEdit=new X,this.occur=new X,this.oid=new X,this.oids=new X,this.overflow=new X,this.pageArea=new X,this.pageSet=new X,this.para=new X,this.passwordEdit=new X,this.pattern=new X,this.picture=new X,this.radial=new X,this.reason=new X,this.reasons=new X,this.rectangle=new X,this.ref=new X,this.script=new X,this.setProperty=new X,this.signData=new X,this.signature=new X,this.signing=new X,this.solid=new X,this.speak=new X,this.stipple=new X,this.subform=new X,this.subformSet=new X,this.subjectDN=new X,this.subjectDNs=new X,this.submit=new X,this.text=new X,this.textEdit=new X,this.time=new X,this.timeStamp=new X,this.toolTip=new X,this.traversal=new X,this.traverse=new X,this.ui=new X,this.validate=new X,this.value=new X,this.variables=new X}},Radial=class extends Y{constructor(e2){super(Z,"radial",!0),this.id=e2.id||"",this.type=getStringOption(e2.type,["toEdge","toCenter"]),this.use=e2.use||"",this.usehref=e2.usehref||"",this.color=null,this.extras=null}[Yi](e2){e2=e2?e2[Yi]():"#FFFFFF";let t2=this.color?this.color[Yi]():"#000000";return`radial-gradient(circle at center, ${this.type==="toEdge"?`${e2},${t2}`:`${t2},${e2}`})`}},Reason=class extends StringObject{constructor(e2){super(Z,"reason"),this.id=e2.id||"",this.name=e2.name||"",this.use=e2.use||"",this.usehref=e2.usehref||""}},Reasons=class extends Y{constructor(e2){super(Z,"reasons",!0),this.id=e2.id||"",this.type=getStringOption(e2.type,["optional","required"]),this.use=e2.use||"",this.usehref=e2.usehref||"",this.reason=new X}},Rectangle=class extends Y{constructor(e2){super(Z,"rectangle",!0),this.hand=getStringOption(e2.hand,["even","left","right"]),this.id=e2.id||"",this.use=e2.use||"",this.usehref=e2.usehref||"",this.corner=new X(4),this.edge=new X(4),this.fill=null}[K](){let e2=this.edge.children.length?this.edge.children[0]:new Edge({}),t2=e2[Yi](),n2=Object.create(null);this.fill?.presence==="visible"?Object.assign(n2,this.fill[Yi]()):n2.fill="transparent",n2.strokeWidth=measureToString(e2.presence==="visible"?e2.thickness:0),n2.stroke=t2.color;let r2=(this.corner.children.length?this.corner.children[0]:new Corner({}))[Yi](),i2={name:"svg",children:[{name:"rect",attributes:{xmlns:s,width:"100%",height:"100%",x:0,y:0,rx:r2.radius,ry:r2.radius,style:n2}}],attributes:{xmlns:s,style:{overflow:"visible"},width:"100%",height:"100%"}};return hasMargin(this[G]()[G]())?q.success({name:"div",attributes:{style:{display:"inline",width:"100%",height:"100%"}},children:[i2]}):(i2.attributes.style.position="absolute",q.success(i2))}},RefElement=class extends StringObject{constructor(e2){super(Z,"ref"),this.id=e2.id||"",this.use=e2.use||"",this.usehref=e2.usehref||""}},Script=class extends StringObject{constructor(e2){super(Z,"script"),this.binding=e2.binding||"",this.contentType=e2.contentType||"",this.id=e2.id||"",this.name=e2.name||"",this.runAt=getStringOption(e2.runAt,["client","both","server"]),this.use=e2.use||"",this.usehref=e2.usehref||""}},SetProperty=class extends Y{constructor(e2){super(Z,"setProperty"),this.connection=e2.connection||"",this.ref=e2.ref||"",this.target=e2.target||""}},SignData=class extends Y{constructor(e2){super(Z,"signData",!0),this.id=e2.id||"",this.operation=getStringOption(e2.operation,["sign","clear","verify"]),this.ref=e2.ref||"",this.target=e2.target||"",this.use=e2.use||"",this.usehref=e2.usehref||"",this.filter=null,this.manifest=null}},Signature=class extends Y{constructor(e2){super(Z,"signature",!0),this.id=e2.id||"",this.type=getStringOption(e2.type,["PDF1.3","PDF1.6"]),this.use=e2.use||"",this.usehref=e2.usehref||"",this.border=null,this.extras=null,this.filter=null,this.manifest=null,this.margin=null}},Signing=class extends Y{constructor(e2){super(Z,"signing",!0),this.id=e2.id||"",this.type=getStringOption(e2.type,["optional","required"]),this.use=e2.use||"",this.usehref=e2.usehref||"",this.certificate=new X}},Solid=class extends Y{constructor(e2){super(Z,"solid",!0),this.id=e2.id||"",this.use=e2.use||"",this.usehref=e2.usehref||"",this.extras=null}[Yi](e2){return e2?e2[Yi]():"#FFFFFF"}},Speak=class extends StringObject{constructor(e2){super(Z,"speak"),this.disable=getInteger({data:e2.disable,defaultValue:0,validate:e3=>e3===1}),this.id=e2.id||"",this.priority=getStringOption(e2.priority,["custom","caption","name","toolTip"]),this.rid=e2.rid||"",this.use=e2.use||"",this.usehref=e2.usehref||""}},Stipple=class extends Y{constructor(e2){super(Z,"stipple",!0),this.id=e2.id||"",this.rate=getInteger({data:e2.rate,defaultValue:50,validate:e3=>e3>=0&&e3<=100}),this.use=e2.use||"",this.usehref=e2.usehref||"",this.color=null,this.extras=null}[Yi](e2){let t2=this.rate/100;return Util$1.makeHexColor(Math.round(e2.value.r*(1-t2)+this.value.r*t2),Math.round(e2.value.g*(1-t2)+this.value.g*t2),Math.round(e2.value.b*(1-t2)+this.value.b*t2))}},Subform=class extends Y{constructor(e2){super(Z,"subform",!0),this.access=getStringOption(e2.access,["open","nonInteractive","protected","readOnly"]),this.allowMacro=getInteger({data:e2.allowMacro,defaultValue:0,validate:e3=>e3===1}),this.anchorType=getStringOption(e2.anchorType,["topLeft","bottomCenter","bottomLeft","bottomRight","middleCenter","middleLeft","middleRight","topCenter","topRight"]),this.colSpan=getInteger({data:e2.colSpan,defaultValue:1,validate:e3=>e3>=1||e3===-1}),this.columnWidths=(e2.columnWidths||"").trim().split(/\s+/).map(e3=>e3==="-1"?-1:getMeasurement(e3)),this.h=e2.h?getMeasurement(e2.h):"",this.hAlign=getStringOption(e2.hAlign,["left","center","justify","justifyAll","radix","right"]),this.id=e2.id||"",this.layout=getStringOption(e2.layout,["position","lr-tb","rl-row","rl-tb","row","table","tb"]),this.locale=e2.locale||"",this.maxH=getMeasurement(e2.maxH,"0pt"),this.maxW=getMeasurement(e2.maxW,"0pt"),this.mergeMode=getStringOption(e2.mergeMode,["consumeData","matchTemplate"]),this.minH=getMeasurement(e2.minH,"0pt"),this.minW=getMeasurement(e2.minW,"0pt"),this.name=e2.name||"",this.presence=getStringOption(e2.presence,["visible","hidden","inactive","invisible"]),this.relevant=getRelevant(e2.relevant),this.restoreState=getStringOption(e2.restoreState,["manual","auto"]),this.scope=getStringOption(e2.scope,["name","none"]),this.use=e2.use||"",this.usehref=e2.usehref||"",this.w=e2.w?getMeasurement(e2.w):"",this.x=getMeasurement(e2.x,"0pt"),this.y=getMeasurement(e2.y,"0pt"),this.assist=null,this.bind=null,this.bookend=null,this.border=null,this.break=null,this.calculate=null,this.desc=null,this.extras=null,this.keep=null,this.margin=null,this.occur=null,this.overflow=null,this.pageSet=null,this.para=null,this.traversal=null,this.validate=null,this.variables=null,this.area=new X,this.breakAfter=new X,this.breakBefore=new X,this.connect=new X,this.draw=new X,this.event=new X,this.exObject=new X,this.exclGroup=new X,this.field=new X,this.proto=new X,this.setProperty=new X,this.subform=new X,this.subformSet=new X}[ui](){let e2=this[G]();return e2 instanceof SubformSet?e2[ui]():e2}[vi](){return!0}[Ci](){return this.layout.endsWith("-tb")&&this[W].attempt===0&&this[W].numberInLine>0||this[G]()[Ci]()}*[ci](){yield*getContainedChildren(this)}[Zr](){return flushHTML(this)}[zr](e2,t2){addHTML(this,e2,t2)}[ei](){return getAvailableSpace(this)}[Si](){let e2=this[ui]();return e2[Si]()?this[W]._isSplittable===void 0?this.layout==="position"||this.layout.includes("row")||this.keep&&this.keep.intact!=="none"?(this[W]._isSplittable=!1,!1):e2.layout?.endsWith("-tb")&&e2[W].numberInLine!==0?!1:(this[W]._isSplittable=!0,!0):this[W]._isSplittable:!1}[K](e2){if(setTabIndex(this),this.break){if(this.break.after!=="auto"||this.break.afterTarget!==""){let e3=new BreakAfter({targetType:this.break.after,target:this.break.afterTarget,startNew:this.break.startNew.toString()});e3[fi]=this[fi],this[Vr](e3),this.breakAfter.push(e3)}if(this.break.before!=="auto"||this.break.beforeTarget!==""){let e3=new BreakBefore({targetType:this.break.before,target:this.break.beforeTarget,startNew:this.break.startNew.toString()});e3[fi]=this[fi],this[Vr](e3),this.breakBefore.push(e3)}if(this.break.overflowTarget!==""){let e3=new Overflow({target:this.break.overflowTarget,leader:this.break.overflowLeader,trailer:this.break.overflowTrailer});e3[fi]=this[fi],this[Vr](e3),this.overflow.push(e3)}this[Ii](this.break),this.break=null}if(this.presence==="hidden"||this.presence==="inactive")return q.EMPTY;if((this.breakBefore.children.length>1||this.breakAfter.children.length>1)&&warn$1("XFA - Several breakBefore or breakAfter in subforms: please file a bug."),this.breakBefore.children.length>=1){let e3=this.breakBefore.children[0];if(handleBreak(e3))return q.breakNode(e3)}if(this[W]?.afterBreakAfter)return q.EMPTY;fixDimensions(this);let t2=[],n2={id:this[Xi],class:[]};setAccess(this,n2.class),this[W]||=Object.create(null),Object.assign(this[W],{children:t2,line:null,attributes:n2,attempt:0,numberInLine:0,availableSpace:{width:Math.min(this.w||1/0,e2.width),height:Math.min(this.h||1/0,e2.height)},width:0,height:0,prevHeight:0,currentWidth:0});let r2=this[di](),i2=r2[W].noLayoutFailure,a2=this[Si]();if(a2||setFirstUnsplittable(this),!checkDimensions(this,e2))return q.FAILURE;let o2=new Set(["area","draw","exclGroup","field","subform","subformSet"]);if(this.layout.includes("row")){let e3=this[ui]().columnWidths;Array.isArray(e3)&&e3.length>0&&(this[W].columnWidths=e3,this[W].currentColumn=0)}let s2=toStyle(this,"anchorType","dimensions","position","presence","border","margin","hAlign"),c2=["xfaSubform"],l2=layoutClass(this);if(l2&&c2.push(l2),n2.style=s2,n2.class=c2,this.name&&(n2.xfaName=this.name),this.overflow){let t3=this.overflow[ai]();t3.addLeader&&(t3.addLeader=!1,handleOverflow(this,t3.leader,e2))}this[Fi]();let u2=this.layout==="lr-tb"||this.layout==="rl-tb",d2=u2?2:1;for(;this[W].attempt<d2;this[W].attempt++){u2&&this[W].attempt===1&&(this[W].numberInLine=0);let e3=this[Hr]({filter:o2,include:!0});if(e3.success)break;if(e3.isBreak())return this[Pi](),e3;if(u2&&this[W].attempt===0&&this[W].numberInLine===0&&!r2[W].noLayoutFailure){this[W].attempt=d2;break}}if(this[Pi](),a2||unsetFirstUnsplittable(this),r2[W].noLayoutFailure=i2,this[W].attempt===d2)return this.overflow&&(this[di]()[W].overflowNode=this.overflow),a2||delete this[W],q.FAILURE;if(this.overflow){let t3=this.overflow[ai]();t3.addTrailer&&(t3.addTrailer=!1,handleOverflow(this,t3.trailer,e2))}let f2=0,p2=0;this.margin&&(f2=this.margin.leftInset+this.margin.rightInset,p2=this.margin.topInset+this.margin.bottomInset);let m2=Math.max(this[W].width+f2,this.w||0),h2=Math.max(this[W].height+p2,this.h||0),g2=[this.x,this.y,m2,h2];if(this.w===""&&(s2.width=measureToString(m2)),this.h===""&&(s2.height=measureToString(h2)),(s2.width==="0px"||s2.height==="0px")&&t2.length===0)return q.EMPTY;let _2={name:"div",attributes:n2,children:t2};applyAssist(this,n2);let v2=q.success(createWrapper(this,_2),g2);if(this.breakAfter.children.length>=1){let e3=this.breakAfter.children[0];if(handleBreak(e3))return this[W].afterBreakAfter=v2,q.breakNode(e3)}return delete this[W],v2}},SubformSet=class extends Y{constructor(e2){super(Z,"subformSet",!0),this.id=e2.id||"",this.name=e2.name||"",this.relation=getStringOption(e2.relation,["ordered","choice","unordered"]),this.relevant=getRelevant(e2.relevant),this.use=e2.use||"",this.usehref=e2.usehref||"",this.bookend=null,this.break=null,this.desc=null,this.extras=null,this.occur=null,this.overflow=null,this.breakAfter=new X,this.breakBefore=new X,this.subform=new X,this.subformSet=new X}*[ci](){yield*getContainedChildren(this)}[ui](){let e2=this[G]();for(;!(e2 instanceof Subform);)e2=e2[G]();return e2}[vi](){return!0}},SubjectDN=class extends ContentObject{constructor(e2){super(Z,"subjectDN"),this.delimiter=e2.delimiter||",",this.id=e2.id||"",this.name=e2.name||"",this.use=e2.use||"",this.usehref=e2.usehref||""}[Xr](){this[U]=new Map(this[U].split(this.delimiter).map(e2=>(e2=e2.split("=",2),e2[0]=e2[0].trim(),e2)))}},SubjectDNs=class extends Y{constructor(e2){super(Z,"subjectDNs",!0),this.id=e2.id||"",this.type=getStringOption(e2.type,["optional","required"]),this.use=e2.use||"",this.usehref=e2.usehref||"",this.subjectDN=new X}},Submit=class extends Y{constructor(e2){super(Z,"submit",!0),this.embedPDF=getInteger({data:e2.embedPDF,defaultValue:0,validate:e3=>e3===1}),this.format=getStringOption(e2.format,["xdp","formdata","pdf","urlencoded","xfd","xml"]),this.id=e2.id||"",this.target=e2.target||"",this.textEncoding=getKeyword({data:e2.textEncoding?e2.textEncoding.toLowerCase():"",defaultValue:"",validate:e3=>["utf-8","big-five","fontspecific","gbk","gb-18030","gb-2312","ksc-5601","none","shift-jis","ucs-2","utf-16"].includes(e3)||e3.match(/iso-8859-\d{2}/)}),this.use=e2.use||"",this.usehref=e2.usehref||"",this.xdpContent=e2.xdpContent||"",this.encrypt=null,this.encryptData=new X,this.signData=new X}},Template=class extends Y{constructor(e2){super(Z,"template",!0),this.baseProfile=getStringOption(e2.baseProfile,["full","interactiveForms"]),this.extras=null,this.subform=new X}[Xr](){this.subform.children.length===0&&warn$1("XFA - No subforms in template node."),this.subform.children.length>=2&&warn$1("XFA - Several subforms in template node: please file a bug."),this[Gi]=5e3}[Si](){return!0}[Bi](e2,t2){return e2.startsWith("#")?[this[mi].get(e2.slice(1))]:searchNode(this,t2,e2,!0,!0)}*[qi](){if(!this.subform.children.length)return q.success({name:"div",children:[]});this[W]={overflowNode:null,firstUnsplittable:null,currentContentArea:null,currentPageArea:null,noLayoutFailure:!1,pageNumber:1,pagePosition:"first",oddOrEven:"odd",blankOrNotBlank:"nonBlank",paraStack:[]};let e2=this.subform.children[0];e2.pageSet[Wr]();let t2=e2.pageSet.pageArea.children,n2={name:"div",children:[]},r2=null,i2=null,a2=null;if(e2.breakBefore.children.length>=1?(i2=e2.breakBefore.children[0],a2=i2.target):e2.subform.children.length>=1&&e2.subform.children[0].breakBefore.children.length>=1?(i2=e2.subform.children[0].breakBefore.children[0],a2=i2.target):e2.break?.beforeTarget?(i2=e2.break,a2=i2.beforeTarget):e2.subform.children.length>=1&&e2.subform.children[0].break?.beforeTarget&&(i2=e2.subform.children[0].break,a2=i2.beforeTarget),i2){let e3=this[Bi](a2,i2[G]());e3 instanceof PageArea&&(r2=e3,i2[W]={})}r2||=t2[0],r2[W]={numberOfUse:1};let o2=r2[G]();o2[W]={numberOfUse:1,pageIndex:o2.pageArea.children.indexOf(r2),pageSetIndex:0};let s2,c2=null,l2=null,u2=!0,d2=0,f2=0;for(;;){if(u2)d2=0;else if(n2.children.pop(),++d2===3)return warn$1("XFA - Something goes wrong: please file a bug."),n2;s2=null,this[W].currentPageArea=r2;let t3=r2[K]().html;n2.children.push(t3),c2&&=(this[W].noLayoutFailure=!0,t3.children.push(c2[K](r2[W].space).html),null),l2&&=(this[W].noLayoutFailure=!0,t3.children.push(l2[K](r2[W].space).html),null);let i3=r2.contentArea.children,a3=t3.children.filter(e3=>e3.attributes.class.includes("xfaContentarea"));u2=!1,this[W].firstUnsplittable=null,this[W].noLayoutFailure=!1;let flush=t4=>{let n3=e2[Zr]();n3&&(u2||=n3.children?.length>0,a3[t4].children.push(n3))};for(let t4=f2,r3=i3.length;t4<r3;t4++){let r4=this[W].currentContentArea=i3[t4],o3={width:r4.w,height:r4.h};f2=0,c2&&=(a3[t4].children.push(c2[K](o3).html),null),l2&&=(a3[t4].children.push(l2[K](o3).html),null);let d3=e2[K](o3);if(d3.success)return d3.html?(u2||=d3.html.children?.length>0,a3[t4].children.push(d3.html)):!u2&&n2.children.length>1&&n2.children.pop(),n2;if(d3.isBreak()){let e3=d3.breakNode;if(flush(t4),e3.targetType==="auto")continue;e3.leader&&(c2=this[Bi](e3.leader,e3[G]()),c2=c2?c2[0]:null),e3.trailer&&(l2=this[Bi](e3.trailer,e3[G]()),l2=l2?l2[0]:null),e3.targetType==="pageArea"?(s2=e3[W].target,t4=1/0):e3[W].target?(s2=e3[W].target,f2=e3[W].index+1,t4=1/0):t4=e3[W].index;continue}if(this[W].overflowNode){let e3=this[W].overflowNode;this[W].overflowNode=null;let n3=e3[ai](),r5=n3.target;n3.addLeader=n3.leader!==null,n3.addTrailer=n3.trailer!==null,flush(t4);let a4=t4;if(t4=1/0,r5 instanceof PageArea)s2=r5;else if(r5 instanceof ContentArea){let e4=i3.indexOf(r5);e4===-1?(s2=r5[G](),f2=s2.contentArea.children.indexOf(r5)):e4>a4?t4=e4-1:f2=e4}continue}flush(t4)}this[W].pageNumber+=1,s2&&(s2[Ti]()?s2[W].numberOfUse+=1:s2=null),r2=s2||r2[li](),yield null}}},Text=class extends ContentObject{constructor(e2){super(Z,"text"),this.id=e2.id||"",this.maxChars=getInteger({data:e2.maxChars,defaultValue:0,validate:e3=>e3>=0}),this.name=e2.name||"",this.rid=e2.rid||"",this.use=e2.use||"",this.usehref=e2.usehref||""}[Rr](){return!0}[Ai](e2){return e2[Di]===Qi.xhtml.id?(this[U]=e2,!0):(warn$1(`XFA - Invalid content in Text: ${e2[Oi]}.`),!1)}[Mi](e2){this[U]instanceof Y||super[Mi](e2)}[Xr](){typeof this[U]=="string"&&(this[U]=this[U].replaceAll(`\r
|
|
13
|
+
`,`
|
|
14
|
+
`))}[ai](){return typeof this[U]=="string"?this[U].split(/[\u2029\u2028\n]/).filter(e2=>!!e2).join(`
|
|
15
|
+
`):this[U][Ki]()}[K](e2){if(typeof this[U]=="string"){let e3=valueToHtml(this[U]).html;return this[U].includes("\u2029")?(e3.name="div",e3.children=[],this[U].split("\u2029").map(e4=>e4.split(/[\u2028\n]/).flatMap(e5=>[{name:"span",value:e5},{name:"br"}])).forEach(t2=>{e3.children.push({name:"p",children:t2})})):/[\u2028\n]/.test(this[U])&&(e3.name="div",e3.children=[],this[U].split(/[\u2028\n]/).forEach(t2=>{e3.children.push({name:"span",value:t2},{name:"br"})})),q.success(e3)}return this[U][K](e2)}},TextEdit=class extends Y{constructor(e2){super(Z,"textEdit",!0),this.allowRichText=getInteger({data:e2.allowRichText,defaultValue:0,validate:e3=>e3===1}),this.hScrollPolicy=getStringOption(e2.hScrollPolicy,["auto","off","on"]),this.id=e2.id||"",this.multiLine=getInteger({data:e2.multiLine,defaultValue:"",validate:e3=>e3===0||e3===1}),this.use=e2.use||"",this.usehref=e2.usehref||"",this.vScrollPolicy=getStringOption(e2.vScrollPolicy,["auto","off","on"]),this.border=null,this.comb=null,this.extras=null,this.margin=null}[K](e2){let t2=toStyle(this,"border","font","margin"),n2,r2=this[G]()[G]();return this.multiLine===""&&(this.multiLine=+(r2 instanceof Draw)),n2=this.multiLine===1?{name:"textarea",attributes:{dataId:r2[Jr]?.[Xi]||r2[Xi],fieldId:r2[Xi],class:["xfaTextfield"],style:t2,"aria-label":ariaLabel(r2),"aria-required":!1}}:{name:"input",attributes:{type:"text",dataId:r2[Jr]?.[Xi]||r2[Xi],fieldId:r2[Xi],class:["xfaTextfield"],style:t2,"aria-label":ariaLabel(r2),"aria-required":!1}},isRequired(r2)&&(n2.attributes["aria-required"]=!0,n2.attributes.required=!0),q.success({name:"label",attributes:{class:["xfaLabel"]},children:[n2]})}},Time=class extends StringObject{constructor(e2){super(Z,"time"),this.id=e2.id||"",this.name=e2.name||"",this.use=e2.use||"",this.usehref=e2.usehref||""}[Xr](){let e2=this[U].trim();this[U]=e2?new Date(e2):null}[K](e2){return valueToHtml(this[U]?this[U].toString():"")}},TimeStamp=class extends Y{constructor(e2){super(Z,"timeStamp"),this.id=e2.id||"",this.server=e2.server||"",this.type=getStringOption(e2.type,["optional","required"]),this.use=e2.use||"",this.usehref=e2.usehref||""}},ToolTip=class extends StringObject{constructor(e2){super(Z,"toolTip"),this.id=e2.id||"",this.rid=e2.rid||"",this.use=e2.use||"",this.usehref=e2.usehref||""}},Traversal=class extends Y{constructor(e2){super(Z,"traversal",!0),this.id=e2.id||"",this.use=e2.use||"",this.usehref=e2.usehref||"",this.extras=null,this.traverse=new X}},Traverse=class extends Y{constructor(e2){super(Z,"traverse",!0),this.id=e2.id||"",this.operation=getStringOption(e2.operation,["next","back","down","first","left","right","up"]),this.ref=e2.ref||"",this.use=e2.use||"",this.usehref=e2.usehref||"",this.extras=null,this.script=null}get name(){return this.operation}[wi](){return!1}},Ui=class extends Y{constructor(e2){super(Z,"ui",!0),this.id=e2.id||"",this.use=e2.use||"",this.usehref=e2.usehref||"",this.extras=null,this.picture=null,this.barcode=null,this.button=null,this.checkButton=null,this.choiceList=null,this.dateTimeEdit=null,this.defaultUi=null,this.imageEdit=null,this.numericEdit=null,this.passwordEdit=null,this.signature=null,this.textEdit=null}[ai](){if(this[W]===void 0){for(let e2 of Object.getOwnPropertyNames(this)){if(e2==="extras"||e2==="picture")continue;let t2=this[e2];if(t2 instanceof Y)return this[W]=t2,t2}this[W]=null}return this[W]}[K](e2){let t2=this[ai]();return t2?t2[K](e2):q.EMPTY}},Validate=class extends Y{constructor(e2){super(Z,"validate",!0),this.formatTest=getStringOption(e2.formatTest,["warning","disabled","error"]),this.id=e2.id||"",this.nullTest=getStringOption(e2.nullTest,["disabled","error","warning"]),this.scriptTest=getStringOption(e2.scriptTest,["error","disabled","warning"]),this.use=e2.use||"",this.usehref=e2.usehref||"",this.extras=null,this.message=null,this.picture=null,this.script=null}},Value=class extends Y{constructor(e2){super(Z,"value",!0),this.id=e2.id||"",this.override=getInteger({data:e2.override,defaultValue:0,validate:e3=>e3===1}),this.relevant=getRelevant(e2.relevant),this.use=e2.use||"",this.usehref=e2.usehref||"",this.arc=null,this.boolean=null,this.date=null,this.dateTime=null,this.decimal=null,this.exData=null,this.float=null,this.image=null,this.integer=null,this.line=null,this.rectangle=null,this.text=null,this.time=null}[Wi](e2){let t2=this[G]();if(t2 instanceof Field&&t2.ui?.imageEdit){this.image||(this.image=new Image$1({}),this[Vr](this.image)),this.image[U]=e2[U];return}let n2=e2[Oi];if(this[n2]!==null){this[n2][U]=e2[U];return}for(let e3 of Object.getOwnPropertyNames(this)){let t3=this[e3];t3 instanceof Y&&(this[e3]=null,this[Ii](t3))}this[e2[Oi]]=e2,this[Vr](e2)}[Ki](){if(this.exData)return typeof this.exData[U]=="string"?this.exData[U].trim():this.exData[U][Ki]().trim();for(let e2 of Object.getOwnPropertyNames(this)){if(e2==="image")continue;let t2=this[e2];if(t2 instanceof Y)return(t2[U]||"").toString().trim()}return null}[K](e2){for(let t2 of Object.getOwnPropertyNames(this)){let n2=this[t2];if(n2 instanceof Y)return n2[K](e2)}return q.EMPTY}},Variables=class extends Y{constructor(e2){super(Z,"variables",!0),this.id=e2.id||"",this.use=e2.use||"",this.usehref=e2.usehref||"",this.boolean=new X,this.date=new X,this.dateTime=new X,this.decimal=new X,this.exData=new X,this.float=new X,this.image=new X,this.integer=new X,this.manifest=new X,this.script=new X,this.text=new X,this.time=new X}[wi](){return!0}},Aa=class TemplateNamespace{static[Zi](e2,t2){if(Object.hasOwn(TemplateNamespace,e2)){let n2=TemplateNamespace[e2](t2);return n2[Hi](t2),n2}}static appearanceFilter(e2){return new AppearanceFilter(e2)}static arc(e2){return new Arc(e2)}static area(e2){return new Area(e2)}static assist(e2){return new Assist(e2)}static barcode(e2){return new Barcode(e2)}static bind(e2){return new Bind(e2)}static bindItems(e2){return new BindItems(e2)}static bookend(e2){return new Bookend(e2)}static boolean(e2){return new BooleanElement(e2)}static border(e2){return new Border(e2)}static break(e2){return new Break(e2)}static breakAfter(e2){return new BreakAfter(e2)}static breakBefore(e2){return new BreakBefore(e2)}static button(e2){return new Button(e2)}static calculate(e2){return new Calculate(e2)}static caption(e2){return new Caption(e2)}static certificate(e2){return new Certificate(e2)}static certificates(e2){return new Certificates(e2)}static checkButton(e2){return new CheckButton(e2)}static choiceList(e2){return new ChoiceList(e2)}static color(e2){return new Color(e2)}static comb(e2){return new Comb(e2)}static connect(e2){return new Connect(e2)}static contentArea(e2){return new ContentArea(e2)}static corner(e2){return new Corner(e2)}static date(e2){return new DateElement(e2)}static dateTime(e2){return new DateTime(e2)}static dateTimeEdit(e2){return new DateTimeEdit(e2)}static decimal(e2){return new Decimal(e2)}static defaultUi(e2){return new DefaultUi(e2)}static desc(e2){return new Desc(e2)}static digestMethod(e2){return new DigestMethod(e2)}static digestMethods(e2){return new DigestMethods(e2)}static draw(e2){return new Draw(e2)}static edge(e2){return new Edge(e2)}static encoding(e2){return new Encoding(e2)}static encodings(e2){return new Encodings(e2)}static encrypt(e2){return new Encrypt(e2)}static encryptData(e2){return new EncryptData(e2)}static encryption(e2){return new Encryption(e2)}static encryptionMethod(e2){return new EncryptionMethod(e2)}static encryptionMethods(e2){return new EncryptionMethods(e2)}static event(e2){return new Event$1(e2)}static exData(e2){return new ExData(e2)}static exObject(e2){return new ExObject(e2)}static exclGroup(e2){return new ExclGroup(e2)}static execute(e2){return new Execute(e2)}static extras(e2){return new Extras(e2)}static field(e2){return new Field(e2)}static fill(e2){return new Fill(e2)}static filter(e2){return new Filter(e2)}static float(e2){return new Float(e2)}static font(e2){return new template_Font(e2)}static format(e2){return new Format(e2)}static handler(e2){return new Handler(e2)}static hyphenation(e2){return new Hyphenation(e2)}static image(e2){return new Image$1(e2)}static imageEdit(e2){return new ImageEdit(e2)}static integer(e2){return new Integer(e2)}static issuers(e2){return new Issuers(e2)}static items(e2){return new Items(e2)}static keep(e2){return new Keep(e2)}static keyUsage(e2){return new KeyUsage(e2)}static line(e2){return new Line(e2)}static linear(e2){return new Linear(e2)}static lockDocument(e2){return new LockDocument(e2)}static manifest(e2){return new Manifest(e2)}static margin(e2){return new Margin(e2)}static mdp(e2){return new Mdp(e2)}static medium(e2){return new Medium(e2)}static message(e2){return new Message(e2)}static numericEdit(e2){return new NumericEdit(e2)}static occur(e2){return new Occur(e2)}static oid(e2){return new Oid(e2)}static oids(e2){return new Oids(e2)}static overflow(e2){return new Overflow(e2)}static pageArea(e2){return new PageArea(e2)}static pageSet(e2){return new ka(e2)}static para(e2){return new Para(e2)}static passwordEdit(e2){return new PasswordEdit(e2)}static pattern(e2){return new template_Pattern(e2)}static picture(e2){return new Picture(e2)}static proto(e2){return new Proto(e2)}static radial(e2){return new Radial(e2)}static reason(e2){return new Reason(e2)}static reasons(e2){return new Reasons(e2)}static rectangle(e2){return new Rectangle(e2)}static ref(e2){return new RefElement(e2)}static script(e2){return new Script(e2)}static setProperty(e2){return new SetProperty(e2)}static signData(e2){return new SignData(e2)}static signature(e2){return new Signature(e2)}static signing(e2){return new Signing(e2)}static solid(e2){return new Solid(e2)}static speak(e2){return new Speak(e2)}static stipple(e2){return new Stipple(e2)}static subform(e2){return new Subform(e2)}static subformSet(e2){return new SubformSet(e2)}static subjectDN(e2){return new SubjectDN(e2)}static subjectDNs(e2){return new SubjectDNs(e2)}static submit(e2){return new Submit(e2)}static template(e2){return new Template(e2)}static text(e2){return new Text(e2)}static textEdit(e2){return new TextEdit(e2)}static time(e2){return new Time(e2)}static timeStamp(e2){return new TimeStamp(e2)}static toolTip(e2){return new ToolTip(e2)}static traversal(e2){return new Traversal(e2)}static traverse(e2){return new Traverse(e2)}static ui(e2){return new Ui(e2)}static validate(e2){return new Validate(e2)}static value(e2){return new Value(e2)}static variables(e2){return new Variables(e2)}},ja=Qi.datasets.id;function createText(e2){let t2=new Text({});return t2[U]=e2,t2}var Binder=class{constructor(e2){this.root=e2,this.datasets=e2.datasets,this.data=e2.datasets?.data||new wa(Qi.datasets.id,"data"),this.emptyMerge=this.data[si]().length===0,this.root.form=this.form=e2.template[Kr]()}_isConsumeData(){return!this.emptyMerge&&this._mergeMode}_isMatchTemplate(){return!this._isConsumeData()}bind(){return this._bindElement(this.form,this.data),this.form}getData(){return this.data}_bindValue(e2,t2,n2){if(e2[Jr]=t2,e2[pi]())if(t2[yi]()){let n3=t2[ii]();e2[Wi](createText(n3))}else if(e2 instanceof Field&&e2.ui?.choiceList?.open==="multiSelect"){let n3=t2[si]().map(e3=>e3[U].trim()).join(`
|
|
16
|
+
`);e2[Wi](createText(n3))}else this._isConsumeData()&&warn$1("XFA - Nodes haven't the same type.");else!t2[yi]()||this._isMatchTemplate()?this._bindElement(e2,t2):warn$1("XFA - Nodes haven't the same type.")}_findDataByNameToConsume(e2,t2,n2,r2){if(!e2)return null;let i2,a2;for(let r3=0;r3<3;r3++){for(i2=n2[oi](e2,!1,!0);a2=i2.next().value,a2;)if(t2===a2[yi]())return a2;if(n2[Di]===Qi.datasets.id&&n2[Oi]==="data")break;n2=n2[G]()}return r2?(i2=this.data[oi](e2,!0,!1),a2=i2.next().value,a2||(i2=this.data[Qr](e2,!0),a2=i2.next().value,a2?.[yi]())?a2:null):null}_setProperties(e2,t2){if(Object.hasOwn(e2,"setProperty"))for(let{ref:n2,target:r2,connection:i2}of e2.setProperty.children){if(i2||!n2)continue;let a2=searchNode(this.root,t2,n2,!1,!1);if(!a2){warn$1(`XFA - Invalid reference: ${n2}.`);continue}let[o2]=a2;if(!o2[bi](this.data)){warn$1("XFA - Invalid node: must be a data node.");continue}let s2=searchNode(this.root,e2,r2,!1,!1);if(!s2){warn$1(`XFA - Invalid target: ${r2}.`);continue}let[c2]=s2;if(!c2[bi](e2)){warn$1("XFA - Invalid target: must be a property or subproperty.");continue}let l2=c2[G]();if(c2 instanceof SetProperty||l2 instanceof SetProperty){warn$1("XFA - Invalid target: cannot be a setProperty or one of its properties.");continue}if(c2 instanceof BindItems||l2 instanceof BindItems){warn$1("XFA - Invalid target: cannot be a bindItems or one of its properties.");continue}let u2=o2[Ki](),d2=c2[Oi];if(c2 instanceof XFAAttribute){let e3=Object.create(null);e3[d2]=u2,l2[d2]=Reflect.construct(Object.getPrototypeOf(l2).constructor,[e3])[d2];continue}if(!Object.hasOwn(c2,U)){warn$1("XFA - Invalid node to use in setProperty");continue}c2[Jr]=o2,c2[U]=u2,c2[Xr]()}}_bindItems(e2,t2){if(!Object.hasOwn(e2,"items")||!Object.hasOwn(e2,"bindItems")||e2.bindItems.isEmpty())return;for(let t3 of e2.items.children)e2[Ii](t3);e2.items.clear();let n2=new Items({}),r2=new Items({});e2[Vr](n2),e2.items.push(n2),e2[Vr](r2),e2.items.push(r2);for(let{ref:i2,labelRef:a2,valueRef:o2,connection:s2}of e2.bindItems.children){if(s2||!i2)continue;let e3=searchNode(this.root,t2,i2,!1,!1);if(!e3){warn$1(`XFA - Invalid reference: ${i2}.`);continue}for(let t3 of e3){if(!t3[bi](this.datasets)){warn$1(`XFA - Invalid ref (${i2}): must be a datasets child.`);continue}let e4=searchNode(this.root,t3,a2,!0,!1);if(!e4){warn$1(`XFA - Invalid label: ${a2}.`);continue}let[s3]=e4;if(!s3[bi](this.datasets)){warn$1("XFA - Invalid label: must be a datasets child.");continue}let c2=searchNode(this.root,t3,o2,!0,!1);if(!c2){warn$1(`XFA - Invalid value: ${o2}.`);continue}let[l2]=c2;if(!l2[bi](this.datasets)){warn$1("XFA - Invalid value: must be a datasets child.");continue}let u2=createText(s3[Ki]()),d2=createText(l2[Ki]());n2[Vr](u2),n2.text.push(u2),r2[Vr](d2),r2.text.push(d2)}}}_bindOccurrences(e2,t2,n2){let r2;if(t2.length>1&&(r2=e2[Kr](),r2[Ii](r2.occur),r2.occur=null),this._bindValue(e2,t2[0],n2),this._setProperties(e2,t2[0]),this._bindItems(e2,t2[0]),t2.length===1)return;let i2=e2[G](),a2=e2[Oi],o2=i2[hi](e2);for(let e3=1,s2=t2.length;e3<s2;e3++){let s3=t2[e3],c2=r2[Kr]();i2[a2].push(c2),i2[gi](o2+e3,c2),this._bindValue(c2,s3,n2),this._setProperties(c2,s3),this._bindItems(c2,s3)}}_createOccurrences(e2){if(!this.emptyMerge)return;let{occur:t2}=e2;if(!t2||t2.initial<=1)return;let n2=e2[G](),r2=e2[Oi];if(!(n2[r2]instanceof X))return;let i2;i2=e2.name?n2[r2].children.filter(t3=>t3.name===e2.name).length:n2[r2].children.length;let a2=n2[hi](e2)+1,o2=t2.initial-i2;if(o2){let t3=e2[Kr]();t3[Ii](t3.occur),t3.occur=null,n2[r2].push(t3),n2[gi](a2,t3);for(let e3=1;e3<o2;e3++){let i3=t3[Kr]();n2[r2].push(i3),n2[gi](a2+e3,i3)}}}_getOccurInfo(e2){let{name:t2,occur:n2}=e2;if(!n2||!t2)return[1,1];let r2=n2.max===-1?1/0:n2.max;return[n2.min,r2]}_setAndBind(e2,t2){this._setProperties(e2,t2),this._bindItems(e2,t2),this._bindElement(e2,t2)}_bindElement(e2,t2){let n2=[];this._createOccurrences(e2);for(let r2 of e2[si]()){if(r2[Jr])continue;if(this._mergeMode===void 0&&r2[Oi]==="subform"){this._mergeMode=r2.mergeMode==="consumeData";let e4=t2[si]();if(e4.length>0)this._bindOccurrences(r2,[e4[0]],null);else if(this.emptyMerge){let e5=r2[Jr]=new wa(t2[Di]===ja?-1:t2[Di],r2.name||"root");t2[Vr](e5),this._bindElement(r2,e5)}continue}if(!r2[vi]())continue;let e3=!1,i2=null,a2=null,o2=null;if(r2.bind){switch(r2.bind.match){case"none":this._setAndBind(r2,t2);continue;case"global":e3=!0;break;case"dataRef":if(!r2.bind.ref){warn$1(`XFA - ref is empty in node ${r2[Oi]}.`),this._setAndBind(r2,t2);continue}a2=r2.bind.ref;break;default:break}r2.bind.picture&&(i2=r2.bind.picture[U])}let[s2,c2]=this._getOccurInfo(r2);if(a2)if(o2=searchNode(this.root,t2,a2,!0,!1),o2===null){if(o2=createDataNode(this.data,t2,a2),!o2)continue;this._isConsumeData()&&(o2[qr]=!0),this._setAndBind(r2,o2);continue}else this._isConsumeData()&&(o2=o2.filter(e4=>!e4[qr])),o2.length>c2?o2=o2.slice(0,c2):o2.length===0&&(o2=null),o2&&this._isConsumeData()&&o2.forEach(e4=>{e4[qr]=!0});else{if(!r2.name){this._setAndBind(r2,t2);continue}if(this._isConsumeData()){let n3=[];for(;n3.length<c2;){let i3=this._findDataByNameToConsume(r2.name,r2[pi](),t2,e3);if(!i3)break;i3[qr]=!0,n3.push(i3)}o2=n3.length>0?n3:null}else{if(o2=t2[oi](r2.name,!1,this.emptyMerge).next().value,!o2){if(s2===0){n2.push(r2);continue}o2=r2[Jr]=new wa(t2[Di]===ja?-1:t2[Di],r2.name),this.emptyMerge&&(o2[qr]=!0),t2[Vr](o2),this._setAndBind(r2,o2);continue}this.emptyMerge&&(o2[qr]=!0),o2=[o2]}}o2?this._bindOccurrences(r2,o2,i2):s2>0?this._setAndBind(r2,t2):n2.push(r2)}n2.forEach(e3=>e3[G]()[Ii](e3))}},DataHandler=class{constructor(e2,t2){this.data=t2,this.dataset=e2.datasets||null}serialize(e2){let t2=[[-1,this.data[si]()]];for(;t2.length>0;){let n3=t2.at(-1),[r2,i2]=n3;if(r2+1===i2.length){t2.pop();continue}let a2=i2[++n3[0]],o2=e2.get(a2[Xi]);if(o2)a2[Wi](o2);else{let t3=a2[$r]();for(let n4 of t3.values()){let t4=e2.get(n4[Xi]);if(t4){n4[Wi](t4);break}}}let s2=a2[si]();s2.length>0&&t2.push([-1,s2])}let n2=['<xfa:datasets xmlns:xfa="http://www.xfa.org/schema/xfa-data/1.0/">'];if(this.dataset)for(let e3 of this.dataset[si]())e3[Oi]!=="data"&&e3[Ji](n2);return this.data[Ji](n2),n2.push("</xfa:datasets>"),n2.join("")}},Q=Qi.config.id,Acrobat=class extends Y{constructor(e2){super(Q,"acrobat",!0),this.acrobat7=null,this.autoSave=null,this.common=null,this.validate=null,this.validateApprovalSignatures=null,this.submitUrl=new X}},Acrobat7=class extends Y{constructor(e2){super(Q,"acrobat7",!0),this.dynamicRender=null}},ADBE_JSConsole=class extends OptionObject{constructor(e2){super(Q,"ADBE_JSConsole",["delegate","Enable","Disable"])}},ADBE_JSDebugger=class extends OptionObject{constructor(e2){super(Q,"ADBE_JSDebugger",["delegate","Enable","Disable"])}},AddSilentPrint=class extends Option01{constructor(e2){super(Q,"addSilentPrint")}},AddViewerPreferences=class extends Option01{constructor(e2){super(Q,"addViewerPreferences")}},AdjustData=class extends Option10{constructor(e2){super(Q,"adjustData")}},AdobeExtensionLevel=class extends IntegerObject{constructor(e2){super(Q,"adobeExtensionLevel",0,e3=>e3>=1&&e3<=8)}},Agent=class extends Y{constructor(e2){super(Q,"agent",!0),this.name=e2.name?e2.name.trim():"",this.common=new X}},AlwaysEmbed=class extends ContentObject{constructor(e2){super(Q,"alwaysEmbed")}},Amd=class extends StringObject{constructor(e2){super(Q,"amd")}},config_Area=class extends Y{constructor(e2){super(Q,"area"),this.level=getInteger({data:e2.level,defaultValue:0,validate:e3=>e3>=1&&e3<=3}),this.name=getStringOption(e2.name,["","barcode","coreinit","deviceDriver","font","general","layout","merge","script","signature","sourceSet","templateCache"])}},Attributes=class extends OptionObject{constructor(e2){super(Q,"attributes",["preserve","delegate","ignore"])}},AutoSave=class extends OptionObject{constructor(e2){super(Q,"autoSave",["disabled","enabled"])}},Base=class extends StringObject{constructor(e2){super(Q,"base")}},BatchOutput=class extends Y{constructor(e2){super(Q,"batchOutput"),this.format=getStringOption(e2.format,["none","concat","zip","zipCompress"])}},BehaviorOverride=class extends ContentObject{constructor(e2){super(Q,"behaviorOverride")}[Xr](){this[U]=new Map(this[U].trim().split(/\s+/).filter(e2=>e2.includes(":")).map(e2=>e2.split(":",2)))}},Cache=class extends Y{constructor(e2){super(Q,"cache",!0),this.templateCache=null}},Change=class extends Option01{constructor(e2){super(Q,"change")}},Common=class extends Y{constructor(e2){super(Q,"common",!0),this.data=null,this.locale=null,this.localeSet=null,this.messaging=null,this.suppressBanner=null,this.template=null,this.validationMessaging=null,this.versionControl=null,this.log=new X}},Compress=class extends Y{constructor(e2){super(Q,"compress"),this.scope=getStringOption(e2.scope,["imageOnly","document"])}},CompressLogicalStructure=class extends Option01{constructor(e2){super(Q,"compressLogicalStructure")}},CompressObjectStream=class extends Option10{constructor(e2){super(Q,"compressObjectStream")}},Compression=class extends Y{constructor(e2){super(Q,"compression",!0),this.compressLogicalStructure=null,this.compressObjectStream=null,this.level=null,this.type=null}},Config=class extends Y{constructor(e2){super(Q,"config",!0),this.acrobat=null,this.present=null,this.trace=null,this.agent=new X}},Conformance=class extends OptionObject{constructor(e2){super(Q,"conformance",["A","B"])}},ContentCopy=class extends Option01{constructor(e2){super(Q,"contentCopy")}},Copies=class extends IntegerObject{constructor(e2){super(Q,"copies",1,e3=>e3>=1)}},Creator=class extends StringObject{constructor(e2){super(Q,"creator")}},CurrentPage=class extends IntegerObject{constructor(e2){super(Q,"currentPage",0,e3=>e3>=0)}},Data=class extends Y{constructor(e2){super(Q,"data",!0),this.adjustData=null,this.attributes=null,this.incrementalLoad=null,this.outputXSL=null,this.range=null,this.record=null,this.startNode=null,this.uri=null,this.window=null,this.xsl=null,this.excludeNS=new X,this.transform=new X}},Debug=class extends Y{constructor(e2){super(Q,"debug",!0),this.uri=null}},DefaultTypeface=class extends ContentObject{constructor(e2){super(Q,"defaultTypeface"),this.writingScript=getStringOption(e2.writingScript,["*","Arabic","Cyrillic","EastEuropeanRoman","Greek","Hebrew","Japanese","Korean","Roman","SimplifiedChinese","Thai","TraditionalChinese","Vietnamese"])}},Destination=class extends OptionObject{constructor(e2){super(Q,"destination",["pdf","pcl","ps","webClient","zpl"])}},DocumentAssembly=class extends Option01{constructor(e2){super(Q,"documentAssembly")}},Driver=class extends Y{constructor(e2){super(Q,"driver",!0),this.name=e2.name?e2.name.trim():"",this.fontInfo=null,this.xdc=null}},DuplexOption=class extends OptionObject{constructor(e2){super(Q,"duplexOption",["simplex","duplexFlipLongEdge","duplexFlipShortEdge"])}},DynamicRender=class extends OptionObject{constructor(e2){super(Q,"dynamicRender",["forbidden","required"])}},Embed=class extends Option01{constructor(e2){super(Q,"embed")}},config_Encrypt=class extends Option01{constructor(e2){super(Q,"encrypt")}},config_Encryption=class extends Y{constructor(e2){super(Q,"encryption",!0),this.encrypt=null,this.encryptionLevel=null,this.permissions=null}},EncryptionLevel=class extends OptionObject{constructor(e2){super(Q,"encryptionLevel",["40bit","128bit"])}},Enforce=class extends StringObject{constructor(e2){super(Q,"enforce")}},Equate=class extends Y{constructor(e2){super(Q,"equate"),this.force=getInteger({data:e2.force,defaultValue:1,validate:e3=>e3===0}),this.from=e2.from||"",this.to=e2.to||""}},EquateRange=class extends Y{constructor(e2){super(Q,"equateRange"),this.from=e2.from||"",this.to=e2.to||"",this._unicodeRange=e2.unicodeRange||""}get unicodeRange(){let e2=[],t2=/U\+([0-9a-fA-F]+)/,n2=this._unicodeRange;for(let r2 of n2.split(",").map(e3=>e3.trim()).filter(e3=>!!e3))r2=r2.split("-",2).map(e3=>{let n3=e3.match(t2);return n3?parseInt(n3[1],16):0}),r2.length===1&&r2.push(r2[0]),e2.push(r2);return shadow$1(this,"unicodeRange",e2)}},Exclude=class extends ContentObject{constructor(e2){super(Q,"exclude")}[Xr](){this[U]=this[U].trim().split(/\s+/).filter(e2=>e2&&["calculate","close","enter","exit","initialize","ready","validate"].includes(e2))}},ExcludeNS=class extends StringObject{constructor(e2){super(Q,"excludeNS")}},FlipLabel=class extends OptionObject{constructor(e2){super(Q,"flipLabel",["usePrinterSetting","on","off"])}},config_FontInfo=class extends Y{constructor(e2){super(Q,"fontInfo",!0),this.embed=null,this.map=null,this.subsetBelow=null,this.alwaysEmbed=new X,this.defaultTypeface=new X,this.neverEmbed=new X}},FormFieldFilling=class extends Option01{constructor(e2){super(Q,"formFieldFilling")}},GroupParent=class extends StringObject{constructor(e2){super(Q,"groupParent")}},IfEmpty=class extends OptionObject{constructor(e2){super(Q,"ifEmpty",["dataValue","dataGroup","ignore","remove"])}},IncludeXDPContent=class extends StringObject{constructor(e2){super(Q,"includeXDPContent")}},IncrementalLoad=class extends OptionObject{constructor(e2){super(Q,"incrementalLoad",["none","forwardOnly"])}},IncrementalMerge=class extends Option01{constructor(e2){super(Q,"incrementalMerge")}},Interactive=class extends Option01{constructor(e2){super(Q,"interactive")}},Jog=class extends OptionObject{constructor(e2){super(Q,"jog",["usePrinterSetting","none","pageSet"])}},LabelPrinter=class extends Y{constructor(e2){super(Q,"labelPrinter",!0),this.name=getStringOption(e2.name,["zpl","dpl","ipl","tcpl"]),this.batchOutput=null,this.flipLabel=null,this.fontInfo=null,this.xdc=null}},Layout=class extends OptionObject{constructor(e2){super(Q,"layout",["paginate","panel"])}},Level=class extends IntegerObject{constructor(e2){super(Q,"level",0,e3=>e3>0)}},Linearized=class extends Option01{constructor(e2){super(Q,"linearized")}},Locale=class extends StringObject{constructor(e2){super(Q,"locale")}},LocaleSet=class extends StringObject{constructor(e2){super(Q,"localeSet")}},Log=class extends Y{constructor(e2){super(Q,"log",!0),this.mode=null,this.threshold=null,this.to=null,this.uri=null}},MapElement=class extends Y{constructor(e2){super(Q,"map",!0),this.equate=new X,this.equateRange=new X}},MediumInfo=class extends Y{constructor(e2){super(Q,"mediumInfo",!0),this.map=null}},config_Message=class extends Y{constructor(e2){super(Q,"message",!0),this.msgId=null,this.severity=null}},Messaging=class extends Y{constructor(e2){super(Q,"messaging",!0),this.message=new X}},Mode=class extends OptionObject{constructor(e2){super(Q,"mode",["append","overwrite"])}},ModifyAnnots=class extends Option01{constructor(e2){super(Q,"modifyAnnots")}},MsgId=class extends IntegerObject{constructor(e2){super(Q,"msgId",1,e3=>e3>=1)}},NameAttr=class extends StringObject{constructor(e2){super(Q,"nameAttr")}},NeverEmbed=class extends ContentObject{constructor(e2){super(Q,"neverEmbed")}},NumberOfCopies=class extends IntegerObject{constructor(e2){super(Q,"numberOfCopies",null,e3=>e3>=2&&e3<=5)}},OpenAction=class extends Y{constructor(e2){super(Q,"openAction",!0),this.destination=null}},Output=class extends Y{constructor(e2){super(Q,"output",!0),this.to=null,this.type=null,this.uri=null}},OutputBin=class extends StringObject{constructor(e2){super(Q,"outputBin")}},OutputXSL=class extends Y{constructor(e2){super(Q,"outputXSL",!0),this.uri=null}},Overprint=class extends OptionObject{constructor(e2){super(Q,"overprint",["none","both","draw","field"])}},Packets=class extends StringObject{constructor(e2){super(Q,"packets")}[Xr](){this[U]!=="*"&&(this[U]=this[U].trim().split(/\s+/).filter(e2=>["config","datasets","template","xfdf","xslt"].includes(e2)))}},PageOffset=class extends Y{constructor(e2){super(Q,"pageOffset"),this.x=getInteger({data:e2.x,defaultValue:"useXDCSetting",validate:e3=>!0}),this.y=getInteger({data:e2.y,defaultValue:"useXDCSetting",validate:e3=>!0})}},PageRange=class extends StringObject{constructor(e2){super(Q,"pageRange")}[Xr](){let e2=this[U].trim().split(/\s+/).map(e3=>parseInt(e3,10)),t2=[];for(let n2=0,r2=e2.length;n2<r2;n2+=2)t2.push(e2.slice(n2,n2+2));this[U]=t2}},Pagination=class extends OptionObject{constructor(e2){super(Q,"pagination",["simplex","duplexShortEdge","duplexLongEdge"])}},PaginationOverride=class extends OptionObject{constructor(e2){super(Q,"paginationOverride",["none","forceDuplex","forceDuplexLongEdge","forceDuplexShortEdge","forceSimplex"])}},Part=class extends IntegerObject{constructor(e2){super(Q,"part",1,e3=>!1)}},Pcl=class extends Y{constructor(e2){super(Q,"pcl",!0),this.name=e2.name||"",this.batchOutput=null,this.fontInfo=null,this.jog=null,this.mediumInfo=null,this.outputBin=null,this.pageOffset=null,this.staple=null,this.xdc=null}},Pdf=class extends Y{constructor(e2){super(Q,"pdf",!0),this.name=e2.name||"",this.adobeExtensionLevel=null,this.batchOutput=null,this.compression=null,this.creator=null,this.encryption=null,this.fontInfo=null,this.interactive=null,this.linearized=null,this.openAction=null,this.pdfa=null,this.producer=null,this.renderPolicy=null,this.scriptModel=null,this.silentPrint=null,this.submitFormat=null,this.tagged=null,this.version=null,this.viewerPreferences=null,this.xdc=null}},Pdfa=class extends Y{constructor(e2){super(Q,"pdfa",!0),this.amd=null,this.conformance=null,this.includeXDPContent=null,this.part=null}},Permissions=class extends Y{constructor(e2){super(Q,"permissions",!0),this.accessibleContent=null,this.change=null,this.contentCopy=null,this.documentAssembly=null,this.formFieldFilling=null,this.modifyAnnots=null,this.plaintextMetadata=null,this.print=null,this.printHighQuality=null}},PickTrayByPDFSize=class extends Option01{constructor(e2){super(Q,"pickTrayByPDFSize")}},config_Picture=class extends StringObject{constructor(e2){super(Q,"picture")}},PlaintextMetadata=class extends Option01{constructor(e2){super(Q,"plaintextMetadata")}},Presence=class extends OptionObject{constructor(e2){super(Q,"presence",["preserve","dissolve","dissolveStructure","ignore","remove"])}},Present=class extends Y{constructor(e2){super(Q,"present",!0),this.behaviorOverride=null,this.cache=null,this.common=null,this.copies=null,this.destination=null,this.incrementalMerge=null,this.layout=null,this.output=null,this.overprint=null,this.pagination=null,this.paginationOverride=null,this.script=null,this.validate=null,this.xdp=null,this.driver=new X,this.labelPrinter=new X,this.pcl=new X,this.pdf=new X,this.ps=new X,this.submitUrl=new X,this.webClient=new X,this.zpl=new X}},Print=class extends Option01{constructor(e2){super(Q,"print")}},PrintHighQuality=class extends Option01{constructor(e2){super(Q,"printHighQuality")}},PrintScaling=class extends OptionObject{constructor(e2){super(Q,"printScaling",["appdefault","noScaling"])}},PrinterName=class extends StringObject{constructor(e2){super(Q,"printerName")}},Producer=class extends StringObject{constructor(e2){super(Q,"producer")}},Ps=class extends Y{constructor(e2){super(Q,"ps",!0),this.name=e2.name||"",this.batchOutput=null,this.fontInfo=null,this.jog=null,this.mediumInfo=null,this.outputBin=null,this.staple=null,this.xdc=null}},Range$1=class extends ContentObject{constructor(e2){super(Q,"range")}[Xr](){this[U]=this[U].split(",",2).map(e2=>e2.split("-").map(e3=>parseInt(e3.trim(),10))).filter(e2=>e2.every(e3=>!isNaN(e3))).map(e2=>(e2.length===1&&e2.push(e2[0]),e2))}},Record=class extends ContentObject{constructor(e2){super(Q,"record")}[Xr](){this[U]=this[U].trim();let e2=parseInt(this[U],10);!isNaN(e2)&&e2>=0&&(this[U]=e2)}},Relevant=class extends ContentObject{constructor(e2){super(Q,"relevant")}[Xr](){this[U]=this[U].trim().split(/\s+/)}},Rename=class extends ContentObject{constructor(e2){super(Q,"rename")}[Xr](){this[U]=this[U].trim(),(this[U].toLowerCase().startsWith("xml")||/[\p{L}_][\p{L}\d._\p{M}-]*/u.test(this[U]))&&warn$1("XFA - Rename: invalid XFA name")}},RenderPolicy=class extends OptionObject{constructor(e2){super(Q,"renderPolicy",["server","client"])}},RunScripts=class extends OptionObject{constructor(e2){super(Q,"runScripts",["both","client","none","server"])}},config_Script=class extends Y{constructor(e2){super(Q,"script",!0),this.currentPage=null,this.exclude=null,this.runScripts=null}},ScriptModel=class extends OptionObject{constructor(e2){super(Q,"scriptModel",["XFA","none"])}},Severity=class extends OptionObject{constructor(e2){super(Q,"severity",["ignore","error","information","trace","warning"])}},SilentPrint=class extends Y{constructor(e2){super(Q,"silentPrint",!0),this.addSilentPrint=null,this.printerName=null}},Staple=class extends Y{constructor(e2){super(Q,"staple"),this.mode=getStringOption(e2.mode,["usePrinterSetting","on","off"])}},StartNode=class extends StringObject{constructor(e2){super(Q,"startNode")}},StartPage=class extends IntegerObject{constructor(e2){super(Q,"startPage",0,e3=>!0)}},SubmitFormat=class extends OptionObject{constructor(e2){super(Q,"submitFormat",["html","delegate","fdf","xml","pdf"])}},SubmitUrl=class extends StringObject{constructor(e2){super(Q,"submitUrl")}},SubsetBelow=class extends IntegerObject{constructor(e2){super(Q,"subsetBelow",100,e3=>e3>=0&&e3<=100)}},SuppressBanner=class extends Option01{constructor(e2){super(Q,"suppressBanner")}},Tagged=class extends Option01{constructor(e2){super(Q,"tagged")}},config_Template=class extends Y{constructor(e2){super(Q,"template",!0),this.base=null,this.relevant=null,this.startPage=null,this.uri=null,this.xsl=null}},Threshold=class extends OptionObject{constructor(e2){super(Q,"threshold",["trace","error","information","warning"])}},To=class extends OptionObject{constructor(e2){super(Q,"to",["null","memory","stderr","stdout","system","uri"])}},TemplateCache=class extends Y{constructor(e2){super(Q,"templateCache"),this.maxEntries=getInteger({data:e2.maxEntries,defaultValue:5,validate:e3=>e3>=0})}},Trace=class extends Y{constructor(e2){super(Q,"trace",!0),this.area=new X}},Transform=class extends Y{constructor(e2){super(Q,"transform",!0),this.groupParent=null,this.ifEmpty=null,this.nameAttr=null,this.picture=null,this.presence=null,this.rename=null,this.whitespace=null}},Type=class extends OptionObject{constructor(e2){super(Q,"type",["none","ascii85","asciiHex","ccittfax","flate","lzw","runLength","native","xdp","mergedXDP"])}},Uri=class extends StringObject{constructor(e2){super(Q,"uri")}},config_Validate=class extends OptionObject{constructor(e2){super(Q,"validate",["preSubmit","prePrint","preExecute","preSave"])}},ValidateApprovalSignatures=class extends ContentObject{constructor(e2){super(Q,"validateApprovalSignatures")}[Xr](){this[U]=this[U].trim().split(/\s+/).filter(e2=>["docReady","postSign"].includes(e2))}},ValidationMessaging=class extends OptionObject{constructor(e2){super(Q,"validationMessaging",["allMessagesIndividually","allMessagesTogether","firstMessageOnly","noMessages"])}},Version=class extends OptionObject{constructor(e2){super(Q,"version",["1.7","1.6","1.5","1.4","1.3","1.2"])}},VersionControl=class extends Y{constructor(e2){super(Q,"VersionControl"),this.outputBelow=getStringOption(e2.outputBelow,["warn","error","update"]),this.sourceAbove=getStringOption(e2.sourceAbove,["warn","error"]),this.sourceBelow=getStringOption(e2.sourceBelow,["update","maintain"])}},ViewerPreferences=class extends Y{constructor(e2){super(Q,"viewerPreferences",!0),this.ADBE_JSConsole=null,this.ADBE_JSDebugger=null,this.addViewerPreferences=null,this.duplexOption=null,this.enforce=null,this.numberOfCopies=null,this.pageRange=null,this.pickTrayByPDFSize=null,this.printScaling=null}},WebClient=class extends Y{constructor(e2){super(Q,"webClient",!0),this.name=e2.name?e2.name.trim():"",this.fontInfo=null,this.xdc=null}},Whitespace=class extends OptionObject{constructor(e2){super(Q,"whitespace",["preserve","ltrim","normalize","rtrim","trim"])}},Window=class extends ContentObject{constructor(e2){super(Q,"window")}[Xr](){let e2=this[U].split(",",2).map(e3=>parseInt(e3.trim(),10));if(e2.some(e3=>isNaN(e3))){this[U]=[0,0];return}e2.length===1&&e2.push(e2[0]),this[U]=e2}},Xdc=class extends Y{constructor(e2){super(Q,"xdc",!0),this.uri=new X,this.xsl=new X}},Xdp=class extends Y{constructor(e2){super(Q,"xdp",!0),this.packets=null}},Xsl=class extends Y{constructor(e2){super(Q,"xsl",!0),this.debug=null,this.uri=null}},Zpl=class extends Y{constructor(e2){super(Q,"zpl",!0),this.name=e2.name?e2.name.trim():"",this.batchOutput=null,this.flipLabel=null,this.fontInfo=null,this.xdc=null}},Ma=class ConfigNamespace{static[Zi](e2,t2){if(Object.hasOwn(ConfigNamespace,e2))return ConfigNamespace[e2](t2)}static acrobat(e2){return new Acrobat(e2)}static acrobat7(e2){return new Acrobat7(e2)}static ADBE_JSConsole(e2){return new ADBE_JSConsole(e2)}static ADBE_JSDebugger(e2){return new ADBE_JSDebugger(e2)}static addSilentPrint(e2){return new AddSilentPrint(e2)}static addViewerPreferences(e2){return new AddViewerPreferences(e2)}static adjustData(e2){return new AdjustData(e2)}static adobeExtensionLevel(e2){return new AdobeExtensionLevel(e2)}static agent(e2){return new Agent(e2)}static alwaysEmbed(e2){return new AlwaysEmbed(e2)}static amd(e2){return new Amd(e2)}static area(e2){return new config_Area(e2)}static attributes(e2){return new Attributes(e2)}static autoSave(e2){return new AutoSave(e2)}static base(e2){return new Base(e2)}static batchOutput(e2){return new BatchOutput(e2)}static behaviorOverride(e2){return new BehaviorOverride(e2)}static cache(e2){return new Cache(e2)}static change(e2){return new Change(e2)}static common(e2){return new Common(e2)}static compress(e2){return new Compress(e2)}static compressLogicalStructure(e2){return new CompressLogicalStructure(e2)}static compressObjectStream(e2){return new CompressObjectStream(e2)}static compression(e2){return new Compression(e2)}static config(e2){return new Config(e2)}static conformance(e2){return new Conformance(e2)}static contentCopy(e2){return new ContentCopy(e2)}static copies(e2){return new Copies(e2)}static creator(e2){return new Creator(e2)}static currentPage(e2){return new CurrentPage(e2)}static data(e2){return new Data(e2)}static debug(e2){return new Debug(e2)}static defaultTypeface(e2){return new DefaultTypeface(e2)}static destination(e2){return new Destination(e2)}static documentAssembly(e2){return new DocumentAssembly(e2)}static driver(e2){return new Driver(e2)}static duplexOption(e2){return new DuplexOption(e2)}static dynamicRender(e2){return new DynamicRender(e2)}static embed(e2){return new Embed(e2)}static encrypt(e2){return new config_Encrypt(e2)}static encryption(e2){return new config_Encryption(e2)}static encryptionLevel(e2){return new EncryptionLevel(e2)}static enforce(e2){return new Enforce(e2)}static equate(e2){return new Equate(e2)}static equateRange(e2){return new EquateRange(e2)}static exclude(e2){return new Exclude(e2)}static excludeNS(e2){return new ExcludeNS(e2)}static flipLabel(e2){return new FlipLabel(e2)}static fontInfo(e2){return new config_FontInfo(e2)}static formFieldFilling(e2){return new FormFieldFilling(e2)}static groupParent(e2){return new GroupParent(e2)}static ifEmpty(e2){return new IfEmpty(e2)}static includeXDPContent(e2){return new IncludeXDPContent(e2)}static incrementalLoad(e2){return new IncrementalLoad(e2)}static incrementalMerge(e2){return new IncrementalMerge(e2)}static interactive(e2){return new Interactive(e2)}static jog(e2){return new Jog(e2)}static labelPrinter(e2){return new LabelPrinter(e2)}static layout(e2){return new Layout(e2)}static level(e2){return new Level(e2)}static linearized(e2){return new Linearized(e2)}static locale(e2){return new Locale(e2)}static localeSet(e2){return new LocaleSet(e2)}static log(e2){return new Log(e2)}static map(e2){return new MapElement(e2)}static mediumInfo(e2){return new MediumInfo(e2)}static message(e2){return new config_Message(e2)}static messaging(e2){return new Messaging(e2)}static mode(e2){return new Mode(e2)}static modifyAnnots(e2){return new ModifyAnnots(e2)}static msgId(e2){return new MsgId(e2)}static nameAttr(e2){return new NameAttr(e2)}static neverEmbed(e2){return new NeverEmbed(e2)}static numberOfCopies(e2){return new NumberOfCopies(e2)}static openAction(e2){return new OpenAction(e2)}static output(e2){return new Output(e2)}static outputBin(e2){return new OutputBin(e2)}static outputXSL(e2){return new OutputXSL(e2)}static overprint(e2){return new Overprint(e2)}static packets(e2){return new Packets(e2)}static pageOffset(e2){return new PageOffset(e2)}static pageRange(e2){return new PageRange(e2)}static pagination(e2){return new Pagination(e2)}static paginationOverride(e2){return new PaginationOverride(e2)}static part(e2){return new Part(e2)}static pcl(e2){return new Pcl(e2)}static pdf(e2){return new Pdf(e2)}static pdfa(e2){return new Pdfa(e2)}static permissions(e2){return new Permissions(e2)}static pickTrayByPDFSize(e2){return new PickTrayByPDFSize(e2)}static picture(e2){return new config_Picture(e2)}static plaintextMetadata(e2){return new PlaintextMetadata(e2)}static presence(e2){return new Presence(e2)}static present(e2){return new Present(e2)}static print(e2){return new Print(e2)}static printHighQuality(e2){return new PrintHighQuality(e2)}static printScaling(e2){return new PrintScaling(e2)}static printerName(e2){return new PrinterName(e2)}static producer(e2){return new Producer(e2)}static ps(e2){return new Ps(e2)}static range(e2){return new Range$1(e2)}static record(e2){return new Record(e2)}static relevant(e2){return new Relevant(e2)}static rename(e2){return new Rename(e2)}static renderPolicy(e2){return new RenderPolicy(e2)}static runScripts(e2){return new RunScripts(e2)}static script(e2){return new config_Script(e2)}static scriptModel(e2){return new ScriptModel(e2)}static severity(e2){return new Severity(e2)}static silentPrint(e2){return new SilentPrint(e2)}static staple(e2){return new Staple(e2)}static startNode(e2){return new StartNode(e2)}static startPage(e2){return new StartPage(e2)}static submitFormat(e2){return new SubmitFormat(e2)}static submitUrl(e2){return new SubmitUrl(e2)}static subsetBelow(e2){return new SubsetBelow(e2)}static suppressBanner(e2){return new SuppressBanner(e2)}static tagged(e2){return new Tagged(e2)}static template(e2){return new config_Template(e2)}static templateCache(e2){return new TemplateCache(e2)}static threshold(e2){return new Threshold(e2)}static to(e2){return new To(e2)}static trace(e2){return new Trace(e2)}static transform(e2){return new Transform(e2)}static type(e2){return new Type(e2)}static uri(e2){return new Uri(e2)}static validate(e2){return new config_Validate(e2)}static validateApprovalSignatures(e2){return new ValidateApprovalSignatures(e2)}static validationMessaging(e2){return new ValidationMessaging(e2)}static version(e2){return new Version(e2)}static versionControl(e2){return new VersionControl(e2)}static viewerPreferences(e2){return new ViewerPreferences(e2)}static webClient(e2){return new WebClient(e2)}static whitespace(e2){return new Whitespace(e2)}static window(e2){return new Window(e2)}static xdc(e2){return new Xdc(e2)}static xdp(e2){return new Xdp(e2)}static xsl(e2){return new Xsl(e2)}static zpl(e2){return new Zpl(e2)}},Na=Qi.connectionSet.id,ConnectionSet=class extends Y{constructor(e2){super(Na,"connectionSet",!0),this.wsdlConnection=new X,this.xmlConnection=new X,this.xsdConnection=new X}},EffectiveInputPolicy=class extends Y{constructor(e2){super(Na,"effectiveInputPolicy"),this.id=e2.id||"",this.name=e2.name||"",this.use=e2.use||"",this.usehref=e2.usehref||""}},EffectiveOutputPolicy=class extends Y{constructor(e2){super(Na,"effectiveOutputPolicy"),this.id=e2.id||"",this.name=e2.name||"",this.use=e2.use||"",this.usehref=e2.usehref||""}},Operation=class extends StringObject{constructor(e2){super(Na,"operation"),this.id=e2.id||"",this.input=e2.input||"",this.name=e2.name||"",this.output=e2.output||"",this.use=e2.use||"",this.usehref=e2.usehref||""}},RootElement=class extends StringObject{constructor(e2){super(Na,"rootElement"),this.id=e2.id||"",this.name=e2.name||"",this.use=e2.use||"",this.usehref=e2.usehref||""}},SoapAction=class extends StringObject{constructor(e2){super(Na,"soapAction"),this.id=e2.id||"",this.name=e2.name||"",this.use=e2.use||"",this.usehref=e2.usehref||""}},SoapAddress=class extends StringObject{constructor(e2){super(Na,"soapAddress"),this.id=e2.id||"",this.name=e2.name||"",this.use=e2.use||"",this.usehref=e2.usehref||""}},connection_set_Uri=class extends StringObject{constructor(e2){super(Na,"uri"),this.id=e2.id||"",this.name=e2.name||"",this.use=e2.use||"",this.usehref=e2.usehref||""}},WsdlAddress=class extends StringObject{constructor(e2){super(Na,"wsdlAddress"),this.id=e2.id||"",this.name=e2.name||"",this.use=e2.use||"",this.usehref=e2.usehref||""}},WsdlConnection=class extends Y{constructor(e2){super(Na,"wsdlConnection",!0),this.dataDescription=e2.dataDescription||"",this.name=e2.name||"",this.effectiveInputPolicy=null,this.effectiveOutputPolicy=null,this.operation=null,this.soapAction=null,this.soapAddress=null,this.wsdlAddress=null}},XmlConnection=class extends Y{constructor(e2){super(Na,"xmlConnection",!0),this.dataDescription=e2.dataDescription||"",this.name=e2.name||"",this.uri=null}},XsdConnection=class extends Y{constructor(e2){super(Na,"xsdConnection",!0),this.dataDescription=e2.dataDescription||"",this.name=e2.name||"",this.rootElement=null,this.uri=null}},Pa=class ConnectionSetNamespace{static[Zi](e2,t2){if(Object.hasOwn(ConnectionSetNamespace,e2))return ConnectionSetNamespace[e2](t2)}static connectionSet(e2){return new ConnectionSet(e2)}static effectiveInputPolicy(e2){return new EffectiveInputPolicy(e2)}static effectiveOutputPolicy(e2){return new EffectiveOutputPolicy(e2)}static operation(e2){return new Operation(e2)}static rootElement(e2){return new RootElement(e2)}static soapAction(e2){return new SoapAction(e2)}static soapAddress(e2){return new SoapAddress(e2)}static uri(e2){return new connection_set_Uri(e2)}static wsdlAddress(e2){return new WsdlAddress(e2)}static wsdlConnection(e2){return new WsdlConnection(e2)}static xmlConnection(e2){return new XmlConnection(e2)}static xsdConnection(e2){return new XsdConnection(e2)}},Fa=Qi.datasets.id,datasets_Data=class extends wa{constructor(e2){super(Fa,"data",e2)}[xi](){return!0}},Datasets=class extends Y{constructor(e2){super(Fa,"datasets",!0),this.data=null,this.Signature=null}[Ai](e2){let t2=e2[Oi];(t2==="data"&&e2[Di]===Fa||t2==="Signature"&&e2[Di]===Qi.signature.id)&&(this[t2]=e2),this[Vr](e2)}},Ia=class DatasetsNamespace{static[Zi](e2,t2){if(Object.hasOwn(DatasetsNamespace,e2))return DatasetsNamespace[e2](t2)}static datasets(e2){return new Datasets(e2)}static data(e2){return new datasets_Data(e2)}},La=Qi.localeSet.id,CalendarSymbols=class extends Y{constructor(e2){super(La,"calendarSymbols",!0),this.name="gregorian",this.dayNames=new X(2),this.eraNames=null,this.meridiemNames=null,this.monthNames=new X(2)}},CurrencySymbol=class extends StringObject{constructor(e2){super(La,"currencySymbol"),this.name=getStringOption(e2.name,["symbol","isoname","decimal"])}},CurrencySymbols=class extends Y{constructor(e2){super(La,"currencySymbols",!0),this.currencySymbol=new X(3)}},DatePattern=class extends StringObject{constructor(e2){super(La,"datePattern"),this.name=getStringOption(e2.name,["full","long","med","short"])}},DatePatterns=class extends Y{constructor(e2){super(La,"datePatterns",!0),this.datePattern=new X(4)}},DateTimeSymbols=class extends ContentObject{constructor(e2){super(La,"dateTimeSymbols")}},Day=class extends StringObject{constructor(e2){super(La,"day")}},DayNames=class extends Y{constructor(e2){super(La,"dayNames",!0),this.abbr=getInteger({data:e2.abbr,defaultValue:0,validate:e3=>e3===1}),this.day=new X(7)}},Era=class extends StringObject{constructor(e2){super(La,"era")}},EraNames=class extends Y{constructor(e2){super(La,"eraNames",!0),this.era=new X(2)}},locale_set_Locale=class extends Y{constructor(e2){super(La,"locale",!0),this.desc=e2.desc||"",this.name="isoname",this.calendarSymbols=null,this.currencySymbols=null,this.datePatterns=null,this.dateTimeSymbols=null,this.numberPatterns=null,this.numberSymbols=null,this.timePatterns=null,this.typeFaces=null}},locale_set_LocaleSet=class extends Y{constructor(e2){super(La,"localeSet",!0),this.locale=new X}},Meridiem=class extends StringObject{constructor(e2){super(La,"meridiem")}},MeridiemNames=class extends Y{constructor(e2){super(La,"meridiemNames",!0),this.meridiem=new X(2)}},Month=class extends StringObject{constructor(e2){super(La,"month")}},MonthNames=class extends Y{constructor(e2){super(La,"monthNames",!0),this.abbr=getInteger({data:e2.abbr,defaultValue:0,validate:e3=>e3===1}),this.month=new X(12)}},NumberPattern=class extends StringObject{constructor(e2){super(La,"numberPattern"),this.name=getStringOption(e2.name,["full","long","med","short"])}},NumberPatterns=class extends Y{constructor(e2){super(La,"numberPatterns",!0),this.numberPattern=new X(4)}},NumberSymbol=class extends StringObject{constructor(e2){super(La,"numberSymbol"),this.name=getStringOption(e2.name,["decimal","grouping","percent","minus","zero"])}},NumberSymbols=class extends Y{constructor(e2){super(La,"numberSymbols",!0),this.numberSymbol=new X(5)}},TimePattern=class extends StringObject{constructor(e2){super(La,"timePattern"),this.name=getStringOption(e2.name,["full","long","med","short"])}},TimePatterns=class extends Y{constructor(e2){super(La,"timePatterns",!0),this.timePattern=new X(4)}},TypeFace=class extends Y{constructor(e2){super(La,"typeFace",!0),this.name=e2.name|""}},TypeFaces=class extends Y{constructor(e2){super(La,"typeFaces",!0),this.typeFace=new X}},Ra=class LocaleSetNamespace{static[Zi](e2,t2){if(Object.hasOwn(LocaleSetNamespace,e2))return LocaleSetNamespace[e2](t2)}static calendarSymbols(e2){return new CalendarSymbols(e2)}static currencySymbol(e2){return new CurrencySymbol(e2)}static currencySymbols(e2){return new CurrencySymbols(e2)}static datePattern(e2){return new DatePattern(e2)}static datePatterns(e2){return new DatePatterns(e2)}static dateTimeSymbols(e2){return new DateTimeSymbols(e2)}static day(e2){return new Day(e2)}static dayNames(e2){return new DayNames(e2)}static era(e2){return new Era(e2)}static eraNames(e2){return new EraNames(e2)}static locale(e2){return new locale_set_Locale(e2)}static localeSet(e2){return new locale_set_LocaleSet(e2)}static meridiem(e2){return new Meridiem(e2)}static meridiemNames(e2){return new MeridiemNames(e2)}static month(e2){return new Month(e2)}static monthNames(e2){return new MonthNames(e2)}static numberPattern(e2){return new NumberPattern(e2)}static numberPatterns(e2){return new NumberPatterns(e2)}static numberSymbol(e2){return new NumberSymbol(e2)}static numberSymbols(e2){return new NumberSymbols(e2)}static timePattern(e2){return new TimePattern(e2)}static timePatterns(e2){return new TimePatterns(e2)}static typeFace(e2){return new TypeFace(e2)}static typeFaces(e2){return new TypeFaces(e2)}},za=Qi.signature.id,signature_Signature=class extends Y{constructor(e2){super(za,"signature",!0)}},Ba=class SignatureNamespace{static[Zi](e2,t2){if(Object.hasOwn(SignatureNamespace,e2))return SignatureNamespace[e2](t2)}static signature(e2){return new signature_Signature(e2)}},Va=Qi.stylesheet.id,Stylesheet=class extends Y{constructor(e2){super(Va,"stylesheet",!0)}},Ha=class StylesheetNamespace{static[Zi](e2,t2){if(Object.hasOwn(StylesheetNamespace,e2))return StylesheetNamespace[e2](t2)}static stylesheet(e2){return new Stylesheet(e2)}},Ua=Qi.xdp.id,xdp_Xdp=class extends Y{constructor(e2){super(Ua,"xdp",!0),this.uuid=e2.uuid||"",this.timeStamp=e2.timeStamp||"",this.config=null,this.connectionSet=null,this.datasets=null,this.localeSet=null,this.stylesheet=new X,this.template=null}[ji](e2){let t2=Qi[e2[Oi]];return t2&&e2[Di]===t2.id}},Wa=class XdpNamespace{static[Zi](e2,t2){if(Object.hasOwn(XdpNamespace,e2))return XdpNamespace[e2](t2)}static xdp(e2){return new xdp_Xdp(e2)}},Ga=Qi.xhtml.id,Ka=Symbol(),qa=new Set("color.font.font-family.font-size.font-stretch.font-style.font-weight.margin.margin-bottom.margin-left.margin-right.margin-top.letter-spacing.line-height.orphans.page-break-after.page-break-before.page-break-inside.tab-interval.tab-stop.text-align.text-decoration.text-indent.vertical-align.widows.kerning-mode.xfa-font-horizontal-scale.xfa-font-vertical-scale.xfa-spacerun.xfa-tab-stops".split(".")),Ja=new Map([["page-break-after","breakAfter"],["page-break-before","breakBefore"],["page-break-inside","breakInside"],["kerning-mode",e2=>e2==="none"?"none":"normal"],["xfa-font-horizontal-scale",e2=>`scaleX(${Math.max(0,parseInt(e2,10)/100).toFixed(2)})`],["xfa-font-vertical-scale",e2=>`scaleY(${Math.max(0,parseInt(e2,10)/100).toFixed(2)})`],["xfa-spacerun",""],["xfa-tab-stops",""],["font-size",(e2,t2)=>(e2=t2.fontSize=Math.abs(getMeasurement(e2)),measureToString(.99*e2))],["letter-spacing",e2=>measureToString(getMeasurement(e2))],["line-height",e2=>measureToString(getMeasurement(e2))],["margin",e2=>measureToString(getMeasurement(e2))],["margin-bottom",e2=>measureToString(getMeasurement(e2))],["margin-left",e2=>measureToString(getMeasurement(e2))],["margin-right",e2=>measureToString(getMeasurement(e2))],["margin-top",e2=>measureToString(getMeasurement(e2))],["text-indent",e2=>measureToString(getMeasurement(e2))],["font-family",e2=>e2],["vertical-align",e2=>measureToString(getMeasurement(e2))]]),Ya=/\s+/g,Xa=/[\r\n]+/g,Za=/\r\n?/g;function mapStyle(e2,t2,n2){let r2=Object.create(null);if(!e2)return r2;let i2=Object.create(null);for(let[t3,n3]of e2.split(";").map(e3=>e3.split(":",2))){let e3=Ja.get(t3);if(e3==="")continue;let a2=n3;e3&&(a2=typeof e3=="string"?e3:e3(n3,i2)),t3.endsWith("scale")?r2.transform=r2.transform?`${r2[t3]} ${a2}`:a2:r2[t3.replaceAll(/-([a-z])/gi,(e4,t4)=>t4.toUpperCase())]=a2}if(r2.fontFamily&&setFontFamily({typeface:r2.fontFamily,weight:r2.fontWeight||"normal",posture:r2.fontStyle||"normal",size:i2.fontSize||0},t2,t2[fi].fontFinder,r2),n2&&r2.verticalAlign&&r2.verticalAlign!=="0px"&&r2.fontSize){let e3=getMeasurement(r2.fontSize);r2.fontSize=measureToString(e3*.583),r2.verticalAlign=measureToString(Math.sign(getMeasurement(r2.verticalAlign))*e3*.333)}return n2&&r2.fontSize&&(r2.fontSize=`calc(${r2.fontSize} * var(--total-scale-factor))`),fixTextIndent(r2),r2}function checkStyle(e2){return e2.style?e2.style.split(";").filter(e3=>!!e3.trim()).map(e3=>e3.split(":",2).map(e4=>e4.trim())).filter(([t2,n2])=>(t2==="font-family"&&e2[fi].usedTypefaces.add(n2),qa.has(t2))).map(e3=>e3.join(":")).join(";"):""}var Qa=new Set(["body","html"]),XhtmlObject=class extends wa{constructor(e2,t2){super(Ga,t2),this[Ka]=!1,this.style=e2.style||""}[Ur](e2){super[Ur](e2),this.style=checkStyle(this)}[Rr](){return!Qa.has(this[Oi])}[Mi](e2,t2=!1){t2?this[Ka]=!0:(e2=e2.replaceAll(Xa,""),this.style.includes("xfa-spacerun:yes")||(e2=e2.replaceAll(Ya," "))),e2&&(this[U]+=e2)}[Ni](e2,t2=!0){let n2=Object.create(null),r2={top:NaN,bottom:NaN,left:NaN,right:NaN},i2=null;for(let[e3,t3]of this.style.split(";").map(e4=>e4.split(":",2)))switch(e3){case"font-family":n2.typeface=stripQuotes(t3);break;case"font-size":n2.size=getMeasurement(t3);break;case"font-weight":n2.weight=t3;break;case"font-style":n2.posture=t3;break;case"letter-spacing":n2.letterSpacing=getMeasurement(t3);break;case"margin":let e4=t3.split(/ \t/).map(e5=>getMeasurement(e5));switch(e4.length){case 1:r2.top=r2.bottom=r2.left=r2.right=e4[0];break;case 2:r2.top=r2.bottom=e4[0],r2.left=r2.right=e4[1];break;case 3:r2.top=e4[0],r2.bottom=e4[2],r2.left=r2.right=e4[1];break;case 4:r2.top=e4[0],r2.left=e4[1],r2.bottom=e4[2],r2.right=e4[3];break}break;case"margin-top":r2.top=getMeasurement(t3);break;case"margin-bottom":r2.bottom=getMeasurement(t3);break;case"margin-left":r2.left=getMeasurement(t3);break;case"margin-right":r2.right=getMeasurement(t3);break;case"line-height":i2=getMeasurement(t3);break}if(e2.pushData(n2,r2,i2),this[U])e2.addString(this[U]);else for(let t3 of this[si]()){if(t3[Oi]==="#text"){e2.addString(t3[U]);continue}t3[Ni](e2)}t2&&e2.popFont()}[K](e2){let t2=[];if(this[W]={children:t2},this[Hr]({}),t2.length===0&&!this[U])return q.EMPTY;let n2;return n2=this[Ka]?this[U]?this[U].replaceAll(Za,`
|
|
17
|
+
`):void 0:this[U]||void 0,q.success({name:this[Oi],attributes:{href:this.href,style:mapStyle(this.style,this,this[Ka])},children:t2,value:n2})}},A=class extends XhtmlObject{constructor(e2){super(e2,"a"),this.href=fixURL(e2.href)||""}},B=class extends XhtmlObject{constructor(e2){super(e2,"b")}[Ni](e2){e2.pushFont({weight:"bold"}),super[Ni](e2),e2.popFont()}},Body=class extends XhtmlObject{constructor(e2){super(e2,"body")}[K](e2){let t2=super[K](e2),{html:n2}=t2;return n2?(n2.name="div",n2.attributes.class=["xfaRich"],t2):q.EMPTY}},Br=class extends XhtmlObject{constructor(e2){super(e2,"br")}[Ki](){return`
|
|
18
|
+
`}[Ni](e2){e2.addString(`
|
|
19
|
+
`)}[K](e2){return q.success({name:"br"})}},Html=class extends XhtmlObject{constructor(e2){super(e2,"html")}[K](e2){let t2=[];if(this[W]={children:t2},this[Hr]({}),t2.length===0)return q.success({name:"div",attributes:{class:["xfaRich"],style:{}},value:this[U]||""});if(t2.length===1){let e3=t2[0];if(e3.attributes?.class.includes("xfaRich"))return q.success(e3)}return q.success({name:"div",attributes:{class:["xfaRich"],style:{}},children:t2})}},I=class extends XhtmlObject{constructor(e2){super(e2,"i")}[Ni](e2){e2.pushFont({posture:"italic"}),super[Ni](e2),e2.popFont()}},Li=class extends XhtmlObject{constructor(e2){super(e2,"li")}},Ol=class extends XhtmlObject{constructor(e2){super(e2,"ol")}},P=class extends XhtmlObject{constructor(e2){super(e2,"p")}[Ni](e2){super[Ni](e2,!1),e2.addString(`
|
|
20
|
+
`),e2.addPara(),e2.popFont()}[Ki](){return this[G]()[si]().at(-1)===this?super[Ki]():super[Ki]()+`
|
|
21
|
+
`}},Span=class extends XhtmlObject{constructor(e2){super(e2,"span")}},Sub=class extends XhtmlObject{constructor(e2){super(e2,"sub")}},Sup=class extends XhtmlObject{constructor(e2){super(e2,"sup")}},Ul=class extends XhtmlObject{constructor(e2){super(e2,"ul")}},$a=class XhtmlNamespace{static[Zi](e2,t2){if(Object.hasOwn(XhtmlNamespace,e2))return XhtmlNamespace[e2](t2)}static a(e2){return new A(e2)}static b(e2){return new B(e2)}static body(e2){return new Body(e2)}static br(e2){return new Br(e2)}static html(e2){return new Html(e2)}static i(e2){return new I(e2)}static li(e2){return new Li(e2)}static ol(e2){return new Ol(e2)}static p(e2){return new P(e2)}static span(e2){return new Span(e2)}static sub(e2){return new Sub(e2)}static sup(e2){return new Sup(e2)}static ul(e2){return new Ul(e2)}},eo={config:Ma,connection:Pa,datasets:Ia,localeSet:Ra,signature:Ba,stylesheet:Ha,template:Aa,xdp:Wa,xhtml:$a},UnknownNamespace=class{constructor(e2){this.namespaceId=e2}[Zi](e2,t2){return new wa(this.namespaceId,e2,t2)}},Root=class extends Y{constructor(e2){super(-1,"root",Object.create(null)),this.element=null,this[mi]=e2}[Ai](e2){return this.element=e2,!0}[Xr](){super[Xr](),this.element.template instanceof Template&&(this[mi].set(Ri,this.element),this.element.template[zi](this[mi]),this.element.template[mi]=this[mi])}},Empty=class extends Y{constructor(){super(-1,"",Object.create(null))}[Ai](e2){return!1}},Builder=class{constructor(e2=null){this._namespaceStack=[],this._nsAgnosticLevel=0,this._namespacePrefixes=new Map,this._namespaces=new Map,this._nextNsId=Math.max(...Object.values(Qi).map(({id:e3})=>e3)),this._currentNamespace=e2||new UnknownNamespace(++this._nextNsId)}buildRoot(e2){return new Root(e2)}build({nsPrefix:e2,name:t2,attributes:n2,namespace:r2,prefixes:i2}){let a2=r2!==null;if(a2&&(this._namespaceStack.push(this._currentNamespace),this._currentNamespace=this._searchNamespace(r2)),i2&&this._addNamespacePrefix(i2),Object.hasOwn(n2,ki)){let e3=eo.datasets,t3=n2[ki],r3=null;for(let[n3,i3]of Object.entries(t3))if(this._getNamespaceToUse(n3)===e3){r3={xfa:i3};break}r3?n2[ki]=r3:delete n2[ki]}let o2=this._getNamespaceToUse(e2)?.[Zi](t2,n2)||new Empty;return o2[xi]()&&this._nsAgnosticLevel++,(a2||i2||o2[xi]())&&(o2[Gr]={hasNamespace:a2,prefixes:i2,nsAgnostic:o2[xi]()}),o2}isNsAgnostic(){return this._nsAgnosticLevel>0}_searchNamespace(e2){let t2=this._namespaces.get(e2);if(t2)return t2;for(let[n2,{check:r2}]of Object.entries(Qi))if(r2(e2)){if(t2=eo[n2],t2)return this._namespaces.set(e2,t2),t2;break}return t2=new UnknownNamespace(++this._nextNsId),this._namespaces.set(e2,t2),t2}_addNamespacePrefix(e2){for(let{prefix:t2,value:n2}of e2){let e3=this._searchNamespace(n2);this._namespacePrefixes.getOrInsertComputed(t2,makeArr$1).push(e3)}}_getNamespaceToUse(e2){if(!e2)return this._currentNamespace;let t2=this._namespacePrefixes.get(e2);return t2?.length>0?t2.at(-1):(warn$1(`Unknown namespace prefix: ${e2}.`),null)}clean(e2){let{hasNamespace:t2,prefixes:n2,nsAgnostic:r2}=e2;t2&&(this._currentNamespace=this._namespaceStack.pop()),n2&&n2.forEach(({prefix:e3})=>{this._namespacePrefixes.get(e3).pop()}),r2&&this._nsAgnosticLevel--}},to=class XFAParser extends Mr{constructor(e2=null,t2=!1){super(),this._builder=new Builder(e2),this._stack=[],this._globalData={usedTypefaces:new Set},this._ids=new Map,this._current=this._builder.buildRoot(this._ids),this._errorCode=jr.NoError,this._whiteRegex=/^\s+$/,this._nbsps=/\xa0+/g,this._richText=t2}parse(e2){if(this.parseXml(e2),this._errorCode===jr.NoError)return this._current[Xr](),this._current.element}onText(e2){if(e2=e2.replace(this._nbsps,e3=>e3.slice(1)+" "),this._richText||this._current[Rr]()){this._current[Mi](e2,this._richText);return}this._whiteRegex.test(e2)||this._current[Mi](e2.trim())}onCdata(e2){this._current[Mi](e2)}_mkAttributes(e2,t2){let n2=null,r2=null,i2=Object.create({});for(let{name:a2,value:o2}of e2)if(a2==="xmlns")n2?warn$1(`XFA - multiple namespace definition in <${t2}>`):n2=o2;else if(a2.startsWith("xmlns:")){let e3=a2.substring(6);r2??=[],r2.push({prefix:e3,value:o2})}else{let e3=a2.indexOf(":");if(e3===-1)i2[a2]=o2;else{let t3=i2[ki]??=Object.create(null),[n3,r3]=[a2.slice(0,e3),a2.slice(e3+1)],s2=t3[n3]||=Object.create(null);s2[r3]=o2}}return[n2,r2,i2]}_getNameAndPrefix(e2,t2){let n2=e2.indexOf(":");return n2===-1?[e2,null]:[e2.substring(n2+1),t2?"":e2.substring(0,n2)]}onBeginElement(e2,t2,n2){let[r2,i2,a2]=this._mkAttributes(t2,e2),[o2,s2]=this._getNameAndPrefix(e2,this._builder.isNsAgnostic()),c2=this._builder.build({nsPrefix:s2,name:o2,attributes:a2,namespace:r2,prefixes:i2});if(c2[fi]=this._globalData,n2){c2[Xr](),this._current[Ai](c2)&&c2[Vi](this._ids),c2[Ur](this._builder);return}this._stack.push(this._current),this._current=c2}onEndElement(e2){let t2=this._current;if(t2[_i]()&&typeof t2[U]=="string"){let e3=new XFAParser;e3._globalData=this._globalData;let n2=e3.parse(t2[U]);t2[U]=null,t2[Ai](n2)}t2[Xr](),this._current=this._stack.pop(),this._current[Ai](t2)&&t2[Vi](this._ids),t2[Ur](this._builder)}onError(e2){this._errorCode=e2}},no=class XFAFactory{constructor(e2){try{this.root=new to().parse(XFAFactory._createDocument(e2));let t2=new Binder(this.root);this.form=t2.bind(),this.dataHandler=new DataHandler(this.root,t2.getData()),this.form[fi].template=this.form}catch(e3){warn$1(`XFA - an error occurred during parsing and binding: ${e3}`)}}isValid(){return!!(this.root&&this.form)}_createPagesHelper(){let e2=this.form[qi]();return new Promise((t2,n2)=>{let nextIteration=()=>{try{let n3=e2.next();n3.done?t2(n3.value):setTimeout(nextIteration,0)}catch(e3){n2(e3)}};setTimeout(nextIteration,0)})}async _createPages(){try{this.pages=await this._createPagesHelper(),this.dims=this.pages.children.map(e2=>{let{width:t2,height:n2}=e2.attributes.style;return[0,0,parseInt(t2,10),parseInt(n2,10)]})}catch(e2){warn$1(`XFA - an error occurred during layout: ${e2}`)}}getBoundingBox(e2){return this.dims[e2]}async getNumPages(){return this.pages||await this._createPages(),this.dims.length}setImages(e2){this.form[fi].images=e2}setFonts(e2){this.form[fi].fontFinder=new FontFinder(e2);let t2=[];for(let e3 of this.form[fi].usedTypefaces)e3=stripQuotes(e3),this.form[fi].fontFinder.find(e3)||t2.push(e3);return t2.length>0?t2:null}appendFonts(e2,t2){this.form[fi].fontFinder.add(e2,t2)}async getPages(){this.pages||await this._createPages();let e2=this.pages;return this.pages=null,e2}serializeData(e2){return this.dataHandler.serialize(e2)}static _createDocument(e2){return e2["/xdp:xdp"]?Object.values(e2).join(""):e2["xdp:xdp"]}static getRichTextAsHtml(e2){if(!e2||typeof e2!="string")return null;try{let t2=new to($a,!0).parse(e2);if(!["body","xhtml"].includes(t2[Oi])){let e3=$a.body({});e3[Vr](t2),t2=e3}let n2=t2[K]();if(!n2.success)return null;let{html:r2}=n2,{attributes:i2}=r2;return i2&&(i2.class&&=i2.class.filter(e3=>!e3.startsWith("xfa")),i2.dir="auto"),{html:r2,str:t2[Ki]()}}catch(e3){warn$1(`XFA - an error occurred during parsing of rich text: ${e3}`)}return null}},AnnotationFactory=class{static createGlobals(e2){return Promise.all([e2.ensureCatalog("acroForm"),e2.ensureDoc("xfaDatasets"),e2.ensureCatalog("structTreeRoot"),e2.ensureCatalog("baseUrl"),e2.ensureCatalog("attachments"),e2.ensureCatalog("globalColorSpaceCache")]).then(([t2,n2,r2,i2,a2,o2])=>({pdfManager:e2,catalog:e2.pdfDocument.catalog,acroForm:t2 instanceof F?t2:F.empty,xfaDatasets:n2,structTreeRoot:r2,baseUrl:i2,attachments:a2,globalColorSpaceCache:o2}),e3=>(warn$1(`createGlobals: "${e3}".`),null))}static async create(e2,t2,n2,r2,i2,a2,o2,s2){let c2=i2?await this._getPageIndex(e2,t2,n2.pdfManager):null;return n2.pdfManager.ensure(this,"_create",[e2,t2,n2,r2,i2,a2,o2,c2,s2])}static _create(e2,t2,n2,r2,i2=!1,a2=null,o2=null,s2=null,c2=null){let l2=e2.fetchIfRef(t2);if(!(l2 instanceof F))return;let u2=l2.get("Subtype");if(u2=u2 instanceof N?u2.name:null,o2&&!o2.has(h[u2?.toUpperCase()]))return null;let{acroForm:d2,pdfManager:f2}=n2,p2=t2 instanceof L?t2.toString():`annot_${r2.createObjId()}`,m2={xref:e2,ref:t2,dict:l2,subtype:u2,id:p2,annotationGlobals:n2,collectFields:i2,orphanFields:a2,needAppearances:!i2&&d2.get("NeedAppearances")===!0,pageIndex:s2,evaluatorOptions:f2.evaluatorOptions,pageRef:c2};switch(u2){case"Link":return new LinkAnnotation(m2);case"Text":return new TextAnnotation(m2);case"Widget":let e3=getInheritableProperty({dict:l2,key:"FT"});switch(e3=e3 instanceof N?e3.name:null,e3){case"Tx":return new TextWidgetAnnotation(m2);case"Btn":return new ButtonWidgetAnnotation(m2);case"Ch":return new ChoiceWidgetAnnotation(m2);case"Sig":return new SignatureWidgetAnnotation(m2)}return warn$1(`Unimplemented widget field type "${e3}", falling back to base field type.`),new ro(m2);case"Popup":return new PopupAnnotation(m2);case"FreeText":return new FreeTextAnnotation(m2);case"Line":return new LineAnnotation(m2);case"Square":return new SquareAnnotation(m2);case"Circle":return new CircleAnnotation(m2);case"PolyLine":return new PolylineAnnotation(m2);case"Polygon":return new PolygonAnnotation(m2);case"Caret":return new CaretAnnotation(m2);case"Ink":return new InkAnnotation(m2);case"Highlight":return new HighlightAnnotation(m2);case"Underline":return new UnderlineAnnotation(m2);case"Squiggly":return new SquigglyAnnotation(m2);case"StrikeOut":return new StrikeOutAnnotation(m2);case"Stamp":return new StampAnnotation(m2);case"FileAttachment":return new FileAttachmentAnnotation(m2);case"RichMedia":return new ao(m2);case"Screen":return new oo(m2);default:return i2||warn$1(u2?`Unimplemented annotation type "${u2}", falling back to base annotation.`:"Annotation is missing the required /Subtype."),new Annotation(m2)}}static async _getPageIndex(e2,t2,n2){try{let r2=await e2.fetchIfRefAsync(t2);if(!(r2 instanceof F))return-1;let i2=r2.getRaw("P");if(i2 instanceof L)try{return await n2.ensureCatalog("getPageIndex",[i2])}catch(e3){info$1(`_getPageIndex -- not a valid page reference: "${e3}".`)}if(r2.has("Kids"))return-1;let a2=await n2.ensureDoc("numPages");for(let e3=0;e3<a2;e3++){let r3=await n2.getPage(e3),i3=await n2.ensure(r3,"annotations");for(let n3 of i3)if(n3 instanceof L&&isRefsEqual(n3,t2))return e3}}catch(e3){warn$1(`_getPageIndex: "${e3}".`)}return-1}static generateImages(e2,t2,n2){if(!n2)return warn$1("generateImages: OffscreenCanvas is not supported, cannot save or print some annotations with images."),null;let r2;for(let{bitmapId:n3,bitmap:i2}of e2)i2&&(r2||=new Map,r2.set(n3,createImage(i2,t2)));return r2}static async saveNewAnnotations(e2,t2,n2,r2,i2,a2){let o2,s2=[],{isOffscreenCanvasSupported:c2}=e2.options;for(let l2 of r2)if(!l2.deleted)switch(l2.annotationType){case u.FREETEXT:if(!o2){let e3=new F(t2);e3.setIfName("BaseFont","Helvetica"),e3.setIfName("Type","Font"),e3.setIfName("Subtype","Type1"),e3.setIfName("Encoding","WinAnsiEncoding"),o2=t2.getNewTemporaryRef(),a2.put(o2,{data:e3})}s2.push(FreeTextAnnotation.createNewAnnotation(t2,l2,a2,{evaluator:e2,task:n2,baseFontRef:o2}));break;case u.HIGHLIGHT:l2.quadPoints?s2.push(HighlightAnnotation.createNewAnnotation(t2,l2,a2)):s2.push(InkAnnotation.createNewAnnotation(t2,l2,a2));break;case u.INK:s2.push(InkAnnotation.createNewAnnotation(t2,l2,a2));break;case u.STAMP:let r3=c2?await i2?.get(l2.bitmapId):null;if(r3?.imageStream){let{imageStream:e3,smaskStream:n3}=r3;if(n3){let r4=t2.getNewTemporaryRef();a2.put(r4,{data:n3}),e3.dict.set("SMask",r4)}let i3=r3.imageRef=t2.getNewTemporaryRef();a2.put(i3,{data:e3}),r3.imageStream=null,r3.imageRenderStream=null,r3.smaskStream=null,r3.smaskRenderStream=null}s2.push(StampAnnotation.createNewAnnotation(t2,l2,a2,{image:r3}));break;case u.SIGNATURE:s2.push(StampAnnotation.createNewAnnotation(t2,l2,a2,{}));break}return{annotations:(await Promise.all(s2)).flat()}}static async printNewAnnotations(e2,t2,n2,r2,i2){if(!r2)return null;let{options:a2,xref:o2}=t2,s2=[];for(let c2 of r2)if(!c2.deleted)switch(c2.annotationType){case u.FREETEXT:s2.push(FreeTextAnnotation.createNewPrintAnnotation(e2,o2,c2,{evaluator:t2,task:n2,evaluatorOptions:a2}));break;case u.HIGHLIGHT:c2.quadPoints?s2.push(HighlightAnnotation.createNewPrintAnnotation(e2,o2,c2,{evaluatorOptions:a2})):s2.push(InkAnnotation.createNewPrintAnnotation(e2,o2,c2,{evaluatorOptions:a2}));break;case u.INK:s2.push(InkAnnotation.createNewPrintAnnotation(e2,o2,c2,{evaluatorOptions:a2}));break;case u.STAMP:let r3=a2.isOffscreenCanvasSupported?await i2?.get(c2.bitmapId):null;if(r3?.imageStream){let{imageStream:e3,imageRenderStream:t3,smaskStream:n3,smaskRenderStream:i3}=r3,a3=t3||new Re(e3,e3.length);(n3||i3)&&a3.dict.set("SMask",i3||n3),r3.imageRef=a3,r3.imageStream=null,r3.imageRenderStream=null,r3.smaskStream=null,r3.smaskRenderStream=null}s2.push(StampAnnotation.createNewPrintAnnotation(e2,o2,c2,{image:r3,evaluatorOptions:a2}));break;case u.SIGNATURE:s2.push(StampAnnotation.createNewPrintAnnotation(e2,o2,c2,{evaluatorOptions:a2}));break}return Promise.all(s2)}};function getRgbColor(e2,t2=new Uint8ClampedArray(3)){if(!Array.isArray(e2))return t2;let n2=t2||new Uint8ClampedArray(3);switch(e2.length){case 0:return null;case 1:return ColorSpaceUtils.gray.getRgbItem(e2,0,n2,0),n2;case 3:return ColorSpaceUtils.rgb.getRgbItem(e2,0,n2,0),n2;case 4:return ColorSpaceUtils.cmyk.getRgbItem(e2,0,n2,0),n2;default:return t2}}function getPdfColorArray(e2,t2=null){return e2&&Array.from(e2,e3=>e3/255)||t2}function getQuadPoints(e2,t2){let n2=e2.getArray("QuadPoints");if(!isNumberArray(n2,null)||n2.length===0||n2.length%8>0)return null;let r2=new Float32Array(n2.length);for(let e3=0,i2=n2.length;e3<i2;e3+=8){let[i3,a2,o2,s2,c2,l2,u2,d2]=n2.slice(e3,e3+8),f2=Math.min(i3,o2,c2,u2),p2=Math.max(i3,o2,c2,u2),m2=Math.min(a2,s2,l2,d2),h2=Math.max(a2,s2,l2,d2);if(t2!==null&&(f2<t2[0]||p2>t2[2]||m2<t2[1]||h2>t2[3]))return null;r2.set([f2,h2,p2,h2,f2,m2,p2,m2],e3)}return r2}function getTransformMatrix(e2,t2,r2){let i2=n.slice();Util$1.axialAlignedBoundingBox(t2,r2,i2);let[a2,o2,s2,c2]=i2;if(a2===s2||o2===c2)return[1,0,0,1,e2[0],e2[1]];let l2=(e2[2]-e2[0])/(s2-a2),u2=(e2[3]-e2[1])/(c2-o2);return[l2,0,0,u2,e2[0]-a2*l2,e2[1]-o2*u2]}var Annotation=class{appearance=null;_oc=void 0;constructor(e2){let{annotationGlobals:t2,dict:n2,orphanFields:r2,ref:i2,subtype:a2,xref:o2}=e2,s2=r2?.get(i2);s2&&n2.set("Parent",s2),this.setTitle(n2.get("T")),this.setContents(n2.get("Contents")),this.setModificationDate(n2.get("M")),this.setFlags(n2.get("F")),this.setRectangle(n2.getArray("Rect")),this.setColor(n2.getArray("C")),this.setBorderStyle(n2),this.setAppearance(n2),this.#e(o2,n2);let c2=n2.get("MK");this.setBorderAndBackgroundColors(c2),this.setRotation(c2,n2),this.ref=e2.ref instanceof L?e2.ref:null,this._streams=[],this.appearance&&this._streams.push(this.appearance);let l2=!!(this.flags&v.LOCKED),u2=!!(this.flags&v.LOCKEDCONTENTS);if(this.data={annotationType:h[a2?.toUpperCase()],annotationFlags:this.flags,borderStyle:this.borderStyle,color:this.color,backgroundColor:this.backgroundColor,borderColor:this.borderColor,rotation:this.rotation,contentsObj:this._contents,hasAppearance:!!this.appearance,id:e2.id,modificationDate:this.modificationDate,oc:this._oc,rect:this.rectangle,subtype:a2,hasOwnCanvas:!1,noRotate:!!(this.flags&v.NOROTATE),noHTML:l2&&u2,isEditable:!1,structParent:-1},t2.structTreeRoot){let r3=n2.get("StructParent");this.data.structParent=r3=Number.isInteger(r3)&&r3>=0?r3:-1,t2.structTreeRoot.addAnnotationIdToPage(e2.pageRef,r3)}if(e2.collectFields){let t3=n2.get("Kids");if(Array.isArray(t3)){let e3=[];for(let n3 of t3)n3 instanceof L&&e3.push(n3.toString());e3.length!==0&&(this.data.kidIds=e3)}this.data.actions=collectActions(o2,n2,x),this.data.fieldName=this._constructFieldName(n2),this.data.pageIndex=e2.pageIndex}let d2=n2.get("IT");d2 instanceof N&&(this.data.it=d2.name),this._isOffscreenCanvasSupported=e2.evaluatorOptions.isOffscreenCanvasSupported,this._fallbackFontDict=null,this._needAppearances=!1}_getOperatorListNoAppearance(){return{opList:new Be,separateForm:!1,separateCanvas:!1}}_hasFlag(e2,t2){return!!(e2&t2)}_buildFlags(e2,t2){let{flags:n2}=this;return e2===void 0?t2===void 0?void 0:t2?n2&~v.PRINT:n2&~v.HIDDEN|v.PRINT:e2?(n2|=v.PRINT,t2?n2&~v.NOVIEW|v.HIDDEN:n2&~v.HIDDEN|v.NOVIEW):(n2&=~(v.HIDDEN|v.NOVIEW),t2?n2&~v.PRINT:n2|v.PRINT)}_isViewable(e2){return!this._hasFlag(e2,v.INVISIBLE)&&!this._hasFlag(e2,v.NOVIEW)}_isPrintable(e2){return this._hasFlag(e2,v.PRINT)&&!this._hasFlag(e2,v.HIDDEN)&&!this._hasFlag(e2,v.INVISIBLE)}mustBeViewed(e2,t2){let n2=e2?.get(this.data.id)?.noView;return n2===void 0?this.viewable&&!this._hasFlag(this.flags,v.HIDDEN):!n2}mustBePrinted(e2){let t2=e2?.get(this.data.id)?.noPrint;return t2===void 0?this.printable:!t2}mustBeViewedWhenEditing(e2,t2=null){return e2?!this.data.isEditable:!t2?.has(this.data.id)}get viewable(){return this.data.quadPoints===null?!1:this.flags===0||this._isViewable(this.flags)}get printable(){return this.data.quadPoints===null||this.flags===0?!1:this._isPrintable(this.flags)}_parseStringHelper(e2){let t2=typeof e2=="string"?stringToPDFString(e2):"";return{str:t2,dir:t2&&bidi(t2).dir==="rtl"?"rtl":"ltr"}}setDefaultAppearance(e2){let{dict:t2,annotationGlobals:n2}=e2,r2=getInheritableProperty({dict:t2,key:"DA"})||n2.acroForm.get("DA");this._defaultAppearance=typeof r2=="string"?r2:"",this.data.defaultAppearanceData=parseDefaultAppearance(this._defaultAppearance)}setTitle(e2){this._title=this._parseStringHelper(e2)}setContents(e2){this._contents=this._parseStringHelper(e2)}setModificationDate(e2){this.modificationDate=typeof e2=="string"?e2:null}setFlags(e2){this.flags=Number.isInteger(e2)&&e2>0?e2:0,this.flags&v.INVISIBLE&&this.constructor.name!=="Annotation"&&(this.flags^=v.INVISIBLE)}hasFlag(e2){return this._hasFlag(this.flags,e2)}setRectangle(e2){this.rectangle=lookupNormalRect(e2,[0,0,0,0])}setColor(e2){this.color=getRgbColor(e2)}setLineEndings(e2){if(this.lineEndings=["None","None"],Array.isArray(e2)&&e2.length===2)for(let t2=0;t2<2;t2++){let n2=e2[t2];if(n2 instanceof N)switch(n2.name){case"None":continue;case"Square":case"Circle":case"Diamond":case"OpenArrow":case"ClosedArrow":case"Butt":case"ROpenArrow":case"RClosedArrow":case"Slash":this.lineEndings[t2]=n2.name;continue}warn$1(`Ignoring invalid lineEnding: ${n2}`)}}setRotation(e2,t2){this.rotation=0;let n2=e2 instanceof F?e2.get("R")||0:t2.get("Rotate")||0;Number.isInteger(n2)&&n2!==0&&(n2%=360,n2<0&&(n2+=360),n2%90==0&&(this.rotation=n2))}setBorderAndBackgroundColors(e2){e2 instanceof F?(this.borderColor=getRgbColor(e2.getArray("BC"),null),this.backgroundColor=getRgbColor(e2.getArray("BG"),null)):this.borderColor=this.backgroundColor=null}setBorderStyle(e2){if(this.borderStyle=new AnnotationBorderStyle,e2 instanceof F)if(e2.has("BS")){let t2=e2.get("BS");if(t2 instanceof F){let e3=t2.get("Type");(!e3||isName(e3,"Border"))&&(this.borderStyle.setWidth(t2.get("W"),this.rectangle),this.borderStyle.setStyle(t2.get("S")),this.borderStyle.setDashArray(t2.getArray("D")))}}else if(e2.has("Border")){let t2=e2.getArray("Border");Array.isArray(t2)&&(t2.length>=3?(this.borderStyle.setHorizontalCornerRadius(t2[0]),this.borderStyle.setVerticalCornerRadius(t2[1]),this.borderStyle.setWidth(t2[2],this.rectangle),t2.length===4&&this.borderStyle.setDashArray(t2[3],!0)):t2.length===0&&this.borderStyle.setWidth(0))}else this.borderStyle.setWidth(0)}setAppearance(e2){let t2=e2.get("AP");if(!(t2 instanceof F))return;let n2=t2.get("N");if(n2 instanceof BaseStream){this.appearance=n2;return}if(!(n2 instanceof F))return;let r2=e2.get("AS");if(!(r2 instanceof N))return;let i2=n2.get(r2.name);i2 instanceof BaseStream&&(this.appearance=i2)}#e(e2,t2){if(t2.has("OC"))try{this._oc=parseMarkedContentProps(e2,t2.get("OC"),null)}catch(e3){if(e3 instanceof MissingDataException)throw e3;warn$1(`#setOptionalContent: ${e3}`)}}async loadResources(e2,t2){let n2=await t2.dict.getAsync("Resources");return n2&&await Lr.load(n2,e2,n2.xref),n2}get _ownCanvasRequiresForms(){return!1}async getOperatorList(e2,t2,n2,r2){let{hasOwnCanvas:i2,id:a2,rect:o2}=this.data,s2=this.appearance,l2=!!(i2&&n2&c.DISPLAY&&(!this._ownCanvasRequiresForms||n2&c.ANNOTATIONS_FORMS));if(l2&&(this.width===0||this.height===0))return this.data.hasOwnCanvas=!1,this._getOperatorListNoAppearance();if(!s2){if(!l2)return this._getOperatorListNoAppearance();s2=new StringStream("",new F)}let u2=s2.dict,d2=await this.loadResources(de,s2),f2=lookupRect(u2.getArray("BBox"),[0,0,this.width,this.height]),p2=lookupMatrix(u2.getArray("Matrix"),ue),m2=getTransformMatrix(o2,f2,p2),h2=new Be,g2=this._oc;return g2!==void 0&&h2.addOp(T.beginMarkedContentProps,["OC",g2]),h2.addOp(T.beginAnnotation,[a2,o2,m2,p2,l2]),await e2.getOperatorList({stream:s2,task:t2,resources:d2,operatorList:h2,fallbackFontDict:this._fallbackFontDict}),h2.addOp(T.endAnnotation,[]),g2!==void 0&&h2.addOp(T.endMarkedContent,[]),this.reset(),{opList:h2,separateForm:!1,separateCanvas:l2}}async save(e2,t2,n2,r2){return null}get overlaysTextContent(){return!1}get hasTextContent(){return!1}async extractTextContent(e2,t2,n2){if(!this.appearance)return;let r2=await this.loadResources(fe,this.appearance),i2=[],a2=[],o2=null,s2={desiredSize:Math.Infinity,ready:!0,enqueue(e3,t3){for(let t4 of e3.items)t4.str!==void 0&&(o2||=t4.transform.slice(-2),a2.push(t4.str),t4.hasEOL&&(i2.push(a2.join("").trimEnd()),a2.length=0))}};if(await e2.getTextContent({stream:this.appearance,task:t2,resources:r2,includeMarkedContent:!0,keepWhiteSpace:!0,sink:s2,viewBox:n2}),this.reset(),a2.length&&i2.push(a2.join("").trimEnd()),i2.length>1||i2[0]){let e3=this.appearance.dict,t3=lookupRect(e3.getArray("BBox"),null),n3=lookupMatrix(e3.getArray("Matrix"),null);this.data.textPosition=this._transformPoint(o2,t3,n3),this.data.textContent=i2}}_transformPoint(e2,t2,n2){let{rect:r2}=this.data;t2||=[0,0,1,1],n2||=[1,0,0,1,0,0];let i2=getTransformMatrix(r2,t2,n2);i2[4]-=r2[0],i2[5]-=r2[1];let a2=e2.slice();return Util$1.applyTransform(a2,i2),Util$1.applyTransform(a2,n2),a2}getFieldObject(){return this.data.kidIds?{id:this.data.id,actions:this.data.actions,name:this.data.fieldName,strokeColor:this.data.borderColor,fillColor:this.data.backgroundColor,type:"",kidIds:this.data.kidIds,page:this.data.pageIndex,rotation:this.rotation}:null}reset(){for(let e2 of this._streams)e2.reset()}_constructFieldName(e2){if(!e2.has("T")&&!e2.has("Parent"))return warn$1("Unknown field name, falling back to empty field name."),"";if(!e2.has("Parent"))return stringToPDFString(e2.get("T"));let t2=[];e2.has("T")&&t2.unshift(stringToPDFString(e2.get("T")));let n2=e2,r2=new RefSet;for(e2.objId&&r2.put(e2.objId);n2.has("Parent")&&(n2=n2.get("Parent"),!(!(n2 instanceof F)||n2.objId&&r2.has(n2.objId)));)n2.objId&&r2.put(n2.objId),n2.has("T")&&t2.unshift(stringToPDFString(n2.get("T")));return t2.join(".")}_getAttachmentId(e2,t2,n2){if(e2 instanceof F)return t2 instanceof L||(t2=Ar.pickPlatformItem(e2.get("EF"),!0)),t2 instanceof L?n2.catalog.getAttachmentIdForAnnotation(t2):void 0}get width(){return this.data.rect[2]-this.data.rect[0]}get height(){return this.data.rect[3]-this.data.rect[1]}},AnnotationBorderStyle=class{width=1;rawWidth=1;style=b.SOLID;dashArray=[3];horizontalCornerRadius=0;verticalCornerRadius=0;setWidth(e2,t2=[0,0,0,0]){if(e2 instanceof N){this.width=0;return}if(typeof e2=="number"){if(e2>0){this.rawWidth=e2;let n2=(t2[2]-t2[0])/2,r2=(t2[3]-t2[1])/2;n2>0&&r2>0&&(e2>n2||e2>r2)&&(warn$1(`AnnotationBorderStyle.setWidth - ignoring width: ${e2}`),e2=1)}this.width=e2}}setStyle(e2){if(e2 instanceof N)switch(e2.name){case"S":this.style=b.SOLID;break;case"D":this.style=b.DASHED;break;case"B":this.style=b.BEVELED;break;case"I":this.style=b.INSET;break;case"U":this.style=b.UNDERLINE;break;default:break}}setDashArray(e2,t2=!1){if(Array.isArray(e2)){let n2=!0,r2=!0;for(let t3 of e2)if(+t3>=0)t3>0&&(r2=!1);else{n2=!1;break}e2.length===0||n2&&!r2?(this.dashArray=e2,t2&&this.setStyle(N.get("D"))):this.width=0}else e2&&(this.width=0)}setHorizontalCornerRadius(e2){Number.isInteger(e2)&&(this.horizontalCornerRadius=e2)}setVerticalCornerRadius(e2){Number.isInteger(e2)&&(this.verticalCornerRadius=e2)}},MarkupAnnotation=class extends Annotation{constructor(e2){super(e2);let{dict:t2}=e2;if(t2.has("IRT")){let e3=t2.getRaw("IRT");this.data.inReplyTo=e3 instanceof L?e3.toString():null;let n3=t2.get("RT");this.data.replyType=n3 instanceof N?n3.name:g.REPLY}let n2=null;if(this.data.replyType===g.GROUP){let e3=t2.get("IRT");this.setTitle(e3.get("T")),this.data.titleObj=this._title,this.setContents(e3.get("Contents")),this.data.contentsObj=this._contents,e3.has("CreationDate")?(this.setCreationDate(e3.get("CreationDate")),this.data.creationDate=this.creationDate):this.data.creationDate=null,e3.has("M")?(this.setModificationDate(e3.get("M")),this.data.modificationDate=this.modificationDate):this.data.modificationDate=null,n2=e3.getRaw("Popup"),e3.has("C")?(this.setColor(e3.getArray("C")),this.data.color=this.color):this.data.color=null}else this.data.titleObj=this._title,this.setCreationDate(t2.get("CreationDate")),this.data.creationDate=this.creationDate,n2=t2.getRaw("Popup"),t2.has("C")||(this.data.color=null);this.data.popupRef=n2 instanceof L?n2.toString():null,t2.has("RC")&&(this.data.richText=no.getRichTextAsHtml(t2.get("RC")))}setCreationDate(e2){this.creationDate=typeof e2=="string"?e2:null}_setDefaultAppearance({xref:e2,extra:n2,strokeColor:r2,fillColor:i2,blendMode:a2,strokeAlpha:o2,fillAlpha:s2,pointsCallback:c2}){let l2=this.data.rect=t.slice(),u2=["q"];n2&&u2.push(n2),r2&&u2.push(`${r2[0]} ${r2[1]} ${r2[2]} RG`),i2&&u2.push(`${i2[0]} ${i2[1]} ${i2[2]} rg`);let d2=this.data.quadPoints||Float32Array.from([this.rectangle[0],this.rectangle[3],this.rectangle[2],this.rectangle[3],this.rectangle[0],this.rectangle[1],this.rectangle[2],this.rectangle[1]]);for(let e3=0,t2=d2.length;e3<t2;e3+=8){let t3=c2(u2,d2.subarray(e3,e3+8));Util$1.rectBoundingBox(...t3,l2)}u2.push("Q");let f2=new F(e2),p2=new F(e2);p2.setIfName("Subtype","Form");let m2=new StringStream(u2.join(" "),p2);f2.set("Fm0",m2);let h2=new F(e2);a2&&h2.setIfName("BM",a2),h2.setIfNumber("CA",o2),h2.setIfNumber("ca",s2);let g2=new F(e2);g2.set("GS0",h2);let _2=new F(e2);_2.set("ExtGState",g2),_2.set("XObject",f2);let v2=new F(e2);v2.set("Resources",_2),v2.set("BBox",l2),this.appearance=new StringStream("/GS0 gs /Fm0 Do",v2),this._streams.push(this.appearance,m2)}static async createNewAnnotation(e2,t2,n2,r2){let i2=t2.ref||=e2.getNewTemporaryRef(),a2=await this.createNewAppearanceStream(t2,e2,r2),o2;if(a2){let r3=e2.getNewTemporaryRef();o2=this.createNewDict(t2,e2,{apRef:r3}),n2.put(r3,{data:a2})}else o2=this.createNewDict(t2,e2,{});Number.isInteger(t2.parentTreeId)&&o2.set("StructParent",t2.parentTreeId),n2.put(i2,{data:o2});let s2={ref:i2},{popup:c2}=t2;if(c2){if(c2.deleted)return o2.delete("Popup"),o2.delete("Contents"),o2.delete("RC"),s2;let t3=c2.ref||=e2.getNewTemporaryRef();c2.parent=i2;let r3=PopupAnnotation.createNewDict(c2,e2);return n2.put(t3,{data:r3}),o2.setIfDefined("Contents",stringToAsciiOrUTF16BE(c2.contents)),o2.set("Popup",t3),[s2,{ref:t3}]}return s2}static async createNewPrintAnnotation(e2,t2,n2,r2){let i2=await this.createNewAppearanceStream(n2,t2,r2),a2=this.createNewDict(n2,t2,i2?{ap:i2}:{}),o2=new this.prototype.constructor({dict:a2,xref:t2,annotationGlobals:e2,evaluatorOptions:r2.evaluatorOptions});return n2.ref&&(o2.ref=o2.refToReplace=n2.ref),o2}},ro=class WidgetAnnotation extends Annotation{constructor(e2){super(e2);let{dict:t2,xref:n2,annotationGlobals:r2}=e2,i2=this.data;this._needAppearances=e2.needAppearances,i2.fieldName===void 0&&(i2.fieldName=this._constructFieldName(t2)),i2.actions===void 0&&(i2.actions=collectActions(n2,t2,x));let a2=getInheritableProperty({dict:t2,key:"V",getArray:!0});i2.fieldValue=this._decodeFormValue(a2);let o2=getInheritableProperty({dict:t2,key:"DV",getArray:!0});if(i2.defaultFieldValue=this._decodeFormValue(o2),a2===void 0&&r2.xfaDatasets){let e3=this._title.str;e3&&(this._hasValueFromXFA=!0,i2.fieldValue=a2=r2.xfaDatasets.getValue(e3))}a2===void 0&&i2.defaultFieldValue!==null&&(i2.fieldValue=i2.defaultFieldValue),i2.alternativeText=stringToPDFString(t2.get("TU")||""),this.setDefaultAppearance(e2),i2.hasAppearance||=this._needAppearances&&i2.fieldValue!==void 0&&i2.fieldValue!==null;let s2=getInheritableProperty({dict:t2,key:"FT"});i2.fieldType=s2 instanceof N?s2.name:null;let c2=getInheritableProperty({dict:t2,key:"DR"}),l2=r2.acroForm.get("DR"),u2=this.appearance?.dict.get("Resources");this._fieldResources={localResources:c2,acroFormResources:l2,appearanceResources:u2,mergedResources:F.merge({xref:n2,dictArray:[c2,u2,l2],mergeSubDicts:!0})},i2.fieldFlags=getInheritableProperty({dict:t2,key:"Ff"}),(!Number.isInteger(i2.fieldFlags)||i2.fieldFlags<0)&&(i2.fieldFlags=0),i2.password=this.hasFieldFlag(y.PASSWORD),i2.readOnly=this.hasFieldFlag(y.READONLY),i2.required=this.hasFieldFlag(y.REQUIRED),i2.hidden=this._hasFlag(i2.annotationFlags,v.HIDDEN)||this._hasFlag(i2.annotationFlags,v.NOVIEW)}_decodeFormValue(e2){if(Array.isArray(e2)){let t2=e2.map(e3=>this._decodeFormValue(e3)).filter(e3=>e3!==null);return t2.length>0?t2:null}else{if(e2 instanceof N)return e2.name;if(typeof e2=="string")return stringToPDFString(e2)}return null}hasFieldFlag(e2){return!!(this.data.fieldFlags&e2)}_isViewable(e2){return!0}mustBeViewed(e2,t2){return t2?this.viewable:super.mustBeViewed(e2,t2)&&!this._hasFlag(this.flags,v.NOVIEW)}getRotationMatrix(e2){let t2=e2?.get(this.data.id)?.rotation;return t2===void 0&&(t2=this.rotation),t2===0?ue:getRotationMatrix(t2,this.width,this.height)}getBorderAndBackgroundAppearances(e2){let t2=e2?.get(this.data.id)?.rotation;if(t2===void 0&&(t2=this.rotation),!this.backgroundColor&&!this.borderColor)return"";let n2=t2===0||t2===180?`0 0 ${this.width} ${this.height} re`:`0 0 ${this.height} ${this.width} re`,r2="";if(this.backgroundColor&&(r2=`${getPdfColor(this.backgroundColor,!0)} ${n2} f `),this.borderColor){let e3=this.borderStyle.width||1;r2+=`${e3} w ${getPdfColor(this.borderColor,!1)} ${n2} S `}return r2}async getOperatorList(e2,t2,n2,r2){if(n2&c.ANNOTATIONS_FORMS&&!(this instanceof SignatureWidgetAnnotation)&&!this.data.noHTML&&!this.data.hasOwnCanvas){let e3=this._getOperatorListNoAppearance();return e3.separateForm=!0,e3}if(!this._hasText)return super.getOperatorList(e2,t2,n2,r2);let i2=await this._getAppearance(e2,t2,n2,r2);if(this.appearance&&i2===null)return super.getOperatorList(e2,t2,n2,r2);let a2=new Be;if(!this._defaultAppearance||i2===null)return{opList:a2,separateForm:!1,separateCanvas:!1};let o2=!!(this.data.hasOwnCanvas&&n2&c.DISPLAY),s2=[1,0,0,1,0,0],l2=[0,0,this.width,this.height],u2=getTransformMatrix(this.data.rect,l2,s2),d2=this._oc;d2!==void 0&&a2.addOp(T.beginMarkedContentProps,["OC",d2]),a2.addOp(T.beginAnnotation,[this.data.id,this.data.rect,u2,this.getRotationMatrix(r2),o2]);let f2=new StringStream(i2);return await e2.getOperatorList({stream:f2,task:t2,resources:this._fieldResources.mergedResources,operatorList:a2}),a2.addOp(T.endAnnotation,[]),d2!==void 0&&a2.addOp(T.endMarkedContent,[]),{opList:a2,separateForm:!1,separateCanvas:o2}}_getMKDict(e2){let t2=new F(null);return e2&&t2.set("R",e2),t2.setIfArray("BC",getPdfColorArray(this.borderColor)),t2.setIfArray("BG",getPdfColorArray(this.backgroundColor)),t2.size>0?t2:null}amendSavedDict(e2,t2){}setValue(e2,t2,n2,r2){let{dict:i2,ref:a2}=getParentToUpdate(e2,this.ref,n2);if(!i2)e2.set("V",t2);else if(!r2.has(a2)){let e3=i2.clone();return e3.set("V",t2),r2.put(a2,{data:e3}),e3}return null}async save(e2,t2,n2,r2){let i2=n2?.get(this.data.id),a2=this._buildFlags(i2?.noView,i2?.noPrint),o2=i2?.value,s2=i2?.rotation;if(o2===this.data.fieldValue||o2===void 0){if(!this._hasValueFromXFA&&s2===void 0&&a2===void 0)return;o2||=this.data.fieldValue}if(s2===void 0&&!this._hasValueFromXFA&&Array.isArray(o2)&&Array.isArray(this.data.fieldValue)&&isArrayEqual(o2,this.data.fieldValue)&&a2===void 0)return;s2===void 0&&(s2=this.rotation);let l2=null;if(!this._needAppearances&&(l2=await this._getAppearance(e2,t2,c.SAVE,n2),l2===null&&a2===void 0))return;let u2=!1;l2?.needAppearances&&(u2=!0,l2=null);let{xref:d2}=e2,f2=d2.fetchIfRef(this.ref);if(!(f2 instanceof F))return;let p2=new F(d2);for(let[e3,t3]of f2.getRawEntries())e3!=="AP"&&p2.set(e3,t3);if(a2!==void 0&&(p2.set("F",a2),l2===null&&!u2)){let e3=f2.getRaw("AP");e3&&p2.set("AP",e3)}let m2={path:this.data.fieldName,value:o2},h2=this.setValue(p2,Array.isArray(o2)?o2.map(stringToAsciiOrUTF16BE):stringToAsciiOrUTF16BE(o2),d2,r2);this.amendSavedDict(n2,h2||p2);let g2=this._getMKDict(s2);if(g2&&p2.set("MK",g2),r2.put(this.ref,{data:p2,xfa:m2,needAppearances:u2}),l2!==null){let e3=d2.getNewTemporaryRef(),t3=new F(d2);p2.set("AP",t3),t3.set("N",e3);let i3=this._getSaveFieldResources(d2),a3=new F(d2);a3.setIfName("Subtype","Form"),a3.set("Resources",i3);let o3=s2%180==0?[0,0,this.width,this.height]:[0,0,this.height,this.width];a3.set("BBox",o3);let c2=new StringStream(l2,a3),u3=this.getRotationMatrix(n2);u3!==ue&&a3.set("Matrix",u3),r2.put(e3,{data:c2,xfa:null,needAppearances:!1})}p2.set("M",`D:${getModificationDate()}`)}async _getAppearance(e2,t2,n2,r2){if(this.data.password)return null;let i2=r2?.get(this.data.id),a2,s2;if(i2&&(a2=i2.formattedValue||i2.value,s2=i2.rotation),s2===void 0&&a2===void 0&&!this._needAppearances&&(!this._hasValueFromXFA||this.appearance))return null;let l2=this.getBorderAndBackgroundAppearances(r2);if(a2===void 0&&(a2=this.data.fieldValue,!a2)||(Array.isArray(a2)&&a2.length===1&&(a2=a2[0]),assert$1(typeof a2=="string","Expected `value` to be a string."),a2=a2.trimEnd(),this.data.combo&&(a2=this.data.options.find(({exportValue:e3})=>a2===e3)?.displayValue||a2),a2===""))return`/Tx BMC q ${l2}Q EMC`;s2===void 0&&(s2=this.rotation);let u2=-1,d2;this.data.multiLine?(d2=a2.split(/\r\n?|\n/).map(e3=>e3.normalize("NFC")),u2=d2.length):d2=[a2.replace(/\r\n?|\n/,"").normalize("NFC")];let{width:f2,height:p2}=this;(s2===90||s2===270)&&([f2,p2]=[p2,f2]),this._defaultAppearance||(this.data.defaultAppearanceData=parseDefaultAppearance(this._defaultAppearance="/Helvetica 0 Tf 0 g"));let m2=await WidgetAnnotation._getFontData(e2,t2,this.data.defaultAppearanceData,this._fieldResources.mergedResources),h2,g2,_2,v2=[],y2=!1;for(let e3 of d2){let t3=m2.encodeString(e3);t3.length>1&&(y2=!0),v2.push(t3.join(""))}if(y2&&n2&c.SAVE)return{needAppearances:!0};if(y2&&this._isOffscreenCanvasSupported){let n3=this.data.comb?"monospace":"sans-serif",r3=new Dr(e2.xref,n3),i3=r3.createFontResources(d2.join("")),o2=i3.getRaw("Font");if(this._fieldResources.mergedResources.has("Font")){let e3=this._fieldResources.mergedResources.get("Font");for(let[t3,n4]of o2.getRawEntries())e3.set(t3,n4)}else this._fieldResources.mergedResources.set("Font",o2);let s3=r3.fontName.name;m2=await WidgetAnnotation._getFontData(e2,t2,{fontName:s3,fontSize:0},i3);for(let e3=0,t3=v2.length;e3<t3;e3++)v2[e3]=stringToUTF16String(d2[e3]);let c2=Object.assign(Object.create(null),this.data.defaultAppearanceData);this.data.defaultAppearanceData.fontSize=0,this.data.defaultAppearanceData.fontName=s3,[h2,g2,_2]=this._computeFontSize(p2-2,f2-4,a2,m2,u2),this.data.defaultAppearanceData=c2}else this._isOffscreenCanvasSupported||warn$1("_getAppearance: OffscreenCanvas is not supported, annotation may not render correctly."),[h2,g2,_2]=this._computeFontSize(p2-2,f2-4,a2,m2,u2);let b2=m2.descent;b2=isNaN(b2)?o*_2:Math.max(o*_2,Math.abs(b2)*g2);let x2=Math.min(Math.floor((p2-g2)/2),1),S2=this.data.textAlignment;if(this.data.multiLine)return this._getMultilineAppearance(h2,v2,m2,g2,f2,p2,S2,2,x2,b2,_2,r2);if(this.data.comb)return this._getCombAppearance(h2,m2,v2[0],g2,f2,p2,S2,bidi(d2[0]).dir==="rtl",r2);let C2=x2+b2;if(S2===0||S2>2)return`/Tx BMC q ${l2}BT `+h2+` 1 0 0 1 ${numberToString(2)} ${numberToString(C2)} Tm (${escapeString(v2[0])}) Tj ET Q EMC`;let w2=this._renderText(v2[0],m2,g2,f2,S2,{shift:0},2,C2);return`/Tx BMC q ${l2}BT `+h2+` 1 0 0 1 0 0 Tm ${w2} ET Q EMC`}static async _getFontData(e2,t2,n2,r2){let i2=new Be,a2={font:null,clone(){return this}},{fontName:o2,fontSize:s2}=n2;return await e2.handleSetFont(r2,[o2&&N.get(o2),s2],null,i2,t2,a2,null),a2.font}_getTextWidth(e2,t2){return Math.sumPrecise(t2.charsToGlyphs(e2).map(e3=>e3.width))/1e3}_computeFontSize(e2,t2,n2,r2,a2){let{fontSize:o2}=this.data.defaultAppearanceData,s2=(o2||12)*i,c2=Math.round(e2/s2);if(!o2){let roundWithTwoDigits=e3=>Math.floor(e3*100)/100;if(a2===-1){let a3=this._getTextWidth(n2,r2);o2=roundWithTwoDigits(Math.min(e2/i,t2/a3)),c2=1}else{let l3=n2.split(/\r\n?|\n/),u3=[];for(let e3 of l3){let t3=r2.encodeString(e3).join(""),n3=r2.charsToGlyphs(t3),i2=r2.getCharPositions(t3);u3.push({line:t3,glyphs:n3,positions:i2})}let isTooBig=n3=>{let i2=0;for(let a3 of u3){let o3=this._splitLine(null,r2,n3,t2,a3);if(i2+=o3.length*n3,i2>e2)return!0}return!1};for(c2=Math.max(c2,a2);;){if(s2=e2/c2,o2=roundWithTwoDigits(s2/i),isTooBig(o2)){c2++;continue}break}}let{fontName:l2,fontColor:u2}=this.data.defaultAppearanceData;this._defaultAppearance=createDefaultAppearance({fontSize:o2,fontName:l2,fontColor:u2})}return[this._defaultAppearance,o2,e2/c2]}_renderText(e2,t2,n2,r2,i2,a2,o2,s2){let c2;c2=i2===1?(r2-this._getTextWidth(e2,t2)*n2)/2:i2===2?r2-this._getTextWidth(e2,t2)*n2-o2:o2;let l2=numberToString(c2-a2.shift);return a2.shift=c2,s2=numberToString(s2),`${l2} ${s2} Td (${escapeString(e2)}) Tj`}_getSaveFieldResources(e2){let{localResources:t2,appearanceResources:n2,acroFormResources:r2}=this._fieldResources,i2=this.data.defaultAppearanceData?.fontName;if(!i2)return t2||F.empty;for(let e3 of[t2,n2])if(e3 instanceof F){let t3=e3.get("Font");if(t3 instanceof F&&t3.has(i2))return e3}if(r2 instanceof F){let n3=r2.get("Font");if(n3 instanceof F&&n3.has(i2)){let r3=new F(e2);r3.set(i2,n3.getRaw(i2));let a2=new F(e2);return a2.set("Font",r3),F.merge({xref:e2,dictArray:[a2,t2],mergeSubDicts:!0})}}return t2||F.empty}getFieldObject(){return null}},TextWidgetAnnotation=class extends ro{constructor(e2){super(e2);let{dict:t2}=e2;t2.has("PMD")&&(this.flags|=v.HIDDEN,this.data.hidden=!0,warn$1("Barcodes are not supported")),this.data.hasOwnCanvas=this.data.readOnly&&!this.data.noHTML,this._hasText=!0,typeof this.data.fieldValue!="string"&&(this.data.fieldValue="");let n2=getInheritableProperty({dict:t2,key:"Q"});(!Number.isInteger(n2)||n2<0||n2>2)&&(n2=null),this.data.textAlignment=n2;let r2=getInheritableProperty({dict:t2,key:"MaxLen"});(!Number.isInteger(r2)||r2<0)&&(r2=0),this.data.maxLen=r2,this.data.multiLine=this.hasFieldFlag(y.MULTILINE),this.data.comb=this.hasFieldFlag(y.COMB)&&!this.data.multiLine&&!this.data.password&&!this.hasFieldFlag(y.FILESELECT)&&this.data.maxLen!==0,this.data.doNotScroll=this.hasFieldFlag(y.DONOTSCROLL);let{data:{actions:i2}}=this;if(!i2)return;let a2=/^AF(Date|Time)_(?:Keystroke|Format)(?:Ex)?\(['"]?([^'"]+)['"]?\);$/,o2=!1;(i2.Format?.length===1&&i2.Keystroke?.length===1&&a2.test(i2.Format[0])&&a2.test(i2.Keystroke[0])||i2.Format?.length===0&&i2.Keystroke?.length===1&&a2.test(i2.Keystroke[0])||i2.Keystroke?.length===0&&i2.Format?.length===1&&a2.test(i2.Format[0]))&&(o2=!0);let s2=[];i2.Format&&s2.push(...i2.Format),i2.Keystroke&&s2.push(...i2.Keystroke),o2&&(delete i2.Keystroke,i2.Format=s2);for(let e3 of s2){let t3=e3.match(a2);if(!t3)continue;let n3=t3[1]==="Date",r3=t3[2],i3=parseInt(r3,10);if(!isNaN(i3)&&Math.floor(Math.log10(i3))+1===t3[2].length&&(r3=(n3?Or:kr)[i3]??r3),this.data.datetimeFormat=r3,!o2)break;if(n3){/HH|MM|ss|h/.test(r3)?(this.data.datetimeType="datetime-local",this.data.timeStep=/ss/.test(r3)?1:60):this.data.datetimeType="date";break}this.data.datetimeType="time",this.data.timeStep=/ss/.test(r3)?1:60;break}}get hasTextContent(){return!!this.appearance&&!this._needAppearances}_getCombAppearance(e2,t2,n2,r2,i2,a2,o2,s2,c2){let l2=i2/this.data.maxLen,u2=this.getBorderAndBackgroundAppearances(c2),d2=t2.getCharPositions(n2).map(([e3,i3])=>{let a3=n2.substring(e3,i3);return{glyph:a3,width:this._getTextWidth(a3,t2)*r2}});s2&&d2.reverse();let f2=l2*d2.length,p2=0;o2===1?p2+=Math.floor((i2-f2)/(2*l2))*l2:o2===2&&(p2+=i2-f2);let m2=[],h2=0;for(let e3=0,t3=d2.length;e3<t3;e3++){let{glyph:t4,width:n3}=d2[e3],r3=e3===0?(l2-n3)/2:l2+(h2-n3)/2;m2.push(`${numberToString(r3)} 0 Td (${escapeString(t4)}) Tj`),h2=n3}let g2=m2.join(" "),_2=(a2-(t2.capHeight||t2.ascent||1)*r2)/2;return`/Tx BMC q ${u2}BT `+e2+` 1 0 0 1 ${numberToString(p2)} ${numberToString(_2)} Tm ${g2} ET Q EMC`}_getMultilineAppearance(e2,t2,n2,r2,i2,a2,o2,s2,c2,l2,u2,d2){let f2=[],p2=i2-2*s2,m2={shift:0};for(let e3=0,a3=t2.length;e3<a3;e3++){let a4=t2[e3],d3=this._splitLine(a4,n2,r2,p2);for(let t3=0,a5=d3.length;t3<a5;t3++){let a6=d3[t3],p3=e3===0&&t3===0?-c2-(u2-l2):-u2;f2.push(this._renderText(a6,n2,r2,i2,o2,m2,s2,p3))}}let h2=this.getBorderAndBackgroundAppearances(d2),g2=f2.join(`
|
|
22
|
+
`);return`/Tx BMC q ${h2}BT `+e2+` 1 0 0 1 0 ${numberToString(a2)} Tm ${g2} ET Q EMC`}_splitLine(e2,t2,n2,r2,i2={}){e2=i2.line||e2;let a2=i2.glyphs||t2.charsToGlyphs(e2);if(a2.length<=1)return[e2];let o2=i2.positions||t2.getCharPositions(e2),s2=n2/1e3,c2=[],l2=-1,u2=-1,d2=-1,f2=0,p2=0;for(let t3=0,n3=a2.length;t3<n3;t3++){let[n4,i3]=o2[t3],m2=a2[t3],h2=m2.width*s2;m2.unicode===" "?p2+h2>r2?(c2.push(e2.substring(f2,n4)),f2=n4,p2=h2,l2=-1,d2=-1):(p2+=h2,l2=n4,u2=i3,d2=t3):p2+h2>r2?l2===-1?(c2.push(e2.substring(f2,n4)),f2=n4,p2=h2):(c2.push(e2.substring(f2,u2)),f2=u2,t3=d2+1,l2=-1,p2=0):p2+=h2}return f2<e2.length&&c2.push(e2.substring(f2)),c2}async extractTextContent(e2,t2,n2){await super.extractTextContent(e2,t2,n2);let r2=this.data.textContent;if(!r2)return;let i2=r2.join(`
|
|
23
|
+
`);if(i2===this.data.fieldValue)return;let a2=i2.replaceAll(/([.*+?^${}()|[\]\\])|(\s+)/g,(e3,t3)=>t3?`\\${t3}`:"\\s+");RegExp(`^\\s*${a2}\\s*$`).test(this.data.fieldValue)&&(this.data.textContent=this.data.fieldValue.split(`
|
|
24
|
+
`))}getFieldObject(){return{id:this.data.id,value:this.data.fieldValue,defaultValue:this.data.defaultFieldValue||"",multiline:this.data.multiLine,password:this.data.password,charLimit:this.data.maxLen,comb:this.data.comb,editable:!this.data.readOnly,hidden:this.data.hidden,name:this.data.fieldName,rect:this.data.rect,actions:this.data.actions,page:this.data.pageIndex,strokeColor:this.data.borderColor,fillColor:this.data.backgroundColor,rotation:this.rotation,datetimeFormat:this.data.datetimeFormat,hasDatetimeHTML:!!this.data.datetimeType,type:"text"}}},ButtonWidgetAnnotation=class extends ro{constructor(e2){super(e2),this.checkedAppearance=null,this.uncheckedAppearance=null;let t2=this.hasFieldFlag(y.RADIO),n2=this.hasFieldFlag(y.PUSHBUTTON);this.data.checkBox=!t2&&!n2,this.data.radioButton=t2&&!n2,this.data.pushButton=n2,this.data.isTooltipOnly=!1,this.data.hasOwnCanvas=!0,this.data.noHTML=!1,this.data.checkBox?this._processCheckBox(e2):this.data.radioButton?this._processRadioButton(e2):this.data.pushButton?this._processPushButton(e2):warn$1("Invalid field flags for button widget annotation")}get _ownCanvasRequiresForms(){return this.data.checkBox||this.data.radioButton}#e(e2,t2,n2,r2,i2,a2){if(!a2)return this._getOperatorListNoAppearance();let o2=this.appearance,s2=lookupMatrix(a2.dict.getArray("Matrix"),ue);i2&&a2.dict.set("Matrix",this.getRotationMatrix(r2)),this.appearance=a2;let c2=super.getOperatorList(e2,t2,n2,r2);return this.appearance=o2,a2.dict.set("Matrix",s2),c2}async getOperatorList(e2,t2,n2,r2){if(this.data.pushButton)return super.getOperatorList(e2,t2,n2,!1,r2);if(n2&c.DISPLAY&&n2&c.ANNOTATIONS_FORMS&&(this.data.checkBox||this.data.radioButton)){let setCanvasName=(e3,t3)=>{let n3=e3.fnArray.indexOf(T.beginAnnotation);n3!==-1&&e3.argsArray[n3].push(t3)},i3=await this.#e(e2,t2,n2,r2,null,this.checkedAppearance);setCanvasName(i3.opList,"checked");let a3=await this.#e(e2,t2,n2,r2,null,this.uncheckedAppearance);return setCanvasName(a3.opList,"unchecked"),i3.opList.addOpList(a3.opList),i3.separateForm||=a3.separateForm,i3.separateCanvas||=a3.separateCanvas,i3}let i2=null,a2=null;if(r2){let e3=r2.get(this.data.id);i2=e3?e3.value:null,a2=e3?e3.rotation:null}return i2===null&&this.appearance?super.getOperatorList(e2,t2,n2,r2):(i2??=this.data.checkBox?this.data.fieldValue===this.data.exportValue:this.data.fieldValue===this.data.buttonValue,this.#e(e2,t2,n2,r2,a2,i2?this.checkedAppearance:this.uncheckedAppearance))}async save(e2,t2,n2,r2){if(this.data.checkBox){this._saveCheckbox(e2,t2,n2,r2);return}this.data.radioButton&&this._saveRadioButton(e2,t2,n2,r2)}async _saveCheckbox(e2,t2,n2,r2){if(!n2)return;let i2=n2.get(this.data.id),a2=this._buildFlags(i2?.noView,i2?.noPrint),o2=i2?.rotation,s2=i2?.value;if(o2===void 0&&a2===void 0&&(s2===void 0||this.data.fieldValue===this.data.exportValue===s2))return;let c2=e2.xref.fetchIfRef(this.ref);if(!(c2 instanceof F))return;c2=c2.clone(),o2===void 0&&(o2=this.rotation),s2===void 0&&(s2=this.data.fieldValue===this.data.exportValue);let l2={path:this.data.fieldName,value:s2?this.data.exportValue:""},u2=N.get(s2?this._onStateName:"Off");this.setValue(c2,u2,e2.xref,r2),c2.set("AS",u2),c2.set("M",`D:${getModificationDate()}`),a2!==void 0&&c2.set("F",a2);let d2=this._getMKDict(o2);d2&&c2.set("MK",d2),r2.put(this.ref,{data:c2,xfa:l2,needAppearances:!1})}async _saveRadioButton(e2,t2,n2,r2){if(!n2)return;let i2=n2.get(this.data.id),a2=this._buildFlags(i2?.noView,i2?.noPrint),o2=i2?.rotation,s2=i2?.value;if(o2===void 0&&a2===void 0&&(s2===void 0||this.data.fieldValue===this.data.buttonValue===s2))return;let c2=e2.xref.fetchIfRef(this.ref);if(!(c2 instanceof F))return;c2=c2.clone(),s2===void 0&&(s2=this.data.fieldValue===this.data.buttonValue),o2===void 0&&(o2=this.rotation);let l2={path:this.data.fieldName,value:s2?this.data.buttonValue:""},u2=N.get(s2?this._onStateName:"Off");s2&&this.setValue(c2,u2,e2.xref,r2),c2.set("AS",u2),c2.set("M",`D:${getModificationDate()}`),a2!==void 0&&c2.set("F",a2);let d2=this._getMKDict(o2);d2&&c2.set("MK",d2),r2.put(this.ref,{data:c2,xfa:l2,needAppearances:!1})}_getDefaultCheckedAppearance(e2,t2){let{width:n2,height:r2}=this,i2=[0,0,n2,r2],a2=Math.min(n2,r2)*.8,o2,s2;t2==="check"?(o2={width:.755*a2,height:.705*a2},s2="3"):t2==="disc"?(o2={width:.791*a2,height:.705*a2},s2="l"):unreachable$1(`_getDefaultCheckedAppearance - unsupported type: ${t2}`);let c2=`q BT /PdfJsZaDb ${a2} Tf 0 g ${numberToString((n2-o2.width)/2)} ${numberToString((r2-o2.height)/2)} Td (${s2}) Tj ET Q`,l2=new F(e2.xref);l2.set("FormType",1),l2.setIfName("Subtype","Form"),l2.setIfName("Type","XObject"),l2.set("BBox",i2),l2.set("Matrix",[1,0,0,1,0,0]),l2.set("Length",c2.length);let u2=new F(e2.xref),d2=new F(e2.xref);d2.set("PdfJsZaDb",this.fallbackFontDict),u2.set("Font",d2),l2.set("Resources",u2),this.checkedAppearance=new StringStream(c2,l2),this._streams.push(this.checkedAppearance)}_getOnStateName(e2){let t2=e2.get("AP");if(!(t2 instanceof F))return null;let n2=t2.get("N");if(!(n2 instanceof F))return null;for(let e3 of n2.getKeys())if(e3!=="Off")return e3;return null}_getExportValueForOptIndex(e2,t2,n2){if(Number.isInteger(e2)&&e2>=0&&e2<t2.length){let r2=this._decodeFormValue(n2.fetchIfRef(t2[e2]));if(typeof r2=="string")return r2}return null}_getOptInfo(e2,t2,n2,r2){if(!Array.isArray(n2))return null;let i2=new Map,a2=null,o2=e2.get("Parent"),s2=o2 instanceof F?o2.get("Kids"):null;if(Array.isArray(s2))for(let t3=0,o3=Math.min(s2.length,n2.length);t3<o3;t3++){let n3=s2[t3];n3 instanceof L&&isRefsEqual(n3,this.ref)&&(a2=t3);let o4=r2.fetchIfRef(n3);if(!(o4 instanceof F))continue;o4===e2&&(a2=t3);let c2=this._getOnStateName(o4);typeof c2=="string"&&!i2.has(c2)&&i2.set(c2,t3)}else n2.length===1&&typeof t2=="string"&&(a2=0,i2.set(t2,0));return{currentIndex:a2,opt:n2,stateToIndex:i2}}_getExportValue(e2,t2,n2){if(!t2||typeof e2!="string"||e2==="Off")return e2;if(e2===this._onStateName){let e3=this._getExportValueForOptIndex(t2.currentIndex,t2.opt,n2);if(e3!==null)return e3}if(t2.stateToIndex.has(e2)){let r3=this._getExportValueForOptIndex(t2.stateToIndex.get(e2),t2.opt,n2);if(r3!==null)return r3}let r2=parseInt(e2,10);return Number.isInteger(r2)&&String(r2)===e2&&this._getExportValueForOptIndex(r2,t2.opt,n2)||e2}_processCheckBox(e2){let t2=e2.dict.get("AP"),n2=t2 instanceof F?t2.get("N"):null;n2 instanceof F||(n2=null);let r2=this._decodeFormValue(e2.dict.get("AS"));typeof r2=="string"&&(this.data.fieldValue=r2);let i2=this.data.fieldValue!==null&&this.data.fieldValue!=="Off"?this.data.fieldValue:"Yes",a2=n2?[...n2.getKeys()]:[];if(a2.length===0)a2.push("Off",i2);else if(a2.length===1)a2[0]==="Off"?a2.push(i2):a2.unshift("Off");else if(a2.includes(i2))a2.length=0,a2.push("Off",i2);else{let e3=a2.find(e4=>e4!=="Off");a2.length=0,a2.push("Off",e3)}let o2=a2[1];this._onStateName=o2;let s2=getInheritableProperty({dict:e2.dict,key:"Opt"}),c2=this._getOptInfo(e2.dict,o2,s2,e2.xref);this.data.exportValue=this._getExportValue(o2,c2,e2.xref),!a2.includes(this.data.fieldValue)&&this.data.fieldValue!==this.data.exportValue&&(this.data.fieldValue="Off"),this.data.fieldValue=this._getExportValue(this.data.fieldValue,c2,e2.xref),this.data.defaultFieldValue=this._getExportValue(this.data.defaultFieldValue,c2,e2.xref);let l2=n2?.get(o2);this.checkedAppearance=l2 instanceof BaseStream?l2:null;let u2=n2?.get("Off");this.uncheckedAppearance=u2 instanceof BaseStream?u2:null,this.checkedAppearance?this._streams.push(this.checkedAppearance):this._getDefaultCheckedAppearance(e2,"check"),this.uncheckedAppearance&&this._streams.push(this.uncheckedAppearance),this._fallbackFontDict=this.fallbackFontDict,this.data.defaultFieldValue===null&&(this.data.defaultFieldValue="Off")}_processRadioButton(e2){this.data.buttonValue=null;let t2=e2.dict.get("Parent");if(t2 instanceof F){this.parent=e2.dict.getRaw("Parent");let n3=t2.get("V");n3 instanceof N&&(this.data.fieldValue=this._decodeFormValue(n3))}let n2=e2.dict.get("AP");if(!(n2 instanceof F))return;let r2=n2.get("N");if(!(r2 instanceof F))return;let i2=null;for(let e3 of r2.getKeys())if(e3!=="Off"){i2=e3;break}this._onStateName=i2;let a2=getInheritableProperty({dict:e2.dict,key:"Opt"}),o2=this._getOptInfo(e2.dict,i2,a2,e2.xref);this.data.buttonValue=this._getExportValue(i2,o2,e2.xref),this.data.fieldValue=this._getExportValue(this.data.fieldValue,o2,e2.xref),this.data.defaultFieldValue=this._getExportValue(this.data.defaultFieldValue,o2,e2.xref);let s2=r2.get(i2);this.checkedAppearance=s2 instanceof BaseStream?s2:null;let c2=r2.get("Off");this.uncheckedAppearance=c2 instanceof BaseStream?c2:null,this.checkedAppearance?this._streams.push(this.checkedAppearance):this._getDefaultCheckedAppearance(e2,"disc"),this.uncheckedAppearance&&this._streams.push(this.uncheckedAppearance),this._fallbackFontDict=this.fallbackFontDict,this.data.defaultFieldValue===null&&(this.data.defaultFieldValue="Off")}_processPushButton(e2){let{dict:t2,annotationGlobals:n2}=e2;if(!t2.has("A")&&!t2.has("AA")&&!this.data.alternativeText){warn$1("Push buttons without action dictionaries are not supported");return}this.data.isTooltipOnly=!t2.has("A")&&!t2.has("AA"),Ir.parseDestDictionary({destDict:t2,resultObj:this.data,docBaseUrl:n2.baseUrl,docAttachments:n2.attachments})}getFieldObject(){let e2="button",t2;return this.data.checkBox?(e2="checkbox",t2=this.data.exportValue):this.data.radioButton&&(e2="radiobutton",t2=this.data.buttonValue),{id:this.data.id,value:this.data.fieldValue||"Off",defaultValue:this.data.defaultFieldValue,exportValues:t2,editable:!this.data.readOnly,name:this.data.fieldName,rect:this.data.rect,hidden:this.data.hidden,actions:this.data.actions,page:this.data.pageIndex,strokeColor:this.data.borderColor,fillColor:this.data.backgroundColor,rotation:this.rotation,type:e2}}get fallbackFontDict(){let e2=new F;return e2.setIfName("BaseFont","ZapfDingbats"),e2.setIfName("Type","FallbackType"),e2.setIfName("Subtype","FallbackType"),e2.setIfName("Encoding","ZapfDingbatsEncoding"),shadow$1(this,"fallbackFontDict",e2)}},ChoiceWidgetAnnotation=class extends ro{constructor(e2){super(e2);let{dict:t2,xref:n2}=e2;this.indices=t2.getArray("I"),this.hasIndices=Array.isArray(this.indices)&&this.indices.length>0,this.data.options=[];let r2=getInheritableProperty({dict:t2,key:"Opt"});if(Array.isArray(r2))for(let e3=0,t3=r2.length;e3<t3;e3++){let t4=n2.fetchIfRef(r2[e3]),i2=Array.isArray(t4);this.data.options[e3]={exportValue:this._decodeFormValue(i2?n2.fetchIfRef(t4[0]):t4),displayValue:this._decodeFormValue(i2?n2.fetchIfRef(t4[1]):t4)}}if(!this.hasIndices)typeof this.data.fieldValue=="string"?this.data.fieldValue=[this.data.fieldValue]:this.data.fieldValue||=[];else{this.data.fieldValue=[];let e3=this.data.options.length;for(let t3 of this.indices)Number.isInteger(t3)&&t3>=0&&t3<e3&&this.data.fieldValue.push(this.data.options[t3].exportValue)}this.data.options.length===0&&this.data.fieldValue.length>0&&(this.data.options=this.data.fieldValue.map(e3=>({exportValue:e3,displayValue:e3}))),this.data.combo=this.hasFieldFlag(y.COMBO),this.data.multiSelect=this.hasFieldFlag(y.MULTISELECT),this._hasText=!0}getFieldObject(){let e2=this.data.combo?"combobox":"listbox",t2=this.data.fieldValue.length>0?this.data.fieldValue[0]:null;return{id:this.data.id,value:t2,defaultValue:this.data.defaultFieldValue,editable:!this.data.readOnly,name:this.data.fieldName,rect:this.data.rect,numItems:this.data.fieldValue.length,multipleSelection:this.data.multiSelect,hidden:this.data.hidden,actions:this.data.actions,items:this.data.options,page:this.data.pageIndex,strokeColor:this.data.borderColor,fillColor:this.data.backgroundColor,rotation:this.rotation,type:e2}}amendSavedDict(e2,t2){if(!this.hasIndices)return;let n2=e2?.get(this.data.id)?.value;Array.isArray(n2)||(n2=[n2]);let r2=[],{options:i2}=this.data;for(let e3=0,t3=0,a2=i2.length;e3<a2;e3++)i2[e3].exportValue===n2[t3]&&(r2.push(e3),t3+=1);t2.set("I",r2)}async _getAppearance(e2,t2,n2,r2){if(this.data.combo)return super._getAppearance(e2,t2,n2,r2);let a2,o2,s2=r2?.get(this.data.id);if(s2&&(o2=s2.rotation,a2=s2.value),o2===void 0&&a2===void 0&&!this._needAppearances)return null;a2===void 0?a2=this.data.fieldValue:Array.isArray(a2)||(a2=[a2]);let{width:c2,height:l2}=this;(o2===90||o2===270)&&([c2,l2]=[l2,c2]);let u2=this.data.options.length,d2=[];for(let e3=0;e3<u2;e3++){let{exportValue:t3}=this.data.options[e3];a2.includes(t3)&&d2.push(e3)}this._defaultAppearance||(this.data.defaultAppearanceData=parseDefaultAppearance(this._defaultAppearance="/Helvetica 0 Tf 0 g"));let f2=await ro._getFontData(e2,t2,this.data.defaultAppearanceData,this._fieldResources.mergedResources),p2,{fontSize:m2}=this.data.defaultAppearanceData;if(m2)p2=this._defaultAppearance;else{let e3=(l2-1)/u2,t3=-1,n3;for(let{displayValue:e4}of this.data.options){let r3=this._getTextWidth(e4,f2);r3>t3&&(t3=r3,n3=e4)}[p2,m2]=this._computeFontSize(e3,c2-4,n3,f2,-1)}let h2=m2*i,g2=(h2-m2)/2,_2=Math.floor(l2/h2),v2=0;if(d2.length>0){let e3=Math.min(...d2),t3=Math.max(...d2);v2=Math.max(0,t3-_2+1),v2>e3&&(v2=e3)}let y2=Math.min(v2+_2+1,u2),b2=["/Tx BMC q",`1 1 ${c2} ${l2} re W n`];if(d2.length){b2.push("0.600006 0.756866 0.854904 rg");for(let e3 of d2)v2<=e3&&e3<y2&&b2.push(`1 ${l2-(e3-v2+1)*h2} ${c2} ${h2} re f`)}b2.push("BT",p2,`1 0 0 1 0 ${l2} Tm`);let x2={shift:0};for(let e3=v2;e3<y2;e3++){let{displayValue:t3}=this.data.options[e3],n3=e3===v2?g2:0;b2.push(this._renderText(t3,f2,m2,c2,0,x2,2,-h2+n3))}return b2.push("ET Q EMC"),b2.join(`
|
|
25
|
+
`)}},SignatureWidgetAnnotation=class extends ro{constructor(e2){super(e2),this.data.fieldValue=null,this.data.hasOwnCanvas=this.data.noRotate,this.data.noHTML=!this.data.hasOwnCanvas}getFieldObject(){return{id:this.data.id,value:null,page:this.data.pageIndex,type:"signature"}}},TextAnnotation=class extends MarkupAnnotation{constructor(e2){super(e2),this.data.noRotate=!0,this.data.hasOwnCanvas=this.data.noRotate,this.data.noHTML=!1;let{dict:t2}=e2;this.data.hasAppearance?this.data.name="NoIcon":(this.data.rect[1]=this.data.rect[3]-22,this.data.rect[2]=this.data.rect[0]+22,this.data.name=t2.has("Name")?t2.get("Name").name:"Note"),t2.has("State")?(this.data.state=t2.get("State")||null,this.data.stateModel=t2.get("StateModel")||null):(this.data.state=null,this.data.stateModel=null)}},LinkAnnotation=class extends Annotation{constructor(e2){super(e2);let{dict:t2,annotationGlobals:n2}=e2;this.data.noHTML=!1;let r2=getQuadPoints(t2,this.rectangle);r2&&(this.data.quadPoints=r2),this.data.borderColor||=this.data.color,Ir.parseDestDictionary({destDict:t2,resultObj:this.data,docBaseUrl:n2.baseUrl,docAttachments:n2.attachments})}get overlaysTextContent(){return!0}},PopupAnnotation=class extends Annotation{constructor(e2){super(e2);let{dict:t2}=e2;this.data.noHTML=!1,(this.width===0||this.height===0)&&(this.data.rect=null);let n2=t2.get("Parent");if(!n2){warn$1("Popup annotation has a missing or invalid parent annotation.");return}if(this.data.parentRect=lookupNormalRect(n2.getArray("Rect"),null),this.data.creationDate=n2.get("CreationDate")||"",isName(n2.get("RT"),g.GROUP)&&(n2=n2.get("IRT")),n2.has("M")?(this.setModificationDate(n2.get("M")),this.data.modificationDate=this.modificationDate):this.data.modificationDate=null,n2.has("C")?(this.setColor(n2.getArray("C")),this.data.color=this.color):this.data.color=null,!this.viewable){let e3=n2.get("F");this._isViewable(e3)&&this.setFlags(e3)}this.setTitle(n2.get("T")),this.data.titleObj=this._title,this.setContents(n2.get("Contents")),this.data.contentsObj=this._contents,n2.has("RC")&&(this.data.richText=no.getRichTextAsHtml(n2.get("RC"))),this.data.open=!!t2.get("Open")}static createNewDict(e2,t2,n2){let{oldAnnotation:r2,rect:i2,parent:a2}=e2,o2=r2||new F(t2);return o2.setIfNotExists("Type",N.get("Annot")),o2.setIfNotExists("Subtype",N.get("Popup")),o2.setIfNotExists("Open",!1),o2.setIfArray("Rect",i2),o2.set("Parent",a2),o2}static async createNewAppearanceStream(e2,t2,n2){return null}},FreeTextAnnotation=class extends MarkupAnnotation{constructor(e2){super(e2),this.data.hasOwnCanvas=this.data.noRotate,this.data.isEditable=!this.data.noHTML,this.data.noHTML=!1;let{annotationGlobals:t2,xref:n2}=e2;if(this.setDefaultAppearance(e2),this._hasAppearance=!!this.appearance,this._hasAppearance){let{fontColor:e3,fontSize:r2}=parseAppearanceStream(this.appearance,n2,t2.globalColorSpaceCache);this.data.defaultAppearanceData.fontColor=e3,this.data.defaultAppearanceData.fontSize=r2||10}else{this.data.defaultAppearanceData.fontSize||=10;let{fontColor:t3,fontSize:r2}=this.data.defaultAppearanceData;if(this._contents.str){this.data.textContent=this._contents.str.split(/\r\n?|\n/).map(e4=>e4.trimEnd());let{coords:e3,bbox:t4,matrix:n3}=Dr.getFirstPositionInfo(this.rectangle,this.rotation,r2);this.data.textPosition=this._transformPoint(e3,t4,n3)}if(this._isOffscreenCanvasSupported){let i2=e2.dict.get("CA"),a2=new Dr(n2,"sans-serif");this.appearance=a2.createAppearance(this._contents.str,this.rectangle,this.rotation,r2,t3,i2),this._streams.push(this.appearance)}else warn$1("FreeTextAnnotation: OffscreenCanvas is not supported, annotation may not render correctly.")}}get hasTextContent(){return this._hasAppearance}static createNewDict(e2,t2,{apRef:n2,ap:r2}){let{color:i2,date:a2,fontSize:o2,oldAnnotation:s2,rect:c2,rotation:l2,user:u2,value:d2}=e2,f2=s2||new F(t2);f2.setIfNotExists("Type",N.get("Annot")),f2.setIfNotExists("Subtype",N.get("FreeText")),f2.set(s2?"M":"CreationDate",`D:${getModificationDate(a2)}`),s2&&f2.delete("RC"),f2.setIfArray("Rect",c2);let p2=`/Helv ${o2} Tf ${getPdfColor(i2,!0)}`;if(f2.set("DA",p2),f2.setIfDefined("Contents",stringToAsciiOrUTF16BE(d2)),f2.setIfNotExists("F",4),f2.setIfNotExists("Border",[0,0,0]),f2.setIfNumber("Rotate",l2),f2.setIfDefined("T",stringToAsciiOrUTF16BE(u2)),n2||r2){let e3=new F(t2);f2.set("AP",e3),e3.set("N",n2||r2)}return f2}static async createNewAppearanceStream(e2,t2,n2){let{baseFontRef:r2,evaluator:o2,task:s2}=n2,{color:c2,fontSize:l2,rect:u2,rotation:d2,value:f2}=e2;if(!c2)return null;let p2=new F(t2),m2=new F(t2);if(r2)m2.set("Helv",r2);else{let e3=new F(t2);e3.setIfName("BaseFont","Helvetica"),e3.setIfName("Type","Font"),e3.setIfName("Subtype","Type1"),e3.setIfName("Encoding","WinAnsiEncoding"),m2.set("Helv",e3)}p2.set("Font",m2);let h2=await ro._getFontData(o2,s2,{fontName:"Helv",fontSize:l2},p2),[g2,_2,v2,y2]=u2,b2=v2-g2,x2=y2-_2;d2%180!=0&&([b2,x2]=[x2,b2]);let S2=f2.split(`
|
|
26
|
+
`),C2=l2/1e3,w2=-1/0,T2=[];for(let e3 of S2){let t3=h2.encodeString(e3);if(t3.length>1)return null;e3=t3.join(""),T2.push(e3);let n3=0,r3=h2.charsToGlyphs(e3);for(let e4 of r3)n3+=e4.width*C2;w2=Math.max(w2,n3)}let E2=w2>b2?b2/w2:1,D2=1,O2=i*l2,k2=(i-a)*l2,j2=O2*S2.length;j2>x2&&(D2=x2/j2);let ee2=l2*Math.min(E2,D2),M2,te2,ne2;switch(d2){case 0:ne2=[1,0,0,1],te2=[u2[0],u2[1],b2,x2],M2=[u2[0],u2[3]-k2];break;case 90:ne2=[0,1,-1,0],te2=[u2[1],-u2[2],b2,x2],M2=[u2[1],-u2[0]-k2];break;case 180:ne2=[-1,0,0,-1],te2=[-u2[2],-u2[3],b2,x2],M2=[-u2[2],-u2[1]-k2];break;case 270:ne2=[0,-1,1,0],te2=[-u2[3],u2[0],b2,x2],M2=[-u2[3],u2[2]-k2];break}let re2=["q",`${ne2.join(" ")} 0 0 cm`,`${te2.join(" ")} re W n`,"BT",`${getPdfColor(c2,!0)}`,`0 Tc /Helv ${numberToString(ee2)} Tf`];re2.push(`${M2.join(" ")} Td (${escapeString(T2[0])}) Tj`);let ie2=numberToString(O2);for(let e3=1,t3=T2.length;e3<t3;e3++){let t4=T2[e3];re2.push(`0 -${ie2} Td (${escapeString(t4)}) Tj`)}re2.push("ET","Q");let N2=re2.join(`
|
|
27
|
+
`),ae2=new F(t2);return ae2.set("FormType",1),ae2.setIfName("Subtype","Form"),ae2.setIfName("Type","XObject"),ae2.set("BBox",u2),ae2.set("Resources",p2),ae2.set("Matrix",[1,0,0,1,-u2[0],-u2[1]]),new StringStream(N2,ae2)}},LineAnnotation=class extends MarkupAnnotation{constructor(e2){super(e2);let{dict:t2,xref:n2}=e2;this.data.hasOwnCanvas=this.data.noRotate,this.data.noHTML=!1;let r2=lookupRect(t2.getArray("L"),[0,0,0,0]);if(this.data.lineCoordinates=Util$1.normalizeRect(r2),this.setLineEndings(t2.getArray("LE")),this.data.lineEndings=this.lineEndings,!this.appearance){let e3=getPdfColorArray(this.color,[0,0,0]),i2=t2.get("CA"),a2=getPdfColorArray(getRgbColor(t2.getArray("IC"),null)),o2=a2?i2:null,s2=this.borderStyle.width||1,c2=2*s2,l2=[this.data.lineCoordinates[0]-c2,this.data.lineCoordinates[1]-c2,this.data.lineCoordinates[2]+c2,this.data.lineCoordinates[3]+c2];Util$1.intersect(this.rectangle,l2)||(this.rectangle=l2),this._setDefaultAppearance({xref:n2,extra:`${s2} w`,strokeColor:e3,fillColor:a2,strokeAlpha:i2,fillAlpha:o2,pointsCallback:(e4,t3)=>(e4.push(`${r2[0]} ${r2[1]} m`,`${r2[2]} ${r2[3]} l`,"S"),[t3[0]-s2,t3[7]-s2,t3[2]+s2,t3[3]+s2])})}}},SquareAnnotation=class extends MarkupAnnotation{constructor(e2){super(e2);let{dict:t2,xref:n2}=e2;if(this.data.hasOwnCanvas=this.data.noRotate,this.data.noHTML=!1,!this.appearance){let e3=getPdfColorArray(this.color,[0,0,0]),r2=t2.get("CA"),i2=getPdfColorArray(getRgbColor(t2.getArray("IC"),null)),a2=i2?r2:null;if(this.borderStyle.width===0&&!i2)return;this._setDefaultAppearance({xref:n2,extra:`${this.borderStyle.width} w`,strokeColor:e3,fillColor:i2,strokeAlpha:r2,fillAlpha:a2,pointsCallback:(e4,t3)=>{let n3=t3[4]+this.borderStyle.width/2,r3=t3[5]+this.borderStyle.width/2,a3=t3[6]-t3[4]-this.borderStyle.width,o2=t3[3]-t3[7]-this.borderStyle.width;return e4.push(`${n3} ${r3} ${a3} ${o2} re`),i2?e4.push("B"):e4.push("S"),[t3[0],t3[7],t3[2],t3[3]]}})}}},CircleAnnotation=class extends MarkupAnnotation{constructor(e2){super(e2);let{dict:t2,xref:n2}=e2;if(!this.appearance){let e3=getPdfColorArray(this.color,[0,0,0]),r2=t2.get("CA"),i2=getPdfColorArray(getRgbColor(t2.getArray("IC"),null)),a2=i2?r2:null;if(this.borderStyle.width===0&&!i2)return;let o2=4/3*Math.tan(Math.PI/8);this._setDefaultAppearance({xref:n2,extra:`${this.borderStyle.width} w`,strokeColor:e3,fillColor:i2,strokeAlpha:r2,fillAlpha:a2,pointsCallback:(e4,t3)=>{let n3=t3[0]+this.borderStyle.width/2,r3=t3[1]-this.borderStyle.width/2,a3=t3[6]-this.borderStyle.width/2,s2=t3[7]+this.borderStyle.width/2,c2=n3+(a3-n3)/2,l2=r3+(s2-r3)/2,u2=(a3-n3)/2*o2,d2=(s2-r3)/2*o2;return e4.push(`${c2} ${s2} m`,`${c2+u2} ${s2} ${a3} ${l2+d2} ${a3} ${l2} c`,`${a3} ${l2-d2} ${c2+u2} ${r3} ${c2} ${r3} c`,`${c2-u2} ${r3} ${n3} ${l2-d2} ${n3} ${l2} c`,`${n3} ${l2+d2} ${c2-u2} ${s2} ${c2} ${s2} c`,"h"),i2?e4.push("B"):e4.push("S"),[t3[0],t3[7],t3[2],t3[3]]}})}}},PolylineAnnotation=class extends MarkupAnnotation{constructor(e2){super(e2);let{dict:n2,xref:r2}=e2;this.data.hasOwnCanvas=this.data.noRotate,this.data.noHTML=!1,this.data.vertices=null,this instanceof PolygonAnnotation||(this.setLineEndings(n2.getArray("LE")),this.data.lineEndings=this.lineEndings);let i2=n2.getArray("Vertices");if(!isNumberArray(i2,null))return;let a2=this.data.vertices=Float32Array.from(i2);if(!this.appearance){let e3=getPdfColorArray(this.color,[0,0,0]),i3=n2.get("CA"),o2=getRgbColor(n2.getArray("IC"),null);o2&&=getPdfColorArray(o2);let s2;s2=o2?this.color?o2.every((t2,n3)=>t2===e3[n3])?"f":"B":"f":"S";let c2=this.borderStyle.width||1,l2=2*c2,u2=t.slice();for(let e4=0,t2=a2.length;e4<t2;e4+=2)Util$1.rectBoundingBox(a2[e4]-l2,a2[e4+1]-l2,a2[e4]+l2,a2[e4+1]+l2,u2);Util$1.intersect(this.rectangle,u2)||(this.rectangle=u2),this._setDefaultAppearance({xref:r2,extra:`${c2} w`,strokeColor:e3,strokeAlpha:i3,fillColor:o2,fillAlpha:o2?i3:null,pointsCallback:(e4,t2)=>{for(let t3=0,n3=a2.length;t3<n3;t3+=2)e4.push(`${a2[t3]} ${a2[t3+1]} ${t3===0?"m":"l"}`);return e4.push(s2),[t2[0],t2[7],t2[2],t2[3]]}})}}},PolygonAnnotation=class extends PolylineAnnotation{},CaretAnnotation=class extends MarkupAnnotation{},InkAnnotation=class extends MarkupAnnotation{constructor(e2){super(e2),this.data.hasOwnCanvas=this.data.noRotate,this.data.noHTML=!1;let{dict:n2,xref:r2}=e2;this.data.inkLists=[],this.data.isEditable=!this.data.noHTML,this.data.noHTML=!1,this.data.opacity=n2.get("CA")||1;let i2=n2.getArray("InkList");if(Array.isArray(i2)){for(let e3=0,t2=i2.length;e3<t2;++e3){if(!Array.isArray(i2[e3]))continue;let t3=new Float32Array(i2[e3].length);this.data.inkLists.push(t3);for(let n3=0,a2=i2[e3].length;n3<a2;n3+=2){let a3=r2.fetchIfRef(i2[e3][n3]),o2=r2.fetchIfRef(i2[e3][n3+1]);typeof a3=="number"&&typeof o2=="number"&&(t3[n3]=a3,t3[n3+1]=o2)}}if(!this.appearance){let e3=getPdfColorArray(this.color,[0,0,0]),i3=n2.get("CA"),a2=this.borderStyle.width||1,o2=2*a2,s2=t.slice();for(let e4 of this.data.inkLists)for(let t2=0,n3=e4.length;t2<n3;t2+=2)Util$1.rectBoundingBox(e4[t2]-o2,e4[t2+1]-o2,e4[t2]+o2,e4[t2+1]+o2,s2);Util$1.intersect(this.rectangle,s2)||(this.rectangle=s2),this._setDefaultAppearance({xref:r2,extra:`${a2} w`,strokeColor:e3,strokeAlpha:i3,pointsCallback:(e4,t2)=>{for(let t3 of this.data.inkLists){for(let n3=0,r3=t3.length;n3<r3;n3+=2)e4.push(`${t3[n3]} ${t3[n3+1]} ${n3===0?"m":"l"}`);e4.push("S")}return[t2[0],t2[7],t2[2],t2[3]]}})}}}static createNewDict(e2,t2,{apRef:n2,ap:r2}){let{oldAnnotation:i2,color:a2,date:o2,opacity:s2,paths:c2,outlines:l2,rect:u2,rotation:d2,thickness:f2,user:p2}=e2,m2=i2||new F(t2);if(m2.setIfNotExists("Type",N.get("Annot")),m2.setIfNotExists("Subtype",N.get("Ink")),m2.set(i2?"M":"CreationDate",`D:${getModificationDate(o2)}`),m2.setIfArray("Rect",u2),m2.setIfArray("InkList",l2?.points||c2?.points),m2.setIfNotExists("F",4),m2.setIfNumber("Rotate",d2),m2.setIfDefined("T",stringToAsciiOrUTF16BE(p2)),l2&&m2.setIfName("IT","InkHighlight"),f2>0){let e3=new F(t2);m2.set("BS",e3),e3.set("W",f2)}if(m2.setIfArray("C",getPdfColorArray(a2)),m2.setIfNumber("CA",s2),r2||n2){let e3=new F(t2);m2.set("AP",e3),e3.set("N",n2||r2)}return m2}static async createNewAppearanceStream(e2,t2,n2){if(e2.outlines)return this.createNewAppearanceStreamForHighlight(e2,t2,n2);let{color:r2,rect:i2,paths:a2,thickness:o2,opacity:s2}=e2;if(!r2)return null;let c2=[`${o2} w 1 J 1 j`,`${getPdfColor(r2,!1)}`];s2!==1&&c2.push("/R0 gs");for(let e3 of a2.lines){c2.push(`${numberToString(e3[4])} ${numberToString(e3[5])} m`);for(let t3=6,n3=e3.length;t3<n3;t3+=6)if(isNaN(e3[t3]))c2.push(`${numberToString(e3[t3+4])} ${numberToString(e3[t3+5])} l`);else{let[n4,r3,i3,a3,o3,s3]=e3.slice(t3,t3+6);c2.push([n4,r3,i3,a3,o3,s3].map(numberToString).join(" ")+" c")}e3.length===6&&c2.push(`${numberToString(e3[4])} ${numberToString(e3[5])} l`)}c2.push("S");let l2=c2.join(`
|
|
28
|
+
`),u2=new F(t2);if(u2.set("FormType",1),u2.setIfName("Subtype","Form"),u2.setIfName("Type","XObject"),u2.set("BBox",i2),u2.set("Length",l2.length),s2!==1){let e3=new F(t2),n3=new F(t2),r3=new F(t2);r3.set("CA",s2),r3.setIfName("Type","ExtGState"),n3.set("R0",r3),e3.set("ExtGState",n3),u2.set("Resources",e3)}return new StringStream(l2,u2)}static async createNewAppearanceStreamForHighlight(e2,t2,n2){let{color:r2,rect:i2,outlines:{outline:a2},opacity:o2}=e2;if(!r2)return null;let s2=[`${getPdfColor(r2,!0)}`,"/R0 gs"];s2.push(`${numberToString(a2[4])} ${numberToString(a2[5])} m`);for(let e3=6,t3=a2.length;e3<t3;e3+=6)if(isNaN(a2[e3]))s2.push(`${numberToString(a2[e3+4])} ${numberToString(a2[e3+5])} l`);else{let[t4,n3,r3,i3,o3,c3]=a2.slice(e3,e3+6);s2.push([t4,n3,r3,i3,o3,c3].map(numberToString).join(" ")+" c")}s2.push("h f");let c2=s2.join(`
|
|
29
|
+
`),l2=new F(t2);l2.set("FormType",1),l2.setIfName("Subtype","Form"),l2.setIfName("Type","XObject"),l2.set("BBox",i2),l2.set("Length",c2.length);let u2=new F(t2),d2=new F(t2);u2.set("ExtGState",d2),l2.set("Resources",u2);let f2=new F(t2);return d2.set("R0",f2),f2.setIfName("BM","Multiply"),o2!==1&&(f2.set("ca",o2),f2.setIfName("Type","ExtGState")),new StringStream(c2,l2)}},HighlightAnnotation=class extends MarkupAnnotation{constructor(e2){super(e2);let{dict:t2,xref:n2}=e2;if(this.data.isEditable=!this.data.noHTML,this.data.noHTML=!1,this.data.opacity=t2.get("CA")||1,this.data.quadPoints=getQuadPoints(t2,null)){if(!this.appearance){let e3=getPdfColorArray(this.color,[1,1,0]),r2=t2.get("CA");this._setDefaultAppearance({xref:n2,fillColor:e3,blendMode:"Multiply",fillAlpha:r2,pointsCallback:(e4,t3)=>(e4.push(`${t3[0]} ${t3[1]} m`,`${t3[2]} ${t3[3]} l`,`${t3[6]} ${t3[7]} l`,`${t3[4]} ${t3[5]} l`,"f"),[t3[0],t3[7],t3[2],t3[3]])})}}else this.data.popupRef=null}get overlaysTextContent(){return!0}static createNewDict(e2,t2,{apRef:n2,ap:r2}){let{color:i2,date:a2,oldAnnotation:o2,opacity:s2,rect:c2,rotation:l2,user:u2,quadPoints:d2}=e2,f2=o2||new F(t2);if(f2.setIfNotExists("Type",N.get("Annot")),f2.setIfNotExists("Subtype",N.get("Highlight")),f2.set(o2?"M":"CreationDate",`D:${getModificationDate(a2)}`),f2.setIfArray("Rect",c2),f2.setIfNotExists("F",4),f2.setIfNotExists("Border",[0,0,0]),f2.setIfNumber("Rotate",l2),f2.setIfArray("QuadPoints",d2),f2.setIfArray("C",getPdfColorArray(i2)),f2.setIfNumber("CA",s2),f2.setIfDefined("T",stringToAsciiOrUTF16BE(u2)),n2||r2){let e3=new F(t2);f2.set("AP",e3),e3.set("N",n2||r2)}return f2}static async createNewAppearanceStream(e2,t2,n2){let{color:r2,rect:i2,outlines:a2,opacity:o2}=e2;if(!r2)return null;let s2=[`${getPdfColor(r2,!0)}`,"/R0 gs"],c2=[];for(let e3 of a2){c2.length=0,c2.push(`${numberToString(e3[0])} ${numberToString(e3[1])} m`);for(let t3=2,n3=e3.length;t3<n3;t3+=2)c2.push(`${numberToString(e3[t3])} ${numberToString(e3[t3+1])} l`);c2.push("h"),s2.push(c2.join(`
|
|
30
|
+
`))}s2.push("f*");let l2=s2.join(`
|
|
31
|
+
`),u2=new F(t2);u2.set("FormType",1),u2.setIfName("Subtype","Form"),u2.setIfName("Type","XObject"),u2.set("BBox",i2),u2.set("Length",l2.length);let d2=new F(t2),f2=new F(t2);d2.set("ExtGState",f2),u2.set("Resources",d2);let p2=new F(t2);return f2.set("R0",p2),p2.setIfName("BM","Multiply"),o2!==1&&(p2.set("ca",o2),p2.setIfName("Type","ExtGState")),new StringStream(l2,u2)}},UnderlineAnnotation=class extends MarkupAnnotation{constructor(e2){super(e2);let{dict:t2,xref:n2}=e2;if(this.data.quadPoints=getQuadPoints(t2,null)){if(!this.appearance){let e3=getPdfColorArray(this.color,[0,0,0]),r2=t2.get("CA");this._setDefaultAppearance({xref:n2,extra:"[] 0 d 0.571 w",strokeColor:e3,strokeAlpha:r2,pointsCallback:(e4,t3)=>(e4.push(`${t3[4]} ${t3[5]+1.3} m`,`${t3[6]} ${t3[7]+1.3} l`,"S"),[t3[0],t3[7],t3[2],t3[3]])})}}else this.data.popupRef=null}get overlaysTextContent(){return!0}},SquigglyAnnotation=class extends MarkupAnnotation{constructor(e2){super(e2);let{dict:t2,xref:n2}=e2;if(this.data.quadPoints=getQuadPoints(t2,null)){if(!this.appearance){let e3=getPdfColorArray(this.color,[0,0,0]),r2=t2.get("CA");this._setDefaultAppearance({xref:n2,extra:"[] 0 d 1 w",strokeColor:e3,strokeAlpha:r2,pointsCallback:(e4,t3)=>{let n3=(t3[1]-t3[5])/6,r3=n3,i2=t3[4],a2=t3[5],o2=t3[6];e4.push(`${i2} ${a2+r3} m`);do i2+=2,r3=r3===0?n3:0,e4.push(`${i2} ${a2+r3} l`);while(i2<o2);return e4.push("S"),[t3[4],a2-2*n3,o2,a2+2*n3]}})}}else this.data.popupRef=null}get overlaysTextContent(){return!0}},StrikeOutAnnotation=class extends MarkupAnnotation{constructor(e2){super(e2);let{dict:t2,xref:n2}=e2;if(this.data.quadPoints=getQuadPoints(t2,null)){if(!this.appearance){let e3=getPdfColorArray(this.color,[0,0,0]),r2=t2.get("CA");this._setDefaultAppearance({xref:n2,extra:"[] 0 d 1 w",strokeColor:e3,strokeAlpha:r2,pointsCallback:(e4,t3)=>(e4.push(`${(t3[0]+t3[4])/2} ${(t3[1]+t3[5])/2} m`,`${(t3[2]+t3[6])/2} ${(t3[3]+t3[7])/2} l`,"S"),[t3[0],t3[7],t3[2],t3[3]])})}}else this.data.popupRef=null}get overlaysTextContent(){return!0}},StampAnnotation=class extends MarkupAnnotation{#e=null;constructor(e2){super(e2),this.data.hasOwnCanvas=this.data.noRotate,this.data.isEditable=!this.data.noHTML,this.data.noHTML=!1}mustBeViewedWhenEditing(e2,t2=null){return e2?(this.data.isEditable&&(this.#e??=this.data.hasOwnCanvas,this.data.hasOwnCanvas=!0),!0):(this.#e!==null&&(this.data.hasOwnCanvas=this.#e,this.#e=null),!t2?.has(this.data.id))}static createNewDict(e2,t2,{apRef:n2,ap:r2}){let{date:i2,oldAnnotation:a2,rect:o2,rotation:s2,user:c2}=e2,l2=a2||new F(t2);if(l2.setIfNotExists("Type",N.get("Annot")),l2.setIfNotExists("Subtype",N.get("Stamp")),l2.set(a2?"M":"CreationDate",`D:${getModificationDate(i2)}`),l2.setIfArray("Rect",o2),l2.setIfNotExists("F",4),l2.setIfNotExists("Border",[0,0,0]),l2.setIfNumber("Rotate",s2),l2.setIfDefined("T",stringToAsciiOrUTF16BE(c2)),n2||r2){let e3=new F(t2);l2.set("AP",e3),e3.set("N",n2||r2)}return l2}static async#t(e2,t2){let{areContours:n2,color:r2,rect:i2,lines:a2,thickness:o2}=e2;if(!r2)return null;let s2=[`${o2} w 1 J 1 j`,`${getPdfColor(r2,n2)}`];for(let e3 of a2){s2.push(`${numberToString(e3[4])} ${numberToString(e3[5])} m`);for(let t3=6,n3=e3.length;t3<n3;t3+=6)if(isNaN(e3[t3]))s2.push(`${numberToString(e3[t3+4])} ${numberToString(e3[t3+5])} l`);else{let[n4,r3,i3,a3,o3,c3]=e3.slice(t3,t3+6);s2.push([n4,r3,i3,a3,o3,c3].map(numberToString).join(" ")+" c")}e3.length===6&&s2.push(`${numberToString(e3[4])} ${numberToString(e3[5])} l`)}s2.push(n2?"F":"S");let c2=s2.join(`
|
|
32
|
+
`),l2=new F(t2);return l2.set("FormType",1),l2.setIfName("Subtype","Form"),l2.setIfName("Type","XObject"),l2.set("BBox",i2),l2.set("Length",c2.length),new StringStream(c2,l2)}static async createNewAppearanceStream(e2,t2,n2){if(e2.oldAnnotation)return null;if(e2.isSignature)return this.#t(e2,t2);let{rotation:r2}=e2,{imageRef:i2,width:a2,height:o2}=n2.image,s2=new F(t2),c2=new F(t2);s2.set("XObject",c2),c2.set("Im0",i2);let l2=`q ${a2} 0 0 ${o2} 0 0 cm /Im0 Do Q`,u2=new F(t2);if(u2.set("FormType",1),u2.setIfName("Subtype","Form"),u2.setIfName("Type","XObject"),u2.set("BBox",[0,0,a2,o2]),u2.set("Resources",s2),r2){let e3=getRotationMatrix(r2,a2,o2);u2.set("Matrix",e3)}return new StringStream(l2,u2)}},FileAttachmentAnnotation=class extends MarkupAnnotation{constructor(e2){super(e2);let{annotationGlobals:t2,dict:n2}=e2,r2=n2.get("FS");this.data.hasOwnCanvas=this.data.noRotate,this.data.noHTML=!1,this.data.fileId=this._getAttachmentId(r2,n2.getRaw("FS"),t2),this.data.file=new Ar(r2).serializable;let i2=n2.get("Name");this.data.name=i2 instanceof N?stringToPDFString(i2.name):"PushPin";let a2=n2.get("ca");this.data.fillAlpha=typeof a2=="number"&&a2>=0&&a2<=1?a2:null}},io=class MediaAnnotation extends Annotation{static#e=/^(?:video|audio)\//;constructor(e2){super(e2),this.data.noHTML=!0}_setMediaData({assetRef:e2,assetDict:t2,filename:n2,contentType:r2},i2){this.data.noHTML=!1,this.data.richMedia={fileId:this._getAttachmentId(t2,e2,i2),filename:n2,contentType:r2}}static _getContentType(e2,t2,n2=null){if(typeof n2=="string"&&MediaAnnotation.#e.test(n2))return n2;let r2=Ar.pickPlatformItem(e2.get("EF")),i2=r2 instanceof BaseStream?r2.dict?.get("Subtype"):null;if(i2 instanceof N&&MediaAnnotation.#e.test(i2.name))return i2.name;switch(t2.split(".").at(-1)?.toLowerCase()){case"mp4":case"m4v":return"video/mp4";case"webm":return"video/webm";case"ogv":return"video/ogg";case"mov":return"video/quicktime";case"mp3":return"audio/mpeg";case"m4a":return"audio/mp4";case"wav":return"audio/wav";case"oga":case"ogg":return"audio/ogg";default:return null}}},ao=class RichMediaAnnotation extends io{constructor(e2){super(e2);let{dict:t2,xref:n2,annotationGlobals:r2}=e2,i2=t2.get("RichMediaContent");if(!(i2 instanceof F))return;let a2=RichMediaAnnotation.#e(i2,n2);if(!a2){warn$1("RichMedia annotation has no playable asset.");return}this._setMediaData(a2,r2)}static#e(e2,t2){let n2=e2.get("Configurations");if(!Array.isArray(n2))return null;for(let e3 of n2){let n3=t2.fetchIfRef(e3);if(!(n3 instanceof F))continue;let r2=n3.get("Instances");if(Array.isArray(r2))for(let e4 of r2){let n4=t2.fetchIfRef(e4);if(!(n4 instanceof F)||isName(n4.get("Subtype"),"Flash"))continue;let r3=n4.getRaw("Asset"),i2=t2.fetchIfRef(r3);if(!(i2 instanceof F)||!Ar.hasEmbeddedFile(i2))continue;let{filename:a2}=new Ar(i2).serializable,o2=io._getContentType(i2,a2);if(o2)return{assetRef:r3 instanceof L?r3:null,assetDict:i2,filename:a2,contentType:o2}}}return null}},oo=class ScreenAnnotation extends io{constructor(e2){super(e2);let{dict:t2,xref:n2,annotationGlobals:r2}=e2,i2=ScreenAnnotation.#e(t2,n2);i2&&this._setMediaData(i2,r2)}static#e(e2,t2){for(let n2 of this.#t(e2)){let e3=this.#r(n2.get("R"),t2,new RefSet);if(e3)return e3}return null}static*#t(e2){let t2=e2.get("A");t2 instanceof F&&isName(t2.get("S"),"Rendition")&&this.#n(t2)&&(yield t2);let n2=e2.get("AA");if(n2 instanceof F)for(let[,e3]of n2)e3 instanceof F&&isName(e3.get("S"),"Rendition")&&this.#n(e3)&&(yield e3)}static#n(e2){let t2=e2.get("OP");return t2===void 0||t2===_.PLAY_OR_RESUME||t2===_.PLAY}static#r(e2,t2,n2){if(!(e2 instanceof F))return null;let r2=e2.get("S");if(isName(r2,"MR"))return this.#i(e2.get("C"),t2);if(isName(r2,"SR")){let r3=e2.get("R");if(Array.isArray(r3))for(let e3 of r3){if(e3 instanceof L){if(n2.has(e3))continue;n2.put(e3)}let r4=this.#r(t2.fetchIfRef(e3),t2,n2);if(r4)return r4}}return null}static#i(e2,t2){if(!(e2 instanceof F)||!isName(e2.get("S"),"MCD"))return null;let n2=e2.getRaw("D"),r2=t2.fetchIfRef(n2),i2=e2.get("CT"),a2=typeof i2=="string"?i2:null,o2,s2;if(r2 instanceof BaseStream){o2=r2.dict;let t3=e2.get("N");if(s2=typeof t3=="string"?stringToPDFString(t3):"",!a2){let e3=r2.dict.get("Subtype");e3 instanceof N&&(a2=e3.name)}}else if(r2 instanceof F){if(!Ar.hasEmbeddedFile(r2))return null;o2=r2,{filename:s2}=new Ar(r2).serializable}else return null;let c2=io._getContentType(o2,s2,a2);return c2?{assetRef:n2 instanceof L?n2:null,assetDict:o2,filename:s2,contentType:c2}:null}},so={get r(){return shadow$1(this,"r",new Uint8Array([7,12,17,22,7,12,17,22,7,12,17,22,7,12,17,22,5,9,14,20,5,9,14,20,5,9,14,20,5,9,14,20,4,11,16,23,4,11,16,23,4,11,16,23,4,11,16,23,6,10,15,21,6,10,15,21,6,10,15,21,6,10,15,21]))},get k(){return shadow$1(this,"k",new Int32Array([-680876936,-389564586,606105819,-1044525330,-176418897,1200080426,-1473231341,-45705983,1770035416,-1958414417,-42063,-1990404162,1804603682,-40341101,-1502002290,1236535329,-165796510,-1069501632,643717713,-373897302,-701558691,38016083,-660478335,-405537848,568446438,-1019803690,-187363961,1163531501,-1444681467,-51403784,1735328473,-1926607734,-378558,-2022574463,1839030562,-35309556,-1530992060,1272893353,-155497632,-1094730640,681279174,-358537222,-722521979,76029189,-640364487,-421815835,530742520,-995338651,-198630844,1126891415,-1416354905,-57434055,1700485571,-1894986606,-1051523,-2054922799,1873313359,-30611744,-1560198380,1309151649,-145523070,-1120210379,718787259,-343485551]))}};function calculateMD5(e2,t2,n2){let r2=1732584193,i2=-271733879,a2=-1732584194,o2=271733878,s2=n2+72&-64,c2=new Uint8Array(s2),l2,u2;for(l2=0;l2<n2;++l2)c2[l2]=e2[t2++];c2[l2++]=128;let d2=s2-8;l2<d2&&(l2=d2),c2[l2++]=n2<<3&255,c2[l2++]=n2>>5&255,c2[l2++]=n2>>13&255,c2[l2++]=n2>>21&255,c2[l2++]=n2>>>29&255,l2+=3;let f2=new Int32Array(16),{k:p2,r:m2}=so;for(l2=0;l2<s2;){for(u2=0;u2<16;++u2,l2+=4)f2[u2]=c2[l2]|c2[l2+1]<<8|c2[l2+2]<<16|c2[l2+3]<<24;let e3=r2,t3=i2,n3=a2,s3=o2,d3,h2;for(u2=0;u2<64;++u2){u2<16?(d3=t3&n3|~t3&s3,h2=u2):u2<32?(d3=s3&t3|~s3&n3,h2=5*u2+1&15):u2<48?(d3=t3^n3^s3,h2=3*u2+5&15):(d3=n3^(t3|~s3),h2=7*u2&15);let r3=s3,i3=e3+d3+p2[u2]+f2[h2]|0,a3=m2[u2];s3=n3,n3=t3,t3=t3+(i3<<a3|i3>>>32-a3)|0,e3=r3}r2=r2+e3|0,i2=i2+t3|0,a2=a2+n3|0,o2=o2+s3|0}return new Uint8Array([r2&255,r2>>8&255,r2>>16&255,r2>>>24&255,i2&255,i2>>8&255,i2>>16&255,i2>>>24&255,a2&255,a2>>8&255,a2>>16&255,a2>>>24&255,o2&255,o2>>8&255,o2>>16&255,o2>>>24&255])}function decodeString(e2){try{return stringToUTF8String$1(e2)}catch(t2){return warn$1(`UTF-8 decoding failed: "${t2}".`),e2}}var DatasetXMLParser=class extends SimpleXMLParser{node=null;onEndElement(e2){let t2=super.onEndElement(e2);if(t2&&e2==="xfa:datasets")throw this.node=t2,Error("Aborting DatasetXMLParser.")}},DatasetReader=class{constructor(e2){if(e2.datasets)this.node=new SimpleXMLParser({hasAttributes:!0}).parseFromString(e2.datasets).documentElement;else{let t2=new DatasetXMLParser({hasAttributes:!0});try{t2.parseFromString(e2["xdp:xdp"])}catch{}this.node=t2.node}}getValue(e2){if(!this.node||!e2)return"";let t2=this.node.searchNode(parseXFAPath(e2),0);return t2?t2.firstChild?.nodeName==="value"?t2.children.map(e3=>decodeString(e3.textContent)):decodeString(t2.textContent):""}},SingleIntersector=class{#e;minX=1/0;minY=1/0;maxX=-1/0;maxY=-1/0;#t=null;#n=[];#r=[];#i=-1;#a=!1;constructor(e2){this.#e=e2;let t2=e2.data.quadPoints;if(!t2){[this.minX,this.minY,this.maxX,this.maxY]=e2.data.rect;return}for(let e3=0,n2=t2.length;e3<n2;e3+=8)this.minX=Math.min(this.minX,t2[e3]),this.maxX=Math.max(this.maxX,t2[e3+2]),this.minY=Math.min(this.minY,t2[e3+5]),this.maxY=Math.max(this.maxY,t2[e3+1]);t2.length>8&&(this.#t=t2)}#o(e2,t2){if(this.minX>=e2||this.maxX<=e2||this.minY>=t2||this.maxY<=t2)return!1;let n2=this.#t;if(!n2)return!0;if(this.#i>=0){let r2=this.#i;if(!(n2[r2]>=e2||n2[r2+2]<=e2||n2[r2+5]>=t2||n2[r2+1]<=t2))return!0;this.#i=-1}for(let r2=0,i2=n2.length;r2<i2;r2+=8)if(!(n2[r2]>=e2||n2[r2+2]<=e2||n2[r2+5]>=t2||n2[r2+1]<=t2))return this.#i=r2,!0;return!1}addGlyph(e2,t2,n2){return this.#o(e2,t2)?(this.#r.length>0&&(this.#n.push(this.#r.join("")),this.#r.length=0),this.#n.push(n2),this.#a=!0,!0):(this.disableExtraChars(),!1)}addExtraChar(e2){this.#a&&this.#r.push(e2)}disableExtraChars(){this.#a&&(this.#a=!1,this.#r.length=0)}setText(){this.#e.data.overlaidText=this.#n.join("")}},Intersector=class{#e=[];#t=[];#n;#r;#i;#a;#o;#s;constructor(e2){let t2=1/0,n2=1/0,r2=-1/0,i2=-1/0,a2=this.#e;for(let o2 of e2){if(!o2.data.quadPoints&&!o2.data.rect)continue;let e3=new SingleIntersector(o2);a2.push(e3),t2=Math.min(t2,e3.minX),n2=Math.min(n2,e3.minY),r2=Math.max(r2,e3.maxX),i2=Math.max(i2,e3.maxY)}this.#n=t2,this.#i=n2,this.#r=r2,this.#a=i2,this.#o=63/(r2-t2),this.#s=63/(i2-n2);for(let e3 of a2){let t3=this.#c(e3.minX,e3.minY),n3=this.#c(e3.maxX,e3.maxY),r3=(n3-t3)%64,i3=Math.floor((n3-t3)/64);for(let n4=t3;n4<=t3+i3*64;n4+=64)for(let t4=0;t4<=r3;t4++)(this.#t[n4+t4]??=[]).push(e3)}}#c(e2,t2){return Math.floor((e2-this.#n)*this.#o)+Math.floor((t2-this.#i)*this.#s)*64}addGlyph(e2,t2,n2,r2){let i2=e2[4]+t2/2,a2=e2[5]+n2/2;if(i2<this.#n||a2<this.#i||i2>this.#r||a2>this.#a)return;let o2=this.#t[this.#c(i2,a2)];if(o2)for(let e3 of o2)e3.addGlyph(i2,a2,r2)}addExtraChar(e2){for(let t2 of this.#e)t2.addExtraChar(e2)}setText(){for(let e2 of this.#e)e2.setText()}},Word64=class{constructor(e2,t2){this.high=e2|0,this.low=t2|0}and(e2){this.high&=e2.high,this.low&=e2.low}xor(e2){this.high^=e2.high,this.low^=e2.low}shiftRight(e2){e2>=32?(this.low=this.high>>>e2-32|0,this.high=0):(this.low=this.low>>>e2|this.high<<32-e2,this.high=this.high>>>e2|0)}rotateRight(e2){let t2,n2;e2&32?(n2=this.low,t2=this.high):(t2=this.low,n2=this.high),e2&=31,this.low=t2>>>e2|n2<<32-e2,this.high=n2>>>e2|t2<<32-e2}not(){this.high=~this.high,this.low=~this.low}add(e2){let t2=(this.low>>>0)+(e2.low>>>0),n2=(this.high>>>0)+(e2.high>>>0);t2>4294967295&&(n2+=1),this.low=t2|0,this.high=n2|0}copyTo(e2,t2){e2[t2]=this.high>>>24&255,e2[t2+1]=this.high>>16&255,e2[t2+2]=this.high>>8&255,e2[t2+3]=this.high&255,e2[t2+4]=this.low>>>24&255,e2[t2+5]=this.low>>16&255,e2[t2+6]=this.low>>8&255,e2[t2+7]=this.low&255}assign(e2){this.high=e2.high,this.low=e2.low}},co={get k(){return shadow$1(this,"k",[new Word64(1116352408,3609767458),new Word64(1899447441,602891725),new Word64(3049323471,3964484399),new Word64(3921009573,2173295548),new Word64(961987163,4081628472),new Word64(1508970993,3053834265),new Word64(2453635748,2937671579),new Word64(2870763221,3664609560),new Word64(3624381080,2734883394),new Word64(310598401,1164996542),new Word64(607225278,1323610764),new Word64(1426881987,3590304994),new Word64(1925078388,4068182383),new Word64(2162078206,991336113),new Word64(2614888103,633803317),new Word64(3248222580,3479774868),new Word64(3835390401,2666613458),new Word64(4022224774,944711139),new Word64(264347078,2341262773),new Word64(604807628,2007800933),new Word64(770255983,1495990901),new Word64(1249150122,1856431235),new Word64(1555081692,3175218132),new Word64(1996064986,2198950837),new Word64(2554220882,3999719339),new Word64(2821834349,766784016),new Word64(2952996808,2566594879),new Word64(3210313671,3203337956),new Word64(3336571891,1034457026),new Word64(3584528711,2466948901),new Word64(113926993,3758326383),new Word64(338241895,168717936),new Word64(666307205,1188179964),new Word64(773529912,1546045734),new Word64(1294757372,1522805485),new Word64(1396182291,2643833823),new Word64(1695183700,2343527390),new Word64(1986661051,1014477480),new Word64(2177026350,1206759142),new Word64(2456956037,344077627),new Word64(2730485921,1290863460),new Word64(2820302411,3158454273),new Word64(3259730800,3505952657),new Word64(3345764771,106217008),new Word64(3516065817,3606008344),new Word64(3600352804,1432725776),new Word64(4094571909,1467031594),new Word64(275423344,851169720),new Word64(430227734,3100823752),new Word64(506948616,1363258195),new Word64(659060556,3750685593),new Word64(883997877,3785050280),new Word64(958139571,3318307427),new Word64(1322822218,3812723403),new Word64(1537002063,2003034995),new Word64(1747873779,3602036899),new Word64(1955562222,1575990012),new Word64(2024104815,1125592928),new Word64(2227730452,2716904306),new Word64(2361852424,442776044),new Word64(2428436474,593698344),new Word64(2756734187,3733110249),new Word64(3204031479,2999351573),new Word64(3329325298,3815920427),new Word64(3391569614,3928383900),new Word64(3515267271,566280711),new Word64(3940187606,3454069534),new Word64(4118630271,4000239992),new Word64(116418474,1914138554),new Word64(174292421,2731055270),new Word64(289380356,3203993006),new Word64(460393269,320620315),new Word64(685471733,587496836),new Word64(852142971,1086792851),new Word64(1017036298,365543100),new Word64(1126000580,2618297676),new Word64(1288033470,3409855158),new Word64(1501505948,4234509866),new Word64(1607167915,987167468),new Word64(1816402316,1246189591)])}};function ch(e2,t2,n2,r2,i2){e2.assign(t2),e2.and(n2),i2.assign(t2),i2.not(),i2.and(r2),e2.xor(i2)}function maj(e2,t2,n2,r2,i2){e2.assign(t2),e2.and(n2),i2.assign(t2),i2.and(r2),e2.xor(i2),i2.assign(n2),i2.and(r2),e2.xor(i2)}function sigma(e2,t2,n2){e2.assign(t2),e2.rotateRight(28),n2.assign(t2),n2.rotateRight(34),e2.xor(n2),n2.assign(t2),n2.rotateRight(39),e2.xor(n2)}function sigmaPrime(e2,t2,n2){e2.assign(t2),e2.rotateRight(14),n2.assign(t2),n2.rotateRight(18),e2.xor(n2),n2.assign(t2),n2.rotateRight(41),e2.xor(n2)}function littleSigma(e2,t2,n2){e2.assign(t2),e2.rotateRight(1),n2.assign(t2),n2.rotateRight(8),e2.xor(n2),n2.assign(t2),n2.shiftRight(7),e2.xor(n2)}function littleSigmaPrime(e2,t2,n2){e2.assign(t2),e2.rotateRight(19),n2.assign(t2),n2.rotateRight(61),e2.xor(n2),n2.assign(t2),n2.shiftRight(6),e2.xor(n2)}function calculateSHA512(e2,t2,n2,r2=!1){let i2,a2,o2,s2,c2,l2,u2,d2;r2?(i2=new Word64(3418070365,3238371032),a2=new Word64(1654270250,914150663),o2=new Word64(2438529370,812702999),s2=new Word64(355462360,4144912697),c2=new Word64(1731405415,4290775857),l2=new Word64(2394180231,1750603025),u2=new Word64(3675008525,1694076839),d2=new Word64(1203062813,3204075428)):(i2=new Word64(1779033703,4089235720),a2=new Word64(3144134277,2227873595),o2=new Word64(1013904242,4271175723),s2=new Word64(2773480762,1595750129),c2=new Word64(1359893119,2917565137),l2=new Word64(2600822924,725511199),u2=new Word64(528734635,4215389547),d2=new Word64(1541459225,327033209));let f2=Math.ceil((n2+17)/128)*128,p2=new Uint8Array(f2),m2,h2;for(m2=0;m2<n2;++m2)p2[m2]=e2[t2++];p2[m2++]=128;let g2=f2-16;m2<g2&&(m2=g2),m2+=11,p2[m2++]=n2>>>29&255,p2[m2++]=n2>>21&255,p2[m2++]=n2>>13&255,p2[m2++]=n2>>5&255,p2[m2++]=n2<<3&255;let _2=Array(80);for(m2=0;m2<80;m2++)_2[m2]=new Word64(0,0);let{k:v2}=co,y2=new Word64(0,0),b2=new Word64(0,0),x2=new Word64(0,0),S2=new Word64(0,0),C2=new Word64(0,0),w2=new Word64(0,0),T2=new Word64(0,0),E2=new Word64(0,0),D2=new Word64(0,0),O2=new Word64(0,0),k2=new Word64(0,0),j2=new Word64(0,0),ee2;for(m2=0;m2<f2;){for(h2=0;h2<16;++h2)_2[h2].high=p2[m2]<<24|p2[m2+1]<<16|p2[m2+2]<<8|p2[m2+3],_2[h2].low=p2[m2+4]<<24|p2[m2+5]<<16|p2[m2+6]<<8|p2[m2+7],m2+=8;for(h2=16;h2<80;++h2)ee2=_2[h2],littleSigmaPrime(ee2,_2[h2-2],j2),ee2.add(_2[h2-7]),littleSigma(k2,_2[h2-15],j2),ee2.add(k2),ee2.add(_2[h2-16]);for(y2.assign(i2),b2.assign(a2),x2.assign(o2),S2.assign(s2),C2.assign(c2),w2.assign(l2),T2.assign(u2),E2.assign(d2),h2=0;h2<80;++h2)D2.assign(E2),sigmaPrime(k2,C2,j2),D2.add(k2),ch(k2,C2,w2,T2,j2),D2.add(k2),D2.add(v2[h2]),D2.add(_2[h2]),sigma(O2,y2,j2),maj(k2,y2,b2,x2,j2),O2.add(k2),ee2=E2,E2=T2,T2=w2,w2=C2,S2.add(D2),C2=S2,S2=x2,x2=b2,b2=y2,ee2.assign(D2),ee2.add(O2),y2=ee2;i2.add(y2),a2.add(b2),o2.add(x2),s2.add(S2),c2.add(C2),l2.add(w2),u2.add(T2),d2.add(E2)}let M2;return r2?(M2=new Uint8Array(48),i2.copyTo(M2,0),a2.copyTo(M2,8),o2.copyTo(M2,16),s2.copyTo(M2,24),c2.copyTo(M2,32),l2.copyTo(M2,40)):(M2=new Uint8Array(64),i2.copyTo(M2,0),a2.copyTo(M2,8),o2.copyTo(M2,16),s2.copyTo(M2,24),c2.copyTo(M2,32),l2.copyTo(M2,40),u2.copyTo(M2,48),d2.copyTo(M2,56)),M2}function calculateSHA384(e2,t2,n2){return calculateSHA512(e2,t2,n2,!0)}var lo={get k(){return shadow$1(this,"k",[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298])}};function rotr(e2,t2){return e2>>>t2|e2<<32-t2}function calculate_sha256_ch(e2,t2,n2){return e2&t2^~e2&n2}function calculate_sha256_maj(e2,t2,n2){return e2&t2^e2&n2^t2&n2}function calculate_sha256_sigma(e2){return rotr(e2,2)^rotr(e2,13)^rotr(e2,22)}function calculate_sha256_sigmaPrime(e2){return rotr(e2,6)^rotr(e2,11)^rotr(e2,25)}function calculate_sha256_littleSigma(e2){return rotr(e2,7)^rotr(e2,18)^e2>>>3}function calculate_sha256_littleSigmaPrime(e2){return rotr(e2,17)^rotr(e2,19)^e2>>>10}function calculateSHA256(e2,t2,n2){let r2=1779033703,i2=3144134277,a2=1013904242,o2=2773480762,s2=1359893119,c2=2600822924,l2=528734635,u2=1541459225,d2=Math.ceil((n2+9)/64)*64,f2=new Uint8Array(d2),p2,m2;for(p2=0;p2<n2;++p2)f2[p2]=e2[t2++];f2[p2++]=128;let h2=d2-8;p2<h2&&(p2=h2),p2+=3,f2[p2++]=n2>>>29&255,f2[p2++]=n2>>21&255,f2[p2++]=n2>>13&255,f2[p2++]=n2>>5&255,f2[p2++]=n2<<3&255;let g2=new Uint32Array(64),{k:_2}=lo;for(p2=0;p2<d2;){for(m2=0;m2<16;++m2)g2[m2]=f2[p2]<<24|f2[p2+1]<<16|f2[p2+2]<<8|f2[p2+3],p2+=4;for(m2=16;m2<64;++m2)g2[m2]=calculate_sha256_littleSigmaPrime(g2[m2-2])+g2[m2-7]+calculate_sha256_littleSigma(g2[m2-15])+g2[m2-16]|0;let e3=r2,t3=i2,n3=a2,d3=o2,h3=s2,v2=c2,y2=l2,b2=u2,x2,S2;for(m2=0;m2<64;++m2)x2=b2+calculate_sha256_sigmaPrime(h3)+calculate_sha256_ch(h3,v2,y2)+_2[m2]+g2[m2],S2=calculate_sha256_sigma(e3)+calculate_sha256_maj(e3,t3,n3),b2=y2,y2=v2,v2=h3,h3=d3+x2|0,d3=n3,n3=t3,t3=e3,e3=x2+S2|0;r2=r2+e3|0,i2=i2+t3|0,a2=a2+n3|0,o2=o2+d3|0,s2=s2+h3|0,c2=c2+v2|0,l2=l2+y2|0,u2=u2+b2|0}return new Uint8Array([r2>>24&255,r2>>16&255,r2>>8&255,r2&255,i2>>24&255,i2>>16&255,i2>>8&255,i2&255,a2>>24&255,a2>>16&255,a2>>8&255,a2&255,o2>>24&255,o2>>16&255,o2>>8&255,o2&255,s2>>24&255,s2>>16&255,s2>>8&255,s2&255,c2>>24&255,c2>>16&255,c2>>8&255,c2&255,l2>>24&255,l2>>16&255,l2>>8&255,l2&255,u2>>24&255,u2>>16&255,u2>>8&255,u2&255])}var DecryptStream=class extends DecodeStream{#e=null;constructor(e2,t2,n2){super(t2),this.stream=e2,this.dict=e2.dict,this.decrypt=n2}readBlock(){let e2=this.#e??this.stream.getBytes(512);if(!e2?.length){this.eof=!0;return}this.#e=this.stream.getBytes(512);let t2=this.#e?.length>0,n2=this.decrypt;e2=n2(e2,!t2);let r2=this.bufferLength,i2=r2+e2.length;this.ensureBuffer(i2).set(e2,r2),this.bufferLength=i2}getOriginalStream(){return this}},ARCFourCipher=class{a=0;b=0;constructor(e2){let t2=new Uint8Array(256),n2=e2.length;for(let e3=0;e3<256;++e3)t2[e3]=e3;for(let r2=0,i2=0;r2<256;++r2){let a2=t2[r2];i2=i2+a2+e2[r2%n2]&255,t2[r2]=t2[i2],t2[i2]=a2}this.s=t2}encryptBlock(e2){let t2=this.a,n2=this.b,r2=this.s,i2=e2.length,a2=new Uint8Array(i2);for(let o2=0;o2<i2;++o2){t2=t2+1&255;let i3=r2[t2];n2=n2+i3&255;let s2=r2[n2];r2[t2]=s2,r2[n2]=i3,a2[o2]=e2[o2]^r2[i3+s2&255]}return this.a=t2,this.b=n2,a2}decryptBlock(e2){return this.encryptBlock(e2)}encrypt(e2){return this.encryptBlock(e2)}},NullCipher=class{decryptBlock(e2){return e2}encrypt(e2){return e2}},AESBaseCipher=class{_s=new Uint8Array([99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22]);_inv_s=new Uint8Array([82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125]);_mix=new Uint32Array([0,235474187,470948374,303765277,941896748,908933415,607530554,708780849,1883793496,2118214995,1817866830,1649639237,1215061108,1181045119,1417561698,1517767529,3767586992,4003061179,4236429990,4069246893,3635733660,3602770327,3299278474,3400528769,2430122216,2664543715,2362090238,2193862645,2835123396,2801107407,3035535058,3135740889,3678124923,3576870512,3341394285,3374361702,3810496343,3977675356,4279080257,4043610186,2876494627,2776292904,3076639029,3110650942,2472011535,2640243204,2403728665,2169303058,1001089995,899835584,666464733,699432150,59727847,226906860,530400753,294930682,1273168787,1172967064,1475418501,1509430414,1942435775,2110667444,1876241833,1641816226,2910219766,2743034109,2976151520,3211623147,2505202138,2606453969,2302690252,2269728455,3711829422,3543599269,3240894392,3475313331,3843699074,3943906441,4178062228,4144047775,1306967366,1139781709,1374988112,1610459739,1975683434,2076935265,1775276924,1742315127,1034867998,866637845,566021896,800440835,92987698,193195065,429456164,395441711,1984812685,2017778566,1784663195,1683407248,1315562145,1080094634,1383856311,1551037884,101039829,135050206,437757123,337553864,1042385657,807962610,573804783,742039012,2531067453,2564033334,2328828971,2227573024,2935566865,2700099354,3001755655,3168937228,3868552805,3902563182,4203181171,4102977912,3736164937,3501741890,3265478751,3433712980,1106041591,1340463100,1576976609,1408749034,2043211483,2009195472,1708848333,1809054150,832877231,1068351396,766945465,599762354,159417987,126454664,361929877,463180190,2709260871,2943682380,3178106961,3009879386,2572697195,2538681184,2236228733,2336434550,3509871135,3745345300,3441850377,3274667266,3910161971,3877198648,4110568485,4211818798,2597806476,2497604743,2261089178,2295101073,2733856160,2902087851,3202437046,2968011453,3936291284,3835036895,4136440770,4169408201,3535486456,3702665459,3467192302,3231722213,2051518780,1951317047,1716890410,1750902305,1113818384,1282050075,1584504582,1350078989,168810852,67556463,371049330,404016761,841739592,1008918595,775550814,540080725,3969562369,3801332234,4035489047,4269907996,3569255213,3669462566,3366754619,3332740144,2631065433,2463879762,2160117071,2395588676,2767645557,2868897406,3102011747,3069049960,202008497,33778362,270040487,504459436,875451293,975658646,675039627,641025152,2084704233,1917518562,1615861247,1851332852,1147550661,1248802510,1484005843,1451044056,933301370,967311729,733156972,632953703,260388950,25965917,328671808,496906059,1206477858,1239443753,1543208500,1441952575,2144161806,1908694277,1675577880,1842759443,3610369226,3644379585,3408119516,3307916247,4011190502,3776767469,4077384432,4245618683,2809771154,2842737049,3144396420,3043140495,2673705150,2438237621,2203032232,2370213795]);_mixCol=new Uint8Array(256).map((e2,t2)=>t2<128?t2<<1:t2<<1^27);constructor(){this.buffer=new Uint8Array(16),this.bufferPosition=0}_expandKey(e2){unreachable$1("Cannot call `_expandKey` on the base class")}_decrypt(e2,t2){let n2,r2,i2,a2=new Uint8Array(16);a2.set(e2);for(let e3=0,n3=this._keySize;e3<16;++e3,++n3)a2[e3]^=t2[n3];for(let e3=this._cyclesOfRepetition-1;e3>=1;--e3){n2=a2[13],a2[13]=a2[9],a2[9]=a2[5],a2[5]=a2[1],a2[1]=n2,n2=a2[14],r2=a2[10],a2[14]=a2[6],a2[10]=a2[2],a2[6]=n2,a2[2]=r2,n2=a2[15],r2=a2[11],i2=a2[7],a2[15]=a2[3],a2[11]=n2,a2[7]=r2,a2[3]=i2;for(let e4=0;e4<16;++e4)a2[e4]=this._inv_s[a2[e4]];for(let n3=0,r3=e3*16;n3<16;++n3,++r3)a2[n3]^=t2[r3];for(let e4=0;e4<16;e4+=4){let t3=this._mix[a2[e4]],r3=this._mix[a2[e4+1]],i3=this._mix[a2[e4+2]],o2=this._mix[a2[e4+3]];n2=t3^r3>>>8^r3<<24^i3>>>16^i3<<16^o2>>>24^o2<<8,a2[e4]=n2>>>24&255,a2[e4+1]=n2>>16&255,a2[e4+2]=n2>>8&255,a2[e4+3]=n2&255}}n2=a2[13],a2[13]=a2[9],a2[9]=a2[5],a2[5]=a2[1],a2[1]=n2,n2=a2[14],r2=a2[10],a2[14]=a2[6],a2[10]=a2[2],a2[6]=n2,a2[2]=r2,n2=a2[15],r2=a2[11],i2=a2[7],a2[15]=a2[3],a2[11]=n2,a2[7]=r2,a2[3]=i2;for(let e3=0;e3<16;++e3)a2[e3]=this._inv_s[a2[e3]],a2[e3]^=t2[e3];return a2}_encrypt(e2,t2){let n2=this._s,r2,i2,a2,o2=new Uint8Array(16);o2.set(e2);for(let e3=0;e3<16;++e3)o2[e3]^=t2[e3];for(let e3=1;e3<this._cyclesOfRepetition;e3++){for(let e4=0;e4<16;++e4)o2[e4]=n2[o2[e4]];a2=o2[1],o2[1]=o2[5],o2[5]=o2[9],o2[9]=o2[13],o2[13]=a2,a2=o2[2],i2=o2[6],o2[2]=o2[10],o2[6]=o2[14],o2[10]=a2,o2[14]=i2,a2=o2[3],i2=o2[7],r2=o2[11],o2[3]=o2[15],o2[7]=a2,o2[11]=i2,o2[15]=r2;for(let e4=0;e4<16;e4+=4){let t3=o2[e4],n3=o2[e4+1],i3=o2[e4+2],a3=o2[e4+3];r2=t3^n3^i3^a3,o2[e4]^=r2^this._mixCol[t3^n3],o2[e4+1]^=r2^this._mixCol[n3^i3],o2[e4+2]^=r2^this._mixCol[i3^a3],o2[e4+3]^=r2^this._mixCol[a3^t3]}for(let n3=0,r3=e3*16;n3<16;++n3,++r3)o2[n3]^=t2[r3]}for(let e3=0;e3<16;++e3)o2[e3]=n2[o2[e3]];a2=o2[1],o2[1]=o2[5],o2[5]=o2[9],o2[9]=o2[13],o2[13]=a2,a2=o2[2],i2=o2[6],o2[2]=o2[10],o2[6]=o2[14],o2[10]=a2,o2[14]=i2,a2=o2[3],i2=o2[7],r2=o2[11],o2[3]=o2[15],o2[7]=a2,o2[11]=i2,o2[15]=r2;for(let e3=0,n3=this._keySize;e3<16;++e3,++n3)o2[e3]^=t2[n3];return o2}_decryptBlock2(e2,t2){let n2=e2.length,r2=this.buffer,i2=this.bufferPosition,a2=[],o2=this.iv;for(let t3=0;t3<n2;++t3){if(r2[i2]=e2[t3],++i2,i2<16)continue;let n3=this._decrypt(r2,this._key);for(let e3=0;e3<16;++e3)n3[e3]^=o2[e3];o2=r2,a2.push(n3),r2=new Uint8Array(16),i2=0}if(this.buffer=r2,this.bufferLength=i2,this.iv=o2,a2.length===0)return new Uint8Array;let s2=16*a2.length;if(t2){let e3=a2.at(-1),t3=e3[15];if(t3<=16){for(let n3=15,r3=16-t3;n3>=r3;--n3)if(e3[n3]!==t3){t3=0;break}s2-=t3,a2[a2.length-1]=e3.subarray(0,16-t3)}}let c2=new Uint8Array(s2);for(let e3=0,t3=0,n3=a2.length;e3<n3;++e3,t3+=16)c2.set(a2[e3],t3);return c2}decryptBlock(e2,t2,n2=null){let r2=e2.length,i2=this.buffer,a2=this.bufferPosition;if(n2)this.iv=n2;else{for(let t3=0;a2<16&&t3<r2;++t3,++a2)i2[a2]=e2[t3];if(a2<16)return this.bufferLength=a2,new Uint8Array;this.iv=i2,e2=e2.subarray(16)}return this.buffer=new Uint8Array(16),this.bufferLength=0,this.decryptBlock=this._decryptBlock2,this.decryptBlock(e2,t2)}encrypt(e2,t2){let n2=e2.length,r2=this.buffer,i2=this.bufferPosition,a2=[];t2||=new Uint8Array(16);for(let o3=0;o3<n2;++o3){if(r2[i2]=e2[o3],++i2,i2<16)continue;for(let e3=0;e3<16;++e3)r2[e3]^=t2[e3];let n3=this._encrypt(r2,this._key);t2=n3,a2.push(n3),r2=new Uint8Array(16),i2=0}if(this.buffer=r2,this.bufferLength=i2,this.iv=t2,a2.length===0)return new Uint8Array;let o2=16*a2.length,s2=new Uint8Array(o2);for(let e3=0,t3=0,n3=a2.length;e3<n3;++e3,t3+=16)s2.set(a2[e3],t3);return s2}},AES128Cipher=class extends AESBaseCipher{_rcon=new Uint8Array([141,1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145,57,114,228,211,189,97,194,159,37,74,148,51,102,204,131,29,58,116,232,203,141,1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145,57,114,228,211,189,97,194,159,37,74,148,51,102,204,131,29,58,116,232,203,141,1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145,57,114,228,211,189,97,194,159,37,74,148,51,102,204,131,29,58,116,232,203,141,1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145,57,114,228,211,189,97,194,159,37,74,148,51,102,204,131,29,58,116,232,203,141,1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145,57,114,228,211,189,97,194,159,37,74,148,51,102,204,131,29,58,116,232,203,141]);constructor(e2){super(),this._cyclesOfRepetition=10,this._keySize=160,this._key=this._expandKey(e2)}_expandKey(e2){let t2=this._s,n2=this._rcon,r2=new Uint8Array(176);r2.set(e2);for(let e3=16,i2=1;e3<176;++i2){let a2=r2[e3-3],o2=r2[e3-2],s2=r2[e3-1],c2=r2[e3-4];a2=t2[a2],o2=t2[o2],s2=t2[s2],c2=t2[c2],a2^=n2[i2];for(let t3=0;t3<4;++t3)r2[e3]=a2^=r2[e3-16],e3++,r2[e3]=o2^=r2[e3-16],e3++,r2[e3]=s2^=r2[e3-16],e3++,r2[e3]=c2^=r2[e3-16],e3++}return r2}},AES256Cipher=class extends AESBaseCipher{constructor(e2){super(),this._cyclesOfRepetition=14,this._keySize=224,this._key=this._expandKey(e2)}_expandKey(e2){let t2=this._s,n2=new Uint8Array(240);n2.set(e2);let r2=1,i2,a2,o2,s2;for(let e3=32,c2=1;e3<240;++c2){e3%32==16?(i2=t2[i2],a2=t2[a2],o2=t2[o2],s2=t2[s2]):e3%32==0&&(i2=n2[e3-3],a2=n2[e3-2],o2=n2[e3-1],s2=n2[e3-4],i2=t2[i2],a2=t2[a2],o2=t2[o2],s2=t2[s2],i2^=r2,(r2<<=1)>=256&&(r2=(r2^27)&255));for(let t3=0;t3<4;++t3)n2[e3]=i2^=n2[e3-32],e3++,n2[e3]=a2^=n2[e3-32],e3++,n2[e3]=o2^=n2[e3-32],e3++,n2[e3]=s2^=n2[e3-32],e3++}return n2}},PDFBase=class{_hash(e2,t2,n2){unreachable$1("Abstract method `_hash` called")}checkOwnerPassword(e2,t2,n2,r2){let i2=new Uint8Array(e2.length+56);return i2.set(e2,0),i2.set(t2,e2.length),i2.set(n2,e2.length+t2.length),isArrayEqual(this._hash(e2,i2,n2),r2)}checkUserPassword(e2,t2,n2){let r2=new Uint8Array(e2.length+8);return r2.set(e2,0),r2.set(t2,e2.length),isArrayEqual(this._hash(e2,r2,[]),n2)}getOwnerKey(e2,t2,n2,r2){let i2=new Uint8Array(e2.length+56);return i2.set(e2,0),i2.set(t2,e2.length),i2.set(n2,e2.length+t2.length),new AES256Cipher(this._hash(e2,i2,n2)).decryptBlock(r2,!1,new Uint8Array(16))}getUserKey(e2,t2,n2){let r2=new Uint8Array(e2.length+8);return r2.set(e2,0),r2.set(t2,e2.length),new AES256Cipher(this._hash(e2,r2,[])).decryptBlock(n2,!1,new Uint8Array(16))}},PDF17=class extends PDFBase{_hash(e2,t2,n2){return calculateSHA256(t2,0,t2.length)}},PDF20=class extends PDFBase{_hash(e2,t2,n2){let r2=calculateSHA256(t2,0,t2.length).subarray(0,32),i2=[0],a2=0;for(;a2<64||i2.at(-1)>a2-32;){let t3=e2.length+r2.length+n2.length,o2=new Uint8Array(t3),s2=0;o2.set(e2,s2),s2+=e2.length,o2.set(r2,s2),s2+=r2.length,o2.set(n2,s2);let c2=new Uint8Array(t3*64);for(let e3=0,n3=0;e3<64;e3++,n3+=t3)c2.set(o2,n3);i2=new AES128Cipher(r2.subarray(0,16)).encrypt(c2,r2.subarray(16,32));let l2=Math.sumPrecise(i2.slice(0,16))%3;l2===0?r2=calculateSHA256(i2,0,i2.length):l2===1?r2=calculateSHA384(i2,0,i2.length):l2===2&&(r2=calculateSHA512(i2,0,i2.length)),a2++}return r2.subarray(0,32)}},CipherTransform=class{#e=new Map;embeddedFilterName=null;constructor(e2,t2=null,n2=null){this.resolveCipher=e2,this.streamFilterName=n2,this.stringFilterName=t2}#t(e2=null){let t2=e2 instanceof N?e2.name:"__default__";return this.#e.getOrInsertComputed(t2,()=>this.resolveCipher(e2))}createStream(e2,t2,n2=null){let r2=this.embeddedFilterName&&isDict(e2.dict,"EmbeddedFile")?this.embeddedFilterName:this.streamFilterName,i2=new(this.#t(n2||r2));return new DecryptStream(e2,t2,function(e3,t3){return i2.decryptBlock(e3,t3)})}decryptString(e2){let t2=new(this.#t(this.stringFilterName)),n2=stringToBytes$1(e2);return n2=t2.decryptBlock(n2,!0),bytesToString$1(n2)}encryptString(e2){let t2=new(this.#t(this.stringFilterName));if(t2 instanceof AESBaseCipher){let n3=16-e2.length%16;e2+=String.fromCharCode(n3).repeat(n3);let r2=new Uint8Array(16);crypto.getRandomValues(r2);let i2=stringToBytes$1(e2);i2=t2.encrypt(i2,r2);let a2=new Uint8Array(16+i2.length);return a2.set(r2),a2.set(i2,16),bytesToString$1(a2)}let n2=stringToBytes$1(e2);return n2=t2.encrypt(n2),bytesToString$1(n2)}},uo=class CipherTransformFactory{#e;static get _defaultPasswordBytes(){return shadow$1(this,"_defaultPasswordBytes",new Uint8Array([40,191,78,94,78,117,138,65,100,0,78,86,255,250,1,8,46,46,0,182,208,104,62,128,47,12,169,254,100,83,105,122]))}#t(e2,t2,n2,r2,i2,a2,o2,s2,c2,l2,u2,d2){if(t2){let e3=Math.min(127,t2.length);t2=t2.subarray(0,e3)}else t2=[];let f2=e2===6?new PDF20:new PDF17;return f2.checkUserPassword(t2,s2,o2)?f2.getUserKey(t2,c2,u2):t2.length&&f2.checkOwnerPassword(t2,r2,a2,n2)?f2.getOwnerKey(t2,i2,a2,l2):null}#n(e2,t2,n2,r2,i2,a2,o2,s2){let c2=40+n2.length+e2.length,l2=new Uint8Array(c2),u2=0,d2,f2;if(t2)for(f2=Math.min(32,t2.length);u2<f2;++u2)l2[u2]=t2[u2];for(d2=0;u2<32;)l2[u2++]=CipherTransformFactory._defaultPasswordBytes[d2++];l2.set(n2,u2),u2+=n2.length,l2[u2++]=i2&255,l2[u2++]=i2>>8&255,l2[u2++]=i2>>16&255,l2[u2++]=i2>>>24&255,l2.set(e2,u2),u2+=e2.length,a2>=4&&!s2&&(l2.fill(255,u2,u2+4),u2+=4);let p2=calculateMD5(l2,0,u2),m2=o2>>3;if(a2>=3)for(d2=0;d2<50;++d2)p2=calculateMD5(p2,0,m2);let h2=p2.subarray(0,m2),g2,_2;if(a2>=3){u2=0,l2.set(CipherTransformFactory._defaultPasswordBytes,u2),u2+=32,l2.set(e2,u2),u2+=e2.length,g2=new ARCFourCipher(h2),_2=g2.encryptBlock(calculateMD5(l2,0,u2)),f2=h2.length;let t3=new Uint8Array(f2);for(d2=1;d2<=19;++d2){for(let e3=0;e3<f2;++e3)t3[e3]=h2[e3]^d2;g2=new ARCFourCipher(t3),_2=g2.encryptBlock(_2)}}else g2=new ARCFourCipher(h2),_2=g2.encryptBlock(CipherTransformFactory._defaultPasswordBytes);return _2.every((e3,t3)=>r2[t3]===e3)?h2:null}#r(e2,t2,n2,r2){let i2=new Uint8Array(32),a2=0,o2=Math.min(32,e2.length);for(;a2<o2;++a2)i2[a2]=e2[a2];let s2=0;for(;a2<32;)i2[a2++]=CipherTransformFactory._defaultPasswordBytes[s2++];let c2=calculateMD5(i2,0,a2),l2=r2>>3;if(n2>=3)for(s2=0;s2<50;++s2)c2=calculateMD5(c2,0,c2.length);let u2,d2;if(n2>=3){d2=t2;let e3=new Uint8Array(l2);for(s2=19;s2>=0;s2--){for(let t3=0;t3<l2;++t3)e3[t3]=c2[t3]^s2;u2=new ARCFourCipher(e3),d2=u2.encryptBlock(d2)}}else u2=new ARCFourCipher(c2.subarray(0,l2)),d2=u2.encryptBlock(t2);return d2}#i(e2,t2,n2,r2=!1){let i2=n2.length,a2=new Uint8Array(i2+9);a2.set(n2);let o2=i2;return a2[o2++]=e2&255,a2[o2++]=e2>>8&255,a2[o2++]=e2>>16&255,a2[o2++]=t2&255,a2[o2++]=t2>>8&255,r2&&(a2[o2++]=115,a2[o2++]=65,a2[o2++]=108,a2[o2++]=84),calculateMD5(a2,0,o2).subarray(0,Math.min(i2+5,16))}constructor(e2,t2,n2){let r2=e2.get("Filter");if(!isName(r2,"Standard"))throw new FormatError$1("unknown encryption method");this.filterName=r2.name,this.dict=e2,this.#e=t2;let i2=e2.get("V");if(!Number.isInteger(i2)||i2!==1&&i2!==2&&i2!==4&&i2!==5)throw new FormatError$1("unsupported encryption algorithm");this.algorithm=i2;let a2=e2.get("Length");if(!a2)if(i2<=3)a2=40;else{let t3=e2.get("CF"),n3=e2.get("StmF");t3 instanceof F&&n3 instanceof N&&(t3.suppressEncryption=!0,a2=t3.get(n3.name)?.get("Length")||128,a2<40&&(a2<<=3))}if(!Number.isInteger(a2)||a2<40||a2%8!=0)throw new FormatError$1("invalid key length");let o2=null,s2=N.get("Identity"),c2=N.get("Identity"),l2=s2;i2>=4&&(o2=e2.get("CF"),o2 instanceof F&&(o2.suppressEncryption=!0),s2=e2.get("StmF")||N.get("Identity"),c2=e2.get("StrF")||N.get("Identity"),l2=e2.get("EFF")||s2),this.cf=o2,this.stmf=s2,this.strf=c2,this.eff=l2;let u2=stringToBytes$1(e2.get("O")),d2=stringToBytes$1(e2.get("U")),f2=u2.subarray(0,32),p2=d2.subarray(0,32),m2=e2.get("P"),h2=e2.get("R"),g2=(i2===4||i2===5)&&e2.get("EncryptMetadata")!==!1;this.encryptMetadata=g2;let _2=stringToBytes$1(t2),v2;if(n2){if(h2===6)try{n2=utf8StringToString(n2)}catch{warn$1("CipherTransformFactory: Unable to convert UTF8 encoded password.")}v2=stringToBytes$1(n2)}let y2;if(i2!==5)y2=this.#n(_2,v2,f2,p2,m2,h2,a2,g2);else{let t3=u2.subarray(32,40),n3=u2.subarray(40,48),r3=d2.subarray(0,48),i3=d2.subarray(32,40),a3=d2.subarray(40,48),o3=stringToBytes$1(e2.get("OE")),s3=stringToBytes$1(e2.get("UE")),c3=stringToBytes$1(e2.get("Perms"));y2=this.#t(h2,v2,f2,t3,n3,r3,p2,i3,a3,o3,s3,c3)}if(!y2){if(!n2){if(this.algorithm>=4&&isName(this.stmf,"Identity")&&isName(this.strf,"Identity")){let e4=this.cf?.get(this.eff.name)?.get("AuthEvent");if(isName(e4,"EFOpen")){this.encryptionKey=null;return}}throw new PasswordException$1("No password given",D.NEED_PASSWORD)}let e3=this.#r(v2,f2,h2,a2);y2=this.#n(_2,e3,f2,p2,m2,h2,a2,g2)}if(!y2)throw new PasswordException$1("Incorrect Password",D.INCORRECT_PASSWORD);i2===4&&y2.length<16?(this.encryptionKey=new Uint8Array(16),this.encryptionKey.set(y2)):this.encryptionKey=y2}setPassword(e2){let t2=new CipherTransformFactory(this.dict,this.#e,e2);this.encryptionKey=t2.encryptionKey}createCipherTransform(e2,t2){if(this.algorithm===4||this.algorithm===5){let resolveCipher2=n3=>{if(!(n3 instanceof N))throw new FormatError$1("Invalid crypt filter name.");let r2=this.cf.get(n3.name)?.get("CFM");if(!r2||r2.name==="None")return NullCipher;if(!this.encryptionKey)throw new PasswordException$1("No password given",D.NEED_PASSWORD);if(this.algorithm===5)return AES256Cipher.bind(null,this.encryptionKey);if(r2.name==="V2")return ARCFourCipher.bind(null,this.#i(e2,t2,this.encryptionKey,!1));if(r2.name==="AESV2")return AES128Cipher.bind(null,this.#i(e2,t2,this.encryptionKey,!0));if(r2.name==="AESV3")return AES256Cipher.bind(null,this.encryptionKey);throw new FormatError$1("Unknown crypto method")},n2=new CipherTransform(resolveCipher2,this.strf,this.stmf);return n2.embeddedFilterName=this.eff,n2}let resolveCipher=()=>ARCFourCipher.bind(null,this.#i(e2,t2,this.encryptionKey,!1));return new CipherTransform(resolveCipher)}},XRef=class{constructor(e2,t2){this.stream=e2,this.pdfManager=t2,this.entries=[],this._xrefStms=new Set,this._cacheMap=new Map,this._pendingRefs=new RefSet,this._newPersistentRefNum=null,this._newTemporaryRefNum=null,this._persistentRefsCache=null}getNewPersistentRef(e2){this._newPersistentRefNum===null&&(this._newPersistentRefNum=this.entries.length||1);let t2=this._newPersistentRefNum++;return this._cacheMap.set(t2,e2),L.get(t2,0)}getNewTemporaryRef(){if(this._newTemporaryRefNum===null&&(this._newTemporaryRefNum=this.entries.length||1,this._newPersistentRefNum)){this._persistentRefsCache=new Map;for(let e2=this._newTemporaryRefNum;e2<this._newPersistentRefNum;e2++)this._persistentRefsCache.set(e2,this._cacheMap.get(e2)),this._cacheMap.delete(e2)}return L.get(this._newTemporaryRefNum++,0)}resetNewTemporaryRef(){if(this._newTemporaryRefNum=null,this._persistentRefsCache)for(let[e2,t2]of this._persistentRefsCache)this._cacheMap.set(e2,t2);this._persistentRefsCache=null}setStartXRef(e2){this.startXRefQueue=[e2]}parse(e2=!1){let t2;e2?(warn$1("Indexing all PDF objects"),t2=this.indexObjects()):t2=this.readXRef(),t2.assignXref(this),this.trailer=t2;let n2;try{n2=t2.get("Encrypt")}catch(e3){if(e3 instanceof MissingDataException)throw e3;warn$1(`XRef.parse - Invalid "Encrypt" reference: "${e3}".`)}if(n2 instanceof F){let e3=t2.get("ID"),r3=e3?.length?e3[0]:"";n2.suppressEncryption=!0,this.encrypt=new uo(n2,r3,this.pdfManager.password)}let r2;try{r2=t2.get("Root")}catch(e3){if(e3 instanceof MissingDataException)throw e3;warn$1(`XRef.parse - Invalid "Root" reference: "${e3}".`)}if(r2 instanceof F)try{if(r2.get("Pages")instanceof F){this.root=r2;return}}catch(e3){if(e3 instanceof MissingDataException)throw e3;warn$1(`XRef.parse - Invalid "Pages" reference: "${e3}".`)}throw e2?new InvalidPDFException$1("Invalid Root reference."):new XRefParseException}processXRefTable(e2){if("tableState"in this||(this.tableState={entryNum:0,streamPos:e2.lexer.stream.pos,parserBuf1:e2.buf1,parserBuf2:e2.buf2}),!isCmd(this.readXRefTable(e2),"trailer"))throw new FormatError$1("Invalid XRef table: could not find trailer dictionary");let t2=e2.getObj();if(!(t2 instanceof F)&&t2.dict&&(t2=t2.dict),!(t2 instanceof F))throw new FormatError$1("Invalid XRef table: could not parse trailer dictionary");return delete this.tableState,t2}readXRefTable(e2){let t2=e2.lexer.stream,n2=this.tableState;t2.pos=n2.streamPos,e2.buf1=n2.parserBuf1,e2.buf2=n2.parserBuf2;let r2;for(;;){if(!("firstEntryNum"in n2)||!("entryCount"in n2)){if(isCmd(r2=e2.getObj(),"trailer"))break;n2.firstEntryNum=r2,n2.entryCount=e2.getObj()}let i2=n2.firstEntryNum,a2=n2.entryCount;if(!Number.isInteger(i2)||!Number.isInteger(a2))throw new FormatError$1("Invalid XRef table: wrong types in subsection header");for(let r3=n2.entryNum;r3<a2;r3++){n2.streamPos=t2.pos,n2.entryNum=r3,n2.parserBuf1=e2.buf1,n2.parserBuf2=e2.buf2;let o2={};o2.offset=e2.getObj(),o2.gen=e2.getObj();let s2=e2.getObj();if(s2 instanceof ae)switch(s2.cmd){case"f":o2.free=!0;break;case"n":o2.uncompressed=!0;break}if(!Number.isInteger(o2.offset)||!Number.isInteger(o2.gen)||!(o2.free||o2.uncompressed))throw new FormatError$1(`Invalid entry in XRef subsection: ${i2}, ${a2}`);r3===0&&o2.free&&i2===1&&(i2=0),this.entries[r3+i2]||(this.entries[r3+i2]=o2)}n2.entryNum=0,n2.streamPos=t2.pos,n2.parserBuf1=e2.buf1,n2.parserBuf2=e2.buf2,delete n2.firstEntryNum,delete n2.entryCount}if(this.entries[0]&&!this.entries[0].free)throw new FormatError$1("Invalid XRef table: unexpected first object");return r2}processXRefStream(e2){if(!("streamState"in this)){let{dict:t2,pos:n2}=e2,r2=t2.get("W"),i2=t2.get("Index")||[0,t2.get("Size")];this.streamState={entryRanges:i2,byteWidths:r2,entryNum:0,streamPos:n2}}return this.readXRefStream(e2),delete this.streamState,e2.dict}readXRefStream(e2){let t2=this.streamState;e2.pos=t2.streamPos;let[n2,r2,i2]=t2.byteWidths,a2=t2.entryRanges;for(;a2.length>0;){let[o2,s2]=a2;if(!Number.isInteger(o2)||!Number.isInteger(s2))throw new FormatError$1(`Invalid XRef range fields: ${o2}, ${s2}`);if(!Number.isInteger(n2)||!Number.isInteger(r2)||!Number.isInteger(i2))throw new FormatError$1(`Invalid XRef entry fields length: ${o2}, ${s2}`);for(let a3=t2.entryNum;a3<s2;++a3){t2.entryNum=a3,t2.streamPos=e2.pos;let s3=0,c2=0,l2=0;for(let t3=0;t3<n2;++t3){let t4=e2.getByte();if(t4===-1)throw new FormatError$1("Invalid XRef byteWidths 'type'.");s3=s3<<8|t4}n2===0&&(s3=1);for(let t3=0;t3<r2;++t3){let t4=e2.getByte();if(t4===-1)throw new FormatError$1("Invalid XRef byteWidths 'offset'.");c2=c2<<8|t4}for(let t3=0;t3<i2;++t3){let t4=e2.getByte();if(t4===-1)throw new FormatError$1("Invalid XRef byteWidths 'generation'.");l2=l2<<8|t4}let u2={};switch(u2.offset=c2,u2.gen=l2,s3){case 0:u2.free=!0;break;case 1:u2.uncompressed=!0;break;case 2:break;default:throw new FormatError$1(`Invalid XRef entry type: ${s3}`)}this.entries[o2+a3]||(this.entries[o2+a3]=u2)}t2.entryNum=0,t2.streamPos=e2.pos,a2.splice(0,2)}}indexObjects(){function readToken(e3,t3){let n3="",r3=e3[t3];for(;r3!==10&&r3!==13&&r3!==60&&!(++t3>=e3.length);)n3+=String.fromCharCode(r3),r3=e3[t3];return n3}function skipUntil(e3,t3,n3){let r3=n3.length,i3=e3.length,a3=0;for(;t3<i3;){let i4=0;for(;i4<r3&&e3[t3+i4]===n3[i4];)++i4;if(i4>=r3)break;t3++,a3++}return a3}let e2=/\b(endobj|\d+\s+\d+\s+obj|xref|trailer\s*<<)\b/g,t2=/\b(startxref|\d+\s+\d+\s+obj)\b/g,n2=/^(\d+)\s+(\d+)\s+obj\b/,r2=new Uint8Array([116,114,97,105,108,101,114]),i2=new Uint8Array([115,116,97,114,116,120,114,101,102]),a2=new Uint8Array([47,88,82,101,102]);this.entries.length=0,this._cacheMap.clear();let o2=this.stream;o2.pos=0;let s2=o2.getBytes(),c2=bytesToString$1(s2),l2=s2.length,u2=o2.start,d2=[],f2=[];for(;u2<l2;){let p3=s2[u2];if(p3===9||p3===10||p3===13||p3===32){++u2;continue}if(p3===37){do{if(++u2,u2>=l2)break;p3=s2[u2]}while(p3!==10&&p3!==13);continue}let m3=readToken(s2,u2),h3;if(m3.startsWith("xref")&&(m3.length===4||/\s/.test(m3[4])))u2+=skipUntil(s2,u2,r2),d2.push(u2),u2+=skipUntil(s2,u2,i2);else if(h3=n2.exec(m3)){let t3=h3[1]|0,n3=h3[2]|0,r3=u2+m3.length,i3,d3=!1;if(!this.entries[t3])d3=!0;else if(this.entries[t3].gen===n3)try{new Parser({lexer:new Lexer(o2.makeSubStream(r3))}).getObj(),d3=!0}catch(e3){e3 instanceof ParserEOFException?warn$1(`indexObjects -- checking object (${m3}): "${e3}".`):d3=!0}d3&&(this.entries[t3]={offset:u2-o2.start,gen:n3,uncompressed:!0}),e2.lastIndex=r3;let p4=e2.exec(c2);p4?(i3=e2.lastIndex+1-u2,p4[1]!=="endobj"&&(warn$1(`indexObjects: Found "${p4[1]}" inside of another "obj", caused by missing "endobj" -- trying to recover.`),i3-=p4[1].length+1)):i3=l2-u2;let g3=s2.subarray(u2,u2+i3),_2=skipUntil(g3,0,a2);_2<i3&&g3[_2+5]<64&&(f2.push(u2-o2.start),this._xrefStms.add(u2-o2.start)),u2+=i3}else if(m3.startsWith("trailer")&&(m3.length===7||/\s/.test(m3[7]))){d2.push(u2);let e3=u2+m3.length,n3;t2.lastIndex=e3;let r3=t2.exec(c2);r3?(n3=t2.lastIndex+1-u2,r3[1]!=="startxref"&&(warn$1(`indexObjects: Found "${r3[1]}" after "trailer", caused by missing "startxref" -- trying to recover.`),n3-=r3[1].length+1)):n3=l2-u2,u2+=n3}else u2+=m3.length+1}for(let e3 of f2)this.startXRefQueue.push(e3),this.readXRef(!0);let p2=[],m2=!1;for(let e3 of d2){o2.pos=e3;let t3=new Parser({lexer:new Lexer(o2),xref:this,allowStreams:!0,recoveryMode:!0});if(!isCmd(t3.getObj(),"trailer"))continue;let n3=t3.getObj();n3 instanceof F&&(p2.push(n3),n3.has("Encrypt")&&(m2=!0))}let h2,g2;for(let e3 of[...p2,"genFallback",...p2]){if(e3==="genFallback"){if(!g2)break;this._generationFallback=!0;continue}let t3=!1;try{let n3=e3.get("Root");if(!(n3 instanceof F))continue;let r3=n3.get("Pages");if(!(r3 instanceof F))continue;let i3=r3.get("Count");Number.isInteger(i3)&&(t3=!0)}catch(e4){g2=e4;continue}if(t3&&(!m2||e3.has("Encrypt"))&&e3.has("ID"))return e3;h2=e3}if(h2)return h2;if(this.topDict)return this.topDict;if(!p2.length)for(let e3 in this.entries){let t3=this.entries[e3];if(!t3)continue;let n3=L.get(parseInt(e3,10),t3.gen),r3;try{r3=this.fetch(n3)}catch{continue}if(r3 instanceof BaseStream&&(r3=r3.dict),r3 instanceof F&&r3.has("Root"))return r3}throw new InvalidPDFException$1("Invalid PDF structure.")}readXRef(e2=!1){let t2=this.stream,n2=new Set;for(;this.startXRefQueue.length;){try{let e3=this.startXRefQueue[0];if(n2.has(e3)){warn$1("readXRef - skipping XRef table since it was already parsed."),this.startXRefQueue.shift();continue}n2.add(e3),t2.pos=e3+t2.start;let r2=new Parser({lexer:new Lexer(t2),xref:this,allowStreams:!0}),i2=r2.getObj(),a2;if(isCmd(i2,"xref"))a2=this.processXRefTable(r2),this.topDict||=a2,i2=a2.get("XRefStm"),Number.isInteger(i2)&&!this._xrefStms.has(i2)&&(this._xrefStms.add(i2),this.startXRefQueue.push(i2));else if(Number.isInteger(i2)){if(!Number.isInteger(r2.getObj())||!isCmd(r2.getObj(),"obj")||!((i2=r2.getObj())instanceof BaseStream))throw new FormatError$1("Invalid XRef stream");if(a2=this.processXRefStream(i2),this.topDict||=a2,!a2)throw new FormatError$1("Failed to read XRef stream")}else throw new FormatError$1("Invalid XRef stream header");i2=a2.get("Prev"),Number.isInteger(i2)?this.startXRefQueue.push(i2):i2 instanceof L&&this.startXRefQueue.push(i2.num)}catch(e3){if(e3 instanceof MissingDataException)throw e3;info$1("(while reading XRef): "+e3)}this.startXRefQueue.shift()}if(this.topDict)return this.topDict;if(!e2)throw new XRefParseException}getEntry(e2){let t2=this.entries[e2];return t2&&!t2.free&&t2.offset?t2:null}fetchIfRef(e2,t2=!1){return e2 instanceof L?this.fetch(e2,t2):e2}fetch(e2,t2=!1){if(!(e2 instanceof L))throw Error("ref object is not a reference");let n2=e2.num,r2=this._cacheMap.get(n2);if(r2!==void 0)return r2 instanceof F&&!r2.objId&&(r2.objId=e2.toString()),r2;let i2=this.getEntry(n2);if(i2===null)return i2;if(this._pendingRefs.has(e2))return this._pendingRefs.remove(e2),warn$1(`Ignoring circular reference: ${e2}.`),M;this._pendingRefs.put(e2);try{i2=i2.uncompressed?this.fetchUncompressed(e2,i2,t2):this.fetchCompressed(e2,i2,t2),this._pendingRefs.remove(e2)}catch(t3){throw this._pendingRefs.remove(e2),t3}return i2 instanceof F?i2.objId=e2.toString():i2 instanceof BaseStream&&(i2.dict.objId=e2.toString()),i2}fetchUncompressed(e2,t2,n2=!1){let r2=e2.gen,i2=e2.num;if(t2.gen!==r2){let a3=`Inconsistent generation in XRef: ${e2}`;if(this._generationFallback&&t2.gen<r2)return warn$1(a3),this.fetchUncompressed(L.get(i2,t2.gen),t2,n2);throw new XRefEntryException(a3)}let a2=new Parser({lexer:new Lexer(this.stream.makeSubStream(t2.offset+this.stream.start)),xref:this,allowStreams:!0}),o2=a2.getObj(),s2=a2.getObj(),c2=a2.getObj();if(o2!==i2||s2!==r2||!(c2 instanceof ae))throw new XRefEntryException(`Bad (uncompressed) XRef entry: ${e2}`);if(c2.cmd!=="obj"){if(c2.cmd.startsWith("obj")&&(i2=parseInt(c2.cmd.substring(3),10),!Number.isNaN(i2)))return i2;throw new XRefEntryException(`Bad (uncompressed) XRef entry: ${e2}`)}return t2=this.encrypt&&!n2?a2.getObj(this.encrypt.createCipherTransform(i2,r2)):a2.getObj(),t2 instanceof BaseStream||this._cacheMap.set(i2,t2),t2}fetchCompressed(e2,t2,n2=!1){let r2=t2.offset,i2=this.fetch(L.get(r2,0));if(!(i2 instanceof BaseStream))throw new FormatError$1("bad ObjStm stream");let a2=i2.dict.get("First"),o2=i2.dict.get("N");if(!Number.isInteger(a2)||!Number.isInteger(o2))throw new FormatError$1("invalid first and n parameters for ObjStm stream");let s2=new Parser({lexer:new Lexer(i2),xref:this,allowStreams:!0}),c2=Array(o2),l2=Array(o2);for(let e3=0;e3<o2;++e3){let t3=s2.getObj();if(!Number.isInteger(t3))throw new FormatError$1(`invalid object number in the ObjStm stream: ${t3}`);let n3=s2.getObj();if(!Number.isInteger(n3))throw new FormatError$1(`invalid object offset in the ObjStm stream: ${n3}`);c2[e3]=t3;let i3=this.getEntry(t3);i3?.offset===r2&&i3.gen!==e3&&(i3.gen=e3),l2[e3]=n3}let u2=(i2.start||0)+a2,d2=Array(o2);for(let e3=0;e3<o2;++e3){let t3=e3<o2-1?l2[e3+1]-l2[e3]:void 0;if(t3<0)throw new FormatError$1("Invalid offset in the ObjStm stream.");s2=new Parser({lexer:new Lexer(i2.makeSubStream(u2+l2[e3],t3,i2.dict)),xref:this,allowStreams:!0});let n3=s2.getObj();if(d2[e3]=n3,n3 instanceof BaseStream)continue;let a3=c2[e3],f2=this.entries[a3];f2&&f2.offset===r2&&f2.gen===e3&&this._cacheMap.set(a3,n3)}if(t2=d2[t2.gen],t2===void 0)throw new XRefEntryException(`Bad (compressed) XRef entry: ${e2}`);return t2}async fetchIfRefAsync(e2,t2){return e2 instanceof L?this.fetchAsync(e2,t2):e2}async fetchAsync(e2,t2){try{return this.fetch(e2,t2)}catch(n2){if(!(n2 instanceof MissingDataException))throw n2;return await this.pdfManager.requestRange(n2.begin,n2.end),this.fetchAsync(e2,t2)}}getCatalogObj(){return this.root}},fo=[0,0,612,792],Page=class{#e=null;constructor({pdfManager:e2,xref:t2,pageIndex:n2,pageDict:r2,ref:i2,globalIdFactory:a2,fontCache:o2,builtInCMapCache:s2,standardFontDataCache:c2,globalColorSpaceCache:l2,globalImageCache:u2,systemFontCache:d2,nonBlendModesSet:f2,xfaFactory:p2}){this.pdfManager=e2,this.pageIndex=n2,this.pageDict=r2,this.xref=t2,this.ref=i2,this.fontCache=o2,this.builtInCMapCache=s2,this.standardFontDataCache=c2,this.globalColorSpaceCache=l2,this.globalImageCache=u2,this.systemFontCache=d2,this.nonBlendModesSet=f2,this.evaluatorOptions=e2.evaluatorOptions,this.xfaFactory=p2;let m2={obj:0};this._localIdFactory=class extends a2{static createObjId(){return`p${n2}_${++m2.obj}`}static getPageObjId(){return`p${i2.toString()}`}}}#t(e2,t2=this.pageIndex){return new Tr({xref:this.xref,handler:e2,pageIndex:t2,idFactory:this._localIdFactory,fontCache:this.fontCache,builtInCMapCache:this.builtInCMapCache,standardFontDataCache:this.standardFontDataCache,globalColorSpaceCache:this.globalColorSpaceCache,globalImageCache:this.globalImageCache,systemFontCache:this.systemFontCache,options:this.evaluatorOptions})}createAnnotationEvaluator(e2){return this.#t(e2)}#n(e2,t2=!1){let n2=getInheritableProperty({dict:this.pageDict,key:e2,getArray:t2,stopWhenFound:!1});return Array.isArray(n2)?n2.length===1||!(n2[0]instanceof F)?n2[0]:F.merge({xref:this.xref,dictArray:n2}):n2}get content(){return this.pageDict.getArray("Contents")}get resources(){let e2=this.#n("Resources");return shadow$1(this,"resources",e2 instanceof F?e2:F.empty)}getBoundingBox(e2){if(this.xfaData)return this.xfaData.bbox;let t2=lookupNormalRect(this.#n(e2,!0),null);if(t2){if(t2[2]-t2[0]>0&&t2[3]-t2[1]>0)return t2;warn$1(`Empty, or invalid, /${e2} entry.`)}return null}get mediaBox(){return shadow$1(this,"mediaBox",this.getBoundingBox("MediaBox")||fo)}get cropBox(){return shadow$1(this,"cropBox",this.getBoundingBox("CropBox")||this.mediaBox)}get userUnit(){let e2=this.pageDict.get("UserUnit");return shadow$1(this,"userUnit",typeof e2=="number"&&e2>0?e2:1)}get view(){let{cropBox:e2,mediaBox:t2}=this;if(e2!==t2&&!isArrayEqual(e2,t2)){let n2=Util$1.intersect(e2,t2);if(n2&&n2[2]-n2[0]>0&&n2[3]-n2[1]>0)return shadow$1(this,"view",n2);warn$1("Empty /CropBox and /MediaBox intersection.")}return shadow$1(this,"view",t2)}get rotate(){let e2=this.#n("Rotate")||0;return e2%90==0?e2>=360?e2%=360:e2<0&&(e2=(e2%360+360)%360):e2=0,shadow$1(this,"rotate",e2)}#r(e2,t2){if(this.evaluatorOptions.ignoreErrors){warn$1(`getContentStream - ignoring sub-stream (${t2}): "${e2}".`);return}throw e2}async getContentStream(){let e2=await this.pdfManager.ensure(this,"content");if(e2 instanceof BaseStream&&!e2.isImageStream){if(e2.isAsync){let t2=await e2.asyncGetBytes();if(t2)return new Ee(t2,0,t2.length,e2.dict)}return e2}if(Array.isArray(e2)){let t2=[];for(let n2=0,r2=e2.length;n2<r2;n2++){let r3=e2[n2];r3 instanceof BaseStream&&r3.isAsync&&t2.push(r3.asyncGetBytes().then(t3=>{t3&&(e2[n2]=new Ee(t3,0,t3.length,r3.dict))}))}return t2.length>0&&await Promise.all(t2),new StreamsSequenceStream(e2,this.#r.bind(this))}return new NullStream}get xfaData(){return shadow$1(this,"xfaData",this.xfaFactory?{bbox:this.xfaFactory.getBoundingBox(this.pageIndex)}:null)}async#i(e2,t2,n2){let r2=[];for(let i2 of e2)if(i2.id){let e3=L.fromString(i2.id);if(!e3){warn$1(`A non-linked annotation cannot be modified: ${i2.id}`);continue}if(i2.deleted){if(t2.put(e3,e3),i2.popupRef){let e4=L.fromString(i2.popupRef);e4&&t2.put(e4,e4)}continue}if(i2.popup?.deleted){let e4=L.fromString(i2.popupRef);e4&&t2.put(e4,e4)}n2?.put(e3),i2.ref=e3,r2.push(this.xref.fetchAsync(e3).then(e4=>{e4 instanceof F&&(i2.oldAnnotation=e4.clone())},()=>{warn$1(`Cannot fetch \`oldAnnotation\` for: ${e3}.`)})),delete i2.id}await Promise.all(r2)}async saveNewAnnotations(e2,t2,n2,r2,i2){if(this.xfaFactory)throw Error("XFA: Cannot save new annotations.");let a2=this.#t(e2),o2=new RefSetCache,s2=new RefSet;await this.#i(n2,o2,s2);let c2=this.pageDict,l2=this.annotations.filter(e3=>!(e3 instanceof L&&o2.has(e3))),u2=await AnnotationFactory.saveNewAnnotations(a2,this.xref,t2,n2,r2,i2);for(let{ref:e3}of u2.annotations)e3 instanceof L&&!s2.has(e3)&&l2.push(e3);let d2=c2.clone();d2.set("Annots",l2),i2.put(this.ref,{data:d2});for(let e3 of o2)i2.put(e3,{data:null})}async save(e2,t2,n2,r2){let i2=this.#t(e2),a2=await this._parsedAnnotations,o2=[];for(let e3 of a2)o2.push(e3.save(i2,t2,n2,r2).catch(function(e4){return warn$1(`save - ignoring annotation data during "${t2.name}" task: "${e4}".`),null}));return Promise.all(o2)}async loadResources(e2){await(this.#e??=this.pdfManager.ensure(this,"resources")),await Lr.load(this.resources,e2,this.xref)}async#a(e2,t2){let n2=e2?.get("Resources");return n2 instanceof F&&n2.size?(await Lr.load(n2,t2,this.xref),F.merge({xref:this.xref,dictArray:[n2,this.resources],mergeSubDicts:!0})):this.resources}async getOperatorList({handler:e2,sink:t2,task:n2,intent:r2,cacheKey:i2,pageIndex:a2=this.pageIndex,annotationStorage:o2=null,modifiedIds:s2=null}){let u2=this.getContentStream(),d2=this.loadResources(de),f2=this.#t(e2,a2),p2=(this.xfaFactory?null:getNewAnnotationsMap(o2))?.get(this.pageIndex),m2=Promise.resolve(null),h2=null;if(p2){let e3=this.pdfManager.ensureDoc("annotationGlobals"),t3,r3=new Set;for(let{bitmapId:e4,bitmap:t4}of p2)e4&&!t4&&!r3.has(e4)&&r3.add(e4);let{isOffscreenCanvasSupported:i3}=this.evaluatorOptions;if(r3.size>0){let e4=p2.slice();for(let[t4,n3]of o2)t4.startsWith(l)&&n3.bitmap&&r3.has(n3.bitmapId)&&e4.push(n3);t3=AnnotationFactory.generateImages(e4,this.xref,i3)}else t3=AnnotationFactory.generateImages(p2,this.xref,i3);h2=new RefSet,m2=Promise.all([e3,this.#i(p2,h2,null)]).then(([e4])=>e4?AnnotationFactory.printNewAnnotations(e4,f2,n2,p2,t3):null)}let g2=Promise.all([u2,d2]).then(async([o3])=>{let s3=await this.#a(o3.dict,de),c2=new Be(r2,t2);return e2.send("StartRenderPage",{transparency:f2.hasBlendModes(s3,this.nonBlendModesSet),pageIndex:a2,cacheKey:i2}),await f2.getOperatorList({stream:o3,task:n2,resources:s3,operatorList:c2}),c2}),[_2,v2,y2]=await Promise.all([g2,this._parsedAnnotations,m2]);if(y2){v2=v2.filter(e3=>!(e3.ref&&h2.has(e3.ref)));for(let e3=0,t3=y2.length;e3<t3;e3++){let n3=y2[e3];if(n3.refToReplace){let r3=v2.findIndex(e4=>e4.ref&&isRefsEqual(e4.ref,n3.refToReplace));r3>=0&&(v2.splice(r3,1,n3),y2.splice(e3--,1),t3--)}}v2=v2.concat(y2)}if(v2.length===0||r2&c.ANNOTATIONS_DISABLE)return _2.flush(!0),{length:_2.totalLength};let b2=!!(r2&c.ANNOTATIONS_FORMS),x2=!!(r2&c.IS_EDITING),S2=!!(r2&c.ANY),C2=!!(r2&c.DISPLAY),w2=!!(r2&c.PRINT),T2=[];for(let e3 of v2)(S2||C2&&e3.mustBeViewed(o2,b2)&&e3.mustBeViewedWhenEditing(x2,s2)||w2&&e3.mustBePrinted(o2))&&T2.push(e3.getOperatorList(f2,n2,r2,o2).catch(function(e4){return warn$1(`getOperatorList - ignoring annotation data during "${n2.name}" task: "${e4}".`),{opList:null,separateForm:!1,separateCanvas:!1}}));let E2=await Promise.all(T2),D2=!1,O2=!1;for(let{opList:e3,separateForm:t3,separateCanvas:n3}of E2)_2.addOpList(e3),D2||=t3,O2||=n3;return _2.flush(!0,{form:D2,canvas:O2}),{length:_2.totalLength}}async extractTextContent({handler:e2,task:t2,includeMarkedContent:n2,disableNormalization:r2,sink:i2,intersector:a2=null}){let o2=this.getContentStream(),s2=this.loadResources(fe),c2=this.pdfManager.ensureCatalog("lang"),[l2,,u2]=await Promise.all([o2,s2,c2]),d2=await this.#a(l2.dict,fe);return this.#t(e2).getTextContent({stream:l2,task:t2,resources:d2,includeMarkedContent:n2,disableNormalization:r2,sink:i2,viewBox:this.view,lang:u2,intersector:a2})}async getStructTree(){let e2=await this.pdfManager.ensureCatalog("structTreeRoot");if(!e2)return null;await this._parsedAnnotations;try{let t2=await this.pdfManager.ensure(this,"_parseStructTree",[e2]);return await this.pdfManager.ensure(t2,"serializable")}catch(e3){return warn$1(`getStructTree: "${e3}".`),null}}_parseStructTree(e2){let t2=new StructTreePage(e2,this.pageDict);return t2.parse(this.ref),t2}async getAnnotationsData(e2,t2,n2){let r2=await this._parsedAnnotations;if(r2.length===0)return r2;let i2=[],a2=[],o2,s2=!!(n2&c.ANY),l2=!!(n2&c.DISPLAY),u2=!!(n2&c.PRINT),d2=[];for(let n3 of r2){let r3=s2||l2&&n3.viewable;(r3||u2&&n3.printable)&&i2.push(n3.data),n3.hasTextContent&&r3?(o2??=this.#t(e2),a2.push(n3.extractTextContent(o2,t2,[-1/0,-1/0,1/0,1/0]).catch(function(e3){warn$1(`getAnnotationsData - ignoring textContent during "${t2.name}" task: "${e3}".`)}))):n3.overlaysTextContent&&r3&&d2.push(n3)}if(d2.length>0){let n3=new Intersector(d2);a2.push(this.extractTextContent({handler:e2,task:t2,includeMarkedContent:!1,disableNormalization:!1,sink:null,intersector:n3}).then(()=>{n3.setText()}))}return await Promise.all(a2),i2}get annotations(){let e2=this.#n("Annots");return shadow$1(this,"annotations",Array.isArray(e2)?e2:[])}get _parsedAnnotations(){let e2=this.pdfManager.ensure(this,"annotations").then(async e3=>{if(e3.length===0)return e3;let[t2,n2]=await Promise.all([this.pdfManager.ensureDoc("annotationGlobals"),this.pdfManager.ensureDoc("fieldObjects")]);if(!t2)return[];let r2=n2?.orphanFields,i2=[];for(let n3 of e3)i2.push(AnnotationFactory.create(this.xref,n3,t2,this._localIdFactory,!1,r2,null,this.ref).catch(function(e4){return warn$1(`_parsedAnnotations: "${e4}".`),null}));let a2=[],o2,s2;for(let e4 of await Promise.all(i2))if(e4){if(e4 instanceof ro){(s2||=[]).push(e4);continue}if(e4 instanceof PopupAnnotation){(o2||=[]).push(e4);continue}a2.push(e4)}return s2&&a2.push(...s2),o2&&a2.push(...o2),a2});return shadow$1(this,"_parsedAnnotations",e2)}get jsActions(){let e2=collectActions(this.xref,this.pageDict,C);return shadow$1(this,"jsActions",e2)}async collectAnnotationsByType(e2,t2,n2,r2,i2){let{pageIndex:a2}=this;if(Object.hasOwn(this,"_parsedAnnotations")){let e3=await this._parsedAnnotations;for(let{data:t3}of e3)(!n2||n2.has(t3.annotationType))&&(t3.pageIndex=a2,r2.push(Promise.resolve(t3)));return}let o2=await this.pdfManager.ensure(this,"annotations"),s2;for(let c2 of o2)r2.push(AnnotationFactory.create(this.xref,c2,i2,this._localIdFactory,!1,null,n2,this.ref).then(async n3=>n3?(n3.data.pageIndex=a2,n3.hasTextContent&&n3.viewable&&(s2??=this.#t(e2),await n3.extractTextContent(s2,t2,[-1/0,-1/0,1/0,1/0])),n3.data):null).catch(function(e3){return warn$1(`collectAnnotationsByType: "${e3}".`),null}))}},po=new Uint8Array([37,80,68,70,45]),mo=new Uint8Array([115,116,97,114,116,120,114,101,102]),ho=new Uint8Array([101,110,100,111,98,106]);function find(e2,t2,n2=1024,r2=!1){let i2=t2.length,a2=e2.peekBytes(n2),o2=a2.length-i2;if(o2<=0)return!1;if(r2){let n3=i2-1,r3=a2.length-1;for(;r3>=n3;){let o3=0;for(;o3<i2&&a2[r3-o3]===t2[n3-o3];)o3++;if(o3>=i2)return e2.pos+=r3-n3,!0;r3--}}else{let n3=0;for(;n3<=o2;){let r3=0;for(;r3<i2&&a2[n3+r3]===t2[r3];)r3++;if(r3>=i2)return e2.pos+=n3,!0;n3++}}return!1}var PDFDocument=class{#e=new Map;#t=null;constructor(e2,t2){if(t2.length<=0)throw new InvalidPDFException$1("The PDF file is empty, i.e. its size is zero bytes.");this.pdfManager=e2,this.stream=t2,this.xref=new XRef(t2,e2);let n2={font:0};this._globalIdFactory=class{static getDocId(){return`g_${e2.docId}`}static createFontId(){return`f${++n2.font}`}static createObjId(){unreachable$1("Abstract method `createObjId` called.")}static getPageObjId(){unreachable$1("Abstract method `getPageObjId` called.")}}}parse(e2){this.xref.parse(e2),this.catalog=new Ir(this.pdfManager,this.xref)}get linearization(){let e2=null;try{e2=Linearization.create(this.stream)}catch(e3){if(e3 instanceof MissingDataException)throw e3;info$1(e3)}return shadow$1(this,"linearization",e2)}get startXRef(){let e2=this.stream,t2=0;if(this.linearization){if(e2.reset(),find(e2,ho)){e2.skip(6);let n2=e2.peekByte();for(;isWhiteSpace(n2);)e2.pos++,n2=e2.peekByte();t2=e2.pos-e2.start}}else{let n2=1024,r2=mo.length,i2=!1,a2=e2.end;for(;!i2&&a2>0;)a2-=n2-r2,a2<0&&(a2=0),e2.pos=a2,i2=find(e2,mo,n2,!0);if(i2){e2.skip(9);let n3;do n3=e2.getByte();while(isWhiteSpace(n3));let r3="";for(;n3>=32&&n3<=57;)r3+=String.fromCharCode(n3),n3=e2.getByte();t2=parseInt(r3,10),isNaN(t2)&&(t2=0)}}return shadow$1(this,"startXRef",t2)}checkHeader(){let e2=this.stream;if(e2.reset(),!find(e2,po))return;e2.moveStart(),e2.skip(po.length);let t2="",n2;for(;(n2=e2.getByte())>32&&t2.length<7;)t2+=String.fromCharCode(n2);ce.test(t2)?this.#t=t2:warn$1(`Invalid PDF header version: ${t2}`)}parseStartXRef(){this.xref.setStartXRef(this.startXRef)}get numPages(){let e2=0;return e2=this.catalog.hasActualNumPages?this.catalog.numPages:this.xfaFactory?this.xfaFactory.getNumPages():this.linearization?this.linearization.numPages:this.catalog.numPages,shadow$1(this,"numPages",e2)}#n(e2,t2=0){return Array.isArray(e2)?e2.every(e3=>{if(e3=this.xref.fetchIfRef(e3),!(e3 instanceof F))return!1;if(e3.has("Kids"))return++t2>10?(warn$1("#hasOnlyDocumentSignatures: maximum recursion depth reached"),!1):this.#n(e3.get("Kids"),t2);let n2=isName(e3.get("FT"),"Sig"),r2=e3.get("Rect"),i2=Array.isArray(r2)&&r2.every(e4=>e4===0);return n2&&i2}):!1}get _xfaStreams(){let{acroForm:e2}=this.catalog;if(!e2)return null;let t2=e2.get("XFA"),n2=new Map(["xdp:xdp","template","datasets","config","connectionSet","localeSet","stylesheet","/xdp:xdp"].map(e3=>[e3,null]));if(t2 instanceof BaseStream&&!t2.isEmpty)return n2.set("xdp:xdp",t2),n2;if(!Array.isArray(t2)||t2.length===0)return null;for(let e3=0,r2=t2.length;e3<r2;e3+=2){let i2;if(i2=e3===0?"xdp:xdp":e3===r2-2?"/xdp:xdp":t2[e3],!n2.has(i2))continue;let a2=this.xref.fetchIfRef(t2[e3+1]);!(a2 instanceof BaseStream)||a2.isEmpty||n2.set(i2,a2)}return n2}get xfaDatasets(){let e2=this._xfaStreams;if(!e2)return shadow$1(this,"xfaDatasets",null);for(let t2 of["datasets","xdp:xdp"]){let n2=e2.get(t2);if(n2)try{let e3=stringToUTF8String$1(n2.getString()),r2={[t2]:e3};return shadow$1(this,"xfaDatasets",new DatasetReader(r2))}catch{warn$1("XFA - Invalid utf-8 string.");break}}return shadow$1(this,"xfaDatasets",null)}get xfaData(){let e2=this._xfaStreams;if(!e2)return null;let t2=Object.create(null);for(let[n2,r2]of e2)if(r2)try{t2[n2]=stringToUTF8String$1(r2.getString())}catch{return warn$1("XFA - Invalid utf-8 string."),null}return t2}get xfaFactory(){let e2;return this.pdfManager.enableXfa&&this.catalog.needsRendering&&this.formInfo.hasXfa&&!this.formInfo.hasAcroForm&&(e2=this.xfaData),shadow$1(this,"xfaFactory",e2?new no(e2):null)}get isPureXfa(){return this.xfaFactory?this.xfaFactory.isValid():!1}get htmlForXfa(){return this.xfaFactory?this.xfaFactory.getPages():null}async#r(){let e2=await this.pdfManager.ensureCatalog("xfaImages");e2&&this.xfaFactory.setImages(e2)}async#i(e2,t2){let n2=await this.pdfManager.ensureCatalog("acroForm");if(!n2)return;let r2=await n2.getAsync("DR");if(!(r2 instanceof F))return;await Lr.load(r2,["Font"],this.xref);let i2=r2.get("Font");if(!(i2 instanceof F))return;let a2=Object.assign(Object.create(null),this.pdfManager.evaluatorOptions,{useSystemFonts:!1}),{builtInCMapCache:o2,fontCache:s2,standardFontDataCache:c2}=this.catalog,l2=new Tr({xref:this.xref,handler:e2,pageIndex:-1,idFactory:this._globalIdFactory,fontCache:s2,builtInCMapCache:o2,standardFontDataCache:c2,options:a2}),u2=new Be,d2=[],f2={get font(){return d2.at(-1)},set font(e3){d2.push(e3)},clone(){return this}},parseFont=(e3,n3,i3)=>l2.handleSetFont(r2,[N.get(e3),1],null,u2,t2,f2,n3,i3).catch(e4=>(warn$1(`loadXfaFonts: "${e4}".`),null)),p2=[];for(let[e3,t3]of i2){let n3=t3.get("FontDescriptor");if(!(n3 instanceof F))continue;let r3=n3.get("FontFamily");r3=r3.replaceAll(/ +(\d)/g,"$1");let i3=n3.get("FontWeight"),a3=-n3.get("ItalicAngle"),o3={fontFamily:r3,fontWeight:i3,italicAngle:a3};validateCSSFont(o3)&&p2.push(parseFont(e3,null,o3))}await Promise.all(p2);let m2=this.xfaFactory.setFonts(d2);if(!m2)return;a2.ignoreErrors=!0,p2.length=0,d2.length=0;let h2=new Set;for(let e3 of m2)getXfaFontName(`${e3}-Regular`)||h2.add(e3);h2.size&&m2.push("PdfJS-Fallback");for(let e3 of m2)if(!h2.has(e3))for(let t3 of[{name:"Regular",fontWeight:400,italicAngle:0},{name:"Bold",fontWeight:700,italicAngle:0},{name:"Italic",fontWeight:400,italicAngle:12},{name:"BoldItalic",fontWeight:700,italicAngle:12}]){let n3=`${e3}-${t3.name}`;p2.push(parseFont(n3,getXfaFontDict(n3),{fontFamily:e3,fontWeight:t3.fontWeight,italicAngle:t3.italicAngle}))}await Promise.all(p2),this.xfaFactory.appendFonts(d2,h2)}loadXfaResources(e2,t2){return Promise.all([this.#i(e2,t2).catch(()=>{}),this.#r()])}serializeXfaData(e2){return this.xfaFactory?this.xfaFactory.serializeData(e2):null}get version(){return this.catalog.version||this.#t}get formInfo(){let e2={hasFields:!1,hasAcroForm:!1,hasXfa:!1,hasSignatures:!1},{acroForm:t2}=this.catalog;if(!t2)return shadow$1(this,"formInfo",e2);try{let n2=t2.get("Fields"),r2=Array.isArray(n2)&&n2.length>0;e2.hasFields=r2;let i2=t2.get("XFA");e2.hasXfa=Array.isArray(i2)&&i2.length>0||i2 instanceof BaseStream&&!i2.isEmpty;let a2=!!(t2.get("SigFlags")&1),o2=a2&&this.#n(n2);e2.hasAcroForm=r2&&!o2,e2.hasSignatures=a2}catch(e3){if(e3 instanceof MissingDataException)throw e3;warn$1(`Cannot fetch form information: "${e3}".`)}return shadow$1(this,"formInfo",e2)}get documentInfo(){let{catalog:e2,formInfo:t2,xref:n2}=this,r2={PDFFormatVersion:this.version,Language:e2.lang,EncryptFilterName:n2.encrypt?.filterName??null,IsLinearized:!!this.linearization,IsAcroFormPresent:t2.hasAcroForm,IsXFAPresent:t2.hasXfa,IsCollectionPresent:!!e2.collection,IsSignaturesPresent:t2.hasSignatures},i2;try{i2=n2.trailer.get("Info")}catch(e3){if(e3 instanceof MissingDataException)throw e3;info$1("The document information dictionary is invalid.")}if(!(i2 instanceof F))return shadow$1(this,"documentInfo",r2);for(let[e3,t3]of i2){switch(e3){case"Title":case"Author":case"Subject":case"Keywords":case"Creator":case"Producer":case"CreationDate":case"ModDate":if(typeof t3=="string"){r2[e3]=stringToPDFString(t3);continue}break;case"Trapped":if(t3 instanceof N){r2[e3]=t3;continue}break;default:let n3;switch(typeof t3){case"string":n3=stringToPDFString(t3);break;case"number":case"boolean":n3=t3;break;default:t3 instanceof N&&(n3=t3);break}if(n3===void 0){warn$1(`Bad value, for custom key "${e3}", in Info: ${t3}.`);continue}r2.Custom??=Object.create(null),r2.Custom[e3]=n3;continue}warn$1(`Bad value, for key "${e3}", in Info: ${t3}.`)}return shadow$1(this,"documentInfo",r2)}get fingerprints(){let e2=1024,t2="\0".repeat(16);function validate(e3){return typeof e3=="string"&&e3.length===16&&e3!==t2}let n2=this.xref.trailer.get("ID"),r2,i2;return Array.isArray(n2)&&validate(n2[0])?(r2=stringToBytes$1(n2[0]),n2[1]!==n2[0]&&validate(n2[1])&&(i2=stringToBytes$1(n2[1]))):r2=calculateMD5(this.stream.getByteRange(0,e2),0,e2),shadow$1(this,"fingerprints",[r2.toHex(),i2?.toHex()??null])}async#a(e2){let{catalog:t2,linearization:n2,xref:r2}=this,i2=L.get(n2.objectNumberFirst,0);try{let e3=await r2.fetchAsync(i2);if(e3 instanceof F){let n3=e3.getRaw("Type");if(n3 instanceof L&&(n3=await r2.fetchAsync(n3)),isName(n3,"Page")||!e3.has("Type")&&!e3.has("Kids")&&e3.has("Contents"))return t2.pageKidsCountCache.has(i2)||t2.pageKidsCountCache.put(i2,1),t2.pageIndexCache.has(i2)||t2.pageIndexCache.put(i2,0),[e3,i2]}throw new FormatError$1("The Linearization dictionary doesn't point to a valid Page dictionary.")}catch(n3){return warn$1(`_getLinearizationPage: "${n3.message}".`),t2.getPageDict(e2)}}getPage(e2){let t2=this.#e.get(e2);if(t2)return t2;let{catalog:n2,linearization:r2,xfaFactory:i2}=this,a2;return a2=i2?Promise.resolve([F.empty,null]):r2?.pageFirst===e2?this.#a(e2):n2.getPageDict(e2),a2=a2.then(([t3,r3])=>new Page({pdfManager:this.pdfManager,xref:this.xref,pageIndex:e2,pageDict:t3,ref:r3,globalIdFactory:this._globalIdFactory,fontCache:n2.fontCache,builtInCMapCache:n2.builtInCMapCache,standardFontDataCache:n2.standardFontDataCache,globalColorSpaceCache:n2.globalColorSpaceCache,globalImageCache:n2.globalImageCache,systemFontCache:n2.systemFontCache,nonBlendModesSet:n2.nonBlendModesSet,xfaFactory:i2})),this.#e.set(e2,a2),a2}async checkFirstPage(e2=!1){if(!e2)try{await this.getPage(0)}catch(e3){if(e3 instanceof XRefEntryException)throw this.#e.delete(0),await this.cleanup(),new XRefParseException}}async checkLastPage(e2=!1){let{catalog:t2,pdfManager:n2}=this;t2.setActualNumPages();let r2;try{if(await Promise.all([n2.ensureDoc("xfaFactory"),n2.ensureDoc("linearization"),n2.ensureCatalog("numPages")]),this.xfaFactory)return;if(r2=this.linearization?this.linearization.numPages:t2.numPages,!Number.isInteger(r2))throw new FormatError$1("Page count is not an integer.");if(r2<=1)return;await this.getPage(r2-1)}catch(i2){if(this.#e.delete(r2-1),await this.cleanup(),i2 instanceof XRefEntryException&&!e2)throw new XRefParseException;warn$1(`checkLastPage - invalid /Pages tree /Count: ${r2}.`);let a2;try{a2=await t2.getAllPageDicts(e2)}catch(n3){if(n3 instanceof XRefEntryException&&!e2)throw new XRefParseException;t2.setActualNumPages(1);return}for(let[e3,[r3,i3]]of a2){let a3;r3 instanceof Error?(a3=Promise.reject(r3),a3.catch(()=>{})):a3=Promise.resolve(new Page({pdfManager:n2,xref:this.xref,pageIndex:e3,pageDict:r3,ref:i3,globalIdFactory:this._globalIdFactory,fontCache:t2.fontCache,builtInCMapCache:t2.builtInCMapCache,standardFontDataCache:t2.standardFontDataCache,globalColorSpaceCache:this.globalColorSpaceCache,globalImageCache:t2.globalImageCache,systemFontCache:t2.systemFontCache,nonBlendModesSet:t2.nonBlendModesSet,xfaFactory:null})),this.#e.set(e3,a3)}t2.setActualNumPages(a2.size)}}async fontFallback(e2,t2){let{catalog:n2,pdfManager:r2}=this;for(let i2 of await Promise.all(n2.fontCache))if(i2.loadedName===e2){i2.fallback(t2,r2.evaluatorOptions);return}}async cleanup(e2=!1){return this.catalog?this.catalog.cleanup(e2):clearGlobalCaches()}async#o(e2,t2,n2,r2,i2,a2,o2){let{xref:s2}=this;if(!(n2 instanceof L)||a2.has(n2))return;a2.put(n2);let c2=await s2.fetchAsync(n2);if(!(c2 instanceof F))return;let l2=await c2.getAsync("Subtype");if((l2=l2 instanceof N?l2.name:null,l2)==="Link")return;if(c2.has("T")){let t3=stringToPDFString(await c2.getAsync("T"));e2=e2===""?t3:`${e2}.${t3}`}else{let n3=c2;for(;;){if(n3=n3.getRaw("Parent")||t2,n3 instanceof L){if(a2.has(n3))break;n3=await s2.fetchAsync(n3)}if(!(n3 instanceof F))break;if(n3.has("T")){let t3=stringToPDFString(await n3.getAsync("T"));e2=e2===""?t3:`${e2}.${t3}`;break}}}if(t2&&!c2.has("Parent")&&isName(c2.get("Subtype"),"Widget")&&o2.put(n2,t2),r2.getOrInsertComputed(e2,makeArr$1).push(AnnotationFactory.create(s2,n2,i2,null,!0,o2,null,null).then(e3=>e3?.getFieldObject()).catch(function(e3){return warn$1(`#collectFieldObjects: "${e3}".`),null})),!c2.has("Kids"))return;let u2=await c2.getAsync("Kids");if(Array.isArray(u2))for(let t3 of u2)await this.#o(e2,n2,t3,r2,i2,a2,o2)}get fieldObjects(){let e2=this.pdfManager.ensureDoc("formInfo").then(async e3=>{if(!e3.hasFields)return null;let t2=await this.annotationGlobals;if(!t2)return null;let{acroForm:n2}=t2,r2=new RefSet,i2=Object.create(null),a2=new Map,o2=new RefSetCache;for(let e4 of n2.get("Fields"))await this.#o("",null,e4,a2,t2,r2,o2);let s2=[];for(let[e4,t3]of a2)s2.push(Promise.all(t3).then(t4=>{t4=t4.filter(e5=>!!e5),t4.length>0&&(i2[e4]=t4)}));return await Promise.all(s2),{allFields:objectSize(i2)>0?i2:null,orphanFields:o2}});return shadow$1(this,"fieldObjects",e2)}get hasJSActions(){let e2=this.pdfManager.ensureDoc("_parseHasJSActions");return shadow$1(this,"hasJSActions",e2)}async _parseHasJSActions(){let[e2,t2]=await Promise.all([this.pdfManager.ensureCatalog("jsActions"),this.pdfManager.ensureDoc("fieldObjects")]);return e2?!0:t2?.allFields?Object.values(t2.allFields).some(e3=>e3.some(e4=>e4.actions!==null)):!1}get calculationOrderIds(){let e2=this.catalog.acroForm?.get("CO");if(!Array.isArray(e2)||e2.length===0)return shadow$1(this,"calculationOrderIds",null);let t2=[];for(let n2 of e2)n2 instanceof L&&t2.push(n2.toString());return shadow$1(this,"calculationOrderIds",t2.length?t2:null)}get annotationGlobals(){return shadow$1(this,"annotationGlobals",AnnotationFactory.createGlobals(this.pdfManager))}async toJSObject(e2,t2=!0){throw Error("Not implemented: toJSObject")}};function parseDocBaseUrl(e2){if(e2){let t2=createValidAbsoluteUrl$1(e2);if(t2)return t2.href;warn$1(`Invalid absolute docBaseUrl: "${e2}".`)}return null}var BasePdfManager=class{constructor({docBaseUrl:e2,docId:t2,enableXfa:n2,evaluatorOptions:r2,handler:i2,password:a2}){this._docBaseUrl=parseDocBaseUrl(e2),this._docId=t2,this._password=a2,this.enableXfa=n2,r2.isOffscreenCanvasSupported&&=FeatureTest$1.isOffscreenCanvasSupported,r2.isImageDecoderSupported&&=FeatureTest$1.isImageDecoderSupported,this.evaluatorOptions=Object.freeze(r2),Oe.setOptions(r2),Re.setOptions(r2),Be.setOptions(r2);let o2={...r2,handler:i2};we.setOptions(o2),Te.setOptions(o2),ar.setOptions(o2),Pattern.setOptions(o2),qe.setOptions(o2)}get docId(){return this._docId}get password(){return this._password}get docBaseUrl(){return this._docBaseUrl}ensureDoc(e2,t2){return this.ensure(this.pdfDocument,e2,t2)}ensureXRef(e2,t2){return this.ensure(this.pdfDocument.xref,e2,t2)}ensureCatalog(e2,t2){return this.ensure(this.pdfDocument.catalog,e2,t2)}async initDocument(e2){await this.ensureDoc("checkHeader"),await this.ensureDoc("parseStartXRef"),await this.ensureDoc("parse",[e2]),await this.ensureDoc("checkFirstPage",[e2]),await this.ensureDoc("checkLastPage",[e2])}getPage(e2){return this.pdfDocument.getPage(e2)}fontFallback(e2,t2){return this.pdfDocument.fontFallback(e2,t2)}cleanup(e2=!1){return this.pdfDocument.cleanup(e2)}async ensure(e2,t2,n2){unreachable$1("Abstract method `ensure` called")}requestRange(e2,t2){unreachable$1("Abstract method `requestRange` called")}requestLoadedStream(e2=!1){unreachable$1("Abstract method `requestLoadedStream` called")}sendProgressiveData(e2){unreachable$1("Abstract method `sendProgressiveData` called")}updatePassword(e2){this._password=e2,this.pdfDocument.xref.encrypt?.setPassword(e2)}terminate(e2){unreachable$1("Abstract method `terminate` called")}},LocalPdfManager=class extends BasePdfManager{constructor(e2){super(e2);let t2=new Ee(e2.source);this.pdfDocument=new PDFDocument(this,t2),this._loadedStreamPromise=Promise.resolve(t2)}async ensure(e2,t2,n2){let r2=e2[t2];return typeof r2=="function"?r2.apply(e2,n2):r2}requestRange(e2,t2){return Promise.resolve()}requestLoadedStream(e2=!1){return this._loadedStreamPromise}terminate(e2){}},NetworkPdfManager=class extends BasePdfManager{constructor(e2){super(e2),this.streamManager=new ChunkedStreamManager(e2.source,{msgHandler:e2.handler,length:e2.length,disableAutoFetch:e2.disableAutoFetch,rangeChunkSize:e2.rangeChunkSize}),this.pdfDocument=new PDFDocument(this,this.streamManager.getStream())}async ensure(e2,t2,n2){try{let r2=e2[t2];return typeof r2=="function"?await r2.apply(e2,n2):r2}catch(r2){if(!(r2 instanceof MissingDataException))throw r2;return await this.requestRange(r2.begin,r2.end),this.ensure(e2,t2,n2)}}requestRange(e2,t2){return this.streamManager.requestRange(e2,t2)}requestLoadedStream(e2=!1){return this.streamManager.requestAllChunks(e2)}sendProgressiveData(e2){this.streamManager.onReceiveData({chunk:e2})}terminate(e2){this.streamManager.abort(e2)}},go={DATA:1,ERROR:2},_o={CANCEL:1,CANCEL_COMPLETE:2,CLOSE:3,ENQUEUE:4,ERROR:5,PULL:6,PULL_COMPLETE:7,START_COMPLETE:8};function onFn$1(){}function wrapReason$1(e2){if(e2 instanceof AbortException$1||e2 instanceof InvalidPDFException$1||e2 instanceof PasswordException$1||e2 instanceof ResponseException$1||e2 instanceof UnknownErrorException$1)return e2;switch(e2 instanceof Error||typeof e2=="object"&&e2||unreachable$1('wrapReason: Expected "reason" to be a (possibly cloned) Error.'),e2.name){case"AbortException":return new AbortException$1(e2.message);case"InvalidPDFException":return new InvalidPDFException$1(e2.message);case"PasswordException":return new PasswordException$1(e2.message,e2.code);case"ResponseException":return new ResponseException$1(e2.message,e2.status,e2.missing);case"UnknownErrorException":return new UnknownErrorException$1(e2.message,e2.details)}return new UnknownErrorException$1(e2.message,e2.toString())}var MessageHandler$1=class{#e=new AbortController;constructor(e2,t2,n2){this.sourceName=e2,this.targetName=t2,this.comObj=n2,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),n2.addEventListener("message",this.#t.bind(this),{signal:this.#e.signal})}#t({data:e2}){if(e2.targetName!==this.sourceName)return;if(e2.stream){this.#r(e2);return}if(e2.callback){let t3=e2.callbackId,n2=this.callbackCapabilities[t3];if(!n2)throw Error(`Cannot resolve callback ${t3}`);if(delete this.callbackCapabilities[t3],e2.callback===go.DATA)n2.resolve(e2.data);else if(e2.callback===go.ERROR)n2.reject(wrapReason$1(e2.reason));else throw Error("Unexpected callback case");return}let t2=this.actionHandler[e2.action];if(!t2)throw Error(`Unknown action from worker: ${e2.action}`);if(e2.callbackId){let n2=this.sourceName,r2=e2.sourceName,i2=this.comObj;Promise.try(t2,e2.data).then(function(t3){i2.postMessage({sourceName:n2,targetName:r2,callback:go.DATA,callbackId:e2.callbackId,data:t3})},function(t3){i2.postMessage({sourceName:n2,targetName:r2,callback:go.ERROR,callbackId:e2.callbackId,reason:wrapReason$1(t3)})});return}if(e2.streamId){this.#n(e2);return}t2(e2.data)}on(e2,t2){let n2=this.actionHandler;if(n2[e2])throw Error(`There is already an actionName called "${e2}"`);n2[e2]=t2}send(e2,t2,n2){this.comObj.postMessage({sourceName:this.sourceName,targetName:this.targetName,action:e2,data:t2},n2)}sendWithPromise(e2,t2,n2){let r2=this.callbackId++,i2=Promise.withResolvers();this.callbackCapabilities[r2]=i2;try{this.comObj.postMessage({sourceName:this.sourceName,targetName:this.targetName,action:e2,callbackId:r2,data:t2},n2)}catch(e3){i2.reject(e3)}return i2.promise}sendWithStream(e2,t2,n2,r2){let i2=this.streamId++,a2=this.sourceName,o2=this.targetName,s2=this.comObj;return new ReadableStream({start:n3=>{let c2=Promise.withResolvers();return this.streamControllers[i2]={controller:n3,startCall:c2,pullCall:null,cancelCall:null,isClosed:!1},s2.postMessage({sourceName:a2,targetName:o2,action:e2,streamId:i2,data:t2,desiredSize:n3.desiredSize},r2),c2.promise},pull:e3=>{let t3=Promise.withResolvers();return this.streamControllers[i2].pullCall=t3,s2.postMessage({sourceName:a2,targetName:o2,stream:_o.PULL,streamId:i2,desiredSize:e3.desiredSize}),t3.promise},cancel:e3=>{assert$1(e3 instanceof Error,"cancel must have a valid reason");let t3=Promise.withResolvers();return this.streamControllers[i2].cancelCall=t3,this.streamControllers[i2].isClosed=!0,s2.postMessage({sourceName:a2,targetName:o2,stream:_o.CANCEL,streamId:i2,reason:wrapReason$1(e3)}),t3.promise}},n2)}#n(e2){let t2=e2.streamId,n2=this.sourceName,r2=e2.sourceName,i2=this.comObj,a2=this,o2=this.actionHandler[e2.action],s2={enqueue(e3,a3=1,o3){if(this.isCancelled)return;let s3=this.desiredSize;this.desiredSize-=a3,s3>0&&this.desiredSize<=0&&(this.sinkCapability=Promise.withResolvers(),this.ready=this.sinkCapability.promise),i2.postMessage({sourceName:n2,targetName:r2,stream:_o.ENQUEUE,streamId:t2,chunk:e3},o3)},close(){this.isCancelled||(this.isCancelled=!0,i2.postMessage({sourceName:n2,targetName:r2,stream:_o.CLOSE,streamId:t2}),delete a2.streamSinks[t2])},error(e3){assert$1(e3 instanceof Error,"error must have a valid reason"),!this.isCancelled&&(this.isCancelled=!0,i2.postMessage({sourceName:n2,targetName:r2,stream:_o.ERROR,streamId:t2,reason:wrapReason$1(e3)}))},sinkCapability:Promise.withResolvers(),onPull:null,onCancel:null,isCancelled:!1,desiredSize:e2.desiredSize,ready:null};s2.sinkCapability.resolve(),s2.ready=s2.sinkCapability.promise,this.streamSinks[t2]=s2,Promise.try(o2,e2.data,s2).then(function(){i2.postMessage({sourceName:n2,targetName:r2,stream:_o.START_COMPLETE,streamId:t2,success:!0})},function(e3){i2.postMessage({sourceName:n2,targetName:r2,stream:_o.START_COMPLETE,streamId:t2,reason:wrapReason$1(e3)})})}#r(e2){let t2=e2.streamId,n2=this.sourceName,r2=e2.sourceName,i2=this.comObj,a2=this.streamControllers[t2],o2=this.streamSinks[t2];switch(e2.stream){case _o.START_COMPLETE:e2.success?a2.startCall.resolve():a2.startCall.reject(wrapReason$1(e2.reason));break;case _o.PULL_COMPLETE:e2.success?a2.pullCall.resolve():a2.pullCall.reject(wrapReason$1(e2.reason));break;case _o.PULL:if(!o2){i2.postMessage({sourceName:n2,targetName:r2,stream:_o.PULL_COMPLETE,streamId:t2,success:!0});break}o2.desiredSize<=0&&e2.desiredSize>0&&o2.sinkCapability.resolve(),o2.desiredSize=e2.desiredSize,Promise.try(o2.onPull||onFn$1).then(function(){i2.postMessage({sourceName:n2,targetName:r2,stream:_o.PULL_COMPLETE,streamId:t2,success:!0})},function(e3){i2.postMessage({sourceName:n2,targetName:r2,stream:_o.PULL_COMPLETE,streamId:t2,reason:wrapReason$1(e3)})});break;case _o.ENQUEUE:if(assert$1(a2,"enqueue should have stream controller"),a2.isClosed)break;a2.controller.enqueue(e2.chunk);break;case _o.CLOSE:if(assert$1(a2,"close should have stream controller"),a2.isClosed)break;a2.isClosed=!0,a2.controller.close(),this.#i(a2,t2);break;case _o.ERROR:assert$1(a2,"error should have stream controller"),a2.controller.error(wrapReason$1(e2.reason)),this.#i(a2,t2);break;case _o.CANCEL_COMPLETE:e2.success?a2.cancelCall.resolve():a2.cancelCall.reject(wrapReason$1(e2.reason)),this.#i(a2,t2);break;case _o.CANCEL:if(!o2)break;let s2=wrapReason$1(e2.reason);Promise.try(o2.onCancel||onFn$1,s2).then(function(){i2.postMessage({sourceName:n2,targetName:r2,stream:_o.CANCEL_COMPLETE,streamId:t2,success:!0})},function(e3){i2.postMessage({sourceName:n2,targetName:r2,stream:_o.CANCEL_COMPLETE,streamId:t2,reason:wrapReason$1(e3)})}),o2.sinkCapability.reject(s2),o2.isCancelled=!0,delete this.streamSinks[t2];break;default:throw Error("Unexpected stream case")}}async#i(e2,t2){await Promise.allSettled([e2.startCall?.promise,e2.pullCall?.promise,e2.cancelCall?.promise]),delete this.streamControllers[t2]}destroy(){this.#e?.abort(),this.#e=null}};async function writeObject(e2,t2,n2,{encrypt:r2=null,encryptRef:i2=null}){let a2=r2&&i2!==e2?r2.createCipherTransform(e2.num,e2.gen):null;n2.push(`${e2.num} ${e2.gen} obj
|
|
33
|
+
`),await writeValue(t2,n2,a2),n2.push(`
|
|
34
|
+
endobj
|
|
35
|
+
`)}async function writeDict(e2,t2,n2){t2.push("<<");for(let[r2,i2]of e2.getRawEntries())t2.push(` /${escapePDFName(r2)} `),await writeValue(i2,t2,n2);t2.push(">>")}async function writeStream(e2,t2,n2){e2=e2.getOriginalStream(),e2.reset();let r2=e2.getBytes(),{dict:i2}=e2,[a2,o2]=await Promise.all([i2.getAsync("Filter"),i2.getAsync("DecodeParms")]),s2=Array.isArray(a2)?await i2.xref.fetchIfRefAsync(a2[0]):a2,c2=isName(s2,"FlateDecode"),l2=isName(s2,"DCTDecode")||isName(s2,"JPXDecode")||isName(s2,"JBIG2Decode")||isName(s2,"CCITTFaxDecode")||isName(s2,"LZWDecode");if(!(c2||l2||isName(s2,"BrotliDecode"))&&r2.length>=256)try{let e3=new CompressionStream("deflate"),t3=e3.writable.getWriter();await t3.ready,t3.write(r2).then(async()=>{await t3.ready,await t3.close()}).catch(()=>{}),r2=await new Response(e3.readable).bytes();let n3,s3;a2?c2||(n3=Array.isArray(a2)?[N.get("FlateDecode"),...a2]:[N.get("FlateDecode"),a2],o2&&(s3=Array.isArray(o2)?[null,...o2]:[null,o2])):n3=N.get("FlateDecode"),n3&&i2.set("Filter",n3),s3&&i2.set("DecodeParms",s3)}catch(e3){info$1(`writeStream - cannot compress data: "${e3}".`)}let u2=bytesToString$1(r2);n2&&(u2=n2.encryptString(u2)),i2.set("Length",u2.length),await writeDict(i2,t2,n2),t2.push(` stream
|
|
36
|
+
`,u2,`
|
|
37
|
+
endstream`)}async function writeArray(e2,t2,n2){t2.push("[");for(let r2=0,i2=e2.length;r2<i2;r2++)await writeValue(e2[r2],t2,n2),r2<i2-1&&t2.push(" ");t2.push("]")}async function writeValue(e2,t2,n2){e2 instanceof N?t2.push(`/${escapePDFName(e2.name)}`):e2 instanceof L?t2.push(`${e2.num} ${e2.gen} R`):Array.isArray(e2)||ArrayBuffer.isView(e2)?await writeArray(e2,t2,n2):typeof e2=="string"?(n2&&(e2=n2.encryptString(e2)),t2.push(`(${escapeString(e2)})`)):typeof e2=="number"?t2.push(e2.toFixed(10).replace(/\.?0+$/,"")):typeof e2=="boolean"?t2.push(e2.toString()):e2 instanceof F?await writeDict(e2,t2,n2):e2 instanceof BaseStream?await writeStream(e2,t2,n2):e2===null?t2.push("null"):warn$1(`Unhandled value in writer: ${typeof e2}, please file a bug.`)}function writeInt(e2,t2,n2,r2){for(let i2=t2+n2-1;i2>n2-1;i2--)r2[i2]=e2&255,e2>>=8;return n2+t2}function writeString(e2,t2,n2){let r2=e2.length;for(let i2=0;i2<r2;i2++)n2[t2+i2]=e2.charCodeAt(i2)&255;return t2+r2}function computeMD5(e2,t2){let n2=Math.floor(Date.now()/1e3),r2=t2.filename||"",i2=[n2.toString(),r2,e2.toString(),...t2.infoMap.values()],a2=Math.sumPrecise(i2.map(e3=>e3.length)),o2=new Uint8Array(a2),s2=0;for(let e3 of i2)s2=writeString(e3,s2,o2);return bytesToString$1(calculateMD5(o2,0,o2.length))}function writeXFADataForAcroform(e2,t2){let n2=new SimpleXMLParser({hasAttributes:!0}).parseFromString(e2);for(let{xfa:e3}of t2){if(!e3)continue;let{path:t3,value:r3}=e3;if(!t3)continue;let i2=parseXFAPath(t3),a2=n2.documentElement.searchNode(i2,0);!a2&&i2.length>1&&(a2=n2.documentElement.searchNode([i2.at(-1)],0)),a2?a2.childNodes=Array.isArray(r3)?r3.map(e4=>new SimpleDOMNode("value",e4)):[new SimpleDOMNode("#text",r3)]:warn$1(`Node not found for path: ${t3}`)}let r2=[];return n2.documentElement.dump(r2),r2.join("")}async function updateAcroform({xref:e2,acroForm:t2,acroFormRef:n2,hasXfa:r2,hasXfaDatasetsEntry:i2,xfaDatasetsRef:a2,needAppearances:o2,changes:s2}){if(r2&&!i2&&!a2&&warn$1("XFA - Cannot save it"),!o2&&(!r2||!a2||i2))return;let c2=t2.clone();if(r2&&!i2){let e3=t2.get("XFA").slice();e3.splice(2,0,"datasets"),e3.splice(3,0,a2),c2.set("XFA",e3)}o2&&c2.set("NeedAppearances",!0),s2.put(n2,{data:c2})}function updateXFA({xfaData:e2,xfaDatasetsRef:t2,changes:n2,xref:r2}){e2===null&&(e2=writeXFADataForAcroform(r2.fetchIfRef(t2).getString(),n2));let i2=new StringStream(e2,new F(r2));i2.dict.setIfName("Type","EmbeddedFile"),n2.put(t2,{data:i2})}async function getXRefTable(e2,t2,n2,r2,i2){i2.push(`xref
|
|
38
|
+
`);let a2=getIndexes(n2),o2=0;for(let{ref:e3,data:r3}of n2)e3.num===a2[o2]&&(i2.push(`${a2[o2]} ${a2[o2+1]}
|
|
39
|
+
`),o2+=2),r3===null?i2.push(`0000000000 ${Math.min(e3.gen+1,65535).toString().padStart(5,"0")} f\r
|
|
40
|
+
`):(i2.push(`${t2.toString().padStart(10,"0")} ${Math.min(e3.gen,65535).toString().padStart(5,"0")} n\r
|
|
41
|
+
`),t2+=r3.length);computeIDs(t2,e2,r2),i2.push(`trailer
|
|
42
|
+
`),await writeDict(r2,i2,null),i2.push(`
|
|
43
|
+
startxref
|
|
44
|
+
`,t2.toString(),`
|
|
45
|
+
%%EOF
|
|
46
|
+
`)}function getIndexes(e2){let t2=[];for(let{ref:n2}of e2)n2.num===t2.at(-2)+t2.at(-1)?t2[t2.length-1]+=1:t2.push(n2.num,1);return t2}async function getXRefStreamTable(e2,t2,n2,r2,i2){let a2=[],o2=0,s2=0;for(let{ref:e3,data:r3,objStreamRef:i3,index:c3}of n2){let n3;o2=Math.max(o2,t2),i3?(n3=c3,a2.push([2,i3.num,n3])):r3===null?(n3=Math.min(e3.gen+1,65535),a2.push([0,0,n3])):(n3=Math.min(e3.gen,65535),a2.push([1,t2,n3]),t2+=r3.length),s2=Math.max(s2,n3)}r2.set("Index",getIndexes(n2));let c2=[1,getSizeInBytes(o2),getSizeInBytes(s2)];r2.set("W",c2),computeIDs(t2,e2,r2);let l2=Math.sumPrecise(c2),u2=new Uint8Array(l2*a2.length),d2=new Ee(u2);d2.dict=r2;let f2=0;for(let[e3,t3,n3]of a2)f2=writeInt(e3,c2[0],f2,u2),f2=writeInt(t3,c2[1],f2,u2),f2=writeInt(n3,c2[2],f2,u2);await writeObject(e2.newRef,d2,i2,{}),i2.push(`startxref
|
|
47
|
+
`,t2.toString(),`
|
|
48
|
+
%%EOF
|
|
49
|
+
`)}function computeIDs(e2,t2,n2){if(Array.isArray(t2.fileIds)&&t2.fileIds.length>0){let r2=computeMD5(e2,t2);n2.set("ID",[t2.fileIds[0]||r2,r2])}}function getTrailerDict(e2,t2,n2){let r2=new F(null);r2.setIfDefined("Prev",e2?.startXRef);let i2=e2.newRef;return n2?(t2.put(i2,{data:""}),r2.set("Size",i2.num+1),r2.setIfName("Type","XRef")):r2.set("Size",i2.num),r2.setIfDefined("Root",e2?.rootRef),r2.setIfDefined("Info",e2?.infoRef),r2.setIfDefined("Encrypt",e2?.encryptRef),r2}async function writeChanges(e2,t2,n2=[]){let r2=[];for(let[i2,{data:a2,objStreamRef:o2,index:s2}]of e2.items()){if(o2){r2.push({ref:i2,data:a2,objStreamRef:o2,index:s2});continue}if(a2===null||typeof a2=="string"){r2.push({ref:i2,data:a2});continue}await writeObject(i2,a2,n2,t2),r2.push({ref:i2,data:n2.join("")}),n2.length=0}return r2.sort((e3,t3)=>e3.ref.num-t3.ref.num)}async function incrementalUpdate({originalData:e2,xrefInfo:t2,changes:n2,xref:r2=null,hasXfa:i2=!1,xfaDatasetsRef:a2=null,hasXfaDatasetsEntry:o2=!1,needAppearances:s2,acroFormRef:c2=null,acroForm:l2=null,xfaData:u2=null,useXrefStream:d2=!1}){await updateAcroform({xref:r2,acroForm:l2,acroFormRef:c2,hasXfa:i2,hasXfaDatasetsEntry:o2,xfaDatasetsRef:a2,needAppearances:s2,changes:n2}),i2&&updateXFA({xfaData:u2,xfaDatasetsRef:a2,changes:n2,xref:r2});let f2=getTrailerDict(t2,n2,d2),p2=[],m2=await writeChanges(n2,r2,p2),h2=e2.length,g2=e2.at(-1);g2!==10&&g2!==13&&(p2.push(`
|
|
50
|
+
`),h2+=1);for(let{data:e3}of m2)e3!==null&&p2.push(e3);await(d2?getXRefStreamTable(t2,h2,m2,f2,p2):getXRefTable(t2,h2,m2,f2,p2));let _2=e2.length+Math.sumPrecise(p2.map(e3=>e3.length)),v2=new Uint8Array(_2);v2.set(e2);let y2=e2.length;for(let e3 of p2)y2=writeString(e3,y2,v2);return v2}var PageData=class{constructor(e2,t2){this.page=e2,this.documentData=t2,this.annotations=null,this.pointingNamedDestinations=null,t2.pagesMap.put(e2.ref,this)}},DocumentData=class{constructor(e2){this.document=e2,this.destinations=null,this.pageLabels=null,this.pagesMap=new RefSetCache,this.oldRefMapping=new RefSetCache,this.dedupNamedDestinations=new Map,this.usedNamedDestinations=new Set,this.postponedRefCopies=new RefSetCache,this.resourceStreamPromises=new Map,this.usedStructParents=new Set,this.oldStructParentMapping=new Map,this.structTreeRoot=null,this.parentTree=null,this.idTree=null,this.roleMap=null,this.classMap=null,this.namespaces=null,this.structTreeAF=null,this.structTreePronunciationLexicon=[],this.acroForm=null,this.acroFormDefaultAppearance="",this.acroFormDefaultResources=null,this.acroFormQ=0,this.hasSignatureAnnotations=!1,this.fieldToParent=new RefSetCache,this.outline=null,this.embeddedFiles=null}},XRefWrapper=class{constructor(e2,t2){this.entries=e2,this._getNewRef=t2}getNewTemporaryRef(){return this._getNewRef()}fetchIfRef(e2){return e2 instanceof L?this.fetch(e2):e2}fetch(e2){if(!(e2 instanceof L))throw Error("ref object is not a reference");return this.entries[e2.num]}async fetchIfRefAsync(e2){return e2 instanceof L?this.fetchAsync(e2):e2}async fetchAsync(e2){return this.fetch(e2)}},PDFEditor=class{isSingleFile=!1;#e=null;#t=null;#n=new Map;currentDocument=null;oldPages=[];newPages=[];xref=[null];xrefWrapper=new XRefWrapper(this.xref,()=>this.newRef);newRefCount=1;namesDict=null;version="1.7";pageLabels=null;namedDestinations=new Map;parentTree=new Map;structTreeKids=[];idTree=new Map;classMap=new F;roleMap=new F;namespaces=new Map;structTreeAF=[];structTreePronunciationLexicon=[];fields=[];acroFormDefaultAppearance="";acroFormDefaultResources=null;acroFormNeedAppearances=!1;acroFormSigFlags=0;acroFormCalculationOrder=null;acroFormQ=0;outlineItems=null;embeddedFiles=new Map;constructor({useObjectStreams:e2=!0,title:t2="",author:n2=""}={}){[this.rootRef,this.rootDict]=this.newDict,[this.infoRef,this.infoDict]=this.newDict,[this.pagesRef,this.pagesDict]=this.newDict,this.useObjectStreams=e2,this.objStreamRefs=e2?new Set:null,this.title=t2,this.author=n2}get newRef(){return L.get(this.newRefCount++,0)}get newDict(){let e2=this.newRef;return[e2,this.xref[e2.num]=new F]}async#r(e2,t2){let n2=this.newRef;return this.xref[n2.num]=await this.#i(e2,!0,t2),n2}cloneDict(e2){let t2=e2.clone();return t2.xref=this.xrefWrapper,t2}async#i(e2,t2,n2,r2=new RefSet){if(e2 instanceof L){let{currentDocument:{oldRefMapping:t3}}=this,i3=t3.get(e2);if(i3)return i3;let a3=e2;if(e2=await n2.fetchAsync(a3),typeof e2=="number")return e2;if(e2 instanceof BaseStream&&this.#a(e2.dict))return this.#l(a3,e2,n2,r2);let o3=this.newRef;return t3.put(a3,o3),this.xref[o3.num]=await this.#i(e2,!0,n2,r2),o3}let i2=[],{currentDocument:{postponedRefCopies:a2}}=this;if(Array.isArray(e2)){t2&&(e2=e2.slice());for(let t3=0,o3=e2.length;t3<o3;t3++){let o4=e2[t3]instanceof L&&a2.get(e2[t3]);if(o4){o4.push(n3=>e2[t3]=n3);continue}i2.push(this.#i(e2[t3],!0,n2,r2).then(n3=>e2[t3]=n3))}return await Promise.all(i2),e2}let o2;if(e2 instanceof BaseStream?({dict:o2}=e2=e2.getOriginalStream().clone(),o2.xref=this.xrefWrapper):e2 instanceof F&&(t2&&(e2=e2.clone(),e2.xref=this.xrefWrapper),o2=e2),o2){for(let[e3,t3]of o2.getRawEntries()){let s2=t3 instanceof L&&a2.get(t3);if(s2){s2.push(t4=>o2.set(e3,t4));continue}i2.push(this.#i(t3,!0,n2,r2).then(t4=>o2.set(e3,t4)))}await Promise.all(i2)}return e2}#a(e2){let t2=e2.get("Subtype");return isName(t2,"Image")||e2.has("Length1")||isName(t2,"Type1C")||isName(t2,"CIDFontType0C")||isName(t2,"OpenType")}#o(e2){let t2=e2.getOriginalStream();return t2.reset(),t2.getBytes()}async#s(e2){let t2=[];return await writeValue(e2,t2,null),t2.join("")}#c(e2,t2){let{length:n2}=t2,r2=new MurmurHash3_64$1;if(r2.update(e2),r2.update(`#${n2}`),n2<=256*4)r2.update(t2);else{let e3=Math.floor((n2-256)/3);for(let i2=0;i2<4;i2++){let a2=Math.min(i2*e3,n2-256);r2.update(t2.subarray(a2,a2+256))}}return r2.hexdigest()}async#l(e2,t2,n2,r2){let{currentDocument:{oldRefMapping:i2,resourceStreamPromises:a2}}=this;if(r2.has(e2)){let t3=i2.get(e2);return t3||(t3=this.newRef,i2.put(e2,t3)),t3}let o2=e2.toString(),s2=a2.get(o2);if(s2)return s2;let c2=new RefSet(r2);c2.put(e2);let l2=Promise.resolve().then(async()=>{let r3=await this.#i(t2,!0,n2,c2),a3=i2.get(e2);if(a3)return this.xref[a3.num]=r3,a3;let o3=await this.#u(r3);return i2.put(e2,o3),o3});a2.set(o2,l2);try{return await l2}finally{a2.get(o2)===l2&&a2.delete(o2)}}async#u(e2){let t2=await this.#s(e2.dict),n2=this.#o(e2),r2=this.#c(t2,n2),i2=this.#n.getOrInsertComputed(r2,makeArr$1);for(let e3 of i2)if(e3.dictStr===t2&&isArrayEqual(this.#o(e3.stream),n2))return e3.ref;let a2=this.newRef;return this.xref[a2.num]=e2,i2.push({ref:a2,dictStr:t2,stream:e2}),a2}async#d(e2,t2,n2,r2,i2,a2,o2,s2=new RefSet){let{currentDocument:{pagesMap:c2,oldRefMapping:l2}}=this,u2=t2.getRaw("Pg");if(u2 instanceof L&&!c2.has(u2))return null;let d2,f2=d2=t2.getRaw("K");if(f2 instanceof L){if(s2.has(f2))return null;d2=await n2.fetchAsync(f2),Array.isArray(d2)||(d2=[f2])}d2=Array.isArray(d2)?d2:[d2];let p2=[],m2=[];for(let t3 of d2){let u3=t3 instanceof L?t3:null;if(u3){if(s2.has(u3))continue;s2.put(u3),t3=await n2.fetchAsync(u3)}if(typeof t3=="number"){p2.push(t3);continue}if(!(t3 instanceof F))continue;let d3=t3.getRaw("Pg");if(d3 instanceof L&&!c2.has(d3))continue;let f3=t3.get("Type");if(!f3||isName(f3,"StructElem")){let e3=!1;if(u3&&r2.has(u3)){if(!isName(t3.get("S"),"Link"))continue;e3=!0}let c3=await this.#d(u3,t3,n2,r2,i2,a2,o2,s2);c3&&(m2.push(p2.length),p2.push(c3),u3&&l2.put(u3,c3),e3&&this.xref[c3.num].setIfName("S","Span"));continue}if(isName(f3,"OBJR")){if(!u3)continue;let t4=l2.get(u3);if(!t4)continue;let n3=this.xref[t4.num].getRaw("Obj");if(n3 instanceof L){let t5=this.xref[n3.num];if(t5 instanceof F&&!t5.has("StructParent")&&e2){let n4=this.parentTree.size;this.parentTree.set(n4,[l2,e2]),t5.set("StructParent",n4)}}p2.push(t4);continue}if(isName(f3,"MCR")){let e3=await this.#i(u3||t3,!0,n2);p2.push(e3);continue}if(u3){let e3=await this.#i(u3,!0,n2);p2.push(e3)}}if(d2.length!==0&&p2.length===0)return null;let h2=this.newRef,g2=this.xref[h2.num]=this.cloneDict(t2);g2.delete("ID"),g2.delete("C"),g2.delete("K"),g2.delete("P"),g2.delete("S"),await this.#i(g2,!1,n2);let _2=t2.get("C");if(_2 instanceof N){let e3=a2.get(_2.name);g2.set("C",e3?N.get(e3):_2)}else if(Array.isArray(_2)){let e3=[];for(let t3 of _2)if(t3 instanceof N){let n3=a2.get(t3.name);e3.push(n3?N.get(n3):t3)}g2.set("C",e3)}let v2=t2.get("S");if(v2 instanceof N){let e3=o2.get(v2.name);g2.set("S",e3?N.get(e3):v2)}let y2=t2.get("ID");if(typeof y2=="string"){let e3=stringToPDFString(y2,!1),t3=i2.get(e3);g2.set("ID",t3?stringToAsciiOrUTF16BE(t3):y2)}let b2=g2.get("A");if(b2){Array.isArray(b2)||(b2=[b2]);for(let e3 of b2)if(e3=this.xrefWrapper.fetchIfRef(e3),isName(e3.get("O"),"Table")&&e3.has("Headers")){let t3=this.xrefWrapper.fetchIfRef(e3.getRaw("Headers"));if(Array.isArray(t3))for(let e4=0,n3=t3.length;e4<n3;e4++){let n4=i2.get(stringToPDFString(t3[e4],!1));n4&&(t3[e4]=n4)}}}for(let e3 of m2){let t3=p2[e3];this.xref[t3.num].set("P",h2)}return p2.length===1?g2.set("K",p2[0]):p2.length>1&&g2.set("K",p2),h2}#f({document:e2,includePages:t2,excludePages:n2}){if(!e2)return[];let compile=e3=>{if(!e3?.length)return null;let t3=new Set,n3=[];for(let r3 of e3)Array.isArray(r3)?n3.push(r3):t3.add(r3);return{indices:t3,ranges:n3}},matches=(e3,{indices:t3,ranges:n3})=>t3.has(e3)||n3.some(([t4,n4])=>e3>=t4&&e3<=n4),r2=compile(t2),i2=compile(n2),a2=[];for(let t3=0,n3=e2.numPages;t3<n3;t3++)i2&&matches(t3,i2)||(!r2||matches(t3,r2))&&a2.push(t3);return a2}#p(e2){let t2=Array(e2.length),n2=[],r2=[];for(let i3=0;i3<e2.length;i3++){let a3=e2[i3],o2;if(a3.image)o2=t2[i3]=1;else if(a3.document)o2=t2[i3]=this.#f(a3).length;else{t2[i3]=0;continue}if(!a3.pageIndices)if(a3.insertAfter===void 0)for(let e3=0;e3<o2;e3++)n2.push(i3);else r2.push({i:i3,insertAfter:a3.insertAfter,count:o2})}if(r2.length===0)return e2;let hasContent=e3=>!!(e3.document||e3.image);for(let n3=0;n3<e2.length;n3++){let r3=e2[n3];if(hasContent(r3)&&r3.pageIndices&&r3.pageIndices.length<t2[n3])throw Error("extractPages: partial pageIndices cannot be combined with insertAfter entries.")}if(r2.sort((e3,t3)=>e3.insertAfter-t3.insertAfter||e3.i-t3.i),n2.length===0&&e2.some(e3=>hasContent(e3)&&e3.pageIndices)){let t3=e2.slice(),n3=-1;for(let t4 of e2)if(!(!hasContent(t4)||!t4.pageIndices))for(let e3 of t4.pageIndices)e3>n3&&(n3=e3);let i3=0;for(let{i:e3,insertAfter:a3,count:o2}of r2){let r3=Math.min(Math.max(a3,-1)+i3,n3);for(let e4=0;e4<t3.length;e4++){let n4=t3[e4];!hasContent(n4)||!n4.pageIndices||n4.pageIndices.every(e5=>e5<=r3)||(t3[e4]={...n4,pageIndices:n4.pageIndices.map(e5=>e5>r3?e5+o2:e5)})}let s2=[];for(let e4=0;e4<o2;e4++)s2.push(r3+1+e4);let c2={...t3[e3],pageIndices:s2};delete c2.insertAfter,t3[e3]=c2,i3+=o2,n3+=o2}return t3}let i2=0;for(let{i:e3,insertAfter:t3,count:a3}of r2){let r3=Math.max(t3,-1)+1+i2;n2.splice(r3,0,...Array(a3).fill(e3)),i2+=a3}let a2=Array(e2.length);for(let e3=0;e3<n2.length;e3++){let t3=n2[e3];(a2[t3]||=[]).push(e3)}return e2.map((e3,t3)=>{if(!hasContent(e3)||e3.pageIndices)return e3;let n3={...e3,pageIndices:a2[t3]||[]};return delete n3.insertAfter,n3})}async extractPages(e2,t2,n2,r2,i2){this.#t=n2,e2=this.#p(e2);let a2=[],o2=0,reservePageSlot=e3=>{if(!Number.isInteger(e3)||e3<0)throw Error("extractPages: invalid page index.");if(this.oldPages[e3]!==void 0)throw Error("extractPages: overlapping pageIndices.");this.oldPages[e3]=null},s2=e2.filter(e3=>!!e3.document);this.isSingleFile=s2.length===1||s2.length>0&&s2.every(e3=>e3.document===s2[0].document);let c2=[];t2&&(this.#e={handler:r2,task:i2,newAnnotationsByPage:getNewAnnotationsMap(t2),imagesPromises:AnnotationFactory.generateImages(t2.values(),this.xrefWrapper,!0)});let l2=[];for(let t3 of e2){let{document:e3,image:n3,includePages:r3,excludePages:i3,pageIndices:s3}=t3;if(n3){if(s3&&(o2=-1,s3.length>1))throw Error("extractPages: too many pageIndices.");let e4;if(s3?.length)e4=s3[0];else if(o2!==-1)e4=o2++;else for(e4=0;this.oldPages[e4]!==void 0;e4++);reservePageSlot(e4),l2.push({image:n3,slot:e4});continue}if(!e3)continue;s3&&(o2=-1);let u3=this.#f({document:e3,includePages:r3,excludePages:i3});if(s3&&s3.length>u3.length)throw Error("extractPages: too many pageIndices.");let d3=new DocumentData(e3);c2.push(d3),a2.push(this.#m(d3));let f2=0;for(let t4 of u3){let n4;if(s3&&(n4=s3[f2++]),n4===void 0)if(o2!==-1)n4=o2++;else for(n4=0;this.oldPages[n4]!==void 0;n4++);reservePageSlot(n4),a2.push(e3.getPage(t4).then(e4=>{this.oldPages[n4]=new PageData(e4,d3)}))}}await Promise.all(a2);for(let e3=0,t3=this.oldPages.length;e3<t3;e3++)if(this.oldPages[e3]===void 0)throw Error("extractPages: sparse pageIndices.");a2.length=0,this.#b(c2),this.#C(c2),this.#L();for(let e3 of this.oldPages)e3&&a2.push(this.#h(e3));await Promise.all(a2),this.#x(),this.#g(c2);let u2=new Map;for(let e3 of l2)u2.set(e3.slot,e3);let d2=u2.size>0?this.#z():null;for(let e3=0,t3=this.oldPages.length;e3<t3;e3++){let t4=u2.get(e3);t4?this.newPages[e3]=await this.#B(t4.image,d2):this.newPages[e3]=await this.#R(e3,null)}return this.#_(c2),await this.#y(c2),await this.#k(c2),this.#E(c2),await this.#W(c2),this.writePDF()}async#m(e2){let{document:{pdfManager:t2,xref:n2}}=e2;await Promise.all([t2.ensureCatalog("destinations").then(t3=>e2.destinations=t3),t2.ensureCatalog("rawPageLabels").then(t3=>e2.pageLabels=t3),t2.ensureCatalog("structTreeRoot").then(t3=>e2.structTreeRoot=t3),t2.ensureCatalog("acroForm").then(t3=>e2.acroForm=t3),t2.ensureCatalog("documentOutlineForEditor").then(t3=>e2.outline=t3),t2.ensureCatalog("rawEmbeddedFiles").then(t3=>e2.embeddedFiles=t3)]);let r2=e2.structTreeRoot;if(r2){let t3=r2.dict,i2=t3.get("ParentTree");i2&&(e2.parentTree=new NumberTree(i2,n2).getAll(!0));let a2=t3.get("IDTree");a2&&(e2.idTree=new NameTree(a2,n2).getAll(!0)),e2.roleMap=t3.get("RoleMap")||null,e2.classMap=t3.get("ClassMap")||null;let o2=t3.get("Namespaces")||null;o2&&!Array.isArray(o2)&&(o2=[o2]),e2.namespaces=o2,e2.structTreeAF=t3.get("AF")||null,e2.structTreePronunciationLexicon=t3.get("PronunciationLexicon")||null}}async#h(e2){let{page:{xref:t2,annotations:n2},documentData:{pagesMap:r2,destinations:i2,usedNamedDestinations:a2,fieldToParent:o2}}=e2;if(!n2)return;let s2=[],c2=[],l2=0,{hasSignatureAnnotations:u2}=e2.documentData;for(let e3 of n2){let n3=l2++;s2.push(t2.fetchIfRefAsync(e3).then(async t3=>{if(!isName(t3.get("Subtype"),"Link")){if(isName(t3.get("Subtype"),"Widget")){u2||=isName(t3.get("FT"),"Sig");let n4=t3.get("Parent")||null;t3.delete("Parent"),o2.put(e3,n4)}c2[n3]=e3;return}let s3=t3.get("A"),l3=s3 instanceof F?s3.get("D"):t3.get("Dest");if(!l3||Array.isArray(l3)&&(!(l3[0]instanceof L)||r2.has(l3[0])))c2[n3]=e3;else if(typeof l3=="string"){let t4=stringToPDFString(l3,!0);i2.has(t4)&&(c2[n3]=e3,a2.add(t4))}}))}await Promise.all(s2),c2=c2.filter(e3=>!!e3),e2.annotations=c2.length>0?c2:null,e2.documentData.hasSignatureAnnotations||=u2}#g(e2){for(let{postponedRefCopies:t2,pagesMap:n2}of e2)for(let e3 of n2.keys())t2.put(e3,[])}#_(e2){for(let{postponedRefCopies:t2,oldRefMapping:n2}of e2){for(let[e3,r2]of t2.items()){let t3=n2.get(e3);for(let e4 of r2)e4(t3)}t2.clear()}}#v(e2,t2,n2=new RefSet){if(e2 instanceof L){n2.has(e2)||(n2.put(e2),this.#v(this.xref[e2.num],t2,n2));return}if(Array.isArray(e2)){for(let r3 of e2)this.#v(r3,t2,n2);return}let r2;if(e2 instanceof BaseStream?{dict:r2}=e2:e2 instanceof F&&(r2=e2),r2){t2(r2);for(let e3 of r2.getRawValues())this.#v(e3,t2,n2)}}async#y(e2){let t2=0,{parentTree:n2}=this;for(let e3=0,r3=this.newPages.length;e3<r3;e3++){if(!this.oldPages[e3])continue;let{documentData:{parentTree:r4,oldRefMapping:i3,oldStructParentMapping:a3,usedStructParents:o3,document:{xref:s3}}}=this.oldPages[e3];if(!r4)continue;let c3=this.newPages[e3],l3=this.xref[c3.num],u2=new RefSet;u2.put(c3),this.#v(l3,e4=>{let c4=e4.get("StructParent")??e4.get("StructParents");if(typeof c4!="number")return;o3.add(c4);let l4=r4.get(c4),u3=l4 instanceof L?l4:null;if(u3){let e5=s3.fetch(u3);Array.isArray(e5)&&(l4=e5)}if(Array.isArray(l4)&&l4.every(e5=>e5===null)&&(l4=null),!l4){e4.has("StructParent")?e4.delete("StructParent"):e4.delete("StructParents");return}let d2=a3.get(c4);d2===void 0&&(d2=t2++,a3.set(c4,d2),n2.set(d2,[i3,l4])),e4.has("StructParent")?e4.set("StructParent",d2):e4.set("StructParents",d2)},u2)}let{structTreeKids:r2,idTree:i2,classMap:a2,roleMap:o2,namespaces:s2,structTreeAF:c2,structTreePronunciationLexicon:l2}=this;for(let t3 of e2){let{document:{xref:e3},oldRefMapping:n3,parentTree:u2,usedStructParents:d2,structTreeRoot:f2,idTree:p2,classMap:m2,roleMap:h2,namespaces:g2,structTreeAF:_2,structTreePronunciationLexicon:v2}=t3;if(!f2)continue;this.currentDocument=t3;let y2=new RefSet;for(let[e4,t4]of u2||[])!d2.has(e4)&&t4 instanceof L&&y2.put(t4);let b2=new Map;for(let[e4,t4]of p2||[]){let n4=e4;if(i2.has(e4))for(let t5=1;;t5++){let r3=`${e4}_${t5}`;if(!i2.has(r3)){b2.set(e4,r3),n4=r3;break}}i2.set(n4,t4)}let x2=new Map;if(m2?.size>0)for(let[t4,n4]of m2){if(n4=await this.#i(n4,!0,e3),a2.has(t4))for(let e4=1;;e4++){let n5=`${t4}_${e4}`;if(!a2.has(n5)){x2.set(t4,n5),t4=n5;break}}a2.set(t4,n4)}let S2=new Map;if(h2?.size>0)for(let[e4,t4]of h2){let n4=o2.get(e4);if(!n4){o2.set(e4,t4);continue}if(n4!==t4)for(let n5=1;;n5++){let r3=`${e4}_${n5}`;if(!o2.has(r3)){S2.set(e4,r3),o2.set(r3,t4);break}}}if(g2?.length>0)for(let t4 of g2){let n4=await e3.fetchIfRefAsync(t4),r3=n4.get("NS");if(!r3||s2.has(r3))continue;r3=stringToPDFString(r3,!1);let i3=await this.#i(n4,!0,e3);s2.set(r3,i3)}if(_2)for(let t4 of _2)c2.push(await this.#i(t4,!0,e3));if(v2)for(let t4 of v2)l2.push(await this.#i(t4,!0,e3));let C2=f2.dict.get("K");if(C2){C2=Array.isArray(C2)?C2:[C2];for(let t4 of C2){let n4=t4 instanceof L?t4:null;if(n4&&y2.has(n4))continue;t4=await e3.fetchIfRefAsync(t4);let i3=await this.#d(n4,t4,e3,y2,b2,x2,S2);i3&&r2.push(i3)}for(let[e4,t4]of p2||[]){let r3=t4 instanceof L&&n3.get(t4),a3=b2.get(e4)||e4;r3?i2.set(a3,r3):i2.delete(a3)}}}for(let[e3,[t3,r3]]of n2){if(!r3){n2.delete(e3);continue}if(!Array.isArray(r3)){let i4=t3.get(r3);i4===void 0?n2.delete(e3):n2.set(e3,i4);continue}let i3=r3.map(e4=>e4 instanceof L&&t3.get(e4)||null);if(i3.length===0||i3.every(e4=>e4===null)){n2.delete(e3);continue}n2.set(e3,i3)}this.currentDocument=null}#b(e2){for(let t2 of e2){if(!t2.destinations)continue;let{destinations:e3,pagesMap:n2}=t2,r2=t2.destinations=new Map;for(let[t3,i2]of Object.entries(e3)){let e4=i2[0],a2=e4 instanceof L&&n2.get(e4);a2&&((a2.pointingNamedDestinations||=new Set).add(t3),r2.set(t3,i2))}}}#x(){let{namedDestinations:e2}=this,getUniqueDestinationName=t2=>{if(!e2.has(t2))return t2;for(let n2=1;;n2++){let r2=`${t2}_${n2}`;if(!e2.has(r2))return r2}};for(let t2=0,n2=this.oldPages.length;t2<n2;t2++){let n3=this.oldPages[t2];if(!n3)continue;let{documentData:{destinations:r2,dedupNamedDestinations:i2,usedNamedDestinations:a2}}=n3,{pointingNamedDestinations:o2}=n3;if(o2){n3.pointingNamedDestinations=o2=o2.intersection(a2);for(let n4 of o2){if(!a2.has(n4))continue;let o3=r2.get(n4).slice();if(!e2.has(n4)){e2.set(n4,o3);continue}let s2=getUniqueDestinationName(`${n4}_p${t2+1}`);i2.set(n4,s2),e2.set(s2,o3)}}}}#S(e2,t2){if(t2.size===0)return;let fixDestination=(e3,n2,r2)=>{typeof r2=="string"&&e3.set(n2,t2.get(stringToPDFString(r2,!0))||r2)};for(let t3 of e2){let e3=this.xref[t3.num];if(!isName(e3.get("Subtype"),"Link"))continue;let n2=e3.get("A");if(n2 instanceof F&&n2.has("D")){fixDestination(n2,"D",n2.get("D"));continue}fixDestination(e3,"Dest",e3.get("Dest"))}}#C(e2){let collect=(e3,t2,n2)=>{for(let r2 of e3)typeof r2.dest=="string"&&t2?.has(r2.dest)&&n2.add(r2.dest),r2.items.length>0&&collect(r2.items,t2,n2)};for(let t2 of e2){let{outline:e3,destinations:n2,usedNamedDestinations:r2}=t2;e3?.length&&collect(e3,n2,r2)}}#w(e2,t2){let{dest:n2,action:r2,url:i2,unsafeUrl:a2,attachment:o2,setOCGState:s2}=e2;if(r2||i2||a2||o2||s2)return!0;if(!n2)return!1;if(typeof n2=="string"){let e3=t2.dedupNamedDestinations.get(n2)||n2;return this.namedDestinations.has(e3)}return Array.isArray(n2)&&n2[0]instanceof L?!!t2.oldRefMapping.get(n2[0]):!1}#T(e2,t2){let n2=[];for(let r2 of e2){let e3=this.#T(r2.items,t2),i2=this.#w(r2,t2);(i2||e3.length>0)&&n2.push({...r2,dest:i2?r2.dest:null,rawDict:i2?r2.rawDict:null,items:e3,_documentData:t2})}return n2}#E(e2){let t2=[];for(let n2 of e2){let{outline:e3}=n2;e3?.length&&t2.push(...this.#T(e3,n2))}this.outlineItems=t2.length>0?t2:null}async#D(e2,t2){let{dest:n2,rawDict:r2}=t2,i2=t2._documentData;if(n2){if(typeof n2=="string"){let t3=i2.dedupNamedDestinations.get(n2)||n2;e2.set("Dest",stringToAsciiOrUTF16BE(t3))}else if(Array.isArray(n2)){let t3=n2.slice();t3[0]instanceof L&&(t3[0]=i2.oldRefMapping.get(t3[0])||t3[0]),e2.set("Dest",t3)}return}let a2=r2?.get("A");if(a2 instanceof F){this.currentDocument=i2;let t3=await this.#r(a2,i2.document.xref);this.currentDocument=null,e2.set("A",t3)}}async#O(){let{outlineItems:e2}=this;if(!e2?.length)return;let[t2,n2]=this.newDict;n2.setIfName("Type","Outlines");let assignRefs=e3=>{for(let t3 of e3)[t3._ref]=this.newDict,t3.items.length>0&&assignRefs(t3.items)};assignRefs(e2);let fillItems=async(e3,t3)=>{let n3=0;for(let r3=0;r3<e3.length;r3++){let i2=e3[r3],a2=this.xref[i2._ref.num];if(a2.set("Title",stringToAsciiOrUTF16BE(i2.title)),a2.set("Parent",t3),r3>0&&a2.set("Prev",e3[r3-1]._ref),r3<e3.length-1&&a2.set("Next",e3[r3+1]._ref),i2.items.length>0){a2.set("First",i2.items[0]._ref),a2.set("Last",i2.items.at(-1)._ref);let e4=await fillItems(i2.items,i2._ref);i2.count!==void 0&&a2.set("Count",i2.count<0?-e4:e4),n3+=i2.count!==void 0&&i2.count<0?1:e4+1}else n3+=1;await this.#D(a2,i2);let o2=(i2.bold?2:0)|!!i2.italic;o2!==0&&a2.set("F",o2),i2.color&&(i2.color[0]!==0||i2.color[1]!==0||i2.color[2]!==0)&&a2.set("C",[i2.color[0]/255,i2.color[1]/255,i2.color[2]/255])}return n3},r2=await fillItems(e2,t2);n2.set("First",e2[0]._ref),n2.set("Last",e2.at(-1)._ref),n2.set("Count",r2),this.rootDict.set("Outlines",t2)}async#k(e2){this.#j(e2),this.#N(e2),this.#A(e2),await this.#P(e2);let t2=this.fields;for(let n2 of e2){let e3=n2.acroForm?.get("Fields")||null;!e3&&n2.fieldToParent.size>0&&(e3=this.#F(n2.fieldToParent,n2.document.xref)),Array.isArray(e3)&&e3.length>0&&(this.currentDocument=n2,await this.#I(t2,e3),this.currentDocument=null)}this.#M(e2)}#A(e2){let t2=0,n2=null;for(let r2 of e2){let e3=r2.acroForm?.get("Q");if(typeof e3=="number"&&e3!==0){if(n2?.acroFormQ>0){r2.acroFormQ=e3;continue}if(t2===0){t2=e3,n2=r2;continue}e3!==t2&&(n2.acroFormQ||=t2,r2.acroFormQ=e3,t2=0)}}t2>0&&(this.acroFormQ=t2)}#j(e2){let t2=0,n2=!1;for(let r2 of e2){if(!r2.acroForm)continue;let e3=r2.acroForm.get("SigFlags");typeof e3=="number"&&r2.hasSignatureAnnotations&&(t2|=e3),r2.acroForm.get("NeedAppearances")===!0&&(n2=!0)}this.acroFormSigFlags=t2,this.acroFormNeedAppearances=n2}#M(e2){let t2=[];for(let n2 of e2){let e3=n2.acroForm?.get("CO")||null;if(!Array.isArray(e3))continue;let{oldRefMapping:r2}=n2;for(let n3 of e3){let e4=n3 instanceof L&&r2.get(n3);e4&&t2.push(e4)}}this.acroFormCalculationOrder=t2.length>0?t2:null}#N(e2){let t2=null,n2=null;for(let r2 of e2){let e3=r2.acroForm?.get("DA")||null;if(!(!e3||typeof e3!="string")){if(n2?.acroFormDefaultAppearance){r2.acroFormDefaultAppearance=e3;continue}if(!t2){t2=e3,n2=r2;continue}e3!==t2&&(n2.acroFormDefaultAppearance||=t2,r2.acroFormDefaultAppearance=e3,t2=null)}}t2&&(this.acroFormDefaultAppearance=t2)}async#P(e2){let t2=null,n2=null,r2=null;for(let i2 of e2){let e3=i2.acroForm?.get("DR")||null;if(!(!e3||!(e3 instanceof F))){if(r2?.acroFormDefaultResources){i2.acroFormDefaultResources=e3;continue}if(!t2){t2=e3,n2=i2.acroForm.getRaw("DR"),r2=i2;continue}deepCompare(t2,e3)||(r2.acroFormDefaultResources||=t2,i2.acroFormDefaultResources=e3,t2=null,n2=null)}}t2&&(this.currentDocument=r2,this.acroFormDefaultResources=await this.#i(n2,!0,r2.document.xref),this.currentDocument=null)}#F(e2,t2){let n2=[],r2=new RefSet;for(let[i2,a2]of e2){if(!a2){n2.push(i2);continue}let e3=a2,o2=a2;for(;e3=t2.fetchIfRef(e3)?.getRaw("Parent")||null,e3;)o2=e3;o2 instanceof L&&!r2.has(o2)&&(n2.push(o2),r2.put(o2))}return n2}async#I(e2,t2){let n2=new RefSet,r2=[{kids:t2,newKids:e2,pos:0,oldParentRef:null,parentRef:null,parent:null}],{document:{xref:i2},oldRefMapping:a2,fieldToParent:o2,acroFormDefaultAppearance:s2,acroFormDefaultResources:c2,acroFormQ:l2}=this.currentDocument,u2=[],d2=[];for(;r2.length>0;){let e3=r2.at(-1),{kids:t3,newKids:f3,parent:p2,pos:m2}=e3;if(m2===t3.length){if(r2.pop(),f3.length===0||!p2)continue;let t4=this.xref[e3.parentRef.num]=this.cloneDict(p2);if(t4.delete("Parent"),t4.delete("Kids"),await this.#i(t4,!1,i2),t4.set("Kids",f3),r2.length>0){let n3=r2.at(-1);if(!n3.parentRef&&n3.oldParentRef){let e4=n3.parentRef=this.newRef;t4.set("Parent",e4),a2.put(n3.oldParentRef,e4)}n3.newKids.push(e3.parentRef)}continue}let h2=t3[e3.pos++];if(!(h2 instanceof L)||n2.has(h2))continue;n2.put(h2);let g2=i2.fetchIfRef(h2);if(g2.has("Kids")){let e4=g2.get("Kids");if(!Array.isArray(e4))continue;r2.push({kids:e4,newKids:[],pos:0,oldParentRef:h2,parentRef:null,parent:g2});continue}if(!o2.has(h2))continue;let _2=a2.get(h2);if(!_2)continue;f3.push(_2),!e3.parentRef&&e3.oldParentRef&&(e3.parentRef=this.newRef,a2.put(e3.oldParentRef,e3.parentRef));let v2=this.xref[_2.num];e3.parentRef&&v2.set("Parent",e3.parentRef),s2&&isName(v2.get("FT"),"Tx")&&!v2.has("DA")&&u2.push(v2),c2&&!v2.has("Kids")&&v2.get("AP")instanceof F&&d2.push(v2),l2&&!v2.has("Q")&&v2.set("Q",l2)}for(let e3 of u2)getInheritableProperty({dict:e3,key:"DA"})||e3.set("DA",s2);let f2=new Map;for(let e3 of d2){let t3=e3.get("AP");for(let[,e4]of t3){if(!(e4 instanceof BaseStream))continue;let t4=e4.dict.getRaw("Resources");if(!t4){let t5=await f2.getOrInsertComputed(c2,()=>this.#r(c2,i2));e4.dict.set("Resources",t5);continue}t4=i2.fetchIfRef(t4);for(let[e5,n3]of c2.getRawEntries())if(!t4.has(e5)){let r3=n3;n3 instanceof L?r3=await this.#i(n3,!0,i2):(n3 instanceof F||n3 instanceof BaseStream||Array.isArray(n3))&&(r3=await f2.getOrInsertComputed(n3,()=>this.#r(n3,i2))),t4.set(e5,r3)}}}}async#L(){if(!this.isSingleFile)return;let e2=this.oldPages.find(e3=>!!e3);if(!e2)return;let{documentData:{document:t2,pageLabels:n2}}=e2;if(!n2)return;let r2=t2.numPages,i2=new Map,a2=new Set(this.oldPages.filter(e3=>!!e3).map(({page:{pageIndex:e3}})=>e3)),o2=null,s2=-1;for(let e3=0;e3<r2;e3++){let t3=n2.get(e3);if(t3&&(o2=t3,s2=o2.has("St")?e3:-1),a2.has(e3)){if(s2!==-1){let t4=o2.get("St");o2=this.cloneDict(o2),o2.set("St",t4+(e3-s2)),s2=-1}i2.set(e3,o2)}}let defaultLabel=e3=>{let t3=new F;return t3.setIfName("S","D"),t3.set("St",e3+1),t3};o2=null;let c2=this.pageLabels=[];for(let e3=0,t3=this.oldPages.length;e3<t3;e3++){let t4=this.oldPages[e3],n3=t4&&i2.get(t4.page.pageIndex)||defaultLabel(e3);n3!==o2&&(o2=n3,c2.push([e3,o2]))}}async#R(e2){let{page:t2,documentData:n2,annotations:r2,pointingNamedDestinations:i2}=this.oldPages[e2];this.currentDocument=n2;let{dedupNamedDestinations:a2,oldRefMapping:o2}=n2,{xref:s2,rotate:c2,mediaBox:l2,resources:u2,ref:d2}=t2,f2=this.newRef,p2=this.xref[f2.num]=this.cloneDict(t2.pageDict);if(o2.put(d2,f2),i2)for(let e3 of i2){let t3=a2.get(e3)||e3,n3=this.namedDestinations.get(t3);n3[0]=f2}for(let e3 of["Rotate","MediaBox","CropBox","BleedBox","TrimBox","ArtBox","Resources","Annots","Parent","UserUnit"])p2.delete(e3);let m2=this.newRefCount;await this.#i(p2,!1,s2),p2.set("Rotate",c2),p2.set("MediaBox",l2);for(let e3 of["CropBox","BleedBox","TrimBox","ArtBox"]){let n3=t2.getBoundingBox(e3);n3?.some((e4,t3)=>e4!==l2[t3])&&p2.set(e3,n3)}let h2=t2.userUnit;h2!==1&&p2.set("UserUnit",h2),p2.setIfDict("Resources",await this.#i(u2,!0,s2));let g2=null;if(r2){let e3=await this.#i(r2,!0,s2);this.#S(e3,a2),Array.isArray(e3)&&e3.length>0&&(g2=e3)}let _2=n2.document===this.#t?this.#e?.newAnnotationsByPage?.get(t2.pageIndex):null;if(_2){let{handler:e3,task:n3,imagesPromises:r3}=this.#e,i3=new RefSetCache,a3=await AnnotationFactory.saveNewAnnotations(t2.createAnnotationEvaluator(e3),this.xrefWrapper,n3,_2,r3,i3);for(let[e4,{data:t3}]of i3.items())this.xref[e4.num]=t3;g2||=[];for(let{ref:e4}of a3.annotations)g2.push(e4)}if(p2.setIfArray("Annots",g2),this.useObjectStreams){let e3=this.newRefCount,t3=[];for(let n3=m2;n3<e3;n3++)this.xref[n3]instanceof BaseStream||t3.push(L.get(n3,0));for(let e4=0;e4<t3.length;e4+=65535){let n3=this.newRef;this.objStreamRefs.add(n3.num),this.xref[n3.num]=t3.slice(e4,e4+65535)}}return this.currentDocument=null,f2}#z(){let e2=new Map;for(let t3 of this.oldPages){if(!t3)continue;let{page:n2}=t3,[r2,i2,a2,o2]=n2.view,s2=a2-r2,c2=o2-i2;if(s2<=0||c2<=0)continue;n2.rotate%180!=0&&([s2,c2]=[c2,s2]);let l2=`${s2}x${c2}`,u2=e2.get(l2);u2?u2.count++:e2.set(l2,{width:s2,height:c2,count:1})}if(e2.size===0){let[,,e3,t3]=fo;return{width:e3,height:t3}}let t2=null;for(let n2 of e2.values())(!t2||n2.count>t2.count||n2.count===t2.count&&n2.width*n2.height>t2.width*t2.height)&&(t2=n2);return{width:t2.width,height:t2.height}}async#B(e2,t2){let{width:n2,height:r2}=t2,i2=n2*.1,a2=Math.max(1,n2-2*i2),o2=Math.max(1,r2-2*i2),s2=this.newRefCount,{imageStream:c2,smaskStream:l2,width:u2,height:d2}=await createImage(e2,this.xrefWrapper,{closeBitmap:!0}),f2=Math.min(a2/u2,o2/d2),p2=u2*f2,m2=d2*f2,h2=(n2-p2)/2,g2=(r2-m2)/2;if(l2){let e3=this.newRef;this.xref[e3.num]=l2,c2.dict.set("SMask",e3)}let _2=this.newRef;this.xref[_2.num]=c2;let v2=new F(this.xrefWrapper);v2.set("Im0",_2);let y2=new F(this.xrefWrapper);y2.set("XObject",v2),y2.set("ProcSet",[N.get("PDF"),N.get("ImageC")]);let b2=new StringStream(`q ${numberToString(p2)} 0 0 ${numberToString(m2)} ${numberToString(h2)} ${numberToString(g2)} cm /Im0 Do Q`,new F(this.xrefWrapper)),x2=this.newRef;this.xref[x2.num]=b2;let S2=this.newRef,C2=this.xref[S2.num]=new F(this.xrefWrapper);if(C2.setIfName("Type","Page"),C2.set("MediaBox",[0,0,n2,r2]),C2.set("Resources",y2),C2.set("Contents",x2),this.useObjectStreams){let e3=this.newRefCount,t3=[];for(let n3=s2;n3<e3;n3++)this.xref[n3]instanceof BaseStream||t3.push(L.get(n3,0));for(let e4=0;e4<t3.length;e4+=65535){let n3=this.newRef;this.objStreamRefs.add(n3.num),this.xref[n3.num]=t3.slice(e4,e4+65535)}}return S2}#V(){let{newPages:e2,rootDict:t2,pagesRef:n2,pagesDict:r2}=this;t2.set("Pages",n2),r2.setIfName("Type","Pages"),r2.set("Count",e2.length);let i2=[{dict:r2,kids:e2,parentRef:n2}];for(;i2.length>0;){let{dict:e3,kids:t3,parentRef:n3}=i2.pop();if(t3.length<=16){e3.set("Kids",t3);for(let e4 of t3)this.xref[e4.num].set("Parent",n3);continue}let r3=Math.max(16,Math.ceil(t3.length/16)),a2=[];for(let e4=0;e4<t3.length;e4+=r3)a2.push(t3.slice(e4,e4+r3));let o2=[];e3.set("Kids",o2);for(let e4 of a2){let[t4,r4]=this.newDict;o2.push(t4),r4.setIfName("Type","Pages"),r4.set("Parent",n3),r4.set("Count",e4.length),i2.push({dict:r4,kids:e4,parentRef:t4})}}}#H(e2,t2){let n2=e2.sort(t2?([e3],[t3])=>e3.localeCompare(t3):([e3],[t3])=>e3-t3),[r2,i2]=this.newDict,a2=[{dict:i2,entries:n2,isRoot:!0}],o2=t2?"Names":"Nums";for(;a2.length>0;){let{dict:e3,entries:t3,isRoot:n3}=a2.pop();if(t3.length<=64){n3||e3.set("Limits",[t3[0][0],t3.at(-1)[0]]),e3.set(o2,t3.flat());continue}let r3=[],i3=Math.max(64,Math.ceil(t3.length/64));for(let e4=0;e4<t3.length;e4+=i3)r3.push(t3.slice(e4,e4+i3));let s2=[];e3.set("Kids",s2);for(let e4 of r3){let[t4,n4]=this.newDict;s2.push(t4),n4.set("Limits",[e4[0][0],e4.at(-1)[0]]),a2.push({dict:n4,entries:e4})}}return r2}#U(){let{pageLabels:e2}=this;if(!e2?.length)return;let{rootDict:t2}=this,n2=this.#H(this.pageLabels,!1);t2.set("PageLabels",n2)}async#W(e2){let{embeddedFiles:t2}=this;for(let n2 of e2){let{embeddedFiles:e3,document:{xref:r2}}=n2;if(e3?.size){this.currentDocument=n2;for(let[n3,i2]of e3){let e4=n3;if(t2.has(e4)){let r3=stringToPDFString(n3,!0);for(let n4=1;;n4++){let i3=`${r3}_${n4}`;if(!t2.has(i3)){e4=i3;break}}}t2.set(e4,await this.#i(i2,!0,r2))}this.currentDocument=null}}}#G(){let{embeddedFiles:e2}=this;e2.size!==0&&(this.namesDict||([this.namesRef,this.namesDict]=this.newDict,this.rootDict.set("Names",this.namesRef)),this.namesDict.set("EmbeddedFiles",this.#H(Array.from(e2.entries()),!0)))}#K(){let{namedDestinations:e2}=this;e2.size!==0&&(this.namesDict||([this.namesRef,this.namesDict]=this.newDict,this.rootDict.set("Names",this.namesRef)),this.namesDict.set("Dests",this.#H(Array.from(e2.entries()),!0)))}#q(){let{structTreeKids:e2}=this;if(!e2?.length)return;let{rootDict:t2}=this,n2=this.newRef,r2=this.xref[n2.num]=new F;r2.setIfName("Type","StructTreeRoot"),r2.setIfArray("K",e2);for(let t3 of e2){let e3=this.xref[t3.num],r3=e3.get("Type");(!r3||isName(r3,"StructElem"))&&e3.set("P",n2)}if(this.parentTree.size>0){let e3=this.#H(Array.from(this.parentTree.entries()),!1);this.xref[e3.num].setIfName("Type","ParentTree"),r2.set("ParentTree",e3),r2.set("ParentTreeNextKey",this.parentTree.size)}if(this.idTree.size>0){let e3=this.#H(Array.from(this.idTree.entries()),!0);this.xref[e3.num].setIfName("Type","IDTree"),r2.set("IDTree",e3)}if(this.classMap.size>0){let e3=this.newRef;this.xref[e3.num]=this.classMap,r2.set("ClassMap",e3)}if(this.roleMap.size>0){let e3=this.newRef;this.xref[e3.num]=this.roleMap,r2.set("RoleMap",e3)}if(this.namespaces.size>0){let e3=this.newRef;this.xref[e3.num]=Array.from(this.namespaces.values()),r2.set("Namespaces",e3)}if(this.structTreeAF.length>0){let e3=this.newRef;this.xref[e3.num]=this.structTreeAF,r2.set("AF",e3)}if(this.structTreePronunciationLexicon.length>0){let e3=this.newRef;this.xref[e3.num]=this.structTreePronunciationLexicon,r2.set("PronunciationLexicon",e3)}t2.set("StructTreeRoot",n2)}#J(){if(this.fields.length===0)return;let{rootDict:e2}=this,t2=this.newRef,n2=this.xref[t2.num]=new F;e2.set("AcroForm",t2),n2.set("Fields",this.fields),this.acroFormNeedAppearances&&n2.set("NeedAppearances",!0),this.acroFormSigFlags>0&&n2.set("SigFlags",this.acroFormSigFlags),n2.setIfArray("CO",this.acroFormCalculationOrder),n2.setIfDict("DR",this.acroFormDefaultResources),this.acroFormDefaultAppearance&&n2.set("DA",this.acroFormDefaultAppearance),this.acroFormQ>0&&n2.set("Q",this.acroFormQ)}async#Y(){let{rootDict:e2}=this;e2.setIfName("Type","Catalog"),e2.setIfName("Version",this.version),this.#J(),this.#V(),this.#U(),this.#G(),this.#K(),this.#q(),await this.#O()}#X(){let e2=new Map;if(this.isSingleFile){let{xref:{trailer:t2}}=this.oldPages.find(e3=>!!e3).documentData.document,n2=t2.get("Info");for(let[t3,r2]of n2||[])typeof r2=="string"&&e2.set(t3,stringToPDFString(r2))}e2.delete("ModDate"),e2.set("CreationDate",getModificationDate()),e2.set("Creator","PDF.js"),e2.set("Producer","Firefox"),this.author&&e2.set("Author",this.author),this.title&&e2.set("Title",this.title);for(let[t2,n2]of e2)this.infoDict.set(t2,stringToAsciiOrUTF16BE(n2));return e2}async#Z(){if(!this.isSingleFile)return[null,null,null];let{documentData:e2}=this.oldPages.find(e3=>!!e3),{document:{xref:{trailer:t2,encrypt:n2}}}=e2;if(!t2.has("Encrypt"))return[null,null,null];let r2=t2.get("Encrypt");if(!(r2 instanceof F))return[null,null,null];this.currentDocument=e2;let i2=[await this.#r(r2,t2.xref),n2,t2.get("ID")];return this.currentDocument=null,i2}async#Q(){let e2=new RefSetCache;e2.put(L.get(0,65535),{data:null});for(let t2=1,n2=this.xref.length;t2<n2;t2++)this.objStreamRefs?.has(t2)?await this.#$(L.get(t2,0),this.xref[t2],e2):e2.put(L.get(t2,0),{data:this.xref[t2]});return[e2,this.newRef]}async#$(e2,t2,n2){let r2=[""],i2=[],a2=0,o2=[];for(let s3=0,c3=t2.length;s3<c3;s3++){let c4=t2[s3];n2.put(c4,{data:null,objStreamRef:e2,index:s3}),i2.push(`${c4.num} ${a2}`);let l2=this.xref[c4.num];await writeValue(l2,o2,null);let u2=o2.join("");o2.length=0,r2.push(u2),a2+=u2.length+1}r2[0]=i2.join(`
|
|
51
|
+
`);let s2=new F;s2.setIfName("Type","ObjStm"),s2.set("N",t2.length),s2.set("First",r2[0].length+1);let c2=new StringStream(r2.join(`
|
|
52
|
+
`),s2);n2.put(e2,{data:c2})}async writePDF(){await this.#Y();let e2=this.#X(),[t2,n2,r2]=await this.#Z(),[i2,a2]=await this.#Q();return incrementalUpdate({originalData:stringToBytes$1(`%PDF-${this.version}
|
|
53
|
+
%\xFA\xDE\xFA\xCE`),changes:i2,xrefInfo:{startXRef:null,rootRef:this.rootRef,infoRef:this.infoRef,encryptRef:t2,newRef:a2,fileIds:r2||[null,null],infoMap:e2},useXrefStream:this.useObjectStreams,xref:{encrypt:n2,encryptRef:t2}})}},BasePDFStream$1=class{#e=null;#t=null;_fullReader=null;_rangeReaders=new Set;_source=null;constructor(e2,t2,n2){this._source=e2,this.#e=t2,this.#t=n2}get _progressiveDataLength(){return this._fullReader?._loaded??0}getFullReader(){return assert$1(!this._fullReader,"BasePDFStream.getFullReader can only be called once."),this._fullReader=new this.#e(this)}getRangeReader(e2,t2){if(t2<=this._progressiveDataLength)return null;let n2=new this.#t(this,e2,t2);return this._rangeReaders.add(n2),n2}cancelAllRequests(e2){this._fullReader?.cancel(e2);for(let t2 of new Set(this._rangeReaders))t2.cancel(e2)}},BasePDFStreamReader$1=class{onProgress=null;_contentLength=0;_filename=null;_headersCapability=Promise.withResolvers();_isRangeSupported=!1;_isStreamingSupported=!1;_loaded=0;_stream=null;constructor(e2){this._stream=e2}_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(){unreachable$1("Abstract method `read` called")}cancel(e2){unreachable$1("Abstract method `cancel` called")}},BasePDFStreamRangeReader$1=class{_stream=null;constructor(e2,t2,n2){this._stream=e2}async read(){unreachable$1("Abstract method `read` called")}cancel(e2){unreachable$1("Abstract method `cancel` called")}},PDFWorkerStream=class extends BasePDFStream$1{constructor(e2){super(e2,PDFWorkerStreamReader,PDFWorkerStreamRangeReader)}},PDFWorkerStreamReader=class extends BasePDFStreamReader$1{_reader=null;constructor(e2){super(e2);let{msgHandler:t2}=e2._source,n2=t2.sendWithStream("GetReader");this._reader=n2.getReader(),t2.sendWithPromise("ReaderHeadersReady").then(e3=>{this._contentLength=e3.contentLength,this._isStreamingSupported=e3.isStreamingSupported,this._isRangeSupported=e3.isRangeSupported,this._headersCapability.resolve()},this._headersCapability.reject)}async read(){let{value:e2,done:t2}=await this._reader.read();return t2?{value:void 0,done:!0}:{value:e2.buffer,done:!1}}cancel(e2){this._reader.cancel(e2)}},PDFWorkerStreamRangeReader=class extends BasePDFStreamRangeReader$1{_reader=null;constructor(e2,t2,n2){super(e2,t2,n2);let{msgHandler:r2}=e2._source,i2=r2.sendWithStream("GetRangeReader",{begin:t2,end:n2});this._reader=i2.getReader()}async read(){let{value:e2,done:t2}=await this._reader.read();return t2?{value:void 0,done:!0}:{value:e2.buffer,done:!1}}cancel(e2){this._reader.cancel(e2)}},WorkerTask=class{constructor(e2){this.name=e2,this.terminated=!1,this._capability=Promise.withResolvers()}get finished(){return this._capability.promise}finish(){this._capability.resolve()}terminate(){this.terminated=!0}ensureNotTerminated(){if(this.terminated)throw Error("Worker task was terminated")}},WorkerMessageHandler=class{static{typeof window>"u"&&!e&&typeof self<"u"&&typeof self.postMessage=="function"&&"onmessage"in self&&this.initializeFromPort(self)}static setup(e2,t2){let n2=!1;e2.on("test",t3=>{n2||(n2=!0,e2.send("test",t3 instanceof Uint8Array))}),e2.on("configure",e3=>{setVerbosityLevel$1(e3.verbosity)}),e2.on("GetDocRequest",e3=>this.createDocumentHandler(e3,t2))}static createDocumentHandler(e2,t2){let n2,r2=!1,cancelXHRs=null,i2=new Set,a2=getVerbosityLevel$1(),{docId:o2,apiVersion:s2}=e2,c2="6.1.200";if(s2!==c2)throw Error(`The API version "${s2}" does not match the Worker version "${c2}".`);let buildMsg=(e3,t3)=>`The \`${e3}.prototype\` contains unexpected enumerable property "${t3}", thus breaking e.g. \`for...in\` iteration of ${e3}s.`;for(let e3 in{})throw Error(buildMsg("Object",e3));for(let e3 in[])throw Error(buildMsg("Array",e3));let l2=o2+"_worker",u2=new MessageHandler$1(l2,o2,t2);function ensureNotTerminated(){if(r2)throw Error("Worker was terminated")}function startWorkerTask(e3){i2.add(e3)}function finishWorkerTask(e3){e3.finish(),i2.delete(e3)}async function loadDocument(e3){await n2.initDocument(e3);let t3=await n2.ensureDoc("isPureXfa");if(t3){let e4=new WorkerTask("loadXfaResources");startWorkerTask(e4),await n2.ensureDoc("loadXfaResources",[u2,e4]),finishWorkerTask(e4)}let[r3,i3]=await Promise.all([n2.ensureDoc("numPages"),n2.ensureDoc("fingerprints")]);return{numPages:r3,fingerprints:i3,htmlForXfa:t3?await n2.ensureDoc("htmlForXfa"):null}}async function getPdfManager({data:e3,password:t3,disableAutoFetch:n3,rangeChunkSize:r3,docBaseUrl:i3,enableXfa:a3,evaluatorOptions:s3}){let c3={source:null,disableAutoFetch:n3,docBaseUrl:i3,docId:o2,enableXfa:a3,evaluatorOptions:s3,handler:u2,length:0,password:t3,rangeChunkSize:r3};if(e3)return c3.source=e3,new LocalPdfManager(c3);let l3=new PDFWorkerStream({msgHandler:u2}),d2=l3.getFullReader(),{promise:f2,resolve:p2,reject:m2}=Promise.withResolvers(),h2,g2=[];cancelXHRs=e4=>l3.cancelAllRequests(e4),d2.headersReady.then(()=>{if(d2.isRangeSupported){c3.source=l3,c3.length=d2.contentLength,c3.disableAutoFetch||=d2.isStreamingSupported,h2=new NetworkPdfManager(c3);for(let e4 of g2)h2.sendProgressiveData(e4);g2=null,p2(h2),cancelXHRs=null}}).catch(e4=>{m2(e4),cancelXHRs=null});async function readData(){let e4=0;for(;;){let{value:t4,done:n4}=await d2.read();if(ensureNotTerminated(),n4)break;e4+=t4.byteLength,d2.isStreamingSupported||u2.send("DocProgress",{loaded:e4,total:d2.contentLength}),h2?h2.sendProgressiveData(t4):g2.push(t4)}h2||(c3.source=arrayBuffersToBytes(g2),g2=null,h2=new LocalPdfManager(c3),p2(h2)),cancelXHRs=null}return readData().catch(e4=>{m2(e4),cancelXHRs=null}),f2}async function getPassword(e3){let t3=new WorkerTask(`PasswordException: response ${e3.code}`);startWorkerTask(t3);try{return(await u2.sendWithPromise("PasswordRequest",e3)).password}finally{Promise.resolve().then(()=>{finishWorkerTask(t3)})}}function setupDoc(e3){function onSuccess(e4){ensureNotTerminated(),u2.send("GetDoc",{pdfInfo:e4})}function onFailure(e4){r2||(e4 instanceof PasswordException$1?getPassword(e4).then(e5=>{n2.updatePassword(e5),pdfManagerReady()}).catch(()=>{u2.send("DocException",e4)}):u2.send("DocException",wrapReason$1(e4)))}function pdfManagerReady(){ensureNotTerminated(),loadDocument(!1).then(onSuccess,function(e4){if(ensureNotTerminated(),!(e4 instanceof XRefParseException)){onFailure(e4);return}n2.requestLoadedStream().then(function(){ensureNotTerminated(),loadDocument(!0).then(onSuccess,onFailure)},onFailure)})}ensureNotTerminated(),getPdfManager(e3).then(function(e4){if(r2)throw e4.terminate(new AbortException$1("Worker was terminated.")),Error("Worker was terminated");n2=e4,n2.requestLoadedStream(!0).then(e5=>{u2.send("DataLoaded",{length:e5.bytes.byteLength})},()=>{})}).then(pdfManagerReady,onFailure)}return u2.on("GetPage",function(e3){return n2.getPage(e3.pageIndex).then(function(e4){return Promise.all([n2.ensure(e4,"rotate"),n2.ensure(e4,"ref"),n2.ensure(e4,"userUnit"),n2.ensure(e4,"view")]).then(function([e5,t3,n3,r3]){return{rotate:e5,ref:t3,refStr:t3?.toString()??null,userUnit:n3,view:r3}})})}),u2.on("GetPageIndex",function(e3){let t3=L.get(e3.num,e3.gen);return n2.ensureCatalog("getPageIndex",[t3])}),u2.on("GetDestinations",function(e3){return n2.ensureCatalog("destinations")}),u2.on("GetDestination",function(e3){return n2.ensureCatalog("getDestination",[e3.id])}),u2.on("GetPageLabels",function(e3){return n2.ensureCatalog("pageLabels")}),u2.on("GetPageLayout",function(e3){return n2.ensureCatalog("pageLayout")}),u2.on("GetPageMode",function(e3){return n2.ensureCatalog("pageMode")}),u2.on("GetViewerPreferences",function(e3){return n2.ensureCatalog("viewerPreferences")}),u2.on("GetOpenAction",function(e3){return n2.ensureCatalog("openAction")}),u2.on("GetAttachments",function(e3){return n2.ensureCatalog("attachments")}),u2.on("GetAttachmentContent",async function(e3){let t3;for(;;){let r3=t3?await getPassword(t3):null;try{return r3&&n2.updatePassword(r3),await n2.ensureCatalog("attachmentContent",[e3])}catch(e4){if(e4 instanceof PasswordException$1){t3=e4;continue}throw e4}}}),u2.on("GetDocJSActions",function(e3){return n2.ensureCatalog("jsActions")}),u2.on("GetPageJSActions",function({pageIndex:e3}){return n2.getPage(e3).then(e4=>n2.ensure(e4,"jsActions"))}),u2.on("GetAnnotationsByType",async function({types:e3,pageIndexesToSkip:t3}){let[r3,i3]=await Promise.all([n2.ensureDoc("numPages"),n2.ensureDoc("annotationGlobals")]);if(!i3)return null;let a3=[],o3=[],s3=null;try{for(let c3=0,l3=r3;c3<l3;c3++)t3?.has(c3)||(s3||(s3=new WorkerTask("GetAnnotationsByType"),startWorkerTask(s3)),a3.push(n2.getPage(c3).then(t4=>t4.collectAnnotationsByType(u2,s3,e3,o3,i3))));return await Promise.all(a3),(await Promise.all(o3)).filter(e4=>!!e4)}finally{s3&&finishWorkerTask(s3)}}),u2.on("GetOutline",function(e3){return n2.ensureCatalog("documentOutline")}),u2.on("GetOptionalContentConfig",function(e3){return n2.ensureCatalog("optionalContentConfig")}),u2.on("GetPermissions",function(e3){return n2.ensureCatalog("permissions")}),u2.on("GetMetadata",function(e3){return Promise.all([n2.ensureDoc("documentInfo"),n2.ensureCatalog("metadata"),n2.ensureCatalog("hasStructTree")])}),u2.on("GetMarkInfo",function(e3){return n2.ensureCatalog("markInfo")}),u2.on("GetData",function(e3){return n2.requestLoadedStream().then(e4=>e4.bytes)}),u2.on("GetAnnotations",function({pageIndex:e3,intent:t3}){return n2.getPage(e3).then(function(n3){let r3=new WorkerTask(`GetAnnotations: page ${e3}`);return startWorkerTask(r3),n3.getAnnotationsData(u2,r3,t3).finally(()=>{finishWorkerTask(r3)})})}),u2.on("GetFieldObjects",function(e3){return n2.ensureDoc("fieldObjects").then(e4=>e4?.allFields||null)}),u2.on("HasJSActions",function(e3){return n2.ensureDoc("hasJSActions")}),u2.on("GetCalculationOrderIds",function(e3){return n2.ensureDoc("calculationOrderIds")}),u2.on("ExtractPages",async function({pageInfos:e3,annotationStorage:t3}){if(!e3)return warn$1("extractPages: nothing to extract."),null;Array.isArray(e3)||(e3=[e3]);let r3=0;for(let t4 of e3)if(!t4.image)if(t4.document===null)t4.document=n2.pdfDocument;else if(ArrayBuffer.isView(t4.document)){let e4=new LocalPdfManager({source:t4.document,docId:`${o2}_extractPages_${r3++}`,handler:u2,password:t4.password??null,evaluatorOptions:Object.assign({},n2.evaluatorOptions)}),i4=!1,a3=!0;for(;;)try{await e4.requestLoadedStream(),await e4.initDocument(i4);break}catch(t5){if(t5 instanceof XRefParseException)if(i4===!1){i4=!0;continue}else a3=!1,warn$1("extractPages: XRefParseException.");else if(t5 instanceof PasswordException$1)try{let n3=await getPassword(t5);e4.updatePassword(n3)}catch{a3=!1,warn$1("extractPages: invalid password.")}else a3=!1,warn$1("extractPages: invalid document.");if(!a3)break}a3||(t4.document=null),await e4.ensureDoc("isPureXfa")?(t4.document=null,warn$1("extractPages does not support pure XFA documents.")):t4.document=e4.pdfDocument}else warn$1("extractPages: invalid document.");let i3;try{let r4=new PDFEditor;return i3=new WorkerTask(`ExtractPages: ${e3.length} page(s)`),startWorkerTask(i3),await r4.extractPages(e3,t3,n2.pdfDocument,u2,i3)}catch(e4){return warn$1(`extractPages: "${e4}".`),null}finally{i3&&finishWorkerTask(i3)}}),u2.on("SaveDocument",async function({isPureXfa:e3,numPages:t3,annotationStorage:r3,filename:i3}){let a3=[n2.requestLoadedStream(),n2.ensureCatalog("acroForm"),n2.ensureCatalog("acroFormRef"),n2.ensureDoc("startXRef"),n2.ensureDoc("xref"),n2.ensureCatalog("structTreeRoot")],o3=new RefSetCache,s3=[],c3=e3?null:getNewAnnotationsMap(r3),[l3,d2,f2,p2,m2,h2]=await Promise.all(a3),g2=m2.trailer.getRaw("Root")||null,_2;if(c3){h2?await h2.canUpdateStructTree({pdfManager:n2,newAnnotationsByPage:c3})&&(_2=h2):await Pr.canCreateStructureTree({catalogRef:g2,pdfManager:n2,newAnnotationsByPage:c3})&&(_2=null);let e4=AnnotationFactory.generateImages(r3.values(),m2,n2.evaluatorOptions.isOffscreenCanvasSupported),t4=_2===void 0?s3:[];for(let[r4,i4]of c3)t4.push(n2.getPage(r4).then(t5=>{let n3=new WorkerTask(`Save (editor): page ${r4}`);return startWorkerTask(n3),t5.saveNewAnnotations(u2,n3,i4,e4,o3).finally(()=>{finishWorkerTask(n3)})}));_2===null?s3.push(Promise.all(t4).then(async()=>{await Pr.createStructureTree({newAnnotationsByPage:c3,xref:m2,catalogRef:g2,pdfManager:n2,changes:o3})})):_2&&s3.push(Promise.all(t4).then(async()=>{await _2.updateStructureTree({newAnnotationsByPage:c3,pdfManager:n2,changes:o3})}))}if(e3)s3.push(n2.ensureDoc("serializeXfaData",[r3]));else for(let e4=0;e4<t3;e4++)s3.push(n2.getPage(e4).then(function(t4){let n3=new WorkerTask(`Save: page ${e4}`);return startWorkerTask(n3),t4.save(u2,n3,r3,o3).finally(()=>{finishWorkerTask(n3)})}));let v2=await Promise.all(s3),y2=null;if(e3){if(y2=v2[0],!y2)return l3.bytes}else if(o3.size===0)return l3.bytes;let b2=f2&&d2 instanceof F&&o3.values().some(e4=>e4.needAppearances),x2=d2 instanceof F&&d2.get("XFA")||null,S2=null,C2=!1;if(Array.isArray(x2)){for(let e4=0,t4=x2.length;e4<t4;e4+=2)x2[e4]==="datasets"&&(S2=x2[e4+1],C2=!0);S2===null&&(S2=m2.getNewTemporaryRef())}else x2&&warn$1("Unsupported XFA type.");let w2=Object.create(null);if(m2.trailer){let e4=new Map,t4=m2.trailer.get("Info")||null;if(t4 instanceof F)for(let[n3,r4]of t4)typeof r4=="string"&&e4.set(n3,stringToPDFString(r4));w2={rootRef:g2,encryptRef:m2.trailer.getRaw("Encrypt")||null,newRef:m2.getNewTemporaryRef(),infoRef:m2.trailer.getRaw("Info")||null,infoMap:e4,fileIds:m2.trailer.get("ID")||null,startXRef:p2,filename:i3}}return incrementalUpdate({originalData:l3.bytes,xrefInfo:w2,changes:o3,xref:m2,hasXfa:!!x2,xfaDatasetsRef:S2,hasXfaDatasetsEntry:C2,needAppearances:b2,acroFormRef:f2,acroForm:d2,xfaData:y2,useXrefStream:isDict(m2.topDict,"XRef")}).finally(()=>{m2.resetNewTemporaryRef()})}),u2.on("GetOperatorList",function(e3,t3){let{pageId:r3,pageIndex:i3}=e3;n2.getPage(r3).then(function(n3){let r4=new WorkerTask(`GetOperatorList: page ${i3}`);startWorkerTask(r4);let o3=a2>=w.INFOS?Date.now():0;n3.getOperatorList({handler:u2,sink:t3,task:r4,intent:e3.intent,cacheKey:e3.cacheKey,annotationStorage:e3.annotationStorage,modifiedIds:e3.modifiedIds,pageIndex:i3}).then(e4=>{o3&&info$1(`page=${i3+1} - getOperatorList: time=${Date.now()-o3}ms, len=${e4.length}`),t3.close()},e4=>{r4.terminated||t3.error(e4)}).finally(()=>{finishWorkerTask(r4)})})}),u2.on("GetTextContent",function(e3,t3){let{pageId:r3,pageIndex:i3,includeMarkedContent:o3,disableNormalization:s3}=e3;n2.getPage(r3).then(function(e4){let n3=new WorkerTask("GetTextContent: page "+i3);startWorkerTask(n3);let r4=a2>=w.INFOS?Date.now():0;e4.extractTextContent({handler:u2,task:n3,sink:t3,includeMarkedContent:o3,disableNormalization:s3}).then(()=>{r4&&info$1(`page=${i3+1} - getTextContent: time=${Date.now()-r4}ms`),t3.close()},e5=>{n3.terminated||t3.error(e5)}).finally(()=>{finishWorkerTask(n3)})})}),u2.on("GetStructTree",function(e3){return n2.getPage(e3.pageIndex).then(e4=>n2.ensure(e4,"getStructTree"))}),u2.on("FontFallback",function(e3){return n2.fontFallback(e3.id,u2)}),u2.on("Cleanup",function(e3){return n2.cleanup(!0)}),u2.on("Terminate",async function(e3){r2=!0;let t3=[];if(n2){n2.terminate(new AbortException$1("Worker was terminated."));let e4=n2.cleanup();t3.push(e4),n2=null}else clearGlobalCaches();cancelXHRs?.(new AbortException$1("Worker was terminated."));for(let e4 of i2)t3.push(e4.finished),e4.terminate();await Promise.all(t3),u2.destroy(),u2=null}),u2.on("Ready",function(t3){setupDoc(e2),e2=null}),l2}static initializeFromPort(e2){let t2=new MessageHandler$1("worker","main",e2);this.setup(t2,e2),t2.send("ready",null)}};globalThis.pdfjsWorker={WorkerMessageHandler};var vo=typeof process=="object"&&process+""=="[object process]"&&!process.versions.nw&&!(process.versions.electron&&process.type&&process.type!=="browser"),yo=[1/0,1/0,-1/0,-1/0],bo=new Float32Array(yo),xo=[.001,0,0,.001,0,0],So=1.35,Co="http://www.w3.org/2000/svg",wo={ANY:1,DISPLAY:2,PRINT:4,SAVE:8,ANNOTATIONS_FORMS:16,ANNOTATIONS_STORAGE:32,ANNOTATIONS_DISABLE:64,IS_EDITING:128,OPLIST:256},Eo={DISABLE:0,ENABLE:1,ENABLE_FORMS:2,ENABLE_STORAGE:3},Do="pdfjs_internal_id_",Oo="pdfjs_internal_editor_",$={DISABLE:-1,NONE:0,FREETEXT:3,HIGHLIGHT:9,STAMP:13,INK:15,POPUP:16,SIGNATURE:101,COMMENT:102},ko={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},Ao={PRINT:4,MODIFY_CONTENTS:8,COPY:16,MODIFY_ANNOTATIONS:32,FILL_INTERACTIVE_FORMS:256,COPY_FOR_ACCESSIBILITY:512,ASSEMBLE:1024,PRINT_HIGH_QUALITY:2048},jo={FILL:0,STROKE:1,FILL_STROKE:2,INVISIBLE:3,FILL_ADD_TO_PATH:4,STROKE_ADD_TO_PATH:5,FILL_STROKE_ADD_TO_PATH:6,ADD_TO_PATH:7,FILL_STROKE_MASK:3,ADD_TO_PATH_FLAG:4},Mo={GRAYSCALE_1BPP:1,RGB_24BPP:2,RGBA_32BPP:3},No={TEXT:1,LINK:2,FREETEXT:3,LINE:4,SQUARE:5,CIRCLE:6,POLYGON:7,POLYLINE:8,HIGHLIGHT:9,UNDERLINE:10,SQUIGGLY:11,STRIKEOUT:12,STAMP:13,CARET:14,INK:15,POPUP:16,FILEATTACHMENT:17,SOUND:18,MOVIE:19,WIDGET:20,SCREEN:21,PRINTERMARK:22,TRAPNET:23,WATERMARK:24,THREED:25,REDACT:26,RICHMEDIA:27},Po={SOLID:1,DASHED:2,BEVELED:3,INSET:4,UNDERLINE:5},Fo={ERRORS:0,WARNINGS:1,INFOS:5},Io={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},Lo={moveTo:0,lineTo:1,curveTo:2,quadraticCurveTo:3,closePath:4},Ro={NEED_PASSWORD:1,INCORRECT_PASSWORD:2},zo=Fo.WARNINGS;function setVerbosityLevel(e2){Number.isInteger(e2)&&(zo=e2)}function getVerbosityLevel(){return zo}function info(e2){zo>=Fo.INFOS&&console.info(`Info: ${e2}`)}function warn(e2){zo>=Fo.WARNINGS&&console.warn(`Warning: ${e2}`)}function unreachable(e2){throw Error(e2)}function assert(e2,t2){e2||unreachable(t2)}function _isValidProtocol(e2){switch(e2?.protocol){case"http:":case"https:":case"ftp:":case"mailto:":case"tel:":return!0;default:return!1}}function createValidAbsoluteUrl(e2,t2=null,n2=null){if(!e2)return null;if(n2&&typeof e2=="string"&&(n2.addDefaultProtocol&&e2.startsWith("www.")&&e2.match(/\./g)?.length>=2&&(e2=`http://${e2}`),n2.tryConvertEncoding))try{e2=stringToUTF8String(e2)}catch{}let r2=t2?URL.parse(e2,t2):URL.parse(e2);return _isValidProtocol(r2)?r2:null}function updateUrlHash(e2,t2,n2=!1){let r2=URL.parse(e2);return r2?(r2.hash=t2,r2.href):n2&&createValidAbsoluteUrl(e2,"http://example.com")?e2.split("#",1)[0]+`${t2?`#${t2}`:""}`:""}function stripPath(e2){return e2.substring(e2.lastIndexOf("/")+1)}function shadow(e2,t2,n2,r2=!1){return Object.defineProperty(e2,t2,{value:n2,enumerable:!r2,configurable:!0,writable:!1}),n2}var Bo=(function(){function BaseException(e2,t2){this.message=e2,this.name=t2}return BaseException.prototype=Error(),BaseException.constructor=BaseException,BaseException})(),PasswordException=class extends Bo{constructor(e2,t2){super(e2,"PasswordException"),this.code=t2}},UnknownErrorException=class extends Bo{constructor(e2,t2){super(e2,"UnknownErrorException"),this.details=t2}},InvalidPDFException=class extends Bo{constructor(e2){super(e2,"InvalidPDFException")}},ResponseException=class extends Bo{constructor(e2,t2,n2){super(e2,"ResponseException"),this.status=t2,this.missing=n2}},FormatError=class extends Bo{constructor(e2){super(e2,"FormatError")}},AbortException=class extends Bo{constructor(e2){super(e2,"AbortException")}};function bytesToString(e2){(typeof e2!="object"||e2?.length===void 0)&&unreachable("Invalid argument for bytesToString");let t2=e2.length,n2=8192;if(t2<n2)return String.fromCharCode.apply(null,e2);let r2=[];for(let i2=0;i2<t2;i2+=n2){let a2=Math.min(i2+n2,t2),o2=e2.subarray(i2,a2);r2.push(String.fromCharCode.apply(null,o2))}return r2.join("")}function stringToBytes(e2){typeof e2!="string"&&unreachable("Invalid argument for stringToBytes");let t2=e2.length,n2=new Uint8Array(t2);for(let r2=0;r2<t2;++r2)n2[r2]=e2.charCodeAt(r2)&255;return n2}var FeatureTest=class{static get isLittleEndian(){let e2=new Uint8Array(4);e2[0]=1;let t2=new Uint32Array(e2.buffer,0,1);return shadow(this,"isLittleEndian",t2[0]===1)}static get isOffscreenCanvasSupported(){return shadow(this,"isOffscreenCanvasSupported",typeof OffscreenCanvas<"u")}static get isImageDecoderSupported(){return shadow(this,"isImageDecoderSupported",typeof ImageDecoder<"u")}static get isFloat16ArraySupported(){return shadow(this,"isFloat16ArraySupported",typeof Float16Array<"u")}static get isSanitizerSupported(){return shadow(this,"isSanitizerSupported",typeof Sanitizer<"u")}static get platform(){let{platform:e2,userAgent:t2}=navigator;return shadow(this,"platform",{isAndroid:t2.includes("Android"),isLinux:e2.includes("Linux"),isMac:e2.includes("Mac"),isWindows:e2.includes("Win"),isFirefox:t2.includes("Firefox")})}static get isCanvasFilterSupported(){let e2;return this.isOffscreenCanvasSupported?e2=new OffscreenCanvas(1,1).getContext("2d"):typeof document<"u"&&(e2=document.createElement("canvas").getContext("2d")),shadow(this,"isCanvasFilterSupported",e2?.filter!==void 0)}static get isAlphaColorInputSupported(){if(typeof document>"u")return shadow(this,"isAlphaColorInputSupported",!1);let e2=document.createElement("input");return e2.type="color",e2.setAttribute("alpha",""),e2.value="#ff000080",shadow(this,"isAlphaColorInputSupported",e2.value!=="#ff0000")}static get isBackdropFilterSupported(){return shadow(this,"isBackdropFilterSupported",typeof CSS<"u"&&CSS.supports("backdrop-filter","blur(1px)"))}},Util=class{static get hexNums(){return shadow(this,"hexNums",Array.from(Array(256).keys(),e2=>e2.toString(16).padStart(2,"0")))}static makeHexColor(e2,t2,n2){return`#${this.hexNums[e2]}${this.hexNums[t2]}${this.hexNums[n2]}`}static transform(e2,t2){return[e2[0]*t2[0]+e2[2]*t2[1],e2[1]*t2[0]+e2[3]*t2[1],e2[0]*t2[2]+e2[2]*t2[3],e2[1]*t2[2]+e2[3]*t2[3],e2[0]*t2[4]+e2[2]*t2[5]+e2[4],e2[1]*t2[4]+e2[3]*t2[5]+e2[5]]}static multiplyByDOMMatrix(e2,t2){return[e2[0]*t2.a+e2[2]*t2.b,e2[1]*t2.a+e2[3]*t2.b,e2[0]*t2.c+e2[2]*t2.d,e2[1]*t2.c+e2[3]*t2.d,e2[0]*t2.e+e2[2]*t2.f+e2[4],e2[1]*t2.e+e2[3]*t2.f+e2[5]]}static applyTransform(e2,t2,n2=0){let r2=e2[n2],i2=e2[n2+1];e2[n2]=r2*t2[0]+i2*t2[2]+t2[4],e2[n2+1]=r2*t2[1]+i2*t2[3]+t2[5]}static applyTransformToBezier(e2,t2,n2=0){let r2=t2[0],i2=t2[1],a2=t2[2],o2=t2[3],s2=t2[4],c2=t2[5];for(let t3=0;t3<6;t3+=2){let l2=e2[n2+t3],u2=e2[n2+t3+1];e2[n2+t3]=l2*r2+u2*a2+s2,e2[n2+t3+1]=l2*i2+u2*o2+c2}}static applyInverseTransform(e2,t2){let n2=e2[0],r2=e2[1],i2=t2[0]*t2[3]-t2[1]*t2[2];e2[0]=(n2*t2[3]-r2*t2[2]+t2[2]*t2[5]-t2[4]*t2[3])/i2,e2[1]=(-n2*t2[1]+r2*t2[0]+t2[4]*t2[1]-t2[5]*t2[0])/i2}static axialAlignedBoundingBox(e2,t2,n2){let r2=t2[0],i2=t2[1],a2=t2[2],o2=t2[3],s2=t2[4],c2=t2[5],l2=e2[0],u2=e2[1],d2=e2[2],f2=e2[3],p2=r2*l2+s2,m2=p2,h2=r2*d2+s2,g2=h2,_2=o2*u2+c2,v2=_2,y2=o2*f2+c2,b2=y2;if(i2!==0||a2!==0){let e3=i2*l2,t3=i2*d2,n3=a2*u2,r3=a2*f2;p2+=n3,g2+=n3,h2+=r3,m2+=r3,_2+=e3,b2+=e3,y2+=t3,v2+=t3}n2[0]=Math.min(n2[0],p2,h2,m2,g2),n2[1]=Math.min(n2[1],_2,y2,v2,b2),n2[2]=Math.max(n2[2],p2,h2,m2,g2),n2[3]=Math.max(n2[3],_2,y2,v2,b2)}static inverseTransform(e2){let t2=e2[0]*e2[3]-e2[1]*e2[2];return[e2[3]/t2,-e2[1]/t2,-e2[2]/t2,e2[0]/t2,(e2[2]*e2[5]-e2[4]*e2[3])/t2,(e2[4]*e2[1]-e2[5]*e2[0])/t2]}static singularValueDecompose2dScale(e2,t2){let n2=e2[0],r2=e2[1],i2=e2[2],a2=e2[3],o2=n2**2+r2**2,s2=n2*i2+r2*a2,c2=i2**2+a2**2,l2=(o2+c2)/2,u2=Math.sqrt(l2**2-(o2*c2-s2**2));t2[0]=Math.sqrt(l2+u2||1),t2[1]=Math.sqrt(l2-u2||1)}static normalizeRect(e2){let t2=e2.slice(0);return e2[0]>e2[2]&&(t2[0]=e2[2],t2[2]=e2[0]),e2[1]>e2[3]&&(t2[1]=e2[3],t2[3]=e2[1]),t2}static intersect(e2,t2){let n2=Math.max(Math.min(e2[0],e2[2]),Math.min(t2[0],t2[2])),r2=Math.min(Math.max(e2[0],e2[2]),Math.max(t2[0],t2[2]));if(n2>r2)return null;let i2=Math.max(Math.min(e2[1],e2[3]),Math.min(t2[1],t2[3])),a2=Math.min(Math.max(e2[1],e2[3]),Math.max(t2[1],t2[3]));return i2>a2?null:[n2,i2,r2,a2]}static pointBoundingBox(e2,t2,n2){n2[0]=Math.min(n2[0],e2),n2[1]=Math.min(n2[1],t2),n2[2]=Math.max(n2[2],e2),n2[3]=Math.max(n2[3],t2)}static rectBoundingBox(e2,t2,n2,r2,i2){i2[0]=Math.min(i2[0],e2,n2),i2[1]=Math.min(i2[1],t2,r2),i2[2]=Math.max(i2[2],e2,n2),i2[3]=Math.max(i2[3],t2,r2)}static#e(e2,t2,n2,r2,i2,a2,o2,s2,c2,l2){if(c2<=0||c2>=1)return;let u2=1-c2,d2=c2*c2,f2=d2*c2,p2=u2*(u2*(u2*e2+3*c2*t2)+3*d2*n2)+f2*r2,m2=u2*(u2*(u2*i2+3*c2*a2)+3*d2*o2)+f2*s2;l2[0]=Math.min(l2[0],p2),l2[1]=Math.min(l2[1],m2),l2[2]=Math.max(l2[2],p2),l2[3]=Math.max(l2[3],m2)}static#t(e2,t2,n2,r2,i2,a2,o2,s2,c2,l2,u2,d2){if(Math.abs(c2)<1e-12){Math.abs(l2)>=1e-12&&this.#e(e2,t2,n2,r2,i2,a2,o2,s2,-u2/l2,d2);return}let f2=l2**2-4*u2*c2;if(f2<0)return;let p2=Math.sqrt(f2),m2=2*c2;this.#e(e2,t2,n2,r2,i2,a2,o2,s2,(-l2+p2)/m2,d2),this.#e(e2,t2,n2,r2,i2,a2,o2,s2,(-l2-p2)/m2,d2)}static bezierBoundingBox(e2,t2,n2,r2,i2,a2,o2,s2,c2){c2[0]=Math.min(c2[0],e2,o2),c2[1]=Math.min(c2[1],t2,s2),c2[2]=Math.max(c2[2],e2,o2),c2[3]=Math.max(c2[3],t2,s2),this.#t(e2,n2,i2,o2,t2,r2,a2,s2,3*(-e2+3*(n2-i2)+o2),6*(e2-2*n2+i2),3*(n2-e2),c2),this.#t(e2,n2,i2,o2,t2,r2,a2,s2,3*(-t2+3*(r2-a2)+s2),6*(t2-2*r2+a2),3*(r2-t2),c2)}};function stringToUTF8String(e2){return decodeURIComponent(escape(e2))}var Vo=null,Ho=null;function normalizeUnicode(e2){return Vo||(Vo=/([\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,Ho=new Map([["\uFB05","\u017Ft"]])),e2.replaceAll(Vo,(e3,t2,n2)=>t2?t2.normalize("NFKC"):Ho.get(n2))}function getUuid(){if(typeof crypto.randomUUID=="function")return crypto.randomUUID();let e2=new Uint8Array(32);return crypto.getRandomValues(e2),bytesToString(e2)}function _isValidExplicitDest(e2,t2,n2){if(!Array.isArray(n2)||n2.length<2)return!1;let[r2,i2,...a2]=n2;if(!e2(r2)&&!Number.isInteger(r2)||!t2(i2))return!1;let o2=a2.length,s2=!0;switch(i2.name){case"XYZ":if(o2<2||o2>3)return!1;break;case"Fit":case"FitB":return o2===0;case"FitH":case"FitBH":case"FitV":case"FitBV":if(o2>1)return!1;break;case"FitR":if(o2!==4)return!1;s2=!1;break;default:return!1}for(let e3 of a2)if(!(typeof e3=="number"||s2&&e3===null))return!1;return!0}var makeArr=()=>[],makeMap=()=>new Map,makeObj=()=>Object.create(null);function MathClamp(e2,t2,n2){return Math.min(Math.max(e2,t2),n2)}var Uo=class PageViewport{constructor({viewBox:e2,userUnit:t2,scale:n2,rotation:r2,offsetX:i2=0,offsetY:a2=0,dontFlip:o2=!1}){this.viewBox=e2,this.userUnit=t2,this.scale=n2,this.rotation=r2,this.offsetX=i2,this.offsetY=a2,n2*=t2;let s2=(e2[2]+e2[0])/2,c2=(e2[3]+e2[1])/2,l2,u2,d2,f2;switch(r2%=360,r2<0&&(r2+=360),r2){case 180:l2=-1,u2=0,d2=0,f2=1;break;case 90:l2=0,u2=1,d2=1,f2=0;break;case 270:l2=0,u2=-1,d2=-1,f2=0;break;case 0:l2=1,u2=0,d2=0,f2=-1;break;default:throw Error("PageViewport: Invalid rotation, must be a multiple of 90 degrees.")}o2&&(d2=-d2,f2=-f2);let p2,m2,h2,g2;l2===0?(p2=Math.abs(c2-e2[1])*n2+i2,m2=Math.abs(s2-e2[0])*n2+a2,h2=(e2[3]-e2[1])*n2,g2=(e2[2]-e2[0])*n2):(p2=Math.abs(s2-e2[0])*n2+i2,m2=Math.abs(c2-e2[1])*n2+a2,h2=(e2[2]-e2[0])*n2,g2=(e2[3]-e2[1])*n2),this.transform=[l2*n2,u2*n2,d2*n2,f2*n2,p2-l2*n2*s2-d2*n2*c2,m2-u2*n2*s2-f2*n2*c2],this.width=h2,this.height=g2}get rawDims(){let e2=this.viewBox;return shadow(this,"rawDims",{pageWidth:e2[2]-e2[0],pageHeight:e2[3]-e2[1],pageX:e2[0],pageY:e2[1]})}clone({scale:e2=this.scale,rotation:t2=this.rotation,offsetX:n2=this.offsetX,offsetY:r2=this.offsetY,dontFlip:i2=!1}={}){return new PageViewport({viewBox:this.viewBox.slice(),userUnit:this.userUnit,scale:e2,rotation:t2,offsetX:n2,offsetY:r2,dontFlip:i2})}convertToViewportPoint(e2,t2){let n2=[e2,t2];return Util.applyTransform(n2,this.transform),n2}convertToPdfPoint(e2,t2){let n2=[e2,t2];return Util.applyInverseTransform(n2,this.transform),n2}},Wo=class XfaText{static textContent(e2){let t2=[],n2={items:t2,styles:Object.create(null)};function walk(e3){if(!e3)return;let n3=null,r2=e3.name;if(r2==="#text")n3=e3.value;else if(XfaText.shouldBuildText(r2))e3?.attributes?.textContent?n3=e3.attributes.textContent:e3.value&&(n3=e3.value);else return;if(n3!==null&&t2.push({str:n3}),e3.children)for(let t3 of e3.children)walk(t3)}return walk(e2),n2}static shouldBuildText(e2){return e2!=="textarea"&&e2!=="input"&&e2!=="option"&&e2!=="select"}},XfaLayer=class{static setupStorage(e2,t2,n2,r2,i2){let a2=r2.getValue(t2,{value:null});switch(n2.name){case"textarea":if(a2.value!==null&&(e2.textContent=a2.value),i2==="print")break;e2.addEventListener("input",e3=>{r2.setValue(t2,{value:e3.target.value})});break;case"input":if(n2.attributes.type==="radio"||n2.attributes.type==="checkbox"){if(a2.value===n2.attributes.xfaOn?e2.setAttribute("checked",!0):a2.value===n2.attributes.xfaOff&&e2.removeAttribute("checked"),i2==="print")break;e2.addEventListener("change",e3=>{r2.setValue(t2,{value:e3.target.checked?e3.target.getAttribute("xfaOn"):e3.target.getAttribute("xfaOff")})})}else{if(a2.value!==null&&e2.setAttribute("value",a2.value),i2==="print")break;e2.addEventListener("input",e3=>{r2.setValue(t2,{value:e3.target.value})})}break;case"select":if(a2.value!==null){e2.setAttribute("value",a2.value);for(let e3 of n2.children)e3.attributes.value===a2.value?e3.attributes.selected=!0:Object.hasOwn(e3.attributes,"selected")&&delete e3.attributes.selected}e2.addEventListener("input",e3=>{let n3=e3.target.options,i3=n3.selectedIndex===-1?"":n3[n3.selectedIndex].value;r2.setValue(t2,{value:i3})});break}}static setAttributes({html:e2,element:t2,storage:n2=null,intent:r2,linkService:i2}){let{attributes:a2}=t2,o2=e2 instanceof HTMLAnchorElement;a2.type==="radio"&&(a2.name=`${a2.name}-${r2}`);for(let[t3,n3]of Object.entries(a2))if(n3!=null)switch(t3){case"class":n3.length&&e2.setAttribute(t3,n3.join(" "));break;case"dataId":break;case"id":e2.setAttribute("data-element-id",n3);break;case"style":Object.assign(e2.style,n3);break;case"textContent":e2.textContent=n3;break;default:(!o2||t3!=="href"&&t3!=="newWindow")&&e2.setAttribute(t3,n3)}o2&&i2.addLinkAttributes(e2,a2.href,a2.newWindow),n2&&a2.dataId&&this.setupStorage(e2,a2.dataId,t2,n2)}static render(e2){let t2=e2.annotationStorage,n2=e2.linkService,r2=e2.xfaHtml,i2=e2.intent||"display",a2=document.createElement(r2.name);r2.attributes&&this.setAttributes({html:a2,element:r2,intent:i2,linkService:n2});let o2=i2!=="richText",s2=e2.div;if(s2.append(a2),e2.viewport){let t3=`matrix(${e2.viewport.transform.join(",")})`;s2.style.transform=t3}o2&&s2.setAttribute("class","xfaLayer xfaFont");let c2=[];if(r2.children.length===0){if(r2.value){let e3=document.createTextNode(r2.value);a2.append(e3),o2&&Wo.shouldBuildText(r2.name)&&c2.push(e3)}return{textDivs:c2}}let l2=[[r2,-1,a2]];for(;l2.length>0;){let[e3,r3,a3]=l2.at(-1);if(r3+1===e3.children.length){l2.pop();continue}let s3=e3.children[++l2.at(-1)[1]];if(s3===null)continue;let{name:u2}=s3;if(u2==="#text"){let e4=document.createTextNode(s3.value);c2.push(e4),a3.append(e4);continue}let d2=s3?.attributes?.xmlns?document.createElementNS(s3.attributes.xmlns,u2):document.createElement(u2);if(a3.append(d2),s3.attributes&&this.setAttributes({html:d2,element:s3,storage:t2,intent:i2,linkService:n2}),s3.children?.length>0)l2.push([s3,-1,d2]);else if(s3.value){let e4=document.createTextNode(s3.value);o2&&Wo.shouldBuildText(u2)&&c2.push(e4),d2.append(e4)}}for(let e3 of s2.querySelectorAll(".xfaNonInteractive input, .xfaNonInteractive textarea"))e3.setAttribute("readOnly",!0);return{textDivs:c2}}static update(e2){let t2=`matrix(${e2.viewport.transform.join(",")})`;e2.div.style.transform=t2,e2.div.hidden=!1}static getPageViewport(e2,{scale:t2=1,rotation:n2=0}){let{width:r2,height:i2}=e2.attributes.style;return new Uo({viewBox:[0,0,parseInt(r2,10),parseInt(i2,10)],userUnit:1,scale:t2,rotation:n2})}},PixelsPerInch=class{static CSS=96;static PDF=72;static PDF_TO_CSS_UNITS=this.CSS/this.PDF};async function fetchData(e2,t2="text"){if(isValidFetchUrl(e2,document.baseURI)){let n2=await fetch(e2);if(!n2.ok)throw Error(n2.statusText);switch(t2){case"blob":return n2.blob();case"bytes":return n2.bytes();case"json":return n2.json()}return n2.text()}return new Promise((n2,r2)=>{let i2=new XMLHttpRequest;i2.open("GET",e2,!0),i2.responseType=t2==="bytes"?"arraybuffer":t2,i2.onreadystatechange=()=>{if(i2.readyState===XMLHttpRequest.DONE){if(i2.status===200||i2.status===0){switch(t2){case"bytes":n2(new Uint8Array(i2.response));return;case"blob":case"json":n2(i2.response);return}n2(i2.responseText);return}r2(Error(i2.statusText))}},i2.send(null)})}var RenderingCancelledException=class extends Bo{constructor(e2,t2=0){super(e2,"RenderingCancelledException"),this.extraDelay=t2}};function isDataScheme(e2){let t2=e2.length,n2=0;for(;n2<t2&&e2[n2].trim()==="";)n2++;return e2.substring(n2,n2+5).toLowerCase()==="data:"}function isPdfFile(e2){return typeof e2=="string"&&/\.pdf$/i.test(e2)}function getFilenameFromUrl(e2){return[e2]=e2.split(/[#?]/,1),stripPath(e2)}function getPdfFilenameFromUrl(e2,t2="document.pdf"){if(typeof e2!="string")return t2;if(isDataScheme(e2))return warn('getPdfFilenameFromUrl: ignore "data:"-URL for performance reasons.'),t2;let getURL=e3=>{try{return new URL(e3)}catch{}try{return new URL(decodeURIComponent(e3))}catch{}try{return new URL(e3,"https://foo.bar")}catch{}try{return new URL(decodeURIComponent(e3),"https://foo.bar")}catch{}return null},n2=getURL(e2);if(!n2)return t2;let decode=e3=>{try{let t3=decodeURIComponent(e3);return t3.includes("/")&&(t3=stripPath(t3),t3.length===4&&r2.test(t3))?e3:t3}catch{return e3}},r2=/\.pdf$/i,i2=stripPath(n2.pathname);if(r2.test(i2))return decode(i2);if(n2.searchParams.size>0){let getLast=e4=>[...e4].findLast(e5=>r2.test(e5)),e3=getLast(n2.searchParams.values())??getLast(n2.searchParams.keys());if(e3)return decode(e3)}if(n2.hash){let e3=/[^/?#=]+\.pdf\b(?!.*\.pdf\b)/i.exec(n2.hash);if(e3)return decode(e3[0])}return t2}var StatTimer=class{#e=new Map;times=[];time(e2){this.#e.has(e2)&&warn(`Timer is already running for ${e2}`),this.#e.set(e2,Date.now())}timeEnd(e2){this.#e.has(e2)||warn(`Timer has not been started for ${e2}`),this.times.push({name:e2,start:this.#e.get(e2),end:Date.now()}),this.#e.delete(e2)}toString(){let e2=Math.max(...this.times.map(e3=>e3.name.length));return this.times.map(t2=>`${t2.name.padEnd(e2)} ${t2.end-t2.start}ms
|
|
54
|
+
`).join("")}};function isValidFetchUrl(e2,t2){let n2=t2?URL.parse(e2,t2):URL.parse(e2);return/https?:/.test(n2?.protocol??"")}function noContextMenu(e2){e2.preventDefault()}function stopEvent(e2){e2.preventDefault(),e2.stopPropagation()}var PDFDateString=class{static#e;static toDateObject(e2){if(e2 instanceof Date)return e2;if(!e2||typeof e2!="string")return null;this.#e||=RegExp("^D:(\\d{4})(\\d{2})?(\\d{2})?(\\d{2})?(\\d{2})?(\\d{2})?([Z|+\\-])?(\\d{2})?'?(\\d{2})?'?");let t2=this.#e.exec(e2);if(!t2)return null;let n2=parseInt(t2[1],10),r2=parseInt(t2[2],10);r2=r2>=1&&r2<=12?r2-1:0;let i2=parseInt(t2[3],10);i2=i2>=1&&i2<=31?i2:1;let a2=parseInt(t2[4],10);a2=a2>=0&&a2<=23?a2:0;let o2=parseInt(t2[5],10);o2=o2>=0&&o2<=59?o2:0;let s2=parseInt(t2[6],10);s2=s2>=0&&s2<=59?s2:0;let c2=t2[7]||"Z",l2=parseInt(t2[8],10);l2=l2>=0&&l2<=23?l2:0;let u2=parseInt(t2[9],10)||0;return u2=u2>=0&&u2<=59?u2:0,c2==="-"?(a2+=l2,o2+=u2):c2==="+"&&(a2-=l2,o2-=u2),new Date(Date.UTC(n2,r2,i2,a2,o2,s2))}};function getRGBA(e2){if(e2.startsWith("#")){let t3=e2.slice(1);return[parseInt(t3.slice(0,2),16),parseInt(t3.slice(2,4),16),parseInt(t3.slice(4,6),16),t3.length>=8?parseInt(t3.slice(6,8),16)/255:1]}if(e2.startsWith("rgb(")){let[t3,n2,r2]=e2.slice(4,-1).split(",").map(e3=>parseInt(e3,10));return[t3,n2,r2,1]}if(e2.startsWith("rgba(")){let t3=e2.slice(5,-1).split(",");return[parseInt(t3[0],10),parseInt(t3[1],10),parseInt(t3[2],10),parseFloat(t3[3])]}let t2=e2.match(/^color\(srgb\s+([\d.]+)\s+([\d.]+)\s+([\d.]+)(?:\s*\/\s*([\d.]+|none))?\)$/);return t2?[Math.round(parseFloat(t2[1])*255),Math.round(parseFloat(t2[2])*255),Math.round(parseFloat(t2[3])*255),t2[4]!==void 0&&t2[4]!=="none"?parseFloat(t2[4]):1]:null}function getRGB(e2){let t2=getRGBA(e2);return t2?t2.slice(0,3):(warn(`Not a valid color format: "${e2}"`),[0,0,0])}function getColorValues(e2){let t2=document.createElement("span");t2.style.visibility="hidden",t2.style.colorScheme="only light",document.body.append(t2);for(let n2 of e2.keys()){t2.style.color=n2;let r2=window.getComputedStyle(t2).color;e2.set(n2,getRGB(r2))}t2.remove()}function getCurrentTransform(e2){let{a:t2,b:n2,c:r2,d:i2,e:a2,f:o2}=e2.getTransform();return[t2,n2,r2,i2,a2,o2]}function getCurrentTransformInverse(e2){let{a:t2,b:n2,c:r2,d:i2,e:a2,f:o2}=e2.getTransform().invertSelf();return[t2,n2,r2,i2,a2,o2]}function setLayerDimensions(e2,t2,n2=!1,r2=!0){if(t2 instanceof Uo){let{pageWidth:r3,pageHeight:i2}=t2.rawDims,{style:a2}=e2,o2=`round(down, var(--total-scale-factor) * ${r3}px, var(--scale-round-x))`,s2=`round(down, var(--total-scale-factor) * ${i2}px, var(--scale-round-y))`;!n2||t2.rotation%180==0?(a2.width=o2,a2.height=s2):(a2.width=s2,a2.height=o2)}r2&&e2.setAttribute("data-main-rotation",t2.rotation)}var Go=class OutputScale{constructor(){let{pixelRatio:e2}=OutputScale;this.sx=e2,this.sy=e2}get scaled(){return this.sx!==1||this.sy!==1}get symmetric(){return this.sx===this.sy}limitCanvas(e2,t2,n2,r2,i2=-1){let a2=1/0,o2=1/0,s2=1/0;n2=OutputScale.capPixels(n2,i2),n2>0&&(a2=Math.sqrt(n2/(e2*t2))),r2!==-1&&(o2=r2/e2,s2=r2/t2);let c2=Math.min(a2,o2,s2);return this.sx>c2||this.sy>c2?(this.sx=c2,this.sy=c2,!0):!1}static get pixelRatio(){return globalThis.devicePixelRatio||1}static capPixels(e2,t2){if(t2>=0){let n2=Math.ceil(window.screen.availWidth*window.screen.availHeight*this.pixelRatio**2*(1+t2/100));return e2>0?Math.min(e2,n2):n2}return e2}},Ko=["image/apng","image/avif","image/bmp","image/gif","image/jpeg","image/png","image/svg+xml","image/webp","image/x-icon"],ColorScheme=class{static get isDarkMode(){return shadow(this,"isDarkMode",!!window?.matchMedia?.("(prefers-color-scheme: dark)").matches)}},CSSConstants=class{static get commentForegroundColor(){let e2=document.createElement("span");e2.classList.add("comment","sidebar");let{style:t2}=e2;t2.width=t2.height="0",t2.display="none",t2.color="var(--comment-fg-color)",document.body.append(e2);let{color:n2}=window.getComputedStyle(e2);return e2.remove(),shadow(this,"commentForegroundColor",getRGB(n2))}};function applyOpacity(e2,t2){t2=MathClamp(t2??1,0,1);let n2=255*(1-t2);return e2.map(e3=>Math.round(e3*t2+n2))}function RGBToHSL(e2,t2){let n2=e2[0]/255,r2=e2[1]/255,i2=e2[2]/255,a2=Math.max(n2,r2,i2),o2=Math.min(n2,r2,i2),s2=(a2+o2)/2;if(a2===o2)t2[0]=t2[1]=0;else{let e3=a2-o2;switch(t2[1]=s2<.5?e3/(a2+o2):e3/(2-a2-o2),a2){case n2:t2[0]=((r2-i2)/e3+(r2<i2?6:0))*60;break;case r2:t2[0]=((i2-n2)/e3+2)*60;break;case i2:t2[0]=((n2-r2)/e3+4)*60;break}}t2[2]=s2}function HSLToRGB(e2,t2){let n2=e2[0],r2=e2[1],i2=e2[2],a2=(1-Math.abs(2*i2-1))*r2,o2=a2*(1-Math.abs(n2/60%2-1)),s2=i2-a2/2;switch(Math.floor(n2/60)){case 0:t2[0]=a2+s2,t2[1]=o2+s2,t2[2]=s2;break;case 1:t2[0]=o2+s2,t2[1]=a2+s2,t2[2]=s2;break;case 2:t2[0]=s2,t2[1]=a2+s2,t2[2]=o2+s2;break;case 3:t2[0]=s2,t2[1]=o2+s2,t2[2]=a2+s2;break;case 4:t2[0]=o2+s2,t2[1]=s2,t2[2]=a2+s2;break;case 5:case 6:t2[0]=a2+s2,t2[1]=s2,t2[2]=o2+s2;break}}function computeLuminance(e2){return e2<=.03928?e2/12.92:((e2+.055)/1.055)**2.4}function contrastRatio(e2,t2,n2){HSLToRGB(e2,n2),n2.map(computeLuminance);let r2=.2126*n2[0]+.7152*n2[1]+.0722*n2[2];HSLToRGB(t2,n2),n2.map(computeLuminance);let i2=.2126*n2[0]+.7152*n2[1]+.0722*n2[2];return r2>i2?(r2+.05)/(i2+.05):(i2+.05)/(r2+.05)}var qo=new Map;function findContrastColor(e2,t2){let n2=e2[0]+e2[1]*256+e2[2]*65536+t2[0]*16777216+t2[1]*4294967296+t2[2]*1099511627776,r2=qo.get(n2);if(r2)return r2;let i2=new Float32Array(9),a2=i2.subarray(0,3),o2=i2.subarray(3,6);RGBToHSL(e2,o2);let s2=i2.subarray(6,9);RGBToHSL(t2,s2);let c2=s2[2]<.5,l2=c2?12:4.5;if(o2[2]=c2?Math.sqrt(o2[2]):1-Math.sqrt(1-o2[2]),contrastRatio(o2,s2,a2)<l2){let e3,t3;for(c2?(e3=o2[2],t3=1):(e3=0,t3=o2[2]);t3-e3>.005;){let n3=o2[2]=(e3+t3)/2;c2===contrastRatio(o2,s2,a2)<l2?e3=n3:t3=n3}o2[2]=c2?t3:e3}return HSLToRGB(o2,a2),r2=Util.makeHexColor(Math.round(a2[0]*255),Math.round(a2[1]*255),Math.round(a2[2]*255)),qo.set(n2,r2),r2}function renderRichText({html:e2,dir:t2,className:n2},r2){let i2=document.createDocumentFragment();if(typeof e2=="string"){let n3=document.createElement("p");n3.dir=t2||"auto";let r3=e2.split(/\r\n?|\n/);for(let e3=0,t3=r3.length;e3<t3;++e3){let i3=r3[e3];n3.append(document.createTextNode(i3)),e3<t3-1&&n3.append(document.createElement("br"))}i2.append(n3)}else XfaLayer.render({xfaHtml:e2,div:i2,intent:"richText"});i2.firstElementChild.classList.add("richText",n2),r2.append(i2)}function makePathFromDrawOPS(e2){let t2=new Path2D;if(!e2)return t2;for(let n2=0,r2=e2.length;n2<r2;)switch(e2[n2++]){case Lo.moveTo:t2.moveTo(e2[n2++],e2[n2++]);break;case Lo.lineTo:t2.lineTo(e2[n2++],e2[n2++]);break;case Lo.curveTo:t2.bezierCurveTo(e2[n2++],e2[n2++],e2[n2++],e2[n2++],e2[n2++],e2[n2++]);break;case Lo.quadraticCurveTo:t2.quadraticCurveTo(e2[n2++],e2[n2++],e2[n2++],e2[n2++]);break;case Lo.closePath:t2.closePath();break;default:warn(`Unrecognized drawing path operator: ${e2[n2-1]}`);break}return t2}var Jo=class EditorToolbar{#e=null;#t=null;#n;#r=null;#i=null;#a=null;#o=null;#s=null;static#c=null;constructor(e2){this.#n=e2,EditorToolbar.#c||=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 e2=this.#e=document.createElement("div");e2.classList.add("editToolbar","hidden"),e2.setAttribute("role","toolbar");let t2=this.#n._uiManager._signal;t2 instanceof AbortSignal&&!t2.aborted&&(e2.addEventListener("contextmenu",noContextMenu,{signal:t2}),e2.addEventListener("pointerdown",EditorToolbar.#l,{signal:t2}));let n2=this.#r=document.createElement("div");n2.className="buttons",e2.append(n2);let r2=this.#n.toolbarPosition;if(r2){let{style:t3}=e2;t3.insetInlineEnd=`${100*(this.#n._uiManager.direction==="ltr"?1-r2[0]:r2[0])}%`,t3.top=`calc(${100*r2[1]}% + var(--editor-toolbar-vert-offset))`}return e2}get div(){return this.#e}static#l(e2){e2.stopPropagation()}#u(e2){this.#n._focusEventsAllowed=!1,stopEvent(e2)}#d(e2){this.#n._focusEventsAllowed=!0,stopEvent(e2)}#f(e2){let t2=this.#n._uiManager._signal;return!(t2 instanceof AbortSignal)||t2.aborted?!1:(e2.addEventListener("focusin",this.#u.bind(this),{capture:!0,signal:t2}),e2.addEventListener("focusout",this.#d.bind(this),{capture:!0,signal:t2}),e2.addEventListener("contextmenu",noContextMenu,{signal:t2}),!0)}hide(){this.#e.classList.add("hidden"),this.#t?.hideDropdown()}show(){this.#e.classList.remove("hidden"),this.#i?.shown(),this.#a?.shown()}addDeleteButton(){let{editorType:e2,_uiManager:t2}=this.#n,n2=document.createElement("button");n2.classList.add("basic","deleteButton"),n2.tabIndex=0,n2.setAttribute("data-l10n-id",EditorToolbar.#c[e2]),this.#f(n2)&&n2.addEventListener("click",e3=>{t2.delete()},{signal:t2._signal}),this.#r.append(n2)}get#p(){let e2=document.createElement("div");return e2.className="divider",e2}async addAltText(e2){let t2=await e2.render();this.#f(t2),this.#r.append(t2,this.#p),this.#i=e2}addComment(e2,t2=null){if(this.#a)return;let n2=e2.renderForToolbar();if(!n2)return;this.#f(n2);let r2=this.#o=this.#p;t2?(this.#r.insertBefore(n2,t2),this.#r.insertBefore(r2,t2)):this.#r.append(n2,r2),this.#a=e2,e2.toolbar=this}addColorPicker(e2){if(this.#t)return;this.#t=e2;let t2=e2.renderButton();this.#f(t2),this.#r.append(t2,this.#p)}async addEditSignatureButton(e2){let t2=this.#s=await e2.renderEditButton(this.#n);this.#f(t2),this.#r.append(t2,this.#p)}removeButton(e2){e2==="comment"&&(this.#a?.removeToolbarCommentButton(),this.#a=null,this.#o?.remove(),this.#o=null)}async addButton(e2,t2){switch(e2){case"colorPicker":t2&&this.addColorPicker(t2);break;case"altText":t2&&await this.addAltText(t2);break;case"editSignature":t2&&await this.addEditSignatureButton(t2);break;case"delete":this.addDeleteButton();break;case"comment":t2&&this.addComment(t2);break}}async addButtonBefore(e2,t2,n2){if(!t2&&e2==="comment")return;let r2=this.#r.querySelector(n2);r2&&e2==="comment"&&this.addComment(t2,r2)}updateEditSignatureButton(e2){this.#s&&(this.#s.title=e2)}remove(){this.#e.remove(),this.#t?.destroy(),this.#t=null}},FloatingToolbar=class{#e=null;#t=null;#n;constructor(e2){this.#n=e2}#r(){let e2=this.#t=document.createElement("div");e2.className="editToolbar",e2.setAttribute("role","toolbar");let t2=this.#n._signal;t2 instanceof AbortSignal&&!t2.aborted&&e2.addEventListener("contextmenu",noContextMenu,{signal:t2});let n2=this.#e=document.createElement("div");return n2.className="buttons",e2.append(n2),this.#n.hasCommentManager()&&this.#a("commentButton","pdfjs-comment-floating-button","pdfjs-comment-floating-button-label",()=>{this.#n.commentSelection("floating_button")}),this.#a("highlightButton","pdfjs-highlight-floating-button1","pdfjs-highlight-floating-button-label",()=>{this.#n.highlightSelection("floating_button")}),e2}#i(e2,t2){let n2=0,r2=0;for(let i2 of e2){let e3=i2.y+i2.height;if(e3<n2)continue;let a2=i2.x+(t2?i2.width:0);if(e3>n2){r2=a2,n2=e3;continue}t2?a2>r2&&(r2=a2):a2<r2&&(r2=a2)}return[t2?1-r2:r2,n2]}show(e2,t2,n2){let[r2,i2]=this.#i(t2,n2),{style:a2}=this.#t||=this.#r();e2.append(this.#t),a2.insetInlineEnd=`${100*r2}%`,a2.top=`calc(${100*i2}% + var(--editor-toolbar-vert-offset))`}hide(){this.#t.remove()}#a(e2,t2,n2,r2){let i2=document.createElement("button");i2.classList.add("basic",e2),i2.tabIndex=0,i2.setAttribute("data-l10n-id",t2);let a2=document.createElement("span");i2.append(a2),a2.className="visuallyHidden",a2.setAttribute("data-l10n-id",n2);let o2=this.#n._signal;o2 instanceof AbortSignal&&!o2.aborted&&(i2.addEventListener("contextmenu",noContextMenu,{signal:o2}),i2.addEventListener("click",r2,{signal:o2})),this.#e.append(i2)}},Yo=Object.freeze({internal:"068f09d6-5b37-4f77-a97a-f8ff4f253b68"});function bindEvents(e2,t2,n2){for(let r2 of n2)t2.addEventListener(r2,e2[r2].bind(e2))}var Xo=class CurrentPointers{static#e=NaN;static#t=null;static#n=NaN;static#r=null;static initializeAndAddPointerId(e2){(CurrentPointers.#t||=new Set).add(e2)}static setPointer(e2,t2){CurrentPointers.#e||=t2,CurrentPointers.#r??=e2}static setTimeStamp(e2){CurrentPointers.#n=e2}static isSamePointerId(e2){return CurrentPointers.#e===e2}static isSamePointerIdOrRemove(e2){return CurrentPointers.#e===e2?!0:(CurrentPointers.#t?.delete(e2),!1)}static isSamePointerType(e2){return CurrentPointers.#r===e2}static isInitializedAndDifferentPointerType(e2){return CurrentPointers.#r!==null&&!CurrentPointers.isSamePointerType(e2)}static isSameTimeStamp(e2){return CurrentPointers.#n===e2}static isUsingMultiplePointers(){return CurrentPointers.#t?.size>=1}static clearPointerType(){CurrentPointers.#r=null}static clearPointerIds(){CurrentPointers.#e=NaN,CurrentPointers.#t=null}static clearTimeStamp(){CurrentPointers.#n=NaN}},IdManager=class{#e=0;get id(){return`${Oo}${this.#e++}`}},Zo=class ImageManager{#e=getUuid();#t=0;#n=null;static get _isSVGFittingCanvas(){let e2=`data:image/svg+xml;charset=UTF-8,<svg viewBox="0 0 1 1" width="1" height="1" xmlns="${Co}"><rect width="1" height="1" style="fill:red;"/></svg>`,t2=new OffscreenCanvas(1,3).getContext("2d",{willReadFrequently:!0}),n2=new Image;n2.src=e2;let r2=n2.decode().then(()=>(t2.drawImage(n2,0,0,1,1,0,0,1,3),new Uint32Array(t2.getImageData(0,0,1,1).data.buffer)[0]===0));return shadow(this,"_isSVGFittingCanvas",r2)}async#r(e2,t2){this.#n||=new Map;let n2=this.#n.get(e2);if(n2===null)return null;if(n2?.bitmap)return n2.refCounter+=1,n2;try{n2||={bitmap:null,id:`image_${this.#e}_${this.#t++}`,refCounter:0,isSvg:!1};let e3;if(typeof t2=="string"?(n2.url=t2,e3=await fetchData(t2,"blob")):t2 instanceof File?e3=n2.file=t2:t2 instanceof Blob&&(e3=t2),e3.type==="image/svg+xml"){let t3=ImageManager._isSVGFittingCanvas,r2=new FileReader,i2=new Image,a2=new Promise((e4,a3)=>{i2.onload=()=>{n2.bitmap=i2,n2.isSvg=!0,e4()},r2.onload=async()=>{let e5=n2.svgUrl=r2.result;i2.src=await t3?`${e5}#svgView(preserveAspectRatio(none))`:e5},i2.onerror=r2.onerror=a3});r2.readAsDataURL(e3),await a2}else n2.bitmap=await createImageBitmap(e3);n2.refCounter=1}catch(e3){warn(e3),n2=null}return this.#n.set(e2,n2),n2&&this.#n.set(n2.id,n2),n2}async getFromFile(e2){let{lastModified:t2,name:n2,size:r2,type:i2}=e2;return this.#r(`${t2}_${n2}_${r2}_${i2}`,e2)}async getFromUrl(e2){return this.#r(e2,e2)}async getFromBlob(e2,t2){let n2=await t2;return this.#r(e2,n2)}async getFromId(e2){this.#n||=new Map;let t2=this.#n.get(e2);if(!t2)return null;if(t2.bitmap)return t2.refCounter+=1,t2;if(t2.file)return this.getFromFile(t2.file);if(t2.blobPromise){let{blobPromise:e3}=t2;return delete t2.blobPromise,this.getFromBlob(t2.id,e3)}return this.getFromUrl(t2.url)}getFromCanvas(e2,t2){this.#n||=new Map;let n2=this.#n.get(e2);if(n2?.bitmap)return n2.refCounter+=1,n2;let r2=new OffscreenCanvas(t2.width,t2.height);return r2.getContext("2d").drawImage(t2,0,0),n2={bitmap:r2.transferToImageBitmap(),id:`image_${this.#e}_${this.#t++}`,refCounter:1,isSvg:!1},this.#n.set(e2,n2),this.#n.set(n2.id,n2),n2}getSvgUrl(e2){let t2=this.#n.get(e2);return t2?.isSvg?t2.svgUrl:null}deleteId(e2){this.#n||=new Map;let t2=this.#n.get(e2);if(!t2||(--t2.refCounter,t2.refCounter!==0))return;let{bitmap:n2}=t2;if(!t2.url&&!t2.file){let e3=new OffscreenCanvas(n2.width,n2.height);e3.getContext("bitmaprenderer").transferFromImageBitmap(n2),t2.blobPromise=e3.convertToBlob()}n2.close?.(),t2.bitmap=null}isValidId(e2){return e2.startsWith(`image_${this.#e}_`)}},CommandManager=class{#e=[];#t=!1;#n;#r=-1;constructor(e2=128){this.#n=e2}add({cmd:e2,undo:t2,post:n2,mustExec:r2,type:i2=NaN,overwriteIfSameType:a2=!1,keepUndo:o2=!1}){if(r2&&e2(),this.#t)return;let s2={cmd:e2,undo:t2,post:n2,type:i2};if(this.#r===-1){this.#e.length>0&&(this.#e.length=0),this.#r=0,this.#e.push(s2);return}if(a2&&this.#e[this.#r].type===i2){o2&&(s2.undo=this.#e[this.#r].undo),this.#e[this.#r]=s2;return}let c2=this.#r+1;c2===this.#n?this.#e.splice(0,1):(this.#r=c2,c2<this.#e.length&&this.#e.splice(c2)),this.#e.push(s2)}undo(){if(this.#r===-1)return;this.#t=!0;let{undo:e2,post:t2}=this.#e[this.#r];e2(),t2?.(),this.#t=!1,--this.#r}redo(){if(this.#r<this.#e.length-1){this.#r+=1,this.#t=!0;let{cmd:e2,post:t2}=this.#e[this.#r];e2(),t2?.(),this.#t=!1}}hasSomethingToUndo(){return this.#r!==-1}hasSomethingToRedo(){return this.#r<this.#e.length-1}cleanType(e2){if(this.#r!==-1){for(let t2=this.#r;t2>=0;t2--)if(this.#e[t2].type!==e2){this.#e.splice(t2+1,this.#r-t2),this.#r=t2;return}this.#e.length=0,this.#r=-1}}destroy(){this.#e=null}},Qo=class KeyboardManager{static ALT=1;static CTRL=2;static META=4;static SHIFT=8;constructor(e2){this.callbacks=new Map;let{isMac:t2}=FeatureTest.platform;for(let[n2,r2,i2={}]of e2){let e3=n2.some(e4=>e4.startsWith("mac+"));for(let a2 of n2){let n3=a2;if(e3){let e4=a2.startsWith("mac+");if(t2!==e4)continue;e4&&(n3=a2.slice(4))}let[o2,s2]=KeyboardManager.#e(n3);o2!==null&&this.callbacks.getOrInsertComputed(o2,makeArr).push({callback:r2,options:i2,modifiers:s2})}}}static#e(e2){let t2=null,n2=0;for(let r2 of e2.split("+")){if(r2=r2.trim(),!r2)continue;let i2=r2.toUpperCase(),a2=KeyboardManager[i2];if(a2){n2|=a2;continue}if(t2!==null){warn(`KeyboardManager: multiple keys in shortcut "${e2}"`);break}t2=i2==="SPACE"?" ":r2}return t2===null&&warn(`KeyboardManager: no key found in shortcut "${e2}"`),[t2,n2]}static#t(e2){let t2=/^(?:Key([A-Z])|(?:Digit|Numpad)(\d))$/.exec(e2);return t2?t2[1]?.toLowerCase()??t2[2]:null}exec(e2,t2){let n2=this.callbacks.get(t2.key);if(!n2){if(/^[a-z]$/i.test(t2.key))return;let e3=KeyboardManager.#t(t2.code);if(e3===null||e3===t2.key||(n2=this.callbacks.get(e3),!n2))return}let r2=(t2.altKey?KeyboardManager.ALT:0)|(t2.ctrlKey?KeyboardManager.CTRL:0)|(t2.metaKey?KeyboardManager.META:0)|(t2.shiftKey?KeyboardManager.SHIFT:0),i2=n2.find(e3=>e3.modifiers===r2);if(!i2)return;let{callback:a2,options:{bubbles:o2=!1,args:s2=[],checker:c2=null}}=i2;c2&&!c2(e2,t2)||(a2.bind(e2,...s2,t2)(),o2||stopEvent(t2))}},$o=class ColorManager{static _colorsMapping=new Map([["CanvasText",[0,0,0]],["Canvas",[255,255,255]]]);get _colors(){let e2=new Map([["CanvasText",null],["Canvas",null]]);return getColorValues(e2),shadow(this,"_colors",e2)}convert(e2){let t2=getRGB(e2);if(!window.matchMedia("(forced-colors: active)").matches)return t2;for(let[e3,n2]of this._colors)if(n2.every((e4,n3)=>e4===t2[n3]))return ColorManager._colorsMapping.get(e3);return t2}getHexCode(e2){let t2=this._colors.get(e2);return t2?Util.makeHexColor(...t2):e2}},es=class AnnotationEditorUIManager{#e=new AbortController;#t=null;#n=null;#r=new Map;#i=new Map;#a=null;#o=null;#s=null;#c=null;#l=new CommandManager;#u=null;#d=null;#f=null;#p=0;#m=new Set;#h=null;#g=null;#_=new Set;_editorUndoBar=null;#v=!1;#y=!1;#b=!1;#x=null;#S=null;#C=null;#w=null;#T=!1;#E=null;#D=new IdManager;#O=!1;#k=!1;#A=!1;#j=null;#M=null;#N=null;#P=null;#F=null;#I=$.NONE;#L=new Set;#R=null;#z=null;#B=null;#V=null;#H=null;#U={isEditing:!1,isEmpty:!0,hasSomethingToUndo:!1,hasSomethingToRedo:!1,hasSelectedEditor:!1,hasSelectedText:!1};#W=[0,0];#G=null;#K=null;#q=null;#J=null;#Y=null;static TRANSLATE_SMALL=1;static TRANSLATE_BIG=10;static get _keyboardManager(){let e2=AnnotationEditorUIManager.prototype,arrowChecker=e3=>e3.#K.contains(document.activeElement)&&document.activeElement.tagName!=="BUTTON"&&e3.hasSomethingToControl(),textInputChecker=(e3,{target:t3})=>{if(t3 instanceof HTMLInputElement){let{type:e4}=t3;return e4!=="text"&&e4!=="number"}return!0},t2=this.TRANSLATE_SMALL,n2=this.TRANSLATE_BIG;return shadow(this,"_keyboardManager",new Qo([[["ctrl+a","mac+meta+a"],e2.selectAll,{checker:textInputChecker}],[["ctrl+z","mac+meta+z"],e2.undo,{checker:textInputChecker}],[["ctrl+y","ctrl+shift+z","mac+meta+shift+z","ctrl+shift+Z","mac+meta+shift+Z"],e2.redo,{checker:textInputChecker}],[["Backspace","alt+Backspace","ctrl+Backspace","shift+Backspace","mac+Backspace","mac+alt+Backspace","mac+ctrl+Backspace","Delete","ctrl+Delete","shift+Delete","mac+Delete"],e2.delete,{checker:textInputChecker}],[["Enter"],e2.addNewEditorFromKeyboard,{checker:(e3,{target:t3})=>!(t3 instanceof HTMLButtonElement)&&e3.#K.contains(t3)&&!e3.isEnterHandled}],[["Space"],e2.addNewEditorFromKeyboard,{checker:(e3,{target:t3})=>!(t3 instanceof HTMLButtonElement)&&e3.#K.contains(document.activeElement)}],[["Escape"],e2.unselectAll],[["ArrowLeft"],e2.translateSelectedEditors,{args:[-t2,0],checker:arrowChecker}],[["ctrl+ArrowLeft","mac+shift+ArrowLeft"],e2.translateSelectedEditors,{args:[-n2,0],checker:arrowChecker}],[["ArrowRight"],e2.translateSelectedEditors,{args:[t2,0],checker:arrowChecker}],[["ctrl+ArrowRight","mac+shift+ArrowRight"],e2.translateSelectedEditors,{args:[n2,0],checker:arrowChecker}],[["ArrowUp"],e2.translateSelectedEditors,{args:[0,-t2],checker:arrowChecker}],[["ctrl+ArrowUp","mac+shift+ArrowUp"],e2.translateSelectedEditors,{args:[0,-n2],checker:arrowChecker}],[["ArrowDown"],e2.translateSelectedEditors,{args:[0,t2],checker:arrowChecker}],[["ctrl+ArrowDown","mac+shift+ArrowDown"],e2.translateSelectedEditors,{args:[0,n2],checker:arrowChecker}]]))}constructor(e2,t2,n2,r2,i2,a2,o2,s2,c2,l2,u2,d2,f2,p2,m2,h2){let g2=this._signal=this.#e.signal;this.#K=e2,this.#q=t2,this.#J=n2,this.#o=r2,this.#u=i2,this.#z=a2,this.#H=s2,this._eventBus=o2;let _2={signal:g2,...Yo};o2.on("editingaction",this.onEditingAction.bind(this),_2),o2.on("pagechanging",this.onPageChanging.bind(this),_2),o2.on("scalechanging",this.onScaleChanging.bind(this),_2),o2.on("rotationchanging",this.onRotationChanging.bind(this),_2),o2.on("setpreference",this.onSetPreference.bind(this),_2),o2.on("switchannotationeditorparams",e3=>this.updateParams(e3.type,e3.value),_2),window.addEventListener("pointerdown",()=>{this.#k=!0},{capture:!0,signal:g2}),window.addEventListener("pointerup",()=>{this.#k=!1},{capture:!0,signal:g2}),window.addEventListener("beforeunload",this.#Q.bind(this),{capture:!0,signal:g2}),this.#ne(),this.#le(),this.#ae(),this.#s=s2.annotationStorage,this.#x=s2.filterFactory,this.#B=c2,this.#w=l2||null,this.#v=u2,this.#y=d2,this.#b=f2,this.#F=p2||null,this.viewParameters={realScale:PixelsPerInch.PDF_TO_CSS_UNITS,rotation:0},this.isShiftKeyDown=!1,this._editorUndoBar=m2||null,this._supportsPinchToZoom=h2!==!1,i2?.setSidebarUiManager(this)}destroy(){this.#Y?.resolve(),this.#Y=null,this.#e?.abort(),this.#e=null,this._signal=null;for(let e2 of this.#i.values())e2.destroy();this.#i.clear(),this.#r.clear(),this.#_.clear(),this.#P?.clear(),this.#t=null,this.#L.clear(),this.#l.destroy(),this.#o?.destroy(),this.#u?.destroy(),this.#z?.destroy(),this.#E?.hide(),this.#E=null,this.#N?.destroy(),this.#N=null,this.#n=null,this.#S&&=(clearTimeout(this.#S),null),this.#G&&=(clearTimeout(this.#G),null),this._editorUndoBar?.destroy(),this.#H=null}combinedSignal(e2){return AbortSignal.any([this._signal,e2.signal])}get mlManager(){return this.#F}get useNewAltTextFlow(){return this.#y}get useNewAltTextWhenAddingImage(){return this.#b}get hcmFilter(){return shadow(this,"hcmFilter",this.#B?this.#x.addHCMFilter(this.#B.foreground,this.#B.background):"none")}get direction(){return shadow(this,"direction",getComputedStyle(this.#K).direction)}get _highlightColors(){return shadow(this,"_highlightColors",this.#w?new Map(this.#w.split(",").map(e2=>(e2=e2.split("=").map(e3=>e3.trim()),e2[1]=e2[1].toUpperCase(),e2))):null)}get highlightColors(){let{_highlightColors:e2}=this;if(!e2)return shadow(this,"highlightColors",null);let t2=new Map,n2=!!this.#B;for(let[r2,i2]of e2){let e3=r2.endsWith("_HCM");if(n2&&e3){t2.set(r2.replace("_HCM",""),i2);continue}!n2&&!e3&&t2.set(r2,i2)}return shadow(this,"highlightColors",t2)}get highlightColorNames(){return shadow(this,"highlightColorNames",this.highlightColors?new Map(Array.from(this.highlightColors,e2=>e2.reverse())):null)}getNonHCMColor(e2){if(!this._highlightColors)return e2;let t2=this.highlightColorNames.get(e2);return this._highlightColors.get(t2)||e2}getNonHCMColorName(e2){return this.highlightColorNames.get(e2)||e2}setCurrentDrawingSession(e2){e2?(this.unselectAll(),this.disableUserSelect(!0)):this.disableUserSelect(!1),this.#f=e2}setMainHighlightColorPicker(e2){this.#N=e2}editAltText(e2,t2=!1){this.#o?.editAltText(this,e2,t2)}hasCommentManager(){return!!this.#u}editComment(e2,t2,n2,r2){this.#u?.showDialog(this,e2,t2,n2,r2)}selectComment(e2,t2){this.#i.get(e2)?.getEditorByUID(t2)?.toggleComment(!0,!0)}updateComment(e2){this.#u?.updateComment(e2.getData())}updatePopupColor(e2){this.#u?.updatePopupColor(e2)}removeComment(e2){this.#u?.removeComments([e2.uid])}deleteComment(e2,t2){let undo=()=>{e2.comment=t2},cmd=()=>{this._editorUndoBar?.show(undo,"comment"),this.toggleComment(null),e2.comment=null};this.addCommands({cmd,undo,mustExec:!0})}toggleComment(e2,t2,n2=void 0){this.#u?.toggleCommentPopup(e2,t2,n2)}makeCommentColor(e2,t2){return e2&&this.#u?.makeCommentColor(e2,t2)||null}getCommentDialogElement(){return this.#u?.dialogElement||null}async waitForEditorsRendered(e2){if(this.#i.has(e2-1))return;let{resolve:t2,promise:n2}=Promise.withResolvers(),onEditorsRendered=n3=>{n3.pageNumber===e2&&(this._eventBus.off("editorsrendered",onEditorsRendered),t2())};this._eventBus.on("editorsrendered",onEditorsRendered,Yo),await n2}getSignature(e2){this.#z?.getSignature({uiManager:this,editor:e2})}get signatureManager(){return this.#z}switchToMode(e2,t2){this._eventBus.on("annotationeditormodechanged",t2,{once:!0,signal:this._signal,...Yo}),this._eventBus.dispatch("showannotationeditorui",{source:this,mode:e2})}setPreference(e2,t2){this._eventBus.dispatch("setpreference",{source:this,name:e2,value:t2})}onSetPreference({name:e2,value:t2}){e2==="enableNewAltTextWhenAddingImage"&&(this.#b=t2)}onPageChanging({pageNumber:e2}){this.#p=e2-1}deletePage(e2){for(let t2 of this.getEditors(e2))t2.remove();this.#i.delete(e2),this.#p===e2&&(this.#p=0)}focusMainContainer(){this.#K.focus()}findParent(e2,t2){for(let n2 of this.#i.values()){let{x:r2,y:i2,width:a2,height:o2}=n2.div.getBoundingClientRect();if(e2>=r2&&e2<=r2+a2&&t2>=i2&&t2<=i2+o2)return n2}return null}disableUserSelect(e2=!1){this.#q.classList.toggle("noUserSelect",e2)}addShouldRescale(e2){this.#_.add(e2)}removeShouldRescale(e2){this.#_.delete(e2)}onScaleChanging({scale:e2}){this.commitOrRemove(),this.viewParameters.realScale=e2*PixelsPerInch.PDF_TO_CSS_UNITS;for(let e3 of this.#_)e3.onScaleChanging();this.#f?.onScaleChanging()}onRotationChanging({pagesRotation:e2}){this.commitOrRemove(),this.viewParameters.rotation=e2}#X({anchorNode:e2}){return e2.nodeType===Node.TEXT_NODE?e2.parentElement:e2}#Z(e2){let{currentLayer:t2}=this;if(t2.hasTextLayer(e2))return t2;for(let t3 of this.#i.values())if(t3.hasTextLayer(e2))return t3;return null}highlightSelection(e2="",t2=!1){let n2=document.getSelection();if(!n2||n2.isCollapsed)return;let{anchorNode:r2,anchorOffset:i2,focusNode:a2,focusOffset:o2}=n2,s2=n2.toString(),c2=this.#X(n2).closest(".textLayer"),l2=this.getSelectionBoxes(c2);if(!l2)return;n2.empty();let u2=this.#Z(c2),d2=this.#I===$.NONE,callback=()=>{let n3=u2?.createAndAddNewEditor({x:0,y:0},!1,{methodOfCreation:e2,boxes:l2,anchorNode:r2,anchorOffset:i2,focusNode:a2,focusOffset:o2,text:s2});d2&&this.showAllEditors("highlight",!0,!0),t2&&n3?.editComment()};if(d2){this.switchToMode($.HIGHLIGHT,callback);return}callback()}commentSelection(e2=""){this.highlightSelection(e2,!0)}#Q(e2){this.commitOrRemove(),this.currentLayer?.endDrawingSession(!1)}#$(){let e2=document.getSelection();if(!e2||e2.isCollapsed)return;let t2=this.#X(e2).closest(".textLayer"),n2=this.getSelectionBoxes(t2);n2&&(this.#E||=new FloatingToolbar(this),this.#E.show(t2,n2,this.direction==="ltr"))}getAndRemoveDataFromAnnotationStorage(e2){if(!this.#s)return null;let t2=`${Oo}${e2}`,n2=this.#s.getRawValue(t2);return n2&&this.#s.remove(t2),n2}addToAnnotationStorage(e2){!e2.isEmpty()&&this.#s&&!this.#s.has(e2.id)&&this.#s.setValue(e2.id,e2)}a11yAlert(e2,t2=null){let n2=this.#J;n2&&(n2.setAttribute("data-l10n-id",e2),t2?n2.setAttribute("data-l10n-args",JSON.stringify(t2)):n2.removeAttribute("data-l10n-args"))}#ee(){let e2=document.getSelection();if(!e2||e2.isCollapsed){this.#R&&(this.#E?.hide(),this.#R=null,this.#ue({hasSelectedText:!1}));return}let{anchorNode:t2}=e2;if(t2===this.#R)return;let n2=this.#X(e2).closest(".textLayer");if(!n2){this.#R&&(this.#E?.hide(),this.#R=null,this.#ue({hasSelectedText:!1}));return}if(this.#E?.hide(),this.#R=t2,this.#ue({hasSelectedText:!0}),(this.#I===$.HIGHLIGHT||this.#I===$.NONE)&&(this.#I===$.HIGHLIGHT&&this.showAllEditors("highlight",!0,!0),this.#T=this.isShiftKeyDown,!this.isShiftKeyDown)){let e3=this.#I===$.HIGHLIGHT?this.#Z(n2):null;if(e3?.toggleDrawing(),this.#k){let t3=new AbortController,n3=this.combinedSignal(t3),pointerup=n4=>{(n4.type!=="pointerup"||n4.button===0)&&(t3.abort(),e3?.toggleDrawing(!0),n4.type==="pointerup"&&this.#te("main_toolbar"))};window.addEventListener("pointerup",pointerup,{signal:n3}),window.addEventListener("blur",pointerup,{signal:n3})}else e3?.toggleDrawing(!0),this.#te("main_toolbar")}}#te(e2=""){this.#I===$.HIGHLIGHT?this.highlightSelection(e2):this.#v&&this.#$()}#ne(){document.addEventListener("selectionchange",this.#ee.bind(this),{signal:this._signal})}#re(){if(this.#C)return;this.#C=new AbortController;let e2=this.combinedSignal(this.#C);window.addEventListener("focus",this.focus.bind(this),{signal:e2}),window.addEventListener("blur",this.blur.bind(this),{signal:e2})}#ie(){this.#C?.abort(),this.#C=null}blur(){if(this.isShiftKeyDown=!1,this.#T&&(this.#T=!1,this.#te("main_toolbar")),!this.hasSelection)return;let{activeElement:e2}=document;for(let t2 of this.#L)if(t2.div.contains(e2)){this.#M=[t2,e2],t2._focusEventsAllowed=!1;break}}focus(){if(!this.#M)return;let[e2,t2]=this.#M;this.#M=null,t2.addEventListener("focusin",()=>{e2._focusEventsAllowed=!0},{once:!0,signal:this._signal}),t2.focus()}#ae(){if(this.#j)return;this.#j=new AbortController;let e2=this.combinedSignal(this.#j);window.addEventListener("keydown",this.keydown.bind(this),{signal:e2}),window.addEventListener("keyup",this.keyup.bind(this),{signal:e2})}#oe(){this.#j?.abort(),this.#j=null}#se(){if(this.#d)return;this.#d=new AbortController;let e2=this.combinedSignal(this.#d);document.addEventListener("copy",this.copy.bind(this),{signal:e2}),document.addEventListener("cut",this.cut.bind(this),{signal:e2}),document.addEventListener("paste",this.paste.bind(this),{signal:e2})}#ce(){this.#d?.abort(),this.#d=null}#le(){let e2=this._signal;document.addEventListener("dragover",this.dragOver.bind(this),{signal:e2}),document.addEventListener("drop",this.drop.bind(this),{signal:e2})}addEditListeners(){this.#ae(),this.setEditingState(!0)}removeEditListeners(){this.#oe(),this.setEditingState(!1)}dragOver(e2){for(let{type:t2}of e2.dataTransfer.items)for(let n2 of this.#g)if(n2.isHandlingMimeForPasting(t2)){e2.dataTransfer.dropEffect="copy",e2.preventDefault();return}}drop(e2){for(let t2 of e2.dataTransfer.items)for(let n2 of this.#g)if(n2.isHandlingMimeForPasting(t2.type)){n2.paste(t2,this.currentLayer),e2.preventDefault();return}}copy(e2){if(e2.preventDefault(),this.#t?.commitOrRemove(),!this.hasSelection)return;let t2=[];for(let e3 of this.#L){let n2=e3.serialize(!0);n2&&t2.push(n2)}t2.length!==0&&e2.clipboardData.setData("application/pdfjs",JSON.stringify(t2))}cut(e2){this.copy(e2),this.delete()}async paste(e2){e2.preventDefault();let{clipboardData:t2}=e2;for(let e3 of t2.items)for(let t3 of this.#g)if(t3.isHandlingMimeForPasting(e3.type)){t3.paste(e3,this.currentLayer);return}let n2=t2.getData("application/pdfjs");if(!n2)return;try{n2=JSON.parse(n2)}catch(e3){warn(`paste: "${e3.message}".`);return}if(!Array.isArray(n2))return;this.unselectAll();let r2=this.currentLayer;try{let e3=[];for(let t3 of n2){let n3=await r2.deserialize(t3);if(!n3)return;e3.push(n3)}let cmd=()=>{for(let t3 of e3)this.#me(t3);this.#_e(e3)},undo=()=>{for(let t3 of e3)t3.remove()};this.addCommands({cmd,undo,mustExec:!0})}catch(e3){warn(`paste: "${e3.message}".`)}}keydown(e2){!this.isShiftKeyDown&&e2.key==="Shift"&&(this.isShiftKeyDown=!0),this.#I!==$.NONE&&!this.isEditorHandlingKeyboard&&AnnotationEditorUIManager._keyboardManager.exec(this,e2)}keyup(e2){this.isShiftKeyDown&&e2.key==="Shift"&&(this.isShiftKeyDown=!1,this.#T&&(this.#T=!1,this.#te("main_toolbar")))}onEditingAction({name:e2}){switch(e2){case"undo":case"redo":case"delete":case"selectAll":this[e2]();break;case"highlightSelection":this.highlightSelection("context_menu");break;case"commentSelection":this.commentSelection("context_menu");break}}updatePageIndex(e2,t2){for(let n3 of this.getEditors(e2))n3.pageIndex=t2;let n2=this.#a.get(e2);n2&&(n2.pageIndex=t2,this.#i.set(t2,n2),this.#O?n2.enable():n2.disable())}startUpdatePages(){this.#a=new Map(this.#i),this.#i.clear()}endUpdatePages(){this.#a=null}clonePage(e2,t2){for(let n2 of this.getEditors(e2)){let e3=n2.serialize(n2.mode!==$.HIGHLIGHT);e3&&(e3.pageIndex=t2,e3.id=this.getId(),e3.isClone=!0,delete e3.popupRef,this.#s.setValue(e3.id,e3))}}findClonesForPage(e2){let t2=[],{pageIndex:n2}=e2;for(let[r2,i2]of this.#s)i2.pageIndex===n2&&i2.isClone&&(this.#s.remove(r2),t2.push(e2.deserialize(i2).then(t3=>{t3&&(t3.isClone=!0,e2.addOrRebuild(t3))})));return Promise.all(t2)}#ue(e2){Object.entries(e2).some(([e3,t2])=>this.#U[e3]!==t2)&&(this._eventBus.dispatch("editingstateschanged",{source:this,details:Object.assign(this.#U,e2)}),this.#I===$.HIGHLIGHT&&e2.hasSelectedEditor===!1&&this.#de([[ko.HIGHLIGHT_FREE,!0]]))}#de(e2){this._eventBus.dispatch("annotationeditorparamschanged",{source:this,details:e2})}setEditingState(e2){e2?(this.#re(),this.#se(),this.#ue({isEditing:this.#I!==$.NONE,isEmpty:this.#ge(),hasSomethingToUndo:this.#l.hasSomethingToUndo(),hasSomethingToRedo:this.#l.hasSomethingToRedo(),hasSelectedEditor:!1})):(this.#ie(),this.#ce(),this.#ue({isEditing:!1}),this.disableUserSelect(!1))}registerEditorTypes(e2){if(!this.#g){this.#g=e2;for(let e3 of this.#g)this.#de(e3.defaultPropertiesToUpdate)}}getId(){return this.#D.id}get currentLayer(){return this.#i.get(this.#p)}getLayer(e2){return this.#i.get(e2)}get currentPageIndex(){return this.#p}addLayer(e2){this.#i.set(e2.pageIndex,e2),this.#O?e2.enable():e2.disable()}removeLayer(e2){this.#i.delete(e2.pageIndex)}async updateMode(e2,t2=null,n2=!1,r2=!1,i2=!1,a2=!1){if(this.#I!==e2&&!(this.#Y&&(await this.#Y.promise,!this.#Y))){if(this.#Y=Promise.withResolvers(),this.#f?.commitOrRemove(),this.#I===$.POPUP&&this.#u?.hideSidebar(),this.#u?.destroyPopup(),this.#I=e2,e2===$.NONE){this.setEditingState(!1),this.#pe();for(let e3 of this.#r.values())e3.hideStandaloneCommentButton();this._editorUndoBar?.hide(),this.toggleComment(null),this.#Y.resolve();return}for(let e3 of this.#r.values())e3.addStandaloneCommentButton();e2===$.SIGNATURE&&await this.#z?.loadSignatures(),n2&&Xo.clearPointerType(),this.setEditingState(!0),await this.#fe(),this.unselectAll();for(let t3 of this.#i.values())t3.updateMode(e2);if(e2===$.POPUP){this.#n||=await this.#H.getAnnotationsByType(new Set(this.#g.map(e4=>e4._editorType)));let e3=new Set,t3=[];for(let n3 of this.#r.values()){let{annotationElementId:r3,hasComment:i3,deleted:a3}=n3;r3&&e3.add(r3),i3&&!a3&&t3.push(n3.getData())}for(let n3 of this.#n){let{id:r3,popupRef:i3,contentsObj:a3}=n3;i3&&a3?.str&&!e3.has(r3)&&!this.#m.has(r3)&&t3.push(n3)}this.#u?.showSidebar(t3)}if(!t2){r2&&this.addNewEditorFromKeyboard(),this.#Y.resolve();return}for(let e3 of this.#r.values())e3.uid===t2?(this.setSelected(e3),a2?e3.editComment():i2?e3.enterInEditMode():e3.focus()):e3.unselect();this.#Y.resolve()}}addNewEditorFromKeyboard(){this.currentLayer.canCreateNewEmptyEditor()&&this.currentLayer.addNewEditor()}updateToolbar(e2){e2.mode!==this.#I&&this._eventBus.dispatch("switchannotationeditormode",{source:this,...e2})}updateParams(e2,t2){if(this.#g){switch(e2){case ko.CREATE:this.currentLayer.addNewEditor(t2);return;case ko.HIGHLIGHT_SHOW_ALL:this._eventBus.dispatch("reporttelemetry",{source:this,details:{type:"editing",data:{type:"highlight",action:"toggle_visibility"}}}),(this.#V||=new Map).set(e2,t2),this.showAllEditors("highlight",t2);break}if(this.hasSelection)for(let n2 of this.#L)n2.updateParams(e2,t2);else for(let n2 of this.#g)n2.updateDefaultParams(e2,t2)}}showAllEditors(e2,t2,n2=!1){for(let n3 of this.#r.values())n3.editorType===e2&&n3.show(t2);(this.#V?.get(ko.HIGHLIGHT_SHOW_ALL)??!0)!==t2&&this.#de([[ko.HIGHLIGHT_SHOW_ALL,t2]])}enableWaiting(e2=!1){if(this.#A!==e2){this.#A=e2;for(let t2 of this.#i.values())e2?t2.disableClick():t2.enableClick(),t2.div.classList.toggle("waiting",e2)}}async#fe(){if(!this.#O){this.#O=!0;let e2=[];for(let t2 of this.#i.values())e2.push(t2.enable());await Promise.all(e2);for(let e3 of this.#r.values())e3.enable()}}#pe(){if(this.unselectAll(),this.#O){this.#O=!1;for(let e2 of this.#i.values())e2.disable();for(let e2 of this.#r.values())e2.disable()}}*getEditors(e2){for(let t2 of this.#r.values())t2.pageIndex===e2&&(yield t2)}getEditor(e2){return this.#r.get(e2)}addEditor(e2){this.#r.set(e2.id,e2)}removeEditor(e2){e2.div.contains(document.activeElement)&&(this.#S&&clearTimeout(this.#S),this.#S=setTimeout(()=>{this.focusMainContainer(),this.#S=null},0)),this.#r.delete(e2.id),e2.annotationElementId&&this.#P?.delete(e2.annotationElementId),this.unselect(e2),(!e2.annotationElementId||!this.#m.has(e2.annotationElementId))&&this.#s?.remove(e2.id)}addDeletedAnnotationElement(e2){this.#m.add(e2.annotationElementId),this.addChangedExistingAnnotation(e2),e2.deleted=!0}isDeletedAnnotationElement(e2){return this.#m.has(e2)}removeDeletedAnnotationElement(e2){this.#m.delete(e2.annotationElementId),this.removeChangedExistingAnnotation(e2),e2.deleted=!1}#me(e2){let t2=this.#i.get(e2.pageIndex);t2?t2.addOrRebuild(e2):(this.addEditor(e2),this.addToAnnotationStorage(e2))}setActiveEditor(e2){this.#t!==e2&&(this.#t=e2,e2&&this.#de(e2.propertiesToUpdate))}get#he(){let e2=null;for(e2 of this.#L);return e2}updateUI(e2){this.#he===e2&&this.#de(e2.propertiesToUpdate)}updateUIForDefaultProperties(e2){this.#de(e2.defaultPropertiesToUpdate)}toggleSelected(e2){if(this.#L.has(e2)){this.#L.delete(e2),e2.unselect(),this.#ue({hasSelectedEditor:this.hasSelection});return}this.#L.add(e2),e2.select(),this.#de(e2.propertiesToUpdate),this.#ue({hasSelectedEditor:!0})}setSelected(e2){this.updateToolbar({mode:e2.mode,editId:e2.uid}),this.#f?.commitOrRemove();for(let t2 of this.#L)t2!==e2&&t2.unselect();this.#u?.destroyPopup(),this.#L.clear(),this.#L.add(e2),e2.select(),this.#de(e2.propertiesToUpdate),this.#ue({hasSelectedEditor:!0})}get firstSelectedEditor(){return this.#L.values().next().value}unselect(e2){e2.unselect(),this.#L.delete(e2),this.#ue({hasSelectedEditor:this.hasSelection})}get hasSelection(){return this.#L.size!==0}get isEnterHandled(){return this.#L.size===1&&this.firstSelectedEditor.isEnterHandled}undo(){this.#l.undo(),this.#ue({hasSomethingToUndo:this.#l.hasSomethingToUndo(),hasSomethingToRedo:!0,isEmpty:this.#ge()}),this._editorUndoBar?.hide()}redo(){this.#l.redo(),this.#ue({hasSomethingToUndo:!0,hasSomethingToRedo:this.#l.hasSomethingToRedo(),isEmpty:this.#ge()})}addCommands(e2){this.#l.add(e2),this.#ue({hasSomethingToUndo:!0,hasSomethingToRedo:!1,isEmpty:this.#ge()})}cleanUndoStack(e2){this.#l.cleanType(e2)}#ge(){if(this.#r.size===0)return!0;if(this.#r.size===1)for(let e2 of this.#r.values())return e2.isEmpty();return!1}delete(){this.commitOrRemove();let e2=this.currentLayer?.endDrawingSession(!0);if(!this.hasSelection&&!e2)return;let t2=e2?[e2]:[...this.#L],cmd=()=>{this._editorUndoBar?.show(undo,t2.length===1?t2[0].editorType:t2.length);for(let e3 of t2)e3.remove()},undo=()=>{for(let e3 of t2)this.#me(e3)};this.addCommands({cmd,undo,mustExec:!0})}commitOrRemove(){this.#t?.commitOrRemove()}hasSomethingToControl(){return this.#t||this.hasSelection}#_e(e2){for(let e3 of this.#L)e3.unselect();this.#L.clear();for(let t2 of e2)t2.isEmpty()||(this.#L.add(t2),t2.select());this.#ue({hasSelectedEditor:this.hasSelection})}selectAll(){for(let e2 of this.#L)e2.commit();this.#_e(this.#r.values())}unselectAll(){if(!(this.#t&&(this.#t.commitOrRemove(),this.#I!==$.NONE))&&!this.#f?.commitOrRemove()&&(this.#u?.destroyPopup(),this.hasSelection)){for(let e2 of this.#L)e2.unselect();this.#L.clear(),this.#ue({hasSelectedEditor:!1})}}translateSelectedEditors(e2,t2,n2=!1){if(n2||this.commitOrRemove(),!this.hasSelection)return;this.#W[0]+=e2,this.#W[1]+=t2;let[r2,i2]=this.#W,a2=[...this.#L];this.#G&&clearTimeout(this.#G),this.#G=setTimeout(()=>{this.#G=null,this.#W[0]=this.#W[1]=0,this.addCommands({cmd:()=>{for(let e3 of a2)this.#r.has(e3.id)&&(e3.translateInPage(r2,i2),e3.translationDone())},undo:()=>{for(let e3 of a2)this.#r.has(e3.id)&&(e3.translateInPage(-r2,-i2),e3.translationDone())},mustExec:!1})},1e3);for(let n3 of a2)n3.translateInPage(e2,t2),n3.translationDone()}setUpDragSession(){if(this.hasSelection){this.disableUserSelect(!0),this.#h=new Map;for(let e2 of this.#L)this.#h.set(e2,{savedX:e2.x,savedY:e2.y,savedPageIndex:e2.pageIndex,newX:0,newY:0,newPageIndex:-1})}}endDragSession(){if(!this.#h)return!1;this.disableUserSelect(!1);let e2=this.#h;this.#h=null;let t2=!1;for(let[{x:n2,y:r2,pageIndex:i2},a2]of e2)a2.newX=n2,a2.newY=r2,a2.newPageIndex=i2,t2||=n2!==a2.savedX||r2!==a2.savedY||i2!==a2.savedPageIndex;if(!t2)return!1;let move=(e3,t3,n2,r2)=>{if(this.#r.has(e3.id)){let i2=this.#i.get(r2);i2?e3._setParentAndPosition(i2,t3,n2):(e3.pageIndex=r2,e3.x=t3,e3.y=n2)}};return this.addCommands({cmd:()=>{for(let[t3,{newX:n2,newY:r2,newPageIndex:i2}]of e2)move(t3,n2,r2,i2)},undo:()=>{for(let[t3,{savedX:n2,savedY:r2,savedPageIndex:i2}]of e2)move(t3,n2,r2,i2)},mustExec:!0}),!0}dragSelectedEditors(e2,t2){if(this.#h)for(let n2 of this.#h.keys())n2.drag(e2,t2)}rebuild(e2){if(e2.parent===null){let t2=this.getLayer(e2.pageIndex);t2?(t2.changeParent(e2),t2.addOrRebuild(e2)):(this.addEditor(e2),this.addToAnnotationStorage(e2),e2.rebuild())}else e2.parent.addOrRebuild(e2)}get isEditorHandlingKeyboard(){return this.getActive()?.shouldGetKeyboardEvents()||this.#L.size===1&&this.firstSelectedEditor.shouldGetKeyboardEvents()}isActive(e2){return this.#t===e2}getActive(){return this.#t}getMode(){return this.#I}isEditingMode(){return this.#I!==$.NONE}get imageManager(){return shadow(this,"imageManager",new Zo)}getSelectionBoxes(e2){if(!e2)return null;let t2=document.getSelection();for(let n3=0,r3=t2.rangeCount;n3<r3;n3++)if(!e2.contains(t2.getRangeAt(n3).commonAncestorContainer))return null;let{x:n2,y:r2,width:i2,height:a2}=e2.getBoundingClientRect(),rotator;switch(e2.getAttribute("data-main-rotation")){case"90":rotator=(e3,t3,o3,s2)=>({x:(t3-r2)/a2,y:1-(e3+o3-n2)/i2,width:s2/a2,height:o3/i2});break;case"180":rotator=(e3,t3,o3,s2)=>({x:1-(e3+o3-n2)/i2,y:1-(t3+s2-r2)/a2,width:o3/i2,height:s2/a2});break;case"270":rotator=(e3,t3,o3,s2)=>({x:1-(t3+s2-r2)/a2,y:(e3-n2)/i2,width:s2/a2,height:o3/i2});break;default:rotator=(e3,t3,o3,s2)=>({x:(e3-n2)/i2,y:(t3-r2)/a2,width:o3/i2,height:s2/a2});break}let o2=[];for(let e3=0,n3=t2.rangeCount;e3<n3;e3++){let n4=t2.getRangeAt(e3);if(!n4.collapsed)for(let{x:e4,y:t3,width:r3,height:i3}of n4.getClientRects())r3!==0&&i3!==0&&o2.push(rotator(e4,t3,r3,i3))}return o2.length===0?null:o2}addChangedExistingAnnotation({annotationElementId:e2,id:t2}){(this.#c||=new Map).set(e2,t2)}removeChangedExistingAnnotation({annotationElementId:e2}){this.#c?.delete(e2)}renderAnnotationElement(e2){let t2=this.#c?.get(e2.data.id);if(!t2)return;let n2=this.#s.getRawValue(t2);n2&&(this.#I===$.NONE&&!n2.hasBeenModified||n2.renderAnnotationElement(e2))}setMissingCanvas(e2,t2,n2){let r2=this.#P?.get(e2);r2&&(r2.setCanvas(t2,n2),this.#P.delete(e2))}addMissingCanvas(e2,t2){(this.#P||=new Map).set(e2,t2)}},ts=class AltText{#e=null;#t=!1;#n=null;#r=null;#i=null;#a=null;#o=!1;#s=null;#c=null;#l=null;#u=null;#d=!1;static#f=null;static _l10n=null;constructor(e2){this.#c=e2,this.#d=e2._uiManager.useNewAltTextFlow,AltText.#f||=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(e2){AltText._l10n??=e2}async render(){let e2=this.#n=document.createElement("button");e2.className="altText",e2.tabIndex="0";let t2=this.#r=document.createElement("span");e2.append(t2),this.#d?(e2.classList.add("new"),e2.setAttribute("data-l10n-id",AltText.#f.missing),t2.setAttribute("data-l10n-id",AltText.#f["missing-label"])):(e2.setAttribute("data-l10n-id","pdfjs-editor-alt-text-button"),t2.setAttribute("data-l10n-id","pdfjs-editor-alt-text-button-label"));let n2=this.#c._uiManager._signal;e2.addEventListener("contextmenu",noContextMenu,{signal:n2}),e2.addEventListener("pointerdown",e3=>e3.stopPropagation(),{signal:n2});let onClick=e3=>{e3.preventDefault(),this.#c._uiManager.editAltText(this.#c),this.#d&&this.#c._reportTelemetry({action:"pdfjs.image.alt_text.image_status_label_clicked",data:{label:this.#p}})};return e2.addEventListener("click",onClick,{capture:!0,signal:n2}),e2.addEventListener("keydown",t3=>{t3.target===e2&&t3.key==="Enter"&&(this.#o=!0,onClick(t3))},{signal:n2}),await this.#m(),e2}get#p(){return this.#e&&"added"||this.#e===null&&this.guessedText&&"review"||"missing"}finish(){this.#n&&(this.#n.focus({focusVisible:this.#o}),this.#o=!1)}isEmpty(){return this.#d?this.#e===null:!this.#e&&!this.#t}hasData(){return this.#d?this.#e!==null||!!this.#l:this.isEmpty()}get guessedText(){return this.#l}async setGuessedText(e2){this.#e===null&&(this.#l=e2,this.#u=await AltText._l10n.get("pdfjs-editor-new-alt-text-generated-alt-text-with-disclaimer",{generatedAltText:e2}),this.#m())}toggleAltTextBadge(e2=!1){if(!this.#d||this.#e){this.#s?.remove(),this.#s=null;return}if(!this.#s){let e3=this.#s=document.createElement("div");e3.className="noAltTextBadge",this.#c.div.append(e3)}this.#s.classList.toggle("hidden",!e2)}serialize(e2){let t2=this.#e;return!e2&&this.#l===t2&&(t2=this.#u),{altText:t2,decorative:this.#t,guessedText:this.#l,textWithDisclaimer:this.#u}}get data(){return{altText:this.#e,decorative:this.#t}}set data({altText:e2,decorative:t2,guessedText:n2,textWithDisclaimer:r2,cancel:i2=!1}){n2&&(this.#l=n2,this.#u=r2),(this.#e!==e2||this.#t!==t2)&&(i2||(this.#e=e2,this.#t=t2),this.#m())}toggle(e2=!1){this.#n&&(!e2&&this.#a&&(clearTimeout(this.#a),this.#a=null),this.#n.disabled=!e2)}shown(){this.#c._reportTelemetry({action:"pdfjs.image.alt_text.image_status_label_displayed",data:{label:this.#p}})}destroy(){this.#n?.remove(),this.#n=null,this.#r=null,this.#i=null,this.#s?.remove(),this.#s=null}async#m(){let e2=this.#n;if(!e2)return;if(this.#d){if(e2.classList.toggle("done",!!this.#e),e2.setAttribute("data-l10n-id",AltText.#f[this.#p]),this.#r?.setAttribute("data-l10n-id",AltText.#f[`${this.#p}-label`]),!this.#e){this.#i?.remove();return}}else{if(!this.#e&&!this.#t){e2.classList.remove("done"),this.#i?.remove();return}e2.classList.add("done"),e2.setAttribute("data-l10n-id","pdfjs-editor-alt-text-edit-button")}let t2=this.#i;if(!t2){this.#i=t2=document.createElement("span"),t2.className="tooltip",t2.setAttribute("role","tooltip"),t2.id=`alt-text-tooltip-${this.#c.id}`;let n2=this.#c._uiManager._signal;n2.addEventListener("abort",()=>{clearTimeout(this.#a),this.#a=null},{once:!0}),e2.addEventListener("mouseenter",()=>{this.#a=setTimeout(()=>{this.#a=null,this.#i.classList.add("show"),this.#c._reportTelemetry({action:"alt_text_tooltip"})},100)},{signal:n2}),e2.addEventListener("mouseleave",()=>{this.#a&&=(clearTimeout(this.#a),null),this.#i?.classList.remove("show")},{signal:n2})}this.#t?t2.setAttribute("data-l10n-id","pdfjs-editor-alt-text-decorative-tooltip"):(t2.removeAttribute("data-l10n-id"),t2.textContent=this.#e),t2.parentNode||e2.append(t2),this.#c.getElementForAltText()?.setAttribute("aria-describedby",t2.id)}},Comment=class{#e=null;#t=null;#n=!1;#r=null;#i=null;#a=null;#o=null;#s=null;#c=!1;#l=null;constructor(e2){this.#r=e2}renderForToolbar(){let e2=this.#t=document.createElement("button");return e2.className="comment",this.#u(e2,!1)}renderForStandalone(){let e2=this.#e=document.createElement("button");e2.className="annotationCommentButton";let t2=this.#r.commentButtonPosition;if(t2){let{style:n2}=e2;n2.insetInlineEnd=`calc(${100*(this.#r._uiManager.direction==="ltr"?1-t2[0]:t2[0])}% - var(--comment-button-dim))`,n2.top=`calc(${100*t2[1]}% - var(--comment-button-dim))`;let r2=this.#r.commentButtonColor;r2&&(n2.backgroundColor=r2)}return this.#u(e2,!0)}focusButton(){setTimeout(()=>{(this.#e??this.#t)?.focus()},0)}onUpdatedColor(){if(!this.#e)return;let e2=this.#r.commentButtonColor;e2&&(this.#e.style.backgroundColor=e2),this.#r._uiManager.updatePopupColor(this.#r)}get commentButtonWidth(){return(this.#e?.getBoundingClientRect().width??0)/this.#r.parent.boundingClientRect.width}get commentPopupPositionInLayer(){if(this.#l)return this.#l;if(!this.#e)return null;let{x:e2,y:t2,height:n2}=this.#e.getBoundingClientRect(),{x:r2,y:i2,width:a2,height:o2}=this.#r.parent.boundingClientRect;return[(e2-r2)/a2,(t2+n2-i2)/o2]}set commentPopupPositionInLayer(e2){this.#l=e2}hasDefaultPopupPosition(){return this.#l===null}removeStandaloneCommentButton(){this.#e?.remove(),this.#e=null}removeToolbarCommentButton(){this.#t?.remove(),this.#t=null}setCommentButtonStates({selected:e2,hasPopup:t2}){this.#e&&(this.#e.classList.toggle("selected",e2),this.#e.ariaExpanded=t2)}#u(e2,t2){if(!this.#r._uiManager.hasCommentManager())return null;e2.tabIndex="0",e2.ariaHasPopup="dialog",t2?(e2.ariaControls="commentPopup",e2.setAttribute("data-l10n-id","pdfjs-show-comment-button")):(e2.ariaControlsElements=[this.#r._uiManager.getCommentDialogElement()],e2.setAttribute("data-l10n-id","pdfjs-editor-add-comment-button"));let n2=this.#r._uiManager._signal;if(!(n2 instanceof AbortSignal)||n2.aborted)return e2;e2.addEventListener("contextmenu",noContextMenu,{signal:n2}),t2&&(e2.addEventListener("focusin",e3=>{this.#r._focusEventsAllowed=!1,stopEvent(e3)},{capture:!0,signal:n2}),e2.addEventListener("focusout",e3=>{this.#r._focusEventsAllowed=!0,stopEvent(e3)},{capture:!0,signal:n2})),e2.addEventListener("pointerdown",e3=>e3.stopPropagation(),{signal:n2});let onClick=t3=>{t3.preventDefault(),e2===this.#t?this.edit():this.#r.toggleComment(!0)};return e2.addEventListener("click",onClick,{capture:!0,signal:n2}),e2.addEventListener("keydown",t3=>{t3.target===e2&&t3.key==="Enter"&&(this.#n=!0,onClick(t3))},{signal:n2}),e2.addEventListener("pointerenter",()=>{this.#r.toggleComment(!1,!0)},{signal:n2}),e2.addEventListener("pointerleave",()=>{this.#r.toggleComment(!1,!1)},{signal:n2}),e2}edit(e2){let t2=this.commentPopupPositionInLayer,n2,r2;if(t2)[n2,r2]=t2;else{[n2,r2]=this.#r.commentButtonPosition;let{width:e3,height:t3,x:i3,y:a3}=this.#r;n2=i3+n2*e3,r2=a3+r2*t3}let i2=this.#r.parent.boundingClientRect,{x:a2,y:o2,width:s2,height:c2}=i2;this.#r._uiManager.editComment(this.#r,a2+n2*s2,o2+r2*c2,{...e2,parentDimensions:i2})}finish(){this.#t&&(this.#t.focus({focusVisible:this.#n}),this.#n=!1)}isDeleted(){return this.#c||this.#o===""}isEmpty(){return this.#o===null}hasBeenEdited(){return this.isDeleted()||this.#o!==this.#i}serialize(){return this.data}get data(){return{text:this.#o,richText:this.#a,date:this.#s,deleted:this.isDeleted()}}set data(e2){if(e2!==this.#o&&(this.#a=null),e2===null){this.#o="",this.#c=!0;return}this.#o=e2,this.#s=new Date,this.#c=!1}restoreData({text:e2,richText:t2,date:n2}){this.#o=e2,this.#a=t2,this.#s=n2,this.#c=!1}setInitialText(e2,t2=null){this.#i=e2,this.data=e2,this.#s=null,this.#a=t2}shown(){}destroy(){this.#t?.remove(),this.#t=null,this.#e?.remove(),this.#e=null,this.#o="",this.#a=null,this.#s=null,this.#r=null,this.#n=!1,this.#c=!1}},ns=class TouchManager{#e;#t=!1;#n=null;#r;#i;#a;#o;#s=null;#c;#l=null;#u;#d=null;constructor({container:e2,isPinchingDisabled:t2=null,isPinchingStopped:n2=null,onPinchStart:r2=null,onPinching:i2=null,onPinchEnd:a2=null,signal:o2}){this.#e=e2,this.#n=n2,this.#r=t2,this.#i=r2,this.#a=i2,this.#o=a2,this.#u=new AbortController,this.#c=AbortSignal.any([o2,this.#u.signal]),e2.addEventListener("touchstart",this.#f.bind(this),{passive:!1,signal:this.#c})}get MIN_TOUCH_DISTANCE_TO_PINCH(){return 35/Go.pixelRatio}#f(e2){if(this.#r?.())return;if(e2.touches.length===1){if(this.#s)return;let e3=this.#s=new AbortController,t3=AbortSignal.any([this.#c,e3.signal]),n3=this.#e,r2={capture:!0,signal:t3,passive:!1},cancelPointerDown=e4=>{e4.pointerType==="touch"&&(this.#s?.abort(),this.#s=null)};n3.addEventListener("pointerdown",e4=>{e4.pointerType==="touch"&&(stopEvent(e4),cancelPointerDown(e4))},r2),n3.addEventListener("pointerup",cancelPointerDown,r2),n3.addEventListener("pointercancel",cancelPointerDown,r2);return}if(!this.#d){this.#d=new AbortController;let e3=AbortSignal.any([this.#c,this.#d.signal]),t3=this.#e,n3={signal:e3,capture:!1,passive:!1};t3.addEventListener("touchmove",this.#p.bind(this),n3);let r2=this.#m.bind(this);t3.addEventListener("touchend",r2,n3),t3.addEventListener("touchcancel",r2,n3),n3.capture=!0,t3.addEventListener("pointerdown",stopEvent,n3),t3.addEventListener("pointermove",stopEvent,n3),t3.addEventListener("pointercancel",stopEvent,n3),t3.addEventListener("pointerup",stopEvent,n3),this.#i?.()}if(stopEvent(e2),e2.touches.length!==2||this.#n?.()){this.#l=null;return}let[t2,n2]=e2.touches;t2.identifier>n2.identifier&&([t2,n2]=[n2,t2]),this.#l={touch0X:t2.screenX,touch0Y:t2.screenY,touch1X:n2.screenX,touch1Y:n2.screenY}}#p(e2){if(!this.#l||e2.touches.length!==2)return;stopEvent(e2);let[t2,n2]=e2.touches;t2.identifier>n2.identifier&&([t2,n2]=[n2,t2]);let{screenX:r2,screenY:i2}=t2,{screenX:a2,screenY:o2}=n2,s2=this.#l,{touch0X:c2,touch0Y:l2,touch1X:u2,touch1Y:d2}=s2,f2=u2-c2,p2=d2-l2,m2=a2-r2,h2=o2-i2,g2=Math.hypot(m2,h2)||1,_2=Math.hypot(f2,p2)||1;if(!this.#t&&Math.abs(_2-g2)<=TouchManager.MIN_TOUCH_DISTANCE_TO_PINCH)return;if(s2.touch0X=r2,s2.touch0Y=i2,s2.touch1X=a2,s2.touch1Y=o2,!this.#t){this.#t=!0;return}let v2=[(r2+a2)/2,(i2+o2)/2];this.#a?.(v2,_2,g2)}#m(e2){e2.touches.length>=2||(this.#d&&(this.#d.abort(),this.#d=null,this.#o?.()),this.#l&&(stopEvent(e2),this.#l=null,this.#t=!1))}destroy(){this.#u?.abort(),this.#u=null,this.#s?.abort(),this.#s=null}},rs=class AnnotationEditor{#e=null;#t=null;#n=null;#r=null;#i=null;#a=!1;#o=null;#s="";#c=null;#l=null;#u=null;#d=null;#f=null;#p="";#m=!1;#h=null;#g=!1;#_=!1;#v=!1;#y=null;#b=0;#x=0;#S=null;#C=null;isSelected=!1;_isCopy=!1;_editToolbar=null;_initialOptions=Object.create(null);_initialData=null;_isVisible=!0;_uiManager=null;_focusEventsAllowed=!0;static _l10n=null;static _l10nAlert=null;static _l10nResizer=null;#w=!1;#T=AnnotationEditor._zIndex++;static _borderLineWidth=-1;static _colorManager=new $o;static _zIndex=1;static _telemetryTimeout=1e3;static get _resizerKeyboardManager(){let e2=AnnotationEditor.prototype._resizeWithKeyboard,t2=es.TRANSLATE_SMALL,n2=es.TRANSLATE_BIG;return shadow(this,"_resizerKeyboardManager",new Qo([[["ArrowLeft"],e2,{args:[-t2,0]}],[["ctrl+ArrowLeft","mac+shift+ArrowLeft"],e2,{args:[-n2,0]}],[["ArrowRight"],e2,{args:[t2,0]}],[["ctrl+ArrowRight","mac+shift+ArrowRight"],e2,{args:[n2,0]}],[["ArrowUp"],e2,{args:[0,-t2]}],[["ctrl+ArrowUp","mac+shift+ArrowUp"],e2,{args:[0,-n2]}],[["ArrowDown"],e2,{args:[0,t2]}],[["ctrl+ArrowDown","mac+shift+ArrowDown"],e2,{args:[0,n2]}],[["Escape"],AnnotationEditor.prototype._stopResizingWithKeyboard]]))}constructor(e2){this.parent=e2.parent,this.id=e2.id,this.width=this.height=null,this.pageIndex=e2.parent.pageIndex,this.name=e2.name,this.div=null,this._uiManager=e2.uiManager,this.annotationElementId=null,this._willKeepAspectRatio=!1,this._initialOptions.isCentered=e2.isCentered,this._structTreeParentId=null,this.annotationElementId=e2.annotationElementId||null,this.creationDate=e2.creationDate||new Date,this.modificationDate=e2.modificationDate||null,this.canAddComment=!0;let{rotation:t2,rawDims:{pageWidth:n2,pageHeight:r2,pageX:i2,pageY:a2}}=this.parent.viewport;this.rotation=t2,this.pageRotation=(360+t2-this._uiManager.viewParameters.rotation)%360,this.pageDimensions=[n2,r2],this.pageTranslation=[i2,a2];let[o2,s2]=this.parentDimensions;this.x=e2.x/o2,this.y=e2.y/s2,this.isAttachedToDOM=!1,this.deleted=!1}updatePageIndex(e2){this.pageIndex=e2}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 shadow(this,"_defaultLineColor",this._colorManager.getHexCode("CanvasText"))}static deleteAnnotationElement(e2){let t2=new FakeEditor({id:e2._uiManager.getId(),parent:e2.parent,uiManager:e2._uiManager});t2.annotationElementId=e2.annotationElementId,t2.deleted=!0,t2._uiManager.addToAnnotationStorage(t2)}static initialize(e2,t2){if(AnnotationEditor._l10n??=e2,AnnotationEditor._l10nAlert??=Object.freeze({highlight:"pdfjs-editor-highlight-added-alert",freetext:"pdfjs-editor-freetext-added-alert",ink:"pdfjs-editor-ink-added-alert",stamp:"pdfjs-editor-stamp-added-alert",signature:"pdfjs-editor-signature-added-alert"}),AnnotationEditor._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"}),AnnotationEditor._borderLineWidth!==-1)return;let n2=getComputedStyle(document.documentElement);AnnotationEditor._borderLineWidth=parseFloat(n2.getPropertyValue("--outline-width"))||0}static updateDefaultParams(e2,t2){}static get defaultPropertiesToUpdate(){return[]}static isHandlingMimeForPasting(e2){return!1}static paste(e2,t2){unreachable("Not implemented")}get propertiesToUpdate(){return[]}get _isDraggable(){return this.#w}set _isDraggable(e2){this.#w=e2,this.div?.classList.toggle("draggable",e2)}get uid(){return this.annotationElementId||this.id}get isEnterHandled(){return!0}center(){let[e2,t2]=this.pageDimensions;switch(this.parentRotation){case 90:this.x-=this.height*t2/(e2*2),this.y+=this.width*e2/(t2*2);break;case 180:this.x+=this.width/2,this.y+=this.height/2;break;case 270:this.x+=this.height*t2/(e2*2),this.y-=this.width*e2/(t2*2);break;default:this.x-=this.width/2,this.y-=this.height/2;break}this.fixAndSetPosition()}addCommands(e2){this._uiManager.addCommands(e2)}get currentLayer(){return this._uiManager.currentLayer}setInBackground(){this.div.style.zIndex=0}setInForeground(){this.div.style.zIndex=this.#T}setParent(e2){e2===null?(this.#W(),this.#d?.remove(),this.#d=null):(this.pageIndex=e2.pageIndex,this.pageDimensions=e2.pageDimensions),this.parent=e2}focusin(e2){this._focusEventsAllowed&&(this.#m?this.#m=!1:this.parent.setSelected(this))}focusout(e2){this._focusEventsAllowed&&this.isAttachedToDOM&&(e2.relatedTarget?.closest(`#${this.id}`)||(e2.preventDefault(),this.parent?.isMultipleSelection||this.commitOrRemove()))}commitOrRemove(){this.isEmpty()?this.remove():this.commit()}commit(){this.isInEditMode()&&this.addToAnnotationStorage()}addToAnnotationStorage(){this._uiManager.addToAnnotationStorage(this)}setAt(e2,t2,n2,r2){let[i2,a2]=this.parentDimensions;[n2,r2]=this.screenToPageTranslation(n2,r2),this.x=(e2+n2)/i2,this.y=(t2+r2)/a2,this.fixAndSetPosition()}_moveAfterPaste(e2,t2){if(this.isClone){delete this.isClone;return}let[n2,r2]=this.parentDimensions;this.setAt(e2*n2,t2*r2,this.width*n2,this.height*r2),this._onTranslated()}#E([e2,t2],n2,r2){[n2,r2]=this.screenToPageTranslation(n2,r2),this.x+=n2/e2,this.y+=r2/t2,this._onTranslating(this.x,this.y),this.fixAndSetPosition()}translate(e2,t2){this.#E(this.parentDimensions,e2,t2)}translateInPage(e2,t2){this.#h||=[this.x,this.y,this.width,this.height],this.#E(this.pageDimensions,e2,t2),this.div.scrollIntoView({block:"nearest"})}translationDone(){this._onTranslated(this.x,this.y)}drag(e2,t2){this.#h||=[this.x,this.y,this.width,this.height];let{div:n2,parentDimensions:[r2,i2]}=this;if(this.x+=e2/r2,this.y+=t2/i2,this.parent&&(this.x<0||this.x>1||this.y<0||this.y>1)){let{x:e3,y:t3}=this.div.getBoundingClientRect();this.parent.findNewParent(this,e3,t3)&&(this.x-=Math.floor(this.x),this.y-=Math.floor(this.y))}let{x:a2,y:o2}=this,[s2,c2]=this.getBaseTranslation();a2+=s2,o2+=c2;let{style:l2}=n2;l2.left=`${(100*a2).toFixed(2)}%`,l2.top=`${(100*o2).toFixed(2)}%`,this._onTranslating(a2,o2),n2.scrollIntoView({block:"nearest"})}_onTranslating(e2,t2){}_onTranslated(e2,t2){}get _hasBeenMoved(){return!!this.#h&&(this.#h[0]!==this.x||this.#h[1]!==this.y)}get _hasBeenResized(){return!!this.#h&&(this.#h[2]!==this.width||this.#h[3]!==this.height)}getBaseTranslation(){let[e2,t2]=this.parentDimensions,{_borderLineWidth:n2}=AnnotationEditor,r2=n2/e2,i2=n2/t2;switch(this.rotation){case 90:return[-r2,i2];case 180:return[r2,i2];case 270:return[r2,-i2];default:return[-r2,-i2]}}get _mustFixPosition(){return!0}fixAndSetPosition(e2=this.rotation){let{div:{style:t2},pageDimensions:[n2,r2]}=this,{x:i2,y:a2,width:o2,height:s2}=this;if(o2*=n2,s2*=r2,i2*=n2,a2*=r2,this._mustFixPosition)switch(e2){case 0:i2=MathClamp(i2,0,n2-o2),a2=MathClamp(a2,0,r2-s2);break;case 90:i2=MathClamp(i2,0,n2-s2),a2=MathClamp(a2,o2,r2);break;case 180:i2=MathClamp(i2,o2,n2),a2=MathClamp(a2,s2,r2);break;case 270:i2=MathClamp(i2,s2,n2),a2=MathClamp(a2,0,r2-o2);break}this.x=i2/=n2,this.y=a2/=r2;let[c2,l2]=this.getBaseTranslation();i2+=c2,a2+=l2,t2.left=`${(100*i2).toFixed(2)}%`,t2.top=`${(100*a2).toFixed(2)}%`,this.moveInDOM()}static#D(e2,t2,n2){switch(n2){case 90:return[t2,-e2];case 180:return[-e2,-t2];case 270:return[-t2,e2];default:return[e2,t2]}}screenToPageTranslation(e2,t2){return AnnotationEditor.#D(e2,t2,this.parentRotation)}pageTranslationToScreen(e2,t2){return AnnotationEditor.#D(e2,t2,360-this.parentRotation)}#O(e2){switch(e2){case 90:{let[e3,t2]=this.pageDimensions;return[0,-e3/t2,t2/e3,0]}case 180:return[-1,0,0,-1];case 270:{let[e3,t2]=this.pageDimensions;return[0,e3/t2,-t2/e3,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:e2,pageDimensions:[t2,n2]}=this;return[t2*e2,n2*e2]}setDims(){let{div:{style:e2},width:t2,height:n2}=this;e2.width=`${(100*t2).toFixed(2)}%`,e2.height=`${(100*n2).toFixed(2)}%`}getInitialTranslation(){return[0,0]}#k(){if(this.#c)return;this.#c=document.createElement("div"),this.#c.classList.add("resizers");let e2=this._willKeepAspectRatio?["topLeft","topRight","bottomRight","bottomLeft"]:["topLeft","topMiddle","topRight","middleRight","bottomRight","bottomMiddle","bottomLeft","middleLeft"],t2=this._uiManager._signal;for(let n2 of e2){let e3=document.createElement("div");this.#c.append(e3),e3.classList.add("resizer",n2),e3.setAttribute("data-resizer-name",n2),e3.addEventListener("pointerdown",this.#A.bind(this,n2),{signal:t2}),e3.addEventListener("contextmenu",noContextMenu,{signal:t2}),e3.tabIndex=-1}this.div.prepend(this.#c)}#A(e2,t2){t2.preventDefault();let{isMac:n2}=FeatureTest.platform;if(t2.button!==0||t2.ctrlKey&&n2)return;this.#n?.toggle(!1);let r2=this._isDraggable;this._isDraggable=!1,this.#l=[t2.screenX,t2.screenY];let i2=new AbortController,a2=this._uiManager.combinedSignal(i2);this.parent.togglePointerEvents(!1),window.addEventListener("pointermove",this.#N.bind(this,e2),{passive:!0,capture:!0,signal:a2}),window.addEventListener("touchmove",stopEvent,{passive:!1,signal:a2}),window.addEventListener("contextmenu",noContextMenu,{signal:a2}),this.#u={savedX:this.x,savedY:this.y,savedWidth:this.width,savedHeight:this.height};let o2=this.parent.div.style.cursor,s2=this.div.style.cursor;this.div.style.cursor=this.parent.div.style.cursor=window.getComputedStyle(t2.target).cursor;let pointerUpCallback=()=>{i2.abort(),this.parent.togglePointerEvents(!0),this.#n?.toggle(!0),this._isDraggable=r2,this.parent.div.style.cursor=o2,this.div.style.cursor=s2,this.#M()};window.addEventListener("pointerup",pointerUpCallback,{signal:a2}),window.addEventListener("blur",pointerUpCallback,{signal:a2})}#j(e2,t2,n2,r2){this.width=n2,this.height=r2,this.x=e2,this.y=t2,this.setDims(),this.fixAndSetPosition(),this._onResized()}_onResized(){}#M(){if(!this.#u)return;let{savedX:e2,savedY:t2,savedWidth:n2,savedHeight:r2}=this.#u;this.#u=null;let i2=this.x,a2=this.y,o2=this.width,s2=this.height;(i2!==e2||a2!==t2||o2!==n2||s2!==r2)&&this.addCommands({cmd:this.#j.bind(this,i2,a2,o2,s2),undo:this.#j.bind(this,e2,t2,n2,r2),mustExec:!0})}static _round(e2){return Math.round(e2*1e4)/1e4}#N(e2,t2){let[n2,r2]=this.parentDimensions,i2=this.x,a2=this.y,o2=this.width,s2=this.height,c2=AnnotationEditor.MIN_SIZE/n2,l2=AnnotationEditor.MIN_SIZE/r2,u2=this.#O(this.rotation),transf=(e3,t3)=>[u2[0]*e3+u2[2]*t3,u2[1]*e3+u2[3]*t3],d2=this.#O(360-this.rotation),invTransf=(e3,t3)=>[d2[0]*e3+d2[2]*t3,d2[1]*e3+d2[3]*t3],getPoint,getOpposite,f2=!1,p2=!1;switch(e2){case"topLeft":f2=!0,getPoint=(e3,t3)=>[0,0],getOpposite=(e3,t3)=>[e3,t3];break;case"topMiddle":getPoint=(e3,t3)=>[e3/2,0],getOpposite=(e3,t3)=>[e3/2,t3];break;case"topRight":f2=!0,getPoint=(e3,t3)=>[e3,0],getOpposite=(e3,t3)=>[0,t3];break;case"middleRight":p2=!0,getPoint=(e3,t3)=>[e3,t3/2],getOpposite=(e3,t3)=>[0,t3/2];break;case"bottomRight":f2=!0,getPoint=(e3,t3)=>[e3,t3],getOpposite=(e3,t3)=>[0,0];break;case"bottomMiddle":getPoint=(e3,t3)=>[e3/2,t3],getOpposite=(e3,t3)=>[e3/2,0];break;case"bottomLeft":f2=!0,getPoint=(e3,t3)=>[0,t3],getOpposite=(e3,t3)=>[e3,0];break;case"middleLeft":p2=!0,getPoint=(e3,t3)=>[0,t3/2],getOpposite=(e3,t3)=>[e3,t3/2];break}let m2=getPoint(o2,s2),h2=getOpposite(o2,s2),g2=transf(...h2),_2=AnnotationEditor._round(i2+g2[0]),v2=AnnotationEditor._round(a2+g2[1]),y2=1,b2=1,x2,S2;if(t2.fromKeyboard)({deltaX:x2,deltaY:S2}=t2);else{let{screenX:e3,screenY:n3}=t2,[r3,i3]=this.#l;[x2,S2]=this.screenToPageTranslation(e3-r3,n3-i3),this.#l[0]=e3,this.#l[1]=n3}if([x2,S2]=invTransf(x2/n2,S2/r2),f2){let e3=Math.hypot(o2,s2);y2=b2=Math.max(Math.min(Math.hypot(h2[0]-m2[0]-x2,h2[1]-m2[1]-S2)/e3,1/o2,1/s2),c2/o2,l2/s2)}else p2?y2=MathClamp(Math.abs(h2[0]-m2[0]-x2),c2,1)/o2:b2=MathClamp(Math.abs(h2[1]-m2[1]-S2),l2,1)/s2;let C2=AnnotationEditor._round(o2*y2),w2=AnnotationEditor._round(s2*b2);g2=transf(...getOpposite(C2,w2));let T2=_2-g2[0],E2=v2-g2[1];this.#h||=[this.x,this.y,this.width,this.height],this.width=C2,this.height=w2,this.x=T2,this.y=E2,this.setDims(),this.fixAndSetPosition(),this._onResizing()}_onResizing(){}altTextFinish(){this.#n?.finish()}get toolbarButtons(){return null}async addEditToolbar(){if(this._editToolbar||this.#_)return this._editToolbar;this._editToolbar=new Jo(this),this.div.append(this._editToolbar.render());let{toolbarButtons:e2}=this;if(e2)for(let[t2,n2]of e2)await this._editToolbar.addButton(t2,n2);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.#n?.destroy()}addContainer(e2){let t2=this._editToolbar?.div;t2?t2.before(e2):this.div.append(e2)}getClientDimensions(){return this.div.getBoundingClientRect()}createAltText(){return this.#n||(ts.initialize(AnnotationEditor._l10n),this.#n=new ts(this),this.#e&&=(this.#n.data=this.#e,null)),this.#n}get altTextData(){return this.#n?.data}set altTextData(e2){this.#n&&(this.#n.data=e2)}get guessedAltText(){return this.#n?.guessedText}async setGuessedAltText(e2){await this.#n?.setGuessedText(e2)}serializeAltText(e2){return this.#n?.serialize(e2)}hasAltText(){return!!this.#n&&!this.#n.isEmpty()}hasAltTextData(){return this.#n?.hasData()??!1}focusCommentButton(){this.#r?.focusButton()}addCommentButton(){return this.canAddComment?this.#r||=new Comment(this):null}addStandaloneCommentButton(){if(this._uiManager.hasCommentManager()){if(this.#i){this._uiManager.isEditingMode()&&this.#i.classList.remove("hidden");return}this.hasComment&&(this.#i=this.#r.renderForStandalone(),this.div.append(this.#i))}}removeStandaloneCommentButton(){this.#r.removeStandaloneCommentButton(),this.#i=null}hideStandaloneCommentButton(){this.#i?.classList.add("hidden")}get comment(){if(!this.#r)return null;let{data:{richText:e2,text:t2,date:n2,deleted:r2}}=this.#r;return{text:t2,richText:e2,date:n2,deleted:r2,color:this.getNonHCMColor(),opacity:this.opacity??1}}set comment(e2){this.#r||=new Comment(this),typeof e2=="object"&&e2?this.#r.restoreData(e2):this.#r.data=e2,this.hasComment?(this.removeCommentButtonFromToolbar(),this.addStandaloneCommentButton(),this._uiManager.updateComment(this)):(this.addCommentButtonInToolbar(),this.removeStandaloneCommentButton(),this._uiManager.removeComment(this))}setCommentData({comment:e2,popupRef:t2,richText:n2}){if(!t2||(this.#r||=new Comment(this),this.#r.setInitialText(e2,n2),!this.annotationElementId))return;let r2=this._uiManager.getAndRemoveDataFromAnnotationStorage(this.annotationElementId);r2&&this.updateFromAnnotationLayer(r2)}get hasEditedComment(){return this.#r?.hasBeenEdited()}get hasDeletedComment(){return this.#r?.isDeleted()}get hasComment(){return!!this.#r&&!this.#r.isEmpty()&&!this.#r.isDeleted()}async editComment(e2){this.#r||=new Comment(this),this.#r.edit(e2)}toggleComment(e2,t2=void 0){this.hasComment&&this._uiManager.toggleComment(this,e2,t2)}setSelectedCommentButton(e2){this.#r.setSelectedButton(e2)}addComment(e2){if(this.hasEditedComment){let[,,,t2]=e2.rect,[n2]=this.pageDimensions,[r2]=this.pageTranslation,i2=r2+n2+1,a2=t2-100,o2=i2+180;e2.popup={contents:this.comment.text,deleted:this.comment.deleted,rect:[i2,a2,o2,t2]}}}updateFromAnnotationLayer({popup:{contents:e2,deleted:t2}}){this.#r.data=t2?null:e2}get parentBoundingClientRect(){return this.parent.boundingClientRect}render(){let e2=this.div=document.createElement("div");e2.setAttribute("data-editor-rotation",(360-this.rotation)%360),e2.className=this.name,e2.setAttribute("id",this.id),e2.tabIndex=this.#a?-1:0,e2.setAttribute("role","application"),this.defaultL10nId&&e2.setAttribute("data-l10n-id",this.defaultL10nId),this._isVisible||e2.classList.add("hidden"),this.setInForeground(),this.#z();let[t2,n2]=this.parentDimensions;this.parentRotation%180!=0&&(e2.style.maxWidth=`${(100*n2/t2).toFixed(2)}%`,e2.style.maxHeight=`${(100*t2/n2).toFixed(2)}%`);let[r2,i2]=this.getInitialTranslation();return this.translate(r2,i2),bindEvents(this,e2,["keydown","pointerdown","dblclick"]),this.isResizable&&this._uiManager._supportsPinchToZoom&&(this.#C||=new ns({container:e2,isPinchingDisabled:()=>!this.isSelected,onPinchStart:this.#P.bind(this),onPinching:this.#F.bind(this),onPinchEnd:this.#I.bind(this),signal:this._uiManager._signal})),this.addStandaloneCommentButton(),this._uiManager._editorUndoBar?.hide(),e2}#P(){this.#u={savedX:this.x,savedY:this.y,savedWidth:this.width,savedHeight:this.height},this.#n?.toggle(!1),this.parent.togglePointerEvents(!1)}#F(e2,t2,n2){let r2=.7,i2=n2/t2*r2+1-r2;if(i2===1)return;let a2=this.#O(this.rotation),transf=(e3,t3)=>[a2[0]*e3+a2[2]*t3,a2[1]*e3+a2[3]*t3],[o2,s2]=this.parentDimensions,c2=this.x,l2=this.y,u2=this.width,d2=this.height,f2=AnnotationEditor.MIN_SIZE/o2,p2=AnnotationEditor.MIN_SIZE/s2;i2=Math.max(Math.min(i2,1/u2,1/d2),f2/u2,p2/d2);let m2=AnnotationEditor._round(u2*i2),h2=AnnotationEditor._round(d2*i2);if(m2===u2&&h2===d2)return;this.#h||=[c2,l2,u2,d2];let g2=transf(u2/2,d2/2),_2=AnnotationEditor._round(c2+g2[0]),v2=AnnotationEditor._round(l2+g2[1]),y2=transf(m2/2,h2/2);this.x=_2-y2[0],this.y=v2-y2[1],this.width=m2,this.height=h2,this.setDims(),this.fixAndSetPosition(),this._onResizing()}#I(){this.#n?.toggle(!0),this.parent.togglePointerEvents(!0),this.#M()}pointerdown(e2){let{isMac:t2}=FeatureTest.platform;if(e2.button!==0||e2.ctrlKey&&t2){e2.preventDefault();return}if(this.#m=!0,this._isDraggable){this.#R(e2);return}this.#L(e2)}#L(e2){let{isMac:t2}=FeatureTest.platform;e2.ctrlKey&&!t2||e2.shiftKey||e2.metaKey&&t2?this.parent.toggleSelected(this):this.parent.setSelected(this)}#R(e2){let{isSelected:t2}=this;this._uiManager.setUpDragSession();let n2=!1,r2=new AbortController,i2=this._uiManager.combinedSignal(r2),a2={capture:!0,passive:!1,signal:i2},cancelDrag=e3=>{r2.abort(),this.#o=null,this.#m=!1,this._uiManager.endDragSession()||this.#L(e3),n2&&this._onStopDragging()};t2&&(this.#b=e2.clientX,this.#x=e2.clientY,this.#o=e2.pointerId,this.#s=e2.pointerType,window.addEventListener("pointermove",e3=>{n2||(n2=!0,this._uiManager.toggleComment(this,!0,!1),this._onStartDragging());let{clientX:t3,clientY:r3,pointerId:i3}=e3;if(i3!==this.#o){stopEvent(e3);return}let[a3,o2]=this.screenToPageTranslation(t3-this.#b,r3-this.#x);this.#b=t3,this.#x=r3,this._uiManager.dragSelectedEditors(a3,o2)},a2),window.addEventListener("touchmove",stopEvent,a2),window.addEventListener("pointerdown",e3=>{e3.pointerType===this.#s&&(this.#C||e3.isPrimary)&&cancelDrag(e3),stopEvent(e3)},a2));let pointerUpCallback=e3=>{if(!this.#o||this.#o===e3.pointerId){cancelDrag(e3);return}stopEvent(e3)};window.addEventListener("pointerup",pointerUpCallback,{signal:i2}),window.addEventListener("blur",pointerUpCallback,{signal:i2})}_onStartDragging(){}_onStopDragging(){}moveInDOM(){this.#y&&clearTimeout(this.#y),this.#y=setTimeout(()=>{this.#y=null,this.parent?.moveEditorInDOM(this)},0)}_setParentAndPosition(e2,t2,n2){e2.changeParent(this),this.x=t2,this.y=n2,this.fixAndSetPosition(),this._onTranslated()}getRect(e2,t2,n2=this.rotation){let r2=this.parentScale,[i2,a2]=this.pageDimensions,[o2,s2]=this.pageTranslation,c2=e2/r2,l2=t2/r2,u2=this.x*i2,d2=this.y*a2,f2=this.width*i2,p2=this.height*a2;switch(n2){case 0:return[u2+c2+o2,a2-d2-l2-p2+s2,u2+c2+f2+o2,a2-d2-l2+s2];case 90:return[u2+l2+o2,a2-d2+c2+s2,u2+l2+p2+o2,a2-d2+c2+f2+s2];case 180:return[u2-c2-f2+o2,a2-d2+l2+s2,u2-c2+o2,a2-d2+l2+p2+s2];case 270:return[u2-l2-p2+o2,a2-d2-c2-f2+s2,u2-l2+o2,a2-d2-c2+s2];default:throw Error("Invalid rotation")}}getRectInCurrentCoords(e2,t2){let[n2,r2,i2,a2]=e2,o2=i2-n2,s2=a2-r2;switch(this.rotation){case 0:return[n2,t2-a2,o2,s2];case 90:return[n2,t2-r2,s2,o2];case 180:return[i2,t2-r2,o2,s2];case 270:return[i2,t2-a2,s2,o2];default:throw Error("Invalid rotation")}}getPDFRect(){return this.getRect(0,0)}getNonHCMColor(){return this.color&&AnnotationEditor._colorManager.convert(this._uiManager.getNonHCMColor(this.color))}onUpdatedColor(){this.#r?.onUpdatedColor()}getData(){let{comment:{text:e2,color:t2,date:n2,opacity:r2,deleted:i2,richText:a2},uid:o2,pageIndex:s2,creationDate:c2,modificationDate:l2}=this;return{id:o2,pageIndex:s2,rect:this.getPDFRect(),richText:a2,contentsObj:{str:e2},creationDate:c2,modificationDate:n2||l2,popupRef:!i2,color:t2,opacity:r2}}onceAdded(e2){}isEmpty(){return!1}enableEditMode(){return this.isInEditMode()?!1:(this.parent.setEditingState(!1),this.#_=!0,!0)}disableEditMode(){return this.isInEditMode()?(this.parent.setEditingState(!0),this.#_=!1,!0):!1}isInEditMode(){return this.#_}shouldGetKeyboardEvents(){return this.#v}needsToBeRebuilt(){return this.div&&!this.isAttachedToDOM}get isOnScreen(){let{top:e2,left:t2,bottom:n2,right:r2}=this.getClientDimensions(),{innerHeight:i2,innerWidth:a2}=window;return t2<a2&&r2>0&&e2<i2&&n2>0}#z(){if(this.#f||!this.div)return;this.#f=new AbortController;let e2=this._uiManager.combinedSignal(this.#f);this.div.addEventListener("focusin",this.focusin.bind(this),{signal:e2}),this.div.addEventListener("focusout",this.focusout.bind(this),{signal:e2})}rebuild(){this.#z()}rotate(e2){}resize(){}serializeDeleted(){return{id:this.annotationElementId,deleted:!0,pageIndex:this.pageIndex,popupRef:this._initialData?.popupRef||""}}serialize(e2=!1,t2=null){return{annotationType:this.mode,pageIndex:this.pageIndex,rect:this.getPDFRect(),rotation:this.rotation,structTreeParentId:this._structTreeParentId,popupRef:this._initialData?.popupRef||""}}static async deserialize(e2,t2,n2){let r2=new this.prototype.constructor({parent:t2,id:n2.getId(),uiManager:n2,annotationElementId:e2.annotationElementId,creationDate:e2.creationDate,modificationDate:e2.modificationDate});r2.rotation=e2.rotation,r2.#e=e2.accessibilityData,r2._isCopy=e2.isCopy||!1;let[i2,a2]=r2.pageDimensions,[o2,s2,c2,l2]=r2.getRectInCurrentCoords(e2.rect,a2);return r2.x=o2/i2,r2.y=s2/a2,r2.width=c2/i2,r2.height=l2/a2,r2}get hasBeenModified(){return!!this.annotationElementId&&(this.deleted||this.serialize()!==null)}remove(){if(this.#f?.abort(),this.#f=null,this.isEmpty()||this.commit(),this.parent?this.parent.remove(this):this._uiManager.removeEditor(this),this.hideCommentPopup(),this.#y&&=(clearTimeout(this.#y),null),this.#W(),this.removeEditToolbar(),this.#S){for(let e2 of this.#S.values())clearTimeout(e2);this.#S=null}this.parent=null,this.#C?.destroy(),this.#C=null,this.#d?.remove(),this.#d=null}get isResizable(){return!1}makeResizable(){this.isResizable&&(this.#k(),this.#c.classList.remove("hidden"))}get toolbarPosition(){return null}get commentButtonPosition(){return this._uiManager.direction==="ltr"?[1,0]:[0,0]}get commentButtonPositionInPage(){let{commentButtonPosition:[e2,t2]}=this,[n2,r2,i2,a2]=this.getPDFRect();return[AnnotationEditor._round(n2+(i2-n2)*e2),AnnotationEditor._round(r2+(a2-r2)*(1-t2))]}get commentButtonColor(){return this._uiManager.makeCommentColor(this.getNonHCMColor(),this.opacity)}get commentPopupPosition(){return this.#r.commentPopupPositionInLayer}set commentPopupPosition(e2){this.#r.commentPopupPositionInLayer=e2}hasDefaultPopupPosition(){return this.#r.hasDefaultPopupPosition()}get commentButtonWidth(){return this.#r.commentButtonWidth}get elementBeforePopup(){return this.div}setCommentButtonStates(e2){this.#r?.setCommentButtonStates(e2)}keydown(e2){if(!this.isResizable||e2.target!==this.div||e2.key!=="Enter")return;this._uiManager.setSelected(this),this.#u={savedX:this.x,savedY:this.y,savedWidth:this.width,savedHeight:this.height};let t2=this.#c.children;if(!this.#t){this.#t=Array.from(t2);let e3=this.#B.bind(this),n3=this.#V.bind(this),r3=this._uiManager._signal;for(let t3 of this.#t){let i3=t3.getAttribute("data-resizer-name");t3.setAttribute("role","spinbutton"),t3.addEventListener("keydown",e3,{signal:r3}),t3.addEventListener("blur",n3,{signal:r3}),t3.addEventListener("focus",this.#H.bind(this,i3),{signal:r3}),t3.setAttribute("data-l10n-id",AnnotationEditor._l10nResizer[i3])}}let n2=this.#t[0],r2=0;for(let e3 of t2){if(e3===n2)break;r2++}let i2=(360-this.rotation+this.parentRotation)%360/90*(this.#t.length/4);if(i2!==r2){if(i2<r2)for(let e4=0;e4<r2-i2;e4++)this.#c.append(this.#c.firstElementChild);else if(i2>r2)for(let e4=0;e4<i2-r2;e4++)this.#c.firstElementChild.before(this.#c.lastElementChild);let e3=0;for(let n3 of t2){let t3=this.#t[e3++].getAttribute("data-resizer-name");n3.setAttribute("data-l10n-id",AnnotationEditor._l10nResizer[t3])}}this.#U(0),this.#v=!0,this.#c.firstElementChild.focus({focusVisible:!0}),e2.preventDefault(),e2.stopImmediatePropagation()}#B(e2){AnnotationEditor._resizerKeyboardManager.exec(this,e2)}#V(e2){this.#v&&e2.relatedTarget?.parentNode!==this.#c&&this.#W()}#H(e2){this.#p=this.#v?e2:""}#U(e2){if(this.#t)for(let t2 of this.#t)t2.tabIndex=e2}_resizeWithKeyboard(e2,t2){this.#v&&this.#N(this.#p,{deltaX:e2,deltaY:t2,fromKeyboard:!0})}#W(){this.#v=!1,this.#U(-1),this.#M()}_stopResizingWithKeyboard(){this.#W(),this.div.focus()}select(){if(this.isSelected&&this._editToolbar){this._editToolbar.show();return}if(this.isSelected=!0,this.makeResizable(),this.div?.classList.add("selectedEditor"),!this._editToolbar){this.addEditToolbar().then(()=>{this.div?.classList.contains("selectedEditor")&&this._editToolbar?.show()});return}this._editToolbar?.show(),this.#n?.toggleAltTextBadge(!1)}focus(){this.div&&!this.div.contains(document.activeElement)&&setTimeout(()=>this.div?.focus({preventScroll:!0}),0)}unselect(){this.isSelected&&(this.isSelected=!1,this.#c?.classList.add("hidden"),this.div?.classList.remove("selectedEditor"),this.div?.contains(document.activeElement)&&this._uiManager.currentLayer.div.focus({preventScroll:!0}),this._editToolbar?.hide(),this.#n?.toggleAltTextBadge(!0),this.hideCommentPopup())}hideCommentPopup(){this.hasComment&&this._uiManager.toggleComment(null)}updateParams(e2,t2){}disableEditing(){}enableEditing(){}get canChangeContent(){return!1}enterInEditMode(){this.canChangeContent&&(this.enableEditMode(),this.div.focus())}dblclick(e2){e2.target.nodeName!=="BUTTON"&&(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.#g}set isEditing(e2){this.#g=e2,this.parent&&(e2?(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(e2,t2=!1){if(t2){this.#S||=new Map;let{action:t3}=e2,n2=this.#S.get(t3);n2&&clearTimeout(n2),n2=setTimeout(()=>{this._reportTelemetry(e2),this.#S.delete(t3),this.#S.size===0&&(this.#S=null)},AnnotationEditor._telemetryTimeout),this.#S.set(t3,n2);return}e2.type||=this.editorType,this._uiManager._eventBus.dispatch("reporttelemetry",{source:this,details:{type:"editing",data:e2}})}show(e2=this._isVisible){this.div.classList.toggle("hidden",!e2),this._isVisible=e2}enable(){this.div&&(this.div.tabIndex=0),this.#a=!1}disable(){this.div&&(this.div.tabIndex=-1),this.#a=!0}updateFakeAnnotationElement(e2){if(!this.#d&&!this.deleted){this.#d=e2.addFakeAnnotation(this);return}if(this.deleted){this.#d.remove(),this.#d=null;return}(this.hasEditedComment||this._hasBeenMoved||this._hasBeenResized)&&this.#d.updateEdited({rect:this.getPDFRect(),popup:this.comment})}renderAnnotationElement(e2){if(this.deleted)return e2.hide(),null;let t2=e2.container.querySelector(".annotationContent");if(!t2)t2=document.createElement("div"),t2.classList.add("annotationContent",this.editorType),e2.container.prepend(t2);else if(t2.nodeName==="CANVAS"){let e3=t2;t2=document.createElement("div"),t2.classList.add("annotationContent",this.editorType),e3.before(t2)}return t2}resetAnnotationElement(e2){let{firstElementChild:t2}=e2.container;t2?.nodeName==="DIV"&&t2.classList.contains("annotationContent")&&t2.remove()}},FakeEditor=class extends rs{constructor(e2){super(e2),this.annotationElementId=e2.annotationElementId,this.deleted=!0}serialize(){return this.serializeDeleted()}},is=3285377520,as=4294901760,os=65535,MurmurHash3_64=class{constructor(e2){this.h1=e2?e2&4294967295:is,this.h2=e2?e2&4294967295:is}update(e2){let t2,n2;if(typeof e2=="string"){t2=new Uint8Array(e2.length*2),n2=0;for(let r3=0,i3=e2.length;r3<i3;r3++){let i4=e2.charCodeAt(r3);i4<=255?t2[n2++]=i4:(t2[n2++]=i4>>>8,t2[n2++]=i4&255)}}else if(ArrayBuffer.isView(e2))t2=e2.slice(),n2=t2.byteLength;else throw Error("Invalid data format, must be a string or TypedArray.");let r2=n2>>2,i2=n2-r2*4,a2=new Uint32Array(t2.buffer,0,r2),o2=0,s2=0,c2=this.h1,l2=this.h2,u2=3432918353,d2=461845907,f2=11601,p2=13715;for(let e3=0;e3<r2;e3++)e3&1?(o2=a2[e3],o2=o2*u2&as|o2*f2&os,o2=o2<<15|o2>>>17,o2=o2*d2&as|o2*p2&os,c2^=o2,c2=c2<<13|c2>>>19,c2=c2*5+3864292196):(s2=a2[e3],s2=s2*u2&as|s2*f2&os,s2=s2<<15|s2>>>17,s2=s2*d2&as|s2*p2&os,l2^=s2,l2=l2<<13|l2>>>19,l2=l2*5+3864292196);switch(o2=0,i2){case 3:o2^=t2[r2*4+2]<<16;case 2:o2^=t2[r2*4+1]<<8;case 1:o2^=t2[r2*4],o2=o2*u2&as|o2*f2&os,o2=o2<<15|o2>>>17,o2=o2*d2&as|o2*p2&os,r2&1?c2^=o2:l2^=o2}this.h1=c2,this.h2=l2}hexdigest(){let e2=this.h1,t2=this.h2;return e2^=t2>>>1,e2=e2*3981806797&as|e2*36045&os,t2=t2*4283543511&as|((t2<<16|e2>>>16)*2950163797&as)>>>16,e2^=t2>>>1,e2=e2*444984403&as|e2*60499&os,t2=t2*3301882366&as|((t2<<16|e2>>>16)*3120437893&as)>>>16,e2^=t2>>>1,(e2>>>0).toString(16).padStart(8,"0")+(t2>>>0).toString(16).padStart(8,"0")}},ss=Object.freeze({map:null,hash:"",transfer:void 0}),AnnotationStorage=class{#e=!1;#t=null;#n=null;#r=new Map;onSetModified=null;onResetModified=null;onAnnotationEditor=null;getValue(e2,t2){let n2=this.#r.get(e2);return n2===void 0?t2:Object.assign(t2,n2)}getRawValue(e2){return this.#r.get(e2)}remove(e2){let t2=this.#r.get(e2);t2!==void 0&&(t2 instanceof rs&&this.#n.delete(t2.annotationElementId),this.#r.delete(e2),this.#r.size===0&&this.resetModified(),!this.#r.values().some(e3=>e3 instanceof rs)&&this.onAnnotationEditor?.(null))}setValue(e2,t2){let n2=this.#r.get(e2),r2=!1;if(n2!==void 0)for(let[e3,i2]of Object.entries(t2))n2[e3]!==i2&&(r2=!0,n2[e3]=i2);else r2=!0,this.#r.set(e2,t2);r2&&this.#i(),t2 instanceof rs&&((this.#n||=new Map).set(t2.annotationElementId,t2),this.onAnnotationEditor?.(t2.constructor._type))}has(e2){return this.#r.has(e2)}get size(){return this.#r.size}#i(){this.#e||(this.#e=!0,this.onSetModified?.())}resetModified(){this.#e&&(this.#e=!1,this.onResetModified?.())}get print(){return new PrintAnnotationStorage(this)}get serializable(){if(this.#r.size===0)return ss;let e2=new Map,t2=new MurmurHash3_64,n2=[],r2=Object.create(null),i2=!1;for(let[n3,a2]of this.#r){let o2=a2 instanceof rs?a2.serialize(!1,r2):a2;a2.page&&(a2.pageIndex=a2.page._pageIndex,delete a2.page),o2&&(e2.set(n3,o2),t2.update(`${n3}:${JSON.stringify(o2)}`),i2||=!!o2.bitmap)}if(i2)for(let t3 of e2.values())t3.bitmap&&n2.push(t3.bitmap);return e2.size>0?{map:e2,hash:t2.hexdigest(),transfer:n2}:ss}get editorStats(){let e2=null,t2=new Map,n2=0,r2=0;for(let i2 of this.#r.values()){if(!(i2 instanceof rs)){i2.popup&&(i2.popup.deleted?r2+=1:n2+=1);continue}i2.isCommentDeleted?r2+=1:i2.hasEditedComment&&(n2+=1);let a2=i2.telemetryFinalData;if(!a2)continue;let{type:o2}=a2;t2.getOrInsertComputed(o2,()=>Object.getPrototypeOf(i2).constructor),e2||=Object.create(null);let s2=e2[o2]||=new Map;for(let[e3,t3]of Object.entries(a2)){if(e3==="type")continue;let n3=s2.getOrInsertComputed(e3,makeMap);n3.set(t3,(n3.get(t3)??0)+1)}}if((r2>0||n2>0)&&(e2||=Object.create(null),e2.comments={deleted:r2,edited:n2}),!e2)return null;for(let[n3,r3]of t2)e2[n3]=r3.computeTelemetryFinalData(e2[n3]);return e2}resetModifiedIds(){this.#t=null}updateEditor(e2,t2){let n2=this.#n?.get(e2);return n2?(n2.updateFromAnnotationLayer(t2),!0):!1}getEditor(e2){return this.#n?.get(e2)||null}get modifiedIds(){if(this.#t)return this.#t;let e2=[];if(this.#n)for(let t3 of this.#n.values())t3.serialize()&&e2.push(t3.annotationElementId);let t2="";if(e2.length){let n2=new MurmurHash3_64;n2.update(e2.join(",")),t2=n2.hexdigest()}return this.#t={ids:new Set(e2),hash:t2}}[Symbol.iterator](){return this.#r.entries()}},PrintAnnotationStorage=class extends AnnotationStorage{#e=ss;constructor(e2){super();let{serializable:t2}=e2;if(t2===ss)return;let{map:n2,hash:r2,transfer:i2}=t2,a2=structuredClone(n2,i2?{transfer:i2}:null);this.#e={map:a2,hash:r2,transfer:[]}}get print(){unreachable("Should not call PrintAnnotationStorage.print")}get serializable(){return this.#e}get modifiedIds(){return shadow(this,"modifiedIds",{ids:new Set,hash:""})}},cs="__forcedDependency",{floor:ls,ceil:us}=Math;function expandBBox(e2,t2,n2,r2,i2,a2){e2[t2*4+0]=Math.min(e2[t2*4+0],n2),e2[t2*4+1]=Math.min(e2[t2*4+1],r2),e2[t2*4+2]=Math.max(e2[t2*4+2],i2),e2[t2*4+3]=Math.max(e2[t2*4+3],a2)}function scaleCharBBox(e2,t2,n2,r2,i2){let a2;e2?(e2<0&&(a2=i2[0],i2[0]=i2[2],i2[2]=a2),i2[0]*=e2,i2[2]*=e2,t2<0&&(a2=i2[1],i2[1]=i2[3],i2[3]=a2),i2[1]*=t2,i2[3]*=t2):i2.fill(0),i2[0]+=n2,i2[1]+=r2,i2[2]+=n2,i2[3]+=r2}var ds=new Uint32Array(new Uint8Array([255,255,0,0]).buffer)[0],BBoxReader=class{#e;#t;constructor(e2,t2){this.#e=e2,this.#t=t2}get length(){return this.#e.length}isEmpty(e2){return this.#e[e2]===ds}minX(e2){return this.#t[e2*4+0]/256}minY(e2){return this.#t[e2*4+1]/256}maxX(e2){return(this.#t[e2*4+2]+1)/256}maxY(e2){return(this.#t[e2*4+3]+1)/256}},ensureDebugMetadata=(e2,t2)=>e2?.getOrInsertComputed(t2,()=>({dependencies:new Set,isRenderingOperation:!1})),CanvasBBoxTracker=class{#e=[[1,0,0,1,0,0]];#t=[-1/0,-1/0,1/0,1/0];#n=new Float64Array(yo);_pendingBBoxIdx=-1;#r;#i;#a;#o;_savesStack=[];_markedContentStack=[];constructor(e2,t2){this.#r=e2.width,this.#i=e2.height,this.#s(t2)}growOperationsCount(e2){e2>=this.#o.length&&this.#s(e2,this.#o)}#s(e2,t2){let n2=new ArrayBuffer(e2*4);this.#a=new Uint8ClampedArray(n2),this.#o=new Uint32Array(n2),t2&&t2.length>0?(this.#o.set(t2),this.#o.fill(ds,t2.length)):this.#o.fill(ds)}get clipBox(){return this.#t}save(e2){return this.#t={__proto__:this.#t},this._savesStack.push(e2),this}restore(e2,t2){let n2=Object.getPrototypeOf(this.#t);if(n2===null)return this;this.#t=n2;let r2=this._savesStack.pop();return r2!==void 0&&(t2?.(r2,e2),this.#o[e2]=this.#o[r2]),this}recordOpenMarker(e2){return this._savesStack.push(e2),this}getOpenMarker(){return this._savesStack.length===0?null:this._savesStack.at(-1)}recordCloseMarker(e2,t2){let n2=this._savesStack.pop();return n2!==void 0&&(t2?.(n2,e2),this.#o[e2]=this.#o[n2]),this}beginMarkedContent(e2){return this._markedContentStack.push(e2),this}endMarkedContent(e2,t2){let n2=this._markedContentStack.pop();return n2!==void 0&&(t2?.(n2,e2),this.#o[e2]=this.#o[n2]),this}pushBaseTransform(e2){return this.#e.push(Util.multiplyByDOMMatrix(this.#e.at(-1),e2.getTransform())),this}popBaseTransform(){return this.#e.length>1&&this.#e.pop(),this}resetBBox(e2){return this._pendingBBoxIdx!==e2&&(this._pendingBBoxIdx=e2,this.#n.set(yo,0)),this}recordClipBox(e2,t2,n2,r2,i2,a2){let o2=Util.multiplyByDOMMatrix(this.#e.at(-1),t2.getTransform()),s2=yo.slice();Util.axialAlignedBoundingBox([n2,i2,r2,a2],o2,s2);let c2=Util.intersect(this.#t,s2);return c2?(this.#t[0]=c2[0],this.#t[1]=c2[1],this.#t[2]=c2[2],this.#t[3]=c2[3]):(this.#t[0]=this.#t[1]=1/0,this.#t[2]=this.#t[3]=-1/0),this}recordBBox(e2,t2,n2,r2,i2,a2){let o2=this.#t;if(o2[0]===1/0)return this;let s2=Util.multiplyByDOMMatrix(this.#e.at(-1),t2.getTransform());if(o2[0]===-1/0)return Util.axialAlignedBoundingBox([n2,i2,r2,a2],s2,this.#n),this;let c2=yo.slice();return Util.axialAlignedBoundingBox([n2,i2,r2,a2],s2,c2),this.#n[0]=MathClamp(c2[0],o2[0],this.#n[0]),this.#n[1]=MathClamp(c2[1],o2[1],this.#n[1]),this.#n[2]=MathClamp(c2[2],this.#n[2],o2[2]),this.#n[3]=MathClamp(c2[3],this.#n[3],o2[3]),this}recordFullPageBBox(e2){return this.#n[0]=Math.max(0,this.#t[0]),this.#n[1]=Math.max(0,this.#t[1]),this.#n[2]=Math.min(this.#r,this.#t[2]),this.#n[3]=Math.min(this.#i,this.#t[3]),this}recordOperation(e2,t2=!1,n2){if(this._pendingBBoxIdx!==e2)return this;let r2=ls(this.#n[0]*256/this.#r),i2=ls(this.#n[1]*256/this.#i),a2=us(this.#n[2]*256/this.#r),o2=us(this.#n[3]*256/this.#i);if(expandBBox(this.#a,e2,r2,i2,a2,o2),n2)for(let t3 of n2)for(let n3 of t3)n3!==e2&&expandBBox(this.#a,n3,r2,i2,a2,o2);return t2||(this._pendingBBoxIdx=-1),this}bboxToClipBoxDropOperation(e2){return this._pendingBBoxIdx===e2&&(this._pendingBBoxIdx=-1,this.#t[0]=Math.max(this.#t[0],this.#n[0]),this.#t[1]=Math.max(this.#t[1],this.#n[1]),this.#t[2]=Math.min(this.#t[2],this.#n[2]),this.#t[3]=Math.min(this.#t[3],this.#n[3])),this}take(){return new BBoxReader(this.#o,this.#a)}takeDebugMetadata(){throw Error("Unreachable")}recordSimpleData(e2,t2){return this}recordIncrementalData(e2,t2){return this}resetIncrementalData(e2,t2){return this}recordNamedData(e2,t2){return this}recordSimpleDataFromNamed(e2,t2,n2){return this}recordFutureForcedDependency(e2,t2){return this}inheritSimpleDataAsFutureForcedDependencies(e2){return this}inheritPendingDependenciesAsFutureForcedDependencies(){return this}recordCharacterBBox(e2,t2,n2,r2=1,i2=0,a2=0,o2){return this}getSimpleIndex(e2){}recordDependencies(e2,t2){return this}recordNamedDependency(e2,t2){return this}recordShowTextOperation(e2,t2=!1){return this}},CanvasDependencyTracker=class{#e={__proto__:null};#t={__proto__:null,transform:[],moveText:[],sameLineText:[],[cs]:[]};#n=new Map;#r=new Set;#i=new Map;#a;#o;#s;constructor(e2,t2=!1){this.#s=e2,t2&&(this.#a=new Map,this.#o=(e3,t3)=>{ensureDebugMetadata(this.#a,t3).dependencies.add(e3)})}get clipBox(){return this.#s.clipBox}growOperationsCount(e2){this.#s.growOperationsCount(e2)}save(e2){return this.#e={__proto__:this.#e},this.#t={__proto__:this.#t,transform:{__proto__:this.#t.transform},moveText:{__proto__:this.#t.moveText},sameLineText:{__proto__:this.#t.sameLineText},[cs]:{__proto__:this.#t[cs]}},this.#s.save(e2),this}restore(e2){this.#s.restore(e2,this.#o);let t2=Object.getPrototypeOf(this.#e);return t2===null?this:(this.#e=t2,this.#t=Object.getPrototypeOf(this.#t),this)}recordOpenMarker(e2){return this.#s.recordOpenMarker(e2,this.#o),this}getOpenMarker(){return this.#s.getOpenMarker()}recordCloseMarker(e2){return this.#s.recordCloseMarker(e2,this.#o),this}beginMarkedContent(e2){return this.#s.beginMarkedContent(e2),this}endMarkedContent(e2){return this.#s.endMarkedContent(e2,this.#o),this}pushBaseTransform(e2){return this.#s.pushBaseTransform(e2),this}popBaseTransform(){return this.#s.popBaseTransform(),this}recordSimpleData(e2,t2){return this.#e[e2]=t2,this}recordIncrementalData(e2,t2){return this.#t[e2].push(t2),this}resetIncrementalData(e2,t2){return this.#t[e2].length=0,this}recordNamedData(e2,t2){return this.#n.set(e2,t2),this}recordSimpleDataFromNamed(e2,t2,n2){this.#e[e2]=this.#n.get(t2)??n2}recordFutureForcedDependency(e2,t2){return this.recordIncrementalData(cs,t2),this}inheritSimpleDataAsFutureForcedDependencies(e2){for(let t2 of e2)t2 in this.#e&&this.recordFutureForcedDependency(t2,this.#e[t2]);return this}inheritPendingDependenciesAsFutureForcedDependencies(){for(let e2 of this.#r)this.recordFutureForcedDependency(cs,e2);return this}resetBBox(e2){return this.#s.resetBBox(e2),this}recordClipBox(e2,t2,n2,r2,i2,a2){return this.#s.recordClipBox(e2,t2,n2,r2,i2,a2),this}recordBBox(e2,t2,n2,r2,i2,a2){return this.#s.recordBBox(e2,t2,n2,r2,i2,a2),this}recordCharacterBBox(e2,t2,n2,r2=1,i2=0,a2=0,o2){let s2=n2.bbox,c2,l2;if(s2&&(c2=s2[2]!==s2[0]&&s2[3]!==s2[1]&&this.#i.get(n2),c2!==!1&&(l2=[0,0,0,0],Util.axialAlignedBoundingBox(s2,n2.fontMatrix,l2),(r2!==1||i2!==0||a2!==0)&&scaleCharBBox(r2,-r2,i2,a2,l2),c2)))return this.recordBBox(e2,t2,l2[0],l2[2],l2[1],l2[3]);if(!o2)return this.recordFullPageBBox(e2);let u2=o2();return s2&&l2&&c2===void 0&&(c2=l2[0]<=i2-u2.actualBoundingBoxLeft&&l2[2]>=i2+u2.actualBoundingBoxRight&&l2[1]<=a2-u2.actualBoundingBoxAscent&&l2[3]>=a2+u2.actualBoundingBoxDescent,this.#i.set(n2,c2),c2)?this.recordBBox(e2,t2,l2[0],l2[2],l2[1],l2[3]):this.recordBBox(e2,t2,i2-u2.actualBoundingBoxLeft,i2+u2.actualBoundingBoxRight,a2-u2.actualBoundingBoxAscent,a2+u2.actualBoundingBoxDescent)}recordFullPageBBox(e2){return this.#s.recordFullPageBBox(e2),this}getSimpleIndex(e2){return this.#e[e2]}recordDependencies(e2,t2){let n2=this.#r,r2=this.#e,i2=this.#t;for(let e3 of t2)e3 in this.#e?n2.add(r2[e3]):e3 in i2&&i2[e3].forEach(n2.add,n2);return this}recordNamedDependency(e2,t2){return this.#n.has(t2)&&this.#r.add(this.#n.get(t2)),this}recordOperation(e2,t2=!1){if(this.recordDependencies(e2,[cs]),this.#a){let t3=ensureDebugMetadata(this.#a,e2),{dependencies:n3}=t3;this.#r.forEach(n3.add,n3),this.#s._savesStack.forEach(n3.add,n3),this.#s._markedContentStack.forEach(n3.add,n3),n3.delete(e2),t3.isRenderingOperation=!0}let n2=!t2&&e2===this.#s._pendingBBoxIdx;return this.#s.recordOperation(e2,t2,[this.#r,this.#s._savesStack,this.#s._markedContentStack]),n2&&this.#r.clear(),this}recordShowTextOperation(e2,t2=!1){let n2=Array.from(this.#r);this.recordOperation(e2,t2),this.recordIncrementalData("sameLineText",e2);for(let e3 of n2)this.recordIncrementalData("sameLineText",e3);return this}bboxToClipBoxDropOperation(e2,t2=!1){let n2=!t2&&e2===this.#s._pendingBBoxIdx;return this.#s.bboxToClipBoxDropOperation(e2),n2&&this.#r.clear(),this}take(){return this.#i.clear(),this.#s.take()}takeDebugMetadata(){return this.#a}},fs=class CanvasNestedDependencyTracker{#e;#t;#n;#r=0;#i=0;constructor(e2,t2,n2){if(e2 instanceof CanvasNestedDependencyTracker&&e2.#n===!!n2)return e2;this.#e=e2,this.#t=t2,this.#n=!!n2}get clipBox(){return this.#e.clipBox}growOperationsCount(){throw Error("Unreachable")}save(e2){return this.#i++,this.#e.save(this.#t),this}restore(e2){return this.#i>0&&(this.#e.restore(this.#t),this.#i--),this}recordOpenMarker(e2){return this.#r++,this}getOpenMarker(){return this.#r>0?this.#t:this.#e.getOpenMarker()}recordCloseMarker(e2){return this.#r--,this}beginMarkedContent(e2){return this}endMarkedContent(e2){return this}pushBaseTransform(e2){return this.#e.pushBaseTransform(e2),this}popBaseTransform(){return this.#e.popBaseTransform(),this}recordSimpleData(e2,t2){return this.#e.recordSimpleData(e2,this.#t),this}recordIncrementalData(e2,t2){return this.#e.recordIncrementalData(e2,this.#t),this}resetIncrementalData(e2,t2){return this.#e.resetIncrementalData(e2,this.#t),this}recordNamedData(e2,t2){return this}recordSimpleDataFromNamed(e2,t2,n2){return this.#e.recordSimpleDataFromNamed(e2,t2,this.#t),this}recordFutureForcedDependency(e2,t2){return this.#e.recordFutureForcedDependency(e2,this.#t),this}inheritSimpleDataAsFutureForcedDependencies(e2){return this.#e.inheritSimpleDataAsFutureForcedDependencies(e2),this}inheritPendingDependenciesAsFutureForcedDependencies(){return this.#e.inheritPendingDependenciesAsFutureForcedDependencies(),this}resetBBox(e2){return this.#n||this.#e.resetBBox(this.#t),this}recordClipBox(e2,t2,n2,r2,i2,a2){return this.#n||this.#e.recordClipBox(this.#t,t2,n2,r2,i2,a2),this}recordBBox(e2,t2,n2,r2,i2,a2){return this.#n||this.#e.recordBBox(this.#t,t2,n2,r2,i2,a2),this}recordCharacterBBox(e2,t2,n2,r2,i2,a2,o2){return this.#n||this.#e.recordCharacterBBox(this.#t,t2,n2,r2,i2,a2,o2),this}recordFullPageBBox(e2){return this.#n||this.#e.recordFullPageBBox(this.#t),this}getSimpleIndex(e2){return this.#e.getSimpleIndex(e2)}recordDependencies(e2,t2){return this.#e.recordDependencies(this.#t,t2),this}recordNamedDependency(e2,t2){return this.#e.recordNamedDependency(this.#t,t2),this}recordOperation(e2){return this.#e.recordOperation(this.#t,!0),this}recordShowTextOperation(e2){return this.#e.recordShowTextOperation(this.#t,!0),this}bboxToClipBoxDropOperation(e2){return this.#n||this.#e.bboxToClipBoxDropOperation(this.#t,!0),this}take(){throw Error("Unreachable")}takeDebugMetadata(){throw Error("Unreachable")}},ps={stroke:["path","transform","filter","strokeColor","strokeAlpha","lineWidth","lineCap","lineJoin","miterLimit","dash"],fill:["path","transform","filter","fillColor","fillAlpha","globalCompositeOperation","SMask"],imageXObject:["transform","SMask","filter","fillAlpha","strokeAlpha","globalCompositeOperation"],rawFillPath:["filter","fillColor","fillAlpha"],showText:["transform","leading","charSpacing","wordSpacing","hScale","textRise","moveText","textMatrix","font","fontObj","filter","fillColor","textRenderingMode","SMask","fillAlpha","strokeAlpha","globalCompositeOperation","sameLineText"],transform:["transform"],transformAndFill:["transform","fillColor"]},ms=class CanvasImagesTracker{#e;#t;#n=4;#r=0;#i=new CanvasImagesTracker.#a(this.#n*6);static#a=FeatureTest.isFloat16ArraySupported?Float16Array:Float32Array;constructor(e2){this.#e=e2.width,this.#t=e2.height}record(e2,t2,n2,r2){if(this.#r===this.#n){this.#n*=2;let e3=new CanvasImagesTracker.#a(this.#n*6);e3.set(this.#i),this.#i=e3}let i2=getCurrentTransform(e2),a2;if(r2[0]!==1/0){let e3=yo.slice();Util.axialAlignedBoundingBox([0,-n2,t2,0],i2,e3);let o2=Util.intersect(r2,e3);if(!o2)return;let[s2,c2,l2,u2]=o2;if(s2!==e3[0]||c2!==e3[1]||l2!==e3[2]||u2!==e3[3]){let e4=Math.atan2(i2[1],i2[0]),t3=Math.abs(Math.sin(e4)),n3=Math.abs(Math.cos(e4));if(t3<1e-6||n3<1e-6||Math.abs(t3-n3)<1e-6)a2=[s2,c2,s2,u2,l2,c2];else{let e5=l2-s2,r3=u2-c2,i3=t3*t3,o3=n3*n3,d2=n3*t3,f2=o3-i3,p2=(r3*o3-e5*d2)/f2;a2=[s2+(r3*d2-e5*i3)/f2,c2,s2,c2+p2,l2,u2-p2]}}}a2||(a2=[0,-n2,0,0,t2,-n2],Util.applyTransform(a2,i2,0),Util.applyTransform(a2,i2,2),Util.applyTransform(a2,i2,4)),a2[0]/=this.#e,a2[1]/=this.#t,a2[2]/=this.#e,a2[3]/=this.#t,a2[4]/=this.#e,a2[5]/=this.#t,this.#i.set(a2,this.#r*6),this.#r++}take(){return this.#i.subarray(0,this.#r*6)}},FontLoader=class{#e=new Set;#t=null;constructor({ownerDocument:e2=globalThis.document,styleElement:t2=null}){this._document=e2,this.nativeFontFaces=new Set,this.styleElement=null,this.loadingRequests=[],this.loadTestFontId=0}addNativeFontFace(e2){this.nativeFontFaces.add(e2),this._document.fonts.add(e2)}removeNativeFontFace(e2){this.nativeFontFaces.delete(e2),this._document.fonts.delete(e2)}insertRule(e2){let t2=this.#n();t2.insertRule(e2,t2.cssRules.length)}#n(){if(this.#t)return this.#t;let e2=this._document.defaultView?.CSSStyleSheet||globalThis.CSSStyleSheet;if(!this.styleElement&&e2){let{adoptedStyleSheets:t2}=this._document;if(t2){let n2=new e2;return t2.push(n2),this.#t=n2}}return this.styleElement||(this.styleElement=this._document.createElement("style"),this._document.documentElement.getElementsByTagName("head")[0].append(this.styleElement)),this.#t=this.styleElement.sheet}clear(){for(let e2 of this.nativeFontFaces)this._document.fonts.delete(e2);if(this.nativeFontFaces.clear(),this.#e.clear(),this.#t){let{adoptedStyleSheets:e2}=this._document;e2?.includes(this.#t)&&(this._document.adoptedStyleSheets=e2.filter(e3=>e3!==this.#t)),this.#t=null}this.styleElement&&=(this.styleElement.remove(),null)}async loadSystemFont({systemFontInfo:e2,disableFontFace:t2,_inspectFont:n2}){if(!(!e2||this.#e.has(e2.loadedName))){if(assert(!t2,"loadSystemFont shouldn't be called when `disableFontFace` is set."),this.isFontLoadingAPISupported){let{loadedName:t3,src:r2,style:i2}=e2,a2=new FontFace(t3,r2,i2);this.addNativeFontFace(a2);try{await a2.load(),this.#e.add(t3),n2?.(e2)}catch{warn(`Cannot load system font: ${e2.baseFontName}, installing it could help to improve PDF rendering.`),this.removeNativeFontFace(a2)}return}unreachable("Not implemented: loadSystemFont without the Font Loading API.")}}async bind(e2){if(e2.attached||e2.missingFile&&!e2.systemFontInfo)return;if(e2.attached=!0,e2.systemFontInfo){await this.loadSystemFont(e2);return}if(this.isFontLoadingAPISupported){let t3=e2.createNativeFontFace();if(t3){this.addNativeFontFace(t3);try{await t3.loaded}catch(n2){throw warn(`Failed to load font '${t3.family}': '${n2}'.`),e2.disableFontFace=!0,n2}}return}let t2=e2.createFontFaceRule();if(t2){if(this.insertRule(t2),this.isSyncFontLoadingSupported)return;await new Promise(t3=>{let n2=this._queueLoadingCallback(t3);this._prepareFontLoadEvent(e2,n2)})}}get isFontLoadingAPISupported(){let e2=!!this._document?.fonts;return shadow(this,"isFontLoadingAPISupported",e2)}get isSyncFontLoadingSupported(){return shadow(this,"isSyncFontLoadingSupported",vo||FeatureTest.platform.isFirefox)}_queueLoadingCallback(e2){function completeRequest(){for(assert(!n2.done,"completeRequest() cannot be called twice."),n2.done=!0;t2.length>0&&t2[0].done;){let e3=t2.shift();setTimeout(e3.callback,0)}}let{loadingRequests:t2}=this,n2={done:!1,complete:completeRequest,callback:e2};return t2.push(n2),n2}get _loadTestFont(){let e2=atob("T1RUTwALAIAAAwAwQ0ZGIDHtZg4AAAOYAAAAgUZGVE1lkzZwAAAEHAAAABxHREVGABQAFQAABDgAAAAeT1MvMlYNYwkAAAEgAAAAYGNtYXABDQLUAAACNAAAAUJoZWFk/xVFDQAAALwAAAA2aGhlYQdkA+oAAAD0AAAAJGhtdHgD6AAAAAAEWAAAAAZtYXhwAAJQAAAAARgAAAAGbmFtZVjmdH4AAAGAAAAAsXBvc3T/hgAzAAADeAAAACAAAQAAAAEAALZRFsRfDzz1AAsD6AAAAADOBOTLAAAAAM4KHDwAAAAAA+gDIQAAAAgAAgAAAAAAAAABAAADIQAAAFoD6AAAAAAD6AABAAAAAAAAAAAAAAAAAAAAAQAAUAAAAgAAAAQD6AH0AAUAAAKKArwAAACMAooCvAAAAeAAMQECAAACAAYJAAAAAAAAAAAAAQAAAAAAAAAAAAAAAFBmRWQAwAAuAC4DIP84AFoDIQAAAAAAAQAAAAAAAAAAACAAIAABAAAADgCuAAEAAAAAAAAAAQAAAAEAAAAAAAEAAQAAAAEAAAAAAAIAAQAAAAEAAAAAAAMAAQAAAAEAAAAAAAQAAQAAAAEAAAAAAAUAAQAAAAEAAAAAAAYAAQAAAAMAAQQJAAAAAgABAAMAAQQJAAEAAgABAAMAAQQJAAIAAgABAAMAAQQJAAMAAgABAAMAAQQJAAQAAgABAAMAAQQJAAUAAgABAAMAAQQJAAYAAgABWABYAAAAAAAAAwAAAAMAAAAcAAEAAAAAADwAAwABAAAAHAAEACAAAAAEAAQAAQAAAC7//wAAAC7////TAAEAAAAAAAABBgAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAD/gwAyAAAAAQAAAAAAAAAAAAAAAAAAAAABAAQEAAEBAQJYAAEBASH4DwD4GwHEAvgcA/gXBIwMAYuL+nz5tQXkD5j3CBLnEQACAQEBIVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYAAABAQAADwACAQEEE/t3Dov6fAH6fAT+fPp8+nwHDosMCvm1Cvm1DAz6fBQAAAAAAAABAAAAAMmJbzEAAAAAzgTjFQAAAADOBOQpAAEAAAAAAAAADAAUAAQAAAABAAAAAgABAAAAAAAAAAAD6AAAAAAAAA==");return shadow(this,"_loadTestFont",e2)}_prepareFontLoadEvent(e2,t2){function int32(e3,t3){return e3.charCodeAt(t3)<<24|e3.charCodeAt(t3+1)<<16|e3.charCodeAt(t3+2)<<8|e3.charCodeAt(t3+3)&255}function string32(e3){return String.fromCharCode(e3>>24&255,e3>>16&255,e3>>8&255,e3&255)}function spliceString(e3,t3,n3,r3){let i3=e3.substring(0,t3),a3=e3.substring(t3+n3);return i3+r3+a3}let n2,r2,i2=this._document.createElement("canvas");i2.width=1,i2.height=1;let a2=i2.getContext("2d"),o2=0;function isFontReady(e3,t3){if(++o2>30){warn("Load test font never loaded."),t3();return}if(a2.font="30px "+e3,a2.fillText(".",0,20),a2.getImageData(0,0,1,1).data[3]>0){t3();return}setTimeout(isFontReady.bind(null,e3,t3))}let s2=`lt${Date.now()}${this.loadTestFontId++}`,c2=this._loadTestFont;c2=spliceString(c2,976,s2.length,s2);let l2=1482184792,u2=int32(c2,16);for(n2=0,r2=s2.length-3;n2<r2;n2+=4)u2=u2-l2+int32(s2,n2)|0;n2<s2.length&&(u2=u2-l2+int32(s2+"XXX",n2)|0),c2=spliceString(c2,16,4,string32(u2));let d2=`@font-face {font-family:"${s2}";src:${`url(data:font/opentype;base64,${btoa(c2)});`}}`;this.insertRule(d2);let f2=this._document.createElement("div");f2.style.visibility="hidden",f2.style.width=f2.style.height="10px",f2.style.position="absolute",f2.style.top=f2.style.left="0px";for(let t3 of[e2.loadedName,s2]){let e3=this._document.createElement("span");e3.textContent="Hi",e3.style.fontFamily=t3,f2.append(e3)}this._document.body.append(f2),isFontReady(s2,()=>{f2.remove(),t2.complete()})}},FontFaceObject=class{compiledGlyphs=Object.create(null);#e;constructor(e2,t2=null,n2,r2){this.#e=e2,this._inspectFont=t2,n2&&(this.charProcOperatorList=n2),r2&&Object.assign(this,r2)}createNativeFontFace(){if(!this.data||this.disableFontFace)return null;let e2;if(!this.cssFontInfo)e2=new FontFace(this.loadedName,this.data,{});else{let t2={weight:this.cssFontInfo.fontWeight};this.cssFontInfo.italicAngle&&(t2.style=`oblique ${this.cssFontInfo.italicAngle}deg`),e2=new FontFace(this.cssFontInfo.fontFamily,this.data,t2)}return this._inspectFont?.(this),e2}createFontFaceRule(){if(!this.data||this.disableFontFace)return null;let e2=`url(data:${this.mimetype};base64,${this.data.toBase64()});`,t2;if(!this.cssFontInfo)t2=`@font-face {font-family:"${this.loadedName}";src:${e2}}`;else{let n2=`font-weight: ${this.cssFontInfo.fontWeight};`;this.cssFontInfo.italicAngle&&(n2+=`font-style: oblique ${this.cssFontInfo.italicAngle}deg;`),t2=`@font-face {font-family:"${this.cssFontInfo.fontFamily}";${n2}src:${e2}}`}return this._inspectFont?.(this,e2),t2}getPathGenerator(e2,t2){if(this.compiledGlyphs[t2]!==void 0)return this.compiledGlyphs[t2];let n2=this.loadedName+"_path_"+t2,r2;try{r2=e2.get(n2)}catch(e3){warn(`getPathGenerator - ignoring character: "${e3}".`)}let i2=makePathFromDrawOPS(r2?.path);return this.fontExtraProperties||e2.delete(n2),this.compiledGlyphs[t2]=i2}get black(){return this.#e.black}get bold(){return this.#e.bold}get disableFontFace(){return this.#e.disableFontFace}set disableFontFace(e2){shadow(this,"disableFontFace",!!e2)}get fontExtraProperties(){return this.#e.fontExtraProperties}get isInvalidPDFjsFont(){return this.#e.isInvalidPDFjsFont}get isType3Font(){return this.#e.isType3Font}get italic(){return this.#e.italic}get missingFile(){return this.#e.missingFile}get remeasure(){return this.#e.remeasure}get vertical(){return this.#e.vertical}get ascent(){return this.#e.ascent}get defaultWidth(){return this.#e.defaultWidth}get descent(){return this.#e.descent}get bbox(){return this.#e.bbox}get fontMatrix(){return this.#e.fontMatrix}get fallbackName(){return this.#e.fallbackName}get loadedName(){return this.#e.loadedName}get mimetype(){return this.#e.mimetype}get name(){return this.#e.name}get data(){return this.#e.data}clearData(){this.#e.clearData()}get cssFontInfo(){return this.#e.cssFontInfo}get systemFontInfo(){return this.#e.systemFontInfo}get defaultVMetrics(){return this.#e.defaultVMetrics}},CSS_FONT_INFO=class{static strings=["fontFamily","fontWeight","italicAngle"]},SYSTEM_FONT_INFO=class{static strings=["css","loadedName","baseFontName","src"]},FONT_INFO=class{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(this.bools.length*2/8);static OFFSET_BBOX=this.OFFSET_NUMBERS+this.numbers.length*8;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},PATTERN_INFO=class{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},CssFontInfo=class{#e;#t=new TextDecoder;#n;constructor(e2){this.#e=e2,this.#n=new DataView(e2)}#r(e2){assert(e2<CSS_FONT_INFO.strings.length,"Invalid string index");let t2=0;for(let n3=0;n3<e2;n3++)t2+=this.#n.getUint32(t2)+4;let n2=this.#n.getUint32(t2);return this.#t.decode(new Uint8Array(this.#e,t2+4,n2))}get fontFamily(){return this.#r(0)}get fontWeight(){return this.#r(1)}get italicAngle(){return this.#r(2)}},SystemFontInfo=class{#e;#t=new TextDecoder;#n;constructor(e2){this.#e=e2,this.#n=new DataView(e2)}get guessFallback(){return this.#n.getUint8(0)!==0}#r(e2){assert(e2<SYSTEM_FONT_INFO.strings.length,"Invalid string index");let t2=5;for(let n3=0;n3<e2;n3++)t2+=this.#n.getUint32(t2)+4;let n2=this.#n.getUint32(t2);return this.#t.decode(new Uint8Array(this.#e,t2+4,n2))}get css(){return this.#r(0)}get loadedName(){return this.#r(1)}get baseFontName(){return this.#r(2)}get src(){return this.#r(3)}get style(){let e2=1;e2+=4+this.#n.getUint32(e2);let t2=this.#n.getUint32(e2),n2=this.#t.decode(new Uint8Array(this.#e,e2+4,t2));e2+=4+t2;let r2=this.#n.getUint32(e2);return{style:n2,weight:this.#t.decode(new Uint8Array(this.#e,e2+4,r2))}}},FontInfo=class{#e;#t=new TextDecoder;#n;constructor({buffer:e2,extra:t2}){this.#e=e2,this.#n=new DataView(e2),t2&&Object.assign(this,t2)}#r(e2){assert(e2<FONT_INFO.bools.length,"Invalid boolean index");let t2=Math.floor(e2/4),n2=e2*2%8,r2=this.#n.getUint8(t2)>>n2&3;return r2===0?void 0:r2===2}get black(){return this.#r(0)}get bold(){return this.#r(1)}get disableFontFace(){return this.#r(2)}get fontExtraProperties(){return this.#r(3)}get isInvalidPDFjsFont(){return this.#r(4)}get isType3Font(){return this.#r(5)}get italic(){return this.#r(6)}get missingFile(){return this.#r(7)}get remeasure(){return this.#r(8)}get vertical(){return this.#r(9)}#i(e2){return assert(e2<FONT_INFO.numbers.length,"Invalid number index"),this.#n.getFloat64(FONT_INFO.OFFSET_NUMBERS+e2*8)}get ascent(){return this.#i(0)}get defaultWidth(){return this.#i(1)}get descent(){return this.#i(2)}#a(e2,t2,n2,r2){let i2=this.#n.getUint8(e2);if(i2===0)return;assert(i2===t2,"Invalid array length."),e2+=1;let a2=Array(i2);for(let t3=0;t3<i2;t3++)a2[t3]=this.#n[n2](e2,!0),e2+=r2;return a2}get bbox(){return this.#a(FONT_INFO.OFFSET_BBOX,4,"getInt16",2)}get fontMatrix(){return this.#a(FONT_INFO.OFFSET_FONT_MATRIX,6,"getFloat64",8)}get defaultVMetrics(){return this.#a(FONT_INFO.OFFSET_DEFAULT_VMETRICS,3,"getInt16",2)}#o(e2){assert(e2<FONT_INFO.strings.length,"Invalid string index");let t2=FONT_INFO.OFFSET_STRINGS+4;for(let n3=0;n3<e2;n3++)t2+=this.#n.getUint32(t2)+4;let n2=this.#n.getUint32(t2);return this.#t.decode(new Uint8Array(this.#e,t2+4,n2))}get fallbackName(){return this.#o(0)}get loadedName(){return this.#o(1)}get mimetype(){return this.#o(2)}get name(){return this.#o(3)}#s(){let e2=FONT_INFO.OFFSET_STRINGS,t2=this.#n.getUint32(e2);e2+=4+t2;let n2=this.#n.getUint32(e2);e2+=4+n2;let r2=this.#n.getUint32(e2);e2+=4+r2;let i2=this.#n.getUint32(e2);return{offset:e2,length:i2}}get data(){let{offset:e2,length:t2}=this.#s();return t2===0?void 0:new Uint8Array(this.#e,e2+4,t2)}clearData(){let{offset:e2,length:t2}=this.#s();t2!==0&&(this.#n.setUint32(e2,0),this.#e=new Uint8Array(this.#e,0,e2+4).slice().buffer,this.#n=new DataView(this.#e))}get cssFontInfo(){let e2=FONT_INFO.OFFSET_STRINGS,t2=this.#n.getUint32(e2);e2+=4+t2;let n2=this.#n.getUint32(e2);e2+=4+n2;let r2=this.#n.getUint32(e2);if(r2===0)return null;let i2=new Uint8Array(r2);return i2.set(new Uint8Array(this.#e,e2+4,r2)),new CssFontInfo(i2.buffer)}get systemFontInfo(){let e2=FONT_INFO.OFFSET_STRINGS,t2=this.#n.getUint32(e2);e2+=4+t2;let n2=this.#n.getUint32(e2);if(n2===0)return null;let r2=new Uint8Array(n2);return r2.set(new Uint8Array(this.#e,e2+4,n2)),new SystemFontInfo(r2.buffer)}},PatternInfo=class{constructor(e2){this.buffer=e2,this.view=new DataView(e2),this.data=new Uint8Array(e2)}getIR(){let e2=this.view,t2=this.data[PATTERN_INFO.KIND],n2=!!this.data[PATTERN_INFO.HAS_BBOX],r2=!!this.data[PATTERN_INFO.HAS_BACKGROUND],i2=e2.getUint32(PATTERN_INFO.N_COORD,!0),a2=e2.getUint32(PATTERN_INFO.N_COLOR,!0),o2=e2.getUint32(PATTERN_INFO.N_STOP,!0),s2=20,c2=new Float32Array(this.buffer,s2,i2*2);s2+=i2*8;let l2=new Uint8Array(this.buffer,s2,a2*4);s2+=a2*4;let u2=[];for(let t3=0;t3<o2;++t3){let t4=e2.getFloat32(s2,!0);s2+=4;let n3=e2.getUint32(s2,!0);s2+=4,u2.push([t4,`#${n3.toString(16).padStart(6,"0")}`])}let d2=null;if(n2){d2=[];for(let t3=0;t3<4;++t3)d2.push(e2.getFloat32(s2,!0)),s2+=4}let f2=null;if(r2&&(f2=new Uint8Array(this.buffer,s2,3),s2+=3),t2===1)return["RadialAxial","axial",d2,u2,Array.from(c2.slice(0,2)),Array.from(c2.slice(2,4)),null,null];if(t2===2)return["RadialAxial","radial",d2,u2,[c2[0],c2[1]],[c2[3],c2[4]],c2[2],c2[5]];if(t2===3){let e3=this.data[PATTERN_INFO.SHADING_TYPE],t3=null;if(c2.length>0){t3=yo.slice();for(let e4=0,n3=c2.length;e4<n3;e4+=2)Util.pointBoundingBox(c2[e4],c2[e4+1],t3)}return["Mesh",e3,c2,l2,i2,t3,d2,f2]}throw Error(`Unsupported pattern kind: ${t2}`)}},FontPathInfo=class{#e;constructor(e2){this.#e=e2}get path(){return FeatureTest.isFloat16ArraySupported?new Float16Array(this.#e):new Float32Array(this.#e)}};function getUrlProp(e2){if(e2 instanceof URL)return e2;if(typeof e2=="string"){if(vo){if(/^[a-z][a-z0-9\-+.]+:/i.test(e2))return new URL(e2);let t3=process.getBuiltinModule("url");return new URL(t3.pathToFileURL(e2))}let t2=URL.parse(e2,window.location);if(t2)return t2}throw Error("Invalid PDF url data: either string or URL-object is expected in the url property.")}function getDataProp(e2){if(vo&&typeof Buffer<"u"&&e2 instanceof Buffer)throw Error("Please provide binary data as `Uint8Array`, rather than `Buffer`.");if(e2 instanceof Uint8Array&&e2.byteLength===e2.buffer.byteLength)return e2;if(typeof e2=="string")return stringToBytes(e2);if(e2 instanceof ArrayBuffer||ArrayBuffer.isView(e2)||typeof e2=="object"&&!isNaN(e2?.length))return new Uint8Array(e2);throw Error("Invalid PDF binary data: either TypedArray, string, or array-like object is expected in the data property.")}function getFactoryUrlProp(e2){if(typeof e2!="string")return null;if(e2.endsWith("/"))return e2;throw Error(`Invalid factory url: "${e2}" must include trailing slash.`)}var isRefProxy=e2=>typeof e2=="object"&&Number.isInteger(e2?.num)&&e2.num>=0&&Number.isInteger(e2?.gen)&&e2.gen>=0,isNameProxy=e2=>typeof e2=="object"&&typeof e2?.name=="string",hs=_isValidExplicitDest.bind(null,isRefProxy,isNameProxy),LoopbackPort=class{#e=new Map;#t=Promise.resolve();postMessage(e2,t2){let n2={data:structuredClone(e2,t2?{transfer:t2}:null)};this.#t.then(()=>{for(let[e3]of this.#e)e3.call(this,n2)})}addEventListener(e2,t2,n2=null){let rmAbort=null;if(n2?.signal instanceof AbortSignal){let{signal:r2}=n2;if(r2.aborted){warn("LoopbackPort - cannot use an `aborted` signal.");return}let onAbort=()=>this.removeEventListener(e2,t2);rmAbort=()=>r2.removeEventListener("abort",onAbort),r2.addEventListener("abort",onAbort)}this.#e.set(t2,rmAbort)}removeEventListener(e2,t2){this.#e.get(t2)?.(),this.#e.delete(t2)}terminate(){for(let[,e2]of this.#e)e2?.();this.#e.clear()}},gs={DATA:1,ERROR:2},_s={CANCEL:1,CANCEL_COMPLETE:2,CLOSE:3,ENQUEUE:4,ERROR:5,PULL:6,PULL_COMPLETE:7,START_COMPLETE:8};function onFn(){}function wrapReason(e2){if(e2 instanceof AbortException||e2 instanceof InvalidPDFException||e2 instanceof PasswordException||e2 instanceof ResponseException||e2 instanceof UnknownErrorException)return e2;switch(e2 instanceof Error||typeof e2=="object"&&e2||unreachable('wrapReason: Expected "reason" to be a (possibly cloned) Error.'),e2.name){case"AbortException":return new AbortException(e2.message);case"InvalidPDFException":return new InvalidPDFException(e2.message);case"PasswordException":return new PasswordException(e2.message,e2.code);case"ResponseException":return new ResponseException(e2.message,e2.status,e2.missing);case"UnknownErrorException":return new UnknownErrorException(e2.message,e2.details)}return new UnknownErrorException(e2.message,e2.toString())}var MessageHandler=class{#e=new AbortController;constructor(e2,t2,n2){this.sourceName=e2,this.targetName=t2,this.comObj=n2,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),n2.addEventListener("message",this.#t.bind(this),{signal:this.#e.signal})}#t({data:e2}){if(e2.targetName!==this.sourceName)return;if(e2.stream){this.#r(e2);return}if(e2.callback){let t3=e2.callbackId,n2=this.callbackCapabilities[t3];if(!n2)throw Error(`Cannot resolve callback ${t3}`);if(delete this.callbackCapabilities[t3],e2.callback===gs.DATA)n2.resolve(e2.data);else if(e2.callback===gs.ERROR)n2.reject(wrapReason(e2.reason));else throw Error("Unexpected callback case");return}let t2=this.actionHandler[e2.action];if(!t2)throw Error(`Unknown action from worker: ${e2.action}`);if(e2.callbackId){let n2=this.sourceName,r2=e2.sourceName,i2=this.comObj;Promise.try(t2,e2.data).then(function(t3){i2.postMessage({sourceName:n2,targetName:r2,callback:gs.DATA,callbackId:e2.callbackId,data:t3})},function(t3){i2.postMessage({sourceName:n2,targetName:r2,callback:gs.ERROR,callbackId:e2.callbackId,reason:wrapReason(t3)})});return}if(e2.streamId){this.#n(e2);return}t2(e2.data)}on(e2,t2){let n2=this.actionHandler;if(n2[e2])throw Error(`There is already an actionName called "${e2}"`);n2[e2]=t2}send(e2,t2,n2){this.comObj.postMessage({sourceName:this.sourceName,targetName:this.targetName,action:e2,data:t2},n2)}sendWithPromise(e2,t2,n2){let r2=this.callbackId++,i2=Promise.withResolvers();this.callbackCapabilities[r2]=i2;try{this.comObj.postMessage({sourceName:this.sourceName,targetName:this.targetName,action:e2,callbackId:r2,data:t2},n2)}catch(e3){i2.reject(e3)}return i2.promise}sendWithStream(e2,t2,n2,r2){let i2=this.streamId++,a2=this.sourceName,o2=this.targetName,s2=this.comObj;return new ReadableStream({start:n3=>{let c2=Promise.withResolvers();return this.streamControllers[i2]={controller:n3,startCall:c2,pullCall:null,cancelCall:null,isClosed:!1},s2.postMessage({sourceName:a2,targetName:o2,action:e2,streamId:i2,data:t2,desiredSize:n3.desiredSize},r2),c2.promise},pull:e3=>{let t3=Promise.withResolvers();return this.streamControllers[i2].pullCall=t3,s2.postMessage({sourceName:a2,targetName:o2,stream:_s.PULL,streamId:i2,desiredSize:e3.desiredSize}),t3.promise},cancel:e3=>{assert(e3 instanceof Error,"cancel must have a valid reason");let t3=Promise.withResolvers();return this.streamControllers[i2].cancelCall=t3,this.streamControllers[i2].isClosed=!0,s2.postMessage({sourceName:a2,targetName:o2,stream:_s.CANCEL,streamId:i2,reason:wrapReason(e3)}),t3.promise}},n2)}#n(e2){let t2=e2.streamId,n2=this.sourceName,r2=e2.sourceName,i2=this.comObj,a2=this,o2=this.actionHandler[e2.action],s2={enqueue(e3,a3=1,o3){if(this.isCancelled)return;let s3=this.desiredSize;this.desiredSize-=a3,s3>0&&this.desiredSize<=0&&(this.sinkCapability=Promise.withResolvers(),this.ready=this.sinkCapability.promise),i2.postMessage({sourceName:n2,targetName:r2,stream:_s.ENQUEUE,streamId:t2,chunk:e3},o3)},close(){this.isCancelled||(this.isCancelled=!0,i2.postMessage({sourceName:n2,targetName:r2,stream:_s.CLOSE,streamId:t2}),delete a2.streamSinks[t2])},error(e3){assert(e3 instanceof Error,"error must have a valid reason"),!this.isCancelled&&(this.isCancelled=!0,i2.postMessage({sourceName:n2,targetName:r2,stream:_s.ERROR,streamId:t2,reason:wrapReason(e3)}))},sinkCapability:Promise.withResolvers(),onPull:null,onCancel:null,isCancelled:!1,desiredSize:e2.desiredSize,ready:null};s2.sinkCapability.resolve(),s2.ready=s2.sinkCapability.promise,this.streamSinks[t2]=s2,Promise.try(o2,e2.data,s2).then(function(){i2.postMessage({sourceName:n2,targetName:r2,stream:_s.START_COMPLETE,streamId:t2,success:!0})},function(e3){i2.postMessage({sourceName:n2,targetName:r2,stream:_s.START_COMPLETE,streamId:t2,reason:wrapReason(e3)})})}#r(e2){let t2=e2.streamId,n2=this.sourceName,r2=e2.sourceName,i2=this.comObj,a2=this.streamControllers[t2],o2=this.streamSinks[t2];switch(e2.stream){case _s.START_COMPLETE:e2.success?a2.startCall.resolve():a2.startCall.reject(wrapReason(e2.reason));break;case _s.PULL_COMPLETE:e2.success?a2.pullCall.resolve():a2.pullCall.reject(wrapReason(e2.reason));break;case _s.PULL:if(!o2){i2.postMessage({sourceName:n2,targetName:r2,stream:_s.PULL_COMPLETE,streamId:t2,success:!0});break}o2.desiredSize<=0&&e2.desiredSize>0&&o2.sinkCapability.resolve(),o2.desiredSize=e2.desiredSize,Promise.try(o2.onPull||onFn).then(function(){i2.postMessage({sourceName:n2,targetName:r2,stream:_s.PULL_COMPLETE,streamId:t2,success:!0})},function(e3){i2.postMessage({sourceName:n2,targetName:r2,stream:_s.PULL_COMPLETE,streamId:t2,reason:wrapReason(e3)})});break;case _s.ENQUEUE:if(assert(a2,"enqueue should have stream controller"),a2.isClosed)break;a2.controller.enqueue(e2.chunk);break;case _s.CLOSE:if(assert(a2,"close should have stream controller"),a2.isClosed)break;a2.isClosed=!0,a2.controller.close(),this.#i(a2,t2);break;case _s.ERROR:assert(a2,"error should have stream controller"),a2.controller.error(wrapReason(e2.reason)),this.#i(a2,t2);break;case _s.CANCEL_COMPLETE:e2.success?a2.cancelCall.resolve():a2.cancelCall.reject(wrapReason(e2.reason)),this.#i(a2,t2);break;case _s.CANCEL:if(!o2)break;let s2=wrapReason(e2.reason);Promise.try(o2.onCancel||onFn,s2).then(function(){i2.postMessage({sourceName:n2,targetName:r2,stream:_s.CANCEL_COMPLETE,streamId:t2,success:!0})},function(e3){i2.postMessage({sourceName:n2,targetName:r2,stream:_s.CANCEL_COMPLETE,streamId:t2,reason:wrapReason(e3)})}),o2.sinkCapability.reject(s2),o2.isCancelled=!0,delete this.streamSinks[t2];break;default:throw Error("Unexpected stream case")}}async#i(e2,t2){await Promise.allSettled([e2.startCall?.promise,e2.pullCall?.promise,e2.cancelCall?.promise]),delete this.streamControllers[t2]}destroy(){this.#e?.abort(),this.#e=null}},BaseBinaryDataFactory=class{#e=Object.freeze({cMapUrl:"CMap",standardFontDataUrl:"font",wasmUrl:"wasm"});constructor({cMapUrl:e2=null,standardFontDataUrl:t2=null,wasmUrl:n2=null}){this.cMapUrl=e2,this.standardFontDataUrl=t2,this.wasmUrl=n2}async fetch({kind:e2,filename:t2}){switch(e2){case"cMapUrl":case"standardFontDataUrl":case"wasmUrl":break;default:unreachable(`Not implemented: ${e2}`)}let n2=this[e2];if(!n2)throw Error(`Ensure that the \`${e2}\` API parameter is provided.`);let r2=`${n2}${t2}`;return this._fetch(r2,e2).catch(t3=>{throw Error(`Unable to load ${this.#e[e2]} data at: ${r2}`)})}async _fetch(e2,t2){unreachable("Abstract method `_fetch` called.")}},DOMBinaryDataFactory=class extends BaseBinaryDataFactory{async _fetch(e2,t2){let n2=await fetchData(e2,t2==="cMapUrl"&&!e2.endsWith(".bcmap")?"text":"bytes");return n2 instanceof Uint8Array?n2:stringToBytes(n2)}},BaseCanvasFactory=class{#e=!1;constructor({enableHWA:e2=!1}){this.#e=e2}create(e2,t2){if(e2<=0||t2<=0)throw Error("Invalid canvas size");let n2=this._createCanvas(e2,t2);return{canvas:n2,context:n2.getContext("2d",{willReadFrequently:!this.#e})}}reset({canvas:e2},t2,n2){if(!e2)throw Error("Canvas is not specified");if(t2<=0||n2<=0)throw Error("Invalid canvas size");e2.width=t2,e2.height=n2}destroy(e2){let{canvas:t2}=e2;if(!t2)throw Error("Canvas is not specified");t2.width=t2.height=0,e2.canvas=null,e2.context=null}_createCanvas(e2,t2){unreachable("Abstract method `_createCanvas` called.")}},DOMCanvasFactory=class extends BaseCanvasFactory{constructor({ownerDocument:e2=globalThis.document,enableHWA:t2=!1}){super({enableHWA:t2}),this._document=e2}_createCanvas(e2,t2){let n2=this._document.createElement("canvas");return n2.width=e2,n2.height=t2,n2}},BaseFilterFactory=class{addFilter(e2){return"none"}addHCMFilter(e2,t2){return"none"}addAlphaFilter(e2){return"none"}addLuminosityFilter(e2){return"none"}addKnockoutFilter(e2=0){return"none"}addHighlightHCMFilter(e2,t2,n2,r2,i2){return"none"}addSelectionHCMFilter(e2,t2){return"none"}addSelectionFilter(){return"none"}createSelectionStyle(e2=null){return null}destroy(e2=!1){}},DOMFilterFactory=class extends BaseFilterFactory{#e;#t;#n;#r;#i;#a;#o=0;constructor({docId:e2,ownerDocument:t2=globalThis.document}){super(),this.#r=e2,this.#i=t2}get#s(){return this.#t||=new Map}get#c(){return this.#a||=new Map}get#l(){if(!this.#n){let e2=this.#i.createElement("div"),{style:t2}=e2;t2.colorScheme="only light",t2.visibility="hidden",t2.contain="strict",t2.width=t2.height=0,t2.position="absolute",t2.top=t2.left=0,t2.zIndex=-1;let n2=this.#i.createElementNS(Co,"svg");n2.setAttribute("width",0),n2.setAttribute("height",0),this.#n=this.#i.createElementNS(Co,"defs"),e2.append(n2),n2.append(this.#n),this.#i.body.append(e2)}return this.#n}#u(e2){if(e2.length===1){let t3=e2[0],n3=Array(256);for(let e3=0;e3<256;e3++)n3[e3]=t3[e3]/255;let r3=n3.join(",");return[r3,r3,r3]}let[t2,n2,r2]=e2,i2=Array(256),a2=Array(256),o2=Array(256);for(let e3=0;e3<256;e3++)i2[e3]=t2[e3]/255,a2[e3]=n2[e3]/255,o2[e3]=r2[e3]/255;return[i2.join(","),a2.join(","),o2.join(",")]}#d(e2){if(this.#e===void 0){this.#e="";let e3=this.#i.URL;e3!==this.#i.baseURI&&(isDataScheme(e3)?warn('#createUrl: ignore "data:"-URL for performance reasons.'):this.#e=updateUrlHash(e3,""))}return`url(${this.#e}#${e2})`}addFilter(e2){if(!e2)return"none";let t2=this.#s.get(e2);if(t2)return t2;let[n2,r2,i2]=this.#u(e2),a2=e2.length===1?n2:`${n2}${r2}${i2}`;if(t2=this.#s.get(a2),t2)return this.#s.set(e2,t2),t2;let o2=`g_${this.#r}_transfer_map_${this.#o++}`,s2=this.#d(o2);this.#s.set(e2,s2),this.#s.set(a2,s2);let c2=this.#m(o2);return this.#g(n2,r2,i2,c2),s2}addHCMFilter(e2,t2){let n2=`${e2}-${t2}`,r2="base",i2=this.#c.get(r2);if(i2?.key===n2||(i2?(i2.filter?.remove(),i2.key=n2,i2.url="none",i2.filter=null):(i2={key:n2,url:"none",filter:null},this.#c.set(r2,i2)),!e2||!t2))return i2.url;let a2=this.#v(e2);e2=Util.makeHexColor(...a2);let o2=this.#v(t2);if(t2=Util.makeHexColor(...o2),this.#l.style.color="",e2==="#000000"&&t2==="#ffffff"||e2===t2)return i2.url;let s2=Array(256);for(let e3=0;e3<=255;e3++){let t3=e3/255;s2[e3]=t3<=.03928?t3/12.92:((t3+.055)/1.055)**2.4}let c2=s2.join(","),l2=`g_${this.#r}_hcm_filter`,u2=i2.filter=this.#m(l2);this.#g(c2,c2,c2,u2),this.#p(u2);let getSteps=(e3,t3)=>{let n3=a2[e3]/255,r3=o2[e3]/255,i3=Array(t3+1);for(let e4=0;e4<=t3;e4++)i3[e4]=n3+e4/t3*(r3-n3);return i3.join(",")};return this.#g(getSteps(0,5),getSteps(1,5),getSteps(2,5),u2),i2.url=this.#d(l2),i2.url}addSelectionHCMFilter(e2,t2){return this.addHighlightHCMFilter("selection",e2,t2,"HighlightText","Highlight")}addSelectionFilter(){return this.addHighlightHCMFilter("selection_default","black","white","HighlightText","Highlight")}createSelectionStyle(e2=null){let t2=e2?this.addSelectionHCMFilter(e2.foreground,e2.background):this.addSelectionFilter();return t2==="none"||!FeatureTest.platform.isFirefox?null:{"backdrop-filter":t2,"background-color":"transparent"}}addAlphaFilter(e2){let t2=this.#s.get(e2);if(t2)return t2;let[n2]=this.#u([e2]),r2=`alpha_${n2}`;if(t2=this.#s.get(r2),t2)return this.#s.set(e2,t2),t2;let i2=`g_${this.#r}_alpha_map_${this.#o++}`,a2=this.#d(i2);this.#s.set(e2,a2),this.#s.set(r2,a2);let o2=this.#m(i2);return this.#_(n2,o2),a2}addLuminosityFilter(e2){let t2=this.#s.get(e2||"luminosity");if(t2)return t2;let n2,r2;if(e2?([n2]=this.#u([e2]),r2=`luminosity_${n2}`):r2="luminosity",t2=this.#s.get(r2),t2)return this.#s.set(e2,t2),t2;let i2=`g_${this.#r}_luminosity_map_${this.#o++}`,a2=this.#d(i2);this.#s.set(e2,a2),this.#s.set(r2,a2);let o2=this.#m(i2);return this.#f(o2),e2&&this.#_(n2,o2),a2}addKnockoutFilter(e2=0){let t2=e2>0?Math.min(1/e2,1e6):1e6,n2=`knockout_${t2}`,r2=this.#s.get(n2);if(r2)return r2;let i2=`g_${this.#r}_knockout_filter_${this.#o++}`,a2=this.#d(i2);this.#s.set(n2,a2);let o2=this.#m(i2),s2=this.#i.createElementNS(Co,"feComponentTransfer");o2.append(s2);let c2=this.#i.createElementNS(Co,"feFuncA");return c2.setAttribute("type","linear"),c2.setAttribute("slope",`${t2}`),c2.setAttribute("intercept","0"),s2.append(c2),a2}addHighlightHCMFilter(e2,t2,n2,r2,i2){let a2=`${t2}-${n2}-${r2}-${i2}`,o2=this.#c.get(e2);if(o2?.key===a2||(o2?(o2.filter?.remove(),o2.key=a2,o2.url="none",o2.filter=null):(o2={key:a2,url:"none",filter:null},this.#c.set(e2,o2)),!t2||!n2))return o2.url;let[s2,c2]=[t2,n2].map(this.#v.bind(this)),l2=Math.round(.2126*s2[0]+.7152*s2[1]+.0722*s2[2]),u2=Math.round(.2126*c2[0]+.7152*c2[1]+.0722*c2[2]),[d2,f2]=[r2,i2].map(this.#b.bind(this));u2<l2&&([l2,u2,d2,f2]=[u2,l2,f2,d2]),this.#l.style.color="";let getSteps=(e3,t3,n3)=>{let r3=Array(256),i3=(u2-l2)/n3,a3=e3/255,o3=(t3-e3)/(255*n3),s3=0;for(let e4=0;e4<=n3;e4++){let t4=Math.round(l2+e4*i3),n4=a3+e4*o3;for(let e5=s3;e5<=t4;e5++)r3[e5]=n4;s3=t4+1}for(let e4=s3;e4<256;e4++)r3[e4]=r3[s3-1];return r3.join(",")},p2=`g_${this.#r}_hcm_${e2}_filter`,m2=o2.filter=this.#m(p2);return this.#p(m2),this.#g(getSteps(d2[0],f2[0],5),getSteps(d2[1],f2[1],5),getSteps(d2[2],f2[2],5),m2),o2.url=this.#d(p2),o2.url}destroy(e2=!1){e2&&this.#a?.size||(this.#n?.parentNode.parentNode.remove(),this.#n=null,this.#t?.clear(),this.#t=null,this.#a?.clear(),this.#a=null,this.#o=0)}#f(e2){let t2=this.#i.createElementNS(Co,"feColorMatrix");t2.setAttribute("type","matrix"),t2.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"),e2.append(t2)}#p(e2){let t2=this.#i.createElementNS(Co,"feColorMatrix");t2.setAttribute("type","matrix"),t2.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"),e2.append(t2)}#m(e2){let t2=this.#i.createElementNS(Co,"filter");return t2.setAttribute("color-interpolation-filters","sRGB"),t2.setAttribute("id",e2),this.#l.append(t2),t2}#h(e2,t2,n2){let r2=this.#i.createElementNS(Co,t2);r2.setAttribute("type","discrete"),r2.setAttribute("tableValues",n2),e2.append(r2)}#g(e2,t2,n2,r2){let i2=this.#i.createElementNS(Co,"feComponentTransfer");r2.append(i2),this.#h(i2,"feFuncR",e2),this.#h(i2,"feFuncG",t2),this.#h(i2,"feFuncB",n2)}#_(e2,t2){let n2=this.#i.createElementNS(Co,"feComponentTransfer");t2.append(n2),this.#h(n2,"feFuncA",e2)}#v(e2){return this.#l.style.color=e2,getRGB(getComputedStyle(this.#l).getPropertyValue("color"))}#y(e2){return this.#l.style.color=e2,getRGBA(getComputedStyle(this.#l).getPropertyValue("color"))}#b(e2){let[t2,n2,r2,i2]=this.#y(e2);if(i2===1)return[t2,n2,r2];let[a2,o2,s2]=this.#v("Canvas");return[blend(t2,a2,i2),blend(n2,o2,i2),blend(r2,s2,i2)]}};function blend(e2,t2,n2){return Math.round(n2*e2+(1-n2)*t2)}async function node_utils_fetchData(e2){let t2=await process.getBuiltinModule("fs/promises").readFile(e2);return new Uint8Array(t2)}var NodeFilterFactory=class extends BaseFilterFactory{},NodeCanvasFactory=class extends BaseCanvasFactory{_createCanvas(e2,t2){return process.getBuiltinModule("module").createRequire(import.meta.url),new Proxy({},{get(e3,t3){let n2=globalThis[Symbol.for("unpdf.canvasModule")];return n2?n2[t3]:()=>{throw Error("@napi-rs/canvas is not available in this environment")}}}).createCanvas(e2,t2)}},NodeBinaryDataFactory=class extends BaseBinaryDataFactory{async _fetch(e2,t2){return node_utils_fetchData(e2)}};function convertBlackAndWhiteToRGBA({src:e2,srcPos:t2=0,dest:n2,width:r2,height:i2,nonBlackColor:a2=4294967295,inverseDecode:o2=!1}){let s2=FeatureTest.isLittleEndian?4278190080:255,[c2,l2]=o2?[a2,s2]:[s2,a2],u2=r2>>3,d2=r2&7,f2=c2^l2,p2=e2.length;n2=new Uint32Array(n2.buffer);let m2=0;for(let r3=0;r3<i2;++r3){for(let r5=t2+u2;t2<r5;++t2,m2+=8){let r6=e2[t2];n2[m2]=c2^-(r6>>7&1)&f2,n2[m2+1]=c2^-(r6>>6&1)&f2,n2[m2+2]=c2^-(r6>>5&1)&f2,n2[m2+3]=c2^-(r6>>4&1)&f2,n2[m2+4]=c2^-(r6>>3&1)&f2,n2[m2+5]=c2^-(r6>>2&1)&f2,n2[m2+6]=c2^-(r6>>1&1)&f2,n2[m2+7]=c2^-(r6&1)&f2}if(d2===0)continue;let r4=t2<p2?e2[t2++]:255;for(let e3=0;e3<d2;++e3,++m2)n2[m2]=c2^-(r4>>7-e3&1)&f2}return{srcPos:t2,destPos:m2}}function convertRGBToRGBA({src:e2,srcPos:t2=0,dest:n2,destPos:r2=0,width:i2,height:a2}){let o2=0,s2=i2*a2*3,c2=s2>>2,l2=new Uint32Array(e2.buffer,t2,c2),u2=FeatureTest.isLittleEndian?4278190080:255;if(FeatureTest.isLittleEndian){for(;o2<c2-2;o2+=3,r2+=4){let e3=l2[o2],t3=l2[o2+1],i3=l2[o2+2];n2[r2]=e3|u2,n2[r2+1]=e3>>>24|t3<<8|u2,n2[r2+2]=t3>>>16|i3<<16|u2,n2[r2+3]=i3>>>8|u2}for(let i3=o2*4,a3=t2+s2;i3<a3;i3+=3)n2[r2++]=e2[i3]|e2[i3+1]<<8|e2[i3+2]<<16|u2}else{for(;o2<c2-2;o2+=3,r2+=4){let e3=l2[o2],t3=l2[o2+1],i3=l2[o2+2];n2[r2]=e3|u2,n2[r2+1]=e3<<24|t3>>>8|u2,n2[r2+2]=t3<<16|i3>>>16|u2,n2[r2+3]=i3<<8|u2}for(let i3=o2*4,a3=t2+s2;i3<a3;i3+=3)n2[r2++]=e2[i3]<<24|e2[i3+1]<<16|e2[i3+2]<<8|u2}return{srcPos:t2+s2,destPos:r2}}var WebGPU=class{#e=null;#t=null;#n=null;#r=null;async#i(){if(!globalThis.navigator?.gpu)return!1;try{let e2=await navigator.gpu.requestAdapter();return e2?(this.#r=navigator.gpu.getPreferredCanvasFormat(),this.#t=await e2.requestDevice(),!0):!1}catch{return!1}}init(){return this.#e||=this.#i()}get isReady(){return this.#t!==null}loadMeshShader(){if(!this.#t||this.#n)return;let e2=this.#t.createShaderModule({code:`
|
|
55
|
+
struct Uniforms {
|
|
56
|
+
offsetX : f32,
|
|
57
|
+
offsetY : f32,
|
|
58
|
+
scaleX : f32,
|
|
59
|
+
scaleY : f32,
|
|
60
|
+
paddedWidth : f32,
|
|
61
|
+
paddedHeight : f32,
|
|
62
|
+
borderSize : f32,
|
|
63
|
+
_pad : f32,
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
@group(0) @binding(0) var<uniform> u : Uniforms;
|
|
67
|
+
|
|
68
|
+
struct VertexInput {
|
|
69
|
+
@location(0) position : vec2<f32>,
|
|
70
|
+
@location(1) color : vec4<f32>,
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
struct VertexOutput {
|
|
74
|
+
@builtin(position) position : vec4<f32>,
|
|
75
|
+
@location(0) color : vec3<f32>,
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
@vertex
|
|
79
|
+
fn vs_main(in : VertexInput) -> VertexOutput {
|
|
80
|
+
var out : VertexOutput;
|
|
81
|
+
let cx = (in.position.x + u.offsetX) * u.scaleX;
|
|
82
|
+
let cy = (in.position.y + u.offsetY) * u.scaleY;
|
|
83
|
+
out.position = vec4<f32>(
|
|
84
|
+
((cx + u.borderSize) / u.paddedWidth) * 2.0 - 1.0,
|
|
85
|
+
1.0 - ((cy + u.borderSize) / u.paddedHeight) * 2.0,
|
|
86
|
+
0.0,
|
|
87
|
+
1.0
|
|
88
|
+
);
|
|
89
|
+
out.color = in.color.rgb;
|
|
90
|
+
return out;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
@fragment
|
|
94
|
+
fn fs_main(in : VertexOutput) -> @location(0) vec4<f32> {
|
|
95
|
+
return vec4<f32>(in.color, 1.0);
|
|
96
|
+
}
|
|
97
|
+
`});this.#n=this.#t.createRenderPipeline({layout:"auto",vertex:{module:e2,entryPoint:"vs_main",buffers:[{arrayStride:8,attributes:[{shaderLocation:0,offset:0,format:"float32x2"}]},{arrayStride:4,attributes:[{shaderLocation:1,offset:0,format:"unorm8x4"}]}]},fragment:{module:e2,entryPoint:"fs_main",targets:[{format:this.#r}]},primitive:{topology:"triangle-list"}})}draw(e2,t2,n2,r2,i2,a2,o2,s2){this.loadMeshShader();let c2=this.#t,{offsetX:l2,offsetY:u2,scaleX:d2,scaleY:f2}=r2,p2=c2.createBuffer({size:Math.max(e2.byteLength,4),usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});e2.byteLength>0&&c2.queue.writeBuffer(p2,0,e2);let m2=c2.createBuffer({size:Math.max(t2.byteLength,4),usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});t2.byteLength>0&&c2.queue.writeBuffer(m2,0,t2);let h2=c2.createBuffer({size:32,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST});c2.queue.writeBuffer(h2,0,new Float32Array([l2,u2,d2,f2,a2,o2,s2,0]));let g2=c2.createBindGroup({layout:this.#n.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:h2}}]}),_2=new OffscreenCanvas(a2,o2),v2=_2.getContext("webgpu");v2.configure({device:c2,format:this.#r,alphaMode:i2?"opaque":"premultiplied"});let y2=i2?{r:i2[0]/255,g:i2[1]/255,b:i2[2]/255,a:1}:{r:0,g:0,b:0,a:0},b2=c2.createCommandEncoder(),x2=b2.beginRenderPass({colorAttachments:[{view:v2.getCurrentTexture().createView(),clearValue:y2,loadOp:"clear",storeOp:"store"}]});return n2>0&&(x2.setPipeline(this.#n),x2.setBindGroup(0,g2),x2.setVertexBuffer(0,p2),x2.setVertexBuffer(1,m2),x2.draw(n2)),x2.end(),c2.queue.submit([b2.finish()]),p2.destroy(),m2.destroy(),h2.destroy(),_2.transferToImageBitmap()}},vs=new WebGPU;function initGPU(){return vs.init()}function isGPUReady(){return vs.isReady}function loadMeshShader(){vs.loadMeshShader()}function drawMeshWithGPU(e2,t2,n2,r2,i2,a2,o2,s2){return vs.draw(e2,t2,n2,r2,i2,a2,o2,s2)}var ys={FILL:"Fill",STROKE:"Stroke",SHADING:"Shading"};function applyBoundingBox(e2,t2){if(!t2)return;let n2=t2[2]-t2[0],r2=t2[3]-t2[1],i2=new Path2D;i2.rect(t2[0],t2[1],n2,r2),e2.clip(i2)}var BaseShadingPattern=class{isModifyingCurrentTransform(){return!1}getPattern(){unreachable("Abstract method `getPattern` called.")}},RadialAxialShadingPattern=class extends BaseShadingPattern{constructor(e2){super(),this._type=e2[1],this._bbox=e2[2],this._colorStops=e2[3],this._p0=e2[4],this._p1=e2[5],this._r0=e2[6],this._r1=e2[7],this.matrix=null}isOriginBased(){return this._p0[0]===0&&this._p0[1]===0&&(!this.isRadial()||this._p1[0]===0&&this._p1[1]===0)}isRadial(){return this._type==="radial"}areConic(){if(!this.isRadial())return!1;let e2=Math.hypot(this._p0[0]-this._p1[0],this._p0[1]-this._p1[1]);return e2+this._r1>this._r0&&e2+this._r0>this._r1}_createGradient(e2,t2=null){let n2,r2=this._p0,i2=this._p1;if(t2&&(r2=r2.slice(),i2=i2.slice(),Util.applyTransform(r2,t2),Util.applyTransform(i2,t2)),this._type==="axial")n2=e2.createLinearGradient(r2[0],r2[1],i2[0],i2[1]);else if(this._type==="radial"){let a2=this._r0,o2=this._r1;if(t2){let e3=new Float32Array(2);Util.singularValueDecompose2dScale(t2,e3),a2*=e3[0],o2*=e3[0]}n2=e2.createRadialGradient(r2[0],r2[1],a2,i2[0],i2[1],o2)}for(let e3 of this._colorStops)n2.addColorStop(e3[0],e3[1]);return n2}_createReversedGradient(e2,t2=null){let n2=this._p1,r2=this._p0;t2&&(n2=n2.slice(),r2=r2.slice(),Util.applyTransform(n2,t2),Util.applyTransform(r2,t2));let i2=this._r1,a2=this._r0;if(t2){let e3=new Float32Array(2);Util.singularValueDecompose2dScale(t2,e3),i2*=e3[0],a2*=e3[0]}let o2=e2.createRadialGradient(n2[0],n2[1],i2,r2[0],r2[1],a2),s2=this._colorStops.map(([e3,t3])=>[1-e3,t3]).reverse();for(let[e3,t3]of s2)o2.addColorStop(e3,t3);return o2}getPattern(e2,t2,n2,r2){let i2;if(r2===ys.STROKE||r2===ys.FILL){if(this.isOriginBased()){let r3=Util.transform(n2,t2.baseTransform);this.matrix&&(r3=Util.transform(r3,this.matrix));let i3=.001,a3=Math.hypot(r3[0],r3[1]),o3=Math.hypot(r3[2],r3[3]),s3=(r3[0]*r3[2]+r3[1]*r3[3])/(a3*o3);if(Math.abs(s3)<i3)if(this.isRadial()){if(Math.abs(a3-o3)<i3)return this._createGradient(e2,r3)}else return this._createGradient(e2,r3)}let a2=t2.current.getClippedPathBoundingBox(r2,getCurrentTransform(e2))||[0,0,0,0],o2=Math.ceil(a2[2]-a2[0])||1,s2=Math.ceil(a2[3]-a2[1])||1,c2=t2.canvasFactory.create(o2,s2),l2=c2.context;l2.clearRect(0,0,l2.canvas.width,l2.canvas.height),l2.beginPath(),l2.rect(0,0,l2.canvas.width,l2.canvas.height),l2.translate(-a2[0],-a2[1]),n2=Util.transform(n2,[1,0,0,1,a2[0],a2[1]]),l2.transform(...t2.baseTransform),this.matrix&&l2.transform(...this.matrix),applyBoundingBox(l2,this._bbox),this.areConic()&&(l2.fillStyle=this._createReversedGradient(l2),l2.fill()),l2.fillStyle=this._createGradient(l2),l2.fill(),i2=e2.createPattern(c2.canvas,"no-repeat"),t2.canvasFactory.destroy(c2);let u2=new DOMMatrix(n2);i2.setTransform(u2)}else this.areConic()&&(e2.save(),applyBoundingBox(e2,this._bbox),e2.fillStyle=this._createReversedGradient(e2),e2.fillRect(-1e10,-1e10,2e10,2e10),e2.restore()),applyBoundingBox(e2,this._bbox),i2=this._createGradient(e2);return i2}};function drawTriangle(e2,t2,n2,r2,i2,a2,o2,s2){let c2=t2.coords,l2=t2.colors,u2=e2.data,d2=e2.width*4,f2;c2[n2*2+1]>c2[r2*2+1]&&(f2=n2,n2=r2,r2=f2,f2=a2,a2=o2,o2=f2),c2[r2*2+1]>c2[i2*2+1]&&(f2=r2,r2=i2,i2=f2,f2=o2,o2=s2,s2=f2),c2[n2*2+1]>c2[r2*2+1]&&(f2=n2,n2=r2,r2=f2,f2=a2,a2=o2,o2=f2);let p2=(c2[n2*2]+t2.offsetX)*t2.scaleX,m2=(c2[n2*2+1]+t2.offsetY)*t2.scaleY,h2=(c2[r2*2]+t2.offsetX)*t2.scaleX,g2=(c2[r2*2+1]+t2.offsetY)*t2.scaleY,_2=(c2[i2*2]+t2.offsetX)*t2.scaleX,v2=(c2[i2*2+1]+t2.offsetY)*t2.scaleY;if(m2>=v2)return;let y2=l2[a2*4],b2=l2[a2*4+1],x2=l2[a2*4+2],S2=l2[o2*4],C2=l2[o2*4+1],w2=l2[o2*4+2],T2=l2[s2*4],E2=l2[s2*4+1],D2=l2[s2*4+2],O2=Math.round(m2),k2=Math.round(v2),j2,ee2,M2,te2,ne2,re2,ie2,N2;for(let e3=O2;e3<=k2;e3++){if(e3<g2){let t4=e3<m2?0:(m2-e3)/(m2-g2);j2=p2-(p2-h2)*t4,ee2=y2-(y2-S2)*t4,M2=b2-(b2-C2)*t4,te2=x2-(x2-w2)*t4}else{let t4;t4=e3>v2?1:g2===v2?0:(g2-e3)/(g2-v2),j2=h2-(h2-_2)*t4,ee2=S2-(S2-T2)*t4,M2=C2-(C2-E2)*t4,te2=w2-(w2-D2)*t4}let t3;t3=e3<m2?0:e3>v2?1:(m2-e3)/(m2-v2),ne2=p2-(p2-_2)*t3,re2=y2-(y2-T2)*t3,ie2=b2-(b2-E2)*t3,N2=x2-(x2-D2)*t3;let n3=Math.round(Math.min(j2,ne2)),r3=Math.round(Math.max(j2,ne2)),i3=d2*e3+n3*4;for(let e4=n3;e4<=r3;e4++)t3=(j2-e4)/(j2-ne2),t3<0?t3=0:t3>1&&(t3=1),u2[i3++]=ee2-(ee2-re2)*t3|0,u2[i3++]=M2-(M2-ie2)*t3|0,u2[i3++]=te2-(te2-N2)*t3|0,u2[i3++]=255}}var MeshShadingPattern=class extends BaseShadingPattern{constructor(e2){super(),this._posData=e2[2],this._colData=e2[3],this._vertexCount=e2[4],this._bounds=e2[5],this._bbox=e2[6],this._background=e2[7],this.matrix=null,loadMeshShader()}_createMeshCanvas(e2,t2,n2){let r2=1.1,i2=3e3,a2=Math.floor(this._bounds[0]),o2=Math.floor(this._bounds[1]),s2=Math.ceil(this._bounds[2])-a2,c2=Math.ceil(this._bounds[3])-o2,l2=Math.min(Math.ceil(Math.abs(s2*e2[0]*r2)),i2)||1,u2=Math.min(Math.ceil(Math.abs(c2*e2[1]*r2)),i2)||1,d2=s2?s2/l2:1,f2=c2?c2/u2:1,p2={coords:this._posData,colors:this._colData,offsetX:-a2,offsetY:-o2,scaleX:1/d2,scaleY:1/f2},m2=l2+4,h2=u2+4,g2=n2.create(m2,h2);if(isGPUReady()&&this._vertexCount>48)g2.context.drawImage(drawMeshWithGPU(this._posData,this._colData,this._vertexCount,p2,t2,m2,h2,2),0,0);else{let e3=g2.context.createImageData(l2,u2);if(t2){let n3=e3.data;for(let e4=0,r3=n3.length;e4<r3;e4+=4)n3[e4]=t2[0],n3[e4+1]=t2[1],n3[e4+2]=t2[2],n3[e4+3]=255}for(let t3=0,n3=this._vertexCount;t3<n3;t3+=3)drawTriangle(e3,p2,t3,t3+1,t3+2,t3,t3+1,t3+2);g2.context.putImageData(e3,2,2)}return{canvas:g2.canvas,offsetX:a2-2*d2,offsetY:o2-2*f2,scaleX:d2,scaleY:f2}}isModifyingCurrentTransform(){return!0}getPattern(e2,t2,n2,r2){applyBoundingBox(e2,this._bbox);let i2=new Float32Array(2);if(r2===ys.SHADING)Util.singularValueDecompose2dScale(getCurrentTransform(e2),i2);else if(this.matrix){Util.singularValueDecompose2dScale(this.matrix,i2);let[e3,n3]=i2;Util.singularValueDecompose2dScale(t2.baseTransform,i2),i2[0]*=e3,i2[1]*=n3}else Util.singularValueDecompose2dScale(t2.baseTransform,i2);let a2=this._createMeshCanvas(i2,r2===ys.SHADING?null:this._background,t2.canvasFactory);r2!==ys.SHADING&&(e2.setTransform(...t2.baseTransform),this.matrix&&e2.transform(...this.matrix)),e2.translate(a2.offsetX,a2.offsetY),e2.scale(a2.scaleX,a2.scaleY);let o2=e2.createPattern(a2.canvas,"no-repeat");return t2.canvasFactory.destroy(a2),o2}},DummyShadingPattern=class extends BaseShadingPattern{getPattern(){return"hotpink"}};function getShadingPattern(e2){switch(e2[0]){case"RadialAxial":return new RadialAxialShadingPattern(e2);case"Mesh":return new MeshShadingPattern(e2);case"Dummy":return new DummyShadingPattern}throw Error(`Unknown IR type: ${e2[0]}`)}var bs={COLORED:1,UNCOLORED:2},xs=class TilingPattern{static MAX_PATTERN_SIZE=3e3;constructor(e2,t2,n2,r2){this.color=e2[1],this.operatorList=e2[2],this.matrix=e2[3],this.bbox=e2[4],this.xstep=e2[5],this.ystep=e2[6],this.paintType=e2[7],this.tilingType=e2[8],this.needsIsolation=e2[9]??!0,this.ctx=t2,this.canvasGraphicsFactory=n2,this.baseTransform=r2,this.patternBaseMatrix=this.matrix?Util.transform(r2,this.matrix):r2}canSkipPatternCanvas([e2,t2,n2,r2]){let[i2,a2,o2,s2]=this.bbox,c2=Math.abs(this.xstep),l2=Math.abs(this.ystep);if(e2>c2+1e-6||t2>l2+1e-6)return null;let u2=Math.floor((n2-o2)/c2)+1,d2=Math.ceil((n2+e2-i2)/c2)-1,f2=Math.floor((r2-s2)/l2)+1,p2=Math.ceil((r2+t2-a2)/l2)-1;return d2<=u2&&p2<=f2?[u2,f2]:null}updatePatternDims(e2,t2){let n2=Util.inverseTransform(this.patternBaseMatrix),r2=[e2[0],e2[1]],i2=[e2[2],e2[3]];Util.applyTransform(r2,n2),Util.applyTransform(i2,n2),t2[0]=Math.abs(i2[0]-r2[0]),t2[1]=Math.abs(i2[1]-r2[1]),t2[2]=Math.min(r2[0],i2[0]),t2[3]=Math.min(r2[1],i2[1])}_renderTileCanvas(e2,t2,n2,r2){let[i2,a2,o2,s2]=this.bbox,c2=e2.canvasFactory.create(n2.size,r2.size),l2=c2.context,u2=this.canvasGraphicsFactory.createCanvasGraphics(l2,t2);return u2.groupLevel=e2.groupLevel,this.setFillAndStrokeStyleToContext(u2,this.paintType,this.color),l2.translate(-n2.scale*i2,-r2.scale*a2),u2.transform(0,n2.scale,0,0,r2.scale,0,0),l2.save(),u2.dependencyTracker?.save(),this.clipBbox(u2,i2,a2,o2,s2),u2.baseTransform=getCurrentTransform(u2.ctx),u2.executeOperatorList(this.operatorList),u2.endDrawing(),u2.dependencyTracker?.restore(),l2.restore(),c2}_getCombinedScales(){let e2=new Float32Array(2);Util.singularValueDecompose2dScale(this.matrix,e2);let[t2,n2]=e2;return Util.singularValueDecompose2dScale(this.baseTransform,e2),[t2*e2[0],n2*e2[1]]}drawPattern(e2,t2,n2=!1,[r2,i2],a2){let[o2,s2,c2,l2]=this.bbox,u2=e2.dependencyTracker;if(u2&&(e2.dependencyTracker=new fs(u2,a2)),e2.save(),n2?e2.ctx.clip(t2,"evenodd"):e2.ctx.clip(t2),e2.ctx.setTransform(...this.patternBaseMatrix),e2.ctx.translate(r2*this.xstep,i2*this.ystep),this.needsIsolation||e2.ctx.globalAlpha!==1||e2.ctx.globalCompositeOperation!=="source-over"||e2.inSMaskMode){let t3=c2-o2,n3=l2-s2,[r3,i3]=this._getCombinedScales(),u3=this.getSizeAndScale(t3,this.ctx.canvas.width,r3),d2=this.getSizeAndScale(n3,this.ctx.canvas.height,i3),f2=this._renderTileCanvas(e2,a2,u3,d2);e2.ctx.drawImage(f2.canvas,o2,s2,t3,n3),e2.canvasFactory.destroy(f2)}else this.setFillAndStrokeStyleToContext(e2,this.paintType,this.color),this.clipBbox(e2,o2,s2,c2,l2),e2.baseTransformStack.push(e2.baseTransform),e2.baseTransform=getCurrentTransform(e2.ctx),e2.executeOperatorList(this.operatorList),e2.baseTransform=e2.baseTransformStack.pop();e2.restore(),u2&&(e2.dependencyTracker=u2)}createPatternCanvas(e2,t2){let[n2,r2,i2,a2]=this.bbox,o2=i2-n2,s2=a2-r2,{xstep:c2,ystep:l2}=this;c2=Math.abs(c2),l2=Math.abs(l2),info("TilingType: "+this.tilingType);let[u2,d2]=this._getCombinedScales(),f2=o2,p2=s2,m2=!1,h2=!1;Math.ceil(c2*u2)>=Math.ceil(o2*u2)?f2=c2:m2=!0,Math.ceil(l2*d2)>=Math.ceil(s2*d2)?p2=l2:h2=!0;let g2=this.getSizeAndScale(f2,this.ctx.canvas.width,u2),_2=this.getSizeAndScale(p2,this.ctx.canvas.height,d2),v2=this._renderTileCanvas(e2,t2,g2,_2);if(m2||h2){let t3=v2.canvas;m2&&(f2=c2),h2&&(p2=l2);let i3=this.getSizeAndScale(f2,this.ctx.canvas.width,u2),a3=this.getSizeAndScale(p2,this.ctx.canvas.height,d2),g3=i3.size,_3=a3.size,y2=e2.canvasFactory.create(g3,_3),b2=y2.context,x2=m2?Math.floor(o2/c2):0,S2=h2?Math.floor(s2/l2):0;for(let e3=0;e3<=x2;e3++)for(let n3=0;n3<=S2;n3++)b2.drawImage(t3,g3*e3,_3*n3,g3,_3,0,0,g3,_3);return e2.canvasFactory.destroy(v2),{canvas:y2.canvas,canvasEntry:y2,scaleX:i3.scale,scaleY:a3.scale,offsetX:n2,offsetY:r2}}return{canvas:v2.canvas,canvasEntry:v2,scaleX:g2.scale,scaleY:_2.scale,offsetX:n2,offsetY:r2}}getSizeAndScale(e2,t2,n2){let r2=Math.max(TilingPattern.MAX_PATTERN_SIZE,t2),i2=Math.ceil(e2*n2);return i2>=r2?i2=r2:n2=i2/e2,{scale:n2,size:i2}}clipBbox(e2,t2,n2,r2,i2){let a2=r2-t2,o2=i2-n2,s2=new Path2D;s2.rect(t2,n2,a2,o2),Util.axialAlignedBoundingBox([t2,n2,r2,i2],getCurrentTransform(e2.ctx),e2.current.minMax),e2.ctx.clip(s2),e2.current.updateClipFromPath()}setFillAndStrokeStyleToContext(e2,t2,n2){let r2=e2.ctx,i2=e2.current;switch(i2.patternFill=i2.patternStroke=!1,t2){case bs.COLORED:let{fillStyle:e3,strokeStyle:a2}=this.ctx;r2.fillStyle=i2.fillColor=e3,r2.strokeStyle=i2.strokeColor=a2;break;case bs.UNCOLORED:r2.fillStyle=r2.strokeStyle=n2,i2.fillColor=i2.strokeColor=n2;break;default:throw new FormatError(`Unsupported paint type: ${t2}`)}}isModifyingCurrentTransform(){return!1}getPattern(e2,t2,n2,r2,i2){let a2=r2===ys.SHADING?n2:Util.transform(n2,this.patternBaseMatrix),o2=this.createPatternCanvas(t2,i2),s2=new DOMMatrix(a2);s2=s2.translate(o2.offsetX,o2.offsetY),s2=s2.scale(1/o2.scaleX,1/o2.scaleY);let c2=e2.createPattern(o2.canvas,"repeat");return t2.canvasFactory.destroy(o2.canvasEntry),c2.setTransform(s2),c2}},Ss=new DOMMatrix,Cs=new Float32Array(2);function mirrorContextOperations(e2,t2){if(e2._removeMirroring)throw Error("Context is already forwarding operations.");let n2=new Map;for(let r2 of["save","restore","rotate","scale","translate","transform","setTransform","resetTransform","clip","moveTo","lineTo","bezierCurveTo","quadraticCurveTo","arc","arcTo","ellipse","rect","roundRect","closePath","beginPath"]){let i2=e2[r2];typeof i2=="function"&&typeof t2[r2]=="function"&&(n2.set(r2,i2),e2[r2]=function(...e3){return t2[r2](...e3),i2.apply(this,e3)})}e2._removeMirroring=()=>{for(let[t3,r2]of n2)e2[t3]=r2;delete e2._removeMirroring}}function drawImageAtIntegerCoords(e2,t2,n2,r2,i2,a2,o2,s2,c2,l2){let[u2,d2,f2,p2,m2,h2]=getCurrentTransform(e2);if(d2===0&&f2===0){let g3=o2*u2+m2,_3=Math.round(g3),v2=s2*p2+h2,y2=Math.round(v2),b2=(o2+c2)*u2+m2,x2=Math.abs(Math.round(b2)-_3)||1,S2=(s2+l2)*p2+h2,C2=Math.abs(Math.round(S2)-y2)||1;return e2.setTransform(Math.sign(u2),0,0,Math.sign(p2),_3,y2),e2.drawImage(t2,n2,r2,i2,a2,0,0,x2,C2),e2.setTransform(u2,d2,f2,p2,m2,h2),[x2,C2]}if(u2===0&&p2===0){let g3=s2*f2+m2,_3=Math.round(g3),v2=o2*d2+h2,y2=Math.round(v2),b2=(s2+l2)*f2+m2,x2=Math.abs(Math.round(b2)-_3)||1,S2=(o2+c2)*d2+h2,C2=Math.abs(Math.round(S2)-y2)||1;return e2.setTransform(0,Math.sign(d2),Math.sign(f2),0,_3,y2),e2.drawImage(t2,n2,r2,i2,a2,0,0,C2,x2),e2.setTransform(u2,d2,f2,p2,m2,h2),[C2,x2]}e2.drawImage(t2,n2,r2,i2,a2,o2,s2,c2,l2);let g2=Math.hypot(u2,d2),_2=Math.hypot(f2,p2);return[g2*c2,_2*l2]}var CanvasExtraState=class{alphaIsShape=!1;fontSize=0;fontSizeScale=1;textMatrix=null;textMatrixScale=1;fontMatrix=xo;leading=0;x=0;y=0;lineX=0;lineY=0;charSpacing=0;wordSpacing=0;textHScale=1;textRenderingMode=jo.FILL;textRise=0;fillColor="#000000";strokeColor="#000000";tilingPatternDims=null;patternFill=!1;patternStroke=!1;fillAlpha=1;strokeAlpha=1;lineWidth=1;activeSMask=null;transferMaps="none";minMax=bo.slice();constructor(e2,t2){this.clipBox=new Float32Array([0,0,e2,t2])}clone(){let e2=Object.create(this);return e2.clipBox=this.clipBox.slice(),e2.minMax=this.minMax.slice(),e2.tilingPatternDims=this.tilingPatternDims?.slice(),e2}getPathBoundingBox(e2=ys.FILL,t2=null){let n2=this.minMax.slice();if(e2===ys.STROKE){t2||unreachable("Stroke bounding box must include transform."),Util.singularValueDecompose2dScale(t2,Cs);let e3=Cs[0]*this.lineWidth/2,r2=Cs[1]*this.lineWidth/2;n2[0]-=e3,n2[1]-=r2,n2[2]+=e3,n2[3]+=r2}return n2}updateClipFromPath(){let e2=Util.intersect(this.clipBox,this.getPathBoundingBox());this.startNewPathAndClipBox(e2||[0,0,0,0])}isEmptyClip(){return this.minMax[0]===1/0}startNewPathAndClipBox(e2){this.clipBox.set(e2,0),this.minMax.set(bo,0)}getClippedPathBoundingBox(e2=ys.FILL,t2=null){return Util.intersect(this.clipBox,this.getPathBoundingBox(e2,t2))}};function putBinaryImageData(e2,t2){let{width:n2,height:r2,kind:i2}=t2,a2=r2%16,o2=(r2-a2)/16,s2=a2===0?o2:o2+1,c2=e2.createImageData(n2,16),l2=0,u2=t2.data,d2=c2.data,f2;if(i2===Mo.GRAYSCALE_1BPP)for(f2=0;f2<s2;f2++)({srcPos:l2}=convertBlackAndWhiteToRGBA({src:u2,srcPos:l2,dest:d2,width:n2,height:f2<o2?16:a2})),e2.putImageData(c2,0,f2*16);else if(i2===Mo.RGBA_32BPP){let t3=0,r3=n2*16*4;for(f2=0;f2<o2;f2++)d2.set(u2.subarray(l2,l2+r3)),l2+=r3,e2.putImageData(c2,0,t3),t3+=16;f2<s2&&(r3=n2*a2*4,d2.set(u2.subarray(l2,l2+r3)),e2.putImageData(c2,0,t3))}else if(i2===Mo.RGB_24BPP)for(f2=0;f2<s2;f2++)({srcPos:l2}=convertRGBToRGBA({src:u2,srcPos:l2,dest:new Uint32Array(d2.buffer),width:n2,height:f2<o2?16:a2})),e2.putImageData(c2,0,f2*16);else throw Error(`bad image kind: ${i2}`)}function putBinaryImageMask(e2,t2){if(t2.bitmap){e2.drawImage(t2.bitmap,0,0);return}let{width:n2,height:r2}=t2,i2=r2%16,a2=(r2-i2)/16,o2=i2===0?a2:a2+1,s2=e2.createImageData(n2,16),c2=0,l2=t2.data,u2=s2.data;for(let t3=0;t3<o2;t3++)({srcPos:c2}=convertBlackAndWhiteToRGBA({src:l2,srcPos:c2,dest:u2,width:n2,height:t3<a2?16:i2,nonBlackColor:0})),e2.putImageData(s2,0,t3*16)}function copyCtxState(e2,t2){for(let n2 of["strokeStyle","fillStyle","fillRule","globalAlpha","lineWidth","lineCap","lineJoin","miterLimit","globalCompositeOperation","font","filter"])e2[n2]!==void 0&&(t2[n2]=e2[n2]);e2.setLineDash!==void 0&&(t2.setLineDash(e2.getLineDash()),t2.lineDashOffset=e2.lineDashOffset)}function resetCtxToDefault(e2){e2.strokeStyle=e2.fillStyle="#000000",e2.fillRule="nonzero",e2.globalAlpha=1,e2.lineWidth=1,e2.lineCap="butt",e2.lineJoin="miter",e2.miterLimit=10,e2.globalCompositeOperation="source-over",e2.font="10px sans-serif",e2.setLineDash!==void 0&&(e2.setLineDash([]),e2.lineDashOffset=0);let{filter:t2}=e2;t2!=="none"&&t2!==""&&(e2.filter="none")}function getImageSmoothingEnabled(e2,t2){if(t2)return!0;Util.singularValueDecompose2dScale(e2,Cs);let n2=Math.fround(Go.pixelRatio*PixelsPerInch.PDF_TO_CSS_UNITS);return Cs[0]<=n2&&Cs[1]<=n2}var ws=["butt","round","square"],Ts=["miter","round","bevel"],Es={},Ds={},Os=class CanvasGraphics{#e=0;#t=0;#n=null;#r=null;#i=null;#a=null;#o=1;#s;#c=null;#l=[];constructor(e2,t2,n2,r2,i2,{optionalContentConfig:a2,markedContentStack:o2=null},s2,c2,l2,u2){this.ctx=e2,this.current=new CanvasExtraState(this.ctx.canvas.width,this.ctx.canvas.height),this.stateStack=[],this.pendingClip=null,this.pendingEOFill=!1,this.commonObjs=t2,this.objs=n2,this.canvasFactory=r2,this.filterFactory=i2,this.groupStack=[],this.baseTransform=null,this.baseTransformStack=[],this.groupLevel=0,this.smaskStack=[],this.tempSMask=null,this.smaskGroupCanvases=[],this.smaskPreparedEntry=null,this.smaskPreparedFor=null,this.smaskPreparedOffsetX=0,this.smaskPreparedOffsetY=0,this.smaskPreparedOOBAlpha=null,this.suspendedCtx=null,this.contentVisible=!0,this.markedContentStack=o2||[],this.optionalContentConfig=a2,this.cachedPatterns=new Map,this.annotationCanvasMap=s2,this.viewportScale=1,this.outputScaleX=1,this.outputScaleY=1,this.pageColors=c2,this._cachedScaleForStroking=[-1,0],this._cachedGetSinglePixelWidth=null,this._cachedBitmapsMap=new Map,this.dependencyTracker=l2??null,this.imagesTracker=u2??null}getObject(e2,t2,n2=null){return typeof t2=="string"?(this.dependencyTracker?.recordNamedDependency(e2,t2),t2.startsWith("g_")?this.commonObjs.get(t2):this.objs.get(t2)):n2}beginDrawing({transform:e2,viewport:t2,transparency:n2=!1,background:r2=null}){let i2=this.ctx.canvas.width,a2=this.ctx.canvas.height,o2=this.ctx.fillStyle;if(this.ctx.fillStyle=r2||"#ffffff",this.ctx.fillRect(0,0,i2,a2),this.ctx.fillStyle=o2,n2){let e3=this.transparentCanvasEntry=this.canvasFactory.create(i2,a2);this.compositeCtx=this.ctx,{canvas:this.transparentCanvas,context:this.ctx}=e3,this.ctx.save(),this.ctx.transform(...getCurrentTransform(this.compositeCtx))}this.ctx.save(),resetCtxToDefault(this.ctx),e2&&(this.ctx.transform(...e2),this.outputScaleX=e2[0],this.outputScaleY=e2[3]),this.ctx.transform(...t2.transform),this.viewportScale=t2.scale,this.baseTransform=getCurrentTransform(this.ctx)}executeOperatorList(e2,t2,n2,r2,i2){let a2=e2.argsArray,o2=e2.fnArray,s2=t2||0,c2=a2.length;if(c2===s2)return s2;let l2=c2-s2>10&&typeof n2=="function",u2=l2?Date.now()+15:0,d2=0,f2=this.commonObjs,p2=this.objs,m2,h2;for(;;){if(r2!==void 0){if(s2===r2.nextBreakPoint)return r2.breakIt(s2,n2),s2;if(r2.shouldSkip(s2)){if(++s2===c2)return s2;continue}}if(!i2||i2(s2))if(m2=o2[s2],h2=a2[s2]??null,m2!==Io.dependency)h2===null?this[m2](s2):this[m2](s2,...h2);else for(let e3 of h2){this.dependencyTracker?.recordNamedData(e3,s2);let t3=e3.startsWith("g_")?f2:p2;if(!t3.has(e3))return t3.get(e3,n2),s2}if(s2++,s2===c2)return s2;if(l2&&++d2>10){if(Date.now()>u2)return n2(),s2;d2=0}}}#u(){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(){this.#u();for(let e2 of this.smaskGroupCanvases)this.canvasFactory.destroy(e2);this.smaskGroupCanvases.length=0,this._clearPreparedSMask(),this.tempSMask=null,this.smaskStack.length=0;for(let e2 of this.#l)this.#y(e2);this.#l.length=0,this.#n=null,this.#r=null,this.#i=null,this.#a=null,this.#o=1,this.#c=null,this.#t=0,this.#e=0,this.cachedPatterns.clear();for(let e2 of this._cachedBitmapsMap.values()){for(let t2 of e2.values())typeof HTMLCanvasElement<"u"&&t2 instanceof HTMLCanvasElement&&(t2.width=t2.height=0);e2.clear()}this._cachedBitmapsMap.clear(),this.#d()}#d(){if(this.pageColors){let e2=this.filterFactory.addHCMFilter(this.pageColors.foreground,this.pageColors.background);if(e2!=="none"){let t2=this.ctx.filter;this.ctx.filter=e2,this.ctx.drawImage(this.ctx.canvas,0,0),this.ctx.filter=t2}}}_scaleImage(e2,t2){let n2=e2.width??e2.displayWidth,r2=e2.height??e2.displayHeight,i2=Math.max(Math.hypot(t2[0],t2[1]),1),a2=Math.max(Math.hypot(t2[2],t2[3]),1),o2=[],s2=i2,c2=a2,l2=n2,u2=r2;for(;s2>2&&l2>1||c2>2&&u2>1;){let e3=l2,t3=u2;s2>2&&l2>1&&(e3=Math.ceil(l2/2),s2/=l2/e3),c2>2&&u2>1&&(t3=Math.ceil(u2/2),c2/=u2/t3),o2.push({newWidth:e3,newHeight:t3}),l2=e3,u2=t3}if(o2.length===0)return{img:e2,paintWidth:n2,paintHeight:r2,tmpCanvas:null};if(o2.length===1){let{newWidth:t3,newHeight:i3}=o2[0],a3=this.canvasFactory.create(t3,i3);return a3.context.drawImage(e2,0,0,n2,r2,0,0,t3,i3),{img:a3.canvas,paintWidth:t3,paintHeight:i3,tmpCanvas:a3}}let d2=this.canvasFactory.create(1,1),f2=this.canvasFactory.create(1,1),p2=n2,m2=r2,h2=e2;for(let{newWidth:e3,newHeight:t3}of o2)this.canvasFactory.reset(f2,e3,t3),f2.context.drawImage(h2,0,0,p2,m2,0,0,e3,t3),[d2,f2]=[f2,d2],h2=d2.canvas,p2=e3,m2=t3;return this.canvasFactory.destroy(f2),{img:d2.canvas,paintWidth:p2,paintHeight:m2,tmpCanvas:d2}}_createMaskCanvas(e2,t2){let n2=this.ctx,{width:r2,height:i2}=t2,a2=this.current.fillColor,o2=this.current.patternFill,s2=getCurrentTransform(n2),c2,l2,u2,d2;if((t2.bitmap||t2.data)&&t2.count>1){let n3=t2.bitmap||t2.data.buffer;l2=JSON.stringify(o2?s2:[s2.slice(0,4),a2]),c2=this._cachedBitmapsMap.getOrInsertComputed(n3,makeMap);let r3=c2.get(l2);if(r3&&!o2){let t3=Math.round(Math.min(s2[0],s2[2])+s2[4]),n4=Math.round(Math.min(s2[1],s2[3])+s2[5]);return this.dependencyTracker?.recordDependencies(e2,ps.transformAndFill),{canvas:r3,offsetX:t3,offsetY:n4}}u2=r3}u2||(d2=this.canvasFactory.create(r2,i2),putBinaryImageMask(d2.context,t2));let f2=Util.transform(s2,[1/r2,0,0,-1/i2,0,0]);f2=Util.transform(f2,[1,0,0,1,0,-i2]);let p2=bo.slice();Util.axialAlignedBoundingBox([0,0,r2,i2],f2,p2);let[m2,h2,g2,_2]=p2,v2=Math.round(g2-m2)||1,y2=Math.round(_2-h2)||1,b2=this.canvasFactory.create(v2,y2),x2=b2.context,S2=m2,C2=h2;x2.translate(-S2,-C2),x2.transform(...f2);let w2=null;if(!u2){let e3=this._scaleImage(d2.canvas,getCurrentTransformInverse(x2));u2=e3.img,w2=e3.tmpCanvas,u2!==d2.canvas&&(this.canvasFactory.destroy(d2),d2=null),c2&&o2&&(c2.set(l2,u2),w2=null,d2=null)}x2.imageSmoothingEnabled=getImageSmoothingEnabled(getCurrentTransform(x2),t2.interpolate),drawImageAtIntegerCoords(x2,u2,0,0,u2.width,u2.height,0,0,r2,i2),w2&&this.canvasFactory.destroy(w2),d2&&this.canvasFactory.destroy(d2),x2.globalCompositeOperation="source-in";let T2=Util.transform(getCurrentTransformInverse(x2),[1,0,0,1,-S2,-C2]);return x2.fillStyle=o2?a2.getPattern(n2,this,T2,ys.FILL,e2):a2,x2.fillRect(0,0,r2,i2),c2&&!o2&&c2.set(l2,b2.canvas),this.dependencyTracker?.recordDependencies(e2,ps.transformAndFill),{canvas:b2.canvas,canvasEntry:c2&&!o2?null:b2,offsetX:Math.round(S2),offsetY:Math.round(C2)}}setLineWidth(e2,t2){this.dependencyTracker?.recordSimpleData("lineWidth",e2),t2!==this.current.lineWidth&&(this._cachedScaleForStroking[0]=-1),this.current.lineWidth=t2,this.ctx.lineWidth=t2}setLineCap(e2,t2){this.dependencyTracker?.recordSimpleData("lineCap",e2),this.ctx.lineCap=ws[t2]}setLineJoin(e2,t2){this.dependencyTracker?.recordSimpleData("lineJoin",e2),this.ctx.lineJoin=Ts[t2]}setMiterLimit(e2,t2){this.dependencyTracker?.recordSimpleData("miterLimit",e2),this.ctx.miterLimit=t2}setDash(e2,t2,n2){this.dependencyTracker?.recordSimpleData("dash",e2);let r2=this.ctx;r2.setLineDash!==void 0&&(r2.setLineDash(t2),r2.lineDashOffset=n2)}setRenderingIntent(e2,t2){}setFlatness(e2,t2){}setGState(e2,t2){for(let[n2,r2]of t2)switch(n2){case"LW":this.setLineWidth(e2,r2);break;case"LC":this.setLineCap(e2,r2);break;case"LJ":this.setLineJoin(e2,r2);break;case"ML":this.setMiterLimit(e2,r2);break;case"D":this.setDash(e2,r2[0],r2[1]);break;case"RI":this.setRenderingIntent(e2,r2);break;case"FL":this.setFlatness(e2,r2);break;case"Font":this.setFont(e2,r2[0],r2[1]);break;case"CA":this.dependencyTracker?.recordSimpleData("strokeAlpha",e2),this.current.strokeAlpha=r2;break;case"ca":this.dependencyTracker?.recordSimpleData("fillAlpha",e2),this.ctx.globalAlpha=this.current.fillAlpha=r2;break;case"BM":this.dependencyTracker?.recordSimpleData("globalCompositeOperation",e2),this.ctx.globalCompositeOperation=r2;break;case"SMask":this.dependencyTracker?.recordSimpleData("SMask",e2),this.current.activeSMask=r2?this.tempSMask:null,this.current.activeSMask&&(this.current.activeSMask.blendMode=this.ctx.globalCompositeOperation),this.tempSMask=null,this.checkSMaskState(e2);break;case"TR":this.dependencyTracker?.recordSimpleData("filter",e2),this.ctx.filter=this.current.transferMaps=this.filterFactory.addFilter(r2);break}}get inSMaskMode(){return!!this.suspendedCtx}_clearPreparedSMask(){this.smaskPreparedEntry&&=(this.canvasFactory.destroy(this.smaskPreparedEntry),null),this.smaskPreparedFor=null,this.smaskPreparedOffsetX=0,this.smaskPreparedOffsetY=0,this.smaskPreparedOOBAlpha=null}_ensurePreparedSMask(e2){e2!==this.smaskPreparedFor&&(this._clearPreparedSMask(),this._prepareSMaskCanvas(e2))}checkSMaskState(e2){let t2=this.inSMaskMode;this.current.activeSMask&&!t2?this.beginSMaskMode(e2):!this.current.activeSMask&&t2?this.endSMaskMode():this.current.activeSMask&&t2&&this._ensurePreparedSMask(this.current.activeSMask)}_prepareSMaskCanvas(e2){let{canvas:t2,subtype:n2,backdrop:r2,transferMap:i2}=e2,a2=n2==="Luminosity"||n2==="Alpha"&&i2;if(!a2&&!(n2==="Luminosity"&&r2)){this.smaskPreparedFor=e2;return}let o2;if(n2==="Luminosity"&&r2){let[e3,t3,n3]=getRGBA(r2),a3=Math.round(.3*e3+.59*t3+.11*n3);o2=i2?.[a3]??a3}else o2=i2?.[0]??0;let{width:s2,height:c2}=this.ctx.canvas,l2=t2.width*t2.height,u2=s2*c2<4*l2,d2=a2?{url:n2==="Alpha"?this.filterFactory.addAlphaFilter(i2):this.filterFactory.addLuminosityFilter(i2),subtype:n2,transferMap:i2}:null,f2=n2==="Luminosity"?r2:null,p2,m2,h2;u2?(p2=this._bakeSMaskCanvas(t2,e2.offsetX,e2.offsetY,s2,c2,f2,d2),m2=0,h2=0):(p2=this._bakeSMaskCanvas(t2,0,0,t2.width,t2.height,f2,d2),m2=e2.offsetX,h2=e2.offsetY),this.smaskPreparedEntry=p2,this.smaskPreparedFor=e2,this.smaskPreparedOffsetX=m2,this.smaskPreparedOffsetY=h2,this.smaskPreparedOOBAlpha=!u2&&o2!==0?o2:null}_bakeSMaskCanvas(e2,t2,n2,r2,i2,a2,o2){!a2&&!o2&&unreachable("_bakeSMaskCanvas with neither backdrop nor filter");let s2=this.canvasFactory.create(r2,i2),c2=s2.context;if(c2.drawImage(e2,t2,n2),a2&&(c2.globalCompositeOperation="destination-atop",c2.fillStyle=a2,c2.fillRect(0,0,r2,i2)),!o2)return s2;let l2=this.canvasFactory.create(r2,i2),u2=l2.context;u2.filter=o2.url;let d2=FeatureTest.isCanvasFilterSupported&&u2.filter!=="none"&&u2.filter!=="";if(u2.drawImage(s2.canvas,0,0),FeatureTest.isCanvasFilterSupported&&(u2.filter="none"),!d2){let e3=u2.getImageData(0,0,r2,i2),{data:t3}=e3,{transferMap:n3}=o2;if(o2.subtype==="Luminosity")for(let e4=0,r3=t3.length;e4<r3;e4+=4){let r4=.3*t3[e4]+.59*t3[e4+1]+.11*t3[e4+2]+.5|0;t3[e4]=t3[e4+1]=t3[e4+2]=0,t3[e4+3]=n3?.[r4]??r4}else for(let e4=3,r3=t3.length;e4<r3;e4+=4)t3[e4]=n3[t3[e4]];u2.putImageData(e3,0,0)}return this.canvasFactory.destroy(s2),l2}beginSMaskMode(e2){if(this.inSMaskMode)throw Error("beginSMaskMode called while already in smask mode");let{width:t2,height:n2}=this.ctx.canvas,r2=this.canvasFactory.create(t2,n2);this.smaskScratchCanvas=r2,this.suspendedCtx=this.ctx;let i2=this.ctx=r2.context;i2.setTransform(this.suspendedCtx.getTransform()),copyCtxState(this.suspendedCtx,i2),mirrorContextOperations(i2,this.suspendedCtx),this._ensurePreparedSMask(this.current.activeSMask),this.setGState(e2,[["BM","source-over"]])}endSMaskMode(){if(!this.inSMaskMode)throw Error("endSMaskMode called while not in smask mode");this.ctx._removeMirroring(),copyCtxState(this.ctx,this.suspendedCtx),this.ctx=this.suspendedCtx,this.suspendedCtx=null,this.canvasFactory.destroy(this.smaskScratchCanvas),this.smaskScratchCanvas=null,this._clearPreparedSMask()}#f(e2,t2=null,n2=1){let{width:r2,height:i2}=e2,a2=t2??this.canvasFactory.create(r2,i2),o2=a2.context;n2=Math.round(n2*255)/255;let s2=n2<1;s2&&this.#s===void 0&&(this.#s=FeatureTest.isCanvasFilterSupported?new Map:"none");let c2="none";if(s2&&this.#s instanceof Map&&(c2=this.#s.getOrInsertComputed(n2,()=>this.filterFactory.addKnockoutFilter(n2))),!s2||c2!=="none")return t2&&(o2.save(),o2.setTransform(1,0,0,1,0,0),o2.clearRect(0,0,r2,i2),o2.restore()),o2.filter=c2,o2.drawImage(e2,0,0),o2.filter="none",a2;let l2=e2.getContext("2d",{willReadFrequently:!0}).getImageData(0,0,r2,i2),u2=o2.createImageData(r2,i2),d2=l2.data,f2=u2.data,p2=n2>0?1/n2:1e6;for(let e3=3,t3=d2.length;e3<t3;e3+=4)f2[e3]=Math.min(Math.round(d2[e3]*p2),255);return o2.putImageData(u2,0,0),a2}#p(e2,t2,n2,r2){let i2=e2?.[t2]??null;if(i2&&(i2.canvas.width!==n2||i2.canvas.height!==r2)&&(this.canvasFactory.destroy(i2),i2=null),!i2)return i2=this.canvasFactory.create(n2,r2),e2&&(e2[t2]=i2),i2;let a2=i2.context;return a2.save(),a2.setTransform(1,0,0,1,0,0),a2.clearRect(0,0,n2,r2),a2.restore(),i2}#m(e2,t2,n2={}){let{backdropCanvas:r2=null,destTransform:i2=[1,0,0,1,0,0],backdropOffset:a2=[0,0],reuseMaskEntry:o2=null,poolMeta:s2=null,sourceAlpha:c2=1,sourceFilter:l2="none",knockoutAlpha:u2=1}=n2,{width:d2,height:f2}=t2,p2=this.#f(t2,o2,u2),m2=e2.globalCompositeOperation;if(e2.save(),e2.setTransform(...i2),e2.globalAlpha=1,FeatureTest.isCanvasFilterSupported&&(e2.filter="none"),e2.globalCompositeOperation="destination-out",e2.drawImage(p2.canvas,0,0),r2){let[t3,n3]=a2,i3=this.#p(s2,"knockoutBackdropEntry",d2,f2),o3=i3.context;o3.drawImage(r2,t3,n3,d2,f2,0,0,d2,f2),o3.globalCompositeOperation="destination-in",o3.drawImage(p2.canvas,0,0),o3.globalCompositeOperation="source-over",e2.globalCompositeOperation="destination-over",e2.drawImage(i3.canvas,0,0),s2||this.canvasFactory.destroy(i3)}e2.globalCompositeOperation=m2,e2.globalAlpha=c2,FeatureTest.isCanvasFilterSupported&&(e2.filter=l2??"none"),e2.drawImage(t2,0,0),e2.restore(),o2||this.canvasFactory.destroy(p2)}#h(e2=1){if(this.#e===0||this.#t>0||!this.contentVisible)return!1;this.#t++,this.#o=e2;let t2=this.#l.at(-1),{canvas:n2}=this.ctx,r2=this.#p(t2,"knockoutTempEntry",n2.width,n2.height);this.#n=r2;let i2=r2.context;return i2.save(),i2.setTransform(this.ctx.getTransform()),copyCtxState(this.ctx,i2),this.#a=i2.globalCompositeOperation,i2.globalCompositeOperation="source-over",mirrorContextOperations(i2,this.ctx),this.#c=t2,this.#r=this.ctx,this.#i=this.suspendedCtx,this.ctx=i2,this.inSMaskMode&&(this.suspendedCtx=i2),!0}#g(e2){if(!e2)return;let t2=this.#n,n2=this.#r,r2=this.#i,i2=t2.context;this.#n=null,this.#r=null,this.#i=null,this.inSMaskMode&&this.suspendedCtx===i2&&this.ctx!==i2&&this.endSMaskMode(),this.inSMaskMode&&(this.suspendedCtx=r2),this.ctx._removeMirroring(),this.ctx.globalCompositeOperation=this.#a,this.#a=null,copyCtxState(this.ctx,n2),this.ctx=n2;let a2=this.#c;this.#c=null;let o2=this.#o;this.#o=1;try{this.#m(r2??n2,t2.canvas,{backdropCanvas:a2?.backdropCtx?.canvas??null,backdropOffset:a2?.backdropCtx?[a2.offsetX,a2.offsetY]:[0,0],reuseMaskEntry:a2?.knockoutMaskEntry??null,poolMeta:a2,knockoutAlpha:o2})}finally{i2.restore(),this.#t--,a2||this.canvasFactory.destroy(t2)}}compose(e2){if(!this.current.activeSMask)return;e2=e2?[Math.floor(e2[0]),Math.floor(e2[1]),Math.ceil(e2[2]),Math.ceil(e2[3])]:[0,0,this.ctx.canvas.width,this.ctx.canvas.height];let t2=this.current.activeSMask,n2=this.suspendedCtx,r2=this.#t>0&&n2===this.ctx;this.composeSMask(r2?null:n2,t2,this.ctx,e2),!r2&&(this.ctx.save(),this.ctx.setTransform(1,0,0,1,0,0),this.ctx.clearRect(0,0,this.ctx.canvas.width,this.ctx.canvas.height),this.ctx.restore())}composeSMask(e2,t2,n2,r2){let i2=r2[0],a2=r2[1],o2=r2[2]-i2,s2=r2[3]-a2;if(o2===0||s2===0)return;let c2=this.smaskPreparedEntry;if(c2){let e3=i2,r3=a2,l2=o2,u2=s2,d2=this.smaskPreparedOOBAlpha,f2=d2!==null;if(f2){e3=Math.max(i2,t2.offsetX),r3=Math.max(a2,t2.offsetY);let n3=Math.min(i2+o2,t2.offsetX+t2.canvas.width),c3=Math.min(a2+s2,t2.offsetY+t2.canvas.height);l2=n3-e3,u2=c3-r3}if(l2>0&&u2>0){let t3=e3-this.smaskPreparedOffsetX,i3=r3-this.smaskPreparedOffsetY;n2.save(),n2.globalAlpha=1,n2.setTransform(1,0,0,1,0,0);let a3=new Path2D;a3.rect(e3,r3,l2,u2),n2.clip(a3),n2.globalCompositeOperation="destination-in",n2.drawImage(c2.canvas,t3,i3,l2,u2,e3,r3,l2,u2),n2.restore()}f2&&d2<255&&this._applySMaskOOBAlpha(n2,i2,a2,o2,s2,e3,r3,e3+l2,r3+u2,d2)}else this.genericComposeSMask(t2,n2,o2,s2,i2,a2);e2&&(e2.save(),e2.globalAlpha=1,e2.globalCompositeOperation=t2.blendMode||"source-over",e2.setTransform(1,0,0,1,0,0),e2.drawImage(n2.canvas,i2,a2,o2,s2,i2,a2,o2,s2),e2.restore())}_applySMaskOOBAlpha(e2,t2,n2,r2,i2,a2,o2,s2,c2,l2){let u2=a2<s2&&o2<c2;if(u2&&a2===t2&&o2===n2&&s2===t2+r2&&c2===n2+i2)return;let d2=new Path2D;d2.rect(t2,n2,r2,i2),u2&&d2.rect(a2,o2,s2-a2,c2-o2),e2.save(),e2.globalAlpha=l2/255,e2.setTransform(1,0,0,1,0,0),e2.clip(d2,"evenodd"),e2.globalCompositeOperation="destination-in",e2.fillStyle="#000000",e2.fillRect(t2,n2,r2,i2),e2.restore()}genericComposeSMask(e2,t2,n2,r2,i2,a2){let{context:o2,offsetX:s2,offsetY:c2}=e2;t2.save(),t2.globalAlpha=1,t2.setTransform(1,0,0,1,0,0);let l2=new Path2D;l2.rect(i2,a2,n2,r2),t2.clip(l2),t2.globalCompositeOperation="destination-in",t2.drawImage(o2.canvas,i2-s2,a2-c2,n2,r2,i2,a2,n2,r2),t2.restore()}save(e2){this.inSMaskMode&©CtxState(this.ctx,this.suspendedCtx),this.ctx.save();let t2=this.current;this.stateStack.push(t2),this.current=t2.clone(),this.dependencyTracker?.save(e2)}restore(e2){if(this.dependencyTracker?.restore(e2),this.stateStack.length===0){this.inSMaskMode&&this.endSMaskMode();return}this.current=this.stateStack.pop(),this.ctx.restore(),this.inSMaskMode&&(copyCtxState(this.suspendedCtx,this.ctx),this.ctx.setTransform(this.suspendedCtx.getTransform())),this.checkSMaskState(e2),this.pendingClip=null,this._cachedScaleForStroking[0]=-1,this._cachedGetSinglePixelWidth=null}transform(e2,t2,n2,r2,i2,a2,o2){this.dependencyTracker?.recordIncrementalData("transform",e2),this.ctx.transform(t2,n2,r2,i2,a2,o2),this._cachedScaleForStroking[0]=-1,this._cachedGetSinglePixelWidth=null}constructPath(e2,t2,n2,r2){let[i2]=n2;if(!r2){i2||=n2[0]=new Path2D,t2!==Io.stroke&&t2!==Io.closeStroke&&(this.current.tilingPatternDims=null),this[t2](e2,i2);return}if(this.dependencyTracker!==null){let n3=t2===Io.stroke?this.current.lineWidth/2:0;this.dependencyTracker.resetBBox(e2).recordBBox(e2,this.ctx,r2[0]-n3,r2[2]+n3,r2[1]-n3,r2[3]+n3).recordDependencies(e2,["transform"])}i2 instanceof Path2D||(i2=n2[0]=makePathFromDrawOPS(i2)),Util.axialAlignedBoundingBox(r2,getCurrentTransform(this.ctx),this.current.minMax);let a2=this.current.tilingPatternDims;if(a2&&t2!==Io.stroke&&t2!==Io.closeStroke&&this.current.fillColor instanceof xs){let e3=Util.intersect(this.current.clipBox,this.current.minMax);e3?this.current.fillColor.updatePatternDims(e3,a2):this.current.tilingPatternDims=null}this[t2](e2,i2),this._pathStartIdx=e2}closePath(e2){this.ctx.closePath()}stroke(e2,t2,n2=!0){let r2=n2&&this.#h(this.current.strokeAlpha),i2=this.ctx,a2=this.current.strokeColor;if(i2.globalAlpha=this.current.strokeAlpha,this.contentVisible)if(typeof a2=="object"&&a2?.getPattern){let n3=a2.isModifyingCurrentTransform()?i2.getTransform():null;if(i2.save(),i2.strokeStyle=a2.getPattern(i2,this,getCurrentTransformInverse(i2),ys.STROKE,e2),n3){let e3=new Path2D;e3.addPath(t2,i2.getTransform().invertSelf().multiplySelf(n3)),t2=e3}this.rescaleAndStroke(t2,!1),i2.restore()}else this.rescaleAndStroke(t2,!0);this.dependencyTracker?.recordDependencies(e2,ps.stroke),n2&&this.consumePath(e2,t2,this.current.getClippedPathBoundingBox(ys.STROKE,getCurrentTransform(this.ctx))),i2.globalAlpha=this.current.fillAlpha,this.#g(r2)}closeStroke(e2,t2){this.stroke(e2,t2)}fill(e2,t2,n2=!0){let r2=n2&&this.#h(this.current.fillAlpha),i2=this.ctx,a2=this.current.fillColor,o2=this.current.patternFill,s2=!1,c2=this.current.getClippedPathBoundingBox();if(this.dependencyTracker?.recordDependencies(e2,ps.fill),o2){let o3=this.current.tilingPatternDims,l2=o3&&a2.canSkipPatternCanvas(o3);if(l2){a2.drawPattern(this,t2,this.pendingEOFill,l2,e2),this.pendingEOFill=!1,n2&&this.consumePath(e2,t2,c2),this.current.tilingPatternDims=null,this.#g(r2);return}let u2=a2.isModifyingCurrentTransform()?i2.getTransform():null;if(this.dependencyTracker?.save(e2),i2.save(),i2.fillStyle=a2.getPattern(i2,this,getCurrentTransformInverse(i2),ys.FILL,e2),u2){let e3=new Path2D;e3.addPath(t2,i2.getTransform().invertSelf().multiplySelf(u2)),t2=e3}s2=!0}this.contentVisible&&c2!==null&&(this.pendingEOFill?(i2.fill(t2,"evenodd"),this.pendingEOFill=!1):i2.fill(t2)),s2&&(i2.restore(),this.dependencyTracker?.restore(e2)),n2&&this.consumePath(e2,t2,c2),this.#g(r2)}eoFill(e2,t2){this.pendingEOFill=!0,this.fill(e2,t2)}fillStroke(e2,t2){let n2=this.#h(Math.min(this.current.fillAlpha,this.current.strokeAlpha));this.fill(e2,t2,!1),this.stroke(e2,t2,!1),this.consumePath(e2,t2),this.#g(n2)}eoFillStroke(e2,t2){this.pendingEOFill=!0,this.fillStroke(e2,t2)}closeFillStroke(e2,t2){this.fillStroke(e2,t2)}closeEOFillStroke(e2,t2){this.pendingEOFill=!0,this.fillStroke(e2,t2)}endPath(e2,t2){this.consumePath(e2,t2)}rawFillPath(e2,t2){let n2=this.#h(this.current.fillAlpha);this.ctx.fill(t2),this.dependencyTracker?.recordDependencies(e2,ps.rawFillPath).recordOperation(e2),this.#g(n2)}clip(e2){this.dependencyTracker?.recordFutureForcedDependency("clipMode",e2),this.pendingClip=Es}eoClip(e2){this.dependencyTracker?.recordFutureForcedDependency("clipMode",e2),this.pendingClip=Ds}beginText(e2){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(e2).resetIncrementalData("sameLineText").resetIncrementalData("moveText",e2)}endText(e2){let t2=this.pendingTextPaths,n2=this.ctx;if(this.dependencyTracker){let{dependencyTracker:n3}=this;t2!==void 0&&n3.recordFutureForcedDependency("textClip",n3.getOpenMarker()).recordFutureForcedDependency("textClip",e2),n3.recordCloseMarker(e2)}if(t2!==void 0){let e3=new Path2D,r2=n2.getTransform().invertSelf();for(let{transform:n3,x:i2,y:a2,fontSize:o2,path:s2}of t2)s2&&e3.addPath(s2,new DOMMatrix(n3).preMultiplySelf(r2).translate(i2,a2).scale(o2,-o2));n2.clip(e3)}delete this.pendingTextPaths}setCharSpacing(e2,t2){this.dependencyTracker?.recordSimpleData("charSpacing",e2),this.current.charSpacing=t2}setWordSpacing(e2,t2){this.dependencyTracker?.recordSimpleData("wordSpacing",e2),this.current.wordSpacing=t2}setHScale(e2,t2){this.dependencyTracker?.recordSimpleData("hScale",e2),this.current.textHScale=t2/100}setLeading(e2,t2){this.dependencyTracker?.recordSimpleData("leading",e2),this.current.leading=-t2}setFont(e2,t2,n2){this.dependencyTracker?.recordSimpleData("font",e2).recordSimpleDataFromNamed("fontObj",t2,e2);let r2=this.commonObjs.get(t2),i2=this.current;if(!r2)throw Error(`Can't find font for ${t2}`);if(i2.fontMatrix=r2.fontMatrix||xo,(i2.fontMatrix[0]===0||i2.fontMatrix[3]===0)&&warn("Invalid font matrix for font "+t2),n2<0?(n2=-n2,i2.fontDirection=-1):i2.fontDirection=1,this.current.font=r2,this.current.fontSize=n2,r2.isType3Font)return;let a2=r2.loadedName||"sans-serif",o2=r2.systemFontInfo?.css||`"${a2}", ${r2.fallbackName}`,s2="normal";r2.black?s2="900":r2.bold&&(s2="bold");let c2=r2.italic?"italic":"normal",l2=MathClamp(n2,16,100);this.current.fontSizeScale=n2/l2,this.ctx.font=`${c2} ${s2} ${l2}px ${o2}`}setTextRenderingMode(e2,t2){this.dependencyTracker?.recordSimpleData("textRenderingMode",e2),this.current.textRenderingMode=t2}setTextRise(e2,t2){this.dependencyTracker?.recordSimpleData("textRise",e2),this.current.textRise=t2}moveText(e2,t2,n2){this.dependencyTracker?.resetIncrementalData("sameLineText").recordIncrementalData("moveText",e2),this.current.x=this.current.lineX+=t2,this.current.y=this.current.lineY+=n2}setLeadingMoveText(e2,t2,n2){this.setLeading(e2,-n2),this.moveText(e2,t2,n2)}setTextMatrix(e2,t2){this.dependencyTracker?.resetIncrementalData("sameLineText").recordSimpleData("textMatrix",e2);let{current:n2}=this;n2.textMatrix=t2,n2.textMatrixScale=Math.hypot(t2[0],t2[1]),n2.x=n2.lineX=0,n2.y=n2.lineY=0}nextLine(e2){this.moveText(e2,0,this.current.leading),this.dependencyTracker?.recordIncrementalData("moveText",this.dependencyTracker.getSimpleIndex("leading")??e2)}#_(e2,t2,n2){let r2=new Path2D;return r2.addPath(e2,new DOMMatrix(n2).invertSelf().multiplySelf(t2)),r2}paintChar(e2,t2,n2,r2,i2,a2){let o2=this.ctx,s2=this.current,c2=s2.font,l2=s2.textRenderingMode,u2=s2.fontSize/s2.fontSizeScale,d2=l2&jo.FILL_STROKE_MASK,f2=!!(l2&jo.ADD_TO_PATH_FLAG),p2=s2.patternFill&&!c2.missingFile,m2=s2.patternStroke&&!c2.missingFile,h2;if((c2.disableFontFace||f2||p2||m2)&&!c2.missingFile&&(h2=c2.getPathGenerator(this.commonObjs,t2)),h2&&(c2.disableFontFace||p2||m2)){o2.save(),o2.translate(n2,r2),o2.scale(u2,-u2),this.dependencyTracker?.recordCharacterBBox(e2,o2,c2);let t3;if(d2===jo.FILL||d2===jo.FILL_STROKE)if(i2){t3=o2.getTransform(),o2.setTransform(...i2);let e3=this.#_(h2,t3,i2);o2.fill(e3)}else o2.fill(h2);if(d2===jo.STROKE||d2===jo.FILL_STROKE)if(a2){t3||=o2.getTransform(),o2.setTransform(...a2);let{a:e3,b:n3,c:r3,d:i3}=t3,s3=Util.inverseTransform(a2),c3=Util.transform([e3,n3,r3,i3,0,0],s3);Util.singularValueDecompose2dScale(c3,Cs),o2.lineWidth*=Math.max(Cs[0],Cs[1])/u2,o2.stroke(this.#_(h2,t3,a2))}else o2.lineWidth/=u2,o2.stroke(h2);o2.restore()}else(d2===jo.FILL||d2===jo.FILL_STROKE)&&(o2.fillText(t2,n2,r2),this.dependencyTracker?.recordCharacterBBox(e2,o2,c2,u2,n2,r2,()=>o2.measureText(t2))),(d2===jo.STROKE||d2===jo.FILL_STROKE)&&(this.dependencyTracker&&this.dependencyTracker?.recordCharacterBBox(e2,o2,c2,u2,n2,r2,()=>o2.measureText(t2)).recordDependencies(e2,ps.stroke),o2.strokeText(t2,n2,r2));f2&&((this.pendingTextPaths||=[]).push({transform:getCurrentTransform(o2),x:n2,y:r2,fontSize:u2,path:h2}),this.dependencyTracker?.recordCharacterBBox(e2,o2,c2,u2,n2,r2))}get isFontSubpixelAAEnabled(){let e2=this.canvasFactory.create(10,10),t2=e2.context;t2.scale(1.5,1),t2.fillText("I",0,10);let n2=t2.getImageData(0,0,10,10).data;this.canvasFactory.destroy(e2);let r2=!1;for(let e3=3;e3<n2.length;e3+=4)if(n2[e3]>0&&n2[e3]<255){r2=!0;break}return shadow(this,"isFontSubpixelAAEnabled",r2)}showText(e2,t2){this.dependencyTracker&&(this.dependencyTracker.recordDependencies(e2,ps.showText).resetBBox(e2),this.current.textRenderingMode&jo.ADD_TO_PATH_FLAG&&this.dependencyTracker.recordFutureForcedDependency("textClip",e2).inheritPendingDependenciesAsFutureForcedDependencies());let n2=this.current,r2=n2.font;if(r2.isType3Font){let r3=this.#h(n2.fillAlpha);this.showType3Text(e2,t2),this.dependencyTracker?.recordShowTextOperation(e2),this.#g(r3);return}let i2=n2.fontSize;if(i2===0){this.dependencyTracker?.recordOperation(e2);return}let a2=this.#h(n2.fillAlpha),o2=this.ctx,s2=n2.fontSizeScale,c2=n2.charSpacing,l2=n2.wordSpacing,u2=n2.fontDirection,d2=n2.textHScale*u2,f2=t2.length,p2=r2.vertical,m2=p2?1:-1,h2=r2.defaultVMetrics,g2=i2*n2.fontMatrix[0],_2=n2.textRenderingMode===jo.FILL&&!r2.disableFontFace&&!n2.patternFill;o2.save(),n2.textMatrix&&o2.transform(...n2.textMatrix),o2.translate(n2.x,n2.y+n2.textRise),u2>0?o2.scale(d2,-1):o2.scale(d2,1);let v2,y2,b2=n2.textRenderingMode&jo.FILL_STROKE_MASK,x2=b2===jo.FILL||b2===jo.FILL_STROKE,S2=b2===jo.STROKE||b2===jo.FILL_STROKE,C2=n2.lineWidth,w2=n2.textMatrixScale;if(w2===0||C2===0?S2&&(C2=this.getSinglePixelWidth()):C2/=w2,s2!==1&&(o2.scale(s2,s2),C2/=s2),o2.lineWidth=C2,x2&&n2.patternFill){o2.save();let t3=n2.fillColor.getPattern(o2,this,getCurrentTransformInverse(o2),ys.FILL,e2);v2=getCurrentTransform(o2),o2.restore(),o2.fillStyle=t3}if(S2&&n2.patternStroke){o2.save();let t3=n2.strokeColor.getPattern(o2,this,getCurrentTransformInverse(o2),ys.STROKE,e2);y2=getCurrentTransform(o2),o2.restore(),o2.strokeStyle=t3}if(r2.isInvalidPDFjsFont){let r3=[],i3=0;for(let e3 of t2)r3.push(e3.unicode),i3+=e3.width;let s3=r3.join("");if(o2.fillText(s3,0,0),this.dependencyTracker!==null){let t3=o2.measureText(s3);this.dependencyTracker.recordBBox(e2,this.ctx,-t3.actualBoundingBoxLeft,t3.actualBoundingBoxRight,-t3.actualBoundingBoxAscent,t3.actualBoundingBoxDescent).recordShowTextOperation(e2)}n2.x+=i3*g2*d2,o2.restore(),this.compose(),this.#g(a2);return}let T2=0,E2;for(E2=0;E2<f2;++E2){let n3=t2[E2];if(typeof n3=="number"){T2+=m2*n3*i2/1e3;continue}let a3=!1,d3=(n3.isSpace?l2:0)+c2,f3=n3.fontChar,b3=n3.accent,x3,S3,C3=n3.width;if(p2){let e3=n3.vmetric||h2,t3=-(n3.vmetric?e3[1]:C3*.5)*g2,r3=e3[2]*g2;C3=e3?-e3[0]:C3,x3=t3/s2,S3=(T2+r3)/s2}else x3=T2/s2,S3=0;let w3;if(r2.remeasure&&C3>0){w3=o2.measureText(f3);let e3=w3.width*1e3/i2*s2;if(C3<e3&&this.isFontSubpixelAAEnabled){let t3=C3/e3;a3=!0,o2.save(),o2.scale(t3,1),x3/=t3}else C3!==e3&&(x3+=(C3-e3)/2e3*i2/s2)}if(this.contentVisible&&(n3.isInFont||r2.missingFile)){if(_2&&!b3)o2.fillText(f3,x3,S3),this.dependencyTracker?.recordCharacterBBox(e2,o2,w3?{bbox:null}:r2,i2/s2,x3,S3,()=>w3??o2.measureText(f3));else if(this.paintChar(e2,f3,x3,S3,v2,y2),b3){let t3=x3+i2*b3.offset.x/s2,n4=S3-i2*b3.offset.y/s2;this.paintChar(e2,b3.fontChar,t3,n4,v2,y2)}}let D2=p2?C3*g2-d3*u2:C3*g2+d3*u2;T2+=D2,a3&&o2.restore()}p2?n2.y-=T2:n2.x+=T2*d2,o2.restore(),this.compose(),this.dependencyTracker?.recordShowTextOperation(e2),this.#g(a2)}showType3Text(e2,t2){let n2=this.ctx,r2=this.current,i2=r2.font,a2=r2.fontSize,o2=r2.fontDirection,s2=i2.vertical?1:-1,c2=r2.charSpacing,l2=r2.wordSpacing,u2=r2.textHScale*o2,d2=r2.fontMatrix||xo,f2=t2.length,p2=r2.textRenderingMode===jo.INVISIBLE,m2,h2,g2,_2;if(p2||a2===0)return;this._cachedScaleForStroking[0]=-1,this._cachedGetSinglePixelWidth=null,n2.save(),r2.textMatrix&&n2.transform(...r2.textMatrix),n2.translate(r2.x,r2.y+r2.textRise),n2.scale(u2,o2);let v2=this.dependencyTracker;for(this.dependencyTracker=v2?new fs(v2,e2):null,m2=0;m2<f2;++m2){if(h2=t2[m2],typeof h2=="number"){_2=s2*h2*a2/1e3,this.ctx.translate(_2,0),r2.x+=_2*u2;continue}let e3=(h2.isSpace?l2:0)+c2,o3=i2.charProcOperatorList[h2.operatorListId];o3?this.contentVisible&&(this.save(),o3.fnArray[0]===Io.setCharWidth&&(r2.fillAlpha=r2.strokeAlpha=1,n2.globalAlpha=1),n2.scale(a2,a2),n2.transform(...d2),this.executeOperatorList(o3),this.restore()):warn(`Type3 character "${h2.operatorListId}" is not available.`);let f3=[h2.width,0];Util.applyTransform(f3,d2),g2=f3[0]*a2+e3,n2.translate(g2,0),r2.x+=g2*u2}n2.restore(),v2&&(this.dependencyTracker=v2)}setCharWidth(e2,t2,n2){}setCharWidthAndBounds(e2,t2,n2,r2,i2,a2,o2){let s2=new Path2D;s2.rect(r2,i2,a2-r2,o2-i2),this.ctx.clip(s2),this.dependencyTracker?.recordBBox(e2,this.ctx,r2,a2,i2,o2).recordClipBox(e2,this.ctx,r2,a2,i2,o2),this.endPath(e2)}getColorN_Pattern(e2,t2){let n2;if(t2[0]==="TilingPattern"){let e3=this.baseTransform||getCurrentTransform(this.ctx);n2=new xs(t2,this.ctx,{createCanvasGraphics:(e4,t3)=>new CanvasGraphics(e4,this.commonObjs,this.objs,this.canvasFactory,this.filterFactory,{optionalContentConfig:this.optionalContentConfig,markedContentStack:this.markedContentStack},void 0,void 0,this.dependencyTracker?new fs(this.dependencyTracker,t3,!0):null)},e3)}else n2=this._getPattern(e2,t2[1],t2[2]);return n2}setStrokeColorN(e2,...t2){this.dependencyTracker?.recordSimpleData("strokeColor",e2),this.current.strokeColor=this.getColorN_Pattern(e2,t2),this.current.patternStroke=!0}setFillColorN(e2,...t2){this.dependencyTracker?.recordSimpleData("fillColor",e2);let n2=this.current.fillColor=this.getColorN_Pattern(e2,t2);this.current.patternFill=!0,this.current.tilingPatternDims=n2 instanceof xs?[0,0,0,0]:null}setStrokeRGBColor(e2,t2){this.dependencyTracker?.recordSimpleData("strokeColor",e2),this.ctx.strokeStyle=this.current.strokeColor=t2,this.current.patternStroke=!1}setStrokeTransparent(e2){this.dependencyTracker?.recordSimpleData("strokeColor",e2),this.ctx.strokeStyle=this.current.strokeColor="transparent",this.current.patternStroke=!1}setFillRGBColor(e2,t2){this.dependencyTracker?.recordSimpleData("fillColor",e2),this.ctx.fillStyle=this.current.fillColor=t2,this.current.patternFill=!1,this.current.tilingPatternDims=null}setFillTransparent(e2){this.dependencyTracker?.recordSimpleData("fillColor",e2),this.ctx.fillStyle=this.current.fillColor="transparent",this.current.patternFill=!1,this.current.tilingPatternDims=null}_getPattern(e2,t2,n2=null){let r2;return this.cachedPatterns.has(t2)?r2=this.cachedPatterns.get(t2):(r2=getShadingPattern(this.getObject(e2,t2)),this.cachedPatterns.set(t2,r2)),n2&&(r2.matrix=n2),r2}shadingFill(e2,t2){if(!this.contentVisible)return;let n2=this.#h(this.current.fillAlpha),r2=this.ctx;this.save(e2),r2.fillStyle=this._getPattern(e2,t2).getPattern(r2,this,getCurrentTransformInverse(r2),ys.SHADING,e2);let i2=getCurrentTransformInverse(r2);if(i2){let{width:e3,height:t3}=r2.canvas,n3=bo.slice();Util.axialAlignedBoundingBox([0,0,e3,t3],i2,n3);let[a2,o2,s2,c2]=n3;this.ctx.fillRect(a2,o2,s2-a2,c2-o2)}else this.ctx.fillRect(-1e10,-1e10,2e10,2e10);this.dependencyTracker?.resetBBox(e2).recordFullPageBBox(e2).recordDependencies(e2,ps.transform).recordDependencies(e2,ps.fill).recordOperation(e2),this.compose(this.current.getClippedPathBoundingBox()),this.restore(e2),this.#g(n2)}beginInlineImage(){unreachable("Should not call beginInlineImage")}beginImageData(){unreachable("Should not call beginImageData")}paintFormXObjectBegin(e2,t2,n2){if(this.contentVisible&&(this.save(e2),this.baseTransformStack.push(this.baseTransform),t2&&this.transform(e2,...t2),this.baseTransform=getCurrentTransform(this.ctx),n2)){Util.axialAlignedBoundingBox(n2,this.baseTransform,this.current.minMax);let[t3,r2,i2,a2]=n2,o2=new Path2D;o2.rect(t3,r2,i2-t3,a2-r2),this.ctx.clip(o2),this.dependencyTracker?.recordClipBox(e2,this.ctx,t3,i2,r2,a2),this.endPath(e2)}}paintFormXObjectEnd(e2){this.contentVisible&&(this.restore(e2),this.baseTransform=this.baseTransformStack.pop())}beginGroup(e2,t2){if(!this.contentVisible)return;this.save(e2);let{inSMaskMode:n2}=this;n2&&(this.endSMaskMode(),this.current.activeSMask=null);let r2=this.ctx;if((!t2.needsIsolation||!t2.isolated&&!t2.hasSoftMask)&&!t2.knockout&&!t2.isGray&&this.#e===0&&r2.globalAlpha===1&&r2.globalCompositeOperation==="source-over"&&!n2){if(t2.bbox){let e3=new Path2D,[n3,i3,a3,o3]=t2.bbox;if(e3.rect(n3,i3,a3-n3,o3-i3),t2.matrix){let n4=new Path2D;n4.addPath(e3,new DOMMatrix(t2.matrix)),e3=n4}r2.clip(e3)}this.groupStack.push(null),this.#l.push(null),this.groupLevel++;return}!t2.isolated&&!t2.knockout&&this.#e===0&&info("TODO: Fully support non-isolated non-knockout groups.");let i2=getCurrentTransform(r2);t2.matrix&&r2.transform(...t2.matrix);let a2=[0,0,r2.canvas.width,r2.canvas.height],o2;t2.bbox?(o2=bo.slice(),Util.axialAlignedBoundingBox(t2.bbox,getCurrentTransform(r2),o2),o2=Util.intersect(o2,a2)||[0,0,0,0]):o2=a2;let s2=Math.floor(o2[0]),c2=Math.floor(o2[1]),l2=Math.max(Math.ceil(o2[2])-s2,1),u2=Math.max(Math.ceil(o2[3])-c2,1);this.current.startNewPathAndClipBox([0,0,l2,u2]);let d2=this.canvasFactory.create(l2,u2);t2.smask&&this.smaskGroupCanvases.push(d2);let f2=d2.context,p2=t2.knockout&&!t2.isolated?r2:null,m2=!t2.isolated&&!t2.knockout&&!t2.smask&&t2.needsIsolation&&this.#e>0,h2=t2.knockout?this.canvasFactory.create(l2,u2):null,g2=this.#e;if(t2.knockout?this.#e++:this.#e=0,f2.translate(-s2,-c2),f2.transform(...i2),!t2.isolated&&!t2.smask&&n2&&t2.needsIsolation&&(f2.save(),f2.setTransform(1,0,0,1,0,0),f2.drawImage(r2.canvas,-s2,-c2),f2.restore()),t2.bbox){let e3=new Path2D,[n3,r3,i3,a3]=t2.bbox;if(e3.rect(n3,r3,i3-n3,a3-r3),t2.matrix){let n4=new Path2D;n4.addPath(e3,new DOMMatrix(t2.matrix)),e3=n4}f2.clip(e3)}t2.smask&&this.smaskStack.push({canvas:d2.canvas,context:f2,offsetX:s2,offsetY:c2,subtype:t2.smask.subtype,backdrop:t2.smask.backdrop,transferMap:t2.smask.transferMap||null}),(!t2.smask||this.dependencyTracker)&&(r2.setTransform(1,0,0,1,0,0),r2.translate(s2,c2),r2.save()),copyCtxState(r2,f2),this.ctx=f2,this.dependencyTracker?.inheritSimpleDataAsFutureForcedDependencies(["fillAlpha","strokeAlpha","globalCompositeOperation"]).pushBaseTransform(r2),this.setGState(e2,[["BM","source-over"],["ca",1],["CA",1],["TR",null]]),this.groupStack.push(r2),this.#l.push({backdropCtx:p2,savedKnockoutLevel:g2,offsetX:s2,offsetY:c2,hasInnerBackdrop:m2,knockoutMaskEntry:h2,knockoutTempEntry:null,knockoutBackdropEntry:null}),this.groupLevel++}endGroup(e2,t2){if(!this.contentVisible)return;this.groupLevel--;let n2=this.ctx,r2=this.groupStack.pop(),i2=this.#l.pop();if(i2&&(this.#e=i2.savedKnockoutLevel),r2===null){this.restore(e2);return}if(t2.isGray&&this.#v(n2),this.ctx=r2,this.ctx.imageSmoothingEnabled=!1,this.dependencyTracker?.popBaseTransform(),t2.smask)this.tempSMask=this.smaskStack.pop(),this.restore(e2),this.dependencyTracker&&(this.ctx.restore(),this.inSMaskMode&&this.ctx.setTransform(this.suspendedCtx.getTransform())),this.#y(i2);else{this.ctx.restore();let t3=getCurrentTransform(this.ctx);this.restore(e2),this.ctx.save(),this.ctx.setTransform(...t3);let a2=bo.slice();Util.axialAlignedBoundingBox([0,0,n2.canvas.width,n2.canvas.height],t3,a2);let o2=this.#l.at(-1);if(this.#e>0)if(i2.hasInnerBackdrop){let{width:e3,height:a3}=n2.canvas,o3=this.canvasFactory.create(e3,a3),s2=o3.context;s2.drawImage(r2.canvas,i2.offsetX,i2.offsetY,e3,a3,0,0,e3,a3),s2.globalCompositeOperation="source-over",s2.drawImage(n2.canvas,0,0);let c2=this.#f(n2.canvas);s2.globalCompositeOperation="destination-in",s2.drawImage(c2.canvas,0,0);let l2=this.ctx.globalCompositeOperation,u2=this.ctx.globalAlpha,d2=this.ctx.filter;this.ctx.save(),this.ctx.setTransform(...t3),this.ctx.globalAlpha=1,FeatureTest.isCanvasFilterSupported&&(this.ctx.filter="none"),this.ctx.globalCompositeOperation="destination-out",this.ctx.drawImage(c2.canvas,0,0),this.ctx.globalCompositeOperation=l2,this.ctx.globalAlpha=u2,FeatureTest.isCanvasFilterSupported&&(this.ctx.filter=d2??"none"),this.ctx.drawImage(o3.canvas,0,0),this.ctx.restore(),this.canvasFactory.destroy(c2),this.canvasFactory.destroy(o3)}else{let e3=o2?.backdropCtx??null;this.#m(this.ctx,n2.canvas,{backdropCanvas:e3?.canvas??null,destTransform:t3,backdropOffset:e3?[o2.offsetX+i2.offsetX,o2.offsetY+i2.offsetY]:[0,0],sourceAlpha:this.ctx.globalAlpha,sourceFilter:this.ctx.filter})}else this.ctx.drawImage(n2.canvas,0,0);this.ctx.restore(),this.canvasFactory.destroy({canvas:n2.canvas,context:n2}),this.#y(i2),this.compose(a2)}}#v(e2){let{canvas:t2}=e2,{width:n2,height:r2}=t2;if(FeatureTest.isCanvasFilterSupported){e2.save(),e2.setTransform(1,0,0,1,0,0),e2.filter="grayscale(1)",e2.globalAlpha=1,e2.globalCompositeOperation="copy",e2.drawImage(t2,0,0),e2.restore();return}let i2=e2.getImageData(0,0,n2,r2),{data:a2}=i2;for(let e3=0,t3=a2.length;e3<t3;e3+=4){let t4=a2[e3]*.2126+a2[e3+1]*.7152+a2[e3+2]*.0722+.5|0;a2[e3]=a2[e3+1]=a2[e3+2]=t4}e2.putImageData(i2,0,0)}#y(e2){e2&&(e2.knockoutMaskEntry&&=(this.canvasFactory.destroy(e2.knockoutMaskEntry),null),e2.knockoutTempEntry&&=(this.canvasFactory.destroy(e2.knockoutTempEntry),null),e2.knockoutBackdropEntry&&=(this.canvasFactory.destroy(e2.knockoutBackdropEntry),null))}beginAnnotation(e2,t2,n2,r2,i2,a2,o2){if(this.#u(),resetCtxToDefault(this.ctx),this.ctx.save(),this.save(e2),this.baseTransform&&this.ctx.setTransform(...this.baseTransform),n2){let i3=n2[2]-n2[0],s2=n2[3]-n2[1];if(a2&&this.annotationCanvasMap){r2=r2.slice(),r2[4]-=n2[0],r2[5]-=n2[1],n2=n2.slice(),n2[0]=n2[1]=0,n2[2]=i3,n2[3]=s2,Util.singularValueDecompose2dScale(getCurrentTransform(this.ctx),Cs);let{viewportScale:e3}=this,a3=Math.ceil(i3*this.outputScaleX*e3),c2=Math.ceil(s2*this.outputScaleY*e3);this.annotationCanvas=this.canvasFactory.create(a3,c2);let{canvas:l2,context:u2}=this.annotationCanvas;if(o2){let e4=this.annotationCanvasMap.getOrInsertComputed(t2,makeArr);l2.setAttribute("data-canvas-name",o2);let n3=e4.findIndex(e5=>e5.getAttribute("data-canvas-name")===o2);n3===-1?e4.push(l2):e4[n3]=l2}else this.annotationCanvasMap.set(t2,l2);this.annotationCanvas.savedCtx=this.ctx,this.ctx=u2,this.ctx.save(),this.ctx.setTransform(Cs[0],0,0,-Cs[1],0,s2*Cs[1]),resetCtxToDefault(this.ctx)}else{resetCtxToDefault(this.ctx),this.endPath(e2);let t3=new Path2D;t3.rect(n2[0],n2[1],i3,s2),this.ctx.clip(t3)}}this.current=new CanvasExtraState(this.ctx.canvas.width,this.ctx.canvas.height),this.baseTransformStack.push(this.baseTransform),this.transform(e2,...r2),this.transform(e2,...i2),this.baseTransform=getCurrentTransform(this.ctx)}endAnnotation(e2){this.annotationCanvas&&(this.ctx.restore(),this.#d(),this.ctx=this.annotationCanvas.savedCtx,delete this.annotationCanvas.savedCtx,delete this.annotationCanvas),this.baseTransform=this.baseTransformStack.pop()}paintImageMaskXObject(e2,t2){if(!this.contentVisible)return;let n2=t2.count;t2=this.getObject(e2,t2.data,t2),t2.count=n2;let r2=this.#h(this.current.fillAlpha),i2=this.ctx,a2=this._createMaskCanvas(e2,t2),o2=a2.canvas;i2.save(),i2.setTransform(1,0,0,1,0,0),i2.drawImage(o2,a2.offsetX,a2.offsetY),this.dependencyTracker?.resetBBox(e2).recordBBox(e2,this.ctx,a2.offsetX,a2.offsetX+o2.width,a2.offsetY,a2.offsetY+o2.height).recordOperation(e2),i2.restore(),a2.canvasEntry&&this.canvasFactory.destroy(a2.canvasEntry),this.compose(),this.#g(r2)}paintImageMaskXObjectRepeat(e2,t2,n2,r2=0,i2=0,a2,o2){if(!this.contentVisible)return;t2=this.getObject(e2,t2.data,t2);let s2=this.#h(this.current.fillAlpha),c2=this.ctx;c2.save();let l2=getCurrentTransform(c2);c2.transform(n2,r2,i2,a2,0,0);let u2=this._createMaskCanvas(e2,t2);c2.setTransform(1,0,0,1,u2.offsetX-l2[4],u2.offsetY-l2[5]),this.dependencyTracker?.resetBBox(e2);for(let t3=0,s3=o2.length;t3<s3;t3+=2){let s4=Util.transform(l2,[n2,r2,i2,a2,o2[t3],o2[t3+1]]);c2.drawImage(u2.canvas,s4[4],s4[5]),this.dependencyTracker?.recordBBox(e2,this.ctx,s4[4],s4[4]+u2.canvas.width,s4[5],s4[5]+u2.canvas.height)}c2.restore(),u2.canvasEntry&&this.canvasFactory.destroy(u2.canvasEntry),this.compose(),this.dependencyTracker?.recordOperation(e2),this.#g(s2)}paintImageMaskXObjectGroup(e2,t2){if(!this.contentVisible)return;let n2=this.#h(this.current.fillAlpha),r2=this.ctx,i2=this.current.fillColor,a2=this.current.patternFill;this.dependencyTracker?.resetBBox(e2).recordDependencies(e2,ps.transformAndFill);for(let n3 of t2){let{data:t3,width:o2,height:s2,transform:c2}=n3,l2=this.canvasFactory.create(o2,s2),u2=l2.context;u2.save(),putBinaryImageMask(u2,this.getObject(e2,t3,n3)),u2.globalCompositeOperation="source-in",u2.fillStyle=a2?i2.getPattern(u2,this,getCurrentTransformInverse(r2),ys.FILL,e2):i2,u2.fillRect(0,0,o2,s2),u2.restore(),r2.save(),r2.transform(...c2),r2.scale(1,-1),drawImageAtIntegerCoords(r2,l2.canvas,0,0,o2,s2,0,-1,1,1),this.canvasFactory.destroy(l2),this.dependencyTracker?.recordBBox(e2,r2,0,o2,0,s2),r2.restore()}this.compose(),this.dependencyTracker?.recordOperation(e2),this.#g(n2)}paintImageXObject(e2,t2){if(!this.contentVisible)return;let n2=this.getObject(e2,t2);if(!n2){warn("Dependent image isn't ready yet");return}this.paintInlineImageXObject(e2,n2)}paintImageXObjectRepeat(e2,t2,n2,r2,i2){if(!this.contentVisible)return;let a2=this.getObject(e2,t2);if(!a2){warn("Dependent image isn't ready yet");return}let o2=a2.width,s2=a2.height,c2=[];for(let e3=0,t3=i2.length;e3<t3;e3+=2)c2.push({transform:[n2,0,0,r2,i2[e3],i2[e3+1]],x:0,y:0,w:o2,h:s2});this.paintInlineImageXObjectGroup(e2,a2,c2)}applyTransferMapsToCanvas(e2){return this.current.transferMaps!=="none"&&(e2.filter=this.current.transferMaps,e2.drawImage(e2.canvas,0,0),e2.filter="none"),e2.canvas}applyTransferMapsToBitmap(e2){if(this.current.transferMaps==="none")return{img:e2.bitmap,canvasEntry:null};let{bitmap:t2,width:n2,height:r2}=e2,i2=this.canvasFactory.create(n2,r2),a2=i2.context;return a2.filter=this.current.transferMaps,a2.drawImage(t2,0,0),a2.filter="none",{img:i2.canvas,canvasEntry:i2}}paintInlineImageXObject(e2,t2){if(!this.contentVisible)return;let n2=t2.width,r2=t2.height,i2=this.#h(this.current.fillAlpha),a2=this.ctx;this.save(e2);let{filter:o2}=a2;o2!=="none"&&o2!==""&&(a2.filter="none"),a2.scale(1/n2,-1/r2);let s2,c2=null;if(t2.bitmap){let e3=this.applyTransferMapsToBitmap(t2);s2=e3.img,c2=e3.canvasEntry}else{let e3=this.canvasFactory.create(n2,r2);putBinaryImageData(e3.context,t2),s2=this.applyTransferMapsToCanvas(e3.context),c2=e3}let l2=this._scaleImage(s2,getCurrentTransformInverse(a2));a2.imageSmoothingEnabled=getImageSmoothingEnabled(getCurrentTransform(a2),t2.interpolate),this.dependencyTracker&&(this.dependencyTracker.resetBBox(e2).recordBBox(e2,a2,0,n2,-r2,0).recordDependencies(e2,ps.imageXObject).recordOperation(e2),this.imagesTracker?.record(a2,n2,r2,this.dependencyTracker.clipBox)),drawImageAtIntegerCoords(a2,l2.img,0,0,l2.paintWidth,l2.paintHeight,0,-r2,n2,r2),l2.tmpCanvas&&this.canvasFactory.destroy(l2.tmpCanvas),c2&&this.canvasFactory.destroy(c2),this.compose(),this.restore(e2),this.#g(i2)}paintInlineImageXObjectGroup(e2,t2,n2){if(!this.contentVisible)return;let r2=this.#h(this.current.fillAlpha),i2=this.ctx,a2,o2=null;if(t2.bitmap)a2=t2.bitmap;else{let e3=t2.width,n3=t2.height,r3=this.canvasFactory.create(e3,n3);putBinaryImageData(r3.context,t2),a2=this.applyTransferMapsToCanvas(r3.context),o2=r3}this.dependencyTracker?.resetBBox(e2);for(let t3 of n2)i2.save(),i2.transform(...t3.transform),i2.scale(1,-1),drawImageAtIntegerCoords(i2,a2,t3.x,t3.y,t3.w,t3.h,0,-1,1,1),this.dependencyTracker?.recordBBox(e2,i2,0,1,-1,0),i2.restore();o2&&this.canvasFactory.destroy(o2),this.dependencyTracker?.recordOperation(e2),this.compose(),this.#g(r2)}paintSolidColorImageMask(e2){if(!this.contentVisible)return;let t2=this.#h(this.current.fillAlpha);this.dependencyTracker?.resetBBox(e2).recordBBox(e2,this.ctx,0,1,0,1).recordDependencies(e2,ps.fill).recordOperation(e2),this.ctx.fillRect(0,0,1,1),this.compose(),this.#g(t2)}markPoint(e2,t2){}markPointProps(e2,t2,n2){}beginMarkedContent(e2,t2){this.dependencyTracker?.beginMarkedContent(e2),this.markedContentStack.push({visible:!0})}beginMarkedContentProps(e2,t2,n2){this.dependencyTracker?.beginMarkedContent(e2),t2==="OC"?this.markedContentStack.push({visible:this.optionalContentConfig.isVisible(n2)}):this.markedContentStack.push({visible:!0}),this.contentVisible=this.isContentVisible()}endMarkedContent(e2){this.dependencyTracker?.endMarkedContent(e2),this.markedContentStack.pop(),this.contentVisible=this.isContentVisible()}beginCompat(e2){}endCompat(e2){}consumePath(e2,t2,n2){let r2=this.current.isEmptyClip();this.pendingClip&&this.current.updateClipFromPath(),this.pendingClip||this.compose(n2);let i2=this.ctx;this.pendingClip?(r2||(this.pendingClip===Ds?i2.clip(t2,"evenodd"):i2.clip(t2)),this.pendingClip=null,this.dependencyTracker?.bboxToClipBoxDropOperation(e2).recordFutureForcedDependency("clipPath",e2)):this.dependencyTracker?.recordOperation(e2),this.current.startNewPathAndClipBox(this.current.clipBox)}getSinglePixelWidth(){if(!this._cachedGetSinglePixelWidth){let e2=getCurrentTransform(this.ctx);if(e2[1]===0&&e2[2]===0)this._cachedGetSinglePixelWidth=1/Math.min(Math.abs(e2[0]),Math.abs(e2[3]));else{let t2=Math.abs(e2[0]*e2[3]-e2[2]*e2[1]),n2=Math.hypot(e2[0],e2[2]),r2=Math.hypot(e2[1],e2[3]);this._cachedGetSinglePixelWidth=Math.max(n2,r2)/t2}}return this._cachedGetSinglePixelWidth}getScaleForStroking(){if(this._cachedScaleForStroking[0]===-1){let{lineWidth:e2}=this.current,{a:t2,b:n2,c:r2,d:i2}=this.ctx.getTransform(),a2,o2;if(n2===0&&r2===0){let n3=Math.abs(t2),r3=Math.abs(i2);if(n3===r3)if(e2===0)a2=o2=1/n3;else{let t3=n3*e2;a2=o2=t3<1?1/t3:1}else if(e2===0)a2=1/n3,o2=1/r3;else{let t3=n3*e2,i3=r3*e2;a2=t3<1?1/t3:1,o2=i3<1?1/i3:1}}else{let s2=Math.abs(t2*i2-n2*r2),c2=Math.hypot(t2,n2),l2=Math.hypot(r2,i2);if(e2===0)a2=l2/s2,o2=c2/s2;else{let t3=e2*s2;a2=l2>t3?l2/t3:1,o2=c2>t3?c2/t3:1}}this._cachedScaleForStroking[0]=a2,this._cachedScaleForStroking[1]=o2}return this._cachedScaleForStroking}rescaleAndStroke(e2,t2){let{ctx:n2,current:{lineWidth:r2}}=this,[i2,a2]=this.getScaleForStroking();if(i2===a2){n2.lineWidth=(r2||1)*i2,n2.stroke(e2);return}let o2=n2.getLineDash();t2&&n2.save(),n2.scale(i2,a2),Ss.a=1/i2,Ss.d=1/a2;let s2=new Path2D;if(s2.addPath(e2,Ss),o2.length>0){let e3=Math.max(i2,a2);n2.setLineDash(o2.map(t3=>t3/e3)),n2.lineDashOffset/=e3}n2.lineWidth=r2||1,n2.stroke(s2),t2&&n2.restore()}isContentVisible(){for(let e2=this.markedContentStack.length-1;e2>=0;e2--)if(!this.markedContentStack[e2].visible)return!1;return!0}};for(let e2 in Io)Os.prototype[e2]!==void 0&&(Os.prototype[Io[e2]]=Os.prototype[e2]);var BasePDFStream=class{#e=null;#t=null;_fullReader=null;_rangeReaders=new Set;_source=null;constructor(e2,t2,n2){this._source=e2,this.#e=t2,this.#t=n2}get _progressiveDataLength(){return this._fullReader?._loaded??0}getFullReader(){return assert(!this._fullReader,"BasePDFStream.getFullReader can only be called once."),this._fullReader=new this.#e(this)}getRangeReader(e2,t2){if(t2<=this._progressiveDataLength)return null;let n2=new this.#t(this,e2,t2);return this._rangeReaders.add(n2),n2}cancelAllRequests(e2){this._fullReader?.cancel(e2);for(let t2 of new Set(this._rangeReaders))t2.cancel(e2)}},BasePDFStreamReader=class{onProgress=null;_contentLength=0;_filename=null;_headersCapability=Promise.withResolvers();_isRangeSupported=!1;_isStreamingSupported=!1;_loaded=0;_stream=null;constructor(e2){this._stream=e2}_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(){unreachable("Abstract method `read` called")}cancel(e2){unreachable("Abstract method `cancel` called")}},BasePDFStreamRangeReader=class{_stream=null;constructor(e2,t2,n2){this._stream=e2}async read(){unreachable("Abstract method `read` called")}cancel(e2){unreachable("Abstract method `cancel` called")}};function getFilenameFromContentDispositionHeader(e2){let t2=!0,n2=toParamRegExp("filename\\*","i").exec(e2);if(n2){n2=n2[1];let e3=rfc2616unquote(n2);return e3=unescape(e3),e3=rfc5987decode(e3),e3=rfc2047decode(e3),fixupEncoding(e3)}if(n2=rfc2231getparam(e2),n2)return fixupEncoding(rfc2047decode(n2));if(n2=toParamRegExp("filename","i").exec(e2),n2){n2=n2[1];let e3=rfc2616unquote(n2);return e3=rfc2047decode(e3),fixupEncoding(e3)}function toParamRegExp(e3,t3){return RegExp("(?:^|;)\\s*"+e3+'\\s*=\\s*([^";\\s][^;\\s]*|"(?:[^"\\\\]|\\\\"?)+"?)',t3)}function textdecode(e3,n3){if(e3){if(!/^[\x00-\xFF]+$/.test(n3))return n3;try{let r2=new TextDecoder(e3,{fatal:!0}),i2=stringToBytes(n3);n3=r2.decode(i2),t2=!1}catch{}}return n3}function fixupEncoding(e3){return t2&&/[\x80-\xff]/.test(e3)&&(e3=textdecode("utf-8",e3),t2&&(e3=textdecode("iso-8859-1",e3))),e3}function rfc2231getparam(e3){let t3=[],n3,r2=toParamRegExp("filename\\*((?!0\\d)\\d+)(\\*?)","ig");for(;(n3=r2.exec(e3))!==null;){let[,e4,r3,i3]=n3;if(e4=parseInt(e4,10),e4 in t3){if(e4===0)break;continue}t3[e4]=[r3,i3]}let i2=[];for(let e4=0;e4<t3.length&&e4 in t3;++e4){let[n4,r3]=t3[e4];r3=rfc2616unquote(r3),n4&&(r3=unescape(r3),e4===0&&(r3=rfc5987decode(r3))),i2.push(r3)}return i2.join("")}function rfc2616unquote(e3){if(e3.startsWith('"')){let t3=e3.slice(1).split('\\"');for(let e4=0;e4<t3.length;++e4){let n3=t3[e4].indexOf('"');n3!==-1&&(t3[e4]=t3[e4].slice(0,n3),t3.length=e4+1),t3[e4]=t3[e4].replaceAll(/\\(.)/g,"$1")}e3=t3.join('"')}return e3}function rfc5987decode(e3){let t3=e3.indexOf("'");return t3===-1?e3:textdecode(e3.slice(0,t3),e3.slice(t3+1).replace(/^[^']*'/,""))}function rfc2047decode(e3){return!e3.startsWith("=?")||/[\x00-\x19\x80-\xff]/.test(e3)?e3:e3.replaceAll(/=\?([\w-]*)\?([QB])\?((?:[^?]|\?(?!=))*)\?=/gi,function(e4,t3,n3,r2){if(n3==="q"||n3==="Q")return r2=r2.replaceAll("_"," "),r2=r2.replaceAll(/=([0-9a-f]{2})/gi,function(e5,t4){return String.fromCharCode(parseInt(t4,16))}),textdecode(t3,r2);try{r2=atob(r2)}catch{}return textdecode(t3,r2)})}return""}function createHeaders(e2,t2){let n2=new Headers;if(!e2||!t2||typeof t2!="object")return n2;for(let e3 in t2){let r2=t2[e3];r2!==void 0&&n2.append(e3,r2)}return n2}function getResponseOrigin(e2){return URL.parse(e2)?.origin??null}function validateRangeRequestCapabilities({responseHeaders:e2,isHttp:t2,rangeChunkSize:n2,disableRange:r2}){let i2={contentLength:0,isRangeSupported:!1},a2=parseInt(e2.get("Content-Length"),10);return!Number.isInteger(a2)||(i2.contentLength=a2,a2<=2*n2)||r2||!t2||e2.get("Accept-Ranges")!=="bytes"||(e2.get("Content-Encoding")||"identity")==="identity"&&(i2.isRangeSupported=!0),i2}function extractFilenameFromHeader(e2){let t2=e2.get("Content-Disposition");if(t2){let e3=getFilenameFromContentDispositionHeader(t2);if(e3.includes("%"))try{e3=decodeURIComponent(e3)}catch{}if(isPdfFile(e3))return e3}return null}function createResponseError(e2,t2){return new ResponseException(`Unexpected server response (${e2}) while retrieving PDF "${t2.href}".`,e2,e2===404||e2===0&&t2.protocol==="file:")}function ensureResponseOrigin(e2,t2){if(e2!==t2)throw Error(`Expected range response-origin "${e2}" to match "${t2}".`)}function fetchUrl(e2,t2,n2,r2){return fetch(e2,{method:"GET",headers:t2,signal:r2.signal,mode:"cors",credentials:n2?"include":"same-origin",redirect:"follow"})}function ensureResponseStatus(e2,t2){if(e2!==200&&e2!==206)throw createResponseError(e2,t2)}function getArrayBuffer(e2){if(e2 instanceof Uint8Array)return e2.buffer;if(e2 instanceof ArrayBuffer)return e2;throw Error(`getArrayBuffer - unexpected data: ${e2}`)}var PDFFetchStream=class extends BasePDFStream{_responseOrigin=null;constructor(e2){super(e2,PDFFetchStreamReader,PDFFetchStreamRangeReader);let{httpHeaders:t2,url:n2}=e2;assert(/https?:/.test(n2.protocol),"PDFFetchStream only supports http(s):// URLs."),this.headers=createHeaders(!0,t2)}},PDFFetchStreamReader=class extends BasePDFStreamReader{_abortController=new AbortController;_reader=null;constructor(e2){super(e2);let{disableRange:t2,disableStream:n2,rangeChunkSize:r2,url:i2,withCredentials:a2}=e2._source;this._isStreamingSupported=!n2,fetchUrl(i2,new Headers(e2.headers),a2,this._abortController).then(n3=>{e2._responseOrigin=getResponseOrigin(n3.url),ensureResponseStatus(n3.status,i2),this._reader=n3.body.getReader();let a3=n3.headers,{contentLength:o2,isRangeSupported:s2}=validateRangeRequestCapabilities({responseHeaders:a3,isHttp:!0,rangeChunkSize:r2,disableRange:t2});this._contentLength=o2,this._isRangeSupported=s2,this._filename=extractFilenameFromHeader(a3),!this._isStreamingSupported&&this._isRangeSupported&&this.cancel(new AbortException("Streaming is disabled.")),this._headersCapability.resolve()}).catch(this._headersCapability.reject)}async read(){await this._headersCapability.promise;let{value:e2,done:t2}=await this._reader.read();return t2?{value:e2,done:t2}:(this._loaded+=e2.byteLength,this._callOnProgress(),{value:getArrayBuffer(e2),done:!1})}cancel(e2){this._reader?.cancel(e2),this._abortController.abort()}},PDFFetchStreamRangeReader=class extends BasePDFStreamRangeReader{_abortController=new AbortController;_readCapability=Promise.withResolvers();_reader=null;constructor(e2,t2,n2){super(e2,t2,n2);let{url:r2,withCredentials:i2}=e2._source,a2=new Headers(e2.headers);a2.append("Range",`bytes=${t2}-${n2-1}`),fetchUrl(r2,a2,i2,this._abortController).then(t3=>{ensureResponseOrigin(getResponseOrigin(t3.url),e2._responseOrigin),ensureResponseStatus(t3.status,r2),this._reader=t3.body.getReader(),this._readCapability.resolve()}).catch(this._readCapability.reject)}async read(){await this._readCapability.promise;let{value:e2,done:t2}=await this._reader.read();return t2?{value:e2,done:t2}:{value:getArrayBuffer(e2),done:!1}}cancel(e2){this._reader?.cancel(e2),this._abortController.abort()}};function transport_stream_getArrayBuffer(e2){return e2 instanceof Uint8Array&&e2.byteLength===e2.buffer.byteLength?e2.buffer:new Uint8Array(e2).buffer}function endRequests(){for(let e2 of this._requests)e2.resolve({value:void 0,done:!0});this._requests.length=0}var PDFDataTransportStream=class extends BasePDFStream{_progressiveDone=!1;_queuedChunks=[];constructor(e2){super(e2,PDFDataTransportStreamReader,PDFDataTransportStreamRangeReader);let{pdfDataRangeTransport:t2}=e2,{initialData:n2,progressiveDone:r2}=t2;if(n2?.length>0){let e3=transport_stream_getArrayBuffer(n2);this._queuedChunks.push(e3)}this._progressiveDone=r2;let listener=e3=>{switch(e3.type){case"range":case"progressiveRead":this.#e(e3.begin,e3.chunk);break;case"progressiveDone":this._fullReader?.progressiveDone(),this._progressiveDone=!0;break}};t2.transportReady(listener)}#e(e2,t2){let n2=transport_stream_getArrayBuffer(t2);if(e2===void 0)this._fullReader?this._fullReader._enqueue(n2):this._queuedChunks.push(n2);else{let t3=this._rangeReaders.keys().find(t4=>t4._begin===e2);assert(t3,"#onReceiveData - no `PDFDataTransportStreamRangeReader` instance found."),t3._enqueue(n2)}}getFullReader(){let e2=super.getFullReader();return this._queuedChunks=null,e2}getRangeReader(e2,t2){let n2=super.getRangeReader(e2,t2);return n2&&(n2.onDone=()=>this._rangeReaders.delete(n2),this._source.pdfDataRangeTransport.requestDataRange(e2,t2)),n2}cancelAllRequests(e2){super.cancelAllRequests(e2),this._source.pdfDataRangeTransport.abort()}},PDFDataTransportStreamReader=class extends BasePDFStreamReader{#e=endRequests.bind(this);_done=!1;_queuedChunks=null;_requests=[];constructor(e2){super(e2);let{pdfDataRangeTransport:t2,disableRange:n2,disableStream:r2}=e2._source,{length:i2,contentDispositionFilename:a2}=t2;this._queuedChunks=e2._queuedChunks||[];for(let e3 of this._queuedChunks)this._loaded+=e3.byteLength;this._done=e2._progressiveDone,this._contentLength=i2,this._isStreamingSupported=!r2,this._isRangeSupported=!n2,isPdfFile(a2)&&(this._filename=a2),this._headersCapability.resolve();let o2=this._loaded;Promise.resolve().then(()=>{o2>0&&this._loaded===o2&&this._callOnProgress()})}_enqueue(e2){this._done||(this._requests.length>0?this._requests.shift().resolve({value:e2,done:!1}):this._queuedChunks.push(e2),this._loaded+=e2.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 e2=Promise.withResolvers();return this._requests.push(e2),e2.promise}cancel(e2){this._done=!0,this.#e()}progressiveDone(){this._done||=!0,this._queuedChunks.length===0&&this.#e()}},PDFDataTransportStreamRangeReader=class extends BasePDFStreamRangeReader{#e=endRequests.bind(this);onDone=null;_begin=-1;_done=!1;_queuedChunk=null;_requests=[];constructor(e2,t2,n2){super(e2,t2,n2),this._begin=t2}_enqueue(e2){this._done||(this._requests.length===0?this._queuedChunk=e2:(this._requests.shift().resolve({value:e2,done:!1}),this.#e()),this._done=!0,this.onDone?.())}async read(){if(this._queuedChunk){let e3=this._queuedChunk;return this._queuedChunk=null,{value:e3,done:!1}}if(this._done)return{value:void 0,done:!0};let e2=Promise.withResolvers();return this._requests.push(e2),e2.promise}cancel(e2){this._done=!0,this.#e(),this.onDone?.()}};function network_getArrayBuffer(e2){return typeof e2=="string"?stringToBytes(e2).buffer:e2}var PDFNetworkStream=class extends BasePDFStream{#e=new WeakMap;_responseOrigin=null;constructor(e2){super(e2,PDFNetworkStreamReader,PDFNetworkStreamRangeReader);let{httpHeaders:t2,url:n2}=e2;this.url=n2,this.isHttp=/https?:/.test(n2.protocol),this.headers=createHeaders(this.isHttp,t2)}_request(e2){let t2=new XMLHttpRequest,n2={validateStatus:null,onHeadersReceived:e2.onHeadersReceived,onDone:e2.onDone,onError:e2.onError,onProgress:e2.onProgress};this.#e.set(t2,n2),t2.open("GET",this.url),t2.withCredentials=this._source.withCredentials;for(let[e3,n3]of this.headers)t2.setRequestHeader(e3,n3);return this.isHttp&&"begin"in e2&&"end"in e2?(t2.setRequestHeader("Range",`bytes=${e2.begin}-${e2.end-1}`),n2.validateStatus=e3=>e3===206||e3===200):n2.validateStatus=e3=>e3===200,t2.responseType="arraybuffer",assert(e2.onError,"Expected `onError` callback to be provided."),t2.onerror=()=>e2.onError(t2.status),t2.onreadystatechange=this.#n.bind(this,t2),t2.onprogress=this.#t.bind(this,t2),t2.send(null),t2}#t(e2,t2){this.#e.get(e2)?.onProgress?.(t2)}#n(e2,t2){let n2=this.#e.get(e2);if(!n2||(e2.readyState>=2&&n2.onHeadersReceived&&(n2.onHeadersReceived(),delete n2.onHeadersReceived),e2.readyState!==4)||!this.#e.has(e2))return;if(this.#e.delete(e2),e2.status===0&&this.isHttp){n2.onError(e2.status);return}let r2=e2.status||200;if(!n2.validateStatus(r2)){n2.onError(e2.status);return}let i2=network_getArrayBuffer(e2.response);if(r2===206){let t3=e2.getResponseHeader("Content-Range");/bytes \d+-\d+\/\d+/.test(t3)?n2.onDone(i2):(warn('Missing or invalid "Content-Range" header.'),n2.onError(0))}else i2?n2.onDone(i2):n2.onError(e2.status)}_abortRequest(e2){this.#e.has(e2)&&(this.#e.delete(e2),e2.abort())}getRangeReader(e2,t2){let n2=super.getRangeReader(e2,t2);return n2&&(n2.onClosed=()=>this._rangeReaders.delete(n2)),n2}},PDFNetworkStreamReader=class extends BasePDFStreamReader{#e=endRequests.bind(this);_cachedChunks=[];_done=!1;_requests=[];_storedError=null;constructor(e2){super(e2),this._fullRequestXhr=e2._request({onHeadersReceived:this.#t.bind(this),onDone:this.#n.bind(this),onError:this.#r.bind(this),onProgress:this.#i.bind(this)})}#t(){let e2=this._stream,{disableRange:t2,rangeChunkSize:n2}=e2._source,r2=this._fullRequestXhr;e2._responseOrigin=getResponseOrigin(r2.responseURL);let i2=r2.getAllResponseHeaders(),a2=new Headers(i2?i2.trimStart().replace(/[^\S ]+$/,"").split(/[\r\n]+/).map(e3=>{let[t3,...n3]=e3.split(": ");return[t3,n3.join(": ")]}):[]),{contentLength:o2,isRangeSupported:s2}=validateRangeRequestCapabilities({responseHeaders:a2,isHttp:e2.isHttp,rangeChunkSize:n2,disableRange:t2});this._contentLength=o2,this._isRangeSupported=s2,this._filename=extractFilenameFromHeader(a2),this._isRangeSupported&&e2._abortRequest(r2),this._headersCapability.resolve()}#n(e2){this._requests.length>0?this._requests.shift().resolve({value:e2,done:!1}):this._cachedChunks.push(e2),this._done=!0,this._cachedChunks.length===0&&this.#e()}#r(e2){this._storedError=createResponseError(e2,this._stream.url),this._headersCapability.reject(this._storedError);for(let e3 of this._requests)e3.reject(this._storedError);this._requests.length=0,this._cachedChunks.length=0}#i(e2){this.onProgress?.({loaded:e2.loaded,total:e2.lengthComputable?e2.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 e2=Promise.withResolvers();return this._requests.push(e2),e2.promise}cancel(e2){this._done=!0,this._headersCapability.reject(e2),this.#e(),this._stream._abortRequest(this._fullRequestXhr),this._fullRequestXhr=null}},PDFNetworkStreamRangeReader=class extends BasePDFStreamRangeReader{#e=endRequests.bind(this);onClosed=null;_done=!1;_queuedChunk=null;_requests=[];_storedError=null;constructor(e2,t2,n2){super(e2,t2,n2),this._requestXhr=e2._request({begin:t2,end:n2,onHeadersReceived:this.#t.bind(this),onDone:this.#n.bind(this),onError:this.#r.bind(this),onProgress:null})}#t(){let e2=getResponseOrigin(this._requestXhr?.responseURL);try{ensureResponseOrigin(e2,this._stream._responseOrigin)}catch(e3){this._storedError=e3,this.#r(0)}}#n(e2){this._requests.length>0?this._requests.shift().resolve({value:e2,done:!1}):this._queuedChunk=e2,this._done=!0,this.#e(),this.onClosed?.()}#r(e2){this._storedError??=createResponseError(e2,this._stream.url);for(let e3 of this._requests)e3.reject(this._storedError);this._requests.length=0,this._queuedChunk=null}async read(){if(this._storedError)throw this._storedError;if(this._queuedChunk!==null){let e3=this._queuedChunk;return this._queuedChunk=null,{value:e3,done:!1}}if(this._done)return{value:void 0,done:!0};let e2=Promise.withResolvers();return this._requests.push(e2),e2.promise}cancel(e2){this._done=!0,this.#e(),this._stream._abortRequest(this._requestXhr),this.onClosed?.()}};function getReadableStream(e2,t2=null){let n2=process.getBuiltinModule("fs"),{Readable:r2}=process.getBuiltinModule("stream"),i2=n2.createReadStream(e2,t2);return r2.toWeb(i2)}var PDFNodeStream=class extends BasePDFStream{constructor(e2){super(e2,PDFNodeStreamReader,PDFNodeStreamRangeReader);let{url:t2}=e2;assert(t2.protocol==="file:","PDFNodeStream only supports file:// URLs.")}},PDFNodeStreamReader=class extends BasePDFStreamReader{_reader=null;constructor(e2){super(e2);let{disableRange:t2,disableStream:n2,rangeChunkSize:r2,url:i2}=e2._source;this._isStreamingSupported=!n2,process.getBuiltinModule("fs/promises").lstat(i2).then(e3=>{let n3=getReadableStream(i2);this._reader=n3.getReader();let{size:a2}=e3;this._contentLength=a2,this._isRangeSupported=!t2&&a2>2*r2,!this._isStreamingSupported&&this._isRangeSupported&&this.cancel(new AbortException("Streaming is disabled.")),this._headersCapability.resolve()}).catch(e3=>{e3.code==="ENOENT"&&(e3=createResponseError(0,i2)),this._headersCapability.reject(e3)})}async read(){await this._headersCapability.promise;let{value:e2,done:t2}=await this._reader.read();return t2?{value:e2,done:t2}:(this._loaded+=e2.byteLength,this._callOnProgress(),{value:getArrayBuffer(e2),done:!1})}cancel(e2){this._reader?.cancel(e2)}},PDFNodeStreamRangeReader=class extends BasePDFStreamRangeReader{_readCapability=Promise.withResolvers();_reader=null;constructor(e2,t2,n2){super(e2,t2,n2);let{url:r2}=e2._source;try{let e3=getReadableStream(r2,{start:t2,end:n2-1});this._reader=e3.getReader(),this._readCapability.resolve()}catch(e3){this._readCapability.reject(e3)}}async read(){await this._readCapability.promise;let{value:e2,done:t2}=await this._reader.read();return t2?{value:e2,done:t2}:{value:getArrayBuffer(e2),done:!1}}cancel(e2){this._reader?.cancel(e2)}};function getNetworkStream(e2){return isValidFetchUrl(e2)?PDFFetchStream:vo?PDFNodeStream:PDFNetworkStream}var GlobalWorkerOptions=class{static#e=null;static#t="";static get workerPort(){return this.#e}static set workerPort(e2){if(!(typeof Worker<"u"&&e2 instanceof Worker)&&e2!==null)throw Error("Invalid `workerPort` type.");this.#e=e2}static get workerSrc(){return this.#t}static set workerSrc(e2){if(typeof e2!="string")throw Error("Invalid `workerSrc` type.");this.#t=e2}},Metadata=class{#e;#t;constructor({parsedData:e2,rawData:t2}){this.#e=e2,this.#t=t2}getRaw(){return this.#t}get(e2){return this.#e.get(e2)??null}[Symbol.iterator](){return this.#e.entries()}},ks=Symbol("INTERNAL"),OptionalContentGroup=class{#e=!1;#t=!1;#n=!1;#r=!0;constructor(e2,{name:t2,intent:n2,usage:r2,rbGroups:i2}){this.#e=!!(e2&wo.DISPLAY),this.#t=!!(e2&wo.PRINT),this.name=t2,this.intent=n2,this.usage=r2,this.rbGroups=i2}get visible(){if(this.#n)return this.#r;if(!this.#r)return!1;let{print:e2,view:t2}=this.usage;return this.#e?t2?.viewState!=="OFF":!this.#t||e2?.printState!=="OFF"}_setVisible(e2,t2,n2=!1){e2!==ks&&unreachable("Internal method `_setVisible` called."),this.#n=n2,this.#r=t2}get serializable(){return{userSet:this.#n,visible:this.#r}}},As=class OptionalContentConfig{#e=null;#t=new Map;#n=null;#r=null;#i;creator=null;name=null;constructor(e2,t2=wo.DISPLAY,n2=null){if(this.#i=e2,this.renderingIntent=t2,e2!==null){this.name=e2.name,this.creator=e2.creator,this.#r=e2.order;for(let n3 of e2.groups)this.#t.set(n3.id,new OptionalContentGroup(t2,n3));if(n2){n2.size!==this.#t.size&&unreachable("Incorrect serialized groupState.");for(let[e3,t3]of n2)this.#t.get(e3)._setVisible(ks,t3.visible,t3.userSet)}else{if(e2.baseState==="OFF")for(let e3 of this.#t.values())e3._setVisible(ks,!1);for(let t3 of e2.on)this.#t.get(t3)._setVisible(ks,!0);for(let t3 of e2.off)this.#t.get(t3)._setVisible(ks,!1)}this.#n=this.getHash()}}#a(e2){let t2=e2.length;if(t2<2)return!0;let n2=e2[0];for(let r2=1;r2<t2;r2++){let t3=e2[r2],i2;if(Array.isArray(t3))i2=this.#a(t3);else if(this.#t.has(t3))i2=this.#t.get(t3).visible;else return warn(`Optional content group not found: ${t3}`),!0;switch(n2){case"And":if(!i2)return!1;break;case"Or":if(i2)return!0;break;case"Not":return!i2;default:return!0}}return n2==="And"}isVisible(e2){if(this.#t.size===0)return!0;if(!e2)return info("Optional content group not defined."),!0;if(e2.type==="OCG")return this.#t.has(e2.id)?this.#t.get(e2.id).visible:(warn(`Optional content group not found: ${e2.id}`),!0);if(e2.type==="OCMD"){if(e2.expression)return this.#a(e2.expression);if(!e2.policy||e2.policy==="AnyOn"){for(let t2 of e2.ids){if(!this.#t.has(t2))return warn(`Optional content group not found: ${t2}`),!0;if(this.#t.get(t2).visible)return!0}return!1}else if(e2.policy==="AllOn"){for(let t2 of e2.ids){if(!this.#t.has(t2))return warn(`Optional content group not found: ${t2}`),!0;if(!this.#t.get(t2).visible)return!1}return!0}else if(e2.policy==="AnyOff"){for(let t2 of e2.ids){if(!this.#t.has(t2))return warn(`Optional content group not found: ${t2}`),!0;if(!this.#t.get(t2).visible)return!0}return!1}else if(e2.policy==="AllOff"){for(let t2 of e2.ids){if(!this.#t.has(t2))return warn(`Optional content group not found: ${t2}`),!0;if(this.#t.get(t2).visible)return!1}return!0}return warn(`Unknown optional content policy ${e2.policy}.`),!0}return warn(`Unknown group type ${e2.type}.`),!0}setVisibility(e2,t2=!0,n2=!0){let r2=this.#t.get(e2);if(!r2){warn(`Optional content group not found: ${e2}`);return}if(n2&&t2&&r2.rbGroups.length)for(let t3 of r2.rbGroups)for(let n3 of t3)n3!==e2&&this.#t.get(n3)?._setVisible(ks,!1,!0);r2._setVisible(ks,!!t2,!0),this.#e=null}setOCGState({state:e2,preserveRB:t2}){let n2;for(let r2 of e2){switch(r2){case"ON":case"OFF":case"Toggle":n2=r2;continue}let e3=this.#t.get(r2);if(e3)switch(n2){case"ON":this.setVisibility(r2,!0,t2);break;case"OFF":this.setVisibility(r2,!1,t2);break;case"Toggle":this.setVisibility(r2,!e3.visible,t2);break}}this.#e=null}get hasInitialVisibility(){return this.#n===null||this.getHash()===this.#n}getOrder(){return this.#t.size?this.#r?this.#r.slice():[...this.#t.keys()]:null}getGroup(e2){return this.#t.get(e2)||null}getHash(){if(this.#e!==null)return this.#e;let e2=new MurmurHash3_64;for(let[t2,n2]of this.#t)e2.update(`${t2}:${n2.visible}`);return this.#e=e2.hexdigest()}[Symbol.iterator](){return this.#t.entries()}get serializable(){let e2=new Map;for(let[t2,n2]of this.#t)e2.set(t2,n2.serializable);return{data:this.#i,renderingIntent:this.renderingIntent,groupState:e2}}static fromSerializable({data:e2,renderingIntent:t2,groupState:n2}){return new OptionalContentConfig(e2,t2,n2)}},PagesMapper=class{#e=null;#t=null;#n=0;#r=null;#i=null;get pagesNumber(){return this.#n}set pagesNumber(e2){this.#n!==e2&&(this.#n=e2,this.#e=null,this.#t=null)}#a(){if(this.#e)return;let e2=this.#n,t2=this.#e=new Uint32Array(e2);for(let n2=0;n2<e2;n2++)t2[n2]=n2+1;this.#t=new Int32Array(t2)}#o(){let e2=new Map,t2=this.#e;for(let n2=0,r2=this.#n;n2<r2;n2++){let r3=t2[n2],i2=e2.get(r3);i2?i2.push(n2+1):e2.set(r3,[n2+1])}return e2}movePages(e2,t2,n2){this.#a();let r2=this.#e,i2=this.#o(),a2=t2.length,o2=new Uint32Array(a2),s2=0;for(let e3=0;e3<a2;e3++){let i3=t2[e3]-1;o2[e3]=r2[i3],i3<n2&&s2++}let c2=this.#n,l2=c2-a2,u2=MathClamp(n2-s2,0,l2);for(let t3=0,n3=0;t3<c2;t3++)e2.has(t3+1)||(r2[n3++]=r2[t3]);r2.copyWithin(u2+a2,u2,l2),r2.set(o2,u2),this.#s(i2),r2.every((e3,t3)=>e3===t3+1)&&(this.#e=null)}deletePages(e2){this.#a();let t2=this.#e,n2=this.#o();this.#i={pageNumberToId:t2.slice(),pagesNumber:this.#n,prevPageNumbers:this.#t.slice()};let r2=this.#n-e2.length;this.#n=r2;let i2=this.#e=new Uint32Array(r2);this.#t=new Int32Array(r2);let a2=0,o2=0;for(let n3 of e2){let e3=n3-1;e3!==a2&&(i2.set(t2.subarray(a2,e3),o2),o2+=e3-a2),a2=e3+1}a2<t2.length&&i2.set(t2.subarray(a2),o2),this.#s(n2,new Set(e2))}cancelDelete(){this.#i&&=(this.#e=this.#i.pageNumberToId,this.#n=this.#i.pagesNumber,this.#t=this.#i.prevPageNumbers,null)}cleanSavedData(){this.#i=null}copyPages(e2){this.#a(),this.#r={pageNumbers:e2,pageIds:e2.map(e3=>this.#e[e3-1])}}cancelCopy(){this.#r=null}pastePages(e2){this.#a();let t2=this.#e,n2=this.#o(),{pageNumbers:r2,pageIds:i2}=this.#r,a2=this.#n+r2.length;this.#n=a2;let o2=this.#e=new Uint32Array(a2);this.#t=new Int32Array(a2),o2.set(t2.subarray(0,e2),0),o2.set(i2,e2),o2.set(t2.subarray(e2),e2+r2.length),this.#s(n2,null,e2,r2),this.#r=null}#s(e2,t2=null,n2=-1,r2=null){let i2=this.#t,a2=this.#e,o2=n2+(r2?.length??0),s2=new Map;for(let c2=0,l2=this.#n;c2<l2;c2++){if(c2>=n2&&c2<o2){i2[c2]=-r2[c2-n2];continue}let l3=a2[c2],u2=e2.get(l3),d2=s2.get(l3)||0;if(t2&&u2)for(;d2<u2.length&&t2.has(u2[d2]);)d2++;i2[c2]=u2?.[d2],s2.set(l3,d2+1)}}hasBeenAltered(){return this.#e!==null}getPageMappingForSaving(e2=null){e2??=this.#o();let t2=0;for(let n3 of e2.values())t2=Math.max(t2,n3.length);let n2=Array(t2);for(let e3=0;e3<t2;e3++)n2[e3]={document:null,pageIndices:[],includePages:[]};for(let[t3,r2]of e2)for(let e3=0,i2=r2.length;e3<i2;e3++)n2[e3].includePages.push([t3-1,r2[e3]-1]);for(let{includePages:e3,pageIndices:t3}of n2){e3.sort((e4,t4)=>e4[0]-t4[0]);for(let n3=0,r2=e3.length;n3<r2;n3++)t3.push(e3[n3][1]),e3[n3]=e3[n3][0]}return n2}extractPages(e2){e2=Array.from(e2).sort((e3,t3)=>e3-t3);let t2=new Map;for(let n2=0,r2=e2.length;n2<r2;n2++){let r3=this.getPageId(e2[n2]);t2.getOrInsertComputed(r3,makeArr).push(n2+1)}return this.getPageMappingForSaving(t2)}getPrevPageNumber(e2){return this.#t?.[e2-1]??0}getPageNumber(e2){if(!this.#e)return e2;let t2=this.#e;for(let n2=0,r2=this.#n;n2<r2;n2++)if(t2[n2]===e2)return n2+1;return 0}getPageId(e2){return this.#e?.[e2-1]??e2}getMapping(){return this.#e?.subarray(0,this.pagesNumber)}},js=Symbol("INITIAL_DATA"),dataObj=()=>({...Promise.withResolvers(),data:js}),PDFObjects=class{#e=new Map;get(e2,t2=null){if(t2){let n3=this.#e.getOrInsertComputed(e2,dataObj);return n3.promise.then(()=>t2(n3.data)),null}let n2=this.#e.get(e2);if(!n2||n2.data===js)throw Error(`Requesting object that isn't resolved yet ${e2}.`);return n2.data}has(e2){let t2=this.#e.get(e2);return!!t2&&t2.data!==js}delete(e2){let t2=this.#e.get(e2);return!t2||t2.data===js?!1:(this.#e.delete(e2),!0)}resolve(e2,t2=null){let n2=this.#e.getOrInsertComputed(e2,dataObj);if(n2.data!==js)throw Error(`Object already resolved ${e2}.`);n2.data=t2,n2.resolve()}clear(){for(let{data:e2}of this.#e.values())e2?.bitmap?.close();this.#e.clear()}*[Symbol.iterator](){for(let[e2,{data:t2}]of this.#e)t2!==js&&(yield[e2,t2])}},Ms=class TextLayer{#e=Promise.withResolvers();#t=null;#n=!1;#r=!!globalThis.FontInspector?.enabled;#i=null;#a=null;#o=null;#s=0;#c=0;#l=null;#u=null;#d=0;#f=0;#p=Object.create(null);#m=[];#h=null;#g=[];#_=new WeakMap;#v=null;static#y=new Map;static#b=new Map;static#x=new WeakMap;static#S=null;static#C=new Set;constructor({textContentSource:e2,images:t2,container:n2,viewport:r2}){if(e2 instanceof ReadableStream)this.#h=e2;else if(typeof e2=="object")this.#h=new ReadableStream({start(t3){t3.enqueue(e2),t3.close()}});else throw Error('No "textContentSource" parameter specified.');this.#t=this.#u=n2,this.#i=t2,this.#f=r2.scale*Go.pixelRatio,this.#d=r2.rotation,this.#o={div:null,properties:null,ctx:null};let{pageWidth:i2,pageHeight:a2,pageX:o2,pageY:s2}=r2.rawDims;this.#v=[1,0,0,-1,-o2,s2+a2],this.#c=i2,this.#s=a2,TextLayer.#k(),n2.style.setProperty("--min-font-size",TextLayer.#S),setLayerDimensions(n2,r2),this.#e.promise.finally(()=>{TextLayer.#C.delete(this),this.#o=null,this.#p=null}).catch(()=>{})}static get fontFamilyMap(){let{isWindows:e2,isFirefox:t2}=FeatureTest.platform;return shadow(this,"fontFamilyMap",new Map([["sans-serif",`${e2&&t2?"Calibri, ":""}sans-serif`],["monospace",`${e2&&t2?"Lucida Console, ":""}monospace`]]))}render(){this.#i&&this.#t.append(this.#i.render());let pump=()=>{this.#l.read().then(({value:e2,done:t2})=>{if(t2){this.#e.resolve();return}this.#a??=e2.lang,Object.assign(this.#p,e2.styles),this.#w(e2.items),pump()},this.#e.reject)};return this.#l=this.#h.getReader(),TextLayer.#C.add(this),pump(),this.#e.promise}update({viewport:e2,onBefore:t2=null}){let n2=e2.scale*Go.pixelRatio,r2=e2.rotation;if(r2!==this.#d&&(t2?.(),this.#d=r2,setLayerDimensions(this.#u,{rotation:r2})),n2!==this.#f){t2?.(),this.#f=n2;let e3={div:null,properties:null,ctx:TextLayer.#D(this.#a)};for(let t3 of this.#g)e3.properties=this.#_.get(t3),e3.div=t3,this.#E(e3)}}cancel(){let e2=new AbortException("TextLayer task cancelled.");this.#l?.cancel(e2).catch(()=>{}),this.#l=null,this.#e.reject(e2)}get textDivs(){return this.#g}get textContentItemsStr(){return this.#m}#w(e2){if(this.#n)return;this.#o.ctx??=TextLayer.#D(this.#a);let t2=this.#g,n2=this.#m;for(let r2 of e2){if(t2.length>1e5){warn("Ignoring additional textDivs for performance reasons."),this.#n=!0;return}if(r2.str===void 0){if(r2.type==="beginMarkedContentProps"||r2.type==="beginMarkedContent"){let e3=this.#t;this.#t=document.createElement("span"),this.#t.classList.add("markedContent"),r2.id&&this.#t.setAttribute("id",`${r2.id}`),r2.tag==="Artifact"&&(this.#t.ariaHidden=!0),e3.append(this.#t)}else r2.type==="endMarkedContent"&&(this.#t=this.#t.parentNode);continue}n2.push(r2.str),this.#T(r2)}}#T(e2){let t2=document.createElement("span"),n2={angle:0,canvasWidth:0,hasText:e2.str!=="",hasEOL:e2.hasEOL,fontSize:0};this.#g.push(t2);let r2=Util.transform(this.#v,e2.transform),i2=Math.atan2(r2[1],r2[0]),a2=this.#p[e2.fontName];a2.vertical&&(i2+=Math.PI/2);let o2=this.#r&&a2.fontSubstitution||a2.fontFamily;o2=TextLayer.fontFamilyMap.get(o2)||o2;let s2=Math.hypot(r2[2],r2[3]),c2=s2*TextLayer.#A(o2,a2,this.#a),l2,u2;i2===0?(l2=r2[4],u2=r2[5]-c2):(l2=r2[4]+c2*Math.sin(i2),u2=r2[5]-c2*Math.cos(i2));let d2=t2.style;d2.left=`${(100*l2/this.#c).toFixed(2)}%`,d2.top=`${(100*u2/this.#s).toFixed(2)}%`,d2.setProperty("--font-height",`${s2.toFixed(2)}px`),d2.fontFamily=o2,n2.fontSize=s2,t2.setAttribute("role","presentation"),t2.textContent=e2.str,t2.dir=e2.dir,this.#r&&(t2.dataset.fontName=a2.fontSubstitutionLoadedName||e2.fontName),i2!==0&&(n2.angle=180/Math.PI*i2);let f2=!1;if(e2.str.length>1)f2=!0;else if(e2.str!==" "&&e2.transform[0]!==e2.transform[3]){let t3=Math.abs(e2.transform[0]),n3=Math.abs(e2.transform[3]);t3!==n3&&Math.max(t3,n3)/Math.min(t3,n3)>1.5&&(f2=!0)}if(f2&&(n2.canvasWidth=a2.vertical?e2.height:e2.width),this.#_.set(t2,n2),this.#o.div=t2,this.#o.properties=n2,this.#E(this.#o),n2.hasText&&this.#t.append(t2),n2.hasEOL){let e3=document.createElement("br");e3.setAttribute("role","presentation"),this.#t.append(e3)}}#E(e2){let{div:t2,properties:n2,ctx:r2}=e2,{style:i2}=t2;if(n2.canvasWidth!==0&&n2.hasText){let{fontFamily:e3}=i2,{canvasWidth:a2,fontSize:o2}=n2;TextLayer.#O(r2,o2*this.#f,e3);let{width:s2}=r2.measureText(t2.textContent);s2>0&&i2.setProperty("--scale-x",a2*this.#f/s2)}n2.angle!==0&&i2.setProperty("--rotate",`${n2.angle}deg`)}static cleanup(){if(!(this.#C.size>0)){this.#y.clear();for(let{canvas:e2}of this.#b.values())e2.remove();this.#b.clear()}}static#D(e2=null){let t2=this.#b.get(e2||="");if(!t2){let n2=document.createElement("canvas");n2.style.cssText="position:absolute;top:0;left:0;width:0;height:0;display:none;letter-spacing:normal;word-spacing:normal",n2.lang=e2,document.body.append(n2),t2=n2.getContext("2d",{alpha:!1,willReadFrequently:!0}),this.#b.set(e2,t2),this.#x.set(t2,{size:0,family:""})}return t2}static#O(e2,t2,n2){let r2=this.#x.get(e2);(t2!==r2.size||n2!==r2.family)&&(e2.font=`${t2}px ${n2}`,r2.size=t2,r2.family=n2)}static#k(){if(this.#S!==null)return;let e2=document.createElement("div");e2.style.opacity=0,e2.style.lineHeight=1,e2.style.fontSize="1px",e2.style.position="absolute",e2.textContent="X",document.body.append(e2),this.#S=e2.getBoundingClientRect().height,e2.remove()}static#A(e2,t2,n2){let r2=this.#y.get(e2);if(r2)return r2;let i2=this.#D(n2);i2.canvas.width=i2.canvas.height=30,this.#O(i2,30,e2);let a2=i2.measureText(""),o2=a2.fontBoundingBoxAscent,s2=Math.abs(a2.fontBoundingBoxDescent);i2.canvas.width=i2.canvas.height=0;let c2=.8;return o2?c2=o2/(o2+s2):(FeatureTest.platform.isFirefox&&warn("Enable the `dom.textMetrics.fontBoundingBox.enabled` preference in `about:config` to improve TextLayer rendering."),t2.ascent?c2=t2.ascent:t2.descent&&(c2=1+t2.descent)),this.#y.set(e2,c2),c2}};function getDocument(e2={}){let t2=new Ns,{docId:n2}=t2,r2=e2.url?getUrlProp(e2.url):null,i2=e2.data?getDataProp(e2.data):null,a2=e2.httpHeaders||null,o2=e2.withCredentials===!0,s2=e2.password??null,c2=e2.range instanceof PDFDataRangeTransport?e2.range:null,l2=Number.isInteger(e2.rangeChunkSize)&&e2.rangeChunkSize>0?e2.rangeChunkSize:2**16,u2=e2.worker instanceof Is?e2.worker:null,d2=e2.verbosity,f2=typeof e2.docBaseUrl=="string"&&!isDataScheme(e2.docBaseUrl)?e2.docBaseUrl:null,p2=getFactoryUrlProp(e2.cMapUrl),m2=e2.cMapPacked!==!1,h2=getFactoryUrlProp(e2.iccUrl),g2=getFactoryUrlProp(e2.standardFontDataUrl),_2=getFactoryUrlProp(e2.wasmUrl),v2=e2.stopAtErrors!==!0,y2=Number.isInteger(e2.maxImageSize)&&e2.maxImageSize>-1?e2.maxImageSize:-1,b2=typeof e2.isOffscreenCanvasSupported=="boolean"?e2.isOffscreenCanvasSupported:!vo,x2=typeof e2.isImageDecoderSupported=="boolean"?e2.isImageDecoderSupported:!vo,S2=Number.isInteger(e2.canvasMaxAreaInBytes)?e2.canvasMaxAreaInBytes:-1,C2=typeof e2.disableFontFace=="boolean"?e2.disableFontFace:vo,w2=e2.fontExtraProperties===!0,T2=e2.enableXfa===!0,E2=e2.ownerDocument||globalThis.document,D2=e2.disableRange===!0,O2=e2.disableStream===!0,k2=e2.disableAutoFetch===!0,j2=e2.pdfBug===!0,ee2=e2.CanvasFactory||(vo?NodeCanvasFactory:DOMCanvasFactory),M2=e2.FilterFactory||(vo?NodeFilterFactory:DOMFilterFactory),te2=e2.BinaryDataFactory||(vo?NodeBinaryDataFactory:DOMBinaryDataFactory),ne2=e2.enableHWA===!0,re2=e2.enableWebGPU===!0?initGPU():Promise.resolve(!1),ie2=e2.useWasm!==!1,N2=e2.pagesMapper||new PagesMapper,ae2=typeof e2.useSystemFonts=="boolean"?e2.useSystemFonts:!vo&&!C2,oe2=typeof e2.useWorkerFetch=="boolean"?e2.useWorkerFetch:!!(te2===DOMBinaryDataFactory&&p2&&m2&&g2&&_2&&isValidFetchUrl(p2,document.baseURI)&&isValidFetchUrl(g2,document.baseURI)&&isValidFetchUrl(_2,document.baseURI));setVerbosityLevel(d2);let F2={canvasFactory:new ee2({ownerDocument:E2,enableHWA:ne2}),filterFactory:new M2({docId:n2,ownerDocument:E2}),binaryDataFactory:oe2?null:new te2({cMapUrl:p2,standardFontDataUrl:g2,wasmUrl:_2})};u2||(u2=Is.create({verbosity:d2,port:GlobalWorkerOptions.workerPort}),t2._worker=u2);let L2={docId:n2,apiVersion:"6.1.200",data:i2,password:s2,disableAutoFetch:k2,rangeChunkSize:l2,docBaseUrl:f2,enableXfa:T2,evaluatorOptions:{maxImageSize:y2,disableFontFace:C2,ignoreErrors:v2,isOffscreenCanvasSupported:b2,isImageDecoderSupported:x2,canvasMaxAreaInBytes:S2,fontExtraProperties:w2,useSystemFonts:ae2,useWasm:ie2,useWorkerFetch:oe2,cMapUrl:p2,cMapPacked:m2,iccUrl:h2,standardFontDataUrl:g2,wasmUrl:_2,hasGPU:!1}},se2={ownerDocument:E2,pdfBug:j2,styleElement:null,enableHWA:ne2,loadingParams:{disableAutoFetch:k2,enableXfa:T2}};return Promise.all([u2.promise,re2]).then(function([,e3]){if(u2.destroyed)throw Error("Worker was destroyed");L2.evaluatorOptions.hasGPU=e3;let s3=u2.messageHandler.sendWithPromise("GetDocRequest",L2,i2?[i2.buffer]:null),d3;if(!i2)if(c2)d3=new PDFDataTransportStream({pdfDataRangeTransport:c2,disableRange:D2,disableStream:O2});else if(r2)d3=new(getNetworkStream(r2))({url:r2,httpHeaders:a2,withCredentials:o2,rangeChunkSize:l2,disableRange:D2,disableStream:O2});else throw Error("getDocument - expected either `data`, `range`, or `url` parameter.");return s3.then(e4=>{if(u2.destroyed)throw Error("Worker was destroyed");let r3=new MessageHandler(n2,e4,u2.port),i3=new WorkerTransport(r3,t2,d3,se2,F2,N2);if(t2._transport=i3,t2.destroyed)throw Error("Loading aborted");r3.send("Ready",null)})}).catch(t2._capability.reject).finally(t2._setupCapability.resolve),t2}var Ns=class PDFDocumentLoadingTask{static#e=0;_capability=Promise.withResolvers();_setupCapability=Promise.withResolvers();_transport=null;_worker=null;docId=`d${PDFDocumentLoadingTask.#e++}`;destroyed=!1;onPassword=null;onProgress=null;get promise(){return this._capability.promise}async destroy(){this.destroyed=!0,this._capability.promise.catch(()=>{});try{this._worker?.port&&(this._worker._pendingDestroy=!0),await this._setupCapability.promise,await this._transport?.destroy()}catch(e2){throw this._worker?.port&&delete this._worker._pendingDestroy,e2}this._transport=null,this._worker?.destroy(),this._worker=null}async getData(){return this._transport.getData()}},PDFDataRangeTransport=class{#e=Promise.withResolvers();#t=null;constructor(e2,t2,n2=!1,r2=null){this.length=e2,this.initialData=t2,this.progressiveDone=n2,this.contentDispositionFilename=r2}onDataRange(e2,t2){this.#t({type:"range",begin:e2,chunk:t2})}onDataProgressiveRead(e2){this.#e.promise.then(()=>{this.#t({type:"progressiveRead",chunk:e2})})}onDataProgressiveDone(){this.#e.promise.then(()=>{this.#t({type:"progressiveDone"})})}transportReady(e2){this.#t=e2,this.#e.resolve()}requestDataRange(e2,t2){unreachable("Abstract method PDFDataRangeTransport.requestDataRange")}abort(){}},PDFDocumentProxy=class{constructor(e2,t2){this._pdfInfo=e2,this._transport=t2}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 shadow(this,"isPureXfa",!!this._transport._htmlForXfa)}get allXfaHtml(){return this._transport._htmlForXfa}getPage(e2){return this._transport.getPage(e2)}getPageIndex(e2){return this._transport.getPageIndex(e2)}getDestinations(){return this._transport.getDestinations()}getDestination(e2){return this._transport.getDestination(e2)}getPageLabels(){return this._transport.getPageLabels()}getPageLayout(){return this._transport.getPageLayout()}getPageMode(){return this._transport.getPageMode()}getViewerPreferences(){return this._transport.getViewerPreferences()}getOpenAction(){return this._transport.getOpenAction()}getAttachments(){return this._transport.getAttachments()}getAttachmentContent(e2){return this._transport.getAttachmentContent(e2)}getAnnotationsByType(e2,t2){return this._transport.getAnnotationsByType(e2,t2)}getJSActions(){return this._transport.getDocJSActions()}getOutline(){return this._transport.getOutline()}getOptionalContentConfig({intent:e2="display"}={}){let{renderingIntent:t2}=this._transport.getRenderingIntent(e2);return this._transport.getOptionalContentConfig(t2)}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(e2){return this._transport.extractPages(e2)}getDownloadInfo(){return this._transport.downloadInfoCapability.promise}getRawData(e2){return this._transport.getRawData(e2)}cleanup(e2=!1){return this._transport.startCleanup(e2||this.isPureXfa)}cachedPageNumber(e2){return this._transport.cachedPageNumber(e2)}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()}},Fs=class PDFPageProxy{#e=!1;#t=null;constructor(e2,t2,n2,r2,i2=!1){this._pageIndex=e2,this._pageInfo=t2,this._transport=n2,this._stats=i2?new StatTimer:null,this._pdfBug=i2,this.commonObjs=n2.commonObjs,this.objs=new PDFObjects,this._intentStates=new Map,this.destroyed=!1,this.recordedBBoxes=null,this.#t=r2,this.imageCoordinates=null}clone(e2){let t2=new PDFPageProxy(e2,this._pageInfo,this._transport,this.#t,this._pdfBug);return t2.clonedFromIndex=this.clonedFromIndex??this._pageIndex,this._transport.updatePage(t2),t2}get pageNumber(){return this._pageIndex+1}set pageNumber(e2){this._pageIndex=e2-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:e2,rotation:t2=this.rotate,offsetX:n2=0,offsetY:r2=0,dontFlip:i2=!1}={}){return new Uo({viewBox:this.view,userUnit:this.userUnit,scale:e2,rotation:t2,offsetX:n2,offsetY:r2,dontFlip:i2})}getAnnotations({intent:e2="display"}={}){let{renderingIntent:t2}=this._transport.getRenderingIntent(e2);return this._transport.getAnnotations(this._pageIndex,t2)}getJSActions(){return this._transport.getPageJSActions(this._pageIndex)}get filterFactory(){return this._transport.filterFactory}get isPureXfa(){return shadow(this,"isPureXfa",!!this._transport._htmlForXfa)}async getXfa(){return this._transport._htmlForXfa?.children[this._pageIndex]||null}render({canvasContext:e2,canvas:t2=e2.canvas,viewport:n2,intent:r2="display",annotationMode:i2=Eo.ENABLE,transform:a2=null,background:o2=null,optionalContentConfigPromise:s2=null,annotationCanvasMap:c2=null,pageColors:l2=null,printAnnotationStorage:u2=null,isEditing:d2=!1,recordImages:f2=!1,recordOperations:p2=!1,operationsFilter:m2=null}){this._stats?.time("Overall");let h2=this._transport.getRenderingIntent(r2,i2,u2,d2),{renderingIntent:g2,cacheKey:_2}=h2;this.#e=!1,s2||=this._transport.getOptionalContentConfig(g2);let v2=this._intentStates.getOrInsertComputed(_2,makeObj);v2.streamReaderCancelTimeout&&=(clearTimeout(v2.streamReaderCancelTimeout),null);let y2=!!(g2&wo.PRINT);v2.displayReadyCapability||(v2.displayReadyCapability=Promise.withResolvers(),v2.operatorList={fnArray:[],argsArray:[],lastChunk:!1,separateAnnots:null},this._stats?.time("Page Request"),this._pumpOperatorList(h2));let b2=!!(this._pdfBug&&globalThis.StepperManager?.enabled),x2=!!t2&&!this.recordedBBoxes&&(p2||b2),S2=!!t2&&!this.imageCoordinates&&f2,complete=e3=>{if(v2.renderTasks.delete(T2),x2){let e4=T2.gfx?.dependencyTracker.take();e4&&(T2.stepper?.setOperatorBBoxes(e4,T2.gfx.dependencyTracker.takeDebugMetadata()),p2&&(this.recordedBBoxes=e4))}S2&&!e3&&(this.imageCoordinates=T2.gfx?.imagesTracker.take()),y2&&(this.#e=!0),this.#n(),e3?(T2.capability.reject(e3),this._abortOperatorList({intentState:v2,reason:e3 instanceof Error?e3:Error(e3)})):T2.capability.resolve(),this._stats&&(this._stats.timeEnd("Rendering"),this._stats.timeEnd("Overall"),globalThis.Stats?.enabled&&globalThis.Stats.add(this.pageNumber,this._stats))},C2=null,w2=null;(x2||S2)&&(w2=new CanvasBBoxTracker(t2,v2.operatorList.length)),x2&&(C2=new CanvasDependencyTracker(w2,b2));let T2=new Ls({callback:complete,params:{canvas:t2,canvasContext:e2,dependencyTracker:C2??w2,imagesTracker:S2?new ms(t2):null,viewport:n2,transform:a2,background:o2},objs:this.objs,commonObjs:this.commonObjs,annotationCanvasMap:c2,operatorList:v2.operatorList,pageIndex:this._pageIndex,canvasFactory:this._transport.canvasFactory,filterFactory:this._transport.filterFactory,useRequestAnimationFrame:!y2,pdfBug:this._pdfBug,pageColors:l2,enableHWA:this._transport.enableHWA,operationsFilter:m2});(v2.renderTasks||=new Set).add(T2);let E2=T2.task;return Promise.all([v2.displayReadyCapability.promise,s2]).then(([e3,t3])=>{if(this.destroyed){complete();return}if(this._stats?.time("Rendering"),!(t3.renderingIntent&g2))throw Error("Must use the same `intent`-argument when calling the `PDFPageProxy.render` and `PDFDocumentProxy.getOptionalContentConfig` methods.");T2.initializeGraphics({transparency:e3,optionalContentConfig:t3}),T2.operatorListChanged()}).catch(complete),E2}getOperatorList({intent:e2="display",annotationMode:t2=Eo.ENABLE,printAnnotationStorage:n2=null,isEditing:r2=!1}={}){function operatorListChanged(){a2.operatorList.lastChunk&&(a2.opListReadCapability.resolve(a2.operatorList),a2.renderTasks.delete(o2))}let i2=this._transport.getRenderingIntent(e2,t2,n2,r2,!0),a2=this._intentStates.getOrInsertComputed(i2.cacheKey,makeObj),o2;return a2.opListReadCapability||(o2=Object.create(null),o2.operatorListChanged=operatorListChanged,a2.opListReadCapability=Promise.withResolvers(),(a2.renderTasks||=new Set).add(o2),a2.operatorList={fnArray:[],argsArray:[],lastChunk:!1,separateAnnots:null},this._stats?.time("Page Request"),this._pumpOperatorList(i2)),a2.opListReadCapability.promise}streamTextContent({includeMarkedContent:e2=!1,disableNormalization:t2=!1}={}){return this._transport.messageHandler.sendWithStream("GetTextContent",{pageId:this.#t.getPageId(this._pageIndex+1)-1,pageIndex:this._pageIndex,includeMarkedContent:e2===!0,disableNormalization:t2===!0},{highWaterMark:100,size(e3){return e3.items.length}})}async getTextContent(e2={}){if(this._transport._htmlForXfa)return this.getXfa().then(e3=>Wo.textContent(e3));let t2=this.streamTextContent(e2),n2={items:[],styles:Object.create(null),lang:null};for await(let e3 of t2)n2.lang??=e3.lang,Object.assign(n2.styles,e3.styles),n2.items.push(...e3.items);return n2}getStructTree(){return this._transport.getStructTree(this._pageIndex)}_destroy(){this.destroyed=!0;let e2=[];for(let t2 of this._intentStates.values())if(this._abortOperatorList({intentState:t2,reason:Error("Page was destroyed."),force:!0}),!t2.opListReadCapability)for(let n2 of t2.renderTasks)e2.push(n2.completed),n2.cancel();return this.objs.clear(),this.#e=!1,Promise.all(e2)}cleanup(e2=!1){this.#e=!0;let t2=this.#n();return e2&&t2&&(this._stats&&=new StatTimer),t2}#n(){if(!this.#e||this.destroyed)return!1;for(let{renderTasks:e2,operatorList:t2}of this._intentStates.values())if(e2.size>0||!t2.lastChunk)return!1;return this._intentStates.clear(),this.objs.clear(),this.#e=!1,!0}_startRenderPage(e2,t2){let n2=this._intentStates.get(t2);n2&&(this._stats?.timeEnd("Page Request"),n2.displayReadyCapability?.resolve(e2))}_renderPageChunk(e2,t2){for(let n2=0,r2=e2.length;n2<r2;n2++)t2.operatorList.fnArray.push(e2.fnArray[n2]),t2.operatorList.argsArray.push(e2.argsArray[n2]);t2.operatorList.lastChunk=e2.lastChunk,t2.operatorList.separateAnnots=e2.separateAnnots;for(let e3 of t2.renderTasks)e3.operatorListChanged();e2.lastChunk&&this.#n()}_pumpOperatorList({renderingIntent:e2,cacheKey:t2,annotationStorageSerializable:n2,modifiedIds:r2}){let{map:i2,transfer:a2}=n2,o2=this._transport.messageHandler.sendWithStream("GetOperatorList",{pageId:this.#t.getPageId(this._pageIndex+1)-1,pageIndex:this._pageIndex,intent:e2,cacheKey:t2,annotationStorage:i2,modifiedIds:r2},void 0,a2).getReader(),s2=this._intentStates.get(t2);s2.streamReader=o2;let pump=()=>{o2.read().then(({value:e3,done:t3})=>{if(t3){s2.streamReader=null;return}this._transport.destroyed||(this._renderPageChunk(e3,s2),pump())},e3=>{if(s2.streamReader=null,!this._transport.destroyed){if(s2.operatorList){s2.operatorList.lastChunk=!0;for(let e4 of s2.renderTasks)e4.operatorListChanged();this.#n()}if(s2.displayReadyCapability)s2.displayReadyCapability.reject(e3);else if(s2.opListReadCapability)s2.opListReadCapability.reject(e3);else throw e3}})};pump()}_abortOperatorList({intentState:e2,reason:t2,force:n2=!1}){if(e2.streamReader){if(e2.streamReaderCancelTimeout&&=(clearTimeout(e2.streamReaderCancelTimeout),null),!n2){if(e2.renderTasks.size>0)return;if(t2 instanceof RenderingCancelledException){let n3=100;t2.extraDelay>0&&t2.extraDelay<1e3&&(n3+=t2.extraDelay),e2.streamReaderCancelTimeout=setTimeout(()=>{e2.streamReaderCancelTimeout=null,this._abortOperatorList({intentState:e2,reason:t2,force:!0})},n3);return}}if(e2.streamReader.cancel(new AbortException(t2.message)).catch(()=>{}),e2.streamReader=null,!this._transport.destroyed){for(let[t3,n3]of this._intentStates)if(n3===e2){this._intentStates.delete(t3);break}this.cleanup()}}}get stats(){return this._stats}},Is=class PDFWorker{#e=Promise.withResolvers();#t=null;#n=null;#r=null;static#i=0;static#a=!0;static#o=new WeakMap;static{vo&&(this.#a=!0,GlobalWorkerOptions.workerSrc||="./pdf.worker.mjs"),this._isSameOrigin=(e2,t2)=>{let n2=URL.parse(e2);if(!n2?.origin||n2.origin==="null")return!1;let r2=new URL(t2,n2);return n2.origin===r2.origin},this._createCDNWrapper=e2=>{let t2=`await import("${e2}");`;return URL.createObjectURL(new Blob([t2],{type:"text/javascript"}))}}constructor({name:e2=null,port:t2=null,verbosity:n2=getVerbosityLevel()}={}){if(this.name=e2,this.destroyed=!1,this.verbosity=n2,t2){if(PDFWorker.#o.has(t2))throw Error("Cannot use more than one PDFWorker per port.");PDFWorker.#o.set(t2,this),this.#c(t2)}else this.#l()}get promise(){return this.#e.promise}#s(){this.#e.resolve(),this.#t.send("configure",{verbosity:this.verbosity})}get port(){return this.#n}get messageHandler(){return this.#t}#c(e2){this.#n=e2,this.#t=new MessageHandler("main","worker",e2),this.#t.on("ready",()=>{}),this.#s()}#l(){if(PDFWorker.#a||PDFWorker.#d){this.#u();return}let{workerSrc:e2}=PDFWorker;try{PDFWorker._isSameOrigin(window.location,e2)||(e2=PDFWorker._createCDNWrapper(new URL(e2,window.location).href));let t2=new Worker(e2,{type:"module"}),n2=new MessageHandler("main","worker",t2),terminateEarly=()=>{r2.abort(),n2.destroy(),t2.terminate(),this.destroyed?this.#e.reject(Error("Worker was destroyed")):this.#u()},r2=new AbortController;t2.addEventListener("error",()=>{this.#r||terminateEarly()},{signal:r2.signal}),n2.on("test",e3=>{if(r2.abort(),this.destroyed||!e3){terminateEarly();return}this.#t=n2,this.#n=t2,this.#r=t2,this.#s()}),n2.on("ready",e3=>{if(r2.abort(),this.destroyed){terminateEarly();return}try{sendTest()}catch{this.#u()}});let sendTest=()=>{let e3=new Uint8Array;n2.send("test",e3,[e3.buffer])};sendTest();return}catch{info("The worker has been disabled.")}this.#u()}#u(){PDFWorker.#a||=(warn("Setting up fake worker."),!0),PDFWorker._setupFakeWorkerGlobal.then(e2=>{if(this.destroyed){this.#e.reject(Error("Worker was destroyed"));return}let t2=new LoopbackPort;this.#n=t2;let n2=`fake${PDFWorker.#i++}`,r2=new MessageHandler(n2+"_worker",n2,t2);e2.setup(r2,t2),this.#t=new MessageHandler(n2,n2+"_worker",t2),this.#s()}).catch(e2=>{this.#e.reject(Error(`Setting up fake worker failed: "${e2.message}".`))})}destroy(){this.destroyed=!0,this.#r?.terminate(),this.#r=null,PDFWorker.#o.delete(this.#n),this.#n=null,this.#t?.destroy(),this.#t=null}static create(e2){let t2=this.#o.get(e2?.port);if(t2){if(t2._pendingDestroy)throw Error("PDFWorker.create - the worker is being destroyed.\nPlease remember to await `PDFDocumentLoadingTask.destroy()`-calls.");return t2}return new PDFWorker(e2)}static get workerSrc(){if(GlobalWorkerOptions.workerSrc)return GlobalWorkerOptions.workerSrc;throw Error('No "GlobalWorkerOptions.workerSrc" specified.')}static get#d(){try{return globalThis.pdfjsWorker?.WorkerMessageHandler||null}catch{return null}}static get _setupFakeWorkerGlobal(){return shadow(this,"_setupFakeWorkerGlobal",(async()=>this.#d?this.#d:__pdfjsWorker__.WorkerMessageHandler)())}},WorkerTransport=class{downloadInfoCapability=Promise.withResolvers();#e=null;#t=new Map;#n=null;#r=new Map;#i=new Map;#a=new Map;#o=null;constructor(e2,t2,n2,r2,i2,a2){this.messageHandler=e2,this.loadingTask=t2,this.#n=n2,this.commonObjs=new PDFObjects,this.fontLoader=new FontLoader({ownerDocument:r2.ownerDocument,styleElement:r2.styleElement}),this.enableHWA=r2.enableHWA,this.loadingParams=r2.loadingParams,this._params=r2,this.canvasFactory=i2.canvasFactory,this.filterFactory=i2.filterFactory,this.binaryDataFactory=i2.binaryDataFactory,this.pagesMapper=a2,this.destroyed=!1,this.destroyCapability=null,this.setupMessageHandler()}updatePage(e2){let{_pageIndex:t2}=e2;this.#r.set(t2,e2),this.#i.set(t2,Promise.resolve(e2))}#s(e2,t2=null){return this.#t.getOrInsertComputed(e2,()=>this.messageHandler.sendWithPromise(e2,t2))}#c({loaded:e2,total:t2}){this.loadingTask.onProgress?.({loaded:e2,total:t2,percent:t2?MathClamp(Math.round(e2/t2*100),0,100):NaN})}get annotationStorage(){return shadow(this,"annotationStorage",new AnnotationStorage)}getRenderingIntent(e2,t2=Eo.ENABLE,n2=null,r2=!1,i2=!1){let a2=wo.DISPLAY,o2=ss;switch(e2){case"any":a2=wo.ANY;break;case"display":break;case"print":a2=wo.PRINT;break;default:warn(`getRenderingIntent - invalid intent: ${e2}`)}let s2=a2&wo.PRINT&&n2 instanceof PrintAnnotationStorage?n2:this.annotationStorage;switch(t2){case Eo.DISABLE:a2+=wo.ANNOTATIONS_DISABLE;break;case Eo.ENABLE:break;case Eo.ENABLE_FORMS:a2+=wo.ANNOTATIONS_FORMS;break;case Eo.ENABLE_STORAGE:a2+=wo.ANNOTATIONS_STORAGE,o2=s2.serializable;break;default:warn(`getRenderingIntent - invalid annotationMode: ${t2}`)}r2&&(a2+=wo.IS_EDITING),i2&&(a2+=wo.OPLIST);let{ids:c2,hash:l2}=s2.modifiedIds,u2=[a2,o2.hash,l2];return{renderingIntent:a2,cacheKey:u2.join("_"),annotationStorageSerializable:o2,modifiedIds:c2}}destroy(){if(this.destroyCapability)return this.destroyCapability.promise;this.destroyed=!0,this.destroyCapability=Promise.withResolvers(),this.#o?.reject(Error("Worker was destroyed during onPassword callback"));let e2=[];for(let t3 of this.#r.values())e2.push(t3._destroy());this.#r.clear(),this.#i.clear(),this.#a.clear(),Object.hasOwn(this,"annotationStorage")&&this.annotationStorage.resetModified();let t2=this.messageHandler.sendWithPromise("Terminate",null);return e2.push(t2),Promise.all(e2).then(()=>{this.commonObjs.clear(),this.fontLoader.clear(),this.#t.clear(),this.filterFactory.destroy(),Ms.cleanup(),this.#n?.cancelAllRequests(new AbortException("Worker was terminated.")),this.messageHandler?.destroy(),this.messageHandler=null,this.destroyCapability.resolve()},this.destroyCapability.reject),this.destroyCapability.promise}setupMessageHandler(){let{messageHandler:e2,loadingTask:t2}=this;e2.on("GetReader",(e3,t3)=>{assert(this.#n,"GetReader - no `BasePDFStream` instance available."),this.#e=this.#n.getFullReader(),this.#e.onProgress=e4=>this.#c(e4),t3.onPull=()=>{this.#e.read().then(function({value:e4,done:n2}){if(n2){t3.close();return}assert(e4 instanceof ArrayBuffer,"GetReader - expected an ArrayBuffer."),t3.enqueue(new Uint8Array(e4),1,[e4])}).catch(e4=>{t3.error(e4)})},t3.onCancel=e4=>{this.#e.cancel(e4),t3.ready.catch(e5=>{if(!this.destroyed)throw e5})}}),e2.on("ReaderHeadersReady",async e3=>{await this.#e.headersReady;let{isStreamingSupported:t3,isRangeSupported:n2,contentLength:r2}=this.#e;return t3&&n2&&(this.#e.onProgress=null),{isStreamingSupported:t3,isRangeSupported:n2,contentLength:r2}}),e2.on("GetRangeReader",(e3,t3)=>{assert(this.#n,"GetRangeReader - no `BasePDFStream` instance available.");let n2=this.#n.getRangeReader(e3.begin,e3.end);if(!n2){t3.close();return}t3.onPull=()=>{n2.read().then(function({value:e4,done:n3}){if(n3){t3.close();return}assert(e4 instanceof ArrayBuffer,"GetRangeReader - expected an ArrayBuffer."),t3.enqueue(new Uint8Array(e4),1,[e4])}).catch(e4=>{t3.error(e4)})},t3.onCancel=e4=>{n2.cancel(e4),t3.ready.catch(e5=>{if(!this.destroyed)throw e5})}}),e2.on("GetDoc",({pdfInfo:e3})=>{this.pagesMapper.pagesNumber=e3.numPages,this._numPages=e3.numPages,this._htmlForXfa=e3.htmlForXfa,delete e3.htmlForXfa,t2._capability.resolve(new PDFDocumentProxy(e3,this))}),e2.on("DocException",e3=>{t2._capability.reject(wrapReason(e3))}),e2.on("PasswordRequest",e3=>{this.#o=Promise.withResolvers();try{if(!t2.onPassword)throw wrapReason(e3);let updatePassword=e4=>{e4 instanceof Error?this.#o.reject(e4):this.#o.resolve({password:e4})};t2.onPassword(updatePassword,e3.code)}catch(e4){this.#o.reject(e4)}return this.#o.promise}),e2.on("DataLoaded",e3=>{this.#c({loaded:e3.length,total:e3.length}),this.downloadInfoCapability.resolve(e3)}),e2.on("StartRenderPage",e3=>{this.destroyed||this.#r.get(e3.pageIndex)._startRenderPage(e3.transparency,e3.cacheKey)}),e2.on("commonobj",([t3,n2,r2])=>{if(this.destroyed||this.commonObjs.has(t3))return null;switch(n2){case"Font":if("error"in r2){let e3=r2.error;warn(`Error during font loading: ${e3}`),this.commonObjs.resolve(t3,e3);break}let i2=new FontFaceObject(new FontInfo(r2),this._params.pdfBug&&globalThis.FontInspector?.enabled?(e3,t4)=>globalThis.FontInspector.fontAdded(e3,t4):null,r2.charProcOperatorList,r2.extra);this.fontLoader.bind(i2).catch(()=>e2.sendWithPromise("FontFallback",{id:t3})).finally(()=>{i2.fontExtraProperties||i2.clearData(),this.commonObjs.resolve(t3,i2)});break;case"CopyLocalImage":let{imageRef:a2}=r2;assert(a2,"The imageRef must be defined.");for(let e3 of this.#r.values())for(let[,n3]of e3.objs){if(n3?.ref!==a2)continue;if(!n3.dataLen)return null;let e4=structuredClone(n3);return this.commonObjs.resolve(t3,e4),n3.dataLen}break;case"FontPath":this.commonObjs.resolve(t3,new FontPathInfo(r2));break;case"Image":this.commonObjs.resolve(t3,r2);break;case"Pattern":let o2=new PatternInfo(r2);this.commonObjs.resolve(t3,o2.getIR());break;default:throw Error(`Got unknown common object type ${n2}`)}return null}),e2.on("obj",([e3,t3,n2,r2])=>{if(this.destroyed)return;let i2=this.#r.get(t3);if(!i2.objs.has(e3)){if(i2._intentStates.size===0){r2?.bitmap?.close();return}switch(n2){case"Image":case"Pattern":i2.objs.resolve(e3,r2);break;default:throw Error(`Got unknown object type ${n2}`)}}}),e2.on("DocProgress",e3=>{this.destroyed||this.#c(e3)}),e2.on("FetchBinaryData",async e3=>{if(this.destroyed)throw Error("Worker was destroyed.");if(!this.binaryDataFactory)throw Error("`BinaryDataFactory` not initialized, see the `useWorkerFetch` parameter.");return this.binaryDataFactory.fetch(e3)})}getData(){return this.messageHandler.sendWithPromise("GetData",null)}saveDocument(){this.annotationStorage.size<=0&&warn("saveDocument called while `annotationStorage` is empty, please use the getData-method instead.");let{map:e2,transfer:t2}=this.annotationStorage.serializable;return this.messageHandler.sendWithPromise("SaveDocument",{isPureXfa:!!this._htmlForXfa,numPages:this._numPages,annotationStorage:e2,filename:this.#e?.filename??null},t2).finally(()=>{this.annotationStorage.resetModified()})}extractPages(e2){let t2={pageInfos:e2},n2,r2=globalThis.ImageBitmap;if(typeof r2=="function"){let t3=Array.isArray(e2)?e2:[e2];for(let e3 of t3)e3?.image instanceof r2&&(n2||=[]).push(e3.image)}if(this.annotationStorage.size>0){let e3=this.annotationStorage.serializable,{map:r3}=e3;e3.transfer?.length&&(n2?n2.push(...e3.transfer):n2=e3.transfer);let i2=this.pagesMapper.getMapping();if(i2){let e4=new Map;for(let[t3,n3]of r3){if(n3?.pageIndex!==void 0&&n3.pageIndex>=0&&n3.pageIndex<i2.length){let r4=i2[n3.pageIndex]-1;if(r4!==n3.pageIndex){e4.set(t3,{...n3,pageIndex:r4});continue}}e4.set(t3,n3)}r3=e4}t2.annotationStorage=r3}return this.messageHandler.sendWithPromise("ExtractPages",t2,n2).finally(()=>{this.annotationStorage.resetModified()})}getPage(e2){if(!Number.isInteger(e2)||e2<=0||e2>this.pagesMapper.pagesNumber)return Promise.reject(Error("Invalid page request."));let t2=e2-1,n2=this.pagesMapper.getPageId(e2)-1,r2=this.#i.get(t2);if(r2)return r2;let i2=this.messageHandler.sendWithPromise("GetPage",{pageIndex:n2}).then(e3=>{if(this.destroyed)throw Error("Transport destroyed");e3.refStr&&this.#a.set(e3.refStr,n2);let r3=new Fs(t2,e3,this,this.pagesMapper,this._params.pdfBug);return this.#r.set(t2,r3),r3});return this.#i.set(t2,i2),i2}async getPageIndex(e2){if(!isRefProxy(e2))throw Error("Invalid pageIndex request.");let t2=await this.messageHandler.sendWithPromise("GetPageIndex",{num:e2.num,gen:e2.gen}),n2=this.pagesMapper.getPageNumber(t2+1);if(n2===0)throw Error("GetPageIndex: page has been removed.");return n2-1}getAnnotations(e2,t2){return this.messageHandler.sendWithPromise("GetAnnotations",{pageIndex:this.pagesMapper.getPageId(e2+1)-1,intent:t2})}getFieldObjects(){return this.#s("GetFieldObjects")}hasJSActions(){return this.#s("HasJSActions")}getCalculationOrderIds(){return this.messageHandler.sendWithPromise("GetCalculationOrderIds",null)}getDestinations(){return this.messageHandler.sendWithPromise("GetDestinations",null)}getDestination(e2){return typeof e2=="string"?this.messageHandler.sendWithPromise("GetDestination",{id:e2}):Promise.reject(Error("Invalid destination request."))}getPageLabels(){return this.messageHandler.sendWithPromise("GetPageLabels",null)}getPageLayout(){return this.messageHandler.sendWithPromise("GetPageLayout",null)}getPageMode(){return this.messageHandler.sendWithPromise("GetPageMode",null)}getViewerPreferences(){return this.messageHandler.sendWithPromise("GetViewerPreferences",null)}getOpenAction(){return this.messageHandler.sendWithPromise("GetOpenAction",null)}getAttachments(){return this.messageHandler.sendWithPromise("GetAttachments",null)}getAttachmentContent(e2){return this.messageHandler.sendWithPromise("GetAttachmentContent",e2)}getAnnotationsByType(e2,t2){return this.messageHandler.sendWithPromise("GetAnnotationsByType",{types:e2,pageIndexesToSkip:t2})}getDocJSActions(){return this.#s("GetDocJSActions")}getPageJSActions(e2){return this.messageHandler.sendWithPromise("GetPageJSActions",{pageIndex:this.pagesMapper.getPageId(e2+1)-1})}getStructTree(e2){return this.messageHandler.sendWithPromise("GetStructTree",{pageIndex:this.pagesMapper.getPageId(e2+1)-1})}getOutline(){return this.messageHandler.sendWithPromise("GetOutline",null)}getOptionalContentConfig(e2){return this.#s("GetOptionalContentConfig").then(t2=>new As(t2,e2))}getPermissions(){return this.messageHandler.sendWithPromise("GetPermissions",null)}getMetadata(){let e2="GetMetadata";return this.#t.getOrInsertComputed(e2,()=>this.messageHandler.sendWithPromise(e2,null).then(e3=>({info:e3[0],metadata:e3[1]?new Metadata(e3[1]):null,contentDispositionFilename:this.#e?.filename??null,contentLength:this.#e?.contentLength??null,hasStructTree:e3[2]})))}getMarkInfo(){return this.messageHandler.sendWithPromise("GetMarkInfo",null)}getRawData(e2){return this.messageHandler.sendWithPromise("GetRawData",e2)}async startCleanup(e2=!1){if(!this.destroyed){await this.messageHandler.sendWithPromise("Cleanup",null);for(let e3 of this.#r.values())if(!e3.cleanup())throw Error(`startCleanup: Page ${e3.pageNumber} is currently rendering.`);this.commonObjs.clear(),e2||this.fontLoader.clear(),this.#t.clear(),this.filterFactory.destroy(!0),Ms.cleanup()}}cachedPageNumber(e2){if(!isRefProxy(e2))return null;let t2=e2.gen===0?`${e2.num}R`:`${e2.num}R${e2.gen}`,n2=this.#a.get(t2);if(n2>=0){let e3=this.pagesMapper.getPageNumber(n2+1);if(e3!==0)return e3}return null}},RenderTask=class{_internalRenderTask=null;onContinue=null;onError=null;constructor(e2){this._internalRenderTask=e2}get promise(){return this._internalRenderTask.capability.promise}cancel(e2=0){this._internalRenderTask.cancel(null,e2)}get separateAnnots(){let{separateAnnots:e2}=this._internalRenderTask.operatorList;if(!e2)return!1;let{annotationCanvasMap:t2}=this._internalRenderTask;return e2.form||e2.canvas&&t2?.size>0}get imageCoordinates(){return this._internalRenderTask.imageCoordinates||null}},Ls=class InternalRenderTask{#e=null;static#t=new WeakSet;constructor({callback:e2,params:t2,objs:n2,commonObjs:r2,annotationCanvasMap:i2,operatorList:a2,pageIndex:o2,canvasFactory:s2,filterFactory:c2,useRequestAnimationFrame:l2=!1,pdfBug:u2=!1,pageColors:d2=null,enableHWA:f2=!1,operationsFilter:p2=null}){this.callback=e2,this.params=t2,this.objs=n2,this.commonObjs=r2,this.annotationCanvasMap=i2,this.operatorListIdx=null,this.operatorList=a2,this._pageIndex=o2,this.canvasFactory=s2,this.filterFactory=c2,this._pdfBug=u2,this.pageColors=d2,this.running=!1,this.graphicsReadyCallback=null,this.graphicsReady=!1,this._useRequestAnimationFrame=l2===!0&&typeof window<"u",this.cancelled=!1,this.capability=Promise.withResolvers(),this.task=new RenderTask(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=t2.canvas,this._canvasContext=t2.canvas?null:t2.canvasContext,this._enableHWA=f2,this._dependencyTracker=t2.dependencyTracker,this._imagesTracker=t2.imagesTracker,this._operationsFilter=p2}get completed(){return this.capability.promise.catch(function(){})}initializeGraphics({transparency:e2=!1,optionalContentConfig:t2}){if(this.cancelled)return;if(this._canvas){if(InternalRenderTask.#t.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.");InternalRenderTask.#t.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:n2,transform:r2,background:i2,dependencyTracker:a2,imagesTracker:o2}=this.params,s2=this._canvasContext||this._canvas.getContext("2d",{alpha:!1,willReadFrequently:!this._enableHWA});this.gfx=new Os(s2,this.commonObjs,this.objs,this.canvasFactory,this.filterFactory,{optionalContentConfig:t2},this.annotationCanvasMap,this.pageColors,a2,o2),this.gfx.beginDrawing({transform:r2,viewport:n2,transparency:e2,background:i2}),this.operatorListIdx=0,this.graphicsReady=!0,this.graphicsReadyCallback?.()}cancel(e2=null,t2=0){this.running=!1,this.cancelled=!0,this.gfx?.endDrawing(),this.#e&&=(window.cancelAnimationFrame(this.#e),null),InternalRenderTask.#t.delete(this._canvas),e2||=new RenderingCancelledException(`Rendering cancelled, page ${this._pageIndex+1}`,t2),this.callback(e2),this.task.onError?.(e2)}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.#e=window.requestAnimationFrame(()=>{this.#e=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(),InternalRenderTask.#t.delete(this._canvas),this.callback())))}},Rs="6.1.200",zs="6353acefe",Bs=class ColorPicker{#e=null;#t=null;#n;#r=null;#i=!1;#a=!1;#o=null;#s;#c=null;#l=null;static#u=null;static get _keyboardManager(){return shadow(this,"_keyboardManager",new Qo([[["Escape"],ColorPicker.prototype._hideDropdownFromKeyboard],[["Space"],ColorPicker.prototype._colorSelectFromKeyboard],[["ArrowDown","ArrowRight"],ColorPicker.prototype._moveToNext],[["ArrowUp","ArrowLeft"],ColorPicker.prototype._moveToPrevious],[["Home"],ColorPicker.prototype._moveToBeginning],[["End"],ColorPicker.prototype._moveToEnd]]))}constructor({editor:e2=null,uiManager:t2=null}){e2?(this.#a=!1,this.#o=e2):this.#a=!0,this.#l=e2?._uiManager||t2,this.#s=this.#l._eventBus,this.#n=e2?.color?.toUpperCase()||this.#l?.highlightColors.values().next().value||"#FFFF98",ColorPicker.#u||=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 e2=this.#e=document.createElement("button");e2.className="colorPicker",e2.tabIndex="0",e2.setAttribute("data-l10n-id","pdfjs-editor-colorpicker-button"),e2.ariaHasPopup="true",this.#o&&(e2.ariaControls=`${this.#o.id}_colorpicker_dropdown`);let t2=this.#l._signal;e2.addEventListener("click",this.#m.bind(this),{signal:t2}),e2.addEventListener("keydown",this.#p.bind(this),{signal:t2});let n2=this.#t=document.createElement("span");return n2.className="swatch",n2.ariaHidden="true",n2.style.backgroundColor=this.#n,e2.append(n2),e2}renderMainDropdown(){let e2=this.#r=this.#d();return e2.ariaOrientation="horizontal",e2.ariaLabelledBy="highlightColorPickerLabel",e2}#d(){let e2=document.createElement("div"),t2=this.#l._signal;e2.addEventListener("contextmenu",noContextMenu,{signal:t2}),e2.className="dropdown",e2.role="listbox",e2.ariaMultiSelectable="false",e2.ariaOrientation="vertical",e2.setAttribute("data-l10n-id","pdfjs-editor-colorpicker-dropdown"),this.#o&&(e2.id=`${this.#o.id}_colorpicker_dropdown`);for(let[n2,r2]of this.#l.highlightColors){let i2=document.createElement("button");i2.tabIndex="0",i2.role="option",i2.setAttribute("data-color",r2),i2.title=n2,i2.setAttribute("data-l10n-id",ColorPicker.#u[n2]);let a2=document.createElement("span");i2.append(a2),a2.className="swatch",a2.style.backgroundColor=r2,i2.ariaSelected=r2===this.#n,i2.addEventListener("click",this.#f.bind(this,r2),{signal:t2}),e2.append(i2)}return e2.addEventListener("keydown",this.#p.bind(this),{signal:t2}),e2}#f(e2,t2){t2.stopPropagation(),this.#s.dispatch("switchannotationeditorparams",{source:this,type:ko.HIGHLIGHT_COLOR,value:e2}),this.updateColor(e2)}_colorSelectFromKeyboard(e2){if(e2.target===this.#e){this.#m(e2);return}let t2=e2.target.getAttribute("data-color");t2&&this.#f(t2,e2)}_moveToNext(e2){if(!this.#g){this.#m(e2);return}if(e2.target===this.#e){this.#r.firstElementChild?.focus();return}e2.target.nextSibling?.focus()}_moveToPrevious(e2){if(e2.target===this.#r?.firstElementChild||e2.target===this.#e){this.#g&&this._hideDropdownFromKeyboard();return}this.#g||this.#m(e2),e2.target.previousSibling?.focus()}_moveToBeginning(e2){if(!this.#g){this.#m(e2);return}this.#r.firstElementChild?.focus()}_moveToEnd(e2){if(!this.#g){this.#m(e2);return}this.#r.lastElementChild?.focus()}#p(e2){ColorPicker._keyboardManager.exec(this,e2)}#m(e2){if(this.#g){this.hideDropdown();return}if(this.#i=e2.detail===0,this.#c||(this.#c=new AbortController,window.addEventListener("pointerdown",this.#h.bind(this),{signal:this.#l.combinedSignal(this.#c)})),this.#e.ariaExpanded="true",this.#r){this.#r.classList.remove("hidden");return}let t2=this.#r=this.#d();this.#e.append(t2)}#h(e2){this.#r?.contains(e2.target)||this.hideDropdown()}hideDropdown(){this.#r?.classList.add("hidden"),this.#e.ariaExpanded="false",this.#c?.abort(),this.#c=null}get#g(){return this.#r&&!this.#r.classList.contains("hidden")}_hideDropdownFromKeyboard(){if(!this.#a){if(!this.#g){this.#o?.unselect();return}this.hideDropdown(),this.#e.focus({preventScroll:!0,focusVisible:this.#i})}}updateColor(e2){if(this.#t&&(this.#t.style.backgroundColor=e2),!this.#r)return;let t2=this.#l.highlightColors.values();for(let n2 of this.#r.children)n2.ariaSelected=t2.next().value===e2.toUpperCase()}destroy(){this.#e?.remove(),this.#e=null,this.#t=null,this.#r?.remove(),this.#r=null}},Vs=class BasicColorPicker{#e=null;#t=!1;#n=null;#r=null;static#i=null;constructor(e2){this.#n=e2,this.#r=e2._uiManager,BasicColorPicker.#i||=Object.freeze({freetext:"pdfjs-editor-color-picker-free-text-input",ink:"pdfjs-editor-color-picker-ink-input"})}renderButton(){if(this.#e)return this.#e;let{editorType:e2,colorType:t2,colorAndOpacityType:n2,opacityType:r2,color:i2,opacity:a2}=this.#n,o2=this.#t=FeatureTest.isAlphaColorInputSupported&&r2!==void 0,s2=this.#e=document.createElement("input");if(s2.type="color",o2){s2.setAttribute("alpha","");let e3=Util.hexNums[Math.round((a2??1)*255)];s2.value=(i2||"#000000")+e3}else s2.value=i2||"#000000";return s2.className="basicColorPicker",s2.tabIndex=0,s2.setAttribute("data-l10n-id",BasicColorPicker.#i[e2]),s2.addEventListener("input",()=>{if(o2){let e3=getRGBA(s2.value);if(!e3)return;let[i3,a3,o3,c2]=e3,l2=Util.makeHexColor(i3,a3,o3);n2===void 0?(this.#r.updateParams(t2,l2),this.#r.updateParams(r2,c2)):this.#r.updateParams(n2,{color:l2,opacity:c2})}else this.#r.updateParams(t2,s2.value)},{signal:this.#r._signal}),s2}update(e2){if(this.#e)if(this.#t){let t2=Util.hexNums[Math.round(this.#n.opacity*255)];this.#e.value=e2+t2}else this.#e.value=e2}updateOpacity(e2){if(!this.#e||!this.#t)return;let t2=Util.hexNums[Math.round(e2*255)];this.#e.value=this.#n.color+t2}destroy(){this.#e?.remove(),this.#e=null}hideDropdown(){}};function makeColorComp(e2){return Math.floor(MathClamp(e2,0,1)*255).toString(16).padStart(2,"0")}function scaleAndClamp(e2){return MathClamp(e2,0,1)*255}var ColorConverters=class{static CMYK_G([e2,t2,n2,r2]){return["G",1-Math.min(1,.3*e2+.59*n2+.11*t2+r2)]}static G_CMYK([e2]){return["CMYK",0,0,0,1-e2]}static G_RGB([e2]){return["RGB",e2,e2,e2]}static G_rgb([e2]){return e2=scaleAndClamp(e2),[e2,e2,e2]}static G_HTML([e2]){let t2=makeColorComp(e2);return`#${t2}${t2}${t2}`}static RGB_G([e2,t2,n2]){return["G",.3*e2+.59*t2+.11*n2]}static RGB_rgb(e2){return e2.map(scaleAndClamp)}static RGB_HTML(e2){return`#${e2.map(makeColorComp).join("")}`}static T_HTML(){return"#00000000"}static T_rgb(){return[null]}static CMYK_RGB([e2,t2,n2,r2]){return["RGB",1-Math.min(1,e2+r2),1-Math.min(1,n2+r2),1-Math.min(1,t2+r2)]}static CMYK_rgb([e2,t2,n2,r2]){return[scaleAndClamp(1-Math.min(1,e2+r2)),scaleAndClamp(1-Math.min(1,n2+r2)),scaleAndClamp(1-Math.min(1,t2+r2))]}static CMYK_HTML(e2){let t2=this.CMYK_RGB(e2).slice(1);return this.RGB_HTML(t2)}static RGB_CMYK([e2,t2,n2]){let r2=1-e2,i2=1-t2,a2=1-n2;return["CMYK",r2,i2,a2,Math.min(r2,i2,a2)]}},BaseSVGFactory=class{create(e2,t2,n2=!1){if(e2<=0||t2<=0)throw Error("Invalid SVG dimensions");let r2=this._createSVG("svg:svg");return r2.setAttribute("version","1.1"),n2||(r2.setAttribute("width",`${e2}px`),r2.setAttribute("height",`${t2}px`)),r2.setAttribute("preserveAspectRatio","none"),r2.setAttribute("viewBox",`0 0 ${e2} ${t2}`),r2}createElement(e2){if(typeof e2!="string")throw Error("Invalid SVG element type");return this._createSVG(e2)}_createSVG(e2){unreachable("Abstract method `_createSVG` called.")}},DOMSVGFactory=class extends BaseSVGFactory{_createSVG(e2){return document.createElementNS(Co,e2)}},Hs=new WeakSet,Us=new Date().getTimezoneOffset()*60*1e3,AnnotationElementFactory=class{static create(e2){switch(e2.data.annotationType){case No.LINK:return new LinkAnnotationElement(e2);case No.TEXT:return new TextAnnotationElement(e2);case No.WIDGET:switch(e2.data.fieldType){case"Tx":return new TextWidgetAnnotationElement(e2);case"Btn":return e2.data.radioButton?new RadioButtonWidgetAnnotationElement(e2):e2.data.checkBox?new CheckboxWidgetAnnotationElement(e2):new PushButtonWidgetAnnotationElement(e2);case"Ch":return new ChoiceWidgetAnnotationElement(e2);case"Sig":return new SignatureWidgetAnnotationElement(e2)}return new WidgetAnnotationElement(e2);case No.POPUP:return new PopupAnnotationElement(e2);case No.FREETEXT:return new FreeTextAnnotationElement(e2);case No.LINE:return new LineAnnotationElement(e2);case No.SQUARE:return new SquareAnnotationElement(e2);case No.CIRCLE:return new CircleAnnotationElement(e2);case No.POLYLINE:return new PolylineAnnotationElement(e2);case No.CARET:return new CaretAnnotationElement(e2);case No.INK:return new InkAnnotationElement(e2);case No.POLYGON:return new PolygonAnnotationElement(e2);case No.HIGHLIGHT:return new HighlightAnnotationElement(e2);case No.UNDERLINE:return new UnderlineAnnotationElement(e2);case No.SQUIGGLY:return new SquigglyAnnotationElement(e2);case No.STRIKEOUT:return new StrikeOutAnnotationElement(e2);case No.STAMP:return new StampAnnotationElement(e2);case No.FILEATTACHMENT:return new FileAttachmentAnnotationElement(e2);case No.RICHMEDIA:case No.SCREEN:return new MediaAnnotationElement(e2);default:return new Ws(e2)}}},Ws=class AnnotationElement{#e=null;#t=!1;#n=null;constructor(e2,{isRenderable:t2=!1,ignoreBorder:n2=!1,createQuadrilaterals:r2=!1}={}){this.isRenderable=t2,this.data=e2.data,this.layer=e2.layer,this.linkService=e2.linkService,this.downloadManager=e2.downloadManager,this.imageResourcesPath=e2.imageResourcesPath,this.renderForms=e2.renderForms,this.svgFactory=e2.svgFactory,this.annotationStorage=e2.annotationStorage,this.enableComment=e2.enableComment,this.enableScripting=e2.enableScripting,this.hasJSActions=e2.hasJSActions,this._fieldObjects=e2.fieldObjects,this.parent=e2.parent,this.hasOwnCommentButton=!1,t2&&(this.contentElement=this.container=this._createContainer(n2)),r2&&this._createQuadrilaterals()}static _hasPopupData({contentsObj:e2,richText:t2}){return!!(e2?.str||t2?.str)}get _isEditable(){return this.data.isEditable}get hasPopupData(){return AnnotationElement._hasPopupData(this.data)||this.enableComment&&!!this.commentText}get commentData(){let{data:e2}=this,t2=this.annotationStorage?.getEditor(e2.id);return t2?t2.getData():e2}get hasCommentButton(){return this.enableComment&&this.hasPopupElement}get commentButtonPosition(){let e2=this.annotationStorage?.getEditor(this.data.id);if(e2)return e2.commentButtonPositionInPage;let{quadPoints:t2,inkLists:n2,rect:r2}=this.data,i2=-1/0,a2=-1/0;if(t2?.length>=8){for(let e3=0;e3<t2.length;e3+=8)t2[e3+1]>a2?(a2=t2[e3+1],i2=t2[e3+2]):t2[e3+1]===a2&&(i2=Math.max(i2,t2[e3+2]));return[i2,a2]}if(n2?.length>=1){for(let e3 of n2)for(let t3=0,n3=e3.length;t3<n3;t3+=2)e3[t3+1]>a2?(a2=e3[t3+1],i2=e3[t3]):e3[t3+1]===a2&&(i2=Math.max(i2,e3[t3]));if(i2!==1/0)return[i2,a2]}return r2?[r2[2],r2[3]]:null}_normalizePoint(e2){let{page:{view:t2},viewport:{rawDims:{pageWidth:n2,pageHeight:r2,pageX:i2,pageY:a2}}}=this.parent;return e2[1]=t2[3]-e2[1]+t2[1],e2[0]=100*(e2[0]-i2)/n2,e2[1]=100*(e2[1]-a2)/r2,e2}get commentText(){let{data:e2}=this;return this.annotationStorage.getRawValue(`${Oo}${e2.id}`)?.popup?.contents||e2.contentsObj?.str||""}set commentText(e2){let{data:t2}=this,n2={deleted:!e2,contents:e2||""};this.annotationStorage.updateEditor(t2.id,{popup:n2})||this.annotationStorage.setValue(`${Oo}${t2.id}`,{id:t2.id,annotationType:t2.annotationType,page:this.parent.page,popup:n2,popupRef:t2.popupRef,modificationDate:new Date}),e2||this.removePopup()}removePopup(){(this.#n?.popup||this.popup)?.remove(),this.#n=this.popup=null}updateEdited(e2){if(!this.container)return;e2.rect&&(this.#e||={rect:this.data.rect.slice(0)});let{rect:t2,popup:n2}=e2;t2&&this.#r(t2);let r2=this.#n?.popup||this.popup;!r2&&n2?.text&&(this._createPopup(n2),r2=this.#n.popup),r2&&(r2.updateEdited(e2),n2?.deleted&&(r2.remove(),this.#n=null,this.popup=null))}resetEdited(){this.#e&&=(this.#r(this.#e.rect),this.#n?.popup.resetEdited(),null)}#r(e2){let{container:{style:t2},data:{rect:n2,rotation:r2},parent:{viewport:{rawDims:{pageWidth:i2,pageHeight:a2,pageX:o2,pageY:s2}}}}=this;n2?.splice(0,4,...e2),t2.left=`${100*(e2[0]-o2)/i2}%`,t2.top=`${100*(a2-e2[3]+s2)/a2}%`,r2===0?(t2.width=`${100*(e2[2]-e2[0])/i2}%`,t2.height=`${100*(e2[3]-e2[1])/a2}%`):this.setRotation(r2)}_createContainer(e2){let{data:t2,parent:{page:n2,viewport:r2}}=this,i2=document.createElement("section");i2.setAttribute("data-annotation-id",t2.id),!(this instanceof WidgetAnnotationElement)&&!(this instanceof LinkAnnotationElement)&&!(this instanceof MediaAnnotationElement)&&(i2.tabIndex=0);let{style:a2}=i2;if(a2.zIndex=this.parent.zIndex,this.parent.zIndex+=2,t2.alternativeText&&(i2.title=t2.alternativeText),t2.noRotate&&i2.classList.add("norotate"),!t2.rect||this instanceof PopupAnnotationElement){let{rotation:e3}=t2;return!t2.hasOwnCanvas&&e3!==0&&this.setRotation(e3,i2),i2}let{width:o2,height:s2}=this;if(!e2&&t2.borderStyle.width>0){a2.borderWidth=`${t2.borderStyle.width}px`;let e3=t2.borderStyle.horizontalCornerRadius,n3=t2.borderStyle.verticalCornerRadius;switch((e3>0||n3>0)&&(a2.borderRadius=`calc(${e3}px * var(--total-scale-factor)) / calc(${n3}px * var(--total-scale-factor))`),t2.borderStyle.style){case Po.SOLID:a2.borderStyle="solid";break;case Po.DASHED:a2.borderStyle="dashed";break;case Po.BEVELED:warn("Unimplemented border style: beveled");break;case Po.INSET:warn("Unimplemented border style: inset");break;case Po.UNDERLINE:a2.borderBottomStyle="solid";break;default:break}let r3=t2.borderColor||null;r3?(this.#t=!0,a2.borderColor=Util.makeHexColor(...r3)):a2.borderWidth=0}let c2=Util.normalizeRect([t2.rect[0],n2.view[3]-t2.rect[1]+n2.view[1],t2.rect[2],n2.view[3]-t2.rect[3]+n2.view[1]]),{pageWidth:l2,pageHeight:u2,pageX:d2,pageY:f2}=r2.rawDims;a2.left=`${100*(c2[0]-d2)/l2}%`,a2.top=`${100*(c2[1]-f2)/u2}%`;let{rotation:p2}=t2;return t2.hasOwnCanvas||p2===0?(a2.width=`${100*o2/l2}%`,a2.height=`${100*s2/u2}%`):this.setRotation(p2,i2),i2}setRotation(e2,t2=this.container){if(!this.data.rect)return;let{pageWidth:n2,pageHeight:r2}=this.parent.viewport.rawDims,{width:i2,height:a2}=this;e2%180!=0&&([i2,a2]=[a2,i2]),t2.style.width=`${100*i2/n2}%`,t2.style.height=`${100*a2/r2}%`,t2.setAttribute("data-main-rotation",(360-e2)%360)}get _commonActions(){let setColor=(e2,t2,n2)=>{let r2=n2.detail[e2],i2=r2[0],a2=r2.slice(1);n2.target.style[t2]=ColorConverters[`${i2}_HTML`](a2),this.annotationStorage.setValue(this.data.id,{[t2]:ColorConverters[`${i2}_rgb`](a2)})};return shadow(this,"_commonActions",{display:e2=>{let{display:t2}=e2.detail,n2=t2%2==1;this.container.style.visibility=n2?"hidden":"visible",this.annotationStorage.setValue(this.data.id,{noView:n2,noPrint:t2===1||t2===2})},print:e2=>{this.annotationStorage.setValue(this.data.id,{noPrint:!e2.detail.print})},hidden:e2=>{let{hidden:t2}=e2.detail;this.container.style.visibility=t2?"hidden":"visible",this.annotationStorage.setValue(this.data.id,{noPrint:t2,noView:t2})},focus:e2=>{setTimeout(()=>e2.target.focus({preventScroll:!1}),0)},userName:e2=>{e2.target.title=e2.detail.userName},readonly:e2=>{e2.target.disabled=e2.detail.readonly},required:e2=>{this._setRequired(e2.target,e2.detail.required)},bgColor:e2=>{setColor("bgColor","backgroundColor",e2)},fillColor:e2=>{setColor("fillColor","backgroundColor",e2)},fgColor:e2=>{setColor("fgColor","color",e2)},textColor:e2=>{setColor("textColor","color",e2)},borderColor:e2=>{setColor("borderColor","borderColor",e2)},strokeColor:e2=>{setColor("strokeColor","borderColor",e2)},rotation:e2=>{let t2=e2.detail.rotation;this.setRotation(t2),this.annotationStorage.setValue(this.data.id,{rotation:t2})}})}_dispatchEventFromSandbox(e2,t2){let n2=this._commonActions;for(let r2 of Object.keys(t2.detail))(e2[r2]||n2[r2])?.(t2)}_setDefaultPropertiesFromJS(e2){if(!this.enableScripting)return;let t2=this.annotationStorage.getRawValue(this.data.id);if(!t2)return;let n2=this._commonActions;for(let[r2,i2]of Object.entries(t2)){let a2=n2[r2];a2&&(a2({detail:{[r2]:i2},target:e2}),delete t2[r2])}}_createQuadrilaterals(){if(!this.container)return;let{quadPoints:e2}=this.data;if(!e2)return;let[t2,n2,r2,i2]=this.data.rect.map(e3=>Math.fround(e3));if(e2.length===8){let[a3,o3,s3,c3]=e2.subarray(2,6);if(r2===a3&&i2===o3&&t2===s3&&n2===c3)return}let{style:a2}=this.container,o2;if(this.#t){let{borderColor:e3,borderWidth:t3}=a2;a2.borderWidth=0,o2=["url('data:image/svg+xml;utf8,",`<svg xmlns="${Co}" preserveAspectRatio="none" viewBox="0 0 1 1">`,`<g fill="transparent" stroke="${e3}" stroke-width="${t3}">`],this.container.classList.add("hasBorder")}let s2=r2-t2,c2=i2-n2,{svgFactory:l2}=this,u2=l2.createElement("svg");u2.classList.add("quadrilateralsContainer"),u2.setAttribute("width",0),u2.setAttribute("height",0),u2.role="none";let d2=l2.createElement("defs");u2.append(d2);let f2=l2.createElement("clipPath"),p2=`clippath_${this.data.id}`;f2.setAttribute("id",p2),f2.setAttribute("clipPathUnits","objectBoundingBox"),d2.append(f2);for(let n3=2,r3=e2.length;n3<r3;n3+=8){let r4=e2[n3],a3=e2[n3+1],u3=e2[n3+2],d3=e2[n3+3],p3=l2.createElement("rect"),m2=(u3-t2)/s2,h2=(i2-a3)/c2,g2=(r4-u3)/s2,_2=(a3-d3)/c2;p3.setAttribute("x",m2),p3.setAttribute("y",h2),p3.setAttribute("width",g2),p3.setAttribute("height",_2),f2.append(p3),o2?.push(`<rect vector-effect="non-scaling-stroke" x="${m2}" y="${h2}" width="${g2}" height="${_2}"/>`)}this.#t&&(o2.push("</g></svg>')"),a2.backgroundImage=o2.join("")),this.container.append(u2),this.container.style.clipPath=`url(#${p2})`}_createPopup(e2=null){let{data:t2}=this,n2,r2;e2?(n2={str:e2.text},r2=e2.date):(n2=t2.contentsObj,r2=t2.modificationDate),this.#n=new PopupAnnotationElement({data:{color:t2.color,titleObj:t2.titleObj,modificationDate:r2,contentsObj:n2,richText:t2.richText,parentRect:t2.rect,borderStyle:0,id:`popup_${t2.id}`,rotation:t2.rotation,noRotate:!0},linkService:this.linkService,parent:this.parent,elements:[this]})}get hasPopupElement(){return!!(this.#n||this.popup||this.data.popupRef)}get extraPopupElement(){return this.#n}render(){unreachable("Abstract method `AnnotationElement.render` called")}_getElementsByName(e2,t2=null){let n2=[];if(this._fieldObjects){let r2=this._fieldObjects[e2];if(r2)for(let{page:e3,id:i2,exportValues:a2}of r2){if(e3===-1||i2===t2)continue;let r3=typeof a2=="string"?a2:null,o2=document.querySelector(`[data-element-id="${i2}"]`);if(o2&&!Hs.has(o2)){warn(`_getElementsByName - element not allowed: ${i2}`);continue}n2.push({id:i2,exportValue:r3,domElement:o2})}return n2}for(let r2 of document.getElementsByName(e2)){let{exportValue:e3}=r2,i2=r2.getAttribute("data-element-id");i2!==t2&&Hs.has(r2)&&n2.push({id:i2,exportValue:e3,domElement:r2})}return n2}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 e2=this.getElementsToTriggerPopup();if(Array.isArray(e2))for(let t2 of e2)t2.classList.add("highlightArea");else e2.classList.add("highlightArea")}_editOnDoubleClick(){if(!this._isEditable)return;let{annotationEditorType:e2,data:{id:t2}}=this;this.container.addEventListener("dblclick",()=>{this.linkService.eventBus?.dispatch("switchannotationeditormode",{source:this,mode:e2,editId:t2,mustEnterInEditMode:!0})})}updateOC(e2){!this.data.oc||!e2||(e2.isVisible(this.data.oc)?this.show():this.hide())}get width(){return this.data.rect[2]-this.data.rect[0]}get height(){return this.data.rect[3]-this.data.rect[1]}_setBackgroundColor(e2){let t2=this.data.backgroundColor||null;e2.style.backgroundColor=t2===null?"transparent":Util.makeHexColor(...t2)}},EditorAnnotationElement=class extends Ws{constructor(e2){super(e2,{isRenderable:!0,ignoreBorder:!0}),this.editor=e2.editor}render(){return this.container.className="editorAnnotation",this.container}createOrUpdatePopup(){let{editor:e2}=this;e2.hasComment&&this._createPopup(e2.comment)}get hasCommentButton(){return this.enableComment&&this.editor.hasComment}get commentButtonPosition(){return this.editor.commentButtonPositionInPage}get commentText(){return this.editor.comment.text}set commentText(e2){this.editor.comment=e2,e2||this.removePopup()}get commentData(){return this.editor.getData()}remove(){this.parent.removeAnnotation(this.data.id),this.container.remove(),this.container=null,this.removePopup()}},LinkAnnotationElement=class extends Ws{constructor(e2,t2=null){super(e2,{isRenderable:!0,ignoreBorder:!!t2?.ignoreBorder,createQuadrilaterals:!0}),this.isTooltipOnly=e2.data.isTooltipOnly}render(){let{data:e2,linkService:t2}=this,n2=document.createElement("a");n2.setAttribute("data-element-id",e2.id);let r2=!1;return e2.url?(t2.addLinkAttributes(n2,e2.url,e2.newWindow),r2=!0):e2.action?(this._bindNamedAction(n2,e2.action,e2.overlaidText),r2=!0):e2.attachment?(this.#t(n2,e2.attachmentId,e2.attachment,e2.overlaidText,e2.attachmentDest),r2=!0):e2.setOCGState?(this.#n(n2,e2.setOCGState,e2.overlaidText),r2=!0):e2.dest?(this._bindLink(n2,e2.dest,e2.overlaidText),r2=!0):(e2.actions&&(e2.actions.Action||e2.actions["Mouse Up"]||e2.actions["Mouse Down"])&&this.enableScripting&&this.hasJSActions&&(this._bindJSAction(n2,e2),r2=!0),e2.resetForm?(this._bindResetFormAction(n2,e2.resetForm),r2=!0):this.isTooltipOnly&&!r2&&(this._bindLink(n2,""),r2=!0)),this.container.classList.add("linkAnnotation"),r2&&(this.contentElement=n2,this.container.append(n2)),this.container}#e(){this.container.setAttribute("data-internal-link","")}_bindLink(e2,t2,n2=""){e2.href=this.linkService.getDestinationHash(t2),e2.onclick=()=>(t2&&this.linkService.goToDestination(t2),!1),(t2||t2==="")&&this.#e(),n2&&(e2.title=n2)}_bindNamedAction(e2,t2,n2=""){e2.href=this.linkService.getAnchorUrl(""),e2.onclick=()=>(this.linkService.executeNamedAction(t2),!1),n2&&(e2.title=n2),this.#e()}#t(e2,t2,n2,r2="",i2=null){e2.href=this.linkService.getAnchorUrl(""),n2.description?e2.title=n2.description:r2&&(e2.title=r2);let openAttachment=async()=>{let e3=await this.linkService.getAttachmentContent(t2);e3&&this.downloadManager?.openOrDownloadData(e3,n2.filename,i2)};e2.onclick=()=>(openAttachment(),!1),this.#e()}#n(e2,t2,n2=""){e2.href=this.linkService.getAnchorUrl(""),e2.onclick=()=>(this.linkService.executeSetOCGState(t2),!1),n2&&(e2.title=n2),this.#e()}_bindJSAction(e2,t2){e2.href=this.linkService.getAnchorUrl("");let n2=new Map([["Action","onclick"],["Mouse Up","onmouseup"],["Mouse Down","onmousedown"]]);for(let r2 of Object.keys(t2.actions)){let i2=n2.get(r2);i2&&(e2[i2]=()=>(this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:t2.id,name:r2}}),!1))}t2.overlaidText&&(e2.title=t2.overlaidText),e2.onclick||=()=>!1,this.#e()}_bindResetFormAction(e2,t2){let n2=e2.onclick;if(n2||(e2.href=this.linkService.getAnchorUrl("")),this.#e(),!this._fieldObjects){warn('_bindResetFormAction - "resetForm" action not supported, ensure that the `fieldObjects` parameter is provided.'),n2||(e2.onclick=()=>!1);return}e2.onclick=()=>{n2?.();let{fields:e3,refs:r2,include:i2}=t2,a2=[];if(e3.length!==0||r2.length!==0){let t3=new Set(r2);for(let n3 of e3){let e4=this._fieldObjects[n3]||[];for(let{id:n4}of e4)t3.add(n4)}for(let e4 of Object.values(this._fieldObjects))for(let n3 of e4)t3.has(n3.id)===i2&&a2.push(n3)}else for(let e4 of Object.values(this._fieldObjects))a2.push(...e4);let o2=this.annotationStorage,s2=[];for(let e4 of a2){let{id:t3}=e4;switch(s2.push(t3),e4.type){case"text":{let n4=e4.defaultValue||"";o2.setValue(t3,{value:n4});break}case"checkbox":case"radiobutton":{let n4=e4.defaultValue===e4.exportValues;o2.setValue(t3,{value:n4});break}case"combobox":case"listbox":{let n4=e4.defaultValue||"";o2.setValue(t3,{value:n4});break}default:continue}let n3=document.querySelector(`[data-element-id="${t3}"]`);if(n3){if(!Hs.has(n3)){warn(`_bindResetFormAction - element not allowed: ${t3}`);continue}n3.dispatchEvent(new Event("resetform"))}}return this.enableScripting&&this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:"app",ids:s2,name:"ResetForm"}}),!1}}},TextAnnotationElement=class extends Ws{constructor(e2){super(e2,{isRenderable:!0})}render(){this.container.classList.add("textAnnotation");let e2=document.createElement("img");return e2.src=this.imageResourcesPath+"annotation-"+this.data.name.toLowerCase()+".svg",e2.setAttribute("data-l10n-id","pdfjs-text-annotation-type"),e2.setAttribute("data-l10n-args",JSON.stringify({type:this.data.name})),!this.data.popupRef&&this.hasPopupData&&(this.hasOwnCommentButton=!0,this._createPopup()),this.container.append(e2),this.container}},WidgetAnnotationElement=class extends Ws{render(){return this.container}_getKeyModifier(e2){return FeatureTest.platform.isMac?e2.metaKey:e2.ctrlKey}_setEventListener(e2,t2,n2,r2,i2){n2.includes("mouse")?e2.addEventListener(n2,e3=>{this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:this.data.id,name:r2,value:i2(e3),shift:e3.shiftKey,modifier:this._getKeyModifier(e3)}})}):e2.addEventListener(n2,e3=>{if(n2==="blur"){if(!t2.focused||!e3.relatedTarget)return;t2.focused=!1}else if(n2==="focus"){if(t2.focused)return;t2.focused=!0}i2&&this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:this.data.id,name:r2,value:i2(e3)}})})}_setEventListeners(e2,t2,n2,r2){for(let[i2,a2]of n2)(a2==="Action"||this.data.actions?.[a2])&&((a2==="Focus"||a2==="Blur")&&(t2||={focused:!1}),this._setEventListener(e2,t2,i2,a2,r2),a2==="Focus"&&!this.data.actions?.Blur?this._setEventListener(e2,t2,"blur","Blur",null):a2==="Blur"&&!this.data.actions?.Focus&&this._setEventListener(e2,t2,"focus","Focus",null))}_setTextStyle(e2){let t2=["left","center","right"],{fontColor:n2}=this.data.defaultAppearanceData,r2=this.data.defaultAppearanceData.fontSize||9,i2=e2.style,a2,roundToOneDecimal=e3=>Math.round(10*e3)/10;if(this.data.multiLine){let e3=Math.abs(this.data.rect[3]-this.data.rect[1]-2),t3=e3/(Math.round(e3/(So*r2))||1);a2=Math.min(r2,roundToOneDecimal(t3/So))}else{let e3=Math.abs(this.data.rect[3]-this.data.rect[1]-2);a2=Math.min(r2,roundToOneDecimal(e3/So))}i2.fontSize=`calc(${a2}px * var(--total-scale-factor))`,i2.color=Util.makeHexColor(...n2),this.data.textAlignment!==null&&!this.data.comb&&(i2.textAlign=t2[this.data.textAlignment])}_setRequired(e2,t2){t2?e2.setAttribute("required",!0):e2.removeAttribute("required"),e2.setAttribute("aria-required",t2)}},TextWidgetAnnotationElement=class extends WidgetAnnotationElement{constructor(e2){let t2=e2.renderForms||e2.data.hasOwnCanvas||!e2.data.hasAppearance&&!!e2.data.fieldValue;super(e2,{isRenderable:t2})}setPropertyOnSiblings(e2,t2,n2,r2){let i2=this.annotationStorage;for(let a2 of this._getElementsByName(e2.name,e2.id))a2.domElement&&(a2.domElement[t2]=n2),i2.setValue(a2.id,{[r2]:n2})}render(){let e2=this.annotationStorage,t2=this.data.id;this.container.classList.add("textWidgetAnnotation");let n2=null;if(this.renderForms){let r2=e2.getValue(t2,{value:this.data.fieldValue}),i2=r2.value||"",a2=e2.getValue(t2,{charLimit:this.data.maxLen}).charLimit;a2&&i2.length>a2&&(i2=i2.slice(0,a2));let o2=r2.formattedValue||this.data.textContent?.join(`
|
|
98
|
+
`)||null;o2&&this.data.comb&&(o2=o2.replaceAll(/\s+/g,""));let s2={userValue:i2,formattedValue:o2,lastCommittedValue:null,commitKey:1,focused:!1};this.data.multiLine?(n2=document.createElement("textarea"),n2.textContent=o2??i2,this.data.doNotScroll&&(n2.style.overflowY="hidden")):(n2=document.createElement("input"),n2.type=this.data.password?"password":"text",n2.setAttribute("value",o2??i2),this.data.doNotScroll&&(n2.style.overflowX="hidden")),this.data.hasOwnCanvas&&(this.container.classList.add("hasOwnCanvas"),e2.has(t2)&&this.container.classList.add("sandboxModified")),Hs.add(n2),this.contentElement=n2,n2.setAttribute("data-element-id",t2),n2.disabled=this.data.readOnly,n2.name=this.data.fieldName,n2.tabIndex=0;let{datetimeFormat:c2,datetimeType:l2,timeStep:u2}=this.data,d2=!!l2&&this.enableScripting;c2&&(n2.title=c2),this._setRequired(n2,this.data.required),a2&&(n2.maxLength=a2),n2.addEventListener("input",r3=>{e2.setValue(t2,{value:r3.target.value}),this.setPropertyOnSiblings(n2,"value",r3.target.value,"value"),s2.formattedValue=null}),n2.addEventListener("resetform",e3=>{let t3=this.data.defaultFieldValue??"";n2.value=s2.userValue=t3,s2.formattedValue=null});let blurListener=e3=>{let{formattedValue:t3}=s2;t3!=null&&(e3.target.value=t3),e3.target.scrollLeft=0};if(this.enableScripting&&this.hasJSActions){n2.addEventListener("focus",e3=>{if(s2.focused)return;let{target:t3}=e3;if(d2&&(t3.type=l2,u2&&(t3.step=u2)),s2.userValue){let e4=s2.userValue;if(d2)if(l2==="time"){let n3=new Date(e4);t3.value=[n3.getHours(),n3.getMinutes(),n3.getSeconds()].map(e5=>e5.toString().padStart(2,"0")).join(":")}else t3.value=new Date(e4-Us).toISOString().split(l2==="date"?"T":".",1)[0];else t3.value=e4}s2.lastCommittedValue=t3.value,s2.commitKey=1,this.data.actions?.Focus||(s2.focused=!0)}),n2.addEventListener("updatefromsandbox",n3=>{this.container.classList.add("sandboxModified"),this._dispatchEventFromSandbox({value(n4){s2.userValue=n4.detail.value??"",d2||e2.setValue(t2,{value:s2.userValue.toString()}),n4.target.value=s2.userValue},formattedValue(n4){let{formattedValue:r4}=n4.detail;s2.formattedValue=r4,r4!=null&&n4.target!==document.activeElement&&(n4.target.value=r4);let i3={formattedValue:r4};d2&&(i3.value=r4),e2.setValue(t2,i3)},selRange(e3){e3.target.setSelectionRange(...e3.detail.selRange)},charLimit:n4=>{let{charLimit:r4}=n4.detail,{target:i3}=n4;if(r4===0){i3.removeAttribute("maxLength");return}i3.setAttribute("maxLength",r4);let a3=s2.userValue;!a3||a3.length<=r4||(a3=a3.slice(0,r4),i3.value=s2.userValue=a3,e2.setValue(t2,{value:a3}),this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:t2,name:"Keystroke",value:a3,willCommit:!0,commitKey:1,selStart:i3.selectionStart,selEnd:i3.selectionEnd}}))}},n3)}),n2.addEventListener("keydown",e3=>{s2.commitKey=1;let n3=-1;if(e3.key==="Escape"?n3=0:e3.key==="Enter"&&!this.data.multiLine?n3=2:e3.key==="Tab"&&(s2.commitKey=3),n3===-1)return;let{value:r4}=e3.target;s2.lastCommittedValue!==r4&&(s2.lastCommittedValue=r4,s2.userValue=r4,this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:t2,name:"Keystroke",value:r4,willCommit:!0,commitKey:n3,selStart:e3.target.selectionStart,selEnd:e3.target.selectionEnd}}))});let r3=blurListener;blurListener=null,n2.addEventListener("blur",e3=>{if(!s2.focused||!e3.relatedTarget)return;this.data.actions?.Blur||(s2.focused=!1);let{target:n3}=e3,{value:i3}=n3;if(d2){if(i3&&l2==="time"){let e4=i3.split(":").map(e5=>parseInt(e5,10));i3=new Date(2e3,0,1,e4[0],e4[1],e4[2]||0).valueOf(),n3.step=""}else i3.includes("T")||(i3=`${i3}T00:00`),i3=new Date(i3).valueOf();n3.type="text"}s2.userValue=i3,s2.lastCommittedValue!==i3&&this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:t2,name:"Keystroke",value:i3,willCommit:!0,commitKey:s2.commitKey,selStart:e3.target.selectionStart,selEnd:e3.target.selectionEnd}}),r3(e3)}),this.data.actions?.Keystroke&&n2.addEventListener("beforeinput",e3=>{s2.lastCommittedValue=null;let{data:n3,target:r4}=e3,{value:i3,selectionStart:a3,selectionEnd:o3}=r4,c3=a3,l3=o3;switch(e3.inputType){case"deleteWordBackward":{let e4=i3.substring(0,a3).match(/\w*\W*$/);e4&&(c3-=e4[0].length);break}case"deleteWordForward":{let e4=i3.substring(a3).match(/^\W*\w*/);e4&&(l3+=e4[0].length);break}case"deleteContentBackward":a3===o3&&--c3;break;case"deleteContentForward":a3===o3&&(l3+=1);break}e3.preventDefault(),this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:t2,name:"Keystroke",value:i3,change:n3||"",willCommit:!1,selStart:c3,selEnd:l3}})}),this._setEventListeners(n2,s2,[["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"]],e3=>e3.target.value)}if(blurListener&&n2.addEventListener("blur",blurListener),this.data.comb){let e3=(this.data.rect[2]-this.data.rect[0])/a2;n2.classList.add("comb"),n2.style.setProperty("--comb-width",`calc(${e3}px * var(--total-scale-factor))`);let t3=this.data.textAlignment;if(t3===1||t3===2){let setCombOffset=()=>{let e4=a2-n2.value.length;n2.style.setProperty("--comb-offset",`${t3===1?e4>>1:e4}`)};setCombOffset();for(let e4 of["input","blur","resetform","updatefromsandbox"])n2.addEventListener(e4,setCombOffset)}}}else n2=document.createElement("div"),n2.textContent=this.data.fieldValue,n2.style.verticalAlign="middle",n2.style.display="table-cell",this.data.hasOwnCanvas&&(n2.hidden=!0);return this._setTextStyle(n2),this._setBackgroundColor(n2),this._setDefaultPropertiesFromJS(n2),this.container.append(n2),this.container}},SignatureWidgetAnnotationElement=class extends WidgetAnnotationElement{constructor(e2){super(e2,{isRenderable:!!e2.data.hasOwnCanvas})}},CheckboxWidgetAnnotationElement=class extends WidgetAnnotationElement{constructor(e2){super(e2,{isRenderable:e2.renderForms})}render(){let e2=this.annotationStorage,t2=this.data,n2=t2.id,r2=e2.getValue(n2,{value:t2.exportValue===t2.fieldValue}).value;typeof r2=="string"&&(r2=r2!=="Off",e2.setValue(n2,{value:r2})),this.container.classList.add("buttonWidgetAnnotation","checkBox");let i2=document.createElement("input");return Hs.add(i2),i2.setAttribute("data-element-id",n2),i2.disabled=t2.readOnly,this._setRequired(i2,this.data.required),i2.type="checkbox",i2.name=t2.fieldName,r2&&i2.setAttribute("checked",!0),i2.setAttribute("exportValue",t2.exportValue),i2.tabIndex=0,i2.addEventListener("change",r3=>{let{name:i3,checked:a2}=r3.target;for(let r4 of this._getElementsByName(i3,n2)){let n3=a2&&r4.exportValue===t2.exportValue;r4.domElement&&(r4.domElement.checked=n3),e2.setValue(r4.id,{value:n3})}e2.setValue(n2,{value:a2})}),i2.addEventListener("resetform",e3=>{let n3=t2.defaultFieldValue||"Off";e3.target.checked=n3===t2.exportValue}),this.enableScripting&&this.hasJSActions&&(i2.addEventListener("updatefromsandbox",t3=>{this._dispatchEventFromSandbox({value(t4){t4.target.checked=t4.detail.value!=="Off",e2.setValue(n2,{value:t4.target.checked})}},t3)}),this._setEventListeners(i2,null,[["change","Validate"],["change","Action"],["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"]],e3=>e3.target.checked)),this._setDefaultPropertiesFromJS(i2),this.container.append(i2),this.container}},RadioButtonWidgetAnnotationElement=class extends WidgetAnnotationElement{constructor(e2){super(e2,{isRenderable:e2.renderForms})}render(){this.container.classList.add("buttonWidgetAnnotation","radioButton");let e2=this.annotationStorage,t2=this.data,n2=t2.id,r2=e2.getValue(n2,{value:t2.buttonValue!==null&&t2.fieldValue===t2.buttonValue}).value;if(typeof r2=="string"&&(r2=r2!==t2.buttonValue,e2.setValue(n2,{value:r2})),r2)for(let r3 of this._getElementsByName(t2.fieldName,n2))e2.setValue(r3.id,{value:!1});let i2=document.createElement("input");if(Hs.add(i2),i2.setAttribute("data-element-id",n2),i2.disabled=t2.readOnly,this._setRequired(i2,this.data.required),i2.type="radio",i2.name=t2.fieldName,r2&&i2.setAttribute("checked",!0),i2.tabIndex=0,i2.addEventListener("change",t3=>{let{name:r3,checked:i3}=t3.target;for(let t4 of this._getElementsByName(r3,n2))e2.setValue(t4.id,{value:!1});e2.setValue(n2,{value:i3})}),i2.addEventListener("resetform",e3=>{let n3=t2.defaultFieldValue;e3.target.checked=n3!=null&&n3===t2.buttonValue}),this.enableScripting&&this.hasJSActions){let r3=t2.buttonValue;i2.addEventListener("updatefromsandbox",t3=>{this._dispatchEventFromSandbox({value:t4=>{let i3=r3===t4.detail.value;for(let r4 of this._getElementsByName(t4.target.name)){let t5=i3&&r4.id===n2;r4.domElement&&(r4.domElement.checked=t5),e2.setValue(r4.id,{value:t5})}}},t3)}),this._setEventListeners(i2,null,[["change","Validate"],["change","Action"],["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"]],e3=>e3.target.checked)}return this._setDefaultPropertiesFromJS(i2),this.container.append(i2),this.container}},PushButtonWidgetAnnotationElement=class extends LinkAnnotationElement{constructor(e2){super(e2,{ignoreBorder:e2.data.hasAppearance})}render(){let e2=super.render();e2.classList.add("buttonWidgetAnnotation","pushButton");let t2=e2.lastChild;return this.enableScripting&&this.hasJSActions&&t2&&(this._setDefaultPropertiesFromJS(t2),t2.addEventListener("updatefromsandbox",e3=>{this._dispatchEventFromSandbox({},e3)})),e2}},ChoiceWidgetAnnotationElement=class extends WidgetAnnotationElement{constructor(e2){super(e2,{isRenderable:e2.renderForms})}render(){this.container.classList.add("choiceWidgetAnnotation");let e2=this.annotationStorage,t2=this.data.id,n2=e2.getValue(t2,{value:this.data.fieldValue}),r2=document.createElement("select");Hs.add(r2),r2.setAttribute("data-element-id",t2),r2.disabled=this.data.readOnly,this._setRequired(r2,this.data.required),r2.name=this.data.fieldName,r2.tabIndex=0;let i2=this.data.combo&&this.data.options.length>0;this.data.combo||(r2.size=this.data.options.length,this.data.multiSelect&&(r2.multiple=!0)),r2.addEventListener("resetform",e3=>{let t3=this.data.defaultFieldValue;for(let e4 of r2.options)e4.selected=e4.value===t3});let fixDisplayValue=(e3,t3)=>{let n3=t3.replaceAll(" ","\xA0");e3.textContent=n3,n3!==t3&&e3.setAttribute("display-value",t3)};for(let e3 of this.data.options){let t3=document.createElement("option");fixDisplayValue(t3,e3.displayValue),t3.value=e3.exportValue,n2.value.includes(e3.exportValue)&&(t3.setAttribute("selected",!0),i2=!1),r2.append(t3)}let removeEmptyEntry=null;if(i2){let e3=document.createElement("option");e3.value=" ",e3.setAttribute("hidden",!0),e3.setAttribute("selected",!0),r2.prepend(e3),removeEmptyEntry=()=>{e3.remove(),r2.removeEventListener("input",removeEmptyEntry),removeEmptyEntry=null},r2.addEventListener("input",removeEmptyEntry)}let getValue=e3=>{let t3=e3?"value":"textContent",{options:n3,multiple:i3}=r2;return i3?Array.prototype.filter.call(n3,e4=>e4.selected).map(e4=>e4[t3]):n3.selectedIndex===-1?null:n3[n3.selectedIndex][t3]},a2=getValue(!1),getItems=e3=>{let t3=e3.target.options;return Array.prototype.map.call(t3,e4=>({displayValue:e4.getAttribute("display-value")||e4.textContent,exportValue:e4.value}))};return this.enableScripting&&this.hasJSActions?(r2.addEventListener("updatefromsandbox",n3=>{this._dispatchEventFromSandbox({value(n4){removeEmptyEntry?.();let i3=n4.detail.value,o2=new Set(Array.isArray(i3)?i3:[i3]);for(let e3 of r2.options)e3.selected=o2.has(e3.value);e2.setValue(t2,{value:getValue(!0)}),a2=getValue(!1)},multipleSelection(e3){r2.multiple=!0},remove(n4){let i3=r2.options,o2=n4.detail.remove;i3[o2].selected=!1,r2.remove(o2),i3.length>0&&Array.prototype.findIndex.call(i3,e3=>e3.selected)===-1&&(i3[0].selected=!0),e2.setValue(t2,{value:getValue(!0),items:getItems(n4)}),a2=getValue(!1)},clear(n4){for(;r2.length!==0;)r2.remove(0);e2.setValue(t2,{value:null,items:[]}),a2=getValue(!1)},insert(n4){let{index:i3,displayValue:o2,exportValue:s2}=n4.detail.insert,c2=r2.children[i3],l2=document.createElement("option");fixDisplayValue(l2,o2),l2.value=s2,c2?c2.before(l2):r2.append(l2),e2.setValue(t2,{value:getValue(!0),items:getItems(n4)}),a2=getValue(!1)},items(n4){let{items:i3}=n4.detail;for(;r2.length!==0;)r2.remove(0);for(let e3 of i3){let{displayValue:t3,exportValue:n5}=e3,i4=document.createElement("option");fixDisplayValue(i4,t3),i4.value=n5,r2.append(i4)}r2.options.length>0&&(r2.options[0].selected=!0),e2.setValue(t2,{value:getValue(!0),items:getItems(n4)}),a2=getValue(!1)},indices(n4){let r3=new Set(n4.detail.indices);for(let e3 of n4.target.options)e3.selected=r3.has(e3.index);e2.setValue(t2,{value:getValue(!0)}),a2=getValue(!1)},editable(e3){e3.target.disabled=!e3.detail.editable}},n3)}),r2.addEventListener("input",n3=>{let r3=getValue(!0),i3=getValue(!1);e2.setValue(t2,{value:r3}),n3.preventDefault(),this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:t2,name:"Keystroke",value:a2,change:i3,changeEx:r3,willCommit:!1,commitKey:1,keyDown:!1}})}),this._setEventListeners(r2,null,[["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"],["input","Action"],["input","Validate"]],e3=>e3.target.value)):r2.addEventListener("input",function(n3){e2.setValue(t2,{value:getValue(!0)})}),this.data.combo&&this._setTextStyle(r2),this._setBackgroundColor(r2),this._setDefaultPropertiesFromJS(r2),this.container.append(r2),this.container}},PopupAnnotationElement=class extends Ws{constructor(e2){let{data:t2,elements:n2,parent:r2}=e2,i2=!!r2._commentManager;if(super(e2,{isRenderable:!i2&&Ws._hasPopupData(t2)}),this.elements=n2,i2&&Ws._hasPopupData(t2)){let e3=this.popup=this.#e();for(let t3 of n2)t3.popup=e3}else this.popup=null}#e(){return new PopupElement({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:e2}=this;e2.classList.add("popupAnnotation"),e2.role="comment";let t2=this.popup=this.#e(),n2=[];for(let e3 of this.elements)e3.popup=t2,e3.container.ariaHasPopup="dialog",n2.push(e3.data.id),e3.addHighlightArea();return this.container.setAttribute("aria-controls",n2.map(e3=>`${Do}${e3}`).join(",")),this.container}},PopupElement=class{#e=null;#t=this.#P.bind(this);#n=this.#R.bind(this);#r=this.#L.bind(this);#i=this.#I.bind(this);#a=null;#o=null;#s=null;#c=null;#l=null;#u=null;#d=null;#f=!1;#p=null;#m=null;#h=null;#g=null;#_=null;#v=null;#y=null;#b=null;#x=null;#S=null;#C=!1;#w=null;#T=null;constructor({container:e2,color:t2,elements:n2,titleObj:r2,modificationDate:i2,contentsObj:a2,richText:o2,parent:s2,rect:c2,parentRect:l2,open:u2,commentManager:d2=null}){this.#o=e2,this.#x=r2,this.#s=a2,this.#b=o2,this.#u=s2,this.#a=t2,this.#y=c2,this.#d=l2,this.#l=n2,this.#e=d2,this.#w=n2[0],this.#c=PDFDateString.toDateObject(i2),this.trigger=n2.flatMap(e3=>e3.getElementsToTriggerPopup()),d2||(this.#E(),this.#o.hidden=!0,u2&&this.#I())}#E(){if(this.#m)return;this.#m=new AbortController;let{signal:e2}=this.#m;for(let t2 of this.trigger)t2.addEventListener("click",this.#i,{signal:e2}),t2.addEventListener("pointerenter",this.#r,{signal:e2}),t2.addEventListener("pointerleave",this.#n,{signal:e2}),t2.classList.add("popupTriggerArea");for(let t2 of this.#l)t2.container?.addEventListener("keydown",this.#t,{signal:e2})}#D(){let e2=this.#l.find(e3=>e3.hasCommentButton);e2&&(this.#_=e2._normalizePoint(e2.commentButtonPosition))}renderCommentButton(){if(this.#g){this.#g.parentNode||this.#w.container.after(this.#g);return}if(this.#_||this.#D(),!this.#_)return;let{signal:e2}=this.#m=new AbortController,t2=this.#w.hasOwnCommentButton,togglePopup=()=>{this.#e.toggleCommentPopup(this,!0,void 0,!t2)},showPopup=()=>{this.#e.toggleCommentPopup(this,!1,!0,!t2)},hidePopup=()=>{this.#e.toggleCommentPopup(this,!1,!1)};if(t2){this.#g=this.#w.container;for(let t3 of this.trigger)t3.ariaHasPopup="dialog",t3.ariaControls="commentPopup",t3.addEventListener("keydown",this.#t,{signal:e2}),t3.addEventListener("click",togglePopup,{signal:e2}),t3.addEventListener("pointerenter",showPopup,{signal:e2}),t3.addEventListener("pointerleave",hidePopup,{signal:e2}),t3.classList.add("popupTriggerArea")}else{let t3=this.#g=document.createElement("button");t3.className="annotationCommentButton";let n2=this.#w.container;t3.style.zIndex=parseInt(n2.style.zIndex,10)+1,t3.tabIndex=0,t3.ariaHasPopup="dialog",t3.ariaControls="commentPopup",t3.setAttribute("data-l10n-id","pdfjs-show-comment-button"),this.#k(),this.#O(),t3.addEventListener("keydown",this.#t,{signal:e2}),t3.addEventListener("click",togglePopup,{signal:e2}),t3.addEventListener("pointerenter",showPopup,{signal:e2}),t3.addEventListener("pointerleave",hidePopup,{signal:e2}),n2.after(t3)}}#O(){if(this.#w.extraPopupElement&&!this.#w.editor)return;this.#g||this.renderCommentButton();let[e2,t2]=this.#_,{style:n2}=this.#g;n2.left=`calc(${e2}%)`,n2.top=`calc(${t2}% - var(--comment-button-dim))`}#k(){this.#w.extraPopupElement||(this.#g||this.renderCommentButton(),this.#g.style.backgroundColor=this.commentButtonColor||"")}get commentButtonColor(){let{color:e2,opacity:t2}=this.#w.commentData;return e2?this.#u._commentManager.makeCommentColor(e2,t2):null}focusCommentButton(){setTimeout(()=>{this.#g?.focus()},0)}getData(){let{richText:e2,color:t2,opacity:n2,creationDate:r2,modificationDate:i2}=this.#w.commentData;return{contentsObj:{str:this.comment},richText:e2,color:t2,opacity:n2,creationDate:r2,modificationDate:i2}}get elementBeforePopup(){return this.#g}get comment(){return this.#T||=this.#w.commentText,this.#T}set comment(e2){e2!==this.comment&&(this.#w.commentText=this.#T=e2)}focus(){this.#w.container?.focus()}get parentBoundingClientRect(){return this.#w.layer.getBoundingClientRect()}setCommentButtonStates({selected:e2,hasPopup:t2}){this.#g&&(this.#g.classList.toggle("selected",e2),this.#g.ariaExpanded=t2)}setSelectedCommentButton(e2){this.#g.classList.toggle("selected",e2)}get commentPopupPosition(){if(this.#v)return this.#v;let{x:e2,y:t2,height:n2}=this.#g.getBoundingClientRect(),{x:r2,y:i2,width:a2,height:o2}=this.#w.layer.getBoundingClientRect();return[(e2-r2)/a2,(t2+n2-i2)/o2]}set commentPopupPosition(e2){this.#v=e2}hasDefaultPopupPosition(){return this.#v===null}get commentButtonPosition(){return this.#_}get commentButtonWidth(){return this.#g.getBoundingClientRect().width/this.parentBoundingClientRect.width}editComment(e2){let[t2,n2]=this.#v||this.commentButtonPosition.map(e3=>e3/100),r2=this.parentBoundingClientRect,{x:i2,y:a2,width:o2,height:s2}=r2;this.#e.showDialog(null,this,i2+t2*o2,a2+n2*s2,{...e2,parentDimensions:r2})}render(){if(this.#p)return;let e2=this.#p=document.createElement("div");if(e2.className="popup",this.#a){let t3=e2.style.outlineColor=Util.makeHexColor(...this.#a);e2.style.backgroundColor=`color-mix(in srgb, ${t3} 30%, white)`}let t2=document.createElement("span");if(t2.className="header",this.#x?.str){let e3=document.createElement("span");e3.className="title",t2.append(e3),{dir:e3.dir,str:e3.textContent}=this.#x}if(e2.append(t2),this.#c){let e3=document.createElement("time");e3.className="popupDate",e3.setAttribute("data-l10n-id","pdfjs-annotation-date-time-string"),e3.setAttribute("data-l10n-args",JSON.stringify({dateObj:this.#c.valueOf()})),e3.dateTime=this.#c.toISOString(),t2.append(e3)}renderRichText({html:this.#A||this.#s.str,dir:this.#s?.dir,className:"popupContent"},e2),this.#o.append(e2)}get#A(){let e2=this.#b,t2=this.#s;return e2?.str&&(!t2?.str||t2.str===e2.str)&&this.#b.html||null}get#j(){return this.#A?.attributes?.style?.fontSize||0}get#M(){return this.#A?.attributes?.style?.color||null}#N(e2){let t2=[],n2={str:e2,html:{name:"div",attributes:{dir:"auto"},children:[{name:"p",children:t2}]}},r2={style:{color:this.#M,fontSize:this.#j?`calc(${this.#j}px * var(--total-scale-factor))`:""}};for(let n3 of e2.split(`
|
|
99
|
+
`))t2.push({name:"span",value:n3,attributes:r2});return n2}#P(e2){e2.altKey||e2.shiftKey||e2.ctrlKey||e2.metaKey||(e2.key==="Enter"||e2.key==="Escape"&&this.#f)&&this.#I()}updateEdited({rect:e2,popup:t2,deleted:n2}){if(this.#e){n2?(this.remove(),this.#T=null):t2&&(t2.deleted?this.remove():(this.#k(),this.#T=t2.text)),e2&&(this.#_=null,this.#D(),this.#O());return}if(n2||t2?.deleted){this.remove();return}this.#E(),this.#S||={contentsObj:this.#s,richText:this.#b},e2&&(this.#h=null),t2&&t2.text&&(this.#b=this.#N(t2.text),this.#c=PDFDateString.toDateObject(t2.date),this.#s=null),this.#p?.remove(),this.#p=null}resetEdited(){this.#S&&({contentsObj:this.#s,richText:this.#b}=this.#S,this.#S=null,this.#p?.remove(),this.#p=null,this.#h=null)}remove(){if(this.#m?.abort(),this.#m=null,this.#p?.remove(),this.#p=null,this.#C=!1,this.#f=!1,this.#g?.remove(),this.#g=null,this.trigger)for(let e2 of this.trigger)e2.classList.remove("popupTriggerArea")}#F(){if(this.#h!==null)return;let{page:{view:e2},viewport:{rawDims:{pageWidth:t2,pageHeight:n2,pageX:r2,pageY:i2}}}=this.#u,a2=!!this.#d,o2=a2?this.#d:this.#y;for(let e3 of this.#l)if(!o2||Util.intersect(e3.data.rect,o2)!==null){o2=e3.data.rect,a2=!0;break}let s2=Util.normalizeRect([o2[0],e2[3]-o2[1]+e2[1],o2[2],e2[3]-o2[3]+e2[1]]),c2=a2?o2[2]-o2[0]+5:0,l2=s2[0]+c2,u2=s2[1];this.#h=[100*(l2-r2)/t2,100*(u2-i2)/n2];let{style:d2}=this.#o;d2.left=`${this.#h[0]}%`,d2.top=`${this.#h[1]}%`}#I(){if(this.#e){this.#e.toggleCommentPopup(this,!1);return}this.#f=!this.#f,this.#f?(this.#L(),this.#o.addEventListener("click",this.#i),this.#o.addEventListener("keydown",this.#t)):(this.#R(),this.#o.removeEventListener("click",this.#i),this.#o.removeEventListener("keydown",this.#t))}#L(){this.#p||this.render(),this.isVisible?this.#f&&this.#o.classList.add("focused"):(this.#F(),this.#o.hidden=!1,this.#o.style.zIndex=parseInt(this.#o.style.zIndex,10)+1e3)}#R(){this.#o.classList.remove("focused"),!(this.#f||!this.isVisible)&&(this.#o.hidden=!0,this.#o.style.zIndex=parseInt(this.#o.style.zIndex,10)-1e3)}forceHide(){this.#C=this.isVisible,this.#C&&(this.#o.hidden=!0)}maybeShow(){this.#e||(this.#E(),this.#C&&(this.#p||this.#L(),this.#C=!1,this.#o.hidden=!1))}get isVisible(){return!this.#e&&this.#o.hidden===!1}},FreeTextAnnotationElement=class extends Ws{constructor(e2){super(e2,{isRenderable:!0,ignoreBorder:!0}),this.textContent=e2.data.textContent,this.textPosition=e2.data.textPosition,this.annotationEditorType=$.FREETEXT}render(){if(this.container.classList.add("freeTextAnnotation"),this.textContent){let e2=this.contentElement=document.createElement("div");e2.classList.add("annotationTextContent"),e2.setAttribute("role","comment");for(let t2 of this.textContent){let n2=document.createElement("span");n2.textContent=t2,e2.append(n2)}this.container.append(e2)}return!this.data.popupRef&&this.hasPopupData&&(this.hasOwnCommentButton=!0,this._createPopup()),this._editOnDoubleClick(),this.container}},LineAnnotationElement=class extends Ws{#e=null;constructor(e2){super(e2,{isRenderable:!0,ignoreBorder:!0})}render(){this.container.classList.add("lineAnnotation");let{data:e2,width:t2,height:n2}=this,r2=this.svgFactory.create(t2,n2,!0),i2=this.#e=this.svgFactory.createElement("svg:line");return i2.setAttribute("x1",e2.rect[2]-e2.lineCoordinates[0]),i2.setAttribute("y1",e2.rect[3]-e2.lineCoordinates[1]),i2.setAttribute("x2",e2.rect[2]-e2.lineCoordinates[2]),i2.setAttribute("y2",e2.rect[3]-e2.lineCoordinates[3]),i2.setAttribute("stroke-width",e2.borderStyle.width||1),i2.setAttribute("stroke","transparent"),i2.setAttribute("fill","transparent"),r2.append(i2),this.container.append(r2),!e2.popupRef&&this.hasPopupData&&(this.hasOwnCommentButton=!0,this._createPopup()),this.container}getElementsToTriggerPopup(){return this.#e}addHighlightArea(){this.container.classList.add("highlightArea")}},SquareAnnotationElement=class extends Ws{#e=null;constructor(e2){super(e2,{isRenderable:!0,ignoreBorder:!0})}render(){this.container.classList.add("squareAnnotation");let{data:e2,width:t2,height:n2}=this,r2=this.svgFactory.create(t2,n2,!0),i2=e2.borderStyle.width,a2=this.#e=this.svgFactory.createElement("svg:rect");return a2.setAttribute("x",i2/2),a2.setAttribute("y",i2/2),a2.setAttribute("width",t2-i2),a2.setAttribute("height",n2-i2),a2.setAttribute("stroke-width",i2||1),a2.setAttribute("stroke","transparent"),a2.setAttribute("fill","transparent"),r2.append(a2),this.container.append(r2),!e2.popupRef&&this.hasPopupData&&(this.hasOwnCommentButton=!0,this._createPopup()),this.container}getElementsToTriggerPopup(){return this.#e}addHighlightArea(){this.container.classList.add("highlightArea")}},CircleAnnotationElement=class extends Ws{#e=null;constructor(e2){super(e2,{isRenderable:!0,ignoreBorder:!0})}render(){this.container.classList.add("circleAnnotation");let{data:e2,width:t2,height:n2}=this,r2=this.svgFactory.create(t2,n2,!0),i2=e2.borderStyle.width,a2=this.#e=this.svgFactory.createElement("svg:ellipse");return a2.setAttribute("cx",t2/2),a2.setAttribute("cy",n2/2),a2.setAttribute("rx",t2/2-i2/2),a2.setAttribute("ry",n2/2-i2/2),a2.setAttribute("stroke-width",i2||1),a2.setAttribute("stroke","transparent"),a2.setAttribute("fill","transparent"),r2.append(a2),this.container.append(r2),!e2.popupRef&&this.hasPopupData&&(this.hasOwnCommentButton=!0,this._createPopup()),this.container}getElementsToTriggerPopup(){return this.#e}addHighlightArea(){this.container.classList.add("highlightArea")}},PolylineAnnotationElement=class extends Ws{#e=null;constructor(e2){super(e2,{isRenderable:!0,ignoreBorder:!0}),this.containerClassName="polylineAnnotation",this.svgElementName="svg:polyline"}render(){this.container.classList.add(this.containerClassName);let{data:{rect:e2,vertices:t2,borderStyle:n2,popupRef:r2},width:i2,height:a2}=this;if(!t2)return this.container;let o2=this.svgFactory.create(i2,a2,!0),s2=[];for(let n3=0,r3=t2.length;n3<r3;n3+=2){let r4=t2[n3]-e2[0],i3=e2[3]-t2[n3+1];s2.push(`${r4},${i3}`)}s2=s2.join(" ");let c2=this.#e=this.svgFactory.createElement(this.svgElementName);return c2.setAttribute("points",s2),c2.setAttribute("stroke-width",n2.width||1),c2.setAttribute("stroke","transparent"),c2.setAttribute("fill","transparent"),o2.append(c2),this.container.append(o2),!r2&&this.hasPopupData&&(this.hasOwnCommentButton=!0,this._createPopup()),this.container}getElementsToTriggerPopup(){return this.#e}addHighlightArea(){this.container.classList.add("highlightArea")}},PolygonAnnotationElement=class extends PolylineAnnotationElement{constructor(e2){super(e2),this.containerClassName="polygonAnnotation",this.svgElementName="svg:polygon"}},CaretAnnotationElement=class extends Ws{constructor(e2){super(e2,{isRenderable:!0,ignoreBorder:!0})}render(){return this.container.classList.add("caretAnnotation"),!this.data.popupRef&&this.hasPopupData&&(this.hasOwnCommentButton=!0,this._createPopup()),this.container}},InkAnnotationElement=class extends Ws{#e=null;#t=[];constructor(e2){super(e2,{isRenderable:!0,ignoreBorder:!0}),this.containerClassName="inkAnnotation",this.svgElementName="svg:polyline",this.annotationEditorType=this.data.it==="InkHighlight"?$.HIGHLIGHT:$.INK}#n(e2,t2){switch(e2){case 90:return{transform:`rotate(90) translate(${-t2[0]},${t2[1]}) scale(1,-1)`,width:t2[3]-t2[1],height:t2[2]-t2[0]};case 180:return{transform:`rotate(180) translate(${-t2[2]},${t2[1]}) scale(1,-1)`,width:t2[2]-t2[0],height:t2[3]-t2[1]};case 270:return{transform:`rotate(270) translate(${-t2[2]},${t2[3]}) scale(1,-1)`,width:t2[3]-t2[1],height:t2[2]-t2[0]};default:return{transform:`translate(${-t2[0]},${t2[3]}) scale(1,-1)`,width:t2[2]-t2[0],height:t2[3]-t2[1]}}}render(){this.container.classList.add(this.containerClassName);let{data:{rect:e2,rotation:t2,inkLists:n2,borderStyle:r2,popupRef:i2}}=this,{transform:a2,width:o2,height:s2}=this.#n(t2,e2),c2=this.svgFactory.create(o2,s2,!0),l2=this.#e=this.svgFactory.createElement("svg:g");c2.append(l2),l2.setAttribute("stroke-width",r2.width||1),l2.setAttribute("stroke-linecap","round"),l2.setAttribute("stroke-linejoin","round"),l2.setAttribute("stroke-miterlimit",10),l2.setAttribute("stroke","transparent"),l2.setAttribute("fill","transparent"),l2.setAttribute("transform",a2);for(let e3=0,t3=n2.length;e3<t3;e3++){let t4=this.svgFactory.createElement(this.svgElementName);this.#t.push(t4),t4.setAttribute("points",n2[e3].join(",")),l2.append(t4)}return!i2&&this.hasPopupData&&(this.hasOwnCommentButton=!0,this._createPopup()),this.container.append(c2),this._editOnDoubleClick(),this.container}updateEdited(e2){super.updateEdited(e2);let{thickness:t2,points:n2,rect:r2}=e2,i2=this.#e;if(t2>=0&&i2.setAttribute("stroke-width",t2||1),n2)for(let e3=0,t3=this.#t.length;e3<t3;e3++)this.#t[e3].setAttribute("points",n2[e3].join(","));if(r2){let{transform:e3,width:t3,height:n3}=this.#n(this.data.rotation,r2);i2.parentElement.setAttribute("viewBox",`0 0 ${t3} ${n3}`),i2.setAttribute("transform",e3)}}getElementsToTriggerPopup(){return this.#t}addHighlightArea(){this.container.classList.add("highlightArea")}},HighlightAnnotationElement=class extends Ws{constructor(e2){super(e2,{isRenderable:!0,ignoreBorder:!0,createQuadrilaterals:!0}),this.annotationEditorType=$.HIGHLIGHT}render(){let{data:{overlaidText:e2,popupRef:t2}}=this;if(!t2&&this.hasPopupData&&(this.hasOwnCommentButton=!0,this._createPopup()),this.container.classList.add("highlightAnnotation"),this._editOnDoubleClick(),e2){let t3=document.createElement("mark");t3.classList.add("overlaidText"),t3.textContent=e2,this.container.append(t3)}return this.container}},UnderlineAnnotationElement=class extends Ws{constructor(e2){super(e2,{isRenderable:!0,ignoreBorder:!0,createQuadrilaterals:!0})}render(){let{data:{overlaidText:e2,popupRef:t2}}=this;if(!t2&&this.hasPopupData&&(this.hasOwnCommentButton=!0,this._createPopup()),this.container.classList.add("underlineAnnotation"),e2){let t3=document.createElement("u");t3.classList.add("overlaidText"),t3.textContent=e2,this.container.append(t3)}return this.container}},SquigglyAnnotationElement=class extends Ws{constructor(e2){super(e2,{isRenderable:!0,ignoreBorder:!0,createQuadrilaterals:!0})}render(){let{data:{overlaidText:e2,popupRef:t2}}=this;if(!t2&&this.hasPopupData&&(this.hasOwnCommentButton=!0,this._createPopup()),this.container.classList.add("squigglyAnnotation"),e2){let t3=document.createElement("u");t3.classList.add("overlaidText"),t3.textContent=e2,this.container.append(t3)}return this.container}},StrikeOutAnnotationElement=class extends Ws{constructor(e2){super(e2,{isRenderable:!0,ignoreBorder:!0,createQuadrilaterals:!0})}render(){let{data:{overlaidText:e2,popupRef:t2}}=this;if(!t2&&this.hasPopupData&&(this.hasOwnCommentButton=!0,this._createPopup()),this.container.classList.add("strikeoutAnnotation"),e2){let t3=document.createElement("s");t3.classList.add("overlaidText"),t3.textContent=e2,this.container.append(t3)}return this.container}},StampAnnotationElement=class extends Ws{constructor(e2){super(e2,{isRenderable:!0,ignoreBorder:!0}),this.annotationEditorType=$.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}},FileAttachmentAnnotationElement=class extends Ws{#e=null;constructor(e2){super(e2,{isRenderable:!0});let{fileId:t2,file:n2}=this.data;this.filename=n2.filename,this.content=n2.content,this.fileId=t2,this.linkService.eventBus?.dispatch("fileattachmentannotation",{source:this,attachmentId:this.fileId,...n2})}render(){this.container.classList.add("fileAttachmentAnnotation");let{container:e2,data:t2}=this,n2;t2.hasAppearance||t2.fillAlpha===0?n2=document.createElement("div"):(n2=document.createElement("img"),n2.src=`${this.imageResourcesPath}annotation-${/paperclip/i.test(t2.name)?"paperclip":"pushpin"}.svg`,t2.fillAlpha&&t2.fillAlpha<1&&(n2.style=`filter: opacity(${Math.round(t2.fillAlpha*100)}%);`)),n2.addEventListener("dblclick",this.#t.bind(this)),this.#e=n2;let{isMac:r2}=FeatureTest.platform;return e2.addEventListener("keydown",e3=>{e3.key==="Enter"&&(r2?e3.metaKey:e3.ctrlKey)&&this.#t()}),!t2.popupRef&&this.hasPopupData?(this.hasOwnCommentButton=!0,this._createPopup()):n2.classList.add("popupTriggerArea"),e2.append(n2),e2}getElementsToTriggerPopup(){return this.#e}addHighlightArea(){this.container.classList.add("highlightArea")}async#t(){let{fileId:e2,filename:t2,content:n2}=this,r2=await this.linkService.getAttachmentContent(e2)||n2;r2&&this.downloadManager?.openOrDownloadData(r2,t2)}},MediaAnnotationElement=class extends Ws{#e=new AbortController;#t=null;#n=null;constructor(e2){super(e2,{isRenderable:!!e2.data.richMedia})}render(){this.container.classList.add("mediaAnnotation");let{filename:e2}=this.data.richMedia,t2=document.createElement("button");return t2.className="mediaPlayButton",t2.type="button",t2.title=t2.ariaLabel=e2,t2.addEventListener("click",()=>this.#r(t2),{signal:this.#e.signal}),this.container.append(t2),this.container}async#r(e2){let{fileId:t2,filename:n2,contentType:r2}=this.data.richMedia;e2.disabled=!0;let i2;try{i2=await this.linkService.getAttachmentContent(t2)}catch{return}finally{e2.disabled=!1}if(!i2||!e2.isConnected)return;let{signal:a2}=this.#e,o2=URL.createObjectURL(new Blob([i2],{type:r2}));this.#t=o2;let s2=r2.startsWith("audio/"),c2=document.createElement(s2?"audio":"video");if(this.#n=c2,c2.className="mediaContent",this._setBackgroundColor(c2),c2.src=o2,c2.title=n2,c2.controls=!0,c2.autoplay=!0,c2.tabIndex=0,s2){let e3=!1,t3=!1,updateControls=()=>{c2.controls=e3||t3};this.container.addEventListener("pointerenter",()=>{e3=!0,updateControls()},{signal:a2}),this.container.addEventListener("pointerleave",()=>{e3=!1,updateControls()},{signal:a2}),this.container.addEventListener("focusin",()=>{t3=!0,updateControls()},{signal:a2}),this.container.addEventListener("focusout",()=>{t3=!1,updateControls()},{signal:a2})}c2.addEventListener("emptied",()=>this.#i(o2),{once:!0,signal:a2}),e2.replaceWith(c2),c2.play().catch(()=>{})}#i(e2=this.#t){e2&&e2===this.#t&&(URL.revokeObjectURL(e2),this.#t=null)}destroy(){this.#e.abort(),this.#n&&=(this.#n.pause(),this.#n.removeAttribute("src"),this.#n.load(),null),this.#i()}},Gs=class AnnotationLayer{#e=null;#t=null;#n=null;#r=new Map;#i=null;#a=null;#o=[];#s=!1;zIndex=0;constructor({div:e2,accessibilityManager:t2,annotationCanvasMap:n2,annotationEditorUIManager:r2,page:i2,viewport:a2,structTreeLayer:o2,commentManager:s2,linkService:c2,annotationStorage:l2}){this.div=e2,this.#e=t2,this.#t=n2,this.#i=o2||null,this.#a=c2||null,this.#n=l2||new AnnotationStorage,this.page=i2,this.viewport=a2,this._annotationEditorUIManager=r2,this._commentManager=s2||null}hasEditableAnnotations(){return this.#r.size>0}async render(e2){let{annotations:t2,optionalContentConfig:n2}=e2,r2=this.div;setLayerDimensions(r2,this.viewport);let i2=new Map,a2=[],o2={data:null,layer:r2,linkService:this.#a,downloadManager:e2.downloadManager,imageResourcesPath:e2.imageResourcesPath||"",renderForms:e2.renderForms!==!1,svgFactory:new DOMSVGFactory,annotationStorage:this.#n,enableComment:e2.enableComment===!0,enableScripting:e2.enableScripting===!0,hasJSActions:e2.hasJSActions,fieldObjects:e2.fieldObjects,parent:this,elements:null};for(let e3 of t2){if(e3.noHTML)continue;let t3=e3.annotationType===No.POPUP;if(t3){let t4=i2.get(e3.id);if(!t4)continue;if(!this._commentManager){a2.push(e3);continue}o2.elements=t4}else if(e3.rect[2]===e3.rect[0]||e3.rect[3]===e3.rect[1])continue;o2.data=e3;let r3=AnnotationElementFactory.create(o2);if(!r3.isRenderable)continue;t3||(this.#o.push(r3),e3.popupRef&&i2.getOrInsertComputed(e3.popupRef,makeArr).push(r3));let s2=r3.render();e3.hidden&&(s2.style.visibility="hidden"),r3.updateOC(n2),r3._isEditable&&(this.#r.set(r3.data.id,r3),this._annotationEditorUIManager?.renderAnnotationElement(r3))}await this.#c();for(let e3 of a2){let t3=o2.elements=i2.get(e3.id);o2.data=e3;let n3=AnnotationElementFactory.create(o2);if(!n3.isRenderable)continue;let r3=n3.render();n3.contentElement.id=`${Do}${e3.id}`,e3.hidden&&(r3.style.visibility="hidden"),t3.at(-1).container.after(r3)}this.#l()}async#c(){if(this.#o.length===0)return;this.div.replaceChildren();let e2=[];if(!this.#s){this.#s=!0;for(let{contentElement:t3,data:{id:n2}}of this.#o){let r2=t3.id=`${Do}${n2}`;e2.push(this.#i?.getAriaAttributes(r2).then(e3=>{if(e3)for(let[n3,r3]of e3)t3.setAttribute(n3,r3)}))}}this.#o.sort(({data:{rect:[e3,t3,n2,r2]}},{data:{rect:[i2,a2,o2,s2]}})=>{if(e3===n2&&t3===r2)return 1;if(i2===o2&&a2===s2)return-1;let c2=r2,l2=t3,u2=(t3+r2)/2,d2=s2,f2=a2,p2=(a2+s2)/2;return u2>=d2&&p2<=l2?-1:p2>=c2&&u2<=f2?1:(e3+n2)/2-(i2+o2)/2});let t2=document.createDocumentFragment();for(let e3 of this.#o)t2.append(e3.container),this._commentManager?(e3.extraPopupElement?.popup||e3.popup)?.renderCommentButton():e3.extraPopupElement&&t2.append(e3.extraPopupElement.render());if(this.div.append(t2),await Promise.all(e2),this.#e)for(let e3 of this.#o)this.#e.addPointerInTextLayer(e3.contentElement,!1)}async addLinkAnnotations(e2){let t2={data:null,layer:this.div,linkService:this.#a,svgFactory:new DOMSVGFactory,parent:this};for(let n2 of e2){n2.borderStyle||=AnnotationLayer._defaultBorderStyle,t2.data=n2;let e3=AnnotationElementFactory.create(t2);e3.isRenderable&&(e3.render(),e3.contentElement.id=`${Do}${n2.id}`,this.#o.push(e3))}await this.#c()}update({viewport:e2,optionalContentConfig:t2}){let n2=this.div;this.viewport=e2,setLayerDimensions(n2,{rotation:e2.rotation});for(let e3 of this.#o)e3.updateOC(t2);this.#l(),n2.hidden=!1}destroy(){for(let e2 of this.#o)e2.destroy?.(),this.#e?.removePointerInTextLayer(e2.contentElement);this.#o.length=0,this.#r.clear(),this.div.replaceChildren()}#l(){if(!this.#t)return;let e2=this.div;for(let[t2,n2]of this.#t){let r2=e2.querySelector(`[data-annotation-id="${t2}"]`);if(!r2)continue;if(Array.isArray(n2))for(let e3 of n2)e3.className="annotationContent",e3.ariaHidden=!0;else n2.className="annotationContent",n2.ariaHidden=!0;let i2=[];for(let e3 of r2.children)e3.nodeName==="CANVAS"&&i2.push(e3);for(let e3 of i2)e3.remove();let a2=Array.isArray(n2)?n2[0]:n2,{firstChild:o2}=r2;if(o2?o2.classList.contains("annotationContent")?o2.after(a2):o2.before(a2):r2.append(a2),Array.isArray(n2)){let e3=a2;for(let t3=1,r3=n2.length;t3<r3;t3++)e3.after(n2[t3]),e3=n2[t3]}this.#t.delete(t2);let s2=this.#r.get(t2);s2&&(s2._hasNoCanvas?(this._annotationEditorUIManager?.setMissingCanvas(t2,r2.id,n2),s2._hasNoCanvas=!1):s2.canvas=n2)}}refreshCanvases(){this.#l()}getEditableAnnotations(){return this.#r.values()}getEditableAnnotation(e2){return this.#r.get(e2)}addFakeAnnotation(e2){let{div:t2}=this,{id:n2,rotation:r2}=e2,i2=new EditorAnnotationElement({data:{id:n2,rect:e2.getPDFRect(),rotation:r2},editor:e2,layer:t2,parent:this,enableComment:!!this._commentManager,linkService:this.#a,annotationStorage:this.#n});return i2.render(),i2.contentElement.id=`${Do}${n2}`,i2.createOrUpdatePopup(),this.#o.push(i2),i2}removeAnnotation(e2){let t2=this.#o.findIndex(t3=>t3.data.id===e2);if(t2<0)return;let[n2]=this.#o.splice(t2,1);this.#e?.removePointerInTextLayer(n2.contentElement)}updateFakeAnnotations(e2){if(e2.length!==0){for(let t2 of e2)t2.updateFakeAnnotationElement(this);this.#c()}}togglePointerEvents(e2=!1){this.div.classList.toggle("disabled",!e2)}static get _defaultBorderStyle(){return shadow(this,"_defaultBorderStyle",Object.freeze({width:1,rawWidth:1,style:Po.SOLID,dashArray:[3],horizontalCornerRadius:0,verticalCornerRadius:0}))}},Ks=/\r\n?|\n/g,qs=class FreeTextEditor extends rs{#e="";#t=`${this.id}-editor`;#n=null;#r;_colorPicker=null;static _freeTextDefaultContent="";static _internalPadding=0;static _defaultColor=null;static _defaultFontSize=10;static get _keyboardManager(){let e2=FreeTextEditor.prototype,arrowChecker=e3=>e3.isEmpty(),t2=es.TRANSLATE_SMALL,n2=es.TRANSLATE_BIG;return shadow(this,"_keyboardManager",new Qo([[["ctrl+s","mac+meta+s","ctrl+p","mac+meta+p"],e2.commitOrRemove,{bubbles:!0}],[["ctrl+Enter","mac+meta+Enter"],e2.commitOrRemove],[["Escape"],e2.commitOrRemove],[["ArrowLeft"],e2._translateEmpty,{args:[-t2,0],checker:arrowChecker}],[["ctrl+ArrowLeft","mac+shift+ArrowLeft"],e2._translateEmpty,{args:[-n2,0],checker:arrowChecker}],[["ArrowRight"],e2._translateEmpty,{args:[t2,0],checker:arrowChecker}],[["ctrl+ArrowRight","mac+shift+ArrowRight"],e2._translateEmpty,{args:[n2,0],checker:arrowChecker}],[["ArrowUp"],e2._translateEmpty,{args:[0,-t2],checker:arrowChecker}],[["ctrl+ArrowUp","mac+shift+ArrowUp"],e2._translateEmpty,{args:[0,-n2],checker:arrowChecker}],[["ArrowDown"],e2._translateEmpty,{args:[0,t2],checker:arrowChecker}],[["ctrl+ArrowDown","mac+shift+ArrowDown"],e2._translateEmpty,{args:[0,n2],checker:arrowChecker}]]))}static _type="freetext";static _editorType=$.FREETEXT;constructor(e2){super({...e2,name:"freeTextEditor"}),this.color=e2.color||FreeTextEditor._defaultColor||rs._defaultLineColor,this.#r=e2.fontSize||FreeTextEditor._defaultFontSize,this.annotationElementId||this._uiManager.a11yAlert(rs._l10nAlert.freetext),this.canAddComment=!1}static initialize(e2,t2){rs.initialize(e2,t2);let n2=getComputedStyle(document.documentElement);this._internalPadding=parseFloat(n2.getPropertyValue("--freetext-padding"))}static updateDefaultParams(e2,t2){switch(e2){case ko.FREETEXT_SIZE:FreeTextEditor._defaultFontSize=t2;break;case ko.FREETEXT_COLOR:FreeTextEditor._defaultColor=t2;break}}updateParams(e2,t2){switch(e2){case ko.FREETEXT_SIZE:this.#i(t2);break;case ko.FREETEXT_COLOR:this.#a(t2);break}}static get defaultPropertiesToUpdate(){return[[ko.FREETEXT_SIZE,FreeTextEditor._defaultFontSize],[ko.FREETEXT_COLOR,FreeTextEditor._defaultColor||rs._defaultLineColor]]}get propertiesToUpdate(){return[[ko.FREETEXT_SIZE,this.#r],[ko.FREETEXT_COLOR,this.color]]}get toolbarButtons(){return this._colorPicker||=new Vs(this),[["colorPicker",this._colorPicker]]}get colorType(){return ko.FREETEXT_COLOR}#i(e2){let setFontsize=e3=>{this.editorDiv.style.fontSize=`calc(${e3}px * var(--total-scale-factor))`,this.translate(0,-(e3-this.#r)*this.parentScale),this.#r=e3,this.#s()},t2=this.#r;this.addCommands({cmd:setFontsize.bind(this,e2),undo:setFontsize.bind(this,t2),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:ko.FREETEXT_SIZE,overwriteIfSameType:!0,keepUndo:!0})}onUpdatedColor(){this.editorDiv.style.color=this.color,this._colorPicker?.update(this.color),super.onUpdatedColor()}#a(e2){let setColor=e3=>{this.color=e3,this.onUpdatedColor()},t2=this.color;this.addCommands({cmd:setColor.bind(this,e2),undo:setColor.bind(this,t2),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:ko.FREETEXT_COLOR,overwriteIfSameType:!0,keepUndo:!0})}_translateEmpty(e2,t2){this._uiManager.translateSelectedEditors(e2,t2,!0)}getInitialTranslation(){let e2=this.parentScale;return[-FreeTextEditor._internalPadding*e2,-(FreeTextEditor._internalPadding+this.#r)*e2]}rebuild(){this.parent&&(super.rebuild(),this.div!==null&&(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.#n=new AbortController;let e2=this._uiManager.combinedSignal(this.#n);return this.editorDiv.addEventListener("keydown",this.editorDivKeydown.bind(this),{signal:e2}),this.editorDiv.addEventListener("focus",this.editorDivFocus.bind(this),{signal:e2}),this.editorDiv.addEventListener("blur",this.editorDivBlur.bind(this),{signal:e2}),this.editorDiv.addEventListener("input",this.editorDivInput.bind(this),{signal:e2}),this.editorDiv.addEventListener("paste",this.editorDivPaste.bind(this),{signal:e2}),!0}disableEditMode(){return super.disableEditMode()?(this.overlayDiv.classList.add("enabled"),this.editorDiv.contentEditable=!1,this.div.setAttribute("aria-activedescendant",this.#t),this._isDraggable=!0,this.#n?.abort(),this.#n=null,this.div.focus({preventScroll:!0}),this.isEditing=!1,this.parent.div.classList.add("freetextEditing"),!0):!1}focusin(e2){this._focusEventsAllowed&&(super.focusin(e2),e2.target!==this.editorDiv&&this.editorDiv.focus())}onceAdded(e2){this.width||(this.enableEditMode(),e2&&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()}#o(){let e2=[];this.editorDiv.normalize();let t2=null;for(let n2 of this.editorDiv.childNodes)(t2?.nodeType!==Node.TEXT_NODE||n2.nodeName!=="BR")&&(e2.push(FreeTextEditor.#c(n2)),t2=n2);return e2.join(`
|
|
100
|
+
`)}#s(){let[e2,t2]=this.parentDimensions,n2;if(this.isAttachedToDOM)n2=this.div.getBoundingClientRect();else{let{currentLayer:e3,div:t3}=this,r2=t3.style.display,i2=t3.classList.contains("hidden");t3.classList.remove("hidden"),t3.style.display="hidden",e3.div.append(this.div),n2=t3.getBoundingClientRect(),t3.remove(),t3.style.display=r2,t3.classList.toggle("hidden",i2)}this.rotation%180==this.parentRotation%180?(this.width=n2.width/e2,this.height=n2.height/t2):(this.width=n2.height/e2,this.height=n2.width/t2),this.fixAndSetPosition()}commit(){if(!this.isInEditMode())return;super.commit(),this.disableEditMode();let e2=this.#e,t2=this.#e=this.#o().trimEnd();if(e2===t2)return;let setText=e3=>{if(this.#e=e3,!e3){this.remove();return}this.#l(),this._uiManager.rebuild(this),this.#s()};this.addCommands({cmd:()=>{setText(t2)},undo:()=>{setText(e2)},mustExec:!1}),this.#s()}shouldGetKeyboardEvents(){return this.isInEditMode()}enterInEditMode(){this.enableEditMode(),this.editorDiv.focus()}keydown(e2){e2.target===this.div&&e2.key==="Enter"&&(this.enterInEditMode(),e2.preventDefault())}editorDivKeydown(e2){FreeTextEditor._keyboardManager.exec(this,e2)}editorDivFocus(e2){this.isEditing=!0}editorDivBlur(e2){this.isEditing=!1}editorDivInput(e2){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(){if(this.div)return this.div;let e2,t2;(this._isCopy||this.annotationElementId)&&(e2=this.x,t2=this.y),super.render(),this.editorDiv=document.createElement("div"),this.editorDiv.className="internal",this.editorDiv.setAttribute("id",this.#t),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:n2}=this.editorDiv;if(n2.fontSize=`calc(${this.#r}px * var(--total-scale-factor))`,n2.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[n3,r2]=this.parentDimensions;if(this.annotationElementId){let{position:i2}=this._initialData,[a2,o2]=this.getInitialTranslation();[a2,o2]=this.pageTranslationToScreen(a2,o2);let[s2,c2]=this.pageDimensions,[l2,u2]=this.pageTranslation,d2,f2;switch(this.rotation){case 0:d2=e2+(i2[0]-l2)/s2,f2=t2+this.height-(i2[1]-u2)/c2;break;case 90:d2=e2+(i2[0]-l2)/s2,f2=t2-(i2[1]-u2)/c2,[a2,o2]=[o2,-a2];break;case 180:d2=e2-this.width+(i2[0]-l2)/s2,f2=t2-(i2[1]-u2)/c2,[a2,o2]=[-a2,-o2];break;case 270:d2=e2+(i2[0]-l2-this.height*c2)/s2,f2=t2+(i2[1]-u2-this.width*s2)/c2,[a2,o2]=[-o2,a2];break}this.setAt(d2*n3,f2*r2,a2,o2)}else this._moveAfterPaste(e2,t2);this.#l(),this._isDraggable=!0,this.editorDiv.contentEditable=!1}else this._isDraggable=!1,this.editorDiv.contentEditable=!0;return this.div}static#c(e2){return(e2.nodeType===Node.TEXT_NODE?e2.nodeValue:e2.innerText).replaceAll(Ks,"")}editorDivPaste(e2){let t2=e2.clipboardData||window.clipboardData,{types:n2}=t2;if(n2.length===1&&n2[0]==="text/plain")return;e2.preventDefault();let r2=FreeTextEditor.#d(t2.getData("text")||"").replaceAll(Ks,`
|
|
101
|
+
`);if(!r2)return;let i2=window.getSelection();if(!i2.rangeCount)return;this.editorDiv.normalize(),i2.deleteFromDocument();let a2=i2.getRangeAt(0);if(!r2.includes(`
|
|
102
|
+
`)){a2.insertNode(document.createTextNode(r2)),this.editorDiv.normalize(),i2.collapseToStart();return}let{startContainer:o2,startOffset:s2}=a2,c2=[],l2=[];if(o2.nodeType===Node.TEXT_NODE){let e3=o2.parentElement;if(l2.push(o2.nodeValue.slice(s2).replaceAll(Ks,"")),e3!==this.editorDiv){let t3=c2;for(let n3 of this.editorDiv.childNodes){if(n3===e3){t3=l2;continue}t3.push(FreeTextEditor.#c(n3))}}c2.push(o2.nodeValue.slice(0,s2).replaceAll(Ks,""))}else if(o2===this.editorDiv){let e3=c2,t3=0;for(let n3 of this.editorDiv.childNodes)t3++===s2&&(e3=l2),e3.push(FreeTextEditor.#c(n3))}this.#e=`${c2.join(`
|
|
103
|
+
`)}${r2}${l2.join(`
|
|
104
|
+
`)}`,this.#l();let u2=new Range,d2=Math.sumPrecise(c2.map(e3=>e3.length));for(let{firstChild:e3}of this.editorDiv.childNodes)if(e3.nodeType===Node.TEXT_NODE){let t3=e3.nodeValue.length;if(d2<=t3){u2.setStart(e3,d2),u2.setEnd(e3,d2);break}d2-=t3}i2.removeAllRanges(),i2.addRange(u2)}#l(){if(this.editorDiv.replaceChildren(),this.#e)for(let e2 of this.#e.split(`
|
|
105
|
+
`)){let t2=document.createElement("div");t2.append(e2?document.createTextNode(e2):document.createElement("br")),this.editorDiv.append(t2)}}#u(){return this.#e.replaceAll("\xA0"," ")}static#d(e2){return e2.replaceAll(" ","\xA0")}get contentDiv(){return this.editorDiv}getPDFRect(){let e2=FreeTextEditor._internalPadding*this.parentScale;return this.getRect(e2,e2)}static async deserialize(e2,t2,n2){let r2=null;if(e2 instanceof FreeTextAnnotationElement){let{data:{defaultAppearanceData:{fontSize:t3,fontColor:n3},rect:i3,rotation:a2,id:o2,popupRef:s2,richText:c2,contentsObj:l2,creationDate:u2,modificationDate:d2},textContent:f2,textPosition:p2,parent:{page:{pageNumber:m2}}}=e2;if(!f2?.length)return null;r2=e2={annotationType:$.FREETEXT,color:Array.from(n3),fontSize:t3,value:f2.join(`
|
|
106
|
+
`),position:p2,pageIndex:m2-1,rect:i3.slice(0),rotation:a2,annotationElementId:o2,id:o2,deleted:!1,popupRef:s2,comment:l2?.str||null,richText:c2,creationDate:u2,modificationDate:d2}}let i2=await super.deserialize(e2,t2,n2);return i2.#r=e2.fontSize,i2.color=Util.makeHexColor(...e2.color),i2.#e=FreeTextEditor.#d(e2.value),i2._initialData=r2,e2.comment&&i2.setCommentData(e2),i2}serialize(e2=!1){if(this.isEmpty())return null;if(this.deleted)return this.serializeDeleted();let t2=rs._colorManager.convert(this.isAttachedToDOM?getComputedStyle(this.editorDiv).color:this.color),n2=Object.assign(super.serialize(e2),{color:t2,fontSize:this.#r,value:this.#u()});return this.addComment(n2),e2?(n2.isCopy=!0,n2):this.annotationElementId&&!this.#f(n2)?null:(n2.id=this.annotationElementId,n2)}#f(e2){let{value:t2,fontSize:n2,color:r2,pageIndex:i2}=this._initialData;return this.hasEditedComment||this._hasBeenMoved||e2.value!==t2||e2.fontSize!==n2||e2.color.some((e3,t3)=>e3!==r2[t3])||e2.pageIndex!==i2}renderAnnotationElement(e2){let t2=super.renderAnnotationElement(e2);if(!t2)return null;let{style:n2}=t2;n2.fontSize=`calc(${this.#r}px * var(--total-scale-factor))`,n2.color=this.color,t2.replaceChildren();for(let e3 of this.#e.split(`
|
|
107
|
+
`)){let n3=document.createElement("div");n3.append(e3?document.createTextNode(e3):document.createElement("br")),t2.append(n3)}return e2.updateEdited({rect:this.getPDFRect(),popup:this._uiManager.hasCommentManager()||this.hasEditedComment?this.comment:{text:this.#e}}),t2}resetAnnotationElement(e2){super.resetAnnotationElement(e2),e2.resetEdited()}},Outline=class{static PRECISION=1e-4;toSVGPath(){unreachable("Abstract method `toSVGPath` must be implemented.")}get box(){unreachable("Abstract getter `box` must be implemented.")}serialize(e2,t2){unreachable("Abstract method `serialize` must be implemented.")}static _rescale(e2,t2,n2,r2,i2,a2){a2||=new Float32Array(e2.length);for(let o2=0,s2=e2.length;o2<s2;o2+=2)a2[o2]=t2+e2[o2]*r2,a2[o2+1]=n2+e2[o2+1]*i2;return a2}static _rescaleAndSwap(e2,t2,n2,r2,i2,a2){a2||=new Float32Array(e2.length);for(let o2=0,s2=e2.length;o2<s2;o2+=2)a2[o2]=t2+e2[o2+1]*r2,a2[o2+1]=n2+e2[o2]*i2;return a2}static _translate(e2,t2,n2,r2){r2||=new Float32Array(e2.length);for(let i2=0,a2=e2.length;i2<a2;i2+=2)r2[i2]=t2+e2[i2],r2[i2+1]=n2+e2[i2+1];return r2}static svgRound(e2){return Math.round(e2*1e4)}static _normalizePoint(e2,t2,n2,r2,i2){switch(i2){case 90:return[1-t2/n2,e2/r2];case 180:return[1-e2/n2,1-t2/r2];case 270:return[t2/n2,1-e2/r2];default:return[e2/n2,t2/r2]}}static createBezierPoints(e2,t2,n2,r2,i2,a2){return[(e2+5*n2)/6,(t2+5*r2)/6,(5*n2+i2)/6,(5*r2+a2)/6,(n2+i2)/2,(r2+a2)/2]}},Js=class FreeDrawOutliner{#e;#t=[];#n;#r;#i=[];#a=new Float32Array(18);#o;#s;#c;#l;#u;#d;#f=[];static#p=8;static#m=2;static#h=FreeDrawOutliner.#p+FreeDrawOutliner.#m;constructor({x:e2,y:t2},n2,r2,i2,a2,o2=0){this.#e=n2,this.#d=i2*r2,this.#r=a2,this.#a.set([NaN,NaN,NaN,NaN,e2,t2],6),this.#n=o2,this.#l=FreeDrawOutliner.#p*r2,this.#c=FreeDrawOutliner.#h*r2,this.#u=r2,this.#f.push(e2,t2)}isEmpty(){return isNaN(this.#a[8])}#g(){let e2=this.#a.subarray(4,6),t2=this.#a.subarray(16,18),[n2,r2,i2,a2]=this.#e;return[(this.#o+(e2[0]-t2[0])/2-n2)/i2,(this.#s+(e2[1]-t2[1])/2-r2)/a2,(this.#o+(t2[0]-e2[0])/2-n2)/i2,(this.#s+(t2[1]-e2[1])/2-r2)/a2]}add({x:e2,y:t2}){this.#o=e2,this.#s=t2;let[n2,r2,i2,a2]=this.#e,[o2,s2,c2,l2]=this.#a.subarray(8,12),u2=e2-c2,d2=t2-l2,f2=Math.hypot(u2,d2);if(f2<this.#c)return!1;let p2=f2-this.#l,m2=p2/f2,h2=m2*u2,g2=m2*d2,_2=o2,v2=s2;o2=c2,s2=l2,c2+=h2,l2+=g2,this.#f?.push(e2,t2);let y2=-g2/p2,b2=h2/p2,x2=y2*this.#d,S2=b2*this.#d;return this.#a.set(this.#a.subarray(2,8),0),this.#a.set([c2+x2,l2+S2],4),this.#a.set(this.#a.subarray(14,18),12),this.#a.set([c2-x2,l2-S2],16),isNaN(this.#a[6])?(this.#i.length===0&&(this.#a.set([o2+x2,s2+S2],2),this.#i.push(NaN,NaN,NaN,NaN,(o2+x2-n2)/i2,(s2+S2-r2)/a2),this.#a.set([o2-x2,s2-S2],14),this.#t.push(NaN,NaN,NaN,NaN,(o2-x2-n2)/i2,(s2-S2-r2)/a2)),this.#a.set([_2,v2,o2,s2,c2,l2],6),!this.isEmpty()):(this.#a.set([_2,v2,o2,s2,c2,l2],6),Math.abs(Math.atan2(v2-s2,_2-o2)-Math.atan2(g2,h2))<Math.PI/2?([o2,s2,c2,l2]=this.#a.subarray(2,6),this.#i.push(NaN,NaN,NaN,NaN,((o2+c2)/2-n2)/i2,((s2+l2)/2-r2)/a2),[o2,s2,_2,v2]=this.#a.subarray(14,18),this.#t.push(NaN,NaN,NaN,NaN,((_2+o2)/2-n2)/i2,((v2+s2)/2-r2)/a2),!0):([_2,v2,o2,s2,c2,l2]=this.#a.subarray(0,6),this.#i.push(((_2+5*o2)/6-n2)/i2,((v2+5*s2)/6-r2)/a2,((5*o2+c2)/6-n2)/i2,((5*s2+l2)/6-r2)/a2,((o2+c2)/2-n2)/i2,((s2+l2)/2-r2)/a2),[c2,l2,o2,s2,_2,v2]=this.#a.subarray(12,18),this.#t.push(((_2+5*o2)/6-n2)/i2,((v2+5*s2)/6-r2)/a2,((5*o2+c2)/6-n2)/i2,((5*s2+l2)/6-r2)/a2,((o2+c2)/2-n2)/i2,((s2+l2)/2-r2)/a2),!0))}toSVGPath(){if(this.isEmpty())return"";let e2=this.#i,t2=this.#t;if(isNaN(this.#a[6])&&!this.isEmpty())return this.#_();let n2=[];n2.push(`M${e2[4]} ${e2[5]}`);for(let t3=6;t3<e2.length;t3+=6)isNaN(e2[t3])?n2.push(`L${e2[t3+4]} ${e2[t3+5]}`):n2.push(`C${e2[t3]} ${e2[t3+1]} ${e2[t3+2]} ${e2[t3+3]} ${e2[t3+4]} ${e2[t3+5]}`);this.#y(n2);for(let e3=t2.length-6;e3>=6;e3-=6)isNaN(t2[e3])?n2.push(`L${t2[e3+4]} ${t2[e3+5]}`):n2.push(`C${t2[e3]} ${t2[e3+1]} ${t2[e3+2]} ${t2[e3+3]} ${t2[e3+4]} ${t2[e3+5]}`);return this.#v(n2),n2.join(" ")}#_(){let[e2,t2,n2,r2]=this.#e,[i2,a2,o2,s2]=this.#g();return`M${(this.#a[2]-e2)/n2} ${(this.#a[3]-t2)/r2} L${(this.#a[4]-e2)/n2} ${(this.#a[5]-t2)/r2} L${i2} ${a2} L${o2} ${s2} L${(this.#a[16]-e2)/n2} ${(this.#a[17]-t2)/r2} L${(this.#a[14]-e2)/n2} ${(this.#a[15]-t2)/r2} Z`}#v(e2){let t2=this.#t;e2.push(`L${t2[4]} ${t2[5]} Z`)}#y(e2){let[t2,n2,r2,i2]=this.#e,a2=this.#a.subarray(4,6),o2=this.#a.subarray(16,18),[s2,c2,l2,u2]=this.#g();e2.push(`L${(a2[0]-t2)/r2} ${(a2[1]-n2)/i2} L${s2} ${c2} L${l2} ${u2} L${(o2[0]-t2)/r2} ${(o2[1]-n2)/i2}`)}newFreeDrawOutline(e2,t2,n2,r2,i2,a2){return new FreeDrawOutline(e2,t2,n2,r2,i2,a2)}getOutlines(){let e2=this.#i,t2=this.#t,n2=this.#a,[r2,i2,a2,o2]=this.#e,s2=new Float32Array((this.#f?.length??0)+2);for(let e3=0,t3=s2.length-2;e3<t3;e3+=2)s2[e3]=(this.#f[e3]-r2)/a2,s2[e3+1]=(this.#f[e3+1]-i2)/o2;if(s2[s2.length-2]=(this.#o-r2)/a2,s2[s2.length-1]=(this.#s-i2)/o2,isNaN(n2[6])&&!this.isEmpty())return this.#b(s2);let c2=new Float32Array(this.#i.length+24+this.#t.length),l2=e2.length;for(let t3=0;t3<l2;t3+=2){if(isNaN(e2[t3])){c2[t3]=c2[t3+1]=NaN;continue}c2[t3]=e2[t3],c2[t3+1]=e2[t3+1]}l2=this.#S(c2,l2);for(let e3=t2.length-6;e3>=6;e3-=6)for(let n3=0;n3<6;n3+=2){if(isNaN(t2[e3+n3])){c2[l2]=c2[l2+1]=NaN,l2+=2;continue}c2[l2]=t2[e3+n3],c2[l2+1]=t2[e3+n3+1],l2+=2}return this.#x(c2,l2),this.newFreeDrawOutline(c2,s2,this.#e,this.#u,this.#n,this.#r)}#b(e2){let t2=this.#a,[n2,r2,i2,a2]=this.#e,[o2,s2,c2,l2]=this.#g(),u2=new Float32Array(36);return u2.set([NaN,NaN,NaN,NaN,(t2[2]-n2)/i2,(t2[3]-r2)/a2,NaN,NaN,NaN,NaN,(t2[4]-n2)/i2,(t2[5]-r2)/a2,NaN,NaN,NaN,NaN,o2,s2,NaN,NaN,NaN,NaN,c2,l2,NaN,NaN,NaN,NaN,(t2[16]-n2)/i2,(t2[17]-r2)/a2,NaN,NaN,NaN,NaN,(t2[14]-n2)/i2,(t2[15]-r2)/a2],0),this.newFreeDrawOutline(u2,e2,this.#e,this.#u,this.#n,this.#r)}#x(e2,t2){let n2=this.#t;return e2.set([NaN,NaN,NaN,NaN,n2[4],n2[5]],t2),t2+=6}#S(e2,t2){let n2=this.#a.subarray(4,6),r2=this.#a.subarray(16,18),[i2,a2,o2,s2]=this.#e,[c2,l2,u2,d2]=this.#g();return e2.set([NaN,NaN,NaN,NaN,(n2[0]-i2)/o2,(n2[1]-a2)/s2,NaN,NaN,NaN,NaN,c2,l2,NaN,NaN,NaN,NaN,u2,d2,NaN,NaN,NaN,NaN,(r2[0]-i2)/o2,(r2[1]-a2)/s2],t2),t2+=24}},FreeDrawOutline=class extends Outline{#e;#t=new Float32Array(4);#n;#r;#i;#a;#o;constructor(e2,t2,n2,r2,i2,a2){super(),this.#o=e2,this.#i=t2,this.#e=n2,this.#a=r2,this.#n=i2,this.#r=a2,this.firstPoint=[NaN,NaN],this.lastPoint=[NaN,NaN],this.#s(a2);let[o2,s2,c2,l2]=this.#t;for(let t3=0,n3=e2.length;t3<n3;t3+=2)e2[t3]=(e2[t3]-o2)/c2,e2[t3+1]=(e2[t3+1]-s2)/l2;for(let e3=0,n3=t2.length;e3<n3;e3+=2)t2[e3]=(t2[e3]-o2)/c2,t2[e3+1]=(t2[e3+1]-s2)/l2}toSVGPath(){let e2=[`M${this.#o[4]} ${this.#o[5]}`];for(let t2=6,n2=this.#o.length;t2<n2;t2+=6){if(isNaN(this.#o[t2])){e2.push(`L${this.#o[t2+4]} ${this.#o[t2+5]}`);continue}e2.push(`C${this.#o[t2]} ${this.#o[t2+1]} ${this.#o[t2+2]} ${this.#o[t2+3]} ${this.#o[t2+4]} ${this.#o[t2+5]}`)}return e2.push("Z"),e2.join(" ")}serialize([e2,t2,n2,r2],i2){let a2=n2-e2,o2=r2-t2,s2,c2;switch(i2){case 0:s2=Outline._rescale(this.#o,e2,r2,a2,-o2),c2=Outline._rescale(this.#i,e2,r2,a2,-o2);break;case 90:s2=Outline._rescaleAndSwap(this.#o,e2,t2,a2,o2),c2=Outline._rescaleAndSwap(this.#i,e2,t2,a2,o2);break;case 180:s2=Outline._rescale(this.#o,n2,t2,-a2,o2),c2=Outline._rescale(this.#i,n2,t2,-a2,o2);break;case 270:s2=Outline._rescaleAndSwap(this.#o,n2,r2,-a2,-o2),c2=Outline._rescaleAndSwap(this.#i,n2,r2,-a2,-o2);break}return{outline:Array.from(s2),points:[Array.from(c2)]}}#s(e2){let t2=this.#o,n2=t2[4],r2=t2[5],i2=[n2,r2,n2,r2],a2=n2,o2=r2,s2=n2,c2=r2,l2=e2?Math.max:Math.min,u2=new Float32Array(4);for(let e3=6,d3=t2.length;e3<d3;e3+=6){let d4=t2[e3+4],f2=t2[e3+5];isNaN(t2[e3])?(Util.pointBoundingBox(d4,f2,i2),o2>f2?(a2=d4,o2=f2):o2===f2&&(a2=l2(a2,d4)),c2<f2?(s2=d4,c2=f2):c2===f2&&(s2=l2(s2,d4))):(u2.set(yo,0),Util.bezierBoundingBox(n2,r2,...t2.slice(e3,e3+6),u2),Util.rectBoundingBox(...u2,i2),o2>u2[1]?(a2=u2[0],o2=u2[1]):o2===u2[1]&&(a2=l2(a2,u2[0])),c2<u2[3]?(s2=u2[2],c2=u2[3]):c2===u2[3]&&(s2=l2(s2,u2[2]))),n2=d4,r2=f2}let d2=this.#t;d2[0]=i2[0]-this.#n,d2[1]=i2[1]-this.#n,d2[2]=i2[2]-i2[0]+2*this.#n,d2[3]=i2[3]-i2[1]+2*this.#n,this.firstPoint=[a2,o2],this.lastPoint=[s2,c2]}get box(){return this.#t}newOutliner(e2,t2,n2,r2,i2,a2=0){return new Js(e2,t2,n2,r2,i2,a2)}getNewOutline(e2,t2){let[n2,r2,i2,a2]=this.#t,[o2,s2,c2,l2]=this.#e,u2=i2*c2,d2=a2*l2,f2=n2*c2+o2,p2=r2*l2+s2,m2=this.newOutliner({x:this.#i[0]*u2+f2,y:this.#i[1]*d2+p2},this.#e,this.#a,e2,this.#r,t2??this.#n);for(let e3=2;e3<this.#i.length;e3+=2)m2.add({x:this.#i[e3]*u2+f2,y:this.#i[e3+1]*d2+p2});return m2.getOutlines()}},HighlightOutliner=class{#e;#t;#n;#r=[];#i=[];constructor(e2,t2=0,n2=0,r2=!0){let i2=yo.slice(),a2=10**-4;for(let{x:n3,y:r3,width:o3,height:s3}of e2){let e3=Math.floor((n3-t2)/a2)*a2,c3=Math.ceil((n3+o3+t2)/a2)*a2,l3=Math.floor((r3-t2)/a2)*a2,u3=Math.ceil((r3+s3+t2)/a2)*a2,d3=[e3,l3,u3,!0],f3=[c3,l3,u3,!1];this.#r.push(d3,f3),Util.rectBoundingBox(e3,l3,c3,u3,i2)}let o2=i2[2]-i2[0]+2*n2,s2=i2[3]-i2[1]+2*n2,c2=i2[0]-n2,l2=i2[1]-n2,u2=r2?-1/0:1/0,d2=1/0,f2=this.#r.at(r2?-1:-2),p2=[f2[0],f2[2]];for(let e3 of this.#r){let[t3,n3,i3,a3]=e3;!a3&&r2?n3<d2?(d2=n3,u2=t3):n3===d2&&(u2=Math.max(u2,t3)):a3&&!r2&&(n3<d2?(d2=n3,u2=t3):n3===d2&&(u2=Math.min(u2,t3))),e3[0]=(t3-c2)/o2,e3[1]=(n3-l2)/s2,e3[2]=(i3-l2)/s2}this.#e=new Float32Array([c2,l2,o2,s2]),this.#t=[u2,d2],this.#n=p2}getOutlines(){this.#r.sort((e3,t2)=>e3[0]-t2[0]||e3[1]-t2[1]||e3[2]-t2[2]);let e2=[];for(let t2 of this.#r)t2[3]?(e2.push(...this.#l(t2)),this.#s(t2)):(this.#c(t2),e2.push(...this.#l(t2)));return this.#a(e2)}#a(e2){let t2=[],n2=new Set;for(let n3 of e2){let[e3,r3,i3]=n3;t2.push([e3,r3,n3],[e3,i3,n3])}t2.sort((e3,t3)=>e3[1]-t3[1]||e3[0]-t3[0]);for(let e3=0,r3=t2.length;e3<r3;e3+=2){let r4=t2[e3][2],i3=t2[e3+1][2];r4.push(i3),i3.push(r4),n2.add(r4),n2.add(i3)}let r2=[],i2;for(;n2.size>0;){let e3=n2.values().next().value,[t3,a2,o2,s2,c2]=e3;n2.delete(e3);let l2=t3,u2=a2;for(i2=[t3,o2],r2.push(i2);;){let e4;if(n2.has(s2))e4=s2;else if(n2.has(c2))e4=c2;else break;n2.delete(e4),[t3,a2,o2,s2,c2]=e4,l2!==t3&&(i2.push(l2,u2,t3,u2===a2?a2:o2),l2=t3),u2=u2===a2?o2:a2}i2.push(l2,u2)}return new HighlightOutline(r2,this.#e,this.#t,this.#n)}#o(e2){let t2=this.#i,n2=0,r2=t2.length-1;for(;n2<=r2;){let i2=n2+r2>>1,a2=t2[i2][0];if(a2===e2)return i2;a2<e2?n2=i2+1:r2=i2-1}return r2+1}#s([,e2,t2]){let n2=this.#o(e2);this.#i.splice(n2,0,[e2,t2])}#c([,e2,t2]){let n2=this.#o(e2);for(let r2=n2;r2<this.#i.length;r2++){let[n3,i2]=this.#i[r2];if(n3!==e2)break;if(n3===e2&&i2===t2){this.#i.splice(r2,1);return}}for(let r2=n2-1;r2>=0;r2--){let[n3,i2]=this.#i[r2];if(n3!==e2)break;if(n3===e2&&i2===t2){this.#i.splice(r2,1);return}}}#l(e2){let[t2,n2,r2]=e2,i2=[[t2,n2,r2]],a2=this.#o(r2);for(let e3=0;e3<a2;e3++){let[n3,r3]=this.#i[e3];for(let e4=0,a3=i2.length;e4<a3;e4++){let[,o2,s2]=i2[e4];if(!(r3<=o2||s2<=n3)){if(o2>=n3){if(s2>r3)i2[e4][1]=r3;else{if(a3===1)return[];i2.splice(e4,1),e4--,a3--}continue}i2[e4][2]=n3,s2>r3&&i2.push([t2,r3,s2])}}}return i2}},HighlightOutline=class extends Outline{#e;#t;constructor(e2,t2,n2,r2){super(),this.#t=e2,this.#e=t2,this.firstPoint=n2,this.lastPoint=r2}toSVGPath(){let e2=[];for(let t2 of this.#t){let[n2,r2]=t2;e2.push(`M${n2} ${r2}`);for(let i2=2;i2<t2.length;i2+=2){let a2=t2[i2],o2=t2[i2+1];a2===n2?(e2.push(`V${o2}`),r2=o2):o2===r2&&(e2.push(`H${a2}`),n2=a2)}e2.push("Z")}return e2.join(" ")}serialize([e2,t2,n2,r2],i2){let a2=[],o2=n2-e2,s2=r2-t2;for(let t3 of this.#t){let n3=Array(t3.length);for(let i3=0;i3<t3.length;i3+=2)n3[i3]=e2+t3[i3]*o2,n3[i3+1]=r2-t3[i3+1]*s2;a2.push(n3)}return a2}get box(){return this.#e}},FreeHighlightOutliner=class extends Js{newFreeDrawOutline(e2,t2,n2,r2,i2,a2){return new FreeHighlightOutline(e2,t2,n2,r2,i2,a2)}},FreeHighlightOutline=class extends FreeDrawOutline{newOutliner(e2,t2,n2,r2,i2,a2=0){return new FreeHighlightOutliner(e2,t2,n2,r2,i2,a2)}},Ys=class HighlightEditor extends rs{#e=null;#t=0;#n;#r=null;#i=null;#a=null;#o=null;#s=0;#c=null;#l=null;#u=null;#d=!1;#f=null;#p=null;#m=null;#h="";#g;#_="";static _defaultColor=null;static _defaultOpacity=1;static _defaultThickness=12;static _type="highlight";static _editorType=$.HIGHLIGHT;static _freeHighlightId=-1;static _freeHighlight=null;static _freeHighlightClipId="";static get _keyboardManager(){let e2=HighlightEditor.prototype;return shadow(this,"_keyboardManager",new Qo([[["ArrowLeft"],e2._moveCaret,{args:[0]}],[["ArrowRight"],e2._moveCaret,{args:[1]}],[["ArrowUp"],e2._moveCaret,{args:[2]}],[["ArrowDown"],e2._moveCaret,{args:[3]}]]))}constructor(e2){super({...e2,name:"highlightEditor"}),this.color=e2.color||HighlightEditor._defaultColor,this.#g=e2.thickness||HighlightEditor._defaultThickness,this.opacity=e2.opacity||HighlightEditor._defaultOpacity,this.#n=e2.boxes||null,this.#_=e2.methodOfCreation||"",this.#h=e2.text||"",this._isDraggable=!1,this.defaultL10nId="pdfjs-editor-highlight-editor",e2.highlightId>-1?(this.#d=!0,this.#y(e2),this.#w()):this.#n&&(this.#e=e2.anchorNode,this.#t=e2.anchorOffset,this.#o=e2.focusNode,this.#s=e2.focusOffset,this.#v(),this.#w(),this.rotate(this.rotation)),this.annotationElementId||this._uiManager.a11yAlert(rs._l10nAlert.highlight)}get telemetryInitialData(){return{action:"added",type:this.#d?"free_highlight":"highlight",color:this._uiManager.getNonHCMColorName(this.color),thickness:this.#g,methodOfCreation:this.#_}}get telemetryFinalData(){return{type:"highlight",color:this._uiManager.getNonHCMColorName(this.color)}}static computeTelemetryFinalData(e2){return{numberOfColors:e2.get("color").size}}#v(){let e2=new HighlightOutliner(this.#n,.001);this.#l=e2.getOutlines(),[this.x,this.y,this.width,this.height]=this.#l.box;let t2=new HighlightOutliner(this.#n,.0025,.001,this._uiManager.direction==="ltr");this.#a=t2.getOutlines();let{firstPoint:n2}=this.#l;this.#f=[(n2[0]-this.x)/this.width,(n2[1]-this.y)/this.height];let{lastPoint:r2}=this.#a;this.#p=[(r2[0]-this.x)/this.width,(r2[1]-this.y)/this.height]}#y({highlightOutlines:e2,highlightId:t2,clipPathId:n2}){if(this.#l=e2,this.#a=e2.getNewOutline(this.#g/2+1.5,.0025),t2>=0)this.#u=t2,this.#r=n2,this.parent.drawLayer.finalizeDraw(t2,{bbox:e2.box,path:{d:e2.toSVGPath()}}),this.#m=this.parent.drawLayer.drawOutline({rootClass:{highlightOutline:!0,free:!0},bbox:this.#a.box,path:{d:this.#a.toSVGPath()}},!0);else if(this.parent){let t3=this.parent.viewport.rotation;this.parent.drawLayer.updateProperties(this.#u,{bbox:HighlightEditor.#T(this.#l.box,(t3-this.rotation+360)%360),path:{d:e2.toSVGPath()}}),this.parent.drawLayer.updateProperties(this.#m,{bbox:HighlightEditor.#T(this.#a.box,t3),path:{d:this.#a.toSVGPath()}})}let[r2,i2,a2,o2]=e2.box;switch(this.rotation){case 0:this.x=r2,this.y=i2,this.width=a2,this.height=o2;break;case 90:{let[e3,t3]=this.parentDimensions;this.x=i2,this.y=1-r2,this.width=a2*t3/e3,this.height=o2*e3/t3;break}case 180:this.x=1-r2,this.y=1-i2,this.width=a2,this.height=o2;break;case 270:{let[e3,t3]=this.parentDimensions;this.x=1-i2,this.y=r2,this.width=a2*t3/e3,this.height=o2*e3/t3;break}}let{firstPoint:s2}=e2;this.#f=[(s2[0]-r2)/a2,(s2[1]-i2)/o2];let{lastPoint:c2}=this.#a;this.#p=[(c2[0]-r2)/a2,(c2[1]-i2)/o2]}static initialize(e2,t2){rs.initialize(e2,t2),HighlightEditor._defaultColor||=t2.highlightColors?.values().next().value||"#fff066"}static updateDefaultParams(e2,t2){switch(e2){case ko.HIGHLIGHT_COLOR:HighlightEditor._defaultColor=t2;break;case ko.HIGHLIGHT_THICKNESS:HighlightEditor._defaultThickness=t2;break}}translateInPage(e2,t2){}get toolbarPosition(){return this.#p}get commentButtonPosition(){return this.#f}updateParams(e2,t2){switch(e2){case ko.HIGHLIGHT_COLOR:this.#b(t2);break;case ko.HIGHLIGHT_THICKNESS:this.#x(t2);break}}static get defaultPropertiesToUpdate(){return[[ko.HIGHLIGHT_COLOR,HighlightEditor._defaultColor],[ko.HIGHLIGHT_THICKNESS,HighlightEditor._defaultThickness]]}get propertiesToUpdate(){return[[ko.HIGHLIGHT_COLOR,this.color||HighlightEditor._defaultColor],[ko.HIGHLIGHT_THICKNESS,this.#g||HighlightEditor._defaultThickness],[ko.HIGHLIGHT_FREE,this.#d]]}onUpdatedColor(){this.parent?.drawLayer.updateProperties(this.#u,{root:{fill:this.color,"fill-opacity":this.opacity}}),this.#i?.updateColor(this.color),super.onUpdatedColor()}#b(e2){let setColorAndOpacity=(e3,t3)=>{this.color=e3,this.opacity=t3,this.onUpdatedColor()},t2=this.color,n2=this.opacity;this.addCommands({cmd:setColorAndOpacity.bind(this,e2,HighlightEditor._defaultOpacity),undo:setColorAndOpacity.bind(this,t2,n2),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:ko.HIGHLIGHT_COLOR,overwriteIfSameType:!0,keepUndo:!0}),this._reportTelemetry({action:"color_changed",color:this._uiManager.getNonHCMColorName(e2)},!0)}#x(e2){let t2=this.#g,setThickness=e3=>{this.#g=e3,this.#S(e3)};this.addCommands({cmd:setThickness.bind(this,e2),undo:setThickness.bind(this,t2),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:ko.INK_THICKNESS,overwriteIfSameType:!0,keepUndo:!0}),this._reportTelemetry({action:"thickness_changed",thickness:e2},!0)}get toolbarButtons(){return this._uiManager.highlightColors?[["colorPicker",this.#i=new Bs({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.#O())}getBaseTranslation(){return[0,0]}getRect(e2,t2){return super.getRect(e2,t2,this.#O())}onceAdded(e2){this.annotationElementId||this.parent.addUndoableEditor(this),e2&&this.div.focus()}remove(){this.#C(),this._reportTelemetry({action:"deleted"}),super.remove()}rebuild(){this.parent&&(super.rebuild(),this.div!==null&&(this.#w(),this.isAttachedToDOM||this.parent.add(this)))}setParent(e2){let t2=!1;this.parent&&!e2?this.#C():e2&&(this.#w(e2),t2=!this.parent&&this.div?.classList.contains("selectedEditor")),super.setParent(e2),this.show(this._isVisible),t2&&this.select()}#S(e2){this.#d&&(this.#y({highlightOutlines:this.#l.getNewOutline(e2/2)}),this.fixAndSetPosition(),this.setDims())}#C(){this.#u===null||!this.parent||(this.parent.drawLayer.remove(this.#u),this.#u=null,this.parent.drawLayer.remove(this.#m),this.#m=null)}#w(e2=this.parent){this.#u===null&&({id:this.#u,clipPathId:this.#r}=e2.drawLayer.draw({bbox:this.#l.box,root:{viewBox:"0 0 1 1",fill:this.color,"fill-opacity":this.opacity},rootClass:{highlight:!0,free:this.#d},path:{d:this.#l.toSVGPath()}},!1,!0),this.#m=e2.drawLayer.drawOutline({rootClass:{highlightOutline:!0,free:this.#d},bbox:this.#a.box,path:{d:this.#a.toSVGPath()}},this.#d),this.#c&&(this.#c.style.clipPath=this.#r))}static#T([e2,t2,n2,r2],i2){switch(i2){case 90:return[1-t2-r2,e2,r2,n2];case 180:return[1-e2-n2,1-t2-r2,n2,r2];case 270:return[t2,1-e2-n2,r2,n2]}return[e2,t2,n2,r2]}rotate(e2){let{drawLayer:t2}=this.parent,n2;this.#d?(e2=(e2-this.rotation+360)%360,n2=HighlightEditor.#T(this.#l.box,e2)):n2=HighlightEditor.#T([this.x,this.y,this.width,this.height],e2),t2.updateProperties(this.#u,{bbox:n2,root:{"data-main-rotation":e2}}),t2.updateProperties(this.#m,{bbox:HighlightEditor.#T(this.#a.box,e2),root:{"data-main-rotation":e2}})}render(){if(this.div)return this.div;let e2=super.render();this.#h&&(e2.setAttribute("aria-label",this.#h),e2.setAttribute("role","mark")),this.#d?e2.classList.add("free"):this.div.addEventListener("keydown",this.#E.bind(this),{signal:this._uiManager._signal});let t2=this.#c=document.createElement("div");return e2.append(t2),t2.setAttribute("aria-hidden","true"),t2.className="internal",t2.style.clipPath=this.#r,this.setDims(),bindEvents(this,this.#c,["pointerover","pointerleave"]),this.enableEditing(),e2}pointerover(){this.isSelected||this.parent?.drawLayer.updateProperties(this.#m,{rootClass:{hovered:!0}})}pointerleave(){this.isSelected||this.parent?.drawLayer.updateProperties(this.#m,{rootClass:{hovered:!1}})}#E(e2){HighlightEditor._keyboardManager.exec(this,e2)}_moveCaret(e2){switch(this.parent.unselect(this),e2){case 0:case 2:this.#D(!0);break;case 1:case 3:this.#D(!1);break}}#D(e2){if(!this.#e)return;let t2=window.getSelection();e2?t2.setPosition(this.#e,this.#t):t2.setPosition(this.#o,this.#s)}select(){super.select(),this.#m&&this.parent?.drawLayer.updateProperties(this.#m,{rootClass:{hovered:!1,selected:!0}})}unselect(){super.unselect(),this.#m&&(this.parent?.drawLayer.updateProperties(this.#m,{rootClass:{selected:!1}}),this.#d||this.#D(!1))}get _mustFixPosition(){return!this.#d}show(e2=this._isVisible){super.show(e2),this.parent&&(this.parent.drawLayer.updateProperties(this.#u,{rootClass:{hidden:!e2}}),this.parent.drawLayer.updateProperties(this.#m,{rootClass:{hidden:!e2}}))}#O(){return this.#d?this.rotation:0}#k(){if(this.#d)return null;let[e2,t2]=this.pageDimensions,[n2,r2]=this.pageTranslation,i2=this.#n,a2=new Float32Array(i2.length*8),o2=0;for(let{x:s2,y:c2,width:l2,height:u2}of i2){let i3=s2*e2+n2,d2=(1-c2)*t2+r2;a2[o2]=a2[o2+4]=i3,a2[o2+1]=a2[o2+3]=d2,a2[o2+2]=a2[o2+6]=i3+l2*e2,a2[o2+5]=a2[o2+7]=d2-u2*t2,o2+=8}return a2}#A(e2){return this.#l.serialize(e2,this.#O())}static startHighlighting(e2,t2,{target:n2,x:r2,y:i2}){let{x:a2,y:o2,width:s2,height:c2}=n2.getBoundingClientRect(),l2=new AbortController,u2=e2.combinedSignal(l2),pointerUpCallback=t3=>{l2.abort(),this.#M(e2,t3)};window.addEventListener("blur",pointerUpCallback,{signal:u2}),window.addEventListener("pointerup",pointerUpCallback,{signal:u2}),window.addEventListener("pointerdown",stopEvent,{capture:!0,passive:!1,signal:u2}),window.addEventListener("contextmenu",noContextMenu,{signal:u2}),n2.addEventListener("pointermove",this.#j.bind(this,e2),{signal:u2}),this._freeHighlight=new FreeHighlightOutliner({x:r2,y:i2},[a2,o2,s2,c2],e2.scale,this._defaultThickness/2,t2,.001),{id:this._freeHighlightId,clipPathId:this._freeHighlightClipId}=e2.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#j(e2,t2){this._freeHighlight.add(t2)&&e2.drawLayer.updateProperties(this._freeHighlightId,{path:{d:this._freeHighlight.toSVGPath()}})}static#M(e2,t2){this._freeHighlight.isEmpty()?e2.drawLayer.remove(this._freeHighlightId):e2.createAndAddNewEditor(t2,!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(e2,t2,n2){let r2=null;if(e2 instanceof HighlightAnnotationElement){let{data:{quadPoints:t3,rect:n3,rotation:i3,id:a3,color:o3,opacity:s3,popupRef:c3,richText:l3,contentsObj:u3,creationDate:d3,modificationDate:f3},parent:{page:{pageNumber:p3}}}=e2;r2=e2={annotationType:$.HIGHLIGHT,color:Array.from(o3),opacity:s3,quadPoints:t3,boxes:null,pageIndex:p3-1,rect:n3.slice(0),rotation:i3,annotationElementId:a3,id:a3,deleted:!1,popupRef:c3,richText:l3,comment:u3?.str||null,creationDate:d3,modificationDate:f3}}else if(e2 instanceof InkAnnotationElement){let{data:{inkLists:t3,rect:n3,rotation:i3,id:a3,color:o3,borderStyle:{rawWidth:s3},popupRef:c3,richText:l3,contentsObj:u3,creationDate:d3,modificationDate:f3},parent:{page:{pageNumber:p3}}}=e2;r2=e2={annotationType:$.HIGHLIGHT,color:Array.from(o3),thickness:s3,inkLists:t3,boxes:null,pageIndex:p3-1,rect:n3.slice(0),rotation:i3,annotationElementId:a3,id:a3,deleted:!1,popupRef:c3,richText:l3,comment:u3?.str||null,creationDate:d3,modificationDate:f3}}let{color:i2,quadPoints:a2,inkLists:o2,outlines:s2,opacity:c2}=e2,l2=await super.deserialize(e2,t2,n2);l2.color=Util.makeHexColor(...i2),l2.opacity=c2||1,o2&&(l2.#g=e2.thickness),l2._initialData=r2,e2.comment&&l2.setCommentData(e2);let[u2,d2]=l2.pageDimensions,[f2,p2]=l2.pageTranslation;if(a2){let e3=l2.#n=[];for(let t3=0;t3<a2.length;t3+=8)e3.push({x:(a2[t3]-f2)/u2,y:1-(a2[t3+1]-p2)/d2,width:(a2[t3+2]-a2[t3])/u2,height:(a2[t3+1]-a2[t3+5])/d2});l2.#v(),l2.#w(),l2.rotate(l2.rotation)}else if(o2||s2){l2.#d=!0;let e3=(o2||s2.points)[0],n3={x:e3[0]-f2,y:d2-(e3[1]-p2)},r3=new FreeHighlightOutliner(n3,[0,0,u2,d2],1,l2.#g/2,!0,.001);for(let t3=0,i4=e3.length;t3<i4;t3+=2)n3.x=e3[t3]-f2,n3.y=d2-(e3[t3+1]-p2),r3.add(n3);let{id:i3,clipPathId:a3}=t2.drawLayer.draw({bbox:[0,0,1,1],root:{viewBox:"0 0 1 1",fill:l2.color,"fill-opacity":l2._defaultOpacity},rootClass:{highlight:!0,free:!0},path:{d:r3.toSVGPath()}},!0,!0);l2.#y({highlightOutlines:r3.getOutlines(),highlightId:i3,clipPathId:a3}),l2.#w(),l2.rotate(l2.parentRotation)}return l2}serialize(e2=!1){if(this.isEmpty()||e2)return null;if(this.deleted)return this.serializeDeleted();let t2=rs._colorManager.convert(this._uiManager.getNonHCMColor(this.color)),n2=super.serialize(e2);return Object.assign(n2,{color:t2,opacity:this.opacity,thickness:this.#g,quadPoints:this.#k(),outlines:this.#A(n2.rect)}),this.addComment(n2),this.annotationElementId&&!this.#N(n2)?null:(n2.id=this.annotationElementId,n2)}#N(e2){let{color:t2}=this._initialData;return this.hasEditedComment||e2.color.some((e3,n2)=>e3!==t2[n2])}renderAnnotationElement(e2){return this.deleted?(e2.hide(),null):(e2.updateEdited({rect:this.getPDFRect(),popup:this.comment}),null)}static canCreateNewEmptyEditor(){return!1}},DrawingOptions=class{#e=Object.create(null);updateProperty(e2,t2){this[e2]=t2,this.updateSVGProperty(e2,t2)}updateProperties(e2){if(e2)for(let[t2,n2]of Object.entries(e2))t2.startsWith("_")||this.updateProperty(t2,n2)}updateSVGProperty(e2,t2){this.#e[e2]=t2}toSVGProperties(){let e2=this.#e;return this.#e=Object.create(null),{root:e2}}reset(){this.#e=Object.create(null)}updateAll(e2=this){this.updateProperties(e2)}clone(){unreachable("Not implemented")}},Xs=class DrawingEditor extends rs{#e=null;#t;_colorPicker=null;_drawId=null;static _currentDrawId=-1;static _currentParent=null;static#n=null;static#r=null;static#i=null;static _INNER_MARGIN=3;constructor(e2){super(e2),this.#t=e2.mustBeCommitted||!1,this._addOutlines(e2)}onUpdatedColor(){this._colorPicker?.update(this.color),super.onUpdatedColor()}onUpdatedOpacity(){this._colorPicker?.updateOpacity?.(this.opacity)}_addOutlines(e2){e2.drawOutlines&&(this.#a(e2),this.#c())}#a({drawOutlines:e2,drawId:t2,drawingOptions:n2}){this.#e=e2,this._drawingOptions||=n2,this.annotationElementId||this._uiManager.a11yAlert(rs._l10nAlert[this.editorType]),t2>=0?(this._drawId=t2,this.parent.drawLayer.finalizeDraw(t2,e2.defaultProperties)):this._drawId=this.#o(e2,this.parent),this.#d(e2.box)}#o(e2,t2){let{id:n2}=t2.drawLayer.draw(DrawingEditor._mergeSVGProperties(this._drawingOptions.toSVGProperties(),e2.defaultSVGProperties),!1,!1);return n2}static _mergeSVGProperties(e2,t2){let n2=new Set(Object.keys(e2));for(let[r2,i2]of Object.entries(t2))n2.has(r2)?Object.assign(e2[r2],i2):e2[r2]=i2;return e2}static getDefaultDrawingOptions(e2){unreachable("Not implemented")}static get typesMap(){unreachable("Not implemented")}static get isDrawer(){return!0}static get supportMultipleDrawings(){return!1}static updateDefaultParams(e2,t2){let n2=this.typesMap.get(e2);n2&&this._defaultDrawingOptions.updateProperty(n2,t2),this._currentParent&&(DrawingEditor.#n.updateProperty(n2,t2),this._currentParent.drawLayer.updateProperties(this._currentDrawId,this._defaultDrawingOptions.toSVGProperties()))}updateParams(e2,t2){let n2=this.constructor.typesMap.get(e2);n2&&this._updateProperty(e2,n2,t2)}static get defaultPropertiesToUpdate(){let e2=[],t2=this._defaultDrawingOptions;for(let[n2,r2]of this.typesMap)e2.push([n2,t2[r2]]);return e2}get propertiesToUpdate(){let e2=[],{_drawingOptions:t2}=this;for(let[n2,r2]of this.constructor.typesMap)e2.push([n2,t2[r2]]);return e2}_updateProperty(e2,t2,n2){let r2=this._drawingOptions,i2=r2[t2],setter=n3=>{r2.updateProperty(t2,n3);let i3=this.#e.updateProperty(t2,n3);i3&&this.#d(i3),this.parent?.drawLayer.updateProperties(this._drawId,r2.toSVGProperties()),e2===this.colorType?this.onUpdatedColor():e2===this.opacityType&&this.onUpdatedOpacity()};this.addCommands({cmd:setter.bind(this,n2),undo:setter.bind(this,i2),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:e2,overwriteIfSameType:!0,keepUndo:!0})}_updateColorAndOpacity(e2,t2){let n2=this.constructor.typesMap.get(this.colorType),r2=this.constructor.typesMap.get(this.opacityType),i2=this._drawingOptions,a2=i2[n2],o2=i2[r2],setter=(e3,t3)=>{i2.updateProperty(n2,e3),i2.updateProperty(r2,t3),this.#e.updateProperty(n2,e3),this.#e.updateProperty(r2,t3),this.parent?.drawLayer.updateProperties(this._drawId,i2.toSVGProperties()),this.onUpdatedColor(),this.onUpdatedOpacity()};this.addCommands({cmd:setter.bind(this,e2,t2),undo:setter.bind(this,a2,o2),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:ko.INK_COLOR_AND_OPACITY,overwriteIfSameType:!0,keepUndo:!0})}_onResizing(){this.parent?.drawLayer.updateProperties(this._drawId,DrawingEditor._mergeSVGProperties(this.#e.getPathResizingSVGProperties(this.#u()),{bbox:this.#f()}))}_onResized(){this.parent?.drawLayer.updateProperties(this._drawId,DrawingEditor._mergeSVGProperties(this.#e.getPathResizedSVGProperties(this.#u()),{bbox:this.#f()}))}_onTranslating(e2,t2){this.parent?.drawLayer.updateProperties(this._drawId,{bbox:this.#f()})}_onTranslated(){this.parent?.drawLayer.updateProperties(this._drawId,DrawingEditor._mergeSVGProperties(this.#e.getPathTranslatedSVGProperties(this.#u(),this.parentDimensions),{bbox:this.#f()}))}_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(e2){this.annotationElementId||this.parent.addUndoableEditor(this),this._isDraggable=!0,this.#t&&(this.#t=!1,this.commit(),this.parent.setSelected(this),e2&&this.isOnScreen&&this.div.focus())}remove(){this.#s(),super.remove()}rebuild(){this.parent&&(super.rebuild(),this.div!==null&&(this.#c(),this.#d(this.#e.box),this.isAttachedToDOM||this.parent.add(this)))}setParent(e2){let t2=!1;this.parent&&!e2?(this._uiManager.removeShouldRescale(this),this.#s()):e2&&(this._uiManager.addShouldRescale(this),this.#c(e2),t2=!this.parent&&this.div?.classList.contains("selectedEditor")),super.setParent(e2),t2&&this.select()}#s(){this._drawId===null||!this.parent||(this.parent.drawLayer.remove(this._drawId),this._drawId=null,this._drawingOptions.reset())}#c(e2=this.parent){if(this._drawId===null||this.parent!==e2){if(this._drawId!==null){this.parent.drawLayer.updateParent(this._drawId,e2.drawLayer);return}this._drawingOptions.updateAll(),this._drawId=this.#o(this.#e,e2)}}#l([e2,t2,n2,r2]){let{parentDimensions:[i2,a2],rotation:o2}=this;switch(o2){case 90:return[t2,1-e2,a2/i2*n2,i2/a2*r2];case 180:return[1-e2,1-t2,n2,r2];case 270:return[1-t2,e2,a2/i2*n2,i2/a2*r2];default:return[e2,t2,n2,r2]}}#u(){let{x:e2,y:t2,width:n2,height:r2,parentDimensions:[i2,a2],rotation:o2}=this;switch(o2){case 90:return[1-t2,e2,i2/a2*n2,a2/i2*r2];case 180:return[1-e2,1-t2,n2,r2];case 270:return[t2,1-e2,i2/a2*n2,a2/i2*r2];default:return[e2,t2,n2,r2]}}#d(e2){[this.x,this.y,this.width,this.height]=this.#l(e2),this.div&&(this.fixAndSetPosition(),this.setDims()),this._onResized()}#f(){let{x:e2,y:t2,width:n2,height:r2,rotation:i2,parentRotation:a2,parentDimensions:[o2,s2]}=this;switch((i2*4+a2)/90){case 1:return[1-t2-r2,e2,r2,n2];case 2:return[1-e2-n2,1-t2-r2,n2,r2];case 3:return[t2,1-e2-n2,r2,n2];case 4:return[e2,t2-o2/s2*n2,s2/o2*r2,o2/s2*n2];case 5:return[1-t2,e2,o2/s2*n2,s2/o2*r2];case 6:return[1-e2-s2/o2*r2,1-t2,s2/o2*r2,o2/s2*n2];case 7:return[t2-o2/s2*n2,1-e2-s2/o2*r2,o2/s2*n2,s2/o2*r2];case 8:return[e2-n2,t2-r2,n2,r2];case 9:return[1-t2,e2-n2,r2,n2];case 10:return[1-e2,1-t2,n2,r2];case 11:return[t2-r2,1-e2,r2,n2];case 12:return[e2-s2/o2*r2,t2,s2/o2*r2,o2/s2*n2];case 13:return[1-t2-o2/s2*n2,e2-s2/o2*r2,o2/s2*n2,s2/o2*r2];case 14:return[1-e2,1-t2-o2/s2*n2,s2/o2*r2,o2/s2*n2];case 15:return[t2,1-e2,o2/s2*n2,s2/o2*r2];default:return[e2,t2,n2,r2]}}rotate(){this.parent&&this.parent.drawLayer.updateProperties(this._drawId,DrawingEditor._mergeSVGProperties({bbox:this.#f()},this.#e.updateRotation((this.parentRotation-this.rotation+360)%360)))}onScaleChanging(){this.parent&&this.#d(this.#e.updateParentDimensions(this.parentDimensions,this.parent.scale))}static onScaleChangingWhenDrawing(){}render(){if(this.div)return this.div;let e2,t2;this._isCopy&&(e2=this.x,t2=this.y);let n2=super.render();n2.classList.add("draw");let r2=document.createElement("div");return n2.append(r2),r2.setAttribute("aria-hidden","true"),r2.className="internal",this.setDims(),this._uiManager.addShouldRescale(this),this.disableEditing(),this._isCopy&&this._moveAfterPaste(e2,t2),n2}static createDrawerInstance(e2,t2,n2,r2,i2){unreachable("Not implemented")}static startDrawing(e2,t2,n2,r2){let{target:i2,offsetX:a2,offsetY:o2,pointerId:s2,pointerType:c2}=r2;if(Xo.isInitializedAndDifferentPointerType(c2))return;let{viewport:{rotation:l2}}=e2,{width:u2,height:d2}=i2.getBoundingClientRect(),f2=DrawingEditor.#r=new AbortController,p2=e2.combinedSignal(f2);if(Xo.setPointer(c2,s2),window.addEventListener("pointerup",e3=>{Xo.isSamePointerIdOrRemove(e3.pointerId)&&this._endDraw(e3)},{signal:p2}),window.addEventListener("pointercancel",e3=>{Xo.isSamePointerIdOrRemove(e3.pointerId)&&this._currentParent.endDrawingSession()},{signal:p2}),window.addEventListener("pointerdown",e3=>{Xo.isSamePointerType(e3.pointerType)&&(Xo.initializeAndAddPointerId(e3.pointerId),DrawingEditor.#n.isCancellable()&&(DrawingEditor.#n.removeLastElement(),DrawingEditor.#n.isEmpty()?this._currentParent.endDrawingSession(!0):this._endDraw(null)))},{capture:!0,passive:!1,signal:p2}),window.addEventListener("contextmenu",noContextMenu,{signal:p2}),i2.addEventListener("pointermove",this._drawMove.bind(this),{signal:p2}),i2.addEventListener("touchmove",e3=>{Xo.isSameTimeStamp(e3.timeStamp)&&stopEvent(e3)},{signal:p2}),e2.toggleDrawing(),t2._editorUndoBar?.hide(),DrawingEditor.#n){e2.drawLayer.updateProperties(this._currentDrawId,DrawingEditor.#n.startNew(a2,o2,u2,d2,l2));return}t2.updateUIForDefaultProperties(this),DrawingEditor.#n=this.createDrawerInstance(a2,o2,u2,d2,l2),DrawingEditor.#i=this.getDefaultDrawingOptions(),this._currentParent=e2,{id:this._currentDrawId}=e2.drawLayer.draw(this._mergeSVGProperties(DrawingEditor.#i.toSVGProperties(),DrawingEditor.#n.defaultSVGProperties),!0,!1)}static _drawMove(e2){if(Xo.isSameTimeStamp(e2.timeStamp),!DrawingEditor.#n)return;let{offsetX:t2,offsetY:n2,pointerId:r2}=e2;if(Xo.isSamePointerId(r2)){if(Xo.isUsingMultiplePointers()){this._endDraw(e2);return}this._currentParent.drawLayer.updateProperties(this._currentDrawId,DrawingEditor.#n.add(t2,n2)),Xo.setTimeStamp(e2.timeStamp),stopEvent(e2)}}static _cleanup(e2){e2&&(this._currentDrawId=-1,this._currentParent=null,DrawingEditor.#n=null,DrawingEditor.#i=null,Xo.clearTimeStamp()),DrawingEditor.#r&&(DrawingEditor.#r.abort(),DrawingEditor.#r=null,Xo.clearPointerIds())}static _endDraw(e2){let t2=this._currentParent;if(t2){if(t2.toggleDrawing(!0),this._cleanup(!1),e2?.target===t2.div&&t2.drawLayer.updateProperties(this._currentDrawId,DrawingEditor.#n.end(e2.offsetX,e2.offsetY)),this.supportMultipleDrawings){let e3=DrawingEditor.#n,n2=this._currentDrawId,r2=e3.getLastElement();t2.addCommands({cmd:()=>{t2.drawLayer.updateProperties(n2,e3.setLastElement(r2))},undo:()=>{t2.drawLayer.updateProperties(n2,e3.removeLastElement())},mustExec:!1,type:ko.DRAW_STEP});return}this.endDrawing(!1)}}static endDrawing(e2){let t2=this._currentParent;if(!t2)return null;if(t2.toggleDrawing(!0),t2.cleanUndoStack(ko.DRAW_STEP),!DrawingEditor.#n.isEmpty()){let{pageDimensions:[n2,r2],scale:i2}=t2,a2=t2.createAndAddNewEditor({offsetX:0,offsetY:0},!1,{drawId:this._currentDrawId,drawOutlines:DrawingEditor.#n.getOutlines(n2*i2,r2*i2,i2,this._INNER_MARGIN),drawingOptions:DrawingEditor.#i,mustBeCommitted:!e2});return this._cleanup(!0),a2}return t2.drawLayer.remove(this._currentDrawId),this._cleanup(!0),null}createDrawingOptions(e2){}static deserializeDraw(e2,t2,n2,r2,i2,a2){unreachable("Not implemented")}static async deserialize(e2,t2,n2){let{rawDims:{pageWidth:r2,pageHeight:i2,pageX:a2,pageY:o2}}=t2.viewport,s2=this.deserializeDraw(a2,o2,r2,i2,this._INNER_MARGIN,e2),c2=await super.deserialize(e2,t2,n2);return c2.createDrawingOptions(e2),c2.#a({drawOutlines:s2}),c2.#c(),c2.onScaleChanging(),c2.rotate(),c2}serializeDraw(e2){let[t2,n2]=this.pageTranslation,[r2,i2]=this.pageDimensions;return this.#e.serialize([t2,n2,r2,i2],e2)}renderAnnotationElement(e2){return e2.updateEdited({rect:this.getPDFRect()}),null}static canCreateNewEmptyEditor(){return!1}},InkDrawOutliner=class{#e=new Float64Array(6);#t;#n;#r;#i;#a;#o="";#s=0;#c=new InkDrawOutline;#l;#u;constructor(e2,t2,n2,r2,i2,a2){this.#l=n2,this.#u=r2,this.#r=i2,this.#i=a2,[e2,t2]=this.#d(e2,t2);let o2=this.#t=[NaN,NaN,NaN,NaN,e2,t2];this.#a=[e2,t2],this.#n=[{line:o2,points:this.#a}],this.#e.set(o2,0)}updateProperty(e2,t2){e2==="stroke-width"&&(this.#i=t2)}#d(e2,t2){return Outline._normalizePoint(e2,t2,this.#l,this.#u,this.#r)}isEmpty(){return!this.#n?.length}isCancellable(){return this.#a.length<=10}add(e2,t2){[e2,t2]=this.#d(e2,t2);let[n2,r2,i2,a2]=this.#e.subarray(2,6),o2=e2-i2,s2=t2-a2;return Math.hypot(this.#l*o2,this.#u*s2)<=2?null:(this.#a.push(e2,t2),isNaN(n2)?(this.#e.set([i2,a2,e2,t2],2),this.#t.push(NaN,NaN,NaN,NaN,e2,t2),{path:{d:this.toSVGPath()}}):(isNaN(this.#e[0])&&this.#t.splice(6,6),this.#e.set([n2,r2,i2,a2,e2,t2],0),this.#t.push(...Outline.createBezierPoints(n2,r2,i2,a2,e2,t2)),{path:{d:this.toSVGPath()}}))}end(e2,t2){return this.add(e2,t2)||(this.#a.length===2?{path:{d:this.toSVGPath()}}:null)}startNew(e2,t2,n2,r2,i2){this.#l=n2,this.#u=r2,this.#r=i2,[e2,t2]=this.#d(e2,t2);let a2=this.#t=[NaN,NaN,NaN,NaN,e2,t2];this.#a=[e2,t2];let o2=this.#n.at(-1);return o2&&(o2.line=new Float32Array(o2.line),o2.points=new Float32Array(o2.points)),this.#n.push({line:a2,points:this.#a}),this.#e.set(a2,0),this.#s=0,this.toSVGPath(),null}getLastElement(){return this.#n.at(-1)}setLastElement(e2){return this.#n?(this.#n.push(e2),this.#t=e2.line,this.#a=e2.points,this.#s=0,{path:{d:this.toSVGPath()}}):this.#c.setLastElement(e2)}removeLastElement(){if(!this.#n)return this.#c.removeLastElement();this.#n.pop(),this.#o="";for(let e2=0,t2=this.#n.length;e2<t2;e2++){let{line:t3,points:n2}=this.#n[e2];this.#t=t3,this.#a=n2,this.#s=0,this.toSVGPath()}return{path:{d:this.#o}}}toSVGPath(){let e2=Outline.svgRound(this.#t[4]),t2=Outline.svgRound(this.#t[5]);if(this.#a.length===2)return this.#o=`${this.#o} M ${e2} ${t2} Z`,this.#o;if(this.#a.length<=6){let n3=this.#o.lastIndexOf("M");this.#o=`${this.#o.slice(0,n3)} M ${e2} ${t2}`,this.#s=6}if(this.#a.length===4){let e3=Outline.svgRound(this.#t[10]),t3=Outline.svgRound(this.#t[11]);return this.#o=`${this.#o} L ${e3} ${t3}`,this.#s=12,this.#o}let n2=[];this.#s===0&&(n2.push(`M ${e2} ${t2}`),this.#s=6);for(let e3=this.#s,t3=this.#t.length;e3<t3;e3+=6){let[t4,r2,i2,a2,o2,s2]=this.#t.slice(e3,e3+6).map(Outline.svgRound);n2.push(`C${t4} ${r2} ${i2} ${a2} ${o2} ${s2}`)}return this.#o+=n2.join(" "),this.#s=this.#t.length,this.#o}getOutlines(e2,t2,n2,r2){let i2=this.#n.at(-1);return i2.line=new Float32Array(i2.line),i2.points=new Float32Array(i2.points),this.#c.build(this.#n,e2,t2,n2,this.#r,this.#i,r2),this.#e=null,this.#t=null,this.#n=null,this.#o=null,this.#c}get defaultSVGProperties(){return{root:{viewBox:"0 0 10000 10000"},rootClass:{draw:!0},bbox:[0,0,1,1]}}},InkDrawOutline=class extends Outline{#e;#t=0;#n;#r;#i;#a;#o;#s;#c;build(e2,t2,n2,r2,i2,a2,o2){this.#i=t2,this.#a=n2,this.#o=r2,this.#s=i2,this.#c=a2,this.#n=o2??0,this.#r=e2,this.#d()}get thickness(){return this.#c}setLastElement(e2){return this.#r.push(e2),{path:{d:this.toSVGPath()}}}removeLastElement(){return this.#r.pop(),{path:{d:this.toSVGPath()}}}toSVGPath(){let e2=[];for(let{line:t2}of this.#r){if(e2.push(`M${Outline.svgRound(t2[4])} ${Outline.svgRound(t2[5])}`),t2.length===6){e2.push("Z");continue}if(t2.length===12&&isNaN(t2[6])){e2.push(`L${Outline.svgRound(t2[10])} ${Outline.svgRound(t2[11])}`);continue}for(let n2=6,r2=t2.length;n2<r2;n2+=6){let[r3,i2,a2,o2,s2,c2]=t2.subarray(n2,n2+6).map(Outline.svgRound);e2.push(`C${r3} ${i2} ${a2} ${o2} ${s2} ${c2}`)}}return e2.join("")}serialize([e2,t2,n2,r2],i2){let a2=[],o2=[],[s2,c2,l2,u2]=this.#u(),d2,f2,p2,m2,h2,g2,_2,v2,y2;switch(this.#s){case 0:y2=Outline._rescale,d2=e2,f2=t2+r2,p2=n2,m2=-r2,h2=e2+s2*n2,g2=t2+(1-c2-u2)*r2,_2=e2+(s2+l2)*n2,v2=t2+(1-c2)*r2;break;case 90:y2=Outline._rescaleAndSwap,d2=e2,f2=t2,p2=n2,m2=r2,h2=e2+c2*n2,g2=t2+s2*r2,_2=e2+(c2+u2)*n2,v2=t2+(s2+l2)*r2;break;case 180:y2=Outline._rescale,d2=e2+n2,f2=t2,p2=-n2,m2=r2,h2=e2+(1-s2-l2)*n2,g2=t2+c2*r2,_2=e2+(1-s2)*n2,v2=t2+(c2+u2)*r2;break;case 270:y2=Outline._rescaleAndSwap,d2=e2+n2,f2=t2+r2,p2=-n2,m2=-r2,h2=e2+(1-c2-u2)*n2,g2=t2+(1-s2-l2)*r2,_2=e2+(1-c2)*n2,v2=t2+(1-s2)*r2;break}for(let{line:e3,points:t3}of this.#r)a2.push(y2(e3,d2,f2,p2,m2,i2?Array(e3.length):null)),o2.push(y2(t3,d2,f2,p2,m2,i2?Array(t3.length):null));return{lines:a2,points:o2,rect:[h2,g2,_2,v2]}}static deserialize(e2,t2,n2,r2,i2,{paths:{lines:a2,points:o2},rotation:s2,thickness:c2}){let l2=[],u2,d2,f2,p2,m2;switch(s2){case 0:m2=Outline._rescale,u2=-e2/n2,d2=t2/r2+1,f2=1/n2,p2=-1/r2;break;case 90:m2=Outline._rescaleAndSwap,u2=-t2/r2,d2=-e2/n2,f2=1/r2,p2=1/n2;break;case 180:m2=Outline._rescale,u2=e2/n2+1,d2=-t2/r2,f2=-1/n2,p2=1/r2;break;case 270:m2=Outline._rescaleAndSwap,u2=t2/r2+1,d2=e2/n2+1,f2=-1/r2,p2=-1/n2;break}if(!a2){a2=[];for(let e3 of o2){let t3=e3.length;if(t3===2){a2.push(new Float32Array([NaN,NaN,NaN,NaN,e3[0],e3[1]]));continue}if(t3===4){a2.push(new Float32Array([NaN,NaN,NaN,NaN,e3[0],e3[1],NaN,NaN,NaN,NaN,e3[2],e3[3]]));continue}let n3=new Float32Array(3*(t3-2));a2.push(n3);let[r3,i3,o3,s3]=e3.subarray(0,4);n3.set([NaN,NaN,NaN,NaN,r3,i3],0);for(let a3=4;a3<t3;a3+=2){let t4=e3[a3],c3=e3[a3+1];n3.set(Outline.createBezierPoints(r3,i3,o3,s3,t4,c3),(a3-2)*3),[r3,i3,o3,s3]=[o3,s3,t4,c3]}}}for(let e3=0,t3=a2.length;e3<t3;e3++)l2.push({line:m2(a2[e3].map(e4=>e4??NaN),u2,d2,f2,p2),points:m2(o2[e3].map(e4=>e4??NaN),u2,d2,f2,p2)});let h2=new this.prototype.constructor;return h2.build(l2,n2,r2,1,s2,c2,i2),h2}#l(e2=this.#c){let t2=this.#n+e2/2*this.#o;return this.#s%180==0?[t2/this.#i,t2/this.#a]:[t2/this.#a,t2/this.#i]}#u(){let[e2,t2,n2,r2]=this.#e,[i2,a2]=this.#l(0);return[e2+i2,t2+a2,n2-2*i2,r2-2*a2]}#d(){let e2=this.#e=bo.slice();for(let{line:t3}of this.#r){if(t3.length<=12){for(let n4=4,r3=t3.length;n4<r3;n4+=6)Util.pointBoundingBox(t3[n4],t3[n4+1],e2);continue}let n3=t3[4],r2=t3[5];for(let i2=6,a2=t3.length;i2<a2;i2+=6){let[a3,o2,s2,c2,l2,u2]=t3.subarray(i2,i2+6);Util.bezierBoundingBox(n3,r2,a3,o2,s2,c2,l2,u2,e2),n3=l2,r2=u2}}let[t2,n2]=this.#l();e2[0]=MathClamp(e2[0]-t2,0,1),e2[1]=MathClamp(e2[1]-n2,0,1),e2[2]=MathClamp(e2[2]+t2,0,1),e2[3]=MathClamp(e2[3]+n2,0,1),e2[2]-=e2[0],e2[3]-=e2[1]}get box(){return this.#e}updateProperty(e2,t2){return e2==="stroke-width"?this.#f(t2):null}#f(e2){let[t2,n2]=this.#l();this.#c=e2;let[r2,i2]=this.#l(),[a2,o2]=[r2-t2,i2-n2],s2=this.#e;return s2[0]-=a2,s2[1]-=o2,s2[2]+=2*a2,s2[3]+=2*o2,s2}updateParentDimensions([e2,t2],n2){let[r2,i2]=this.#l();this.#i=e2,this.#a=t2,this.#o=n2;let[a2,o2]=this.#l(),s2=a2-r2,c2=o2-i2,l2=this.#e;return l2[0]-=s2,l2[1]-=c2,l2[2]+=2*s2,l2[3]+=2*c2,l2}updateRotation(e2){return this.#t=e2,{path:{transform:this.rotationTransform}}}get viewBox(){return this.#e.map(Outline.svgRound).join(" ")}get defaultProperties(){let[e2,t2]=this.#e;return{root:{viewBox:this.viewBox},path:{"transform-origin":`${Outline.svgRound(e2)} ${Outline.svgRound(t2)}`}}}get rotationTransform(){let[,,e2,t2]=this.#e,n2=0,r2=0,i2=0,a2=0,o2=0,s2=0;switch(this.#t){case 90:r2=t2/e2,i2=-e2/t2,o2=e2;break;case 180:n2=-1,a2=-1,o2=e2,s2=t2;break;case 270:r2=-t2/e2,i2=e2/t2,s2=t2;break;default:return""}return`matrix(${n2} ${r2} ${i2} ${a2} ${Outline.svgRound(o2)} ${Outline.svgRound(s2)})`}getPathResizingSVGProperties([e2,t2,n2,r2]){let[i2,a2]=this.#l(),[o2,s2,c2,l2]=this.#e;if(Math.abs(c2-i2)<=Outline.PRECISION||Math.abs(l2-a2)<=Outline.PRECISION){let i3=e2+n2/2-(o2+c2/2),a3=t2+r2/2-(s2+l2/2);return{path:{"transform-origin":`${Outline.svgRound(e2)} ${Outline.svgRound(t2)}`,transform:`${this.rotationTransform} translate(${i3} ${a3})`}}}let u2=(n2-2*i2)/(c2-2*i2),d2=(r2-2*a2)/(l2-2*a2),f2=c2/n2,p2=l2/r2;return{path:{"transform-origin":`${Outline.svgRound(o2)} ${Outline.svgRound(s2)}`,transform:`${this.rotationTransform} scale(${f2} ${p2}) translate(${Outline.svgRound(i2)} ${Outline.svgRound(a2)}) scale(${u2} ${d2}) translate(${Outline.svgRound(-i2)} ${Outline.svgRound(-a2)})`}}}getPathResizedSVGProperties([e2,t2,n2,r2]){let[i2,a2]=this.#l(),o2=this.#e,[s2,c2,l2,u2]=o2;if(o2[0]=e2,o2[1]=t2,o2[2]=n2,o2[3]=r2,Math.abs(l2-i2)<=Outline.PRECISION||Math.abs(u2-a2)<=Outline.PRECISION){let i3=e2+n2/2-(s2+l2/2),a3=t2+r2/2-(c2+u2/2);for(let{line:e3,points:t3}of this.#r)Outline._translate(e3,i3,a3,e3),Outline._translate(t3,i3,a3,t3);return{root:{viewBox:this.viewBox},path:{"transform-origin":`${Outline.svgRound(e2)} ${Outline.svgRound(t2)}`,transform:this.rotationTransform||null,d:this.toSVGPath()}}}let d2=(n2-2*i2)/(l2-2*i2),f2=(r2-2*a2)/(u2-2*a2),p2=-d2*(s2+i2)+e2+i2,m2=-f2*(c2+a2)+t2+a2;if(d2!==1||f2!==1||p2!==0||m2!==0)for(let{line:e3,points:t3}of this.#r)Outline._rescale(e3,p2,m2,d2,f2,e3),Outline._rescale(t3,p2,m2,d2,f2,t3);return{root:{viewBox:this.viewBox},path:{"transform-origin":`${Outline.svgRound(e2)} ${Outline.svgRound(t2)}`,transform:this.rotationTransform||null,d:this.toSVGPath()}}}getPathTranslatedSVGProperties([e2,t2],n2){let[r2,i2]=n2,a2=this.#e,o2=e2-a2[0],s2=t2-a2[1];if(this.#i===r2&&this.#a===i2)for(let{line:e3,points:t3}of this.#r)Outline._translate(e3,o2,s2,e3),Outline._translate(t3,o2,s2,t3);else{let e3=this.#i/r2,t3=this.#a/i2;this.#i=r2,this.#a=i2;for(let{line:n3,points:r3}of this.#r)Outline._rescale(n3,o2,s2,e3,t3,n3),Outline._rescale(r3,o2,s2,e3,t3,r3);a2[2]*=e3,a2[3]*=t3}return a2[0]=e2,a2[1]=t2,{root:{viewBox:this.viewBox},path:{d:this.toSVGPath(),"transform-origin":`${Outline.svgRound(e2)} ${Outline.svgRound(t2)}`}}}get defaultSVGProperties(){let e2=this.#e;return{root:{viewBox:this.viewBox},rootClass:{draw:!0},path:{d:this.toSVGPath(),"transform-origin":`${Outline.svgRound(e2[0])} ${Outline.svgRound(e2[1])}`,transform:this.rotationTransform||null},bbox:e2}}},Zs=class InkDrawingOptions extends DrawingOptions{constructor(e2){super(),this._viewParameters=e2,super.updateProperties({fill:"none",stroke:rs._defaultLineColor,"stroke-opacity":1,"stroke-width":1,"stroke-linecap":"round","stroke-linejoin":"round","stroke-miterlimit":10})}updateSVGProperty(e2,t2){e2==="stroke-width"&&(t2??=this["stroke-width"],t2*=this._viewParameters.realScale),super.updateSVGProperty(e2,t2)}clone(){let e2=new InkDrawingOptions(this._viewParameters);return e2.updateAll(this),e2}},Qs=class InkEditor extends Xs{static _type="ink";static _editorType=$.INK;static _defaultDrawingOptions=null;constructor(e2){super({...e2,name:"inkEditor"}),this._willKeepAspectRatio=!0,this.defaultL10nId="pdfjs-editor-ink-editor"}static initialize(e2,t2){rs.initialize(e2,t2),this._defaultDrawingOptions=new Zs(t2.viewParameters)}static getDefaultDrawingOptions(e2){let t2=this._defaultDrawingOptions.clone();return t2.updateProperties(e2),t2}static get supportMultipleDrawings(){return!0}static get typesMap(){return shadow(this,"typesMap",new Map([[ko.INK_THICKNESS,"stroke-width"],[ko.INK_COLOR,"stroke"],[ko.INK_OPACITY,"stroke-opacity"]]))}static createDrawerInstance(e2,t2,n2,r2,i2){return new InkDrawOutliner(e2,t2,n2,r2,i2,this._defaultDrawingOptions["stroke-width"])}static deserializeDraw(e2,t2,n2,r2,i2,a2){return InkDrawOutline.deserialize(e2,t2,n2,r2,i2,a2)}static async deserialize(e2,t2,n2){let r2=null;if(e2 instanceof InkAnnotationElement){let{data:{inkLists:t3,rect:n3,rotation:i3,id:a2,color:o2,opacity:s2,borderStyle:{rawWidth:c2},popupRef:l2,richText:u2,contentsObj:d2,creationDate:f2,modificationDate:p2},parent:{page:{pageNumber:m2}}}=e2;r2=e2={annotationType:$.INK,color:Array.from(o2),thickness:c2,opacity:s2,paths:{points:t3},boxes:null,pageIndex:m2-1,rect:n3.slice(0),rotation:i3,annotationElementId:a2,id:a2,deleted:!1,popupRef:l2,richText:u2,comment:d2?.str||null,creationDate:f2,modificationDate:p2}}let i2=await super.deserialize(e2,t2,n2);return i2._initialData=r2,e2.comment&&i2.setCommentData(e2),i2}get toolbarButtons(){return this._colorPicker||=new Vs(this),[["colorPicker",this._colorPicker]]}get colorType(){return ko.INK_COLOR}get colorAndOpacityType(){return ko.INK_COLOR_AND_OPACITY}get opacityType(){return ko.INK_OPACITY}updateParams(e2,t2){if(e2===ko.INK_COLOR_AND_OPACITY){this._updateColorAndOpacity(t2.color,t2.opacity);return}super.updateParams(e2,t2)}static updateDefaultParams(e2,t2){if(e2===ko.INK_COLOR_AND_OPACITY){super.updateDefaultParams(ko.INK_COLOR,t2.color),super.updateDefaultParams(ko.INK_OPACITY,t2.opacity);return}super.updateDefaultParams(e2,t2)}get color(){return this._drawingOptions.stroke}get opacity(){return this._drawingOptions["stroke-opacity"]}onScaleChanging(){if(!this.parent)return;super.onScaleChanging();let{_drawId:e2,_drawingOptions:t2,parent:n2}=this;t2.updateSVGProperty("stroke-width"),n2.drawLayer.updateProperties(e2,t2.toSVGProperties())}static onScaleChangingWhenDrawing(){let e2=this._currentParent;e2&&(super.onScaleChangingWhenDrawing(),this._defaultDrawingOptions.updateSVGProperty("stroke-width"),e2.drawLayer.updateProperties(this._currentDrawId,this._defaultDrawingOptions.toSVGProperties()))}createDrawingOptions({color:e2,thickness:t2,opacity:n2}){this._drawingOptions=InkEditor.getDefaultDrawingOptions({stroke:Util.makeHexColor(...e2),"stroke-width":t2,"stroke-opacity":n2})}serialize(e2=!1){if(this.isEmpty())return null;if(this.deleted)return this.serializeDeleted();let{lines:t2,points:n2}=this.serializeDraw(e2),{_drawingOptions:{stroke:r2,"stroke-opacity":i2,"stroke-width":a2}}=this,o2=Object.assign(super.serialize(e2),{color:rs._colorManager.convert(r2),opacity:i2,thickness:a2,paths:{lines:t2,points:n2}});return this.addComment(o2),e2?(o2.isCopy=!0,o2):this.annotationElementId&&!this.#e(o2)?null:(o2.id=this.annotationElementId,o2)}#e(e2){let{color:t2,thickness:n2,opacity:r2,pageIndex:i2}=this._initialData;return this.hasEditedComment||this._hasBeenMoved||this._hasBeenResized||e2.color.some((e3,n3)=>e3!==t2[n3])||e2.thickness!==n2||e2.opacity!==r2||e2.pageIndex!==i2}renderAnnotationElement(e2){if(this.deleted)return e2.hide(),null;let{points:t2,rect:n2}=this.serializeDraw(!1);return e2.updateEdited({rect:n2,thickness:this._drawingOptions["stroke-width"],points:t2,popup:this.comment}),null}},ContourDrawOutline=class extends InkDrawOutline{toSVGPath(){let e2=super.toSVGPath();return e2.endsWith("Z")||(e2+="Z"),e2}},SignatureExtractor=class{static#e={maxDim:512,sigmaSFactor:.02,sigmaR:25,kernelSize:16};static#t(e2,t2,n2,r2){return n2-=e2,r2-=t2,n2===0?r2>0?0:4:n2===1?r2+6:2-r2}static#n=new Int32Array([0,1,-1,1,-1,0,-1,-1,0,-1,1,-1,1,0,1,1]);static#r(e2,t2,n2,r2,i2,a2,o2){let s2=this.#t(n2,r2,i2,a2);for(let i3=0;i3<8;i3++){let a3=(-i3+s2-o2+16)%8,c2=this.#n[2*a3],l2=this.#n[2*a3+1];if(e2[(n2+c2)*t2+(r2+l2)]!==0)return a3}return-1}static#i(e2,t2,n2,r2,i2,a2,o2){let s2=this.#t(n2,r2,i2,a2);for(let i3=0;i3<8;i3++){let a3=(i3+s2+o2+16)%8,c2=this.#n[2*a3],l2=this.#n[2*a3+1];if(e2[(n2+c2)*t2+(r2+l2)]!==0)return a3}return-1}static#a(e2,t2,n2,r2){let i2=e2.length,a2=new Int32Array(i2);for(let t3=0;t3<i2;t3++)a2[t3]=+(e2[t3]<=r2);for(let e3=1;e3<n2-1;e3++)a2[e3*t2]=a2[e3*t2+t2-1]=0;for(let e3=0;e3<t2;e3++)a2[e3]=a2[t2*n2-1-e3]=0;let o2=1,s2,c2=[];for(let e3=1;e3<n2-1;e3++){s2=1;for(let n3=1;n3<t2-1;n3++){let r3=e3*t2+n3,i3=a2[r3];if(i3===0)continue;let l2=e3,u2=n3;if(i3===1&&a2[r3-1]===0)o2+=1,--u2;else if(i3>=1&&a2[r3+1]===0)o2+=1,u2+=1,i3>1&&(s2=i3);else{i3!==1&&(s2=Math.abs(i3));continue}let d2=[n3,e3],f2=u2===n3+1,p2={isHole:f2,points:d2,id:o2,parent:0};c2.push(p2);let m2;for(let e4 of c2)if(e4.id===s2){m2=e4;break}m2?m2.isHole?p2.parent=f2?m2.parent:s2:p2.parent=f2?s2:m2.parent:p2.parent=f2?s2:0;let h2=this.#r(a2,t2,e3,n3,l2,u2,0);if(h2===-1){a2[r3]=-o2,a2[r3]!==1&&(s2=Math.abs(a2[r3]));continue}let g2=this.#n[2*h2],_2=this.#n[2*h2+1],v2=e3+g2,y2=n3+_2;l2=v2,u2=y2;let b2=e3,x2=n3;for(;;){let i4=this.#i(a2,t2,b2,x2,l2,u2,1);g2=this.#n[2*i4],_2=this.#n[2*i4+1];let c3=b2+g2,f3=x2+_2;d2.push(f3,c3);let p3=b2*t2+x2;if(a2[p3+1]===0?a2[p3]=-o2:a2[p3]===1&&(a2[p3]=o2),c3===e3&&f3===n3&&b2===v2&&x2===y2){a2[r3]!==1&&(s2=Math.abs(a2[r3]));break}else l2=b2,u2=x2,b2=c3,x2=f3}}}return c2}static#o(e2,t2,n2,r2){if(n2-t2<=4){for(let i3=t2;i3<n2-2;i3+=2)r2.push(e2[i3],e2[i3+1]);return}let i2=e2[t2],a2=e2[t2+1],o2=e2[n2-4]-i2,s2=e2[n2-3]-a2,c2=Math.hypot(o2,s2),l2=o2/c2,u2=s2/c2,d2=l2*a2-u2*i2,f2=s2/o2,p2=1/c2,m2=Math.atan(f2),h2=Math.cos(m2),g2=Math.sin(m2),_2=p2*(Math.abs(h2)+Math.abs(g2)),v2=p2*(1-_2+_2**2),y2=Math.max(Math.atan(Math.abs(g2+h2)*v2),Math.atan(Math.abs(g2-h2)*v2)),b2=0,x2=t2;for(let r3=t2+2;r3<n2-2;r3+=2){let t3=Math.abs(d2-l2*e2[r3+1]+u2*e2[r3]);t3>b2&&(x2=r3,b2=t3)}b2>(c2*y2)**2?(this.#o(e2,t2,x2+2,r2),this.#o(e2,x2,n2,r2)):r2.push(i2,a2)}static#s(e2){let t2=[],n2=e2.length;return this.#o(e2,0,n2,t2),t2.push(e2[n2-2],e2[n2-1]),t2.length<=4?null:t2}static#c(e2,t2,n2,r2,i2,a2){let o2=new Float32Array(a2**2),s2=-2*r2**2,c2=a2>>1;for(let e3=0;e3<a2;e3++){let t3=(e3-c2)**2;for(let n3=0;n3<a2;n3++)o2[e3*a2+n3]=Math.exp((t3+(n3-c2)**2)/s2)}let l2=new Float32Array(256),u2=-2*i2**2;for(let e3=0;e3<256;e3++)l2[e3]=Math.exp(e3**2/u2);let d2=e2.length,f2=new Uint8Array(d2),p2=new Uint32Array(256);for(let r3=0;r3<n2;r3++)for(let i3=0;i3<t2;i3++){let s3=r3*t2+i3,u3=e2[s3],d3=0,m2=0;for(let s4=0;s4<a2;s4++){let f3=r3+s4-c2;if(!(f3<0||f3>=n2))for(let n3=0;n3<a2;n3++){let r4=i3+n3-c2;if(r4<0||r4>=t2)continue;let p3=e2[f3*t2+r4],h3=o2[s4*a2+n3]*l2[Math.abs(p3-u3)];d3+=p3*h3,m2+=h3}}let h2=f2[s3]=Math.round(d3/m2);p2[h2]++}return[f2,p2]}static#l(e2){let t2=new Uint32Array(256);for(let n2 of e2)t2[n2]++;return t2}static#u(e2){let t2=e2.length,n2=new Uint8ClampedArray(t2>>2),r2=-1/0,i2=1/0;for(let t3=0,a3=n2.length;t3<a3;t3++){let a4=n2[t3]=e2[t3<<2];r2=Math.max(r2,a4),i2=Math.min(i2,a4)}let a2=255/(r2-i2);for(let e3=0,t3=n2.length;e3<t3;e3++)n2[e3]=(n2[e3]-i2)*a2;return n2}static#d(e2){let t2,n2=-1/0,r2=-1/0,i2=e2.findIndex(e3=>e3!==0),a2=i2,o2=i2;for(t2=i2;t2<256;t2++){let i3=e2[t2];i3>n2&&(t2-a2>r2&&(r2=t2-a2,o2=t2-1),n2=i3,a2=t2)}for(t2=o2-1;t2>=0&&!(e2[t2]>e2[t2+1]);t2--);return t2}static#f(e2){let t2=e2,{width:n2,height:r2}=e2,{maxDim:i2}=this.#e,a2=n2,o2=r2;if(n2>i2||r2>i2){let s3=n2,c3=r2,l2=Math.log2(Math.max(n2,r2)/i2),u2=Math.floor(l2);l2=l2===u2?u2-1:u2;for(let n3=0;n3<l2;n3++){a2=Math.ceil(s3/2),o2=Math.ceil(c3/2);let n4=new OffscreenCanvas(a2,o2);n4.getContext("2d").drawImage(e2,0,0,s3,c3,0,0,a2,o2),s3=a2,c3=o2,e2!==t2&&e2.close(),e2=n4.transferToImageBitmap()}let d2=Math.min(i2/a2,i2/o2);a2=Math.round(a2*d2),o2=Math.round(o2*d2)}let s2=new OffscreenCanvas(a2,o2).getContext("2d",{willReadFrequently:!0});s2.fillStyle="white",s2.fillRect(0,0,a2,o2),s2.filter="grayscale(1)",s2.drawImage(e2,0,0,e2.width,e2.height,0,0,a2,o2);let c2=s2.getImageData(0,0,a2,o2).data;return[this.#u(c2),a2,o2]}static extractContoursFromText(e2,{fontFamily:t2,fontStyle:n2,fontWeight:r2},i2,a2,o2,s2){let c2=new OffscreenCanvas(1,1),l2=c2.getContext("2d",{alpha:!1}),u2=l2.font=`${n2} ${r2} 200px ${t2}`,{actualBoundingBoxLeft:d2,actualBoundingBoxRight:f2,actualBoundingBoxAscent:p2,actualBoundingBoxDescent:m2,fontBoundingBoxAscent:h2,fontBoundingBoxDescent:g2,width:_2}=l2.measureText(e2),v2=1.5,y2=Math.ceil(Math.max(Math.abs(d2)+Math.abs(f2)||0,_2)*v2),b2=Math.ceil(Math.max(Math.abs(p2)+Math.abs(m2)||200,Math.abs(h2)+Math.abs(g2)||200)*v2);c2=new OffscreenCanvas(y2,b2),l2=c2.getContext("2d",{alpha:!0,willReadFrequently:!0}),l2.font=u2,l2.filter="grayscale(1)",l2.fillStyle="white",l2.fillRect(0,0,y2,b2),l2.fillStyle="black",l2.fillText(e2,y2*(v2-1)/2,b2*(3-v2)/2);let x2=this.#u(l2.getImageData(0,0,y2,b2).data),S2=this.#l(x2),C2=this.#d(S2),w2=this.#a(x2,y2,b2,C2);return this.processDrawnLines({lines:{curves:w2,width:y2,height:b2},pageWidth:i2,pageHeight:a2,rotation:o2,innerMargin:s2,mustSmooth:!0,areContours:!0})}static process(e2,t2,n2,r2,i2){let[a2,o2,s2]=this.#f(e2),[c2,l2]=this.#c(a2,o2,s2,Math.hypot(o2,s2)*this.#e.sigmaSFactor,this.#e.sigmaR,this.#e.kernelSize),u2=this.#d(l2),d2=this.#a(c2,o2,s2,u2);return this.processDrawnLines({lines:{curves:d2,width:o2,height:s2},pageWidth:t2,pageHeight:n2,rotation:r2,innerMargin:i2,mustSmooth:!0,areContours:!0})}static processDrawnLines({lines:e2,pageWidth:t2,pageHeight:n2,rotation:r2,innerMargin:i2,mustSmooth:a2,areContours:o2}){r2%180!=0&&([t2,n2]=[n2,t2]);let{curves:s2,width:c2,height:l2}=e2,u2=e2.thickness??0,d2=[],f2=Math.min(t2/c2,n2/l2),p2=f2/t2,m2=f2/n2,h2=[];for(let{points:e3}of s2){let t3=a2?this.#s(e3):e3;if(!t3)continue;h2.push(t3);let n3=t3.length,r3=new Float32Array(n3),i3=new Float32Array(3*(n3===2?2:n3-2));if(d2.push({line:i3,points:r3}),n3===2){r3[0]=t3[0]*p2,r3[1]=t3[1]*m2,i3.set([NaN,NaN,NaN,NaN,r3[0],r3[1]],0);continue}let[o3,s3,c3,l3]=t3;o3*=p2,s3*=m2,c3*=p2,l3*=m2,r3.set([o3,s3,c3,l3],0),i3.set([NaN,NaN,NaN,NaN,o3,s3],0);for(let e4=4;e4<n3;e4+=2){let n4=r3[e4]=t3[e4]*p2,a3=r3[e4+1]=t3[e4+1]*m2;i3.set(Outline.createBezierPoints(o3,s3,c3,l3,n4,a3),(e4-2)*3),[o3,s3,c3,l3]=[c3,l3,n4,a3]}}if(d2.length===0)return null;let g2=o2?new ContourDrawOutline:new InkDrawOutline;return g2.build(d2,t2,n2,1,r2,o2?0:u2,i2),{outline:g2,newCurves:h2,areContours:o2,thickness:u2,width:c2,height:l2}}static async compressSignature({outlines:e2,areContours:t2,thickness:n2,width:r2,height:i2}){let a2=1/0,o2=-1/0,s2=0;for(let t3 of e2){s2+=t3.length;for(let e3=2,n3=t3.length;e3<n3;e3++){let n4=t3[e3]-t3[e3-2];a2=Math.min(a2,n4),o2=Math.max(o2,n4)}}let c2;c2=a2>=-128&&o2<=127?Int8Array:a2>=-32768&&o2<=32767?Int16Array:Int32Array;let l2=e2.length,u2=8+3*l2,d2=new Uint32Array(u2),f2=0;d2[f2++]=u2*Uint32Array.BYTES_PER_ELEMENT+(s2-2*l2)*c2.BYTES_PER_ELEMENT,d2[f2++]=0,d2[f2++]=r2,d2[f2++]=i2,d2[f2++]=+!t2,d2[f2++]=Math.max(0,Math.floor(n2??0)),d2[f2++]=l2,d2[f2++]=c2.BYTES_PER_ELEMENT;for(let t3 of e2)d2[f2++]=t3.length-2,d2[f2++]=t3[0],d2[f2++]=t3[1];let p2=new CompressionStream("deflate-raw"),m2=p2.writable.getWriter();await m2.ready,m2.write(d2);let h2=c2.prototype.constructor;for(let t3 of e2){let e3=new h2(t3.length-2);for(let n3=2,r3=t3.length;n3<r3;n3++)e3[n3-2]=t3[n3]-t3[n3-2];m2.write(e3)}return m2.close(),(await new Response(p2.readable).bytes()).toBase64()}static async decompressSignature(e2){try{let t2=Uint8Array.fromBase64(e2),{readable:n2,writable:r2}=new DecompressionStream("deflate-raw"),i2=r2.getWriter();await i2.ready,i2.write(t2).then(async()=>{await i2.ready,await i2.close()}).catch(()=>{});let a2=null,o2=0;for await(let e3 of n2)a2||=new Uint8Array(new Uint32Array(e3.buffer,0,4)[0]),a2.set(e3,o2),o2+=e3.length;let s2=new Uint32Array(a2.buffer,0,a2.length>>2),c2=s2[1];if(c2!==0)throw Error(`Invalid version: ${c2}`);let l2=s2[2],u2=s2[3],d2=s2[4]===0,f2=s2[5],p2=s2[6],m2=s2[7],h2=[],g2=(8+3*p2)*Uint32Array.BYTES_PER_ELEMENT,_2;switch(m2){case Int8Array.BYTES_PER_ELEMENT:_2=new Int8Array(a2.buffer,g2);break;case Int16Array.BYTES_PER_ELEMENT:_2=new Int16Array(a2.buffer,g2);break;case Int32Array.BYTES_PER_ELEMENT:_2=new Int32Array(a2.buffer,g2);break}o2=0;for(let e3=0;e3<p2;e3++){let t3=s2[3*e3+8],n3=new Float32Array(t3+2);h2.push(n3);for(let t4=0;t4<2;t4++)n3[t4]=s2[3*e3+8+t4+1];for(let e4=0;e4<t3;e4++)n3[e4+2]=n3[e4]+_2[o2++]}return{areContours:d2,thickness:f2,outlines:h2,width:l2,height:u2}}catch(e3){return warn(`decompressSignature: ${e3}`),null}}},$s=class SignatureOptions extends DrawingOptions{constructor(){super(),super.updateProperties({fill:rs._defaultLineColor,"stroke-width":0})}clone(){let e2=new SignatureOptions;return e2.updateAll(this),e2}},ec=class DrawnSignatureOptions extends Zs{constructor(e2){super(e2),super.updateProperties({stroke:rs._defaultLineColor,"stroke-width":1})}clone(){let e2=new DrawnSignatureOptions(this._viewParameters);return e2.updateAll(this),e2}},tc=class SignatureEditor extends Xs{#e=!1;#t=null;#n=null;#r=null;static _type="signature";static _editorType=$.SIGNATURE;static _defaultDrawingOptions=null;constructor(e2){super({...e2,mustBeCommitted:!0,name:"signatureEditor"}),this._willKeepAspectRatio=!0,this.#n=e2.signatureData||null,this.#t=null,this.defaultL10nId="pdfjs-editor-signature-editor1"}static initialize(e2,t2){rs.initialize(e2,t2),this._defaultDrawingOptions=new $s,this._defaultDrawnSignatureOptions=new ec(t2.viewParameters)}static getDefaultDrawingOptions(e2){let t2=this._defaultDrawingOptions.clone();return t2.updateProperties(e2),t2}static get supportMultipleDrawings(){return!1}static get typesMap(){return shadow(this,"typesMap",new Map)}static get isDrawer(){return!1}get telemetryFinalData(){return{type:"signature",hasDescription:!!this.#t}}static computeTelemetryFinalData(e2){let t2=e2.get("hasDescription");return{hasAltText:t2.get(!0)??0,hasNoAltText:t2.get(!1)??0}}get isResizable(){return!0}onScaleChanging(){this._drawId!==null&&super.onScaleChanging()}render(){if(this.div)return this.div;let e2,t2,{_isCopy:n2}=this;if(n2&&(this._isCopy=!1,e2=this.x,t2=this.y),super.render(),this._drawId===null)if(this.#n){let{lines:e3,mustSmooth:t3,areContours:n3,description:r2,uuid:i2,heightInPage:a2}=this.#n,{rawDims:{pageWidth:o2,pageHeight:s2},rotation:c2}=this.parent.viewport,l2=SignatureExtractor.processDrawnLines({lines:e3,pageWidth:o2,pageHeight:s2,rotation:c2,innerMargin:SignatureEditor._INNER_MARGIN,mustSmooth:t3,areContours:n3});this.addSignature(l2,a2,r2,i2)}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.#t||""}));return n2&&(this._isCopy=!0,this._moveAfterPaste(e2,t2)),this.div}setUuid(e2){this.#r=e2,this.addEditToolbar()}getUuid(){return this.#r}get description(){return this.#t}set description(e2){this.#t=e2,this.div&&(this.div.setAttribute("data-l10n-args",JSON.stringify({description:e2})),super.addEditToolbar().then(t2=>{t2?.updateEditSignatureButton(e2)}))}getSignaturePreview(){let{newCurves:e2,areContours:t2,thickness:n2,width:r2,height:i2}=this.#n,a2=Math.max(r2,i2);return{areContours:t2,outline:SignatureExtractor.processDrawnLines({lines:{curves:e2.map(e3=>({points:e3})),thickness:n2,width:r2,height:i2},pageWidth:a2,pageHeight:a2,rotation:0,innerMargin:0,mustSmooth:!1,areContours:t2}).outline}}get toolbarButtons(){return this._uiManager.signatureManager?[["editSignature",this._uiManager.signatureManager]]:super.toolbarButtons}addSignature(e2,t2,n2,r2){let{x:i2,y:a2}=this,{outline:o2}=this.#n=e2;this.#e=o2 instanceof ContourDrawOutline,this.description=n2;let s2;this.#e?s2=SignatureEditor.getDefaultDrawingOptions():(s2=SignatureEditor._defaultDrawnSignatureOptions.clone(),s2.updateProperties({"stroke-width":o2.thickness})),this._addOutlines({drawOutlines:o2,drawingOptions:s2});let[,c2]=this.pageDimensions,l2=t2/c2;l2=l2>=1?.5:l2,this.width*=l2/this.height,this.width>=1&&(l2*=.9/this.width,this.width=.9),this.height=l2,this.setDims(),this.x=i2,this.y=a2,this.center(),this._onResized(),this.onScaleChanging(),this.rotate(),this._uiManager.addToAnnotationStorage(this),this.setUuid(r2),this._reportTelemetry({action:"pdfjs.signature.inserted",data:{hasBeenSaved:!!r2,hasDescription:!!n2}}),this.div.hidden=!1}getFromImage(e2){let{rawDims:{pageWidth:t2,pageHeight:n2},rotation:r2}=this.parent.viewport;return SignatureExtractor.process(e2,t2,n2,r2,SignatureEditor._INNER_MARGIN)}getFromText(e2,t2){let{rawDims:{pageWidth:n2,pageHeight:r2},rotation:i2}=this.parent.viewport;return SignatureExtractor.extractContoursFromText(e2,t2,n2,r2,i2,SignatureEditor._INNER_MARGIN)}getDrawnSignature(e2){let{rawDims:{pageWidth:t2,pageHeight:n2},rotation:r2}=this.parent.viewport;return SignatureExtractor.processDrawnLines({lines:e2,pageWidth:t2,pageHeight:n2,rotation:r2,innerMargin:SignatureEditor._INNER_MARGIN,mustSmooth:!1,areContours:!1})}createDrawingOptions({areContours:e2,thickness:t2}){e2?this._drawingOptions=SignatureEditor.getDefaultDrawingOptions():(this._drawingOptions=SignatureEditor._defaultDrawnSignatureOptions.clone(),this._drawingOptions.updateProperties({"stroke-width":t2}))}serialize(e2=!1){if(this.isEmpty())return null;let{lines:t2,points:n2}=this.serializeDraw(e2),{_drawingOptions:{"stroke-width":r2}}=this,i2=Object.assign(super.serialize(e2),{isSignature:!0,areContours:this.#e,color:[0,0,0],thickness:this.#e?0:r2});return this.addComment(i2),e2?(i2.paths={lines:t2,points:n2},i2.uuid=this.#r,i2.isCopy=!0):i2.lines=t2,this.#t&&(i2.accessibilityData={type:"Figure",alt:this.#t}),i2}static deserializeDraw(e2,t2,n2,r2,i2,a2){return a2.areContours?ContourDrawOutline.deserialize(e2,t2,n2,r2,i2,a2):InkDrawOutline.deserialize(e2,t2,n2,r2,i2,a2)}static async deserialize(e2,t2,n2){let r2=await super.deserialize(e2,t2,n2);return r2.#e=e2.areContours,r2.description=e2.accessibilityData?.alt||"",r2.#r=e2.uuid,r2}},StampEditor=class extends rs{#e=null;#t=null;#n=null;#r=null;#i=null;#a="";#o=null;#s=!1;#c=null;#l=!1;#u=!1;static _type="stamp";static _editorType=$.STAMP;constructor(e2){super({...e2,name:"stampEditor"}),this.#r=e2.bitmapUrl,this.#i=e2.bitmapFile,this.defaultL10nId="pdfjs-editor-stamp-editor"}static initialize(e2,t2){rs.initialize(e2,t2)}static isHandlingMimeForPasting(e2){return Ko.includes(e2)}static paste(e2,t2){t2.pasteEditor({mode:$.STAMP},{bitmapFile:e2.getAsFile()})}altTextFinish(){this._uiManager.useNewAltTextFlow&&(this.div.hidden=!1),super.altTextFinish()}get telemetryFinalData(){return{type:"stamp",hasAltText:!!this.altTextData?.altText}}static computeTelemetryFinalData(e2){let t2=e2.get("hasAltText");return{hasAltText:t2.get(!0)??0,hasNoAltText:t2.get(!1)??0}}#d(e2,t2=!1){if(!e2){this.remove();return}this.#e=e2.bitmap,t2||(this.#t=e2.id,this.#l=e2.isSvg),e2.file&&(this.#a=e2.file.name),this.#m()}#f(){if(this.#n=null,this._uiManager.enableWaiting(!1),this.#o){if(this._uiManager.useNewAltTextWhenAddingImage&&this._uiManager.useNewAltTextFlow&&this.#e){this.addEditToolbar().then(()=>{this._editToolbar.hide(),this._uiManager.editAltText(this,!0)});return}if(!this._uiManager.useNewAltTextWhenAddingImage&&this._uiManager.useNewAltTextFlow&&this.#e){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(e2=null,t2=!0){if(this.hasAltTextData())return null;let{mlManager:n2}=this._uiManager;if(!n2)throw Error("No ML.");if(!await n2.isEnabledFor("altText"))throw Error("ML isn't enabled for alt text.");let{data:r2,width:i2,height:a2}=e2||this.copyCanvas(null,null,!0).imageData,o2=await n2.guess({name:"altText",request:{data:r2,width:i2,height:a2,channels:r2.length/(i2*a2)}});if(!o2)throw Error("No response from the AI service.");if(o2.error)throw Error("Error from the AI service.");if(o2.cancel)return null;if(!o2.output)throw Error("No valid response from the AI service.");let s2=o2.output;return await this.setGuessedAltText(s2),t2&&!this.hasAltTextData()&&(this.altTextData={alt:s2,decorative:!1}),s2}#p(){if(this.#t){this._uiManager.enableWaiting(!0),this._uiManager.imageManager.getFromId(this.#t).then(e3=>this.#d(e3,!0)).finally(()=>this.#f());return}if(this.#r){let e3=this.#r;this.#r=null,this._uiManager.enableWaiting(!0),this.#n=this._uiManager.imageManager.getFromUrl(e3).then(e4=>this.#d(e4)).finally(()=>this.#f());return}if(this.#i){let e3=this.#i;this.#i=null,this._uiManager.enableWaiting(!0),this.#n=this._uiManager.imageManager.getFromFile(e3).then(e4=>this.#d(e4)).finally(()=>this.#f());return}let e2=document.createElement("input");e2.type="file",e2.accept=Ko.join(",");let t2=this._uiManager._signal;this.#n=new Promise(n2=>{e2.addEventListener("change",async()=>{if(!e2.files||e2.files.length===0)this.remove();else{this._uiManager.enableWaiting(!0);let t3=await this._uiManager.imageManager.getFromFile(e2.files[0]);this._reportTelemetry({action:"pdfjs.image.image_selected",data:{alt_text_modal:this._uiManager.useNewAltTextFlow}}),this.#d(t3)}n2()},{signal:t2}),e2.addEventListener("cancel",()=>{this.remove(),n2()},{signal:t2})}).finally(()=>this.#f()),e2.click()}remove(){this.#t&&(this.#e=null,this._uiManager.imageManager.deleteId(this.#t),this.#o?.remove(),this.#o=null,this.#c&&=(clearTimeout(this.#c),null)),super.remove()}rebuild(){if(!this.parent){this.#t&&this.#p();return}super.rebuild(),this.div!==null&&(this.#t&&this.#o===null&&this.#p(),this.isAttachedToDOM||this.parent.add(this))}onceAdded(e2){this._isDraggable=!0,e2&&this.div.focus()}isEmpty(){return!(this.#n||this.#e||this.#r||this.#i||this.#t||this.#s)}get toolbarButtons(){return[["altText",this.createAltText()]]}get isResizable(){return!0}render(){if(this.div)return this.div;let e2,t2;return this._isCopy&&(e2=this.x,t2=this.y),super.render(),this.div.hidden=!0,this.createAltText(),this.#s||(this.#e?this.#m():this.#p()),this._isCopy&&this._moveAfterPaste(e2,t2),this._uiManager.addShouldRescale(this),this.div}setCanvas(e2,t2){let{id:n2,bitmap:r2}=this._uiManager.imageManager.getFromCanvas(e2,t2);t2.remove(),n2&&this._uiManager.imageManager.isValidId(n2)&&(this.#t=n2,r2&&(this.#e=r2),this.#s=!1,this.#m())}_onResized(){this.onScaleChanging()}onScaleChanging(){this.parent&&(this.#c!==null&&clearTimeout(this.#c),this.#c=setTimeout(()=>{this.#c=null,this.#g()},200))}#m(){let{div:e2}=this,{width:t2,height:n2}=this.#e,[r2,i2]=this.pageDimensions,a2=.75;if(this.width)t2=this.width*r2,n2=this.height*i2;else if(t2>a2*r2||n2>a2*i2){let e3=Math.min(a2*r2/t2,a2*i2/n2);t2*=e3,n2*=e3}this._uiManager.enableWaiting(!1);let o2=this.#o=document.createElement("canvas");o2.setAttribute("role","img"),this.addContainer(o2),this.width=t2/r2,this.height=n2/i2,this.setDims(),this._initialOptions?.isCentered?this.center():this.fixAndSetPosition(),this._initialOptions=null,(!this._uiManager.useNewAltTextWhenAddingImage||!this._uiManager.useNewAltTextFlow||this.annotationElementId)&&(e2.hidden=!1),this.#g(),this.#u||=(this.parent.addUndoableEditor(this),!0),this._reportTelemetry({action:"inserted_image"}),this.#a&&this.div.setAttribute("aria-description",this.#a),this.annotationElementId||this._uiManager.a11yAlert(rs._l10nAlert.stamp)}copyCanvas(e2,t2,n2=!1){e2||=224;let{width:r2,height:i2}=this.#e,a2=new Go,o2=this.#e,s2=r2,c2=i2,l2=null;if(t2){if(r2>t2||i2>t2){let e4=Math.min(t2/r2,t2/i2);s2=Math.floor(r2*e4),c2=Math.floor(i2*e4)}l2=document.createElement("canvas");let e3=l2.width=Math.ceil(s2*a2.sx),n3=l2.height=Math.ceil(c2*a2.sy);this.#l||(o2=this.#h(e3,n3));let u3=l2.getContext("2d");u3.filter=this._uiManager.hcmFilter;let d2="white",f2="#cfcfd8";this._uiManager.hcmFilter==="none"?ColorScheme.isDarkMode&&(d2="#8f8f9d",f2="#42414d"):f2="black";let p2=15*a2.sx,m2=15*a2.sy,h2=new OffscreenCanvas(p2*2,m2*2),g2=h2.getContext("2d");g2.fillStyle=d2,g2.fillRect(0,0,p2*2,m2*2),g2.fillStyle=f2,g2.fillRect(0,0,p2,m2),g2.fillRect(p2,m2,p2,m2),u3.fillStyle=u3.createPattern(h2,"repeat"),u3.fillRect(0,0,e3,n3),u3.drawImage(o2,0,0,o2.width,o2.height,0,0,e3,n3)}let u2=null;if(n2){let t3,n3;if(a2.symmetric&&o2.width<e2&&o2.height<e2)t3=o2.width,n3=o2.height;else if(o2=this.#e,r2>e2||i2>e2){let a3=Math.min(e2/r2,e2/i2);t3=Math.floor(r2*a3),n3=Math.floor(i2*a3),this.#l||(o2=this.#h(t3,n3))}let s3=new OffscreenCanvas(t3,n3).getContext("2d",{willReadFrequently:!0});s3.drawImage(o2,0,0,o2.width,o2.height,0,0,t3,n3),u2={width:t3,height:n3,data:s3.getImageData(0,0,t3,n3).data}}return{canvas:l2,width:s2,height:c2,imageData:u2}}#h(e2,t2){let{width:n2,height:r2}=this.#e,i2=n2,a2=r2,o2=this.#e;for(;i2>2*e2||a2>2*t2;){let n3=i2,r3=a2;i2>2*e2&&(i2=Math.ceil(i2/2)),a2>2*t2&&(a2=Math.ceil(a2/2));let s2=new OffscreenCanvas(i2,a2);s2.getContext("2d").drawImage(o2,0,0,n3,r3,0,0,i2,a2),o2=s2.transferToImageBitmap()}return o2}#g(){let[e2,t2]=this.parentDimensions,{width:n2,height:r2}=this,i2=new Go,a2=Math.ceil(n2*e2*i2.sx),o2=Math.ceil(r2*t2*i2.sy),s2=this.#o;if(!s2||s2.width===a2&&s2.height===o2)return;s2.width=a2,s2.height=o2;let c2=this.#l?this.#e:this.#h(a2,o2),l2=s2.getContext("2d");l2.filter=this._uiManager.hcmFilter,l2.drawImage(c2,0,0,c2.width,c2.height,0,0,a2,o2)}#_(e2){if(e2){if(this.#l){let e4=this._uiManager.imageManager.getSvgUrl(this.#t);if(e4)return e4}let e3=document.createElement("canvas");return{width:e3.width,height:e3.height}=this.#e,e3.getContext("2d").drawImage(this.#e,0,0),e3.toDataURL()}if(this.#l){let[e3,t2]=this.pageDimensions,n2=Math.round(this.width*e3*PixelsPerInch.PDF_TO_CSS_UNITS),r2=Math.round(this.height*t2*PixelsPerInch.PDF_TO_CSS_UNITS),i2=new OffscreenCanvas(n2,r2);return i2.getContext("2d").drawImage(this.#e,0,0,this.#e.width,this.#e.height,0,0,n2,r2),i2.transferToImageBitmap()}return structuredClone(this.#e)}static async deserialize(e2,t2,n2){let r2=null,i2=!1;if(e2 instanceof StampAnnotationElement){let{data:{rect:a3,rotation:o3,id:s3,structParent:c3,popupRef:l3,richText:u3,contentsObj:d3,creationDate:f3,modificationDate:p3},container:m2,parent:{page:{pageNumber:h2}},canvas:g2}=e2,_2,v2;g2?(delete e2.canvas,{id:_2,bitmap:v2}=n2.imageManager.getFromCanvas(m2.id,g2),g2.remove()):(i2=!0,e2._hasNoCanvas=!0);let y2=(await t2._structTree.getAriaAttributes(`${Do}${s3}`))?.get("aria-label")||"";r2=e2={annotationType:$.STAMP,bitmapId:_2,bitmap:v2,pageIndex:h2-1,rect:a3.slice(0),rotation:o3,annotationElementId:s3,id:s3,deleted:!1,accessibilityData:{decorative:!1,altText:y2},isSvg:!1,structParent:c3,popupRef:l3,richText:u3,comment:d3?.str||null,creationDate:f3,modificationDate:p3}}let a2=await super.deserialize(e2,t2,n2),{rect:o2,bitmap:s2,bitmapUrl:c2,bitmapId:l2,isSvg:u2,accessibilityData:d2}=e2;i2?(n2.addMissingCanvas(e2.id,a2),a2.#s=!0):l2&&n2.imageManager.isValidId(l2)?(a2.#t=l2,s2&&(a2.#e=s2)):a2.#r=c2,a2.#l=u2;let[f2,p2]=a2.pageDimensions;return a2.width=(o2[2]-o2[0])/f2,a2.height=(o2[3]-o2[1])/p2,d2&&(a2.altTextData=d2),a2._initialData=r2,e2.comment&&a2.setCommentData(e2),a2.#u=!!r2,a2}serialize(e2=!1,t2=null){if(this.isEmpty())return null;if(this.deleted)return this.serializeDeleted();let n2=Object.assign(super.serialize(e2),{bitmapId:this.#t,isSvg:this.#l});if(this.addComment(n2),e2)return n2.bitmapUrl=this.#_(!0),n2.accessibilityData=this.serializeAltText(!0),n2.isCopy=!0,n2;let{decorative:r2,altText:i2}=this.serializeAltText(!1);if(!r2&&i2&&(n2.accessibilityData={type:"Figure",alt:i2}),this.annotationElementId){let e3=this.#v(n2);return e3.isSame?null:(e3.isSameAltText?delete n2.accessibilityData:n2.accessibilityData.structParent=this._initialData.structParent??-1,n2.id=this.annotationElementId,delete n2.bitmapId,n2)}if(t2===null)return n2;t2.stamps||=new Map;let a2=this.#l?(n2.rect[2]-n2.rect[0])*(n2.rect[3]-n2.rect[1]):null;if(!t2.stamps.has(this.#t))t2.stamps.set(this.#t,{area:a2,serialized:n2}),n2.bitmap=this.#_(!1);else if(this.#l){let e3=t2.stamps.get(this.#t);a2>e3.area&&(e3.area=a2,e3.serialized.bitmap.close(),e3.serialized.bitmap=this.#_(!1))}return n2}#v(e2){let{pageIndex:t2,accessibilityData:{altText:n2}}=this._initialData,r2=e2.pageIndex===t2,i2=(e2.accessibilityData?.alt||"")===n2;return{isSame:!this.hasEditedComment&&!this._hasBeenMoved&&!this._hasBeenResized&&r2&&i2,isSameAltText:i2}}renderAnnotationElement(e2){return this.deleted?(e2.hide(),null):(e2.updateEdited({rect:this.getPDFRect(),popup:this.comment}),null)}},nc=class AnnotationEditorLayer{#e;#t=!1;#n=null;#r=null;#i=null;#a=new Map;#o=!1;#s=!1;#c=!1;#l=null;#u=null;#d=null;#f=null;#p=null;#m=-1;#h;static _initialized=!1;static#g=new Map([qs,Qs,StampEditor,Ys,tc].map(e2=>[e2._editorType,e2]));constructor({uiManager:e2,pageIndex:t2,div:n2,structTreeLayer:r2,accessibilityManager:i2,annotationLayer:a2,drawLayer:o2,textLayer:s2,viewport:c2,l10n:l2}){let u2=[...AnnotationEditorLayer.#g.values()];if(!AnnotationEditorLayer._initialized){AnnotationEditorLayer._initialized=!0;for(let t3 of u2)t3.initialize(l2,e2)}e2.registerEditorTypes(u2),this.#h=e2,this.pageIndex=t2,this.div=n2,this.#e=i2,this.#n=a2,this.viewport=c2,this.#d=s2,this.drawLayer=o2,this._structTree=r2,this.#h.addLayer(this)}get isEmpty(){return this.#a.size===0}get isInvisible(){return this.isEmpty&&this.#h.getMode()===$.NONE}updateToolbar(e2){this.#h.updateToolbar(e2)}updateMode(e2=this.#h.getMode()){switch(this.#S(),e2){case $.NONE:this.div.classList.toggle("nonEditing",!0),this.disableTextSelection(),this.togglePointerEvents(!1),this.toggleAnnotationLayerPointerEvents(!0),this.disableClick();return;case $.INK:this.disableTextSelection(),this.togglePointerEvents(!0),this.enableClick();break;case $.HIGHLIGHT:this.enableTextSelection(),this.togglePointerEvents(!1),this.disableClick();break;default:this.disableTextSelection(),this.togglePointerEvents(!0),this.enableClick()}this.toggleAnnotationLayerPointerEvents(!1);let{classList:t2}=this.div;if(t2.toggle("nonEditing",!1),e2===$.POPUP)t2.toggle("commentEditing",!0);else{t2.toggle("commentEditing",!1);for(let n2 of AnnotationEditorLayer.#g.values())t2.toggle(`${n2._type}Editing`,e2===n2._editorType)}this.div.hidden=!1}hasTextLayer(e2){return e2===this.#d?.div}setEditingState(e2){this.#h.setEditingState(e2)}addCommands(e2){this.#h.addCommands(e2)}cleanUndoStack(e2){this.#h.cleanUndoStack(e2)}toggleDrawing(e2=!1){this.div.classList.toggle("drawing",!e2)}togglePointerEvents(e2=!1){this.div.classList.toggle("disabled",!e2)}toggleAnnotationLayerPointerEvents(e2=!1){this.#n?.togglePointerEvents(e2)}get#_(){return this.#a.size===0?this.#h.getEditors(this.pageIndex):this.#a.values()}async enable(){this.#c=!0,this.div.tabIndex=0,this.togglePointerEvents(!0),this.div.classList.toggle("nonEditing",!1),this.#p?.abort(),this.#p=null;let e2=new Set;for(let t3 of this.#_)t3.enableEditing(),t3.show(!0),t3.annotationElementId&&(this.#h.removeChangedExistingAnnotation(t3),e2.add(t3.annotationElementId));let t2=this.#n;if(t2)for(let n2 of t2.getEditableAnnotations()){if(n2.hide(),this.#h.isDeletedAnnotationElement(n2.data.id)||e2.has(n2.data.id))continue;let t3=await this.deserialize(n2);t3&&(this.addOrRebuild(t3),t3.enableEditing())}this.#c=!1,this.#h._eventBus.dispatch("editorsrendered",{source:this,pageNumber:this.pageIndex+1})}disable(){if(this.#s=!0,this.div.tabIndex=-1,this.togglePointerEvents(!1),this.div.classList.toggle("nonEditing",!0),this.#d&&!this.#p){this.#p=new AbortController;let e3=this.#h.combinedSignal(this.#p);this.#d.div.addEventListener("pointerdown",e4=>{let{clientX:t3,clientY:n3,timeStamp:r2}=e4;if(r2-this.#m>500){this.#m=r2;return}this.#m=-1;let{classList:i2}=this.div;i2.toggle("getElements",!0);let a2=document.elementsFromPoint(t3,n3);if(i2.toggle("getElements",!1),!this.div.contains(a2[0]))return;let o2,s2=RegExp(`^${Oo}[0-9]+$`);for(let e5 of a2)if(s2.test(e5.id)){o2=e5.id;break}if(!o2)return;let c2=this.#a.get(o2);c2?.annotationElementId===null&&(stopEvent(e4),c2.dblclick(e4))},{signal:e3,capture:!0})}let e2=this.#n,t2=[];if(e2){let n3=new Map,r2=new Map;for(let e3 of this.#_){if(e3.disableEditing(),!e3.annotationElementId){t2.push(e3);continue}if(e3.serialize()!==null){n3.set(e3.annotationElementId,e3);continue}else r2.set(e3.annotationElementId,e3);this.getEditableAnnotation(e3.annotationElementId)?.show(),e3.remove()}for(let t3 of e2.getEditableAnnotations()){let{id:e3}=t3.data;if(this.#h.isDeletedAnnotationElement(e3)){t3.updateEdited({deleted:!0});continue}let i2=r2.get(e3);if(i2){i2.resetAnnotationElement(t3),i2.show(!1),t3.show();continue}i2=n3.get(e3),i2&&(this.#h.addChangedExistingAnnotation(i2),i2.renderAnnotationElement(t3)&&i2.show(!1)),t3.show()}}this.#S(),this.isEmpty&&(this.div.hidden=!0);let{classList:n2}=this.div;for(let e3 of AnnotationEditorLayer.#g.values())n2.remove(`${e3._type}Editing`);this.disableTextSelection(),this.toggleAnnotationLayerPointerEvents(!0),e2?.updateFakeAnnotations(t2),this.#s=!1}getEditableAnnotation(e2){return this.#n?.getEditableAnnotation(e2)||null}setActiveEditor(e2){this.#h.getActive()!==e2&&this.#h.setActiveEditor(e2)}enableTextSelection(){if(this.div.tabIndex=-1,this.#d?.div&&!this.#f){this.#f=new AbortController;let e2=this.#h.combinedSignal(this.#f);this.#d.div.addEventListener("pointerdown",this.#v.bind(this),{signal:e2}),this.#d.div.classList.add("highlighting")}}disableTextSelection(){this.div.tabIndex=0,this.#d?.div&&this.#f&&(this.#f.abort(),this.#f=null,this.#d.div.classList.remove("highlighting"))}#v(e2){this.#h.unselectAll();let{target:t2}=e2;if(t2===this.#d.div||(t2.getAttribute("role")==="img"||t2.classList.contains("endOfContent")||t2.classList.contains("textLayerImages")||t2.classList.contains("textLayerImagePlaceholder"))&&this.#d.div.contains(t2)){let{isMac:t3}=FeatureTest.platform;if(e2.button!==0||e2.ctrlKey&&t3)return;this.#h.showAllEditors("highlight",!0,!0),this.#d.div.classList.add("free"),this.toggleDrawing(),Ys.startHighlighting(this,this.#h.direction==="ltr",{target:this.#d.div,x:e2.x,y:e2.y}),this.#d.div.addEventListener("pointerup",()=>{this.#d.div.classList.remove("free"),this.toggleDrawing(!0)},{once:!0,signal:this.#h._signal}),e2.preventDefault()}}enableClick(){if(this.#r)return;this.#r=new AbortController;let e2=this.#h.combinedSignal(this.#r);this.div.addEventListener("pointerdown",this.pointerdown.bind(this),{signal:e2});let t2=this.pointerup.bind(this);this.div.addEventListener("pointerup",t2,{signal:e2}),this.div.addEventListener("pointercancel",t2,{signal:e2})}disableClick(){this.#r?.abort(),this.#r=null}attach(e2){this.#a.set(e2.id,e2);let{annotationElementId:t2}=e2;t2&&this.#h.isDeletedAnnotationElement(t2)&&this.#h.removeDeletedAnnotationElement(e2)}detach(e2){this.#a.delete(e2.id),this.#e?.removePointerInTextLayer(e2.contentDiv),!this.#s&&e2.annotationElementId&&this.#h.addDeletedAnnotationElement(e2)}remove(e2){this.detach(e2),this.#h.removeEditor(e2),e2.div.remove(),e2.isAttachedToDOM=!1}changeParent(e2){e2.parent!==this&&(e2.parent&&e2.annotationElementId&&(this.#h.addDeletedAnnotationElement(e2),rs.deleteAnnotationElement(e2),e2.annotationElementId=null),this.attach(e2),e2.parent?.detach(e2),e2.setParent(this),e2.div&&e2.isAttachedToDOM&&(e2.div.remove(),this.div.append(e2.div)))}add(e2){if(!(e2.parent===this&&e2.isAttachedToDOM)){if(this.changeParent(e2),this.#h.addEditor(e2),this.attach(e2),!e2.isAttachedToDOM){let t2=e2.render();this.div.append(t2),e2.isAttachedToDOM=!0}e2.fixAndSetPosition(),e2.onceAdded(!this.#c),this.#h.addToAnnotationStorage(e2),e2._reportTelemetry(e2.telemetryInitialData)}}moveEditorInDOM(e2){if(!e2.isAttachedToDOM)return;let{activeElement:t2}=document;e2.div.contains(t2)&&!this.#i&&(e2._focusEventsAllowed=!1,this.#i=setTimeout(()=>{this.#i=null,e2.div.contains(document.activeElement)?e2._focusEventsAllowed=!0:(e2.div.addEventListener("focusin",()=>{e2._focusEventsAllowed=!0},{once:!0,signal:this.#h._signal}),t2.focus())},0)),e2._structTreeParentId=this.#e?.moveElementInDOM(this.div,e2.div,e2.contentDiv,!0)}addOrRebuild(e2){e2.needsToBeRebuilt()?(e2.parent||=this,e2.rebuild(),e2.show()):this.add(e2)}addUndoableEditor(e2){let cmd=()=>e2._uiManager.rebuild(e2),undo=()=>{e2.remove()};this.addCommands({cmd,undo,mustExec:!1})}getEditorByUID(e2){for(let t2 of this.#a.values())if(t2.uid===e2)return t2;return null}get#y(){return AnnotationEditorLayer.#g.get(this.#h.getMode())}combinedSignal(e2){return this.#h.combinedSignal(e2)}#b(e2){let t2=this.#y;return t2?new t2.prototype.constructor(e2):null}canCreateNewEmptyEditor(){return this.#y?.canCreateNewEmptyEditor()}async pasteEditor(e2,t2){this.updateToolbar(e2),await this.#h.updateMode(e2.mode);let{offsetX:n2,offsetY:r2}=this.#x(),i2=this.#h.getId(),a2=this.#b({parent:this,id:i2,x:n2,y:r2,uiManager:this.#h,isCentered:!0,...t2});a2&&this.add(a2)}async deserialize(e2){return await AnnotationEditorLayer.#g.get(e2.annotationType??e2.annotationEditorType)?.deserialize(e2,this,this.#h)||null}createAndAddNewEditor(e2,t2,n2={}){let r2=this.#h.getId(),i2=this.#b({parent:this,id:r2,x:e2.offsetX,y:e2.offsetY,uiManager:this.#h,isCentered:t2,...n2});return i2&&this.add(i2),i2}get boundingClientRect(){return this.div.getBoundingClientRect()}#x(){let{x:e2,y:t2,width:n2,height:r2}=this.boundingClientRect,i2=Math.max(0,e2),a2=Math.max(0,t2),o2=Math.min(window.innerWidth,e2+n2),s2=Math.min(window.innerHeight,t2+r2),c2=(i2+o2)/2-e2,l2=(a2+s2)/2-t2,[u2,d2]=this.viewport.rotation%180==0?[c2,l2]:[l2,c2];return{offsetX:u2,offsetY:d2}}addNewEditor(e2={}){this.createAndAddNewEditor(this.#x(),!0,e2)}setSelected(e2){this.#h.setSelected(e2)}toggleSelected(e2){this.#h.toggleSelected(e2)}unselect(e2){this.#h.unselect(e2)}pointerup(e2){let{isMac:t2}=FeatureTest.platform;if(e2.button!==0||e2.ctrlKey&&t2||e2.target!==this.div||!this.#o||(this.#o=!1,this.#y?.isDrawer&&this.#y.supportMultipleDrawings))return;if(!this.#t){this.#t=!0;return}let n2=this.#h.getMode();if(n2===$.STAMP||n2===$.POPUP||n2===$.SIGNATURE){this.#h.unselectAll();return}this.createAndAddNewEditor(e2,!1)}pointerdown(e2){if(this.#h.getMode()===$.HIGHLIGHT&&this.enableTextSelection(),this.#o){this.#o=!1;return}let{isMac:t2}=FeatureTest.platform;if(e2.button!==0||e2.ctrlKey&&t2||e2.target!==this.div)return;if(this.#o=!0,this.#y?.isDrawer){this.startDrawingSession(e2);return}let n2=this.#h.getActive();this.#t=!n2||n2.isEmpty()}startDrawingSession(e2){if(this.div.focus({preventScroll:!0}),this.#l){this.#y.startDrawing(this,this.#h,!1,e2);return}this.#h.setCurrentDrawingSession(this),this.#l=new AbortController;let t2=this.#h.combinedSignal(this.#l);this.div.addEventListener("blur",({relatedTarget:e3})=>{e3&&!this.div.contains(e3)&&(this.#u=null,this.commitOrRemove())},{signal:t2}),this.#y.startDrawing(this,this.#h,!1,e2)}pause(e2){if(e2){let{activeElement:e3}=document;this.div.contains(e3)&&(this.#u=e3);return}this.#u&&setTimeout(()=>{this.#u?.focus(),this.#u=null},0)}endDrawingSession(e2=!1){return this.#l?(this.#h.setCurrentDrawingSession(null),this.#l.abort(),this.#l=null,this.#u=null,this.#y.endDrawing(e2)):null}findNewParent(e2,t2,n2){let r2=this.#h.findParent(t2,n2);return r2===null||r2===this?!1:(r2.changeParent(e2),!0)}commitOrRemove(){return this.#l?(this.endDrawingSession(),!0):!1}onScaleChanging(){this.#l&&this.#y.onScaleChangingWhenDrawing(this)}destroy(){this.commitOrRemove(),this.#h.getActive()?.parent===this&&(this.#h.commitOrRemove(),this.#h.setActiveEditor(null)),this.#i&&=(clearTimeout(this.#i),null);for(let e2 of this.#a.values())this.#e?.removePointerInTextLayer(e2.contentDiv),e2.setParent(null),e2.isAttachedToDOM=!1,e2.div.remove();this.div=null,this.#a.clear(),this.#h.removeLayer(this)}#S(){for(let e2 of this.#a.values())e2.isEmpty()&&e2.remove()}async render({viewport:e2}){this.viewport=e2,setLayerDimensions(this.div,e2);for(let e3 of this.#h.getEditors(this.pageIndex))this.add(e3),e3.rebuild();await this.#h.findClonesForPage(this),this.div.hidden=this.isEmpty,this.updateMode()}update({viewport:e2}){this.#h.commitOrRemove(),this.#S();let t2=this.viewport.rotation,n2=e2.rotation;if(this.viewport=e2,setLayerDimensions(this.div,{rotation:n2}),t2!==n2)for(let e3 of this.#a.values())e3.rotate(n2)}get pageDimensions(){let{pageWidth:e2,pageHeight:t2}=this.viewport.rawDims;return[e2,t2]}get scale(){return this.#h.viewParameters.realScale}};function compareTextLayers(e2,t2){return e2===t2?0:e2.compareDocumentPosition(t2)&Node.DOCUMENT_POSITION_FOLLOWING?-1:1}function getTextLayer(e2){return e2?e2.nodeType===Node.ELEMENT_NODE?e2.closest(".textLayer"):e2.parentElement?.closest(".textLayer")||null:null}function isPointBefore(e2,t2,n2,r2){if(e2===n2)return t2<=r2;let i2=e2.compareDocumentPosition(n2);return i2&Node.DOCUMENT_POSITION_FOLLOWING?!0:i2&Node.DOCUMENT_POSITION_PRECEDING?!1:null}function normalizeEdgeBoundary(e2,t2,n2){if(e2.nodeType!==Node.ELEMENT_NODE||!e2.classList.contains("textLayer")||t2!==e2.childNodes.length)return{container:e2,offset:t2};let r2=e2.lastChild;return r2?.nodeType===Node.ELEMENT_NODE&&r2.classList.contains("endOfContent")&&(r2=r2.previousSibling),!r2||!n2.contains(r2)?null:r2.nodeType===Node.TEXT_NODE?{container:r2,offset:r2.textContent.length}:{container:r2,offset:r2.childNodes.length}}var rc=class DrawLayer{#e=null;#t=new Map;#n=null;#r=null;#i=null;#a=null;#o=new Map;static#s=0;static#c=0;static#l=null;static#u=new Set;static#d=!1;static#f=new Set;static#p=new WeakMap;constructor({filterFactory:e2=null,pageColors:t2=null,pageIndex:n2,textLayer:r2=null}){if(this.pageIndex=n2,this.#r=e2,this.#i=t2,r2){let e3=DrawLayer.#p.get(r2);if(e3?.selectionDiv&&(e3.selectionDiv.remove(),DrawLayer.#u.delete(e3.selectionDiv)),DrawLayer.#p.set(r2,{drawLayer:this}),DrawLayer.#f.add(r2),this.#n=r2,this.#a=new MutationObserver(e4=>{if(!(!this.#e||!this.#n?.isConnected||!DrawLayer.#h())){for(let{addedNodes:t3}of e4)for(let e5 of t3)if(e5.nodeType===Node.ELEMENT_NODE&&e5.classList.contains("endOfContent")){DrawLayer.#_();return}}}),this.#a.observe(r2,{childList:!0}),DrawLayer.#l===null){DrawLayer.#l=new AbortController;let{signal:e4}=DrawLayer.#l;document.addEventListener("selectionchange",DrawLayer.#_.bind(DrawLayer),{signal:e4}),document.addEventListener("pointerdown",()=>{DrawLayer.#d=!0},{signal:e4}),document.addEventListener("pointerup",()=>{DrawLayer.#d=!1},{signal:e4}),window.addEventListener("blur",()=>{DrawLayer.#d=!1},{signal:e4})}}}setParent(e2){if(!this.#e){this.#e=e2,this.#n?.isConnected&&DrawLayer.#h()&&DrawLayer.#_();return}if(this.#e!==e2){if(this.#t.size>0)for(let t2 of this.#t.values())t2.remove(),e2.append(t2);this.#e=e2}}static#m(e2){let t2=this.#p.get(e2);t2?.selectionDiv&&(t2.selectionDiv.remove(),this.#u.delete(t2.selectionDiv),t2.selectionDiv=null,t2.path=null)}static#h(){let e2=document.getSelection();return!!e2&&!e2.isCollapsed}static#g(){return[...this.#f].filter(e2=>e2.isConnected).sort(compareTextLayers)}static#_(){let e2=document.getSelection();if(!e2||e2.isCollapsed){for(let e3 of this.#u)e3.remove();this.#u.clear();return}let t2=new WeakMap,n2=this.#g(),r2=[];for(let t3=0,i3=e2.rangeCount;t3<i3;t3++){let i4=e2.getRangeAt(t3);if(i4.collapsed)continue;let{startContainer:a2,startOffset:o2,endContainer:s2,endOffset:c2}=i4,l2=getTextLayer(a2),u2=getTextLayer(s2),d2=l2===null,f2=u2===null;if(this.#d&&d2!==f2)return;if(e2.rangeCount===1){let{anchorNode:t4,anchorOffset:n3,focusNode:r3,focusOffset:i5}=e2,d3=getTextLayer(t4),f3=getTextLayer(r3),p3=isPointBefore(t4,n3,r3,i5);d3&&f3&&p3!==null&&(p3?(a2=t4,o2=n3,l2=d3,s2=r3,c2=i5,u2=f3):(a2=r3,o2=i5,l2=f3,s2=t4,c2=n3,u2=d3))}let p2=n2.filter(e3=>i4.intersectsNode(e3));if(p2.length===0)continue;let m2=!1;if(l2||(l2=p2[0],a2=l2,o2=0,m2=!0),u2||(u2=p2.at(-1),s2=u2,c2=u2.childNodes.length,m2=!0),s2.nodeType===Node.ELEMENT_NODE){if(s2.classList.contains("endOfContent")){let e3=s2.previousSibling;if(!e3)continue;s2=e3,c2=e3.nodeType===Node.TEXT_NODE?e3.textContent.length:e3.childNodes.length}else if(s2.classList.contains("textLayer")&&s2.childNodes.length===c2){let e3=normalizeEdgeBoundary(s2,c2,u2);if(!e3)continue;s2=e3.container,c2=e3.offset}}if(a2.nodeType===Node.ELEMENT_NODE){let e3=normalizeEdgeBoundary(a2,o2,l2);if(!e3)continue;a2=e3.container,o2=e3.offset}if(l2===u2&&!m2&&p2.includes(l2)){r2.push([i4,l2]);continue}for(let e3 of p2){let t4=e3.firstChild;if(!t4)continue;let n3=document.createRange();if(e3===l2?n3.setStart(a2,o2):n3.setStartBefore(t4),e3===u2)n3.setEnd(s2,c2);else{let t5=e3.lastChild;if(!t5)continue;if(t5.nodeType===Node.ELEMENT_NODE&&t5.classList.contains("endOfContent")){let e4=t5.previousSibling;if(!e4)continue;n3.setEndAfter(e4)}else n3.setEndAfter(t5)}n3.collapsed||r2.push([n3,e3])}}let i2=new Set(r2.map(e3=>e3[1]));for(let e3 of this.#f)i2.has(e3)||this.#m(e3);for(let[e3,n3]of r2){let r3=DrawLayer.#p.get(n3);if(!r3)continue;let rotator=t2.get(n3);if(!rotator){let e4=n3.getBoundingClientRect();rotator=(t3,n4,r4,i4)=>({x:(t3-e4.x)/e4.width,y:(n4-e4.y)/e4.height,width:r4/e4.width,height:i4/e4.height}),t2.set(n3,rotator)}let i3=[];for(let{x:t3,y:n4,width:r4,height:a3}of e3.getClientRects())r4!==0&&a3!==0&&({x:t3,y:n4,width:r4,height:a3}=rotator(t3,n4,r4,a3),(r4!==1||a3!==1)&&i3.push(`M${t3} ${n4} h${r4} v${a3} h-${r4} Z`));if(i3.length===0)continue;let a2=r3.drawLayer,o2=r3.selectionDiv,s2=r3.path;if(!o2){let e4=`clip_selection_${DrawLayer.#c++}`;o2=document.createElement("div"),o2.className="selection",o2.style.clipPath=`url(#${e4})`;let t3=a2.#r?.createSelectionStyle(a2.#i);if(t3)for(let[e5,n5]of Object.entries(t3))o2.style.setProperty(e5,n5);let n4=DrawLayer._svgFactory.create(1,1,!0);n4.setAttribute("aria-hidden","true"),n4.setAttribute("width","100%"),n4.setAttribute("height","100%");let i4=DrawLayer._svgFactory.createElement("clipPath");i4.setAttribute("id",e4),i4.setAttribute("clipPathUnits","objectBoundingBox"),s2=DrawLayer._svgFactory.createElement("path"),i4.append(s2),n4.append(i4),o2.append(n4),r3.path=s2,r3.selectionDiv=o2}!o2.parentNode&&a2.#e&&(a2.#e.append(o2),this.#u.add(o2)),s2.setAttribute("d",i3.join(" "))}}static get _svgFactory(){return shadow(this,"_svgFactory",new DOMSVGFactory)}static#v(e2,[t2,n2,r2,i2]){let{style:a2}=e2;a2.top=`${100*n2}%`,a2.left=`${100*t2}%`,a2.width=`${100*r2}%`,a2.height=`${100*i2}%`}#y(){let e2=DrawLayer._svgFactory.create(1,1,!0);return this.#e.append(e2),e2.setAttribute("aria-hidden","true"),e2}#b(e2,t2){let n2=DrawLayer._svgFactory.createElement("clipPath");e2.append(n2);let r2=`clip_${t2}`;n2.setAttribute("id",r2),n2.setAttribute("clipPathUnits","objectBoundingBox");let i2=DrawLayer._svgFactory.createElement("use");return n2.append(i2),i2.setAttribute("href",`#${t2}`),i2.classList.add("clip"),r2}#x(e2,t2){for(let[n2,r2]of Object.entries(t2))r2===null?e2.removeAttribute(n2):e2.setAttribute(n2,r2)}draw(e2,t2=!1,n2=!1){let r2=DrawLayer.#s++,i2=this.#y(),a2=DrawLayer._svgFactory.createElement("defs");i2.append(a2);let o2=DrawLayer._svgFactory.createElement("path");a2.append(o2);let s2=`path_${r2}`;o2.setAttribute("id",s2),o2.setAttribute("vector-effect","non-scaling-stroke"),t2&&this.#o.set(r2,o2);let c2=n2?this.#b(a2,s2):null,l2=DrawLayer._svgFactory.createElement("use");return i2.append(l2),l2.setAttribute("href",`#${s2}`),this.updateProperties(i2,e2),this.#t.set(r2,i2),{id:r2,clipPathId:`url(#${c2})`}}drawOutline(e2,t2){let n2=DrawLayer.#s++,r2=this.#y(),i2=DrawLayer._svgFactory.createElement("defs");r2.append(i2);let a2=DrawLayer._svgFactory.createElement("path");i2.append(a2);let o2=`path_${n2}`;a2.setAttribute("id",o2),a2.setAttribute("vector-effect","non-scaling-stroke");let s2;if(t2){let e3=DrawLayer._svgFactory.createElement("mask");i2.append(e3),s2=`mask_${n2}`,e3.setAttribute("id",s2),e3.setAttribute("maskUnits","objectBoundingBox");let t3=DrawLayer._svgFactory.createElement("rect");e3.append(t3),t3.setAttribute("width","1"),t3.setAttribute("height","1"),t3.setAttribute("fill","white");let r3=DrawLayer._svgFactory.createElement("use");e3.append(r3),r3.setAttribute("href",`#${o2}`),r3.setAttribute("stroke","none"),r3.setAttribute("fill","black"),r3.setAttribute("fill-rule","nonzero"),r3.classList.add("mask")}let c2=DrawLayer._svgFactory.createElement("use");r2.append(c2),c2.setAttribute("href",`#${o2}`),s2&&c2.setAttribute("mask",`url(#${s2})`);let l2=c2.cloneNode();return r2.append(l2),c2.classList.add("mainOutline"),l2.classList.add("secondaryOutline"),this.updateProperties(r2,e2),this.#t.set(n2,r2),n2}finalizeDraw(e2,t2){this.#o.delete(e2),this.updateProperties(e2,t2)}updateProperties(e2,t2){if(!t2)return;let{root:n2,bbox:r2,rootClass:i2,path:a2}=t2,o2=typeof e2=="number"?this.#t.get(e2):e2;if(o2){if(n2&&this.#x(o2,n2),r2&&DrawLayer.#v(o2,r2),i2){let{classList:e3}=o2;for(let[t3,n3]of Object.entries(i2))e3.toggle(t3,n3)}if(a2){let e3=o2.firstElementChild.firstElementChild;this.#x(e3,a2)}}}updateParent(e2,t2){if(t2===this)return;let n2=this.#t.get(e2);n2&&(t2.#e.append(n2),this.#t.delete(e2),t2.#t.set(e2,n2))}remove(e2){this.#o.delete(e2),this.#e!==null&&(this.#t.get(e2).remove(),this.#t.delete(e2))}destroy(){this.#e=null;for(let e2 of this.#t.values())e2.remove();this.#t.clear(),this.#o.clear(),this.#a?.disconnect(),this.#a=null,this.#n&&=(DrawLayer.#p.get(this.#n)?.drawLayer===this&&(DrawLayer.#m(this.#n),DrawLayer.#p.delete(this.#n),DrawLayer.#f.delete(this.#n),DrawLayer.#f.size===0&&(DrawLayer.#l?.abort(),DrawLayer.#l=null,DrawLayer.#d=!1)),null)}};function percentage(e2){return`${(e2*100).toFixed(2)}%`}var ic=class TextLayerImages{#e=[];#t=new Map;#n=null;#r=0;#i=0;#a=0;static#o=null;constructor(e2,t2,n2,r2){this.#r=e2,this.#e=t2,this.#i=n2.rawDims.pageWidth,this.#a=n2.rawDims.pageHeight,this.#n=r2}render(){let e2=document.createElement("div");e2.className="textLayerImages";for(let t2=0;t2<this.#e.length;t2+=6){let n2=this.#s(this.#e.subarray(t2,t2+6));n2&&e2.append(n2)}return e2.addEventListener("contextmenu",e3=>{if(!(e3.target instanceof HTMLCanvasElement))return;let t2=e3.target,n2=this.#t.get(t2);if(!n2)return;let r2=TextLayerImages.#o?.deref();if(r2===t2)return;r2&&(r2.width=0,r2.height=0),TextLayerImages.#o=new WeakRef(t2);let{inverseTransform:i2,x1:a2,y1:o2,width:s2,height:c2}=n2,l2=this.#n(),u2=Math.ceil(a2*l2.width),d2=Math.ceil(o2*l2.height),f2=Math.floor((a2+s2/this.#i)*l2.width),p2=Math.floor((o2+c2/this.#a)*l2.height);t2.width=f2-u2,t2.height=p2-d2;let m2=t2.getContext("2d");m2.setTransform(...i2),m2.translate(-u2,-d2),m2.drawImage(l2,0,0)}),e2}#s([e2,t2,n2,r2,i2,a2]){let o2=Math.hypot((i2-e2)*this.#i,(a2-t2)*this.#a),s2=Math.hypot((n2-e2)*this.#i,(r2-t2)*this.#a);if(o2<this.#r||s2<this.#r)return null;let c2=[(i2-e2)*this.#i/o2,(a2-t2)*this.#a/o2,(n2-e2)*this.#i/s2,(r2-t2)*this.#a/s2,0,0],l2=Util.inverseTransform(c2),u2=document.createElement("canvas");return u2.className="textLayerImagePlaceholder",u2.width=0,u2.height=0,Object.assign(u2.style,{opacity:0,position:"absolute",left:percentage(e2),top:percentage(t2),width:percentage(o2/this.#i),height:percentage(s2/this.#a),transformOrigin:"0% 0%",transform:`matrix(${c2.join(",")})`}),this.#t.set(u2,{inverseTransform:l2,width:o2,height:s2,x1:e2,y1:t2}),u2}};globalThis._pdfjsTestingUtils={HighlightOutliner},globalThis.pdfjsLib={AbortException,AnnotationEditorLayer:nc,AnnotationEditorParamsType:ko,AnnotationEditorType:$,AnnotationEditorUIManager:es,AnnotationLayer:Gs,AnnotationMode:Eo,AnnotationType:No,applyOpacity,build:zs,ColorPicker:Bs,createValidAbsoluteUrl,CSSConstants,DOMSVGFactory,DrawLayer:rc,FeatureTest,fetchData,findContrastColor,getDocument,getFilenameFromUrl,getPdfFilenameFromUrl,getRGB,getRGBA,getUuid,GlobalWorkerOptions,ImageKind:Mo,InvalidPDFException,isDataScheme,isPdfFile,isValidExplicitDest:hs,makeArr,makeMap,makeObj,MathClamp,noContextMenu,normalizeUnicode,OPS:Io,OutputScale:Go,PasswordException,PasswordResponses:Ro,PDFDataRangeTransport,PDFDateString,PDFWorker:Is,PermissionFlag:Ao,PixelsPerInch,RenderingCancelledException,renderRichText,ResponseException,setLayerDimensions,shadow,SignatureExtractor,stopEvent,SupportedImageMimeTypes:Ko,TextLayer:Ms,TextLayerImages:ic,TouchManager:ns,updateUrlHash,Util,VerbosityLevel:Fo,version:Rs,XfaLayer};export{AbortException,nc as AnnotationEditorLayer,ko as AnnotationEditorParamsType,$ as AnnotationEditorType,es as AnnotationEditorUIManager,Gs as AnnotationLayer,Eo as AnnotationMode,No as AnnotationType,CSSConstants,Bs as ColorPicker,DOMSVGFactory,rc as DrawLayer,FeatureTest,GlobalWorkerOptions,Mo as ImageKind,InvalidPDFException,MathClamp,Io as OPS,Go as OutputScale,PDFDataRangeTransport,PDFDateString,Is as PDFWorker,PasswordException,Ro as PasswordResponses,Ao as PermissionFlag,PixelsPerInch,RenderingCancelledException,ResponseException,SignatureExtractor,Ko as SupportedImageMimeTypes,Ms as TextLayer,ic as TextLayerImages,ns as TouchManager,Util,Fo as VerbosityLevel,XfaLayer,applyOpacity,zs as build,createValidAbsoluteUrl,fetchData,findContrastColor,getDocument,getFilenameFromUrl,getPdfFilenameFromUrl,getRGB,getRGBA,getUuid,isDataScheme,isPdfFile,hs as isValidExplicitDest,makeArr,makeMap,makeObj,noContextMenu,normalizeUnicode,renderRichText,setLayerDimensions,shadow,stopEvent,updateUrlHash,Rs as version};
|