@pdfme/pdf-lib 0.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1852) hide show
  1. package/LICENSE.md +21 -0
  2. package/README.md +1542 -0
  3. package/__tests__/api/PDFDocument.spec.ts +576 -0
  4. package/__tests__/api/PDFImage.spec.ts +60 -0
  5. package/__tests__/api/PDFPage.spec.ts +151 -0
  6. package/__tests__/api/form/PDFCheckBox.spec.ts +71 -0
  7. package/__tests__/api/form/PDFDropdown.spec.ts +118 -0
  8. package/__tests__/api/form/PDFForm.spec.ts +370 -0
  9. package/__tests__/api/form/PDFOptionList.spec.ts +104 -0
  10. package/__tests__/api/form/PDFRadioGroup.spec.ts +183 -0
  11. package/__tests__/api/form/PDFTextField.spec.ts +148 -0
  12. package/__tests__/api/svgPath.spec.ts +153 -0
  13. package/__tests__/api/text/layout.spec.ts +166 -0
  14. package/__tests__/core/PDFContext.spec.ts +194 -0
  15. package/__tests__/core/PDFObjectCopier.spec.ts +421 -0
  16. package/__tests__/core/acroform/PDFAcroField.spec.ts +98 -0
  17. package/__tests__/core/acroform/PDFAcroTerminal.spec.ts +39 -0
  18. package/__tests__/core/annotation/PDFWidgetAnnotation.spec.ts +40 -0
  19. package/__tests__/core/document/PDFCrossRefSection.spec.ts +88 -0
  20. package/__tests__/core/document/PDFHeader.spec.ts +22 -0
  21. package/__tests__/core/document/PDFTrailer.spec.ts +28 -0
  22. package/__tests__/core/document/PDFTrailerDict.spec.ts +24 -0
  23. package/__tests__/core/embedders/CMap.spec.ts +47 -0
  24. package/__tests__/core/embedders/CustomFontEmbedder.spec.ts +96 -0
  25. package/__tests__/core/embedders/CustomFontSubsetEmbedder.spec.ts +62 -0
  26. package/__tests__/core/embedders/FileEmbedder.spec.ts +54 -0
  27. package/__tests__/core/embedders/JpegEmbedder.spec.ts +67 -0
  28. package/__tests__/core/embedders/PDFPageEmbedder.spec.ts +65 -0
  29. package/__tests__/core/embedders/PngEmbedder.spec.ts +87 -0
  30. package/__tests__/core/embedders/StandardFontEmbedder.spec.ts +79 -0
  31. package/__tests__/core/embedders/data/SourceHanSerifJP-Regular.otf.cmap +16096 -0
  32. package/__tests__/core/embedders/data/Ubuntu-R.ttf.cmap +1211 -0
  33. package/__tests__/core/objects/PDFArray.spec.ts +134 -0
  34. package/__tests__/core/objects/PDFBool.spec.ts +42 -0
  35. package/__tests__/core/objects/PDFDict.spec.ts +195 -0
  36. package/__tests__/core/objects/PDFHexString.spec.ts +168 -0
  37. package/__tests__/core/objects/PDFInvalidObject.spec.ts +32 -0
  38. package/__tests__/core/objects/PDFName.spec.ts +122 -0
  39. package/__tests__/core/objects/PDFNull.spec.ts +30 -0
  40. package/__tests__/core/objects/PDFNumber.spec.ts +50 -0
  41. package/__tests__/core/objects/PDFObject.spec.ts +29 -0
  42. package/__tests__/core/objects/PDFRawStream.spec.ts +45 -0
  43. package/__tests__/core/objects/PDFRef.spec.ts +60 -0
  44. package/__tests__/core/objects/PDFString.spec.ts +237 -0
  45. package/__tests__/core/operators/PDFOperator.spec.ts +77 -0
  46. package/__tests__/core/parser/PDFObjectParser.spec.ts +730 -0
  47. package/__tests__/core/parser/PDFObjectStreamParser.spec.ts +158 -0
  48. package/__tests__/core/parser/PDFParser.spec.ts +398 -0
  49. package/__tests__/core/parser/PDFXRefStreamParser.spec.ts +187 -0
  50. package/__tests__/core/parser/data/object-stream-invalid +2 -0
  51. package/__tests__/core/parser/data/object-stream1 +16 -0
  52. package/__tests__/core/parser/data/object-stream2 +10 -0
  53. package/__tests__/core/parser/data/object-stream3 +0 -0
  54. package/__tests__/core/parser/data/object-stream4 +0 -0
  55. package/__tests__/core/parser/data/xref-stream1 +0 -0
  56. package/__tests__/core/parser/data/xref-stream2 +0 -0
  57. package/__tests__/core/parser/data/xref-stream3 +0 -0
  58. package/__tests__/core/parser/data/xref-stream4 +0 -0
  59. package/__tests__/core/streams/Ascii85Stream.spec.ts +20 -0
  60. package/__tests__/core/streams/AsciiHexStream.spec.ts +20 -0
  61. package/__tests__/core/streams/FlateStream.spec.ts +20 -0
  62. package/__tests__/core/streams/LZWStream.spec.ts +20 -0
  63. package/__tests__/core/streams/RunLengthStream.spec.ts +20 -0
  64. package/__tests__/core/streams/Stream.spec.ts +128 -0
  65. package/__tests__/core/streams/data/ascii85/1.decoded +0 -0
  66. package/__tests__/core/streams/data/ascii85/1.encoded +43 -0
  67. package/__tests__/core/streams/data/asciihex/1.decoded +1 -0
  68. package/__tests__/core/streams/data/asciihex/1.encoded +1 -0
  69. package/__tests__/core/streams/data/asciihex/2.decoded +7 -0
  70. package/__tests__/core/streams/data/asciihex/2.encoded +1 -0
  71. package/__tests__/core/streams/data/flate/1.corrupt.encoded +1 -0
  72. package/__tests__/core/streams/data/flate/1.decoded +0 -0
  73. package/__tests__/core/streams/data/flate/1.encoded +2 -0
  74. package/__tests__/core/streams/data/flate/2.decoded +33 -0
  75. package/__tests__/core/streams/data/flate/2.encoded +0 -0
  76. package/__tests__/core/streams/data/flate/3.decoded +15 -0
  77. package/__tests__/core/streams/data/flate/3.encoded +0 -0
  78. package/__tests__/core/streams/data/flate/4.decoded +16 -0
  79. package/__tests__/core/streams/data/flate/4.encoded +0 -0
  80. package/__tests__/core/streams/data/flate/5.decoded +0 -0
  81. package/__tests__/core/streams/data/flate/5.encoded +0 -0
  82. package/__tests__/core/streams/data/flate/6.decoded +17 -0
  83. package/__tests__/core/streams/data/flate/6.encoded +0 -0
  84. package/__tests__/core/streams/data/flate/7.decoded +20 -0
  85. package/__tests__/core/streams/data/flate/7.encoded +1 -0
  86. package/__tests__/core/streams/data/lzw/1.decoded +0 -0
  87. package/__tests__/core/streams/data/lzw/1.encoded +0 -0
  88. package/__tests__/core/streams/data/lzw/2.decoded +0 -0
  89. package/__tests__/core/streams/data/lzw/2.encoded +0 -0
  90. package/__tests__/core/streams/data/lzw/3.decoded +14 -0
  91. package/__tests__/core/streams/data/lzw/3.encoded +2 -0
  92. package/__tests__/core/streams/data/lzw/4.decoded +14 -0
  93. package/__tests__/core/streams/data/lzw/4.encoded +2 -0
  94. package/__tests__/core/streams/data/runlength/1.decoded +1 -0
  95. package/__tests__/core/streams/data/runlength/1.encoded +1 -0
  96. package/__tests__/core/streams/data/runlength/2.decoded +1 -0
  97. package/__tests__/core/streams/data/runlength/2.encoded +1 -0
  98. package/__tests__/core/streams/data/runlength/3.decoded +0 -0
  99. package/__tests__/core/streams/data/runlength/3.encoded +0 -0
  100. package/__tests__/core/streams/data/runlength/4.decoded +1 -0
  101. package/__tests__/core/streams/data/runlength/4.encoded +1 -0
  102. package/__tests__/core/streams/data/runlength/5.decoded +1 -0
  103. package/__tests__/core/streams/data/runlength/5.encoded +1 -0
  104. package/__tests__/core/streams/data/runlength/empty.encoded +1 -0
  105. package/__tests__/core/structures/PDFCatalog.spec.ts +108 -0
  106. package/__tests__/core/structures/PDFContentStream.spec.ts +117 -0
  107. package/__tests__/core/structures/PDFCrossRefStream.spec.ts +145 -0
  108. package/__tests__/core/structures/PDFObjectStream.spec.ts +138 -0
  109. package/__tests__/core/structures/PDFPageLeaf.spec.ts +355 -0
  110. package/__tests__/core/structures/PDFPageTree.spec.ts +592 -0
  111. package/__tests__/core/writers/PDFStreamWriter.spec.ts +71 -0
  112. package/__tests__/core/writers/PDFWriter.spec.ts +144 -0
  113. package/__tests__/core/writers/data/stream-writer-1.pdf +0 -0
  114. package/__tests__/index.test.ts +12 -0
  115. package/__tests__/utils/base64.spec.ts +61 -0
  116. package/__tests__/utils/data/simple.pdf +201 -0
  117. package/__tests__/utils/data/simple.pdf.base64 +1 -0
  118. package/__tests__/utils/pdfDocEncoding.spec.ts +82 -0
  119. package/__tests__/utils/png.spec.ts +27 -0
  120. package/__tests__/utils/rng.spec.ts +14 -0
  121. package/__tests__/utils/strings.spec.ts +98 -0
  122. package/__tests__/utils/unicode.spec.ts +337 -0
  123. package/assets/fonts/source_hans_jp/SourceHanSerifJP-Regular.otf +0 -0
  124. package/assets/fonts/ubuntu/Ubuntu-B.ttf +0 -0
  125. package/assets/fonts/ubuntu/Ubuntu-R.ttf +0 -0
  126. package/assets/images/cat_riding_unicorn.jpg +0 -0
  127. package/assets/images/cmyk_colorspace.jpg +0 -0
  128. package/assets/images/greyscale_bird.png +0 -0
  129. package/assets/images/minions_banana_alpha.png +0 -0
  130. package/assets/images/minions_banana_no_alpha.png +0 -0
  131. package/assets/images/minions_laughing.jpg +0 -0
  132. package/assets/pdfs/bixby_guide.pdf +0 -0
  133. package/assets/pdfs/encrypted_new.pdf +0 -0
  134. package/assets/pdfs/encrypted_old.pdf +0 -0
  135. package/assets/pdfs/fancy_fields.pdf +0 -0
  136. package/assets/pdfs/giraffe.pdf +0 -0
  137. package/assets/pdfs/invalid_root_ref.pdf +0 -0
  138. package/assets/pdfs/just_metadata.pdf +49 -0
  139. package/assets/pdfs/missing_endobj_keyword.pdf +70 -0
  140. package/assets/pdfs/missing_xref_trailer_dict.pdf +141 -0
  141. package/assets/pdfs/normal.pdf +0 -0
  142. package/assets/pdfs/pdf20examples/PDF 2.0 with offset start.pdf +179 -0
  143. package/assets/pdfs/stuff_following_header.pdf +0 -0
  144. package/assets/pdfs/us_constitution.pdf +0 -0
  145. package/assets/pdfs/with_comments.pdf +0 -0
  146. package/assets/pdfs/with_invalid_objects.pdf +53 -0
  147. package/assets/pdfs/with_invalid_stream_EOL.pdf +0 -0
  148. package/assets/pdfs/with_null_parent_entry.pdf +0 -0
  149. package/assets/pdfs/with_signature.pdf +0 -0
  150. package/assets/pdfs/with_update_sections.pdf +0 -0
  151. package/assets/pdfs/with_viewer_prefs.pdf +0 -0
  152. package/assets/pdfs/with_xfa_fields.pdf +0 -0
  153. package/dist/cjs/__tests__/api/PDFDocument.spec.js +429 -0
  154. package/dist/cjs/__tests__/api/PDFDocument.spec.js.map +1 -0
  155. package/dist/cjs/__tests__/api/PDFImage.spec.js +47 -0
  156. package/dist/cjs/__tests__/api/PDFImage.spec.js.map +1 -0
  157. package/dist/cjs/__tests__/api/PDFPage.spec.js +130 -0
  158. package/dist/cjs/__tests__/api/PDFPage.spec.js.map +1 -0
  159. package/dist/cjs/__tests__/api/form/PDFCheckBox.spec.js +54 -0
  160. package/dist/cjs/__tests__/api/form/PDFCheckBox.spec.js.map +1 -0
  161. package/dist/cjs/__tests__/api/form/PDFDropdown.spec.js +101 -0
  162. package/dist/cjs/__tests__/api/form/PDFDropdown.spec.js.map +1 -0
  163. package/dist/cjs/__tests__/api/form/PDFForm.spec.js +271 -0
  164. package/dist/cjs/__tests__/api/form/PDFForm.spec.js.map +1 -0
  165. package/dist/cjs/__tests__/api/form/PDFOptionList.spec.js +90 -0
  166. package/dist/cjs/__tests__/api/form/PDFOptionList.spec.js.map +1 -0
  167. package/dist/cjs/__tests__/api/form/PDFRadioGroup.spec.js +142 -0
  168. package/dist/cjs/__tests__/api/form/PDFRadioGroup.spec.js.map +1 -0
  169. package/dist/cjs/__tests__/api/form/PDFTextField.spec.js +116 -0
  170. package/dist/cjs/__tests__/api/form/PDFTextField.spec.js.map +1 -0
  171. package/dist/cjs/__tests__/api/svgPath.spec.js +93 -0
  172. package/dist/cjs/__tests__/api/svgPath.spec.js.map +1 -0
  173. package/dist/cjs/__tests__/api/text/layout.spec.js +134 -0
  174. package/dist/cjs/__tests__/api/text/layout.spec.js.map +1 -0
  175. package/dist/cjs/__tests__/core/PDFContext.spec.js +144 -0
  176. package/dist/cjs/__tests__/core/PDFContext.spec.js.map +1 -0
  177. package/dist/cjs/__tests__/core/PDFObjectCopier.spec.js +294 -0
  178. package/dist/cjs/__tests__/core/PDFObjectCopier.spec.js.map +1 -0
  179. package/dist/cjs/__tests__/core/acroform/PDFAcroField.spec.js +73 -0
  180. package/dist/cjs/__tests__/core/acroform/PDFAcroField.spec.js.map +1 -0
  181. package/dist/cjs/__tests__/core/acroform/PDFAcroTerminal.spec.js +28 -0
  182. package/dist/cjs/__tests__/core/acroform/PDFAcroTerminal.spec.js.map +1 -0
  183. package/dist/cjs/__tests__/core/annotation/PDFWidgetAnnotation.spec.js +27 -0
  184. package/dist/cjs/__tests__/core/annotation/PDFWidgetAnnotation.spec.js.map +1 -0
  185. package/dist/cjs/__tests__/core/document/PDFCrossRefSection.spec.js +70 -0
  186. package/dist/cjs/__tests__/core/document/PDFCrossRefSection.spec.js.map +1 -0
  187. package/dist/cjs/__tests__/core/document/PDFHeader.spec.js +21 -0
  188. package/dist/cjs/__tests__/core/document/PDFHeader.spec.js.map +1 -0
  189. package/dist/cjs/__tests__/core/document/PDFTrailer.spec.js +21 -0
  190. package/dist/cjs/__tests__/core/document/PDFTrailer.spec.js.map +1 -0
  191. package/dist/cjs/__tests__/core/document/PDFTrailerDict.spec.js +22 -0
  192. package/dist/cjs/__tests__/core/document/PDFTrailerDict.spec.js.map +1 -0
  193. package/dist/cjs/__tests__/core/embedders/CMap.spec.js +39 -0
  194. package/dist/cjs/__tests__/core/embedders/CMap.spec.js.map +1 -0
  195. package/dist/cjs/__tests__/core/embedders/CustomFontEmbedder.spec.js +66 -0
  196. package/dist/cjs/__tests__/core/embedders/CustomFontEmbedder.spec.js.map +1 -0
  197. package/dist/cjs/__tests__/core/embedders/CustomFontSubsetEmbedder.spec.js +47 -0
  198. package/dist/cjs/__tests__/core/embedders/CustomFontSubsetEmbedder.spec.js.map +1 -0
  199. package/dist/cjs/__tests__/core/embedders/FileEmbedder.spec.js +44 -0
  200. package/dist/cjs/__tests__/core/embedders/FileEmbedder.spec.js.map +1 -0
  201. package/dist/cjs/__tests__/core/embedders/JpegEmbedder.spec.js +56 -0
  202. package/dist/cjs/__tests__/core/embedders/JpegEmbedder.spec.js.map +1 -0
  203. package/dist/cjs/__tests__/core/embedders/PDFPageEmbedder.spec.js +57 -0
  204. package/dist/cjs/__tests__/core/embedders/PDFPageEmbedder.spec.js.map +1 -0
  205. package/dist/cjs/__tests__/core/embedders/PngEmbedder.spec.js +72 -0
  206. package/dist/cjs/__tests__/core/embedders/PngEmbedder.spec.js.map +1 -0
  207. package/dist/cjs/__tests__/core/embedders/StandardFontEmbedder.spec.js +60 -0
  208. package/dist/cjs/__tests__/core/embedders/StandardFontEmbedder.spec.js.map +1 -0
  209. package/dist/cjs/__tests__/core/objects/PDFArray.spec.js +102 -0
  210. package/dist/cjs/__tests__/core/objects/PDFArray.spec.js.map +1 -0
  211. package/dist/cjs/__tests__/core/objects/PDFBool.spec.js +36 -0
  212. package/dist/cjs/__tests__/core/objects/PDFBool.spec.js.map +1 -0
  213. package/dist/cjs/__tests__/core/objects/PDFDict.spec.js +149 -0
  214. package/dist/cjs/__tests__/core/objects/PDFDict.spec.js.map +1 -0
  215. package/dist/cjs/__tests__/core/objects/PDFHexString.spec.js +101 -0
  216. package/dist/cjs/__tests__/core/objects/PDFHexString.spec.js.map +1 -0
  217. package/dist/cjs/__tests__/core/objects/PDFInvalidObject.spec.js +27 -0
  218. package/dist/cjs/__tests__/core/objects/PDFInvalidObject.spec.js.map +1 -0
  219. package/dist/cjs/__tests__/core/objects/PDFName.spec.js +97 -0
  220. package/dist/cjs/__tests__/core/objects/PDFName.spec.js.map +1 -0
  221. package/dist/cjs/__tests__/core/objects/PDFNull.spec.js +27 -0
  222. package/dist/cjs/__tests__/core/objects/PDFNull.spec.js.map +1 -0
  223. package/dist/cjs/__tests__/core/objects/PDFNumber.spec.js +39 -0
  224. package/dist/cjs/__tests__/core/objects/PDFNumber.spec.js.map +1 -0
  225. package/dist/cjs/__tests__/core/objects/PDFObject.spec.js +19 -0
  226. package/dist/cjs/__tests__/core/objects/PDFObject.spec.js.map +1 -0
  227. package/dist/cjs/__tests__/core/objects/PDFRawStream.spec.js +33 -0
  228. package/dist/cjs/__tests__/core/objects/PDFRawStream.spec.js.map +1 -0
  229. package/dist/cjs/__tests__/core/objects/PDFRef.spec.js +51 -0
  230. package/dist/cjs/__tests__/core/objects/PDFRef.spec.js.map +1 -0
  231. package/dist/cjs/__tests__/core/objects/PDFString.spec.js +140 -0
  232. package/dist/cjs/__tests__/core/objects/PDFString.spec.js.map +1 -0
  233. package/dist/cjs/__tests__/core/operators/PDFOperator.spec.js +63 -0
  234. package/dist/cjs/__tests__/core/operators/PDFOperator.spec.js.map +1 -0
  235. package/dist/cjs/__tests__/core/parser/PDFObjectParser.spec.js +581 -0
  236. package/dist/cjs/__tests__/core/parser/PDFObjectParser.spec.js.map +1 -0
  237. package/dist/cjs/__tests__/core/parser/PDFObjectStreamParser.spec.js +120 -0
  238. package/dist/cjs/__tests__/core/parser/PDFObjectStreamParser.spec.js.map +1 -0
  239. package/dist/cjs/__tests__/core/parser/PDFParser.spec.js +302 -0
  240. package/dist/cjs/__tests__/core/parser/PDFParser.spec.js.map +1 -0
  241. package/dist/cjs/__tests__/core/parser/PDFXRefStreamParser.spec.js +155 -0
  242. package/dist/cjs/__tests__/core/parser/PDFXRefStreamParser.spec.js.map +1 -0
  243. package/dist/cjs/__tests__/core/streams/Ascii85Stream.spec.js +21 -0
  244. package/dist/cjs/__tests__/core/streams/Ascii85Stream.spec.js.map +1 -0
  245. package/dist/cjs/__tests__/core/streams/AsciiHexStream.spec.js +21 -0
  246. package/dist/cjs/__tests__/core/streams/AsciiHexStream.spec.js.map +1 -0
  247. package/dist/cjs/__tests__/core/streams/FlateStream.spec.js +21 -0
  248. package/dist/cjs/__tests__/core/streams/FlateStream.spec.js.map +1 -0
  249. package/dist/cjs/__tests__/core/streams/LZWStream.spec.js +21 -0
  250. package/dist/cjs/__tests__/core/streams/LZWStream.spec.js.map +1 -0
  251. package/dist/cjs/__tests__/core/streams/RunLengthStream.spec.js +21 -0
  252. package/dist/cjs/__tests__/core/streams/RunLengthStream.spec.js.map +1 -0
  253. package/dist/cjs/__tests__/core/streams/Stream.spec.js +113 -0
  254. package/dist/cjs/__tests__/core/streams/Stream.spec.js.map +1 -0
  255. package/dist/cjs/__tests__/core/structures/PDFCatalog.spec.js +76 -0
  256. package/dist/cjs/__tests__/core/structures/PDFCatalog.spec.js.map +1 -0
  257. package/dist/cjs/__tests__/core/structures/PDFContentStream.spec.js +76 -0
  258. package/dist/cjs/__tests__/core/structures/PDFContentStream.spec.js.map +1 -0
  259. package/dist/cjs/__tests__/core/structures/PDFCrossRefStream.spec.js +92 -0
  260. package/dist/cjs/__tests__/core/structures/PDFCrossRefStream.spec.js.map +1 -0
  261. package/dist/cjs/__tests__/core/structures/PDFObjectStream.spec.js +84 -0
  262. package/dist/cjs/__tests__/core/structures/PDFObjectStream.spec.js.map +1 -0
  263. package/dist/cjs/__tests__/core/structures/PDFPageLeaf.spec.js +253 -0
  264. package/dist/cjs/__tests__/core/structures/PDFPageLeaf.spec.js.map +1 -0
  265. package/dist/cjs/__tests__/core/structures/PDFPageTree.spec.js +436 -0
  266. package/dist/cjs/__tests__/core/structures/PDFPageTree.spec.js.map +1 -0
  267. package/dist/cjs/__tests__/core/writers/PDFStreamWriter.spec.js +54 -0
  268. package/dist/cjs/__tests__/core/writers/PDFStreamWriter.spec.js.map +1 -0
  269. package/dist/cjs/__tests__/core/writers/PDFWriter.spec.js +125 -0
  270. package/dist/cjs/__tests__/core/writers/PDFWriter.spec.js.map +1 -0
  271. package/dist/cjs/__tests__/index.test.js +13 -0
  272. package/dist/cjs/__tests__/index.test.js.map +1 -0
  273. package/dist/cjs/__tests__/utils/base64.spec.js +58 -0
  274. package/dist/cjs/__tests__/utils/base64.spec.js.map +1 -0
  275. package/dist/cjs/__tests__/utils/pdfDocEncoding.spec.js +76 -0
  276. package/dist/cjs/__tests__/utils/pdfDocEncoding.spec.js.map +1 -0
  277. package/dist/cjs/__tests__/utils/png.spec.js +27 -0
  278. package/dist/cjs/__tests__/utils/png.spec.js.map +1 -0
  279. package/dist/cjs/__tests__/utils/rng.spec.js +15 -0
  280. package/dist/cjs/__tests__/utils/rng.spec.js.map +1 -0
  281. package/dist/cjs/__tests__/utils/strings.spec.js +77 -0
  282. package/dist/cjs/__tests__/utils/strings.spec.js.map +1 -0
  283. package/dist/cjs/__tests__/utils/unicode.spec.js +244 -0
  284. package/dist/cjs/__tests__/utils/unicode.spec.js.map +1 -0
  285. package/dist/cjs/src/api/Embeddable.js +3 -0
  286. package/dist/cjs/src/api/Embeddable.js.map +1 -0
  287. package/dist/cjs/src/api/PDFDocument.js +1321 -0
  288. package/dist/cjs/src/api/PDFDocument.js.map +1 -0
  289. package/dist/cjs/src/api/PDFDocumentOptions.js +11 -0
  290. package/dist/cjs/src/api/PDFDocumentOptions.js.map +1 -0
  291. package/dist/cjs/src/api/PDFEmbeddedFile.js +99 -0
  292. package/dist/cjs/src/api/PDFEmbeddedFile.js.map +1 -0
  293. package/dist/cjs/src/api/PDFEmbeddedPage.js +128 -0
  294. package/dist/cjs/src/api/PDFEmbeddedPage.js.map +1 -0
  295. package/dist/cjs/src/api/PDFFont.js +169 -0
  296. package/dist/cjs/src/api/PDFFont.js.map +1 -0
  297. package/dist/cjs/src/api/PDFImage.js +165 -0
  298. package/dist/cjs/src/api/PDFImage.js.map +1 -0
  299. package/dist/cjs/src/api/PDFJavaScript.js +88 -0
  300. package/dist/cjs/src/api/PDFJavaScript.js.map +1 -0
  301. package/dist/cjs/src/api/PDFPage.js +1510 -0
  302. package/dist/cjs/src/api/PDFPage.js.map +1 -0
  303. package/dist/cjs/src/api/PDFPageOptions.js +19 -0
  304. package/dist/cjs/src/api/PDFPageOptions.js.map +1 -0
  305. package/dist/cjs/src/api/StandardFonts.js +21 -0
  306. package/dist/cjs/src/api/StandardFonts.js.map +1 -0
  307. package/dist/cjs/src/api/colors.js +70 -0
  308. package/dist/cjs/src/api/colors.js.map +1 -0
  309. package/dist/cjs/src/api/errors.js +110 -0
  310. package/dist/cjs/src/api/errors.js.map +1 -0
  311. package/dist/cjs/src/api/form/PDFButton.js +259 -0
  312. package/dist/cjs/src/api/form/PDFButton.js.map +1 -0
  313. package/dist/cjs/src/api/form/PDFCheckBox.js +272 -0
  314. package/dist/cjs/src/api/form/PDFCheckBox.js.map +1 -0
  315. package/dist/cjs/src/api/form/PDFDropdown.js +617 -0
  316. package/dist/cjs/src/api/form/PDFDropdown.js.map +1 -0
  317. package/dist/cjs/src/api/form/PDFField.js +393 -0
  318. package/dist/cjs/src/api/form/PDFField.js.map +1 -0
  319. package/dist/cjs/src/api/form/PDFForm.js +762 -0
  320. package/dist/cjs/src/api/form/PDFForm.js.map +1 -0
  321. package/dist/cjs/src/api/form/PDFOptionList.js +538 -0
  322. package/dist/cjs/src/api/form/PDFOptionList.js.map +1 -0
  323. package/dist/cjs/src/api/form/PDFRadioGroup.js +455 -0
  324. package/dist/cjs/src/api/form/PDFRadioGroup.js.map +1 -0
  325. package/dist/cjs/src/api/form/PDFSignature.js +52 -0
  326. package/dist/cjs/src/api/form/PDFSignature.js.map +1 -0
  327. package/dist/cjs/src/api/form/PDFTextField.js +779 -0
  328. package/dist/cjs/src/api/form/PDFTextField.js.map +1 -0
  329. package/dist/cjs/src/api/form/appearances.js +490 -0
  330. package/dist/cjs/src/api/form/appearances.js.map +1 -0
  331. package/dist/cjs/src/api/form/index.js +40 -0
  332. package/dist/cjs/src/api/form/index.js.map +1 -0
  333. package/dist/cjs/src/api/image/alignment.js +10 -0
  334. package/dist/cjs/src/api/image/alignment.js.map +1 -0
  335. package/dist/cjs/src/api/image/index.js +18 -0
  336. package/dist/cjs/src/api/image/index.js.map +1 -0
  337. package/dist/cjs/src/api/index.js +46 -0
  338. package/dist/cjs/src/api/index.js.map +1 -0
  339. package/dist/cjs/src/api/objects.js +11 -0
  340. package/dist/cjs/src/api/objects.js.map +1 -0
  341. package/dist/cjs/src/api/operations.js +540 -0
  342. package/dist/cjs/src/api/operations.js.map +1 -0
  343. package/dist/cjs/src/api/operators.js +213 -0
  344. package/dist/cjs/src/api/operators.js.map +1 -0
  345. package/dist/cjs/src/api/rotations.js +72 -0
  346. package/dist/cjs/src/api/rotations.js.map +1 -0
  347. package/dist/cjs/src/api/sizes.js +56 -0
  348. package/dist/cjs/src/api/sizes.js.map +1 -0
  349. package/dist/cjs/src/api/svg.js +657 -0
  350. package/dist/cjs/src/api/svg.js.map +1 -0
  351. package/dist/cjs/src/api/svgPath.js +376 -0
  352. package/dist/cjs/src/api/svgPath.js.map +1 -0
  353. package/dist/cjs/src/api/text/alignment.js +10 -0
  354. package/dist/cjs/src/api/text/alignment.js.map +1 -0
  355. package/dist/cjs/src/api/text/index.js +19 -0
  356. package/dist/cjs/src/api/text/index.js.map +1 -0
  357. package/dist/cjs/src/api/text/layout.js +210 -0
  358. package/dist/cjs/src/api/text/layout.js.map +1 -0
  359. package/dist/cjs/src/core/PDFContext.js +247 -0
  360. package/dist/cjs/src/core/PDFContext.js.map +1 -0
  361. package/dist/cjs/src/core/PDFObjectCopier.js +169 -0
  362. package/dist/cjs/src/core/PDFObjectCopier.js.map +1 -0
  363. package/dist/cjs/src/core/acroform/PDFAcroButton.js +91 -0
  364. package/dist/cjs/src/core/acroform/PDFAcroButton.js.map +1 -0
  365. package/dist/cjs/src/core/acroform/PDFAcroCheckBox.js +54 -0
  366. package/dist/cjs/src/core/acroform/PDFAcroCheckBox.js.map +1 -0
  367. package/dist/cjs/src/core/acroform/PDFAcroChoice.js +116 -0
  368. package/dist/cjs/src/core/acroform/PDFAcroChoice.js.map +1 -0
  369. package/dist/cjs/src/core/acroform/PDFAcroComboBox.js +31 -0
  370. package/dist/cjs/src/core/acroform/PDFAcroComboBox.js.map +1 -0
  371. package/dist/cjs/src/core/acroform/PDFAcroField.js +159 -0
  372. package/dist/cjs/src/core/acroform/PDFAcroField.js.map +1 -0
  373. package/dist/cjs/src/core/acroform/PDFAcroForm.js +95 -0
  374. package/dist/cjs/src/core/acroform/PDFAcroForm.js.map +1 -0
  375. package/dist/cjs/src/core/acroform/PDFAcroListBox.js +29 -0
  376. package/dist/cjs/src/core/acroform/PDFAcroListBox.js.map +1 -0
  377. package/dist/cjs/src/core/acroform/PDFAcroNonTerminal.js +39 -0
  378. package/dist/cjs/src/core/acroform/PDFAcroNonTerminal.js.map +1 -0
  379. package/dist/cjs/src/core/acroform/PDFAcroPushButton.js +31 -0
  380. package/dist/cjs/src/core/acroform/PDFAcroPushButton.js.map +1 -0
  381. package/dist/cjs/src/core/acroform/PDFAcroRadioButton.js +62 -0
  382. package/dist/cjs/src/core/acroform/PDFAcroRadioButton.js.map +1 -0
  383. package/dist/cjs/src/core/acroform/PDFAcroSignature.js +16 -0
  384. package/dist/cjs/src/core/acroform/PDFAcroSignature.js.map +1 -0
  385. package/dist/cjs/src/core/acroform/PDFAcroTerminal.js +70 -0
  386. package/dist/cjs/src/core/acroform/PDFAcroTerminal.js.map +1 -0
  387. package/dist/cjs/src/core/acroform/PDFAcroText.js +78 -0
  388. package/dist/cjs/src/core/acroform/PDFAcroText.js.map +1 -0
  389. package/dist/cjs/src/core/acroform/flags.js +150 -0
  390. package/dist/cjs/src/core/acroform/flags.js.map +1 -0
  391. package/dist/cjs/src/core/acroform/index.js +49 -0
  392. package/dist/cjs/src/core/acroform/index.js.map +1 -0
  393. package/dist/cjs/src/core/acroform/utils.js +127 -0
  394. package/dist/cjs/src/core/acroform/utils.js.map +1 -0
  395. package/dist/cjs/src/core/annotation/AppearanceCharacteristics.js +132 -0
  396. package/dist/cjs/src/core/annotation/AppearanceCharacteristics.js.map +1 -0
  397. package/dist/cjs/src/core/annotation/BorderStyle.js +40 -0
  398. package/dist/cjs/src/core/annotation/BorderStyle.js.map +1 -0
  399. package/dist/cjs/src/core/annotation/PDFAnnotation.js +133 -0
  400. package/dist/cjs/src/core/annotation/PDFAnnotation.js.map +1 -0
  401. package/dist/cjs/src/core/annotation/PDFWidgetAnnotation.js +114 -0
  402. package/dist/cjs/src/core/annotation/PDFWidgetAnnotation.js.map +1 -0
  403. package/dist/cjs/src/core/annotation/flags.js +85 -0
  404. package/dist/cjs/src/core/annotation/flags.js.map +1 -0
  405. package/dist/cjs/src/core/annotation/index.js +28 -0
  406. package/dist/cjs/src/core/annotation/index.js.map +1 -0
  407. package/dist/cjs/src/core/crypto.js +1741 -0
  408. package/dist/cjs/src/core/crypto.js.map +1 -0
  409. package/dist/cjs/src/core/document/PDFCrossRefSection.js +151 -0
  410. package/dist/cjs/src/core/document/PDFCrossRefSection.js.map +1 -0
  411. package/dist/cjs/src/core/document/PDFHeader.js +58 -0
  412. package/dist/cjs/src/core/document/PDFHeader.js.map +1 -0
  413. package/dist/cjs/src/core/document/PDFTrailer.js +53 -0
  414. package/dist/cjs/src/core/document/PDFTrailer.js.map +1 -0
  415. package/dist/cjs/src/core/document/PDFTrailerDict.js +44 -0
  416. package/dist/cjs/src/core/document/PDFTrailerDict.js.map +1 -0
  417. package/dist/cjs/src/core/embedders/CMap.js +56 -0
  418. package/dist/cjs/src/core/embedders/CMap.js.map +1 -0
  419. package/dist/cjs/src/core/embedders/CustomFontEmbedder.js +237 -0
  420. package/dist/cjs/src/core/embedders/CustomFontEmbedder.js.map +1 -0
  421. package/dist/cjs/src/core/embedders/CustomFontSubsetEmbedder.js +88 -0
  422. package/dist/cjs/src/core/embedders/CustomFontSubsetEmbedder.js.map +1 -0
  423. package/dist/cjs/src/core/embedders/FileEmbedder.js +82 -0
  424. package/dist/cjs/src/core/embedders/FileEmbedder.js.map +1 -0
  425. package/dist/cjs/src/core/embedders/FontFlags.js +41 -0
  426. package/dist/cjs/src/core/embedders/FontFlags.js.map +1 -0
  427. package/dist/cjs/src/core/embedders/JavaScriptEmbedder.js +43 -0
  428. package/dist/cjs/src/core/embedders/JavaScriptEmbedder.js.map +1 -0
  429. package/dist/cjs/src/core/embedders/JpegEmbedder.js +123 -0
  430. package/dist/cjs/src/core/embedders/JpegEmbedder.js.map +1 -0
  431. package/dist/cjs/src/core/embedders/PDFPageEmbedder.js +117 -0
  432. package/dist/cjs/src/core/embedders/PDFPageEmbedder.js.map +1 -0
  433. package/dist/cjs/src/core/embedders/PngEmbedder.js +86 -0
  434. package/dist/cjs/src/core/embedders/PngEmbedder.js.map +1 -0
  435. package/dist/cjs/src/core/embedders/StandardFontEmbedder.js +125 -0
  436. package/dist/cjs/src/core/embedders/StandardFontEmbedder.js.map +1 -0
  437. package/dist/cjs/src/core/errors.js +207 -0
  438. package/dist/cjs/src/core/errors.js.map +1 -0
  439. package/dist/cjs/src/core/index.js +117 -0
  440. package/dist/cjs/src/core/index.js.map +1 -0
  441. package/dist/cjs/src/core/interactive/ViewerPreferences.js +515 -0
  442. package/dist/cjs/src/core/interactive/ViewerPreferences.js.map +1 -0
  443. package/dist/cjs/src/core/objects/PDFArray.js +127 -0
  444. package/dist/cjs/src/core/objects/PDFArray.js.map +1 -0
  445. package/dist/cjs/src/core/objects/PDFBool.js +66 -0
  446. package/dist/cjs/src/core/objects/PDFBool.js.map +1 -0
  447. package/dist/cjs/src/core/objects/PDFDict.js +155 -0
  448. package/dist/cjs/src/core/objects/PDFDict.js.map +1 -0
  449. package/dist/cjs/src/core/objects/PDFHexString.js +89 -0
  450. package/dist/cjs/src/core/objects/PDFHexString.js.map +1 -0
  451. package/dist/cjs/src/core/objects/PDFInvalidObject.js +42 -0
  452. package/dist/cjs/src/core/objects/PDFInvalidObject.js.map +1 -0
  453. package/dist/cjs/src/core/objects/PDFName.js +267 -0
  454. package/dist/cjs/src/core/objects/PDFName.js.map +1 -0
  455. package/dist/cjs/src/core/objects/PDFNull.js +30 -0
  456. package/dist/cjs/src/core/objects/PDFNull.js.map +1 -0
  457. package/dist/cjs/src/core/objects/PDFNumber.js +54 -0
  458. package/dist/cjs/src/core/objects/PDFNumber.js.map +1 -0
  459. package/dist/cjs/src/core/objects/PDFObject.js +19 -0
  460. package/dist/cjs/src/core/objects/PDFObject.js.map +1 -0
  461. package/dist/cjs/src/core/objects/PDFRawStream.js +49 -0
  462. package/dist/cjs/src/core/objects/PDFRawStream.js.map +1 -0
  463. package/dist/cjs/src/core/objects/PDFRef.js +67 -0
  464. package/dist/cjs/src/core/objects/PDFRef.js.map +1 -0
  465. package/dist/cjs/src/core/objects/PDFStream.js +80 -0
  466. package/dist/cjs/src/core/objects/PDFStream.js.map +1 -0
  467. package/dist/cjs/src/core/objects/PDFString.js +131 -0
  468. package/dist/cjs/src/core/objects/PDFString.js.map +1 -0
  469. package/dist/cjs/src/core/operators/PDFOperator.js +74 -0
  470. package/dist/cjs/src/core/operators/PDFOperator.js.map +1 -0
  471. package/dist/cjs/src/core/operators/PDFOperatorNames.js +88 -0
  472. package/dist/cjs/src/core/operators/PDFOperatorNames.js.map +1 -0
  473. package/dist/cjs/src/core/parser/BaseParser.js +122 -0
  474. package/dist/cjs/src/core/parser/BaseParser.js.map +1 -0
  475. package/dist/cjs/src/core/parser/ByteStream.js +100 -0
  476. package/dist/cjs/src/core/parser/ByteStream.js.map +1 -0
  477. package/dist/cjs/src/core/parser/PDFObjectParser.js +264 -0
  478. package/dist/cjs/src/core/parser/PDFObjectParser.js.map +1 -0
  479. package/dist/cjs/src/core/parser/PDFObjectStreamParser.js +81 -0
  480. package/dist/cjs/src/core/parser/PDFObjectStreamParser.js.map +1 -0
  481. package/dist/cjs/src/core/parser/PDFParser.js +327 -0
  482. package/dist/cjs/src/core/parser/PDFParser.js.map +1 -0
  483. package/dist/cjs/src/core/parser/PDFXRefStreamParser.js +132 -0
  484. package/dist/cjs/src/core/parser/PDFXRefStreamParser.js.map +1 -0
  485. package/dist/cjs/src/core/streams/Ascii85Stream.js +96 -0
  486. package/dist/cjs/src/core/streams/Ascii85Stream.js.map +1 -0
  487. package/dist/cjs/src/core/streams/AsciiHexStream.js +86 -0
  488. package/dist/cjs/src/core/streams/AsciiHexStream.js.map +1 -0
  489. package/dist/cjs/src/core/streams/DecodeStream.js +174 -0
  490. package/dist/cjs/src/core/streams/DecodeStream.js.map +1 -0
  491. package/dist/cjs/src/core/streams/DecryptStream.js +63 -0
  492. package/dist/cjs/src/core/streams/DecryptStream.js.map +1 -0
  493. package/dist/cjs/src/core/streams/FlateStream.js +388 -0
  494. package/dist/cjs/src/core/streams/FlateStream.js.map +1 -0
  495. package/dist/cjs/src/core/streams/LZWStream.js +160 -0
  496. package/dist/cjs/src/core/streams/LZWStream.js.map +1 -0
  497. package/dist/cjs/src/core/streams/RunLengthStream.js +60 -0
  498. package/dist/cjs/src/core/streams/RunLengthStream.js.map +1 -0
  499. package/dist/cjs/src/core/streams/Stream.js +119 -0
  500. package/dist/cjs/src/core/streams/Stream.js.map +1 -0
  501. package/dist/cjs/src/core/streams/decode.js +64 -0
  502. package/dist/cjs/src/core/streams/decode.js.map +1 -0
  503. package/dist/cjs/src/core/structures/PDFCatalog.js +84 -0
  504. package/dist/cjs/src/core/structures/PDFCatalog.js.map +1 -0
  505. package/dist/cjs/src/core/structures/PDFContentStream.js +61 -0
  506. package/dist/cjs/src/core/structures/PDFContentStream.js.map +1 -0
  507. package/dist/cjs/src/core/structures/PDFCrossRefStream.js +230 -0
  508. package/dist/cjs/src/core/structures/PDFCrossRefStream.js.map +1 -0
  509. package/dist/cjs/src/core/structures/PDFFlateStream.js +51 -0
  510. package/dist/cjs/src/core/structures/PDFFlateStream.js.map +1 -0
  511. package/dist/cjs/src/core/structures/PDFObjectStream.js +92 -0
  512. package/dist/cjs/src/core/structures/PDFObjectStream.js.map +1 -0
  513. package/dist/cjs/src/core/structures/PDFPageLeaf.js +222 -0
  514. package/dist/cjs/src/core/structures/PDFPageLeaf.js.map +1 -0
  515. package/dist/cjs/src/core/structures/PDFPageTree.js +181 -0
  516. package/dist/cjs/src/core/structures/PDFPageTree.js.map +1 -0
  517. package/dist/cjs/src/core/syntax/CharCodes.js +65 -0
  518. package/dist/cjs/src/core/syntax/CharCodes.js.map +1 -0
  519. package/dist/cjs/src/core/syntax/Delimiters.js +19 -0
  520. package/dist/cjs/src/core/syntax/Delimiters.js.map +1 -0
  521. package/dist/cjs/src/core/syntax/Irregular.js +15 -0
  522. package/dist/cjs/src/core/syntax/Irregular.js.map +1 -0
  523. package/dist/cjs/src/core/syntax/Keywords.js +60 -0
  524. package/dist/cjs/src/core/syntax/Keywords.js.map +1 -0
  525. package/dist/cjs/src/core/syntax/Numeric.js +27 -0
  526. package/dist/cjs/src/core/syntax/Numeric.js.map +1 -0
  527. package/dist/cjs/src/core/syntax/Whitespace.js +15 -0
  528. package/dist/cjs/src/core/syntax/Whitespace.js.map +1 -0
  529. package/dist/cjs/src/core/writers/PDFStreamWriter.js +99 -0
  530. package/dist/cjs/src/core/writers/PDFStreamWriter.js.map +1 -0
  531. package/dist/cjs/src/core/writers/PDFWriter.js +133 -0
  532. package/dist/cjs/src/core/writers/PDFWriter.js.map +1 -0
  533. package/dist/cjs/src/index.js +21 -0
  534. package/dist/cjs/src/index.js.map +1 -0
  535. package/dist/cjs/src/types/fontkit.js +3 -0
  536. package/dist/cjs/src/types/fontkit.js.map +1 -0
  537. package/dist/cjs/src/types/index.js +3 -0
  538. package/dist/cjs/src/types/index.js.map +1 -0
  539. package/dist/cjs/src/types/matrix.js +5 -0
  540. package/dist/cjs/src/types/matrix.js.map +1 -0
  541. package/dist/cjs/src/utils/Cache.js +39 -0
  542. package/dist/cjs/src/utils/Cache.js.map +1 -0
  543. package/dist/cjs/src/utils/arrays.js +148 -0
  544. package/dist/cjs/src/utils/arrays.js.map +1 -0
  545. package/dist/cjs/src/utils/async.js +12 -0
  546. package/dist/cjs/src/utils/async.js.map +1 -0
  547. package/dist/cjs/src/utils/base64.js +90 -0
  548. package/dist/cjs/src/utils/base64.js.map +1 -0
  549. package/dist/cjs/src/utils/elements/Arc.js +102 -0
  550. package/dist/cjs/src/utils/elements/Arc.js.map +1 -0
  551. package/dist/cjs/src/utils/elements/Circle.js +55 -0
  552. package/dist/cjs/src/utils/elements/Circle.js.map +1 -0
  553. package/dist/cjs/src/utils/elements/Ellipse.js +111 -0
  554. package/dist/cjs/src/utils/elements/Ellipse.js.map +1 -0
  555. package/dist/cjs/src/utils/elements/GraphElement.js +11 -0
  556. package/dist/cjs/src/utils/elements/GraphElement.js.map +1 -0
  557. package/dist/cjs/src/utils/elements/Line.js +84 -0
  558. package/dist/cjs/src/utils/elements/Line.js.map +1 -0
  559. package/dist/cjs/src/utils/elements/Plot.js +54 -0
  560. package/dist/cjs/src/utils/elements/Plot.js.map +1 -0
  561. package/dist/cjs/src/utils/elements/Point.js +51 -0
  562. package/dist/cjs/src/utils/elements/Point.js.map +1 -0
  563. package/dist/cjs/src/utils/elements/Rectangle.js +77 -0
  564. package/dist/cjs/src/utils/elements/Rectangle.js.map +1 -0
  565. package/dist/cjs/src/utils/elements/Segment.js +98 -0
  566. package/dist/cjs/src/utils/elements/Segment.js.map +1 -0
  567. package/dist/cjs/src/utils/elements/index.js +25 -0
  568. package/dist/cjs/src/utils/elements/index.js.map +1 -0
  569. package/dist/cjs/src/utils/errors.js +8 -0
  570. package/dist/cjs/src/utils/errors.js.map +1 -0
  571. package/dist/cjs/src/utils/index.js +33 -0
  572. package/dist/cjs/src/utils/index.js.map +1 -0
  573. package/dist/cjs/src/utils/intersections.js +256 -0
  574. package/dist/cjs/src/utils/intersections.js.map +1 -0
  575. package/dist/cjs/src/utils/maths.js +89 -0
  576. package/dist/cjs/src/utils/maths.js.map +1 -0
  577. package/dist/cjs/src/utils/numbers.js +60 -0
  578. package/dist/cjs/src/utils/numbers.js.map +1 -0
  579. package/dist/cjs/src/utils/objects.js +12 -0
  580. package/dist/cjs/src/utils/objects.js.map +1 -0
  581. package/dist/cjs/src/utils/pdfDocEncoding.js +70 -0
  582. package/dist/cjs/src/utils/pdfDocEncoding.js.map +1 -0
  583. package/dist/cjs/src/utils/png.js +105 -0
  584. package/dist/cjs/src/utils/png.js.map +1 -0
  585. package/dist/cjs/src/utils/rng.js +33 -0
  586. package/dist/cjs/src/utils/rng.js.map +1 -0
  587. package/dist/cjs/src/utils/strings.js +163 -0
  588. package/dist/cjs/src/utils/strings.js.map +1 -0
  589. package/dist/cjs/src/utils/unicode.js +357 -0
  590. package/dist/cjs/src/utils/unicode.js.map +1 -0
  591. package/dist/cjs/src/utils/validators.js +200 -0
  592. package/dist/cjs/src/utils/validators.js.map +1 -0
  593. package/dist/esm/__tests__/api/PDFDocument.spec.js +424 -0
  594. package/dist/esm/__tests__/api/PDFDocument.spec.js.map +1 -0
  595. package/dist/esm/__tests__/api/PDFImage.spec.js +45 -0
  596. package/dist/esm/__tests__/api/PDFImage.spec.js.map +1 -0
  597. package/dist/esm/__tests__/api/PDFPage.spec.js +125 -0
  598. package/dist/esm/__tests__/api/PDFPage.spec.js.map +1 -0
  599. package/dist/esm/__tests__/api/form/PDFCheckBox.spec.js +49 -0
  600. package/dist/esm/__tests__/api/form/PDFCheckBox.spec.js.map +1 -0
  601. package/dist/esm/__tests__/api/form/PDFDropdown.spec.js +96 -0
  602. package/dist/esm/__tests__/api/form/PDFDropdown.spec.js.map +1 -0
  603. package/dist/esm/__tests__/api/form/PDFForm.spec.js +266 -0
  604. package/dist/esm/__tests__/api/form/PDFForm.spec.js.map +1 -0
  605. package/dist/esm/__tests__/api/form/PDFOptionList.spec.js +85 -0
  606. package/dist/esm/__tests__/api/form/PDFOptionList.spec.js.map +1 -0
  607. package/dist/esm/__tests__/api/form/PDFRadioGroup.spec.js +137 -0
  608. package/dist/esm/__tests__/api/form/PDFRadioGroup.spec.js.map +1 -0
  609. package/dist/esm/__tests__/api/form/PDFTextField.spec.js +111 -0
  610. package/dist/esm/__tests__/api/form/PDFTextField.spec.js.map +1 -0
  611. package/dist/esm/__tests__/api/svgPath.spec.js +91 -0
  612. package/dist/esm/__tests__/api/svgPath.spec.js.map +1 -0
  613. package/dist/esm/__tests__/api/text/layout.spec.js +132 -0
  614. package/dist/esm/__tests__/api/text/layout.spec.js.map +1 -0
  615. package/dist/esm/__tests__/core/PDFContext.spec.js +139 -0
  616. package/dist/esm/__tests__/core/PDFContext.spec.js.map +1 -0
  617. package/dist/esm/__tests__/core/PDFObjectCopier.spec.js +292 -0
  618. package/dist/esm/__tests__/core/PDFObjectCopier.spec.js.map +1 -0
  619. package/dist/esm/__tests__/core/acroform/PDFAcroField.spec.js +71 -0
  620. package/dist/esm/__tests__/core/acroform/PDFAcroField.spec.js.map +1 -0
  621. package/dist/esm/__tests__/core/acroform/PDFAcroTerminal.spec.js +26 -0
  622. package/dist/esm/__tests__/core/acroform/PDFAcroTerminal.spec.js.map +1 -0
  623. package/dist/esm/__tests__/core/annotation/PDFWidgetAnnotation.spec.js +25 -0
  624. package/dist/esm/__tests__/core/annotation/PDFWidgetAnnotation.spec.js.map +1 -0
  625. package/dist/esm/__tests__/core/document/PDFCrossRefSection.spec.js +68 -0
  626. package/dist/esm/__tests__/core/document/PDFCrossRefSection.spec.js.map +1 -0
  627. package/dist/esm/__tests__/core/document/PDFHeader.spec.js +19 -0
  628. package/dist/esm/__tests__/core/document/PDFHeader.spec.js.map +1 -0
  629. package/dist/esm/__tests__/core/document/PDFTrailer.spec.js +19 -0
  630. package/dist/esm/__tests__/core/document/PDFTrailer.spec.js.map +1 -0
  631. package/dist/esm/__tests__/core/document/PDFTrailerDict.spec.js +20 -0
  632. package/dist/esm/__tests__/core/document/PDFTrailerDict.spec.js.map +1 -0
  633. package/dist/esm/__tests__/core/embedders/CMap.spec.js +34 -0
  634. package/dist/esm/__tests__/core/embedders/CMap.spec.js.map +1 -0
  635. package/dist/esm/__tests__/core/embedders/CustomFontEmbedder.spec.js +61 -0
  636. package/dist/esm/__tests__/core/embedders/CustomFontEmbedder.spec.js.map +1 -0
  637. package/dist/esm/__tests__/core/embedders/CustomFontSubsetEmbedder.spec.js +42 -0
  638. package/dist/esm/__tests__/core/embedders/CustomFontSubsetEmbedder.spec.js.map +1 -0
  639. package/dist/esm/__tests__/core/embedders/FileEmbedder.spec.js +39 -0
  640. package/dist/esm/__tests__/core/embedders/FileEmbedder.spec.js.map +1 -0
  641. package/dist/esm/__tests__/core/embedders/JpegEmbedder.spec.js +51 -0
  642. package/dist/esm/__tests__/core/embedders/JpegEmbedder.spec.js.map +1 -0
  643. package/dist/esm/__tests__/core/embedders/PDFPageEmbedder.spec.js +52 -0
  644. package/dist/esm/__tests__/core/embedders/PDFPageEmbedder.spec.js.map +1 -0
  645. package/dist/esm/__tests__/core/embedders/PngEmbedder.spec.js +67 -0
  646. package/dist/esm/__tests__/core/embedders/PngEmbedder.spec.js.map +1 -0
  647. package/dist/esm/__tests__/core/embedders/StandardFontEmbedder.spec.js +58 -0
  648. package/dist/esm/__tests__/core/embedders/StandardFontEmbedder.spec.js.map +1 -0
  649. package/dist/esm/__tests__/core/objects/PDFArray.spec.js +100 -0
  650. package/dist/esm/__tests__/core/objects/PDFArray.spec.js.map +1 -0
  651. package/dist/esm/__tests__/core/objects/PDFBool.spec.js +34 -0
  652. package/dist/esm/__tests__/core/objects/PDFBool.spec.js.map +1 -0
  653. package/dist/esm/__tests__/core/objects/PDFDict.spec.js +147 -0
  654. package/dist/esm/__tests__/core/objects/PDFDict.spec.js.map +1 -0
  655. package/dist/esm/__tests__/core/objects/PDFHexString.spec.js +99 -0
  656. package/dist/esm/__tests__/core/objects/PDFHexString.spec.js.map +1 -0
  657. package/dist/esm/__tests__/core/objects/PDFInvalidObject.spec.js +25 -0
  658. package/dist/esm/__tests__/core/objects/PDFInvalidObject.spec.js.map +1 -0
  659. package/dist/esm/__tests__/core/objects/PDFName.spec.js +95 -0
  660. package/dist/esm/__tests__/core/objects/PDFName.spec.js.map +1 -0
  661. package/dist/esm/__tests__/core/objects/PDFNull.spec.js +25 -0
  662. package/dist/esm/__tests__/core/objects/PDFNull.spec.js.map +1 -0
  663. package/dist/esm/__tests__/core/objects/PDFNumber.spec.js +37 -0
  664. package/dist/esm/__tests__/core/objects/PDFNumber.spec.js.map +1 -0
  665. package/dist/esm/__tests__/core/objects/PDFObject.spec.js +17 -0
  666. package/dist/esm/__tests__/core/objects/PDFObject.spec.js.map +1 -0
  667. package/dist/esm/__tests__/core/objects/PDFRawStream.spec.js +31 -0
  668. package/dist/esm/__tests__/core/objects/PDFRawStream.spec.js.map +1 -0
  669. package/dist/esm/__tests__/core/objects/PDFRef.spec.js +49 -0
  670. package/dist/esm/__tests__/core/objects/PDFRef.spec.js.map +1 -0
  671. package/dist/esm/__tests__/core/objects/PDFString.spec.js +138 -0
  672. package/dist/esm/__tests__/core/objects/PDFString.spec.js.map +1 -0
  673. package/dist/esm/__tests__/core/operators/PDFOperator.spec.js +61 -0
  674. package/dist/esm/__tests__/core/operators/PDFOperator.spec.js.map +1 -0
  675. package/dist/esm/__tests__/core/parser/PDFObjectParser.spec.js +576 -0
  676. package/dist/esm/__tests__/core/parser/PDFObjectParser.spec.js.map +1 -0
  677. package/dist/esm/__tests__/core/parser/PDFObjectStreamParser.spec.js +115 -0
  678. package/dist/esm/__tests__/core/parser/PDFObjectStreamParser.spec.js.map +1 -0
  679. package/dist/esm/__tests__/core/parser/PDFParser.spec.js +297 -0
  680. package/dist/esm/__tests__/core/parser/PDFParser.spec.js.map +1 -0
  681. package/dist/esm/__tests__/core/parser/PDFXRefStreamParser.spec.js +150 -0
  682. package/dist/esm/__tests__/core/parser/PDFXRefStreamParser.spec.js.map +1 -0
  683. package/dist/esm/__tests__/core/streams/Ascii85Stream.spec.js +16 -0
  684. package/dist/esm/__tests__/core/streams/Ascii85Stream.spec.js.map +1 -0
  685. package/dist/esm/__tests__/core/streams/AsciiHexStream.spec.js +16 -0
  686. package/dist/esm/__tests__/core/streams/AsciiHexStream.spec.js.map +1 -0
  687. package/dist/esm/__tests__/core/streams/FlateStream.spec.js +16 -0
  688. package/dist/esm/__tests__/core/streams/FlateStream.spec.js.map +1 -0
  689. package/dist/esm/__tests__/core/streams/LZWStream.spec.js +16 -0
  690. package/dist/esm/__tests__/core/streams/LZWStream.spec.js.map +1 -0
  691. package/dist/esm/__tests__/core/streams/RunLengthStream.spec.js +16 -0
  692. package/dist/esm/__tests__/core/streams/RunLengthStream.spec.js.map +1 -0
  693. package/dist/esm/__tests__/core/streams/Stream.spec.js +108 -0
  694. package/dist/esm/__tests__/core/streams/Stream.spec.js.map +1 -0
  695. package/dist/esm/__tests__/core/structures/PDFCatalog.spec.js +74 -0
  696. package/dist/esm/__tests__/core/structures/PDFCatalog.spec.js.map +1 -0
  697. package/dist/esm/__tests__/core/structures/PDFContentStream.spec.js +71 -0
  698. package/dist/esm/__tests__/core/structures/PDFContentStream.spec.js.map +1 -0
  699. package/dist/esm/__tests__/core/structures/PDFCrossRefStream.spec.js +87 -0
  700. package/dist/esm/__tests__/core/structures/PDFCrossRefStream.spec.js.map +1 -0
  701. package/dist/esm/__tests__/core/structures/PDFObjectStream.spec.js +79 -0
  702. package/dist/esm/__tests__/core/structures/PDFObjectStream.spec.js.map +1 -0
  703. package/dist/esm/__tests__/core/structures/PDFPageLeaf.spec.js +251 -0
  704. package/dist/esm/__tests__/core/structures/PDFPageLeaf.spec.js.map +1 -0
  705. package/dist/esm/__tests__/core/structures/PDFPageTree.spec.js +431 -0
  706. package/dist/esm/__tests__/core/structures/PDFPageTree.spec.js.map +1 -0
  707. package/dist/esm/__tests__/core/writers/PDFStreamWriter.spec.js +49 -0
  708. package/dist/esm/__tests__/core/writers/PDFStreamWriter.spec.js.map +1 -0
  709. package/dist/esm/__tests__/core/writers/PDFWriter.spec.js +120 -0
  710. package/dist/esm/__tests__/core/writers/PDFWriter.spec.js.map +1 -0
  711. package/dist/esm/__tests__/index.test.js +11 -0
  712. package/dist/esm/__tests__/index.test.js.map +1 -0
  713. package/dist/esm/__tests__/utils/base64.spec.js +53 -0
  714. package/dist/esm/__tests__/utils/base64.spec.js.map +1 -0
  715. package/dist/esm/__tests__/utils/pdfDocEncoding.spec.js +74 -0
  716. package/dist/esm/__tests__/utils/pdfDocEncoding.spec.js.map +1 -0
  717. package/dist/esm/__tests__/utils/png.spec.js +25 -0
  718. package/dist/esm/__tests__/utils/png.spec.js.map +1 -0
  719. package/dist/esm/__tests__/utils/rng.spec.js +13 -0
  720. package/dist/esm/__tests__/utils/rng.spec.js.map +1 -0
  721. package/dist/esm/__tests__/utils/strings.spec.js +72 -0
  722. package/dist/esm/__tests__/utils/strings.spec.js.map +1 -0
  723. package/dist/esm/__tests__/utils/unicode.spec.js +242 -0
  724. package/dist/esm/__tests__/utils/unicode.spec.js.map +1 -0
  725. package/dist/esm/src/api/Embeddable.js +2 -0
  726. package/dist/esm/src/api/Embeddable.js.map +1 -0
  727. package/dist/esm/src/api/PDFDocument.js +1282 -0
  728. package/dist/esm/src/api/PDFDocument.js.map +1 -0
  729. package/dist/esm/src/api/PDFDocumentOptions.js +8 -0
  730. package/dist/esm/src/api/PDFDocumentOptions.js.map +1 -0
  731. package/dist/esm/src/api/PDFEmbeddedFile.js +97 -0
  732. package/dist/esm/src/api/PDFEmbeddedFile.js.map +1 -0
  733. package/dist/esm/src/api/PDFEmbeddedPage.js +123 -0
  734. package/dist/esm/src/api/PDFEmbeddedPage.js.map +1 -0
  735. package/dist/esm/src/api/PDFFont.js +164 -0
  736. package/dist/esm/src/api/PDFFont.js.map +1 -0
  737. package/dist/esm/src/api/PDFImage.js +160 -0
  738. package/dist/esm/src/api/PDFImage.js.map +1 -0
  739. package/dist/esm/src/api/PDFJavaScript.js +86 -0
  740. package/dist/esm/src/api/PDFJavaScript.js.map +1 -0
  741. package/dist/esm/src/api/PDFPage.js +1505 -0
  742. package/dist/esm/src/api/PDFPage.js.map +1 -0
  743. package/dist/esm/src/api/PDFPageOptions.js +16 -0
  744. package/dist/esm/src/api/PDFPageOptions.js.map +1 -0
  745. package/dist/esm/src/api/StandardFonts.js +18 -0
  746. package/dist/esm/src/api/StandardFonts.js.map +1 -0
  747. package/dist/esm/src/api/colors.js +56 -0
  748. package/dist/esm/src/api/colors.js.map +1 -0
  749. package/dist/esm/src/api/errors.js +93 -0
  750. package/dist/esm/src/api/errors.js.map +1 -0
  751. package/dist/esm/src/api/form/PDFButton.js +221 -0
  752. package/dist/esm/src/api/form/PDFButton.js.map +1 -0
  753. package/dist/esm/src/api/form/PDFCheckBox.js +234 -0
  754. package/dist/esm/src/api/form/PDFCheckBox.js.map +1 -0
  755. package/dist/esm/src/api/form/PDFDropdown.js +579 -0
  756. package/dist/esm/src/api/form/PDFDropdown.js.map +1 -0
  757. package/dist/esm/src/api/form/PDFField.js +385 -0
  758. package/dist/esm/src/api/form/PDFField.js.map +1 -0
  759. package/dist/esm/src/api/form/PDFForm.js +757 -0
  760. package/dist/esm/src/api/form/PDFForm.js.map +1 -0
  761. package/dist/esm/src/api/form/PDFOptionList.js +500 -0
  762. package/dist/esm/src/api/form/PDFOptionList.js.map +1 -0
  763. package/dist/esm/src/api/form/PDFRadioGroup.js +417 -0
  764. package/dist/esm/src/api/form/PDFRadioGroup.js.map +1 -0
  765. package/dist/esm/src/api/form/PDFSignature.js +47 -0
  766. package/dist/esm/src/api/form/PDFSignature.js.map +1 -0
  767. package/dist/esm/src/api/form/PDFTextField.js +741 -0
  768. package/dist/esm/src/api/form/PDFTextField.js.map +1 -0
  769. package/dist/esm/src/api/form/appearances.js +480 -0
  770. package/dist/esm/src/api/form/appearances.js.map +1 -0
  771. package/dist/esm/src/api/form/index.js +11 -0
  772. package/dist/esm/src/api/form/index.js.map +1 -0
  773. package/dist/esm/src/api/image/alignment.js +7 -0
  774. package/dist/esm/src/api/image/alignment.js.map +1 -0
  775. package/dist/esm/src/api/image/index.js +2 -0
  776. package/dist/esm/src/api/image/index.js.map +1 -0
  777. package/dist/esm/src/api/index.js +20 -0
  778. package/dist/esm/src/api/index.js.map +1 -0
  779. package/dist/esm/src/api/objects.js +5 -0
  780. package/dist/esm/src/api/objects.js.map +1 -0
  781. package/dist/esm/src/api/operations.js +520 -0
  782. package/dist/esm/src/api/operations.js.map +1 -0
  783. package/dist/esm/src/api/operators.js +156 -0
  784. package/dist/esm/src/api/operators.js.map +1 -0
  785. package/dist/esm/src/api/rotations.js +60 -0
  786. package/dist/esm/src/api/rotations.js.map +1 -0
  787. package/dist/esm/src/api/sizes.js +53 -0
  788. package/dist/esm/src/api/sizes.js.map +1 -0
  789. package/dist/esm/src/api/svg.js +653 -0
  790. package/dist/esm/src/api/svg.js.map +1 -0
  791. package/dist/esm/src/api/svgPath.js +372 -0
  792. package/dist/esm/src/api/svgPath.js.map +1 -0
  793. package/dist/esm/src/api/text/alignment.js +7 -0
  794. package/dist/esm/src/api/text/alignment.js.map +1 -0
  795. package/dist/esm/src/api/text/index.js +3 -0
  796. package/dist/esm/src/api/text/index.js.map +1 -0
  797. package/dist/esm/src/api/text/layout.js +204 -0
  798. package/dist/esm/src/api/text/layout.js.map +1 -0
  799. package/dist/esm/src/core/PDFContext.js +242 -0
  800. package/dist/esm/src/core/PDFContext.js.map +1 -0
  801. package/dist/esm/src/core/PDFObjectCopier.js +164 -0
  802. package/dist/esm/src/core/PDFObjectCopier.js.map +1 -0
  803. package/dist/esm/src/core/acroform/PDFAcroButton.js +86 -0
  804. package/dist/esm/src/core/acroform/PDFAcroButton.js.map +1 -0
  805. package/dist/esm/src/core/acroform/PDFAcroCheckBox.js +49 -0
  806. package/dist/esm/src/core/acroform/PDFAcroCheckBox.js.map +1 -0
  807. package/dist/esm/src/core/acroform/PDFAcroChoice.js +111 -0
  808. package/dist/esm/src/core/acroform/PDFAcroChoice.js.map +1 -0
  809. package/dist/esm/src/core/acroform/PDFAcroComboBox.js +26 -0
  810. package/dist/esm/src/core/acroform/PDFAcroComboBox.js.map +1 -0
  811. package/dist/esm/src/core/acroform/PDFAcroField.js +154 -0
  812. package/dist/esm/src/core/acroform/PDFAcroField.js.map +1 -0
  813. package/dist/esm/src/core/acroform/PDFAcroForm.js +90 -0
  814. package/dist/esm/src/core/acroform/PDFAcroForm.js.map +1 -0
  815. package/dist/esm/src/core/acroform/PDFAcroListBox.js +24 -0
  816. package/dist/esm/src/core/acroform/PDFAcroListBox.js.map +1 -0
  817. package/dist/esm/src/core/acroform/PDFAcroNonTerminal.js +34 -0
  818. package/dist/esm/src/core/acroform/PDFAcroNonTerminal.js.map +1 -0
  819. package/dist/esm/src/core/acroform/PDFAcroPushButton.js +26 -0
  820. package/dist/esm/src/core/acroform/PDFAcroPushButton.js.map +1 -0
  821. package/dist/esm/src/core/acroform/PDFAcroRadioButton.js +57 -0
  822. package/dist/esm/src/core/acroform/PDFAcroRadioButton.js.map +1 -0
  823. package/dist/esm/src/core/acroform/PDFAcroSignature.js +11 -0
  824. package/dist/esm/src/core/acroform/PDFAcroSignature.js.map +1 -0
  825. package/dist/esm/src/core/acroform/PDFAcroTerminal.js +65 -0
  826. package/dist/esm/src/core/acroform/PDFAcroTerminal.js.map +1 -0
  827. package/dist/esm/src/core/acroform/PDFAcroText.js +73 -0
  828. package/dist/esm/src/core/acroform/PDFAcroText.js.map +1 -0
  829. package/dist/esm/src/core/acroform/flags.js +147 -0
  830. package/dist/esm/src/core/acroform/flags.js.map +1 -0
  831. package/dist/esm/src/core/acroform/index.js +16 -0
  832. package/dist/esm/src/core/acroform/index.js.map +1 -0
  833. package/dist/esm/src/core/acroform/utils.js +119 -0
  834. package/dist/esm/src/core/acroform/utils.js.map +1 -0
  835. package/dist/esm/src/core/annotation/AppearanceCharacteristics.js +127 -0
  836. package/dist/esm/src/core/annotation/AppearanceCharacteristics.js.map +1 -0
  837. package/dist/esm/src/core/annotation/BorderStyle.js +35 -0
  838. package/dist/esm/src/core/annotation/BorderStyle.js.map +1 -0
  839. package/dist/esm/src/core/annotation/PDFAnnotation.js +128 -0
  840. package/dist/esm/src/core/annotation/PDFAnnotation.js.map +1 -0
  841. package/dist/esm/src/core/annotation/PDFWidgetAnnotation.js +109 -0
  842. package/dist/esm/src/core/annotation/PDFWidgetAnnotation.js.map +1 -0
  843. package/dist/esm/src/core/annotation/flags.js +82 -0
  844. package/dist/esm/src/core/annotation/flags.js.map +1 -0
  845. package/dist/esm/src/core/annotation/index.js +5 -0
  846. package/dist/esm/src/core/annotation/index.js.map +1 -0
  847. package/dist/esm/src/core/crypto.js +1725 -0
  848. package/dist/esm/src/core/crypto.js.map +1 -0
  849. package/dist/esm/src/core/document/PDFCrossRefSection.js +146 -0
  850. package/dist/esm/src/core/document/PDFCrossRefSection.js.map +1 -0
  851. package/dist/esm/src/core/document/PDFHeader.js +53 -0
  852. package/dist/esm/src/core/document/PDFHeader.js.map +1 -0
  853. package/dist/esm/src/core/document/PDFTrailer.js +48 -0
  854. package/dist/esm/src/core/document/PDFTrailer.js.map +1 -0
  855. package/dist/esm/src/core/document/PDFTrailerDict.js +39 -0
  856. package/dist/esm/src/core/document/PDFTrailerDict.js.map +1 -0
  857. package/dist/esm/src/core/embedders/CMap.js +52 -0
  858. package/dist/esm/src/core/embedders/CMap.js.map +1 -0
  859. package/dist/esm/src/core/embedders/CustomFontEmbedder.js +232 -0
  860. package/dist/esm/src/core/embedders/CustomFontEmbedder.js.map +1 -0
  861. package/dist/esm/src/core/embedders/CustomFontSubsetEmbedder.js +83 -0
  862. package/dist/esm/src/core/embedders/CustomFontSubsetEmbedder.js.map +1 -0
  863. package/dist/esm/src/core/embedders/FileEmbedder.js +76 -0
  864. package/dist/esm/src/core/embedders/FileEmbedder.js.map +1 -0
  865. package/dist/esm/src/core/embedders/FontFlags.js +37 -0
  866. package/dist/esm/src/core/embedders/FontFlags.js.map +1 -0
  867. package/dist/esm/src/core/embedders/JavaScriptEmbedder.js +38 -0
  868. package/dist/esm/src/core/embedders/JavaScriptEmbedder.js.map +1 -0
  869. package/dist/esm/src/core/embedders/JpegEmbedder.js +121 -0
  870. package/dist/esm/src/core/embedders/JpegEmbedder.js.map +1 -0
  871. package/dist/esm/src/core/embedders/PDFPageEmbedder.js +112 -0
  872. package/dist/esm/src/core/embedders/PDFPageEmbedder.js.map +1 -0
  873. package/dist/esm/src/core/embedders/PngEmbedder.js +84 -0
  874. package/dist/esm/src/core/embedders/PngEmbedder.js.map +1 -0
  875. package/dist/esm/src/core/embedders/StandardFontEmbedder.js +120 -0
  876. package/dist/esm/src/core/embedders/StandardFontEmbedder.js.map +1 -0
  877. package/dist/esm/src/core/errors.js +176 -0
  878. package/dist/esm/src/core/errors.js.map +1 -0
  879. package/dist/esm/src/core/index.js +48 -0
  880. package/dist/esm/src/core/index.js.map +1 -0
  881. package/dist/esm/src/core/interactive/ViewerPreferences.js +509 -0
  882. package/dist/esm/src/core/interactive/ViewerPreferences.js.map +1 -0
  883. package/dist/esm/src/core/objects/PDFArray.js +122 -0
  884. package/dist/esm/src/core/objects/PDFArray.js.map +1 -0
  885. package/dist/esm/src/core/objects/PDFBool.js +61 -0
  886. package/dist/esm/src/core/objects/PDFBool.js.map +1 -0
  887. package/dist/esm/src/core/objects/PDFDict.js +150 -0
  888. package/dist/esm/src/core/objects/PDFDict.js.map +1 -0
  889. package/dist/esm/src/core/objects/PDFHexString.js +84 -0
  890. package/dist/esm/src/core/objects/PDFHexString.js.map +1 -0
  891. package/dist/esm/src/core/objects/PDFInvalidObject.js +37 -0
  892. package/dist/esm/src/core/objects/PDFInvalidObject.js.map +1 -0
  893. package/dist/esm/src/core/objects/PDFName.js +262 -0
  894. package/dist/esm/src/core/objects/PDFName.js.map +1 -0
  895. package/dist/esm/src/core/objects/PDFNull.js +25 -0
  896. package/dist/esm/src/core/objects/PDFNull.js.map +1 -0
  897. package/dist/esm/src/core/objects/PDFNumber.js +49 -0
  898. package/dist/esm/src/core/objects/PDFNumber.js.map +1 -0
  899. package/dist/esm/src/core/objects/PDFObject.js +17 -0
  900. package/dist/esm/src/core/objects/PDFObject.js.map +1 -0
  901. package/dist/esm/src/core/objects/PDFRawStream.js +44 -0
  902. package/dist/esm/src/core/objects/PDFRawStream.js.map +1 -0
  903. package/dist/esm/src/core/objects/PDFRef.js +62 -0
  904. package/dist/esm/src/core/objects/PDFRef.js.map +1 -0
  905. package/dist/esm/src/core/objects/PDFStream.js +75 -0
  906. package/dist/esm/src/core/objects/PDFStream.js.map +1 -0
  907. package/dist/esm/src/core/objects/PDFString.js +126 -0
  908. package/dist/esm/src/core/objects/PDFString.js.map +1 -0
  909. package/dist/esm/src/core/operators/PDFOperator.js +69 -0
  910. package/dist/esm/src/core/operators/PDFOperator.js.map +1 -0
  911. package/dist/esm/src/core/operators/PDFOperatorNames.js +86 -0
  912. package/dist/esm/src/core/operators/PDFOperatorNames.js.map +1 -0
  913. package/dist/esm/src/core/parser/BaseParser.js +117 -0
  914. package/dist/esm/src/core/parser/BaseParser.js.map +1 -0
  915. package/dist/esm/src/core/parser/ByteStream.js +95 -0
  916. package/dist/esm/src/core/parser/ByteStream.js.map +1 -0
  917. package/dist/esm/src/core/parser/PDFObjectParser.js +259 -0
  918. package/dist/esm/src/core/parser/PDFObjectParser.js.map +1 -0
  919. package/dist/esm/src/core/parser/PDFObjectStreamParser.js +76 -0
  920. package/dist/esm/src/core/parser/PDFObjectStreamParser.js.map +1 -0
  921. package/dist/esm/src/core/parser/PDFParser.js +322 -0
  922. package/dist/esm/src/core/parser/PDFParser.js.map +1 -0
  923. package/dist/esm/src/core/parser/PDFXRefStreamParser.js +127 -0
  924. package/dist/esm/src/core/parser/PDFXRefStreamParser.js.map +1 -0
  925. package/dist/esm/src/core/streams/Ascii85Stream.js +91 -0
  926. package/dist/esm/src/core/streams/Ascii85Stream.js.map +1 -0
  927. package/dist/esm/src/core/streams/AsciiHexStream.js +81 -0
  928. package/dist/esm/src/core/streams/AsciiHexStream.js.map +1 -0
  929. package/dist/esm/src/core/streams/DecodeStream.js +169 -0
  930. package/dist/esm/src/core/streams/DecodeStream.js.map +1 -0
  931. package/dist/esm/src/core/streams/DecryptStream.js +58 -0
  932. package/dist/esm/src/core/streams/DecryptStream.js.map +1 -0
  933. package/dist/esm/src/core/streams/FlateStream.js +383 -0
  934. package/dist/esm/src/core/streams/FlateStream.js.map +1 -0
  935. package/dist/esm/src/core/streams/LZWStream.js +155 -0
  936. package/dist/esm/src/core/streams/LZWStream.js.map +1 -0
  937. package/dist/esm/src/core/streams/RunLengthStream.js +55 -0
  938. package/dist/esm/src/core/streams/RunLengthStream.js.map +1 -0
  939. package/dist/esm/src/core/streams/Stream.js +117 -0
  940. package/dist/esm/src/core/streams/Stream.js.map +1 -0
  941. package/dist/esm/src/core/streams/decode.js +57 -0
  942. package/dist/esm/src/core/streams/decode.js.map +1 -0
  943. package/dist/esm/src/core/structures/PDFCatalog.js +79 -0
  944. package/dist/esm/src/core/structures/PDFCatalog.js.map +1 -0
  945. package/dist/esm/src/core/structures/PDFContentStream.js +56 -0
  946. package/dist/esm/src/core/structures/PDFContentStream.js.map +1 -0
  947. package/dist/esm/src/core/structures/PDFCrossRefStream.js +224 -0
  948. package/dist/esm/src/core/structures/PDFCrossRefStream.js.map +1 -0
  949. package/dist/esm/src/core/structures/PDFFlateStream.js +46 -0
  950. package/dist/esm/src/core/structures/PDFFlateStream.js.map +1 -0
  951. package/dist/esm/src/core/structures/PDFObjectStream.js +87 -0
  952. package/dist/esm/src/core/structures/PDFObjectStream.js.map +1 -0
  953. package/dist/esm/src/core/structures/PDFPageLeaf.js +217 -0
  954. package/dist/esm/src/core/structures/PDFPageLeaf.js.map +1 -0
  955. package/dist/esm/src/core/structures/PDFPageTree.js +176 -0
  956. package/dist/esm/src/core/structures/PDFPageTree.js.map +1 -0
  957. package/dist/esm/src/core/syntax/CharCodes.js +63 -0
  958. package/dist/esm/src/core/syntax/CharCodes.js.map +1 -0
  959. package/dist/esm/src/core/syntax/Delimiters.js +13 -0
  960. package/dist/esm/src/core/syntax/Delimiters.js.map +1 -0
  961. package/dist/esm/src/core/syntax/Irregular.js +9 -0
  962. package/dist/esm/src/core/syntax/Irregular.js.map +1 -0
  963. package/dist/esm/src/core/syntax/Keywords.js +54 -0
  964. package/dist/esm/src/core/syntax/Keywords.js.map +1 -0
  965. package/dist/esm/src/core/syntax/Numeric.js +21 -0
  966. package/dist/esm/src/core/syntax/Numeric.js.map +1 -0
  967. package/dist/esm/src/core/syntax/Whitespace.js +9 -0
  968. package/dist/esm/src/core/syntax/Whitespace.js.map +1 -0
  969. package/dist/esm/src/core/writers/PDFStreamWriter.js +94 -0
  970. package/dist/esm/src/core/writers/PDFStreamWriter.js.map +1 -0
  971. package/dist/esm/src/core/writers/PDFWriter.js +128 -0
  972. package/dist/esm/src/core/writers/PDFWriter.js.map +1 -0
  973. package/dist/esm/src/index.js +5 -0
  974. package/dist/esm/src/index.js.map +1 -0
  975. package/dist/esm/src/types/fontkit.js +2 -0
  976. package/dist/esm/src/types/fontkit.js.map +1 -0
  977. package/dist/esm/src/types/index.js +2 -0
  978. package/dist/esm/src/types/index.js.map +1 -0
  979. package/dist/esm/src/types/matrix.js +2 -0
  980. package/dist/esm/src/types/matrix.js.map +1 -0
  981. package/dist/esm/src/utils/Cache.js +37 -0
  982. package/dist/esm/src/utils/Cache.js.map +1 -0
  983. package/dist/esm/src/utils/arrays.js +131 -0
  984. package/dist/esm/src/utils/arrays.js.map +1 -0
  985. package/dist/esm/src/utils/async.js +8 -0
  986. package/dist/esm/src/utils/async.js.map +1 -0
  987. package/dist/esm/src/utils/base64.js +84 -0
  988. package/dist/esm/src/utils/base64.js.map +1 -0
  989. package/dist/esm/src/utils/elements/Arc.js +96 -0
  990. package/dist/esm/src/utils/elements/Arc.js.map +1 -0
  991. package/dist/esm/src/utils/elements/Circle.js +49 -0
  992. package/dist/esm/src/utils/elements/Circle.js.map +1 -0
  993. package/dist/esm/src/utils/elements/Ellipse.js +105 -0
  994. package/dist/esm/src/utils/elements/Ellipse.js.map +1 -0
  995. package/dist/esm/src/utils/elements/GraphElement.js +8 -0
  996. package/dist/esm/src/utils/elements/GraphElement.js.map +1 -0
  997. package/dist/esm/src/utils/elements/Line.js +78 -0
  998. package/dist/esm/src/utils/elements/Line.js.map +1 -0
  999. package/dist/esm/src/utils/elements/Plot.js +48 -0
  1000. package/dist/esm/src/utils/elements/Plot.js.map +1 -0
  1001. package/dist/esm/src/utils/elements/Point.js +46 -0
  1002. package/dist/esm/src/utils/elements/Point.js.map +1 -0
  1003. package/dist/esm/src/utils/elements/Rectangle.js +72 -0
  1004. package/dist/esm/src/utils/elements/Rectangle.js.map +1 -0
  1005. package/dist/esm/src/utils/elements/Segment.js +93 -0
  1006. package/dist/esm/src/utils/elements/Segment.js.map +1 -0
  1007. package/dist/esm/src/utils/elements/index.js +10 -0
  1008. package/dist/esm/src/utils/elements/index.js.map +1 -0
  1009. package/dist/esm/src/utils/errors.js +4 -0
  1010. package/dist/esm/src/utils/errors.js.map +1 -0
  1011. package/dist/esm/src/utils/index.js +12 -0
  1012. package/dist/esm/src/utils/index.js.map +1 -0
  1013. package/dist/esm/src/utils/intersections.js +245 -0
  1014. package/dist/esm/src/utils/intersections.js.map +1 -0
  1015. package/dist/esm/src/utils/maths.js +69 -0
  1016. package/dist/esm/src/utils/maths.js.map +1 -0
  1017. package/dist/esm/src/utils/numbers.js +54 -0
  1018. package/dist/esm/src/utils/numbers.js.map +1 -0
  1019. package/dist/esm/src/utils/objects.js +6 -0
  1020. package/dist/esm/src/utils/objects.js.map +1 -0
  1021. package/dist/esm/src/utils/pdfDocEncoding.js +66 -0
  1022. package/dist/esm/src/utils/pdfDocEncoding.js.map +1 -0
  1023. package/dist/esm/src/utils/png.js +98 -0
  1024. package/dist/esm/src/utils/png.js.map +1 -0
  1025. package/dist/esm/src/utils/rng.js +29 -0
  1026. package/dist/esm/src/utils/rng.js.map +1 -0
  1027. package/dist/esm/src/utils/strings.js +140 -0
  1028. package/dist/esm/src/utils/strings.js.map +1 -0
  1029. package/dist/esm/src/utils/unicode.js +346 -0
  1030. package/dist/esm/src/utils/unicode.js.map +1 -0
  1031. package/dist/esm/src/utils/validators.js +180 -0
  1032. package/dist/esm/src/utils/validators.js.map +1 -0
  1033. package/dist/node/__tests__/api/PDFDocument.spec.js +429 -0
  1034. package/dist/node/__tests__/api/PDFDocument.spec.js.map +1 -0
  1035. package/dist/node/__tests__/api/PDFImage.spec.js +47 -0
  1036. package/dist/node/__tests__/api/PDFImage.spec.js.map +1 -0
  1037. package/dist/node/__tests__/api/PDFPage.spec.js +130 -0
  1038. package/dist/node/__tests__/api/PDFPage.spec.js.map +1 -0
  1039. package/dist/node/__tests__/api/form/PDFCheckBox.spec.js +54 -0
  1040. package/dist/node/__tests__/api/form/PDFCheckBox.spec.js.map +1 -0
  1041. package/dist/node/__tests__/api/form/PDFDropdown.spec.js +101 -0
  1042. package/dist/node/__tests__/api/form/PDFDropdown.spec.js.map +1 -0
  1043. package/dist/node/__tests__/api/form/PDFForm.spec.js +271 -0
  1044. package/dist/node/__tests__/api/form/PDFForm.spec.js.map +1 -0
  1045. package/dist/node/__tests__/api/form/PDFOptionList.spec.js +90 -0
  1046. package/dist/node/__tests__/api/form/PDFOptionList.spec.js.map +1 -0
  1047. package/dist/node/__tests__/api/form/PDFRadioGroup.spec.js +142 -0
  1048. package/dist/node/__tests__/api/form/PDFRadioGroup.spec.js.map +1 -0
  1049. package/dist/node/__tests__/api/form/PDFTextField.spec.js +116 -0
  1050. package/dist/node/__tests__/api/form/PDFTextField.spec.js.map +1 -0
  1051. package/dist/node/__tests__/api/svgPath.spec.js +93 -0
  1052. package/dist/node/__tests__/api/svgPath.spec.js.map +1 -0
  1053. package/dist/node/__tests__/api/text/layout.spec.js +134 -0
  1054. package/dist/node/__tests__/api/text/layout.spec.js.map +1 -0
  1055. package/dist/node/__tests__/core/PDFContext.spec.js +144 -0
  1056. package/dist/node/__tests__/core/PDFContext.spec.js.map +1 -0
  1057. package/dist/node/__tests__/core/PDFObjectCopier.spec.js +294 -0
  1058. package/dist/node/__tests__/core/PDFObjectCopier.spec.js.map +1 -0
  1059. package/dist/node/__tests__/core/acroform/PDFAcroField.spec.js +73 -0
  1060. package/dist/node/__tests__/core/acroform/PDFAcroField.spec.js.map +1 -0
  1061. package/dist/node/__tests__/core/acroform/PDFAcroTerminal.spec.js +28 -0
  1062. package/dist/node/__tests__/core/acroform/PDFAcroTerminal.spec.js.map +1 -0
  1063. package/dist/node/__tests__/core/annotation/PDFWidgetAnnotation.spec.js +27 -0
  1064. package/dist/node/__tests__/core/annotation/PDFWidgetAnnotation.spec.js.map +1 -0
  1065. package/dist/node/__tests__/core/document/PDFCrossRefSection.spec.js +70 -0
  1066. package/dist/node/__tests__/core/document/PDFCrossRefSection.spec.js.map +1 -0
  1067. package/dist/node/__tests__/core/document/PDFHeader.spec.js +21 -0
  1068. package/dist/node/__tests__/core/document/PDFHeader.spec.js.map +1 -0
  1069. package/dist/node/__tests__/core/document/PDFTrailer.spec.js +21 -0
  1070. package/dist/node/__tests__/core/document/PDFTrailer.spec.js.map +1 -0
  1071. package/dist/node/__tests__/core/document/PDFTrailerDict.spec.js +22 -0
  1072. package/dist/node/__tests__/core/document/PDFTrailerDict.spec.js.map +1 -0
  1073. package/dist/node/__tests__/core/embedders/CMap.spec.js +39 -0
  1074. package/dist/node/__tests__/core/embedders/CMap.spec.js.map +1 -0
  1075. package/dist/node/__tests__/core/embedders/CustomFontEmbedder.spec.js +66 -0
  1076. package/dist/node/__tests__/core/embedders/CustomFontEmbedder.spec.js.map +1 -0
  1077. package/dist/node/__tests__/core/embedders/CustomFontSubsetEmbedder.spec.js +47 -0
  1078. package/dist/node/__tests__/core/embedders/CustomFontSubsetEmbedder.spec.js.map +1 -0
  1079. package/dist/node/__tests__/core/embedders/FileEmbedder.spec.js +44 -0
  1080. package/dist/node/__tests__/core/embedders/FileEmbedder.spec.js.map +1 -0
  1081. package/dist/node/__tests__/core/embedders/JpegEmbedder.spec.js +56 -0
  1082. package/dist/node/__tests__/core/embedders/JpegEmbedder.spec.js.map +1 -0
  1083. package/dist/node/__tests__/core/embedders/PDFPageEmbedder.spec.js +57 -0
  1084. package/dist/node/__tests__/core/embedders/PDFPageEmbedder.spec.js.map +1 -0
  1085. package/dist/node/__tests__/core/embedders/PngEmbedder.spec.js +72 -0
  1086. package/dist/node/__tests__/core/embedders/PngEmbedder.spec.js.map +1 -0
  1087. package/dist/node/__tests__/core/embedders/StandardFontEmbedder.spec.js +60 -0
  1088. package/dist/node/__tests__/core/embedders/StandardFontEmbedder.spec.js.map +1 -0
  1089. package/dist/node/__tests__/core/objects/PDFArray.spec.js +102 -0
  1090. package/dist/node/__tests__/core/objects/PDFArray.spec.js.map +1 -0
  1091. package/dist/node/__tests__/core/objects/PDFBool.spec.js +36 -0
  1092. package/dist/node/__tests__/core/objects/PDFBool.spec.js.map +1 -0
  1093. package/dist/node/__tests__/core/objects/PDFDict.spec.js +149 -0
  1094. package/dist/node/__tests__/core/objects/PDFDict.spec.js.map +1 -0
  1095. package/dist/node/__tests__/core/objects/PDFHexString.spec.js +101 -0
  1096. package/dist/node/__tests__/core/objects/PDFHexString.spec.js.map +1 -0
  1097. package/dist/node/__tests__/core/objects/PDFInvalidObject.spec.js +27 -0
  1098. package/dist/node/__tests__/core/objects/PDFInvalidObject.spec.js.map +1 -0
  1099. package/dist/node/__tests__/core/objects/PDFName.spec.js +97 -0
  1100. package/dist/node/__tests__/core/objects/PDFName.spec.js.map +1 -0
  1101. package/dist/node/__tests__/core/objects/PDFNull.spec.js +27 -0
  1102. package/dist/node/__tests__/core/objects/PDFNull.spec.js.map +1 -0
  1103. package/dist/node/__tests__/core/objects/PDFNumber.spec.js +39 -0
  1104. package/dist/node/__tests__/core/objects/PDFNumber.spec.js.map +1 -0
  1105. package/dist/node/__tests__/core/objects/PDFObject.spec.js +19 -0
  1106. package/dist/node/__tests__/core/objects/PDFObject.spec.js.map +1 -0
  1107. package/dist/node/__tests__/core/objects/PDFRawStream.spec.js +33 -0
  1108. package/dist/node/__tests__/core/objects/PDFRawStream.spec.js.map +1 -0
  1109. package/dist/node/__tests__/core/objects/PDFRef.spec.js +51 -0
  1110. package/dist/node/__tests__/core/objects/PDFRef.spec.js.map +1 -0
  1111. package/dist/node/__tests__/core/objects/PDFString.spec.js +140 -0
  1112. package/dist/node/__tests__/core/objects/PDFString.spec.js.map +1 -0
  1113. package/dist/node/__tests__/core/operators/PDFOperator.spec.js +63 -0
  1114. package/dist/node/__tests__/core/operators/PDFOperator.spec.js.map +1 -0
  1115. package/dist/node/__tests__/core/parser/PDFObjectParser.spec.js +581 -0
  1116. package/dist/node/__tests__/core/parser/PDFObjectParser.spec.js.map +1 -0
  1117. package/dist/node/__tests__/core/parser/PDFObjectStreamParser.spec.js +120 -0
  1118. package/dist/node/__tests__/core/parser/PDFObjectStreamParser.spec.js.map +1 -0
  1119. package/dist/node/__tests__/core/parser/PDFParser.spec.js +302 -0
  1120. package/dist/node/__tests__/core/parser/PDFParser.spec.js.map +1 -0
  1121. package/dist/node/__tests__/core/parser/PDFXRefStreamParser.spec.js +155 -0
  1122. package/dist/node/__tests__/core/parser/PDFXRefStreamParser.spec.js.map +1 -0
  1123. package/dist/node/__tests__/core/streams/Ascii85Stream.spec.js +21 -0
  1124. package/dist/node/__tests__/core/streams/Ascii85Stream.spec.js.map +1 -0
  1125. package/dist/node/__tests__/core/streams/AsciiHexStream.spec.js +21 -0
  1126. package/dist/node/__tests__/core/streams/AsciiHexStream.spec.js.map +1 -0
  1127. package/dist/node/__tests__/core/streams/FlateStream.spec.js +21 -0
  1128. package/dist/node/__tests__/core/streams/FlateStream.spec.js.map +1 -0
  1129. package/dist/node/__tests__/core/streams/LZWStream.spec.js +21 -0
  1130. package/dist/node/__tests__/core/streams/LZWStream.spec.js.map +1 -0
  1131. package/dist/node/__tests__/core/streams/RunLengthStream.spec.js +21 -0
  1132. package/dist/node/__tests__/core/streams/RunLengthStream.spec.js.map +1 -0
  1133. package/dist/node/__tests__/core/streams/Stream.spec.js +113 -0
  1134. package/dist/node/__tests__/core/streams/Stream.spec.js.map +1 -0
  1135. package/dist/node/__tests__/core/structures/PDFCatalog.spec.js +76 -0
  1136. package/dist/node/__tests__/core/structures/PDFCatalog.spec.js.map +1 -0
  1137. package/dist/node/__tests__/core/structures/PDFContentStream.spec.js +76 -0
  1138. package/dist/node/__tests__/core/structures/PDFContentStream.spec.js.map +1 -0
  1139. package/dist/node/__tests__/core/structures/PDFCrossRefStream.spec.js +92 -0
  1140. package/dist/node/__tests__/core/structures/PDFCrossRefStream.spec.js.map +1 -0
  1141. package/dist/node/__tests__/core/structures/PDFObjectStream.spec.js +84 -0
  1142. package/dist/node/__tests__/core/structures/PDFObjectStream.spec.js.map +1 -0
  1143. package/dist/node/__tests__/core/structures/PDFPageLeaf.spec.js +253 -0
  1144. package/dist/node/__tests__/core/structures/PDFPageLeaf.spec.js.map +1 -0
  1145. package/dist/node/__tests__/core/structures/PDFPageTree.spec.js +436 -0
  1146. package/dist/node/__tests__/core/structures/PDFPageTree.spec.js.map +1 -0
  1147. package/dist/node/__tests__/core/writers/PDFStreamWriter.spec.js +54 -0
  1148. package/dist/node/__tests__/core/writers/PDFStreamWriter.spec.js.map +1 -0
  1149. package/dist/node/__tests__/core/writers/PDFWriter.spec.js +125 -0
  1150. package/dist/node/__tests__/core/writers/PDFWriter.spec.js.map +1 -0
  1151. package/dist/node/__tests__/index.test.js +13 -0
  1152. package/dist/node/__tests__/index.test.js.map +1 -0
  1153. package/dist/node/__tests__/utils/base64.spec.js +58 -0
  1154. package/dist/node/__tests__/utils/base64.spec.js.map +1 -0
  1155. package/dist/node/__tests__/utils/pdfDocEncoding.spec.js +76 -0
  1156. package/dist/node/__tests__/utils/pdfDocEncoding.spec.js.map +1 -0
  1157. package/dist/node/__tests__/utils/png.spec.js +27 -0
  1158. package/dist/node/__tests__/utils/png.spec.js.map +1 -0
  1159. package/dist/node/__tests__/utils/rng.spec.js +15 -0
  1160. package/dist/node/__tests__/utils/rng.spec.js.map +1 -0
  1161. package/dist/node/__tests__/utils/strings.spec.js +77 -0
  1162. package/dist/node/__tests__/utils/strings.spec.js.map +1 -0
  1163. package/dist/node/__tests__/utils/unicode.spec.js +244 -0
  1164. package/dist/node/__tests__/utils/unicode.spec.js.map +1 -0
  1165. package/dist/node/src/api/Embeddable.js +3 -0
  1166. package/dist/node/src/api/Embeddable.js.map +1 -0
  1167. package/dist/node/src/api/PDFDocument.js +1321 -0
  1168. package/dist/node/src/api/PDFDocument.js.map +1 -0
  1169. package/dist/node/src/api/PDFDocumentOptions.js +11 -0
  1170. package/dist/node/src/api/PDFDocumentOptions.js.map +1 -0
  1171. package/dist/node/src/api/PDFEmbeddedFile.js +99 -0
  1172. package/dist/node/src/api/PDFEmbeddedFile.js.map +1 -0
  1173. package/dist/node/src/api/PDFEmbeddedPage.js +128 -0
  1174. package/dist/node/src/api/PDFEmbeddedPage.js.map +1 -0
  1175. package/dist/node/src/api/PDFFont.js +169 -0
  1176. package/dist/node/src/api/PDFFont.js.map +1 -0
  1177. package/dist/node/src/api/PDFImage.js +165 -0
  1178. package/dist/node/src/api/PDFImage.js.map +1 -0
  1179. package/dist/node/src/api/PDFJavaScript.js +88 -0
  1180. package/dist/node/src/api/PDFJavaScript.js.map +1 -0
  1181. package/dist/node/src/api/PDFPage.js +1510 -0
  1182. package/dist/node/src/api/PDFPage.js.map +1 -0
  1183. package/dist/node/src/api/PDFPageOptions.js +19 -0
  1184. package/dist/node/src/api/PDFPageOptions.js.map +1 -0
  1185. package/dist/node/src/api/StandardFonts.js +21 -0
  1186. package/dist/node/src/api/StandardFonts.js.map +1 -0
  1187. package/dist/node/src/api/colors.js +70 -0
  1188. package/dist/node/src/api/colors.js.map +1 -0
  1189. package/dist/node/src/api/errors.js +110 -0
  1190. package/dist/node/src/api/errors.js.map +1 -0
  1191. package/dist/node/src/api/form/PDFButton.js +259 -0
  1192. package/dist/node/src/api/form/PDFButton.js.map +1 -0
  1193. package/dist/node/src/api/form/PDFCheckBox.js +272 -0
  1194. package/dist/node/src/api/form/PDFCheckBox.js.map +1 -0
  1195. package/dist/node/src/api/form/PDFDropdown.js +617 -0
  1196. package/dist/node/src/api/form/PDFDropdown.js.map +1 -0
  1197. package/dist/node/src/api/form/PDFField.js +393 -0
  1198. package/dist/node/src/api/form/PDFField.js.map +1 -0
  1199. package/dist/node/src/api/form/PDFForm.js +762 -0
  1200. package/dist/node/src/api/form/PDFForm.js.map +1 -0
  1201. package/dist/node/src/api/form/PDFOptionList.js +538 -0
  1202. package/dist/node/src/api/form/PDFOptionList.js.map +1 -0
  1203. package/dist/node/src/api/form/PDFRadioGroup.js +455 -0
  1204. package/dist/node/src/api/form/PDFRadioGroup.js.map +1 -0
  1205. package/dist/node/src/api/form/PDFSignature.js +52 -0
  1206. package/dist/node/src/api/form/PDFSignature.js.map +1 -0
  1207. package/dist/node/src/api/form/PDFTextField.js +779 -0
  1208. package/dist/node/src/api/form/PDFTextField.js.map +1 -0
  1209. package/dist/node/src/api/form/appearances.js +490 -0
  1210. package/dist/node/src/api/form/appearances.js.map +1 -0
  1211. package/dist/node/src/api/form/index.js +40 -0
  1212. package/dist/node/src/api/form/index.js.map +1 -0
  1213. package/dist/node/src/api/image/alignment.js +10 -0
  1214. package/dist/node/src/api/image/alignment.js.map +1 -0
  1215. package/dist/node/src/api/image/index.js +18 -0
  1216. package/dist/node/src/api/image/index.js.map +1 -0
  1217. package/dist/node/src/api/index.js +46 -0
  1218. package/dist/node/src/api/index.js.map +1 -0
  1219. package/dist/node/src/api/objects.js +11 -0
  1220. package/dist/node/src/api/objects.js.map +1 -0
  1221. package/dist/node/src/api/operations.js +540 -0
  1222. package/dist/node/src/api/operations.js.map +1 -0
  1223. package/dist/node/src/api/operators.js +213 -0
  1224. package/dist/node/src/api/operators.js.map +1 -0
  1225. package/dist/node/src/api/rotations.js +72 -0
  1226. package/dist/node/src/api/rotations.js.map +1 -0
  1227. package/dist/node/src/api/sizes.js +56 -0
  1228. package/dist/node/src/api/sizes.js.map +1 -0
  1229. package/dist/node/src/api/svg.js +657 -0
  1230. package/dist/node/src/api/svg.js.map +1 -0
  1231. package/dist/node/src/api/svgPath.js +376 -0
  1232. package/dist/node/src/api/svgPath.js.map +1 -0
  1233. package/dist/node/src/api/text/alignment.js +10 -0
  1234. package/dist/node/src/api/text/alignment.js.map +1 -0
  1235. package/dist/node/src/api/text/index.js +19 -0
  1236. package/dist/node/src/api/text/index.js.map +1 -0
  1237. package/dist/node/src/api/text/layout.js +210 -0
  1238. package/dist/node/src/api/text/layout.js.map +1 -0
  1239. package/dist/node/src/core/PDFContext.js +247 -0
  1240. package/dist/node/src/core/PDFContext.js.map +1 -0
  1241. package/dist/node/src/core/PDFObjectCopier.js +169 -0
  1242. package/dist/node/src/core/PDFObjectCopier.js.map +1 -0
  1243. package/dist/node/src/core/acroform/PDFAcroButton.js +91 -0
  1244. package/dist/node/src/core/acroform/PDFAcroButton.js.map +1 -0
  1245. package/dist/node/src/core/acroform/PDFAcroCheckBox.js +54 -0
  1246. package/dist/node/src/core/acroform/PDFAcroCheckBox.js.map +1 -0
  1247. package/dist/node/src/core/acroform/PDFAcroChoice.js +116 -0
  1248. package/dist/node/src/core/acroform/PDFAcroChoice.js.map +1 -0
  1249. package/dist/node/src/core/acroform/PDFAcroComboBox.js +31 -0
  1250. package/dist/node/src/core/acroform/PDFAcroComboBox.js.map +1 -0
  1251. package/dist/node/src/core/acroform/PDFAcroField.js +159 -0
  1252. package/dist/node/src/core/acroform/PDFAcroField.js.map +1 -0
  1253. package/dist/node/src/core/acroform/PDFAcroForm.js +95 -0
  1254. package/dist/node/src/core/acroform/PDFAcroForm.js.map +1 -0
  1255. package/dist/node/src/core/acroform/PDFAcroListBox.js +29 -0
  1256. package/dist/node/src/core/acroform/PDFAcroListBox.js.map +1 -0
  1257. package/dist/node/src/core/acroform/PDFAcroNonTerminal.js +39 -0
  1258. package/dist/node/src/core/acroform/PDFAcroNonTerminal.js.map +1 -0
  1259. package/dist/node/src/core/acroform/PDFAcroPushButton.js +31 -0
  1260. package/dist/node/src/core/acroform/PDFAcroPushButton.js.map +1 -0
  1261. package/dist/node/src/core/acroform/PDFAcroRadioButton.js +62 -0
  1262. package/dist/node/src/core/acroform/PDFAcroRadioButton.js.map +1 -0
  1263. package/dist/node/src/core/acroform/PDFAcroSignature.js +16 -0
  1264. package/dist/node/src/core/acroform/PDFAcroSignature.js.map +1 -0
  1265. package/dist/node/src/core/acroform/PDFAcroTerminal.js +70 -0
  1266. package/dist/node/src/core/acroform/PDFAcroTerminal.js.map +1 -0
  1267. package/dist/node/src/core/acroform/PDFAcroText.js +78 -0
  1268. package/dist/node/src/core/acroform/PDFAcroText.js.map +1 -0
  1269. package/dist/node/src/core/acroform/flags.js +150 -0
  1270. package/dist/node/src/core/acroform/flags.js.map +1 -0
  1271. package/dist/node/src/core/acroform/index.js +49 -0
  1272. package/dist/node/src/core/acroform/index.js.map +1 -0
  1273. package/dist/node/src/core/acroform/utils.js +127 -0
  1274. package/dist/node/src/core/acroform/utils.js.map +1 -0
  1275. package/dist/node/src/core/annotation/AppearanceCharacteristics.js +132 -0
  1276. package/dist/node/src/core/annotation/AppearanceCharacteristics.js.map +1 -0
  1277. package/dist/node/src/core/annotation/BorderStyle.js +40 -0
  1278. package/dist/node/src/core/annotation/BorderStyle.js.map +1 -0
  1279. package/dist/node/src/core/annotation/PDFAnnotation.js +133 -0
  1280. package/dist/node/src/core/annotation/PDFAnnotation.js.map +1 -0
  1281. package/dist/node/src/core/annotation/PDFWidgetAnnotation.js +114 -0
  1282. package/dist/node/src/core/annotation/PDFWidgetAnnotation.js.map +1 -0
  1283. package/dist/node/src/core/annotation/flags.js +85 -0
  1284. package/dist/node/src/core/annotation/flags.js.map +1 -0
  1285. package/dist/node/src/core/annotation/index.js +28 -0
  1286. package/dist/node/src/core/annotation/index.js.map +1 -0
  1287. package/dist/node/src/core/crypto.js +1741 -0
  1288. package/dist/node/src/core/crypto.js.map +1 -0
  1289. package/dist/node/src/core/document/PDFCrossRefSection.js +151 -0
  1290. package/dist/node/src/core/document/PDFCrossRefSection.js.map +1 -0
  1291. package/dist/node/src/core/document/PDFHeader.js +58 -0
  1292. package/dist/node/src/core/document/PDFHeader.js.map +1 -0
  1293. package/dist/node/src/core/document/PDFTrailer.js +53 -0
  1294. package/dist/node/src/core/document/PDFTrailer.js.map +1 -0
  1295. package/dist/node/src/core/document/PDFTrailerDict.js +44 -0
  1296. package/dist/node/src/core/document/PDFTrailerDict.js.map +1 -0
  1297. package/dist/node/src/core/embedders/CMap.js +56 -0
  1298. package/dist/node/src/core/embedders/CMap.js.map +1 -0
  1299. package/dist/node/src/core/embedders/CustomFontEmbedder.js +237 -0
  1300. package/dist/node/src/core/embedders/CustomFontEmbedder.js.map +1 -0
  1301. package/dist/node/src/core/embedders/CustomFontSubsetEmbedder.js +88 -0
  1302. package/dist/node/src/core/embedders/CustomFontSubsetEmbedder.js.map +1 -0
  1303. package/dist/node/src/core/embedders/FileEmbedder.js +82 -0
  1304. package/dist/node/src/core/embedders/FileEmbedder.js.map +1 -0
  1305. package/dist/node/src/core/embedders/FontFlags.js +41 -0
  1306. package/dist/node/src/core/embedders/FontFlags.js.map +1 -0
  1307. package/dist/node/src/core/embedders/JavaScriptEmbedder.js +43 -0
  1308. package/dist/node/src/core/embedders/JavaScriptEmbedder.js.map +1 -0
  1309. package/dist/node/src/core/embedders/JpegEmbedder.js +123 -0
  1310. package/dist/node/src/core/embedders/JpegEmbedder.js.map +1 -0
  1311. package/dist/node/src/core/embedders/PDFPageEmbedder.js +117 -0
  1312. package/dist/node/src/core/embedders/PDFPageEmbedder.js.map +1 -0
  1313. package/dist/node/src/core/embedders/PngEmbedder.js +86 -0
  1314. package/dist/node/src/core/embedders/PngEmbedder.js.map +1 -0
  1315. package/dist/node/src/core/embedders/StandardFontEmbedder.js +125 -0
  1316. package/dist/node/src/core/embedders/StandardFontEmbedder.js.map +1 -0
  1317. package/dist/node/src/core/errors.js +207 -0
  1318. package/dist/node/src/core/errors.js.map +1 -0
  1319. package/dist/node/src/core/index.js +117 -0
  1320. package/dist/node/src/core/index.js.map +1 -0
  1321. package/dist/node/src/core/interactive/ViewerPreferences.js +515 -0
  1322. package/dist/node/src/core/interactive/ViewerPreferences.js.map +1 -0
  1323. package/dist/node/src/core/objects/PDFArray.js +127 -0
  1324. package/dist/node/src/core/objects/PDFArray.js.map +1 -0
  1325. package/dist/node/src/core/objects/PDFBool.js +66 -0
  1326. package/dist/node/src/core/objects/PDFBool.js.map +1 -0
  1327. package/dist/node/src/core/objects/PDFDict.js +155 -0
  1328. package/dist/node/src/core/objects/PDFDict.js.map +1 -0
  1329. package/dist/node/src/core/objects/PDFHexString.js +89 -0
  1330. package/dist/node/src/core/objects/PDFHexString.js.map +1 -0
  1331. package/dist/node/src/core/objects/PDFInvalidObject.js +42 -0
  1332. package/dist/node/src/core/objects/PDFInvalidObject.js.map +1 -0
  1333. package/dist/node/src/core/objects/PDFName.js +267 -0
  1334. package/dist/node/src/core/objects/PDFName.js.map +1 -0
  1335. package/dist/node/src/core/objects/PDFNull.js +30 -0
  1336. package/dist/node/src/core/objects/PDFNull.js.map +1 -0
  1337. package/dist/node/src/core/objects/PDFNumber.js +54 -0
  1338. package/dist/node/src/core/objects/PDFNumber.js.map +1 -0
  1339. package/dist/node/src/core/objects/PDFObject.js +19 -0
  1340. package/dist/node/src/core/objects/PDFObject.js.map +1 -0
  1341. package/dist/node/src/core/objects/PDFRawStream.js +49 -0
  1342. package/dist/node/src/core/objects/PDFRawStream.js.map +1 -0
  1343. package/dist/node/src/core/objects/PDFRef.js +67 -0
  1344. package/dist/node/src/core/objects/PDFRef.js.map +1 -0
  1345. package/dist/node/src/core/objects/PDFStream.js +80 -0
  1346. package/dist/node/src/core/objects/PDFStream.js.map +1 -0
  1347. package/dist/node/src/core/objects/PDFString.js +131 -0
  1348. package/dist/node/src/core/objects/PDFString.js.map +1 -0
  1349. package/dist/node/src/core/operators/PDFOperator.js +74 -0
  1350. package/dist/node/src/core/operators/PDFOperator.js.map +1 -0
  1351. package/dist/node/src/core/operators/PDFOperatorNames.js +88 -0
  1352. package/dist/node/src/core/operators/PDFOperatorNames.js.map +1 -0
  1353. package/dist/node/src/core/parser/BaseParser.js +122 -0
  1354. package/dist/node/src/core/parser/BaseParser.js.map +1 -0
  1355. package/dist/node/src/core/parser/ByteStream.js +100 -0
  1356. package/dist/node/src/core/parser/ByteStream.js.map +1 -0
  1357. package/dist/node/src/core/parser/PDFObjectParser.js +264 -0
  1358. package/dist/node/src/core/parser/PDFObjectParser.js.map +1 -0
  1359. package/dist/node/src/core/parser/PDFObjectStreamParser.js +81 -0
  1360. package/dist/node/src/core/parser/PDFObjectStreamParser.js.map +1 -0
  1361. package/dist/node/src/core/parser/PDFParser.js +327 -0
  1362. package/dist/node/src/core/parser/PDFParser.js.map +1 -0
  1363. package/dist/node/src/core/parser/PDFXRefStreamParser.js +132 -0
  1364. package/dist/node/src/core/parser/PDFXRefStreamParser.js.map +1 -0
  1365. package/dist/node/src/core/streams/Ascii85Stream.js +96 -0
  1366. package/dist/node/src/core/streams/Ascii85Stream.js.map +1 -0
  1367. package/dist/node/src/core/streams/AsciiHexStream.js +86 -0
  1368. package/dist/node/src/core/streams/AsciiHexStream.js.map +1 -0
  1369. package/dist/node/src/core/streams/DecodeStream.js +174 -0
  1370. package/dist/node/src/core/streams/DecodeStream.js.map +1 -0
  1371. package/dist/node/src/core/streams/DecryptStream.js +63 -0
  1372. package/dist/node/src/core/streams/DecryptStream.js.map +1 -0
  1373. package/dist/node/src/core/streams/FlateStream.js +388 -0
  1374. package/dist/node/src/core/streams/FlateStream.js.map +1 -0
  1375. package/dist/node/src/core/streams/LZWStream.js +160 -0
  1376. package/dist/node/src/core/streams/LZWStream.js.map +1 -0
  1377. package/dist/node/src/core/streams/RunLengthStream.js +60 -0
  1378. package/dist/node/src/core/streams/RunLengthStream.js.map +1 -0
  1379. package/dist/node/src/core/streams/Stream.js +119 -0
  1380. package/dist/node/src/core/streams/Stream.js.map +1 -0
  1381. package/dist/node/src/core/streams/decode.js +64 -0
  1382. package/dist/node/src/core/streams/decode.js.map +1 -0
  1383. package/dist/node/src/core/structures/PDFCatalog.js +84 -0
  1384. package/dist/node/src/core/structures/PDFCatalog.js.map +1 -0
  1385. package/dist/node/src/core/structures/PDFContentStream.js +61 -0
  1386. package/dist/node/src/core/structures/PDFContentStream.js.map +1 -0
  1387. package/dist/node/src/core/structures/PDFCrossRefStream.js +230 -0
  1388. package/dist/node/src/core/structures/PDFCrossRefStream.js.map +1 -0
  1389. package/dist/node/src/core/structures/PDFFlateStream.js +51 -0
  1390. package/dist/node/src/core/structures/PDFFlateStream.js.map +1 -0
  1391. package/dist/node/src/core/structures/PDFObjectStream.js +92 -0
  1392. package/dist/node/src/core/structures/PDFObjectStream.js.map +1 -0
  1393. package/dist/node/src/core/structures/PDFPageLeaf.js +222 -0
  1394. package/dist/node/src/core/structures/PDFPageLeaf.js.map +1 -0
  1395. package/dist/node/src/core/structures/PDFPageTree.js +181 -0
  1396. package/dist/node/src/core/structures/PDFPageTree.js.map +1 -0
  1397. package/dist/node/src/core/syntax/CharCodes.js +65 -0
  1398. package/dist/node/src/core/syntax/CharCodes.js.map +1 -0
  1399. package/dist/node/src/core/syntax/Delimiters.js +19 -0
  1400. package/dist/node/src/core/syntax/Delimiters.js.map +1 -0
  1401. package/dist/node/src/core/syntax/Irregular.js +15 -0
  1402. package/dist/node/src/core/syntax/Irregular.js.map +1 -0
  1403. package/dist/node/src/core/syntax/Keywords.js +60 -0
  1404. package/dist/node/src/core/syntax/Keywords.js.map +1 -0
  1405. package/dist/node/src/core/syntax/Numeric.js +27 -0
  1406. package/dist/node/src/core/syntax/Numeric.js.map +1 -0
  1407. package/dist/node/src/core/syntax/Whitespace.js +15 -0
  1408. package/dist/node/src/core/syntax/Whitespace.js.map +1 -0
  1409. package/dist/node/src/core/writers/PDFStreamWriter.js +99 -0
  1410. package/dist/node/src/core/writers/PDFStreamWriter.js.map +1 -0
  1411. package/dist/node/src/core/writers/PDFWriter.js +133 -0
  1412. package/dist/node/src/core/writers/PDFWriter.js.map +1 -0
  1413. package/dist/node/src/index.js +21 -0
  1414. package/dist/node/src/index.js.map +1 -0
  1415. package/dist/node/src/types/fontkit.js +3 -0
  1416. package/dist/node/src/types/fontkit.js.map +1 -0
  1417. package/dist/node/src/types/index.js +3 -0
  1418. package/dist/node/src/types/index.js.map +1 -0
  1419. package/dist/node/src/types/matrix.js +5 -0
  1420. package/dist/node/src/types/matrix.js.map +1 -0
  1421. package/dist/node/src/utils/Cache.js +39 -0
  1422. package/dist/node/src/utils/Cache.js.map +1 -0
  1423. package/dist/node/src/utils/arrays.js +148 -0
  1424. package/dist/node/src/utils/arrays.js.map +1 -0
  1425. package/dist/node/src/utils/async.js +12 -0
  1426. package/dist/node/src/utils/async.js.map +1 -0
  1427. package/dist/node/src/utils/base64.js +90 -0
  1428. package/dist/node/src/utils/base64.js.map +1 -0
  1429. package/dist/node/src/utils/elements/Arc.js +102 -0
  1430. package/dist/node/src/utils/elements/Arc.js.map +1 -0
  1431. package/dist/node/src/utils/elements/Circle.js +55 -0
  1432. package/dist/node/src/utils/elements/Circle.js.map +1 -0
  1433. package/dist/node/src/utils/elements/Ellipse.js +111 -0
  1434. package/dist/node/src/utils/elements/Ellipse.js.map +1 -0
  1435. package/dist/node/src/utils/elements/GraphElement.js +11 -0
  1436. package/dist/node/src/utils/elements/GraphElement.js.map +1 -0
  1437. package/dist/node/src/utils/elements/Line.js +84 -0
  1438. package/dist/node/src/utils/elements/Line.js.map +1 -0
  1439. package/dist/node/src/utils/elements/Plot.js +54 -0
  1440. package/dist/node/src/utils/elements/Plot.js.map +1 -0
  1441. package/dist/node/src/utils/elements/Point.js +51 -0
  1442. package/dist/node/src/utils/elements/Point.js.map +1 -0
  1443. package/dist/node/src/utils/elements/Rectangle.js +77 -0
  1444. package/dist/node/src/utils/elements/Rectangle.js.map +1 -0
  1445. package/dist/node/src/utils/elements/Segment.js +98 -0
  1446. package/dist/node/src/utils/elements/Segment.js.map +1 -0
  1447. package/dist/node/src/utils/elements/index.js +25 -0
  1448. package/dist/node/src/utils/elements/index.js.map +1 -0
  1449. package/dist/node/src/utils/errors.js +8 -0
  1450. package/dist/node/src/utils/errors.js.map +1 -0
  1451. package/dist/node/src/utils/index.js +33 -0
  1452. package/dist/node/src/utils/index.js.map +1 -0
  1453. package/dist/node/src/utils/intersections.js +256 -0
  1454. package/dist/node/src/utils/intersections.js.map +1 -0
  1455. package/dist/node/src/utils/maths.js +89 -0
  1456. package/dist/node/src/utils/maths.js.map +1 -0
  1457. package/dist/node/src/utils/numbers.js +60 -0
  1458. package/dist/node/src/utils/numbers.js.map +1 -0
  1459. package/dist/node/src/utils/objects.js +12 -0
  1460. package/dist/node/src/utils/objects.js.map +1 -0
  1461. package/dist/node/src/utils/pdfDocEncoding.js +70 -0
  1462. package/dist/node/src/utils/pdfDocEncoding.js.map +1 -0
  1463. package/dist/node/src/utils/png.js +105 -0
  1464. package/dist/node/src/utils/png.js.map +1 -0
  1465. package/dist/node/src/utils/rng.js +33 -0
  1466. package/dist/node/src/utils/rng.js.map +1 -0
  1467. package/dist/node/src/utils/strings.js +163 -0
  1468. package/dist/node/src/utils/strings.js.map +1 -0
  1469. package/dist/node/src/utils/unicode.js +357 -0
  1470. package/dist/node/src/utils/unicode.js.map +1 -0
  1471. package/dist/node/src/utils/validators.js +200 -0
  1472. package/dist/node/src/utils/validators.js.map +1 -0
  1473. package/dist/types/__tests__/api/PDFDocument.spec.d.ts +1 -0
  1474. package/dist/types/__tests__/api/PDFImage.spec.d.ts +1 -0
  1475. package/dist/types/__tests__/api/PDFPage.spec.d.ts +1 -0
  1476. package/dist/types/__tests__/api/form/PDFCheckBox.spec.d.ts +1 -0
  1477. package/dist/types/__tests__/api/form/PDFDropdown.spec.d.ts +1 -0
  1478. package/dist/types/__tests__/api/form/PDFForm.spec.d.ts +1 -0
  1479. package/dist/types/__tests__/api/form/PDFOptionList.spec.d.ts +1 -0
  1480. package/dist/types/__tests__/api/form/PDFRadioGroup.spec.d.ts +1 -0
  1481. package/dist/types/__tests__/api/form/PDFTextField.spec.d.ts +1 -0
  1482. package/dist/types/__tests__/api/svgPath.spec.d.ts +1 -0
  1483. package/dist/types/__tests__/api/text/layout.spec.d.ts +1 -0
  1484. package/dist/types/__tests__/core/PDFContext.spec.d.ts +1 -0
  1485. package/dist/types/__tests__/core/PDFObjectCopier.spec.d.ts +1 -0
  1486. package/dist/types/__tests__/core/acroform/PDFAcroField.spec.d.ts +1 -0
  1487. package/dist/types/__tests__/core/acroform/PDFAcroTerminal.spec.d.ts +1 -0
  1488. package/dist/types/__tests__/core/annotation/PDFWidgetAnnotation.spec.d.ts +1 -0
  1489. package/dist/types/__tests__/core/document/PDFCrossRefSection.spec.d.ts +1 -0
  1490. package/dist/types/__tests__/core/document/PDFHeader.spec.d.ts +1 -0
  1491. package/dist/types/__tests__/core/document/PDFTrailer.spec.d.ts +1 -0
  1492. package/dist/types/__tests__/core/document/PDFTrailerDict.spec.d.ts +1 -0
  1493. package/dist/types/__tests__/core/embedders/CMap.spec.d.ts +1 -0
  1494. package/dist/types/__tests__/core/embedders/CustomFontEmbedder.spec.d.ts +1 -0
  1495. package/dist/types/__tests__/core/embedders/CustomFontSubsetEmbedder.spec.d.ts +1 -0
  1496. package/dist/types/__tests__/core/embedders/FileEmbedder.spec.d.ts +1 -0
  1497. package/dist/types/__tests__/core/embedders/JpegEmbedder.spec.d.ts +1 -0
  1498. package/dist/types/__tests__/core/embedders/PDFPageEmbedder.spec.d.ts +1 -0
  1499. package/dist/types/__tests__/core/embedders/PngEmbedder.spec.d.ts +1 -0
  1500. package/dist/types/__tests__/core/embedders/StandardFontEmbedder.spec.d.ts +1 -0
  1501. package/dist/types/__tests__/core/objects/PDFArray.spec.d.ts +1 -0
  1502. package/dist/types/__tests__/core/objects/PDFBool.spec.d.ts +1 -0
  1503. package/dist/types/__tests__/core/objects/PDFDict.spec.d.ts +1 -0
  1504. package/dist/types/__tests__/core/objects/PDFHexString.spec.d.ts +1 -0
  1505. package/dist/types/__tests__/core/objects/PDFInvalidObject.spec.d.ts +1 -0
  1506. package/dist/types/__tests__/core/objects/PDFName.spec.d.ts +1 -0
  1507. package/dist/types/__tests__/core/objects/PDFNull.spec.d.ts +1 -0
  1508. package/dist/types/__tests__/core/objects/PDFNumber.spec.d.ts +1 -0
  1509. package/dist/types/__tests__/core/objects/PDFObject.spec.d.ts +1 -0
  1510. package/dist/types/__tests__/core/objects/PDFRawStream.spec.d.ts +1 -0
  1511. package/dist/types/__tests__/core/objects/PDFRef.spec.d.ts +1 -0
  1512. package/dist/types/__tests__/core/objects/PDFString.spec.d.ts +1 -0
  1513. package/dist/types/__tests__/core/operators/PDFOperator.spec.d.ts +1 -0
  1514. package/dist/types/__tests__/core/parser/PDFObjectParser.spec.d.ts +1 -0
  1515. package/dist/types/__tests__/core/parser/PDFObjectStreamParser.spec.d.ts +1 -0
  1516. package/dist/types/__tests__/core/parser/PDFParser.spec.d.ts +1 -0
  1517. package/dist/types/__tests__/core/parser/PDFXRefStreamParser.spec.d.ts +1 -0
  1518. package/dist/types/__tests__/core/streams/Ascii85Stream.spec.d.ts +1 -0
  1519. package/dist/types/__tests__/core/streams/AsciiHexStream.spec.d.ts +1 -0
  1520. package/dist/types/__tests__/core/streams/FlateStream.spec.d.ts +1 -0
  1521. package/dist/types/__tests__/core/streams/LZWStream.spec.d.ts +1 -0
  1522. package/dist/types/__tests__/core/streams/RunLengthStream.spec.d.ts +1 -0
  1523. package/dist/types/__tests__/core/streams/Stream.spec.d.ts +1 -0
  1524. package/dist/types/__tests__/core/structures/PDFCatalog.spec.d.ts +1 -0
  1525. package/dist/types/__tests__/core/structures/PDFContentStream.spec.d.ts +1 -0
  1526. package/dist/types/__tests__/core/structures/PDFCrossRefStream.spec.d.ts +1 -0
  1527. package/dist/types/__tests__/core/structures/PDFObjectStream.spec.d.ts +1 -0
  1528. package/dist/types/__tests__/core/structures/PDFPageLeaf.spec.d.ts +1 -0
  1529. package/dist/types/__tests__/core/structures/PDFPageTree.spec.d.ts +1 -0
  1530. package/dist/types/__tests__/core/writers/PDFStreamWriter.spec.d.ts +1 -0
  1531. package/dist/types/__tests__/core/writers/PDFWriter.spec.d.ts +1 -0
  1532. package/dist/types/__tests__/index.test.d.ts +1 -0
  1533. package/dist/types/__tests__/utils/base64.spec.d.ts +1 -0
  1534. package/dist/types/__tests__/utils/pdfDocEncoding.spec.d.ts +1 -0
  1535. package/dist/types/__tests__/utils/png.spec.d.ts +1 -0
  1536. package/dist/types/__tests__/utils/rng.spec.d.ts +1 -0
  1537. package/dist/types/__tests__/utils/strings.spec.d.ts +1 -0
  1538. package/dist/types/__tests__/utils/unicode.spec.d.ts +1 -0
  1539. package/dist/types/src/api/Embeddable.d.ts +7 -0
  1540. package/dist/types/src/api/PDFDocument.d.ts +778 -0
  1541. package/dist/types/src/api/PDFDocumentOptions.d.ts +38 -0
  1542. package/dist/types/src/api/PDFEmbeddedFile.d.ts +38 -0
  1543. package/dist/types/src/api/PDFEmbeddedPage.d.ts +73 -0
  1544. package/dist/types/src/api/PDFFont.d.ts +94 -0
  1545. package/dist/types/src/api/PDFImage.d.ts +95 -0
  1546. package/dist/types/src/api/PDFJavaScript.d.ts +38 -0
  1547. package/dist/types/src/api/PDFPage.d.ts +910 -0
  1548. package/dist/types/src/api/PDFPageOptions.d.ts +172 -0
  1549. package/dist/types/src/api/StandardFonts.d.ts +16 -0
  1550. package/dist/types/src/api/colors.d.ts +34 -0
  1551. package/dist/types/src/api/errors.d.ts +42 -0
  1552. package/dist/types/src/api/form/PDFButton.d.ts +137 -0
  1553. package/dist/types/src/api/form/PDFCheckBox.d.ts +142 -0
  1554. package/dist/types/src/api/form/PDFDropdown.d.ts +402 -0
  1555. package/dist/types/src/api/form/PDFField.d.ts +203 -0
  1556. package/dist/types/src/api/form/PDFForm.d.ts +411 -0
  1557. package/dist/types/src/api/form/PDFOptionList.d.ts +335 -0
  1558. package/dist/types/src/api/form/PDFRadioGroup.d.ts +252 -0
  1559. package/dist/types/src/api/form/PDFSignature.d.ts +29 -0
  1560. package/dist/types/src/api/form/PDFTextField.d.ts +537 -0
  1561. package/dist/types/src/api/form/appearances.d.ts +41 -0
  1562. package/dist/types/src/api/form/index.d.ts +10 -0
  1563. package/dist/types/src/api/image/alignment.d.ts +5 -0
  1564. package/dist/types/src/api/image/index.d.ts +1 -0
  1565. package/dist/types/src/api/index.d.ts +20 -0
  1566. package/dist/types/src/api/objects.d.ts +4 -0
  1567. package/dist/types/src/api/operations.d.ts +226 -0
  1568. package/dist/types/src/api/operators.d.ts +90 -0
  1569. package/dist/types/src/api/rotations.d.ts +38 -0
  1570. package/dist/types/src/api/sizes.d.ts +52 -0
  1571. package/dist/types/src/api/svg.d.ts +70 -0
  1572. package/dist/types/src/api/svgPath.d.ts +2 -0
  1573. package/dist/types/src/api/text/alignment.d.ts +5 -0
  1574. package/dist/types/src/api/text/index.d.ts +2 -0
  1575. package/dist/types/src/api/text/layout.d.ts +54 -0
  1576. package/dist/types/src/core/PDFContext.d.ts +84 -0
  1577. package/dist/types/src/core/PDFObjectCopier.d.ts +37 -0
  1578. package/dist/types/src/core/acroform/PDFAcroButton.d.ts +21 -0
  1579. package/dist/types/src/core/acroform/PDFAcroCheckBox.d.ts +13 -0
  1580. package/dist/types/src/core/acroform/PDFAcroChoice.d.ts +20 -0
  1581. package/dist/types/src/core/acroform/PDFAcroComboBox.d.ts +9 -0
  1582. package/dist/types/src/core/acroform/PDFAcroField.d.ts +36 -0
  1583. package/dist/types/src/core/acroform/PDFAcroForm.d.ts +20 -0
  1584. package/dist/types/src/core/acroform/PDFAcroListBox.d.ts +9 -0
  1585. package/dist/types/src/core/acroform/PDFAcroNonTerminal.d.ts +13 -0
  1586. package/dist/types/src/core/acroform/PDFAcroPushButton.d.ts +9 -0
  1587. package/dist/types/src/core/acroform/PDFAcroRadioButton.d.ts +13 -0
  1588. package/dist/types/src/core/acroform/PDFAcroSignature.d.ts +7 -0
  1589. package/dist/types/src/core/acroform/PDFAcroTerminal.d.ts +16 -0
  1590. package/dist/types/src/core/acroform/PDFAcroText.d.ts +22 -0
  1591. package/dist/types/src/core/acroform/flags.d.ts +141 -0
  1592. package/dist/types/src/core/acroform/index.d.ts +15 -0
  1593. package/dist/types/src/core/acroform/utils.d.ts +6 -0
  1594. package/dist/types/src/core/annotation/AppearanceCharacteristics.d.ts +33 -0
  1595. package/dist/types/src/core/annotation/BorderStyle.d.ts +11 -0
  1596. package/dist/types/src/core/annotation/PDFAnnotation.d.ts +51 -0
  1597. package/dist/types/src/core/annotation/PDFWidgetAnnotation.d.ts +26 -0
  1598. package/dist/types/src/core/annotation/flags.d.ts +79 -0
  1599. package/dist/types/src/core/annotation/index.d.ts +4 -0
  1600. package/dist/types/src/core/crypto.d.ts +95 -0
  1601. package/dist/types/src/core/document/PDFCrossRefSection.d.ts +27 -0
  1602. package/dist/types/src/core/document/PDFHeader.d.ts +10 -0
  1603. package/dist/types/src/core/document/PDFTrailer.d.ts +9 -0
  1604. package/dist/types/src/core/document/PDFTrailerDict.d.ts +10 -0
  1605. package/dist/types/src/core/embedders/CMap.d.ts +3 -0
  1606. package/dist/types/src/core/embedders/CustomFontEmbedder.d.ts +44 -0
  1607. package/dist/types/src/core/embedders/CustomFontSubsetEmbedder.d.ts +20 -0
  1608. package/dist/types/src/core/embedders/FileEmbedder.d.ts +33 -0
  1609. package/dist/types/src/core/embedders/FontFlags.d.ts +13 -0
  1610. package/dist/types/src/core/embedders/JavaScriptEmbedder.d.ts +10 -0
  1611. package/dist/types/src/core/embedders/JpegEmbedder.d.ts +23 -0
  1612. package/dist/types/src/core/embedders/PDFPageEmbedder.d.ts +37 -0
  1613. package/dist/types/src/core/embedders/PngEmbedder.d.ts +19 -0
  1614. package/dist/types/src/core/embedders/StandardFontEmbedder.d.ts +36 -0
  1615. package/dist/types/src/core/errors.d.ts +91 -0
  1616. package/dist/types/src/core/index.d.ts +47 -0
  1617. package/dist/types/src/core/interactive/ViewerPreferences.d.ts +347 -0
  1618. package/dist/types/src/core/objects/PDFArray.d.ts +63 -0
  1619. package/dist/types/src/core/objects/PDFBool.d.ts +13 -0
  1620. package/dist/types/src/core/objects/PDFDict.d.ts +62 -0
  1621. package/dist/types/src/core/objects/PDFHexString.d.ts +16 -0
  1622. package/dist/types/src/core/objects/PDFInvalidObject.d.ts +11 -0
  1623. package/dist/types/src/core/objects/PDFName.d.ts +41 -0
  1624. package/dist/types/src/core/objects/PDFNull.d.ts +10 -0
  1625. package/dist/types/src/core/objects/PDFNumber.d.ts +15 -0
  1626. package/dist/types/src/core/objects/PDFObject.d.ts +8 -0
  1627. package/dist/types/src/core/objects/PDFRawStream.d.ts +16 -0
  1628. package/dist/types/src/core/objects/PDFRef.d.ts +13 -0
  1629. package/dist/types/src/core/objects/PDFStream.d.ts +16 -0
  1630. package/dist/types/src/core/objects/PDFString.d.ts +16 -0
  1631. package/dist/types/src/core/operators/PDFOperator.d.ts +19 -0
  1632. package/dist/types/src/core/operators/PDFOperatorNames.d.ts +76 -0
  1633. package/dist/types/src/core/parser/BaseParser.d.ts +14 -0
  1634. package/dist/types/src/core/parser/ByteStream.d.ts +26 -0
  1635. package/dist/types/src/core/parser/PDFObjectParser.d.ts +31 -0
  1636. package/dist/types/src/core/parser/PDFObjectStreamParser.d.ts +13 -0
  1637. package/dist/types/src/core/parser/PDFParser.d.ts +46 -0
  1638. package/dist/types/src/core/parser/PDFXRefStreamParser.d.ts +21 -0
  1639. package/dist/types/src/core/streams/Ascii85Stream.d.ts +9 -0
  1640. package/dist/types/src/core/streams/AsciiHexStream.d.ts +9 -0
  1641. package/dist/types/src/core/streams/DecodeStream.d.ts +26 -0
  1642. package/dist/types/src/core/streams/DecryptStream.d.ts +12 -0
  1643. package/dist/types/src/core/streams/FlateStream.d.ts +13 -0
  1644. package/dist/types/src/core/streams/LZWStream.d.ts +12 -0
  1645. package/dist/types/src/core/streams/RunLengthStream.d.ts +8 -0
  1646. package/dist/types/src/core/streams/Stream.d.ts +34 -0
  1647. package/dist/types/src/core/streams/decode.d.ts +3 -0
  1648. package/dist/types/src/core/structures/PDFCatalog.d.ts +27 -0
  1649. package/dist/types/src/core/structures/PDFContentStream.d.ts +15 -0
  1650. package/dist/types/src/core/structures/PDFCrossRefStream.d.ts +53 -0
  1651. package/dist/types/src/core/structures/PDFFlateStream.d.ts +13 -0
  1652. package/dist/types/src/core/structures/PDFObjectStream.d.ts +20 -0
  1653. package/dist/types/src/core/structures/PDFPageLeaf.d.ts +54 -0
  1654. package/dist/types/src/core/structures/PDFPageTree.d.ts +41 -0
  1655. package/dist/types/src/core/syntax/CharCodes.d.ts +61 -0
  1656. package/dist/types/src/core/syntax/Delimiters.d.ts +1 -0
  1657. package/dist/types/src/core/syntax/Irregular.d.ts +1 -0
  1658. package/dist/types/src/core/syntax/Keywords.d.ts +22 -0
  1659. package/dist/types/src/core/syntax/Numeric.d.ts +3 -0
  1660. package/dist/types/src/core/syntax/Whitespace.d.ts +1 -0
  1661. package/dist/types/src/core/writers/PDFStreamWriter.d.ts +19 -0
  1662. package/dist/types/src/core/writers/PDFWriter.d.ts +29 -0
  1663. package/dist/types/src/index.d.ts +4 -0
  1664. package/dist/types/src/types/fontkit.d.ts +597 -0
  1665. package/dist/types/src/types/index.d.ts +25 -0
  1666. package/dist/types/src/types/matrix.d.ts +21 -0
  1667. package/dist/types/src/utils/Cache.d.ts +10 -0
  1668. package/dist/types/src/utils/arrays.d.ts +16 -0
  1669. package/dist/types/src/utils/async.d.ts +5 -0
  1670. package/dist/types/src/utils/base64.d.ts +10 -0
  1671. package/dist/types/src/utils/elements/Arc.d.ts +22 -0
  1672. package/dist/types/src/utils/elements/Circle.d.ts +14 -0
  1673. package/dist/types/src/utils/elements/Ellipse.d.ts +20 -0
  1674. package/dist/types/src/utils/elements/GraphElement.d.ts +6 -0
  1675. package/dist/types/src/utils/elements/Line.d.ts +23 -0
  1676. package/dist/types/src/utils/elements/Plot.d.ts +11 -0
  1677. package/dist/types/src/utils/elements/Point.d.ts +18 -0
  1678. package/dist/types/src/utils/elements/Rectangle.d.ts +21 -0
  1679. package/dist/types/src/utils/elements/Segment.d.ts +19 -0
  1680. package/dist/types/src/utils/elements/index.d.ts +9 -0
  1681. package/dist/types/src/utils/errors.d.ts +1 -0
  1682. package/dist/types/src/utils/index.d.ts +11 -0
  1683. package/dist/types/src/utils/intersections.d.ts +9 -0
  1684. package/dist/types/src/utils/maths.d.ts +45 -0
  1685. package/dist/types/src/utils/numbers.d.ts +23 -0
  1686. package/dist/types/src/utils/objects.d.ts +15 -0
  1687. package/dist/types/src/utils/pdfDocEncoding.d.ts +7 -0
  1688. package/dist/types/src/utils/png.d.ts +17 -0
  1689. package/dist/types/src/utils/rng.d.ts +13 -0
  1690. package/dist/types/src/utils/strings.d.ts +25 -0
  1691. package/dist/types/src/utils/unicode.d.ts +186 -0
  1692. package/dist/types/src/utils/validators.d.ts +26 -0
  1693. package/eslint.config.mjs +47 -0
  1694. package/package.json +89 -0
  1695. package/src/api/Embeddable.ts +7 -0
  1696. package/src/api/PDFDocument.ts +1389 -0
  1697. package/src/api/PDFDocumentOptions.ts +45 -0
  1698. package/src/api/PDFEmbeddedFile.ts +87 -0
  1699. package/src/api/PDFEmbeddedPage.ts +100 -0
  1700. package/src/api/PDFFont.ts +149 -0
  1701. package/src/api/PDFImage.ts +143 -0
  1702. package/src/api/PDFJavaScript.ts +75 -0
  1703. package/src/api/PDFPage.ts +1604 -0
  1704. package/src/api/PDFPageOptions.ts +175 -0
  1705. package/src/api/StandardFonts.ts +16 -0
  1706. package/src/api/colors.ts +109 -0
  1707. package/src/api/errors.ts +110 -0
  1708. package/src/api/form/PDFButton.ts +242 -0
  1709. package/src/api/form/PDFCheckBox.ts +247 -0
  1710. package/src/api/form/PDFDropdown.ts +637 -0
  1711. package/src/api/form/PDFField.ts +491 -0
  1712. package/src/api/form/PDFForm.ts +842 -0
  1713. package/src/api/form/PDFOptionList.ts +555 -0
  1714. package/src/api/form/PDFRadioGroup.ts +455 -0
  1715. package/src/api/form/PDFSignature.ts +44 -0
  1716. package/src/api/form/PDFTextField.ts +811 -0
  1717. package/src/api/form/appearances.ts +655 -0
  1718. package/src/api/form/index.ts +10 -0
  1719. package/src/api/image/alignment.ts +5 -0
  1720. package/src/api/image/index.ts +1 -0
  1721. package/src/api/index.ts +20 -0
  1722. package/src/api/objects.ts +10 -0
  1723. package/src/api/operations.ts +873 -0
  1724. package/src/api/operators.ts +335 -0
  1725. package/src/api/rotations.ts +84 -0
  1726. package/src/api/sizes.ts +52 -0
  1727. package/src/api/svg.ts +887 -0
  1728. package/src/api/svgPath.ts +460 -0
  1729. package/src/api/text/alignment.ts +5 -0
  1730. package/src/api/text/index.ts +2 -0
  1731. package/src/api/text/layout.ts +328 -0
  1732. package/src/core/PDFContext.ts +274 -0
  1733. package/src/core/PDFObjectCopier.ts +142 -0
  1734. package/src/core/acroform/PDFAcroButton.ts +104 -0
  1735. package/src/core/acroform/PDFAcroCheckBox.ts +48 -0
  1736. package/src/core/acroform/PDFAcroChoice.ts +143 -0
  1737. package/src/core/acroform/PDFAcroComboBox.ts +21 -0
  1738. package/src/core/acroform/PDFAcroField.ts +167 -0
  1739. package/src/core/acroform/PDFAcroForm.ts +96 -0
  1740. package/src/core/acroform/PDFAcroListBox.ts +19 -0
  1741. package/src/core/acroform/PDFAcroNonTerminal.ts +33 -0
  1742. package/src/core/acroform/PDFAcroPushButton.ts +21 -0
  1743. package/src/core/acroform/PDFAcroRadioButton.ts +57 -0
  1744. package/src/core/acroform/PDFAcroSignature.ts +9 -0
  1745. package/src/core/acroform/PDFAcroTerminal.ts +70 -0
  1746. package/src/core/acroform/PDFAcroText.ts +76 -0
  1747. package/src/core/acroform/flags.ts +162 -0
  1748. package/src/core/acroform/index.ts +15 -0
  1749. package/src/core/acroform/utils.ts +129 -0
  1750. package/src/core/annotation/AppearanceCharacteristics.ts +133 -0
  1751. package/src/core/annotation/BorderStyle.ts +31 -0
  1752. package/src/core/annotation/PDFAnnotation.ts +148 -0
  1753. package/src/core/annotation/PDFWidgetAnnotation.ts +111 -0
  1754. package/src/core/annotation/flags.ts +90 -0
  1755. package/src/core/annotation/index.ts +4 -0
  1756. package/src/core/crypto.ts +1845 -0
  1757. package/src/core/document/PDFCrossRefSection.ts +161 -0
  1758. package/src/core/document/PDFHeader.ts +48 -0
  1759. package/src/core/document/PDFTrailer.ts +48 -0
  1760. package/src/core/document/PDFTrailerDict.ts +39 -0
  1761. package/src/core/embedders/CMap.ts +65 -0
  1762. package/src/core/embedders/CustomFontEmbedder.ts +237 -0
  1763. package/src/core/embedders/CustomFontSubsetEmbedder.ts +89 -0
  1764. package/src/core/embedders/FileEmbedder.ts +77 -0
  1765. package/src/core/embedders/FontFlags.ts +45 -0
  1766. package/src/core/embedders/JavaScriptEmbedder.ts +34 -0
  1767. package/src/core/embedders/JpegEmbedder.ts +118 -0
  1768. package/src/core/embedders/PDFPageEmbedder.ts +139 -0
  1769. package/src/core/embedders/PngEmbedder.ts +69 -0
  1770. package/src/core/embedders/StandardFontEmbedder.ts +121 -0
  1771. package/src/core/errors.ts +219 -0
  1772. package/src/core/index.ts +63 -0
  1773. package/src/core/interactive/ViewerPreferences.ts +565 -0
  1774. package/src/core/objects/PDFArray.ts +179 -0
  1775. package/src/core/objects/PDFBool.ts +53 -0
  1776. package/src/core/objects/PDFDict.ts +220 -0
  1777. package/src/core/objects/PDFHexString.ts +94 -0
  1778. package/src/core/objects/PDFInvalidObject.ts +34 -0
  1779. package/src/core/objects/PDFName.ts +152 -0
  1780. package/src/core/objects/PDFNull.ts +30 -0
  1781. package/src/core/objects/PDFNumber.ts +44 -0
  1782. package/src/core/objects/PDFObject.ts +22 -0
  1783. package/src/core/objects/PDFRawStream.ts +41 -0
  1784. package/src/core/objects/PDFRef.ts +51 -0
  1785. package/src/core/objects/PDFStream.ts +87 -0
  1786. package/src/core/objects/PDFString.ts +118 -0
  1787. package/src/core/operators/PDFOperator.ts +72 -0
  1788. package/src/core/operators/PDFOperatorNames.ts +92 -0
  1789. package/src/core/parser/BaseParser.ts +119 -0
  1790. package/src/core/parser/ByteStream.ts +76 -0
  1791. package/src/core/parser/PDFObjectParser.ts +302 -0
  1792. package/src/core/parser/PDFObjectStreamParser.ts +65 -0
  1793. package/src/core/parser/PDFParser.ts +363 -0
  1794. package/src/core/parser/PDFXRefStreamParser.ts +129 -0
  1795. package/src/core/streams/Ascii85Stream.ts +97 -0
  1796. package/src/core/streams/AsciiHexStream.ts +77 -0
  1797. package/src/core/streams/DecodeStream.ts +170 -0
  1798. package/src/core/streams/DecryptStream.ts +49 -0
  1799. package/src/core/streams/FlateStream.ts +397 -0
  1800. package/src/core/streams/LZWStream.ts +157 -0
  1801. package/src/core/streams/RunLengthStream.ts +55 -0
  1802. package/src/core/streams/Stream.ts +126 -0
  1803. package/src/core/streams/decode.ts +70 -0
  1804. package/src/core/structures/PDFCatalog.ts +81 -0
  1805. package/src/core/structures/PDFContentStream.ts +58 -0
  1806. package/src/core/structures/PDFCrossRefStream.ts +238 -0
  1807. package/src/core/structures/PDFFlateStream.ts +40 -0
  1808. package/src/core/structures/PDFObjectStream.ts +91 -0
  1809. package/src/core/structures/PDFPageLeaf.ts +244 -0
  1810. package/src/core/structures/PDFPageTree.ts +192 -0
  1811. package/src/core/syntax/CharCodes.ts +62 -0
  1812. package/src/core/syntax/Delimiters.ts +14 -0
  1813. package/src/core/syntax/Irregular.ts +10 -0
  1814. package/src/core/syntax/Keywords.ts +57 -0
  1815. package/src/core/syntax/Numeric.ts +26 -0
  1816. package/src/core/syntax/Whitespace.ts +10 -0
  1817. package/src/core/writers/PDFStreamWriter.ts +114 -0
  1818. package/src/core/writers/PDFWriter.ts +146 -0
  1819. package/src/index.ts +4 -0
  1820. package/src/types/fontkit.ts +643 -0
  1821. package/src/types/index.ts +30 -0
  1822. package/src/types/matrix.ts +22 -0
  1823. package/src/utils/Cache.ts +26 -0
  1824. package/src/utils/arrays.ts +153 -0
  1825. package/src/utils/async.ts +8 -0
  1826. package/src/utils/base64.ts +98 -0
  1827. package/src/utils/elements/Arc.ts +97 -0
  1828. package/src/utils/elements/Circle.ts +47 -0
  1829. package/src/utils/elements/Ellipse.ts +117 -0
  1830. package/src/utils/elements/GraphElement.ts +14 -0
  1831. package/src/utils/elements/Line.ts +83 -0
  1832. package/src/utils/elements/Plot.ts +50 -0
  1833. package/src/utils/elements/Point.ts +37 -0
  1834. package/src/utils/elements/Rectangle.ts +65 -0
  1835. package/src/utils/elements/Segment.ts +81 -0
  1836. package/src/utils/elements/index.ts +9 -0
  1837. package/src/utils/errors.ts +3 -0
  1838. package/src/utils/index.ts +11 -0
  1839. package/src/utils/intersections.ts +237 -0
  1840. package/src/utils/maths.ts +96 -0
  1841. package/src/utils/numbers.ts +55 -0
  1842. package/src/utils/objects.ts +13 -0
  1843. package/src/utils/pdfDocEncoding.ts +69 -0
  1844. package/src/utils/png.ts +70 -0
  1845. package/src/utils/rng.ts +21 -0
  1846. package/src/utils/strings.ts +191 -0
  1847. package/src/utils/unicode.ts +373 -0
  1848. package/src/utils/validators.ts +192 -0
  1849. package/tsconfig.cjs.json +9 -0
  1850. package/tsconfig.esm.json +11 -0
  1851. package/tsconfig.json +6 -0
  1852. package/tsconfig.node.json +9 -0
