From 704692fb3ed3feb6a5c615fb479cb7b5bb60ba19 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E8=8C=83=E5=BC=BA=E5=BC=BA?= <787203167>
Date: Tue, 19 Mar 2024 17:43:13 +0800
Subject: [PATCH 1/3] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=B7=A8=E7=AB=99?=
=?UTF-8?q?=E8=84=9A=E6=9C=AC=E6=94=BB=E5=87=BB=E7=BC=BA=E9=99=B7?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../src/main/resources/application-dev.yml | 4 +-
jero-web/public/pdfjs/LICENSE | 177 -
jero-web/public/pdfjs/build/build/pdf.js | 22240 ------
jero-web/public/pdfjs/build/build/pdf.js.map | 1 -
.../public/pdfjs/build/build/pdf.sandbox.js | 3189 -
.../pdfjs/build/build/pdf.sandbox.js.map | 1 -
.../public/pdfjs/build/build/pdf.worker.js | 62619 ---------------
.../pdfjs/build/build/pdf.worker.js.map | 1 -
jero-web/public/pdfjs/build/pdf.js | 15792 ----
jero-web/public/pdfjs/build/pdf.js.map | 1 -
jero-web/public/pdfjs/build/pdf.sandbox.js | 280 -
.../public/pdfjs/build/pdf.sandbox.js.map | 1 -
jero-web/public/pdfjs/build/pdf.worker.js | 64521 ----------------
jero-web/public/pdfjs/build/pdf.worker.js.map | 1 -
.../pdfjs/build/web/cmaps/78-EUC-H.bcmap | Bin 2404 -> 0 bytes
.../pdfjs/build/web/cmaps/78-EUC-V.bcmap | Bin 173 -> 0 bytes
.../public/pdfjs/build/web/cmaps/78-H.bcmap | Bin 2379 -> 0 bytes
.../pdfjs/build/web/cmaps/78-RKSJ-H.bcmap | Bin 2398 -> 0 bytes
.../pdfjs/build/web/cmaps/78-RKSJ-V.bcmap | Bin 173 -> 0 bytes
.../public/pdfjs/build/web/cmaps/78-V.bcmap | Bin 169 -> 0 bytes
.../pdfjs/build/web/cmaps/78ms-RKSJ-H.bcmap | Bin 2651 -> 0 bytes
.../pdfjs/build/web/cmaps/78ms-RKSJ-V.bcmap | Bin 290 -> 0 bytes
.../pdfjs/build/web/cmaps/83pv-RKSJ-H.bcmap | Bin 905 -> 0 bytes
.../pdfjs/build/web/cmaps/90ms-RKSJ-H.bcmap | Bin 721 -> 0 bytes
.../pdfjs/build/web/cmaps/90ms-RKSJ-V.bcmap | Bin 290 -> 0 bytes
.../pdfjs/build/web/cmaps/90msp-RKSJ-H.bcmap | Bin 715 -> 0 bytes
.../pdfjs/build/web/cmaps/90msp-RKSJ-V.bcmap | Bin 291 -> 0 bytes
.../pdfjs/build/web/cmaps/90pv-RKSJ-H.bcmap | Bin 982 -> 0 bytes
.../pdfjs/build/web/cmaps/90pv-RKSJ-V.bcmap | Bin 260 -> 0 bytes
.../public/pdfjs/build/web/cmaps/Add-H.bcmap | Bin 2419 -> 0 bytes
.../pdfjs/build/web/cmaps/Add-RKSJ-H.bcmap | Bin 2413 -> 0 bytes
.../pdfjs/build/web/cmaps/Add-RKSJ-V.bcmap | Bin 287 -> 0 bytes
.../public/pdfjs/build/web/cmaps/Add-V.bcmap | Bin 282 -> 0 bytes
.../pdfjs/build/web/cmaps/Adobe-CNS1-0.bcmap | Bin 317 -> 0 bytes
.../pdfjs/build/web/cmaps/Adobe-CNS1-1.bcmap | Bin 371 -> 0 bytes
.../pdfjs/build/web/cmaps/Adobe-CNS1-2.bcmap | Bin 376 -> 0 bytes
.../pdfjs/build/web/cmaps/Adobe-CNS1-3.bcmap | Bin 401 -> 0 bytes
.../pdfjs/build/web/cmaps/Adobe-CNS1-4.bcmap | Bin 405 -> 0 bytes
.../pdfjs/build/web/cmaps/Adobe-CNS1-5.bcmap | Bin 406 -> 0 bytes
.../pdfjs/build/web/cmaps/Adobe-CNS1-6.bcmap | Bin 406 -> 0 bytes
.../build/web/cmaps/Adobe-CNS1-UCS2.bcmap | Bin 41193 -> 0 bytes
.../pdfjs/build/web/cmaps/Adobe-GB1-0.bcmap | Bin 217 -> 0 bytes
.../pdfjs/build/web/cmaps/Adobe-GB1-1.bcmap | Bin 250 -> 0 bytes
.../pdfjs/build/web/cmaps/Adobe-GB1-2.bcmap | Bin 465 -> 0 bytes
.../pdfjs/build/web/cmaps/Adobe-GB1-3.bcmap | Bin 470 -> 0 bytes
.../pdfjs/build/web/cmaps/Adobe-GB1-4.bcmap | Bin 601 -> 0 bytes
.../pdfjs/build/web/cmaps/Adobe-GB1-5.bcmap | Bin 625 -> 0 bytes
.../build/web/cmaps/Adobe-GB1-UCS2.bcmap | Bin 33974 -> 0 bytes
.../build/web/cmaps/Adobe-Japan1-0.bcmap | Bin 225 -> 0 bytes
.../build/web/cmaps/Adobe-Japan1-1.bcmap | Bin 226 -> 0 bytes
.../build/web/cmaps/Adobe-Japan1-2.bcmap | Bin 233 -> 0 bytes
.../build/web/cmaps/Adobe-Japan1-3.bcmap | Bin 242 -> 0 bytes
.../build/web/cmaps/Adobe-Japan1-4.bcmap | Bin 337 -> 0 bytes
.../build/web/cmaps/Adobe-Japan1-5.bcmap | Bin 430 -> 0 bytes
.../build/web/cmaps/Adobe-Japan1-6.bcmap | Bin 485 -> 0 bytes
.../build/web/cmaps/Adobe-Japan1-UCS2.bcmap | Bin 40951 -> 0 bytes
.../build/web/cmaps/Adobe-Korea1-0.bcmap | Bin 241 -> 0 bytes
.../build/web/cmaps/Adobe-Korea1-1.bcmap | Bin 386 -> 0 bytes
.../build/web/cmaps/Adobe-Korea1-2.bcmap | Bin 391 -> 0 bytes
.../build/web/cmaps/Adobe-Korea1-UCS2.bcmap | Bin 23293 -> 0 bytes
.../public/pdfjs/build/web/cmaps/B5-H.bcmap | Bin 1086 -> 0 bytes
.../public/pdfjs/build/web/cmaps/B5-V.bcmap | Bin 142 -> 0 bytes
.../public/pdfjs/build/web/cmaps/B5pc-H.bcmap | Bin 1099 -> 0 bytes
.../public/pdfjs/build/web/cmaps/B5pc-V.bcmap | Bin 144 -> 0 bytes
.../pdfjs/build/web/cmaps/CNS-EUC-H.bcmap | Bin 1780 -> 0 bytes
.../pdfjs/build/web/cmaps/CNS-EUC-V.bcmap | Bin 1920 -> 0 bytes
.../public/pdfjs/build/web/cmaps/CNS1-H.bcmap | Bin 706 -> 0 bytes
.../public/pdfjs/build/web/cmaps/CNS1-V.bcmap | Bin 143 -> 0 bytes
.../public/pdfjs/build/web/cmaps/CNS2-H.bcmap | Bin 504 -> 0 bytes
.../public/pdfjs/build/web/cmaps/CNS2-V.bcmap | 3 -
.../pdfjs/build/web/cmaps/ETHK-B5-H.bcmap | Bin 4426 -> 0 bytes
.../pdfjs/build/web/cmaps/ETHK-B5-V.bcmap | Bin 158 -> 0 bytes
.../pdfjs/build/web/cmaps/ETen-B5-H.bcmap | Bin 1125 -> 0 bytes
.../pdfjs/build/web/cmaps/ETen-B5-V.bcmap | Bin 158 -> 0 bytes
.../pdfjs/build/web/cmaps/ETenms-B5-H.bcmap | 3 -
.../pdfjs/build/web/cmaps/ETenms-B5-V.bcmap | Bin 172 -> 0 bytes
.../public/pdfjs/build/web/cmaps/EUC-H.bcmap | Bin 578 -> 0 bytes
.../public/pdfjs/build/web/cmaps/EUC-V.bcmap | Bin 170 -> 0 bytes
.../public/pdfjs/build/web/cmaps/Ext-H.bcmap | Bin 2536 -> 0 bytes
.../pdfjs/build/web/cmaps/Ext-RKSJ-H.bcmap | Bin 2542 -> 0 bytes
.../pdfjs/build/web/cmaps/Ext-RKSJ-V.bcmap | Bin 218 -> 0 bytes
.../public/pdfjs/build/web/cmaps/Ext-V.bcmap | Bin 215 -> 0 bytes
.../pdfjs/build/web/cmaps/GB-EUC-H.bcmap | Bin 549 -> 0 bytes
.../pdfjs/build/web/cmaps/GB-EUC-V.bcmap | Bin 179 -> 0 bytes
.../public/pdfjs/build/web/cmaps/GB-H.bcmap | 4 -
.../public/pdfjs/build/web/cmaps/GB-V.bcmap | Bin 175 -> 0 bytes
.../pdfjs/build/web/cmaps/GBK-EUC-H.bcmap | Bin 14692 -> 0 bytes
.../pdfjs/build/web/cmaps/GBK-EUC-V.bcmap | Bin 180 -> 0 bytes
.../pdfjs/build/web/cmaps/GBK2K-H.bcmap | Bin 19662 -> 0 bytes
.../pdfjs/build/web/cmaps/GBK2K-V.bcmap | Bin 219 -> 0 bytes
.../pdfjs/build/web/cmaps/GBKp-EUC-H.bcmap | Bin 14686 -> 0 bytes
.../pdfjs/build/web/cmaps/GBKp-EUC-V.bcmap | Bin 181 -> 0 bytes
.../pdfjs/build/web/cmaps/GBT-EUC-H.bcmap | Bin 7290 -> 0 bytes
.../pdfjs/build/web/cmaps/GBT-EUC-V.bcmap | Bin 180 -> 0 bytes
.../public/pdfjs/build/web/cmaps/GBT-H.bcmap | Bin 7269 -> 0 bytes
.../public/pdfjs/build/web/cmaps/GBT-V.bcmap | Bin 176 -> 0 bytes
.../pdfjs/build/web/cmaps/GBTpc-EUC-H.bcmap | Bin 7298 -> 0 bytes
.../pdfjs/build/web/cmaps/GBTpc-EUC-V.bcmap | Bin 182 -> 0 bytes
.../pdfjs/build/web/cmaps/GBpc-EUC-H.bcmap | Bin 557 -> 0 bytes
.../pdfjs/build/web/cmaps/GBpc-EUC-V.bcmap | Bin 181 -> 0 bytes
jero-web/public/pdfjs/build/web/cmaps/H.bcmap | Bin 553 -> 0 bytes
.../pdfjs/build/web/cmaps/HKdla-B5-H.bcmap | Bin 2654 -> 0 bytes
.../pdfjs/build/web/cmaps/HKdla-B5-V.bcmap | Bin 148 -> 0 bytes
.../pdfjs/build/web/cmaps/HKdlb-B5-H.bcmap | Bin 2414 -> 0 bytes
.../pdfjs/build/web/cmaps/HKdlb-B5-V.bcmap | Bin 148 -> 0 bytes
.../pdfjs/build/web/cmaps/HKgccs-B5-H.bcmap | Bin 2292 -> 0 bytes
.../pdfjs/build/web/cmaps/HKgccs-B5-V.bcmap | Bin 149 -> 0 bytes
.../pdfjs/build/web/cmaps/HKm314-B5-H.bcmap | Bin 1772 -> 0 bytes
.../pdfjs/build/web/cmaps/HKm314-B5-V.bcmap | Bin 149 -> 0 bytes
.../pdfjs/build/web/cmaps/HKm471-B5-H.bcmap | Bin 2171 -> 0 bytes
.../pdfjs/build/web/cmaps/HKm471-B5-V.bcmap | Bin 149 -> 0 bytes
.../pdfjs/build/web/cmaps/HKscs-B5-H.bcmap | Bin 4437 -> 0 bytes
.../pdfjs/build/web/cmaps/HKscs-B5-V.bcmap | Bin 159 -> 0 bytes
.../pdfjs/build/web/cmaps/Hankaku.bcmap | Bin 132 -> 0 bytes
.../pdfjs/build/web/cmaps/Hiragana.bcmap | Bin 124 -> 0 bytes
.../pdfjs/build/web/cmaps/KSC-EUC-H.bcmap | Bin 1848 -> 0 bytes
.../pdfjs/build/web/cmaps/KSC-EUC-V.bcmap | Bin 164 -> 0 bytes
.../public/pdfjs/build/web/cmaps/KSC-H.bcmap | Bin 1831 -> 0 bytes
.../pdfjs/build/web/cmaps/KSC-Johab-H.bcmap | Bin 16791 -> 0 bytes
.../pdfjs/build/web/cmaps/KSC-Johab-V.bcmap | Bin 166 -> 0 bytes
.../public/pdfjs/build/web/cmaps/KSC-V.bcmap | Bin 160 -> 0 bytes
.../pdfjs/build/web/cmaps/KSCms-UHC-H.bcmap | Bin 2787 -> 0 bytes
.../build/web/cmaps/KSCms-UHC-HW-H.bcmap | Bin 2789 -> 0 bytes
.../build/web/cmaps/KSCms-UHC-HW-V.bcmap | Bin 169 -> 0 bytes
.../pdfjs/build/web/cmaps/KSCms-UHC-V.bcmap | Bin 166 -> 0 bytes
.../pdfjs/build/web/cmaps/KSCpc-EUC-H.bcmap | Bin 2024 -> 0 bytes
.../pdfjs/build/web/cmaps/KSCpc-EUC-V.bcmap | Bin 166 -> 0 bytes
.../pdfjs/build/web/cmaps/Katakana.bcmap | Bin 100 -> 0 bytes
jero-web/public/pdfjs/build/web/cmaps/LICENSE | 36 -
.../public/pdfjs/build/web/cmaps/NWP-H.bcmap | Bin 2765 -> 0 bytes
.../public/pdfjs/build/web/cmaps/NWP-V.bcmap | Bin 252 -> 0 bytes
.../public/pdfjs/build/web/cmaps/RKSJ-H.bcmap | Bin 534 -> 0 bytes
.../public/pdfjs/build/web/cmaps/RKSJ-V.bcmap | Bin 170 -> 0 bytes
.../public/pdfjs/build/web/cmaps/Roman.bcmap | Bin 96 -> 0 bytes
.../pdfjs/build/web/cmaps/UniCNS-UCS2-H.bcmap | Bin 48280 -> 0 bytes
.../pdfjs/build/web/cmaps/UniCNS-UCS2-V.bcmap | Bin 156 -> 0 bytes
.../build/web/cmaps/UniCNS-UTF16-H.bcmap | Bin 50419 -> 0 bytes
.../build/web/cmaps/UniCNS-UTF16-V.bcmap | Bin 156 -> 0 bytes
.../build/web/cmaps/UniCNS-UTF32-H.bcmap | Bin 52679 -> 0 bytes
.../build/web/cmaps/UniCNS-UTF32-V.bcmap | Bin 160 -> 0 bytes
.../pdfjs/build/web/cmaps/UniCNS-UTF8-H.bcmap | Bin 53629 -> 0 bytes
.../pdfjs/build/web/cmaps/UniCNS-UTF8-V.bcmap | Bin 157 -> 0 bytes
.../pdfjs/build/web/cmaps/UniGB-UCS2-H.bcmap | Bin 43366 -> 0 bytes
.../pdfjs/build/web/cmaps/UniGB-UCS2-V.bcmap | Bin 193 -> 0 bytes
.../pdfjs/build/web/cmaps/UniGB-UTF16-H.bcmap | Bin 44086 -> 0 bytes
.../pdfjs/build/web/cmaps/UniGB-UTF16-V.bcmap | Bin 178 -> 0 bytes
.../pdfjs/build/web/cmaps/UniGB-UTF32-H.bcmap | Bin 45738 -> 0 bytes
.../pdfjs/build/web/cmaps/UniGB-UTF32-V.bcmap | Bin 182 -> 0 bytes
.../pdfjs/build/web/cmaps/UniGB-UTF8-H.bcmap | Bin 46837 -> 0 bytes
.../pdfjs/build/web/cmaps/UniGB-UTF8-V.bcmap | Bin 181 -> 0 bytes
.../pdfjs/build/web/cmaps/UniJIS-UCS2-H.bcmap | Bin 25439 -> 0 bytes
.../build/web/cmaps/UniJIS-UCS2-HW-H.bcmap | Bin 119 -> 0 bytes
.../build/web/cmaps/UniJIS-UCS2-HW-V.bcmap | Bin 680 -> 0 bytes
.../pdfjs/build/web/cmaps/UniJIS-UCS2-V.bcmap | Bin 664 -> 0 bytes
.../build/web/cmaps/UniJIS-UTF16-H.bcmap | Bin 39443 -> 0 bytes
.../build/web/cmaps/UniJIS-UTF16-V.bcmap | Bin 643 -> 0 bytes
.../build/web/cmaps/UniJIS-UTF32-H.bcmap | Bin 40539 -> 0 bytes
.../build/web/cmaps/UniJIS-UTF32-V.bcmap | Bin 677 -> 0 bytes
.../pdfjs/build/web/cmaps/UniJIS-UTF8-H.bcmap | Bin 41695 -> 0 bytes
.../pdfjs/build/web/cmaps/UniJIS-UTF8-V.bcmap | Bin 678 -> 0 bytes
.../build/web/cmaps/UniJIS2004-UTF16-H.bcmap | Bin 39534 -> 0 bytes
.../build/web/cmaps/UniJIS2004-UTF16-V.bcmap | Bin 647 -> 0 bytes
.../build/web/cmaps/UniJIS2004-UTF32-H.bcmap | Bin 40630 -> 0 bytes
.../build/web/cmaps/UniJIS2004-UTF32-V.bcmap | Bin 681 -> 0 bytes
.../build/web/cmaps/UniJIS2004-UTF8-H.bcmap | Bin 41779 -> 0 bytes
.../build/web/cmaps/UniJIS2004-UTF8-V.bcmap | Bin 682 -> 0 bytes
.../build/web/cmaps/UniJISPro-UCS2-HW-V.bcmap | Bin 705 -> 0 bytes
.../build/web/cmaps/UniJISPro-UCS2-V.bcmap | Bin 689 -> 0 bytes
.../build/web/cmaps/UniJISPro-UTF8-V.bcmap | Bin 726 -> 0 bytes
.../build/web/cmaps/UniJISX0213-UTF32-H.bcmap | Bin 40517 -> 0 bytes
.../build/web/cmaps/UniJISX0213-UTF32-V.bcmap | Bin 684 -> 0 bytes
.../web/cmaps/UniJISX02132004-UTF32-H.bcmap | Bin 40608 -> 0 bytes
.../web/cmaps/UniJISX02132004-UTF32-V.bcmap | Bin 688 -> 0 bytes
.../pdfjs/build/web/cmaps/UniKS-UCS2-H.bcmap | Bin 25783 -> 0 bytes
.../pdfjs/build/web/cmaps/UniKS-UCS2-V.bcmap | Bin 178 -> 0 bytes
.../pdfjs/build/web/cmaps/UniKS-UTF16-H.bcmap | Bin 26327 -> 0 bytes
.../pdfjs/build/web/cmaps/UniKS-UTF16-V.bcmap | Bin 164 -> 0 bytes
.../pdfjs/build/web/cmaps/UniKS-UTF32-H.bcmap | Bin 26451 -> 0 bytes
.../pdfjs/build/web/cmaps/UniKS-UTF32-V.bcmap | Bin 168 -> 0 bytes
.../pdfjs/build/web/cmaps/UniKS-UTF8-H.bcmap | Bin 27790 -> 0 bytes
.../pdfjs/build/web/cmaps/UniKS-UTF8-V.bcmap | Bin 169 -> 0 bytes
jero-web/public/pdfjs/build/web/cmaps/V.bcmap | Bin 166 -> 0 bytes
.../pdfjs/build/web/cmaps/WP-Symbol.bcmap | Bin 179 -> 0 bytes
.../web/compressed.tracemonkey-pldi-09.pdf | Bin 1016315 -> 0 bytes
jero-web/public/pdfjs/build/web/debugger.css | 107 -
jero-web/public/pdfjs/build/web/debugger.js | 612 -
.../build/web/images/annotation-check.svg | 11 -
.../build/web/images/annotation-comment.svg | 16 -
.../build/web/images/annotation-help.svg | 26 -
.../build/web/images/annotation-insert.svg | 10 -
.../pdfjs/build/web/images/annotation-key.svg | 11 -
.../web/images/annotation-newparagraph.svg | 11 -
.../build/web/images/annotation-noicon.svg | 7 -
.../build/web/images/annotation-note.svg | 42 -
.../build/web/images/annotation-paperclip.svg | 6 -
.../build/web/images/annotation-paragraph.svg | 16 -
.../build/web/images/annotation-pushpin.svg | 7 -
.../web/images/cursor-editorFreeText.svg | 3 -
.../build/web/images/cursor-editorInk.svg | 4 -
.../build/web/images/findbarButton-next.svg | 3 -
.../web/images/findbarButton-previous.svg | 3 -
.../web/images/gv-toolbarButton-download.svg | 3 -
.../web/images/gv-toolbarButton-openinapp.svg | 11 -
.../pdfjs/build/web/images/loading-dark.svg | 24 -
.../pdfjs/build/web/images/loading-icon.gif | Bin 2545 -> 0 bytes
.../public/pdfjs/build/web/images/loading.svg | 1 -
...ondaryToolbarButton-documentProperties.svg | 3 -
.../secondaryToolbarButton-firstPage.svg | 3 -
.../secondaryToolbarButton-handTool.svg | 3 -
.../secondaryToolbarButton-lastPage.svg | 3 -
.../secondaryToolbarButton-rotateCcw.svg | 3 -
.../secondaryToolbarButton-rotateCw.svg | 3 -
...econdaryToolbarButton-scrollHorizontal.svg | 3 -
.../secondaryToolbarButton-scrollPage.svg | 3 -
.../secondaryToolbarButton-scrollVertical.svg | 3 -
.../secondaryToolbarButton-scrollWrapped.svg | 3 -
.../secondaryToolbarButton-selectTool.svg | 3 -
.../secondaryToolbarButton-spreadEven.svg | 3 -
.../secondaryToolbarButton-spreadNone.svg | 3 -
.../secondaryToolbarButton-spreadOdd.svg | 3 -
.../web/images/toolbarButton-bookmark.svg | 3 -
.../toolbarButton-currentOutlineItem.svg | 3 -
.../web/images/toolbarButton-download.svg | 4 -
.../images/toolbarButton-editorFreeText.svg | 3 -
.../web/images/toolbarButton-editorInk.svg | 4 -
.../web/images/toolbarButton-editorStamp.svg | 8 -
.../web/images/toolbarButton-menuArrow.svg | 3 -
.../web/images/toolbarButton-openFile.svg | 3 -
.../web/images/toolbarButton-pageDown.svg | 3 -
.../build/web/images/toolbarButton-pageUp.svg | 3 -
.../images/toolbarButton-presentationMode.svg | 3 -
.../build/web/images/toolbarButton-print.svg | 3 -
.../build/web/images/toolbarButton-search.svg | 3 -
.../toolbarButton-secondaryToolbarToggle.svg | 3 -
.../images/toolbarButton-sidebarToggle.svg | 3 -
.../images/toolbarButton-viewAttachments.svg | 3 -
.../web/images/toolbarButton-viewLayers.svg | 3 -
.../web/images/toolbarButton-viewOutline.svg | 3 -
.../images/toolbarButton-viewThumbnail.svg | 3 -
.../build/web/images/toolbarButton-zoomIn.svg | 3 -
.../web/images/toolbarButton-zoomOut.svg | 3 -
.../build/web/images/treeitem-collapsed.svg | 1 -
.../build/web/images/treeitem-expanded.svg | 1 -
.../build/web/locale/ach/viewer.properties | 179 -
.../build/web/locale/af/viewer.properties | 156 -
.../build/web/locale/an/viewer.properties | 222 -
.../build/web/locale/ar/viewer.properties | 224 -
.../build/web/locale/ast/viewer.properties | 185 -
.../build/web/locale/az/viewer.properties | 222 -
.../build/web/locale/be/viewer.properties | 259 -
.../build/web/locale/bg/viewer.properties | 214 -
.../build/web/locale/bn/viewer.properties | 218 -
.../build/web/locale/bo/viewer.properties | 217 -
.../build/web/locale/br/viewer.properties | 224 -
.../build/web/locale/brx/viewer.properties | 184 -
.../build/web/locale/bs/viewer.properties | 173 -
.../build/web/locale/ca/viewer.properties | 256 -
.../build/web/locale/cak/viewer.properties | 253 -
.../build/web/locale/ckb/viewer.properties | 213 -
.../build/web/locale/cs/viewer.properties | 259 -
.../build/web/locale/cy/viewer.properties | 259 -
.../build/web/locale/da/viewer.properties | 257 -
.../build/web/locale/de/viewer.properties | 259 -
.../build/web/locale/dsb/viewer.properties | 259 -
.../build/web/locale/el/viewer.properties | 259 -
.../build/web/locale/en-CA/viewer.properties | 254 -
.../build/web/locale/en-GB/viewer.properties | 259 -
.../build/web/locale/en-US/viewer.properties | 263 -
.../build/web/locale/eo/viewer.properties | 258 -
.../build/web/locale/es-AR/viewer.properties | 259 -
.../build/web/locale/es-CL/viewer.properties | 259 -
.../build/web/locale/es-ES/viewer.properties | 257 -
.../build/web/locale/es-MX/viewer.properties | 257 -
.../build/web/locale/et/viewer.properties | 229 -
.../build/web/locale/eu/viewer.properties | 258 -
.../build/web/locale/fa/viewer.properties | 221 -
.../build/web/locale/ff/viewer.properties | 214 -
.../build/web/locale/fi/viewer.properties | 259 -
.../build/web/locale/fr/viewer.properties | 259 -
.../build/web/locale/fur/viewer.properties | 259 -
.../build/web/locale/fy-NL/viewer.properties | 259 -
.../build/web/locale/ga-IE/viewer.properties | 181 -
.../build/web/locale/gd/viewer.properties | 257 -
.../build/web/locale/gl/viewer.properties | 259 -
.../build/web/locale/gn/viewer.properties | 259 -
.../build/web/locale/gu-IN/viewer.properties | 214 -
.../build/web/locale/he/viewer.properties | 258 -
.../build/web/locale/hi-IN/viewer.properties | 214 -
.../build/web/locale/hr/viewer.properties | 243 -
.../build/web/locale/hsb/viewer.properties | 259 -
.../build/web/locale/hu/viewer.properties | 257 -
.../build/web/locale/hy-AM/viewer.properties | 232 -
.../build/web/locale/hye/viewer.properties | 229 -
.../build/web/locale/ia/viewer.properties | 257 -
.../build/web/locale/id/viewer.properties | 253 -
.../build/web/locale/is/viewer.properties | 259 -
.../build/web/locale/it/viewer.properties | 210 -
.../build/web/locale/ja/viewer.properties | 284 -
.../build/web/locale/ka/viewer.properties | 257 -
.../build/web/locale/kab/viewer.properties | 257 -
.../build/web/locale/kk/viewer.properties | 259 -
.../build/web/locale/km/viewer.properties | 189 -
.../build/web/locale/kn/viewer.properties | 166 -
.../build/web/locale/ko/viewer.properties | 259 -
.../build/web/locale/lij/viewer.properties | 214 -
.../build/web/locale/lo/viewer.properties | 257 -
.../pdfjs/build/web/locale/locale.properties | 333 -
.../build/web/locale/lt/viewer.properties | 229 -
.../build/web/locale/ltg/viewer.properties | 192 -
.../build/web/locale/lv/viewer.properties | 214 -
.../build/web/locale/meh/viewer.properties | 106 -
.../build/web/locale/mk/viewer.properties | 118 -
.../build/web/locale/mr/viewer.properties | 210 -
.../build/web/locale/ms/viewer.properties | 214 -
.../build/web/locale/my/viewer.properties | 170 -
.../build/web/locale/nb-NO/viewer.properties | 259 -
.../build/web/locale/ne-NP/viewer.properties | 197 -
.../build/web/locale/nl/viewer.properties | 259 -
.../build/web/locale/nn-NO/viewer.properties | 257 -
.../build/web/locale/oc/viewer.properties | 257 -
.../build/web/locale/pa-IN/viewer.properties | 257 -
.../build/web/locale/pl/viewer.properties | 259 -
.../build/web/locale/pt-BR/viewer.properties | 259 -
.../build/web/locale/pt-PT/viewer.properties | 259 -
.../build/web/locale/rm/viewer.properties | 257 -
.../build/web/locale/ro/viewer.properties | 220 -
.../build/web/locale/ru/viewer.properties | 259 -
.../build/web/locale/sat/viewer.properties | 259 -
.../build/web/locale/sc/viewer.properties | 242 -
.../build/web/locale/scn/viewer.properties | 101 -
.../build/web/locale/sco/viewer.properties | 226 -
.../build/web/locale/si/viewer.properties | 215 -
.../build/web/locale/sk/viewer.properties | 257 -
.../build/web/locale/skr/viewer.properties | 256 -
.../build/web/locale/sl/viewer.properties | 259 -
.../build/web/locale/son/viewer.properties | 152 -
.../build/web/locale/sq/viewer.properties | 247 -
.../build/web/locale/sr/viewer.properties | 259 -
.../build/web/locale/sv-SE/viewer.properties | 259 -
.../build/web/locale/szl/viewer.properties | 224 -
.../build/web/locale/ta/viewer.properties | 173 -
.../build/web/locale/te/viewer.properties | 216 -
.../build/web/locale/tg/viewer.properties | 259 -
.../build/web/locale/th/viewer.properties | 259 -
.../build/web/locale/tl/viewer.properties | 222 -
.../build/web/locale/tr/viewer.properties | 259 -
.../build/web/locale/trs/viewer.properties | 184 -
.../build/web/locale/uk/viewer.properties | 257 -
.../build/web/locale/ur/viewer.properties | 218 -
.../build/web/locale/uz/viewer.properties | 142 -
.../build/web/locale/vi/viewer.properties | 257 -
.../build/web/locale/wo/viewer.properties | 104 -
.../build/web/locale/xh/viewer.properties | 156 -
.../build/web/locale/zh-CN/viewer.properties | 259 -
.../build/web/locale/zh-TW/viewer.properties | 259 -
.../web/standard_fonts/FoxitDingbats.pfb | Bin 29513 -> 0 bytes
.../build/web/standard_fonts/FoxitFixed.pfb | Bin 17597 -> 0 bytes
.../web/standard_fonts/FoxitFixedBold.pfb | Bin 18055 -> 0 bytes
.../standard_fonts/FoxitFixedBoldItalic.pfb | Bin 19151 -> 0 bytes
.../web/standard_fonts/FoxitFixedItalic.pfb | Bin 18746 -> 0 bytes
.../build/web/standard_fonts/FoxitSerif.pfb | Bin 19469 -> 0 bytes
.../web/standard_fonts/FoxitSerifBold.pfb | Bin 19395 -> 0 bytes
.../standard_fonts/FoxitSerifBoldItalic.pfb | Bin 20733 -> 0 bytes
.../web/standard_fonts/FoxitSerifItalic.pfb | Bin 21227 -> 0 bytes
.../build/web/standard_fonts/FoxitSymbol.pfb | Bin 16729 -> 0 bytes
.../build/web/standard_fonts/LICENSE_FOXIT | 27 -
.../web/standard_fonts/LICENSE_LIBERATION | 102 -
.../standard_fonts/LiberationSans-Bold.ttf | Bin 137052 -> 0 bytes
.../LiberationSans-BoldItalic.ttf | Bin 135124 -> 0 bytes
.../standard_fonts/LiberationSans-Italic.ttf | Bin 162036 -> 0 bytes
.../standard_fonts/LiberationSans-Regular.ttf | Bin 139512 -> 0 bytes
jero-web/public/pdfjs/build/web/viewer.css | 2781 -
jero-web/public/pdfjs/build/web/viewer.html | 435 -
jero-web/public/pdfjs/build/web/viewer.js | 16571 ----
jero-web/public/pdfjs/build/web/viewer.js.map | 1 -
.../public/pdfjs/web/cmaps/78-EUC-H.bcmap | Bin 2404 -> 0 bytes
.../public/pdfjs/web/cmaps/78-EUC-V.bcmap | Bin 173 -> 0 bytes
jero-web/public/pdfjs/web/cmaps/78-H.bcmap | Bin 2379 -> 0 bytes
.../public/pdfjs/web/cmaps/78-RKSJ-H.bcmap | Bin 2398 -> 0 bytes
.../public/pdfjs/web/cmaps/78-RKSJ-V.bcmap | Bin 173 -> 0 bytes
jero-web/public/pdfjs/web/cmaps/78-V.bcmap | Bin 169 -> 0 bytes
.../public/pdfjs/web/cmaps/78ms-RKSJ-H.bcmap | Bin 2651 -> 0 bytes
.../public/pdfjs/web/cmaps/78ms-RKSJ-V.bcmap | Bin 290 -> 0 bytes
.../public/pdfjs/web/cmaps/83pv-RKSJ-H.bcmap | Bin 905 -> 0 bytes
.../public/pdfjs/web/cmaps/90ms-RKSJ-H.bcmap | Bin 721 -> 0 bytes
.../public/pdfjs/web/cmaps/90ms-RKSJ-V.bcmap | Bin 290 -> 0 bytes
.../public/pdfjs/web/cmaps/90msp-RKSJ-H.bcmap | Bin 715 -> 0 bytes
.../public/pdfjs/web/cmaps/90msp-RKSJ-V.bcmap | Bin 291 -> 0 bytes
.../public/pdfjs/web/cmaps/90pv-RKSJ-H.bcmap | Bin 982 -> 0 bytes
.../public/pdfjs/web/cmaps/90pv-RKSJ-V.bcmap | Bin 260 -> 0 bytes
jero-web/public/pdfjs/web/cmaps/Add-H.bcmap | Bin 2419 -> 0 bytes
.../public/pdfjs/web/cmaps/Add-RKSJ-H.bcmap | Bin 2413 -> 0 bytes
.../public/pdfjs/web/cmaps/Add-RKSJ-V.bcmap | Bin 287 -> 0 bytes
jero-web/public/pdfjs/web/cmaps/Add-V.bcmap | Bin 282 -> 0 bytes
.../public/pdfjs/web/cmaps/Adobe-CNS1-0.bcmap | Bin 317 -> 0 bytes
.../public/pdfjs/web/cmaps/Adobe-CNS1-1.bcmap | Bin 371 -> 0 bytes
.../public/pdfjs/web/cmaps/Adobe-CNS1-2.bcmap | Bin 376 -> 0 bytes
.../public/pdfjs/web/cmaps/Adobe-CNS1-3.bcmap | Bin 401 -> 0 bytes
.../public/pdfjs/web/cmaps/Adobe-CNS1-4.bcmap | Bin 405 -> 0 bytes
.../public/pdfjs/web/cmaps/Adobe-CNS1-5.bcmap | Bin 406 -> 0 bytes
.../public/pdfjs/web/cmaps/Adobe-CNS1-6.bcmap | Bin 406 -> 0 bytes
.../pdfjs/web/cmaps/Adobe-CNS1-UCS2.bcmap | Bin 41193 -> 0 bytes
.../public/pdfjs/web/cmaps/Adobe-GB1-0.bcmap | Bin 217 -> 0 bytes
.../public/pdfjs/web/cmaps/Adobe-GB1-1.bcmap | Bin 250 -> 0 bytes
.../public/pdfjs/web/cmaps/Adobe-GB1-2.bcmap | Bin 465 -> 0 bytes
.../public/pdfjs/web/cmaps/Adobe-GB1-3.bcmap | Bin 470 -> 0 bytes
.../public/pdfjs/web/cmaps/Adobe-GB1-4.bcmap | Bin 601 -> 0 bytes
.../public/pdfjs/web/cmaps/Adobe-GB1-5.bcmap | Bin 625 -> 0 bytes
.../pdfjs/web/cmaps/Adobe-GB1-UCS2.bcmap | Bin 33974 -> 0 bytes
.../pdfjs/web/cmaps/Adobe-Japan1-0.bcmap | Bin 225 -> 0 bytes
.../pdfjs/web/cmaps/Adobe-Japan1-1.bcmap | Bin 226 -> 0 bytes
.../pdfjs/web/cmaps/Adobe-Japan1-2.bcmap | Bin 233 -> 0 bytes
.../pdfjs/web/cmaps/Adobe-Japan1-3.bcmap | Bin 242 -> 0 bytes
.../pdfjs/web/cmaps/Adobe-Japan1-4.bcmap | Bin 337 -> 0 bytes
.../pdfjs/web/cmaps/Adobe-Japan1-5.bcmap | Bin 430 -> 0 bytes
.../pdfjs/web/cmaps/Adobe-Japan1-6.bcmap | Bin 485 -> 0 bytes
.../pdfjs/web/cmaps/Adobe-Japan1-UCS2.bcmap | Bin 40951 -> 0 bytes
.../pdfjs/web/cmaps/Adobe-Korea1-0.bcmap | Bin 241 -> 0 bytes
.../pdfjs/web/cmaps/Adobe-Korea1-1.bcmap | Bin 386 -> 0 bytes
.../pdfjs/web/cmaps/Adobe-Korea1-2.bcmap | Bin 391 -> 0 bytes
.../pdfjs/web/cmaps/Adobe-Korea1-UCS2.bcmap | Bin 23293 -> 0 bytes
jero-web/public/pdfjs/web/cmaps/B5-H.bcmap | Bin 1086 -> 0 bytes
jero-web/public/pdfjs/web/cmaps/B5-V.bcmap | Bin 142 -> 0 bytes
jero-web/public/pdfjs/web/cmaps/B5pc-H.bcmap | Bin 1099 -> 0 bytes
jero-web/public/pdfjs/web/cmaps/B5pc-V.bcmap | Bin 144 -> 0 bytes
.../public/pdfjs/web/cmaps/CNS-EUC-H.bcmap | Bin 1780 -> 0 bytes
.../public/pdfjs/web/cmaps/CNS-EUC-V.bcmap | Bin 1920 -> 0 bytes
jero-web/public/pdfjs/web/cmaps/CNS1-H.bcmap | Bin 706 -> 0 bytes
jero-web/public/pdfjs/web/cmaps/CNS1-V.bcmap | Bin 143 -> 0 bytes
jero-web/public/pdfjs/web/cmaps/CNS2-H.bcmap | Bin 504 -> 0 bytes
jero-web/public/pdfjs/web/cmaps/CNS2-V.bcmap | 3 -
.../public/pdfjs/web/cmaps/ETHK-B5-H.bcmap | Bin 4426 -> 0 bytes
.../public/pdfjs/web/cmaps/ETHK-B5-V.bcmap | Bin 158 -> 0 bytes
.../public/pdfjs/web/cmaps/ETen-B5-H.bcmap | Bin 1125 -> 0 bytes
.../public/pdfjs/web/cmaps/ETen-B5-V.bcmap | Bin 158 -> 0 bytes
.../public/pdfjs/web/cmaps/ETenms-B5-H.bcmap | 3 -
.../public/pdfjs/web/cmaps/ETenms-B5-V.bcmap | Bin 172 -> 0 bytes
jero-web/public/pdfjs/web/cmaps/EUC-H.bcmap | Bin 578 -> 0 bytes
jero-web/public/pdfjs/web/cmaps/EUC-V.bcmap | Bin 170 -> 0 bytes
jero-web/public/pdfjs/web/cmaps/Ext-H.bcmap | Bin 2536 -> 0 bytes
.../public/pdfjs/web/cmaps/Ext-RKSJ-H.bcmap | Bin 2542 -> 0 bytes
.../public/pdfjs/web/cmaps/Ext-RKSJ-V.bcmap | Bin 218 -> 0 bytes
jero-web/public/pdfjs/web/cmaps/Ext-V.bcmap | Bin 215 -> 0 bytes
.../public/pdfjs/web/cmaps/GB-EUC-H.bcmap | Bin 549 -> 0 bytes
.../public/pdfjs/web/cmaps/GB-EUC-V.bcmap | Bin 179 -> 0 bytes
jero-web/public/pdfjs/web/cmaps/GB-H.bcmap | 4 -
jero-web/public/pdfjs/web/cmaps/GB-V.bcmap | Bin 175 -> 0 bytes
.../public/pdfjs/web/cmaps/GBK-EUC-H.bcmap | Bin 14692 -> 0 bytes
.../public/pdfjs/web/cmaps/GBK-EUC-V.bcmap | Bin 180 -> 0 bytes
jero-web/public/pdfjs/web/cmaps/GBK2K-H.bcmap | Bin 19662 -> 0 bytes
jero-web/public/pdfjs/web/cmaps/GBK2K-V.bcmap | Bin 219 -> 0 bytes
.../public/pdfjs/web/cmaps/GBKp-EUC-H.bcmap | Bin 14686 -> 0 bytes
.../public/pdfjs/web/cmaps/GBKp-EUC-V.bcmap | Bin 181 -> 0 bytes
.../public/pdfjs/web/cmaps/GBT-EUC-H.bcmap | Bin 7290 -> 0 bytes
.../public/pdfjs/web/cmaps/GBT-EUC-V.bcmap | Bin 180 -> 0 bytes
jero-web/public/pdfjs/web/cmaps/GBT-H.bcmap | Bin 7269 -> 0 bytes
jero-web/public/pdfjs/web/cmaps/GBT-V.bcmap | Bin 176 -> 0 bytes
.../public/pdfjs/web/cmaps/GBTpc-EUC-H.bcmap | Bin 7298 -> 0 bytes
.../public/pdfjs/web/cmaps/GBTpc-EUC-V.bcmap | Bin 182 -> 0 bytes
.../public/pdfjs/web/cmaps/GBpc-EUC-H.bcmap | Bin 557 -> 0 bytes
.../public/pdfjs/web/cmaps/GBpc-EUC-V.bcmap | Bin 181 -> 0 bytes
jero-web/public/pdfjs/web/cmaps/H.bcmap | Bin 553 -> 0 bytes
.../public/pdfjs/web/cmaps/HKdla-B5-H.bcmap | Bin 2654 -> 0 bytes
.../public/pdfjs/web/cmaps/HKdla-B5-V.bcmap | Bin 148 -> 0 bytes
.../public/pdfjs/web/cmaps/HKdlb-B5-H.bcmap | Bin 2414 -> 0 bytes
.../public/pdfjs/web/cmaps/HKdlb-B5-V.bcmap | Bin 148 -> 0 bytes
.../public/pdfjs/web/cmaps/HKgccs-B5-H.bcmap | Bin 2292 -> 0 bytes
.../public/pdfjs/web/cmaps/HKgccs-B5-V.bcmap | Bin 149 -> 0 bytes
.../public/pdfjs/web/cmaps/HKm314-B5-H.bcmap | Bin 1772 -> 0 bytes
.../public/pdfjs/web/cmaps/HKm314-B5-V.bcmap | Bin 149 -> 0 bytes
.../public/pdfjs/web/cmaps/HKm471-B5-H.bcmap | Bin 2171 -> 0 bytes
.../public/pdfjs/web/cmaps/HKm471-B5-V.bcmap | Bin 149 -> 0 bytes
.../public/pdfjs/web/cmaps/HKscs-B5-H.bcmap | Bin 4437 -> 0 bytes
.../public/pdfjs/web/cmaps/HKscs-B5-V.bcmap | Bin 159 -> 0 bytes
jero-web/public/pdfjs/web/cmaps/Hankaku.bcmap | Bin 132 -> 0 bytes
.../public/pdfjs/web/cmaps/Hiragana.bcmap | Bin 124 -> 0 bytes
.../public/pdfjs/web/cmaps/KSC-EUC-H.bcmap | Bin 1848 -> 0 bytes
.../public/pdfjs/web/cmaps/KSC-EUC-V.bcmap | Bin 164 -> 0 bytes
jero-web/public/pdfjs/web/cmaps/KSC-H.bcmap | Bin 1831 -> 0 bytes
.../public/pdfjs/web/cmaps/KSC-Johab-H.bcmap | Bin 16791 -> 0 bytes
.../public/pdfjs/web/cmaps/KSC-Johab-V.bcmap | Bin 166 -> 0 bytes
jero-web/public/pdfjs/web/cmaps/KSC-V.bcmap | Bin 160 -> 0 bytes
.../public/pdfjs/web/cmaps/KSCms-UHC-H.bcmap | Bin 2787 -> 0 bytes
.../pdfjs/web/cmaps/KSCms-UHC-HW-H.bcmap | Bin 2789 -> 0 bytes
.../pdfjs/web/cmaps/KSCms-UHC-HW-V.bcmap | Bin 169 -> 0 bytes
.../public/pdfjs/web/cmaps/KSCms-UHC-V.bcmap | Bin 166 -> 0 bytes
.../public/pdfjs/web/cmaps/KSCpc-EUC-H.bcmap | Bin 2024 -> 0 bytes
.../public/pdfjs/web/cmaps/KSCpc-EUC-V.bcmap | Bin 166 -> 0 bytes
.../public/pdfjs/web/cmaps/Katakana.bcmap | Bin 100 -> 0 bytes
jero-web/public/pdfjs/web/cmaps/LICENSE | 36 -
jero-web/public/pdfjs/web/cmaps/NWP-H.bcmap | Bin 2765 -> 0 bytes
jero-web/public/pdfjs/web/cmaps/NWP-V.bcmap | Bin 252 -> 0 bytes
jero-web/public/pdfjs/web/cmaps/RKSJ-H.bcmap | Bin 534 -> 0 bytes
jero-web/public/pdfjs/web/cmaps/RKSJ-V.bcmap | Bin 170 -> 0 bytes
jero-web/public/pdfjs/web/cmaps/Roman.bcmap | Bin 96 -> 0 bytes
.../pdfjs/web/cmaps/UniCNS-UCS2-H.bcmap | Bin 48280 -> 0 bytes
.../pdfjs/web/cmaps/UniCNS-UCS2-V.bcmap | Bin 156 -> 0 bytes
.../pdfjs/web/cmaps/UniCNS-UTF16-H.bcmap | Bin 50419 -> 0 bytes
.../pdfjs/web/cmaps/UniCNS-UTF16-V.bcmap | Bin 156 -> 0 bytes
.../pdfjs/web/cmaps/UniCNS-UTF32-H.bcmap | Bin 52679 -> 0 bytes
.../pdfjs/web/cmaps/UniCNS-UTF32-V.bcmap | Bin 160 -> 0 bytes
.../pdfjs/web/cmaps/UniCNS-UTF8-H.bcmap | Bin 53629 -> 0 bytes
.../pdfjs/web/cmaps/UniCNS-UTF8-V.bcmap | Bin 157 -> 0 bytes
.../public/pdfjs/web/cmaps/UniGB-UCS2-H.bcmap | Bin 43366 -> 0 bytes
.../public/pdfjs/web/cmaps/UniGB-UCS2-V.bcmap | Bin 193 -> 0 bytes
.../pdfjs/web/cmaps/UniGB-UTF16-H.bcmap | Bin 44086 -> 0 bytes
.../pdfjs/web/cmaps/UniGB-UTF16-V.bcmap | Bin 178 -> 0 bytes
.../pdfjs/web/cmaps/UniGB-UTF32-H.bcmap | Bin 45738 -> 0 bytes
.../pdfjs/web/cmaps/UniGB-UTF32-V.bcmap | Bin 182 -> 0 bytes
.../public/pdfjs/web/cmaps/UniGB-UTF8-H.bcmap | Bin 46837 -> 0 bytes
.../public/pdfjs/web/cmaps/UniGB-UTF8-V.bcmap | Bin 181 -> 0 bytes
.../pdfjs/web/cmaps/UniJIS-UCS2-H.bcmap | Bin 25439 -> 0 bytes
.../pdfjs/web/cmaps/UniJIS-UCS2-HW-H.bcmap | Bin 119 -> 0 bytes
.../pdfjs/web/cmaps/UniJIS-UCS2-HW-V.bcmap | Bin 680 -> 0 bytes
.../pdfjs/web/cmaps/UniJIS-UCS2-V.bcmap | Bin 664 -> 0 bytes
.../pdfjs/web/cmaps/UniJIS-UTF16-H.bcmap | Bin 39443 -> 0 bytes
.../pdfjs/web/cmaps/UniJIS-UTF16-V.bcmap | Bin 643 -> 0 bytes
.../pdfjs/web/cmaps/UniJIS-UTF32-H.bcmap | Bin 40539 -> 0 bytes
.../pdfjs/web/cmaps/UniJIS-UTF32-V.bcmap | Bin 677 -> 0 bytes
.../pdfjs/web/cmaps/UniJIS-UTF8-H.bcmap | Bin 41695 -> 0 bytes
.../pdfjs/web/cmaps/UniJIS-UTF8-V.bcmap | Bin 678 -> 0 bytes
.../pdfjs/web/cmaps/UniJIS2004-UTF16-H.bcmap | Bin 39534 -> 0 bytes
.../pdfjs/web/cmaps/UniJIS2004-UTF16-V.bcmap | Bin 647 -> 0 bytes
.../pdfjs/web/cmaps/UniJIS2004-UTF32-H.bcmap | Bin 40630 -> 0 bytes
.../pdfjs/web/cmaps/UniJIS2004-UTF32-V.bcmap | Bin 681 -> 0 bytes
.../pdfjs/web/cmaps/UniJIS2004-UTF8-H.bcmap | Bin 41779 -> 0 bytes
.../pdfjs/web/cmaps/UniJIS2004-UTF8-V.bcmap | Bin 682 -> 0 bytes
.../pdfjs/web/cmaps/UniJISPro-UCS2-HW-V.bcmap | Bin 705 -> 0 bytes
.../pdfjs/web/cmaps/UniJISPro-UCS2-V.bcmap | Bin 689 -> 0 bytes
.../pdfjs/web/cmaps/UniJISPro-UTF8-V.bcmap | Bin 726 -> 0 bytes
.../pdfjs/web/cmaps/UniJISX0213-UTF32-H.bcmap | Bin 40517 -> 0 bytes
.../pdfjs/web/cmaps/UniJISX0213-UTF32-V.bcmap | Bin 684 -> 0 bytes
.../web/cmaps/UniJISX02132004-UTF32-H.bcmap | Bin 40608 -> 0 bytes
.../web/cmaps/UniJISX02132004-UTF32-V.bcmap | Bin 688 -> 0 bytes
.../public/pdfjs/web/cmaps/UniKS-UCS2-H.bcmap | Bin 25783 -> 0 bytes
.../public/pdfjs/web/cmaps/UniKS-UCS2-V.bcmap | Bin 178 -> 0 bytes
.../pdfjs/web/cmaps/UniKS-UTF16-H.bcmap | Bin 26327 -> 0 bytes
.../pdfjs/web/cmaps/UniKS-UTF16-V.bcmap | Bin 164 -> 0 bytes
.../pdfjs/web/cmaps/UniKS-UTF32-H.bcmap | Bin 26451 -> 0 bytes
.../pdfjs/web/cmaps/UniKS-UTF32-V.bcmap | Bin 168 -> 0 bytes
.../public/pdfjs/web/cmaps/UniKS-UTF8-H.bcmap | Bin 27790 -> 0 bytes
.../public/pdfjs/web/cmaps/UniKS-UTF8-V.bcmap | Bin 169 -> 0 bytes
jero-web/public/pdfjs/web/cmaps/V.bcmap | Bin 166 -> 0 bytes
.../public/pdfjs/web/cmaps/WP-Symbol.bcmap | Bin 179 -> 0 bytes
.../web/compressed.tracemonkey-pldi-09.pdf | Bin 1016315 -> 0 bytes
jero-web/public/pdfjs/web/debugger.css | 113 -
jero-web/public/pdfjs/web/debugger.js | 612 -
.../pdfjs/web/images/annotation-check.svg | 11 -
.../pdfjs/web/images/annotation-comment.svg | 16 -
.../pdfjs/web/images/annotation-help.svg | 26 -
.../pdfjs/web/images/annotation-insert.svg | 10 -
.../pdfjs/web/images/annotation-key.svg | 11 -
.../web/images/annotation-newparagraph.svg | 11 -
.../pdfjs/web/images/annotation-noicon.svg | 7 -
.../pdfjs/web/images/annotation-note.svg | 42 -
.../pdfjs/web/images/annotation-paperclip.svg | 6 -
.../pdfjs/web/images/annotation-paragraph.svg | 16 -
.../pdfjs/web/images/annotation-pushpin.svg | 7 -
.../web/images/cursor-editorFreeText.svg | 3 -
.../pdfjs/web/images/cursor-editorInk.svg | 4 -
.../pdfjs/web/images/findbarButton-next.svg | 3 -
.../web/images/findbarButton-previous.svg | 3 -
.../public/pdfjs/web/images/loading-dark.svg | 24 -
.../public/pdfjs/web/images/loading-icon.gif | Bin 2545 -> 0 bytes
jero-web/public/pdfjs/web/images/loading.svg | 1 -
...ondaryToolbarButton-documentProperties.svg | 3 -
.../secondaryToolbarButton-firstPage.svg | 3 -
.../secondaryToolbarButton-handTool.svg | 3 -
.../secondaryToolbarButton-lastPage.svg | 3 -
.../secondaryToolbarButton-rotateCcw.svg | 3 -
.../secondaryToolbarButton-rotateCw.svg | 3 -
...econdaryToolbarButton-scrollHorizontal.svg | 3 -
.../secondaryToolbarButton-scrollPage.svg | 3 -
.../secondaryToolbarButton-scrollVertical.svg | 3 -
.../secondaryToolbarButton-scrollWrapped.svg | 3 -
.../secondaryToolbarButton-selectTool.svg | 3 -
.../secondaryToolbarButton-spreadEven.svg | 3 -
.../secondaryToolbarButton-spreadNone.svg | 3 -
.../secondaryToolbarButton-spreadOdd.svg | 3 -
.../web/images/toolbarButton-bookmark.svg | 3 -
.../toolbarButton-currentOutlineItem.svg | 3 -
.../web/images/toolbarButton-download.svg | 4 -
.../images/toolbarButton-editorFreeText.svg | 3 -
.../web/images/toolbarButton-editorInk.svg | 4 -
.../web/images/toolbarButton-menuArrow.svg | 3 -
.../web/images/toolbarButton-openFile.svg | 3 -
.../web/images/toolbarButton-pageDown.svg | 3 -
.../pdfjs/web/images/toolbarButton-pageUp.svg | 3 -
.../images/toolbarButton-presentationMode.svg | 3 -
.../pdfjs/web/images/toolbarButton-print.svg | 3 -
.../pdfjs/web/images/toolbarButton-search.svg | 3 -
.../toolbarButton-secondaryToolbarToggle.svg | 3 -
.../images/toolbarButton-sidebarToggle.svg | 3 -
.../images/toolbarButton-viewAttachments.svg | 3 -
.../web/images/toolbarButton-viewLayers.svg | 3 -
.../web/images/toolbarButton-viewOutline.svg | 3 -
.../images/toolbarButton-viewThumbnail.svg | 3 -
.../pdfjs/web/images/toolbarButton-zoomIn.svg | 3 -
.../web/images/toolbarButton-zoomOut.svg | 3 -
.../pdfjs/web/images/treeitem-collapsed.svg | 1 -
.../pdfjs/web/images/treeitem-expanded.svg | 1 -
.../pdfjs/web/locale/ach/viewer.properties | 200 -
.../pdfjs/web/locale/af/viewer.properties | 177 -
.../pdfjs/web/locale/an/viewer.properties | 243 -
.../pdfjs/web/locale/ar/viewer.properties | 247 -
.../pdfjs/web/locale/ast/viewer.properties | 207 -
.../pdfjs/web/locale/az/viewer.properties | 243 -
.../pdfjs/web/locale/be/viewer.properties | 277 -
.../pdfjs/web/locale/bg/viewer.properties | 235 -
.../pdfjs/web/locale/bn/viewer.properties | 239 -
.../pdfjs/web/locale/bo/viewer.properties | 238 -
.../pdfjs/web/locale/br/viewer.properties | 247 -
.../pdfjs/web/locale/brx/viewer.properties | 205 -
.../pdfjs/web/locale/bs/viewer.properties | 194 -
.../pdfjs/web/locale/ca/viewer.properties | 251 -
.../pdfjs/web/locale/cak/viewer.properties | 249 -
.../pdfjs/web/locale/ckb/viewer.properties | 234 -
.../pdfjs/web/locale/cs/viewer.properties | 277 -
.../pdfjs/web/locale/cy/viewer.properties | 277 -
.../pdfjs/web/locale/da/viewer.properties | 277 -
.../pdfjs/web/locale/de/viewer.properties | 277 -
.../pdfjs/web/locale/dsb/viewer.properties | 274 -
.../pdfjs/web/locale/el/viewer.properties | 278 -
.../pdfjs/web/locale/en-CA/viewer.properties | 274 -
.../pdfjs/web/locale/en-GB/viewer.properties | 277 -
.../pdfjs/web/locale/en-US/viewer.properties | 252 -
.../pdfjs/web/locale/eo/viewer.properties | 274 -
.../pdfjs/web/locale/es-AR/viewer.properties | 277 -
.../pdfjs/web/locale/es-CL/viewer.properties | 277 -
.../pdfjs/web/locale/es-ES/viewer.properties | 277 -
.../pdfjs/web/locale/es-MX/viewer.properties | 277 -
.../pdfjs/web/locale/et/viewer.properties | 262 -
.../pdfjs/web/locale/eu/viewer.properties | 277 -
.../pdfjs/web/locale/fa/viewer.properties | 216 -
.../pdfjs/web/locale/ff/viewer.properties | 235 -
.../pdfjs/web/locale/fi/viewer.properties | 274 -
.../pdfjs/web/locale/fr/viewer.properties | 277 -
.../pdfjs/web/locale/fur/viewer.properties | 277 -
.../pdfjs/web/locale/fy-NL/viewer.properties | 277 -
.../pdfjs/web/locale/ga-IE/viewer.properties | 202 -
.../pdfjs/web/locale/gd/viewer.properties | 249 -
.../pdfjs/web/locale/gl/viewer.properties | 249 -
.../pdfjs/web/locale/gn/viewer.properties | 279 -
.../pdfjs/web/locale/gu-IN/viewer.properties | 235 -
.../pdfjs/web/locale/he/viewer.properties | 276 -
.../pdfjs/web/locale/hi-IN/viewer.properties | 235 -
.../pdfjs/web/locale/hr/viewer.properties | 267 -
.../pdfjs/web/locale/hsb/viewer.properties | 279 -
.../pdfjs/web/locale/hu/viewer.properties | 277 -
.../pdfjs/web/locale/hy-AM/viewer.properties | 239 -
.../pdfjs/web/locale/hye/viewer.properties | 252 -
.../pdfjs/web/locale/ia/viewer.properties | 277 -
.../pdfjs/web/locale/id/viewer.properties | 277 -
.../pdfjs/web/locale/is/viewer.properties | 277 -
.../pdfjs/web/locale/it/viewer.properties | 217 -
.../pdfjs/web/locale/ja/viewer.properties | 277 -
.../pdfjs/web/locale/ka/viewer.properties | 277 -
.../pdfjs/web/locale/kab/viewer.properties | 274 -
.../pdfjs/web/locale/kk/viewer.properties | 277 -
.../pdfjs/web/locale/km/viewer.properties | 210 -
.../pdfjs/web/locale/kn/viewer.properties | 187 -
.../pdfjs/web/locale/ko/viewer.properties | 277 -
.../pdfjs/web/locale/lij/viewer.properties | 235 -
.../pdfjs/web/locale/lo/viewer.properties | 145 -
.../public/pdfjs/web/locale/locale.properties | 333 -
.../pdfjs/web/locale/lt/viewer.properties | 260 -
.../pdfjs/web/locale/ltg/viewer.properties | 213 -
.../pdfjs/web/locale/lv/viewer.properties | 235 -
.../pdfjs/web/locale/meh/viewer.properties | 111 -
.../pdfjs/web/locale/mk/viewer.properties | 139 -
.../pdfjs/web/locale/mr/viewer.properties | 231 -
.../pdfjs/web/locale/ms/viewer.properties | 235 -
.../pdfjs/web/locale/my/viewer.properties | 191 -
.../pdfjs/web/locale/nb-NO/viewer.properties | 277 -
.../pdfjs/web/locale/ne-NP/viewer.properties | 218 -
.../pdfjs/web/locale/nl/viewer.properties | 277 -
.../pdfjs/web/locale/nn-NO/viewer.properties | 277 -
.../pdfjs/web/locale/oc/viewer.properties | 277 -
.../pdfjs/web/locale/pa-IN/viewer.properties | 277 -
.../pdfjs/web/locale/pl/viewer.properties | 277 -
.../pdfjs/web/locale/pt-BR/viewer.properties | 277 -
.../pdfjs/web/locale/pt-PT/viewer.properties | 277 -
.../pdfjs/web/locale/rm/viewer.properties | 277 -
.../pdfjs/web/locale/ro/viewer.properties | 241 -
.../pdfjs/web/locale/ru/viewer.properties | 277 -
.../pdfjs/web/locale/sat/viewer.properties | 198 -
.../pdfjs/web/locale/sc/viewer.properties | 261 -
.../pdfjs/web/locale/scn/viewer.properties | 101 -
.../pdfjs/web/locale/sco/viewer.properties | 249 -
.../pdfjs/web/locale/si/viewer.properties | 237 -
.../pdfjs/web/locale/sk/viewer.properties | 277 -
.../pdfjs/web/locale/skr/viewer.properties | 277 -
.../pdfjs/web/locale/sl/viewer.properties | 277 -
.../pdfjs/web/locale/son/viewer.properties | 173 -
.../pdfjs/web/locale/sq/viewer.properties | 271 -
.../pdfjs/web/locale/sr/viewer.properties | 277 -
.../pdfjs/web/locale/sv-SE/viewer.properties | 277 -
.../pdfjs/web/locale/szl/viewer.properties | 245 -
.../pdfjs/web/locale/ta/viewer.properties | 194 -
.../pdfjs/web/locale/te/viewer.properties | 237 -
.../pdfjs/web/locale/tg/viewer.properties | 276 -
.../pdfjs/web/locale/th/viewer.properties | 276 -
.../pdfjs/web/locale/tl/viewer.properties | 243 -
.../pdfjs/web/locale/tr/viewer.properties | 276 -
.../pdfjs/web/locale/trs/viewer.properties | 206 -
.../pdfjs/web/locale/uk/viewer.properties | 277 -
.../pdfjs/web/locale/ur/viewer.properties | 239 -
.../pdfjs/web/locale/uz/viewer.properties | 163 -
.../pdfjs/web/locale/vi/viewer.properties | 277 -
.../pdfjs/web/locale/wo/viewer.properties | 123 -
.../pdfjs/web/locale/xh/viewer.properties | 177 -
.../pdfjs/web/locale/zh-CN/viewer.properties | 277 -
.../pdfjs/web/locale/zh-TW/viewer.properties | 277 -
.../web/standard_fonts/FoxitDingbats.pfb | Bin 29513 -> 0 bytes
.../pdfjs/web/standard_fonts/FoxitFixed.pfb | Bin 17597 -> 0 bytes
.../web/standard_fonts/FoxitFixedBold.pfb | Bin 18055 -> 0 bytes
.../standard_fonts/FoxitFixedBoldItalic.pfb | Bin 19151 -> 0 bytes
.../web/standard_fonts/FoxitFixedItalic.pfb | Bin 18746 -> 0 bytes
.../pdfjs/web/standard_fonts/FoxitSans.pfb | Bin 15025 -> 0 bytes
.../web/standard_fonts/FoxitSansBold.pfb | Bin 16344 -> 0 bytes
.../standard_fonts/FoxitSansBoldItalic.pfb | Bin 16418 -> 0 bytes
.../web/standard_fonts/FoxitSansItalic.pfb | Bin 16339 -> 0 bytes
.../pdfjs/web/standard_fonts/FoxitSerif.pfb | Bin 19469 -> 0 bytes
.../web/standard_fonts/FoxitSerifBold.pfb | Bin 19395 -> 0 bytes
.../standard_fonts/FoxitSerifBoldItalic.pfb | Bin 20733 -> 0 bytes
.../web/standard_fonts/FoxitSerifItalic.pfb | Bin 21227 -> 0 bytes
.../pdfjs/web/standard_fonts/FoxitSymbol.pfb | Bin 16729 -> 0 bytes
.../pdfjs/web/standard_fonts/LICENSE_FOXIT | 27 -
.../web/standard_fonts/LICENSE_LIBERATION | 102 -
.../standard_fonts/LiberationSans-Bold.ttf | Bin 137052 -> 0 bytes
.../LiberationSans-BoldItalic.ttf | Bin 135124 -> 0 bytes
.../standard_fonts/LiberationSans-Italic.ttf | Bin 162036 -> 0 bytes
.../standard_fonts/LiberationSans-Regular.ttf | Bin 139512 -> 0 bytes
jero-web/public/pdfjs/web/viewer.css | 2696 -
jero-web/public/pdfjs/web/viewer.html | 584 -
jero-web/public/pdfjs/web/viewer.js | 13914 ----
jero-web/public/pdfjs/web/viewer.js.map | 1 -
.../ueditor/ADT/background/background.js | 16 +-
.../public/ueditor/ADT/scrawl/scrawl.html | 8 +-
jero-web/public/v2.js | 1 -
jero-web/src/mixins/ConfigurableTableMixin.js | 17 +-
.../src/mixins/DisabledAuthFilterMixin.js | 19 -
jero-web/src/mixins/JEditableTableMixin.js | 189 -
.../src/mixins/JEditableTableModelMixin.js | 198 -
jero-web/src/mixins/JVxeTableMixin.js | 178 -
jero-web/src/mixins/JVxeTableModelMixin.js | 186 -
jero-web/src/mixins/JeroListMixin.js | 18 +-
jero-web/src/mixins/OnlineCommonUtil.js | 27 -
jero-web/src/mixins/SimpleListMixin.js | 276 -
jero-web/src/mixins/WebsocketMixin.js | 63 -
jero-web/src/mixins/WorkCenterMixin.js | 99 -
jero-web/src/views/onlyoffice/index.vue | 2 +-
.../commonPage/StandardDetailPage.vue | 443 -
.../modules/StandardResolutionSheetModal.vue | 84 -
.../modules/SubmitQuestionModal.vue | 205 -
.../commonPage/modules/UpdateRecordModal.vue | 76 -
.../domesticStandard/DomesticStandardList.vue | 860 -
.../modules/DomesticStandardModal.vue | 138 -
.../modules/DomesticSystemTreeModal.vue | 104 -
.../SelectionDomesticStandardDrawer.vue | 238 -
jero-web/src/views/system/DataLogList.vue | 138 -
jero-web/src/views/system/DepartListSync.vue | 673 -
.../src/views/system/NewPermissionList.vue | 228 -
.../views/system/PermissionDataRuleList.vue | 188 -
jero-web/src/views/system/PermissionList.vue | 205 -
jero-web/src/views/system/RoleUserList.vue | 527 -
jero-web/src/views/system/UserList.vue | 459 -
.../views/system/modules/AddressListLeft.vue | 99 -
.../views/system/modules/AddressListRight.vue | 210 -
.../system/modules/DataLogCompareModal.vue | 164 -
.../src/views/system/modules/DataLogModal.vue | 153 -
.../views/system/modules/DepartAuthModal.vue | 190 -
.../system/modules/DepartDataruleModal.vue | 116 -
.../src/views/system/modules/DepartModal.vue | 223 -
.../src/views/system/modules/DepartWindow.vue | 188 -
.../views/system/modules/PasswordModal.vue | 145 -
.../modules/PermissionDataRuleModal.vue | 171 -
.../views/system/modules/PermissionModal.vue | 379 -
.../views/system/modules/RoleAssignment.vue | 166 -
.../system/modules/RoleDataruleModal.vue | 120 -
.../src/views/system/modules/RoleModal.vue | 161 -
.../system/modules/SelectUserListModal.vue | 290 -
.../views/system/modules/SelectUserModal.vue | 294 -
.../system/modules/SysDepartRoleModal.vue | 157 -
.../views/system/modules/SysPositionModal.vue | 172 -
.../system/modules/SysUserAgentModal.vue | 178 -
.../src/views/system/modules/UserModal.vue | 560 -
.../system/modules/UserRecycleBinModal.vue | 207 -
.../views/system/modules/UserRoleModal.vue | 192 -
.../src/views/system/modules/icon/Icon.less | 35 -
.../src/views/system/modules/icon/Icons.vue | 133 -
791 files changed, 52 insertions(+), 272365 deletions(-)
delete mode 100644 jero-web/public/pdfjs/LICENSE
delete mode 100644 jero-web/public/pdfjs/build/build/pdf.js
delete mode 100644 jero-web/public/pdfjs/build/build/pdf.js.map
delete mode 100644 jero-web/public/pdfjs/build/build/pdf.sandbox.js
delete mode 100644 jero-web/public/pdfjs/build/build/pdf.sandbox.js.map
delete mode 100644 jero-web/public/pdfjs/build/build/pdf.worker.js
delete mode 100644 jero-web/public/pdfjs/build/build/pdf.worker.js.map
delete mode 100644 jero-web/public/pdfjs/build/pdf.js
delete mode 100644 jero-web/public/pdfjs/build/pdf.js.map
delete mode 100644 jero-web/public/pdfjs/build/pdf.sandbox.js
delete mode 100644 jero-web/public/pdfjs/build/pdf.sandbox.js.map
delete mode 100644 jero-web/public/pdfjs/build/pdf.worker.js
delete mode 100644 jero-web/public/pdfjs/build/pdf.worker.js.map
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/78-EUC-H.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/78-EUC-V.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/78-H.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/78-RKSJ-H.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/78-RKSJ-V.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/78-V.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/78ms-RKSJ-H.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/78ms-RKSJ-V.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/83pv-RKSJ-H.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/90ms-RKSJ-H.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/90ms-RKSJ-V.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/90msp-RKSJ-H.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/90msp-RKSJ-V.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/90pv-RKSJ-H.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/90pv-RKSJ-V.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/Add-H.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/Add-RKSJ-H.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/Add-RKSJ-V.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/Add-V.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/Adobe-CNS1-0.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/Adobe-CNS1-1.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/Adobe-CNS1-2.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/Adobe-CNS1-3.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/Adobe-CNS1-4.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/Adobe-CNS1-5.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/Adobe-CNS1-6.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/Adobe-CNS1-UCS2.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/Adobe-GB1-0.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/Adobe-GB1-1.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/Adobe-GB1-2.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/Adobe-GB1-3.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/Adobe-GB1-4.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/Adobe-GB1-5.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/Adobe-GB1-UCS2.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/Adobe-Japan1-0.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/Adobe-Japan1-1.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/Adobe-Japan1-2.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/Adobe-Japan1-3.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/Adobe-Japan1-4.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/Adobe-Japan1-5.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/Adobe-Japan1-6.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/Adobe-Japan1-UCS2.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/Adobe-Korea1-0.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/Adobe-Korea1-1.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/Adobe-Korea1-2.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/Adobe-Korea1-UCS2.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/B5-H.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/B5-V.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/B5pc-H.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/B5pc-V.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/CNS-EUC-H.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/CNS-EUC-V.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/CNS1-H.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/CNS1-V.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/CNS2-H.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/CNS2-V.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/ETHK-B5-H.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/ETHK-B5-V.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/ETen-B5-H.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/ETen-B5-V.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/ETenms-B5-H.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/ETenms-B5-V.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/EUC-H.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/EUC-V.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/Ext-H.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/Ext-RKSJ-H.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/Ext-RKSJ-V.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/Ext-V.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/GB-EUC-H.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/GB-EUC-V.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/GB-H.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/GB-V.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/GBK-EUC-H.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/GBK-EUC-V.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/GBK2K-H.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/GBK2K-V.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/GBKp-EUC-H.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/GBKp-EUC-V.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/GBT-EUC-H.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/GBT-EUC-V.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/GBT-H.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/GBT-V.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/GBTpc-EUC-H.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/GBTpc-EUC-V.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/GBpc-EUC-H.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/GBpc-EUC-V.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/H.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/HKdla-B5-H.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/HKdla-B5-V.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/HKdlb-B5-H.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/HKdlb-B5-V.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/HKgccs-B5-H.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/HKgccs-B5-V.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/HKm314-B5-H.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/HKm314-B5-V.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/HKm471-B5-H.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/HKm471-B5-V.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/HKscs-B5-H.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/HKscs-B5-V.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/Hankaku.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/Hiragana.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/KSC-EUC-H.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/KSC-EUC-V.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/KSC-H.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/KSC-Johab-H.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/KSC-Johab-V.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/KSC-V.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/KSCms-UHC-H.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/KSCms-UHC-HW-H.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/KSCms-UHC-HW-V.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/KSCms-UHC-V.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/KSCpc-EUC-H.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/KSCpc-EUC-V.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/Katakana.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/LICENSE
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/NWP-H.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/NWP-V.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/RKSJ-H.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/RKSJ-V.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/Roman.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/UniCNS-UCS2-H.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/UniCNS-UCS2-V.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/UniCNS-UTF16-H.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/UniCNS-UTF16-V.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/UniCNS-UTF32-H.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/UniCNS-UTF32-V.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/UniCNS-UTF8-H.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/UniCNS-UTF8-V.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/UniGB-UCS2-H.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/UniGB-UCS2-V.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/UniGB-UTF16-H.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/UniGB-UTF16-V.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/UniGB-UTF32-H.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/UniGB-UTF32-V.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/UniGB-UTF8-H.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/UniGB-UTF8-V.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/UniJIS-UCS2-H.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/UniJIS-UCS2-HW-H.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/UniJIS-UCS2-HW-V.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/UniJIS-UCS2-V.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/UniJIS-UTF16-H.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/UniJIS-UTF16-V.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/UniJIS-UTF32-H.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/UniJIS-UTF32-V.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/UniJIS-UTF8-H.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/UniJIS-UTF8-V.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/UniJIS2004-UTF16-H.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/UniJIS2004-UTF16-V.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/UniJIS2004-UTF32-H.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/UniJIS2004-UTF32-V.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/UniJIS2004-UTF8-H.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/UniJIS2004-UTF8-V.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/UniJISPro-UCS2-HW-V.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/UniJISPro-UCS2-V.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/UniJISPro-UTF8-V.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/UniJISX0213-UTF32-H.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/UniJISX0213-UTF32-V.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/UniJISX02132004-UTF32-H.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/UniJISX02132004-UTF32-V.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/UniKS-UCS2-H.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/UniKS-UCS2-V.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/UniKS-UTF16-H.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/UniKS-UTF16-V.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/UniKS-UTF32-H.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/UniKS-UTF32-V.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/UniKS-UTF8-H.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/UniKS-UTF8-V.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/V.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/cmaps/WP-Symbol.bcmap
delete mode 100644 jero-web/public/pdfjs/build/web/compressed.tracemonkey-pldi-09.pdf
delete mode 100644 jero-web/public/pdfjs/build/web/debugger.css
delete mode 100644 jero-web/public/pdfjs/build/web/debugger.js
delete mode 100644 jero-web/public/pdfjs/build/web/images/annotation-check.svg
delete mode 100644 jero-web/public/pdfjs/build/web/images/annotation-comment.svg
delete mode 100644 jero-web/public/pdfjs/build/web/images/annotation-help.svg
delete mode 100644 jero-web/public/pdfjs/build/web/images/annotation-insert.svg
delete mode 100644 jero-web/public/pdfjs/build/web/images/annotation-key.svg
delete mode 100644 jero-web/public/pdfjs/build/web/images/annotation-newparagraph.svg
delete mode 100644 jero-web/public/pdfjs/build/web/images/annotation-noicon.svg
delete mode 100644 jero-web/public/pdfjs/build/web/images/annotation-note.svg
delete mode 100644 jero-web/public/pdfjs/build/web/images/annotation-paperclip.svg
delete mode 100644 jero-web/public/pdfjs/build/web/images/annotation-paragraph.svg
delete mode 100644 jero-web/public/pdfjs/build/web/images/annotation-pushpin.svg
delete mode 100644 jero-web/public/pdfjs/build/web/images/cursor-editorFreeText.svg
delete mode 100644 jero-web/public/pdfjs/build/web/images/cursor-editorInk.svg
delete mode 100644 jero-web/public/pdfjs/build/web/images/findbarButton-next.svg
delete mode 100644 jero-web/public/pdfjs/build/web/images/findbarButton-previous.svg
delete mode 100644 jero-web/public/pdfjs/build/web/images/gv-toolbarButton-download.svg
delete mode 100644 jero-web/public/pdfjs/build/web/images/gv-toolbarButton-openinapp.svg
delete mode 100644 jero-web/public/pdfjs/build/web/images/loading-dark.svg
delete mode 100644 jero-web/public/pdfjs/build/web/images/loading-icon.gif
delete mode 100644 jero-web/public/pdfjs/build/web/images/loading.svg
delete mode 100644 jero-web/public/pdfjs/build/web/images/secondaryToolbarButton-documentProperties.svg
delete mode 100644 jero-web/public/pdfjs/build/web/images/secondaryToolbarButton-firstPage.svg
delete mode 100644 jero-web/public/pdfjs/build/web/images/secondaryToolbarButton-handTool.svg
delete mode 100644 jero-web/public/pdfjs/build/web/images/secondaryToolbarButton-lastPage.svg
delete mode 100644 jero-web/public/pdfjs/build/web/images/secondaryToolbarButton-rotateCcw.svg
delete mode 100644 jero-web/public/pdfjs/build/web/images/secondaryToolbarButton-rotateCw.svg
delete mode 100644 jero-web/public/pdfjs/build/web/images/secondaryToolbarButton-scrollHorizontal.svg
delete mode 100644 jero-web/public/pdfjs/build/web/images/secondaryToolbarButton-scrollPage.svg
delete mode 100644 jero-web/public/pdfjs/build/web/images/secondaryToolbarButton-scrollVertical.svg
delete mode 100644 jero-web/public/pdfjs/build/web/images/secondaryToolbarButton-scrollWrapped.svg
delete mode 100644 jero-web/public/pdfjs/build/web/images/secondaryToolbarButton-selectTool.svg
delete mode 100644 jero-web/public/pdfjs/build/web/images/secondaryToolbarButton-spreadEven.svg
delete mode 100644 jero-web/public/pdfjs/build/web/images/secondaryToolbarButton-spreadNone.svg
delete mode 100644 jero-web/public/pdfjs/build/web/images/secondaryToolbarButton-spreadOdd.svg
delete mode 100644 jero-web/public/pdfjs/build/web/images/toolbarButton-bookmark.svg
delete mode 100644 jero-web/public/pdfjs/build/web/images/toolbarButton-currentOutlineItem.svg
delete mode 100644 jero-web/public/pdfjs/build/web/images/toolbarButton-download.svg
delete mode 100644 jero-web/public/pdfjs/build/web/images/toolbarButton-editorFreeText.svg
delete mode 100644 jero-web/public/pdfjs/build/web/images/toolbarButton-editorInk.svg
delete mode 100644 jero-web/public/pdfjs/build/web/images/toolbarButton-editorStamp.svg
delete mode 100644 jero-web/public/pdfjs/build/web/images/toolbarButton-menuArrow.svg
delete mode 100644 jero-web/public/pdfjs/build/web/images/toolbarButton-openFile.svg
delete mode 100644 jero-web/public/pdfjs/build/web/images/toolbarButton-pageDown.svg
delete mode 100644 jero-web/public/pdfjs/build/web/images/toolbarButton-pageUp.svg
delete mode 100644 jero-web/public/pdfjs/build/web/images/toolbarButton-presentationMode.svg
delete mode 100644 jero-web/public/pdfjs/build/web/images/toolbarButton-print.svg
delete mode 100644 jero-web/public/pdfjs/build/web/images/toolbarButton-search.svg
delete mode 100644 jero-web/public/pdfjs/build/web/images/toolbarButton-secondaryToolbarToggle.svg
delete mode 100644 jero-web/public/pdfjs/build/web/images/toolbarButton-sidebarToggle.svg
delete mode 100644 jero-web/public/pdfjs/build/web/images/toolbarButton-viewAttachments.svg
delete mode 100644 jero-web/public/pdfjs/build/web/images/toolbarButton-viewLayers.svg
delete mode 100644 jero-web/public/pdfjs/build/web/images/toolbarButton-viewOutline.svg
delete mode 100644 jero-web/public/pdfjs/build/web/images/toolbarButton-viewThumbnail.svg
delete mode 100644 jero-web/public/pdfjs/build/web/images/toolbarButton-zoomIn.svg
delete mode 100644 jero-web/public/pdfjs/build/web/images/toolbarButton-zoomOut.svg
delete mode 100644 jero-web/public/pdfjs/build/web/images/treeitem-collapsed.svg
delete mode 100644 jero-web/public/pdfjs/build/web/images/treeitem-expanded.svg
delete mode 100644 jero-web/public/pdfjs/build/web/locale/ach/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/af/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/an/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/ar/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/ast/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/az/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/be/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/bg/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/bn/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/bo/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/br/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/brx/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/bs/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/ca/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/cak/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/ckb/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/cs/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/cy/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/da/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/de/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/dsb/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/el/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/en-CA/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/en-GB/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/en-US/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/eo/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/es-AR/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/es-CL/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/es-ES/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/es-MX/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/et/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/eu/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/fa/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/ff/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/fi/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/fr/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/fur/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/fy-NL/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/ga-IE/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/gd/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/gl/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/gn/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/gu-IN/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/he/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/hi-IN/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/hr/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/hsb/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/hu/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/hy-AM/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/hye/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/ia/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/id/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/is/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/it/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/ja/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/ka/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/kab/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/kk/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/km/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/kn/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/ko/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/lij/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/lo/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/locale.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/lt/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/ltg/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/lv/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/meh/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/mk/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/mr/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/ms/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/my/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/nb-NO/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/ne-NP/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/nl/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/nn-NO/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/oc/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/pa-IN/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/pl/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/pt-BR/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/pt-PT/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/rm/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/ro/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/ru/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/sat/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/sc/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/scn/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/sco/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/si/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/sk/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/skr/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/sl/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/son/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/sq/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/sr/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/sv-SE/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/szl/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/ta/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/te/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/tg/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/th/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/tl/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/tr/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/trs/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/uk/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/ur/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/uz/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/vi/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/wo/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/xh/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/zh-CN/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/locale/zh-TW/viewer.properties
delete mode 100644 jero-web/public/pdfjs/build/web/standard_fonts/FoxitDingbats.pfb
delete mode 100644 jero-web/public/pdfjs/build/web/standard_fonts/FoxitFixed.pfb
delete mode 100644 jero-web/public/pdfjs/build/web/standard_fonts/FoxitFixedBold.pfb
delete mode 100644 jero-web/public/pdfjs/build/web/standard_fonts/FoxitFixedBoldItalic.pfb
delete mode 100644 jero-web/public/pdfjs/build/web/standard_fonts/FoxitFixedItalic.pfb
delete mode 100644 jero-web/public/pdfjs/build/web/standard_fonts/FoxitSerif.pfb
delete mode 100644 jero-web/public/pdfjs/build/web/standard_fonts/FoxitSerifBold.pfb
delete mode 100644 jero-web/public/pdfjs/build/web/standard_fonts/FoxitSerifBoldItalic.pfb
delete mode 100644 jero-web/public/pdfjs/build/web/standard_fonts/FoxitSerifItalic.pfb
delete mode 100644 jero-web/public/pdfjs/build/web/standard_fonts/FoxitSymbol.pfb
delete mode 100644 jero-web/public/pdfjs/build/web/standard_fonts/LICENSE_FOXIT
delete mode 100644 jero-web/public/pdfjs/build/web/standard_fonts/LICENSE_LIBERATION
delete mode 100644 jero-web/public/pdfjs/build/web/standard_fonts/LiberationSans-Bold.ttf
delete mode 100644 jero-web/public/pdfjs/build/web/standard_fonts/LiberationSans-BoldItalic.ttf
delete mode 100644 jero-web/public/pdfjs/build/web/standard_fonts/LiberationSans-Italic.ttf
delete mode 100644 jero-web/public/pdfjs/build/web/standard_fonts/LiberationSans-Regular.ttf
delete mode 100644 jero-web/public/pdfjs/build/web/viewer.css
delete mode 100644 jero-web/public/pdfjs/build/web/viewer.html
delete mode 100644 jero-web/public/pdfjs/build/web/viewer.js
delete mode 100644 jero-web/public/pdfjs/build/web/viewer.js.map
delete mode 100644 jero-web/public/pdfjs/web/cmaps/78-EUC-H.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/78-EUC-V.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/78-H.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/78-RKSJ-H.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/78-RKSJ-V.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/78-V.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/78ms-RKSJ-H.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/78ms-RKSJ-V.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/83pv-RKSJ-H.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/90ms-RKSJ-H.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/90ms-RKSJ-V.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/90msp-RKSJ-H.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/90msp-RKSJ-V.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/90pv-RKSJ-H.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/90pv-RKSJ-V.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/Add-H.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/Add-RKSJ-H.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/Add-RKSJ-V.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/Add-V.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/Adobe-CNS1-0.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/Adobe-CNS1-1.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/Adobe-CNS1-2.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/Adobe-CNS1-3.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/Adobe-CNS1-4.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/Adobe-CNS1-5.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/Adobe-CNS1-6.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/Adobe-CNS1-UCS2.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/Adobe-GB1-0.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/Adobe-GB1-1.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/Adobe-GB1-2.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/Adobe-GB1-3.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/Adobe-GB1-4.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/Adobe-GB1-5.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/Adobe-GB1-UCS2.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/Adobe-Japan1-0.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/Adobe-Japan1-1.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/Adobe-Japan1-2.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/Adobe-Japan1-3.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/Adobe-Japan1-4.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/Adobe-Japan1-5.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/Adobe-Japan1-6.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/Adobe-Japan1-UCS2.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/Adobe-Korea1-0.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/Adobe-Korea1-1.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/Adobe-Korea1-2.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/Adobe-Korea1-UCS2.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/B5-H.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/B5-V.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/B5pc-H.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/B5pc-V.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/CNS-EUC-H.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/CNS-EUC-V.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/CNS1-H.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/CNS1-V.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/CNS2-H.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/CNS2-V.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/ETHK-B5-H.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/ETHK-B5-V.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/ETen-B5-H.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/ETen-B5-V.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/ETenms-B5-H.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/ETenms-B5-V.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/EUC-H.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/EUC-V.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/Ext-H.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/Ext-RKSJ-H.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/Ext-RKSJ-V.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/Ext-V.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/GB-EUC-H.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/GB-EUC-V.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/GB-H.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/GB-V.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/GBK-EUC-H.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/GBK-EUC-V.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/GBK2K-H.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/GBK2K-V.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/GBKp-EUC-H.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/GBKp-EUC-V.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/GBT-EUC-H.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/GBT-EUC-V.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/GBT-H.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/GBT-V.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/GBTpc-EUC-H.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/GBTpc-EUC-V.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/GBpc-EUC-H.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/GBpc-EUC-V.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/H.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/HKdla-B5-H.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/HKdla-B5-V.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/HKdlb-B5-H.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/HKdlb-B5-V.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/HKgccs-B5-H.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/HKgccs-B5-V.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/HKm314-B5-H.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/HKm314-B5-V.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/HKm471-B5-H.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/HKm471-B5-V.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/HKscs-B5-H.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/HKscs-B5-V.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/Hankaku.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/Hiragana.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/KSC-EUC-H.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/KSC-EUC-V.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/KSC-H.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/KSC-Johab-H.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/KSC-Johab-V.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/KSC-V.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/KSCms-UHC-H.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/KSCms-UHC-HW-H.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/KSCms-UHC-HW-V.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/KSCms-UHC-V.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/KSCpc-EUC-H.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/KSCpc-EUC-V.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/Katakana.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/LICENSE
delete mode 100644 jero-web/public/pdfjs/web/cmaps/NWP-H.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/NWP-V.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/RKSJ-H.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/RKSJ-V.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/Roman.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/UniCNS-UCS2-H.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/UniCNS-UCS2-V.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/UniCNS-UTF16-H.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/UniCNS-UTF16-V.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/UniCNS-UTF32-H.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/UniCNS-UTF32-V.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/UniCNS-UTF8-H.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/UniCNS-UTF8-V.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/UniGB-UCS2-H.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/UniGB-UCS2-V.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/UniGB-UTF16-H.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/UniGB-UTF16-V.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/UniGB-UTF32-H.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/UniGB-UTF32-V.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/UniGB-UTF8-H.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/UniGB-UTF8-V.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/UniJIS-UCS2-H.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/UniJIS-UCS2-HW-H.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/UniJIS-UCS2-HW-V.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/UniJIS-UCS2-V.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/UniJIS-UTF16-H.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/UniJIS-UTF16-V.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/UniJIS-UTF32-H.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/UniJIS-UTF32-V.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/UniJIS-UTF8-H.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/UniJIS-UTF8-V.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/UniJIS2004-UTF16-H.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/UniJIS2004-UTF16-V.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/UniJIS2004-UTF32-H.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/UniJIS2004-UTF32-V.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/UniJIS2004-UTF8-H.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/UniJIS2004-UTF8-V.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/UniJISPro-UCS2-HW-V.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/UniJISPro-UCS2-V.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/UniJISPro-UTF8-V.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/UniJISX0213-UTF32-H.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/UniJISX0213-UTF32-V.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/UniJISX02132004-UTF32-H.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/UniJISX02132004-UTF32-V.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/UniKS-UCS2-H.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/UniKS-UCS2-V.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/UniKS-UTF16-H.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/UniKS-UTF16-V.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/UniKS-UTF32-H.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/UniKS-UTF32-V.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/UniKS-UTF8-H.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/UniKS-UTF8-V.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/V.bcmap
delete mode 100644 jero-web/public/pdfjs/web/cmaps/WP-Symbol.bcmap
delete mode 100644 jero-web/public/pdfjs/web/compressed.tracemonkey-pldi-09.pdf
delete mode 100644 jero-web/public/pdfjs/web/debugger.css
delete mode 100644 jero-web/public/pdfjs/web/debugger.js
delete mode 100644 jero-web/public/pdfjs/web/images/annotation-check.svg
delete mode 100644 jero-web/public/pdfjs/web/images/annotation-comment.svg
delete mode 100644 jero-web/public/pdfjs/web/images/annotation-help.svg
delete mode 100644 jero-web/public/pdfjs/web/images/annotation-insert.svg
delete mode 100644 jero-web/public/pdfjs/web/images/annotation-key.svg
delete mode 100644 jero-web/public/pdfjs/web/images/annotation-newparagraph.svg
delete mode 100644 jero-web/public/pdfjs/web/images/annotation-noicon.svg
delete mode 100644 jero-web/public/pdfjs/web/images/annotation-note.svg
delete mode 100644 jero-web/public/pdfjs/web/images/annotation-paperclip.svg
delete mode 100644 jero-web/public/pdfjs/web/images/annotation-paragraph.svg
delete mode 100644 jero-web/public/pdfjs/web/images/annotation-pushpin.svg
delete mode 100644 jero-web/public/pdfjs/web/images/cursor-editorFreeText.svg
delete mode 100644 jero-web/public/pdfjs/web/images/cursor-editorInk.svg
delete mode 100644 jero-web/public/pdfjs/web/images/findbarButton-next.svg
delete mode 100644 jero-web/public/pdfjs/web/images/findbarButton-previous.svg
delete mode 100644 jero-web/public/pdfjs/web/images/loading-dark.svg
delete mode 100644 jero-web/public/pdfjs/web/images/loading-icon.gif
delete mode 100644 jero-web/public/pdfjs/web/images/loading.svg
delete mode 100644 jero-web/public/pdfjs/web/images/secondaryToolbarButton-documentProperties.svg
delete mode 100644 jero-web/public/pdfjs/web/images/secondaryToolbarButton-firstPage.svg
delete mode 100644 jero-web/public/pdfjs/web/images/secondaryToolbarButton-handTool.svg
delete mode 100644 jero-web/public/pdfjs/web/images/secondaryToolbarButton-lastPage.svg
delete mode 100644 jero-web/public/pdfjs/web/images/secondaryToolbarButton-rotateCcw.svg
delete mode 100644 jero-web/public/pdfjs/web/images/secondaryToolbarButton-rotateCw.svg
delete mode 100644 jero-web/public/pdfjs/web/images/secondaryToolbarButton-scrollHorizontal.svg
delete mode 100644 jero-web/public/pdfjs/web/images/secondaryToolbarButton-scrollPage.svg
delete mode 100644 jero-web/public/pdfjs/web/images/secondaryToolbarButton-scrollVertical.svg
delete mode 100644 jero-web/public/pdfjs/web/images/secondaryToolbarButton-scrollWrapped.svg
delete mode 100644 jero-web/public/pdfjs/web/images/secondaryToolbarButton-selectTool.svg
delete mode 100644 jero-web/public/pdfjs/web/images/secondaryToolbarButton-spreadEven.svg
delete mode 100644 jero-web/public/pdfjs/web/images/secondaryToolbarButton-spreadNone.svg
delete mode 100644 jero-web/public/pdfjs/web/images/secondaryToolbarButton-spreadOdd.svg
delete mode 100644 jero-web/public/pdfjs/web/images/toolbarButton-bookmark.svg
delete mode 100644 jero-web/public/pdfjs/web/images/toolbarButton-currentOutlineItem.svg
delete mode 100644 jero-web/public/pdfjs/web/images/toolbarButton-download.svg
delete mode 100644 jero-web/public/pdfjs/web/images/toolbarButton-editorFreeText.svg
delete mode 100644 jero-web/public/pdfjs/web/images/toolbarButton-editorInk.svg
delete mode 100644 jero-web/public/pdfjs/web/images/toolbarButton-menuArrow.svg
delete mode 100644 jero-web/public/pdfjs/web/images/toolbarButton-openFile.svg
delete mode 100644 jero-web/public/pdfjs/web/images/toolbarButton-pageDown.svg
delete mode 100644 jero-web/public/pdfjs/web/images/toolbarButton-pageUp.svg
delete mode 100644 jero-web/public/pdfjs/web/images/toolbarButton-presentationMode.svg
delete mode 100644 jero-web/public/pdfjs/web/images/toolbarButton-print.svg
delete mode 100644 jero-web/public/pdfjs/web/images/toolbarButton-search.svg
delete mode 100644 jero-web/public/pdfjs/web/images/toolbarButton-secondaryToolbarToggle.svg
delete mode 100644 jero-web/public/pdfjs/web/images/toolbarButton-sidebarToggle.svg
delete mode 100644 jero-web/public/pdfjs/web/images/toolbarButton-viewAttachments.svg
delete mode 100644 jero-web/public/pdfjs/web/images/toolbarButton-viewLayers.svg
delete mode 100644 jero-web/public/pdfjs/web/images/toolbarButton-viewOutline.svg
delete mode 100644 jero-web/public/pdfjs/web/images/toolbarButton-viewThumbnail.svg
delete mode 100644 jero-web/public/pdfjs/web/images/toolbarButton-zoomIn.svg
delete mode 100644 jero-web/public/pdfjs/web/images/toolbarButton-zoomOut.svg
delete mode 100644 jero-web/public/pdfjs/web/images/treeitem-collapsed.svg
delete mode 100644 jero-web/public/pdfjs/web/images/treeitem-expanded.svg
delete mode 100644 jero-web/public/pdfjs/web/locale/ach/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/af/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/an/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/ar/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/ast/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/az/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/be/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/bg/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/bn/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/bo/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/br/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/brx/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/bs/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/ca/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/cak/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/ckb/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/cs/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/cy/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/da/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/de/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/dsb/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/el/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/en-CA/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/en-GB/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/en-US/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/eo/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/es-AR/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/es-CL/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/es-ES/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/es-MX/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/et/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/eu/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/fa/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/ff/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/fi/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/fr/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/fur/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/fy-NL/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/ga-IE/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/gd/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/gl/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/gn/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/gu-IN/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/he/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/hi-IN/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/hr/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/hsb/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/hu/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/hy-AM/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/hye/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/ia/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/id/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/is/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/it/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/ja/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/ka/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/kab/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/kk/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/km/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/kn/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/ko/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/lij/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/lo/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/locale.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/lt/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/ltg/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/lv/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/meh/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/mk/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/mr/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/ms/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/my/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/nb-NO/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/ne-NP/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/nl/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/nn-NO/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/oc/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/pa-IN/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/pl/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/pt-BR/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/pt-PT/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/rm/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/ro/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/ru/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/sat/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/sc/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/scn/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/sco/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/si/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/sk/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/skr/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/sl/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/son/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/sq/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/sr/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/sv-SE/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/szl/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/ta/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/te/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/tg/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/th/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/tl/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/tr/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/trs/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/uk/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/ur/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/uz/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/vi/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/wo/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/xh/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/zh-CN/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/locale/zh-TW/viewer.properties
delete mode 100644 jero-web/public/pdfjs/web/standard_fonts/FoxitDingbats.pfb
delete mode 100644 jero-web/public/pdfjs/web/standard_fonts/FoxitFixed.pfb
delete mode 100644 jero-web/public/pdfjs/web/standard_fonts/FoxitFixedBold.pfb
delete mode 100644 jero-web/public/pdfjs/web/standard_fonts/FoxitFixedBoldItalic.pfb
delete mode 100644 jero-web/public/pdfjs/web/standard_fonts/FoxitFixedItalic.pfb
delete mode 100644 jero-web/public/pdfjs/web/standard_fonts/FoxitSans.pfb
delete mode 100644 jero-web/public/pdfjs/web/standard_fonts/FoxitSansBold.pfb
delete mode 100644 jero-web/public/pdfjs/web/standard_fonts/FoxitSansBoldItalic.pfb
delete mode 100644 jero-web/public/pdfjs/web/standard_fonts/FoxitSansItalic.pfb
delete mode 100644 jero-web/public/pdfjs/web/standard_fonts/FoxitSerif.pfb
delete mode 100644 jero-web/public/pdfjs/web/standard_fonts/FoxitSerifBold.pfb
delete mode 100644 jero-web/public/pdfjs/web/standard_fonts/FoxitSerifBoldItalic.pfb
delete mode 100644 jero-web/public/pdfjs/web/standard_fonts/FoxitSerifItalic.pfb
delete mode 100644 jero-web/public/pdfjs/web/standard_fonts/FoxitSymbol.pfb
delete mode 100644 jero-web/public/pdfjs/web/standard_fonts/LICENSE_FOXIT
delete mode 100644 jero-web/public/pdfjs/web/standard_fonts/LICENSE_LIBERATION
delete mode 100644 jero-web/public/pdfjs/web/standard_fonts/LiberationSans-Bold.ttf
delete mode 100644 jero-web/public/pdfjs/web/standard_fonts/LiberationSans-BoldItalic.ttf
delete mode 100644 jero-web/public/pdfjs/web/standard_fonts/LiberationSans-Italic.ttf
delete mode 100644 jero-web/public/pdfjs/web/standard_fonts/LiberationSans-Regular.ttf
delete mode 100644 jero-web/public/pdfjs/web/viewer.css
delete mode 100644 jero-web/public/pdfjs/web/viewer.html
delete mode 100644 jero-web/public/pdfjs/web/viewer.js
delete mode 100644 jero-web/public/pdfjs/web/viewer.js.map
delete mode 100644 jero-web/public/v2.js
delete mode 100644 jero-web/src/mixins/DisabledAuthFilterMixin.js
delete mode 100644 jero-web/src/mixins/JEditableTableMixin.js
delete mode 100644 jero-web/src/mixins/JEditableTableModelMixin.js
delete mode 100644 jero-web/src/mixins/JVxeTableMixin.js
delete mode 100644 jero-web/src/mixins/JVxeTableModelMixin.js
delete mode 100644 jero-web/src/mixins/OnlineCommonUtil.js
delete mode 100644 jero-web/src/mixins/SimpleListMixin.js
delete mode 100644 jero-web/src/mixins/WebsocketMixin.js
delete mode 100644 jero-web/src/mixins/WorkCenterMixin.js
delete mode 100644 jero-web/src/views/standardRegulationLibrary/commonPage/StandardDetailPage.vue
delete mode 100644 jero-web/src/views/standardRegulationLibrary/commonPage/modules/StandardResolutionSheetModal.vue
delete mode 100644 jero-web/src/views/standardRegulationLibrary/commonPage/modules/SubmitQuestionModal.vue
delete mode 100644 jero-web/src/views/standardRegulationLibrary/commonPage/modules/UpdateRecordModal.vue
delete mode 100644 jero-web/src/views/standardRegulationLibrary/domesticStandard/DomesticStandardList.vue
delete mode 100644 jero-web/src/views/standardRegulationLibrary/domesticStandard/modules/DomesticStandardModal.vue
delete mode 100644 jero-web/src/views/standardRegulationLibrary/domesticStandard/modules/DomesticSystemTreeModal.vue
delete mode 100644 jero-web/src/views/standardRegulationLibrary/domesticStandard/modules/SelectionDomesticStandardDrawer.vue
delete mode 100644 jero-web/src/views/system/DataLogList.vue
delete mode 100644 jero-web/src/views/system/DepartListSync.vue
delete mode 100644 jero-web/src/views/system/NewPermissionList.vue
delete mode 100644 jero-web/src/views/system/PermissionDataRuleList.vue
delete mode 100644 jero-web/src/views/system/PermissionList.vue
delete mode 100644 jero-web/src/views/system/RoleUserList.vue
delete mode 100644 jero-web/src/views/system/UserList.vue
delete mode 100644 jero-web/src/views/system/modules/AddressListLeft.vue
delete mode 100644 jero-web/src/views/system/modules/AddressListRight.vue
delete mode 100644 jero-web/src/views/system/modules/DataLogCompareModal.vue
delete mode 100644 jero-web/src/views/system/modules/DataLogModal.vue
delete mode 100644 jero-web/src/views/system/modules/DepartAuthModal.vue
delete mode 100644 jero-web/src/views/system/modules/DepartDataruleModal.vue
delete mode 100644 jero-web/src/views/system/modules/DepartModal.vue
delete mode 100644 jero-web/src/views/system/modules/DepartWindow.vue
delete mode 100644 jero-web/src/views/system/modules/PasswordModal.vue
delete mode 100644 jero-web/src/views/system/modules/PermissionDataRuleModal.vue
delete mode 100644 jero-web/src/views/system/modules/PermissionModal.vue
delete mode 100644 jero-web/src/views/system/modules/RoleAssignment.vue
delete mode 100644 jero-web/src/views/system/modules/RoleDataruleModal.vue
delete mode 100644 jero-web/src/views/system/modules/RoleModal.vue
delete mode 100644 jero-web/src/views/system/modules/SelectUserListModal.vue
delete mode 100644 jero-web/src/views/system/modules/SelectUserModal.vue
delete mode 100644 jero-web/src/views/system/modules/SysDepartRoleModal.vue
delete mode 100644 jero-web/src/views/system/modules/SysPositionModal.vue
delete mode 100644 jero-web/src/views/system/modules/SysUserAgentModal.vue
delete mode 100644 jero-web/src/views/system/modules/UserModal.vue
delete mode 100644 jero-web/src/views/system/modules/UserRecycleBinModal.vue
delete mode 100644 jero-web/src/views/system/modules/UserRoleModal.vue
delete mode 100644 jero-web/src/views/system/modules/icon/Icon.less
delete mode 100644 jero-web/src/views/system/modules/icon/Icons.vue
diff --git a/byd-structuredplugins-serve/laws-single-startup/src/main/resources/application-dev.yml b/byd-structuredplugins-serve/laws-single-startup/src/main/resources/application-dev.yml
index 44f9490..d83d348 100644
--- a/byd-structuredplugins-serve/laws-single-startup/src/main/resources/application-dev.yml
+++ b/byd-structuredplugins-serve/laws-single-startup/src/main/resources/application-dev.yml
@@ -170,12 +170,12 @@ jero:
# 文件限制后缀黑名单
fileSuffixLimits : 0x00,%00,\\00,.jsp,.exe,.php,.asp,.aspx,.jspx,.xml,.html,.js,.sh,.bin,$DATA
# 跨站白名单
- whiteUrls: localhost:62345,localhost:8184,localhost:3334,localhost:3435,localhost:3408,127.0.0.1:8080,127.0.0.1:8081
+ whiteUrls: localhost:62345,localhost:8184,localhost:3334,localhost:3435,localhost:3408,127.0.0.1:8080,127.0.0.1:8081,10.0.3.3:8184
xssExcludedPages: /login,/updatePassword
# cors白名单
notFilter:
# origin地址
- originIp: http://localhost:62345,http://localhost:8184,http://localhost:3334,http://localhost:3435,http://localhost:3408,http://127.0.0.1:8080,http://127.0.0.1:8081
+ originIp: http://localhost:62345,http://localhost:8184,http://localhost:3334,http://localhost:3435,http://localhost:3408,http://127.0.0.1:8080,http://127.0.0.1:8081,http://10.0.3.3:8184
# 加密默认值
password:
pbe:
diff --git a/jero-web/public/pdfjs/LICENSE b/jero-web/public/pdfjs/LICENSE
deleted file mode 100644
index f433b1a..0000000
--- a/jero-web/public/pdfjs/LICENSE
+++ /dev/null
@@ -1,177 +0,0 @@
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
diff --git a/jero-web/public/pdfjs/build/build/pdf.js b/jero-web/public/pdfjs/build/build/pdf.js
deleted file mode 100644
index d99ad57..0000000
--- a/jero-web/public/pdfjs/build/build/pdf.js
+++ /dev/null
@@ -1,22240 +0,0 @@
-/**
- * @licstart The following is the entire license notice for the
- * JavaScript code in this page
- *
- * Copyright 2023 Mozilla Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * @licend The above is the entire license notice for the
- * JavaScript code in this page
- */
-
-(function webpackUniversalModuleDefinition(root, factory) {
- if(typeof exports === 'object' && typeof module === 'object')
- module.exports = factory();
- else if(typeof define === 'function' && define.amd)
- define("pdfjs-dist/build/pdf", [], factory);
- else if(typeof exports === 'object')
- exports["pdfjs-dist/build/pdf"] = factory();
- else
- root["pdfjs-dist/build/pdf"] = root.pdfjsLib = factory();
-})(globalThis, () => {
-return /******/ (() => { // webpackBootstrap
-/******/ var __webpack_modules__ = ([
-/* 0 */,
-/* 1 */
-/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", ({
- value: true
-}));
-exports.VerbosityLevel = exports.Util = exports.UnknownErrorException = exports.UnexpectedResponseException = exports.TextRenderingMode = exports.RenderingIntentFlag = exports.PromiseCapability = exports.PermissionFlag = exports.PasswordResponses = exports.PasswordException = exports.PageActionEventType = exports.OPS = exports.MissingPDFException = exports.MAX_IMAGE_SIZE_TO_CACHE = exports.LINE_FACTOR = exports.LINE_DESCENT_FACTOR = exports.InvalidPDFException = exports.ImageKind = exports.IDENTITY_MATRIX = exports.FormatError = exports.FeatureTest = exports.FONT_IDENTITY_MATRIX = exports.DocumentActionEventType = exports.CMapCompressionType = exports.BaseException = exports.BASELINE_FACTOR = exports.AnnotationType = exports.AnnotationReplyType = exports.AnnotationMode = exports.AnnotationFlag = exports.AnnotationFieldFlag = exports.AnnotationEditorType = exports.AnnotationEditorPrefix = exports.AnnotationEditorParamsType = exports.AnnotationBorderStyleType = exports.AnnotationActionEventType = exports.AbortException = void 0;
-exports.assert = assert;
-exports.bytesToString = bytesToString;
-exports.createValidAbsoluteUrl = createValidAbsoluteUrl;
-exports.getModificationDate = getModificationDate;
-exports.getUuid = getUuid;
-exports.getVerbosityLevel = getVerbosityLevel;
-exports.info = info;
-exports.isArrayBuffer = isArrayBuffer;
-exports.isArrayEqual = isArrayEqual;
-exports.isNodeJS = void 0;
-exports.normalizeUnicode = normalizeUnicode;
-exports.objectFromMap = objectFromMap;
-exports.objectSize = objectSize;
-exports.setVerbosityLevel = setVerbosityLevel;
-exports.shadow = shadow;
-exports.string32 = string32;
-exports.stringToBytes = stringToBytes;
-exports.stringToPDFString = stringToPDFString;
-exports.stringToUTF8String = stringToUTF8String;
-exports.unreachable = unreachable;
-exports.utf8StringToString = utf8StringToString;
-exports.warn = warn;
-__w_pdfjs_require__(2);
-__w_pdfjs_require__(84);
-__w_pdfjs_require__(86);
-__w_pdfjs_require__(87);
-__w_pdfjs_require__(89);
-__w_pdfjs_require__(93);
-__w_pdfjs_require__(101);
-__w_pdfjs_require__(102);
-__w_pdfjs_require__(105);
-__w_pdfjs_require__(107);
-__w_pdfjs_require__(109);
-__w_pdfjs_require__(113);
-__w_pdfjs_require__(116);
-__w_pdfjs_require__(123);
-const isNodeJS = typeof process === "object" && process + "" === "[object process]" && !process.versions.nw && !(process.versions.electron && process.type && process.type !== "browser");
-exports.isNodeJS = isNodeJS;
-const IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0];
-exports.IDENTITY_MATRIX = IDENTITY_MATRIX;
-const FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0];
-exports.FONT_IDENTITY_MATRIX = FONT_IDENTITY_MATRIX;
-const MAX_IMAGE_SIZE_TO_CACHE = 10e6;
-exports.MAX_IMAGE_SIZE_TO_CACHE = MAX_IMAGE_SIZE_TO_CACHE;
-const LINE_FACTOR = 1.35;
-exports.LINE_FACTOR = LINE_FACTOR;
-const LINE_DESCENT_FACTOR = 0.35;
-exports.LINE_DESCENT_FACTOR = LINE_DESCENT_FACTOR;
-const BASELINE_FACTOR = LINE_DESCENT_FACTOR / LINE_FACTOR;
-exports.BASELINE_FACTOR = BASELINE_FACTOR;
-const RenderingIntentFlag = {
- ANY: 0x01,
- DISPLAY: 0x02,
- PRINT: 0x04,
- SAVE: 0x08,
- ANNOTATIONS_FORMS: 0x10,
- ANNOTATIONS_STORAGE: 0x20,
- ANNOTATIONS_DISABLE: 0x40,
- OPLIST: 0x100
-};
-exports.RenderingIntentFlag = RenderingIntentFlag;
-const AnnotationMode = {
- DISABLE: 0,
- ENABLE: 1,
- ENABLE_FORMS: 2,
- ENABLE_STORAGE: 3
-};
-exports.AnnotationMode = AnnotationMode;
-const AnnotationEditorPrefix = "pdfjs_internal_editor_";
-exports.AnnotationEditorPrefix = AnnotationEditorPrefix;
-const AnnotationEditorType = {
- DISABLE: -1,
- NONE: 0,
- FREETEXT: 3,
- STAMP: 13,
- INK: 15
-};
-exports.AnnotationEditorType = AnnotationEditorType;
-const AnnotationEditorParamsType = {
- RESIZE: 1,
- FREETEXT_SIZE: 11,
- FREETEXT_COLOR: 12,
- FREETEXT_OPACITY: 13,
- INK_COLOR: 21,
- INK_THICKNESS: 22,
- INK_OPACITY: 23
-};
-exports.AnnotationEditorParamsType = AnnotationEditorParamsType;
-const PermissionFlag = {
- PRINT: 0x04,
- MODIFY_CONTENTS: 0x08,
- COPY: 0x10,
- MODIFY_ANNOTATIONS: 0x20,
- FILL_INTERACTIVE_FORMS: 0x100,
- COPY_FOR_ACCESSIBILITY: 0x200,
- ASSEMBLE: 0x400,
- PRINT_HIGH_QUALITY: 0x800
-};
-exports.PermissionFlag = PermissionFlag;
-const TextRenderingMode = {
- 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
-};
-exports.TextRenderingMode = TextRenderingMode;
-const ImageKind = {
- GRAYSCALE_1BPP: 1,
- RGB_24BPP: 2,
- RGBA_32BPP: 3
-};
-exports.ImageKind = ImageKind;
-const AnnotationType = {
- 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
-};
-exports.AnnotationType = AnnotationType;
-const AnnotationReplyType = {
- GROUP: "Group",
- REPLY: "R"
-};
-exports.AnnotationReplyType = AnnotationReplyType;
-const AnnotationFlag = {
- INVISIBLE: 0x01,
- HIDDEN: 0x02,
- PRINT: 0x04,
- NOZOOM: 0x08,
- NOROTATE: 0x10,
- NOVIEW: 0x20,
- READONLY: 0x40,
- LOCKED: 0x80,
- TOGGLENOVIEW: 0x100,
- LOCKEDCONTENTS: 0x200
-};
-exports.AnnotationFlag = AnnotationFlag;
-const AnnotationFieldFlag = {
- READONLY: 0x0000001,
- REQUIRED: 0x0000002,
- NOEXPORT: 0x0000004,
- MULTILINE: 0x0001000,
- PASSWORD: 0x0002000,
- NOTOGGLETOOFF: 0x0004000,
- RADIO: 0x0008000,
- PUSHBUTTON: 0x0010000,
- COMBO: 0x0020000,
- EDIT: 0x0040000,
- SORT: 0x0080000,
- FILESELECT: 0x0100000,
- MULTISELECT: 0x0200000,
- DONOTSPELLCHECK: 0x0400000,
- DONOTSCROLL: 0x0800000,
- COMB: 0x1000000,
- RICHTEXT: 0x2000000,
- RADIOSINUNISON: 0x2000000,
- COMMITONSELCHANGE: 0x4000000
-};
-exports.AnnotationFieldFlag = AnnotationFieldFlag;
-const AnnotationBorderStyleType = {
- SOLID: 1,
- DASHED: 2,
- BEVELED: 3,
- INSET: 4,
- UNDERLINE: 5
-};
-exports.AnnotationBorderStyleType = AnnotationBorderStyleType;
-const AnnotationActionEventType = {
- 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"
-};
-exports.AnnotationActionEventType = AnnotationActionEventType;
-const DocumentActionEventType = {
- WC: "WillClose",
- WS: "WillSave",
- DS: "DidSave",
- WP: "WillPrint",
- DP: "DidPrint"
-};
-exports.DocumentActionEventType = DocumentActionEventType;
-const PageActionEventType = {
- O: "PageOpen",
- C: "PageClose"
-};
-exports.PageActionEventType = PageActionEventType;
-const VerbosityLevel = {
- ERRORS: 0,
- WARNINGS: 1,
- INFOS: 5
-};
-exports.VerbosityLevel = VerbosityLevel;
-const CMapCompressionType = {
- NONE: 0,
- BINARY: 1
-};
-exports.CMapCompressionType = CMapCompressionType;
-const OPS = {
- 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
-};
-exports.OPS = OPS;
-const PasswordResponses = {
- NEED_PASSWORD: 1,
- INCORRECT_PASSWORD: 2
-};
-exports.PasswordResponses = PasswordResponses;
-let verbosity = VerbosityLevel.WARNINGS;
-function setVerbosityLevel(level) {
- if (Number.isInteger(level)) {
- verbosity = level;
- }
-}
-function getVerbosityLevel() {
- return verbosity;
-}
-function info(msg) {
- if (verbosity >= VerbosityLevel.INFOS) {
- console.log(`Info: ${msg}`);
- }
-}
-function warn(msg) {
- if (verbosity >= VerbosityLevel.WARNINGS) {
- console.log(`Warning: ${msg}`);
- }
-}
-function unreachable(msg) {
- throw new Error(msg);
-}
-function assert(cond, msg) {
- if (!cond) {
- unreachable(msg);
- }
-}
-function _isValidProtocol(url) {
- switch (url?.protocol) {
- case "http:":
- case "https:":
- case "ftp:":
- case "mailto:":
- case "tel:":
- return true;
- default:
- return false;
- }
-}
-function createValidAbsoluteUrl(url) {
- let baseUrl = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
- let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
- if (!url) {
- return null;
- }
- try {
- if (options && typeof url === "string") {
- if (options.addDefaultProtocol && url.startsWith("www.")) {
- const dots = url.match(/\./g);
- if (dots?.length >= 2) {
- url = `http://${url}`;
- }
- }
- if (options.tryConvertEncoding) {
- try {
- url = stringToUTF8String(url);
- } catch {}
- }
- }
- const absoluteUrl = baseUrl ? new URL(url, baseUrl) : new URL(url);
- if (_isValidProtocol(absoluteUrl)) {
- return absoluteUrl;
- }
- } catch {}
- return null;
-}
-function shadow(obj, prop, value) {
- let nonSerializable = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
- Object.defineProperty(obj, prop, {
- value,
- enumerable: !nonSerializable,
- configurable: true,
- writable: false
- });
- return value;
-}
-const BaseException = function BaseExceptionClosure() {
- function BaseException(message, name) {
- if (this.constructor === BaseException) {
- unreachable("Cannot initialize BaseException.");
- }
- this.message = message;
- this.name = name;
- }
- BaseException.prototype = new Error();
- BaseException.constructor = BaseException;
- return BaseException;
-}();
-exports.BaseException = BaseException;
-class PasswordException extends BaseException {
- constructor(msg, code) {
- super(msg, "PasswordException");
- this.code = code;
- }
-}
-exports.PasswordException = PasswordException;
-class UnknownErrorException extends BaseException {
- constructor(msg, details) {
- super(msg, "UnknownErrorException");
- this.details = details;
- }
-}
-exports.UnknownErrorException = UnknownErrorException;
-class InvalidPDFException extends BaseException {
- constructor(msg) {
- super(msg, "InvalidPDFException");
- }
-}
-exports.InvalidPDFException = InvalidPDFException;
-class MissingPDFException extends BaseException {
- constructor(msg) {
- super(msg, "MissingPDFException");
- }
-}
-exports.MissingPDFException = MissingPDFException;
-class UnexpectedResponseException extends BaseException {
- constructor(msg, status) {
- super(msg, "UnexpectedResponseException");
- this.status = status;
- }
-}
-exports.UnexpectedResponseException = UnexpectedResponseException;
-class FormatError extends BaseException {
- constructor(msg) {
- super(msg, "FormatError");
- }
-}
-exports.FormatError = FormatError;
-class AbortException extends BaseException {
- constructor(msg) {
- super(msg, "AbortException");
- }
-}
-exports.AbortException = AbortException;
-function bytesToString(bytes) {
- if (typeof bytes !== "object" || bytes?.length === undefined) {
- unreachable("Invalid argument for bytesToString");
- }
- const length = bytes.length;
- const MAX_ARGUMENT_COUNT = 8192;
- if (length < MAX_ARGUMENT_COUNT) {
- return String.fromCharCode.apply(null, bytes);
- }
- const strBuf = [];
- for (let i = 0; i < length; i += MAX_ARGUMENT_COUNT) {
- const chunkEnd = Math.min(i + MAX_ARGUMENT_COUNT, length);
- const chunk = bytes.subarray(i, chunkEnd);
- strBuf.push(String.fromCharCode.apply(null, chunk));
- }
- return strBuf.join("");
-}
-function stringToBytes(str) {
- if (typeof str !== "string") {
- unreachable("Invalid argument for stringToBytes");
- }
- const length = str.length;
- const bytes = new Uint8Array(length);
- for (let i = 0; i < length; ++i) {
- bytes[i] = str.charCodeAt(i) & 0xff;
- }
- return bytes;
-}
-function string32(value) {
- return String.fromCharCode(value >> 24 & 0xff, value >> 16 & 0xff, value >> 8 & 0xff, value & 0xff);
-}
-function objectSize(obj) {
- return Object.keys(obj).length;
-}
-function objectFromMap(map) {
- const obj = Object.create(null);
- for (const [key, value] of map) {
- obj[key] = value;
- }
- return obj;
-}
-function isLittleEndian() {
- const buffer8 = new Uint8Array(4);
- buffer8[0] = 1;
- const view32 = new Uint32Array(buffer8.buffer, 0, 1);
- return view32[0] === 1;
-}
-function isEvalSupported() {
- try {
- new Function("");
- return true;
- } catch {
- return false;
- }
-}
-class FeatureTest {
- static get isLittleEndian() {
- return shadow(this, "isLittleEndian", isLittleEndian());
- }
- static get isEvalSupported() {
- return shadow(this, "isEvalSupported", isEvalSupported());
- }
- static get isOffscreenCanvasSupported() {
- return shadow(this, "isOffscreenCanvasSupported", typeof OffscreenCanvas !== "undefined");
- }
- static get platform() {
- if (typeof navigator === "undefined") {
- return shadow(this, "platform", {
- isWin: false,
- isMac: false
- });
- }
- return shadow(this, "platform", {
- isWin: navigator.platform.includes("Win"),
- isMac: navigator.platform.includes("Mac")
- });
- }
-}
-exports.FeatureTest = FeatureTest;
-const hexNumbers = [...Array(256).keys()].map(n => n.toString(16).padStart(2, "0"));
-class Util {
- static makeHexColor(r, g, b) {
- return `#${hexNumbers[r]}${hexNumbers[g]}${hexNumbers[b]}`;
- }
- static scaleMinMax(transform, minMax) {
- let temp;
- if (transform[0]) {
- if (transform[0] < 0) {
- temp = minMax[0];
- minMax[0] = minMax[1];
- minMax[1] = temp;
- }
- minMax[0] *= transform[0];
- minMax[1] *= transform[0];
- if (transform[3] < 0) {
- temp = minMax[2];
- minMax[2] = minMax[3];
- minMax[3] = temp;
- }
- minMax[2] *= transform[3];
- minMax[3] *= transform[3];
- } else {
- temp = minMax[0];
- minMax[0] = minMax[2];
- minMax[2] = temp;
- temp = minMax[1];
- minMax[1] = minMax[3];
- minMax[3] = temp;
- if (transform[1] < 0) {
- temp = minMax[2];
- minMax[2] = minMax[3];
- minMax[3] = temp;
- }
- minMax[2] *= transform[1];
- minMax[3] *= transform[1];
- if (transform[2] < 0) {
- temp = minMax[0];
- minMax[0] = minMax[1];
- minMax[1] = temp;
- }
- minMax[0] *= transform[2];
- minMax[1] *= transform[2];
- }
- minMax[0] += transform[4];
- minMax[1] += transform[4];
- minMax[2] += transform[5];
- minMax[3] += transform[5];
- }
- static transform(m1, m2) {
- return [m1[0] * m2[0] + m1[2] * m2[1], m1[1] * m2[0] + m1[3] * m2[1], m1[0] * m2[2] + m1[2] * m2[3], m1[1] * m2[2] + m1[3] * m2[3], m1[0] * m2[4] + m1[2] * m2[5] + m1[4], m1[1] * m2[4] + m1[3] * m2[5] + m1[5]];
- }
- static applyTransform(p, m) {
- const xt = p[0] * m[0] + p[1] * m[2] + m[4];
- const yt = p[0] * m[1] + p[1] * m[3] + m[5];
- return [xt, yt];
- }
- static applyInverseTransform(p, m) {
- const d = m[0] * m[3] - m[1] * m[2];
- const xt = (p[0] * m[3] - p[1] * m[2] + m[2] * m[5] - m[4] * m[3]) / d;
- const yt = (-p[0] * m[1] + p[1] * m[0] + m[4] * m[1] - m[5] * m[0]) / d;
- return [xt, yt];
- }
- static getAxialAlignedBoundingBox(r, m) {
- const p1 = this.applyTransform(r, m);
- const p2 = this.applyTransform(r.slice(2, 4), m);
- const p3 = this.applyTransform([r[0], r[3]], m);
- const p4 = this.applyTransform([r[2], r[1]], m);
- return [Math.min(p1[0], p2[0], p3[0], p4[0]), Math.min(p1[1], p2[1], p3[1], p4[1]), Math.max(p1[0], p2[0], p3[0], p4[0]), Math.max(p1[1], p2[1], p3[1], p4[1])];
- }
- static inverseTransform(m) {
- const d = m[0] * m[3] - m[1] * m[2];
- return [m[3] / d, -m[1] / d, -m[2] / d, m[0] / d, (m[2] * m[5] - m[4] * m[3]) / d, (m[4] * m[1] - m[5] * m[0]) / d];
- }
- static singularValueDecompose2dScale(m) {
- const transpose = [m[0], m[2], m[1], m[3]];
- const a = m[0] * transpose[0] + m[1] * transpose[2];
- const b = m[0] * transpose[1] + m[1] * transpose[3];
- const c = m[2] * transpose[0] + m[3] * transpose[2];
- const d = m[2] * transpose[1] + m[3] * transpose[3];
- const first = (a + d) / 2;
- const second = Math.sqrt((a + d) ** 2 - 4 * (a * d - c * b)) / 2;
- const sx = first + second || 1;
- const sy = first - second || 1;
- return [Math.sqrt(sx), Math.sqrt(sy)];
- }
- static normalizeRect(rect) {
- const r = rect.slice(0);
- if (rect[0] > rect[2]) {
- r[0] = rect[2];
- r[2] = rect[0];
- }
- if (rect[1] > rect[3]) {
- r[1] = rect[3];
- r[3] = rect[1];
- }
- return r;
- }
- static intersect(rect1, rect2) {
- const xLow = Math.max(Math.min(rect1[0], rect1[2]), Math.min(rect2[0], rect2[2]));
- const xHigh = Math.min(Math.max(rect1[0], rect1[2]), Math.max(rect2[0], rect2[2]));
- if (xLow > xHigh) {
- return null;
- }
- const yLow = Math.max(Math.min(rect1[1], rect1[3]), Math.min(rect2[1], rect2[3]));
- const yHigh = Math.min(Math.max(rect1[1], rect1[3]), Math.max(rect2[1], rect2[3]));
- if (yLow > yHigh) {
- return null;
- }
- return [xLow, yLow, xHigh, yHigh];
- }
- static bezierBoundingBox(x0, y0, x1, y1, x2, y2, x3, y3) {
- const tvalues = [],
- bounds = [[], []];
- let a, b, c, t, t1, t2, b2ac, sqrtb2ac;
- for (let i = 0; i < 2; ++i) {
- if (i === 0) {
- b = 6 * x0 - 12 * x1 + 6 * x2;
- a = -3 * x0 + 9 * x1 - 9 * x2 + 3 * x3;
- c = 3 * x1 - 3 * x0;
- } else {
- b = 6 * y0 - 12 * y1 + 6 * y2;
- a = -3 * y0 + 9 * y1 - 9 * y2 + 3 * y3;
- c = 3 * y1 - 3 * y0;
- }
- if (Math.abs(a) < 1e-12) {
- if (Math.abs(b) < 1e-12) {
- continue;
- }
- t = -c / b;
- if (0 < t && t < 1) {
- tvalues.push(t);
- }
- continue;
- }
- b2ac = b * b - 4 * c * a;
- sqrtb2ac = Math.sqrt(b2ac);
- if (b2ac < 0) {
- continue;
- }
- t1 = (-b + sqrtb2ac) / (2 * a);
- if (0 < t1 && t1 < 1) {
- tvalues.push(t1);
- }
- t2 = (-b - sqrtb2ac) / (2 * a);
- if (0 < t2 && t2 < 1) {
- tvalues.push(t2);
- }
- }
- let j = tvalues.length,
- mt;
- const jlen = j;
- while (j--) {
- t = tvalues[j];
- mt = 1 - t;
- bounds[0][j] = mt * mt * mt * x0 + 3 * mt * mt * t * x1 + 3 * mt * t * t * x2 + t * t * t * x3;
- bounds[1][j] = mt * mt * mt * y0 + 3 * mt * mt * t * y1 + 3 * mt * t * t * y2 + t * t * t * y3;
- }
- bounds[0][jlen] = x0;
- bounds[1][jlen] = y0;
- bounds[0][jlen + 1] = x3;
- bounds[1][jlen + 1] = y3;
- bounds[0].length = bounds[1].length = jlen + 2;
- return [Math.min(...bounds[0]), Math.min(...bounds[1]), Math.max(...bounds[0]), Math.max(...bounds[1])];
- }
-}
-exports.Util = Util;
-const PDFStringTranslateTable = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2d8, 0x2c7, 0x2c6, 0x2d9, 0x2dd, 0x2db, 0x2da, 0x2dc, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2022, 0x2020, 0x2021, 0x2026, 0x2014, 0x2013, 0x192, 0x2044, 0x2039, 0x203a, 0x2212, 0x2030, 0x201e, 0x201c, 0x201d, 0x2018, 0x2019, 0x201a, 0x2122, 0xfb01, 0xfb02, 0x141, 0x152, 0x160, 0x178, 0x17d, 0x131, 0x142, 0x153, 0x161, 0x17e, 0, 0x20ac];
-function stringToPDFString(str) {
- if (str[0] >= "\xEF") {
- let encoding;
- if (str[0] === "\xFE" && str[1] === "\xFF") {
- encoding = "utf-16be";
- } else if (str[0] === "\xFF" && str[1] === "\xFE") {
- encoding = "utf-16le";
- } else if (str[0] === "\xEF" && str[1] === "\xBB" && str[2] === "\xBF") {
- encoding = "utf-8";
- }
- if (encoding) {
- try {
- const decoder = new TextDecoder(encoding, {
- fatal: true
- });
- const buffer = stringToBytes(str);
- return decoder.decode(buffer);
- } catch (ex) {
- warn(`stringToPDFString: "${ex}".`);
- }
- }
- }
- const strBuf = [];
- for (let i = 0, ii = str.length; i < ii; i++) {
- const code = PDFStringTranslateTable[str.charCodeAt(i)];
- strBuf.push(code ? String.fromCharCode(code) : str.charAt(i));
- }
- return strBuf.join("");
-}
-function stringToUTF8String(str) {
- return decodeURIComponent(escape(str));
-}
-function utf8StringToString(str) {
- return unescape(encodeURIComponent(str));
-}
-function isArrayBuffer(v) {
- return typeof v === "object" && v?.byteLength !== undefined;
-}
-function isArrayEqual(arr1, arr2) {
- if (arr1.length !== arr2.length) {
- return false;
- }
- for (let i = 0, ii = arr1.length; i < ii; i++) {
- if (arr1[i] !== arr2[i]) {
- return false;
- }
- }
- return true;
-}
-function getModificationDate() {
- let date = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : new Date();
- const buffer = [date.getUTCFullYear().toString(), (date.getUTCMonth() + 1).toString().padStart(2, "0"), date.getUTCDate().toString().padStart(2, "0"), date.getUTCHours().toString().padStart(2, "0"), date.getUTCMinutes().toString().padStart(2, "0"), date.getUTCSeconds().toString().padStart(2, "0")];
- return buffer.join("");
-}
-class PromiseCapability {
- #settled = false;
- constructor() {
- this.promise = new Promise((resolve, reject) => {
- this.resolve = data => {
- this.#settled = true;
- resolve(data);
- };
- this.reject = reason => {
- this.#settled = true;
- reject(reason);
- };
- });
- }
- get settled() {
- return this.#settled;
- }
-}
-exports.PromiseCapability = PromiseCapability;
-let NormalizeRegex = null;
-let NormalizationMap = null;
-function normalizeUnicode(str) {
- if (!NormalizeRegex) {
- NormalizeRegex = /([\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;
- NormalizationMap = new Map([["ſt", "ſt"]]);
- }
- return str.replaceAll(NormalizeRegex, (_, p1, p2) => {
- return p1 ? p1.normalize("NFKC") : NormalizationMap.get(p2);
- });
-}
-function getUuid() {
- if (typeof crypto !== "undefined" && typeof crypto?.randomUUID === "function") {
- return crypto.randomUUID();
- }
- const buf = new Uint8Array(32);
- if (typeof crypto !== "undefined" && typeof crypto?.getRandomValues === "function") {
- crypto.getRandomValues(buf);
- } else {
- for (let i = 0; i < 32; i++) {
- buf[i] = Math.floor(Math.random() * 255);
- }
- }
- return bytesToString(buf);
-}
-
-/***/ }),
-/* 2 */
-/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var $ = __w_pdfjs_require__(3);
-var global = __w_pdfjs_require__(4);
-var apply = __w_pdfjs_require__(69);
-var wrapErrorConstructorWithCause = __w_pdfjs_require__(70);
-var WEB_ASSEMBLY = 'WebAssembly';
-var WebAssembly = global[WEB_ASSEMBLY];
-var FORCED = Error('e', { cause: 7 }).cause !== 7;
-var exportGlobalErrorCauseWrapper = function (ERROR_NAME, wrapper) {
- var O = {};
- O[ERROR_NAME] = wrapErrorConstructorWithCause(ERROR_NAME, wrapper, FORCED);
- $({
- global: true,
- constructor: true,
- arity: 1,
- forced: FORCED
- }, O);
-};
-var exportWebAssemblyErrorCauseWrapper = function (ERROR_NAME, wrapper) {
- if (WebAssembly && WebAssembly[ERROR_NAME]) {
- var O = {};
- O[ERROR_NAME] = wrapErrorConstructorWithCause(WEB_ASSEMBLY + '.' + ERROR_NAME, wrapper, FORCED);
- $({
- target: WEB_ASSEMBLY,
- stat: true,
- constructor: true,
- arity: 1,
- forced: FORCED
- }, O);
- }
-};
-exportGlobalErrorCauseWrapper('Error', function (init) {
- return function Error(message) {
- return apply(init, this, arguments);
- };
-});
-exportGlobalErrorCauseWrapper('EvalError', function (init) {
- return function EvalError(message) {
- return apply(init, this, arguments);
- };
-});
-exportGlobalErrorCauseWrapper('RangeError', function (init) {
- return function RangeError(message) {
- return apply(init, this, arguments);
- };
-});
-exportGlobalErrorCauseWrapper('ReferenceError', function (init) {
- return function ReferenceError(message) {
- return apply(init, this, arguments);
- };
-});
-exportGlobalErrorCauseWrapper('SyntaxError', function (init) {
- return function SyntaxError(message) {
- return apply(init, this, arguments);
- };
-});
-exportGlobalErrorCauseWrapper('TypeError', function (init) {
- return function TypeError(message) {
- return apply(init, this, arguments);
- };
-});
-exportGlobalErrorCauseWrapper('URIError', function (init) {
- return function URIError(message) {
- return apply(init, this, arguments);
- };
-});
-exportWebAssemblyErrorCauseWrapper('CompileError', function (init) {
- return function CompileError(message) {
- return apply(init, this, arguments);
- };
-});
-exportWebAssemblyErrorCauseWrapper('LinkError', function (init) {
- return function LinkError(message) {
- return apply(init, this, arguments);
- };
-});
-exportWebAssemblyErrorCauseWrapper('RuntimeError', function (init) {
- return function RuntimeError(message) {
- return apply(init, this, arguments);
- };
-});
-
-/***/ }),
-/* 3 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var global = __w_pdfjs_require__(4);
-var getOwnPropertyDescriptor = (__w_pdfjs_require__(5).f);
-var createNonEnumerableProperty = __w_pdfjs_require__(44);
-var defineBuiltIn = __w_pdfjs_require__(48);
-var defineGlobalProperty = __w_pdfjs_require__(38);
-var copyConstructorProperties = __w_pdfjs_require__(56);
-var isForced = __w_pdfjs_require__(68);
-module.exports = function (options, source) {
- var TARGET = options.target;
- var GLOBAL = options.global;
- var STATIC = options.stat;
- var FORCED, target, key, targetProperty, sourceProperty, descriptor;
- if (GLOBAL) {
- target = global;
- } else if (STATIC) {
- target = global[TARGET] || defineGlobalProperty(TARGET, {});
- } else {
- target = (global[TARGET] || {}).prototype;
- }
- if (target)
- for (key in source) {
- sourceProperty = source[key];
- if (options.dontCallGetSet) {
- descriptor = getOwnPropertyDescriptor(target, key);
- targetProperty = descriptor && descriptor.value;
- } else
- targetProperty = target[key];
- FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
- if (!FORCED && targetProperty !== undefined) {
- if (typeof sourceProperty == typeof targetProperty)
- continue;
- copyConstructorProperties(sourceProperty, targetProperty);
- }
- if (options.sham || targetProperty && targetProperty.sham) {
- createNonEnumerableProperty(sourceProperty, 'sham', true);
- }
- defineBuiltIn(target, key, sourceProperty, options);
- }
-};
-
-/***/ }),
-/* 4 */
-/***/ (function(module) {
-
-var check = function (it) {
- return it && it.Math == Math && it;
-};
-module.exports = check(typeof globalThis == 'object' && globalThis) || check(typeof window == 'object' && window) || check(typeof self == 'object' && self) || check(typeof global == 'object' && global) || (function () {
- return this;
-}()) || this || Function('return this')();
-
-/***/ }),
-/* 5 */
-/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {
-
-var DESCRIPTORS = __w_pdfjs_require__(6);
-var call = __w_pdfjs_require__(8);
-var propertyIsEnumerableModule = __w_pdfjs_require__(10);
-var createPropertyDescriptor = __w_pdfjs_require__(11);
-var toIndexedObject = __w_pdfjs_require__(12);
-var toPropertyKey = __w_pdfjs_require__(18);
-var hasOwn = __w_pdfjs_require__(39);
-var IE8_DOM_DEFINE = __w_pdfjs_require__(42);
-var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-exports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
- O = toIndexedObject(O);
- P = toPropertyKey(P);
- if (IE8_DOM_DEFINE)
- try {
- return $getOwnPropertyDescriptor(O, P);
- } catch (error) {
- }
- if (hasOwn(O, P))
- return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);
-};
-
-/***/ }),
-/* 6 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var fails = __w_pdfjs_require__(7);
-module.exports = !fails(function () {
- return Object.defineProperty({}, 1, {
- get: function () {
- return 7;
- }
- })[1] != 7;
-});
-
-/***/ }),
-/* 7 */
-/***/ ((module) => {
-
-module.exports = function (exec) {
- try {
- return !!exec();
- } catch (error) {
- return true;
- }
-};
-
-/***/ }),
-/* 8 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var NATIVE_BIND = __w_pdfjs_require__(9);
-var call = Function.prototype.call;
-module.exports = NATIVE_BIND ? call.bind(call) : function () {
- return call.apply(call, arguments);
-};
-
-/***/ }),
-/* 9 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var fails = __w_pdfjs_require__(7);
-module.exports = !fails(function () {
- var test = function () {
- }.bind();
- return typeof test != 'function' || test.hasOwnProperty('prototype');
-});
-
-/***/ }),
-/* 10 */
-/***/ ((__unused_webpack_module, exports) => {
-
-"use strict";
-
-var $propertyIsEnumerable = {}.propertyIsEnumerable;
-var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-var NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);
-exports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {
- var descriptor = getOwnPropertyDescriptor(this, V);
- return !!descriptor && descriptor.enumerable;
-} : $propertyIsEnumerable;
-
-/***/ }),
-/* 11 */
-/***/ ((module) => {
-
-module.exports = function (bitmap, value) {
- return {
- enumerable: !(bitmap & 1),
- configurable: !(bitmap & 2),
- writable: !(bitmap & 4),
- value: value
- };
-};
-
-/***/ }),
-/* 12 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var IndexedObject = __w_pdfjs_require__(13);
-var requireObjectCoercible = __w_pdfjs_require__(16);
-module.exports = function (it) {
- return IndexedObject(requireObjectCoercible(it));
-};
-
-/***/ }),
-/* 13 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var uncurryThis = __w_pdfjs_require__(14);
-var fails = __w_pdfjs_require__(7);
-var classof = __w_pdfjs_require__(15);
-var $Object = Object;
-var split = uncurryThis(''.split);
-module.exports = fails(function () {
- return !$Object('z').propertyIsEnumerable(0);
-}) ? function (it) {
- return classof(it) == 'String' ? split(it, '') : $Object(it);
-} : $Object;
-
-/***/ }),
-/* 14 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var NATIVE_BIND = __w_pdfjs_require__(9);
-var FunctionPrototype = Function.prototype;
-var call = FunctionPrototype.call;
-var uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);
-module.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {
- return function () {
- return call.apply(fn, arguments);
- };
-};
-
-/***/ }),
-/* 15 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var uncurryThis = __w_pdfjs_require__(14);
-var toString = uncurryThis({}.toString);
-var stringSlice = uncurryThis(''.slice);
-module.exports = function (it) {
- return stringSlice(toString(it), 8, -1);
-};
-
-/***/ }),
-/* 16 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var isNullOrUndefined = __w_pdfjs_require__(17);
-var $TypeError = TypeError;
-module.exports = function (it) {
- if (isNullOrUndefined(it))
- throw $TypeError("Can't call method on " + it);
- return it;
-};
-
-/***/ }),
-/* 17 */
-/***/ ((module) => {
-
-module.exports = function (it) {
- return it === null || it === undefined;
-};
-
-/***/ }),
-/* 18 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var toPrimitive = __w_pdfjs_require__(19);
-var isSymbol = __w_pdfjs_require__(23);
-module.exports = function (argument) {
- var key = toPrimitive(argument, 'string');
- return isSymbol(key) ? key : key + '';
-};
-
-/***/ }),
-/* 19 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var call = __w_pdfjs_require__(8);
-var isObject = __w_pdfjs_require__(20);
-var isSymbol = __w_pdfjs_require__(23);
-var getMethod = __w_pdfjs_require__(30);
-var ordinaryToPrimitive = __w_pdfjs_require__(33);
-var wellKnownSymbol = __w_pdfjs_require__(34);
-var $TypeError = TypeError;
-var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');
-module.exports = function (input, pref) {
- if (!isObject(input) || isSymbol(input))
- return input;
- var exoticToPrim = getMethod(input, TO_PRIMITIVE);
- var result;
- if (exoticToPrim) {
- if (pref === undefined)
- pref = 'default';
- result = call(exoticToPrim, input, pref);
- if (!isObject(result) || isSymbol(result))
- return result;
- throw $TypeError("Can't convert object to primitive value");
- }
- if (pref === undefined)
- pref = 'number';
- return ordinaryToPrimitive(input, pref);
-};
-
-/***/ }),
-/* 20 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var isCallable = __w_pdfjs_require__(21);
-var $documentAll = __w_pdfjs_require__(22);
-var documentAll = $documentAll.all;
-module.exports = $documentAll.IS_HTMLDDA ? function (it) {
- return typeof it == 'object' ? it !== null : isCallable(it) || it === documentAll;
-} : function (it) {
- return typeof it == 'object' ? it !== null : isCallable(it);
-};
-
-/***/ }),
-/* 21 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var $documentAll = __w_pdfjs_require__(22);
-var documentAll = $documentAll.all;
-module.exports = $documentAll.IS_HTMLDDA ? function (argument) {
- return typeof argument == 'function' || argument === documentAll;
-} : function (argument) {
- return typeof argument == 'function';
-};
-
-/***/ }),
-/* 22 */
-/***/ ((module) => {
-
-var documentAll = typeof document == 'object' && document.all;
-var IS_HTMLDDA = typeof documentAll == 'undefined' && documentAll !== undefined;
-module.exports = {
- all: documentAll,
- IS_HTMLDDA: IS_HTMLDDA
-};
-
-/***/ }),
-/* 23 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var getBuiltIn = __w_pdfjs_require__(24);
-var isCallable = __w_pdfjs_require__(21);
-var isPrototypeOf = __w_pdfjs_require__(25);
-var USE_SYMBOL_AS_UID = __w_pdfjs_require__(26);
-var $Object = Object;
-module.exports = USE_SYMBOL_AS_UID ? function (it) {
- return typeof it == 'symbol';
-} : function (it) {
- var $Symbol = getBuiltIn('Symbol');
- return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));
-};
-
-/***/ }),
-/* 24 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var global = __w_pdfjs_require__(4);
-var isCallable = __w_pdfjs_require__(21);
-var aFunction = function (argument) {
- return isCallable(argument) ? argument : undefined;
-};
-module.exports = function (namespace, method) {
- return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];
-};
-
-/***/ }),
-/* 25 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var uncurryThis = __w_pdfjs_require__(14);
-module.exports = uncurryThis({}.isPrototypeOf);
-
-/***/ }),
-/* 26 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var NATIVE_SYMBOL = __w_pdfjs_require__(27);
-module.exports = NATIVE_SYMBOL && !Symbol.sham && typeof Symbol.iterator == 'symbol';
-
-/***/ }),
-/* 27 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var V8_VERSION = __w_pdfjs_require__(28);
-var fails = __w_pdfjs_require__(7);
-var global = __w_pdfjs_require__(4);
-var $String = global.String;
-module.exports = !!Object.getOwnPropertySymbols && !fails(function () {
- var symbol = Symbol();
- return !$String(symbol) || !(Object(symbol) instanceof Symbol) || !Symbol.sham && V8_VERSION && V8_VERSION < 41;
-});
-
-/***/ }),
-/* 28 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var global = __w_pdfjs_require__(4);
-var userAgent = __w_pdfjs_require__(29);
-var process = global.process;
-var Deno = global.Deno;
-var versions = process && process.versions || Deno && Deno.version;
-var v8 = versions && versions.v8;
-var match, version;
-if (v8) {
- match = v8.split('.');
- version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);
-}
-if (!version && userAgent) {
- match = userAgent.match(/Edge\/(\d+)/);
- if (!match || match[1] >= 74) {
- match = userAgent.match(/Chrome\/(\d+)/);
- if (match)
- version = +match[1];
- }
-}
-module.exports = version;
-
-/***/ }),
-/* 29 */
-/***/ ((module) => {
-
-module.exports = typeof navigator != 'undefined' && String(navigator.userAgent) || '';
-
-/***/ }),
-/* 30 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var aCallable = __w_pdfjs_require__(31);
-var isNullOrUndefined = __w_pdfjs_require__(17);
-module.exports = function (V, P) {
- var func = V[P];
- return isNullOrUndefined(func) ? undefined : aCallable(func);
-};
-
-/***/ }),
-/* 31 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var isCallable = __w_pdfjs_require__(21);
-var tryToString = __w_pdfjs_require__(32);
-var $TypeError = TypeError;
-module.exports = function (argument) {
- if (isCallable(argument))
- return argument;
- throw $TypeError(tryToString(argument) + ' is not a function');
-};
-
-/***/ }),
-/* 32 */
-/***/ ((module) => {
-
-var $String = String;
-module.exports = function (argument) {
- try {
- return $String(argument);
- } catch (error) {
- return 'Object';
- }
-};
-
-/***/ }),
-/* 33 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var call = __w_pdfjs_require__(8);
-var isCallable = __w_pdfjs_require__(21);
-var isObject = __w_pdfjs_require__(20);
-var $TypeError = TypeError;
-module.exports = function (input, pref) {
- var fn, val;
- if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input)))
- return val;
- if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input)))
- return val;
- if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input)))
- return val;
- throw $TypeError("Can't convert object to primitive value");
-};
-
-/***/ }),
-/* 34 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var global = __w_pdfjs_require__(4);
-var shared = __w_pdfjs_require__(35);
-var hasOwn = __w_pdfjs_require__(39);
-var uid = __w_pdfjs_require__(41);
-var NATIVE_SYMBOL = __w_pdfjs_require__(27);
-var USE_SYMBOL_AS_UID = __w_pdfjs_require__(26);
-var Symbol = global.Symbol;
-var WellKnownSymbolsStore = shared('wks');
-var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;
-module.exports = function (name) {
- if (!hasOwn(WellKnownSymbolsStore, name)) {
- WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name) ? Symbol[name] : createWellKnownSymbol('Symbol.' + name);
- }
- return WellKnownSymbolsStore[name];
-};
-
-/***/ }),
-/* 35 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var IS_PURE = __w_pdfjs_require__(36);
-var store = __w_pdfjs_require__(37);
-(module.exports = function (key, value) {
- return store[key] || (store[key] = value !== undefined ? value : {});
-})('versions', []).push({
- version: '3.31.1',
- mode: IS_PURE ? 'pure' : 'global',
- copyright: '© 2014-2023 Denis Pushkarev (zloirock.ru)',
- license: 'https://github.com/zloirock/core-js/blob/v3.31.1/LICENSE',
- source: 'https://github.com/zloirock/core-js'
-});
-
-/***/ }),
-/* 36 */
-/***/ ((module) => {
-
-module.exports = false;
-
-/***/ }),
-/* 37 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var global = __w_pdfjs_require__(4);
-var defineGlobalProperty = __w_pdfjs_require__(38);
-var SHARED = '__core-js_shared__';
-var store = global[SHARED] || defineGlobalProperty(SHARED, {});
-module.exports = store;
-
-/***/ }),
-/* 38 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var global = __w_pdfjs_require__(4);
-var defineProperty = Object.defineProperty;
-module.exports = function (key, value) {
- try {
- defineProperty(global, key, {
- value: value,
- configurable: true,
- writable: true
- });
- } catch (error) {
- global[key] = value;
- }
- return value;
-};
-
-/***/ }),
-/* 39 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var uncurryThis = __w_pdfjs_require__(14);
-var toObject = __w_pdfjs_require__(40);
-var hasOwnProperty = uncurryThis({}.hasOwnProperty);
-module.exports = Object.hasOwn || function hasOwn(it, key) {
- return hasOwnProperty(toObject(it), key);
-};
-
-/***/ }),
-/* 40 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var requireObjectCoercible = __w_pdfjs_require__(16);
-var $Object = Object;
-module.exports = function (argument) {
- return $Object(requireObjectCoercible(argument));
-};
-
-/***/ }),
-/* 41 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var uncurryThis = __w_pdfjs_require__(14);
-var id = 0;
-var postfix = Math.random();
-var toString = uncurryThis(1.0.toString);
-module.exports = function (key) {
- return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);
-};
-
-/***/ }),
-/* 42 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var DESCRIPTORS = __w_pdfjs_require__(6);
-var fails = __w_pdfjs_require__(7);
-var createElement = __w_pdfjs_require__(43);
-module.exports = !DESCRIPTORS && !fails(function () {
- return Object.defineProperty(createElement('div'), 'a', {
- get: function () {
- return 7;
- }
- }).a != 7;
-});
-
-/***/ }),
-/* 43 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var global = __w_pdfjs_require__(4);
-var isObject = __w_pdfjs_require__(20);
-var document = global.document;
-var EXISTS = isObject(document) && isObject(document.createElement);
-module.exports = function (it) {
- return EXISTS ? document.createElement(it) : {};
-};
-
-/***/ }),
-/* 44 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var DESCRIPTORS = __w_pdfjs_require__(6);
-var definePropertyModule = __w_pdfjs_require__(45);
-var createPropertyDescriptor = __w_pdfjs_require__(11);
-module.exports = DESCRIPTORS ? function (object, key, value) {
- return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));
-} : function (object, key, value) {
- object[key] = value;
- return object;
-};
-
-/***/ }),
-/* 45 */
-/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {
-
-var DESCRIPTORS = __w_pdfjs_require__(6);
-var IE8_DOM_DEFINE = __w_pdfjs_require__(42);
-var V8_PROTOTYPE_DEFINE_BUG = __w_pdfjs_require__(46);
-var anObject = __w_pdfjs_require__(47);
-var toPropertyKey = __w_pdfjs_require__(18);
-var $TypeError = TypeError;
-var $defineProperty = Object.defineProperty;
-var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-var ENUMERABLE = 'enumerable';
-var CONFIGURABLE = 'configurable';
-var WRITABLE = 'writable';
-exports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {
- anObject(O);
- P = toPropertyKey(P);
- anObject(Attributes);
- if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {
- var current = $getOwnPropertyDescriptor(O, P);
- if (current && current[WRITABLE]) {
- O[P] = Attributes.value;
- Attributes = {
- configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],
- enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],
- writable: false
- };
- }
- }
- return $defineProperty(O, P, Attributes);
-} : $defineProperty : function defineProperty(O, P, Attributes) {
- anObject(O);
- P = toPropertyKey(P);
- anObject(Attributes);
- if (IE8_DOM_DEFINE)
- try {
- return $defineProperty(O, P, Attributes);
- } catch (error) {
- }
- if ('get' in Attributes || 'set' in Attributes)
- throw $TypeError('Accessors not supported');
- if ('value' in Attributes)
- O[P] = Attributes.value;
- return O;
-};
-
-/***/ }),
-/* 46 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var DESCRIPTORS = __w_pdfjs_require__(6);
-var fails = __w_pdfjs_require__(7);
-module.exports = DESCRIPTORS && fails(function () {
- return Object.defineProperty(function () {
- }, 'prototype', {
- value: 42,
- writable: false
- }).prototype != 42;
-});
-
-/***/ }),
-/* 47 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var isObject = __w_pdfjs_require__(20);
-var $String = String;
-var $TypeError = TypeError;
-module.exports = function (argument) {
- if (isObject(argument))
- return argument;
- throw $TypeError($String(argument) + ' is not an object');
-};
-
-/***/ }),
-/* 48 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var isCallable = __w_pdfjs_require__(21);
-var definePropertyModule = __w_pdfjs_require__(45);
-var makeBuiltIn = __w_pdfjs_require__(49);
-var defineGlobalProperty = __w_pdfjs_require__(38);
-module.exports = function (O, key, value, options) {
- if (!options)
- options = {};
- var simple = options.enumerable;
- var name = options.name !== undefined ? options.name : key;
- if (isCallable(value))
- makeBuiltIn(value, name, options);
- if (options.global) {
- if (simple)
- O[key] = value;
- else
- defineGlobalProperty(key, value);
- } else {
- try {
- if (!options.unsafe)
- delete O[key];
- else if (O[key])
- simple = true;
- } catch (error) {
- }
- if (simple)
- O[key] = value;
- else
- definePropertyModule.f(O, key, {
- value: value,
- enumerable: false,
- configurable: !options.nonConfigurable,
- writable: !options.nonWritable
- });
- }
- return O;
-};
-
-/***/ }),
-/* 49 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var uncurryThis = __w_pdfjs_require__(14);
-var fails = __w_pdfjs_require__(7);
-var isCallable = __w_pdfjs_require__(21);
-var hasOwn = __w_pdfjs_require__(39);
-var DESCRIPTORS = __w_pdfjs_require__(6);
-var CONFIGURABLE_FUNCTION_NAME = (__w_pdfjs_require__(50).CONFIGURABLE);
-var inspectSource = __w_pdfjs_require__(51);
-var InternalStateModule = __w_pdfjs_require__(52);
-var enforceInternalState = InternalStateModule.enforce;
-var getInternalState = InternalStateModule.get;
-var $String = String;
-var defineProperty = Object.defineProperty;
-var stringSlice = uncurryThis(''.slice);
-var replace = uncurryThis(''.replace);
-var join = uncurryThis([].join);
-var CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {
- return defineProperty(function () {
- }, 'length', { value: 8 }).length !== 8;
-});
-var TEMPLATE = String(String).split('String');
-var makeBuiltIn = module.exports = function (value, name, options) {
- if (stringSlice($String(name), 0, 7) === 'Symbol(') {
- name = '[' + replace($String(name), /^Symbol\(([^)]*)\)/, '$1') + ']';
- }
- if (options && options.getter)
- name = 'get ' + name;
- if (options && options.setter)
- name = 'set ' + name;
- if (!hasOwn(value, 'name') || CONFIGURABLE_FUNCTION_NAME && value.name !== name) {
- if (DESCRIPTORS)
- defineProperty(value, 'name', {
- value: name,
- configurable: true
- });
- else
- value.name = name;
- }
- if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {
- defineProperty(value, 'length', { value: options.arity });
- }
- try {
- if (options && hasOwn(options, 'constructor') && options.constructor) {
- if (DESCRIPTORS)
- defineProperty(value, 'prototype', { writable: false });
- } else if (value.prototype)
- value.prototype = undefined;
- } catch (error) {
- }
- var state = enforceInternalState(value);
- if (!hasOwn(state, 'source')) {
- state.source = join(TEMPLATE, typeof name == 'string' ? name : '');
- }
- return value;
-};
-Function.prototype.toString = makeBuiltIn(function toString() {
- return isCallable(this) && getInternalState(this).source || inspectSource(this);
-}, 'toString');
-
-/***/ }),
-/* 50 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var DESCRIPTORS = __w_pdfjs_require__(6);
-var hasOwn = __w_pdfjs_require__(39);
-var FunctionPrototype = Function.prototype;
-var getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;
-var EXISTS = hasOwn(FunctionPrototype, 'name');
-var PROPER = EXISTS && function something() {
-}.name === 'something';
-var CONFIGURABLE = EXISTS && (!DESCRIPTORS || DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable);
-module.exports = {
- EXISTS: EXISTS,
- PROPER: PROPER,
- CONFIGURABLE: CONFIGURABLE
-};
-
-/***/ }),
-/* 51 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var uncurryThis = __w_pdfjs_require__(14);
-var isCallable = __w_pdfjs_require__(21);
-var store = __w_pdfjs_require__(37);
-var functionToString = uncurryThis(Function.toString);
-if (!isCallable(store.inspectSource)) {
- store.inspectSource = function (it) {
- return functionToString(it);
- };
-}
-module.exports = store.inspectSource;
-
-/***/ }),
-/* 52 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var NATIVE_WEAK_MAP = __w_pdfjs_require__(53);
-var global = __w_pdfjs_require__(4);
-var isObject = __w_pdfjs_require__(20);
-var createNonEnumerableProperty = __w_pdfjs_require__(44);
-var hasOwn = __w_pdfjs_require__(39);
-var shared = __w_pdfjs_require__(37);
-var sharedKey = __w_pdfjs_require__(54);
-var hiddenKeys = __w_pdfjs_require__(55);
-var OBJECT_ALREADY_INITIALIZED = 'Object already initialized';
-var TypeError = global.TypeError;
-var WeakMap = global.WeakMap;
-var set, get, has;
-var enforce = function (it) {
- return has(it) ? get(it) : set(it, {});
-};
-var getterFor = function (TYPE) {
- return function (it) {
- var state;
- if (!isObject(it) || (state = get(it)).type !== TYPE) {
- throw TypeError('Incompatible receiver, ' + TYPE + ' required');
- }
- return state;
- };
-};
-if (NATIVE_WEAK_MAP || shared.state) {
- var store = shared.state || (shared.state = new WeakMap());
- store.get = store.get;
- store.has = store.has;
- store.set = store.set;
- set = function (it, metadata) {
- if (store.has(it))
- throw TypeError(OBJECT_ALREADY_INITIALIZED);
- metadata.facade = it;
- store.set(it, metadata);
- return metadata;
- };
- get = function (it) {
- return store.get(it) || {};
- };
- has = function (it) {
- return store.has(it);
- };
-} else {
- var STATE = sharedKey('state');
- hiddenKeys[STATE] = true;
- set = function (it, metadata) {
- if (hasOwn(it, STATE))
- throw TypeError(OBJECT_ALREADY_INITIALIZED);
- metadata.facade = it;
- createNonEnumerableProperty(it, STATE, metadata);
- return metadata;
- };
- get = function (it) {
- return hasOwn(it, STATE) ? it[STATE] : {};
- };
- has = function (it) {
- return hasOwn(it, STATE);
- };
-}
-module.exports = {
- set: set,
- get: get,
- has: has,
- enforce: enforce,
- getterFor: getterFor
-};
-
-/***/ }),
-/* 53 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var global = __w_pdfjs_require__(4);
-var isCallable = __w_pdfjs_require__(21);
-var WeakMap = global.WeakMap;
-module.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));
-
-/***/ }),
-/* 54 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var shared = __w_pdfjs_require__(35);
-var uid = __w_pdfjs_require__(41);
-var keys = shared('keys');
-module.exports = function (key) {
- return keys[key] || (keys[key] = uid(key));
-};
-
-/***/ }),
-/* 55 */
-/***/ ((module) => {
-
-module.exports = {};
-
-/***/ }),
-/* 56 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var hasOwn = __w_pdfjs_require__(39);
-var ownKeys = __w_pdfjs_require__(57);
-var getOwnPropertyDescriptorModule = __w_pdfjs_require__(5);
-var definePropertyModule = __w_pdfjs_require__(45);
-module.exports = function (target, source, exceptions) {
- var keys = ownKeys(source);
- var defineProperty = definePropertyModule.f;
- var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;
- for (var i = 0; i < keys.length; i++) {
- var key = keys[i];
- if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {
- defineProperty(target, key, getOwnPropertyDescriptor(source, key));
- }
- }
-};
-
-/***/ }),
-/* 57 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var getBuiltIn = __w_pdfjs_require__(24);
-var uncurryThis = __w_pdfjs_require__(14);
-var getOwnPropertyNamesModule = __w_pdfjs_require__(58);
-var getOwnPropertySymbolsModule = __w_pdfjs_require__(67);
-var anObject = __w_pdfjs_require__(47);
-var concat = uncurryThis([].concat);
-module.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
- var keys = getOwnPropertyNamesModule.f(anObject(it));
- var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;
- return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;
-};
-
-/***/ }),
-/* 58 */
-/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {
-
-var internalObjectKeys = __w_pdfjs_require__(59);
-var enumBugKeys = __w_pdfjs_require__(66);
-var hiddenKeys = enumBugKeys.concat('length', 'prototype');
-exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
- return internalObjectKeys(O, hiddenKeys);
-};
-
-/***/ }),
-/* 59 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var uncurryThis = __w_pdfjs_require__(14);
-var hasOwn = __w_pdfjs_require__(39);
-var toIndexedObject = __w_pdfjs_require__(12);
-var indexOf = (__w_pdfjs_require__(60).indexOf);
-var hiddenKeys = __w_pdfjs_require__(55);
-var push = uncurryThis([].push);
-module.exports = function (object, names) {
- var O = toIndexedObject(object);
- var i = 0;
- var result = [];
- var key;
- for (key in O)
- !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);
- while (names.length > i)
- if (hasOwn(O, key = names[i++])) {
- ~indexOf(result, key) || push(result, key);
- }
- return result;
-};
-
-/***/ }),
-/* 60 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var toIndexedObject = __w_pdfjs_require__(12);
-var toAbsoluteIndex = __w_pdfjs_require__(61);
-var lengthOfArrayLike = __w_pdfjs_require__(64);
-var createMethod = function (IS_INCLUDES) {
- return function ($this, el, fromIndex) {
- var O = toIndexedObject($this);
- var length = lengthOfArrayLike(O);
- var index = toAbsoluteIndex(fromIndex, length);
- var value;
- if (IS_INCLUDES && el != el)
- while (length > index) {
- value = O[index++];
- if (value != value)
- return true;
- }
- else
- for (; length > index; index++) {
- if ((IS_INCLUDES || index in O) && O[index] === el)
- return IS_INCLUDES || index || 0;
- }
- return !IS_INCLUDES && -1;
- };
-};
-module.exports = {
- includes: createMethod(true),
- indexOf: createMethod(false)
-};
-
-/***/ }),
-/* 61 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var toIntegerOrInfinity = __w_pdfjs_require__(62);
-var max = Math.max;
-var min = Math.min;
-module.exports = function (index, length) {
- var integer = toIntegerOrInfinity(index);
- return integer < 0 ? max(integer + length, 0) : min(integer, length);
-};
-
-/***/ }),
-/* 62 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var trunc = __w_pdfjs_require__(63);
-module.exports = function (argument) {
- var number = +argument;
- return number !== number || number === 0 ? 0 : trunc(number);
-};
-
-/***/ }),
-/* 63 */
-/***/ ((module) => {
-
-var ceil = Math.ceil;
-var floor = Math.floor;
-module.exports = Math.trunc || function trunc(x) {
- var n = +x;
- return (n > 0 ? floor : ceil)(n);
-};
-
-/***/ }),
-/* 64 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var toLength = __w_pdfjs_require__(65);
-module.exports = function (obj) {
- return toLength(obj.length);
-};
-
-/***/ }),
-/* 65 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var toIntegerOrInfinity = __w_pdfjs_require__(62);
-var min = Math.min;
-module.exports = function (argument) {
- return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0;
-};
-
-/***/ }),
-/* 66 */
-/***/ ((module) => {
-
-module.exports = [
- 'constructor',
- 'hasOwnProperty',
- 'isPrototypeOf',
- 'propertyIsEnumerable',
- 'toLocaleString',
- 'toString',
- 'valueOf'
-];
-
-/***/ }),
-/* 67 */
-/***/ ((__unused_webpack_module, exports) => {
-
-exports.f = Object.getOwnPropertySymbols;
-
-/***/ }),
-/* 68 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var fails = __w_pdfjs_require__(7);
-var isCallable = __w_pdfjs_require__(21);
-var replacement = /#|\.prototype\./;
-var isForced = function (feature, detection) {
- var value = data[normalize(feature)];
- return value == POLYFILL ? true : value == NATIVE ? false : isCallable(detection) ? fails(detection) : !!detection;
-};
-var normalize = isForced.normalize = function (string) {
- return String(string).replace(replacement, '.').toLowerCase();
-};
-var data = isForced.data = {};
-var NATIVE = isForced.NATIVE = 'N';
-var POLYFILL = isForced.POLYFILL = 'P';
-module.exports = isForced;
-
-/***/ }),
-/* 69 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var NATIVE_BIND = __w_pdfjs_require__(9);
-var FunctionPrototype = Function.prototype;
-var apply = FunctionPrototype.apply;
-var call = FunctionPrototype.call;
-module.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {
- return call.apply(apply, arguments);
-});
-
-/***/ }),
-/* 70 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-"use strict";
-
-var getBuiltIn = __w_pdfjs_require__(24);
-var hasOwn = __w_pdfjs_require__(39);
-var createNonEnumerableProperty = __w_pdfjs_require__(44);
-var isPrototypeOf = __w_pdfjs_require__(25);
-var setPrototypeOf = __w_pdfjs_require__(71);
-var copyConstructorProperties = __w_pdfjs_require__(56);
-var proxyAccessor = __w_pdfjs_require__(74);
-var inheritIfRequired = __w_pdfjs_require__(75);
-var normalizeStringArgument = __w_pdfjs_require__(76);
-var installErrorCause = __w_pdfjs_require__(80);
-var installErrorStack = __w_pdfjs_require__(81);
-var DESCRIPTORS = __w_pdfjs_require__(6);
-var IS_PURE = __w_pdfjs_require__(36);
-module.exports = function (FULL_NAME, wrapper, FORCED, IS_AGGREGATE_ERROR) {
- var STACK_TRACE_LIMIT = 'stackTraceLimit';
- var OPTIONS_POSITION = IS_AGGREGATE_ERROR ? 2 : 1;
- var path = FULL_NAME.split('.');
- var ERROR_NAME = path[path.length - 1];
- var OriginalError = getBuiltIn.apply(null, path);
- if (!OriginalError)
- return;
- var OriginalErrorPrototype = OriginalError.prototype;
- if (!IS_PURE && hasOwn(OriginalErrorPrototype, 'cause'))
- delete OriginalErrorPrototype.cause;
- if (!FORCED)
- return OriginalError;
- var BaseError = getBuiltIn('Error');
- var WrappedError = wrapper(function (a, b) {
- var message = normalizeStringArgument(IS_AGGREGATE_ERROR ? b : a, undefined);
- var result = IS_AGGREGATE_ERROR ? new OriginalError(a) : new OriginalError();
- if (message !== undefined)
- createNonEnumerableProperty(result, 'message', message);
- installErrorStack(result, WrappedError, result.stack, 2);
- if (this && isPrototypeOf(OriginalErrorPrototype, this))
- inheritIfRequired(result, this, WrappedError);
- if (arguments.length > OPTIONS_POSITION)
- installErrorCause(result, arguments[OPTIONS_POSITION]);
- return result;
- });
- WrappedError.prototype = OriginalErrorPrototype;
- if (ERROR_NAME !== 'Error') {
- if (setPrototypeOf)
- setPrototypeOf(WrappedError, BaseError);
- else
- copyConstructorProperties(WrappedError, BaseError, { name: true });
- } else if (DESCRIPTORS && STACK_TRACE_LIMIT in OriginalError) {
- proxyAccessor(WrappedError, OriginalError, STACK_TRACE_LIMIT);
- proxyAccessor(WrappedError, OriginalError, 'prepareStackTrace');
- }
- copyConstructorProperties(WrappedError, OriginalError);
- if (!IS_PURE)
- try {
- if (OriginalErrorPrototype.name !== ERROR_NAME) {
- createNonEnumerableProperty(OriginalErrorPrototype, 'name', ERROR_NAME);
- }
- OriginalErrorPrototype.constructor = WrappedError;
- } catch (error) {
- }
- return WrappedError;
-};
-
-/***/ }),
-/* 71 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var uncurryThisAccessor = __w_pdfjs_require__(72);
-var anObject = __w_pdfjs_require__(47);
-var aPossiblePrototype = __w_pdfjs_require__(73);
-module.exports = Object.setPrototypeOf || ('__proto__' in {} ? (function () {
- var CORRECT_SETTER = false;
- var test = {};
- var setter;
- try {
- setter = uncurryThisAccessor(Object.prototype, '__proto__', 'set');
- setter(test, []);
- CORRECT_SETTER = test instanceof Array;
- } catch (error) {
- }
- return function setPrototypeOf(O, proto) {
- anObject(O);
- aPossiblePrototype(proto);
- if (CORRECT_SETTER)
- setter(O, proto);
- else
- O.__proto__ = proto;
- return O;
- };
-}()) : undefined);
-
-/***/ }),
-/* 72 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var uncurryThis = __w_pdfjs_require__(14);
-var aCallable = __w_pdfjs_require__(31);
-module.exports = function (object, key, method) {
- try {
- return uncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method]));
- } catch (error) {
- }
-};
-
-/***/ }),
-/* 73 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var isCallable = __w_pdfjs_require__(21);
-var $String = String;
-var $TypeError = TypeError;
-module.exports = function (argument) {
- if (typeof argument == 'object' || isCallable(argument))
- return argument;
- throw $TypeError("Can't set " + $String(argument) + ' as a prototype');
-};
-
-/***/ }),
-/* 74 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var defineProperty = (__w_pdfjs_require__(45).f);
-module.exports = function (Target, Source, key) {
- key in Target || defineProperty(Target, key, {
- configurable: true,
- get: function () {
- return Source[key];
- },
- set: function (it) {
- Source[key] = it;
- }
- });
-};
-
-/***/ }),
-/* 75 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var isCallable = __w_pdfjs_require__(21);
-var isObject = __w_pdfjs_require__(20);
-var setPrototypeOf = __w_pdfjs_require__(71);
-module.exports = function ($this, dummy, Wrapper) {
- var NewTarget, NewTargetPrototype;
- if (setPrototypeOf && isCallable(NewTarget = dummy.constructor) && NewTarget !== Wrapper && isObject(NewTargetPrototype = NewTarget.prototype) && NewTargetPrototype !== Wrapper.prototype)
- setPrototypeOf($this, NewTargetPrototype);
- return $this;
-};
-
-/***/ }),
-/* 76 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var toString = __w_pdfjs_require__(77);
-module.exports = function (argument, $default) {
- return argument === undefined ? arguments.length < 2 ? '' : $default : toString(argument);
-};
-
-/***/ }),
-/* 77 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var classof = __w_pdfjs_require__(78);
-var $String = String;
-module.exports = function (argument) {
- if (classof(argument) === 'Symbol')
- throw TypeError('Cannot convert a Symbol value to a string');
- return $String(argument);
-};
-
-/***/ }),
-/* 78 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var TO_STRING_TAG_SUPPORT = __w_pdfjs_require__(79);
-var isCallable = __w_pdfjs_require__(21);
-var classofRaw = __w_pdfjs_require__(15);
-var wellKnownSymbol = __w_pdfjs_require__(34);
-var TO_STRING_TAG = wellKnownSymbol('toStringTag');
-var $Object = Object;
-var CORRECT_ARGUMENTS = classofRaw((function () {
- return arguments;
-}())) == 'Arguments';
-var tryGet = function (it, key) {
- try {
- return it[key];
- } catch (error) {
- }
-};
-module.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {
- var O, tag, result;
- return it === undefined ? 'Undefined' : it === null ? 'Null' : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag : CORRECT_ARGUMENTS ? classofRaw(O) : (result = classofRaw(O)) == 'Object' && isCallable(O.callee) ? 'Arguments' : result;
-};
-
-/***/ }),
-/* 79 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var wellKnownSymbol = __w_pdfjs_require__(34);
-var TO_STRING_TAG = wellKnownSymbol('toStringTag');
-var test = {};
-test[TO_STRING_TAG] = 'z';
-module.exports = String(test) === '[object z]';
-
-/***/ }),
-/* 80 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var isObject = __w_pdfjs_require__(20);
-var createNonEnumerableProperty = __w_pdfjs_require__(44);
-module.exports = function (O, options) {
- if (isObject(options) && 'cause' in options) {
- createNonEnumerableProperty(O, 'cause', options.cause);
- }
-};
-
-/***/ }),
-/* 81 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var createNonEnumerableProperty = __w_pdfjs_require__(44);
-var clearErrorStack = __w_pdfjs_require__(82);
-var ERROR_STACK_INSTALLABLE = __w_pdfjs_require__(83);
-var captureStackTrace = Error.captureStackTrace;
-module.exports = function (error, C, stack, dropEntries) {
- if (ERROR_STACK_INSTALLABLE) {
- if (captureStackTrace)
- captureStackTrace(error, C);
- else
- createNonEnumerableProperty(error, 'stack', clearErrorStack(stack, dropEntries));
- }
-};
-
-/***/ }),
-/* 82 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var uncurryThis = __w_pdfjs_require__(14);
-var $Error = Error;
-var replace = uncurryThis(''.replace);
-var TEST = function (arg) {
- return String($Error(arg).stack);
-}('zxcasd');
-var V8_OR_CHAKRA_STACK_ENTRY = /\n\s*at [^:]*:[^\n]*/;
-var IS_V8_OR_CHAKRA_STACK = V8_OR_CHAKRA_STACK_ENTRY.test(TEST);
-module.exports = function (stack, dropEntries) {
- if (IS_V8_OR_CHAKRA_STACK && typeof stack == 'string' && !$Error.prepareStackTrace) {
- while (dropEntries--)
- stack = replace(stack, V8_OR_CHAKRA_STACK_ENTRY, '');
- }
- return stack;
-};
-
-/***/ }),
-/* 83 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var fails = __w_pdfjs_require__(7);
-var createPropertyDescriptor = __w_pdfjs_require__(11);
-module.exports = !fails(function () {
- var error = Error('a');
- if (!('stack' in error))
- return true;
- Object.defineProperty(error, 'stack', createPropertyDescriptor(1, 7));
- return error.stack !== 7;
-});
-
-/***/ }),
-/* 84 */
-/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-"use strict";
-
-var defineBuiltIn = __w_pdfjs_require__(48);
-var uncurryThis = __w_pdfjs_require__(14);
-var toString = __w_pdfjs_require__(77);
-var validateArgumentsLength = __w_pdfjs_require__(85);
-var $URLSearchParams = URLSearchParams;
-var URLSearchParamsPrototype = $URLSearchParams.prototype;
-var append = uncurryThis(URLSearchParamsPrototype.append);
-var $delete = uncurryThis(URLSearchParamsPrototype['delete']);
-var forEach = uncurryThis(URLSearchParamsPrototype.forEach);
-var push = uncurryThis([].push);
-var params = new $URLSearchParams('a=1&a=2');
-params['delete']('a', 1);
-if (params + '' !== 'a=2') {
- defineBuiltIn(URLSearchParamsPrototype, 'delete', function (name) {
- var length = arguments.length;
- var $value = length < 2 ? undefined : arguments[1];
- if (length && $value === undefined)
- return $delete(this, name);
- var entries = [];
- forEach(this, function (v, k) {
- push(entries, {
- key: k,
- value: v
- });
- });
- validateArgumentsLength(length, 1);
- var key = toString(name);
- var value = toString($value);
- var index = 0;
- var dindex = 0;
- var found = false;
- var entriesLength = entries.length;
- var entry;
- while (index < entriesLength) {
- entry = entries[index++];
- if (found || entry.key === key) {
- found = true;
- $delete(this, entry.key);
- } else
- dindex++;
- }
- while (dindex < entriesLength) {
- entry = entries[dindex++];
- if (!(entry.key === key && entry.value === value))
- append(this, entry.key, entry.value);
- }
- }, {
- enumerable: true,
- unsafe: true
- });
-}
-
-/***/ }),
-/* 85 */
-/***/ ((module) => {
-
-var $TypeError = TypeError;
-module.exports = function (passed, required) {
- if (passed < required)
- throw $TypeError('Not enough arguments');
- return passed;
-};
-
-/***/ }),
-/* 86 */
-/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-"use strict";
-
-var defineBuiltIn = __w_pdfjs_require__(48);
-var uncurryThis = __w_pdfjs_require__(14);
-var toString = __w_pdfjs_require__(77);
-var validateArgumentsLength = __w_pdfjs_require__(85);
-var $URLSearchParams = URLSearchParams;
-var URLSearchParamsPrototype = $URLSearchParams.prototype;
-var getAll = uncurryThis(URLSearchParamsPrototype.getAll);
-var $has = uncurryThis(URLSearchParamsPrototype.has);
-var params = new $URLSearchParams('a=1');
-if (params.has('a', 2)) {
- defineBuiltIn(URLSearchParamsPrototype, 'has', function has(name) {
- var length = arguments.length;
- var $value = length < 2 ? undefined : arguments[1];
- if (length && $value === undefined)
- return $has(this, name);
- var values = getAll(this, name);
- validateArgumentsLength(length, 1);
- var value = toString($value);
- var index = 0;
- while (index < values.length) {
- if (values[index++] === value)
- return true;
- }
- return false;
- }, {
- enumerable: true,
- unsafe: true
- });
-}
-
-/***/ }),
-/* 87 */
-/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-"use strict";
-
-var DESCRIPTORS = __w_pdfjs_require__(6);
-var uncurryThis = __w_pdfjs_require__(14);
-var defineBuiltInAccessor = __w_pdfjs_require__(88);
-var URLSearchParamsPrototype = URLSearchParams.prototype;
-var forEach = uncurryThis(URLSearchParamsPrototype.forEach);
-if (DESCRIPTORS && !('size' in URLSearchParamsPrototype)) {
- defineBuiltInAccessor(URLSearchParamsPrototype, 'size', {
- get: function size() {
- var count = 0;
- forEach(this, function () {
- count++;
- });
- return count;
- },
- configurable: true,
- enumerable: true
- });
-}
-
-/***/ }),
-/* 88 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var makeBuiltIn = __w_pdfjs_require__(49);
-var defineProperty = __w_pdfjs_require__(45);
-module.exports = function (target, name, descriptor) {
- if (descriptor.get)
- makeBuiltIn(descriptor.get, name, { getter: true });
- if (descriptor.set)
- makeBuiltIn(descriptor.set, name, { setter: true });
- return defineProperty.f(target, name, descriptor);
-};
-
-/***/ }),
-/* 89 */
-/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-"use strict";
-
-var $ = __w_pdfjs_require__(3);
-var toObject = __w_pdfjs_require__(40);
-var lengthOfArrayLike = __w_pdfjs_require__(64);
-var setArrayLength = __w_pdfjs_require__(90);
-var doesNotExceedSafeInteger = __w_pdfjs_require__(92);
-var fails = __w_pdfjs_require__(7);
-var INCORRECT_TO_LENGTH = fails(function () {
- return [].push.call({ length: 0x100000000 }, 1) !== 4294967297;
-});
-var properErrorOnNonWritableLength = function () {
- try {
- Object.defineProperty([], 'length', { writable: false }).push();
- } catch (error) {
- return error instanceof TypeError;
- }
-};
-var FORCED = INCORRECT_TO_LENGTH || !properErrorOnNonWritableLength();
-$({
- target: 'Array',
- proto: true,
- arity: 1,
- forced: FORCED
-}, {
- push: function push(item) {
- var O = toObject(this);
- var len = lengthOfArrayLike(O);
- var argCount = arguments.length;
- doesNotExceedSafeInteger(len + argCount);
- for (var i = 0; i < argCount; i++) {
- O[len] = arguments[i];
- len++;
- }
- setArrayLength(O, len);
- return len;
- }
-});
-
-/***/ }),
-/* 90 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-"use strict";
-
-var DESCRIPTORS = __w_pdfjs_require__(6);
-var isArray = __w_pdfjs_require__(91);
-var $TypeError = TypeError;
-var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-var SILENT_ON_NON_WRITABLE_LENGTH_SET = DESCRIPTORS && !(function () {
- if (this !== undefined)
- return true;
- try {
- Object.defineProperty([], 'length', { writable: false }).length = 1;
- } catch (error) {
- return error instanceof TypeError;
- }
-}());
-module.exports = SILENT_ON_NON_WRITABLE_LENGTH_SET ? function (O, length) {
- if (isArray(O) && !getOwnPropertyDescriptor(O, 'length').writable) {
- throw $TypeError('Cannot set read only .length');
- }
- return O.length = length;
-} : function (O, length) {
- return O.length = length;
-};
-
-/***/ }),
-/* 91 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var classof = __w_pdfjs_require__(15);
-module.exports = Array.isArray || function isArray(argument) {
- return classof(argument) == 'Array';
-};
-
-/***/ }),
-/* 92 */
-/***/ ((module) => {
-
-var $TypeError = TypeError;
-var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
-module.exports = function (it) {
- if (it > MAX_SAFE_INTEGER)
- throw $TypeError('Maximum allowed index exceeded');
- return it;
-};
-
-/***/ }),
-/* 93 */
-/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-"use strict";
-
-var ArrayBufferViewCore = __w_pdfjs_require__(94);
-var $findLast = (__w_pdfjs_require__(98).findLast);
-var aTypedArray = ArrayBufferViewCore.aTypedArray;
-var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
-exportTypedArrayMethod('findLast', function findLast(predicate) {
- return $findLast(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined);
-});
-
-/***/ }),
-/* 94 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-"use strict";
-
-var NATIVE_ARRAY_BUFFER = __w_pdfjs_require__(95);
-var DESCRIPTORS = __w_pdfjs_require__(6);
-var global = __w_pdfjs_require__(4);
-var isCallable = __w_pdfjs_require__(21);
-var isObject = __w_pdfjs_require__(20);
-var hasOwn = __w_pdfjs_require__(39);
-var classof = __w_pdfjs_require__(78);
-var tryToString = __w_pdfjs_require__(32);
-var createNonEnumerableProperty = __w_pdfjs_require__(44);
-var defineBuiltIn = __w_pdfjs_require__(48);
-var defineBuiltInAccessor = __w_pdfjs_require__(88);
-var isPrototypeOf = __w_pdfjs_require__(25);
-var getPrototypeOf = __w_pdfjs_require__(96);
-var setPrototypeOf = __w_pdfjs_require__(71);
-var wellKnownSymbol = __w_pdfjs_require__(34);
-var uid = __w_pdfjs_require__(41);
-var InternalStateModule = __w_pdfjs_require__(52);
-var enforceInternalState = InternalStateModule.enforce;
-var getInternalState = InternalStateModule.get;
-var Int8Array = global.Int8Array;
-var Int8ArrayPrototype = Int8Array && Int8Array.prototype;
-var Uint8ClampedArray = global.Uint8ClampedArray;
-var Uint8ClampedArrayPrototype = Uint8ClampedArray && Uint8ClampedArray.prototype;
-var TypedArray = Int8Array && getPrototypeOf(Int8Array);
-var TypedArrayPrototype = Int8ArrayPrototype && getPrototypeOf(Int8ArrayPrototype);
-var ObjectPrototype = Object.prototype;
-var TypeError = global.TypeError;
-var TO_STRING_TAG = wellKnownSymbol('toStringTag');
-var TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG');
-var TYPED_ARRAY_CONSTRUCTOR = 'TypedArrayConstructor';
-var NATIVE_ARRAY_BUFFER_VIEWS = NATIVE_ARRAY_BUFFER && !!setPrototypeOf && classof(global.opera) !== 'Opera';
-var TYPED_ARRAY_TAG_REQUIRED = false;
-var NAME, Constructor, Prototype;
-var TypedArrayConstructorsList = {
- Int8Array: 1,
- Uint8Array: 1,
- Uint8ClampedArray: 1,
- Int16Array: 2,
- Uint16Array: 2,
- Int32Array: 4,
- Uint32Array: 4,
- Float32Array: 4,
- Float64Array: 8
-};
-var BigIntArrayConstructorsList = {
- BigInt64Array: 8,
- BigUint64Array: 8
-};
-var isView = function isView(it) {
- if (!isObject(it))
- return false;
- var klass = classof(it);
- return klass === 'DataView' || hasOwn(TypedArrayConstructorsList, klass) || hasOwn(BigIntArrayConstructorsList, klass);
-};
-var getTypedArrayConstructor = function (it) {
- var proto = getPrototypeOf(it);
- if (!isObject(proto))
- return;
- var state = getInternalState(proto);
- return state && hasOwn(state, TYPED_ARRAY_CONSTRUCTOR) ? state[TYPED_ARRAY_CONSTRUCTOR] : getTypedArrayConstructor(proto);
-};
-var isTypedArray = function (it) {
- if (!isObject(it))
- return false;
- var klass = classof(it);
- return hasOwn(TypedArrayConstructorsList, klass) || hasOwn(BigIntArrayConstructorsList, klass);
-};
-var aTypedArray = function (it) {
- if (isTypedArray(it))
- return it;
- throw TypeError('Target is not a typed array');
-};
-var aTypedArrayConstructor = function (C) {
- if (isCallable(C) && (!setPrototypeOf || isPrototypeOf(TypedArray, C)))
- return C;
- throw TypeError(tryToString(C) + ' is not a typed array constructor');
-};
-var exportTypedArrayMethod = function (KEY, property, forced, options) {
- if (!DESCRIPTORS)
- return;
- if (forced)
- for (var ARRAY in TypedArrayConstructorsList) {
- var TypedArrayConstructor = global[ARRAY];
- if (TypedArrayConstructor && hasOwn(TypedArrayConstructor.prototype, KEY))
- try {
- delete TypedArrayConstructor.prototype[KEY];
- } catch (error) {
- try {
- TypedArrayConstructor.prototype[KEY] = property;
- } catch (error2) {
- }
- }
- }
- if (!TypedArrayPrototype[KEY] || forced) {
- defineBuiltIn(TypedArrayPrototype, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property, options);
- }
-};
-var exportTypedArrayStaticMethod = function (KEY, property, forced) {
- var ARRAY, TypedArrayConstructor;
- if (!DESCRIPTORS)
- return;
- if (setPrototypeOf) {
- if (forced)
- for (ARRAY in TypedArrayConstructorsList) {
- TypedArrayConstructor = global[ARRAY];
- if (TypedArrayConstructor && hasOwn(TypedArrayConstructor, KEY))
- try {
- delete TypedArrayConstructor[KEY];
- } catch (error) {
- }
- }
- if (!TypedArray[KEY] || forced) {
- try {
- return defineBuiltIn(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && TypedArray[KEY] || property);
- } catch (error) {
- }
- } else
- return;
- }
- for (ARRAY in TypedArrayConstructorsList) {
- TypedArrayConstructor = global[ARRAY];
- if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) {
- defineBuiltIn(TypedArrayConstructor, KEY, property);
- }
- }
-};
-for (NAME in TypedArrayConstructorsList) {
- Constructor = global[NAME];
- Prototype = Constructor && Constructor.prototype;
- if (Prototype)
- enforceInternalState(Prototype)[TYPED_ARRAY_CONSTRUCTOR] = Constructor;
- else
- NATIVE_ARRAY_BUFFER_VIEWS = false;
-}
-for (NAME in BigIntArrayConstructorsList) {
- Constructor = global[NAME];
- Prototype = Constructor && Constructor.prototype;
- if (Prototype)
- enforceInternalState(Prototype)[TYPED_ARRAY_CONSTRUCTOR] = Constructor;
-}
-if (!NATIVE_ARRAY_BUFFER_VIEWS || !isCallable(TypedArray) || TypedArray === Function.prototype) {
- TypedArray = function TypedArray() {
- throw TypeError('Incorrect invocation');
- };
- if (NATIVE_ARRAY_BUFFER_VIEWS)
- for (NAME in TypedArrayConstructorsList) {
- if (global[NAME])
- setPrototypeOf(global[NAME], TypedArray);
- }
-}
-if (!NATIVE_ARRAY_BUFFER_VIEWS || !TypedArrayPrototype || TypedArrayPrototype === ObjectPrototype) {
- TypedArrayPrototype = TypedArray.prototype;
- if (NATIVE_ARRAY_BUFFER_VIEWS)
- for (NAME in TypedArrayConstructorsList) {
- if (global[NAME])
- setPrototypeOf(global[NAME].prototype, TypedArrayPrototype);
- }
-}
-if (NATIVE_ARRAY_BUFFER_VIEWS && getPrototypeOf(Uint8ClampedArrayPrototype) !== TypedArrayPrototype) {
- setPrototypeOf(Uint8ClampedArrayPrototype, TypedArrayPrototype);
-}
-if (DESCRIPTORS && !hasOwn(TypedArrayPrototype, TO_STRING_TAG)) {
- TYPED_ARRAY_TAG_REQUIRED = true;
- defineBuiltInAccessor(TypedArrayPrototype, TO_STRING_TAG, {
- configurable: true,
- get: function () {
- return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined;
- }
- });
- for (NAME in TypedArrayConstructorsList)
- if (global[NAME]) {
- createNonEnumerableProperty(global[NAME], TYPED_ARRAY_TAG, NAME);
- }
-}
-module.exports = {
- NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS,
- TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQUIRED && TYPED_ARRAY_TAG,
- aTypedArray: aTypedArray,
- aTypedArrayConstructor: aTypedArrayConstructor,
- exportTypedArrayMethod: exportTypedArrayMethod,
- exportTypedArrayStaticMethod: exportTypedArrayStaticMethod,
- getTypedArrayConstructor: getTypedArrayConstructor,
- isView: isView,
- isTypedArray: isTypedArray,
- TypedArray: TypedArray,
- TypedArrayPrototype: TypedArrayPrototype
-};
-
-/***/ }),
-/* 95 */
-/***/ ((module) => {
-
-module.exports = typeof ArrayBuffer != 'undefined' && typeof DataView != 'undefined';
-
-/***/ }),
-/* 96 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var hasOwn = __w_pdfjs_require__(39);
-var isCallable = __w_pdfjs_require__(21);
-var toObject = __w_pdfjs_require__(40);
-var sharedKey = __w_pdfjs_require__(54);
-var CORRECT_PROTOTYPE_GETTER = __w_pdfjs_require__(97);
-var IE_PROTO = sharedKey('IE_PROTO');
-var $Object = Object;
-var ObjectPrototype = $Object.prototype;
-module.exports = CORRECT_PROTOTYPE_GETTER ? $Object.getPrototypeOf : function (O) {
- var object = toObject(O);
- if (hasOwn(object, IE_PROTO))
- return object[IE_PROTO];
- var constructor = object.constructor;
- if (isCallable(constructor) && object instanceof constructor) {
- return constructor.prototype;
- }
- return object instanceof $Object ? ObjectPrototype : null;
-};
-
-/***/ }),
-/* 97 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var fails = __w_pdfjs_require__(7);
-module.exports = !fails(function () {
- function F() {
- }
- F.prototype.constructor = null;
- return Object.getPrototypeOf(new F()) !== F.prototype;
-});
-
-/***/ }),
-/* 98 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var bind = __w_pdfjs_require__(99);
-var IndexedObject = __w_pdfjs_require__(13);
-var toObject = __w_pdfjs_require__(40);
-var lengthOfArrayLike = __w_pdfjs_require__(64);
-var createMethod = function (TYPE) {
- var IS_FIND_LAST_INDEX = TYPE == 1;
- return function ($this, callbackfn, that) {
- var O = toObject($this);
- var self = IndexedObject(O);
- var boundFunction = bind(callbackfn, that);
- var index = lengthOfArrayLike(self);
- var value, result;
- while (index-- > 0) {
- value = self[index];
- result = boundFunction(value, index, O);
- if (result)
- switch (TYPE) {
- case 0:
- return value;
- case 1:
- return index;
- }
- }
- return IS_FIND_LAST_INDEX ? -1 : undefined;
- };
-};
-module.exports = {
- findLast: createMethod(0),
- findLastIndex: createMethod(1)
-};
-
-/***/ }),
-/* 99 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var uncurryThis = __w_pdfjs_require__(100);
-var aCallable = __w_pdfjs_require__(31);
-var NATIVE_BIND = __w_pdfjs_require__(9);
-var bind = uncurryThis(uncurryThis.bind);
-module.exports = function (fn, that) {
- aCallable(fn);
- return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function () {
- return fn.apply(that, arguments);
- };
-};
-
-/***/ }),
-/* 100 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var classofRaw = __w_pdfjs_require__(15);
-var uncurryThis = __w_pdfjs_require__(14);
-module.exports = function (fn) {
- if (classofRaw(fn) === 'Function')
- return uncurryThis(fn);
-};
-
-/***/ }),
-/* 101 */
-/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-"use strict";
-
-var ArrayBufferViewCore = __w_pdfjs_require__(94);
-var $findLastIndex = (__w_pdfjs_require__(98).findLastIndex);
-var aTypedArray = ArrayBufferViewCore.aTypedArray;
-var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
-exportTypedArrayMethod('findLastIndex', function findLastIndex(predicate) {
- return $findLastIndex(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined);
-});
-
-/***/ }),
-/* 102 */
-/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-"use strict";
-
-var global = __w_pdfjs_require__(4);
-var call = __w_pdfjs_require__(8);
-var ArrayBufferViewCore = __w_pdfjs_require__(94);
-var lengthOfArrayLike = __w_pdfjs_require__(64);
-var toOffset = __w_pdfjs_require__(103);
-var toIndexedObject = __w_pdfjs_require__(40);
-var fails = __w_pdfjs_require__(7);
-var RangeError = global.RangeError;
-var Int8Array = global.Int8Array;
-var Int8ArrayPrototype = Int8Array && Int8Array.prototype;
-var $set = Int8ArrayPrototype && Int8ArrayPrototype.set;
-var aTypedArray = ArrayBufferViewCore.aTypedArray;
-var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
-var WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS = !fails(function () {
- var array = new Uint8ClampedArray(2);
- call($set, array, {
- length: 1,
- 0: 3
- }, 1);
- return array[1] !== 3;
-});
-var TO_OBJECT_BUG = WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS && ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS && fails(function () {
- var array = new Int8Array(2);
- array.set(1);
- array.set('2', 1);
- return array[0] !== 0 || array[1] !== 2;
-});
-exportTypedArrayMethod('set', function set(arrayLike) {
- aTypedArray(this);
- var offset = toOffset(arguments.length > 1 ? arguments[1] : undefined, 1);
- var src = toIndexedObject(arrayLike);
- if (WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS)
- return call($set, this, src, offset);
- var length = this.length;
- var len = lengthOfArrayLike(src);
- var index = 0;
- if (len + offset > length)
- throw RangeError('Wrong length');
- while (index < len)
- this[offset + index] = src[index++];
-}, !WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS || TO_OBJECT_BUG);
-
-/***/ }),
-/* 103 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var toPositiveInteger = __w_pdfjs_require__(104);
-var $RangeError = RangeError;
-module.exports = function (it, BYTES) {
- var offset = toPositiveInteger(it);
- if (offset % BYTES)
- throw $RangeError('Wrong offset');
- return offset;
-};
-
-/***/ }),
-/* 104 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var toIntegerOrInfinity = __w_pdfjs_require__(62);
-var $RangeError = RangeError;
-module.exports = function (it) {
- var result = toIntegerOrInfinity(it);
- if (result < 0)
- throw $RangeError("The argument can't be less than 0");
- return result;
-};
-
-/***/ }),
-/* 105 */
-/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-"use strict";
-
-var arrayToReversed = __w_pdfjs_require__(106);
-var ArrayBufferViewCore = __w_pdfjs_require__(94);
-var aTypedArray = ArrayBufferViewCore.aTypedArray;
-var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
-var getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor;
-exportTypedArrayMethod('toReversed', function toReversed() {
- return arrayToReversed(aTypedArray(this), getTypedArrayConstructor(this));
-});
-
-/***/ }),
-/* 106 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var lengthOfArrayLike = __w_pdfjs_require__(64);
-module.exports = function (O, C) {
- var len = lengthOfArrayLike(O);
- var A = new C(len);
- var k = 0;
- for (; k < len; k++)
- A[k] = O[len - k - 1];
- return A;
-};
-
-/***/ }),
-/* 107 */
-/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-"use strict";
-
-var ArrayBufferViewCore = __w_pdfjs_require__(94);
-var uncurryThis = __w_pdfjs_require__(14);
-var aCallable = __w_pdfjs_require__(31);
-var arrayFromConstructorAndList = __w_pdfjs_require__(108);
-var aTypedArray = ArrayBufferViewCore.aTypedArray;
-var getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor;
-var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
-var sort = uncurryThis(ArrayBufferViewCore.TypedArrayPrototype.sort);
-exportTypedArrayMethod('toSorted', function toSorted(compareFn) {
- if (compareFn !== undefined)
- aCallable(compareFn);
- var O = aTypedArray(this);
- var A = arrayFromConstructorAndList(getTypedArrayConstructor(O), O);
- return sort(A, compareFn);
-});
-
-/***/ }),
-/* 108 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var lengthOfArrayLike = __w_pdfjs_require__(64);
-module.exports = function (Constructor, list) {
- var index = 0;
- var length = lengthOfArrayLike(list);
- var result = new Constructor(length);
- while (length > index)
- result[index] = list[index++];
- return result;
-};
-
-/***/ }),
-/* 109 */
-/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-"use strict";
-
-var arrayWith = __w_pdfjs_require__(110);
-var ArrayBufferViewCore = __w_pdfjs_require__(94);
-var isBigIntArray = __w_pdfjs_require__(111);
-var toIntegerOrInfinity = __w_pdfjs_require__(62);
-var toBigInt = __w_pdfjs_require__(112);
-var aTypedArray = ArrayBufferViewCore.aTypedArray;
-var getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor;
-var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
-var PROPER_ORDER = !!(function () {
- try {
- new Int8Array(1)['with'](2, {
- valueOf: function () {
- throw 8;
- }
- });
- } catch (error) {
- return error === 8;
- }
-}());
-exportTypedArrayMethod('with', {
- 'with': function (index, value) {
- var O = aTypedArray(this);
- var relativeIndex = toIntegerOrInfinity(index);
- var actualValue = isBigIntArray(O) ? toBigInt(value) : +value;
- return arrayWith(O, getTypedArrayConstructor(O), relativeIndex, actualValue);
- }
-}['with'], !PROPER_ORDER);
-
-/***/ }),
-/* 110 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var lengthOfArrayLike = __w_pdfjs_require__(64);
-var toIntegerOrInfinity = __w_pdfjs_require__(62);
-var $RangeError = RangeError;
-module.exports = function (O, C, index, value) {
- var len = lengthOfArrayLike(O);
- var relativeIndex = toIntegerOrInfinity(index);
- var actualIndex = relativeIndex < 0 ? len + relativeIndex : relativeIndex;
- if (actualIndex >= len || actualIndex < 0)
- throw $RangeError('Incorrect index');
- var A = new C(len);
- var k = 0;
- for (; k < len; k++)
- A[k] = k === actualIndex ? value : O[k];
- return A;
-};
-
-/***/ }),
-/* 111 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var classof = __w_pdfjs_require__(78);
-module.exports = function (it) {
- var klass = classof(it);
- return klass == 'BigInt64Array' || klass == 'BigUint64Array';
-};
-
-/***/ }),
-/* 112 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var toPrimitive = __w_pdfjs_require__(19);
-var $TypeError = TypeError;
-module.exports = function (argument) {
- var prim = toPrimitive(argument, 'number');
- if (typeof prim == 'number')
- throw $TypeError("Can't convert number to bigint");
- return BigInt(prim);
-};
-
-/***/ }),
-/* 113 */
-/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-"use strict";
-
-var DESCRIPTORS = __w_pdfjs_require__(6);
-var defineBuiltInAccessor = __w_pdfjs_require__(88);
-var isDetached = __w_pdfjs_require__(114);
-var ArrayBufferPrototype = ArrayBuffer.prototype;
-if (DESCRIPTORS && !('detached' in ArrayBufferPrototype)) {
- defineBuiltInAccessor(ArrayBufferPrototype, 'detached', {
- configurable: true,
- get: function detached() {
- return isDetached(this);
- }
- });
-}
-
-/***/ }),
-/* 114 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var uncurryThis = __w_pdfjs_require__(14);
-var arrayBufferByteLength = __w_pdfjs_require__(115);
-var slice = uncurryThis(ArrayBuffer.prototype.slice);
-module.exports = function (O) {
- if (arrayBufferByteLength(O) !== 0)
- return false;
- try {
- slice(O, 0, 0);
- return false;
- } catch (error) {
- return true;
- }
-};
-
-/***/ }),
-/* 115 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var uncurryThisAccessor = __w_pdfjs_require__(72);
-var classof = __w_pdfjs_require__(15);
-var $TypeError = TypeError;
-module.exports = uncurryThisAccessor(ArrayBuffer.prototype, 'byteLength', 'get') || function (O) {
- if (classof(O) != 'ArrayBuffer')
- throw $TypeError('ArrayBuffer expected');
- return O.byteLength;
-};
-
-/***/ }),
-/* 116 */
-/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-"use strict";
-
-var $ = __w_pdfjs_require__(3);
-var $transfer = __w_pdfjs_require__(117);
-if ($transfer)
- $({
- target: 'ArrayBuffer',
- proto: true
- }, {
- transfer: function transfer() {
- return $transfer(this, arguments.length ? arguments[0] : undefined, true);
- }
- });
-
-/***/ }),
-/* 117 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var global = __w_pdfjs_require__(4);
-var uncurryThis = __w_pdfjs_require__(14);
-var uncurryThisAccessor = __w_pdfjs_require__(72);
-var toIndex = __w_pdfjs_require__(118);
-var isDetached = __w_pdfjs_require__(114);
-var arrayBufferByteLength = __w_pdfjs_require__(115);
-var PROPER_TRANSFER = __w_pdfjs_require__(119);
-var TypeError = global.TypeError;
-var structuredClone = global.structuredClone;
-var ArrayBuffer = global.ArrayBuffer;
-var DataView = global.DataView;
-var min = Math.min;
-var ArrayBufferPrototype = ArrayBuffer.prototype;
-var DataViewPrototype = DataView.prototype;
-var slice = uncurryThis(ArrayBufferPrototype.slice);
-var isResizable = uncurryThisAccessor(ArrayBufferPrototype, 'resizable', 'get');
-var maxByteLength = uncurryThisAccessor(ArrayBufferPrototype, 'maxByteLength', 'get');
-var getInt8 = uncurryThis(DataViewPrototype.getInt8);
-var setInt8 = uncurryThis(DataViewPrototype.setInt8);
-module.exports = PROPER_TRANSFER && function (arrayBuffer, newLength, preserveResizability) {
- var byteLength = arrayBufferByteLength(arrayBuffer);
- var newByteLength = newLength === undefined ? byteLength : toIndex(newLength);
- var fixedLength = !isResizable || !isResizable(arrayBuffer);
- if (isDetached(arrayBuffer))
- throw TypeError('ArrayBuffer is detached');
- var newBuffer = structuredClone(arrayBuffer, { transfer: [arrayBuffer] });
- if (byteLength == newByteLength && (preserveResizability || fixedLength))
- return newBuffer;
- if (byteLength >= newByteLength && (!preserveResizability || fixedLength))
- return slice(newBuffer, 0, newByteLength);
- var options = preserveResizability && !fixedLength && maxByteLength ? { maxByteLength: maxByteLength(newBuffer) } : undefined;
- var newNewBuffer = new ArrayBuffer(newByteLength, options);
- var a = new DataView(newBuffer);
- var b = new DataView(newNewBuffer);
- var copyLength = min(newByteLength, byteLength);
- for (var i = 0; i < copyLength; i++)
- setInt8(b, i, getInt8(a, i));
- return newNewBuffer;
-};
-
-/***/ }),
-/* 118 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var toIntegerOrInfinity = __w_pdfjs_require__(62);
-var toLength = __w_pdfjs_require__(65);
-var $RangeError = RangeError;
-module.exports = function (it) {
- if (it === undefined)
- return 0;
- var number = toIntegerOrInfinity(it);
- var length = toLength(number);
- if (number !== length)
- throw $RangeError('Wrong length or index');
- return length;
-};
-
-/***/ }),
-/* 119 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var global = __w_pdfjs_require__(4);
-var fails = __w_pdfjs_require__(7);
-var V8 = __w_pdfjs_require__(28);
-var IS_BROWSER = __w_pdfjs_require__(120);
-var IS_DENO = __w_pdfjs_require__(121);
-var IS_NODE = __w_pdfjs_require__(122);
-var structuredClone = global.structuredClone;
-module.exports = !!structuredClone && !fails(function () {
- if (IS_DENO && V8 > 92 || IS_NODE && V8 > 94 || IS_BROWSER && V8 > 97)
- return false;
- var buffer = new ArrayBuffer(8);
- var clone = structuredClone(buffer, { transfer: [buffer] });
- return buffer.byteLength != 0 || clone.byteLength != 8;
-});
-
-/***/ }),
-/* 120 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var IS_DENO = __w_pdfjs_require__(121);
-var IS_NODE = __w_pdfjs_require__(122);
-module.exports = !IS_DENO && !IS_NODE && typeof window == 'object' && typeof document == 'object';
-
-/***/ }),
-/* 121 */
-/***/ ((module) => {
-
-module.exports = typeof Deno == 'object' && Deno && typeof Deno.version == 'object';
-
-/***/ }),
-/* 122 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var classof = __w_pdfjs_require__(15);
-module.exports = typeof process != 'undefined' && classof(process) == 'process';
-
-/***/ }),
-/* 123 */
-/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-"use strict";
-
-var $ = __w_pdfjs_require__(3);
-var $transfer = __w_pdfjs_require__(117);
-if ($transfer)
- $({
- target: 'ArrayBuffer',
- proto: true
- }, {
- transferToFixedLength: function transferToFixedLength() {
- return $transfer(this, arguments.length ? arguments[0] : undefined, false);
- }
- });
-
-/***/ }),
-/* 124 */
-/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", ({
- value: true
-}));
-exports.RenderTask = exports.PDFWorkerUtil = exports.PDFWorker = exports.PDFPageProxy = exports.PDFDocumentProxy = exports.PDFDocumentLoadingTask = exports.PDFDataRangeTransport = exports.LoopbackPort = exports.DefaultStandardFontDataFactory = exports.DefaultFilterFactory = exports.DefaultCanvasFactory = exports.DefaultCMapReaderFactory = void 0;
-Object.defineProperty(exports, "SVGGraphics", ({
- enumerable: true,
- get: function () {
- return _displaySvg.SVGGraphics;
- }
-}));
-exports.build = void 0;
-exports.getDocument = getDocument;
-exports.version = void 0;
-__w_pdfjs_require__(84);
-__w_pdfjs_require__(86);
-__w_pdfjs_require__(87);
-__w_pdfjs_require__(2);
-__w_pdfjs_require__(93);
-__w_pdfjs_require__(101);
-__w_pdfjs_require__(102);
-__w_pdfjs_require__(105);
-__w_pdfjs_require__(107);
-__w_pdfjs_require__(109);
-__w_pdfjs_require__(113);
-__w_pdfjs_require__(116);
-__w_pdfjs_require__(123);
-__w_pdfjs_require__(89);
-__w_pdfjs_require__(125);
-__w_pdfjs_require__(135);
-__w_pdfjs_require__(137);
-__w_pdfjs_require__(140);
-__w_pdfjs_require__(142);
-__w_pdfjs_require__(144);
-__w_pdfjs_require__(146);
-__w_pdfjs_require__(148);
-__w_pdfjs_require__(151);
-var _util = __w_pdfjs_require__(1);
-var _annotation_storage = __w_pdfjs_require__(162);
-var _display_utils = __w_pdfjs_require__(167);
-var _font_loader = __w_pdfjs_require__(170);
-var _displayNode_utils = __w_pdfjs_require__(171);
-var _canvas = __w_pdfjs_require__(172);
-var _worker_options = __w_pdfjs_require__(175);
-var _message_handler = __w_pdfjs_require__(176);
-var _metadata = __w_pdfjs_require__(177);
-var _optional_content_config = __w_pdfjs_require__(178);
-var _transport_stream = __w_pdfjs_require__(179);
-var _displayFetch_stream = __w_pdfjs_require__(180);
-var _displayNetwork = __w_pdfjs_require__(183);
-var _displayNode_stream = __w_pdfjs_require__(184);
-var _displaySvg = __w_pdfjs_require__(185);
-var _xfa_text = __w_pdfjs_require__(193);
-const DEFAULT_RANGE_CHUNK_SIZE = 65536;
-const RENDERING_CANCELLED_TIMEOUT = 100;
-const DELAYED_CLEANUP_TIMEOUT = 5000;
-const DefaultCanvasFactory = _util.isNodeJS ? _displayNode_utils.NodeCanvasFactory : _display_utils.DOMCanvasFactory;
-exports.DefaultCanvasFactory = DefaultCanvasFactory;
-const DefaultCMapReaderFactory = _util.isNodeJS ? _displayNode_utils.NodeCMapReaderFactory : _display_utils.DOMCMapReaderFactory;
-exports.DefaultCMapReaderFactory = DefaultCMapReaderFactory;
-const DefaultFilterFactory = _util.isNodeJS ? _displayNode_utils.NodeFilterFactory : _display_utils.DOMFilterFactory;
-exports.DefaultFilterFactory = DefaultFilterFactory;
-const DefaultStandardFontDataFactory = _util.isNodeJS ? _displayNode_utils.NodeStandardFontDataFactory : _display_utils.DOMStandardFontDataFactory;
-exports.DefaultStandardFontDataFactory = DefaultStandardFontDataFactory;
-function getDocument(src) {
- if (typeof src === "string" || src instanceof URL) {
- src = {
- url: src
- };
- } else if ((0, _util.isArrayBuffer)(src)) {
- src = {
- data: src
- };
- }
- if (typeof src !== "object") {
- throw new Error("Invalid parameter in getDocument, need parameter object.");
- }
- if (!src.url && !src.data && !src.range) {
- throw new Error("Invalid parameter object: need either .data, .range or .url");
- }
- const task = new PDFDocumentLoadingTask();
- const {
- docId
- } = task;
- const url = src.url ? getUrlProp(src.url) : null;
- const data = src.data ? getDataProp(src.data) : null;
- const httpHeaders = src.httpHeaders || null;
- const withCredentials = src.withCredentials === true;
- const password = src.password ?? null;
- const rangeTransport = src.range instanceof PDFDataRangeTransport ? src.range : null;
- const rangeChunkSize = Number.isInteger(src.rangeChunkSize) && src.rangeChunkSize > 0 ? src.rangeChunkSize : DEFAULT_RANGE_CHUNK_SIZE;
- let worker = src.worker instanceof PDFWorker ? src.worker : null;
- const verbosity = src.verbosity;
- const docBaseUrl = typeof src.docBaseUrl === "string" && !(0, _display_utils.isDataScheme)(src.docBaseUrl) ? src.docBaseUrl : null;
- const cMapUrl = typeof src.cMapUrl === "string" ? src.cMapUrl : null;
- const cMapPacked = src.cMapPacked !== false;
- const CMapReaderFactory = src.CMapReaderFactory || DefaultCMapReaderFactory;
- const standardFontDataUrl = typeof src.standardFontDataUrl === "string" ? src.standardFontDataUrl : null;
- const StandardFontDataFactory = src.StandardFontDataFactory || DefaultStandardFontDataFactory;
- const ignoreErrors = src.stopAtErrors !== true;
- const maxImageSize = Number.isInteger(src.maxImageSize) && src.maxImageSize > -1 ? src.maxImageSize : -1;
- const isEvalSupported = src.isEvalSupported !== false;
- const isOffscreenCanvasSupported = typeof src.isOffscreenCanvasSupported === "boolean" ? src.isOffscreenCanvasSupported : !_util.isNodeJS;
- const canvasMaxAreaInBytes = Number.isInteger(src.canvasMaxAreaInBytes) ? src.canvasMaxAreaInBytes : -1;
- const disableFontFace = typeof src.disableFontFace === "boolean" ? src.disableFontFace : _util.isNodeJS;
- const fontExtraProperties = src.fontExtraProperties === true;
- const enableXfa = src.enableXfa === true;
- const ownerDocument = src.ownerDocument || globalThis.document;
- const disableRange = src.disableRange === true;
- const disableStream = src.disableStream === true;
- const disableAutoFetch = src.disableAutoFetch === true;
- const pdfBug = src.pdfBug === true;
- const length = rangeTransport ? rangeTransport.length : src.length ?? NaN;
- const useSystemFonts = typeof src.useSystemFonts === "boolean" ? src.useSystemFonts : !_util.isNodeJS && !disableFontFace;
- const useWorkerFetch = typeof src.useWorkerFetch === "boolean" ? src.useWorkerFetch : CMapReaderFactory === _display_utils.DOMCMapReaderFactory && StandardFontDataFactory === _display_utils.DOMStandardFontDataFactory && cMapUrl && standardFontDataUrl && (0, _display_utils.isValidFetchUrl)(cMapUrl, document.baseURI) && (0, _display_utils.isValidFetchUrl)(standardFontDataUrl, document.baseURI);
- const canvasFactory = src.canvasFactory || new DefaultCanvasFactory({
- ownerDocument
- });
- const filterFactory = src.filterFactory || new DefaultFilterFactory({
- docId,
- ownerDocument
- });
- const styleElement = null;
- (0, _util.setVerbosityLevel)(verbosity);
- const transportFactory = {
- canvasFactory,
- filterFactory
- };
- if (!useWorkerFetch) {
- transportFactory.cMapReaderFactory = new CMapReaderFactory({
- baseUrl: cMapUrl,
- isCompressed: cMapPacked
- });
- transportFactory.standardFontDataFactory = new StandardFontDataFactory({
- baseUrl: standardFontDataUrl
- });
- }
- if (!worker) {
- const workerParams = {
- verbosity,
- port: _worker_options.GlobalWorkerOptions.workerPort
- };
- worker = workerParams.port ? PDFWorker.fromPort(workerParams) : new PDFWorker(workerParams);
- task._worker = worker;
- }
- const fetchDocParams = {
- docId,
- apiVersion: '3.9.179',
- data,
- password,
- disableAutoFetch,
- rangeChunkSize,
- length,
- docBaseUrl,
- enableXfa,
- evaluatorOptions: {
- maxImageSize,
- disableFontFace,
- ignoreErrors,
- isEvalSupported,
- isOffscreenCanvasSupported,
- canvasMaxAreaInBytes,
- fontExtraProperties,
- useSystemFonts,
- cMapUrl: useWorkerFetch ? cMapUrl : null,
- standardFontDataUrl: useWorkerFetch ? standardFontDataUrl : null
- }
- };
- const transportParams = {
- ignoreErrors,
- isEvalSupported,
- disableFontFace,
- fontExtraProperties,
- enableXfa,
- ownerDocument,
- disableAutoFetch,
- pdfBug,
- styleElement
- };
- worker.promise.then(function () {
- if (task.destroyed) {
- throw new Error("Loading aborted");
- }
- const workerIdPromise = _fetchDocument(worker, fetchDocParams);
- const networkStreamPromise = new Promise(function (resolve) {
- let networkStream;
- if (rangeTransport) {
- networkStream = new _transport_stream.PDFDataTransportStream({
- length,
- initialData: rangeTransport.initialData,
- progressiveDone: rangeTransport.progressiveDone,
- contentDispositionFilename: rangeTransport.contentDispositionFilename,
- disableRange,
- disableStream
- }, rangeTransport);
- } else if (!data) {
- const createPDFNetworkStream = params => {
- if (_util.isNodeJS) {
- return new _displayNode_stream.PDFNodeStream(params);
- }
- return (0, _display_utils.isValidFetchUrl)(params.url) ? new _displayFetch_stream.PDFFetchStream(params) : new _displayNetwork.PDFNetworkStream(params);
- };
- networkStream = createPDFNetworkStream({
- url,
- length,
- httpHeaders,
- withCredentials,
- rangeChunkSize,
- disableRange,
- disableStream
- });
- }
- resolve(networkStream);
- });
- return Promise.all([workerIdPromise, networkStreamPromise]).then(function (_ref) {
- let [workerId, networkStream] = _ref;
- if (task.destroyed) {
- throw new Error("Loading aborted");
- }
- const messageHandler = new _message_handler.MessageHandler(docId, workerId, worker.port);
- const transport = new WorkerTransport(messageHandler, task, networkStream, transportParams, transportFactory);
- task._transport = transport;
- messageHandler.send("Ready", null);
- });
- }).catch(task._capability.reject);
- return task;
-}
-async function _fetchDocument(worker, source) {
- if (worker.destroyed) {
- throw new Error("Worker was destroyed");
- }
- const workerId = await worker.messageHandler.sendWithPromise("GetDocRequest", source, source.data ? [source.data.buffer] : null);
- if (worker.destroyed) {
- throw new Error("Worker was destroyed");
- }
- return workerId;
-}
-function getUrlProp(val) {
- if (val instanceof URL) {
- return val.href;
- }
- try {
- return new URL(val, window.location).href;
- } catch {
- if (_util.isNodeJS && typeof val === "string") {
- return val;
- }
- }
- throw new Error("Invalid PDF url data: " + "either string or URL-object is expected in the url property.");
-}
-function getDataProp(val) {
- if (_util.isNodeJS && typeof Buffer !== "undefined" && val instanceof Buffer) {
- throw new Error("Please provide binary data as `Uint8Array`, rather than `Buffer`.");
- }
- if (val instanceof Uint8Array && val.byteLength === val.buffer.byteLength) {
- return val;
- }
- if (typeof val === "string") {
- return (0, _util.stringToBytes)(val);
- }
- if (typeof val === "object" && !isNaN(val?.length) || (0, _util.isArrayBuffer)(val)) {
- return new Uint8Array(val);
- }
- throw new Error("Invalid PDF binary data: either TypedArray, " + "string, or array-like object is expected in the data property.");
-}
-class PDFDocumentLoadingTask {
- static #docId = 0;
- constructor() {
- this._capability = new _util.PromiseCapability();
- this._transport = null;
- this._worker = null;
- this.docId = `d${PDFDocumentLoadingTask.#docId++}`;
- this.destroyed = false;
- this.onPassword = null;
- this.onProgress = null;
- }
- get promise() {
- return this._capability.promise;
- }
- async destroy() {
- this.destroyed = true;
- await this._transport?.destroy();
- this._transport = null;
- if (this._worker) {
- this._worker.destroy();
- this._worker = null;
- }
- }
-}
-exports.PDFDocumentLoadingTask = PDFDocumentLoadingTask;
-class PDFDataRangeTransport {
- constructor(length, initialData) {
- let progressiveDone = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
- let contentDispositionFilename = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;
- this.length = length;
- this.initialData = initialData;
- this.progressiveDone = progressiveDone;
- this.contentDispositionFilename = contentDispositionFilename;
- this._rangeListeners = [];
- this._progressListeners = [];
- this._progressiveReadListeners = [];
- this._progressiveDoneListeners = [];
- this._readyCapability = new _util.PromiseCapability();
- }
- addRangeListener(listener) {
- this._rangeListeners.push(listener);
- }
- addProgressListener(listener) {
- this._progressListeners.push(listener);
- }
- addProgressiveReadListener(listener) {
- this._progressiveReadListeners.push(listener);
- }
- addProgressiveDoneListener(listener) {
- this._progressiveDoneListeners.push(listener);
- }
- onDataRange(begin, chunk) {
- for (const listener of this._rangeListeners) {
- listener(begin, chunk);
- }
- }
- onDataProgress(loaded, total) {
- this._readyCapability.promise.then(() => {
- for (const listener of this._progressListeners) {
- listener(loaded, total);
- }
- });
- }
- onDataProgressiveRead(chunk) {
- this._readyCapability.promise.then(() => {
- for (const listener of this._progressiveReadListeners) {
- listener(chunk);
- }
- });
- }
- onDataProgressiveDone() {
- this._readyCapability.promise.then(() => {
- for (const listener of this._progressiveDoneListeners) {
- listener();
- }
- });
- }
- transportReady() {
- this._readyCapability.resolve();
- }
- requestDataRange(begin, end) {
- (0, _util.unreachable)("Abstract method PDFDataRangeTransport.requestDataRange");
- }
- abort() {}
-}
-exports.PDFDataRangeTransport = PDFDataRangeTransport;
-class PDFDocumentProxy {
- constructor(pdfInfo, transport) {
- this._pdfInfo = pdfInfo;
- this._transport = transport;
- }
- get annotationStorage() {
- return this._transport.annotationStorage;
- }
- get filterFactory() {
- return this._transport.filterFactory;
- }
- get numPages() {
- return this._pdfInfo.numPages;
- }
- get fingerprints() {
- return this._pdfInfo.fingerprints;
- }
- get isPureXfa() {
- return (0, _util.shadow)(this, "isPureXfa", !!this._transport._htmlForXfa);
- }
- get allXfaHtml() {
- return this._transport._htmlForXfa;
- }
- getPage(pageNumber) {
- return this._transport.getPage(pageNumber);
- }
- getPageIndex(ref) {
- return this._transport.getPageIndex(ref);
- }
- getDestinations() {
- return this._transport.getDestinations();
- }
- getDestination(id) {
- return this._transport.getDestination(id);
- }
- 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();
- }
- getJavaScript() {
- return this._transport.getJavaScript();
- }
- getJSActions() {
- return this._transport.getDocJSActions();
- }
- getOutline() {
- return this._transport.getOutline();
- }
- getOptionalContentConfig() {
- return this._transport.getOptionalContentConfig();
- }
- 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();
- }
- getDownloadInfo() {
- return this._transport.downloadInfoCapability.promise;
- }
- cleanup() {
- let keepLoadedFonts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
- return this._transport.startCleanup(keepLoadedFonts || this.isPureXfa);
- }
- destroy() {
- return this.loadingTask.destroy();
- }
- 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();
- }
-}
-exports.PDFDocumentProxy = PDFDocumentProxy;
-class PDFPageProxy {
- #delayedCleanupTimeout = null;
- #pendingCleanup = false;
- constructor(pageIndex, pageInfo, transport) {
- let pdfBug = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
- this._pageIndex = pageIndex;
- this._pageInfo = pageInfo;
- this._transport = transport;
- this._stats = pdfBug ? new _display_utils.StatTimer() : null;
- this._pdfBug = pdfBug;
- this.commonObjs = transport.commonObjs;
- this.objs = new PDFObjects();
- this._maybeCleanupAfterRender = false;
- this._intentStates = new Map();
- this.destroyed = false;
- }
- get pageNumber() {
- return this._pageIndex + 1;
- }
- 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() {
- let {
- scale,
- rotation = this.rotate,
- offsetX = 0,
- offsetY = 0,
- dontFlip = false
- } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
- return new _display_utils.PageViewport({
- viewBox: this.view,
- scale,
- rotation,
- offsetX,
- offsetY,
- dontFlip
- });
- }
- getAnnotations() {
- let {
- intent = "display"
- } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
- const intentArgs = this._transport.getRenderingIntent(intent);
- return this._transport.getAnnotations(this._pageIndex, intentArgs.renderingIntent);
- }
- getJSActions() {
- return this._transport.getPageJSActions(this._pageIndex);
- }
- get filterFactory() {
- return this._transport.filterFactory;
- }
- get isPureXfa() {
- return (0, _util.shadow)(this, "isPureXfa", !!this._transport._htmlForXfa);
- }
- async getXfa() {
- return this._transport._htmlForXfa?.children[this._pageIndex] || null;
- }
- render(_ref2) {
- let {
- canvasContext,
- viewport,
- intent = "display",
- annotationMode = _util.AnnotationMode.ENABLE,
- transform = null,
- background = null,
- optionalContentConfigPromise = null,
- annotationCanvasMap = null,
- pageColors = null,
- printAnnotationStorage = null
- } = _ref2;
- this._stats?.time("Overall");
- const intentArgs = this._transport.getRenderingIntent(intent, annotationMode, printAnnotationStorage);
- this.#pendingCleanup = false;
- this.#abortDelayedCleanup();
- if (!optionalContentConfigPromise) {
- optionalContentConfigPromise = this._transport.getOptionalContentConfig();
- }
- let intentState = this._intentStates.get(intentArgs.cacheKey);
- if (!intentState) {
- intentState = Object.create(null);
- this._intentStates.set(intentArgs.cacheKey, intentState);
- }
- if (intentState.streamReaderCancelTimeout) {
- clearTimeout(intentState.streamReaderCancelTimeout);
- intentState.streamReaderCancelTimeout = null;
- }
- const intentPrint = !!(intentArgs.renderingIntent & _util.RenderingIntentFlag.PRINT);
- if (!intentState.displayReadyCapability) {
- intentState.displayReadyCapability = new _util.PromiseCapability();
- intentState.operatorList = {
- fnArray: [],
- argsArray: [],
- lastChunk: false,
- separateAnnots: null
- };
- this._stats?.time("Page Request");
- this._pumpOperatorList(intentArgs);
- }
- const complete = error => {
- intentState.renderTasks.delete(internalRenderTask);
- if (this._maybeCleanupAfterRender || intentPrint) {
- this.#pendingCleanup = true;
- }
- this.#tryCleanup(!intentPrint);
- if (error) {
- internalRenderTask.capability.reject(error);
- this._abortOperatorList({
- intentState,
- reason: error instanceof Error ? error : new Error(error)
- });
- } else {
- internalRenderTask.capability.resolve();
- }
- this._stats?.timeEnd("Rendering");
- this._stats?.timeEnd("Overall");
- };
- const internalRenderTask = new InternalRenderTask({
- callback: complete,
- params: {
- canvasContext,
- viewport,
- transform,
- background
- },
- objs: this.objs,
- commonObjs: this.commonObjs,
- annotationCanvasMap,
- operatorList: intentState.operatorList,
- pageIndex: this._pageIndex,
- canvasFactory: this._transport.canvasFactory,
- filterFactory: this._transport.filterFactory,
- useRequestAnimationFrame: !intentPrint,
- pdfBug: this._pdfBug,
- pageColors
- });
- (intentState.renderTasks ||= new Set()).add(internalRenderTask);
- const renderTask = internalRenderTask.task;
- Promise.all([intentState.displayReadyCapability.promise, optionalContentConfigPromise]).then(_ref3 => {
- let [transparency, optionalContentConfig] = _ref3;
- if (this.destroyed) {
- complete();
- return;
- }
- this._stats?.time("Rendering");
- internalRenderTask.initializeGraphics({
- transparency,
- optionalContentConfig
- });
- internalRenderTask.operatorListChanged();
- }).catch(complete);
- return renderTask;
- }
- getOperatorList() {
- let {
- intent = "display",
- annotationMode = _util.AnnotationMode.ENABLE,
- printAnnotationStorage = null
- } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
- function operatorListChanged() {
- if (intentState.operatorList.lastChunk) {
- intentState.opListReadCapability.resolve(intentState.operatorList);
- intentState.renderTasks.delete(opListTask);
- }
- }
- const intentArgs = this._transport.getRenderingIntent(intent, annotationMode, printAnnotationStorage, true);
- let intentState = this._intentStates.get(intentArgs.cacheKey);
- if (!intentState) {
- intentState = Object.create(null);
- this._intentStates.set(intentArgs.cacheKey, intentState);
- }
- let opListTask;
- if (!intentState.opListReadCapability) {
- opListTask = Object.create(null);
- opListTask.operatorListChanged = operatorListChanged;
- intentState.opListReadCapability = new _util.PromiseCapability();
- (intentState.renderTasks ||= new Set()).add(opListTask);
- intentState.operatorList = {
- fnArray: [],
- argsArray: [],
- lastChunk: false,
- separateAnnots: null
- };
- this._stats?.time("Page Request");
- this._pumpOperatorList(intentArgs);
- }
- return intentState.opListReadCapability.promise;
- }
- streamTextContent() {
- let {
- includeMarkedContent = false,
- disableNormalization = false
- } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
- const TEXT_CONTENT_CHUNK_SIZE = 100;
- return this._transport.messageHandler.sendWithStream("GetTextContent", {
- pageIndex: this._pageIndex,
- includeMarkedContent: includeMarkedContent === true,
- disableNormalization: disableNormalization === true
- }, {
- highWaterMark: TEXT_CONTENT_CHUNK_SIZE,
- size(textContent) {
- return textContent.items.length;
- }
- });
- }
- getTextContent() {
- let params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
- if (this._transport._htmlForXfa) {
- return this.getXfa().then(xfa => {
- return _xfa_text.XfaText.textContent(xfa);
- });
- }
- const readableStream = this.streamTextContent(params);
- return new Promise(function (resolve, reject) {
- function pump() {
- reader.read().then(function (_ref4) {
- let {
- value,
- done
- } = _ref4;
- if (done) {
- resolve(textContent);
- return;
- }
- Object.assign(textContent.styles, value.styles);
- textContent.items.push(...value.items);
- pump();
- }, reject);
- }
- const reader = readableStream.getReader();
- const textContent = {
- items: [],
- styles: Object.create(null)
- };
- pump();
- });
- }
- getStructTree() {
- return this._transport.getStructTree(this._pageIndex);
- }
- _destroy() {
- this.destroyed = true;
- const waitOn = [];
- for (const intentState of this._intentStates.values()) {
- this._abortOperatorList({
- intentState,
- reason: new Error("Page was destroyed."),
- force: true
- });
- if (intentState.opListReadCapability) {
- continue;
- }
- for (const internalRenderTask of intentState.renderTasks) {
- waitOn.push(internalRenderTask.completed);
- internalRenderTask.cancel();
- }
- }
- this.objs.clear();
- this.#pendingCleanup = false;
- this.#abortDelayedCleanup();
- return Promise.all(waitOn);
- }
- cleanup() {
- let resetStats = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
- this.#pendingCleanup = true;
- const success = this.#tryCleanup(false);
- if (resetStats && success) {
- this._stats &&= new _display_utils.StatTimer();
- }
- return success;
- }
- #tryCleanup() {
- let delayed = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
- this.#abortDelayedCleanup();
- if (!this.#pendingCleanup || this.destroyed) {
- return false;
- }
- if (delayed) {
- this.#delayedCleanupTimeout = setTimeout(() => {
- this.#delayedCleanupTimeout = null;
- this.#tryCleanup(false);
- }, DELAYED_CLEANUP_TIMEOUT);
- return false;
- }
- for (const {
- renderTasks,
- operatorList
- } of this._intentStates.values()) {
- if (renderTasks.size > 0 || !operatorList.lastChunk) {
- return false;
- }
- }
- this._intentStates.clear();
- this.objs.clear();
- this.#pendingCleanup = false;
- return true;
- }
- #abortDelayedCleanup() {
- if (this.#delayedCleanupTimeout) {
- clearTimeout(this.#delayedCleanupTimeout);
- this.#delayedCleanupTimeout = null;
- }
- }
- _startRenderPage(transparency, cacheKey) {
- const intentState = this._intentStates.get(cacheKey);
- if (!intentState) {
- return;
- }
- this._stats?.timeEnd("Page Request");
- intentState.displayReadyCapability?.resolve(transparency);
- }
- _renderPageChunk(operatorListChunk, intentState) {
- for (let i = 0, ii = operatorListChunk.length; i < ii; i++) {
- intentState.operatorList.fnArray.push(operatorListChunk.fnArray[i]);
- intentState.operatorList.argsArray.push(operatorListChunk.argsArray[i]);
- }
- intentState.operatorList.lastChunk = operatorListChunk.lastChunk;
- intentState.operatorList.separateAnnots = operatorListChunk.separateAnnots;
- for (const internalRenderTask of intentState.renderTasks) {
- internalRenderTask.operatorListChanged();
- }
- if (operatorListChunk.lastChunk) {
- this.#tryCleanup(true);
- }
- }
- _pumpOperatorList(_ref5) {
- let {
- renderingIntent,
- cacheKey,
- annotationStorageSerializable
- } = _ref5;
- const {
- map,
- transfers
- } = annotationStorageSerializable;
- const readableStream = this._transport.messageHandler.sendWithStream("GetOperatorList", {
- pageIndex: this._pageIndex,
- intent: renderingIntent,
- cacheKey,
- annotationStorage: map
- }, transfers);
- const reader = readableStream.getReader();
- const intentState = this._intentStates.get(cacheKey);
- intentState.streamReader = reader;
- const pump = () => {
- reader.read().then(_ref6 => {
- let {
- value,
- done
- } = _ref6;
- if (done) {
- intentState.streamReader = null;
- return;
- }
- if (this._transport.destroyed) {
- return;
- }
- this._renderPageChunk(value, intentState);
- pump();
- }, reason => {
- intentState.streamReader = null;
- if (this._transport.destroyed) {
- return;
- }
- if (intentState.operatorList) {
- intentState.operatorList.lastChunk = true;
- for (const internalRenderTask of intentState.renderTasks) {
- internalRenderTask.operatorListChanged();
- }
- this.#tryCleanup(true);
- }
- if (intentState.displayReadyCapability) {
- intentState.displayReadyCapability.reject(reason);
- } else if (intentState.opListReadCapability) {
- intentState.opListReadCapability.reject(reason);
- } else {
- throw reason;
- }
- });
- };
- pump();
- }
- _abortOperatorList(_ref7) {
- let {
- intentState,
- reason,
- force = false
- } = _ref7;
- if (!intentState.streamReader) {
- return;
- }
- if (intentState.streamReaderCancelTimeout) {
- clearTimeout(intentState.streamReaderCancelTimeout);
- intentState.streamReaderCancelTimeout = null;
- }
- if (!force) {
- if (intentState.renderTasks.size > 0) {
- return;
- }
- if (reason instanceof _display_utils.RenderingCancelledException) {
- let delay = RENDERING_CANCELLED_TIMEOUT;
- if (reason.extraDelay > 0 && reason.extraDelay < 1000) {
- delay += reason.extraDelay;
- }
- intentState.streamReaderCancelTimeout = setTimeout(() => {
- intentState.streamReaderCancelTimeout = null;
- this._abortOperatorList({
- intentState,
- reason,
- force: true
- });
- }, delay);
- return;
- }
- }
- intentState.streamReader.cancel(new _util.AbortException(reason.message)).catch(() => {});
- intentState.streamReader = null;
- if (this._transport.destroyed) {
- return;
- }
- for (const [curCacheKey, curIntentState] of this._intentStates) {
- if (curIntentState === intentState) {
- this._intentStates.delete(curCacheKey);
- break;
- }
- }
- this.cleanup();
- }
- get stats() {
- return this._stats;
- }
-}
-exports.PDFPageProxy = PDFPageProxy;
-class LoopbackPort {
- #listeners = new Set();
- #deferred = Promise.resolve();
- postMessage(obj, transfer) {
- const event = {
- data: structuredClone(obj, null)
- };
- this.#deferred.then(() => {
- for (const listener of this.#listeners) {
- listener.call(this, event);
- }
- });
- }
- addEventListener(name, listener) {
- this.#listeners.add(listener);
- }
- removeEventListener(name, listener) {
- this.#listeners.delete(listener);
- }
- terminate() {
- this.#listeners.clear();
- }
-}
-exports.LoopbackPort = LoopbackPort;
-const PDFWorkerUtil = {
- isWorkerDisabled: false,
- fallbackWorkerSrc: null,
- fakeWorkerId: 0
-};
-exports.PDFWorkerUtil = PDFWorkerUtil;
-{
- if (_util.isNodeJS && typeof require === "function") {
- PDFWorkerUtil.isWorkerDisabled = true;
- PDFWorkerUtil.fallbackWorkerSrc = "./pdf.worker.js";
- } else if (typeof document === "object") {
- const pdfjsFilePath = document?.currentScript?.src;
- if (pdfjsFilePath) {
- PDFWorkerUtil.fallbackWorkerSrc = pdfjsFilePath.replace(/(\.(?:min\.)?js)(\?.*)?$/i, ".worker$1$2");
- }
- }
- PDFWorkerUtil.isSameOrigin = function (baseUrl, otherUrl) {
- let base;
- try {
- base = new URL(baseUrl);
- if (!base.origin || base.origin === "null") {
- return false;
- }
- } catch {
- return false;
- }
- const other = new URL(otherUrl, base);
- return base.origin === other.origin;
- };
- PDFWorkerUtil.createCDNWrapper = function (url) {
- const wrapper = `importScripts("${url}");`;
- return URL.createObjectURL(new Blob([wrapper]));
- };
-}
-class PDFWorker {
- static #workerPorts = new WeakMap();
- constructor() {
- let {
- name = null,
- port = null,
- verbosity = (0, _util.getVerbosityLevel)()
- } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
- if (port && PDFWorker.#workerPorts.has(port)) {
- throw new Error("Cannot use more than one PDFWorker per port.");
- }
- this.name = name;
- this.destroyed = false;
- this.verbosity = verbosity;
- this._readyCapability = new _util.PromiseCapability();
- this._port = null;
- this._webWorker = null;
- this._messageHandler = null;
- if (port) {
- PDFWorker.#workerPorts.set(port, this);
- this._initializeFromPort(port);
- return;
- }
- this._initialize();
- }
- get promise() {
- return this._readyCapability.promise;
- }
- get port() {
- return this._port;
- }
- get messageHandler() {
- return this._messageHandler;
- }
- _initializeFromPort(port) {
- this._port = port;
- this._messageHandler = new _message_handler.MessageHandler("main", "worker", port);
- this._messageHandler.on("ready", function () {});
- this._readyCapability.resolve();
- this._messageHandler.send("configure", {
- verbosity: this.verbosity
- });
- }
- _initialize() {
- if (!PDFWorkerUtil.isWorkerDisabled && !PDFWorker._mainThreadWorkerMessageHandler) {
- let {
- workerSrc
- } = PDFWorker;
- try {
- if (!PDFWorkerUtil.isSameOrigin(window.location.href, workerSrc)) {
- workerSrc = PDFWorkerUtil.createCDNWrapper(new URL(workerSrc, window.location).href);
- }
- const worker = new Worker(workerSrc);
- const messageHandler = new _message_handler.MessageHandler("main", "worker", worker);
- const terminateEarly = () => {
- worker.removeEventListener("error", onWorkerError);
- messageHandler.destroy();
- worker.terminate();
- if (this.destroyed) {
- this._readyCapability.reject(new Error("Worker was destroyed"));
- } else {
- this._setupFakeWorker();
- }
- };
- const onWorkerError = () => {
- if (!this._webWorker) {
- terminateEarly();
- }
- };
- worker.addEventListener("error", onWorkerError);
- messageHandler.on("test", data => {
- worker.removeEventListener("error", onWorkerError);
- if (this.destroyed) {
- terminateEarly();
- return;
- }
- if (data) {
- this._messageHandler = messageHandler;
- this._port = worker;
- this._webWorker = worker;
- this._readyCapability.resolve();
- messageHandler.send("configure", {
- verbosity: this.verbosity
- });
- } else {
- this._setupFakeWorker();
- messageHandler.destroy();
- worker.terminate();
- }
- });
- messageHandler.on("ready", data => {
- worker.removeEventListener("error", onWorkerError);
- if (this.destroyed) {
- terminateEarly();
- return;
- }
- try {
- sendTest();
- } catch {
- this._setupFakeWorker();
- }
- });
- const sendTest = () => {
- const testObj = new Uint8Array();
- messageHandler.send("test", testObj, [testObj.buffer]);
- };
- sendTest();
- return;
- } catch {
- (0, _util.info)("The worker has been disabled.");
- }
- }
- this._setupFakeWorker();
- }
- _setupFakeWorker() {
- if (!PDFWorkerUtil.isWorkerDisabled) {
- (0, _util.warn)("Setting up fake worker.");
- PDFWorkerUtil.isWorkerDisabled = true;
- }
- PDFWorker._setupFakeWorkerGlobal.then(WorkerMessageHandler => {
- if (this.destroyed) {
- this._readyCapability.reject(new Error("Worker was destroyed"));
- return;
- }
- const port = new LoopbackPort();
- this._port = port;
- const id = `fake${PDFWorkerUtil.fakeWorkerId++}`;
- const workerHandler = new _message_handler.MessageHandler(id + "_worker", id, port);
- WorkerMessageHandler.setup(workerHandler, port);
- const messageHandler = new _message_handler.MessageHandler(id, id + "_worker", port);
- this._messageHandler = messageHandler;
- this._readyCapability.resolve();
- messageHandler.send("configure", {
- verbosity: this.verbosity
- });
- }).catch(reason => {
- this._readyCapability.reject(new Error(`Setting up fake worker failed: "${reason.message}".`));
- });
- }
- destroy() {
- this.destroyed = true;
- if (this._webWorker) {
- this._webWorker.terminate();
- this._webWorker = null;
- }
- PDFWorker.#workerPorts.delete(this._port);
- this._port = null;
- if (this._messageHandler) {
- this._messageHandler.destroy();
- this._messageHandler = null;
- }
- }
- static fromPort(params) {
- if (!params?.port) {
- throw new Error("PDFWorker.fromPort - invalid method signature.");
- }
- if (this.#workerPorts.has(params.port)) {
- return this.#workerPorts.get(params.port);
- }
- return new PDFWorker(params);
- }
- static get workerSrc() {
- if (_worker_options.GlobalWorkerOptions.workerSrc) {
- return _worker_options.GlobalWorkerOptions.workerSrc;
- }
- if (PDFWorkerUtil.fallbackWorkerSrc !== null) {
- if (!_util.isNodeJS) {
- (0, _display_utils.deprecated)('No "GlobalWorkerOptions.workerSrc" specified.');
- }
- return PDFWorkerUtil.fallbackWorkerSrc;
- }
- throw new Error('No "GlobalWorkerOptions.workerSrc" specified.');
- }
- static get _mainThreadWorkerMessageHandler() {
- try {
- return globalThis.pdfjsWorker?.WorkerMessageHandler || null;
- } catch {
- return null;
- }
- }
- static get _setupFakeWorkerGlobal() {
- const loader = async () => {
- const mainWorkerMessageHandler = this._mainThreadWorkerMessageHandler;
- if (mainWorkerMessageHandler) {
- return mainWorkerMessageHandler;
- }
- if (_util.isNodeJS && typeof require === "function") {
- const worker = eval("require")(this.workerSrc);
- return worker.WorkerMessageHandler;
- }
- await (0, _display_utils.loadScript)(this.workerSrc);
- return window.pdfjsWorker.WorkerMessageHandler;
- };
- return (0, _util.shadow)(this, "_setupFakeWorkerGlobal", loader());
- }
-}
-exports.PDFWorker = PDFWorker;
-class WorkerTransport {
- #methodPromises = new Map();
- #pageCache = new Map();
- #pagePromises = new Map();
- #passwordCapability = null;
- constructor(messageHandler, loadingTask, networkStream, params, factory) {
- this.messageHandler = messageHandler;
- this.loadingTask = loadingTask;
- this.commonObjs = new PDFObjects();
- this.fontLoader = new _font_loader.FontLoader({
- ownerDocument: params.ownerDocument,
- styleElement: params.styleElement
- });
- this._params = params;
- this.canvasFactory = factory.canvasFactory;
- this.filterFactory = factory.filterFactory;
- this.cMapReaderFactory = factory.cMapReaderFactory;
- this.standardFontDataFactory = factory.standardFontDataFactory;
- this.destroyed = false;
- this.destroyCapability = null;
- this._networkStream = networkStream;
- this._fullReader = null;
- this._lastProgress = null;
- this.downloadInfoCapability = new _util.PromiseCapability();
- this.setupMessageHandler();
- }
- #cacheSimpleMethod(name) {
- let data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
- const cachedPromise = this.#methodPromises.get(name);
- if (cachedPromise) {
- return cachedPromise;
- }
- const promise = this.messageHandler.sendWithPromise(name, data);
- this.#methodPromises.set(name, promise);
- return promise;
- }
- get annotationStorage() {
- return (0, _util.shadow)(this, "annotationStorage", new _annotation_storage.AnnotationStorage());
- }
- getRenderingIntent(intent) {
- let annotationMode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _util.AnnotationMode.ENABLE;
- let printAnnotationStorage = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
- let isOpList = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
- let renderingIntent = _util.RenderingIntentFlag.DISPLAY;
- let annotationStorageSerializable = _annotation_storage.SerializableEmpty;
- switch (intent) {
- case "any":
- renderingIntent = _util.RenderingIntentFlag.ANY;
- break;
- case "display":
- break;
- case "print":
- renderingIntent = _util.RenderingIntentFlag.PRINT;
- break;
- default:
- (0, _util.warn)(`getRenderingIntent - invalid intent: ${intent}`);
- }
- switch (annotationMode) {
- case _util.AnnotationMode.DISABLE:
- renderingIntent += _util.RenderingIntentFlag.ANNOTATIONS_DISABLE;
- break;
- case _util.AnnotationMode.ENABLE:
- break;
- case _util.AnnotationMode.ENABLE_FORMS:
- renderingIntent += _util.RenderingIntentFlag.ANNOTATIONS_FORMS;
- break;
- case _util.AnnotationMode.ENABLE_STORAGE:
- renderingIntent += _util.RenderingIntentFlag.ANNOTATIONS_STORAGE;
- const annotationStorage = renderingIntent & _util.RenderingIntentFlag.PRINT && printAnnotationStorage instanceof _annotation_storage.PrintAnnotationStorage ? printAnnotationStorage : this.annotationStorage;
- annotationStorageSerializable = annotationStorage.serializable;
- break;
- default:
- (0, _util.warn)(`getRenderingIntent - invalid annotationMode: ${annotationMode}`);
- }
- if (isOpList) {
- renderingIntent += _util.RenderingIntentFlag.OPLIST;
- }
- return {
- renderingIntent,
- cacheKey: `${renderingIntent}_${annotationStorageSerializable.hash}`,
- annotationStorageSerializable
- };
- }
- destroy() {
- if (this.destroyCapability) {
- return this.destroyCapability.promise;
- }
- this.destroyed = true;
- this.destroyCapability = new _util.PromiseCapability();
- this.#passwordCapability?.reject(new Error("Worker was destroyed during onPassword callback"));
- const waitOn = [];
- for (const page of this.#pageCache.values()) {
- waitOn.push(page._destroy());
- }
- this.#pageCache.clear();
- this.#pagePromises.clear();
- if (this.hasOwnProperty("annotationStorage")) {
- this.annotationStorage.resetModified();
- }
- const terminated = this.messageHandler.sendWithPromise("Terminate", null);
- waitOn.push(terminated);
- Promise.all(waitOn).then(() => {
- this.commonObjs.clear();
- this.fontLoader.clear();
- this.#methodPromises.clear();
- this.filterFactory.destroy();
- if (this._networkStream) {
- this._networkStream.cancelAllRequests(new _util.AbortException("Worker was terminated."));
- }
- if (this.messageHandler) {
- this.messageHandler.destroy();
- this.messageHandler = null;
- }
- this.destroyCapability.resolve();
- }, this.destroyCapability.reject);
- return this.destroyCapability.promise;
- }
- setupMessageHandler() {
- const {
- messageHandler,
- loadingTask
- } = this;
- messageHandler.on("GetReader", (data, sink) => {
- (0, _util.assert)(this._networkStream, "GetReader - no `IPDFStream` instance available.");
- this._fullReader = this._networkStream.getFullReader();
- this._fullReader.onProgress = evt => {
- this._lastProgress = {
- loaded: evt.loaded,
- total: evt.total
- };
- };
- sink.onPull = () => {
- this._fullReader.read().then(function (_ref8) {
- let {
- value,
- done
- } = _ref8;
- if (done) {
- sink.close();
- return;
- }
- (0, _util.assert)(value instanceof ArrayBuffer, "GetReader - expected an ArrayBuffer.");
- sink.enqueue(new Uint8Array(value), 1, [value]);
- }).catch(reason => {
- sink.error(reason);
- });
- };
- sink.onCancel = reason => {
- this._fullReader.cancel(reason);
- sink.ready.catch(readyReason => {
- if (this.destroyed) {
- return;
- }
- throw readyReason;
- });
- };
- });
- messageHandler.on("ReaderHeadersReady", data => {
- const headersCapability = new _util.PromiseCapability();
- const fullReader = this._fullReader;
- fullReader.headersReady.then(() => {
- if (!fullReader.isStreamingSupported || !fullReader.isRangeSupported) {
- if (this._lastProgress) {
- loadingTask.onProgress?.(this._lastProgress);
- }
- fullReader.onProgress = evt => {
- loadingTask.onProgress?.({
- loaded: evt.loaded,
- total: evt.total
- });
- };
- }
- headersCapability.resolve({
- isStreamingSupported: fullReader.isStreamingSupported,
- isRangeSupported: fullReader.isRangeSupported,
- contentLength: fullReader.contentLength
- });
- }, headersCapability.reject);
- return headersCapability.promise;
- });
- messageHandler.on("GetRangeReader", (data, sink) => {
- (0, _util.assert)(this._networkStream, "GetRangeReader - no `IPDFStream` instance available.");
- const rangeReader = this._networkStream.getRangeReader(data.begin, data.end);
- if (!rangeReader) {
- sink.close();
- return;
- }
- sink.onPull = () => {
- rangeReader.read().then(function (_ref9) {
- let {
- value,
- done
- } = _ref9;
- if (done) {
- sink.close();
- return;
- }
- (0, _util.assert)(value instanceof ArrayBuffer, "GetRangeReader - expected an ArrayBuffer.");
- sink.enqueue(new Uint8Array(value), 1, [value]);
- }).catch(reason => {
- sink.error(reason);
- });
- };
- sink.onCancel = reason => {
- rangeReader.cancel(reason);
- sink.ready.catch(readyReason => {
- if (this.destroyed) {
- return;
- }
- throw readyReason;
- });
- };
- });
- messageHandler.on("GetDoc", _ref10 => {
- let {
- pdfInfo
- } = _ref10;
- this._numPages = pdfInfo.numPages;
- this._htmlForXfa = pdfInfo.htmlForXfa;
- delete pdfInfo.htmlForXfa;
- loadingTask._capability.resolve(new PDFDocumentProxy(pdfInfo, this));
- });
- messageHandler.on("DocException", function (ex) {
- let reason;
- switch (ex.name) {
- case "PasswordException":
- reason = new _util.PasswordException(ex.message, ex.code);
- break;
- case "InvalidPDFException":
- reason = new _util.InvalidPDFException(ex.message);
- break;
- case "MissingPDFException":
- reason = new _util.MissingPDFException(ex.message);
- break;
- case "UnexpectedResponseException":
- reason = new _util.UnexpectedResponseException(ex.message, ex.status);
- break;
- case "UnknownErrorException":
- reason = new _util.UnknownErrorException(ex.message, ex.details);
- break;
- default:
- (0, _util.unreachable)("DocException - expected a valid Error.");
- }
- loadingTask._capability.reject(reason);
- });
- messageHandler.on("PasswordRequest", exception => {
- this.#passwordCapability = new _util.PromiseCapability();
- if (loadingTask.onPassword) {
- const updatePassword = password => {
- if (password instanceof Error) {
- this.#passwordCapability.reject(password);
- } else {
- this.#passwordCapability.resolve({
- password
- });
- }
- };
- try {
- loadingTask.onPassword(updatePassword, exception.code);
- } catch (ex) {
- this.#passwordCapability.reject(ex);
- }
- } else {
- this.#passwordCapability.reject(new _util.PasswordException(exception.message, exception.code));
- }
- return this.#passwordCapability.promise;
- });
- messageHandler.on("DataLoaded", data => {
- loadingTask.onProgress?.({
- loaded: data.length,
- total: data.length
- });
- this.downloadInfoCapability.resolve(data);
- });
- messageHandler.on("StartRenderPage", data => {
- if (this.destroyed) {
- return;
- }
- const page = this.#pageCache.get(data.pageIndex);
- page._startRenderPage(data.transparency, data.cacheKey);
- });
- messageHandler.on("commonobj", _ref11 => {
- let [id, type, exportedData] = _ref11;
- if (this.destroyed) {
- return;
- }
- if (this.commonObjs.has(id)) {
- return;
- }
- switch (type) {
- case "Font":
- const params = this._params;
- if ("error" in exportedData) {
- const exportedError = exportedData.error;
- (0, _util.warn)(`Error during font loading: ${exportedError}`);
- this.commonObjs.resolve(id, exportedError);
- break;
- }
- const inspectFont = params.pdfBug && globalThis.FontInspector?.enabled ? (font, url) => globalThis.FontInspector.fontAdded(font, url) : null;
- const font = new _font_loader.FontFaceObject(exportedData, {
- isEvalSupported: params.isEvalSupported,
- disableFontFace: params.disableFontFace,
- ignoreErrors: params.ignoreErrors,
- inspectFont
- });
- this.fontLoader.bind(font).catch(reason => {
- return messageHandler.sendWithPromise("FontFallback", {
- id
- });
- }).finally(() => {
- if (!params.fontExtraProperties && font.data) {
- font.data = null;
- }
- this.commonObjs.resolve(id, font);
- });
- break;
- case "FontPath":
- case "Image":
- case "Pattern":
- this.commonObjs.resolve(id, exportedData);
- break;
- default:
- throw new Error(`Got unknown common object type ${type}`);
- }
- });
- messageHandler.on("obj", _ref12 => {
- let [id, pageIndex, type, imageData] = _ref12;
- if (this.destroyed) {
- return;
- }
- const pageProxy = this.#pageCache.get(pageIndex);
- if (pageProxy.objs.has(id)) {
- return;
- }
- switch (type) {
- case "Image":
- pageProxy.objs.resolve(id, imageData);
- if (imageData) {
- let length;
- if (imageData.bitmap) {
- const {
- width,
- height
- } = imageData;
- length = width * height * 4;
- } else {
- length = imageData.data?.length || 0;
- }
- if (length > _util.MAX_IMAGE_SIZE_TO_CACHE) {
- pageProxy._maybeCleanupAfterRender = true;
- }
- }
- break;
- case "Pattern":
- pageProxy.objs.resolve(id, imageData);
- break;
- default:
- throw new Error(`Got unknown object type ${type}`);
- }
- });
- messageHandler.on("DocProgress", data => {
- if (this.destroyed) {
- return;
- }
- loadingTask.onProgress?.({
- loaded: data.loaded,
- total: data.total
- });
- });
- messageHandler.on("FetchBuiltInCMap", data => {
- if (this.destroyed) {
- return Promise.reject(new Error("Worker was destroyed."));
- }
- if (!this.cMapReaderFactory) {
- return Promise.reject(new Error("CMapReaderFactory not initialized, see the `useWorkerFetch` parameter."));
- }
- return this.cMapReaderFactory.fetch(data);
- });
- messageHandler.on("FetchStandardFontData", data => {
- if (this.destroyed) {
- return Promise.reject(new Error("Worker was destroyed."));
- }
- if (!this.standardFontDataFactory) {
- return Promise.reject(new Error("StandardFontDataFactory not initialized, see the `useWorkerFetch` parameter."));
- }
- return this.standardFontDataFactory.fetch(data);
- });
- }
- getData() {
- return this.messageHandler.sendWithPromise("GetData", null);
- }
- saveDocument() {
- if (this.annotationStorage.size <= 0) {
- (0, _util.warn)("saveDocument called while `annotationStorage` is empty, " + "please use the getData-method instead.");
- }
- const {
- map,
- transfers
- } = this.annotationStorage.serializable;
- return this.messageHandler.sendWithPromise("SaveDocument", {
- isPureXfa: !!this._htmlForXfa,
- numPages: this._numPages,
- annotationStorage: map,
- filename: this._fullReader?.filename ?? null
- }, transfers).finally(() => {
- this.annotationStorage.resetModified();
- });
- }
- getPage(pageNumber) {
- if (!Number.isInteger(pageNumber) || pageNumber <= 0 || pageNumber > this._numPages) {
- return Promise.reject(new Error("Invalid page request."));
- }
- const pageIndex = pageNumber - 1,
- cachedPromise = this.#pagePromises.get(pageIndex);
- if (cachedPromise) {
- return cachedPromise;
- }
- const promise = this.messageHandler.sendWithPromise("GetPage", {
- pageIndex
- }).then(pageInfo => {
- if (this.destroyed) {
- throw new Error("Transport destroyed");
- }
- const page = new PDFPageProxy(pageIndex, pageInfo, this, this._params.pdfBug);
- this.#pageCache.set(pageIndex, page);
- return page;
- });
- this.#pagePromises.set(pageIndex, promise);
- return promise;
- }
- getPageIndex(ref) {
- if (typeof ref !== "object" || ref === null || !Number.isInteger(ref.num) || ref.num < 0 || !Number.isInteger(ref.gen) || ref.gen < 0) {
- return Promise.reject(new Error("Invalid pageIndex request."));
- }
- return this.messageHandler.sendWithPromise("GetPageIndex", {
- num: ref.num,
- gen: ref.gen
- });
- }
- getAnnotations(pageIndex, intent) {
- return this.messageHandler.sendWithPromise("GetAnnotations", {
- pageIndex,
- intent
- });
- }
- getFieldObjects() {
- return this.#cacheSimpleMethod("GetFieldObjects");
- }
- hasJSActions() {
- return this.#cacheSimpleMethod("HasJSActions");
- }
- getCalculationOrderIds() {
- return this.messageHandler.sendWithPromise("GetCalculationOrderIds", null);
- }
- getDestinations() {
- return this.messageHandler.sendWithPromise("GetDestinations", null);
- }
- getDestination(id) {
- if (typeof id !== "string") {
- return Promise.reject(new Error("Invalid destination request."));
- }
- return this.messageHandler.sendWithPromise("GetDestination", {
- id
- });
- }
- 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);
- }
- getJavaScript() {
- return this.messageHandler.sendWithPromise("GetJavaScript", null);
- }
- getDocJSActions() {
- return this.messageHandler.sendWithPromise("GetDocJSActions", null);
- }
- getPageJSActions(pageIndex) {
- return this.messageHandler.sendWithPromise("GetPageJSActions", {
- pageIndex
- });
- }
- getStructTree(pageIndex) {
- return this.messageHandler.sendWithPromise("GetStructTree", {
- pageIndex
- });
- }
- getOutline() {
- return this.messageHandler.sendWithPromise("GetOutline", null);
- }
- getOptionalContentConfig() {
- return this.messageHandler.sendWithPromise("GetOptionalContentConfig", null).then(results => {
- return new _optional_content_config.OptionalContentConfig(results);
- });
- }
- getPermissions() {
- return this.messageHandler.sendWithPromise("GetPermissions", null);
- }
- getMetadata() {
- const name = "GetMetadata",
- cachedPromise = this.#methodPromises.get(name);
- if (cachedPromise) {
- return cachedPromise;
- }
- const promise = this.messageHandler.sendWithPromise(name, null).then(results => {
- return {
- info: results[0],
- metadata: results[1] ? new _metadata.Metadata(results[1]) : null,
- contentDispositionFilename: this._fullReader?.filename ?? null,
- contentLength: this._fullReader?.contentLength ?? null
- };
- });
- this.#methodPromises.set(name, promise);
- return promise;
- }
- getMarkInfo() {
- return this.messageHandler.sendWithPromise("GetMarkInfo", null);
- }
- async startCleanup() {
- let keepLoadedFonts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
- if (this.destroyed) {
- return;
- }
- await this.messageHandler.sendWithPromise("Cleanup", null);
- for (const page of this.#pageCache.values()) {
- const cleanupSuccessful = page.cleanup();
- if (!cleanupSuccessful) {
- throw new Error(`startCleanup: Page ${page.pageNumber} is currently rendering.`);
- }
- }
- this.commonObjs.clear();
- if (!keepLoadedFonts) {
- this.fontLoader.clear();
- }
- this.#methodPromises.clear();
- this.filterFactory.destroy(true);
- }
- get loadingParams() {
- const {
- disableAutoFetch,
- enableXfa
- } = this._params;
- return (0, _util.shadow)(this, "loadingParams", {
- disableAutoFetch,
- enableXfa
- });
- }
-}
-class PDFObjects {
- #objs = Object.create(null);
- #ensureObj(objId) {
- const obj = this.#objs[objId];
- if (obj) {
- return obj;
- }
- return this.#objs[objId] = {
- capability: new _util.PromiseCapability(),
- data: null
- };
- }
- get(objId) {
- let callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
- if (callback) {
- const obj = this.#ensureObj(objId);
- obj.capability.promise.then(() => callback(obj.data));
- return null;
- }
- const obj = this.#objs[objId];
- if (!obj?.capability.settled) {
- throw new Error(`Requesting object that isn't resolved yet ${objId}.`);
- }
- return obj.data;
- }
- has(objId) {
- const obj = this.#objs[objId];
- return obj?.capability.settled || false;
- }
- resolve(objId) {
- let data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
- const obj = this.#ensureObj(objId);
- obj.data = data;
- obj.capability.resolve();
- }
- clear() {
- for (const objId in this.#objs) {
- const {
- data
- } = this.#objs[objId];
- data?.bitmap?.close();
- }
- this.#objs = Object.create(null);
- }
-}
-class RenderTask {
- #internalRenderTask = null;
- constructor(internalRenderTask) {
- this.#internalRenderTask = internalRenderTask;
- this.onContinue = null;
- }
- get promise() {
- return this.#internalRenderTask.capability.promise;
- }
- cancel() {
- let extraDelay = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
- this.#internalRenderTask.cancel(null, extraDelay);
- }
- get separateAnnots() {
- const {
- separateAnnots
- } = this.#internalRenderTask.operatorList;
- if (!separateAnnots) {
- return false;
- }
- const {
- annotationCanvasMap
- } = this.#internalRenderTask;
- return separateAnnots.form || separateAnnots.canvas && annotationCanvasMap?.size > 0;
- }
-}
-exports.RenderTask = RenderTask;
-class InternalRenderTask {
- static #canvasInUse = new WeakSet();
- constructor(_ref13) {
- let {
- callback,
- params,
- objs,
- commonObjs,
- annotationCanvasMap,
- operatorList,
- pageIndex,
- canvasFactory,
- filterFactory,
- useRequestAnimationFrame = false,
- pdfBug = false,
- pageColors = null
- } = _ref13;
- this.callback = callback;
- this.params = params;
- this.objs = objs;
- this.commonObjs = commonObjs;
- this.annotationCanvasMap = annotationCanvasMap;
- this.operatorListIdx = null;
- this.operatorList = operatorList;
- this._pageIndex = pageIndex;
- this.canvasFactory = canvasFactory;
- this.filterFactory = filterFactory;
- this._pdfBug = pdfBug;
- this.pageColors = pageColors;
- this.running = false;
- this.graphicsReadyCallback = null;
- this.graphicsReady = false;
- this._useRequestAnimationFrame = useRequestAnimationFrame === true && typeof window !== "undefined";
- this.cancelled = false;
- this.capability = new _util.PromiseCapability();
- 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 = params.canvasContext.canvas;
- }
- get completed() {
- return this.capability.promise.catch(function () {});
- }
- initializeGraphics(_ref14) {
- let {
- transparency = false,
- optionalContentConfig
- } = _ref14;
- if (this.cancelled) {
- return;
- }
- if (this._canvas) {
- if (InternalRenderTask.#canvasInUse.has(this._canvas)) {
- throw new Error("Cannot use the same canvas during multiple render() operations. " + "Use different canvas or ensure previous operations were " + "cancelled or completed.");
- }
- InternalRenderTask.#canvasInUse.add(this._canvas);
- }
- if (this._pdfBug && globalThis.StepperManager?.enabled) {
- this.stepper = globalThis.StepperManager.create(this._pageIndex);
- this.stepper.init(this.operatorList);
- this.stepper.nextBreakPoint = this.stepper.getNextBreakPoint();
- }
- const {
- canvasContext,
- viewport,
- transform,
- background
- } = this.params;
- this.gfx = new _canvas.CanvasGraphics(canvasContext, this.commonObjs, this.objs, this.canvasFactory, this.filterFactory, {
- optionalContentConfig
- }, this.annotationCanvasMap, this.pageColors);
- this.gfx.beginDrawing({
- transform,
- viewport,
- transparency,
- background
- });
- this.operatorListIdx = 0;
- this.graphicsReady = true;
- this.graphicsReadyCallback?.();
- }
- cancel() {
- let error = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
- let extraDelay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
- this.running = false;
- this.cancelled = true;
- this.gfx?.endDrawing();
- if (this._canvas) {
- InternalRenderTask.#canvasInUse.delete(this._canvas);
- }
- this.callback(error || new _display_utils.RenderingCancelledException(`Rendering cancelled, page ${this._pageIndex + 1}`, extraDelay));
- }
- operatorListChanged() {
- if (!this.graphicsReady) {
- this.graphicsReadyCallback ||= this._continueBound;
- return;
- }
- this.stepper?.updateOperatorList(this.operatorList);
- if (this.running) {
- return;
- }
- this._continue();
- }
- _continue() {
- this.running = true;
- if (this.cancelled) {
- return;
- }
- if (this.task.onContinue) {
- this.task.onContinue(this._scheduleNextBound);
- } else {
- this._scheduleNext();
- }
- }
- _scheduleNext() {
- if (this._useRequestAnimationFrame) {
- window.requestAnimationFrame(() => {
- this._nextBound().catch(this._cancelBound);
- });
- } else {
- Promise.resolve().then(this._nextBound).catch(this._cancelBound);
- }
- }
- async _next() {
- if (this.cancelled) {
- return;
- }
- this.operatorListIdx = this.gfx.executeOperatorList(this.operatorList, this.operatorListIdx, this._continueBound, this.stepper);
- if (this.operatorListIdx === this.operatorList.argsArray.length) {
- this.running = false;
- if (this.operatorList.lastChunk) {
- this.gfx.endDrawing(this.pageColors);
- if (this._canvas) {
- InternalRenderTask.#canvasInUse.delete(this._canvas);
- }
- this.callback();
- }
- }
- }
-}
-const version = '3.9.179';
-exports.version = version;
-const build = '1ef6fbc52';
-exports.build = build;
-
-/***/ }),
-/* 125 */
-/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var $ = __w_pdfjs_require__(3);
-var difference = __w_pdfjs_require__(126);
-var setMethodAcceptSetLike = __w_pdfjs_require__(134);
-$({
- target: 'Set',
- proto: true,
- real: true,
- forced: !setMethodAcceptSetLike('difference')
-}, { difference: difference });
-
-/***/ }),
-/* 126 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-"use strict";
-
-var aSet = __w_pdfjs_require__(127);
-var SetHelpers = __w_pdfjs_require__(128);
-var clone = __w_pdfjs_require__(129);
-var size = __w_pdfjs_require__(132);
-var getSetRecord = __w_pdfjs_require__(133);
-var iterateSet = __w_pdfjs_require__(130);
-var iterateSimple = __w_pdfjs_require__(131);
-var has = SetHelpers.has;
-var remove = SetHelpers.remove;
-module.exports = function difference(other) {
- var O = aSet(this);
- var otherRec = getSetRecord(other);
- var result = clone(O);
- if (size(O) <= otherRec.size)
- iterateSet(O, function (e) {
- if (otherRec.includes(e))
- remove(result, e);
- });
- else
- iterateSimple(otherRec.getIterator(), function (e) {
- if (has(O, e))
- remove(result, e);
- });
- return result;
-};
-
-/***/ }),
-/* 127 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var has = (__w_pdfjs_require__(128).has);
-module.exports = function (it) {
- has(it);
- return it;
-};
-
-/***/ }),
-/* 128 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var uncurryThis = __w_pdfjs_require__(14);
-var SetPrototype = Set.prototype;
-module.exports = {
- Set: Set,
- add: uncurryThis(SetPrototype.add),
- has: uncurryThis(SetPrototype.has),
- remove: uncurryThis(SetPrototype['delete']),
- proto: SetPrototype
-};
-
-/***/ }),
-/* 129 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var SetHelpers = __w_pdfjs_require__(128);
-var iterate = __w_pdfjs_require__(130);
-var Set = SetHelpers.Set;
-var add = SetHelpers.add;
-module.exports = function (set) {
- var result = new Set();
- iterate(set, function (it) {
- add(result, it);
- });
- return result;
-};
-
-/***/ }),
-/* 130 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var uncurryThis = __w_pdfjs_require__(14);
-var iterateSimple = __w_pdfjs_require__(131);
-var SetHelpers = __w_pdfjs_require__(128);
-var Set = SetHelpers.Set;
-var SetPrototype = SetHelpers.proto;
-var forEach = uncurryThis(SetPrototype.forEach);
-var keys = uncurryThis(SetPrototype.keys);
-var next = keys(new Set()).next;
-module.exports = function (set, fn, interruptible) {
- return interruptible ? iterateSimple(keys(set), fn, next) : forEach(set, fn);
-};
-
-/***/ }),
-/* 131 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var call = __w_pdfjs_require__(8);
-module.exports = function (iterator, fn, $next) {
- var next = $next || iterator.next;
- var step, result;
- while (!(step = call(next, iterator)).done) {
- result = fn(step.value);
- if (result !== undefined)
- return result;
- }
-};
-
-/***/ }),
-/* 132 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var uncurryThisAccessor = __w_pdfjs_require__(72);
-var SetHelpers = __w_pdfjs_require__(128);
-module.exports = uncurryThisAccessor(SetHelpers.proto, 'size', 'get') || function (set) {
- return set.size;
-};
-
-/***/ }),
-/* 133 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var aCallable = __w_pdfjs_require__(31);
-var anObject = __w_pdfjs_require__(47);
-var call = __w_pdfjs_require__(8);
-var toIntegerOrInfinity = __w_pdfjs_require__(62);
-var $TypeError = TypeError;
-var max = Math.max;
-var SetRecord = function (set, size, has, keys) {
- this.set = set;
- this.size = size;
- this.has = has;
- this.keys = keys;
-};
-SetRecord.prototype = {
- getIterator: function () {
- return anObject(call(this.keys, this.set));
- },
- includes: function (it) {
- return call(this.has, this.set, it);
- }
-};
-module.exports = function (obj) {
- anObject(obj);
- var numSize = +obj.size;
- if (numSize != numSize)
- throw $TypeError('Invalid size');
- return new SetRecord(obj, max(toIntegerOrInfinity(numSize), 0), aCallable(obj.has), aCallable(obj.keys));
-};
-
-/***/ }),
-/* 134 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var getBuiltIn = __w_pdfjs_require__(24);
-var createEmptySetLike = function () {
- return {
- size: 0,
- has: function () {
- return false;
- },
- keys: function () {
- return {
- next: function () {
- return { done: true };
- }
- };
- }
- };
-};
-module.exports = function (name) {
- try {
- var Set = getBuiltIn('Set');
- new Set()[name](createEmptySetLike());
- return true;
- } catch (error) {
- return false;
- }
-};
-
-/***/ }),
-/* 135 */
-/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var $ = __w_pdfjs_require__(3);
-var fails = __w_pdfjs_require__(7);
-var intersection = __w_pdfjs_require__(136);
-var setMethodAcceptSetLike = __w_pdfjs_require__(134);
-var INCORRECT = !setMethodAcceptSetLike('intersection') || fails(function () {
- return Array.from(new Set([
- 1,
- 2,
- 3
- ]).intersection(new Set([
- 3,
- 2
- ]))) != '3,2';
-});
-$({
- target: 'Set',
- proto: true,
- real: true,
- forced: INCORRECT
-}, { intersection: intersection });
-
-/***/ }),
-/* 136 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-"use strict";
-
-var aSet = __w_pdfjs_require__(127);
-var SetHelpers = __w_pdfjs_require__(128);
-var size = __w_pdfjs_require__(132);
-var getSetRecord = __w_pdfjs_require__(133);
-var iterateSet = __w_pdfjs_require__(130);
-var iterateSimple = __w_pdfjs_require__(131);
-var Set = SetHelpers.Set;
-var add = SetHelpers.add;
-var has = SetHelpers.has;
-module.exports = function intersection(other) {
- var O = aSet(this);
- var otherRec = getSetRecord(other);
- var result = new Set();
- if (size(O) > otherRec.size) {
- iterateSimple(otherRec.getIterator(), function (e) {
- if (has(O, e))
- add(result, e);
- });
- } else {
- iterateSet(O, function (e) {
- if (otherRec.includes(e))
- add(result, e);
- });
- }
- return result;
-};
-
-/***/ }),
-/* 137 */
-/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var $ = __w_pdfjs_require__(3);
-var isDisjointFrom = __w_pdfjs_require__(138);
-var setMethodAcceptSetLike = __w_pdfjs_require__(134);
-$({
- target: 'Set',
- proto: true,
- real: true,
- forced: !setMethodAcceptSetLike('isDisjointFrom')
-}, { isDisjointFrom: isDisjointFrom });
-
-/***/ }),
-/* 138 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-"use strict";
-
-var aSet = __w_pdfjs_require__(127);
-var has = (__w_pdfjs_require__(128).has);
-var size = __w_pdfjs_require__(132);
-var getSetRecord = __w_pdfjs_require__(133);
-var iterateSet = __w_pdfjs_require__(130);
-var iterateSimple = __w_pdfjs_require__(131);
-var iteratorClose = __w_pdfjs_require__(139);
-module.exports = function isDisjointFrom(other) {
- var O = aSet(this);
- var otherRec = getSetRecord(other);
- if (size(O) <= otherRec.size)
- return iterateSet(O, function (e) {
- if (otherRec.includes(e))
- return false;
- }, true) !== false;
- var iterator = otherRec.getIterator();
- return iterateSimple(iterator, function (e) {
- if (has(O, e))
- return iteratorClose(iterator, 'normal', false);
- }) !== false;
-};
-
-/***/ }),
-/* 139 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var call = __w_pdfjs_require__(8);
-var anObject = __w_pdfjs_require__(47);
-var getMethod = __w_pdfjs_require__(30);
-module.exports = function (iterator, kind, value) {
- var innerResult, innerError;
- anObject(iterator);
- try {
- innerResult = getMethod(iterator, 'return');
- if (!innerResult) {
- if (kind === 'throw')
- throw value;
- return value;
- }
- innerResult = call(innerResult, iterator);
- } catch (error) {
- innerError = true;
- innerResult = error;
- }
- if (kind === 'throw')
- throw value;
- if (innerError)
- throw innerResult;
- anObject(innerResult);
- return value;
-};
-
-/***/ }),
-/* 140 */
-/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var $ = __w_pdfjs_require__(3);
-var isSubsetOf = __w_pdfjs_require__(141);
-var setMethodAcceptSetLike = __w_pdfjs_require__(134);
-$({
- target: 'Set',
- proto: true,
- real: true,
- forced: !setMethodAcceptSetLike('isSubsetOf')
-}, { isSubsetOf: isSubsetOf });
-
-/***/ }),
-/* 141 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-"use strict";
-
-var aSet = __w_pdfjs_require__(127);
-var size = __w_pdfjs_require__(132);
-var iterate = __w_pdfjs_require__(130);
-var getSetRecord = __w_pdfjs_require__(133);
-module.exports = function isSubsetOf(other) {
- var O = aSet(this);
- var otherRec = getSetRecord(other);
- if (size(O) > otherRec.size)
- return false;
- return iterate(O, function (e) {
- if (!otherRec.includes(e))
- return false;
- }, true) !== false;
-};
-
-/***/ }),
-/* 142 */
-/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var $ = __w_pdfjs_require__(3);
-var isSupersetOf = __w_pdfjs_require__(143);
-var setMethodAcceptSetLike = __w_pdfjs_require__(134);
-$({
- target: 'Set',
- proto: true,
- real: true,
- forced: !setMethodAcceptSetLike('isSupersetOf')
-}, { isSupersetOf: isSupersetOf });
-
-/***/ }),
-/* 143 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-"use strict";
-
-var aSet = __w_pdfjs_require__(127);
-var has = (__w_pdfjs_require__(128).has);
-var size = __w_pdfjs_require__(132);
-var getSetRecord = __w_pdfjs_require__(133);
-var iterateSimple = __w_pdfjs_require__(131);
-var iteratorClose = __w_pdfjs_require__(139);
-module.exports = function isSupersetOf(other) {
- var O = aSet(this);
- var otherRec = getSetRecord(other);
- if (size(O) < otherRec.size)
- return false;
- var iterator = otherRec.getIterator();
- return iterateSimple(iterator, function (e) {
- if (!has(O, e))
- return iteratorClose(iterator, 'normal', false);
- }) !== false;
-};
-
-/***/ }),
-/* 144 */
-/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var $ = __w_pdfjs_require__(3);
-var symmetricDifference = __w_pdfjs_require__(145);
-var setMethodAcceptSetLike = __w_pdfjs_require__(134);
-$({
- target: 'Set',
- proto: true,
- real: true,
- forced: !setMethodAcceptSetLike('symmetricDifference')
-}, { symmetricDifference: symmetricDifference });
-
-/***/ }),
-/* 145 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-"use strict";
-
-var aSet = __w_pdfjs_require__(127);
-var SetHelpers = __w_pdfjs_require__(128);
-var clone = __w_pdfjs_require__(129);
-var getSetRecord = __w_pdfjs_require__(133);
-var iterateSimple = __w_pdfjs_require__(131);
-var add = SetHelpers.add;
-var has = SetHelpers.has;
-var remove = SetHelpers.remove;
-module.exports = function symmetricDifference(other) {
- var O = aSet(this);
- var keysIter = getSetRecord(other).getIterator();
- var result = clone(O);
- iterateSimple(keysIter, function (e) {
- if (has(O, e))
- remove(result, e);
- else
- add(result, e);
- });
- return result;
-};
-
-/***/ }),
-/* 146 */
-/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var $ = __w_pdfjs_require__(3);
-var union = __w_pdfjs_require__(147);
-var setMethodAcceptSetLike = __w_pdfjs_require__(134);
-$({
- target: 'Set',
- proto: true,
- real: true,
- forced: !setMethodAcceptSetLike('union')
-}, { union: union });
-
-/***/ }),
-/* 147 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-"use strict";
-
-var aSet = __w_pdfjs_require__(127);
-var add = (__w_pdfjs_require__(128).add);
-var clone = __w_pdfjs_require__(129);
-var getSetRecord = __w_pdfjs_require__(133);
-var iterateSimple = __w_pdfjs_require__(131);
-module.exports = function union(other) {
- var O = aSet(this);
- var keysIter = getSetRecord(other).getIterator();
- var result = clone(O);
- iterateSimple(keysIter, function (it) {
- add(result, it);
- });
- return result;
-};
-
-/***/ }),
-/* 148 */
-/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-"use strict";
-
-var $ = __w_pdfjs_require__(3);
-var global = __w_pdfjs_require__(4);
-var getBuiltIn = __w_pdfjs_require__(24);
-var createPropertyDescriptor = __w_pdfjs_require__(11);
-var defineProperty = (__w_pdfjs_require__(45).f);
-var hasOwn = __w_pdfjs_require__(39);
-var anInstance = __w_pdfjs_require__(149);
-var inheritIfRequired = __w_pdfjs_require__(75);
-var normalizeStringArgument = __w_pdfjs_require__(76);
-var DOMExceptionConstants = __w_pdfjs_require__(150);
-var clearErrorStack = __w_pdfjs_require__(82);
-var DESCRIPTORS = __w_pdfjs_require__(6);
-var IS_PURE = __w_pdfjs_require__(36);
-var DOM_EXCEPTION = 'DOMException';
-var Error = getBuiltIn('Error');
-var NativeDOMException = getBuiltIn(DOM_EXCEPTION);
-var $DOMException = function DOMException() {
- anInstance(this, DOMExceptionPrototype);
- var argumentsLength = arguments.length;
- var message = normalizeStringArgument(argumentsLength < 1 ? undefined : arguments[0]);
- var name = normalizeStringArgument(argumentsLength < 2 ? undefined : arguments[1], 'Error');
- var that = new NativeDOMException(message, name);
- var error = Error(message);
- error.name = DOM_EXCEPTION;
- defineProperty(that, 'stack', createPropertyDescriptor(1, clearErrorStack(error.stack, 1)));
- inheritIfRequired(that, this, $DOMException);
- return that;
-};
-var DOMExceptionPrototype = $DOMException.prototype = NativeDOMException.prototype;
-var ERROR_HAS_STACK = 'stack' in Error(DOM_EXCEPTION);
-var DOM_EXCEPTION_HAS_STACK = 'stack' in new NativeDOMException(1, 2);
-var descriptor = NativeDOMException && DESCRIPTORS && Object.getOwnPropertyDescriptor(global, DOM_EXCEPTION);
-var BUGGY_DESCRIPTOR = !!descriptor && !(descriptor.writable && descriptor.configurable);
-var FORCED_CONSTRUCTOR = ERROR_HAS_STACK && !BUGGY_DESCRIPTOR && !DOM_EXCEPTION_HAS_STACK;
-$({
- global: true,
- constructor: true,
- forced: IS_PURE || FORCED_CONSTRUCTOR
-}, { DOMException: FORCED_CONSTRUCTOR ? $DOMException : NativeDOMException });
-var PolyfilledDOMException = getBuiltIn(DOM_EXCEPTION);
-var PolyfilledDOMExceptionPrototype = PolyfilledDOMException.prototype;
-if (PolyfilledDOMExceptionPrototype.constructor !== PolyfilledDOMException) {
- if (!IS_PURE) {
- defineProperty(PolyfilledDOMExceptionPrototype, 'constructor', createPropertyDescriptor(1, PolyfilledDOMException));
- }
- for (var key in DOMExceptionConstants)
- if (hasOwn(DOMExceptionConstants, key)) {
- var constant = DOMExceptionConstants[key];
- var constantName = constant.s;
- if (!hasOwn(PolyfilledDOMException, constantName)) {
- defineProperty(PolyfilledDOMException, constantName, createPropertyDescriptor(6, constant.c));
- }
- }
-}
-
-/***/ }),
-/* 149 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var isPrototypeOf = __w_pdfjs_require__(25);
-var $TypeError = TypeError;
-module.exports = function (it, Prototype) {
- if (isPrototypeOf(Prototype, it))
- return it;
- throw $TypeError('Incorrect invocation');
-};
-
-/***/ }),
-/* 150 */
-/***/ ((module) => {
-
-module.exports = {
- IndexSizeError: {
- s: 'INDEX_SIZE_ERR',
- c: 1,
- m: 1
- },
- DOMStringSizeError: {
- s: 'DOMSTRING_SIZE_ERR',
- c: 2,
- m: 0
- },
- HierarchyRequestError: {
- s: 'HIERARCHY_REQUEST_ERR',
- c: 3,
- m: 1
- },
- WrongDocumentError: {
- s: 'WRONG_DOCUMENT_ERR',
- c: 4,
- m: 1
- },
- InvalidCharacterError: {
- s: 'INVALID_CHARACTER_ERR',
- c: 5,
- m: 1
- },
- NoDataAllowedError: {
- s: 'NO_DATA_ALLOWED_ERR',
- c: 6,
- m: 0
- },
- NoModificationAllowedError: {
- s: 'NO_MODIFICATION_ALLOWED_ERR',
- c: 7,
- m: 1
- },
- NotFoundError: {
- s: 'NOT_FOUND_ERR',
- c: 8,
- m: 1
- },
- NotSupportedError: {
- s: 'NOT_SUPPORTED_ERR',
- c: 9,
- m: 1
- },
- InUseAttributeError: {
- s: 'INUSE_ATTRIBUTE_ERR',
- c: 10,
- m: 1
- },
- InvalidStateError: {
- s: 'INVALID_STATE_ERR',
- c: 11,
- m: 1
- },
- SyntaxError: {
- s: 'SYNTAX_ERR',
- c: 12,
- m: 1
- },
- InvalidModificationError: {
- s: 'INVALID_MODIFICATION_ERR',
- c: 13,
- m: 1
- },
- NamespaceError: {
- s: 'NAMESPACE_ERR',
- c: 14,
- m: 1
- },
- InvalidAccessError: {
- s: 'INVALID_ACCESS_ERR',
- c: 15,
- m: 1
- },
- ValidationError: {
- s: 'VALIDATION_ERR',
- c: 16,
- m: 0
- },
- TypeMismatchError: {
- s: 'TYPE_MISMATCH_ERR',
- c: 17,
- m: 1
- },
- SecurityError: {
- s: 'SECURITY_ERR',
- c: 18,
- m: 1
- },
- NetworkError: {
- s: 'NETWORK_ERR',
- c: 19,
- m: 1
- },
- AbortError: {
- s: 'ABORT_ERR',
- c: 20,
- m: 1
- },
- URLMismatchError: {
- s: 'URL_MISMATCH_ERR',
- c: 21,
- m: 1
- },
- QuotaExceededError: {
- s: 'QUOTA_EXCEEDED_ERR',
- c: 22,
- m: 1
- },
- TimeoutError: {
- s: 'TIMEOUT_ERR',
- c: 23,
- m: 1
- },
- InvalidNodeTypeError: {
- s: 'INVALID_NODE_TYPE_ERR',
- c: 24,
- m: 1
- },
- DataCloneError: {
- s: 'DATA_CLONE_ERR',
- c: 25,
- m: 1
- }
-};
-
-/***/ }),
-/* 151 */
-/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var IS_PURE = __w_pdfjs_require__(36);
-var $ = __w_pdfjs_require__(3);
-var global = __w_pdfjs_require__(4);
-var getBuiltin = __w_pdfjs_require__(24);
-var uncurryThis = __w_pdfjs_require__(14);
-var fails = __w_pdfjs_require__(7);
-var uid = __w_pdfjs_require__(41);
-var isCallable = __w_pdfjs_require__(21);
-var isConstructor = __w_pdfjs_require__(152);
-var isNullOrUndefined = __w_pdfjs_require__(17);
-var isObject = __w_pdfjs_require__(20);
-var isSymbol = __w_pdfjs_require__(23);
-var iterate = __w_pdfjs_require__(153);
-var anObject = __w_pdfjs_require__(47);
-var classof = __w_pdfjs_require__(78);
-var hasOwn = __w_pdfjs_require__(39);
-var createProperty = __w_pdfjs_require__(158);
-var createNonEnumerableProperty = __w_pdfjs_require__(44);
-var lengthOfArrayLike = __w_pdfjs_require__(64);
-var validateArgumentsLength = __w_pdfjs_require__(85);
-var getRegExpFlags = __w_pdfjs_require__(159);
-var MapHelpers = __w_pdfjs_require__(161);
-var SetHelpers = __w_pdfjs_require__(128);
-var ERROR_STACK_INSTALLABLE = __w_pdfjs_require__(83);
-var PROPER_TRANSFER = __w_pdfjs_require__(119);
-var Object = global.Object;
-var Array = global.Array;
-var Date = global.Date;
-var Error = global.Error;
-var EvalError = global.EvalError;
-var RangeError = global.RangeError;
-var ReferenceError = global.ReferenceError;
-var SyntaxError = global.SyntaxError;
-var TypeError = global.TypeError;
-var URIError = global.URIError;
-var PerformanceMark = global.PerformanceMark;
-var WebAssembly = global.WebAssembly;
-var CompileError = WebAssembly && WebAssembly.CompileError || Error;
-var LinkError = WebAssembly && WebAssembly.LinkError || Error;
-var RuntimeError = WebAssembly && WebAssembly.RuntimeError || Error;
-var DOMException = getBuiltin('DOMException');
-var Map = MapHelpers.Map;
-var mapHas = MapHelpers.has;
-var mapGet = MapHelpers.get;
-var mapSet = MapHelpers.set;
-var Set = SetHelpers.Set;
-var setAdd = SetHelpers.add;
-var objectKeys = getBuiltin('Object', 'keys');
-var push = uncurryThis([].push);
-var thisBooleanValue = uncurryThis(true.valueOf);
-var thisNumberValue = uncurryThis(1.0.valueOf);
-var thisStringValue = uncurryThis(''.valueOf);
-var thisTimeValue = uncurryThis(Date.prototype.getTime);
-var PERFORMANCE_MARK = uid('structuredClone');
-var DATA_CLONE_ERROR = 'DataCloneError';
-var TRANSFERRING = 'Transferring';
-var checkBasicSemantic = function (structuredCloneImplementation) {
- return !fails(function () {
- var set1 = new global.Set([7]);
- var set2 = structuredCloneImplementation(set1);
- var number = structuredCloneImplementation(Object(7));
- return set2 == set1 || !set2.has(7) || typeof number != 'object' || number != 7;
- }) && structuredCloneImplementation;
-};
-var checkErrorsCloning = function (structuredCloneImplementation, $Error) {
- return !fails(function () {
- var error = new $Error();
- var test = structuredCloneImplementation({
- a: error,
- b: error
- });
- return !(test && test.a === test.b && test.a instanceof $Error && test.a.stack === error.stack);
- });
-};
-var checkNewErrorsCloningSemantic = function (structuredCloneImplementation) {
- return !fails(function () {
- var test = structuredCloneImplementation(new global.AggregateError([1], PERFORMANCE_MARK, { cause: 3 }));
- return test.name != 'AggregateError' || test.errors[0] != 1 || test.message != PERFORMANCE_MARK || test.cause != 3;
- });
-};
-var nativeStructuredClone = global.structuredClone;
-var FORCED_REPLACEMENT = IS_PURE || !checkErrorsCloning(nativeStructuredClone, Error) || !checkErrorsCloning(nativeStructuredClone, DOMException) || !checkNewErrorsCloningSemantic(nativeStructuredClone);
-var structuredCloneFromMark = !nativeStructuredClone && checkBasicSemantic(function (value) {
- return new PerformanceMark(PERFORMANCE_MARK, { detail: value }).detail;
-});
-var nativeRestrictedStructuredClone = checkBasicSemantic(nativeStructuredClone) || structuredCloneFromMark;
-var throwUncloneable = function (type) {
- throw new DOMException('Uncloneable type: ' + type, DATA_CLONE_ERROR);
-};
-var throwUnpolyfillable = function (type, action) {
- throw new DOMException((action || 'Cloning') + ' of ' + type + ' cannot be properly polyfilled in this engine', DATA_CLONE_ERROR);
-};
-var tryNativeRestrictedStructuredClone = function (value, type) {
- if (!nativeRestrictedStructuredClone)
- throwUnpolyfillable(type);
- return nativeRestrictedStructuredClone(value);
-};
-var createDataTransfer = function () {
- var dataTransfer;
- try {
- dataTransfer = new global.DataTransfer();
- } catch (error) {
- try {
- dataTransfer = new global.ClipboardEvent('').clipboardData;
- } catch (error2) {
- }
- }
- return dataTransfer && dataTransfer.items && dataTransfer.files ? dataTransfer : null;
-};
-var cloneBuffer = function (value, map, $type) {
- if (mapHas(map, value))
- return mapGet(map, value);
- var type = $type || classof(value);
- var clone, length, options, source, target, i;
- if (type === 'SharedArrayBuffer') {
- if (nativeRestrictedStructuredClone)
- clone = nativeRestrictedStructuredClone(value);
- else
- clone = value;
- } else {
- var DataView = global.DataView;
- if (!DataView && typeof value.slice != 'function')
- throwUnpolyfillable('ArrayBuffer');
- try {
- if (typeof value.slice == 'function' && !value.resizable) {
- clone = value.slice(0);
- } else {
- length = value.byteLength;
- options = 'maxByteLength' in value ? { maxByteLength: value.maxByteLength } : undefined;
- clone = new ArrayBuffer(length, options);
- source = new DataView(value);
- target = new DataView(clone);
- for (i = 0; i < length; i++) {
- target.setUint8(i, source.getUint8(i));
- }
- }
- } catch (error) {
- throw new DOMException('ArrayBuffer is detached', DATA_CLONE_ERROR);
- }
- }
- mapSet(map, value, clone);
- return clone;
-};
-var cloneView = function (value, type, offset, length, map) {
- var C = global[type];
- if (!isObject(C))
- throwUnpolyfillable(type);
- return new C(cloneBuffer(value.buffer, map), offset, length);
-};
-var Placeholder = function (object, type, metadata) {
- this.object = object;
- this.type = type;
- this.metadata = metadata;
-};
-var structuredCloneInternal = function (value, map, transferredBuffers) {
- if (isSymbol(value))
- throwUncloneable('Symbol');
- if (!isObject(value))
- return value;
- if (map) {
- if (mapHas(map, value))
- return mapGet(map, value);
- } else
- map = new Map();
- var type = classof(value);
- var C, name, cloned, dataTransfer, i, length, keys, key;
- switch (type) {
- case 'Array':
- cloned = Array(lengthOfArrayLike(value));
- break;
- case 'Object':
- cloned = {};
- break;
- case 'Map':
- cloned = new Map();
- break;
- case 'Set':
- cloned = new Set();
- break;
- case 'RegExp':
- cloned = new RegExp(value.source, getRegExpFlags(value));
- break;
- case 'Error':
- name = value.name;
- switch (name) {
- case 'AggregateError':
- cloned = getBuiltin('AggregateError')([]);
- break;
- case 'EvalError':
- cloned = EvalError();
- break;
- case 'RangeError':
- cloned = RangeError();
- break;
- case 'ReferenceError':
- cloned = ReferenceError();
- break;
- case 'SyntaxError':
- cloned = SyntaxError();
- break;
- case 'TypeError':
- cloned = TypeError();
- break;
- case 'URIError':
- cloned = URIError();
- break;
- case 'CompileError':
- cloned = CompileError();
- break;
- case 'LinkError':
- cloned = LinkError();
- break;
- case 'RuntimeError':
- cloned = RuntimeError();
- break;
- default:
- cloned = Error();
- }
- break;
- case 'DOMException':
- cloned = new DOMException(value.message, value.name);
- break;
- case 'ArrayBuffer':
- case 'SharedArrayBuffer':
- cloned = transferredBuffers ? new Placeholder(value, type) : cloneBuffer(value, map, type);
- break;
- case 'DataView':
- case 'Int8Array':
- case 'Uint8Array':
- case 'Uint8ClampedArray':
- case 'Int16Array':
- case 'Uint16Array':
- case 'Int32Array':
- case 'Uint32Array':
- case 'Float16Array':
- case 'Float32Array':
- case 'Float64Array':
- case 'BigInt64Array':
- case 'BigUint64Array':
- length = type === 'DataView' ? value.byteLength : value.length;
- cloned = transferredBuffers ? new Placeholder(value, type, {
- offset: value.byteOffset,
- length: length
- }) : cloneView(value, type, value.byteOffset, length, map);
- break;
- case 'DOMQuad':
- try {
- cloned = new DOMQuad(structuredCloneInternal(value.p1, map, transferredBuffers), structuredCloneInternal(value.p2, map, transferredBuffers), structuredCloneInternal(value.p3, map, transferredBuffers), structuredCloneInternal(value.p4, map, transferredBuffers));
- } catch (error) {
- cloned = tryNativeRestrictedStructuredClone(value, type);
- }
- break;
- case 'File':
- if (nativeRestrictedStructuredClone)
- try {
- cloned = nativeRestrictedStructuredClone(value);
- if (classof(cloned) !== type)
- cloned = undefined;
- } catch (error) {
- }
- if (!cloned)
- try {
- cloned = new File([value], value.name, value);
- } catch (error) {
- }
- if (!cloned)
- throwUnpolyfillable(type);
- break;
- case 'FileList':
- dataTransfer = createDataTransfer();
- if (dataTransfer) {
- for (i = 0, length = lengthOfArrayLike(value); i < length; i++) {
- dataTransfer.items.add(structuredCloneInternal(value[i], map, transferredBuffers));
- }
- cloned = dataTransfer.files;
- } else
- cloned = tryNativeRestrictedStructuredClone(value, type);
- break;
- case 'ImageData':
- try {
- cloned = new ImageData(structuredCloneInternal(value.data, map, transferredBuffers), value.width, value.height, { colorSpace: value.colorSpace });
- } catch (error) {
- cloned = tryNativeRestrictedStructuredClone(value, type);
- }
- break;
- default:
- if (nativeRestrictedStructuredClone) {
- cloned = nativeRestrictedStructuredClone(value);
- } else
- switch (type) {
- case 'BigInt':
- cloned = Object(value.valueOf());
- break;
- case 'Boolean':
- cloned = Object(thisBooleanValue(value));
- break;
- case 'Number':
- cloned = Object(thisNumberValue(value));
- break;
- case 'String':
- cloned = Object(thisStringValue(value));
- break;
- case 'Date':
- cloned = new Date(thisTimeValue(value));
- break;
- case 'Blob':
- try {
- cloned = value.slice(0, value.size, value.type);
- } catch (error) {
- throwUnpolyfillable(type);
- }
- break;
- case 'DOMPoint':
- case 'DOMPointReadOnly':
- C = global[type];
- try {
- cloned = C.fromPoint ? C.fromPoint(value) : new C(value.x, value.y, value.z, value.w);
- } catch (error) {
- throwUnpolyfillable(type);
- }
- break;
- case 'DOMRect':
- case 'DOMRectReadOnly':
- C = global[type];
- try {
- cloned = C.fromRect ? C.fromRect(value) : new C(value.x, value.y, value.width, value.height);
- } catch (error) {
- throwUnpolyfillable(type);
- }
- break;
- case 'DOMMatrix':
- case 'DOMMatrixReadOnly':
- C = global[type];
- try {
- cloned = C.fromMatrix ? C.fromMatrix(value) : new C(value);
- } catch (error) {
- throwUnpolyfillable(type);
- }
- break;
- case 'AudioData':
- case 'VideoFrame':
- if (!isCallable(value.clone))
- throwUnpolyfillable(type);
- try {
- cloned = value.clone();
- } catch (error) {
- throwUncloneable(type);
- }
- break;
- case 'CropTarget':
- case 'CryptoKey':
- case 'FileSystemDirectoryHandle':
- case 'FileSystemFileHandle':
- case 'FileSystemHandle':
- case 'GPUCompilationInfo':
- case 'GPUCompilationMessage':
- case 'ImageBitmap':
- case 'RTCCertificate':
- case 'WebAssembly.Module':
- throwUnpolyfillable(type);
- default:
- throwUncloneable(type);
- }
- }
- mapSet(map, value, cloned);
- switch (type) {
- case 'Array':
- case 'Object':
- keys = objectKeys(value);
- for (i = 0, length = lengthOfArrayLike(keys); i < length; i++) {
- key = keys[i];
- createProperty(cloned, key, structuredCloneInternal(value[key], map, transferredBuffers));
- }
- break;
- case 'Map':
- value.forEach(function (v, k) {
- mapSet(cloned, structuredCloneInternal(k, map, transferredBuffers), structuredCloneInternal(v, map, transferredBuffers));
- });
- break;
- case 'Set':
- value.forEach(function (v) {
- setAdd(cloned, structuredCloneInternal(v, map, transferredBuffers));
- });
- break;
- case 'Error':
- createNonEnumerableProperty(cloned, 'message', structuredCloneInternal(value.message, map, transferredBuffers));
- if (hasOwn(value, 'cause')) {
- createNonEnumerableProperty(cloned, 'cause', structuredCloneInternal(value.cause, map, transferredBuffers));
- }
- if (name == 'AggregateError') {
- cloned.errors = structuredCloneInternal(value.errors, map, transferredBuffers);
- }
- case 'DOMException':
- if (ERROR_STACK_INSTALLABLE) {
- createNonEnumerableProperty(cloned, 'stack', structuredCloneInternal(value.stack, map, transferredBuffers));
- }
- }
- return cloned;
-};
-var replacePlaceholders = function (value, map) {
- if (!isObject(value))
- return value;
- if (mapHas(map, value))
- return mapGet(map, value);
- var type, object, metadata, i, length, keys, key, replacement;
- if (value instanceof Placeholder) {
- type = value.type;
- object = value.object;
- switch (type) {
- case 'ArrayBuffer':
- case 'SharedArrayBuffer':
- replacement = cloneBuffer(object, map, type);
- break;
- case 'DataView':
- case 'Int8Array':
- case 'Uint8Array':
- case 'Uint8ClampedArray':
- case 'Int16Array':
- case 'Uint16Array':
- case 'Int32Array':
- case 'Uint32Array':
- case 'Float16Array':
- case 'Float32Array':
- case 'Float64Array':
- case 'BigInt64Array':
- case 'BigUint64Array':
- metadata = value.metadata;
- replacement = cloneView(object, type, metadata.offset, metadata.length, map);
- }
- } else
- switch (classof(value)) {
- case 'Array':
- case 'Object':
- keys = objectKeys(value);
- for (i = 0, length = lengthOfArrayLike(keys); i < length; i++) {
- key = keys[i];
- value[key] = replacePlaceholders(value[key], map);
- }
- break;
- case 'Map':
- replacement = new Map();
- value.forEach(function (v, k) {
- mapSet(replacement, replacePlaceholders(k, map), replacePlaceholders(v, map));
- });
- break;
- case 'Set':
- replacement = new Set();
- value.forEach(function (v) {
- setAdd(replacement, replacePlaceholders(v, map));
- });
- break;
- case 'Error':
- value.message = replacePlaceholders(value.message, map);
- if (hasOwn(value, 'cause')) {
- value.cause = replacePlaceholders(value.cause, map);
- }
- if (value.name == 'AggregateError') {
- value.errors = replacePlaceholders(value.errors, map);
- }
- case 'DOMException':
- if (ERROR_STACK_INSTALLABLE) {
- value.stack = replacePlaceholders(value.stack, map);
- }
- }
- mapSet(map, value, replacement || value);
- return replacement || value;
-};
-var tryToTransfer = function (rawTransfer, map) {
- if (!isObject(rawTransfer))
- throw TypeError('Transfer option cannot be converted to a sequence');
- var transfer = [];
- iterate(rawTransfer, function (value) {
- push(transfer, anObject(value));
- });
- var i = 0;
- var length = lengthOfArrayLike(transfer);
- var buffers = [];
- var value, type, C, transferred, canvas, context;
- while (i < length) {
- value = transfer[i++];
- type = classof(value);
- if (type === 'ArrayBuffer') {
- push(buffers, value);
- continue;
- }
- if (mapHas(map, value))
- throw new DOMException('Duplicate transferable', DATA_CLONE_ERROR);
- if (PROPER_TRANSFER) {
- transferred = nativeStructuredClone(value, { transfer: [value] });
- } else
- switch (type) {
- case 'ImageBitmap':
- C = global.OffscreenCanvas;
- if (!isConstructor(C))
- throwUnpolyfillable(type, TRANSFERRING);
- try {
- canvas = new C(value.width, value.height);
- context = canvas.getContext('bitmaprenderer');
- context.transferFromImageBitmap(value);
- transferred = canvas.transferToImageBitmap();
- } catch (error) {
- }
- break;
- case 'AudioData':
- case 'VideoFrame':
- if (!isCallable(value.clone) || !isCallable(value.close))
- throwUnpolyfillable(type, TRANSFERRING);
- try {
- transferred = value.clone();
- value.close();
- } catch (error) {
- }
- break;
- case 'MediaSourceHandle':
- case 'MessagePort':
- case 'OffscreenCanvas':
- case 'ReadableStream':
- case 'TransformStream':
- case 'WritableStream':
- throwUnpolyfillable(type, TRANSFERRING);
- }
- if (transferred === undefined)
- throw new DOMException('This object cannot be transferred: ' + type, DATA_CLONE_ERROR);
- mapSet(map, value, transferred);
- }
- return buffers;
-};
-var tryToTransferBuffers = function (transfer, map) {
- var i = 0;
- var length = lengthOfArrayLike(transfer);
- var value, transferred;
- while (i < length) {
- value = transfer[i++];
- if (mapHas(map, value))
- throw new DOMException('Duplicate transferable', DATA_CLONE_ERROR);
- if (PROPER_TRANSFER) {
- transferred = nativeStructuredClone(value, { transfer: [value] });
- } else {
- if (!isCallable(value.transfer))
- throwUnpolyfillable('ArrayBuffer', TRANSFERRING);
- transferred = value.transfer();
- }
- mapSet(map, value, transferred);
- }
-};
-$({
- global: true,
- enumerable: true,
- sham: !PROPER_TRANSFER,
- forced: FORCED_REPLACEMENT
-}, {
- structuredClone: function structuredClone(value) {
- var options = validateArgumentsLength(arguments.length, 1) > 1 && !isNullOrUndefined(arguments[1]) ? anObject(arguments[1]) : undefined;
- var transfer = options ? options.transfer : undefined;
- var transferredBuffers = false;
- var map, buffers;
- if (transfer !== undefined) {
- map = new Map();
- buffers = tryToTransfer(transfer, map);
- transferredBuffers = !!lengthOfArrayLike(buffers);
- }
- var clone = structuredCloneInternal(value, map, transferredBuffers);
- if (transferredBuffers) {
- map = new Map();
- tryToTransferBuffers(transfer, map);
- clone = replacePlaceholders(clone, map);
- }
- return clone;
- }
-});
-
-/***/ }),
-/* 152 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var uncurryThis = __w_pdfjs_require__(14);
-var fails = __w_pdfjs_require__(7);
-var isCallable = __w_pdfjs_require__(21);
-var classof = __w_pdfjs_require__(78);
-var getBuiltIn = __w_pdfjs_require__(24);
-var inspectSource = __w_pdfjs_require__(51);
-var noop = function () {
-};
-var empty = [];
-var construct = getBuiltIn('Reflect', 'construct');
-var constructorRegExp = /^\s*(?:class|function)\b/;
-var exec = uncurryThis(constructorRegExp.exec);
-var INCORRECT_TO_STRING = !constructorRegExp.exec(noop);
-var isConstructorModern = function isConstructor(argument) {
- if (!isCallable(argument))
- return false;
- try {
- construct(noop, empty, argument);
- return true;
- } catch (error) {
- return false;
- }
-};
-var isConstructorLegacy = function isConstructor(argument) {
- if (!isCallable(argument))
- return false;
- switch (classof(argument)) {
- case 'AsyncFunction':
- case 'GeneratorFunction':
- case 'AsyncGeneratorFunction':
- return false;
- }
- try {
- return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));
- } catch (error) {
- return true;
- }
-};
-isConstructorLegacy.sham = true;
-module.exports = !construct || fails(function () {
- var called;
- return isConstructorModern(isConstructorModern.call) || !isConstructorModern(Object) || !isConstructorModern(function () {
- called = true;
- }) || called;
-}) ? isConstructorLegacy : isConstructorModern;
-
-/***/ }),
-/* 153 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var bind = __w_pdfjs_require__(99);
-var call = __w_pdfjs_require__(8);
-var anObject = __w_pdfjs_require__(47);
-var tryToString = __w_pdfjs_require__(32);
-var isArrayIteratorMethod = __w_pdfjs_require__(154);
-var lengthOfArrayLike = __w_pdfjs_require__(64);
-var isPrototypeOf = __w_pdfjs_require__(25);
-var getIterator = __w_pdfjs_require__(156);
-var getIteratorMethod = __w_pdfjs_require__(157);
-var iteratorClose = __w_pdfjs_require__(139);
-var $TypeError = TypeError;
-var Result = function (stopped, result) {
- this.stopped = stopped;
- this.result = result;
-};
-var ResultPrototype = Result.prototype;
-module.exports = function (iterable, unboundFunction, options) {
- var that = options && options.that;
- var AS_ENTRIES = !!(options && options.AS_ENTRIES);
- var IS_RECORD = !!(options && options.IS_RECORD);
- var IS_ITERATOR = !!(options && options.IS_ITERATOR);
- var INTERRUPTED = !!(options && options.INTERRUPTED);
- var fn = bind(unboundFunction, that);
- var iterator, iterFn, index, length, result, next, step;
- var stop = function (condition) {
- if (iterator)
- iteratorClose(iterator, 'normal', condition);
- return new Result(true, condition);
- };
- var callFn = function (value) {
- if (AS_ENTRIES) {
- anObject(value);
- return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);
- }
- return INTERRUPTED ? fn(value, stop) : fn(value);
- };
- if (IS_RECORD) {
- iterator = iterable.iterator;
- } else if (IS_ITERATOR) {
- iterator = iterable;
- } else {
- iterFn = getIteratorMethod(iterable);
- if (!iterFn)
- throw $TypeError(tryToString(iterable) + ' is not iterable');
- if (isArrayIteratorMethod(iterFn)) {
- for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) {
- result = callFn(iterable[index]);
- if (result && isPrototypeOf(ResultPrototype, result))
- return result;
- }
- return new Result(false);
- }
- iterator = getIterator(iterable, iterFn);
- }
- next = IS_RECORD ? iterable.next : iterator.next;
- while (!(step = call(next, iterator)).done) {
- try {
- result = callFn(step.value);
- } catch (error) {
- iteratorClose(iterator, 'throw', error);
- }
- if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result))
- return result;
- }
- return new Result(false);
-};
-
-/***/ }),
-/* 154 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var wellKnownSymbol = __w_pdfjs_require__(34);
-var Iterators = __w_pdfjs_require__(155);
-var ITERATOR = wellKnownSymbol('iterator');
-var ArrayPrototype = Array.prototype;
-module.exports = function (it) {
- return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);
-};
-
-/***/ }),
-/* 155 */
-/***/ ((module) => {
-
-module.exports = {};
-
-/***/ }),
-/* 156 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var call = __w_pdfjs_require__(8);
-var aCallable = __w_pdfjs_require__(31);
-var anObject = __w_pdfjs_require__(47);
-var tryToString = __w_pdfjs_require__(32);
-var getIteratorMethod = __w_pdfjs_require__(157);
-var $TypeError = TypeError;
-module.exports = function (argument, usingIterator) {
- var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator;
- if (aCallable(iteratorMethod))
- return anObject(call(iteratorMethod, argument));
- throw $TypeError(tryToString(argument) + ' is not iterable');
-};
-
-/***/ }),
-/* 157 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var classof = __w_pdfjs_require__(78);
-var getMethod = __w_pdfjs_require__(30);
-var isNullOrUndefined = __w_pdfjs_require__(17);
-var Iterators = __w_pdfjs_require__(155);
-var wellKnownSymbol = __w_pdfjs_require__(34);
-var ITERATOR = wellKnownSymbol('iterator');
-module.exports = function (it) {
- if (!isNullOrUndefined(it))
- return getMethod(it, ITERATOR) || getMethod(it, '@@iterator') || Iterators[classof(it)];
-};
-
-/***/ }),
-/* 158 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-"use strict";
-
-var toPropertyKey = __w_pdfjs_require__(18);
-var definePropertyModule = __w_pdfjs_require__(45);
-var createPropertyDescriptor = __w_pdfjs_require__(11);
-module.exports = function (object, key, value) {
- var propertyKey = toPropertyKey(key);
- if (propertyKey in object)
- definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));
- else
- object[propertyKey] = value;
-};
-
-/***/ }),
-/* 159 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var call = __w_pdfjs_require__(8);
-var hasOwn = __w_pdfjs_require__(39);
-var isPrototypeOf = __w_pdfjs_require__(25);
-var regExpFlags = __w_pdfjs_require__(160);
-var RegExpPrototype = RegExp.prototype;
-module.exports = function (R) {
- var flags = R.flags;
- return flags === undefined && !('flags' in RegExpPrototype) && !hasOwn(R, 'flags') && isPrototypeOf(RegExpPrototype, R) ? call(regExpFlags, R) : flags;
-};
-
-/***/ }),
-/* 160 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-"use strict";
-
-var anObject = __w_pdfjs_require__(47);
-module.exports = function () {
- var that = anObject(this);
- var result = '';
- if (that.hasIndices)
- result += 'd';
- if (that.global)
- result += 'g';
- if (that.ignoreCase)
- result += 'i';
- if (that.multiline)
- result += 'm';
- if (that.dotAll)
- result += 's';
- if (that.unicode)
- result += 'u';
- if (that.unicodeSets)
- result += 'v';
- if (that.sticky)
- result += 'y';
- return result;
-};
-
-/***/ }),
-/* 161 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var uncurryThis = __w_pdfjs_require__(14);
-var MapPrototype = Map.prototype;
-module.exports = {
- Map: Map,
- set: uncurryThis(MapPrototype.set),
- get: uncurryThis(MapPrototype.get),
- has: uncurryThis(MapPrototype.has),
- remove: uncurryThis(MapPrototype['delete']),
- proto: MapPrototype
-};
-
-/***/ }),
-/* 162 */
-/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", ({
- value: true
-}));
-exports.SerializableEmpty = exports.PrintAnnotationStorage = exports.AnnotationStorage = void 0;
-__w_pdfjs_require__(89);
-__w_pdfjs_require__(148);
-__w_pdfjs_require__(151);
-var _util = __w_pdfjs_require__(1);
-var _editor = __w_pdfjs_require__(163);
-var _murmurhash = __w_pdfjs_require__(169);
-const SerializableEmpty = Object.freeze({
- map: null,
- hash: "",
- transfers: undefined
-});
-exports.SerializableEmpty = SerializableEmpty;
-class AnnotationStorage {
- #modified = false;
- #storage = new Map();
- constructor() {
- this.onSetModified = null;
- this.onResetModified = null;
- this.onAnnotationEditor = null;
- }
- getValue(key, defaultValue) {
- const value = this.#storage.get(key);
- if (value === undefined) {
- return defaultValue;
- }
- return Object.assign(defaultValue, value);
- }
- getRawValue(key) {
- return this.#storage.get(key);
- }
- remove(key) {
- this.#storage.delete(key);
- if (this.#storage.size === 0) {
- this.resetModified();
- }
- if (typeof this.onAnnotationEditor === "function") {
- for (const value of this.#storage.values()) {
- if (value instanceof _editor.AnnotationEditor) {
- return;
- }
- }
- this.onAnnotationEditor(null);
- }
- }
- setValue(key, value) {
- const obj = this.#storage.get(key);
- let modified = false;
- if (obj !== undefined) {
- for (const [entry, val] of Object.entries(value)) {
- if (obj[entry] !== val) {
- modified = true;
- obj[entry] = val;
- }
- }
- } else {
- modified = true;
- this.#storage.set(key, value);
- }
- if (modified) {
- this.#setModified();
- }
- if (value instanceof _editor.AnnotationEditor && typeof this.onAnnotationEditor === "function") {
- this.onAnnotationEditor(value.constructor._type);
- }
- }
- has(key) {
- return this.#storage.has(key);
- }
- getAll() {
- return this.#storage.size > 0 ? (0, _util.objectFromMap)(this.#storage) : null;
- }
- setAll(obj) {
- for (const [key, val] of Object.entries(obj)) {
- this.setValue(key, val);
- }
- }
- get size() {
- return this.#storage.size;
- }
- #setModified() {
- if (!this.#modified) {
- this.#modified = true;
- if (typeof this.onSetModified === "function") {
- this.onSetModified();
- }
- }
- }
- resetModified() {
- if (this.#modified) {
- this.#modified = false;
- if (typeof this.onResetModified === "function") {
- this.onResetModified();
- }
- }
- }
- get print() {
- return new PrintAnnotationStorage(this);
- }
- get serializable() {
- if (this.#storage.size === 0) {
- return SerializableEmpty;
- }
- const map = new Map(),
- hash = new _murmurhash.MurmurHash3_64(),
- transfers = [];
- const context = Object.create(null);
- let hasBitmap = false;
- for (const [key, val] of this.#storage) {
- const serialized = val instanceof _editor.AnnotationEditor ? val.serialize(false, context) : val;
- if (serialized) {
- map.set(key, serialized);
- hash.update(`${key}:${JSON.stringify(serialized)}`);
- hasBitmap ||= !!serialized.bitmap;
- }
- }
- if (hasBitmap) {
- for (const value of map.values()) {
- if (value.bitmap) {
- transfers.push(value.bitmap);
- }
- }
- }
- return map.size > 0 ? {
- map,
- hash: hash.hexdigest(),
- transfers
- } : SerializableEmpty;
- }
-}
-exports.AnnotationStorage = AnnotationStorage;
-class PrintAnnotationStorage extends AnnotationStorage {
- #serializable;
- constructor(parent) {
- super();
- const {
- map,
- hash,
- transfers
- } = parent.serializable;
- const clone = structuredClone(map, null);
- this.#serializable = {
- map: clone,
- hash,
- transfers
- };
- }
- get print() {
- (0, _util.unreachable)("Should not call PrintAnnotationStorage.print");
- }
- get serializable() {
- return this.#serializable;
- }
-}
-exports.PrintAnnotationStorage = PrintAnnotationStorage;
-
-/***/ }),
-/* 163 */
-/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", ({
- value: true
-}));
-exports.AnnotationEditor = void 0;
-__w_pdfjs_require__(89);
-__w_pdfjs_require__(2);
-var _util = __w_pdfjs_require__(1);
-var _tools = __w_pdfjs_require__(164);
-class AnnotationEditor {
- #keepAspectRatio = false;
- #resizersDiv = null;
- #resizePosition = null;
- #boundFocusin = this.focusin.bind(this);
- #boundFocusout = this.focusout.bind(this);
- #hasBeenSelected = false;
- #isEditing = false;
- #isInEditMode = false;
- _uiManager = null;
- #zIndex = AnnotationEditor._zIndex++;
- static _colorManager = new _tools.ColorManager();
- static _zIndex = 1;
- constructor(parameters) {
- if (this.constructor === AnnotationEditor) {
- (0, _util.unreachable)("Cannot initialize AnnotationEditor.");
- }
- this.parent = parameters.parent;
- this.id = parameters.id;
- this.width = this.height = null;
- this.pageIndex = parameters.parent.pageIndex;
- this.name = parameters.name;
- this.div = null;
- this._uiManager = parameters.uiManager;
- this.annotationElementId = null;
- this._willKeepAspectRatio = false;
- const {
- rotation,
- rawDims: {
- pageWidth,
- pageHeight,
- pageX,
- pageY
- }
- } = this.parent.viewport;
- this.rotation = rotation;
- this.pageRotation = (360 + rotation - this._uiManager.viewParameters.rotation) % 360;
- this.pageDimensions = [pageWidth, pageHeight];
- this.pageTranslation = [pageX, pageY];
- const [width, height] = this.parentDimensions;
- this.x = parameters.x / width;
- this.y = parameters.y / height;
- this.isAttachedToDOM = false;
- this.deleted = false;
- }
- static get _defaultLineColor() {
- return (0, _util.shadow)(this, "_defaultLineColor", this._colorManager.getHexCode("CanvasText"));
- }
- static deleteAnnotationElement(editor) {
- const fakeEditor = new FakeEditor({
- id: editor.parent.getNextId(),
- parent: editor.parent,
- uiManager: editor._uiManager
- });
- fakeEditor.annotationElementId = editor.annotationElementId;
- fakeEditor.deleted = true;
- fakeEditor._uiManager.addToAnnotationStorage(fakeEditor);
- }
- static initialize(_l10n) {}
- static updateDefaultParams(_type, _value) {}
- static get defaultPropertiesToUpdate() {
- return [];
- }
- get propertiesToUpdate() {
- return [];
- }
- addCommands(params) {
- this._uiManager.addCommands(params);
- }
- get currentLayer() {
- return this._uiManager.currentLayer;
- }
- setInBackground() {
- this.div.style.zIndex = 0;
- }
- setInForeground() {
- this.div.style.zIndex = this.#zIndex;
- }
- setParent(parent) {
- if (parent !== null) {
- this.pageIndex = parent.pageIndex;
- this.pageDimensions = parent.pageDimensions;
- }
- this.parent = parent;
- }
- focusin(event) {
- if (!this.#hasBeenSelected) {
- this.parent.setSelected(this);
- } else {
- this.#hasBeenSelected = false;
- }
- }
- focusout(event) {
- if (!this.isAttachedToDOM) {
- return;
- }
- const target = event.relatedTarget;
- if (target?.closest(`#${this.id}`)) {
- return;
- }
- event.preventDefault();
- if (!this.parent?.isMultipleSelection) {
- this.commitOrRemove();
- }
- }
- commitOrRemove() {
- if (this.isEmpty()) {
- this.remove();
- } else {
- this.commit();
- }
- }
- commit() {
- this.addToAnnotationStorage();
- }
- addToAnnotationStorage() {
- this._uiManager.addToAnnotationStorage(this);
- }
- dragstart(event) {
- const rect = this.parent.div.getBoundingClientRect();
- this.startX = event.clientX - rect.x;
- this.startY = event.clientY - rect.y;
- event.dataTransfer.setData("text/plain", this.id);
- event.dataTransfer.effectAllowed = "move";
- }
- setAt(x, y, tx, ty) {
- const [width, height] = this.parentDimensions;
- [tx, ty] = this.screenToPageTranslation(tx, ty);
- this.x = (x + tx) / width;
- this.y = (y + ty) / height;
- this.fixAndSetPosition();
- }
- #translate(_ref, x, y) {
- let [width, height] = _ref;
- [x, y] = this.screenToPageTranslation(x, y);
- this.x += x / width;
- this.y += y / height;
- this.fixAndSetPosition();
- }
- translate(x, y) {
- this.#translate(this.parentDimensions, x, y);
- }
- translateInPage(x, y) {
- this.#translate(this.pageDimensions, x, y);
- this.div.scrollIntoView({
- block: "nearest"
- });
- }
- fixAndSetPosition() {
- const [pageWidth, pageHeight] = this.pageDimensions;
- let {
- x,
- y,
- width,
- height
- } = this;
- width *= pageWidth;
- height *= pageHeight;
- x *= pageWidth;
- y *= pageHeight;
- switch (this.rotation) {
- case 0:
- x = Math.max(0, Math.min(pageWidth - width, x));
- y = Math.max(0, Math.min(pageHeight - height, y));
- break;
- case 90:
- x = Math.max(0, Math.min(pageWidth - height, x));
- y = Math.min(pageHeight, Math.max(width, y));
- break;
- case 180:
- x = Math.min(pageWidth, Math.max(width, x));
- y = Math.min(pageHeight, Math.max(height, y));
- break;
- case 270:
- x = Math.min(pageWidth, Math.max(height, x));
- y = Math.max(0, Math.min(pageHeight - width, y));
- break;
- }
- this.x = x / pageWidth;
- this.y = y / pageHeight;
- this.div.style.left = `${(100 * this.x).toFixed(2)}%`;
- this.div.style.top = `${(100 * this.y).toFixed(2)}%`;
- }
- screenToPageTranslation(x, y) {
- switch (this.parentRotation) {
- case 90:
- return [y, -x];
- case 180:
- return [-x, -y];
- case 270:
- return [-y, x];
- default:
- return [x, y];
- }
- }
- pageTranslationToScreen(x, y) {
- switch (this.parentRotation) {
- case 90:
- return [-y, x];
- case 180:
- return [-x, -y];
- case 270:
- return [y, -x];
- default:
- return [x, y];
- }
- }
- get parentScale() {
- return this._uiManager.viewParameters.realScale;
- }
- get parentRotation() {
- return (this._uiManager.viewParameters.rotation + this.pageRotation) % 360;
- }
- get parentDimensions() {
- const {
- realScale
- } = this._uiManager.viewParameters;
- const [pageWidth, pageHeight] = this.pageDimensions;
- return [pageWidth * realScale, pageHeight * realScale];
- }
- setDims(width, height) {
- const [parentWidth, parentHeight] = this.parentDimensions;
- this.div.style.width = `${(100 * width / parentWidth).toFixed(2)}%`;
- if (!this.#keepAspectRatio) {
- this.div.style.height = `${(100 * height / parentHeight).toFixed(2)}%`;
- }
- }
- fixDims() {
- const {
- style
- } = this.div;
- const {
- height,
- width
- } = style;
- const widthPercent = width.endsWith("%");
- const heightPercent = !this.#keepAspectRatio && height.endsWith("%");
- if (widthPercent && heightPercent) {
- return;
- }
- const [parentWidth, parentHeight] = this.parentDimensions;
- if (!widthPercent) {
- style.width = `${(100 * parseFloat(width) / parentWidth).toFixed(2)}%`;
- }
- if (!this.#keepAspectRatio && !heightPercent) {
- style.height = `${(100 * parseFloat(height) / parentHeight).toFixed(2)}%`;
- }
- }
- getInitialTranslation() {
- return [0, 0];
- }
- #createResizers() {
- if (this.#resizersDiv) {
- return;
- }
- this.#resizersDiv = document.createElement("div");
- this.#resizersDiv.classList.add("resizers");
- const classes = ["topLeft", "topRight", "bottomRight", "bottomLeft"];
- if (!this._willKeepAspectRatio) {
- classes.push("topMiddle", "middleRight", "bottomMiddle", "middleLeft");
- }
- for (const name of classes) {
- const div = document.createElement("div");
- this.#resizersDiv.append(div);
- div.classList.add("resizer", name);
- div.addEventListener("pointerdown", this.#resizerPointerdown.bind(this, name));
- }
- this.div.prepend(this.#resizersDiv);
- }
- #resizerPointerdown(name, event) {
- event.preventDefault();
- this.#resizePosition = [event.clientX, event.clientY];
- const boundResizerPointermove = this.#resizerPointermove.bind(this, name);
- const savedDraggable = this.div.draggable;
- this.div.draggable = false;
- const resizingClassName = `resizing${name.charAt(0).toUpperCase()}${name.slice(1)}`;
- this.parent.div.classList.add(resizingClassName);
- const pointerMoveOptions = {
- passive: true,
- capture: true
- };
- window.addEventListener("pointermove", boundResizerPointermove, pointerMoveOptions);
- const pointerUpCallback = () => {
- this._uiManager.stopUndoAccumulation();
- this.div.draggable = savedDraggable;
- this.parent.div.classList.remove(resizingClassName);
- window.removeEventListener("pointermove", boundResizerPointermove, pointerMoveOptions);
- };
- window.addEventListener("pointerup", pointerUpCallback, {
- once: true
- });
- }
- #resizerPointermove(name, event) {
- const {
- clientX,
- clientY
- } = event;
- const deltaX = clientX - this.#resizePosition[0];
- const deltaY = clientY - this.#resizePosition[1];
- this.#resizePosition[0] = clientX;
- this.#resizePosition[1] = clientY;
- const [parentWidth, parentHeight] = this.parentDimensions;
- const savedX = this.x;
- const savedY = this.y;
- const savedWidth = this.width;
- const savedHeight = this.height;
- const minWidth = AnnotationEditor.MIN_SIZE / parentWidth;
- const minHeight = AnnotationEditor.MIN_SIZE / parentHeight;
- let cmd;
- const round = x => Math.round(x * 10000) / 10000;
- const updatePosition = (width, height) => {
- const [pWidth, pHeight] = this.parentDimensions;
- this.setDims(pWidth * width, pHeight * height);
- this.fixAndSetPosition();
- };
- const undo = () => {
- this.width = savedWidth;
- this.height = savedHeight;
- this.x = savedX;
- this.y = savedY;
- updatePosition(savedWidth, savedHeight);
- };
- switch (name) {
- case "topLeft":
- {
- if (Math.sign(deltaX) * Math.sign(deltaY) < 0) {
- return;
- }
- const dist = Math.hypot(deltaX, deltaY);
- const oldDiag = Math.hypot(savedWidth * parentWidth, savedHeight * parentHeight);
- const brX = round(savedX + savedWidth);
- const brY = round(savedY + savedHeight);
- const ratio = Math.max(Math.min(1 - Math.sign(deltaX) * (dist / oldDiag), 1 / savedWidth, 1 / savedHeight), minWidth / savedWidth, minHeight / savedHeight);
- const newWidth = round(savedWidth * ratio);
- const newHeight = round(savedHeight * ratio);
- const newX = brX - newWidth;
- const newY = brY - newHeight;
- cmd = () => {
- this.width = newWidth;
- this.height = newHeight;
- this.x = newX;
- this.y = newY;
- updatePosition(newWidth, newHeight);
- };
- break;
- }
- case "topMiddle":
- {
- const bmY = round(this.y + savedHeight);
- const newHeight = round(Math.max(minHeight, Math.min(1, savedHeight - deltaY / parentHeight)));
- const newY = bmY - newHeight;
- cmd = () => {
- this.height = newHeight;
- this.y = newY;
- updatePosition(savedWidth, newHeight);
- };
- break;
- }
- case "topRight":
- {
- if (Math.sign(deltaX) * Math.sign(deltaY) > 0) {
- return;
- }
- const dist = Math.hypot(deltaX, deltaY);
- const oldDiag = Math.hypot(this.width * parentWidth, this.height * parentHeight);
- const blY = round(savedY + this.height);
- const ratio = Math.max(Math.min(1 + Math.sign(deltaX) * (dist / oldDiag), 1 / savedWidth, 1 / savedHeight), minWidth / savedWidth, minHeight / savedHeight);
- const newWidth = round(savedWidth * ratio);
- const newHeight = round(savedHeight * ratio);
- const newY = blY - newHeight;
- cmd = () => {
- this.width = newWidth;
- this.height = newHeight;
- this.y = newY;
- updatePosition(newWidth, newHeight);
- };
- break;
- }
- case "middleRight":
- {
- const newWidth = round(Math.max(minWidth, Math.min(1, savedWidth + deltaX / parentWidth)));
- cmd = () => {
- this.width = newWidth;
- updatePosition(newWidth, savedHeight);
- };
- break;
- }
- case "bottomRight":
- {
- if (Math.sign(deltaX) * Math.sign(deltaY) < 0) {
- return;
- }
- const dist = Math.hypot(deltaX, deltaY);
- const oldDiag = Math.hypot(this.width * parentWidth, this.height * parentHeight);
- const ratio = Math.max(Math.min(1 + Math.sign(deltaX) * (dist / oldDiag), 1 / savedWidth, 1 / savedHeight), minWidth / savedWidth, minHeight / savedHeight);
- const newWidth = round(savedWidth * ratio);
- const newHeight = round(savedHeight * ratio);
- cmd = () => {
- this.width = newWidth;
- this.height = newHeight;
- updatePosition(newWidth, newHeight);
- };
- break;
- }
- case "bottomMiddle":
- {
- const newHeight = round(Math.max(minHeight, Math.min(1, savedHeight + deltaY / parentHeight)));
- cmd = () => {
- this.height = newHeight;
- updatePosition(savedWidth, newHeight);
- };
- break;
- }
- case "bottomLeft":
- {
- if (Math.sign(deltaX) * Math.sign(deltaY) > 0) {
- return;
- }
- const dist = Math.hypot(deltaX, deltaY);
- const oldDiag = Math.hypot(this.width * parentWidth, this.height * parentHeight);
- const trX = round(savedX + this.width);
- const ratio = Math.max(Math.min(1 - Math.sign(deltaX) * (dist / oldDiag), 1 / savedWidth, 1 / savedHeight), minWidth / savedWidth, minHeight / savedHeight);
- const newWidth = round(savedWidth * ratio);
- const newHeight = round(savedHeight * ratio);
- const newX = trX - newWidth;
- cmd = () => {
- this.width = newWidth;
- this.height = newHeight;
- this.x = newX;
- updatePosition(newWidth, newHeight);
- };
- break;
- }
- case "middleLeft":
- {
- const mrX = round(savedX + savedWidth);
- const newWidth = round(Math.max(minWidth, Math.min(1, savedWidth - deltaX / parentWidth)));
- const newX = mrX - newWidth;
- cmd = () => {
- this.width = newWidth;
- this.x = newX;
- updatePosition(newWidth, savedHeight);
- };
- break;
- }
- }
- this.addCommands({
- cmd,
- undo,
- mustExec: true,
- type: _util.AnnotationEditorParamsType.RESIZE,
- overwriteIfSameType: true,
- keepUndo: true
- });
- }
- render() {
- this.div = document.createElement("div");
- this.div.setAttribute("data-editor-rotation", (360 - this.rotation) % 360);
- this.div.className = this.name;
- this.div.setAttribute("id", this.id);
- this.div.setAttribute("tabIndex", 0);
- this.setInForeground();
- this.div.addEventListener("focusin", this.#boundFocusin);
- this.div.addEventListener("focusout", this.#boundFocusout);
- const [parentWidth, parentHeight] = this.parentDimensions;
- if (this.parentRotation % 180 !== 0) {
- this.div.style.maxWidth = `${(100 * parentHeight / parentWidth).toFixed(2)}%`;
- this.div.style.maxHeight = `${(100 * parentWidth / parentHeight).toFixed(2)}%`;
- }
- const [tx, ty] = this.getInitialTranslation();
- this.translate(tx, ty);
- (0, _tools.bindEvents)(this, this.div, ["dragstart", "pointerdown"]);
- return this.div;
- }
- pointerdown(event) {
- const {
- isMac
- } = _util.FeatureTest.platform;
- if (event.button !== 0 || event.ctrlKey && isMac) {
- event.preventDefault();
- return;
- }
- if (event.ctrlKey && !isMac || event.shiftKey || event.metaKey && isMac) {
- this.parent.toggleSelected(this);
- } else {
- this.parent.setSelected(this);
- }
- this.#hasBeenSelected = true;
- }
- getRect(tx, ty) {
- const scale = this.parentScale;
- const [pageWidth, pageHeight] = this.pageDimensions;
- const [pageX, pageY] = this.pageTranslation;
- const shiftX = tx / scale;
- const shiftY = ty / scale;
- const x = this.x * pageWidth;
- const y = this.y * pageHeight;
- const width = this.width * pageWidth;
- const height = this.height * pageHeight;
- switch (this.rotation) {
- case 0:
- return [x + shiftX + pageX, pageHeight - y - shiftY - height + pageY, x + shiftX + width + pageX, pageHeight - y - shiftY + pageY];
- case 90:
- return [x + shiftY + pageX, pageHeight - y + shiftX + pageY, x + shiftY + height + pageX, pageHeight - y + shiftX + width + pageY];
- case 180:
- return [x - shiftX - width + pageX, pageHeight - y + shiftY + pageY, x - shiftX + pageX, pageHeight - y + shiftY + height + pageY];
- case 270:
- return [x - shiftY - height + pageX, pageHeight - y - shiftX - width + pageY, x - shiftY + pageX, pageHeight - y - shiftX + pageY];
- default:
- throw new Error("Invalid rotation");
- }
- }
- getRectInCurrentCoords(rect, pageHeight) {
- const [x1, y1, x2, y2] = rect;
- const width = x2 - x1;
- const height = y2 - y1;
- switch (this.rotation) {
- case 0:
- return [x1, pageHeight - y2, width, height];
- case 90:
- return [x1, pageHeight - y1, height, width];
- case 180:
- return [x2, pageHeight - y1, width, height];
- case 270:
- return [x2, pageHeight - y2, height, width];
- default:
- throw new Error("Invalid rotation");
- }
- }
- onceAdded() {}
- isEmpty() {
- return false;
- }
- enableEditMode() {
- this.#isInEditMode = true;
- }
- disableEditMode() {
- this.#isInEditMode = false;
- }
- isInEditMode() {
- return this.#isInEditMode;
- }
- shouldGetKeyboardEvents() {
- return false;
- }
- needsToBeRebuilt() {
- return this.div && !this.isAttachedToDOM;
- }
- rebuild() {
- this.div?.addEventListener("focusin", this.#boundFocusin);
- this.div?.addEventListener("focusout", this.#boundFocusout);
- }
- serialize() {
- let _isForCopying = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
- let _context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
- (0, _util.unreachable)("An editor must be serializable");
- }
- static deserialize(data, parent, uiManager) {
- const editor = new this.prototype.constructor({
- parent,
- id: parent.getNextId(),
- uiManager
- });
- editor.rotation = data.rotation;
- const [pageWidth, pageHeight] = editor.pageDimensions;
- const [x, y, width, height] = editor.getRectInCurrentCoords(data.rect, pageHeight);
- editor.x = x / pageWidth;
- editor.y = y / pageHeight;
- editor.width = width / pageWidth;
- editor.height = height / pageHeight;
- return editor;
- }
- remove() {
- this.div.removeEventListener("focusin", this.#boundFocusin);
- this.div.removeEventListener("focusout", this.#boundFocusout);
- if (!this.isEmpty()) {
- this.commit();
- }
- if (this.parent) {
- this.parent.remove(this);
- } else {
- this._uiManager.removeEditor(this);
- }
- }
- get isResizable() {
- return false;
- }
- makeResizable() {
- if (this.isResizable) {
- this.#createResizers();
- this.#resizersDiv.classList.remove("hidden");
- }
- }
- select() {
- this.makeResizable();
- this.div?.classList.add("selectedEditor");
- }
- unselect() {
- this.#resizersDiv?.classList.add("hidden");
- this.div?.classList.remove("selectedEditor");
- if (this.div?.contains(document.activeElement)) {
- this._uiManager.currentLayer.div.focus();
- }
- }
- updateParams(type, value) {}
- disableEditing() {}
- enableEditing() {}
- enterInEditMode() {}
- get contentDiv() {
- return this.div;
- }
- get isEditing() {
- return this.#isEditing;
- }
- set isEditing(value) {
- this.#isEditing = value;
- if (!this.parent) {
- return;
- }
- if (value) {
- this.parent.setSelected(this);
- this.parent.setActiveEditor(this);
- } else {
- this.parent.setActiveEditor(null);
- }
- }
- setAspectRatio(width, height) {
- this.#keepAspectRatio = true;
- const aspectRatio = width / height;
- const {
- style
- } = this.div;
- style.aspectRatio = aspectRatio;
- style.height = "auto";
- }
- static get MIN_SIZE() {
- return 16;
- }
-}
-exports.AnnotationEditor = AnnotationEditor;
-class FakeEditor extends AnnotationEditor {
- constructor(params) {
- super(params);
- this.annotationElementId = params.annotationElementId;
- this.deleted = true;
- }
- serialize() {
- return {
- id: this.annotationElementId,
- deleted: true,
- pageIndex: this.pageIndex
- };
- }
-}
-
-/***/ }),
-/* 164 */
-/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", ({
- value: true
-}));
-exports.KeyboardManager = exports.CommandManager = exports.ColorManager = exports.AnnotationEditorUIManager = void 0;
-exports.bindEvents = bindEvents;
-exports.opacityToHex = opacityToHex;
-__w_pdfjs_require__(2);
-__w_pdfjs_require__(89);
-__w_pdfjs_require__(125);
-__w_pdfjs_require__(135);
-__w_pdfjs_require__(137);
-__w_pdfjs_require__(140);
-__w_pdfjs_require__(142);
-__w_pdfjs_require__(144);
-__w_pdfjs_require__(146);
-__w_pdfjs_require__(165);
-var _util = __w_pdfjs_require__(1);
-var _display_utils = __w_pdfjs_require__(167);
-function bindEvents(obj, element, names) {
- for (const name of names) {
- element.addEventListener(name, obj[name].bind(obj));
- }
-}
-function opacityToHex(opacity) {
- return Math.round(Math.min(255, Math.max(1, 255 * opacity))).toString(16).padStart(2, "0");
-}
-class IdManager {
- #id = 0;
- getId() {
- return `${_util.AnnotationEditorPrefix}${this.#id++}`;
- }
-}
-class ImageManager {
- #baseId = (0, _util.getUuid)();
- #id = 0;
- #cache = null;
- async #get(key, rawData) {
- this.#cache ||= new Map();
- let data = this.#cache.get(key);
- if (data === null) {
- return null;
- }
- if (data?.bitmap) {
- data.refCounter += 1;
- return data;
- }
- try {
- data ||= {
- bitmap: null,
- id: `image_${this.#baseId}_${this.#id++}`,
- refCounter: 0,
- isSvg: false
- };
- let image;
- if (typeof rawData === "string") {
- data.url = rawData;
- const response = await fetch(rawData);
- if (!response.ok) {
- throw new Error(response.statusText);
- }
- image = await response.blob();
- } else {
- image = data.file = rawData;
- }
- if (image.type === "image/svg+xml") {
- const fileReader = new FileReader();
- const imageElement = new Image();
- const imagePromise = new Promise((resolve, reject) => {
- imageElement.onload = () => {
- data.bitmap = imageElement;
- data.isSvg = true;
- resolve();
- };
- fileReader.onload = () => {
- imageElement.src = data.svgUrl = fileReader.result;
- };
- imageElement.onerror = fileReader.onerror = reject;
- });
- fileReader.readAsDataURL(image);
- await imagePromise;
- } else {
- data.bitmap = await createImageBitmap(image);
- }
- data.refCounter = 1;
- } catch (e) {
- console.error(e);
- data = null;
- }
- this.#cache.set(key, data);
- if (data) {
- this.#cache.set(data.id, data);
- }
- return data;
- }
- async getFromFile(file) {
- const {
- lastModified,
- name,
- size,
- type
- } = file;
- return this.#get(`${lastModified}_${name}_${size}_${type}`, file);
- }
- async getFromUrl(url) {
- return this.#get(url, url);
- }
- async getFromId(id) {
- this.#cache ||= new Map();
- const data = this.#cache.get(id);
- if (!data) {
- return null;
- }
- if (data.bitmap) {
- data.refCounter += 1;
- return data;
- }
- if (data.file) {
- return this.getFromFile(data.file);
- }
- return this.getFromUrl(data.url);
- }
- getSvgUrl(id) {
- const data = this.#cache.get(id);
- if (!data?.isSvg) {
- return null;
- }
- return data.svgUrl;
- }
- deleteId(id) {
- this.#cache ||= new Map();
- const data = this.#cache.get(id);
- if (!data) {
- return;
- }
- data.refCounter -= 1;
- if (data.refCounter !== 0) {
- return;
- }
- data.bitmap = null;
- }
- isValidId(id) {
- return id.startsWith(`image_${this.#baseId}_`);
- }
-}
-class CommandManager {
- #commands = [];
- #locked = false;
- #maxSize;
- #position = -1;
- constructor() {
- let maxSize = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 128;
- this.#maxSize = maxSize;
- }
- add(_ref) {
- let {
- cmd,
- undo,
- mustExec,
- type = NaN,
- overwriteIfSameType = false,
- keepUndo = false
- } = _ref;
- if (mustExec) {
- cmd();
- }
- if (this.#locked) {
- return;
- }
- const save = {
- cmd,
- undo,
- type
- };
- if (this.#position === -1) {
- if (this.#commands.length > 0) {
- this.#commands.length = 0;
- }
- this.#position = 0;
- this.#commands.push(save);
- return;
- }
- if (overwriteIfSameType && this.#commands[this.#position].type === type) {
- if (keepUndo) {
- save.undo = this.#commands[this.#position].undo;
- }
- this.#commands[this.#position] = save;
- return;
- }
- const next = this.#position + 1;
- if (next === this.#maxSize) {
- this.#commands.splice(0, 1);
- } else {
- this.#position = next;
- if (next < this.#commands.length) {
- this.#commands.splice(next);
- }
- }
- this.#commands.push(save);
- }
- stopUndoAccumulation() {
- if (this.#position !== -1) {
- this.#commands[this.#position].type = NaN;
- }
- }
- undo() {
- if (this.#position === -1) {
- return;
- }
- this.#locked = true;
- this.#commands[this.#position].undo();
- this.#locked = false;
- this.#position -= 1;
- }
- redo() {
- if (this.#position < this.#commands.length - 1) {
- this.#position += 1;
- this.#locked = true;
- this.#commands[this.#position].cmd();
- this.#locked = false;
- }
- }
- hasSomethingToUndo() {
- return this.#position !== -1;
- }
- hasSomethingToRedo() {
- return this.#position < this.#commands.length - 1;
- }
- destroy() {
- this.#commands = null;
- }
-}
-exports.CommandManager = CommandManager;
-class KeyboardManager {
- constructor(callbacks) {
- this.buffer = [];
- this.callbacks = new Map();
- this.allKeys = new Set();
- const {
- isMac
- } = _util.FeatureTest.platform;
- for (const [keys, callback, options = {}] of callbacks) {
- for (const key of keys) {
- const isMacKey = key.startsWith("mac+");
- if (isMac && isMacKey) {
- this.callbacks.set(key.slice(4), {
- callback,
- options
- });
- this.allKeys.add(key.split("+").at(-1));
- } else if (!isMac && !isMacKey) {
- this.callbacks.set(key, {
- callback,
- options
- });
- this.allKeys.add(key.split("+").at(-1));
- }
- }
- }
- }
- #serialize(event) {
- if (event.altKey) {
- this.buffer.push("alt");
- }
- if (event.ctrlKey) {
- this.buffer.push("ctrl");
- }
- if (event.metaKey) {
- this.buffer.push("meta");
- }
- if (event.shiftKey) {
- this.buffer.push("shift");
- }
- this.buffer.push(event.key);
- const str = this.buffer.join("+");
- this.buffer.length = 0;
- return str;
- }
- exec(self, event) {
- if (!this.allKeys.has(event.key)) {
- return;
- }
- const info = this.callbacks.get(this.#serialize(event));
- if (!info) {
- return;
- }
- const {
- callback,
- options: {
- bubbles = false,
- args = [],
- checker = null
- }
- } = info;
- if (checker && !checker(self, event)) {
- return;
- }
- callback.bind(self, ...args)();
- if (!bubbles) {
- event.stopPropagation();
- event.preventDefault();
- }
- }
-}
-exports.KeyboardManager = KeyboardManager;
-class ColorManager {
- static _colorsMapping = new Map([["CanvasText", [0, 0, 0]], ["Canvas", [255, 255, 255]]]);
- get _colors() {
- const colors = new Map([["CanvasText", null], ["Canvas", null]]);
- (0, _display_utils.getColorValues)(colors);
- return (0, _util.shadow)(this, "_colors", colors);
- }
- convert(color) {
- const rgb = (0, _display_utils.getRGB)(color);
- if (!window.matchMedia("(forced-colors: active)").matches) {
- return rgb;
- }
- for (const [name, RGB] of this._colors) {
- if (RGB.every((x, i) => x === rgb[i])) {
- return ColorManager._colorsMapping.get(name);
- }
- }
- return rgb;
- }
- getHexCode(name) {
- const rgb = this._colors.get(name);
- if (!rgb) {
- return name;
- }
- return _util.Util.makeHexColor(...rgb);
- }
-}
-exports.ColorManager = ColorManager;
-class AnnotationEditorUIManager {
- #activeEditor = null;
- #allEditors = new Map();
- #allLayers = new Map();
- #annotationStorage = null;
- #commandManager = new CommandManager();
- #currentPageIndex = 0;
- #deletedAnnotationsElementIds = new Set();
- #editorTypes = null;
- #editorsToRescale = new Set();
- #eventBus = null;
- #filterFactory = null;
- #idManager = new IdManager();
- #isEnabled = false;
- #mode = _util.AnnotationEditorType.NONE;
- #selectedEditors = new Set();
- #pageColors = null;
- #boundCopy = this.copy.bind(this);
- #boundCut = this.cut.bind(this);
- #boundPaste = this.paste.bind(this);
- #boundKeydown = this.keydown.bind(this);
- #boundOnEditingAction = this.onEditingAction.bind(this);
- #boundOnPageChanging = this.onPageChanging.bind(this);
- #boundOnScaleChanging = this.onScaleChanging.bind(this);
- #boundOnRotationChanging = this.onRotationChanging.bind(this);
- #previousStates = {
- isEditing: false,
- isEmpty: true,
- hasSomethingToUndo: false,
- hasSomethingToRedo: false,
- hasSelectedEditor: false
- };
- #translation = [0, 0];
- #translationTimeoutId = null;
- #container = null;
- static TRANSLATE_SMALL = 1;
- static TRANSLATE_BIG = 10;
- static get _keyboardManager() {
- const proto = AnnotationEditorUIManager.prototype;
- const arrowChecker = self => {
- const {
- activeElement
- } = document;
- return activeElement && self.#container.contains(activeElement) && self.hasSomethingToControl();
- };
- const small = this.TRANSLATE_SMALL;
- const big = this.TRANSLATE_BIG;
- return (0, _util.shadow)(this, "_keyboardManager", new KeyboardManager([[["ctrl+a", "mac+meta+a"], proto.selectAll], [["ctrl+z", "mac+meta+z"], proto.undo], [["ctrl+y", "ctrl+shift+z", "mac+meta+shift+z", "ctrl+shift+Z", "mac+meta+shift+Z"], proto.redo], [["Backspace", "alt+Backspace", "ctrl+Backspace", "shift+Backspace", "mac+Backspace", "mac+alt+Backspace", "mac+ctrl+Backspace", "Delete", "ctrl+Delete", "shift+Delete", "mac+Delete"], proto.delete], [["Escape", "mac+Escape"], proto.unselectAll], [["ArrowLeft", "mac+ArrowLeft"], proto.translateSelectedEditors, {
- args: [-small, 0],
- checker: arrowChecker
- }], [["ctrl+ArrowLeft", "mac+shift+ArrowLeft"], proto.translateSelectedEditors, {
- args: [-big, 0],
- checker: arrowChecker
- }], [["ArrowRight", "mac+ArrowRight"], proto.translateSelectedEditors, {
- args: [small, 0],
- checker: arrowChecker
- }], [["ctrl+ArrowRight", "mac+shift+ArrowRight"], proto.translateSelectedEditors, {
- args: [big, 0],
- checker: arrowChecker
- }], [["ArrowUp", "mac+ArrowUp"], proto.translateSelectedEditors, {
- args: [0, -small],
- checker: arrowChecker
- }], [["ctrl+ArrowUp", "mac+shift+ArrowUp"], proto.translateSelectedEditors, {
- args: [0, -big],
- checker: arrowChecker
- }], [["ArrowDown", "mac+ArrowDown"], proto.translateSelectedEditors, {
- args: [0, small],
- checker: arrowChecker
- }], [["ctrl+ArrowDown", "mac+shift+ArrowDown"], proto.translateSelectedEditors, {
- args: [0, big],
- checker: arrowChecker
- }]]));
- }
- constructor(container, eventBus, pdfDocument, pageColors) {
- this.#container = container;
- this.#eventBus = eventBus;
- this.#eventBus._on("editingaction", this.#boundOnEditingAction);
- this.#eventBus._on("pagechanging", this.#boundOnPageChanging);
- this.#eventBus._on("scalechanging", this.#boundOnScaleChanging);
- this.#eventBus._on("rotationchanging", this.#boundOnRotationChanging);
- this.#annotationStorage = pdfDocument.annotationStorage;
- this.#filterFactory = pdfDocument.filterFactory;
- this.#pageColors = pageColors;
- this.viewParameters = {
- realScale: _display_utils.PixelsPerInch.PDF_TO_CSS_UNITS,
- rotation: 0
- };
- }
- destroy() {
- this.#removeKeyboardManager();
- this.#eventBus._off("editingaction", this.#boundOnEditingAction);
- this.#eventBus._off("pagechanging", this.#boundOnPageChanging);
- this.#eventBus._off("scalechanging", this.#boundOnScaleChanging);
- this.#eventBus._off("rotationchanging", this.#boundOnRotationChanging);
- for (const layer of this.#allLayers.values()) {
- layer.destroy();
- }
- this.#allLayers.clear();
- this.#allEditors.clear();
- this.#editorsToRescale.clear();
- this.#activeEditor = null;
- this.#selectedEditors.clear();
- this.#commandManager.destroy();
- }
- get hcmFilter() {
- return (0, _util.shadow)(this, "hcmFilter", this.#pageColors ? this.#filterFactory.addHCMFilter(this.#pageColors.foreground, this.#pageColors.background) : "none");
- }
- onPageChanging(_ref2) {
- let {
- pageNumber
- } = _ref2;
- this.#currentPageIndex = pageNumber - 1;
- }
- focusMainContainer() {
- this.#container.focus();
- }
- addShouldRescale(editor) {
- this.#editorsToRescale.add(editor);
- }
- removeShouldRescale(editor) {
- this.#editorsToRescale.delete(editor);
- }
- onScaleChanging(_ref3) {
- let {
- scale
- } = _ref3;
- this.commitOrRemove();
- this.viewParameters.realScale = scale * _display_utils.PixelsPerInch.PDF_TO_CSS_UNITS;
- for (const editor of this.#editorsToRescale) {
- editor.onScaleChanging();
- }
- }
- onRotationChanging(_ref4) {
- let {
- pagesRotation
- } = _ref4;
- this.commitOrRemove();
- this.viewParameters.rotation = pagesRotation;
- }
- addToAnnotationStorage(editor) {
- if (!editor.isEmpty() && this.#annotationStorage && !this.#annotationStorage.has(editor.id)) {
- this.#annotationStorage.setValue(editor.id, editor);
- }
- }
- #addKeyboardManager() {
- window.addEventListener("keydown", this.#boundKeydown, {
- capture: true
- });
- }
- #removeKeyboardManager() {
- window.removeEventListener("keydown", this.#boundKeydown, {
- capture: true
- });
- }
- #addCopyPasteListeners() {
- document.addEventListener("copy", this.#boundCopy);
- document.addEventListener("cut", this.#boundCut);
- document.addEventListener("paste", this.#boundPaste);
- }
- #removeCopyPasteListeners() {
- document.removeEventListener("copy", this.#boundCopy);
- document.removeEventListener("cut", this.#boundCut);
- document.removeEventListener("paste", this.#boundPaste);
- }
- copy(event) {
- event.preventDefault();
- if (this.#activeEditor) {
- this.#activeEditor.commitOrRemove();
- }
- if (!this.hasSelection) {
- return;
- }
- const editors = [];
- for (const editor of this.#selectedEditors) {
- const serialized = editor.serialize(true);
- if (serialized) {
- editors.push(serialized);
- }
- }
- if (editors.length === 0) {
- return;
- }
- event.clipboardData.setData("application/pdfjs", JSON.stringify(editors));
- }
- cut(event) {
- this.copy(event);
- this.delete();
- }
- paste(event) {
- event.preventDefault();
- let data = event.clipboardData.getData("application/pdfjs");
- if (!data) {
- return;
- }
- try {
- data = JSON.parse(data);
- } catch (ex) {
- (0, _util.warn)(`paste: "${ex.message}".`);
- return;
- }
- if (!Array.isArray(data)) {
- return;
- }
- this.unselectAll();
- const layer = this.currentLayer;
- try {
- const newEditors = [];
- for (const editor of data) {
- const deserializedEditor = layer.deserialize(editor);
- if (!deserializedEditor) {
- return;
- }
- newEditors.push(deserializedEditor);
- }
- const cmd = () => {
- for (const editor of newEditors) {
- this.#addEditorToLayer(editor);
- }
- this.#selectEditors(newEditors);
- };
- const undo = () => {
- for (const editor of newEditors) {
- editor.remove();
- }
- };
- this.addCommands({
- cmd,
- undo,
- mustExec: true
- });
- } catch (ex) {
- (0, _util.warn)(`paste: "${ex.message}".`);
- }
- }
- keydown(event) {
- if (!this.getActive()?.shouldGetKeyboardEvents()) {
- AnnotationEditorUIManager._keyboardManager.exec(this, event);
- }
- }
- onEditingAction(details) {
- if (["undo", "redo", "delete", "selectAll"].includes(details.name)) {
- this[details.name]();
- }
- }
- #dispatchUpdateStates(details) {
- const hasChanged = Object.entries(details).some(_ref5 => {
- let [key, value] = _ref5;
- return this.#previousStates[key] !== value;
- });
- if (hasChanged) {
- this.#eventBus.dispatch("annotationeditorstateschanged", {
- source: this,
- details: Object.assign(this.#previousStates, details)
- });
- }
- }
- #dispatchUpdateUI(details) {
- this.#eventBus.dispatch("annotationeditorparamschanged", {
- source: this,
- details
- });
- }
- setEditingState(isEditing) {
- if (isEditing) {
- this.#addKeyboardManager();
- this.#addCopyPasteListeners();
- this.#dispatchUpdateStates({
- isEditing: this.#mode !== _util.AnnotationEditorType.NONE,
- isEmpty: this.#isEmpty(),
- hasSomethingToUndo: this.#commandManager.hasSomethingToUndo(),
- hasSomethingToRedo: this.#commandManager.hasSomethingToRedo(),
- hasSelectedEditor: false
- });
- } else {
- this.#removeKeyboardManager();
- this.#removeCopyPasteListeners();
- this.#dispatchUpdateStates({
- isEditing: false
- });
- }
- }
- registerEditorTypes(types) {
- if (this.#editorTypes) {
- return;
- }
- this.#editorTypes = types;
- for (const editorType of this.#editorTypes) {
- this.#dispatchUpdateUI(editorType.defaultPropertiesToUpdate);
- }
- }
- getId() {
- return this.#idManager.getId();
- }
- get currentLayer() {
- return this.#allLayers.get(this.#currentPageIndex);
- }
- get currentPageIndex() {
- return this.#currentPageIndex;
- }
- addLayer(layer) {
- this.#allLayers.set(layer.pageIndex, layer);
- if (this.#isEnabled) {
- layer.enable();
- } else {
- layer.disable();
- }
- }
- removeLayer(layer) {
- this.#allLayers.delete(layer.pageIndex);
- }
- updateMode(mode) {
- let editId = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
- this.#mode = mode;
- if (mode === _util.AnnotationEditorType.NONE) {
- this.setEditingState(false);
- this.#disableAll();
- return;
- }
- this.setEditingState(true);
- this.#enableAll();
- for (const layer of this.#allLayers.values()) {
- layer.updateMode(mode);
- }
- if (!editId) {
- return;
- }
- for (const editor of this.#allEditors.values()) {
- if (editor.annotationElementId === editId) {
- this.setSelected(editor);
- editor.enterInEditMode();
- break;
- }
- }
- }
- updateToolbar(mode) {
- if (mode === this.#mode) {
- return;
- }
- this.#eventBus.dispatch("switchannotationeditormode", {
- source: this,
- mode
- });
- }
- updateParams(type, value) {
- if (!this.#editorTypes) {
- return;
- }
- for (const editor of this.#selectedEditors) {
- editor.updateParams(type, value);
- }
- for (const editorType of this.#editorTypes) {
- editorType.updateDefaultParams(type, value);
- }
- }
- #enableAll() {
- if (!this.#isEnabled) {
- this.#isEnabled = true;
- for (const layer of this.#allLayers.values()) {
- layer.enable();
- }
- }
- }
- #disableAll() {
- this.unselectAll();
- if (this.#isEnabled) {
- this.#isEnabled = false;
- for (const layer of this.#allLayers.values()) {
- layer.disable();
- }
- }
- }
- getEditors(pageIndex) {
- const editors = [];
- for (const editor of this.#allEditors.values()) {
- if (editor.pageIndex === pageIndex) {
- editors.push(editor);
- }
- }
- return editors;
- }
- getEditor(id) {
- return this.#allEditors.get(id);
- }
- addEditor(editor) {
- this.#allEditors.set(editor.id, editor);
- }
- removeEditor(editor) {
- this.#allEditors.delete(editor.id);
- this.unselect(editor);
- if (!editor.annotationElementId || !this.#deletedAnnotationsElementIds.has(editor.annotationElementId)) {
- this.#annotationStorage?.remove(editor.id);
- }
- }
- addDeletedAnnotationElement(editor) {
- this.#deletedAnnotationsElementIds.add(editor.annotationElementId);
- editor.deleted = true;
- }
- isDeletedAnnotationElement(annotationElementId) {
- return this.#deletedAnnotationsElementIds.has(annotationElementId);
- }
- removeDeletedAnnotationElement(editor) {
- this.#deletedAnnotationsElementIds.delete(editor.annotationElementId);
- editor.deleted = false;
- }
- #addEditorToLayer(editor) {
- const layer = this.#allLayers.get(editor.pageIndex);
- if (layer) {
- layer.addOrRebuild(editor);
- } else {
- this.addEditor(editor);
- }
- }
- setActiveEditor(editor) {
- if (this.#activeEditor === editor) {
- return;
- }
- this.#activeEditor = editor;
- if (editor) {
- this.#dispatchUpdateUI(editor.propertiesToUpdate);
- }
- }
- toggleSelected(editor) {
- if (this.#selectedEditors.has(editor)) {
- this.#selectedEditors.delete(editor);
- editor.unselect();
- this.#dispatchUpdateStates({
- hasSelectedEditor: this.hasSelection
- });
- return;
- }
- this.#selectedEditors.add(editor);
- editor.select();
- this.#dispatchUpdateUI(editor.propertiesToUpdate);
- this.#dispatchUpdateStates({
- hasSelectedEditor: true
- });
- }
- setSelected(editor) {
- for (const ed of this.#selectedEditors) {
- if (ed !== editor) {
- ed.unselect();
- }
- }
- this.#selectedEditors.clear();
- this.#selectedEditors.add(editor);
- editor.select();
- this.#dispatchUpdateUI(editor.propertiesToUpdate);
- this.#dispatchUpdateStates({
- hasSelectedEditor: true
- });
- }
- isSelected(editor) {
- return this.#selectedEditors.has(editor);
- }
- unselect(editor) {
- editor.unselect();
- this.#selectedEditors.delete(editor);
- this.#dispatchUpdateStates({
- hasSelectedEditor: this.hasSelection
- });
- }
- get hasSelection() {
- return this.#selectedEditors.size !== 0;
- }
- stopUndoAccumulation() {
- this.#commandManager.stopUndoAccumulation();
- }
- undo() {
- this.#commandManager.undo();
- this.#dispatchUpdateStates({
- hasSomethingToUndo: this.#commandManager.hasSomethingToUndo(),
- hasSomethingToRedo: true,
- isEmpty: this.#isEmpty()
- });
- }
- redo() {
- this.#commandManager.redo();
- this.#dispatchUpdateStates({
- hasSomethingToUndo: true,
- hasSomethingToRedo: this.#commandManager.hasSomethingToRedo(),
- isEmpty: this.#isEmpty()
- });
- }
- addCommands(params) {
- this.#commandManager.add(params);
- this.#dispatchUpdateStates({
- hasSomethingToUndo: true,
- hasSomethingToRedo: false,
- isEmpty: this.#isEmpty()
- });
- }
- #isEmpty() {
- if (this.#allEditors.size === 0) {
- return true;
- }
- if (this.#allEditors.size === 1) {
- for (const editor of this.#allEditors.values()) {
- return editor.isEmpty();
- }
- }
- return false;
- }
- delete() {
- this.commitOrRemove();
- if (!this.hasSelection) {
- return;
- }
- const editors = [...this.#selectedEditors];
- const cmd = () => {
- for (const editor of editors) {
- editor.remove();
- }
- };
- const undo = () => {
- for (const editor of editors) {
- this.#addEditorToLayer(editor);
- }
- };
- this.addCommands({
- cmd,
- undo,
- mustExec: true
- });
- }
- commitOrRemove() {
- this.#activeEditor?.commitOrRemove();
- }
- hasSomethingToControl() {
- return this.#activeEditor || this.hasSelection;
- }
- #selectEditors(editors) {
- this.#selectedEditors.clear();
- for (const editor of editors) {
- if (editor.isEmpty()) {
- continue;
- }
- this.#selectedEditors.add(editor);
- editor.select();
- }
- this.#dispatchUpdateStates({
- hasSelectedEditor: true
- });
- }
- selectAll() {
- for (const editor of this.#selectedEditors) {
- editor.commit();
- }
- this.#selectEditors(this.#allEditors.values());
- }
- unselectAll() {
- if (this.#activeEditor) {
- this.#activeEditor.commitOrRemove();
- return;
- }
- if (!this.hasSelection) {
- return;
- }
- for (const editor of this.#selectedEditors) {
- editor.unselect();
- }
- this.#selectedEditors.clear();
- this.#dispatchUpdateStates({
- hasSelectedEditor: false
- });
- }
- translateSelectedEditors(x, y) {
- let noCommit = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
- if (!noCommit) {
- this.commitOrRemove();
- }
- if (!this.hasSelection) {
- return;
- }
- this.#translation[0] += x;
- this.#translation[1] += y;
- const [totalX, totalY] = this.#translation;
- const editors = [...this.#selectedEditors];
- const TIME_TO_WAIT = 1000;
- if (this.#translationTimeoutId) {
- clearTimeout(this.#translationTimeoutId);
- }
- this.#translationTimeoutId = setTimeout(() => {
- this.#translationTimeoutId = null;
- this.#translation[0] = this.#translation[1] = 0;
- this.addCommands({
- cmd: () => {
- for (const editor of editors) {
- if (this.#allEditors.has(editor.id)) {
- editor.translateInPage(totalX, totalY);
- }
- }
- },
- undo: () => {
- for (const editor of editors) {
- if (this.#allEditors.has(editor.id)) {
- editor.translateInPage(-totalX, -totalY);
- }
- }
- },
- mustExec: false
- });
- }, TIME_TO_WAIT);
- for (const editor of editors) {
- editor.translateInPage(x, y);
- }
- }
- isActive(editor) {
- return this.#activeEditor === editor;
- }
- getActive() {
- return this.#activeEditor;
- }
- getMode() {
- return this.#mode;
- }
- get imageManager() {
- return (0, _util.shadow)(this, "imageManager", new ImageManager());
- }
-}
-exports.AnnotationEditorUIManager = AnnotationEditorUIManager;
-
-/***/ }),
-/* 165 */
-/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-"use strict";
-
-var $ = __w_pdfjs_require__(3);
-var DESCRIPTORS = __w_pdfjs_require__(6);
-var global = __w_pdfjs_require__(4);
-var getBuiltIn = __w_pdfjs_require__(24);
-var uncurryThis = __w_pdfjs_require__(14);
-var call = __w_pdfjs_require__(8);
-var isCallable = __w_pdfjs_require__(21);
-var isObject = __w_pdfjs_require__(20);
-var isArray = __w_pdfjs_require__(91);
-var hasOwn = __w_pdfjs_require__(39);
-var toString = __w_pdfjs_require__(77);
-var lengthOfArrayLike = __w_pdfjs_require__(64);
-var createProperty = __w_pdfjs_require__(158);
-var fails = __w_pdfjs_require__(7);
-var parseJSONString = __w_pdfjs_require__(166);
-var NATIVE_SYMBOL = __w_pdfjs_require__(27);
-var JSON = global.JSON;
-var Number = global.Number;
-var SyntaxError = global.SyntaxError;
-var nativeParse = JSON && JSON.parse;
-var enumerableOwnProperties = getBuiltIn('Object', 'keys');
-var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-var at = uncurryThis(''.charAt);
-var slice = uncurryThis(''.slice);
-var exec = uncurryThis(/./.exec);
-var push = uncurryThis([].push);
-var IS_DIGIT = /^\d$/;
-var IS_NON_ZERO_DIGIT = /^[1-9]$/;
-var IS_NUMBER_START = /^(-|\d)$/;
-var IS_WHITESPACE = /^[\t\n\r ]$/;
-var PRIMITIVE = 0;
-var OBJECT = 1;
-var $parse = function (source, reviver) {
- source = toString(source);
- var context = new Context(source, 0, '');
- var root = context.parse();
- var value = root.value;
- var endIndex = context.skip(IS_WHITESPACE, root.end);
- if (endIndex < source.length) {
- throw SyntaxError('Unexpected extra character: "' + at(source, endIndex) + '" after the parsed data at: ' + endIndex);
- }
- return isCallable(reviver) ? internalize({ '': value }, '', reviver, root) : value;
-};
-var internalize = function (holder, name, reviver, node) {
- var val = holder[name];
- var unmodified = node && val === node.value;
- var context = unmodified && typeof node.source == 'string' ? { source: node.source } : {};
- var elementRecordsLen, keys, len, i, P;
- if (isObject(val)) {
- var nodeIsArray = isArray(val);
- var nodes = unmodified ? node.nodes : nodeIsArray ? [] : {};
- if (nodeIsArray) {
- elementRecordsLen = nodes.length;
- len = lengthOfArrayLike(val);
- for (i = 0; i < len; i++) {
- internalizeProperty(val, i, internalize(val, '' + i, reviver, i < elementRecordsLen ? nodes[i] : undefined));
- }
- } else {
- keys = enumerableOwnProperties(val);
- len = lengthOfArrayLike(keys);
- for (i = 0; i < len; i++) {
- P = keys[i];
- internalizeProperty(val, P, internalize(val, P, reviver, hasOwn(nodes, P) ? nodes[P] : undefined));
- }
- }
- }
- return call(reviver, holder, name, val, context);
-};
-var internalizeProperty = function (object, key, value) {
- if (DESCRIPTORS) {
- var descriptor = getOwnPropertyDescriptor(object, key);
- if (descriptor && !descriptor.configurable)
- return;
- }
- if (value === undefined)
- delete object[key];
- else
- createProperty(object, key, value);
-};
-var Node = function (value, end, source, nodes) {
- this.value = value;
- this.end = end;
- this.source = source;
- this.nodes = nodes;
-};
-var Context = function (source, index) {
- this.source = source;
- this.index = index;
-};
-Context.prototype = {
- fork: function (nextIndex) {
- return new Context(this.source, nextIndex);
- },
- parse: function () {
- var source = this.source;
- var i = this.skip(IS_WHITESPACE, this.index);
- var fork = this.fork(i);
- var chr = at(source, i);
- if (exec(IS_NUMBER_START, chr))
- return fork.number();
- switch (chr) {
- case '{':
- return fork.object();
- case '[':
- return fork.array();
- case '"':
- return fork.string();
- case 't':
- return fork.keyword(true);
- case 'f':
- return fork.keyword(false);
- case 'n':
- return fork.keyword(null);
- }
- throw SyntaxError('Unexpected character: "' + chr + '" at: ' + i);
- },
- node: function (type, value, start, end, nodes) {
- return new Node(value, end, type ? null : slice(this.source, start, end), nodes);
- },
- object: function () {
- var source = this.source;
- var i = this.index + 1;
- var expectKeypair = false;
- var object = {};
- var nodes = {};
- while (i < source.length) {
- i = this.until([
- '"',
- '}'
- ], i);
- if (at(source, i) == '}' && !expectKeypair) {
- i++;
- break;
- }
- var result = this.fork(i).string();
- var key = result.value;
- i = result.end;
- i = this.until([':'], i) + 1;
- i = this.skip(IS_WHITESPACE, i);
- result = this.fork(i).parse();
- createProperty(nodes, key, result);
- createProperty(object, key, result.value);
- i = this.until([
- ',',
- '}'
- ], result.end);
- var chr = at(source, i);
- if (chr == ',') {
- expectKeypair = true;
- i++;
- } else if (chr == '}') {
- i++;
- break;
- }
- }
- return this.node(OBJECT, object, this.index, i, nodes);
- },
- array: function () {
- var source = this.source;
- var i = this.index + 1;
- var expectElement = false;
- var array = [];
- var nodes = [];
- while (i < source.length) {
- i = this.skip(IS_WHITESPACE, i);
- if (at(source, i) == ']' && !expectElement) {
- i++;
- break;
- }
- var result = this.fork(i).parse();
- push(nodes, result);
- push(array, result.value);
- i = this.until([
- ',',
- ']'
- ], result.end);
- if (at(source, i) == ',') {
- expectElement = true;
- i++;
- } else if (at(source, i) == ']') {
- i++;
- break;
- }
- }
- return this.node(OBJECT, array, this.index, i, nodes);
- },
- string: function () {
- var index = this.index;
- var parsed = parseJSONString(this.source, this.index + 1);
- return this.node(PRIMITIVE, parsed.value, index, parsed.end);
- },
- number: function () {
- var source = this.source;
- var startIndex = this.index;
- var i = startIndex;
- if (at(source, i) == '-')
- i++;
- if (at(source, i) == '0')
- i++;
- else if (exec(IS_NON_ZERO_DIGIT, at(source, i)))
- i = this.skip(IS_DIGIT, ++i);
- else
- throw SyntaxError('Failed to parse number at: ' + i);
- if (at(source, i) == '.')
- i = this.skip(IS_DIGIT, ++i);
- if (at(source, i) == 'e' || at(source, i) == 'E') {
- i++;
- if (at(source, i) == '+' || at(source, i) == '-')
- i++;
- var exponentStartIndex = i;
- i = this.skip(IS_DIGIT, i);
- if (exponentStartIndex == i)
- throw SyntaxError("Failed to parse number's exponent value at: " + i);
- }
- return this.node(PRIMITIVE, Number(slice(source, startIndex, i)), startIndex, i);
- },
- keyword: function (value) {
- var keyword = '' + value;
- var index = this.index;
- var endIndex = index + keyword.length;
- if (slice(this.source, index, endIndex) != keyword)
- throw SyntaxError('Failed to parse value at: ' + index);
- return this.node(PRIMITIVE, value, index, endIndex);
- },
- skip: function (regex, i) {
- var source = this.source;
- for (; i < source.length; i++)
- if (!exec(regex, at(source, i)))
- break;
- return i;
- },
- until: function (array, i) {
- i = this.skip(IS_WHITESPACE, i);
- var chr = at(this.source, i);
- for (var j = 0; j < array.length; j++)
- if (array[j] == chr)
- return i;
- throw SyntaxError('Unexpected character: "' + chr + '" at: ' + i);
- }
-};
-var NO_SOURCE_SUPPORT = fails(function () {
- var unsafeInt = '9007199254740993';
- var source;
- nativeParse(unsafeInt, function (key, value, context) {
- source = context.source;
- });
- return source !== unsafeInt;
-});
-var PROPER_BASE_PARSE = NATIVE_SYMBOL && !fails(function () {
- return 1 / nativeParse('-0 \t') !== -Infinity;
-});
-$({
- target: 'JSON',
- stat: true,
- forced: NO_SOURCE_SUPPORT
-}, {
- parse: function parse(text, reviver) {
- return PROPER_BASE_PARSE && !isCallable(reviver) ? nativeParse(text) : $parse(text, reviver);
- }
-});
-
-/***/ }),
-/* 166 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var uncurryThis = __w_pdfjs_require__(14);
-var hasOwn = __w_pdfjs_require__(39);
-var $SyntaxError = SyntaxError;
-var $parseInt = parseInt;
-var fromCharCode = String.fromCharCode;
-var at = uncurryThis(''.charAt);
-var slice = uncurryThis(''.slice);
-var exec = uncurryThis(/./.exec);
-var codePoints = {
- '\\"': '"',
- '\\\\': '\\',
- '\\/': '/',
- '\\b': '\b',
- '\\f': '\f',
- '\\n': '\n',
- '\\r': '\r',
- '\\t': '\t'
-};
-var IS_4_HEX_DIGITS = /^[\da-f]{4}$/i;
-var IS_C0_CONTROL_CODE = /^[\u0000-\u001F]$/;
-module.exports = function (source, i) {
- var unterminated = true;
- var value = '';
- while (i < source.length) {
- var chr = at(source, i);
- if (chr == '\\') {
- var twoChars = slice(source, i, i + 2);
- if (hasOwn(codePoints, twoChars)) {
- value += codePoints[twoChars];
- i += 2;
- } else if (twoChars == '\\u') {
- i += 2;
- var fourHexDigits = slice(source, i, i + 4);
- if (!exec(IS_4_HEX_DIGITS, fourHexDigits))
- throw $SyntaxError('Bad Unicode escape at: ' + i);
- value += fromCharCode($parseInt(fourHexDigits, 16));
- i += 4;
- } else
- throw $SyntaxError('Unknown escape sequence: "' + twoChars + '"');
- } else if (chr == '"') {
- unterminated = false;
- i++;
- break;
- } else {
- if (exec(IS_C0_CONTROL_CODE, chr))
- throw $SyntaxError('Bad control character in string literal at: ' + i);
- value += chr;
- i++;
- }
- }
- if (unterminated)
- throw $SyntaxError('Unterminated string at: ' + i);
- return {
- value: value,
- end: i
- };
-};
-
-/***/ }),
-/* 167 */
-/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", ({
- value: true
-}));
-exports.StatTimer = exports.RenderingCancelledException = exports.PixelsPerInch = exports.PageViewport = exports.PDFDateString = exports.DOMStandardFontDataFactory = exports.DOMSVGFactory = exports.DOMFilterFactory = exports.DOMCanvasFactory = exports.DOMCMapReaderFactory = exports.AnnotationPrefix = void 0;
-exports.deprecated = deprecated;
-exports.getColorValues = getColorValues;
-exports.getCurrentTransform = getCurrentTransform;
-exports.getCurrentTransformInverse = getCurrentTransformInverse;
-exports.getFilenameFromUrl = getFilenameFromUrl;
-exports.getPdfFilenameFromUrl = getPdfFilenameFromUrl;
-exports.getRGB = getRGB;
-exports.getXfaPageViewport = getXfaPageViewport;
-exports.isDataScheme = isDataScheme;
-exports.isPdfFile = isPdfFile;
-exports.isValidFetchUrl = isValidFetchUrl;
-exports.loadScript = loadScript;
-exports.setLayerDimensions = setLayerDimensions;
-__w_pdfjs_require__(2);
-__w_pdfjs_require__(93);
-__w_pdfjs_require__(101);
-__w_pdfjs_require__(102);
-__w_pdfjs_require__(105);
-__w_pdfjs_require__(107);
-__w_pdfjs_require__(109);
-__w_pdfjs_require__(113);
-__w_pdfjs_require__(116);
-__w_pdfjs_require__(123);
-__w_pdfjs_require__(89);
-__w_pdfjs_require__(84);
-__w_pdfjs_require__(86);
-__w_pdfjs_require__(87);
-var _base_factory = __w_pdfjs_require__(168);
-var _util = __w_pdfjs_require__(1);
-const SVG_NS = "http://www.w3.org/2000/svg";
-const AnnotationPrefix = "pdfjs_internal_id_";
-exports.AnnotationPrefix = AnnotationPrefix;
-class PixelsPerInch {
- static CSS = 96.0;
- static PDF = 72.0;
- static PDF_TO_CSS_UNITS = this.CSS / this.PDF;
-}
-exports.PixelsPerInch = PixelsPerInch;
-class DOMFilterFactory extends _base_factory.BaseFilterFactory {
- #_cache;
- #_defs;
- #docId;
- #document;
- #hcmFilter;
- #hcmKey;
- #hcmUrl;
- #hcmHighlightFilter;
- #hcmHighlightKey;
- #hcmHighlightUrl;
- #id = 0;
- constructor() {
- let {
- docId,
- ownerDocument = globalThis.document
- } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
- super();
- this.#docId = docId;
- this.#document = ownerDocument;
- }
- get #cache() {
- return this.#_cache ||= new Map();
- }
- get #defs() {
- if (!this.#_defs) {
- const div = this.#document.createElement("div");
- const {
- style
- } = div;
- style.visibility = "hidden";
- style.contain = "strict";
- style.width = style.height = 0;
- style.position = "absolute";
- style.top = style.left = 0;
- style.zIndex = -1;
- const svg = this.#document.createElementNS(SVG_NS, "svg");
- svg.setAttribute("width", 0);
- svg.setAttribute("height", 0);
- this.#_defs = this.#document.createElementNS(SVG_NS, "defs");
- div.append(svg);
- svg.append(this.#_defs);
- this.#document.body.append(div);
- }
- return this.#_defs;
- }
- addFilter(maps) {
- if (!maps) {
- return "none";
- }
- let value = this.#cache.get(maps);
- if (value) {
- return value;
- }
- let tableR, tableG, tableB, key;
- if (maps.length === 1) {
- const mapR = maps[0];
- const buffer = new Array(256);
- for (let i = 0; i < 256; i++) {
- buffer[i] = mapR[i] / 255;
- }
- key = tableR = tableG = tableB = buffer.join(",");
- } else {
- const [mapR, mapG, mapB] = maps;
- const bufferR = new Array(256);
- const bufferG = new Array(256);
- const bufferB = new Array(256);
- for (let i = 0; i < 256; i++) {
- bufferR[i] = mapR[i] / 255;
- bufferG[i] = mapG[i] / 255;
- bufferB[i] = mapB[i] / 255;
- }
- tableR = bufferR.join(",");
- tableG = bufferG.join(",");
- tableB = bufferB.join(",");
- key = `${tableR}${tableG}${tableB}`;
- }
- value = this.#cache.get(key);
- if (value) {
- this.#cache.set(maps, value);
- return value;
- }
- const id = `g_${this.#docId}_transfer_map_${this.#id++}`;
- const url = `url(#${id})`;
- this.#cache.set(maps, url);
- this.#cache.set(key, url);
- const filter = this.#createFilter(id);
- this.#addTransferMapConversion(tableR, tableG, tableB, filter);
- return url;
- }
- addHCMFilter(fgColor, bgColor) {
- const key = `${fgColor}-${bgColor}`;
- if (this.#hcmKey === key) {
- return this.#hcmUrl;
- }
- this.#hcmKey = key;
- this.#hcmUrl = "none";
- this.#hcmFilter?.remove();
- if (!fgColor || !bgColor) {
- return this.#hcmUrl;
- }
- const fgRGB = this.#getRGB(fgColor);
- fgColor = _util.Util.makeHexColor(...fgRGB);
- const bgRGB = this.#getRGB(bgColor);
- bgColor = _util.Util.makeHexColor(...bgRGB);
- this.#defs.style.color = "";
- if (fgColor === "#000000" && bgColor === "#ffffff" || fgColor === bgColor) {
- return this.#hcmUrl;
- }
- const map = new Array(256);
- for (let i = 0; i <= 255; i++) {
- const x = i / 255;
- map[i] = x <= 0.03928 ? x / 12.92 : ((x + 0.055) / 1.055) ** 2.4;
- }
- const table = map.join(",");
- const id = `g_${this.#docId}_hcm_filter`;
- const filter = this.#hcmHighlightFilter = this.#createFilter(id);
- this.#addTransferMapConversion(table, table, table, filter);
- this.#addGrayConversion(filter);
- const getSteps = (c, n) => {
- const start = fgRGB[c] / 255;
- const end = bgRGB[c] / 255;
- const arr = new Array(n + 1);
- for (let i = 0; i <= n; i++) {
- arr[i] = start + i / n * (end - start);
- }
- return arr.join(",");
- };
- this.#addTransferMapConversion(getSteps(0, 5), getSteps(1, 5), getSteps(2, 5), filter);
- this.#hcmUrl = `url(#${id})`;
- return this.#hcmUrl;
- }
- addHighlightHCMFilter(fgColor, bgColor, newFgColor, newBgColor) {
- const key = `${fgColor}-${bgColor}-${newFgColor}-${newBgColor}`;
- if (this.#hcmHighlightKey === key) {
- return this.#hcmHighlightUrl;
- }
- this.#hcmHighlightKey = key;
- this.#hcmHighlightUrl = "none";
- this.#hcmHighlightFilter?.remove();
- if (!fgColor || !bgColor) {
- return this.#hcmHighlightUrl;
- }
- const [fgRGB, bgRGB] = [fgColor, bgColor].map(this.#getRGB.bind(this));
- let fgGray = Math.round(0.2126 * fgRGB[0] + 0.7152 * fgRGB[1] + 0.0722 * fgRGB[2]);
- let bgGray = Math.round(0.2126 * bgRGB[0] + 0.7152 * bgRGB[1] + 0.0722 * bgRGB[2]);
- let [newFgRGB, newBgRGB] = [newFgColor, newBgColor].map(this.#getRGB.bind(this));
- if (bgGray < fgGray) {
- [fgGray, bgGray, newFgRGB, newBgRGB] = [bgGray, fgGray, newBgRGB, newFgRGB];
- }
- this.#defs.style.color = "";
- const getSteps = (fg, bg, n) => {
- const arr = new Array(256);
- const step = (bgGray - fgGray) / n;
- const newStart = fg / 255;
- const newStep = (bg - fg) / (255 * n);
- let prev = 0;
- for (let i = 0; i <= n; i++) {
- const k = Math.round(fgGray + i * step);
- const value = newStart + i * newStep;
- for (let j = prev; j <= k; j++) {
- arr[j] = value;
- }
- prev = k + 1;
- }
- for (let i = prev; i < 256; i++) {
- arr[i] = arr[prev - 1];
- }
- return arr.join(",");
- };
- const id = `g_${this.#docId}_hcm_highlight_filter`;
- const filter = this.#hcmHighlightFilter = this.#createFilter(id);
- this.#addGrayConversion(filter);
- this.#addTransferMapConversion(getSteps(newFgRGB[0], newBgRGB[0], 5), getSteps(newFgRGB[1], newBgRGB[1], 5), getSteps(newFgRGB[2], newBgRGB[2], 5), filter);
- this.#hcmHighlightUrl = `url(#${id})`;
- return this.#hcmHighlightUrl;
- }
- destroy() {
- let keepHCM = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
- if (keepHCM && (this.#hcmUrl || this.#hcmHighlightUrl)) {
- return;
- }
- if (this.#_defs) {
- this.#_defs.parentNode.parentNode.remove();
- this.#_defs = null;
- }
- if (this.#_cache) {
- this.#_cache.clear();
- this.#_cache = null;
- }
- this.#id = 0;
- }
- #addGrayConversion(filter) {
- const feColorMatrix = this.#document.createElementNS(SVG_NS, "feColorMatrix");
- feColorMatrix.setAttribute("type", "matrix");
- feColorMatrix.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");
- filter.append(feColorMatrix);
- }
- #createFilter(id) {
- const filter = this.#document.createElementNS(SVG_NS, "filter");
- filter.setAttribute("color-interpolation-filters", "sRGB");
- filter.setAttribute("id", id);
- this.#defs.append(filter);
- return filter;
- }
- #appendFeFunc(feComponentTransfer, func, table) {
- const feFunc = this.#document.createElementNS(SVG_NS, func);
- feFunc.setAttribute("type", "discrete");
- feFunc.setAttribute("tableValues", table);
- feComponentTransfer.append(feFunc);
- }
- #addTransferMapConversion(rTable, gTable, bTable, filter) {
- const feComponentTransfer = this.#document.createElementNS(SVG_NS, "feComponentTransfer");
- filter.append(feComponentTransfer);
- this.#appendFeFunc(feComponentTransfer, "feFuncR", rTable);
- this.#appendFeFunc(feComponentTransfer, "feFuncG", gTable);
- this.#appendFeFunc(feComponentTransfer, "feFuncB", bTable);
- }
- #getRGB(color) {
- this.#defs.style.color = color;
- return getRGB(getComputedStyle(this.#defs).getPropertyValue("color"));
- }
-}
-exports.DOMFilterFactory = DOMFilterFactory;
-class DOMCanvasFactory extends _base_factory.BaseCanvasFactory {
- constructor() {
- let {
- ownerDocument = globalThis.document
- } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
- super();
- this._document = ownerDocument;
- }
- _createCanvas(width, height) {
- const canvas = this._document.createElement("canvas");
- canvas.width = width;
- canvas.height = height;
- return canvas;
- }
-}
-exports.DOMCanvasFactory = DOMCanvasFactory;
-async function fetchData(url) {
- let asTypedArray = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
- if (isValidFetchUrl(url, document.baseURI)) {
- const response = await fetch(url);
- if (!response.ok) {
- throw new Error(response.statusText);
- }
- return asTypedArray ? new Uint8Array(await response.arrayBuffer()) : (0, _util.stringToBytes)(await response.text());
- }
- return new Promise((resolve, reject) => {
- const request = new XMLHttpRequest();
- request.open("GET", url, true);
- if (asTypedArray) {
- request.responseType = "arraybuffer";
- }
- request.onreadystatechange = () => {
- if (request.readyState !== XMLHttpRequest.DONE) {
- return;
- }
- if (request.status === 200 || request.status === 0) {
- let data;
- if (asTypedArray && request.response) {
- data = new Uint8Array(request.response);
- } else if (!asTypedArray && request.responseText) {
- data = (0, _util.stringToBytes)(request.responseText);
- }
- if (data) {
- resolve(data);
- return;
- }
- }
- reject(new Error(request.statusText));
- };
- request.send(null);
- });
-}
-class DOMCMapReaderFactory extends _base_factory.BaseCMapReaderFactory {
- _fetchData(url, compressionType) {
- return fetchData(url, this.isCompressed).then(data => {
- return {
- cMapData: data,
- compressionType
- };
- });
- }
-}
-exports.DOMCMapReaderFactory = DOMCMapReaderFactory;
-class DOMStandardFontDataFactory extends _base_factory.BaseStandardFontDataFactory {
- _fetchData(url) {
- return fetchData(url, true);
- }
-}
-exports.DOMStandardFontDataFactory = DOMStandardFontDataFactory;
-class DOMSVGFactory extends _base_factory.BaseSVGFactory {
- _createSVG(type) {
- return document.createElementNS(SVG_NS, type);
- }
-}
-exports.DOMSVGFactory = DOMSVGFactory;
-class PageViewport {
- constructor(_ref) {
- let {
- viewBox,
- scale,
- rotation,
- offsetX = 0,
- offsetY = 0,
- dontFlip = false
- } = _ref;
- this.viewBox = viewBox;
- this.scale = scale;
- this.rotation = rotation;
- this.offsetX = offsetX;
- this.offsetY = offsetY;
- const centerX = (viewBox[2] + viewBox[0]) / 2;
- const centerY = (viewBox[3] + viewBox[1]) / 2;
- let rotateA, rotateB, rotateC, rotateD;
- rotation %= 360;
- if (rotation < 0) {
- rotation += 360;
- }
- switch (rotation) {
- case 180:
- rotateA = -1;
- rotateB = 0;
- rotateC = 0;
- rotateD = 1;
- break;
- case 90:
- rotateA = 0;
- rotateB = 1;
- rotateC = 1;
- rotateD = 0;
- break;
- case 270:
- rotateA = 0;
- rotateB = -1;
- rotateC = -1;
- rotateD = 0;
- break;
- case 0:
- rotateA = 1;
- rotateB = 0;
- rotateC = 0;
- rotateD = -1;
- break;
- default:
- throw new Error("PageViewport: Invalid rotation, must be a multiple of 90 degrees.");
- }
- if (dontFlip) {
- rotateC = -rotateC;
- rotateD = -rotateD;
- }
- let offsetCanvasX, offsetCanvasY;
- let width, height;
- if (rotateA === 0) {
- offsetCanvasX = Math.abs(centerY - viewBox[1]) * scale + offsetX;
- offsetCanvasY = Math.abs(centerX - viewBox[0]) * scale + offsetY;
- width = (viewBox[3] - viewBox[1]) * scale;
- height = (viewBox[2] - viewBox[0]) * scale;
- } else {
- offsetCanvasX = Math.abs(centerX - viewBox[0]) * scale + offsetX;
- offsetCanvasY = Math.abs(centerY - viewBox[1]) * scale + offsetY;
- width = (viewBox[2] - viewBox[0]) * scale;
- height = (viewBox[3] - viewBox[1]) * scale;
- }
- this.transform = [rotateA * scale, rotateB * scale, rotateC * scale, rotateD * scale, offsetCanvasX - rotateA * scale * centerX - rotateC * scale * centerY, offsetCanvasY - rotateB * scale * centerX - rotateD * scale * centerY];
- this.width = width;
- this.height = height;
- }
- get rawDims() {
- const {
- viewBox
- } = this;
- return (0, _util.shadow)(this, "rawDims", {
- pageWidth: viewBox[2] - viewBox[0],
- pageHeight: viewBox[3] - viewBox[1],
- pageX: viewBox[0],
- pageY: viewBox[1]
- });
- }
- clone() {
- let {
- scale = this.scale,
- rotation = this.rotation,
- offsetX = this.offsetX,
- offsetY = this.offsetY,
- dontFlip = false
- } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
- return new PageViewport({
- viewBox: this.viewBox.slice(),
- scale,
- rotation,
- offsetX,
- offsetY,
- dontFlip
- });
- }
- convertToViewportPoint(x, y) {
- return _util.Util.applyTransform([x, y], this.transform);
- }
- convertToViewportRectangle(rect) {
- const topLeft = _util.Util.applyTransform([rect[0], rect[1]], this.transform);
- const bottomRight = _util.Util.applyTransform([rect[2], rect[3]], this.transform);
- return [topLeft[0], topLeft[1], bottomRight[0], bottomRight[1]];
- }
- convertToPdfPoint(x, y) {
- return _util.Util.applyInverseTransform([x, y], this.transform);
- }
-}
-exports.PageViewport = PageViewport;
-class RenderingCancelledException extends _util.BaseException {
- constructor(msg) {
- let extraDelay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
- super(msg, "RenderingCancelledException");
- this.extraDelay = extraDelay;
- }
-}
-exports.RenderingCancelledException = RenderingCancelledException;
-function isDataScheme(url) {
- const ii = url.length;
- let i = 0;
- while (i < ii && url[i].trim() === "") {
- i++;
- }
- return url.substring(i, i + 5).toLowerCase() === "data:";
-}
-function isPdfFile(filename) {
- return typeof filename === "string" && /\.pdf$/i.test(filename);
-}
-function getFilenameFromUrl(url) {
- let onlyStripPath = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
- if (!onlyStripPath) {
- [url] = url.split(/[#?]/, 1);
- }
- return url.substring(url.lastIndexOf("/") + 1);
-}
-function getPdfFilenameFromUrl(url) {
- let defaultFilename = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "document.pdf";
- if (typeof url !== "string") {
- return defaultFilename;
- }
- if (isDataScheme(url)) {
- (0, _util.warn)('getPdfFilenameFromUrl: ignore "data:"-URL for performance reasons.');
- return defaultFilename;
- }
- const reURI = /^(?:(?:[^:]+:)?\/\/[^/]+)?([^?#]*)(\?[^#]*)?(#.*)?$/;
- const reFilename = /[^/?#=]+\.pdf\b(?!.*\.pdf\b)/i;
- const splitURI = reURI.exec(url);
- let suggestedFilename = reFilename.exec(splitURI[1]) || reFilename.exec(splitURI[2]) || reFilename.exec(splitURI[3]);
- if (suggestedFilename) {
- suggestedFilename = suggestedFilename[0];
- if (suggestedFilename.includes("%")) {
- try {
- suggestedFilename = reFilename.exec(decodeURIComponent(suggestedFilename))[0];
- } catch {}
- }
- }
- return suggestedFilename || defaultFilename;
-}
-class StatTimer {
- started = Object.create(null);
- times = [];
- time(name) {
- if (name in this.started) {
- (0, _util.warn)(`Timer is already running for ${name}`);
- }
- this.started[name] = Date.now();
- }
- timeEnd(name) {
- if (!(name in this.started)) {
- (0, _util.warn)(`Timer has not been started for ${name}`);
- }
- this.times.push({
- name,
- start: this.started[name],
- end: Date.now()
- });
- delete this.started[name];
- }
- toString() {
- const outBuf = [];
- let longest = 0;
- for (const {
- name
- } of this.times) {
- longest = Math.max(name.length, longest);
- }
- for (const {
- name,
- start,
- end
- } of this.times) {
- outBuf.push(`${name.padEnd(longest)} ${end - start}ms\n`);
- }
- return outBuf.join("");
- }
-}
-exports.StatTimer = StatTimer;
-function isValidFetchUrl(url, baseUrl) {
- try {
- const {
- protocol
- } = baseUrl ? new URL(url, baseUrl) : new URL(url);
- return protocol === "http:" || protocol === "https:";
- } catch {
- return false;
- }
-}
-function loadScript(src) {
- let removeScriptElement = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
- return new Promise((resolve, reject) => {
- const script = document.createElement("script");
- script.src = src;
- script.onload = function (evt) {
- if (removeScriptElement) {
- script.remove();
- }
- resolve(evt);
- };
- script.onerror = function () {
- reject(new Error(`Cannot load script at: ${script.src}`));
- };
- (document.head || document.documentElement).append(script);
- });
-}
-function deprecated(details) {
- console.log("Deprecated API usage: " + details);
-}
-let pdfDateStringRegex;
-class PDFDateString {
- static toDateObject(input) {
- if (!input || typeof input !== "string") {
- return null;
- }
- pdfDateStringRegex ||= new RegExp("^D:" + "(\\d{4})" + "(\\d{2})?" + "(\\d{2})?" + "(\\d{2})?" + "(\\d{2})?" + "(\\d{2})?" + "([Z|+|-])?" + "(\\d{2})?" + "'?" + "(\\d{2})?" + "'?");
- const matches = pdfDateStringRegex.exec(input);
- if (!matches) {
- return null;
- }
- const year = parseInt(matches[1], 10);
- let month = parseInt(matches[2], 10);
- month = month >= 1 && month <= 12 ? month - 1 : 0;
- let day = parseInt(matches[3], 10);
- day = day >= 1 && day <= 31 ? day : 1;
- let hour = parseInt(matches[4], 10);
- hour = hour >= 0 && hour <= 23 ? hour : 0;
- let minute = parseInt(matches[5], 10);
- minute = minute >= 0 && minute <= 59 ? minute : 0;
- let second = parseInt(matches[6], 10);
- second = second >= 0 && second <= 59 ? second : 0;
- const universalTimeRelation = matches[7] || "Z";
- let offsetHour = parseInt(matches[8], 10);
- offsetHour = offsetHour >= 0 && offsetHour <= 23 ? offsetHour : 0;
- let offsetMinute = parseInt(matches[9], 10) || 0;
- offsetMinute = offsetMinute >= 0 && offsetMinute <= 59 ? offsetMinute : 0;
- if (universalTimeRelation === "-") {
- hour += offsetHour;
- minute += offsetMinute;
- } else if (universalTimeRelation === "+") {
- hour -= offsetHour;
- minute -= offsetMinute;
- }
- return new Date(Date.UTC(year, month, day, hour, minute, second));
- }
-}
-exports.PDFDateString = PDFDateString;
-function getXfaPageViewport(xfaPage, _ref2) {
- let {
- scale = 1,
- rotation = 0
- } = _ref2;
- const {
- width,
- height
- } = xfaPage.attributes.style;
- const viewBox = [0, 0, parseInt(width), parseInt(height)];
- return new PageViewport({
- viewBox,
- scale,
- rotation
- });
-}
-function getRGB(color) {
- if (color.startsWith("#")) {
- const colorRGB = parseInt(color.slice(1), 16);
- return [(colorRGB & 0xff0000) >> 16, (colorRGB & 0x00ff00) >> 8, colorRGB & 0x0000ff];
- }
- if (color.startsWith("rgb(")) {
- return color.slice(4, -1).split(",").map(x => parseInt(x));
- }
- if (color.startsWith("rgba(")) {
- return color.slice(5, -1).split(",").map(x => parseInt(x)).slice(0, 3);
- }
- (0, _util.warn)(`Not a valid color format: "${color}"`);
- return [0, 0, 0];
-}
-function getColorValues(colors) {
- const span = document.createElement("span");
- span.style.visibility = "hidden";
- document.body.append(span);
- for (const name of colors.keys()) {
- span.style.color = name;
- const computedColor = window.getComputedStyle(span).color;
- colors.set(name, getRGB(computedColor));
- }
- span.remove();
-}
-function getCurrentTransform(ctx) {
- const {
- a,
- b,
- c,
- d,
- e,
- f
- } = ctx.getTransform();
- return [a, b, c, d, e, f];
-}
-function getCurrentTransformInverse(ctx) {
- const {
- a,
- b,
- c,
- d,
- e,
- f
- } = ctx.getTransform().invertSelf();
- return [a, b, c, d, e, f];
-}
-function setLayerDimensions(div, viewport) {
- let mustFlip = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
- let mustRotate = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true;
- if (viewport instanceof PageViewport) {
- const {
- pageWidth,
- pageHeight
- } = viewport.rawDims;
- const {
- style
- } = div;
- const widthStr = `calc(var(--scale-factor) * ${pageWidth}px)`;
- const heightStr = `calc(var(--scale-factor) * ${pageHeight}px)`;
- if (!mustFlip || viewport.rotation % 180 === 0) {
- style.width = widthStr;
- style.height = heightStr;
- } else {
- style.width = heightStr;
- style.height = widthStr;
- }
- }
- if (mustRotate) {
- div.setAttribute("data-main-rotation", viewport.rotation);
- }
-}
-
-/***/ }),
-/* 168 */
-/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", ({
- value: true
-}));
-exports.BaseStandardFontDataFactory = exports.BaseSVGFactory = exports.BaseFilterFactory = exports.BaseCanvasFactory = exports.BaseCMapReaderFactory = void 0;
-__w_pdfjs_require__(2);
-var _util = __w_pdfjs_require__(1);
-class BaseFilterFactory {
- constructor() {
- if (this.constructor === BaseFilterFactory) {
- (0, _util.unreachable)("Cannot initialize BaseFilterFactory.");
- }
- }
- addFilter(maps) {
- return "none";
- }
- addHCMFilter(fgColor, bgColor) {
- return "none";
- }
- addHighlightHCMFilter(fgColor, bgColor, newFgColor, newBgColor) {
- return "none";
- }
- destroy() {
- let keepHCM = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
- }
-}
-exports.BaseFilterFactory = BaseFilterFactory;
-class BaseCanvasFactory {
- constructor() {
- if (this.constructor === BaseCanvasFactory) {
- (0, _util.unreachable)("Cannot initialize BaseCanvasFactory.");
- }
- }
- create(width, height) {
- if (width <= 0 || height <= 0) {
- throw new Error("Invalid canvas size");
- }
- const canvas = this._createCanvas(width, height);
- return {
- canvas,
- context: canvas.getContext("2d")
- };
- }
- reset(canvasAndContext, width, height) {
- if (!canvasAndContext.canvas) {
- throw new Error("Canvas is not specified");
- }
- if (width <= 0 || height <= 0) {
- throw new Error("Invalid canvas size");
- }
- canvasAndContext.canvas.width = width;
- canvasAndContext.canvas.height = height;
- }
- destroy(canvasAndContext) {
- if (!canvasAndContext.canvas) {
- throw new Error("Canvas is not specified");
- }
- canvasAndContext.canvas.width = 0;
- canvasAndContext.canvas.height = 0;
- canvasAndContext.canvas = null;
- canvasAndContext.context = null;
- }
- _createCanvas(width, height) {
- (0, _util.unreachable)("Abstract method `_createCanvas` called.");
- }
-}
-exports.BaseCanvasFactory = BaseCanvasFactory;
-class BaseCMapReaderFactory {
- constructor(_ref) {
- let {
- baseUrl = null,
- isCompressed = true
- } = _ref;
- if (this.constructor === BaseCMapReaderFactory) {
- (0, _util.unreachable)("Cannot initialize BaseCMapReaderFactory.");
- }
- this.baseUrl = baseUrl;
- this.isCompressed = isCompressed;
- }
- async fetch(_ref2) {
- let {
- name
- } = _ref2;
- if (!this.baseUrl) {
- throw new Error('The CMap "baseUrl" parameter must be specified, ensure that ' + 'the "cMapUrl" and "cMapPacked" API parameters are provided.');
- }
- if (!name) {
- throw new Error("CMap name must be specified.");
- }
- const url = this.baseUrl + name + (this.isCompressed ? ".bcmap" : "");
- const compressionType = this.isCompressed ? _util.CMapCompressionType.BINARY : _util.CMapCompressionType.NONE;
- return this._fetchData(url, compressionType).catch(reason => {
- throw new Error(`Unable to load ${this.isCompressed ? "binary " : ""}CMap at: ${url}`);
- });
- }
- _fetchData(url, compressionType) {
- (0, _util.unreachable)("Abstract method `_fetchData` called.");
- }
-}
-exports.BaseCMapReaderFactory = BaseCMapReaderFactory;
-class BaseStandardFontDataFactory {
- constructor(_ref3) {
- let {
- baseUrl = null
- } = _ref3;
- if (this.constructor === BaseStandardFontDataFactory) {
- (0, _util.unreachable)("Cannot initialize BaseStandardFontDataFactory.");
- }
- this.baseUrl = baseUrl;
- }
- async fetch(_ref4) {
- let {
- filename
- } = _ref4;
- if (!this.baseUrl) {
- throw new Error('The standard font "baseUrl" parameter must be specified, ensure that ' + 'the "standardFontDataUrl" API parameter is provided.');
- }
- if (!filename) {
- throw new Error("Font filename must be specified.");
- }
- const url = `${this.baseUrl}${filename}`;
- return this._fetchData(url).catch(reason => {
- throw new Error(`Unable to load font data at: ${url}`);
- });
- }
- _fetchData(url) {
- (0, _util.unreachable)("Abstract method `_fetchData` called.");
- }
-}
-exports.BaseStandardFontDataFactory = BaseStandardFontDataFactory;
-class BaseSVGFactory {
- constructor() {
- if (this.constructor === BaseSVGFactory) {
- (0, _util.unreachable)("Cannot initialize BaseSVGFactory.");
- }
- }
- create(width, height) {
- let skipDimensions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
- if (width <= 0 || height <= 0) {
- throw new Error("Invalid SVG dimensions");
- }
- const svg = this._createSVG("svg:svg");
- svg.setAttribute("version", "1.1");
- if (!skipDimensions) {
- svg.setAttribute("width", `${width}px`);
- svg.setAttribute("height", `${height}px`);
- }
- svg.setAttribute("preserveAspectRatio", "none");
- svg.setAttribute("viewBox", `0 0 ${width} ${height}`);
- return svg;
- }
- createElement(type) {
- if (typeof type !== "string") {
- throw new Error("Invalid SVG element type");
- }
- return this._createSVG(type);
- }
- _createSVG(type) {
- (0, _util.unreachable)("Abstract method `_createSVG` called.");
- }
-}
-exports.BaseSVGFactory = BaseSVGFactory;
-
-/***/ }),
-/* 169 */
-/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", ({
- value: true
-}));
-exports.MurmurHash3_64 = void 0;
-__w_pdfjs_require__(93);
-__w_pdfjs_require__(101);
-__w_pdfjs_require__(102);
-__w_pdfjs_require__(105);
-__w_pdfjs_require__(107);
-__w_pdfjs_require__(109);
-__w_pdfjs_require__(113);
-__w_pdfjs_require__(116);
-__w_pdfjs_require__(123);
-__w_pdfjs_require__(2);
-var _util = __w_pdfjs_require__(1);
-const SEED = 0xc3d2e1f0;
-const MASK_HIGH = 0xffff0000;
-const MASK_LOW = 0xffff;
-class MurmurHash3_64 {
- constructor(seed) {
- this.h1 = seed ? seed & 0xffffffff : SEED;
- this.h2 = seed ? seed & 0xffffffff : SEED;
- }
- update(input) {
- let data, length;
- if (typeof input === "string") {
- data = new Uint8Array(input.length * 2);
- length = 0;
- for (let i = 0, ii = input.length; i < ii; i++) {
- const code = input.charCodeAt(i);
- if (code <= 0xff) {
- data[length++] = code;
- } else {
- data[length++] = code >>> 8;
- data[length++] = code & 0xff;
- }
- }
- } else if ((0, _util.isArrayBuffer)(input)) {
- data = input.slice();
- length = data.byteLength;
- } else {
- throw new Error("Wrong data format in MurmurHash3_64_update. " + "Input must be a string or array.");
- }
- const blockCounts = length >> 2;
- const tailLength = length - blockCounts * 4;
- const dataUint32 = new Uint32Array(data.buffer, 0, blockCounts);
- let k1 = 0,
- k2 = 0;
- let h1 = this.h1,
- h2 = this.h2;
- const C1 = 0xcc9e2d51,
- C2 = 0x1b873593;
- const C1_LOW = C1 & MASK_LOW,
- C2_LOW = C2 & MASK_LOW;
- for (let i = 0; i < blockCounts; i++) {
- if (i & 1) {
- k1 = dataUint32[i];
- k1 = k1 * C1 & MASK_HIGH | k1 * C1_LOW & MASK_LOW;
- k1 = k1 << 15 | k1 >>> 17;
- k1 = k1 * C2 & MASK_HIGH | k1 * C2_LOW & MASK_LOW;
- h1 ^= k1;
- h1 = h1 << 13 | h1 >>> 19;
- h1 = h1 * 5 + 0xe6546b64;
- } else {
- k2 = dataUint32[i];
- k2 = k2 * C1 & MASK_HIGH | k2 * C1_LOW & MASK_LOW;
- k2 = k2 << 15 | k2 >>> 17;
- k2 = k2 * C2 & MASK_HIGH | k2 * C2_LOW & MASK_LOW;
- h2 ^= k2;
- h2 = h2 << 13 | h2 >>> 19;
- h2 = h2 * 5 + 0xe6546b64;
- }
- }
- k1 = 0;
- switch (tailLength) {
- case 3:
- k1 ^= data[blockCounts * 4 + 2] << 16;
- case 2:
- k1 ^= data[blockCounts * 4 + 1] << 8;
- case 1:
- k1 ^= data[blockCounts * 4];
- k1 = k1 * C1 & MASK_HIGH | k1 * C1_LOW & MASK_LOW;
- k1 = k1 << 15 | k1 >>> 17;
- k1 = k1 * C2 & MASK_HIGH | k1 * C2_LOW & MASK_LOW;
- if (blockCounts & 1) {
- h1 ^= k1;
- } else {
- h2 ^= k1;
- }
- }
- this.h1 = h1;
- this.h2 = h2;
- }
- hexdigest() {
- let h1 = this.h1,
- h2 = this.h2;
- h1 ^= h2 >>> 1;
- h1 = h1 * 0xed558ccd & MASK_HIGH | h1 * 0x8ccd & MASK_LOW;
- h2 = h2 * 0xff51afd7 & MASK_HIGH | ((h2 << 16 | h1 >>> 16) * 0xafd7ed55 & MASK_HIGH) >>> 16;
- h1 ^= h2 >>> 1;
- h1 = h1 * 0x1a85ec53 & MASK_HIGH | h1 * 0xec53 & MASK_LOW;
- h2 = h2 * 0xc4ceb9fe & MASK_HIGH | ((h2 << 16 | h1 >>> 16) * 0xb9fe1a85 & MASK_HIGH) >>> 16;
- h1 ^= h2 >>> 1;
- return (h1 >>> 0).toString(16).padStart(8, "0") + (h2 >>> 0).toString(16).padStart(8, "0");
- }
-}
-exports.MurmurHash3_64 = MurmurHash3_64;
-
-/***/ }),
-/* 170 */
-/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", ({
- value: true
-}));
-exports.FontLoader = exports.FontFaceObject = void 0;
-__w_pdfjs_require__(125);
-__w_pdfjs_require__(135);
-__w_pdfjs_require__(137);
-__w_pdfjs_require__(140);
-__w_pdfjs_require__(142);
-__w_pdfjs_require__(144);
-__w_pdfjs_require__(146);
-__w_pdfjs_require__(89);
-__w_pdfjs_require__(148);
-var _util = __w_pdfjs_require__(1);
-class FontLoader {
- #systemFonts = new Set();
- constructor(_ref) {
- let {
- ownerDocument = globalThis.document,
- styleElement = null
- } = _ref;
- this._document = ownerDocument;
- this.nativeFontFaces = new Set();
- this.styleElement = null;
- this.loadingRequests = [];
- this.loadTestFontId = 0;
- }
- addNativeFontFace(nativeFontFace) {
- this.nativeFontFaces.add(nativeFontFace);
- this._document.fonts.add(nativeFontFace);
- }
- removeNativeFontFace(nativeFontFace) {
- this.nativeFontFaces.delete(nativeFontFace);
- this._document.fonts.delete(nativeFontFace);
- }
- insertRule(rule) {
- if (!this.styleElement) {
- this.styleElement = this._document.createElement("style");
- this._document.documentElement.getElementsByTagName("head")[0].append(this.styleElement);
- }
- const styleSheet = this.styleElement.sheet;
- styleSheet.insertRule(rule, styleSheet.cssRules.length);
- }
- clear() {
- for (const nativeFontFace of this.nativeFontFaces) {
- this._document.fonts.delete(nativeFontFace);
- }
- this.nativeFontFaces.clear();
- this.#systemFonts.clear();
- if (this.styleElement) {
- this.styleElement.remove();
- this.styleElement = null;
- }
- }
- async loadSystemFont(info) {
- if (!info || this.#systemFonts.has(info.loadedName)) {
- return;
- }
- (0, _util.assert)(!this.disableFontFace, "loadSystemFont shouldn't be called when `disableFontFace` is set.");
- if (this.isFontLoadingAPISupported) {
- const {
- loadedName,
- src,
- style
- } = info;
- const fontFace = new FontFace(loadedName, src, style);
- this.addNativeFontFace(fontFace);
- try {
- await fontFace.load();
- this.#systemFonts.add(loadedName);
- } catch {
- (0, _util.warn)(`Cannot load system font: ${info.baseFontName}, installing it could help to improve PDF rendering.`);
- this.removeNativeFontFace(fontFace);
- }
- return;
- }
- (0, _util.unreachable)("Not implemented: loadSystemFont without the Font Loading API.");
- }
- async bind(font) {
- if (font.attached || font.missingFile && !font.systemFontInfo) {
- return;
- }
- font.attached = true;
- if (font.systemFontInfo) {
- await this.loadSystemFont(font.systemFontInfo);
- return;
- }
- if (this.isFontLoadingAPISupported) {
- const nativeFontFace = font.createNativeFontFace();
- if (nativeFontFace) {
- this.addNativeFontFace(nativeFontFace);
- try {
- await nativeFontFace.loaded;
- } catch (ex) {
- (0, _util.warn)(`Failed to load font '${nativeFontFace.family}': '${ex}'.`);
- font.disableFontFace = true;
- throw ex;
- }
- }
- return;
- }
- const rule = font.createFontFaceRule();
- if (rule) {
- this.insertRule(rule);
- if (this.isSyncFontLoadingSupported) {
- return;
- }
- await new Promise(resolve => {
- const request = this._queueLoadingCallback(resolve);
- this._prepareFontLoadEvent(font, request);
- });
- }
- }
- get isFontLoadingAPISupported() {
- const hasFonts = !!this._document?.fonts;
- return (0, _util.shadow)(this, "isFontLoadingAPISupported", hasFonts);
- }
- get isSyncFontLoadingSupported() {
- let supported = false;
- if (_util.isNodeJS) {
- supported = true;
- } else if (typeof navigator !== "undefined" && /Mozilla\/5.0.*?rv:\d+.*? Gecko/.test(navigator.userAgent)) {
- supported = true;
- }
- return (0, _util.shadow)(this, "isSyncFontLoadingSupported", supported);
- }
- _queueLoadingCallback(callback) {
- function completeRequest() {
- (0, _util.assert)(!request.done, "completeRequest() cannot be called twice.");
- request.done = true;
- while (loadingRequests.length > 0 && loadingRequests[0].done) {
- const otherRequest = loadingRequests.shift();
- setTimeout(otherRequest.callback, 0);
- }
- }
- const {
- loadingRequests
- } = this;
- const request = {
- done: false,
- complete: completeRequest,
- callback
- };
- loadingRequests.push(request);
- return request;
- }
- get _loadTestFont() {
- const testFont = atob("T1RUTwALAIAAAwAwQ0ZGIDHtZg4AAAOYAAAAgUZGVE1lkzZwAAAEHAAAABxHREVGABQA" + "FQAABDgAAAAeT1MvMlYNYwkAAAEgAAAAYGNtYXABDQLUAAACNAAAAUJoZWFk/xVFDQAA" + "ALwAAAA2aGhlYQdkA+oAAAD0AAAAJGhtdHgD6AAAAAAEWAAAAAZtYXhwAAJQAAAAARgA" + "AAAGbmFtZVjmdH4AAAGAAAAAsXBvc3T/hgAzAAADeAAAACAAAQAAAAEAALZRFsRfDzz1" + "AAsD6AAAAADOBOTLAAAAAM4KHDwAAAAAA+gDIQAAAAgAAgAAAAAAAAABAAADIQAAAFoD" + "6AAAAAAD6AABAAAAAAAAAAAAAAAAAAAAAQAAUAAAAgAAAAQD6AH0AAUAAAKKArwAAACM" + "AooCvAAAAeAAMQECAAACAAYJAAAAAAAAAAAAAQAAAAAAAAAAAAAAAFBmRWQAwAAuAC4D" + "IP84AFoDIQAAAAAAAQAAAAAAAAAAACAAIAABAAAADgCuAAEAAAAAAAAAAQAAAAEAAAAA" + "AAEAAQAAAAEAAAAAAAIAAQAAAAEAAAAAAAMAAQAAAAEAAAAAAAQAAQAAAAEAAAAAAAUA" + "AQAAAAEAAAAAAAYAAQAAAAMAAQQJAAAAAgABAAMAAQQJAAEAAgABAAMAAQQJAAIAAgAB" + "AAMAAQQJAAMAAgABAAMAAQQJAAQAAgABAAMAAQQJAAUAAgABAAMAAQQJAAYAAgABWABY" + "AAAAAAAAAwAAAAMAAAAcAAEAAAAAADwAAwABAAAAHAAEACAAAAAEAAQAAQAAAC7//wAA" + "AC7////TAAEAAAAAAAABBgAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "AAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAD/gwAyAAAAAQAAAAAAAAAAAAAAAAAA" + "AAABAAQEAAEBAQJYAAEBASH4DwD4GwHEAvgcA/gXBIwMAYuL+nz5tQXkD5j3CBLnEQAC" + "AQEBIVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYAAABAQAADwACAQEEE/t3" + "Dov6fAH6fAT+fPp8+nwHDosMCvm1Cvm1DAz6fBQAAAAAAAABAAAAAMmJbzEAAAAAzgTj" + "FQAAAADOBOQpAAEAAAAAAAAADAAUAAQAAAABAAAAAgABAAAAAAAAAAAD6AAAAAAAAA==");
- return (0, _util.shadow)(this, "_loadTestFont", testFont);
- }
- _prepareFontLoadEvent(font, request) {
- function int32(data, offset) {
- return data.charCodeAt(offset) << 24 | data.charCodeAt(offset + 1) << 16 | data.charCodeAt(offset + 2) << 8 | data.charCodeAt(offset + 3) & 0xff;
- }
- function spliceString(s, offset, remove, insert) {
- const chunk1 = s.substring(0, offset);
- const chunk2 = s.substring(offset + remove);
- return chunk1 + insert + chunk2;
- }
- let i, ii;
- const canvas = this._document.createElement("canvas");
- canvas.width = 1;
- canvas.height = 1;
- const ctx = canvas.getContext("2d");
- let called = 0;
- function isFontReady(name, callback) {
- if (++called > 30) {
- (0, _util.warn)("Load test font never loaded.");
- callback();
- return;
- }
- ctx.font = "30px " + name;
- ctx.fillText(".", 0, 20);
- const imageData = ctx.getImageData(0, 0, 1, 1);
- if (imageData.data[3] > 0) {
- callback();
- return;
- }
- setTimeout(isFontReady.bind(null, name, callback));
- }
- const loadTestFontId = `lt${Date.now()}${this.loadTestFontId++}`;
- let data = this._loadTestFont;
- const COMMENT_OFFSET = 976;
- data = spliceString(data, COMMENT_OFFSET, loadTestFontId.length, loadTestFontId);
- const CFF_CHECKSUM_OFFSET = 16;
- const XXXX_VALUE = 0x58585858;
- let checksum = int32(data, CFF_CHECKSUM_OFFSET);
- for (i = 0, ii = loadTestFontId.length - 3; i < ii; i += 4) {
- checksum = checksum - XXXX_VALUE + int32(loadTestFontId, i) | 0;
- }
- if (i < loadTestFontId.length) {
- checksum = checksum - XXXX_VALUE + int32(loadTestFontId + "XXX", i) | 0;
- }
- data = spliceString(data, CFF_CHECKSUM_OFFSET, 4, (0, _util.string32)(checksum));
- const url = `url(data:font/opentype;base64,${btoa(data)});`;
- const rule = `@font-face {font-family:"${loadTestFontId}";src:${url}}`;
- this.insertRule(rule);
- const div = this._document.createElement("div");
- div.style.visibility = "hidden";
- div.style.width = div.style.height = "10px";
- div.style.position = "absolute";
- div.style.top = div.style.left = "0px";
- for (const name of [font.loadedName, loadTestFontId]) {
- const span = this._document.createElement("span");
- span.textContent = "Hi";
- span.style.fontFamily = name;
- div.append(span);
- }
- this._document.body.append(div);
- isFontReady(loadTestFontId, () => {
- div.remove();
- request.complete();
- });
- }
-}
-exports.FontLoader = FontLoader;
-class FontFaceObject {
- constructor(translatedData, _ref2) {
- let {
- isEvalSupported = true,
- disableFontFace = false,
- ignoreErrors = false,
- inspectFont = null
- } = _ref2;
- this.compiledGlyphs = Object.create(null);
- for (const i in translatedData) {
- this[i] = translatedData[i];
- }
- this.isEvalSupported = isEvalSupported !== false;
- this.disableFontFace = disableFontFace === true;
- this.ignoreErrors = ignoreErrors === true;
- this._inspectFont = inspectFont;
- }
- createNativeFontFace() {
- if (!this.data || this.disableFontFace) {
- return null;
- }
- let nativeFontFace;
- if (!this.cssFontInfo) {
- nativeFontFace = new FontFace(this.loadedName, this.data, {});
- } else {
- const css = {
- weight: this.cssFontInfo.fontWeight
- };
- if (this.cssFontInfo.italicAngle) {
- css.style = `oblique ${this.cssFontInfo.italicAngle}deg`;
- }
- nativeFontFace = new FontFace(this.cssFontInfo.fontFamily, this.data, css);
- }
- this._inspectFont?.(this);
- return nativeFontFace;
- }
- createFontFaceRule() {
- if (!this.data || this.disableFontFace) {
- return null;
- }
- const data = (0, _util.bytesToString)(this.data);
- const url = `url(data:${this.mimetype};base64,${btoa(data)});`;
- let rule;
- if (!this.cssFontInfo) {
- rule = `@font-face {font-family:"${this.loadedName}";src:${url}}`;
- } else {
- let css = `font-weight: ${this.cssFontInfo.fontWeight};`;
- if (this.cssFontInfo.italicAngle) {
- css += `font-style: oblique ${this.cssFontInfo.italicAngle}deg;`;
- }
- rule = `@font-face {font-family:"${this.cssFontInfo.fontFamily}";${css}src:${url}}`;
- }
- this._inspectFont?.(this, url);
- return rule;
- }
- getPathGenerator(objs, character) {
- if (this.compiledGlyphs[character] !== undefined) {
- return this.compiledGlyphs[character];
- }
- let cmds;
- try {
- cmds = objs.get(this.loadedName + "_path_" + character);
- } catch (ex) {
- if (!this.ignoreErrors) {
- throw ex;
- }
- (0, _util.warn)(`getPathGenerator - ignoring character: "${ex}".`);
- return this.compiledGlyphs[character] = function (c, size) {};
- }
- if (this.isEvalSupported && _util.FeatureTest.isEvalSupported) {
- const jsBuf = [];
- for (const current of cmds) {
- const args = current.args !== undefined ? current.args.join(",") : "";
- jsBuf.push("c.", current.cmd, "(", args, ");\n");
- }
- return this.compiledGlyphs[character] = new Function("c", "size", jsBuf.join(""));
- }
- return this.compiledGlyphs[character] = function (c, size) {
- for (const current of cmds) {
- if (current.cmd === "scale") {
- current.args = [size, -size];
- }
- c[current.cmd].apply(c, current.args);
- }
- };
- }
-}
-exports.FontFaceObject = FontFaceObject;
-
-/***/ }),
-/* 171 */
-/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", ({
- value: true
-}));
-exports.NodeStandardFontDataFactory = exports.NodeFilterFactory = exports.NodeCanvasFactory = exports.NodeCMapReaderFactory = void 0;
-__w_pdfjs_require__(2);
-__w_pdfjs_require__(93);
-__w_pdfjs_require__(101);
-__w_pdfjs_require__(102);
-__w_pdfjs_require__(105);
-__w_pdfjs_require__(107);
-__w_pdfjs_require__(109);
-__w_pdfjs_require__(113);
-__w_pdfjs_require__(116);
-__w_pdfjs_require__(123);
-var _base_factory = __w_pdfjs_require__(168);
-var _util = __w_pdfjs_require__(1);
-;
-{
- (function checkDOMMatrix() {
- if (globalThis.DOMMatrix || !_util.isNodeJS) {
- return;
- }
- try {
- globalThis.DOMMatrix = require("canvas").DOMMatrix;
- } catch (ex) {
- (0, _util.warn)(`Cannot polyfill \`DOMMatrix\`, rendering may be broken: "${ex}".`);
- }
- })();
- (function checkPath2D() {
- if (globalThis.Path2D || !_util.isNodeJS) {
- return;
- }
- try {
- const {
- CanvasRenderingContext2D
- } = require("canvas");
- const {
- polyfillPath2D
- } = require("path2d-polyfill");
- globalThis.CanvasRenderingContext2D = CanvasRenderingContext2D;
- polyfillPath2D(globalThis);
- } catch (ex) {
- (0, _util.warn)(`Cannot polyfill \`Path2D\`, rendering may be broken: "${ex}".`);
- }
- })();
-}
-const fetchData = function (url) {
- return new Promise((resolve, reject) => {
- const fs = require("fs");
- fs.readFile(url, (error, data) => {
- if (error || !data) {
- reject(new Error(error));
- return;
- }
- resolve(new Uint8Array(data));
- });
- });
-};
-class NodeFilterFactory extends _base_factory.BaseFilterFactory {}
-exports.NodeFilterFactory = NodeFilterFactory;
-class NodeCanvasFactory extends _base_factory.BaseCanvasFactory {
- _createCanvas(width, height) {
- const Canvas = require("canvas");
- return Canvas.createCanvas(width, height);
- }
-}
-exports.NodeCanvasFactory = NodeCanvasFactory;
-class NodeCMapReaderFactory extends _base_factory.BaseCMapReaderFactory {
- _fetchData(url, compressionType) {
- return fetchData(url).then(data => {
- return {
- cMapData: data,
- compressionType
- };
- });
- }
-}
-exports.NodeCMapReaderFactory = NodeCMapReaderFactory;
-class NodeStandardFontDataFactory extends _base_factory.BaseStandardFontDataFactory {
- _fetchData(url) {
- return fetchData(url);
- }
-}
-exports.NodeStandardFontDataFactory = NodeStandardFontDataFactory;
-
-/***/ }),
-/* 172 */
-/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", ({
- value: true
-}));
-exports.CanvasGraphics = void 0;
-__w_pdfjs_require__(2);
-__w_pdfjs_require__(93);
-__w_pdfjs_require__(101);
-__w_pdfjs_require__(102);
-__w_pdfjs_require__(105);
-__w_pdfjs_require__(107);
-__w_pdfjs_require__(109);
-__w_pdfjs_require__(113);
-__w_pdfjs_require__(116);
-__w_pdfjs_require__(123);
-__w_pdfjs_require__(89);
-var _util = __w_pdfjs_require__(1);
-var _display_utils = __w_pdfjs_require__(167);
-var _pattern_helper = __w_pdfjs_require__(173);
-var _image_utils = __w_pdfjs_require__(174);
-const MIN_FONT_SIZE = 16;
-const MAX_FONT_SIZE = 100;
-const MAX_GROUP_SIZE = 4096;
-const EXECUTION_TIME = 15;
-const EXECUTION_STEPS = 10;
-const MAX_SIZE_TO_COMPILE = 1000;
-const FULL_CHUNK_HEIGHT = 16;
-function mirrorContextOperations(ctx, destCtx) {
- if (ctx._removeMirroring) {
- throw new Error("Context is already forwarding operations.");
- }
- ctx.__originalSave = ctx.save;
- ctx.__originalRestore = ctx.restore;
- ctx.__originalRotate = ctx.rotate;
- ctx.__originalScale = ctx.scale;
- ctx.__originalTranslate = ctx.translate;
- ctx.__originalTransform = ctx.transform;
- ctx.__originalSetTransform = ctx.setTransform;
- ctx.__originalResetTransform = ctx.resetTransform;
- ctx.__originalClip = ctx.clip;
- ctx.__originalMoveTo = ctx.moveTo;
- ctx.__originalLineTo = ctx.lineTo;
- ctx.__originalBezierCurveTo = ctx.bezierCurveTo;
- ctx.__originalRect = ctx.rect;
- ctx.__originalClosePath = ctx.closePath;
- ctx.__originalBeginPath = ctx.beginPath;
- ctx._removeMirroring = () => {
- ctx.save = ctx.__originalSave;
- ctx.restore = ctx.__originalRestore;
- ctx.rotate = ctx.__originalRotate;
- ctx.scale = ctx.__originalScale;
- ctx.translate = ctx.__originalTranslate;
- ctx.transform = ctx.__originalTransform;
- ctx.setTransform = ctx.__originalSetTransform;
- ctx.resetTransform = ctx.__originalResetTransform;
- ctx.clip = ctx.__originalClip;
- ctx.moveTo = ctx.__originalMoveTo;
- ctx.lineTo = ctx.__originalLineTo;
- ctx.bezierCurveTo = ctx.__originalBezierCurveTo;
- ctx.rect = ctx.__originalRect;
- ctx.closePath = ctx.__originalClosePath;
- ctx.beginPath = ctx.__originalBeginPath;
- delete ctx._removeMirroring;
- };
- ctx.save = function ctxSave() {
- destCtx.save();
- this.__originalSave();
- };
- ctx.restore = function ctxRestore() {
- destCtx.restore();
- this.__originalRestore();
- };
- ctx.translate = function ctxTranslate(x, y) {
- destCtx.translate(x, y);
- this.__originalTranslate(x, y);
- };
- ctx.scale = function ctxScale(x, y) {
- destCtx.scale(x, y);
- this.__originalScale(x, y);
- };
- ctx.transform = function ctxTransform(a, b, c, d, e, f) {
- destCtx.transform(a, b, c, d, e, f);
- this.__originalTransform(a, b, c, d, e, f);
- };
- ctx.setTransform = function ctxSetTransform(a, b, c, d, e, f) {
- destCtx.setTransform(a, b, c, d, e, f);
- this.__originalSetTransform(a, b, c, d, e, f);
- };
- ctx.resetTransform = function ctxResetTransform() {
- destCtx.resetTransform();
- this.__originalResetTransform();
- };
- ctx.rotate = function ctxRotate(angle) {
- destCtx.rotate(angle);
- this.__originalRotate(angle);
- };
- ctx.clip = function ctxRotate(rule) {
- destCtx.clip(rule);
- this.__originalClip(rule);
- };
- ctx.moveTo = function (x, y) {
- destCtx.moveTo(x, y);
- this.__originalMoveTo(x, y);
- };
- ctx.lineTo = function (x, y) {
- destCtx.lineTo(x, y);
- this.__originalLineTo(x, y);
- };
- ctx.bezierCurveTo = function (cp1x, cp1y, cp2x, cp2y, x, y) {
- destCtx.bezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y);
- this.__originalBezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y);
- };
- ctx.rect = function (x, y, width, height) {
- destCtx.rect(x, y, width, height);
- this.__originalRect(x, y, width, height);
- };
- ctx.closePath = function () {
- destCtx.closePath();
- this.__originalClosePath();
- };
- ctx.beginPath = function () {
- destCtx.beginPath();
- this.__originalBeginPath();
- };
-}
-class CachedCanvases {
- constructor(canvasFactory) {
- this.canvasFactory = canvasFactory;
- this.cache = Object.create(null);
- }
- getCanvas(id, width, height) {
- let canvasEntry;
- if (this.cache[id] !== undefined) {
- canvasEntry = this.cache[id];
- this.canvasFactory.reset(canvasEntry, width, height);
- } else {
- canvasEntry = this.canvasFactory.create(width, height);
- this.cache[id] = canvasEntry;
- }
- return canvasEntry;
- }
- delete(id) {
- delete this.cache[id];
- }
- clear() {
- for (const id in this.cache) {
- const canvasEntry = this.cache[id];
- this.canvasFactory.destroy(canvasEntry);
- delete this.cache[id];
- }
- }
-}
-function drawImageAtIntegerCoords(ctx, srcImg, srcX, srcY, srcW, srcH, destX, destY, destW, destH) {
- const [a, b, c, d, tx, ty] = (0, _display_utils.getCurrentTransform)(ctx);
- if (b === 0 && c === 0) {
- const tlX = destX * a + tx;
- const rTlX = Math.round(tlX);
- const tlY = destY * d + ty;
- const rTlY = Math.round(tlY);
- const brX = (destX + destW) * a + tx;
- const rWidth = Math.abs(Math.round(brX) - rTlX) || 1;
- const brY = (destY + destH) * d + ty;
- const rHeight = Math.abs(Math.round(brY) - rTlY) || 1;
- ctx.setTransform(Math.sign(a), 0, 0, Math.sign(d), rTlX, rTlY);
- ctx.drawImage(srcImg, srcX, srcY, srcW, srcH, 0, 0, rWidth, rHeight);
- ctx.setTransform(a, b, c, d, tx, ty);
- return [rWidth, rHeight];
- }
- if (a === 0 && d === 0) {
- const tlX = destY * c + tx;
- const rTlX = Math.round(tlX);
- const tlY = destX * b + ty;
- const rTlY = Math.round(tlY);
- const brX = (destY + destH) * c + tx;
- const rWidth = Math.abs(Math.round(brX) - rTlX) || 1;
- const brY = (destX + destW) * b + ty;
- const rHeight = Math.abs(Math.round(brY) - rTlY) || 1;
- ctx.setTransform(0, Math.sign(b), Math.sign(c), 0, rTlX, rTlY);
- ctx.drawImage(srcImg, srcX, srcY, srcW, srcH, 0, 0, rHeight, rWidth);
- ctx.setTransform(a, b, c, d, tx, ty);
- return [rHeight, rWidth];
- }
- ctx.drawImage(srcImg, srcX, srcY, srcW, srcH, destX, destY, destW, destH);
- const scaleX = Math.hypot(a, b);
- const scaleY = Math.hypot(c, d);
- return [scaleX * destW, scaleY * destH];
-}
-function compileType3Glyph(imgData) {
- const {
- width,
- height
- } = imgData;
- if (width > MAX_SIZE_TO_COMPILE || height > MAX_SIZE_TO_COMPILE) {
- return null;
- }
- const POINT_TO_PROCESS_LIMIT = 1000;
- const POINT_TYPES = new Uint8Array([0, 2, 4, 0, 1, 0, 5, 4, 8, 10, 0, 8, 0, 2, 1, 0]);
- const width1 = width + 1;
- let points = new Uint8Array(width1 * (height + 1));
- let i, j, j0;
- const lineSize = width + 7 & ~7;
- let data = new Uint8Array(lineSize * height),
- pos = 0;
- for (const elem of imgData.data) {
- let mask = 128;
- while (mask > 0) {
- data[pos++] = elem & mask ? 0 : 255;
- mask >>= 1;
- }
- }
- let count = 0;
- pos = 0;
- if (data[pos] !== 0) {
- points[0] = 1;
- ++count;
- }
- for (j = 1; j < width; j++) {
- if (data[pos] !== data[pos + 1]) {
- points[j] = data[pos] ? 2 : 1;
- ++count;
- }
- pos++;
- }
- if (data[pos] !== 0) {
- points[j] = 2;
- ++count;
- }
- for (i = 1; i < height; i++) {
- pos = i * lineSize;
- j0 = i * width1;
- if (data[pos - lineSize] !== data[pos]) {
- points[j0] = data[pos] ? 1 : 8;
- ++count;
- }
- let sum = (data[pos] ? 4 : 0) + (data[pos - lineSize] ? 8 : 0);
- for (j = 1; j < width; j++) {
- sum = (sum >> 2) + (data[pos + 1] ? 4 : 0) + (data[pos - lineSize + 1] ? 8 : 0);
- if (POINT_TYPES[sum]) {
- points[j0 + j] = POINT_TYPES[sum];
- ++count;
- }
- pos++;
- }
- if (data[pos - lineSize] !== data[pos]) {
- points[j0 + j] = data[pos] ? 2 : 4;
- ++count;
- }
- if (count > POINT_TO_PROCESS_LIMIT) {
- return null;
- }
- }
- pos = lineSize * (height - 1);
- j0 = i * width1;
- if (data[pos] !== 0) {
- points[j0] = 8;
- ++count;
- }
- for (j = 1; j < width; j++) {
- if (data[pos] !== data[pos + 1]) {
- points[j0 + j] = data[pos] ? 4 : 8;
- ++count;
- }
- pos++;
- }
- if (data[pos] !== 0) {
- points[j0 + j] = 4;
- ++count;
- }
- if (count > POINT_TO_PROCESS_LIMIT) {
- return null;
- }
- const steps = new Int32Array([0, width1, -1, 0, -width1, 0, 0, 0, 1]);
- const path = new Path2D();
- for (i = 0; count && i <= height; i++) {
- let p = i * width1;
- const end = p + width;
- while (p < end && !points[p]) {
- p++;
- }
- if (p === end) {
- continue;
- }
- path.moveTo(p % width1, i);
- const p0 = p;
- let type = points[p];
- do {
- const step = steps[type];
- do {
- p += step;
- } while (!points[p]);
- const pp = points[p];
- if (pp !== 5 && pp !== 10) {
- type = pp;
- points[p] = 0;
- } else {
- type = pp & 0x33 * type >> 4;
- points[p] &= type >> 2 | type << 2;
- }
- path.lineTo(p % width1, p / width1 | 0);
- if (!points[p]) {
- --count;
- }
- } while (p0 !== p);
- --i;
- }
- data = null;
- points = null;
- const drawOutline = function (c) {
- c.save();
- c.scale(1 / width, -1 / height);
- c.translate(0, -height);
- c.fill(path);
- c.beginPath();
- c.restore();
- };
- return drawOutline;
-}
-class CanvasExtraState {
- constructor(width, height) {
- this.alphaIsShape = false;
- this.fontSize = 0;
- this.fontSizeScale = 1;
- this.textMatrix = _util.IDENTITY_MATRIX;
- this.textMatrixScale = 1;
- this.fontMatrix = _util.FONT_IDENTITY_MATRIX;
- this.leading = 0;
- this.x = 0;
- this.y = 0;
- this.lineX = 0;
- this.lineY = 0;
- this.charSpacing = 0;
- this.wordSpacing = 0;
- this.textHScale = 1;
- this.textRenderingMode = _util.TextRenderingMode.FILL;
- this.textRise = 0;
- this.fillColor = "#000000";
- this.strokeColor = "#000000";
- this.patternFill = false;
- this.fillAlpha = 1;
- this.strokeAlpha = 1;
- this.lineWidth = 1;
- this.activeSMask = null;
- this.transferMaps = "none";
- this.startNewPathAndClipBox([0, 0, width, height]);
- }
- clone() {
- const clone = Object.create(this);
- clone.clipBox = this.clipBox.slice();
- return clone;
- }
- setCurrentPoint(x, y) {
- this.x = x;
- this.y = y;
- }
- updatePathMinMax(transform, x, y) {
- [x, y] = _util.Util.applyTransform([x, y], transform);
- this.minX = Math.min(this.minX, x);
- this.minY = Math.min(this.minY, y);
- this.maxX = Math.max(this.maxX, x);
- this.maxY = Math.max(this.maxY, y);
- }
- updateRectMinMax(transform, rect) {
- const p1 = _util.Util.applyTransform(rect, transform);
- const p2 = _util.Util.applyTransform(rect.slice(2), transform);
- this.minX = Math.min(this.minX, p1[0], p2[0]);
- this.minY = Math.min(this.minY, p1[1], p2[1]);
- this.maxX = Math.max(this.maxX, p1[0], p2[0]);
- this.maxY = Math.max(this.maxY, p1[1], p2[1]);
- }
- updateScalingPathMinMax(transform, minMax) {
- _util.Util.scaleMinMax(transform, minMax);
- this.minX = Math.min(this.minX, minMax[0]);
- this.maxX = Math.max(this.maxX, minMax[1]);
- this.minY = Math.min(this.minY, minMax[2]);
- this.maxY = Math.max(this.maxY, minMax[3]);
- }
- updateCurvePathMinMax(transform, x0, y0, x1, y1, x2, y2, x3, y3, minMax) {
- const box = _util.Util.bezierBoundingBox(x0, y0, x1, y1, x2, y2, x3, y3);
- if (minMax) {
- minMax[0] = Math.min(minMax[0], box[0], box[2]);
- minMax[1] = Math.max(minMax[1], box[0], box[2]);
- minMax[2] = Math.min(minMax[2], box[1], box[3]);
- minMax[3] = Math.max(minMax[3], box[1], box[3]);
- return;
- }
- this.updateRectMinMax(transform, box);
- }
- getPathBoundingBox() {
- let pathType = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _pattern_helper.PathType.FILL;
- let transform = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
- const box = [this.minX, this.minY, this.maxX, this.maxY];
- if (pathType === _pattern_helper.PathType.STROKE) {
- if (!transform) {
- (0, _util.unreachable)("Stroke bounding box must include transform.");
- }
- const scale = _util.Util.singularValueDecompose2dScale(transform);
- const xStrokePad = scale[0] * this.lineWidth / 2;
- const yStrokePad = scale[1] * this.lineWidth / 2;
- box[0] -= xStrokePad;
- box[1] -= yStrokePad;
- box[2] += xStrokePad;
- box[3] += yStrokePad;
- }
- return box;
- }
- updateClipFromPath() {
- const intersect = _util.Util.intersect(this.clipBox, this.getPathBoundingBox());
- this.startNewPathAndClipBox(intersect || [0, 0, 0, 0]);
- }
- isEmptyClip() {
- return this.minX === Infinity;
- }
- startNewPathAndClipBox(box) {
- this.clipBox = box;
- this.minX = Infinity;
- this.minY = Infinity;
- this.maxX = 0;
- this.maxY = 0;
- }
- getClippedPathBoundingBox() {
- let pathType = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _pattern_helper.PathType.FILL;
- let transform = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
- return _util.Util.intersect(this.clipBox, this.getPathBoundingBox(pathType, transform));
- }
-}
-function putBinaryImageData(ctx, imgData) {
- if (typeof ImageData !== "undefined" && imgData instanceof ImageData) {
- ctx.putImageData(imgData, 0, 0);
- return;
- }
- const height = imgData.height,
- width = imgData.width;
- const partialChunkHeight = height % FULL_CHUNK_HEIGHT;
- const fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT;
- const totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1;
- const chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT);
- let srcPos = 0,
- destPos;
- const src = imgData.data;
- const dest = chunkImgData.data;
- let i, j, thisChunkHeight, elemsInThisChunk;
- if (imgData.kind === _util.ImageKind.GRAYSCALE_1BPP) {
- const srcLength = src.byteLength;
- const dest32 = new Uint32Array(dest.buffer, 0, dest.byteLength >> 2);
- const dest32DataLength = dest32.length;
- const fullSrcDiff = width + 7 >> 3;
- const white = 0xffffffff;
- const black = _util.FeatureTest.isLittleEndian ? 0xff000000 : 0x000000ff;
- for (i = 0; i < totalChunks; i++) {
- thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;
- destPos = 0;
- for (j = 0; j < thisChunkHeight; j++) {
- const srcDiff = srcLength - srcPos;
- let k = 0;
- const kEnd = srcDiff > fullSrcDiff ? width : srcDiff * 8 - 7;
- const kEndUnrolled = kEnd & ~7;
- let mask = 0;
- let srcByte = 0;
- for (; k < kEndUnrolled; k += 8) {
- srcByte = src[srcPos++];
- dest32[destPos++] = srcByte & 128 ? white : black;
- dest32[destPos++] = srcByte & 64 ? white : black;
- dest32[destPos++] = srcByte & 32 ? white : black;
- dest32[destPos++] = srcByte & 16 ? white : black;
- dest32[destPos++] = srcByte & 8 ? white : black;
- dest32[destPos++] = srcByte & 4 ? white : black;
- dest32[destPos++] = srcByte & 2 ? white : black;
- dest32[destPos++] = srcByte & 1 ? white : black;
- }
- for (; k < kEnd; k++) {
- if (mask === 0) {
- srcByte = src[srcPos++];
- mask = 128;
- }
- dest32[destPos++] = srcByte & mask ? white : black;
- mask >>= 1;
- }
- }
- while (destPos < dest32DataLength) {
- dest32[destPos++] = 0;
- }
- ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);
- }
- } else if (imgData.kind === _util.ImageKind.RGBA_32BPP) {
- j = 0;
- elemsInThisChunk = width * FULL_CHUNK_HEIGHT * 4;
- for (i = 0; i < fullChunks; i++) {
- dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk));
- srcPos += elemsInThisChunk;
- ctx.putImageData(chunkImgData, 0, j);
- j += FULL_CHUNK_HEIGHT;
- }
- if (i < totalChunks) {
- elemsInThisChunk = width * partialChunkHeight * 4;
- dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk));
- ctx.putImageData(chunkImgData, 0, j);
- }
- } else if (imgData.kind === _util.ImageKind.RGB_24BPP) {
- thisChunkHeight = FULL_CHUNK_HEIGHT;
- elemsInThisChunk = width * thisChunkHeight;
- for (i = 0; i < totalChunks; i++) {
- if (i >= fullChunks) {
- thisChunkHeight = partialChunkHeight;
- elemsInThisChunk = width * thisChunkHeight;
- }
- destPos = 0;
- for (j = elemsInThisChunk; j--;) {
- dest[destPos++] = src[srcPos++];
- dest[destPos++] = src[srcPos++];
- dest[destPos++] = src[srcPos++];
- dest[destPos++] = 255;
- }
- ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);
- }
- } else {
- throw new Error(`bad image kind: ${imgData.kind}`);
- }
-}
-function putBinaryImageMask(ctx, imgData) {
- if (imgData.bitmap) {
- ctx.drawImage(imgData.bitmap, 0, 0);
- return;
- }
- const height = imgData.height,
- width = imgData.width;
- const partialChunkHeight = height % FULL_CHUNK_HEIGHT;
- const fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT;
- const totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1;
- const chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT);
- let srcPos = 0;
- const src = imgData.data;
- const dest = chunkImgData.data;
- for (let i = 0; i < totalChunks; i++) {
- const thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;
- ({
- srcPos
- } = (0, _image_utils.convertBlackAndWhiteToRGBA)({
- src,
- srcPos,
- dest,
- width,
- height: thisChunkHeight,
- nonBlackColor: 0
- }));
- ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);
- }
-}
-function copyCtxState(sourceCtx, destCtx) {
- const properties = ["strokeStyle", "fillStyle", "fillRule", "globalAlpha", "lineWidth", "lineCap", "lineJoin", "miterLimit", "globalCompositeOperation", "font", "filter"];
- for (const property of properties) {
- if (sourceCtx[property] !== undefined) {
- destCtx[property] = sourceCtx[property];
- }
- }
- if (sourceCtx.setLineDash !== undefined) {
- destCtx.setLineDash(sourceCtx.getLineDash());
- destCtx.lineDashOffset = sourceCtx.lineDashOffset;
- }
-}
-function resetCtxToDefault(ctx) {
- ctx.strokeStyle = ctx.fillStyle = "#000000";
- ctx.fillRule = "nonzero";
- ctx.globalAlpha = 1;
- ctx.lineWidth = 1;
- ctx.lineCap = "butt";
- ctx.lineJoin = "miter";
- ctx.miterLimit = 10;
- ctx.globalCompositeOperation = "source-over";
- ctx.font = "10px sans-serif";
- if (ctx.setLineDash !== undefined) {
- ctx.setLineDash([]);
- ctx.lineDashOffset = 0;
- }
- if (!_util.isNodeJS) {
- const {
- filter
- } = ctx;
- if (filter !== "none" && filter !== "") {
- ctx.filter = "none";
- }
- }
-}
-function composeSMaskBackdrop(bytes, r0, g0, b0) {
- const length = bytes.length;
- for (let i = 3; i < length; i += 4) {
- const alpha = bytes[i];
- if (alpha === 0) {
- bytes[i - 3] = r0;
- bytes[i - 2] = g0;
- bytes[i - 1] = b0;
- } else if (alpha < 255) {
- const alpha_ = 255 - alpha;
- bytes[i - 3] = bytes[i - 3] * alpha + r0 * alpha_ >> 8;
- bytes[i - 2] = bytes[i - 2] * alpha + g0 * alpha_ >> 8;
- bytes[i - 1] = bytes[i - 1] * alpha + b0 * alpha_ >> 8;
- }
- }
-}
-function composeSMaskAlpha(maskData, layerData, transferMap) {
- const length = maskData.length;
- const scale = 1 / 255;
- for (let i = 3; i < length; i += 4) {
- const alpha = transferMap ? transferMap[maskData[i]] : maskData[i];
- layerData[i] = layerData[i] * alpha * scale | 0;
- }
-}
-function composeSMaskLuminosity(maskData, layerData, transferMap) {
- const length = maskData.length;
- for (let i = 3; i < length; i += 4) {
- const y = maskData[i - 3] * 77 + maskData[i - 2] * 152 + maskData[i - 1] * 28;
- layerData[i] = transferMap ? layerData[i] * transferMap[y >> 8] >> 8 : layerData[i] * y >> 16;
- }
-}
-function genericComposeSMask(maskCtx, layerCtx, width, height, subtype, backdrop, transferMap, layerOffsetX, layerOffsetY, maskOffsetX, maskOffsetY) {
- const hasBackdrop = !!backdrop;
- const r0 = hasBackdrop ? backdrop[0] : 0;
- const g0 = hasBackdrop ? backdrop[1] : 0;
- const b0 = hasBackdrop ? backdrop[2] : 0;
- const composeFn = subtype === "Luminosity" ? composeSMaskLuminosity : composeSMaskAlpha;
- const PIXELS_TO_PROCESS = 1048576;
- const chunkSize = Math.min(height, Math.ceil(PIXELS_TO_PROCESS / width));
- for (let row = 0; row < height; row += chunkSize) {
- const chunkHeight = Math.min(chunkSize, height - row);
- const maskData = maskCtx.getImageData(layerOffsetX - maskOffsetX, row + (layerOffsetY - maskOffsetY), width, chunkHeight);
- const layerData = layerCtx.getImageData(layerOffsetX, row + layerOffsetY, width, chunkHeight);
- if (hasBackdrop) {
- composeSMaskBackdrop(maskData.data, r0, g0, b0);
- }
- composeFn(maskData.data, layerData.data, transferMap);
- layerCtx.putImageData(layerData, layerOffsetX, row + layerOffsetY);
- }
-}
-function composeSMask(ctx, smask, layerCtx, layerBox) {
- const layerOffsetX = layerBox[0];
- const layerOffsetY = layerBox[1];
- const layerWidth = layerBox[2] - layerOffsetX;
- const layerHeight = layerBox[3] - layerOffsetY;
- if (layerWidth === 0 || layerHeight === 0) {
- return;
- }
- genericComposeSMask(smask.context, layerCtx, layerWidth, layerHeight, smask.subtype, smask.backdrop, smask.transferMap, layerOffsetX, layerOffsetY, smask.offsetX, smask.offsetY);
- ctx.save();
- ctx.globalAlpha = 1;
- ctx.globalCompositeOperation = "source-over";
- ctx.setTransform(1, 0, 0, 1, 0, 0);
- ctx.drawImage(layerCtx.canvas, 0, 0);
- ctx.restore();
-}
-function getImageSmoothingEnabled(transform, interpolate) {
- const scale = _util.Util.singularValueDecompose2dScale(transform);
- scale[0] = Math.fround(scale[0]);
- scale[1] = Math.fround(scale[1]);
- const actualScale = Math.fround((globalThis.devicePixelRatio || 1) * _display_utils.PixelsPerInch.PDF_TO_CSS_UNITS);
- if (interpolate !== undefined) {
- return interpolate;
- } else if (scale[0] <= actualScale || scale[1] <= actualScale) {
- return true;
- }
- return false;
-}
-const LINE_CAP_STYLES = ["butt", "round", "square"];
-const LINE_JOIN_STYLES = ["miter", "round", "bevel"];
-const NORMAL_CLIP = {};
-const EO_CLIP = {};
-class CanvasGraphics {
- constructor(canvasCtx, commonObjs, objs, canvasFactory, filterFactory, _ref, annotationCanvasMap, pageColors) {
- let {
- optionalContentConfig,
- markedContentStack = null
- } = _ref;
- this.ctx = canvasCtx;
- this.current = new CanvasExtraState(this.ctx.canvas.width, this.ctx.canvas.height);
- this.stateStack = [];
- this.pendingClip = null;
- this.pendingEOFill = false;
- this.res = null;
- this.xobjs = null;
- this.commonObjs = commonObjs;
- this.objs = objs;
- this.canvasFactory = canvasFactory;
- this.filterFactory = filterFactory;
- this.groupStack = [];
- this.processingType3 = null;
- this.baseTransform = null;
- this.baseTransformStack = [];
- this.groupLevel = 0;
- this.smaskStack = [];
- this.smaskCounter = 0;
- this.tempSMask = null;
- this.suspendedCtx = null;
- this.contentVisible = true;
- this.markedContentStack = markedContentStack || [];
- this.optionalContentConfig = optionalContentConfig;
- this.cachedCanvases = new CachedCanvases(this.canvasFactory);
- this.cachedPatterns = new Map();
- this.annotationCanvasMap = annotationCanvasMap;
- this.viewportScale = 1;
- this.outputScaleX = 1;
- this.outputScaleY = 1;
- this.pageColors = pageColors;
- this._cachedScaleForStroking = [-1, 0];
- this._cachedGetSinglePixelWidth = null;
- this._cachedBitmapsMap = new Map();
- }
- getObject(data) {
- let fallback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
- if (typeof data === "string") {
- return data.startsWith("g_") ? this.commonObjs.get(data) : this.objs.get(data);
- }
- return fallback;
- }
- beginDrawing(_ref2) {
- let {
- transform,
- viewport,
- transparency = false,
- background = null
- } = _ref2;
- const width = this.ctx.canvas.width;
- const height = this.ctx.canvas.height;
- const savedFillStyle = this.ctx.fillStyle;
- this.ctx.fillStyle = background || "#ffffff";
- this.ctx.fillRect(0, 0, width, height);
- this.ctx.fillStyle = savedFillStyle;
- if (transparency) {
- const transparentCanvas = this.cachedCanvases.getCanvas("transparent", width, height);
- this.compositeCtx = this.ctx;
- this.transparentCanvas = transparentCanvas.canvas;
- this.ctx = transparentCanvas.context;
- this.ctx.save();
- this.ctx.transform(...(0, _display_utils.getCurrentTransform)(this.compositeCtx));
- }
- this.ctx.save();
- resetCtxToDefault(this.ctx);
- if (transform) {
- this.ctx.transform(...transform);
- this.outputScaleX = transform[0];
- this.outputScaleY = transform[0];
- }
- this.ctx.transform(...viewport.transform);
- this.viewportScale = viewport.scale;
- this.baseTransform = (0, _display_utils.getCurrentTransform)(this.ctx);
- }
- executeOperatorList(operatorList, executionStartIdx, continueCallback, stepper) {
- const argsArray = operatorList.argsArray;
- const fnArray = operatorList.fnArray;
- let i = executionStartIdx || 0;
- const argsArrayLen = argsArray.length;
- if (argsArrayLen === i) {
- return i;
- }
- const chunkOperations = argsArrayLen - i > EXECUTION_STEPS && typeof continueCallback === "function";
- const endTime = chunkOperations ? Date.now() + EXECUTION_TIME : 0;
- let steps = 0;
- const commonObjs = this.commonObjs;
- const objs = this.objs;
- let fnId;
- while (true) {
- if (stepper !== undefined && i === stepper.nextBreakPoint) {
- stepper.breakIt(i, continueCallback);
- return i;
- }
- fnId = fnArray[i];
- if (fnId !== _util.OPS.dependency) {
- this[fnId].apply(this, argsArray[i]);
- } else {
- for (const depObjId of argsArray[i]) {
- const objsPool = depObjId.startsWith("g_") ? commonObjs : objs;
- if (!objsPool.has(depObjId)) {
- objsPool.get(depObjId, continueCallback);
- return i;
- }
- }
- }
- i++;
- if (i === argsArrayLen) {
- return i;
- }
- if (chunkOperations && ++steps > EXECUTION_STEPS) {
- if (Date.now() > endTime) {
- continueCallback();
- return i;
- }
- steps = 0;
- }
- }
- }
- #restoreInitialState() {
- while (this.stateStack.length || this.inSMaskMode) {
- this.restore();
- }
- this.ctx.restore();
- if (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.transparentCanvas = null;
- }
- }
- endDrawing() {
- this.#restoreInitialState();
- this.cachedCanvases.clear();
- this.cachedPatterns.clear();
- for (const cache of this._cachedBitmapsMap.values()) {
- for (const canvas of cache.values()) {
- if (typeof HTMLCanvasElement !== "undefined" && canvas instanceof HTMLCanvasElement) {
- canvas.width = canvas.height = 0;
- }
- }
- cache.clear();
- }
- this._cachedBitmapsMap.clear();
- this.#drawFilter();
- }
- #drawFilter() {
- if (this.pageColors) {
- const hcmFilterId = this.filterFactory.addHCMFilter(this.pageColors.foreground, this.pageColors.background);
- if (hcmFilterId !== "none") {
- const savedFilter = this.ctx.filter;
- this.ctx.filter = hcmFilterId;
- this.ctx.drawImage(this.ctx.canvas, 0, 0);
- this.ctx.filter = savedFilter;
- }
- }
- }
- _scaleImage(img, inverseTransform) {
- const width = img.width;
- const height = img.height;
- let widthScale = Math.max(Math.hypot(inverseTransform[0], inverseTransform[1]), 1);
- let heightScale = Math.max(Math.hypot(inverseTransform[2], inverseTransform[3]), 1);
- let paintWidth = width,
- paintHeight = height;
- let tmpCanvasId = "prescale1";
- let tmpCanvas, tmpCtx;
- while (widthScale > 2 && paintWidth > 1 || heightScale > 2 && paintHeight > 1) {
- let newWidth = paintWidth,
- newHeight = paintHeight;
- if (widthScale > 2 && paintWidth > 1) {
- newWidth = paintWidth >= 16384 ? Math.floor(paintWidth / 2) - 1 || 1 : Math.ceil(paintWidth / 2);
- widthScale /= paintWidth / newWidth;
- }
- if (heightScale > 2 && paintHeight > 1) {
- newHeight = paintHeight >= 16384 ? Math.floor(paintHeight / 2) - 1 || 1 : Math.ceil(paintHeight) / 2;
- heightScale /= paintHeight / newHeight;
- }
- tmpCanvas = this.cachedCanvases.getCanvas(tmpCanvasId, newWidth, newHeight);
- tmpCtx = tmpCanvas.context;
- tmpCtx.clearRect(0, 0, newWidth, newHeight);
- tmpCtx.drawImage(img, 0, 0, paintWidth, paintHeight, 0, 0, newWidth, newHeight);
- img = tmpCanvas.canvas;
- paintWidth = newWidth;
- paintHeight = newHeight;
- tmpCanvasId = tmpCanvasId === "prescale1" ? "prescale2" : "prescale1";
- }
- return {
- img,
- paintWidth,
- paintHeight
- };
- }
- _createMaskCanvas(img) {
- const ctx = this.ctx;
- const {
- width,
- height
- } = img;
- const fillColor = this.current.fillColor;
- const isPatternFill = this.current.patternFill;
- const currentTransform = (0, _display_utils.getCurrentTransform)(ctx);
- let cache, cacheKey, scaled, maskCanvas;
- if ((img.bitmap || img.data) && img.count > 1) {
- const mainKey = img.bitmap || img.data.buffer;
- cacheKey = JSON.stringify(isPatternFill ? currentTransform : [currentTransform.slice(0, 4), fillColor]);
- cache = this._cachedBitmapsMap.get(mainKey);
- if (!cache) {
- cache = new Map();
- this._cachedBitmapsMap.set(mainKey, cache);
- }
- const cachedImage = cache.get(cacheKey);
- if (cachedImage && !isPatternFill) {
- const offsetX = Math.round(Math.min(currentTransform[0], currentTransform[2]) + currentTransform[4]);
- const offsetY = Math.round(Math.min(currentTransform[1], currentTransform[3]) + currentTransform[5]);
- return {
- canvas: cachedImage,
- offsetX,
- offsetY
- };
- }
- scaled = cachedImage;
- }
- if (!scaled) {
- maskCanvas = this.cachedCanvases.getCanvas("maskCanvas", width, height);
- putBinaryImageMask(maskCanvas.context, img);
- }
- let maskToCanvas = _util.Util.transform(currentTransform, [1 / width, 0, 0, -1 / height, 0, 0]);
- maskToCanvas = _util.Util.transform(maskToCanvas, [1, 0, 0, 1, 0, -height]);
- const cord1 = _util.Util.applyTransform([0, 0], maskToCanvas);
- const cord2 = _util.Util.applyTransform([width, height], maskToCanvas);
- const rect = _util.Util.normalizeRect([cord1[0], cord1[1], cord2[0], cord2[1]]);
- const drawnWidth = Math.round(rect[2] - rect[0]) || 1;
- const drawnHeight = Math.round(rect[3] - rect[1]) || 1;
- const fillCanvas = this.cachedCanvases.getCanvas("fillCanvas", drawnWidth, drawnHeight);
- const fillCtx = fillCanvas.context;
- const offsetX = Math.min(cord1[0], cord2[0]);
- const offsetY = Math.min(cord1[1], cord2[1]);
- fillCtx.translate(-offsetX, -offsetY);
- fillCtx.transform(...maskToCanvas);
- if (!scaled) {
- scaled = this._scaleImage(maskCanvas.canvas, (0, _display_utils.getCurrentTransformInverse)(fillCtx));
- scaled = scaled.img;
- if (cache && isPatternFill) {
- cache.set(cacheKey, scaled);
- }
- }
- fillCtx.imageSmoothingEnabled = getImageSmoothingEnabled((0, _display_utils.getCurrentTransform)(fillCtx), img.interpolate);
- drawImageAtIntegerCoords(fillCtx, scaled, 0, 0, scaled.width, scaled.height, 0, 0, width, height);
- fillCtx.globalCompositeOperation = "source-in";
- const inverse = _util.Util.transform((0, _display_utils.getCurrentTransformInverse)(fillCtx), [1, 0, 0, 1, -offsetX, -offsetY]);
- fillCtx.fillStyle = isPatternFill ? fillColor.getPattern(ctx, this, inverse, _pattern_helper.PathType.FILL) : fillColor;
- fillCtx.fillRect(0, 0, width, height);
- if (cache && !isPatternFill) {
- this.cachedCanvases.delete("fillCanvas");
- cache.set(cacheKey, fillCanvas.canvas);
- }
- return {
- canvas: fillCanvas.canvas,
- offsetX: Math.round(offsetX),
- offsetY: Math.round(offsetY)
- };
- }
- setLineWidth(width) {
- if (width !== this.current.lineWidth) {
- this._cachedScaleForStroking[0] = -1;
- }
- this.current.lineWidth = width;
- this.ctx.lineWidth = width;
- }
- setLineCap(style) {
- this.ctx.lineCap = LINE_CAP_STYLES[style];
- }
- setLineJoin(style) {
- this.ctx.lineJoin = LINE_JOIN_STYLES[style];
- }
- setMiterLimit(limit) {
- this.ctx.miterLimit = limit;
- }
- setDash(dashArray, dashPhase) {
- const ctx = this.ctx;
- if (ctx.setLineDash !== undefined) {
- ctx.setLineDash(dashArray);
- ctx.lineDashOffset = dashPhase;
- }
- }
- setRenderingIntent(intent) {}
- setFlatness(flatness) {}
- setGState(states) {
- for (const [key, value] of states) {
- switch (key) {
- case "LW":
- this.setLineWidth(value);
- break;
- case "LC":
- this.setLineCap(value);
- break;
- case "LJ":
- this.setLineJoin(value);
- break;
- case "ML":
- this.setMiterLimit(value);
- break;
- case "D":
- this.setDash(value[0], value[1]);
- break;
- case "RI":
- this.setRenderingIntent(value);
- break;
- case "FL":
- this.setFlatness(value);
- break;
- case "Font":
- this.setFont(value[0], value[1]);
- break;
- case "CA":
- this.current.strokeAlpha = value;
- break;
- case "ca":
- this.current.fillAlpha = value;
- this.ctx.globalAlpha = value;
- break;
- case "BM":
- this.ctx.globalCompositeOperation = value;
- break;
- case "SMask":
- this.current.activeSMask = value ? this.tempSMask : null;
- this.tempSMask = null;
- this.checkSMaskState();
- break;
- case "TR":
- this.ctx.filter = this.current.transferMaps = this.filterFactory.addFilter(value);
- break;
- }
- }
- }
- get inSMaskMode() {
- return !!this.suspendedCtx;
- }
- checkSMaskState() {
- const inSMaskMode = this.inSMaskMode;
- if (this.current.activeSMask && !inSMaskMode) {
- this.beginSMaskMode();
- } else if (!this.current.activeSMask && inSMaskMode) {
- this.endSMaskMode();
- }
- }
- beginSMaskMode() {
- if (this.inSMaskMode) {
- throw new Error("beginSMaskMode called while already in smask mode");
- }
- const drawnWidth = this.ctx.canvas.width;
- const drawnHeight = this.ctx.canvas.height;
- const cacheId = "smaskGroupAt" + this.groupLevel;
- const scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight);
- this.suspendedCtx = this.ctx;
- this.ctx = scratchCanvas.context;
- const ctx = this.ctx;
- ctx.setTransform(...(0, _display_utils.getCurrentTransform)(this.suspendedCtx));
- copyCtxState(this.suspendedCtx, ctx);
- mirrorContextOperations(ctx, this.suspendedCtx);
- this.setGState([["BM", "source-over"], ["ca", 1], ["CA", 1]]);
- }
- endSMaskMode() {
- if (!this.inSMaskMode) {
- throw new Error("endSMaskMode called while not in smask mode");
- }
- this.ctx._removeMirroring();
- copyCtxState(this.ctx, this.suspendedCtx);
- this.ctx = this.suspendedCtx;
- this.suspendedCtx = null;
- }
- compose(dirtyBox) {
- if (!this.current.activeSMask) {
- return;
- }
- if (!dirtyBox) {
- dirtyBox = [0, 0, this.ctx.canvas.width, this.ctx.canvas.height];
- } else {
- dirtyBox[0] = Math.floor(dirtyBox[0]);
- dirtyBox[1] = Math.floor(dirtyBox[1]);
- dirtyBox[2] = Math.ceil(dirtyBox[2]);
- dirtyBox[3] = Math.ceil(dirtyBox[3]);
- }
- const smask = this.current.activeSMask;
- const suspendedCtx = this.suspendedCtx;
- composeSMask(suspendedCtx, smask, this.ctx, dirtyBox);
- 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();
- }
- save() {
- if (this.inSMaskMode) {
- copyCtxState(this.ctx, this.suspendedCtx);
- this.suspendedCtx.save();
- } else {
- this.ctx.save();
- }
- const old = this.current;
- this.stateStack.push(old);
- this.current = old.clone();
- }
- restore() {
- if (this.stateStack.length === 0 && this.inSMaskMode) {
- this.endSMaskMode();
- }
- if (this.stateStack.length !== 0) {
- this.current = this.stateStack.pop();
- if (this.inSMaskMode) {
- this.suspendedCtx.restore();
- copyCtxState(this.suspendedCtx, this.ctx);
- } else {
- this.ctx.restore();
- }
- this.checkSMaskState();
- this.pendingClip = null;
- this._cachedScaleForStroking[0] = -1;
- this._cachedGetSinglePixelWidth = null;
- }
- }
- transform(a, b, c, d, e, f) {
- this.ctx.transform(a, b, c, d, e, f);
- this._cachedScaleForStroking[0] = -1;
- this._cachedGetSinglePixelWidth = null;
- }
- constructPath(ops, args, minMax) {
- const ctx = this.ctx;
- const current = this.current;
- let x = current.x,
- y = current.y;
- let startX, startY;
- const currentTransform = (0, _display_utils.getCurrentTransform)(ctx);
- const isScalingMatrix = currentTransform[0] === 0 && currentTransform[3] === 0 || currentTransform[1] === 0 && currentTransform[2] === 0;
- const minMaxForBezier = isScalingMatrix ? minMax.slice(0) : null;
- for (let i = 0, j = 0, ii = ops.length; i < ii; i++) {
- switch (ops[i] | 0) {
- case _util.OPS.rectangle:
- x = args[j++];
- y = args[j++];
- const width = args[j++];
- const height = args[j++];
- const xw = x + width;
- const yh = y + height;
- ctx.moveTo(x, y);
- if (width === 0 || height === 0) {
- ctx.lineTo(xw, yh);
- } else {
- ctx.lineTo(xw, y);
- ctx.lineTo(xw, yh);
- ctx.lineTo(x, yh);
- }
- if (!isScalingMatrix) {
- current.updateRectMinMax(currentTransform, [x, y, xw, yh]);
- }
- ctx.closePath();
- break;
- case _util.OPS.moveTo:
- x = args[j++];
- y = args[j++];
- ctx.moveTo(x, y);
- if (!isScalingMatrix) {
- current.updatePathMinMax(currentTransform, x, y);
- }
- break;
- case _util.OPS.lineTo:
- x = args[j++];
- y = args[j++];
- ctx.lineTo(x, y);
- if (!isScalingMatrix) {
- current.updatePathMinMax(currentTransform, x, y);
- }
- break;
- case _util.OPS.curveTo:
- startX = x;
- startY = y;
- x = args[j + 4];
- y = args[j + 5];
- ctx.bezierCurveTo(args[j], args[j + 1], args[j + 2], args[j + 3], x, y);
- current.updateCurvePathMinMax(currentTransform, startX, startY, args[j], args[j + 1], args[j + 2], args[j + 3], x, y, minMaxForBezier);
- j += 6;
- break;
- case _util.OPS.curveTo2:
- startX = x;
- startY = y;
- ctx.bezierCurveTo(x, y, args[j], args[j + 1], args[j + 2], args[j + 3]);
- current.updateCurvePathMinMax(currentTransform, startX, startY, x, y, args[j], args[j + 1], args[j + 2], args[j + 3], minMaxForBezier);
- x = args[j + 2];
- y = args[j + 3];
- j += 4;
- break;
- case _util.OPS.curveTo3:
- startX = x;
- startY = y;
- x = args[j + 2];
- y = args[j + 3];
- ctx.bezierCurveTo(args[j], args[j + 1], x, y, x, y);
- current.updateCurvePathMinMax(currentTransform, startX, startY, args[j], args[j + 1], x, y, x, y, minMaxForBezier);
- j += 4;
- break;
- case _util.OPS.closePath:
- ctx.closePath();
- break;
- }
- }
- if (isScalingMatrix) {
- current.updateScalingPathMinMax(currentTransform, minMaxForBezier);
- }
- current.setCurrentPoint(x, y);
- }
- closePath() {
- this.ctx.closePath();
- }
- stroke() {
- let consumePath = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
- const ctx = this.ctx;
- const strokeColor = this.current.strokeColor;
- ctx.globalAlpha = this.current.strokeAlpha;
- if (this.contentVisible) {
- if (typeof strokeColor === "object" && strokeColor?.getPattern) {
- ctx.save();
- ctx.strokeStyle = strokeColor.getPattern(ctx, this, (0, _display_utils.getCurrentTransformInverse)(ctx), _pattern_helper.PathType.STROKE);
- this.rescaleAndStroke(false);
- ctx.restore();
- } else {
- this.rescaleAndStroke(true);
- }
- }
- if (consumePath) {
- this.consumePath(this.current.getClippedPathBoundingBox());
- }
- ctx.globalAlpha = this.current.fillAlpha;
- }
- closeStroke() {
- this.closePath();
- this.stroke();
- }
- fill() {
- let consumePath = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
- const ctx = this.ctx;
- const fillColor = this.current.fillColor;
- const isPatternFill = this.current.patternFill;
- let needRestore = false;
- if (isPatternFill) {
- ctx.save();
- ctx.fillStyle = fillColor.getPattern(ctx, this, (0, _display_utils.getCurrentTransformInverse)(ctx), _pattern_helper.PathType.FILL);
- needRestore = true;
- }
- const intersect = this.current.getClippedPathBoundingBox();
- if (this.contentVisible && intersect !== null) {
- if (this.pendingEOFill) {
- ctx.fill("evenodd");
- this.pendingEOFill = false;
- } else {
- ctx.fill();
- }
- }
- if (needRestore) {
- ctx.restore();
- }
- if (consumePath) {
- this.consumePath(intersect);
- }
- }
- eoFill() {
- this.pendingEOFill = true;
- this.fill();
- }
- fillStroke() {
- this.fill(false);
- this.stroke(false);
- this.consumePath();
- }
- eoFillStroke() {
- this.pendingEOFill = true;
- this.fillStroke();
- }
- closeFillStroke() {
- this.closePath();
- this.fillStroke();
- }
- closeEOFillStroke() {
- this.pendingEOFill = true;
- this.closePath();
- this.fillStroke();
- }
- endPath() {
- this.consumePath();
- }
- clip() {
- this.pendingClip = NORMAL_CLIP;
- }
- eoClip() {
- this.pendingClip = EO_CLIP;
- }
- beginText() {
- this.current.textMatrix = _util.IDENTITY_MATRIX;
- this.current.textMatrixScale = 1;
- this.current.x = this.current.lineX = 0;
- this.current.y = this.current.lineY = 0;
- }
- endText() {
- const paths = this.pendingTextPaths;
- const ctx = this.ctx;
- if (paths === undefined) {
- ctx.beginPath();
- return;
- }
- ctx.save();
- ctx.beginPath();
- for (const path of paths) {
- ctx.setTransform(...path.transform);
- ctx.translate(path.x, path.y);
- path.addToPath(ctx, path.fontSize);
- }
- ctx.restore();
- ctx.clip();
- ctx.beginPath();
- delete this.pendingTextPaths;
- }
- setCharSpacing(spacing) {
- this.current.charSpacing = spacing;
- }
- setWordSpacing(spacing) {
- this.current.wordSpacing = spacing;
- }
- setHScale(scale) {
- this.current.textHScale = scale / 100;
- }
- setLeading(leading) {
- this.current.leading = -leading;
- }
- setFont(fontRefName, size) {
- const fontObj = this.commonObjs.get(fontRefName);
- const current = this.current;
- if (!fontObj) {
- throw new Error(`Can't find font for ${fontRefName}`);
- }
- current.fontMatrix = fontObj.fontMatrix || _util.FONT_IDENTITY_MATRIX;
- if (current.fontMatrix[0] === 0 || current.fontMatrix[3] === 0) {
- (0, _util.warn)("Invalid font matrix for font " + fontRefName);
- }
- if (size < 0) {
- size = -size;
- current.fontDirection = -1;
- } else {
- current.fontDirection = 1;
- }
- this.current.font = fontObj;
- this.current.fontSize = size;
- if (fontObj.isType3Font) {
- return;
- }
- const name = fontObj.loadedName || "sans-serif";
- const typeface = fontObj.systemFontInfo?.css || `"${name}", ${fontObj.fallbackName}`;
- let bold = "normal";
- if (fontObj.black) {
- bold = "900";
- } else if (fontObj.bold) {
- bold = "bold";
- }
- const italic = fontObj.italic ? "italic" : "normal";
- let browserFontSize = size;
- if (size < MIN_FONT_SIZE) {
- browserFontSize = MIN_FONT_SIZE;
- } else if (size > MAX_FONT_SIZE) {
- browserFontSize = MAX_FONT_SIZE;
- }
- this.current.fontSizeScale = size / browserFontSize;
- this.ctx.font = `${italic} ${bold} ${browserFontSize}px ${typeface}`;
- }
- setTextRenderingMode(mode) {
- this.current.textRenderingMode = mode;
- }
- setTextRise(rise) {
- this.current.textRise = rise;
- }
- moveText(x, y) {
- this.current.x = this.current.lineX += x;
- this.current.y = this.current.lineY += y;
- }
- setLeadingMoveText(x, y) {
- this.setLeading(-y);
- this.moveText(x, y);
- }
- setTextMatrix(a, b, c, d, e, f) {
- this.current.textMatrix = [a, b, c, d, e, f];
- this.current.textMatrixScale = Math.hypot(a, b);
- this.current.x = this.current.lineX = 0;
- this.current.y = this.current.lineY = 0;
- }
- nextLine() {
- this.moveText(0, this.current.leading);
- }
- paintChar(character, x, y, patternTransform) {
- const ctx = this.ctx;
- const current = this.current;
- const font = current.font;
- const textRenderingMode = current.textRenderingMode;
- const fontSize = current.fontSize / current.fontSizeScale;
- const fillStrokeMode = textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;
- const isAddToPathSet = !!(textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG);
- const patternFill = current.patternFill && !font.missingFile;
- let addToPath;
- if (font.disableFontFace || isAddToPathSet || patternFill) {
- addToPath = font.getPathGenerator(this.commonObjs, character);
- }
- if (font.disableFontFace || patternFill) {
- ctx.save();
- ctx.translate(x, y);
- ctx.beginPath();
- addToPath(ctx, fontSize);
- if (patternTransform) {
- ctx.setTransform(...patternTransform);
- }
- if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {
- ctx.fill();
- }
- if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {
- ctx.stroke();
- }
- ctx.restore();
- } else {
- if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {
- ctx.fillText(character, x, y);
- }
- if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {
- ctx.strokeText(character, x, y);
- }
- }
- if (isAddToPathSet) {
- const paths = this.pendingTextPaths ||= [];
- paths.push({
- transform: (0, _display_utils.getCurrentTransform)(ctx),
- x,
- y,
- fontSize,
- addToPath
- });
- }
- }
- get isFontSubpixelAAEnabled() {
- const {
- context: ctx
- } = this.cachedCanvases.getCanvas("isFontSubpixelAAEnabled", 10, 10);
- ctx.scale(1.5, 1);
- ctx.fillText("I", 0, 10);
- const data = ctx.getImageData(0, 0, 10, 10).data;
- let enabled = false;
- for (let i = 3; i < data.length; i += 4) {
- if (data[i] > 0 && data[i] < 255) {
- enabled = true;
- break;
- }
- }
- return (0, _util.shadow)(this, "isFontSubpixelAAEnabled", enabled);
- }
- showText(glyphs) {
- const current = this.current;
- const font = current.font;
- if (font.isType3Font) {
- return this.showType3Text(glyphs);
- }
- const fontSize = current.fontSize;
- if (fontSize === 0) {
- return undefined;
- }
- const ctx = this.ctx;
- const fontSizeScale = current.fontSizeScale;
- const charSpacing = current.charSpacing;
- const wordSpacing = current.wordSpacing;
- const fontDirection = current.fontDirection;
- const textHScale = current.textHScale * fontDirection;
- const glyphsLength = glyphs.length;
- const vertical = font.vertical;
- const spacingDir = vertical ? 1 : -1;
- const defaultVMetrics = font.defaultVMetrics;
- const widthAdvanceScale = fontSize * current.fontMatrix[0];
- const simpleFillText = current.textRenderingMode === _util.TextRenderingMode.FILL && !font.disableFontFace && !current.patternFill;
- ctx.save();
- ctx.transform(...current.textMatrix);
- ctx.translate(current.x, current.y + current.textRise);
- if (fontDirection > 0) {
- ctx.scale(textHScale, -1);
- } else {
- ctx.scale(textHScale, 1);
- }
- let patternTransform;
- if (current.patternFill) {
- ctx.save();
- const pattern = current.fillColor.getPattern(ctx, this, (0, _display_utils.getCurrentTransformInverse)(ctx), _pattern_helper.PathType.FILL);
- patternTransform = (0, _display_utils.getCurrentTransform)(ctx);
- ctx.restore();
- ctx.fillStyle = pattern;
- }
- let lineWidth = current.lineWidth;
- const scale = current.textMatrixScale;
- if (scale === 0 || lineWidth === 0) {
- const fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;
- if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {
- lineWidth = this.getSinglePixelWidth();
- }
- } else {
- lineWidth /= scale;
- }
- if (fontSizeScale !== 1.0) {
- ctx.scale(fontSizeScale, fontSizeScale);
- lineWidth /= fontSizeScale;
- }
- ctx.lineWidth = lineWidth;
- if (font.isInvalidPDFjsFont) {
- const chars = [];
- let width = 0;
- for (const glyph of glyphs) {
- chars.push(glyph.unicode);
- width += glyph.width;
- }
- ctx.fillText(chars.join(""), 0, 0);
- current.x += width * widthAdvanceScale * textHScale;
- ctx.restore();
- this.compose();
- return undefined;
- }
- let x = 0,
- i;
- for (i = 0; i < glyphsLength; ++i) {
- const glyph = glyphs[i];
- if (typeof glyph === "number") {
- x += spacingDir * glyph * fontSize / 1000;
- continue;
- }
- let restoreNeeded = false;
- const spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;
- const character = glyph.fontChar;
- const accent = glyph.accent;
- let scaledX, scaledY;
- let width = glyph.width;
- if (vertical) {
- const vmetric = glyph.vmetric || defaultVMetrics;
- const vx = -(glyph.vmetric ? vmetric[1] : width * 0.5) * widthAdvanceScale;
- const vy = vmetric[2] * widthAdvanceScale;
- width = vmetric ? -vmetric[0] : width;
- scaledX = vx / fontSizeScale;
- scaledY = (x + vy) / fontSizeScale;
- } else {
- scaledX = x / fontSizeScale;
- scaledY = 0;
- }
- if (font.remeasure && width > 0) {
- const measuredWidth = ctx.measureText(character).width * 1000 / fontSize * fontSizeScale;
- if (width < measuredWidth && this.isFontSubpixelAAEnabled) {
- const characterScaleX = width / measuredWidth;
- restoreNeeded = true;
- ctx.save();
- ctx.scale(characterScaleX, 1);
- scaledX /= characterScaleX;
- } else if (width !== measuredWidth) {
- scaledX += (width - measuredWidth) / 2000 * fontSize / fontSizeScale;
- }
- }
- if (this.contentVisible && (glyph.isInFont || font.missingFile)) {
- if (simpleFillText && !accent) {
- ctx.fillText(character, scaledX, scaledY);
- } else {
- this.paintChar(character, scaledX, scaledY, patternTransform);
- if (accent) {
- const scaledAccentX = scaledX + fontSize * accent.offset.x / fontSizeScale;
- const scaledAccentY = scaledY - fontSize * accent.offset.y / fontSizeScale;
- this.paintChar(accent.fontChar, scaledAccentX, scaledAccentY, patternTransform);
- }
- }
- }
- const charWidth = vertical ? width * widthAdvanceScale - spacing * fontDirection : width * widthAdvanceScale + spacing * fontDirection;
- x += charWidth;
- if (restoreNeeded) {
- ctx.restore();
- }
- }
- if (vertical) {
- current.y -= x;
- } else {
- current.x += x * textHScale;
- }
- ctx.restore();
- this.compose();
- return undefined;
- }
- showType3Text(glyphs) {
- const ctx = this.ctx;
- const current = this.current;
- const font = current.font;
- const fontSize = current.fontSize;
- const fontDirection = current.fontDirection;
- const spacingDir = font.vertical ? 1 : -1;
- const charSpacing = current.charSpacing;
- const wordSpacing = current.wordSpacing;
- const textHScale = current.textHScale * fontDirection;
- const fontMatrix = current.fontMatrix || _util.FONT_IDENTITY_MATRIX;
- const glyphsLength = glyphs.length;
- const isTextInvisible = current.textRenderingMode === _util.TextRenderingMode.INVISIBLE;
- let i, glyph, width, spacingLength;
- if (isTextInvisible || fontSize === 0) {
- return;
- }
- this._cachedScaleForStroking[0] = -1;
- this._cachedGetSinglePixelWidth = null;
- ctx.save();
- ctx.transform(...current.textMatrix);
- ctx.translate(current.x, current.y);
- ctx.scale(textHScale, fontDirection);
- for (i = 0; i < glyphsLength; ++i) {
- glyph = glyphs[i];
- if (typeof glyph === "number") {
- spacingLength = spacingDir * glyph * fontSize / 1000;
- this.ctx.translate(spacingLength, 0);
- current.x += spacingLength * textHScale;
- continue;
- }
- const spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;
- const operatorList = font.charProcOperatorList[glyph.operatorListId];
- if (!operatorList) {
- (0, _util.warn)(`Type3 character "${glyph.operatorListId}" is not available.`);
- continue;
- }
- if (this.contentVisible) {
- this.processingType3 = glyph;
- this.save();
- ctx.scale(fontSize, fontSize);
- ctx.transform(...fontMatrix);
- this.executeOperatorList(operatorList);
- this.restore();
- }
- const transformed = _util.Util.applyTransform([glyph.width, 0], fontMatrix);
- width = transformed[0] * fontSize + spacing;
- ctx.translate(width, 0);
- current.x += width * textHScale;
- }
- ctx.restore();
- this.processingType3 = null;
- }
- setCharWidth(xWidth, yWidth) {}
- setCharWidthAndBounds(xWidth, yWidth, llx, lly, urx, ury) {
- this.ctx.rect(llx, lly, urx - llx, ury - lly);
- this.ctx.clip();
- this.endPath();
- }
- getColorN_Pattern(IR) {
- let pattern;
- if (IR[0] === "TilingPattern") {
- const color = IR[1];
- const baseTransform = this.baseTransform || (0, _display_utils.getCurrentTransform)(this.ctx);
- const canvasGraphicsFactory = {
- createCanvasGraphics: ctx => {
- return new CanvasGraphics(ctx, this.commonObjs, this.objs, this.canvasFactory, this.filterFactory, {
- optionalContentConfig: this.optionalContentConfig,
- markedContentStack: this.markedContentStack
- });
- }
- };
- pattern = new _pattern_helper.TilingPattern(IR, color, this.ctx, canvasGraphicsFactory, baseTransform);
- } else {
- pattern = this._getPattern(IR[1], IR[2]);
- }
- return pattern;
- }
- setStrokeColorN() {
- this.current.strokeColor = this.getColorN_Pattern(arguments);
- }
- setFillColorN() {
- this.current.fillColor = this.getColorN_Pattern(arguments);
- this.current.patternFill = true;
- }
- setStrokeRGBColor(r, g, b) {
- const color = _util.Util.makeHexColor(r, g, b);
- this.ctx.strokeStyle = color;
- this.current.strokeColor = color;
- }
- setFillRGBColor(r, g, b) {
- const color = _util.Util.makeHexColor(r, g, b);
- this.ctx.fillStyle = color;
- this.current.fillColor = color;
- this.current.patternFill = false;
- }
- _getPattern(objId) {
- let matrix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
- let pattern;
- if (this.cachedPatterns.has(objId)) {
- pattern = this.cachedPatterns.get(objId);
- } else {
- pattern = (0, _pattern_helper.getShadingPattern)(this.getObject(objId));
- this.cachedPatterns.set(objId, pattern);
- }
- if (matrix) {
- pattern.matrix = matrix;
- }
- return pattern;
- }
- shadingFill(objId) {
- if (!this.contentVisible) {
- return;
- }
- const ctx = this.ctx;
- this.save();
- const pattern = this._getPattern(objId);
- ctx.fillStyle = pattern.getPattern(ctx, this, (0, _display_utils.getCurrentTransformInverse)(ctx), _pattern_helper.PathType.SHADING);
- const inv = (0, _display_utils.getCurrentTransformInverse)(ctx);
- if (inv) {
- const {
- width,
- height
- } = ctx.canvas;
- const [x0, y0, x1, y1] = _util.Util.getAxialAlignedBoundingBox([0, 0, width, height], inv);
- this.ctx.fillRect(x0, y0, x1 - x0, y1 - y0);
- } else {
- this.ctx.fillRect(-1e10, -1e10, 2e10, 2e10);
- }
- this.compose(this.current.getClippedPathBoundingBox());
- this.restore();
- }
- beginInlineImage() {
- (0, _util.unreachable)("Should not call beginInlineImage");
- }
- beginImageData() {
- (0, _util.unreachable)("Should not call beginImageData");
- }
- paintFormXObjectBegin(matrix, bbox) {
- if (!this.contentVisible) {
- return;
- }
- this.save();
- this.baseTransformStack.push(this.baseTransform);
- if (Array.isArray(matrix) && matrix.length === 6) {
- this.transform(...matrix);
- }
- this.baseTransform = (0, _display_utils.getCurrentTransform)(this.ctx);
- if (bbox) {
- const width = bbox[2] - bbox[0];
- const height = bbox[3] - bbox[1];
- this.ctx.rect(bbox[0], bbox[1], width, height);
- this.current.updateRectMinMax((0, _display_utils.getCurrentTransform)(this.ctx), bbox);
- this.clip();
- this.endPath();
- }
- }
- paintFormXObjectEnd() {
- if (!this.contentVisible) {
- return;
- }
- this.restore();
- this.baseTransform = this.baseTransformStack.pop();
- }
- beginGroup(group) {
- if (!this.contentVisible) {
- return;
- }
- this.save();
- if (this.inSMaskMode) {
- this.endSMaskMode();
- this.current.activeSMask = null;
- }
- const currentCtx = this.ctx;
- if (!group.isolated) {
- (0, _util.info)("TODO: Support non-isolated groups.");
- }
- if (group.knockout) {
- (0, _util.warn)("Knockout groups not supported.");
- }
- const currentTransform = (0, _display_utils.getCurrentTransform)(currentCtx);
- if (group.matrix) {
- currentCtx.transform(...group.matrix);
- }
- if (!group.bbox) {
- throw new Error("Bounding box is required.");
- }
- let bounds = _util.Util.getAxialAlignedBoundingBox(group.bbox, (0, _display_utils.getCurrentTransform)(currentCtx));
- const canvasBounds = [0, 0, currentCtx.canvas.width, currentCtx.canvas.height];
- bounds = _util.Util.intersect(bounds, canvasBounds) || [0, 0, 0, 0];
- const offsetX = Math.floor(bounds[0]);
- const offsetY = Math.floor(bounds[1]);
- let drawnWidth = Math.max(Math.ceil(bounds[2]) - offsetX, 1);
- let drawnHeight = Math.max(Math.ceil(bounds[3]) - offsetY, 1);
- let scaleX = 1,
- scaleY = 1;
- if (drawnWidth > MAX_GROUP_SIZE) {
- scaleX = drawnWidth / MAX_GROUP_SIZE;
- drawnWidth = MAX_GROUP_SIZE;
- }
- if (drawnHeight > MAX_GROUP_SIZE) {
- scaleY = drawnHeight / MAX_GROUP_SIZE;
- drawnHeight = MAX_GROUP_SIZE;
- }
- this.current.startNewPathAndClipBox([0, 0, drawnWidth, drawnHeight]);
- let cacheId = "groupAt" + this.groupLevel;
- if (group.smask) {
- cacheId += "_smask_" + this.smaskCounter++ % 2;
- }
- const scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight);
- const groupCtx = scratchCanvas.context;
- groupCtx.scale(1 / scaleX, 1 / scaleY);
- groupCtx.translate(-offsetX, -offsetY);
- groupCtx.transform(...currentTransform);
- if (group.smask) {
- this.smaskStack.push({
- canvas: scratchCanvas.canvas,
- context: groupCtx,
- offsetX,
- offsetY,
- scaleX,
- scaleY,
- subtype: group.smask.subtype,
- backdrop: group.smask.backdrop,
- transferMap: group.smask.transferMap || null,
- startTransformInverse: null
- });
- } else {
- currentCtx.setTransform(1, 0, 0, 1, 0, 0);
- currentCtx.translate(offsetX, offsetY);
- currentCtx.scale(scaleX, scaleY);
- currentCtx.save();
- }
- copyCtxState(currentCtx, groupCtx);
- this.ctx = groupCtx;
- this.setGState([["BM", "source-over"], ["ca", 1], ["CA", 1]]);
- this.groupStack.push(currentCtx);
- this.groupLevel++;
- }
- endGroup(group) {
- if (!this.contentVisible) {
- return;
- }
- this.groupLevel--;
- const groupCtx = this.ctx;
- const ctx = this.groupStack.pop();
- this.ctx = ctx;
- this.ctx.imageSmoothingEnabled = false;
- if (group.smask) {
- this.tempSMask = this.smaskStack.pop();
- this.restore();
- } else {
- this.ctx.restore();
- const currentMtx = (0, _display_utils.getCurrentTransform)(this.ctx);
- this.restore();
- this.ctx.save();
- this.ctx.setTransform(...currentMtx);
- const dirtyBox = _util.Util.getAxialAlignedBoundingBox([0, 0, groupCtx.canvas.width, groupCtx.canvas.height], currentMtx);
- this.ctx.drawImage(groupCtx.canvas, 0, 0);
- this.ctx.restore();
- this.compose(dirtyBox);
- }
- }
- beginAnnotation(id, rect, transform, matrix, hasOwnCanvas) {
- this.#restoreInitialState();
- resetCtxToDefault(this.ctx);
- this.ctx.save();
- this.save();
- if (this.baseTransform) {
- this.ctx.setTransform(...this.baseTransform);
- }
- if (Array.isArray(rect) && rect.length === 4) {
- const width = rect[2] - rect[0];
- const height = rect[3] - rect[1];
- if (hasOwnCanvas && this.annotationCanvasMap) {
- transform = transform.slice();
- transform[4] -= rect[0];
- transform[5] -= rect[1];
- rect = rect.slice();
- rect[0] = rect[1] = 0;
- rect[2] = width;
- rect[3] = height;
- const [scaleX, scaleY] = _util.Util.singularValueDecompose2dScale((0, _display_utils.getCurrentTransform)(this.ctx));
- const {
- viewportScale
- } = this;
- const canvasWidth = Math.ceil(width * this.outputScaleX * viewportScale);
- const canvasHeight = Math.ceil(height * this.outputScaleY * viewportScale);
- this.annotationCanvas = this.canvasFactory.create(canvasWidth, canvasHeight);
- const {
- canvas,
- context
- } = this.annotationCanvas;
- this.annotationCanvasMap.set(id, canvas);
- this.annotationCanvas.savedCtx = this.ctx;
- this.ctx = context;
- this.ctx.save();
- this.ctx.setTransform(scaleX, 0, 0, -scaleY, 0, height * scaleY);
- resetCtxToDefault(this.ctx);
- } else {
- resetCtxToDefault(this.ctx);
- this.ctx.rect(rect[0], rect[1], width, height);
- this.ctx.clip();
- this.endPath();
- }
- }
- this.current = new CanvasExtraState(this.ctx.canvas.width, this.ctx.canvas.height);
- this.transform(...transform);
- this.transform(...matrix);
- }
- endAnnotation() {
- if (this.annotationCanvas) {
- this.ctx.restore();
- this.#drawFilter();
- this.ctx = this.annotationCanvas.savedCtx;
- delete this.annotationCanvas.savedCtx;
- delete this.annotationCanvas;
- }
- }
- paintImageMaskXObject(img) {
- if (!this.contentVisible) {
- return;
- }
- const count = img.count;
- img = this.getObject(img.data, img);
- img.count = count;
- const ctx = this.ctx;
- const glyph = this.processingType3;
- if (glyph) {
- if (glyph.compiled === undefined) {
- glyph.compiled = compileType3Glyph(img);
- }
- if (glyph.compiled) {
- glyph.compiled(ctx);
- return;
- }
- }
- const mask = this._createMaskCanvas(img);
- const maskCanvas = mask.canvas;
- ctx.save();
- ctx.setTransform(1, 0, 0, 1, 0, 0);
- ctx.drawImage(maskCanvas, mask.offsetX, mask.offsetY);
- ctx.restore();
- this.compose();
- }
- paintImageMaskXObjectRepeat(img, scaleX) {
- let skewX = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
- let skewY = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;
- let scaleY = arguments.length > 4 ? arguments[4] : undefined;
- let positions = arguments.length > 5 ? arguments[5] : undefined;
- if (!this.contentVisible) {
- return;
- }
- img = this.getObject(img.data, img);
- const ctx = this.ctx;
- ctx.save();
- const currentTransform = (0, _display_utils.getCurrentTransform)(ctx);
- ctx.transform(scaleX, skewX, skewY, scaleY, 0, 0);
- const mask = this._createMaskCanvas(img);
- ctx.setTransform(1, 0, 0, 1, mask.offsetX - currentTransform[4], mask.offsetY - currentTransform[5]);
- for (let i = 0, ii = positions.length; i < ii; i += 2) {
- const trans = _util.Util.transform(currentTransform, [scaleX, skewX, skewY, scaleY, positions[i], positions[i + 1]]);
- const [x, y] = _util.Util.applyTransform([0, 0], trans);
- ctx.drawImage(mask.canvas, x, y);
- }
- ctx.restore();
- this.compose();
- }
- paintImageMaskXObjectGroup(images) {
- if (!this.contentVisible) {
- return;
- }
- const ctx = this.ctx;
- const fillColor = this.current.fillColor;
- const isPatternFill = this.current.patternFill;
- for (const image of images) {
- const {
- data,
- width,
- height,
- transform
- } = image;
- const maskCanvas = this.cachedCanvases.getCanvas("maskCanvas", width, height);
- const maskCtx = maskCanvas.context;
- maskCtx.save();
- const img = this.getObject(data, image);
- putBinaryImageMask(maskCtx, img);
- maskCtx.globalCompositeOperation = "source-in";
- maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this, (0, _display_utils.getCurrentTransformInverse)(ctx), _pattern_helper.PathType.FILL) : fillColor;
- maskCtx.fillRect(0, 0, width, height);
- maskCtx.restore();
- ctx.save();
- ctx.transform(...transform);
- ctx.scale(1, -1);
- drawImageAtIntegerCoords(ctx, maskCanvas.canvas, 0, 0, width, height, 0, -1, 1, 1);
- ctx.restore();
- }
- this.compose();
- }
- paintImageXObject(objId) {
- if (!this.contentVisible) {
- return;
- }
- const imgData = this.getObject(objId);
- if (!imgData) {
- (0, _util.warn)("Dependent image isn't ready yet");
- return;
- }
- this.paintInlineImageXObject(imgData);
- }
- paintImageXObjectRepeat(objId, scaleX, scaleY, positions) {
- if (!this.contentVisible) {
- return;
- }
- const imgData = this.getObject(objId);
- if (!imgData) {
- (0, _util.warn)("Dependent image isn't ready yet");
- return;
- }
- const width = imgData.width;
- const height = imgData.height;
- const map = [];
- for (let i = 0, ii = positions.length; i < ii; i += 2) {
- map.push({
- transform: [scaleX, 0, 0, scaleY, positions[i], positions[i + 1]],
- x: 0,
- y: 0,
- w: width,
- h: height
- });
- }
- this.paintInlineImageXObjectGroup(imgData, map);
- }
- applyTransferMapsToCanvas(ctx) {
- if (this.current.transferMaps !== "none") {
- ctx.filter = this.current.transferMaps;
- ctx.drawImage(ctx.canvas, 0, 0);
- ctx.filter = "none";
- }
- return ctx.canvas;
- }
- applyTransferMapsToBitmap(imgData) {
- if (this.current.transferMaps === "none") {
- return imgData.bitmap;
- }
- const {
- bitmap,
- width,
- height
- } = imgData;
- const tmpCanvas = this.cachedCanvases.getCanvas("inlineImage", width, height);
- const tmpCtx = tmpCanvas.context;
- tmpCtx.filter = this.current.transferMaps;
- tmpCtx.drawImage(bitmap, 0, 0);
- tmpCtx.filter = "none";
- return tmpCanvas.canvas;
- }
- paintInlineImageXObject(imgData) {
- if (!this.contentVisible) {
- return;
- }
- const width = imgData.width;
- const height = imgData.height;
- const ctx = this.ctx;
- this.save();
- if (!_util.isNodeJS) {
- const {
- filter
- } = ctx;
- if (filter !== "none" && filter !== "") {
- ctx.filter = "none";
- }
- }
- ctx.scale(1 / width, -1 / height);
- let imgToPaint;
- if (imgData.bitmap) {
- imgToPaint = this.applyTransferMapsToBitmap(imgData);
- } else if (typeof HTMLElement === "function" && imgData instanceof HTMLElement || !imgData.data) {
- imgToPaint = imgData;
- } else {
- const tmpCanvas = this.cachedCanvases.getCanvas("inlineImage", width, height);
- const tmpCtx = tmpCanvas.context;
- putBinaryImageData(tmpCtx, imgData);
- imgToPaint = this.applyTransferMapsToCanvas(tmpCtx);
- }
- const scaled = this._scaleImage(imgToPaint, (0, _display_utils.getCurrentTransformInverse)(ctx));
- ctx.imageSmoothingEnabled = getImageSmoothingEnabled((0, _display_utils.getCurrentTransform)(ctx), imgData.interpolate);
- drawImageAtIntegerCoords(ctx, scaled.img, 0, 0, scaled.paintWidth, scaled.paintHeight, 0, -height, width, height);
- this.compose();
- this.restore();
- }
- paintInlineImageXObjectGroup(imgData, map) {
- if (!this.contentVisible) {
- return;
- }
- const ctx = this.ctx;
- let imgToPaint;
- if (imgData.bitmap) {
- imgToPaint = imgData.bitmap;
- } else {
- const w = imgData.width;
- const h = imgData.height;
- const tmpCanvas = this.cachedCanvases.getCanvas("inlineImage", w, h);
- const tmpCtx = tmpCanvas.context;
- putBinaryImageData(tmpCtx, imgData);
- imgToPaint = this.applyTransferMapsToCanvas(tmpCtx);
- }
- for (const entry of map) {
- ctx.save();
- ctx.transform(...entry.transform);
- ctx.scale(1, -1);
- drawImageAtIntegerCoords(ctx, imgToPaint, entry.x, entry.y, entry.w, entry.h, 0, -1, 1, 1);
- ctx.restore();
- }
- this.compose();
- }
- paintSolidColorImageMask() {
- if (!this.contentVisible) {
- return;
- }
- this.ctx.fillRect(0, 0, 1, 1);
- this.compose();
- }
- markPoint(tag) {}
- markPointProps(tag, properties) {}
- beginMarkedContent(tag) {
- this.markedContentStack.push({
- visible: true
- });
- }
- beginMarkedContentProps(tag, properties) {
- if (tag === "OC") {
- this.markedContentStack.push({
- visible: this.optionalContentConfig.isVisible(properties)
- });
- } else {
- this.markedContentStack.push({
- visible: true
- });
- }
- this.contentVisible = this.isContentVisible();
- }
- endMarkedContent() {
- this.markedContentStack.pop();
- this.contentVisible = this.isContentVisible();
- }
- beginCompat() {}
- endCompat() {}
- consumePath(clipBox) {
- const isEmpty = this.current.isEmptyClip();
- if (this.pendingClip) {
- this.current.updateClipFromPath();
- }
- if (!this.pendingClip) {
- this.compose(clipBox);
- }
- const ctx = this.ctx;
- if (this.pendingClip) {
- if (!isEmpty) {
- if (this.pendingClip === EO_CLIP) {
- ctx.clip("evenodd");
- } else {
- ctx.clip();
- }
- }
- this.pendingClip = null;
- }
- this.current.startNewPathAndClipBox(this.current.clipBox);
- ctx.beginPath();
- }
- getSinglePixelWidth() {
- if (!this._cachedGetSinglePixelWidth) {
- const m = (0, _display_utils.getCurrentTransform)(this.ctx);
- if (m[1] === 0 && m[2] === 0) {
- this._cachedGetSinglePixelWidth = 1 / Math.min(Math.abs(m[0]), Math.abs(m[3]));
- } else {
- const absDet = Math.abs(m[0] * m[3] - m[2] * m[1]);
- const normX = Math.hypot(m[0], m[2]);
- const normY = Math.hypot(m[1], m[3]);
- this._cachedGetSinglePixelWidth = Math.max(normX, normY) / absDet;
- }
- }
- return this._cachedGetSinglePixelWidth;
- }
- getScaleForStroking() {
- if (this._cachedScaleForStroking[0] === -1) {
- const {
- lineWidth
- } = this.current;
- const {
- a,
- b,
- c,
- d
- } = this.ctx.getTransform();
- let scaleX, scaleY;
- if (b === 0 && c === 0) {
- const normX = Math.abs(a);
- const normY = Math.abs(d);
- if (normX === normY) {
- if (lineWidth === 0) {
- scaleX = scaleY = 1 / normX;
- } else {
- const scaledLineWidth = normX * lineWidth;
- scaleX = scaleY = scaledLineWidth < 1 ? 1 / scaledLineWidth : 1;
- }
- } else if (lineWidth === 0) {
- scaleX = 1 / normX;
- scaleY = 1 / normY;
- } else {
- const scaledXLineWidth = normX * lineWidth;
- const scaledYLineWidth = normY * lineWidth;
- scaleX = scaledXLineWidth < 1 ? 1 / scaledXLineWidth : 1;
- scaleY = scaledYLineWidth < 1 ? 1 / scaledYLineWidth : 1;
- }
- } else {
- const absDet = Math.abs(a * d - b * c);
- const normX = Math.hypot(a, b);
- const normY = Math.hypot(c, d);
- if (lineWidth === 0) {
- scaleX = normY / absDet;
- scaleY = normX / absDet;
- } else {
- const baseArea = lineWidth * absDet;
- scaleX = normY > baseArea ? normY / baseArea : 1;
- scaleY = normX > baseArea ? normX / baseArea : 1;
- }
- }
- this._cachedScaleForStroking[0] = scaleX;
- this._cachedScaleForStroking[1] = scaleY;
- }
- return this._cachedScaleForStroking;
- }
- rescaleAndStroke(saveRestore) {
- const {
- ctx
- } = this;
- const {
- lineWidth
- } = this.current;
- const [scaleX, scaleY] = this.getScaleForStroking();
- ctx.lineWidth = lineWidth || 1;
- if (scaleX === 1 && scaleY === 1) {
- ctx.stroke();
- return;
- }
- const dashes = ctx.getLineDash();
- if (saveRestore) {
- ctx.save();
- }
- ctx.scale(scaleX, scaleY);
- if (dashes.length > 0) {
- const scale = Math.max(scaleX, scaleY);
- ctx.setLineDash(dashes.map(x => x / scale));
- ctx.lineDashOffset /= scale;
- }
- ctx.stroke();
- if (saveRestore) {
- ctx.restore();
- }
- }
- isContentVisible() {
- for (let i = this.markedContentStack.length - 1; i >= 0; i--) {
- if (!this.markedContentStack[i].visible) {
- return false;
- }
- }
- return true;
- }
-}
-exports.CanvasGraphics = CanvasGraphics;
-for (const op in _util.OPS) {
- if (CanvasGraphics.prototype[op] !== undefined) {
- CanvasGraphics.prototype[_util.OPS[op]] = CanvasGraphics.prototype[op];
- }
-}
-
-/***/ }),
-/* 173 */
-/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", ({
- value: true
-}));
-exports.TilingPattern = exports.PathType = void 0;
-exports.getShadingPattern = getShadingPattern;
-__w_pdfjs_require__(2);
-var _util = __w_pdfjs_require__(1);
-var _display_utils = __w_pdfjs_require__(167);
-const PathType = {
- FILL: "Fill",
- STROKE: "Stroke",
- SHADING: "Shading"
-};
-exports.PathType = PathType;
-function applyBoundingBox(ctx, bbox) {
- if (!bbox) {
- return;
- }
- const width = bbox[2] - bbox[0];
- const height = bbox[3] - bbox[1];
- const region = new Path2D();
- region.rect(bbox[0], bbox[1], width, height);
- ctx.clip(region);
-}
-class BaseShadingPattern {
- constructor() {
- if (this.constructor === BaseShadingPattern) {
- (0, _util.unreachable)("Cannot initialize BaseShadingPattern.");
- }
- }
- getPattern() {
- (0, _util.unreachable)("Abstract method `getPattern` called.");
- }
-}
-class RadialAxialShadingPattern extends BaseShadingPattern {
- constructor(IR) {
- super();
- this._type = IR[1];
- this._bbox = IR[2];
- this._colorStops = IR[3];
- this._p0 = IR[4];
- this._p1 = IR[5];
- this._r0 = IR[6];
- this._r1 = IR[7];
- this.matrix = null;
- }
- _createGradient(ctx) {
- let grad;
- if (this._type === "axial") {
- grad = ctx.createLinearGradient(this._p0[0], this._p0[1], this._p1[0], this._p1[1]);
- } else if (this._type === "radial") {
- grad = ctx.createRadialGradient(this._p0[0], this._p0[1], this._r0, this._p1[0], this._p1[1], this._r1);
- }
- for (const colorStop of this._colorStops) {
- grad.addColorStop(colorStop[0], colorStop[1]);
- }
- return grad;
- }
- getPattern(ctx, owner, inverse, pathType) {
- let pattern;
- if (pathType === PathType.STROKE || pathType === PathType.FILL) {
- const ownerBBox = owner.current.getClippedPathBoundingBox(pathType, (0, _display_utils.getCurrentTransform)(ctx)) || [0, 0, 0, 0];
- const width = Math.ceil(ownerBBox[2] - ownerBBox[0]) || 1;
- const height = Math.ceil(ownerBBox[3] - ownerBBox[1]) || 1;
- const tmpCanvas = owner.cachedCanvases.getCanvas("pattern", width, height, true);
- const tmpCtx = tmpCanvas.context;
- tmpCtx.clearRect(0, 0, tmpCtx.canvas.width, tmpCtx.canvas.height);
- tmpCtx.beginPath();
- tmpCtx.rect(0, 0, tmpCtx.canvas.width, tmpCtx.canvas.height);
- tmpCtx.translate(-ownerBBox[0], -ownerBBox[1]);
- inverse = _util.Util.transform(inverse, [1, 0, 0, 1, ownerBBox[0], ownerBBox[1]]);
- tmpCtx.transform(...owner.baseTransform);
- if (this.matrix) {
- tmpCtx.transform(...this.matrix);
- }
- applyBoundingBox(tmpCtx, this._bbox);
- tmpCtx.fillStyle = this._createGradient(tmpCtx);
- tmpCtx.fill();
- pattern = ctx.createPattern(tmpCanvas.canvas, "no-repeat");
- const domMatrix = new DOMMatrix(inverse);
- pattern.setTransform(domMatrix);
- } else {
- applyBoundingBox(ctx, this._bbox);
- pattern = this._createGradient(ctx);
- }
- return pattern;
- }
-}
-function drawTriangle(data, context, p1, p2, p3, c1, c2, c3) {
- const coords = context.coords,
- colors = context.colors;
- const bytes = data.data,
- rowSize = data.width * 4;
- let tmp;
- if (coords[p1 + 1] > coords[p2 + 1]) {
- tmp = p1;
- p1 = p2;
- p2 = tmp;
- tmp = c1;
- c1 = c2;
- c2 = tmp;
- }
- if (coords[p2 + 1] > coords[p3 + 1]) {
- tmp = p2;
- p2 = p3;
- p3 = tmp;
- tmp = c2;
- c2 = c3;
- c3 = tmp;
- }
- if (coords[p1 + 1] > coords[p2 + 1]) {
- tmp = p1;
- p1 = p2;
- p2 = tmp;
- tmp = c1;
- c1 = c2;
- c2 = tmp;
- }
- const x1 = (coords[p1] + context.offsetX) * context.scaleX;
- const y1 = (coords[p1 + 1] + context.offsetY) * context.scaleY;
- const x2 = (coords[p2] + context.offsetX) * context.scaleX;
- const y2 = (coords[p2 + 1] + context.offsetY) * context.scaleY;
- const x3 = (coords[p3] + context.offsetX) * context.scaleX;
- const y3 = (coords[p3 + 1] + context.offsetY) * context.scaleY;
- if (y1 >= y3) {
- return;
- }
- const c1r = colors[c1],
- c1g = colors[c1 + 1],
- c1b = colors[c1 + 2];
- const c2r = colors[c2],
- c2g = colors[c2 + 1],
- c2b = colors[c2 + 2];
- const c3r = colors[c3],
- c3g = colors[c3 + 1],
- c3b = colors[c3 + 2];
- const minY = Math.round(y1),
- maxY = Math.round(y3);
- let xa, car, cag, cab;
- let xb, cbr, cbg, cbb;
- for (let y = minY; y <= maxY; y++) {
- if (y < y2) {
- const k = y < y1 ? 0 : (y1 - y) / (y1 - y2);
- xa = x1 - (x1 - x2) * k;
- car = c1r - (c1r - c2r) * k;
- cag = c1g - (c1g - c2g) * k;
- cab = c1b - (c1b - c2b) * k;
- } else {
- let k;
- if (y > y3) {
- k = 1;
- } else if (y2 === y3) {
- k = 0;
- } else {
- k = (y2 - y) / (y2 - y3);
- }
- xa = x2 - (x2 - x3) * k;
- car = c2r - (c2r - c3r) * k;
- cag = c2g - (c2g - c3g) * k;
- cab = c2b - (c2b - c3b) * k;
- }
- let k;
- if (y < y1) {
- k = 0;
- } else if (y > y3) {
- k = 1;
- } else {
- k = (y1 - y) / (y1 - y3);
- }
- xb = x1 - (x1 - x3) * k;
- cbr = c1r - (c1r - c3r) * k;
- cbg = c1g - (c1g - c3g) * k;
- cbb = c1b - (c1b - c3b) * k;
- const x1_ = Math.round(Math.min(xa, xb));
- const x2_ = Math.round(Math.max(xa, xb));
- let j = rowSize * y + x1_ * 4;
- for (let x = x1_; x <= x2_; x++) {
- k = (xa - x) / (xa - xb);
- if (k < 0) {
- k = 0;
- } else if (k > 1) {
- k = 1;
- }
- bytes[j++] = car - (car - cbr) * k | 0;
- bytes[j++] = cag - (cag - cbg) * k | 0;
- bytes[j++] = cab - (cab - cbb) * k | 0;
- bytes[j++] = 255;
- }
- }
-}
-function drawFigure(data, figure, context) {
- const ps = figure.coords;
- const cs = figure.colors;
- let i, ii;
- switch (figure.type) {
- case "lattice":
- const verticesPerRow = figure.verticesPerRow;
- const rows = Math.floor(ps.length / verticesPerRow) - 1;
- const cols = verticesPerRow - 1;
- for (i = 0; i < rows; i++) {
- let q = i * verticesPerRow;
- for (let j = 0; j < cols; j++, q++) {
- drawTriangle(data, context, ps[q], ps[q + 1], ps[q + verticesPerRow], cs[q], cs[q + 1], cs[q + verticesPerRow]);
- drawTriangle(data, context, ps[q + verticesPerRow + 1], ps[q + 1], ps[q + verticesPerRow], cs[q + verticesPerRow + 1], cs[q + 1], cs[q + verticesPerRow]);
- }
- }
- break;
- case "triangles":
- for (i = 0, ii = ps.length; i < ii; i += 3) {
- drawTriangle(data, context, ps[i], ps[i + 1], ps[i + 2], cs[i], cs[i + 1], cs[i + 2]);
- }
- break;
- default:
- throw new Error("illegal figure");
- }
-}
-class MeshShadingPattern extends BaseShadingPattern {
- constructor(IR) {
- super();
- this._coords = IR[2];
- this._colors = IR[3];
- this._figures = IR[4];
- this._bounds = IR[5];
- this._bbox = IR[7];
- this._background = IR[8];
- this.matrix = null;
- }
- _createMeshCanvas(combinedScale, backgroundColor, cachedCanvases) {
- const EXPECTED_SCALE = 1.1;
- const MAX_PATTERN_SIZE = 3000;
- const BORDER_SIZE = 2;
- const offsetX = Math.floor(this._bounds[0]);
- const offsetY = Math.floor(this._bounds[1]);
- const boundsWidth = Math.ceil(this._bounds[2]) - offsetX;
- const boundsHeight = Math.ceil(this._bounds[3]) - offsetY;
- const width = Math.min(Math.ceil(Math.abs(boundsWidth * combinedScale[0] * EXPECTED_SCALE)), MAX_PATTERN_SIZE);
- const height = Math.min(Math.ceil(Math.abs(boundsHeight * combinedScale[1] * EXPECTED_SCALE)), MAX_PATTERN_SIZE);
- const scaleX = boundsWidth / width;
- const scaleY = boundsHeight / height;
- const context = {
- coords: this._coords,
- colors: this._colors,
- offsetX: -offsetX,
- offsetY: -offsetY,
- scaleX: 1 / scaleX,
- scaleY: 1 / scaleY
- };
- const paddedWidth = width + BORDER_SIZE * 2;
- const paddedHeight = height + BORDER_SIZE * 2;
- const tmpCanvas = cachedCanvases.getCanvas("mesh", paddedWidth, paddedHeight, false);
- const tmpCtx = tmpCanvas.context;
- const data = tmpCtx.createImageData(width, height);
- if (backgroundColor) {
- const bytes = data.data;
- for (let i = 0, ii = bytes.length; i < ii; i += 4) {
- bytes[i] = backgroundColor[0];
- bytes[i + 1] = backgroundColor[1];
- bytes[i + 2] = backgroundColor[2];
- bytes[i + 3] = 255;
- }
- }
- for (const figure of this._figures) {
- drawFigure(data, figure, context);
- }
- tmpCtx.putImageData(data, BORDER_SIZE, BORDER_SIZE);
- const canvas = tmpCanvas.canvas;
- return {
- canvas,
- offsetX: offsetX - BORDER_SIZE * scaleX,
- offsetY: offsetY - BORDER_SIZE * scaleY,
- scaleX,
- scaleY
- };
- }
- getPattern(ctx, owner, inverse, pathType) {
- applyBoundingBox(ctx, this._bbox);
- let scale;
- if (pathType === PathType.SHADING) {
- scale = _util.Util.singularValueDecompose2dScale((0, _display_utils.getCurrentTransform)(ctx));
- } else {
- scale = _util.Util.singularValueDecompose2dScale(owner.baseTransform);
- if (this.matrix) {
- const matrixScale = _util.Util.singularValueDecompose2dScale(this.matrix);
- scale = [scale[0] * matrixScale[0], scale[1] * matrixScale[1]];
- }
- }
- const temporaryPatternCanvas = this._createMeshCanvas(scale, pathType === PathType.SHADING ? null : this._background, owner.cachedCanvases);
- if (pathType !== PathType.SHADING) {
- ctx.setTransform(...owner.baseTransform);
- if (this.matrix) {
- ctx.transform(...this.matrix);
- }
- }
- ctx.translate(temporaryPatternCanvas.offsetX, temporaryPatternCanvas.offsetY);
- ctx.scale(temporaryPatternCanvas.scaleX, temporaryPatternCanvas.scaleY);
- return ctx.createPattern(temporaryPatternCanvas.canvas, "no-repeat");
- }
-}
-class DummyShadingPattern extends BaseShadingPattern {
- getPattern() {
- return "hotpink";
- }
-}
-function getShadingPattern(IR) {
- switch (IR[0]) {
- case "RadialAxial":
- return new RadialAxialShadingPattern(IR);
- case "Mesh":
- return new MeshShadingPattern(IR);
- case "Dummy":
- return new DummyShadingPattern();
- }
- throw new Error(`Unknown IR type: ${IR[0]}`);
-}
-const PaintType = {
- COLORED: 1,
- UNCOLORED: 2
-};
-class TilingPattern {
- static MAX_PATTERN_SIZE = 3000;
- constructor(IR, color, ctx, canvasGraphicsFactory, baseTransform) {
- this.operatorList = IR[2];
- this.matrix = IR[3] || [1, 0, 0, 1, 0, 0];
- this.bbox = IR[4];
- this.xstep = IR[5];
- this.ystep = IR[6];
- this.paintType = IR[7];
- this.tilingType = IR[8];
- this.color = color;
- this.ctx = ctx;
- this.canvasGraphicsFactory = canvasGraphicsFactory;
- this.baseTransform = baseTransform;
- }
- createPatternCanvas(owner) {
- const operatorList = this.operatorList;
- const bbox = this.bbox;
- const xstep = this.xstep;
- const ystep = this.ystep;
- const paintType = this.paintType;
- const tilingType = this.tilingType;
- const color = this.color;
- const canvasGraphicsFactory = this.canvasGraphicsFactory;
- (0, _util.info)("TilingType: " + tilingType);
- const x0 = bbox[0],
- y0 = bbox[1],
- x1 = bbox[2],
- y1 = bbox[3];
- const matrixScale = _util.Util.singularValueDecompose2dScale(this.matrix);
- const curMatrixScale = _util.Util.singularValueDecompose2dScale(this.baseTransform);
- const combinedScale = [matrixScale[0] * curMatrixScale[0], matrixScale[1] * curMatrixScale[1]];
- const dimx = this.getSizeAndScale(xstep, this.ctx.canvas.width, combinedScale[0]);
- const dimy = this.getSizeAndScale(ystep, this.ctx.canvas.height, combinedScale[1]);
- const tmpCanvas = owner.cachedCanvases.getCanvas("pattern", dimx.size, dimy.size, true);
- const tmpCtx = tmpCanvas.context;
- const graphics = canvasGraphicsFactory.createCanvasGraphics(tmpCtx);
- graphics.groupLevel = owner.groupLevel;
- this.setFillAndStrokeStyleToContext(graphics, paintType, color);
- let adjustedX0 = x0;
- let adjustedY0 = y0;
- let adjustedX1 = x1;
- let adjustedY1 = y1;
- if (x0 < 0) {
- adjustedX0 = 0;
- adjustedX1 += Math.abs(x0);
- }
- if (y0 < 0) {
- adjustedY0 = 0;
- adjustedY1 += Math.abs(y0);
- }
- tmpCtx.translate(-(dimx.scale * adjustedX0), -(dimy.scale * adjustedY0));
- graphics.transform(dimx.scale, 0, 0, dimy.scale, 0, 0);
- tmpCtx.save();
- this.clipBbox(graphics, adjustedX0, adjustedY0, adjustedX1, adjustedY1);
- graphics.baseTransform = (0, _display_utils.getCurrentTransform)(graphics.ctx);
- graphics.executeOperatorList(operatorList);
- graphics.endDrawing();
- return {
- canvas: tmpCanvas.canvas,
- scaleX: dimx.scale,
- scaleY: dimy.scale,
- offsetX: adjustedX0,
- offsetY: adjustedY0
- };
- }
- getSizeAndScale(step, realOutputSize, scale) {
- step = Math.abs(step);
- const maxSize = Math.max(TilingPattern.MAX_PATTERN_SIZE, realOutputSize);
- let size = Math.ceil(step * scale);
- if (size >= maxSize) {
- size = maxSize;
- } else {
- scale = size / step;
- }
- return {
- scale,
- size
- };
- }
- clipBbox(graphics, x0, y0, x1, y1) {
- const bboxWidth = x1 - x0;
- const bboxHeight = y1 - y0;
- graphics.ctx.rect(x0, y0, bboxWidth, bboxHeight);
- graphics.current.updateRectMinMax((0, _display_utils.getCurrentTransform)(graphics.ctx), [x0, y0, x1, y1]);
- graphics.clip();
- graphics.endPath();
- }
- setFillAndStrokeStyleToContext(graphics, paintType, color) {
- const context = graphics.ctx,
- current = graphics.current;
- switch (paintType) {
- case PaintType.COLORED:
- const ctx = this.ctx;
- context.fillStyle = ctx.fillStyle;
- context.strokeStyle = ctx.strokeStyle;
- current.fillColor = ctx.fillStyle;
- current.strokeColor = ctx.strokeStyle;
- break;
- case PaintType.UNCOLORED:
- const cssColor = _util.Util.makeHexColor(color[0], color[1], color[2]);
- context.fillStyle = cssColor;
- context.strokeStyle = cssColor;
- current.fillColor = cssColor;
- current.strokeColor = cssColor;
- break;
- default:
- throw new _util.FormatError(`Unsupported paint type: ${paintType}`);
- }
- }
- getPattern(ctx, owner, inverse, pathType) {
- let matrix = inverse;
- if (pathType !== PathType.SHADING) {
- matrix = _util.Util.transform(matrix, owner.baseTransform);
- if (this.matrix) {
- matrix = _util.Util.transform(matrix, this.matrix);
- }
- }
- const temporaryPatternCanvas = this.createPatternCanvas(owner);
- let domMatrix = new DOMMatrix(matrix);
- domMatrix = domMatrix.translate(temporaryPatternCanvas.offsetX, temporaryPatternCanvas.offsetY);
- domMatrix = domMatrix.scale(1 / temporaryPatternCanvas.scaleX, 1 / temporaryPatternCanvas.scaleY);
- const pattern = ctx.createPattern(temporaryPatternCanvas.canvas, "repeat");
- pattern.setTransform(domMatrix);
- return pattern;
- }
-}
-exports.TilingPattern = TilingPattern;
-
-/***/ }),
-/* 174 */
-/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", ({
- value: true
-}));
-exports.convertBlackAndWhiteToRGBA = convertBlackAndWhiteToRGBA;
-exports.convertToRGBA = convertToRGBA;
-exports.grayToRGBA = grayToRGBA;
-__w_pdfjs_require__(93);
-__w_pdfjs_require__(101);
-__w_pdfjs_require__(102);
-__w_pdfjs_require__(105);
-__w_pdfjs_require__(107);
-__w_pdfjs_require__(109);
-__w_pdfjs_require__(113);
-__w_pdfjs_require__(116);
-__w_pdfjs_require__(123);
-var _util = __w_pdfjs_require__(1);
-function convertToRGBA(params) {
- switch (params.kind) {
- case _util.ImageKind.GRAYSCALE_1BPP:
- return convertBlackAndWhiteToRGBA(params);
- case _util.ImageKind.RGB_24BPP:
- return convertRGBToRGBA(params);
- }
- return null;
-}
-function convertBlackAndWhiteToRGBA(_ref) {
- let {
- src,
- srcPos = 0,
- dest,
- width,
- height,
- nonBlackColor = 0xffffffff,
- inverseDecode = false
- } = _ref;
- const black = _util.FeatureTest.isLittleEndian ? 0xff000000 : 0x000000ff;
- const [zeroMapping, oneMapping] = inverseDecode ? [nonBlackColor, black] : [black, nonBlackColor];
- const widthInSource = width >> 3;
- const widthRemainder = width & 7;
- const srcLength = src.length;
- dest = new Uint32Array(dest.buffer);
- let destPos = 0;
- for (let i = 0; i < height; i++) {
- for (const max = srcPos + widthInSource; srcPos < max; srcPos++) {
- const elem = srcPos < srcLength ? src[srcPos] : 255;
- dest[destPos++] = elem & 0b10000000 ? oneMapping : zeroMapping;
- dest[destPos++] = elem & 0b1000000 ? oneMapping : zeroMapping;
- dest[destPos++] = elem & 0b100000 ? oneMapping : zeroMapping;
- dest[destPos++] = elem & 0b10000 ? oneMapping : zeroMapping;
- dest[destPos++] = elem & 0b1000 ? oneMapping : zeroMapping;
- dest[destPos++] = elem & 0b100 ? oneMapping : zeroMapping;
- dest[destPos++] = elem & 0b10 ? oneMapping : zeroMapping;
- dest[destPos++] = elem & 0b1 ? oneMapping : zeroMapping;
- }
- if (widthRemainder === 0) {
- continue;
- }
- const elem = srcPos < srcLength ? src[srcPos++] : 255;
- for (let j = 0; j < widthRemainder; j++) {
- dest[destPos++] = elem & 1 << 7 - j ? oneMapping : zeroMapping;
- }
- }
- return {
- srcPos,
- destPos
- };
-}
-function convertRGBToRGBA(_ref2) {
- let {
- src,
- srcPos = 0,
- dest,
- destPos = 0,
- width,
- height
- } = _ref2;
- let i = 0;
- const len32 = src.length >> 2;
- const src32 = new Uint32Array(src.buffer, srcPos, len32);
- if (_util.FeatureTest.isLittleEndian) {
- for (; i < len32 - 2; i += 3, destPos += 4) {
- const s1 = src32[i];
- const s2 = src32[i + 1];
- const s3 = src32[i + 2];
- dest[destPos] = s1 | 0xff000000;
- dest[destPos + 1] = s1 >>> 24 | s2 << 8 | 0xff000000;
- dest[destPos + 2] = s2 >>> 16 | s3 << 16 | 0xff000000;
- dest[destPos + 3] = s3 >>> 8 | 0xff000000;
- }
- for (let j = i * 4, jj = src.length; j < jj; j += 3) {
- dest[destPos++] = src[j] | src[j + 1] << 8 | src[j + 2] << 16 | 0xff000000;
- }
- } else {
- for (; i < len32 - 2; i += 3, destPos += 4) {
- const s1 = src32[i];
- const s2 = src32[i + 1];
- const s3 = src32[i + 2];
- dest[destPos] = s1 | 0xff;
- dest[destPos + 1] = s1 << 24 | s2 >>> 8 | 0xff;
- dest[destPos + 2] = s2 << 16 | s3 >>> 16 | 0xff;
- dest[destPos + 3] = s3 << 8 | 0xff;
- }
- for (let j = i * 4, jj = src.length; j < jj; j += 3) {
- dest[destPos++] = src[j] << 24 | src[j + 1] << 16 | src[j + 2] << 8 | 0xff;
- }
- }
- return {
- srcPos,
- destPos
- };
-}
-function grayToRGBA(src, dest) {
- if (_util.FeatureTest.isLittleEndian) {
- for (let i = 0, ii = src.length; i < ii; i++) {
- dest[i] = src[i] * 0x10101 | 0xff000000;
- }
- } else {
- for (let i = 0, ii = src.length; i < ii; i++) {
- dest[i] = src[i] * 0x1010100 | 0x000000ff;
- }
- }
-}
-
-/***/ }),
-/* 175 */
-/***/ ((__unused_webpack_module, exports) => {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", ({
- value: true
-}));
-exports.GlobalWorkerOptions = void 0;
-const GlobalWorkerOptions = Object.create(null);
-exports.GlobalWorkerOptions = GlobalWorkerOptions;
-GlobalWorkerOptions.workerPort = null;
-GlobalWorkerOptions.workerSrc = "";
-
-/***/ }),
-/* 176 */
-/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", ({
- value: true
-}));
-exports.MessageHandler = void 0;
-__w_pdfjs_require__(2);
-var _util = __w_pdfjs_require__(1);
-const CallbackKind = {
- UNKNOWN: 0,
- DATA: 1,
- ERROR: 2
-};
-const StreamKind = {
- UNKNOWN: 0,
- CANCEL: 1,
- CANCEL_COMPLETE: 2,
- CLOSE: 3,
- ENQUEUE: 4,
- ERROR: 5,
- PULL: 6,
- PULL_COMPLETE: 7,
- START_COMPLETE: 8
-};
-function wrapReason(reason) {
- if (!(reason instanceof Error || typeof reason === "object" && reason !== null)) {
- (0, _util.unreachable)('wrapReason: Expected "reason" to be a (possibly cloned) Error.');
- }
- switch (reason.name) {
- case "AbortException":
- return new _util.AbortException(reason.message);
- case "MissingPDFException":
- return new _util.MissingPDFException(reason.message);
- case "PasswordException":
- return new _util.PasswordException(reason.message, reason.code);
- case "UnexpectedResponseException":
- return new _util.UnexpectedResponseException(reason.message, reason.status);
- case "UnknownErrorException":
- return new _util.UnknownErrorException(reason.message, reason.details);
- default:
- return new _util.UnknownErrorException(reason.message, reason.toString());
- }
-}
-class MessageHandler {
- constructor(sourceName, targetName, comObj) {
- this.sourceName = sourceName;
- this.targetName = targetName;
- this.comObj = comObj;
- 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);
- this._onComObjOnMessage = event => {
- const data = event.data;
- if (data.targetName !== this.sourceName) {
- return;
- }
- if (data.stream) {
- this.#processStreamMessage(data);
- return;
- }
- if (data.callback) {
- const callbackId = data.callbackId;
- const capability = this.callbackCapabilities[callbackId];
- if (!capability) {
- throw new Error(`Cannot resolve callback ${callbackId}`);
- }
- delete this.callbackCapabilities[callbackId];
- if (data.callback === CallbackKind.DATA) {
- capability.resolve(data.data);
- } else if (data.callback === CallbackKind.ERROR) {
- capability.reject(wrapReason(data.reason));
- } else {
- throw new Error("Unexpected callback case");
- }
- return;
- }
- const action = this.actionHandler[data.action];
- if (!action) {
- throw new Error(`Unknown action from worker: ${data.action}`);
- }
- if (data.callbackId) {
- const cbSourceName = this.sourceName;
- const cbTargetName = data.sourceName;
- new Promise(function (resolve) {
- resolve(action(data.data));
- }).then(function (result) {
- comObj.postMessage({
- sourceName: cbSourceName,
- targetName: cbTargetName,
- callback: CallbackKind.DATA,
- callbackId: data.callbackId,
- data: result
- });
- }, function (reason) {
- comObj.postMessage({
- sourceName: cbSourceName,
- targetName: cbTargetName,
- callback: CallbackKind.ERROR,
- callbackId: data.callbackId,
- reason: wrapReason(reason)
- });
- });
- return;
- }
- if (data.streamId) {
- this.#createStreamSink(data);
- return;
- }
- action(data.data);
- };
- comObj.addEventListener("message", this._onComObjOnMessage);
- }
- on(actionName, handler) {
- const ah = this.actionHandler;
- if (ah[actionName]) {
- throw new Error(`There is already an actionName called "${actionName}"`);
- }
- ah[actionName] = handler;
- }
- send(actionName, data, transfers) {
- this.comObj.postMessage({
- sourceName: this.sourceName,
- targetName: this.targetName,
- action: actionName,
- data
- }, transfers);
- }
- sendWithPromise(actionName, data, transfers) {
- const callbackId = this.callbackId++;
- const capability = new _util.PromiseCapability();
- this.callbackCapabilities[callbackId] = capability;
- try {
- this.comObj.postMessage({
- sourceName: this.sourceName,
- targetName: this.targetName,
- action: actionName,
- callbackId,
- data
- }, transfers);
- } catch (ex) {
- capability.reject(ex);
- }
- return capability.promise;
- }
- sendWithStream(actionName, data, queueingStrategy, transfers) {
- const streamId = this.streamId++,
- sourceName = this.sourceName,
- targetName = this.targetName,
- comObj = this.comObj;
- return new ReadableStream({
- start: controller => {
- const startCapability = new _util.PromiseCapability();
- this.streamControllers[streamId] = {
- controller,
- startCall: startCapability,
- pullCall: null,
- cancelCall: null,
- isClosed: false
- };
- comObj.postMessage({
- sourceName,
- targetName,
- action: actionName,
- streamId,
- data,
- desiredSize: controller.desiredSize
- }, transfers);
- return startCapability.promise;
- },
- pull: controller => {
- const pullCapability = new _util.PromiseCapability();
- this.streamControllers[streamId].pullCall = pullCapability;
- comObj.postMessage({
- sourceName,
- targetName,
- stream: StreamKind.PULL,
- streamId,
- desiredSize: controller.desiredSize
- });
- return pullCapability.promise;
- },
- cancel: reason => {
- (0, _util.assert)(reason instanceof Error, "cancel must have a valid reason");
- const cancelCapability = new _util.PromiseCapability();
- this.streamControllers[streamId].cancelCall = cancelCapability;
- this.streamControllers[streamId].isClosed = true;
- comObj.postMessage({
- sourceName,
- targetName,
- stream: StreamKind.CANCEL,
- streamId,
- reason: wrapReason(reason)
- });
- return cancelCapability.promise;
- }
- }, queueingStrategy);
- }
- #createStreamSink(data) {
- const streamId = data.streamId,
- sourceName = this.sourceName,
- targetName = data.sourceName,
- comObj = this.comObj;
- const self = this,
- action = this.actionHandler[data.action];
- const streamSink = {
- enqueue(chunk) {
- let size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
- let transfers = arguments.length > 2 ? arguments[2] : undefined;
- if (this.isCancelled) {
- return;
- }
- const lastDesiredSize = this.desiredSize;
- this.desiredSize -= size;
- if (lastDesiredSize > 0 && this.desiredSize <= 0) {
- this.sinkCapability = new _util.PromiseCapability();
- this.ready = this.sinkCapability.promise;
- }
- comObj.postMessage({
- sourceName,
- targetName,
- stream: StreamKind.ENQUEUE,
- streamId,
- chunk
- }, transfers);
- },
- close() {
- if (this.isCancelled) {
- return;
- }
- this.isCancelled = true;
- comObj.postMessage({
- sourceName,
- targetName,
- stream: StreamKind.CLOSE,
- streamId
- });
- delete self.streamSinks[streamId];
- },
- error(reason) {
- (0, _util.assert)(reason instanceof Error, "error must have a valid reason");
- if (this.isCancelled) {
- return;
- }
- this.isCancelled = true;
- comObj.postMessage({
- sourceName,
- targetName,
- stream: StreamKind.ERROR,
- streamId,
- reason: wrapReason(reason)
- });
- },
- sinkCapability: new _util.PromiseCapability(),
- onPull: null,
- onCancel: null,
- isCancelled: false,
- desiredSize: data.desiredSize,
- ready: null
- };
- streamSink.sinkCapability.resolve();
- streamSink.ready = streamSink.sinkCapability.promise;
- this.streamSinks[streamId] = streamSink;
- new Promise(function (resolve) {
- resolve(action(data.data, streamSink));
- }).then(function () {
- comObj.postMessage({
- sourceName,
- targetName,
- stream: StreamKind.START_COMPLETE,
- streamId,
- success: true
- });
- }, function (reason) {
- comObj.postMessage({
- sourceName,
- targetName,
- stream: StreamKind.START_COMPLETE,
- streamId,
- reason: wrapReason(reason)
- });
- });
- }
- #processStreamMessage(data) {
- const streamId = data.streamId,
- sourceName = this.sourceName,
- targetName = data.sourceName,
- comObj = this.comObj;
- const streamController = this.streamControllers[streamId],
- streamSink = this.streamSinks[streamId];
- switch (data.stream) {
- case StreamKind.START_COMPLETE:
- if (data.success) {
- streamController.startCall.resolve();
- } else {
- streamController.startCall.reject(wrapReason(data.reason));
- }
- break;
- case StreamKind.PULL_COMPLETE:
- if (data.success) {
- streamController.pullCall.resolve();
- } else {
- streamController.pullCall.reject(wrapReason(data.reason));
- }
- break;
- case StreamKind.PULL:
- if (!streamSink) {
- comObj.postMessage({
- sourceName,
- targetName,
- stream: StreamKind.PULL_COMPLETE,
- streamId,
- success: true
- });
- break;
- }
- if (streamSink.desiredSize <= 0 && data.desiredSize > 0) {
- streamSink.sinkCapability.resolve();
- }
- streamSink.desiredSize = data.desiredSize;
- new Promise(function (resolve) {
- resolve(streamSink.onPull?.());
- }).then(function () {
- comObj.postMessage({
- sourceName,
- targetName,
- stream: StreamKind.PULL_COMPLETE,
- streamId,
- success: true
- });
- }, function (reason) {
- comObj.postMessage({
- sourceName,
- targetName,
- stream: StreamKind.PULL_COMPLETE,
- streamId,
- reason: wrapReason(reason)
- });
- });
- break;
- case StreamKind.ENQUEUE:
- (0, _util.assert)(streamController, "enqueue should have stream controller");
- if (streamController.isClosed) {
- break;
- }
- streamController.controller.enqueue(data.chunk);
- break;
- case StreamKind.CLOSE:
- (0, _util.assert)(streamController, "close should have stream controller");
- if (streamController.isClosed) {
- break;
- }
- streamController.isClosed = true;
- streamController.controller.close();
- this.#deleteStreamController(streamController, streamId);
- break;
- case StreamKind.ERROR:
- (0, _util.assert)(streamController, "error should have stream controller");
- streamController.controller.error(wrapReason(data.reason));
- this.#deleteStreamController(streamController, streamId);
- break;
- case StreamKind.CANCEL_COMPLETE:
- if (data.success) {
- streamController.cancelCall.resolve();
- } else {
- streamController.cancelCall.reject(wrapReason(data.reason));
- }
- this.#deleteStreamController(streamController, streamId);
- break;
- case StreamKind.CANCEL:
- if (!streamSink) {
- break;
- }
- new Promise(function (resolve) {
- resolve(streamSink.onCancel?.(wrapReason(data.reason)));
- }).then(function () {
- comObj.postMessage({
- sourceName,
- targetName,
- stream: StreamKind.CANCEL_COMPLETE,
- streamId,
- success: true
- });
- }, function (reason) {
- comObj.postMessage({
- sourceName,
- targetName,
- stream: StreamKind.CANCEL_COMPLETE,
- streamId,
- reason: wrapReason(reason)
- });
- });
- streamSink.sinkCapability.reject(wrapReason(data.reason));
- streamSink.isCancelled = true;
- delete this.streamSinks[streamId];
- break;
- default:
- throw new Error("Unexpected stream case");
- }
- }
- async #deleteStreamController(streamController, streamId) {
- await Promise.allSettled([streamController.startCall?.promise, streamController.pullCall?.promise, streamController.cancelCall?.promise]);
- delete this.streamControllers[streamId];
- }
- destroy() {
- this.comObj.removeEventListener("message", this._onComObjOnMessage);
- }
-}
-exports.MessageHandler = MessageHandler;
-
-/***/ }),
-/* 177 */
-/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", ({
- value: true
-}));
-exports.Metadata = void 0;
-var _util = __w_pdfjs_require__(1);
-class Metadata {
- #metadataMap;
- #data;
- constructor(_ref) {
- let {
- parsedData,
- rawData
- } = _ref;
- this.#metadataMap = parsedData;
- this.#data = rawData;
- }
- getRaw() {
- return this.#data;
- }
- get(name) {
- return this.#metadataMap.get(name) ?? null;
- }
- getAll() {
- return (0, _util.objectFromMap)(this.#metadataMap);
- }
- has(name) {
- return this.#metadataMap.has(name);
- }
-}
-exports.Metadata = Metadata;
-
-/***/ }),
-/* 178 */
-/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", ({
- value: true
-}));
-exports.OptionalContentConfig = void 0;
-var _util = __w_pdfjs_require__(1);
-var _murmurhash = __w_pdfjs_require__(169);
-const INTERNAL = Symbol("INTERNAL");
-class OptionalContentGroup {
- #visible = true;
- constructor(name, intent) {
- this.name = name;
- this.intent = intent;
- }
- get visible() {
- return this.#visible;
- }
- _setVisible(internal, visible) {
- if (internal !== INTERNAL) {
- (0, _util.unreachable)("Internal method `_setVisible` called.");
- }
- this.#visible = visible;
- }
-}
-class OptionalContentConfig {
- #cachedGetHash = null;
- #groups = new Map();
- #initialHash = null;
- #order = null;
- constructor(data) {
- this.name = null;
- this.creator = null;
- if (data === null) {
- return;
- }
- this.name = data.name;
- this.creator = data.creator;
- this.#order = data.order;
- for (const group of data.groups) {
- this.#groups.set(group.id, new OptionalContentGroup(group.name, group.intent));
- }
- if (data.baseState === "OFF") {
- for (const group of this.#groups.values()) {
- group._setVisible(INTERNAL, false);
- }
- }
- for (const on of data.on) {
- this.#groups.get(on)._setVisible(INTERNAL, true);
- }
- for (const off of data.off) {
- this.#groups.get(off)._setVisible(INTERNAL, false);
- }
- this.#initialHash = this.getHash();
- }
- #evaluateVisibilityExpression(array) {
- const length = array.length;
- if (length < 2) {
- return true;
- }
- const operator = array[0];
- for (let i = 1; i < length; i++) {
- const element = array[i];
- let state;
- if (Array.isArray(element)) {
- state = this.#evaluateVisibilityExpression(element);
- } else if (this.#groups.has(element)) {
- state = this.#groups.get(element).visible;
- } else {
- (0, _util.warn)(`Optional content group not found: ${element}`);
- return true;
- }
- switch (operator) {
- case "And":
- if (!state) {
- return false;
- }
- break;
- case "Or":
- if (state) {
- return true;
- }
- break;
- case "Not":
- return !state;
- default:
- return true;
- }
- }
- return operator === "And";
- }
- isVisible(group) {
- if (this.#groups.size === 0) {
- return true;
- }
- if (!group) {
- (0, _util.warn)("Optional content group not defined.");
- return true;
- }
- if (group.type === "OCG") {
- if (!this.#groups.has(group.id)) {
- (0, _util.warn)(`Optional content group not found: ${group.id}`);
- return true;
- }
- return this.#groups.get(group.id).visible;
- } else if (group.type === "OCMD") {
- if (group.expression) {
- return this.#evaluateVisibilityExpression(group.expression);
- }
- if (!group.policy || group.policy === "AnyOn") {
- for (const id of group.ids) {
- if (!this.#groups.has(id)) {
- (0, _util.warn)(`Optional content group not found: ${id}`);
- return true;
- }
- if (this.#groups.get(id).visible) {
- return true;
- }
- }
- return false;
- } else if (group.policy === "AllOn") {
- for (const id of group.ids) {
- if (!this.#groups.has(id)) {
- (0, _util.warn)(`Optional content group not found: ${id}`);
- return true;
- }
- if (!this.#groups.get(id).visible) {
- return false;
- }
- }
- return true;
- } else if (group.policy === "AnyOff") {
- for (const id of group.ids) {
- if (!this.#groups.has(id)) {
- (0, _util.warn)(`Optional content group not found: ${id}`);
- return true;
- }
- if (!this.#groups.get(id).visible) {
- return true;
- }
- }
- return false;
- } else if (group.policy === "AllOff") {
- for (const id of group.ids) {
- if (!this.#groups.has(id)) {
- (0, _util.warn)(`Optional content group not found: ${id}`);
- return true;
- }
- if (this.#groups.get(id).visible) {
- return false;
- }
- }
- return true;
- }
- (0, _util.warn)(`Unknown optional content policy ${group.policy}.`);
- return true;
- }
- (0, _util.warn)(`Unknown group type ${group.type}.`);
- return true;
- }
- setVisibility(id) {
- let visible = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
- if (!this.#groups.has(id)) {
- (0, _util.warn)(`Optional content group not found: ${id}`);
- return;
- }
- this.#groups.get(id)._setVisible(INTERNAL, !!visible);
- this.#cachedGetHash = null;
- }
- get hasInitialVisibility() {
- return this.getHash() === this.#initialHash;
- }
- getOrder() {
- if (!this.#groups.size) {
- return null;
- }
- if (this.#order) {
- return this.#order.slice();
- }
- return [...this.#groups.keys()];
- }
- getGroups() {
- return this.#groups.size > 0 ? (0, _util.objectFromMap)(this.#groups) : null;
- }
- getGroup(id) {
- return this.#groups.get(id) || null;
- }
- getHash() {
- if (this.#cachedGetHash !== null) {
- return this.#cachedGetHash;
- }
- const hash = new _murmurhash.MurmurHash3_64();
- for (const [id, group] of this.#groups) {
- hash.update(`${id}:${group.visible}`);
- }
- return this.#cachedGetHash = hash.hexdigest();
- }
-}
-exports.OptionalContentConfig = OptionalContentConfig;
-
-/***/ }),
-/* 179 */
-/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", ({
- value: true
-}));
-exports.PDFDataTransportStream = void 0;
-__w_pdfjs_require__(93);
-__w_pdfjs_require__(101);
-__w_pdfjs_require__(102);
-__w_pdfjs_require__(105);
-__w_pdfjs_require__(107);
-__w_pdfjs_require__(109);
-__w_pdfjs_require__(113);
-__w_pdfjs_require__(116);
-__w_pdfjs_require__(123);
-__w_pdfjs_require__(89);
-var _util = __w_pdfjs_require__(1);
-var _display_utils = __w_pdfjs_require__(167);
-class PDFDataTransportStream {
- constructor(_ref, pdfDataRangeTransport) {
- let {
- length,
- initialData,
- progressiveDone = false,
- contentDispositionFilename = null,
- disableRange = false,
- disableStream = false
- } = _ref;
- (0, _util.assert)(pdfDataRangeTransport, 'PDFDataTransportStream - missing required "pdfDataRangeTransport" argument.');
- this._queuedChunks = [];
- this._progressiveDone = progressiveDone;
- this._contentDispositionFilename = contentDispositionFilename;
- if (initialData?.length > 0) {
- const buffer = initialData instanceof Uint8Array && initialData.byteLength === initialData.buffer.byteLength ? initialData.buffer : new Uint8Array(initialData).buffer;
- this._queuedChunks.push(buffer);
- }
- this._pdfDataRangeTransport = pdfDataRangeTransport;
- this._isStreamingSupported = !disableStream;
- this._isRangeSupported = !disableRange;
- this._contentLength = length;
- this._fullRequestReader = null;
- this._rangeReaders = [];
- this._pdfDataRangeTransport.addRangeListener((begin, chunk) => {
- this._onReceiveData({
- begin,
- chunk
- });
- });
- this._pdfDataRangeTransport.addProgressListener((loaded, total) => {
- this._onProgress({
- loaded,
- total
- });
- });
- this._pdfDataRangeTransport.addProgressiveReadListener(chunk => {
- this._onReceiveData({
- chunk
- });
- });
- this._pdfDataRangeTransport.addProgressiveDoneListener(() => {
- this._onProgressiveDone();
- });
- this._pdfDataRangeTransport.transportReady();
- }
- _onReceiveData(_ref2) {
- let {
- begin,
- chunk
- } = _ref2;
- const buffer = chunk instanceof Uint8Array && chunk.byteLength === chunk.buffer.byteLength ? chunk.buffer : new Uint8Array(chunk).buffer;
- if (begin === undefined) {
- if (this._fullRequestReader) {
- this._fullRequestReader._enqueue(buffer);
- } else {
- this._queuedChunks.push(buffer);
- }
- } else {
- const found = this._rangeReaders.some(function (rangeReader) {
- if (rangeReader._begin !== begin) {
- return false;
- }
- rangeReader._enqueue(buffer);
- return true;
- });
- (0, _util.assert)(found, "_onReceiveData - no `PDFDataTransportStreamRangeReader` instance found.");
- }
- }
- get _progressiveDataLength() {
- return this._fullRequestReader?._loaded ?? 0;
- }
- _onProgress(evt) {
- if (evt.total === undefined) {
- this._rangeReaders[0]?.onProgress?.({
- loaded: evt.loaded
- });
- } else {
- this._fullRequestReader?.onProgress?.({
- loaded: evt.loaded,
- total: evt.total
- });
- }
- }
- _onProgressiveDone() {
- this._fullRequestReader?.progressiveDone();
- this._progressiveDone = true;
- }
- _removeRangeReader(reader) {
- const i = this._rangeReaders.indexOf(reader);
- if (i >= 0) {
- this._rangeReaders.splice(i, 1);
- }
- }
- getFullReader() {
- (0, _util.assert)(!this._fullRequestReader, "PDFDataTransportStream.getFullReader can only be called once.");
- const queuedChunks = this._queuedChunks;
- this._queuedChunks = null;
- return new PDFDataTransportStreamReader(this, queuedChunks, this._progressiveDone, this._contentDispositionFilename);
- }
- getRangeReader(begin, end) {
- if (end <= this._progressiveDataLength) {
- return null;
- }
- const reader = new PDFDataTransportStreamRangeReader(this, begin, end);
- this._pdfDataRangeTransport.requestDataRange(begin, end);
- this._rangeReaders.push(reader);
- return reader;
- }
- cancelAllRequests(reason) {
- this._fullRequestReader?.cancel(reason);
- for (const reader of this._rangeReaders.slice(0)) {
- reader.cancel(reason);
- }
- this._pdfDataRangeTransport.abort();
- }
-}
-exports.PDFDataTransportStream = PDFDataTransportStream;
-class PDFDataTransportStreamReader {
- constructor(stream, queuedChunks) {
- let progressiveDone = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
- let contentDispositionFilename = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;
- this._stream = stream;
- this._done = progressiveDone || false;
- this._filename = (0, _display_utils.isPdfFile)(contentDispositionFilename) ? contentDispositionFilename : null;
- this._queuedChunks = queuedChunks || [];
- this._loaded = 0;
- for (const chunk of this._queuedChunks) {
- this._loaded += chunk.byteLength;
- }
- this._requests = [];
- this._headersReady = Promise.resolve();
- stream._fullRequestReader = this;
- this.onProgress = null;
- }
- _enqueue(chunk) {
- if (this._done) {
- return;
- }
- if (this._requests.length > 0) {
- const requestCapability = this._requests.shift();
- requestCapability.resolve({
- value: chunk,
- done: false
- });
- } else {
- this._queuedChunks.push(chunk);
- }
- this._loaded += chunk.byteLength;
- }
- get headersReady() {
- return this._headersReady;
- }
- get filename() {
- return this._filename;
- }
- get isRangeSupported() {
- return this._stream._isRangeSupported;
- }
- get isStreamingSupported() {
- return this._stream._isStreamingSupported;
- }
- get contentLength() {
- return this._stream._contentLength;
- }
- async read() {
- if (this._queuedChunks.length > 0) {
- const chunk = this._queuedChunks.shift();
- return {
- value: chunk,
- done: false
- };
- }
- if (this._done) {
- return {
- value: undefined,
- done: true
- };
- }
- const requestCapability = new _util.PromiseCapability();
- this._requests.push(requestCapability);
- return requestCapability.promise;
- }
- cancel(reason) {
- this._done = true;
- for (const requestCapability of this._requests) {
- requestCapability.resolve({
- value: undefined,
- done: true
- });
- }
- this._requests.length = 0;
- }
- progressiveDone() {
- if (this._done) {
- return;
- }
- this._done = true;
- }
-}
-class PDFDataTransportStreamRangeReader {
- constructor(stream, begin, end) {
- this._stream = stream;
- this._begin = begin;
- this._end = end;
- this._queuedChunk = null;
- this._requests = [];
- this._done = false;
- this.onProgress = null;
- }
- _enqueue(chunk) {
- if (this._done) {
- return;
- }
- if (this._requests.length === 0) {
- this._queuedChunk = chunk;
- } else {
- const requestsCapability = this._requests.shift();
- requestsCapability.resolve({
- value: chunk,
- done: false
- });
- for (const requestCapability of this._requests) {
- requestCapability.resolve({
- value: undefined,
- done: true
- });
- }
- this._requests.length = 0;
- }
- this._done = true;
- this._stream._removeRangeReader(this);
- }
- get isStreamingSupported() {
- return false;
- }
- async read() {
- if (this._queuedChunk) {
- const chunk = this._queuedChunk;
- this._queuedChunk = null;
- return {
- value: chunk,
- done: false
- };
- }
- if (this._done) {
- return {
- value: undefined,
- done: true
- };
- }
- const requestCapability = new _util.PromiseCapability();
- this._requests.push(requestCapability);
- return requestCapability.promise;
- }
- cancel(reason) {
- this._done = true;
- for (const requestCapability of this._requests) {
- requestCapability.resolve({
- value: undefined,
- done: true
- });
- }
- this._requests.length = 0;
- this._stream._removeRangeReader(this);
- }
-}
-
-/***/ }),
-/* 180 */
-/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", ({
- value: true
-}));
-exports.PDFFetchStream = void 0;
-__w_pdfjs_require__(93);
-__w_pdfjs_require__(101);
-__w_pdfjs_require__(102);
-__w_pdfjs_require__(105);
-__w_pdfjs_require__(107);
-__w_pdfjs_require__(109);
-__w_pdfjs_require__(113);
-__w_pdfjs_require__(116);
-__w_pdfjs_require__(123);
-__w_pdfjs_require__(89);
-var _util = __w_pdfjs_require__(1);
-var _network_utils = __w_pdfjs_require__(181);
-;
-function createFetchOptions(headers, withCredentials, abortController) {
- return {
- method: "GET",
- headers,
- signal: abortController.signal,
- mode: "cors",
- credentials: withCredentials ? "include" : "same-origin",
- redirect: "follow"
- };
-}
-function createHeaders(httpHeaders) {
- const headers = new Headers();
- for (const property in httpHeaders) {
- const value = httpHeaders[property];
- if (value === undefined) {
- continue;
- }
- headers.append(property, value);
- }
- return headers;
-}
-function getArrayBuffer(val) {
- if (val instanceof Uint8Array) {
- return val.buffer;
- }
- if (val instanceof ArrayBuffer) {
- return val;
- }
- (0, _util.warn)(`getArrayBuffer - unexpected data format: ${val}`);
- return new Uint8Array(val).buffer;
-}
-class PDFFetchStream {
- constructor(source) {
- this.source = source;
- this.isHttp = /^https?:/i.test(source.url);
- this.httpHeaders = this.isHttp && source.httpHeaders || {};
- this._fullRequestReader = null;
- this._rangeRequestReaders = [];
- }
- get _progressiveDataLength() {
- return this._fullRequestReader?._loaded ?? 0;
- }
- getFullReader() {
- (0, _util.assert)(!this._fullRequestReader, "PDFFetchStream.getFullReader can only be called once.");
- this._fullRequestReader = new PDFFetchStreamReader(this);
- return this._fullRequestReader;
- }
- getRangeReader(begin, end) {
- if (end <= this._progressiveDataLength) {
- return null;
- }
- const reader = new PDFFetchStreamRangeReader(this, begin, end);
- this._rangeRequestReaders.push(reader);
- return reader;
- }
- cancelAllRequests(reason) {
- this._fullRequestReader?.cancel(reason);
- for (const reader of this._rangeRequestReaders.slice(0)) {
- reader.cancel(reason);
- }
- }
-}
-exports.PDFFetchStream = PDFFetchStream;
-class PDFFetchStreamReader {
- constructor(stream) {
- this._stream = stream;
- this._reader = null;
- this._loaded = 0;
- this._filename = null;
- const source = stream.source;
- this._withCredentials = source.withCredentials || false;
- this._contentLength = source.length;
- this._headersCapability = new _util.PromiseCapability();
- this._disableRange = source.disableRange || false;
- this._rangeChunkSize = source.rangeChunkSize;
- if (!this._rangeChunkSize && !this._disableRange) {
- this._disableRange = true;
- }
- this._abortController = new AbortController();
- this._isStreamingSupported = !source.disableStream;
- this._isRangeSupported = !source.disableRange;
- this._headers = createHeaders(this._stream.httpHeaders);
- const url = source.url;
- fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(response => {
- if (!(0, _network_utils.validateResponseStatus)(response.status)) {
- throw (0, _network_utils.createResponseStatusError)(response.status, url);
- }
- this._reader = response.body.getReader();
- this._headersCapability.resolve();
- const getResponseHeader = name => {
- return response.headers.get(name);
- };
- const {
- allowRangeRequests,
- suggestedLength
- } = (0, _network_utils.validateRangeRequestCapabilities)({
- getResponseHeader,
- isHttp: this._stream.isHttp,
- rangeChunkSize: this._rangeChunkSize,
- disableRange: this._disableRange
- });
- this._isRangeSupported = allowRangeRequests;
- this._contentLength = suggestedLength || this._contentLength;
- this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);
- if (!this._isStreamingSupported && this._isRangeSupported) {
- this.cancel(new _util.AbortException("Streaming is disabled."));
- }
- }).catch(this._headersCapability.reject);
- this.onProgress = null;
- }
- 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() {
- await this._headersCapability.promise;
- const {
- value,
- done
- } = await this._reader.read();
- if (done) {
- return {
- value,
- done
- };
- }
- this._loaded += value.byteLength;
- this.onProgress?.({
- loaded: this._loaded,
- total: this._contentLength
- });
- return {
- value: getArrayBuffer(value),
- done: false
- };
- }
- cancel(reason) {
- this._reader?.cancel(reason);
- this._abortController.abort();
- }
-}
-class PDFFetchStreamRangeReader {
- constructor(stream, begin, end) {
- this._stream = stream;
- this._reader = null;
- this._loaded = 0;
- const source = stream.source;
- this._withCredentials = source.withCredentials || false;
- this._readCapability = new _util.PromiseCapability();
- this._isStreamingSupported = !source.disableStream;
- this._abortController = new AbortController();
- this._headers = createHeaders(this._stream.httpHeaders);
- this._headers.append("Range", `bytes=${begin}-${end - 1}`);
- const url = source.url;
- fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(response => {
- if (!(0, _network_utils.validateResponseStatus)(response.status)) {
- throw (0, _network_utils.createResponseStatusError)(response.status, url);
- }
- this._readCapability.resolve();
- this._reader = response.body.getReader();
- }).catch(this._readCapability.reject);
- this.onProgress = null;
- }
- get isStreamingSupported() {
- return this._isStreamingSupported;
- }
- async read() {
- await this._readCapability.promise;
- const {
- value,
- done
- } = await this._reader.read();
- if (done) {
- return {
- value,
- done
- };
- }
- this._loaded += value.byteLength;
- this.onProgress?.({
- loaded: this._loaded
- });
- return {
- value: getArrayBuffer(value),
- done: false
- };
- }
- cancel(reason) {
- this._reader?.cancel(reason);
- this._abortController.abort();
- }
-}
-
-/***/ }),
-/* 181 */
-/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", ({
- value: true
-}));
-exports.createResponseStatusError = createResponseStatusError;
-exports.extractFilenameFromHeader = extractFilenameFromHeader;
-exports.validateRangeRequestCapabilities = validateRangeRequestCapabilities;
-exports.validateResponseStatus = validateResponseStatus;
-var _util = __w_pdfjs_require__(1);
-var _content_disposition = __w_pdfjs_require__(182);
-var _display_utils = __w_pdfjs_require__(167);
-function validateRangeRequestCapabilities(_ref) {
- let {
- getResponseHeader,
- isHttp,
- rangeChunkSize,
- disableRange
- } = _ref;
- const returnValues = {
- allowRangeRequests: false,
- suggestedLength: undefined
- };
- const length = parseInt(getResponseHeader("Content-Length"), 10);
- if (!Number.isInteger(length)) {
- return returnValues;
- }
- returnValues.suggestedLength = length;
- if (length <= 2 * rangeChunkSize) {
- return returnValues;
- }
- if (disableRange || !isHttp) {
- return returnValues;
- }
- if (getResponseHeader("Accept-Ranges") !== "bytes") {
- return returnValues;
- }
- const contentEncoding = getResponseHeader("Content-Encoding") || "identity";
- if (contentEncoding !== "identity") {
- return returnValues;
- }
- returnValues.allowRangeRequests = true;
- return returnValues;
-}
-function extractFilenameFromHeader(getResponseHeader) {
- const contentDisposition = getResponseHeader("Content-Disposition");
- if (contentDisposition) {
- let filename = (0, _content_disposition.getFilenameFromContentDispositionHeader)(contentDisposition);
- if (filename.includes("%")) {
- try {
- filename = decodeURIComponent(filename);
- } catch {}
- }
- if ((0, _display_utils.isPdfFile)(filename)) {
- return filename;
- }
- }
- return null;
-}
-function createResponseStatusError(status, url) {
- if (status === 404 || status === 0 && url.startsWith("file:")) {
- return new _util.MissingPDFException('Missing PDF "' + url + '".');
- }
- return new _util.UnexpectedResponseException(`Unexpected server response (${status}) while retrieving PDF "${url}".`, status);
-}
-function validateResponseStatus(status) {
- return status === 200 || status === 206;
-}
-
-/***/ }),
-/* 182 */
-/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", ({
- value: true
-}));
-exports.getFilenameFromContentDispositionHeader = getFilenameFromContentDispositionHeader;
-__w_pdfjs_require__(89);
-__w_pdfjs_require__(148);
-var _util = __w_pdfjs_require__(1);
-function getFilenameFromContentDispositionHeader(contentDisposition) {
- let needsEncodingFixup = true;
- let tmp = toParamRegExp("filename\\*", "i").exec(contentDisposition);
- if (tmp) {
- tmp = tmp[1];
- let filename = rfc2616unquote(tmp);
- filename = unescape(filename);
- filename = rfc5987decode(filename);
- filename = rfc2047decode(filename);
- return fixupEncoding(filename);
- }
- tmp = rfc2231getparam(contentDisposition);
- if (tmp) {
- const filename = rfc2047decode(tmp);
- return fixupEncoding(filename);
- }
- tmp = toParamRegExp("filename", "i").exec(contentDisposition);
- if (tmp) {
- tmp = tmp[1];
- let filename = rfc2616unquote(tmp);
- filename = rfc2047decode(filename);
- return fixupEncoding(filename);
- }
- function toParamRegExp(attributePattern, flags) {
- return new RegExp("(?:^|;)\\s*" + attributePattern + "\\s*=\\s*" + "(" + '[^";\\s][^;\\s]*' + "|" + '"(?:[^"\\\\]|\\\\"?)+"?' + ")", flags);
- }
- function textdecode(encoding, value) {
- if (encoding) {
- if (!/^[\x00-\xFF]+$/.test(value)) {
- return value;
- }
- try {
- const decoder = new TextDecoder(encoding, {
- fatal: true
- });
- const buffer = (0, _util.stringToBytes)(value);
- value = decoder.decode(buffer);
- needsEncodingFixup = false;
- } catch {}
- }
- return value;
- }
- function fixupEncoding(value) {
- if (needsEncodingFixup && /[\x80-\xff]/.test(value)) {
- value = textdecode("utf-8", value);
- if (needsEncodingFixup) {
- value = textdecode("iso-8859-1", value);
- }
- }
- return value;
- }
- function rfc2231getparam(contentDispositionStr) {
- const matches = [];
- let match;
- const iter = toParamRegExp("filename\\*((?!0\\d)\\d+)(\\*?)", "ig");
- while ((match = iter.exec(contentDispositionStr)) !== null) {
- let [, n, quot, part] = match;
- n = parseInt(n, 10);
- if (n in matches) {
- if (n === 0) {
- break;
- }
- continue;
- }
- matches[n] = [quot, part];
- }
- const parts = [];
- for (let n = 0; n < matches.length; ++n) {
- if (!(n in matches)) {
- break;
- }
- let [quot, part] = matches[n];
- part = rfc2616unquote(part);
- if (quot) {
- part = unescape(part);
- if (n === 0) {
- part = rfc5987decode(part);
- }
- }
- parts.push(part);
- }
- return parts.join("");
- }
- function rfc2616unquote(value) {
- if (value.startsWith('"')) {
- const parts = value.slice(1).split('\\"');
- for (let i = 0; i < parts.length; ++i) {
- const quotindex = parts[i].indexOf('"');
- if (quotindex !== -1) {
- parts[i] = parts[i].slice(0, quotindex);
- parts.length = i + 1;
- }
- parts[i] = parts[i].replaceAll(/\\(.)/g, "$1");
- }
- value = parts.join('"');
- }
- return value;
- }
- function rfc5987decode(extvalue) {
- const encodingend = extvalue.indexOf("'");
- if (encodingend === -1) {
- return extvalue;
- }
- const encoding = extvalue.slice(0, encodingend);
- const langvalue = extvalue.slice(encodingend + 1);
- const value = langvalue.replace(/^[^']*'/, "");
- return textdecode(encoding, value);
- }
- function rfc2047decode(value) {
- if (!value.startsWith("=?") || /[\x00-\x19\x80-\xff]/.test(value)) {
- return value;
- }
- return value.replaceAll(/=\?([\w-]*)\?([QqBb])\?((?:[^?]|\?(?!=))*)\?=/g, function (matches, charset, encoding, text) {
- if (encoding === "q" || encoding === "Q") {
- text = text.replaceAll("_", " ");
- text = text.replaceAll(/=([0-9a-fA-F]{2})/g, function (match, hex) {
- return String.fromCharCode(parseInt(hex, 16));
- });
- return textdecode(charset, text);
- }
- try {
- text = atob(text);
- } catch {}
- return textdecode(charset, text);
- });
- }
- return "";
-}
-
-/***/ }),
-/* 183 */
-/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", ({
- value: true
-}));
-exports.PDFNetworkStream = void 0;
-__w_pdfjs_require__(89);
-var _util = __w_pdfjs_require__(1);
-var _network_utils = __w_pdfjs_require__(181);
-;
-const OK_RESPONSE = 200;
-const PARTIAL_CONTENT_RESPONSE = 206;
-function getArrayBuffer(xhr) {
- const data = xhr.response;
- if (typeof data !== "string") {
- return data;
- }
- return (0, _util.stringToBytes)(data).buffer;
-}
-class NetworkManager {
- constructor(url) {
- let args = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
- this.url = url;
- this.isHttp = /^https?:/i.test(url);
- this.httpHeaders = this.isHttp && args.httpHeaders || Object.create(null);
- this.withCredentials = args.withCredentials || false;
- this.currXhrId = 0;
- this.pendingRequests = Object.create(null);
- }
- requestRange(begin, end, listeners) {
- const args = {
- begin,
- end
- };
- for (const prop in listeners) {
- args[prop] = listeners[prop];
- }
- return this.request(args);
- }
- requestFull(listeners) {
- return this.request(listeners);
- }
- request(args) {
- const xhr = new XMLHttpRequest();
- const xhrId = this.currXhrId++;
- const pendingRequest = this.pendingRequests[xhrId] = {
- xhr
- };
- xhr.open("GET", this.url);
- xhr.withCredentials = this.withCredentials;
- for (const property in this.httpHeaders) {
- const value = this.httpHeaders[property];
- if (value === undefined) {
- continue;
- }
- xhr.setRequestHeader(property, value);
- }
- if (this.isHttp && "begin" in args && "end" in args) {
- xhr.setRequestHeader("Range", `bytes=${args.begin}-${args.end - 1}`);
- pendingRequest.expectedStatus = PARTIAL_CONTENT_RESPONSE;
- } else {
- pendingRequest.expectedStatus = OK_RESPONSE;
- }
- xhr.responseType = "arraybuffer";
- if (args.onError) {
- xhr.onerror = function (evt) {
- args.onError(xhr.status);
- };
- }
- xhr.onreadystatechange = this.onStateChange.bind(this, xhrId);
- xhr.onprogress = this.onProgress.bind(this, xhrId);
- pendingRequest.onHeadersReceived = args.onHeadersReceived;
- pendingRequest.onDone = args.onDone;
- pendingRequest.onError = args.onError;
- pendingRequest.onProgress = args.onProgress;
- xhr.send(null);
- return xhrId;
- }
- onProgress(xhrId, evt) {
- const pendingRequest = this.pendingRequests[xhrId];
- if (!pendingRequest) {
- return;
- }
- pendingRequest.onProgress?.(evt);
- }
- onStateChange(xhrId, evt) {
- const pendingRequest = this.pendingRequests[xhrId];
- if (!pendingRequest) {
- return;
- }
- const xhr = pendingRequest.xhr;
- if (xhr.readyState >= 2 && pendingRequest.onHeadersReceived) {
- pendingRequest.onHeadersReceived();
- delete pendingRequest.onHeadersReceived;
- }
- if (xhr.readyState !== 4) {
- return;
- }
- if (!(xhrId in this.pendingRequests)) {
- return;
- }
- delete this.pendingRequests[xhrId];
- if (xhr.status === 0 && this.isHttp) {
- pendingRequest.onError?.(xhr.status);
- return;
- }
- const xhrStatus = xhr.status || OK_RESPONSE;
- const ok_response_on_range_request = xhrStatus === OK_RESPONSE && pendingRequest.expectedStatus === PARTIAL_CONTENT_RESPONSE;
- if (!ok_response_on_range_request && xhrStatus !== pendingRequest.expectedStatus) {
- pendingRequest.onError?.(xhr.status);
- return;
- }
- const chunk = getArrayBuffer(xhr);
- if (xhrStatus === PARTIAL_CONTENT_RESPONSE) {
- const rangeHeader = xhr.getResponseHeader("Content-Range");
- const matches = /bytes (\d+)-(\d+)\/(\d+)/.exec(rangeHeader);
- pendingRequest.onDone({
- begin: parseInt(matches[1], 10),
- chunk
- });
- } else if (chunk) {
- pendingRequest.onDone({
- begin: 0,
- chunk
- });
- } else {
- pendingRequest.onError?.(xhr.status);
- }
- }
- getRequestXhr(xhrId) {
- return this.pendingRequests[xhrId].xhr;
- }
- isPendingRequest(xhrId) {
- return xhrId in this.pendingRequests;
- }
- abortRequest(xhrId) {
- const xhr = this.pendingRequests[xhrId].xhr;
- delete this.pendingRequests[xhrId];
- xhr.abort();
- }
-}
-class PDFNetworkStream {
- constructor(source) {
- this._source = source;
- this._manager = new NetworkManager(source.url, {
- httpHeaders: source.httpHeaders,
- withCredentials: source.withCredentials
- });
- this._rangeChunkSize = source.rangeChunkSize;
- this._fullRequestReader = null;
- this._rangeRequestReaders = [];
- }
- _onRangeRequestReaderClosed(reader) {
- const i = this._rangeRequestReaders.indexOf(reader);
- if (i >= 0) {
- this._rangeRequestReaders.splice(i, 1);
- }
- }
- getFullReader() {
- (0, _util.assert)(!this._fullRequestReader, "PDFNetworkStream.getFullReader can only be called once.");
- this._fullRequestReader = new PDFNetworkStreamFullRequestReader(this._manager, this._source);
- return this._fullRequestReader;
- }
- getRangeReader(begin, end) {
- const reader = new PDFNetworkStreamRangeRequestReader(this._manager, begin, end);
- reader.onClosed = this._onRangeRequestReaderClosed.bind(this);
- this._rangeRequestReaders.push(reader);
- return reader;
- }
- cancelAllRequests(reason) {
- this._fullRequestReader?.cancel(reason);
- for (const reader of this._rangeRequestReaders.slice(0)) {
- reader.cancel(reason);
- }
- }
-}
-exports.PDFNetworkStream = PDFNetworkStream;
-class PDFNetworkStreamFullRequestReader {
- constructor(manager, source) {
- this._manager = manager;
- const args = {
- onHeadersReceived: this._onHeadersReceived.bind(this),
- onDone: this._onDone.bind(this),
- onError: this._onError.bind(this),
- onProgress: this._onProgress.bind(this)
- };
- this._url = source.url;
- this._fullRequestId = manager.requestFull(args);
- this._headersReceivedCapability = new _util.PromiseCapability();
- this._disableRange = source.disableRange || false;
- this._contentLength = source.length;
- this._rangeChunkSize = source.rangeChunkSize;
- if (!this._rangeChunkSize && !this._disableRange) {
- this._disableRange = true;
- }
- this._isStreamingSupported = false;
- this._isRangeSupported = false;
- this._cachedChunks = [];
- this._requests = [];
- this._done = false;
- this._storedError = undefined;
- this._filename = null;
- this.onProgress = null;
- }
- _onHeadersReceived() {
- const fullRequestXhrId = this._fullRequestId;
- const fullRequestXhr = this._manager.getRequestXhr(fullRequestXhrId);
- const getResponseHeader = name => {
- return fullRequestXhr.getResponseHeader(name);
- };
- const {
- allowRangeRequests,
- suggestedLength
- } = (0, _network_utils.validateRangeRequestCapabilities)({
- getResponseHeader,
- isHttp: this._manager.isHttp,
- rangeChunkSize: this._rangeChunkSize,
- disableRange: this._disableRange
- });
- if (allowRangeRequests) {
- this._isRangeSupported = true;
- }
- this._contentLength = suggestedLength || this._contentLength;
- this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);
- if (this._isRangeSupported) {
- this._manager.abortRequest(fullRequestXhrId);
- }
- this._headersReceivedCapability.resolve();
- }
- _onDone(data) {
- if (data) {
- if (this._requests.length > 0) {
- const requestCapability = this._requests.shift();
- requestCapability.resolve({
- value: data.chunk,
- done: false
- });
- } else {
- this._cachedChunks.push(data.chunk);
- }
- }
- this._done = true;
- if (this._cachedChunks.length > 0) {
- return;
- }
- for (const requestCapability of this._requests) {
- requestCapability.resolve({
- value: undefined,
- done: true
- });
- }
- this._requests.length = 0;
- }
- _onError(status) {
- this._storedError = (0, _network_utils.createResponseStatusError)(status, this._url);
- this._headersReceivedCapability.reject(this._storedError);
- for (const requestCapability of this._requests) {
- requestCapability.reject(this._storedError);
- }
- this._requests.length = 0;
- this._cachedChunks.length = 0;
- }
- _onProgress(evt) {
- this.onProgress?.({
- loaded: evt.loaded,
- total: evt.lengthComputable ? evt.total : this._contentLength
- });
- }
- get filename() {
- return this._filename;
- }
- get isRangeSupported() {
- return this._isRangeSupported;
- }
- get isStreamingSupported() {
- return this._isStreamingSupported;
- }
- get contentLength() {
- return this._contentLength;
- }
- get headersReady() {
- return this._headersReceivedCapability.promise;
- }
- async read() {
- if (this._storedError) {
- throw this._storedError;
- }
- if (this._cachedChunks.length > 0) {
- const chunk = this._cachedChunks.shift();
- return {
- value: chunk,
- done: false
- };
- }
- if (this._done) {
- return {
- value: undefined,
- done: true
- };
- }
- const requestCapability = new _util.PromiseCapability();
- this._requests.push(requestCapability);
- return requestCapability.promise;
- }
- cancel(reason) {
- this._done = true;
- this._headersReceivedCapability.reject(reason);
- for (const requestCapability of this._requests) {
- requestCapability.resolve({
- value: undefined,
- done: true
- });
- }
- this._requests.length = 0;
- if (this._manager.isPendingRequest(this._fullRequestId)) {
- this._manager.abortRequest(this._fullRequestId);
- }
- this._fullRequestReader = null;
- }
-}
-class PDFNetworkStreamRangeRequestReader {
- constructor(manager, begin, end) {
- this._manager = manager;
- const args = {
- onDone: this._onDone.bind(this),
- onError: this._onError.bind(this),
- onProgress: this._onProgress.bind(this)
- };
- this._url = manager.url;
- this._requestId = manager.requestRange(begin, end, args);
- this._requests = [];
- this._queuedChunk = null;
- this._done = false;
- this._storedError = undefined;
- this.onProgress = null;
- this.onClosed = null;
- }
- _close() {
- this.onClosed?.(this);
- }
- _onDone(data) {
- const chunk = data.chunk;
- if (this._requests.length > 0) {
- const requestCapability = this._requests.shift();
- requestCapability.resolve({
- value: chunk,
- done: false
- });
- } else {
- this._queuedChunk = chunk;
- }
- this._done = true;
- for (const requestCapability of this._requests) {
- requestCapability.resolve({
- value: undefined,
- done: true
- });
- }
- this._requests.length = 0;
- this._close();
- }
- _onError(status) {
- this._storedError = (0, _network_utils.createResponseStatusError)(status, this._url);
- for (const requestCapability of this._requests) {
- requestCapability.reject(this._storedError);
- }
- this._requests.length = 0;
- this._queuedChunk = null;
- }
- _onProgress(evt) {
- if (!this.isStreamingSupported) {
- this.onProgress?.({
- loaded: evt.loaded
- });
- }
- }
- get isStreamingSupported() {
- return false;
- }
- async read() {
- if (this._storedError) {
- throw this._storedError;
- }
- if (this._queuedChunk !== null) {
- const chunk = this._queuedChunk;
- this._queuedChunk = null;
- return {
- value: chunk,
- done: false
- };
- }
- if (this._done) {
- return {
- value: undefined,
- done: true
- };
- }
- const requestCapability = new _util.PromiseCapability();
- this._requests.push(requestCapability);
- return requestCapability.promise;
- }
- cancel(reason) {
- this._done = true;
- for (const requestCapability of this._requests) {
- requestCapability.resolve({
- value: undefined,
- done: true
- });
- }
- this._requests.length = 0;
- if (this._manager.isPendingRequest(this._requestId)) {
- this._manager.abortRequest(this._requestId);
- }
- this._close();
- }
-}
-
-/***/ }),
-/* 184 */
-/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", ({
- value: true
-}));
-exports.PDFNodeStream = void 0;
-__w_pdfjs_require__(89);
-__w_pdfjs_require__(93);
-__w_pdfjs_require__(101);
-__w_pdfjs_require__(102);
-__w_pdfjs_require__(105);
-__w_pdfjs_require__(107);
-__w_pdfjs_require__(109);
-__w_pdfjs_require__(113);
-__w_pdfjs_require__(116);
-__w_pdfjs_require__(123);
-var _util = __w_pdfjs_require__(1);
-var _network_utils = __w_pdfjs_require__(181);
-;
-const fileUriRegex = /^file:\/\/\/[a-zA-Z]:\//;
-function parseUrl(sourceUrl) {
- const url = require("url");
- const parsedUrl = url.parse(sourceUrl);
- if (parsedUrl.protocol === "file:" || parsedUrl.host) {
- return parsedUrl;
- }
- if (/^[a-z]:[/\\]/i.test(sourceUrl)) {
- return url.parse(`file:///${sourceUrl}`);
- }
- if (!parsedUrl.host) {
- parsedUrl.protocol = "file:";
- }
- return parsedUrl;
-}
-class PDFNodeStream {
- constructor(source) {
- this.source = source;
- this.url = parseUrl(source.url);
- this.isHttp = this.url.protocol === "http:" || this.url.protocol === "https:";
- this.isFsUrl = this.url.protocol === "file:";
- this.httpHeaders = this.isHttp && source.httpHeaders || {};
- this._fullRequestReader = null;
- this._rangeRequestReaders = [];
- }
- get _progressiveDataLength() {
- return this._fullRequestReader?._loaded ?? 0;
- }
- getFullReader() {
- (0, _util.assert)(!this._fullRequestReader, "PDFNodeStream.getFullReader can only be called once.");
- this._fullRequestReader = this.isFsUrl ? new PDFNodeStreamFsFullReader(this) : new PDFNodeStreamFullReader(this);
- return this._fullRequestReader;
- }
- getRangeReader(start, end) {
- if (end <= this._progressiveDataLength) {
- return null;
- }
- const rangeReader = this.isFsUrl ? new PDFNodeStreamFsRangeReader(this, start, end) : new PDFNodeStreamRangeReader(this, start, end);
- this._rangeRequestReaders.push(rangeReader);
- return rangeReader;
- }
- cancelAllRequests(reason) {
- this._fullRequestReader?.cancel(reason);
- for (const reader of this._rangeRequestReaders.slice(0)) {
- reader.cancel(reason);
- }
- }
-}
-exports.PDFNodeStream = PDFNodeStream;
-class BaseFullReader {
- constructor(stream) {
- this._url = stream.url;
- this._done = false;
- this._storedError = null;
- this.onProgress = null;
- const source = stream.source;
- this._contentLength = source.length;
- this._loaded = 0;
- this._filename = null;
- this._disableRange = source.disableRange || false;
- this._rangeChunkSize = source.rangeChunkSize;
- if (!this._rangeChunkSize && !this._disableRange) {
- this._disableRange = true;
- }
- this._isStreamingSupported = !source.disableStream;
- this._isRangeSupported = !source.disableRange;
- this._readableStream = null;
- this._readCapability = new _util.PromiseCapability();
- this._headersCapability = new _util.PromiseCapability();
- }
- 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() {
- await this._readCapability.promise;
- if (this._done) {
- return {
- value: undefined,
- done: true
- };
- }
- if (this._storedError) {
- throw this._storedError;
- }
- const chunk = this._readableStream.read();
- if (chunk === null) {
- this._readCapability = new _util.PromiseCapability();
- return this.read();
- }
- this._loaded += chunk.length;
- this.onProgress?.({
- loaded: this._loaded,
- total: this._contentLength
- });
- const buffer = new Uint8Array(chunk).buffer;
- return {
- value: buffer,
- done: false
- };
- }
- cancel(reason) {
- if (!this._readableStream) {
- this._error(reason);
- return;
- }
- this._readableStream.destroy(reason);
- }
- _error(reason) {
- this._storedError = reason;
- this._readCapability.resolve();
- }
- _setReadableStream(readableStream) {
- this._readableStream = readableStream;
- readableStream.on("readable", () => {
- this._readCapability.resolve();
- });
- readableStream.on("end", () => {
- readableStream.destroy();
- this._done = true;
- this._readCapability.resolve();
- });
- readableStream.on("error", reason => {
- this._error(reason);
- });
- if (!this._isStreamingSupported && this._isRangeSupported) {
- this._error(new _util.AbortException("streaming is disabled"));
- }
- if (this._storedError) {
- this._readableStream.destroy(this._storedError);
- }
- }
-}
-class BaseRangeReader {
- constructor(stream) {
- this._url = stream.url;
- this._done = false;
- this._storedError = null;
- this.onProgress = null;
- this._loaded = 0;
- this._readableStream = null;
- this._readCapability = new _util.PromiseCapability();
- const source = stream.source;
- this._isStreamingSupported = !source.disableStream;
- }
- get isStreamingSupported() {
- return this._isStreamingSupported;
- }
- async read() {
- await this._readCapability.promise;
- if (this._done) {
- return {
- value: undefined,
- done: true
- };
- }
- if (this._storedError) {
- throw this._storedError;
- }
- const chunk = this._readableStream.read();
- if (chunk === null) {
- this._readCapability = new _util.PromiseCapability();
- return this.read();
- }
- this._loaded += chunk.length;
- this.onProgress?.({
- loaded: this._loaded
- });
- const buffer = new Uint8Array(chunk).buffer;
- return {
- value: buffer,
- done: false
- };
- }
- cancel(reason) {
- if (!this._readableStream) {
- this._error(reason);
- return;
- }
- this._readableStream.destroy(reason);
- }
- _error(reason) {
- this._storedError = reason;
- this._readCapability.resolve();
- }
- _setReadableStream(readableStream) {
- this._readableStream = readableStream;
- readableStream.on("readable", () => {
- this._readCapability.resolve();
- });
- readableStream.on("end", () => {
- readableStream.destroy();
- this._done = true;
- this._readCapability.resolve();
- });
- readableStream.on("error", reason => {
- this._error(reason);
- });
- if (this._storedError) {
- this._readableStream.destroy(this._storedError);
- }
- }
-}
-function createRequestOptions(parsedUrl, headers) {
- return {
- protocol: parsedUrl.protocol,
- auth: parsedUrl.auth,
- host: parsedUrl.hostname,
- port: parsedUrl.port,
- path: parsedUrl.path,
- method: "GET",
- headers
- };
-}
-class PDFNodeStreamFullReader extends BaseFullReader {
- constructor(stream) {
- super(stream);
- const handleResponse = response => {
- if (response.statusCode === 404) {
- const error = new _util.MissingPDFException(`Missing PDF "${this._url}".`);
- this._storedError = error;
- this._headersCapability.reject(error);
- return;
- }
- this._headersCapability.resolve();
- this._setReadableStream(response);
- const getResponseHeader = name => {
- return this._readableStream.headers[name.toLowerCase()];
- };
- const {
- allowRangeRequests,
- suggestedLength
- } = (0, _network_utils.validateRangeRequestCapabilities)({
- getResponseHeader,
- isHttp: stream.isHttp,
- rangeChunkSize: this._rangeChunkSize,
- disableRange: this._disableRange
- });
- this._isRangeSupported = allowRangeRequests;
- this._contentLength = suggestedLength || this._contentLength;
- this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);
- };
- this._request = null;
- if (this._url.protocol === "http:") {
- const http = require("http");
- this._request = http.request(createRequestOptions(this._url, stream.httpHeaders), handleResponse);
- } else {
- const https = require("https");
- this._request = https.request(createRequestOptions(this._url, stream.httpHeaders), handleResponse);
- }
- this._request.on("error", reason => {
- this._storedError = reason;
- this._headersCapability.reject(reason);
- });
- this._request.end();
- }
-}
-class PDFNodeStreamRangeReader extends BaseRangeReader {
- constructor(stream, start, end) {
- super(stream);
- this._httpHeaders = {};
- for (const property in stream.httpHeaders) {
- const value = stream.httpHeaders[property];
- if (value === undefined) {
- continue;
- }
- this._httpHeaders[property] = value;
- }
- this._httpHeaders.Range = `bytes=${start}-${end - 1}`;
- const handleResponse = response => {
- if (response.statusCode === 404) {
- const error = new _util.MissingPDFException(`Missing PDF "${this._url}".`);
- this._storedError = error;
- return;
- }
- this._setReadableStream(response);
- };
- this._request = null;
- if (this._url.protocol === "http:") {
- const http = require("http");
- this._request = http.request(createRequestOptions(this._url, this._httpHeaders), handleResponse);
- } else {
- const https = require("https");
- this._request = https.request(createRequestOptions(this._url, this._httpHeaders), handleResponse);
- }
- this._request.on("error", reason => {
- this._storedError = reason;
- });
- this._request.end();
- }
-}
-class PDFNodeStreamFsFullReader extends BaseFullReader {
- constructor(stream) {
- super(stream);
- let path = decodeURIComponent(this._url.path);
- if (fileUriRegex.test(this._url.href)) {
- path = path.replace(/^\//, "");
- }
- const fs = require("fs");
- fs.lstat(path, (error, stat) => {
- if (error) {
- if (error.code === "ENOENT") {
- error = new _util.MissingPDFException(`Missing PDF "${path}".`);
- }
- this._storedError = error;
- this._headersCapability.reject(error);
- return;
- }
- this._contentLength = stat.size;
- this._setReadableStream(fs.createReadStream(path));
- this._headersCapability.resolve();
- });
- }
-}
-class PDFNodeStreamFsRangeReader extends BaseRangeReader {
- constructor(stream, start, end) {
- super(stream);
- let path = decodeURIComponent(this._url.path);
- if (fileUriRegex.test(this._url.href)) {
- path = path.replace(/^\//, "");
- }
- const fs = require("fs");
- this._setReadableStream(fs.createReadStream(path, {
- start,
- end: end - 1
- }));
- }
-}
-
-/***/ }),
-/* 185 */
-/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", ({
- value: true
-}));
-exports.SVGGraphics = void 0;
-__w_pdfjs_require__(84);
-__w_pdfjs_require__(86);
-__w_pdfjs_require__(87);
-__w_pdfjs_require__(93);
-__w_pdfjs_require__(101);
-__w_pdfjs_require__(102);
-__w_pdfjs_require__(105);
-__w_pdfjs_require__(107);
-__w_pdfjs_require__(109);
-__w_pdfjs_require__(113);
-__w_pdfjs_require__(116);
-__w_pdfjs_require__(123);
-__w_pdfjs_require__(2);
-__w_pdfjs_require__(89);
-__w_pdfjs_require__(186);
-var _display_utils = __w_pdfjs_require__(167);
-var _util = __w_pdfjs_require__(1);
-;
-const SVG_DEFAULTS = {
- fontStyle: "normal",
- fontWeight: "normal",
- fillColor: "#000000"
-};
-const XML_NS = "http://www.w3.org/XML/1998/namespace";
-const XLINK_NS = "http://www.w3.org/1999/xlink";
-const LINE_CAP_STYLES = ["butt", "round", "square"];
-const LINE_JOIN_STYLES = ["miter", "round", "bevel"];
-const createObjectURL = function (data) {
- let contentType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "";
- let forceDataSchema = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
- if (URL.createObjectURL && typeof Blob !== "undefined" && !forceDataSchema) {
- return URL.createObjectURL(new Blob([data], {
- type: contentType
- }));
- }
- const digits = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
- let buffer = `data:${contentType};base64,`;
- for (let i = 0, ii = data.length; i < ii; i += 3) {
- const b1 = data[i] & 0xff;
- const b2 = data[i + 1] & 0xff;
- const b3 = data[i + 2] & 0xff;
- const d1 = b1 >> 2,
- d2 = (b1 & 3) << 4 | b2 >> 4;
- const d3 = i + 1 < ii ? (b2 & 0xf) << 2 | b3 >> 6 : 64;
- const d4 = i + 2 < ii ? b3 & 0x3f : 64;
- buffer += digits[d1] + digits[d2] + digits[d3] + digits[d4];
- }
- return buffer;
-};
-const convertImgDataToPng = function () {
- const PNG_HEADER = new Uint8Array([0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a]);
- const CHUNK_WRAPPER_SIZE = 12;
- const crcTable = new Int32Array(256);
- for (let i = 0; i < 256; i++) {
- let c = i;
- for (let h = 0; h < 8; h++) {
- c = c & 1 ? 0xedb88320 ^ c >> 1 & 0x7fffffff : c >> 1 & 0x7fffffff;
- }
- crcTable[i] = c;
- }
- function crc32(data, start, end) {
- let crc = -1;
- for (let i = start; i < end; i++) {
- const a = (crc ^ data[i]) & 0xff;
- const b = crcTable[a];
- crc = crc >>> 8 ^ b;
- }
- return crc ^ -1;
- }
- function writePngChunk(type, body, data, offset) {
- let p = offset;
- const len = body.length;
- data[p] = len >> 24 & 0xff;
- data[p + 1] = len >> 16 & 0xff;
- data[p + 2] = len >> 8 & 0xff;
- data[p + 3] = len & 0xff;
- p += 4;
- data[p] = type.charCodeAt(0) & 0xff;
- data[p + 1] = type.charCodeAt(1) & 0xff;
- data[p + 2] = type.charCodeAt(2) & 0xff;
- data[p + 3] = type.charCodeAt(3) & 0xff;
- p += 4;
- data.set(body, p);
- p += body.length;
- const crc = crc32(data, offset + 4, p);
- data[p] = crc >> 24 & 0xff;
- data[p + 1] = crc >> 16 & 0xff;
- data[p + 2] = crc >> 8 & 0xff;
- data[p + 3] = crc & 0xff;
- }
- function adler32(data, start, end) {
- let a = 1;
- let b = 0;
- for (let i = start; i < end; ++i) {
- a = (a + (data[i] & 0xff)) % 65521;
- b = (b + a) % 65521;
- }
- return b << 16 | a;
- }
- function deflateSync(literals) {
- if (!_util.isNodeJS) {
- return deflateSyncUncompressed(literals);
- }
- try {
- const input = parseInt(process.versions.node) >= 8 ? literals : Buffer.from(literals);
- const output = require("zlib").deflateSync(input, {
- level: 9
- });
- return output instanceof Uint8Array ? output : new Uint8Array(output);
- } catch (e) {
- (0, _util.warn)("Not compressing PNG because zlib.deflateSync is unavailable: " + e);
- }
- return deflateSyncUncompressed(literals);
- }
- function deflateSyncUncompressed(literals) {
- let len = literals.length;
- const maxBlockLength = 0xffff;
- const deflateBlocks = Math.ceil(len / maxBlockLength);
- const idat = new Uint8Array(2 + len + deflateBlocks * 5 + 4);
- let pi = 0;
- idat[pi++] = 0x78;
- idat[pi++] = 0x9c;
- let pos = 0;
- while (len > maxBlockLength) {
- idat[pi++] = 0x00;
- idat[pi++] = 0xff;
- idat[pi++] = 0xff;
- idat[pi++] = 0x00;
- idat[pi++] = 0x00;
- idat.set(literals.subarray(pos, pos + maxBlockLength), pi);
- pi += maxBlockLength;
- pos += maxBlockLength;
- len -= maxBlockLength;
- }
- idat[pi++] = 0x01;
- idat[pi++] = len & 0xff;
- idat[pi++] = len >> 8 & 0xff;
- idat[pi++] = ~len & 0xffff & 0xff;
- idat[pi++] = (~len & 0xffff) >> 8 & 0xff;
- idat.set(literals.subarray(pos), pi);
- pi += literals.length - pos;
- const adler = adler32(literals, 0, literals.length);
- idat[pi++] = adler >> 24 & 0xff;
- idat[pi++] = adler >> 16 & 0xff;
- idat[pi++] = adler >> 8 & 0xff;
- idat[pi++] = adler & 0xff;
- return idat;
- }
- function encode(imgData, kind, forceDataSchema, isMask) {
- const width = imgData.width;
- const height = imgData.height;
- let bitDepth, colorType, lineSize;
- const bytes = imgData.data;
- switch (kind) {
- case _util.ImageKind.GRAYSCALE_1BPP:
- colorType = 0;
- bitDepth = 1;
- lineSize = width + 7 >> 3;
- break;
- case _util.ImageKind.RGB_24BPP:
- colorType = 2;
- bitDepth = 8;
- lineSize = width * 3;
- break;
- case _util.ImageKind.RGBA_32BPP:
- colorType = 6;
- bitDepth = 8;
- lineSize = width * 4;
- break;
- default:
- throw new Error("invalid format");
- }
- const literals = new Uint8Array((1 + lineSize) * height);
- let offsetLiterals = 0,
- offsetBytes = 0;
- for (let y = 0; y < height; ++y) {
- literals[offsetLiterals++] = 0;
- literals.set(bytes.subarray(offsetBytes, offsetBytes + lineSize), offsetLiterals);
- offsetBytes += lineSize;
- offsetLiterals += lineSize;
- }
- if (kind === _util.ImageKind.GRAYSCALE_1BPP && isMask) {
- offsetLiterals = 0;
- for (let y = 0; y < height; y++) {
- offsetLiterals++;
- for (let i = 0; i < lineSize; i++) {
- literals[offsetLiterals++] ^= 0xff;
- }
- }
- }
- const ihdr = new Uint8Array([width >> 24 & 0xff, width >> 16 & 0xff, width >> 8 & 0xff, width & 0xff, height >> 24 & 0xff, height >> 16 & 0xff, height >> 8 & 0xff, height & 0xff, bitDepth, colorType, 0x00, 0x00, 0x00]);
- const idat = deflateSync(literals);
- const pngLength = PNG_HEADER.length + CHUNK_WRAPPER_SIZE * 3 + ihdr.length + idat.length;
- const data = new Uint8Array(pngLength);
- let offset = 0;
- data.set(PNG_HEADER, offset);
- offset += PNG_HEADER.length;
- writePngChunk("IHDR", ihdr, data, offset);
- offset += CHUNK_WRAPPER_SIZE + ihdr.length;
- writePngChunk("IDATA", idat, data, offset);
- offset += CHUNK_WRAPPER_SIZE + idat.length;
- writePngChunk("IEND", new Uint8Array(0), data, offset);
- return createObjectURL(data, "image/png", forceDataSchema);
- }
- return function convertImgDataToPng(imgData, forceDataSchema, isMask) {
- const kind = imgData.kind === undefined ? _util.ImageKind.GRAYSCALE_1BPP : imgData.kind;
- return encode(imgData, kind, forceDataSchema, isMask);
- };
-}();
-class SVGExtraState {
- constructor() {
- this.fontSizeScale = 1;
- this.fontWeight = SVG_DEFAULTS.fontWeight;
- this.fontSize = 0;
- this.textMatrix = _util.IDENTITY_MATRIX;
- this.fontMatrix = _util.FONT_IDENTITY_MATRIX;
- this.leading = 0;
- this.textRenderingMode = _util.TextRenderingMode.FILL;
- this.textMatrixScale = 1;
- this.x = 0;
- this.y = 0;
- this.lineX = 0;
- this.lineY = 0;
- this.charSpacing = 0;
- this.wordSpacing = 0;
- this.textHScale = 1;
- this.textRise = 0;
- this.fillColor = SVG_DEFAULTS.fillColor;
- this.strokeColor = "#000000";
- this.fillAlpha = 1;
- this.strokeAlpha = 1;
- this.lineWidth = 1;
- this.lineJoin = "";
- this.lineCap = "";
- this.miterLimit = 0;
- this.dashArray = [];
- this.dashPhase = 0;
- this.dependencies = [];
- this.activeClipUrl = null;
- this.clipGroup = null;
- this.maskId = "";
- }
- clone() {
- return Object.create(this);
- }
- setCurrentPoint(x, y) {
- this.x = x;
- this.y = y;
- }
-}
-function opListToTree(opList) {
- let opTree = [];
- const tmp = [];
- for (const opListElement of opList) {
- if (opListElement.fn === "save") {
- opTree.push({
- fnId: 92,
- fn: "group",
- items: []
- });
- tmp.push(opTree);
- opTree = opTree.at(-1).items;
- continue;
- }
- if (opListElement.fn === "restore") {
- opTree = tmp.pop();
- } else {
- opTree.push(opListElement);
- }
- }
- return opTree;
-}
-function pf(value) {
- if (Number.isInteger(value)) {
- return value.toString();
- }
- const s = value.toFixed(10);
- let i = s.length - 1;
- if (s[i] !== "0") {
- return s;
- }
- do {
- i--;
- } while (s[i] === "0");
- return s.substring(0, s[i] === "." ? i : i + 1);
-}
-function pm(m) {
- if (m[4] === 0 && m[5] === 0) {
- if (m[1] === 0 && m[2] === 0) {
- if (m[0] === 1 && m[3] === 1) {
- return "";
- }
- return `scale(${pf(m[0])} ${pf(m[3])})`;
- }
- if (m[0] === m[3] && m[1] === -m[2]) {
- const a = Math.acos(m[0]) * 180 / Math.PI;
- return `rotate(${pf(a)})`;
- }
- } else if (m[0] === 1 && m[1] === 0 && m[2] === 0 && m[3] === 1) {
- return `translate(${pf(m[4])} ${pf(m[5])})`;
- }
- return `matrix(${pf(m[0])} ${pf(m[1])} ${pf(m[2])} ${pf(m[3])} ${pf(m[4])} ` + `${pf(m[5])})`;
-}
-let clipCount = 0;
-let maskCount = 0;
-let shadingCount = 0;
-class SVGGraphics {
- constructor(commonObjs, objs) {
- let forceDataSchema = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
- (0, _display_utils.deprecated)("The SVG back-end is no longer maintained and *may* be removed in the future.");
- this.svgFactory = new _display_utils.DOMSVGFactory();
- this.current = new SVGExtraState();
- this.transformMatrix = _util.IDENTITY_MATRIX;
- this.transformStack = [];
- this.extraStack = [];
- this.commonObjs = commonObjs;
- this.objs = objs;
- this.pendingClip = null;
- this.pendingEOFill = false;
- this.embedFonts = false;
- this.embeddedFonts = Object.create(null);
- this.cssStyle = null;
- this.forceDataSchema = !!forceDataSchema;
- this._operatorIdMapping = [];
- for (const op in _util.OPS) {
- this._operatorIdMapping[_util.OPS[op]] = op;
- }
- }
- getObject(data) {
- let fallback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
- if (typeof data === "string") {
- return data.startsWith("g_") ? this.commonObjs.get(data) : this.objs.get(data);
- }
- return fallback;
- }
- save() {
- this.transformStack.push(this.transformMatrix);
- const old = this.current;
- this.extraStack.push(old);
- this.current = old.clone();
- }
- restore() {
- this.transformMatrix = this.transformStack.pop();
- this.current = this.extraStack.pop();
- this.pendingClip = null;
- this.tgrp = null;
- }
- group(items) {
- this.save();
- this.executeOpTree(items);
- this.restore();
- }
- loadDependencies(operatorList) {
- const fnArray = operatorList.fnArray;
- const argsArray = operatorList.argsArray;
- for (let i = 0, ii = fnArray.length; i < ii; i++) {
- if (fnArray[i] !== _util.OPS.dependency) {
- continue;
- }
- for (const obj of argsArray[i]) {
- const objsPool = obj.startsWith("g_") ? this.commonObjs : this.objs;
- const promise = new Promise(resolve => {
- objsPool.get(obj, resolve);
- });
- this.current.dependencies.push(promise);
- }
- }
- return Promise.all(this.current.dependencies);
- }
- transform(a, b, c, d, e, f) {
- const transformMatrix = [a, b, c, d, e, f];
- this.transformMatrix = _util.Util.transform(this.transformMatrix, transformMatrix);
- this.tgrp = null;
- }
- getSVG(operatorList, viewport) {
- this.viewport = viewport;
- const svgElement = this._initialize(viewport);
- return this.loadDependencies(operatorList).then(() => {
- this.transformMatrix = _util.IDENTITY_MATRIX;
- this.executeOpTree(this.convertOpList(operatorList));
- return svgElement;
- });
- }
- convertOpList(operatorList) {
- const operatorIdMapping = this._operatorIdMapping;
- const argsArray = operatorList.argsArray;
- const fnArray = operatorList.fnArray;
- const opList = [];
- for (let i = 0, ii = fnArray.length; i < ii; i++) {
- const fnId = fnArray[i];
- opList.push({
- fnId,
- fn: operatorIdMapping[fnId],
- args: argsArray[i]
- });
- }
- return opListToTree(opList);
- }
- executeOpTree(opTree) {
- for (const opTreeElement of opTree) {
- const fn = opTreeElement.fn;
- const fnId = opTreeElement.fnId;
- const args = opTreeElement.args;
- switch (fnId | 0) {
- case _util.OPS.beginText:
- this.beginText();
- break;
- case _util.OPS.dependency:
- break;
- case _util.OPS.setLeading:
- this.setLeading(args);
- break;
- case _util.OPS.setLeadingMoveText:
- this.setLeadingMoveText(args[0], args[1]);
- break;
- case _util.OPS.setFont:
- this.setFont(args);
- break;
- case _util.OPS.showText:
- this.showText(args[0]);
- break;
- case _util.OPS.showSpacedText:
- this.showText(args[0]);
- break;
- case _util.OPS.endText:
- this.endText();
- break;
- case _util.OPS.moveText:
- this.moveText(args[0], args[1]);
- break;
- case _util.OPS.setCharSpacing:
- this.setCharSpacing(args[0]);
- break;
- case _util.OPS.setWordSpacing:
- this.setWordSpacing(args[0]);
- break;
- case _util.OPS.setHScale:
- this.setHScale(args[0]);
- break;
- case _util.OPS.setTextMatrix:
- this.setTextMatrix(args[0], args[1], args[2], args[3], args[4], args[5]);
- break;
- case _util.OPS.setTextRise:
- this.setTextRise(args[0]);
- break;
- case _util.OPS.setTextRenderingMode:
- this.setTextRenderingMode(args[0]);
- break;
- case _util.OPS.setLineWidth:
- this.setLineWidth(args[0]);
- break;
- case _util.OPS.setLineJoin:
- this.setLineJoin(args[0]);
- break;
- case _util.OPS.setLineCap:
- this.setLineCap(args[0]);
- break;
- case _util.OPS.setMiterLimit:
- this.setMiterLimit(args[0]);
- break;
- case _util.OPS.setFillRGBColor:
- this.setFillRGBColor(args[0], args[1], args[2]);
- break;
- case _util.OPS.setStrokeRGBColor:
- this.setStrokeRGBColor(args[0], args[1], args[2]);
- break;
- case _util.OPS.setStrokeColorN:
- this.setStrokeColorN(args);
- break;
- case _util.OPS.setFillColorN:
- this.setFillColorN(args);
- break;
- case _util.OPS.shadingFill:
- this.shadingFill(args[0]);
- break;
- case _util.OPS.setDash:
- this.setDash(args[0], args[1]);
- break;
- case _util.OPS.setRenderingIntent:
- this.setRenderingIntent(args[0]);
- break;
- case _util.OPS.setFlatness:
- this.setFlatness(args[0]);
- break;
- case _util.OPS.setGState:
- this.setGState(args[0]);
- break;
- case _util.OPS.fill:
- this.fill();
- break;
- case _util.OPS.eoFill:
- this.eoFill();
- break;
- case _util.OPS.stroke:
- this.stroke();
- break;
- case _util.OPS.fillStroke:
- this.fillStroke();
- break;
- case _util.OPS.eoFillStroke:
- this.eoFillStroke();
- break;
- case _util.OPS.clip:
- this.clip("nonzero");
- break;
- case _util.OPS.eoClip:
- this.clip("evenodd");
- break;
- case _util.OPS.paintSolidColorImageMask:
- this.paintSolidColorImageMask();
- break;
- case _util.OPS.paintImageXObject:
- this.paintImageXObject(args[0]);
- break;
- case _util.OPS.paintInlineImageXObject:
- this.paintInlineImageXObject(args[0]);
- break;
- case _util.OPS.paintImageMaskXObject:
- this.paintImageMaskXObject(args[0]);
- break;
- case _util.OPS.paintFormXObjectBegin:
- this.paintFormXObjectBegin(args[0], args[1]);
- break;
- case _util.OPS.paintFormXObjectEnd:
- this.paintFormXObjectEnd();
- break;
- case _util.OPS.closePath:
- this.closePath();
- break;
- case _util.OPS.closeStroke:
- this.closeStroke();
- break;
- case _util.OPS.closeFillStroke:
- this.closeFillStroke();
- break;
- case _util.OPS.closeEOFillStroke:
- this.closeEOFillStroke();
- break;
- case _util.OPS.nextLine:
- this.nextLine();
- break;
- case _util.OPS.transform:
- this.transform(args[0], args[1], args[2], args[3], args[4], args[5]);
- break;
- case _util.OPS.constructPath:
- this.constructPath(args[0], args[1]);
- break;
- case _util.OPS.endPath:
- this.endPath();
- break;
- case 92:
- this.group(opTreeElement.items);
- break;
- default:
- (0, _util.warn)(`Unimplemented operator ${fn}`);
- break;
- }
- }
- }
- setWordSpacing(wordSpacing) {
- this.current.wordSpacing = wordSpacing;
- }
- setCharSpacing(charSpacing) {
- this.current.charSpacing = charSpacing;
- }
- nextLine() {
- this.moveText(0, this.current.leading);
- }
- setTextMatrix(a, b, c, d, e, f) {
- const current = this.current;
- current.textMatrix = current.lineMatrix = [a, b, c, d, e, f];
- current.textMatrixScale = Math.hypot(a, b);
- current.x = current.lineX = 0;
- current.y = current.lineY = 0;
- current.xcoords = [];
- current.ycoords = [];
- current.tspan = this.svgFactory.createElement("svg:tspan");
- current.tspan.setAttributeNS(null, "font-family", current.fontFamily);
- current.tspan.setAttributeNS(null, "font-size", `${pf(current.fontSize)}px`);
- current.tspan.setAttributeNS(null, "y", pf(-current.y));
- current.txtElement = this.svgFactory.createElement("svg:text");
- current.txtElement.append(current.tspan);
- }
- beginText() {
- const current = this.current;
- current.x = current.lineX = 0;
- current.y = current.lineY = 0;
- current.textMatrix = _util.IDENTITY_MATRIX;
- current.lineMatrix = _util.IDENTITY_MATRIX;
- current.textMatrixScale = 1;
- current.tspan = this.svgFactory.createElement("svg:tspan");
- current.txtElement = this.svgFactory.createElement("svg:text");
- current.txtgrp = this.svgFactory.createElement("svg:g");
- current.xcoords = [];
- current.ycoords = [];
- }
- moveText(x, y) {
- const current = this.current;
- current.x = current.lineX += x;
- current.y = current.lineY += y;
- current.xcoords = [];
- current.ycoords = [];
- current.tspan = this.svgFactory.createElement("svg:tspan");
- current.tspan.setAttributeNS(null, "font-family", current.fontFamily);
- current.tspan.setAttributeNS(null, "font-size", `${pf(current.fontSize)}px`);
- current.tspan.setAttributeNS(null, "y", pf(-current.y));
- }
- showText(glyphs) {
- const current = this.current;
- const font = current.font;
- const fontSize = current.fontSize;
- if (fontSize === 0) {
- return;
- }
- const fontSizeScale = current.fontSizeScale;
- const charSpacing = current.charSpacing;
- const wordSpacing = current.wordSpacing;
- const fontDirection = current.fontDirection;
- const textHScale = current.textHScale * fontDirection;
- const vertical = font.vertical;
- const spacingDir = vertical ? 1 : -1;
- const defaultVMetrics = font.defaultVMetrics;
- const widthAdvanceScale = fontSize * current.fontMatrix[0];
- let x = 0;
- for (const glyph of glyphs) {
- if (glyph === null) {
- x += fontDirection * wordSpacing;
- continue;
- } else if (typeof glyph === "number") {
- x += spacingDir * glyph * fontSize / 1000;
- continue;
- }
- const spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;
- const character = glyph.fontChar;
- let scaledX, scaledY;
- let width = glyph.width;
- if (vertical) {
- let vx;
- const vmetric = glyph.vmetric || defaultVMetrics;
- vx = glyph.vmetric ? vmetric[1] : width * 0.5;
- vx = -vx * widthAdvanceScale;
- const vy = vmetric[2] * widthAdvanceScale;
- width = vmetric ? -vmetric[0] : width;
- scaledX = vx / fontSizeScale;
- scaledY = (x + vy) / fontSizeScale;
- } else {
- scaledX = x / fontSizeScale;
- scaledY = 0;
- }
- if (glyph.isInFont || font.missingFile) {
- current.xcoords.push(current.x + scaledX);
- if (vertical) {
- current.ycoords.push(-current.y + scaledY);
- }
- current.tspan.textContent += character;
- } else {}
- const charWidth = vertical ? width * widthAdvanceScale - spacing * fontDirection : width * widthAdvanceScale + spacing * fontDirection;
- x += charWidth;
- }
- current.tspan.setAttributeNS(null, "x", current.xcoords.map(pf).join(" "));
- if (vertical) {
- current.tspan.setAttributeNS(null, "y", current.ycoords.map(pf).join(" "));
- } else {
- current.tspan.setAttributeNS(null, "y", pf(-current.y));
- }
- if (vertical) {
- current.y -= x;
- } else {
- current.x += x * textHScale;
- }
- current.tspan.setAttributeNS(null, "font-family", current.fontFamily);
- current.tspan.setAttributeNS(null, "font-size", `${pf(current.fontSize)}px`);
- if (current.fontStyle !== SVG_DEFAULTS.fontStyle) {
- current.tspan.setAttributeNS(null, "font-style", current.fontStyle);
- }
- if (current.fontWeight !== SVG_DEFAULTS.fontWeight) {
- current.tspan.setAttributeNS(null, "font-weight", current.fontWeight);
- }
- const fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;
- if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {
- if (current.fillColor !== SVG_DEFAULTS.fillColor) {
- current.tspan.setAttributeNS(null, "fill", current.fillColor);
- }
- if (current.fillAlpha < 1) {
- current.tspan.setAttributeNS(null, "fill-opacity", current.fillAlpha);
- }
- } else if (current.textRenderingMode === _util.TextRenderingMode.ADD_TO_PATH) {
- current.tspan.setAttributeNS(null, "fill", "transparent");
- } else {
- current.tspan.setAttributeNS(null, "fill", "none");
- }
- if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {
- const lineWidthScale = 1 / (current.textMatrixScale || 1);
- this._setStrokeAttributes(current.tspan, lineWidthScale);
- }
- let textMatrix = current.textMatrix;
- if (current.textRise !== 0) {
- textMatrix = textMatrix.slice();
- textMatrix[5] += current.textRise;
- }
- current.txtElement.setAttributeNS(null, "transform", `${pm(textMatrix)} scale(${pf(textHScale)}, -1)`);
- current.txtElement.setAttributeNS(XML_NS, "xml:space", "preserve");
- current.txtElement.append(current.tspan);
- current.txtgrp.append(current.txtElement);
- this._ensureTransformGroup().append(current.txtElement);
- }
- setLeadingMoveText(x, y) {
- this.setLeading(-y);
- this.moveText(x, y);
- }
- addFontStyle(fontObj) {
- if (!fontObj.data) {
- throw new Error("addFontStyle: No font data available, " + 'ensure that the "fontExtraProperties" API parameter is set.');
- }
- if (!this.cssStyle) {
- this.cssStyle = this.svgFactory.createElement("svg:style");
- this.cssStyle.setAttributeNS(null, "type", "text/css");
- this.defs.append(this.cssStyle);
- }
- const url = createObjectURL(fontObj.data, fontObj.mimetype, this.forceDataSchema);
- this.cssStyle.textContent += `@font-face { font-family: "${fontObj.loadedName}";` + ` src: url(${url}); }\n`;
- }
- setFont(details) {
- const current = this.current;
- const fontObj = this.commonObjs.get(details[0]);
- let size = details[1];
- current.font = fontObj;
- if (this.embedFonts && !fontObj.missingFile && !this.embeddedFonts[fontObj.loadedName]) {
- this.addFontStyle(fontObj);
- this.embeddedFonts[fontObj.loadedName] = fontObj;
- }
- current.fontMatrix = fontObj.fontMatrix || _util.FONT_IDENTITY_MATRIX;
- let bold = "normal";
- if (fontObj.black) {
- bold = "900";
- } else if (fontObj.bold) {
- bold = "bold";
- }
- const italic = fontObj.italic ? "italic" : "normal";
- if (size < 0) {
- size = -size;
- current.fontDirection = -1;
- } else {
- current.fontDirection = 1;
- }
- current.fontSize = size;
- current.fontFamily = fontObj.loadedName;
- current.fontWeight = bold;
- current.fontStyle = italic;
- current.tspan = this.svgFactory.createElement("svg:tspan");
- current.tspan.setAttributeNS(null, "y", pf(-current.y));
- current.xcoords = [];
- current.ycoords = [];
- }
- endText() {
- const current = this.current;
- if (current.textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG && current.txtElement?.hasChildNodes()) {
- current.element = current.txtElement;
- this.clip("nonzero");
- this.endPath();
- }
- }
- setLineWidth(width) {
- if (width > 0) {
- this.current.lineWidth = width;
- }
- }
- setLineCap(style) {
- this.current.lineCap = LINE_CAP_STYLES[style];
- }
- setLineJoin(style) {
- this.current.lineJoin = LINE_JOIN_STYLES[style];
- }
- setMiterLimit(limit) {
- this.current.miterLimit = limit;
- }
- setStrokeAlpha(strokeAlpha) {
- this.current.strokeAlpha = strokeAlpha;
- }
- setStrokeRGBColor(r, g, b) {
- this.current.strokeColor = _util.Util.makeHexColor(r, g, b);
- }
- setFillAlpha(fillAlpha) {
- this.current.fillAlpha = fillAlpha;
- }
- setFillRGBColor(r, g, b) {
- this.current.fillColor = _util.Util.makeHexColor(r, g, b);
- this.current.tspan = this.svgFactory.createElement("svg:tspan");
- this.current.xcoords = [];
- this.current.ycoords = [];
- }
- setStrokeColorN(args) {
- this.current.strokeColor = this._makeColorN_Pattern(args);
- }
- setFillColorN(args) {
- this.current.fillColor = this._makeColorN_Pattern(args);
- }
- shadingFill(args) {
- const {
- width,
- height
- } = this.viewport;
- const inv = _util.Util.inverseTransform(this.transformMatrix);
- const [x0, y0, x1, y1] = _util.Util.getAxialAlignedBoundingBox([0, 0, width, height], inv);
- const rect = this.svgFactory.createElement("svg:rect");
- rect.setAttributeNS(null, "x", x0);
- rect.setAttributeNS(null, "y", y0);
- rect.setAttributeNS(null, "width", x1 - x0);
- rect.setAttributeNS(null, "height", y1 - y0);
- rect.setAttributeNS(null, "fill", this._makeShadingPattern(args));
- if (this.current.fillAlpha < 1) {
- rect.setAttributeNS(null, "fill-opacity", this.current.fillAlpha);
- }
- this._ensureTransformGroup().append(rect);
- }
- _makeColorN_Pattern(args) {
- if (args[0] === "TilingPattern") {
- return this._makeTilingPattern(args);
- }
- return this._makeShadingPattern(args);
- }
- _makeTilingPattern(args) {
- const color = args[1];
- const operatorList = args[2];
- const matrix = args[3] || _util.IDENTITY_MATRIX;
- const [x0, y0, x1, y1] = args[4];
- const xstep = args[5];
- const ystep = args[6];
- const paintType = args[7];
- const tilingId = `shading${shadingCount++}`;
- const [tx0, ty0, tx1, ty1] = _util.Util.normalizeRect([..._util.Util.applyTransform([x0, y0], matrix), ..._util.Util.applyTransform([x1, y1], matrix)]);
- const [xscale, yscale] = _util.Util.singularValueDecompose2dScale(matrix);
- const txstep = xstep * xscale;
- const tystep = ystep * yscale;
- const tiling = this.svgFactory.createElement("svg:pattern");
- tiling.setAttributeNS(null, "id", tilingId);
- tiling.setAttributeNS(null, "patternUnits", "userSpaceOnUse");
- tiling.setAttributeNS(null, "width", txstep);
- tiling.setAttributeNS(null, "height", tystep);
- tiling.setAttributeNS(null, "x", `${tx0}`);
- tiling.setAttributeNS(null, "y", `${ty0}`);
- const svg = this.svg;
- const transformMatrix = this.transformMatrix;
- const fillColor = this.current.fillColor;
- const strokeColor = this.current.strokeColor;
- const bbox = this.svgFactory.create(tx1 - tx0, ty1 - ty0);
- this.svg = bbox;
- this.transformMatrix = matrix;
- if (paintType === 2) {
- const cssColor = _util.Util.makeHexColor(...color);
- this.current.fillColor = cssColor;
- this.current.strokeColor = cssColor;
- }
- this.executeOpTree(this.convertOpList(operatorList));
- this.svg = svg;
- this.transformMatrix = transformMatrix;
- this.current.fillColor = fillColor;
- this.current.strokeColor = strokeColor;
- tiling.append(bbox.childNodes[0]);
- this.defs.append(tiling);
- return `url(#${tilingId})`;
- }
- _makeShadingPattern(args) {
- if (typeof args === "string") {
- args = this.objs.get(args);
- }
- switch (args[0]) {
- case "RadialAxial":
- const shadingId = `shading${shadingCount++}`;
- const colorStops = args[3];
- let gradient;
- switch (args[1]) {
- case "axial":
- const point0 = args[4];
- const point1 = args[5];
- gradient = this.svgFactory.createElement("svg:linearGradient");
- gradient.setAttributeNS(null, "id", shadingId);
- gradient.setAttributeNS(null, "gradientUnits", "userSpaceOnUse");
- gradient.setAttributeNS(null, "x1", point0[0]);
- gradient.setAttributeNS(null, "y1", point0[1]);
- gradient.setAttributeNS(null, "x2", point1[0]);
- gradient.setAttributeNS(null, "y2", point1[1]);
- break;
- case "radial":
- const focalPoint = args[4];
- const circlePoint = args[5];
- const focalRadius = args[6];
- const circleRadius = args[7];
- gradient = this.svgFactory.createElement("svg:radialGradient");
- gradient.setAttributeNS(null, "id", shadingId);
- gradient.setAttributeNS(null, "gradientUnits", "userSpaceOnUse");
- gradient.setAttributeNS(null, "cx", circlePoint[0]);
- gradient.setAttributeNS(null, "cy", circlePoint[1]);
- gradient.setAttributeNS(null, "r", circleRadius);
- gradient.setAttributeNS(null, "fx", focalPoint[0]);
- gradient.setAttributeNS(null, "fy", focalPoint[1]);
- gradient.setAttributeNS(null, "fr", focalRadius);
- break;
- default:
- throw new Error(`Unknown RadialAxial type: ${args[1]}`);
- }
- for (const colorStop of colorStops) {
- const stop = this.svgFactory.createElement("svg:stop");
- stop.setAttributeNS(null, "offset", colorStop[0]);
- stop.setAttributeNS(null, "stop-color", colorStop[1]);
- gradient.append(stop);
- }
- this.defs.append(gradient);
- return `url(#${shadingId})`;
- case "Mesh":
- (0, _util.warn)("Unimplemented pattern Mesh");
- return null;
- case "Dummy":
- return "hotpink";
- default:
- throw new Error(`Unknown IR type: ${args[0]}`);
- }
- }
- setDash(dashArray, dashPhase) {
- this.current.dashArray = dashArray;
- this.current.dashPhase = dashPhase;
- }
- constructPath(ops, args) {
- const current = this.current;
- let x = current.x,
- y = current.y;
- let d = [];
- let j = 0;
- for (const op of ops) {
- switch (op | 0) {
- case _util.OPS.rectangle:
- x = args[j++];
- y = args[j++];
- const width = args[j++];
- const height = args[j++];
- const xw = x + width;
- const yh = y + height;
- d.push("M", pf(x), pf(y), "L", pf(xw), pf(y), "L", pf(xw), pf(yh), "L", pf(x), pf(yh), "Z");
- break;
- case _util.OPS.moveTo:
- x = args[j++];
- y = args[j++];
- d.push("M", pf(x), pf(y));
- break;
- case _util.OPS.lineTo:
- x = args[j++];
- y = args[j++];
- d.push("L", pf(x), pf(y));
- break;
- case _util.OPS.curveTo:
- x = args[j + 4];
- y = args[j + 5];
- d.push("C", pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3]), pf(x), pf(y));
- j += 6;
- break;
- case _util.OPS.curveTo2:
- d.push("C", pf(x), pf(y), pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3]));
- x = args[j + 2];
- y = args[j + 3];
- j += 4;
- break;
- case _util.OPS.curveTo3:
- x = args[j + 2];
- y = args[j + 3];
- d.push("C", pf(args[j]), pf(args[j + 1]), pf(x), pf(y), pf(x), pf(y));
- j += 4;
- break;
- case _util.OPS.closePath:
- d.push("Z");
- break;
- }
- }
- d = d.join(" ");
- if (current.path && ops.length > 0 && ops[0] !== _util.OPS.rectangle && ops[0] !== _util.OPS.moveTo) {
- d = current.path.getAttributeNS(null, "d") + d;
- } else {
- current.path = this.svgFactory.createElement("svg:path");
- this._ensureTransformGroup().append(current.path);
- }
- current.path.setAttributeNS(null, "d", d);
- current.path.setAttributeNS(null, "fill", "none");
- current.element = current.path;
- current.setCurrentPoint(x, y);
- }
- endPath() {
- const current = this.current;
- current.path = null;
- if (!this.pendingClip) {
- return;
- }
- if (!current.element) {
- this.pendingClip = null;
- return;
- }
- const clipId = `clippath${clipCount++}`;
- const clipPath = this.svgFactory.createElement("svg:clipPath");
- clipPath.setAttributeNS(null, "id", clipId);
- clipPath.setAttributeNS(null, "transform", pm(this.transformMatrix));
- const clipElement = current.element.cloneNode(true);
- if (this.pendingClip === "evenodd") {
- clipElement.setAttributeNS(null, "clip-rule", "evenodd");
- } else {
- clipElement.setAttributeNS(null, "clip-rule", "nonzero");
- }
- this.pendingClip = null;
- clipPath.append(clipElement);
- this.defs.append(clipPath);
- if (current.activeClipUrl) {
- current.clipGroup = null;
- for (const prev of this.extraStack) {
- prev.clipGroup = null;
- }
- clipPath.setAttributeNS(null, "clip-path", current.activeClipUrl);
- }
- current.activeClipUrl = `url(#${clipId})`;
- this.tgrp = null;
- }
- clip(type) {
- this.pendingClip = type;
- }
- closePath() {
- const current = this.current;
- if (current.path) {
- const d = `${current.path.getAttributeNS(null, "d")}Z`;
- current.path.setAttributeNS(null, "d", d);
- }
- }
- setLeading(leading) {
- this.current.leading = -leading;
- }
- setTextRise(textRise) {
- this.current.textRise = textRise;
- }
- setTextRenderingMode(textRenderingMode) {
- this.current.textRenderingMode = textRenderingMode;
- }
- setHScale(scale) {
- this.current.textHScale = scale / 100;
- }
- setRenderingIntent(intent) {}
- setFlatness(flatness) {}
- setGState(states) {
- for (const [key, value] of states) {
- switch (key) {
- case "LW":
- this.setLineWidth(value);
- break;
- case "LC":
- this.setLineCap(value);
- break;
- case "LJ":
- this.setLineJoin(value);
- break;
- case "ML":
- this.setMiterLimit(value);
- break;
- case "D":
- this.setDash(value[0], value[1]);
- break;
- case "RI":
- this.setRenderingIntent(value);
- break;
- case "FL":
- this.setFlatness(value);
- break;
- case "Font":
- this.setFont(value);
- break;
- case "CA":
- this.setStrokeAlpha(value);
- break;
- case "ca":
- this.setFillAlpha(value);
- break;
- default:
- (0, _util.warn)(`Unimplemented graphic state operator ${key}`);
- break;
- }
- }
- }
- fill() {
- const current = this.current;
- if (current.element) {
- current.element.setAttributeNS(null, "fill", current.fillColor);
- current.element.setAttributeNS(null, "fill-opacity", current.fillAlpha);
- this.endPath();
- }
- }
- stroke() {
- const current = this.current;
- if (current.element) {
- this._setStrokeAttributes(current.element);
- current.element.setAttributeNS(null, "fill", "none");
- this.endPath();
- }
- }
- _setStrokeAttributes(element) {
- let lineWidthScale = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
- const current = this.current;
- let dashArray = current.dashArray;
- if (lineWidthScale !== 1 && dashArray.length > 0) {
- dashArray = dashArray.map(function (value) {
- return lineWidthScale * value;
- });
- }
- element.setAttributeNS(null, "stroke", current.strokeColor);
- element.setAttributeNS(null, "stroke-opacity", current.strokeAlpha);
- element.setAttributeNS(null, "stroke-miterlimit", pf(current.miterLimit));
- element.setAttributeNS(null, "stroke-linecap", current.lineCap);
- element.setAttributeNS(null, "stroke-linejoin", current.lineJoin);
- element.setAttributeNS(null, "stroke-width", pf(lineWidthScale * current.lineWidth) + "px");
- element.setAttributeNS(null, "stroke-dasharray", dashArray.map(pf).join(" "));
- element.setAttributeNS(null, "stroke-dashoffset", pf(lineWidthScale * current.dashPhase) + "px");
- }
- eoFill() {
- this.current.element?.setAttributeNS(null, "fill-rule", "evenodd");
- this.fill();
- }
- fillStroke() {
- this.stroke();
- this.fill();
- }
- eoFillStroke() {
- this.current.element?.setAttributeNS(null, "fill-rule", "evenodd");
- this.fillStroke();
- }
- closeStroke() {
- this.closePath();
- this.stroke();
- }
- closeFillStroke() {
- this.closePath();
- this.fillStroke();
- }
- closeEOFillStroke() {
- this.closePath();
- this.eoFillStroke();
- }
- paintSolidColorImageMask() {
- const rect = this.svgFactory.createElement("svg:rect");
- rect.setAttributeNS(null, "x", "0");
- rect.setAttributeNS(null, "y", "0");
- rect.setAttributeNS(null, "width", "1px");
- rect.setAttributeNS(null, "height", "1px");
- rect.setAttributeNS(null, "fill", this.current.fillColor);
- this._ensureTransformGroup().append(rect);
- }
- paintImageXObject(objId) {
- const imgData = this.getObject(objId);
- if (!imgData) {
- (0, _util.warn)(`Dependent image with object ID ${objId} is not ready yet`);
- return;
- }
- this.paintInlineImageXObject(imgData);
- }
- paintInlineImageXObject(imgData, mask) {
- const width = imgData.width;
- const height = imgData.height;
- const imgSrc = convertImgDataToPng(imgData, this.forceDataSchema, !!mask);
- const cliprect = this.svgFactory.createElement("svg:rect");
- cliprect.setAttributeNS(null, "x", "0");
- cliprect.setAttributeNS(null, "y", "0");
- cliprect.setAttributeNS(null, "width", pf(width));
- cliprect.setAttributeNS(null, "height", pf(height));
- this.current.element = cliprect;
- this.clip("nonzero");
- const imgEl = this.svgFactory.createElement("svg:image");
- imgEl.setAttributeNS(XLINK_NS, "xlink:href", imgSrc);
- imgEl.setAttributeNS(null, "x", "0");
- imgEl.setAttributeNS(null, "y", pf(-height));
- imgEl.setAttributeNS(null, "width", pf(width) + "px");
- imgEl.setAttributeNS(null, "height", pf(height) + "px");
- imgEl.setAttributeNS(null, "transform", `scale(${pf(1 / width)} ${pf(-1 / height)})`);
- if (mask) {
- mask.append(imgEl);
- } else {
- this._ensureTransformGroup().append(imgEl);
- }
- }
- paintImageMaskXObject(img) {
- const imgData = this.getObject(img.data, img);
- if (imgData.bitmap) {
- (0, _util.warn)("paintImageMaskXObject: ImageBitmap support is not implemented, " + "ensure that the `isOffscreenCanvasSupported` API parameter is disabled.");
- return;
- }
- const current = this.current;
- const width = imgData.width;
- const height = imgData.height;
- const fillColor = current.fillColor;
- current.maskId = `mask${maskCount++}`;
- const mask = this.svgFactory.createElement("svg:mask");
- mask.setAttributeNS(null, "id", current.maskId);
- const rect = this.svgFactory.createElement("svg:rect");
- rect.setAttributeNS(null, "x", "0");
- rect.setAttributeNS(null, "y", "0");
- rect.setAttributeNS(null, "width", pf(width));
- rect.setAttributeNS(null, "height", pf(height));
- rect.setAttributeNS(null, "fill", fillColor);
- rect.setAttributeNS(null, "mask", `url(#${current.maskId})`);
- this.defs.append(mask);
- this._ensureTransformGroup().append(rect);
- this.paintInlineImageXObject(imgData, mask);
- }
- paintFormXObjectBegin(matrix, bbox) {
- if (Array.isArray(matrix) && matrix.length === 6) {
- this.transform(matrix[0], matrix[1], matrix[2], matrix[3], matrix[4], matrix[5]);
- }
- if (bbox) {
- const width = bbox[2] - bbox[0];
- const height = bbox[3] - bbox[1];
- const cliprect = this.svgFactory.createElement("svg:rect");
- cliprect.setAttributeNS(null, "x", bbox[0]);
- cliprect.setAttributeNS(null, "y", bbox[1]);
- cliprect.setAttributeNS(null, "width", pf(width));
- cliprect.setAttributeNS(null, "height", pf(height));
- this.current.element = cliprect;
- this.clip("nonzero");
- this.endPath();
- }
- }
- paintFormXObjectEnd() {}
- _initialize(viewport) {
- const svg = this.svgFactory.create(viewport.width, viewport.height);
- const definitions = this.svgFactory.createElement("svg:defs");
- svg.append(definitions);
- this.defs = definitions;
- const rootGroup = this.svgFactory.createElement("svg:g");
- rootGroup.setAttributeNS(null, "transform", pm(viewport.transform));
- svg.append(rootGroup);
- this.svg = rootGroup;
- return svg;
- }
- _ensureClipGroup() {
- if (!this.current.clipGroup) {
- const clipGroup = this.svgFactory.createElement("svg:g");
- clipGroup.setAttributeNS(null, "clip-path", this.current.activeClipUrl);
- this.svg.append(clipGroup);
- this.current.clipGroup = clipGroup;
- }
- return this.current.clipGroup;
- }
- _ensureTransformGroup() {
- if (!this.tgrp) {
- this.tgrp = this.svgFactory.createElement("svg:g");
- this.tgrp.setAttributeNS(null, "transform", pm(this.transformMatrix));
- if (this.current.activeClipUrl) {
- this._ensureClipGroup().append(this.tgrp);
- } else {
- this.svg.append(this.tgrp);
- }
- }
- return this.tgrp;
- }
-}
-exports.SVGGraphics = SVGGraphics;
-
-/***/ }),
-/* 186 */
-/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-"use strict";
-
-var $ = __w_pdfjs_require__(3);
-var $group = __w_pdfjs_require__(187);
-var addToUnscopables = __w_pdfjs_require__(192);
-$({
- target: 'Array',
- proto: true
-}, {
- group: function group(callbackfn) {
- var thisArg = arguments.length > 1 ? arguments[1] : undefined;
- return $group(this, callbackfn, thisArg);
- }
-});
-addToUnscopables('group');
-
-/***/ }),
-/* 187 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var bind = __w_pdfjs_require__(99);
-var uncurryThis = __w_pdfjs_require__(14);
-var IndexedObject = __w_pdfjs_require__(13);
-var toObject = __w_pdfjs_require__(40);
-var toPropertyKey = __w_pdfjs_require__(18);
-var lengthOfArrayLike = __w_pdfjs_require__(64);
-var objectCreate = __w_pdfjs_require__(188);
-var arrayFromConstructorAndList = __w_pdfjs_require__(108);
-var $Array = Array;
-var push = uncurryThis([].push);
-module.exports = function ($this, callbackfn, that, specificConstructor) {
- var O = toObject($this);
- var self = IndexedObject(O);
- var boundFunction = bind(callbackfn, that);
- var target = objectCreate(null);
- var length = lengthOfArrayLike(self);
- var index = 0;
- var Constructor, key, value;
- for (; length > index; index++) {
- value = self[index];
- key = toPropertyKey(boundFunction(value, index, O));
- if (key in target)
- push(target[key], value);
- else
- target[key] = [value];
- }
- if (specificConstructor) {
- Constructor = specificConstructor(O);
- if (Constructor !== $Array) {
- for (key in target)
- target[key] = arrayFromConstructorAndList(Constructor, target[key]);
- }
- }
- return target;
-};
-
-/***/ }),
-/* 188 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var anObject = __w_pdfjs_require__(47);
-var definePropertiesModule = __w_pdfjs_require__(189);
-var enumBugKeys = __w_pdfjs_require__(66);
-var hiddenKeys = __w_pdfjs_require__(55);
-var html = __w_pdfjs_require__(191);
-var documentCreateElement = __w_pdfjs_require__(43);
-var sharedKey = __w_pdfjs_require__(54);
-var GT = '>';
-var LT = '<';
-var PROTOTYPE = 'prototype';
-var SCRIPT = 'script';
-var IE_PROTO = sharedKey('IE_PROTO');
-var EmptyConstructor = function () {
-};
-var scriptTag = function (content) {
- return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;
-};
-var NullProtoObjectViaActiveX = function (activeXDocument) {
- activeXDocument.write(scriptTag(''));
- activeXDocument.close();
- var temp = activeXDocument.parentWindow.Object;
- activeXDocument = null;
- return temp;
-};
-var NullProtoObjectViaIFrame = function () {
- var iframe = documentCreateElement('iframe');
- var JS = 'java' + SCRIPT + ':';
- var iframeDocument;
- iframe.style.display = 'none';
- html.appendChild(iframe);
- iframe.src = String(JS);
- iframeDocument = iframe.contentWindow.document;
- iframeDocument.open();
- iframeDocument.write(scriptTag('document.F=Object'));
- iframeDocument.close();
- return iframeDocument.F;
-};
-var activeXDocument;
-var NullProtoObject = function () {
- try {
- activeXDocument = new ActiveXObject('htmlfile');
- } catch (error) {
- }
- NullProtoObject = typeof document != 'undefined' ? document.domain && activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame() : NullProtoObjectViaActiveX(activeXDocument);
- var length = enumBugKeys.length;
- while (length--)
- delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];
- return NullProtoObject();
-};
-hiddenKeys[IE_PROTO] = true;
-module.exports = Object.create || function create(O, Properties) {
- var result;
- if (O !== null) {
- EmptyConstructor[PROTOTYPE] = anObject(O);
- result = new EmptyConstructor();
- EmptyConstructor[PROTOTYPE] = null;
- result[IE_PROTO] = O;
- } else
- result = NullProtoObject();
- return Properties === undefined ? result : definePropertiesModule.f(result, Properties);
-};
-
-/***/ }),
-/* 189 */
-/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {
-
-var DESCRIPTORS = __w_pdfjs_require__(6);
-var V8_PROTOTYPE_DEFINE_BUG = __w_pdfjs_require__(46);
-var definePropertyModule = __w_pdfjs_require__(45);
-var anObject = __w_pdfjs_require__(47);
-var toIndexedObject = __w_pdfjs_require__(12);
-var objectKeys = __w_pdfjs_require__(190);
-exports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {
- anObject(O);
- var props = toIndexedObject(Properties);
- var keys = objectKeys(Properties);
- var length = keys.length;
- var index = 0;
- var key;
- while (length > index)
- definePropertyModule.f(O, key = keys[index++], props[key]);
- return O;
-};
-
-/***/ }),
-/* 190 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var internalObjectKeys = __w_pdfjs_require__(59);
-var enumBugKeys = __w_pdfjs_require__(66);
-module.exports = Object.keys || function keys(O) {
- return internalObjectKeys(O, enumBugKeys);
-};
-
-/***/ }),
-/* 191 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var getBuiltIn = __w_pdfjs_require__(24);
-module.exports = getBuiltIn('document', 'documentElement');
-
-/***/ }),
-/* 192 */
-/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {
-
-var wellKnownSymbol = __w_pdfjs_require__(34);
-var create = __w_pdfjs_require__(188);
-var defineProperty = (__w_pdfjs_require__(45).f);
-var UNSCOPABLES = wellKnownSymbol('unscopables');
-var ArrayPrototype = Array.prototype;
-if (ArrayPrototype[UNSCOPABLES] == undefined) {
- defineProperty(ArrayPrototype, UNSCOPABLES, {
- configurable: true,
- value: create(null)
- });
-}
-module.exports = function (key) {
- ArrayPrototype[UNSCOPABLES][key] = true;
-};
-
-/***/ }),
-/* 193 */
-/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", ({
- value: true
-}));
-exports.XfaText = void 0;
-__w_pdfjs_require__(89);
-class XfaText {
- static textContent(xfa) {
- const items = [];
- const output = {
- items,
- styles: Object.create(null)
- };
- function walk(node) {
- if (!node) {
- return;
- }
- let str = null;
- const name = node.name;
- if (name === "#text") {
- str = node.value;
- } else if (!XfaText.shouldBuildText(name)) {
- return;
- } else if (node?.attributes?.textContent) {
- str = node.attributes.textContent;
- } else if (node.value) {
- str = node.value;
- }
- if (str !== null) {
- items.push({
- str
- });
- }
- if (!node.children) {
- return;
- }
- for (const child of node.children) {
- walk(child);
- }
- }
- walk(xfa);
- return output;
- }
- static shouldBuildText(name) {
- return !(name === "textarea" || name === "input" || name === "option" || name === "select");
- }
-}
-exports.XfaText = XfaText;
-
-/***/ }),
-/* 194 */
-/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", ({
- value: true
-}));
-exports.TextLayerRenderTask = void 0;
-exports.renderTextLayer = renderTextLayer;
-exports.updateTextLayer = updateTextLayer;
-__w_pdfjs_require__(89);
-__w_pdfjs_require__(2);
-var _util = __w_pdfjs_require__(1);
-var _display_utils = __w_pdfjs_require__(167);
-const MAX_TEXT_DIVS_TO_RENDER = 100000;
-const DEFAULT_FONT_SIZE = 30;
-const DEFAULT_FONT_ASCENT = 0.8;
-const ascentCache = new Map();
-function getCtx(size, isOffscreenCanvasSupported) {
- let ctx;
- if (isOffscreenCanvasSupported && _util.FeatureTest.isOffscreenCanvasSupported) {
- ctx = new OffscreenCanvas(size, size).getContext("2d", {
- alpha: false
- });
- } else {
- const canvas = document.createElement("canvas");
- canvas.width = canvas.height = size;
- ctx = canvas.getContext("2d", {
- alpha: false
- });
- }
- return ctx;
-}
-function getAscent(fontFamily, isOffscreenCanvasSupported) {
- const cachedAscent = ascentCache.get(fontFamily);
- if (cachedAscent) {
- return cachedAscent;
- }
- const ctx = getCtx(DEFAULT_FONT_SIZE, isOffscreenCanvasSupported);
- ctx.font = `${DEFAULT_FONT_SIZE}px ${fontFamily}`;
- const metrics = ctx.measureText("");
- let ascent = metrics.fontBoundingBoxAscent;
- let descent = Math.abs(metrics.fontBoundingBoxDescent);
- if (ascent) {
- const ratio = ascent / (ascent + descent);
- ascentCache.set(fontFamily, ratio);
- ctx.canvas.width = ctx.canvas.height = 0;
- return ratio;
- }
- ctx.strokeStyle = "red";
- ctx.clearRect(0, 0, DEFAULT_FONT_SIZE, DEFAULT_FONT_SIZE);
- ctx.strokeText("g", 0, 0);
- let pixels = ctx.getImageData(0, 0, DEFAULT_FONT_SIZE, DEFAULT_FONT_SIZE).data;
- descent = 0;
- for (let i = pixels.length - 1 - 3; i >= 0; i -= 4) {
- if (pixels[i] > 0) {
- descent = Math.ceil(i / 4 / DEFAULT_FONT_SIZE);
- break;
- }
- }
- ctx.clearRect(0, 0, DEFAULT_FONT_SIZE, DEFAULT_FONT_SIZE);
- ctx.strokeText("A", 0, DEFAULT_FONT_SIZE);
- pixels = ctx.getImageData(0, 0, DEFAULT_FONT_SIZE, DEFAULT_FONT_SIZE).data;
- ascent = 0;
- for (let i = 0, ii = pixels.length; i < ii; i += 4) {
- if (pixels[i] > 0) {
- ascent = DEFAULT_FONT_SIZE - Math.floor(i / 4 / DEFAULT_FONT_SIZE);
- break;
- }
- }
- ctx.canvas.width = ctx.canvas.height = 0;
- if (ascent) {
- const ratio = ascent / (ascent + descent);
- ascentCache.set(fontFamily, ratio);
- return ratio;
- }
- ascentCache.set(fontFamily, DEFAULT_FONT_ASCENT);
- return DEFAULT_FONT_ASCENT;
-}
-function appendText(task, geom, styles) {
- const textDiv = document.createElement("span");
- const textDivProperties = {
- angle: 0,
- canvasWidth: 0,
- hasText: geom.str !== "",
- hasEOL: geom.hasEOL,
- fontSize: 0
- };
- task._textDivs.push(textDiv);
- const tx = _util.Util.transform(task._transform, geom.transform);
- let angle = Math.atan2(tx[1], tx[0]);
- const style = styles[geom.fontName];
- if (style.vertical) {
- angle += Math.PI / 2;
- }
- const fontHeight = Math.hypot(tx[2], tx[3]);
- const fontAscent = fontHeight * getAscent(style.fontFamily, task._isOffscreenCanvasSupported);
- let left, top;
- if (angle === 0) {
- left = tx[4];
- top = tx[5] - fontAscent;
- } else {
- left = tx[4] + fontAscent * Math.sin(angle);
- top = tx[5] - fontAscent * Math.cos(angle);
- }
- const scaleFactorStr = "calc(var(--scale-factor)*";
- const divStyle = textDiv.style;
- if (task._container === task._rootContainer) {
- divStyle.left = `${(100 * left / task._pageWidth).toFixed(2)}%`;
- divStyle.top = `${(100 * top / task._pageHeight).toFixed(2)}%`;
- } else {
- divStyle.left = `${scaleFactorStr}${left.toFixed(2)}px)`;
- divStyle.top = `${scaleFactorStr}${top.toFixed(2)}px)`;
- }
- divStyle.fontSize = `${scaleFactorStr}${fontHeight.toFixed(2)}px)`;
- divStyle.fontFamily = style.fontFamily;
- textDivProperties.fontSize = fontHeight;
- textDiv.setAttribute("role", "presentation");
- textDiv.textContent = geom.str;
- textDiv.dir = geom.dir;
- if (task._fontInspectorEnabled) {
- textDiv.dataset.fontName = geom.fontName;
- }
- if (angle !== 0) {
- textDivProperties.angle = angle * (180 / Math.PI);
- }
- let shouldScaleText = false;
- if (geom.str.length > 1) {
- shouldScaleText = true;
- } else if (geom.str !== " " && geom.transform[0] !== geom.transform[3]) {
- const absScaleX = Math.abs(geom.transform[0]),
- absScaleY = Math.abs(geom.transform[3]);
- if (absScaleX !== absScaleY && Math.max(absScaleX, absScaleY) / Math.min(absScaleX, absScaleY) > 1.5) {
- shouldScaleText = true;
- }
- }
- if (shouldScaleText) {
- textDivProperties.canvasWidth = style.vertical ? geom.height : geom.width;
- }
- task._textDivProperties.set(textDiv, textDivProperties);
- if (task._isReadableStream) {
- task._layoutText(textDiv);
- }
-}
-function layout(params) {
- const {
- div,
- scale,
- properties,
- ctx,
- prevFontSize,
- prevFontFamily
- } = params;
- const {
- style
- } = div;
- let transform = "";
- if (properties.canvasWidth !== 0 && properties.hasText) {
- const {
- fontFamily
- } = style;
- const {
- canvasWidth,
- fontSize
- } = properties;
- if (prevFontSize !== fontSize || prevFontFamily !== fontFamily) {
- ctx.font = `${fontSize * scale}px ${fontFamily}`;
- params.prevFontSize = fontSize;
- params.prevFontFamily = fontFamily;
- }
- const {
- width
- } = ctx.measureText(div.textContent);
- if (width > 0) {
- transform = `scaleX(${canvasWidth * scale / width})`;
- }
- }
- if (properties.angle !== 0) {
- transform = `rotate(${properties.angle}deg) ${transform}`;
- }
- if (transform.length > 0) {
- style.transform = transform;
- }
-}
-function render(task) {
- if (task._canceled) {
- return;
- }
- const textDivs = task._textDivs;
- const capability = task._capability;
- const textDivsLength = textDivs.length;
- if (textDivsLength > MAX_TEXT_DIVS_TO_RENDER) {
- capability.resolve();
- return;
- }
- if (!task._isReadableStream) {
- for (const textDiv of textDivs) {
- task._layoutText(textDiv);
- }
- }
- capability.resolve();
-}
-class TextLayerRenderTask {
- constructor(_ref) {
- let {
- textContentSource,
- container,
- viewport,
- textDivs,
- textDivProperties,
- textContentItemsStr,
- isOffscreenCanvasSupported
- } = _ref;
- this._textContentSource = textContentSource;
- this._isReadableStream = textContentSource instanceof ReadableStream;
- this._container = this._rootContainer = container;
- this._textDivs = textDivs || [];
- this._textContentItemsStr = textContentItemsStr || [];
- this._isOffscreenCanvasSupported = isOffscreenCanvasSupported;
- this._fontInspectorEnabled = !!globalThis.FontInspector?.enabled;
- this._reader = null;
- this._textDivProperties = textDivProperties || new WeakMap();
- this._canceled = false;
- this._capability = new _util.PromiseCapability();
- this._layoutTextParams = {
- prevFontSize: null,
- prevFontFamily: null,
- div: null,
- scale: viewport.scale * (globalThis.devicePixelRatio || 1),
- properties: null,
- ctx: getCtx(0, isOffscreenCanvasSupported)
- };
- const {
- pageWidth,
- pageHeight,
- pageX,
- pageY
- } = viewport.rawDims;
- this._transform = [1, 0, 0, -1, -pageX, pageY + pageHeight];
- this._pageWidth = pageWidth;
- this._pageHeight = pageHeight;
- (0, _display_utils.setLayerDimensions)(container, viewport);
- this._capability.promise.finally(() => {
- this._layoutTextParams = null;
- }).catch(() => {});
- }
- get promise() {
- return this._capability.promise;
- }
- cancel() {
- this._canceled = true;
- if (this._reader) {
- this._reader.cancel(new _util.AbortException("TextLayer task cancelled.")).catch(() => {});
- this._reader = null;
- }
- this._capability.reject(new _util.AbortException("TextLayer task cancelled."));
- }
- _processItems(items, styleCache) {
- for (const item of items) {
- if (item.str === undefined) {
- if (item.type === "beginMarkedContentProps" || item.type === "beginMarkedContent") {
- const parent = this._container;
- this._container = document.createElement("span");
- this._container.classList.add("markedContent");
- if (item.id !== null) {
- this._container.setAttribute("id", `${item.id}`);
- }
- parent.append(this._container);
- } else if (item.type === "endMarkedContent") {
- this._container = this._container.parentNode;
- }
- continue;
- }
- this._textContentItemsStr.push(item.str);
- appendText(this, item, styleCache);
- }
- }
- _layoutText(textDiv) {
- const textDivProperties = this._layoutTextParams.properties = this._textDivProperties.get(textDiv);
- this._layoutTextParams.div = textDiv;
- layout(this._layoutTextParams);
- if (textDivProperties.hasText) {
- this._container.append(textDiv);
- }
- if (textDivProperties.hasEOL) {
- const br = document.createElement("br");
- br.setAttribute("role", "presentation");
- this._container.append(br);
- }
- }
- _render() {
- const capability = new _util.PromiseCapability();
- let styleCache = Object.create(null);
- if (this._isReadableStream) {
- const pump = () => {
- this._reader.read().then(_ref2 => {
- let {
- value,
- done
- } = _ref2;
- if (done) {
- capability.resolve();
- return;
- }
- Object.assign(styleCache, value.styles);
- this._processItems(value.items, styleCache);
- pump();
- }, capability.reject);
- };
- this._reader = this._textContentSource.getReader();
- pump();
- } else if (this._textContentSource) {
- const {
- items,
- styles
- } = this._textContentSource;
- this._processItems(items, styles);
- capability.resolve();
- } else {
- throw new Error('No "textContentSource" parameter specified.');
- }
- capability.promise.then(() => {
- styleCache = null;
- render(this);
- }, this._capability.reject);
- }
-}
-exports.TextLayerRenderTask = TextLayerRenderTask;
-function renderTextLayer(params) {
- if (!params.textContentSource && (params.textContent || params.textContentStream)) {
- (0, _display_utils.deprecated)("The TextLayerRender `textContent`/`textContentStream` parameters " + "will be removed in the future, please use `textContentSource` instead.");
- params.textContentSource = params.textContent || params.textContentStream;
- }
- const {
- container,
- viewport
- } = params;
- const style = getComputedStyle(container);
- const visibility = style.getPropertyValue("visibility");
- const scaleFactor = parseFloat(style.getPropertyValue("--scale-factor"));
- if (visibility === "visible" && (!scaleFactor || Math.abs(scaleFactor - viewport.scale) > 1e-5)) {
- console.error("The `--scale-factor` CSS-variable must be set, " + "to the same value as `viewport.scale`, " + "either on the `container`-element itself or higher up in the DOM.");
- }
- const task = new TextLayerRenderTask(params);
- task._render();
- return task;
-}
-function updateTextLayer(_ref3) {
- let {
- container,
- viewport,
- textDivs,
- textDivProperties,
- isOffscreenCanvasSupported,
- mustRotate = true,
- mustRescale = true
- } = _ref3;
- if (mustRotate) {
- (0, _display_utils.setLayerDimensions)(container, {
- rotation: viewport.rotation
- });
- }
- if (mustRescale) {
- const ctx = getCtx(0, isOffscreenCanvasSupported);
- const scale = viewport.scale * (globalThis.devicePixelRatio || 1);
- const params = {
- prevFontSize: null,
- prevFontFamily: null,
- div: null,
- scale,
- properties: null,
- ctx
- };
- for (const div of textDivs) {
- params.properties = textDivProperties.get(div);
- params.div = div;
- layout(params);
- }
- }
-}
-
-/***/ }),
-/* 195 */
-/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", ({
- value: true
-}));
-exports.AnnotationEditorLayer = void 0;
-__w_pdfjs_require__(125);
-__w_pdfjs_require__(135);
-__w_pdfjs_require__(137);
-__w_pdfjs_require__(140);
-__w_pdfjs_require__(142);
-__w_pdfjs_require__(144);
-__w_pdfjs_require__(146);
-var _util = __w_pdfjs_require__(1);
-var _editor = __w_pdfjs_require__(163);
-var _tools = __w_pdfjs_require__(164);
-var _freetext = __w_pdfjs_require__(196);
-var _ink = __w_pdfjs_require__(201);
-var _display_utils = __w_pdfjs_require__(167);
-var _stamp = __w_pdfjs_require__(202);
-class AnnotationEditorLayer {
- #accessibilityManager;
- #allowClick = false;
- #annotationLayer = null;
- #boundPointerup = this.pointerup.bind(this);
- #boundPointerdown = this.pointerdown.bind(this);
- #editors = new Map();
- #hadPointerDown = false;
- #isCleaningUp = false;
- #isDisabling = false;
- #uiManager;
- static _initialized = false;
- constructor(_ref) {
- let {
- uiManager,
- pageIndex,
- div,
- accessibilityManager,
- annotationLayer,
- viewport,
- l10n
- } = _ref;
- const editorTypes = [_freetext.FreeTextEditor, _ink.InkEditor, _stamp.StampEditor];
- if (!AnnotationEditorLayer._initialized) {
- AnnotationEditorLayer._initialized = true;
- for (const editorType of editorTypes) {
- editorType.initialize(l10n);
- }
- }
- uiManager.registerEditorTypes(editorTypes);
- this.#uiManager = uiManager;
- this.pageIndex = pageIndex;
- this.div = div;
- this.#accessibilityManager = accessibilityManager;
- this.#annotationLayer = annotationLayer;
- this.viewport = viewport;
- this.#uiManager.addLayer(this);
- }
- get isEmpty() {
- return this.#editors.size === 0;
- }
- updateToolbar(mode) {
- this.#uiManager.updateToolbar(mode);
- }
- updateMode() {
- let mode = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.#uiManager.getMode();
- this.#cleanup();
- if (mode === _util.AnnotationEditorType.INK) {
- this.addInkEditorIfNeeded(false);
- this.disableClick();
- } else {
- this.enableClick();
- }
- this.#uiManager.unselectAll();
- if (mode !== _util.AnnotationEditorType.NONE) {
- this.div.classList.toggle("freeTextEditing", mode === _util.AnnotationEditorType.FREETEXT);
- this.div.classList.toggle("inkEditing", mode === _util.AnnotationEditorType.INK);
- this.div.classList.toggle("stampEditing", mode === _util.AnnotationEditorType.STAMP);
- this.div.hidden = false;
- }
- }
- addInkEditorIfNeeded(isCommitting) {
- if (!isCommitting && this.#uiManager.getMode() !== _util.AnnotationEditorType.INK) {
- return;
- }
- if (!isCommitting) {
- for (const editor of this.#editors.values()) {
- if (editor.isEmpty()) {
- editor.setInBackground();
- return;
- }
- }
- }
- const editor = this.#createAndAddNewEditor({
- offsetX: 0,
- offsetY: 0
- });
- editor.setInBackground();
- }
- setEditingState(isEditing) {
- this.#uiManager.setEditingState(isEditing);
- }
- addCommands(params) {
- this.#uiManager.addCommands(params);
- }
- enable() {
- this.div.style.pointerEvents = "auto";
- const annotationElementIds = new Set();
- for (const editor of this.#editors.values()) {
- editor.enableEditing();
- if (editor.annotationElementId) {
- annotationElementIds.add(editor.annotationElementId);
- }
- }
- if (!this.#annotationLayer) {
- return;
- }
- const editables = this.#annotationLayer.getEditableAnnotations();
- for (const editable of editables) {
- editable.hide();
- if (this.#uiManager.isDeletedAnnotationElement(editable.data.id)) {
- continue;
- }
- if (annotationElementIds.has(editable.data.id)) {
- continue;
- }
- const editor = this.deserialize(editable);
- if (!editor) {
- continue;
- }
- this.addOrRebuild(editor);
- editor.enableEditing();
- }
- }
- disable() {
- this.#isDisabling = true;
- this.div.style.pointerEvents = "none";
- const hiddenAnnotationIds = new Set();
- for (const editor of this.#editors.values()) {
- editor.disableEditing();
- if (!editor.annotationElementId || editor.serialize() !== null) {
- hiddenAnnotationIds.add(editor.annotationElementId);
- continue;
- }
- this.getEditableAnnotation(editor.annotationElementId)?.show();
- editor.remove();
- }
- if (this.#annotationLayer) {
- const editables = this.#annotationLayer.getEditableAnnotations();
- for (const editable of editables) {
- const {
- id
- } = editable.data;
- if (hiddenAnnotationIds.has(id) || this.#uiManager.isDeletedAnnotationElement(id)) {
- continue;
- }
- editable.show();
- }
- }
- this.#cleanup();
- if (this.isEmpty) {
- this.div.hidden = true;
- }
- this.#isDisabling = false;
- }
- getEditableAnnotation(id) {
- return this.#annotationLayer?.getEditableAnnotation(id) || null;
- }
- setActiveEditor(editor) {
- const currentActive = this.#uiManager.getActive();
- if (currentActive === editor) {
- return;
- }
- this.#uiManager.setActiveEditor(editor);
- }
- enableClick() {
- this.div.addEventListener("pointerdown", this.#boundPointerdown);
- this.div.addEventListener("pointerup", this.#boundPointerup);
- }
- disableClick() {
- this.div.removeEventListener("pointerdown", this.#boundPointerdown);
- this.div.removeEventListener("pointerup", this.#boundPointerup);
- }
- attach(editor) {
- this.#editors.set(editor.id, editor);
- const {
- annotationElementId
- } = editor;
- if (annotationElementId && this.#uiManager.isDeletedAnnotationElement(annotationElementId)) {
- this.#uiManager.removeDeletedAnnotationElement(editor);
- }
- }
- detach(editor) {
- this.#editors.delete(editor.id);
- this.#accessibilityManager?.removePointerInTextLayer(editor.contentDiv);
- if (!this.#isDisabling && editor.annotationElementId) {
- this.#uiManager.addDeletedAnnotationElement(editor);
- }
- }
- remove(editor) {
- this.detach(editor);
- this.#uiManager.removeEditor(editor);
- editor.div.style.display = "none";
- setTimeout(() => {
- editor.div.style.display = "";
- editor.div.remove();
- editor.isAttachedToDOM = false;
- if (document.activeElement === document.body) {
- this.#uiManager.focusMainContainer();
- }
- }, 0);
- if (!this.#isCleaningUp) {
- this.addInkEditorIfNeeded(false);
- }
- }
- #changeParent(editor) {
- if (editor.parent === this) {
- return;
- }
- if (editor.annotationElementId) {
- this.#uiManager.addDeletedAnnotationElement(editor.annotationElementId);
- _editor.AnnotationEditor.deleteAnnotationElement(editor);
- editor.annotationElementId = null;
- }
- this.attach(editor);
- editor.parent?.detach(editor);
- editor.setParent(this);
- if (editor.div && editor.isAttachedToDOM) {
- editor.div.remove();
- this.div.append(editor.div);
- }
- }
- add(editor) {
- this.#changeParent(editor);
- this.#uiManager.addEditor(editor);
- this.attach(editor);
- if (!editor.isAttachedToDOM) {
- const div = editor.render();
- this.div.append(div);
- editor.isAttachedToDOM = true;
- }
- this.moveEditorInDOM(editor);
- editor.onceAdded();
- this.#uiManager.addToAnnotationStorage(editor);
- }
- moveEditorInDOM(editor) {
- this.#accessibilityManager?.moveElementInDOM(this.div, editor.div, editor.contentDiv, true);
- }
- addOrRebuild(editor) {
- if (editor.needsToBeRebuilt()) {
- editor.rebuild();
- } else {
- this.add(editor);
- }
- }
- addUndoableEditor(editor) {
- const cmd = () => {
- this.addOrRebuild(editor);
- };
- const undo = () => {
- editor.remove();
- };
- this.addCommands({
- cmd,
- undo,
- mustExec: false
- });
- }
- getNextId() {
- return this.#uiManager.getId();
- }
- #createNewEditor(params) {
- switch (this.#uiManager.getMode()) {
- case _util.AnnotationEditorType.FREETEXT:
- return new _freetext.FreeTextEditor(params);
- case _util.AnnotationEditorType.INK:
- return new _ink.InkEditor(params);
- case _util.AnnotationEditorType.STAMP:
- return new _stamp.StampEditor(params);
- }
- return null;
- }
- deserialize(data) {
- switch (data.annotationType ?? data.annotationEditorType) {
- case _util.AnnotationEditorType.FREETEXT:
- return _freetext.FreeTextEditor.deserialize(data, this, this.#uiManager);
- case _util.AnnotationEditorType.INK:
- return _ink.InkEditor.deserialize(data, this, this.#uiManager);
- case _util.AnnotationEditorType.STAMP:
- return _stamp.StampEditor.deserialize(data, this, this.#uiManager);
- }
- return null;
- }
- #createAndAddNewEditor(event) {
- const id = this.getNextId();
- const editor = this.#createNewEditor({
- parent: this,
- id,
- x: event.offsetX,
- y: event.offsetY,
- uiManager: this.#uiManager
- });
- if (editor) {
- this.add(editor);
- }
- return editor;
- }
- setSelected(editor) {
- this.#uiManager.setSelected(editor);
- }
- toggleSelected(editor) {
- this.#uiManager.toggleSelected(editor);
- }
- isSelected(editor) {
- return this.#uiManager.isSelected(editor);
- }
- unselect(editor) {
- this.#uiManager.unselect(editor);
- }
- pointerup(event) {
- const {
- isMac
- } = _util.FeatureTest.platform;
- if (event.button !== 0 || event.ctrlKey && isMac) {
- return;
- }
- if (event.target !== this.div) {
- return;
- }
- if (!this.#hadPointerDown) {
- return;
- }
- this.#hadPointerDown = false;
- if (!this.#allowClick) {
- this.#allowClick = true;
- return;
- }
- this.#createAndAddNewEditor(event);
- }
- pointerdown(event) {
- if (this.#hadPointerDown) {
- this.#hadPointerDown = false;
- return;
- }
- const {
- isMac
- } = _util.FeatureTest.platform;
- if (event.button !== 0 || event.ctrlKey && isMac) {
- return;
- }
- if (event.target !== this.div) {
- return;
- }
- this.#hadPointerDown = true;
- const editor = this.#uiManager.getActive();
- this.#allowClick = !editor || editor.isEmpty();
- }
- drop(event) {
- const id = event.dataTransfer.getData("text/plain");
- const editor = this.#uiManager.getEditor(id);
- if (!editor) {
- return;
- }
- event.preventDefault();
- event.dataTransfer.dropEffect = "move";
- this.#changeParent(editor);
- const rect = this.div.getBoundingClientRect();
- const endX = event.clientX - rect.x;
- const endY = event.clientY - rect.y;
- editor.translate(endX - editor.startX, endY - editor.startY);
- this.moveEditorInDOM(editor);
- editor.div.focus();
- }
- dragover(event) {
- event.preventDefault();
- }
- destroy() {
- if (this.#uiManager.getActive()?.parent === this) {
- this.#uiManager.setActiveEditor(null);
- }
- for (const editor of this.#editors.values()) {
- this.#accessibilityManager?.removePointerInTextLayer(editor.contentDiv);
- editor.setParent(null);
- editor.isAttachedToDOM = false;
- editor.div.remove();
- }
- this.div = null;
- this.#editors.clear();
- this.#uiManager.removeLayer(this);
- }
- #cleanup() {
- this.#isCleaningUp = true;
- for (const editor of this.#editors.values()) {
- if (editor.isEmpty()) {
- editor.remove();
- }
- }
- this.#isCleaningUp = false;
- }
- render(_ref2) {
- let {
- viewport
- } = _ref2;
- this.viewport = viewport;
- (0, _display_utils.setLayerDimensions)(this.div, viewport);
- (0, _tools.bindEvents)(this, this.div, ["dragover", "drop"]);
- for (const editor of this.#uiManager.getEditors(this.pageIndex)) {
- this.add(editor);
- }
- this.updateMode();
- }
- update(_ref3) {
- let {
- viewport
- } = _ref3;
- this.#uiManager.commitOrRemove();
- this.viewport = viewport;
- (0, _display_utils.setLayerDimensions)(this.div, {
- rotation: viewport.rotation
- });
- this.updateMode();
- }
- get pageDimensions() {
- const {
- pageWidth,
- pageHeight
- } = this.viewport.rawDims;
- return [pageWidth, pageHeight];
- }
-}
-exports.AnnotationEditorLayer = AnnotationEditorLayer;
-
-/***/ }),
-/* 196 */
-/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", ({
- value: true
-}));
-exports.FreeTextEditor = void 0;
-__w_pdfjs_require__(89);
-var _util = __w_pdfjs_require__(1);
-var _tools = __w_pdfjs_require__(164);
-var _editor = __w_pdfjs_require__(163);
-var _annotation_layer = __w_pdfjs_require__(197);
-class FreeTextEditor extends _editor.AnnotationEditor {
- #boundEditorDivBlur = this.editorDivBlur.bind(this);
- #boundEditorDivFocus = this.editorDivFocus.bind(this);
- #boundEditorDivInput = this.editorDivInput.bind(this);
- #boundEditorDivKeydown = this.editorDivKeydown.bind(this);
- #color;
- #content = "";
- #editorDivId = `${this.id}-editor`;
- #fontSize;
- #initialData = null;
- static _freeTextDefaultContent = "";
- static _l10nPromise;
- static _internalPadding = 0;
- static _defaultColor = null;
- static _defaultFontSize = 10;
- static get _keyboardManager() {
- const proto = FreeTextEditor.prototype;
- const arrowChecker = self => self.isEmpty();
- const small = _tools.AnnotationEditorUIManager.TRANSLATE_SMALL;
- const big = _tools.AnnotationEditorUIManager.TRANSLATE_BIG;
- return (0, _util.shadow)(this, "_keyboardManager", new _tools.KeyboardManager([[["ctrl+s", "mac+meta+s", "ctrl+p", "mac+meta+p"], proto.commitOrRemove, {
- bubbles: true
- }], [["ctrl+Enter", "mac+meta+Enter", "Escape", "mac+Escape"], proto.commitOrRemove], [["ArrowLeft", "mac+ArrowLeft"], proto._translateEmpty, {
- args: [-small, 0],
- checker: arrowChecker
- }], [["ctrl+ArrowLeft", "mac+shift+ArrowLeft"], proto._translateEmpty, {
- args: [-big, 0],
- checker: arrowChecker
- }], [["ArrowRight", "mac+ArrowRight"], proto._translateEmpty, {
- args: [small, 0],
- checker: arrowChecker
- }], [["ctrl+ArrowRight", "mac+shift+ArrowRight"], proto._translateEmpty, {
- args: [big, 0],
- checker: arrowChecker
- }], [["ArrowUp", "mac+ArrowUp"], proto._translateEmpty, {
- args: [0, -small],
- checker: arrowChecker
- }], [["ctrl+ArrowUp", "mac+shift+ArrowUp"], proto._translateEmpty, {
- args: [0, -big],
- checker: arrowChecker
- }], [["ArrowDown", "mac+ArrowDown"], proto._translateEmpty, {
- args: [0, small],
- checker: arrowChecker
- }], [["ctrl+ArrowDown", "mac+shift+ArrowDown"], proto._translateEmpty, {
- args: [0, big],
- checker: arrowChecker
- }]]));
- }
- static _type = "freetext";
- constructor(params) {
- super({
- ...params,
- name: "freeTextEditor"
- });
- this.#color = params.color || FreeTextEditor._defaultColor || _editor.AnnotationEditor._defaultLineColor;
- this.#fontSize = params.fontSize || FreeTextEditor._defaultFontSize;
- }
- static initialize(l10n) {
- this._l10nPromise = new Map(["free_text2_default_content", "editor_free_text2_aria_label"].map(str => [str, l10n.get(str)]));
- const style = getComputedStyle(document.documentElement);
- this._internalPadding = parseFloat(style.getPropertyValue("--freetext-padding"));
- }
- static updateDefaultParams(type, value) {
- switch (type) {
- case _util.AnnotationEditorParamsType.FREETEXT_SIZE:
- FreeTextEditor._defaultFontSize = value;
- break;
- case _util.AnnotationEditorParamsType.FREETEXT_COLOR:
- FreeTextEditor._defaultColor = value;
- break;
- }
- }
- updateParams(type, value) {
- switch (type) {
- case _util.AnnotationEditorParamsType.FREETEXT_SIZE:
- this.#updateFontSize(value);
- break;
- case _util.AnnotationEditorParamsType.FREETEXT_COLOR:
- this.#updateColor(value);
- break;
- }
- }
- static get defaultPropertiesToUpdate() {
- return [[_util.AnnotationEditorParamsType.FREETEXT_SIZE, FreeTextEditor._defaultFontSize], [_util.AnnotationEditorParamsType.FREETEXT_COLOR, FreeTextEditor._defaultColor || _editor.AnnotationEditor._defaultLineColor]];
- }
- get propertiesToUpdate() {
- return [[_util.AnnotationEditorParamsType.FREETEXT_SIZE, this.#fontSize], [_util.AnnotationEditorParamsType.FREETEXT_COLOR, this.#color]];
- }
- #updateFontSize(fontSize) {
- const setFontsize = size => {
- this.editorDiv.style.fontSize = `calc(${size}px * var(--scale-factor))`;
- this.translate(0, -(size - this.#fontSize) * this.parentScale);
- this.#fontSize = size;
- this.#setEditorDimensions();
- };
- const savedFontsize = this.#fontSize;
- this.addCommands({
- cmd: () => {
- setFontsize(fontSize);
- },
- undo: () => {
- setFontsize(savedFontsize);
- },
- mustExec: true,
- type: _util.AnnotationEditorParamsType.FREETEXT_SIZE,
- overwriteIfSameType: true,
- keepUndo: true
- });
- }
- #updateColor(color) {
- const savedColor = this.#color;
- this.addCommands({
- cmd: () => {
- this.#color = this.editorDiv.style.color = color;
- },
- undo: () => {
- this.#color = this.editorDiv.style.color = savedColor;
- },
- mustExec: true,
- type: _util.AnnotationEditorParamsType.FREETEXT_COLOR,
- overwriteIfSameType: true,
- keepUndo: true
- });
- }
- _translateEmpty(x, y) {
- this._uiManager.translateSelectedEditors(x, y, true);
- }
- getInitialTranslation() {
- const scale = this.parentScale;
- return [-FreeTextEditor._internalPadding * scale, -(FreeTextEditor._internalPadding + this.#fontSize) * scale];
- }
- rebuild() {
- super.rebuild();
- if (this.div === null) {
- return;
- }
- if (!this.isAttachedToDOM) {
- this.parent.add(this);
- }
- }
- enableEditMode() {
- if (this.isInEditMode()) {
- return;
- }
- this.parent.setEditingState(false);
- this.parent.updateToolbar(_util.AnnotationEditorType.FREETEXT);
- super.enableEditMode();
- this.overlayDiv.classList.remove("enabled");
- this.editorDiv.contentEditable = true;
- this.div.draggable = false;
- this.div.removeAttribute("aria-activedescendant");
- this.editorDiv.addEventListener("keydown", this.#boundEditorDivKeydown);
- this.editorDiv.addEventListener("focus", this.#boundEditorDivFocus);
- this.editorDiv.addEventListener("blur", this.#boundEditorDivBlur);
- this.editorDiv.addEventListener("input", this.#boundEditorDivInput);
- }
- disableEditMode() {
- if (!this.isInEditMode()) {
- return;
- }
- this.parent.setEditingState(true);
- super.disableEditMode();
- this.overlayDiv.classList.add("enabled");
- this.editorDiv.contentEditable = false;
- this.div.setAttribute("aria-activedescendant", this.#editorDivId);
- this.div.draggable = true;
- this.editorDiv.removeEventListener("keydown", this.#boundEditorDivKeydown);
- this.editorDiv.removeEventListener("focus", this.#boundEditorDivFocus);
- this.editorDiv.removeEventListener("blur", this.#boundEditorDivBlur);
- this.editorDiv.removeEventListener("input", this.#boundEditorDivInput);
- this.div.focus({
- preventScroll: true
- });
- this.isEditing = false;
- this.parent.div.classList.add("freeTextEditing");
- }
- focusin(event) {
- super.focusin(event);
- if (event.target !== this.editorDiv) {
- this.editorDiv.focus();
- }
- }
- onceAdded() {
- if (this.width) {
- this.#cheatInitialRect();
- return;
- }
- this.enableEditMode();
- this.editorDiv.focus();
- }
- isEmpty() {
- return !this.editorDiv || this.editorDiv.innerText.trim() === "";
- }
- remove() {
- this.isEditing = false;
- if (this.parent) {
- this.parent.setEditingState(true);
- this.parent.div.classList.add("freeTextEditing");
- }
- super.remove();
- }
- #extractText() {
- const divs = this.editorDiv.getElementsByTagName("div");
- if (divs.length === 0) {
- return this.editorDiv.innerText;
- }
- const buffer = [];
- for (const div of divs) {
- buffer.push(div.innerText.replace(/\r\n?|\n/, ""));
- }
- return buffer.join("\n");
- }
- #setEditorDimensions() {
- const [parentWidth, parentHeight] = this.parentDimensions;
- let rect;
- if (this.isAttachedToDOM) {
- rect = this.div.getBoundingClientRect();
- } else {
- const {
- currentLayer,
- div
- } = this;
- const savedDisplay = div.style.display;
- div.style.display = "hidden";
- currentLayer.div.append(this.div);
- rect = div.getBoundingClientRect();
- div.remove();
- div.style.display = savedDisplay;
- }
- if (this.rotation % 180 === this.parentRotation % 180) {
- this.width = rect.width / parentWidth;
- this.height = rect.height / parentHeight;
- } else {
- this.width = rect.height / parentWidth;
- this.height = rect.width / parentHeight;
- }
- this.fixAndSetPosition();
- }
- commit() {
- if (!this.isInEditMode()) {
- return;
- }
- super.commit();
- this.disableEditMode();
- const savedText = this.#content;
- const newText = this.#content = this.#extractText().trimEnd();
- if (savedText === newText) {
- return;
- }
- const setText = text => {
- this.#content = text;
- if (!text) {
- this.remove();
- return;
- }
- this.#setContent();
- this.rebuild();
- this.#setEditorDimensions();
- };
- this.addCommands({
- cmd: () => {
- setText(newText);
- },
- undo: () => {
- setText(savedText);
- },
- mustExec: false
- });
- this.#setEditorDimensions();
- }
- shouldGetKeyboardEvents() {
- return this.isInEditMode();
- }
- enterInEditMode() {
- this.enableEditMode();
- this.editorDiv.focus();
- }
- dblclick(event) {
- this.enterInEditMode();
- }
- keydown(event) {
- if (event.target === this.div && event.key === "Enter") {
- this.enterInEditMode();
- }
- }
- editorDivKeydown(event) {
- FreeTextEditor._keyboardManager.exec(this, event);
- }
- editorDivFocus(event) {
- this.isEditing = true;
- }
- editorDivBlur(event) {
- this.isEditing = false;
- }
- editorDivInput(event) {
- 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", true);
- }
- render() {
- if (this.div) {
- return this.div;
- }
- let baseX, baseY;
- if (this.width) {
- baseX = this.x;
- baseY = this.y;
- }
- super.render();
- this.editorDiv = document.createElement("div");
- this.editorDiv.className = "internal";
- this.editorDiv.setAttribute("id", this.#editorDivId);
- this.enableEditing();
- FreeTextEditor._l10nPromise.get("editor_free_text2_aria_label").then(msg => this.editorDiv?.setAttribute("aria-label", msg));
- FreeTextEditor._l10nPromise.get("free_text2_default_content").then(msg => this.editorDiv?.setAttribute("default-content", msg));
- this.editorDiv.contentEditable = true;
- const {
- style
- } = this.editorDiv;
- style.fontSize = `calc(${this.#fontSize}px * var(--scale-factor))`;
- style.color = this.#color;
- this.div.append(this.editorDiv);
- this.overlayDiv = document.createElement("div");
- this.overlayDiv.classList.add("overlay", "enabled");
- this.div.append(this.overlayDiv);
- (0, _tools.bindEvents)(this, this.div, ["dblclick", "keydown"]);
- if (this.width) {
- const [parentWidth, parentHeight] = this.parentDimensions;
- if (this.annotationElementId) {
- const {
- position
- } = this.#initialData;
- let [tx, ty] = this.getInitialTranslation();
- [tx, ty] = this.pageTranslationToScreen(tx, ty);
- const [pageWidth, pageHeight] = this.pageDimensions;
- const [pageX, pageY] = this.pageTranslation;
- let posX, posY;
- switch (this.rotation) {
- case 0:
- posX = baseX + (position[0] - pageX) / pageWidth;
- posY = baseY + this.height - (position[1] - pageY) / pageHeight;
- break;
- case 90:
- posX = baseX + (position[0] - pageX) / pageWidth;
- posY = baseY - (position[1] - pageY) / pageHeight;
- [tx, ty] = [ty, -tx];
- break;
- case 180:
- posX = baseX - this.width + (position[0] - pageX) / pageWidth;
- posY = baseY - (position[1] - pageY) / pageHeight;
- [tx, ty] = [-tx, -ty];
- break;
- case 270:
- posX = baseX + (position[0] - pageX - this.height * pageHeight) / pageWidth;
- posY = baseY + (position[1] - pageY - this.width * pageWidth) / pageHeight;
- [tx, ty] = [-ty, tx];
- break;
- }
- this.setAt(posX * parentWidth, posY * parentHeight, tx, ty);
- } else {
- this.setAt(baseX * parentWidth, baseY * parentHeight, this.width * parentWidth, this.height * parentHeight);
- }
- this.#setContent();
- this.div.draggable = true;
- this.editorDiv.contentEditable = false;
- } else {
- this.div.draggable = false;
- this.editorDiv.contentEditable = true;
- }
- return this.div;
- }
- #setContent() {
- this.editorDiv.replaceChildren();
- if (!this.#content) {
- return;
- }
- for (const line of this.#content.split("\n")) {
- const div = document.createElement("div");
- div.append(line ? document.createTextNode(line) : document.createElement("br"));
- this.editorDiv.append(div);
- }
- }
- get contentDiv() {
- return this.editorDiv;
- }
- static deserialize(data, parent, uiManager) {
- let initialData = null;
- if (data instanceof _annotation_layer.FreeTextAnnotationElement) {
- const {
- data: {
- defaultAppearanceData: {
- fontSize,
- fontColor
- },
- rect,
- rotation,
- id
- },
- textContent,
- textPosition,
- parent: {
- page: {
- pageNumber
- }
- }
- } = data;
- if (!textContent || textContent.length === 0) {
- return null;
- }
- initialData = data = {
- annotationType: _util.AnnotationEditorType.FREETEXT,
- color: Array.from(fontColor),
- fontSize,
- value: textContent.join("\n"),
- position: textPosition,
- pageIndex: pageNumber - 1,
- rect,
- rotation,
- id,
- deleted: false
- };
- }
- const editor = super.deserialize(data, parent, uiManager);
- editor.#fontSize = data.fontSize;
- editor.#color = _util.Util.makeHexColor(...data.color);
- editor.#content = data.value;
- editor.annotationElementId = data.id || null;
- editor.#initialData = initialData;
- return editor;
- }
- serialize() {
- let isForCopying = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
- if (this.isEmpty()) {
- return null;
- }
- if (this.deleted) {
- return {
- pageIndex: this.pageIndex,
- id: this.annotationElementId,
- deleted: true
- };
- }
- const padding = FreeTextEditor._internalPadding * this.parentScale;
- const rect = this.getRect(padding, padding);
- const color = _editor.AnnotationEditor._colorManager.convert(this.isAttachedToDOM ? getComputedStyle(this.editorDiv).color : this.#color);
- const serialized = {
- annotationType: _util.AnnotationEditorType.FREETEXT,
- color,
- fontSize: this.#fontSize,
- value: this.#content,
- pageIndex: this.pageIndex,
- rect,
- rotation: this.rotation
- };
- if (isForCopying) {
- return serialized;
- }
- if (this.annotationElementId && !this.#hasElementChanged(serialized)) {
- return null;
- }
- serialized.id = this.annotationElementId;
- return serialized;
- }
- #hasElementChanged(serialized) {
- const {
- value,
- fontSize,
- color,
- rect,
- pageIndex
- } = this.#initialData;
- return serialized.value !== value || serialized.fontSize !== fontSize || serialized.rect.some((x, i) => Math.abs(x - rect[i]) >= 1) || serialized.color.some((c, i) => c !== color[i]) || serialized.pageIndex !== pageIndex;
- }
- #cheatInitialRect() {
- let delayed = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
- if (!this.annotationElementId) {
- return;
- }
- this.#setEditorDimensions();
- if (!delayed && (this.width === 0 || this.height === 0)) {
- setTimeout(() => this.#cheatInitialRect(true), 0);
- return;
- }
- const padding = FreeTextEditor._internalPadding * this.parentScale;
- this.#initialData.rect = this.getRect(padding, padding);
- }
-}
-exports.FreeTextEditor = FreeTextEditor;
-
-/***/ }),
-/* 197 */
-/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", ({
- value: true
-}));
-exports.StampAnnotationElement = exports.InkAnnotationElement = exports.FreeTextAnnotationElement = exports.AnnotationLayer = void 0;
-__w_pdfjs_require__(89);
-__w_pdfjs_require__(125);
-__w_pdfjs_require__(135);
-__w_pdfjs_require__(137);
-__w_pdfjs_require__(140);
-__w_pdfjs_require__(142);
-__w_pdfjs_require__(144);
-__w_pdfjs_require__(146);
-var _util = __w_pdfjs_require__(1);
-var _display_utils = __w_pdfjs_require__(167);
-var _annotation_storage = __w_pdfjs_require__(162);
-var _scripting_utils = __w_pdfjs_require__(198);
-var _displayL10n_utils = __w_pdfjs_require__(199);
-var _xfa_layer = __w_pdfjs_require__(200);
-const DEFAULT_TAB_INDEX = 1000;
-const DEFAULT_FONT_SIZE = 9;
-const GetElementsByNameSet = new WeakSet();
-function getRectDims(rect) {
- return {
- width: rect[2] - rect[0],
- height: rect[3] - rect[1]
- };
-}
-class AnnotationElementFactory {
- static create(parameters) {
- const subtype = parameters.data.annotationType;
- switch (subtype) {
- case _util.AnnotationType.LINK:
- return new LinkAnnotationElement(parameters);
- case _util.AnnotationType.TEXT:
- return new TextAnnotationElement(parameters);
- case _util.AnnotationType.WIDGET:
- const fieldType = parameters.data.fieldType;
- switch (fieldType) {
- case "Tx":
- return new TextWidgetAnnotationElement(parameters);
- case "Btn":
- if (parameters.data.radioButton) {
- return new RadioButtonWidgetAnnotationElement(parameters);
- } else if (parameters.data.checkBox) {
- return new CheckboxWidgetAnnotationElement(parameters);
- }
- return new PushButtonWidgetAnnotationElement(parameters);
- case "Ch":
- return new ChoiceWidgetAnnotationElement(parameters);
- case "Sig":
- return new SignatureWidgetAnnotationElement(parameters);
- }
- return new WidgetAnnotationElement(parameters);
- case _util.AnnotationType.POPUP:
- return new PopupAnnotationElement(parameters);
- case _util.AnnotationType.FREETEXT:
- return new FreeTextAnnotationElement(parameters);
- case _util.AnnotationType.LINE:
- return new LineAnnotationElement(parameters);
- case _util.AnnotationType.SQUARE:
- return new SquareAnnotationElement(parameters);
- case _util.AnnotationType.CIRCLE:
- return new CircleAnnotationElement(parameters);
- case _util.AnnotationType.POLYLINE:
- return new PolylineAnnotationElement(parameters);
- case _util.AnnotationType.CARET:
- return new CaretAnnotationElement(parameters);
- case _util.AnnotationType.INK:
- return new InkAnnotationElement(parameters);
- case _util.AnnotationType.POLYGON:
- return new PolygonAnnotationElement(parameters);
- case _util.AnnotationType.HIGHLIGHT:
- return new HighlightAnnotationElement(parameters);
- case _util.AnnotationType.UNDERLINE:
- return new UnderlineAnnotationElement(parameters);
- case _util.AnnotationType.SQUIGGLY:
- return new SquigglyAnnotationElement(parameters);
- case _util.AnnotationType.STRIKEOUT:
- return new StrikeOutAnnotationElement(parameters);
- case _util.AnnotationType.STAMP:
- return new StampAnnotationElement(parameters);
- case _util.AnnotationType.FILEATTACHMENT:
- return new FileAttachmentAnnotationElement(parameters);
- default:
- return new AnnotationElement(parameters);
- }
- }
-}
-class AnnotationElement {
- #hasBorder = false;
- constructor(parameters) {
- let {
- isRenderable = false,
- ignoreBorder = false,
- createQuadrilaterals = false
- } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
- this.isRenderable = isRenderable;
- this.data = parameters.data;
- this.layer = parameters.layer;
- this.linkService = parameters.linkService;
- this.downloadManager = parameters.downloadManager;
- this.imageResourcesPath = parameters.imageResourcesPath;
- this.renderForms = parameters.renderForms;
- this.svgFactory = parameters.svgFactory;
- this.annotationStorage = parameters.annotationStorage;
- this.enableScripting = parameters.enableScripting;
- this.hasJSActions = parameters.hasJSActions;
- this._fieldObjects = parameters.fieldObjects;
- this.parent = parameters.parent;
- if (isRenderable) {
- this.container = this._createContainer(ignoreBorder);
- }
- if (createQuadrilaterals) {
- this._createQuadrilaterals();
- }
- }
- _createContainer(ignoreBorder) {
- const {
- data,
- parent: {
- page,
- viewport
- }
- } = this;
- const container = document.createElement("section");
- container.setAttribute("data-annotation-id", data.id);
- container.style.zIndex = this.parent.zIndex++;
- if (this.data.popupRef) {
- container.setAttribute("aria-haspopup", "dialog");
- }
- if (data.noRotate) {
- container.classList.add("norotate");
- }
- const {
- pageWidth,
- pageHeight,
- pageX,
- pageY
- } = viewport.rawDims;
- if (!data.rect || this instanceof PopupAnnotationElement) {
- const {
- rotation
- } = data;
- if (!data.hasOwnCanvas && rotation !== 0) {
- this.setRotation(rotation, container);
- }
- return container;
- }
- const {
- width,
- height
- } = getRectDims(data.rect);
- const rect = _util.Util.normalizeRect([data.rect[0], page.view[3] - data.rect[1] + page.view[1], data.rect[2], page.view[3] - data.rect[3] + page.view[1]]);
- if (!ignoreBorder && data.borderStyle.width > 0) {
- container.style.borderWidth = `${data.borderStyle.width}px`;
- const horizontalRadius = data.borderStyle.horizontalCornerRadius;
- const verticalRadius = data.borderStyle.verticalCornerRadius;
- if (horizontalRadius > 0 || verticalRadius > 0) {
- const radius = `calc(${horizontalRadius}px * var(--scale-factor)) / calc(${verticalRadius}px * var(--scale-factor))`;
- container.style.borderRadius = radius;
- } else if (this instanceof RadioButtonWidgetAnnotationElement) {
- const radius = `calc(${width}px * var(--scale-factor)) / calc(${height}px * var(--scale-factor))`;
- container.style.borderRadius = radius;
- }
- switch (data.borderStyle.style) {
- case _util.AnnotationBorderStyleType.SOLID:
- container.style.borderStyle = "solid";
- break;
- case _util.AnnotationBorderStyleType.DASHED:
- container.style.borderStyle = "dashed";
- break;
- case _util.AnnotationBorderStyleType.BEVELED:
- (0, _util.warn)("Unimplemented border style: beveled");
- break;
- case _util.AnnotationBorderStyleType.INSET:
- (0, _util.warn)("Unimplemented border style: inset");
- break;
- case _util.AnnotationBorderStyleType.UNDERLINE:
- container.style.borderBottomStyle = "solid";
- break;
- default:
- break;
- }
- const borderColor = data.borderColor || null;
- if (borderColor) {
- this.#hasBorder = true;
- container.style.borderColor = _util.Util.makeHexColor(borderColor[0] | 0, borderColor[1] | 0, borderColor[2] | 0);
- } else {
- container.style.borderWidth = 0;
- }
- }
- container.style.left = `${100 * (rect[0] - pageX) / pageWidth}%`;
- container.style.top = `${100 * (rect[1] - pageY) / pageHeight}%`;
- const {
- rotation
- } = data;
- if (data.hasOwnCanvas || rotation === 0) {
- container.style.width = `${100 * width / pageWidth}%`;
- container.style.height = `${100 * height / pageHeight}%`;
- } else {
- this.setRotation(rotation, container);
- }
- return container;
- }
- setRotation(angle) {
- let container = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.container;
- if (!this.data.rect) {
- return;
- }
- const {
- pageWidth,
- pageHeight
- } = this.parent.viewport.rawDims;
- const {
- width,
- height
- } = getRectDims(this.data.rect);
- let elementWidth, elementHeight;
- if (angle % 180 === 0) {
- elementWidth = 100 * width / pageWidth;
- elementHeight = 100 * height / pageHeight;
- } else {
- elementWidth = 100 * height / pageWidth;
- elementHeight = 100 * width / pageHeight;
- }
- container.style.width = `${elementWidth}%`;
- container.style.height = `${elementHeight}%`;
- container.setAttribute("data-main-rotation", (360 - angle) % 360);
- }
- get _commonActions() {
- const setColor = (jsName, styleName, event) => {
- const color = event.detail[jsName];
- event.target.style[styleName] = _scripting_utils.ColorConverters[`${color[0]}_HTML`](color.slice(1));
- };
- return (0, _util.shadow)(this, "_commonActions", {
- display: event => {
- const hidden = event.detail.display % 2 === 1;
- this.container.style.visibility = hidden ? "hidden" : "visible";
- this.annotationStorage.setValue(this.data.id, {
- hidden,
- print: event.detail.display === 0 || event.detail.display === 3
- });
- },
- print: event => {
- this.annotationStorage.setValue(this.data.id, {
- print: event.detail.print
- });
- },
- hidden: event => {
- this.container.style.visibility = event.detail.hidden ? "hidden" : "visible";
- this.annotationStorage.setValue(this.data.id, {
- hidden: event.detail.hidden
- });
- },
- focus: event => {
- setTimeout(() => event.target.focus({
- preventScroll: false
- }), 0);
- },
- userName: event => {
- event.target.title = event.detail.userName;
- },
- readonly: event => {
- if (event.detail.readonly) {
- event.target.setAttribute("readonly", "");
- } else {
- event.target.removeAttribute("readonly");
- }
- },
- required: event => {
- this._setRequired(event.target, event.detail.required);
- },
- bgColor: event => {
- setColor("bgColor", "backgroundColor", event);
- },
- fillColor: event => {
- setColor("fillColor", "backgroundColor", event);
- },
- fgColor: event => {
- setColor("fgColor", "color", event);
- },
- textColor: event => {
- setColor("textColor", "color", event);
- },
- borderColor: event => {
- setColor("borderColor", "borderColor", event);
- },
- strokeColor: event => {
- setColor("strokeColor", "borderColor", event);
- },
- rotation: event => {
- const angle = event.detail.rotation;
- this.setRotation(angle);
- this.annotationStorage.setValue(this.data.id, {
- rotation: angle
- });
- }
- });
- }
- _dispatchEventFromSandbox(actions, jsEvent) {
- const commonActions = this._commonActions;
- for (const name of Object.keys(jsEvent.detail)) {
- const action = actions[name] || commonActions[name];
- action?.(jsEvent);
- }
- }
- _setDefaultPropertiesFromJS(element) {
- if (!this.enableScripting) {
- return;
- }
- const storedData = this.annotationStorage.getRawValue(this.data.id);
- if (!storedData) {
- return;
- }
- const commonActions = this._commonActions;
- for (const [actionName, detail] of Object.entries(storedData)) {
- const action = commonActions[actionName];
- if (action) {
- const eventProxy = {
- detail: {
- [actionName]: detail
- },
- target: element
- };
- action(eventProxy);
- delete storedData[actionName];
- }
- }
- }
- _createQuadrilaterals() {
- if (!this.container) {
- return;
- }
- const {
- quadPoints
- } = this.data;
- if (!quadPoints) {
- return;
- }
- const [rectBlX, rectBlY, rectTrX, rectTrY] = this.data.rect;
- if (quadPoints.length === 1) {
- const [, {
- x: trX,
- y: trY
- }, {
- x: blX,
- y: blY
- }] = quadPoints[0];
- if (rectTrX === trX && rectTrY === trY && rectBlX === blX && rectBlY === blY) {
- return;
- }
- }
- const {
- style
- } = this.container;
- let svgBuffer;
- if (this.#hasBorder) {
- const {
- borderColor,
- borderWidth
- } = style;
- style.borderWidth = 0;
- svgBuffer = ["url('data:image/svg+xml;utf8,", `')`);
- style.backgroundImage = svgBuffer.join("");
- }
- this.container.append(svg);
- this.container.style.clipPath = `url(#${id})`;
- }
- _createPopup() {
- const {
- container,
- data
- } = this;
- container.setAttribute("aria-haspopup", "dialog");
- const popup = new PopupAnnotationElement({
- data: {
- color: data.color,
- titleObj: data.titleObj,
- modificationDate: data.modificationDate,
- contentsObj: data.contentsObj,
- richText: data.richText,
- parentRect: data.rect,
- borderStyle: 0,
- id: `popup_${data.id}`,
- rotation: data.rotation
- },
- parent: this.parent,
- elements: [this]
- });
- this.parent.div.append(popup.render());
- }
- render() {
- (0, _util.unreachable)("Abstract method `AnnotationElement.render` called");
- }
- _getElementsByName(name) {
- let skipId = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
- const fields = [];
- if (this._fieldObjects) {
- const fieldObj = this._fieldObjects[name];
- if (fieldObj) {
- for (const {
- page,
- id,
- exportValues
- } of fieldObj) {
- if (page === -1) {
- continue;
- }
- if (id === skipId) {
- continue;
- }
- const exportValue = typeof exportValues === "string" ? exportValues : null;
- const domElement = document.querySelector(`[data-element-id="${id}"]`);
- if (domElement && !GetElementsByNameSet.has(domElement)) {
- (0, _util.warn)(`_getElementsByName - element not allowed: ${id}`);
- continue;
- }
- fields.push({
- id,
- exportValue,
- domElement
- });
- }
- }
- return fields;
- }
- for (const domElement of document.getElementsByName(name)) {
- const {
- exportValue
- } = domElement;
- const id = domElement.getAttribute("data-element-id");
- if (id === skipId) {
- continue;
- }
- if (!GetElementsByNameSet.has(domElement)) {
- continue;
- }
- fields.push({
- id,
- exportValue,
- domElement
- });
- }
- return fields;
- }
- show() {
- if (this.container) {
- this.container.hidden = false;
- }
- this.popup?.maybeShow();
- }
- hide() {
- if (this.container) {
- this.container.hidden = true;
- }
- this.popup?.forceHide();
- }
- getElementsToTriggerPopup() {
- return this.container;
- }
- addHighlightArea() {
- const triggers = this.getElementsToTriggerPopup();
- if (Array.isArray(triggers)) {
- for (const element of triggers) {
- element.classList.add("highlightArea");
- }
- } else {
- triggers.classList.add("highlightArea");
- }
- }
- _editOnDoubleClick() {
- const {
- annotationEditorType: mode,
- data: {
- id: editId
- }
- } = this;
- this.container.addEventListener("dblclick", () => {
- this.linkService.eventBus?.dispatch("switchannotationeditormode", {
- source: this,
- mode,
- editId
- });
- });
- }
-}
-class LinkAnnotationElement extends AnnotationElement {
- constructor(parameters) {
- let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
- super(parameters, {
- isRenderable: true,
- ignoreBorder: !!options?.ignoreBorder,
- createQuadrilaterals: true
- });
- this.isTooltipOnly = parameters.data.isTooltipOnly;
- }
- render() {
- const {
- data,
- linkService
- } = this;
- const link = document.createElement("a");
- link.setAttribute("data-element-id", data.id);
- let isBound = false;
- if (data.url) {
- linkService.addLinkAttributes(link, data.url, data.newWindow);
- isBound = true;
- } else if (data.action) {
- this._bindNamedAction(link, data.action);
- isBound = true;
- } else if (data.attachment) {
- this._bindAttachment(link, data.attachment);
- isBound = true;
- } else if (data.setOCGState) {
- this.#bindSetOCGState(link, data.setOCGState);
- isBound = true;
- } else if (data.dest) {
- this._bindLink(link, data.dest);
- isBound = true;
- } else {
- if (data.actions && (data.actions.Action || data.actions["Mouse Up"] || data.actions["Mouse Down"]) && this.enableScripting && this.hasJSActions) {
- this._bindJSAction(link, data);
- isBound = true;
- }
- if (data.resetForm) {
- this._bindResetFormAction(link, data.resetForm);
- isBound = true;
- } else if (this.isTooltipOnly && !isBound) {
- this._bindLink(link, "");
- isBound = true;
- }
- }
- this.container.classList.add("linkAnnotation");
- if (isBound) {
- this.container.append(link);
- }
- return this.container;
- }
- #setInternalLink() {
- this.container.setAttribute("data-internal-link", "");
- }
- _bindLink(link, destination) {
- link.href = this.linkService.getDestinationHash(destination);
- link.onclick = () => {
- if (destination) {
- this.linkService.goToDestination(destination);
- }
- return false;
- };
- if (destination || destination === "") {
- this.#setInternalLink();
- }
- }
- _bindNamedAction(link, action) {
- link.href = this.linkService.getAnchorUrl("");
- link.onclick = () => {
- this.linkService.executeNamedAction(action);
- return false;
- };
- this.#setInternalLink();
- }
- _bindAttachment(link, attachment) {
- link.href = this.linkService.getAnchorUrl("");
- link.onclick = () => {
- this.downloadManager?.openOrDownloadData(this.container, attachment.content, attachment.filename);
- return false;
- };
- this.#setInternalLink();
- }
- #bindSetOCGState(link, action) {
- link.href = this.linkService.getAnchorUrl("");
- link.onclick = () => {
- this.linkService.executeSetOCGState(action);
- return false;
- };
- this.#setInternalLink();
- }
- _bindJSAction(link, data) {
- link.href = this.linkService.getAnchorUrl("");
- const map = new Map([["Action", "onclick"], ["Mouse Up", "onmouseup"], ["Mouse Down", "onmousedown"]]);
- for (const name of Object.keys(data.actions)) {
- const jsName = map.get(name);
- if (!jsName) {
- continue;
- }
- link[jsName] = () => {
- this.linkService.eventBus?.dispatch("dispatcheventinsandbox", {
- source: this,
- detail: {
- id: data.id,
- name
- }
- });
- return false;
- };
- }
- if (!link.onclick) {
- link.onclick = () => false;
- }
- this.#setInternalLink();
- }
- _bindResetFormAction(link, resetForm) {
- const otherClickAction = link.onclick;
- if (!otherClickAction) {
- link.href = this.linkService.getAnchorUrl("");
- }
- this.#setInternalLink();
- if (!this._fieldObjects) {
- (0, _util.warn)(`_bindResetFormAction - "resetForm" action not supported, ` + "ensure that the `fieldObjects` parameter is provided.");
- if (!otherClickAction) {
- link.onclick = () => false;
- }
- return;
- }
- link.onclick = () => {
- otherClickAction?.();
- const {
- fields: resetFormFields,
- refs: resetFormRefs,
- include
- } = resetForm;
- const allFields = [];
- if (resetFormFields.length !== 0 || resetFormRefs.length !== 0) {
- const fieldIds = new Set(resetFormRefs);
- for (const fieldName of resetFormFields) {
- const fields = this._fieldObjects[fieldName] || [];
- for (const {
- id
- } of fields) {
- fieldIds.add(id);
- }
- }
- for (const fields of Object.values(this._fieldObjects)) {
- for (const field of fields) {
- if (fieldIds.has(field.id) === include) {
- allFields.push(field);
- }
- }
- }
- } else {
- for (const fields of Object.values(this._fieldObjects)) {
- allFields.push(...fields);
- }
- }
- const storage = this.annotationStorage;
- const allIds = [];
- for (const field of allFields) {
- const {
- id
- } = field;
- allIds.push(id);
- switch (field.type) {
- case "text":
- {
- const value = field.defaultValue || "";
- storage.setValue(id, {
- value
- });
- break;
- }
- case "checkbox":
- case "radiobutton":
- {
- const value = field.defaultValue === field.exportValues;
- storage.setValue(id, {
- value
- });
- break;
- }
- case "combobox":
- case "listbox":
- {
- const value = field.defaultValue || "";
- storage.setValue(id, {
- value
- });
- break;
- }
- default:
- continue;
- }
- const domElement = document.querySelector(`[data-element-id="${id}"]`);
- if (!domElement) {
- continue;
- } else if (!GetElementsByNameSet.has(domElement)) {
- (0, _util.warn)(`_bindResetFormAction - element not allowed: ${id}`);
- continue;
- }
- domElement.dispatchEvent(new Event("resetform"));
- }
- if (this.enableScripting) {
- this.linkService.eventBus?.dispatch("dispatcheventinsandbox", {
- source: this,
- detail: {
- id: "app",
- ids: allIds,
- name: "ResetForm"
- }
- });
- }
- return false;
- };
- }
-}
-class TextAnnotationElement extends AnnotationElement {
- constructor(parameters) {
- const isRenderable = !!(parameters.data.popupRef || parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str);
- super(parameters, {
- isRenderable
- });
- }
- render() {
- this.container.classList.add("textAnnotation");
- const image = document.createElement("img");
- image.src = this.imageResourcesPath + "annotation-" + this.data.name.toLowerCase() + ".svg";
- image.alt = "[{{type}} Annotation]";
- image.dataset.l10nId = "text_annotation_type";
- image.dataset.l10nArgs = JSON.stringify({
- type: this.data.name
- });
- if (!this.data.popupRef) {
- this._createPopup();
- }
- this.container.append(image);
- return this.container;
- }
-}
-class WidgetAnnotationElement extends AnnotationElement {
- render() {
- if (this.data.alternativeText) {
- this.container.title = this.data.alternativeText;
- }
- return this.container;
- }
- showElementAndHideCanvas(element) {
- if (this.data.hasOwnCanvas) {
- if (element.previousSibling?.nodeName === "CANVAS") {
- element.previousSibling.hidden = true;
- }
- element.hidden = false;
- }
- }
- _getKeyModifier(event) {
- const {
- isWin,
- isMac
- } = _util.FeatureTest.platform;
- return isWin && event.ctrlKey || isMac && event.metaKey;
- }
- _setEventListener(element, baseName, eventName, valueGetter) {
- if (baseName.includes("mouse")) {
- element.addEventListener(baseName, event => {
- this.linkService.eventBus?.dispatch("dispatcheventinsandbox", {
- source: this,
- detail: {
- id: this.data.id,
- name: eventName,
- value: valueGetter(event),
- shift: event.shiftKey,
- modifier: this._getKeyModifier(event)
- }
- });
- });
- } else {
- element.addEventListener(baseName, event => {
- this.linkService.eventBus?.dispatch("dispatcheventinsandbox", {
- source: this,
- detail: {
- id: this.data.id,
- name: eventName,
- value: valueGetter(event)
- }
- });
- });
- }
- }
- _setEventListeners(element, names, getter) {
- for (const [baseName, eventName] of names) {
- if (eventName === "Action" || this.data.actions?.[eventName]) {
- this._setEventListener(element, baseName, eventName, getter);
- }
- }
- }
- _setBackgroundColor(element) {
- const color = this.data.backgroundColor || null;
- element.style.backgroundColor = color === null ? "transparent" : _util.Util.makeHexColor(color[0], color[1], color[2]);
- }
- _setTextStyle(element) {
- const TEXT_ALIGNMENT = ["left", "center", "right"];
- const {
- fontColor
- } = this.data.defaultAppearanceData;
- const fontSize = this.data.defaultAppearanceData.fontSize || DEFAULT_FONT_SIZE;
- const style = element.style;
- let computedFontSize;
- const BORDER_SIZE = 2;
- const roundToOneDecimal = x => Math.round(10 * x) / 10;
- if (this.data.multiLine) {
- const height = Math.abs(this.data.rect[3] - this.data.rect[1] - BORDER_SIZE);
- const numberOfLines = Math.round(height / (_util.LINE_FACTOR * fontSize)) || 1;
- const lineHeight = height / numberOfLines;
- computedFontSize = Math.min(fontSize, roundToOneDecimal(lineHeight / _util.LINE_FACTOR));
- } else {
- const height = Math.abs(this.data.rect[3] - this.data.rect[1] - BORDER_SIZE);
- computedFontSize = Math.min(fontSize, roundToOneDecimal(height / _util.LINE_FACTOR));
- }
- style.fontSize = `calc(${computedFontSize}px * var(--scale-factor))`;
- style.color = _util.Util.makeHexColor(fontColor[0], fontColor[1], fontColor[2]);
- if (this.data.textAlignment !== null) {
- style.textAlign = TEXT_ALIGNMENT[this.data.textAlignment];
- }
- }
- _setRequired(element, isRequired) {
- if (isRequired) {
- element.setAttribute("required", true);
- } else {
- element.removeAttribute("required");
- }
- element.setAttribute("aria-required", isRequired);
- }
-}
-class TextWidgetAnnotationElement extends WidgetAnnotationElement {
- constructor(parameters) {
- const isRenderable = parameters.renderForms || !parameters.data.hasAppearance && !!parameters.data.fieldValue;
- super(parameters, {
- isRenderable
- });
- }
- setPropertyOnSiblings(base, key, value, keyInStorage) {
- const storage = this.annotationStorage;
- for (const element of this._getElementsByName(base.name, base.id)) {
- if (element.domElement) {
- element.domElement[key] = value;
- }
- storage.setValue(element.id, {
- [keyInStorage]: value
- });
- }
- }
- render() {
- const storage = this.annotationStorage;
- const id = this.data.id;
- this.container.classList.add("textWidgetAnnotation");
- let element = null;
- if (this.renderForms) {
- const storedData = storage.getValue(id, {
- value: this.data.fieldValue
- });
- let textContent = storedData.value || "";
- const maxLen = storage.getValue(id, {
- charLimit: this.data.maxLen
- }).charLimit;
- if (maxLen && textContent.length > maxLen) {
- textContent = textContent.slice(0, maxLen);
- }
- let fieldFormattedValues = storedData.formattedValue || this.data.textContent?.join("\n") || null;
- if (fieldFormattedValues && this.data.comb) {
- fieldFormattedValues = fieldFormattedValues.replaceAll(/\s+/g, "");
- }
- const elementData = {
- userValue: textContent,
- formattedValue: fieldFormattedValues,
- lastCommittedValue: null,
- commitKey: 1
- };
- if (this.data.multiLine) {
- element = document.createElement("textarea");
- element.textContent = fieldFormattedValues ?? textContent;
- if (this.data.doNotScroll) {
- element.style.overflowY = "hidden";
- }
- } else {
- element = document.createElement("input");
- element.type = "text";
- element.setAttribute("value", fieldFormattedValues ?? textContent);
- if (this.data.doNotScroll) {
- element.style.overflowX = "hidden";
- }
- }
- if (this.data.hasOwnCanvas) {
- element.hidden = true;
- }
- GetElementsByNameSet.add(element);
- element.setAttribute("data-element-id", id);
- element.disabled = this.data.readOnly;
- element.name = this.data.baseFieldName || this.data.fieldName;
- element.tabIndex = DEFAULT_TAB_INDEX;
- this._setRequired(element, this.data.required);
- if (maxLen) {
- element.maxLength = maxLen;
- }
- element.addEventListener("input", event => {
- storage.setValue(id, {
- value: event.target.value
- });
- this.setPropertyOnSiblings(element, "value", event.target.value, "value");
- elementData.formattedValue = null;
- });
- element.addEventListener("resetform", event => {
- const defaultValue = this.data.defaultFieldValue ?? "";
- element.value = elementData.userValue = defaultValue;
- elementData.formattedValue = null;
- });
- let blurListener = event => {
- const {
- formattedValue
- } = elementData;
- if (formattedValue !== null && formattedValue !== undefined) {
- event.target.value = formattedValue;
- }
- event.target.scrollLeft = 0;
- };
- if (this.enableScripting && this.hasJSActions) {
- element.addEventListener("focus", event => {
- const {
- target
- } = event;
- if (elementData.userValue) {
- target.value = elementData.userValue;
- }
- elementData.lastCommittedValue = target.value;
- elementData.commitKey = 1;
- });
- element.addEventListener("updatefromsandbox", jsEvent => {
- this.showElementAndHideCanvas(jsEvent.target);
- const actions = {
- value(event) {
- elementData.userValue = event.detail.value ?? "";
- storage.setValue(id, {
- value: elementData.userValue.toString()
- });
- event.target.value = elementData.userValue;
- },
- formattedValue(event) {
- const {
- formattedValue
- } = event.detail;
- elementData.formattedValue = formattedValue;
- if (formattedValue !== null && formattedValue !== undefined && event.target !== document.activeElement) {
- event.target.value = formattedValue;
- }
- storage.setValue(id, {
- formattedValue
- });
- },
- selRange(event) {
- event.target.setSelectionRange(...event.detail.selRange);
- },
- charLimit: event => {
- const {
- charLimit
- } = event.detail;
- const {
- target
- } = event;
- if (charLimit === 0) {
- target.removeAttribute("maxLength");
- return;
- }
- target.setAttribute("maxLength", charLimit);
- let value = elementData.userValue;
- if (!value || value.length <= charLimit) {
- return;
- }
- value = value.slice(0, charLimit);
- target.value = elementData.userValue = value;
- storage.setValue(id, {
- value
- });
- this.linkService.eventBus?.dispatch("dispatcheventinsandbox", {
- source: this,
- detail: {
- id,
- name: "Keystroke",
- value,
- willCommit: true,
- commitKey: 1,
- selStart: target.selectionStart,
- selEnd: target.selectionEnd
- }
- });
- }
- };
- this._dispatchEventFromSandbox(actions, jsEvent);
- });
- element.addEventListener("keydown", event => {
- elementData.commitKey = 1;
- let commitKey = -1;
- if (event.key === "Escape") {
- commitKey = 0;
- } else if (event.key === "Enter" && !this.data.multiLine) {
- commitKey = 2;
- } else if (event.key === "Tab") {
- elementData.commitKey = 3;
- }
- if (commitKey === -1) {
- return;
- }
- const {
- value
- } = event.target;
- if (elementData.lastCommittedValue === value) {
- return;
- }
- elementData.lastCommittedValue = value;
- elementData.userValue = value;
- this.linkService.eventBus?.dispatch("dispatcheventinsandbox", {
- source: this,
- detail: {
- id,
- name: "Keystroke",
- value,
- willCommit: true,
- commitKey,
- selStart: event.target.selectionStart,
- selEnd: event.target.selectionEnd
- }
- });
- });
- const _blurListener = blurListener;
- blurListener = null;
- element.addEventListener("blur", event => {
- if (!event.relatedTarget) {
- return;
- }
- const {
- value
- } = event.target;
- elementData.userValue = value;
- if (elementData.lastCommittedValue !== value) {
- this.linkService.eventBus?.dispatch("dispatcheventinsandbox", {
- source: this,
- detail: {
- id,
- name: "Keystroke",
- value,
- willCommit: true,
- commitKey: elementData.commitKey,
- selStart: event.target.selectionStart,
- selEnd: event.target.selectionEnd
- }
- });
- }
- _blurListener(event);
- });
- if (this.data.actions?.Keystroke) {
- element.addEventListener("beforeinput", event => {
- elementData.lastCommittedValue = null;
- const {
- data,
- target
- } = event;
- const {
- value,
- selectionStart,
- selectionEnd
- } = target;
- let selStart = selectionStart,
- selEnd = selectionEnd;
- switch (event.inputType) {
- case "deleteWordBackward":
- {
- const match = value.substring(0, selectionStart).match(/\w*[^\w]*$/);
- if (match) {
- selStart -= match[0].length;
- }
- break;
- }
- case "deleteWordForward":
- {
- const match = value.substring(selectionStart).match(/^[^\w]*\w*/);
- if (match) {
- selEnd += match[0].length;
- }
- break;
- }
- case "deleteContentBackward":
- if (selectionStart === selectionEnd) {
- selStart -= 1;
- }
- break;
- case "deleteContentForward":
- if (selectionStart === selectionEnd) {
- selEnd += 1;
- }
- break;
- }
- event.preventDefault();
- this.linkService.eventBus?.dispatch("dispatcheventinsandbox", {
- source: this,
- detail: {
- id,
- name: "Keystroke",
- value,
- change: data || "",
- willCommit: false,
- selStart,
- selEnd
- }
- });
- });
- }
- this._setEventListeners(element, [["focus", "Focus"], ["blur", "Blur"], ["mousedown", "Mouse Down"], ["mouseenter", "Mouse Enter"], ["mouseleave", "Mouse Exit"], ["mouseup", "Mouse Up"]], event => event.target.value);
- }
- if (blurListener) {
- element.addEventListener("blur", blurListener);
- }
- if (this.data.comb) {
- const fieldWidth = this.data.rect[2] - this.data.rect[0];
- const combWidth = fieldWidth / maxLen;
- element.classList.add("comb");
- element.style.letterSpacing = `calc(${combWidth}px * var(--scale-factor) - 1ch)`;
- }
- } else {
- element = document.createElement("div");
- element.textContent = this.data.fieldValue;
- element.style.verticalAlign = "middle";
- element.style.display = "table-cell";
- }
- this._setTextStyle(element);
- this._setBackgroundColor(element);
- this._setDefaultPropertiesFromJS(element);
- this.container.append(element);
- return this.container;
- }
-}
-class SignatureWidgetAnnotationElement extends WidgetAnnotationElement {
- constructor(parameters) {
- super(parameters, {
- isRenderable: !!parameters.data.hasOwnCanvas
- });
- }
-}
-class CheckboxWidgetAnnotationElement extends WidgetAnnotationElement {
- constructor(parameters) {
- super(parameters, {
- isRenderable: parameters.renderForms
- });
- }
- render() {
- const storage = this.annotationStorage;
- const data = this.data;
- const id = data.id;
- let value = storage.getValue(id, {
- value: data.exportValue === data.fieldValue
- }).value;
- if (typeof value === "string") {
- value = value !== "Off";
- storage.setValue(id, {
- value
- });
- }
- this.container.classList.add("buttonWidgetAnnotation", "checkBox");
- const element = document.createElement("input");
- GetElementsByNameSet.add(element);
- element.setAttribute("data-element-id", id);
- element.disabled = data.readOnly;
- this._setRequired(element, this.data.required);
- element.type = "checkbox";
- element.name = data.baseFieldName || data.fieldName;
- if (value) {
- element.setAttribute("checked", true);
- }
- element.setAttribute("exportValue", data.exportValue);
- element.tabIndex = DEFAULT_TAB_INDEX;
- element.addEventListener("change", event => {
- const {
- name,
- checked
- } = event.target;
- for (const checkbox of this._getElementsByName(name, id)) {
- const curChecked = checked && checkbox.exportValue === data.exportValue;
- if (checkbox.domElement) {
- checkbox.domElement.checked = curChecked;
- }
- storage.setValue(checkbox.id, {
- value: curChecked
- });
- }
- storage.setValue(id, {
- value: checked
- });
- });
- element.addEventListener("resetform", event => {
- const defaultValue = data.defaultFieldValue || "Off";
- event.target.checked = defaultValue === data.exportValue;
- });
- if (this.enableScripting && this.hasJSActions) {
- element.addEventListener("updatefromsandbox", jsEvent => {
- const actions = {
- value(event) {
- event.target.checked = event.detail.value !== "Off";
- storage.setValue(id, {
- value: event.target.checked
- });
- }
- };
- this._dispatchEventFromSandbox(actions, jsEvent);
- });
- this._setEventListeners(element, [["change", "Validate"], ["change", "Action"], ["focus", "Focus"], ["blur", "Blur"], ["mousedown", "Mouse Down"], ["mouseenter", "Mouse Enter"], ["mouseleave", "Mouse Exit"], ["mouseup", "Mouse Up"]], event => event.target.checked);
- }
- this._setBackgroundColor(element);
- this._setDefaultPropertiesFromJS(element);
- this.container.append(element);
- return this.container;
- }
-}
-class RadioButtonWidgetAnnotationElement extends WidgetAnnotationElement {
- constructor(parameters) {
- super(parameters, {
- isRenderable: parameters.renderForms
- });
- }
- render() {
- this.container.classList.add("buttonWidgetAnnotation", "radioButton");
- const storage = this.annotationStorage;
- const data = this.data;
- const id = data.id;
- let value = storage.getValue(id, {
- value: data.fieldValue === data.buttonValue
- }).value;
- if (typeof value === "string") {
- value = value !== data.buttonValue;
- storage.setValue(id, {
- value
- });
- }
- const element = document.createElement("input");
- GetElementsByNameSet.add(element);
- element.setAttribute("data-element-id", id);
- element.disabled = data.readOnly;
- this._setRequired(element, this.data.required);
- element.type = "radio";
- element.name = data.baseFieldName || data.fieldName;
- if (value) {
- element.setAttribute("checked", true);
- }
- element.tabIndex = DEFAULT_TAB_INDEX;
- element.addEventListener("change", event => {
- const {
- name,
- checked
- } = event.target;
- for (const radio of this._getElementsByName(name, id)) {
- storage.setValue(radio.id, {
- value: false
- });
- }
- storage.setValue(id, {
- value: checked
- });
- });
- element.addEventListener("resetform", event => {
- const defaultValue = data.defaultFieldValue;
- event.target.checked = defaultValue !== null && defaultValue !== undefined && defaultValue === data.buttonValue;
- });
- if (this.enableScripting && this.hasJSActions) {
- const pdfButtonValue = data.buttonValue;
- element.addEventListener("updatefromsandbox", jsEvent => {
- const actions = {
- value: event => {
- const checked = pdfButtonValue === event.detail.value;
- for (const radio of this._getElementsByName(event.target.name)) {
- const curChecked = checked && radio.id === id;
- if (radio.domElement) {
- radio.domElement.checked = curChecked;
- }
- storage.setValue(radio.id, {
- value: curChecked
- });
- }
- }
- };
- this._dispatchEventFromSandbox(actions, jsEvent);
- });
- this._setEventListeners(element, [["change", "Validate"], ["change", "Action"], ["focus", "Focus"], ["blur", "Blur"], ["mousedown", "Mouse Down"], ["mouseenter", "Mouse Enter"], ["mouseleave", "Mouse Exit"], ["mouseup", "Mouse Up"]], event => event.target.checked);
- }
- this._setBackgroundColor(element);
- this._setDefaultPropertiesFromJS(element);
- this.container.append(element);
- return this.container;
- }
-}
-class PushButtonWidgetAnnotationElement extends LinkAnnotationElement {
- constructor(parameters) {
- super(parameters, {
- ignoreBorder: parameters.data.hasAppearance
- });
- }
- render() {
- const container = super.render();
- container.classList.add("buttonWidgetAnnotation", "pushButton");
- if (this.data.alternativeText) {
- container.title = this.data.alternativeText;
- }
- const linkElement = container.lastChild;
- if (this.enableScripting && this.hasJSActions && linkElement) {
- this._setDefaultPropertiesFromJS(linkElement);
- linkElement.addEventListener("updatefromsandbox", jsEvent => {
- this._dispatchEventFromSandbox({}, jsEvent);
- });
- }
- return container;
- }
-}
-class ChoiceWidgetAnnotationElement extends WidgetAnnotationElement {
- constructor(parameters) {
- super(parameters, {
- isRenderable: parameters.renderForms
- });
- }
- render() {
- this.container.classList.add("choiceWidgetAnnotation");
- const storage = this.annotationStorage;
- const id = this.data.id;
- const storedData = storage.getValue(id, {
- value: this.data.fieldValue
- });
- const selectElement = document.createElement("select");
- GetElementsByNameSet.add(selectElement);
- selectElement.setAttribute("data-element-id", id);
- selectElement.disabled = this.data.readOnly;
- this._setRequired(selectElement, this.data.required);
- selectElement.name = this.data.baseFieldName || this.data.fieldName;
- selectElement.tabIndex = DEFAULT_TAB_INDEX;
- let addAnEmptyEntry = this.data.combo && this.data.options.length > 0;
- if (!this.data.combo) {
- selectElement.size = this.data.options.length;
- if (this.data.multiSelect) {
- selectElement.multiple = true;
- }
- }
- selectElement.addEventListener("resetform", event => {
- const defaultValue = this.data.defaultFieldValue;
- for (const option of selectElement.options) {
- option.selected = option.value === defaultValue;
- }
- });
- for (const option of this.data.options) {
- const optionElement = document.createElement("option");
- optionElement.textContent = option.displayValue;
- optionElement.value = option.exportValue;
- if (storedData.value.includes(option.exportValue)) {
- optionElement.setAttribute("selected", true);
- addAnEmptyEntry = false;
- }
- selectElement.append(optionElement);
- }
- let removeEmptyEntry = null;
- if (addAnEmptyEntry) {
- const noneOptionElement = document.createElement("option");
- noneOptionElement.value = " ";
- noneOptionElement.setAttribute("hidden", true);
- noneOptionElement.setAttribute("selected", true);
- selectElement.prepend(noneOptionElement);
- removeEmptyEntry = () => {
- noneOptionElement.remove();
- selectElement.removeEventListener("input", removeEmptyEntry);
- removeEmptyEntry = null;
- };
- selectElement.addEventListener("input", removeEmptyEntry);
- }
- const getValue = isExport => {
- const name = isExport ? "value" : "textContent";
- const {
- options,
- multiple
- } = selectElement;
- if (!multiple) {
- return options.selectedIndex === -1 ? null : options[options.selectedIndex][name];
- }
- return Array.prototype.filter.call(options, option => option.selected).map(option => option[name]);
- };
- let selectedValues = getValue(false);
- const getItems = event => {
- const options = event.target.options;
- return Array.prototype.map.call(options, option => {
- return {
- displayValue: option.textContent,
- exportValue: option.value
- };
- });
- };
- if (this.enableScripting && this.hasJSActions) {
- selectElement.addEventListener("updatefromsandbox", jsEvent => {
- const actions = {
- value(event) {
- removeEmptyEntry?.();
- const value = event.detail.value;
- const values = new Set(Array.isArray(value) ? value : [value]);
- for (const option of selectElement.options) {
- option.selected = values.has(option.value);
- }
- storage.setValue(id, {
- value: getValue(true)
- });
- selectedValues = getValue(false);
- },
- multipleSelection(event) {
- selectElement.multiple = true;
- },
- remove(event) {
- const options = selectElement.options;
- const index = event.detail.remove;
- options[index].selected = false;
- selectElement.remove(index);
- if (options.length > 0) {
- const i = Array.prototype.findIndex.call(options, option => option.selected);
- if (i === -1) {
- options[0].selected = true;
- }
- }
- storage.setValue(id, {
- value: getValue(true),
- items: getItems(event)
- });
- selectedValues = getValue(false);
- },
- clear(event) {
- while (selectElement.length !== 0) {
- selectElement.remove(0);
- }
- storage.setValue(id, {
- value: null,
- items: []
- });
- selectedValues = getValue(false);
- },
- insert(event) {
- const {
- index,
- displayValue,
- exportValue
- } = event.detail.insert;
- const selectChild = selectElement.children[index];
- const optionElement = document.createElement("option");
- optionElement.textContent = displayValue;
- optionElement.value = exportValue;
- if (selectChild) {
- selectChild.before(optionElement);
- } else {
- selectElement.append(optionElement);
- }
- storage.setValue(id, {
- value: getValue(true),
- items: getItems(event)
- });
- selectedValues = getValue(false);
- },
- items(event) {
- const {
- items
- } = event.detail;
- while (selectElement.length !== 0) {
- selectElement.remove(0);
- }
- for (const item of items) {
- const {
- displayValue,
- exportValue
- } = item;
- const optionElement = document.createElement("option");
- optionElement.textContent = displayValue;
- optionElement.value = exportValue;
- selectElement.append(optionElement);
- }
- if (selectElement.options.length > 0) {
- selectElement.options[0].selected = true;
- }
- storage.setValue(id, {
- value: getValue(true),
- items: getItems(event)
- });
- selectedValues = getValue(false);
- },
- indices(event) {
- const indices = new Set(event.detail.indices);
- for (const option of event.target.options) {
- option.selected = indices.has(option.index);
- }
- storage.setValue(id, {
- value: getValue(true)
- });
- selectedValues = getValue(false);
- },
- editable(event) {
- event.target.disabled = !event.detail.editable;
- }
- };
- this._dispatchEventFromSandbox(actions, jsEvent);
- });
- selectElement.addEventListener("input", event => {
- const exportValue = getValue(true);
- storage.setValue(id, {
- value: exportValue
- });
- event.preventDefault();
- this.linkService.eventBus?.dispatch("dispatcheventinsandbox", {
- source: this,
- detail: {
- id,
- name: "Keystroke",
- value: selectedValues,
- changeEx: exportValue,
- willCommit: false,
- commitKey: 1,
- keyDown: false
- }
- });
- });
- this._setEventListeners(selectElement, [["focus", "Focus"], ["blur", "Blur"], ["mousedown", "Mouse Down"], ["mouseenter", "Mouse Enter"], ["mouseleave", "Mouse Exit"], ["mouseup", "Mouse Up"], ["input", "Action"], ["input", "Validate"]], event => event.target.value);
- } else {
- selectElement.addEventListener("input", function (event) {
- storage.setValue(id, {
- value: getValue(true)
- });
- });
- }
- if (this.data.combo) {
- this._setTextStyle(selectElement);
- } else {}
- this._setBackgroundColor(selectElement);
- this._setDefaultPropertiesFromJS(selectElement);
- this.container.append(selectElement);
- return this.container;
- }
-}
-class PopupAnnotationElement extends AnnotationElement {
- constructor(parameters) {
- const {
- data,
- elements
- } = parameters;
- const isRenderable = !!(data.titleObj?.str || data.contentsObj?.str || data.richText?.str);
- super(parameters, {
- isRenderable
- });
- this.elements = elements;
- }
- render() {
- this.container.classList.add("popupAnnotation");
- const popup = new PopupElement({
- container: this.container,
- color: this.data.color,
- titleObj: this.data.titleObj,
- modificationDate: this.data.modificationDate,
- 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
- });
- const elementIds = [];
- for (const element of this.elements) {
- element.popup = popup;
- elementIds.push(element.data.id);
- element.addHighlightArea();
- }
- this.container.setAttribute("aria-controls", elementIds.join(","));
- return this.container;
- }
-}
-class PopupElement {
- #dateTimePromise = null;
- #boundHide = this.#hide.bind(this);
- #boundShow = this.#show.bind(this);
- #boundToggle = this.#toggle.bind(this);
- #color = null;
- #container = null;
- #contentsObj = null;
- #elements = null;
- #parent = null;
- #parentRect = null;
- #pinned = false;
- #popup = null;
- #rect = null;
- #richText = null;
- #titleObj = null;
- #wasVisible = false;
- constructor(_ref) {
- let {
- container,
- color,
- elements,
- titleObj,
- modificationDate,
- contentsObj,
- richText,
- parent,
- rect,
- parentRect,
- open
- } = _ref;
- this.#container = container;
- this.#titleObj = titleObj;
- this.#contentsObj = contentsObj;
- this.#richText = richText;
- this.#parent = parent;
- this.#color = color;
- this.#rect = rect;
- this.#parentRect = parentRect;
- this.#elements = elements;
- const dateObject = _display_utils.PDFDateString.toDateObject(modificationDate);
- if (dateObject) {
- this.#dateTimePromise = parent.l10n.get("annotation_date_string", {
- date: dateObject.toLocaleDateString(),
- time: dateObject.toLocaleTimeString()
- });
- }
- this.trigger = elements.flatMap(e => e.getElementsToTriggerPopup());
- for (const element of this.trigger) {
- element.addEventListener("click", this.#boundToggle);
- element.addEventListener("mouseenter", this.#boundShow);
- element.addEventListener("mouseleave", this.#boundHide);
- }
- this.#container.hidden = true;
- if (open) {
- this.#toggle();
- }
- }
- render() {
- if (this.#popup) {
- return;
- }
- const {
- page: {
- view
- },
- viewport: {
- rawDims: {
- pageWidth,
- pageHeight,
- pageX,
- pageY
- }
- }
- } = this.#parent;
- const popup = this.#popup = document.createElement("div");
- popup.className = "popup";
- if (this.#color) {
- const baseColor = popup.style.outlineColor = _util.Util.makeHexColor(...this.#color);
- if (CSS.supports("background-color", "color-mix(in srgb, red 30%, white)")) {
- popup.style.backgroundColor = `color-mix(in srgb, ${baseColor} 30%, white)`;
- } else {
- const BACKGROUND_ENLIGHT = 0.7;
- popup.style.backgroundColor = _util.Util.makeHexColor(...this.#color.map(c => Math.floor(BACKGROUND_ENLIGHT * (255 - c) + c)));
- }
- }
- const header = document.createElement("span");
- header.className = "header";
- const title = document.createElement("h1");
- header.append(title);
- ({
- dir: title.dir,
- str: title.textContent
- } = this.#titleObj);
- popup.append(header);
- if (this.#dateTimePromise) {
- const modificationDate = document.createElement("span");
- modificationDate.classList.add("popupDate");
- this.#dateTimePromise.then(localized => {
- modificationDate.textContent = localized;
- });
- header.append(modificationDate);
- }
- const contentsObj = this.#contentsObj;
- const richText = this.#richText;
- if (richText?.str && (!contentsObj?.str || contentsObj.str === richText.str)) {
- _xfa_layer.XfaLayer.render({
- xfaHtml: richText.html,
- intent: "richText",
- div: popup
- });
- popup.lastChild.classList.add("richText", "popupContent");
- } else {
- const contents = this._formatContents(contentsObj);
- popup.append(contents);
- }
- let useParentRect = !!this.#parentRect;
- let rect = useParentRect ? this.#parentRect : this.#rect;
- for (const element of this.#elements) {
- if (!rect || _util.Util.intersect(element.data.rect, rect) !== null) {
- rect = element.data.rect;
- useParentRect = true;
- break;
- }
- }
- const normalizedRect = _util.Util.normalizeRect([rect[0], view[3] - rect[1] + view[1], rect[2], view[3] - rect[3] + view[1]]);
- const HORIZONTAL_SPACE_AFTER_ANNOTATION = 5;
- const parentWidth = useParentRect ? rect[2] - rect[0] + HORIZONTAL_SPACE_AFTER_ANNOTATION : 0;
- const popupLeft = normalizedRect[0] + parentWidth;
- const popupTop = normalizedRect[1];
- const {
- style
- } = this.#container;
- style.left = `${100 * (popupLeft - pageX) / pageWidth}%`;
- style.top = `${100 * (popupTop - pageY) / pageHeight}%`;
- this.#container.append(popup);
- }
- _formatContents(_ref2) {
- let {
- str,
- dir
- } = _ref2;
- const p = document.createElement("p");
- p.classList.add("popupContent");
- p.dir = dir;
- const lines = str.split(/(?:\r\n?|\n)/);
- for (let i = 0, ii = lines.length; i < ii; ++i) {
- const line = lines[i];
- p.append(document.createTextNode(line));
- if (i < ii - 1) {
- p.append(document.createElement("br"));
- }
- }
- return p;
- }
- #toggle() {
- this.#pinned = !this.#pinned;
- if (this.#pinned) {
- this.#show();
- this.#container.addEventListener("click", this.#boundToggle);
- } else {
- this.#hide();
- this.#container.removeEventListener("click", this.#boundToggle);
- }
- }
- #show() {
- if (!this.#popup) {
- this.render();
- }
- if (!this.isVisible) {
- this.#container.hidden = false;
- this.#container.style.zIndex = parseInt(this.#container.style.zIndex) + 1000;
- } else if (this.#pinned) {
- this.#container.classList.add("focused");
- }
- }
- #hide() {
- this.#container.classList.remove("focused");
- if (this.#pinned || !this.isVisible) {
- return;
- }
- this.#container.hidden = true;
- this.#container.style.zIndex = parseInt(this.#container.style.zIndex) - 1000;
- }
- forceHide() {
- this.#wasVisible = this.isVisible;
- if (!this.#wasVisible) {
- return;
- }
- this.#container.hidden = true;
- }
- maybeShow() {
- if (!this.#wasVisible) {
- return;
- }
- this.#wasVisible = false;
- this.#container.hidden = false;
- }
- get isVisible() {
- return this.#container.hidden === false;
- }
-}
-class FreeTextAnnotationElement extends AnnotationElement {
- constructor(parameters) {
- const isRenderable = !!(parameters.data.popupRef || parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str);
- super(parameters, {
- isRenderable,
- ignoreBorder: true
- });
- this.textContent = parameters.data.textContent;
- this.textPosition = parameters.data.textPosition;
- this.annotationEditorType = _util.AnnotationEditorType.FREETEXT;
- }
- render() {
- this.container.classList.add("freeTextAnnotation");
- if (this.textContent) {
- const content = document.createElement("div");
- content.classList.add("annotationTextContent");
- content.setAttribute("role", "comment");
- for (const line of this.textContent) {
- const lineSpan = document.createElement("span");
- lineSpan.textContent = line;
- content.append(lineSpan);
- }
- this.container.append(content);
- }
- if (!this.data.popupRef) {
- this._createPopup();
- }
- this._editOnDoubleClick();
- return this.container;
- }
-}
-exports.FreeTextAnnotationElement = FreeTextAnnotationElement;
-class LineAnnotationElement extends AnnotationElement {
- #line = null;
- constructor(parameters) {
- const isRenderable = !!(parameters.data.popupRef || parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str);
- super(parameters, {
- isRenderable,
- ignoreBorder: true
- });
- }
- render() {
- this.container.classList.add("lineAnnotation");
- const data = this.data;
- const {
- width,
- height
- } = getRectDims(data.rect);
- const svg = this.svgFactory.create(width, height, true);
- const line = this.#line = this.svgFactory.createElement("svg:line");
- line.setAttribute("x1", data.rect[2] - data.lineCoordinates[0]);
- line.setAttribute("y1", data.rect[3] - data.lineCoordinates[1]);
- line.setAttribute("x2", data.rect[2] - data.lineCoordinates[2]);
- line.setAttribute("y2", data.rect[3] - data.lineCoordinates[3]);
- line.setAttribute("stroke-width", data.borderStyle.width || 1);
- line.setAttribute("stroke", "transparent");
- line.setAttribute("fill", "transparent");
- svg.append(line);
- this.container.append(svg);
- if (!data.popupRef) {
- this._createPopup();
- }
- return this.container;
- }
- getElementsToTriggerPopup() {
- return this.#line;
- }
- addHighlightArea() {
- this.container.classList.add("highlightArea");
- }
-}
-class SquareAnnotationElement extends AnnotationElement {
- #square = null;
- constructor(parameters) {
- const isRenderable = !!(parameters.data.popupRef || parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str);
- super(parameters, {
- isRenderable,
- ignoreBorder: true
- });
- }
- render() {
- this.container.classList.add("squareAnnotation");
- const data = this.data;
- const {
- width,
- height
- } = getRectDims(data.rect);
- const svg = this.svgFactory.create(width, height, true);
- const borderWidth = data.borderStyle.width;
- const square = this.#square = this.svgFactory.createElement("svg:rect");
- square.setAttribute("x", borderWidth / 2);
- square.setAttribute("y", borderWidth / 2);
- square.setAttribute("width", width - borderWidth);
- square.setAttribute("height", height - borderWidth);
- square.setAttribute("stroke-width", borderWidth || 1);
- square.setAttribute("stroke", "transparent");
- square.setAttribute("fill", "transparent");
- svg.append(square);
- this.container.append(svg);
- if (!data.popupRef) {
- this._createPopup();
- }
- return this.container;
- }
- getElementsToTriggerPopup() {
- return this.#square;
- }
- addHighlightArea() {
- this.container.classList.add("highlightArea");
- }
-}
-class CircleAnnotationElement extends AnnotationElement {
- #circle = null;
- constructor(parameters) {
- const isRenderable = !!(parameters.data.popupRef || parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str);
- super(parameters, {
- isRenderable,
- ignoreBorder: true
- });
- }
- render() {
- this.container.classList.add("circleAnnotation");
- const data = this.data;
- const {
- width,
- height
- } = getRectDims(data.rect);
- const svg = this.svgFactory.create(width, height, true);
- const borderWidth = data.borderStyle.width;
- const circle = this.#circle = this.svgFactory.createElement("svg:ellipse");
- circle.setAttribute("cx", width / 2);
- circle.setAttribute("cy", height / 2);
- circle.setAttribute("rx", width / 2 - borderWidth / 2);
- circle.setAttribute("ry", height / 2 - borderWidth / 2);
- circle.setAttribute("stroke-width", borderWidth || 1);
- circle.setAttribute("stroke", "transparent");
- circle.setAttribute("fill", "transparent");
- svg.append(circle);
- this.container.append(svg);
- if (!data.popupRef) {
- this._createPopup();
- }
- return this.container;
- }
- getElementsToTriggerPopup() {
- return this.#circle;
- }
- addHighlightArea() {
- this.container.classList.add("highlightArea");
- }
-}
-class PolylineAnnotationElement extends AnnotationElement {
- #polyline = null;
- constructor(parameters) {
- const isRenderable = !!(parameters.data.popupRef || parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str);
- super(parameters, {
- isRenderable,
- ignoreBorder: true
- });
- this.containerClassName = "polylineAnnotation";
- this.svgElementName = "svg:polyline";
- }
- render() {
- this.container.classList.add(this.containerClassName);
- const data = this.data;
- const {
- width,
- height
- } = getRectDims(data.rect);
- const svg = this.svgFactory.create(width, height, true);
- let points = [];
- for (const coordinate of data.vertices) {
- const x = coordinate.x - data.rect[0];
- const y = data.rect[3] - coordinate.y;
- points.push(x + "," + y);
- }
- points = points.join(" ");
- const polyline = this.#polyline = this.svgFactory.createElement(this.svgElementName);
- polyline.setAttribute("points", points);
- polyline.setAttribute("stroke-width", data.borderStyle.width || 1);
- polyline.setAttribute("stroke", "transparent");
- polyline.setAttribute("fill", "transparent");
- svg.append(polyline);
- this.container.append(svg);
- if (!data.popupRef) {
- this._createPopup(polyline, data);
- }
- return this.container;
- }
- getElementsToTriggerPopup() {
- return this.#polyline;
- }
- addHighlightArea() {
- this.container.classList.add("highlightArea");
- }
-}
-class PolygonAnnotationElement extends PolylineAnnotationElement {
- constructor(parameters) {
- super(parameters);
- this.containerClassName = "polygonAnnotation";
- this.svgElementName = "svg:polygon";
- }
-}
-class CaretAnnotationElement extends AnnotationElement {
- constructor(parameters) {
- const isRenderable = !!(parameters.data.popupRef || parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str);
- super(parameters, {
- isRenderable,
- ignoreBorder: true
- });
- }
- render() {
- this.container.classList.add("caretAnnotation");
- if (!this.data.popupRef) {
- this._createPopup();
- }
- return this.container;
- }
-}
-class InkAnnotationElement extends AnnotationElement {
- #polylines = [];
- constructor(parameters) {
- const isRenderable = !!(parameters.data.popupRef || parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str);
- super(parameters, {
- isRenderable,
- ignoreBorder: true
- });
- this.containerClassName = "inkAnnotation";
- this.svgElementName = "svg:polyline";
- this.annotationEditorType = _util.AnnotationEditorType.INK;
- }
- render() {
- this.container.classList.add(this.containerClassName);
- const data = this.data;
- const {
- width,
- height
- } = getRectDims(data.rect);
- const svg = this.svgFactory.create(width, height, true);
- for (const inkList of data.inkLists) {
- let points = [];
- for (const coordinate of inkList) {
- const x = coordinate.x - data.rect[0];
- const y = data.rect[3] - coordinate.y;
- points.push(`${x},${y}`);
- }
- points = points.join(" ");
- const polyline = this.svgFactory.createElement(this.svgElementName);
- this.#polylines.push(polyline);
- polyline.setAttribute("points", points);
- polyline.setAttribute("stroke-width", data.borderStyle.width || 1);
- polyline.setAttribute("stroke", "transparent");
- polyline.setAttribute("fill", "transparent");
- if (!data.popupRef) {
- this._createPopup(polyline, data);
- }
- svg.append(polyline);
- }
- this.container.append(svg);
- return this.container;
- }
- getElementsToTriggerPopup() {
- return this.#polylines;
- }
- addHighlightArea() {
- this.container.classList.add("highlightArea");
- }
-}
-exports.InkAnnotationElement = InkAnnotationElement;
-class HighlightAnnotationElement extends AnnotationElement {
- constructor(parameters) {
- const isRenderable = !!(parameters.data.popupRef || parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str);
- super(parameters, {
- isRenderable,
- ignoreBorder: true,
- createQuadrilaterals: true
- });
- }
- render() {
- if (!this.data.popupRef) {
- this._createPopup();
- }
- this.container.classList.add("highlightAnnotation");
- return this.container;
- }
-}
-class UnderlineAnnotationElement extends AnnotationElement {
- constructor(parameters) {
- const isRenderable = !!(parameters.data.popupRef || parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str);
- super(parameters, {
- isRenderable,
- ignoreBorder: true,
- createQuadrilaterals: true
- });
- }
- render() {
- if (!this.data.popupRef) {
- this._createPopup();
- }
- this.container.classList.add("underlineAnnotation");
- return this.container;
- }
-}
-class SquigglyAnnotationElement extends AnnotationElement {
- constructor(parameters) {
- const isRenderable = !!(parameters.data.popupRef || parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str);
- super(parameters, {
- isRenderable,
- ignoreBorder: true,
- createQuadrilaterals: true
- });
- }
- render() {
- if (!this.data.popupRef) {
- this._createPopup();
- }
- this.container.classList.add("squigglyAnnotation");
- return this.container;
- }
-}
-class StrikeOutAnnotationElement extends AnnotationElement {
- constructor(parameters) {
- const isRenderable = !!(parameters.data.popupRef || parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str);
- super(parameters, {
- isRenderable,
- ignoreBorder: true,
- createQuadrilaterals: true
- });
- }
- render() {
- if (!this.data.popupRef) {
- this._createPopup();
- }
- this.container.classList.add("strikeoutAnnotation");
- return this.container;
- }
-}
-class StampAnnotationElement extends AnnotationElement {
- constructor(parameters) {
- const isRenderable = !!(parameters.data.popupRef || parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str);
- super(parameters, {
- isRenderable,
- ignoreBorder: true
- });
- }
- render() {
- this.container.classList.add("stampAnnotation");
- if (!this.data.popupRef) {
- this._createPopup();
- }
- return this.container;
- }
-}
-exports.StampAnnotationElement = StampAnnotationElement;
-class FileAttachmentAnnotationElement extends AnnotationElement {
- #trigger = null;
- constructor(parameters) {
- super(parameters, {
- isRenderable: true
- });
- const {
- filename,
- content
- } = this.data.file;
- this.filename = (0, _display_utils.getFilenameFromUrl)(filename, true);
- this.content = content;
- this.linkService.eventBus?.dispatch("fileattachmentannotation", {
- source: this,
- filename,
- content
- });
- }
- render() {
- this.container.classList.add("fileAttachmentAnnotation");
- let trigger;
- if (this.data.hasAppearance) {
- trigger = document.createElement("div");
- } else {
- trigger = document.createElement("img");
- trigger.src = `${this.imageResourcesPath}annotation-${/paperclip/i.test(this.data.name) ? "paperclip" : "pushpin"}.svg`;
- }
- trigger.classList.add("popupTriggerArea");
- trigger.addEventListener("dblclick", this._download.bind(this));
- this.#trigger = trigger;
- if (!this.data.popupRef && (this.data.titleObj?.str || this.data.contentsObj?.str || this.data.richText)) {
- this._createPopup();
- }
- this.container.append(trigger);
- return this.container;
- }
- getElementsToTriggerPopup() {
- return this.#trigger;
- }
- addHighlightArea() {
- this.container.classList.add("highlightArea");
- }
- _download() {
- this.downloadManager?.openOrDownloadData(this.container, this.content, this.filename);
- }
-}
-class AnnotationLayer {
- #accessibilityManager = null;
- #annotationCanvasMap = null;
- #editableAnnotations = new Map();
- constructor(_ref3) {
- let {
- div,
- accessibilityManager,
- annotationCanvasMap,
- l10n,
- page,
- viewport
- } = _ref3;
- this.div = div;
- this.#accessibilityManager = accessibilityManager;
- this.#annotationCanvasMap = annotationCanvasMap;
- this.l10n = l10n;
- this.page = page;
- this.viewport = viewport;
- this.zIndex = 0;
- this.l10n ||= _displayL10n_utils.NullL10n;
- }
- #appendElement(element, id) {
- const contentElement = element.firstChild || element;
- contentElement.id = `${_display_utils.AnnotationPrefix}${id}`;
- this.div.append(element);
- this.#accessibilityManager?.moveElementInDOM(this.div, element, contentElement, false);
- }
- async render(params) {
- const {
- annotations
- } = params;
- const layer = this.div;
- (0, _display_utils.setLayerDimensions)(layer, this.viewport);
- const popupToElements = new Map();
- const elementParams = {
- data: null,
- layer,
- linkService: params.linkService,
- downloadManager: params.downloadManager,
- imageResourcesPath: params.imageResourcesPath || "",
- renderForms: params.renderForms !== false,
- svgFactory: new _display_utils.DOMSVGFactory(),
- annotationStorage: params.annotationStorage || new _annotation_storage.AnnotationStorage(),
- enableScripting: params.enableScripting === true,
- hasJSActions: params.hasJSActions,
- fieldObjects: params.fieldObjects,
- parent: this,
- elements: null
- };
- for (const data of annotations) {
- if (data.noHTML) {
- continue;
- }
- const isPopupAnnotation = data.annotationType === _util.AnnotationType.POPUP;
- if (!isPopupAnnotation) {
- const {
- width,
- height
- } = getRectDims(data.rect);
- if (width <= 0 || height <= 0) {
- continue;
- }
- } else {
- const elements = popupToElements.get(data.id);
- if (!elements) {
- continue;
- }
- elementParams.elements = elements;
- }
- elementParams.data = data;
- const element = AnnotationElementFactory.create(elementParams);
- if (!element.isRenderable) {
- continue;
- }
- if (!isPopupAnnotation && data.popupRef) {
- const elements = popupToElements.get(data.popupRef);
- if (!elements) {
- popupToElements.set(data.popupRef, [element]);
- } else {
- elements.push(element);
- }
- }
- if (element.annotationEditorType > 0) {
- this.#editableAnnotations.set(element.data.id, element);
- }
- const rendered = element.render();
- if (data.hidden) {
- rendered.style.visibility = "hidden";
- }
- this.#appendElement(rendered, data.id);
- }
- this.#setAnnotationCanvasMap();
- await this.l10n.translate(layer);
- }
- update(_ref4) {
- let {
- viewport
- } = _ref4;
- const layer = this.div;
- this.viewport = viewport;
- (0, _display_utils.setLayerDimensions)(layer, {
- rotation: viewport.rotation
- });
- this.#setAnnotationCanvasMap();
- layer.hidden = false;
- }
- #setAnnotationCanvasMap() {
- if (!this.#annotationCanvasMap) {
- return;
- }
- const layer = this.div;
- for (const [id, canvas] of this.#annotationCanvasMap) {
- const element = layer.querySelector(`[data-annotation-id="${id}"]`);
- if (!element) {
- continue;
- }
- const {
- firstChild
- } = element;
- if (!firstChild) {
- element.append(canvas);
- } else if (firstChild.nodeName === "CANVAS") {
- firstChild.replaceWith(canvas);
- } else {
- firstChild.before(canvas);
- }
- }
- this.#annotationCanvasMap.clear();
- }
- getEditableAnnotations() {
- return Array.from(this.#editableAnnotations.values());
- }
- getEditableAnnotation(id) {
- return this.#editableAnnotations.get(id);
- }
-}
-exports.AnnotationLayer = AnnotationLayer;
-
-/***/ }),
-/* 198 */
-/***/ ((__unused_webpack_module, exports) => {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", ({
- value: true
-}));
-exports.ColorConverters = void 0;
-function makeColorComp(n) {
- return Math.floor(Math.max(0, Math.min(1, n)) * 255).toString(16).padStart(2, "0");
-}
-class ColorConverters {
- static CMYK_G(_ref) {
- let [c, y, m, k] = _ref;
- return ["G", 1 - Math.min(1, 0.3 * c + 0.59 * m + 0.11 * y + k)];
- }
- static G_CMYK(_ref2) {
- let [g] = _ref2;
- return ["CMYK", 0, 0, 0, 1 - g];
- }
- static G_RGB(_ref3) {
- let [g] = _ref3;
- return ["RGB", g, g, g];
- }
- static G_HTML(_ref4) {
- let [g] = _ref4;
- const G = makeColorComp(g);
- return `#${G}${G}${G}`;
- }
- static RGB_G(_ref5) {
- let [r, g, b] = _ref5;
- return ["G", 0.3 * r + 0.59 * g + 0.11 * b];
- }
- static RGB_HTML(_ref6) {
- let [r, g, b] = _ref6;
- const R = makeColorComp(r);
- const G = makeColorComp(g);
- const B = makeColorComp(b);
- return `#${R}${G}${B}`;
- }
- static T_HTML() {
- return "#00000000";
- }
- static CMYK_RGB(_ref7) {
- let [c, y, m, k] = _ref7;
- return ["RGB", 1 - Math.min(1, c + k), 1 - Math.min(1, m + k), 1 - Math.min(1, y + k)];
- }
- static CMYK_HTML(components) {
- const rgb = this.CMYK_RGB(components).slice(1);
- return this.RGB_HTML(rgb);
- }
- static RGB_CMYK(_ref8) {
- let [r, g, b] = _ref8;
- const c = 1 - r;
- const m = 1 - g;
- const y = 1 - b;
- const k = Math.min(c, m, y);
- return ["CMYK", c, m, y, k];
- }
-}
-exports.ColorConverters = ColorConverters;
-
-/***/ }),
-/* 199 */
-/***/ ((__unused_webpack_module, exports) => {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", ({
- value: true
-}));
-exports.NullL10n = void 0;
-exports.getL10nFallback = getL10nFallback;
-const DEFAULT_L10N_STRINGS = {
- of_pages: "of {{pagesCount}}",
- page_of_pages: "({{pageNumber}} of {{pagesCount}})",
- document_properties_kb: "{{size_kb}} KB ({{size_b}} bytes)",
- document_properties_mb: "{{size_mb}} MB ({{size_b}} bytes)",
- document_properties_date_string: "{{date}}, {{time}}",
- document_properties_page_size_unit_inches: "in",
- document_properties_page_size_unit_millimeters: "mm",
- document_properties_page_size_orientation_portrait: "portrait",
- document_properties_page_size_orientation_landscape: "landscape",
- document_properties_page_size_name_a3: "A3",
- document_properties_page_size_name_a4: "A4",
- document_properties_page_size_name_letter: "Letter",
- document_properties_page_size_name_legal: "Legal",
- document_properties_page_size_dimension_string: "{{width}} × {{height}} {{unit}} ({{orientation}})",
- document_properties_page_size_dimension_name_string: "{{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})",
- document_properties_linearized_yes: "Yes",
- document_properties_linearized_no: "No",
- additional_layers: "Additional Layers",
- page_landmark: "Page {{page}}",
- thumb_page_title: "Page {{page}}",
- thumb_page_canvas: "Thumbnail of Page {{page}}",
- find_reached_top: "Reached top of document, continued from bottom",
- find_reached_bottom: "Reached end of document, continued from top",
- "find_match_count[one]": "{{current}} of {{total}} match",
- "find_match_count[other]": "{{current}} of {{total}} matches",
- "find_match_count_limit[one]": "More than {{limit}} match",
- "find_match_count_limit[other]": "More than {{limit}} matches",
- find_not_found: "Phrase not found",
- page_scale_width: "Page Width",
- page_scale_fit: "Page Fit",
- page_scale_auto: "Automatic Zoom",
- page_scale_actual: "Actual Size",
- page_scale_percent: "{{scale}}%",
- loading_error: "An error occurred while loading the PDF.",
- invalid_file_error: "Invalid or corrupted PDF file.",
- missing_file_error: "Missing PDF file.",
- unexpected_response_error: "Unexpected server response.",
- rendering_error: "An error occurred while rendering the page.",
- annotation_date_string: "{{date}}, {{time}}",
- printing_not_supported: "Warning: Printing is not fully supported by this browser.",
- printing_not_ready: "Warning: The PDF is not fully loaded for printing.",
- web_fonts_disabled: "Web fonts are disabled: unable to use embedded PDF fonts.",
- free_text2_default_content: "Start typing…",
- editor_free_text2_aria_label: "Text Editor",
- editor_ink2_aria_label: "Draw Editor",
- editor_ink_canvas_aria_label: "User-created image"
-};
-{
- DEFAULT_L10N_STRINGS.print_progress_percent = "{{progress}}%";
-}
-function getL10nFallback(key, args) {
- switch (key) {
- case "find_match_count":
- key = `find_match_count[${args.total === 1 ? "one" : "other"}]`;
- break;
- case "find_match_count_limit":
- key = `find_match_count_limit[${args.limit === 1 ? "one" : "other"}]`;
- break;
- }
- return DEFAULT_L10N_STRINGS[key] || "";
-}
-function formatL10nValue(text, args) {
- if (!args) {
- return text;
- }
- return text.replaceAll(/\{\{\s*(\w+)\s*\}\}/g, (all, name) => {
- return name in args ? args[name] : "{{" + name + "}}";
- });
-}
-const NullL10n = {
- async getLanguage() {
- return "en-us";
- },
- async getDirection() {
- return "ltr";
- },
- async get(key) {
- let args = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
- let fallback = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : getL10nFallback(key, args);
- return formatL10nValue(fallback, args);
- },
- async translate(element) {}
-};
-exports.NullL10n = NullL10n;
-
-/***/ }),
-/* 200 */
-/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", ({
- value: true
-}));
-exports.XfaLayer = void 0;
-__w_pdfjs_require__(89);
-var _xfa_text = __w_pdfjs_require__(193);
-class XfaLayer {
- static setupStorage(html, id, element, storage, intent) {
- const storedData = storage.getValue(id, {
- value: null
- });
- switch (element.name) {
- case "textarea":
- if (storedData.value !== null) {
- html.textContent = storedData.value;
- }
- if (intent === "print") {
- break;
- }
- html.addEventListener("input", event => {
- storage.setValue(id, {
- value: event.target.value
- });
- });
- break;
- case "input":
- if (element.attributes.type === "radio" || element.attributes.type === "checkbox") {
- if (storedData.value === element.attributes.xfaOn) {
- html.setAttribute("checked", true);
- } else if (storedData.value === element.attributes.xfaOff) {
- html.removeAttribute("checked");
- }
- if (intent === "print") {
- break;
- }
- html.addEventListener("change", event => {
- storage.setValue(id, {
- value: event.target.checked ? event.target.getAttribute("xfaOn") : event.target.getAttribute("xfaOff")
- });
- });
- } else {
- if (storedData.value !== null) {
- html.setAttribute("value", storedData.value);
- }
- if (intent === "print") {
- break;
- }
- html.addEventListener("input", event => {
- storage.setValue(id, {
- value: event.target.value
- });
- });
- }
- break;
- case "select":
- if (storedData.value !== null) {
- html.setAttribute("value", storedData.value);
- for (const option of element.children) {
- if (option.attributes.value === storedData.value) {
- option.attributes.selected = true;
- } else if (option.attributes.hasOwnProperty("selected")) {
- delete option.attributes.selected;
- }
- }
- }
- html.addEventListener("input", event => {
- const options = event.target.options;
- const value = options.selectedIndex === -1 ? "" : options[options.selectedIndex].value;
- storage.setValue(id, {
- value
- });
- });
- break;
- }
- }
- static setAttributes(_ref) {
- let {
- html,
- element,
- storage = null,
- intent,
- linkService
- } = _ref;
- const {
- attributes
- } = element;
- const isHTMLAnchorElement = html instanceof HTMLAnchorElement;
- if (attributes.type === "radio") {
- attributes.name = `${attributes.name}-${intent}`;
- }
- for (const [key, value] of Object.entries(attributes)) {
- if (value === null || value === undefined) {
- continue;
- }
- switch (key) {
- case "class":
- if (value.length) {
- html.setAttribute(key, value.join(" "));
- }
- break;
- case "dataId":
- break;
- case "id":
- html.setAttribute("data-element-id", value);
- break;
- case "style":
- Object.assign(html.style, value);
- break;
- case "textContent":
- html.textContent = value;
- break;
- default:
- if (!isHTMLAnchorElement || key !== "href" && key !== "newWindow") {
- html.setAttribute(key, value);
- }
- }
- }
- if (isHTMLAnchorElement) {
- linkService.addLinkAttributes(html, attributes.href, attributes.newWindow);
- }
- if (storage && attributes.dataId) {
- this.setupStorage(html, attributes.dataId, element, storage);
- }
- }
- static render(parameters) {
- const storage = parameters.annotationStorage;
- const linkService = parameters.linkService;
- const root = parameters.xfaHtml;
- const intent = parameters.intent || "display";
- const rootHtml = document.createElement(root.name);
- if (root.attributes) {
- this.setAttributes({
- html: rootHtml,
- element: root,
- intent,
- linkService
- });
- }
- const stack = [[root, -1, rootHtml]];
- const rootDiv = parameters.div;
- rootDiv.append(rootHtml);
- if (parameters.viewport) {
- const transform = `matrix(${parameters.viewport.transform.join(",")})`;
- rootDiv.style.transform = transform;
- }
- if (intent !== "richText") {
- rootDiv.setAttribute("class", "xfaLayer xfaFont");
- }
- const textDivs = [];
- while (stack.length > 0) {
- const [parent, i, html] = stack.at(-1);
- if (i + 1 === parent.children.length) {
- stack.pop();
- continue;
- }
- const child = parent.children[++stack.at(-1)[1]];
- if (child === null) {
- continue;
- }
- const {
- name
- } = child;
- if (name === "#text") {
- const node = document.createTextNode(child.value);
- textDivs.push(node);
- html.append(node);
- continue;
- }
- const childHtml = child?.attributes?.xmlns ? document.createElementNS(child.attributes.xmlns, name) : document.createElement(name);
- html.append(childHtml);
- if (child.attributes) {
- this.setAttributes({
- html: childHtml,
- element: child,
- storage,
- intent,
- linkService
- });
- }
- if (child.children && child.children.length > 0) {
- stack.push([child, -1, childHtml]);
- } else if (child.value) {
- const node = document.createTextNode(child.value);
- if (_xfa_text.XfaText.shouldBuildText(name)) {
- textDivs.push(node);
- }
- childHtml.append(node);
- }
- }
- for (const el of rootDiv.querySelectorAll(".xfaNonInteractive input, .xfaNonInteractive textarea")) {
- el.setAttribute("readOnly", true);
- }
- return {
- textDivs
- };
- }
- static update(parameters) {
- const transform = `matrix(${parameters.viewport.transform.join(",")})`;
- parameters.div.style.transform = transform;
- parameters.div.hidden = false;
- }
-}
-exports.XfaLayer = XfaLayer;
-
-/***/ }),
-/* 201 */
-/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", ({
- value: true
-}));
-exports.InkEditor = void 0;
-__w_pdfjs_require__(89);
-__w_pdfjs_require__(2);
-var _util = __w_pdfjs_require__(1);
-var _editor = __w_pdfjs_require__(163);
-var _annotation_layer = __w_pdfjs_require__(197);
-var _tools = __w_pdfjs_require__(164);
-class InkEditor extends _editor.AnnotationEditor {
- #baseHeight = 0;
- #baseWidth = 0;
- #boundCanvasContextMenu = this.canvasContextMenu.bind(this);
- #boundCanvasPointermove = this.canvasPointermove.bind(this);
- #boundCanvasPointerleave = this.canvasPointerleave.bind(this);
- #boundCanvasPointerup = this.canvasPointerup.bind(this);
- #boundCanvasPointerdown = this.canvasPointerdown.bind(this);
- #currentPath2D = new Path2D();
- #disableEditing = false;
- #hasSomethingToDraw = false;
- #isCanvasInitialized = false;
- #observer = null;
- #realWidth = 0;
- #realHeight = 0;
- #requestFrameCallback = null;
- static _defaultColor = null;
- static _defaultOpacity = 1;
- static _defaultThickness = 1;
- static _l10nPromise;
- static _type = "ink";
- constructor(params) {
- super({
- ...params,
- name: "inkEditor"
- });
- this.color = params.color || null;
- this.thickness = params.thickness || null;
- this.opacity = params.opacity || null;
- this.paths = [];
- this.bezierPath2D = [];
- this.allRawPaths = [];
- this.currentPath = [];
- this.scaleFactor = 1;
- this.translationX = this.translationY = 0;
- this.x = 0;
- this.y = 0;
- this._willKeepAspectRatio = true;
- }
- static initialize(l10n) {
- this._l10nPromise = new Map(["editor_ink_canvas_aria_label", "editor_ink2_aria_label"].map(str => [str, l10n.get(str)]));
- }
- static updateDefaultParams(type, value) {
- switch (type) {
- case _util.AnnotationEditorParamsType.INK_THICKNESS:
- InkEditor._defaultThickness = value;
- break;
- case _util.AnnotationEditorParamsType.INK_COLOR:
- InkEditor._defaultColor = value;
- break;
- case _util.AnnotationEditorParamsType.INK_OPACITY:
- InkEditor._defaultOpacity = value / 100;
- break;
- }
- }
- updateParams(type, value) {
- switch (type) {
- case _util.AnnotationEditorParamsType.INK_THICKNESS:
- this.#updateThickness(value);
- break;
- case _util.AnnotationEditorParamsType.INK_COLOR:
- this.#updateColor(value);
- break;
- case _util.AnnotationEditorParamsType.INK_OPACITY:
- this.#updateOpacity(value);
- break;
- }
- }
- static get defaultPropertiesToUpdate() {
- return [[_util.AnnotationEditorParamsType.INK_THICKNESS, InkEditor._defaultThickness], [_util.AnnotationEditorParamsType.INK_COLOR, InkEditor._defaultColor || _editor.AnnotationEditor._defaultLineColor], [_util.AnnotationEditorParamsType.INK_OPACITY, Math.round(InkEditor._defaultOpacity * 100)]];
- }
- get propertiesToUpdate() {
- return [[_util.AnnotationEditorParamsType.INK_THICKNESS, this.thickness || InkEditor._defaultThickness], [_util.AnnotationEditorParamsType.INK_COLOR, this.color || InkEditor._defaultColor || _editor.AnnotationEditor._defaultLineColor], [_util.AnnotationEditorParamsType.INK_OPACITY, Math.round(100 * (this.opacity ?? InkEditor._defaultOpacity))]];
- }
- #updateThickness(thickness) {
- const savedThickness = this.thickness;
- this.addCommands({
- cmd: () => {
- this.thickness = thickness;
- this.#fitToContent();
- },
- undo: () => {
- this.thickness = savedThickness;
- this.#fitToContent();
- },
- mustExec: true,
- type: _util.AnnotationEditorParamsType.INK_THICKNESS,
- overwriteIfSameType: true,
- keepUndo: true
- });
- }
- #updateColor(color) {
- const savedColor = this.color;
- this.addCommands({
- cmd: () => {
- this.color = color;
- this.#redraw();
- },
- undo: () => {
- this.color = savedColor;
- this.#redraw();
- },
- mustExec: true,
- type: _util.AnnotationEditorParamsType.INK_COLOR,
- overwriteIfSameType: true,
- keepUndo: true
- });
- }
- #updateOpacity(opacity) {
- opacity /= 100;
- const savedOpacity = this.opacity;
- this.addCommands({
- cmd: () => {
- this.opacity = opacity;
- this.#redraw();
- },
- undo: () => {
- this.opacity = savedOpacity;
- this.#redraw();
- },
- mustExec: true,
- type: _util.AnnotationEditorParamsType.INK_OPACITY,
- overwriteIfSameType: true,
- keepUndo: true
- });
- }
- rebuild() {
- super.rebuild();
- if (this.div === null) {
- return;
- }
- if (!this.canvas) {
- this.#createCanvas();
- this.#createObserver();
- }
- if (!this.isAttachedToDOM) {
- this.parent.add(this);
- this.#setCanvasDims();
- }
- this.#fitToContent();
- }
- remove() {
- if (this.canvas === null) {
- return;
- }
- if (!this.isEmpty()) {
- this.commit();
- }
- this.canvas.width = this.canvas.height = 0;
- this.canvas.remove();
- this.canvas = null;
- this.#observer.disconnect();
- this.#observer = null;
- super.remove();
- }
- setParent(parent) {
- if (!this.parent && parent) {
- this._uiManager.removeShouldRescale(this);
- } else if (this.parent && parent === null) {
- this._uiManager.addShouldRescale(this);
- }
- super.setParent(parent);
- }
- onScaleChanging() {
- const [parentWidth, parentHeight] = this.parentDimensions;
- const width = this.width * parentWidth;
- const height = this.height * parentHeight;
- this.setDimensions(width, height);
- }
- enableEditMode() {
- if (this.#disableEditing || this.canvas === null) {
- return;
- }
- super.enableEditMode();
- this.div.draggable = false;
- this.canvas.addEventListener("pointerdown", this.#boundCanvasPointerdown);
- }
- disableEditMode() {
- if (!this.isInEditMode() || this.canvas === null) {
- return;
- }
- super.disableEditMode();
- this.div.draggable = !this.isEmpty();
- this.div.classList.remove("editing");
- this.canvas.removeEventListener("pointerdown", this.#boundCanvasPointerdown);
- }
- onceAdded() {
- this.div.draggable = !this.isEmpty();
- }
- isEmpty() {
- return this.paths.length === 0 || this.paths.length === 1 && this.paths[0].length === 0;
- }
- #getInitialBBox() {
- const {
- parentRotation,
- parentDimensions: [width, height]
- } = this;
- switch (parentRotation) {
- case 90:
- return [0, height, height, width];
- case 180:
- return [width, height, width, height];
- case 270:
- return [width, 0, height, width];
- default:
- return [0, 0, width, height];
- }
- }
- #setStroke() {
- const {
- ctx,
- color,
- opacity,
- thickness,
- parentScale,
- scaleFactor
- } = this;
- ctx.lineWidth = thickness * parentScale / scaleFactor;
- ctx.lineCap = "round";
- ctx.lineJoin = "round";
- ctx.miterLimit = 10;
- ctx.strokeStyle = `${color}${(0, _tools.opacityToHex)(opacity)}`;
- }
- #startDrawing(x, y) {
- this.canvas.addEventListener("contextmenu", this.#boundCanvasContextMenu);
- this.canvas.addEventListener("pointerleave", this.#boundCanvasPointerleave);
- this.canvas.addEventListener("pointermove", this.#boundCanvasPointermove);
- this.canvas.addEventListener("pointerup", this.#boundCanvasPointerup);
- this.canvas.removeEventListener("pointerdown", this.#boundCanvasPointerdown);
- this.isEditing = true;
- if (!this.#isCanvasInitialized) {
- this.#isCanvasInitialized = true;
- this.#setCanvasDims();
- this.thickness ||= InkEditor._defaultThickness;
- this.color ||= InkEditor._defaultColor || _editor.AnnotationEditor._defaultLineColor;
- this.opacity ??= InkEditor._defaultOpacity;
- }
- this.currentPath.push([x, y]);
- this.#hasSomethingToDraw = false;
- this.#setStroke();
- this.#requestFrameCallback = () => {
- this.#drawPoints();
- if (this.#requestFrameCallback) {
- window.requestAnimationFrame(this.#requestFrameCallback);
- }
- };
- window.requestAnimationFrame(this.#requestFrameCallback);
- }
- #draw(x, y) {
- const [lastX, lastY] = this.currentPath.at(-1);
- if (this.currentPath.length > 1 && x === lastX && y === lastY) {
- return;
- }
- const currentPath = this.currentPath;
- let path2D = this.#currentPath2D;
- currentPath.push([x, y]);
- this.#hasSomethingToDraw = true;
- if (currentPath.length <= 2) {
- path2D.moveTo(...currentPath[0]);
- path2D.lineTo(x, y);
- return;
- }
- if (currentPath.length === 3) {
- this.#currentPath2D = path2D = new Path2D();
- path2D.moveTo(...currentPath[0]);
- }
- this.#makeBezierCurve(path2D, ...currentPath.at(-3), ...currentPath.at(-2), x, y);
- }
- #endPath() {
- if (this.currentPath.length === 0) {
- return;
- }
- const lastPoint = this.currentPath.at(-1);
- this.#currentPath2D.lineTo(...lastPoint);
- }
- #stopDrawing(x, y) {
- this.#requestFrameCallback = null;
- x = Math.min(Math.max(x, 0), this.canvas.width);
- y = Math.min(Math.max(y, 0), this.canvas.height);
- this.#draw(x, y);
- this.#endPath();
- let bezier;
- if (this.currentPath.length !== 1) {
- bezier = this.#generateBezierPoints();
- } else {
- const xy = [x, y];
- bezier = [[xy, xy.slice(), xy.slice(), xy]];
- }
- const path2D = this.#currentPath2D;
- const currentPath = this.currentPath;
- this.currentPath = [];
- this.#currentPath2D = new Path2D();
- const cmd = () => {
- this.allRawPaths.push(currentPath);
- this.paths.push(bezier);
- this.bezierPath2D.push(path2D);
- this.rebuild();
- };
- const undo = () => {
- this.allRawPaths.pop();
- this.paths.pop();
- this.bezierPath2D.pop();
- if (this.paths.length === 0) {
- this.remove();
- } else {
- if (!this.canvas) {
- this.#createCanvas();
- this.#createObserver();
- }
- this.#fitToContent();
- }
- };
- this.addCommands({
- cmd,
- undo,
- mustExec: true
- });
- }
- #drawPoints() {
- if (!this.#hasSomethingToDraw) {
- return;
- }
- this.#hasSomethingToDraw = false;
- const thickness = Math.ceil(this.thickness * this.parentScale);
- const lastPoints = this.currentPath.slice(-3);
- const x = lastPoints.map(xy => xy[0]);
- const y = lastPoints.map(xy => xy[1]);
- const xMin = Math.min(...x) - thickness;
- const xMax = Math.max(...x) + thickness;
- const yMin = Math.min(...y) - thickness;
- const yMax = Math.max(...y) + thickness;
- const {
- ctx
- } = this;
- ctx.save();
- ctx.clearRect(0, 0, this.canvas.width, this.canvas.height);
- for (const path of this.bezierPath2D) {
- ctx.stroke(path);
- }
- ctx.stroke(this.#currentPath2D);
- ctx.restore();
- }
- #makeBezierCurve(path2D, x0, y0, x1, y1, x2, y2) {
- const prevX = (x0 + x1) / 2;
- const prevY = (y0 + y1) / 2;
- const x3 = (x1 + x2) / 2;
- const y3 = (y1 + y2) / 2;
- path2D.bezierCurveTo(prevX + 2 * (x1 - prevX) / 3, prevY + 2 * (y1 - prevY) / 3, x3 + 2 * (x1 - x3) / 3, y3 + 2 * (y1 - y3) / 3, x3, y3);
- }
- #generateBezierPoints() {
- const path = this.currentPath;
- if (path.length <= 2) {
- return [[path[0], path[0], path.at(-1), path.at(-1)]];
- }
- const bezierPoints = [];
- let i;
- let [x0, y0] = path[0];
- for (i = 1; i < path.length - 2; i++) {
- const [x1, y1] = path[i];
- const [x2, y2] = path[i + 1];
- const x3 = (x1 + x2) / 2;
- const y3 = (y1 + y2) / 2;
- const control1 = [x0 + 2 * (x1 - x0) / 3, y0 + 2 * (y1 - y0) / 3];
- const control2 = [x3 + 2 * (x1 - x3) / 3, y3 + 2 * (y1 - y3) / 3];
- bezierPoints.push([[x0, y0], control1, control2, [x3, y3]]);
- [x0, y0] = [x3, y3];
- }
- const [x1, y1] = path[i];
- const [x2, y2] = path[i + 1];
- const control1 = [x0 + 2 * (x1 - x0) / 3, y0 + 2 * (y1 - y0) / 3];
- const control2 = [x2 + 2 * (x1 - x2) / 3, y2 + 2 * (y1 - y2) / 3];
- bezierPoints.push([[x0, y0], control1, control2, [x2, y2]]);
- return bezierPoints;
- }
- #redraw() {
- if (this.isEmpty()) {
- this.#updateTransform();
- return;
- }
- this.#setStroke();
- const {
- canvas,
- ctx
- } = this;
- ctx.setTransform(1, 0, 0, 1, 0, 0);
- ctx.clearRect(0, 0, canvas.width, canvas.height);
- this.#updateTransform();
- for (const path of this.bezierPath2D) {
- ctx.stroke(path);
- }
- }
- commit() {
- if (this.#disableEditing) {
- return;
- }
- super.commit();
- this.isEditing = false;
- this.disableEditMode();
- this.setInForeground();
- this.#disableEditing = true;
- this.div.classList.add("disabled");
- this.#fitToContent(true);
- this.makeResizable();
- this.parent.addInkEditorIfNeeded(true);
- this.parent.moveEditorInDOM(this);
- this.div.focus({
- preventScroll: true
- });
- }
- focusin(event) {
- super.focusin(event);
- this.enableEditMode();
- }
- canvasPointerdown(event) {
- if (event.button !== 0 || !this.isInEditMode() || this.#disableEditing) {
- return;
- }
- this.setInForeground();
- event.preventDefault();
- if (event.type !== "mouse") {
- this.div.focus();
- }
- this.#startDrawing(event.offsetX, event.offsetY);
- }
- canvasContextMenu(event) {
- event.preventDefault();
- }
- canvasPointermove(event) {
- event.preventDefault();
- this.#draw(event.offsetX, event.offsetY);
- }
- canvasPointerup(event) {
- event.preventDefault();
- this.#endDrawing(event);
- }
- canvasPointerleave(event) {
- this.#endDrawing(event);
- }
- #endDrawing(event) {
- this.canvas.removeEventListener("pointerleave", this.#boundCanvasPointerleave);
- this.canvas.removeEventListener("pointermove", this.#boundCanvasPointermove);
- this.canvas.removeEventListener("pointerup", this.#boundCanvasPointerup);
- this.canvas.addEventListener("pointerdown", this.#boundCanvasPointerdown);
- setTimeout(() => {
- this.canvas.removeEventListener("contextmenu", this.#boundCanvasContextMenu);
- }, 10);
- this.#stopDrawing(event.offsetX, event.offsetY);
- this.addToAnnotationStorage();
- this.setInBackground();
- }
- #createCanvas() {
- this.canvas = document.createElement("canvas");
- this.canvas.width = this.canvas.height = 0;
- this.canvas.className = "inkEditorCanvas";
- InkEditor._l10nPromise.get("editor_ink_canvas_aria_label").then(msg => this.canvas?.setAttribute("aria-label", msg));
- this.div.append(this.canvas);
- this.ctx = this.canvas.getContext("2d");
- }
- #createObserver() {
- this.#observer = new ResizeObserver(entries => {
- const rect = entries[0].contentRect;
- if (rect.width && rect.height) {
- this.setDimensions(rect.width, rect.height);
- }
- });
- this.#observer.observe(this.div);
- }
- get isResizable() {
- return !this.isEmpty() && this.#disableEditing;
- }
- render() {
- if (this.div) {
- return this.div;
- }
- let baseX, baseY;
- if (this.width) {
- baseX = this.x;
- baseY = this.y;
- }
- super.render();
- InkEditor._l10nPromise.get("editor_ink2_aria_label").then(msg => this.div?.setAttribute("aria-label", msg));
- const [x, y, w, h] = this.#getInitialBBox();
- this.setAt(x, y, 0, 0);
- this.setDims(w, h);
- this.#createCanvas();
- if (this.width) {
- const [parentWidth, parentHeight] = this.parentDimensions;
- this.setAspectRatio(this.width * parentWidth, this.height * parentHeight);
- this.setAt(baseX * parentWidth, baseY * parentHeight, this.width * parentWidth, this.height * parentHeight);
- this.#isCanvasInitialized = true;
- this.#setCanvasDims();
- this.setDims(this.width * parentWidth, this.height * parentHeight);
- this.#redraw();
- this.div.classList.add("disabled");
- } else {
- this.div.classList.add("editing");
- this.enableEditMode();
- }
- this.#createObserver();
- return this.div;
- }
- #setCanvasDims() {
- if (!this.#isCanvasInitialized) {
- return;
- }
- const [parentWidth, parentHeight] = this.parentDimensions;
- this.canvas.width = Math.ceil(this.width * parentWidth);
- this.canvas.height = Math.ceil(this.height * parentHeight);
- this.#updateTransform();
- }
- setDimensions(width, height) {
- const roundedWidth = Math.round(width);
- const roundedHeight = Math.round(height);
- if (this.#realWidth === roundedWidth && this.#realHeight === roundedHeight) {
- return;
- }
- this.#realWidth = roundedWidth;
- this.#realHeight = roundedHeight;
- this.canvas.style.visibility = "hidden";
- const [parentWidth, parentHeight] = this.parentDimensions;
- this.width = width / parentWidth;
- this.height = height / parentHeight;
- this.fixAndSetPosition();
- if (this.#disableEditing) {
- this.#setScaleFactor(width, height);
- }
- this.#setCanvasDims();
- this.#redraw();
- this.canvas.style.visibility = "visible";
- this.fixDims();
- }
- #setScaleFactor(width, height) {
- const padding = this.#getPadding();
- const scaleFactorW = (width - padding) / this.#baseWidth;
- const scaleFactorH = (height - padding) / this.#baseHeight;
- this.scaleFactor = Math.min(scaleFactorW, scaleFactorH);
- }
- #updateTransform() {
- const padding = this.#getPadding() / 2;
- this.ctx.setTransform(this.scaleFactor, 0, 0, this.scaleFactor, this.translationX * this.scaleFactor + padding, this.translationY * this.scaleFactor + padding);
- }
- static #buildPath2D(bezier) {
- const path2D = new Path2D();
- for (let i = 0, ii = bezier.length; i < ii; i++) {
- const [first, control1, control2, second] = bezier[i];
- if (i === 0) {
- path2D.moveTo(...first);
- }
- path2D.bezierCurveTo(control1[0], control1[1], control2[0], control2[1], second[0], second[1]);
- }
- return path2D;
- }
- static #toPDFCoordinates(points, rect, rotation) {
- const [blX, blY, trX, trY] = rect;
- switch (rotation) {
- case 0:
- for (let i = 0, ii = points.length; i < ii; i += 2) {
- points[i] += blX;
- points[i + 1] = trY - points[i + 1];
- }
- break;
- case 90:
- for (let i = 0, ii = points.length; i < ii; i += 2) {
- const x = points[i];
- points[i] = points[i + 1] + blX;
- points[i + 1] = x + blY;
- }
- break;
- case 180:
- for (let i = 0, ii = points.length; i < ii; i += 2) {
- points[i] = trX - points[i];
- points[i + 1] += blY;
- }
- break;
- case 270:
- for (let i = 0, ii = points.length; i < ii; i += 2) {
- const x = points[i];
- points[i] = trX - points[i + 1];
- points[i + 1] = trY - x;
- }
- break;
- default:
- throw new Error("Invalid rotation");
- }
- return points;
- }
- static #fromPDFCoordinates(points, rect, rotation) {
- const [blX, blY, trX, trY] = rect;
- switch (rotation) {
- case 0:
- for (let i = 0, ii = points.length; i < ii; i += 2) {
- points[i] -= blX;
- points[i + 1] = trY - points[i + 1];
- }
- break;
- case 90:
- for (let i = 0, ii = points.length; i < ii; i += 2) {
- const x = points[i];
- points[i] = points[i + 1] - blY;
- points[i + 1] = x - blX;
- }
- break;
- case 180:
- for (let i = 0, ii = points.length; i < ii; i += 2) {
- points[i] = trX - points[i];
- points[i + 1] -= blY;
- }
- break;
- case 270:
- for (let i = 0, ii = points.length; i < ii; i += 2) {
- const x = points[i];
- points[i] = trY - points[i + 1];
- points[i + 1] = trX - x;
- }
- break;
- default:
- throw new Error("Invalid rotation");
- }
- return points;
- }
- #serializePaths(s, tx, ty, rect) {
- const paths = [];
- const padding = this.thickness / 2;
- const shiftX = s * tx + padding;
- const shiftY = s * ty + padding;
- for (const bezier of this.paths) {
- const buffer = [];
- const points = [];
- for (let j = 0, jj = bezier.length; j < jj; j++) {
- const [first, control1, control2, second] = bezier[j];
- const p10 = s * first[0] + shiftX;
- const p11 = s * first[1] + shiftY;
- const p20 = s * control1[0] + shiftX;
- const p21 = s * control1[1] + shiftY;
- const p30 = s * control2[0] + shiftX;
- const p31 = s * control2[1] + shiftY;
- const p40 = s * second[0] + shiftX;
- const p41 = s * second[1] + shiftY;
- if (j === 0) {
- buffer.push(p10, p11);
- points.push(p10, p11);
- }
- buffer.push(p20, p21, p30, p31, p40, p41);
- points.push(p20, p21);
- if (j === jj - 1) {
- points.push(p40, p41);
- }
- }
- paths.push({
- bezier: InkEditor.#toPDFCoordinates(buffer, rect, this.rotation),
- points: InkEditor.#toPDFCoordinates(points, rect, this.rotation)
- });
- }
- return paths;
- }
- #getBbox() {
- let xMin = Infinity;
- let xMax = -Infinity;
- let yMin = Infinity;
- let yMax = -Infinity;
- for (const path of this.paths) {
- for (const [first, control1, control2, second] of path) {
- const bbox = _util.Util.bezierBoundingBox(...first, ...control1, ...control2, ...second);
- xMin = Math.min(xMin, bbox[0]);
- yMin = Math.min(yMin, bbox[1]);
- xMax = Math.max(xMax, bbox[2]);
- yMax = Math.max(yMax, bbox[3]);
- }
- }
- return [xMin, yMin, xMax, yMax];
- }
- #getPadding() {
- return this.#disableEditing ? Math.ceil(this.thickness * this.parentScale) : 0;
- }
- #fitToContent() {
- let firstTime = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
- if (this.isEmpty()) {
- return;
- }
- if (!this.#disableEditing) {
- this.#redraw();
- return;
- }
- const bbox = this.#getBbox();
- const padding = this.#getPadding();
- this.#baseWidth = Math.max(_editor.AnnotationEditor.MIN_SIZE, bbox[2] - bbox[0]);
- this.#baseHeight = Math.max(_editor.AnnotationEditor.MIN_SIZE, bbox[3] - bbox[1]);
- const width = Math.ceil(padding + this.#baseWidth * this.scaleFactor);
- const height = Math.ceil(padding + this.#baseHeight * this.scaleFactor);
- const [parentWidth, parentHeight] = this.parentDimensions;
- this.width = width / parentWidth;
- this.height = height / parentHeight;
- this.setAspectRatio(width, height);
- const prevTranslationX = this.translationX;
- const prevTranslationY = this.translationY;
- this.translationX = -bbox[0];
- this.translationY = -bbox[1];
- this.#setCanvasDims();
- this.#redraw();
- this.#realWidth = width;
- this.#realHeight = height;
- this.setDims(width, height);
- const unscaledPadding = firstTime ? padding / this.scaleFactor / 2 : 0;
- this.translate(prevTranslationX - this.translationX - unscaledPadding, prevTranslationY - this.translationY - unscaledPadding);
- }
- static deserialize(data, parent, uiManager) {
- if (data instanceof _annotation_layer.InkAnnotationElement) {
- return null;
- }
- const editor = super.deserialize(data, parent, uiManager);
- editor.thickness = data.thickness;
- editor.color = _util.Util.makeHexColor(...data.color);
- editor.opacity = data.opacity;
- const [pageWidth, pageHeight] = editor.pageDimensions;
- const width = editor.width * pageWidth;
- const height = editor.height * pageHeight;
- const scaleFactor = editor.parentScale;
- const padding = data.thickness / 2;
- editor.#disableEditing = true;
- editor.#realWidth = Math.round(width);
- editor.#realHeight = Math.round(height);
- const {
- paths,
- rect,
- rotation
- } = data;
- for (let {
- bezier
- } of paths) {
- bezier = InkEditor.#fromPDFCoordinates(bezier, rect, rotation);
- const path = [];
- editor.paths.push(path);
- let p0 = scaleFactor * (bezier[0] - padding);
- let p1 = scaleFactor * (bezier[1] - padding);
- for (let i = 2, ii = bezier.length; i < ii; i += 6) {
- const p10 = scaleFactor * (bezier[i] - padding);
- const p11 = scaleFactor * (bezier[i + 1] - padding);
- const p20 = scaleFactor * (bezier[i + 2] - padding);
- const p21 = scaleFactor * (bezier[i + 3] - padding);
- const p30 = scaleFactor * (bezier[i + 4] - padding);
- const p31 = scaleFactor * (bezier[i + 5] - padding);
- path.push([[p0, p1], [p10, p11], [p20, p21], [p30, p31]]);
- p0 = p30;
- p1 = p31;
- }
- const path2D = this.#buildPath2D(path);
- editor.bezierPath2D.push(path2D);
- }
- const bbox = editor.#getBbox();
- editor.#baseWidth = Math.max(_editor.AnnotationEditor.MIN_SIZE, bbox[2] - bbox[0]);
- editor.#baseHeight = Math.max(_editor.AnnotationEditor.MIN_SIZE, bbox[3] - bbox[1]);
- editor.#setScaleFactor(width, height);
- return editor;
- }
- serialize() {
- if (this.isEmpty()) {
- return null;
- }
- const rect = this.getRect(0, 0);
- const color = _editor.AnnotationEditor._colorManager.convert(this.ctx.strokeStyle);
- return {
- annotationType: _util.AnnotationEditorType.INK,
- color,
- thickness: this.thickness,
- opacity: this.opacity,
- paths: this.#serializePaths(this.scaleFactor / this.parentScale, this.translationX, this.translationY, rect),
- pageIndex: this.pageIndex,
- rect,
- rotation: this.rotation
- };
- }
-}
-exports.InkEditor = InkEditor;
-
-/***/ }),
-/* 202 */
-/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", ({
- value: true
-}));
-exports.StampEditor = void 0;
-__w_pdfjs_require__(148);
-__w_pdfjs_require__(151);
-var _editor = __w_pdfjs_require__(163);
-var _util = __w_pdfjs_require__(1);
-var _display_utils = __w_pdfjs_require__(167);
-var _annotation_layer = __w_pdfjs_require__(197);
-class StampEditor extends _editor.AnnotationEditor {
- #bitmap = null;
- #bitmapId = null;
- #bitmapPromise = null;
- #bitmapUrl = null;
- #canvas = null;
- #observer = null;
- #resizeTimeoutId = null;
- #isSvg = false;
- static _type = "stamp";
- constructor(params) {
- super({
- ...params,
- name: "stampEditor"
- });
- this.#bitmapUrl = params.bitmapUrl;
- }
- #getBitmap() {
- if (this.#bitmapId) {
- this._uiManager.imageManager.getFromId(this.#bitmapId).then(data => {
- if (!data) {
- this.remove();
- return;
- }
- this.#bitmap = data.bitmap;
- this.#createCanvas();
- });
- return;
- }
- if (this.#bitmapUrl) {
- const url = this.#bitmapUrl;
- this.#bitmapUrl = null;
- this.#bitmapPromise = this._uiManager.imageManager.getFromUrl(url).then(data => {
- this.#bitmapPromise = null;
- if (!data) {
- this.remove();
- return;
- }
- ({
- bitmap: this.#bitmap,
- id: this.#bitmapId,
- isSvg: this.#isSvg
- } = data);
- this.#createCanvas();
- });
- return;
- }
- const input = document.createElement("input");
- input.type = "file";
- input.accept = "image/*";
- this.#bitmapPromise = new Promise(resolve => {
- input.addEventListener("change", async () => {
- this.#bitmapPromise = null;
- if (!input.files || input.files.length === 0) {
- this.remove();
- } else {
- const data = await this._uiManager.imageManager.getFromFile(input.files[0]);
- if (!data) {
- this.remove();
- return;
- }
- ({
- bitmap: this.#bitmap,
- id: this.#bitmapId,
- isSvg: this.#isSvg
- } = data);
- this.#createCanvas();
- }
- resolve();
- });
- input.addEventListener("cancel", () => {
- this.#bitmapPromise = null;
- this.remove();
- resolve();
- });
- });
- input.click();
- }
- remove() {
- if (this.#bitmapId) {
- this.#bitmap = null;
- this._uiManager.imageManager.deleteId(this.#bitmapId);
- this.#canvas?.remove();
- this.#canvas = null;
- this.#observer?.disconnect();
- this.#observer = null;
- }
- super.remove();
- }
- rebuild() {
- super.rebuild();
- if (this.div === null) {
- return;
- }
- if (this.#bitmapId) {
- this.#getBitmap();
- }
- if (!this.isAttachedToDOM) {
- this.parent.add(this);
- }
- }
- onceAdded() {
- this.div.draggable = true;
- this.parent.addUndoableEditor(this);
- this.div.focus();
- }
- isEmpty() {
- return this.#bitmapPromise === null && this.#bitmap === null && this.#bitmapUrl === null;
- }
- get isResizable() {
- return true;
- }
- render() {
- if (this.div) {
- return this.div;
- }
- let baseX, baseY;
- if (this.width) {
- baseX = this.x;
- baseY = this.y;
- }
- super.render();
- if (this.#bitmap) {
- this.#createCanvas();
- } else {
- this.div.classList.add("loading");
- this.#getBitmap();
- }
- if (this.width) {
- const [parentWidth, parentHeight] = this.parentDimensions;
- this.setAt(baseX * parentWidth, baseY * parentHeight, this.width * parentWidth, this.height * parentHeight);
- }
- return this.div;
- }
- #createCanvas() {
- const {
- div
- } = this;
- let {
- width,
- height
- } = this.#bitmap;
- const [pageWidth, pageHeight] = this.pageDimensions;
- const MAX_RATIO = 0.75;
- if (this.width) {
- width = this.width * pageWidth;
- height = this.height * pageHeight;
- } else if (width > MAX_RATIO * pageWidth || height > MAX_RATIO * pageHeight) {
- const factor = Math.min(MAX_RATIO * pageWidth / width, MAX_RATIO * pageHeight / height);
- width *= factor;
- height *= factor;
- }
- const [parentWidth, parentHeight] = this.parentDimensions;
- this.setDims(width * parentWidth / pageWidth, height * parentHeight / pageHeight);
- const canvas = this.#canvas = document.createElement("canvas");
- div.append(canvas);
- this.#drawBitmap(width, height);
- this.#createObserver();
- div.classList.remove("loading");
- }
- #setDimensions(width, height) {
- const [parentWidth, parentHeight] = this.parentDimensions;
- this.width = width / parentWidth;
- this.height = height / parentHeight;
- this.setDims(width, height);
- this.fixAndSetPosition();
- if (this.#resizeTimeoutId !== null) {
- clearTimeout(this.#resizeTimeoutId);
- }
- const TIME_TO_WAIT = 200;
- this.#resizeTimeoutId = setTimeout(() => {
- this.#resizeTimeoutId = null;
- this.#drawBitmap(width, height);
- }, TIME_TO_WAIT);
- }
- #scaleBitmap(width, height) {
- const {
- width: bitmapWidth,
- height: bitmapHeight
- } = this.#bitmap;
- let newWidth = bitmapWidth;
- let newHeight = bitmapHeight;
- let bitmap = this.#bitmap;
- while (newWidth > 2 * width || newHeight > 2 * height) {
- const prevWidth = newWidth;
- const prevHeight = newHeight;
- if (newWidth > 2 * width) {
- newWidth = newWidth >= 16384 ? Math.floor(newWidth / 2) - 1 : Math.ceil(newWidth / 2);
- }
- if (newHeight > 2 * height) {
- newHeight = newHeight >= 16384 ? Math.floor(newHeight / 2) - 1 : Math.ceil(newHeight / 2);
- }
- const offscreen = new OffscreenCanvas(newWidth, newHeight);
- const ctx = offscreen.getContext("2d");
- ctx.drawImage(bitmap, 0, 0, prevWidth, prevHeight, 0, 0, newWidth, newHeight);
- bitmap = offscreen.transferToImageBitmap();
- }
- return bitmap;
- }
- #drawBitmap(width, height) {
- const canvas = this.#canvas;
- if (!canvas || canvas.width === width && canvas.height === height) {
- return;
- }
- canvas.width = width;
- canvas.height = height;
- const bitmap = this.#isSvg ? this.#bitmap : this.#scaleBitmap(width, height);
- const ctx = canvas.getContext("2d");
- ctx.filter = this._uiManager.hcmFilter;
- ctx.drawImage(bitmap, 0, 0, bitmap.width, bitmap.height, 0, 0, width, height);
- }
- #serializeBitmap(toUrl) {
- if (toUrl) {
- if (this.#isSvg) {
- const url = this._uiManager.imageManager.getSvgUrl(this.#bitmapId);
- if (url) {
- return url;
- }
- }
- const canvas = document.createElement("canvas");
- ({
- width: canvas.width,
- height: canvas.height
- } = this.#bitmap);
- const ctx = canvas.getContext("2d");
- ctx.drawImage(this.#bitmap, 0, 0);
- return canvas.toDataURL();
- }
- if (this.#isSvg) {
- const [pageWidth, pageHeight] = this.pageDimensions;
- const width = Math.round(this.width * pageWidth * _display_utils.PixelsPerInch.PDF_TO_CSS_UNITS);
- const height = Math.round(this.height * pageHeight * _display_utils.PixelsPerInch.PDF_TO_CSS_UNITS);
- const offscreen = new OffscreenCanvas(width, height);
- const ctx = offscreen.getContext("2d");
- ctx.drawImage(this.#bitmap, 0, 0, this.#bitmap.width, this.#bitmap.height, 0, 0, width, height);
- return offscreen.transferToImageBitmap();
- }
- return structuredClone(this.#bitmap);
- }
- #createObserver() {
- this.#observer = new ResizeObserver(entries => {
- const rect = entries[0].contentRect;
- if (rect.width && rect.height) {
- this.#setDimensions(rect.width, rect.height);
- }
- });
- this.#observer.observe(this.div);
- }
- static deserialize(data, parent, uiManager) {
- if (data instanceof _annotation_layer.StampAnnotationElement) {
- return null;
- }
- const editor = super.deserialize(data, parent, uiManager);
- const {
- rect,
- bitmapUrl,
- bitmapId,
- isSvg
- } = data;
- if (bitmapId && uiManager.imageManager.isValidId(bitmapId)) {
- editor.#bitmapId = bitmapId;
- } else {
- editor.#bitmapUrl = bitmapUrl;
- }
- editor.#isSvg = isSvg;
- const [parentWidth, parentHeight] = editor.pageDimensions;
- editor.width = (rect[2] - rect[0]) / parentWidth;
- editor.height = (rect[3] - rect[1]) / parentHeight;
- return editor;
- }
- serialize() {
- let isForCopying = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
- let context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
- if (this.isEmpty()) {
- return null;
- }
- const serialized = {
- annotationType: _util.AnnotationEditorType.STAMP,
- bitmapId: this.#bitmapId,
- pageIndex: this.pageIndex,
- rect: this.getRect(0, 0),
- rotation: this.rotation,
- isSvg: this.#isSvg
- };
- if (isForCopying) {
- serialized.bitmapUrl = this.#serializeBitmap(true);
- return serialized;
- }
- if (context === null) {
- return serialized;
- }
- context.stamps ||= new Map();
- const area = this.#isSvg ? (serialized.rect[2] - serialized.rect[0]) * (serialized.rect[3] - serialized.rect[1]) : null;
- if (!context.stamps.has(this.#bitmapId)) {
- context.stamps.set(this.#bitmapId, {
- area,
- serialized
- });
- serialized.bitmap = this.#serializeBitmap(false);
- } else if (this.#isSvg) {
- const prevData = context.stamps.get(this.#bitmapId);
- if (area > prevData.area) {
- prevData.area = area;
- prevData.serialized.bitmap.close();
- prevData.serialized.bitmap = this.#serializeBitmap(false);
- }
- }
- return serialized;
- }
-}
-exports.StampEditor = StampEditor;
-
-/***/ })
-/******/ ]);
-/************************************************************************/
-/******/ // The module cache
-/******/ var __webpack_module_cache__ = {};
-/******/
-/******/ // The require function
-/******/ function __w_pdfjs_require__(moduleId) {
-/******/ // Check if module is in cache
-/******/ var cachedModule = __webpack_module_cache__[moduleId];
-/******/ if (cachedModule !== undefined) {
-/******/ return cachedModule.exports;
-/******/ }
-/******/ // Create a new module (and put it into the cache)
-/******/ var module = __webpack_module_cache__[moduleId] = {
-/******/ // no module.id needed
-/******/ // no module.loaded needed
-/******/ exports: {}
-/******/ };
-/******/
-/******/ // Execute the module function
-/******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __w_pdfjs_require__);
-/******/
-/******/ // Return the exports of the module
-/******/ return module.exports;
-/******/ }
-/******/
-/************************************************************************/
-var __webpack_exports__ = {};
-// This entry need to be wrapped in an IIFE because it need to be in strict mode.
-(() => {
-"use strict";
-var exports = __webpack_exports__;
-
-
-Object.defineProperty(exports, "__esModule", ({
- value: true
-}));
-Object.defineProperty(exports, "AbortException", ({
- enumerable: true,
- get: function () {
- return _util.AbortException;
- }
-}));
-Object.defineProperty(exports, "AnnotationEditorLayer", ({
- enumerable: true,
- get: function () {
- return _annotation_editor_layer.AnnotationEditorLayer;
- }
-}));
-Object.defineProperty(exports, "AnnotationEditorParamsType", ({
- enumerable: true,
- get: function () {
- return _util.AnnotationEditorParamsType;
- }
-}));
-Object.defineProperty(exports, "AnnotationEditorType", ({
- enumerable: true,
- get: function () {
- return _util.AnnotationEditorType;
- }
-}));
-Object.defineProperty(exports, "AnnotationEditorUIManager", ({
- enumerable: true,
- get: function () {
- return _tools.AnnotationEditorUIManager;
- }
-}));
-Object.defineProperty(exports, "AnnotationLayer", ({
- enumerable: true,
- get: function () {
- return _annotation_layer.AnnotationLayer;
- }
-}));
-Object.defineProperty(exports, "AnnotationMode", ({
- enumerable: true,
- get: function () {
- return _util.AnnotationMode;
- }
-}));
-Object.defineProperty(exports, "CMapCompressionType", ({
- enumerable: true,
- get: function () {
- return _util.CMapCompressionType;
- }
-}));
-Object.defineProperty(exports, "FeatureTest", ({
- enumerable: true,
- get: function () {
- return _util.FeatureTest;
- }
-}));
-Object.defineProperty(exports, "GlobalWorkerOptions", ({
- enumerable: true,
- get: function () {
- return _worker_options.GlobalWorkerOptions;
- }
-}));
-Object.defineProperty(exports, "ImageKind", ({
- enumerable: true,
- get: function () {
- return _util.ImageKind;
- }
-}));
-Object.defineProperty(exports, "InvalidPDFException", ({
- enumerable: true,
- get: function () {
- return _util.InvalidPDFException;
- }
-}));
-Object.defineProperty(exports, "MissingPDFException", ({
- enumerable: true,
- get: function () {
- return _util.MissingPDFException;
- }
-}));
-Object.defineProperty(exports, "OPS", ({
- enumerable: true,
- get: function () {
- return _util.OPS;
- }
-}));
-Object.defineProperty(exports, "PDFDataRangeTransport", ({
- enumerable: true,
- get: function () {
- return _api.PDFDataRangeTransport;
- }
-}));
-Object.defineProperty(exports, "PDFDateString", ({
- enumerable: true,
- get: function () {
- return _display_utils.PDFDateString;
- }
-}));
-Object.defineProperty(exports, "PDFWorker", ({
- enumerable: true,
- get: function () {
- return _api.PDFWorker;
- }
-}));
-Object.defineProperty(exports, "PasswordResponses", ({
- enumerable: true,
- get: function () {
- return _util.PasswordResponses;
- }
-}));
-Object.defineProperty(exports, "PermissionFlag", ({
- enumerable: true,
- get: function () {
- return _util.PermissionFlag;
- }
-}));
-Object.defineProperty(exports, "PixelsPerInch", ({
- enumerable: true,
- get: function () {
- return _display_utils.PixelsPerInch;
- }
-}));
-Object.defineProperty(exports, "PromiseCapability", ({
- enumerable: true,
- get: function () {
- return _util.PromiseCapability;
- }
-}));
-Object.defineProperty(exports, "RenderingCancelledException", ({
- enumerable: true,
- get: function () {
- return _display_utils.RenderingCancelledException;
- }
-}));
-Object.defineProperty(exports, "SVGGraphics", ({
- enumerable: true,
- get: function () {
- return _api.SVGGraphics;
- }
-}));
-Object.defineProperty(exports, "UnexpectedResponseException", ({
- enumerable: true,
- get: function () {
- return _util.UnexpectedResponseException;
- }
-}));
-Object.defineProperty(exports, "Util", ({
- enumerable: true,
- get: function () {
- return _util.Util;
- }
-}));
-Object.defineProperty(exports, "VerbosityLevel", ({
- enumerable: true,
- get: function () {
- return _util.VerbosityLevel;
- }
-}));
-Object.defineProperty(exports, "XfaLayer", ({
- enumerable: true,
- get: function () {
- return _xfa_layer.XfaLayer;
- }
-}));
-Object.defineProperty(exports, "build", ({
- enumerable: true,
- get: function () {
- return _api.build;
- }
-}));
-Object.defineProperty(exports, "createValidAbsoluteUrl", ({
- enumerable: true,
- get: function () {
- return _util.createValidAbsoluteUrl;
- }
-}));
-Object.defineProperty(exports, "getDocument", ({
- enumerable: true,
- get: function () {
- return _api.getDocument;
- }
-}));
-Object.defineProperty(exports, "getFilenameFromUrl", ({
- enumerable: true,
- get: function () {
- return _display_utils.getFilenameFromUrl;
- }
-}));
-Object.defineProperty(exports, "getPdfFilenameFromUrl", ({
- enumerable: true,
- get: function () {
- return _display_utils.getPdfFilenameFromUrl;
- }
-}));
-Object.defineProperty(exports, "getXfaPageViewport", ({
- enumerable: true,
- get: function () {
- return _display_utils.getXfaPageViewport;
- }
-}));
-Object.defineProperty(exports, "isDataScheme", ({
- enumerable: true,
- get: function () {
- return _display_utils.isDataScheme;
- }
-}));
-Object.defineProperty(exports, "isPdfFile", ({
- enumerable: true,
- get: function () {
- return _display_utils.isPdfFile;
- }
-}));
-Object.defineProperty(exports, "loadScript", ({
- enumerable: true,
- get: function () {
- return _display_utils.loadScript;
- }
-}));
-Object.defineProperty(exports, "normalizeUnicode", ({
- enumerable: true,
- get: function () {
- return _util.normalizeUnicode;
- }
-}));
-Object.defineProperty(exports, "renderTextLayer", ({
- enumerable: true,
- get: function () {
- return _text_layer.renderTextLayer;
- }
-}));
-Object.defineProperty(exports, "setLayerDimensions", ({
- enumerable: true,
- get: function () {
- return _display_utils.setLayerDimensions;
- }
-}));
-Object.defineProperty(exports, "shadow", ({
- enumerable: true,
- get: function () {
- return _util.shadow;
- }
-}));
-Object.defineProperty(exports, "updateTextLayer", ({
- enumerable: true,
- get: function () {
- return _text_layer.updateTextLayer;
- }
-}));
-Object.defineProperty(exports, "version", ({
- enumerable: true,
- get: function () {
- return _api.version;
- }
-}));
-var _util = __w_pdfjs_require__(1);
-var _api = __w_pdfjs_require__(124);
-var _display_utils = __w_pdfjs_require__(167);
-var _text_layer = __w_pdfjs_require__(194);
-var _annotation_editor_layer = __w_pdfjs_require__(195);
-var _tools = __w_pdfjs_require__(164);
-var _annotation_layer = __w_pdfjs_require__(197);
-var _worker_options = __w_pdfjs_require__(175);
-var _xfa_layer = __w_pdfjs_require__(200);
-const pdfjsVersion = '3.9.179';
-const pdfjsBuild = '1ef6fbc52';
-})();
-
-/******/ return __webpack_exports__;
-/******/ })()
-;
-});
-//# sourceMappingURL=pdf.js.map
\ No newline at end of file
diff --git a/jero-web/public/pdfjs/build/build/pdf.js.map b/jero-web/public/pdfjs/build/build/pdf.js.map
deleted file mode 100644
index 84d2a53..0000000
--- a/jero-web/public/pdfjs/build/build/pdf.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"pdf.js","mappings":"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","sources":["webpack://pdfjs-dist/build/pdf/webpack/universalModuleDefinition","webpack://pdfjs-dist/build/pdf/src/shared/util.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.error.cause.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/export.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/global.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/descriptors.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/fails.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/function-call.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/function-bind-native.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-property-is-enumerable.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/create-property-descriptor.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-indexed-object.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/indexed-object.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/function-uncurry-this.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/classof-raw.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/require-object-coercible.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/is-null-or-undefined.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-property-key.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-primitive.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/is-object.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/is-callable.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/document-all.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/is-symbol.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/get-built-in.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-is-prototype-of.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/use-symbol-as-uid.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/symbol-constructor-detection.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/engine-v8-version.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/engine-user-agent.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/get-method.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/a-callable.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/try-to-string.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/ordinary-to-primitive.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/well-known-symbol.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/shared.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/is-pure.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/shared-store.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/define-global-property.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/has-own-property.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-object.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/uid.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/ie8-dom-define.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/document-create-element.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/create-non-enumerable-property.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-define-property.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/v8-prototype-define-bug.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/an-object.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/define-built-in.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/make-built-in.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/function-name.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/inspect-source.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/internal-state.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/weak-map-basic-detection.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/shared-key.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/hidden-keys.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/copy-constructor-properties.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/own-keys.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-get-own-property-names.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-keys-internal.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/array-includes.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-absolute-index.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-integer-or-infinity.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/math-trunc.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/length-of-array-like.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-length.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/enum-bug-keys.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/is-forced.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/function-apply.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/wrap-error-constructor-with-cause.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-set-prototype-of.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/function-uncurry-this-accessor.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/a-possible-prototype.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/proxy-accessor.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/inherit-if-required.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/normalize-string-argument.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-string.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/classof.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-string-tag-support.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/install-error-cause.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/error-stack-install.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/error-stack-clear.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/error-stack-installable.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/web.url-search-params.delete.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/validate-arguments-length.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/web.url-search-params.has.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/web.url-search-params.size.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/define-built-in-accessor.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.array.push.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/array-set-length.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/is-array.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/does-not-exceed-safe-integer.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.typed-array.find-last.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/array-buffer-view-core.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/array-buffer-basic-detection.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-get-prototype-of.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/correct-prototype-getter.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/array-iteration-from-last.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/function-bind-context.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/function-uncurry-this-clause.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.typed-array.find-last-index.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.typed-array.set.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-offset.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-positive-integer.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.typed-array.to-reversed.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/array-to-reversed.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.typed-array.to-sorted.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/array-from-constructor-and-list.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.typed-array.with.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/array-with.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/is-big-int-array.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-big-int.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/esnext.array-buffer.detached.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/array-buffer-is-detached.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/array-buffer-byte-length.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/esnext.array-buffer.transfer.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/array-buffer-transfer.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-index.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/structured-clone-proper-transfer.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/engine-is-browser.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/engine-is-deno.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/engine-is-node.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/esnext.array-buffer.transfer-to-fixed-length.js","webpack://pdfjs-dist/build/pdf/src/display/api.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/esnext.set.difference.v2.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/set-difference.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/a-set.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/set-helpers.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/set-clone.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/set-iterate.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/iterate-simple.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/set-size.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/get-set-record.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/set-method-accept-set-like.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/esnext.set.intersection.v2.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/set-intersection.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/esnext.set.is-disjoint-from.v2.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/set-is-disjoint-from.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/iterator-close.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/esnext.set.is-subset-of.v2.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/set-is-subset-of.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/esnext.set.is-superset-of.v2.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/set-is-superset-of.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/esnext.set.symmetric-difference.v2.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/set-symmetric-difference.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/esnext.set.union.v2.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/set-union.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/web.dom-exception.stack.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/an-instance.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/dom-exception-constants.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/web.structured-clone.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/is-constructor.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/iterate.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/is-array-iterator-method.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/iterators.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/get-iterator.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/get-iterator-method.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/create-property.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/regexp-get-flags.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/regexp-flags.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/map-helpers.js","webpack://pdfjs-dist/build/pdf/src/display/annotation_storage.js","webpack://pdfjs-dist/build/pdf/src/display/editor/editor.js","webpack://pdfjs-dist/build/pdf/src/display/editor/tools.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/esnext.json.parse.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/parse-json-string.js","webpack://pdfjs-dist/build/pdf/src/display/display_utils.js","webpack://pdfjs-dist/build/pdf/src/display/base_factory.js","webpack://pdfjs-dist/build/pdf/src/shared/murmurhash3.js","webpack://pdfjs-dist/build/pdf/src/display/font_loader.js","webpack://pdfjs-dist/build/pdf/src/display/node_utils.js","webpack://pdfjs-dist/build/pdf/src/display/canvas.js","webpack://pdfjs-dist/build/pdf/src/display/pattern_helper.js","webpack://pdfjs-dist/build/pdf/src/shared/image_utils.js","webpack://pdfjs-dist/build/pdf/src/display/worker_options.js","webpack://pdfjs-dist/build/pdf/src/shared/message_handler.js","webpack://pdfjs-dist/build/pdf/src/display/metadata.js","webpack://pdfjs-dist/build/pdf/src/display/optional_content_config.js","webpack://pdfjs-dist/build/pdf/src/display/transport_stream.js","webpack://pdfjs-dist/build/pdf/src/display/fetch_stream.js","webpack://pdfjs-dist/build/pdf/src/display/network_utils.js","webpack://pdfjs-dist/build/pdf/src/display/content_disposition.js","webpack://pdfjs-dist/build/pdf/src/display/network.js","webpack://pdfjs-dist/build/pdf/src/display/node_stream.js","webpack://pdfjs-dist/build/pdf/src/display/svg.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/esnext.array.group.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/array-group.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-create.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-define-properties.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-keys.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/html.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/add-to-unscopables.js","webpack://pdfjs-dist/build/pdf/src/display/xfa_text.js","webpack://pdfjs-dist/build/pdf/src/display/text_layer.js","webpack://pdfjs-dist/build/pdf/src/display/editor/annotation_editor_layer.js","webpack://pdfjs-dist/build/pdf/src/display/editor/freetext.js","webpack://pdfjs-dist/build/pdf/src/display/annotation_layer.js","webpack://pdfjs-dist/build/pdf/src/shared/scripting_utils.js","webpack://pdfjs-dist/build/pdf/web/l10n_utils.js","webpack://pdfjs-dist/build/pdf/src/display/xfa_layer.js","webpack://pdfjs-dist/build/pdf/src/display/editor/ink.js","webpack://pdfjs-dist/build/pdf/src/display/editor/stamp.js","webpack://pdfjs-dist/build/pdf/webpack/bootstrap","webpack://pdfjs-dist/build/pdf/src/pdf.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"pdfjs-dist/build/pdf\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"pdfjs-dist/build/pdf\"] = factory();\n\telse\n\t\troot[\"pdfjs-dist/build/pdf\"] = factory();\n})(globalThis, () => {\nreturn ","/* Copyright 2012 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* globals process */\n\n// NW.js / Electron is a browser context, but copies some Node.js objects; see\n// http://docs.nwjs.io/en/latest/For%20Users/Advanced/JavaScript%20Contexts%20in%20NW.js/#access-nodejs-and-nwjs-api-in-browser-context\n// https://www.electronjs.org/docs/api/process#processversionselectron-readonly\n// https://www.electronjs.org/docs/api/process#processtype-readonly\nconst isNodeJS =\n (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) &&\n typeof process === \"object\" &&\n process + \"\" === \"[object process]\" &&\n !process.versions.nw &&\n !(process.versions.electron && process.type && process.type !== \"browser\");\n\nconst IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0];\nconst FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0];\n\nconst MAX_IMAGE_SIZE_TO_CACHE = 10e6; // Ten megabytes.\n\n// Represent the percentage of the height of a single-line field over\n// the font size. Acrobat seems to use this value.\nconst LINE_FACTOR = 1.35;\nconst LINE_DESCENT_FACTOR = 0.35;\nconst BASELINE_FACTOR = LINE_DESCENT_FACTOR / LINE_FACTOR;\n\n/**\n * Refer to the `WorkerTransport.getRenderingIntent`-method in the API, to see\n * how these flags are being used:\n * - ANY, DISPLAY, and PRINT are the normal rendering intents, note the\n * `PDFPageProxy.{render, getOperatorList, getAnnotations}`-methods.\n * - ANNOTATIONS_FORMS, ANNOTATIONS_STORAGE, ANNOTATIONS_DISABLE control which\n * annotations are rendered onto the canvas (i.e. by being included in the\n * operatorList), note the `PDFPageProxy.{render, getOperatorList}`-methods\n * and their `annotationMode`-option.\n * - OPLIST is used with the `PDFPageProxy.getOperatorList`-method, note the\n * `OperatorList`-constructor (on the worker-thread).\n */\nconst RenderingIntentFlag = {\n ANY: 0x01,\n DISPLAY: 0x02,\n PRINT: 0x04,\n SAVE: 0x08,\n ANNOTATIONS_FORMS: 0x10,\n ANNOTATIONS_STORAGE: 0x20,\n ANNOTATIONS_DISABLE: 0x40,\n OPLIST: 0x100,\n};\n\nconst AnnotationMode = {\n DISABLE: 0,\n ENABLE: 1,\n ENABLE_FORMS: 2,\n ENABLE_STORAGE: 3,\n};\n\nconst AnnotationEditorPrefix = \"pdfjs_internal_editor_\";\n\nconst AnnotationEditorType = {\n DISABLE: -1,\n NONE: 0,\n FREETEXT: 3,\n STAMP: 13,\n INK: 15,\n};\n\nconst AnnotationEditorParamsType = {\n RESIZE: 1,\n FREETEXT_SIZE: 11,\n FREETEXT_COLOR: 12,\n FREETEXT_OPACITY: 13,\n INK_COLOR: 21,\n INK_THICKNESS: 22,\n INK_OPACITY: 23,\n};\n\n// Permission flags from Table 22, Section 7.6.3.2 of the PDF specification.\nconst PermissionFlag = {\n PRINT: 0x04,\n MODIFY_CONTENTS: 0x08,\n COPY: 0x10,\n MODIFY_ANNOTATIONS: 0x20,\n FILL_INTERACTIVE_FORMS: 0x100,\n COPY_FOR_ACCESSIBILITY: 0x200,\n ASSEMBLE: 0x400,\n PRINT_HIGH_QUALITY: 0x800,\n};\n\nconst TextRenderingMode = {\n FILL: 0,\n STROKE: 1,\n FILL_STROKE: 2,\n INVISIBLE: 3,\n FILL_ADD_TO_PATH: 4,\n STROKE_ADD_TO_PATH: 5,\n FILL_STROKE_ADD_TO_PATH: 6,\n ADD_TO_PATH: 7,\n FILL_STROKE_MASK: 3,\n ADD_TO_PATH_FLAG: 4,\n};\n\nconst ImageKind = {\n GRAYSCALE_1BPP: 1,\n RGB_24BPP: 2,\n RGBA_32BPP: 3,\n};\n\nconst AnnotationType = {\n TEXT: 1,\n LINK: 2,\n FREETEXT: 3,\n LINE: 4,\n SQUARE: 5,\n CIRCLE: 6,\n POLYGON: 7,\n POLYLINE: 8,\n HIGHLIGHT: 9,\n UNDERLINE: 10,\n SQUIGGLY: 11,\n STRIKEOUT: 12,\n STAMP: 13,\n CARET: 14,\n INK: 15,\n POPUP: 16,\n FILEATTACHMENT: 17,\n SOUND: 18,\n MOVIE: 19,\n WIDGET: 20,\n SCREEN: 21,\n PRINTERMARK: 22,\n TRAPNET: 23,\n WATERMARK: 24,\n THREED: 25,\n REDACT: 26,\n};\n\nconst AnnotationReplyType = {\n GROUP: \"Group\",\n REPLY: \"R\",\n};\n\nconst AnnotationFlag = {\n INVISIBLE: 0x01,\n HIDDEN: 0x02,\n PRINT: 0x04,\n NOZOOM: 0x08,\n NOROTATE: 0x10,\n NOVIEW: 0x20,\n READONLY: 0x40,\n LOCKED: 0x80,\n TOGGLENOVIEW: 0x100,\n LOCKEDCONTENTS: 0x200,\n};\n\nconst AnnotationFieldFlag = {\n READONLY: 0x0000001,\n REQUIRED: 0x0000002,\n NOEXPORT: 0x0000004,\n MULTILINE: 0x0001000,\n PASSWORD: 0x0002000,\n NOTOGGLETOOFF: 0x0004000,\n RADIO: 0x0008000,\n PUSHBUTTON: 0x0010000,\n COMBO: 0x0020000,\n EDIT: 0x0040000,\n SORT: 0x0080000,\n FILESELECT: 0x0100000,\n MULTISELECT: 0x0200000,\n DONOTSPELLCHECK: 0x0400000,\n DONOTSCROLL: 0x0800000,\n COMB: 0x1000000,\n RICHTEXT: 0x2000000,\n RADIOSINUNISON: 0x2000000,\n COMMITONSELCHANGE: 0x4000000,\n};\n\nconst AnnotationBorderStyleType = {\n SOLID: 1,\n DASHED: 2,\n BEVELED: 3,\n INSET: 4,\n UNDERLINE: 5,\n};\n\nconst AnnotationActionEventType = {\n E: \"Mouse Enter\",\n X: \"Mouse Exit\",\n D: \"Mouse Down\",\n U: \"Mouse Up\",\n Fo: \"Focus\",\n Bl: \"Blur\",\n PO: \"PageOpen\",\n PC: \"PageClose\",\n PV: \"PageVisible\",\n PI: \"PageInvisible\",\n K: \"Keystroke\",\n F: \"Format\",\n V: \"Validate\",\n C: \"Calculate\",\n};\n\nconst DocumentActionEventType = {\n WC: \"WillClose\",\n WS: \"WillSave\",\n DS: \"DidSave\",\n WP: \"WillPrint\",\n DP: \"DidPrint\",\n};\n\nconst PageActionEventType = {\n O: \"PageOpen\",\n C: \"PageClose\",\n};\n\nconst VerbosityLevel = {\n ERRORS: 0,\n WARNINGS: 1,\n INFOS: 5,\n};\n\nconst CMapCompressionType = {\n NONE: 0,\n BINARY: 1,\n};\n\n// All the possible operations for an operator list.\nconst OPS = {\n // Intentionally start from 1 so it is easy to spot bad operators that will be\n // 0's.\n // PLEASE NOTE: We purposely keep any removed operators commented out, since\n // re-numbering the list would risk breaking third-party users.\n dependency: 1,\n setLineWidth: 2,\n setLineCap: 3,\n setLineJoin: 4,\n setMiterLimit: 5,\n setDash: 6,\n setRenderingIntent: 7,\n setFlatness: 8,\n setGState: 9,\n save: 10,\n restore: 11,\n transform: 12,\n moveTo: 13,\n lineTo: 14,\n curveTo: 15,\n curveTo2: 16,\n curveTo3: 17,\n closePath: 18,\n rectangle: 19,\n stroke: 20,\n closeStroke: 21,\n fill: 22,\n eoFill: 23,\n fillStroke: 24,\n eoFillStroke: 25,\n closeFillStroke: 26,\n closeEOFillStroke: 27,\n endPath: 28,\n clip: 29,\n eoClip: 30,\n beginText: 31,\n endText: 32,\n setCharSpacing: 33,\n setWordSpacing: 34,\n setHScale: 35,\n setLeading: 36,\n setFont: 37,\n setTextRenderingMode: 38,\n setTextRise: 39,\n moveText: 40,\n setLeadingMoveText: 41,\n setTextMatrix: 42,\n nextLine: 43,\n showText: 44,\n showSpacedText: 45,\n nextLineShowText: 46,\n nextLineSetSpacingShowText: 47,\n setCharWidth: 48,\n setCharWidthAndBounds: 49,\n setStrokeColorSpace: 50,\n setFillColorSpace: 51,\n setStrokeColor: 52,\n setStrokeColorN: 53,\n setFillColor: 54,\n setFillColorN: 55,\n setStrokeGray: 56,\n setFillGray: 57,\n setStrokeRGBColor: 58,\n setFillRGBColor: 59,\n setStrokeCMYKColor: 60,\n setFillCMYKColor: 61,\n shadingFill: 62,\n beginInlineImage: 63,\n beginImageData: 64,\n endInlineImage: 65,\n paintXObject: 66,\n markPoint: 67,\n markPointProps: 68,\n beginMarkedContent: 69,\n beginMarkedContentProps: 70,\n endMarkedContent: 71,\n beginCompat: 72,\n endCompat: 73,\n paintFormXObjectBegin: 74,\n paintFormXObjectEnd: 75,\n beginGroup: 76,\n endGroup: 77,\n // beginAnnotations: 78,\n // endAnnotations: 79,\n beginAnnotation: 80,\n endAnnotation: 81,\n // paintJpegXObject: 82,\n paintImageMaskXObject: 83,\n paintImageMaskXObjectGroup: 84,\n paintImageXObject: 85,\n paintInlineImageXObject: 86,\n paintInlineImageXObjectGroup: 87,\n paintImageXObjectRepeat: 88,\n paintImageMaskXObjectRepeat: 89,\n paintSolidColorImageMask: 90,\n constructPath: 91,\n};\n\nconst PasswordResponses = {\n NEED_PASSWORD: 1,\n INCORRECT_PASSWORD: 2,\n};\n\nlet verbosity = VerbosityLevel.WARNINGS;\n\nfunction setVerbosityLevel(level) {\n if (Number.isInteger(level)) {\n verbosity = level;\n }\n}\n\nfunction getVerbosityLevel() {\n return verbosity;\n}\n\n// A notice for devs. These are good for things that are helpful to devs, such\n// as warning that Workers were disabled, which is important to devs but not\n// end users.\nfunction info(msg) {\n if (verbosity >= VerbosityLevel.INFOS) {\n console.log(`Info: ${msg}`);\n }\n}\n\n// Non-fatal warnings.\nfunction warn(msg) {\n if (verbosity >= VerbosityLevel.WARNINGS) {\n console.log(`Warning: ${msg}`);\n }\n}\n\nfunction unreachable(msg) {\n throw new Error(msg);\n}\n\nfunction assert(cond, msg) {\n if (!cond) {\n unreachable(msg);\n }\n}\n\n// Checks if URLs use one of the allowed protocols, e.g. to avoid XSS.\nfunction _isValidProtocol(url) {\n switch (url?.protocol) {\n case \"http:\":\n case \"https:\":\n case \"ftp:\":\n case \"mailto:\":\n case \"tel:\":\n return true;\n default:\n return false;\n }\n}\n\n/**\n * Attempts to create a valid absolute URL.\n *\n * @param {URL|string} url - An absolute, or relative, URL.\n * @param {URL|string} [baseUrl] - An absolute URL.\n * @param {Object} [options]\n * @returns Either a valid {URL}, or `null` otherwise.\n */\nfunction createValidAbsoluteUrl(url, baseUrl = null, options = null) {\n if (!url) {\n return null;\n }\n try {\n if (options && typeof url === \"string\") {\n // Let URLs beginning with \"www.\" default to using the \"http://\" protocol.\n if (options.addDefaultProtocol && url.startsWith(\"www.\")) {\n const dots = url.match(/\\./g);\n // Avoid accidentally matching a *relative* URL pointing to a file named\n // e.g. \"www.pdf\" or similar.\n if (dots?.length >= 2) {\n url = `http://${url}`;\n }\n }\n\n // According to ISO 32000-1:2008, section 12.6.4.7, URIs should be encoded\n // in 7-bit ASCII. Some bad PDFs use UTF-8 encoding; see bug 1122280.\n if (options.tryConvertEncoding) {\n try {\n url = stringToUTF8String(url);\n } catch {}\n }\n }\n\n const absoluteUrl = baseUrl ? new URL(url, baseUrl) : new URL(url);\n if (_isValidProtocol(absoluteUrl)) {\n return absoluteUrl;\n }\n } catch {\n /* `new URL()` will throw on incorrect data. */\n }\n return null;\n}\n\nfunction shadow(obj, prop, value, nonSerializable = false) {\n if (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"TESTING\")) {\n assert(\n prop in obj,\n `shadow: Property \"${prop && prop.toString()}\" not found in object.`\n );\n }\n Object.defineProperty(obj, prop, {\n value,\n enumerable: !nonSerializable,\n configurable: true,\n writable: false,\n });\n return value;\n}\n\n/**\n * @type {any}\n */\nconst BaseException = (function BaseExceptionClosure() {\n // eslint-disable-next-line no-shadow\n function BaseException(message, name) {\n if (this.constructor === BaseException) {\n unreachable(\"Cannot initialize BaseException.\");\n }\n this.message = message;\n this.name = name;\n }\n BaseException.prototype = new Error();\n BaseException.constructor = BaseException;\n\n return BaseException;\n})();\n\nclass PasswordException extends BaseException {\n constructor(msg, code) {\n super(msg, \"PasswordException\");\n this.code = code;\n }\n}\n\nclass UnknownErrorException extends BaseException {\n constructor(msg, details) {\n super(msg, \"UnknownErrorException\");\n this.details = details;\n }\n}\n\nclass InvalidPDFException extends BaseException {\n constructor(msg) {\n super(msg, \"InvalidPDFException\");\n }\n}\n\nclass MissingPDFException extends BaseException {\n constructor(msg) {\n super(msg, \"MissingPDFException\");\n }\n}\n\nclass UnexpectedResponseException extends BaseException {\n constructor(msg, status) {\n super(msg, \"UnexpectedResponseException\");\n this.status = status;\n }\n}\n\n/**\n * Error caused during parsing PDF data.\n */\nclass FormatError extends BaseException {\n constructor(msg) {\n super(msg, \"FormatError\");\n }\n}\n\n/**\n * Error used to indicate task cancellation.\n */\nclass AbortException extends BaseException {\n constructor(msg) {\n super(msg, \"AbortException\");\n }\n}\n\nfunction bytesToString(bytes) {\n if (typeof bytes !== \"object\" || bytes?.length === undefined) {\n unreachable(\"Invalid argument for bytesToString\");\n }\n const length = bytes.length;\n const MAX_ARGUMENT_COUNT = 8192;\n if (length < MAX_ARGUMENT_COUNT) {\n return String.fromCharCode.apply(null, bytes);\n }\n const strBuf = [];\n for (let i = 0; i < length; i += MAX_ARGUMENT_COUNT) {\n const chunkEnd = Math.min(i + MAX_ARGUMENT_COUNT, length);\n const chunk = bytes.subarray(i, chunkEnd);\n strBuf.push(String.fromCharCode.apply(null, chunk));\n }\n return strBuf.join(\"\");\n}\n\nfunction stringToBytes(str) {\n if (typeof str !== \"string\") {\n unreachable(\"Invalid argument for stringToBytes\");\n }\n const length = str.length;\n const bytes = new Uint8Array(length);\n for (let i = 0; i < length; ++i) {\n bytes[i] = str.charCodeAt(i) & 0xff;\n }\n return bytes;\n}\n\nfunction string32(value) {\n if (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"TESTING\")) {\n assert(\n typeof value === \"number\" && Math.abs(value) < 2 ** 32,\n `string32: Unexpected input \"${value}\".`\n );\n }\n return String.fromCharCode(\n (value >> 24) & 0xff,\n (value >> 16) & 0xff,\n (value >> 8) & 0xff,\n value & 0xff\n );\n}\n\nfunction objectSize(obj) {\n return Object.keys(obj).length;\n}\n\n// Ensure that the returned Object has a `null` prototype; hence why\n// `Object.fromEntries(...)` is not used.\nfunction objectFromMap(map) {\n const obj = Object.create(null);\n for (const [key, value] of map) {\n obj[key] = value;\n }\n return obj;\n}\n\n// Checks the endianness of the platform.\nfunction isLittleEndian() {\n const buffer8 = new Uint8Array(4);\n buffer8[0] = 1;\n const view32 = new Uint32Array(buffer8.buffer, 0, 1);\n return view32[0] === 1;\n}\n\n// Checks if it's possible to eval JS expressions.\nfunction isEvalSupported() {\n try {\n new Function(\"\"); // eslint-disable-line no-new, no-new-func\n return true;\n } catch {\n return false;\n }\n}\n\nclass FeatureTest {\n static get isLittleEndian() {\n return shadow(this, \"isLittleEndian\", isLittleEndian());\n }\n\n static get isEvalSupported() {\n return shadow(this, \"isEvalSupported\", isEvalSupported());\n }\n\n static get isOffscreenCanvasSupported() {\n return shadow(\n this,\n \"isOffscreenCanvasSupported\",\n typeof OffscreenCanvas !== \"undefined\"\n );\n }\n\n static get platform() {\n if (\n (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) &&\n typeof navigator === \"undefined\"\n ) {\n return shadow(this, \"platform\", { isWin: false, isMac: false });\n }\n return shadow(this, \"platform\", {\n isWin: navigator.platform.includes(\"Win\"),\n isMac: navigator.platform.includes(\"Mac\"),\n });\n }\n}\n\nconst hexNumbers = [...Array(256).keys()].map(n =>\n n.toString(16).padStart(2, \"0\")\n);\n\nclass Util {\n static makeHexColor(r, g, b) {\n return `#${hexNumbers[r]}${hexNumbers[g]}${hexNumbers[b]}`;\n }\n\n // Apply a scaling matrix to some min/max values.\n // If a scaling factor is negative then min and max must be\n // swaped.\n static scaleMinMax(transform, minMax) {\n let temp;\n if (transform[0]) {\n if (transform[0] < 0) {\n temp = minMax[0];\n minMax[0] = minMax[1];\n minMax[1] = temp;\n }\n minMax[0] *= transform[0];\n minMax[1] *= transform[0];\n\n if (transform[3] < 0) {\n temp = minMax[2];\n minMax[2] = minMax[3];\n minMax[3] = temp;\n }\n minMax[2] *= transform[3];\n minMax[3] *= transform[3];\n } else {\n temp = minMax[0];\n minMax[0] = minMax[2];\n minMax[2] = temp;\n temp = minMax[1];\n minMax[1] = minMax[3];\n minMax[3] = temp;\n\n if (transform[1] < 0) {\n temp = minMax[2];\n minMax[2] = minMax[3];\n minMax[3] = temp;\n }\n minMax[2] *= transform[1];\n minMax[3] *= transform[1];\n\n if (transform[2] < 0) {\n temp = minMax[0];\n minMax[0] = minMax[1];\n minMax[1] = temp;\n }\n minMax[0] *= transform[2];\n minMax[1] *= transform[2];\n }\n minMax[0] += transform[4];\n minMax[1] += transform[4];\n minMax[2] += transform[5];\n minMax[3] += transform[5];\n }\n\n // Concatenates two transformation matrices together and returns the result.\n static transform(m1, m2) {\n return [\n m1[0] * m2[0] + m1[2] * m2[1],\n m1[1] * m2[0] + m1[3] * m2[1],\n m1[0] * m2[2] + m1[2] * m2[3],\n m1[1] * m2[2] + m1[3] * m2[3],\n m1[0] * m2[4] + m1[2] * m2[5] + m1[4],\n m1[1] * m2[4] + m1[3] * m2[5] + m1[5],\n ];\n }\n\n // For 2d affine transforms\n static applyTransform(p, m) {\n const xt = p[0] * m[0] + p[1] * m[2] + m[4];\n const yt = p[0] * m[1] + p[1] * m[3] + m[5];\n return [xt, yt];\n }\n\n static applyInverseTransform(p, m) {\n const d = m[0] * m[3] - m[1] * m[2];\n const xt = (p[0] * m[3] - p[1] * m[2] + m[2] * m[5] - m[4] * m[3]) / d;\n const yt = (-p[0] * m[1] + p[1] * m[0] + m[4] * m[1] - m[5] * m[0]) / d;\n return [xt, yt];\n }\n\n // Applies the transform to the rectangle and finds the minimum axially\n // aligned bounding box.\n static getAxialAlignedBoundingBox(r, m) {\n const p1 = this.applyTransform(r, m);\n const p2 = this.applyTransform(r.slice(2, 4), m);\n const p3 = this.applyTransform([r[0], r[3]], m);\n const p4 = this.applyTransform([r[2], r[1]], m);\n return [\n Math.min(p1[0], p2[0], p3[0], p4[0]),\n Math.min(p1[1], p2[1], p3[1], p4[1]),\n Math.max(p1[0], p2[0], p3[0], p4[0]),\n Math.max(p1[1], p2[1], p3[1], p4[1]),\n ];\n }\n\n static inverseTransform(m) {\n const d = m[0] * m[3] - m[1] * m[2];\n return [\n m[3] / d,\n -m[1] / d,\n -m[2] / d,\n m[0] / d,\n (m[2] * m[5] - m[4] * m[3]) / d,\n (m[4] * m[1] - m[5] * m[0]) / d,\n ];\n }\n\n // This calculation uses Singular Value Decomposition.\n // The SVD can be represented with formula A = USV. We are interested in the\n // matrix S here because it represents the scale values.\n static singularValueDecompose2dScale(m) {\n const transpose = [m[0], m[2], m[1], m[3]];\n\n // Multiply matrix m with its transpose.\n const a = m[0] * transpose[0] + m[1] * transpose[2];\n const b = m[0] * transpose[1] + m[1] * transpose[3];\n const c = m[2] * transpose[0] + m[3] * transpose[2];\n const d = m[2] * transpose[1] + m[3] * transpose[3];\n\n // Solve the second degree polynomial to get roots.\n const first = (a + d) / 2;\n const second = Math.sqrt((a + d) ** 2 - 4 * (a * d - c * b)) / 2;\n const sx = first + second || 1;\n const sy = first - second || 1;\n\n // Scale values are the square roots of the eigenvalues.\n return [Math.sqrt(sx), Math.sqrt(sy)];\n }\n\n // Normalize rectangle rect=[x1, y1, x2, y2] so that (x1,y1) < (x2,y2)\n // For coordinate systems whose origin lies in the bottom-left, this\n // means normalization to (BL,TR) ordering. For systems with origin in the\n // top-left, this means (TL,BR) ordering.\n static normalizeRect(rect) {\n const r = rect.slice(0); // clone rect\n if (rect[0] > rect[2]) {\n r[0] = rect[2];\n r[2] = rect[0];\n }\n if (rect[1] > rect[3]) {\n r[1] = rect[3];\n r[3] = rect[1];\n }\n return r;\n }\n\n // Returns a rectangle [x1, y1, x2, y2] corresponding to the\n // intersection of rect1 and rect2. If no intersection, returns 'null'\n // The rectangle coordinates of rect1, rect2 should be [x1, y1, x2, y2]\n static intersect(rect1, rect2) {\n const xLow = Math.max(\n Math.min(rect1[0], rect1[2]),\n Math.min(rect2[0], rect2[2])\n );\n const xHigh = Math.min(\n Math.max(rect1[0], rect1[2]),\n Math.max(rect2[0], rect2[2])\n );\n if (xLow > xHigh) {\n return null;\n }\n const yLow = Math.max(\n Math.min(rect1[1], rect1[3]),\n Math.min(rect2[1], rect2[3])\n );\n const yHigh = Math.min(\n Math.max(rect1[1], rect1[3]),\n Math.max(rect2[1], rect2[3])\n );\n if (yLow > yHigh) {\n return null;\n }\n\n return [xLow, yLow, xHigh, yHigh];\n }\n\n // From https://github.com/adobe-webplatform/Snap.svg/blob/b365287722a72526000ac4bfcf0ce4cac2faa015/src/path.js#L852\n static bezierBoundingBox(x0, y0, x1, y1, x2, y2, x3, y3) {\n const tvalues = [],\n bounds = [[], []];\n let a, b, c, t, t1, t2, b2ac, sqrtb2ac;\n for (let i = 0; i < 2; ++i) {\n if (i === 0) {\n b = 6 * x0 - 12 * x1 + 6 * x2;\n a = -3 * x0 + 9 * x1 - 9 * x2 + 3 * x3;\n c = 3 * x1 - 3 * x0;\n } else {\n b = 6 * y0 - 12 * y1 + 6 * y2;\n a = -3 * y0 + 9 * y1 - 9 * y2 + 3 * y3;\n c = 3 * y1 - 3 * y0;\n }\n if (Math.abs(a) < 1e-12) {\n if (Math.abs(b) < 1e-12) {\n continue;\n }\n t = -c / b;\n if (0 < t && t < 1) {\n tvalues.push(t);\n }\n continue;\n }\n b2ac = b * b - 4 * c * a;\n sqrtb2ac = Math.sqrt(b2ac);\n if (b2ac < 0) {\n continue;\n }\n t1 = (-b + sqrtb2ac) / (2 * a);\n if (0 < t1 && t1 < 1) {\n tvalues.push(t1);\n }\n t2 = (-b - sqrtb2ac) / (2 * a);\n if (0 < t2 && t2 < 1) {\n tvalues.push(t2);\n }\n }\n\n let j = tvalues.length,\n mt;\n const jlen = j;\n while (j--) {\n t = tvalues[j];\n mt = 1 - t;\n bounds[0][j] =\n mt * mt * mt * x0 +\n 3 * mt * mt * t * x1 +\n 3 * mt * t * t * x2 +\n t * t * t * x3;\n bounds[1][j] =\n mt * mt * mt * y0 +\n 3 * mt * mt * t * y1 +\n 3 * mt * t * t * y2 +\n t * t * t * y3;\n }\n\n bounds[0][jlen] = x0;\n bounds[1][jlen] = y0;\n bounds[0][jlen + 1] = x3;\n bounds[1][jlen + 1] = y3;\n bounds[0].length = bounds[1].length = jlen + 2;\n\n return [\n Math.min(...bounds[0]),\n Math.min(...bounds[1]),\n Math.max(...bounds[0]),\n Math.max(...bounds[1]),\n ];\n }\n}\n\nconst PDFStringTranslateTable = [\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2d8,\n 0x2c7, 0x2c6, 0x2d9, 0x2dd, 0x2db, 0x2da, 0x2dc, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0x2022, 0x2020, 0x2021, 0x2026, 0x2014, 0x2013, 0x192,\n 0x2044, 0x2039, 0x203a, 0x2212, 0x2030, 0x201e, 0x201c, 0x201d, 0x2018,\n 0x2019, 0x201a, 0x2122, 0xfb01, 0xfb02, 0x141, 0x152, 0x160, 0x178, 0x17d,\n 0x131, 0x142, 0x153, 0x161, 0x17e, 0, 0x20ac,\n];\n\nfunction stringToPDFString(str) {\n if (str[0] >= \"\\xEF\") {\n let encoding;\n if (str[0] === \"\\xFE\" && str[1] === \"\\xFF\") {\n encoding = \"utf-16be\";\n } else if (str[0] === \"\\xFF\" && str[1] === \"\\xFE\") {\n encoding = \"utf-16le\";\n } else if (str[0] === \"\\xEF\" && str[1] === \"\\xBB\" && str[2] === \"\\xBF\") {\n encoding = \"utf-8\";\n }\n\n if (encoding) {\n try {\n const decoder = new TextDecoder(encoding, { fatal: true });\n const buffer = stringToBytes(str);\n return decoder.decode(buffer);\n } catch (ex) {\n warn(`stringToPDFString: \"${ex}\".`);\n }\n }\n }\n // ISO Latin 1\n const strBuf = [];\n for (let i = 0, ii = str.length; i < ii; i++) {\n const code = PDFStringTranslateTable[str.charCodeAt(i)];\n strBuf.push(code ? String.fromCharCode(code) : str.charAt(i));\n }\n return strBuf.join(\"\");\n}\n\nfunction stringToUTF8String(str) {\n return decodeURIComponent(escape(str));\n}\n\nfunction utf8StringToString(str) {\n return unescape(encodeURIComponent(str));\n}\n\nfunction isArrayBuffer(v) {\n return typeof v === \"object\" && v?.byteLength !== undefined;\n}\n\nfunction isArrayEqual(arr1, arr2) {\n if (arr1.length !== arr2.length) {\n return false;\n }\n for (let i = 0, ii = arr1.length; i < ii; i++) {\n if (arr1[i] !== arr2[i]) {\n return false;\n }\n }\n return true;\n}\n\nfunction getModificationDate(date = new Date()) {\n const buffer = [\n date.getUTCFullYear().toString(),\n (date.getUTCMonth() + 1).toString().padStart(2, \"0\"),\n date.getUTCDate().toString().padStart(2, \"0\"),\n date.getUTCHours().toString().padStart(2, \"0\"),\n date.getUTCMinutes().toString().padStart(2, \"0\"),\n date.getUTCSeconds().toString().padStart(2, \"0\"),\n ];\n\n return buffer.join(\"\");\n}\n\nclass PromiseCapability {\n #settled = false;\n\n constructor() {\n /**\n * @type {Promise} The Promise object.\n */\n this.promise = new Promise((resolve, reject) => {\n /**\n * @type {function} Fulfills the Promise.\n */\n this.resolve = data => {\n this.#settled = true;\n resolve(data);\n };\n\n /**\n * @type {function} Rejects the Promise.\n */\n this.reject = reason => {\n if (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"TESTING\")) {\n assert(reason instanceof Error, 'Expected valid \"reason\" argument.');\n }\n this.#settled = true;\n reject(reason);\n };\n });\n }\n\n /**\n * @type {boolean} If the Promise has been fulfilled/rejected.\n */\n get settled() {\n return this.#settled;\n }\n}\n\nlet NormalizeRegex = null;\nlet NormalizationMap = null;\nfunction normalizeUnicode(str) {\n if (!NormalizeRegex) {\n // In order to generate the following regex:\n // - create a PDF containing all the chars in the range 0000-FFFF with\n // a NFKC which is different of the char.\n // - copy and paste all those chars and get the ones where NFKC is\n // required.\n // It appears that most the chars here contain some ligatures.\n NormalizeRegex =\n /([\\u00a0\\u00b5\\u037e\\u0eb3\\u2000-\\u200a\\u202f\\u2126\\ufb00-\\ufb04\\ufb06\\ufb20-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40-\\ufb41\\ufb43-\\ufb44\\ufb46-\\ufba1\\ufba4-\\ufba9\\ufbae-\\ufbb1\\ufbd3-\\ufbdc\\ufbde-\\ufbe7\\ufbea-\\ufbf8\\ufbfc-\\ufbfd\\ufc00-\\ufc5d\\ufc64-\\ufcf1\\ufcf5-\\ufd3d\\ufd88\\ufdf4\\ufdfa-\\ufdfb\\ufe71\\ufe77\\ufe79\\ufe7b\\ufe7d]+)|(\\ufb05+)/gu;\n NormalizationMap = new Map([[\"ſt\", \"ſt\"]]);\n }\n return str.replaceAll(NormalizeRegex, (_, p1, p2) => {\n return p1 ? p1.normalize(\"NFKC\") : NormalizationMap.get(p2);\n });\n}\n\nfunction getUuid() {\n if (\n (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"MOZCENTRAL\")) ||\n (typeof crypto !== \"undefined\" && typeof crypto?.randomUUID === \"function\")\n ) {\n return crypto.randomUUID();\n }\n const buf = new Uint8Array(32);\n if (\n typeof crypto !== \"undefined\" &&\n typeof crypto?.getRandomValues === \"function\"\n ) {\n crypto.getRandomValues(buf);\n } else {\n for (let i = 0; i < 32; i++) {\n buf[i] = Math.floor(Math.random() * 255);\n }\n }\n return bytesToString(buf);\n}\n\nexport {\n AbortException,\n AnnotationActionEventType,\n AnnotationBorderStyleType,\n AnnotationEditorParamsType,\n AnnotationEditorPrefix,\n AnnotationEditorType,\n AnnotationFieldFlag,\n AnnotationFlag,\n AnnotationMode,\n AnnotationReplyType,\n AnnotationType,\n assert,\n BaseException,\n BASELINE_FACTOR,\n bytesToString,\n CMapCompressionType,\n createValidAbsoluteUrl,\n DocumentActionEventType,\n FeatureTest,\n FONT_IDENTITY_MATRIX,\n FormatError,\n getModificationDate,\n getUuid,\n getVerbosityLevel,\n IDENTITY_MATRIX,\n ImageKind,\n info,\n InvalidPDFException,\n isArrayBuffer,\n isArrayEqual,\n isNodeJS,\n LINE_DESCENT_FACTOR,\n LINE_FACTOR,\n MAX_IMAGE_SIZE_TO_CACHE,\n MissingPDFException,\n normalizeUnicode,\n objectFromMap,\n objectSize,\n OPS,\n PageActionEventType,\n PasswordException,\n PasswordResponses,\n PermissionFlag,\n PromiseCapability,\n RenderingIntentFlag,\n setVerbosityLevel,\n shadow,\n string32,\n stringToBytes,\n stringToPDFString,\n stringToUTF8String,\n TextRenderingMode,\n UnexpectedResponseException,\n UnknownErrorException,\n unreachable,\n utf8StringToString,\n Util,\n VerbosityLevel,\n warn,\n};\n","/* eslint-disable no-unused-vars -- required for functions `.length` */\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar apply = require('../internals/function-apply');\nvar wrapErrorConstructorWithCause = require('../internals/wrap-error-constructor-with-cause');\n\nvar WEB_ASSEMBLY = 'WebAssembly';\nvar WebAssembly = global[WEB_ASSEMBLY];\n\nvar FORCED = Error('e', { cause: 7 }).cause !== 7;\n\nvar exportGlobalErrorCauseWrapper = function (ERROR_NAME, wrapper) {\n var O = {};\n O[ERROR_NAME] = wrapErrorConstructorWithCause(ERROR_NAME, wrapper, FORCED);\n $({ global: true, constructor: true, arity: 1, forced: FORCED }, O);\n};\n\nvar exportWebAssemblyErrorCauseWrapper = function (ERROR_NAME, wrapper) {\n if (WebAssembly && WebAssembly[ERROR_NAME]) {\n var O = {};\n O[ERROR_NAME] = wrapErrorConstructorWithCause(WEB_ASSEMBLY + '.' + ERROR_NAME, wrapper, FORCED);\n $({ target: WEB_ASSEMBLY, stat: true, constructor: true, arity: 1, forced: FORCED }, O);\n }\n};\n\n// https://tc39.es/ecma262/#sec-nativeerror\nexportGlobalErrorCauseWrapper('Error', function (init) {\n return function Error(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('EvalError', function (init) {\n return function EvalError(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('RangeError', function (init) {\n return function RangeError(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('ReferenceError', function (init) {\n return function ReferenceError(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('SyntaxError', function (init) {\n return function SyntaxError(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('TypeError', function (init) {\n return function TypeError(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('URIError', function (init) {\n return function URIError(message) { return apply(init, this, arguments); };\n});\nexportWebAssemblyErrorCauseWrapper('CompileError', function (init) {\n return function CompileError(message) { return apply(init, this, arguments); };\n});\nexportWebAssemblyErrorCauseWrapper('LinkError', function (init) {\n return function LinkError(message) { return apply(init, this, arguments); };\n});\nexportWebAssemblyErrorCauseWrapper('RuntimeError', function (init) {\n return function RuntimeError(message) { return apply(init, this, arguments); };\n});\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || defineGlobalProperty(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty == typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n defineBuiltIn(target, key, sourceProperty, options);\n }\n};\n","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || this || Function('return this')();\n","var DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","var fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {\n return function () {\n return call.apply(fn, arguments);\n };\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","var isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) throw $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n return it === null || it === undefined;\n};\n","var toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","var call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw $TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","var isCallable = require('../internals/is-callable');\nvar $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\nmodule.exports = $documentAll.IS_HTMLDDA ? function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it) || it === documentAll;\n} : function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","var $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = $documentAll.IS_HTMLDDA ? function (argument) {\n return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n return typeof argument == 'function';\n};\n","var documentAll = typeof document == 'object' && document.all;\n\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\n// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing\nvar IS_HTMLDDA = typeof documentAll == 'undefined' && documentAll !== undefined;\n\nmodule.exports = {\n all: documentAll,\n IS_HTMLDDA: IS_HTMLDDA\n};\n","var getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\n\nvar $String = global.String;\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol();\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will,\n // of course, fail.\n return !$String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","module.exports = typeof navigator != 'undefined' && String(navigator.userAgent) || '';\n","var aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n","var isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw $TypeError(tryToString(argument) + ' is not a function');\n};\n","var $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","var call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw $TypeError(\"Can't convert object to primitive value\");\n};\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Symbol = global.Symbol;\nvar WellKnownSymbolsStore = shared('wks');\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name)) {\n WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name)\n ? Symbol[name]\n : createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.31.1',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2023 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.31.1/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","module.exports = false;\n","var global = require('../internals/global');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || defineGlobalProperty(SHARED, {});\n\nmodule.exports = store;\n","var global = require('../internals/global');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype != 42;\n});\n","var isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw $TypeError($String(argument) + ' is not an object');\n};\n","var isCallable = require('../internals/is-callable');\nvar definePropertyModule = require('../internals/object-define-property');\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nmodule.exports = function (O, key, value, options) {\n if (!options) options = {};\n var simple = options.enumerable;\n var name = options.name !== undefined ? options.name : key;\n if (isCallable(value)) makeBuiltIn(value, name, options);\n if (options.global) {\n if (simple) O[key] = value;\n else defineGlobalProperty(key, value);\n } else {\n try {\n if (!options.unsafe) delete O[key];\n else if (O[key]) simple = true;\n } catch (error) { /* empty */ }\n if (simple) O[key] = value;\n else definePropertyModule.f(O, key, {\n value: value,\n enumerable: false,\n configurable: !options.nonConfigurable,\n writable: !options.nonWritable\n });\n } return O;\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\nvar $String = String;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\nvar stringSlice = uncurryThis(''.slice);\nvar replace = uncurryThis(''.replace);\nvar join = uncurryThis([].join);\n\nvar CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {\n return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;\n});\n\nvar TEMPLATE = String(String).split('String');\n\nvar makeBuiltIn = module.exports = function (value, name, options) {\n if (stringSlice($String(name), 0, 7) === 'Symbol(') {\n name = '[' + replace($String(name), /^Symbol\\(([^)]*)\\)/, '$1') + ']';\n }\n if (options && options.getter) name = 'get ' + name;\n if (options && options.setter) name = 'set ' + name;\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true });\n else value.name = name;\n }\n if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {\n defineProperty(value, 'length', { value: options.arity });\n }\n try {\n if (options && hasOwn(options, 'constructor') && options.constructor) {\n if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false });\n // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable\n } else if (value.prototype) value.prototype = undefined;\n } catch (error) { /* empty */ }\n var state = enforceInternalState(value);\n if (!hasOwn(state, 'source')) {\n state.source = join(TEMPLATE, typeof name == 'string' ? name : '');\n } return value;\n};\n\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n// eslint-disable-next-line no-extend-native -- required\nFunction.prototype.toString = makeBuiltIn(function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n}, 'toString');\n","var DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n /* eslint-disable no-self-assign -- prototype methods protection */\n store.get = store.get;\n store.has = store.has;\n store.set = store.set;\n /* eslint-enable no-self-assign -- prototype methods protection */\n set = function (it, metadata) {\n if (store.has(it)) throw TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n store.set(it, metadata);\n return metadata;\n };\n get = function (it) {\n return store.get(it) || {};\n };\n has = function (it) {\n return store.has(it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","module.exports = {};\n","var hasOwn = require('../internals/has-own-property');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source, exceptions) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n }\n};\n","var getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","var trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- NaN check\n return number !== number || number === 0 ? 0 : trunc(number);\n};\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n var n = +x;\n return (n > 0 ? floor : ceil)(n);\n};\n","var toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","var fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {\n return call.apply(apply, arguments);\n});\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar hasOwn = require('../internals/has-own-property');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar proxyAccessor = require('../internals/proxy-accessor');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar normalizeStringArgument = require('../internals/normalize-string-argument');\nvar installErrorCause = require('../internals/install-error-cause');\nvar installErrorStack = require('../internals/error-stack-install');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IS_PURE = require('../internals/is-pure');\n\nmodule.exports = function (FULL_NAME, wrapper, FORCED, IS_AGGREGATE_ERROR) {\n var STACK_TRACE_LIMIT = 'stackTraceLimit';\n var OPTIONS_POSITION = IS_AGGREGATE_ERROR ? 2 : 1;\n var path = FULL_NAME.split('.');\n var ERROR_NAME = path[path.length - 1];\n var OriginalError = getBuiltIn.apply(null, path);\n\n if (!OriginalError) return;\n\n var OriginalErrorPrototype = OriginalError.prototype;\n\n // V8 9.3- bug https://bugs.chromium.org/p/v8/issues/detail?id=12006\n if (!IS_PURE && hasOwn(OriginalErrorPrototype, 'cause')) delete OriginalErrorPrototype.cause;\n\n if (!FORCED) return OriginalError;\n\n var BaseError = getBuiltIn('Error');\n\n var WrappedError = wrapper(function (a, b) {\n var message = normalizeStringArgument(IS_AGGREGATE_ERROR ? b : a, undefined);\n var result = IS_AGGREGATE_ERROR ? new OriginalError(a) : new OriginalError();\n if (message !== undefined) createNonEnumerableProperty(result, 'message', message);\n installErrorStack(result, WrappedError, result.stack, 2);\n if (this && isPrototypeOf(OriginalErrorPrototype, this)) inheritIfRequired(result, this, WrappedError);\n if (arguments.length > OPTIONS_POSITION) installErrorCause(result, arguments[OPTIONS_POSITION]);\n return result;\n });\n\n WrappedError.prototype = OriginalErrorPrototype;\n\n if (ERROR_NAME !== 'Error') {\n if (setPrototypeOf) setPrototypeOf(WrappedError, BaseError);\n else copyConstructorProperties(WrappedError, BaseError, { name: true });\n } else if (DESCRIPTORS && STACK_TRACE_LIMIT in OriginalError) {\n proxyAccessor(WrappedError, OriginalError, STACK_TRACE_LIMIT);\n proxyAccessor(WrappedError, OriginalError, 'prepareStackTrace');\n }\n\n copyConstructorProperties(WrappedError, OriginalError);\n\n if (!IS_PURE) try {\n // Safari 13- bug: WebAssembly errors does not have a proper `.name`\n if (OriginalErrorPrototype.name !== ERROR_NAME) {\n createNonEnumerableProperty(OriginalErrorPrototype, 'name', ERROR_NAME);\n }\n OriginalErrorPrototype.constructor = WrappedError;\n } catch (error) { /* empty */ }\n\n return WrappedError;\n};\n","/* eslint-disable no-proto -- safe */\nvar uncurryThisAccessor = require('../internals/function-uncurry-this-accessor');\nvar anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = uncurryThisAccessor(Object.prototype, '__proto__', 'set');\n setter(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\n\nmodule.exports = function (object, key, method) {\n try {\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n return uncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method]));\n } catch (error) { /* empty */ }\n};\n","var isCallable = require('../internals/is-callable');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument) {\n if (typeof argument == 'object' || isCallable(argument)) return argument;\n throw $TypeError(\"Can't set \" + $String(argument) + ' as a prototype');\n};\n","var defineProperty = require('../internals/object-define-property').f;\n\nmodule.exports = function (Target, Source, key) {\n key in Target || defineProperty(Target, key, {\n configurable: true,\n get: function () { return Source[key]; },\n set: function (it) { Source[key] = it; }\n });\n};\n","var isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n isCallable(NewTarget = dummy.constructor) &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","var toString = require('../internals/to-string');\n\nmodule.exports = function (argument, $default) {\n return argument === undefined ? arguments.length < 2 ? '' : $default : toString(argument);\n};\n","var classof = require('../internals/classof');\n\nvar $String = String;\n\nmodule.exports = function (argument) {\n if (classof(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string');\n return $String(argument);\n};\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar $Object = Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","var isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\n// `InstallErrorCause` abstract operation\n// https://tc39.es/proposal-error-cause/#sec-errorobjects-install-error-cause\nmodule.exports = function (O, options) {\n if (isObject(options) && 'cause' in options) {\n createNonEnumerableProperty(O, 'cause', options.cause);\n }\n};\n","var createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar clearErrorStack = require('../internals/error-stack-clear');\nvar ERROR_STACK_INSTALLABLE = require('../internals/error-stack-installable');\n\n// non-standard V8\nvar captureStackTrace = Error.captureStackTrace;\n\nmodule.exports = function (error, C, stack, dropEntries) {\n if (ERROR_STACK_INSTALLABLE) {\n if (captureStackTrace) captureStackTrace(error, C);\n else createNonEnumerableProperty(error, 'stack', clearErrorStack(stack, dropEntries));\n }\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar $Error = Error;\nvar replace = uncurryThis(''.replace);\n\nvar TEST = (function (arg) { return String($Error(arg).stack); })('zxcasd');\n// eslint-disable-next-line redos/no-vulnerable -- safe\nvar V8_OR_CHAKRA_STACK_ENTRY = /\\n\\s*at [^:]*:[^\\n]*/;\nvar IS_V8_OR_CHAKRA_STACK = V8_OR_CHAKRA_STACK_ENTRY.test(TEST);\n\nmodule.exports = function (stack, dropEntries) {\n if (IS_V8_OR_CHAKRA_STACK && typeof stack == 'string' && !$Error.prepareStackTrace) {\n while (dropEntries--) stack = replace(stack, V8_OR_CHAKRA_STACK_ENTRY, '');\n } return stack;\n};\n","var fails = require('../internals/fails');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = !fails(function () {\n var error = Error('a');\n if (!('stack' in error)) return true;\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty(error, 'stack', createPropertyDescriptor(1, 7));\n return error.stack !== 7;\n});\n","'use strict';\nvar defineBuiltIn = require('../internals/define-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toString = require('../internals/to-string');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\n\nvar $URLSearchParams = URLSearchParams;\nvar URLSearchParamsPrototype = $URLSearchParams.prototype;\nvar append = uncurryThis(URLSearchParamsPrototype.append);\nvar $delete = uncurryThis(URLSearchParamsPrototype['delete']);\nvar forEach = uncurryThis(URLSearchParamsPrototype.forEach);\nvar push = uncurryThis([].push);\nvar params = new $URLSearchParams('a=1&a=2');\n\nparams['delete']('a', 1);\n\nif (params + '' !== 'a=2') {\n defineBuiltIn(URLSearchParamsPrototype, 'delete', function (name /* , value */) {\n var length = arguments.length;\n var $value = length < 2 ? undefined : arguments[1];\n if (length && $value === undefined) return $delete(this, name);\n var entries = [];\n forEach(this, function (v, k) { // also validates `this`\n push(entries, { key: k, value: v });\n });\n validateArgumentsLength(length, 1);\n var key = toString(name);\n var value = toString($value);\n var index = 0;\n var dindex = 0;\n var found = false;\n var entriesLength = entries.length;\n var entry;\n while (index < entriesLength) {\n entry = entries[index++];\n if (found || entry.key === key) {\n found = true;\n $delete(this, entry.key);\n } else dindex++;\n }\n while (dindex < entriesLength) {\n entry = entries[dindex++];\n if (!(entry.key === key && entry.value === value)) append(this, entry.key, entry.value);\n }\n }, { enumerable: true, unsafe: true });\n}\n","var $TypeError = TypeError;\n\nmodule.exports = function (passed, required) {\n if (passed < required) throw $TypeError('Not enough arguments');\n return passed;\n};\n","'use strict';\nvar defineBuiltIn = require('../internals/define-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toString = require('../internals/to-string');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\n\nvar $URLSearchParams = URLSearchParams;\nvar URLSearchParamsPrototype = $URLSearchParams.prototype;\nvar getAll = uncurryThis(URLSearchParamsPrototype.getAll);\nvar $has = uncurryThis(URLSearchParamsPrototype.has);\nvar params = new $URLSearchParams('a=1');\n\nif (params.has('a', 2)) {\n defineBuiltIn(URLSearchParamsPrototype, 'has', function has(name /* , value */) {\n var length = arguments.length;\n var $value = length < 2 ? undefined : arguments[1];\n if (length && $value === undefined) return $has(this, name);\n var values = getAll(this, name); // also validates `this`\n validateArgumentsLength(length, 1);\n var value = toString($value);\n var index = 0;\n while (index < values.length) {\n if (values[index++] === value) return true;\n } return false;\n }, { enumerable: true, unsafe: true });\n}\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\n\nvar URLSearchParamsPrototype = URLSearchParams.prototype;\nvar forEach = uncurryThis(URLSearchParamsPrototype.forEach);\n\n// `URLSearchParams.prototype.size` getter\n// https://github.com/whatwg/url/pull/734\nif (DESCRIPTORS && !('size' in URLSearchParamsPrototype)) {\n defineBuiltInAccessor(URLSearchParamsPrototype, 'size', {\n get: function size() {\n var count = 0;\n forEach(this, function () { count++; });\n return count;\n },\n configurable: true,\n enumerable: true\n });\n}\n","var makeBuiltIn = require('../internals/make-built-in');\nvar defineProperty = require('../internals/object-define-property');\n\nmodule.exports = function (target, name, descriptor) {\n if (descriptor.get) makeBuiltIn(descriptor.get, name, { getter: true });\n if (descriptor.set) makeBuiltIn(descriptor.set, name, { setter: true });\n return defineProperty.f(target, name, descriptor);\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar setArrayLength = require('../internals/array-set-length');\nvar doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');\nvar fails = require('../internals/fails');\n\nvar INCORRECT_TO_LENGTH = fails(function () {\n return [].push.call({ length: 0x100000000 }, 1) !== 4294967297;\n});\n\n// V8 and Safari <= 15.4, FF < 23 throws InternalError\n// https://bugs.chromium.org/p/v8/issues/detail?id=12681\nvar properErrorOnNonWritableLength = function () {\n try {\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty([], 'length', { writable: false }).push();\n } catch (error) {\n return error instanceof TypeError;\n }\n};\n\nvar FORCED = INCORRECT_TO_LENGTH || !properErrorOnNonWritableLength();\n\n// `Array.prototype.push` method\n// https://tc39.es/ecma262/#sec-array.prototype.push\n$({ target: 'Array', proto: true, arity: 1, forced: FORCED }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n push: function push(item) {\n var O = toObject(this);\n var len = lengthOfArrayLike(O);\n var argCount = arguments.length;\n doesNotExceedSafeInteger(len + argCount);\n for (var i = 0; i < argCount; i++) {\n O[len] = arguments[i];\n len++;\n }\n setArrayLength(O, len);\n return len;\n }\n});\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar isArray = require('../internals/is-array');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Safari < 13 does not throw an error in this case\nvar SILENT_ON_NON_WRITABLE_LENGTH_SET = DESCRIPTORS && !function () {\n // makes no sense without proper strict mode support\n if (this !== undefined) return true;\n try {\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty([], 'length', { writable: false }).length = 1;\n } catch (error) {\n return error instanceof TypeError;\n }\n}();\n\nmodule.exports = SILENT_ON_NON_WRITABLE_LENGTH_SET ? function (O, length) {\n if (isArray(O) && !getOwnPropertyDescriptor(O, 'length').writable) {\n throw $TypeError('Cannot set read only .length');\n } return O.length = length;\n} : function (O, length) {\n return O.length = length;\n};\n","var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(argument) {\n return classof(argument) == 'Array';\n};\n","var $TypeError = TypeError;\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; // 2 ** 53 - 1 == 9007199254740991\n\nmodule.exports = function (it) {\n if (it > MAX_SAFE_INTEGER) throw $TypeError('Maximum allowed index exceeded');\n return it;\n};\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $findLast = require('../internals/array-iteration-from-last').findLast;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.findLast` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.findlast\nexportTypedArrayMethod('findLast', function findLast(predicate /* , thisArg */) {\n return $findLast(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-basic-detection');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar hasOwn = require('../internals/has-own-property');\nvar classof = require('../internals/classof');\nvar tryToString = require('../internals/try-to-string');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar uid = require('../internals/uid');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\nvar Int8Array = global.Int8Array;\nvar Int8ArrayPrototype = Int8Array && Int8Array.prototype;\nvar Uint8ClampedArray = global.Uint8ClampedArray;\nvar Uint8ClampedArrayPrototype = Uint8ClampedArray && Uint8ClampedArray.prototype;\nvar TypedArray = Int8Array && getPrototypeOf(Int8Array);\nvar TypedArrayPrototype = Int8ArrayPrototype && getPrototypeOf(Int8ArrayPrototype);\nvar ObjectPrototype = Object.prototype;\nvar TypeError = global.TypeError;\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG');\nvar TYPED_ARRAY_CONSTRUCTOR = 'TypedArrayConstructor';\n// Fixing native typed arrays in Opera Presto crashes the browser, see #595\nvar NATIVE_ARRAY_BUFFER_VIEWS = NATIVE_ARRAY_BUFFER && !!setPrototypeOf && classof(global.opera) !== 'Opera';\nvar TYPED_ARRAY_TAG_REQUIRED = false;\nvar NAME, Constructor, Prototype;\n\nvar TypedArrayConstructorsList = {\n Int8Array: 1,\n Uint8Array: 1,\n Uint8ClampedArray: 1,\n Int16Array: 2,\n Uint16Array: 2,\n Int32Array: 4,\n Uint32Array: 4,\n Float32Array: 4,\n Float64Array: 8\n};\n\nvar BigIntArrayConstructorsList = {\n BigInt64Array: 8,\n BigUint64Array: 8\n};\n\nvar isView = function isView(it) {\n if (!isObject(it)) return false;\n var klass = classof(it);\n return klass === 'DataView'\n || hasOwn(TypedArrayConstructorsList, klass)\n || hasOwn(BigIntArrayConstructorsList, klass);\n};\n\nvar getTypedArrayConstructor = function (it) {\n var proto = getPrototypeOf(it);\n if (!isObject(proto)) return;\n var state = getInternalState(proto);\n return (state && hasOwn(state, TYPED_ARRAY_CONSTRUCTOR)) ? state[TYPED_ARRAY_CONSTRUCTOR] : getTypedArrayConstructor(proto);\n};\n\nvar isTypedArray = function (it) {\n if (!isObject(it)) return false;\n var klass = classof(it);\n return hasOwn(TypedArrayConstructorsList, klass)\n || hasOwn(BigIntArrayConstructorsList, klass);\n};\n\nvar aTypedArray = function (it) {\n if (isTypedArray(it)) return it;\n throw TypeError('Target is not a typed array');\n};\n\nvar aTypedArrayConstructor = function (C) {\n if (isCallable(C) && (!setPrototypeOf || isPrototypeOf(TypedArray, C))) return C;\n throw TypeError(tryToString(C) + ' is not a typed array constructor');\n};\n\nvar exportTypedArrayMethod = function (KEY, property, forced, options) {\n if (!DESCRIPTORS) return;\n if (forced) for (var ARRAY in TypedArrayConstructorsList) {\n var TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && hasOwn(TypedArrayConstructor.prototype, KEY)) try {\n delete TypedArrayConstructor.prototype[KEY];\n } catch (error) {\n // old WebKit bug - some methods are non-configurable\n try {\n TypedArrayConstructor.prototype[KEY] = property;\n } catch (error2) { /* empty */ }\n }\n }\n if (!TypedArrayPrototype[KEY] || forced) {\n defineBuiltIn(TypedArrayPrototype, KEY, forced ? property\n : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property, options);\n }\n};\n\nvar exportTypedArrayStaticMethod = function (KEY, property, forced) {\n var ARRAY, TypedArrayConstructor;\n if (!DESCRIPTORS) return;\n if (setPrototypeOf) {\n if (forced) for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && hasOwn(TypedArrayConstructor, KEY)) try {\n delete TypedArrayConstructor[KEY];\n } catch (error) { /* empty */ }\n }\n if (!TypedArray[KEY] || forced) {\n // V8 ~ Chrome 49-50 `%TypedArray%` methods are non-writable non-configurable\n try {\n return defineBuiltIn(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && TypedArray[KEY] || property);\n } catch (error) { /* empty */ }\n } else return;\n }\n for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) {\n defineBuiltIn(TypedArrayConstructor, KEY, property);\n }\n }\n};\n\nfor (NAME in TypedArrayConstructorsList) {\n Constructor = global[NAME];\n Prototype = Constructor && Constructor.prototype;\n if (Prototype) enforceInternalState(Prototype)[TYPED_ARRAY_CONSTRUCTOR] = Constructor;\n else NATIVE_ARRAY_BUFFER_VIEWS = false;\n}\n\nfor (NAME in BigIntArrayConstructorsList) {\n Constructor = global[NAME];\n Prototype = Constructor && Constructor.prototype;\n if (Prototype) enforceInternalState(Prototype)[TYPED_ARRAY_CONSTRUCTOR] = Constructor;\n}\n\n// WebKit bug - typed arrays constructors prototype is Object.prototype\nif (!NATIVE_ARRAY_BUFFER_VIEWS || !isCallable(TypedArray) || TypedArray === Function.prototype) {\n // eslint-disable-next-line no-shadow -- safe\n TypedArray = function TypedArray() {\n throw TypeError('Incorrect invocation');\n };\n if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {\n if (global[NAME]) setPrototypeOf(global[NAME], TypedArray);\n }\n}\n\nif (!NATIVE_ARRAY_BUFFER_VIEWS || !TypedArrayPrototype || TypedArrayPrototype === ObjectPrototype) {\n TypedArrayPrototype = TypedArray.prototype;\n if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {\n if (global[NAME]) setPrototypeOf(global[NAME].prototype, TypedArrayPrototype);\n }\n}\n\n// WebKit bug - one more object in Uint8ClampedArray prototype chain\nif (NATIVE_ARRAY_BUFFER_VIEWS && getPrototypeOf(Uint8ClampedArrayPrototype) !== TypedArrayPrototype) {\n setPrototypeOf(Uint8ClampedArrayPrototype, TypedArrayPrototype);\n}\n\nif (DESCRIPTORS && !hasOwn(TypedArrayPrototype, TO_STRING_TAG)) {\n TYPED_ARRAY_TAG_REQUIRED = true;\n defineBuiltInAccessor(TypedArrayPrototype, TO_STRING_TAG, {\n configurable: true,\n get: function () {\n return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined;\n }\n });\n for (NAME in TypedArrayConstructorsList) if (global[NAME]) {\n createNonEnumerableProperty(global[NAME], TYPED_ARRAY_TAG, NAME);\n }\n}\n\nmodule.exports = {\n NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS,\n TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQUIRED && TYPED_ARRAY_TAG,\n aTypedArray: aTypedArray,\n aTypedArrayConstructor: aTypedArrayConstructor,\n exportTypedArrayMethod: exportTypedArrayMethod,\n exportTypedArrayStaticMethod: exportTypedArrayStaticMethod,\n getTypedArrayConstructor: getTypedArrayConstructor,\n isView: isView,\n isTypedArray: isTypedArray,\n TypedArray: TypedArray,\n TypedArrayPrototype: TypedArrayPrototype\n};\n","// eslint-disable-next-line es/no-typed-arrays -- safe\nmodule.exports = typeof ArrayBuffer != 'undefined' && typeof DataView != 'undefined';\n","var hasOwn = require('../internals/has-own-property');\nvar isCallable = require('../internals/is-callable');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar $Object = Object;\nvar ObjectPrototype = $Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\n// eslint-disable-next-line es/no-object-getprototypeof -- safe\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? $Object.getPrototypeOf : function (O) {\n var object = toObject(O);\n if (hasOwn(object, IE_PROTO)) return object[IE_PROTO];\n var constructor = object.constructor;\n if (isCallable(constructor) && object instanceof constructor) {\n return constructor.prototype;\n } return object instanceof $Object ? ObjectPrototype : null;\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n // eslint-disable-next-line es/no-object-getprototypeof -- required for testing\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","var bind = require('../internals/function-bind-context');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ findLast, findLastIndex }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_FIND_LAST_INDEX = TYPE == 1;\n return function ($this, callbackfn, that) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var boundFunction = bind(callbackfn, that);\n var index = lengthOfArrayLike(self);\n var value, result;\n while (index-- > 0) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (result) switch (TYPE) {\n case 0: return value; // findLast\n case 1: return index; // findLastIndex\n }\n }\n return IS_FIND_LAST_INDEX ? -1 : undefined;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.findLast` method\n // https://github.com/tc39/proposal-array-find-from-last\n findLast: createMethod(0),\n // `Array.prototype.findLastIndex` method\n // https://github.com/tc39/proposal-array-find-from-last\n findLastIndex: createMethod(1)\n};\n","var uncurryThis = require('../internals/function-uncurry-this-clause');\nvar aCallable = require('../internals/a-callable');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n aCallable(fn);\n return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","var classofRaw = require('../internals/classof-raw');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = function (fn) {\n // Nashorn bug:\n // https://github.com/zloirock/core-js/issues/1128\n // https://github.com/zloirock/core-js/issues/1130\n if (classofRaw(fn) === 'Function') return uncurryThis(fn);\n};\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $findLastIndex = require('../internals/array-iteration-from-last').findLastIndex;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.findLastIndex` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.findlastindex\nexportTypedArrayMethod('findLastIndex', function findLastIndex(predicate /* , thisArg */) {\n return $findLastIndex(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toOffset = require('../internals/to-offset');\nvar toIndexedObject = require('../internals/to-object');\nvar fails = require('../internals/fails');\n\nvar RangeError = global.RangeError;\nvar Int8Array = global.Int8Array;\nvar Int8ArrayPrototype = Int8Array && Int8Array.prototype;\nvar $set = Int8ArrayPrototype && Int8ArrayPrototype.set;\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\nvar WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS = !fails(function () {\n // eslint-disable-next-line es/no-typed-arrays -- required for testing\n var array = new Uint8ClampedArray(2);\n call($set, array, { length: 1, 0: 3 }, 1);\n return array[1] !== 3;\n});\n\n// https://bugs.chromium.org/p/v8/issues/detail?id=11294 and other\nvar TO_OBJECT_BUG = WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS && ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS && fails(function () {\n var array = new Int8Array(2);\n array.set(1);\n array.set('2', 1);\n return array[0] !== 0 || array[1] !== 2;\n});\n\n// `%TypedArray%.prototype.set` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.set\nexportTypedArrayMethod('set', function set(arrayLike /* , offset */) {\n aTypedArray(this);\n var offset = toOffset(arguments.length > 1 ? arguments[1] : undefined, 1);\n var src = toIndexedObject(arrayLike);\n if (WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS) return call($set, this, src, offset);\n var length = this.length;\n var len = lengthOfArrayLike(src);\n var index = 0;\n if (len + offset > length) throw RangeError('Wrong length');\n while (index < len) this[offset + index] = src[index++];\n}, !WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS || TO_OBJECT_BUG);\n","var toPositiveInteger = require('../internals/to-positive-integer');\n\nvar $RangeError = RangeError;\n\nmodule.exports = function (it, BYTES) {\n var offset = toPositiveInteger(it);\n if (offset % BYTES) throw $RangeError('Wrong offset');\n return offset;\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar $RangeError = RangeError;\n\nmodule.exports = function (it) {\n var result = toIntegerOrInfinity(it);\n if (result < 0) throw $RangeError(\"The argument can't be less than 0\");\n return result;\n};\n","'use strict';\nvar arrayToReversed = require('../internals/array-to-reversed');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor;\n\n// `%TypedArray%.prototype.toReversed` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.toreversed\nexportTypedArrayMethod('toReversed', function toReversed() {\n return arrayToReversed(aTypedArray(this), getTypedArrayConstructor(this));\n});\n","var lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// https://tc39.es/proposal-change-array-by-copy/#sec-array.prototype.toReversed\n// https://tc39.es/proposal-change-array-by-copy/#sec-%typedarray%.prototype.toReversed\nmodule.exports = function (O, C) {\n var len = lengthOfArrayLike(O);\n var A = new C(len);\n var k = 0;\n for (; k < len; k++) A[k] = O[len - k - 1];\n return A;\n};\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\nvar arrayFromConstructorAndList = require('../internals/array-from-constructor-and-list');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar sort = uncurryThis(ArrayBufferViewCore.TypedArrayPrototype.sort);\n\n// `%TypedArray%.prototype.toSorted` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.tosorted\nexportTypedArrayMethod('toSorted', function toSorted(compareFn) {\n if (compareFn !== undefined) aCallable(compareFn);\n var O = aTypedArray(this);\n var A = arrayFromConstructorAndList(getTypedArrayConstructor(O), O);\n return sort(A, compareFn);\n});\n","var lengthOfArrayLike = require('../internals/length-of-array-like');\n\nmodule.exports = function (Constructor, list) {\n var index = 0;\n var length = lengthOfArrayLike(list);\n var result = new Constructor(length);\n while (length > index) result[index] = list[index++];\n return result;\n};\n","'use strict';\nvar arrayWith = require('../internals/array-with');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar isBigIntArray = require('../internals/is-big-int-array');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toBigInt = require('../internals/to-big-int');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\nvar PROPER_ORDER = !!function () {\n try {\n // eslint-disable-next-line no-throw-literal, es/no-typed-arrays, es/no-array-prototype-with -- required for testing\n new Int8Array(1)['with'](2, { valueOf: function () { throw 8; } });\n } catch (error) {\n // some early implementations, like WebKit, does not follow the final semantic\n // https://github.com/tc39/proposal-change-array-by-copy/pull/86\n return error === 8;\n }\n}();\n\n// `%TypedArray%.prototype.with` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.with\nexportTypedArrayMethod('with', { 'with': function (index, value) {\n var O = aTypedArray(this);\n var relativeIndex = toIntegerOrInfinity(index);\n var actualValue = isBigIntArray(O) ? toBigInt(value) : +value;\n return arrayWith(O, getTypedArrayConstructor(O), relativeIndex, actualValue);\n} }['with'], !PROPER_ORDER);\n","var lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar $RangeError = RangeError;\n\n// https://tc39.es/proposal-change-array-by-copy/#sec-array.prototype.with\n// https://tc39.es/proposal-change-array-by-copy/#sec-%typedarray%.prototype.with\nmodule.exports = function (O, C, index, value) {\n var len = lengthOfArrayLike(O);\n var relativeIndex = toIntegerOrInfinity(index);\n var actualIndex = relativeIndex < 0 ? len + relativeIndex : relativeIndex;\n if (actualIndex >= len || actualIndex < 0) throw $RangeError('Incorrect index');\n var A = new C(len);\n var k = 0;\n for (; k < len; k++) A[k] = k === actualIndex ? value : O[k];\n return A;\n};\n","var classof = require('../internals/classof');\n\nmodule.exports = function (it) {\n var klass = classof(it);\n return klass == 'BigInt64Array' || klass == 'BigUint64Array';\n};\n","var toPrimitive = require('../internals/to-primitive');\n\nvar $TypeError = TypeError;\n\n// `ToBigInt` abstract operation\n// https://tc39.es/ecma262/#sec-tobigint\nmodule.exports = function (argument) {\n var prim = toPrimitive(argument, 'number');\n if (typeof prim == 'number') throw $TypeError(\"Can't convert number to bigint\");\n // eslint-disable-next-line es/no-bigint -- safe\n return BigInt(prim);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar isDetached = require('../internals/array-buffer-is-detached');\n\nvar ArrayBufferPrototype = ArrayBuffer.prototype;\n\nif (DESCRIPTORS && !('detached' in ArrayBufferPrototype)) {\n defineBuiltInAccessor(ArrayBufferPrototype, 'detached', {\n configurable: true,\n get: function detached() {\n return isDetached(this);\n }\n });\n}\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar arrayBufferByteLength = require('../internals/array-buffer-byte-length');\n\nvar slice = uncurryThis(ArrayBuffer.prototype.slice);\n\nmodule.exports = function (O) {\n if (arrayBufferByteLength(O) !== 0) return false;\n try {\n slice(O, 0, 0);\n return false;\n } catch (error) {\n return true;\n }\n};\n","var uncurryThisAccessor = require('../internals/function-uncurry-this-accessor');\nvar classof = require('../internals/classof-raw');\n\nvar $TypeError = TypeError;\n\n// Includes\n// - Perform ? RequireInternalSlot(O, [[ArrayBufferData]]).\n// - If IsSharedArrayBuffer(O) is true, throw a TypeError exception.\nmodule.exports = uncurryThisAccessor(ArrayBuffer.prototype, 'byteLength', 'get') || function (O) {\n if (classof(O) != 'ArrayBuffer') throw $TypeError('ArrayBuffer expected');\n return O.byteLength;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $transfer = require('../internals/array-buffer-transfer');\n\n// `ArrayBuffer.prototype.transfer` method\n// https://tc39.es/proposal-arraybuffer-transfer/#sec-arraybuffer.prototype.transfer\nif ($transfer) $({ target: 'ArrayBuffer', proto: true }, {\n transfer: function transfer() {\n return $transfer(this, arguments.length ? arguments[0] : undefined, true);\n }\n});\n","var global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar uncurryThisAccessor = require('../internals/function-uncurry-this-accessor');\nvar toIndex = require('../internals/to-index');\nvar isDetached = require('../internals/array-buffer-is-detached');\nvar arrayBufferByteLength = require('../internals/array-buffer-byte-length');\nvar PROPER_TRANSFER = require('../internals/structured-clone-proper-transfer');\n\nvar TypeError = global.TypeError;\nvar structuredClone = global.structuredClone;\nvar ArrayBuffer = global.ArrayBuffer;\nvar DataView = global.DataView;\nvar min = Math.min;\nvar ArrayBufferPrototype = ArrayBuffer.prototype;\nvar DataViewPrototype = DataView.prototype;\nvar slice = uncurryThis(ArrayBufferPrototype.slice);\nvar isResizable = uncurryThisAccessor(ArrayBufferPrototype, 'resizable', 'get');\nvar maxByteLength = uncurryThisAccessor(ArrayBufferPrototype, 'maxByteLength', 'get');\nvar getInt8 = uncurryThis(DataViewPrototype.getInt8);\nvar setInt8 = uncurryThis(DataViewPrototype.setInt8);\n\nmodule.exports = PROPER_TRANSFER && function (arrayBuffer, newLength, preserveResizability) {\n var byteLength = arrayBufferByteLength(arrayBuffer);\n var newByteLength = newLength === undefined ? byteLength : toIndex(newLength);\n var fixedLength = !isResizable || !isResizable(arrayBuffer);\n if (isDetached(arrayBuffer)) throw TypeError('ArrayBuffer is detached');\n var newBuffer = structuredClone(arrayBuffer, { transfer: [arrayBuffer] });\n if (byteLength == newByteLength && (preserveResizability || fixedLength)) return newBuffer;\n if (byteLength >= newByteLength && (!preserveResizability || fixedLength)) return slice(newBuffer, 0, newByteLength);\n var options = (preserveResizability && !fixedLength) && maxByteLength ? { maxByteLength: maxByteLength(newBuffer) } : undefined;\n var newNewBuffer = new ArrayBuffer(newByteLength, options);\n var a = new DataView(newBuffer);\n var b = new DataView(newNewBuffer);\n var copyLength = min(newByteLength, byteLength);\n for (var i = 0; i < copyLength; i++) setInt8(b, i, getInt8(a, i));\n return newNewBuffer;\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toLength = require('../internals/to-length');\n\nvar $RangeError = RangeError;\n\n// `ToIndex` abstract operation\n// https://tc39.es/ecma262/#sec-toindex\nmodule.exports = function (it) {\n if (it === undefined) return 0;\n var number = toIntegerOrInfinity(it);\n var length = toLength(number);\n if (number !== length) throw $RangeError('Wrong length or index');\n return length;\n};\n","var global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar V8 = require('../internals/engine-v8-version');\nvar IS_BROWSER = require('../internals/engine-is-browser');\nvar IS_DENO = require('../internals/engine-is-deno');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar structuredClone = global.structuredClone;\n\nmodule.exports = !!structuredClone && !fails(function () {\n // prevent V8 ArrayBufferDetaching protector cell invalidation and performance degradation\n // https://github.com/zloirock/core-js/issues/679\n if ((IS_DENO && V8 > 92) || (IS_NODE && V8 > 94) || (IS_BROWSER && V8 > 97)) return false;\n var buffer = new ArrayBuffer(8);\n var clone = structuredClone(buffer, { transfer: [buffer] });\n return buffer.byteLength != 0 || clone.byteLength != 8;\n});\n","var IS_DENO = require('../internals/engine-is-deno');\nvar IS_NODE = require('../internals/engine-is-node');\n\nmodule.exports = !IS_DENO && !IS_NODE\n && typeof window == 'object'\n && typeof document == 'object';\n","/* global Deno -- Deno case */\nmodule.exports = typeof Deno == 'object' && Deno && typeof Deno.version == 'object';\n","var classof = require('../internals/classof-raw');\n\nmodule.exports = typeof process != 'undefined' && classof(process) == 'process';\n","'use strict';\nvar $ = require('../internals/export');\nvar $transfer = require('../internals/array-buffer-transfer');\n\n// `ArrayBuffer.prototype.transferToFixedLength` method\n// https://tc39.es/proposal-arraybuffer-transfer/#sec-arraybuffer.prototype.transfertofixedlength\nif ($transfer) $({ target: 'ArrayBuffer', proto: true }, {\n transferToFixedLength: function transferToFixedLength() {\n return $transfer(this, arguments.length ? arguments[0] : undefined, false);\n }\n});\n","/* Copyright 2012 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @module pdfjsLib\n */\n\nimport {\n AbortException,\n AnnotationMode,\n assert,\n getVerbosityLevel,\n info,\n InvalidPDFException,\n isArrayBuffer,\n isNodeJS,\n MAX_IMAGE_SIZE_TO_CACHE,\n MissingPDFException,\n PasswordException,\n PromiseCapability,\n RenderingIntentFlag,\n setVerbosityLevel,\n shadow,\n stringToBytes,\n UnexpectedResponseException,\n UnknownErrorException,\n unreachable,\n warn,\n} from \"../shared/util.js\";\nimport {\n AnnotationStorage,\n PrintAnnotationStorage,\n SerializableEmpty,\n} from \"./annotation_storage.js\";\nimport {\n deprecated,\n DOMCanvasFactory,\n DOMCMapReaderFactory,\n DOMFilterFactory,\n DOMStandardFontDataFactory,\n isDataScheme,\n isValidFetchUrl,\n loadScript,\n PageViewport,\n RenderingCancelledException,\n StatTimer,\n} from \"./display_utils.js\";\nimport { FontFaceObject, FontLoader } from \"./font_loader.js\";\nimport {\n NodeCanvasFactory,\n NodeCMapReaderFactory,\n NodeFilterFactory,\n NodeStandardFontDataFactory,\n} from \"display-node_utils\";\nimport { CanvasGraphics } from \"./canvas.js\";\nimport { GlobalWorkerOptions } from \"./worker_options.js\";\nimport { MessageHandler } from \"../shared/message_handler.js\";\nimport { Metadata } from \"./metadata.js\";\nimport { OptionalContentConfig } from \"./optional_content_config.js\";\nimport { PDFDataTransportStream } from \"./transport_stream.js\";\nimport { PDFFetchStream } from \"display-fetch_stream\";\nimport { PDFNetworkStream } from \"display-network\";\nimport { PDFNodeStream } from \"display-node_stream\";\nimport { SVGGraphics } from \"display-svg\";\nimport { XfaText } from \"./xfa_text.js\";\n\nconst DEFAULT_RANGE_CHUNK_SIZE = 65536; // 2^16 = 65536\nconst RENDERING_CANCELLED_TIMEOUT = 100; // ms\nconst DELAYED_CLEANUP_TIMEOUT = 5000; // ms\n\nconst DefaultCanvasFactory =\n typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"GENERIC\") && isNodeJS\n ? NodeCanvasFactory\n : DOMCanvasFactory;\nconst DefaultCMapReaderFactory =\n typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"GENERIC\") && isNodeJS\n ? NodeCMapReaderFactory\n : DOMCMapReaderFactory;\nconst DefaultFilterFactory =\n typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"GENERIC\") && isNodeJS\n ? NodeFilterFactory\n : DOMFilterFactory;\nconst DefaultStandardFontDataFactory =\n typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"GENERIC\") && isNodeJS\n ? NodeStandardFontDataFactory\n : DOMStandardFontDataFactory;\n\n/**\n * @typedef { Int8Array | Uint8Array | Uint8ClampedArray |\n * Int16Array | Uint16Array |\n * Int32Array | Uint32Array | Float32Array |\n * Float64Array\n * } TypedArray\n */\n\n/**\n * @typedef { TypedArray | ArrayBuffer | Array | string } BinaryData\n */\n\n/**\n * @typedef {Object} RefProxy\n * @property {number} num\n * @property {number} gen\n */\n\n/**\n * Document initialization / loading parameters object.\n *\n * @typedef {Object} DocumentInitParameters\n * @property {string | URL} [url] - The URL of the PDF.\n * @property {BinaryData} [data] - Binary PDF data.\n * Use TypedArrays (Uint8Array) to improve the memory usage. If PDF data is\n * BASE64-encoded, use `atob()` to convert it to a binary string first.\n *\n * NOTE: If TypedArrays are used they will generally be transferred to the\n * worker-thread. This will help reduce main-thread memory usage, however\n * it will take ownership of the TypedArrays.\n * @property {Object} [httpHeaders] - Basic authentication headers.\n * @property {boolean} [withCredentials] - Indicates whether or not\n * cross-site Access-Control requests should be made using credentials such\n * as cookies or authorization headers. The default is `false`.\n * @property {string} [password] - For decrypting password-protected PDFs.\n * @property {number} [length] - The PDF file length. It's used for progress\n * reports and range requests operations.\n * @property {PDFDataRangeTransport} [range] - Allows for using a custom range\n * transport implementation.\n * @property {number} [rangeChunkSize] - Specify maximum number of bytes fetched\n * per range request. The default value is {@link DEFAULT_RANGE_CHUNK_SIZE}.\n * @property {PDFWorker} [worker] - The worker that will be used for loading and\n * parsing the PDF data.\n * @property {number} [verbosity] - Controls the logging level; the constants\n * from {@link VerbosityLevel} should be used.\n * @property {string} [docBaseUrl] - The base URL of the document, used when\n * attempting to recover valid absolute URLs for annotations, and outline\n * items, that (incorrectly) only specify relative URLs.\n * @property {string} [cMapUrl] - The URL where the predefined Adobe CMaps are\n * located. Include the trailing slash.\n * @property {boolean} [cMapPacked] - Specifies if the Adobe CMaps are binary\n * packed or not. The default value is `true`.\n * @property {Object} [CMapReaderFactory] - The factory that will be used when\n * reading built-in CMap files. Providing a custom factory is useful for\n * environments without Fetch API or `XMLHttpRequest` support, such as\n * Node.js. The default value is {DOMCMapReaderFactory}.\n * @property {boolean} [useSystemFonts] - When `true`, fonts that aren't\n * embedded in the PDF document will fallback to a system font.\n * The default value is `true` in web environments and `false` in Node.js;\n * unless `disableFontFace === true` in which case this defaults to `false`\n * regardless of the environment (to prevent completely broken fonts).\n * @property {string} [standardFontDataUrl] - The URL where the standard font\n * files are located. Include the trailing slash.\n * @property {Object} [StandardFontDataFactory] - The factory that will be used\n * when reading the standard font files. Providing a custom factory is useful\n * for environments without Fetch API or `XMLHttpRequest` support, such as\n * Node.js. The default value is {DOMStandardFontDataFactory}.\n * @property {boolean} [useWorkerFetch] - Enable using the Fetch API in the\n * worker-thread when reading CMap and standard font files. When `true`,\n * the `CMapReaderFactory` and `StandardFontDataFactory` options are ignored.\n * The default value is `true` in web environments and `false` in Node.js.\n * @property {boolean} [stopAtErrors] - Reject certain promises, e.g.\n * `getOperatorList`, `getTextContent`, and `RenderTask`, when the associated\n * PDF data cannot be successfully parsed, instead of attempting to recover\n * whatever possible of the data. The default value is `false`.\n * @property {number} [maxImageSize] - The maximum allowed image size in total\n * pixels, i.e. width * height. Images above this value will not be rendered.\n * Use -1 for no limit, which is also the default value.\n * @property {boolean} [isEvalSupported] - Determines if we can evaluate strings\n * as JavaScript. Primarily used to improve performance of font rendering, and\n * when parsing PDF functions. The default value is `true`.\n * @property {boolean} [isOffscreenCanvasSupported] - Determines if we can use\n * `OffscreenCanvas` in the worker. Primarily used to improve performance of\n * image conversion/rendering.\n * The default value is `true` in web environments and `false` in Node.js.\n * @property {number} [canvasMaxAreaInBytes] - The integer value is used to\n * know when an image must be resized (uses `OffscreenCanvas` in the worker).\n * If it's -1 then a possibly slow algorithm is used to guess the max value.\n * @property {boolean} [disableFontFace] - By default fonts are converted to\n * OpenType fonts and loaded via the Font Loading API or `@font-face` rules.\n * If disabled, fonts will be rendered using a built-in font renderer that\n * constructs the glyphs with primitive path commands.\n * The default value is `false` in web environments and `true` in Node.js.\n * @property {boolean} [fontExtraProperties] - Include additional properties,\n * which are unused during rendering of PDF documents, when exporting the\n * parsed font data from the worker-thread. This may be useful for debugging\n * purposes (and backwards compatibility), but note that it will lead to\n * increased memory usage. The default value is `false`.\n * @property {boolean} [enableXfa] - Render Xfa forms if any.\n * The default value is `false`.\n * @property {HTMLDocument} [ownerDocument] - Specify an explicit document\n * context to create elements with and to load resources, such as fonts,\n * into. Defaults to the current document.\n * @property {boolean} [disableRange] - Disable range request loading of PDF\n * files. When enabled, and if the server supports partial content requests,\n * then the PDF will be fetched in chunks. The default value is `false`.\n * @property {boolean} [disableStream] - Disable streaming of PDF file data.\n * By default PDF.js attempts to load PDF files in chunks. The default value\n * is `false`.\n * @property {boolean} [disableAutoFetch] - Disable pre-fetching of PDF file\n * data. When range requests are enabled PDF.js will automatically keep\n * fetching more data even if it isn't needed to display the current page.\n * The default value is `false`.\n *\n * NOTE: It is also necessary to disable streaming, see above, in order for\n * disabling of pre-fetching to work correctly.\n * @property {boolean} [pdfBug] - Enables special hooks for debugging PDF.js\n * (see `web/debugger.js`). The default value is `false`.\n * @property {Object} [canvasFactory] - The factory instance that will be used\n * when creating canvases. The default value is {new DOMCanvasFactory()}.\n * @property {Object} [filterFactory] - A factory instance that will be used\n * to create SVG filters when rendering some images on the main canvas.\n */\n\n/**\n * This is the main entry point for loading a PDF and interacting with it.\n *\n * NOTE: If a URL is used to fetch the PDF data a standard Fetch API call (or\n * XHR as fallback) is used, which means it must follow same origin rules,\n * e.g. no cross-domain requests without CORS.\n *\n * @param {string | URL | TypedArray | ArrayBuffer | DocumentInitParameters}\n * src - Can be a URL where a PDF file is located, a typed array (Uint8Array)\n * already populated with data, or a parameter object.\n * @returns {PDFDocumentLoadingTask}\n */\nfunction getDocument(src) {\n if (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) {\n if (typeof src === \"string\" || src instanceof URL) {\n src = { url: src };\n } else if (isArrayBuffer(src)) {\n src = { data: src };\n }\n }\n if (typeof src !== \"object\") {\n throw new Error(\"Invalid parameter in getDocument, need parameter object.\");\n }\n if (!src.url && !src.data && !src.range) {\n throw new Error(\n \"Invalid parameter object: need either .data, .range or .url\"\n );\n }\n const task = new PDFDocumentLoadingTask();\n const { docId } = task;\n\n const url = src.url ? getUrlProp(src.url) : null;\n const data = src.data ? getDataProp(src.data) : null;\n const httpHeaders = src.httpHeaders || null;\n const withCredentials = src.withCredentials === true;\n const password = src.password ?? null;\n const rangeTransport =\n src.range instanceof PDFDataRangeTransport ? src.range : null;\n const rangeChunkSize =\n Number.isInteger(src.rangeChunkSize) && src.rangeChunkSize > 0\n ? src.rangeChunkSize\n : DEFAULT_RANGE_CHUNK_SIZE;\n let worker = src.worker instanceof PDFWorker ? src.worker : null;\n const verbosity = src.verbosity;\n // Ignore \"data:\"-URLs, since they can't be used to recover valid absolute\n // URLs anyway. We want to avoid sending them to the worker-thread, since\n // they contain the *entire* PDF document and can thus be arbitrarily long.\n const docBaseUrl =\n typeof src.docBaseUrl === \"string\" && !isDataScheme(src.docBaseUrl)\n ? src.docBaseUrl\n : null;\n const cMapUrl = typeof src.cMapUrl === \"string\" ? src.cMapUrl : null;\n const cMapPacked = src.cMapPacked !== false;\n const CMapReaderFactory = src.CMapReaderFactory || DefaultCMapReaderFactory;\n const standardFontDataUrl =\n typeof src.standardFontDataUrl === \"string\"\n ? src.standardFontDataUrl\n : null;\n const StandardFontDataFactory =\n src.StandardFontDataFactory || DefaultStandardFontDataFactory;\n const ignoreErrors = src.stopAtErrors !== true;\n const maxImageSize =\n Number.isInteger(src.maxImageSize) && src.maxImageSize > -1\n ? src.maxImageSize\n : -1;\n const isEvalSupported = src.isEvalSupported !== false;\n const isOffscreenCanvasSupported =\n typeof src.isOffscreenCanvasSupported === \"boolean\"\n ? src.isOffscreenCanvasSupported\n : !isNodeJS;\n const canvasMaxAreaInBytes = Number.isInteger(src.canvasMaxAreaInBytes)\n ? src.canvasMaxAreaInBytes\n : -1;\n const disableFontFace =\n typeof src.disableFontFace === \"boolean\" ? src.disableFontFace : isNodeJS;\n const fontExtraProperties = src.fontExtraProperties === true;\n const enableXfa = src.enableXfa === true;\n const ownerDocument = src.ownerDocument || globalThis.document;\n const disableRange = src.disableRange === true;\n const disableStream = src.disableStream === true;\n const disableAutoFetch = src.disableAutoFetch === true;\n const pdfBug = src.pdfBug === true;\n\n // Parameters whose default values depend on other parameters.\n const length = rangeTransport ? rangeTransport.length : src.length ?? NaN;\n const useSystemFonts =\n typeof src.useSystemFonts === \"boolean\"\n ? src.useSystemFonts\n : !isNodeJS && !disableFontFace;\n const useWorkerFetch =\n typeof src.useWorkerFetch === \"boolean\"\n ? src.useWorkerFetch\n : (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"MOZCENTRAL\")) ||\n (CMapReaderFactory === DOMCMapReaderFactory &&\n StandardFontDataFactory === DOMStandardFontDataFactory &&\n cMapUrl &&\n standardFontDataUrl &&\n isValidFetchUrl(cMapUrl, document.baseURI) &&\n isValidFetchUrl(standardFontDataUrl, document.baseURI));\n const canvasFactory =\n src.canvasFactory || new DefaultCanvasFactory({ ownerDocument });\n const filterFactory =\n src.filterFactory || new DefaultFilterFactory({ docId, ownerDocument });\n\n // Parameters only intended for development/testing purposes.\n const styleElement =\n typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"TESTING\")\n ? src.styleElement\n : null;\n\n // Set the main-thread verbosity level.\n setVerbosityLevel(verbosity);\n\n // Ensure that the various factories can be initialized, when necessary,\n // since the user may provide *custom* ones.\n const transportFactory = {\n canvasFactory,\n filterFactory,\n };\n if (!useWorkerFetch) {\n transportFactory.cMapReaderFactory = new CMapReaderFactory({\n baseUrl: cMapUrl,\n isCompressed: cMapPacked,\n });\n transportFactory.standardFontDataFactory = new StandardFontDataFactory({\n baseUrl: standardFontDataUrl,\n });\n }\n\n if (!worker) {\n const workerParams = {\n verbosity,\n port: GlobalWorkerOptions.workerPort,\n };\n // Worker was not provided -- creating and owning our own. If message port\n // is specified in global worker options, using it.\n worker = workerParams.port\n ? PDFWorker.fromPort(workerParams)\n : new PDFWorker(workerParams);\n task._worker = worker;\n }\n\n const fetchDocParams = {\n docId,\n apiVersion:\n typeof PDFJSDev !== \"undefined\" && !PDFJSDev.test(\"TESTING\")\n ? PDFJSDev.eval(\"BUNDLE_VERSION\")\n : null,\n data,\n password,\n disableAutoFetch,\n rangeChunkSize,\n length,\n docBaseUrl,\n enableXfa,\n evaluatorOptions: {\n maxImageSize,\n disableFontFace,\n ignoreErrors,\n isEvalSupported,\n isOffscreenCanvasSupported,\n canvasMaxAreaInBytes,\n fontExtraProperties,\n useSystemFonts,\n cMapUrl: useWorkerFetch ? cMapUrl : null,\n standardFontDataUrl: useWorkerFetch ? standardFontDataUrl : null,\n },\n };\n const transportParams = {\n ignoreErrors,\n isEvalSupported,\n disableFontFace,\n fontExtraProperties,\n enableXfa,\n ownerDocument,\n disableAutoFetch,\n pdfBug,\n styleElement,\n };\n\n worker.promise\n .then(function () {\n if (task.destroyed) {\n throw new Error(\"Loading aborted\");\n }\n\n const workerIdPromise = _fetchDocument(worker, fetchDocParams);\n const networkStreamPromise = new Promise(function (resolve) {\n let networkStream;\n if (rangeTransport) {\n networkStream = new PDFDataTransportStream(\n {\n length,\n initialData: rangeTransport.initialData,\n progressiveDone: rangeTransport.progressiveDone,\n contentDispositionFilename:\n rangeTransport.contentDispositionFilename,\n disableRange,\n disableStream,\n },\n rangeTransport\n );\n } else if (!data) {\n if (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"MOZCENTRAL\")) {\n throw new Error(\"Not implemented: createPDFNetworkStream\");\n }\n const createPDFNetworkStream = params => {\n if (\n typeof PDFJSDev !== \"undefined\" &&\n PDFJSDev.test(\"GENERIC\") &&\n isNodeJS\n ) {\n return new PDFNodeStream(params);\n }\n return isValidFetchUrl(params.url)\n ? new PDFFetchStream(params)\n : new PDFNetworkStream(params);\n };\n\n networkStream = createPDFNetworkStream({\n url,\n length,\n httpHeaders,\n withCredentials,\n rangeChunkSize,\n disableRange,\n disableStream,\n });\n }\n resolve(networkStream);\n });\n\n return Promise.all([workerIdPromise, networkStreamPromise]).then(\n function ([workerId, networkStream]) {\n if (task.destroyed) {\n throw new Error(\"Loading aborted\");\n }\n\n const messageHandler = new MessageHandler(\n docId,\n workerId,\n worker.port\n );\n const transport = new WorkerTransport(\n messageHandler,\n task,\n networkStream,\n transportParams,\n transportFactory\n );\n task._transport = transport;\n messageHandler.send(\"Ready\", null);\n }\n );\n })\n .catch(task._capability.reject);\n\n return task;\n}\n\n/**\n * Starts fetching of specified PDF document/data.\n *\n * @param {PDFWorker} worker\n * @param {Object} source\n * @returns {Promise} A promise that is resolved when the worker ID of\n * the `MessageHandler` is known.\n * @private\n */\nasync function _fetchDocument(worker, source) {\n if (worker.destroyed) {\n throw new Error(\"Worker was destroyed\");\n }\n const workerId = await worker.messageHandler.sendWithPromise(\n \"GetDocRequest\",\n source,\n source.data ? [source.data.buffer] : null\n );\n\n if (worker.destroyed) {\n throw new Error(\"Worker was destroyed\");\n }\n return workerId;\n}\n\nfunction getUrlProp(val) {\n if (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"MOZCENTRAL\")) {\n return null; // The 'url' is unused with `PDFDataRangeTransport`.\n }\n if (val instanceof URL) {\n return val.href;\n }\n try {\n // The full path is required in the 'url' field.\n return new URL(val, window.location).href;\n } catch {\n if (\n typeof PDFJSDev !== \"undefined\" &&\n PDFJSDev.test(\"GENERIC\") &&\n isNodeJS &&\n typeof val === \"string\"\n ) {\n return val; // Use the url as-is in Node.js environments.\n }\n }\n throw new Error(\n \"Invalid PDF url data: \" +\n \"either string or URL-object is expected in the url property.\"\n );\n}\n\nfunction getDataProp(val) {\n // Converting string or array-like data to Uint8Array.\n if (\n typeof PDFJSDev !== \"undefined\" &&\n PDFJSDev.test(\"GENERIC\") &&\n isNodeJS &&\n typeof Buffer !== \"undefined\" && // eslint-disable-line no-undef\n val instanceof Buffer // eslint-disable-line no-undef\n ) {\n throw new Error(\n \"Please provide binary data as `Uint8Array`, rather than `Buffer`.\"\n );\n }\n if (val instanceof Uint8Array && val.byteLength === val.buffer.byteLength) {\n // Use the data as-is when it's already a Uint8Array that completely\n // \"utilizes\" its underlying ArrayBuffer, to prevent any possible\n // issues when transferring it to the worker-thread.\n return val;\n }\n if (typeof val === \"string\") {\n return stringToBytes(val);\n }\n if ((typeof val === \"object\" && !isNaN(val?.length)) || isArrayBuffer(val)) {\n return new Uint8Array(val);\n }\n throw new Error(\n \"Invalid PDF binary data: either TypedArray, \" +\n \"string, or array-like object is expected in the data property.\"\n );\n}\n\n/**\n * @typedef {Object} OnProgressParameters\n * @property {number} loaded - Currently loaded number of bytes.\n * @property {number} total - Total number of bytes in the PDF file.\n */\n\n/**\n * The loading task controls the operations required to load a PDF document\n * (such as network requests) and provides a way to listen for completion,\n * after which individual pages can be rendered.\n */\nclass PDFDocumentLoadingTask {\n static #docId = 0;\n\n constructor() {\n this._capability = new PromiseCapability();\n this._transport = null;\n this._worker = null;\n\n /**\n * Unique identifier for the document loading task.\n * @type {string}\n */\n this.docId = `d${PDFDocumentLoadingTask.#docId++}`;\n\n /**\n * Whether the loading task is destroyed or not.\n * @type {boolean}\n */\n this.destroyed = false;\n\n /**\n * Callback to request a password if a wrong or no password was provided.\n * The callback receives two parameters: a function that should be called\n * with the new password, and a reason (see {@link PasswordResponses}).\n * @type {function}\n */\n this.onPassword = null;\n\n /**\n * Callback to be able to monitor the loading progress of the PDF file\n * (necessary to implement e.g. a loading bar).\n * The callback receives an {@link OnProgressParameters} argument.\n * @type {function}\n */\n this.onProgress = null;\n }\n\n /**\n * Promise for document loading task completion.\n * @type {Promise}\n */\n get promise() {\n return this._capability.promise;\n }\n\n /**\n * Abort all network requests and destroy the worker.\n * @returns {Promise} A promise that is resolved when destruction is\n * completed.\n */\n async destroy() {\n this.destroyed = true;\n await this._transport?.destroy();\n\n this._transport = null;\n if (this._worker) {\n this._worker.destroy();\n this._worker = null;\n }\n }\n}\n\n/**\n * Abstract class to support range requests file loading.\n *\n * NOTE: The TypedArrays passed to the constructor and relevant methods below\n * will generally be transferred to the worker-thread. This will help reduce\n * main-thread memory usage, however it will take ownership of the TypedArrays.\n */\nclass PDFDataRangeTransport {\n /**\n * @param {number} length\n * @param {Uint8Array|null} initialData\n * @param {boolean} [progressiveDone]\n * @param {string} [contentDispositionFilename]\n */\n constructor(\n length,\n initialData,\n progressiveDone = false,\n contentDispositionFilename = null\n ) {\n this.length = length;\n this.initialData = initialData;\n this.progressiveDone = progressiveDone;\n this.contentDispositionFilename = contentDispositionFilename;\n\n this._rangeListeners = [];\n this._progressListeners = [];\n this._progressiveReadListeners = [];\n this._progressiveDoneListeners = [];\n this._readyCapability = new PromiseCapability();\n }\n\n /**\n * @param {function} listener\n */\n addRangeListener(listener) {\n this._rangeListeners.push(listener);\n }\n\n /**\n * @param {function} listener\n */\n addProgressListener(listener) {\n this._progressListeners.push(listener);\n }\n\n /**\n * @param {function} listener\n */\n addProgressiveReadListener(listener) {\n this._progressiveReadListeners.push(listener);\n }\n\n /**\n * @param {function} listener\n */\n addProgressiveDoneListener(listener) {\n this._progressiveDoneListeners.push(listener);\n }\n\n /**\n * @param {number} begin\n * @param {Uint8Array|null} chunk\n */\n onDataRange(begin, chunk) {\n for (const listener of this._rangeListeners) {\n listener(begin, chunk);\n }\n }\n\n /**\n * @param {number} loaded\n * @param {number|undefined} total\n */\n onDataProgress(loaded, total) {\n this._readyCapability.promise.then(() => {\n for (const listener of this._progressListeners) {\n listener(loaded, total);\n }\n });\n }\n\n /**\n * @param {Uint8Array|null} chunk\n */\n onDataProgressiveRead(chunk) {\n this._readyCapability.promise.then(() => {\n for (const listener of this._progressiveReadListeners) {\n listener(chunk);\n }\n });\n }\n\n onDataProgressiveDone() {\n this._readyCapability.promise.then(() => {\n for (const listener of this._progressiveDoneListeners) {\n listener();\n }\n });\n }\n\n transportReady() {\n this._readyCapability.resolve();\n }\n\n /**\n * @param {number} begin\n * @param {number} end\n */\n requestDataRange(begin, end) {\n unreachable(\"Abstract method PDFDataRangeTransport.requestDataRange\");\n }\n\n abort() {}\n}\n\n/**\n * Proxy to a `PDFDocument` in the worker thread.\n */\nclass PDFDocumentProxy {\n constructor(pdfInfo, transport) {\n this._pdfInfo = pdfInfo;\n this._transport = transport;\n\n if (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"TESTING\")) {\n // For testing purposes.\n Object.defineProperty(this, \"getXFADatasets\", {\n value: () => {\n return this._transport.getXFADatasets();\n },\n });\n Object.defineProperty(this, \"getXRefPrevValue\", {\n value: () => {\n return this._transport.getXRefPrevValue();\n },\n });\n Object.defineProperty(this, \"getAnnotArray\", {\n value: pageIndex => {\n return this._transport.getAnnotArray(pageIndex);\n },\n });\n }\n }\n\n /**\n * @type {AnnotationStorage} Storage for annotation data in forms.\n */\n get annotationStorage() {\n return this._transport.annotationStorage;\n }\n\n /**\n * @type {Object} The filter factory instance.\n */\n get filterFactory() {\n return this._transport.filterFactory;\n }\n\n /**\n * @type {number} Total number of pages in the PDF file.\n */\n get numPages() {\n return this._pdfInfo.numPages;\n }\n\n /**\n * @type {Array} A (not guaranteed to be) unique ID to\n * identify the PDF document.\n * NOTE: The first element will always be defined for all PDF documents,\n * whereas the second element is only defined for *modified* PDF documents.\n */\n get fingerprints() {\n return this._pdfInfo.fingerprints;\n }\n\n /**\n * @type {boolean} True if only XFA form.\n */\n get isPureXfa() {\n return shadow(this, \"isPureXfa\", !!this._transport._htmlForXfa);\n }\n\n /**\n * NOTE: This is (mostly) intended to support printing of XFA forms.\n *\n * @type {Object | null} An object representing a HTML tree structure\n * to render the XFA, or `null` when no XFA form exists.\n */\n get allXfaHtml() {\n return this._transport._htmlForXfa;\n }\n\n /**\n * @param {number} pageNumber - The page number to get. The first page is 1.\n * @returns {Promise} A promise that is resolved with\n * a {@link PDFPageProxy} object.\n */\n getPage(pageNumber) {\n return this._transport.getPage(pageNumber);\n }\n\n /**\n * @param {RefProxy} ref - The page reference.\n * @returns {Promise} A promise that is resolved with the page index,\n * starting from zero, that is associated with the reference.\n */\n getPageIndex(ref) {\n return this._transport.getPageIndex(ref);\n }\n\n /**\n * @returns {Promise