From 495a4f82d0414a44dbc0c6b4c64e7cdc352e56ce Mon Sep 17 00:00:00 2001 From: Vinod Ganesan Date: Wed, 2 Apr 2025 15:45:02 +0530 Subject: [PATCH 01/26] Moving away from poetry and towards uv --- poetry.lock | 2116 ------------------------------------------ pyproject.toml | 49 +- requirements-dev.txt | 8 + requirements.txt | 4 + uv.lock | 8 + 5 files changed, 45 insertions(+), 2140 deletions(-) delete mode 100644 poetry.lock create mode 100644 requirements-dev.txt create mode 100644 requirements.txt create mode 100644 uv.lock diff --git a/poetry.lock b/poetry.lock deleted file mode 100644 index 01b26a5..0000000 --- a/poetry.lock +++ /dev/null @@ -1,2116 +0,0 @@ -# This file is automatically @generated by Poetry 1.8.3 and should not be changed by hand. - -[[package]] -name = "aiohappyeyeballs" -version = "2.4.6" -description = "Happy Eyeballs for asyncio" -optional = false -python-versions = ">=3.9" -files = [ - {file = "aiohappyeyeballs-2.4.6-py3-none-any.whl", hash = "sha256:147ec992cf873d74f5062644332c539fcd42956dc69453fe5204195e560517e1"}, - {file = "aiohappyeyeballs-2.4.6.tar.gz", hash = "sha256:9b05052f9042985d32ecbe4b59a77ae19c006a78f1344d7fdad69d28ded3d0b0"}, -] - -[[package]] -name = "aiohttp" -version = "3.11.12" -description = "Async http client/server framework (asyncio)" -optional = false -python-versions = ">=3.9" -files = [ - {file = "aiohttp-3.11.12-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:aa8a8caca81c0a3e765f19c6953416c58e2f4cc1b84829af01dd1c771bb2f91f"}, - {file = "aiohttp-3.11.12-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:84ede78acde96ca57f6cf8ccb8a13fbaf569f6011b9a52f870c662d4dc8cd854"}, - {file = "aiohttp-3.11.12-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:584096938a001378484aa4ee54e05dc79c7b9dd933e271c744a97b3b6f644957"}, - {file = "aiohttp-3.11.12-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:392432a2dde22b86f70dd4a0e9671a349446c93965f261dbaecfaf28813e5c42"}, - {file = "aiohttp-3.11.12-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:88d385b8e7f3a870146bf5ea31786ef7463e99eb59e31db56e2315535d811f55"}, - {file = "aiohttp-3.11.12-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b10a47e5390c4b30a0d58ee12581003be52eedd506862ab7f97da7a66805befb"}, - {file = "aiohttp-3.11.12-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0b5263dcede17b6b0c41ef0c3ccce847d82a7da98709e75cf7efde3e9e3b5cae"}, - {file = "aiohttp-3.11.12-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:50c5c7b8aa5443304c55c262c5693b108c35a3b61ef961f1e782dd52a2f559c7"}, - {file = "aiohttp-3.11.12-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d1c031a7572f62f66f1257db37ddab4cb98bfaf9b9434a3b4840bf3560f5e788"}, - {file = "aiohttp-3.11.12-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:7e44eba534381dd2687be50cbd5f2daded21575242ecfdaf86bbeecbc38dae8e"}, - {file = "aiohttp-3.11.12-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:145a73850926018ec1681e734cedcf2716d6a8697d90da11284043b745c286d5"}, - {file = "aiohttp-3.11.12-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:2c311e2f63e42c1bf86361d11e2c4a59f25d9e7aabdbdf53dc38b885c5435cdb"}, - {file = "aiohttp-3.11.12-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:ea756b5a7bac046d202a9a3889b9a92219f885481d78cd318db85b15cc0b7bcf"}, - {file = "aiohttp-3.11.12-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:526c900397f3bbc2db9cb360ce9c35134c908961cdd0ac25b1ae6ffcaa2507ff"}, - {file = "aiohttp-3.11.12-cp310-cp310-win32.whl", hash = "sha256:b8d3bb96c147b39c02d3db086899679f31958c5d81c494ef0fc9ef5bb1359b3d"}, - {file = "aiohttp-3.11.12-cp310-cp310-win_amd64.whl", hash = "sha256:7fe3d65279bfbee8de0fb4f8c17fc4e893eed2dba21b2f680e930cc2b09075c5"}, - {file = "aiohttp-3.11.12-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:87a2e00bf17da098d90d4145375f1d985a81605267e7f9377ff94e55c5d769eb"}, - {file = "aiohttp-3.11.12-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b34508f1cd928ce915ed09682d11307ba4b37d0708d1f28e5774c07a7674cac9"}, - {file = "aiohttp-3.11.12-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:936d8a4f0f7081327014742cd51d320296b56aa6d324461a13724ab05f4b2933"}, - {file = "aiohttp-3.11.12-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2de1378f72def7dfb5dbd73d86c19eda0ea7b0a6873910cc37d57e80f10d64e1"}, - {file = "aiohttp-3.11.12-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b9d45dbb3aaec05cf01525ee1a7ac72de46a8c425cb75c003acd29f76b1ffe94"}, - {file = "aiohttp-3.11.12-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:930ffa1925393381e1e0a9b82137fa7b34c92a019b521cf9f41263976666a0d6"}, - {file = "aiohttp-3.11.12-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8340def6737118f5429a5df4e88f440746b791f8f1c4ce4ad8a595f42c980bd5"}, - {file = "aiohttp-3.11.12-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4016e383f91f2814e48ed61e6bda7d24c4d7f2402c75dd28f7e1027ae44ea204"}, - {file = "aiohttp-3.11.12-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:3c0600bcc1adfaaac321422d615939ef300df81e165f6522ad096b73439c0f58"}, - {file = "aiohttp-3.11.12-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:0450ada317a65383b7cce9576096150fdb97396dcfe559109b403c7242faffef"}, - {file = "aiohttp-3.11.12-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:850ff6155371fd802a280f8d369d4e15d69434651b844bde566ce97ee2277420"}, - {file = "aiohttp-3.11.12-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:8fd12d0f989c6099e7b0f30dc6e0d1e05499f3337461f0b2b0dadea6c64b89df"}, - {file = "aiohttp-3.11.12-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:76719dd521c20a58a6c256d058547b3a9595d1d885b830013366e27011ffe804"}, - {file = "aiohttp-3.11.12-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:97fe431f2ed646a3b56142fc81d238abcbaff08548d6912acb0b19a0cadc146b"}, - {file = "aiohttp-3.11.12-cp311-cp311-win32.whl", hash = "sha256:e10c440d142fa8b32cfdb194caf60ceeceb3e49807072e0dc3a8887ea80e8c16"}, - {file = "aiohttp-3.11.12-cp311-cp311-win_amd64.whl", hash = "sha256:246067ba0cf5560cf42e775069c5d80a8989d14a7ded21af529a4e10e3e0f0e6"}, - {file = "aiohttp-3.11.12-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:e392804a38353900c3fd8b7cacbea5132888f7129f8e241915e90b85f00e3250"}, - {file = "aiohttp-3.11.12-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:8fa1510b96c08aaad49303ab11f8803787c99222288f310a62f493faf883ede1"}, - {file = "aiohttp-3.11.12-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:dc065a4285307607df3f3686363e7f8bdd0d8ab35f12226362a847731516e42c"}, - {file = "aiohttp-3.11.12-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cddb31f8474695cd61fc9455c644fc1606c164b93bff2490390d90464b4655df"}, - {file = "aiohttp-3.11.12-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9dec0000d2d8621d8015c293e24589d46fa218637d820894cb7356c77eca3259"}, - {file = "aiohttp-3.11.12-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e3552fe98e90fdf5918c04769f338a87fa4f00f3b28830ea9b78b1bdc6140e0d"}, - {file = "aiohttp-3.11.12-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6dfe7f984f28a8ae94ff3a7953cd9678550dbd2a1f9bda5dd9c5ae627744c78e"}, - {file = "aiohttp-3.11.12-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a481a574af914b6e84624412666cbfbe531a05667ca197804ecc19c97b8ab1b0"}, - {file = "aiohttp-3.11.12-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1987770fb4887560363b0e1a9b75aa303e447433c41284d3af2840a2f226d6e0"}, - {file = "aiohttp-3.11.12-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:a4ac6a0f0f6402854adca4e3259a623f5c82ec3f0c049374133bcb243132baf9"}, - {file = "aiohttp-3.11.12-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:c96a43822f1f9f69cc5c3706af33239489a6294be486a0447fb71380070d4d5f"}, - {file = "aiohttp-3.11.12-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:a5e69046f83c0d3cb8f0d5bd9b8838271b1bc898e01562a04398e160953e8eb9"}, - {file = "aiohttp-3.11.12-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:68d54234c8d76d8ef74744f9f9fc6324f1508129e23da8883771cdbb5818cbef"}, - {file = "aiohttp-3.11.12-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:c9fd9dcf9c91affe71654ef77426f5cf8489305e1c66ed4816f5a21874b094b9"}, - {file = "aiohttp-3.11.12-cp312-cp312-win32.whl", hash = "sha256:0ed49efcd0dc1611378beadbd97beb5d9ca8fe48579fc04a6ed0844072261b6a"}, - {file = "aiohttp-3.11.12-cp312-cp312-win_amd64.whl", hash = "sha256:54775858c7f2f214476773ce785a19ee81d1294a6bedc5cc17225355aab74802"}, - {file = "aiohttp-3.11.12-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:413ad794dccb19453e2b97c2375f2ca3cdf34dc50d18cc2693bd5aed7d16f4b9"}, - {file = "aiohttp-3.11.12-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:4a93d28ed4b4b39e6f46fd240896c29b686b75e39cc6992692e3922ff6982b4c"}, - {file = "aiohttp-3.11.12-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:d589264dbba3b16e8951b6f145d1e6b883094075283dafcab4cdd564a9e353a0"}, - {file = "aiohttp-3.11.12-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e5148ca8955affdfeb864aca158ecae11030e952b25b3ae15d4e2b5ba299bad2"}, - {file = "aiohttp-3.11.12-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:525410e0790aab036492eeea913858989c4cb070ff373ec3bc322d700bdf47c1"}, - {file = "aiohttp-3.11.12-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9bd8695be2c80b665ae3f05cb584093a1e59c35ecb7d794d1edd96e8cc9201d7"}, - {file = "aiohttp-3.11.12-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f0203433121484b32646a5f5ea93ae86f3d9559d7243f07e8c0eab5ff8e3f70e"}, - {file = "aiohttp-3.11.12-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:40cd36749a1035c34ba8d8aaf221b91ca3d111532e5ccb5fa8c3703ab1b967ed"}, - {file = "aiohttp-3.11.12-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a7442662afebbf7b4c6d28cb7aab9e9ce3a5df055fc4116cc7228192ad6cb484"}, - {file = "aiohttp-3.11.12-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:8a2fb742ef378284a50766e985804bd6adb5adb5aa781100b09befdbfa757b65"}, - {file = "aiohttp-3.11.12-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:2cee3b117a8d13ab98b38d5b6bdcd040cfb4181068d05ce0c474ec9db5f3c5bb"}, - {file = "aiohttp-3.11.12-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:f6a19bcab7fbd8f8649d6595624856635159a6527861b9cdc3447af288a00c00"}, - {file = "aiohttp-3.11.12-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:e4cecdb52aaa9994fbed6b81d4568427b6002f0a91c322697a4bfcc2b2363f5a"}, - {file = "aiohttp-3.11.12-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:30f546358dfa0953db92ba620101fefc81574f87b2346556b90b5f3ef16e55ce"}, - {file = "aiohttp-3.11.12-cp313-cp313-win32.whl", hash = "sha256:ce1bb21fc7d753b5f8a5d5a4bae99566386b15e716ebdb410154c16c91494d7f"}, - {file = "aiohttp-3.11.12-cp313-cp313-win_amd64.whl", hash = "sha256:f7914ab70d2ee8ab91c13e5402122edbc77821c66d2758abb53aabe87f013287"}, - {file = "aiohttp-3.11.12-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:7c3623053b85b4296cd3925eeb725e386644fd5bc67250b3bb08b0f144803e7b"}, - {file = "aiohttp-3.11.12-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:67453e603cea8e85ed566b2700efa1f6916aefbc0c9fcb2e86aaffc08ec38e78"}, - {file = "aiohttp-3.11.12-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:6130459189e61baac5a88c10019b21e1f0c6d00ebc770e9ce269475650ff7f73"}, - {file = "aiohttp-3.11.12-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9060addfa4ff753b09392efe41e6af06ea5dd257829199747b9f15bfad819460"}, - {file = "aiohttp-3.11.12-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:34245498eeb9ae54c687a07ad7f160053911b5745e186afe2d0c0f2898a1ab8a"}, - {file = "aiohttp-3.11.12-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8dc0fba9a74b471c45ca1a3cb6e6913ebfae416678d90529d188886278e7f3f6"}, - {file = "aiohttp-3.11.12-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a478aa11b328983c4444dacb947d4513cb371cd323f3845e53caeda6be5589d5"}, - {file = "aiohttp-3.11.12-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c160a04283c8c6f55b5bf6d4cad59bb9c5b9c9cd08903841b25f1f7109ef1259"}, - {file = "aiohttp-3.11.12-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:edb69b9589324bdc40961cdf0657815df674f1743a8d5ad9ab56a99e4833cfdd"}, - {file = "aiohttp-3.11.12-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:4ee84c2a22a809c4f868153b178fe59e71423e1f3d6a8cd416134bb231fbf6d3"}, - {file = "aiohttp-3.11.12-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:bf4480a5438f80e0f1539e15a7eb8b5f97a26fe087e9828e2c0ec2be119a9f72"}, - {file = "aiohttp-3.11.12-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:e6b2732ef3bafc759f653a98881b5b9cdef0716d98f013d376ee8dfd7285abf1"}, - {file = "aiohttp-3.11.12-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:f752e80606b132140883bb262a457c475d219d7163d996dc9072434ffb0784c4"}, - {file = "aiohttp-3.11.12-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:ab3247d58b393bda5b1c8f31c9edece7162fc13265334217785518dd770792b8"}, - {file = "aiohttp-3.11.12-cp39-cp39-win32.whl", hash = "sha256:0d5176f310a7fe6f65608213cc74f4228e4f4ce9fd10bcb2bb6da8fc66991462"}, - {file = "aiohttp-3.11.12-cp39-cp39-win_amd64.whl", hash = "sha256:74bd573dde27e58c760d9ca8615c41a57e719bff315c9adb6f2a4281a28e8798"}, - {file = "aiohttp-3.11.12.tar.gz", hash = "sha256:7603ca26d75b1b86160ce1bbe2787a0b706e592af5b2504e12caa88a217767b0"}, -] - -[package.dependencies] -aiohappyeyeballs = ">=2.3.0" -aiosignal = ">=1.1.2" -async-timeout = {version = ">=4.0,<6.0", markers = "python_version < \"3.11\""} -attrs = ">=17.3.0" -frozenlist = ">=1.1.1" -multidict = ">=4.5,<7.0" -propcache = ">=0.2.0" -yarl = ">=1.17.0,<2.0" - -[package.extras] -speedups = ["Brotli", "aiodns (>=3.2.0)", "brotlicffi"] - -[[package]] -name = "aiosignal" -version = "1.3.2" -description = "aiosignal: a list of registered asynchronous callbacks" -optional = false -python-versions = ">=3.9" -files = [ - {file = "aiosignal-1.3.2-py2.py3-none-any.whl", hash = "sha256:45cde58e409a301715980c2b01d0c28bdde3770d8290b5eb2173759d9acb31a5"}, - {file = "aiosignal-1.3.2.tar.gz", hash = "sha256:a8c255c66fafb1e499c9351d0bf32ff2d8a0321595ebac3b93713656d2436f54"}, -] - -[package.dependencies] -frozenlist = ">=1.1.0" - -[[package]] -name = "annotated-types" -version = "0.7.0" -description = "Reusable constraint types to use with typing.Annotated" -optional = false -python-versions = ">=3.8" -files = [ - {file = "annotated_types-0.7.0-py3-none-any.whl", hash = "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53"}, - {file = "annotated_types-0.7.0.tar.gz", hash = "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89"}, -] - -[[package]] -name = "async-timeout" -version = "5.0.1" -description = "Timeout context manager for asyncio programs" -optional = false -python-versions = ">=3.8" -files = [ - {file = "async_timeout-5.0.1-py3-none-any.whl", hash = "sha256:39e3809566ff85354557ec2398b55e096c8364bacac9405a7a1fa429e77fe76c"}, - {file = "async_timeout-5.0.1.tar.gz", hash = "sha256:d9321a7a3d5a6a5e187e824d2fa0793ce379a202935782d555d6e9d2735677d3"}, -] - -[[package]] -name = "attrs" -version = "25.1.0" -description = "Classes Without Boilerplate" -optional = false -python-versions = ">=3.8" -files = [ - {file = "attrs-25.1.0-py3-none-any.whl", hash = "sha256:c75a69e28a550a7e93789579c22aa26b0f5b83b75dc4e08fe092980051e1090a"}, - {file = "attrs-25.1.0.tar.gz", hash = "sha256:1c97078a80c814273a76b2a298a932eb681c87415c11dee0a6921de7f1b02c3e"}, -] - -[package.extras] -benchmark = ["cloudpickle", "hypothesis", "mypy (>=1.11.1)", "pympler", "pytest (>=4.3.0)", "pytest-codspeed", "pytest-mypy-plugins", "pytest-xdist[psutil]"] -cov = ["cloudpickle", "coverage[toml] (>=5.3)", "hypothesis", "mypy (>=1.11.1)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] -dev = ["cloudpickle", "hypothesis", "mypy (>=1.11.1)", "pre-commit-uv", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] -docs = ["cogapp", "furo", "myst-parser", "sphinx", "sphinx-notfound-page", "sphinxcontrib-towncrier", "towncrier (<24.7)"] -tests = ["cloudpickle", "hypothesis", "mypy (>=1.11.1)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] -tests-mypy = ["mypy (>=1.11.1)", "pytest-mypy-plugins"] - -[[package]] -name = "certifi" -version = "2025.1.31" -description = "Python package for providing Mozilla's CA Bundle." -optional = false -python-versions = ">=3.6" -files = [ - {file = "certifi-2025.1.31-py3-none-any.whl", hash = "sha256:ca78db4565a652026a4db2bcdf68f2fb589ea80d0be70e03929ed730746b84fe"}, - {file = "certifi-2025.1.31.tar.gz", hash = "sha256:3d5da6925056f6f18f119200434a4780a94263f10d1c21d032a6f6b2baa20651"}, -] - -[[package]] -name = "cffi" -version = "1.17.1" -description = "Foreign Function Interface for Python calling C code." -optional = false -python-versions = ">=3.8" -files = [ - {file = "cffi-1.17.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:df8b1c11f177bc2313ec4b2d46baec87a5f3e71fc8b45dab2ee7cae86d9aba14"}, - {file = "cffi-1.17.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8f2cdc858323644ab277e9bb925ad72ae0e67f69e804f4898c070998d50b1a67"}, - {file = "cffi-1.17.1-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:edae79245293e15384b51f88b00613ba9f7198016a5948b5dddf4917d4d26382"}, - {file = "cffi-1.17.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:45398b671ac6d70e67da8e4224a065cec6a93541bb7aebe1b198a61b58c7b702"}, - {file = "cffi-1.17.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ad9413ccdeda48c5afdae7e4fa2192157e991ff761e7ab8fdd8926f40b160cc3"}, - {file = "cffi-1.17.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5da5719280082ac6bd9aa7becb3938dc9f9cbd57fac7d2871717b1feb0902ab6"}, - {file = "cffi-1.17.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2bb1a08b8008b281856e5971307cc386a8e9c5b625ac297e853d36da6efe9c17"}, - {file = "cffi-1.17.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:045d61c734659cc045141be4bae381a41d89b741f795af1dd018bfb532fd0df8"}, - {file = "cffi-1.17.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:6883e737d7d9e4899a8a695e00ec36bd4e5e4f18fabe0aca0efe0a4b44cdb13e"}, - {file = "cffi-1.17.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:6b8b4a92e1c65048ff98cfe1f735ef8f1ceb72e3d5f0c25fdb12087a23da22be"}, - {file = "cffi-1.17.1-cp310-cp310-win32.whl", hash = "sha256:c9c3d058ebabb74db66e431095118094d06abf53284d9c81f27300d0e0d8bc7c"}, - {file = "cffi-1.17.1-cp310-cp310-win_amd64.whl", hash = "sha256:0f048dcf80db46f0098ccac01132761580d28e28bc0f78ae0d58048063317e15"}, - {file = "cffi-1.17.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a45e3c6913c5b87b3ff120dcdc03f6131fa0065027d0ed7ee6190736a74cd401"}, - {file = "cffi-1.17.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:30c5e0cb5ae493c04c8b42916e52ca38079f1b235c2f8ae5f4527b963c401caf"}, - {file = "cffi-1.17.1-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f75c7ab1f9e4aca5414ed4d8e5c0e303a34f4421f8a0d47a4d019ceff0ab6af4"}, - {file = "cffi-1.17.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a1ed2dd2972641495a3ec98445e09766f077aee98a1c896dcb4ad0d303628e41"}, - {file = "cffi-1.17.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:46bf43160c1a35f7ec506d254e5c890f3c03648a4dbac12d624e4490a7046cd1"}, - {file = "cffi-1.17.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a24ed04c8ffd54b0729c07cee15a81d964e6fee0e3d4d342a27b020d22959dc6"}, - {file = "cffi-1.17.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:610faea79c43e44c71e1ec53a554553fa22321b65fae24889706c0a84d4ad86d"}, - {file = "cffi-1.17.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:a9b15d491f3ad5d692e11f6b71f7857e7835eb677955c00cc0aefcd0669adaf6"}, - {file = "cffi-1.17.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:de2ea4b5833625383e464549fec1bc395c1bdeeb5f25c4a3a82b5a8c756ec22f"}, - {file = "cffi-1.17.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:fc48c783f9c87e60831201f2cce7f3b2e4846bf4d8728eabe54d60700b318a0b"}, - {file = "cffi-1.17.1-cp311-cp311-win32.whl", hash = "sha256:85a950a4ac9c359340d5963966e3e0a94a676bd6245a4b55bc43949eee26a655"}, - {file = "cffi-1.17.1-cp311-cp311-win_amd64.whl", hash = "sha256:caaf0640ef5f5517f49bc275eca1406b0ffa6aa184892812030f04c2abf589a0"}, - {file = "cffi-1.17.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:805b4371bf7197c329fcb3ead37e710d1bca9da5d583f5073b799d5c5bd1eee4"}, - {file = "cffi-1.17.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:733e99bc2df47476e3848417c5a4540522f234dfd4ef3ab7fafdf555b082ec0c"}, - {file = "cffi-1.17.1-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1257bdabf294dceb59f5e70c64a3e2f462c30c7ad68092d01bbbfb1c16b1ba36"}, - {file = "cffi-1.17.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da95af8214998d77a98cc14e3a3bd00aa191526343078b530ceb0bd710fb48a5"}, - {file = "cffi-1.17.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d63afe322132c194cf832bfec0dc69a99fb9bb6bbd550f161a49e9e855cc78ff"}, - {file = "cffi-1.17.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f79fc4fc25f1c8698ff97788206bb3c2598949bfe0fef03d299eb1b5356ada99"}, - {file = "cffi-1.17.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b62ce867176a75d03a665bad002af8e6d54644fad99a3c70905c543130e39d93"}, - {file = "cffi-1.17.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:386c8bf53c502fff58903061338ce4f4950cbdcb23e2902d86c0f722b786bbe3"}, - {file = "cffi-1.17.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4ceb10419a9adf4460ea14cfd6bc43d08701f0835e979bf821052f1805850fe8"}, - {file = "cffi-1.17.1-cp312-cp312-win32.whl", hash = "sha256:a08d7e755f8ed21095a310a693525137cfe756ce62d066e53f502a83dc550f65"}, - {file = "cffi-1.17.1-cp312-cp312-win_amd64.whl", hash = "sha256:51392eae71afec0d0c8fb1a53b204dbb3bcabcb3c9b807eedf3e1e6ccf2de903"}, - {file = "cffi-1.17.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f3a2b4222ce6b60e2e8b337bb9596923045681d71e5a082783484d845390938e"}, - {file = "cffi-1.17.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0984a4925a435b1da406122d4d7968dd861c1385afe3b45ba82b750f229811e2"}, - {file = "cffi-1.17.1-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d01b12eeeb4427d3110de311e1774046ad344f5b1a7403101878976ecd7a10f3"}, - {file = "cffi-1.17.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:706510fe141c86a69c8ddc029c7910003a17353970cff3b904ff0686a5927683"}, - {file = "cffi-1.17.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:de55b766c7aa2e2a3092c51e0483d700341182f08e67c63630d5b6f200bb28e5"}, - {file = "cffi-1.17.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c59d6e989d07460165cc5ad3c61f9fd8f1b4796eacbd81cee78957842b834af4"}, - {file = "cffi-1.17.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd398dbc6773384a17fe0d3e7eeb8d1a21c2200473ee6806bb5e6a8e62bb73dd"}, - {file = "cffi-1.17.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:3edc8d958eb099c634dace3c7e16560ae474aa3803a5df240542b305d14e14ed"}, - {file = "cffi-1.17.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:72e72408cad3d5419375fc87d289076ee319835bdfa2caad331e377589aebba9"}, - {file = "cffi-1.17.1-cp313-cp313-win32.whl", hash = "sha256:e03eab0a8677fa80d646b5ddece1cbeaf556c313dcfac435ba11f107ba117b5d"}, - {file = "cffi-1.17.1-cp313-cp313-win_amd64.whl", hash = "sha256:f6a16c31041f09ead72d69f583767292f750d24913dadacf5756b966aacb3f1a"}, - {file = "cffi-1.17.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:636062ea65bd0195bc012fea9321aca499c0504409f413dc88af450b57ffd03b"}, - {file = "cffi-1.17.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c7eac2ef9b63c79431bc4b25f1cd649d7f061a28808cbc6c47b534bd789ef964"}, - {file = "cffi-1.17.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e221cf152cff04059d011ee126477f0d9588303eb57e88923578ace7baad17f9"}, - {file = "cffi-1.17.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:31000ec67d4221a71bd3f67df918b1f88f676f1c3b535a7eb473255fdc0b83fc"}, - {file = "cffi-1.17.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6f17be4345073b0a7b8ea599688f692ac3ef23ce28e5df79c04de519dbc4912c"}, - {file = "cffi-1.17.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0e2b1fac190ae3ebfe37b979cc1ce69c81f4e4fe5746bb401dca63a9062cdaf1"}, - {file = "cffi-1.17.1-cp38-cp38-win32.whl", hash = "sha256:7596d6620d3fa590f677e9ee430df2958d2d6d6de2feeae5b20e82c00b76fbf8"}, - {file = "cffi-1.17.1-cp38-cp38-win_amd64.whl", hash = "sha256:78122be759c3f8a014ce010908ae03364d00a1f81ab5c7f4a7a5120607ea56e1"}, - {file = "cffi-1.17.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b2ab587605f4ba0bf81dc0cb08a41bd1c0a5906bd59243d56bad7668a6fc6c16"}, - {file = "cffi-1.17.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:28b16024becceed8c6dfbc75629e27788d8a3f9030691a1dbf9821a128b22c36"}, - {file = "cffi-1.17.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1d599671f396c4723d016dbddb72fe8e0397082b0a77a4fab8028923bec050e8"}, - {file = "cffi-1.17.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ca74b8dbe6e8e8263c0ffd60277de77dcee6c837a3d0881d8c1ead7268c9e576"}, - {file = "cffi-1.17.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f7f5baafcc48261359e14bcd6d9bff6d4b28d9103847c9e136694cb0501aef87"}, - {file = "cffi-1.17.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:98e3969bcff97cae1b2def8ba499ea3d6f31ddfdb7635374834cf89a1a08ecf0"}, - {file = "cffi-1.17.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cdf5ce3acdfd1661132f2a9c19cac174758dc2352bfe37d98aa7512c6b7178b3"}, - {file = "cffi-1.17.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:9755e4345d1ec879e3849e62222a18c7174d65a6a92d5b346b1863912168b595"}, - {file = "cffi-1.17.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:f1e22e8c4419538cb197e4dd60acc919d7696e5ef98ee4da4e01d3f8cfa4cc5a"}, - {file = "cffi-1.17.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:c03e868a0b3bc35839ba98e74211ed2b05d2119be4e8a0f224fba9384f1fe02e"}, - {file = "cffi-1.17.1-cp39-cp39-win32.whl", hash = "sha256:e31ae45bc2e29f6b2abd0de1cc3b9d5205aa847cafaecb8af1476a609a2f6eb7"}, - {file = "cffi-1.17.1-cp39-cp39-win_amd64.whl", hash = "sha256:d016c76bdd850f3c626af19b0542c9677ba156e4ee4fccfdd7848803533ef662"}, - {file = "cffi-1.17.1.tar.gz", hash = "sha256:1c39c6016c32bc48dd54561950ebd6836e1670f2ae46128f67cf49e789c52824"}, -] - -[package.dependencies] -pycparser = "*" - -[[package]] -name = "charset-normalizer" -version = "3.4.1" -description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." -optional = false -python-versions = ">=3.7" -files = [ - {file = "charset_normalizer-3.4.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:91b36a978b5ae0ee86c394f5a54d6ef44db1de0815eb43de826d41d21e4af3de"}, - {file = "charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7461baadb4dc00fd9e0acbe254e3d7d2112e7f92ced2adc96e54ef6501c5f176"}, - {file = "charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e218488cd232553829be0664c2292d3af2eeeb94b32bea483cf79ac6a694e037"}, - {file = "charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:80ed5e856eb7f30115aaf94e4a08114ccc8813e6ed1b5efa74f9f82e8509858f"}, - {file = "charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b010a7a4fd316c3c484d482922d13044979e78d1861f0e0650423144c616a46a"}, - {file = "charset_normalizer-3.4.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4532bff1b8421fd0a320463030c7520f56a79c9024a4e88f01c537316019005a"}, - {file = "charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d973f03c0cb71c5ed99037b870f2be986c3c05e63622c017ea9816881d2dd247"}, - {file = "charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:3a3bd0dcd373514dcec91c411ddb9632c0d7d92aed7093b8c3bbb6d69ca74408"}, - {file = "charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:d9c3cdf5390dcd29aa8056d13e8e99526cda0305acc038b96b30352aff5ff2bb"}, - {file = "charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:2bdfe3ac2e1bbe5b59a1a63721eb3b95fc9b6817ae4a46debbb4e11f6232428d"}, - {file = "charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:eab677309cdb30d047996b36d34caeda1dc91149e4fdca0b1a039b3f79d9a807"}, - {file = "charset_normalizer-3.4.1-cp310-cp310-win32.whl", hash = "sha256:c0429126cf75e16c4f0ad00ee0eae4242dc652290f940152ca8c75c3a4b6ee8f"}, - {file = "charset_normalizer-3.4.1-cp310-cp310-win_amd64.whl", hash = "sha256:9f0b8b1c6d84c8034a44893aba5e767bf9c7a211e313a9605d9c617d7083829f"}, - {file = "charset_normalizer-3.4.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:8bfa33f4f2672964266e940dd22a195989ba31669bd84629f05fab3ef4e2d125"}, - {file = "charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:28bf57629c75e810b6ae989f03c0828d64d6b26a5e205535585f96093e405ed1"}, - {file = "charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f08ff5e948271dc7e18a35641d2f11a4cd8dfd5634f55228b691e62b37125eb3"}, - {file = "charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:234ac59ea147c59ee4da87a0c0f098e9c8d169f4dc2a159ef720f1a61bbe27cd"}, - {file = "charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd4ec41f914fa74ad1b8304bbc634b3de73d2a0889bd32076342a573e0779e00"}, - {file = "charset_normalizer-3.4.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eea6ee1db730b3483adf394ea72f808b6e18cf3cb6454b4d86e04fa8c4327a12"}, - {file = "charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c96836c97b1238e9c9e3fe90844c947d5afbf4f4c92762679acfe19927d81d77"}, - {file = "charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:4d86f7aff21ee58f26dcf5ae81a9addbd914115cdebcbb2217e4f0ed8982e146"}, - {file = "charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:09b5e6733cbd160dcc09589227187e242a30a49ca5cefa5a7edd3f9d19ed53fd"}, - {file = "charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:5777ee0881f9499ed0f71cc82cf873d9a0ca8af166dfa0af8ec4e675b7df48e6"}, - {file = "charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:237bdbe6159cff53b4f24f397d43c6336c6b0b42affbe857970cefbb620911c8"}, - {file = "charset_normalizer-3.4.1-cp311-cp311-win32.whl", hash = "sha256:8417cb1f36cc0bc7eaba8ccb0e04d55f0ee52df06df3ad55259b9a323555fc8b"}, - {file = "charset_normalizer-3.4.1-cp311-cp311-win_amd64.whl", hash = "sha256:d7f50a1f8c450f3925cb367d011448c39239bb3eb4117c36a6d354794de4ce76"}, - {file = "charset_normalizer-3.4.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:73d94b58ec7fecbc7366247d3b0b10a21681004153238750bb67bd9012414545"}, - {file = "charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dad3e487649f498dd991eeb901125411559b22e8d7ab25d3aeb1af367df5efd7"}, - {file = "charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c30197aa96e8eed02200a83fba2657b4c3acd0f0aa4bdc9f6c1af8e8962e0757"}, - {file = "charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2369eea1ee4a7610a860d88f268eb39b95cb588acd7235e02fd5a5601773d4fa"}, - {file = "charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc2722592d8998c870fa4e290c2eec2c1569b87fe58618e67d38b4665dfa680d"}, - {file = "charset_normalizer-3.4.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffc9202a29ab3920fa812879e95a9e78b2465fd10be7fcbd042899695d75e616"}, - {file = "charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:804a4d582ba6e5b747c625bf1255e6b1507465494a40a2130978bda7b932c90b"}, - {file = "charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:0f55e69f030f7163dffe9fd0752b32f070566451afe180f99dbeeb81f511ad8d"}, - {file = "charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:c4c3e6da02df6fa1410a7680bd3f63d4f710232d3139089536310d027950696a"}, - {file = "charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:5df196eb874dae23dcfb968c83d4f8fdccb333330fe1fc278ac5ceeb101003a9"}, - {file = "charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e358e64305fe12299a08e08978f51fc21fac060dcfcddd95453eabe5b93ed0e1"}, - {file = "charset_normalizer-3.4.1-cp312-cp312-win32.whl", hash = "sha256:9b23ca7ef998bc739bf6ffc077c2116917eabcc901f88da1b9856b210ef63f35"}, - {file = "charset_normalizer-3.4.1-cp312-cp312-win_amd64.whl", hash = "sha256:6ff8a4a60c227ad87030d76e99cd1698345d4491638dfa6673027c48b3cd395f"}, - {file = "charset_normalizer-3.4.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:aabfa34badd18f1da5ec1bc2715cadc8dca465868a4e73a0173466b688f29dda"}, - {file = "charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22e14b5d70560b8dd51ec22863f370d1e595ac3d024cb8ad7d308b4cd95f8313"}, - {file = "charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8436c508b408b82d87dc5f62496973a1805cd46727c34440b0d29d8a2f50a6c9"}, - {file = "charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2d074908e1aecee37a7635990b2c6d504cd4766c7bc9fc86d63f9c09af3fa11b"}, - {file = "charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:955f8851919303c92343d2f66165294848d57e9bba6cf6e3625485a70a038d11"}, - {file = "charset_normalizer-3.4.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:44ecbf16649486d4aebafeaa7ec4c9fed8b88101f4dd612dcaf65d5e815f837f"}, - {file = "charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:0924e81d3d5e70f8126529951dac65c1010cdf117bb75eb02dd12339b57749dd"}, - {file = "charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:2967f74ad52c3b98de4c3b32e1a44e32975e008a9cd2a8cc8966d6a5218c5cb2"}, - {file = "charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:c75cb2a3e389853835e84a2d8fb2b81a10645b503eca9bcb98df6b5a43eb8886"}, - {file = "charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:09b26ae6b1abf0d27570633b2b078a2a20419c99d66fb2823173d73f188ce601"}, - {file = "charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:fa88b843d6e211393a37219e6a1c1df99d35e8fd90446f1118f4216e307e48cd"}, - {file = "charset_normalizer-3.4.1-cp313-cp313-win32.whl", hash = "sha256:eb8178fe3dba6450a3e024e95ac49ed3400e506fd4e9e5c32d30adda88cbd407"}, - {file = "charset_normalizer-3.4.1-cp313-cp313-win_amd64.whl", hash = "sha256:b1ac5992a838106edb89654e0aebfc24f5848ae2547d22c2c3f66454daa11971"}, - {file = "charset_normalizer-3.4.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f30bf9fd9be89ecb2360c7d94a711f00c09b976258846efe40db3d05828e8089"}, - {file = "charset_normalizer-3.4.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:97f68b8d6831127e4787ad15e6757232e14e12060bec17091b85eb1486b91d8d"}, - {file = "charset_normalizer-3.4.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7974a0b5ecd505609e3b19742b60cee7aa2aa2fb3151bc917e6e2646d7667dcf"}, - {file = "charset_normalizer-3.4.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fc54db6c8593ef7d4b2a331b58653356cf04f67c960f584edb7c3d8c97e8f39e"}, - {file = "charset_normalizer-3.4.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:311f30128d7d333eebd7896965bfcfbd0065f1716ec92bd5638d7748eb6f936a"}, - {file = "charset_normalizer-3.4.1-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:7d053096f67cd1241601111b698f5cad775f97ab25d81567d3f59219b5f1adbd"}, - {file = "charset_normalizer-3.4.1-cp37-cp37m-musllinux_1_2_i686.whl", hash = "sha256:807f52c1f798eef6cf26beb819eeb8819b1622ddfeef9d0977a8502d4db6d534"}, - {file = "charset_normalizer-3.4.1-cp37-cp37m-musllinux_1_2_ppc64le.whl", hash = "sha256:dccbe65bd2f7f7ec22c4ff99ed56faa1e9f785482b9bbd7c717e26fd723a1d1e"}, - {file = "charset_normalizer-3.4.1-cp37-cp37m-musllinux_1_2_s390x.whl", hash = "sha256:2fb9bd477fdea8684f78791a6de97a953c51831ee2981f8e4f583ff3b9d9687e"}, - {file = "charset_normalizer-3.4.1-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:01732659ba9b5b873fc117534143e4feefecf3b2078b0a6a2e925271bb6f4cfa"}, - {file = "charset_normalizer-3.4.1-cp37-cp37m-win32.whl", hash = "sha256:7a4f97a081603d2050bfaffdefa5b02a9ec823f8348a572e39032caa8404a487"}, - {file = "charset_normalizer-3.4.1-cp37-cp37m-win_amd64.whl", hash = "sha256:7b1bef6280950ee6c177b326508f86cad7ad4dff12454483b51d8b7d673a2c5d"}, - {file = "charset_normalizer-3.4.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:ecddf25bee22fe4fe3737a399d0d177d72bc22be6913acfab364b40bce1ba83c"}, - {file = "charset_normalizer-3.4.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8c60ca7339acd497a55b0ea5d506b2a2612afb2826560416f6894e8b5770d4a9"}, - {file = "charset_normalizer-3.4.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b7b2d86dd06bfc2ade3312a83a5c364c7ec2e3498f8734282c6c3d4b07b346b8"}, - {file = "charset_normalizer-3.4.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dd78cfcda14a1ef52584dbb008f7ac81c1328c0f58184bf9a84c49c605002da6"}, - {file = "charset_normalizer-3.4.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6e27f48bcd0957c6d4cb9d6fa6b61d192d0b13d5ef563e5f2ae35feafc0d179c"}, - {file = "charset_normalizer-3.4.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:01ad647cdd609225c5350561d084b42ddf732f4eeefe6e678765636791e78b9a"}, - {file = "charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:619a609aa74ae43d90ed2e89bdd784765de0a25ca761b93e196d938b8fd1dbbd"}, - {file = "charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:89149166622f4db9b4b6a449256291dc87a99ee53151c74cbd82a53c8c2f6ccd"}, - {file = "charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:7709f51f5f7c853f0fb938bcd3bc59cdfdc5203635ffd18bf354f6967ea0f824"}, - {file = "charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:345b0426edd4e18138d6528aed636de7a9ed169b4aaf9d61a8c19e39d26838ca"}, - {file = "charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:0907f11d019260cdc3f94fbdb23ff9125f6b5d1039b76003b5b0ac9d6a6c9d5b"}, - {file = "charset_normalizer-3.4.1-cp38-cp38-win32.whl", hash = "sha256:ea0d8d539afa5eb2728aa1932a988a9a7af94f18582ffae4bc10b3fbdad0626e"}, - {file = "charset_normalizer-3.4.1-cp38-cp38-win_amd64.whl", hash = "sha256:329ce159e82018d646c7ac45b01a430369d526569ec08516081727a20e9e4af4"}, - {file = "charset_normalizer-3.4.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:b97e690a2118911e39b4042088092771b4ae3fc3aa86518f84b8cf6888dbdb41"}, - {file = "charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:78baa6d91634dfb69ec52a463534bc0df05dbd546209b79a3880a34487f4b84f"}, - {file = "charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1a2bc9f351a75ef49d664206d51f8e5ede9da246602dc2d2726837620ea034b2"}, - {file = "charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:75832c08354f595c760a804588b9357d34ec00ba1c940c15e31e96d902093770"}, - {file = "charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0af291f4fe114be0280cdd29d533696a77b5b49cfde5467176ecab32353395c4"}, - {file = "charset_normalizer-3.4.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0167ddc8ab6508fe81860a57dd472b2ef4060e8d378f0cc555707126830f2537"}, - {file = "charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:2a75d49014d118e4198bcee5ee0a6f25856b29b12dbf7cd012791f8a6cc5c496"}, - {file = "charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:363e2f92b0f0174b2f8238240a1a30142e3db7b957a5dd5689b0e75fb717cc78"}, - {file = "charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:ab36c8eb7e454e34e60eb55ca5d241a5d18b2c6244f6827a30e451c42410b5f7"}, - {file = "charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:4c0907b1928a36d5a998d72d64d8eaa7244989f7aaaf947500d3a800c83a3fd6"}, - {file = "charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:04432ad9479fa40ec0f387795ddad4437a2b50417c69fa275e212933519ff294"}, - {file = "charset_normalizer-3.4.1-cp39-cp39-win32.whl", hash = "sha256:3bed14e9c89dcb10e8f3a29f9ccac4955aebe93c71ae803af79265c9ca5644c5"}, - {file = "charset_normalizer-3.4.1-cp39-cp39-win_amd64.whl", hash = "sha256:49402233c892a461407c512a19435d1ce275543138294f7ef013f0b63d5d3765"}, - {file = "charset_normalizer-3.4.1-py3-none-any.whl", hash = "sha256:d98b1668f06378c6dbefec3b92299716b931cd4e6061f3c875a71ced1780ab85"}, - {file = "charset_normalizer-3.4.1.tar.gz", hash = "sha256:44251f18cd68a75b56585dd00dae26183e102cd5e0f9f1466e6df5da2ed64ea3"}, -] - -[[package]] -name = "click" -version = "8.1.8" -description = "Composable command line interface toolkit" -optional = false -python-versions = ">=3.7" -files = [ - {file = "click-8.1.8-py3-none-any.whl", hash = "sha256:63c132bbbed01578a06712a2d1f497bb62d9c1c0d329b7903a866228027263b2"}, - {file = "click-8.1.8.tar.gz", hash = "sha256:ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a"}, -] - -[package.dependencies] -colorama = {version = "*", markers = "platform_system == \"Windows\""} - -[[package]] -name = "colorama" -version = "0.4.6" -description = "Cross-platform colored terminal text." -optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" -files = [ - {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, - {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, -] - -[[package]] -name = "cryptography" -version = "44.0.1" -description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers." -optional = false -python-versions = "!=3.9.0,!=3.9.1,>=3.7" -files = [ - {file = "cryptography-44.0.1-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:bf688f615c29bfe9dfc44312ca470989279f0e94bb9f631f85e3459af8efc009"}, - {file = "cryptography-44.0.1-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dd7c7e2d71d908dc0f8d2027e1604102140d84b155e658c20e8ad1304317691f"}, - {file = "cryptography-44.0.1-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:887143b9ff6bad2b7570da75a7fe8bbf5f65276365ac259a5d2d5147a73775f2"}, - {file = "cryptography-44.0.1-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:322eb03ecc62784536bc173f1483e76747aafeb69c8728df48537eb431cd1911"}, - {file = "cryptography-44.0.1-cp37-abi3-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:21377472ca4ada2906bc313168c9dc7b1d7ca417b63c1c3011d0c74b7de9ae69"}, - {file = "cryptography-44.0.1-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:df978682c1504fc93b3209de21aeabf2375cb1571d4e61907b3e7a2540e83026"}, - {file = "cryptography-44.0.1-cp37-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:eb3889330f2a4a148abead555399ec9a32b13b7c8ba969b72d8e500eb7ef84cd"}, - {file = "cryptography-44.0.1-cp37-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:8e6a85a93d0642bd774460a86513c5d9d80b5c002ca9693e63f6e540f1815ed0"}, - {file = "cryptography-44.0.1-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:6f76fdd6fd048576a04c5210d53aa04ca34d2ed63336d4abd306d0cbe298fddf"}, - {file = "cryptography-44.0.1-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:6c8acf6f3d1f47acb2248ec3ea261171a671f3d9428e34ad0357148d492c7864"}, - {file = "cryptography-44.0.1-cp37-abi3-win32.whl", hash = "sha256:24979e9f2040c953a94bf3c6782e67795a4c260734e5264dceea65c8f4bae64a"}, - {file = "cryptography-44.0.1-cp37-abi3-win_amd64.whl", hash = "sha256:fd0ee90072861e276b0ff08bd627abec29e32a53b2be44e41dbcdf87cbee2b00"}, - {file = "cryptography-44.0.1-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:a2d8a7045e1ab9b9f803f0d9531ead85f90c5f2859e653b61497228b18452008"}, - {file = "cryptography-44.0.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b8272f257cf1cbd3f2e120f14c68bff2b6bdfcc157fafdee84a1b795efd72862"}, - {file = "cryptography-44.0.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1e8d181e90a777b63f3f0caa836844a1182f1f265687fac2115fcf245f5fbec3"}, - {file = "cryptography-44.0.1-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:436df4f203482f41aad60ed1813811ac4ab102765ecae7a2bbb1dbb66dcff5a7"}, - {file = "cryptography-44.0.1-cp39-abi3-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:4f422e8c6a28cf8b7f883eb790695d6d45b0c385a2583073f3cec434cc705e1a"}, - {file = "cryptography-44.0.1-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:72198e2b5925155497a5a3e8c216c7fb3e64c16ccee11f0e7da272fa93b35c4c"}, - {file = "cryptography-44.0.1-cp39-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:2a46a89ad3e6176223b632056f321bc7de36b9f9b93b2cc1cccf935a3849dc62"}, - {file = "cryptography-44.0.1-cp39-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:53f23339864b617a3dfc2b0ac8d5c432625c80014c25caac9082314e9de56f41"}, - {file = "cryptography-44.0.1-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:888fcc3fce0c888785a4876ca55f9f43787f4c5c1cc1e2e0da71ad481ff82c5b"}, - {file = "cryptography-44.0.1-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:00918d859aa4e57db8299607086f793fa7813ae2ff5a4637e318a25ef82730f7"}, - {file = "cryptography-44.0.1-cp39-abi3-win32.whl", hash = "sha256:9b336599e2cb77b1008cb2ac264b290803ec5e8e89d618a5e978ff5eb6f715d9"}, - {file = "cryptography-44.0.1-cp39-abi3-win_amd64.whl", hash = "sha256:e403f7f766ded778ecdb790da786b418a9f2394f36e8cc8b796cc056ab05f44f"}, - {file = "cryptography-44.0.1-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:1f9a92144fa0c877117e9748c74501bea842f93d21ee00b0cf922846d9d0b183"}, - {file = "cryptography-44.0.1-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:610a83540765a8d8ce0f351ce42e26e53e1f774a6efb71eb1b41eb01d01c3d12"}, - {file = "cryptography-44.0.1-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:5fed5cd6102bb4eb843e3315d2bf25fede494509bddadb81e03a859c1bc17b83"}, - {file = "cryptography-44.0.1-pp310-pypy310_pp73-manylinux_2_34_aarch64.whl", hash = "sha256:f4daefc971c2d1f82f03097dc6f216744a6cd2ac0f04c68fb935ea2ba2a0d420"}, - {file = "cryptography-44.0.1-pp310-pypy310_pp73-manylinux_2_34_x86_64.whl", hash = "sha256:94f99f2b943b354a5b6307d7e8d19f5c423a794462bde2bf310c770ba052b1c4"}, - {file = "cryptography-44.0.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:d9c5b9f698a83c8bd71e0f4d3f9f839ef244798e5ffe96febfa9714717db7af7"}, - {file = "cryptography-44.0.1.tar.gz", hash = "sha256:f51f5705ab27898afda1aaa430f34ad90dc117421057782022edf0600bec5f14"}, -] - -[package.dependencies] -cffi = {version = ">=1.12", markers = "platform_python_implementation != \"PyPy\""} - -[package.extras] -docs = ["sphinx (>=5.3.0)", "sphinx-rtd-theme (>=3.0.0)"] -docstest = ["pyenchant (>=3)", "readme-renderer (>=30.0)", "sphinxcontrib-spelling (>=7.3.1)"] -nox = ["nox (>=2024.4.15)", "nox[uv] (>=2024.3.2)"] -pep8test = ["check-sdist", "click (>=8.0.1)", "mypy (>=1.4)", "ruff (>=0.3.6)"] -sdist = ["build (>=1.0.0)"] -ssh = ["bcrypt (>=3.1.5)"] -test = ["certifi (>=2024)", "cryptography-vectors (==44.0.1)", "pretend (>=0.7)", "pytest (>=7.4.0)", "pytest-benchmark (>=4.0)", "pytest-cov (>=2.10.1)", "pytest-xdist (>=3.5.0)"] -test-randomorder = ["pytest-randomly"] - -[[package]] -name = "datasets" -version = "2.21.0" -description = "HuggingFace community-driven open-source library of datasets" -optional = false -python-versions = ">=3.8.0" -files = [ - {file = "datasets-2.21.0-py3-none-any.whl", hash = "sha256:25e4e097110ce28824b746a107727ada94024cba11db8bc588d468414692b65a"}, - {file = "datasets-2.21.0.tar.gz", hash = "sha256:998f85a8460f1bd982e5bd058f8a0808eef424249e3df1e8cdd594ccd0dc8ba2"}, -] - -[package.dependencies] -aiohttp = "*" -dill = ">=0.3.0,<0.3.9" -filelock = "*" -fsspec = {version = ">=2023.1.0,<=2024.6.1", extras = ["http"]} -huggingface-hub = ">=0.21.2" -multiprocess = "*" -numpy = ">=1.17" -packaging = "*" -pandas = "*" -pyarrow = ">=15.0.0" -pyyaml = ">=5.1" -requests = ">=2.32.2" -tqdm = ">=4.66.3" -xxhash = "*" - -[package.extras] -apache-beam = ["apache-beam (>=2.26.0)"] -audio = ["librosa", "soundfile (>=0.12.1)", "soxr (>=0.4.0)"] -benchmarks = ["tensorflow (==2.12.0)", "torch (==2.0.1)", "transformers (==4.30.1)"] -dev = ["Pillow (>=9.4.0)", "absl-py", "decorator", "elasticsearch (<8.0.0)", "faiss-cpu (>=1.8.0.post1)", "jax (>=0.3.14)", "jaxlib (>=0.3.14)", "joblib (<1.3.0)", "joblibspark", "librosa", "lz4", "moto[server]", "polars[timezone] (>=0.20.0)", "protobuf (<4.0.0)", "py7zr", "pyspark (>=3.4)", "pytest", "pytest-datadir", "pytest-xdist", "rarfile (>=4.0)", "ruff (>=0.3.0)", "s3fs", "s3fs (>=2021.11.1)", "soundfile (>=0.12.1)", "soxr (>=0.4.0)", "sqlalchemy", "tensorflow (>=2.16.0)", "tensorflow (>=2.6.0)", "tensorflow (>=2.6.0)", "tiktoken", "torch", "torch (>=2.0.0)", "transformers", "transformers (>=4.42.0)", "typing-extensions (>=4.6.1)", "zstandard"] -docs = ["s3fs", "tensorflow (>=2.6.0)", "torch", "transformers"] -jax = ["jax (>=0.3.14)", "jaxlib (>=0.3.14)"] -metrics-tests = ["Werkzeug (>=1.0.1)", "accelerate", "bert-score (>=0.3.6)", "jiwer", "langdetect", "mauve-text", "nltk (<3.8.2)", "requests-file (>=1.5.1)", "rouge-score", "sacrebleu", "sacremoses", "scikit-learn", "scipy", "sentencepiece", "seqeval", "six (>=1.15.0,<1.16.0)", "spacy (>=3.0.0)", "texttable (>=1.6.3)", "tldextract", "tldextract (>=3.1.0)", "toml (>=0.10.1)", "typer (<0.5.0)"] -quality = ["ruff (>=0.3.0)"] -s3 = ["s3fs"] -tensorflow = ["tensorflow (>=2.6.0)"] -tensorflow-gpu = ["tensorflow (>=2.6.0)"] -tests = ["Pillow (>=9.4.0)", "absl-py", "decorator", "elasticsearch (<8.0.0)", "faiss-cpu (>=1.8.0.post1)", "jax (>=0.3.14)", "jaxlib (>=0.3.14)", "joblib (<1.3.0)", "joblibspark", "librosa", "lz4", "moto[server]", "polars[timezone] (>=0.20.0)", "protobuf (<4.0.0)", "py7zr", "pyspark (>=3.4)", "pytest", "pytest-datadir", "pytest-xdist", "rarfile (>=4.0)", "s3fs (>=2021.11.1)", "soundfile (>=0.12.1)", "soxr (>=0.4.0)", "sqlalchemy", "tensorflow (>=2.16.0)", "tensorflow (>=2.6.0)", "tiktoken", "torch (>=2.0.0)", "transformers (>=4.42.0)", "typing-extensions (>=4.6.1)", "zstandard"] -tests-numpy2 = ["Pillow (>=9.4.0)", "absl-py", "decorator", "elasticsearch (<8.0.0)", "jax (>=0.3.14)", "jaxlib (>=0.3.14)", "joblib (<1.3.0)", "joblibspark", "librosa", "lz4", "moto[server]", "polars[timezone] (>=0.20.0)", "protobuf (<4.0.0)", "py7zr", "pyspark (>=3.4)", "pytest", "pytest-datadir", "pytest-xdist", "rarfile (>=4.0)", "s3fs (>=2021.11.1)", "soundfile (>=0.12.1)", "soxr (>=0.4.0)", "sqlalchemy", "tiktoken", "torch (>=2.0.0)", "typing-extensions (>=4.6.1)", "zstandard"] -torch = ["torch"] -vision = ["Pillow (>=9.4.0)"] - -[[package]] -name = "dill" -version = "0.3.8" -description = "serialize all of Python" -optional = false -python-versions = ">=3.8" -files = [ - {file = "dill-0.3.8-py3-none-any.whl", hash = "sha256:c36ca9ffb54365bdd2f8eb3eff7d2a21237f8452b57ace88b1ac615b7e815bd7"}, - {file = "dill-0.3.8.tar.gz", hash = "sha256:3ebe3c479ad625c4553aca177444d89b486b1d84982eeacded644afc0cf797ca"}, -] - -[package.extras] -graph = ["objgraph (>=1.7.2)"] -profile = ["gprof2dot (>=2022.7.29)"] - -[[package]] -name = "exceptiongroup" -version = "1.2.2" -description = "Backport of PEP 654 (exception groups)" -optional = false -python-versions = ">=3.7" -files = [ - {file = "exceptiongroup-1.2.2-py3-none-any.whl", hash = "sha256:3111b9d131c238bec2f8f516e123e14ba243563fb135d3fe885990585aa7795b"}, - {file = "exceptiongroup-1.2.2.tar.gz", hash = "sha256:47c2edf7c6738fafb49fd34290706d1a1a2f4d1c6df275526b62cbb4aa5393cc"}, -] - -[package.extras] -test = ["pytest (>=6)"] - -[[package]] -name = "filelock" -version = "3.17.0" -description = "A platform independent file lock." -optional = false -python-versions = ">=3.9" -files = [ - {file = "filelock-3.17.0-py3-none-any.whl", hash = "sha256:533dc2f7ba78dc2f0f531fc6c4940addf7b70a481e269a5a3b93be94ffbe8338"}, - {file = "filelock-3.17.0.tar.gz", hash = "sha256:ee4e77401ef576ebb38cd7f13b9b28893194acc20a8e68e18730ba9c0e54660e"}, -] - -[package.extras] -docs = ["furo (>=2024.8.6)", "sphinx (>=8.1.3)", "sphinx-autodoc-typehints (>=3)"] -testing = ["covdefaults (>=2.3)", "coverage (>=7.6.10)", "diff-cover (>=9.2.1)", "pytest (>=8.3.4)", "pytest-asyncio (>=0.25.2)", "pytest-cov (>=6)", "pytest-mock (>=3.14)", "pytest-timeout (>=2.3.1)", "virtualenv (>=20.28.1)"] -typing = ["typing-extensions (>=4.12.2)"] - -[[package]] -name = "frozenlist" -version = "1.5.0" -description = "A list-like structure which implements collections.abc.MutableSequence" -optional = false -python-versions = ">=3.8" -files = [ - {file = "frozenlist-1.5.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:5b6a66c18b5b9dd261ca98dffcb826a525334b2f29e7caa54e182255c5f6a65a"}, - {file = "frozenlist-1.5.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d1b3eb7b05ea246510b43a7e53ed1653e55c2121019a97e60cad7efb881a97bb"}, - {file = "frozenlist-1.5.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:15538c0cbf0e4fa11d1e3a71f823524b0c46299aed6e10ebb4c2089abd8c3bec"}, - {file = "frozenlist-1.5.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e79225373c317ff1e35f210dd5f1344ff31066ba8067c307ab60254cd3a78ad5"}, - {file = "frozenlist-1.5.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9272fa73ca71266702c4c3e2d4a28553ea03418e591e377a03b8e3659d94fa76"}, - {file = "frozenlist-1.5.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:498524025a5b8ba81695761d78c8dd7382ac0b052f34e66939c42df860b8ff17"}, - {file = "frozenlist-1.5.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:92b5278ed9d50fe610185ecd23c55d8b307d75ca18e94c0e7de328089ac5dcba"}, - {file = "frozenlist-1.5.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7f3c8c1dacd037df16e85227bac13cca58c30da836c6f936ba1df0c05d046d8d"}, - {file = "frozenlist-1.5.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:f2ac49a9bedb996086057b75bf93538240538c6d9b38e57c82d51f75a73409d2"}, - {file = "frozenlist-1.5.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e66cc454f97053b79c2ab09c17fbe3c825ea6b4de20baf1be28919460dd7877f"}, - {file = "frozenlist-1.5.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:5a3ba5f9a0dfed20337d3e966dc359784c9f96503674c2faf015f7fe8e96798c"}, - {file = "frozenlist-1.5.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:6321899477db90bdeb9299ac3627a6a53c7399c8cd58d25da094007402b039ab"}, - {file = "frozenlist-1.5.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:76e4753701248476e6286f2ef492af900ea67d9706a0155335a40ea21bf3b2f5"}, - {file = "frozenlist-1.5.0-cp310-cp310-win32.whl", hash = "sha256:977701c081c0241d0955c9586ffdd9ce44f7a7795df39b9151cd9a6fd0ce4cfb"}, - {file = "frozenlist-1.5.0-cp310-cp310-win_amd64.whl", hash = "sha256:189f03b53e64144f90990d29a27ec4f7997d91ed3d01b51fa39d2dbe77540fd4"}, - {file = "frozenlist-1.5.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:fd74520371c3c4175142d02a976aee0b4cb4a7cc912a60586ffd8d5929979b30"}, - {file = "frozenlist-1.5.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2f3f7a0fbc219fb4455264cae4d9f01ad41ae6ee8524500f381de64ffaa077d5"}, - {file = "frozenlist-1.5.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f47c9c9028f55a04ac254346e92977bf0f166c483c74b4232bee19a6697e4778"}, - {file = "frozenlist-1.5.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0996c66760924da6e88922756d99b47512a71cfd45215f3570bf1e0b694c206a"}, - {file = "frozenlist-1.5.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a2fe128eb4edeabe11896cb6af88fca5346059f6c8d807e3b910069f39157869"}, - {file = "frozenlist-1.5.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1a8ea951bbb6cacd492e3948b8da8c502a3f814f5d20935aae74b5df2b19cf3d"}, - {file = "frozenlist-1.5.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:de537c11e4aa01d37db0d403b57bd6f0546e71a82347a97c6a9f0dcc532b3a45"}, - {file = "frozenlist-1.5.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9c2623347b933fcb9095841f1cc5d4ff0b278addd743e0e966cb3d460278840d"}, - {file = "frozenlist-1.5.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:cee6798eaf8b1416ef6909b06f7dc04b60755206bddc599f52232606e18179d3"}, - {file = "frozenlist-1.5.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:f5f9da7f5dbc00a604fe74aa02ae7c98bcede8a3b8b9666f9f86fc13993bc71a"}, - {file = "frozenlist-1.5.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:90646abbc7a5d5c7c19461d2e3eeb76eb0b204919e6ece342feb6032c9325ae9"}, - {file = "frozenlist-1.5.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:bdac3c7d9b705d253b2ce370fde941836a5f8b3c5c2b8fd70940a3ea3af7f4f2"}, - {file = "frozenlist-1.5.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:03d33c2ddbc1816237a67f66336616416e2bbb6beb306e5f890f2eb22b959cdf"}, - {file = "frozenlist-1.5.0-cp311-cp311-win32.whl", hash = "sha256:237f6b23ee0f44066219dae14c70ae38a63f0440ce6750f868ee08775073f942"}, - {file = "frozenlist-1.5.0-cp311-cp311-win_amd64.whl", hash = "sha256:0cc974cc93d32c42e7b0f6cf242a6bd941c57c61b618e78b6c0a96cb72788c1d"}, - {file = "frozenlist-1.5.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:31115ba75889723431aa9a4e77d5f398f5cf976eea3bdf61749731f62d4a4a21"}, - {file = "frozenlist-1.5.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:7437601c4d89d070eac8323f121fcf25f88674627505334654fd027b091db09d"}, - {file = "frozenlist-1.5.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:7948140d9f8ece1745be806f2bfdf390127cf1a763b925c4a805c603df5e697e"}, - {file = "frozenlist-1.5.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:feeb64bc9bcc6b45c6311c9e9b99406660a9c05ca8a5b30d14a78555088b0b3a"}, - {file = "frozenlist-1.5.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:683173d371daad49cffb8309779e886e59c2f369430ad28fe715f66d08d4ab1a"}, - {file = "frozenlist-1.5.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7d57d8f702221405a9d9b40f9da8ac2e4a1a8b5285aac6100f3393675f0a85ee"}, - {file = "frozenlist-1.5.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:30c72000fbcc35b129cb09956836c7d7abf78ab5416595e4857d1cae8d6251a6"}, - {file = "frozenlist-1.5.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:000a77d6034fbad9b6bb880f7ec073027908f1b40254b5d6f26210d2dab1240e"}, - {file = "frozenlist-1.5.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:5d7f5a50342475962eb18b740f3beecc685a15b52c91f7d975257e13e029eca9"}, - {file = "frozenlist-1.5.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:87f724d055eb4785d9be84e9ebf0f24e392ddfad00b3fe036e43f489fafc9039"}, - {file = "frozenlist-1.5.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:6e9080bb2fb195a046e5177f10d9d82b8a204c0736a97a153c2466127de87784"}, - {file = "frozenlist-1.5.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:9b93d7aaa36c966fa42efcaf716e6b3900438632a626fb09c049f6a2f09fc631"}, - {file = "frozenlist-1.5.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:52ef692a4bc60a6dd57f507429636c2af8b6046db8b31b18dac02cbc8f507f7f"}, - {file = "frozenlist-1.5.0-cp312-cp312-win32.whl", hash = "sha256:29d94c256679247b33a3dc96cce0f93cbc69c23bf75ff715919332fdbb6a32b8"}, - {file = "frozenlist-1.5.0-cp312-cp312-win_amd64.whl", hash = "sha256:8969190d709e7c48ea386db202d708eb94bdb29207a1f269bab1196ce0dcca1f"}, - {file = "frozenlist-1.5.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:7a1a048f9215c90973402e26c01d1cff8a209e1f1b53f72b95c13db61b00f953"}, - {file = "frozenlist-1.5.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:dd47a5181ce5fcb463b5d9e17ecfdb02b678cca31280639255ce9d0e5aa67af0"}, - {file = "frozenlist-1.5.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:1431d60b36d15cda188ea222033eec8e0eab488f39a272461f2e6d9e1a8e63c2"}, - {file = "frozenlist-1.5.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6482a5851f5d72767fbd0e507e80737f9c8646ae7fd303def99bfe813f76cf7f"}, - {file = "frozenlist-1.5.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:44c49271a937625619e862baacbd037a7ef86dd1ee215afc298a417ff3270608"}, - {file = "frozenlist-1.5.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:12f78f98c2f1c2429d42e6a485f433722b0061d5c0b0139efa64f396efb5886b"}, - {file = "frozenlist-1.5.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ce3aa154c452d2467487765e3adc730a8c153af77ad84096bc19ce19a2400840"}, - {file = "frozenlist-1.5.0-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9b7dc0c4338e6b8b091e8faf0db3168a37101943e687f373dce00959583f7439"}, - {file = "frozenlist-1.5.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:45e0896250900b5aa25180f9aec243e84e92ac84bd4a74d9ad4138ef3f5c97de"}, - {file = "frozenlist-1.5.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:561eb1c9579d495fddb6da8959fd2a1fca2c6d060d4113f5844b433fc02f2641"}, - {file = "frozenlist-1.5.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:df6e2f325bfee1f49f81aaac97d2aa757c7646534a06f8f577ce184afe2f0a9e"}, - {file = "frozenlist-1.5.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:140228863501b44b809fb39ec56b5d4071f4d0aa6d216c19cbb08b8c5a7eadb9"}, - {file = "frozenlist-1.5.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:7707a25d6a77f5d27ea7dc7d1fc608aa0a478193823f88511ef5e6b8a48f9d03"}, - {file = "frozenlist-1.5.0-cp313-cp313-win32.whl", hash = "sha256:31a9ac2b38ab9b5a8933b693db4939764ad3f299fcaa931a3e605bc3460e693c"}, - {file = "frozenlist-1.5.0-cp313-cp313-win_amd64.whl", hash = "sha256:11aabdd62b8b9c4b84081a3c246506d1cddd2dd93ff0ad53ede5defec7886b28"}, - {file = "frozenlist-1.5.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:dd94994fc91a6177bfaafd7d9fd951bc8689b0a98168aa26b5f543868548d3ca"}, - {file = "frozenlist-1.5.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2d0da8bbec082bf6bf18345b180958775363588678f64998c2b7609e34719b10"}, - {file = "frozenlist-1.5.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:73f2e31ea8dd7df61a359b731716018c2be196e5bb3b74ddba107f694fbd7604"}, - {file = "frozenlist-1.5.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:828afae9f17e6de596825cf4228ff28fbdf6065974e5ac1410cecc22f699d2b3"}, - {file = "frozenlist-1.5.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f1577515d35ed5649d52ab4319db757bb881ce3b2b796d7283e6634d99ace307"}, - {file = "frozenlist-1.5.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2150cc6305a2c2ab33299453e2968611dacb970d2283a14955923062c8d00b10"}, - {file = "frozenlist-1.5.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a72b7a6e3cd2725eff67cd64c8f13335ee18fc3c7befc05aed043d24c7b9ccb9"}, - {file = "frozenlist-1.5.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c16d2fa63e0800723139137d667e1056bee1a1cf7965153d2d104b62855e9b99"}, - {file = "frozenlist-1.5.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:17dcc32fc7bda7ce5875435003220a457bcfa34ab7924a49a1c19f55b6ee185c"}, - {file = "frozenlist-1.5.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:97160e245ea33d8609cd2b8fd997c850b56db147a304a262abc2b3be021a9171"}, - {file = "frozenlist-1.5.0-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:f1e6540b7fa044eee0bb5111ada694cf3dc15f2b0347ca125ee9ca984d5e9e6e"}, - {file = "frozenlist-1.5.0-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:91d6c171862df0a6c61479d9724f22efb6109111017c87567cfeb7b5d1449fdf"}, - {file = "frozenlist-1.5.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:c1fac3e2ace2eb1052e9f7c7db480818371134410e1f5c55d65e8f3ac6d1407e"}, - {file = "frozenlist-1.5.0-cp38-cp38-win32.whl", hash = "sha256:b97f7b575ab4a8af9b7bc1d2ef7f29d3afee2226bd03ca3875c16451ad5a7723"}, - {file = "frozenlist-1.5.0-cp38-cp38-win_amd64.whl", hash = "sha256:374ca2dabdccad8e2a76d40b1d037f5bd16824933bf7bcea3e59c891fd4a0923"}, - {file = "frozenlist-1.5.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:9bbcdfaf4af7ce002694a4e10a0159d5a8d20056a12b05b45cea944a4953f972"}, - {file = "frozenlist-1.5.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:1893f948bf6681733aaccf36c5232c231e3b5166d607c5fa77773611df6dc336"}, - {file = "frozenlist-1.5.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:2b5e23253bb709ef57a8e95e6ae48daa9ac5f265637529e4ce6b003a37b2621f"}, - {file = "frozenlist-1.5.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0f253985bb515ecd89629db13cb58d702035ecd8cfbca7d7a7e29a0e6d39af5f"}, - {file = "frozenlist-1.5.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:04a5c6babd5e8fb7d3c871dc8b321166b80e41b637c31a995ed844a6139942b6"}, - {file = "frozenlist-1.5.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a9fe0f1c29ba24ba6ff6abf688cb0b7cf1efab6b6aa6adc55441773c252f7411"}, - {file = "frozenlist-1.5.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:226d72559fa19babe2ccd920273e767c96a49b9d3d38badd7c91a0fdeda8ea08"}, - {file = "frozenlist-1.5.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15b731db116ab3aedec558573c1a5eec78822b32292fe4f2f0345b7f697745c2"}, - {file = "frozenlist-1.5.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:366d8f93e3edfe5a918c874702f78faac300209a4d5bf38352b2c1bdc07a766d"}, - {file = "frozenlist-1.5.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:1b96af8c582b94d381a1c1f51ffaedeb77c821c690ea5f01da3d70a487dd0a9b"}, - {file = "frozenlist-1.5.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:c03eff4a41bd4e38415cbed054bbaff4a075b093e2394b6915dca34a40d1e38b"}, - {file = "frozenlist-1.5.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:50cf5e7ee9b98f22bdecbabf3800ae78ddcc26e4a435515fc72d97903e8488e0"}, - {file = "frozenlist-1.5.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:1e76bfbc72353269c44e0bc2cfe171900fbf7f722ad74c9a7b638052afe6a00c"}, - {file = "frozenlist-1.5.0-cp39-cp39-win32.whl", hash = "sha256:666534d15ba8f0fda3f53969117383d5dc021266b3c1a42c9ec4855e4b58b9d3"}, - {file = "frozenlist-1.5.0-cp39-cp39-win_amd64.whl", hash = "sha256:5c28f4b5dbef8a0d8aad0d4de24d1e9e981728628afaf4ea0792f5d0939372f0"}, - {file = "frozenlist-1.5.0-py3-none-any.whl", hash = "sha256:d994863bba198a4a518b467bb971c56e1db3f180a25c6cf7bb1949c267f748c3"}, - {file = "frozenlist-1.5.0.tar.gz", hash = "sha256:81d5af29e61b9c8348e876d442253723928dce6433e0e76cd925cd83f1b4b817"}, -] - -[[package]] -name = "fsspec" -version = "2024.6.1" -description = "File-system specification" -optional = false -python-versions = ">=3.8" -files = [ - {file = "fsspec-2024.6.1-py3-none-any.whl", hash = "sha256:3cb443f8bcd2efb31295a5b9fdb02aee81d8452c80d28f97a6d0959e6cee101e"}, - {file = "fsspec-2024.6.1.tar.gz", hash = "sha256:fad7d7e209dd4c1208e3bbfda706620e0da5142bebbd9c384afb95b07e798e49"}, -] - -[package.dependencies] -aiohttp = {version = "<4.0.0a0 || >4.0.0a0,<4.0.0a1 || >4.0.0a1", optional = true, markers = "extra == \"http\""} - -[package.extras] -abfs = ["adlfs"] -adl = ["adlfs"] -arrow = ["pyarrow (>=1)"] -dask = ["dask", "distributed"] -dev = ["pre-commit", "ruff"] -doc = ["numpydoc", "sphinx", "sphinx-design", "sphinx-rtd-theme", "yarl"] -dropbox = ["dropbox", "dropboxdrivefs", "requests"] -full = ["adlfs", "aiohttp (!=4.0.0a0,!=4.0.0a1)", "dask", "distributed", "dropbox", "dropboxdrivefs", "fusepy", "gcsfs", "libarchive-c", "ocifs", "panel", "paramiko", "pyarrow (>=1)", "pygit2", "requests", "s3fs", "smbprotocol", "tqdm"] -fuse = ["fusepy"] -gcs = ["gcsfs"] -git = ["pygit2"] -github = ["requests"] -gs = ["gcsfs"] -gui = ["panel"] -hdfs = ["pyarrow (>=1)"] -http = ["aiohttp (!=4.0.0a0,!=4.0.0a1)"] -libarchive = ["libarchive-c"] -oci = ["ocifs"] -s3 = ["s3fs"] -sftp = ["paramiko"] -smb = ["smbprotocol"] -ssh = ["paramiko"] -test = ["aiohttp (!=4.0.0a0,!=4.0.0a1)", "numpy", "pytest", "pytest-asyncio (!=0.22.0)", "pytest-benchmark", "pytest-cov", "pytest-mock", "pytest-recording", "pytest-rerunfailures", "requests"] -test-downstream = ["aiobotocore (>=2.5.4,<3.0.0)", "dask-expr", "dask[dataframe,test]", "moto[server] (>4,<5)", "pytest-timeout", "xarray"] -test-full = ["adlfs", "aiohttp (!=4.0.0a0,!=4.0.0a1)", "cloudpickle", "dask", "distributed", "dropbox", "dropboxdrivefs", "fastparquet", "fusepy", "gcsfs", "jinja2", "kerchunk", "libarchive-c", "lz4", "notebook", "numpy", "ocifs", "pandas", "panel", "paramiko", "pyarrow", "pyarrow (>=1)", "pyftpdlib", "pygit2", "pytest", "pytest-asyncio (!=0.22.0)", "pytest-benchmark", "pytest-cov", "pytest-mock", "pytest-recording", "pytest-rerunfailures", "python-snappy", "requests", "smbprotocol", "tqdm", "urllib3", "zarr", "zstandard"] -tqdm = ["tqdm"] - -[[package]] -name = "huggingface-hub" -version = "0.28.1" -description = "Client library to download and publish models, datasets and other repos on the huggingface.co hub" -optional = false -python-versions = ">=3.8.0" -files = [ - {file = "huggingface_hub-0.28.1-py3-none-any.whl", hash = "sha256:aa6b9a3ffdae939b72c464dbb0d7f99f56e649b55c3d52406f49e0a5a620c0a7"}, - {file = "huggingface_hub-0.28.1.tar.gz", hash = "sha256:893471090c98e3b6efbdfdacafe4052b20b84d59866fb6f54c33d9af18c303ae"}, -] - -[package.dependencies] -filelock = "*" -fsspec = ">=2023.5.0" -packaging = ">=20.9" -pyyaml = ">=5.1" -requests = "*" -tqdm = ">=4.42.1" -typing-extensions = ">=3.7.4.3" - -[package.extras] -all = ["InquirerPy (==0.3.4)", "Jinja2", "Pillow", "aiohttp", "fastapi", "gradio (>=4.0.0)", "jedi", "libcst (==1.4.0)", "mypy (==1.5.1)", "numpy", "pytest (>=8.1.1,<8.2.2)", "pytest-asyncio", "pytest-cov", "pytest-env", "pytest-mock", "pytest-rerunfailures", "pytest-vcr", "pytest-xdist", "ruff (>=0.9.0)", "soundfile", "types-PyYAML", "types-requests", "types-simplejson", "types-toml", "types-tqdm", "types-urllib3", "typing-extensions (>=4.8.0)", "urllib3 (<2.0)"] -cli = ["InquirerPy (==0.3.4)"] -dev = ["InquirerPy (==0.3.4)", "Jinja2", "Pillow", "aiohttp", "fastapi", "gradio (>=4.0.0)", "jedi", "libcst (==1.4.0)", "mypy (==1.5.1)", "numpy", "pytest (>=8.1.1,<8.2.2)", "pytest-asyncio", "pytest-cov", "pytest-env", "pytest-mock", "pytest-rerunfailures", "pytest-vcr", "pytest-xdist", "ruff (>=0.9.0)", "soundfile", "types-PyYAML", "types-requests", "types-simplejson", "types-toml", "types-tqdm", "types-urllib3", "typing-extensions (>=4.8.0)", "urllib3 (<2.0)"] -fastai = ["fastai (>=2.4)", "fastcore (>=1.3.27)", "toml"] -hf-transfer = ["hf-transfer (>=0.1.4)"] -inference = ["aiohttp"] -quality = ["libcst (==1.4.0)", "mypy (==1.5.1)", "ruff (>=0.9.0)"] -tensorflow = ["graphviz", "pydot", "tensorflow"] -tensorflow-testing = ["keras (<3.0)", "tensorflow"] -testing = ["InquirerPy (==0.3.4)", "Jinja2", "Pillow", "aiohttp", "fastapi", "gradio (>=4.0.0)", "jedi", "numpy", "pytest (>=8.1.1,<8.2.2)", "pytest-asyncio", "pytest-cov", "pytest-env", "pytest-mock", "pytest-rerunfailures", "pytest-vcr", "pytest-xdist", "soundfile", "urllib3 (<2.0)"] -torch = ["safetensors[torch]", "torch"] -typing = ["types-PyYAML", "types-requests", "types-simplejson", "types-toml", "types-tqdm", "types-urllib3", "typing-extensions (>=4.8.0)"] - -[[package]] -name = "idna" -version = "3.10" -description = "Internationalized Domain Names in Applications (IDNA)" -optional = false -python-versions = ">=3.6" -files = [ - {file = "idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3"}, - {file = "idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9"}, -] - -[package.extras] -all = ["flake8 (>=7.1.1)", "mypy (>=1.11.2)", "pytest (>=8.3.2)", "ruff (>=0.6.2)"] - -[[package]] -name = "iniconfig" -version = "2.0.0" -description = "brain-dead simple config-ini parsing" -optional = false -python-versions = ">=3.7" -files = [ - {file = "iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374"}, - {file = "iniconfig-2.0.0.tar.gz", hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3"}, -] - -[[package]] -name = "multidict" -version = "6.1.0" -description = "multidict implementation" -optional = false -python-versions = ">=3.8" -files = [ - {file = "multidict-6.1.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:3380252550e372e8511d49481bd836264c009adb826b23fefcc5dd3c69692f60"}, - {file = "multidict-6.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:99f826cbf970077383d7de805c0681799491cb939c25450b9b5b3ced03ca99f1"}, - {file = "multidict-6.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a114d03b938376557927ab23f1e950827c3b893ccb94b62fd95d430fd0e5cf53"}, - {file = "multidict-6.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b1c416351ee6271b2f49b56ad7f308072f6f44b37118d69c2cad94f3fa8a40d5"}, - {file = "multidict-6.1.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6b5d83030255983181005e6cfbac1617ce9746b219bc2aad52201ad121226581"}, - {file = "multidict-6.1.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3e97b5e938051226dc025ec80980c285b053ffb1e25a3db2a3aa3bc046bf7f56"}, - {file = "multidict-6.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d618649d4e70ac6efcbba75be98b26ef5078faad23592f9b51ca492953012429"}, - {file = "multidict-6.1.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:10524ebd769727ac77ef2278390fb0068d83f3acb7773792a5080f2b0abf7748"}, - {file = "multidict-6.1.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:ff3827aef427c89a25cc96ded1759271a93603aba9fb977a6d264648ebf989db"}, - {file = "multidict-6.1.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:06809f4f0f7ab7ea2cabf9caca7d79c22c0758b58a71f9d32943ae13c7ace056"}, - {file = "multidict-6.1.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:f179dee3b863ab1c59580ff60f9d99f632f34ccb38bf67a33ec6b3ecadd0fd76"}, - {file = "multidict-6.1.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:aaed8b0562be4a0876ee3b6946f6869b7bcdb571a5d1496683505944e268b160"}, - {file = "multidict-6.1.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:3c8b88a2ccf5493b6c8da9076fb151ba106960a2df90c2633f342f120751a9e7"}, - {file = "multidict-6.1.0-cp310-cp310-win32.whl", hash = "sha256:4a9cb68166a34117d6646c0023c7b759bf197bee5ad4272f420a0141d7eb03a0"}, - {file = "multidict-6.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:20b9b5fbe0b88d0bdef2012ef7dee867f874b72528cf1d08f1d59b0e3850129d"}, - {file = "multidict-6.1.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:3efe2c2cb5763f2f1b275ad2bf7a287d3f7ebbef35648a9726e3b69284a4f3d6"}, - {file = "multidict-6.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c7053d3b0353a8b9de430a4f4b4268ac9a4fb3481af37dfe49825bf45ca24156"}, - {file = "multidict-6.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:27e5fc84ccef8dfaabb09d82b7d179c7cf1a3fbc8a966f8274fcb4ab2eb4cadb"}, - {file = "multidict-6.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0e2b90b43e696f25c62656389d32236e049568b39320e2735d51f08fd362761b"}, - {file = "multidict-6.1.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d83a047959d38a7ff552ff94be767b7fd79b831ad1cd9920662db05fec24fe72"}, - {file = "multidict-6.1.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d1a9dd711d0877a1ece3d2e4fea11a8e75741ca21954c919406b44e7cf971304"}, - {file = "multidict-6.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ec2abea24d98246b94913b76a125e855eb5c434f7c46546046372fe60f666351"}, - {file = "multidict-6.1.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4867cafcbc6585e4b678876c489b9273b13e9fff9f6d6d66add5e15d11d926cb"}, - {file = "multidict-6.1.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:5b48204e8d955c47c55b72779802b219a39acc3ee3d0116d5080c388970b76e3"}, - {file = "multidict-6.1.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:d8fff389528cad1618fb4b26b95550327495462cd745d879a8c7c2115248e399"}, - {file = "multidict-6.1.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:a7a9541cd308eed5e30318430a9c74d2132e9a8cb46b901326272d780bf2d423"}, - {file = "multidict-6.1.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:da1758c76f50c39a2efd5e9859ce7d776317eb1dd34317c8152ac9251fc574a3"}, - {file = "multidict-6.1.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:c943a53e9186688b45b323602298ab727d8865d8c9ee0b17f8d62d14b56f0753"}, - {file = "multidict-6.1.0-cp311-cp311-win32.whl", hash = "sha256:90f8717cb649eea3504091e640a1b8568faad18bd4b9fcd692853a04475a4b80"}, - {file = "multidict-6.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:82176036e65644a6cc5bd619f65f6f19781e8ec2e5330f51aa9ada7504cc1926"}, - {file = "multidict-6.1.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:b04772ed465fa3cc947db808fa306d79b43e896beb677a56fb2347ca1a49c1fa"}, - {file = "multidict-6.1.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:6180c0ae073bddeb5a97a38c03f30c233e0a4d39cd86166251617d1bbd0af436"}, - {file = "multidict-6.1.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:071120490b47aa997cca00666923a83f02c7fbb44f71cf7f136df753f7fa8761"}, - {file = "multidict-6.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:50b3a2710631848991d0bf7de077502e8994c804bb805aeb2925a981de58ec2e"}, - {file = "multidict-6.1.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b58c621844d55e71c1b7f7c498ce5aa6985d743a1a59034c57a905b3f153c1ef"}, - {file = "multidict-6.1.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:55b6d90641869892caa9ca42ff913f7ff1c5ece06474fbd32fb2cf6834726c95"}, - {file = "multidict-6.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4b820514bfc0b98a30e3d85462084779900347e4d49267f747ff54060cc33925"}, - {file = "multidict-6.1.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:10a9b09aba0c5b48c53761b7c720aaaf7cf236d5fe394cd399c7ba662d5f9966"}, - {file = "multidict-6.1.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1e16bf3e5fc9f44632affb159d30a437bfe286ce9e02754759be5536b169b305"}, - {file = "multidict-6.1.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:76f364861c3bfc98cbbcbd402d83454ed9e01a5224bb3a28bf70002a230f73e2"}, - {file = "multidict-6.1.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:820c661588bd01a0aa62a1283f20d2be4281b086f80dad9e955e690c75fb54a2"}, - {file = "multidict-6.1.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:0e5f362e895bc5b9e67fe6e4ded2492d8124bdf817827f33c5b46c2fe3ffaca6"}, - {file = "multidict-6.1.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3ec660d19bbc671e3a6443325f07263be452c453ac9e512f5eb935e7d4ac28b3"}, - {file = "multidict-6.1.0-cp312-cp312-win32.whl", hash = "sha256:58130ecf8f7b8112cdb841486404f1282b9c86ccb30d3519faf301b2e5659133"}, - {file = "multidict-6.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:188215fc0aafb8e03341995e7c4797860181562380f81ed0a87ff455b70bf1f1"}, - {file = "multidict-6.1.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:d569388c381b24671589335a3be6e1d45546c2988c2ebe30fdcada8457a31008"}, - {file = "multidict-6.1.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:052e10d2d37810b99cc170b785945421141bf7bb7d2f8799d431e7db229c385f"}, - {file = "multidict-6.1.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f90c822a402cb865e396a504f9fc8173ef34212a342d92e362ca498cad308e28"}, - {file = "multidict-6.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b225d95519a5bf73860323e633a664b0d85ad3d5bede6d30d95b35d4dfe8805b"}, - {file = "multidict-6.1.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:23bfd518810af7de1116313ebd9092cb9aa629beb12f6ed631ad53356ed6b86c"}, - {file = "multidict-6.1.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5c09fcfdccdd0b57867577b719c69e347a436b86cd83747f179dbf0cc0d4c1f3"}, - {file = "multidict-6.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf6bea52ec97e95560af5ae576bdac3aa3aae0b6758c6efa115236d9e07dae44"}, - {file = "multidict-6.1.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:57feec87371dbb3520da6192213c7d6fc892d5589a93db548331954de8248fd2"}, - {file = "multidict-6.1.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:0c3f390dc53279cbc8ba976e5f8035eab997829066756d811616b652b00a23a3"}, - {file = "multidict-6.1.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:59bfeae4b25ec05b34f1956eaa1cb38032282cd4dfabc5056d0a1ec4d696d3aa"}, - {file = "multidict-6.1.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:b2f59caeaf7632cc633b5cf6fc449372b83bbdf0da4ae04d5be36118e46cc0aa"}, - {file = "multidict-6.1.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:37bb93b2178e02b7b618893990941900fd25b6b9ac0fa49931a40aecdf083fe4"}, - {file = "multidict-6.1.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4e9f48f58c2c523d5a06faea47866cd35b32655c46b443f163d08c6d0ddb17d6"}, - {file = "multidict-6.1.0-cp313-cp313-win32.whl", hash = "sha256:3a37ffb35399029b45c6cc33640a92bef403c9fd388acce75cdc88f58bd19a81"}, - {file = "multidict-6.1.0-cp313-cp313-win_amd64.whl", hash = "sha256:e9aa71e15d9d9beaad2c6b9319edcdc0a49a43ef5c0a4c8265ca9ee7d6c67774"}, - {file = "multidict-6.1.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:db7457bac39421addd0c8449933ac32d8042aae84a14911a757ae6ca3eef1392"}, - {file = "multidict-6.1.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:d094ddec350a2fb899fec68d8353c78233debde9b7d8b4beeafa70825f1c281a"}, - {file = "multidict-6.1.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:5845c1fd4866bb5dd3125d89b90e57ed3138241540897de748cdf19de8a2fca2"}, - {file = "multidict-6.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9079dfc6a70abe341f521f78405b8949f96db48da98aeb43f9907f342f627cdc"}, - {file = "multidict-6.1.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3914f5aaa0f36d5d60e8ece6a308ee1c9784cd75ec8151062614657a114c4478"}, - {file = "multidict-6.1.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c08be4f460903e5a9d0f76818db3250f12e9c344e79314d1d570fc69d7f4eae4"}, - {file = "multidict-6.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d093be959277cb7dee84b801eb1af388b6ad3ca6a6b6bf1ed7585895789d027d"}, - {file = "multidict-6.1.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3702ea6872c5a2a4eeefa6ffd36b042e9773f05b1f37ae3ef7264b1163c2dcf6"}, - {file = "multidict-6.1.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:2090f6a85cafc5b2db085124d752757c9d251548cedabe9bd31afe6363e0aff2"}, - {file = "multidict-6.1.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:f67f217af4b1ff66c68a87318012de788dd95fcfeb24cc889011f4e1c7454dfd"}, - {file = "multidict-6.1.0-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:189f652a87e876098bbc67b4da1049afb5f5dfbaa310dd67c594b01c10388db6"}, - {file = "multidict-6.1.0-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:6bb5992037f7a9eff7991ebe4273ea7f51f1c1c511e6a2ce511d0e7bdb754492"}, - {file = "multidict-6.1.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:ac10f4c2b9e770c4e393876e35a7046879d195cd123b4f116d299d442b335bcd"}, - {file = "multidict-6.1.0-cp38-cp38-win32.whl", hash = "sha256:e27bbb6d14416713a8bd7aaa1313c0fc8d44ee48d74497a0ff4c3a1b6ccb5167"}, - {file = "multidict-6.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:22f3105d4fb15c8f57ff3959a58fcab6ce36814486500cd7485651230ad4d4ef"}, - {file = "multidict-6.1.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:4e18b656c5e844539d506a0a06432274d7bd52a7487e6828c63a63d69185626c"}, - {file = "multidict-6.1.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a185f876e69897a6f3325c3f19f26a297fa058c5e456bfcff8015e9a27e83ae1"}, - {file = "multidict-6.1.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ab7c4ceb38d91570a650dba194e1ca87c2b543488fe9309b4212694174fd539c"}, - {file = "multidict-6.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e617fb6b0b6953fffd762669610c1c4ffd05632c138d61ac7e14ad187870669c"}, - {file = "multidict-6.1.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:16e5f4bf4e603eb1fdd5d8180f1a25f30056f22e55ce51fb3d6ad4ab29f7d96f"}, - {file = "multidict-6.1.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f4c035da3f544b1882bac24115f3e2e8760f10a0107614fc9839fd232200b875"}, - {file = "multidict-6.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:957cf8e4b6e123a9eea554fa7ebc85674674b713551de587eb318a2df3e00255"}, - {file = "multidict-6.1.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:483a6aea59cb89904e1ceabd2b47368b5600fb7de78a6e4a2c2987b2d256cf30"}, - {file = "multidict-6.1.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:87701f25a2352e5bf7454caa64757642734da9f6b11384c1f9d1a8e699758057"}, - {file = "multidict-6.1.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:682b987361e5fd7a139ed565e30d81fd81e9629acc7d925a205366877d8c8657"}, - {file = "multidict-6.1.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:ce2186a7df133a9c895dea3331ddc5ddad42cdd0d1ea2f0a51e5d161e4762f28"}, - {file = "multidict-6.1.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:9f636b730f7e8cb19feb87094949ba54ee5357440b9658b2a32a5ce4bce53972"}, - {file = "multidict-6.1.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:73eae06aa53af2ea5270cc066dcaf02cc60d2994bbb2c4ef5764949257d10f43"}, - {file = "multidict-6.1.0-cp39-cp39-win32.whl", hash = "sha256:1ca0083e80e791cffc6efce7660ad24af66c8d4079d2a750b29001b53ff59ada"}, - {file = "multidict-6.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:aa466da5b15ccea564bdab9c89175c762bc12825f4659c11227f515cee76fa4a"}, - {file = "multidict-6.1.0-py3-none-any.whl", hash = "sha256:48e171e52d1c4d33888e529b999e5900356b9ae588c2f09a52dcefb158b27506"}, - {file = "multidict-6.1.0.tar.gz", hash = "sha256:22ae2ebf9b0c69d206c003e2f6a914ea33f0a932d4aa16f236afc049d9958f4a"}, -] - -[package.dependencies] -typing-extensions = {version = ">=4.1.0", markers = "python_version < \"3.11\""} - -[[package]] -name = "multiprocess" -version = "0.70.16" -description = "better multiprocessing and multithreading in Python" -optional = false -python-versions = ">=3.8" -files = [ - {file = "multiprocess-0.70.16-pp310-pypy310_pp73-macosx_10_13_x86_64.whl", hash = "sha256:476887be10e2f59ff183c006af746cb6f1fd0eadcfd4ef49e605cbe2659920ee"}, - {file = "multiprocess-0.70.16-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:d951bed82c8f73929ac82c61f01a7b5ce8f3e5ef40f5b52553b4f547ce2b08ec"}, - {file = "multiprocess-0.70.16-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:37b55f71c07e2d741374998c043b9520b626a8dddc8b3129222ca4f1a06ef67a"}, - {file = "multiprocess-0.70.16-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:ba8c31889abf4511c7308a8c52bb4a30b9d590e7f58523302ba00237702ca054"}, - {file = "multiprocess-0.70.16-pp39-pypy39_pp73-macosx_10_13_x86_64.whl", hash = "sha256:0dfd078c306e08d46d7a8d06fb120313d87aa43af60d66da43ffff40b44d2f41"}, - {file = "multiprocess-0.70.16-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:e7b9d0f307cd9bd50851afaac0dba2cb6c44449efff697df7c7645f7d3f2be3a"}, - {file = "multiprocess-0.70.16-py310-none-any.whl", hash = "sha256:c4a9944c67bd49f823687463660a2d6daae94c289adff97e0f9d696ba6371d02"}, - {file = "multiprocess-0.70.16-py311-none-any.whl", hash = "sha256:af4cabb0dac72abfb1e794fa7855c325fd2b55a10a44628a3c1ad3311c04127a"}, - {file = "multiprocess-0.70.16-py312-none-any.whl", hash = "sha256:fc0544c531920dde3b00c29863377f87e1632601092ea2daca74e4beb40faa2e"}, - {file = "multiprocess-0.70.16-py38-none-any.whl", hash = "sha256:a71d82033454891091a226dfc319d0cfa8019a4e888ef9ca910372a446de4435"}, - {file = "multiprocess-0.70.16-py39-none-any.whl", hash = "sha256:a0bafd3ae1b732eac64be2e72038231c1ba97724b60b09400d68f229fcc2fbf3"}, - {file = "multiprocess-0.70.16.tar.gz", hash = "sha256:161af703d4652a0e1410be6abccecde4a7ddffd19341be0a7011b94aeb171ac1"}, -] - -[package.dependencies] -dill = ">=0.3.8" - -[[package]] -name = "numpy" -version = "2.2.3" -description = "Fundamental package for array computing in Python" -optional = false -python-versions = ">=3.10" -files = [ - {file = "numpy-2.2.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:cbc6472e01952d3d1b2772b720428f8b90e2deea8344e854df22b0618e9cce71"}, - {file = "numpy-2.2.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:cdfe0c22692a30cd830c0755746473ae66c4a8f2e7bd508b35fb3b6a0813d787"}, - {file = "numpy-2.2.3-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:e37242f5324ffd9f7ba5acf96d774f9276aa62a966c0bad8dae692deebec7716"}, - {file = "numpy-2.2.3-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:95172a21038c9b423e68be78fd0be6e1b97674cde269b76fe269a5dfa6fadf0b"}, - {file = "numpy-2.2.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d5b47c440210c5d1d67e1cf434124e0b5c395eee1f5806fdd89b553ed1acd0a3"}, - {file = "numpy-2.2.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0391ea3622f5c51a2e29708877d56e3d276827ac5447d7f45e9bc4ade8923c52"}, - {file = "numpy-2.2.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:f6b3dfc7661f8842babd8ea07e9897fe3d9b69a1d7e5fbb743e4160f9387833b"}, - {file = "numpy-2.2.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:1ad78ce7f18ce4e7df1b2ea4019b5817a2f6a8a16e34ff2775f646adce0a5027"}, - {file = "numpy-2.2.3-cp310-cp310-win32.whl", hash = "sha256:5ebeb7ef54a7be11044c33a17b2624abe4307a75893c001a4800857956b41094"}, - {file = "numpy-2.2.3-cp310-cp310-win_amd64.whl", hash = "sha256:596140185c7fa113563c67c2e894eabe0daea18cf8e33851738c19f70ce86aeb"}, - {file = "numpy-2.2.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:16372619ee728ed67a2a606a614f56d3eabc5b86f8b615c79d01957062826ca8"}, - {file = "numpy-2.2.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:5521a06a3148686d9269c53b09f7d399a5725c47bbb5b35747e1cb76326b714b"}, - {file = "numpy-2.2.3-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:7c8dde0ca2f77828815fd1aedfdf52e59071a5bae30dac3b4da2a335c672149a"}, - {file = "numpy-2.2.3-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:77974aba6c1bc26e3c205c2214f0d5b4305bdc719268b93e768ddb17e3fdd636"}, - {file = "numpy-2.2.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d42f9c36d06440e34226e8bd65ff065ca0963aeecada587b937011efa02cdc9d"}, - {file = "numpy-2.2.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f2712c5179f40af9ddc8f6727f2bd910ea0eb50206daea75f58ddd9fa3f715bb"}, - {file = "numpy-2.2.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c8b0451d2ec95010d1db8ca733afc41f659f425b7f608af569711097fd6014e2"}, - {file = "numpy-2.2.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:d9b4a8148c57ecac25a16b0e11798cbe88edf5237b0df99973687dd866f05e1b"}, - {file = "numpy-2.2.3-cp311-cp311-win32.whl", hash = "sha256:1f45315b2dc58d8a3e7754fe4e38b6fce132dab284a92851e41b2b344f6441c5"}, - {file = "numpy-2.2.3-cp311-cp311-win_amd64.whl", hash = "sha256:9f48ba6f6c13e5e49f3d3efb1b51c8193215c42ac82610a04624906a9270be6f"}, - {file = "numpy-2.2.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:12c045f43b1d2915eca6b880a7f4a256f59d62df4f044788c8ba67709412128d"}, - {file = "numpy-2.2.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:87eed225fd415bbae787f93a457af7f5990b92a334e346f72070bf569b9c9c95"}, - {file = "numpy-2.2.3-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:712a64103d97c404e87d4d7c47fb0c7ff9acccc625ca2002848e0d53288b90ea"}, - {file = "numpy-2.2.3-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:a5ae282abe60a2db0fd407072aff4599c279bcd6e9a2475500fc35b00a57c532"}, - {file = "numpy-2.2.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5266de33d4c3420973cf9ae3b98b54a2a6d53a559310e3236c4b2b06b9c07d4e"}, - {file = "numpy-2.2.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3b787adbf04b0db1967798dba8da1af07e387908ed1553a0d6e74c084d1ceafe"}, - {file = "numpy-2.2.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:34c1b7e83f94f3b564b35f480f5652a47007dd91f7c839f404d03279cc8dd021"}, - {file = "numpy-2.2.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:4d8335b5f1b6e2bce120d55fb17064b0262ff29b459e8493d1785c18ae2553b8"}, - {file = "numpy-2.2.3-cp312-cp312-win32.whl", hash = "sha256:4d9828d25fb246bedd31e04c9e75714a4087211ac348cb39c8c5f99dbb6683fe"}, - {file = "numpy-2.2.3-cp312-cp312-win_amd64.whl", hash = "sha256:83807d445817326b4bcdaaaf8e8e9f1753da04341eceec705c001ff342002e5d"}, - {file = "numpy-2.2.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:7bfdb06b395385ea9b91bf55c1adf1b297c9fdb531552845ff1d3ea6e40d5aba"}, - {file = "numpy-2.2.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:23c9f4edbf4c065fddb10a4f6e8b6a244342d95966a48820c614891e5059bb50"}, - {file = "numpy-2.2.3-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:a0c03b6be48aaf92525cccf393265e02773be8fd9551a2f9adbe7db1fa2b60f1"}, - {file = "numpy-2.2.3-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:2376e317111daa0a6739e50f7ee2a6353f768489102308b0d98fcf4a04f7f3b5"}, - {file = "numpy-2.2.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8fb62fe3d206d72fe1cfe31c4a1106ad2b136fcc1606093aeab314f02930fdf2"}, - {file = "numpy-2.2.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:52659ad2534427dffcc36aac76bebdd02b67e3b7a619ac67543bc9bfe6b7cdb1"}, - {file = "numpy-2.2.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:1b416af7d0ed3271cad0f0a0d0bee0911ed7eba23e66f8424d9f3dfcdcae1304"}, - {file = "numpy-2.2.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:1402da8e0f435991983d0a9708b779f95a8c98c6b18a171b9f1be09005e64d9d"}, - {file = "numpy-2.2.3-cp313-cp313-win32.whl", hash = "sha256:136553f123ee2951bfcfbc264acd34a2fc2f29d7cdf610ce7daf672b6fbaa693"}, - {file = "numpy-2.2.3-cp313-cp313-win_amd64.whl", hash = "sha256:5b732c8beef1d7bc2d9e476dbba20aaff6167bf205ad9aa8d30913859e82884b"}, - {file = "numpy-2.2.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:435e7a933b9fda8126130b046975a968cc2d833b505475e588339e09f7672890"}, - {file = "numpy-2.2.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:7678556eeb0152cbd1522b684dcd215250885993dd00adb93679ec3c0e6e091c"}, - {file = "numpy-2.2.3-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:2e8da03bd561504d9b20e7a12340870dfc206c64ea59b4cfee9fceb95070ee94"}, - {file = "numpy-2.2.3-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:c9aa4496fd0e17e3843399f533d62857cef5900facf93e735ef65aa4bbc90ef0"}, - {file = "numpy-2.2.3-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f4ca91d61a4bf61b0f2228f24bbfa6a9facd5f8af03759fe2a655c50ae2c6610"}, - {file = "numpy-2.2.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:deaa09cd492e24fd9b15296844c0ad1b3c976da7907e1c1ed3a0ad21dded6f76"}, - {file = "numpy-2.2.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:246535e2f7496b7ac85deffe932896a3577be7af8fb7eebe7146444680297e9a"}, - {file = "numpy-2.2.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:daf43a3d1ea699402c5a850e5313680ac355b4adc9770cd5cfc2940e7861f1bf"}, - {file = "numpy-2.2.3-cp313-cp313t-win32.whl", hash = "sha256:cf802eef1f0134afb81fef94020351be4fe1d6681aadf9c5e862af6602af64ef"}, - {file = "numpy-2.2.3-cp313-cp313t-win_amd64.whl", hash = "sha256:aee2512827ceb6d7f517c8b85aa5d3923afe8fc7a57d028cffcd522f1c6fd082"}, - {file = "numpy-2.2.3-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:3c2ec8a0f51d60f1e9c0c5ab116b7fc104b165ada3f6c58abf881cb2eb16044d"}, - {file = "numpy-2.2.3-pp310-pypy310_pp73-macosx_14_0_x86_64.whl", hash = "sha256:ed2cf9ed4e8ebc3b754d398cba12f24359f018b416c380f577bbae112ca52fc9"}, - {file = "numpy-2.2.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:39261798d208c3095ae4f7bc8eaeb3481ea8c6e03dc48028057d3cbdbdb8937e"}, - {file = "numpy-2.2.3-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:783145835458e60fa97afac25d511d00a1eca94d4a8f3ace9fe2043003c678e4"}, - {file = "numpy-2.2.3.tar.gz", hash = "sha256:dbdc15f0c81611925f382dfa97b3bd0bc2c1ce19d4fe50482cb0ddc12ba30020"}, -] - -[[package]] -name = "packaging" -version = "24.2" -description = "Core utilities for Python packages" -optional = false -python-versions = ">=3.8" -files = [ - {file = "packaging-24.2-py3-none-any.whl", hash = "sha256:09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759"}, - {file = "packaging-24.2.tar.gz", hash = "sha256:c228a6dc5e932d346bc5739379109d49e8853dd8223571c7c5b55260edc0b97f"}, -] - -[[package]] -name = "pandas" -version = "2.2.3" -description = "Powerful data structures for data analysis, time series, and statistics" -optional = false -python-versions = ">=3.9" -files = [ - {file = "pandas-2.2.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:1948ddde24197a0f7add2bdc4ca83bf2b1ef84a1bc8ccffd95eda17fd836ecb5"}, - {file = "pandas-2.2.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:381175499d3802cde0eabbaf6324cce0c4f5d52ca6f8c377c29ad442f50f6348"}, - {file = "pandas-2.2.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:d9c45366def9a3dd85a6454c0e7908f2b3b8e9c138f5dc38fed7ce720d8453ed"}, - {file = "pandas-2.2.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:86976a1c5b25ae3f8ccae3a5306e443569ee3c3faf444dfd0f41cda24667ad57"}, - {file = "pandas-2.2.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:b8661b0238a69d7aafe156b7fa86c44b881387509653fdf857bebc5e4008ad42"}, - {file = "pandas-2.2.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:37e0aced3e8f539eccf2e099f65cdb9c8aa85109b0be6e93e2baff94264bdc6f"}, - {file = "pandas-2.2.3-cp310-cp310-win_amd64.whl", hash = "sha256:56534ce0746a58afaf7942ba4863e0ef81c9c50d3f0ae93e9497d6a41a057645"}, - {file = "pandas-2.2.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:66108071e1b935240e74525006034333f98bcdb87ea116de573a6a0dccb6c039"}, - {file = "pandas-2.2.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:7c2875855b0ff77b2a64a0365e24455d9990730d6431b9e0ee18ad8acee13dbd"}, - {file = "pandas-2.2.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:cd8d0c3be0515c12fed0bdbae072551c8b54b7192c7b1fda0ba56059a0179698"}, - {file = "pandas-2.2.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c124333816c3a9b03fbeef3a9f230ba9a737e9e5bb4060aa2107a86cc0a497fc"}, - {file = "pandas-2.2.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:63cc132e40a2e084cf01adf0775b15ac515ba905d7dcca47e9a251819c575ef3"}, - {file = "pandas-2.2.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:29401dbfa9ad77319367d36940cd8a0b3a11aba16063e39632d98b0e931ddf32"}, - {file = "pandas-2.2.3-cp311-cp311-win_amd64.whl", hash = "sha256:3fc6873a41186404dad67245896a6e440baacc92f5b716ccd1bc9ed2995ab2c5"}, - {file = "pandas-2.2.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:b1d432e8d08679a40e2a6d8b2f9770a5c21793a6f9f47fdd52c5ce1948a5a8a9"}, - {file = "pandas-2.2.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a5a1595fe639f5988ba6a8e5bc9649af3baf26df3998a0abe56c02609392e0a4"}, - {file = "pandas-2.2.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:5de54125a92bb4d1c051c0659e6fcb75256bf799a732a87184e5ea503965bce3"}, - {file = "pandas-2.2.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fffb8ae78d8af97f849404f21411c95062db1496aeb3e56f146f0355c9989319"}, - {file = "pandas-2.2.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6dfcb5ee8d4d50c06a51c2fffa6cff6272098ad6540aed1a76d15fb9318194d8"}, - {file = "pandas-2.2.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:062309c1b9ea12a50e8ce661145c6aab431b1e99530d3cd60640e255778bd43a"}, - {file = "pandas-2.2.3-cp312-cp312-win_amd64.whl", hash = "sha256:59ef3764d0fe818125a5097d2ae867ca3fa64df032331b7e0917cf5d7bf66b13"}, - {file = "pandas-2.2.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f00d1345d84d8c86a63e476bb4955e46458b304b9575dcf71102b5c705320015"}, - {file = "pandas-2.2.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3508d914817e153ad359d7e069d752cdd736a247c322d932eb89e6bc84217f28"}, - {file = "pandas-2.2.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:22a9d949bfc9a502d320aa04e5d02feab689d61da4e7764b62c30b991c42c5f0"}, - {file = "pandas-2.2.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f3a255b2c19987fbbe62a9dfd6cff7ff2aa9ccab3fc75218fd4b7530f01efa24"}, - {file = "pandas-2.2.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:800250ecdadb6d9c78eae4990da62743b857b470883fa27f652db8bdde7f6659"}, - {file = "pandas-2.2.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6374c452ff3ec675a8f46fd9ab25c4ad0ba590b71cf0656f8b6daa5202bca3fb"}, - {file = "pandas-2.2.3-cp313-cp313-win_amd64.whl", hash = "sha256:61c5ad4043f791b61dd4752191d9f07f0ae412515d59ba8f005832a532f8736d"}, - {file = "pandas-2.2.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:3b71f27954685ee685317063bf13c7709a7ba74fc996b84fc6821c59b0f06468"}, - {file = "pandas-2.2.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:38cf8125c40dae9d5acc10fa66af8ea6fdf760b2714ee482ca691fc66e6fcb18"}, - {file = "pandas-2.2.3-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:ba96630bc17c875161df3818780af30e43be9b166ce51c9a18c1feae342906c2"}, - {file = "pandas-2.2.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1db71525a1538b30142094edb9adc10be3f3e176748cd7acc2240c2f2e5aa3a4"}, - {file = "pandas-2.2.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:15c0e1e02e93116177d29ff83e8b1619c93ddc9c49083f237d4312337a61165d"}, - {file = "pandas-2.2.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:ad5b65698ab28ed8d7f18790a0dc58005c7629f227be9ecc1072aa74c0c1d43a"}, - {file = "pandas-2.2.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:bc6b93f9b966093cb0fd62ff1a7e4c09e6d546ad7c1de191767baffc57628f39"}, - {file = "pandas-2.2.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5dbca4c1acd72e8eeef4753eeca07de9b1db4f398669d5994086f788a5d7cc30"}, - {file = "pandas-2.2.3-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:8cd6d7cc958a3910f934ea8dbdf17b2364827bb4dafc38ce6eef6bb3d65ff09c"}, - {file = "pandas-2.2.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:99df71520d25fade9db7c1076ac94eb994f4d2673ef2aa2e86ee039b6746d20c"}, - {file = "pandas-2.2.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:31d0ced62d4ea3e231a9f228366919a5ea0b07440d9d4dac345376fd8e1477ea"}, - {file = "pandas-2.2.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:7eee9e7cea6adf3e3d24e304ac6b8300646e2a5d1cd3a3c2abed9101b0846761"}, - {file = "pandas-2.2.3-cp39-cp39-win_amd64.whl", hash = "sha256:4850ba03528b6dd51d6c5d273c46f183f39a9baf3f0143e566b89450965b105e"}, - {file = "pandas-2.2.3.tar.gz", hash = "sha256:4f18ba62b61d7e192368b84517265a99b4d7ee8912f8708660fb4a366cc82667"}, -] - -[package.dependencies] -numpy = [ - {version = ">=1.22.4", markers = "python_version < \"3.11\""}, - {version = ">=1.23.2", markers = "python_version == \"3.11\""}, - {version = ">=1.26.0", markers = "python_version >= \"3.12\""}, -] -python-dateutil = ">=2.8.2" -pytz = ">=2020.1" -tzdata = ">=2022.7" - -[package.extras] -all = ["PyQt5 (>=5.15.9)", "SQLAlchemy (>=2.0.0)", "adbc-driver-postgresql (>=0.8.0)", "adbc-driver-sqlite (>=0.8.0)", "beautifulsoup4 (>=4.11.2)", "bottleneck (>=1.3.6)", "dataframe-api-compat (>=0.1.7)", "fastparquet (>=2022.12.0)", "fsspec (>=2022.11.0)", "gcsfs (>=2022.11.0)", "html5lib (>=1.1)", "hypothesis (>=6.46.1)", "jinja2 (>=3.1.2)", "lxml (>=4.9.2)", "matplotlib (>=3.6.3)", "numba (>=0.56.4)", "numexpr (>=2.8.4)", "odfpy (>=1.4.1)", "openpyxl (>=3.1.0)", "pandas-gbq (>=0.19.0)", "psycopg2 (>=2.9.6)", "pyarrow (>=10.0.1)", "pymysql (>=1.0.2)", "pyreadstat (>=1.2.0)", "pytest (>=7.3.2)", "pytest-xdist (>=2.2.0)", "python-calamine (>=0.1.7)", "pyxlsb (>=1.0.10)", "qtpy (>=2.3.0)", "s3fs (>=2022.11.0)", "scipy (>=1.10.0)", "tables (>=3.8.0)", "tabulate (>=0.9.0)", "xarray (>=2022.12.0)", "xlrd (>=2.0.1)", "xlsxwriter (>=3.0.5)", "zstandard (>=0.19.0)"] -aws = ["s3fs (>=2022.11.0)"] -clipboard = ["PyQt5 (>=5.15.9)", "qtpy (>=2.3.0)"] -compression = ["zstandard (>=0.19.0)"] -computation = ["scipy (>=1.10.0)", "xarray (>=2022.12.0)"] -consortium-standard = ["dataframe-api-compat (>=0.1.7)"] -excel = ["odfpy (>=1.4.1)", "openpyxl (>=3.1.0)", "python-calamine (>=0.1.7)", "pyxlsb (>=1.0.10)", "xlrd (>=2.0.1)", "xlsxwriter (>=3.0.5)"] -feather = ["pyarrow (>=10.0.1)"] -fss = ["fsspec (>=2022.11.0)"] -gcp = ["gcsfs (>=2022.11.0)", "pandas-gbq (>=0.19.0)"] -hdf5 = ["tables (>=3.8.0)"] -html = ["beautifulsoup4 (>=4.11.2)", "html5lib (>=1.1)", "lxml (>=4.9.2)"] -mysql = ["SQLAlchemy (>=2.0.0)", "pymysql (>=1.0.2)"] -output-formatting = ["jinja2 (>=3.1.2)", "tabulate (>=0.9.0)"] -parquet = ["pyarrow (>=10.0.1)"] -performance = ["bottleneck (>=1.3.6)", "numba (>=0.56.4)", "numexpr (>=2.8.4)"] -plot = ["matplotlib (>=3.6.3)"] -postgresql = ["SQLAlchemy (>=2.0.0)", "adbc-driver-postgresql (>=0.8.0)", "psycopg2 (>=2.9.6)"] -pyarrow = ["pyarrow (>=10.0.1)"] -spss = ["pyreadstat (>=1.2.0)"] -sql-other = ["SQLAlchemy (>=2.0.0)", "adbc-driver-postgresql (>=0.8.0)", "adbc-driver-sqlite (>=0.8.0)"] -test = ["hypothesis (>=6.46.1)", "pytest (>=7.3.2)", "pytest-xdist (>=2.2.0)"] -xml = ["lxml (>=4.9.2)"] - -[[package]] -name = "pdfminer-six" -version = "20231228" -description = "PDF parser and analyzer" -optional = false -python-versions = ">=3.6" -files = [ - {file = "pdfminer.six-20231228-py3-none-any.whl", hash = "sha256:e8d3c3310e6fbc1fe414090123ab01351634b4ecb021232206c4c9a8ca3e3b8f"}, - {file = "pdfminer.six-20231228.tar.gz", hash = "sha256:6004da3ad1a7a4d45930cb950393df89b068e73be365a6ff64a838d37bcb08c4"}, -] - -[package.dependencies] -charset-normalizer = ">=2.0.0" -cryptography = ">=36.0.0" - -[package.extras] -dev = ["black", "mypy (==0.931)", "nox", "pytest"] -docs = ["sphinx", "sphinx-argparse"] -image = ["Pillow"] - -[[package]] -name = "pdfplumber" -version = "0.11.5" -description = "Plumb a PDF for detailed information about each char, rectangle, and line." -optional = false -python-versions = ">=3.8" -files = [ - {file = "pdfplumber-0.11.5-py3-none-any.whl", hash = "sha256:a6e0921a57e0ef7356001a0fd811250b0e37a0b42630a922ee48f55cdd534070"}, - {file = "pdfplumber-0.11.5.tar.gz", hash = "sha256:dadd81b62a0b23e078cdd89de26e013850d4daf5690fcf46dec396b07e6737d6"}, -] - -[package.dependencies] -"pdfminer.six" = "20231228" -Pillow = ">=9.1" -pypdfium2 = ">=4.18.0" - -[[package]] -name = "pillow" -version = "10.4.0" -description = "Python Imaging Library (Fork)" -optional = false -python-versions = ">=3.8" -files = [ - {file = "pillow-10.4.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:4d9667937cfa347525b319ae34375c37b9ee6b525440f3ef48542fcf66f2731e"}, - {file = "pillow-10.4.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:543f3dc61c18dafb755773efc89aae60d06b6596a63914107f75459cf984164d"}, - {file = "pillow-10.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7928ecbf1ece13956b95d9cbcfc77137652b02763ba384d9ab508099a2eca856"}, - {file = "pillow-10.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e4d49b85c4348ea0b31ea63bc75a9f3857869174e2bf17e7aba02945cd218e6f"}, - {file = "pillow-10.4.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:6c762a5b0997f5659a5ef2266abc1d8851ad7749ad9a6a5506eb23d314e4f46b"}, - {file = "pillow-10.4.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:a985e028fc183bf12a77a8bbf36318db4238a3ded7fa9df1b9a133f1cb79f8fc"}, - {file = "pillow-10.4.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:812f7342b0eee081eaec84d91423d1b4650bb9828eb53d8511bcef8ce5aecf1e"}, - {file = "pillow-10.4.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:ac1452d2fbe4978c2eec89fb5a23b8387aba707ac72810d9490118817d9c0b46"}, - {file = "pillow-10.4.0-cp310-cp310-win32.whl", hash = "sha256:bcd5e41a859bf2e84fdc42f4edb7d9aba0a13d29a2abadccafad99de3feff984"}, - {file = "pillow-10.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:ecd85a8d3e79cd7158dec1c9e5808e821feea088e2f69a974db5edf84dc53141"}, - {file = "pillow-10.4.0-cp310-cp310-win_arm64.whl", hash = "sha256:ff337c552345e95702c5fde3158acb0625111017d0e5f24bf3acdb9cc16b90d1"}, - {file = "pillow-10.4.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:0a9ec697746f268507404647e531e92889890a087e03681a3606d9b920fbee3c"}, - {file = "pillow-10.4.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:dfe91cb65544a1321e631e696759491ae04a2ea11d36715eca01ce07284738be"}, - {file = "pillow-10.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5dc6761a6efc781e6a1544206f22c80c3af4c8cf461206d46a1e6006e4429ff3"}, - {file = "pillow-10.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5e84b6cc6a4a3d76c153a6b19270b3526a5a8ed6b09501d3af891daa2a9de7d6"}, - {file = "pillow-10.4.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:bbc527b519bd3aa9d7f429d152fea69f9ad37c95f0b02aebddff592688998abe"}, - {file = "pillow-10.4.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:76a911dfe51a36041f2e756b00f96ed84677cdeb75d25c767f296c1c1eda1319"}, - {file = "pillow-10.4.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:59291fb29317122398786c2d44427bbd1a6d7ff54017075b22be9d21aa59bd8d"}, - {file = "pillow-10.4.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:416d3a5d0e8cfe4f27f574362435bc9bae57f679a7158e0096ad2beb427b8696"}, - {file = "pillow-10.4.0-cp311-cp311-win32.whl", hash = "sha256:7086cc1d5eebb91ad24ded9f58bec6c688e9f0ed7eb3dbbf1e4800280a896496"}, - {file = "pillow-10.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:cbed61494057c0f83b83eb3a310f0bf774b09513307c434d4366ed64f4128a91"}, - {file = "pillow-10.4.0-cp311-cp311-win_arm64.whl", hash = "sha256:f5f0c3e969c8f12dd2bb7e0b15d5c468b51e5017e01e2e867335c81903046a22"}, - {file = "pillow-10.4.0-cp312-cp312-macosx_10_10_x86_64.whl", hash = "sha256:673655af3eadf4df6b5457033f086e90299fdd7a47983a13827acf7459c15d94"}, - {file = "pillow-10.4.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:866b6942a92f56300012f5fbac71f2d610312ee65e22f1aa2609e491284e5597"}, - {file = "pillow-10.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:29dbdc4207642ea6aad70fbde1a9338753d33fb23ed6956e706936706f52dd80"}, - {file = "pillow-10.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf2342ac639c4cf38799a44950bbc2dfcb685f052b9e262f446482afaf4bffca"}, - {file = "pillow-10.4.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:f5b92f4d70791b4a67157321c4e8225d60b119c5cc9aee8ecf153aace4aad4ef"}, - {file = "pillow-10.4.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:86dcb5a1eb778d8b25659d5e4341269e8590ad6b4e8b44d9f4b07f8d136c414a"}, - {file = "pillow-10.4.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:780c072c2e11c9b2c7ca37f9a2ee8ba66f44367ac3e5c7832afcfe5104fd6d1b"}, - {file = "pillow-10.4.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:37fb69d905be665f68f28a8bba3c6d3223c8efe1edf14cc4cfa06c241f8c81d9"}, - {file = "pillow-10.4.0-cp312-cp312-win32.whl", hash = "sha256:7dfecdbad5c301d7b5bde160150b4db4c659cee2b69589705b6f8a0c509d9f42"}, - {file = "pillow-10.4.0-cp312-cp312-win_amd64.whl", hash = "sha256:1d846aea995ad352d4bdcc847535bd56e0fd88d36829d2c90be880ef1ee4668a"}, - {file = "pillow-10.4.0-cp312-cp312-win_arm64.whl", hash = "sha256:e553cad5179a66ba15bb18b353a19020e73a7921296a7979c4a2b7f6a5cd57f9"}, - {file = "pillow-10.4.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:8bc1a764ed8c957a2e9cacf97c8b2b053b70307cf2996aafd70e91a082e70df3"}, - {file = "pillow-10.4.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:6209bb41dc692ddfee4942517c19ee81b86c864b626dbfca272ec0f7cff5d9fb"}, - {file = "pillow-10.4.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bee197b30783295d2eb680b311af15a20a8b24024a19c3a26431ff83eb8d1f70"}, - {file = "pillow-10.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1ef61f5dd14c300786318482456481463b9d6b91ebe5ef12f405afbba77ed0be"}, - {file = "pillow-10.4.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:297e388da6e248c98bc4a02e018966af0c5f92dfacf5a5ca22fa01cb3179bca0"}, - {file = "pillow-10.4.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:e4db64794ccdf6cb83a59d73405f63adbe2a1887012e308828596100a0b2f6cc"}, - {file = "pillow-10.4.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:bd2880a07482090a3bcb01f4265f1936a903d70bc740bfcb1fd4e8a2ffe5cf5a"}, - {file = "pillow-10.4.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4b35b21b819ac1dbd1233317adeecd63495f6babf21b7b2512d244ff6c6ce309"}, - {file = "pillow-10.4.0-cp313-cp313-win32.whl", hash = "sha256:551d3fd6e9dc15e4c1eb6fc4ba2b39c0c7933fa113b220057a34f4bb3268a060"}, - {file = "pillow-10.4.0-cp313-cp313-win_amd64.whl", hash = "sha256:030abdbe43ee02e0de642aee345efa443740aa4d828bfe8e2eb11922ea6a21ea"}, - {file = "pillow-10.4.0-cp313-cp313-win_arm64.whl", hash = "sha256:5b001114dd152cfd6b23befeb28d7aee43553e2402c9f159807bf55f33af8a8d"}, - {file = "pillow-10.4.0-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:8d4d5063501b6dd4024b8ac2f04962d661222d120381272deea52e3fc52d3736"}, - {file = "pillow-10.4.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7c1ee6f42250df403c5f103cbd2768a28fe1a0ea1f0f03fe151c8741e1469c8b"}, - {file = "pillow-10.4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b15e02e9bb4c21e39876698abf233c8c579127986f8207200bc8a8f6bb27acf2"}, - {file = "pillow-10.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7a8d4bade9952ea9a77d0c3e49cbd8b2890a399422258a77f357b9cc9be8d680"}, - {file = "pillow-10.4.0-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:43efea75eb06b95d1631cb784aa40156177bf9dd5b4b03ff38979e048258bc6b"}, - {file = "pillow-10.4.0-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:950be4d8ba92aca4b2bb0741285a46bfae3ca699ef913ec8416c1b78eadd64cd"}, - {file = "pillow-10.4.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:d7480af14364494365e89d6fddc510a13e5a2c3584cb19ef65415ca57252fb84"}, - {file = "pillow-10.4.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:73664fe514b34c8f02452ffb73b7a92c6774e39a647087f83d67f010eb9a0cf0"}, - {file = "pillow-10.4.0-cp38-cp38-win32.whl", hash = "sha256:e88d5e6ad0d026fba7bdab8c3f225a69f063f116462c49892b0149e21b6c0a0e"}, - {file = "pillow-10.4.0-cp38-cp38-win_amd64.whl", hash = "sha256:5161eef006d335e46895297f642341111945e2c1c899eb406882a6c61a4357ab"}, - {file = "pillow-10.4.0-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:0ae24a547e8b711ccaaf99c9ae3cd975470e1a30caa80a6aaee9a2f19c05701d"}, - {file = "pillow-10.4.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:298478fe4f77a4408895605f3482b6cc6222c018b2ce565c2b6b9c354ac3229b"}, - {file = "pillow-10.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:134ace6dc392116566980ee7436477d844520a26a4b1bd4053f6f47d096997fd"}, - {file = "pillow-10.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:930044bb7679ab003b14023138b50181899da3f25de50e9dbee23b61b4de2126"}, - {file = "pillow-10.4.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:c76e5786951e72ed3686e122d14c5d7012f16c8303a674d18cdcd6d89557fc5b"}, - {file = "pillow-10.4.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:b2724fdb354a868ddf9a880cb84d102da914e99119211ef7ecbdc613b8c96b3c"}, - {file = "pillow-10.4.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:dbc6ae66518ab3c5847659e9988c3b60dc94ffb48ef9168656e0019a93dbf8a1"}, - {file = "pillow-10.4.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:06b2f7898047ae93fad74467ec3d28fe84f7831370e3c258afa533f81ef7f3df"}, - {file = "pillow-10.4.0-cp39-cp39-win32.whl", hash = "sha256:7970285ab628a3779aecc35823296a7869f889b8329c16ad5a71e4901a3dc4ef"}, - {file = "pillow-10.4.0-cp39-cp39-win_amd64.whl", hash = "sha256:961a7293b2457b405967af9c77dcaa43cc1a8cd50d23c532e62d48ab6cdd56f5"}, - {file = "pillow-10.4.0-cp39-cp39-win_arm64.whl", hash = "sha256:32cda9e3d601a52baccb2856b8ea1fc213c90b340c542dcef77140dfa3278a9e"}, - {file = "pillow-10.4.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:5b4815f2e65b30f5fbae9dfffa8636d992d49705723fe86a3661806e069352d4"}, - {file = "pillow-10.4.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:8f0aef4ef59694b12cadee839e2ba6afeab89c0f39a3adc02ed51d109117b8da"}, - {file = "pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9f4727572e2918acaa9077c919cbbeb73bd2b3ebcfe033b72f858fc9fbef0026"}, - {file = "pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ff25afb18123cea58a591ea0244b92eb1e61a1fd497bf6d6384f09bc3262ec3e"}, - {file = "pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:dc3e2db6ba09ffd7d02ae9141cfa0ae23393ee7687248d46a7507b75d610f4f5"}, - {file = "pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:02a2be69f9c9b8c1e97cf2713e789d4e398c751ecfd9967c18d0ce304efbf885"}, - {file = "pillow-10.4.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:0755ffd4a0c6f267cccbae2e9903d95477ca2f77c4fcf3a3a09570001856c8a5"}, - {file = "pillow-10.4.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:a02364621fe369e06200d4a16558e056fe2805d3468350df3aef21e00d26214b"}, - {file = "pillow-10.4.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:1b5dea9831a90e9d0721ec417a80d4cbd7022093ac38a568db2dd78363b00908"}, - {file = "pillow-10.4.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9b885f89040bb8c4a1573566bbb2f44f5c505ef6e74cec7ab9068c900047f04b"}, - {file = "pillow-10.4.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:87dd88ded2e6d74d31e1e0a99a726a6765cda32d00ba72dc37f0651f306daaa8"}, - {file = "pillow-10.4.0-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:2db98790afc70118bd0255c2eeb465e9767ecf1f3c25f9a1abb8ffc8cfd1fe0a"}, - {file = "pillow-10.4.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:f7baece4ce06bade126fb84b8af1c33439a76d8a6fd818970215e0560ca28c27"}, - {file = "pillow-10.4.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:cfdd747216947628af7b259d274771d84db2268ca062dd5faf373639d00113a3"}, - {file = "pillow-10.4.0.tar.gz", hash = "sha256:166c1cd4d24309b30d61f79f4a9114b7b2313d7450912277855ff5dfd7cd4a06"}, -] - -[package.extras] -docs = ["furo", "olefile", "sphinx (>=7.3)", "sphinx-copybutton", "sphinx-inline-tabs", "sphinxext-opengraph"] -fpx = ["olefile"] -mic = ["olefile"] -tests = ["check-manifest", "coverage", "defusedxml", "markdown2", "olefile", "packaging", "pyroma", "pytest", "pytest-cov", "pytest-timeout"] -typing = ["typing-extensions"] -xmp = ["defusedxml"] - -[[package]] -name = "pluggy" -version = "1.5.0" -description = "plugin and hook calling mechanisms for python" -optional = false -python-versions = ">=3.8" -files = [ - {file = "pluggy-1.5.0-py3-none-any.whl", hash = "sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669"}, - {file = "pluggy-1.5.0.tar.gz", hash = "sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1"}, -] - -[package.extras] -dev = ["pre-commit", "tox"] -testing = ["pytest", "pytest-benchmark"] - -[[package]] -name = "propcache" -version = "0.2.1" -description = "Accelerated property cache" -optional = false -python-versions = ">=3.9" -files = [ - {file = "propcache-0.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:6b3f39a85d671436ee3d12c017f8fdea38509e4f25b28eb25877293c98c243f6"}, - {file = "propcache-0.2.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:39d51fbe4285d5db5d92a929e3e21536ea3dd43732c5b177c7ef03f918dff9f2"}, - {file = "propcache-0.2.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6445804cf4ec763dc70de65a3b0d9954e868609e83850a47ca4f0cb64bd79fea"}, - {file = "propcache-0.2.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f9479aa06a793c5aeba49ce5c5692ffb51fcd9a7016e017d555d5e2b0045d212"}, - {file = "propcache-0.2.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d9631c5e8b5b3a0fda99cb0d29c18133bca1e18aea9effe55adb3da1adef80d3"}, - {file = "propcache-0.2.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3156628250f46a0895f1f36e1d4fbe062a1af8718ec3ebeb746f1d23f0c5dc4d"}, - {file = "propcache-0.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6b6fb63ae352e13748289f04f37868099e69dba4c2b3e271c46061e82c745634"}, - {file = "propcache-0.2.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:887d9b0a65404929641a9fabb6452b07fe4572b269d901d622d8a34a4e9043b2"}, - {file = "propcache-0.2.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:a96dc1fa45bd8c407a0af03b2d5218392729e1822b0c32e62c5bf7eeb5fb3958"}, - {file = "propcache-0.2.1-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:a7e65eb5c003a303b94aa2c3852ef130230ec79e349632d030e9571b87c4698c"}, - {file = "propcache-0.2.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:999779addc413181912e984b942fbcc951be1f5b3663cd80b2687758f434c583"}, - {file = "propcache-0.2.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:19a0f89a7bb9d8048d9c4370c9c543c396e894c76be5525f5e1ad287f1750ddf"}, - {file = "propcache-0.2.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:1ac2f5fe02fa75f56e1ad473f1175e11f475606ec9bd0be2e78e4734ad575034"}, - {file = "propcache-0.2.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:574faa3b79e8ebac7cb1d7930f51184ba1ccf69adfdec53a12f319a06030a68b"}, - {file = "propcache-0.2.1-cp310-cp310-win32.whl", hash = "sha256:03ff9d3f665769b2a85e6157ac8b439644f2d7fd17615a82fa55739bc97863f4"}, - {file = "propcache-0.2.1-cp310-cp310-win_amd64.whl", hash = "sha256:2d3af2e79991102678f53e0dbf4c35de99b6b8b58f29a27ca0325816364caaba"}, - {file = "propcache-0.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:1ffc3cca89bb438fb9c95c13fc874012f7b9466b89328c3c8b1aa93cdcfadd16"}, - {file = "propcache-0.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f174bbd484294ed9fdf09437f889f95807e5f229d5d93588d34e92106fbf6717"}, - {file = "propcache-0.2.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:70693319e0b8fd35dd863e3e29513875eb15c51945bf32519ef52927ca883bc3"}, - {file = "propcache-0.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b480c6a4e1138e1aa137c0079b9b6305ec6dcc1098a8ca5196283e8a49df95a9"}, - {file = "propcache-0.2.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d27b84d5880f6d8aa9ae3edb253c59d9f6642ffbb2c889b78b60361eed449787"}, - {file = "propcache-0.2.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:857112b22acd417c40fa4595db2fe28ab900c8c5fe4670c7989b1c0230955465"}, - {file = "propcache-0.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cf6c4150f8c0e32d241436526f3c3f9cbd34429492abddbada2ffcff506c51af"}, - {file = "propcache-0.2.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:66d4cfda1d8ed687daa4bc0274fcfd5267873db9a5bc0418c2da19273040eeb7"}, - {file = "propcache-0.2.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c2f992c07c0fca81655066705beae35fc95a2fa7366467366db627d9f2ee097f"}, - {file = "propcache-0.2.1-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:4a571d97dbe66ef38e472703067021b1467025ec85707d57e78711c085984e54"}, - {file = "propcache-0.2.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:bb6178c241278d5fe853b3de743087be7f5f4c6f7d6d22a3b524d323eecec505"}, - {file = "propcache-0.2.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:ad1af54a62ffe39cf34db1aa6ed1a1873bd548f6401db39d8e7cd060b9211f82"}, - {file = "propcache-0.2.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:e7048abd75fe40712005bcfc06bb44b9dfcd8e101dda2ecf2f5aa46115ad07ca"}, - {file = "propcache-0.2.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:160291c60081f23ee43d44b08a7e5fb76681221a8e10b3139618c5a9a291b84e"}, - {file = "propcache-0.2.1-cp311-cp311-win32.whl", hash = "sha256:819ce3b883b7576ca28da3861c7e1a88afd08cc8c96908e08a3f4dd64a228034"}, - {file = "propcache-0.2.1-cp311-cp311-win_amd64.whl", hash = "sha256:edc9fc7051e3350643ad929df55c451899bb9ae6d24998a949d2e4c87fb596d3"}, - {file = "propcache-0.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:081a430aa8d5e8876c6909b67bd2d937bfd531b0382d3fdedb82612c618bc41a"}, - {file = "propcache-0.2.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:d2ccec9ac47cf4e04897619c0e0c1a48c54a71bdf045117d3a26f80d38ab1fb0"}, - {file = "propcache-0.2.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:14d86fe14b7e04fa306e0c43cdbeebe6b2c2156a0c9ce56b815faacc193e320d"}, - {file = "propcache-0.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:049324ee97bb67285b49632132db351b41e77833678432be52bdd0289c0e05e4"}, - {file = "propcache-0.2.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1cd9a1d071158de1cc1c71a26014dcdfa7dd3d5f4f88c298c7f90ad6f27bb46d"}, - {file = "propcache-0.2.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:98110aa363f1bb4c073e8dcfaefd3a5cea0f0834c2aab23dda657e4dab2f53b5"}, - {file = "propcache-0.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:647894f5ae99c4cf6bb82a1bb3a796f6e06af3caa3d32e26d2350d0e3e3faf24"}, - {file = "propcache-0.2.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bfd3223c15bebe26518d58ccf9a39b93948d3dcb3e57a20480dfdd315356baff"}, - {file = "propcache-0.2.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:d71264a80f3fcf512eb4f18f59423fe82d6e346ee97b90625f283df56aee103f"}, - {file = "propcache-0.2.1-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:e73091191e4280403bde6c9a52a6999d69cdfde498f1fdf629105247599b57ec"}, - {file = "propcache-0.2.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:3935bfa5fede35fb202c4b569bb9c042f337ca4ff7bd540a0aa5e37131659348"}, - {file = "propcache-0.2.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:f508b0491767bb1f2b87fdfacaba5f7eddc2f867740ec69ece6d1946d29029a6"}, - {file = "propcache-0.2.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:1672137af7c46662a1c2be1e8dc78cb6d224319aaa40271c9257d886be4363a6"}, - {file = "propcache-0.2.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:b74c261802d3d2b85c9df2dfb2fa81b6f90deeef63c2db9f0e029a3cac50b518"}, - {file = "propcache-0.2.1-cp312-cp312-win32.whl", hash = "sha256:d09c333d36c1409d56a9d29b3a1b800a42c76a57a5a8907eacdbce3f18768246"}, - {file = "propcache-0.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:c214999039d4f2a5b2073ac506bba279945233da8c786e490d411dfc30f855c1"}, - {file = "propcache-0.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:aca405706e0b0a44cc6bfd41fbe89919a6a56999157f6de7e182a990c36e37bc"}, - {file = "propcache-0.2.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:12d1083f001ace206fe34b6bdc2cb94be66d57a850866f0b908972f90996b3e9"}, - {file = "propcache-0.2.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:d93f3307ad32a27bda2e88ec81134b823c240aa3abb55821a8da553eed8d9439"}, - {file = "propcache-0.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ba278acf14471d36316159c94a802933d10b6a1e117b8554fe0d0d9b75c9d536"}, - {file = "propcache-0.2.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4e6281aedfca15301c41f74d7005e6e3f4ca143584ba696ac69df4f02f40d629"}, - {file = "propcache-0.2.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5b750a8e5a1262434fb1517ddf64b5de58327f1adc3524a5e44c2ca43305eb0b"}, - {file = "propcache-0.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf72af5e0fb40e9babf594308911436c8efde3cb5e75b6f206c34ad18be5c052"}, - {file = "propcache-0.2.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b2d0a12018b04f4cb820781ec0dffb5f7c7c1d2a5cd22bff7fb055a2cb19ebce"}, - {file = "propcache-0.2.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:e800776a79a5aabdb17dcc2346a7d66d0777e942e4cd251defeb084762ecd17d"}, - {file = "propcache-0.2.1-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:4160d9283bd382fa6c0c2b5e017acc95bc183570cd70968b9202ad6d8fc48dce"}, - {file = "propcache-0.2.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:30b43e74f1359353341a7adb783c8f1b1c676367b011709f466f42fda2045e95"}, - {file = "propcache-0.2.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:58791550b27d5488b1bb52bc96328456095d96206a250d28d874fafe11b3dfaf"}, - {file = "propcache-0.2.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:0f022d381747f0dfe27e99d928e31bc51a18b65bb9e481ae0af1380a6725dd1f"}, - {file = "propcache-0.2.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:297878dc9d0a334358f9b608b56d02e72899f3b8499fc6044133f0d319e2ec30"}, - {file = "propcache-0.2.1-cp313-cp313-win32.whl", hash = "sha256:ddfab44e4489bd79bda09d84c430677fc7f0a4939a73d2bba3073036f487a0a6"}, - {file = "propcache-0.2.1-cp313-cp313-win_amd64.whl", hash = "sha256:556fc6c10989f19a179e4321e5d678db8eb2924131e64652a51fe83e4c3db0e1"}, - {file = "propcache-0.2.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:6a9a8c34fb7bb609419a211e59da8887eeca40d300b5ea8e56af98f6fbbb1541"}, - {file = "propcache-0.2.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:ae1aa1cd222c6d205853b3013c69cd04515f9d6ab6de4b0603e2e1c33221303e"}, - {file = "propcache-0.2.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:accb6150ce61c9c4b7738d45550806aa2b71c7668c6942f17b0ac182b6142fd4"}, - {file = "propcache-0.2.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5eee736daafa7af6d0a2dc15cc75e05c64f37fc37bafef2e00d77c14171c2097"}, - {file = "propcache-0.2.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f7a31fc1e1bd362874863fdeed71aed92d348f5336fd84f2197ba40c59f061bd"}, - {file = "propcache-0.2.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cba4cfa1052819d16699e1d55d18c92b6e094d4517c41dd231a8b9f87b6fa681"}, - {file = "propcache-0.2.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f089118d584e859c62b3da0892b88a83d611c2033ac410e929cb6754eec0ed16"}, - {file = "propcache-0.2.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:781e65134efaf88feb447e8c97a51772aa75e48b794352f94cb7ea717dedda0d"}, - {file = "propcache-0.2.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:31f5af773530fd3c658b32b6bdc2d0838543de70eb9a2156c03e410f7b0d3aae"}, - {file = "propcache-0.2.1-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:a7a078f5d37bee6690959c813977da5291b24286e7b962e62a94cec31aa5188b"}, - {file = "propcache-0.2.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:cea7daf9fc7ae6687cf1e2c049752f19f146fdc37c2cc376e7d0032cf4f25347"}, - {file = "propcache-0.2.1-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:8b3489ff1ed1e8315674d0775dc7d2195fb13ca17b3808721b54dbe9fd020faf"}, - {file = "propcache-0.2.1-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:9403db39be1393618dd80c746cb22ccda168efce239c73af13c3763ef56ffc04"}, - {file = "propcache-0.2.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:5d97151bc92d2b2578ff7ce779cdb9174337390a535953cbb9452fb65164c587"}, - {file = "propcache-0.2.1-cp39-cp39-win32.whl", hash = "sha256:9caac6b54914bdf41bcc91e7eb9147d331d29235a7c967c150ef5df6464fd1bb"}, - {file = "propcache-0.2.1-cp39-cp39-win_amd64.whl", hash = "sha256:92fc4500fcb33899b05ba73276dfb684a20d31caa567b7cb5252d48f896a91b1"}, - {file = "propcache-0.2.1-py3-none-any.whl", hash = "sha256:52277518d6aae65536e9cea52d4e7fd2f7a66f4aa2d30ed3f2fcea620ace3c54"}, - {file = "propcache-0.2.1.tar.gz", hash = "sha256:3f77ce728b19cb537714499928fe800c3dda29e8d9428778fc7c186da4c09a64"}, -] - -[[package]] -name = "pyarrow" -version = "19.0.0" -description = "Python library for Apache Arrow" -optional = false -python-versions = ">=3.9" -files = [ - {file = "pyarrow-19.0.0-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:c318eda14f6627966997a7d8c374a87d084a94e4e38e9abbe97395c215830e0c"}, - {file = "pyarrow-19.0.0-cp310-cp310-macosx_12_0_x86_64.whl", hash = "sha256:62ef8360ff256e960f57ce0299090fb86423afed5e46f18f1225f960e05aae3d"}, - {file = "pyarrow-19.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2795064647add0f16563e57e3d294dbfc067b723f0fd82ecd80af56dad15f503"}, - {file = "pyarrow-19.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a218670b26fb1bc74796458d97bcab072765f9b524f95b2fccad70158feb8b17"}, - {file = "pyarrow-19.0.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:66732e39eaa2247996a6b04c8aa33e3503d351831424cdf8d2e9a0582ac54b34"}, - {file = "pyarrow-19.0.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:e675a3ad4732b92d72e4d24009707e923cab76b0d088e5054914f11a797ebe44"}, - {file = "pyarrow-19.0.0-cp310-cp310-win_amd64.whl", hash = "sha256:f094742275586cdd6b1a03655ccff3b24b2610c3af76f810356c4c71d24a2a6c"}, - {file = "pyarrow-19.0.0-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:8e3a839bf36ec03b4315dc924d36dcde5444a50066f1c10f8290293c0427b46a"}, - {file = "pyarrow-19.0.0-cp311-cp311-macosx_12_0_x86_64.whl", hash = "sha256:ce42275097512d9e4e4a39aade58ef2b3798a93aa3026566b7892177c266f735"}, - {file = "pyarrow-19.0.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9348a0137568c45601b031a8d118275069435f151cbb77e6a08a27e8125f59d4"}, - {file = "pyarrow-19.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2a0144a712d990d60f7f42b7a31f0acaccf4c1e43e957f7b1ad58150d6f639c1"}, - {file = "pyarrow-19.0.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:2a1a109dfda558eb011e5f6385837daffd920d54ca00669f7a11132d0b1e6042"}, - {file = "pyarrow-19.0.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:be686bf625aa7b9bada18defb3a3ea3981c1099697239788ff111d87f04cd263"}, - {file = "pyarrow-19.0.0-cp311-cp311-win_amd64.whl", hash = "sha256:239ca66d9a05844bdf5af128861af525e14df3c9591bcc05bac25918e650d3a2"}, - {file = "pyarrow-19.0.0-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:a7bbe7109ab6198688b7079cbad5a8c22de4d47c4880d8e4847520a83b0d1b68"}, - {file = "pyarrow-19.0.0-cp312-cp312-macosx_12_0_x86_64.whl", hash = "sha256:4624c89d6f777c580e8732c27bb8e77fd1433b89707f17c04af7635dd9638351"}, - {file = "pyarrow-19.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2b6d3ce4288793350dc2d08d1e184fd70631ea22a4ff9ea5c4ff182130249d9b"}, - {file = "pyarrow-19.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:450a7d27e840e4d9a384b5c77199d489b401529e75a3b7a3799d4cd7957f2f9c"}, - {file = "pyarrow-19.0.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:a08e2a8a039a3f72afb67a6668180f09fddaa38fe0d21f13212b4aba4b5d2451"}, - {file = "pyarrow-19.0.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:f43f5aef2a13d4d56adadae5720d1fed4c1356c993eda8b59dace4b5983843c1"}, - {file = "pyarrow-19.0.0-cp312-cp312-win_amd64.whl", hash = "sha256:2f672f5364b2d7829ef7c94be199bb88bf5661dd485e21d2d37de12ccb78a136"}, - {file = "pyarrow-19.0.0-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:cf3bf0ce511b833f7bc5f5bb3127ba731e97222023a444b7359f3a22e2a3b463"}, - {file = "pyarrow-19.0.0-cp313-cp313-macosx_12_0_x86_64.whl", hash = "sha256:4d8b0c0de0a73df1f1bf439af1b60f273d719d70648e898bc077547649bb8352"}, - {file = "pyarrow-19.0.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a92aff08e23d281c69835e4a47b80569242a504095ef6a6223c1f6bb8883431d"}, - {file = "pyarrow-19.0.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c3b78eff5968a1889a0f3bc81ca57e1e19b75f664d9c61a42a604bf9d8402aae"}, - {file = "pyarrow-19.0.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:b34d3bde38eba66190b215bae441646330f8e9da05c29e4b5dd3e41bde701098"}, - {file = "pyarrow-19.0.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:5418d4d0fab3a0ed497bad21d17a7973aad336d66ad4932a3f5f7480d4ca0c04"}, - {file = "pyarrow-19.0.0-cp313-cp313-win_amd64.whl", hash = "sha256:e82c3d5e44e969c217827b780ed8faf7ac4c53f934ae9238872e749fa531f7c9"}, - {file = "pyarrow-19.0.0-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:f208c3b58a6df3b239e0bb130e13bc7487ed14f39a9ff357b6415e3f6339b560"}, - {file = "pyarrow-19.0.0-cp313-cp313t-macosx_12_0_x86_64.whl", hash = "sha256:c751c1c93955b7a84c06794df46f1cec93e18610dcd5ab7d08e89a81df70a849"}, - {file = "pyarrow-19.0.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b903afaa5df66d50fc38672ad095806443b05f202c792694f3a604ead7c6ea6e"}, - {file = "pyarrow-19.0.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a22a4bc0937856263df8b94f2f2781b33dd7f876f787ed746608e06902d691a5"}, - {file = "pyarrow-19.0.0-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:5e8a28b918e2e878c918f6d89137386c06fe577cd08d73a6be8dafb317dc2d73"}, - {file = "pyarrow-19.0.0-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:29cd86c8001a94f768f79440bf83fee23963af5e7bc68ce3a7e5f120e17edf89"}, - {file = "pyarrow-19.0.0-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:c0423393e4a07ff6fea08feb44153302dd261d0551cc3b538ea7a5dc853af43a"}, - {file = "pyarrow-19.0.0-cp39-cp39-macosx_12_0_x86_64.whl", hash = "sha256:718947fb6d82409013a74b176bf93e0f49ef952d8a2ecd068fecd192a97885b7"}, - {file = "pyarrow-19.0.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3c1c162c4660e0978411a4761f91113dde8da3433683efa473501254563dcbe8"}, - {file = "pyarrow-19.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c73268cf557e688efb60f1ccbc7376f7e18cd8e2acae9e663e98b194c40c1a2d"}, - {file = "pyarrow-19.0.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:edfe6d3916e915ada9acc4e48f6dafca7efdbad2e6283db6fd9385a1b23055f1"}, - {file = "pyarrow-19.0.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:da410b70a7ab8eb524112f037a7a35da7128b33d484f7671a264a4c224ac131d"}, - {file = "pyarrow-19.0.0-cp39-cp39-win_amd64.whl", hash = "sha256:597360ffc71fc8cceea1aec1fb60cb510571a744fffc87db33d551d5de919bec"}, - {file = "pyarrow-19.0.0.tar.gz", hash = "sha256:8d47c691765cf497aaeed4954d226568563f1b3b74ff61139f2d77876717084b"}, -] - -[package.extras] -test = ["cffi", "hypothesis", "pandas", "pytest", "pytz"] - -[[package]] -name = "pycparser" -version = "2.22" -description = "C parser in Python" -optional = false -python-versions = ">=3.8" -files = [ - {file = "pycparser-2.22-py3-none-any.whl", hash = "sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc"}, - {file = "pycparser-2.22.tar.gz", hash = "sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6"}, -] - -[[package]] -name = "pydantic" -version = "2.10.6" -description = "Data validation using Python type hints" -optional = false -python-versions = ">=3.8" -files = [ - {file = "pydantic-2.10.6-py3-none-any.whl", hash = "sha256:427d664bf0b8a2b34ff5dd0f5a18df00591adcee7198fbd71981054cef37b584"}, - {file = "pydantic-2.10.6.tar.gz", hash = "sha256:ca5daa827cce33de7a42be142548b0096bf05a7e7b365aebfa5f8eeec7128236"}, -] - -[package.dependencies] -annotated-types = ">=0.6.0" -pydantic-core = "2.27.2" -typing-extensions = ">=4.12.2" - -[package.extras] -email = ["email-validator (>=2.0.0)"] -timezone = ["tzdata"] - -[[package]] -name = "pydantic-core" -version = "2.27.2" -description = "Core functionality for Pydantic validation and serialization" -optional = false -python-versions = ">=3.8" -files = [ - {file = "pydantic_core-2.27.2-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:2d367ca20b2f14095a8f4fa1210f5a7b78b8a20009ecced6b12818f455b1e9fa"}, - {file = "pydantic_core-2.27.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:491a2b73db93fab69731eaee494f320faa4e093dbed776be1a829c2eb222c34c"}, - {file = "pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7969e133a6f183be60e9f6f56bfae753585680f3b7307a8e555a948d443cc05a"}, - {file = "pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3de9961f2a346257caf0aa508a4da705467f53778e9ef6fe744c038119737ef5"}, - {file = "pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e2bb4d3e5873c37bb3dd58714d4cd0b0e6238cebc4177ac8fe878f8b3aa8e74c"}, - {file = "pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:280d219beebb0752699480fe8f1dc61ab6615c2046d76b7ab7ee38858de0a4e7"}, - {file = "pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:47956ae78b6422cbd46f772f1746799cbb862de838fd8d1fbd34a82e05b0983a"}, - {file = "pydantic_core-2.27.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:14d4a5c49d2f009d62a2a7140d3064f686d17a5d1a268bc641954ba181880236"}, - {file = "pydantic_core-2.27.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:337b443af21d488716f8d0b6164de833e788aa6bd7e3a39c005febc1284f4962"}, - {file = "pydantic_core-2.27.2-cp310-cp310-musllinux_1_1_armv7l.whl", hash = "sha256:03d0f86ea3184a12f41a2d23f7ccb79cdb5a18e06993f8a45baa8dfec746f0e9"}, - {file = "pydantic_core-2.27.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:7041c36f5680c6e0f08d922aed302e98b3745d97fe1589db0a3eebf6624523af"}, - {file = "pydantic_core-2.27.2-cp310-cp310-win32.whl", hash = "sha256:50a68f3e3819077be2c98110c1f9dcb3817e93f267ba80a2c05bb4f8799e2ff4"}, - {file = "pydantic_core-2.27.2-cp310-cp310-win_amd64.whl", hash = "sha256:e0fd26b16394ead34a424eecf8a31a1f5137094cabe84a1bcb10fa6ba39d3d31"}, - {file = "pydantic_core-2.27.2-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:8e10c99ef58cfdf2a66fc15d66b16c4a04f62bca39db589ae8cba08bc55331bc"}, - {file = "pydantic_core-2.27.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:26f32e0adf166a84d0cb63be85c562ca8a6fa8de28e5f0d92250c6b7e9e2aff7"}, - {file = "pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8c19d1ea0673cd13cc2f872f6c9ab42acc4e4f492a7ca9d3795ce2b112dd7e15"}, - {file = "pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5e68c4446fe0810e959cdff46ab0a41ce2f2c86d227d96dc3847af0ba7def306"}, - {file = "pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d9640b0059ff4f14d1f37321b94061c6db164fbe49b334b31643e0528d100d99"}, - {file = "pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:40d02e7d45c9f8af700f3452f329ead92da4c5f4317ca9b896de7ce7199ea459"}, - {file = "pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1c1fd185014191700554795c99b347d64f2bb637966c4cfc16998a0ca700d048"}, - {file = "pydantic_core-2.27.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d81d2068e1c1228a565af076598f9e7451712700b673de8f502f0334f281387d"}, - {file = "pydantic_core-2.27.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:1a4207639fb02ec2dbb76227d7c751a20b1a6b4bc52850568e52260cae64ca3b"}, - {file = "pydantic_core-2.27.2-cp311-cp311-musllinux_1_1_armv7l.whl", hash = "sha256:3de3ce3c9ddc8bbd88f6e0e304dea0e66d843ec9de1b0042b0911c1663ffd474"}, - {file = "pydantic_core-2.27.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:30c5f68ded0c36466acede341551106821043e9afaad516adfb6e8fa80a4e6a6"}, - {file = "pydantic_core-2.27.2-cp311-cp311-win32.whl", hash = "sha256:c70c26d2c99f78b125a3459f8afe1aed4d9687c24fd677c6a4436bc042e50d6c"}, - {file = "pydantic_core-2.27.2-cp311-cp311-win_amd64.whl", hash = "sha256:08e125dbdc505fa69ca7d9c499639ab6407cfa909214d500897d02afb816e7cc"}, - {file = "pydantic_core-2.27.2-cp311-cp311-win_arm64.whl", hash = "sha256:26f0d68d4b235a2bae0c3fc585c585b4ecc51382db0e3ba402a22cbc440915e4"}, - {file = "pydantic_core-2.27.2-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:9e0c8cfefa0ef83b4da9588448b6d8d2a2bf1a53c3f1ae5fca39eb3061e2f0b0"}, - {file = "pydantic_core-2.27.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:83097677b8e3bd7eaa6775720ec8e0405f1575015a463285a92bfdfe254529ef"}, - {file = "pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:172fce187655fece0c90d90a678424b013f8fbb0ca8b036ac266749c09438cb7"}, - {file = "pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:519f29f5213271eeeeb3093f662ba2fd512b91c5f188f3bb7b27bc5973816934"}, - {file = "pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:05e3a55d124407fffba0dd6b0c0cd056d10e983ceb4e5dbd10dda135c31071d6"}, - {file = "pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9c3ed807c7b91de05e63930188f19e921d1fe90de6b4f5cd43ee7fcc3525cb8c"}, - {file = "pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6fb4aadc0b9a0c063206846d603b92030eb6f03069151a625667f982887153e2"}, - {file = "pydantic_core-2.27.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:28ccb213807e037460326424ceb8b5245acb88f32f3d2777427476e1b32c48c4"}, - {file = "pydantic_core-2.27.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:de3cd1899e2c279b140adde9357c4495ed9d47131b4a4eaff9052f23398076b3"}, - {file = "pydantic_core-2.27.2-cp312-cp312-musllinux_1_1_armv7l.whl", hash = "sha256:220f892729375e2d736b97d0e51466252ad84c51857d4d15f5e9692f9ef12be4"}, - {file = "pydantic_core-2.27.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:a0fcd29cd6b4e74fe8ddd2c90330fd8edf2e30cb52acda47f06dd615ae72da57"}, - {file = "pydantic_core-2.27.2-cp312-cp312-win32.whl", hash = "sha256:1e2cb691ed9834cd6a8be61228471d0a503731abfb42f82458ff27be7b2186fc"}, - {file = "pydantic_core-2.27.2-cp312-cp312-win_amd64.whl", hash = "sha256:cc3f1a99a4f4f9dd1de4fe0312c114e740b5ddead65bb4102884b384c15d8bc9"}, - {file = "pydantic_core-2.27.2-cp312-cp312-win_arm64.whl", hash = "sha256:3911ac9284cd8a1792d3cb26a2da18f3ca26c6908cc434a18f730dc0db7bfa3b"}, - {file = "pydantic_core-2.27.2-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:7d14bd329640e63852364c306f4d23eb744e0f8193148d4044dd3dacdaacbd8b"}, - {file = "pydantic_core-2.27.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:82f91663004eb8ed30ff478d77c4d1179b3563df6cdb15c0817cd1cdaf34d154"}, - {file = "pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:71b24c7d61131bb83df10cc7e687433609963a944ccf45190cfc21e0887b08c9"}, - {file = "pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:fa8e459d4954f608fa26116118bb67f56b93b209c39b008277ace29937453dc9"}, - {file = "pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ce8918cbebc8da707ba805b7fd0b382816858728ae7fe19a942080c24e5b7cd1"}, - {file = "pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:eda3f5c2a021bbc5d976107bb302e0131351c2ba54343f8a496dc8783d3d3a6a"}, - {file = "pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bd8086fa684c4775c27f03f062cbb9eaa6e17f064307e86b21b9e0abc9c0f02e"}, - {file = "pydantic_core-2.27.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:8d9b3388db186ba0c099a6d20f0604a44eabdeef1777ddd94786cdae158729e4"}, - {file = "pydantic_core-2.27.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:7a66efda2387de898c8f38c0cf7f14fca0b51a8ef0b24bfea5849f1b3c95af27"}, - {file = "pydantic_core-2.27.2-cp313-cp313-musllinux_1_1_armv7l.whl", hash = "sha256:18a101c168e4e092ab40dbc2503bdc0f62010e95d292b27827871dc85450d7ee"}, - {file = "pydantic_core-2.27.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:ba5dd002f88b78a4215ed2f8ddbdf85e8513382820ba15ad5ad8955ce0ca19a1"}, - {file = "pydantic_core-2.27.2-cp313-cp313-win32.whl", hash = "sha256:1ebaf1d0481914d004a573394f4be3a7616334be70261007e47c2a6fe7e50130"}, - {file = "pydantic_core-2.27.2-cp313-cp313-win_amd64.whl", hash = "sha256:953101387ecf2f5652883208769a79e48db18c6df442568a0b5ccd8c2723abee"}, - {file = "pydantic_core-2.27.2-cp313-cp313-win_arm64.whl", hash = "sha256:ac4dbfd1691affb8f48c2c13241a2e3b60ff23247cbcf981759c768b6633cf8b"}, - {file = "pydantic_core-2.27.2-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:d3e8d504bdd3f10835468f29008d72fc8359d95c9c415ce6e767203db6127506"}, - {file = "pydantic_core-2.27.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:521eb9b7f036c9b6187f0b47318ab0d7ca14bd87f776240b90b21c1f4f149320"}, - {file = "pydantic_core-2.27.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:85210c4d99a0114f5a9481b44560d7d1e35e32cc5634c656bc48e590b669b145"}, - {file = "pydantic_core-2.27.2-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d716e2e30c6f140d7560ef1538953a5cd1a87264c737643d481f2779fc247fe1"}, - {file = "pydantic_core-2.27.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f66d89ba397d92f840f8654756196d93804278457b5fbede59598a1f9f90b228"}, - {file = "pydantic_core-2.27.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:669e193c1c576a58f132e3158f9dfa9662969edb1a250c54d8fa52590045f046"}, - {file = "pydantic_core-2.27.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9fdbe7629b996647b99c01b37f11170a57ae675375b14b8c13b8518b8320ced5"}, - {file = "pydantic_core-2.27.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d262606bf386a5ba0b0af3b97f37c83d7011439e3dc1a9298f21efb292e42f1a"}, - {file = "pydantic_core-2.27.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:cabb9bcb7e0d97f74df8646f34fc76fbf793b7f6dc2438517d7a9e50eee4f14d"}, - {file = "pydantic_core-2.27.2-cp38-cp38-musllinux_1_1_armv7l.whl", hash = "sha256:d2d63f1215638d28221f664596b1ccb3944f6e25dd18cd3b86b0a4c408d5ebb9"}, - {file = "pydantic_core-2.27.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:bca101c00bff0adb45a833f8451b9105d9df18accb8743b08107d7ada14bd7da"}, - {file = "pydantic_core-2.27.2-cp38-cp38-win32.whl", hash = "sha256:f6f8e111843bbb0dee4cb6594cdc73e79b3329b526037ec242a3e49012495b3b"}, - {file = "pydantic_core-2.27.2-cp38-cp38-win_amd64.whl", hash = "sha256:fd1aea04935a508f62e0d0ef1f5ae968774a32afc306fb8545e06f5ff5cdf3ad"}, - {file = "pydantic_core-2.27.2-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:c10eb4f1659290b523af58fa7cffb452a61ad6ae5613404519aee4bfbf1df993"}, - {file = "pydantic_core-2.27.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ef592d4bad47296fb11f96cd7dc898b92e795032b4894dfb4076cfccd43a9308"}, - {file = "pydantic_core-2.27.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c61709a844acc6bf0b7dce7daae75195a10aac96a596ea1b776996414791ede4"}, - {file = "pydantic_core-2.27.2-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:42c5f762659e47fdb7b16956c71598292f60a03aa92f8b6351504359dbdba6cf"}, - {file = "pydantic_core-2.27.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4c9775e339e42e79ec99c441d9730fccf07414af63eac2f0e48e08fd38a64d76"}, - {file = "pydantic_core-2.27.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:57762139821c31847cfb2df63c12f725788bd9f04bc2fb392790959b8f70f118"}, - {file = "pydantic_core-2.27.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0d1e85068e818c73e048fe28cfc769040bb1f475524f4745a5dc621f75ac7630"}, - {file = "pydantic_core-2.27.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:097830ed52fd9e427942ff3b9bc17fab52913b2f50f2880dc4a5611446606a54"}, - {file = "pydantic_core-2.27.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:044a50963a614ecfae59bb1eaf7ea7efc4bc62f49ed594e18fa1e5d953c40e9f"}, - {file = "pydantic_core-2.27.2-cp39-cp39-musllinux_1_1_armv7l.whl", hash = "sha256:4e0b4220ba5b40d727c7f879eac379b822eee5d8fff418e9d3381ee45b3b0362"}, - {file = "pydantic_core-2.27.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5e4f4bb20d75e9325cc9696c6802657b58bc1dbbe3022f32cc2b2b632c3fbb96"}, - {file = "pydantic_core-2.27.2-cp39-cp39-win32.whl", hash = "sha256:cca63613e90d001b9f2f9a9ceb276c308bfa2a43fafb75c8031c4f66039e8c6e"}, - {file = "pydantic_core-2.27.2-cp39-cp39-win_amd64.whl", hash = "sha256:77d1bca19b0f7021b3a982e6f903dcd5b2b06076def36a652e3907f596e29f67"}, - {file = "pydantic_core-2.27.2-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:2bf14caea37e91198329b828eae1618c068dfb8ef17bb33287a7ad4b61ac314e"}, - {file = "pydantic_core-2.27.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:b0cb791f5b45307caae8810c2023a184c74605ec3bcbb67d13846c28ff731ff8"}, - {file = "pydantic_core-2.27.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:688d3fd9fcb71f41c4c015c023d12a79d1c4c0732ec9eb35d96e3388a120dcf3"}, - {file = "pydantic_core-2.27.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3d591580c34f4d731592f0e9fe40f9cc1b430d297eecc70b962e93c5c668f15f"}, - {file = "pydantic_core-2.27.2-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:82f986faf4e644ffc189a7f1aafc86e46ef70372bb153e7001e8afccc6e54133"}, - {file = "pydantic_core-2.27.2-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:bec317a27290e2537f922639cafd54990551725fc844249e64c523301d0822fc"}, - {file = "pydantic_core-2.27.2-pp310-pypy310_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:0296abcb83a797db256b773f45773da397da75a08f5fcaef41f2044adec05f50"}, - {file = "pydantic_core-2.27.2-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:0d75070718e369e452075a6017fbf187f788e17ed67a3abd47fa934d001863d9"}, - {file = "pydantic_core-2.27.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:7e17b560be3c98a8e3aa66ce828bdebb9e9ac6ad5466fba92eb74c4c95cb1151"}, - {file = "pydantic_core-2.27.2-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:c33939a82924da9ed65dab5a65d427205a73181d8098e79b6b426bdf8ad4e656"}, - {file = "pydantic_core-2.27.2-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:00bad2484fa6bda1e216e7345a798bd37c68fb2d97558edd584942aa41b7d278"}, - {file = "pydantic_core-2.27.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c817e2b40aba42bac6f457498dacabc568c3b7a986fc9ba7c8d9d260b71485fb"}, - {file = "pydantic_core-2.27.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:251136cdad0cb722e93732cb45ca5299fb56e1344a833640bf93b2803f8d1bfd"}, - {file = "pydantic_core-2.27.2-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d2088237af596f0a524d3afc39ab3b036e8adb054ee57cbb1dcf8e09da5b29cc"}, - {file = "pydantic_core-2.27.2-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:d4041c0b966a84b4ae7a09832eb691a35aec90910cd2dbe7a208de59be77965b"}, - {file = "pydantic_core-2.27.2-pp39-pypy39_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:8083d4e875ebe0b864ffef72a4304827015cff328a1be6e22cc850753bfb122b"}, - {file = "pydantic_core-2.27.2-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:f141ee28a0ad2123b6611b6ceff018039df17f32ada8b534e6aa039545a3efb2"}, - {file = "pydantic_core-2.27.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:7d0c8399fcc1848491f00e0314bd59fb34a9c008761bcb422a057670c3f65e35"}, - {file = "pydantic_core-2.27.2.tar.gz", hash = "sha256:eb026e5a4c1fee05726072337ff51d1efb6f59090b7da90d30ea58625b1ffb39"}, -] - -[package.dependencies] -typing-extensions = ">=4.6.0,<4.7.0 || >4.7.0" - -[[package]] -name = "pydantic-settings" -version = "2.7.1" -description = "Settings management using Pydantic" -optional = false -python-versions = ">=3.8" -files = [ - {file = "pydantic_settings-2.7.1-py3-none-any.whl", hash = "sha256:590be9e6e24d06db33a4262829edef682500ef008565a969c73d39d5f8bfb3fd"}, - {file = "pydantic_settings-2.7.1.tar.gz", hash = "sha256:10c9caad35e64bfb3c2fbf70a078c0e25cc92499782e5200747f942a065dec93"}, -] - -[package.dependencies] -pydantic = ">=2.7.0" -python-dotenv = ">=0.21.0" - -[package.extras] -azure-key-vault = ["azure-identity (>=1.16.0)", "azure-keyvault-secrets (>=4.8.0)"] -toml = ["tomli (>=2.0.1)"] -yaml = ["pyyaml (>=6.0.1)"] - -[[package]] -name = "pymupdf" -version = "1.25.3" -description = "A high performance Python library for data extraction, analysis, conversion & manipulation of PDF (and other) documents." -optional = false -python-versions = ">=3.9" -files = [ - {file = "pymupdf-1.25.3-cp39-abi3-macosx_10_9_x86_64.whl", hash = "sha256:96878e1b748f9c2011aecb2028c5f96b5a347a9a91169130ad0133053d97915e"}, - {file = "pymupdf-1.25.3-cp39-abi3-macosx_11_0_arm64.whl", hash = "sha256:6ef753005b72ebfd23470f72f7e30f61e21b0b5e748045ec5b8f89e6e3068d62"}, - {file = "pymupdf-1.25.3-cp39-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:46d90c4f9e62d1856e8db4b9f04a202ff4a7f086a816af73abdc86adb7f5e25a"}, - {file = "pymupdf-1.25.3-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:a5de51efdbe4d486b6c1111c84e8a231cbfb426f3d6ff31ab530ad70e6f39756"}, - {file = "pymupdf-1.25.3-cp39-abi3-win32.whl", hash = "sha256:bca72e6089f985d800596e22973f79cc08af6cbff1d93e5bda9248326a03857c"}, - {file = "pymupdf-1.25.3-cp39-abi3-win_amd64.whl", hash = "sha256:4fb357438c9129fbf939b5af85323434df64e36759c399c376b62ad6da95498c"}, - {file = "pymupdf-1.25.3.tar.gz", hash = "sha256:b640187c64c5ac5d97505a92e836da299da79c2f689f3f94a67a37a493492193"}, -] - -[[package]] -name = "pypdfium2" -version = "4.30.0" -description = "Python bindings to PDFium" -optional = false -python-versions = ">=3.6" -files = [ - {file = "pypdfium2-4.30.0-py3-none-macosx_10_13_x86_64.whl", hash = "sha256:b33ceded0b6ff5b2b93bc1fe0ad4b71aa6b7e7bd5875f1ca0cdfb6ba6ac01aab"}, - {file = "pypdfium2-4.30.0-py3-none-macosx_11_0_arm64.whl", hash = "sha256:4e55689f4b06e2d2406203e771f78789bd4f190731b5d57383d05cf611d829de"}, - {file = "pypdfium2-4.30.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4e6e50f5ce7f65a40a33d7c9edc39f23140c57e37144c2d6d9e9262a2a854854"}, - {file = "pypdfium2-4.30.0-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3d0dd3ecaffd0b6dbda3da663220e705cb563918249bda26058c6036752ba3a2"}, - {file = "pypdfium2-4.30.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cc3bf29b0db8c76cdfaac1ec1cde8edf211a7de7390fbf8934ad2aa9b4d6dfad"}, - {file = "pypdfium2-4.30.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f1f78d2189e0ddf9ac2b7a9b9bd4f0c66f54d1389ff6c17e9fd9dc034d06eb3f"}, - {file = "pypdfium2-4.30.0-py3-none-musllinux_1_1_aarch64.whl", hash = "sha256:5eda3641a2da7a7a0b2f4dbd71d706401a656fea521b6b6faa0675b15d31a163"}, - {file = "pypdfium2-4.30.0-py3-none-musllinux_1_1_i686.whl", hash = "sha256:0dfa61421b5eb68e1188b0b2231e7ba35735aef2d867d86e48ee6cab6975195e"}, - {file = "pypdfium2-4.30.0-py3-none-musllinux_1_1_x86_64.whl", hash = "sha256:f33bd79e7a09d5f7acca3b0b69ff6c8a488869a7fab48fdf400fec6e20b9c8be"}, - {file = "pypdfium2-4.30.0-py3-none-win32.whl", hash = "sha256:ee2410f15d576d976c2ab2558c93d392a25fb9f6635e8dd0a8a3a5241b275e0e"}, - {file = "pypdfium2-4.30.0-py3-none-win_amd64.whl", hash = "sha256:90dbb2ac07be53219f56be09961eb95cf2473f834d01a42d901d13ccfad64b4c"}, - {file = "pypdfium2-4.30.0-py3-none-win_arm64.whl", hash = "sha256:119b2969a6d6b1e8d55e99caaf05290294f2d0fe49c12a3f17102d01c441bd29"}, - {file = "pypdfium2-4.30.0.tar.gz", hash = "sha256:48b5b7e5566665bc1015b9d69c1ebabe21f6aee468b509531c3c8318eeee2e16"}, -] - -[[package]] -name = "pytest" -version = "8.3.4" -description = "pytest: simple powerful testing with Python" -optional = false -python-versions = ">=3.8" -files = [ - {file = "pytest-8.3.4-py3-none-any.whl", hash = "sha256:50e16d954148559c9a74109af1eaf0c945ba2d8f30f0a3d3335edde19788b6f6"}, - {file = "pytest-8.3.4.tar.gz", hash = "sha256:965370d062bce11e73868e0335abac31b4d3de0e82f4007408d242b4f8610761"}, -] - -[package.dependencies] -colorama = {version = "*", markers = "sys_platform == \"win32\""} -exceptiongroup = {version = ">=1.0.0rc8", markers = "python_version < \"3.11\""} -iniconfig = "*" -packaging = "*" -pluggy = ">=1.5,<2" -tomli = {version = ">=1", markers = "python_version < \"3.11\""} - -[package.extras] -dev = ["argcomplete", "attrs (>=19.2)", "hypothesis (>=3.56)", "mock", "pygments (>=2.7.2)", "requests", "setuptools", "xmlschema"] - -[[package]] -name = "python-dateutil" -version = "2.9.0.post0" -description = "Extensions to the standard Python datetime module" -optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" -files = [ - {file = "python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3"}, - {file = "python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427"}, -] - -[package.dependencies] -six = ">=1.5" - -[[package]] -name = "python-dotenv" -version = "1.0.1" -description = "Read key-value pairs from a .env file and set them as environment variables" -optional = false -python-versions = ">=3.8" -files = [ - {file = "python-dotenv-1.0.1.tar.gz", hash = "sha256:e324ee90a023d808f1959c46bcbc04446a10ced277783dc6ee09987c37ec10ca"}, - {file = "python_dotenv-1.0.1-py3-none-any.whl", hash = "sha256:f7b63ef50f1b690dddf550d03497b66d609393b40b564ed0d674909a68ebf16a"}, -] - -[package.extras] -cli = ["click (>=5.0)"] - -[[package]] -name = "pytz" -version = "2025.1" -description = "World timezone definitions, modern and historical" -optional = false -python-versions = "*" -files = [ - {file = "pytz-2025.1-py2.py3-none-any.whl", hash = "sha256:89dd22dca55b46eac6eda23b2d72721bf1bdfef212645d81513ef5d03038de57"}, - {file = "pytz-2025.1.tar.gz", hash = "sha256:c2db42be2a2518b28e65f9207c4d05e6ff547d1efa4086469ef855e4ab70178e"}, -] - -[[package]] -name = "pyyaml" -version = "6.0.2" -description = "YAML parser and emitter for Python" -optional = false -python-versions = ">=3.8" -files = [ - {file = "PyYAML-6.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0a9a2848a5b7feac301353437eb7d5957887edbf81d56e903999a75a3d743086"}, - {file = "PyYAML-6.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:29717114e51c84ddfba879543fb232a6ed60086602313ca38cce623c1d62cfbf"}, - {file = "PyYAML-6.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8824b5a04a04a047e72eea5cec3bc266db09e35de6bdfe34c9436ac5ee27d237"}, - {file = "PyYAML-6.0.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7c36280e6fb8385e520936c3cb3b8042851904eba0e58d277dca80a5cfed590b"}, - {file = "PyYAML-6.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ec031d5d2feb36d1d1a24380e4db6d43695f3748343d99434e6f5f9156aaa2ed"}, - {file = "PyYAML-6.0.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:936d68689298c36b53b29f23c6dbb74de12b4ac12ca6cfe0e047bedceea56180"}, - {file = "PyYAML-6.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:23502f431948090f597378482b4812b0caae32c22213aecf3b55325e049a6c68"}, - {file = "PyYAML-6.0.2-cp310-cp310-win32.whl", hash = "sha256:2e99c6826ffa974fe6e27cdb5ed0021786b03fc98e5ee3c5bfe1fd5015f42b99"}, - {file = "PyYAML-6.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:a4d3091415f010369ae4ed1fc6b79def9416358877534caf6a0fdd2146c87a3e"}, - {file = "PyYAML-6.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:cc1c1159b3d456576af7a3e4d1ba7e6924cb39de8f67111c735f6fc832082774"}, - {file = "PyYAML-6.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1e2120ef853f59c7419231f3bf4e7021f1b936f6ebd222406c3b60212205d2ee"}, - {file = "PyYAML-6.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5d225db5a45f21e78dd9358e58a98702a0302f2659a3c6cd320564b75b86f47c"}, - {file = "PyYAML-6.0.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5ac9328ec4831237bec75defaf839f7d4564be1e6b25ac710bd1a96321cc8317"}, - {file = "PyYAML-6.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ad2a3decf9aaba3d29c8f537ac4b243e36bef957511b4766cb0057d32b0be85"}, - {file = "PyYAML-6.0.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:ff3824dc5261f50c9b0dfb3be22b4567a6f938ccce4587b38952d85fd9e9afe4"}, - {file = "PyYAML-6.0.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:797b4f722ffa07cc8d62053e4cff1486fa6dc094105d13fea7b1de7d8bf71c9e"}, - {file = "PyYAML-6.0.2-cp311-cp311-win32.whl", hash = "sha256:11d8f3dd2b9c1207dcaf2ee0bbbfd5991f571186ec9cc78427ba5bd32afae4b5"}, - {file = "PyYAML-6.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:e10ce637b18caea04431ce14fabcf5c64a1c61ec9c56b071a4b7ca131ca52d44"}, - {file = "PyYAML-6.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:c70c95198c015b85feafc136515252a261a84561b7b1d51e3384e0655ddf25ab"}, - {file = "PyYAML-6.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ce826d6ef20b1bc864f0a68340c8b3287705cae2f8b4b1d932177dcc76721725"}, - {file = "PyYAML-6.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f71ea527786de97d1a0cc0eacd1defc0985dcf6b3f17bb77dcfc8c34bec4dc5"}, - {file = "PyYAML-6.0.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9b22676e8097e9e22e36d6b7bda33190d0d400f345f23d4065d48f4ca7ae0425"}, - {file = "PyYAML-6.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80bab7bfc629882493af4aa31a4cfa43a4c57c83813253626916b8c7ada83476"}, - {file = "PyYAML-6.0.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48"}, - {file = "PyYAML-6.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8b9c7197f7cb2738065c481a0461e50ad02f18c78cd75775628afb4d7137fb3b"}, - {file = "PyYAML-6.0.2-cp312-cp312-win32.whl", hash = "sha256:ef6107725bd54b262d6dedcc2af448a266975032bc85ef0172c5f059da6325b4"}, - {file = "PyYAML-6.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:7e7401d0de89a9a855c839bc697c079a4af81cf878373abd7dc625847d25cbd8"}, - {file = "PyYAML-6.0.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:efdca5630322a10774e8e98e1af481aad470dd62c3170801852d752aa7a783ba"}, - {file = "PyYAML-6.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:50187695423ffe49e2deacb8cd10510bc361faac997de9efef88badc3bb9e2d1"}, - {file = "PyYAML-6.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ffe8360bab4910ef1b9e87fb812d8bc0a308b0d0eef8c8f44e0254ab3b07133"}, - {file = "PyYAML-6.0.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:17e311b6c678207928d649faa7cb0d7b4c26a0ba73d41e99c4fff6b6c3276484"}, - {file = "PyYAML-6.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b189594dbe54f75ab3a1acec5f1e3faa7e8cf2f1e08d9b561cb41b845f69d5"}, - {file = "PyYAML-6.0.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:41e4e3953a79407c794916fa277a82531dd93aad34e29c2a514c2c0c5fe971cc"}, - {file = "PyYAML-6.0.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:68ccc6023a3400877818152ad9a1033e3db8625d899c72eacb5a668902e4d652"}, - {file = "PyYAML-6.0.2-cp313-cp313-win32.whl", hash = "sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183"}, - {file = "PyYAML-6.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563"}, - {file = "PyYAML-6.0.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:24471b829b3bf607e04e88d79542a9d48bb037c2267d7927a874e6c205ca7e9a"}, - {file = "PyYAML-6.0.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d7fded462629cfa4b685c5416b949ebad6cec74af5e2d42905d41e257e0869f5"}, - {file = "PyYAML-6.0.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d84a1718ee396f54f3a086ea0a66d8e552b2ab2017ef8b420e92edbc841c352d"}, - {file = "PyYAML-6.0.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9056c1ecd25795207ad294bcf39f2db3d845767be0ea6e6a34d856f006006083"}, - {file = "PyYAML-6.0.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:82d09873e40955485746739bcb8b4586983670466c23382c19cffecbf1fd8706"}, - {file = "PyYAML-6.0.2-cp38-cp38-win32.whl", hash = "sha256:43fa96a3ca0d6b1812e01ced1044a003533c47f6ee8aca31724f78e93ccc089a"}, - {file = "PyYAML-6.0.2-cp38-cp38-win_amd64.whl", hash = "sha256:01179a4a8559ab5de078078f37e5c1a30d76bb88519906844fd7bdea1b7729ff"}, - {file = "PyYAML-6.0.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:688ba32a1cffef67fd2e9398a2efebaea461578b0923624778664cc1c914db5d"}, - {file = "PyYAML-6.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a8786accb172bd8afb8be14490a16625cbc387036876ab6ba70912730faf8e1f"}, - {file = "PyYAML-6.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8e03406cac8513435335dbab54c0d385e4a49e4945d2909a581c83647ca0290"}, - {file = "PyYAML-6.0.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f753120cb8181e736c57ef7636e83f31b9c0d1722c516f7e86cf15b7aa57ff12"}, - {file = "PyYAML-6.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3b1fdb9dc17f5a7677423d508ab4f243a726dea51fa5e70992e59a7411c89d19"}, - {file = "PyYAML-6.0.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:0b69e4ce7a131fe56b7e4d770c67429700908fc0752af059838b1cfb41960e4e"}, - {file = "PyYAML-6.0.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a9f8c2e67970f13b16084e04f134610fd1d374bf477b17ec1599185cf611d725"}, - {file = "PyYAML-6.0.2-cp39-cp39-win32.whl", hash = "sha256:6395c297d42274772abc367baaa79683958044e5d3835486c16da75d2a694631"}, - {file = "PyYAML-6.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:39693e1f8320ae4f43943590b49779ffb98acb81f788220ea932a6b6c51004d8"}, - {file = "pyyaml-6.0.2.tar.gz", hash = "sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e"}, -] - -[[package]] -name = "rapidfuzz" -version = "3.12.1" -description = "rapid fuzzy string matching" -optional = false -python-versions = ">=3.9" -files = [ - {file = "rapidfuzz-3.12.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:dbb7ea2fd786e6d66f225ef6eef1728832314f47e82fee877cb2a793ebda9579"}, - {file = "rapidfuzz-3.12.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:1ae41361de05762c1eaa3955e5355de7c4c6f30d1ef1ea23d29bf738a35809ab"}, - {file = "rapidfuzz-3.12.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dc3c39e0317e7f68ba01bac056e210dd13c7a0abf823e7b6a5fe7e451ddfc496"}, - {file = "rapidfuzz-3.12.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:69f2520296f1ae1165b724a3aad28c56fd0ac7dd2e4cff101a5d986e840f02d4"}, - {file = "rapidfuzz-3.12.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:34dcbf5a7daecebc242f72e2500665f0bde9dd11b779246c6d64d106a7d57c99"}, - {file = "rapidfuzz-3.12.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:773ab37fccf6e0513891f8eb4393961ddd1053c6eb7e62eaa876e94668fc6d31"}, - {file = "rapidfuzz-3.12.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ecf0e6de84c0bc2c0f48bc03ba23cef2c5f1245db7b26bc860c11c6fd7a097c"}, - {file = "rapidfuzz-3.12.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:4dc2ebad4adb29d84a661f6a42494df48ad2b72993ff43fad2b9794804f91e45"}, - {file = "rapidfuzz-3.12.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:8389d98b9f54cb4f8a95f1fa34bf0ceee639e919807bb931ca479c7a5f2930bf"}, - {file = "rapidfuzz-3.12.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:165bcdecbfed9978962da1d3ec9c191b2ff9f1ccc2668fbaf0613a975b9aa326"}, - {file = "rapidfuzz-3.12.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:129d536740ab0048c1a06ccff73c683f282a2347c68069affae8dbc423a37c50"}, - {file = "rapidfuzz-3.12.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:1b67e390261ffe98ec86c771b89425a78b60ccb610c3b5874660216fcdbded4b"}, - {file = "rapidfuzz-3.12.1-cp310-cp310-win32.whl", hash = "sha256:a66520180d3426b9dc2f8d312f38e19bc1fc5601f374bae5c916f53fa3534a7d"}, - {file = "rapidfuzz-3.12.1-cp310-cp310-win_amd64.whl", hash = "sha256:82260b20bc7a76556cecb0c063c87dad19246a570425d38f8107b8404ca3ac97"}, - {file = "rapidfuzz-3.12.1-cp310-cp310-win_arm64.whl", hash = "sha256:3a860d103bbb25c69c2e995fdf4fac8cb9f77fb69ec0a00469d7fd87ff148f46"}, - {file = "rapidfuzz-3.12.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6d9afad7b16d01c9e8929b6a205a18163c7e61b6cd9bcf9c81be77d5afc1067a"}, - {file = "rapidfuzz-3.12.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:bb424ae7240f2d2f7d8dda66a61ebf603f74d92f109452c63b0dbf400204a437"}, - {file = "rapidfuzz-3.12.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:42149e6d13bd6d06437d2a954dae2184dadbbdec0fdb82dafe92860d99f80519"}, - {file = "rapidfuzz-3.12.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:760ac95d788f2964b73da01e0bdffbe1bf2ad8273d0437565ce9092ae6ad1fbc"}, - {file = "rapidfuzz-3.12.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2cf27e8e4bf7bf9d92ef04f3d2b769e91c3f30ba99208c29f5b41e77271a2614"}, - {file = "rapidfuzz-3.12.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:00ceb8ff3c44ab0d6014106c71709c85dee9feedd6890eff77c814aa3798952b"}, - {file = "rapidfuzz-3.12.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b8b61c558574fbc093d85940c3264c08c2b857b8916f8e8f222e7b86b0bb7d12"}, - {file = "rapidfuzz-3.12.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:346a2d8f17224e99f9ef988606c83d809d5917d17ad00207237e0965e54f9730"}, - {file = "rapidfuzz-3.12.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:d60d1db1b7e470e71ae096b6456e20ec56b52bde6198e2dbbc5e6769fa6797dc"}, - {file = "rapidfuzz-3.12.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:2477da227e266f9c712f11393182c69a99d3c8007ea27f68c5afc3faf401cc43"}, - {file = "rapidfuzz-3.12.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:8499c7d963ddea8adb6cffac2861ee39a1053e22ca8a5ee9de1197f8dc0275a5"}, - {file = "rapidfuzz-3.12.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:12802e5c4d8ae104fb6efeeb436098325ce0dca33b461c46e8df015c84fbef26"}, - {file = "rapidfuzz-3.12.1-cp311-cp311-win32.whl", hash = "sha256:e1061311d07e7cdcffa92c9b50c2ab4192907e70ca01b2e8e1c0b6b4495faa37"}, - {file = "rapidfuzz-3.12.1-cp311-cp311-win_amd64.whl", hash = "sha256:c6e4ed63e204daa863a802eec09feea5448617981ba5d150f843ad8e3ae071a4"}, - {file = "rapidfuzz-3.12.1-cp311-cp311-win_arm64.whl", hash = "sha256:920733a28c3af47870835d59ca9879579f66238f10de91d2b4b3f809d1ebfc5b"}, - {file = "rapidfuzz-3.12.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:f6235b57ae3faa3f85cb3f90c9fee49b21bd671b76e90fc99e8ca2bdf0b5e4a3"}, - {file = "rapidfuzz-3.12.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:af4585e5812632c357fee5ab781c29f00cd06bea58f8882ff244cc4906ba6c9e"}, - {file = "rapidfuzz-3.12.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5942dc4460e5030c5f9e1d4c9383de2f3564a2503fe25e13e89021bcbfea2f44"}, - {file = "rapidfuzz-3.12.1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0b31ab59e1a0df5afc21f3109b6cfd77b34040dbf54f1bad3989f885cfae1e60"}, - {file = "rapidfuzz-3.12.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:97c885a7a480b21164f57a706418c9bbc9a496ec6da087e554424358cadde445"}, - {file = "rapidfuzz-3.12.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2d844c0587d969ce36fbf4b7cbf0860380ffeafc9ac5e17a7cbe8abf528d07bb"}, - {file = "rapidfuzz-3.12.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a93c95dce8917bf428064c64024de43ffd34ec5949dd4425780c72bd41f9d969"}, - {file = "rapidfuzz-3.12.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:834f6113d538af358f39296604a1953e55f8eeffc20cb4caf82250edbb8bf679"}, - {file = "rapidfuzz-3.12.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:a940aa71a7f37d7f0daac186066bf6668d4d3b7e7ef464cb50bc7ba89eae1f51"}, - {file = "rapidfuzz-3.12.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:ec9eaf73501c9a7de2c6938cb3050392e2ee0c5ca3921482acf01476b85a7226"}, - {file = "rapidfuzz-3.12.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:3c5ec360694ac14bfaeb6aea95737cf1a6cf805b5fe8ea7fd28814706c7fa838"}, - {file = "rapidfuzz-3.12.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:6b5e176524653ac46f1802bdd273a4b44a5f8d0054ed5013a8e8a4b72f254599"}, - {file = "rapidfuzz-3.12.1-cp312-cp312-win32.whl", hash = "sha256:6f463c6f1c42ec90e45d12a6379e18eddd5cdf74138804d8215619b6f4d31cea"}, - {file = "rapidfuzz-3.12.1-cp312-cp312-win_amd64.whl", hash = "sha256:b894fa2b30cd6498a29e5c470cb01c6ea898540b7e048a0342775a5000531334"}, - {file = "rapidfuzz-3.12.1-cp312-cp312-win_arm64.whl", hash = "sha256:43bb17056c5d1332f517b888c4e57846c4b5f936ed304917eeb5c9ac85d940d4"}, - {file = "rapidfuzz-3.12.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:97f824c15bc6933a31d6e3cbfa90188ba0e5043cf2b6dd342c2b90ee8b3fd47c"}, - {file = "rapidfuzz-3.12.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:a973b3f5cabf931029a3ae4a0f72e3222e53d412ea85fc37ddc49e1774f00fbf"}, - {file = "rapidfuzz-3.12.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:df7880e012228722dec1be02b9ef3898ed023388b8a24d6fa8213d7581932510"}, - {file = "rapidfuzz-3.12.1-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9c78582f50e75e6c2bc38c791ed291cb89cf26a3148c47860c1a04d6e5379c8e"}, - {file = "rapidfuzz-3.12.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2d7d9e6a04d8344b0198c96394c28874086888d0a2b2f605f30d1b27b9377b7d"}, - {file = "rapidfuzz-3.12.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5620001fd4d6644a2f56880388179cc8f3767670f0670160fcb97c3b46c828af"}, - {file = "rapidfuzz-3.12.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0666ab4c52e500af7ba5cc17389f5d15c0cdad06412c80312088519fdc25686d"}, - {file = "rapidfuzz-3.12.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:27b4d440fa50b50c515a91a01ee17e8ede719dca06eef4c0cccf1a111a4cfad3"}, - {file = "rapidfuzz-3.12.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:83dccfd5a754f2a0e8555b23dde31f0f7920601bfa807aa76829391ea81e7c67"}, - {file = "rapidfuzz-3.12.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:b572b634740e047c53743ed27a1bb3b4f93cf4abbac258cd7af377b2c4a9ba5b"}, - {file = "rapidfuzz-3.12.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:7fa7b81fb52902d5f78dac42b3d6c835a6633b01ddf9b202a3ca8443be4b2d6a"}, - {file = "rapidfuzz-3.12.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:b1d4fbff980cb6baef4ee675963c081f7b5d6580a105d6a4962b20f1f880e1fb"}, - {file = "rapidfuzz-3.12.1-cp313-cp313-win32.whl", hash = "sha256:3fe8da12ea77271097b303fa7624cfaf5afd90261002314e3b0047d36f4afd8d"}, - {file = "rapidfuzz-3.12.1-cp313-cp313-win_amd64.whl", hash = "sha256:6f7e92fc7d2a7f02e1e01fe4f539324dfab80f27cb70a30dd63a95445566946b"}, - {file = "rapidfuzz-3.12.1-cp313-cp313-win_arm64.whl", hash = "sha256:e31be53d7f4905a6a038296d8b773a79da9ee9f0cd19af9490c5c5a22e37d2e5"}, - {file = "rapidfuzz-3.12.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:bef5c91d5db776523530073cda5b2a276283258d2f86764be4a008c83caf7acd"}, - {file = "rapidfuzz-3.12.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:841e0c2a5fbe8fc8b9b1a56e924c871899932c0ece7fbd970aa1c32bfd12d4bf"}, - {file = "rapidfuzz-3.12.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:046fc67f3885d94693a2151dd913aaf08b10931639cbb953dfeef3151cb1027c"}, - {file = "rapidfuzz-3.12.1-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b4d2d39b2e76c17f92edd6d384dc21fa020871c73251cdfa017149358937a41d"}, - {file = "rapidfuzz-3.12.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c5857dda85165b986c26a474b22907db6b93932c99397c818bcdec96340a76d5"}, - {file = "rapidfuzz-3.12.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4c26cd1b9969ea70dbf0dbda3d2b54ab4b2e683d0fd0f17282169a19563efeb1"}, - {file = "rapidfuzz-3.12.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf56ea4edd69005786e6c80a9049d95003aeb5798803e7a2906194e7a3cb6472"}, - {file = "rapidfuzz-3.12.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:fbe7580b5fb2db8ebd53819171ff671124237a55ada3f64d20fc9a149d133960"}, - {file = "rapidfuzz-3.12.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:018506a53c3b20dcbda8c93d4484b9eb1764c93d5ea16be103cf6b0d8b11d860"}, - {file = "rapidfuzz-3.12.1-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:325c9c71b737fcd32e2a4e634c430c07dd3d374cfe134eded3fe46e4c6f9bf5d"}, - {file = "rapidfuzz-3.12.1-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:930756639643e3aa02d3136b6fec74e5b9370a24f8796e1065cd8a857a6a6c50"}, - {file = "rapidfuzz-3.12.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:0acbd27543b158cb915fde03877383816a9e83257832818f1e803bac9b394900"}, - {file = "rapidfuzz-3.12.1-cp39-cp39-win32.whl", hash = "sha256:80ff9283c54d7d29b2d954181e137deee89bec62f4a54675d8b6dbb6b15d3e03"}, - {file = "rapidfuzz-3.12.1-cp39-cp39-win_amd64.whl", hash = "sha256:fd37e53f0ed239d0cec27b250cec958982a8ba252ce64aa5e6052de3a82fa8db"}, - {file = "rapidfuzz-3.12.1-cp39-cp39-win_arm64.whl", hash = "sha256:4a4422e4f73a579755ab60abccb3ff148b5c224b3c7454a13ca217dfbad54da6"}, - {file = "rapidfuzz-3.12.1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:b7cba636c32a6fc3a402d1cb2c70c6c9f8e6319380aaf15559db09d868a23e56"}, - {file = "rapidfuzz-3.12.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:b79286738a43e8df8420c4b30a92712dec6247430b130f8e015c3a78b6d61ac2"}, - {file = "rapidfuzz-3.12.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8dc1937198e7ff67e217e60bfa339f05da268d91bb15fec710452d11fe2fdf60"}, - {file = "rapidfuzz-3.12.1-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b85817a57cf8db32dd5d2d66ccfba656d299b09eaf86234295f89f91be1a0db2"}, - {file = "rapidfuzz-3.12.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:04283c6f3e79f13a784f844cd5b1df4f518ad0f70c789aea733d106c26e1b4fb"}, - {file = "rapidfuzz-3.12.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:a718f740553aad5f4daef790191511da9c6eae893ee1fc2677627e4b624ae2db"}, - {file = "rapidfuzz-3.12.1-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:cbdf145c7e4ebf2e81c794ed7a582c4acad19e886d5ad6676086369bd6760753"}, - {file = "rapidfuzz-3.12.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:0d03ad14a26a477be221fddc002954ae68a9e2402b9d85433f2d0a6af01aa2bb"}, - {file = "rapidfuzz-3.12.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f1187aeae9c89e838d2a0a2b954b4052e4897e5f62e5794ef42527bf039d469e"}, - {file = "rapidfuzz-3.12.1-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bd47dfb1bca9673a48b923b3d988b7668ee8efd0562027f58b0f2b7abf27144c"}, - {file = "rapidfuzz-3.12.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:187cdb402e223264eebed2fe671e367e636a499a7a9c82090b8d4b75aa416c2a"}, - {file = "rapidfuzz-3.12.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:d6899b41bf6c30282179f77096c1939f1454836440a8ab05b48ebf7026a3b590"}, - {file = "rapidfuzz-3.12.1.tar.gz", hash = "sha256:6a98bbca18b4a37adddf2d8201856441c26e9c981d8895491b5bc857b5f780eb"}, -] - -[package.extras] -all = ["numpy"] - -[[package]] -name = "requests" -version = "2.32.3" -description = "Python HTTP for Humans." -optional = false -python-versions = ">=3.8" -files = [ - {file = "requests-2.32.3-py3-none-any.whl", hash = "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6"}, - {file = "requests-2.32.3.tar.gz", hash = "sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760"}, -] - -[package.dependencies] -certifi = ">=2017.4.17" -charset-normalizer = ">=2,<4" -idna = ">=2.5,<4" -urllib3 = ">=1.21.1,<3" - -[package.extras] -socks = ["PySocks (>=1.5.6,!=1.5.7)"] -use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] - -[[package]] -name = "six" -version = "1.17.0" -description = "Python 2 and 3 compatibility utilities" -optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" -files = [ - {file = "six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274"}, - {file = "six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81"}, -] - -[[package]] -name = "tabulate" -version = "0.9.0" -description = "Pretty-print tabular data" -optional = false -python-versions = ">=3.7" -files = [ - {file = "tabulate-0.9.0-py3-none-any.whl", hash = "sha256:024ca478df22e9340661486f85298cff5f6dcdba14f3813e8830015b9ed1948f"}, - {file = "tabulate-0.9.0.tar.gz", hash = "sha256:0095b12bf5966de529c0feb1fa08671671b3368eec77d7ef7ab114be2c068b3c"}, -] - -[package.extras] -widechars = ["wcwidth"] - -[[package]] -name = "tomli" -version = "2.2.1" -description = "A lil' TOML parser" -optional = false -python-versions = ">=3.8" -files = [ - {file = "tomli-2.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:678e4fa69e4575eb77d103de3df8a895e1591b48e740211bd1067378c69e8249"}, - {file = "tomli-2.2.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:023aa114dd824ade0100497eb2318602af309e5a55595f76b626d6d9f3b7b0a6"}, - {file = "tomli-2.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ece47d672db52ac607a3d9599a9d48dcb2f2f735c6c2d1f34130085bb12b112a"}, - {file = "tomli-2.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6972ca9c9cc9f0acaa56a8ca1ff51e7af152a9f87fb64623e31d5c83700080ee"}, - {file = "tomli-2.2.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c954d2250168d28797dd4e3ac5cf812a406cd5a92674ee4c8f123c889786aa8e"}, - {file = "tomli-2.2.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:8dd28b3e155b80f4d54beb40a441d366adcfe740969820caf156c019fb5c7ec4"}, - {file = "tomli-2.2.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:e59e304978767a54663af13c07b3d1af22ddee3bb2fb0618ca1593e4f593a106"}, - {file = "tomli-2.2.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:33580bccab0338d00994d7f16f4c4ec25b776af3ffaac1ed74e0b3fc95e885a8"}, - {file = "tomli-2.2.1-cp311-cp311-win32.whl", hash = "sha256:465af0e0875402f1d226519c9904f37254b3045fc5084697cefb9bdde1ff99ff"}, - {file = "tomli-2.2.1-cp311-cp311-win_amd64.whl", hash = "sha256:2d0f2fdd22b02c6d81637a3c95f8cd77f995846af7414c5c4b8d0545afa1bc4b"}, - {file = "tomli-2.2.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:4a8f6e44de52d5e6c657c9fe83b562f5f4256d8ebbfe4ff922c495620a7f6cea"}, - {file = "tomli-2.2.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8d57ca8095a641b8237d5b079147646153d22552f1c637fd3ba7f4b0b29167a8"}, - {file = "tomli-2.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4e340144ad7ae1533cb897d406382b4b6fede8890a03738ff1683af800d54192"}, - {file = "tomli-2.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:db2b95f9de79181805df90bedc5a5ab4c165e6ec3fe99f970d0e302f384ad222"}, - {file = "tomli-2.2.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:40741994320b232529c802f8bc86da4e1aa9f413db394617b9a256ae0f9a7f77"}, - {file = "tomli-2.2.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:400e720fe168c0f8521520190686ef8ef033fb19fc493da09779e592861b78c6"}, - {file = "tomli-2.2.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:02abe224de6ae62c19f090f68da4e27b10af2b93213d36cf44e6e1c5abd19fdd"}, - {file = "tomli-2.2.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:b82ebccc8c8a36f2094e969560a1b836758481f3dc360ce9a3277c65f374285e"}, - {file = "tomli-2.2.1-cp312-cp312-win32.whl", hash = "sha256:889f80ef92701b9dbb224e49ec87c645ce5df3fa2cc548664eb8a25e03127a98"}, - {file = "tomli-2.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:7fc04e92e1d624a4a63c76474610238576942d6b8950a2d7f908a340494e67e4"}, - {file = "tomli-2.2.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f4039b9cbc3048b2416cc57ab3bda989a6fcf9b36cf8937f01a6e731b64f80d7"}, - {file = "tomli-2.2.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:286f0ca2ffeeb5b9bd4fcc8d6c330534323ec51b2f52da063b11c502da16f30c"}, - {file = "tomli-2.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a92ef1a44547e894e2a17d24e7557a5e85a9e1d0048b0b5e7541f76c5032cb13"}, - {file = "tomli-2.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9316dc65bed1684c9a98ee68759ceaed29d229e985297003e494aa825ebb0281"}, - {file = "tomli-2.2.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e85e99945e688e32d5a35c1ff38ed0b3f41f43fad8df0bdf79f72b2ba7bc5272"}, - {file = "tomli-2.2.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ac065718db92ca818f8d6141b5f66369833d4a80a9d74435a268c52bdfa73140"}, - {file = "tomli-2.2.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:d920f33822747519673ee656a4b6ac33e382eca9d331c87770faa3eef562aeb2"}, - {file = "tomli-2.2.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a198f10c4d1b1375d7687bc25294306e551bf1abfa4eace6650070a5c1ae2744"}, - {file = "tomli-2.2.1-cp313-cp313-win32.whl", hash = "sha256:d3f5614314d758649ab2ab3a62d4f2004c825922f9e370b29416484086b264ec"}, - {file = "tomli-2.2.1-cp313-cp313-win_amd64.whl", hash = "sha256:a38aa0308e754b0e3c67e344754dff64999ff9b513e691d0e786265c93583c69"}, - {file = "tomli-2.2.1-py3-none-any.whl", hash = "sha256:cb55c73c5f4408779d0cf3eef9f762b9c9f147a77de7b258bef0a5628adc85cc"}, - {file = "tomli-2.2.1.tar.gz", hash = "sha256:cd45e1dc79c835ce60f7404ec8119f2eb06d38b1deba146f07ced3bbc44505ff"}, -] - -[[package]] -name = "tqdm" -version = "4.67.1" -description = "Fast, Extensible Progress Meter" -optional = false -python-versions = ">=3.7" -files = [ - {file = "tqdm-4.67.1-py3-none-any.whl", hash = "sha256:26445eca388f82e72884e0d580d5464cd801a3ea01e63e5601bdff9ba6a48de2"}, - {file = "tqdm-4.67.1.tar.gz", hash = "sha256:f8aef9c52c08c13a65f30ea34f4e5aac3fd1a34959879d7e59e63027286627f2"}, -] - -[package.dependencies] -colorama = {version = "*", markers = "platform_system == \"Windows\""} - -[package.extras] -dev = ["nbval", "pytest (>=6)", "pytest-asyncio (>=0.24)", "pytest-cov", "pytest-timeout"] -discord = ["requests"] -notebook = ["ipywidgets (>=6)"] -slack = ["slack-sdk"] -telegram = ["requests"] - -[[package]] -name = "typing-extensions" -version = "4.12.2" -description = "Backported and Experimental Type Hints for Python 3.8+" -optional = false -python-versions = ">=3.8" -files = [ - {file = "typing_extensions-4.12.2-py3-none-any.whl", hash = "sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d"}, - {file = "typing_extensions-4.12.2.tar.gz", hash = "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8"}, -] - -[[package]] -name = "tzdata" -version = "2025.1" -description = "Provider of IANA time zone data" -optional = false -python-versions = ">=2" -files = [ - {file = "tzdata-2025.1-py2.py3-none-any.whl", hash = "sha256:7e127113816800496f027041c570f50bcd464a020098a3b6b199517772303639"}, - {file = "tzdata-2025.1.tar.gz", hash = "sha256:24894909e88cdb28bd1636c6887801df64cb485bd593f2fd83ef29075a81d694"}, -] - -[[package]] -name = "urllib3" -version = "2.3.0" -description = "HTTP library with thread-safe connection pooling, file post, and more." -optional = false -python-versions = ">=3.9" -files = [ - {file = "urllib3-2.3.0-py3-none-any.whl", hash = "sha256:1cee9ad369867bfdbbb48b7dd50374c0967a0bb7710050facf0dd6911440e3df"}, - {file = "urllib3-2.3.0.tar.gz", hash = "sha256:f8c5449b3cf0861679ce7e0503c7b44b5ec981bec0d1d3795a07f1ba96f0204d"}, -] - -[package.extras] -brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)"] -h2 = ["h2 (>=4,<5)"] -socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"] -zstd = ["zstandard (>=0.18.0)"] - -[[package]] -name = "xxhash" -version = "3.5.0" -description = "Python binding for xxHash" -optional = false -python-versions = ">=3.7" -files = [ - {file = "xxhash-3.5.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ece616532c499ee9afbb83078b1b952beffef121d989841f7f4b3dc5ac0fd212"}, - {file = "xxhash-3.5.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:3171f693dbc2cef6477054a665dc255d996646b4023fe56cb4db80e26f4cc520"}, - {file = "xxhash-3.5.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7c5d3e570ef46adaf93fc81b44aca6002b5a4d8ca11bd0580c07eac537f36680"}, - {file = "xxhash-3.5.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7cb29a034301e2982df8b1fe6328a84f4b676106a13e9135a0d7e0c3e9f806da"}, - {file = "xxhash-3.5.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5d0d307d27099bb0cbeea7260eb39ed4fdb99c5542e21e94bb6fd29e49c57a23"}, - {file = "xxhash-3.5.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0342aafd421795d740e514bc9858ebddfc705a75a8c5046ac56d85fe97bf196"}, - {file = "xxhash-3.5.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3dbbd9892c5ebffeca1ed620cf0ade13eb55a0d8c84e0751a6653adc6ac40d0c"}, - {file = "xxhash-3.5.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:4cc2d67fdb4d057730c75a64c5923abfa17775ae234a71b0200346bfb0a7f482"}, - {file = "xxhash-3.5.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:ec28adb204b759306a3d64358a5e5c07d7b1dd0ccbce04aa76cb9377b7b70296"}, - {file = "xxhash-3.5.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:1328f6d8cca2b86acb14104e381225a3d7b42c92c4b86ceae814e5c400dbb415"}, - {file = "xxhash-3.5.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:8d47ebd9f5d9607fd039c1fbf4994e3b071ea23eff42f4ecef246ab2b7334198"}, - {file = "xxhash-3.5.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:b96d559e0fcddd3343c510a0fe2b127fbff16bf346dd76280b82292567523442"}, - {file = "xxhash-3.5.0-cp310-cp310-win32.whl", hash = "sha256:61c722ed8d49ac9bc26c7071eeaa1f6ff24053d553146d5df031802deffd03da"}, - {file = "xxhash-3.5.0-cp310-cp310-win_amd64.whl", hash = "sha256:9bed5144c6923cc902cd14bb8963f2d5e034def4486ab0bbe1f58f03f042f9a9"}, - {file = "xxhash-3.5.0-cp310-cp310-win_arm64.whl", hash = "sha256:893074d651cf25c1cc14e3bea4fceefd67f2921b1bb8e40fcfeba56820de80c6"}, - {file = "xxhash-3.5.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:02c2e816896dc6f85922ced60097bcf6f008dedfc5073dcba32f9c8dd786f3c1"}, - {file = "xxhash-3.5.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6027dcd885e21581e46d3c7f682cfb2b870942feeed58a21c29583512c3f09f8"}, - {file = "xxhash-3.5.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1308fa542bbdbf2fa85e9e66b1077eea3a88bef38ee8a06270b4298a7a62a166"}, - {file = "xxhash-3.5.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c28b2fdcee797e1c1961cd3bcd3d545cab22ad202c846235197935e1df2f8ef7"}, - {file = "xxhash-3.5.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:924361811732ddad75ff23e90efd9ccfda4f664132feecb90895bade6a1b4623"}, - {file = "xxhash-3.5.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:89997aa1c4b6a5b1e5b588979d1da048a3c6f15e55c11d117a56b75c84531f5a"}, - {file = "xxhash-3.5.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:685c4f4e8c59837de103344eb1c8a3851f670309eb5c361f746805c5471b8c88"}, - {file = "xxhash-3.5.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:dbd2ecfbfee70bc1a4acb7461fa6af7748ec2ab08ac0fa298f281c51518f982c"}, - {file = "xxhash-3.5.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:25b5a51dc3dfb20a10833c8eee25903fd2e14059e9afcd329c9da20609a307b2"}, - {file = "xxhash-3.5.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:a8fb786fb754ef6ff8c120cb96629fb518f8eb5a61a16aac3a979a9dbd40a084"}, - {file = "xxhash-3.5.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:a905ad00ad1e1c34fe4e9d7c1d949ab09c6fa90c919860c1534ff479f40fd12d"}, - {file = "xxhash-3.5.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:963be41bcd49f53af6d795f65c0da9b4cc518c0dd9c47145c98f61cb464f4839"}, - {file = "xxhash-3.5.0-cp311-cp311-win32.whl", hash = "sha256:109b436096d0a2dd039c355fa3414160ec4d843dfecc64a14077332a00aeb7da"}, - {file = "xxhash-3.5.0-cp311-cp311-win_amd64.whl", hash = "sha256:b702f806693201ad6c0a05ddbbe4c8f359626d0b3305f766077d51388a6bac58"}, - {file = "xxhash-3.5.0-cp311-cp311-win_arm64.whl", hash = "sha256:c4dcb4120d0cc3cc448624147dba64e9021b278c63e34a38789b688fd0da9bf3"}, - {file = "xxhash-3.5.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:14470ace8bd3b5d51318782cd94e6f94431974f16cb3b8dc15d52f3b69df8e00"}, - {file = "xxhash-3.5.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:59aa1203de1cb96dbeab595ded0ad0c0056bb2245ae11fac11c0ceea861382b9"}, - {file = "xxhash-3.5.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:08424f6648526076e28fae6ea2806c0a7d504b9ef05ae61d196d571e5c879c84"}, - {file = "xxhash-3.5.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:61a1ff00674879725b194695e17f23d3248998b843eb5e933007ca743310f793"}, - {file = "xxhash-3.5.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f2f2c61bee5844d41c3eb015ac652a0229e901074951ae48581d58bfb2ba01be"}, - {file = "xxhash-3.5.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9d32a592cac88d18cc09a89172e1c32d7f2a6e516c3dfde1b9adb90ab5df54a6"}, - {file = "xxhash-3.5.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:70dabf941dede727cca579e8c205e61121afc9b28516752fd65724be1355cc90"}, - {file = "xxhash-3.5.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:e5d0ddaca65ecca9c10dcf01730165fd858533d0be84c75c327487c37a906a27"}, - {file = "xxhash-3.5.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:3e5b5e16c5a480fe5f59f56c30abdeba09ffd75da8d13f6b9b6fd224d0b4d0a2"}, - {file = "xxhash-3.5.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:149b7914451eb154b3dfaa721315117ea1dac2cc55a01bfbd4df7c68c5dd683d"}, - {file = "xxhash-3.5.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:eade977f5c96c677035ff39c56ac74d851b1cca7d607ab3d8f23c6b859379cab"}, - {file = "xxhash-3.5.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:fa9f547bd98f5553d03160967866a71056a60960be00356a15ecc44efb40ba8e"}, - {file = "xxhash-3.5.0-cp312-cp312-win32.whl", hash = "sha256:f7b58d1fd3551b8c80a971199543379be1cee3d0d409e1f6d8b01c1a2eebf1f8"}, - {file = "xxhash-3.5.0-cp312-cp312-win_amd64.whl", hash = "sha256:fa0cafd3a2af231b4e113fba24a65d7922af91aeb23774a8b78228e6cd785e3e"}, - {file = "xxhash-3.5.0-cp312-cp312-win_arm64.whl", hash = "sha256:586886c7e89cb9828bcd8a5686b12e161368e0064d040e225e72607b43858ba2"}, - {file = "xxhash-3.5.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:37889a0d13b0b7d739cfc128b1c902f04e32de17b33d74b637ad42f1c55101f6"}, - {file = "xxhash-3.5.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:97a662338797c660178e682f3bc180277b9569a59abfb5925e8620fba00b9fc5"}, - {file = "xxhash-3.5.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7f85e0108d51092bdda90672476c7d909c04ada6923c14ff9d913c4f7dc8a3bc"}, - {file = "xxhash-3.5.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cd2fd827b0ba763ac919440042302315c564fdb797294d86e8cdd4578e3bc7f3"}, - {file = "xxhash-3.5.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:82085c2abec437abebf457c1d12fccb30cc8b3774a0814872511f0f0562c768c"}, - {file = "xxhash-3.5.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:07fda5de378626e502b42b311b049848c2ef38784d0d67b6f30bb5008642f8eb"}, - {file = "xxhash-3.5.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c279f0d2b34ef15f922b77966640ade58b4ccdfef1c4d94b20f2a364617a493f"}, - {file = "xxhash-3.5.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:89e66ceed67b213dec5a773e2f7a9e8c58f64daeb38c7859d8815d2c89f39ad7"}, - {file = "xxhash-3.5.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:bcd51708a633410737111e998ceb3b45d3dbc98c0931f743d9bb0a209033a326"}, - {file = "xxhash-3.5.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:3ff2c0a34eae7df88c868be53a8dd56fbdf592109e21d4bfa092a27b0bf4a7bf"}, - {file = "xxhash-3.5.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:4e28503dccc7d32e0b9817aa0cbfc1f45f563b2c995b7a66c4c8a0d232e840c7"}, - {file = "xxhash-3.5.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a6c50017518329ed65a9e4829154626f008916d36295b6a3ba336e2458824c8c"}, - {file = "xxhash-3.5.0-cp313-cp313-win32.whl", hash = "sha256:53a068fe70301ec30d868ece566ac90d873e3bb059cf83c32e76012c889b8637"}, - {file = "xxhash-3.5.0-cp313-cp313-win_amd64.whl", hash = "sha256:80babcc30e7a1a484eab952d76a4f4673ff601f54d5142c26826502740e70b43"}, - {file = "xxhash-3.5.0-cp313-cp313-win_arm64.whl", hash = "sha256:4811336f1ce11cac89dcbd18f3a25c527c16311709a89313c3acaf771def2d4b"}, - {file = "xxhash-3.5.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:6e5f70f6dca1d3b09bccb7daf4e087075ff776e3da9ac870f86ca316736bb4aa"}, - {file = "xxhash-3.5.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2e76e83efc7b443052dd1e585a76201e40b3411fe3da7af4fe434ec51b2f163b"}, - {file = "xxhash-3.5.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:33eac61d0796ca0591f94548dcfe37bb193671e0c9bcf065789b5792f2eda644"}, - {file = "xxhash-3.5.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0ec70a89be933ea49222fafc3999987d7899fc676f688dd12252509434636622"}, - {file = "xxhash-3.5.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd86b8e7f703ec6ff4f351cfdb9f428955859537125904aa8c963604f2e9d3e7"}, - {file = "xxhash-3.5.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0adfbd36003d9f86c8c97110039f7539b379f28656a04097e7434d3eaf9aa131"}, - {file = "xxhash-3.5.0-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:63107013578c8a730419adc05608756c3fa640bdc6abe806c3123a49fb829f43"}, - {file = "xxhash-3.5.0-cp37-cp37m-musllinux_1_2_i686.whl", hash = "sha256:683b94dbd1ca67557850b86423318a2e323511648f9f3f7b1840408a02b9a48c"}, - {file = "xxhash-3.5.0-cp37-cp37m-musllinux_1_2_ppc64le.whl", hash = "sha256:5d2a01dcce81789cf4b12d478b5464632204f4c834dc2d064902ee27d2d1f0ee"}, - {file = "xxhash-3.5.0-cp37-cp37m-musllinux_1_2_s390x.whl", hash = "sha256:a9d360a792cbcce2fe7b66b8d51274ec297c53cbc423401480e53b26161a290d"}, - {file = "xxhash-3.5.0-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:f0b48edbebea1b7421a9c687c304f7b44d0677c46498a046079d445454504737"}, - {file = "xxhash-3.5.0-cp37-cp37m-win32.whl", hash = "sha256:7ccb800c9418e438b44b060a32adeb8393764da7441eb52aa2aa195448935306"}, - {file = "xxhash-3.5.0-cp37-cp37m-win_amd64.whl", hash = "sha256:c3bc7bf8cb8806f8d1c9bf149c18708cb1c406520097d6b0a73977460ea03602"}, - {file = "xxhash-3.5.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:74752ecaa544657d88b1d1c94ae68031e364a4d47005a90288f3bab3da3c970f"}, - {file = "xxhash-3.5.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:dee1316133c9b463aa81aca676bc506d3f80d8f65aeb0bba2b78d0b30c51d7bd"}, - {file = "xxhash-3.5.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:602d339548d35a8579c6b013339fb34aee2df9b4e105f985443d2860e4d7ffaa"}, - {file = "xxhash-3.5.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:695735deeddfb35da1677dbc16a083445360e37ff46d8ac5c6fcd64917ff9ade"}, - {file = "xxhash-3.5.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1030a39ba01b0c519b1a82f80e8802630d16ab95dc3f2b2386a0b5c8ed5cbb10"}, - {file = "xxhash-3.5.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a5bc08f33c4966f4eb6590d6ff3ceae76151ad744576b5fc6c4ba8edd459fdec"}, - {file = "xxhash-3.5.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:160e0c19ee500482ddfb5d5570a0415f565d8ae2b3fd69c5dcfce8a58107b1c3"}, - {file = "xxhash-3.5.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:f1abffa122452481a61c3551ab3c89d72238e279e517705b8b03847b1d93d738"}, - {file = "xxhash-3.5.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:d5e9db7ef3ecbfc0b4733579cea45713a76852b002cf605420b12ef3ef1ec148"}, - {file = "xxhash-3.5.0-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:23241ff6423378a731d84864bf923a41649dc67b144debd1077f02e6249a0d54"}, - {file = "xxhash-3.5.0-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:82b833d5563fefd6fceafb1aed2f3f3ebe19f84760fdd289f8b926731c2e6e91"}, - {file = "xxhash-3.5.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:0a80ad0ffd78bef9509eee27b4a29e56f5414b87fb01a888353e3d5bda7038bd"}, - {file = "xxhash-3.5.0-cp38-cp38-win32.whl", hash = "sha256:50ac2184ffb1b999e11e27c7e3e70cc1139047e7ebc1aa95ed12f4269abe98d4"}, - {file = "xxhash-3.5.0-cp38-cp38-win_amd64.whl", hash = "sha256:392f52ebbb932db566973693de48f15ce787cabd15cf6334e855ed22ea0be5b3"}, - {file = "xxhash-3.5.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:bfc8cdd7f33d57f0468b0614ae634cc38ab9202c6957a60e31d285a71ebe0301"}, - {file = "xxhash-3.5.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e0c48b6300cd0b0106bf49169c3e0536408dfbeb1ccb53180068a18b03c662ab"}, - {file = "xxhash-3.5.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fe1a92cfbaa0a1253e339ccec42dbe6db262615e52df591b68726ab10338003f"}, - {file = "xxhash-3.5.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:33513d6cc3ed3b559134fb307aae9bdd94d7e7c02907b37896a6c45ff9ce51bd"}, - {file = "xxhash-3.5.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:eefc37f6138f522e771ac6db71a6d4838ec7933939676f3753eafd7d3f4c40bc"}, - {file = "xxhash-3.5.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a606c8070ada8aa2a88e181773fa1ef17ba65ce5dd168b9d08038e2a61b33754"}, - {file = "xxhash-3.5.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:42eca420c8fa072cc1dd62597635d140e78e384a79bb4944f825fbef8bfeeef6"}, - {file = "xxhash-3.5.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:604253b2143e13218ff1ef0b59ce67f18b8bd1c4205d2ffda22b09b426386898"}, - {file = "xxhash-3.5.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:6e93a5ad22f434d7876665444a97e713a8f60b5b1a3521e8df11b98309bff833"}, - {file = "xxhash-3.5.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:7a46e1d6d2817ba8024de44c4fd79913a90e5f7265434cef97026215b7d30df6"}, - {file = "xxhash-3.5.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:30eb2efe6503c379b7ab99c81ba4a779748e3830241f032ab46bd182bf5873af"}, - {file = "xxhash-3.5.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:c8aa771ff2c13dd9cda8166d685d7333d389fae30a4d2bb39d63ab5775de8606"}, - {file = "xxhash-3.5.0-cp39-cp39-win32.whl", hash = "sha256:5ed9ebc46f24cf91034544b26b131241b699edbfc99ec5e7f8f3d02d6eb7fba4"}, - {file = "xxhash-3.5.0-cp39-cp39-win_amd64.whl", hash = "sha256:220f3f896c6b8d0316f63f16c077d52c412619e475f9372333474ee15133a558"}, - {file = "xxhash-3.5.0-cp39-cp39-win_arm64.whl", hash = "sha256:a7b1d8315d9b5e9f89eb2933b73afae6ec9597a258d52190944437158b49d38e"}, - {file = "xxhash-3.5.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:2014c5b3ff15e64feecb6b713af12093f75b7926049e26a580e94dcad3c73d8c"}, - {file = "xxhash-3.5.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fab81ef75003eda96239a23eda4e4543cedc22e34c373edcaf744e721a163986"}, - {file = "xxhash-3.5.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4e2febf914ace002132aa09169cc572e0d8959d0f305f93d5828c4836f9bc5a6"}, - {file = "xxhash-3.5.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5d3a10609c51da2a1c0ea0293fc3968ca0a18bd73838455b5bca3069d7f8e32b"}, - {file = "xxhash-3.5.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:5a74f23335b9689b66eb6dbe2a931a88fcd7a4c2cc4b1cb0edba8ce381c7a1da"}, - {file = "xxhash-3.5.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:2b4154c00eb22e4d543f472cfca430e7962a0f1d0f3778334f2e08a7ba59363c"}, - {file = "xxhash-3.5.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d30bbc1644f726b825b3278764240f449d75f1a8bdda892e641d4a688b1494ae"}, - {file = "xxhash-3.5.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6fa0b72f2423e2aa53077e54a61c28e181d23effeaafd73fcb9c494e60930c8e"}, - {file = "xxhash-3.5.0-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:13de2b76c1835399b2e419a296d5b38dc4855385d9e96916299170085ef72f57"}, - {file = "xxhash-3.5.0-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:0691bfcc4f9c656bcb96cc5db94b4d75980b9d5589f2e59de790091028580837"}, - {file = "xxhash-3.5.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:297595fe6138d4da2c8ce9e72a04d73e58725bb60f3a19048bc96ab2ff31c692"}, - {file = "xxhash-3.5.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cc1276d369452040cbb943300dc8abeedab14245ea44056a2943183822513a18"}, - {file = "xxhash-3.5.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2061188a1ba352fc699c82bff722f4baacb4b4b8b2f0c745d2001e56d0dfb514"}, - {file = "xxhash-3.5.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:38c384c434021e4f62b8d9ba0bc9467e14d394893077e2c66d826243025e1f81"}, - {file = "xxhash-3.5.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:e6a4dd644d72ab316b580a1c120b375890e4c52ec392d4aef3c63361ec4d77d1"}, - {file = "xxhash-3.5.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:531af8845aaadcadf951b7e0c1345c6b9c68a990eeb74ff9acd8501a0ad6a1c9"}, - {file = "xxhash-3.5.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7ce379bcaa9fcc00f19affa7773084dd09f5b59947b3fb47a1ceb0179f91aaa1"}, - {file = "xxhash-3.5.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd1b2281d01723f076df3c8188f43f2472248a6b63118b036e641243656b1b0f"}, - {file = "xxhash-3.5.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9c770750cc80e8694492244bca7251385188bc5597b6a39d98a9f30e8da984e0"}, - {file = "xxhash-3.5.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:b150b8467852e1bd844387459aa6fbe11d7f38b56e901f9f3b3e6aba0d660240"}, - {file = "xxhash-3.5.0.tar.gz", hash = "sha256:84f2caddf951c9cbf8dc2e22a89d4ccf5d86391ac6418fe81e3c67d0cf60b45f"}, -] - -[[package]] -name = "yarl" -version = "1.18.3" -description = "Yet another URL library" -optional = false -python-versions = ">=3.9" -files = [ - {file = "yarl-1.18.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7df647e8edd71f000a5208fe6ff8c382a1de8edfbccdbbfe649d263de07d8c34"}, - {file = "yarl-1.18.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c69697d3adff5aa4f874b19c0e4ed65180ceed6318ec856ebc423aa5850d84f7"}, - {file = "yarl-1.18.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:602d98f2c2d929f8e697ed274fbadc09902c4025c5a9963bf4e9edfc3ab6f7ed"}, - {file = "yarl-1.18.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c654d5207c78e0bd6d749f6dae1dcbbfde3403ad3a4b11f3c5544d9906969dde"}, - {file = "yarl-1.18.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5094d9206c64181d0f6e76ebd8fb2f8fe274950a63890ee9e0ebfd58bf9d787b"}, - {file = "yarl-1.18.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:35098b24e0327fc4ebdc8ffe336cee0a87a700c24ffed13161af80124b7dc8e5"}, - {file = "yarl-1.18.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3236da9272872443f81fedc389bace88408f64f89f75d1bdb2256069a8730ccc"}, - {file = "yarl-1.18.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e2c08cc9b16f4f4bc522771d96734c7901e7ebef70c6c5c35dd0f10845270bcd"}, - {file = "yarl-1.18.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:80316a8bd5109320d38eef8833ccf5f89608c9107d02d2a7f985f98ed6876990"}, - {file = "yarl-1.18.3-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:c1e1cc06da1491e6734f0ea1e6294ce00792193c463350626571c287c9a704db"}, - {file = "yarl-1.18.3-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:fea09ca13323376a2fdfb353a5fa2e59f90cd18d7ca4eaa1fd31f0a8b4f91e62"}, - {file = "yarl-1.18.3-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:e3b9fd71836999aad54084906f8663dffcd2a7fb5cdafd6c37713b2e72be1760"}, - {file = "yarl-1.18.3-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:757e81cae69244257d125ff31663249b3013b5dc0a8520d73694aed497fb195b"}, - {file = "yarl-1.18.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:b1771de9944d875f1b98a745bc547e684b863abf8f8287da8466cf470ef52690"}, - {file = "yarl-1.18.3-cp310-cp310-win32.whl", hash = "sha256:8874027a53e3aea659a6d62751800cf6e63314c160fd607489ba5c2edd753cf6"}, - {file = "yarl-1.18.3-cp310-cp310-win_amd64.whl", hash = "sha256:93b2e109287f93db79210f86deb6b9bbb81ac32fc97236b16f7433db7fc437d8"}, - {file = "yarl-1.18.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:8503ad47387b8ebd39cbbbdf0bf113e17330ffd339ba1144074da24c545f0069"}, - {file = "yarl-1.18.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:02ddb6756f8f4517a2d5e99d8b2f272488e18dd0bfbc802f31c16c6c20f22193"}, - {file = "yarl-1.18.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:67a283dd2882ac98cc6318384f565bffc751ab564605959df4752d42483ad889"}, - {file = "yarl-1.18.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d980e0325b6eddc81331d3f4551e2a333999fb176fd153e075c6d1c2530aa8a8"}, - {file = "yarl-1.18.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b643562c12680b01e17239be267bc306bbc6aac1f34f6444d1bded0c5ce438ca"}, - {file = "yarl-1.18.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c017a3b6df3a1bd45b9fa49a0f54005e53fbcad16633870104b66fa1a30a29d8"}, - {file = "yarl-1.18.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:75674776d96d7b851b6498f17824ba17849d790a44d282929c42dbb77d4f17ae"}, - {file = "yarl-1.18.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ccaa3a4b521b780a7e771cc336a2dba389a0861592bbce09a476190bb0c8b4b3"}, - {file = "yarl-1.18.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:2d06d3005e668744e11ed80812e61efd77d70bb7f03e33c1598c301eea20efbb"}, - {file = "yarl-1.18.3-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:9d41beda9dc97ca9ab0b9888cb71f7539124bc05df02c0cff6e5acc5a19dcc6e"}, - {file = "yarl-1.18.3-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:ba23302c0c61a9999784e73809427c9dbedd79f66a13d84ad1b1943802eaaf59"}, - {file = "yarl-1.18.3-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:6748dbf9bfa5ba1afcc7556b71cda0d7ce5f24768043a02a58846e4a443d808d"}, - {file = "yarl-1.18.3-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:0b0cad37311123211dc91eadcb322ef4d4a66008d3e1bdc404808992260e1a0e"}, - {file = "yarl-1.18.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:0fb2171a4486bb075316ee754c6d8382ea6eb8b399d4ec62fde2b591f879778a"}, - {file = "yarl-1.18.3-cp311-cp311-win32.whl", hash = "sha256:61b1a825a13bef4a5f10b1885245377d3cd0bf87cba068e1d9a88c2ae36880e1"}, - {file = "yarl-1.18.3-cp311-cp311-win_amd64.whl", hash = "sha256:b9d60031cf568c627d028239693fd718025719c02c9f55df0a53e587aab951b5"}, - {file = "yarl-1.18.3-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:1dd4bdd05407ced96fed3d7f25dbbf88d2ffb045a0db60dbc247f5b3c5c25d50"}, - {file = "yarl-1.18.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:7c33dd1931a95e5d9a772d0ac5e44cac8957eaf58e3c8da8c1414de7dd27c576"}, - {file = "yarl-1.18.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:25b411eddcfd56a2f0cd6a384e9f4f7aa3efee14b188de13048c25b5e91f1640"}, - {file = "yarl-1.18.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:436c4fc0a4d66b2badc6c5fc5ef4e47bb10e4fd9bf0c79524ac719a01f3607c2"}, - {file = "yarl-1.18.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e35ef8683211db69ffe129a25d5634319a677570ab6b2eba4afa860f54eeaf75"}, - {file = "yarl-1.18.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:84b2deecba4a3f1a398df819151eb72d29bfeb3b69abb145a00ddc8d30094512"}, - {file = "yarl-1.18.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:00e5a1fea0fd4f5bfa7440a47eff01d9822a65b4488f7cff83155a0f31a2ecba"}, - {file = "yarl-1.18.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d0e883008013c0e4aef84dcfe2a0b172c4d23c2669412cf5b3371003941f72bb"}, - {file = "yarl-1.18.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:5a3f356548e34a70b0172d8890006c37be92995f62d95a07b4a42e90fba54272"}, - {file = "yarl-1.18.3-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:ccd17349166b1bee6e529b4add61727d3f55edb7babbe4069b5764c9587a8cc6"}, - {file = "yarl-1.18.3-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:b958ddd075ddba5b09bb0be8a6d9906d2ce933aee81100db289badbeb966f54e"}, - {file = "yarl-1.18.3-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:c7d79f7d9aabd6011004e33b22bc13056a3e3fb54794d138af57f5ee9d9032cb"}, - {file = "yarl-1.18.3-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:4891ed92157e5430874dad17b15eb1fda57627710756c27422200c52d8a4e393"}, - {file = "yarl-1.18.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ce1af883b94304f493698b00d0f006d56aea98aeb49d75ec7d98cd4a777e9285"}, - {file = "yarl-1.18.3-cp312-cp312-win32.whl", hash = "sha256:f91c4803173928a25e1a55b943c81f55b8872f0018be83e3ad4938adffb77dd2"}, - {file = "yarl-1.18.3-cp312-cp312-win_amd64.whl", hash = "sha256:7e2ee16578af3b52ac2f334c3b1f92262f47e02cc6193c598502bd46f5cd1477"}, - {file = "yarl-1.18.3-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:90adb47ad432332d4f0bc28f83a5963f426ce9a1a8809f5e584e704b82685dcb"}, - {file = "yarl-1.18.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:913829534200eb0f789d45349e55203a091f45c37a2674678744ae52fae23efa"}, - {file = "yarl-1.18.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:ef9f7768395923c3039055c14334ba4d926f3baf7b776c923c93d80195624782"}, - {file = "yarl-1.18.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:88a19f62ff30117e706ebc9090b8ecc79aeb77d0b1f5ec10d2d27a12bc9f66d0"}, - {file = "yarl-1.18.3-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e17c9361d46a4d5addf777c6dd5eab0715a7684c2f11b88c67ac37edfba6c482"}, - {file = "yarl-1.18.3-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1a74a13a4c857a84a845505fd2d68e54826a2cd01935a96efb1e9d86c728e186"}, - {file = "yarl-1.18.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:41f7ce59d6ee7741af71d82020346af364949314ed3d87553763a2df1829cc58"}, - {file = "yarl-1.18.3-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f52a265001d830bc425f82ca9eabda94a64a4d753b07d623a9f2863fde532b53"}, - {file = "yarl-1.18.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:82123d0c954dc58db301f5021a01854a85bf1f3bb7d12ae0c01afc414a882ca2"}, - {file = "yarl-1.18.3-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:2ec9bbba33b2d00999af4631a3397d1fd78290c48e2a3e52d8dd72db3a067ac8"}, - {file = "yarl-1.18.3-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:fbd6748e8ab9b41171bb95c6142faf068f5ef1511935a0aa07025438dd9a9bc1"}, - {file = "yarl-1.18.3-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:877d209b6aebeb5b16c42cbb377f5f94d9e556626b1bfff66d7b0d115be88d0a"}, - {file = "yarl-1.18.3-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:b464c4ab4bfcb41e3bfd3f1c26600d038376c2de3297760dfe064d2cb7ea8e10"}, - {file = "yarl-1.18.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:8d39d351e7faf01483cc7ff7c0213c412e38e5a340238826be7e0e4da450fdc8"}, - {file = "yarl-1.18.3-cp313-cp313-win32.whl", hash = "sha256:61ee62ead9b68b9123ec24bc866cbef297dd266175d53296e2db5e7f797f902d"}, - {file = "yarl-1.18.3-cp313-cp313-win_amd64.whl", hash = "sha256:578e281c393af575879990861823ef19d66e2b1d0098414855dd367e234f5b3c"}, - {file = "yarl-1.18.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:61e5e68cb65ac8f547f6b5ef933f510134a6bf31bb178be428994b0cb46c2a04"}, - {file = "yarl-1.18.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:fe57328fbc1bfd0bd0514470ac692630f3901c0ee39052ae47acd1d90a436719"}, - {file = "yarl-1.18.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a440a2a624683108a1b454705ecd7afc1c3438a08e890a1513d468671d90a04e"}, - {file = "yarl-1.18.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:09c7907c8548bcd6ab860e5f513e727c53b4a714f459b084f6580b49fa1b9cee"}, - {file = "yarl-1.18.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b4f6450109834af88cb4cc5ecddfc5380ebb9c228695afc11915a0bf82116789"}, - {file = "yarl-1.18.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a9ca04806f3be0ac6d558fffc2fdf8fcef767e0489d2684a21912cc4ed0cd1b8"}, - {file = "yarl-1.18.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:77a6e85b90a7641d2e07184df5557132a337f136250caafc9ccaa4a2a998ca2c"}, - {file = "yarl-1.18.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6333c5a377c8e2f5fae35e7b8f145c617b02c939d04110c76f29ee3676b5f9a5"}, - {file = "yarl-1.18.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:0b3c92fa08759dbf12b3a59579a4096ba9af8dd344d9a813fc7f5070d86bbab1"}, - {file = "yarl-1.18.3-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:4ac515b860c36becb81bb84b667466885096b5fc85596948548b667da3bf9f24"}, - {file = "yarl-1.18.3-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:045b8482ce9483ada4f3f23b3774f4e1bf4f23a2d5c912ed5170f68efb053318"}, - {file = "yarl-1.18.3-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:a4bb030cf46a434ec0225bddbebd4b89e6471814ca851abb8696170adb163985"}, - {file = "yarl-1.18.3-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:54d6921f07555713b9300bee9c50fb46e57e2e639027089b1d795ecd9f7fa910"}, - {file = "yarl-1.18.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:1d407181cfa6e70077df3377938c08012d18893f9f20e92f7d2f314a437c30b1"}, - {file = "yarl-1.18.3-cp39-cp39-win32.whl", hash = "sha256:ac36703a585e0929b032fbaab0707b75dc12703766d0b53486eabd5139ebadd5"}, - {file = "yarl-1.18.3-cp39-cp39-win_amd64.whl", hash = "sha256:ba87babd629f8af77f557b61e49e7c7cac36f22f871156b91e10a6e9d4f829e9"}, - {file = "yarl-1.18.3-py3-none-any.whl", hash = "sha256:b57f4f58099328dfb26c6a771d09fb20dbbae81d20cfb66141251ea063bd101b"}, - {file = "yarl-1.18.3.tar.gz", hash = "sha256:ac1801c45cbf77b6c99242eeff4fffb5e4e73a800b5c4ad4fc0be5def634d2e1"}, -] - -[package.dependencies] -idna = ">=2.0" -multidict = ">=4.0" -propcache = ">=0.2.0" - -[metadata] -lock-version = "2.0" -python-versions = "^3.10" -content-hash = "ddd1896418384a59ea5cc93165805531aaa09c17748180768da7266c57c8307e" diff --git a/pyproject.toml b/pyproject.toml index 1f179df..2f32710 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,35 +1,36 @@ -[tool.poetry] +[project] name = "pdftext" version = "0.6.2" description = "Extract structured text from pdfs quickly" -authors = ["Vik Paruchuri "] -license = "Apache-2.0" +authors = [ + {name = "Vik Paruchuri", email = "vik.paruchuri@gmail.com"} +] +license = {text = "Apache-2.0"} readme = "README.md" -repository = "https://github.com/VikParuchuri/pdftext" +requires-python = ">=3.10" keywords = ["pdf", "text", "extraction"] -packages = [ - {include = "pdftext"} +classifiers = [ + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "License :: OSI Approved :: Apache Software License", + "Operating System :: OS Independent", ] -[tool.poetry.dependencies] -python = "^3.10" -pypdfium2 = "=4.30.0" -pydantic = "^2.7.1" -pydantic-settings = "^2.2.1" +[project.urls] +Repository = "https://github.com/VikParuchuri/pdftext" -click = "^8.1.8" -[tool.poetry.group.dev.dependencies] -pymupdf = "^1.24.2" -datasets = "^2.19.0" -pdfplumber = "^0.11.0" -pillow = "^10.3.0" -rapidfuzz = "^3.8.1" -tabulate = "^0.9.0" +[project.scripts] +pdftext = "pdftext.scripts.extract_text:extract_text_cli" -pytest = "^8.3.4" [build-system] -requires = ["poetry-core"] -build-backend = "poetry.core.masonry.api" +requires = ["setuptools>=61.0"] +build-backend = "setuptools.build_meta" -[tool.poetry.scripts] -pdftext = "pdftext.scripts.extract_text:extract_text_cli" +[tool.pytest.ini_options] +minversion = "6.0" +addopts = "-ra -q" +testpaths = [ + "tests", +] diff --git a/requirements-dev.txt b/requirements-dev.txt new file mode 100644 index 0000000..0bb3211 --- /dev/null +++ b/requirements-dev.txt @@ -0,0 +1,8 @@ +-r requirements.txt +pymupdf>=1.24.2,<2.0.0 +datasets>=2.19.0,<3.0.0 +pdfplumber>=0.11.0,<0.12.0 +pillow>=10.3.0,<11.0.0 +rapidfuzz>=3.8.1,<4.0.0 +tabulate>=0.9.0,<0.10.0 +pytest>=8.3.4,<9.0.0 \ No newline at end of file diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..a6a7fed --- /dev/null +++ b/requirements.txt @@ -0,0 +1,4 @@ +pypdfium2==4.30.0 +pydantic>=2.7.1,<3.0.0 +pydantic-settings>=2.2.1,<3.0.0 +click>=8.1.8,<9.0.0 \ No newline at end of file diff --git a/uv.lock b/uv.lock new file mode 100644 index 0000000..907f7a7 --- /dev/null +++ b/uv.lock @@ -0,0 +1,8 @@ +version = 1 +revision = 1 +requires-python = ">=3.10" + +[[package]] +name = "pdftext" +version = "0.6.2" +source = { editable = "." } From 44cd249e90790cbd3351e246a5dae9d6def30d9b Mon Sep 17 00:00:00 2001 From: Vinod Ganesan Date: Thu, 10 Apr 2025 15:43:13 +0530 Subject: [PATCH 02/26] Bumping local changes towards iterating on pdftext --- README.md | 34 ++++++++++++-- pdftext/pdf/chars.py | 6 +++ pdftext/pdf/pages.py | 105 +++++++++++++++++++++++++++++++++++++++---- pyproject.toml | 8 ++++ 4 files changed, 141 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index 59e2721..b2d081c 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,33 @@ Text extraction like [PyMuPDF](https://github.com/pymupdf/PyMuPDF), but without # Installation -You'll need python 3.9+ first. Then run `pip install pdftext`. +You'll need python 3.10+ first. Then run `pip install pdftext`. + +# Development + +To set up the development environment: + +1. Clone the repository: +```shell +git clone https://github.com/VikParuchuri/pdftext.git +cd pdftext +``` + +2. Create and activate a virtual environment: +```shell +python -m venv .venv +source .venv/bin/activate # On Windows use `.venv\Scripts\activate` +``` + +3. Install dependencies using UV: +```shell +uv pip install -r requirements-dev.txt +``` + +4. Run tests: +```shell +uv run pytest +``` # Usage @@ -132,12 +158,14 @@ For the alignment score, I extracted the text, then used the rapidfuzz library t ## Running benchmarks -You can run the benchmarks yourself. To do so, you have to first install pdftext manually. The install assumes you have poetry and Python 3.9+ installed. +You can run the benchmarks yourself. To do so, you have to first install pdftext manually. The install assumes you have Python 3.10+ installed. ```shell git clone https://github.com/VikParuchuri/pdftext.git cd pdftext -poetry install +python -m venv .venv +source .venv/bin/activate # On Windows use `.venv\Scripts\activate` +uv pip install -r requirements-dev.txt python benchmark.py # Will download the benchmark pdfs automatically ``` diff --git a/pdftext/pdf/chars.py b/pdftext/pdf/chars.py index b0b0d14..7231cd3 100644 --- a/pdftext/pdf/chars.py +++ b/pdftext/pdf/chars.py @@ -2,6 +2,7 @@ import pypdfium2 as pdfium import pypdfium2.raw as pdfium_c +from pypdfium2.raw import c_uint from pdftext.pdf.utils import get_fontname from pdftext.schema import Bbox, Char, Chars, Spans, Span @@ -23,6 +24,11 @@ def get_chars(textpage: pdfium.PdfTextPage, page_bbox: list[float], page_rotatio char_box = textpage.get_charbox(i, loose=loosebox) cx_start, cy_start, cx_end, cy_end = char_box + font_color = [] + r, g, b, a = c_uint(), c_uint(), c_uint(), c_uint() + + + cx_start -= x_start cx_end -= x_start cy_start -= y_start diff --git a/pdftext/pdf/pages.py b/pdftext/pdf/pages.py index f650c71..5137fdd 100644 --- a/pdftext/pdf/pages.py +++ b/pdftext/pdf/pages.py @@ -4,13 +4,15 @@ import statistics from typing import List import unicodedata +import io import pypdfium2 as pdfium from pdftext.pdf.chars import get_chars, deduplicate_chars from pdftext.pdf.utils import flatten from pdftext.schema import Blocks, Chars, Line, Lines, Pages, Span, Spans - +import base64 +from pdftext.schema import Page def is_math_symbol(char): if len(char) != 1: @@ -257,6 +259,74 @@ def block_merge(): return merged_blocks +def get_page( + pdf: bytes, + quote_loosebox: bool = True, + superscript_height_threshold: float = 0.7, + line_distance_threshold: float = 0.1, + page_scale: int = 2, +) -> Page: + page_idx = 0 + pdf_doc = pdfium.PdfDocument(pdf) + page = None + textpage = None + img = None + bytes_arr = None + + try: + page = pdf_doc.get_page(page_idx) + textpage = page.get_textpage() + + page_bbox: List[float] = page.get_bbox() + page_width = math.ceil(abs(page_bbox[2] - page_bbox[0])) + page_height = math.ceil(abs(page_bbox[1] - page_bbox[3])) + + page_rotation = 0 + try: + page_rotation = page.get_rotation() + except: + pass + + chars = deduplicate_chars(get_chars(textpage, page_bbox, page_rotation, quote_loosebox)) + spans = get_spans(chars, superscript_height_threshold=superscript_height_threshold, line_distance_threshold=line_distance_threshold) + lines = get_lines(spans) + assign_scripts(lines, height_threshold=superscript_height_threshold, line_distance_threshold=line_distance_threshold) + blocks = get_blocks(lines) + + ## Adding image + img = page.render(scale=page_scale) + img = img.to_pil() + + bytes_arr = io.BytesIO() + img.save(bytes_arr, format='PNG') + bytes_arr.seek(0) + img_base64 = base64.b64encode(bytes_arr.getvalue()).decode('utf-8') + + return { + "page": page_idx, + "bbox": page_bbox, + "width": page_width, + "height": page_height, + "rotation": page_rotation, + "blocks": blocks, + "scale": page_scale, + "page_image": img_base64 + } + # Return None if there is an error + except Exception as e: + print(f"Error getting page: {e}") + return None + finally: + # Clean up all resources + if bytes_arr: + bytes_arr.close() + if img: + img.close() + # PDF document must be closed last + if pdf_doc: + pdf_doc.close() + + def get_pages( pdf: pdfium.PdfDocument, page_range: range, @@ -264,6 +334,7 @@ def get_pages( quote_loosebox: bool =True, superscript_height_threshold: float = 0.7, line_distance_threshold: float = 0.1, + page_scale: int = 2, ) -> Pages: pages: Pages = [] @@ -291,12 +362,28 @@ def get_pages( assign_scripts(lines, height_threshold=superscript_height_threshold, line_distance_threshold=line_distance_threshold) blocks = get_blocks(lines) - pages.append({ - "page": page_idx, - "bbox": page_bbox, - "width": page_width, - "height": page_height, - "rotation": page_rotation, - "blocks": blocks - }) + ## Adding image + img = page.render(scale=page_scale) + img = img.to_pil() + + bytes_arr = io.BytesIO() + try: + img.save(bytes_arr, format='PNG') + bytes_arr.seek(0) + img_base64 = base64.b64encode(bytes_arr.getvalue()).decode('utf-8') + + pages.append({ + "page": page_idx, + "bbox": page_bbox, + "width": page_width, + "height": page_height, + "rotation": page_rotation, + "blocks": blocks, + "scale": page_scale, + "page_image": img_base64 + }) + finally: + bytes_arr.close() + img.close() + return pages diff --git a/pyproject.toml b/pyproject.toml index 2f32710..d775a4e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -17,6 +17,14 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Operating System :: OS Independent", ] +dependencies = [ + "click>=8.1.8", + "pypdfium2==4.30.0", + "pydantic>=2.7.1,<3.0.0", + "pydantic-settings>=2.2.1,<3.0.0", + "numpy>=2.2.4", + "pillow>=10.3.0,<11.0.0" +] [project.urls] Repository = "https://github.com/VikParuchuri/pdftext" From 9f2c8e1e24108e474c51a3ee084dc208fe6b8943 Mon Sep 17 00:00:00 2001 From: Vinod Ganesan Date: Thu, 10 Apr 2025 17:51:54 +0530 Subject: [PATCH 03/26] Adding changes to schema --- pdftext/schema.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/pdftext/schema.py b/pdftext/schema.py index b13456b..6091379 100644 --- a/pdftext/schema.py +++ b/pdftext/schema.py @@ -69,6 +69,17 @@ def overlap_x(self, other: Bbox): def overlap_y(self, other: Bbox): return max(0, min(self.bbox[3], other.bbox[3]) - max(self.bbox[1], other.bbox[1])) + def horizontal_distance(self, other: Bbox): + x1, y1, x2, y2 = self.bbox + i1, j1, i2, j2 = other.bbox + + if x1 < i1: + return i1 - x1 + elif i2 < x1: + return x1 - i2 + + return 0 + def intersection_area(self, other: Bbox): return self.overlap_x(other) * self.overlap_y(other) From a03ae7cdb0fd3d8229964b3dbad5624db3efb4a3 Mon Sep 17 00:00:00 2001 From: nischith Date: Thu, 10 Apr 2025 17:53:14 +0530 Subject: [PATCH 04/26] should work --- pdftext/pdf/chars.py | 83 +++++++---- pdftext/pdf/pages.py | 332 +++++++++++++++++++++++++------------------ 2 files changed, 246 insertions(+), 169 deletions(-) diff --git a/pdftext/pdf/chars.py b/pdftext/pdf/chars.py index 7231cd3..d558888 100644 --- a/pdftext/pdf/chars.py +++ b/pdftext/pdf/chars.py @@ -1,3 +1,4 @@ +import ctypes import math import pypdfium2 as pdfium @@ -8,7 +9,12 @@ from pdftext.schema import Bbox, Char, Chars, Spans, Span -def get_chars(textpage: pdfium.PdfTextPage, page_bbox: list[float], page_rotation: int, quote_loosebox=True) -> Chars: +def get_chars( + textpage: pdfium.PdfTextPage, + page_bbox: list[float], + page_rotation: int, + quote_loosebox=True, +) -> Chars: chars: Chars = [] x_start, y_start, x_end, y_end = page_bbox @@ -24,11 +30,6 @@ def get_chars(textpage: pdfium.PdfTextPage, page_bbox: list[float], page_rotatio char_box = textpage.get_charbox(i, loose=loosebox) cx_start, cy_start, cx_end, cy_end = char_box - font_color = [] - r, g, b, a = c_uint(), c_uint(), c_uint(), c_uint() - - - cx_start -= x_start cx_end -= x_start cy_start -= y_start @@ -37,12 +38,32 @@ def get_chars(textpage: pdfium.PdfTextPage, page_bbox: list[float], page_rotatio ty_start = page_height - cy_start ty_end = page_height - cy_end - bbox_coords = [min(cx_start, cx_end), min(ty_start, ty_end), max(cx_start, cx_end), max(ty_start, ty_end)] + bbox_coords = [ + min(cx_start, cx_end), + min(ty_start, ty_end), + max(cx_start, cx_end), + max(ty_start, ty_end), + ] bbox = Bbox(bbox_coords).rotate(page_width, page_height, page_rotation) fontname, fontflag = get_fontname(textpage, i) fontsize = pdfium_c.FPDFText_GetFontSize(textpage, i) fontweight = pdfium_c.FPDFText_GetFontWeight(textpage, i) + fontcolor = [c_uint()]*4 # r, g, b, a + is_fillcolor = round( + pdfium_c.FPDFText_GetFillColor( + textpage, + i, + ctypes.byref(fontcolor[0]), + ctypes.byref(fontcolor[1]), + ctypes.byref(fontcolor[2]), + ctypes.byref(fontcolor[3]), + ) + ) + if is_fillcolor: + fontcolor = [color.value for color in fontcolor] + else: + fontcolor = [] char_dict: Char = { "bbox": bbox, @@ -51,13 +72,16 @@ def get_chars(textpage: pdfium.PdfTextPage, page_bbox: list[float], page_rotatio "font": { "name": fontname, "flags": fontflag, + "color": fontcolor, "size": fontsize, "weight": fontweight, }, - "char_idx": i + "char_idx": i, } chars.append(char_dict) + # TODO: If required, add a deduplication step here through intersection of bboxes + return chars @@ -67,16 +91,18 @@ def deduplicate_chars(chars: Chars) -> Chars: word: Span = None def word_break(): - words.append({ - "bbox": char["bbox"], - "text": char["char"], - "rotation": char["rotation"], - "font": char["font"], - "char_start_idx": char["char_idx"], - "char_end_idx": char["char_idx"], - "chars": [char], - "url": '', - }) + words.append( + { + "bbox": char["bbox"], + "text": char["char"], + "rotation": char["rotation"], + "font": char["font"], + "char_start_idx": char["char_idx"], + "char_end_idx": char["char_idx"], + "chars": [char], + "url": "", + } + ) for char in chars: if words: @@ -87,30 +113,33 @@ def word_break(): continue # we also break on hyphenation - if any(word['text'].endswith(x) for x in ['\n', ' ', '\x02']): + if any(word["text"].endswith(x) for x in ["\n", " ", "\x02"]): word_break() continue # we break on any change in font info - if any(char['font'][k] != word['font'][k] for k in ['name', 'flags', 'size', 'weight']): + if any( + char["font"][k] != word["font"][k] + for k in ["name", "flags", "size", "weight"] + ): word_break() continue - if char['rotation'] != word['rotation']: + if char["rotation"] != word["rotation"]: word_break() continue - word['text'] += char['char'] - word['char_end_idx'] = char['char_idx'] - word['bbox'] = word['bbox'].merge(char['bbox']) - word['chars'].append(char) + word["text"] += char["char"] + word["char_end_idx"] = char["char_idx"] + word["bbox"] = word["bbox"].merge(char["bbox"]) + word["chars"].append(char) # deduplicate words seen = {} deduped = [] for word in words: # Round the bbox coordinates - bbox = word['bbox'].bbox + bbox = word["bbox"].bbox bbox = [round(x, 0) for x in bbox] key = f"{bbox}-{word['text']}-{word['rotation']}-{word['font']['name']}-{word['font']['flags']}-{word['font']['size']}-{word['font']['weight']}" @@ -118,4 +147,4 @@ def word_break(): seen[key] = True deduped.append(word) - return [char for word in deduped for char in word['chars']] + return [char for word in deduped for char in word["chars"]] diff --git a/pdftext/pdf/pages.py b/pdftext/pdf/pages.py index 5137fdd..47e772d 100644 --- a/pdftext/pdf/pages.py +++ b/pdftext/pdf/pages.py @@ -14,14 +14,18 @@ import base64 from pdftext.schema import Page + def is_math_symbol(char): if len(char) != 1: return False category = unicodedata.category(char) - return category == 'Sm' + return category == "Sm" + -def assign_scripts(lines: Lines, height_threshold: float = 0.8, line_distance_threshold: float = 0.1): +def assign_scripts( + lines: Lines, height_threshold: float = 0.8, line_distance_threshold: float = 0.1 +): for line in lines: prev_span = None if len(line["spans"]) < 2: @@ -33,64 +37,109 @@ def assign_scripts(lines: Lines, height_threshold: float = 0.8, line_distance_th for i, span in enumerate(line["spans"]): is_first = i == 0 or not prev_span["text"].strip() - is_last = i == len(line["spans"]) - 1 or not line["spans"][i + 1]["text"].strip() + is_last = ( + i == len(line["spans"]) - 1 or not line["spans"][i + 1]["text"].strip() + ) span_height = span["bbox"].height span_top = span["bbox"].y_start span_bottom = span["bbox"].y_end - line_fullheight = span_height / max(1, line["bbox"].height) <= height_threshold - next_fullheight = is_last or span_height / max(1, line["spans"][i + 1]["bbox"].height) <= height_threshold - prev_fullheight = is_first or span_height / max(1, prev_span["bbox"].height) <= height_threshold - - above = any([span_top < (s["bbox"].y_start - s["bbox"].height * line_distance_threshold) for j, s in enumerate(line["spans"]) if j != i]) + line_fullheight = ( + span_height / max(1, line["bbox"].height) <= height_threshold + ) + next_fullheight = ( + is_last + or span_height / max(1, line["spans"][i + 1]["bbox"].height) + <= height_threshold + ) + prev_fullheight = ( + is_first + or span_height / max(1, prev_span["bbox"].height) <= height_threshold + ) + + above = any( + [ + span_top + < (s["bbox"].y_start - s["bbox"].height * line_distance_threshold) + for j, s in enumerate(line["spans"]) + if j != i + ] + ) prev_above = is_first or span_top < prev_span["bbox"].y_start next_above = is_last or span_top < line["spans"][i + 1]["bbox"].y_start - below = any([span_bottom > (s["bbox"].y_end + s["bbox"].height * line_distance_threshold) for j, s in enumerate(line["spans"]) if j != i]) + below = any( + [ + span_bottom + > (s["bbox"].y_end + s["bbox"].height * line_distance_threshold) + for j, s in enumerate(line["spans"]) + if j != i + ] + ) prev_below = is_first or span_bottom > prev_span["bbox"].y_end next_below = is_last or span_bottom > line["spans"][i + 1]["bbox"].y_end span_text = span["text"].strip() - span_text_okay = all([ - (len(span_text) == 1 or span_text.isdigit()), # Ensure that the span text is a single char or a number - span_text.isalnum() or is_math_symbol(span_text) # Ensure that the span text is an alphanumeric or a math symbol - ]) - - if all([ - (prev_fullheight or next_fullheight), - (prev_above or next_above), - above, - line_fullheight, - span_text_okay - ]): + span_text_okay = all( + [ + ( + len(span_text) == 1 or span_text.isdigit() + ), # Ensure that the span text is a single char or a number + span_text.isalnum() + or is_math_symbol( + span_text + ), # Ensure that the span text is an alphanumeric or a math symbol + ] + ) + + if all( + [ + (prev_fullheight or next_fullheight), + (prev_above or next_above), + above, + line_fullheight, + span_text_okay, + ] + ): span["superscript"] = True - elif all([ - (prev_fullheight or next_fullheight), - (prev_below or next_below), - below, - line_fullheight, - span_text_okay - ]): + elif all( + [ + (prev_fullheight or next_fullheight), + (prev_below or next_below), + below, + line_fullheight, + span_text_okay, + ] + ): span["subscript"] = True prev_span = span -def get_spans(chars: Chars, superscript_height_threshold: float = 0.8, line_distance_threshold: float = 0.1) -> Spans: +def get_spans( + chars: Chars, + superscript_height_threshold: float = 0.8, + line_distance_threshold: float = 0.1, +) -> Spans: spans: Spans = [] span: Span = None + avg_char_width = None + sum_char_widths = 0 + prev_char_bbox = None def span_break(): - spans.append({ - "bbox": char["bbox"], - "text": char["char"], - "rotation": char["rotation"], - "font": char["font"], - "char_start_idx": char["char_idx"], - "char_end_idx": char["char_idx"], - "chars": [char], - "url": '', - }) + spans.append( + { + "bbox": char["bbox"], + "text": char["char"], + "rotation": char["rotation"], + "font": char["font"], + "char_start_idx": char["char_idx"], + "char_end_idx": char["char_idx"], + "chars": [char], + "url": "", + } + ) for char in chars: if spans: @@ -98,35 +147,79 @@ def span_break(): if not span: span_break() + sum_char_widths = char["bbox"].width + prev_char_bbox = char["bbox"] continue # we break on any change in font info - if any(char['font'][k] != span['font'][k] for k in ['name', 'flags', 'size', 'weight']): + if any( + char["font"][k] != span["font"][k] + for k in ["name", "flags", "size", "weight", "color"] + ): span_break() + sum_char_widths = char["bbox"].width + prev_char_bbox = char["bbox"] continue - if char['rotation'] != span['rotation']: + if char["rotation"] != span["rotation"]: span_break() + sum_char_widths = char["bbox"].width + prev_char_bbox = char["bbox"] continue # we break on hyphenation or newline - if span['text'].endswith("\x02") or span['text'].endswith("\n"): + if span["text"].endswith("\x02") or span["text"].endswith("\n"): span_break() + sum_char_widths = char["bbox"].width + prev_char_bbox = char["bbox"] continue # Character is likely a superscript - if all([ - char["bbox"][1] < (span["bbox"][1] - span["bbox"].height * line_distance_threshold), # char top is above span - char["bbox"][3] < (span["bbox"].height * superscript_height_threshold) + span["bbox"][1], # char bottom is not full line height - char["bbox"][0] > span["bbox"][2], # char is to the right of the span - ]): + if all( + [ + char["bbox"][1] + < ( + span["bbox"][1] - span["bbox"].height * line_distance_threshold + ), # char top is above span + char["bbox"][3] + < (span["bbox"].height * superscript_height_threshold) + + span["bbox"][1], # char bottom is not full line height + char["bbox"][0] > span["bbox"][2], # char is to the right of the span + ] + ): span_break() + sum_char_widths = char["bbox"].width + prev_char_bbox = char["bbox"] continue - span['text'] += char['char'] - span['char_end_idx'] = char['char_idx'] - span['bbox'] = span['bbox'].merge(char['bbox']) - span['chars'].append(char) + if prev_char_bbox: + avg_char_width = sum_char_widths / len(span["chars"]) + if char["bbox"].horizontal_distance(prev_char_bbox) > 1.5 * avg_char_width: + span_break() + sum_char_widths = char["bbox"].width + prev_char_bbox = char["bbox"] + continue + + if char["bbox"].overlap_y(prev_char_bbox) == 0: + span_break() + sum_char_widths = char["bbox"].width + prev_char_bbox = char["bbox"] + continue + + if char["bbox"].overlap_y(span["bbox"]) < 0.1 * min( + char["bbox"].height, span["bbox"].height + ): + span_break() + sum_char_widths = char["bbox"].width + prev_char_bbox = char["bbox"] + continue + + span["text"] += char["char"] + span["char_end_idx"] = char["char_idx"] + span["bbox"] = span["bbox"].merge(char["bbox"]) + span["chars"].append(char) + prev_char_bbox = char["bbox"] + sum_char_widths += char["bbox"].width return spans @@ -136,7 +229,9 @@ def get_lines(spans: Spans) -> Lines: line: Line = None def line_break(): - lines.append({"spans": [span], "bbox": span["bbox"], "rotation": span["rotation"]}) + lines.append( + {"spans": [span], "bbox": span["bbox"], "rotation": span["rotation"]} + ) for span in spans: if lines: @@ -197,7 +292,9 @@ def block_merge(): for line in lines: if not blocks: # First block - blocks.append({"lines": [line], "bbox": line["bbox"], "rotation": line["rotation"]}) + blocks.append( + {"lines": [line], "bbox": line["bbox"], "rotation": line["rotation"]} + ) continue block = blocks[-1] @@ -216,7 +313,11 @@ def block_merge(): # we make an exception for the first line w.r.t the x diff, because the first line is usually indented line_x_indented_start = last_line["bbox"].x_start > line["bbox"].x_start - if len(block["lines"]) == 1 and line_x_indented_start and y_diff <= allowed_y_gap: + if ( + len(block["lines"]) == 1 + and line_x_indented_start + and y_diff <= allowed_y_gap + ): block_merge() continue @@ -227,7 +328,10 @@ def block_merge(): continue # if the y diff is very small, and you see a line continuation, we merge (can happen with inline math between text spans) - if y_diff < allowed_y_gap * 0.2 and last_line["bbox"].x_end > line["bbox"].x_start: + if ( + y_diff < allowed_y_gap * 0.2 + and last_line["bbox"].x_end > line["bbox"].x_start + ): block_merge() continue @@ -251,7 +355,7 @@ def block_merge(): if prev_block["bbox"].intersection_pct(curr_block["bbox"]) > 0: merged_blocks[-1] = { "lines": prev_block["lines"] + curr_block["lines"], - "bbox": prev_block["bbox"].merge(curr_block["bbox"]) + "bbox": prev_block["bbox"].merge(curr_block["bbox"]), } else: merged_blocks.append(curr_block) @@ -259,82 +363,14 @@ def block_merge(): return merged_blocks -def get_page( - pdf: bytes, - quote_loosebox: bool = True, - superscript_height_threshold: float = 0.7, - line_distance_threshold: float = 0.1, - page_scale: int = 2, -) -> Page: - page_idx = 0 - pdf_doc = pdfium.PdfDocument(pdf) - page = None - textpage = None - img = None - bytes_arr = None - - try: - page = pdf_doc.get_page(page_idx) - textpage = page.get_textpage() - - page_bbox: List[float] = page.get_bbox() - page_width = math.ceil(abs(page_bbox[2] - page_bbox[0])) - page_height = math.ceil(abs(page_bbox[1] - page_bbox[3])) - - page_rotation = 0 - try: - page_rotation = page.get_rotation() - except: - pass - - chars = deduplicate_chars(get_chars(textpage, page_bbox, page_rotation, quote_loosebox)) - spans = get_spans(chars, superscript_height_threshold=superscript_height_threshold, line_distance_threshold=line_distance_threshold) - lines = get_lines(spans) - assign_scripts(lines, height_threshold=superscript_height_threshold, line_distance_threshold=line_distance_threshold) - blocks = get_blocks(lines) - - ## Adding image - img = page.render(scale=page_scale) - img = img.to_pil() - - bytes_arr = io.BytesIO() - img.save(bytes_arr, format='PNG') - bytes_arr.seek(0) - img_base64 = base64.b64encode(bytes_arr.getvalue()).decode('utf-8') - - return { - "page": page_idx, - "bbox": page_bbox, - "width": page_width, - "height": page_height, - "rotation": page_rotation, - "blocks": blocks, - "scale": page_scale, - "page_image": img_base64 - } - # Return None if there is an error - except Exception as e: - print(f"Error getting page: {e}") - return None - finally: - # Clean up all resources - if bytes_arr: - bytes_arr.close() - if img: - img.close() - # PDF document must be closed last - if pdf_doc: - pdf_doc.close() - - def get_pages( pdf: pdfium.PdfDocument, page_range: range, flatten_pdf: bool = True, - quote_loosebox: bool =True, + quote_loosebox: bool = True, superscript_height_threshold: float = 0.7, line_distance_threshold: float = 0.1, - page_scale: int = 2, + page_scale: int = 2, ) -> Pages: pages: Pages = [] @@ -356,10 +392,20 @@ def get_pages( except: pass - chars = deduplicate_chars(get_chars(textpage, page_bbox, page_rotation, quote_loosebox)) - spans = get_spans(chars, superscript_height_threshold=superscript_height_threshold, line_distance_threshold=line_distance_threshold) + chars = deduplicate_chars( + get_chars(textpage, page_bbox, page_rotation, quote_loosebox) + ) + spans = get_spans( + chars, + superscript_height_threshold=superscript_height_threshold, + line_distance_threshold=line_distance_threshold, + ) lines = get_lines(spans) - assign_scripts(lines, height_threshold=superscript_height_threshold, line_distance_threshold=line_distance_threshold) + assign_scripts( + lines, + height_threshold=superscript_height_threshold, + line_distance_threshold=line_distance_threshold, + ) blocks = get_blocks(lines) ## Adding image @@ -368,20 +414,22 @@ def get_pages( bytes_arr = io.BytesIO() try: - img.save(bytes_arr, format='PNG') + img.save(bytes_arr, format="PNG") bytes_arr.seek(0) - img_base64 = base64.b64encode(bytes_arr.getvalue()).decode('utf-8') - - pages.append({ - "page": page_idx, - "bbox": page_bbox, - "width": page_width, - "height": page_height, - "rotation": page_rotation, - "blocks": blocks, - "scale": page_scale, - "page_image": img_base64 - }) + img_base64 = base64.b64encode(bytes_arr.getvalue()).decode("utf-8") + + pages.append( + { + "page": page_idx, + "bbox": page_bbox, + "width": page_width, + "height": page_height, + "rotation": page_rotation, + "blocks": blocks, + "scale": page_scale, + "page_image": img_base64, + } + ) finally: bytes_arr.close() img.close() From ec6f7efa5f5232d133140be9e764065b6c2a1418 Mon Sep 17 00:00:00 2001 From: nischith Date: Thu, 10 Apr 2025 18:01:49 +0530 Subject: [PATCH 05/26] small change --- tests/test_extraction.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_extraction.py b/tests/test_extraction.py index f913b84..b54f28f 100644 --- a/tests/test_extraction.py +++ b/tests/test_extraction.py @@ -7,7 +7,7 @@ def test_paginated_output(pdf_path, pdf_doc): assert len(text) == len(pdf_doc) assert "Subspace" in text[0] -def text_plain_text_output(pdf_path): +def test_plain_text_output(pdf_path): text = plain_text_output(pdf_path) assert "Subspace" in text From 79cfc24357dd7397a0873ae092f79666f4cec626 Mon Sep 17 00:00:00 2001 From: Vinod Ganesan Date: Thu, 10 Apr 2025 20:57:43 +0530 Subject: [PATCH 06/26] Adding pydantic variables for Page --- pdftext/schema.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pdftext/schema.py b/pdftext/schema.py index 6091379..77d39fb 100644 --- a/pdftext/schema.py +++ b/pdftext/schema.py @@ -178,6 +178,8 @@ class Page(TypedDict): blocks: List[Block] rotation: int refs: List[Reference] + scale: int + page_image: str class TableCell(TypedDict): From 7d211c0918286f50db96b797fcfb979726b52595 Mon Sep 17 00:00:00 2001 From: Vinod Ganesan Date: Thu, 10 Apr 2025 21:13:03 +0530 Subject: [PATCH 07/26] Update package configuration for distribution --- .gitignore | 6 +++++- pyproject.toml | 3 +++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index f6153d3..9e47339 100644 --- a/.gitignore +++ b/.gitignore @@ -165,4 +165,8 @@ cython_debug/ # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore # and can be added to the global gitignore or merged into this file. For a more nuclear # option (not recommended) you can uncomment the following to ignore the entire idea folder. -.idea/ \ No newline at end of file +.idea/ + +# Random inputs and outputs +random_inputs/ +random_outputs/ \ No newline at end of file diff --git a/pyproject.toml b/pyproject.toml index d775a4e..d46b42a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -36,6 +36,9 @@ pdftext = "pdftext.scripts.extract_text:extract_text_cli" requires = ["setuptools>=61.0"] build-backend = "setuptools.build_meta" +[tool.setuptools] +packages = ["pdftext", "pdftext.scripts", "pdftext.pdf"] + [tool.pytest.ini_options] minversion = "6.0" addopts = "-ra -q" From d937e9c1f8b5f6a2f0523e98a98538398203dae4 Mon Sep 17 00:00:00 2001 From: Vinod Ganesan Date: Fri, 11 Apr 2025 00:39:48 +0530 Subject: [PATCH 08/26] Adding functionality for extracting non-text from the pdfium objects --- pdftext/pdf/chars.py | 22 +++---------------- pdftext/pdf/pages.py | 50 +++++++++++++++++++++++++++++++++++++++++++- pdftext/pdf/utils.py | 35 +++++++++++++++++++++++++++++++ pdftext/schema.py | 1 + 4 files changed, 88 insertions(+), 20 deletions(-) diff --git a/pdftext/pdf/chars.py b/pdftext/pdf/chars.py index d558888..840725d 100644 --- a/pdftext/pdf/chars.py +++ b/pdftext/pdf/chars.py @@ -5,10 +5,9 @@ import pypdfium2.raw as pdfium_c from pypdfium2.raw import c_uint -from pdftext.pdf.utils import get_fontname +from pdftext.pdf.utils import get_fontname, transform_bbox from pdftext.schema import Bbox, Char, Chars, Spans, Span - def get_chars( textpage: pdfium.PdfTextPage, page_bbox: list[float], @@ -28,23 +27,8 @@ def get_chars( loosebox = (rotation == 0) and (text != "'" or quote_loosebox) char_box = textpage.get_charbox(i, loose=loosebox) - cx_start, cy_start, cx_end, cy_end = char_box - - cx_start -= x_start - cx_end -= x_start - cy_start -= y_start - cy_end -= y_start - - ty_start = page_height - cy_start - ty_end = page_height - cy_end - - bbox_coords = [ - min(cx_start, cx_end), - min(ty_start, ty_end), - max(cx_start, cx_end), - max(ty_start, ty_end), - ] - bbox = Bbox(bbox_coords).rotate(page_width, page_height, page_rotation) + + bbox = transform_bbox(page_bbox, page_rotation, char_box) fontname, fontflag = get_fontname(textpage, i) fontsize = pdfium_c.FPDFText_GetFontSize(textpage, i) diff --git a/pdftext/pdf/pages.py b/pdftext/pdf/pages.py index 47e772d..9d3c62a 100644 --- a/pdftext/pdf/pages.py +++ b/pdftext/pdf/pages.py @@ -9,7 +9,7 @@ import pypdfium2 as pdfium from pdftext.pdf.chars import get_chars, deduplicate_chars -from pdftext.pdf.utils import flatten +from pdftext.pdf.utils import flatten, transform_bbox from pdftext.schema import Blocks, Chars, Line, Lines, Pages, Span, Spans import base64 from pdftext.schema import Page @@ -362,6 +362,51 @@ def block_merge(): return merged_blocks +def get_image_bboxes( + page: pdfium.PdfPage, + page_bbox: list[float], + page_rotation: int + ): + + objects = list(page.get_objects()) + + text_bboxes = [] + non_text_objects = [] + + for obj in objects: + + if obj.type in (0, 5): + continue + + if obj.type in (2, 3, 4): + non_text_objects.append(obj) + continue + + text_bboxes.append( + transform_bbox(page_bbox, page_rotation, obj.get_pos()) + ) + + for obj in objects: + + if obj.type not in (0, 5): + continue + + obj_bbox = transform_bbox(page_bbox, page_rotation, obj.get_pos()) + + # check if the object bbox is intersecting any of the text bboxes + flag = any(obj_bbox.intersection_area(text_bbox) > 0 for text_bbox in text_bboxes) + + if not flag: + non_text_objects.append(obj) + continue + + non_text_bboxes = [transform_bbox(page_bbox, page_rotation, obj.get_pos()) for obj in non_text_objects] + + # TODO - Maybe eliminate wrong bboxes + # Implement this + + return non_text_bboxes + def get_pages( pdf: pdfium.PdfDocument, @@ -412,6 +457,8 @@ def get_pages( img = page.render(scale=page_scale) img = img.to_pil() + images = get_image_bboxes(page, page_bbox, page_rotation) + bytes_arr = io.BytesIO() try: img.save(bytes_arr, format="PNG") @@ -428,6 +475,7 @@ def get_pages( "blocks": blocks, "scale": page_scale, "page_image": img_base64, + "images": images } ) finally: diff --git a/pdftext/pdf/utils.py b/pdftext/pdf/utils.py index 0412c39..dbd70ab 100644 --- a/pdftext/pdf/utils.py +++ b/pdftext/pdf/utils.py @@ -1,9 +1,11 @@ from ctypes import byref, c_int, create_string_buffer +import math from typing import List import numpy as np import pypdfium2 as pdfium import pypdfium2.raw as pdfium_c +from pdftext.schema import Bbox LINE_BREAKS = ["\n", "\u000D", "\u000A"] TABS = ["\t", "\u0009", "\x09"] @@ -11,6 +13,39 @@ WHITESPACE_CHARS = ["\n", "\r", "\f", "\t", " "] +def transform_bbox( + page_bbox: list[float], + page_rotation: int, + bbox: tuple[float, float, float, float], +) -> Bbox: + """ + Transform pdfium bbox to device bbox + """ + x_start, y_start, x_end, y_end = page_bbox + + page_width = math.ceil(abs(x_end - x_start)) + page_height = math.ceil(abs(y_end - y_start)) + + cx_start, cy_start, cx_end, cy_end = bbox + + cx_start -= x_start + cx_end -= x_start + cy_start -= y_start + cy_end -= y_start + + ty_start = page_height - cy_start + ty_end = page_height - cy_end + + bbox_coords = [ + min(cx_start, cx_end), + min(ty_start, ty_end), + max(cx_start, cx_end), + max(ty_start, ty_end), + ] + + return Bbox(bbox_coords).rotate(page_width, page_height, page_rotation) + + def flatten(page, flag=pdfium_c.FLAT_NORMALDISPLAY): rc = pdfium_c.FPDFPage_Flatten(page, flag) if rc == pdfium_c.FLATTEN_FAIL: diff --git a/pdftext/schema.py b/pdftext/schema.py index 77d39fb..57e82c5 100644 --- a/pdftext/schema.py +++ b/pdftext/schema.py @@ -180,6 +180,7 @@ class Page(TypedDict): refs: List[Reference] scale: int page_image: str + images: List[Bbox] class TableCell(TypedDict): From 5761cffc03deb7e40f307b91bf07a087600aa2c1 Mon Sep 17 00:00:00 2001 From: Vinod Ganesan Date: Sun, 13 Apr 2025 09:53:01 +0530 Subject: [PATCH 09/26] First full version of extracting non text objects out of a given page --- pdftext/pdf/pages.py | 4 +-- pdftext/pdf/utils.py | 74 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 76 insertions(+), 2 deletions(-) diff --git a/pdftext/pdf/pages.py b/pdftext/pdf/pages.py index 9d3c62a..aed1b4b 100644 --- a/pdftext/pdf/pages.py +++ b/pdftext/pdf/pages.py @@ -9,7 +9,7 @@ import pypdfium2 as pdfium from pdftext.pdf.chars import get_chars, deduplicate_chars -from pdftext.pdf.utils import flatten, transform_bbox +from pdftext.pdf.utils import flatten, transform_bbox, remove_wrong_bboxes from pdftext.schema import Blocks, Chars, Line, Lines, Pages, Span, Spans import base64 from pdftext.schema import Page @@ -403,7 +403,7 @@ def get_image_bboxes( non_text_bboxes = [transform_bbox(page_bbox, page_rotation, obj.get_pos()) for obj in non_text_objects] # TODO - Maybe eliminate wrong bboxes - # Implement this + non_text_bboxes = remove_wrong_bboxes(non_text_bboxes, page_bbox, page) return non_text_bboxes diff --git a/pdftext/pdf/utils.py b/pdftext/pdf/utils.py index dbd70ab..20e8c35 100644 --- a/pdftext/pdf/utils.py +++ b/pdftext/pdf/utils.py @@ -13,6 +13,80 @@ WHITESPACE_CHARS = ["\n", "\r", "\f", "\t", " "] +def get_page_properties( + page_bbox: list[float], + page: pdfium.PdfPage, + rotate: bool = False, +) -> tuple[float, float, float, float, bool]: + + x_start, y_start, x_end, y_end = page_bbox + + page_width = math.ceil(abs(x_end - x_start)) + page_height = math.ceil(abs(y_end - y_start)) + + page_rotation = 0 + try: + page_rotation = page.get_rotation() + except: + pass + + + # This is done to deliberately use in the situations where we don't want to make this transformation + # Ideally everywhere we compute the page properties, we should use this function + if rotate: + if page_rotation == 90 or page_rotation == 270: + page_width, page_height = page_height, page_width + + mediabox = page.get_mediabox() + + bl_origin = mediabox[0] == 0 and mediabox[1] == 0 + + return page_width, page_height, page_rotation, bl_origin + +def remove_wrong_bboxes( + transformed_bboxes: list[Bbox], + page_bbox: list[float], + page: pdfium.PdfPage, + # page_idx: int, +) -> list[Bbox]: + + page_width, page_height, page_rotation, bl_origin = get_page_properties(page_bbox, page, rotate=True) + + # How to get the page position? + # TODO - Not sure page.get_pos() is correct - confusing what is the correct position of the page + transformed_page_bbox = transform_bbox(page_bbox, page_rotation, page.get_pos()) + + correct_bboxes = [] + for box_objs in transformed_bboxes: + if box_objs: + new_pos = [0]*4 + new_pos = [f(b, p) for f, b, p in zip([max, max, min, min], box_objs, transformed_page_bbox)] + + correct_bboxes.append(tuple(new_pos)) + else: + correct_bboxes.append(None) + continue + + correct_bboxes = [ + None if (box_objs is None or (box_objs[0] > box_objs[2]) or (box_objs[1] > box_objs[3])) else box_objs + for box_objs in correct_bboxes + ] + + correct_bboxes = [ + box_obj if ( + box_obj is not None and + box_obj[0] >= transformed_page_bbox[0] and + box_obj[1] >= transformed_page_bbox[1] and + box_obj[2] <= transformed_page_bbox[2] and + box_obj[3] <= transformed_page_bbox[3] + ) + else None + for box_obj in correct_bboxes + ] + + return correct_bboxes + + def transform_bbox( page_bbox: list[float], page_rotation: int, From e98e691dc2ce7b64f2eb74184571ee8304c16c6b Mon Sep 17 00:00:00 2001 From: Vinod Ganesan Date: Mon, 14 Apr 2025 18:06:49 +0530 Subject: [PATCH 10/26] Changes to pdftext schema with more member functions --- pdftext/schema.py | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/pdftext/schema.py b/pdftext/schema.py index 57e82c5..143e403 100644 --- a/pdftext/schema.py +++ b/pdftext/schema.py @@ -55,6 +55,14 @@ def x_end(self): def y_end(self): return self.bbox[3] + def inside(self, other: Bbox): + return ( + self.x_start <= other.x_start and + self.x_end <= other.x_end and + self.y_start >= other.y_start and + self.y_end >= other.y_end + ) + def merge(self, other: Bbox) -> Bbox: x_start = self.x_start if self.x_start < other.x_start else other.x_start y_start = self.y_start if self.y_start < other.y_start else other.y_start @@ -80,6 +88,16 @@ def horizontal_distance(self, other: Bbox): return 0 + def intersection_score(self, other: Bbox): + intersection_area = self.intersection_area(other) + if self.area() == 0 or other.area() == 0: + if self.inside(other) or other.inside(self): + return 1 + else: + return 0 + else: + return intersection_area / min(self.area(), other.area()) + def intersection_area(self, other: Bbox): return self.overlap_x(other) * self.overlap_y(other) @@ -180,7 +198,6 @@ class Page(TypedDict): refs: List[Reference] scale: int page_image: str - images: List[Bbox] class TableCell(TypedDict): From c90a8695a0402832cadbdffe398e9479c00e0f7e Mon Sep 17 00:00:00 2001 From: Vinod Ganesan Date: Mon, 14 Apr 2025 23:22:42 +0530 Subject: [PATCH 11/26] Bug fix to get page bbox --- pdftext/pdf/utils.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/pdftext/pdf/utils.py b/pdftext/pdf/utils.py index 20e8c35..9443885 100644 --- a/pdftext/pdf/utils.py +++ b/pdftext/pdf/utils.py @@ -52,9 +52,8 @@ def remove_wrong_bboxes( page_width, page_height, page_rotation, bl_origin = get_page_properties(page_bbox, page, rotate=True) - # How to get the page position? - # TODO - Not sure page.get_pos() is correct - confusing what is the correct position of the page - transformed_page_bbox = transform_bbox(page_bbox, page_rotation, page.get_pos()) + # get_pos -> get_bbox. Hopefully correct. + transformed_page_bbox = transform_bbox(page_bbox, page_rotation, page.get_bbox()) correct_bboxes = [] for box_objs in transformed_bboxes: From 494a3dea03be43f3ef4bebfce092a217126ef4e2 Mon Sep 17 00:00:00 2001 From: Vinod Ganesan Date: Tue, 15 Apr 2025 14:59:30 +0530 Subject: [PATCH 12/26] mypy fixes for pdftext --- mypy.ini | 21 ++++++++ pdftext/__init__.py | 1 + pdftext/extraction.py | 95 +++++++++++++++++++++---------------- pdftext/pdf/chars.py | 11 +++-- pdftext/pdf/links.py | 43 +++++++++-------- pdftext/pdf/pages.py | 2 +- pdftext/pdf/utils.py | 37 ++++++++------- pdftext/postprocessing.py | 12 ++--- pdftext/schema.py | 58 +++++++++++----------- pdftext/scripts/__init__.py | 1 + pyproject.toml | 3 +- 11 files changed, 165 insertions(+), 119 deletions(-) create mode 100644 mypy.ini create mode 100644 pdftext/__init__.py create mode 100644 pdftext/scripts/__init__.py diff --git a/mypy.ini b/mypy.ini new file mode 100644 index 0000000..9093bd6 --- /dev/null +++ b/mypy.ini @@ -0,0 +1,21 @@ +[mypy] +python_version = 3.13 +warn_return_any = True +warn_unused_configs = True +disallow_untyped_defs = True +disallow_incomplete_defs = True +check_untyped_defs = True +ignore_missing_imports = True +# We'll progressively remove these as we fix the errors +disable_error_code = no-redef,misc,no-any-return + +# For third-party libraries without type stubs +[mypy-pypdfium2.*] +ignore_missing_imports = True + +[mypy-pypdfium2] +ignore_missing_imports = True + +# Exclude root level extract_text.py file +[mypy-extract_text] +ignore_errors = True \ No newline at end of file diff --git a/pdftext/__init__.py b/pdftext/__init__.py new file mode 100644 index 0000000..879cd59 --- /dev/null +++ b/pdftext/__init__.py @@ -0,0 +1 @@ +"""pdftext package.""" \ No newline at end of file diff --git a/pdftext/extraction.py b/pdftext/extraction.py index 9c4e01d..b3caeb7 100644 --- a/pdftext/extraction.py +++ b/pdftext/extraction.py @@ -3,37 +3,42 @@ from concurrent.futures import ProcessPoolExecutor from functools import partial from itertools import repeat -from typing import List +from typing import List, Optional, Any, Union, cast import pypdfium2 as pdfium from pdftext.pdf.links import add_links_and_refs from pdftext.pdf.pages import get_pages from pdftext.postprocessing import handle_hyphens, merge_text, postprocess_text, sort_blocks -from pdftext.schema import Pages, TableInputs, Tables +from pdftext.schema import Bbox, Pages, Span, TableInputs, Tables from pdftext.settings import settings from pdftext.tables import table_cell_text +# Define global variable used in worker processes +pdf_doc: Any = None -def _load_pdf(pdf, flatten_pdf): - pdf = pdfium.PdfDocument(pdf) + +def _load_pdf(pdf: str, flatten_pdf: bool) -> Any: + pdf_doc = pdfium.PdfDocument(pdf) # Must be called on the parent pdf, before the page was retrieved if flatten_pdf: - pdf.init_forms() + pdf_doc.init_forms() - return pdf + return pdf_doc -def _get_page_range(page_range, flatten_pdf=False, quote_loosebox=True) -> Pages: +def _get_page_range(page_range: List[int], flatten_pdf: bool = False, quote_loosebox: bool = True) -> Pages: + global pdf_doc + # Convert list to range for get_pages return get_pages(pdf_doc, page_range, flatten_pdf, quote_loosebox) -def worker_shutdown(pdf_doc): +def worker_shutdown(pdf_doc: Any) -> None: pdf_doc.close() -def worker_init(pdf_path, flatten_pdf): +def worker_init(pdf_path: str, flatten_pdf: bool) -> None: global pdf_doc pdf_doc = _load_pdf(pdf_path, flatten_pdf) @@ -41,38 +46,39 @@ def worker_init(pdf_path, flatten_pdf): atexit.register(partial(worker_shutdown, pdf_doc)) -def _get_pages(pdf_path, page_range=None, flatten_pdf=False, quote_loosebox=True, workers=None) -> Pages: +def _get_pages(pdf_path: str, page_range: Optional[List[int]] = None, flatten_pdf: bool = False, quote_loosebox: bool = True, workers: Optional[int] = None) -> Pages: pdf_doc = _load_pdf(pdf_path, flatten_pdf) if page_range is None: - page_range = range(len(pdf_doc)) + page_range_obj = list(range(len(pdf_doc))) + else: + page_range_obj = page_range if workers is not None: - workers = min(workers, len(page_range) // settings.WORKER_PAGE_THRESHOLD) # It's inefficient to have too many workers, since we batch in inference + workers = min(workers, len(page_range_obj) // settings.WORKER_PAGE_THRESHOLD) # It's inefficient to have too many workers, since we batch in inference if workers is None or workers <= 1: - pages = get_pages(pdf_doc, page_range, flatten_pdf, quote_loosebox) + pages = get_pages(pdf_doc, page_range_obj, flatten_pdf, quote_loosebox) pdf_doc.close() return pages pdf_doc.close() - page_range = list(page_range) - pages_per_worker = math.ceil(len(page_range) / workers) - page_range_chunks = [page_range[i * pages_per_worker:(i + 1) * pages_per_worker] for i in range(workers)] + pages_per_worker = math.ceil(len(page_range_obj) / workers) + page_range_chunks = [page_range_obj[i * pages_per_worker:(i + 1) * pages_per_worker] for i in range(workers)] with ProcessPoolExecutor(max_workers=workers, initializer=worker_init, initargs=(pdf_path, flatten_pdf)) as executor: - pages = list(executor.map(_get_page_range, page_range_chunks, repeat(flatten_pdf), repeat(quote_loosebox))) + pages_lists = list(executor.map(_get_page_range, page_range_chunks, repeat(flatten_pdf), repeat(quote_loosebox))) - ordered_pages = [page for sublist in pages for page in sublist] + ordered_pages = [page for sublist in pages_lists for page in sublist] return ordered_pages -def plain_text_output(pdf_path, sort=False, hyphens=False, page_range=None, flatten_pdf=False, workers=None) -> str: +def plain_text_output(pdf_path: str, sort: bool = False, hyphens: bool = False, page_range: Optional[List[int]] = None, flatten_pdf: bool = False, workers: Optional[int] = None) -> str: text = paginated_plain_text_output(pdf_path, sort=sort, hyphens=hyphens, page_range=page_range, workers=workers, flatten_pdf=flatten_pdf) return "\n".join(text) -def paginated_plain_text_output(pdf_path, sort=False, hyphens=False, page_range=None, flatten_pdf=False, workers=None) -> List[str]: +def paginated_plain_text_output(pdf_path: str, sort: bool = False, hyphens: bool = False, page_range: Optional[List[int]] = None, flatten_pdf: bool = False, workers: Optional[int] = None) -> List[str]: pages: Pages = _get_pages(pdf_path, page_range, workers=workers, flatten_pdf=flatten_pdf) text = [] for page in pages: @@ -80,25 +86,27 @@ def paginated_plain_text_output(pdf_path, sort=False, hyphens=False, page_range= return text -def _process_span(span, page_width, page_height, keep_chars): - span["bbox"] = span["bbox"].bbox +def _process_span(span: Span, page_width: int, page_height: int, keep_chars: bool) -> None: + bbox_value = span["bbox"].bbox + span["bbox"] = cast(Bbox, bbox_value) # Use cast to fix type error span["text"] = handle_hyphens(postprocess_text(span["text"]), keep_hyphens=True) if not keep_chars: del span["chars"] else: for char in span["chars"]: - char["bbox"] = char["bbox"].bbox + bbox_value = char["bbox"].bbox + char["bbox"] = cast(Bbox, bbox_value) # Use cast to fix type error def dictionary_output( - pdf_path, - sort=False, - page_range=None, - keep_chars=False, - flatten_pdf=False, - quote_loosebox=True, - disable_links=False, - workers=None + pdf_path: str, + sort: bool = False, + page_range: Optional[List[int]] = None, + keep_chars: bool = False, + flatten_pdf: bool = False, + quote_loosebox: bool = True, + disable_links: bool = False, + workers: Optional[int] = None ) -> Pages: pages: Pages = _get_pages(pdf_path, page_range, workers=workers, flatten_pdf=flatten_pdf, quote_loosebox=quote_loosebox) @@ -113,12 +121,14 @@ def dictionary_output( for k in list(block.keys()): if k not in ["lines", "bbox"]: del block[k] - block["bbox"] = block["bbox"].bbox + bbox_value = block["bbox"].bbox + block["bbox"] = cast(Bbox, bbox_value) # Use cast to fix type error for line in block["lines"]: for k in list(line.keys()): if k not in ["spans", "bbox"]: del line[k] - line["bbox"] = line["bbox"].bbox + bbox_value = line["bbox"].bbox + line["bbox"] = cast(Bbox, bbox_value) # Use cast to fix type error for span in line["spans"]: _process_span(span, page_width, page_height, keep_chars) @@ -127,22 +137,25 @@ def dictionary_output( if page["rotation"] == 90 or page["rotation"] == 270: page["width"], page["height"] = page["height"], page["width"] - page["bbox"] = [page["bbox"][2], page["bbox"][3], page["bbox"][0], page["bbox"][1]] + + # Create a new Bbox instance from the list of floats + bbox_list = [page["bbox"][2], page["bbox"][3], page["bbox"][0], page["bbox"][1]] + page["bbox"] = cast(Bbox, Bbox(bbox_list)) return pages def table_output( pdf_path: str, table_inputs: TableInputs, - page_range=None, - flatten_pdf=False, - quote_loosebox=True, - workers=None, - pages: Pages | None = None + page_range: Optional[List[int]] = None, + flatten_pdf: bool = False, + quote_loosebox: bool = True, + workers: Optional[int] = None, + pages: Optional[Pages] = None ) -> List[Tables]: # Extract pages if they don't exist - if not pages: - pages: Pages = dictionary_output(pdf_path, page_range=page_range, flatten_pdf=flatten_pdf, quote_loosebox=quote_loosebox, workers=workers, keep_chars=True) + if pages is None: + pages = dictionary_output(pdf_path, page_range=page_range, flatten_pdf=flatten_pdf, quote_loosebox=quote_loosebox, workers=workers, keep_chars=True) assert len(pages) == len(table_inputs), "Number of pages and table inputs must match" diff --git a/pdftext/pdf/chars.py b/pdftext/pdf/chars.py index 840725d..92755cd 100644 --- a/pdftext/pdf/chars.py +++ b/pdftext/pdf/chars.py @@ -1,5 +1,6 @@ import ctypes import math +from typing import Optional import pypdfium2 as pdfium import pypdfium2.raw as pdfium_c @@ -12,7 +13,7 @@ def get_chars( textpage: pdfium.PdfTextPage, page_bbox: list[float], page_rotation: int, - quote_loosebox=True, + quote_loosebox: bool = True, ) -> Chars: chars: Chars = [] @@ -72,19 +73,21 @@ def get_chars( def deduplicate_chars(chars: Chars) -> Chars: # we first construct words from the chars and then deduplicate them words: Spans = [] - word: Span = None + word: Optional[Span] = None - def word_break(): + def word_break() -> None: words.append( { "bbox": char["bbox"], "text": char["char"], - "rotation": char["rotation"], + "rotation": int(char["rotation"]), "font": char["font"], "char_start_idx": char["char_idx"], "char_end_idx": char["char_idx"], "chars": [char], "url": "", + "superscript": False, + "subscript": False, } ) diff --git a/pdftext/pdf/links.py b/pdftext/pdf/links.py index c8f5232..6b0d2a1 100644 --- a/pdftext/pdf/links.py +++ b/pdftext/pdf/links.py @@ -1,6 +1,6 @@ import ctypes import math -from typing import Dict, List, Optional, Tuple +from typing import Any, Dict, List, Optional, Tuple import pypdfium2 as pdfium import pypdfium2.raw as pdfium_c @@ -9,7 +9,7 @@ from pdftext.schema import Bbox, Link, Page, PageReference, Pages, Span -def _get_dest_position(dest) -> Optional[Tuple[float, float]]: +def _get_dest_position(dest: Any) -> Optional[Tuple[float, float]]: has_x = ctypes.c_int() has_y = ctypes.c_int() has_zoom = ctypes.c_int() @@ -26,7 +26,7 @@ def _get_dest_position(dest) -> Optional[Tuple[float, float]]: return None -def _rect_to_scaled_bbox(rect, page_bbox, page_rotation) -> List[float]: +def _rect_to_scaled_bbox(rect: List[float], page_bbox: List[float], page_rotation: int) -> List[float]: page_width = math.ceil(abs(page_bbox[2] - page_bbox[0])) page_height = math.ceil(abs(page_bbox[1] - page_bbox[3])) @@ -44,7 +44,7 @@ def _rect_to_scaled_bbox(rect, page_bbox, page_rotation) -> List[float]: return Bbox(bbox).rotate(page_width, page_height, page_rotation).bbox -def _xy_to_scaled_pos(x, y, page_bbox, page_rotation, expand_by=1) -> List[float]: +def _xy_to_scaled_pos(x: float, y: float, page_bbox: List[float], page_rotation: int, expand_by: float = 1.0) -> List[float]: return _rect_to_scaled_bbox([x - expand_by, y - expand_by, x + expand_by, y + expand_by], page_bbox, page_rotation)[:2] @@ -61,13 +61,6 @@ def get_links(page_idx: int, pdf: pdfium.PdfDocument) -> List[Link]: annot_count = pdfium_c.FPDFPage_GetAnnotCount(page) for i in range(annot_count): - link: Link = { - 'page': page_idx, - 'bbox': None, - 'dest_page': None, - 'dest_pos': None, - 'url': None, - } annot = pdfium_c.FPDFPage_GetAnnot(page, i) if pdfium_c.FPDFAnnot_GetSubtype(annot) != pdfium_c.FPDF_ANNOT_LINK: continue @@ -77,11 +70,19 @@ def get_links(page_idx: int, pdf: pdfium.PdfDocument) -> List[Link]: if not success: continue - link['bbox'] = _rect_to_scaled_bbox( + link_bbox = _rect_to_scaled_bbox( [fs_rect.left, fs_rect.top, fs_rect.right, fs_rect.bottom], page_bbox, page_rotation ) + link: Link = { + 'page': page_idx, + 'bbox': link_bbox, + 'dest_page': None, + 'dest_pos': None, + 'url': None, + } + link_obj = pdfium_c.FPDFAnnot_GetLink(annot) dest = pdfium_c.FPDFLink_GetDest(pdf, link_obj) @@ -122,7 +123,7 @@ def get_links(page_idx: int, pdf: pdfium.PdfDocument) -> List[Link]: return urls -def merge_links(page: Page, pdf: pdfium.PdfDocument, refs: PageReference): +def merge_links(page: Page, pdf: pdfium.PdfDocument, refs: PageReference) -> None: """ Merges links with spans. Some spans can also have multiple links associated with them. We break up the spans and reconstruct them taking the links into account. @@ -176,12 +177,12 @@ def merge_links(page: Page, pdf: pdfium.PdfDocument, refs: PageReference): line['spans'] = spans -def _reconstruct_spans(orig_span: dict, links: List[Link]) -> List[Span]: +def _reconstruct_spans(orig_span: Span, links: List[Link]) -> List[Span]: """ Reconstructs the spans by breaking them up into smaller spans based on the links. """ spans: List[Span] = [] - span: Span = None + span: Optional[Span] = None link_bboxes = [Bbox(link['bbox']) for link in links] for char in orig_span['chars']: @@ -195,21 +196,23 @@ def _reconstruct_spans(orig_span: dict, links: List[Link]) -> List[Span]: if area > 0: intersections.append((area, links[i])) - current_url = '' + current_url: Optional[str] = None if intersections: intersections.sort(key=lambda x: x[0], reverse=True) current_url = intersections[0][1]['url'] - if not span or current_url != span['url']: + if not span or (current_url or '') != span['url']: span = { "bbox": char_bbox, "text": char["char"], - "rotation": char["rotation"], + "rotation": int(char["rotation"]), "font": char["font"], "char_start_idx": char["char_idx"], "char_end_idx": char["char_idx"], "chars": [char], - "url": current_url, + "url": current_url or '', + "superscript": False, + "subscript": False, } spans.append(span) else: @@ -221,7 +224,7 @@ def _reconstruct_spans(orig_span: dict, links: List[Link]) -> List[Span]: return spans -def add_links_and_refs(pages: Pages, pdf_doc: pdfium.PdfDocument): +def add_links_and_refs(pages: Pages, pdf_doc: pdfium.PdfDocument) -> None: refs = PageReference() for page in pages: diff --git a/pdftext/pdf/pages.py b/pdftext/pdf/pages.py index aed1b4b..e4c440c 100644 --- a/pdftext/pdf/pages.py +++ b/pdftext/pdf/pages.py @@ -410,7 +410,7 @@ def get_image_bboxes( def get_pages( pdf: pdfium.PdfDocument, - page_range: range, + page_range: list[int], flatten_pdf: bool = True, quote_loosebox: bool = True, superscript_height_threshold: float = 0.7, diff --git a/pdftext/pdf/utils.py b/pdftext/pdf/utils.py index 9443885..87ad07a 100644 --- a/pdftext/pdf/utils.py +++ b/pdftext/pdf/utils.py @@ -1,6 +1,6 @@ from ctypes import byref, c_int, create_string_buffer import math -from typing import List +from typing import List, Tuple, Optional import numpy as np import pypdfium2 as pdfium @@ -17,7 +17,7 @@ def get_page_properties( page_bbox: list[float], page: pdfium.PdfPage, rotate: bool = False, -) -> tuple[float, float, float, float, bool]: +) -> Tuple[int, int, int, bool]: x_start, y_start, x_end, y_end = page_bbox @@ -48,20 +48,23 @@ def remove_wrong_bboxes( page_bbox: list[float], page: pdfium.PdfPage, # page_idx: int, -) -> list[Bbox]: +) -> List[Optional[Bbox]]: page_width, page_height, page_rotation, bl_origin = get_page_properties(page_bbox, page, rotate=True) # get_pos -> get_bbox. Hopefully correct. transformed_page_bbox = transform_bbox(page_bbox, page_rotation, page.get_bbox()) - correct_bboxes = [] + correct_bboxes: List[Optional[Bbox]] = [] for box_objs in transformed_bboxes: if box_objs: - new_pos = [0]*4 - new_pos = [f(b, p) for f, b, p in zip([max, max, min, min], box_objs, transformed_page_bbox)] + new_pos = [0.0] * 4 + new_pos[0] = max(box_objs[0], transformed_page_bbox[0]) + new_pos[1] = max(box_objs[1], transformed_page_bbox[1]) + new_pos[2] = min(box_objs[2], transformed_page_bbox[2]) + new_pos[3] = min(box_objs[3], transformed_page_bbox[3]) - correct_bboxes.append(tuple(new_pos)) + correct_bboxes.append(Bbox(new_pos)) else: correct_bboxes.append(None) continue @@ -119,13 +122,13 @@ def transform_bbox( return Bbox(bbox_coords).rotate(page_width, page_height, page_rotation) -def flatten(page, flag=pdfium_c.FLAT_NORMALDISPLAY): +def flatten(page: pdfium.PdfPage, flag: int = pdfium_c.FLAT_NORMALDISPLAY) -> None: rc = pdfium_c.FPDFPage_Flatten(page, flag) if rc == pdfium_c.FLATTEN_FAIL: raise pdfium.PdfiumError("Failed to flatten annotations / form fields.") -def get_fontname(textpage, i): +def get_fontname(textpage: pdfium.PdfTextPage, i: int) -> Tuple[str, int]: font_name_str = "" flags = 0 try: @@ -150,16 +153,16 @@ def matrix_intersection_area(boxes1: List[List[float]], boxes2: List[List[float] if len(boxes1) == 0 or len(boxes2) == 0: return np.zeros((len(boxes1), len(boxes2))) - boxes1 = np.array(boxes1) - boxes2 = np.array(boxes2) + boxes1_np = np.array(boxes1) + boxes2_np = np.array(boxes2) - boxes1 = boxes1[:, np.newaxis, :] # Shape: (N, 1, 4) - boxes2 = boxes2[np.newaxis, :, :] # Shape: (1, M, 4) + boxes1_np = boxes1_np[:, np.newaxis, :] # Shape: (N, 1, 4) + boxes2_np = boxes2_np[np.newaxis, :, :] # Shape: (1, M, 4) - min_x = np.maximum(boxes1[..., 0], boxes2[..., 0]) # Shape: (N, M) - min_y = np.maximum(boxes1[..., 1], boxes2[..., 1]) - max_x = np.minimum(boxes1[..., 2], boxes2[..., 2]) - max_y = np.minimum(boxes1[..., 3], boxes2[..., 3]) + min_x = np.maximum(boxes1_np[..., 0], boxes2_np[..., 0]) # Shape: (N, M) + min_y = np.maximum(boxes1_np[..., 1], boxes2_np[..., 1]) + max_x = np.minimum(boxes1_np[..., 2], boxes2_np[..., 2]) + max_y = np.minimum(boxes1_np[..., 3], boxes2_np[..., 3]) width = np.maximum(0, max_x - min_x) height = np.maximum(0, max_y - min_y) diff --git a/pdftext/postprocessing.py b/pdftext/postprocessing.py index 4174149..76d84ea 100644 --- a/pdftext/postprocessing.py +++ b/pdftext/postprocessing.py @@ -1,8 +1,8 @@ import unicodedata -from typing import List +from typing import List, Dict from pdftext.pdf.utils import LINE_BREAKS, SPACES, TABS, WHITESPACE_CHARS -from pdftext.schema import Page +from pdftext.schema import Page, Block LIGATURES = { "ff": "ff", @@ -28,7 +28,7 @@ def postprocess_text(text: str) -> str: return text -def handle_hyphens(text: str, keep_hyphens=False) -> str: +def handle_hyphens(text: str, keep_hyphens: bool = False) -> str: if keep_hyphens: text = text.replace(HYPHEN_CHAR, "-\n") elif len(text) == 0: @@ -73,9 +73,9 @@ def replace_ligatures(text: str) -> str: return text -def sort_blocks(blocks: List, tolerance=1.25) -> List: +def sort_blocks(blocks: List[Block], tolerance: float = 1.25) -> List[Block]: # Sort blocks into best guess reading order - vertical_groups = {} + vertical_groups: Dict[float, List[Block]] = {} for block in blocks: group_key = round(block["bbox"][1] / tolerance) * tolerance if group_key not in vertical_groups: @@ -92,7 +92,7 @@ def sort_blocks(blocks: List, tolerance=1.25) -> List: return sorted_page_blocks -def merge_text(page: Page, sort=False, hyphens=False) -> str: +def merge_text(page: Page, sort: bool = False, hyphens: bool = False) -> str: text = "" if sort: page["blocks"] = sort_blocks(page["blocks"]) diff --git a/pdftext/schema.py b/pdftext/schema.py index 143e403..5d711db 100644 --- a/pdftext/schema.py +++ b/pdftext/schema.py @@ -5,7 +5,7 @@ class Bbox: - def __init__(self, bbox: List[float], ensure_nonzero_area=False): + def __init__(self, bbox: List[float], ensure_nonzero_area: bool = False) -> None: if ensure_nonzero_area: bbox = list(bbox) bbox[2] = max(bbox[0], bbox[2] + 1) @@ -13,49 +13,49 @@ def __init__(self, bbox: List[float], ensure_nonzero_area=False): self.bbox = bbox self.ensure_nonzero_area = ensure_nonzero_area - def __getitem__(self, item): + def __getitem__(self, item: int) -> float: return self.bbox[item] - def __repr__(self): + def __repr__(self) -> str: return f"Bbox({self.bbox})" @property - def height(self): + def height(self) -> float: return self.bbox[3] - self.bbox[1] @property - def width(self): + def width(self) -> float: return self.bbox[2] - self.bbox[0] @property - def area(self): + def area(self) -> float: return self.width * self.height @property - def center(self): + def center(self) -> List[float]: return [(self.bbox[0] + self.bbox[2]) / 2, (self.bbox[1] + self.bbox[3]) / 2] @property - def size(self): + def size(self) -> List[float]: return [self.width, self.height] @property - def x_start(self): + def x_start(self) -> float: return self.bbox[0] @property - def y_start(self): + def y_start(self) -> float: return self.bbox[1] @property - def x_end(self): + def x_end(self) -> float: return self.bbox[2] @property - def y_end(self): + def y_end(self) -> float: return self.bbox[3] - def inside(self, other: Bbox): + def inside(self, other: Bbox) -> bool: return ( self.x_start <= other.x_start and self.x_end <= other.x_end and @@ -71,13 +71,13 @@ def merge(self, other: Bbox) -> Bbox: return Bbox([x_start, y_start, x_end, y_end]) - def overlap_x(self, other: Bbox): + def overlap_x(self, other: Bbox) -> float: return max(0, min(self.bbox[2], other.bbox[2]) - max(self.bbox[0], other.bbox[0])) - def overlap_y(self, other: Bbox): + def overlap_y(self, other: Bbox) -> float: return max(0, min(self.bbox[3], other.bbox[3]) - max(self.bbox[1], other.bbox[1])) - def horizontal_distance(self, other: Bbox): + def horizontal_distance(self, other: Bbox) -> float: x1, y1, x2, y2 = self.bbox i1, j1, i2, j2 = other.bbox @@ -88,22 +88,22 @@ def horizontal_distance(self, other: Bbox): return 0 - def intersection_score(self, other: Bbox): + def intersection_score(self, other: Bbox) -> float: intersection_area = self.intersection_area(other) - if self.area() == 0 or other.area() == 0: + if self.area == 0 or other.area == 0: if self.inside(other) or other.inside(self): - return 1 + return 1.0 else: - return 0 + return 0.0 else: - return intersection_area / min(self.area(), other.area()) + return intersection_area / min(self.area, other.area) - def intersection_area(self, other: Bbox): + def intersection_area(self, other: Bbox) -> float: return self.overlap_x(other) * self.overlap_y(other) - def intersection_pct(self, other: Bbox): + def intersection_pct(self, other: Bbox) -> float: if self.area == 0: - return 0 + return 0.0 intersection = self.intersection_area(other) return intersection / self.area @@ -133,12 +133,12 @@ def rotate(self, page_width: float, page_height: float, rotation: int) -> Bbox: new_y_max = page_width - x_min # Ensure that x_min < x_max and y_min < y_max - rotated_bbox = ( + rotated_bbox = [ min(new_x_min, new_x_max), min(new_y_min, new_y_max), max(new_x_min, new_x_max), max(new_y_min, new_y_max) - ) + ] return Bbox(rotated_bbox) @@ -225,16 +225,16 @@ class Reference: coord: List[float] @property - def ref(self): + def ref(self) -> str: return f"page-{self.page}-{self.idx}" @property - def url(self): + def url(self) -> str: return f"#{self.ref}" class PageReference: - def __init__(self): + def __init__(self) -> None: self.page_ref_map: Dict[int, List[Reference]] = {} def get_refs(self, page: int) -> List[Reference]: diff --git a/pdftext/scripts/__init__.py b/pdftext/scripts/__init__.py new file mode 100644 index 0000000..25f13e2 --- /dev/null +++ b/pdftext/scripts/__init__.py @@ -0,0 +1 @@ +"""pdftext.scripts package.""" \ No newline at end of file diff --git a/pyproject.toml b/pyproject.toml index d46b42a..5263653 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -23,7 +23,8 @@ dependencies = [ "pydantic>=2.7.1,<3.0.0", "pydantic-settings>=2.2.1,<3.0.0", "numpy>=2.2.4", - "pillow>=10.3.0,<11.0.0" + "pillow>=10.3.0,<11.0.0", + "mypy>=1.15.0", ] [project.urls] From f00b24b114e232aa2baf3983df6a99927e7e1bea Mon Sep 17 00:00:00 2001 From: nischith Date: Tue, 15 Apr 2025 15:11:56 +0530 Subject: [PATCH 13/26] added pytest dependency --- pyproject.toml | 3 +- uv.lock | 428 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 430 insertions(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index d775a4e..9272889 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -23,7 +23,8 @@ dependencies = [ "pydantic>=2.7.1,<3.0.0", "pydantic-settings>=2.2.1,<3.0.0", "numpy>=2.2.4", - "pillow>=10.3.0,<11.0.0" + "pillow>=10.3.0,<11.0.0", + "pytest>=8.3.5", ] [project.urls] diff --git a/uv.lock b/uv.lock index 907f7a7..8f2d7bc 100644 --- a/uv.lock +++ b/uv.lock @@ -2,7 +2,435 @@ version = 1 revision = 1 requires-python = ">=3.10" +[[package]] +name = "annotated-types" +version = "0.7.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ee/67/531ea369ba64dcff5ec9c3402f9f51bf748cec26dde048a2f973a4eea7f5/annotated_types-0.7.0.tar.gz", hash = "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89", size = 16081 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/78/b6/6307fbef88d9b5ee7421e68d78a9f162e0da4900bc5f5793f6d3d0e34fb8/annotated_types-0.7.0-py3-none-any.whl", hash = "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53", size = 13643 }, +] + +[[package]] +name = "click" +version = "8.1.8" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b9/2e/0090cbf739cee7d23781ad4b89a9894a41538e4fcf4c31dcdd705b78eb8b/click-8.1.8.tar.gz", hash = "sha256:ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a", size = 226593 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7e/d4/7ebdbd03970677812aac39c869717059dbb71a4cfc033ca6e5221787892c/click-8.1.8-py3-none-any.whl", hash = "sha256:63c132bbbed01578a06712a2d1f497bb62d9c1c0d329b7903a866228027263b2", size = 98188 }, +] + +[[package]] +name = "colorama" +version = "0.4.6" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", size = 27697 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335 }, +] + +[[package]] +name = "exceptiongroup" +version = "1.2.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/09/35/2495c4ac46b980e4ca1f6ad6db102322ef3ad2410b79fdde159a4b0f3b92/exceptiongroup-1.2.2.tar.gz", hash = "sha256:47c2edf7c6738fafb49fd34290706d1a1a2f4d1c6df275526b62cbb4aa5393cc", size = 28883 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/02/cc/b7e31358aac6ed1ef2bb790a9746ac2c69bcb3c8588b41616914eb106eaf/exceptiongroup-1.2.2-py3-none-any.whl", hash = "sha256:3111b9d131c238bec2f8f516e123e14ba243563fb135d3fe885990585aa7795b", size = 16453 }, +] + +[[package]] +name = "iniconfig" +version = "2.1.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f2/97/ebf4da567aa6827c909642694d71c9fcf53e5b504f2d96afea02718862f3/iniconfig-2.1.0.tar.gz", hash = "sha256:3abbd2e30b36733fee78f9c7f7308f2d0050e88f0087fd25c2645f63c773e1c7", size = 4793 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2c/e1/e6716421ea10d38022b952c159d5161ca1193197fb744506875fbb87ea7b/iniconfig-2.1.0-py3-none-any.whl", hash = "sha256:9deba5723312380e77435581c6bf4935c94cbfab9b1ed33ef8d238ea168eb760", size = 6050 }, +] + +[[package]] +name = "numpy" +version = "2.2.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e1/78/31103410a57bc2c2b93a3597340a8119588571f6a4539067546cb9a0bfac/numpy-2.2.4.tar.gz", hash = "sha256:9ba03692a45d3eef66559efe1d1096c4b9b75c0986b5dff5530c378fb8331d4f", size = 20270701 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/04/89/a79e86e5c1433926ed7d60cb267fb64aa578b6101ab645800fd43b4801de/numpy-2.2.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:8146f3550d627252269ac42ae660281d673eb6f8b32f113538e0cc2a9aed42b9", size = 21250661 }, + { url = "https://files.pythonhosted.org/packages/79/c2/f50921beb8afd60ed9589ad880332cfefdb805422210d327fb48f12b7a81/numpy-2.2.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e642d86b8f956098b564a45e6f6ce68a22c2c97a04f5acd3f221f57b8cb850ae", size = 14389926 }, + { url = "https://files.pythonhosted.org/packages/c7/b9/2c4e96130b0b0f97b0ef4a06d6dae3b39d058b21a5e2fa2decd7fd6b1c8f/numpy-2.2.4-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:a84eda42bd12edc36eb5b53bbcc9b406820d3353f1994b6cfe453a33ff101775", size = 5428329 }, + { url = "https://files.pythonhosted.org/packages/7f/a5/3d7094aa898f4fc5c84cdfb26beeae780352d43f5d8bdec966c4393d644c/numpy-2.2.4-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:4ba5054787e89c59c593a4169830ab362ac2bee8a969249dc56e5d7d20ff8df9", size = 6963559 }, + { url = "https://files.pythonhosted.org/packages/4c/22/fb1be710a14434c09080dd4a0acc08939f612ec02efcb04b9e210474782d/numpy-2.2.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7716e4a9b7af82c06a2543c53ca476fa0b57e4d760481273e09da04b74ee6ee2", size = 14368066 }, + { url = "https://files.pythonhosted.org/packages/c2/07/2e5cc71193e3ef3a219ffcf6ca4858e46ea2be09c026ddd480d596b32867/numpy-2.2.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:adf8c1d66f432ce577d0197dceaac2ac00c0759f573f28516246351c58a85020", size = 16417040 }, + { url = "https://files.pythonhosted.org/packages/1a/97/3b1537776ad9a6d1a41813818343745e8dd928a2916d4c9edcd9a8af1dac/numpy-2.2.4-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:218f061d2faa73621fa23d6359442b0fc658d5b9a70801373625d958259eaca3", size = 15879862 }, + { url = "https://files.pythonhosted.org/packages/b0/b7/4472f603dd45ef36ff3d8e84e84fe02d9467c78f92cc121633dce6da307b/numpy-2.2.4-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:df2f57871a96bbc1b69733cd4c51dc33bea66146b8c63cacbfed73eec0883017", size = 18206032 }, + { url = "https://files.pythonhosted.org/packages/0d/bd/6a092963fb82e6c5aa0d0440635827bbb2910da229545473bbb58c537ed3/numpy-2.2.4-cp310-cp310-win32.whl", hash = "sha256:a0258ad1f44f138b791327961caedffbf9612bfa504ab9597157806faa95194a", size = 6608517 }, + { url = "https://files.pythonhosted.org/packages/01/e3/cb04627bc2a1638948bc13e818df26495aa18e20d5be1ed95ab2b10b6847/numpy-2.2.4-cp310-cp310-win_amd64.whl", hash = "sha256:0d54974f9cf14acf49c60f0f7f4084b6579d24d439453d5fc5805d46a165b542", size = 12943498 }, + { url = "https://files.pythonhosted.org/packages/16/fb/09e778ee3a8ea0d4dc8329cca0a9c9e65fed847d08e37eba74cb7ed4b252/numpy-2.2.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:e9e0a277bb2eb5d8a7407e14688b85fd8ad628ee4e0c7930415687b6564207a4", size = 21254989 }, + { url = "https://files.pythonhosted.org/packages/a2/0a/1212befdbecab5d80eca3cde47d304cad986ad4eec7d85a42e0b6d2cc2ef/numpy-2.2.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:9eeea959168ea555e556b8188da5fa7831e21d91ce031e95ce23747b7609f8a4", size = 14425910 }, + { url = "https://files.pythonhosted.org/packages/2b/3e/e7247c1d4f15086bb106c8d43c925b0b2ea20270224f5186fa48d4fb5cbd/numpy-2.2.4-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:bd3ad3b0a40e713fc68f99ecfd07124195333f1e689387c180813f0e94309d6f", size = 5426490 }, + { url = "https://files.pythonhosted.org/packages/5d/fa/aa7cd6be51419b894c5787a8a93c3302a1ed4f82d35beb0613ec15bdd0e2/numpy-2.2.4-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:cf28633d64294969c019c6df4ff37f5698e8326db68cc2b66576a51fad634880", size = 6967754 }, + { url = "https://files.pythonhosted.org/packages/d5/ee/96457c943265de9fadeb3d2ffdbab003f7fba13d971084a9876affcda095/numpy-2.2.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2fa8fa7697ad1646b5c93de1719965844e004fcad23c91228aca1cf0800044a1", size = 14373079 }, + { url = "https://files.pythonhosted.org/packages/c5/5c/ceefca458559f0ccc7a982319f37ed07b0d7b526964ae6cc61f8ad1b6119/numpy-2.2.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f4162988a360a29af158aeb4a2f4f09ffed6a969c9776f8f3bdee9b06a8ab7e5", size = 16428819 }, + { url = "https://files.pythonhosted.org/packages/22/31/9b2ac8eee99e001eb6add9fa27514ef5e9faf176169057a12860af52704c/numpy-2.2.4-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:892c10d6a73e0f14935c31229e03325a7b3093fafd6ce0af704be7f894d95687", size = 15881470 }, + { url = "https://files.pythonhosted.org/packages/f0/dc/8569b5f25ff30484b555ad8a3f537e0225d091abec386c9420cf5f7a2976/numpy-2.2.4-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:db1f1c22173ac1c58db249ae48aa7ead29f534b9a948bc56828337aa84a32ed6", size = 18218144 }, + { url = "https://files.pythonhosted.org/packages/5e/05/463c023a39bdeb9bb43a99e7dee2c664cb68d5bb87d14f92482b9f6011cc/numpy-2.2.4-cp311-cp311-win32.whl", hash = "sha256:ea2bb7e2ae9e37d96835b3576a4fa4b3a97592fbea8ef7c3587078b0068b8f09", size = 6606368 }, + { url = "https://files.pythonhosted.org/packages/8b/72/10c1d2d82101c468a28adc35de6c77b308f288cfd0b88e1070f15b98e00c/numpy-2.2.4-cp311-cp311-win_amd64.whl", hash = "sha256:f7de08cbe5551911886d1ab60de58448c6df0f67d9feb7d1fb21e9875ef95e91", size = 12947526 }, + { url = "https://files.pythonhosted.org/packages/a2/30/182db21d4f2a95904cec1a6f779479ea1ac07c0647f064dea454ec650c42/numpy-2.2.4-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:a7b9084668aa0f64e64bd00d27ba5146ef1c3a8835f3bd912e7a9e01326804c4", size = 20947156 }, + { url = "https://files.pythonhosted.org/packages/24/6d/9483566acfbda6c62c6bc74b6e981c777229d2af93c8eb2469b26ac1b7bc/numpy-2.2.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:dbe512c511956b893d2dacd007d955a3f03d555ae05cfa3ff1c1ff6df8851854", size = 14133092 }, + { url = "https://files.pythonhosted.org/packages/27/f6/dba8a258acbf9d2bed2525cdcbb9493ef9bae5199d7a9cb92ee7e9b2aea6/numpy-2.2.4-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:bb649f8b207ab07caebba230d851b579a3c8711a851d29efe15008e31bb4de24", size = 5163515 }, + { url = "https://files.pythonhosted.org/packages/62/30/82116199d1c249446723c68f2c9da40d7f062551036f50b8c4caa42ae252/numpy-2.2.4-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:f34dc300df798742b3d06515aa2a0aee20941c13579d7a2f2e10af01ae4901ee", size = 6696558 }, + { url = "https://files.pythonhosted.org/packages/0e/b2/54122b3c6df5df3e87582b2e9430f1bdb63af4023c739ba300164c9ae503/numpy-2.2.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c3f7ac96b16955634e223b579a3e5798df59007ca43e8d451a0e6a50f6bfdfba", size = 14084742 }, + { url = "https://files.pythonhosted.org/packages/02/e2/e2cbb8d634151aab9528ef7b8bab52ee4ab10e076509285602c2a3a686e0/numpy-2.2.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4f92084defa704deadd4e0a5ab1dc52d8ac9e8a8ef617f3fbb853e79b0ea3592", size = 16134051 }, + { url = "https://files.pythonhosted.org/packages/8e/21/efd47800e4affc993e8be50c1b768de038363dd88865920439ef7b422c60/numpy-2.2.4-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:7a4e84a6283b36632e2a5b56e121961f6542ab886bc9e12f8f9818b3c266bfbb", size = 15578972 }, + { url = "https://files.pythonhosted.org/packages/04/1e/f8bb88f6157045dd5d9b27ccf433d016981032690969aa5c19e332b138c0/numpy-2.2.4-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:11c43995255eb4127115956495f43e9343736edb7fcdb0d973defd9de14cd84f", size = 17898106 }, + { url = "https://files.pythonhosted.org/packages/2b/93/df59a5a3897c1f036ae8ff845e45f4081bb06943039ae28a3c1c7c780f22/numpy-2.2.4-cp312-cp312-win32.whl", hash = "sha256:65ef3468b53269eb5fdb3a5c09508c032b793da03251d5f8722b1194f1790c00", size = 6311190 }, + { url = "https://files.pythonhosted.org/packages/46/69/8c4f928741c2a8efa255fdc7e9097527c6dc4e4df147e3cadc5d9357ce85/numpy-2.2.4-cp312-cp312-win_amd64.whl", hash = "sha256:2aad3c17ed2ff455b8eaafe06bcdae0062a1db77cb99f4b9cbb5f4ecb13c5146", size = 12644305 }, + { url = "https://files.pythonhosted.org/packages/2a/d0/bd5ad792e78017f5decfb2ecc947422a3669a34f775679a76317af671ffc/numpy-2.2.4-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:1cf4e5c6a278d620dee9ddeb487dc6a860f9b199eadeecc567f777daace1e9e7", size = 20933623 }, + { url = "https://files.pythonhosted.org/packages/c3/bc/2b3545766337b95409868f8e62053135bdc7fa2ce630aba983a2aa60b559/numpy-2.2.4-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:1974afec0b479e50438fc3648974268f972e2d908ddb6d7fb634598cdb8260a0", size = 14148681 }, + { url = "https://files.pythonhosted.org/packages/6a/70/67b24d68a56551d43a6ec9fe8c5f91b526d4c1a46a6387b956bf2d64744e/numpy-2.2.4-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:79bd5f0a02aa16808fcbc79a9a376a147cc1045f7dfe44c6e7d53fa8b8a79392", size = 5148759 }, + { url = "https://files.pythonhosted.org/packages/1c/8b/e2fc8a75fcb7be12d90b31477c9356c0cbb44abce7ffb36be39a0017afad/numpy-2.2.4-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:3387dd7232804b341165cedcb90694565a6015433ee076c6754775e85d86f1fc", size = 6683092 }, + { url = "https://files.pythonhosted.org/packages/13/73/41b7b27f169ecf368b52533edb72e56a133f9e86256e809e169362553b49/numpy-2.2.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6f527d8fdb0286fd2fd97a2a96c6be17ba4232da346931d967a0630050dfd298", size = 14081422 }, + { url = "https://files.pythonhosted.org/packages/4b/04/e208ff3ae3ddfbafc05910f89546382f15a3f10186b1f56bd99f159689c2/numpy-2.2.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bce43e386c16898b91e162e5baaad90c4b06f9dcbe36282490032cec98dc8ae7", size = 16132202 }, + { url = "https://files.pythonhosted.org/packages/fe/bc/2218160574d862d5e55f803d88ddcad88beff94791f9c5f86d67bd8fbf1c/numpy-2.2.4-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:31504f970f563d99f71a3512d0c01a645b692b12a63630d6aafa0939e52361e6", size = 15573131 }, + { url = "https://files.pythonhosted.org/packages/a5/78/97c775bc4f05abc8a8426436b7cb1be806a02a2994b195945600855e3a25/numpy-2.2.4-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:81413336ef121a6ba746892fad881a83351ee3e1e4011f52e97fba79233611fd", size = 17894270 }, + { url = "https://files.pythonhosted.org/packages/b9/eb/38c06217a5f6de27dcb41524ca95a44e395e6a1decdc0c99fec0832ce6ae/numpy-2.2.4-cp313-cp313-win32.whl", hash = "sha256:f486038e44caa08dbd97275a9a35a283a8f1d2f0ee60ac260a1790e76660833c", size = 6308141 }, + { url = "https://files.pythonhosted.org/packages/52/17/d0dd10ab6d125c6d11ffb6dfa3423c3571befab8358d4f85cd4471964fcd/numpy-2.2.4-cp313-cp313-win_amd64.whl", hash = "sha256:207a2b8441cc8b6a2a78c9ddc64d00d20c303d79fba08c577752f080c4007ee3", size = 12636885 }, + { url = "https://files.pythonhosted.org/packages/fa/e2/793288ede17a0fdc921172916efb40f3cbc2aa97e76c5c84aba6dc7e8747/numpy-2.2.4-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:8120575cb4882318c791f839a4fd66161a6fa46f3f0a5e613071aae35b5dd8f8", size = 20961829 }, + { url = "https://files.pythonhosted.org/packages/3a/75/bb4573f6c462afd1ea5cbedcc362fe3e9bdbcc57aefd37c681be1155fbaa/numpy-2.2.4-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:a761ba0fa886a7bb33c6c8f6f20213735cb19642c580a931c625ee377ee8bd39", size = 14161419 }, + { url = "https://files.pythonhosted.org/packages/03/68/07b4cd01090ca46c7a336958b413cdbe75002286295f2addea767b7f16c9/numpy-2.2.4-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:ac0280f1ba4a4bfff363a99a6aceed4f8e123f8a9b234c89140f5e894e452ecd", size = 5196414 }, + { url = "https://files.pythonhosted.org/packages/a5/fd/d4a29478d622fedff5c4b4b4cedfc37a00691079623c0575978d2446db9e/numpy-2.2.4-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:879cf3a9a2b53a4672a168c21375166171bc3932b7e21f622201811c43cdd3b0", size = 6709379 }, + { url = "https://files.pythonhosted.org/packages/41/78/96dddb75bb9be730b87c72f30ffdd62611aba234e4e460576a068c98eff6/numpy-2.2.4-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f05d4198c1bacc9124018109c5fba2f3201dbe7ab6e92ff100494f236209c960", size = 14051725 }, + { url = "https://files.pythonhosted.org/packages/00/06/5306b8199bffac2a29d9119c11f457f6c7d41115a335b78d3f86fad4dbe8/numpy-2.2.4-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e2f085ce2e813a50dfd0e01fbfc0c12bbe5d2063d99f8b29da30e544fb6483b8", size = 16101638 }, + { url = "https://files.pythonhosted.org/packages/fa/03/74c5b631ee1ded596945c12027649e6344614144369fd3ec1aaced782882/numpy-2.2.4-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:92bda934a791c01d6d9d8e038363c50918ef7c40601552a58ac84c9613a665bc", size = 15571717 }, + { url = "https://files.pythonhosted.org/packages/cb/dc/4fc7c0283abe0981e3b89f9b332a134e237dd476b0c018e1e21083310c31/numpy-2.2.4-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:ee4d528022f4c5ff67332469e10efe06a267e32f4067dc76bb7e2cddf3cd25ff", size = 17879998 }, + { url = "https://files.pythonhosted.org/packages/e5/2b/878576190c5cfa29ed896b518cc516aecc7c98a919e20706c12480465f43/numpy-2.2.4-cp313-cp313t-win32.whl", hash = "sha256:05c076d531e9998e7e694c36e8b349969c56eadd2cdcd07242958489d79a7286", size = 6366896 }, + { url = "https://files.pythonhosted.org/packages/3e/05/eb7eec66b95cf697f08c754ef26c3549d03ebd682819f794cb039574a0a6/numpy-2.2.4-cp313-cp313t-win_amd64.whl", hash = "sha256:188dcbca89834cc2e14eb2f106c96d6d46f200fe0200310fc29089657379c58d", size = 12739119 }, + { url = "https://files.pythonhosted.org/packages/b2/5c/f09c33a511aff41a098e6ef3498465d95f6360621034a3d95f47edbc9119/numpy-2.2.4-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:7051ee569db5fbac144335e0f3b9c2337e0c8d5c9fee015f259a5bd70772b7e8", size = 21081956 }, + { url = "https://files.pythonhosted.org/packages/ba/30/74c48b3b6494c4b820b7fa1781d441e94d87a08daa5b35d222f06ba41a6f/numpy-2.2.4-pp310-pypy310_pp73-macosx_14_0_x86_64.whl", hash = "sha256:ab2939cd5bec30a7430cbdb2287b63151b77cf9624de0532d629c9a1c59b1d5c", size = 6827143 }, + { url = "https://files.pythonhosted.org/packages/54/f5/ab0d2f48b490535c7a80e05da4a98902b632369efc04f0e47bb31ca97d8f/numpy-2.2.4-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d0f35b19894a9e08639fd60a1ec1978cb7f5f7f1eace62f38dd36be8aecdef4d", size = 16233350 }, + { url = "https://files.pythonhosted.org/packages/3b/3a/2f6d8c1f8e45d496bca6baaec93208035faeb40d5735c25afac092ec9a12/numpy-2.2.4-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:b4adfbbc64014976d2f91084915ca4e626fbf2057fb81af209c1a6d776d23e3d", size = 12857565 }, +] + +[[package]] +name = "packaging" +version = "24.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d0/63/68dbb6eb2de9cb10ee4c9c14a0148804425e13c4fb20d61cce69f53106da/packaging-24.2.tar.gz", hash = "sha256:c228a6dc5e932d346bc5739379109d49e8853dd8223571c7c5b55260edc0b97f", size = 163950 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/88/ef/eb23f262cca3c0c4eb7ab1933c3b1f03d021f2c48f54763065b6f0e321be/packaging-24.2-py3-none-any.whl", hash = "sha256:09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759", size = 65451 }, +] + [[package]] name = "pdftext" version = "0.6.2" source = { editable = "." } +dependencies = [ + { name = "click" }, + { name = "numpy" }, + { name = "pillow" }, + { name = "pydantic" }, + { name = "pydantic-settings" }, + { name = "pypdfium2" }, + { name = "pytest" }, +] + +[package.metadata] +requires-dist = [ + { name = "click", specifier = ">=8.1.8" }, + { name = "numpy", specifier = ">=2.2.4" }, + { name = "pillow", specifier = ">=10.3.0,<11.0.0" }, + { name = "pydantic", specifier = ">=2.7.1,<3.0.0" }, + { name = "pydantic-settings", specifier = ">=2.2.1,<3.0.0" }, + { name = "pypdfium2", specifier = "==4.30.0" }, + { name = "pytest", specifier = ">=8.3.5" }, +] + +[[package]] +name = "pillow" +version = "10.4.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/cd/74/ad3d526f3bf7b6d3f408b73fde271ec69dfac8b81341a318ce825f2b3812/pillow-10.4.0.tar.gz", hash = "sha256:166c1cd4d24309b30d61f79f4a9114b7b2313d7450912277855ff5dfd7cd4a06", size = 46555059 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0e/69/a31cccd538ca0b5272be2a38347f8839b97a14be104ea08b0db92f749c74/pillow-10.4.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:4d9667937cfa347525b319ae34375c37b9ee6b525440f3ef48542fcf66f2731e", size = 3509271 }, + { url = "https://files.pythonhosted.org/packages/9a/9e/4143b907be8ea0bce215f2ae4f7480027473f8b61fcedfda9d851082a5d2/pillow-10.4.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:543f3dc61c18dafb755773efc89aae60d06b6596a63914107f75459cf984164d", size = 3375658 }, + { url = "https://files.pythonhosted.org/packages/8a/25/1fc45761955f9359b1169aa75e241551e74ac01a09f487adaaf4c3472d11/pillow-10.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7928ecbf1ece13956b95d9cbcfc77137652b02763ba384d9ab508099a2eca856", size = 4332075 }, + { url = "https://files.pythonhosted.org/packages/5e/dd/425b95d0151e1d6c951f45051112394f130df3da67363b6bc75dc4c27aba/pillow-10.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e4d49b85c4348ea0b31ea63bc75a9f3857869174e2bf17e7aba02945cd218e6f", size = 4444808 }, + { url = "https://files.pythonhosted.org/packages/b1/84/9a15cc5726cbbfe7f9f90bfb11f5d028586595907cd093815ca6644932e3/pillow-10.4.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:6c762a5b0997f5659a5ef2266abc1d8851ad7749ad9a6a5506eb23d314e4f46b", size = 4356290 }, + { url = "https://files.pythonhosted.org/packages/b5/5b/6651c288b08df3b8c1e2f8c1152201e0b25d240e22ddade0f1e242fc9fa0/pillow-10.4.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:a985e028fc183bf12a77a8bbf36318db4238a3ded7fa9df1b9a133f1cb79f8fc", size = 4525163 }, + { url = "https://files.pythonhosted.org/packages/07/8b/34854bf11a83c248505c8cb0fcf8d3d0b459a2246c8809b967963b6b12ae/pillow-10.4.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:812f7342b0eee081eaec84d91423d1b4650bb9828eb53d8511bcef8ce5aecf1e", size = 4463100 }, + { url = "https://files.pythonhosted.org/packages/78/63/0632aee4e82476d9cbe5200c0cdf9ba41ee04ed77887432845264d81116d/pillow-10.4.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:ac1452d2fbe4978c2eec89fb5a23b8387aba707ac72810d9490118817d9c0b46", size = 4592880 }, + { url = "https://files.pythonhosted.org/packages/df/56/b8663d7520671b4398b9d97e1ed9f583d4afcbefbda3c6188325e8c297bd/pillow-10.4.0-cp310-cp310-win32.whl", hash = "sha256:bcd5e41a859bf2e84fdc42f4edb7d9aba0a13d29a2abadccafad99de3feff984", size = 2235218 }, + { url = "https://files.pythonhosted.org/packages/f4/72/0203e94a91ddb4a9d5238434ae6c1ca10e610e8487036132ea9bf806ca2a/pillow-10.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:ecd85a8d3e79cd7158dec1c9e5808e821feea088e2f69a974db5edf84dc53141", size = 2554487 }, + { url = "https://files.pythonhosted.org/packages/bd/52/7e7e93d7a6e4290543f17dc6f7d3af4bd0b3dd9926e2e8a35ac2282bc5f4/pillow-10.4.0-cp310-cp310-win_arm64.whl", hash = "sha256:ff337c552345e95702c5fde3158acb0625111017d0e5f24bf3acdb9cc16b90d1", size = 2243219 }, + { url = "https://files.pythonhosted.org/packages/a7/62/c9449f9c3043c37f73e7487ec4ef0c03eb9c9afc91a92b977a67b3c0bbc5/pillow-10.4.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:0a9ec697746f268507404647e531e92889890a087e03681a3606d9b920fbee3c", size = 3509265 }, + { url = "https://files.pythonhosted.org/packages/f4/5f/491dafc7bbf5a3cc1845dc0430872e8096eb9e2b6f8161509d124594ec2d/pillow-10.4.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:dfe91cb65544a1321e631e696759491ae04a2ea11d36715eca01ce07284738be", size = 3375655 }, + { url = "https://files.pythonhosted.org/packages/73/d5/c4011a76f4207a3c151134cd22a1415741e42fa5ddecec7c0182887deb3d/pillow-10.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5dc6761a6efc781e6a1544206f22c80c3af4c8cf461206d46a1e6006e4429ff3", size = 4340304 }, + { url = "https://files.pythonhosted.org/packages/ac/10/c67e20445a707f7a610699bba4fe050583b688d8cd2d202572b257f46600/pillow-10.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5e84b6cc6a4a3d76c153a6b19270b3526a5a8ed6b09501d3af891daa2a9de7d6", size = 4452804 }, + { url = "https://files.pythonhosted.org/packages/a9/83/6523837906d1da2b269dee787e31df3b0acb12e3d08f024965a3e7f64665/pillow-10.4.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:bbc527b519bd3aa9d7f429d152fea69f9ad37c95f0b02aebddff592688998abe", size = 4365126 }, + { url = "https://files.pythonhosted.org/packages/ba/e5/8c68ff608a4203085158cff5cc2a3c534ec384536d9438c405ed6370d080/pillow-10.4.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:76a911dfe51a36041f2e756b00f96ed84677cdeb75d25c767f296c1c1eda1319", size = 4533541 }, + { url = "https://files.pythonhosted.org/packages/f4/7c/01b8dbdca5bc6785573f4cee96e2358b0918b7b2c7b60d8b6f3abf87a070/pillow-10.4.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:59291fb29317122398786c2d44427bbd1a6d7ff54017075b22be9d21aa59bd8d", size = 4471616 }, + { url = "https://files.pythonhosted.org/packages/c8/57/2899b82394a35a0fbfd352e290945440e3b3785655a03365c0ca8279f351/pillow-10.4.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:416d3a5d0e8cfe4f27f574362435bc9bae57f679a7158e0096ad2beb427b8696", size = 4600802 }, + { url = "https://files.pythonhosted.org/packages/4d/d7/a44f193d4c26e58ee5d2d9db3d4854b2cfb5b5e08d360a5e03fe987c0086/pillow-10.4.0-cp311-cp311-win32.whl", hash = "sha256:7086cc1d5eebb91ad24ded9f58bec6c688e9f0ed7eb3dbbf1e4800280a896496", size = 2235213 }, + { url = "https://files.pythonhosted.org/packages/c1/d0/5866318eec2b801cdb8c82abf190c8343d8a1cd8bf5a0c17444a6f268291/pillow-10.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:cbed61494057c0f83b83eb3a310f0bf774b09513307c434d4366ed64f4128a91", size = 2554498 }, + { url = "https://files.pythonhosted.org/packages/d4/c8/310ac16ac2b97e902d9eb438688de0d961660a87703ad1561fd3dfbd2aa0/pillow-10.4.0-cp311-cp311-win_arm64.whl", hash = "sha256:f5f0c3e969c8f12dd2bb7e0b15d5c468b51e5017e01e2e867335c81903046a22", size = 2243219 }, + { url = "https://files.pythonhosted.org/packages/05/cb/0353013dc30c02a8be34eb91d25e4e4cf594b59e5a55ea1128fde1e5f8ea/pillow-10.4.0-cp312-cp312-macosx_10_10_x86_64.whl", hash = "sha256:673655af3eadf4df6b5457033f086e90299fdd7a47983a13827acf7459c15d94", size = 3509350 }, + { url = "https://files.pythonhosted.org/packages/e7/cf/5c558a0f247e0bf9cec92bff9b46ae6474dd736f6d906315e60e4075f737/pillow-10.4.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:866b6942a92f56300012f5fbac71f2d610312ee65e22f1aa2609e491284e5597", size = 3374980 }, + { url = "https://files.pythonhosted.org/packages/84/48/6e394b86369a4eb68b8a1382c78dc092245af517385c086c5094e3b34428/pillow-10.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:29dbdc4207642ea6aad70fbde1a9338753d33fb23ed6956e706936706f52dd80", size = 4343799 }, + { url = "https://files.pythonhosted.org/packages/3b/f3/a8c6c11fa84b59b9df0cd5694492da8c039a24cd159f0f6918690105c3be/pillow-10.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf2342ac639c4cf38799a44950bbc2dfcb685f052b9e262f446482afaf4bffca", size = 4459973 }, + { url = "https://files.pythonhosted.org/packages/7d/1b/c14b4197b80150fb64453585247e6fb2e1d93761fa0fa9cf63b102fde822/pillow-10.4.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:f5b92f4d70791b4a67157321c4e8225d60b119c5cc9aee8ecf153aace4aad4ef", size = 4370054 }, + { url = "https://files.pythonhosted.org/packages/55/77/40daddf677897a923d5d33329acd52a2144d54a9644f2a5422c028c6bf2d/pillow-10.4.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:86dcb5a1eb778d8b25659d5e4341269e8590ad6b4e8b44d9f4b07f8d136c414a", size = 4539484 }, + { url = "https://files.pythonhosted.org/packages/40/54/90de3e4256b1207300fb2b1d7168dd912a2fb4b2401e439ba23c2b2cabde/pillow-10.4.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:780c072c2e11c9b2c7ca37f9a2ee8ba66f44367ac3e5c7832afcfe5104fd6d1b", size = 4477375 }, + { url = "https://files.pythonhosted.org/packages/13/24/1bfba52f44193860918ff7c93d03d95e3f8748ca1de3ceaf11157a14cf16/pillow-10.4.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:37fb69d905be665f68f28a8bba3c6d3223c8efe1edf14cc4cfa06c241f8c81d9", size = 4608773 }, + { url = "https://files.pythonhosted.org/packages/55/04/5e6de6e6120451ec0c24516c41dbaf80cce1b6451f96561235ef2429da2e/pillow-10.4.0-cp312-cp312-win32.whl", hash = "sha256:7dfecdbad5c301d7b5bde160150b4db4c659cee2b69589705b6f8a0c509d9f42", size = 2235690 }, + { url = "https://files.pythonhosted.org/packages/74/0a/d4ce3c44bca8635bd29a2eab5aa181b654a734a29b263ca8efe013beea98/pillow-10.4.0-cp312-cp312-win_amd64.whl", hash = "sha256:1d846aea995ad352d4bdcc847535bd56e0fd88d36829d2c90be880ef1ee4668a", size = 2554951 }, + { url = "https://files.pythonhosted.org/packages/b5/ca/184349ee40f2e92439be9b3502ae6cfc43ac4b50bc4fc6b3de7957563894/pillow-10.4.0-cp312-cp312-win_arm64.whl", hash = "sha256:e553cad5179a66ba15bb18b353a19020e73a7921296a7979c4a2b7f6a5cd57f9", size = 2243427 }, + { url = "https://files.pythonhosted.org/packages/c3/00/706cebe7c2c12a6318aabe5d354836f54adff7156fd9e1bd6c89f4ba0e98/pillow-10.4.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:8bc1a764ed8c957a2e9cacf97c8b2b053b70307cf2996aafd70e91a082e70df3", size = 3525685 }, + { url = "https://files.pythonhosted.org/packages/cf/76/f658cbfa49405e5ecbfb9ba42d07074ad9792031267e782d409fd8fe7c69/pillow-10.4.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:6209bb41dc692ddfee4942517c19ee81b86c864b626dbfca272ec0f7cff5d9fb", size = 3374883 }, + { url = "https://files.pythonhosted.org/packages/46/2b/99c28c4379a85e65378211971c0b430d9c7234b1ec4d59b2668f6299e011/pillow-10.4.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bee197b30783295d2eb680b311af15a20a8b24024a19c3a26431ff83eb8d1f70", size = 4339837 }, + { url = "https://files.pythonhosted.org/packages/f1/74/b1ec314f624c0c43711fdf0d8076f82d9d802afd58f1d62c2a86878e8615/pillow-10.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1ef61f5dd14c300786318482456481463b9d6b91ebe5ef12f405afbba77ed0be", size = 4455562 }, + { url = "https://files.pythonhosted.org/packages/4a/2a/4b04157cb7b9c74372fa867096a1607e6fedad93a44deeff553ccd307868/pillow-10.4.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:297e388da6e248c98bc4a02e018966af0c5f92dfacf5a5ca22fa01cb3179bca0", size = 4366761 }, + { url = "https://files.pythonhosted.org/packages/ac/7b/8f1d815c1a6a268fe90481232c98dd0e5fa8c75e341a75f060037bd5ceae/pillow-10.4.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:e4db64794ccdf6cb83a59d73405f63adbe2a1887012e308828596100a0b2f6cc", size = 4536767 }, + { url = "https://files.pythonhosted.org/packages/e5/77/05fa64d1f45d12c22c314e7b97398ffb28ef2813a485465017b7978b3ce7/pillow-10.4.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:bd2880a07482090a3bcb01f4265f1936a903d70bc740bfcb1fd4e8a2ffe5cf5a", size = 4477989 }, + { url = "https://files.pythonhosted.org/packages/12/63/b0397cfc2caae05c3fb2f4ed1b4fc4fc878f0243510a7a6034ca59726494/pillow-10.4.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4b35b21b819ac1dbd1233317adeecd63495f6babf21b7b2512d244ff6c6ce309", size = 4610255 }, + { url = "https://files.pythonhosted.org/packages/7b/f9/cfaa5082ca9bc4a6de66ffe1c12c2d90bf09c309a5f52b27759a596900e7/pillow-10.4.0-cp313-cp313-win32.whl", hash = "sha256:551d3fd6e9dc15e4c1eb6fc4ba2b39c0c7933fa113b220057a34f4bb3268a060", size = 2235603 }, + { url = "https://files.pythonhosted.org/packages/01/6a/30ff0eef6e0c0e71e55ded56a38d4859bf9d3634a94a88743897b5f96936/pillow-10.4.0-cp313-cp313-win_amd64.whl", hash = "sha256:030abdbe43ee02e0de642aee345efa443740aa4d828bfe8e2eb11922ea6a21ea", size = 2554972 }, + { url = "https://files.pythonhosted.org/packages/48/2c/2e0a52890f269435eee38b21c8218e102c621fe8d8df8b9dd06fabf879ba/pillow-10.4.0-cp313-cp313-win_arm64.whl", hash = "sha256:5b001114dd152cfd6b23befeb28d7aee43553e2402c9f159807bf55f33af8a8d", size = 2243375 }, + { url = "https://files.pythonhosted.org/packages/38/30/095d4f55f3a053392f75e2eae45eba3228452783bab3d9a920b951ac495c/pillow-10.4.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:5b4815f2e65b30f5fbae9dfffa8636d992d49705723fe86a3661806e069352d4", size = 3493889 }, + { url = "https://files.pythonhosted.org/packages/f3/e8/4ff79788803a5fcd5dc35efdc9386af153569853767bff74540725b45863/pillow-10.4.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:8f0aef4ef59694b12cadee839e2ba6afeab89c0f39a3adc02ed51d109117b8da", size = 3346160 }, + { url = "https://files.pythonhosted.org/packages/d7/ac/4184edd511b14f760c73f5bb8a5d6fd85c591c8aff7c2229677a355c4179/pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9f4727572e2918acaa9077c919cbbeb73bd2b3ebcfe033b72f858fc9fbef0026", size = 3435020 }, + { url = "https://files.pythonhosted.org/packages/da/21/1749cd09160149c0a246a81d646e05f35041619ce76f6493d6a96e8d1103/pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ff25afb18123cea58a591ea0244b92eb1e61a1fd497bf6d6384f09bc3262ec3e", size = 3490539 }, + { url = "https://files.pythonhosted.org/packages/b6/f5/f71fe1888b96083b3f6dfa0709101f61fc9e972c0c8d04e9d93ccef2a045/pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:dc3e2db6ba09ffd7d02ae9141cfa0ae23393ee7687248d46a7507b75d610f4f5", size = 3476125 }, + { url = "https://files.pythonhosted.org/packages/96/b9/c0362c54290a31866c3526848583a2f45a535aa9d725fd31e25d318c805f/pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:02a2be69f9c9b8c1e97cf2713e789d4e398c751ecfd9967c18d0ce304efbf885", size = 3579373 }, + { url = "https://files.pythonhosted.org/packages/52/3b/ce7a01026a7cf46e5452afa86f97a5e88ca97f562cafa76570178ab56d8d/pillow-10.4.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:0755ffd4a0c6f267cccbae2e9903d95477ca2f77c4fcf3a3a09570001856c8a5", size = 2554661 }, +] + +[[package]] +name = "pluggy" +version = "1.5.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/96/2d/02d4312c973c6050a18b314a5ad0b3210edb65a906f868e31c111dede4a6/pluggy-1.5.0.tar.gz", hash = "sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1", size = 67955 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/88/5f/e351af9a41f866ac3f1fac4ca0613908d9a41741cfcf2228f4ad853b697d/pluggy-1.5.0-py3-none-any.whl", hash = "sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669", size = 20556 }, +] + +[[package]] +name = "pydantic" +version = "2.11.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "annotated-types" }, + { name = "pydantic-core" }, + { name = "typing-extensions" }, + { name = "typing-inspection" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/10/2e/ca897f093ee6c5f3b0bee123ee4465c50e75431c3d5b6a3b44a47134e891/pydantic-2.11.3.tar.gz", hash = "sha256:7471657138c16adad9322fe3070c0116dd6c3ad8d649300e3cbdfe91f4db4ec3", size = 785513 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b0/1d/407b29780a289868ed696d1616f4aad49d6388e5a77f567dcd2629dcd7b8/pydantic-2.11.3-py3-none-any.whl", hash = "sha256:a082753436a07f9ba1289c6ffa01cd93db3548776088aa917cc43b63f68fa60f", size = 443591 }, +] + +[[package]] +name = "pydantic-core" +version = "2.33.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/17/19/ed6a078a5287aea7922de6841ef4c06157931622c89c2a47940837b5eecd/pydantic_core-2.33.1.tar.gz", hash = "sha256:bcc9c6fdb0ced789245b02b7d6603e17d1563064ddcfc36f046b61c0c05dd9df", size = 434395 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/38/ea/5f572806ab4d4223d11551af814d243b0e3e02cc6913def4d1fe4a5ca41c/pydantic_core-2.33.1-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:3077cfdb6125cc8dab61b155fdd714663e401f0e6883f9632118ec12cf42df26", size = 2044021 }, + { url = "https://files.pythonhosted.org/packages/8c/d1/f86cc96d2aa80e3881140d16d12ef2b491223f90b28b9a911346c04ac359/pydantic_core-2.33.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8ffab8b2908d152e74862d276cf5017c81a2f3719f14e8e3e8d6b83fda863927", size = 1861742 }, + { url = "https://files.pythonhosted.org/packages/37/08/fbd2cd1e9fc735a0df0142fac41c114ad9602d1c004aea340169ae90973b/pydantic_core-2.33.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5183e4f6a2d468787243ebcd70cf4098c247e60d73fb7d68d5bc1e1beaa0c4db", size = 1910414 }, + { url = "https://files.pythonhosted.org/packages/7f/73/3ac217751decbf8d6cb9443cec9b9eb0130eeada6ae56403e11b486e277e/pydantic_core-2.33.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:398a38d323f37714023be1e0285765f0a27243a8b1506b7b7de87b647b517e48", size = 1996848 }, + { url = "https://files.pythonhosted.org/packages/9a/f5/5c26b265cdcff2661e2520d2d1e9db72d117ea00eb41e00a76efe68cb009/pydantic_core-2.33.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:87d3776f0001b43acebfa86f8c64019c043b55cc5a6a2e313d728b5c95b46969", size = 2141055 }, + { url = "https://files.pythonhosted.org/packages/5d/14/a9c3cee817ef2f8347c5ce0713e91867a0dceceefcb2973942855c917379/pydantic_core-2.33.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c566dd9c5f63d22226409553531f89de0cac55397f2ab8d97d6f06cfce6d947e", size = 2753806 }, + { url = "https://files.pythonhosted.org/packages/f2/68/866ce83a51dd37e7c604ce0050ff6ad26de65a7799df89f4db87dd93d1d6/pydantic_core-2.33.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a0d5f3acc81452c56895e90643a625302bd6be351e7010664151cc55b7b97f89", size = 2007777 }, + { url = "https://files.pythonhosted.org/packages/b6/a8/36771f4404bb3e49bd6d4344da4dede0bf89cc1e01f3b723c47248a3761c/pydantic_core-2.33.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d3a07fadec2a13274a8d861d3d37c61e97a816beae717efccaa4b36dfcaadcde", size = 2122803 }, + { url = "https://files.pythonhosted.org/packages/18/9c/730a09b2694aa89360d20756369822d98dc2f31b717c21df33b64ffd1f50/pydantic_core-2.33.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:f99aeda58dce827f76963ee87a0ebe75e648c72ff9ba1174a253f6744f518f65", size = 2086755 }, + { url = "https://files.pythonhosted.org/packages/54/8e/2dccd89602b5ec31d1c58138d02340ecb2ebb8c2cac3cc66b65ce3edb6ce/pydantic_core-2.33.1-cp310-cp310-musllinux_1_1_armv7l.whl", hash = "sha256:902dbc832141aa0ec374f4310f1e4e7febeebc3256f00dc359a9ac3f264a45dc", size = 2257358 }, + { url = "https://files.pythonhosted.org/packages/d1/9c/126e4ac1bfad8a95a9837acdd0963695d69264179ba4ede8b8c40d741702/pydantic_core-2.33.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fe44d56aa0b00d66640aa84a3cbe80b7a3ccdc6f0b1ca71090696a6d4777c091", size = 2257916 }, + { url = "https://files.pythonhosted.org/packages/7d/ba/91eea2047e681a6853c81c20aeca9dcdaa5402ccb7404a2097c2adf9d038/pydantic_core-2.33.1-cp310-cp310-win32.whl", hash = "sha256:ed3eb16d51257c763539bde21e011092f127a2202692afaeaccb50db55a31383", size = 1923823 }, + { url = "https://files.pythonhosted.org/packages/94/c0/fcdf739bf60d836a38811476f6ecd50374880b01e3014318b6e809ddfd52/pydantic_core-2.33.1-cp310-cp310-win_amd64.whl", hash = "sha256:694ad99a7f6718c1a498dc170ca430687a39894a60327f548e02a9c7ee4b6504", size = 1952494 }, + { url = "https://files.pythonhosted.org/packages/d6/7f/c6298830cb780c46b4f46bb24298d01019ffa4d21769f39b908cd14bbd50/pydantic_core-2.33.1-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:6e966fc3caaf9f1d96b349b0341c70c8d6573bf1bac7261f7b0ba88f96c56c24", size = 2044224 }, + { url = "https://files.pythonhosted.org/packages/a8/65/6ab3a536776cad5343f625245bd38165d6663256ad43f3a200e5936afd6c/pydantic_core-2.33.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:bfd0adeee563d59c598ceabddf2c92eec77abcb3f4a391b19aa7366170bd9e30", size = 1858845 }, + { url = "https://files.pythonhosted.org/packages/e9/15/9a22fd26ba5ee8c669d4b8c9c244238e940cd5d818649603ca81d1c69861/pydantic_core-2.33.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:91815221101ad3c6b507804178a7bb5cb7b2ead9ecd600041669c8d805ebd595", size = 1910029 }, + { url = "https://files.pythonhosted.org/packages/d5/33/8cb1a62818974045086f55f604044bf35b9342900318f9a2a029a1bec460/pydantic_core-2.33.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:9fea9c1869bb4742d174a57b4700c6dadea951df8b06de40c2fedb4f02931c2e", size = 1997784 }, + { url = "https://files.pythonhosted.org/packages/c0/ca/49958e4df7715c71773e1ea5be1c74544923d10319173264e6db122543f9/pydantic_core-2.33.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1d20eb4861329bb2484c021b9d9a977566ab16d84000a57e28061151c62b349a", size = 2141075 }, + { url = "https://files.pythonhosted.org/packages/7b/a6/0b3a167a9773c79ba834b959b4e18c3ae9216b8319bd8422792abc8a41b1/pydantic_core-2.33.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0fb935c5591573ae3201640579f30128ccc10739b45663f93c06796854405505", size = 2745849 }, + { url = "https://files.pythonhosted.org/packages/0b/60/516484135173aa9e5861d7a0663dce82e4746d2e7f803627d8c25dfa5578/pydantic_core-2.33.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c964fd24e6166420d18fb53996d8c9fd6eac9bf5ae3ec3d03015be4414ce497f", size = 2005794 }, + { url = "https://files.pythonhosted.org/packages/86/70/05b1eb77459ad47de00cf78ee003016da0cedf8b9170260488d7c21e9181/pydantic_core-2.33.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:681d65e9011f7392db5aa002b7423cc442d6a673c635668c227c6c8d0e5a4f77", size = 2123237 }, + { url = "https://files.pythonhosted.org/packages/c7/57/12667a1409c04ae7dc95d3b43158948eb0368e9c790be8b095cb60611459/pydantic_core-2.33.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e100c52f7355a48413e2999bfb4e139d2977a904495441b374f3d4fb4a170961", size = 2086351 }, + { url = "https://files.pythonhosted.org/packages/57/61/cc6d1d1c1664b58fdd6ecc64c84366c34ec9b606aeb66cafab6f4088974c/pydantic_core-2.33.1-cp311-cp311-musllinux_1_1_armv7l.whl", hash = "sha256:048831bd363490be79acdd3232f74a0e9951b11b2b4cc058aeb72b22fdc3abe1", size = 2258914 }, + { url = "https://files.pythonhosted.org/packages/d1/0a/edb137176a1f5419b2ddee8bde6a0a548cfa3c74f657f63e56232df8de88/pydantic_core-2.33.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:bdc84017d28459c00db6f918a7272a5190bec3090058334e43a76afb279eac7c", size = 2257385 }, + { url = "https://files.pythonhosted.org/packages/26/3c/48ca982d50e4b0e1d9954919c887bdc1c2b462801bf408613ccc641b3daa/pydantic_core-2.33.1-cp311-cp311-win32.whl", hash = "sha256:32cd11c5914d1179df70406427097c7dcde19fddf1418c787540f4b730289896", size = 1923765 }, + { url = "https://files.pythonhosted.org/packages/33/cd/7ab70b99e5e21559f5de38a0928ea84e6f23fdef2b0d16a6feaf942b003c/pydantic_core-2.33.1-cp311-cp311-win_amd64.whl", hash = "sha256:2ea62419ba8c397e7da28a9170a16219d310d2cf4970dbc65c32faf20d828c83", size = 1950688 }, + { url = "https://files.pythonhosted.org/packages/4b/ae/db1fc237b82e2cacd379f63e3335748ab88b5adde98bf7544a1b1bd10a84/pydantic_core-2.33.1-cp311-cp311-win_arm64.whl", hash = "sha256:fc903512177361e868bc1f5b80ac8c8a6e05fcdd574a5fb5ffeac5a9982b9e89", size = 1908185 }, + { url = "https://files.pythonhosted.org/packages/c8/ce/3cb22b07c29938f97ff5f5bb27521f95e2ebec399b882392deb68d6c440e/pydantic_core-2.33.1-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:1293d7febb995e9d3ec3ea09caf1a26214eec45b0f29f6074abb004723fc1de8", size = 2026640 }, + { url = "https://files.pythonhosted.org/packages/19/78/f381d643b12378fee782a72126ec5d793081ef03791c28a0fd542a5bee64/pydantic_core-2.33.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:99b56acd433386c8f20be5c4000786d1e7ca0523c8eefc995d14d79c7a081498", size = 1852649 }, + { url = "https://files.pythonhosted.org/packages/9d/2b/98a37b80b15aac9eb2c6cfc6dbd35e5058a352891c5cce3a8472d77665a6/pydantic_core-2.33.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:35a5ec3fa8c2fe6c53e1b2ccc2454398f95d5393ab398478f53e1afbbeb4d939", size = 1892472 }, + { url = "https://files.pythonhosted.org/packages/4e/d4/3c59514e0f55a161004792b9ff3039da52448f43f5834f905abef9db6e4a/pydantic_core-2.33.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:b172f7b9d2f3abc0efd12e3386f7e48b576ef309544ac3a63e5e9cdd2e24585d", size = 1977509 }, + { url = "https://files.pythonhosted.org/packages/a9/b6/c2c7946ef70576f79a25db59a576bce088bdc5952d1b93c9789b091df716/pydantic_core-2.33.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9097b9f17f91eea659b9ec58148c0747ec354a42f7389b9d50701610d86f812e", size = 2128702 }, + { url = "https://files.pythonhosted.org/packages/88/fe/65a880f81e3f2a974312b61f82a03d85528f89a010ce21ad92f109d94deb/pydantic_core-2.33.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cc77ec5b7e2118b152b0d886c7514a4653bcb58c6b1d760134a9fab915f777b3", size = 2679428 }, + { url = "https://files.pythonhosted.org/packages/6f/ff/4459e4146afd0462fb483bb98aa2436d69c484737feaceba1341615fb0ac/pydantic_core-2.33.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d5e3d15245b08fa4a84cefc6c9222e6f37c98111c8679fbd94aa145f9a0ae23d", size = 2008753 }, + { url = "https://files.pythonhosted.org/packages/7c/76/1c42e384e8d78452ededac8b583fe2550c84abfef83a0552e0e7478ccbc3/pydantic_core-2.33.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:ef99779001d7ac2e2461d8ab55d3373fe7315caefdbecd8ced75304ae5a6fc6b", size = 2114849 }, + { url = "https://files.pythonhosted.org/packages/00/72/7d0cf05095c15f7ffe0eb78914b166d591c0eed72f294da68378da205101/pydantic_core-2.33.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:fc6bf8869e193855e8d91d91f6bf59699a5cdfaa47a404e278e776dd7f168b39", size = 2069541 }, + { url = "https://files.pythonhosted.org/packages/b3/69/94a514066bb7d8be499aa764926937409d2389c09be0b5107a970286ef81/pydantic_core-2.33.1-cp312-cp312-musllinux_1_1_armv7l.whl", hash = "sha256:b1caa0bc2741b043db7823843e1bde8aaa58a55a58fda06083b0569f8b45693a", size = 2239225 }, + { url = "https://files.pythonhosted.org/packages/84/b0/e390071eadb44b41f4f54c3cef64d8bf5f9612c92686c9299eaa09e267e2/pydantic_core-2.33.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:ec259f62538e8bf364903a7d0d0239447059f9434b284f5536e8402b7dd198db", size = 2248373 }, + { url = "https://files.pythonhosted.org/packages/d6/b2/288b3579ffc07e92af66e2f1a11be3b056fe1214aab314748461f21a31c3/pydantic_core-2.33.1-cp312-cp312-win32.whl", hash = "sha256:e14f369c98a7c15772b9da98987f58e2b509a93235582838bd0d1d8c08b68fda", size = 1907034 }, + { url = "https://files.pythonhosted.org/packages/02/28/58442ad1c22b5b6742b992ba9518420235adced665513868f99a1c2638a5/pydantic_core-2.33.1-cp312-cp312-win_amd64.whl", hash = "sha256:1c607801d85e2e123357b3893f82c97a42856192997b95b4d8325deb1cd0c5f4", size = 1956848 }, + { url = "https://files.pythonhosted.org/packages/a1/eb/f54809b51c7e2a1d9f439f158b8dd94359321abcc98767e16fc48ae5a77e/pydantic_core-2.33.1-cp312-cp312-win_arm64.whl", hash = "sha256:8d13f0276806ee722e70a1c93da19748594f19ac4299c7e41237fc791d1861ea", size = 1903986 }, + { url = "https://files.pythonhosted.org/packages/7a/24/eed3466a4308d79155f1cdd5c7432c80ddcc4530ba8623b79d5ced021641/pydantic_core-2.33.1-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:70af6a21237b53d1fe7b9325b20e65cbf2f0a848cf77bed492b029139701e66a", size = 2033551 }, + { url = "https://files.pythonhosted.org/packages/ab/14/df54b1a0bc9b6ded9b758b73139d2c11b4e8eb43e8ab9c5847c0a2913ada/pydantic_core-2.33.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:282b3fe1bbbe5ae35224a0dbd05aed9ccabccd241e8e6b60370484234b456266", size = 1852785 }, + { url = "https://files.pythonhosted.org/packages/fa/96/e275f15ff3d34bb04b0125d9bc8848bf69f25d784d92a63676112451bfb9/pydantic_core-2.33.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4b315e596282bbb5822d0c7ee9d255595bd7506d1cb20c2911a4da0b970187d3", size = 1897758 }, + { url = "https://files.pythonhosted.org/packages/b7/d8/96bc536e975b69e3a924b507d2a19aedbf50b24e08c80fb00e35f9baaed8/pydantic_core-2.33.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:1dfae24cf9921875ca0ca6a8ecb4bb2f13c855794ed0d468d6abbec6e6dcd44a", size = 1986109 }, + { url = "https://files.pythonhosted.org/packages/90/72/ab58e43ce7e900b88cb571ed057b2fcd0e95b708a2e0bed475b10130393e/pydantic_core-2.33.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6dd8ecfde08d8bfadaea669e83c63939af76f4cf5538a72597016edfa3fad516", size = 2129159 }, + { url = "https://files.pythonhosted.org/packages/dc/3f/52d85781406886c6870ac995ec0ba7ccc028b530b0798c9080531b409fdb/pydantic_core-2.33.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2f593494876eae852dc98c43c6f260f45abdbfeec9e4324e31a481d948214764", size = 2680222 }, + { url = "https://files.pythonhosted.org/packages/f4/56/6e2ef42f363a0eec0fd92f74a91e0ac48cd2e49b695aac1509ad81eee86a/pydantic_core-2.33.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:948b73114f47fd7016088e5186d13faf5e1b2fe83f5e320e371f035557fd264d", size = 2006980 }, + { url = "https://files.pythonhosted.org/packages/4c/c0/604536c4379cc78359f9ee0aa319f4aedf6b652ec2854953f5a14fc38c5a/pydantic_core-2.33.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e11f3864eb516af21b01e25fac915a82e9ddad3bb0fb9e95a246067398b435a4", size = 2120840 }, + { url = "https://files.pythonhosted.org/packages/1f/46/9eb764814f508f0edfb291a0f75d10854d78113fa13900ce13729aaec3ae/pydantic_core-2.33.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:549150be302428b56fdad0c23c2741dcdb5572413776826c965619a25d9c6bde", size = 2072518 }, + { url = "https://files.pythonhosted.org/packages/42/e3/fb6b2a732b82d1666fa6bf53e3627867ea3131c5f39f98ce92141e3e3dc1/pydantic_core-2.33.1-cp313-cp313-musllinux_1_1_armv7l.whl", hash = "sha256:495bc156026efafd9ef2d82372bd38afce78ddd82bf28ef5276c469e57c0c83e", size = 2248025 }, + { url = "https://files.pythonhosted.org/packages/5c/9d/fbe8fe9d1aa4dac88723f10a921bc7418bd3378a567cb5e21193a3c48b43/pydantic_core-2.33.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:ec79de2a8680b1a67a07490bddf9636d5c2fab609ba8c57597e855fa5fa4dacd", size = 2254991 }, + { url = "https://files.pythonhosted.org/packages/aa/99/07e2237b8a66438d9b26482332cda99a9acccb58d284af7bc7c946a42fd3/pydantic_core-2.33.1-cp313-cp313-win32.whl", hash = "sha256:ee12a7be1742f81b8a65b36c6921022301d466b82d80315d215c4c691724986f", size = 1915262 }, + { url = "https://files.pythonhosted.org/packages/8a/f4/e457a7849beeed1e5defbcf5051c6f7b3c91a0624dd31543a64fc9adcf52/pydantic_core-2.33.1-cp313-cp313-win_amd64.whl", hash = "sha256:ede9b407e39949d2afc46385ce6bd6e11588660c26f80576c11c958e6647bc40", size = 1956626 }, + { url = "https://files.pythonhosted.org/packages/20/d0/e8d567a7cff7b04e017ae164d98011f1e1894269fe8e90ea187a3cbfb562/pydantic_core-2.33.1-cp313-cp313-win_arm64.whl", hash = "sha256:aa687a23d4b7871a00e03ca96a09cad0f28f443690d300500603bd0adba4b523", size = 1909590 }, + { url = "https://files.pythonhosted.org/packages/ef/fd/24ea4302d7a527d672c5be06e17df16aabfb4e9fdc6e0b345c21580f3d2a/pydantic_core-2.33.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:401d7b76e1000d0dd5538e6381d28febdcacb097c8d340dde7d7fc6e13e9f95d", size = 1812963 }, + { url = "https://files.pythonhosted.org/packages/5f/95/4fbc2ecdeb5c1c53f1175a32d870250194eb2fdf6291b795ab08c8646d5d/pydantic_core-2.33.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7aeb055a42d734c0255c9e489ac67e75397d59c6fbe60d155851e9782f276a9c", size = 1986896 }, + { url = "https://files.pythonhosted.org/packages/71/ae/fe31e7f4a62431222d8f65a3bd02e3fa7e6026d154a00818e6d30520ea77/pydantic_core-2.33.1-cp313-cp313t-win_amd64.whl", hash = "sha256:338ea9b73e6e109f15ab439e62cb3b78aa752c7fd9536794112e14bee02c8d18", size = 1931810 }, + { url = "https://files.pythonhosted.org/packages/9c/c7/8b311d5adb0fe00a93ee9b4e92a02b0ec08510e9838885ef781ccbb20604/pydantic_core-2.33.1-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:5c834f54f8f4640fd7e4b193f80eb25a0602bba9e19b3cd2fc7ffe8199f5ae02", size = 2041659 }, + { url = "https://files.pythonhosted.org/packages/8a/d6/4f58d32066a9e26530daaf9adc6664b01875ae0691570094968aaa7b8fcc/pydantic_core-2.33.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:049e0de24cf23766f12cc5cc71d8abc07d4a9deb9061b334b62093dedc7cb068", size = 1873294 }, + { url = "https://files.pythonhosted.org/packages/f7/3f/53cc9c45d9229da427909c751f8ed2bf422414f7664ea4dde2d004f596ba/pydantic_core-2.33.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1a28239037b3d6f16916a4c831a5a0eadf856bdd6d2e92c10a0da3a59eadcf3e", size = 1903771 }, + { url = "https://files.pythonhosted.org/packages/f0/49/bf0783279ce674eb9903fb9ae43f6c614cb2f1c4951370258823f795368b/pydantic_core-2.33.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9d3da303ab5f378a268fa7d45f37d7d85c3ec19769f28d2cc0c61826a8de21fe", size = 2083558 }, + { url = "https://files.pythonhosted.org/packages/9c/5b/0d998367687f986c7d8484a2c476d30f07bf5b8b1477649a6092bd4c540e/pydantic_core-2.33.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:25626fb37b3c543818c14821afe0fd3830bc327a43953bc88db924b68c5723f1", size = 2118038 }, + { url = "https://files.pythonhosted.org/packages/b3/33/039287d410230ee125daee57373ac01940d3030d18dba1c29cd3089dc3ca/pydantic_core-2.33.1-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:3ab2d36e20fbfcce8f02d73c33a8a7362980cff717926bbae030b93ae46b56c7", size = 2079315 }, + { url = "https://files.pythonhosted.org/packages/1f/85/6d8b2646d99c062d7da2d0ab2faeb0d6ca9cca4c02da6076376042a20da3/pydantic_core-2.33.1-pp310-pypy310_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:2f9284e11c751b003fd4215ad92d325d92c9cb19ee6729ebd87e3250072cdcde", size = 2249063 }, + { url = "https://files.pythonhosted.org/packages/17/d7/c37d208d5738f7b9ad8f22ae8a727d88ebf9c16c04ed2475122cc3f7224a/pydantic_core-2.33.1-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:048c01eee07d37cbd066fc512b9d8b5ea88ceeb4e629ab94b3e56965ad655add", size = 2254631 }, + { url = "https://files.pythonhosted.org/packages/13/e0/bafa46476d328e4553b85ab9b2f7409e7aaef0ce4c937c894821c542d347/pydantic_core-2.33.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:5ccd429694cf26af7997595d627dd2637e7932214486f55b8a357edaac9dae8c", size = 2080877 }, + { url = "https://files.pythonhosted.org/packages/0b/76/1794e440c1801ed35415238d2c728f26cd12695df9057154ad768b7b991c/pydantic_core-2.33.1-pp311-pypy311_pp73-macosx_10_12_x86_64.whl", hash = "sha256:3a371dc00282c4b84246509a5ddc808e61b9864aa1eae9ecc92bb1268b82db4a", size = 2042858 }, + { url = "https://files.pythonhosted.org/packages/73/b4/9cd7b081fb0b1b4f8150507cd59d27b275c3e22ad60b35cb19ea0977d9b9/pydantic_core-2.33.1-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:f59295ecc75a1788af8ba92f2e8c6eeaa5a94c22fc4d151e8d9638814f85c8fc", size = 1873745 }, + { url = "https://files.pythonhosted.org/packages/e1/d7/9ddb7575d4321e40d0363903c2576c8c0c3280ebea137777e5ab58d723e3/pydantic_core-2.33.1-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:08530b8ac922003033f399128505f513e30ca770527cc8bbacf75a84fcc2c74b", size = 1904188 }, + { url = "https://files.pythonhosted.org/packages/d1/a8/3194ccfe461bb08da19377ebec8cb4f13c9bd82e13baebc53c5c7c39a029/pydantic_core-2.33.1-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bae370459da6a5466978c0eacf90690cb57ec9d533f8e63e564ef3822bfa04fe", size = 2083479 }, + { url = "https://files.pythonhosted.org/packages/42/c7/84cb569555d7179ca0b3f838cef08f66f7089b54432f5b8599aac6e9533e/pydantic_core-2.33.1-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e3de2777e3b9f4d603112f78006f4ae0acb936e95f06da6cb1a45fbad6bdb4b5", size = 2118415 }, + { url = "https://files.pythonhosted.org/packages/3b/67/72abb8c73e0837716afbb58a59cc9e3ae43d1aa8677f3b4bc72c16142716/pydantic_core-2.33.1-pp311-pypy311_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:3a64e81e8cba118e108d7126362ea30e021291b7805d47e4896e52c791be2761", size = 2079623 }, + { url = "https://files.pythonhosted.org/packages/0b/cd/c59707e35a47ba4cbbf153c3f7c56420c58653b5801b055dc52cccc8e2dc/pydantic_core-2.33.1-pp311-pypy311_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:52928d8c1b6bda03cc6d811e8923dffc87a2d3c8b3bfd2ce16471c7147a24850", size = 2250175 }, + { url = "https://files.pythonhosted.org/packages/84/32/e4325a6676b0bed32d5b084566ec86ed7fd1e9bcbfc49c578b1755bde920/pydantic_core-2.33.1-pp311-pypy311_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:1b30d92c9412beb5ac6b10a3eb7ef92ccb14e3f2a8d7732e2d739f58b3aa7544", size = 2254674 }, + { url = "https://files.pythonhosted.org/packages/12/6f/5596dc418f2e292ffc661d21931ab34591952e2843e7168ea5a52591f6ff/pydantic_core-2.33.1-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:f995719707e0e29f0f41a8aa3bcea6e761a36c9136104d3189eafb83f5cec5e5", size = 2080951 }, +] + +[[package]] +name = "pydantic-settings" +version = "2.8.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pydantic" }, + { name = "python-dotenv" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/88/82/c79424d7d8c29b994fb01d277da57b0a9b09cc03c3ff875f9bd8a86b2145/pydantic_settings-2.8.1.tar.gz", hash = "sha256:d5c663dfbe9db9d5e1c646b2e161da12f0d734d422ee56f567d0ea2cee4e8585", size = 83550 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0b/53/a64f03044927dc47aafe029c42a5b7aabc38dfb813475e0e1bf71c4a59d0/pydantic_settings-2.8.1-py3-none-any.whl", hash = "sha256:81942d5ac3d905f7f3ee1a70df5dfb62d5569c12f51a5a647defc1c3d9ee2e9c", size = 30839 }, +] + +[[package]] +name = "pypdfium2" +version = "4.30.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a1/14/838b3ba247a0ba92e4df5d23f2bea9478edcfd72b78a39d6ca36ccd84ad2/pypdfium2-4.30.0.tar.gz", hash = "sha256:48b5b7e5566665bc1015b9d69c1ebabe21f6aee468b509531c3c8318eeee2e16", size = 140239 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c7/9a/c8ff5cc352c1b60b0b97642ae734f51edbab6e28b45b4fcdfe5306ee3c83/pypdfium2-4.30.0-py3-none-macosx_10_13_x86_64.whl", hash = "sha256:b33ceded0b6ff5b2b93bc1fe0ad4b71aa6b7e7bd5875f1ca0cdfb6ba6ac01aab", size = 2837254 }, + { url = "https://files.pythonhosted.org/packages/21/8b/27d4d5409f3c76b985f4ee4afe147b606594411e15ac4dc1c3363c9a9810/pypdfium2-4.30.0-py3-none-macosx_11_0_arm64.whl", hash = "sha256:4e55689f4b06e2d2406203e771f78789bd4f190731b5d57383d05cf611d829de", size = 2707624 }, + { url = "https://files.pythonhosted.org/packages/11/63/28a73ca17c24b41a205d658e177d68e198d7dde65a8c99c821d231b6ee3d/pypdfium2-4.30.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4e6e50f5ce7f65a40a33d7c9edc39f23140c57e37144c2d6d9e9262a2a854854", size = 2793126 }, + { url = "https://files.pythonhosted.org/packages/d1/96/53b3ebf0955edbd02ac6da16a818ecc65c939e98fdeb4e0958362bd385c8/pypdfium2-4.30.0-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3d0dd3ecaffd0b6dbda3da663220e705cb563918249bda26058c6036752ba3a2", size = 2591077 }, + { url = "https://files.pythonhosted.org/packages/ec/ee/0394e56e7cab8b5b21f744d988400948ef71a9a892cbeb0b200d324ab2c7/pypdfium2-4.30.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cc3bf29b0db8c76cdfaac1ec1cde8edf211a7de7390fbf8934ad2aa9b4d6dfad", size = 2864431 }, + { url = "https://files.pythonhosted.org/packages/65/cd/3f1edf20a0ef4a212a5e20a5900e64942c5a374473671ac0780eaa08ea80/pypdfium2-4.30.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f1f78d2189e0ddf9ac2b7a9b9bd4f0c66f54d1389ff6c17e9fd9dc034d06eb3f", size = 2812008 }, + { url = "https://files.pythonhosted.org/packages/c8/91/2d517db61845698f41a2a974de90762e50faeb529201c6b3574935969045/pypdfium2-4.30.0-py3-none-musllinux_1_1_aarch64.whl", hash = "sha256:5eda3641a2da7a7a0b2f4dbd71d706401a656fea521b6b6faa0675b15d31a163", size = 6181543 }, + { url = "https://files.pythonhosted.org/packages/ba/c4/ed1315143a7a84b2c7616569dfb472473968d628f17c231c39e29ae9d780/pypdfium2-4.30.0-py3-none-musllinux_1_1_i686.whl", hash = "sha256:0dfa61421b5eb68e1188b0b2231e7ba35735aef2d867d86e48ee6cab6975195e", size = 6175911 }, + { url = "https://files.pythonhosted.org/packages/7a/c4/9e62d03f414e0e3051c56d5943c3bf42aa9608ede4e19dc96438364e9e03/pypdfium2-4.30.0-py3-none-musllinux_1_1_x86_64.whl", hash = "sha256:f33bd79e7a09d5f7acca3b0b69ff6c8a488869a7fab48fdf400fec6e20b9c8be", size = 6267430 }, + { url = "https://files.pythonhosted.org/packages/90/47/eda4904f715fb98561e34012826e883816945934a851745570521ec89520/pypdfium2-4.30.0-py3-none-win32.whl", hash = "sha256:ee2410f15d576d976c2ab2558c93d392a25fb9f6635e8dd0a8a3a5241b275e0e", size = 2775951 }, + { url = "https://files.pythonhosted.org/packages/25/bd/56d9ec6b9f0fc4e0d95288759f3179f0fcd34b1a1526b75673d2f6d5196f/pypdfium2-4.30.0-py3-none-win_amd64.whl", hash = "sha256:90dbb2ac07be53219f56be09961eb95cf2473f834d01a42d901d13ccfad64b4c", size = 2892098 }, + { url = "https://files.pythonhosted.org/packages/be/7a/097801205b991bc3115e8af1edb850d30aeaf0118520b016354cf5ccd3f6/pypdfium2-4.30.0-py3-none-win_arm64.whl", hash = "sha256:119b2969a6d6b1e8d55e99caaf05290294f2d0fe49c12a3f17102d01c441bd29", size = 2752118 }, +] + +[[package]] +name = "pytest" +version = "8.3.5" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, + { name = "exceptiongroup", marker = "python_full_version < '3.11'" }, + { name = "iniconfig" }, + { name = "packaging" }, + { name = "pluggy" }, + { name = "tomli", marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ae/3c/c9d525a414d506893f0cd8a8d0de7706446213181570cdbd766691164e40/pytest-8.3.5.tar.gz", hash = "sha256:f4efe70cc14e511565ac476b57c279e12a855b11f48f212af1080ef2263d3845", size = 1450891 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/30/3d/64ad57c803f1fa1e963a7946b6e0fea4a70df53c1a7fed304586539c2bac/pytest-8.3.5-py3-none-any.whl", hash = "sha256:c69214aa47deac29fad6c2a4f590b9c4a9fdb16a403176fe154b79c0b4d4d820", size = 343634 }, +] + +[[package]] +name = "python-dotenv" +version = "1.1.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/88/2c/7bb1416c5620485aa793f2de31d3df393d3686aa8a8506d11e10e13c5baf/python_dotenv-1.1.0.tar.gz", hash = "sha256:41f90bc6f5f177fb41f53e87666db362025010eb28f60a01c9143bfa33a2b2d5", size = 39920 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1e/18/98a99ad95133c6a6e2005fe89faedf294a748bd5dc803008059409ac9b1e/python_dotenv-1.1.0-py3-none-any.whl", hash = "sha256:d7c01d9e2293916c18baf562d95698754b0dbbb5e74d457c45d4f6561fb9d55d", size = 20256 }, +] + +[[package]] +name = "tomli" +version = "2.2.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/18/87/302344fed471e44a87289cf4967697d07e532f2421fdaf868a303cbae4ff/tomli-2.2.1.tar.gz", hash = "sha256:cd45e1dc79c835ce60f7404ec8119f2eb06d38b1deba146f07ced3bbc44505ff", size = 17175 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/43/ca/75707e6efa2b37c77dadb324ae7d9571cb424e61ea73fad7c56c2d14527f/tomli-2.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:678e4fa69e4575eb77d103de3df8a895e1591b48e740211bd1067378c69e8249", size = 131077 }, + { url = "https://files.pythonhosted.org/packages/c7/16/51ae563a8615d472fdbffc43a3f3d46588c264ac4f024f63f01283becfbb/tomli-2.2.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:023aa114dd824ade0100497eb2318602af309e5a55595f76b626d6d9f3b7b0a6", size = 123429 }, + { url = "https://files.pythonhosted.org/packages/f1/dd/4f6cd1e7b160041db83c694abc78e100473c15d54620083dbd5aae7b990e/tomli-2.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ece47d672db52ac607a3d9599a9d48dcb2f2f735c6c2d1f34130085bb12b112a", size = 226067 }, + { url = "https://files.pythonhosted.org/packages/a9/6b/c54ede5dc70d648cc6361eaf429304b02f2871a345bbdd51e993d6cdf550/tomli-2.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6972ca9c9cc9f0acaa56a8ca1ff51e7af152a9f87fb64623e31d5c83700080ee", size = 236030 }, + { url = "https://files.pythonhosted.org/packages/1f/47/999514fa49cfaf7a92c805a86c3c43f4215621855d151b61c602abb38091/tomli-2.2.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c954d2250168d28797dd4e3ac5cf812a406cd5a92674ee4c8f123c889786aa8e", size = 240898 }, + { url = "https://files.pythonhosted.org/packages/73/41/0a01279a7ae09ee1573b423318e7934674ce06eb33f50936655071d81a24/tomli-2.2.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:8dd28b3e155b80f4d54beb40a441d366adcfe740969820caf156c019fb5c7ec4", size = 229894 }, + { url = "https://files.pythonhosted.org/packages/55/18/5d8bc5b0a0362311ce4d18830a5d28943667599a60d20118074ea1b01bb7/tomli-2.2.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:e59e304978767a54663af13c07b3d1af22ddee3bb2fb0618ca1593e4f593a106", size = 245319 }, + { url = "https://files.pythonhosted.org/packages/92/a3/7ade0576d17f3cdf5ff44d61390d4b3febb8a9fc2b480c75c47ea048c646/tomli-2.2.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:33580bccab0338d00994d7f16f4c4ec25b776af3ffaac1ed74e0b3fc95e885a8", size = 238273 }, + { url = "https://files.pythonhosted.org/packages/72/6f/fa64ef058ac1446a1e51110c375339b3ec6be245af9d14c87c4a6412dd32/tomli-2.2.1-cp311-cp311-win32.whl", hash = "sha256:465af0e0875402f1d226519c9904f37254b3045fc5084697cefb9bdde1ff99ff", size = 98310 }, + { url = "https://files.pythonhosted.org/packages/6a/1c/4a2dcde4a51b81be3530565e92eda625d94dafb46dbeb15069df4caffc34/tomli-2.2.1-cp311-cp311-win_amd64.whl", hash = "sha256:2d0f2fdd22b02c6d81637a3c95f8cd77f995846af7414c5c4b8d0545afa1bc4b", size = 108309 }, + { url = "https://files.pythonhosted.org/packages/52/e1/f8af4c2fcde17500422858155aeb0d7e93477a0d59a98e56cbfe75070fd0/tomli-2.2.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:4a8f6e44de52d5e6c657c9fe83b562f5f4256d8ebbfe4ff922c495620a7f6cea", size = 132762 }, + { url = "https://files.pythonhosted.org/packages/03/b8/152c68bb84fc00396b83e7bbddd5ec0bd3dd409db4195e2a9b3e398ad2e3/tomli-2.2.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8d57ca8095a641b8237d5b079147646153d22552f1c637fd3ba7f4b0b29167a8", size = 123453 }, + { url = "https://files.pythonhosted.org/packages/c8/d6/fc9267af9166f79ac528ff7e8c55c8181ded34eb4b0e93daa767b8841573/tomli-2.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4e340144ad7ae1533cb897d406382b4b6fede8890a03738ff1683af800d54192", size = 233486 }, + { url = "https://files.pythonhosted.org/packages/5c/51/51c3f2884d7bab89af25f678447ea7d297b53b5a3b5730a7cb2ef6069f07/tomli-2.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:db2b95f9de79181805df90bedc5a5ab4c165e6ec3fe99f970d0e302f384ad222", size = 242349 }, + { url = "https://files.pythonhosted.org/packages/ab/df/bfa89627d13a5cc22402e441e8a931ef2108403db390ff3345c05253935e/tomli-2.2.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:40741994320b232529c802f8bc86da4e1aa9f413db394617b9a256ae0f9a7f77", size = 252159 }, + { url = "https://files.pythonhosted.org/packages/9e/6e/fa2b916dced65763a5168c6ccb91066f7639bdc88b48adda990db10c8c0b/tomli-2.2.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:400e720fe168c0f8521520190686ef8ef033fb19fc493da09779e592861b78c6", size = 237243 }, + { url = "https://files.pythonhosted.org/packages/b4/04/885d3b1f650e1153cbb93a6a9782c58a972b94ea4483ae4ac5cedd5e4a09/tomli-2.2.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:02abe224de6ae62c19f090f68da4e27b10af2b93213d36cf44e6e1c5abd19fdd", size = 259645 }, + { url = "https://files.pythonhosted.org/packages/9c/de/6b432d66e986e501586da298e28ebeefd3edc2c780f3ad73d22566034239/tomli-2.2.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:b82ebccc8c8a36f2094e969560a1b836758481f3dc360ce9a3277c65f374285e", size = 244584 }, + { url = "https://files.pythonhosted.org/packages/1c/9a/47c0449b98e6e7d1be6cbac02f93dd79003234ddc4aaab6ba07a9a7482e2/tomli-2.2.1-cp312-cp312-win32.whl", hash = "sha256:889f80ef92701b9dbb224e49ec87c645ce5df3fa2cc548664eb8a25e03127a98", size = 98875 }, + { url = "https://files.pythonhosted.org/packages/ef/60/9b9638f081c6f1261e2688bd487625cd1e660d0a85bd469e91d8db969734/tomli-2.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:7fc04e92e1d624a4a63c76474610238576942d6b8950a2d7f908a340494e67e4", size = 109418 }, + { url = "https://files.pythonhosted.org/packages/04/90/2ee5f2e0362cb8a0b6499dc44f4d7d48f8fff06d28ba46e6f1eaa61a1388/tomli-2.2.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f4039b9cbc3048b2416cc57ab3bda989a6fcf9b36cf8937f01a6e731b64f80d7", size = 132708 }, + { url = "https://files.pythonhosted.org/packages/c0/ec/46b4108816de6b385141f082ba99e315501ccd0a2ea23db4a100dd3990ea/tomli-2.2.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:286f0ca2ffeeb5b9bd4fcc8d6c330534323ec51b2f52da063b11c502da16f30c", size = 123582 }, + { url = "https://files.pythonhosted.org/packages/a0/bd/b470466d0137b37b68d24556c38a0cc819e8febe392d5b199dcd7f578365/tomli-2.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a92ef1a44547e894e2a17d24e7557a5e85a9e1d0048b0b5e7541f76c5032cb13", size = 232543 }, + { url = "https://files.pythonhosted.org/packages/d9/e5/82e80ff3b751373f7cead2815bcbe2d51c895b3c990686741a8e56ec42ab/tomli-2.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9316dc65bed1684c9a98ee68759ceaed29d229e985297003e494aa825ebb0281", size = 241691 }, + { url = "https://files.pythonhosted.org/packages/05/7e/2a110bc2713557d6a1bfb06af23dd01e7dde52b6ee7dadc589868f9abfac/tomli-2.2.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e85e99945e688e32d5a35c1ff38ed0b3f41f43fad8df0bdf79f72b2ba7bc5272", size = 251170 }, + { url = "https://files.pythonhosted.org/packages/64/7b/22d713946efe00e0adbcdfd6d1aa119ae03fd0b60ebed51ebb3fa9f5a2e5/tomli-2.2.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ac065718db92ca818f8d6141b5f66369833d4a80a9d74435a268c52bdfa73140", size = 236530 }, + { url = "https://files.pythonhosted.org/packages/38/31/3a76f67da4b0cf37b742ca76beaf819dca0ebef26d78fc794a576e08accf/tomli-2.2.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:d920f33822747519673ee656a4b6ac33e382eca9d331c87770faa3eef562aeb2", size = 258666 }, + { url = "https://files.pythonhosted.org/packages/07/10/5af1293da642aded87e8a988753945d0cf7e00a9452d3911dd3bb354c9e2/tomli-2.2.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a198f10c4d1b1375d7687bc25294306e551bf1abfa4eace6650070a5c1ae2744", size = 243954 }, + { url = "https://files.pythonhosted.org/packages/5b/b9/1ed31d167be802da0fc95020d04cd27b7d7065cc6fbefdd2f9186f60d7bd/tomli-2.2.1-cp313-cp313-win32.whl", hash = "sha256:d3f5614314d758649ab2ab3a62d4f2004c825922f9e370b29416484086b264ec", size = 98724 }, + { url = "https://files.pythonhosted.org/packages/c7/32/b0963458706accd9afcfeb867c0f9175a741bf7b19cd424230714d722198/tomli-2.2.1-cp313-cp313-win_amd64.whl", hash = "sha256:a38aa0308e754b0e3c67e344754dff64999ff9b513e691d0e786265c93583c69", size = 109383 }, + { url = "https://files.pythonhosted.org/packages/6e/c2/61d3e0f47e2b74ef40a68b9e6ad5984f6241a942f7cd3bbfbdbd03861ea9/tomli-2.2.1-py3-none-any.whl", hash = "sha256:cb55c73c5f4408779d0cf3eef9f762b9c9f147a77de7b258bef0a5628adc85cc", size = 14257 }, +] + +[[package]] +name = "typing-extensions" +version = "4.13.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/76/ad/cd3e3465232ec2416ae9b983f27b9e94dc8171d56ac99b345319a9475967/typing_extensions-4.13.1.tar.gz", hash = "sha256:98795af00fb9640edec5b8e31fc647597b4691f099ad75f469a2616be1a76dff", size = 106633 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/df/c5/e7a0b0f5ed69f94c8ab7379c599e6036886bffcde609969a5325f47f1332/typing_extensions-4.13.1-py3-none-any.whl", hash = "sha256:4b6cf02909eb5495cfbc3f6e8fd49217e6cc7944e145cdda8caa3734777f9e69", size = 45739 }, +] + +[[package]] +name = "typing-inspection" +version = "0.4.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/82/5c/e6082df02e215b846b4b8c0b887a64d7d08ffaba30605502639d44c06b82/typing_inspection-0.4.0.tar.gz", hash = "sha256:9765c87de36671694a67904bf2c96e395be9c6439bb6c87b5142569dcdd65122", size = 76222 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/31/08/aa4fdfb71f7de5176385bd9e90852eaf6b5d622735020ad600f2bab54385/typing_inspection-0.4.0-py3-none-any.whl", hash = "sha256:50e72559fcd2a6367a19f7a7e610e6afcb9fac940c650290eed893d61386832f", size = 14125 }, +] From c61a9d955a860c0eeb87c3bed0bc31633b6d2ee4 Mon Sep 17 00:00:00 2001 From: nischith Date: Tue, 15 Apr 2025 15:14:13 +0530 Subject: [PATCH 14/26] fixed some dependencies --- pyproject.toml | 2 +- uv.lock | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 50 insertions(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 5a90a3f..074f8bb 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -24,7 +24,7 @@ dependencies = [ "pydantic-settings>=2.2.1,<3.0.0", "numpy>=2.2.4", "pillow>=10.3.0,<11.0.0", - "pytest>=8.3.5",, + "pytest>=8.3.5", "mypy>=1.15.0", ] diff --git a/uv.lock b/uv.lock index 8f2d7bc..c6174da 100644 --- a/uv.lock +++ b/uv.lock @@ -50,6 +50,53 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/2c/e1/e6716421ea10d38022b952c159d5161ca1193197fb744506875fbb87ea7b/iniconfig-2.1.0-py3-none-any.whl", hash = "sha256:9deba5723312380e77435581c6bf4935c94cbfab9b1ed33ef8d238ea168eb760", size = 6050 }, ] +[[package]] +name = "mypy" +version = "1.15.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "mypy-extensions" }, + { name = "tomli", marker = "python_full_version < '3.11'" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ce/43/d5e49a86afa64bd3839ea0d5b9c7103487007d728e1293f52525d6d5486a/mypy-1.15.0.tar.gz", hash = "sha256:404534629d51d3efea5c800ee7c42b72a6554d6c400e6a79eafe15d11341fd43", size = 3239717 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/68/f8/65a7ce8d0e09b6329ad0c8d40330d100ea343bd4dd04c4f8ae26462d0a17/mypy-1.15.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:979e4e1a006511dacf628e36fadfecbcc0160a8af6ca7dad2f5025529e082c13", size = 10738433 }, + { url = "https://files.pythonhosted.org/packages/b4/95/9c0ecb8eacfe048583706249439ff52105b3f552ea9c4024166c03224270/mypy-1.15.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c4bb0e1bd29f7d34efcccd71cf733580191e9a264a2202b0239da95984c5b559", size = 9861472 }, + { url = "https://files.pythonhosted.org/packages/84/09/9ec95e982e282e20c0d5407bc65031dfd0f0f8ecc66b69538296e06fcbee/mypy-1.15.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:be68172e9fd9ad8fb876c6389f16d1c1b5f100ffa779f77b1fb2176fcc9ab95b", size = 11611424 }, + { url = "https://files.pythonhosted.org/packages/78/13/f7d14e55865036a1e6a0a69580c240f43bc1f37407fe9235c0d4ef25ffb0/mypy-1.15.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c7be1e46525adfa0d97681432ee9fcd61a3964c2446795714699a998d193f1a3", size = 12365450 }, + { url = "https://files.pythonhosted.org/packages/48/e1/301a73852d40c241e915ac6d7bcd7fedd47d519246db2d7b86b9d7e7a0cb/mypy-1.15.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:2e2c2e6d3593f6451b18588848e66260ff62ccca522dd231cd4dd59b0160668b", size = 12551765 }, + { url = "https://files.pythonhosted.org/packages/77/ba/c37bc323ae5fe7f3f15a28e06ab012cd0b7552886118943e90b15af31195/mypy-1.15.0-cp310-cp310-win_amd64.whl", hash = "sha256:6983aae8b2f653e098edb77f893f7b6aca69f6cffb19b2cc7443f23cce5f4828", size = 9274701 }, + { url = "https://files.pythonhosted.org/packages/03/bc/f6339726c627bd7ca1ce0fa56c9ae2d0144604a319e0e339bdadafbbb599/mypy-1.15.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2922d42e16d6de288022e5ca321cd0618b238cfc5570e0263e5ba0a77dbef56f", size = 10662338 }, + { url = "https://files.pythonhosted.org/packages/e2/90/8dcf506ca1a09b0d17555cc00cd69aee402c203911410136cd716559efe7/mypy-1.15.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2ee2d57e01a7c35de00f4634ba1bbf015185b219e4dc5909e281016df43f5ee5", size = 9787540 }, + { url = "https://files.pythonhosted.org/packages/05/05/a10f9479681e5da09ef2f9426f650d7b550d4bafbef683b69aad1ba87457/mypy-1.15.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:973500e0774b85d9689715feeffcc980193086551110fd678ebe1f4342fb7c5e", size = 11538051 }, + { url = "https://files.pythonhosted.org/packages/e9/9a/1f7d18b30edd57441a6411fcbc0c6869448d1a4bacbaee60656ac0fc29c8/mypy-1.15.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5a95fb17c13e29d2d5195869262f8125dfdb5c134dc8d9a9d0aecf7525b10c2c", size = 12286751 }, + { url = "https://files.pythonhosted.org/packages/72/af/19ff499b6f1dafcaf56f9881f7a965ac2f474f69f6f618b5175b044299f5/mypy-1.15.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:1905f494bfd7d85a23a88c5d97840888a7bd516545fc5aaedff0267e0bb54e2f", size = 12421783 }, + { url = "https://files.pythonhosted.org/packages/96/39/11b57431a1f686c1aed54bf794870efe0f6aeca11aca281a0bd87a5ad42c/mypy-1.15.0-cp311-cp311-win_amd64.whl", hash = "sha256:c9817fa23833ff189db061e6d2eff49b2f3b6ed9856b4a0a73046e41932d744f", size = 9265618 }, + { url = "https://files.pythonhosted.org/packages/98/3a/03c74331c5eb8bd025734e04c9840532226775c47a2c39b56a0c8d4f128d/mypy-1.15.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:aea39e0583d05124836ea645f412e88a5c7d0fd77a6d694b60d9b6b2d9f184fd", size = 10793981 }, + { url = "https://files.pythonhosted.org/packages/f0/1a/41759b18f2cfd568848a37c89030aeb03534411eef981df621d8fad08a1d/mypy-1.15.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2f2147ab812b75e5b5499b01ade1f4a81489a147c01585cda36019102538615f", size = 9749175 }, + { url = "https://files.pythonhosted.org/packages/12/7e/873481abf1ef112c582db832740f4c11b2bfa510e829d6da29b0ab8c3f9c/mypy-1.15.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ce436f4c6d218a070048ed6a44c0bbb10cd2cc5e272b29e7845f6a2f57ee4464", size = 11455675 }, + { url = "https://files.pythonhosted.org/packages/b3/d0/92ae4cde706923a2d3f2d6c39629134063ff64b9dedca9c1388363da072d/mypy-1.15.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8023ff13985661b50a5928fc7a5ca15f3d1affb41e5f0a9952cb68ef090b31ee", size = 12410020 }, + { url = "https://files.pythonhosted.org/packages/46/8b/df49974b337cce35f828ba6fda228152d6db45fed4c86ba56ffe442434fd/mypy-1.15.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:1124a18bc11a6a62887e3e137f37f53fbae476dc36c185d549d4f837a2a6a14e", size = 12498582 }, + { url = "https://files.pythonhosted.org/packages/13/50/da5203fcf6c53044a0b699939f31075c45ae8a4cadf538a9069b165c1050/mypy-1.15.0-cp312-cp312-win_amd64.whl", hash = "sha256:171a9ca9a40cd1843abeca0e405bc1940cd9b305eaeea2dda769ba096932bb22", size = 9366614 }, + { url = "https://files.pythonhosted.org/packages/6a/9b/fd2e05d6ffff24d912f150b87db9e364fa8282045c875654ce7e32fffa66/mypy-1.15.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:93faf3fdb04768d44bf28693293f3904bbb555d076b781ad2530214ee53e3445", size = 10788592 }, + { url = "https://files.pythonhosted.org/packages/74/37/b246d711c28a03ead1fd906bbc7106659aed7c089d55fe40dd58db812628/mypy-1.15.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:811aeccadfb730024c5d3e326b2fbe9249bb7413553f15499a4050f7c30e801d", size = 9753611 }, + { url = "https://files.pythonhosted.org/packages/a6/ac/395808a92e10cfdac8003c3de9a2ab6dc7cde6c0d2a4df3df1b815ffd067/mypy-1.15.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:98b7b9b9aedb65fe628c62a6dc57f6d5088ef2dfca37903a7d9ee374d03acca5", size = 11438443 }, + { url = "https://files.pythonhosted.org/packages/d2/8b/801aa06445d2de3895f59e476f38f3f8d610ef5d6908245f07d002676cbf/mypy-1.15.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c43a7682e24b4f576d93072216bf56eeff70d9140241f9edec0c104d0c515036", size = 12402541 }, + { url = "https://files.pythonhosted.org/packages/c7/67/5a4268782eb77344cc613a4cf23540928e41f018a9a1ec4c6882baf20ab8/mypy-1.15.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:baefc32840a9f00babd83251560e0ae1573e2f9d1b067719479bfb0e987c6357", size = 12494348 }, + { url = "https://files.pythonhosted.org/packages/83/3e/57bb447f7bbbfaabf1712d96f9df142624a386d98fb026a761532526057e/mypy-1.15.0-cp313-cp313-win_amd64.whl", hash = "sha256:b9378e2c00146c44793c98b8d5a61039a048e31f429fb0eb546d93f4b000bedf", size = 9373648 }, + { url = "https://files.pythonhosted.org/packages/09/4e/a7d65c7322c510de2c409ff3828b03354a7c43f5a8ed458a7a131b41c7b9/mypy-1.15.0-py3-none-any.whl", hash = "sha256:5469affef548bd1895d86d3bf10ce2b44e33d86923c29e4d675b3e323437ea3e", size = 2221777 }, +] + +[[package]] +name = "mypy-extensions" +version = "1.0.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/98/a4/1ab47638b92648243faf97a5aeb6ea83059cc3624972ab6b8d2316078d3f/mypy_extensions-1.0.0.tar.gz", hash = "sha256:75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782", size = 4433 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2a/e2/5d3f6ada4297caebe1a2add3b126fe800c96f56dbe5d1988a2cbe0b267aa/mypy_extensions-1.0.0-py3-none-any.whl", hash = "sha256:4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d", size = 4695 }, +] + [[package]] name = "numpy" version = "2.2.4" @@ -127,6 +174,7 @@ version = "0.6.2" source = { editable = "." } dependencies = [ { name = "click" }, + { name = "mypy" }, { name = "numpy" }, { name = "pillow" }, { name = "pydantic" }, @@ -138,6 +186,7 @@ dependencies = [ [package.metadata] requires-dist = [ { name = "click", specifier = ">=8.1.8" }, + { name = "mypy", specifier = ">=1.15.0" }, { name = "numpy", specifier = ">=2.2.4" }, { name = "pillow", specifier = ">=10.3.0,<11.0.0" }, { name = "pydantic", specifier = ">=2.7.1,<3.0.0" }, From 0ca637b27bb246e2674dbde4021fc235035d8fa0 Mon Sep 17 00:00:00 2001 From: nischith Date: Tue, 15 Apr 2025 17:02:02 +0530 Subject: [PATCH 15/26] fixed all mypy errors --- mypy.ini | 4 + pdftext/pdf/pages.py | 344 +++++++++++++++++--------------- pdftext/pdf/utils.py | 2 +- pdftext/schema.py | 3 +- pdftext/scripts/extract_text.py | 100 +++++++--- pyproject.toml | 7 + 6 files changed, 270 insertions(+), 190 deletions(-) diff --git a/mypy.ini b/mypy.ini index 9093bd6..c272707 100644 --- a/mypy.ini +++ b/mypy.ini @@ -18,4 +18,8 @@ ignore_missing_imports = True # Exclude root level extract_text.py file [mypy-extract_text] +ignore_errors = True + +# Ignore errors in pdftext.tables +[mypy-pdftext.tables] ignore_errors = True \ No newline at end of file diff --git a/pdftext/pdf/pages.py b/pdftext/pdf/pages.py index e4c440c..1add83b 100644 --- a/pdftext/pdf/pages.py +++ b/pdftext/pdf/pages.py @@ -2,20 +2,34 @@ import math import statistics -from typing import List +from typing import Optional, cast import unicodedata import io import pypdfium2 as pdfium from pdftext.pdf.chars import get_chars, deduplicate_chars -from pdftext.pdf.utils import flatten, transform_bbox, remove_wrong_bboxes -from pdftext.schema import Blocks, Chars, Line, Lines, Pages, Span, Spans +from pdftext.pdf.utils import ( + Bbox, + flatten, + transform_bbox, + remove_wrong_bboxes, +) +from pdftext.schema import ( + Blocks, + Chars, + Line, + Lines, + Pages, + Span, + Spans, + Block, + Page, +) import base64 -from pdftext.schema import Page -def is_math_symbol(char): +def is_math_symbol(char: str) -> bool: if len(char) != 1: return False @@ -25,9 +39,9 @@ def is_math_symbol(char): def assign_scripts( lines: Lines, height_threshold: float = 0.8, line_distance_threshold: float = 0.1 -): +) -> None: for line in lines: - prev_span = None + prev_span: Optional[Span] = None if len(line["spans"]) < 2: continue @@ -36,7 +50,7 @@ def assign_scripts( continue for i, span in enumerate(line["spans"]): - is_first = i == 0 or not prev_span["text"].strip() + is_first = i == 0 or not (prev_span and prev_span["text"].strip()) is_last = ( i == len(line["spans"]) - 1 or not line["spans"][i + 1]["text"].strip() ) @@ -54,7 +68,8 @@ def assign_scripts( ) prev_fullheight = ( is_first - or span_height / max(1, prev_span["bbox"].height) <= height_threshold + or not prev_span + or (span_height / max(1, prev_span["bbox"].height) <= height_threshold) ) above = any( @@ -65,7 +80,9 @@ def assign_scripts( if j != i ] ) - prev_above = is_first or span_top < prev_span["bbox"].y_start + prev_above = ( + is_first or not prev_span or span_top < prev_span["bbox"].y_start + ) next_above = is_last or span_top < line["spans"][i + 1]["bbox"].y_start below = any( @@ -76,7 +93,9 @@ def assign_scripts( if j != i ] ) - prev_below = is_first or span_bottom > prev_span["bbox"].y_end + prev_below = ( + is_first or not prev_span or span_bottom > prev_span["bbox"].y_end + ) next_below = is_last or span_bottom > line["spans"][i + 1]["bbox"].y_end span_text = span["text"].strip() @@ -122,102 +141,89 @@ def get_spans( line_distance_threshold: float = 0.1, ) -> Spans: spans: Spans = [] - span: Span = None - avg_char_width = None - sum_char_widths = 0 - prev_char_bbox = None - - def span_break(): - spans.append( - { - "bbox": char["bbox"], - "text": char["char"], - "rotation": char["rotation"], - "font": char["font"], - "char_start_idx": char["char_idx"], - "char_end_idx": char["char_idx"], - "chars": [char], - "url": "", - } - ) + avg_char_width: Optional[float] = None + sum_char_widths = 0.0 + prev_char_bbox: Optional[Bbox] = None + + def span_break() -> None: + nonlocal spans, prev_char_bbox, sum_char_widths + new_span_dict = { + "bbox": char["bbox"], + "text": char["char"], + "rotation": char["rotation"], + "font": char["font"], + "char_start_idx": char["char_idx"], + "char_end_idx": char["char_idx"], + "chars": [char], + "url": "", + "superscript": False, + "subscript": False, + } + spans.append(cast(Span, new_span_dict)) + sum_char_widths = char["bbox"].width + prev_char_bbox = char["bbox"] for char in chars: - if spans: - span = spans[-1] + current_span = spans[-1] if spans else None - if not span: + if not current_span: span_break() - sum_char_widths = char["bbox"].width - prev_char_bbox = char["bbox"] continue - # we break on any change in font info if any( - char["font"][k] != span["font"][k] + char["font"][k] != current_span["font"][k] for k in ["name", "flags", "size", "weight", "color"] ): span_break() - sum_char_widths = char["bbox"].width - prev_char_bbox = char["bbox"] continue - if char["rotation"] != span["rotation"]: + if char["rotation"] != current_span["rotation"]: span_break() - sum_char_widths = char["bbox"].width - prev_char_bbox = char["bbox"] continue - # we break on hyphenation or newline - if span["text"].endswith("\x02") or span["text"].endswith("\n"): + if current_span["text"].endswith("\x02") or current_span["text"].endswith("\n"): span_break() - sum_char_widths = char["bbox"].width - prev_char_bbox = char["bbox"] continue - # Character is likely a superscript if all( [ - char["bbox"][1] + char["bbox"].y_start < ( - span["bbox"][1] - span["bbox"].height * line_distance_threshold - ), # char top is above span - char["bbox"][3] - < (span["bbox"].height * superscript_height_threshold) - + span["bbox"][1], # char bottom is not full line height - char["bbox"][0] > span["bbox"][2], # char is to the right of the span + current_span["bbox"].y_start + - current_span["bbox"].height * line_distance_threshold + ), + char["bbox"].y_end + < (current_span["bbox"].height * superscript_height_threshold) + current_span["bbox"].y_start, + char["bbox"].x_start > current_span["bbox"].x_end, ] ): span_break() - sum_char_widths = char["bbox"].width - prev_char_bbox = char["bbox"] continue if prev_char_bbox: - avg_char_width = sum_char_widths / len(span["chars"]) - if char["bbox"].horizontal_distance(prev_char_bbox) > 1.5 * avg_char_width: - span_break() - sum_char_widths = char["bbox"].width - prev_char_bbox = char["bbox"] - continue + if current_span["chars"]: + avg_char_width = sum_char_widths / len(current_span["chars"]) + if ( + char["bbox"].horizontal_distance(prev_char_bbox) + > 1.5 * avg_char_width + ): + span_break() + continue if char["bbox"].overlap_y(prev_char_bbox) == 0: span_break() - sum_char_widths = char["bbox"].width - prev_char_bbox = char["bbox"] continue - if char["bbox"].overlap_y(span["bbox"]) < 0.1 * min( - char["bbox"].height, span["bbox"].height + if char["bbox"].overlap_y(current_span["bbox"]) < 0.1 * min( + char["bbox"].height, current_span["bbox"].height ): span_break() - sum_char_widths = char["bbox"].width - prev_char_bbox = char["bbox"] continue - span["text"] += char["char"] - span["char_end_idx"] = char["char_idx"] - span["bbox"] = span["bbox"].merge(char["bbox"]) - span["chars"].append(char) + current_span["text"] += char["char"] + current_span["char_end_idx"] = char["char_idx"] + current_span["bbox"] = current_span["bbox"].merge(char["bbox"]) + current_span["chars"].append(char) prev_char_bbox = char["bbox"] sum_char_widths += char["bbox"].width @@ -226,37 +232,38 @@ def span_break(): def get_lines(spans: Spans) -> Lines: lines: Lines = [] - line: Line = None + current_line: Optional[Line] = None - def line_break(): + def line_break() -> None: + nonlocal lines lines.append( {"spans": [span], "bbox": span["bbox"], "rotation": span["rotation"]} ) for span in spans: - if lines: - line = lines[-1] + current_line = lines[-1] if lines else None - if not line: + if not current_line: line_break() continue - # we break if the previous span ends with a linebreak or hyphenation - if any(line["spans"][-1]["text"].endswith(suffix) for suffix in ["\n", "\x02"]): + if any( + current_line["spans"][-1]["text"].endswith(suffix) + for suffix in ["\n", "\x02"] + ): line_break() continue - if span["rotation"] != line["rotation"]: + if span["rotation"] != current_line["rotation"]: line_break() continue - # sometimes pdfium doesn't inject a linebreak, so we check the span positions - if span["bbox"].y_start > line["bbox"].y_end: + if span["bbox"].y_start > current_line["bbox"].y_end: line_break() continue - line["spans"].append(span) - line["bbox"] = line["bbox"].merge(span["bbox"]) + current_line["spans"].append(span) + current_line["bbox"] = current_line["bbox"].merge(span["bbox"]) return lines @@ -265,43 +272,44 @@ def get_blocks(lines: Lines) -> Blocks: if not lines: return [] - x_diffs = [] - y_diffs = [] + x_diffs: list[float] = [] + y_diffs: list[float] = [] for i in range(len(lines) - 1): - prev_center = lines[i]["bbox"].center - curr_center = lines[i + 1]["bbox"].center + prev_bbox = lines[i]["bbox"] + curr_bbox = lines[i + 1]["bbox"] + prev_center = prev_bbox.center + curr_center = curr_bbox.center x_diffs.append(abs(curr_center[0] - prev_center[0])) y_diffs.append(abs(curr_center[1] - prev_center[1])) - median_x_gap = 0.1 - if x_diffs: - median_x_gap = statistics.median(x_diffs) or median_x_gap - median_y_gap = 0.1 - if y_diffs: - median_y_gap = statistics.median(y_diffs) or median_y_gap + median_x_gap = statistics.median(x_diffs) if x_diffs else 0.1 + median_y_gap = statistics.median(y_diffs) if y_diffs else 0.1 tolerance_factor = 1.5 allowed_x_gap = median_x_gap * tolerance_factor allowed_y_gap = median_y_gap * tolerance_factor - def block_merge(): - block["lines"].append(line) - block["bbox"] = block["bbox"].merge(line["bbox"]) + def block_merge() -> None: + nonlocal current_block, line + current_block["lines"].append(line) + current_block["bbox"] = current_block["bbox"].merge(line["bbox"]) blocks: Blocks = [] for line in lines: - if not blocks: - # First block + current_block = blocks[-1] if blocks else None + + if not current_block: blocks.append( {"lines": [line], "bbox": line["bbox"], "rotation": line["rotation"]} ) continue - block = blocks[-1] - last_line = block["lines"][-1] + last_line = current_block["lines"][-1] + last_bbox = last_line["bbox"] + current_bbox = line["bbox"] - last_center = last_line["bbox"].center - current_center = line["bbox"].center + last_center = last_bbox.center + current_center = current_bbox.center x_diff = abs(current_center[0] - last_center[0]) y_diff = abs(current_center[1] - last_center[1]) @@ -314,7 +322,7 @@ def block_merge(): # we make an exception for the first line w.r.t the x diff, because the first line is usually indented line_x_indented_start = last_line["bbox"].x_start > line["bbox"].x_start if ( - len(block["lines"]) == 1 + len(current_block["lines"]) == 1 and line_x_indented_start and y_diff <= allowed_y_gap ): @@ -335,20 +343,20 @@ def block_merge(): block_merge() continue - # we also merge when we see the current line intersecting the previous block - if block["bbox"].intersection_pct(line["bbox"]) > 0: + if current_block["bbox"].intersection_pct(line["bbox"]) > 0: block_merge() continue - blocks.append({"lines": [line], "bbox": line["bbox"]}) + blocks.append( + {"lines": [line], "bbox": line["bbox"], "rotation": line["rotation"]} + ) - # we do one last pass of merging overlapping blocks in the PDF reading order - merged_blocks = [] - for i in range(len(blocks)): - if not merged_blocks: - merged_blocks.append(blocks[i]) - continue + merged_blocks: Blocks = [] + if not blocks: + return [] + merged_blocks.append(blocks[0]) + for i in range(1, len(blocks)): prev_block = merged_blocks[-1] curr_block = blocks[i] @@ -356,56 +364,62 @@ def block_merge(): merged_blocks[-1] = { "lines": prev_block["lines"] + curr_block["lines"], "bbox": prev_block["bbox"].merge(curr_block["bbox"]), + "rotation": prev_block["rotation"], } else: merged_blocks.append(curr_block) return merged_blocks + def get_image_bboxes( - page: pdfium.PdfPage, - page_bbox: list[float], - page_rotation: int - ): + page: pdfium.PdfPage, page_bbox_list: list[float], page_rotation: int +) -> list[Bbox]: objects = list(page.get_objects()) - text_bboxes = [] + text_bboxes: list[Bbox] = [] non_text_objects = [] for obj in objects: - if obj.type in (0, 5): continue if obj.type in (2, 3, 4): non_text_objects.append(obj) - continue + continue text_bboxes.append( - transform_bbox(page_bbox, page_rotation, obj.get_pos()) + transform_bbox(page_bbox_list, page_rotation, obj.get_pos()) ) - for obj in objects: - + for obj in objects: if obj.type not in (0, 5): continue - obj_bbox = transform_bbox(page_bbox, page_rotation, obj.get_pos()) - - # check if the object bbox is intersecting any of the text bboxes - flag = any(obj_bbox.intersection_area(text_bbox) > 0 for text_bbox in text_bboxes) + obj_bbox = transform_bbox(page_bbox_list, page_rotation, obj.get_pos()) + overlaps_with_text = any( + text_bbox and obj_bbox.intersection_area(text_bbox) > 0 + for text_bbox in text_bboxes + ) - if not flag: + if not overlaps_with_text: non_text_objects.append(obj) - continue + continue - non_text_bboxes = [transform_bbox(page_bbox, page_rotation, obj.get_pos()) for obj in non_text_objects] + non_text_bboxes: list[Bbox] = [ + transform_bbox(page_bbox_list, page_rotation, obj.get_pos()) + for obj in non_text_objects + ] - # TODO - Maybe eliminate wrong bboxes - non_text_bboxes = remove_wrong_bboxes(non_text_bboxes, page_bbox, page) + filtered_non_text_bboxes: list[Optional[Bbox]] = remove_wrong_bboxes( + non_text_bboxes, page_bbox_list, page + ) + valid_non_text_bboxes: list[Bbox] = [ + bbox for bbox in filtered_non_text_bboxes if bbox is not None + ] - return non_text_bboxes + return valid_non_text_bboxes def get_pages( @@ -420,25 +434,27 @@ def get_pages( pages: Pages = [] for page_idx in page_range: - page = pdf.get_page(page_idx) + page_obj = pdf.get_page(page_idx) if flatten_pdf: - flatten(page) - page = pdf.get_page(page_idx) + flatten(page_obj) + page_obj = pdf.get_page(page_idx) + + textpage = page_obj.get_textpage() - textpage = page.get_textpage() + page_bbox_list: list[float] = page_obj.get_bbox() + page_width = math.ceil(abs(page_bbox_list[2] - page_bbox_list[0])) + page_height = math.ceil(abs(page_bbox_list[1] - page_bbox_list[3])) - page_bbox: List[float] = page.get_bbox() - page_width = math.ceil(abs(page_bbox[2] - page_bbox[0])) - page_height = math.ceil(abs(page_bbox[1] - page_bbox[3])) + page_bbox: Bbox = Bbox(bbox=page_bbox_list) page_rotation = 0 try: - page_rotation = page.get_rotation() - except: + page_rotation = page_obj.get_rotation() + except Exception: pass chars = deduplicate_chars( - get_chars(textpage, page_bbox, page_rotation, quote_loosebox) + get_chars(textpage, page_bbox_list, page_rotation, quote_loosebox) ) spans = get_spans( chars, @@ -453,33 +469,35 @@ def get_pages( ) blocks = get_blocks(lines) - ## Adding image - img = page.render(scale=page_scale) - img = img.to_pil() - - images = get_image_bboxes(page, page_bbox, page_rotation) + image_bboxes = get_image_bboxes(page_obj, page_bbox_list, page_rotation) + img_render = page_obj.render(scale=page_scale) + pil_image = img_render.to_pil() bytes_arr = io.BytesIO() + img_base64 = "" try: - img.save(bytes_arr, format="PNG") + pil_image.save(bytes_arr, format="PNG") bytes_arr.seek(0) img_base64 = base64.b64encode(bytes_arr.getvalue()).decode("utf-8") - - pages.append( - { - "page": page_idx, - "bbox": page_bbox, - "width": page_width, - "height": page_height, - "rotation": page_rotation, - "blocks": blocks, - "scale": page_scale, - "page_image": img_base64, - "images": images - } - ) + except Exception as e: + print(f"Error processing image for page {page_idx}: {e}") finally: bytes_arr.close() - img.close() + if "pil_image" in locals() and pil_image: + pil_image.close() + + page_data: Page = { + "page": page_idx, + "bbox": page_bbox, + "width": page_width, + "height": page_height, + "rotation": page_rotation, + "blocks": blocks, + "scale": page_scale, + "page_image": img_base64, + "refs": None, + "images": image_bboxes, + } + pages.append(page_data) return pages diff --git a/pdftext/pdf/utils.py b/pdftext/pdf/utils.py index 87ad07a..36b3c00 100644 --- a/pdftext/pdf/utils.py +++ b/pdftext/pdf/utils.py @@ -50,7 +50,7 @@ def remove_wrong_bboxes( # page_idx: int, ) -> List[Optional[Bbox]]: - page_width, page_height, page_rotation, bl_origin = get_page_properties(page_bbox, page, rotate=True) + _, _, page_rotation, _ = get_page_properties(page_bbox, page, rotate=True) # get_pos -> get_bbox. Hopefully correct. transformed_page_bbox = transform_bbox(page_bbox, page_rotation, page.get_bbox()) diff --git a/pdftext/schema.py b/pdftext/schema.py index 5d711db..a58d7d8 100644 --- a/pdftext/schema.py +++ b/pdftext/schema.py @@ -195,9 +195,10 @@ class Page(TypedDict): height: int blocks: List[Block] rotation: int - refs: List[Reference] + refs: Optional[List[Reference]] scale: int page_image: str + images: List[Bbox] class TableCell(TypedDict): diff --git a/pdftext/scripts/extract_text.py b/pdftext/scripts/extract_text.py index af6db1a..b6866f2 100644 --- a/pdftext/scripts/extract_text.py +++ b/pdftext/scripts/extract_text.py @@ -1,50 +1,100 @@ import json from pathlib import Path -from typing import List +from typing import List, Any import click import pypdfium2 as pdfium from pdftext.extraction import plain_text_output, dictionary_output +from pdftext.schema import Pages + def parse_range_str(range_str: str) -> List[int]: range_lst = range_str.split(",") - page_lst = [] + page_lst: List[int] = [] for i in range_lst: if "-" in i: start, end = i.split("-") - page_lst += list(range(int(start), int(end) + 1)) + page_lst.extend(list(range(int(start), int(end) + 1))) else: page_lst.append(int(i)) - page_lst = sorted(list(set(page_lst))) # Deduplicate page numbers and sort in order + # Deduplicate page numbers and sort in order + page_lst = sorted(list(set(page_lst))) return page_lst + @click.command(help="Extract plain text or JSON from PDF.") @click.argument("pdf_path", type=click.Path(exists=True)) -@click.option("--out_path", type=click.Path(exists=False), help="Path to the output text file, defaults to stdout") -@click.option("--json", is_flag=True, help="Output json instead of plain text", default=False) -@click.option("--sort", is_flag=True, help="Attempt to sort the text by reading order", default=False) -@click.option("--keep_hyphens", is_flag=True, help="Keep hyphens in words", default=False) -@click.option("--page_range", type=str, help="Page numbers or ranges to extract, comma separated like 1,2-4,10", default=None) -@click.option("--flatten_pdf", is_flag=True, help="Flatten form fields and annotations into page contents", default=False) -@click.option("--keep_chars", is_flag=True, help="Keep character level information", default=False) -@click.option("--workers", type=int, help="Number of workers to use for parallel processing", default=None) +@click.option( + "--out_path", + type=click.Path(exists=False), + help="Path to the output text file, defaults to stdout" +) +@click.option( + "--json", + is_flag=True, + help="Output json instead of plain text", + default=False +) +@click.option( + "--sort", + is_flag=True, + help="Attempt to sort the text by reading order", + default=False +) +@click.option( + "--keep_hyphens", + is_flag=True, + help="Keep hyphens in words", + default=False +) +@click.option( + "--page_range", + type=str, + help="Page numbers or ranges to extract, comma separated like 1,2-4,10", + default=None +) +@click.option( + "--flatten_pdf", + is_flag=True, + help="Flatten form fields and annotations into page contents", + default=False +) +@click.option( + "--keep_chars", + is_flag=True, + help="Keep character level information", + default=False +) +@click.option( + "--workers", + type=int, + help="Number of workers to use for parallel processing", + default=None +) def extract_text_cli( pdf_path: Path, out_path: Path | None, - **kwargs -): - pages = None + **kwargs: Any +) -> None: + pages: List[int] | None = None if kwargs["page_range"] is not None: - pdf_doc = pdfium.PdfDocument(pdf_path) + pdf_doc = pdfium.PdfDocument(str(pdf_path)) pages = parse_range_str(kwargs["page_range"]) doc_len = len(pdf_doc) pdf_doc.close() - assert all(0 <= p <= doc_len for p in pages), "Invalid page number(s) provided" + # Ensure page numbers are 1-based for user input validation + invalid_pages = [p for p in pages if not (1 <= p <= doc_len)] + if invalid_pages: + raise click.BadParameter( + f"Invalid page number(s) provided: {invalid_pages}. " + f"Document has {doc_len} pages." + ) + output_text: str = "" if kwargs["json"]: - text = dictionary_output( - pdf_path, + dict_result: Pages = dictionary_output( + str(pdf_path), sort=kwargs["sort"], page_range=pages, flatten_pdf=kwargs["flatten_pdf"], @@ -52,10 +102,10 @@ def extract_text_cli( workers=kwargs["workers"], disable_links=True ) - text = json.dumps(text) + output_text = json.dumps(dict_result) else: - text = plain_text_output( - pdf_path, + output_text = plain_text_output( + str(pdf_path), sort=kwargs["sort"], hyphens=kwargs["keep_hyphens"], page_range=pages, @@ -64,7 +114,7 @@ def extract_text_cli( ) if out_path is None: - print(text) + print(output_text) else: - with open(out_path, "w+", encoding="utf-8") as f: - f.write(text) \ No newline at end of file + with open(str(out_path), "w+", encoding="utf-8") as f: + f.write(output_text) \ No newline at end of file diff --git a/pyproject.toml b/pyproject.toml index 074f8bb..9cfd024 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -47,3 +47,10 @@ addopts = "-ra -q" testpaths = [ "tests", ] + +[tool.mypy] +# Default mypy settings can go here if needed in the future + +[[tool.mypy.overrides]] +module = "pdftext.tables" +ignore_errors = true From c53fa2aea4c067b54cf8b832fcdb845739ff0186 Mon Sep 17 00:00:00 2001 From: Vinod Ganesan Date: Tue, 15 Apr 2025 17:10:06 +0530 Subject: [PATCH 16/26] changes to top extract file for all the massive random changes with mypy type checks --- pdftext/scripts/extract_text.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/pdftext/scripts/extract_text.py b/pdftext/scripts/extract_text.py index b6866f2..4c89e32 100644 --- a/pdftext/scripts/extract_text.py +++ b/pdftext/scripts/extract_text.py @@ -6,7 +6,14 @@ import pypdfium2 as pdfium from pdftext.extraction import plain_text_output, dictionary_output -from pdftext.schema import Pages +from pdftext.schema import Pages, Bbox + + +# Helper function to serialize Bbox objects for JSON +def json_serializer(obj: Any) -> Any: + if isinstance(obj, Bbox): + return obj.bbox + raise TypeError(f"Object of type {obj.__class__.__name__} is not JSON serializable") def parse_range_str(range_str: str) -> List[int]: @@ -102,7 +109,10 @@ def extract_text_cli( workers=kwargs["workers"], disable_links=True ) - output_text = json.dumps(dict_result) + # Convert Pydantic model to dict for JSON serialization + # output_text = json.dumps(dict_result.model_dump()) + # Use the custom serializer for Bbox objects + output_text = json.dumps(dict_result, default=json_serializer) else: output_text = plain_text_output( str(pdf_path), From 583ef263867003e18c82aa09efa45f7689019ca2 Mon Sep 17 00:00:00 2001 From: Vinod Ganesan Date: Tue, 15 Apr 2025 23:51:56 +0530 Subject: [PATCH 17/26] Fixing random af cast errors. cast(x,y) is a scam function --- pdftext/extraction.py | 12 +----------- pdftext/pdf/pages.py | 13 +++++++------ 2 files changed, 8 insertions(+), 17 deletions(-) diff --git a/pdftext/extraction.py b/pdftext/extraction.py index b3caeb7..df58356 100644 --- a/pdftext/extraction.py +++ b/pdftext/extraction.py @@ -87,15 +87,9 @@ def paginated_plain_text_output(pdf_path: str, sort: bool = False, hyphens: bool def _process_span(span: Span, page_width: int, page_height: int, keep_chars: bool) -> None: - bbox_value = span["bbox"].bbox - span["bbox"] = cast(Bbox, bbox_value) # Use cast to fix type error span["text"] = handle_hyphens(postprocess_text(span["text"]), keep_hyphens=True) if not keep_chars: del span["chars"] - else: - for char in span["chars"]: - bbox_value = char["bbox"].bbox - char["bbox"] = cast(Bbox, bbox_value) # Use cast to fix type error def dictionary_output( @@ -121,14 +115,10 @@ def dictionary_output( for k in list(block.keys()): if k not in ["lines", "bbox"]: del block[k] - bbox_value = block["bbox"].bbox - block["bbox"] = cast(Bbox, bbox_value) # Use cast to fix type error for line in block["lines"]: for k in list(line.keys()): if k not in ["spans", "bbox"]: del line[k] - bbox_value = line["bbox"].bbox - line["bbox"] = cast(Bbox, bbox_value) # Use cast to fix type error for span in line["spans"]: _process_span(span, page_width, page_height, keep_chars) @@ -140,7 +130,7 @@ def dictionary_output( # Create a new Bbox instance from the list of floats bbox_list = [page["bbox"][2], page["bbox"][3], page["bbox"][0], page["bbox"][1]] - page["bbox"] = cast(Bbox, Bbox(bbox_list)) + page["bbox"] = Bbox(bbox_list) return pages diff --git a/pdftext/pdf/pages.py b/pdftext/pdf/pages.py index 1add83b..513be90 100644 --- a/pdftext/pdf/pages.py +++ b/pdftext/pdf/pages.py @@ -159,7 +159,7 @@ def span_break() -> None: "superscript": False, "subscript": False, } - spans.append(cast(Span, new_span_dict)) + spans.append(Span(new_span_dict)) sum_char_widths = char["bbox"].width prev_char_bbox = char["bbox"] @@ -291,8 +291,9 @@ def get_blocks(lines: Lines) -> Blocks: def block_merge() -> None: nonlocal current_block, line - current_block["lines"].append(line) - current_block["bbox"] = current_block["bbox"].merge(line["bbox"]) + block: Block = cast(Block, current_block) + block["lines"].append(line) + block["bbox"] = block["bbox"].merge(line["bbox"]) blocks: Blocks = [] for line in lines: @@ -304,7 +305,7 @@ def block_merge() -> None: ) continue - last_line = current_block["lines"][-1] + last_line = cast(Block, current_block)["lines"][-1] last_bbox = last_line["bbox"] current_bbox = line["bbox"] @@ -322,7 +323,7 @@ def block_merge() -> None: # we make an exception for the first line w.r.t the x diff, because the first line is usually indented line_x_indented_start = last_line["bbox"].x_start > line["bbox"].x_start if ( - len(current_block["lines"]) == 1 + len(cast(Block, current_block)["lines"]) == 1 and line_x_indented_start and y_diff <= allowed_y_gap ): @@ -343,7 +344,7 @@ def block_merge() -> None: block_merge() continue - if current_block["bbox"].intersection_pct(line["bbox"]) > 0: + if cast(Block, current_block)["bbox"].intersection_pct(line["bbox"]) > 0: block_merge() continue From e2736c5b75a7663f6bf9a0e9e248ba335876e7a8 Mon Sep 17 00:00:00 2001 From: nischith Date: Wed, 16 Apr 2025 15:01:24 +0530 Subject: [PATCH 18/26] added setup for visual testing --- input/reliance_shares.pdf | Bin 0 -> 232423 bytes output/bbox_images/page_1_visualization.png | Bin 0 -> 174088 bytes output/reliance_bbox.json | 1 + pyproject.toml | 3 + test.py | 348 ++++++++++++++++++++ test.sh | 51 +++ 6 files changed, 403 insertions(+) create mode 100644 input/reliance_shares.pdf create mode 100644 output/bbox_images/page_1_visualization.png create mode 100644 output/reliance_bbox.json create mode 100644 test.py create mode 100644 test.sh diff --git a/input/reliance_shares.pdf b/input/reliance_shares.pdf new file mode 100644 index 0000000000000000000000000000000000000000..d3463e25ef18fe912639720e621eb38c295d5601 GIT binary patch literal 232423 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 CSbMwx literal 0 HcmV?d00001 diff --git a/output/bbox_images/page_1_visualization.png b/output/bbox_images/page_1_visualization.png new file mode 100644 index 0000000000000000000000000000000000000000..a72d287f769dca8bb5958724beb7e8771efab683 GIT binary patch literal 174088 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 literal 0 HcmV?d00001 diff --git a/output/reliance_bbox.json b/output/reliance_bbox.json new file mode 100644 index 0000000..d979d4a --- /dev/null +++ b/output/reliance_bbox.json @@ -0,0 +1 @@ +{"pages": [{"page": 0, "bbox": [0.0, 0.0, 792.0, 612.0], "width": 792, "height": 612, "rotation": 0, "blocks": [{"lines": [{"spans": [{"bbox": [345.0, 80.373291015625, 361.56488037109375, 84.70147705078125], "text": "Class X ", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 0, "char_end_idx": 7, "url": "", "superscript": false, "subscript": false}, {"bbox": [365.171142578125, 80.373291015625, 381.0287780761719, 84.70147705078125], "text": "(Equity)", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 8, "char_end_idx": 15, "url": "", "superscript": false, "subscript": false}, {"bbox": [379.9205017089844, 83.8800048828125, 379.9205017089844, 83.8800048828125], "text": " ", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 16, "char_end_idx": 16, "url": "", "superscript": false, "subscript": false}, {"bbox": [385.1999816894531, 77.61328125, 397.7127990722656, 81.94146728515625], "text": "Class ", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 17, "char_end_idx": 22, "url": "", "superscript": false, "subscript": false}, {"bbox": [396.7875671386719, 81.1199951171875, 396.7875671386719, 81.1199951171875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 23, "char_end_idx": 23, "url": "", "superscript": false, "subscript": false}, {"bbox": [396.7875671386719, 81.1199951171875, 396.7875671386719, 81.1199951171875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 24, "char_end_idx": 24, "url": "", "superscript": false, "subscript": false}], "bbox": [345.0, 77.61328125, 397.7127990722656, 84.70147705078125]}, {"spans": [{"bbox": [389.5199890136719, 83.13330078125, 392.4068908691406, 87.46148681640625], "text": "Y", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 25, "char_end_idx": 25, "url": "", "superscript": true, "subscript": false}, {"bbox": [390.1869812011719, 86.6400146484375, 390.1869812011719, 86.6400146484375], "text": " ", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 26, "char_end_idx": 26, "url": "", "superscript": false, "subscript": false}, {"bbox": [413.5199890136719, 80.373291015625, 424.0885925292969, 84.70147705078125], "text": "Total", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 27, "char_end_idx": 31, "url": "", "superscript": false, "subscript": false}, {"bbox": [423.1633605957031, 83.8800048828125, 423.1633605957031, 83.8800048828125], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 32, "char_end_idx": 32, "url": "", "superscript": false, "subscript": false}, {"bbox": [423.1633605957031, 83.8800048828125, 423.1633605957031, 83.8800048828125], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 33, "char_end_idx": 33, "url": "", "superscript": false, "subscript": false}], "bbox": [389.5199890136719, 80.373291015625, 424.0885925292969, 87.46148681640625]}], "bbox": [345.0, 77.61328125, 424.0885925292969, 87.46148681640625]}, {"lines": [{"spans": [{"bbox": [665.4000244140625, 69.57330322265625, 693.9955444335938, 73.9014892578125], "text": "Sub category ", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 34, "char_end_idx": 46, "url": "", "superscript": false, "subscript": false}, {"bbox": [693.0703125, 73.08001708984375, 693.0703125, 73.08001708984375], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 47, "char_end_idx": 47, "url": "", "superscript": false, "subscript": false}, {"bbox": [693.0703125, 73.08001708984375, 693.0703125, 73.08001708984375], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 48, "char_end_idx": 48, "url": "", "superscript": false, "subscript": false}], "bbox": [665.4000244140625, 69.57330322265625, 693.9955444335938, 73.9014892578125]}, {"spans": [{"bbox": [677.1600341796875, 75.09326171875, 681.1246337890625, 79.42144775390625], "text": "(i)", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 49, "char_end_idx": 51, "url": "", "superscript": false, "subscript": false}, {"bbox": [680.016357421875, 78.5999755859375, 680.016357421875, 78.5999755859375], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 52, "char_end_idx": 52, "url": "", "superscript": false, "subscript": false}, {"bbox": [680.016357421875, 78.5999755859375, 680.016357421875, 78.5999755859375], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 53, "char_end_idx": 53, "url": "", "superscript": false, "subscript": false}], "bbox": [677.1600341796875, 75.09326171875, 681.1246337890625, 79.42144775390625]}], "bbox": [665.4000244140625, 69.57330322265625, 693.9955444335938, 79.42144775390625]}, {"lines": [{"spans": [{"bbox": [701.8800048828125, 69.57330322265625, 730.4755249023438, 73.9014892578125], "text": "Sub category ", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 54, "char_end_idx": 66, "url": "", "superscript": false, "subscript": false}, {"bbox": [729.55029296875, 73.08001708984375, 729.55029296875, 73.08001708984375], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 67, "char_end_idx": 67, "url": "", "superscript": false, "subscript": false}, {"bbox": [729.55029296875, 73.08001708984375, 729.55029296875, 73.08001708984375], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 68, "char_end_idx": 68, "url": "", "superscript": false, "subscript": false}], "bbox": [701.8800048828125, 69.57330322265625, 730.4755249023438, 73.9014892578125]}, {"spans": [{"bbox": [713.0400390625, 75.09326171875, 718.0867309570312, 79.42144775390625], "text": "(ii)", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 69, "char_end_idx": 72, "url": "", "superscript": false, "subscript": false}, {"bbox": [716.9784545898438, 78.5999755859375, 716.9784545898438, 78.5999755859375], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 73, "char_end_idx": 73, "url": "", "superscript": false, "subscript": false}, {"bbox": [716.9784545898438, 78.5999755859375, 716.9784545898438, 78.5999755859375], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 74, "char_end_idx": 74, "url": "", "superscript": false, "subscript": false}], "bbox": [713.0400390625, 75.09326171875, 718.0867309570312, 79.42144775390625]}], "bbox": [701.8800048828125, 69.57330322265625, 730.4755249023438, 79.42144775390625]}, {"lines": [{"spans": [{"bbox": [735.8399658203125, 69.57330322265625, 764.4354858398438, 73.9014892578125], "text": "Sub category ", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 75, "char_end_idx": 87, "url": "", "superscript": false, "subscript": false}, {"bbox": [763.51025390625, 73.08001708984375, 763.51025390625, 73.08001708984375], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 88, "char_end_idx": 88, "url": "", "superscript": false, "subscript": false}, {"bbox": [763.51025390625, 73.08001708984375, 763.51025390625, 73.08001708984375], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 89, "char_end_idx": 89, "url": "", "superscript": false, "subscript": false}], "bbox": [735.8399658203125, 69.57330322265625, 764.4354858398438, 73.9014892578125]}, {"spans": [{"bbox": [746.52001953125, 75.09326171875, 752.6487426757812, 79.42144775390625], "text": "(iii)", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 90, "char_end_idx": 94, "url": "", "superscript": false, "subscript": false}, {"bbox": [751.5404663085938, 78.5999755859375, 751.5404663085938, 78.5999755859375], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 95, "char_end_idx": 95, "url": "", "superscript": false, "subscript": false}, {"bbox": [751.5404663085938, 78.5999755859375, 751.5404663085938, 78.5999755859375], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 96, "char_end_idx": 96, "url": "", "superscript": false, "subscript": false}], "bbox": [746.52001953125, 75.09326171875, 752.6487426757812, 79.42144775390625]}], "bbox": [735.8399658203125, 69.57330322265625, 764.4354858398438, 79.42144775390625]}, {"lines": [{"spans": [{"bbox": [34.560001373291016, 96.5732421875, 40.21262741088867, 100.90145874023438], "text": "(A)", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 97, "char_end_idx": 99, "url": "", "superscript": false, "subscript": false}, {"bbox": [39.104339599609375, 100.07998657226562, 39.104339599609375, 100.07998657226562], "text": " ", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 100, "char_end_idx": 100, "url": "", "superscript": false, "subscript": false}, {"bbox": [50.63999938964844, 96.5732421875, 104.82469940185547, 100.90145874023438], "text": "Promoter & Promoter Group", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 101, "char_end_idx": 125, "url": "", "superscript": false, "subscript": false}, {"bbox": [148.67999267578125, 96.45330810546875, 149.8832244873047, 100.781494140625], "text": " ", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 126, "char_end_idx": 126, "url": "", "superscript": false, "subscript": false}, {"bbox": [152.287109375, 96.45330810546875, 157.07322692871094, 100.781494140625], "text": "47", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 127, "char_end_idx": 128, "url": "", "superscript": false, "subscript": false}, {"bbox": [155.22274780273438, 99.96002197265625, 155.22274780273438, 99.96002197265625], "text": " ", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 129, "char_end_idx": 129, "url": "", "superscript": false, "subscript": false}, {"bbox": [169.67999267578125, 96.45330810546875, 197.30255126953125, 100.781494140625], "text": "332 27 48 048", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 130, "char_end_idx": 142, "url": "", "superscript": false, "subscript": false}, {"bbox": [230.51998901367188, 96.45330810546875, 231.7232208251953, 100.781494140625], "text": " ", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 143, "char_end_idx": 143, "url": "", "superscript": false, "subscript": false}, {"bbox": [234.12710571289062, 96.45330810546875, 236.53358459472656, 100.781494140625], "text": "0", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 144, "char_end_idx": 144, "url": "", "superscript": false, "subscript": false}, {"bbox": [271.6800231933594, 96.45330810546875, 272.8832702636719, 100.781494140625], "text": " ", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 145, "char_end_idx": 145, "url": "", "superscript": false, "subscript": false}, {"bbox": [275.2871398925781, 96.45330810546875, 277.693603515625, 100.781494140625], "text": "0", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 146, "char_end_idx": 146, "url": "", "superscript": false, "subscript": false}, {"bbox": [275.8431396484375, 99.96002197265625, 275.8431396484375, 99.96002197265625], "text": " ", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 147, "char_end_idx": 147, "url": "", "superscript": false, "subscript": false}, {"bbox": [282.1199951171875, 96.45330810546875, 309.7425231933594, 100.781494140625], "text": "332 27 48 048", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 148, "char_end_idx": 160, "url": "", "superscript": false, "subscript": false}, {"bbox": [307.8920593261719, 99.96002197265625, 307.8920593261719, 99.96002197265625], "text": " ", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 161, "char_end_idx": 161, "url": "", "superscript": false, "subscript": false}, {"bbox": [332.2799987792969, 96.45330810546875, 343.0831604003906, 100.781494140625], "text": "50.49", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 162, "char_end_idx": 166, "url": "", "superscript": false, "subscript": false}, {"bbox": [341.2326965332031, 99.96002197265625, 341.2326965332031, 99.96002197265625], "text": " ", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 167, "char_end_idx": 167, "url": "", "superscript": false, "subscript": false}, {"bbox": [347.5199890136719, 96.45330810546875, 381.1587219238281, 100.781494140625], "text": "332 27 48 048.00", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 168, "char_end_idx": 183, "url": "", "superscript": false, "subscript": false}, {"bbox": [379.3082580566406, 99.96002197265625, 379.3082580566406, 99.96002197265625], "text": " ", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 184, "char_end_idx": 184, "url": "", "superscript": false, "subscript": false}, {"bbox": [396.36004638671875, 96.45330810546875, 398.7665100097656, 100.781494140625], "text": "0", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 185, "char_end_idx": 185, "url": "", "superscript": false, "subscript": false}, {"bbox": [396.9160461425781, 99.96002197265625, 396.9160461425781, 99.96002197265625], "text": " ", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 186, "char_end_idx": 186, "url": "", "superscript": false, "subscript": false}, {"bbox": [403.1999816894531, 96.45330810546875, 436.8387145996094, 100.781494140625], "text": "332 27 48 048.00", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 187, "char_end_idx": 202, "url": "", "superscript": false, "subscript": false}, {"bbox": [434.9882507324219, 99.96002197265625, 434.9882507324219, 99.96002197265625], "text": " ", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 203, "char_end_idx": 203, "url": "", "superscript": false, "subscript": false}, {"bbox": [452.0400390625, 96.45330810546875, 462.84320068359375, 100.781494140625], "text": "49.11", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 204, "char_end_idx": 208, "url": "", "superscript": false, "subscript": false}, {"bbox": [460.99273681640625, 99.96002197265625, 460.99273681640625, 99.96002197265625], "text": " ", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 209, "char_end_idx": 209, "url": "", "superscript": false, "subscript": false}, {"bbox": [494.0400390625, 96.45330810546875, 496.4465026855469, 100.781494140625], "text": "0", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 210, "char_end_idx": 210, "url": "", "superscript": false, "subscript": false}, {"bbox": [494.5960388183594, 99.96002197265625, 494.5960388183594, 99.96002197265625], "text": " ", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 211, "char_end_idx": 211, "url": "", "superscript": false, "subscript": false}, {"bbox": [525.8399658203125, 96.45330810546875, 536.6431884765625, 100.781494140625], "text": "50.49", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 212, "char_end_idx": 216, "url": "", "superscript": false, "subscript": false}, {"bbox": [551.760009765625, 96.45330810546875, 552.9632568359375, 100.781494140625], "text": " ", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 217, "char_end_idx": 217, "url": "", "superscript": false, "subscript": false}, {"bbox": [555.3671264648438, 96.45330810546875, 557.7736206054688, 100.781494140625], "text": "0", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 218, "char_end_idx": 218, "url": "", "superscript": false, "subscript": false}, {"bbox": [555.9231567382812, 99.96002197265625, 555.9231567382812, 99.96002197265625], "text": " ", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 219, "char_end_idx": 219, "url": "", "superscript": false, "subscript": false}, {"bbox": [572.6400146484375, 96.45330810546875, 581.0367431640625, 100.781494140625], "text": "0.00", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 220, "char_end_idx": 223, "url": "", "superscript": false, "subscript": false}, {"bbox": [579.186279296875, 99.96002197265625, 579.186279296875, 99.96002197265625], "text": " ", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 224, "char_end_idx": 224, "url": "", "superscript": false, "subscript": false}, {"bbox": [593.2799682617188, 96.45330810546875, 595.6864624023438, 100.781494140625], "text": "0", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 225, "char_end_idx": 225, "url": "", "superscript": false, "subscript": false}, {"bbox": [593.8359985351562, 99.96002197265625, 593.8359985351562, 99.96002197265625], "text": " ", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 226, "char_end_idx": 226, "url": "", "superscript": false, "subscript": false}, {"bbox": [613.5599975585938, 96.45330810546875, 621.9567260742188, 100.781494140625], "text": "0.00", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 227, "char_end_idx": 230, "url": "", "superscript": false, "subscript": false}, {"bbox": [620.1062622070312, 99.96002197265625, 620.1062622070312, 99.96002197265625], "text": " ", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 231, "char_end_idx": 231, "url": "", "superscript": false, "subscript": false}, {"bbox": [631.5599975585938, 96.45330810546875, 659.1825561523438, 100.781494140625], "text": "332 27 48 048", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 232, "char_end_idx": 244, "url": "", "superscript": false, "subscript": false}, {"bbox": [657.3320922851562, 99.96002197265625, 657.3320922851562, 99.96002197265625], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 245, "char_end_idx": 245, "url": "", "superscript": false, "subscript": false}, {"bbox": [657.3320922851562, 99.96002197265625, 657.3320922851562, 99.96002197265625], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 246, "char_end_idx": 246, "url": "", "superscript": false, "subscript": false}], "bbox": [34.560001373291016, 96.45330810546875, 659.1825561523438, 100.90145874023438]}], "bbox": [34.560001373291016, 96.45330810546875, 659.1825561523438, 100.90145874023438]}, {"lines": [{"spans": [{"bbox": [34.560001373291016, 102.2132568359375, 40.32948684692383, 106.54147338867188], "text": "(B)", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 247, "char_end_idx": 249, "url": "", "superscript": false, "subscript": false}, {"bbox": [39.22119903564453, 105.72000122070312, 39.22119903564453, 105.72000122070312], "text": " ", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 250, "char_end_idx": 250, "url": "", "superscript": false, "subscript": false}, {"bbox": [50.63999938964844, 102.2132568359375, 62.05345916748047, 106.54147338867188], "text": "Public", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 251, "char_end_idx": 256, "url": "", "superscript": false, "subscript": false}, {"bbox": [136.67999267578125, 102.09326171875, 157.10130310058594, 106.42147827148438], "text": " 33 62 867", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 257, "char_end_idx": 266, "url": "", "superscript": false, "subscript": false}, {"bbox": [155.25082397460938, 105.60000610351562, 155.25082397460938, 105.60000610351562], "text": " ", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 267, "char_end_idx": 267, "url": "", "superscript": false, "subscript": false}, {"bbox": [169.67999267578125, 102.09326171875, 197.30255126953125, 106.42147827148438], "text": "325 73 57 847", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 268, "char_end_idx": 280, "url": "", "superscript": false, "subscript": false}, {"bbox": [218.51998901367188, 102.09326171875, 236.53567504882812, 106.42147827148438], "text": " 5 10 725", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 281, "char_end_idx": 289, "url": "", "superscript": false, "subscript": false}, {"bbox": [271.6800231933594, 102.09326171875, 272.8832702636719, 106.42147827148438], "text": " ", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 290, "char_end_idx": 290, "url": "", "superscript": false, "subscript": false}, {"bbox": [275.2871398925781, 102.09326171875, 277.693603515625, 106.42147827148438], "text": "0", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 291, "char_end_idx": 291, "url": "", "superscript": false, "subscript": false}, {"bbox": [275.8431396484375, 105.60000610351562, 275.8431396484375, 105.60000610351562], "text": " ", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 292, "char_end_idx": 292, "url": "", "superscript": false, "subscript": false}, {"bbox": [282.1199951171875, 102.09326171875, 309.7425231933594, 106.42147827148438], "text": "325 78 68 572", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 293, "char_end_idx": 305, "url": "", "superscript": false, "subscript": false}, {"bbox": [307.8920593261719, 105.60000610351562, 307.8920593261719, 105.60000610351562], "text": " ", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 306, "char_end_idx": 306, "url": "", "superscript": false, "subscript": false}, {"bbox": [332.2799987792969, 102.09326171875, 343.0831604003906, 106.42147827148438], "text": "49.51", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 307, "char_end_idx": 311, "url": "", "superscript": false, "subscript": false}, {"bbox": [341.2326965332031, 105.60000610351562, 341.2326965332031, 105.60000610351562], "text": " ", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 312, "char_end_idx": 312, "url": "", "superscript": false, "subscript": false}, {"bbox": [347.5199890136719, 102.09326171875, 381.1587219238281, 106.42147827148438], "text": "325 75 39 465.00", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 313, "char_end_idx": 328, "url": "", "superscript": false, "subscript": false}, {"bbox": [379.3082580566406, 105.60000610351562, 379.3082580566406, 105.60000610351562], "text": " ", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 329, "char_end_idx": 329, "url": "", "superscript": false, "subscript": false}, {"bbox": [396.36004638671875, 102.09326171875, 398.7665100097656, 106.42147827148438], "text": "0", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 330, "char_end_idx": 330, "url": "", "superscript": false, "subscript": false}, {"bbox": [396.9160461425781, 105.60000610351562, 396.9160461425781, 105.60000610351562], "text": " ", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 331, "char_end_idx": 331, "url": "", "superscript": false, "subscript": false}, {"bbox": [403.1999816894531, 102.09326171875, 436.8387145996094, 106.42147827148438], "text": "325 75 39 465.00", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 332, "char_end_idx": 347, "url": "", "superscript": false, "subscript": false}, {"bbox": [434.9882507324219, 105.60000610351562, 434.9882507324219, 105.60000610351562], "text": " ", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 348, "char_end_idx": 348, "url": "", "superscript": false, "subscript": false}, {"bbox": [452.0400390625, 102.09326171875, 462.84320068359375, 106.42147827148438], "text": "48.15", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 349, "char_end_idx": 353, "url": "", "superscript": false, "subscript": false}, {"bbox": [460.99273681640625, 105.60000610351562, 460.99273681640625, 105.60000610351562], "text": " ", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 354, "char_end_idx": 354, "url": "", "superscript": false, "subscript": false}, {"bbox": [494.0400390625, 102.09326171875, 496.4465026855469, 106.42147827148438], "text": "0", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 355, "char_end_idx": 355, "url": "", "superscript": false, "subscript": false}, {"bbox": [494.5960388183594, 105.60000610351562, 494.5960388183594, 105.60000610351562], "text": " ", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 356, "char_end_idx": 356, "url": "", "superscript": false, "subscript": false}, {"bbox": [525.8399658203125, 102.09326171875, 536.6431884765625, 106.42147827148438], "text": "49.51", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 357, "char_end_idx": 361, "url": "", "superscript": false, "subscript": false}, {"bbox": [551.760009765625, 102.09326171875, 552.9632568359375, 106.42147827148438], "text": " ", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 362, "char_end_idx": 362, "url": "", "superscript": false, "subscript": false}, {"bbox": [555.3671264648438, 102.09326171875, 557.7736206054688, 106.42147827148438], "text": "0", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 363, "char_end_idx": 363, "url": "", "superscript": false, "subscript": false}, {"bbox": [555.9231567382812, 105.60000610351562, 555.9231567382812, 105.60000610351562], "text": " ", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 364, "char_end_idx": 364, "url": "", "superscript": false, "subscript": false}, {"bbox": [572.6400146484375, 102.09326171875, 581.0367431640625, 106.42147827148438], "text": "0.00", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 365, "char_end_idx": 368, "url": "", "superscript": false, "subscript": false}, {"bbox": [579.186279296875, 105.60000610351562, 579.186279296875, 105.60000610351562], "text": " ", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 369, "char_end_idx": 369, "url": "", "superscript": false, "subscript": false}, {"bbox": [591.5999755859375, 102.2132568359375, 597.6127319335938, 106.54147338867188], "text": "NA", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 370, "char_end_idx": 371, "url": "", "superscript": false, "subscript": false}, {"bbox": [595.392822265625, 105.72000122070312, 595.392822265625, 105.72000122070312], "text": " ", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 372, "char_end_idx": 372, "url": "", "superscript": false, "subscript": false}, {"bbox": [614.760009765625, 102.2132568359375, 620.7727661132812, 106.54147338867188], "text": "NA", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 373, "char_end_idx": 374, "url": "", "superscript": false, "subscript": false}, {"bbox": [618.5528564453125, 105.72000122070312, 618.5528564453125, 105.72000122070312], "text": " ", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 375, "char_end_idx": 375, "url": "", "superscript": false, "subscript": false}, {"bbox": [631.5599975585938, 102.09326171875, 659.1825561523438, 106.42147827148438], "text": "320 52 21 186", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 376, "char_end_idx": 388, "url": "", "superscript": false, "subscript": false}, {"bbox": [690.9600219726562, 102.2132568359375, 692.1632690429688, 106.54147338867188], "text": " ", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 389, "char_end_idx": 389, "url": "", "superscript": false, "subscript": false}, {"bbox": [694.567138671875, 102.2132568359375, 696.9736328125, 106.54147338867188], "text": "0", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 390, "char_end_idx": 390, "url": "", "superscript": false, "subscript": false}, {"bbox": [695.1231689453125, 105.72000122070312, 695.1231689453125, 105.72000122070312], "text": " ", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 391, "char_end_idx": 391, "url": "", "superscript": false, "subscript": false}, {"bbox": [729.47998046875, 102.2132568359375, 731.886474609375, 106.54147338867188], "text": "0", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 392, "char_end_idx": 392, "url": "", "superscript": false, "subscript": false}, {"bbox": [730.0360107421875, 105.72000122070312, 730.0360107421875, 105.72000122070312], "text": " ", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 393, "char_end_idx": 393, "url": "", "superscript": false, "subscript": false}, {"bbox": [762.47998046875, 102.2132568359375, 764.886474609375, 106.54147338867188], "text": "0", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 394, "char_end_idx": 394, "url": "", "superscript": false, "subscript": false}, {"bbox": [763.0360107421875, 105.72000122070312, 763.0360107421875, 105.72000122070312], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 395, "char_end_idx": 395, "url": "", "superscript": false, "subscript": false}, {"bbox": [763.0360107421875, 105.72000122070312, 763.0360107421875, 105.72000122070312], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 396, "char_end_idx": 396, "url": "", "superscript": false, "subscript": false}], "bbox": [34.560001373291016, 102.09326171875, 764.886474609375, 106.54147338867188]}, {"spans": [{"bbox": [34.44000244140625, 107.73324584960938, 40.44840621948242, 112.06146240234375], "text": "(C)", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 397, "char_end_idx": 399, "url": "", "superscript": false, "subscript": false}, {"bbox": [39.340118408203125, 111.239990234375, 39.340118408203125, 111.239990234375], "text": " ", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 400, "char_end_idx": 400, "url": "", "superscript": false, "subscript": false}, {"bbox": [50.63999938964844, 107.73324584960938, 99.41618347167969, 112.06146240234375], "text": "Non Promoter-Non Public", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 401, "char_end_idx": 423, "url": "", "superscript": false, "subscript": false}, {"bbox": [97.75208282470703, 111.239990234375, 97.75208282470703, 111.239990234375], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 424, "char_end_idx": 424, "url": "", "superscript": false, "subscript": false}, {"bbox": [97.75208282470703, 111.239990234375, 97.75208282470703, 111.239990234375], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 425, "char_end_idx": 425, "url": "", "superscript": false, "subscript": false}], "bbox": [34.44000244140625, 107.73324584960938, 99.41618347167969, 112.06146240234375]}], "bbox": [34.44000244140625, 102.09326171875, 764.886474609375, 112.06146240234375]}, {"lines": [{"spans": [{"bbox": [40.31999969482422, 113.13327026367188, 48.70891189575195, 117.46148681640625], "text": "(C1)", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 426, "char_end_idx": 429, "url": "", "superscript": false, "subscript": false}, {"bbox": [47.600624084472656, 116.6400146484375, 47.600624084472656, 116.6400146484375], "text": " ", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 430, "char_end_idx": 430, "url": "", "superscript": false, "subscript": false}, {"bbox": [50.63999938964844, 113.13327026367188, 95.44896697998047, 117.46148681640625], "text": "Shares underlying DRs ", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 431, "char_end_idx": 452, "url": "", "superscript": false, "subscript": false}, {"bbox": [154.68710327148438, 113.13327026367188, 157.0935821533203, 117.46148681640625], "text": "1", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 453, "char_end_idx": 453, "url": "", "superscript": false, "subscript": false}, {"bbox": [191.27999877929688, 113.13327026367188, 192.4832305908203, 117.46148681640625], "text": " ", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 454, "char_end_idx": 454, "url": "", "superscript": false, "subscript": false}, {"bbox": [194.88711547851562, 113.13327026367188, 197.29359436035156, 117.46148681640625], "text": "0", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 455, "char_end_idx": 455, "url": "", "superscript": false, "subscript": false}, {"bbox": [195.443115234375, 116.6400146484375, 195.443115234375, 116.6400146484375], "text": " ", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 456, "char_end_idx": 456, "url": "", "superscript": false, "subscript": false}, {"bbox": [234.1199951171875, 113.13327026367188, 236.52647399902344, 117.46148681640625], "text": "0", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 457, "char_end_idx": 457, "url": "", "superscript": false, "subscript": false}, {"bbox": [234.67599487304688, 116.6400146484375, 234.67599487304688, 116.6400146484375], "text": " ", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 458, "char_end_idx": 458, "url": "", "superscript": false, "subscript": false}, {"bbox": [252.48001098632812, 113.13327026367188, 277.7220458984375, 117.46148681640625], "text": "18 53 77 394", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 459, "char_end_idx": 470, "url": "", "superscript": false, "subscript": false}, {"bbox": [275.87158203125, 116.6400146484375, 275.87158203125, 116.6400146484375], "text": " ", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 471, "char_end_idx": 471, "url": "", "superscript": false, "subscript": false}, {"bbox": [284.5199890136719, 113.13327026367188, 309.76202392578125, 117.46148681640625], "text": "18 53 77 394", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 472, "char_end_idx": 483, "url": "", "superscript": false, "subscript": false}, {"bbox": [307.91156005859375, 116.6400146484375, 307.91156005859375, 116.6400146484375], "text": " ", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 484, "char_end_idx": 484, "url": "", "superscript": false, "subscript": false}, {"bbox": [337.20001220703125, 113.13327026367188, 343.2127380371094, 117.46148681640625], "text": "NA", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 485, "char_end_idx": 486, "url": "", "superscript": false, "subscript": false}, {"bbox": [340.9928283691406, 116.6400146484375, 340.9928283691406, 116.6400146484375], "text": " ", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 487, "char_end_idx": 487, "url": "", "superscript": false, "subscript": false}, {"bbox": [349.91998291015625, 113.13327026367188, 381.1522521972656, 117.46148681640625], "text": "18 53 77 394.00", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 488, "char_end_idx": 502, "url": "", "superscript": false, "subscript": false}, {"bbox": [379.3017883300781, 116.6400146484375, 379.3017883300781, 116.6400146484375], "text": " ", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 503, "char_end_idx": 503, "url": "", "superscript": false, "subscript": false}, {"bbox": [396.36004638671875, 113.13327026367188, 398.7665100097656, 117.46148681640625], "text": "0", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 504, "char_end_idx": 504, "url": "", "superscript": false, "subscript": false}, {"bbox": [396.9160461425781, 116.6400146484375, 396.9160461425781, 116.6400146484375], "text": " ", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 505, "char_end_idx": 505, "url": "", "superscript": false, "subscript": false}, {"bbox": [405.5999755859375, 113.13327026367188, 436.8322448730469, 117.46148681640625], "text": "18 53 77 394.00", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 506, "char_end_idx": 520, "url": "", "superscript": false, "subscript": false}, {"bbox": [434.9817810058594, 116.6400146484375, 434.9817810058594, 116.6400146484375], "text": " ", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 521, "char_end_idx": 521, "url": "", "superscript": false, "subscript": false}, {"bbox": [454.4400329589844, 113.13327026367188, 462.83673095703125, 117.46148681640625], "text": "2.74", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 522, "char_end_idx": 525, "url": "", "superscript": false, "subscript": false}, {"bbox": [460.98626708984375, 116.6400146484375, 460.98626708984375, 116.6400146484375], "text": " ", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 526, "char_end_idx": 526, "url": "", "superscript": false, "subscript": false}, {"bbox": [494.0400390625, 113.13327026367188, 496.4465026855469, 117.46148681640625], "text": "0", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 527, "char_end_idx": 527, "url": "", "superscript": false, "subscript": false}, {"bbox": [494.5960388183594, 116.6400146484375, 494.5960388183594, 116.6400146484375], "text": " ", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 528, "char_end_idx": 528, "url": "", "superscript": false, "subscript": false}, {"bbox": [530.760009765625, 113.13327026367188, 536.7727661132812, 117.46148681640625], "text": "NA", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 529, "char_end_idx": 530, "url": "", "superscript": false, "subscript": false}, {"bbox": [551.760009765625, 113.13327026367188, 552.9632568359375, 117.46148681640625], "text": " ", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 531, "char_end_idx": 531, "url": "", "superscript": false, "subscript": false}, {"bbox": [555.3671264648438, 113.13327026367188, 557.7736206054688, 117.46148681640625], "text": "0", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 532, "char_end_idx": 532, "url": "", "superscript": false, "subscript": false}, {"bbox": [555.9231567382812, 116.6400146484375, 555.9231567382812, 116.6400146484375], "text": " ", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 533, "char_end_idx": 533, "url": "", "superscript": false, "subscript": false}, {"bbox": [572.6400146484375, 113.13327026367188, 581.0367431640625, 117.46148681640625], "text": "0.00", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 534, "char_end_idx": 537, "url": "", "superscript": false, "subscript": false}, {"bbox": [579.186279296875, 116.6400146484375, 579.186279296875, 116.6400146484375], "text": " ", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 538, "char_end_idx": 538, "url": "", "superscript": false, "subscript": false}, {"bbox": [591.5999755859375, 113.13327026367188, 597.6127319335938, 117.46148681640625], "text": "NA", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 539, "char_end_idx": 540, "url": "", "superscript": false, "subscript": false}, {"bbox": [595.392822265625, 116.6400146484375, 595.392822265625, 116.6400146484375], "text": " ", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 541, "char_end_idx": 541, "url": "", "superscript": false, "subscript": false}, {"bbox": [614.760009765625, 113.13327026367188, 620.7727661132812, 117.46148681640625], "text": "NA", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 542, "char_end_idx": 543, "url": "", "superscript": false, "subscript": false}, {"bbox": [618.5528564453125, 116.6400146484375, 618.5528564453125, 116.6400146484375], "text": " ", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 544, "char_end_idx": 544, "url": "", "superscript": false, "subscript": false}, {"bbox": [633.9600219726562, 113.13327026367188, 659.2020874023438, 117.46148681640625], "text": "18 53 45 594", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 545, "char_end_idx": 556, "url": "", "superscript": false, "subscript": false}, {"bbox": [657.3516235351562, 116.6400146484375, 657.3516235351562, 116.6400146484375], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 557, "char_end_idx": 557, "url": "", "superscript": false, "subscript": false}, {"bbox": [657.3516235351562, 116.6400146484375, 657.3516235351562, 116.6400146484375], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 558, "char_end_idx": 558, "url": "", "superscript": false, "subscript": false}], "bbox": [40.31999969482422, 113.13327026367188, 659.2020874023438, 117.46148681640625]}, {"spans": [{"bbox": [40.31999969482422, 121.29324340820312, 112.25031280517578, 125.6214599609375], "text": "(C2) Shares held by Employee Trusts", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 559, "char_end_idx": 593, "url": "", "superscript": false, "subscript": false}, {"bbox": [151.16079711914062, 123.98977661132812, 152.16079711914062, 124.98977661132812], "text": " ", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 594, "char_end_idx": 594, "url": "", "superscript": false, "subscript": false}, {"bbox": [154.73416137695312, 121.29324340820312, 157.14064025878906, 125.6214599609375], "text": "0", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 595, "char_end_idx": 595, "url": "", "superscript": true, "subscript": false}, {"bbox": [191.3507080078125, 123.98977661132812, 192.3507080078125, 124.98977661132812], "text": " ", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 596, "char_end_idx": 596, "url": "", "superscript": false, "subscript": false}, {"bbox": [194.95785522460938, 121.29324340820312, 197.3643341064453, 125.6214599609375], "text": "0", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 597, "char_end_idx": 597, "url": "", "superscript": true, "subscript": false}, {"bbox": [234.214599609375, 121.29324340820312, 236.62107849121094, 125.6214599609375], "text": " 0", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 598, "char_end_idx": 599, "url": "", "superscript": true, "subscript": false}, {"bbox": [271.7400817871094, 123.98977661132812, 272.7400817871094, 124.98977661132812], "text": " ", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 600, "char_end_idx": 600, "url": "", "superscript": false, "subscript": false}, {"bbox": [275.3471984863281, 121.29324340820312, 277.753662109375, 125.6214599609375], "text": "0", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 601, "char_end_idx": 601, "url": "", "superscript": true, "subscript": false}, {"bbox": [303.7200012207031, 118.53326416015625, 304.9232482910156, 122.86148071289062], "text": " ", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 602, "char_end_idx": 602, "url": "", "superscript": false, "subscript": false}, {"bbox": [307.3271179199219, 118.53326416015625, 309.73358154296875, 122.86148071289062], "text": "0", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 603, "char_end_idx": 603, "url": "", "superscript": true, "subscript": false}, {"bbox": [334.6804504394531, 118.53326416015625, 343.10052490234375, 122.86148071289062], "text": " 0.00", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 604, "char_end_idx": 608, "url": "", "superscript": false, "subscript": false}, {"bbox": [369.12945556640625, 121.22979736328125, 370.12945556640625, 122.22979736328125], "text": " ", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 609, "char_end_idx": 609, "url": "", "superscript": false, "subscript": false}, {"bbox": [372.736572265625, 118.53326416015625, 381.1306457519531, 122.86148071289062], "text": "0.00", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 610, "char_end_idx": 613, "url": "", "superscript": false, "subscript": false}, {"bbox": [396.38238525390625, 118.53326416015625, 398.7888488769531, 122.86148071289062], "text": " 0", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 614, "char_end_idx": 615, "url": "", "superscript": true, "subscript": false}, {"bbox": [424.8177490234375, 121.22979736328125, 425.8177490234375, 122.22979736328125], "text": " ", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 616, "char_end_idx": 616, "url": "", "superscript": false, "subscript": false}, {"bbox": [428.42486572265625, 118.53326416015625, 436.8189392089844, 122.86148071289062], "text": "0.00", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 617, "char_end_idx": 620, "url": "", "superscript": false, "subscript": false}, {"bbox": [454.451171875, 118.53326416015625, 462.8712463378906, 122.86148071289062], "text": " 0.00", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 621, "char_end_idx": 625, "url": "", "superscript": false, "subscript": false}, {"bbox": [494.09405517578125, 118.53326416015625, 496.5005187988281, 122.86148071289062], "text": " 0", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 626, "char_end_idx": 627, "url": "", "superscript": false, "subscript": false}, {"bbox": [528.2859497070312, 118.53326416015625, 536.6800537109375, 122.86148071289062], "text": " 0.00", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 628, "char_end_idx": 632, "url": "", "superscript": false, "subscript": false}, {"bbox": [551.8018798828125, 121.22979736328125, 552.8018798828125, 122.22979736328125], "text": " ", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 633, "char_end_idx": 633, "url": "", "superscript": false, "subscript": false}, {"bbox": [555.4090576171875, 118.53326416015625, 557.8155517578125, 122.86148071289062], "text": "0", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 634, "char_end_idx": 634, "url": "", "superscript": true, "subscript": false}, {"bbox": [572.677734375, 118.53326416015625, 581.0977783203125, 122.86148071289062], "text": " 0.00", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 635, "char_end_idx": 639, "url": "", "superscript": false, "subscript": false}, {"bbox": [579.247314453125, 122.04000854492188, 579.247314453125, 122.04000854492188], "text": " ", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 640, "char_end_idx": 640, "url": "", "superscript": false, "subscript": false}, {"bbox": [591.5999755859375, 121.29324340820312, 597.6127319335938, 125.6214599609375], "text": "NA", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 641, "char_end_idx": 642, "url": "", "superscript": false, "subscript": false}, {"bbox": [614.7662353515625, 121.29324340820312, 620.7789306640625, 125.6214599609375], "text": " NA", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 643, "char_end_idx": 645, "url": "", "superscript": false, "subscript": false}, {"bbox": [653.167724609375, 123.98977661132812, 654.167724609375, 124.98977661132812], "text": " ", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 646, "char_end_idx": 646, "url": "", "superscript": false, "subscript": false}, {"bbox": [656.780029296875, 121.29324340820312, 659.1865234375, 125.6214599609375], "text": "0", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 647, "char_end_idx": 647, "url": "", "superscript": true, "subscript": false}, {"bbox": [657.3360595703125, 124.79998779296875, 657.3360595703125, 124.79998779296875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 648, "char_end_idx": 648, "url": "", "superscript": false, "subscript": false}, {"bbox": [657.3360595703125, 124.79998779296875, 657.3360595703125, 124.79998779296875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 649, "char_end_idx": 649, "url": "", "superscript": false, "subscript": false}], "bbox": [40.31999969482422, 118.53326416015625, 659.1865234375, 125.6214599609375]}], "bbox": [40.31999969482422, 113.13327026367188, 659.2020874023438, 125.6214599609375]}, {"lines": [{"spans": [{"bbox": [78.95999908447266, 129.81326293945312, 89.5285873413086, 134.1414794921875], "text": "Total", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 650, "char_end_idx": 654, "url": "", "superscript": false, "subscript": false}, {"bbox": [136.67999267578125, 129.81326293945312, 157.10130310058594, 134.1414794921875], "text": " 33 62 915", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 655, "char_end_idx": 664, "url": "", "superscript": false, "subscript": false}, {"bbox": [155.25082397460938, 133.32000732421875, 155.25082397460938, 133.32000732421875], "text": " ", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 665, "char_end_idx": 665, "url": "", "superscript": false, "subscript": false}, {"bbox": [169.67999267578125, 129.81326293945312, 197.30255126953125, 134.1414794921875], "text": "658 01 05 895", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 666, "char_end_idx": 678, "url": "", "superscript": false, "subscript": false}, {"bbox": [218.51998901367188, 129.81326293945312, 236.53567504882812, 134.1414794921875], "text": " 5 10 725", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 679, "char_end_idx": 687, "url": "", "superscript": false, "subscript": false}, {"bbox": [234.68519592285156, 133.32000732421875, 234.68519592285156, 133.32000732421875], "text": " ", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 688, "char_end_idx": 688, "url": "", "superscript": false, "subscript": false}, {"bbox": [252.48001098632812, 129.81326293945312, 277.7220458984375, 134.1414794921875], "text": "18 53 77 394", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 689, "char_end_idx": 700, "url": "", "superscript": false, "subscript": false}, {"bbox": [275.87158203125, 133.32000732421875, 275.87158203125, 133.32000732421875], "text": " ", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 701, "char_end_idx": 701, "url": "", "superscript": false, "subscript": false}, {"bbox": [282.1199951171875, 129.81326293945312, 309.7425231933594, 134.1414794921875], "text": "676 59 94 014", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 702, "char_end_idx": 714, "url": "", "superscript": false, "subscript": false}, {"bbox": [307.8920593261719, 133.32000732421875, 307.8920593261719, 133.32000732421875], "text": " ", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 715, "char_end_idx": 715, "url": "", "superscript": false, "subscript": false}, {"bbox": [329.8800048828125, 129.81326293945312, 343.08966064453125, 134.1414794921875], "text": "100.00", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 716, "char_end_idx": 721, "url": "", "superscript": false, "subscript": false}, {"bbox": [341.23919677734375, 133.32000732421875, 341.23919677734375, 133.32000732421875], "text": " ", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 722, "char_end_idx": 722, "url": "", "superscript": false, "subscript": false}, {"bbox": [347.5199890136719, 129.81326293945312, 381.1587219238281, 134.1414794921875], "text": "676 56 64 907.00", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 723, "char_end_idx": 738, "url": "", "superscript": false, "subscript": false}, {"bbox": [379.3082580566406, 133.32000732421875, 379.3082580566406, 133.32000732421875], "text": " ", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 739, "char_end_idx": 739, "url": "", "superscript": false, "subscript": false}, {"bbox": [396.36004638671875, 129.81326293945312, 398.7665100097656, 134.1414794921875], "text": "0", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 740, "char_end_idx": 740, "url": "", "superscript": false, "subscript": false}, {"bbox": [396.9160461425781, 133.32000732421875, 396.9160461425781, 133.32000732421875], "text": " ", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 741, "char_end_idx": 741, "url": "", "superscript": false, "subscript": false}, {"bbox": [403.1999816894531, 129.81326293945312, 436.8387145996094, 134.1414794921875], "text": "676 56 64 907.00", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 742, "char_end_idx": 757, "url": "", "superscript": false, "subscript": false}, {"bbox": [434.9882507324219, 133.32000732421875, 434.9882507324219, 133.32000732421875], "text": " ", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 758, "char_end_idx": 758, "url": "", "superscript": false, "subscript": false}, {"bbox": [449.6400146484375, 129.81326293945312, 462.84967041015625, 134.1414794921875], "text": "100.00", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 759, "char_end_idx": 764, "url": "", "superscript": false, "subscript": false}, {"bbox": [460.99920654296875, 133.32000732421875, 460.99920654296875, 133.32000732421875], "text": " ", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 765, "char_end_idx": 765, "url": "", "superscript": false, "subscript": false}, {"bbox": [494.0400390625, 129.81326293945312, 496.4465026855469, 134.1414794921875], "text": "0", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 766, "char_end_idx": 766, "url": "", "superscript": false, "subscript": false}, {"bbox": [494.5960388183594, 133.32000732421875, 494.5960388183594, 133.32000732421875], "text": " ", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 767, "char_end_idx": 767, "url": "", "superscript": false, "subscript": false}, {"bbox": [523.4400634765625, 129.81326293945312, 536.6497192382812, 134.1414794921875], "text": "100.00", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 768, "char_end_idx": 773, "url": "", "superscript": false, "subscript": false}, {"bbox": [551.760009765625, 129.81326293945312, 552.9632568359375, 134.1414794921875], "text": " ", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 774, "char_end_idx": 774, "url": "", "superscript": false, "subscript": false}, {"bbox": [555.3671264648438, 129.81326293945312, 557.7736206054688, 134.1414794921875], "text": "0", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 775, "char_end_idx": 775, "url": "", "superscript": false, "subscript": false}, {"bbox": [555.9231567382812, 133.32000732421875, 555.9231567382812, 133.32000732421875], "text": " ", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 776, "char_end_idx": 776, "url": "", "superscript": false, "subscript": false}, {"bbox": [572.6400146484375, 129.81326293945312, 581.0367431640625, 134.1414794921875], "text": "0.00", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 777, "char_end_idx": 780, "url": "", "superscript": false, "subscript": false}, {"bbox": [579.186279296875, 133.32000732421875, 579.186279296875, 133.32000732421875], "text": " ", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 781, "char_end_idx": 781, "url": "", "superscript": false, "subscript": false}, {"bbox": [590.2799682617188, 129.81326293945312, 598.6766967773438, 134.1414794921875], "text": "0.00", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 782, "char_end_idx": 785, "url": "", "superscript": false, "subscript": false}, {"bbox": [596.8262329101562, 133.32000732421875, 596.8262329101562, 133.32000732421875], "text": " ", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 786, "char_end_idx": 786, "url": "", "superscript": false, "subscript": false}, {"bbox": [613.5599975585938, 129.81326293945312, 621.9567260742188, 134.1414794921875], "text": "0.00", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 787, "char_end_idx": 790, "url": "", "superscript": false, "subscript": false}, {"bbox": [620.1062622070312, 133.32000732421875, 620.1062622070312, 133.32000732421875], "text": " ", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 791, "char_end_idx": 791, "url": "", "superscript": false, "subscript": false}, {"bbox": [631.5599975585938, 129.81326293945312, 659.1825561523438, 134.1414794921875], "text": "671 33 14 828", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 792, "char_end_idx": 804, "url": "", "superscript": false, "subscript": false}, {"bbox": [657.3320922851562, 133.32000732421875, 657.3320922851562, 133.32000732421875], "text": " ", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 805, "char_end_idx": 805, "url": "", "superscript": false, "subscript": false}, {"bbox": [694.5599975585938, 129.4532470703125, 696.9664916992188, 133.78146362304688], "text": "0", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 806, "char_end_idx": 806, "url": "", "superscript": false, "subscript": false}, {"bbox": [695.1160278320312, 132.95999145507812, 695.1160278320312, 132.95999145507812], "text": " ", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 807, "char_end_idx": 807, "url": "", "superscript": false, "subscript": false}, {"bbox": [729.47998046875, 129.4532470703125, 731.886474609375, 133.78146362304688], "text": "0", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 808, "char_end_idx": 808, "url": "", "superscript": false, "subscript": false}, {"bbox": [730.0360107421875, 132.95999145507812, 730.0360107421875, 132.95999145507812], "text": " ", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 809, "char_end_idx": 809, "url": "", "superscript": false, "subscript": false}, {"bbox": [762.47998046875, 129.4532470703125, 764.886474609375, 133.78146362304688], "text": "0", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 810, "char_end_idx": 810, "url": "", "superscript": false, "subscript": false}, {"bbox": [763.0360107421875, 132.95999145507812, 763.0360107421875, 132.95999145507812], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 811, "char_end_idx": 811, "url": "", "superscript": false, "subscript": false}, {"bbox": [763.0360107421875, 132.95999145507812, 763.0360107421875, 132.95999145507812], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 812, "char_end_idx": 812, "url": "", "superscript": false, "subscript": false}], "bbox": [78.95999908447266, 129.4532470703125, 764.886474609375, 134.1414794921875]}, {"spans": [{"bbox": [153.24000549316406, 135.33328247070312, 154.4432373046875, 139.6614990234375], "text": " ", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 813, "char_end_idx": 813, "url": "", "superscript": false, "subscript": false}, {"bbox": [153.51800537109375, 138.84002685546875, 153.51800537109375, 138.84002685546875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 814, "char_end_idx": 814, "url": "", "superscript": false, "subscript": false}, {"bbox": [153.51800537109375, 138.84002685546875, 153.51800537109375, 138.84002685546875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 815, "char_end_idx": 815, "url": "", "superscript": false, "subscript": false}], "bbox": [153.24000549316406, 135.33328247070312, 154.4432373046875, 139.6614990234375]}, {"spans": [{"bbox": [50.76000213623047, 141.04107666015625, 111.97615051269531, 145.72994995117188], "text": "NA denotes \"Not Applicable\" ", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 816, "char_end_idx": 843, "url": "", "superscript": false, "subscript": false}, {"bbox": [110.95063781738281, 144.84002685546875, 110.95063781738281, 144.84002685546875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 844, "char_end_idx": 844, "url": "", "superscript": false, "subscript": false}, {"bbox": [110.95063781738281, 144.84002685546875, 110.95063781738281, 144.84002685546875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 845, "char_end_idx": 845, "url": "", "superscript": false, "subscript": false}], "bbox": [50.76000213623047, 141.04107666015625, 111.97615051269531, 145.72994995117188]}, {"spans": [{"bbox": [31.44000244140625, 146.73324584960938, 44.16923141479492, 151.06146240234375], "text": "Note 1", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 846, "char_end_idx": 851, "url": "", "superscript": false, "subscript": false}, {"bbox": [42.31875228881836, 150.239990234375, 42.31875228881836, 150.239990234375], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 852, "char_end_idx": 852, "url": "", "superscript": false, "subscript": false}, {"bbox": [42.31875228881836, 150.239990234375, 42.31875228881836, 150.239990234375], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 853, "char_end_idx": 853, "url": "", "superscript": false, "subscript": false}], "bbox": [31.44000244140625, 146.73324584960938, 44.16923141479492, 151.06146240234375]}], "bbox": [31.44000244140625, 129.4532470703125, 764.886474609375, 151.06146240234375]}, {"lines": [{"spans": [{"bbox": [31.44000244140625, 164.61325073242188, 44.16923141479492, 168.94146728515625], "text": "Note 2", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 854, "char_end_idx": 859, "url": "", "superscript": false, "subscript": false}, {"bbox": [42.31875228881836, 168.1199951171875, 42.31875228881836, 168.1199951171875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 860, "char_end_idx": 860, "url": "", "superscript": false, "subscript": false}, {"bbox": [42.31875228881836, 168.1199951171875, 42.31875228881836, 168.1199951171875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 861, "char_end_idx": 861, "url": "", "superscript": false, "subscript": false}], "bbox": [31.44000244140625, 164.61325073242188, 44.16923141479492, 168.94146728515625]}, {"spans": [{"bbox": [31.080001831054688, 169.89324951171875, 43.80923080444336, 174.22146606445312], "text": "Note 3", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 862, "char_end_idx": 867, "url": "", "superscript": false, "subscript": false}, {"bbox": [41.9587516784668, 173.39999389648438, 41.9587516784668, 173.39999389648438], "text": " ", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 868, "char_end_idx": 868, "url": "", "superscript": false, "subscript": false}, {"bbox": [50.63999938964844, 170.01327514648438, 385.392333984375, 174.34149169921875], "text": "As the shareholding pattern upload utility on the stock exchanges' websites does not recognise voting rights in fractions, the same have been rounded-off to the nearest full figure.", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 869, "char_end_idx": 1049, "url": "", "superscript": false, "subscript": false}, {"bbox": [384.46710205078125, 173.52001953125, 384.46710205078125, 173.52001953125], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 1050, "char_end_idx": 1050, "url": "", "superscript": false, "subscript": false}, {"bbox": [384.46710205078125, 173.52001953125, 384.46710205078125, 173.52001953125], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 1051, "char_end_idx": 1051, "url": "", "superscript": false, "subscript": false}], "bbox": [31.080001831054688, 169.89324951171875, 385.392333984375, 174.34149169921875]}, {"spans": [{"bbox": [31.080001831054688, 175.29324340820312, 43.80923080444336, 179.6214599609375], "text": "Note 4", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 1052, "char_end_idx": 1057, "url": "", "superscript": false, "subscript": false}, {"bbox": [41.9587516784668, 178.79998779296875, 41.9587516784668, 178.79998779296875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 1058, "char_end_idx": 1058, "url": "", "superscript": false, "subscript": false}, {"bbox": [41.9587516784668, 178.79998779296875, 41.9587516784668, 178.79998779296875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 1059, "char_end_idx": 1059, "url": "", "superscript": false, "subscript": false}], "bbox": [31.080001831054688, 175.29324340820312, 43.80923080444336, 179.6214599609375]}, {"spans": [{"bbox": [31.080001831054688, 183.4532470703125, 43.80923080444336, 187.78146362304688], "text": "Note 5", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 1060, "char_end_idx": 1065, "url": "", "superscript": false, "subscript": false}, {"bbox": [41.9587516784668, 186.95999145507812, 41.9587516784668, 186.95999145507812], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 1066, "char_end_idx": 1066, "url": "", "superscript": false, "subscript": false}, {"bbox": [41.9587516784668, 186.95999145507812, 41.9587516784668, 186.95999145507812], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 1067, "char_end_idx": 1067, "url": "", "superscript": false, "subscript": false}], "bbox": [31.080001831054688, 183.4532470703125, 43.80923080444336, 187.78146362304688]}], "bbox": [31.080001831054688, 164.61325073242188, 385.392333984375, 187.78146362304688]}, {"lines": [{"spans": [{"bbox": [31.44000244140625, 197.37326049804688, 44.16923141479492, 201.70147705078125], "text": "Note 6", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 1068, "char_end_idx": 1073, "url": "", "superscript": false, "subscript": false}, {"bbox": [42.31875228881836, 200.8800048828125, 42.31875228881836, 200.8800048828125], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 1074, "char_end_idx": 1074, "url": "", "superscript": false, "subscript": false}, {"bbox": [42.31875228881836, 200.8800048828125, 42.31875228881836, 200.8800048828125], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 1075, "char_end_idx": 1075, "url": "", "superscript": false, "subscript": false}], "bbox": [31.44000244140625, 197.37326049804688, 44.16923141479492, 201.70147705078125]}], "bbox": [31.44000244140625, 197.37326049804688, 44.16923141479492, 201.70147705078125]}, {"lines": [{"spans": [{"bbox": [50.63999938964844, 183.4532470703125, 762.1653442382812, 187.78146362304688], "text": "There is no change in the shareholding of Promoter & Promoter Group. The shareholding percentage of Promoter & Promoter Group as shown in (VIII) (A) has decreased (as compared to the shareholding percentage as on September 30, 2022) because DRs representing 96 48 920 shares have been converted into shares and the shares underlying DRs have gone down as ", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 1076, "char_end_idx": 1430, "url": "", "superscript": false, "subscript": false}, {"bbox": [761.2401123046875, 186.95999145507812, 761.2401123046875, 186.95999145507812], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 1431, "char_end_idx": 1431, "url": "", "superscript": false, "subscript": false}, {"bbox": [761.2401123046875, 186.95999145507812, 761.2401123046875, 186.95999145507812], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 1432, "char_end_idx": 1432, "url": "", "superscript": false, "subscript": false}], "bbox": [50.63999938964844, 183.4532470703125, 762.1653442382812, 187.78146362304688]}, {"spans": [{"bbox": [50.63999938964844, 188.73324584960938, 164.54083251953125, 193.06146240234375], "text": "on December 31, 2022 vis-a-vis as on September 30, 2022.", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 1433, "char_end_idx": 1488, "url": "", "superscript": false, "subscript": false}, {"bbox": [163.6156005859375, 192.239990234375, 163.6156005859375, 192.239990234375], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 1489, "char_end_idx": 1489, "url": "", "superscript": false, "subscript": false}, {"bbox": [163.6156005859375, 192.239990234375, 163.6156005859375, 192.239990234375], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 1490, "char_end_idx": 1490, "url": "", "superscript": false, "subscript": false}], "bbox": [50.63999938964844, 188.73324584960938, 164.54083251953125, 193.06146240234375]}], "bbox": [50.63999938964844, 183.4532470703125, 762.1653442382812, 193.06146240234375]}, {"lines": [{"spans": [{"bbox": [610.6799926757812, 58.29327392578125, 626.0624389648438, 62.6214599609375], "text": "As a % ", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 1491, "char_end_idx": 1497, "url": "", "superscript": false, "subscript": false}, {"bbox": [625.13720703125, 61.79998779296875, 625.13720703125, 61.79998779296875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 1498, "char_end_idx": 1498, "url": "", "superscript": false, "subscript": false}, {"bbox": [625.13720703125, 61.79998779296875, 625.13720703125, 61.79998779296875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 1499, "char_end_idx": 1499, "url": "", "superscript": false, "subscript": false}], "bbox": [610.6799926757812, 58.29327392578125, 626.0624389648438, 62.6214599609375]}, {"spans": [{"bbox": [610.5599975585938, 63.81329345703125, 626.2860717773438, 68.1414794921875], "text": "of total ", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 1500, "char_end_idx": 1508, "url": "", "superscript": false, "subscript": false}, {"bbox": [625.36083984375, 67.32000732421875, 625.36083984375, 67.32000732421875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 1509, "char_end_idx": 1509, "url": "", "superscript": false, "subscript": false}, {"bbox": [625.36083984375, 67.32000732421875, 625.36083984375, 67.32000732421875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 1510, "char_end_idx": 1510, "url": "", "superscript": false, "subscript": false}], "bbox": [610.5599975585938, 63.81329345703125, 626.2860717773438, 68.1414794921875]}, {"spans": [{"bbox": [610.6799926757812, 69.333251953125, 626.1766967773438, 73.66143798828125], "text": "Shares ", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 1511, "char_end_idx": 1517, "url": "", "superscript": false, "subscript": false}, {"bbox": [625.25146484375, 72.8399658203125, 625.25146484375, 72.8399658203125], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 1518, "char_end_idx": 1518, "url": "", "superscript": false, "subscript": false}, {"bbox": [625.25146484375, 72.8399658203125, 625.25146484375, 72.8399658203125], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 1519, "char_end_idx": 1519, "url": "", "superscript": false, "subscript": false}], "bbox": [610.6799926757812, 69.333251953125, 626.1766967773438, 73.66143798828125]}, {"spans": [{"bbox": [610.0800170898438, 74.853271484375, 625.4520263671875, 79.18145751953125], "text": "held (b)", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 1520, "char_end_idx": 1527, "url": "", "superscript": false, "subscript": false}, {"bbox": [624.34375, 78.3599853515625, 624.34375, 78.3599853515625], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 1528, "char_end_idx": 1528, "url": "", "superscript": false, "subscript": false}, {"bbox": [624.34375, 78.3599853515625, 624.34375, 78.3599853515625], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 1529, "char_end_idx": 1529, "url": "", "superscript": false, "subscript": false}], "bbox": [610.0800170898438, 74.853271484375, 625.4520263671875, 79.18145751953125]}], "bbox": [610.0800170898438, 58.29327392578125, 626.2860717773438, 79.18145751953125]}, {"lines": [{"spans": [{"bbox": [353.8800048828125, 13.1365966796875, 438.1878356933594, 18.546875], "text": "RELIANCE INDUSTRIES LIMITED", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 1530, "char_end_idx": 1556, "url": "", "superscript": false, "subscript": false}, {"bbox": [435.0036315917969, 17.52001953125, 435.0036315917969, 17.52001953125], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 1557, "char_end_idx": 1557, "url": "", "superscript": false, "subscript": false}, {"bbox": [435.0036315917969, 17.52001953125, 435.0036315917969, 17.52001953125], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 1558, "char_end_idx": 1558, "url": "", "superscript": false, "subscript": false}], "bbox": [353.8800048828125, 13.1365966796875, 438.1878356933594, 18.546875]}, {"spans": [{"bbox": [319.55999755859375, 19.0166015625, 472.5833435058594, 24.4268798828125], "text": "Table I - Summary Statement holding of specified securities", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 1559, "char_end_idx": 1617, "url": "", "superscript": false, "subscript": false}, {"bbox": [470.1312561035156, 23.4000244140625, 470.1312561035156, 23.4000244140625], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 1618, "char_end_idx": 1618, "url": "", "superscript": false, "subscript": false}, {"bbox": [470.1312561035156, 23.4000244140625, 470.1312561035156, 23.4000244140625], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 1619, "char_end_idx": 1619, "url": "", "superscript": false, "subscript": false}], "bbox": [319.55999755859375, 19.0166015625, 472.5833435058594, 24.4268798828125]}], "bbox": [319.55999755859375, 13.1365966796875, 472.5833435058594, 24.4268798828125]}, {"lines": [{"spans": [{"bbox": [27.960002899169922, 32.2532958984375, 48.027259826660156, 36.58148193359375], "text": "Category ", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 1620, "char_end_idx": 1628, "url": "", "superscript": false, "subscript": false}, {"bbox": [47.102020263671875, 35.760009765625, 47.102020263671875, 35.760009765625], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 1629, "char_end_idx": 1629, "url": "", "superscript": false, "subscript": false}, {"bbox": [47.102020263671875, 35.760009765625, 47.102020263671875, 35.760009765625], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 1630, "char_end_idx": 1630, "url": "", "superscript": false, "subscript": false}], "bbox": [27.960002899169922, 32.2532958984375, 48.027259826660156, 36.58148193359375]}, {"spans": [{"bbox": [35.400001525878906, 37.7733154296875, 39.364627838134766, 42.10150146484375], "text": "(I)", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 1631, "char_end_idx": 1633, "url": "", "superscript": false, "subscript": false}, {"bbox": [38.25634002685547, 41.280029296875, 38.25634002685547, 41.280029296875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 1634, "char_end_idx": 1634, "url": "", "superscript": false, "subscript": false}, {"bbox": [38.25634002685547, 41.280029296875, 38.25634002685547, 41.280029296875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 1635, "char_end_idx": 1635, "url": "", "superscript": false, "subscript": false}], "bbox": [35.400001525878906, 37.7733154296875, 39.364627838134766, 42.10150146484375]}], "bbox": [27.960002899169922, 32.2532958984375, 48.027259826660156, 42.10150146484375]}, {"lines": [{"spans": [{"bbox": [466.67999267578125, 32.2532958984375, 495.7550964355469, 36.58148193359375], "text": "No. of Shares ", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 1636, "char_end_idx": 1649, "url": "", "superscript": false, "subscript": false}, {"bbox": [494.8298645019531, 35.760009765625, 494.8298645019531, 35.760009765625], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 1650, "char_end_idx": 1650, "url": "", "superscript": false, "subscript": false}, {"bbox": [494.8298645019531, 35.760009765625, 494.8298645019531, 35.760009765625], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 1651, "char_end_idx": 1651, "url": "", "superscript": false, "subscript": false}], "bbox": [466.67999267578125, 32.2532958984375, 495.7550964355469, 36.58148193359375]}, {"spans": [{"bbox": [469.55999755859375, 37.7733154296875, 492.8673400878906, 42.10150146484375], "text": "Underlying ", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 1652, "char_end_idx": 1662, "url": "", "superscript": false, "subscript": false}, {"bbox": [491.9421081542969, 41.280029296875, 491.9421081542969, 41.280029296875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 1663, "char_end_idx": 1663, "url": "", "superscript": false, "subscript": false}, {"bbox": [491.9421081542969, 41.280029296875, 491.9421081542969, 41.280029296875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 1664, "char_end_idx": 1664, "url": "", "superscript": false, "subscript": false}], "bbox": [469.55999755859375, 37.7733154296875, 492.8673400878906, 42.10150146484375]}, {"spans": [{"bbox": [468.1199951171875, 43.29327392578125, 494.3203125, 47.6214599609375], "text": "Outstanding ", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 1665, "char_end_idx": 1676, "url": "", "superscript": false, "subscript": false}, {"bbox": [493.39508056640625, 46.79998779296875, 493.39508056640625, 46.79998779296875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 1677, "char_end_idx": 1677, "url": "", "superscript": false, "subscript": false}, {"bbox": [493.39508056640625, 46.79998779296875, 493.39508056640625, 46.79998779296875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 1678, "char_end_idx": 1678, "url": "", "superscript": false, "subscript": false}], "bbox": [468.1199951171875, 43.29327392578125, 494.3203125, 47.6214599609375]}, {"spans": [{"bbox": [469.32000732421875, 48.81329345703125, 493.0861511230469, 53.1414794921875], "text": "convertible ", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 1679, "char_end_idx": 1690, "url": "", "superscript": false, "subscript": false}, {"bbox": [492.1609191894531, 52.32000732421875, 492.1609191894531, 52.32000732421875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 1691, "char_end_idx": 1691, "url": "", "superscript": false, "subscript": false}, {"bbox": [492.1609191894531, 52.32000732421875, 492.1609191894531, 52.32000732421875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 1692, "char_end_idx": 1692, "url": "", "superscript": false, "subscript": false}], "bbox": [469.32000732421875, 48.81329345703125, 493.0861511230469, 53.1414794921875]}, {"spans": [{"bbox": [470.8799743652344, 54.333251953125, 491.6665954589844, 58.66143798828125], "text": "securities ", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 1693, "char_end_idx": 1703, "url": "", "superscript": false, "subscript": false}, {"bbox": [490.7413635253906, 57.8399658203125, 490.7413635253906, 57.8399658203125], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 1704, "char_end_idx": 1704, "url": "", "superscript": false, "subscript": false}, {"bbox": [490.7413635253906, 57.8399658203125, 490.7413635253906, 57.8399658203125], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 1705, "char_end_idx": 1705, "url": "", "superscript": false, "subscript": false}], "bbox": [470.8799743652344, 54.333251953125, 491.6665954589844, 58.66143798828125]}, {"spans": [{"bbox": [470.6400146484375, 59.853271484375, 491.7997131347656, 64.18145751953125], "text": "(including ", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 1706, "char_end_idx": 1716, "url": "", "superscript": false, "subscript": false}, {"bbox": [490.8744812011719, 63.3599853515625, 490.8744812011719, 63.3599853515625], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 1717, "char_end_idx": 1717, "url": "", "superscript": false, "subscript": false}, {"bbox": [490.8744812011719, 63.3599853515625, 490.8744812011719, 63.3599853515625], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 1718, "char_end_idx": 1718, "url": "", "superscript": false, "subscript": false}], "bbox": [470.6400146484375, 59.853271484375, 491.7997131347656, 64.18145751953125]}, {"spans": [{"bbox": [467.0400390625, 65.373291015625, 494.283447265625, 69.70147705078125], "text": "Warrants) (X)", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 1719, "char_end_idx": 1731, "url": "", "superscript": false, "subscript": false}, {"bbox": [493.1751708984375, 68.8800048828125, 493.1751708984375, 68.8800048828125], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 1732, "char_end_idx": 1732, "url": "", "superscript": false, "subscript": false}, {"bbox": [493.1751708984375, 68.8800048828125, 493.1751708984375, 68.8800048828125], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 1733, "char_end_idx": 1733, "url": "", "superscript": false, "subscript": false}], "bbox": [467.0400390625, 65.373291015625, 494.283447265625, 69.70147705078125]}], "bbox": [466.67999267578125, 32.2532958984375, 495.7550964355469, 69.70147705078125]}, {"lines": [{"spans": [{"bbox": [512.2799682617188, 32.2532958984375, 523.9306030273438, 36.58148193359375], "text": "Total ", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 1734, "char_end_idx": 1739, "url": "", "superscript": false, "subscript": false}, {"bbox": [523.00537109375, 35.760009765625, 523.00537109375, 35.760009765625], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 1740, "char_end_idx": 1740, "url": "", "superscript": false, "subscript": false}, {"bbox": [523.00537109375, 35.760009765625, 523.00537109375, 35.760009765625], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 1741, "char_end_idx": 1741, "url": "", "superscript": false, "subscript": false}], "bbox": [512.2799682617188, 32.2532958984375, 523.9306030273438, 36.58148193359375]}, {"spans": [{"bbox": [499.67999267578125, 37.7733154296875, 536.4194946289062, 42.10150146484375], "text": "Shareholding , as ", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 1742, "char_end_idx": 1759, "url": "", "superscript": false, "subscript": false}, {"bbox": [535.4942626953125, 41.280029296875, 535.4942626953125, 41.280029296875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 1760, "char_end_idx": 1760, "url": "", "superscript": false, "subscript": false}, {"bbox": [535.4942626953125, 41.280029296875, 535.4942626953125, 41.280029296875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 1761, "char_end_idx": 1761, "url": "", "superscript": false, "subscript": false}], "bbox": [499.67999267578125, 37.7733154296875, 536.4194946289062, 42.10150146484375]}, {"spans": [{"bbox": [499.4400329589844, 43.29327392578125, 536.770751953125, 47.6214599609375], "text": "a % assuming full ", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 1762, "char_end_idx": 1779, "url": "", "superscript": false, "subscript": false}, {"bbox": [535.8455200195312, 46.79998779296875, 535.8455200195312, 46.79998779296875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 1780, "char_end_idx": 1780, "url": "", "superscript": false, "subscript": false}, {"bbox": [535.8455200195312, 46.79998779296875, 535.8455200195312, 46.79998779296875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 1781, "char_end_idx": 1781, "url": "", "superscript": false, "subscript": false}], "bbox": [499.4400329589844, 43.29327392578125, 536.770751953125, 47.6214599609375]}, {"spans": [{"bbox": [503.5199890136719, 48.81329345703125, 532.5795288085938, 53.1414794921875], "text": "conversion of ", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 1782, "char_end_idx": 1795, "url": "", "superscript": false, "subscript": false}, {"bbox": [531.654296875, 52.32000732421875, 531.654296875, 52.32000732421875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 1796, "char_end_idx": 1796, "url": "", "superscript": false, "subscript": false}, {"bbox": [531.654296875, 52.32000732421875, 531.654296875, 52.32000732421875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 1797, "char_end_idx": 1797, "url": "", "superscript": false, "subscript": false}], "bbox": [503.5199890136719, 48.81329345703125, 532.5795288085938, 53.1414794921875]}, {"spans": [{"bbox": [506.1600036621094, 54.333251953125, 529.9261474609375, 58.66143798828125], "text": "convertible ", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 1798, "char_end_idx": 1809, "url": "", "superscript": false, "subscript": false}, {"bbox": [529.0009155273438, 57.8399658203125, 529.0009155273438, 57.8399658203125], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 1810, "char_end_idx": 1810, "url": "", "superscript": false, "subscript": false}, {"bbox": [529.0009155273438, 57.8399658203125, 529.0009155273438, 57.8399658203125], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 1811, "char_end_idx": 1811, "url": "", "superscript": false, "subscript": false}], "bbox": [506.1600036621094, 54.333251953125, 529.9261474609375, 58.66143798828125]}, {"spans": [{"bbox": [502.08001708984375, 59.853271484375, 534.036865234375, 64.18145751953125], "text": "securities (as a ", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 1812, "char_end_idx": 1828, "url": "", "superscript": false, "subscript": false}, {"bbox": [533.1116333007812, 63.3599853515625, 533.1116333007812, 63.3599853515625], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 1829, "char_end_idx": 1829, "url": "", "superscript": false, "subscript": false}, {"bbox": [533.1116333007812, 63.3599853515625, 533.1116333007812, 63.3599853515625], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 1830, "char_end_idx": 1830, "url": "", "superscript": false, "subscript": false}], "bbox": [502.08001708984375, 59.853271484375, 534.036865234375, 64.18145751953125]}, {"spans": [{"bbox": [503.27996826171875, 65.373291015625, 532.9402465820312, 69.70147705078125], "text": "percentage of ", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 1831, "char_end_idx": 1844, "url": "", "superscript": false, "subscript": false}, {"bbox": [532.0150146484375, 68.8800048828125, 532.0150146484375, 68.8800048828125], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 1845, "char_end_idx": 1845, "url": "", "superscript": false, "subscript": false}, {"bbox": [532.0150146484375, 68.8800048828125, 532.0150146484375, 68.8800048828125], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 1846, "char_end_idx": 1846, "url": "", "superscript": false, "subscript": false}], "bbox": [503.27996826171875, 65.373291015625, 532.9402465820312, 69.70147705078125]}, {"spans": [{"bbox": [504.239990234375, 70.893310546875, 531.862548828125, 75.22149658203125], "text": "diluted share ", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 1847, "char_end_idx": 1860, "url": "", "superscript": false, "subscript": false}, {"bbox": [530.9373168945312, 74.4000244140625, 530.9373168945312, 74.4000244140625], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 1861, "char_end_idx": 1861, "url": "", "superscript": false, "subscript": false}, {"bbox": [530.9373168945312, 74.4000244140625, 530.9373168945312, 74.4000244140625], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 1862, "char_end_idx": 1862, "url": "", "superscript": false, "subscript": false}], "bbox": [504.239990234375, 70.893310546875, 531.862548828125, 75.22149658203125]}, {"spans": [{"bbox": [504.5999755859375, 76.41326904296875, 531.5196533203125, 80.741455078125], "text": "capital) (XI)= ", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 1863, "char_end_idx": 1877, "url": "", "superscript": false, "subscript": false}, {"bbox": [530.5944213867188, 79.91998291015625, 530.5944213867188, 79.91998291015625], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 1878, "char_end_idx": 1878, "url": "", "superscript": false, "subscript": false}, {"bbox": [530.5944213867188, 79.91998291015625, 530.5944213867188, 79.91998291015625], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 1879, "char_end_idx": 1879, "url": "", "superscript": false, "subscript": false}], "bbox": [504.5999755859375, 76.41326904296875, 531.5196533203125, 80.741455078125]}, {"spans": [{"bbox": [498.96002197265625, 81.93328857421875, 537.15380859375, 86.261474609375], "text": "(VII)+(X) As a % of ", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 1880, "char_end_idx": 1899, "url": "", "superscript": false, "subscript": false}, {"bbox": [536.2285766601562, 85.44000244140625, 536.2285766601562, 85.44000244140625], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 1900, "char_end_idx": 1900, "url": "", "superscript": false, "subscript": false}, {"bbox": [536.2285766601562, 85.44000244140625, 536.2285766601562, 85.44000244140625], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 1901, "char_end_idx": 1901, "url": "", "superscript": false, "subscript": false}], "bbox": [498.96002197265625, 81.93328857421875, 537.15380859375, 86.261474609375]}, {"spans": [{"bbox": [507.72003173828125, 87.45330810546875, 527.3025512695312, 91.781494140625], "text": "(A+B+C2)", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 1902, "char_end_idx": 1909, "url": "", "superscript": false, "subscript": false}, {"bbox": [526.1942749023438, 90.96002197265625, 526.1942749023438, 90.96002197265625], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 1910, "char_end_idx": 1910, "url": "", "superscript": false, "subscript": false}, {"bbox": [526.1942749023438, 90.96002197265625, 526.1942749023438, 90.96002197265625], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 1911, "char_end_idx": 1911, "url": "", "superscript": false, "subscript": false}], "bbox": [507.72003173828125, 87.45330810546875, 527.3025512695312, 91.781494140625]}], "bbox": [498.96002197265625, 32.2532958984375, 537.15380859375, 91.781494140625]}, {"lines": [{"spans": [{"bbox": [544.6799926757812, 58.29327392578125, 552.8585815429688, 62.6214599609375], "text": "No. ", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 1912, "char_end_idx": 1915, "url": "", "superscript": false, "subscript": false}, {"bbox": [551.933349609375, 61.79998779296875, 551.933349609375, 61.79998779296875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 1916, "char_end_idx": 1916, "url": "", "superscript": false, "subscript": false}, {"bbox": [551.933349609375, 61.79998779296875, 551.933349609375, 61.79998779296875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 1917, "char_end_idx": 1917, "url": "", "superscript": false, "subscript": false}], "bbox": [544.6799926757812, 58.29327392578125, 552.8585815429688, 62.6214599609375]}, {"spans": [{"bbox": [545.52001953125, 63.81329345703125, 550.9129638671875, 68.1414794921875], "text": "(a)", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 1918, "char_end_idx": 1920, "url": "", "superscript": false, "subscript": false}, {"bbox": [549.8046875, 67.32000732421875, 549.8046875, 67.32000732421875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 1921, "char_end_idx": 1921, "url": "", "superscript": false, "subscript": false}, {"bbox": [549.8046875, 67.32000732421875, 549.8046875, 67.32000732421875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 1922, "char_end_idx": 1922, "url": "", "superscript": false, "subscript": false}], "bbox": [545.52001953125, 63.81329345703125, 550.9129638671875, 68.1414794921875]}], "bbox": [544.6799926757812, 58.29327392578125, 552.8585815429688, 68.1414794921875]}, {"lines": [{"spans": [{"bbox": [199.32000732421875, 32.2532958984375, 236.464599609375, 36.58148193359375], "text": "No. of Partly paid-\n", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 1923, "char_end_idx": 1941, "url": "", "superscript": false, "subscript": false}], "bbox": [199.32000732421875, 32.2532958984375, 236.464599609375, 36.58148193359375]}, {"spans": [{"bbox": [201.0, 37.7733154296875, 235.95884704589844, 42.10150146484375], "text": "up equity shares ", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 1942, "char_end_idx": 1958, "url": "", "superscript": false, "subscript": false}, {"bbox": [235.0336151123047, 41.280029296875, 235.0336151123047, 41.280029296875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 1959, "char_end_idx": 1959, "url": "", "superscript": false, "subscript": false}, {"bbox": [235.0336151123047, 41.280029296875, 235.0336151123047, 41.280029296875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 1960, "char_end_idx": 1960, "url": "", "superscript": false, "subscript": false}], "bbox": [201.0, 37.7733154296875, 235.95884704589844, 42.10150146484375]}, {"spans": [{"bbox": [204.1199951171875, 43.29327392578125, 213.96664428710938, 47.6214599609375], "text": "held ", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 1961, "char_end_idx": 1965, "url": "", "superscript": false, "subscript": false}, {"bbox": [225.98951721191406, 43.29327392578125, 231.75900268554688, 47.6214599609375], "text": "(V)", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 1966, "char_end_idx": 1968, "url": "", "superscript": false, "subscript": false}, {"bbox": [230.6507110595703, 46.79998779296875, 230.6507110595703, 46.79998779296875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 1969, "char_end_idx": 1969, "url": "", "superscript": false, "subscript": false}, {"bbox": [230.6507110595703, 46.79998779296875, 230.6507110595703, 46.79998779296875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 1970, "char_end_idx": 1970, "url": "", "superscript": false, "subscript": false}], "bbox": [204.1199951171875, 43.29327392578125, 231.75900268554688, 47.6214599609375]}], "bbox": [199.32000732421875, 32.2532958984375, 236.464599609375, 47.6214599609375]}, {"lines": [{"spans": [{"bbox": [162.0, 32.2532958984375, 195.5236053466797, 36.58148193359375], "text": "No. of fully paid ", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 1971, "char_end_idx": 1988, "url": "", "superscript": false, "subscript": false}, {"bbox": [194.59837341308594, 35.760009765625, 194.59837341308594, 35.760009765625], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 1989, "char_end_idx": 1989, "url": "", "superscript": false, "subscript": false}, {"bbox": [194.59837341308594, 35.760009765625, 194.59837341308594, 35.760009765625], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 1990, "char_end_idx": 1990, "url": "", "superscript": false, "subscript": false}], "bbox": [162.0, 32.2532958984375, 195.5236053466797, 36.58148193359375]}, {"spans": [{"bbox": [161.27999877929688, 37.7733154296875, 196.2388458251953, 42.10150146484375], "text": "up equity shares ", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 1991, "char_end_idx": 2007, "url": "", "superscript": false, "subscript": false}, {"bbox": [195.31361389160156, 41.280029296875, 195.31361389160156, 41.280029296875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 2008, "char_end_idx": 2008, "url": "", "superscript": false, "subscript": false}, {"bbox": [195.31361389160156, 41.280029296875, 195.31361389160156, 41.280029296875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 2009, "char_end_idx": 2009, "url": "", "superscript": false, "subscript": false}], "bbox": [161.27999877929688, 37.7733154296875, 196.2388458251953, 42.10150146484375]}, {"spans": [{"bbox": [173.8800048828125, 43.29327392578125, 183.72665405273438, 47.6214599609375], "text": "held ", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 2010, "char_end_idx": 2014, "url": "", "superscript": false, "subscript": false}, {"bbox": [182.80142211914062, 46.79998779296875, 182.80142211914062, 46.79998779296875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 2015, "char_end_idx": 2015, "url": "", "superscript": false, "subscript": false}, {"bbox": [182.80142211914062, 46.79998779296875, 182.80142211914062, 46.79998779296875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 2016, "char_end_idx": 2016, "url": "", "superscript": false, "subscript": false}], "bbox": [173.8800048828125, 43.29327392578125, 183.72665405273438, 47.6214599609375]}, {"spans": [{"bbox": [174.72000122070312, 48.81329345703125, 181.571533203125, 53.1414794921875], "text": "(IV)", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 2017, "char_end_idx": 2020, "url": "", "superscript": false, "subscript": false}, {"bbox": [180.46324157714844, 52.32000732421875, 180.46324157714844, 52.32000732421875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 2021, "char_end_idx": 2021, "url": "", "superscript": false, "subscript": false}, {"bbox": [180.46324157714844, 52.32000732421875, 180.46324157714844, 52.32000732421875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 2022, "char_end_idx": 2022, "url": "", "superscript": false, "subscript": false}], "bbox": [174.72000122070312, 48.81329345703125, 181.571533203125, 53.1414794921875]}], "bbox": [161.27999877929688, 32.2532958984375, 196.2388458251953, 53.1414794921875]}, {"lines": [{"spans": [{"bbox": [131.16000366210938, 32.2532958984375, 147.00726318359375, 36.58148193359375], "text": "Nos. of ", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 2023, "char_end_idx": 2030, "url": "", "superscript": false, "subscript": false}, {"bbox": [146.08203125, 35.760009765625, 146.08203125, 35.760009765625], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 2031, "char_end_idx": 2031, "url": "", "superscript": false, "subscript": false}, {"bbox": [146.08203125, 35.760009765625, 146.08203125, 35.760009765625], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 2032, "char_end_idx": 2032, "url": "", "superscript": false, "subscript": false}], "bbox": [131.16000366210938, 32.2532958984375, 147.00726318359375, 36.58148193359375]}, {"spans": [{"bbox": [121.44000244140625, 37.7733154296875, 155.44317626953125, 42.10150146484375], "text": "shareholders (III)", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 2033, "char_end_idx": 2050, "url": "", "superscript": false, "subscript": false}, {"bbox": [154.3348846435547, 41.280029296875, 154.3348846435547, 41.280029296875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 2051, "char_end_idx": 2051, "url": "", "superscript": false, "subscript": false}, {"bbox": [154.3348846435547, 41.280029296875, 154.3348846435547, 41.280029296875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 2052, "char_end_idx": 2052, "url": "", "superscript": false, "subscript": false}], "bbox": [121.44000244140625, 37.7733154296875, 155.44317626953125, 42.10150146484375]}], "bbox": [121.44000244140625, 32.2532958984375, 155.44317626953125, 42.10150146484375]}, {"lines": [{"spans": [{"bbox": [313.79998779296875, 32.2532958984375, 342.16180419921875, 36.58148193359375], "text": "Shareholding ", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 2053, "char_end_idx": 2065, "url": "", "superscript": false, "subscript": false}, {"bbox": [341.236572265625, 35.760009765625, 341.236572265625, 35.760009765625], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 2066, "char_end_idx": 2066, "url": "", "superscript": false, "subscript": false}, {"bbox": [341.236572265625, 35.760009765625, 341.236572265625, 35.760009765625], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 2067, "char_end_idx": 2067, "url": "", "superscript": false, "subscript": false}], "bbox": [313.79998779296875, 32.2532958984375, 342.16180419921875, 36.58148193359375]}, {"spans": [{"bbox": [312.7200012207031, 37.7733154296875, 343.3463439941406, 42.10150146484375], "text": "as a % of total ", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 2068, "char_end_idx": 2083, "url": "", "superscript": false, "subscript": false}, {"bbox": [342.4211120605469, 41.280029296875, 342.4211120605469, 41.280029296875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 2084, "char_end_idx": 2084, "url": "", "superscript": false, "subscript": false}, {"bbox": [342.4211120605469, 41.280029296875, 342.4211120605469, 41.280029296875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 2085, "char_end_idx": 2085, "url": "", "superscript": false, "subscript": false}], "bbox": [312.7200012207031, 37.7733154296875, 343.3463439941406, 42.10150146484375]}, {"spans": [{"bbox": [314.0400085449219, 43.29327392578125, 341.9092712402344, 47.6214599609375], "text": "no. of shares ", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 2086, "char_end_idx": 2099, "url": "", "superscript": false, "subscript": false}, {"bbox": [340.9840393066406, 46.79998779296875, 340.9840393066406, 46.79998779296875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 2100, "char_end_idx": 2100, "url": "", "superscript": false, "subscript": false}, {"bbox": [340.9840393066406, 46.79998779296875, 340.9840393066406, 46.79998779296875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 2101, "char_end_idx": 2101, "url": "", "superscript": false, "subscript": false}], "bbox": [314.0400085449219, 43.29327392578125, 341.9092712402344, 47.6214599609375]}, {"spans": [{"bbox": [313.20001220703125, 48.81329345703125, 342.85943603515625, 53.1414794921875], "text": "(calculated as ", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 2102, "char_end_idx": 2116, "url": "", "superscript": false, "subscript": false}, {"bbox": [341.9342041015625, 52.32000732421875, 341.9342041015625, 52.32000732421875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 2117, "char_end_idx": 2117, "url": "", "superscript": false, "subscript": false}, {"bbox": [341.9342041015625, 52.32000732421875, 341.9342041015625, 52.32000732421875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 2118, "char_end_idx": 2118, "url": "", "superscript": false, "subscript": false}], "bbox": [313.20001220703125, 48.81329345703125, 342.85943603515625, 53.1414794921875]}, {"spans": [{"bbox": [316.6800231933594, 54.333251953125, 339.2611083984375, 58.66143798828125], "text": "per SCRR, ", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 2119, "char_end_idx": 2128, "url": "", "superscript": false, "subscript": false}, {"bbox": [338.33587646484375, 57.8399658203125, 338.33587646484375, 57.8399658203125], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 2129, "char_end_idx": 2129, "url": "", "superscript": false, "subscript": false}, {"bbox": [338.33587646484375, 57.8399658203125, 338.33587646484375, 57.8399658203125], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 2130, "char_end_idx": 2130, "url": "", "superscript": false, "subscript": false}], "bbox": [316.6800231933594, 54.333251953125, 339.2611083984375, 58.66143798828125]}, {"spans": [{"bbox": [311.6399841308594, 59.853271484375, 344.297119140625, 64.18145751953125], "text": "1957) (VIII) As a ", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 2131, "char_end_idx": 2148, "url": "", "superscript": false, "subscript": false}, {"bbox": [343.37188720703125, 63.3599853515625, 343.37188720703125, 63.3599853515625], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 2149, "char_end_idx": 2149, "url": "", "superscript": false, "subscript": false}, {"bbox": [343.37188720703125, 63.3599853515625, 343.37188720703125, 63.3599853515625], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 2150, "char_end_idx": 2150, "url": "", "superscript": false, "subscript": false}], "bbox": [311.6399841308594, 59.853271484375, 344.297119140625, 64.18145751953125]}, {"spans": [{"bbox": [312.3599853515625, 65.373291015625, 342.5015563964844, 69.70147705078125], "text": "% of (A+B+C2)", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 2151, "char_end_idx": 2163, "url": "", "superscript": false, "subscript": false}, {"bbox": [341.3932800292969, 68.8800048828125, 341.3932800292969, 68.8800048828125], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 2164, "char_end_idx": 2164, "url": "", "superscript": false, "subscript": false}, {"bbox": [341.3932800292969, 68.8800048828125, 341.3932800292969, 68.8800048828125], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 2165, "char_end_idx": 2165, "url": "", "superscript": false, "subscript": false}], "bbox": [312.3599853515625, 65.373291015625, 342.5015563964844, 69.70147705078125]}], "bbox": [311.6399841308594, 32.2532958984375, 344.297119140625, 69.70147705078125]}, {"lines": [{"spans": [{"bbox": [284.5199890136719, 32.2532958984375, 306.0233459472656, 36.58148193359375], "text": "Total nos. ", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 2166, "char_end_idx": 2176, "url": "", "superscript": false, "subscript": false}, {"bbox": [305.0981140136719, 35.760009765625, 305.0981140136719, 35.760009765625], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 2177, "char_end_idx": 2177, "url": "", "superscript": false, "subscript": false}, {"bbox": [305.0981140136719, 35.760009765625, 305.0981140136719, 35.760009765625], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 2178, "char_end_idx": 2178, "url": "", "superscript": false, "subscript": false}], "bbox": [284.5199890136719, 32.2532958984375, 306.0233459472656, 36.58148193359375]}, {"spans": [{"bbox": [282.9599914550781, 37.7733154296875, 307.6913146972656, 42.10150146484375], "text": "shares held ", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 2179, "char_end_idx": 2190, "url": "", "superscript": false, "subscript": false}, {"bbox": [306.7660827636719, 41.280029296875, 306.7660827636719, 41.280029296875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 2191, "char_end_idx": 2191, "url": "", "superscript": false, "subscript": false}, {"bbox": [306.7660827636719, 41.280029296875, 306.7660827636719, 41.280029296875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 2192, "char_end_idx": 2192, "url": "", "superscript": false, "subscript": false}], "bbox": [282.9599914550781, 37.7733154296875, 307.6913146972656, 42.10150146484375]}, {"spans": [{"bbox": [290.760009765625, 43.29327392578125, 299.8968505859375, 47.6214599609375], "text": "(VII) ", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 2193, "char_end_idx": 2198, "url": "", "superscript": false, "subscript": false}, {"bbox": [298.97161865234375, 46.79998779296875, 298.97161865234375, 46.79998779296875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 2199, "char_end_idx": 2199, "url": "", "superscript": false, "subscript": false}, {"bbox": [298.97161865234375, 46.79998779296875, 298.97161865234375, 46.79998779296875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 2200, "char_end_idx": 2200, "url": "", "superscript": false, "subscript": false}], "bbox": [290.760009765625, 43.29327392578125, 299.8968505859375, 47.6214599609375]}, {"spans": [{"bbox": [281.15997314453125, 48.81329345703125, 308.18524169921875, 53.1414794921875], "text": "=(IV)+(V)+(VI)", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 2201, "char_end_idx": 2214, "url": "", "superscript": false, "subscript": false}, {"bbox": [307.07696533203125, 52.32000732421875, 307.07696533203125, 52.32000732421875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 2215, "char_end_idx": 2215, "url": "", "superscript": false, "subscript": false}, {"bbox": [307.07696533203125, 52.32000732421875, 307.07696533203125, 52.32000732421875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 2216, "char_end_idx": 2216, "url": "", "superscript": false, "subscript": false}], "bbox": [281.15997314453125, 48.81329345703125, 308.18524169921875, 53.1414794921875]}], "bbox": [281.15997314453125, 32.2532958984375, 308.18524169921875, 53.1414794921875]}, {"lines": [{"spans": [{"bbox": [244.4399871826172, 32.2532958984375, 272.93511962890625, 36.58148193359375], "text": "No. of shares ", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 2217, "char_end_idx": 2230, "url": "", "superscript": false, "subscript": false}, {"bbox": [272.0098876953125, 35.760009765625, 272.0098876953125, 35.760009765625], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 2231, "char_end_idx": 2231, "url": "", "superscript": false, "subscript": false}, {"bbox": [272.0098876953125, 35.760009765625, 272.0098876953125, 35.760009765625], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 2232, "char_end_idx": 2232, "url": "", "superscript": false, "subscript": false}], "bbox": [244.4399871826172, 32.2532958984375, 272.93511962890625, 36.58148193359375]}, {"spans": [{"bbox": [247.32000732421875, 37.7733154296875, 270.00408935546875, 42.10150146484375], "text": "underlying ", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 2233, "char_end_idx": 2243, "url": "", "superscript": false, "subscript": false}, {"bbox": [269.078857421875, 41.280029296875, 269.078857421875, 41.280029296875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 2244, "char_end_idx": 2244, "url": "", "superscript": false, "subscript": false}, {"bbox": [269.078857421875, 41.280029296875, 269.078857421875, 41.280029296875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 2245, "char_end_idx": 2245, "url": "", "superscript": false, "subscript": false}], "bbox": [247.32000732421875, 37.7733154296875, 270.00408935546875, 42.10150146484375]}, {"spans": [{"bbox": [246.95999145507812, 43.29327392578125, 270.50970458984375, 47.6214599609375], "text": "Depository ", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 2246, "char_end_idx": 2256, "url": "", "superscript": false, "subscript": false}, {"bbox": [269.58447265625, 46.79998779296875, 269.58447265625, 46.79998779296875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 2257, "char_end_idx": 2257, "url": "", "superscript": false, "subscript": false}, {"bbox": [269.58447265625, 46.79998779296875, 269.58447265625, 46.79998779296875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 2258, "char_end_idx": 2258, "url": "", "superscript": false, "subscript": false}], "bbox": [246.95999145507812, 43.29327392578125, 270.50970458984375, 47.6214599609375]}, {"spans": [{"bbox": [249.239990234375, 48.81329345703125, 268.2174072265625, 53.1414794921875], "text": "Receipts ", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 2259, "char_end_idx": 2267, "url": "", "superscript": false, "subscript": false}, {"bbox": [267.29217529296875, 52.32000732421875, 267.29217529296875, 52.32000732421875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 2268, "char_end_idx": 2268, "url": "", "superscript": false, "subscript": false}, {"bbox": [267.29217529296875, 52.32000732421875, 267.29217529296875, 52.32000732421875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 2269, "char_end_idx": 2269, "url": "", "superscript": false, "subscript": false}], "bbox": [249.239990234375, 48.81329345703125, 268.2174072265625, 53.1414794921875]}, {"spans": [{"bbox": [254.63998413085938, 54.333251953125, 262.69476318359375, 58.66143798828125], "text": "(VI) ", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 2270, "char_end_idx": 2274, "url": "", "superscript": false, "subscript": false}, {"bbox": [261.76953125, 57.8399658203125, 261.76953125, 57.8399658203125], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 2275, "char_end_idx": 2275, "url": "", "superscript": false, "subscript": false}, {"bbox": [261.76953125, 57.8399658203125, 261.76953125, 57.8399658203125], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 2276, "char_end_idx": 2276, "url": "", "superscript": false, "subscript": false}], "bbox": [254.63998413085938, 54.333251953125, 262.69476318359375, 58.66143798828125]}], "bbox": [244.4399871826172, 32.2532958984375, 272.93511962890625, 58.66143798828125]}, {"lines": [{"spans": [{"bbox": [540.7200317382812, 32.2532958984375, 580.0252685546875, 36.58148193359375], "text": "Number of Locked ", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 2277, "char_end_idx": 2293, "url": "", "superscript": false, "subscript": false}, {"bbox": [579.1000366210938, 35.760009765625, 579.1000366210938, 35.760009765625], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 2294, "char_end_idx": 2294, "url": "", "superscript": false, "subscript": false}, {"bbox": [579.1000366210938, 35.760009765625, 579.1000366210938, 35.760009765625], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 2295, "char_end_idx": 2295, "url": "", "superscript": false, "subscript": false}], "bbox": [540.7200317382812, 32.2532958984375, 580.0252685546875, 36.58148193359375]}, {"spans": [{"bbox": [546.5999755859375, 37.7733154296875, 572.99853515625, 42.10150146484375], "text": "in shares(XII)", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 2296, "char_end_idx": 2309, "url": "", "superscript": false, "subscript": false}, {"bbox": [571.8902587890625, 41.280029296875, 571.8902587890625, 41.280029296875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 2310, "char_end_idx": 2310, "url": "", "superscript": false, "subscript": false}, {"bbox": [571.8902587890625, 41.280029296875, 571.8902587890625, 41.280029296875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 2311, "char_end_idx": 2311, "url": "", "superscript": false, "subscript": false}], "bbox": [546.5999755859375, 37.7733154296875, 572.99853515625, 42.10150146484375]}], "bbox": [540.7200317382812, 32.2532958984375, 580.0252685546875, 42.10150146484375]}, {"lines": [{"spans": [{"bbox": [50.63999938964844, 197.25326538085938, 454.33099365234375, 201.58148193359375], "text": "As per information furnished by the Promoter and Promoter Group, there are 51 members forming part of Promoter and Promoter Group of the Company, of which 4 promoter group entities do not hold any shares. ", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 2312, "char_end_idx": 2516, "url": "", "superscript": false, "subscript": false}, {"bbox": [453.40576171875, 200.760009765625, 453.40576171875, 200.760009765625], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 2517, "char_end_idx": 2517, "url": "", "superscript": false, "subscript": false}, {"bbox": [453.40576171875, 200.760009765625, 453.40576171875, 200.760009765625], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 2518, "char_end_idx": 2518, "url": "", "superscript": false, "subscript": false}], "bbox": [50.63999938964844, 197.25326538085938, 454.33099365234375, 201.58148193359375]}], "bbox": [50.63999938964844, 197.25326538085938, 454.33099365234375, 201.58148193359375]}, {"lines": [{"spans": [{"bbox": [50.63999938964844, 164.61325073242188, 235.36309814453125, 168.94146728515625], "text": "Voting Rights on shares are in proportion to the amount paid\u2013up on the face value of such shares.", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 2519, "char_end_idx": 2615, "url": "", "superscript": false, "subscript": false}, {"bbox": [234.4378662109375, 168.1199951171875, 234.4378662109375, 168.1199951171875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 2616, "char_end_idx": 2616, "url": "", "superscript": false, "subscript": false}, {"bbox": [234.4378662109375, 168.1199951171875, 234.4378662109375, 168.1199951171875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 2617, "char_end_idx": 2617, "url": "", "superscript": false, "subscript": false}], "bbox": [50.63999938964844, 164.61325073242188, 235.36309814453125, 168.94146728515625]}], "bbox": [50.63999938964844, 164.61325073242188, 235.36309814453125, 168.94146728515625]}, {"lines": [{"spans": [{"bbox": [683.6400146484375, 32.2532958984375, 743.8114624023438, 36.58148193359375], "text": "Sub-categorization of shares ", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 2618, "char_end_idx": 2646, "url": "", "superscript": false, "subscript": false}, {"bbox": [742.88623046875, 35.760009765625, 742.88623046875, 35.760009765625], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 2647, "char_end_idx": 2647, "url": "", "superscript": false, "subscript": false}, {"bbox": [742.88623046875, 35.760009765625, 742.88623046875, 35.760009765625], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 2648, "char_end_idx": 2648, "url": "", "superscript": false, "subscript": false}], "bbox": [683.6400146484375, 32.2532958984375, 743.8114624023438, 36.58148193359375]}, {"spans": [{"bbox": [708.8399658203125, 37.7733154296875, 717.496337890625, 42.10150146484375], "text": "(XV)", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 2649, "char_end_idx": 2652, "url": "", "superscript": false, "subscript": false}, {"bbox": [716.3880615234375, 41.280029296875, 716.3880615234375, 41.280029296875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 2653, "char_end_idx": 2653, "url": "", "superscript": false, "subscript": false}, {"bbox": [716.3880615234375, 41.280029296875, 716.3880615234375, 41.280029296875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 2654, "char_end_idx": 2654, "url": "", "superscript": false, "subscript": false}], "bbox": [708.8399658203125, 37.7733154296875, 717.496337890625, 42.10150146484375]}], "bbox": [683.6400146484375, 32.2532958984375, 743.8114624023438, 42.10150146484375]}, {"lines": [{"spans": [{"bbox": [677.760009765625, 58.29327392578125, 749.226318359375, 62.6214599609375], "text": "Shareholding (No. of shares) under", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 2655, "char_end_idx": 2688, "url": "", "superscript": false, "subscript": false}, {"bbox": [747.931640625, 61.79998779296875, 747.931640625, 61.79998779296875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 2689, "char_end_idx": 2689, "url": "", "superscript": false, "subscript": false}, {"bbox": [747.931640625, 61.79998779296875, 747.931640625, 61.79998779296875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 2690, "char_end_idx": 2690, "url": "", "superscript": false, "subscript": false}], "bbox": [677.760009765625, 58.29327392578125, 749.226318359375, 62.6214599609375]}], "bbox": [677.760009765625, 58.29327392578125, 749.226318359375, 62.6214599609375]}, {"lines": [{"spans": [{"bbox": [50.63999938964844, 146.61325073242188, 761.2945556640625, 150.94146728515625], "text": "Voting Rights under Category \"Public\" includes 59 32 423 fully paid-up equity shares held in the Unclaimed Suspense Account and 3 61 74 477 fully paid-up equity shares held by Investor Education and Protection Fund (IEPF) Authority on which voting rights are frozen. Shares under Category \"Public\" also include (i) 2 94 979 partly paid-up equity shares on which First Call as ", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 2691, "char_end_idx": 3066, "url": "", "superscript": false, "subscript": false}, {"bbox": [760.3693237304688, 150.1199951171875, 760.3693237304688, 150.1199951171875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 3067, "char_end_idx": 3067, "url": "", "superscript": false, "subscript": false}, {"bbox": [760.3693237304688, 150.1199951171875, 760.3693237304688, 150.1199951171875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 3068, "char_end_idx": 3068, "url": "", "superscript": false, "subscript": false}], "bbox": [50.63999938964844, 146.61325073242188, 761.2945556640625, 150.94146728515625]}], "bbox": [50.63999938964844, 146.61325073242188, 761.2945556640625, 150.94146728515625]}, {"lines": [{"spans": [{"bbox": [50.63999938964844, 151.89324951171875, 764.650634765625, 156.22146606445312], "text": "well as Second and Final Call has not been paid and accordingly, voting rights in respect of these shares can only be exercised upon payment of First Call and Second and Final Call; (ii) 2 15 746 partly paid-up equity shares on which Second and Final Call has not been paid and accordingly, voting rights in respect of these shares can only be exercised upon payment of Second ", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 3069, "char_end_idx": 3445, "url": "", "superscript": false, "subscript": false}, {"bbox": [763.7254028320312, 155.39999389648438, 763.7254028320312, 155.39999389648438], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 3446, "char_end_idx": 3446, "url": "", "superscript": false, "subscript": false}, {"bbox": [763.7254028320312, 155.39999389648438, 763.7254028320312, 155.39999389648438], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 3447, "char_end_idx": 3447, "url": "", "superscript": false, "subscript": false}], "bbox": [50.63999938964844, 151.89324951171875, 764.650634765625, 156.22146606445312]}, {"spans": [{"bbox": [50.63999938964844, 157.17324829101562, 490.624755859375, 161.50146484375], "text": "and Final Call. The fully paid up equity shares under Category \"Public\" include 2 725 shares for which the call money has been received by the Company but corporate action for credit of shares was pending as on December 31, 2022.", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 3448, "char_end_idx": 3676, "url": "", "superscript": false, "subscript": false}, {"bbox": [489.69952392578125, 160.67999267578125, 489.69952392578125, 160.67999267578125], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 3677, "char_end_idx": 3677, "url": "", "superscript": false, "subscript": false}, {"bbox": [489.69952392578125, 160.67999267578125, 489.69952392578125, 160.67999267578125], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 3678, "char_end_idx": 3678, "url": "", "superscript": false, "subscript": false}], "bbox": [50.63999938964844, 157.17324829101562, 490.624755859375, 161.50146484375]}], "bbox": [50.63999938964844, 151.89324951171875, 764.650634765625, 161.50146484375]}, {"lines": [{"spans": [{"bbox": [59.279998779296875, 32.2532958984375, 110.33195495605469, 36.58148193359375], "text": "Category of shareholder ", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 3679, "char_end_idx": 3702, "url": "", "superscript": false, "subscript": false}, {"bbox": [109.4067153930664, 35.760009765625, 109.4067153930664, 35.760009765625], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 3703, "char_end_idx": 3703, "url": "", "superscript": false, "subscript": false}, {"bbox": [109.4067153930664, 35.760009765625, 109.4067153930664, 35.760009765625], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 3704, "char_end_idx": 3704, "url": "", "superscript": false, "subscript": false}], "bbox": [59.279998779296875, 32.2532958984375, 110.33195495605469, 36.58148193359375]}, {"spans": [{"bbox": [81.72000122070312, 37.7733154296875, 86.76667785644531, 42.10150146484375], "text": "(II)", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 3705, "char_end_idx": 3708, "url": "", "superscript": false, "subscript": false}, {"bbox": [85.65838623046875, 41.280029296875, 85.65838623046875, 41.280029296875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 3709, "char_end_idx": 3709, "url": "", "superscript": false, "subscript": false}, {"bbox": [85.65838623046875, 41.280029296875, 85.65838623046875, 41.280029296875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 3710, "char_end_idx": 3710, "url": "", "superscript": false, "subscript": false}], "bbox": [81.72000122070312, 37.7733154296875, 86.76667785644531, 42.10150146484375]}], "bbox": [59.279998779296875, 32.2532958984375, 110.33195495605469, 42.10150146484375]}, {"lines": [{"spans": [{"bbox": [560.52001953125, 58.29327392578125, 581.2737426757812, 62.6214599609375], "text": "As a % of ", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 3711, "char_end_idx": 3720, "url": "", "superscript": false, "subscript": false}, {"bbox": [580.3485107421875, 61.79998779296875, 580.3485107421875, 61.79998779296875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 3721, "char_end_idx": 3721, "url": "", "superscript": false, "subscript": false}, {"bbox": [580.3485107421875, 61.79998779296875, 580.3485107421875, 61.79998779296875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 3722, "char_end_idx": 3722, "url": "", "superscript": false, "subscript": false}], "bbox": [560.52001953125, 58.29327392578125, 581.2737426757812, 62.6214599609375]}, {"spans": [{"bbox": [565.800048828125, 63.81329345703125, 576.1219482421875, 68.1414794921875], "text": "total ", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 3723, "char_end_idx": 3728, "url": "", "superscript": false, "subscript": false}, {"bbox": [575.1967163085938, 67.32000732421875, 575.1967163085938, 67.32000732421875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 3729, "char_end_idx": 3729, "url": "", "superscript": false, "subscript": false}, {"bbox": [575.1967163085938, 67.32000732421875, 575.1967163085938, 67.32000732421875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 3730, "char_end_idx": 3730, "url": "", "superscript": false, "subscript": false}], "bbox": [565.800048828125, 63.81329345703125, 576.1219482421875, 68.1414794921875]}, {"spans": [{"bbox": [563.1600341796875, 69.333251953125, 578.65673828125, 73.66143798828125], "text": "Shares ", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 3731, "char_end_idx": 3737, "url": "", "superscript": false, "subscript": false}, {"bbox": [577.7315063476562, 72.8399658203125, 577.7315063476562, 72.8399658203125], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 3738, "char_end_idx": 3738, "url": "", "superscript": false, "subscript": false}, {"bbox": [577.7315063476562, 72.8399658203125, 577.7315063476562, 72.8399658203125], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 3739, "char_end_idx": 3739, "url": "", "superscript": false, "subscript": false}], "bbox": [563.1600341796875, 69.333251953125, 578.65673828125, 73.66143798828125]}, {"spans": [{"bbox": [562.6799926757812, 74.853271484375, 578.052001953125, 79.18145751953125], "text": "held (b)", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 3740, "char_end_idx": 3747, "url": "", "superscript": false, "subscript": false}, {"bbox": [576.9437255859375, 78.3599853515625, 576.9437255859375, 78.3599853515625], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 3748, "char_end_idx": 3748, "url": "", "superscript": false, "subscript": false}, {"bbox": [576.9437255859375, 78.3599853515625, 576.9437255859375, 78.3599853515625], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 3749, "char_end_idx": 3749, "url": "", "superscript": false, "subscript": false}], "bbox": [562.6799926757812, 74.853271484375, 578.052001953125, 79.18145751953125]}], "bbox": [560.52001953125, 58.29327392578125, 581.2737426757812, 79.18145751953125]}, {"lines": [{"spans": [{"bbox": [440.6400146484375, 58.29327392578125, 462.01007080078125, 62.6214599609375], "text": "Total as a ", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 3750, "char_end_idx": 3760, "url": "", "superscript": false, "subscript": false}, {"bbox": [461.0848388671875, 61.79998779296875, 461.0848388671875, 61.79998779296875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 3761, "char_end_idx": 3761, "url": "", "superscript": false, "subscript": false}, {"bbox": [461.0848388671875, 61.79998779296875, 461.0848388671875, 61.79998779296875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 3762, "char_end_idx": 3762, "url": "", "superscript": false, "subscript": false}], "bbox": [440.6400146484375, 58.29327392578125, 462.01007080078125, 62.6214599609375]}, {"spans": [{"bbox": [446.0400390625, 63.81329345703125, 456.6311340332031, 68.1414794921875], "text": "% of ", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 3763, "char_end_idx": 3767, "url": "", "superscript": false, "subscript": false}, {"bbox": [455.7059020996094, 67.32000732421875, 455.7059020996094, 67.32000732421875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 3768, "char_end_idx": 3768, "url": "", "superscript": false, "subscript": false}, {"bbox": [455.7059020996094, 67.32000732421875, 455.7059020996094, 67.32000732421875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 3769, "char_end_idx": 3769, "url": "", "superscript": false, "subscript": false}], "bbox": [446.0400390625, 63.81329345703125, 456.6311340332031, 68.1414794921875]}, {"spans": [{"bbox": [442.1999816894531, 69.333251953125, 459.4019775390625, 73.66143798828125], "text": "(A+B+C)", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 3770, "char_end_idx": 3776, "url": "", "superscript": false, "subscript": false}, {"bbox": [458.293701171875, 72.8399658203125, 458.293701171875, 72.8399658203125], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 3777, "char_end_idx": 3777, "url": "", "superscript": false, "subscript": false}, {"bbox": [458.293701171875, 72.8399658203125, 458.293701171875, 72.8399658203125], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 3778, "char_end_idx": 3778, "url": "", "superscript": false, "subscript": false}], "bbox": [442.1999816894531, 69.333251953125, 459.4019775390625, 73.66143798828125]}], "bbox": [440.6400146484375, 58.29327392578125, 462.01007080078125, 73.66143798828125]}, {"lines": [{"spans": [{"bbox": [346.91998291015625, 32.2532958984375, 462.2188415527344, 36.58148193359375], "text": "Number of Voting Rights held in each class of securities ", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 3779, "char_end_idx": 3835, "url": "", "superscript": false, "subscript": false}, {"bbox": [461.2936096191406, 35.760009765625, 461.2936096191406, 35.760009765625], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 3836, "char_end_idx": 3836, "url": "", "superscript": false, "subscript": false}, {"bbox": [461.2936096191406, 35.760009765625, 461.2936096191406, 35.760009765625], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 3837, "char_end_idx": 3837, "url": "", "superscript": false, "subscript": false}], "bbox": [346.91998291015625, 32.2532958984375, 462.2188415527344, 36.58148193359375]}, {"spans": [{"bbox": [400.55999755859375, 37.7733154296875, 407.4115295410156, 42.10150146484375], "text": "(IX)", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 3838, "char_end_idx": 3841, "url": "", "superscript": false, "subscript": false}, {"bbox": [406.3032531738281, 41.280029296875, 406.3032531738281, 41.280029296875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 3842, "char_end_idx": 3842, "url": "", "superscript": false, "subscript": false}, {"bbox": [406.3032531738281, 41.280029296875, 406.3032531738281, 41.280029296875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 3843, "char_end_idx": 3843, "url": "", "superscript": false, "subscript": false}], "bbox": [400.55999755859375, 37.7733154296875, 407.4115295410156, 42.10150146484375]}], "bbox": [346.91998291015625, 32.2532958984375, 462.2188415527344, 42.10150146484375]}, {"lines": [{"spans": [{"bbox": [633.47998046875, 32.2532958984375, 656.4229125976562, 36.58148193359375], "text": "Number of ", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 3844, "char_end_idx": 3853, "url": "", "superscript": false, "subscript": false}, {"bbox": [655.4976806640625, 35.760009765625, 655.4976806640625, 35.760009765625], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 3854, "char_end_idx": 3854, "url": "", "superscript": false, "subscript": false}, {"bbox": [655.4976806640625, 35.760009765625, 655.4976806640625, 35.760009765625], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 3855, "char_end_idx": 3855, "url": "", "superscript": false, "subscript": false}], "bbox": [633.47998046875, 32.2532958984375, 656.4229125976562, 36.58148193359375]}, {"spans": [{"bbox": [630.5999755859375, 37.7733154296875, 659.187744140625, 42.10150146484375], "text": "equity shares ", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 3856, "char_end_idx": 3869, "url": "", "superscript": false, "subscript": false}, {"bbox": [658.2625122070312, 41.280029296875, 658.2625122070312, 41.280029296875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 3870, "char_end_idx": 3870, "url": "", "superscript": false, "subscript": false}, {"bbox": [658.2625122070312, 41.280029296875, 658.2625122070312, 41.280029296875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 3871, "char_end_idx": 3871, "url": "", "superscript": false, "subscript": false}], "bbox": [630.5999755859375, 37.7733154296875, 659.187744140625, 42.10150146484375]}, {"spans": [{"bbox": [637.5599975585938, 43.29327392578125, 652.2022705078125, 47.6214599609375], "text": "held in ", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 3872, "char_end_idx": 3879, "url": "", "superscript": false, "subscript": false}, {"bbox": [651.2770385742188, 46.79998779296875, 651.2770385742188, 46.79998779296875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 3880, "char_end_idx": 3880, "url": "", "superscript": false, "subscript": false}, {"bbox": [651.2770385742188, 46.79998779296875, 651.2770385742188, 46.79998779296875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 3881, "char_end_idx": 3881, "url": "", "superscript": false, "subscript": false}], "bbox": [637.5599975585938, 43.29327392578125, 652.2022705078125, 47.6214599609375]}, {"spans": [{"bbox": [630.5999755859375, 48.81329345703125, 657.9766845703125, 53.1414794921875], "text": "dematerialize", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 3882, "char_end_idx": 3894, "url": "", "superscript": false, "subscript": false}, {"bbox": [656.126220703125, 52.32000732421875, 656.126220703125, 52.32000732421875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 3895, "char_end_idx": 3895, "url": "", "superscript": false, "subscript": false}, {"bbox": [656.126220703125, 52.32000732421875, 656.126220703125, 52.32000732421875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 3896, "char_end_idx": 3896, "url": "", "superscript": false, "subscript": false}], "bbox": [630.5999755859375, 48.81329345703125, 657.9766845703125, 53.1414794921875]}, {"spans": [{"bbox": [632.0400390625, 54.333251953125, 656.6614379882812, 58.66143798828125], "text": "d form (XIV)", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 3897, "char_end_idx": 3908, "url": "", "superscript": false, "subscript": false}, {"bbox": [655.5531616210938, 57.8399658203125, 655.5531616210938, 57.8399658203125], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 3909, "char_end_idx": 3909, "url": "", "superscript": false, "subscript": false}, {"bbox": [655.5531616210938, 57.8399658203125, 655.5531616210938, 57.8399658203125], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 3910, "char_end_idx": 3910, "url": "", "superscript": false, "subscript": false}], "bbox": [632.0400390625, 54.333251953125, 656.6614379882812, 58.66143798828125]}], "bbox": [630.5999755859375, 32.2532958984375, 659.187744140625, 58.66143798828125]}, {"lines": [{"spans": [{"bbox": [586.6799926757812, 32.2532958984375, 625.113525390625, 36.58148193359375], "text": "Number of Shares ", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 3911, "char_end_idx": 3927, "url": "", "superscript": false, "subscript": false}, {"bbox": [624.1882934570312, 35.760009765625, 624.1882934570312, 35.760009765625], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 3928, "char_end_idx": 3928, "url": "", "superscript": false, "subscript": false}, {"bbox": [624.1882934570312, 35.760009765625, 624.1882934570312, 35.760009765625], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 3929, "char_end_idx": 3929, "url": "", "superscript": false, "subscript": false}], "bbox": [586.6799926757812, 32.2532958984375, 625.113525390625, 36.58148193359375]}, {"spans": [{"bbox": [583.6799926757812, 37.7733154296875, 627.9834594726562, 42.10150146484375], "text": "pledged or otherwise ", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 3930, "char_end_idx": 3950, "url": "", "superscript": false, "subscript": false}, {"bbox": [627.0582275390625, 41.280029296875, 627.0582275390625, 41.280029296875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 3951, "char_end_idx": 3951, "url": "", "superscript": false, "subscript": false}, {"bbox": [627.0582275390625, 41.280029296875, 627.0582275390625, 41.280029296875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 3952, "char_end_idx": 3952, "url": "", "superscript": false, "subscript": false}], "bbox": [583.6799926757812, 37.7733154296875, 627.9834594726562, 42.10150146484375]}, {"spans": [{"bbox": [588.0, 43.29327392578125, 622.582275390625, 47.6214599609375], "text": "encumbered(XIII)", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 3953, "char_end_idx": 3968, "url": "", "superscript": false, "subscript": false}, {"bbox": [621.4739990234375, 46.79998779296875, 621.4739990234375, 46.79998779296875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 3969, "char_end_idx": 3969, "url": "", "superscript": false, "subscript": false}, {"bbox": [621.4739990234375, 46.79998779296875, 621.4739990234375, 46.79998779296875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 3970, "char_end_idx": 3970, "url": "", "superscript": false, "subscript": false}], "bbox": [588.0, 43.29327392578125, 622.582275390625, 47.6214599609375]}], "bbox": [583.6799926757812, 32.2532958984375, 627.9834594726562, 47.6214599609375]}, {"lines": [{"spans": [{"bbox": [365.6399841308594, 58.29327392578125, 416.2270812988281, 62.6214599609375], "text": "Number of Voting Rights", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 3971, "char_end_idx": 3993, "url": "", "superscript": false, "subscript": false}, {"bbox": [414.3766174316406, 61.79998779296875, 414.3766174316406, 61.79998779296875], "text": " ", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 3994, "char_end_idx": 3994, "url": "", "superscript": false, "subscript": false}, {"bbox": [591.0, 58.29327392578125, 599.1785888671875, 62.6214599609375], "text": "No. ", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 3995, "char_end_idx": 3998, "url": "", "superscript": false, "subscript": false}, {"bbox": [598.2533569335938, 61.79998779296875, 598.2533569335938, 61.79998779296875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 3999, "char_end_idx": 3999, "url": "", "superscript": false, "subscript": false}, {"bbox": [598.2533569335938, 61.79998779296875, 598.2533569335938, 61.79998779296875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 4000, "char_end_idx": 4000, "url": "", "superscript": false, "subscript": false}], "bbox": [365.6399841308594, 58.29327392578125, 599.1785888671875, 62.6214599609375]}, {"spans": [{"bbox": [591.8399658203125, 63.81329345703125, 597.23291015625, 68.1414794921875], "text": "(a)", "rotation": 0.0, "font": {"name": "AAAAAB+Arial-BoldMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 4001, "char_end_idx": 4003, "url": "", "superscript": false, "subscript": false}, {"bbox": [596.1246337890625, 67.32000732421875, 596.1246337890625, 67.32000732421875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 4004, "char_end_idx": 4004, "url": "", "superscript": false, "subscript": false}, {"bbox": [596.1246337890625, 67.32000732421875, 596.1246337890625, 67.32000732421875], "text": "\n", "rotation": 0.0, "font": {"name": "", "flags": 0, "color": [], "size": 1.0, "weight": -1}, "char_start_idx": 4005, "char_end_idx": 4005, "url": "", "superscript": false, "subscript": false}], "bbox": [591.8399658203125, 63.81329345703125, 597.23291015625, 68.1414794921875]}], "bbox": [365.6399841308594, 58.29327392578125, 599.1785888671875, 68.1414794921875]}, {"lines": [{"spans": [{"bbox": [50.63999938964844, 175.41323852539062, 500.30841064453125, 179.741455078125], "text": "The aggregate voting rights (before rounding-off) of: (i) Promoter and Promoter Group are 332 27 48 048.00, (ii) Public shareholders are 325 75 39 464.75 and (iii) Non-Promoter Non-Public (Shares underlying GDRs) are 18 53 77 394.00.", "rotation": 0.0, "font": {"name": "AAAAAC+ArialMT", "flags": 524292, "color": [255, 255, 255, 255], "size": 1.0, "weight": 0}, "char_start_idx": 4006, "char_end_idx": 4238, "url": "", "superscript": false, "subscript": false}], "bbox": [50.63999938964844, 175.41323852539062, 500.30841064453125, 179.741455078125]}], "bbox": [50.63999938964844, 175.41323852539062, 500.30841064453125, 179.741455078125]}], "scale": 2, "page_image": "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SKPRdHR0/v3vf/v4+OC2WPf09KSlpcXGxt65c0dPT6+wsLCysnLRokXBwcFYp8TExHwpb6qoqFBQUNDV1RUKhXV1dRYWFiYmJsBIcJXGxcUVFxdjNlxeXn779u25c+dKS0tj8bm3txeOVNHR0bhAPYKt4kLWixcvkpKSqqurb926lZKS8vLly7q6Otjk/r/2/jvMivLgH//PFtiFpQoICEZApYqgKEUFpdoDSuxgQY2aJ0aTGHtBUVSuBI0NzSMqKlHEghJFBFQQCyoa6tL7Ll0WWHZh2T38/pjf51zne3ZBNHqreV6vP7xAptxzt5nzPjNzZsyYkTgjlJSUlJ9716xZs3379oMPPrhJkyaNGjX64osvtmzZMn/+/B49elQ4yho2bLhnz55ly5Yluu7BBx+cnZ29ePHirVu3Rh8kotvH2rRpM3/+/KKiokSTRWPn4YcfTh5un3zySfLBRqfLgoKC5KH0xRdfpLROYiyMHz++wnl+3rx5if7/9NNPP/HEE4ldfPzxx8lLPvHEE5s3b+7Xr9+qVasStxolqiU3N3dv24mKmnzGHDlyZMq08NVXX5WfRdetW5fcK15//fXyk88555zz4osvJkbHuHHjkiskKmT16tWj3ltUVJQ8i0ZfpHfr1q1Tp07Rp8rEWfK5554rf8Gw/2fVxYsXV3jhUVpamlhl0qRJyYN948aNsVjsySefTK7k8mfV5OuHFStWRAe4cePG5IoaMWJE8qyVqKiXX3550aJFV1xxxdtvv/36668nF+zLL79MjIUtW7ZE086HH36YqPCUOXnr1q3lrzpSBuy8efOSq6v85BmdPVPGYCwW69Onz/r164899thrrrnmoIMOatSoUfI8PHHixOTzXatWraLm+9///d+UZVLmtEmTJsXj8by8vAsvvHD8+PGTJk1K2WzKvNq9e/cqVar85je/KSkpqVu3bjwer1mzZvXq1TMyMlJu1mjXrt3FF19cUlLy9ttvH3nkkRs3bqxTp056enqDBg22bNly1llndezYceXKlbNnz44+1yX+2qZNm5SJIrmE48aNS67kJUuWJF9zpkwO06dPj67EUq5p93aRmaxt27b5+fk7d+6cOnXqjTfeeO21144YMeK0006bNm1a+WvjCsddSqOsWrWqwtlmypQpeytYhWfnunXr7ue1QaRy5cq7du0qKyvbvn376tWro3PrRRdd9Pe//z1xC2dRUdHTTz/dv3//6JNtz549J06c2KtXr507dyai8+TtrFmzpl+/fokma926dfRtRHp6+oEHHpifn7/vM1HKVdP06dOjmmnfvn3y4b/++uvlqzqWdLX2+OOPJw+ueDz+4Ycfrly5ctq0acuWLauwiffRl6Ib0BLtsn79+uQPKYmGTpw+xowZk3L1klj+hRdeWLdu3dSpU1etWhVFLeXH1Pnnn1/+Smby5Mkp01203/KTXjRFn3TSSbfffnvKB7EfqeZTLnSTe+Czzz6b/MEnWj7kR7PkQZQocMrVVHJrplRyhZPecccdF4vFqlatOnbs2B07drzxxhvFxcXfaehFq7dq1WrBggV79uzZn5lkH8e+e/fu1157raio6NVXX121alX5c3FBQUFyYVJOK+vWrUv50F3+Mj65WkpLS/d9ubh8+fLy14TfeoH6C/VLDdIiWVlZ11133c0333zCCSfEYrH58+d36dKlffv2NWrUGDx4cPPmzdPS0ubPn79gwYIhQ4bs3r27Xr16xcXFOTk52dnZTz755AEHHLBjx46rr756/vz5Rx111PcoQHp6eu/evdu0aXPooYeuWbNmzpw5BQUFmZmZhYWFW7ZsOfTQQ9u3bz969OjyBYhWb9OmzciRI6+88sozzjgj+s4k2maPHj1atWrVtGnTVatWVa5cuU+fPlWrVh03btzSpUsbNWq0adOmeDzeu3fvAw444LTTThs+fHiiDCUlJWedddZrr722YsWKrVu3lpaWtmzZslOnTgUFBdOmTVuzZs2VV17ZoUOHXr16bd++Pbm00XkucVy1a9fu2bNn9erVE9FJWlpaWlpaenr6Pg452sgBBxzQvHnza6655thjj7322muXLl26t+Lt3r27Vq1aXbp0+fTTT5OraNeuXa1btz7uuOOKioomT56cl5d31VVXHXHEEaeeeurcuXP37NmzcOHCo48+un379v369UtcSiaXed68eR06dGjXrt3ZZ5+duDNz7dq1yZW5evXq6KASR71mzZoZM2ZUrVp1yJAhHTt2/Pzzzzt37pyRkZGdnZ1Ya/ny5bVr1+7Vq1dBQcERRxzRqVOn6dOnR29mSRRy1qxZhx56aPm+d8ghh3Tu3DnxPp2ZM2c+/fTTzzzzzGOPPXbdddcdf/zxAwcOjP6ptLQ0Nze3sLDwwAMPfPTRR/Py8qK+9Oyzzyb38Bo1avTs2fPII488/PDDu3Xrtnnz5hkzZuTm5iYvs2PHjrS0tM2bN1fYOaMoPSMjIy0trbS0tKSk5Pnnn585c+bmzZvvvffeCnea8oqZhg0bnn766Y0bN37xxRdXrFiR3IvKSzTrlClTFi1atG7duoULF27btm316tVRz+/atet9991Xv379yy67LDMzM7H8Bx980KdPn1GjRt19991LliwpLi5OT0/v3Llzdnb2vHnztm3bFh3Xxo0bDzjggD59+tSoUSP6BJ7cKBkZGVu3bs3IyOjevXtRUVHiruDkERf1iu7du+/atWvq1KmJkleqVKlv374tW7bs1q1b9B1O+cp89dVX27Vrd9RRR3Xo0GHJkiVPPPFE8jKJkfjxxx+np6enpaUddthhHTt2HDZs2NKlS48++ujkTvvuu+/OmDEjpX5i5aa46GG9vfXhFi1ajB07tkuXLrt27Uru+WvWrGnRokWXLl0+//zzevXqtW7dunr16vn5+cnLLFu2LC0tbc+ePcnFWLNmTTRgE5PVP/7xj127dg0dOvSll1568803b7nllsSXh9u3b585c2ZOTs6pp5562mmnPfbYY507dz7ooIOWLl2aPJxr1ar1g4ymzMzMsrKyKMt++OGH58+f36FDhzp16pTfadQTkrtlx44dO3fuXK9evaFDh27fvr1mzZo5OTnJM9Vhhx02duzY5Il6H301ZcpauHBhlSpVpk2b1rZt29WrV+/cufPYY49dsGBBosulPJBbfu7dvHlzZmZm1apVMzIyevfuPWXKlOzs7Dp16jRr1mz58uXlR1lmZma1atUSD3Tk5+dHXztPnjx5/vz5DzzwwMKFC99+++0jjjiiWrVqu3fvLiwsjN6Vkxg7VatWTR5uu3btSj7YSpUqxWKx9evXJw+llNaZN29eYixs3bp16tSp5ef5Ro0aJff/bt263X///dEuFi1alFiyTp06e/bsueqqq4499tju3bsn3qGTqJaUcZS8naioyWfMXr16/e53v0vuDFWqVCk/i6b0igEDBrzxxhspk08UDiZGR25ubvm5JeoqUe9NHrlbt2494IADon+KTqyJs2Rubm75C4b9P6uWlpZWeOHRrFmzxCorVqxIHux5eXnxeHzJkiWDBg1KqeREb8zKylq4cGHi+iF5zklU1L333rtw4cJvvvkm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kSPz8vL69OmTXNrTTjtt30cX/Uraww8/3K5du+iNDOUPOdpIVlbWtGnTnnjiibS0tMsvvzz5O/yU4iWion1UUXp6+qWXXjp48OCnnnqqQYMGN9xww9y5c0866aT333//zDPP3LZt24knnli+tD179pw0aVK/fv2Ki4sTLzY6+OCDkyvz8MMP3/chV7hWhV0lpZBDhgxZvHjxI488UmHfSzj++ONffvnlc889t7i4uHfv3i+88EK7du32/RNXvXr1mjp1aqKHz5w5s8Jlpk+fnlimfv36BQUFr7322qmnnlq+c0YyMjKuu+6622+//Ywzzog+dZx//vl722l2dvadd945ceLEwsLC9PT0wsLCW2+9NS0t7dRTTz300EMffPDB1q1bn3nmmfuu1bS0tEsvvfSOO+544YUXqlevft9990XVWFBQcMUVV2RlZbVr1y45y0hLS2vbtu0bb7zx+eef5+fnJ77Qjr4aTRxX165d99Eoo0aNiu7HGTRoUPJHhWR169bt1q3bJZdckpOTk3zrSjwef/311ydPntywYcMhQ4bUqVOnfGV269Zt8uTJ/fr1q1Klyh133FGzZs3EMr17907ey0EHHfTII49ccskl+fn5N910U0lJSY0aNbp37z5lypREpy1fP+XbYt/v3E1I6cNNmzadPn16yjINGzZMXqZNmzYHHnjgI488cu211z788MNRMW666abkVTIyMvr373/XXXeNGTMm+kXIf/3rX4lX0lQoIyMjuVFuuummefPmpSzz/UZTNDncfffd1atXLy4uTktLu+WWW6JvXFN2OmTIkFWrViX6cPv27XNzcwcMGFBWVnbLLbdEAW6tWrWSZ6qysrKUiXoffbV8+fPy8p577rmjjjoqNzc3Ly8v8ZqM/dS4ceN4PL558+bod5datmz57rvvduzYcW/Lb9u2bceOHYnfnG3ZsuVHH300c+bMypUrd+3atWrVqgcddNDLL7/88ccfH3jggXXr1k35iBsrN9yiuTpxsNF34IkOEw2llDm8e/fu77//fjQW/vSnP0WPTaUsc/jhhz///POJ/r9ly5bELvr27Tt//vzEkhdffPEdd9zxv//7v+vXr4/uI0iulkMPPTR5HCVvJ1HU5DPmqaeemtw6e/sBh0SvuOmmm2bPnl1+8okaOjFIhwwZUuHcEg32W2+9taioKDFyo686a9SoUVBQ8Pjjjyd/TXXEEUfMmDEjpZ/v/1k1cdLfx1k15bqiSZMmM2bMGDhwYPlKTki5fjjllFPKV9Qtt9ySk5NTftZKT0+/6KKL7rjjjlGjRjVv3vz666//61//WmHBosuMRx55pHPnzokKz8rKSp6TU+b86KojZcBGr4tKVFe08W89e6anp1922WW33nprz54909PTO3To0Lt378MOOyxxRLfcckvy+e7II48sKCgYMWLExRdffNdddyWWqbA7paenv/XWW1OmTGncuHF0o1lisynzanp6eqtWre6///4GDRoUFxc/+OCDdevW/fOf/5yZmdmjR48DDzzw/vvvP/LII08//fRYLPbWW2+NHz++ZcuWEyZM6NKlyx//+MdYLBY91HPrrbcOHz584cKF99xzT3p6+v/8z/+MHTs28dc//OEPXbp0SZ4okks4ePDg2rVrJ1dyYgT179+/du3aidbZvXt3hw4drrvuutq1a+/Zsyf5mrZnz55VqlQpf5EZj8dffvnlTz/9tLS0tFWrVvfcc8+7774b/VP9+vWvuuqqJ5544rbbbvvrX/9a4bVxyrhLaZTEDwSn9P+srKy77rqrwoJVeHYuf6PB3q4NIllZWaNGjXr55Ze3bds2ePDgtLS0W2+9dfLkycXFxX/729+iZc4999xzzz133bp1N99880UXXZSbm/vggw+OHTt28+bNDz74YPnt3H777ckt+Ic//OHMM8+85ZZbJk6cmJWVFb1NZv+vmgoLC6P/nzKCDj/88ETNVPgxJPoh8sTgKi4ujl57165du8MPP7zCzxH76Eu/+93vvvzyy72dxyMpl1LVq1ff29VL9erV27VrN3ny5LZt21atWrX8mEpMKclXMvfdd9++p7uEaIoeN25cjx49Uj6I/Rg1v7cL3Ujbtm0/+eSTlA8+IT+aJQ+iRFfp2rVr8tVUciWkVHLysE2Z9KJGf/bZZ//85z+X7xJ7G3qFhYU33XRTzZo1S0tLzz///C5duqxcuTL6p/2ZSSo89uLi4hNPPHH06NEnnnhi06ZNy59DDz744OTClP98lFwDFX7MKV8t+7hcTP6WN+FbL1B/qfb8/Fx33XW/+tWvAuxo06ZN69evD7Cjn4nx48fPnTu3uLj4mmuu+fjjj3/q4vyI5s2b9+abb5aVlT3zzDMPPvjgT12cvYq+bd61a9eePXui//60tmzZkp+fX1ZWtp/Lb9u2bdCgQYsXL/5RSxXStm3bXnzxxYKCgvnz51966aWJ//+3v/3t+eef/1F3/UvptCmi3+jds2dPWVlZaWnpT1uY6Ea2LVu27P8qn3/++TXXXPOTl3wfoquNd955Zz+X//jjj++6667du3dHf920adO1116bn59ffrMPPfTQW2+99UOWNaDvWi3fyc+/V4RX4fVDgIra25wcXsjzXXFx8dq1axPn4k2bNkV3GezZs+df//rX1KlT97ZiWVnZmjVrCgsLv3UXKRPFL1SwRvnWfrh79+68vLydO3dGf925c+eqVav2fV1XWFi4YsWKlGVStpOiuLh4zZo1pib+y8ybN+9//ud/ogflUvx8TgE/t8J8V0cfffSAAQN+6lLs1S/+Dqn/xC/6Ycvv4YADDrj77rtLS0uPOeaYo48++qcuzo+obt26I0aMiH4HIXp08ecpIyMjkX//HH68vFatWt/62F2yjIyMpk2bJv+IzC9d1apVt27dGj0+mfhqPRaLNWzY8DvVzPfwS+m0KXJycqKX4v0nDz7/UNLT0/f9FrPyqlWr1qRJkx+nOD+M9PT0c88994033ujRo8e3jrWysrLZs2efd955iQf66tSpc+qpp37xxRcp3wNHX8bs7c3oP3/fqVq+q59/rwivwuuHABW1tzk5vJDnu+zs7OSpLPli9YQTTojellKh9PT06Pfa9q38RPELFaxRvrUfZmZmJt/9mpWVlfx7iBVKnD33sZ0U2dnZ+9O+8Avy73//e8iQIb/73e8qnNl+PqeAn1th/sv8/x89/Vm5/vrr33jjjcStdwAAAAB8Jx06dGjduvULL7zwUxekYj/9d9r/fdavXz9t2rRp06Z9/fXXiWdx/xNlZWULFizY/03t3Llz9uzZmzdvTv4/iR/qShaPxxcuXDh37tzS0tLo/yxfvjz6RZVYLFZUVPT1118n3raY8tcKN7X/B5WisLBwyZIl33v1/bF69epXXnllwoQJiSe6f6jNJn7ke39s2LBh9uzZiTd9JFd4ipQK37Jly+zZsxO/0b5+/fovv/xy69atsYraEQAAAH7Oftk36/48TZw48bnnnjvuuOPWr1+/fPnyv//9723atPlPNlhYWPjAAw/cfvvthx122LcuvG7duuuvv75hw4ZLly79y1/+0rVr1127dg0ZMqS4uHj48OHJS5aWlg4ZMmT58uVZWVmZmZl//etf//nPf77//vsZGRlt27a98MIL//SnPx188MFLly49++yze/fufd111yX+eskll6Tsd/fu3R9//HGLFi2+3zFu2rTp008/3Z8D/H5mzJhx99139+jRY926dc8999yIESPKv8o3Ye3atX/9619vv/322rVrf+uWX3rppYYNGw4cOHB/ijFlypSHH3740EMP3bRp00MPPTRu3LhEhd9www3JvxqWn5+fXOHt27e/++67GzVqtGXLluHDh3/11VePPfZYmzZt5s6de//997/22mvJ7Vj+JnAAAAD4WRFIfTc7duwYM2bM3Llze/XqdfLJJ0+dOnXZsmW5ublt27a94IILoufY09LSunbtetddd6Wnp48cOXLkyJH33nvvq6+++tVXX/Xs2fO0007btWvXP//5zzlz5pxyyiknn3zyZ5999vrrrzdu3PjSSy/96quvoltmjjnmmJKSknnz5g0cOPCggw4qLS0dM2ZMUVHRueee265du08++SSxyhdffDFr1qy0tLTf/va30S9MDRgw4LTTTnv88cdnzZrVqVOnoUOHrlixovxv7hYWFtatW/cPf/hDLBa79tprFyxY8Mknn9x33305OTk33XTT/PnzzzzzzAEDBkybNu3ll19u27Zt8l8HDBiQkZHxzjvvVK9evWvXrh9//HH0Y39FRUWjR4+ePXt2t27dzjrrrOj1BGVlZRMmTJg4cWKdOnUuv/zy6Ln6oqKif/7zn6effvqBBx44evToX/3qV7FYbOXKlc8880xxcfGFF16Y+L2G3NzcF198sbCwsH///sccc0z57e9PoyxcuLBNmzbXX399LBZ79dVXox+SePbZZwsLCy+++OIqVaq8++67a9eurVat2uWXX/7uu+++/fbbrVu3Pvnkk0eNGhUt06xZs5dffrmoqGjlypWnn3769OnTs7OzBw0aFIvFZs2aNXfu3I4dO/bt23fDhg2JzTZt2vTFF19cv35969atzzrrrFgslp6ePnTo0GbNmv3+97+fP39+coXn5+cnv3Fg48aNiQp/6aWXVq1adc4555x33nmDBw+ePn36rl277rzzzmOOOeaee+757LPPkttx3bp1iR+aAQAAgJ8nj+x9B/F4/LHHHlu6dOmgQYNeeumlt99++6uvvvroo48GDRo0ceLEGTNmlF+lbdu2+fn5jz322KJFi66++uo333xz8uTJI0eOXLRo0RVXXPH222+//vrrjz766MUXX5yenj58+PAvv/zyww8//PWvf/3www8XFxc3b978iSeeKCsr27p1a7Vq1Xr06HHvvfdOmDAheZUvvvhiyZIl55xzTvRL0k2bNu3Vq9ctt9wyatSobt26Va5c+e677x44cGD5V1fWqlXr2muvrVOnztSpU7OysrKzs+PxeM2aNatXrx69bPviiy8uKSl5++23jzzyyKOPPjr5r9G9PFWrVn3ttdeKiopeffXVSpUqffzxxx988MG///3va6+9dt68eYlnzXJzc997773rrrsuOzt75MiR0eNp2dnZ69atmzp16qpVqz744IOSkpJPPvlkxIgRTZo0OfPMMydOnBg91LZjx45nnnmmZ8+effv2feSRR958882U7e9no/Tp02f9+vXHHnvsNddcc9BBB1WrVu22225r2bLlKaecMmTIkNzc3NGjR/fp06dKlSrDhw8/4YQTOnXq1KNHjzvuuCOxzOrVq8eNGxePx1u2bHnzzTd369Zt8eLFkyZNisfjeXl5F1544fjx48eNG5e82VWrVo0fP75x48bdunWLitG9e/cqVar85je/KSkpqVu3bnKFb9myJbl12rVrl6jwtm3bbtq0qUGDBunp6QceeOC6desuuOCCjh07rly5cvbs2R07dkxux/r16/9wXR4AAAB+FO6Q+g5KS0sXL1581VVXHXHEEaeeeuqsWbOqVKnSo0ePVq1aNW3adPv27RWukpaWNnPmzE2bNi1cuHDbtm0rV65cuHDhOeec07Zt28cee2zUqFELFiwYMmTI7t2769Wr16xZs549ex555JGHH354t27dNm/eHEUqDRs27Nu3b+PGjceOHfvpp58mr3LIIYd07tw5usMokp2dPWTIkKZNmz799NPDhw/fx6+oxOPxV1999ZVXXhk2bFj0I1nxeDx6z316enphYeE999xTqVKlSy+9NBaLpfw1Fou1b99+9OjRn3zyyfbt29u2bfv666+3adNm5MiRV1555RlnnLFr166bb755x44dUXoybNiwpUuXHn300R9++OGrr75ar169Ll26vPvuuyUlJa1atapZs2Z0Z9l9991Xv379yy67rFKlSrFYLCcn56yzznrttddWrFixdevWww47bOzYsdH2o9+d2c9GycjIGDFixK5duyZNmjR48ODLL798zpw5BQUFmZmZhYWFW7Zs6dixY+fOnevVqzd06NCioqK0tLTNmzcnL7Nx48batWv36tWroKDgiCOO6NSp0/Tp03fu3FmpUqWzzjqrXbt23bt3//LLL1NWqVWrVpcuXZJ/IqdZs2ajR4++4YYbpk6dmlLhKa2TqPBLLrkk8bNre/bsiZZcsGDBrbfeOnDgwPbt2ye34z5+fwcAAAB+JgRS30FGRkZOTs66detisdiaNWvq1Kmzc+fORI5Q/vcKy8rKPvjgg9atW3/zzTf9+/c/99xzp06dWqtWreXLl2/atKmsrCy6++mEE07429/+lp+fP2/evNzc3MSLhJITisLCws2bN9eoUaO4uLhBgwbJq8yZMyf53UOffvrpzJkzf/e737Vt2/bzzz8vLS3dWyAVj8efffbZ6dOnP/744/Xr19+yZUt6evqWLVtKS0vj8XjlypX/8pe/NG/e/Nprr83MzNy+ffuNN96Y+Gu0hVq1ah155JFPPvlk165do9ct7dix48YbbzzkkENuu+22+vXrn3766aWlpfPmzZsxY8bQoUMnTJgwd+7cww8/vH///lWrVj388MNff/31N99886abbkpLS9uzZ0/lypXHjBmTl5c3dOjQI488skmTJitWrBg2bNjtt9+ek5Nz++23J29/4sSJ55577v40SjweHzFiRE5Ozh//+Mf+/ft/8cUXO3fubNas2YMPPli/fv133323Ro0amzZt2rlz54YNG7Kzs6On/LKzs5OXOeigg9LS0qKqTktLS27l/Pz86D6pBg0aJK/SqFGjtLS0RGHi8fg//vGPNm3aHH/88YcddlhUzkSFp7zTKrnC09PTGzZsuGbNmng8vm7dui5dusyePfvOO++84YYbTjjhhJR23O/uDAAAAD8ZgdR3kJGRcemllw4ePPipp55q0KDBkCFDXnrppfKLxePxl19++dNPPy0tLW3VqtU999yTl5d3xx13vPDCC9WrV7/vvvsuuuiiO+64Y9SoUc2bN7/++uv/+te/9uvXLxaLXX311eVvk4ns3r178ODBZWVlZ5xxxvnnn3/PPffsbZVmzZo98cQTX3755aZNm/7nf/4nOzs7+V8/+OCDDz/8MHq/1fLlyx966KEaNWoMHDiwbt26DzzwQPfu3f/85z9nZmb26NFjxowZ48ePb9my5YQJE7p06XLooYcm//WOO+6IYqkTTzxx9OjRJ554YrT9SpUqDRs2LB6PV6lS5fjjj49eZlSjRo033njjpptuKikpqVGjRsOGDRMvS2rXrt3kyZPbtGkzf/78tLS0goKCK664Iisrq127dg0aNIjFYrVq1apXr96wYcNq1qy5Y8eOsrKyxPY7dOiwn42Snp5+2WWX3XrrrT179kxPT+/QocNvfvObzMzMq666qlKlSsccc0zv3r1zc3MHDBhQVlZ2yy231KtXr6Cg4LXXXjv11FMTy3Tt2rXCpklPT3/rrbemTJnSuHHjwYMH165dO7HK8ccfn7Jkq1at7r///gYNGhQXFz/44IN169ZNVHhaWtq111578803N2rUKBaLvfXWW8kVfvbZZ99xxx0TJ07Mysrq1KnTn//854ULF95zzz3p6ennnHNOcjsOHTp0zJgxrVu3PvPMMyssMAAAAPzk0srf1/OTu/766994442VK1f+1AX5pYrH4xs2bKhVq1ZKGhWLxZYtWzZlypTLL798b8nX5s2b4/F4vXr1fvxi/ox88cUXzz777KOPPpp8r9mPZOfOnQUFBQceeGDUBIkK37Vr18iRI88+++woiatwxc2bNzdo0CBAIQEAAPil69ChQ+vWrV944YWfuiAVc4fUf6H09PS9hRoNGjQYOHDg3tKoWCyW/Laj/zuqVavWpEmTMPvKzs5Obp1EhWdmZl500UU1a9bcx4rRzVMAAADwSyeQ+r8l+iU+UrRq1apVq1Y/bRkyMjL2kUYBAADAf5O93ikDAAAAAD8GgRQAAAAAQQmkAAAAAAhKIAUAAABAUAIpAAAAAIISSAEAAAAQlEAKAAAAgKAEUgAAAAAE9csOpHJzczdv3hz9eenSpd988813Wr20tHTevHmrVq36rvudP3/+hg0bvutaFSosLFyyZEn57Y8bN66wsPDH2HiFNm/e/Nprry1btuxbl8zLy1u/fv2+/09533zzzYoVK6I/l5WVLViwYOfOnfteJR6P70/5169fP23atKlTp37++edbt279ltKHUlJSsnDhwsRff5JCxuPxr7/++p///Ocnn3xSWlr6A255f1r8B7Fly5bVq1evXr06UWk7d+5cvXr1D7Lx1atXf++j+B4j9AevtHg8vrd/Si7ezp07P/vss6lTp06fPv17zHXfab/77+cwQGKx2OrVq1999dXx48cXFBT8sFtO6SH7OZtFli5d+sorr3zyySdlZWU/bKm+k32fFFIO5zudF7Zu3Zo4HfwXS27079QBIilj5LvuOvHnfTTE9u3bk4u0fPnyLVu2fL89JvuuRwoA/F/2Cw6kSktLb7vttuuvv76oqKisrOzxxx//9NNPkxeIx+P33nvvJ598UuHqO3bs+NOf/vTwww9fd911L7744v7vd9WqVb/97W+HDx/+g3xa2LRpU0qxN2zYcOutt+bl5e3Zs+f7bTNx4OU3vrflH3rooffff39/PmrOnTt36dKlyf9nzJgx77333r7X+vjjj5999tnoz4WFhQ888MCaNWv2sfyECRMeffTRefPmfWs9T5w4cfDgwZMmTRo9enTfvn1nzZr1rYewN/vuMN/Jpk2bhg0b9hMWsrCw8Lrrrhs+fPj69euffPLJP/3pT0VFRd97pym73p8W/8/t2rXr2muv/f3vf3/TTTe988470f8ZMmTIQw899INs/6WXXvp+R/H9Rmj5gfOfiAZIhQM2pXhr1qy54YYb/vWvf7399tuDBg168sknf6T9fic/+QCJxWIvvPDClVdeuWzZso8//viCCy5YtGjR995pipQm2P/ZLB6PP/HEE3/84x9XrVo1YsSIH2TYfj/felLIzc1NPpz9Py/s2rXr9ttv/+tf//qDJJspZf6hJvD/XNToGzZs+PTTT5P/vP9bSBkj33XXierdx3Q9Z86cxHQaj8f/8Y9/fPnll99jjylS+gYAwD5k/tQF+I9Ur159yZIlr7zyysCBA6P/s2PHjjFjxsydO7dXr16NGzd+880316xZ06xZs/fee++rr77q2bPnaaedlpGREYvFvvrqq0qVKg0bNmz9+vX7DkdSTJ8+vVOnTnl5eStXrmzWrNkHH3zw5ptvNmrU6NJLL61Xr14sFluxYsW77767du3aatWqXX755Tk5OWPGjEns/f333581a1ZaWtpvf/vb6tWrR9t8//33ly1blpub26ZNm+3bt+fm5nbq1Km0tPSZZ56JjuXEE0986aWX1q9ff/jhhxcXFxcVFa1cufL000+fPn16dnb2oEGD9uzZ88ILL8yfP//YY49t3759dODXXHNNSp2cdNJJY8eO3b59+/Lly88+++zjjz8+qop33333sMMOmz59+qZNmzp27Pj66683a9bsq6++SuwxsUpU4OSjjsVis2fP/stf/tKmTZsLLrhg8+bNzz77bGFh4cUXX9yiRYt333130qRJlSpVqlKlSqIOS0tLx4wZU1RUdO65527YsCEjI6NHjx6ff/75hg0bzjjjjO3bt7/22msLFiyoU6fON998c//998fj8SuuuKJOnTrJNRm1Y1paWteuXe+6665YLHbnnXfOmDFjw4YNUQ2ffPLJr7/++u7duy+66KKmTZu+/PLL5estMzOzfIdp1apVbm7u66+/3rhx40svvfSLL75IbrKysrIJEyZMnDixTp06l19++eLFi6O2a9u27QUXXLBy5crnnnuuUqVKybeApRRy+vTpX3zxxfr161u3bn3UUUc9//zzUSGzs7Pfe++9TZs2VapU6dhjj50wYcLxxx9/xhlnrFq1KrFMWVlZ+V7do0ePqHu0bt36rLPOisVi77zzTklJydNPP52VlVVYWPjiiy9u3Lhx0qRJ5XdaqVKlTz755KKLLpozZ87y5curV6++dOnSBQsWHH/88f369YsqOZKbmxvtunHjxntr8aysrLfeequgoOC8887bsmVLog5r1aoVi8VSqm737t37WHjLli3Z2dkPPvhgw4YN09PTS0pKhg4dumLFisaNGyeKtGLFigprbPfu3Ymu0rNnz7Fjx5Zv+lgsNmvWrLlz53bs2LFv375lZWWJVZLrs1atWskDPB6Pv/rqq9EIXbt27UMPPRRVY5MmTV588cX169fXrVs3LS2tfJFisVhJScmoUaMSQ6ldu3bPPffcunXrfvWrX3Xq1Kldu3blZ4/09PTEuL7wwgs/+uijWbNm7dq1a+HChcuWLevWrdtRRx0VrRU16AUXXPDhhx9GxcvKyopqqXHjxjfffHOdOnWmTJkyatSogw8+ODc3Ny0t7aKLLnrnnXeSZ4Z9D5DjjjsuGpjdunUrLi7ezwFSVlY2ceLE6B6NK664orCw8AcfIMXFxd867adMvCtWrHjttdceeeSR5s2bx2KxcePGbdy4ceXKldEyyTXTtWvXMWPG/PrXv65UqdIbb7zRo0eP5AY64IADYrFYPB6fNm3av/71r6ZNm1544YWJHpKVlfWdZrOFCxdOmjTp8ccfP/jgg7dv3/7cc8998803n3/+ebTlAQMGbNmypXwN9O7de8yYMVu3bs3LyxswYMCRRx6Zm5v74osvFhYW9u/f/1e/+lWi/gcOHDhlypSTTz65UaNGY8aMOfroo1u0aJE8mhJVXVhYGJ0UsrKy4vH4G2+8cdhhh9WvX3/06NGXXXbZokWLPv/88+TDibawcuXKZ599trS09OKLL045LyR64/jx41etWhVVe2TKlCnJc06ipX6kCTwej7/33nuTJk1q0aJFnTp1atSoUb7RTz755HfffbdOnTrR2bBGjRrLli1LafRYLJafn5+Y+qpUqZKo5/PPPz9q9MMOO6y4uDjx51gstmvXruR2X7NmzTPPPFNcXHzhhRe2b98+2uyiRYsSYyS5aw0YMKBmzZrRRl5++eXETNKlS5fEMn379k0M0mhySG6I8847b8aMGYmtRf8a9bT8/Py8vLxEoxQUFCTPPJ988kniNNelS5fp06cPHDhw+/bt48aNu/zyy6OmTxxILBZL7htVq1ZNbOrss89+9dVXo6HdqVOnRO0dcsgho0ePnj17drdu3c4666zMzF/2pSkAsP9+wXdIxWKxSpUqXXPNNePGjVuwYEEsFovH44899tjSpUsHDRr00ksvLV26tFOnThdccMErr7yyaNGiq6+++s0335w8eXK07urVq7/88stBgwb99re/LS4u3s897ty5c+rUqf369WvRosXkyZPXrl37j3/8Y8CAAbVr1058Mbtx48bRo0f36dOnSpUqw4cPHzFiRPLeZ86cuWTJknPOOadq1arRwp9++ulXX3310UcfDRo0aNKkSQ0bNuzcufMll1zyj3/8I3Esb7311vjx4xs3btyxY8dx48bF4/GWLVvefPPN3bp1W7x48aRJk8aNG1dWVnbDDTdMmjRpy5Yt0YGXlJR88sknyXXy1ltvjRs3LiMj47TTTvv73/8eFbh9+/YnnnjipZdeum7duuhb7pkzZ65atSp5j4lV5s2bN3PmzOSjjsfja9euvfjii997773JkyffdtttLVu2POWUU4YMGfLOO++88MILl1xyyfbt25MreevWrdWqVevRo8e9995bXFw8duzYHTt2vPHGG9GHlurVq/fo0eOUU045/PDD8/Pzu3XrlpWV9b//+79PPfVU+Xbcs2fPypUrJ06cOGbMmBkzZjRv3jyq4T59+tx7771t2rTp1q3brbfeumLFivL1NnHixAo7zJIlSx599NGLL744PT19+PDhX3zxRXKT5ebmvvfee9ddd112dvbIkSO//PLLqO0mTpw4efLkIUOGdO7cuVmzZslPSaQU8pBDDonq9sgjj7z11lsThZw3b94///nP448/ftGiRS+++GK/fv1GjRo1d+7c5GWqVatWvldPnDgx2mC3bt1i/+9hvWOPPTYrK2vr1q0bN2485ZRTsrOzK9zp3LlzP/vssz179qxaterrr7/++uuvp06d+tvf/nbChAkp36u3aNEi2nV2dvbeWjw3N3f8+PFnnHHGpk2bkusw+ro+perWrVu3j4XXrVv373//+49//GOfPn3+9a9/Va5c+e677x44cGDyZ5WNGzeWr7HVq1cnd5WJEydWOGTi8XheXt6FF144fvz4SZMmpawS1VXz5s1TBnh6evrpp5/euXPns846a/DgwYlqXL58ebRKs2bNKizSvHnzFi1alDyUnnrqqW+++aZv374vvfRS4gmmlNnj9ddfT4zrzz77LOrbAwcO7NOnzymnnBJlWFu2bEk06O23396hQ4fOnTtfdtlllStXjra5bdu2Dz74YPz48f/85z+bNWs2a9asJUuW9O/f/9lnn02ZGfY9QKZNmxYNzJKSkv0fIOvXr3/ppZd69uxZuXLlRx999AcfICtXrtyfaT9l4l28eHHNmjWbNGlSUlKycuXKdu3atWrVKlompWbGjx8/ffr0aAb7+OOPUxoo6quffvrp448/PmDAgB07dtx///2nnHJKogm+02y2YsWKOnXqHHTQQdE0eO21165cuTKx5fvuu2/dunXla2DZsmXjxo3LzMz89a9/PXTo0GXLlj3zzDM9e/bs27fvI488snjx4kT9jxo1atOmTZMnT87Ly5s8eXKU/EaSe9Gtt95ar1696KRw8MEHp6en79y5c8qUKTNnznz++efnz58/YcKE9PT05MOZN2/e3Llz77rrrlatWh133HHPPPNM8nnhs88+i/ayYMGCadOmnX/++clJd8qc82NP4J9//vmLL7548cUXz50794MPPqiw0d9+++05c+YkzoaLFi0q3+hbt25NmfoS9fzyyy9HjV63bt1///vfiT9/+umnye3+3nvvjRgxokmTJmeeeebEiRN37doVi8UKCgqSx0hy17rvvvui245KSkqSZ5LkZR555JGTTjopMTlEp4NEQ4wcObL81p588snNmzf369dv1apVifuqkq8oPvvss8QlysSJE5csWfLRRx8tXbp0+vTp0QPU8Xg8+UBKSkqS+0bypqZPnx4N7fbt2yfX3uuvv/7vf//72muv/X5vUQAAfrl+8V9DNW3atH///g8//HClSpXKysoWL1581VVXHXHEEaeeeurs2bNjsdiePXtmzJixbt26hQsXbtu2LfECmrKysqZNm/7jH//44osvnn322a5duya+wt2H3Nzczz//vKSkZPPmzaWlpf369WvevPk111xz7LHHXnvttYnFOnbs2Llz53r16t17770LFy785ptvEntPT0/v3Lnzr371q+TNpqen9+jRo1WrVk2bNi0qKkpLS0s5lrlz59asWbNLly516tSpXbt2r169CgoKjjjiiE6dOk2fPn3nzp19+vQZNWrU3XffvWTJkuLi4rS0tPT09FgsFo/HU7ZTq1atnj17Vq9ePbo6j8Vi0cLJnxAitWrVSuwxeZWcnJzko166dGnv3r3btGlz6KGHrlmzZs6cOQUFBZmZmYWFhV9//fXRRx/dvn37fv36zZgxI7Hlhg0b9u3bt3HjxmPHjq1Wrdru3bunT5++cePGo48+OlEhaWlpsVisdevWxx13XFFR0ZQpUxYtWlS+HWOx2Jo1a2bMmFG1atUhQ4Z07Njx888/79y5c0ZGRnZ2dp8+fapWrTpu3Ljly5eXr7eioqLyHSY9PX3+/PkLFiwYMmTI7t2769Wrd8ghhyQ32WGHHdaxY8dhw4YtXbr06KOPjpK1qO3WrFmTkZHRvXv3oqKilKczkgvZokWLsWPHdunSZdeuXZUrV04Ucs2aNS1atOjSpcvnn39er1691q1bV69ePT8/P3mZZcuWpaWlpfTqNWvWJBor2l2lSpV2794di8WmT5/+2muvzZ49+9Zbb42WSdlp8rfi0Yp9+/Zt2bJlt27d5syZc+qppyb+KS0tLeoq6enpe2vxLVu2HHrooe3btx89enRyHRYXF+fk5KRUXSwW28fCrVq1mjBhQr169aKPW927d8/JySk/JMvX2K5du5IrJy8vr8IhU6lSpbPOOqtdu3bdu3efM2fOrFmzytfnIYccUn6AR51zw4YNydW4fPnyaJWtW7eWL1LiHV6JoZSVlbVw4cIrr7yyQ4cOvXr1inp7yuwxdOjQAQMGvPHGG4lxnZg9MjMzE6usXbs2uSSrV6+OWiqxwe3bt8+cOTMnJ+fUU0897bTTHnvssc6dOx900EFLly5NmRn2PUBmzZp16KGHpqWlfacBEovFWrZs2alTp4KCgrfeeusHHyA7d+7cn2k/ZeLNzMwsKyuLx+P5+fkPP/zw/PnzO3ToUKdOnQprJuXZzOQG2r59e82aNefPn9+lS5f27dvXqFFj8ODBO3bsSG6C/Z/NsrOz9+zZU1ZWFs3GBQUFc+fOTd5yYWFhhb2rYcOGp59+euPGjV988cUNGzacddZZr7322ooVK7Zu3VpaWpqo/48//vi000579tlns7KymjZtGt3SW2EvWrZsWfJJ4eijj3788cdLSkq6dOny2Wefbdy4sXPnzonD+eCDD6pXr15YWBiPx3v37n3AAQecdtppw4cPT8wS0XvBioqKHn300aOPPnrLli0bN27cuHFj/fr1y885UUv9eBP4vHnzOnTo0K5du7PPPvu9996LdpfS6LNmzUo5IZZv9I0bN6ZMfcn1nGj05A4Qj8dTpqauXbved9999evXv+yyyypVqhSLxdavX588RlK61tatW6P7s5JPyinLNG/ePHn4J0/Xubm5KR01Ho8vWbJk0KBBxx57bPfu3aPLhlgslnJFkXyJEovF2rdvP23atCVLlpx++unRLpIPJDMzM7lvJG9q586d0TxZVlaWXHt16tRZu3btlVdeecYZZyTOYgDA/wW/+EAqLS2tf//+H3/88fvvv3/KKafk5OSsW7cuFoutWbOmTp060SvP69ev37dv33PPPXfq1KmJm+0bNWoUPUSWnp6e/Olu3957771zzjnn/PPP37Vr11133fXJJ5907Njxj3/840svvfTII4+MGDEiWmzTpk07d+7csGFDlSpVatWqdc455yT2PmHChPLRT1SM6A/Rh5+MjIzkYznggAPy8vKiZdLS0hJPq0WrRO/OOOqoox599NE///nP8Xg8yiyiZVK2s3bt2sS+UmRmZhYXF5eWlm7cuDHaSGKPyauUlJQkH/Xhhx+e+NfKlSs3a9bswQcfrF+//rvvvltUVDRnzpyysrJNmzaVlJQktlBYWLh58+YaNWoUFxc3atTomGOOGTly5LHHHlu7du3y1RIdZlpaWoXtmJaWdvzxx995553JJYxqb9euXdu2bYvH49u2batZs2b5ektPTy/fYfbs2VOrVq0TTjjhb3/7W35+/rx58+bMmZPcZG+99daHH344dOjQCRMmzJ07N7ntsrOzS0tLt23bVlxcvG3btsQqKYXcunVrVKUphaxevXpGRka0TGKbVatWTV6mVq1aUfmTa6NSpUpfffVVYpX09PTjjjvu2WefPe+8804//fSTTz7597//faIdU3Zao0aNkpKSsrKyzZs3R39Yu3ZtdPdQgwYNUpoj0a/21uI5OTkZGRlpaWkpdRiNtfJVt4+FZ82aNWvWrMsvvzwtLW0fI7R8jaV0laysrK+//jql6WOxWFlZWX5+fnSkDRs2rLA+i4qKKhzg5dsl6mBRGcoXKbkCE2MqJydn48aNpaWl+fn5RxxxRGKZxOxRuXLlhx566JhjjkmM62jjKdss36ApCzRq1OiGG25I/piXkZFRfoZZu3bttw6QqPDfY4BE26xUqdKOHTt+2AGSciB7m/ZTJt5WrVoVFhZ+9dVXxx133COPPPLiiy/m5uZWWDN169bNy8srKSkpLS2NgpVEA2VnZ2dnZ8disdq1ay9ZsqSsrGzDhg2ZmZl7+27jW2ezFi1aFBQULFy4sG3btmvXrr366quPO+64b775JnnLFfauKBCpWbNmcXHxjh07Hn300dtvvz0nJ+f2229P3u+ePXvatGkTi8XeeOON66+/PnkLKVWdfPNULBY75JBDdu/e/fXXX1988cV///vfjznmmNq1aydnLlHjlpWVbd++fefOnc8//3zlypVT+v/u3bsbN2789ddfR0+H5ebmRoFUypyzcePGH3UCr1Wr1tKlS8vKytatWxc9N1q+0evUqVNUVJQ4GzZs2LB8o1epUiV56qtRo0ZyPVfYAVLavVatWhs2bBgzZkxeXt7QoUOPPPLIJk2aVKtWLfkkktK1ol3H/r8n5ZRlomArpeNFf6hWrdr69esTS1auXDktLa1GjRrr168vLS3dsGFDNMmUlZWlXFHE/r+XKN27d7/33ntr1KgR3YcVj8crV66cOJDoWeNEBlf+4iQ9PT2l9mrWrHnjjTcecsght91228SJE88999wKKxAA+O/zy35kL1K1atXrr7++WrVq6enpl1566dNPP33GGWcsWrTorLPOOvDAAx955JEzzzxz9OjRZ5555lNPPVWtWrVorY4dO2ZmZl588cX33ntv3759E4+37MPmzZtnzpx5xhlnNGvWrFWrVieffPLEiRM//PDDiy666O233+7Tp09iydzc3AEDBgwbNuzSSy+94ooryu/9W2VkZCQfS/QOmn1o27btG2+8ccMNN+Tn5xcWFh544IEPP/zw5s2bU+rkzDPP3MdGunbtOnbs2IsuuigRflUoMzNz2rRp5Y86FovVrl379NNPv+qqq84555xZs2b17t17586dZ5555ogRI5Kv0Xfv3j148OABAwZ06tTpsMMO69at28qVK7t165bY6UEHHfT2229//fXXiVXS0tIuvfTS/a/Jgw8+uFevXoMGDbrggguOOuqoli1bll+mwg7z8MMPt27dOiMjo1+/fr/73e/KyspSquLQQw/Nz8+/6aab3nvvvcLCwuTjir7DHzRo0O9///v9+c3HlEJGXz6naNiwYfIybdq0Kd+ry9861KtXr+OPP/43v/nN+eef37t374yMjOiDaPmdnnzyyaWlpb/5zW/GjRtXuXLleDw+duzYvn37Ll++/LTTTrv//vvffvvtaMW0tLSofrZv3558yMktnvi8dNJJJ5Wvw5SqSzweUuHCv/rVrz744INBgwbdc889icdt9kfUrPuonMRib731Vt++fVevXn3GGWdUuEpWVtbeunqjRo2+tYPtu5ADBgx4/PHHL7jggpkzZyb3scTscckll7Rv3z4xrpOrPRog06ZNi5Vr0MMPP3x/CpAyw1Q4M5QfINF+K1WqtP8DJPnd1dWqVfvBB0jKgex72k9o0KDBDTfccPfdd//mN785/fTTX3755dNOO63CDZ533nkdOnS47rrr7rzzzmiwJzdQlD316tWrqKjozDPPvO+++y655JLk9+XFvstsdtBBB11yySVXX331eeedd95553Xv3v2KK65I3nJifKUoLCy89dZbL7roomOOOaZ9+/b16tUbNmzY8OHDd+zYET0IlpCTk9OhQ4cdO3YcccQRH3zwwV133RU1UEpVt27dOnmtqlWrtmjRIjMzs0OHDmVlZUcddVSFd9SefPLJV1111dVXX92oUaPyhaxZs+Ytt9zy2GOPXXnlld27d4+eL47FYslzTuJM9+NN4D179vzmm2/69ev39NNPJ/5n+V6UcjYs3+jRXWnlp75EUyYaPfHnlHavUaNGQUHBFVdcMXTo0Hbt2kVfACQm/GiMpHStCqfBlGWaNm2amBxStGvXLqU7paWlDRw4cOTIkf379//iiy+ixdLS0pKvKJJnnkiLFi0yMjKaN28efYeUnp6efCDJ2XfKphK/O5lSe9WrVx82bNg111xTXFx81FFHPfjgg+PHjy9ffgDgv0/a9/4ptx/P9ddf/8Ybb6xcufLH3lE8Hl+/fn21atUSLxf/QUTPAD766KMV3glFefPnz3/iiSceeOCB/Q/s2B+7du3asGHDgQceuD+Po0aGDx9er169xK8EvP3229WrV098dAysrKxs/fr1NWvW3Fuo9IsWvVr40EMP/dOf/jRgwIDjjjsuZvYIKx6PR/e8pNwQtA8BGmjXrl1r166tW7fufs6H27dvv/7662+55Zbotdnf6rnnnisuLr7mmmuWLVs2ZcqU6H6W/6zI/5GUOefHNn/+/CVLlpxxxhmjRo3auHHjjTfe+K2rGJUpdu7cefPNN1966aWJF7EDAD9bHTp0aN269QsvvPBTF6Riv/hH9v4T6enpDRs2/ME3W61atSZNmvzgm/1v9e9//3vIkCG/+93vpFE/uKysrIMPPvg7rdKwYcPkD+cnnHDCT9guGRkZ0Que/ysdcMABd999d2lp6THHHJN4e5rZI6T09PTyz6XuW4AGysrK+k67yMjIaNq06X6GziNHjpw6deoDDzwQi8UaNGgwcODAnzaNipWbc35sdevWHTFixHPPPVe7du3okcZvZVQmi97m3qhRo+QHjQEAvp//03dIAQAAAPxX+pnfIfXf8A4pAAAAAH5BBFIAAAAABCWQAgAAACAogRQAAAAAQQmkAAAAAAgq86cuQMXKysp++9vf/tSlAAAAAPhFWrlyZeXKlX/qUuzVzzGQql+/fpMmTT766KOfuiAAAAAAv0i7du2Kx+M/dSn2Km3Pnj0/dRkAAAAA+D/EO6QAAAAACEogBQAAAEBQAikAAAAAghJIAQAAABCUQAoAAACAoARSAAAAAAQlkAIAAAAgKIEUAAAAAEEJpAAAAAAISiAFAAAAQFACKQAAAACCEkgBAAAAEJRACgAAAICgBFIAAAAABCWQAgAAACAogRQAAAAAQQmkAAAAAAhKIAUAAABAUAIpAAAAAIISSAEAAAAQlEAKAAAAgKAEUgAAAAAEJZACAAAAICiBFAAAAABBCaQAAAAACEogBQAAAEBQAikAAAAAghJIAQAAABCUQAoAAACAoARSAAAAAAQlkAIAAAAgKIEUAAAAAEEJpAAAAAAISiAFAAAAQFACKQAAAACCEkgBAAAAEJRACgAAAICgBFIAAAAABCWQAgAAACAogRQAAAAAQQmkAAAAAAhKIAUAAABAUAIpAAAAAIISSAEAAAAQlEAKAAAAgKAEUgAAAAAEJZACAAAAICiBFAAAAABBCaQAAAAACEogBQAAAEBQAikAAAAAghJIAQAAABCUQAoAAACAoARSAAAAAAQlkAIAAAAgKIEUAAAAAEEJpAAAAAAISiAFAAAAQFACKQAAAACCEkgBAAAAEJRACgAAAICgBFIAAAAABCWQAgAAACAogRQAAAAAQQmkAAAAAAhKIAUAAABAUAIpAAAAAIISSAEAAAAQlEAKAAAAgKAEUgAAAAAEJZACAAAAICiBFAAAAABBCaQAAAAACEogBQAAAEBQAikAAAAAghJIAQAAABCUQAoAAACAoARSAAAAAAQlkAIAAAAgKIEUAAAAAEEJpAAAAAAISiAFAAAAQFACKQAAAACCEkgBAAAAEJRACgAAAICgBFIAAAAABCWQAgAAACAogRQAAAAAQQmkAAAAAAhKIAUAAABAUAIpAAAAAIISSAEAAAAQlEAKAAAAgKAEUgAAAAAEJZACAAAAICiBFAAAAABBCaQAAAAACEogBQAAAEBQAikAAAAAghJIAQAAABCUQAoAAACAoARSAAAAAAQlkAIAAAAgKIEUAAAAAEEJpAAAAAAISiAFAAAAQFACKQAAAACCEkgBAAAAEJRACgAAAICgBFIAAAAABCWQAgAAACAogRQAAAAAQQmkAAAAAAhKIAUAAABAUAIpAAAAAIISSAEAAAAQlEAKAAAAgKAEUgAAAAAEJZACAAAAICiBFAAAAABBCaQAAAAACEogBQAAAEBQAikAAAAAghJIAQAAABCUQAoAAACAoARSAAAAAAQlkAIAAAAgKIEUAAAAAEEJpAAAAAAISiAFAAAAQFACKQAAAACCEkgBAAAAEJRACgAAAICgBFIAAAAABCWQAgAAACAogRQAAAAAQQmkAAAAAAhKIAUAAABAUAIpAAAAAIISSAEAAAAQlEAKAAAAgKAEUgAAAAAEJZACAAAAICiBFAAAAABBCaQAAAAACEogBQAAAEBQAikAAAAAghJIAQAAABCUQAoAAACAoARSAAAAAAQlkAIAAAAgKIEUAAAAAEEJpAAAAAAISiAFAAAAQFACKQAAAACCEkgBAAAAEJRACgAAAICgBFIAAAAABCWQAgAAACAogRQAAAAAQQmkAAAAAAhKIAUAAABAUAIpAAAAAIISSAEAAAAQlEAKAAAAgKAEUgAAAAAEJZACAAAAICiBFAAAAABBCaQAAAAACEogBQAAAEBQAikAAAAAghJIAQAAABCUQAoAAACAoARSAAAAAAQlkAIAAAAgKIEUAAAAAEEJpAAAAAAISiAFAAAAQFACKQAAAACCEkgBAAAAEJRACgAAAICgBFIAAAAABCWQAgAAACAogRQAAAAAQQmkAAAAAAhKIAUAAABAUAIpAAAAAIISSAEAAAAQlEAKAAAAgKAEUgAAAAAEJZACAAAAICiBFAAAAABBCaQAAAAACEogBQAAAEBQAikAAAAAghJIAQAAABCUQAoAAACAoARSAAAAAAQlkAIAAAAgKIEUAAAAAEEJpAAAAAAISiAFAAAAQFACKQAAAACCEkgBAAAAEJRACgAAAICgBFIAAAAABCWQAgAAACAogRQAAAAAQQmkAAAAAAhKIAUAAABAUAIpAAAAAIISSAEAAAAQlEAKAAAAgKAEUgAAAAAEJZACAAAAICiBFAAAAABBCaQAAAAACEogBQAAAEBQAikAAAAAghJIAQAAABCUQAoAAACAoARSAAAAAAQlkAIAAAAgKIEUAAAAAEEJpAAAAAAISiAFAAAAQFACKQAAAACCEkgBAAAAEJRACgAAAICgBFIAAAAABCWQAgAAACAogRQAAAAAQQmkAAAAAAhKIAUAAABAUAIpAAAAAIISSAEAAAAQlEAKAAAAgKAEUgAAAAAEJZACAAAAICiBFAAAAABBCaQAAAAACEogBQAAAEBQAikAAAAAghJIAQAAABCUQAoAAACAoARSAAAAAAQlkAIAAAAgKIEUAAAAAEEJpAAAAAAISiAFAAAAQFACKQAAAACCEkgBAAAAEJRACgAAAICgBFIAAAAABCWQAgAAACAogRQAAAAAQQmkAAAAAAhKIAUAAABAUAIpAAAAAIISSAEAAAAQlEAKAAAAgKAEUgAAAAAEJZACAAAAICiBFAAAAABBCaQAAAAACEogBQAAAEBQAikAAAAAghJIAQAAABCUQAoAAACAoARSAAAAAAQlkAIAAAAgKIEUAAAAAEEJpAAAAAAISiAFAAAAQFACKQAAAACCEkgBAAAAEJRACgAAAICgBFIAAAAABCWQAgAAACAogRQAAAAAQQmkAAAAAAhKIAUAAABAUAIpAAAAAIISSAEAAAAQlEAKAAAAgKAEUgAAAAAEJZACAAAAICiBFAAAAABBCaQAAAAACEogBQAAAEBQAikAAAAAghJIAQAAABCUQAoAAACAoARSAAAAAAQlkAIAAAAgKIEUAAAAAEEJpAAAAAAISiAFAAAAQFACKQAAAACCEkgBAAAAEJRACgAAAICgBFIAAAAABCWQAgAAACAogRQAAAAAQQmkAAAAAAhKIAUAAABAUAIpAAAAAIISSAEAAAAQlEAKAAAAgKAEUgAAAAAEJZACAAAAICiBFAAAAABBCaQAAAAACEogBQAAAEBQAikAAAAAghJIAQAAABCUQAoAAACAoARSAAAAAAQlkAIAAAAgKIEUAAAAAEEJpAAAAAAISiAFAAAAQFACKQAAAACCEkgBAAAAEJRACgAAAICgBFIAAAAABCWQAgAAACAogRQAAAAAQQmkAAAAAAhKIAUAAABAUAIpAAAAAIISSAEAAAAQlEAKAAAAgKAEUgAAAAAEJZACAAAAICiBFAAAAABBCaQAAAAACEogBQAAAEBQAikAAAAAghJIAQAAABCUQAoAAACAoARSAAAAAAQlkAIAAAAgKIEUAAAAAEEJpAAAAAAISiAFAAAAQFACKQAAAACCEkgBAAAAEJRACgAAAICgBFIAAAAABCWQAgAAACAogRQAAAAAQQmkAAAAAAhKIAUAAABAUAIpAAAAAIISSAEAAAAQlEAKAAAAgKAEUgAAAAAEJZACAAAAICiBFAAAAABBCaQAAAAACEogBQAAAEBQAikAAAAAghJIAQAAABCUQAoAAACAoARSAAAAAAQlkAIAAAAgKIEUAAAAAEEJpAAAAAAISiAFAAAAQFACKQAAAACCEkgBAAAAEJRACgAAAICgBFIAAAAABCWQAgAAACAogRQAAAAAQQmkAAAAAAhKIAUAAABAUAIpAAAAAIISSAEAAAAQlEAKAAAAgKAEUgAAAAAEJZACAAAAICiBFAAAAABBCaQAAAAACEogBQAAAEBQAikAAAAAghJIAQAAABCUQAoAAACAoARSAAAAAAQlkAIAAAAgKIEUAAAAAEEJpAAAAAAISiAFAAAAQFACKQAAAACCEkgBAAAAEJRACgAAAICgBFIAAAAABCWQAgAAACAogRQAAAAAQQmkAAAAAAhKIAUAAABAUAIpAAAAAIISSAEAAAAQlEAKAAAAgKAEUgAAAAAEJZACAAAAICiBFAAAAABBCaQAAAAACEogBQAAAEBQAikAAAAAghJIAQAAABCUQAoAAACAoARSAAAAAAQlkAIAAAAgKIEUAAAAAEEJpAAAAAAISiAFAAAAQFACKQAAAACCEkgBAAAAEJRACgAAAICgBFIAAAAABCWQAgAAACAogRQAAAAAQQmkAAAAAAhKIAUAAABAUAIpAAAAAIISSAEAAAAQlEAKAAAAgKAEUgAAAAAEJZACAAAAICiBFAAAAABBCaQAAAAACEogBQAAAEBQAikAAAAAghJIAQAAABCUQAoAAACAoARSAAAAAAQlkAIAAAAgKIEUAAAAAEEJpAAAAAAISiAFAAAAQFACKQAAAACCEkgBAAAAEJRACgAAAICgBFIAAAAABCWQAgAAACAogRQAAAAAQQmkAAAAAAhKIAUAAABAUAIpAAAAAIISSAEAAAAQlEAKAAAAgKAEUgAAAAAEJZACAAAAICiBFAAAAABBCaQAAAAACEogBQAAAEBQAikAAAAAghJIAQAAABCUQAoAAACAoARSAAAAAAQlkAIAAAAgKIEUAAAAAEEJpAAAAAAISiAFAAAAQFACKQAAAACCEkgBAAAAEJRACgAAAICgBFIAAAAABCWQAgAAACAogRQAAAAAQQmkAAAAAAhKIAUAAABAUAIpAAAAAIISSAEAAAAQlEAKAAAAgKAEUgAAAAAEJZACAAAAICiBFAAAAABBCaQAAAAACEogBQAAAEBQAikAAAAAghJIAQAAABCUQAoAAACAoARSAAAAAAQlkAIAAAAgKIEUAAAAAEEJpAAAAAAISiAFAAAAQFACKQAAAACCEkgBAAAAEJRACgAAAICgBFIAAAAABCWQAgAAACAogRQAAAAAQQmkAAAAAAhKIAUAAABAUAIpAAAAAIISSAEAAAAQlEAKAAAAgKAEUgAAAAAEJZACAAAAICiBFAAAAABBCaQAAAAACEogBQAAAEBQAikAAAAAghJIAQAAABCUQAoAAACAoARSAAAAAAQlkAIAAAAgKIEUAAAAAEEJpAAAAAAISiAFAAAAQFACKQAAAACCEkgBAAAAEJRACgAAAICgBFIAAAAABCWQAgAAACAogRQAAAAAQQmkAAAAAAhKIAUAAABAUAIpAAAAAIISSAEAAAAQlEAKAAAAgKAEUgAAAAAEJZACAAAAICiBFAAAAABBCaQAAAAACEogBQAAAEBQAikAAAAAghJIAQAAABCUQAoAAACAoARSAAAAAAQlkAIAAAAgKIEUAAAAAEEJpAAAAAAISiAFAAAAQFACKQAAAACCEkgBAAAAEJRACgAAAICgBFIAAAAABCWQAgAAACAogRQAAAAAQQmkAAAAAAhKIAUAAABAUAIpAAAAAIISSAEAAAAQlEAKAAAAgKAEUgAAAAAEJZACAAAAICiBFAAAAABBCaQAAAAACEogBQAAAEBQAikAAAAAghJIAQAAABCUQAoAAACAoARSAAAAAAQlkAIAAAAgKIEUAAAAAEEJpAAAAAAISiAFAAAAQFACKQAAAACCEkgBAAAAEJRACgAAAICgBFIAAAAABCWQAgAAACAogRQAAAAAQQmkAAAAAAhKIAUAAABAUAIpAAAAAIISSAEAAAAQlEAKAAAAgKAEUgAAAAAEJZACAAAAICiBFAAAAABBCaQAAAAACEogBQAAAEBQAikAAAAAghJIAQAAABCUQAoAAACAoARSAAAAAAQlkAIAAAAgKIEUAAAAAEEJpAAAAAAISiAFAAAAQFACKQAAAACCEkgBAAAAEJRACgAAAICgBFIAAAAABCWQAgAAACAogRQAAAAAQQmkAAAAAAhKIAUAAABAUAIpAAAAAIISSAEAAAAQlEAKAAAAgKAEUgAAAAAEJZACAAAAICiBFAAAAABBCaQAAAAACEogBQAAAEBQAikAAAAAghJIAQAAABCUQAoAAACAoARSAAAAAAQlkAIAAAAgKIEUAAAAAEEJpAAAAAAISiAFAAAAQFACKQAAAACCEkgBAAAAEJRACgAAAICgBFIAAAAABCWQAgAAACAogRQAAAAAQQmkAAAAAAhKIAUAAABAUAIpAAAAAIISSAEAAAAQlEAKAAAAgKAEUgAAAAAEJZACAAAAICiBFAAAAABBCaQAAAAACEogBQAAAEBQAikAAAAAghJIAQAAABCUQAoAAACAoARSAAAAAAQlkAIAAAAgKIEUAAAAAEEJpAAAAAAISiAFAAAAQFACKQAAAACCEkgBAAAAEJRACgAAAICgBFIAAAAABCWQAgAAACAogRQAAAAAQQmkAAAAAAhKIAUAAABAUAIpAAAAAIISSAEAAAAQlEAKAAAAgKAEUgAAAAAEJZACAAAAICiBFAAAAABBCaQAAAAACEogBQAAAEBQAikAAAAAghJIAQAAABCUQAoAAACAoARSAAAAAAQlkAIAAAAgKIEUAAAAAEEJpAAAAAAISiAFAAAAQFACKQAAAACCEkgBAAAAEJRACgAAAICgBFIAAAAABCWQAgAAACAogRQAAAAAQQmkAAAAAAhKIAUAAABAUAIpAAAAAIISSAEAAAAQlEAKAAAAgKAEUgAAAAAEJZACAAAAICiBFAAAAABBCaQAAAAACEogBQAAAEBQAikAAAAAghJIAQAAABCUQAoAAACAoARSAAAAAAQlkAIAAAAgKIEUAAAAAEEJpAAAAAAISiAFAAAAQFACKQAAAACCEkgBAAAAEJRACgAAAICgBFIAAAAABCWQAgAAACAogRQAAAAAQQmkAAAAAAhKIAUAAABAUAIpAAAAAIISSAEAAAAQlEAKAAAAgKAEUgAAAAAEJZACAAAAICiBFAAAAABBCaQAAAAACEogBQAAAEBQAikAAAAAghJIAQAAABCUQAoAAACAoARSAAAAAAQlkAIAAAAgKIEUAAAAAEEJpAAAAAAISiAFAAAAQFACKQAAAACCEkgBAAAAEJRACgAAAICgBFIAAAAABCWQAgAAACAogRQAAAAAQQmkAAAAAAhKIAUAAABAUAIpAAAAAIISSAEAAAAQlEAKAAAAgKAEUgAAAAAEJZACAAAAICiBFAAAAABBCaQAAAAACEogBQAAAEBQAikAAAAAghJIAQAAABCUQAoAAACAoARSAAAAAAQlkAIAAAAgKIEUAAAAAEEJpAAAAAAISiAFAAAAQFACKQAAAACCEkgBAAAAEJRACgAAAICgBFIAAAAABCWQAgAAACAogRQAAAAAQQmkAAAAAAhKIAUAAABAUAIpAAAAAIISSAEAAAAQlEAKAAAAgKAEUgAAAAAEJZACAAAAICiBFAAAAABBCaQAAAAACEogBQAAAEBQAikAAAAAghJIAQAAABCUQAoAAACAoARSAAAAAAQlkAIAAAAgKIEUAAAAAEEJpAAAAAAISiAFAAAAQFACKQAAAACCEkgBAAAAEJRACgAAAICgBFIAAAAABCWQAgAAACAogRQAAAAAQQmkAAAAAAhKIAUAAABAUAIpAAAAAIISSAEAAAAQlEAKAAAAgKAEUgAAAAAEJZACAAAAICiBFAAAAABBCaQAAAAACEogBQAAAEBQAikAAAAAghJIAQAAABCUQAoAAACAoARSAAAAAAQlkAIAAAAgKIEUAAAAAEEJpAAAAAAISiAFAAAAQFACKQAAAACCEkgBAAAAEJRACgAAAICgBFIAAAAABCWQAgAAACAogRQAAAAAQQmkAAAAAAhKIAUAAABAUAIpAAAAAIISSAEAAAAQlEAKAAAAgKAEUgAAAAAEJZACAAAAICiBFAAAAABBCaQAAAAACEogBQAAAEBQAikAAAAAghJIAQAAABCUQAoAAACAoARSAAAAAAQlkAIAAAAgKIEUAAAAAEEJpAAAAAAISiAFAAAAQFACKQAAAACCEkgBAAAAEJRACgAAAICgBFIAAAAABCWQAgAAACAogRQAAAAAQQmkAAAAAAhKIAUAAABAUAIpAAAAAIL6/wE5NfU2KOzWzAAAAABJRU5ErkJggg==", "refs": null, "images": [[25.559999465942383, 95.51995849609375, 766.0800170898438, 205.68002319335938], [49.44000244140625, 31.44000244140625, 628.5599975585938, 95.1600341796875], [24.720001220703125, 30.719970703125, 766.3200073242188, 205.92001342773438], [25.440000534057617, 30.719970703125, 766.3200073242188, 205.92001342773438]]}]} \ No newline at end of file diff --git a/pyproject.toml b/pyproject.toml index 9cfd024..af362af 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -54,3 +54,6 @@ testpaths = [ [[tool.mypy.overrides]] module = "pdftext.tables" ignore_errors = true + +[project.optional-dependencies] +dev = ["aiofiles"] diff --git a/test.py b/test.py new file mode 100644 index 0000000..a2660ab --- /dev/null +++ b/test.py @@ -0,0 +1,348 @@ +from pdftext.extraction import dictionary_output +import argparse +import json +import pypdfium2 as pdfium +import asyncio +import aiofiles +import io +import base64 +import os +from pathlib import Path +from typing import List, Optional, Dict, Any, Union, Tuple +from PIL import Image, ImageDraw +from pdftext.schema import Bbox + + +def parse_range_str(range_str: str) -> List[int]: + """Parse a string of page ranges into a list of page numbers. + + Examples: + "1,2-4,10" -> [0, 1, 2, 3, 9] # 0-indexed + """ + pages = [] + for part in range_str.split(","): + if "-" in part: + start, end = map(int, part.split("-")) + pages.extend(range(start - 1, end)) # Convert to 0-indexed + else: + pages.append(int(part) - 1) # Convert to 0-indexed + return pages + + +def extract_text_from_pdf( + pdf_path: str, + sort: bool = False, + page_range: Optional[str] = None, + flatten_pdf: bool = False, + keep_chars: bool = False, + keep_hyphens: bool = False, + workers: Optional[int] = None, +) -> List[Dict[str, Any]]: + """Extract text from PDF synchronously using dictionary_output.""" + pdf_path = Path(pdf_path) + + # Extract page range if provided + pages = None + if page_range is not None: + pdf_doc = pdfium.PdfDocument(pdf_path) + pages = parse_range_str(page_range) + doc_len = len(pdf_doc) + pdf_doc.close() + if not all(0 <= p < doc_len for p in pages): + raise ValueError("Invalid page number(s) provided") + + # Extract text using dictionary_output + extracted_data = dictionary_output( + pdf_path, + sort=sort, + page_range=pages, + flatten_pdf=flatten_pdf, + keep_chars=keep_chars, + workers=workers, + disable_links=True, + ) + + return extracted_data + + +def preprocess_image(page_image: Union[str, io.BytesIO]) -> Image.Image: + """Preprocess the page image from base64 string or BytesIO object.""" + if isinstance(page_image, io.BytesIO): + image = Image.open(page_image) + else: + image_data = base64.b64decode(page_image) + image = Image.open(io.BytesIO(image_data)) + return image + + +def resize_image(image: Image.Image, max_size: int) -> Image.Image: + """Resize image if it exceeds the maximum size.""" + # Calculate current size in bytes (approximate) + current_size = image.width * image.height * len(image.getbands()) + + if current_size <= max_size: + return image + + # Calculate scale factor to reduce to max_size + scale_factor = (max_size / current_size) ** 0.5 + new_width = int(image.width * scale_factor) + new_height = int(image.height * scale_factor) + + return image.resize((new_width, new_height), Image.LANCZOS) + + +def get_encoded_image(pil_image: Image.Image) -> str: + """Convert PIL image to base64 encoded string.""" + max_size = 3 * 1024 * 1024 # 3 MB + pil_image = resize_image(pil_image, max_size) + img_bytes = io.BytesIO() + pil_image.save(img_bytes, format="PNG") + img_bytes = img_bytes.getvalue() + encoded_img = base64.b64encode(img_bytes).decode("utf-8") + return encoded_img + + +def rescale_bbox( + src_bbox: List[float], dst_bbox: List[float], bbox: List[float] +) -> List[float]: + """Rescale a bounding box from one coordinate system to another.""" + src_width = src_bbox[2] - src_bbox[0] + src_height = src_bbox[3] - src_bbox[1] + dst_width = dst_bbox[2] - dst_bbox[0] + dst_height = dst_bbox[3] - dst_bbox[1] + + x_scale = dst_width / src_width + y_scale = dst_height / src_height + + return [ + dst_bbox[0] + (bbox[0] - src_bbox[0]) * x_scale, + dst_bbox[1] + (bbox[1] - src_bbox[1]) * y_scale, + dst_bbox[0] + (bbox[2] - src_bbox[0]) * x_scale, + dst_bbox[1] + (bbox[3] - src_bbox[1]) * y_scale, + ] + + +def union_bbox(bbox1: Optional[List[float]], bbox2: List[float]) -> List[float]: + """Compute the union of two bounding boxes.""" + if bbox1 is None: + return bbox2 + return [ + min(bbox1[0], bbox2[0]), + min(bbox1[1], bbox2[1]), + max(bbox1[2], bbox2[2]), + max(bbox1[3], bbox2[3]), + ] + + +def visualize_bboxes( + page: Dict[str, Any], color: str = "red", crop_flag: bool = True +) -> Tuple[str, Image.Image]: + """Draw bounding boxes on the page image and return the encoded image and PIL Image.""" + # Extract all bboxes from the page + all_bboxes = [] + + blocks = page.get("blocks", []) + page_image = page.get("page_image", "") + width = page.get("width", 0) + height = page.get("height", 0) + + for block in blocks: + # all_bboxes.append(block.get('bbox', [])) + for line in block.get("lines", []): + # all_bboxes.append(line.get('bbox', [])) + for span in line.get("spans", []): + all_bboxes.append(span.get("bbox", [])) + + img = preprocess_image(page_image) + img_bbox = [0, 0, img.size[0], img.size[1]] + + # Scale page bboxes to image coordinates + page_bbox = [0, 0, width, height] + scaled_bboxes = [rescale_bbox(page_bbox, img_bbox, bbox) for bbox in all_bboxes] + + # Draw boxes on the image + draw = ImageDraw.Draw(img) + for box in scaled_bboxes: + draw.rectangle(box, outline=color, width=1) + + if crop_flag and scaled_bboxes: + # Find the union of all bboxes + missing_boxes_bound = None + for box in scaled_bboxes: + missing_boxes_bound = union_bbox(missing_boxes_bound, box) + + # Add some padding + padding = img.height * 0.05 + crop = ( + max(0, missing_boxes_bound[0] - padding), + max(0, missing_boxes_bound[1] - padding), + min(img.width, missing_boxes_bound[2] + padding), + min(img.height, missing_boxes_bound[3] + padding), + ) + + # Ensure minimum height + if crop[3] - crop[1] < img.height * 0.1: + diff = img.height * 0.1 - (crop[3] - crop[1]) + crop = ( + crop[0], + max(0, crop[1] - diff / 2), + crop[2], + min(img.height, crop[3] + diff / 2), + ) + + img = img.crop(crop) + + return get_encoded_image(img), img + + +async def save_visualization_image( + image: Image.Image, output_path: str, page_num: int +) -> str: + """Save visualization image to disk and return the file path.""" + # Create directory if it doesn't exist + os.makedirs(output_path, exist_ok=True) + + # Generate filename + filename = f"page_{page_num+1}_visualization.png" + filepath = os.path.join(output_path, filename) + + # Save image + image.save(filepath) + return filepath + + +async def process_pages_with_ocr( + extracted_data: List[Dict[str, Any]], + visualize: bool = False, + viz_output_dir: Optional[str] = None, +) -> Dict[str, Any]: + """Process extracted pages through OCR asynchronously.""" + results = [] + visualization_paths = [] + + for page_idx, page_data in enumerate(extracted_data): + + # Visualize bounding boxes if requested + if visualize: + _, pil_img = visualize_bboxes(page_data) + + # Always save visualization as separate file + output_dir = viz_output_dir or os.path.join( + os.path.dirname(os.path.abspath(__file__)), "visualizations" + ) + filepath = await save_visualization_image(pil_img, output_dir, page_idx) + visualization_paths.append(filepath) + # Count lines in dictionary format + num_lines = sum( + len(block.get("lines", [])) for block in page_data.get("blocks", []) + ) + print( + f"Page {page_idx+1}: Found {num_lines} lines, saved visualization to {filepath}" + ) + + output = {"pages": results} + if visualize and visualization_paths: + output["visualization_paths"] = visualization_paths + + return output + + +class BboxEncoder(json.JSONEncoder): + def default(self, obj): + if isinstance(obj, Bbox): + return obj.bbox + return super().default(obj) + + +async def save_output( + output_data: Dict[str, Any], out_path: Optional[str] = None +) -> None: + """Save output data to a file or print to stdout.""" + if out_path: + async with aiofiles.open(out_path, "w") as f: + await f.write(json.dumps(output_data, cls=BboxEncoder)) + else: + print(json.dumps(output_data, cls=BboxEncoder)) + + +async def main(): + parser = argparse.ArgumentParser( + description="Extract plain text or JSON from PDF and process with OCR." + ) + parser.add_argument("pdf_path", type=str, help="Path to the input PDF file") + parser.add_argument( + "--out_path", type=str, help="Path to the output file, defaults to stdout" + ) + parser.add_argument( + "--json", + dest="json_output", + action="store_true", + help="Output json instead of plain text", + ) + parser.add_argument( + "--sort", action="store_true", help="Attempt to sort the text by reading order" + ) + parser.add_argument( + "--keep_hyphens", action="store_true", help="Keep hyphens in words" + ) + parser.add_argument( + "--page_range", + type=str, + help="Page numbers or ranges to extract, comma separated like 1,2-4,10", + ) + parser.add_argument( + "--flatten_pdf", + action="store_true", + help="Flatten form fields and annotations into page contents", + ) + parser.add_argument( + "--keep_chars", action="store_true", help="Keep character level information" + ) + parser.add_argument( + "--workers", type=int, help="Number of workers to use for parallel processing" + ) + parser.add_argument( + "--visualize", + action="store_true", + help="Visualize bounding boxes on the page image", + ) + parser.add_argument( + "--viz_output_dir", + type=str, + help="Directory to save visualization images (defaults to ./visualizations)", + ) + + args = parser.parse_args() + + try: + # Extract text synchronously + extracted_data = extract_text_from_pdf( + pdf_path=args.pdf_path, + sort=args.sort, + page_range=args.page_range, + flatten_pdf=args.flatten_pdf, + keep_chars=args.keep_chars, + keep_hyphens=args.keep_hyphens, + workers=args.workers, + ) + + # Process with OCR asynchronously + ocr_results = await process_pages_with_ocr( + extracted_data, visualize=args.visualize, viz_output_dir=args.viz_output_dir + ) + + # Save or print results + if args.json_output: + # If JSON output is requested, serialize extracted_data instead of ocr_results + await save_output({"pages": extracted_data}, args.out_path) + else: + await save_output(ocr_results, args.out_path) + except Exception as e: + print(f"Error processing PDF: {e}") + import traceback + + traceback.print_exc() + + +if __name__ == "__main__": + asyncio.run(main()) diff --git a/test.sh b/test.sh new file mode 100644 index 0000000..9590c59 --- /dev/null +++ b/test.sh @@ -0,0 +1,51 @@ +#!/bin/bash + +# Default values +INPUT_FILE="./input/reliance_shares.pdf" +OUTPUT_JSON="./output/reliance_bbox.json" +VIZ_DIR="./output/bbox_images" +VISUALIZE="--visualize" + +# Help function +show_help() { + echo "Usage: ./run.sh [options]" + echo "Options:" + echo " -i, --input FILE Input PDF file (default: $INPUT_FILE)" + echo " -o, --output FILE Output JSON file (default: $OUTPUT_JSON)" + echo " -v, --viz-dir DIR Visualization output directory (default: $VIZ_DIR)" + echo " -n, --no-visualize Disable visualization" + echo " -h, --help Show this help message" + exit 1 +} + +# Parse command line arguments +while [[ $# -gt 0 ]]; do + case "$1" in + -i|--input) + INPUT_FILE="$2" + shift 2 + ;; + -o|--output) + OUTPUT_JSON="$2" + shift 2 + ;; + -v|--viz-dir) + VIZ_DIR="$2" + shift 2 + ;; + -n|--no-visualize) + VISUALIZE="" + shift + ;; + -h|--help) + show_help + ;; + *) + echo "Unknown option: $1" + show_help + ;; + esac +done + +# Run the parser with the specified or default options +python3 test.py "$INPUT_FILE" --json --out_path "$OUTPUT_JSON" --viz_output_dir "$VIZ_DIR" $VISUALIZE From 45712d89d51c01332451e3ac614d034502480989 Mon Sep 17 00:00:00 2001 From: nischith Date: Wed, 16 Apr 2025 15:10:26 +0530 Subject: [PATCH 19/26] removed no text spans --- .gitignore | 2 ++ pdftext/pdf/pages.py | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 9e47339..6cc86af 100644 --- a/.gitignore +++ b/.gitignore @@ -20,6 +20,8 @@ build/ develop-eggs/ dist/ downloads/ +input/ +output/ eggs/ .eggs/ lib/ diff --git a/pdftext/pdf/pages.py b/pdftext/pdf/pages.py index 513be90..49dc105 100644 --- a/pdftext/pdf/pages.py +++ b/pdftext/pdf/pages.py @@ -227,7 +227,8 @@ def span_break() -> None: prev_char_bbox = char["bbox"] sum_char_widths += char["bbox"].width - return spans + filtered_spans = [span for span in spans if span["text"].strip() != ""] + return filtered_spans def get_lines(spans: Spans) -> Lines: From 2472ea973a7f86c77e9557cc59a4e8a455e64a80 Mon Sep 17 00:00:00 2001 From: nischith Date: Sat, 19 Apr 2025 14:55:22 +0530 Subject: [PATCH 20/26] fixed span not splitting issue --- .gitignore | 2 +- pdftext/pdf/pages.py | 50 +++++++++++++++++++++++++++----------------- pyproject.toml | 1 + test.py | 32 +++++++++++++++++++++------- uv.lock | 18 ++++++++++++++++ 5 files changed, 75 insertions(+), 28 deletions(-) diff --git a/.gitignore b/.gitignore index 6cc86af..f933185 100644 --- a/.gitignore +++ b/.gitignore @@ -21,7 +21,7 @@ develop-eggs/ dist/ downloads/ input/ -output/ +output/* eggs/ .eggs/ lib/ diff --git a/pdftext/pdf/pages.py b/pdftext/pdf/pages.py index 49dc105..bbff21e 100644 --- a/pdftext/pdf/pages.py +++ b/pdftext/pdf/pages.py @@ -137,16 +137,16 @@ def assign_scripts( def get_spans( chars: Chars, + image_bboxes: list[Bbox], superscript_height_threshold: float = 0.8, line_distance_threshold: float = 0.1, ) -> Spans: spans: Spans = [] avg_char_width: Optional[float] = None sum_char_widths = 0.0 - prev_char_bbox: Optional[Bbox] = None def span_break() -> None: - nonlocal spans, prev_char_bbox, sum_char_widths + nonlocal spans, sum_char_widths new_span_dict = { "bbox": char["bbox"], "text": char["char"], @@ -161,7 +161,6 @@ def span_break() -> None: } spans.append(Span(new_span_dict)) sum_char_widths = char["bbox"].width - prev_char_bbox = char["bbox"] for char in chars: current_span = spans[-1] if spans else None @@ -193,22 +192,25 @@ def span_break() -> None: - current_span["bbox"].height * line_distance_threshold ), char["bbox"].y_end - < (current_span["bbox"].height * superscript_height_threshold) + current_span["bbox"].y_start, + < (current_span["bbox"].height * superscript_height_threshold) + + current_span["bbox"].y_start, char["bbox"].x_start > current_span["bbox"].x_end, ] ): span_break() continue - if prev_char_bbox: - if current_span["chars"]: - avg_char_width = sum_char_widths / len(current_span["chars"]) - if ( - char["bbox"].horizontal_distance(prev_char_bbox) - > 1.5 * avg_char_width - ): - span_break() - continue + if len(current_span["chars"]) > 0: + prev_char_bbox = current_span["chars"][-1]["bbox"] + for char_in_current_span in current_span["chars"][::-1]: + if char_in_current_span["char"].strip(): + prev_char_bbox = char_in_current_span["bbox"] + break + avg_char_width = sum_char_widths / len(current_span["chars"]) + # Used to be 1.5 * avg_char_width reduced it to avg_char_width + if char["bbox"].horizontal_distance(prev_char_bbox) > avg_char_width: + span_break() + continue if char["bbox"].overlap_y(prev_char_bbox) == 0: span_break() @@ -220,11 +222,22 @@ def span_break() -> None: span_break() continue + for image_bbox in image_bboxes: + if ( + image_bbox.intersection_area(current_span["bbox"]) == 0 + and image_bbox.intersection_area(char["bbox"]) == 0 + and image_bbox.intersection_area( + current_span["bbox"].merge(char["bbox"]) + ) + > 0 + ): + span_break() + continue + current_span["text"] += char["char"] current_span["char_end_idx"] = char["char_idx"] current_span["bbox"] = current_span["bbox"].merge(char["bbox"]) current_span["chars"].append(char) - prev_char_bbox = char["bbox"] sum_char_widths += char["bbox"].width filtered_spans = [span for span in spans if span["text"].strip() != ""] @@ -391,9 +404,7 @@ def get_image_bboxes( non_text_objects.append(obj) continue - text_bboxes.append( - transform_bbox(page_bbox_list, page_rotation, obj.get_pos()) - ) + text_bboxes.append(transform_bbox(page_bbox_list, page_rotation, obj.get_pos())) for obj in objects: if obj.type not in (0, 5): @@ -455,11 +466,14 @@ def get_pages( except Exception: pass + image_bboxes = get_image_bboxes(page_obj, page_bbox_list, page_rotation) + chars = deduplicate_chars( get_chars(textpage, page_bbox_list, page_rotation, quote_loosebox) ) spans = get_spans( chars, + image_bboxes, superscript_height_threshold=superscript_height_threshold, line_distance_threshold=line_distance_threshold, ) @@ -470,8 +484,6 @@ def get_pages( line_distance_threshold=line_distance_threshold, ) blocks = get_blocks(lines) - - image_bboxes = get_image_bboxes(page_obj, page_bbox_list, page_rotation) img_render = page_obj.render(scale=page_scale) pil_image = img_render.to_pil() diff --git a/pyproject.toml b/pyproject.toml index af362af..0640c8f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -26,6 +26,7 @@ dependencies = [ "pillow>=10.3.0,<11.0.0", "pytest>=8.3.5", "mypy>=1.15.0", + "aiofiles>=24.1.0", ] [project.urls] diff --git a/test.py b/test.py index a2660ab..fe8a5ac 100644 --- a/test.py +++ b/test.py @@ -135,11 +135,15 @@ def union_bbox(bbox1: Optional[List[float]], bbox2: List[float]) -> List[float]: def visualize_bboxes( - page: Dict[str, Any], color: str = "red", crop_flag: bool = True + page: Dict[str, Any], + text_color: str = "red", + image_color: str = "blue", + crop_flag: bool = True, ) -> Tuple[str, Image.Image]: """Draw bounding boxes on the page image and return the encoded image and PIL Image.""" # Extract all bboxes from the page - all_bboxes = [] + text_bboxes = [] + image_bboxes = [] blocks = page.get("blocks", []) page_image = page.get("page_image", "") @@ -151,24 +155,36 @@ def visualize_bboxes( for line in block.get("lines", []): # all_bboxes.append(line.get('bbox', [])) for span in line.get("spans", []): - all_bboxes.append(span.get("bbox", [])) + text_bboxes.append(span.get("bbox", [])) + + images = page.get("images", []) + for image in images: + image_bboxes.append(image.bbox) img = preprocess_image(page_image) img_bbox = [0, 0, img.size[0], img.size[1]] # Scale page bboxes to image coordinates page_bbox = [0, 0, width, height] - scaled_bboxes = [rescale_bbox(page_bbox, img_bbox, bbox) for bbox in all_bboxes] + scaled_text_bboxes = [ + rescale_bbox(page_bbox, img_bbox, bbox) for bbox in text_bboxes + ] + scaled_image_bboxes = [ + rescale_bbox(page_bbox, img_bbox, bbox) for bbox in image_bboxes + ] + all_scaled_bboxes = scaled_text_bboxes + scaled_image_bboxes # Draw boxes on the image draw = ImageDraw.Draw(img) - for box in scaled_bboxes: - draw.rectangle(box, outline=color, width=1) + for box in scaled_text_bboxes: + draw.rectangle(box, outline=text_color, width=1) + for box in scaled_image_bboxes: + draw.rectangle(box, outline=image_color, width=1) - if crop_flag and scaled_bboxes: + if crop_flag and all_scaled_bboxes: # Find the union of all bboxes missing_boxes_bound = None - for box in scaled_bboxes: + for box in all_scaled_bboxes: missing_boxes_bound = union_bbox(missing_boxes_bound, box) # Add some padding diff --git a/uv.lock b/uv.lock index c6174da..d0663de 100644 --- a/uv.lock +++ b/uv.lock @@ -2,6 +2,15 @@ version = 1 revision = 1 requires-python = ">=3.10" +[[package]] +name = "aiofiles" +version = "24.1.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/0b/03/a88171e277e8caa88a4c77808c20ebb04ba74cc4681bf1e9416c862de237/aiofiles-24.1.0.tar.gz", hash = "sha256:22a075c9e5a3810f0c2e48f3008c94d68c65d763b9b03857924c99e57355166c", size = 30247 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a5/45/30bb92d442636f570cb5651bc661f52b610e2eec3f891a5dc3a4c3667db0/aiofiles-24.1.0-py3-none-any.whl", hash = "sha256:b4ec55f4195e3eb5d7abd1bf7e061763e864dd4954231fb8539a0ef8bb8260e5", size = 15896 }, +] + [[package]] name = "annotated-types" version = "0.7.0" @@ -173,6 +182,7 @@ name = "pdftext" version = "0.6.2" source = { editable = "." } dependencies = [ + { name = "aiofiles" }, { name = "click" }, { name = "mypy" }, { name = "numpy" }, @@ -183,8 +193,15 @@ dependencies = [ { name = "pytest" }, ] +[package.optional-dependencies] +dev = [ + { name = "aiofiles" }, +] + [package.metadata] requires-dist = [ + { name = "aiofiles", specifier = ">=24.1.0" }, + { name = "aiofiles", marker = "extra == 'dev'" }, { name = "click", specifier = ">=8.1.8" }, { name = "mypy", specifier = ">=1.15.0" }, { name = "numpy", specifier = ">=2.2.4" }, @@ -194,6 +211,7 @@ requires-dist = [ { name = "pypdfium2", specifier = "==4.30.0" }, { name = "pytest", specifier = ">=8.3.5" }, ] +provides-extras = ["dev"] [[package]] name = "pillow" From 03f2004dd0a9fffe3a33bd79d00393d49797f740 Mon Sep 17 00:00:00 2001 From: nischith Date: Wed, 23 Apr 2025 12:45:02 +0530 Subject: [PATCH 21/26] fixed the inside function for bbox --- pdftext/schema.py | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/pdftext/schema.py b/pdftext/schema.py index a58d7d8..a88f534 100644 --- a/pdftext/schema.py +++ b/pdftext/schema.py @@ -56,11 +56,12 @@ def y_end(self) -> float: return self.bbox[3] def inside(self, other: Bbox) -> bool: + # Check if the self bounding box is entirely contained within the other bounding box. return ( - self.x_start <= other.x_start and - self.x_end <= other.x_end and - self.y_start >= other.y_start and - self.y_end >= other.y_end + self.x_start >= other.x_start + and self.x_end <= other.x_end + and self.y_start >= other.y_start + and self.y_end <= other.y_end ) def merge(self, other: Bbox) -> Bbox: @@ -72,15 +73,19 @@ def merge(self, other: Bbox) -> Bbox: return Bbox([x_start, y_start, x_end, y_end]) def overlap_x(self, other: Bbox) -> float: - return max(0, min(self.bbox[2], other.bbox[2]) - max(self.bbox[0], other.bbox[0])) + return max( + 0, min(self.bbox[2], other.bbox[2]) - max(self.bbox[0], other.bbox[0]) + ) def overlap_y(self, other: Bbox) -> float: - return max(0, min(self.bbox[3], other.bbox[3]) - max(self.bbox[1], other.bbox[1])) + return max( + 0, min(self.bbox[3], other.bbox[3]) - max(self.bbox[1], other.bbox[1]) + ) def horizontal_distance(self, other: Bbox) -> float: x1, y1, x2, y2 = self.bbox i1, j1, i2, j2 = other.bbox - + if x1 < i1: return i1 - x1 elif i2 < x1: @@ -137,7 +142,7 @@ def rotate(self, page_width: float, page_height: float, rotation: int) -> Bbox: min(new_x_min, new_x_max), min(new_y_min, new_y_max), max(new_x_min, new_x_max), - max(new_y_min, new_y_max) + max(new_y_min, new_y_max), ] return Bbox(rotated_bbox) @@ -149,7 +154,7 @@ def rescale(self, img_size: List[int], page: Page) -> Bbox: self.bbox[0] * w_scale, self.bbox[1] * h_scale, self.bbox[2] * w_scale, - self.bbox[3] * h_scale + self.bbox[3] * h_scale, ] return Bbox(new_bbox) From cea6a196796f042ec5c8321fc503bb60660dc68f Mon Sep 17 00:00:00 2001 From: nischith Date: Sat, 12 Jul 2025 20:42:07 +0530 Subject: [PATCH 22/26] small fix --- pdftext/pdf/pages.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/pdftext/pdf/pages.py b/pdftext/pdf/pages.py index 1e42a27..4d4bb46 100644 --- a/pdftext/pdf/pages.py +++ b/pdftext/pdf/pages.py @@ -262,12 +262,15 @@ def line_break() -> None: continue # we break if the previous span ends with a linebreak - last_text = line["spans"][-1]["text"] + last_text = current_line["spans"][-1]["text"] if any(last_text.endswith(suffix) for suffix in ["\n", "\x02"]): line_break() continue - if span["rotation"] != line["rotation"] and abs(span["rotation"] - line["rotation"]) >= 45: + if ( + span["rotation"] != current_line["rotation"] + and abs(span["rotation"] - current_line["rotation"]) >= 45 + ): line_break() continue From 6fa6c4223555067fc406412bd01c9cc950bb8600 Mon Sep 17 00:00:00 2001 From: nischith Date: Thu, 17 Jul 2025 12:48:46 +0530 Subject: [PATCH 23/26] small change --- test.sh | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/test.sh b/test.sh index 9590c59..dfc0321 100644 --- a/test.sh +++ b/test.sh @@ -1,9 +1,11 @@ #!/bin/bash +FILE_NAME="deepseek_1" # Default values -INPUT_FILE="./input/reliance_shares.pdf" -OUTPUT_JSON="./output/reliance_bbox.json" -VIZ_DIR="./output/bbox_images" +INPUT_FILE="./input/${FILE_NAME}.pdf" +OUTPUT_JSON="./output/${FILE_NAME}_bbox.json" +VIZ_DIR="./output/${FILE_NAME}" +LOG_FILE="./output/${FILE_NAME}.log" VISUALIZE="--visualize" # Help function @@ -48,4 +50,4 @@ while [[ $# -gt 0 ]]; do done # Run the parser with the specified or default options -python3 test.py "$INPUT_FILE" --json --out_path "$OUTPUT_JSON" --viz_output_dir "$VIZ_DIR" $VISUALIZE +python3 test.py "$INPUT_FILE" --json --out_path "$OUTPUT_JSON" --viz_output_dir "$VIZ_DIR" $VISUALIZE > "$LOG_FILE" From 7d1a91e983c408c72c55132f9b81d7d34115069d Mon Sep 17 00:00:00 2001 From: nischith Date: Sat, 19 Jul 2025 12:03:53 +0530 Subject: [PATCH 24/26] small change to allow control characters --- pdftext/extraction.py | 135 +++++++++++++++++++++++++++++--------- pdftext/postprocessing.py | 2 +- 2 files changed, 106 insertions(+), 31 deletions(-) diff --git a/pdftext/extraction.py b/pdftext/extraction.py index df58356..3ddf0f2 100644 --- a/pdftext/extraction.py +++ b/pdftext/extraction.py @@ -9,7 +9,12 @@ from pdftext.pdf.links import add_links_and_refs from pdftext.pdf.pages import get_pages -from pdftext.postprocessing import handle_hyphens, merge_text, postprocess_text, sort_blocks +from pdftext.postprocessing import ( + handle_hyphens, + merge_text, + postprocess_text, + sort_blocks, +) from pdftext.schema import Bbox, Pages, Span, TableInputs, Tables from pdftext.settings import settings from pdftext.tables import table_cell_text @@ -28,7 +33,9 @@ def _load_pdf(pdf: str, flatten_pdf: bool) -> Any: return pdf_doc -def _get_page_range(page_range: List[int], flatten_pdf: bool = False, quote_loosebox: bool = True) -> Pages: +def _get_page_range( + page_range: List[int], flatten_pdf: bool = False, quote_loosebox: bool = True +) -> Pages: global pdf_doc # Convert list to range for get_pages return get_pages(pdf_doc, page_range, flatten_pdf, quote_loosebox) @@ -46,7 +53,13 @@ def worker_init(pdf_path: str, flatten_pdf: bool) -> None: atexit.register(partial(worker_shutdown, pdf_doc)) -def _get_pages(pdf_path: str, page_range: Optional[List[int]] = None, flatten_pdf: bool = False, quote_loosebox: bool = True, workers: Optional[int] = None) -> Pages: +def _get_pages( + pdf_path: str, + page_range: Optional[List[int]] = None, + flatten_pdf: bool = False, + quote_loosebox: bool = True, + workers: Optional[int] = None, +) -> Pages: pdf_doc = _load_pdf(pdf_path, flatten_pdf) if page_range is None: page_range_obj = list(range(len(pdf_doc))) @@ -54,7 +67,9 @@ def _get_pages(pdf_path: str, page_range: Optional[List[int]] = None, flatten_pd page_range_obj = page_range if workers is not None: - workers = min(workers, len(page_range_obj) // settings.WORKER_PAGE_THRESHOLD) # It's inefficient to have too many workers, since we batch in inference + workers = min( + workers, len(page_range_obj) // settings.WORKER_PAGE_THRESHOLD + ) # It's inefficient to have too many workers, since we batch in inference if workers is None or workers <= 1: pages = get_pages(pdf_doc, page_range_obj, flatten_pdf, quote_loosebox) @@ -64,45 +79,89 @@ def _get_pages(pdf_path: str, page_range: Optional[List[int]] = None, flatten_pd pdf_doc.close() pages_per_worker = math.ceil(len(page_range_obj) / workers) - page_range_chunks = [page_range_obj[i * pages_per_worker:(i + 1) * pages_per_worker] for i in range(workers)] - - with ProcessPoolExecutor(max_workers=workers, initializer=worker_init, initargs=(pdf_path, flatten_pdf)) as executor: - pages_lists = list(executor.map(_get_page_range, page_range_chunks, repeat(flatten_pdf), repeat(quote_loosebox))) + page_range_chunks = [ + page_range_obj[i * pages_per_worker : (i + 1) * pages_per_worker] + for i in range(workers) + ] + + with ProcessPoolExecutor( + max_workers=workers, initializer=worker_init, initargs=(pdf_path, flatten_pdf) + ) as executor: + pages_lists = list( + executor.map( + _get_page_range, + page_range_chunks, + repeat(flatten_pdf), + repeat(quote_loosebox), + ) + ) ordered_pages = [page for sublist in pages_lists for page in sublist] return ordered_pages -def plain_text_output(pdf_path: str, sort: bool = False, hyphens: bool = False, page_range: Optional[List[int]] = None, flatten_pdf: bool = False, workers: Optional[int] = None) -> str: - text = paginated_plain_text_output(pdf_path, sort=sort, hyphens=hyphens, page_range=page_range, workers=workers, flatten_pdf=flatten_pdf) +def plain_text_output( + pdf_path: str, + sort: bool = False, + hyphens: bool = False, + page_range: Optional[List[int]] = None, + flatten_pdf: bool = False, + workers: Optional[int] = None, +) -> str: + text = paginated_plain_text_output( + pdf_path, + sort=sort, + hyphens=hyphens, + page_range=page_range, + workers=workers, + flatten_pdf=flatten_pdf, + ) return "\n".join(text) -def paginated_plain_text_output(pdf_path: str, sort: bool = False, hyphens: bool = False, page_range: Optional[List[int]] = None, flatten_pdf: bool = False, workers: Optional[int] = None) -> List[str]: - pages: Pages = _get_pages(pdf_path, page_range, workers=workers, flatten_pdf=flatten_pdf) +def paginated_plain_text_output( + pdf_path: str, + sort: bool = False, + hyphens: bool = False, + page_range: Optional[List[int]] = None, + flatten_pdf: bool = False, + workers: Optional[int] = None, +) -> List[str]: + pages: Pages = _get_pages( + pdf_path, page_range, workers=workers, flatten_pdf=flatten_pdf + ) text = [] for page in pages: text.append(merge_text(page, sort=sort, hyphens=hyphens).strip()) return text -def _process_span(span: Span, page_width: int, page_height: int, keep_chars: bool) -> None: +def _process_span( + span: Span, page_width: int, page_height: int, keep_chars: bool +) -> None: + print(f"Span before: {span}") span["text"] = handle_hyphens(postprocess_text(span["text"]), keep_hyphens=True) if not keep_chars: del span["chars"] - + print(f"Span after: {span}") def dictionary_output( - pdf_path: str, - sort: bool = False, - page_range: Optional[List[int]] = None, - keep_chars: bool = False, - flatten_pdf: bool = False, - quote_loosebox: bool = True, - disable_links: bool = False, - workers: Optional[int] = None + pdf_path: str, + sort: bool = False, + page_range: Optional[List[int]] = None, + keep_chars: bool = False, + flatten_pdf: bool = False, + quote_loosebox: bool = True, + disable_links: bool = False, + workers: Optional[int] = None, ) -> Pages: - pages: Pages = _get_pages(pdf_path, page_range, workers=workers, flatten_pdf=flatten_pdf, quote_loosebox=quote_loosebox) + pages: Pages = _get_pages( + pdf_path, + page_range, + workers=workers, + flatten_pdf=flatten_pdf, + quote_loosebox=quote_loosebox, + ) if not disable_links: pdf = _load_pdf(pdf_path, False) @@ -127,9 +186,14 @@ def dictionary_output( if page["rotation"] == 90 or page["rotation"] == 270: page["width"], page["height"] = page["height"], page["width"] - + # Create a new Bbox instance from the list of floats - bbox_list = [page["bbox"][2], page["bbox"][3], page["bbox"][0], page["bbox"][1]] + bbox_list = [ + page["bbox"][2], + page["bbox"][3], + page["bbox"][0], + page["bbox"][1], + ] page["bbox"] = Bbox(bbox_list) return pages @@ -141,18 +205,29 @@ def table_output( flatten_pdf: bool = False, quote_loosebox: bool = True, workers: Optional[int] = None, - pages: Optional[Pages] = None + pages: Optional[Pages] = None, ) -> List[Tables]: # Extract pages if they don't exist if pages is None: - pages = dictionary_output(pdf_path, page_range=page_range, flatten_pdf=flatten_pdf, quote_loosebox=quote_loosebox, workers=workers, keep_chars=True) - - assert len(pages) == len(table_inputs), "Number of pages and table inputs must match" + pages = dictionary_output( + pdf_path, + page_range=page_range, + flatten_pdf=flatten_pdf, + quote_loosebox=quote_loosebox, + workers=workers, + keep_chars=True, + ) + + assert len(pages) == len( + table_inputs + ), "Number of pages and table inputs must match" # Extract table cells per page out_tables = [] for page, table_input in zip(pages, table_inputs): tables = table_cell_text(table_input["tables"], page, table_input["img_size"]) - assert len(tables) == len(table_input["tables"]), "Number of tables and table inputs must match" + assert len(tables) == len( + table_input["tables"] + ), "Number of tables and table inputs must match" out_tables.append(tables) return out_tables diff --git a/pdftext/postprocessing.py b/pdftext/postprocessing.py index 76d84ea..b2da1ba 100644 --- a/pdftext/postprocessing.py +++ b/pdftext/postprocessing.py @@ -23,7 +23,7 @@ def postprocess_text(text: str) -> str: for old, new in REPLACEMENTS.items(): text = text.replace(old, new) text = replace_special_chars(text) - text = replace_control_chars(text) + # text = replace_control_chars(text) text = replace_ligatures(text) return text From 5399a628e45a794745cb97bf5e0dbba02a81a71a Mon Sep 17 00:00:00 2001 From: nischith Date: Sat, 19 Jul 2025 12:26:48 +0530 Subject: [PATCH 25/26] small change --- pdftext/extraction.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/pdftext/extraction.py b/pdftext/extraction.py index 3ddf0f2..bea37e3 100644 --- a/pdftext/extraction.py +++ b/pdftext/extraction.py @@ -139,11 +139,9 @@ def paginated_plain_text_output( def _process_span( span: Span, page_width: int, page_height: int, keep_chars: bool ) -> None: - print(f"Span before: {span}") span["text"] = handle_hyphens(postprocess_text(span["text"]), keep_hyphens=True) if not keep_chars: del span["chars"] - print(f"Span after: {span}") def dictionary_output( pdf_path: str, From 31f8b35bf2439328e0f37f3775cd24134934351e Mon Sep 17 00:00:00 2001 From: nischith Date: Sat, 19 Jul 2025 12:44:21 +0530 Subject: [PATCH 26/26] fixed unicode surrogate pairs --- pdftext/postprocessing.py | 63 +++++++++++++++++++++++++++++++++++++-- 1 file changed, 61 insertions(+), 2 deletions(-) diff --git a/pdftext/postprocessing.py b/pdftext/postprocessing.py index b2da1ba..fc12d62 100644 --- a/pdftext/postprocessing.py +++ b/pdftext/postprocessing.py @@ -23,7 +23,8 @@ def postprocess_text(text: str) -> str: for old, new in REPLACEMENTS.items(): text = text.replace(old, new) text = replace_special_chars(text) - # text = replace_control_chars(text) + text = fix_unicode_surrogate_pairs(text) + text = replace_control_chars(text) text = replace_ligatures(text) return text @@ -64,7 +65,15 @@ def replace_special_chars(text: str) -> str: def replace_control_chars(text: str) -> str: - return "".join(char for char in text if (unicodedata.category(char)[0] != "C" or char == HYPHEN_CHAR or char in WHITESPACE_CHARS)) + return "".join( + char + for char in text + if ( + unicodedata.category(char)[0] != "C" + or char == HYPHEN_CHAR + or char in WHITESPACE_CHARS + ) + ) def replace_ligatures(text: str) -> str: @@ -111,3 +120,53 @@ def merge_text(page: Page, sort: bool = False, hyphens: bool = False) -> str: text += block_text text = handle_hyphens(text, keep_hyphens=hyphens) return text + + +def fix_unicode_surrogate_pairs(text: str) -> str: + """ + Fix Unicode surrogate pairs while preserving mathematical symbols. + + Surrogate pairs are UTF-16 artifacts that shouldn't appear in UTF-8. + This function converts them to proper Unicode characters. + """ + if not text: + return "" + + try: + # Test if the text is already valid UTF-8 + text.encode("utf-8") + return text + except UnicodeEncodeError: + # Handle surrogate pairs by converting them to proper Unicode + result = [] + i = 0 + while i < len(text): + char = text[i] + code = ord(char) + + # High surrogate followed by low surrogate = valid pair + if ( + 0xD800 <= code <= 0xDBFF + and i + 1 < len(text) + and 0xDC00 <= ord(text[i + 1]) <= 0xDFFF + ): + + high = code - 0xD800 + low = ord(text[i + 1]) - 0xDC00 + unicode_point = 0x10000 + (high << 10) + low + + try: + result.append(chr(unicode_point)) + i += 2 + continue + except ValueError: + pass + + # Replace lone surrogates with replacement character + if 0xD800 <= code <= 0xDFFF: + result.append("\ufffd") + else: + result.append(char) + i += 1 + + return "".join(result)