@@ -0,0 +1,1741 @@
1
+ "use strict";
2
+ /* Copyright 2012 Mozilla Foundation
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ var __importDefault = (this && this.__importDefault) || function (mod) {
17
+ return (mod && mod.__esModule) ? mod : { "default": mod };
18
+ };
19
+ Object.defineProperty(exports, "__esModule", { value: true });
20
+ exports.PDF20 = exports.PDF17 = exports.CipherTransform = exports.CipherTransformFactory = exports.calculateSHA512 = exports.calculateSHA256 = exports.calculateMD5 = exports.ARCFourCipher = exports.AES256Cipher = exports.AES128Cipher = void 0;
21
+ exports.calculateSHA384 = calculateSHA384;
22
+ const arrays_1 = require("../utils/arrays");
23
+ const strings_1 = require("../utils/strings");
24
+ const PDFDict_js_1 = __importDefault(require("./objects/PDFDict.js"));
25
+ const PDFName_js_1 = __importDefault(require("./objects/PDFName.js"));
26
+ const DecryptStream_js_1 = __importDefault(require("./streams/DecryptStream.js"));
27
+ class ARCFourCipher {
28
+ constructor(key) {
29
+ Object.defineProperty(this, "s", {
30
+ enumerable: true,
31
+ configurable: true,
32
+ writable: true,
33
+ value: void 0
34
+ });
35
+ Object.defineProperty(this, "a", {
36
+ enumerable: true,
37
+ configurable: true,
38
+ writable: true,
39
+ value: void 0
40
+ });
41
+ Object.defineProperty(this, "b", {
42
+ enumerable: true,
43
+ configurable: true,
44
+ writable: true,
45
+ value: void 0
46
+ });
47
+ this.a = 0;
48
+ this.b = 0;
49
+ const s = new Uint8Array(256);
50
+ const keyLength = key.length;
51
+ for (let i = 0; i < 256; ++i) {
52
+ s[i] = i;
53
+ }
54
+ for (let i = 0, j = 0; i < 256; ++i) {
55
+ const tmp = s[i];
56
+ j = (j + tmp + key[i % keyLength]) & 0xff;
57
+ s[i] = s[j];
58
+ s[j] = tmp;
59
+ }
60
+ this.s = s;
61
+ }
62
+ encryptBlock(data) {
63
+ let a = this.a, b = this.b;
64
+ const s = this.s;
65
+ const n = data.length;
66
+ const output = new Uint8Array(n);
67
+ for (let i = 0; i < n; ++i) {
68
+ a = (a + 1) & 0xff;
69
+ const tmp = s[a];
70
+ b = (b + tmp) & 0xff;
71
+ const tmp2 = s[b];
72
+ s[a] = tmp2;
73
+ s[b] = tmp;
74
+ output[i] = data[i] ^ s[(tmp + tmp2) & 0xff];
75
+ }
76
+ this.a = a;
77
+ this.b = b;
78
+ return output;
79
+ }
80
+ decryptBlock(data) {
81
+ return this.encryptBlock(data);
82
+ }
83
+ encrypt(data) {
84
+ return this.encryptBlock(data);
85
+ }
86
+ }
87
+ exports.ARCFourCipher = ARCFourCipher;
88
+ const calculateMD5 = (function calculateMD5Closure() {
89
+ const r = new Uint8Array([
90
+ 7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22, 5, 9, 14, 20, 5, 9, 14, 20, 5, 9,
91
+ 14, 20, 5, 9, 14, 20, 4, 11, 16, 23, 4, 11, 16, 23, 4, 11, 16, 23, 4, 11, 16, 23, 6, 10, 15, 21,
92
+ 6, 10, 15, 21, 6, 10, 15, 21, 6, 10, 15, 21,
93
+ ]);
94
+ const k = new Int32Array([
95
+ -680876936, -389564586, 606105819, -1044525330, -176418897, 1200080426, -1473231341, -45705983,
96
+ 1770035416, -1958414417, -42063, -1990404162, 1804603682, -40341101, -1502002290, 1236535329,
97
+ -165796510, -1069501632, 643717713, -373897302, -701558691, 38016083, -660478335, -405537848,
98
+ 568446438, -1019803690, -187363961, 1163531501, -1444681467, -51403784, 1735328473, -1926607734,
99
+ -378558, -2022574463, 1839030562, -35309556, -1530992060, 1272893353, -155497632, -1094730640,
100
+ 681279174, -358537222, -722521979, 76029189, -640364487, -421815835, 530742520, -995338651,
101
+ -198630844, 1126891415, -1416354905, -57434055, 1700485571, -1894986606, -1051523, -2054922799,
102
+ 1873313359, -30611744, -1560198380, 1309151649, -145523070, -1120210379, 718787259, -343485551,
103
+ ]);
104
+ function hash(data, offset, length) {
105
+ let h0 = 1732584193, h1 = -271733879, h2 = -1732584194, h3 = 271733878;
106
+ // pre-processing
107
+ const paddedLength = (length + 72) & ~63; // data + 9 extra bytes
108
+ const padded = new Uint8Array(paddedLength);
109
+ let i, j;
110
+ for (i = 0; i < length; ++i) {
111
+ padded[i] = data[offset++];
112
+ }
113
+ padded[i++] = 0x80;
114
+ const n = paddedLength - 8;
115
+ while (i < n) {
116
+ padded[i++] = 0;
117
+ }
118
+ padded[i++] = (length << 3) & 0xff;
119
+ padded[i++] = (length >> 5) & 0xff;
120
+ padded[i++] = (length >> 13) & 0xff;
121
+ padded[i++] = (length >> 21) & 0xff;
122
+ padded[i++] = (length >>> 29) & 0xff;
123
+ padded[i++] = 0;
124
+ padded[i++] = 0;
125
+ padded[i++] = 0;
126
+ const w = new Int32Array(16);
127
+ for (i = 0; i < paddedLength;) {
128
+ for (j = 0; j < 16; ++j, i += 4) {
129
+ w[j] = padded[i] | (padded[i + 1] << 8) | (padded[i + 2] << 16) | (padded[i + 3] << 24);
130
+ }
131
+ let a = h0, b = h1, c = h2, d = h3, f, g;
132
+ for (j = 0; j < 64; ++j) {
133
+ if (j < 16) {
134
+ f = (b & c) | (~b & d);
135
+ g = j;
136
+ }
137
+ else if (j < 32) {
138
+ f = (d & b) | (~d & c);
139
+ g = (5 * j + 1) & 15;
140
+ }
141
+ else if (j < 48) {
142
+ f = b ^ c ^ d;
143
+ g = (3 * j + 5) & 15;
144
+ }
145
+ else {
146
+ f = c ^ (b | ~d);
147
+ g = (7 * j) & 15;
148
+ }
149
+ const tmp = d, rotateArg = (a + f + k[j] + w[g]) | 0, rotate = r[j];
150
+ d = c;
151
+ c = b;
152
+ b = (b + ((rotateArg << rotate) | (rotateArg >>> (32 - rotate)))) | 0;
153
+ a = tmp;
154
+ }
155
+ h0 = (h0 + a) | 0;
156
+ h1 = (h1 + b) | 0;
157
+ h2 = (h2 + c) | 0;
158
+ h3 = (h3 + d) | 0;
159
+ }
160
+ // prettier-ignore
161
+ return new Uint8Array([
162
+ h0 & 0xFF, (h0 >> 8) & 0xFF, (h0 >> 16) & 0xFF, (h0 >>> 24) & 0xFF,
163
+ h1 & 0xFF, (h1 >> 8) & 0xFF, (h1 >> 16) & 0xFF, (h1 >>> 24) & 0xFF,
164
+ h2 & 0xFF, (h2 >> 8) & 0xFF, (h2 >> 16) & 0xFF, (h2 >>> 24) & 0xFF,
165
+ h3 & 0xFF, (h3 >> 8) & 0xFF, (h3 >> 16) & 0xFF, (h3 >>> 24) & 0xFF
166
+ ]);
167
+ }
168
+ return hash;
169
+ })();
170
+ exports.calculateMD5 = calculateMD5;
171
+ class Word64 {
172
+ constructor(highInteger, lowInteger) {
173
+ Object.defineProperty(this, "low", {
174
+ enumerable: true,
175
+ configurable: true,
176
+ writable: true,
177
+ value: void 0
178
+ });
179
+ Object.defineProperty(this, "high", {
180
+ enumerable: true,
181
+ configurable: true,
182
+ writable: true,
183
+ value: void 0
184
+ });
185
+ this.high = highInteger | 0;
186
+ this.low = lowInteger | 0;
187
+ }
188
+ and(word) {
189
+ this.high &= word.high;
190
+ this.low &= word.low;
191
+ }
192
+ xor(word) {
193
+ this.high ^= word.high;
194
+ this.low ^= word.low;
195
+ }
196
+ or(word) {
197
+ this.high |= word.high;
198
+ this.low |= word.low;
199
+ }
200
+ shiftRight(places) {
201
+ if (places >= 32) {
202
+ this.low = (this.high >>> (places - 32)) | 0;
203
+ this.high = 0;
204
+ }
205
+ else {
206
+ this.low = (this.low >>> places) | (this.high << (32 - places));
207
+ this.high = (this.high >>> places) | 0;
208
+ }
209
+ }
210
+ shiftLeft(places) {
211
+ if (places >= 32) {
212
+ this.high = this.low << (places - 32);
213
+ this.low = 0;
214
+ }
215
+ else {
216
+ this.high = (this.high << places) | (this.low >>> (32 - places));
217
+ this.low <<= places;
218
+ }
219
+ }
220
+ rotateRight(places) {
221
+ let low, high;
222
+ if (places & 32) {
223
+ high = this.low;
224
+ low = this.high;
225
+ }
226
+ else {
227
+ low = this.low;
228
+ high = this.high;
229
+ }
230
+ places &= 31;
231
+ this.low = (low >>> places) | (high << (32 - places));
232
+ this.high = (high >>> places) | (low << (32 - places));
233
+ }
234
+ not() {
235
+ this.high = ~this.high;
236
+ this.low = ~this.low;
237
+ }
238
+ add(word) {
239
+ const lowAdd = (this.low >>> 0) + (word.low >>> 0);
240
+ let highAdd = (this.high >>> 0) + (word.high >>> 0);
241
+ if (lowAdd > 0xffffffff) {
242
+ highAdd += 1;
243
+ }
244
+ this.low = lowAdd | 0;
245
+ this.high = highAdd | 0;
246
+ }
247
+ copyTo(bytes, offset) {
248
+ bytes[offset] = (this.high >>> 24) & 0xff;
249
+ bytes[offset + 1] = (this.high >> 16) & 0xff;
250
+ bytes[offset + 2] = (this.high >> 8) & 0xff;
251
+ bytes[offset + 3] = this.high & 0xff;
252
+ bytes[offset + 4] = (this.low >>> 24) & 0xff;
253
+ bytes[offset + 5] = (this.low >> 16) & 0xff;
254
+ bytes[offset + 6] = (this.low >> 8) & 0xff;
255
+ bytes[offset + 7] = this.low & 0xff;
256
+ }
257
+ assign(word) {
258
+ this.high = word.high;
259
+ this.low = word.low;
260
+ }
261
+ }
262
+ const calculateSHA256 = (function calculateSHA256Closure() {
263
+ function rotr(x, n) {
264
+ return (x >>> n) | (x << (32 - n));
265
+ }
266
+ function ch(x, y, z) {
267
+ return (x & y) ^ (~x & z);
268
+ }
269
+ function maj(x, y, z) {
270
+ return (x & y) ^ (x & z) ^ (y & z);
271
+ }
272
+ function sigma(x) {
273
+ return rotr(x, 2) ^ rotr(x, 13) ^ rotr(x, 22);
274
+ }
275
+ function sigmaPrime(x) {
276
+ return rotr(x, 6) ^ rotr(x, 11) ^ rotr(x, 25);
277
+ }
278
+ function littleSigma(x) {
279
+ return rotr(x, 7) ^ rotr(x, 18) ^ (x >>> 3);
280
+ }
281
+ function littleSigmaPrime(x) {
282
+ return rotr(x, 17) ^ rotr(x, 19) ^ (x >>> 10);
283
+ }
284
+ const k = [
285
+ 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,
286
+ 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,
287
+ 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,
288
+ 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,
289
+ 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,
290
+ 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,
291
+ 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,
292
+ 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2,
293
+ ];
294
+ function hash(data, offset, length) {
295
+ // initial hash values
296
+ let h0 = 0x6a09e667, h1 = 0xbb67ae85, h2 = 0x3c6ef372, h3 = 0xa54ff53a, h4 = 0x510e527f, h5 = 0x9b05688c, h6 = 0x1f83d9ab, h7 = 0x5be0cd19;
297
+ // pre-processing
298
+ const paddedLength = Math.ceil((length + 9) / 64) * 64;
299
+ const padded = new Uint8Array(paddedLength);
300
+ let i, j;
301
+ for (i = 0; i < length; ++i) {
302
+ padded[i] = data[offset++];
303
+ }
304
+ padded[i++] = 0x80;
305
+ const n = paddedLength - 8;
306
+ while (i < n) {
307
+ padded[i++] = 0;
308
+ }
309
+ padded[i++] = 0;
310
+ padded[i++] = 0;
311
+ padded[i++] = 0;
312
+ padded[i++] = (length >>> 29) & 0xff;
313
+ padded[i++] = (length >> 21) & 0xff;
314
+ padded[i++] = (length >> 13) & 0xff;
315
+ padded[i++] = (length >> 5) & 0xff;
316
+ padded[i++] = (length << 3) & 0xff;
317
+ const w = new Uint32Array(64);
318
+ // for each 512 bit block
319
+ for (i = 0; i < paddedLength;) {
320
+ for (j = 0; j < 16; ++j) {
321
+ w[j] = (padded[i] << 24) | (padded[i + 1] << 16) | (padded[i + 2] << 8) | padded[i + 3];
322
+ i += 4;
323
+ }
324
+ for (j = 16; j < 64; ++j) {
325
+ w[j] = (littleSigmaPrime(w[j - 2]) + w[j - 7] + littleSigma(w[j - 15]) + w[j - 16]) | 0;
326
+ }
327
+ let a = h0, b = h1, c = h2, d = h3, e = h4, f = h5, g = h6, h = h7, t1, t2;
328
+ for (j = 0; j < 64; ++j) {
329
+ t1 = h + sigmaPrime(e) + ch(e, f, g) + k[j] + w[j];
330
+ t2 = sigma(a) + maj(a, b, c);
331
+ h = g;
332
+ g = f;
333
+ f = e;
334
+ e = (d + t1) | 0;
335
+ d = c;
336
+ c = b;
337
+ b = a;
338
+ a = (t1 + t2) | 0;
339
+ }
340
+ h0 = (h0 + a) | 0;
341
+ h1 = (h1 + b) | 0;
342
+ h2 = (h2 + c) | 0;
343
+ h3 = (h3 + d) | 0;
344
+ h4 = (h4 + e) | 0;
345
+ h5 = (h5 + f) | 0;
346
+ h6 = (h6 + g) | 0;
347
+ h7 = (h7 + h) | 0;
348
+ }
349
+ // prettier-ignore
350
+ return new Uint8Array([
351
+ (h0 >> 24) & 0xFF, (h0 >> 16) & 0xFF, (h0 >> 8) & 0xFF, (h0) & 0xFF,
352
+ (h1 >> 24) & 0xFF, (h1 >> 16) & 0xFF, (h1 >> 8) & 0xFF, (h1) & 0xFF,
353
+ (h2 >> 24) & 0xFF, (h2 >> 16) & 0xFF, (h2 >> 8) & 0xFF, (h2) & 0xFF,
354
+ (h3 >> 24) & 0xFF, (h3 >> 16) & 0xFF, (h3 >> 8) & 0xFF, (h3) & 0xFF,
355
+ (h4 >> 24) & 0xFF, (h4 >> 16) & 0xFF, (h4 >> 8) & 0xFF, (h4) & 0xFF,
356
+ (h5 >> 24) & 0xFF, (h5 >> 16) & 0xFF, (h5 >> 8) & 0xFF, (h5) & 0xFF,
357
+ (h6 >> 24) & 0xFF, (h6 >> 16) & 0xFF, (h6 >> 8) & 0xFF, (h6) & 0xFF,
358
+ (h7 >> 24) & 0xFF, (h7 >> 16) & 0xFF, (h7 >> 8) & 0xFF, (h7) & 0xFF
359
+ ]);
360
+ }
361
+ return hash;
362
+ })();
363
+ exports.calculateSHA256 = calculateSHA256;
364
+ const calculateSHA512 = (function calculateSHA512Closure() {
365
+ function ch(result, x, y, z, tmp) {
366
+ result.assign(x);
367
+ result.and(y);
368
+ tmp.assign(x);
369
+ tmp.not();
370
+ tmp.and(z);
371
+ result.xor(tmp);
372
+ }
373
+ function maj(result, x, y, z, tmp) {
374
+ result.assign(x);
375
+ result.and(y);
376
+ tmp.assign(x);
377
+ tmp.and(z);
378
+ result.xor(tmp);
379
+ tmp.assign(y);
380
+ tmp.and(z);
381
+ result.xor(tmp);
382
+ }
383
+ function sigma(result, x, tmp) {
384
+ result.assign(x);
385
+ result.rotateRight(28);
386
+ tmp.assign(x);
387
+ tmp.rotateRight(34);
388
+ result.xor(tmp);
389
+ tmp.assign(x);
390
+ tmp.rotateRight(39);
391
+ result.xor(tmp);
392
+ }
393
+ function sigmaPrime(result, x, tmp) {
394
+ result.assign(x);
395
+ result.rotateRight(14);
396
+ tmp.assign(x);
397
+ tmp.rotateRight(18);
398
+ result.xor(tmp);
399
+ tmp.assign(x);
400
+ tmp.rotateRight(41);
401
+ result.xor(tmp);
402
+ }
403
+ function littleSigma(result, x, tmp) {
404
+ result.assign(x);
405
+ result.rotateRight(1);
406
+ tmp.assign(x);
407
+ tmp.rotateRight(8);
408
+ result.xor(tmp);
409
+ tmp.assign(x);
410
+ tmp.shiftRight(7);
411
+ result.xor(tmp);
412
+ }
413
+ function littleSigmaPrime(result, x, tmp) {
414
+ result.assign(x);
415
+ result.rotateRight(19);
416
+ tmp.assign(x);
417
+ tmp.rotateRight(61);
418
+ result.xor(tmp);
419
+ tmp.assign(x);
420
+ tmp.shiftRight(6);
421
+ result.xor(tmp);
422
+ }
423
+ // prettier-ignore
424
+ const k = [
425
+ new Word64(0x428a2f98, 0xd728ae22), new Word64(0x71374491, 0x23ef65cd),
426
+ new Word64(0xb5c0fbcf, 0xec4d3b2f), new Word64(0xe9b5dba5, 0x8189dbbc),
427
+ new Word64(0x3956c25b, 0xf348b538), new Word64(0x59f111f1, 0xb605d019),
428
+ new Word64(0x923f82a4, 0xaf194f9b), new Word64(0xab1c5ed5, 0xda6d8118),
429
+ new Word64(0xd807aa98, 0xa3030242), new Word64(0x12835b01, 0x45706fbe),
430
+ new Word64(0x243185be, 0x4ee4b28c), new Word64(0x550c7dc3, 0xd5ffb4e2),
431
+ new Word64(0x72be5d74, 0xf27b896f), new Word64(0x80deb1fe, 0x3b1696b1),
432
+ new Word64(0x9bdc06a7, 0x25c71235), new Word64(0xc19bf174, 0xcf692694),
433
+ new Word64(0xe49b69c1, 0x9ef14ad2), new Word64(0xefbe4786, 0x384f25e3),
434
+ new Word64(0x0fc19dc6, 0x8b8cd5b5), new Word64(0x240ca1cc, 0x77ac9c65),
435
+ new Word64(0x2de92c6f, 0x592b0275), new Word64(0x4a7484aa, 0x6ea6e483),
436
+ new Word64(0x5cb0a9dc, 0xbd41fbd4), new Word64(0x76f988da, 0x831153b5),
437
+ new Word64(0x983e5152, 0xee66dfab), new Word64(0xa831c66d, 0x2db43210),
438
+ new Word64(0xb00327c8, 0x98fb213f), new Word64(0xbf597fc7, 0xbeef0ee4),
439
+ new Word64(0xc6e00bf3, 0x3da88fc2), new Word64(0xd5a79147, 0x930aa725),
440
+ new Word64(0x06ca6351, 0xe003826f), new Word64(0x14292967, 0x0a0e6e70),
441
+ new Word64(0x27b70a85, 0x46d22ffc), new Word64(0x2e1b2138, 0x5c26c926),
442
+ new Word64(0x4d2c6dfc, 0x5ac42aed), new Word64(0x53380d13, 0x9d95b3df),
443
+ new Word64(0x650a7354, 0x8baf63de), new Word64(0x766a0abb, 0x3c77b2a8),
444
+ new Word64(0x81c2c92e, 0x47edaee6), new Word64(0x92722c85, 0x1482353b),
445
+ new Word64(0xa2bfe8a1, 0x4cf10364), new Word64(0xa81a664b, 0xbc423001),
446
+ new Word64(0xc24b8b70, 0xd0f89791), new Word64(0xc76c51a3, 0x0654be30),
447
+ new Word64(0xd192e819, 0xd6ef5218), new Word64(0xd6990624, 0x5565a910),
448
+ new Word64(0xf40e3585, 0x5771202a), new Word64(0x106aa070, 0x32bbd1b8),
449
+ new Word64(0x19a4c116, 0xb8d2d0c8), new Word64(0x1e376c08, 0x5141ab53),
450
+ new Word64(0x2748774c, 0xdf8eeb99), new Word64(0x34b0bcb5, 0xe19b48a8),
451
+ new Word64(0x391c0cb3, 0xc5c95a63), new Word64(0x4ed8aa4a, 0xe3418acb),
452
+ new Word64(0x5b9cca4f, 0x7763e373), new Word64(0x682e6ff3, 0xd6b2b8a3),
453
+ new Word64(0x748f82ee, 0x5defb2fc), new Word64(0x78a5636f, 0x43172f60),
454
+ new Word64(0x84c87814, 0xa1f0ab72), new Word64(0x8cc70208, 0x1a6439ec),
455
+ new Word64(0x90befffa, 0x23631e28), new Word64(0xa4506ceb, 0xde82bde9),
456
+ new Word64(0xbef9a3f7, 0xb2c67915), new Word64(0xc67178f2, 0xe372532b),
457
+ new Word64(0xca273ece, 0xea26619c), new Word64(0xd186b8c7, 0x21c0c207),
458
+ new Word64(0xeada7dd6, 0xcde0eb1e), new Word64(0xf57d4f7f, 0xee6ed178),
459
+ new Word64(0x06f067aa, 0x72176fba), new Word64(0x0a637dc5, 0xa2c898a6),
460
+ new Word64(0x113f9804, 0xbef90dae), new Word64(0x1b710b35, 0x131c471b),
461
+ new Word64(0x28db77f5, 0x23047d84), new Word64(0x32caab7b, 0x40c72493),
462
+ new Word64(0x3c9ebe0a, 0x15c9bebc), new Word64(0x431d67c4, 0x9c100d4c),
463
+ new Word64(0x4cc5d4be, 0xcb3e42b6), new Word64(0x597f299c, 0xfc657e2a),
464
+ new Word64(0x5fcb6fab, 0x3ad6faec), new Word64(0x6c44198c, 0x4a475817)
465
+ ];
466
+ function hash(data, offset, length, mode384 = false) {
467
+ // initial hash values
468
+ let h0, h1, h2, h3, h4, h5, h6, h7;
469
+ if (!mode384) {
470
+ h0 = new Word64(0x6a09e667, 0xf3bcc908);
471
+ h1 = new Word64(0xbb67ae85, 0x84caa73b);
472
+ h2 = new Word64(0x3c6ef372, 0xfe94f82b);
473
+ h3 = new Word64(0xa54ff53a, 0x5f1d36f1);
474
+ h4 = new Word64(0x510e527f, 0xade682d1);
475
+ h5 = new Word64(0x9b05688c, 0x2b3e6c1f);
476
+ h6 = new Word64(0x1f83d9ab, 0xfb41bd6b);
477
+ h7 = new Word64(0x5be0cd19, 0x137e2179);
478
+ }
479
+ else {
480
+ // SHA384 is exactly the same
481
+ // except with different starting values and a trimmed result
482
+ h0 = new Word64(0xcbbb9d5d, 0xc1059ed8);
483
+ h1 = new Word64(0x629a292a, 0x367cd507);
484
+ h2 = new Word64(0x9159015a, 0x3070dd17);
485
+ h3 = new Word64(0x152fecd8, 0xf70e5939);
486
+ h4 = new Word64(0x67332667, 0xffc00b31);
487
+ h5 = new Word64(0x8eb44a87, 0x68581511);
488
+ h6 = new Word64(0xdb0c2e0d, 0x64f98fa7);
489
+ h7 = new Word64(0x47b5481d, 0xbefa4fa4);
490
+ }
491
+ // pre-processing
492
+ const paddedLength = Math.ceil((length + 17) / 128) * 128;
493
+ const padded = new Uint8Array(paddedLength);
494
+ let i, j;
495
+ for (i = 0; i < length; ++i) {
496
+ padded[i] = data[offset++];
497
+ }
498
+ padded[i++] = 0x80;
499
+ const n = paddedLength - 16;
500
+ while (i < n) {
501
+ padded[i++] = 0;
502
+ }
503
+ padded[i++] = 0;
504
+ padded[i++] = 0;
505
+ padded[i++] = 0;
506
+ padded[i++] = 0;
507
+ padded[i++] = 0;
508
+ padded[i++] = 0;
509
+ padded[i++] = 0;
510
+ padded[i++] = 0;
511
+ padded[i++] = 0;
512
+ padded[i++] = 0;
513
+ padded[i++] = 0;
514
+ padded[i++] = (length >>> 29) & 0xff;
515
+ padded[i++] = (length >> 21) & 0xff;
516
+ padded[i++] = (length >> 13) & 0xff;
517
+ padded[i++] = (length >> 5) & 0xff;
518
+ padded[i++] = (length << 3) & 0xff;
519
+ const w = new Array(80);
520
+ for (i = 0; i < 80; i++) {
521
+ w[i] = new Word64(0, 0);
522
+ }
523
+ let a = new Word64(0, 0), b = new Word64(0, 0), c = new Word64(0, 0);
524
+ let d = new Word64(0, 0), e = new Word64(0, 0), f = new Word64(0, 0);
525
+ let g = new Word64(0, 0), h = new Word64(0, 0);
526
+ const t1 = new Word64(0, 0), t2 = new Word64(0, 0);
527
+ const tmp1 = new Word64(0, 0), tmp2 = new Word64(0, 0);
528
+ let tmp3;
529
+ // for each 1024 bit block
530
+ for (i = 0; i < paddedLength;) {
531
+ for (j = 0; j < 16; ++j) {
532
+ w[j].high =
533
+ (padded[i] << 24) | (padded[i + 1] << 16) | (padded[i + 2] << 8) | padded[i + 3];
534
+ w[j].low =
535
+ (padded[i + 4] << 24) | (padded[i + 5] << 16) | (padded[i + 6] << 8) | padded[i + 7];
536
+ i += 8;
537
+ }
538
+ for (j = 16; j < 80; ++j) {
539
+ tmp3 = w[j];
540
+ littleSigmaPrime(tmp3, w[j - 2], tmp2);
541
+ tmp3.add(w[j - 7]);
542
+ littleSigma(tmp1, w[j - 15], tmp2);
543
+ tmp3.add(tmp1);
544
+ tmp3.add(w[j - 16]);
545
+ }
546
+ a.assign(h0);
547
+ b.assign(h1);
548
+ c.assign(h2);
549
+ d.assign(h3);
550
+ e.assign(h4);
551
+ f.assign(h5);
552
+ g.assign(h6);
553
+ h.assign(h7);
554
+ for (j = 0; j < 80; ++j) {
555
+ t1.assign(h);
556
+ sigmaPrime(tmp1, e, tmp2);
557
+ t1.add(tmp1);
558
+ ch(tmp1, e, f, g, tmp2);
559
+ t1.add(tmp1);
560
+ t1.add(k[j]);
561
+ t1.add(w[j]);
562
+ sigma(t2, a, tmp2);
563
+ maj(tmp1, a, b, c, tmp2);
564
+ t2.add(tmp1);
565
+ tmp3 = h;
566
+ h = g;
567
+ g = f;
568
+ f = e;
569
+ d.add(t1);
570
+ e = d;
571
+ d = c;
572
+ c = b;
573
+ b = a;
574
+ tmp3.assign(t1);
575
+ tmp3.add(t2);
576
+ a = tmp3;
577
+ }
578
+ h0.add(a);
579
+ h1.add(b);
580
+ h2.add(c);
581
+ h3.add(d);
582
+ h4.add(e);
583
+ h5.add(f);
584
+ h6.add(g);
585
+ h7.add(h);
586
+ }
587
+ let result;
588
+ if (!mode384) {
589
+ result = new Uint8Array(64);
590
+ h0.copyTo(result, 0);
591
+ h1.copyTo(result, 8);
592
+ h2.copyTo(result, 16);
593
+ h3.copyTo(result, 24);
594
+ h4.copyTo(result, 32);
595
+ h5.copyTo(result, 40);
596
+ h6.copyTo(result, 48);
597
+ h7.copyTo(result, 56);
598
+ }
599
+ else {
600
+ result = new Uint8Array(48);
601
+ h0.copyTo(result, 0);
602
+ h1.copyTo(result, 8);
603
+ h2.copyTo(result, 16);
604
+ h3.copyTo(result, 24);
605
+ h4.copyTo(result, 32);
606
+ h5.copyTo(result, 40);
607
+ }
608
+ return result;
609
+ }
610
+ return hash;
611
+ })();
612
+ exports.calculateSHA512 = calculateSHA512;
613
+ function calculateSHA384(data, offset, length) {
614
+ return calculateSHA512(data, offset, length, /* mode384 = */ true);
615
+ }
616
+ class NullCipher {
617
+ decryptBlock(data) {
618
+ return data;
619
+ }
620
+ encrypt(data) {
621
+ return data;
622
+ }
623
+ }
624
+ class AESBaseCipher {
625
+ constructor() {
626
+ Object.defineProperty(this, "_s", {
627
+ enumerable: true,
628
+ configurable: true,
629
+ writable: true,
630
+ value: void 0
631
+ });
632
+ Object.defineProperty(this, "_keySize", {
633
+ enumerable: true,
634
+ configurable: true,
635
+ writable: true,
636
+ value: void 0
637
+ });
638
+ Object.defineProperty(this, "_key", {
639
+ enumerable: true,
640
+ configurable: true,
641
+ writable: true,
642
+ value: void 0
643
+ });
644
+ Object.defineProperty(this, "_cyclesOfRepetition", {
645
+ enumerable: true,
646
+ configurable: true,
647
+ writable: true,
648
+ value: void 0
649
+ });
650
+ Object.defineProperty(this, "_inv_s", {
651
+ enumerable: true,
652
+ configurable: true,
653
+ writable: true,
654
+ value: void 0
655
+ });
656
+ Object.defineProperty(this, "_mix", {
657
+ enumerable: true,
658
+ configurable: true,
659
+ writable: true,
660
+ value: void 0
661
+ });
662
+ Object.defineProperty(this, "_mixCol", {
663
+ enumerable: true,
664
+ configurable: true,
665
+ writable: true,
666
+ value: void 0
667
+ });
668
+ Object.defineProperty(this, "buffer", {
669
+ enumerable: true,
670
+ configurable: true,
671
+ writable: true,
672
+ value: void 0
673
+ });
674
+ Object.defineProperty(this, "bufferPosition", {
675
+ enumerable: true,
676
+ configurable: true,
677
+ writable: true,
678
+ value: void 0
679
+ });
680
+ Object.defineProperty(this, "bufferLength", {
681
+ enumerable: true,
682
+ configurable: true,
683
+ writable: true,
684
+ value: void 0
685
+ });
686
+ Object.defineProperty(this, "iv", {
687
+ enumerable: true,
688
+ configurable: true,
689
+ writable: true,
690
+ value: void 0
691
+ });
692
+ if (this.constructor === AESBaseCipher) {
693
+ throw new Error('Cannot initialize AESBaseCipher.');
694
+ }
695
+ this._s = new Uint8Array([
696
+ 0x63, 0x7c, 0x77, 0x7b, 0xf2, 0x6b, 0x6f, 0xc5, 0x30, 0x01, 0x67, 0x2b, 0xfe, 0xd7, 0xab,
697
+ 0x76, 0xca, 0x82, 0xc9, 0x7d, 0xfa, 0x59, 0x47, 0xf0, 0xad, 0xd4, 0xa2, 0xaf, 0x9c, 0xa4,
698
+ 0x72, 0xc0, 0xb7, 0xfd, 0x93, 0x26, 0x36, 0x3f, 0xf7, 0xcc, 0x34, 0xa5, 0xe5, 0xf1, 0x71,
699
+ 0xd8, 0x31, 0x15, 0x04, 0xc7, 0x23, 0xc3, 0x18, 0x96, 0x05, 0x9a, 0x07, 0x12, 0x80, 0xe2,
700
+ 0xeb, 0x27, 0xb2, 0x75, 0x09, 0x83, 0x2c, 0x1a, 0x1b, 0x6e, 0x5a, 0xa0, 0x52, 0x3b, 0xd6,
701
+ 0xb3, 0x29, 0xe3, 0x2f, 0x84, 0x53, 0xd1, 0x00, 0xed, 0x20, 0xfc, 0xb1, 0x5b, 0x6a, 0xcb,
702
+ 0xbe, 0x39, 0x4a, 0x4c, 0x58, 0xcf, 0xd0, 0xef, 0xaa, 0xfb, 0x43, 0x4d, 0x33, 0x85, 0x45,
703
+ 0xf9, 0x02, 0x7f, 0x50, 0x3c, 0x9f, 0xa8, 0x51, 0xa3, 0x40, 0x8f, 0x92, 0x9d, 0x38, 0xf5,
704
+ 0xbc, 0xb6, 0xda, 0x21, 0x10, 0xff, 0xf3, 0xd2, 0xcd, 0x0c, 0x13, 0xec, 0x5f, 0x97, 0x44,
705
+ 0x17, 0xc4, 0xa7, 0x7e, 0x3d, 0x64, 0x5d, 0x19, 0x73, 0x60, 0x81, 0x4f, 0xdc, 0x22, 0x2a,
706
+ 0x90, 0x88, 0x46, 0xee, 0xb8, 0x14, 0xde, 0x5e, 0x0b, 0xdb, 0xe0, 0x32, 0x3a, 0x0a, 0x49,
707
+ 0x06, 0x24, 0x5c, 0xc2, 0xd3, 0xac, 0x62, 0x91, 0x95, 0xe4, 0x79, 0xe7, 0xc8, 0x37, 0x6d,
708
+ 0x8d, 0xd5, 0x4e, 0xa9, 0x6c, 0x56, 0xf4, 0xea, 0x65, 0x7a, 0xae, 0x08, 0xba, 0x78, 0x25,
709
+ 0x2e, 0x1c, 0xa6, 0xb4, 0xc6, 0xe8, 0xdd, 0x74, 0x1f, 0x4b, 0xbd, 0x8b, 0x8a, 0x70, 0x3e,
710
+ 0xb5, 0x66, 0x48, 0x03, 0xf6, 0x0e, 0x61, 0x35, 0x57, 0xb9, 0x86, 0xc1, 0x1d, 0x9e, 0xe1,
711
+ 0xf8, 0x98, 0x11, 0x69, 0xd9, 0x8e, 0x94, 0x9b, 0x1e, 0x87, 0xe9, 0xce, 0x55, 0x28, 0xdf,
712
+ 0x8c, 0xa1, 0x89, 0x0d, 0xbf, 0xe6, 0x42, 0x68, 0x41, 0x99, 0x2d, 0x0f, 0xb0, 0x54, 0xbb,
713
+ 0x16,
714
+ ]);
715
+ this._inv_s = new Uint8Array([
716
+ 0x52, 0x09, 0x6a, 0xd5, 0x30, 0x36, 0xa5, 0x38, 0xbf, 0x40, 0xa3, 0x9e, 0x81, 0xf3, 0xd7,
717
+ 0xfb, 0x7c, 0xe3, 0x39, 0x82, 0x9b, 0x2f, 0xff, 0x87, 0x34, 0x8e, 0x43, 0x44, 0xc4, 0xde,
718
+ 0xe9, 0xcb, 0x54, 0x7b, 0x94, 0x32, 0xa6, 0xc2, 0x23, 0x3d, 0xee, 0x4c, 0x95, 0x0b, 0x42,
719
+ 0xfa, 0xc3, 0x4e, 0x08, 0x2e, 0xa1, 0x66, 0x28, 0xd9, 0x24, 0xb2, 0x76, 0x5b, 0xa2, 0x49,
720
+ 0x6d, 0x8b, 0xd1, 0x25, 0x72, 0xf8, 0xf6, 0x64, 0x86, 0x68, 0x98, 0x16, 0xd4, 0xa4, 0x5c,
721
+ 0xcc, 0x5d, 0x65, 0xb6, 0x92, 0x6c, 0x70, 0x48, 0x50, 0xfd, 0xed, 0xb9, 0xda, 0x5e, 0x15,
722
+ 0x46, 0x57, 0xa7, 0x8d, 0x9d, 0x84, 0x90, 0xd8, 0xab, 0x00, 0x8c, 0xbc, 0xd3, 0x0a, 0xf7,
723
+ 0xe4, 0x58, 0x05, 0xb8, 0xb3, 0x45, 0x06, 0xd0, 0x2c, 0x1e, 0x8f, 0xca, 0x3f, 0x0f, 0x02,
724
+ 0xc1, 0xaf, 0xbd, 0x03, 0x01, 0x13, 0x8a, 0x6b, 0x3a, 0x91, 0x11, 0x41, 0x4f, 0x67, 0xdc,
725
+ 0xea, 0x97, 0xf2, 0xcf, 0xce, 0xf0, 0xb4, 0xe6, 0x73, 0x96, 0xac, 0x74, 0x22, 0xe7, 0xad,
726
+ 0x35, 0x85, 0xe2, 0xf9, 0x37, 0xe8, 0x1c, 0x75, 0xdf, 0x6e, 0x47, 0xf1, 0x1a, 0x71, 0x1d,
727
+ 0x29, 0xc5, 0x89, 0x6f, 0xb7, 0x62, 0x0e, 0xaa, 0x18, 0xbe, 0x1b, 0xfc, 0x56, 0x3e, 0x4b,
728
+ 0xc6, 0xd2, 0x79, 0x20, 0x9a, 0xdb, 0xc0, 0xfe, 0x78, 0xcd, 0x5a, 0xf4, 0x1f, 0xdd, 0xa8,
729
+ 0x33, 0x88, 0x07, 0xc7, 0x31, 0xb1, 0x12, 0x10, 0x59, 0x27, 0x80, 0xec, 0x5f, 0x60, 0x51,
730
+ 0x7f, 0xa9, 0x19, 0xb5, 0x4a, 0x0d, 0x2d, 0xe5, 0x7a, 0x9f, 0x93, 0xc9, 0x9c, 0xef, 0xa0,
731
+ 0xe0, 0x3b, 0x4d, 0xae, 0x2a, 0xf5, 0xb0, 0xc8, 0xeb, 0xbb, 0x3c, 0x83, 0x53, 0x99, 0x61,
732
+ 0x17, 0x2b, 0x04, 0x7e, 0xba, 0x77, 0xd6, 0x26, 0xe1, 0x69, 0x14, 0x63, 0x55, 0x21, 0x0c,
733
+ 0x7d,
734
+ ]);
735
+ this._mix = new Uint32Array([
736
+ 0x00000000, 0x0e090d0b, 0x1c121a16, 0x121b171d, 0x3824342c, 0x362d3927, 0x24362e3a,
737
+ 0x2a3f2331, 0x70486858, 0x7e416553, 0x6c5a724e, 0x62537f45, 0x486c5c74, 0x4665517f,
738
+ 0x547e4662, 0x5a774b69, 0xe090d0b0, 0xee99ddbb, 0xfc82caa6, 0xf28bc7ad, 0xd8b4e49c,
739
+ 0xd6bde997, 0xc4a6fe8a, 0xcaaff381, 0x90d8b8e8, 0x9ed1b5e3, 0x8ccaa2fe, 0x82c3aff5,
740
+ 0xa8fc8cc4, 0xa6f581cf, 0xb4ee96d2, 0xbae79bd9, 0xdb3bbb7b, 0xd532b670, 0xc729a16d,
741
+ 0xc920ac66, 0xe31f8f57, 0xed16825c, 0xff0d9541, 0xf104984a, 0xab73d323, 0xa57ade28,
742
+ 0xb761c935, 0xb968c43e, 0x9357e70f, 0x9d5eea04, 0x8f45fd19, 0x814cf012, 0x3bab6bcb,
743
+ 0x35a266c0, 0x27b971dd, 0x29b07cd6, 0x038f5fe7, 0x0d8652ec, 0x1f9d45f1, 0x119448fa,
744
+ 0x4be30393, 0x45ea0e98, 0x57f11985, 0x59f8148e, 0x73c737bf, 0x7dce3ab4, 0x6fd52da9,
745
+ 0x61dc20a2, 0xad766df6, 0xa37f60fd, 0xb16477e0, 0xbf6d7aeb, 0x955259da, 0x9b5b54d1,
746
+ 0x894043cc, 0x87494ec7, 0xdd3e05ae, 0xd33708a5, 0xc12c1fb8, 0xcf2512b3, 0xe51a3182,
747
+ 0xeb133c89, 0xf9082b94, 0xf701269f, 0x4de6bd46, 0x43efb04d, 0x51f4a750, 0x5ffdaa5b,
748
+ 0x75c2896a, 0x7bcb8461, 0x69d0937c, 0x67d99e77, 0x3daed51e, 0x33a7d815, 0x21bccf08,
749
+ 0x2fb5c203, 0x058ae132, 0x0b83ec39, 0x1998fb24, 0x1791f62f, 0x764dd68d, 0x7844db86,
750
+ 0x6a5fcc9b, 0x6456c190, 0x4e69e2a1, 0x4060efaa, 0x527bf8b7, 0x5c72f5bc, 0x0605bed5,
751
+ 0x080cb3de, 0x1a17a4c3, 0x141ea9c8, 0x3e218af9, 0x302887f2, 0x223390ef, 0x2c3a9de4,
752
+ 0x96dd063d, 0x98d40b36, 0x8acf1c2b, 0x84c61120, 0xaef93211, 0xa0f03f1a, 0xb2eb2807,
753
+ 0xbce2250c, 0xe6956e65, 0xe89c636e, 0xfa877473, 0xf48e7978, 0xdeb15a49, 0xd0b85742,
754
+ 0xc2a3405f, 0xccaa4d54, 0x41ecdaf7, 0x4fe5d7fc, 0x5dfec0e1, 0x53f7cdea, 0x79c8eedb,
755
+ 0x77c1e3d0, 0x65daf4cd, 0x6bd3f9c6, 0x31a4b2af, 0x3fadbfa4, 0x2db6a8b9, 0x23bfa5b2,
756
+ 0x09808683, 0x07898b88, 0x15929c95, 0x1b9b919e, 0xa17c0a47, 0xaf75074c, 0xbd6e1051,
757
+ 0xb3671d5a, 0x99583e6b, 0x97513360, 0x854a247d, 0x8b432976, 0xd134621f, 0xdf3d6f14,
758
+ 0xcd267809, 0xc32f7502, 0xe9105633, 0xe7195b38, 0xf5024c25, 0xfb0b412e, 0x9ad7618c,
759
+ 0x94de6c87, 0x86c57b9a, 0x88cc7691, 0xa2f355a0, 0xacfa58ab, 0xbee14fb6, 0xb0e842bd,
760
+ 0xea9f09d4, 0xe49604df, 0xf68d13c2, 0xf8841ec9, 0xd2bb3df8, 0xdcb230f3, 0xcea927ee,
761
+ 0xc0a02ae5, 0x7a47b13c, 0x744ebc37, 0x6655ab2a, 0x685ca621, 0x42638510, 0x4c6a881b,
762
+ 0x5e719f06, 0x5078920d, 0x0a0fd964, 0x0406d46f, 0x161dc372, 0x1814ce79, 0x322bed48,
763
+ 0x3c22e043, 0x2e39f75e, 0x2030fa55, 0xec9ab701, 0xe293ba0a, 0xf088ad17, 0xfe81a01c,
764
+ 0xd4be832d, 0xdab78e26, 0xc8ac993b, 0xc6a59430, 0x9cd2df59, 0x92dbd252, 0x80c0c54f,
765
+ 0x8ec9c844, 0xa4f6eb75, 0xaaffe67e, 0xb8e4f163, 0xb6edfc68, 0x0c0a67b1, 0x02036aba,
766
+ 0x10187da7, 0x1e1170ac, 0x342e539d, 0x3a275e96, 0x283c498b, 0x26354480, 0x7c420fe9,
767
+ 0x724b02e2, 0x605015ff, 0x6e5918f4, 0x44663bc5, 0x4a6f36ce, 0x587421d3, 0x567d2cd8,
768
+ 0x37a10c7a, 0x39a80171, 0x2bb3166c, 0x25ba1b67, 0x0f853856, 0x018c355d, 0x13972240,
769
+ 0x1d9e2f4b, 0x47e96422, 0x49e06929, 0x5bfb7e34, 0x55f2733f, 0x7fcd500e, 0x71c45d05,
770
+ 0x63df4a18, 0x6dd64713, 0xd731dcca, 0xd938d1c1, 0xcb23c6dc, 0xc52acbd7, 0xef15e8e6,
771
+ 0xe11ce5ed, 0xf307f2f0, 0xfd0efffb, 0xa779b492, 0xa970b999, 0xbb6bae84, 0xb562a38f,
772
+ 0x9f5d80be, 0x91548db5, 0x834f9aa8, 0x8d4697a3,
773
+ ]);
774
+ this._mixCol = new Uint8Array(256);
775
+ for (let i = 0; i < 256; i++) {
776
+ if (i < 128) {
777
+ this._mixCol[i] = i << 1;
778
+ }
779
+ else {
780
+ this._mixCol[i] = (i << 1) ^ 0x1b;
781
+ }
782
+ }
783
+ this.buffer = new Uint8Array(16);
784
+ this.bufferPosition = 0;
785
+ }
786
+ _expandKey(_cipherKey) {
787
+ throw new Error('Cannot call `_expandKey` on the base class');
788
+ }
789
+ _decrypt(input, key) {
790
+ let t, u, v;
791
+ const state = new Uint8Array(16);
792
+ state.set(input);
793
+ // AddRoundKey
794
+ for (let j = 0, k = this._keySize; j < 16; ++j, ++k) {
795
+ state[j] ^= key[k];
796
+ }
797
+ for (let i = this._cyclesOfRepetition - 1; i >= 1; --i) {
798
+ // InvShiftRows
799
+ t = state[13];
800
+ state[13] = state[9];
801
+ state[9] = state[5];
802
+ state[5] = state[1];
803
+ state[1] = t;
804
+ t = state[14];
805
+ u = state[10];
806
+ state[14] = state[6];
807
+ state[10] = state[2];
808
+ state[6] = t;
809
+ state[2] = u;
810
+ t = state[15];
811
+ u = state[11];
812
+ v = state[7];
813
+ state[15] = state[3];
814
+ state[11] = t;
815
+ state[7] = u;
816
+ state[3] = v;
817
+ // InvSubBytes
818
+ for (let j = 0; j < 16; ++j) {
819
+ state[j] = this._inv_s[state[j]];
820
+ }
821
+ // AddRoundKey
822
+ for (let j = 0, k = i * 16; j < 16; ++j, ++k) {
823
+ state[j] ^= key[k];
824
+ }
825
+ // InvMixColumns
826
+ for (let j = 0; j < 16; j += 4) {
827
+ const s0 = this._mix[state[j]];
828
+ const s1 = this._mix[state[j + 1]];
829
+ const s2 = this._mix[state[j + 2]];
830
+ const s3 = this._mix[state[j + 3]];
831
+ t = s0 ^ (s1 >>> 8) ^ (s1 << 24) ^ (s2 >>> 16) ^ (s2 << 16) ^ (s3 >>> 24) ^ (s3 << 8);
832
+ state[j] = (t >>> 24) & 0xff;
833
+ state[j + 1] = (t >> 16) & 0xff;
834
+ state[j + 2] = (t >> 8) & 0xff;
835
+ state[j + 3] = t & 0xff;
836
+ }
837
+ }
838
+ // InvShiftRows
839
+ t = state[13];
840
+ state[13] = state[9];
841
+ state[9] = state[5];
842
+ state[5] = state[1];
843
+ state[1] = t;
844
+ t = state[14];
845
+ u = state[10];
846
+ state[14] = state[6];
847
+ state[10] = state[2];
848
+ state[6] = t;
849
+ state[2] = u;
850
+ t = state[15];
851
+ u = state[11];
852
+ v = state[7];
853
+ state[15] = state[3];
854
+ state[11] = t;
855
+ state[7] = u;
856
+ state[3] = v;
857
+ for (let j = 0; j < 16; ++j) {
858
+ // InvSubBytes
859
+ state[j] = this._inv_s[state[j]];
860
+ // AddRoundKey
861
+ state[j] ^= key[j];
862
+ }
863
+ return state;
864
+ }
865
+ _encrypt(input, key) {
866
+ const s = this._s;
867
+ let t, u, v;
868
+ const state = new Uint8Array(16);
869
+ state.set(input);
870
+ for (let j = 0; j < 16; ++j) {
871
+ // AddRoundKey
872
+ state[j] ^= key[j];
873
+ }
874
+ for (let i = 1; i < this._cyclesOfRepetition; i++) {
875
+ // SubBytes
876
+ for (let j = 0; j < 16; ++j) {
877
+ state[j] = s[state[j]];
878
+ }
879
+ // ShiftRows
880
+ v = state[1];
881
+ state[1] = state[5];
882
+ state[5] = state[9];
883
+ state[9] = state[13];
884
+ state[13] = v;
885
+ v = state[2];
886
+ u = state[6];
887
+ state[2] = state[10];
888
+ state[6] = state[14];
889
+ state[10] = v;
890
+ state[14] = u;
891
+ v = state[3];
892
+ u = state[7];
893
+ t = state[11];
894
+ state[3] = state[15];
895
+ state[7] = v;
896
+ state[11] = u;
897
+ state[15] = t;
898
+ // MixColumns
899
+ for (let j = 0; j < 16; j += 4) {
900
+ const s0 = state[j + 0];
901
+ const s1 = state[j + 1];
902
+ const s2 = state[j + 2];
903
+ const s3 = state[j + 3];
904
+ t = s0 ^ s1 ^ s2 ^ s3;
905
+ state[j + 0] ^= t ^ this._mixCol[s0 ^ s1];
906
+ state[j + 1] ^= t ^ this._mixCol[s1 ^ s2];
907
+ state[j + 2] ^= t ^ this._mixCol[s2 ^ s3];
908
+ state[j + 3] ^= t ^ this._mixCol[s3 ^ s0];
909
+ }
910
+ // AddRoundKey
911
+ for (let j = 0, k = i * 16; j < 16; ++j, ++k) {
912
+ state[j] ^= key[k];
913
+ }
914
+ }
915
+ // SubBytes
916
+ for (let j = 0; j < 16; ++j) {
917
+ state[j] = s[state[j]];
918
+ }
919
+ // ShiftRows
920
+ v = state[1];
921
+ state[1] = state[5];
922
+ state[5] = state[9];
923
+ state[9] = state[13];
924
+ state[13] = v;
925
+ v = state[2];
926
+ u = state[6];
927
+ state[2] = state[10];
928
+ state[6] = state[14];
929
+ state[10] = v;
930
+ state[14] = u;
931
+ v = state[3];
932
+ u = state[7];
933
+ t = state[11];
934
+ state[3] = state[15];
935
+ state[7] = v;
936
+ state[11] = u;
937
+ state[15] = t;
938
+ // AddRoundKey
939
+ for (let j = 0, k = this._keySize; j < 16; ++j, ++k) {
940
+ state[j] ^= key[k];
941
+ }
942
+ return state;
943
+ }
944
+ _decryptBlock2(data, finalize) {
945
+ const sourceLength = data.length;
946
+ let buffer = this.buffer, bufferLength = this.bufferPosition;
947
+ const result = [];
948
+ let iv = this.iv;
949
+ for (let i = 0; i < sourceLength; ++i) {
950
+ buffer[bufferLength] = data[i];
951
+ ++bufferLength;
952
+ if (bufferLength < 16) {
953
+ continue;
954
+ }
955
+ // buffer is full, decrypting
956
+ const plain = this._decrypt(buffer, this._key);
957
+ // xor-ing the IV vector to get plain text
958
+ for (let j = 0; j < 16; ++j) {
959
+ plain[j] ^= iv[j];
960
+ }
961
+ iv = buffer;
962
+ result.push(plain);
963
+ buffer = new Uint8Array(16);
964
+ bufferLength = 0;
965
+ }
966
+ // saving incomplete buffer
967
+ this.buffer = buffer;
968
+ this.bufferLength = bufferLength;
969
+ this.iv = iv;
970
+ if (result.length === 0) {
971
+ return new Uint8Array(0);
972
+ }
973
+ // combining plain text blocks into one
974
+ let outputLength = 16 * result.length;
975
+ if (finalize) {
976
+ // undo a padding that is described in RFC 2898
977
+ const lastBlock = result[result.length - 1];
978
+ let psLen = lastBlock[15];
979
+ if (psLen <= 16) {
980
+ for (let i = 15, ii = 16 - psLen; i >= ii; --i) {
981
+ if (lastBlock[i] !== psLen) {
982
+ // Invalid padding, assume that the block has no padding.
983
+ psLen = 0;
984
+ break;
985
+ }
986
+ }
987
+ outputLength -= psLen;
988
+ result[result.length - 1] = lastBlock.subarray(0, 16 - psLen);
989
+ }
990
+ }
991
+ const output = new Uint8Array(outputLength);
992
+ for (let i = 0, j = 0, ii = result.length; i < ii; ++i, j += 16) {
993
+ output.set(result[i], j);
994
+ }
995
+ return output;
996
+ }
997
+ decryptBlock(data, finalize, iv) {
998
+ const sourceLength = data.length;
999
+ const buffer = this.buffer;
1000
+ let bufferLength = this.bufferPosition;
1001
+ // If an IV is not supplied, wait for IV values. They are at the start
1002
+ // of the stream.
1003
+ if (iv) {
1004
+ this.iv = iv;
1005
+ }
1006
+ else {
1007
+ for (let i = 0; bufferLength < 16 && i < sourceLength; ++i, ++bufferLength) {
1008
+ buffer[bufferLength] = data[i];
1009
+ }
1010
+ if (bufferLength < 16) {
1011
+ // Need more data.
1012
+ this.bufferLength = bufferLength;
1013
+ return new Uint8Array(0);
1014
+ }
1015
+ this.iv = buffer;
1016
+ data = data.subarray(16);
1017
+ }
1018
+ this.buffer = new Uint8Array(16);
1019
+ this.bufferLength = 0;
1020
+ // starting decryption
1021
+ this.decryptBlock = this._decryptBlock2;
1022
+ return this.decryptBlock(data, finalize);
1023
+ }
1024
+ encrypt(data, iv) {
1025
+ const sourceLength = data.length;
1026
+ let buffer = this.buffer, bufferLength = this.bufferPosition;
1027
+ const result = [];
1028
+ if (!iv) {
1029
+ iv = new Uint8Array(16);
1030
+ }
1031
+ for (let i = 0; i < sourceLength; ++i) {
1032
+ buffer[bufferLength] = data[i];
1033
+ ++bufferLength;
1034
+ if (bufferLength < 16) {
1035
+ continue;
1036
+ }
1037
+ for (let j = 0; j < 16; ++j) {
1038
+ buffer[j] ^= iv[j];
1039
+ }
1040
+ // buffer is full, encrypting
1041
+ const cipher = this._encrypt(buffer, this._key);
1042
+ iv = cipher;
1043
+ result.push(cipher);
1044
+ buffer = new Uint8Array(16);
1045
+ bufferLength = 0;
1046
+ }
1047
+ // saving incomplete buffer
1048
+ this.buffer = buffer;
1049
+ this.bufferLength = bufferLength;
1050
+ this.iv = iv;
1051
+ if (result.length === 0) {
1052
+ return new Uint8Array(0);
1053
+ }
1054
+ // combining plain text blocks into one
1055
+ const outputLength = 16 * result.length;
1056
+ const output = new Uint8Array(outputLength);
1057
+ for (let i = 0, j = 0, ii = result.length; i < ii; ++i, j += 16) {
1058
+ output.set(result[i], j);
1059
+ }
1060
+ return output;
1061
+ }
1062
+ }
1063
+ class AES128Cipher extends AESBaseCipher {
1064
+ constructor(key) {
1065
+ super();
1066
+ Object.defineProperty(this, "_rcon", {
1067
+ enumerable: true,
1068
+ configurable: true,
1069
+ writable: true,
1070
+ value: void 0
1071
+ });
1072
+ this._cyclesOfRepetition = 10;
1073
+ this._keySize = 160; // bits
1074
+ this._rcon = new Uint8Array([
1075
+ 0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d,
1076
+ 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5,
1077
+ 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc,
1078
+ 0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb, 0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80,
1079
+ 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a,
1080
+ 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f,
1081
+ 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb, 0x8d, 0x01, 0x02,
1082
+ 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e,
1083
+ 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72,
1084
+ 0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a,
1085
+ 0x74, 0xe8, 0xcb, 0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c,
1086
+ 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d,
1087
+ 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94,
1088
+ 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb, 0x8d, 0x01, 0x02, 0x04, 0x08, 0x10,
1089
+ 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6,
1090
+ 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd,
1091
+ 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb,
1092
+ 0x8d,
1093
+ ]);
1094
+ this._key = this._expandKey(key);
1095
+ }
1096
+ _expandKey(cipherKey) {
1097
+ const b = 176;
1098
+ const s = this._s;
1099
+ const rcon = this._rcon;
1100
+ const result = new Uint8Array(b);
1101
+ result.set(cipherKey);
1102
+ for (let j = 16, i = 1; j < b; ++i) {
1103
+ // RotWord
1104
+ let t1 = result[j - 3];
1105
+ let t2 = result[j - 2];
1106
+ let t3 = result[j - 1];
1107
+ let t4 = result[j - 4];
1108
+ // SubWord
1109
+ t1 = s[t1];
1110
+ t2 = s[t2];
1111
+ t3 = s[t3];
1112
+ t4 = s[t4];
1113
+ // Rcon
1114
+ t1 ^= rcon[i];
1115
+ for (let n = 0; n < 4; ++n) {
1116
+ result[j] = t1 ^= result[j - 16];
1117
+ j++;
1118
+ result[j] = t2 ^= result[j - 16];
1119
+ j++;
1120
+ result[j] = t3 ^= result[j - 16];
1121
+ j++;
1122
+ result[j] = t4 ^= result[j - 16];
1123
+ j++;
1124
+ }
1125
+ }
1126
+ return result;
1127
+ }
1128
+ }
1129
+ exports.AES128Cipher = AES128Cipher;
1130
+ class AES256Cipher extends AESBaseCipher {
1131
+ constructor(key) {
1132
+ super();
1133
+ this._cyclesOfRepetition = 14;
1134
+ this._keySize = 224; // bits
1135
+ this._key = this._expandKey(key);
1136
+ }
1137
+ _expandKey(cipherKey) {
1138
+ const b = 240;
1139
+ const s = this._s;
1140
+ const result = new Uint8Array(b);
1141
+ result.set(cipherKey);
1142
+ let r = 1;
1143
+ let t1 = 0, t2 = 0, t3 = 0, t4 = 0;
1144
+ for (let j = 32, i = 1; j < b; ++i) {
1145
+ if (j % 32 === 16) {
1146
+ t1 = s[t1];
1147
+ t2 = s[t2];
1148
+ t3 = s[t3];
1149
+ t4 = s[t4];
1150
+ }
1151
+ else if (j % 32 === 0) {
1152
+ // RotWord
1153
+ t1 = result[j - 3];
1154
+ t2 = result[j - 2];
1155
+ t3 = result[j - 1];
1156
+ t4 = result[j - 4];
1157
+ // SubWord
1158
+ t1 = s[t1];
1159
+ t2 = s[t2];
1160
+ t3 = s[t3];
1161
+ t4 = s[t4];
1162
+ // Rcon
1163
+ t1 ^= r;
1164
+ if ((r <<= 1) >= 256) {
1165
+ r = (r ^ 0x1b) & 0xff;
1166
+ }
1167
+ }
1168
+ for (let n = 0; n < 4; ++n) {
1169
+ result[j] = t1 ^= result[j - 32];
1170
+ j++;
1171
+ result[j] = t2 ^= result[j - 32];
1172
+ j++;
1173
+ result[j] = t3 ^= result[j - 32];
1174
+ j++;
1175
+ result[j] = t4 ^= result[j - 32];
1176
+ j++;
1177
+ }
1178
+ }
1179
+ return result;
1180
+ }
1181
+ }
1182
+ exports.AES256Cipher = AES256Cipher;
1183
+ class PDF17 {
1184
+ checkOwnerPassword(password, ownerValidationSalt, userBytes, ownerPassword) {
1185
+ const hashData = new Uint8Array(password.length + 56);
1186
+ hashData.set(password, 0);
1187
+ hashData.set(ownerValidationSalt, password.length);
1188
+ hashData.set(userBytes, password.length + ownerValidationSalt.length);
1189
+ const result = calculateSHA256(hashData, 0, hashData.length);
1190
+ return (0, arrays_1.isArrayEqual)(result, ownerPassword);
1191
+ }
1192
+ checkUserPassword(password, userValidationSalt, userPassword) {
1193
+ const hashData = new Uint8Array(password.length + 8);
1194
+ hashData.set(password, 0);
1195
+ hashData.set(userValidationSalt, password.length);
1196
+ const result = calculateSHA256(hashData, 0, hashData.length);
1197
+ return (0, arrays_1.isArrayEqual)(result, userPassword);
1198
+ }
1199
+ getOwnerKey(password, ownerKeySalt, userBytes, ownerEncryption) {
1200
+ const hashData = new Uint8Array(password.length + 56);
1201
+ hashData.set(password, 0);
1202
+ hashData.set(ownerKeySalt, password.length);
1203
+ hashData.set(userBytes, password.length + ownerKeySalt.length);
1204
+ const key = calculateSHA256(hashData, 0, hashData.length);
1205
+ const cipher = new AES256Cipher(key);
1206
+ return cipher.decryptBlock(ownerEncryption, false, new Uint8Array(16));
1207
+ }
1208
+ getUserKey(password, userKeySalt, userEncryption) {
1209
+ const hashData = new Uint8Array(password.length + 8);
1210
+ hashData.set(password, 0);
1211
+ hashData.set(userKeySalt, password.length);
1212
+ // `key` is the decryption key for the UE string.
1213
+ const key = calculateSHA256(hashData, 0, hashData.length);
1214
+ const cipher = new AES256Cipher(key);
1215
+ return cipher.decryptBlock(userEncryption, false, new Uint8Array(16));
1216
+ }
1217
+ }
1218
+ exports.PDF17 = PDF17;
1219
+ class PDF20 {
1220
+ calculatePDF20Hash(password, input, userBytes) {
1221
+ // This refers to Algorithm 2.B as defined in ISO 32000-2.
1222
+ let k = calculateSHA256(input, 0, input.length).subarray(0, 32);
1223
+ let e = new Uint8Array([0]);
1224
+ let i = 0;
1225
+ while (i < 64 || e[e.length - 1] > i - 32) {
1226
+ const combinedLength = password.length + k.length + userBytes.length, combinedArray = new Uint8Array(combinedLength);
1227
+ let writeOffset = 0;
1228
+ combinedArray.set(password, writeOffset);
1229
+ writeOffset += password.length;
1230
+ combinedArray.set(k, writeOffset);
1231
+ writeOffset += k.length;
1232
+ combinedArray.set(userBytes, writeOffset);
1233
+ const k1 = new Uint8Array(combinedLength * 64);
1234
+ for (let j = 0, pos = 0; j < 64; j++, pos += combinedLength) {
1235
+ k1.set(combinedArray, pos);
1236
+ }
1237
+ // AES128 CBC NO PADDING with first 16 bytes of k as the key
1238
+ // and the second 16 as the iv.
1239
+ const cipher = new AES128Cipher(k.subarray(0, 16));
1240
+ e = cipher.encrypt(k1, k.subarray(16, 32));
1241
+ // Now we have to take the first 16 bytes of an unsigned big endian
1242
+ // integer and compute the remainder modulo 3. That is a fairly large
1243
+ // number and JavaScript isn't going to handle that well.
1244
+ // The number is e0 + 256 * e1 + 256^2 * e2... and 256 % 3 === 1, hence
1245
+ // the powers of 256 are === 1 modulo 3 and finally the number modulo 3
1246
+ // is equal to the remainder modulo 3 of the sum of the e_n.
1247
+ const remainder = e.slice(0, 16).reduce((a, b) => a + b, 0) % 3;
1248
+ if (remainder === 0) {
1249
+ k = calculateSHA256(e, 0, e.length);
1250
+ }
1251
+ else if (remainder === 1) {
1252
+ k = calculateSHA384(e, 0, e.length);
1253
+ }
1254
+ else if (remainder === 2) {
1255
+ k = calculateSHA512(e, 0, e.length);
1256
+ }
1257
+ i++;
1258
+ }
1259
+ return k.subarray(0, 32);
1260
+ }
1261
+ hash(password, concatBytes, userBytes) {
1262
+ return this.calculatePDF20Hash(password, concatBytes, userBytes);
1263
+ }
1264
+ checkOwnerPassword(password, ownerValidationSalt, userBytes, ownerPassword) {
1265
+ const hashData = new Uint8Array(password.length + 56);
1266
+ hashData.set(password, 0);
1267
+ hashData.set(ownerValidationSalt, password.length);
1268
+ hashData.set(userBytes, password.length + ownerValidationSalt.length);
1269
+ const result = this.calculatePDF20Hash(password, hashData, userBytes);
1270
+ return (0, arrays_1.isArrayEqual)(result, ownerPassword);
1271
+ }
1272
+ checkUserPassword(password, userValidationSalt, userPassword) {
1273
+ const hashData = new Uint8Array(password.length + 8);
1274
+ hashData.set(password, 0);
1275
+ hashData.set(userValidationSalt, password.length);
1276
+ const result = this.calculatePDF20Hash(password, hashData, new Uint8Array());
1277
+ return (0, arrays_1.isArrayEqual)(result, userPassword);
1278
+ }
1279
+ getOwnerKey(password, ownerKeySalt, userBytes, ownerEncryption) {
1280
+ const hashData = new Uint8Array(password.length + 56);
1281
+ hashData.set(password, 0);
1282
+ hashData.set(ownerKeySalt, password.length);
1283
+ hashData.set(userBytes, password.length + ownerKeySalt.length);
1284
+ const key = this.calculatePDF20Hash(password, hashData, userBytes);
1285
+ const cipher = new AES256Cipher(key);
1286
+ return cipher.decryptBlock(ownerEncryption, false, new Uint8Array(16));
1287
+ }
1288
+ getUserKey(password, userKeySalt, userEncryption) {
1289
+ const hashData = new Uint8Array(password.length + 8);
1290
+ hashData.set(password, 0);
1291
+ hashData.set(userKeySalt, password.length);
1292
+ // `key` is the decryption key for the UE string.
1293
+ const key = this.calculatePDF20Hash(password, hashData, new Uint8Array());
1294
+ const cipher = new AES256Cipher(key);
1295
+ return cipher.decryptBlock(userEncryption, false, new Uint8Array(16));
1296
+ }
1297
+ }
1298
+ exports.PDF20 = PDF20;
1299
+ class CipherTransform {
1300
+ constructor(stringCipherConstructor, streamCipherConstructor) {
1301
+ Object.defineProperty(this, "StringCipherConstructor", {
1302
+ enumerable: true,
1303
+ configurable: true,
1304
+ writable: true,
1305
+ value: void 0
1306
+ });
1307
+ Object.defineProperty(this, "StreamCipherConstructor", {
1308
+ enumerable: true,
1309
+ configurable: true,
1310
+ writable: true,
1311
+ value: void 0
1312
+ });
1313
+ this.StringCipherConstructor = stringCipherConstructor;
1314
+ this.StreamCipherConstructor = streamCipherConstructor;
1315
+ }
1316
+ createStream(stream, length) {
1317
+ const cipher = this.StreamCipherConstructor();
1318
+ return new DecryptStream_js_1.default(stream, function cipherTransformDecryptStream(data, finalize) {
1319
+ return cipher.decryptBlock(data, finalize);
1320
+ }, length);
1321
+ }
1322
+ decryptString(s) {
1323
+ const cipher = this.StringCipherConstructor();
1324
+ let data = (0, strings_1.stringAsByteArray)(s);
1325
+ data = cipher.decryptBlock(data, true);
1326
+ return (0, arrays_1.arrayAsString)(data);
1327
+ }
1328
+ decryptBytes(d) {
1329
+ const cipher = this.StringCipherConstructor();
1330
+ return cipher.decryptBlock(d, true);
1331
+ }
1332
+ encryptString(s) {
1333
+ const cipher = this.StringCipherConstructor();
1334
+ if (cipher instanceof AESBaseCipher) {
1335
+ // Append some chars equal to "16 - (M mod 16)"
1336
+ // where M is the string length (see section 7.6.2 in PDF specification)
1337
+ // to have a final string where the length is a multiple of 16.
1338
+ // Special note:
1339
+ // "Note that the pad is present when M is evenly divisible by 16;
1340
+ // it contains 16 bytes of 0x10."
1341
+ const strLen = s.length;
1342
+ const pad = 16 - (strLen % 16);
1343
+ s += String.fromCharCode(pad).repeat(pad);
1344
+ // Generate an initialization vector
1345
+ const iv = new Uint8Array(16);
1346
+ if (typeof crypto !== 'undefined') {
1347
+ crypto.getRandomValues(iv);
1348
+ }
1349
+ else {
1350
+ for (let i = 0; i < 16; i++) {
1351
+ iv[i] = Math.floor(256 * Math.random());
1352
+ }
1353
+ }
1354
+ let data = (0, strings_1.stringAsByteArray)(s);
1355
+ data = cipher.encrypt(data, iv);
1356
+ const buf = new Uint8Array(16 + data.length);
1357
+ buf.set(iv);
1358
+ buf.set(data, 16);
1359
+ return (0, arrays_1.arrayAsString)(buf);
1360
+ }
1361
+ let data = (0, strings_1.stringAsByteArray)(s);
1362
+ data = cipher.encrypt(data);
1363
+ return (0, arrays_1.arrayAsString)(data);
1364
+ }
1365
+ }
1366
+ exports.CipherTransform = CipherTransform;
1367
+ // eslint-disable-next-line no-shadow
1368
+ class CipherTransformFactory {
1369
+ constructor(dict, fileIdBytes, password) {
1370
+ Object.defineProperty(this, "encryptMetadata", {
1371
+ enumerable: true,
1372
+ configurable: true,
1373
+ writable: true,
1374
+ value: void 0
1375
+ });
1376
+ Object.defineProperty(this, "encryptionKey", {
1377
+ enumerable: true,
1378
+ configurable: true,
1379
+ writable: true,
1380
+ value: void 0
1381
+ });
1382
+ Object.defineProperty(this, "algorithm", {
1383
+ enumerable: true,
1384
+ configurable: true,
1385
+ writable: true,
1386
+ value: void 0
1387
+ });
1388
+ Object.defineProperty(this, "filterName", {
1389
+ enumerable: true,
1390
+ configurable: true,
1391
+ writable: true,
1392
+ value: void 0
1393
+ });
1394
+ Object.defineProperty(this, "dict", {
1395
+ enumerable: true,
1396
+ configurable: true,
1397
+ writable: true,
1398
+ value: void 0
1399
+ });
1400
+ Object.defineProperty(this, "cf", {
1401
+ enumerable: true,
1402
+ configurable: true,
1403
+ writable: true,
1404
+ value: void 0
1405
+ });
1406
+ Object.defineProperty(this, "stmf", {
1407
+ enumerable: true,
1408
+ configurable: true,
1409
+ writable: true,
1410
+ value: void 0
1411
+ });
1412
+ Object.defineProperty(this, "strf", {
1413
+ enumerable: true,
1414
+ configurable: true,
1415
+ writable: true,
1416
+ value: void 0
1417
+ });
1418
+ Object.defineProperty(this, "eff", {
1419
+ enumerable: true,
1420
+ configurable: true,
1421
+ writable: true,
1422
+ value: void 0
1423
+ });
1424
+ Object.defineProperty(this, "defaultPasswordBytes", {
1425
+ enumerable: true,
1426
+ configurable: true,
1427
+ writable: true,
1428
+ value: new Uint8Array([
1429
+ 0x28, 0xbf, 0x4e, 0x5e, 0x4e, 0x75, 0x8a, 0x41, 0x64, 0x00, 0x4e, 0x56, 0xff, 0xfa, 0x01, 0x08,
1430
+ 0x2e, 0x2e, 0x00, 0xb6, 0xd0, 0x68, 0x3e, 0x80, 0x2f, 0x0c, 0xa9, 0xfe, 0x64, 0x53, 0x69, 0x7a,
1431
+ ])
1432
+ });
1433
+ Object.defineProperty(this, "identityName", {
1434
+ enumerable: true,
1435
+ configurable: true,
1436
+ writable: true,
1437
+ value: PDFName_js_1.default.of('Identity')
1438
+ });
1439
+ const filter = dict.get(PDFName_js_1.default.of('Filter'));
1440
+ if (filter.asString() !== '/Standard') {
1441
+ throw new Error('unknown encryption method');
1442
+ }
1443
+ this.filterName = filter.asString();
1444
+ this.dict = dict;
1445
+ const algorithm = dict.get(PDFName_js_1.default.of('V')).asNumber();
1446
+ if (!Number.isInteger(algorithm) ||
1447
+ (algorithm !== 1 && algorithm !== 2 && algorithm !== 4 && algorithm !== 5)) {
1448
+ throw new Error('unsupported encryption algorithm');
1449
+ }
1450
+ this.algorithm = algorithm;
1451
+ let keyLength = dict.get(PDFName_js_1.default.of('Length')).asNumber();
1452
+ if (!keyLength) {
1453
+ // Spec asks to rely on encryption dictionary's Length entry, however
1454
+ // some PDFs don't have it. Trying to recover.
1455
+ if (algorithm <= 3) {
1456
+ // For 1 and 2 it's fixed to 40-bit, for 3 40-bit is a minimal value.
1457
+ keyLength = 40;
1458
+ }
1459
+ else {
1460
+ // Trying to find default handler -- it usually has Length.
1461
+ const cfDict = dict.get(PDFName_js_1.default.of('CF'));
1462
+ const streamCryptoName = dict.get(PDFName_js_1.default.of('StmF'));
1463
+ if (cfDict instanceof PDFDict_js_1.default && streamCryptoName instanceof PDFName_js_1.default) {
1464
+ cfDict.suppressEncryption = true;
1465
+ const handlerDict = cfDict.get(PDFName_js_1.default.of(streamCryptoName.asString()));
1466
+ let keyLen = null;
1467
+ if (handlerDict) {
1468
+ keyLen = handlerDict.get(PDFName_js_1.default.of('Length'));
1469
+ }
1470
+ keyLength = (keyLen && keyLen.asNumber()) || 128;
1471
+ if (keyLength < 40) {
1472
+ // Sometimes it's incorrect value of bits, generators specify
1473
+ // bytes.
1474
+ keyLength <<= 3;
1475
+ }
1476
+ }
1477
+ }
1478
+ }
1479
+ if (!Number.isInteger(keyLength) || keyLength < 40 || keyLength % 8 !== 0) {
1480
+ throw new Error('invalid key length');
1481
+ }
1482
+ const oPdfStr = dict.get(PDFName_js_1.default.of('O')).asBytes();
1483
+ const uPdfStr = dict.get(PDFName_js_1.default.of('U')).asBytes();
1484
+ // prepare keys
1485
+ const ownerPassword = oPdfStr.subarray(0, 32);
1486
+ const userPassword = uPdfStr.subarray(0, 32);
1487
+ const flags = dict.get(PDFName_js_1.default.of('P')).asNumber();
1488
+ const revision = dict.get(PDFName_js_1.default.of('R')).asNumber();
1489
+ // meaningful when V is 4 or 5
1490
+ const encryptMetadata = (algorithm === 4 || algorithm === 5) &&
1491
+ dict.get(PDFName_js_1.default.of('EncryptMetadata'))?.asBoolean() !== false;
1492
+ this.encryptMetadata = encryptMetadata;
1493
+ let passwordBytes;
1494
+ if (password) {
1495
+ if (revision === 6) {
1496
+ try {
1497
+ password = unescape(encodeURIComponent(password));
1498
+ }
1499
+ catch (ex) {
1500
+ console.warn('CipherTransformFactory: ' + 'Unable to convert UTF8 encoded password.');
1501
+ }
1502
+ }
1503
+ passwordBytes = (0, strings_1.stringAsByteArray)(password);
1504
+ }
1505
+ let encryptionKey;
1506
+ if (algorithm !== 5) {
1507
+ encryptionKey = this.prepareKeyData(fileIdBytes, passwordBytes, ownerPassword, userPassword, flags, revision, keyLength, encryptMetadata);
1508
+ }
1509
+ else {
1510
+ const ownerValidationSalt = oPdfStr.subarray(32, 40);
1511
+ const ownerKeySalt = oPdfStr.subarray(40, 48);
1512
+ const uBytes = uPdfStr.subarray(0, 48);
1513
+ const userValidationSalt = uPdfStr.subarray(32, 40);
1514
+ const userKeySalt = uPdfStr.subarray(40, 48);
1515
+ const ownerEncryption = dict.get(PDFName_js_1.default.of('OE')).asBytes();
1516
+ const userEncryption = dict.get(PDFName_js_1.default.of('UE')).asBytes();
1517
+ const perms = dict.get(PDFName_js_1.default.of('Perms')).asBytes();
1518
+ encryptionKey = this.createEncryptionKey20(revision, passwordBytes, ownerPassword, ownerValidationSalt, ownerKeySalt, uBytes, userPassword, userValidationSalt, userKeySalt, ownerEncryption, userEncryption, perms);
1519
+ }
1520
+ if (!encryptionKey && !password) {
1521
+ throw new Error('NEEDS PASSWORD');
1522
+ }
1523
+ else if (!encryptionKey && password) {
1524
+ // Attempting use the password as an owner password
1525
+ const decodedPassword = this.decodeUserPassword(passwordBytes, ownerPassword, revision, keyLength);
1526
+ encryptionKey = this.prepareKeyData(fileIdBytes, decodedPassword, ownerPassword, userPassword, flags, revision, keyLength, encryptMetadata);
1527
+ }
1528
+ if (!encryptionKey) {
1529
+ throw new Error('Password incorrect');
1530
+ }
1531
+ this.encryptionKey = encryptionKey;
1532
+ if (algorithm >= 4) {
1533
+ const cf = dict.get(PDFName_js_1.default.of('CF'));
1534
+ if (cf instanceof PDFDict_js_1.default) {
1535
+ // The 'CF' dictionary itself should not be encrypted, and by setting
1536
+ // `suppressEncryption` we can prevent an infinite loop inside of
1537
+ // `XRef_fetchUncompressed` if the dictionary contains indirect
1538
+ // objects (fixes issue7665.pdf).
1539
+ cf.suppressEncryption = true;
1540
+ }
1541
+ this.cf = cf;
1542
+ this.stmf = dict.get(PDFName_js_1.default.of('StmF')) || this.identityName;
1543
+ this.strf = dict.get(PDFName_js_1.default.of('StrF')) || this.identityName;
1544
+ this.eff = dict.get(PDFName_js_1.default.of('EFF')) || this.stmf;
1545
+ }
1546
+ }
1547
+ createCipherTransform(num, gen) {
1548
+ if (this.algorithm === 4 || this.algorithm === 5) {
1549
+ return new CipherTransform(this.buildCipherConstructor(this.cf, this.strf, num, gen, this.encryptionKey), this.buildCipherConstructor(this.cf, this.stmf, num, gen, this.encryptionKey));
1550
+ }
1551
+ // algorithms 1 and 2
1552
+ const key = this.buildObjectKey(num, gen, this.encryptionKey, /* isAes = */ false);
1553
+ const cipherConstructor = function buildCipherCipherConstructor() {
1554
+ return new ARCFourCipher(key);
1555
+ };
1556
+ return new CipherTransform(cipherConstructor, cipherConstructor);
1557
+ }
1558
+ createEncryptionKey20(revision, password, ownerPassword, ownerValidationSalt, ownerKeySalt, uBytes, userPassword, userValidationSalt, userKeySalt, ownerEncryption, userEncryption, _perms) {
1559
+ if (password) {
1560
+ const passwordLength = Math.min(127, password.length);
1561
+ password = password.subarray(0, passwordLength);
1562
+ }
1563
+ else {
1564
+ password = new Uint8Array();
1565
+ }
1566
+ let pdfAlgorithm;
1567
+ if (revision === 6) {
1568
+ pdfAlgorithm = new PDF20();
1569
+ }
1570
+ else {
1571
+ pdfAlgorithm = new PDF17();
1572
+ }
1573
+ if (pdfAlgorithm.checkUserPassword(password, userValidationSalt, userPassword)) {
1574
+ return pdfAlgorithm.getUserKey(password, userKeySalt, userEncryption);
1575
+ }
1576
+ else if (password.length &&
1577
+ pdfAlgorithm.checkOwnerPassword(password, ownerValidationSalt, uBytes, ownerPassword)) {
1578
+ return pdfAlgorithm.getOwnerKey(password, ownerKeySalt, uBytes, ownerEncryption);
1579
+ }
1580
+ return null;
1581
+ }
1582
+ prepareKeyData(fileId, password, ownerPassword, userPassword, flags, revision, keyLength, encryptMetadata) {
1583
+ const hashDataSize = 40 + ownerPassword.length + fileId.length;
1584
+ const hashData = new Uint8Array(hashDataSize);
1585
+ let i = 0, j, n;
1586
+ if (password) {
1587
+ n = Math.min(32, password.length);
1588
+ for (; i < n; ++i) {
1589
+ hashData[i] = password[i];
1590
+ }
1591
+ }
1592
+ j = 0;
1593
+ while (i < 32) {
1594
+ hashData[i++] = this.defaultPasswordBytes[j++];
1595
+ }
1596
+ // as now the padded password in the hashData[0..i]
1597
+ for (j = 0, n = ownerPassword.length; j < n; ++j) {
1598
+ hashData[i++] = ownerPassword[j];
1599
+ }
1600
+ hashData[i++] = flags & 0xff;
1601
+ hashData[i++] = (flags >> 8) & 0xff;
1602
+ hashData[i++] = (flags >> 16) & 0xff;
1603
+ hashData[i++] = (flags >>> 24) & 0xff;
1604
+ for (j = 0, n = fileId.length; j < n; ++j) {
1605
+ hashData[i++] = fileId[j];
1606
+ }
1607
+ if (revision >= 4 && !encryptMetadata) {
1608
+ hashData[i++] = 0xff;
1609
+ hashData[i++] = 0xff;
1610
+ hashData[i++] = 0xff;
1611
+ hashData[i++] = 0xff;
1612
+ }
1613
+ let hash = calculateMD5(hashData, 0, i);
1614
+ const keyLengthInBytes = keyLength >> 3;
1615
+ if (revision >= 3) {
1616
+ for (j = 0; j < 50; ++j) {
1617
+ hash = calculateMD5(hash, 0, keyLengthInBytes);
1618
+ }
1619
+ }
1620
+ const encryptionKey = hash.subarray(0, keyLengthInBytes);
1621
+ let cipher, checkData;
1622
+ if (revision >= 3) {
1623
+ for (i = 0; i < 32; ++i) {
1624
+ hashData[i] = this.defaultPasswordBytes[i];
1625
+ }
1626
+ for (j = 0, n = fileId.length; j < n; ++j) {
1627
+ hashData[i++] = fileId[j];
1628
+ }
1629
+ cipher = new ARCFourCipher(encryptionKey);
1630
+ checkData = cipher.encryptBlock(calculateMD5(hashData, 0, i));
1631
+ n = encryptionKey.length;
1632
+ const derivedKey = new Uint8Array(n);
1633
+ for (j = 1; j <= 19; ++j) {
1634
+ for (let k = 0; k < n; ++k) {
1635
+ derivedKey[k] = encryptionKey[k] ^ j;
1636
+ }
1637
+ cipher = new ARCFourCipher(derivedKey);
1638
+ checkData = cipher.encryptBlock(checkData);
1639
+ }
1640
+ for (j = 0, n = checkData.length; j < n; ++j) {
1641
+ if (userPassword[j] !== checkData[j]) {
1642
+ return null;
1643
+ }
1644
+ }
1645
+ }
1646
+ else {
1647
+ cipher = new ARCFourCipher(encryptionKey);
1648
+ checkData = cipher.encryptBlock(this.defaultPasswordBytes);
1649
+ for (j = 0, n = checkData.length; j < n; ++j) {
1650
+ if (userPassword[j] !== checkData[j]) {
1651
+ return null;
1652
+ }
1653
+ }
1654
+ }
1655
+ return encryptionKey;
1656
+ }
1657
+ decodeUserPassword(password, ownerPassword, revision, keyLength) {
1658
+ const hashData = new Uint8Array(32);
1659
+ let i = 0;
1660
+ const n = Math.min(32, password.length);
1661
+ for (; i < n; ++i) {
1662
+ hashData[i] = password[i];
1663
+ }
1664
+ let j = 0;
1665
+ while (i < 32) {
1666
+ hashData[i++] = this.defaultPasswordBytes[j++];
1667
+ }
1668
+ let hash = calculateMD5(hashData, 0, i);
1669
+ const keyLengthInBytes = keyLength >> 3;
1670
+ if (revision >= 3) {
1671
+ for (j = 0; j < 50; ++j) {
1672
+ hash = calculateMD5(hash, 0, hash.length);
1673
+ }
1674
+ }
1675
+ let cipher, userPassword;
1676
+ if (revision >= 3) {
1677
+ userPassword = ownerPassword;
1678
+ const derivedKey = new Uint8Array(keyLengthInBytes);
1679
+ for (j = 19; j >= 0; j--) {
1680
+ for (let k = 0; k < keyLengthInBytes; ++k) {
1681
+ derivedKey[k] = hash[k] ^ j;
1682
+ }
1683
+ cipher = new ARCFourCipher(derivedKey);
1684
+ userPassword = cipher.encryptBlock(userPassword);
1685
+ }
1686
+ }
1687
+ else {
1688
+ cipher = new ARCFourCipher(hash.subarray(0, keyLengthInBytes));
1689
+ userPassword = cipher.encryptBlock(ownerPassword);
1690
+ }
1691
+ return userPassword;
1692
+ }
1693
+ buildObjectKey(num, gen, encryptionKey, isAes = false) {
1694
+ const key = new Uint8Array(encryptionKey.length + 9);
1695
+ const n = encryptionKey.length;
1696
+ let i;
1697
+ for (i = 0; i < n; ++i) {
1698
+ key[i] = encryptionKey[i];
1699
+ }
1700
+ key[i++] = num & 0xff;
1701
+ key[i++] = (num >> 8) & 0xff;
1702
+ key[i++] = (num >> 16) & 0xff;
1703
+ key[i++] = gen & 0xff;
1704
+ key[i++] = (gen >> 8) & 0xff;
1705
+ if (isAes) {
1706
+ key[i++] = 0x73;
1707
+ key[i++] = 0x41;
1708
+ key[i++] = 0x6c;
1709
+ key[i++] = 0x54;
1710
+ }
1711
+ const hash = calculateMD5(key, 0, i);
1712
+ return hash.subarray(0, Math.min(encryptionKey.length + 5, 16));
1713
+ }
1714
+ buildCipherConstructor(cf, name, num, gen, key) {
1715
+ if (!(name instanceof PDFName_js_1.default)) {
1716
+ throw new Error('Invalid crypt filter name.');
1717
+ }
1718
+ const cryptFilter = cf.get(PDFName_js_1.default.of(name.asString().replace('/', '')));
1719
+ let cfm;
1720
+ if (cryptFilter !== null && cryptFilter !== undefined) {
1721
+ cfm = cryptFilter.get(PDFName_js_1.default.of('CFM'));
1722
+ }
1723
+ if (!cfm || cfm.asString() === '/None') {
1724
+ return function cipherTransformFactoryBuildCipherConstructorNone() {
1725
+ return new NullCipher();
1726
+ };
1727
+ }
1728
+ if (cfm.asString() === '/V2') {
1729
+ return () => new ARCFourCipher(this.buildObjectKey(num, gen, key, /* isAes = */ false));
1730
+ }
1731
+ if (cfm.asString() === '/AESV2') {
1732
+ return () => new AES128Cipher(this.buildObjectKey(num, gen, key, /* isAes = */ true));
1733
+ }
1734
+ if (cfm.asString() === '/AESV3') {
1735
+ return () => new AES256Cipher(key);
1736
+ }
1737
+ throw new Error('Unknown crypto method');
1738
+ }
1739
+ }
1740
+ exports.CipherTransformFactory = CipherTransformFactory;
1741
+ //# sourceMappingURL=crypto.js.map